From 645202c5d29e05d206b1998d9743816481bec4bf Mon Sep 17 00:00:00 2001 From: "guoping.liu" Date: Wed, 30 Sep 2026 17:50:30 +0800 Subject: [PATCH 1/9] feat(wifi): Update the W155S1 WiFi driver to v1.8.3.3 Replace the vendored Amlogic W1 driver in jethome-0004, v1.6.3_20240426 -> v1.8.3.3_20260310 (driver:888ce88b817c15e731df70f+612585+643887+589776). The BT sdio driver is unchanged; the aml_sdio exports it links against and the shared w1_sdio.h structures are identical. Local changes carried over from the 1.6.3 tree: - in-tree kbuild include paths ($(src)) in vmac/Makefile - WIFIMAC_PATH and WIFI_CONF_PATH under /usr/lib/firmware/w1 - rssi/reg dump paths under /lib/firmware/w1 - pairwise key dump in vm_cfg80211_add_key() commented out; it sits in the default AML_DEBUG_CFG80211 mask and would log the key - sha256_* renamed to sha256_*_i, crc32() prototype dropped (clash with kernel exports) - static print_version.c (create_version_file.pl is not run in-tree) New for 1.8.3.3: - include only if present (vendor kernels only) - drop the opt_all.h block that remapped every pr_debug() to pr_info(); its #ifndef was malformed and it made ~1000 debug prints unconditional Drop jethome-0010: 1.8.3.3 fixes the RSN-parse failure path itself. 1.6.3 did memcmp(se, oldse) with oldse == NULL on new entries, which is the wifi_mac_scan_rx+0x59c Oops seen in the field right after "RSN mcast/akm cipher wrong"; the vendor now frees new entries directly and unlinks listed ones under the caller's st_lock before freeing. RF txt files are installed from packages/bsp and are not touched. Build-tested on v6.6.129 (Image, modules, dtbs; all module symbols resolve). Not yet boot tested on hardware. --- ...home-0004-Add-Amlogic-W155S1-drivers.patch | 40872 ++++++++-------- ...fix-scan-rx-uaf-on-rsn-parse-failure.patch | 99 - 2 files changed, 21484 insertions(+), 19487 deletions(-) delete mode 100644 patch/kernel/archive/meson64-6.6/jethome-0010-wifi-fix-scan-rx-uaf-on-rsn-parse-failure.patch diff --git a/patch/kernel/archive/meson64-6.6/jethome-0004-Add-Amlogic-W155S1-drivers.patch b/patch/kernel/archive/meson64-6.6/jethome-0004-Add-Amlogic-W155S1-drivers.patch index 6ec1e9096..48a835069 100644 --- a/patch/kernel/archive/meson64-6.6/jethome-0004-Add-Amlogic-W155S1-drivers.patch +++ b/patch/kernel/archive/meson64-6.6/jethome-0004-Add-Amlogic-W155S1-drivers.patch @@ -3,447 +3,256 @@ From: "guoping.liu" Date: Thu, 15 Jan 2026 18:35:41 +0800 Subject: [PATCH 11/11] Add Amlogic W155S1 drivers +WiFi: Amlogic W1 v1.8.3.3_20260310-w1 + driver:888ce88b817c15e731df70f+612585+643887+589776 +BT: Amlogic sdio_driver_bt (unchanged) + +Local changes on top of the vendor drop: + + vmac/Makefile in-tree kbuild include paths ($(src)), + WIFIMAC_PATH=/usr/lib/firmware/w1/wifimac.txt + vmac/wifi_hal_cmd.c WIFI_CONF_PATH=/usr/lib/firmware/w1 + vmac/wifi_cfg80211.c rssi/reg dump paths under /lib/firmware/w1; + do not dump the pairwise key (AML_DEBUG_CFG80211 + is in the default debug mask); include + only if present + vmac/crypto/sha256* rename sha256_* to sha256_*_i, clashes with + exports + vmac/crypto/aml_crypto_wrap.h drop the crc32() prototype, clashes with + + vmac/opt_all.h drop the block that remapped every pr_debug() + to pr_info() (the #ifndef was malformed and it + made ~1000 debug prints unconditional) + vmac/print_version.c static copy; create_version_file.pl is not run + by in-tree kbuild + +The scan-rx RSN-parse UAF that jethome-0010 fixed on 1.6.3 is fixed by the +vendor in this drop (unlink under st_lock, then free), so 0010 is removed. --- - drivers/bluetooth/Kconfig | 1 + - drivers/bluetooth/Makefile | 1 + - drivers/bluetooth/aml_bt/Kconfig | 11 + - drivers/bluetooth/aml_bt/Makefile | 2 + - .../bluetooth/aml_bt/sdio_driver_bt/Makefile | 39 + - .../aml_bt/sdio_driver_bt/bt_hal_plateform.c | 670 ++ - .../aml_bt/sdio_driver_bt/bt_hal_plateform.h | 139 + - .../aml_bt/sdio_driver_bt/chip_intf_reg.h | 544 ++ - .../aml_bt/sdio_driver_bt/chip_pmu_reg.h | 406 + - .../aml_bt/sdio_driver_bt/rf_d_top_reg.h | 790 ++ - .../bluetooth/aml_bt/sdio_driver_bt/w1_sdio.c | 1397 ++++ - .../bluetooth/aml_bt/sdio_driver_bt/w1_sdio.h | 185 + - .../aml_bt/sdio_driver_bt/wifi_coex_addr.h | 34 + - .../aml_bt/sdio_driver_bt/wifi_drv_reg_ops.h | 41 + - .../aml_bt/sdio_driver_bt/wifi_intf_addr.h | 26 + - drivers/net/wireless/Kconfig | 1 + - drivers/net/wireless/Makefile | 1 + - drivers/net/wireless/w1/Kconfig | 13 + - drivers/net/wireless/w1/Makefile | 2 + - drivers/net/wireless/w1/common/chip_ana_reg.h | 826 ++ - .../net/wireless/w1/common/chip_bt_pmu_reg.h | 406 + - .../net/wireless/w1/common/chip_efuse_reg.h | 136 + - .../net/wireless/w1/common/chip_intf_reg.h | 544 ++ - .../wireless/w1/common/chip_pmic_i2c_reg.h | 135 + - drivers/net/wireless/w1/common/chip_pmu_reg.h | 406 + - drivers/net/wireless/w1/common/fi_cmd.h | 491 ++ - drivers/net/wireless/w1/common/fi_sdio.h | 1069 +++ - drivers/net/wireless/w1/common/fucode_em4.h | 6665 ++++++++++++++++ - drivers/net/wireless/w1/common/patch_fi_cmd.h | 159 + - .../wireless/w1/common/rf_d_adda_core_reg.h | 164 + - .../wireless/w1/common/rf_d_adda_esti_reg.h | 1390 ++++ - .../wireless/w1/common/rf_d_adda_recv_reg.h | 419 + - .../wireless/w1/common/rf_d_adda_xmit_reg.h | 1583 ++++ - drivers/net/wireless/w1/common/rf_d_rx_reg.h | 2486 ++++++ - drivers/net/wireless/w1/common/rf_d_sx_reg.h | 1093 +++ - drivers/net/wireless/w1/common/rf_d_top_reg.h | 790 ++ - drivers/net/wireless/w1/common/rf_d_tx_reg.h | 430 + - .../net/wireless/w1/common/rf_d_xosc_reg.h | 121 + - drivers/net/wireless/w1/common/wf_register.h | 21 + - .../net/wireless/w1/common/wifi_adda_addr.h | 10 + - .../net/wireless/w1/common/wifi_agc_addr.h | 110 + - .../net/wireless/w1/common/wifi_aon_addr.h | 24 + - .../net/wireless/w1/common/wifi_coex_addr.h | 34 + - .../net/wireless/w1/common/wifi_i2c_addr.h | 14 + - .../net/wireless/w1/common/wifi_intf_addr.h | 26 + - .../net/wireless/w1/common/wifi_mac_addr.h | 109 + - .../wireless/w1/common/wifi_mac_main_reg.h | 1085 +++ - .../net/wireless/w1/common/wifi_mac_rx_reg.h | 313 + - .../wireless/w1/common/wifi_mac_timer_reg.h | 565 ++ - .../net/wireless/w1/common/wifi_mac_tx_reg.h | 1341 ++++ - .../net/wireless/w1/common/wifi_ofdm_addr.h | 8 + - .../net/wireless/w1/common/wifi_phy_addr.h | 15 + - .../wireless/w1/common/wifi_sdio_cfg_addr.h | 37 + - .../wireless/w1/common/wifi_sdio_if_addr.h | 10 + - .../net/wireless/w1/common/wifi_sys_addr.h | 21 + - .../net/wireless/w1/common/wifi_top_addr.h | 27 + - .../net/wireless/w1/common/wifi_uart_addr.h | 41 + - drivers/net/wireless/w1/vmac/Makefile | 248 + - drivers/net/wireless/w1/vmac/aml_static_buf.c | 80 + - .../wireless/w1/vmac/aml_wifi_drv_cfg_0.conf | 5 + - drivers/net/wireless/w1/vmac/aml_wifi_rf.txt | 42 + - .../net/wireless/w1/vmac/aml_wifi_rf_0125.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0133.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0211.txt | 36 + - .../net/wireless/w1/vmac/aml_wifi_rf_0231.txt | 37 + - .../net/wireless/w1/vmac/aml_wifi_rf_0321.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0331.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0333.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0531.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0631.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0632.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0633.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0731.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0a11.txt | 35 + - .../net/wireless/w1/vmac/aml_wifi_rf_0a31.txt | 35 + - .../wireless/w1/vmac/aml_wifi_rf_ampak.txt | 38 + - .../wireless/w1/vmac/aml_wifi_rf_fn_link.txt | 38 + - .../net/wireless/w1/vmac/aml_wifi_rf_iton.txt | 38 + - .../wireless/w1/vmac/create_version_file.pl | 45 + - drivers/net/wireless/w1/vmac/crypto/aes-ccm.c | 211 + - drivers/net/wireless/w1/vmac/crypto/aes-ctr.c | 70 + - drivers/net/wireless/w1/vmac/crypto/aes-gcm.c | 326 + - .../w1/vmac/crypto/aes-internal-enc.c | 129 + - .../wireless/w1/vmac/crypto/aes-internal.c | 843 ++ - .../net/wireless/w1/vmac/crypto/aes-omac1.c | 172 + - drivers/net/wireless/w1/vmac/crypto/aes-siv.c | 207 + - drivers/net/wireless/w1/vmac/crypto/aes.h | 21 + - drivers/net/wireless/w1/vmac/crypto/aes_i.h | 125 + - drivers/net/wireless/w1/vmac/crypto/aes_siv.h | 21 + - .../net/wireless/w1/vmac/crypto/aes_wrap.h | 75 + - .../wireless/w1/vmac/crypto/aml_crypto_wrap.c | 67 + - .../wireless/w1/vmac/crypto/aml_crypto_wrap.h | 117 + - drivers/net/wireless/w1/vmac/crypto/ccmp.c | 383 + - .../wireless/w1/vmac/crypto/sha256-internal.c | 230 + - .../net/wireless/w1/vmac/crypto/sha256-prf.c | 109 + - drivers/net/wireless/w1/vmac/crypto/sha256.c | 104 + - drivers/net/wireless/w1/vmac/crypto/sha256.h | 30 + - .../net/wireless/w1/vmac/crypto/sha256_i.h | 25 + - .../wireless/w1/vmac/crypto/wlancrypto_wrap.h | 37 + - .../net/wireless/w1/vmac/dpd_memory_packet.h | 71 + - drivers/net/wireless/w1/vmac/opt_all.h | 268 + - drivers/net/wireless/w1/vmac/osdep.h | 300 + - drivers/net/wireless/w1/vmac/print_version.c | 6 + - .../net/wireless/w1/vmac/rc80211_minstrel.c | 870 ++ - .../net/wireless/w1/vmac/rc80211_minstrel.h | 233 + - .../wireless/w1/vmac/rc80211_minstrel_ht.c | 1348 ++++ - .../wireless/w1/vmac/rc80211_minstrel_ht.h | 284 + - .../wireless/w1/vmac/rc80211_minstrel_init.c | 907 +++ - .../wireless/w1/vmac/rc80211_minstrel_init.h | 110 + - drivers/net/wireless/w1/vmac/version.h | 1 + - .../net/wireless/w1/vmac/w1_sdio/w1_sdio.c | 1412 ++++ - .../net/wireless/w1/vmac/w1_sdio/w1_sdio.h | 185 + - drivers/net/wireless/w1/vmac/wifi_android.c | 491 ++ - drivers/net/wireless/w1/vmac/wifi_android.h | 78 + - drivers/net/wireless/w1/vmac/wifi_cfg80211.c | 7104 +++++++++++++++++ - drivers/net/wireless/w1/vmac/wifi_cfg80211.h | 381 + - .../net/wireless/w1/vmac/wifi_clock_measure.c | 267 + - .../net/wireless/w1/vmac/wifi_clock_measure.h | 60 + - drivers/net/wireless/w1/vmac/wifi_cmd_func.c | 2057 +++++ - drivers/net/wireless/w1/vmac/wifi_cmd_func.h | 138 + - drivers/net/wireless/w1/vmac/wifi_common.c | 380 + - drivers/net/wireless/w1/vmac/wifi_common.h | 32 + - drivers/net/wireless/w1/vmac/wifi_csi.h | 51 + - drivers/net/wireless/w1/vmac/wifi_debug.c | 192 + - drivers/net/wireless/w1/vmac/wifi_debug.h | 230 + - .../net/wireless/w1/vmac/wifi_drv_capture.c | 593 ++ - .../net/wireless/w1/vmac/wifi_drv_capture.h | 22 + - .../net/wireless/w1/vmac/wifi_drv_config.c | 449 ++ - .../net/wireless/w1/vmac/wifi_drv_config.h | 169 + - drivers/net/wireless/w1/vmac/wifi_drv_if.c | 446 ++ - drivers/net/wireless/w1/vmac/wifi_drv_if.h | 528 ++ - drivers/net/wireless/w1/vmac/wifi_drv_main.c | 2483 ++++++ - drivers/net/wireless/w1/vmac/wifi_drv_main.h | 616 ++ - drivers/net/wireless/w1/vmac/wifi_drv_power.c | 195 + - drivers/net/wireless/w1/vmac/wifi_drv_power.h | 51 + - drivers/net/wireless/w1/vmac/wifi_drv_recv.c | 576 ++ - drivers/net/wireless/w1/vmac/wifi_drv_recv.h | 24 + - .../net/wireless/w1/vmac/wifi_drv_reg_ops.c | 525 ++ - .../net/wireless/w1/vmac/wifi_drv_reg_ops.h | 41 + - .../net/wireless/w1/vmac/wifi_drv_statistic.c | 1259 +++ - .../net/wireless/w1/vmac/wifi_drv_statistic.h | 366 + - drivers/net/wireless/w1/vmac/wifi_drv_timer.c | 180 + - drivers/net/wireless/w1/vmac/wifi_drv_timer.h | 73 + - drivers/net/wireless/w1/vmac/wifi_drv_uapsd.c | 611 ++ - drivers/net/wireless/w1/vmac/wifi_drv_uapsd.h | 32 + - drivers/net/wireless/w1/vmac/wifi_drv_xmit.c | 3243 ++++++++ - drivers/net/wireless/w1/vmac/wifi_drv_xmit.h | 101 + - drivers/net/wireless/w1/vmac/wifi_hal.c | 3540 ++++++++ - drivers/net/wireless/w1/vmac/wifi_hal.h | 123 + - drivers/net/wireless/w1/vmac/wifi_hal_cmd.c | 2225 ++++++ - drivers/net/wireless/w1/vmac/wifi_hal_cmd.h | 91 + - drivers/net/wireless/w1/vmac/wifi_hal_com.h | 1372 ++++ - .../net/wireless/w1/vmac/wifi_hal_platform.c | 1083 +++ - .../net/wireless/w1/vmac/wifi_hal_platform.h | 53 + - .../net/wireless/w1/vmac/wifi_hal_txdesc.c | 1129 +++ - .../net/wireless/w1/vmac/wifi_hal_txdesc.h | 25 + - drivers/net/wireless/w1/vmac/wifi_hif.c | 1860 +++++ - drivers/net/wireless/w1/vmac/wifi_hif.h | 196 + - .../net/wireless/w1/vmac/wifi_iwpriv_cmd.c | 2001 +++++ - .../net/wireless/w1/vmac/wifi_iwpriv_cmd.h | 88 + - drivers/net/wireless/w1/vmac/wifi_mac.h | 1660 ++++ - drivers/net/wireless/w1/vmac/wifi_mac_acl.c | 253 + - drivers/net/wireless/w1/vmac/wifi_mac_acl.h | 10 + - .../net/wireless/w1/vmac/wifi_mac_action.c | 164 + - .../net/wireless/w1/vmac/wifi_mac_action.h | 320 + - drivers/net/wireless/w1/vmac/wifi_mac_amsdu.c | 689 ++ - drivers/net/wireless/w1/vmac/wifi_mac_amsdu.h | 84 + - drivers/net/wireless/w1/vmac/wifi_mac_arp.h | 62 + - .../net/wireless/w1/vmac/wifi_mac_beacon.c | 917 +++ - .../net/wireless/w1/vmac/wifi_mac_beacon.h | 30 + - drivers/net/wireless/w1/vmac/wifi_mac_chan.c | 1493 ++++ - drivers/net/wireless/w1/vmac/wifi_mac_chan.h | 39 + - drivers/net/wireless/w1/vmac/wifi_mac_com.h | 91 + - .../wireless/w1/vmac/wifi_mac_concurrent.c | 263 + - .../wireless/w1/vmac/wifi_mac_concurrent.h | 59 + - .../net/wireless/w1/vmac/wifi_mac_encrypt.c | 1032 +++ - .../net/wireless/w1/vmac/wifi_mac_encrypt.h | 161 + - drivers/net/wireless/w1/vmac/wifi_mac_if.c | 4444 +++++++++++ - drivers/net/wireless/w1/vmac/wifi_mac_if.h | 386 + - .../net/wireless/w1/vmac/wifi_mac_monitor.c | 448 ++ - .../net/wireless/w1/vmac/wifi_mac_monitor.h | 32 + - drivers/net/wireless/w1/vmac/wifi_mac_p2p.c | 2647 ++++++ - drivers/net/wireless/w1/vmac/wifi_mac_p2p.h | 510 ++ - drivers/net/wireless/w1/vmac/wifi_mac_pmf.c | 676 ++ - drivers/net/wireless/w1/vmac/wifi_mac_pmf.h | 91 + - drivers/net/wireless/w1/vmac/wifi_mac_power.c | 1861 +++++ - drivers/net/wireless/w1/vmac/wifi_mac_power.h | 252 + - drivers/net/wireless/w1/vmac/wifi_mac_rate.c | 914 +++ - drivers/net/wireless/w1/vmac/wifi_mac_rate.h | 57 + - drivers/net/wireless/w1/vmac/wifi_mac_recv.c | 5041 ++++++++++++ - drivers/net/wireless/w1/vmac/wifi_mac_recv.h | 93 + - .../net/wireless/w1/vmac/wifi_mac_rx_status.h | 22 + - drivers/net/wireless/w1/vmac/wifi_mac_sae.c | 198 + - drivers/net/wireless/w1/vmac/wifi_mac_sae.h | 47 + - drivers/net/wireless/w1/vmac/wifi_mac_scan.c | 2290 ++++++ - drivers/net/wireless/w1/vmac/wifi_mac_scan.h | 304 + - drivers/net/wireless/w1/vmac/wifi_mac_sta.c | 2330 ++++++ - drivers/net/wireless/w1/vmac/wifi_mac_sta.h | 587 ++ - drivers/net/wireless/w1/vmac/wifi_mac_var.h | 973 +++ - drivers/net/wireless/w1/vmac/wifi_mac_xmit.c | 3747 +++++++++ - drivers/net/wireless/w1/vmac/wifi_mac_xmit.h | 80 + - drivers/net/wireless/w1/vmac/wifi_phy.c | 346 + - drivers/net/wireless/w1/vmac/wifi_phy.h | 15 + - drivers/net/wireless/w1/vmac/wifi_pkt_desc.c | 92 + - drivers/net/wireless/w1/vmac/wifi_pkt_desc.h | 148 + - drivers/net/wireless/w1/vmac/wifi_pt_conf.h | 59 + - drivers/net/wireless/w1/vmac/wifi_pt_if.c | 361 + - drivers/net/wireless/w1/vmac/wifi_pt_if.h | 470 ++ - drivers/net/wireless/w1/vmac/wifi_pt_init.c | 1041 +++ - drivers/net/wireless/w1/vmac/wifi_pt_init.h | 249 + - .../net/wireless/w1/vmac/wifi_pt_network.c | 508 ++ - .../net/wireless/w1/vmac/wifi_pt_network.h | 90 + - drivers/net/wireless/w1/vmac/wifi_rate_ctrl.c | 78 + - drivers/net/wireless/w1/vmac/wifi_rate_ctrl.h | 127 + - drivers/net/wireless/w1/vmac/wifi_sdio.c | 2137 +++++ - drivers/net/wireless/w1/vmac/wifi_sdio.h | 194 + - .../net/wireless/w1/vmac/wifi_share_fifo.c | 517 ++ - .../net/wireless/w1/vmac/wifi_share_fifo.h | 160 + - drivers/net/wireless/w1/vmac/wifi_skbbuf.c | 9 + - drivers/net/wireless/w1/vmac/wifi_skbbuf.h | 50 + - 220 files changed, 117589 insertions(+) - create mode 100644 drivers/bluetooth/aml_bt/Kconfig - create mode 100644 drivers/bluetooth/aml_bt/Makefile - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/Makefile - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/bt_hal_plateform.c - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/bt_hal_plateform.h - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/chip_intf_reg.h - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/chip_pmu_reg.h - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/rf_d_top_reg.h - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.c - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.h - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_coex_addr.h - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_drv_reg_ops.h - create mode 100644 drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_intf_addr.h - create mode 100644 drivers/net/wireless/w1/Kconfig - create mode 100755 drivers/net/wireless/w1/Makefile - create mode 100644 drivers/net/wireless/w1/common/chip_ana_reg.h - create mode 100644 drivers/net/wireless/w1/common/chip_bt_pmu_reg.h - create mode 100644 drivers/net/wireless/w1/common/chip_efuse_reg.h - create mode 100644 drivers/net/wireless/w1/common/chip_intf_reg.h - create mode 100644 drivers/net/wireless/w1/common/chip_pmic_i2c_reg.h - create mode 100644 drivers/net/wireless/w1/common/chip_pmu_reg.h - create mode 100644 drivers/net/wireless/w1/common/fi_cmd.h - create mode 100644 drivers/net/wireless/w1/common/fi_sdio.h - create mode 100644 drivers/net/wireless/w1/common/fucode_em4.h - create mode 100644 drivers/net/wireless/w1/common/patch_fi_cmd.h - create mode 100644 drivers/net/wireless/w1/common/rf_d_adda_core_reg.h - create mode 100644 drivers/net/wireless/w1/common/rf_d_adda_esti_reg.h - create mode 100644 drivers/net/wireless/w1/common/rf_d_adda_recv_reg.h - create mode 100644 drivers/net/wireless/w1/common/rf_d_adda_xmit_reg.h - create mode 100644 drivers/net/wireless/w1/common/rf_d_rx_reg.h - create mode 100644 drivers/net/wireless/w1/common/rf_d_sx_reg.h - create mode 100644 drivers/net/wireless/w1/common/rf_d_top_reg.h - create mode 100644 drivers/net/wireless/w1/common/rf_d_tx_reg.h - create mode 100644 drivers/net/wireless/w1/common/rf_d_xosc_reg.h - create mode 100644 drivers/net/wireless/w1/common/wf_register.h - create mode 100644 drivers/net/wireless/w1/common/wifi_adda_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_agc_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_aon_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_coex_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_i2c_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_intf_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_mac_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_mac_main_reg.h - create mode 100644 drivers/net/wireless/w1/common/wifi_mac_rx_reg.h - create mode 100644 drivers/net/wireless/w1/common/wifi_mac_timer_reg.h - create mode 100644 drivers/net/wireless/w1/common/wifi_mac_tx_reg.h - create mode 100644 drivers/net/wireless/w1/common/wifi_ofdm_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_phy_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_sdio_cfg_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_sdio_if_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_sys_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_top_addr.h - create mode 100644 drivers/net/wireless/w1/common/wifi_uart_addr.h - create mode 100644 drivers/net/wireless/w1/vmac/Makefile - create mode 100644 drivers/net/wireless/w1/vmac/aml_static_buf.c - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_drv_cfg_0.conf - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0125.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0133.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0211.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0231.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0321.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0331.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0333.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0531.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0631.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0632.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0633.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0731.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0a11.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_0a31.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_ampak.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_fn_link.txt - create mode 100644 drivers/net/wireless/w1/vmac/aml_wifi_rf_iton.txt - create mode 100644 drivers/net/wireless/w1/vmac/create_version_file.pl - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes-ccm.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes-ctr.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes-gcm.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes-internal-enc.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes-internal.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes-omac1.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes-siv.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes.h - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes_i.h - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes_siv.h - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aes_wrap.h - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aml_crypto_wrap.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/aml_crypto_wrap.h - create mode 100644 drivers/net/wireless/w1/vmac/crypto/ccmp.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/sha256-internal.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/sha256-prf.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/sha256.c - create mode 100644 drivers/net/wireless/w1/vmac/crypto/sha256.h - create mode 100644 drivers/net/wireless/w1/vmac/crypto/sha256_i.h - create mode 100644 drivers/net/wireless/w1/vmac/crypto/wlancrypto_wrap.h - create mode 100644 drivers/net/wireless/w1/vmac/dpd_memory_packet.h - create mode 100644 drivers/net/wireless/w1/vmac/opt_all.h - create mode 100644 drivers/net/wireless/w1/vmac/osdep.h - create mode 100644 drivers/net/wireless/w1/vmac/print_version.c - create mode 100644 drivers/net/wireless/w1/vmac/rc80211_minstrel.c - create mode 100644 drivers/net/wireless/w1/vmac/rc80211_minstrel.h - create mode 100644 drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.c - create mode 100644 drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.h - create mode 100644 drivers/net/wireless/w1/vmac/rc80211_minstrel_init.c - create mode 100644 drivers/net/wireless/w1/vmac/rc80211_minstrel_init.h - create mode 100644 drivers/net/wireless/w1/vmac/version.h - create mode 100644 drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.c - create mode 100644 drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_android.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_android.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_cfg80211.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_cfg80211.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_clock_measure.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_clock_measure.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_cmd_func.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_cmd_func.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_common.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_common.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_csi.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_debug.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_debug.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_capture.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_capture.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_config.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_config.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_if.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_if.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_main.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_main.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_power.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_power.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_recv.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_recv.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_statistic.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_statistic.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_timer.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_timer.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_uapsd.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_uapsd.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_xmit.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_drv_xmit.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hal.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hal.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hal_cmd.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hal_cmd.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hal_com.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hal_platform.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hal_platform.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hal_txdesc.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hal_txdesc.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hif.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_hif.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_acl.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_acl.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_action.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_action.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_amsdu.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_amsdu.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_arp.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_beacon.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_beacon.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_chan.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_chan.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_com.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_concurrent.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_concurrent.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_encrypt.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_encrypt.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_if.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_if.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_monitor.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_monitor.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_p2p.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_p2p.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_pmf.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_pmf.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_power.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_power.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_rate.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_rate.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_recv.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_recv.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_rx_status.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_sae.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_sae.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_scan.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_scan.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_sta.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_sta.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_var.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_xmit.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_mac_xmit.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_phy.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_phy.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_pkt_desc.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_pkt_desc.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_pt_conf.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_pt_if.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_pt_if.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_pt_init.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_pt_init.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_pt_network.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_pt_network.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_rate_ctrl.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_rate_ctrl.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_sdio.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_sdio.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_share_fifo.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_share_fifo.h - create mode 100644 drivers/net/wireless/w1/vmac/wifi_skbbuf.c - create mode 100644 drivers/net/wireless/w1/vmac/wifi_skbbuf.h + drivers/bluetooth/Kconfig | 1 + + drivers/bluetooth/Makefile | 1 + + drivers/bluetooth/aml_bt/Kconfig | 11 + + drivers/bluetooth/aml_bt/Makefile | 2 + + drivers/bluetooth/aml_bt/sdio_driver_bt/Makefile | 39 + + .../aml_bt/sdio_driver_bt/bt_hal_plateform.c | 686 ++ + .../aml_bt/sdio_driver_bt/bt_hal_plateform.h | 139 + + .../aml_bt/sdio_driver_bt/chip_intf_reg.h | 544 ++ + .../bluetooth/aml_bt/sdio_driver_bt/chip_pmu_reg.h | 406 ++ + .../bluetooth/aml_bt/sdio_driver_bt/rf_d_top_reg.h | 790 +++ + drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.c | 1397 ++++ + drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.h | 185 + + .../aml_bt/sdio_driver_bt/wifi_coex_addr.h | 34 + + .../aml_bt/sdio_driver_bt/wifi_drv_reg_ops.h | 41 + + .../aml_bt/sdio_driver_bt/wifi_intf_addr.h | 26 + + drivers/net/wireless/Kconfig | 1 + + drivers/net/wireless/Makefile | 1 + + drivers/net/wireless/w1/Kconfig | 13 + + drivers/net/wireless/w1/Makefile | 2 + + drivers/net/wireless/w1/common/chip_ana_reg.h | 826 +++ + drivers/net/wireless/w1/common/chip_bt_pmu_reg.h | 406 ++ + drivers/net/wireless/w1/common/chip_efuse_reg.h | 136 + + drivers/net/wireless/w1/common/chip_intf_reg.h | 544 ++ + drivers/net/wireless/w1/common/chip_pmic_i2c_reg.h | 135 + + drivers/net/wireless/w1/common/chip_pmu_reg.h | 406 ++ + drivers/net/wireless/w1/common/fi_cmd.h | 491 ++ + drivers/net/wireless/w1/common/fi_sdio.h | 1069 +++ + drivers/net/wireless/w1/common/fucode_em4.h | 6665 ++++++++++++++++++ + drivers/net/wireless/w1/common/patch_fi_cmd.h | 159 + + .../net/wireless/w1/common/rf_d_adda_core_reg.h | 164 + + .../net/wireless/w1/common/rf_d_adda_esti_reg.h | 1390 ++++ + .../net/wireless/w1/common/rf_d_adda_recv_reg.h | 419 ++ + .../net/wireless/w1/common/rf_d_adda_xmit_reg.h | 1583 +++++ + drivers/net/wireless/w1/common/rf_d_rx_reg.h | 2486 +++++++ + drivers/net/wireless/w1/common/rf_d_sx_reg.h | 1093 +++ + drivers/net/wireless/w1/common/rf_d_top_reg.h | 790 +++ + drivers/net/wireless/w1/common/rf_d_tx_reg.h | 430 ++ + drivers/net/wireless/w1/common/rf_d_xosc_reg.h | 121 + + drivers/net/wireless/w1/common/wf_register.h | 21 + + drivers/net/wireless/w1/common/wifi_adda_addr.h | 10 + + drivers/net/wireless/w1/common/wifi_agc_addr.h | 110 + + drivers/net/wireless/w1/common/wifi_aon_addr.h | 24 + + drivers/net/wireless/w1/common/wifi_coex_addr.h | 34 + + drivers/net/wireless/w1/common/wifi_i2c_addr.h | 14 + + drivers/net/wireless/w1/common/wifi_intf_addr.h | 26 + + drivers/net/wireless/w1/common/wifi_mac_addr.h | 109 + + drivers/net/wireless/w1/common/wifi_mac_main_reg.h | 1085 +++ + drivers/net/wireless/w1/common/wifi_mac_rx_reg.h | 313 + + .../net/wireless/w1/common/wifi_mac_timer_reg.h | 565 ++ + drivers/net/wireless/w1/common/wifi_mac_tx_reg.h | 1341 ++++ + drivers/net/wireless/w1/common/wifi_ofdm_addr.h | 8 + + drivers/net/wireless/w1/common/wifi_phy_addr.h | 15 + + .../net/wireless/w1/common/wifi_sdio_cfg_addr.h | 37 + + drivers/net/wireless/w1/common/wifi_sdio_if_addr.h | 10 + + drivers/net/wireless/w1/common/wifi_sys_addr.h | 21 + + drivers/net/wireless/w1/common/wifi_top_addr.h | 27 + + drivers/net/wireless/w1/common/wifi_uart_addr.h | 41 + + drivers/net/wireless/w1/vmac/Makefile | 249 + + drivers/net/wireless/w1/vmac/aml_static_buf.c | 69 + + .../net/wireless/w1/vmac/aml_wifi_drv_cfg_0.conf | 5 + + drivers/net/wireless/w1/vmac/aml_wifi_rf.txt | 42 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0125.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0133.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0211.txt | 36 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0231.txt | 37 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0321.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0331.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0333.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0531.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0631.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0632.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0633.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0731.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0a11.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_0a31.txt | 35 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_ampak.txt | 38 + + .../net/wireless/w1/vmac/aml_wifi_rf_fn_link.txt | 38 + + drivers/net/wireless/w1/vmac/aml_wifi_rf_iton.txt | 38 + + .../net/wireless/w1/vmac/create_version_file.pl | 45 + + drivers/net/wireless/w1/vmac/crypto/aes-ccm.c | 211 + + drivers/net/wireless/w1/vmac/crypto/aes-ctr.c | 72 + + drivers/net/wireless/w1/vmac/crypto/aes-gcm.c | 326 + + .../net/wireless/w1/vmac/crypto/aes-internal-enc.c | 129 + + drivers/net/wireless/w1/vmac/crypto/aes-internal.c | 843 +++ + drivers/net/wireless/w1/vmac/crypto/aes-omac1.c | 172 + + drivers/net/wireless/w1/vmac/crypto/aes-siv.c | 207 + + drivers/net/wireless/w1/vmac/crypto/aes.h | 21 + + drivers/net/wireless/w1/vmac/crypto/aes_i.h | 125 + + drivers/net/wireless/w1/vmac/crypto/aes_siv.h | 21 + + drivers/net/wireless/w1/vmac/crypto/aes_wrap.h | 75 + + .../net/wireless/w1/vmac/crypto/aml_crypto_wrap.c | 67 + + .../net/wireless/w1/vmac/crypto/aml_crypto_wrap.h | 117 + + drivers/net/wireless/w1/vmac/crypto/ccmp.c | 383 + + .../net/wireless/w1/vmac/crypto/sha256-internal.c | 230 + + drivers/net/wireless/w1/vmac/crypto/sha256-prf.c | 109 + + drivers/net/wireless/w1/vmac/crypto/sha256.c | 104 + + drivers/net/wireless/w1/vmac/crypto/sha256.h | 30 + + drivers/net/wireless/w1/vmac/crypto/sha256_i.h | 25 + + .../net/wireless/w1/vmac/crypto/wlancrypto_wrap.h | 37 + + drivers/net/wireless/w1/vmac/dpd_memory_packet.h | 71 + + drivers/net/wireless/w1/vmac/opt_all.h | 273 + + drivers/net/wireless/w1/vmac/osdep.h | 300 + + drivers/net/wireless/w1/vmac/print_version.c | 5 + + drivers/net/wireless/w1/vmac/rc80211_minstrel.c | 877 +++ + drivers/net/wireless/w1/vmac/rc80211_minstrel.h | 233 + + drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.c | 1357 ++++ + drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.h | 284 + + .../net/wireless/w1/vmac/rc80211_minstrel_init.c | 907 +++ + .../net/wireless/w1/vmac/rc80211_minstrel_init.h | 110 + + drivers/net/wireless/w1/vmac/version.h | 1 + + drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.c | 1435 ++++ + drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.h | 188 + + drivers/net/wireless/w1/vmac/wifi_android.c | 491 ++ + drivers/net/wireless/w1/vmac/wifi_android.h | 78 + + drivers/net/wireless/w1/vmac/wifi_cfg80211.c | 7435 ++++++++++++++++++++ + drivers/net/wireless/w1/vmac/wifi_cfg80211.h | 393 ++ + drivers/net/wireless/w1/vmac/wifi_clock_measure.c | 267 + + drivers/net/wireless/w1/vmac/wifi_clock_measure.h | 60 + + drivers/net/wireless/w1/vmac/wifi_cmd_func.c | 2189 ++++++ + drivers/net/wireless/w1/vmac/wifi_cmd_func.h | 140 + + drivers/net/wireless/w1/vmac/wifi_common.c | 380 + + drivers/net/wireless/w1/vmac/wifi_common.h | 32 + + drivers/net/wireless/w1/vmac/wifi_csi.h | 51 + + drivers/net/wireless/w1/vmac/wifi_debug.c | 192 + + drivers/net/wireless/w1/vmac/wifi_debug.h | 230 + + drivers/net/wireless/w1/vmac/wifi_drv_capture.c | 591 ++ + drivers/net/wireless/w1/vmac/wifi_drv_capture.h | 22 + + drivers/net/wireless/w1/vmac/wifi_drv_config.c | 449 ++ + drivers/net/wireless/w1/vmac/wifi_drv_config.h | 169 + + drivers/net/wireless/w1/vmac/wifi_drv_if.c | 451 ++ + drivers/net/wireless/w1/vmac/wifi_drv_if.h | 528 ++ + drivers/net/wireless/w1/vmac/wifi_drv_main.c | 2544 +++++++ + drivers/net/wireless/w1/vmac/wifi_drv_main.h | 624 ++ + drivers/net/wireless/w1/vmac/wifi_drv_power.c | 195 + + drivers/net/wireless/w1/vmac/wifi_drv_power.h | 51 + + drivers/net/wireless/w1/vmac/wifi_drv_recv.c | 575 ++ + drivers/net/wireless/w1/vmac/wifi_drv_recv.h | 24 + + drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.c | 525 ++ + drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.h | 41 + + drivers/net/wireless/w1/vmac/wifi_drv_statistic.c | 1259 ++++ + drivers/net/wireless/w1/vmac/wifi_drv_statistic.h | 366 + + drivers/net/wireless/w1/vmac/wifi_drv_timer.c | 180 + + drivers/net/wireless/w1/vmac/wifi_drv_timer.h | 73 + + drivers/net/wireless/w1/vmac/wifi_drv_uapsd.c | 611 ++ + drivers/net/wireless/w1/vmac/wifi_drv_uapsd.h | 32 + + drivers/net/wireless/w1/vmac/wifi_drv_xmit.c | 3326 +++++++++ + drivers/net/wireless/w1/vmac/wifi_drv_xmit.h | 101 + + drivers/net/wireless/w1/vmac/wifi_hal.c | 3590 ++++++++++ + drivers/net/wireless/w1/vmac/wifi_hal.h | 123 + + drivers/net/wireless/w1/vmac/wifi_hal_cmd.c | 2223 ++++++ + drivers/net/wireless/w1/vmac/wifi_hal_cmd.h | 93 + + drivers/net/wireless/w1/vmac/wifi_hal_com.h | 1376 ++++ + drivers/net/wireless/w1/vmac/wifi_hal_platform.c | 1111 +++ + drivers/net/wireless/w1/vmac/wifi_hal_platform.h | 53 + + drivers/net/wireless/w1/vmac/wifi_hal_txdesc.c | 1130 +++ + drivers/net/wireless/w1/vmac/wifi_hal_txdesc.h | 25 + + drivers/net/wireless/w1/vmac/wifi_hif.c | 1944 +++++ + drivers/net/wireless/w1/vmac/wifi_hif.h | 196 + + drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.c | 2014 ++++++ + drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.h | 102 + + drivers/net/wireless/w1/vmac/wifi_mac.h | 1689 +++++ + drivers/net/wireless/w1/vmac/wifi_mac_acl.c | 253 + + drivers/net/wireless/w1/vmac/wifi_mac_acl.h | 10 + + drivers/net/wireless/w1/vmac/wifi_mac_action.c | 164 + + drivers/net/wireless/w1/vmac/wifi_mac_action.h | 335 + + drivers/net/wireless/w1/vmac/wifi_mac_amsdu.c | 689 ++ + drivers/net/wireless/w1/vmac/wifi_mac_amsdu.h | 84 + + drivers/net/wireless/w1/vmac/wifi_mac_arp.h | 62 + + drivers/net/wireless/w1/vmac/wifi_mac_beacon.c | 1112 +++ + drivers/net/wireless/w1/vmac/wifi_mac_beacon.h | 33 + + drivers/net/wireless/w1/vmac/wifi_mac_chan.c | 1697 +++++ + drivers/net/wireless/w1/vmac/wifi_mac_chan.h | 43 + + drivers/net/wireless/w1/vmac/wifi_mac_com.h | 91 + + drivers/net/wireless/w1/vmac/wifi_mac_concurrent.c | 387 + + drivers/net/wireless/w1/vmac/wifi_mac_concurrent.h | 60 + + drivers/net/wireless/w1/vmac/wifi_mac_encrypt.c | 1032 +++ + drivers/net/wireless/w1/vmac/wifi_mac_encrypt.h | 161 + + drivers/net/wireless/w1/vmac/wifi_mac_if.c | 4603 ++++++++++++ + drivers/net/wireless/w1/vmac/wifi_mac_if.h | 390 + + drivers/net/wireless/w1/vmac/wifi_mac_monitor.c | 448 ++ + drivers/net/wireless/w1/vmac/wifi_mac_monitor.h | 32 + + drivers/net/wireless/w1/vmac/wifi_mac_p2p.c | 2650 +++++++ + drivers/net/wireless/w1/vmac/wifi_mac_p2p.h | 512 ++ + drivers/net/wireless/w1/vmac/wifi_mac_pmf.c | 676 ++ + drivers/net/wireless/w1/vmac/wifi_mac_pmf.h | 91 + + drivers/net/wireless/w1/vmac/wifi_mac_power.c | 1903 +++++ + drivers/net/wireless/w1/vmac/wifi_mac_power.h | 253 + + drivers/net/wireless/w1/vmac/wifi_mac_rate.c | 929 +++ + drivers/net/wireless/w1/vmac/wifi_mac_rate.h | 57 + + drivers/net/wireless/w1/vmac/wifi_mac_recv.c | 5180 ++++++++++++++ + drivers/net/wireless/w1/vmac/wifi_mac_recv.h | 97 + + drivers/net/wireless/w1/vmac/wifi_mac_rx_status.h | 22 + + drivers/net/wireless/w1/vmac/wifi_mac_sae.c | 198 + + drivers/net/wireless/w1/vmac/wifi_mac_sae.h | 47 + + drivers/net/wireless/w1/vmac/wifi_mac_scan.c | 2353 +++++++ + drivers/net/wireless/w1/vmac/wifi_mac_scan.h | 305 + + drivers/net/wireless/w1/vmac/wifi_mac_sta.c | 2460 +++++++ + drivers/net/wireless/w1/vmac/wifi_mac_sta.h | 594 ++ + drivers/net/wireless/w1/vmac/wifi_mac_var.h | 1016 +++ + drivers/net/wireless/w1/vmac/wifi_mac_xmit.c | 3956 +++++++++++ + drivers/net/wireless/w1/vmac/wifi_mac_xmit.h | 100 + + drivers/net/wireless/w1/vmac/wifi_phy.c | 346 + + drivers/net/wireless/w1/vmac/wifi_phy.h | 15 + + drivers/net/wireless/w1/vmac/wifi_pkt_desc.c | 92 + + drivers/net/wireless/w1/vmac/wifi_pkt_desc.h | 151 + + drivers/net/wireless/w1/vmac/wifi_pt_conf.h | 59 + + drivers/net/wireless/w1/vmac/wifi_pt_if.c | 367 + + drivers/net/wireless/w1/vmac/wifi_pt_if.h | 470 ++ + drivers/net/wireless/w1/vmac/wifi_pt_init.c | 1040 +++ + drivers/net/wireless/w1/vmac/wifi_pt_init.h | 249 + + drivers/net/wireless/w1/vmac/wifi_pt_network.c | 508 ++ + drivers/net/wireless/w1/vmac/wifi_pt_network.h | 90 + + drivers/net/wireless/w1/vmac/wifi_rate_ctrl.c | 78 + + drivers/net/wireless/w1/vmac/wifi_rate_ctrl.h | 127 + + drivers/net/wireless/w1/vmac/wifi_sdio.c | 2137 ++++++ + drivers/net/wireless/w1/vmac/wifi_sdio.h | 193 + + drivers/net/wireless/w1/vmac/wifi_share_fifo.c | 517 ++ + drivers/net/wireless/w1/vmac/wifi_share_fifo.h | 160 + + drivers/net/wireless/w1/vmac/wifi_skbbuf.c | 9 + + drivers/net/wireless/w1/vmac/wifi_skbbuf.h | 50 + + 220 files changed, 119892 insertions(+) diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig -index bc211c324206..9845c6782bfb 100644 +index bc211c324206b9231cba018104bfefaf1ad8ad32..9845c6782bfbc14c156a41443573442ea3325858 100644 --- a/drivers/bluetooth/Kconfig +++ b/drivers/bluetooth/Kconfig @@ -478,5 +478,6 @@ config BT_NXPUART @@ -454,7 +263,7 @@ index bc211c324206..9845c6782bfb 100644 endmenu diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile -index 7a5967e9ac48..7f02599b24c1 100644 +index 7a5967e9ac4826b39f159ff141358147d8168bf6..7f02599b24c1d402d1ae7af525460921f1205736 100644 --- a/drivers/bluetooth/Makefile +++ b/drivers/bluetooth/Makefile @@ -30,6 +30,7 @@ obj-$(CONFIG_BT_MTK) += btmtk.o @@ -467,7 +276,7 @@ index 7a5967e9ac48..7f02599b24c1 100644 diff --git a/drivers/bluetooth/aml_bt/Kconfig b/drivers/bluetooth/aml_bt/Kconfig new file mode 100644 -index 000000000000..1e32a1a600ac +index 0000000000000000000000000000000000000000..1e32a1a600ac5ae15da23b9ebca098e6f90a4dc5 --- /dev/null +++ b/drivers/bluetooth/aml_bt/Kconfig @@ -0,0 +1,11 @@ @@ -484,7 +293,7 @@ index 000000000000..1e32a1a600ac + sdio_bt. If unsure, say N. diff --git a/drivers/bluetooth/aml_bt/Makefile b/drivers/bluetooth/aml_bt/Makefile new file mode 100644 -index 000000000000..24f2766f44a5 +index 0000000000000000000000000000000000000000..24f2766f44a5b42ae805c45a3da2f7d2289a4321 --- /dev/null +++ b/drivers/bluetooth/aml_bt/Makefile @@ -0,0 +1,2 @@ @@ -492,7 +301,7 @@ index 000000000000..24f2766f44a5 +obj-$(CONFIG_AMLOGIC_BT_W1) += sdio_driver_bt/ diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/Makefile b/drivers/bluetooth/aml_bt/sdio_driver_bt/Makefile new file mode 100644 -index 000000000000..ca50bef24625 +index 0000000000000000000000000000000000000000..ca50bef246251ac79ac090b8b3e901c8fb3dfe67 --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/Makefile @@ -0,0 +1,39 @@ @@ -537,7 +346,7 @@ index 000000000000..ca50bef24625 + diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/bt_hal_plateform.c b/drivers/bluetooth/aml_bt/sdio_driver_bt/bt_hal_plateform.c new file mode 100644 -index 000000000000..7ca5a64dc215 +index 0000000000000000000000000000000000000000..d7a318f213276bfe7adfae2d48a829e59256bf38 --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/bt_hal_plateform.c @@ -0,0 +1,686 @@ @@ -1229,7 +1038,7 @@ index 000000000000..7ca5a64dc215 +MODULE_LICENSE("GPL"); diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/bt_hal_plateform.h b/drivers/bluetooth/aml_bt/sdio_driver_bt/bt_hal_plateform.h new file mode 100644 -index 000000000000..ac7e86ea759e +index 0000000000000000000000000000000000000000..ac7e86ea759edef276e825c7a6b792d9e8449342 --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/bt_hal_plateform.h @@ -0,0 +1,139 @@ @@ -1374,7 +1183,7 @@ index 000000000000..ac7e86ea759e +}; diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/chip_intf_reg.h b/drivers/bluetooth/aml_bt/sdio_driver_bt/chip_intf_reg.h new file mode 100644 -index 000000000000..56e79b748d61 +index 0000000000000000000000000000000000000000..56e79b748d61bd907508536bc49550711b7ff778 --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/chip_intf_reg.h @@ -0,0 +1,544 @@ @@ -1924,7 +1733,7 @@ index 000000000000..56e79b748d61 + diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/chip_pmu_reg.h b/drivers/bluetooth/aml_bt/sdio_driver_bt/chip_pmu_reg.h new file mode 100644 -index 000000000000..2088eb55476d +index 0000000000000000000000000000000000000000..2088eb55476d4afe2c26ca6d82ecf89892129dac --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/chip_pmu_reg.h @@ -0,0 +1,406 @@ @@ -2336,7 +2145,7 @@ index 000000000000..2088eb55476d + diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/rf_d_top_reg.h b/drivers/bluetooth/aml_bt/sdio_driver_bt/rf_d_top_reg.h new file mode 100644 -index 000000000000..6448f506bab5 +index 0000000000000000000000000000000000000000..6448f506bab5a4413438cda30d4fc2e69271fa5e --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/rf_d_top_reg.h @@ -0,0 +1,790 @@ @@ -3132,7 +2941,7 @@ index 000000000000..6448f506bab5 + diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.c b/drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.c new file mode 100644 -index 000000000000..8fdd9a901429 +index 0000000000000000000000000000000000000000..8fdd9a901429ebc96348c5616a30e147a4d6e2ef --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.c @@ -0,0 +1,1397 @@ @@ -4535,7 +4344,7 @@ index 000000000000..8fdd9a901429 +MODULE_LICENSE("GPL"); diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.h b/drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.h new file mode 100644 -index 000000000000..a625a427286e +index 0000000000000000000000000000000000000000..a625a427286e39331f2141c383a98e2c4fdf6ed0 --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/w1_sdio.h @@ -0,0 +1,185 @@ @@ -4726,7 +4535,7 @@ index 000000000000..a625a427286e + diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_coex_addr.h b/drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_coex_addr.h new file mode 100644 -index 000000000000..68be97d11a79 +index 0000000000000000000000000000000000000000..68be97d11a79ae26359c722a1b05889fa087cfb0 --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_coex_addr.h @@ -0,0 +1,34 @@ @@ -4766,7 +4575,7 @@ index 000000000000..68be97d11a79 + diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_drv_reg_ops.h b/drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_drv_reg_ops.h new file mode 100644 -index 000000000000..b2b12665c2eb +index 0000000000000000000000000000000000000000..b2b12665c2eb040e9ddb24b575dee9251c8bad22 --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_drv_reg_ops.h @@ -0,0 +1,41 @@ @@ -4813,7 +4622,7 @@ index 000000000000..b2b12665c2eb +#endif diff --git a/drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_intf_addr.h b/drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_intf_addr.h new file mode 100644 -index 000000000000..7ec21d85f4a1 +index 0000000000000000000000000000000000000000..7ec21d85f4a191e947fc6ccbd048a16c61b173fd --- /dev/null +++ b/drivers/bluetooth/aml_bt/sdio_driver_bt/wifi_intf_addr.h @@ -0,0 +1,26 @@ @@ -4844,7 +4653,7 @@ index 000000000000..7ec21d85f4a1 + +#endif diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig -index 7555af5195ec..868feacebc38 100644 +index 7555af5195ec3f55ff83edbcdfe8f58072133295..868feacebc3885573ad9874f5eacf6b0ff7ac6b3 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig @@ -35,6 +35,7 @@ source "drivers/net/wireless/rsi/Kconfig" @@ -4856,7 +4665,7 @@ index 7555af5195ec..868feacebc38 100644 source "drivers/net/wireless/quantenna/Kconfig" diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile -index 4d7374d567d1..038a6c84df49 100644 +index 4d7374d567d18c708e6396ed8870af7543a6c3d4..038a6c84df49216d73cf60236cc2954cb99ee43f 100644 --- a/drivers/net/wireless/Makefile +++ b/drivers/net/wireless/Makefile @@ -21,6 +21,7 @@ obj-$(CONFIG_WLAN_VENDOR_RSI) += rsi/ @@ -4869,7 +4678,7 @@ index 4d7374d567d1..038a6c84df49 100644 obj-$(CONFIG_WLAN) += legacy/ diff --git a/drivers/net/wireless/w1/Kconfig b/drivers/net/wireless/w1/Kconfig new file mode 100644 -index 000000000000..66fbdad58440 +index 0000000000000000000000000000000000000000..66fbdad5844086450151538b77fe068540bf9cc9 --- /dev/null +++ b/drivers/net/wireless/w1/Kconfig @@ -0,0 +1,13 @@ @@ -4888,7 +4697,7 @@ index 000000000000..66fbdad58440 + vlsicomm. If unsure, say N. diff --git a/drivers/net/wireless/w1/Makefile b/drivers/net/wireless/w1/Makefile new file mode 100755 -index 000000000000..bcf75ace3557 +index 0000000000000000000000000000000000000000..bcf75ace3557e25845ae2bed94f1e819f0078399 --- /dev/null +++ b/drivers/net/wireless/w1/Makefile @@ -0,0 +1,2 @@ @@ -4896,7 +4705,7 @@ index 000000000000..bcf75ace3557 +obj-$(CONFIG_AMLOGIC_WIFI_W1) += vmac/ diff --git a/drivers/net/wireless/w1/common/chip_ana_reg.h b/drivers/net/wireless/w1/common/chip_ana_reg.h new file mode 100644 -index 000000000000..8560cf7154e5 +index 0000000000000000000000000000000000000000..8560cf7154e5ef96829d0f9827ea6a52689fc96e --- /dev/null +++ b/drivers/net/wireless/w1/common/chip_ana_reg.h @@ -0,0 +1,826 @@ @@ -5728,7 +5537,7 @@ index 000000000000..8560cf7154e5 + diff --git a/drivers/net/wireless/w1/common/chip_bt_pmu_reg.h b/drivers/net/wireless/w1/common/chip_bt_pmu_reg.h new file mode 100644 -index 000000000000..19ca0884dfa9 +index 0000000000000000000000000000000000000000..19ca0884dfa9bc0961b67279c70febae9d48b640 --- /dev/null +++ b/drivers/net/wireless/w1/common/chip_bt_pmu_reg.h @@ -0,0 +1,406 @@ @@ -6140,149 +5949,149 @@ index 000000000000..19ca0884dfa9 + diff --git a/drivers/net/wireless/w1/common/chip_efuse_reg.h b/drivers/net/wireless/w1/common/chip_efuse_reg.h new file mode 100644 -index 000000000000..a98ab6765e4e +index 0000000000000000000000000000000000000000..90a3c9460896f668c8cf10c5f33647ebaefb0f1f --- /dev/null +++ b/drivers/net/wireless/w1/common/chip_efuse_reg.h @@ -0,0 +1,136 @@ -+#ifdef CHIP_EFUSE_REG -+#else -+#define CHIP_EFUSE_REG -+ -+ -+#define CHIP_EFUSE_REG_BASE (0xf04000) -+ -+#define EFUSE_CNTL0 (CHIP_EFUSE_REG_BASE + 0x0) -+// Bit 7 :0 tclock_high U RW default = 'h87 -+// Bit 15 :8 tclock_low U RW default = 'h27 -+// Bit 23 :16 tps_delay U RW default = 'ha -+// Bit 31 :24 tunit_delay U RW default = 'h2 -+typedef union EFUSE_CNTL0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int Tclock_high : 8; -+ unsigned int Tclock_low : 8; -+ unsigned int Tps_delay : 8; -+ unsigned int Tunit_delay : 8; -+ } b; -+} EFUSE_CNTL0_FIELD_T; -+ -+#define EFUSE_CNTL1 (CHIP_EFUSE_REG_BASE + 0x4) -+// Bit 9 :0 byte_addr U RW default = 'h0 -+// Bit 11 byte_addr_set U RW default = 'h0 -+// Bit 12 auto_wr_enable U RW default = 'h0 -+// Bit 13 auto_wr_start U RW default = 'h0 -+// Bit 14 auto_wr_busy U RO default = 'h0 -+// Bit 23 :16 byte_wdata U RW default = 'h0 -+// Bit 24 auto_rd_enable U RW default = 'h0 -+// Bit 25 auto_rd_start U RW default = 'h0 -+// Bit 26 auto_rd_busy U RO default = 'h0 -+// Bit 27 ctrl_pd U RW default = 'h1 -+// Bit 31 sim_mask_rd_dat U RW default = 'h0 -+typedef union EFUSE_CNTL1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int byte_addr : 10; -+ unsigned int rsvd_0 : 1; -+ unsigned int byte_addr_set : 1; -+ unsigned int auto_wr_enable : 1; -+ unsigned int auto_wr_start : 1; -+ unsigned int auto_wr_busy : 1; -+ unsigned int rsvd_1 : 1; -+ unsigned int byte_wdata : 8; -+ unsigned int auto_rd_enable : 1; -+ unsigned int auto_rd_start : 1; -+ unsigned int auto_rd_busy : 1; -+ unsigned int ctrl_PD : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int sim_mask_rd_dat : 1; -+ } b; -+} EFUSE_CNTL1_FIELD_T; -+ -+#define EFUSE_CNTL2 (CHIP_EFUSE_REG_BASE + 0x8) -+// Bit 31 :0 auto_rd_rdata U RO default = 'h0 -+typedef union EFUSE_CNTL2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int auto_rd_rdata : 32; -+ } b; -+} EFUSE_CNTL2_FIELD_T; -+ -+#define EFUSE_CNTL3 (CHIP_EFUSE_REG_BASE + 0xc) -+// Bit 12 :0 manual_d_addr U RW default = 'h0 -+// Bit 13 use_gen_strobe U RW default = 'h0 -+// Bit 14 gen_strobe_clk U RW default = 'h0 -+// Bit 15 gen_strobe U RO default = 'h0 -+// Bit 23 :16 manual_rdata U RO default = 'h0 -+// Bit 26 :24 man_chip_sel U RW default = 'h0 -+// Bit 27 manual_ps U RW default = 'h0 -+// Bit 28 manual_strobe U RW default = 'h0 -+// Bit 29 manual_load U RW default = 'h1 -+// Bit 30 manual_pgenb U RW default = 'h1 -+// Bit 31 manual_csb U RW default = 'h1 -+typedef union EFUSE_CNTL3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int manual_D_ADDR : 13; -+ unsigned int use_gen_STROBE : 1; -+ unsigned int gen_strobe_clk : 1; -+ unsigned int gen_STROBE : 1; -+ unsigned int manual_rdata : 8; -+ unsigned int man_chip_sel : 3; -+ unsigned int manual_PS : 1; -+ unsigned int manual_STROBE : 1; -+ unsigned int manual_LOAD : 1; -+ unsigned int manual_PGENB : 1; -+ unsigned int manual_CSB : 1; -+ } b; -+} EFUSE_CNTL3_FIELD_T; -+ -+#define EFUSE_CNTL4 (CHIP_EFUSE_REG_BASE + 0x10) -+// Bit 7 :0 encrypt_seed U RW default = 'hbe -+// Bit 8 encrypt_fixed U RW default = 'h1 -+// Bit 9 encrypt_set_seed U RW default = 'h0 -+// Bit 10 encrypt_en U RW default = 'h1 -+// Bit 23 :16 trd_clock_high U RW default = 'ha -+// Bit 31 :24 trd_clock_low U RW default = 'ha -+typedef union EFUSE_CNTL4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int encrypt_seed : 8; -+ unsigned int encrypt_fixed : 1; -+ unsigned int encrypt_set_seed : 1; -+ unsigned int encrypt_en : 1; -+ unsigned int rsvd_0 : 5; -+ unsigned int Trd_clock_high : 8; -+ unsigned int Trd_clock_low : 8; -+ } b; -+} EFUSE_CNTL4_FIELD_T; -+ -+#define EFUSE_CNTL5 (CHIP_EFUSE_REG_BASE + 0x14) -+// Bit 2 :0 rd_strobe_time U RW default = 'h2 -+typedef union EFUSE_CNTL5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rd_strobe_time : 3; -+ unsigned int rsvd_0 : 29; -+ } b; -+} EFUSE_CNTL5_FIELD_T; -+ -+#endif -+ ++#ifdef CHIP_EFUSE_REG ++#else ++#define CHIP_EFUSE_REG ++ ++ ++#define CHIP_EFUSE_REG_BASE (0xf04000) ++ ++#define EFUSE_CNTL0 (CHIP_EFUSE_REG_BASE + 0x0) ++// Bit 7 :0 tclock_high U RW default = 'h87 ++// Bit 15 :8 tclock_low U RW default = 'h27 ++// Bit 23 :16 tps_delay U RW default = 'ha ++// Bit 31 :24 tunit_delay U RW default = 'h2 ++typedef union EFUSE_CNTL0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int Tclock_high : 8; ++ unsigned int Tclock_low : 8; ++ unsigned int Tps_delay : 8; ++ unsigned int Tunit_delay : 8; ++ } b; ++} EFUSE_CNTL0_FIELD_T; ++ ++#define EFUSE_CNTL1 (CHIP_EFUSE_REG_BASE + 0x4) ++// Bit 9 :0 byte_addr U RW default = 'h0 ++// Bit 11 byte_addr_set U RW default = 'h0 ++// Bit 12 auto_wr_enable U RW default = 'h0 ++// Bit 13 auto_wr_start U RW default = 'h0 ++// Bit 14 auto_wr_busy U RO default = 'h0 ++// Bit 23 :16 byte_wdata U RW default = 'h0 ++// Bit 24 auto_rd_enable U RW default = 'h0 ++// Bit 25 auto_rd_start U RW default = 'h0 ++// Bit 26 auto_rd_busy U RO default = 'h0 ++// Bit 27 ctrl_pd U RW default = 'h1 ++// Bit 31 sim_mask_rd_dat U RW default = 'h0 ++typedef union EFUSE_CNTL1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int byte_addr : 10; ++ unsigned int rsvd_0 : 1; ++ unsigned int byte_addr_set : 1; ++ unsigned int auto_wr_enable : 1; ++ unsigned int auto_wr_start : 1; ++ unsigned int auto_wr_busy : 1; ++ unsigned int rsvd_1 : 1; ++ unsigned int byte_wdata : 8; ++ unsigned int auto_rd_enable : 1; ++ unsigned int auto_rd_start : 1; ++ unsigned int auto_rd_busy : 1; ++ unsigned int ctrl_PD : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int sim_mask_rd_dat : 1; ++ } b; ++} EFUSE_CNTL1_FIELD_T; ++ ++#define EFUSE_CNTL2 (CHIP_EFUSE_REG_BASE + 0x8) ++// Bit 31 :0 auto_rd_rdata U RO default = 'h0 ++typedef union EFUSE_CNTL2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int auto_rd_rdata : 32; ++ } b; ++} EFUSE_CNTL2_FIELD_T; ++ ++#define EFUSE_CNTL3 (CHIP_EFUSE_REG_BASE + 0xc) ++// Bit 12 :0 manual_d_addr U RW default = 'h0 ++// Bit 13 use_gen_strobe U RW default = 'h0 ++// Bit 14 gen_strobe_clk U RW default = 'h0 ++// Bit 15 gen_strobe U RO default = 'h0 ++// Bit 23 :16 manual_rdata U RO default = 'h0 ++// Bit 26 :24 man_chip_sel U RW default = 'h0 ++// Bit 27 manual_ps U RW default = 'h0 ++// Bit 28 manual_strobe U RW default = 'h0 ++// Bit 29 manual_load U RW default = 'h1 ++// Bit 30 manual_pgenb U RW default = 'h1 ++// Bit 31 manual_csb U RW default = 'h1 ++typedef union EFUSE_CNTL3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int manual_D_ADDR : 13; ++ unsigned int use_gen_STROBE : 1; ++ unsigned int gen_strobe_clk : 1; ++ unsigned int gen_STROBE : 1; ++ unsigned int manual_rdata : 8; ++ unsigned int man_chip_sel : 3; ++ unsigned int manual_PS : 1; ++ unsigned int manual_STROBE : 1; ++ unsigned int manual_LOAD : 1; ++ unsigned int manual_PGENB : 1; ++ unsigned int manual_CSB : 1; ++ } b; ++} EFUSE_CNTL3_FIELD_T; ++ ++#define EFUSE_CNTL4 (CHIP_EFUSE_REG_BASE + 0x10) ++// Bit 7 :0 encrypt_seed U RW default = 'hbe ++// Bit 8 encrypt_fixed U RW default = 'h1 ++// Bit 9 encrypt_set_seed U RW default = 'h0 ++// Bit 10 encrypt_en U RW default = 'h1 ++// Bit 23 :16 trd_clock_high U RW default = 'ha ++// Bit 31 :24 trd_clock_low U RW default = 'ha ++typedef union EFUSE_CNTL4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int encrypt_seed : 8; ++ unsigned int encrypt_fixed : 1; ++ unsigned int encrypt_set_seed : 1; ++ unsigned int encrypt_en : 1; ++ unsigned int rsvd_0 : 5; ++ unsigned int Trd_clock_high : 8; ++ unsigned int Trd_clock_low : 8; ++ } b; ++} EFUSE_CNTL4_FIELD_T; ++ ++#define EFUSE_CNTL5 (CHIP_EFUSE_REG_BASE + 0x14) ++// Bit 2 :0 rd_strobe_time U RW default = 'h2 ++typedef union EFUSE_CNTL5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rd_strobe_time : 3; ++ unsigned int rsvd_0 : 29; ++ } b; ++} EFUSE_CNTL5_FIELD_T; ++ ++#endif ++ diff --git a/drivers/net/wireless/w1/common/chip_intf_reg.h b/drivers/net/wireless/w1/common/chip_intf_reg.h new file mode 100644 -index 000000000000..56e79b748d61 +index 0000000000000000000000000000000000000000..56e79b748d61bd907508536bc49550711b7ff778 --- /dev/null +++ b/drivers/net/wireless/w1/common/chip_intf_reg.h @@ -0,0 +1,544 @@ @@ -6832,148 +6641,148 @@ index 000000000000..56e79b748d61 + diff --git a/drivers/net/wireless/w1/common/chip_pmic_i2c_reg.h b/drivers/net/wireless/w1/common/chip_pmic_i2c_reg.h new file mode 100644 -index 000000000000..3ca77327d01b +index 0000000000000000000000000000000000000000..ca06970f4e03c949c5180c6dfbcc0e971439cb2c --- /dev/null +++ b/drivers/net/wireless/w1/common/chip_pmic_i2c_reg.h @@ -0,0 +1,135 @@ -+#ifdef CHIP_PMIC_I2C_REG -+#else -+#define CHIP_PMIC_I2C_REG -+ -+ -+#define CHIP_PMIC_I2C_REG_BASE (0xf05000) -+ -+#define PMU_I2C_M_CONTROL_REG (CHIP_PMIC_I2C_REG_BASE + 0x880) -+// Bit 0 cntl_start_bit U RW default = 'h0 -+// Bit 1 cntl_ack_ignore U RW default = 'h0 -+// Bit 2 busy U RO default = 'h0 -+// Bit 3 error U RO default = 'h0 -+// Bit 7 :4 list_index U RO default = 'h0 -+// Bit 11 :8 rdata U RO default = 'h0 -+// Bit 21 :12 cntl_qtr_clk_dly U RW default = 'h14c -+// Bit 22 cntl_manual_i2c U RW default = 'h0 -+// Bit 23 cntl_scl_level_o U RW default = 'h1 -+// Bit 24 cntl_sda_level_o U RW default = 'h1 -+// Bit 25 scl_i U RO default = 'h0 -+// Bit 26 sda_i U RO default = 'h0 -+// Bit 29 :28 cnt1_qtr_clk_dly U RW default = 'h0 -+// Bit 31 cnt1_jic U RW default = 'h0 -+typedef union PMU_I2C_M_CONTROL_REG_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int cntl_start_bit : 1; -+ unsigned int cntl_ack_ignore : 1; -+ unsigned int busy : 1; -+ unsigned int error : 1; -+ unsigned int list_index : 4; -+ unsigned int rdata : 4; -+ unsigned int cntl_qtr_clk_dly : 10; -+ unsigned int cntl_manual_i2c : 1; -+ unsigned int cntl_scl_level_o : 1; -+ unsigned int cntl_sda_level_o : 1; -+ unsigned int scl_i : 1; -+ unsigned int sda_i : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int cnt1_qtr_clk_dly : 2; -+ unsigned int rsvd_1 : 1; -+ unsigned int cnt1_jic : 1; -+ } b; -+} PMU_I2C_M_CONTROL_REG_FIELD_T; -+ -+#define PMU_I2C_M_SLAVE_ADDR (CHIP_PMIC_I2C_REG_BASE + 0x884) -+// Bit 7 :0 slave_addr U RW default = 'h0 -+// Bit 10 :8 sda_filter_sel U RW default = 'h2 -+// Bit 13 :11 scl_filter_sel U RW default = 'h2 -+// Bit 27 :16 cntl_scl_low U RW default = 'h14c -+// Bit 28 use_cntl_scl_low U RW default = 'h0 -+typedef union PMU_I2C_M_SLAVE_ADDR_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int slave_addr : 8; -+ unsigned int sda_filter_sel : 3; -+ unsigned int scl_filter_sel : 3; -+ unsigned int rsvd_0 : 2; -+ unsigned int cntl_scl_low : 12; -+ unsigned int use_cntl_scl_low : 1; -+ unsigned int rsvd_1 : 3; -+ } b; -+} PMU_I2C_M_SLAVE_ADDR_FIELD_T; -+ -+#define PMU_I2C_M_TOKEN_LIST0 (CHIP_PMIC_I2C_REG_BASE + 0x888) -+// Bit 31 :0 i2c_m_token_list0 U RW default = 'h0 -+typedef union PMU_I2C_M_TOKEN_LIST0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int i2c_m_token_list0 : 32; -+ } b; -+} PMU_I2C_M_TOKEN_LIST0_FIELD_T; -+ -+#define PMU_I2C_M_TOKEN_LIST1 (CHIP_PMIC_I2C_REG_BASE + 0x88c) -+// Bit 31 :0 i2c_m_token_list1 U RW default = 'h0 -+typedef union PMU_I2C_M_TOKEN_LIST1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int i2c_m_token_list1 : 32; -+ } b; -+} PMU_I2C_M_TOKEN_LIST1_FIELD_T; -+ -+#define PMU_I2C_M_WDATA_REG0 (CHIP_PMIC_I2C_REG_BASE + 0x890) -+// Bit 31 :0 i2c_m_wdata_reg0 U RW default = 'h0 -+typedef union PMU_I2C_M_WDATA_REG0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int i2c_m_wdata_reg0 : 32; -+ } b; -+} PMU_I2C_M_WDATA_REG0_FIELD_T; -+ -+#define PMU_I2C_M_WDATA_REG1 (CHIP_PMIC_I2C_REG_BASE + 0x894) -+// Bit 31 :0 i2c_m_wdata_reg1 U RW default = 'h0 -+typedef union PMU_I2C_M_WDATA_REG1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int i2c_m_wdata_reg1 : 32; -+ } b; -+} PMU_I2C_M_WDATA_REG1_FIELD_T; -+ -+#define PMU_I2C_M_RDATA_REG0 (CHIP_PMIC_I2C_REG_BASE + 0x898) -+// Bit 31 :0 i2c_m_rdata_reg0 U RO default = 'h0 -+typedef union PMU_I2C_M_RDATA_REG0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int i2c_m_rdata_reg0 : 32; -+ } b; -+} PMU_I2C_M_RDATA_REG0_FIELD_T; -+ -+#define PMU_I2C_M_RDATA_REG1 (CHIP_PMIC_I2C_REG_BASE + 0x89c) -+// Bit 31 :0 i2c_m_rdata_reg1 U RO default = 'h0 -+typedef union PMU_I2C_M_RDATA_REG1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int i2c_m_rdata_reg1 : 32; -+ } b; -+} PMU_I2C_M_RDATA_REG1_FIELD_T; -+ -+#endif -+ ++#ifdef CHIP_PMIC_I2C_REG ++#else ++#define CHIP_PMIC_I2C_REG ++ ++ ++#define CHIP_PMIC_I2C_REG_BASE (0xf05000) ++ ++#define PMU_I2C_M_CONTROL_REG (CHIP_PMIC_I2C_REG_BASE + 0x880) ++// Bit 0 cntl_start_bit U RW default = 'h0 ++// Bit 1 cntl_ack_ignore U RW default = 'h0 ++// Bit 2 busy U RO default = 'h0 ++// Bit 3 error U RO default = 'h0 ++// Bit 7 :4 list_index U RO default = 'h0 ++// Bit 11 :8 rdata U RO default = 'h0 ++// Bit 21 :12 cntl_qtr_clk_dly U RW default = 'h14c ++// Bit 22 cntl_manual_i2c U RW default = 'h0 ++// Bit 23 cntl_scl_level_o U RW default = 'h1 ++// Bit 24 cntl_sda_level_o U RW default = 'h1 ++// Bit 25 scl_i U RO default = 'h0 ++// Bit 26 sda_i U RO default = 'h0 ++// Bit 29 :28 cnt1_qtr_clk_dly U RW default = 'h0 ++// Bit 31 cnt1_jic U RW default = 'h0 ++typedef union PMU_I2C_M_CONTROL_REG_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int cntl_start_bit : 1; ++ unsigned int cntl_ack_ignore : 1; ++ unsigned int busy : 1; ++ unsigned int error : 1; ++ unsigned int list_index : 4; ++ unsigned int rdata : 4; ++ unsigned int cntl_qtr_clk_dly : 10; ++ unsigned int cntl_manual_i2c : 1; ++ unsigned int cntl_scl_level_o : 1; ++ unsigned int cntl_sda_level_o : 1; ++ unsigned int scl_i : 1; ++ unsigned int sda_i : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int cnt1_qtr_clk_dly : 2; ++ unsigned int rsvd_1 : 1; ++ unsigned int cnt1_jic : 1; ++ } b; ++} PMU_I2C_M_CONTROL_REG_FIELD_T; ++ ++#define PMU_I2C_M_SLAVE_ADDR (CHIP_PMIC_I2C_REG_BASE + 0x884) ++// Bit 7 :0 slave_addr U RW default = 'h0 ++// Bit 10 :8 sda_filter_sel U RW default = 'h2 ++// Bit 13 :11 scl_filter_sel U RW default = 'h2 ++// Bit 27 :16 cntl_scl_low U RW default = 'h14c ++// Bit 28 use_cntl_scl_low U RW default = 'h0 ++typedef union PMU_I2C_M_SLAVE_ADDR_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int slave_addr : 8; ++ unsigned int sda_filter_sel : 3; ++ unsigned int scl_filter_sel : 3; ++ unsigned int rsvd_0 : 2; ++ unsigned int cntl_scl_low : 12; ++ unsigned int use_cntl_scl_low : 1; ++ unsigned int rsvd_1 : 3; ++ } b; ++} PMU_I2C_M_SLAVE_ADDR_FIELD_T; ++ ++#define PMU_I2C_M_TOKEN_LIST0 (CHIP_PMIC_I2C_REG_BASE + 0x888) ++// Bit 31 :0 i2c_m_token_list0 U RW default = 'h0 ++typedef union PMU_I2C_M_TOKEN_LIST0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int i2c_m_token_list0 : 32; ++ } b; ++} PMU_I2C_M_TOKEN_LIST0_FIELD_T; ++ ++#define PMU_I2C_M_TOKEN_LIST1 (CHIP_PMIC_I2C_REG_BASE + 0x88c) ++// Bit 31 :0 i2c_m_token_list1 U RW default = 'h0 ++typedef union PMU_I2C_M_TOKEN_LIST1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int i2c_m_token_list1 : 32; ++ } b; ++} PMU_I2C_M_TOKEN_LIST1_FIELD_T; ++ ++#define PMU_I2C_M_WDATA_REG0 (CHIP_PMIC_I2C_REG_BASE + 0x890) ++// Bit 31 :0 i2c_m_wdata_reg0 U RW default = 'h0 ++typedef union PMU_I2C_M_WDATA_REG0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int i2c_m_wdata_reg0 : 32; ++ } b; ++} PMU_I2C_M_WDATA_REG0_FIELD_T; ++ ++#define PMU_I2C_M_WDATA_REG1 (CHIP_PMIC_I2C_REG_BASE + 0x894) ++// Bit 31 :0 i2c_m_wdata_reg1 U RW default = 'h0 ++typedef union PMU_I2C_M_WDATA_REG1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int i2c_m_wdata_reg1 : 32; ++ } b; ++} PMU_I2C_M_WDATA_REG1_FIELD_T; ++ ++#define PMU_I2C_M_RDATA_REG0 (CHIP_PMIC_I2C_REG_BASE + 0x898) ++// Bit 31 :0 i2c_m_rdata_reg0 U RO default = 'h0 ++typedef union PMU_I2C_M_RDATA_REG0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int i2c_m_rdata_reg0 : 32; ++ } b; ++} PMU_I2C_M_RDATA_REG0_FIELD_T; ++ ++#define PMU_I2C_M_RDATA_REG1 (CHIP_PMIC_I2C_REG_BASE + 0x89c) ++// Bit 31 :0 i2c_m_rdata_reg1 U RO default = 'h0 ++typedef union PMU_I2C_M_RDATA_REG1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int i2c_m_rdata_reg1 : 32; ++ } b; ++} PMU_I2C_M_RDATA_REG1_FIELD_T; ++ ++#endif ++ diff --git a/drivers/net/wireless/w1/common/chip_pmu_reg.h b/drivers/net/wireless/w1/common/chip_pmu_reg.h new file mode 100644 -index 000000000000..2088eb55476d +index 0000000000000000000000000000000000000000..2088eb55476d4afe2c26ca6d82ecf89892129dac --- /dev/null +++ b/drivers/net/wireless/w1/common/chip_pmu_reg.h @@ -0,0 +1,406 @@ @@ -7385,7 +7194,7 @@ index 000000000000..2088eb55476d + diff --git a/drivers/net/wireless/w1/common/fi_cmd.h b/drivers/net/wireless/w1/common/fi_cmd.h new file mode 100644 -index 000000000000..09022081a888 +index 0000000000000000000000000000000000000000..09022081a8882e22a739b8a8c2d9a5c3715a8602 --- /dev/null +++ b/drivers/net/wireless/w1/common/fi_cmd.h @@ -0,0 +1,491 @@ @@ -7882,7 +7691,7 @@ index 000000000000..09022081a888 +#endif diff --git a/drivers/net/wireless/w1/common/fi_sdio.h b/drivers/net/wireless/w1/common/fi_sdio.h new file mode 100644 -index 000000000000..e3e38d249861 +index 0000000000000000000000000000000000000000..e3e38d2498610d0c62146b1867e0ce4d4399bc30 --- /dev/null +++ b/drivers/net/wireless/w1/common/fi_sdio.h @@ -0,0 +1,1069 @@ @@ -8957,7 +8766,7 @@ index 000000000000..e3e38d249861 + diff --git a/drivers/net/wireless/w1/common/fucode_em4.h b/drivers/net/wireless/w1/common/fucode_em4.h new file mode 100644 -index 000000000000..b9661763dbcc +index 0000000000000000000000000000000000000000..142d8ba45d1bf1036a65575867c25e1d50ef4776 --- /dev/null +++ b/drivers/net/wireless/w1/common/fucode_em4.h @@ -0,0 +1,6665 @@ @@ -12037,56 +11846,56 @@ index 000000000000..b9661763dbcc +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0xAC,0x71,0x10,0x00,0x74,0x57,0x12,0x00,0x9E,0x4C,0x12,0x00,0x04,0x3E,0x10,0x00,0x6E,0x3E,0x10,0x00,0x72,0x3F,0x10,0x00,0xA0,0x4A,0x10,0x00,0xBC,0x3E,0x10,0x00, -+0x50,0x89,0xD0,0x00,0x48,0x43,0x10,0x00,0x14,0x53,0x12,0x00,0x8E,0xFE,0x10,0x00,0x06,0xFB,0x10,0x00,0x5C,0x42,0x10,0x00,0xB2,0x82,0x10,0x00,0x2E,0x15,0x11,0x00, -+0xEE,0x10,0x11,0x00,0xD2,0x04,0x11,0x00,0x2E,0x46,0x12,0x00,0xEE,0x43,0x12,0x00,0x1C,0x8B,0xD0,0x00,0xE6,0x46,0x10,0x00,0x9A,0x7A,0x10,0x00,0x72,0x54,0x12,0x00, -+0x88,0x1A,0x11,0x00,0xAE,0x19,0x11,0x00,0x8C,0x18,0x11,0x00,0x20,0x7B,0x10,0x00,0x34,0x7C,0x10,0x00,0xEA,0x3F,0x10,0x00,0xBC,0x42,0x12,0x00,0x70,0x1E,0x12,0x00, ++0xAC,0x71,0x10,0x00,0xB2,0x57,0x12,0x00,0xDC,0x4C,0x12,0x00,0x04,0x3E,0x10,0x00,0x6E,0x3E,0x10,0x00,0x72,0x3F,0x10,0x00,0xA0,0x4A,0x10,0x00,0xBC,0x3E,0x10,0x00, ++0x4C,0x8A,0xD0,0x00,0x48,0x43,0x10,0x00,0x52,0x53,0x12,0x00,0x8E,0xFE,0x10,0x00,0x06,0xFB,0x10,0x00,0x5C,0x42,0x10,0x00,0xB2,0x82,0x10,0x00,0x2E,0x15,0x11,0x00, ++0xEE,0x10,0x11,0x00,0xD2,0x04,0x11,0x00,0x6C,0x46,0x12,0x00,0x2C,0x44,0x12,0x00,0x18,0x8C,0xD0,0x00,0xE6,0x46,0x10,0x00,0x9A,0x7A,0x10,0x00,0xB0,0x54,0x12,0x00, ++0x88,0x1A,0x11,0x00,0xAE,0x19,0x11,0x00,0x8C,0x18,0x11,0x00,0x20,0x7B,0x10,0x00,0x34,0x7C,0x10,0x00,0xEA,0x3F,0x10,0x00,0xFA,0x42,0x12,0x00,0x70,0x1E,0x12,0x00, +0x30,0x03,0x10,0x00,0xE4,0x03,0x10,0x00,0xF6,0x0A,0x10,0x00,0xAA,0x09,0x10,0x00,0x38,0x0A,0x10,0x00,0x48,0x0A,0x10,0x00,0x58,0x0A,0x10,0x00,0x88,0x0A,0x10,0x00, -+0xD4,0x64,0x12,0x00,0xFA,0x62,0x12,0x00,0x8A,0x09,0x10,0x00,0x9A,0x09,0x10,0x00,0x34,0x64,0x12,0x00,0x24,0x68,0x12,0x00,0x9C,0x0A,0x10,0x00,0xC2,0x0B,0x10,0x00, -+0x44,0x63,0x12,0x00,0x9A,0x68,0x12,0x00,0x00,0x0C,0x10,0x00,0xEC,0x07,0x10,0x00,0x34,0x12,0x10,0x00,0x48,0x15,0x10,0x00,0x80,0x16,0x10,0x00,0x0E,0x15,0x10,0x00, ++0x00,0x66,0x12,0x00,0x38,0x63,0x12,0x00,0x8A,0x09,0x10,0x00,0x9A,0x09,0x10,0x00,0x60,0x65,0x12,0x00,0xE0,0x69,0x12,0x00,0x9C,0x0A,0x10,0x00,0xC2,0x0B,0x10,0x00, ++0x82,0x63,0x12,0x00,0xA2,0x8C,0xD0,0x00,0x00,0x0C,0x10,0x00,0xEC,0x07,0x10,0x00,0x34,0x12,0x10,0x00,0x48,0x15,0x10,0x00,0x80,0x16,0x10,0x00,0x0E,0x15,0x10,0x00, +0x96,0x13,0x10,0x00,0x82,0x12,0x10,0x00,0x38,0x26,0x12,0x00,0x90,0x12,0x10,0x00,0xA6,0xF7,0x10,0x00,0xE8,0xFA,0x10,0x00,0x96,0xF8,0x10,0x00,0x80,0xF7,0x10,0x00, +0xB2,0x2E,0x12,0x00,0x0A,0xF8,0x10,0x00,0x2A,0xF7,0x10,0x00,0xE6,0xF6,0x10,0x00,0x58,0xF7,0x10,0x00,0xD2,0xFA,0x10,0x00,0xCA,0xF1,0x10,0x00,0x96,0xFA,0x10,0x00, +0x1E,0x2F,0x12,0x00,0xD2,0xF9,0x10,0x00,0x74,0xF9,0x10,0x00,0xFC,0xF8,0x10,0x00,0x04,0xFB,0x10,0x00,0x82,0xCC,0x10,0x00,0x6C,0x37,0x10,0x00,0x44,0x37,0x10,0x00, +0x52,0x37,0x10,0x00,0x78,0x28,0x12,0x00,0xF4,0x70,0x10,0x00,0x02,0x28,0x12,0x00,0xB2,0x26,0x12,0x00,0x2E,0x27,0x12,0x00,0x46,0x71,0x10,0x00,0x56,0x73,0x10,0x00, +0x9A,0x71,0x10,0x00,0x80,0x04,0x10,0x00,0xDC,0x39,0x10,0x00,0x58,0x3B,0x10,0x00,0x4A,0x3A,0x10,0x00,0xA6,0xE7,0x10,0x00,0xF8,0x23,0x11,0x00,0x3C,0x22,0x11,0x00, +0xEE,0x21,0x11,0x00,0x3A,0x1C,0x11,0x00,0x28,0x24,0x11,0x00,0xCA,0x21,0x11,0x00,0xA8,0x23,0x11,0x00,0xEA,0x1D,0x11,0x00,0xBE,0x1B,0x11,0x00,0xFC,0x1B,0x11,0x00, -+0x2E,0x42,0x12,0x00,0x8A,0x24,0x11,0x00,0x02,0x1B,0x11,0x00,0x62,0x88,0x10,0x00,0x0C,0x29,0x12,0x00,0x0A,0x56,0x10,0x00,0x0E,0x88,0x10,0x00,0x22,0x0C,0x10,0x00, ++0x6C,0x42,0x12,0x00,0x8A,0x24,0x11,0x00,0x02,0x1B,0x11,0x00,0x62,0x88,0x10,0x00,0x0C,0x29,0x12,0x00,0x0A,0x56,0x10,0x00,0x0E,0x88,0x10,0x00,0x22,0x0C,0x10,0x00, +0x5C,0x87,0x10,0x00,0x0A,0x67,0x10,0x00,0xEA,0x3D,0x10,0x00,0x66,0x62,0x10,0x00,0x5C,0x60,0x10,0x00,0x72,0x60,0x10,0x00,0xE8,0x61,0x10,0x00,0x50,0x60,0x10,0x00, +0x66,0x60,0x10,0x00,0xF8,0xED,0x10,0x00,0x74,0x61,0x10,0x00,0xF4,0x60,0x10,0x00,0xC4,0x61,0x10,0x00,0x66,0x61,0x10,0x00,0x56,0x61,0x10,0x00,0x64,0x61,0x10,0x00, -+0x40,0x61,0x10,0x00,0x8C,0x60,0x10,0x00,0xD2,0x61,0x10,0x00,0xE0,0x79,0x12,0x00,0x82,0x61,0x10,0x00,0xAE,0x61,0x10,0x00,0x00,0xE8,0x10,0x00,0x4C,0x7A,0x10,0x00, ++0x40,0x61,0x10,0x00,0x8C,0x60,0x10,0x00,0xD2,0x61,0x10,0x00,0x48,0x7A,0x12,0x00,0x82,0x61,0x10,0x00,0xAE,0x61,0x10,0x00,0x00,0xE8,0x10,0x00,0x4C,0x7A,0x10,0x00, +0x1E,0x3D,0x10,0x00,0x76,0x6B,0x10,0x00,0x9A,0x2C,0x12,0x00,0x04,0x2C,0x12,0x00,0x00,0x6A,0x10,0x00,0xBC,0x6A,0x10,0x00,0x56,0x6C,0x10,0x00,0x1E,0x6C,0x10,0x00, +0xC0,0x6B,0x10,0x00,0x00,0x68,0x10,0x00,0x70,0x67,0x10,0x00,0x64,0x67,0x10,0x00,0x56,0x2A,0x12,0x00,0x7A,0x2B,0x12,0x00,0x8A,0x6C,0x10,0x00,0x78,0x67,0x10,0x00, +0xEA,0x2A,0x12,0x00,0x2C,0x68,0x10,0x00,0x32,0x18,0x10,0x00,0xB2,0x38,0x10,0x00,0x0E,0x1B,0x10,0x00,0x90,0x1A,0x10,0x00,0xDC,0x18,0x10,0x00,0x6A,0x2F,0x10,0x00, -+0x76,0x18,0x10,0x00,0x9E,0x18,0x10,0x00,0x26,0x2D,0x10,0x00,0xF2,0x41,0x12,0x00,0x14,0x2F,0x10,0x00,0xEA,0x33,0x10,0x00,0x46,0x56,0x10,0x00,0x6E,0x3A,0x12,0x00, -+0xC0,0x1B,0x10,0x00,0x20,0x37,0x12,0x00,0x44,0x30,0x10,0x00,0x16,0x20,0x10,0x00,0x7A,0x1E,0x10,0x00,0x6E,0x2C,0x10,0x00,0x0A,0x1F,0x10,0x00,0xE6,0x41,0x12,0x00, -+0x12,0x25,0x10,0x00,0x44,0x29,0x10,0x00,0x40,0x28,0x10,0x00,0x44,0x33,0x10,0x00,0xF0,0x21,0x10,0x00,0x68,0x23,0x10,0x00,0x90,0x1F,0x10,0x00,0x36,0x38,0x12,0x00, ++0x76,0x18,0x10,0x00,0x9E,0x18,0x10,0x00,0x26,0x2D,0x10,0x00,0x30,0x42,0x12,0x00,0x14,0x2F,0x10,0x00,0xEA,0x33,0x10,0x00,0x46,0x56,0x10,0x00,0x78,0x3A,0x12,0x00, ++0xC0,0x1B,0x10,0x00,0x2A,0x37,0x12,0x00,0x44,0x30,0x10,0x00,0x16,0x20,0x10,0x00,0x7A,0x1E,0x10,0x00,0x6E,0x2C,0x10,0x00,0x0A,0x1F,0x10,0x00,0x24,0x42,0x12,0x00, ++0x12,0x25,0x10,0x00,0x44,0x29,0x10,0x00,0x40,0x28,0x10,0x00,0x44,0x33,0x10,0x00,0xF0,0x21,0x10,0x00,0x68,0x23,0x10,0x00,0x90,0x1F,0x10,0x00,0x40,0x38,0x12,0x00, +0x8E,0x26,0x10,0x00,0xEC,0x22,0x10,0x00,0x88,0x6F,0x10,0x00,0x86,0x60,0x10,0x00,0x7C,0x60,0x10,0x00,0xF8,0x05,0x10,0x00,0xBE,0x18,0x10,0x00,0x88,0x07,0x10,0x00, +0x18,0x06,0x10,0x00,0xCC,0x07,0x10,0x00,0xDC,0x07,0x10,0x00,0x92,0x05,0x10,0x00,0xD8,0x05,0x10,0x00,0xE8,0x05,0x10,0x00,0xE6,0x04,0x10,0x00,0x52,0x05,0x10,0x00, +0x50,0x17,0x10,0x00,0x38,0x17,0x10,0x00,0x88,0x73,0x10,0x00,0xD4,0x71,0x10,0x00,0xEE,0x24,0x11,0x00,0x2A,0x2E,0x11,0x00,0xB6,0x2E,0x11,0x00,0x1A,0x24,0x12,0x00, +0xDA,0x1F,0x12,0x00,0x80,0x2E,0x11,0x00,0xC6,0x1E,0x12,0x00,0x90,0x2E,0x11,0x00,0x64,0x21,0x12,0x00,0x00,0x2A,0x11,0x00,0x4C,0x2A,0x11,0x00,0x50,0x25,0x12,0x00, +0x84,0x27,0x11,0x00,0xA0,0x2E,0x11,0x00,0x7A,0x25,0x12,0x00,0xB0,0x31,0x11,0x00,0xB2,0x26,0x11,0x00,0x62,0x26,0x11,0x00,0xAC,0x1E,0x12,0x00,0x72,0x1F,0x12,0x00, -+0x24,0x26,0x12,0x00,0x26,0x2C,0x11,0x00,0xBC,0x2C,0x11,0x00,0x54,0x23,0x12,0x00,0xE2,0x73,0x10,0x00,0x9A,0x35,0x12,0x00,0x32,0x75,0x10,0x00,0x84,0x36,0x12,0x00, -+0x24,0x75,0x10,0x00,0x4E,0x35,0x12,0x00,0x46,0x38,0x10,0x00,0x92,0x37,0x10,0x00,0x60,0x38,0x10,0x00,0xAC,0x37,0x10,0x00,0xE6,0x37,0x10,0x00,0x56,0x88,0x11,0x00, -+0xC0,0x3F,0x10,0x00,0xE2,0x88,0x11,0x00,0xFC,0x89,0x11,0x00,0xA6,0x8A,0x11,0x00,0x04,0x7C,0x12,0x00,0x3E,0x7C,0x12,0x00,0xA6,0x89,0x11,0x00,0xE2,0x89,0x11,0x00, -+0xE4,0x89,0x11,0x00,0x0A,0x32,0x11,0x00,0x2C,0x58,0x12,0x00,0x6A,0x76,0x10,0x00,0x7E,0x75,0x10,0x00,0xA6,0x75,0x10,0x00,0x68,0x77,0x10,0x00,0x24,0x66,0x10,0x00, -+0xD2,0x64,0x10,0x00,0x32,0x65,0x10,0x00,0xD6,0x65,0x10,0x00,0x2C,0x5E,0x12,0x00,0x6E,0x8F,0x10,0x00,0x9E,0x8F,0x10,0x00,0x2E,0x90,0x10,0x00,0xCA,0x33,0x10,0x00, -+0xAA,0x1E,0x12,0x00,0x9A,0x38,0x10,0x00,0x8A,0x7A,0x12,0x00,0x3C,0x87,0x10,0x00,0xBE,0x84,0x10,0x00,0x12,0x85,0x10,0x00,0x42,0x5D,0x12,0x00,0xD0,0x83,0x10,0x00, ++0x24,0x26,0x12,0x00,0x26,0x2C,0x11,0x00,0xBC,0x2C,0x11,0x00,0x54,0x23,0x12,0x00,0xE2,0x73,0x10,0x00,0xA4,0x35,0x12,0x00,0x32,0x75,0x10,0x00,0x8E,0x36,0x12,0x00, ++0x24,0x75,0x10,0x00,0x58,0x35,0x12,0x00,0x46,0x38,0x10,0x00,0x92,0x37,0x10,0x00,0x60,0x38,0x10,0x00,0xAC,0x37,0x10,0x00,0xE6,0x37,0x10,0x00,0x56,0x88,0x11,0x00, ++0xC0,0x3F,0x10,0x00,0xE2,0x88,0x11,0x00,0xFC,0x89,0x11,0x00,0xA6,0x8A,0x11,0x00,0x6C,0x7C,0x12,0x00,0xA6,0x7C,0x12,0x00,0xA6,0x89,0x11,0x00,0xE2,0x89,0x11,0x00, ++0xE4,0x89,0x11,0x00,0x0A,0x32,0x11,0x00,0x6A,0x58,0x12,0x00,0x6A,0x76,0x10,0x00,0x7E,0x75,0x10,0x00,0xA6,0x75,0x10,0x00,0x68,0x77,0x10,0x00,0x24,0x66,0x10,0x00, ++0xD2,0x64,0x10,0x00,0x32,0x65,0x10,0x00,0xD6,0x65,0x10,0x00,0x6A,0x5E,0x12,0x00,0x6E,0x8F,0x10,0x00,0x9E,0x8F,0x10,0x00,0x2E,0x90,0x10,0x00,0xCA,0x33,0x10,0x00, ++0xAA,0x1E,0x12,0x00,0x9A,0x38,0x10,0x00,0xF2,0x7A,0x12,0x00,0x3C,0x87,0x10,0x00,0xBE,0x84,0x10,0x00,0x12,0x85,0x10,0x00,0x80,0x5D,0x12,0x00,0xD0,0x83,0x10,0x00, +0x24,0x84,0x10,0x00,0x7C,0x85,0x10,0x00,0xAE,0x1A,0x11,0x00,0x70,0x8A,0x10,0x00,0x86,0x88,0x10,0x00,0xF2,0x8A,0x10,0x00,0xAC,0x88,0x10,0x00,0x2E,0x89,0x10,0x00, +0xE2,0x89,0x10,0x00,0x6E,0x3C,0x10,0x00,0x44,0x3D,0x10,0x00,0x66,0x17,0x10,0x00,0xDC,0x17,0x10,0x00,0xF6,0x58,0x10,0x00,0xF6,0x3E,0x11,0x00,0x5E,0x41,0x11,0x00, -+0x2E,0x3E,0x11,0x00,0x30,0x35,0x12,0x00,0x32,0x3A,0x11,0x00,0x80,0x3C,0x11,0x00,0x1C,0x3A,0x11,0x00,0x58,0x8F,0x10,0x00,0x3A,0x60,0x12,0x00,0xC8,0x36,0x11,0x00, -+0x82,0x60,0x12,0x00,0x8C,0x7C,0x12,0x00,0xFC,0x7E,0x12,0x00,0x08,0x8C,0x10,0x00,0x96,0x8E,0x10,0x00,0xBC,0x8D,0x10,0x00,0x96,0x8C,0x10,0x00,0x6A,0x8E,0x10,0x00, -+0x08,0x8E,0x10,0x00,0x54,0x8F,0x10,0x00,0xA8,0x7D,0x12,0x00,0xF6,0x59,0x10,0x00,0x32,0x7B,0x12,0x00,0x04,0x59,0x10,0x00,0x6C,0x5F,0x10,0x00,0x1C,0x5B,0x10,0x00, -+0x26,0x5F,0x10,0x00,0xB8,0x5E,0x10,0x00,0x48,0x5F,0x10,0x00,0xE2,0x5E,0x10,0x00,0x3E,0x5E,0x10,0x00,0x60,0x7B,0x12,0x00,0x54,0x38,0x10,0x00,0xA0,0x37,0x10,0x00, ++0x2E,0x3E,0x11,0x00,0x3A,0x35,0x12,0x00,0x32,0x3A,0x11,0x00,0x80,0x3C,0x11,0x00,0x1C,0x3A,0x11,0x00,0x58,0x8F,0x10,0x00,0x78,0x60,0x12,0x00,0xC8,0x36,0x11,0x00, ++0xC0,0x60,0x12,0x00,0xF4,0x7C,0x12,0x00,0x64,0x7F,0x12,0x00,0x08,0x8C,0x10,0x00,0x96,0x8E,0x10,0x00,0xBC,0x8D,0x10,0x00,0x96,0x8C,0x10,0x00,0x6A,0x8E,0x10,0x00, ++0x08,0x8E,0x10,0x00,0x54,0x8F,0x10,0x00,0x10,0x7E,0x12,0x00,0xF6,0x59,0x10,0x00,0x9A,0x7B,0x12,0x00,0x04,0x59,0x10,0x00,0x6C,0x5F,0x10,0x00,0x1C,0x5B,0x10,0x00, ++0x26,0x5F,0x10,0x00,0xB8,0x5E,0x10,0x00,0x48,0x5F,0x10,0x00,0xE2,0x5E,0x10,0x00,0x3E,0x5E,0x10,0x00,0xC8,0x7B,0x12,0x00,0x54,0x38,0x10,0x00,0xA0,0x37,0x10,0x00, +0x7E,0x38,0x10,0x00,0xCA,0x37,0x10,0x00,0x16,0x38,0x10,0x00,0x18,0x88,0x11,0x00,0x9A,0x88,0x11,0x00,0xD0,0x04,0x10,0x00,0x7C,0x5A,0x10,0x00,0x7A,0x5E,0x10,0x00, -+0x08,0x5F,0x10,0x00,0xA2,0x6E,0x10,0x00,0x1A,0x6F,0x10,0x00,0x32,0x36,0x12,0x00,0xDC,0x36,0x12,0x00,0xE0,0x85,0x10,0x00,0x76,0x48,0x12,0x00,0x84,0x17,0x11,0x00, ++0x08,0x5F,0x10,0x00,0xA2,0x6E,0x10,0x00,0x1A,0x6F,0x10,0x00,0x3C,0x36,0x12,0x00,0xE6,0x36,0x12,0x00,0xE0,0x85,0x10,0x00,0xB4,0x48,0x12,0x00,0x84,0x17,0x11,0x00, +0x0A,0x40,0x11,0x00,0x38,0x39,0x10,0x00,0x00,0x05,0x12,0x00,0xEA,0x07,0x12,0x00,0xE2,0x08,0x12,0x00,0xEC,0x08,0x12,0x00,0xFC,0x08,0x12,0x00,0xFE,0x08,0x12,0x00, +0x02,0x09,0x12,0x00,0x04,0x09,0x12,0x00,0x06,0x09,0x12,0x00,0x48,0x09,0x12,0x00,0x4A,0x09,0x12,0x00,0xEE,0x0A,0x12,0x00,0x82,0x0B,0x12,0x00,0xF0,0x0A,0x12,0x00, -+0x18,0x0C,0x12,0x00,0x2C,0x0C,0x12,0x00,0x66,0x17,0x12,0x00,0xE2,0x02,0x12,0x00,0xF8,0x04,0x12,0x00,0xFC,0x04,0x12,0x00,0xD0,0x40,0x12,0x00,0x8E,0x5F,0x10,0x00, -+0x40,0x5D,0x12,0x00,0xE4,0x7B,0x10,0x00,0xFE,0xF1,0x10,0x00,0x64,0xF2,0x10,0x00,0xB8,0x20,0x12,0x00,0x74,0x0C,0x12,0x00,0x30,0x0D,0x12,0x00,0xCC,0x0D,0x12,0x00, ++0x18,0x0C,0x12,0x00,0x2C,0x0C,0x12,0x00,0x66,0x17,0x12,0x00,0xE2,0x02,0x12,0x00,0xF8,0x04,0x12,0x00,0xFC,0x04,0x12,0x00,0x0E,0x41,0x12,0x00,0x8E,0x5F,0x10,0x00, ++0x7E,0x5D,0x12,0x00,0xE4,0x7B,0x10,0x00,0xFE,0xF1,0x10,0x00,0x64,0xF2,0x10,0x00,0xB8,0x20,0x12,0x00,0x74,0x0C,0x12,0x00,0x30,0x0D,0x12,0x00,0xCC,0x0D,0x12,0x00, +0xA4,0x0E,0x12,0x00,0xA6,0x0E,0x12,0x00,0xBE,0x0F,0x12,0x00,0xF0,0x12,0x12,0x00,0xFA,0x12,0x12,0x00,0xFC,0x12,0x12,0x00,0xFE,0x12,0x12,0x00,0x00,0x13,0x12,0x00, -+0x02,0x13,0x12,0x00,0x04,0x13,0x12,0x00,0x10,0x1E,0x12,0x00,0x06,0x13,0x12,0x00,0xD0,0x62,0x10,0x00,0xC8,0xED,0x10,0x00,0x8A,0x69,0x12,0x00,0x46,0xED,0x10,0x00, ++0x02,0x13,0x12,0x00,0x04,0x13,0x12,0x00,0x10,0x1E,0x12,0x00,0x06,0x13,0x12,0x00,0xD0,0x62,0x10,0x00,0xC8,0xED,0x10,0x00,0xF2,0x69,0x12,0x00,0x46,0xED,0x10,0x00, +0xBE,0xEF,0x10,0x00,0x9E,0xEF,0x10,0x00,0x8E,0xEF,0x10,0x00,0x0E,0xF0,0x10,0x00,0xD8,0xF0,0x10,0x00,0xF8,0xEF,0x10,0x00,0xDC,0xEF,0x10,0x00,0x1E,0xF0,0x10,0x00, -+0xE8,0x7B,0x12,0x00,0xD8,0xED,0x10,0x00,0x26,0xF1,0x10,0x00,0x06,0xF0,0x10,0x00,0x66,0xF0,0x10,0x00,0xEA,0xEF,0x10,0x00,0xCE,0xEF,0x10,0x00,0x16,0xF0,0x10,0x00, ++0x50,0x7C,0x12,0x00,0xD8,0xED,0x10,0x00,0x26,0xF1,0x10,0x00,0x06,0xF0,0x10,0x00,0x66,0xF0,0x10,0x00,0xEA,0xEF,0x10,0x00,0xCE,0xEF,0x10,0x00,0x16,0xF0,0x10,0x00, +0x26,0xF0,0x10,0x00,0x68,0xF1,0x10,0x00,0xAC,0xEF,0x10,0x00,0x94,0xF1,0x10,0x00,0x38,0xF1,0x10,0x00,0xC2,0xCF,0x10,0x00,0x8E,0xE1,0x10,0x00,0x80,0xE0,0x10,0x00, +0x28,0xE1,0x10,0x00,0xCA,0x52,0x10,0x00,0xB2,0xDD,0x10,0x00,0x90,0xD8,0x10,0x00,0x92,0xDB,0x10,0x00,0x80,0xDC,0x10,0x00,0x1A,0xE3,0x10,0x00,0x86,0xDD,0x10,0x00, +0xF4,0xDB,0x10,0x00,0x9A,0xE5,0x10,0x00,0xDC,0xCC,0x10,0x00,0x02,0xCD,0x10,0x00,0x44,0xCD,0x10,0x00,0x1A,0xCD,0x10,0x00,0x92,0xCD,0x10,0x00,0xCE,0xCD,0x10,0x00, @@ -12215,13 +12024,13 @@ index 000000000000..b9661763dbcc +0x56,0x85,0xBE,0xC6,0x02,0x97,0xD2,0x57,0x93,0x75,0x05,0xF8,0xB3,0xE5,0x95,0x01,0x03,0x27,0x0A,0x00,0xFD,0x8D,0xB3,0xE5,0x85,0x01,0x56,0x85,0x02,0x97,0xB6,0x47, +0xFD,0x17,0xE1,0xF3,0x83,0xA7,0x4D,0x42,0x13,0x05,0x20,0x03,0x82,0x97,0x42,0x47,0x83,0x27,0x49,0xC4,0x01,0xE7,0x13,0xD7,0xF7,0x01,0x3A,0xD0,0x37,0x07,0x00,0x80, +0xD9,0x8F,0x23,0x22,0xF9,0xC4,0x83,0x27,0x49,0xC4,0x7D,0x57,0x63,0x0F,0xEB,0x26,0xC1,0x83,0x09,0x67,0x85,0x8B,0x13,0x07,0x07,0x71,0xFD,0x56,0x95,0xE3,0x83,0x27, -+0x49,0xC4,0x63,0x06,0xDB,0x26,0xC1,0x83,0x7D,0x17,0x85,0x8B,0x65,0xFB,0x89,0x65,0x93,0x85,0x05,0x71,0x17,0xE5,0x6E,0x00,0x13,0x05,0x85,0x77,0xEF,0xC0,0x20,0x7A, ++0x49,0xC4,0x63,0x06,0xDB,0x26,0xC1,0x83,0x7D,0x17,0x85,0x8B,0x65,0xFB,0x89,0x65,0x93,0x85,0x05,0x71,0x17,0xE5,0x6E,0x00,0x13,0x05,0x45,0x7A,0xEF,0xC0,0x00,0x7E, +0x83,0xA7,0x4D,0x42,0x15,0x45,0x82,0x97,0x83,0x27,0x49,0xC4,0x03,0x27,0x49,0xD6,0x03,0x26,0x89,0xD6,0x93,0x15,0x27,0x00,0xB2,0x86,0x63,0xD5,0x05,0x00,0xB7,0x05, +0x00,0xC0,0x2E,0x97,0x93,0x15,0x26,0x00,0x63,0xD5,0x05,0x00,0xB7,0x06,0x00,0xC0,0xB2,0x96,0x93,0xD9,0x87,0x00,0x13,0xF4,0xF7,0x07,0x83,0x27,0x49,0xC4,0x7D,0x1B, +0x93,0xF9,0xF9,0x07,0x86,0x07,0x85,0x83,0x23,0x22,0xF9,0xC4,0xF9,0x57,0x63,0x1A,0xFB,0x14,0x93,0x55,0x37,0x41,0x7D,0x87,0x33,0x4A,0xB7,0x00,0x13,0xD9,0x36,0x41, +0x33,0x0A,0xEA,0x40,0x23,0x20,0xBD,0x00,0x23,0x22,0x2D,0x01,0x23,0x24,0x8D,0x00,0x23,0x26,0x3D,0x01,0x39,0x47,0x63,0x49,0x47,0x01,0xFD,0x86,0xB3,0xC7,0x26,0x01, -+0xB3,0x86,0xD7,0x40,0x63,0x55,0xD7,0x02,0xC2,0x05,0xB3,0xE5,0x25,0x01,0x17,0xE5,0x6E,0x00,0x13,0x05,0xA5,0x6C,0xEF,0xC0,0x80,0x70,0x93,0x15,0x04,0x01,0xB3,0xE5, -+0x35,0x01,0x17,0xE5,0x6E,0x00,0x13,0x05,0x65,0x6B,0xEF,0xC0,0x40,0x6F,0x83,0xA7,0x8D,0x7B,0x82,0x97,0xB9,0x47,0x63,0xCE,0x47,0x19,0x13,0x57,0xF9,0x41,0x33,0x49, ++0xB3,0x86,0xD7,0x40,0x63,0x55,0xD7,0x02,0xC2,0x05,0xB3,0xE5,0x25,0x01,0x17,0xE5,0x6E,0x00,0x13,0x05,0x65,0x6F,0xEF,0xC0,0x60,0x74,0x93,0x15,0x04,0x01,0xB3,0xE5, ++0x35,0x01,0x17,0xE5,0x6E,0x00,0x13,0x05,0x25,0x6E,0xEF,0xC0,0x20,0x73,0x83,0xA7,0x8D,0x7B,0x82,0x97,0xB9,0x47,0x63,0xCE,0x47,0x19,0x13,0x57,0xF9,0x41,0x33,0x49, +0x27,0x01,0x33,0x09,0xE9,0x40,0x63,0xC6,0x27,0x19,0x17,0xB4,0x6E,0x00,0x13,0x04,0xA4,0x0F,0x63,0x82,0x0B,0x1A,0x9C,0x40,0x05,0x69,0x13,0x05,0x89,0xC0,0x82,0x97, +0x96,0x47,0x93,0x95,0x87,0x00,0xC1,0x77,0x13,0x87,0xF7,0x0F,0x79,0x8D,0x62,0x57,0x4D,0x8D,0x93,0x84,0xF7,0xFF,0x1C,0x40,0x93,0x15,0x07,0x01,0x65,0x8D,0xC9,0x8D, +0x13,0x05,0x89,0xC0,0x82,0x97,0x82,0x57,0xB7,0xF6,0xA0,0x00,0x03,0xA7,0x46,0xC4,0x93,0x95,0xF7,0x01,0xB7,0x07,0x00,0x80,0x13,0xC6,0xF7,0xFF,0x71,0x8F,0x4D,0x8F, @@ -12234,7 +12043,7 @@ index 000000000000..b9661763dbcc +0xF4,0x00,0xB3,0x99,0xF9,0x00,0xC2,0x57,0x93,0xCA,0xFA,0xFF,0x95,0xEF,0x93,0x87,0x0C,0xCB,0xE2,0x97,0x3E,0x85,0xBE,0xC6,0x02,0x97,0xB6,0x47,0x03,0x27,0x0A,0x00, +0xB3,0x75,0x55,0x01,0xC1,0x8D,0x3E,0x85,0x02,0x97,0x93,0x8C,0x8C,0xCC,0x9C,0x40,0x66,0x9C,0x62,0x85,0x82,0x97,0x83,0x27,0x0A,0x00,0xB3,0x75,0x55,0x01,0xB3,0xE5, +0x35,0x01,0x62,0x85,0x82,0x97,0xBD,0xBB,0x93,0x87,0xCC,0xCB,0xE2,0x97,0x3E,0x85,0xBE,0xC6,0x02,0x97,0xB6,0x47,0x03,0x27,0x0A,0x00,0xB3,0x75,0x55,0x01,0xC1,0x8D, -+0x3E,0x85,0x02,0x97,0x93,0x8C,0x4C,0xCD,0xD9,0xB7,0xE1,0x83,0x59,0xB3,0xE1,0x83,0x61,0xBB,0xF2,0x55,0x17,0xE5,0x6E,0x00,0x13,0x05,0x45,0x50,0xEF,0xC0,0x20,0x54, ++0x3E,0x85,0x02,0x97,0x93,0x8C,0x4C,0xCD,0xD9,0xB7,0xE1,0x83,0x59,0xB3,0xE1,0x83,0x61,0xBB,0xF2,0x55,0x17,0xE5,0x6E,0x00,0x13,0x05,0x05,0x53,0xEF,0xC0,0x00,0x58, +0xB2,0x47,0xFD,0x17,0x93,0xF7,0xF7,0x0F,0x3E,0xC6,0x85,0x47,0x3E,0xC8,0xB2,0x47,0xE3,0x8D,0x07,0xE4,0x49,0xB9,0x9C,0x40,0x05,0x69,0x13,0x05,0xC9,0xD6,0x82,0x97, +0x92,0x57,0x93,0x95,0xB7,0x00,0xFD,0x77,0x93,0x87,0xF7,0x7F,0x7D,0x8D,0x1C,0x40,0xC9,0x8D,0x13,0x05,0xC9,0xD6,0x82,0x97,0x3D,0xBD,0x51,0x71,0xA2,0xD5,0xCE,0xCF, +0xD2,0xCD,0xDA,0xC9,0xDE,0xC7,0x86,0xD7,0xA6,0xD3,0xCA,0xD1,0xD6,0xCB,0xE2,0xC5,0xE6,0xC3,0xEA,0xC1,0x6E,0xDF,0x02,0xC2,0x02,0xC4,0x02,0xC6,0x02,0xC8,0x02,0xCA, @@ -12308,7 +12117,7 @@ index 000000000000..b9661763dbcc +0xB3,0xF4,0x94,0x01,0xDD,0x8C,0x81,0x77,0x93,0x87,0x27,0x0E,0x33,0x7D,0xF5,0x00,0xC9,0x67,0x93,0x87,0x57,0x40,0x33,0x6D,0xFD,0x00,0x83,0x27,0x0C,0x00,0xEA,0x85, +0x13,0x85,0x8A,0xC0,0x82,0x97,0x83,0xA7,0x0D,0x00,0x13,0x85,0x8A,0xCE,0xB7,0x0C,0x00,0x80,0x82,0x97,0x83,0x27,0x0C,0x00,0x93,0xCC,0xFC,0xFF,0xB3,0x75,0x95,0x01, +0x13,0x5A,0xF5,0x01,0x13,0x85,0x8A,0xCE,0x82,0x97,0x83,0xA7,0x0D,0x00,0x13,0x85,0xCA,0xCE,0x7E,0x0A,0x82,0x97,0x13,0x59,0xF5,0x01,0x7E,0x09,0x83,0x27,0x0C,0x00, -+0xB3,0x75,0x95,0x01,0x01,0xBC,0x13,0x85,0x01,0x7C,0xEF,0xB0,0x50,0x41,0x35,0xBE,0x31,0x71,0x26,0xDB,0x97,0xA4,0x6E,0x00,0x93,0x84,0x44,0x63,0x9C,0x40,0x06,0xDF, ++0xB3,0x75,0x95,0x01,0x01,0xBC,0x13,0x85,0x01,0x7C,0xEF,0xB0,0x30,0x45,0x35,0xBE,0x31,0x71,0x26,0xDB,0x97,0xA4,0x6E,0x00,0x93,0x84,0x44,0x63,0x9C,0x40,0x06,0xDF, +0x22,0xDD,0x4A,0xD9,0x4E,0xD7,0x52,0xD5,0x56,0xD3,0x5A,0xD1,0x5E,0xCF,0x62,0xCD,0x66,0xCB,0x6A,0xC9,0x6E,0xC7,0xAA,0xC2,0x13,0x05,0x80,0x05,0xAE,0x8B,0x82,0x97, +0x17,0xA4,0x6E,0x00,0x13,0x04,0x44,0x60,0x93,0x77,0x15,0x00,0x3E,0xC6,0x1C,0x40,0x93,0x65,0x15,0x00,0x13,0x05,0x80,0x05,0x82,0x97,0x9C,0x40,0x13,0x05,0x00,0x09, +0x05,0x69,0x82,0x97,0x93,0x17,0x05,0x01,0xC1,0x83,0x3E,0xDE,0x93,0x65,0x85,0x23,0xC1,0x77,0x7D,0x8D,0xC2,0x05,0x1C,0x40,0xC1,0x81,0xC9,0x8D,0x13,0x05,0x00,0x09, @@ -12399,7 +12208,7 @@ index 000000000000..b9661763dbcc +0xC7,0x42,0x13,0x18,0x85,0x00,0xB3,0x76,0xF5,0x00,0xB3,0xE6,0x06,0x01,0xED,0x8E,0x13,0x18,0x05,0x01,0xB3,0xE6,0x06,0x01,0x62,0x05,0xF1,0x8E,0xC9,0x8E,0x23,0x26, +0xD7,0x42,0x03,0x45,0x04,0x1A,0x83,0x26,0x07,0x43,0x13,0x18,0x85,0x00,0xB3,0x76,0xF5,0x00,0xB3,0xE6,0x06,0x01,0xED,0x8E,0x13,0x18,0x05,0x01,0xB3,0xE6,0x06,0x01, +0x62,0x05,0xF1,0x8E,0xC9,0x8E,0x23,0x28,0xD7,0x42,0x83,0x26,0x47,0x43,0x83,0x46,0x04,0x1A,0x13,0x95,0x86,0x00,0xF5,0x8F,0xC9,0x8F,0xED,0x8F,0x13,0x95,0x06,0x01, -+0xC9,0x8F,0xE2,0x06,0xF1,0x8F,0xD5,0x8F,0x23,0x2A,0xF7,0x42,0x97,0xC6,0x6E,0x00,0x83,0xC6,0x76,0xA8,0x93,0x07,0xB0,0x02,0x17,0xC6,0x6E,0x00,0x13,0x06,0x06,0xA9, ++0xC9,0x8F,0xE2,0x06,0xF1,0x8F,0xD5,0x8F,0x23,0x2A,0xF7,0x42,0x97,0xC6,0x6E,0x00,0x83,0xC6,0x76,0xA8,0x93,0x07,0xB0,0x02,0x17,0xC6,0x6E,0x00,0x13,0x06,0x86,0xAA, +0x13,0x07,0x90,0x03,0xB3,0x85,0xC7,0x00,0x83,0xC5,0x05,0x00,0x63,0x9F,0xD5,0x2A,0xD6,0x97,0x83,0xC6,0xA7,0x0C,0x12,0x0A,0x56,0x9A,0x03,0x47,0x6A,0x00,0x93,0x07, +0x40,0x06,0x97,0xC8,0x6E,0x00,0x83,0xC8,0x88,0xA5,0x33,0x07,0xD7,0x02,0x17,0xC8,0x6E,0x00,0x03,0x48,0xD8,0xA4,0x13,0x96,0x08,0x01,0x93,0x15,0x08,0x01,0x17,0xC5, +0x6E,0x00,0x03,0x45,0xB5,0xA3,0x41,0x82,0xC1,0x81,0x33,0x47,0xF7,0x02,0x33,0x07,0x27,0x03,0x33,0x47,0xF7,0x02,0x85,0x47,0x42,0x07,0x41,0x83,0x63,0x1F,0xF5,0x00, @@ -12464,8 +12273,8 @@ index 000000000000..b9661763dbcc +0xD7,0x01,0x55,0x8F,0xB7,0x06,0x00,0x80,0x55,0x8F,0x23,0xAA,0xE7,0x4A,0x83,0xA6,0x87,0x4B,0x13,0xD3,0xC8,0x00,0x93,0x7D,0xF3,0x0F,0xC1,0x74,0x93,0xF6,0x06,0xF0, +0x93,0x8E,0xF4,0x0F,0x13,0xFE,0xF8,0x0F,0xB3,0xE6,0xB6,0x01,0x93,0xF8,0xF8,0x0F,0xA2,0x08,0xB3,0xF6,0xD6,0x01,0xB3,0xE6,0x16,0x01,0x23,0xAC,0xD7,0x4A,0x83,0x26, +0x86,0x7B,0x23,0x24,0xCB,0x01,0x23,0x20,0xBB,0x00,0x23,0x22,0xAB,0x00,0x23,0x26,0xBB,0x01,0x72,0xD2,0x2E,0xD6,0x2A,0xD4,0x82,0x96,0xB2,0x55,0x22,0x55,0x93,0xFC, -+0x8C,0x23,0xC2,0x05,0xC9,0x8D,0x13,0x85,0x81,0x7E,0xEF,0xA0,0x50,0x09,0x12,0x5E,0x17,0xB5,0x6E,0x00,0x13,0x05,0xC5,0xAA,0x05,0x6B,0x93,0x15,0x0E,0x01,0xB3,0xE5, -+0xB5,0x01,0xEF,0xA0,0xD0,0x07,0x14,0x40,0x13,0x05,0x80,0x05,0x97,0x9D,0x6E,0x00,0x93,0x8D,0x8D,0x29,0x82,0x96,0x92,0x47,0x03,0xA6,0x0D,0x00,0x93,0x75,0xE5,0xFF, ++0x8C,0x23,0xC2,0x05,0xC9,0x8D,0x13,0x85,0x81,0x7E,0xEF,0xA0,0x30,0x0D,0x12,0x5E,0x17,0xB5,0x6E,0x00,0x13,0x05,0xC5,0xAA,0x05,0x6B,0x93,0x15,0x0E,0x01,0xB3,0xE5, ++0xB5,0x01,0xEF,0xA0,0xB0,0x0B,0x14,0x40,0x13,0x05,0x80,0x05,0x97,0x9D,0x6E,0x00,0x93,0x8D,0x8D,0x29,0x82,0x96,0x92,0x47,0x03,0xA6,0x0D,0x00,0x93,0x75,0xE5,0xFF, +0xDD,0x8D,0x13,0x05,0x80,0x05,0x02,0x96,0x10,0x40,0x13,0x05,0x00,0x09,0xA2,0x09,0x02,0x96,0x93,0x75,0x75,0xDC,0xB3,0xEC,0x95,0x01,0x03,0xA6,0x0D,0x00,0xC2,0x0C, +0xB3,0x75,0x95,0x00,0x93,0xDC,0x0C,0x01,0xB3,0xE5,0x95,0x01,0x13,0x05,0x00,0x09,0x02,0x96,0x10,0x40,0x13,0x05,0x8B,0x81,0x93,0xFB,0xCB,0x01,0x02,0x96,0xB7,0x45, +0xE0,0xFF,0xDD,0x15,0x6D,0x8D,0xB7,0xC5,0x1F,0x00,0x03,0xA6,0x0D,0x00,0xA1,0x05,0xB3,0xF5,0xBA,0x00,0xC9,0x8D,0x13,0x05,0x8B,0x81,0x02,0x96,0x10,0x40,0x13,0x05, @@ -12480,7 +12289,7 @@ index 000000000000..b9661763dbcc +0xE2,0x46,0xDA,0x44,0x33,0x77,0x37,0x01,0xC2,0x06,0x55,0x8F,0x82,0x56,0x22,0x07,0x21,0x83,0xE2,0x06,0x55,0x8F,0x23,0xAC,0xE7,0x4A,0x03,0xA7,0x87,0x5B,0xF2,0x46, +0xBA,0x49,0x13,0x77,0x07,0xF0,0x55,0x8F,0x23,0xAC,0xE7,0x5A,0x83,0x27,0x88,0xC3,0x2A,0x4A,0x9A,0x4A,0xC1,0x9B,0xB3,0xE7,0x27,0x01,0x23,0x2C,0xF8,0xC2,0x4A,0x49, +0x0A,0x4B,0xF6,0x5B,0x66,0x5C,0xD6,0x5C,0x46,0x5D,0xB6,0x5D,0x0D,0x61,0x82,0x80,0x81,0x77,0x93,0x87,0xF7,0x0F,0x33,0x7A,0xF5,0x00,0xE5,0x67,0x93,0x87,0x07,0x90, -+0x03,0x27,0x0D,0x00,0x33,0x6A,0xFA,0x00,0xD2,0x85,0x13,0x85,0x84,0xC0,0x02,0x97,0x05,0xB6,0x13,0x85,0x41,0x7D,0xEF,0xA0,0x80,0x68,0x17,0xD6,0xFF,0xFF,0x13,0x06, ++0x03,0x27,0x0D,0x00,0x33,0x6A,0xFA,0x00,0xD2,0x85,0x13,0x85,0x84,0xC0,0x02,0x97,0x05,0xB6,0x13,0x85,0x41,0x7D,0xEF,0xA0,0x60,0x6C,0x17,0xD6,0xFF,0xFF,0x13,0x06, +0x66,0x88,0xB1,0xB3,0x6F,0x30,0x80,0x20,0x5D,0x71,0xA6,0xC2,0x97,0x94,0x6E,0x00,0x93,0x84,0xC4,0x09,0x9C,0x40,0x86,0xC6,0xA2,0xC4,0xCA,0xC0,0x4E,0xDE,0x52,0xDC, +0x2A,0x8A,0x13,0x05,0x80,0x05,0x17,0x94,0x6E,0x00,0x13,0x04,0xE4,0x07,0xAE,0x89,0x82,0x97,0x1C,0x40,0x93,0x75,0xE5,0xF8,0x93,0xE5,0x15,0x02,0x13,0x05,0x80,0x05, +0x82,0x97,0x9C,0x40,0x13,0x05,0x00,0x09,0x05,0x69,0x82,0x97,0x93,0x65,0x05,0x22,0xC1,0x77,0x7D,0x8D,0xC2,0x05,0x1C,0x40,0xC1,0x81,0xC9,0x8D,0x13,0x05,0x00,0x09, @@ -12514,23 +12323,23 @@ index 000000000000..b9661763dbcc +0x93,0x77,0xF5,0x0F,0x3E,0xD4,0x93,0x65,0xC5,0x01,0x1C,0x40,0x13,0x75,0x05,0xF0,0x93,0xF5,0xF5,0x0F,0xC9,0x8D,0x13,0x05,0x80,0x07,0x82,0x97,0x83,0xA7,0x0C,0x4F, +0x37,0xF9,0xA0,0x00,0x93,0xD9,0x89,0x00,0x13,0xD7,0x87,0x01,0x13,0x67,0x57,0x09,0x62,0x07,0xB3,0xF7,0xA7,0x01,0xD9,0x8F,0x23,0xA8,0xFC,0x4E,0x83,0x27,0xC9,0x82, +0x93,0xF9,0xF9,0x0F,0xEC,0x00,0xB9,0x9B,0x93,0xE7,0x07,0x01,0x23,0x26,0xF9,0x82,0x85,0x47,0xBE,0xD2,0x23,0x06,0xF1,0x06,0x97,0xC7,0xFF,0xFF,0x93,0x87,0x87,0x46, -+0x83,0xA7,0x47,0x7C,0xCE,0xD4,0xE8,0x08,0x82,0xCE,0x82,0xD0,0x82,0x97,0xB6,0x4B,0x46,0x4C,0x17,0xC5,0x6E,0x00,0x13,0x05,0xA5,0x24,0x93,0x95,0x0B,0x01,0xB3,0xE5, -+0x85,0x01,0xEF,0xA0,0xC0,0x23,0x83,0xAD,0xCC,0x40,0xB7,0x07,0x00,0x5E,0x37,0x07,0x20,0xA0,0xB3,0xF7,0xFD,0x00,0xD9,0x8F,0x23,0xA6,0xFC,0x40,0x83,0xA7,0x0C,0x41, ++0x83,0xA7,0x47,0x7C,0xCE,0xD4,0xE8,0x08,0x82,0xCE,0x82,0xD0,0x82,0x97,0xB6,0x4B,0x46,0x4C,0x17,0xC5,0x6E,0x00,0x13,0x05,0x65,0x27,0x93,0x95,0x0B,0x01,0xB3,0xE5, ++0x85,0x01,0xEF,0xA0,0xA0,0x27,0x83,0xAD,0xCC,0x40,0xB7,0x07,0x00,0x5E,0x37,0x07,0x20,0xA0,0xB3,0xF7,0xFD,0x00,0xD9,0x8F,0x23,0xA6,0xFC,0x40,0x83,0xA7,0x0C,0x41, +0xB7,0xF9,0xA0,0x00,0x13,0xF7,0x37,0x00,0xF1,0x9B,0x3A,0xC8,0x93,0xE7,0x17,0x00,0x23,0xA8,0xFC,0x40,0x83,0x27,0x09,0xD0,0x37,0x07,0x00,0xFF,0xF9,0x8F,0x93,0xE7, +0x07,0x01,0x23,0x20,0xF9,0xD0,0x83,0x27,0x49,0xD0,0x61,0x77,0xF9,0x8F,0x33,0xEB,0x67,0x01,0xB7,0x47,0x0F,0x00,0x23,0x22,0x69,0xD1,0x93,0x87,0x07,0x24,0x6A,0xD8, +0x0D,0x4B,0x01,0x47,0x13,0x09,0x40,0x03,0x37,0x0D,0x00,0x80,0x3E,0xDA,0x83,0xA7,0x8C,0x4B,0x09,0xE7,0x13,0xDA,0x07,0x01,0x13,0x7A,0x1A,0x00,0x41,0x67,0xD9,0x8F, +0x42,0x57,0x93,0x16,0x89,0x01,0x01,0x45,0x7D,0x8F,0xB3,0x67,0xD7,0x00,0x23,0xAC,0xFC,0x4A,0xEF,0xC0,0xDF,0xF8,0x83,0xA7,0x49,0xC4,0x81,0x45,0xB3,0xE7,0xA7,0x01, +0x23,0xA2,0xF9,0xC4,0x83,0xA7,0x49,0xC4,0xC1,0x83,0x85,0x8B,0x63,0x94,0x07,0x2C,0x83,0xA7,0x49,0xC4,0x52,0x57,0x85,0x05,0xC1,0x83,0x85,0x8B,0xE3,0x98,0xE5,0xFE, +0x03,0xA5,0x49,0xD6,0x83,0xA6,0x89,0xD6,0x93,0x17,0x25,0x00,0x36,0x87,0x63,0xD5,0x07,0x00,0xB7,0x07,0x00,0xC0,0x3E,0x95,0x13,0x96,0x26,0x00,0x93,0x57,0x35,0x41, -+0x63,0x55,0x06,0x00,0x37,0x07,0x00,0xC0,0x36,0x97,0x4D,0x87,0x93,0x95,0x07,0x01,0xD9,0x8D,0x17,0xC5,0x6E,0x00,0x13,0x05,0xA5,0x14,0x3E,0xDE,0x3A,0xDC,0xEF,0xA0, -+0x00,0x14,0xF2,0x57,0x62,0x57,0x33,0x85,0x77,0x41,0x33,0x07,0x87,0x41,0x33,0x07,0xE7,0x02,0x33,0x05,0xA5,0x02,0x3A,0x95,0xEF,0x30,0xC0,0x50,0x83,0xA7,0x49,0xC4, ++0x63,0x55,0x06,0x00,0x37,0x07,0x00,0xC0,0x36,0x97,0x4D,0x87,0x93,0x95,0x07,0x01,0xD9,0x8D,0x17,0xC5,0x6E,0x00,0x13,0x05,0x65,0x17,0x3E,0xDE,0x3A,0xDC,0xEF,0xA0, ++0xE0,0x17,0xF2,0x57,0x62,0x57,0x33,0x85,0x77,0x41,0x33,0x07,0x87,0x41,0x33,0x07,0xE7,0x02,0x33,0x05,0xA5,0x02,0x3A,0x95,0xEF,0x30,0xC0,0x50,0x83,0xA7,0x49,0xC4, +0x37,0x07,0x00,0x80,0x13,0x47,0xF7,0xFF,0xF9,0x8F,0x2A,0xDC,0x23,0xA2,0xF9,0xC4,0xEF,0xC0,0x3F,0xF2,0x62,0x55,0x52,0x47,0x93,0x07,0x75,0xF2,0x92,0x07,0x13,0x05, -+0x40,0x06,0xB3,0x87,0x57,0x41,0xB3,0x87,0xA7,0x02,0x17,0xA5,0x6E,0x00,0x13,0x05,0x65,0x33,0xB3,0xC7,0xE7,0x02,0xBE,0x85,0x3E,0xDC,0xEF,0xA0,0x40,0x0E,0xE2,0x57, ++0x40,0x06,0xB3,0x87,0x57,0x41,0xB3,0x87,0xA7,0x02,0x17,0xA5,0x6E,0x00,0x13,0x05,0x65,0x33,0xB3,0xC7,0xE7,0x02,0xBE,0x85,0x3E,0xDC,0xEF,0xA0,0x20,0x12,0xE2,0x57, +0x13,0x05,0x80,0x70,0xB3,0x07,0xF5,0x40,0x93,0xD6,0xF7,0x41,0x33,0xC7,0xF6,0x00,0x15,0x8F,0x93,0x06,0x20,0x03,0x63,0xDB,0xE6,0x02,0x9E,0x07,0x13,0x05,0x80,0x0C, +0x33,0xC5,0xA7,0x02,0xEF,0x30,0x80,0x57,0x93,0x07,0x00,0x40,0x33,0x45,0xF5,0x02,0x37,0x07,0x04,0x00,0x33,0x05,0x25,0x03,0x13,0x09,0xF0,0x0F,0x63,0x54,0xE5,0x00, +0x33,0x49,0xF5,0x02,0x7D,0x1B,0x05,0x47,0xE3,0x13,0x0B,0xEC,0x93,0x07,0x40,0x06,0x93,0x05,0x60,0x04,0x33,0x09,0xF9,0x02,0x85,0x67,0x93,0x87,0x77,0xE3,0x63,0xD6, +0x27,0x01,0x93,0x05,0x40,0x03,0xB3,0x45,0xB9,0x02,0x97,0xB7,0x6E,0x00,0x83,0xC7,0xB7,0xA4,0x05,0x47,0x63,0x97,0xE7,0x1A,0x97,0xB7,0x6E,0x00,0x83,0xC7,0xE7,0xA3, -+0x63,0xD3,0xB7,0x00,0xBE,0x85,0xB2,0x57,0x17,0xA5,0x6E,0x00,0x13,0x05,0x45,0x2A,0xC1,0x79,0x8C,0xC7,0xEF,0xA0,0xA0,0x04,0x9C,0x40,0x13,0x05,0x80,0x05,0x05,0x69, ++0x63,0xD3,0xB7,0x00,0xBE,0x85,0xB2,0x57,0x17,0xA5,0x6E,0x00,0x13,0x05,0x45,0x2A,0xC1,0x79,0x8C,0xC7,0xEF,0xA0,0x80,0x08,0x9C,0x40,0x13,0x05,0x80,0x05,0x05,0x69, +0x82,0x97,0x82,0x57,0x13,0x75,0xE5,0xF8,0x42,0x0A,0x93,0xF5,0x17,0x07,0x1C,0x40,0xC9,0x8D,0x13,0x05,0x80,0x05,0x82,0x97,0x9C,0x40,0x13,0x05,0x00,0x09,0x82,0x97, +0x72,0x47,0x93,0x77,0x75,0xDC,0x93,0x75,0x87,0x23,0xCD,0x8F,0x18,0x40,0xC2,0x07,0xC1,0x83,0xB3,0x75,0x35,0x01,0xDD,0x8D,0x13,0x05,0x00,0x09,0x02,0x97,0x9C,0x40, +0x13,0x05,0x49,0x81,0x82,0x97,0x82,0x47,0x93,0x95,0xA7,0x01,0xB7,0x07,0x00,0xFC,0xFD,0x17,0x7D,0x8D,0x1C,0x40,0xC9,0x8D,0x13,0x05,0x49,0x81,0x82,0x97,0x9C,0x40, @@ -12542,7 +12351,7 @@ index 000000000000..b9661763dbcc +0x80,0x07,0x82,0x97,0xA2,0x57,0x0D,0x99,0x93,0xF5,0xC7,0x01,0x1C,0x40,0xC9,0x8D,0x13,0x05,0x80,0x07,0x82,0x97,0xB7,0xE7,0xA0,0x00,0x03,0xA7,0x87,0x4B,0xB7,0x06, +0x00,0x5E,0xB3,0x79,0x37,0x01,0x33,0xEA,0x49,0x01,0x23,0xAC,0x47,0x4B,0x03,0xA7,0xC7,0x40,0x75,0x8F,0xB7,0x06,0x00,0xA2,0xFD,0x16,0xB3,0xF6,0xDD,0x00,0x55,0x8F, +0x23,0xA6,0xE7,0x40,0x03,0xA7,0x07,0x41,0xC2,0x46,0x71,0x9B,0x55,0x8F,0x23,0xA8,0xE7,0x40,0xEF,0xC0,0x1F,0xD0,0xBA,0x50,0x2A,0x54,0x9A,0x54,0x0A,0x59,0xFA,0x49, -+0x6A,0x4A,0xDA,0x4A,0x4A,0x4B,0xBA,0x4B,0x2A,0x4C,0x9A,0x4C,0x0A,0x4D,0xF6,0x5D,0x4D,0x61,0x82,0x80,0x17,0xA5,0x6E,0x00,0x13,0x05,0x85,0x0F,0xEF,0x90,0x30,0x6C, ++0x6A,0x4A,0xDA,0x4A,0x4A,0x4B,0xBA,0x4B,0x2A,0x4C,0x9A,0x4C,0x0A,0x4D,0xF6,0x5D,0x4D,0x61,0x82,0x80,0x17,0xA5,0x6E,0x00,0x13,0x05,0x85,0x0F,0xEF,0x90,0x10,0x70, +0x81,0xB3,0x93,0x07,0x40,0x06,0xE3,0xD0,0xB7,0xE6,0x97,0xA7,0x6E,0x00,0x93,0x87,0x67,0x78,0x83,0xC7,0x77,0x01,0xFD,0x17,0x93,0xF7,0xF7,0x0F,0x63,0x79,0xF7,0x00, +0x93,0x07,0xE0,0x06,0xE3,0xD1,0xB7,0xE4,0x93,0x05,0xE0,0x06,0x2D,0xBD,0x93,0x05,0x40,0x06,0x15,0xBD,0x5C,0x41,0x75,0x71,0x22,0xC5,0x26,0xC3,0x4A,0xC1,0xEA,0xD0, +0x06,0xC7,0xCE,0xDE,0xD2,0xDC,0xD6,0xDA,0xDA,0xD8,0xDE,0xD6,0xE2,0xD4,0xE6,0xD2,0xEE,0xCE,0x3E,0xD8,0x1C,0x45,0x83,0x4B,0x05,0x01,0x02,0xCA,0x02,0xCC,0x02,0xCE, @@ -12564,13 +12373,13 @@ index 000000000000..b9661763dbcc +0x98,0x40,0x56,0x85,0xBE,0xC6,0x02,0x97,0xD2,0x57,0x93,0x75,0x05,0xF8,0xB3,0xE5,0x95,0x01,0x03,0x27,0x0A,0x00,0xFD,0x8D,0xB3,0xE5,0x85,0x01,0x56,0x85,0x02,0x97, +0xB6,0x47,0xFD,0x17,0xE1,0xF3,0x83,0xA7,0x4D,0x42,0x13,0x05,0x20,0x03,0x82,0x97,0x42,0x47,0x83,0x27,0x49,0xC4,0x01,0xE7,0x13,0xD7,0xF7,0x01,0x3A,0xD0,0x37,0x07, +0x00,0x80,0xD9,0x8F,0x23,0x22,0xF9,0xC4,0x83,0x27,0x49,0xC4,0x7D,0x57,0x63,0x0F,0xEB,0x26,0xC1,0x83,0x09,0x67,0x85,0x8B,0x13,0x07,0x07,0x71,0xFD,0x56,0x95,0xE3, -+0x83,0x27,0x49,0xC4,0x63,0x06,0xDB,0x26,0xC1,0x83,0x7D,0x17,0x85,0x8B,0x65,0xFB,0x89,0x65,0x93,0x85,0x05,0x71,0x17,0xC5,0x6E,0x00,0x13,0x05,0x25,0xC3,0xEF,0x90, -+0x10,0x40,0x83,0xA7,0x4D,0x42,0x15,0x45,0x82,0x97,0x83,0x27,0x49,0xC4,0x03,0x27,0x49,0xD6,0x03,0x26,0x89,0xD6,0x93,0x15,0x27,0x00,0xB2,0x86,0x63,0xD5,0x05,0x00, ++0x83,0x27,0x49,0xC4,0x63,0x06,0xDB,0x26,0xC1,0x83,0x7D,0x17,0x85,0x8B,0x65,0xFB,0x89,0x65,0x93,0x85,0x05,0x71,0x17,0xC5,0x6E,0x00,0x13,0x05,0xE5,0xC5,0xEF,0x90, ++0xF0,0x43,0x83,0xA7,0x4D,0x42,0x15,0x45,0x82,0x97,0x83,0x27,0x49,0xC4,0x03,0x27,0x49,0xD6,0x03,0x26,0x89,0xD6,0x93,0x15,0x27,0x00,0xB2,0x86,0x63,0xD5,0x05,0x00, +0xB7,0x05,0x00,0xC0,0x2E,0x97,0x93,0x15,0x26,0x00,0x63,0xD5,0x05,0x00,0xB7,0x06,0x00,0xC0,0xB2,0x96,0x93,0xD9,0x87,0x00,0x13,0xF4,0xF7,0x07,0x83,0x27,0x49,0xC4, +0x7D,0x1B,0x93,0xF9,0xF9,0x07,0x86,0x07,0x85,0x83,0x23,0x22,0xF9,0xC4,0xF9,0x57,0x63,0x1A,0xFB,0x14,0x93,0x55,0x37,0x41,0x7D,0x87,0x33,0x4A,0xB7,0x00,0x13,0xD9, +0x36,0x41,0x33,0x0A,0xEA,0x40,0x23,0x20,0xBD,0x00,0x23,0x22,0x2D,0x01,0x23,0x24,0x8D,0x00,0x23,0x26,0x3D,0x01,0x39,0x47,0x63,0x49,0x47,0x01,0xFD,0x86,0xB3,0xC7, -+0x26,0x01,0xB3,0x86,0xD7,0x40,0x63,0x55,0xD7,0x02,0xC2,0x05,0xB3,0xE5,0x25,0x01,0x17,0xC5,0x6E,0x00,0x13,0x05,0x05,0xB8,0xEF,0x90,0x70,0x36,0x93,0x15,0x04,0x01, -+0xB3,0xE5,0x35,0x01,0x17,0xC5,0x6E,0x00,0x13,0x05,0xC5,0xB6,0xEF,0x90,0x30,0x35,0x83,0xA7,0x8D,0x7B,0x82,0x97,0xB9,0x47,0x63,0xCE,0x47,0x19,0x13,0x57,0xF9,0x41, ++0x26,0x01,0xB3,0x86,0xD7,0x40,0x63,0x55,0xD7,0x02,0xC2,0x05,0xB3,0xE5,0x25,0x01,0x17,0xC5,0x6E,0x00,0x13,0x05,0xC5,0xBA,0xEF,0x90,0x50,0x3A,0x93,0x15,0x04,0x01, ++0xB3,0xE5,0x35,0x01,0x17,0xC5,0x6E,0x00,0x13,0x05,0x85,0xB9,0xEF,0x90,0x10,0x39,0x83,0xA7,0x8D,0x7B,0x82,0x97,0xB9,0x47,0x63,0xCE,0x47,0x19,0x13,0x57,0xF9,0x41, +0x33,0x49,0x27,0x01,0x33,0x09,0xE9,0x40,0x63,0xC6,0x27,0x19,0x17,0x84,0x6E,0x00,0x13,0x04,0x84,0x55,0x63,0x82,0x0B,0x1A,0x9C,0x40,0x05,0x69,0x13,0x05,0x89,0xC0, +0x82,0x97,0x96,0x47,0x93,0x95,0x87,0x00,0xC1,0x77,0x13,0x87,0xF7,0x0F,0x79,0x8D,0x62,0x57,0x4D,0x8D,0x93,0x84,0xF7,0xFF,0x1C,0x40,0x93,0x15,0x07,0x01,0x65,0x8D, +0xC9,0x8D,0x13,0x05,0x89,0xC0,0x82,0x97,0x82,0x57,0xB7,0xF6,0xA0,0x00,0x03,0xA7,0x46,0xC4,0x93,0x95,0xF7,0x01,0xB7,0x07,0x00,0x80,0x13,0xC6,0xF7,0xFF,0x71,0x8F, @@ -12583,15 +12392,15 @@ index 000000000000..b9661763dbcc +0x33,0x14,0xF4,0x00,0xB3,0x99,0xF9,0x00,0xC2,0x57,0x93,0xCA,0xFA,0xFF,0x95,0xEF,0x93,0x87,0x0C,0xC8,0xE2,0x97,0x3E,0x85,0xBE,0xC6,0x02,0x97,0xB6,0x47,0x03,0x27, +0x0A,0x00,0xB3,0x75,0x55,0x01,0xC1,0x8D,0x3E,0x85,0x02,0x97,0x93,0x8C,0x8C,0xC9,0x9C,0x40,0x66,0x9C,0x62,0x85,0x82,0x97,0x83,0x27,0x0A,0x00,0xB3,0x75,0x55,0x01, +0xB3,0xE5,0x35,0x01,0x62,0x85,0x82,0x97,0xBD,0xBB,0x93,0x87,0xCC,0xC8,0xE2,0x97,0x3E,0x85,0xBE,0xC6,0x02,0x97,0xB6,0x47,0x03,0x27,0x0A,0x00,0xB3,0x75,0x55,0x01, -+0xC1,0x8D,0x3E,0x85,0x02,0x97,0x93,0x8C,0x4C,0xCA,0xD9,0xB7,0xE1,0x83,0x59,0xB3,0xE1,0x83,0x61,0xBB,0xF2,0x55,0x17,0xC5,0x6E,0x00,0x13,0x05,0xA5,0x9B,0xEF,0x90, -+0x10,0x1A,0xB2,0x47,0xFD,0x17,0x93,0xF7,0xF7,0x0F,0x3E,0xC6,0x85,0x47,0x3E,0xC8,0xB2,0x47,0xE3,0x8D,0x07,0xE4,0x49,0xB9,0x9C,0x40,0x05,0x69,0x13,0x05,0x89,0xC1, ++0xC1,0x8D,0x3E,0x85,0x02,0x97,0x93,0x8C,0x4C,0xCA,0xD9,0xB7,0xE1,0x83,0x59,0xB3,0xE1,0x83,0x61,0xBB,0xF2,0x55,0x17,0xC5,0x6E,0x00,0x13,0x05,0x65,0x9E,0xEF,0x90, ++0xF0,0x1D,0xB2,0x47,0xFD,0x17,0x93,0xF7,0xF7,0x0F,0x3E,0xC6,0x85,0x47,0x3E,0xC8,0xB2,0x47,0xE3,0x8D,0x07,0xE4,0x49,0xB9,0x9C,0x40,0x05,0x69,0x13,0x05,0x89,0xC1, +0x82,0x97,0x92,0x57,0x13,0x75,0xF5,0xFD,0x93,0x95,0x57,0x00,0x1C,0x40,0xC9,0x8D,0x13,0x05,0x89,0xC1,0x82,0x97,0x89,0xB5,0x01,0x11,0x22,0xCC,0x37,0xF4,0xA0,0x00, +0x83,0x27,0x84,0x80,0x37,0x07,0xF0,0xFF,0x3D,0x07,0x4A,0xC8,0x06,0xCE,0x26,0xCA,0x4E,0xC6,0xF9,0x8F,0x23,0x24,0xF4,0x80,0x83,0x27,0x44,0xD0,0x61,0x77,0x01,0x45, +0xF9,0x8F,0x11,0x67,0xD9,0x8F,0x23,0x22,0xF4,0xD0,0x83,0x27,0x04,0xD0,0x37,0x07,0x00,0xFF,0xF9,0x8F,0x93,0xE7,0x07,0x01,0x23,0x20,0xF4,0xD0,0xEF,0xC0,0x2F,0xF0, +0x83,0x27,0x44,0xC4,0x37,0x07,0x00,0x80,0xB7,0xF6,0xA0,0x00,0x13,0xD9,0xF7,0x01,0xD9,0x8F,0x23,0x22,0xF4,0xC4,0x83,0x27,0x44,0xC4,0x37,0x47,0x0F,0x00,0x13,0x07, +0x07,0x24,0xC1,0x83,0x85,0x8B,0x99,0xE7,0x83,0xA7,0x46,0xC4,0x7D,0x17,0xC1,0x83,0x85,0x8B,0x75,0xFB,0xB7,0xF7,0xA0,0x00,0x03,0xA4,0x47,0xD6,0x83,0xA7,0x87,0xD6, +0x13,0x17,0x24,0x00,0xBE,0x84,0x63,0x55,0x07,0x00,0x37,0x07,0x00,0xC0,0x3A,0x94,0x13,0x97,0x27,0x00,0x4D,0x84,0x63,0x55,0x07,0x00,0xB7,0x04,0x00,0xC0,0xBE,0x94, -+0xCD,0x84,0x93,0x15,0x04,0x01,0xC5,0x8D,0x17,0xC5,0x6E,0x00,0x13,0x05,0x45,0x8F,0xEF,0x90,0xF0,0x0A,0x63,0x52,0x04,0x08,0x33,0x04,0x80,0x40,0x63,0xD3,0x04,0x08, ++0xCD,0x84,0x93,0x15,0x04,0x01,0xC5,0x8D,0x17,0xC5,0x6E,0x00,0x13,0x05,0x05,0x92,0xEF,0x90,0xD0,0x0E,0x63,0x52,0x04,0x08,0x33,0x04,0x80,0x40,0x63,0xD3,0x04,0x08, +0xB3,0x04,0x90,0x40,0xB7,0xF9,0xA0,0x00,0x83,0xA7,0x89,0x80,0x7D,0x77,0x3D,0x07,0x13,0x74,0xF4,0x0F,0xF9,0x8F,0x12,0x04,0x5D,0x8C,0xB7,0x17,0xF0,0xFF,0xFD,0x17, +0x93,0xF4,0xF4,0x0F,0x7D,0x8C,0xB2,0x04,0xC1,0x8C,0x23,0xA4,0x99,0x80,0x83,0xA7,0x49,0xC4,0x37,0x04,0x00,0x80,0x13,0x44,0xF4,0xFF,0xE1,0x8F,0x23,0xA2,0xF9,0xC4, +0x97,0xC7,0xFF,0xFF,0x93,0x87,0x07,0xA6,0x83,0xA7,0x47,0x42,0x13,0x05,0x00,0x7D,0x82,0x97,0xEF,0xC0,0x0F,0xE6,0x83,0xA7,0x49,0xC4,0x13,0x17,0xF9,0x01,0xF2,0x40, @@ -12680,7 +12489,7 @@ index 000000000000..b9661763dbcc +0xE9,0x8D,0x22,0x04,0x93,0x77,0xD5,0x01,0x4D,0x8C,0x5D,0x8C,0x81,0x77,0x93,0x87,0x27,0x0E,0xB3,0x7C,0xF5,0x00,0xC9,0x67,0x93,0x87,0x57,0x10,0x5D,0xB4,0x89,0x47, +0xE3,0x19,0xF9,0xAA,0x83,0x27,0x0D,0x00,0x13,0x85,0x8A,0xC0,0x82,0x97,0x13,0x54,0x85,0x00,0x13,0x74,0xF4,0x0F,0xC1,0x65,0xE9,0x8D,0x22,0x04,0x93,0x77,0xD5,0x01, +0x4D,0x8C,0x5D,0x8C,0x81,0x77,0x93,0x87,0x27,0x0E,0xB3,0x7C,0xF5,0x00,0xC9,0x67,0x93,0x87,0x97,0x31,0xBD,0xB4,0x81,0x49,0x01,0x4A,0x01,0x4B,0x45,0xB4,0x17,0x95, -+0x6E,0x00,0x13,0x05,0xA5,0x1D,0xEF,0x80,0x90,0x59,0x79,0xBE,0x01,0x11,0x22,0xCC,0x26,0xCA,0x97,0x77,0x6E,0x00,0x93,0x87,0x67,0x7B,0x06,0xCE,0x4A,0xC8,0x4E,0xC6, ++0x6E,0x00,0x13,0x05,0xA5,0x1D,0xEF,0x80,0x70,0x5D,0x79,0xBE,0x01,0x11,0x22,0xCC,0x26,0xCA,0x97,0x77,0x6E,0x00,0x93,0x87,0x67,0x7B,0x06,0xCE,0x4A,0xC8,0x4E,0xC6, +0x52,0xC4,0x9C,0x43,0x13,0x74,0xF6,0x00,0x97,0x74,0x6E,0x00,0x93,0x84,0xC4,0x79,0x63,0x13,0x05,0x10,0x13,0x87,0x45,0xF7,0x13,0x0A,0x70,0x02,0xAE,0x89,0x63,0x74, +0xEA,0x0C,0x2A,0x89,0x05,0x65,0x13,0x05,0xC5,0xC1,0x82,0x97,0x93,0x07,0x30,0x0B,0x63,0xD3,0x37,0x03,0x41,0x99,0x41,0x8D,0x9C,0x40,0xAA,0x85,0x05,0x65,0x13,0x05, +0xC5,0xC1,0x82,0x97,0xF2,0x40,0x62,0x44,0x4A,0x85,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x05,0x61,0x82,0x80,0xCD,0x47,0x63,0xC8,0x37,0x01,0x12,0x04,0x13,0x75, @@ -12735,10 +12544,10 @@ index 000000000000..b9661763dbcc +0xC9,0x8D,0x93,0x59,0x05,0x01,0x13,0x85,0x84,0xC0,0x82,0x97,0x1C,0x40,0x13,0x85,0x44,0xCE,0x93,0xF9,0x19,0x00,0x82,0x97,0x83,0x27,0x09,0x00,0xB7,0x05,0x00,0x80, +0xC9,0x8D,0x13,0x5A,0xF5,0x01,0x13,0x85,0x44,0xCE,0x82,0x97,0x1C,0x40,0x13,0x85,0xC4,0xCF,0x13,0x0B,0x80,0x3E,0x82,0x97,0x81,0x45,0x93,0x84,0xC4,0xCF,0x13,0x75, +0x05,0x10,0x49,0xE1,0x1C,0x40,0x26,0x85,0x2E,0xC6,0x82,0x97,0xB2,0x45,0x85,0x05,0xE3,0x97,0x65,0xFF,0x1C,0x40,0x85,0x64,0x13,0x85,0xC4,0xCF,0x82,0x97,0xAA,0x85, -+0x2A,0x8B,0x23,0xA0,0xAA,0x00,0x17,0x95,0x6E,0x00,0x13,0x05,0xA5,0xB1,0xEF,0x80,0x00,0x6B,0x1C,0x40,0x13,0x85,0x84,0xC0,0x7E,0x0A,0x82,0x97,0xC1,0x77,0xFD,0x17, ++0x2A,0x8B,0x23,0xA0,0xAA,0x00,0x17,0x95,0x6E,0x00,0x13,0x05,0xA5,0xB1,0xEF,0x80,0xE0,0x6E,0x1C,0x40,0x13,0x85,0x84,0xC0,0x7E,0x0A,0x82,0x97,0xC1,0x77,0xFD,0x17, +0x7D,0x8D,0x83,0x27,0x09,0x00,0x93,0x95,0x09,0x01,0xC9,0x8D,0x13,0x85,0x84,0xC0,0x82,0x97,0x1C,0x40,0x13,0x85,0x44,0xCE,0x82,0x97,0x93,0x15,0x15,0x00,0x83,0x27, +0x09,0x00,0x85,0x81,0x13,0x85,0x44,0xCE,0xB3,0xE5,0x45,0x01,0x82,0x97,0xB2,0x50,0x22,0x54,0x5A,0x85,0x92,0x54,0x02,0x59,0xF2,0x49,0x62,0x4A,0xD2,0x4A,0x42,0x4B, -+0x45,0x61,0x82,0x80,0x17,0x95,0x6E,0x00,0x13,0x05,0x85,0xAA,0xEF,0x80,0x20,0x65,0x51,0xB7,0x19,0x71,0xA2,0xDC,0xA6,0xDA,0x86,0xDE,0xCA,0xD8,0xCE,0xD6,0xD2,0xD4, ++0x45,0x61,0x82,0x80,0x17,0x95,0x6E,0x00,0x13,0x05,0x85,0xAA,0xEF,0x80,0x00,0x69,0x51,0xB7,0x19,0x71,0xA2,0xDC,0xA6,0xDA,0x86,0xDE,0xCA,0xD8,0xCE,0xD6,0xD2,0xD4, +0xD6,0xD2,0xDA,0xD0,0xDE,0xCE,0xE2,0xCC,0xE6,0xCA,0x85,0x47,0x2A,0x84,0xAE,0x84,0x63,0xF6,0xB7,0x4E,0x93,0x87,0xE5,0xFF,0x13,0xBA,0x17,0x00,0x01,0x49,0x93,0x07, +0x56,0x0D,0x92,0x07,0xA2,0x97,0x97,0x7C,0x6E,0x00,0x93,0x8C,0x2C,0x04,0x83,0xA9,0xC7,0x00,0x83,0xA7,0x0C,0x00,0x85,0x6A,0x13,0x85,0x8A,0xCE,0x36,0xC6,0x32,0xC4, +0x17,0x7C,0x6E,0x00,0x13,0x0C,0x4C,0x02,0x82,0x97,0x83,0x27,0x0C,0x00,0x37,0x0B,0x00,0x80,0x93,0x4B,0xFB,0xFF,0xB3,0x75,0x75,0x01,0x13,0x85,0x8A,0xCE,0x82,0x97, @@ -12791,7 +12600,7 @@ index 000000000000..b9661763dbcc +0xB3,0xE5,0x15,0x01,0x23,0xA6,0xB6,0x42,0x83,0xC8,0x07,0x19,0x83,0xA5,0x06,0x43,0x13,0x93,0x88,0x00,0xB3,0xF5,0xE8,0x00,0xB3,0xE5,0x65,0x00,0xB3,0xF5,0x05,0x01, +0x13,0x93,0x08,0x01,0xB3,0xE5,0x65,0x00,0xE2,0x08,0xE9,0x8D,0xB3,0xE5,0x15,0x01,0x23,0xA8,0xB6,0x42,0x83,0xA5,0x46,0x43,0x83,0xC5,0x07,0x19,0x93,0x98,0x85,0x00, +0x6D,0x8F,0x33,0x67,0x17,0x01,0x33,0x77,0x07,0x01,0x93,0x98,0x05,0x01,0x33,0x67,0x17,0x01,0xE2,0x05,0x69,0x8F,0x4D,0x8F,0x23,0xAA,0xE6,0x42,0x17,0x95,0x6E,0x00, -+0x03,0x45,0x55,0x8A,0x01,0x47,0x97,0x95,0x6E,0x00,0x93,0x85,0x25,0x9A,0x93,0x06,0xB0,0x02,0x33,0x08,0xB7,0x00,0x03,0x48,0x08,0x00,0x63,0x19,0xA8,0x0C,0x97,0x96, ++0x03,0x45,0x55,0x8A,0x01,0x47,0x97,0x95,0x6E,0x00,0x93,0x85,0xA5,0x9B,0x93,0x06,0xB0,0x02,0x33,0x08,0xB7,0x00,0x03,0x48,0x08,0x00,0x63,0x19,0xA8,0x0C,0x97,0x96, +0x6E,0x00,0x93,0x86,0x26,0x87,0x36,0x97,0x03,0x48,0xA7,0x0C,0x97,0x95,0x6E,0x00,0x93,0x85,0x45,0x86,0x81,0x46,0x2E,0x87,0x91,0x48,0x03,0xC3,0x65,0x0C,0x63,0x1D, +0x03,0x0A,0x85,0x06,0x85,0x05,0xE3,0x9A,0x16,0xFF,0x63,0x9F,0x04,0x2C,0xB7,0x16,0x13,0x1A,0xB7,0xE5,0xA0,0x00,0x93,0x86,0xC6,0xD0,0x23,0xAE,0xD5,0x5A,0xB7,0x26, +0x23,0x00,0x93,0x86,0xE6,0x21,0x23,0xA0,0xD5,0x5C,0x83,0xA6,0xC7,0x18,0x83,0xA7,0x87,0x18,0x97,0x98,0x6E,0x00,0x83,0xC8,0xA8,0x92,0xA2,0x06,0x17,0x93,0x6E,0x00, @@ -12834,7 +12643,7 @@ index 000000000000..b9661763dbcc +0xF9,0x75,0x9C,0x40,0x93,0x85,0xF5,0x0F,0xE9,0x8D,0xA2,0x09,0xB3,0xE5,0x35,0x01,0x13,0x05,0x00,0x40,0x82,0x97,0x1C,0x40,0x13,0x05,0x00,0x40,0x82,0x97,0x9C,0x40, +0x93,0x65,0x15,0x00,0x13,0x05,0x00,0x40,0x82,0x97,0x1C,0x40,0x13,0x05,0x80,0x40,0xB7,0x44,0x0F,0x00,0x82,0x97,0x93,0x84,0x04,0x24,0x63,0x48,0x05,0x00,0x1C,0x40, +0x13,0x05,0x80,0x40,0xFD,0x14,0x82,0x97,0xED,0xF8,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x05,0x61,0x82,0x80,0x41,0x75,0x22,0x09,0x13,0x05, -+0xF5,0x0F,0x51,0xB7,0x41,0x11,0x22,0xC4,0x06,0xC6,0x2A,0x84,0x31,0x37,0x22,0x85,0x22,0x44,0xB2,0x40,0x41,0x01,0x6F,0x80,0x00,0x64,0x35,0x71,0xE2,0xDC,0x17,0x6C, ++0xF5,0x0F,0x51,0xB7,0x41,0x11,0x22,0xC4,0x06,0xC6,0x2A,0x84,0x31,0x37,0x22,0x85,0x22,0x44,0xB2,0x40,0x41,0x01,0x6F,0x80,0x80,0x6A,0x35,0x71,0xE2,0xDC,0x17,0x6C, +0x6E,0x00,0x13,0x0C,0xAC,0x46,0x83,0x27,0x0C,0x00,0x06,0xCF,0x22,0xCD,0x26,0xCB,0x4A,0xC9,0x4E,0xC7,0x52,0xC5,0x56,0xC3,0x5A,0xC1,0xDE,0xDE,0xE6,0xDA,0xEA,0xD8, +0xEE,0xD6,0xAA,0x8B,0x71,0x45,0x32,0xC0,0x2E,0x89,0x82,0x97,0x97,0x64,0x6E,0x00,0x93,0x84,0x84,0x43,0x93,0x65,0x85,0x23,0xC1,0x77,0x93,0x1C,0x05,0x01,0xC2,0x05, +0x7D,0x8D,0x9C,0x40,0xC1,0x81,0xC9,0x8D,0x71,0x45,0x82,0x97,0x83,0x27,0x0C,0x00,0x05,0x64,0x13,0x05,0x84,0x80,0x82,0x97,0x02,0x46,0xB7,0x05,0xE4,0xFF,0x13,0x79, @@ -12865,8 +12674,8 @@ index 000000000000..b9661763dbcc +0xE6,0x01,0x33,0x66,0x66,0x00,0x37,0x03,0x00,0x80,0x33,0x66,0x66,0x00,0x23,0xAA,0xC7,0x4A,0x03,0xA6,0x87,0x4B,0x13,0x5E,0xC7,0x00,0x93,0x7D,0xFE,0x0F,0xC1,0x74, +0x13,0x76,0x06,0xF0,0x13,0x83,0xF4,0x0F,0x93,0x7E,0xF7,0x0F,0x33,0x66,0xB6,0x01,0x13,0x77,0xF7,0x0F,0x13,0x1F,0x87,0x00,0x33,0x76,0x66,0x00,0x33,0x66,0xE6,0x01, +0x83,0x26,0x88,0x7B,0x23,0xAC,0xC7,0x4A,0x23,0xA4,0xDB,0x01,0x23,0xA0,0xBB,0x00,0x23,0xA2,0xAB,0x00,0x23,0xA6,0xBB,0x01,0x76,0xD2,0x2E,0xD6,0x2A,0xD4,0x82,0x96, -+0xB2,0x55,0x22,0x55,0x93,0xFC,0x8C,0x23,0xC2,0x05,0xC9,0x8D,0x17,0x85,0x6E,0x00,0x13,0x05,0x85,0xAF,0xEF,0x70,0xA0,0x66,0x92,0x5E,0x17,0x85,0x6E,0x00,0x13,0x05, -+0xA5,0xAF,0x22,0x0A,0x93,0x95,0x0E,0x01,0xB3,0xE5,0xB5,0x01,0xEF,0x70,0x20,0x65,0x14,0x40,0x71,0x45,0x97,0x6D,0x6E,0x00,0x93,0x8D,0x0D,0x07,0x82,0x96,0x93,0x75, ++0xB2,0x55,0x22,0x55,0x93,0xFC,0x8C,0x23,0xC2,0x05,0xC9,0x8D,0x17,0x85,0x6E,0x00,0x13,0x05,0x85,0xAF,0xEF,0x70,0x80,0x6A,0x92,0x5E,0x17,0x85,0x6E,0x00,0x13,0x05, ++0xA5,0xAF,0x22,0x0A,0x93,0x95,0x0E,0x01,0xB3,0xE5,0xB5,0x01,0xEF,0x70,0x00,0x69,0x14,0x40,0x71,0x45,0x97,0x6D,0x6E,0x00,0x93,0x8D,0x0D,0x07,0x82,0x96,0x93,0x75, +0x75,0xDC,0xB3,0xEC,0x95,0x01,0x03,0xA6,0x0D,0x00,0xC2,0x0C,0xB3,0x75,0x95,0x00,0x93,0xDC,0x0C,0x01,0xB3,0xE5,0x95,0x01,0x71,0x45,0x02,0x96,0x10,0x40,0x85,0x6C, +0x13,0x85,0x8C,0x80,0x02,0x96,0xB7,0x05,0x04,0xFE,0x93,0x85,0xF5,0xF7,0x6D,0x8D,0xB7,0x05,0xFC,0x01,0x03,0xA6,0x0D,0x00,0x93,0x85,0x05,0x08,0xB3,0x75,0xBB,0x00, +0xC9,0x8D,0x13,0x85,0x8C,0x80,0x02,0x96,0x10,0x40,0x13,0x85,0x8C,0xC0,0x2A,0x09,0x02,0x96,0xC1,0x77,0x13,0x83,0xF7,0x0F,0x33,0x75,0x65,0x00,0x03,0xA7,0x0D,0x00, @@ -12881,7 +12690,7 @@ index 000000000000..b9661763dbcc +0xD9,0x8E,0x23,0xA6,0xD8,0x82,0x03,0xA7,0x87,0x4B,0xB2,0x46,0xBA,0x49,0x33,0x77,0x47,0x01,0xC2,0x06,0x55,0x8F,0xE2,0x46,0x22,0x07,0x21,0x83,0xE2,0x06,0x55,0x8F, +0x23,0xAC,0xE7,0x4A,0x03,0xA7,0x87,0x5B,0xD2,0x46,0x2A,0x4A,0x13,0x77,0x07,0xF0,0x55,0x8F,0x23,0xAC,0xE7,0x5A,0x83,0xA7,0x88,0xC3,0x42,0x47,0x9A,0x4A,0xC1,0x9B, +0xD9,0x8F,0x0A,0x4B,0xF6,0x5B,0x66,0x5C,0xD6,0x5C,0x46,0x5D,0x23,0xAC,0xF8,0xC2,0xB6,0x5D,0x0D,0x61,0x82,0x80,0x17,0x85,0x6E,0x00,0x13,0x05,0xA5,0x8F,0xEF,0x70, -+0x00,0x48,0x17,0x98,0xFF,0xFF,0x13,0x08,0xE8,0x67,0x8D,0xB3,0xB7,0xF7,0xA0,0x00,0x83,0xA7,0x87,0xD1,0x35,0x71,0x37,0x47,0x0F,0x00,0xD9,0x83,0x22,0xCF,0x26,0xCD, ++0xE0,0x4B,0x17,0x98,0xFF,0xFF,0x13,0x08,0xE8,0x67,0x8D,0xB3,0xB7,0xF7,0xA0,0x00,0x83,0xA7,0x87,0xD1,0x35,0x71,0x37,0x47,0x0F,0x00,0xD9,0x83,0x22,0xCF,0x26,0xCD, +0x4A,0xCB,0x4E,0xC9,0x52,0xC7,0x85,0x8B,0x13,0x07,0x07,0x24,0xB7,0xF6,0xA0,0x00,0x99,0xE7,0x83,0xA7,0x86,0xD1,0x7D,0x17,0xD9,0x83,0x85,0x8B,0x75,0xFB,0xB7,0xB7, +0xA0,0x00,0x23,0xA8,0x07,0x00,0x37,0x07,0x04,0x00,0x23,0xA2,0x07,0x00,0x71,0x17,0x23,0xA0,0xE7,0x1A,0x97,0x87,0x6E,0x00,0x83,0xC7,0xF7,0xD0,0x93,0xF7,0xF7,0x07, +0x17,0x87,0x6E,0x00,0xA3,0x01,0xF7,0xD0,0x99,0xE7,0xB7,0xD7,0xA0,0x00,0x13,0x07,0xF0,0x07,0x23,0xA2,0xE7,0x0E,0xB7,0xF7,0xA0,0x00,0x03,0xA7,0xC7,0xD7,0x03,0xA8, @@ -12994,14 +12803,14 @@ index 000000000000..b9661763dbcc +0x27,0x00,0x4D,0x85,0x63,0xD5,0x06,0x00,0xB7,0x07,0x00,0xC0,0xBA,0x97,0x02,0x57,0xCD,0x87,0x19,0x8D,0x12,0x57,0x33,0x05,0xA5,0x02,0x99,0x8F,0xB3,0x87,0xF7,0x02, +0x3E,0x95,0x49,0x34,0x83,0xA7,0x49,0xC4,0x37,0x07,0x00,0x80,0x13,0x47,0xF7,0xFF,0xF9,0x8F,0xAA,0xC6,0x23,0xA2,0xF9,0xC4,0xEF,0x90,0xAF,0xC9,0x36,0x45,0x72,0x47, +0x93,0x07,0x75,0xF2,0x92,0x07,0x13,0x05,0x40,0x06,0xB3,0x87,0x87,0x41,0xB3,0x87,0xA7,0x02,0x17,0x75,0x6E,0x00,0x13,0x05,0x65,0xB2,0xB3,0xC7,0xE7,0x02,0xBE,0x85, -+0xBE,0xC6,0xEF,0x60,0xC0,0x65,0xB6,0x47,0x13,0x05,0x20,0x6C,0xB3,0x07,0xF5,0x40,0x93,0xD6,0xF7,0x41,0x33,0xC7,0xF6,0x00,0x15,0x8F,0x93,0x06,0x20,0x03,0x63,0xD8, ++0xBE,0xC6,0xEF,0x60,0xA0,0x69,0xB6,0x47,0x13,0x05,0x20,0x6C,0xB3,0x07,0xF5,0x40,0x93,0xD6,0xF7,0x41,0x33,0xC7,0xF6,0x00,0x15,0x8F,0x93,0x06,0x20,0x03,0x63,0xD8, +0xE6,0x02,0x9E,0x07,0x13,0x05,0x80,0x0C,0x33,0xC5,0xA7,0x02,0xC5,0x3C,0x33,0x05,0x85,0x02,0xB7,0x07,0x00,0x10,0x13,0x04,0xF0,0x0F,0x63,0x56,0xF5,0x00,0x37,0x04, +0x10,0x00,0x33,0x44,0x85,0x02,0xFD,0x1C,0x85,0x46,0xE3,0x9A,0x0C,0xEC,0x93,0x07,0x40,0x06,0x18,0x09,0x33,0x04,0xF4,0x02,0x93,0x07,0xA0,0x03,0x33,0x44,0xF4,0x02, +0xF2,0x57,0x8A,0x07,0xBA,0x97,0x83,0xA7,0xC7,0xFC,0x63,0x73,0xF4,0x00,0x3E,0x84,0x97,0x76,0x6E,0x00,0x83,0xC6,0x56,0xFC,0x05,0x47,0x63,0x91,0xE6,0x02,0x97,0x77, -+0x6E,0x00,0x83,0xC7,0x97,0xFB,0x63,0xDF,0x87,0x00,0x3E,0x84,0x21,0xA8,0x17,0x75,0x6E,0x00,0x13,0x05,0x65,0xA7,0xEF,0x60,0x80,0x5C,0xF5,0xB5,0x93,0x87,0xC7,0x03, -+0xE3,0xE5,0x87,0xFE,0xA2,0x85,0x17,0x75,0x6E,0x00,0x13,0x05,0xE5,0xA7,0xEF,0x60,0x00,0x5B,0x96,0x47,0xA8,0x08,0x83,0xA7,0x87,0x42,0x82,0x97,0xE6,0x47,0x13,0x07, ++0x6E,0x00,0x83,0xC7,0x97,0xFB,0x63,0xDF,0x87,0x00,0x3E,0x84,0x21,0xA8,0x17,0x75,0x6E,0x00,0x13,0x05,0x65,0xA7,0xEF,0x60,0x60,0x60,0xF5,0xB5,0x93,0x87,0xC7,0x03, ++0xE3,0xE5,0x87,0xFE,0xA2,0x85,0x17,0x75,0x6E,0x00,0x13,0x05,0xE5,0xA7,0xEF,0x60,0xE0,0x5E,0x96,0x47,0xA8,0x08,0x83,0xA7,0x87,0x42,0x82,0x97,0xE6,0x47,0x13,0x07, +0xF0,0x02,0x93,0x86,0x07,0xFB,0x63,0x63,0xD7,0x1A,0x0E,0x04,0xA9,0x47,0x33,0x44,0xF4,0x02,0xE2,0x57,0xA2,0x85,0x17,0x75,0x6E,0x00,0x13,0x05,0xE5,0xA4,0x80,0xC7, -+0xEF,0x60,0xE0,0x57,0x83,0x27,0x09,0x00,0x71,0x45,0xC1,0x79,0x82,0x97,0x62,0x47,0x93,0x77,0x75,0xDC,0x05,0x64,0x93,0x75,0x87,0x23,0xCD,0x8F,0x98,0x40,0xC2,0x07, ++0xEF,0x60,0xC0,0x5B,0x83,0x27,0x09,0x00,0x71,0x45,0xC1,0x79,0x82,0x97,0x62,0x47,0x93,0x77,0x75,0xDC,0x05,0x64,0x93,0x75,0x87,0x23,0xCD,0x8F,0x98,0x40,0xC2,0x07, +0xC1,0x83,0xB3,0x75,0x35,0x01,0xDD,0x8D,0x71,0x45,0x02,0x97,0x83,0x27,0x09,0x00,0x13,0x05,0x80,0x05,0x62,0x0B,0x82,0x97,0xB2,0x57,0x13,0x75,0xE5,0xF8,0xFE,0x0A, +0x93,0xF5,0x17,0x07,0x9C,0x40,0xC9,0x8D,0x13,0x05,0x80,0x05,0x82,0x97,0x83,0x27,0x09,0x00,0x13,0x05,0x84,0x80,0x82,0x97,0xB7,0x05,0x04,0xFE,0xF9,0x15,0x6D,0x8D, +0xB7,0x05,0xFC,0x01,0x9C,0x40,0x85,0x05,0xB3,0xF5,0xBB,0x00,0xC9,0x8D,0x13,0x05,0x84,0x80,0x82,0x97,0x83,0x27,0x09,0x00,0x13,0x05,0x84,0xC0,0x82,0x97,0xA2,0x57, @@ -13068,13 +12877,13 @@ index 000000000000..b9661763dbcc +0x93,0xC5,0xF7,0xC3,0x03,0x27,0x09,0x00,0x93,0x87,0x07,0x08,0xE9,0x8D,0xDD,0x8D,0xAA,0x89,0x13,0x85,0x44,0xCE,0x02,0x97,0x1C,0x40,0x13,0x85,0xC4,0xCF,0x13,0x7B, +0x1B,0x00,0x82,0x97,0x81,0x45,0x93,0x84,0xC4,0xCF,0x13,0x0C,0x80,0x3E,0x13,0x75,0x05,0x10,0x7D,0xE1,0x1C,0x40,0x26,0x85,0x2E,0xC6,0x82,0x97,0xB2,0x45,0x85,0x05, +0xE3,0x97,0x85,0xFF,0x1C,0x40,0x85,0x64,0x13,0x85,0xC4,0xCF,0x82,0x97,0x2A,0x8C,0xAA,0x85,0x23,0xA2,0xAA,0x00,0x17,0x65,0x6E,0x00,0x13,0x05,0xE5,0x20,0xEF,0x50, -+0x10,0x52,0x1C,0x40,0x13,0x85,0x84,0xCE,0xB7,0x0A,0x10,0xF8,0x82,0x97,0xFD,0x1A,0x83,0x27,0x09,0x00,0x93,0x7C,0xFC,0x07,0xD2,0x0C,0xB3,0x75,0x55,0x01,0xB3,0xE5, ++0xF0,0x55,0x1C,0x40,0x13,0x85,0x84,0xCE,0xB7,0x0A,0x10,0xF8,0x82,0x97,0xFD,0x1A,0x83,0x27,0x09,0x00,0x93,0x7C,0xFC,0x07,0xD2,0x0C,0xB3,0x75,0x55,0x01,0xB3,0xE5, +0x95,0x01,0x13,0x85,0x84,0xCE,0x82,0x97,0x1C,0x40,0x13,0x85,0xC4,0xCE,0xA2,0x0B,0x82,0x97,0x83,0x27,0x09,0x00,0xB3,0x75,0x55,0x01,0xB3,0xE5,0x95,0x01,0x13,0x85, +0xC4,0xCE,0x82,0x97,0x1C,0x40,0x13,0x85,0x84,0xC0,0x42,0x0B,0x82,0x97,0x41,0x77,0x93,0x07,0xF7,0x0F,0xE9,0x8F,0xB3,0xE7,0x77,0x01,0x7D,0x17,0xF9,0x8F,0xB3,0xE7, +0x67,0x01,0x03,0x27,0x09,0x00,0x89,0x9B,0x93,0x75,0xDA,0x01,0xDD,0x8D,0x13,0x85,0x84,0xC0,0x02,0x97,0x1C,0x40,0x13,0x85,0x44,0xCE,0x82,0x97,0xB7,0x07,0x00,0x80, +0x93,0xC5,0xF7,0xC3,0x93,0x87,0x07,0x3C,0xB3,0xF9,0xF9,0x00,0x83,0x27,0x09,0x00,0xE9,0x8D,0xB3,0xE5,0x35,0x01,0x13,0x85,0x44,0xCE,0x82,0x97,0xF2,0x50,0x62,0x54, +0x62,0x85,0xD2,0x54,0x42,0x59,0xB2,0x59,0x22,0x5A,0x92,0x5A,0x02,0x5B,0xF2,0x4B,0x62,0x4C,0xD2,0x4C,0x21,0x61,0x82,0x80,0x17,0x65,0x6E,0x00,0x13,0x05,0x85,0x13, -+0xEF,0x50,0xF0,0x45,0x05,0xB7,0x01,0x11,0x22,0xCC,0x2A,0x84,0x11,0x45,0x2E,0xC6,0x06,0xCE,0xEF,0x30,0x7E,0x9A,0xB2,0x45,0x85,0x47,0x63,0x9C,0xF5,0x0A,0x93,0x77, ++0xEF,0x50,0xD0,0x49,0x05,0xB7,0x01,0x11,0x22,0xCC,0x2A,0x84,0x11,0x45,0x2E,0xC6,0x06,0xCE,0xEF,0x30,0x7E,0x9A,0xB2,0x45,0x85,0x47,0x63,0x9C,0xF5,0x0A,0x93,0x77, +0x85,0x00,0xD1,0xCF,0x97,0x66,0x6E,0x00,0x93,0x86,0xC6,0x50,0x83,0xC7,0x66,0x06,0x37,0x16,0xF0,0x00,0x83,0xC6,0x76,0x06,0x58,0x52,0xB6,0x97,0x93,0x56,0x85,0x01, +0xB6,0x97,0xFD,0x76,0x93,0xF7,0xF7,0x0F,0xBD,0x06,0x92,0x07,0x75,0x8F,0xD9,0x8F,0x5C,0xD2,0x85,0x47,0x63,0x11,0xF4,0x06,0x93,0x77,0x45,0x00,0xD5,0xC3,0xB7,0x16, +0xF0,0x00,0xDC,0x5A,0x13,0x57,0x05,0x01,0x37,0x86,0xC0,0xFF,0x7D,0x16,0x13,0x77,0xF7,0x07,0x3E,0x07,0xF1,0x8F,0xD9,0x8F,0xDC,0xDA,0x98,0x52,0x93,0x57,0x25,0x01, @@ -13121,10 +12930,10 @@ index 000000000000..b9661763dbcc +0x03,0xA6,0x0A,0x01,0x83,0x27,0x4A,0x4E,0x83,0xA6,0x8A,0x00,0x03,0x27,0x04,0x43,0x91,0x8F,0x9A,0x07,0x99,0x83,0xB6,0x97,0x97,0x66,0x6E,0x00,0x23,0xA2,0xF6,0xBC, +0x01,0x45,0x02,0x97,0x97,0x47,0x6E,0x00,0x23,0xA0,0x07,0xE0,0x83,0x27,0xCA,0x54,0x97,0x46,0x6E,0x00,0x93,0x86,0x06,0x8B,0x03,0x27,0x04,0x46,0xB6,0x97,0x23,0x84, +0x07,0x50,0x35,0x45,0x02,0x97,0x93,0xE9,0x29,0x00,0x91,0xB7,0x83,0x27,0x84,0x57,0x82,0x97,0x83,0x27,0x04,0x46,0x17,0x47,0x6E,0x00,0xA3,0x0F,0x07,0xD4,0xBD,0xB7, -+0x83,0xA5,0x4A,0x00,0x17,0x75,0x6E,0x00,0x13,0x05,0x85,0x6C,0xEF,0x50,0x20,0x67,0x83,0xA7,0x8A,0x00,0xB7,0x05,0x00,0x80,0x01,0x46,0xDD,0x8D,0x17,0x75,0x6E,0x00, -+0x13,0x05,0x05,0x6B,0xEF,0x50,0xA0,0x65,0x97,0x67,0x6E,0x00,0x23,0x86,0x07,0xB4,0x97,0x67,0x6E,0x00,0x23,0xA4,0x07,0xB4,0x97,0x67,0x6E,0x00,0x23,0xA2,0x07,0xB4, -+0x45,0xBB,0xAA,0x85,0x17,0x75,0x6E,0x00,0x13,0x05,0x05,0x69,0xEF,0x50,0x20,0x63,0x31,0xBD,0x83,0x27,0xC4,0x57,0x82,0x97,0xF9,0xB5,0xDE,0x85,0x17,0x75,0x6E,0x00, -+0x13,0x05,0x05,0x68,0xEF,0x50,0xA0,0x61,0xB1,0xB5,0x97,0x46,0x6E,0x00,0x83,0xC6,0x36,0xCE,0x97,0x05,0x6E,0x00,0x93,0x85,0xE5,0x80,0x96,0x06,0xB3,0x87,0xD5,0x00, ++0x83,0xA5,0x4A,0x00,0x17,0x75,0x6E,0x00,0x13,0x05,0x45,0x6F,0xEF,0x50,0x00,0x6B,0x83,0xA7,0x8A,0x00,0xB7,0x05,0x00,0x80,0x01,0x46,0xDD,0x8D,0x17,0x75,0x6E,0x00, ++0x13,0x05,0xC5,0x6D,0xEF,0x50,0x80,0x69,0x97,0x67,0x6E,0x00,0x23,0x86,0x07,0xB4,0x97,0x67,0x6E,0x00,0x23,0xA4,0x07,0xB4,0x97,0x67,0x6E,0x00,0x23,0xA2,0x07,0xB4, ++0x45,0xBB,0xAA,0x85,0x17,0x75,0x6E,0x00,0x13,0x05,0xC5,0x6B,0xEF,0x50,0x00,0x67,0x31,0xBD,0x83,0x27,0xC4,0x57,0x82,0x97,0xF9,0xB5,0xDE,0x85,0x17,0x75,0x6E,0x00, ++0x13,0x05,0xC5,0x6A,0xEF,0x50,0x80,0x65,0xB1,0xB5,0x97,0x46,0x6E,0x00,0x83,0xC6,0x36,0xCE,0x97,0x05,0x6E,0x00,0x93,0x85,0xE5,0x80,0x96,0x06,0xB3,0x87,0xD5,0x00, +0x11,0x67,0x3E,0x97,0x03,0x26,0x07,0x49,0x83,0x27,0x47,0x49,0x03,0x27,0xC7,0x47,0x61,0x82,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0x0D,0x8B,0x0D,0x48,0xD1,0x8F,0x63,0x03, +0x07,0x01,0x82,0x80,0x13,0x87,0x17,0x00,0x05,0x66,0x41,0x11,0x63,0x77,0xC7,0x0A,0xAE,0x96,0x91,0x65,0xAE,0x96,0x93,0x17,0x07,0x01,0xC1,0x83,0x03,0xC7,0x36,0x49, +0x13,0xF6,0xF7,0x0F,0xA3,0x89,0xC6,0x48,0x13,0xD7,0x87,0x00,0x03,0xC6,0x46,0x49,0x23,0x8A,0xE6,0x48,0x17,0x37,0x6E,0x00,0x13,0x07,0xC7,0x7A,0x83,0x25,0xC7,0x4B, @@ -13182,7 +12991,7 @@ index 000000000000..b9661763dbcc +0xB3,0x87,0xE4,0x00,0x11,0x67,0x3E,0x97,0x4A,0xC0,0x06,0xC6,0x83,0x47,0x87,0x50,0x17,0x79,0xFF,0xFF,0x13,0x09,0x09,0x13,0x85,0x07,0x93,0xF7,0xF7,0x0F,0x23,0x04, +0xF7,0x50,0x83,0x27,0x44,0x54,0x85,0x07,0x17,0x37,0x6E,0x00,0x23,0x2E,0xF7,0x64,0x03,0x27,0x44,0x54,0x83,0x27,0x84,0x54,0x63,0xF7,0xE7,0x04,0x83,0x27,0x09,0x43, +0x01,0x45,0x82,0x97,0x83,0x27,0x89,0x57,0x82,0x97,0x83,0x27,0x09,0x46,0x17,0x37,0x6E,0x00,0xA3,0x03,0x07,0x5C,0x35,0x45,0x17,0x37,0x6E,0x00,0x23,0x00,0x07,0x64, -+0x82,0x97,0xB7,0x67,0xF0,0x00,0x23,0xA4,0x07,0x20,0x17,0x75,0x6E,0x00,0x13,0x05,0xE5,0xF3,0x97,0x37,0x6E,0x00,0x23,0xA9,0x07,0x60,0xEF,0x40,0x70,0x6B,0x83,0x27, ++0x82,0x97,0xB7,0x67,0xF0,0x00,0x23,0xA4,0x07,0x20,0x17,0x75,0x6E,0x00,0x13,0x05,0xA5,0xF6,0x97,0x37,0x6E,0x00,0x23,0xA9,0x07,0x60,0xEF,0x40,0x50,0x6F,0x83,0x27, +0x09,0x55,0x82,0x97,0x3D,0xC5,0xB7,0x67,0xF0,0x00,0x83,0xA7,0x87,0x20,0x03,0x27,0xC4,0x54,0x9D,0x46,0x63,0x08,0xD7,0x04,0x89,0x66,0x93,0x86,0x06,0x27,0x36,0x97, +0x06,0x07,0x03,0x46,0x04,0x55,0xBA,0x94,0x83,0xC6,0x14,0x01,0x13,0x97,0x07,0x01,0x41,0x83,0x32,0x97,0x41,0x76,0xF1,0x8F,0x63,0xF6,0xE6,0x00,0x03,0xC7,0x14,0x01, +0x13,0x77,0xF7,0x0F,0xD9,0x8F,0x37,0x67,0xF0,0x00,0x23,0x24,0xF7,0x20,0x83,0x25,0x44,0x55,0x22,0x44,0x03,0x23,0xC9,0x45,0xB2,0x40,0x92,0x44,0x02,0x49,0x35,0x45, @@ -13268,11 +13077,11 @@ index 000000000000..b9661763dbcc +0x03,0x47,0x07,0x00,0x0D,0x8B,0x16,0x07,0x11,0x07,0xBA,0x97,0x23,0x82,0x07,0x00,0xA3,0x82,0x07,0x00,0x23,0x83,0x07,0x00,0xA3,0x83,0x07,0x00,0xA3,0x81,0x07,0x00, +0x23,0x80,0xD7,0x00,0xA3,0x80,0x07,0x00,0x23,0x81,0xD7,0x00,0x83,0x26,0x84,0x4C,0x03,0xC7,0x06,0x00,0x05,0x07,0x23,0x80,0xE6,0x00,0x03,0xA7,0xC4,0x18,0x23,0x82, +0x57,0x01,0xA3,0x82,0x07,0x00,0x23,0x83,0x07,0x00,0xA3,0x83,0x07,0x00,0x02,0x97,0x97,0x57,0x6E,0x00,0xA3,0x84,0x57,0xD3,0xF1,0xBD,0x83,0x45,0xF1,0x00,0xF9,0x34, -+0x97,0x57,0x6E,0x00,0xA3,0x89,0x47,0xD1,0xBD,0xB5,0x42,0x0A,0xB3,0x65,0xBA,0x00,0x17,0x65,0x6E,0x00,0x13,0x05,0x05,0x49,0xEF,0x40,0x60,0x40,0x83,0x47,0x01,0x01, ++0x97,0x57,0x6E,0x00,0xA3,0x89,0x47,0xD1,0xBD,0xB5,0x42,0x0A,0xB3,0x65,0xBA,0x00,0x17,0x65,0x6E,0x00,0x13,0x05,0xC5,0x4B,0xEF,0x40,0x40,0x44,0x83,0x47,0x01,0x01, +0x17,0x57,0x6E,0x00,0xA3,0x0A,0xF7,0x90,0xC9,0xB5,0x97,0x64,0xFF,0xFF,0x93,0x84,0x64,0x5F,0x83,0xA7,0x04,0x55,0x82,0x97,0x63,0x15,0x05,0x10,0x83,0xA7,0xC4,0x4B, -+0x17,0x65,0x6E,0x00,0x13,0x05,0x45,0x45,0x82,0x97,0x83,0xA7,0x84,0x4B,0x97,0x55,0x6E,0x00,0x83,0xC5,0x05,0xCC,0x11,0x45,0x82,0x97,0x83,0xA7,0x84,0x4A,0x29,0x45, ++0x17,0x65,0x6E,0x00,0x13,0x05,0x05,0x48,0x82,0x97,0x83,0xA7,0x84,0x4B,0x97,0x55,0x6E,0x00,0x83,0xC5,0x05,0xCC,0x11,0x45,0x82,0x97,0x83,0xA7,0x84,0x4A,0x29,0x45, +0x82,0x97,0xE9,0xBD,0xB7,0x07,0xA0,0x00,0x83,0xA5,0x07,0x13,0x03,0xA5,0xC9,0x00,0x83,0xA7,0x04,0x58,0x9A,0x05,0x99,0x81,0x82,0x97,0xAA,0x85,0x17,0x65,0x6E,0x00, -+0x13,0x05,0x05,0x43,0xEF,0x40,0xA0,0x39,0x83,0xA7,0x84,0x57,0x89,0x49,0x82,0x97,0x83,0xA7,0x04,0x46,0x17,0x37,0x6E,0x00,0xA3,0x00,0x07,0xA6,0x35,0x45,0x17,0x37, ++0x13,0x05,0xC5,0x45,0xEF,0x40,0x80,0x3D,0x83,0xA7,0x84,0x57,0x89,0x49,0x82,0x97,0x83,0xA7,0x04,0x46,0x17,0x37,0x6E,0x00,0xA3,0x00,0x07,0xA6,0x35,0x45,0x17,0x37, +0x6E,0x00,0x23,0x0D,0x07,0xAC,0x82,0x97,0x83,0xA7,0x04,0x43,0x37,0x67,0xF0,0x00,0x23,0x24,0x07,0x20,0x01,0x45,0x82,0x97,0x97,0x37,0x6E,0x00,0x23,0xA6,0x07,0xAA, +0x83,0x27,0xC4,0x54,0x17,0x57,0x6E,0x00,0x03,0x47,0x57,0xC5,0x3E,0x99,0x91,0x67,0x3E,0x99,0x23,0x04,0x09,0x50,0xE3,0x00,0x37,0xE7,0x83,0x27,0x84,0x4C,0x03,0x27, +0x84,0x4C,0xA1,0x46,0x13,0x05,0x00,0x40,0x03,0x47,0x07,0x00,0x0D,0x8B,0x16,0x07,0x11,0x07,0xBA,0x97,0x23,0x82,0x07,0x00,0xA3,0x82,0x07,0x00,0x23,0x83,0x07,0x00, @@ -13297,8 +13106,8 @@ index 000000000000..b9661763dbcc +0xC7,0x69,0xBA,0x96,0x13,0x95,0x06,0x01,0x41,0x81,0xD1,0x45,0x63,0xF3,0xA5,0x02,0x93,0x87,0x57,0x68,0xBA,0x97,0xC2,0x07,0xC1,0x83,0x93,0x06,0x50,0x03,0x01,0x45, +0xE3,0xEB,0xF6,0xFC,0xB3,0x07,0xC7,0x40,0x85,0x87,0xA9,0x07,0x13,0xF5,0xF7,0x0F,0x82,0x80,0x93,0xD7,0x16,0x40,0x13,0xF5,0xF7,0x0F,0x82,0x80,0x41,0x11,0x06,0xC6, +0x22,0xC4,0x26,0xC2,0x83,0x44,0xA5,0x01,0x83,0x47,0xB5,0x01,0x03,0x47,0xD5,0x01,0x83,0x45,0xC5,0x01,0x93,0x96,0x84,0x01,0xC2,0x07,0xD5,0x8F,0xD9,0x8F,0xA2,0x05, -+0x2A,0x84,0xDD,0x8D,0x17,0x65,0x6E,0x00,0x13,0x05,0x45,0x11,0xEF,0x40,0x20,0x07,0x83,0x47,0xE4,0x01,0x03,0x47,0xF4,0x01,0x83,0x46,0x14,0x02,0x83,0x45,0x04,0x02, -+0x42,0x07,0xE2,0x07,0xD9,0x8F,0xD5,0x8F,0xA2,0x05,0xDD,0x8D,0x17,0x65,0x6E,0x00,0x13,0x05,0xC5,0x0E,0xEF,0x40,0xA0,0x04,0x85,0x47,0x63,0x86,0xF4,0x02,0x89,0x47, ++0x2A,0x84,0xDD,0x8D,0x17,0x65,0x6E,0x00,0x13,0x05,0x05,0x14,0xEF,0x40,0x00,0x0B,0x83,0x47,0xE4,0x01,0x03,0x47,0xF4,0x01,0x83,0x46,0x14,0x02,0x83,0x45,0x04,0x02, ++0x42,0x07,0xE2,0x07,0xD9,0x8F,0xD5,0x8F,0xA2,0x05,0xDD,0x8D,0x17,0x65,0x6E,0x00,0x13,0x05,0x85,0x11,0xEF,0x40,0x80,0x08,0x85,0x47,0x63,0x86,0xF4,0x02,0x89,0x47, +0x63,0x9E,0xF4,0x00,0x83,0x47,0xB4,0x01,0x17,0x57,0x6E,0x00,0xA3,0x04,0xF7,0x92,0x83,0x47,0xC4,0x01,0x17,0x57,0x6E,0x00,0x23,0x0F,0xF7,0x90,0xB2,0x40,0x22,0x44, +0x92,0x44,0x41,0x01,0x82,0x80,0x83,0x47,0xB4,0x01,0x63,0x8C,0x97,0x00,0x81,0x44,0xB2,0x40,0x22,0x44,0x97,0x57,0x6E,0x00,0xA3,0x8D,0x97,0x8E,0x92,0x44,0x41,0x01, +0x82,0x80,0x83,0x47,0xC4,0x01,0x17,0x57,0x6E,0x00,0x23,0x05,0xF7,0x8E,0xCD,0xB7,0x41,0x11,0x26,0xC2,0x06,0xC6,0x22,0xC4,0x03,0x47,0x55,0x00,0x83,0x46,0x45,0x00, @@ -13330,13 +13139,13 @@ index 000000000000..b9661763dbcc +0x64,0xEC,0x37,0x07,0xF0,0x00,0x85,0x07,0x23,0x20,0xF7,0x08,0x83,0x27,0x04,0x5B,0x01,0x45,0x82,0x97,0x03,0x23,0x44,0x54,0x22,0x44,0xB2,0x40,0x81,0x45,0x09,0x45, +0x41,0x01,0x02,0x83,0x17,0x07,0x6E,0x00,0x03,0x47,0xE7,0x29,0x89,0x47,0x63,0x04,0xF7,0x00,0x01,0x45,0x82,0x80,0x41,0x11,0x26,0xC2,0x97,0x64,0xFF,0xFF,0x93,0x84, +0x64,0xE8,0x83,0xA7,0x84,0x17,0x06,0xC6,0x22,0xC4,0x4A,0xC0,0x82,0x97,0x51,0xCD,0x17,0x09,0x6E,0x00,0x13,0x09,0x09,0xE7,0x83,0x47,0xC9,0x3B,0x29,0x47,0x63,0x76, -+0xF7,0x08,0xB7,0x27,0xF0,0x00,0xFC,0x4F,0x85,0x8B,0xC1,0xC3,0x97,0x47,0x6E,0x00,0x83,0xC7,0x77,0x52,0x17,0x65,0x6E,0x00,0x13,0x05,0x85,0xCF,0xAD,0xE7,0x97,0x47, ++0xF7,0x08,0xB7,0x27,0xF0,0x00,0xFC,0x4F,0x85,0x8B,0xC1,0xC3,0x97,0x47,0x6E,0x00,0x83,0xC7,0x77,0x52,0x17,0x65,0x6E,0x00,0x13,0x05,0x45,0xD2,0xAD,0xE7,0x97,0x47, +0x6E,0x00,0x83,0xC7,0x57,0x52,0x4A,0x84,0x91,0xC7,0x97,0x47,0x6E,0x00,0x83,0xC7,0xB7,0x51,0xA1,0xEF,0xB7,0x37,0xF0,0x00,0xFC,0x4F,0x17,0x65,0x6E,0x00,0x13,0x05, -+0x25,0xCE,0x85,0x8B,0xA9,0xE3,0xB7,0x57,0xA0,0x00,0x83,0xA7,0xC7,0xC0,0x13,0x97,0x97,0x00,0x63,0x5C,0x07,0x02,0x97,0x27,0x6E,0x00,0x93,0x87,0xA7,0xE0,0xB8,0x5F, ++0xE5,0xD0,0x85,0x8B,0xA9,0xE3,0xB7,0x57,0xA0,0x00,0x83,0xA7,0xC7,0xC0,0x13,0x97,0x97,0x00,0x63,0x5C,0x07,0x02,0x97,0x27,0x6E,0x00,0x93,0x87,0xA7,0xE0,0xB8,0x5F, +0xBC,0x5F,0x03,0x27,0x07,0x40,0x83,0xA7,0x47,0x40,0x63,0x10,0xF7,0x02,0x03,0x25,0x04,0x7D,0x83,0xA7,0x44,0x1A,0x13,0x05,0x85,0x03,0x82,0x97,0x11,0xED,0x17,0x65, -+0x6E,0x00,0x13,0x05,0xE5,0xCA,0xEF,0x30,0xB0,0x3C,0x01,0x45,0xB2,0x40,0x22,0x44,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80,0xB7,0x07,0xA0,0x00,0x03,0xA7,0xC7,0x1F, ++0x6E,0x00,0x13,0x05,0xA5,0xCD,0xEF,0x30,0x90,0x40,0x01,0x45,0xB2,0x40,0x22,0x44,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80,0xB7,0x07,0xA0,0x00,0x03,0xA7,0xC7,0x1F, +0x83,0xA6,0x07,0x20,0x83,0xA7,0x47,0x20,0xE3,0x11,0xD7,0xFE,0xE3,0x1F,0xF7,0xFC,0xB7,0x77,0xA0,0x00,0x83,0xA7,0x07,0x0A,0x03,0x27,0x04,0x7D,0x93,0xF7,0xF7,0x0F, -+0x78,0x4F,0x63,0x1B,0xF7,0x00,0x83,0x27,0x44,0x1E,0x63,0x47,0xF0,0x00,0x83,0x27,0x04,0x2D,0x05,0x45,0xE3,0x5C,0xF0,0xFA,0x17,0x65,0x6E,0x00,0x13,0x05,0x05,0xC6, ++0x78,0x4F,0x63,0x1B,0xF7,0x00,0x83,0x27,0x44,0x1E,0x63,0x47,0xF0,0x00,0x83,0x27,0x04,0x2D,0x05,0x45,0xE3,0x5C,0xF0,0xFA,0x17,0x65,0x6E,0x00,0x13,0x05,0xC5,0xC8, +0x5D,0xB7,0x41,0x11,0x22,0xC4,0x06,0xC6,0x26,0xC2,0x93,0x77,0x45,0x00,0x1D,0x44,0x99,0xE7,0x93,0x77,0x25,0x00,0x0D,0x44,0x99,0xE3,0x13,0x74,0x15,0x00,0x97,0x64, +0xFF,0xFF,0x93,0x84,0x24,0xD6,0x83,0xA7,0x84,0x33,0x22,0x85,0x82,0x97,0x83,0xA7,0x84,0x15,0x01,0x46,0xA2,0x85,0x05,0x45,0x82,0x97,0x83,0xA7,0x44,0x42,0x29,0x45, +0x82,0x97,0x93,0x77,0x24,0x00,0xAD,0xCB,0x97,0xE7,0x6D,0x00,0x23,0x8B,0x07,0xF8,0x97,0xE7,0x6D,0x00,0x23,0x81,0x07,0x1E,0x97,0xE7,0x6D,0x00,0x23,0x87,0x07,0x42, @@ -13350,23 +13159,23 @@ index 000000000000..b9661763dbcc +0xD2,0x4C,0x42,0x4D,0x21,0x61,0x82,0x80,0x13,0x9B,0x2B,0x00,0xDA,0x97,0x9C,0x43,0x63,0x9D,0x97,0x01,0x93,0x17,0x24,0x00,0xD2,0x97,0x9C,0x43,0xB3,0xF7,0x57,0x01, +0x23,0xA0,0xFC,0x00,0x85,0x0B,0x05,0x04,0x6D,0xBF,0x63,0x95,0x27,0x01,0x23,0x20,0x09,0x00,0xCD,0xBF,0x93,0x14,0x24,0x00,0x63,0x9D,0x37,0x01,0xB7,0x07,0x00,0xC1, +0x23,0xA0,0xF9,0x00,0x83,0x27,0x4C,0x42,0x15,0x45,0x82,0x97,0xB2,0x47,0xDA,0x97,0x9C,0x43,0xD2,0x94,0x98,0x40,0x98,0xC3,0xF1,0xB7,0xB7,0xD7,0xA0,0x00,0x83,0xA5, -+0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x01,0x11,0xDA,0x05,0xA9,0x83,0xDD,0x8D,0x01,0x46,0x17,0x65,0x6E,0x00,0x13,0x05,0x45,0xAB,0x06,0xCE,0x22,0xCC,0x4A,0xC8,0x17,0x64, -+0xFF,0xFF,0x13,0x04,0x24,0xBC,0x4E,0xC6,0x26,0xCA,0xEF,0x30,0x50,0x1B,0x83,0x27,0xC4,0x1C,0x17,0x09,0x6E,0x00,0x13,0x09,0xE9,0xBA,0x82,0x97,0x83,0x27,0x04,0x32, ++0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x01,0x11,0xDA,0x05,0xA9,0x83,0xDD,0x8D,0x01,0x46,0x17,0x65,0x6E,0x00,0x13,0x05,0x05,0xAE,0x06,0xCE,0x22,0xCC,0x4A,0xC8,0x17,0x64, ++0xFF,0xFF,0x13,0x04,0x24,0xBC,0x4E,0xC6,0x26,0xCA,0xEF,0x30,0x30,0x1F,0x83,0x27,0xC4,0x1C,0x17,0x09,0x6E,0x00,0x13,0x09,0xE9,0xBA,0x82,0x97,0x83,0x27,0x04,0x32, +0x82,0x97,0x83,0x27,0x44,0x11,0x82,0x97,0x37,0x07,0xF0,0x00,0x3C,0x5F,0x93,0xE7,0x17,0x00,0x3C,0xDF,0xB7,0x27,0xF0,0x00,0x83,0xA9,0xC7,0x05,0x83,0x27,0x04,0x36, +0x82,0x97,0x5D,0xC9,0x93,0xF9,0x19,0x00,0x63,0x88,0x09,0x0A,0x83,0x47,0x29,0x40,0x09,0x47,0x63,0x13,0xF7,0x0A,0x83,0x27,0x84,0x60,0xAA,0x84,0x79,0x45,0x82,0x97, -+0x83,0x27,0xC4,0x37,0x26,0x85,0x82,0x97,0x97,0x07,0x6E,0x00,0xA3,0x8F,0xA7,0xF4,0x83,0x45,0x79,0x40,0x17,0x65,0x6E,0x00,0x13,0x05,0x85,0xA3,0xF2,0x05,0xC5,0x8D, -+0xEF,0x30,0xF0,0x13,0x93,0x05,0x80,0x3E,0xB3,0x84,0xB4,0x02,0x9D,0x65,0x93,0x85,0x55,0x73,0x03,0x45,0x79,0x40,0x83,0x27,0xC4,0x35,0xB3,0xD5,0xB4,0x02,0x82,0x97, -+0xB7,0xD7,0xA0,0x00,0x83,0xA5,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x01,0x46,0xDA,0x05,0xA9,0x83,0xDD,0x8D,0x17,0x65,0x6E,0x00,0x13,0x05,0x45,0xA1,0xEF,0x30,0x30,0x10, ++0x83,0x27,0xC4,0x37,0x26,0x85,0x82,0x97,0x97,0x07,0x6E,0x00,0xA3,0x8F,0xA7,0xF4,0x83,0x45,0x79,0x40,0x17,0x65,0x6E,0x00,0x13,0x05,0x45,0xA6,0xF2,0x05,0xC5,0x8D, ++0xEF,0x30,0xD0,0x17,0x93,0x05,0x80,0x3E,0xB3,0x84,0xB4,0x02,0x9D,0x65,0x93,0x85,0x55,0x73,0x03,0x45,0x79,0x40,0x83,0x27,0xC4,0x35,0xB3,0xD5,0xB4,0x02,0x82,0x97, ++0xB7,0xD7,0xA0,0x00,0x83,0xA5,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x01,0x46,0xDA,0x05,0xA9,0x83,0xDD,0x8D,0x17,0x65,0x6E,0x00,0x13,0x05,0x05,0xA4,0xEF,0x30,0x10,0x14, +0x83,0x27,0x44,0x32,0x82,0x97,0x83,0x27,0x84,0x1D,0x82,0x97,0x83,0x47,0x29,0x40,0x09,0x47,0x63,0x17,0xF7,0x00,0x85,0x47,0x17,0x07,0x6E,0x00,0x23,0x05,0xF7,0xEE, +0x37,0x07,0xF0,0x00,0x3C,0x5F,0xF2,0x40,0x62,0x44,0xF9,0x9B,0x3C,0xDF,0xD2,0x44,0x42,0x49,0xB2,0x49,0x05,0x61,0x82,0x80,0x37,0x07,0xF0,0x00,0x3C,0x5F,0x17,0x65, -+0x6E,0x00,0x13,0x05,0x25,0x9C,0xF9,0x9B,0x3C,0xDF,0xEF,0x30,0x70,0x0A,0x49,0xBF,0x41,0x11,0x22,0xC4,0x26,0xC2,0x2A,0x84,0xAE,0x84,0x17,0x05,0x6E,0x00,0x03,0x45, ++0x6E,0x00,0x13,0x05,0xE5,0x9E,0xF9,0x9B,0x3C,0xDF,0xEF,0x30,0x50,0x0E,0x49,0xBF,0x41,0x11,0x22,0xC4,0x26,0xC2,0x2A,0x84,0xAE,0x84,0x17,0x05,0x6E,0x00,0x03,0x45, +0xD5,0xEA,0x81,0x45,0x06,0xC6,0xEF,0xE0,0x9F,0xEB,0x22,0x85,0x22,0x44,0xB2,0x40,0xA6,0x85,0x92,0x44,0x41,0x01,0x6F,0x00,0x9F,0xBB,0x41,0x11,0x26,0xC2,0x06,0xC6, +0x22,0xC4,0x17,0x07,0x6E,0x00,0x03,0x47,0x07,0xE8,0x89,0x47,0xAA,0x84,0x63,0x17,0xF7,0x00,0x85,0x47,0x17,0x07,0x6E,0x00,0x23,0x07,0xF7,0xE6,0x17,0x64,0xFF,0xFF, +0x13,0x04,0x44,0xA6,0x83,0x27,0xC4,0x32,0x05,0x46,0xA6,0x85,0x05,0x45,0x82,0x97,0x89,0x47,0x63,0x84,0xF4,0x06,0x91,0x47,0x63,0x89,0xF4,0x00,0x85,0x47,0x63,0x9F, +0xF4,0x02,0x83,0x27,0x44,0x33,0x05,0x45,0xA1,0xA8,0x83,0x27,0x44,0x33,0x1D,0x45,0x82,0x97,0x83,0x27,0x44,0x54,0x85,0x45,0x05,0x45,0x82,0x97,0xB7,0xD7,0xA0,0x00, -+0x83,0xA5,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x01,0x46,0xDA,0x05,0xA9,0x83,0xDD,0x8D,0x17,0x65,0x6E,0x00,0x13,0x05,0x85,0x91,0xEF,0x30,0x70,0x00,0x26,0x85,0x85,0x45, ++0x83,0xA5,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x01,0x46,0xDA,0x05,0xA9,0x83,0xDD,0x8D,0x17,0x65,0x6E,0x00,0x13,0x05,0x45,0x94,0xEF,0x30,0x50,0x04,0x26,0x85,0x85,0x45, +0xEF,0xE0,0xFF,0xE1,0x03,0x23,0x84,0x32,0x22,0x44,0xB2,0x40,0xA6,0x85,0x92,0x44,0x81,0x46,0x05,0x46,0x05,0x45,0x41,0x01,0x02,0x83,0x83,0x27,0x44,0x33,0x0D,0x45, -+0x82,0x97,0xE9,0xBF,0x01,0x11,0x06,0xCE,0x2A,0xC6,0xEF,0x40,0x10,0x57,0x32,0x45,0xF2,0x40,0x05,0x61,0x6F,0x00,0x2F,0xDA,0x1C,0x45,0x13,0x97,0x37,0x01,0x63,0x59, ++0x82,0x97,0xE9,0xBF,0x01,0x11,0x06,0xCE,0x2A,0xC6,0xEF,0x40,0x90,0x5D,0x32,0x45,0xF2,0x40,0x05,0x61,0x6F,0x00,0x2F,0xDA,0x1C,0x45,0x13,0x97,0x37,0x01,0x63,0x59, +0x07,0x06,0x18,0x41,0x03,0x58,0x45,0x00,0xB7,0x05,0xA0,0x00,0x54,0x45,0x13,0xF6,0xF7,0x00,0x23,0xA8,0xE5,0x20,0x13,0xD7,0xD7,0x00,0x91,0x83,0x05,0x8B,0x42,0x06, +0x93,0xF7,0x07,0x04,0x6A,0x07,0x33,0x66,0x06,0x01,0xFD,0x17,0x51,0x8F,0xD2,0x07,0xD9,0x8F,0x05,0x67,0x23,0xAA,0xF5,0x20,0x7D,0x17,0x93,0xD7,0xC6,0x00,0xF9,0x8F, +0xF9,0x8E,0xC2,0x07,0xC1,0x83,0xC2,0x06,0xB2,0x07,0xC1,0x82,0xD5,0x8F,0x23,0xAC,0xF5,0x20,0xB7,0x07,0x02,0x40,0x23,0xA6,0xF5,0x20,0x89,0x67,0x93,0x87,0x07,0x71, @@ -13388,15 +13197,15 @@ index 000000000000..b9661763dbcc +0xB7,0x36,0xF0,0xFF,0x93,0x86,0xC6,0x75,0x75,0x8F,0xB7,0xC6,0x0B,0x00,0x93,0x86,0x26,0x08,0x55,0x8F,0x98,0xDB,0xD8,0x5B,0xB7,0x06,0x00,0x80,0x55,0x8F,0xD8,0xDB, +0x13,0x07,0x00,0x02,0x98,0xD3,0x82,0x80,0xB7,0x26,0xF0,0x00,0x98,0x5A,0xFD,0x77,0x93,0x87,0xF7,0x71,0x05,0x66,0xF9,0x8F,0x13,0x06,0x06,0x82,0xD1,0x8F,0xC2,0x07, +0x41,0x76,0x71,0x8F,0xC1,0x83,0xD9,0x8F,0x9C,0xDA,0xDC,0x5A,0x37,0x07,0x00,0x80,0xD9,0x8F,0xDC,0xDA,0x82,0x80,0x41,0x11,0x22,0xC4,0x17,0x44,0x6E,0x00,0x13,0x04, -+0x64,0xDF,0x13,0x06,0x80,0x11,0x81,0x45,0x22,0x85,0x06,0xC6,0xEF,0x40,0x4E,0xDA,0x89,0x47,0x25,0x45,0x23,0x08,0xF4,0x00,0xEF,0x10,0x0E,0xA6,0x3D,0x81,0x05,0x89, ++0x64,0xDF,0x13,0x06,0x00,0x13,0x81,0x45,0x22,0x85,0x06,0xC6,0xEF,0x40,0x4E,0xDA,0x89,0x47,0x25,0x45,0x23,0x08,0xF4,0x00,0xEF,0x10,0x0E,0xA6,0x3D,0x81,0x05,0x89, +0x23,0x0F,0xA4,0x00,0xB2,0x40,0x22,0x44,0x41,0x01,0x82,0x80,0xB7,0x27,0xF0,0x00,0xBC,0x43,0x41,0x11,0x22,0xC4,0x26,0xC2,0x06,0xC6,0x85,0x8B,0x17,0x54,0xFF,0xFF, +0x13,0x04,0x44,0x6E,0x85,0x44,0xE5,0xE7,0x83,0x27,0x44,0x1B,0x82,0x97,0x65,0x37,0x83,0x27,0x44,0x4A,0x82,0x97,0x83,0x27,0xC4,0x59,0x11,0x45,0x82,0x97,0x83,0x27, +0x84,0x3F,0x82,0x97,0x83,0x27,0x04,0x45,0x82,0x97,0x83,0x27,0xC4,0x43,0x82,0x97,0xB7,0x77,0xA0,0x00,0x23,0xA0,0x07,0x08,0x83,0x27,0x44,0x3E,0x82,0x97,0x83,0x27, +0x84,0x29,0x82,0x97,0x83,0x27,0xC4,0x4D,0x82,0x97,0x1C,0x58,0x82,0x97,0x83,0x27,0x04,0x25,0x82,0x97,0x83,0x27,0x84,0x08,0x82,0x97,0x83,0x27,0x04,0x49,0x82,0x97, -+0x83,0x27,0xC4,0x49,0x82,0x97,0x83,0x27,0x44,0x1E,0x82,0x97,0x83,0x27,0x84,0x11,0x82,0x97,0x83,0x27,0x04,0x57,0x82,0x97,0xEF,0x40,0x10,0x6D,0x83,0x27,0x04,0x40, ++0x83,0x27,0xC4,0x49,0x82,0x97,0x83,0x27,0x44,0x1E,0x82,0x97,0x83,0x27,0x84,0x11,0x82,0x97,0x83,0x27,0x04,0x57,0x82,0x97,0xEF,0x40,0x90,0x73,0x83,0x27,0x04,0x40, +0x82,0x97,0x83,0x27,0x44,0x49,0x82,0x97,0x83,0x27,0x84,0x75,0x82,0x97,0x83,0x27,0x04,0x41,0x82,0x97,0xB7,0x07,0xA0,0x00,0x37,0x07,0x00,0x70,0x23,0xA8,0xE7,0x1A, +0x37,0x07,0x10,0x07,0x23,0xA8,0xE7,0x1A,0x25,0x47,0xB7,0x07,0xF0,0x00,0xF8,0xCB,0x83,0x27,0xC4,0x45,0xB7,0x95,0x98,0x00,0x93,0x85,0x05,0x68,0x09,0x45,0x82,0x97, -+0xEF,0xF0,0x2F,0xF4,0xEF,0x40,0xD0,0x16,0x83,0x27,0x44,0x18,0x82,0x97,0x97,0xF7,0x6D,0x00,0x93,0x87,0x27,0x61,0x03,0xA7,0x07,0x7D,0x85,0x47,0x1C,0xC7,0x37,0x07, ++0xEF,0xF0,0x2F,0xF4,0xEF,0x40,0x50,0x1D,0x83,0x27,0x44,0x18,0x82,0x97,0x97,0xF7,0x6D,0x00,0x93,0x87,0x27,0x61,0x03,0xA7,0x07,0x7D,0x85,0x47,0x1C,0xC7,0x37,0x07, +0xA1,0x00,0x1C,0xC7,0x1D,0xA8,0x83,0x27,0x44,0x42,0x15,0x45,0x82,0x97,0x83,0x27,0xC4,0x36,0x82,0x97,0xE3,0x19,0x95,0xFE,0x83,0x27,0x84,0x36,0x17,0x05,0x6E,0x00, +0x03,0x45,0xB5,0x9E,0x82,0x97,0x83,0x27,0x44,0x32,0x82,0x97,0x83,0x27,0xC4,0x59,0x11,0x45,0x82,0x97,0x83,0x27,0x44,0x1E,0x82,0x97,0x37,0x07,0xF0,0x00,0x3C,0x5F, +0xF9,0x9B,0x3C,0xDF,0x83,0x27,0x44,0x53,0x82,0x97,0xB2,0x40,0x22,0x44,0x92,0x44,0x01,0x45,0x41,0x01,0x82,0x80,0x41,0x11,0xB7,0x17,0x10,0x10,0x93,0x87,0x07,0x80, @@ -13440,15 +13249,15 @@ index 000000000000..b9661763dbcc +0x3A,0x95,0x0A,0x05,0x14,0xC1,0x23,0x2A,0xF5,0xE6,0xB7,0x07,0xA0,0x00,0x83,0xA7,0x07,0x13,0x9A,0x07,0x99,0x83,0x23,0x28,0xF8,0x24,0x41,0x01,0x82,0x80,0x01,0x11, +0x52,0xC4,0x37,0x0A,0xA0,0x00,0x22,0xCC,0x03,0x24,0xCA,0x00,0x26,0xCA,0x06,0xCE,0x06,0x04,0x05,0x80,0x4A,0xC8,0x4E,0xC6,0x56,0xC2,0x5A,0xC0,0x23,0x26,0x8A,0x00, +0x93,0x74,0x24,0x00,0x63,0x80,0x04,0x10,0x93,0x59,0x44,0x00,0x13,0x59,0x44,0x01,0x93,0x77,0x04,0x10,0x93,0xF9,0xF9,0x00,0x13,0x79,0xF9,0x03,0x63,0x83,0x07,0x28, -+0x83,0x25,0x0A,0x01,0x17,0x55,0x6E,0x00,0x13,0x05,0x85,0xFB,0x0A,0x09,0xEF,0x20,0x10,0x69,0x83,0x27,0x0A,0x1E,0x93,0x95,0x09,0x01,0xB3,0x65,0xB9,0x00,0xE2,0x07, -+0xDD,0x8D,0x17,0x55,0x6E,0x00,0x13,0x05,0x65,0xFA,0xEF,0x20,0x50,0x67,0x97,0x57,0xFF,0xFF,0x93,0x87,0x27,0x07,0xBC,0x47,0xCA,0x85,0x4E,0x85,0x82,0x97,0x93,0x77, ++0x83,0x25,0x0A,0x01,0x17,0x55,0x6E,0x00,0x13,0x05,0x45,0xFE,0x0A,0x09,0xEF,0x20,0xF0,0x6C,0x83,0x27,0x0A,0x1E,0x93,0x95,0x09,0x01,0xB3,0x65,0xB9,0x00,0xE2,0x07, ++0xDD,0x8D,0x17,0x55,0x6E,0x00,0x13,0x05,0x25,0xFD,0xEF,0x20,0x30,0x6B,0x97,0x57,0xFF,0xFF,0x93,0x87,0x27,0x07,0xBC,0x47,0xCA,0x85,0x4E,0x85,0x82,0x97,0x93,0x77, +0x04,0x40,0x99,0xCB,0xB7,0x07,0xA0,0x00,0x88,0x4B,0x97,0x57,0xFF,0xFF,0x93,0x87,0x67,0x05,0x83,0xA7,0xC7,0x11,0x82,0x97,0xD1,0xC4,0xB7,0x07,0xA0,0x00,0x83,0xA4, +0x07,0x25,0x23,0xA8,0x97,0x24,0x93,0x77,0x04,0x10,0xAD,0xEF,0x17,0x59,0xFF,0xFF,0x13,0x09,0x49,0x03,0xB5,0xC0,0x93,0xF7,0x14,0x00,0x89,0xC7,0x83,0x27,0x49,0x04, +0x01,0x45,0x82,0x97,0x93,0xF7,0x24,0x00,0x89,0xC7,0x83,0x27,0x49,0x04,0x05,0x45,0x82,0x97,0x93,0xF7,0x44,0x00,0x89,0xC7,0x83,0x27,0x49,0x04,0x09,0x45,0x82,0x97, +0x93,0xF7,0x84,0x00,0x89,0xC7,0x83,0x27,0x49,0x04,0x0D,0x45,0x82,0x97,0x93,0xF7,0x04,0x01,0x89,0xC7,0x83,0x27,0x49,0x04,0x11,0x45,0x82,0x97,0x93,0xF7,0x04,0x02, +0x89,0xC7,0x83,0x27,0x49,0x04,0x15,0x45,0x82,0x97,0x93,0xF4,0x04,0x04,0x89,0xC4,0x83,0x27,0x49,0x04,0x19,0x45,0x82,0x97,0x83,0x27,0x49,0x40,0x13,0x55,0x24,0x00, +0x0D,0x89,0x82,0x97,0x93,0x17,0x14,0x00,0x63,0xDE,0x07,0x00,0xB7,0x07,0xA0,0x00,0xC8,0x4B,0xC8,0xCB,0x97,0x57,0xFF,0xFF,0x93,0x87,0xC7,0xFA,0x83,0xA7,0x47,0x45, -+0x41,0x81,0x82,0x97,0x93,0x17,0x34,0x01,0x63,0xD8,0x07,0x0E,0x93,0x17,0x24,0x01,0x97,0xF4,0x6D,0x00,0x93,0x84,0x04,0xF9,0x63,0xD6,0x07,0x48,0xB7,0x07,0xA0,0x00, ++0x41,0x81,0x82,0x97,0x93,0x17,0x34,0x01,0x63,0xD8,0x07,0x0E,0x93,0x17,0x24,0x01,0x97,0xF4,0x6D,0x00,0x93,0x84,0x04,0xF9,0x63,0xDB,0x07,0x48,0xB7,0x07,0xA0,0x00, +0x83,0xA5,0xC7,0x21,0x93,0x17,0x14,0x01,0x63,0xDC,0x07,0x44,0x93,0xD7,0x05,0x01,0x8D,0x8B,0x17,0xF7,0x6D,0x00,0xA3,0x05,0xF7,0x32,0x13,0x17,0x04,0x01,0x93,0xD7, +0x85,0x00,0x13,0xF6,0xF5,0x0F,0x93,0xF7,0xC7,0x0F,0x97,0x59,0xFF,0xFF,0x93,0x89,0x69,0xF5,0x63,0x5A,0x07,0x42,0x13,0xF7,0xF7,0x00,0x91,0x46,0x63,0x18,0xD7,0x00, +0x03,0xA7,0xC9,0x04,0xE1,0x81,0x13,0xF5,0x07,0x0F,0x02,0x97,0xB7,0x07,0xA0,0x00,0x17,0x39,0x6E,0x00,0x13,0x09,0x09,0x60,0x83,0xA7,0xC7,0x1F,0x03,0x25,0xC9,0x00, @@ -13479,614 +13288,639 @@ index 000000000000..b9661763dbcc +0xF5,0x02,0x89,0x67,0x93,0x87,0x47,0x0B,0x3E,0x95,0x83,0x27,0xC9,0x39,0x56,0x95,0x82,0x97,0x0D,0xE1,0x83,0x27,0xC9,0x39,0x83,0xA5,0x49,0x00,0x17,0x15,0x6E,0x00, +0x13,0x05,0x05,0xC9,0x82,0x97,0x19,0xE5,0x83,0x27,0x49,0x39,0x83,0xA5,0x49,0x00,0x5A,0x85,0x82,0x97,0x83,0xD7,0x89,0x23,0xF5,0x9B,0x23,0x9C,0xF9,0x22,0xC1,0xBD, +0x17,0xF7,0x6D,0x00,0x03,0x47,0xC7,0xF9,0xA9,0x47,0x17,0xD9,0x6D,0x00,0x13,0x09,0x69,0xBD,0x17,0xFA,0x6D,0x00,0x13,0x0A,0xEA,0xBC,0x63,0xED,0xE7,0x02,0x83,0x47, -+0xCA,0x3B,0x63,0x89,0xF9,0x06,0x83,0x47,0xCA,0x3B,0x93,0x95,0x89,0x01,0x17,0x55,0x6E,0x00,0x13,0x05,0x65,0xAE,0x8A,0x07,0xCA,0x97,0x83,0xAA,0x07,0x00,0x83,0x47, -+0xCA,0x3B,0xF2,0x07,0xCD,0x8F,0x83,0xC5,0x2A,0x24,0xDD,0x8D,0xEF,0x20,0x30,0x19,0x23,0x81,0x0A,0x24,0x97,0xF7,0x6D,0x00,0x23,0x84,0x37,0xF5,0x83,0x47,0xCA,0x3B, ++0xCA,0x3B,0x63,0x89,0xF9,0x06,0x83,0x47,0xCA,0x3B,0x93,0x95,0x89,0x01,0x17,0x55,0x6E,0x00,0x13,0x05,0x25,0xB1,0x8A,0x07,0xCA,0x97,0x83,0xAA,0x07,0x00,0x83,0x47, ++0xCA,0x3B,0xF2,0x07,0xCD,0x8F,0x83,0xC5,0x2A,0x24,0xDD,0x8D,0xEF,0x20,0x10,0x1D,0x23,0x81,0x0A,0x24,0x97,0xF7,0x6D,0x00,0x23,0x84,0x37,0xF5,0x83,0x47,0xCA,0x3B, +0x09,0x47,0x8A,0x07,0xCA,0x97,0x9C,0x43,0x97,0xF6,0x6D,0x00,0x23,0x8B,0xE6,0xF2,0x83,0xA7,0x87,0x24,0x91,0xE3,0x85,0x67,0x9A,0x07,0x99,0x83,0x13,0xD7,0x87,0x01, +0x13,0x67,0x47,0x09,0xA2,0x07,0x62,0x07,0xA1,0x83,0xD9,0x8F,0x37,0x07,0xA0,0x00,0x23,0x24,0xF7,0x12,0x83,0x47,0xCA,0x3B,0x8A,0x07,0x3E,0x99,0x83,0x27,0x09,0x00, +0x83,0xC7,0x27,0x24,0x99,0xE7,0xAD,0x47,0x17,0xF7,0x6D,0x00,0x23,0x0A,0xF7,0xEE,0xF9,0xB4,0x97,0x57,0xFF,0xFF,0x93,0x87,0xE7,0xB2,0xDC,0x57,0x4E,0x85,0xA9,0xB5, -+0x93,0xD7,0x45,0x01,0x75,0xB6,0x13,0x07,0x00,0x08,0xE3,0x91,0xE7,0xBE,0x93,0x17,0xF4,0x00,0xE3,0xDD,0x07,0xBC,0x83,0xC5,0xD4,0x3B,0x83,0xA7,0x09,0x0B,0x32,0x85, -+0x82,0x97,0xE9,0xB6,0x93,0x17,0xD4,0x00,0x63,0xD0,0x07,0x02,0x97,0x57,0xFF,0xFF,0x93,0x87,0x47,0xAF,0x83,0xA7,0xC7,0x18,0x11,0x45,0x82,0x97,0x17,0x55,0x6E,0x00, -+0x13,0x05,0x05,0xA2,0xEF,0x20,0xD0,0x0C,0xB7,0x07,0xA0,0x00,0x9C,0x4B,0xF9,0xBE,0x99,0xC1,0x6F,0x00,0x6F,0xF8,0x41,0x11,0x17,0x55,0x6E,0x00,0x13,0x05,0xC5,0xA1, -+0x06,0xC6,0xEF,0x20,0xF0,0x0A,0xB2,0x40,0x01,0x45,0x41,0x01,0x82,0x80,0x41,0x11,0x22,0xC4,0x17,0x54,0xFF,0xFF,0x13,0x04,0xE4,0xAA,0x83,0x27,0x04,0x2F,0x26,0xC2, -+0x06,0xC6,0xAA,0x84,0x82,0x97,0xD8,0x44,0x9C,0x44,0x93,0x06,0x47,0x00,0x63,0x88,0xD7,0x00,0xD4,0x40,0x63,0x9E,0xE6,0x00,0x98,0x40,0x63,0x1B,0xF7,0x00,0x83,0x27, -+0xC4,0x2E,0x82,0x97,0x05,0x45,0xB2,0x40,0x22,0x44,0x92,0x44,0x41,0x01,0x82,0x80,0x83,0x27,0xC4,0x2E,0x82,0x97,0x01,0x45,0xFD,0xB7,0x01,0x11,0x06,0xCE,0x22,0xCC, -+0x26,0xCA,0x4A,0xC8,0x4E,0xC6,0x91,0xE9,0x01,0x49,0xF2,0x40,0x62,0x44,0x4A,0x85,0xD2,0x44,0x42,0x49,0xB2,0x49,0x05,0x61,0x82,0x80,0x97,0x54,0xFF,0xFF,0x93,0x84, -+0x64,0xA4,0x83,0xA7,0xC4,0x39,0x2A,0x84,0xAE,0x89,0x82,0x97,0x2A,0x89,0x69,0xFD,0x83,0xA7,0x04,0x2F,0x82,0x97,0x58,0x44,0x54,0x40,0x93,0x07,0x47,0x00,0x63,0x93, -+0xE6,0x00,0x1C,0x40,0x14,0x44,0x63,0x8A,0xF6,0x00,0x23,0x20,0x37,0x01,0x5C,0xC4,0x83,0xA7,0xC4,0x2E,0x05,0x49,0x82,0x97,0x4D,0xBF,0x83,0xA7,0xC4,0x2E,0x82,0x97, -+0x97,0x37,0x6E,0x00,0x93,0x87,0x07,0x0D,0xBC,0x4F,0x85,0x07,0x17,0x37,0x6E,0x00,0x23,0x2E,0xF7,0x10,0x21,0x67,0xE3,0x79,0xF7,0xF8,0xA2,0x85,0x17,0x55,0x6E,0x00, -+0x13,0x05,0xC5,0x94,0xEF,0x20,0xA0,0x7D,0x97,0x37,0x6E,0x00,0x23,0xA0,0x07,0x10,0xAD,0xBF,0x41,0x11,0x26,0xC2,0x97,0x54,0xFF,0xFF,0x93,0x84,0xA4,0x9C,0x83,0xA7, -+0x04,0x2F,0x22,0xC4,0x06,0xC6,0x2A,0x84,0x82,0x97,0x1C,0x44,0x58,0x44,0x63,0x06,0xF7,0x02,0x4C,0x40,0x26,0x86,0xAA,0x86,0x84,0x43,0x13,0x87,0x47,0x00,0x63,0x93, -+0xF5,0x00,0x18,0x40,0x83,0x27,0xC6,0x2E,0x18,0xC4,0x36,0x85,0x82,0x97,0xB2,0x40,0x22,0x44,0x26,0x85,0x92,0x44,0x41,0x01,0x82,0x80,0x83,0xA7,0xC4,0x2E,0x81,0x44, -+0x82,0x97,0xF5,0xB7,0x01,0x11,0x22,0xCC,0x17,0x54,0xFF,0xFF,0x13,0x04,0x84,0x97,0x83,0x27,0x04,0x2F,0x26,0xCA,0x06,0xCE,0xAA,0x84,0x2E,0xC6,0x82,0x97,0x94,0x40, -+0xD0,0x40,0x9C,0x44,0xD8,0x44,0xB2,0x45,0x63,0x97,0xE7,0x00,0x83,0x27,0xC4,0x2E,0x82,0x97,0x01,0x45,0x09,0xA8,0x03,0xA8,0x07,0x00,0x63,0x1B,0xB8,0x00,0x83,0x27, -+0xC4,0x2E,0x82,0x97,0x05,0x45,0xF2,0x40,0x62,0x44,0xD2,0x44,0x05,0x61,0x82,0x80,0x63,0x84,0xC7,0x00,0x91,0x07,0xC9,0xBF,0xB6,0x87,0xF9,0xB7,0x41,0x11,0x22,0xC4, -+0x17,0x54,0xFF,0xFF,0x13,0x04,0x04,0x92,0x83,0x27,0x04,0x2F,0x26,0xC2,0x4A,0xC0,0x06,0xC6,0x2A,0x89,0x82,0x97,0x83,0x27,0xC9,0x00,0x83,0x24,0x89,0x00,0x63,0x9C, -+0xF4,0x00,0x83,0x27,0xC4,0x2E,0x82,0x97,0x01,0x45,0xB2,0x40,0x22,0x44,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80,0x83,0x27,0xC4,0x2E,0x82,0x97,0x88,0x40,0xF5,0xB7, -+0x03,0x47,0x45,0x00,0x97,0x37,0x6E,0x00,0x83,0xC7,0xE7,0xFA,0x5D,0xCF,0x05,0x47,0x63,0x9D,0xE7,0x0E,0x41,0x11,0x22,0xC4,0x26,0xC2,0x06,0xC6,0x17,0x37,0x6E,0x00, -+0x03,0x47,0xC7,0xFB,0x17,0x54,0xFF,0xFF,0x13,0x04,0xC4,0x8B,0x89,0x44,0x63,0x06,0xF7,0x00,0x83,0x27,0x04,0x32,0x85,0x44,0x82,0x97,0xA6,0x85,0x17,0x55,0x6E,0x00, -+0x13,0x05,0x85,0x81,0xEF,0x20,0xA0,0x69,0x83,0x27,0xC4,0x1C,0x82,0x97,0x26,0x85,0xEF,0xE0,0x3F,0xB1,0x83,0x27,0x84,0x1D,0x82,0x97,0x83,0x27,0x44,0x42,0x51,0x45, -+0x82,0x97,0x83,0x27,0x44,0x32,0x82,0x97,0x17,0x37,0x6E,0x00,0x03,0x47,0x07,0xF7,0x85,0x47,0x63,0x1F,0xF7,0x00,0xB7,0x06,0xA0,0x00,0x83,0xA7,0x86,0x0B,0x7D,0x77, -+0x7D,0x17,0xF9,0x8F,0x23,0xAC,0xF6,0x0A,0x97,0x37,0x6E,0x00,0x23,0x88,0x07,0xF4,0x89,0x47,0x17,0x37,0x6E,0x00,0x23,0x00,0xF7,0xF2,0x22,0x44,0x85,0x47,0x17,0xF7, -+0x6D,0x00,0xA3,0x01,0xF7,0xC4,0x85,0x47,0x17,0x17,0x6E,0x00,0xA3,0x09,0xF7,0xD8,0xB2,0x40,0x92,0x44,0x97,0xF5,0x6D,0x00,0x83,0xC5,0xD5,0xC2,0x17,0x45,0x6E,0x00, -+0x13,0x05,0x05,0x7A,0x41,0x01,0x6F,0x20,0x80,0x61,0x17,0xF7,0x6D,0x00,0xA3,0x0B,0x07,0xC0,0x09,0x47,0x63,0x96,0xE7,0x00,0x97,0x37,0x6E,0x00,0x23,0x8D,0x07,0xEC, -+0x83,0x47,0x55,0x00,0x89,0xC7,0x97,0xF7,0x6D,0x00,0x23,0x96,0x07,0xBE,0x85,0x47,0x17,0x17,0x6E,0x00,0xA3,0x05,0xF7,0xD4,0x97,0xF5,0x6D,0x00,0x83,0xC5,0x95,0xBE, -+0x17,0x45,0x6E,0x00,0x13,0x05,0xC5,0x75,0x7D,0xBF,0x85,0x47,0x17,0xF7,0x6D,0x00,0xA3,0x0A,0xF7,0xBC,0xE9,0xBF,0x35,0x71,0xAA,0x85,0x71,0x46,0x08,0x10,0x06,0xCF, -+0x22,0xCD,0x26,0xCB,0x4A,0xC9,0x4E,0xC7,0x52,0xC5,0xEF,0x30,0xAE,0xE2,0x83,0x44,0x21,0x02,0x17,0xC4,0x6D,0x00,0x13,0x04,0xE4,0x7A,0x45,0x46,0x93,0x95,0x54,0x00, -+0xB3,0x07,0xB4,0x00,0x91,0x65,0xBE,0x95,0x93,0x85,0x85,0x48,0x68,0x00,0xEF,0x30,0x6E,0xE0,0x83,0x46,0x11,0x02,0x03,0x46,0x31,0x02,0x05,0x47,0xB6,0x87,0x63,0x03, -+0xE6,0x00,0x81,0x47,0x17,0xF7,0x6D,0x00,0x23,0x00,0xF7,0xB8,0x93,0x07,0x00,0x18,0xB3,0x87,0xF4,0x02,0x09,0x67,0x03,0x46,0x41,0x02,0xA2,0x97,0xBA,0x97,0x22,0x57, -+0x23,0xA0,0xE7,0x48,0x05,0x47,0x81,0x47,0x63,0x13,0xE6,0x00,0xB6,0x87,0x17,0xF7,0x6D,0x00,0xA3,0x0B,0xF7,0xB4,0x85,0x49,0x09,0x69,0x63,0x91,0x36,0x13,0x37,0x77, -+0xA0,0x00,0x85,0x67,0x7C,0xDB,0x97,0x07,0x6E,0x00,0x93,0x87,0xA7,0x73,0x03,0xA6,0x07,0x42,0x13,0x09,0x89,0x47,0x97,0x15,0x6E,0x00,0x23,0xAD,0xC5,0xB4,0x83,0xA7, -+0x07,0x43,0x13,0x06,0x00,0x18,0x23,0x20,0xF7,0x08,0x83,0x47,0x21,0x02,0xB3,0x87,0xC7,0x02,0x32,0x56,0xCA,0x97,0xA2,0x97,0x90,0xC3,0x42,0x56,0xD0,0xC3,0x97,0x37, -+0x6E,0x00,0x23,0x86,0xD7,0xDE,0x7C,0x53,0x86,0x07,0x85,0x83,0x7C,0xD3,0x97,0x50,0xBE,0x00,0xE7,0x80,0x40,0xF1,0x03,0x49,0x21,0x02,0x91,0x64,0x0D,0x47,0x13,0x1A, -+0x59,0x00,0xB3,0x07,0x44,0x01,0xBE,0x94,0x83,0xA7,0xC4,0x47,0x83,0x49,0x11,0x02,0x8D,0x8B,0x63,0x9F,0xE7,0x10,0x93,0xF7,0x19,0x00,0x13,0x97,0x57,0x00,0x83,0x47, -+0xE1,0x00,0x45,0x46,0x6C,0x00,0x93,0xF7,0xF7,0xFD,0xD9,0x8F,0x68,0x18,0x23,0x07,0xF1,0x00,0xEF,0x30,0x2E,0xD2,0x97,0x47,0xFF,0xFF,0x93,0x87,0xA7,0x6A,0x83,0xA7, -+0xC7,0x29,0x68,0x18,0x82,0x97,0x83,0xA7,0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x05,0x67,0x79,0x17,0x63,0x6B, -+0xF7,0x0A,0x83,0xA7,0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x85,0x07,0xC2,0x07,0xC1,0x83,0x11,0x67,0x52,0x94, -+0x3A,0x94,0x13,0xF7,0xF7,0x0F,0x83,0x46,0x34,0x49,0xA1,0x83,0xA3,0x09,0xE4,0x48,0x03,0x47,0x44,0x49,0x23,0x0A,0xF4,0x48,0x93,0x15,0x09,0x01,0xB3,0xE5,0x35,0x01, -+0x17,0x45,0x6E,0x00,0x13,0x05,0x85,0x5C,0xEF,0x20,0x60,0x43,0xFA,0x40,0x6A,0x44,0xDA,0x44,0x4A,0x49,0xBA,0x49,0x2A,0x4A,0x0D,0x61,0x82,0x80,0x97,0x50,0xBE,0x00, -+0xE7,0x80,0xC0,0xE6,0x97,0xF7,0x6D,0x00,0x23,0x8F,0x07,0xA0,0x93,0x07,0x00,0x18,0xB3,0x87,0xF4,0x02,0x09,0x47,0xA2,0x97,0x3E,0x99,0x83,0x47,0x19,0x41,0x63,0x14, -+0xF7,0x00,0xA3,0x08,0x39,0x41,0x93,0x07,0x00,0x18,0xB3,0x84,0xF4,0x02,0x89,0x67,0x93,0x87,0x47,0x48,0x01,0x49,0x91,0x49,0xBE,0x94,0xA2,0x94,0x26,0x85,0x13,0x06, -+0x20,0x04,0x81,0x45,0x05,0x09,0xEF,0x30,0xAE,0xC6,0x93,0x84,0x24,0x04,0xE3,0x17,0x39,0xFF,0xD5,0xB5,0x83,0xA7,0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49, -+0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x7D,0x77,0x05,0x07,0xBA,0x97,0xA9,0xB7,0x97,0xE7,0x6D,0x00,0x93,0x87,0x07,0x5B,0x83,0xC7,0x47,0x40,0x05,0x47,0xE3,0x1D, -+0xF7,0xF4,0x89,0x47,0x17,0xF7,0x6D,0x00,0x23,0x0F,0xF7,0x98,0xB1,0xB7,0x5D,0x71,0x4E,0xDE,0x83,0x49,0x15,0x00,0xA6,0xC2,0x93,0x04,0xC0,0x0E,0xB3,0x84,0x99,0x02, -+0xA2,0xC4,0x17,0xC4,0x6D,0x00,0x13,0x04,0xE4,0x57,0xCA,0xC0,0x09,0x69,0x86,0xC6,0x52,0xDC,0x56,0xDA,0x19,0x47,0xB3,0x07,0x94,0x00,0xCA,0x97,0x83,0xA6,0x47,0x1E, -+0x63,0x4E,0xD7,0x02,0x83,0xA7,0x47,0x1E,0xAA,0x85,0x17,0x4A,0xFF,0xFF,0x13,0x0A,0x6A,0x55,0x95,0xEF,0x45,0x46,0x08,0x08,0xEF,0x30,0xCE,0xBB,0x83,0x27,0xCA,0x05, -+0x08,0x08,0x82,0x97,0x93,0x07,0xC0,0x0E,0xB3,0x89,0xF9,0x02,0x89,0x67,0x4E,0x94,0x3E,0x94,0x83,0x27,0x44,0x1E,0x85,0x07,0x23,0x22,0xF4,0x1E,0xB6,0x40,0x26,0x44, -+0x96,0x44,0x06,0x49,0xF2,0x59,0x62,0x5A,0xD2,0x5A,0x61,0x61,0x82,0x80,0x2A,0xC6,0x83,0x27,0xCA,0x52,0x13,0x05,0x89,0x1E,0x26,0x95,0x22,0x95,0x82,0x97,0xAA,0x8A, -+0x71,0xDD,0xB2,0x45,0x45,0x46,0xEF,0x30,0xEE,0xB6,0x13,0x05,0x89,0x1F,0x83,0x27,0x4A,0x39,0x26,0x95,0xD6,0x85,0x22,0x95,0x82,0x97,0x6D,0xB7,0x01,0x11,0x26,0xCA, -+0x83,0x44,0x25,0x00,0x4A,0xC8,0x06,0xCE,0x22,0xCC,0x4E,0xC6,0x52,0xC4,0x56,0xC2,0x5A,0xC0,0x93,0xF7,0x84,0x00,0x2A,0x89,0x95,0xC7,0x03,0x44,0x45,0x00,0x17,0x45, -+0x6E,0x00,0x13,0x05,0x25,0x46,0xA2,0x85,0xEF,0x20,0x60,0x2B,0x22,0x85,0x62,0x44,0xF2,0x40,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x92,0x4A,0x02,0x4B,0x05,0x61, -+0x6F,0xF0,0x0F,0x98,0x93,0xF7,0x04,0x01,0x83,0x49,0x35,0x00,0x00,0x45,0x85,0xC3,0x13,0x75,0xF4,0x0F,0x62,0x44,0xF2,0x40,0xD2,0x44,0x42,0x49,0x22,0x4A,0x92,0x4A, -+0x02,0x4B,0xCE,0x85,0xB2,0x49,0x05,0x46,0x05,0x61,0x6F,0x30,0x90,0x08,0x93,0xF7,0x24,0x00,0x03,0x4A,0x15,0x00,0xF1,0xC7,0x85,0x47,0x17,0x37,0x6E,0x00,0xA3,0x09, -+0xF7,0xB4,0x17,0x17,0x6E,0x00,0x03,0x47,0x27,0x93,0x85,0x47,0x97,0x4A,0xFF,0xFF,0x93,0x8A,0x4A,0x45,0x63,0x1A,0xF7,0x00,0x83,0xA7,0x8A,0x56,0x01,0x45,0x82,0x97, -+0x83,0xA7,0x4A,0x42,0x29,0x45,0x82,0x97,0x37,0x07,0xA0,0x00,0xB7,0x87,0xA0,0x00,0x03,0xAB,0x07,0x01,0x83,0x27,0x87,0x0B,0x93,0xE7,0xF7,0x1F,0x23,0x2C,0xF7,0x0A, -+0x83,0xA7,0x0A,0x32,0x82,0x97,0x13,0x97,0x09,0x01,0x93,0x17,0x8A,0x01,0xD9,0x8F,0xC1,0x8F,0x17,0x37,0x6E,0x00,0x23,0x21,0xF7,0xAE,0xB9,0x47,0x63,0xEA,0x87,0x10, -+0x81,0x46,0x17,0x36,0x6E,0x00,0x13,0x06,0x26,0x01,0xCE,0x85,0x21,0x45,0xEF,0x20,0x10,0x78,0x97,0x37,0x6E,0x00,0xA3,0x80,0x87,0xBC,0x97,0x37,0x6E,0x00,0xA3,0x83, -+0x07,0xAC,0xB7,0xD7,0xA0,0x00,0x03,0xA7,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x5A,0x07,0xA9,0x83,0xD9,0x8F,0x17,0x37,0x6E,0x00,0x23,0x2E,0xF7,0xAE,0x93,0x17,0x3B,0x00, -+0x63,0xC5,0x07,0x00,0x83,0xA7,0x4A,0x32,0x82,0x97,0x37,0x07,0xA0,0x00,0x83,0x27,0x87,0x0B,0x93,0xF7,0x07,0xE0,0x23,0x2C,0xF7,0x0A,0x97,0x37,0x6E,0x00,0xA3,0x89, -+0x07,0xA8,0xB7,0x07,0xA0,0x00,0x23,0xA0,0x87,0x1E,0x13,0xF6,0x14,0x00,0xCE,0x85,0x22,0x85,0xEF,0x30,0xF0,0x1A,0x03,0x27,0xC9,0x00,0xB7,0xB7,0xA0,0x00,0x91,0x88, -+0x23,0xA6,0xE7,0x22,0x97,0x37,0x6E,0x00,0x93,0x87,0xC7,0xA4,0x83,0xC7,0x67,0x11,0x03,0x47,0x59,0x00,0xF9,0x9B,0x05,0x8B,0xD9,0x8F,0x17,0x37,0x6E,0x00,0x23,0x06, -+0xF7,0xB4,0xF9,0xE4,0x97,0x06,0x6E,0x00,0x93,0x86,0xC6,0x35,0x83,0xA7,0x86,0x4C,0x03,0xA7,0x86,0x4C,0x13,0x05,0x00,0x40,0x03,0x47,0x07,0x00,0x0D,0x8B,0x16,0x07, -+0x11,0x07,0xBA,0x97,0x11,0x47,0x23,0x80,0xE7,0x00,0x41,0x47,0x23,0x81,0xE7,0x00,0xA3,0x81,0x07,0x00,0xA3,0x80,0x47,0x01,0x05,0x47,0xD8,0xC7,0x03,0xA7,0x86,0x4C, -+0x23,0xA4,0x37,0x01,0xC0,0xC3,0x83,0x47,0x07,0x00,0x85,0x07,0x23,0x00,0xF7,0x00,0x62,0x44,0x97,0x47,0xFF,0xFF,0x93,0x87,0xE7,0x30,0xF2,0x40,0xD2,0x44,0x42,0x49, -+0xB2,0x49,0x22,0x4A,0x92,0x4A,0x02,0x4B,0x03,0xA3,0xC7,0x18,0x05,0x61,0x02,0x83,0x93,0x07,0xC4,0xFD,0x13,0x07,0x10,0x02,0x13,0x05,0x20,0x03,0x63,0x7A,0xF7,0x02, -+0x93,0x07,0xA4,0xFB,0x13,0x07,0x10,0x03,0x13,0x05,0xA0,0x05,0x63,0x72,0xF7,0x02,0x93,0x07,0x84,0xF8,0x51,0x47,0x13,0x05,0x20,0x08,0x63,0x7B,0xF7,0x00,0x93,0x07, -+0x34,0xF7,0x13,0x07,0x70,0x02,0x21,0x45,0x63,0x64,0xF7,0x00,0x13,0x05,0xB0,0x09,0x01,0x47,0xD2,0x86,0x17,0x36,0x6E,0x00,0x13,0x06,0x06,0x2B,0xCE,0x85,0xEF,0x30, -+0xE0,0x23,0xE3,0x10,0x0A,0xEC,0x97,0x37,0x6E,0x00,0xA3,0x8D,0x87,0x96,0x55,0xBD,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x92,0x4A,0x02,0x4B, -+0x05,0x61,0x82,0x80,0x89,0x47,0x41,0x11,0x17,0x37,0x6E,0x00,0xA3,0x05,0xF7,0x94,0x41,0x01,0x82,0x80,0x93,0x57,0x85,0x00,0x01,0x11,0x93,0xF7,0xF7,0x0F,0x06,0xCE, -+0x2A,0xC4,0x2E,0xC6,0x17,0x37,0x6E,0x00,0xA3,0x0F,0xF7,0x92,0x95,0xE3,0x97,0x07,0x6E,0x00,0x93,0x87,0x27,0x25,0xB4,0x5F,0xB8,0x5F,0x23,0x20,0xD7,0x40,0xB8,0x5F, -+0xBC,0x5F,0x23,0xA2,0xE7,0x40,0x97,0x37,0x6E,0x00,0x23,0x80,0x07,0x92,0x01,0xA8,0x0D,0x47,0x63,0x99,0xE7,0x00,0x97,0x37,0x6E,0x00,0xA3,0x87,0x07,0x90,0xF2,0x40, -+0x05,0x61,0x82,0x80,0x05,0x66,0x81,0x45,0x37,0xE5,0xB3,0x00,0xEF,0x30,0x4E,0x8A,0x97,0x07,0x6E,0x00,0x93,0x87,0x07,0x21,0xB8,0x5F,0xB7,0xE6,0xB3,0x00,0x23,0x20, -+0xD7,0x40,0xB8,0x5F,0xBC,0x5F,0x03,0x27,0x07,0x40,0x23,0xA2,0xE7,0x40,0x97,0x37,0x6E,0x00,0x83,0xC7,0x57,0x8D,0x11,0x47,0x63,0x98,0xE7,0x00,0x85,0x47,0x17,0x37, -+0x6E,0x00,0x23,0x04,0xF7,0x8C,0x45,0xBF,0x15,0x47,0xE3,0x9A,0xE7,0xFA,0x61,0xBF,0x97,0x47,0xFF,0xFF,0x93,0x87,0x07,0x1D,0x83,0xA7,0x87,0x42,0x79,0x71,0x22,0xD4, -+0x26,0xD2,0x2A,0x84,0x4A,0xD0,0x4E,0xCE,0x83,0x44,0xD5,0x00,0x83,0x59,0xA5,0x00,0x03,0x49,0x35,0x01,0x06,0xD6,0x68,0x00,0x82,0x97,0x83,0x57,0x84,0x00,0x17,0x37, -+0x6E,0x00,0x23,0x1B,0xF7,0x8C,0x83,0x47,0xE4,0x00,0x17,0x37,0x6E,0x00,0x23,0x0C,0xF7,0x8C,0x83,0x57,0x24,0x02,0x17,0x37,0x6E,0x00,0x23,0x17,0xF7,0x8C,0x63,0x13, -+0x09,0x00,0x05,0x49,0x83,0x45,0x44,0x02,0x17,0x45,0x6E,0x00,0x13,0x05,0x05,0x12,0x97,0x37,0x6E,0x00,0x23,0x83,0x27,0x87,0x97,0x37,0x6E,0x00,0xA3,0x87,0xB7,0x84, -+0xC2,0x05,0xB3,0xE5,0x25,0x01,0xEF,0x10,0x90,0x75,0x97,0x37,0x6E,0x00,0x83,0xC7,0xD7,0x83,0xFD,0x17,0x93,0xF7,0xF7,0x0F,0x05,0x47,0x63,0x68,0xF7,0x00,0xB7,0x67, -+0xF0,0x00,0x13,0x07,0xF0,0x1F,0x23,0xA2,0xE7,0x30,0x32,0x47,0x97,0x37,0x6E,0x00,0x23,0x95,0x37,0x87,0x93,0x07,0xF0,0x04,0x85,0x45,0x63,0xE3,0xE7,0x00,0x81,0x45, -+0x01,0x45,0xEF,0xC0,0x4F,0xAC,0x93,0x97,0x84,0x01,0xE1,0x87,0x63,0xC8,0x07,0x0C,0x92,0x04,0x97,0x37,0x6E,0x00,0x23,0x93,0x97,0x84,0xA2,0x86,0x17,0x27,0x6E,0x00, -+0x13,0x07,0x47,0x7D,0x17,0x26,0x6E,0x00,0x13,0x06,0x46,0x7D,0x93,0x05,0x00,0x10,0x83,0xC7,0xF6,0x00,0x13,0x95,0x87,0x01,0x61,0x85,0x63,0x44,0x05,0x0A,0x92,0x07, -+0x23,0x15,0xF7,0x06,0x09,0x07,0x85,0x06,0xE3,0x14,0xE6,0xFE,0x83,0x47,0x64,0x01,0x83,0x45,0x84,0x01,0x17,0x45,0x6E,0x00,0x13,0x05,0xC5,0x07,0x17,0x37,0x6E,0x00, -+0xA3,0x0C,0xF7,0x88,0x03,0x47,0x74,0x01,0xF2,0x07,0x97,0x36,0x6E,0x00,0xA3,0x86,0xB6,0x88,0x97,0x36,0x6E,0x00,0x23,0x82,0xE6,0x88,0x42,0x07,0xD9,0x8F,0xDD,0x8D, -+0xEF,0x10,0xF0,0x69,0x93,0x05,0xA4,0x01,0x21,0x46,0x17,0x35,0x6E,0x00,0x13,0x05,0xF5,0x86,0xEF,0x20,0x3E,0xF0,0x97,0x37,0x6E,0x00,0x83,0xC7,0x47,0x86,0x97,0x35, -+0x6E,0x00,0x83,0xC5,0xD5,0x85,0xC2,0x05,0xE2,0x07,0xCD,0x8F,0x97,0x35,0x6E,0x00,0x83,0xC5,0x15,0x85,0xCD,0x8F,0x97,0x35,0x6E,0x00,0x83,0xC5,0x65,0x84,0xA2,0x05, -+0xDD,0x8D,0x17,0x45,0x6E,0x00,0x13,0x05,0xE5,0x00,0xEF,0x10,0x50,0x65,0xB2,0x50,0x22,0x54,0x92,0x54,0x02,0x59,0xF2,0x49,0x45,0x61,0x82,0x80,0x93,0x84,0x04,0xF0, -+0x05,0xBF,0x8D,0x8F,0xA9,0xBF,0x41,0x11,0x93,0x05,0x45,0x00,0x13,0x06,0x00,0x02,0x17,0x25,0x6E,0x00,0x13,0x05,0x65,0x77,0x06,0xC6,0xEF,0x20,0xBE,0xE9,0xB2,0x40, -+0x41,0x01,0x82,0x80,0x41,0x11,0x93,0x05,0x45,0x00,0x13,0x06,0x00,0x03,0x17,0x25,0x6E,0x00,0x13,0x05,0x85,0x77,0x06,0xC6,0xEF,0x20,0xDE,0xE7,0xB2,0x40,0x41,0x01, -+0x82,0x80,0x41,0x11,0x22,0xC4,0x93,0x05,0x15,0x00,0x2A,0x84,0x13,0x06,0x90,0x03,0x17,0x25,0x6E,0x00,0x13,0x05,0xA5,0x78,0x06,0xC6,0xEF,0x20,0xBE,0xE5,0x93,0x05, -+0xC4,0x03,0x11,0x46,0x17,0x25,0x6E,0x00,0x13,0x05,0x25,0x77,0xEF,0x20,0x9E,0xE4,0x22,0x44,0xB2,0x40,0x97,0x25,0x6E,0x00,0x83,0xC5,0x65,0x76,0x17,0x45,0x6E,0x00, -+0x13,0x05,0x85,0xF8,0x41,0x01,0x6F,0x10,0x90,0x5B,0x93,0x57,0x85,0x00,0x01,0x11,0x93,0xF7,0xF7,0x0F,0x17,0x27,0x6E,0x00,0x13,0x07,0xC7,0x67,0x41,0x81,0xB3,0x06, -+0xF7,0x00,0x06,0xCE,0x22,0xCC,0x13,0x75,0xF5,0x0F,0x93,0xB7,0x17,0x00,0xA3,0x88,0xA6,0x10,0xBA,0x97,0x05,0xE9,0x83,0xC7,0x17,0x11,0xB9,0xE7,0x17,0x44,0xFF,0xFF, -+0x13,0x04,0x44,0xF8,0x83,0x27,0x84,0x56,0x05,0x45,0x82,0x97,0x83,0x27,0xC4,0x5C,0x82,0x97,0x17,0x45,0x6E,0x00,0x13,0x05,0x25,0xF4,0x62,0x44,0xF2,0x40,0x05,0x61, -+0x6F,0x10,0x10,0x55,0x03,0xC7,0x17,0x11,0x85,0x47,0x63,0x0F,0xF7,0x00,0x97,0x47,0xFF,0xFF,0x93,0x87,0x27,0xF5,0x83,0xA7,0x87,0x56,0x01,0x45,0x82,0x97,0x17,0x45, -+0x6E,0x00,0x13,0x05,0x25,0xF2,0xD1,0xBF,0xF2,0x40,0x62,0x44,0x05,0x61,0x82,0x80,0x29,0x71,0x23,0x2E,0x11,0x12,0x93,0x07,0x50,0x02,0x63,0x92,0xF5,0x02,0xAA,0x85, -+0x41,0x46,0x88,0x19,0xEF,0x20,0x1E,0xD9,0x41,0x46,0x8C,0x19,0x88,0x11,0xEF,0x20,0x7E,0xD8,0x88,0x11,0x25,0x34,0x83,0x20,0xC1,0x13,0x31,0x61,0x82,0x80,0x93,0x07, -+0x60,0x02,0x63,0x98,0xF5,0x00,0x89,0x47,0x17,0x27,0x6E,0x00,0xA3,0x05,0xF7,0x5C,0xDD,0xB7,0x93,0x07,0x70,0x02,0x63,0x9D,0xF5,0x00,0xAA,0x85,0x21,0x46,0x88,0x19, -+0xEF,0x20,0x5E,0xD5,0x4E,0x55,0xDE,0x55,0x83,0x20,0xC1,0x13,0x31,0x61,0x9D,0xB1,0x93,0x07,0x80,0x02,0x63,0x91,0xF5,0x02,0xAA,0x85,0x13,0x06,0x80,0x02,0x88,0x19, -+0xEF,0x20,0x5E,0xD3,0x13,0x06,0x80,0x02,0x8C,0x19,0x08,0x19,0xEF,0x20,0x9E,0xD2,0x08,0x19,0xF9,0x39,0x4D,0xB7,0x93,0x07,0x90,0x02,0x63,0x9D,0xF5,0x00,0xAA,0x85, -+0x21,0x46,0x88,0x19,0xEF,0x20,0x1E,0xD1,0x4E,0x55,0xDE,0x55,0x83,0x20,0xC1,0x13,0x31,0x61,0xE1,0xBD,0x93,0x07,0xB0,0x02,0x63,0x91,0xF5,0x02,0xAA,0x85,0x13,0x06, -+0x40,0x02,0x88,0x19,0xEF,0x20,0x1E,0xCF,0x13,0x06,0x40,0x02,0x8C,0x19,0x08,0x01,0xEF,0x20,0x5E,0xCE,0x08,0x01,0x05,0x3D,0xB9,0xBF,0x93,0x07,0xC0,0x02,0x63,0x91, -+0xF5,0x02,0xAA,0x85,0x13,0x06,0x40,0x03,0x88,0x19,0xEF,0x20,0xBE,0xCC,0x13,0x06,0x40,0x03,0x8C,0x19,0x88,0x00,0xEF,0x20,0xFE,0xCB,0x88,0x00,0x25,0x35,0x25,0xBF, -+0x93,0x07,0xD0,0x02,0xE3,0x99,0xF5,0xF2,0xAA,0x85,0x13,0x06,0x00,0x04,0x88,0x19,0xEF,0x20,0x5E,0xCA,0x13,0x06,0x00,0x04,0x8C,0x19,0x0A,0x85,0xEF,0x20,0x9E,0xC9, -+0x0A,0x85,0x05,0x35,0x09,0xBF,0x5C,0x41,0x17,0xE7,0x6D,0x00,0x23,0x2A,0xF7,0x20,0x82,0x80,0xB7,0x77,0xA0,0x00,0x03,0xA7,0x07,0x0A,0x97,0x07,0x6E,0x00,0x93,0x87, -+0x67,0xE0,0x83,0xA7,0x07,0x43,0x13,0x77,0xF7,0x0F,0xA3,0x02,0x05,0x00,0xC2,0x07,0xD9,0x8F,0x23,0x02,0xF5,0x00,0x13,0xD7,0x07,0x01,0xE1,0x83,0x23,0x03,0xE5,0x00, -+0xA3,0x03,0xF5,0x00,0x97,0x27,0x6E,0x00,0x23,0x83,0x07,0x4C,0x82,0x80,0x97,0xE7,0x6D,0x00,0x93,0x87,0x27,0xDD,0x03,0xA7,0x47,0x1E,0x41,0x11,0x22,0xC4,0x06,0xC6, -+0x3E,0x84,0x63,0x5A,0xE0,0x02,0x97,0x27,0x6E,0x00,0x83,0xC7,0xA7,0x48,0x85,0xE7,0x97,0x07,0x6E,0x00,0x93,0x87,0x07,0xDB,0x03,0xA5,0x47,0x20,0x97,0x47,0xFF,0xFF, -+0x93,0x87,0x47,0xDA,0x83,0xA7,0x47,0x19,0x82,0x97,0x11,0xC5,0x85,0x47,0x17,0x27,0x6E,0x00,0x23,0x01,0xF7,0x46,0x83,0x27,0x04,0x2D,0x63,0x5C,0xF0,0x02,0x97,0x27, -+0x6E,0x00,0x83,0xC7,0x37,0x45,0x95,0xE7,0x97,0x07,0x6E,0x00,0x93,0x87,0x87,0xD7,0x03,0xA5,0x47,0x20,0x97,0x47,0xFF,0xFF,0x93,0x87,0xC7,0xD6,0x83,0xA7,0x47,0x19, -+0x13,0x05,0x05,0x20,0x82,0x97,0x11,0xC5,0x85,0x47,0x17,0x27,0x6E,0x00,0xA3,0x03,0xF7,0x42,0x22,0x44,0xB2,0x40,0x41,0x01,0x6F,0xD0,0x1E,0xD4,0x7D,0xC5,0x03,0x47, -+0x45,0x05,0x83,0x47,0x55,0x05,0xBA,0x97,0x93,0xF7,0xF7,0x0F,0x05,0x47,0x63,0x7E,0xF7,0x0C,0x03,0x47,0x45,0x06,0x63,0xEB,0xE7,0x0C,0x83,0x47,0xC5,0x00,0x83,0x45, -+0x25,0x05,0x03,0x48,0x15,0x01,0x93,0xE7,0x47,0x00,0x23,0x06,0xF5,0x00,0x93,0xF7,0xF5,0x07,0x13,0x97,0x17,0x00,0x83,0x46,0x25,0x01,0x83,0x47,0x15,0x02,0x13,0x58, -+0x48,0x00,0x92,0x06,0x85,0x8B,0xD9,0x8F,0x33,0xE8,0x06,0x01,0x03,0x47,0x25,0x02,0x83,0x46,0x35,0x01,0x03,0x46,0xA5,0x01,0xA3,0x00,0xF5,0x02,0x79,0x9B,0x93,0xD7, -+0x75,0x00,0xB2,0x06,0x5D,0x8F,0xB3,0xE6,0x06,0x01,0x93,0x57,0x46,0x00,0x85,0x8B,0xC2,0x06,0xC1,0x82,0xFA,0x07,0xD5,0x8F,0x93,0x56,0x17,0x00,0x8D,0x8A,0xF2,0x06, -+0xD5,0x8F,0x93,0x56,0x57,0x00,0x23,0x01,0xE5,0x02,0xD2,0x05,0x85,0x8A,0x19,0x83,0xCD,0x8F,0xCE,0x06,0x05,0x8B,0x4E,0x07,0xD5,0x8F,0xD9,0x8F,0x03,0x47,0xD5,0x00, -+0x05,0x8A,0x4A,0x06,0x11,0x83,0x0D,0x8B,0x42,0x07,0xD1,0x8F,0xD9,0x8F,0x37,0x07,0x00,0x80,0xD9,0x8F,0x37,0x07,0xA0,0x00,0x23,0x20,0xF7,0x28,0x83,0x27,0x47,0x28, -+0x93,0x96,0x07,0x01,0xE3,0xDC,0x06,0xFE,0xC2,0x07,0xC1,0x83,0x23,0x00,0xF5,0x04,0xA1,0x83,0xA3,0x00,0xF5,0x04,0x23,0x01,0x05,0x04,0xA3,0x01,0x05,0x04,0xB7,0x07, -+0xA0,0x00,0x23,0xA0,0x07,0x28,0x23,0xA2,0x07,0x28,0x82,0x80,0x03,0x47,0x35,0x06,0x63,0xE3,0xE7,0x02,0x83,0x47,0x05,0x06,0x23,0x09,0xF5,0x04,0x83,0x47,0x95,0x04, -+0x8E,0x07,0x13,0xF7,0x07,0x04,0x83,0x47,0x25,0x02,0x93,0xF7,0xF7,0xFB,0xD9,0x8F,0x23,0x01,0xF5,0x02,0x19,0xB7,0x03,0x47,0x25,0x06,0xE3,0xE8,0xE7,0xFC,0x83,0x47, -+0xF5,0x05,0x23,0x09,0xF5,0x04,0x83,0x47,0x95,0x04,0x92,0x07,0xD9,0xBF,0x01,0x11,0x26,0xCA,0x06,0xCE,0x22,0xCC,0x4A,0xC8,0x4E,0xC6,0x52,0xC4,0x56,0xC2,0x5A,0xC0, -+0x97,0xE6,0x6D,0x00,0x83,0xC6,0xC6,0xFB,0xA9,0x47,0x17,0xC7,0x6D,0x00,0x13,0x07,0x67,0xBF,0x09,0x66,0x97,0xE4,0x6D,0x00,0x93,0x84,0xC4,0xBE,0x63,0xF5,0xD7,0x04, -+0x93,0x07,0x00,0x09,0x63,0x14,0xF5,0x08,0x97,0x26,0x6E,0x00,0x83,0xC6,0xB6,0x3B,0x93,0xE7,0x26,0x00,0x97,0x25,0x6E,0x00,0xA3,0x87,0xF5,0x3A,0x83,0xC5,0xD4,0x3B, -+0x93,0x07,0x80,0x09,0xB3,0x87,0xB7,0x02,0xBA,0x97,0xB2,0x97,0x83,0xA7,0x47,0x14,0xB1,0xEF,0x93,0xF7,0x16,0x00,0xB9,0xEB,0x93,0xE6,0x66,0x00,0x97,0x27,0x6E,0x00, -+0xA3,0x83,0xD7,0x38,0xA1,0xA0,0x83,0xC7,0xC4,0x3B,0xAE,0x8A,0x8A,0x07,0xBA,0x97,0x80,0x43,0x83,0x47,0xD4,0x23,0x03,0x2B,0x04,0x00,0x03,0x2A,0x44,0x00,0xA3,0x00, -+0xF4,0x24,0x93,0x07,0x00,0x0C,0x63,0x1D,0xF5,0x02,0x03,0x47,0x24,0x24,0x99,0x47,0x63,0x1E,0xF7,0x00,0x97,0x47,0xFF,0xFF,0x93,0x87,0xC7,0xB6,0x83,0xA7,0x87,0x10, -+0x13,0x05,0x40,0x0C,0x82,0x97,0x8D,0x47,0x23,0x01,0xF4,0x24,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x92,0x4A,0x02,0x4B,0x05,0x61,0x82,0x80, -+0x93,0x07,0x00,0x0D,0x63,0x14,0xF5,0x0A,0x03,0x47,0x24,0x24,0x9D,0x47,0xE3,0x1F,0xF7,0xFC,0x26,0x89,0x97,0x44,0xFF,0xFF,0x93,0x84,0xC4,0xB2,0x83,0xA7,0x84,0x10, -+0x13,0x05,0x40,0x0D,0x82,0x97,0x85,0x47,0xA3,0x0C,0xFA,0x04,0x23,0x0D,0x5A,0x05,0x83,0xA7,0x84,0x49,0x52,0x85,0x82,0x97,0x83,0x57,0xA4,0x23,0x93,0xF7,0x07,0x04, -+0x81,0xEF,0x83,0x47,0x9A,0x04,0x95,0x83,0x85,0x8B,0xB9,0xC3,0x83,0x47,0x9B,0x00,0xA2,0x07,0x93,0xF7,0x07,0x40,0x8D,0xCF,0x83,0x47,0x54,0x24,0x05,0x47,0xED,0x9B, -+0xA3,0x02,0xF4,0x24,0x83,0xA7,0x84,0x53,0x97,0x24,0x6E,0x00,0x83,0xC4,0x14,0x1C,0x63,0x9D,0xE4,0x00,0x17,0x27,0x6E,0x00,0xA3,0x0A,0x07,0x1A,0x22,0x85,0x82,0x97, -+0x97,0x27,0x6E,0x00,0xA3,0x84,0x97,0x1A,0xB9,0xBF,0x22,0x85,0x82,0x97,0xA1,0xBF,0x83,0xA7,0x84,0x10,0x13,0x05,0x40,0x0D,0x82,0x97,0x03,0x45,0xC9,0x3B,0x9C,0x54, -+0x82,0x97,0x23,0x20,0x04,0x00,0x23,0x22,0x04,0x00,0x89,0xB7,0x93,0x07,0x00,0x09,0xE3,0x1E,0xF5,0xF2,0x83,0x46,0x24,0x24,0xA1,0x47,0xE3,0x97,0xF6,0xEA,0xBA,0x89, -+0x03,0xC7,0xD4,0x3B,0x93,0x07,0x80,0x09,0x17,0x49,0xFF,0xFF,0x13,0x09,0x89,0xA7,0xB3,0x87,0xE7,0x02,0xCE,0x97,0xB2,0x97,0x03,0xA7,0x47,0x14,0x05,0x07,0x23,0xA2, -+0xE7,0x14,0x03,0x57,0xA4,0x23,0x91,0x67,0x93,0x87,0x07,0x04,0x7D,0x8F,0x63,0x16,0xF7,0x06,0x83,0x47,0x54,0x24,0x97,0x24,0x6E,0x00,0x83,0xC4,0x34,0x13,0x05,0x47, -+0xE9,0x9B,0xA3,0x02,0xF4,0x24,0x83,0x27,0x89,0x53,0x63,0x95,0xE4,0x04,0x17,0x27,0x6E,0x00,0xA3,0x0D,0x07,0x10,0x22,0x85,0x82,0x97,0x97,0x27,0x6E,0x00,0xA3,0x87, -+0x97,0x10,0x89,0x64,0x13,0x0A,0x84,0x01,0x93,0x0A,0x80,0x09,0x93,0x84,0x44,0x0B,0x83,0x27,0xC9,0x52,0x52,0x85,0x82,0x97,0xAA,0x85,0xE3,0x06,0x05,0xEA,0x83,0x47, -+0x44,0x24,0x03,0x27,0x49,0x39,0xB3,0x87,0x57,0x03,0xA6,0x97,0x33,0x85,0xF9,0x00,0x02,0x97,0xF9,0xBF,0x22,0x85,0x82,0x97,0xE9,0xB7,0x83,0x27,0x89,0x10,0x13,0x05, -+0x40,0x09,0x82,0x97,0x03,0xC5,0xC4,0x3B,0x83,0x27,0x89,0x02,0x15,0xBF,0x39,0x71,0x52,0xD4,0x56,0xD2,0x06,0xDE,0x22,0xDC,0x26,0xDA,0x4A,0xD8,0x4E,0xD6,0x5A,0xD0, -+0x5E,0xCE,0x62,0xCC,0x66,0xCA,0xA5,0x47,0x2A,0x8A,0xAE,0x8A,0x63,0x17,0xF5,0x00,0x97,0xE5,0x6D,0x00,0x83,0xC5,0xC5,0xD6,0x29,0xA0,0x99,0x47,0xAA,0x85,0xE3,0x09, -+0xF5,0xFE,0x17,0x44,0xFF,0xFF,0x13,0x04,0xE4,0x99,0xAD,0x47,0x17,0xE7,0x6D,0x00,0x23,0x08,0xF7,0xD4,0x83,0x27,0x84,0x10,0x13,0x05,0x40,0x0D,0x2E,0xC6,0x82,0x97, -+0x83,0x27,0x84,0x10,0x13,0x05,0x40,0x09,0x82,0x97,0x83,0x27,0x84,0x10,0x13,0x05,0x40,0x0C,0x82,0x97,0xB2,0x45,0x99,0x47,0x63,0xEB,0xB7,0x1A,0x17,0xCB,0x6D,0x00, -+0x13,0x0B,0x4B,0x96,0x8A,0x05,0xDA,0x95,0x03,0xA9,0x05,0x00,0x83,0x29,0x49,0x00,0x63,0x85,0x09,0x0C,0xB7,0x07,0xA0,0x00,0x03,0xAC,0x07,0x01,0x83,0x27,0xC4,0x39, -+0x93,0x04,0x89,0x00,0xCE,0x85,0x26,0x85,0x82,0x97,0x35,0xE1,0x83,0x27,0xC4,0x39,0x93,0x04,0x89,0x01,0xCE,0x85,0x26,0x85,0x82,0x97,0x31,0xE9,0x83,0x27,0xC4,0x39, -+0x93,0x04,0x89,0x02,0xCE,0x85,0x26,0x85,0x82,0x97,0x31,0xE1,0x03,0xC5,0xB9,0x05,0x93,0x0C,0x80,0x09,0x89,0x6B,0x33,0x05,0x95,0x03,0x93,0x84,0x4B,0x0B,0x83,0x27, -+0xC4,0x39,0xCE,0x85,0x26,0x95,0x5A,0x95,0x82,0x97,0x21,0xC1,0x83,0xC7,0xB9,0x05,0xB3,0x87,0x97,0x03,0xBE,0x94,0xDA,0x97,0xDE,0x97,0x03,0xA7,0x47,0x14,0xDA,0x94, -+0x63,0x57,0xE0,0x00,0x03,0xA7,0x47,0x14,0x7D,0x17,0x23,0xA2,0xE7,0x14,0x83,0x27,0xC4,0x52,0x26,0x85,0x82,0x97,0xB7,0x05,0x00,0x80,0xC5,0x8D,0x01,0x46,0x17,0x45, -+0x6E,0x00,0x13,0x05,0xE5,0x8B,0xEF,0x10,0x80,0x6B,0x93,0x17,0xCC,0x00,0x63,0xC7,0x07,0x00,0x83,0x47,0x09,0x24,0x85,0x07,0x23,0x8A,0xF9,0x04,0x83,0x27,0xC4,0x39, -+0xCE,0x85,0x17,0x05,0x6E,0x00,0x13,0x05,0xA5,0x92,0x82,0x97,0x19,0xE5,0x83,0x27,0x44,0x39,0xCE,0x85,0x13,0x05,0x89,0x02,0x82,0x97,0x23,0x01,0x09,0x24,0x23,0x16, -+0x09,0x24,0x23,0x20,0x09,0x00,0x23,0x22,0x09,0x00,0x83,0x27,0x44,0x11,0x37,0x09,0xA0,0x00,0x82,0x97,0x83,0x27,0x04,0x43,0x01,0x45,0x82,0x97,0x83,0x27,0x09,0x01, -+0x17,0x27,0x6E,0x00,0x03,0x47,0x27,0xF3,0x55,0xEB,0x37,0x07,0x00,0x02,0x13,0x07,0x07,0x02,0xF9,0x8F,0xC5,0xE7,0x83,0x27,0x89,0x0B,0x05,0x67,0x05,0x4B,0xD9,0x8F, -+0x23,0x2C,0xF9,0x0A,0x83,0x27,0x04,0x32,0x97,0x09,0x6E,0x00,0x93,0x89,0x89,0x83,0x42,0x0A,0x82,0x97,0x97,0x27,0x6E,0x00,0x23,0x82,0x67,0xF3,0x83,0xA4,0x89,0x4C, -+0x83,0xA7,0x89,0x4C,0x19,0x46,0x81,0x45,0x83,0xC7,0x07,0x00,0x33,0x6A,0x5A,0x01,0x8D,0x8B,0x96,0x07,0x91,0x07,0xBE,0x94,0x13,0x85,0x24,0x00,0xEF,0x20,0x4E,0xE9, -+0x99,0x47,0x23,0x90,0xF4,0x00,0xB1,0x47,0x23,0x81,0xF4,0x00,0x23,0xA4,0x44,0x01,0x83,0x27,0x09,0x01,0x03,0xA7,0x89,0x4C,0x13,0x05,0x00,0x40,0xDC,0xC0,0x83,0x47, -+0x07,0x00,0x85,0x07,0x23,0x00,0xF7,0x00,0x03,0x23,0xC4,0x18,0x62,0x54,0x97,0x27,0x6E,0x00,0x23,0x82,0x67,0xEB,0xF2,0x50,0xD2,0x54,0x42,0x59,0xB2,0x59,0x22,0x5A, -+0x92,0x5A,0x02,0x5B,0xF2,0x4B,0x62,0x4C,0xD2,0x4C,0x21,0x61,0x02,0x83,0x17,0x35,0x6E,0x00,0x13,0x05,0xA5,0x7B,0xEF,0x10,0x80,0x5A,0x05,0xBF,0xF2,0x50,0x62,0x54, -+0xD2,0x54,0x42,0x59,0xB2,0x59,0x22,0x5A,0x92,0x5A,0x02,0x5B,0xF2,0x4B,0x62,0x4C,0xD2,0x4C,0x21,0x61,0x82,0x80,0x97,0x26,0x6E,0x00,0x83,0xC6,0x36,0xE7,0x05,0x47, -+0xAA,0x87,0x63,0x91,0xE6,0x02,0x03,0x47,0x55,0x24,0x93,0x76,0x27,0x00,0x89,0xC6,0x23,0x20,0x05,0x00,0x23,0x22,0x05,0x00,0x13,0x67,0x77,0x00,0xA3,0x82,0xE7,0x24, -+0x01,0x45,0x82,0x80,0x6F,0xC0,0x5E,0xD0,0x97,0x27,0x6E,0x00,0x83,0xC7,0x17,0xE4,0x63,0x8A,0x07,0x3A,0x59,0x71,0xA6,0xD2,0x86,0xD6,0xA2,0xD4,0xCA,0xD0,0xCE,0xCE, -+0xD2,0xCC,0xD6,0xCA,0xDA,0xC8,0xDE,0xC6,0xE2,0xC4,0xE6,0xC2,0xEA,0xC0,0x6E,0xDE,0x05,0x47,0x81,0x44,0x81,0x47,0x63,0x64,0xA7,0x00,0x93,0x77,0xF5,0x0F,0x3E,0xCE, -+0xAA,0x87,0x11,0xC1,0x85,0x47,0x85,0x07,0x93,0xF7,0xF7,0x0F,0x3E,0xD0,0x93,0x07,0x80,0x09,0x33,0x05,0xF5,0x02,0x89,0x67,0x93,0x87,0x47,0x0B,0x17,0xB9,0x6D,0x00, -+0x13,0x09,0x49,0x70,0x85,0x4B,0x01,0x4A,0x17,0x34,0xFF,0xFF,0x13,0x04,0x84,0x6F,0xAA,0x97,0xCA,0x97,0x3E,0xD2,0x4A,0x95,0x89,0x67,0xAA,0x97,0x3E,0xD6,0x83,0x27, -+0x04,0x1A,0x01,0x4C,0x82,0x97,0x72,0x4B,0x02,0x57,0x93,0x77,0xFB,0x0F,0x63,0xEC,0xE7,0x06,0x63,0x05,0x0C,0x2A,0x83,0x27,0x44,0x42,0x51,0x45,0x82,0x97,0x85,0x69, -+0x93,0x87,0x89,0x38,0x63,0x1C,0xFA,0x04,0x17,0xD7,0x6D,0x00,0x13,0x07,0x87,0x6B,0xB7,0x77,0xA0,0x00,0x83,0xA7,0xC7,0x09,0x83,0x26,0x07,0x7D,0x03,0x27,0x07,0x7D, -+0xA2,0x07,0xAC,0x4E,0x78,0x4F,0x17,0x35,0x6E,0x00,0x13,0x05,0x25,0x6C,0xE2,0x05,0x42,0x07,0xD9,0x8D,0xDD,0x8D,0xB3,0xE5,0x85,0x01,0xEF,0x10,0x40,0x48,0x83,0x27, -+0xC4,0x4A,0x82,0x97,0x93,0x97,0x34,0x01,0x63,0xC8,0x07,0x00,0xB7,0x07,0xA0,0x00,0x84,0x43,0xB3,0xE4,0x34,0x01,0x84,0xC3,0x85,0x4B,0x01,0x4A,0x05,0x0A,0x42,0x0A, -+0x13,0x5A,0x0A,0x01,0xAD,0xBF,0x93,0x17,0xCB,0x01,0x3E,0xCA,0x93,0x07,0x80,0x09,0xB3,0x07,0xFB,0x02,0x17,0xD7,0x6D,0x00,0x13,0x07,0x07,0x70,0x81,0x4A,0xBA,0x97, -+0x05,0x67,0x3E,0xCC,0x93,0x07,0xC7,0x04,0xB3,0x07,0xFB,0x02,0xB3,0x09,0xF9,0x00,0x3E,0xC8,0xB3,0xF7,0xE4,0x00,0x3E,0xD4,0x93,0x07,0x40,0x25,0xB3,0x87,0xFA,0x02, -+0x42,0x47,0xBA,0x97,0xCA,0x97,0x03,0xC7,0xE7,0x25,0x13,0x77,0xF7,0x0F,0x4D,0xEF,0x93,0x87,0x49,0x02,0x93,0x8D,0x49,0x04,0x13,0x8D,0x49,0x03,0x3E,0xC6,0x83,0x27, -+0x04,0x3A,0x6E,0x85,0x82,0x97,0x39,0xE1,0x83,0x27,0x04,0x53,0x6E,0x85,0x82,0x97,0xAA,0x8C,0x6E,0x85,0x63,0x8C,0x0C,0x1A,0x03,0x27,0xC4,0x52,0x02,0x97,0x03,0xC7, -+0x1C,0x05,0x83,0xC6,0x0C,0x05,0x83,0xC5,0x6C,0x06,0xD2,0x47,0x22,0x07,0x55,0x8F,0x5D,0x8F,0xC2,0x05,0xD9,0x8D,0x17,0x35,0x6E,0x00,0x13,0x05,0xA5,0x5D,0xEF,0x10, -+0x00,0x3C,0x03,0x27,0x84,0x49,0x66,0x85,0x02,0x97,0x55,0xBF,0x83,0x27,0x04,0x3A,0x6A,0x85,0x82,0x97,0x01,0xE9,0x83,0x27,0x04,0x53,0x6A,0x85,0x82,0x97,0xAA,0x8C, -+0x6A,0x85,0x4D,0xBF,0x83,0x27,0x04,0x3A,0x32,0x45,0x82,0x97,0x01,0xE9,0x83,0x27,0x04,0x53,0x32,0x45,0x82,0x97,0xAA,0x8C,0x32,0x45,0x69,0xBF,0x83,0x27,0x04,0x3A, -+0x62,0x45,0x82,0x97,0x63,0x14,0x05,0x14,0x83,0x27,0x04,0x53,0x62,0x45,0x82,0x97,0x03,0x27,0x04,0x2F,0xAA,0x8C,0x02,0x97,0xB2,0x57,0x03,0x27,0xC4,0x2E,0x23,0xA2, -+0x07,0x14,0x02,0x97,0x12,0x55,0xBD,0xB7,0x63,0x8E,0x0B,0x02,0x03,0xC7,0xE7,0x25,0x97,0xD7,0x6D,0x00,0x93,0x87,0x07,0x55,0x83,0xA6,0x07,0x7D,0x83,0xA7,0x07,0x7D, -+0x42,0x07,0xAC,0x4E,0xFC,0x4F,0x17,0x35,0x6E,0x00,0x13,0x05,0x65,0x55,0xA2,0x05,0xDD,0x8D,0x93,0x97,0x8A,0x01,0xD9,0x8F,0xDD,0x8D,0xEF,0x10,0x40,0x32,0x83,0x27, -+0xC4,0x4A,0x82,0x97,0xA2,0x57,0xED,0xC3,0x93,0x0B,0x40,0x25,0xB3,0x8B,0x7A,0x03,0xC2,0x47,0xBE,0x9B,0xCA,0x9B,0x83,0xA7,0x0B,0x02,0xCD,0xC7,0x83,0xA5,0x0B,0x02, -+0x83,0x27,0xC4,0x39,0x13,0x85,0x49,0x02,0x82,0x97,0x49,0xED,0x83,0xA5,0x0B,0x02,0x83,0x27,0xC4,0x39,0x13,0x85,0x49,0x04,0x82,0x97,0x49,0xE5,0x83,0xA5,0x0B,0x02, -+0x83,0x27,0xC4,0x39,0x13,0x85,0x49,0x03,0x82,0x97,0x2D,0xED,0x83,0xA7,0x0B,0x02,0x83,0xA5,0x0B,0x02,0x03,0xC5,0xB7,0x05,0x93,0x07,0x80,0x09,0x33,0x05,0xF5,0x02, -+0x89,0x67,0x93,0x87,0x47,0x0B,0x3E,0x95,0x83,0x27,0xC4,0x39,0x4A,0x95,0x82,0x97,0x31,0xE9,0x83,0xA5,0x0B,0x02,0x83,0x27,0xC4,0x39,0x17,0xF5,0x6D,0x00,0x13,0x05, -+0x25,0x53,0x82,0x97,0x21,0xE1,0x83,0xA7,0x0B,0x02,0x03,0xA7,0x0B,0x02,0x17,0x35,0x6E,0x00,0x13,0x05,0x25,0x4A,0x03,0xC6,0x67,0x06,0xD2,0x47,0x83,0x45,0x07,0x05, -+0x42,0x06,0x5D,0x8E,0x83,0x47,0x17,0x05,0xA2,0x07,0xCD,0x8F,0xD1,0x8F,0xB7,0x05,0x00,0x80,0xDD,0x8D,0x7D,0x86,0xEF,0x10,0x80,0x26,0x03,0xA5,0x0B,0x02,0x83,0x27, -+0x84,0x49,0x82,0x97,0x93,0x07,0x40,0x25,0xB3,0x87,0xFA,0x02,0x42,0x47,0xBA,0x97,0xCA,0x97,0x23,0xAE,0x07,0x00,0x23,0xA0,0x07,0x02,0x2D,0x47,0x97,0xE6,0x6D,0x00, -+0x23,0x80,0xE6,0x80,0x23,0x8F,0x07,0x24,0x81,0x4B,0x05,0x4C,0x85,0x0A,0x9D,0x47,0x93,0x89,0x49,0x25,0xE3,0x92,0xFA,0xE0,0x05,0x0B,0xB9,0xB3,0x97,0xD7,0x6D,0x00, -+0x93,0x87,0x47,0x42,0x83,0xA6,0x07,0x7D,0x03,0xA7,0x07,0x7D,0xB4,0x4E,0x78,0x4F,0xE3,0x97,0xE6,0xD4,0x37,0x77,0xA0,0x00,0x83,0x25,0xC7,0x09,0x83,0xA6,0x07,0x7D, -+0x03,0xA7,0x07,0x7D,0xA2,0x05,0xBC,0x4E,0x78,0x4F,0x17,0x35,0x6E,0x00,0x13,0x05,0xA5,0x42,0xE2,0x07,0x42,0x07,0xD9,0x8F,0xDD,0x8D,0xEF,0x10,0x40,0x1E,0x93,0x97, -+0x34,0x01,0x63,0xD9,0x07,0x00,0x37,0x07,0xA0,0x00,0x04,0x43,0xFD,0x77,0xFD,0x17,0xFD,0x8C,0x04,0xC3,0x83,0x27,0x04,0x2F,0x82,0x97,0x03,0x23,0xC4,0x2E,0x26,0x54, -+0xB6,0x50,0x96,0x54,0x06,0x59,0xF6,0x49,0x66,0x4A,0xD6,0x4A,0x46,0x4B,0xB6,0x4B,0x26,0x4C,0x96,0x4C,0x06,0x4D,0xF2,0x5D,0x97,0x27,0x6E,0x00,0xA3,0x88,0x07,0xA8, -+0x65,0x61,0x02,0x83,0x82,0x80,0xFD,0x47,0x90,0x41,0xD4,0x41,0x63,0xEA,0xA7,0x00,0x05,0x47,0xB3,0x17,0xA7,0x00,0xF1,0x8F,0xB3,0x37,0xF0,0x00,0x3E,0x85,0x82,0x80, -+0x13,0x07,0xF0,0x03,0x81,0x47,0xE3,0x6B,0xA7,0xFE,0x01,0x15,0x85,0x47,0xB3,0x97,0xA7,0x00,0xF5,0x8F,0xD5,0xB7,0x03,0x55,0x25,0x03,0x11,0x81,0x82,0x80,0x71,0x71, -+0x26,0xD3,0x97,0x34,0xFF,0xFF,0x93,0x84,0xE4,0x35,0x83,0xA7,0x04,0x2F,0x52,0xCD,0x03,0x4A,0x45,0x01,0x4A,0xD1,0x5E,0xC7,0x06,0xD7,0x22,0xD5,0x4E,0xCF,0x56,0xCB, -+0x5A,0xC9,0x62,0xC5,0x66,0xC3,0x6A,0xC1,0xEE,0xDE,0x2A,0x89,0x82,0x97,0x13,0x5A,0x6A,0x00,0x93,0x07,0x80,0x09,0xB3,0x07,0xFA,0x02,0x97,0xBB,0x6D,0x00,0x93,0x8B, -+0x6B,0x32,0x33,0x87,0xFB,0x00,0x89,0x67,0xBA,0x97,0x03,0xA7,0x47,0x14,0x63,0x57,0xE0,0x00,0x03,0xA7,0x47,0x14,0x7D,0x17,0x23,0xA2,0xE7,0x14,0x83,0xA7,0xC4,0x2E, -+0x82,0x97,0xB7,0xD7,0xA0,0x00,0x03,0xA7,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x83,0x47,0x09,0x01,0x83,0x59,0x09,0x03,0x03,0x5B,0x29,0x03,0x3E,0xCA,0x93,0x07,0x49,0x03, -+0x93,0xDA,0xC9,0x00,0x3E,0xCC,0x83,0xA7,0x84,0x44,0x93,0xF5,0xFA,0x0F,0x2E,0x85,0x2E,0xC4,0x82,0x97,0x83,0xA7,0xC4,0x4C,0xAA,0x8C,0x13,0x05,0xA9,0x02,0x03,0xAD, -+0xC4,0x51,0x82,0x97,0x13,0x5B,0x4B,0x00,0xA2,0x45,0x13,0x04,0x0B,0xFF,0x42,0x04,0x52,0x86,0x02,0x9D,0x41,0x80,0x13,0x1C,0x44,0x01,0x93,0xF9,0x69,0x00,0x91,0x47, -+0x13,0x5C,0x4C,0x01,0x2A,0x89,0x01,0x4D,0x63,0x89,0xF9,0x00,0x17,0x35,0x6E,0x00,0x13,0x05,0x85,0x2D,0xEF,0x10,0xC0,0x07,0x05,0x4D,0x93,0x09,0x80,0x09,0xB3,0x09, -+0x3A,0x03,0x89,0x67,0x93,0x87,0x47,0x0B,0xBE,0x99,0xB3,0x87,0x3B,0x01,0x3E,0xC4,0x22,0x45,0x83,0xA7,0x04,0x53,0x82,0x97,0xAA,0x8D,0x63,0x0C,0x05,0x54,0x83,0x46, -+0xD5,0x03,0x03,0x47,0xC5,0x03,0xC2,0x0A,0xA2,0x06,0xD9,0x8E,0x03,0x47,0xE5,0x03,0x42,0x07,0xD9,0x8E,0x03,0x47,0xF5,0x03,0x62,0x07,0x55,0x8F,0x93,0x16,0x8A,0x01, -+0xB3,0xE7,0xDA,0x00,0x3E,0xC8,0x63,0x05,0x09,0x54,0x63,0x0E,0xE9,0x02,0x83,0x45,0xB5,0x05,0x03,0x47,0x65,0x05,0x17,0x35,0x6E,0x00,0x13,0x05,0x25,0x28,0xA2,0x05, -+0x5D,0x8F,0xD9,0x8D,0xEF,0x10,0xA0,0x01,0x13,0x57,0x89,0x00,0xA3,0x8E,0xED,0x02,0x13,0x57,0x09,0x01,0x23,0x8F,0xED,0x02,0x13,0x57,0x89,0x01,0x23,0x8E,0x2D,0x03, -+0xA3,0x8F,0xED,0x02,0x05,0x4D,0x85,0x6A,0x13,0x87,0xCA,0x04,0x33,0x07,0xEA,0x02,0x93,0x06,0x40,0x25,0xB3,0x8C,0xDC,0x02,0x13,0x07,0x47,0x04,0xBA,0x9C,0xB3,0x87, -+0x9B,0x01,0x93,0x8C,0x0A,0x80,0x3E,0xC6,0xB3,0x77,0x94,0x01,0x3E,0xD2,0xFD,0x1A,0xB3,0x07,0x9C,0x01,0x3E,0xD4,0xB3,0xF7,0x57,0x01,0x3E,0xD6,0x09,0xA1,0x93,0x87, -+0x16,0x00,0xB7,0x06,0x10,0x00,0x33,0x05,0x64,0x41,0x3E,0xCE,0x93,0x87,0xF6,0xFF,0x33,0x75,0x55,0x01,0x6E,0x84,0x81,0x49,0x3E,0xD0,0xE2,0x45,0x29,0x35,0x63,0x16, -+0x05,0x18,0x83,0xC5,0x5D,0x04,0x03,0xC6,0x4D,0x04,0xB7,0xD7,0xA0,0x00,0xA2,0x05,0xD1,0x8D,0x03,0xC6,0x6D,0x04,0x03,0xA5,0xC7,0x0F,0x83,0xA6,0x87,0x0F,0x42,0x06, -+0xD1,0x8D,0x03,0xC6,0x7D,0x04,0xA9,0x82,0x62,0x06,0x4D,0x8E,0x93,0x15,0x65,0x01,0xCD,0x8E,0x63,0xF0,0xC6,0x32,0x03,0xC7,0x9D,0x06,0x03,0xC4,0x8D,0x06,0x83,0xC6, -+0x4D,0x01,0x22,0x07,0x41,0x8F,0x03,0xC4,0xAD,0x06,0xF2,0x47,0x83,0xC5,0xBD,0x05,0x42,0x04,0x41,0x8F,0x03,0xC4,0xBD,0x06,0x23,0x8A,0xFD,0x04,0x6E,0x85,0x62,0x04, -+0x59,0x8C,0x03,0xC7,0x5D,0x01,0x22,0x8D,0xEE,0x89,0x22,0x07,0x55,0x8F,0x33,0x67,0x97,0x01,0x23,0x8A,0xED,0x00,0x21,0x83,0xA3,0x8A,0xED,0x00,0x03,0xC7,0xCD,0x00, -+0x13,0x67,0x07,0xF8,0x23,0x86,0xED,0x00,0x03,0xC7,0xDD,0x00,0x13,0x67,0x87,0x00,0xA3,0x86,0xED,0x00,0x83,0xA6,0xC4,0x48,0x82,0x96,0x21,0x05,0x93,0x76,0xF5,0x00, -+0x93,0x95,0x46,0x00,0x83,0xC6,0x1D,0x01,0x85,0x47,0xA3,0x89,0xFD,0x04,0xBD,0x8A,0xCD,0x8E,0xA3,0x88,0xDD,0x00,0x93,0x56,0x45,0x00,0x23,0x89,0xDD,0x00,0x93,0x56, -+0xC5,0x00,0xA3,0x89,0xDD,0x00,0x42,0x05,0x83,0xC6,0x8D,0x05,0x41,0x81,0x23,0x87,0xAD,0x04,0x21,0x81,0x23,0x83,0xDD,0x06,0xA3,0x87,0xAD,0x04,0x23,0x84,0x0D,0x06, -+0xA3,0x84,0x0D,0x06,0x23,0x85,0x0D,0x06,0xA3,0x85,0x0D,0x06,0x83,0xC5,0x19,0x00,0x83,0xC6,0x09,0x00,0xA2,0x05,0xD5,0x8D,0x83,0xC6,0x29,0x00,0xC2,0x06,0xD5,0x8D, -+0x83,0xC6,0x39,0x00,0xE2,0x06,0xCD,0x8E,0x93,0xE5,0xC6,0x00,0x13,0xD5,0x85,0x00,0xA3,0x80,0xA9,0x00,0x13,0xD5,0x05,0x01,0x23,0x80,0xB9,0x00,0x23,0x81,0xA9,0x00, -+0xE1,0x81,0x03,0xC5,0x59,0x00,0xA3,0x81,0xB9,0x00,0x83,0xC5,0x49,0x00,0x22,0x05,0x4D,0x8D,0x83,0xC5,0x69,0x00,0xC2,0x05,0x4D,0x8D,0x83,0xC5,0x79,0x00,0xE2,0x05, -+0xC9,0x8D,0x13,0xF5,0x26,0x00,0x63,0x00,0x05,0x22,0x82,0x57,0x23,0x82,0x09,0x00,0xA3,0x82,0x09,0x00,0xFD,0x8E,0x93,0xE6,0xC6,0x00,0x93,0xD5,0x86,0x00,0x23,0x80, -+0xD9,0x00,0xA3,0x80,0xB9,0x00,0x93,0xD5,0x06,0x01,0xE1,0x82,0x23,0x81,0xB9,0x00,0xA3,0x81,0xD9,0x00,0x23,0x83,0x09,0x00,0xA3,0x83,0x09,0x00,0x03,0xA7,0x44,0x39, -+0x32,0x45,0xEE,0x85,0xEE,0x89,0x02,0x97,0x0D,0xA0,0x85,0x47,0xA3,0x8C,0xFD,0x04,0xD2,0x47,0x23,0x8D,0xFD,0x04,0x83,0xA6,0x04,0x54,0x63,0x90,0x8D,0x1C,0x22,0x86, -+0x22,0x85,0xCE,0x85,0x82,0x96,0x2A,0x84,0x2A,0x8D,0x63,0x12,0x0D,0x1C,0x63,0x08,0x04,0x2A,0x83,0xA7,0x44,0x52,0x13,0x0D,0xC4,0x03,0x13,0x06,0x40,0x03,0xEA,0x85, -+0x68,0x18,0x82,0x97,0xB6,0x57,0x13,0x06,0x40,0x03,0x97,0xF5,0x6D,0x00,0x93,0x85,0xA5,0x40,0x17,0xF7,0x6D,0x00,0x23,0x29,0xF7,0x42,0xA6,0x57,0x6A,0x85,0x17,0xF7, -+0x6D,0x00,0x23,0x21,0xF7,0x42,0x83,0x47,0xC1,0x05,0x17,0xF7,0x6D,0x00,0x23,0x05,0xF7,0x40,0x83,0x57,0x01,0x05,0x17,0xF7,0x6D,0x00,0x23,0x19,0xF7,0x3E,0x83,0x47, -+0x81,0x05,0x17,0xF7,0x6D,0x00,0x23,0x07,0xF7,0x3E,0x83,0x57,0xA1,0x04,0x17,0xF7,0x6D,0x00,0x23,0x1A,0xF7,0x3C,0x83,0x57,0x81,0x04,0x17,0xF7,0x6D,0x00,0x23,0x13, -+0xF7,0x3C,0x83,0x47,0x51,0x05,0x17,0xF7,0x6D,0x00,0xA3,0x03,0xF7,0x3C,0x83,0x47,0x41,0x05,0x17,0xF7,0x6D,0x00,0x23,0x0D,0xF7,0x3A,0x83,0x57,0xC1,0x04,0x17,0xF7, -+0x6D,0x00,0x23,0x13,0xF7,0x3A,0x83,0x47,0x21,0x05,0x17,0xF7,0x6D,0x00,0x23,0x00,0xF7,0x3A,0x83,0xA7,0x44,0x52,0x82,0x97,0x83,0x46,0x14,0x00,0x83,0x47,0x04,0x00, -+0x83,0x45,0xE4,0x04,0xA2,0x06,0xDD,0x8E,0x83,0x47,0x24,0x00,0xC2,0x07,0xDD,0x8E,0x83,0x47,0x34,0x00,0xE2,0x07,0xD5,0x8F,0x93,0xE7,0x47,0x00,0x93,0xD6,0x87,0x00, -+0x23,0x00,0xF4,0x00,0xA3,0x00,0xD4,0x00,0x93,0xD6,0x07,0x01,0xE1,0x83,0xA3,0x01,0xF4,0x00,0x83,0x47,0xC4,0x00,0x23,0x01,0xD4,0x00,0x83,0x46,0x44,0x01,0x93,0xE7, -+0x07,0xF8,0x23,0x06,0xF4,0x00,0x83,0x47,0x54,0x01,0xA2,0x07,0xD5,0x8F,0x83,0x46,0xF4,0x04,0xB3,0xE7,0x97,0x01,0x23,0x0A,0xF4,0x00,0xA2,0x06,0xCD,0x8E,0xA1,0x83, -+0xA3,0x0A,0xF4,0x00,0x93,0xF7,0xF6,0x00,0x93,0x95,0x47,0x00,0x83,0x47,0x14,0x01,0x13,0xD6,0xC6,0x00,0xA3,0x09,0xC4,0x00,0xBD,0x8B,0xCD,0x8F,0xA3,0x08,0xF4,0x00, -+0x93,0xD7,0x46,0x00,0x23,0x09,0xF4,0x00,0x03,0xC6,0x19,0x00,0x83,0xC7,0x09,0x00,0x22,0x06,0x5D,0x8E,0x83,0xC7,0x29,0x00,0xC2,0x07,0x5D,0x8E,0x83,0xC7,0x39,0x00, -+0xE2,0x07,0xD1,0x8F,0x93,0xE7,0x87,0x00,0x13,0xD6,0x87,0x00,0x23,0x80,0xF9,0x00,0xA3,0x80,0xC9,0x00,0x13,0xD6,0x07,0x01,0xE1,0x83,0x23,0x81,0xC9,0x00,0xA3,0x81, -+0xF9,0x00,0x83,0x47,0x14,0x00,0x83,0x45,0x04,0x00,0xA2,0x07,0xCD,0x8F,0x99,0x83,0x63,0xFB,0xF6,0x00,0x93,0x95,0x06,0x01,0xDD,0x8D,0x17,0x35,0x6E,0x00,0x13,0x05, -+0x65,0xED,0xEF,0x00,0xD0,0x45,0x83,0xA7,0x44,0x39,0x32,0x45,0xA2,0x85,0x82,0x97,0x39,0xA2,0x91,0x46,0xA3,0x8C,0xDD,0x04,0x25,0xBD,0x6E,0x86,0xCE,0x85,0x22,0x85, -+0x82,0x96,0x2A,0x8D,0x99,0xB5,0xAE,0x89,0xE3,0x92,0x05,0xD8,0x01,0xBD,0x83,0xA7,0xC4,0x47,0x6A,0x85,0xEA,0x8D,0x82,0x97,0x33,0x05,0x65,0x41,0x33,0x75,0x55,0x01, -+0xAD,0xB9,0x83,0x46,0xD5,0x03,0x03,0x47,0xC5,0x03,0x01,0x4D,0xA2,0x06,0xD9,0x8E,0x03,0x47,0xE5,0x03,0x42,0x07,0xD9,0x8E,0x03,0x47,0xF5,0x03,0x62,0x07,0x55,0x8F, -+0x63,0x0F,0xE9,0x02,0x83,0x45,0xB5,0x05,0x03,0x47,0x65,0x05,0xC2,0x47,0xA2,0x05,0x17,0x35,0x6E,0x00,0x13,0x05,0x85,0xE4,0x5D,0x8F,0xD9,0x8D,0xEF,0x00,0x30,0x3E, -+0x13,0x57,0x89,0x00,0xA3,0x8E,0xED,0x02,0x13,0x57,0x09,0x01,0x23,0x8F,0xED,0x02,0x13,0x57,0x89,0x01,0x23,0x8E,0x2D,0x03,0xA3,0x8F,0xED,0x02,0x05,0x4D,0x83,0xC6, -+0xDD,0x03,0x03,0xC7,0xCD,0x03,0xA2,0x06,0xD9,0x8E,0x03,0xC7,0xED,0x03,0x42,0x07,0xD9,0x8E,0x03,0xC7,0xFD,0x03,0x62,0x07,0x55,0x8F,0x63,0x18,0xE9,0x08,0x83,0xC6, -+0x4D,0x05,0x03,0xA7,0x44,0x52,0x13,0x06,0x40,0x03,0x93,0x85,0xCD,0x03,0x17,0xF5,0x6D,0x00,0x13,0x05,0x65,0x1C,0x36,0xCE,0x02,0x97,0x03,0xA7,0xC4,0x47,0x6E,0x85, -+0x02,0x97,0x2A,0x84,0x63,0x1F,0x0D,0x00,0x92,0x57,0xF2,0x46,0x91,0xE7,0x63,0x6A,0x85,0x01,0xA2,0x57,0x63,0xC7,0xA7,0x00,0xB2,0x57,0xE3,0xD2,0x87,0xBA,0xE3,0x70, -+0x84,0xBB,0x03,0xA7,0x84,0x49,0x6E,0x85,0x02,0x97,0x93,0x15,0x04,0x01,0xB3,0xE5,0x65,0x01,0x17,0x35,0x6E,0x00,0x13,0x05,0x25,0xDB,0xEF,0x00,0x50,0x34,0x83,0xA7, -+0xC4,0x52,0x22,0x45,0x82,0x97,0x93,0x07,0x80,0x09,0xB3,0x07,0xFA,0x02,0x09,0x67,0xDE,0x97,0xBA,0x97,0x83,0xA7,0x47,0x14,0x63,0x4D,0xF0,0x00,0x83,0xA7,0x04,0x53, -+0x22,0x45,0x82,0x97,0xAA,0x8D,0xE3,0x1E,0x05,0xEE,0x83,0xA7,0x04,0x43,0x01,0x45,0x82,0x97,0xBA,0x50,0x2A,0x54,0x9A,0x54,0x0A,0x59,0xFA,0x49,0x6A,0x4A,0xDA,0x4A, -+0x4A,0x4B,0xBA,0x4B,0x2A,0x4C,0x9A,0x4C,0x0A,0x4D,0xF6,0x5D,0x4D,0x61,0x82,0x80,0x3A,0x89,0xD5,0xBC,0x79,0x71,0x4A,0xD0,0x0A,0x05,0x17,0xB9,0x6D,0x00,0x13,0x09, -+0x69,0xCE,0x4A,0x95,0x22,0xD4,0x00,0x41,0x06,0xD6,0x26,0xD2,0x83,0x57,0x84,0x23,0x52,0xCC,0x4E,0xCE,0x56,0xCA,0x5A,0xC8,0x5E,0xC6,0x62,0xC4,0x66,0xC2,0x6A,0xC0, -+0xF5,0x9B,0x23,0x1C,0xF4,0x22,0x23,0x20,0x04,0x00,0x23,0x22,0x04,0x00,0xAD,0x47,0x97,0x34,0xFF,0xFF,0x93,0x84,0x04,0xCB,0x17,0xD7,0x6D,0x00,0x23,0x02,0xF7,0x06, -+0x83,0xA7,0x44,0x11,0x23,0x01,0x04,0x24,0x23,0x16,0x04,0x24,0x82,0x97,0x83,0xA7,0x04,0x43,0x01,0x45,0x13,0x0A,0x84,0x01,0x82,0x97,0x83,0x47,0x44,0x24,0x13,0x07, -+0x80,0x09,0xB3,0x87,0xE7,0x02,0x09,0x67,0xCA,0x97,0xBA,0x97,0x83,0xA7,0x47,0x14,0xA9,0xCB,0x89,0x6A,0x13,0x0C,0x80,0x09,0x13,0x8B,0x4A,0x0B,0x93,0x0B,0x80,0x09, -+0x97,0xDC,0x6D,0x00,0x93,0x8C,0x0C,0xC6,0x17,0x3D,0x6E,0x00,0x13,0x0D,0x8D,0xCD,0x83,0xA7,0xC4,0x52,0x52,0x85,0x82,0x97,0xAA,0x89,0x35,0xE5,0x83,0x57,0x84,0x23, -+0xB2,0x50,0x92,0x54,0xF5,0x9B,0x23,0x1C,0xF4,0x22,0x22,0x54,0x02,0x59,0xF2,0x49,0x62,0x4A,0xD2,0x4A,0x42,0x4B,0xB2,0x4B,0x22,0x4C,0x92,0x4C,0x02,0x4D,0x45,0x61, -+0x82,0x80,0x41,0x69,0x97,0x19,0x6E,0x00,0x93,0x89,0xC9,0x2E,0x7D,0x19,0x93,0x0A,0x84,0x02,0x83,0xA7,0xC4,0x52,0x52,0x85,0x82,0x97,0xAA,0x85,0x61,0xD1,0x03,0xC7, -+0x39,0x11,0xCA,0x87,0x05,0x8B,0x19,0xC7,0x83,0xC7,0x15,0x05,0x03,0xC7,0x05,0x05,0xA2,0x07,0xD9,0x8F,0x17,0x17,0x6E,0x00,0x23,0x18,0xF7,0x3C,0x83,0xA7,0x44,0x39, -+0x56,0x85,0x82,0x97,0xF9,0xB7,0x03,0x45,0x44,0x24,0x83,0xA7,0x44,0x39,0xCE,0x85,0x33,0x05,0x85,0x03,0x5A,0x95,0x4A,0x95,0x82,0x97,0x3D,0xF9,0x83,0xC7,0xDC,0x3B, -+0x6A,0x85,0xB3,0x87,0xFB,0x02,0xCA,0x97,0xD6,0x97,0x83,0xA5,0x47,0x14,0xEF,0x00,0x10,0x1B,0x03,0x45,0x44,0x24,0x83,0xA7,0xC4,0x39,0xCE,0x85,0x33,0x05,0x75,0x03, -+0x5A,0x95,0x4A,0x95,0x82,0x97,0x29,0xF5,0x83,0xA7,0x84,0x49,0x4E,0x85,0x82,0x97,0x25,0xBF,0x19,0x71,0xCE,0xD6,0xDA,0xD0,0xDE,0xCE,0x86,0xDE,0xA2,0xDC,0xA6,0xDA, -+0xCA,0xD8,0xD2,0xD4,0xD6,0xD2,0xE2,0xCC,0x83,0x47,0x95,0x00,0xA3,0x0D,0x01,0x02,0x23,0x0E,0x01,0x02,0x23,0x0D,0xF1,0x02,0x83,0x44,0xC5,0x00,0x83,0x47,0xB5,0x00, -+0x03,0x47,0xD5,0x00,0xA2,0x04,0xDD,0x8C,0x83,0x47,0xE5,0x00,0x23,0x11,0x01,0x04,0x82,0xC6,0xA2,0x07,0xD9,0x8F,0x23,0x10,0xF1,0x04,0x83,0x47,0x05,0x01,0x03,0x47, -+0xF5,0x00,0x83,0x4B,0x25,0x00,0xA2,0x07,0x03,0x4A,0x15,0x00,0xD9,0x8F,0xD2,0x04,0x93,0xDB,0x1B,0x00,0x97,0x39,0xFF,0xFF,0x93,0x89,0xC9,0xB2,0x23,0x14,0xF1,0x04, -+0x2A,0x8B,0x83,0x4A,0xA5,0x00,0xD1,0x80,0x93,0xFB,0xFB,0x00,0x03,0xA7,0x09,0x3C,0x63,0x09,0x0A,0x20,0xB7,0x07,0xA0,0x00,0x13,0x06,0xFA,0xFF,0x0E,0x06,0x93,0x85, -+0x47,0x02,0x93,0x87,0x87,0x02,0xB2,0x95,0x3E,0x96,0x28,0x10,0x02,0x97,0x03,0xA7,0x09,0x3C,0x63,0x0F,0x0A,0x1E,0xB7,0x07,0xA0,0x00,0x13,0x06,0xFA,0xFF,0x0E,0x06, -+0x93,0x85,0x47,0x04,0x93,0x87,0x87,0x04,0xB2,0x95,0x3E,0x96,0x08,0x18,0x02,0x97,0x97,0xF7,0x6D,0x00,0x93,0x87,0x07,0xAD,0x03,0xA4,0x47,0x20,0x93,0x17,0x9A,0x00, -+0x13,0x06,0x00,0x20,0x3E,0x94,0x81,0x45,0x22,0x85,0xEF,0x10,0x7E,0x94,0x13,0x0C,0x04,0x07,0x61,0x46,0x81,0x45,0x62,0x85,0xEF,0x10,0x9E,0x93,0x93,0x07,0x00,0x18, -+0xB3,0x07,0xFA,0x02,0x17,0xB9,0x6D,0x00,0x13,0x09,0xC9,0xA9,0x09,0x67,0x85,0x46,0xCA,0x97,0xBA,0x97,0x03,0xC7,0x07,0x41,0x13,0x77,0xF7,0x0F,0x63,0x11,0xD7,0x1A, -+0xA3,0x08,0xE4,0x06,0x19,0x46,0x0C,0x18,0x13,0x05,0x44,0x07,0xEF,0x10,0x9E,0x8E,0x19,0x46,0x2C,0x10,0x13,0x05,0xA4,0x07,0xEF,0x10,0xDE,0x8D,0x19,0x46,0x93,0x05, -+0x3B,0x00,0x13,0x05,0x04,0x08,0xEF,0x10,0xFE,0x8C,0x03,0x47,0x2B,0x00,0x93,0x77,0x17,0x00,0x63,0x9F,0x07,0x18,0x93,0x07,0x80,0x04,0x23,0x08,0xF4,0x06,0xE1,0x46, -+0xA5,0x4B,0x03,0x46,0x14,0x07,0x93,0x57,0x17,0x00,0xC1,0x8B,0xD1,0x8F,0xA3,0x08,0xF4,0x06,0x03,0x46,0x14,0x00,0x93,0x97,0x44,0x00,0x23,0x13,0xF4,0x08,0x83,0x47, -+0x04,0x00,0x22,0x06,0x23,0x04,0x84,0x01,0x5D,0x8E,0x83,0x47,0x24,0x00,0x23,0x02,0x04,0x00,0xA3,0x02,0x04,0x00,0xC2,0x07,0x5D,0x8E,0x83,0x47,0x34,0x00,0x23,0x03, -+0x04,0x00,0xA3,0x03,0x04,0x00,0xE2,0x07,0xD1,0x8F,0x13,0x96,0x66,0x00,0xD1,0x8F,0x93,0xE7,0xF7,0x00,0x13,0xD6,0x87,0x00,0x23,0x00,0xF4,0x00,0xA3,0x00,0xC4,0x00, -+0x13,0xD6,0x07,0x01,0xE1,0x83,0xA3,0x01,0xF4,0x00,0x93,0x57,0x8C,0x00,0xA3,0x04,0xF4,0x00,0x93,0x57,0x0C,0x01,0x13,0x5C,0x8C,0x01,0x23,0x01,0xC4,0x00,0x23,0x05, -+0xF4,0x00,0xA3,0x05,0x84,0x01,0x93,0xF7,0x0A,0x0F,0x13,0x06,0x00,0x0C,0x63,0x95,0xC7,0x00,0x91,0x06,0xC2,0x06,0xC1,0x82,0x85,0x67,0x93,0x87,0x07,0x80,0x12,0x07, -+0x7D,0x8F,0x13,0x67,0x17,0x00,0x93,0x07,0x40,0x2E,0x63,0x84,0x0A,0x00,0x93,0x07,0xC0,0x08,0x03,0xAB,0x49,0x07,0x61,0x46,0x2C,0x18,0x0A,0x85,0x23,0x12,0xE1,0x04, -+0x23,0x13,0xD1,0x04,0xBE,0xC6,0x23,0x0C,0x41,0x03,0xA3,0x0C,0x51,0x03,0xA3,0x0E,0x71,0x03,0x23,0x1F,0x91,0x02,0xEF,0x10,0xEE,0xFD,0x8A,0x85,0x22,0x85,0x02,0x9B, -+0x61,0x46,0x2C,0x18,0x0A,0x85,0xEF,0x10,0xEE,0xFC,0x83,0xA7,0x49,0x03,0x8A,0x85,0x22,0x85,0x82,0x97,0x83,0xA7,0x89,0x44,0x03,0x45,0x64,0x05,0x83,0x44,0xB4,0x05, -+0x82,0x97,0x93,0x07,0x40,0x25,0x33,0x05,0xF5,0x02,0x85,0x67,0x93,0x87,0xC7,0x04,0xB3,0x84,0xF4,0x02,0x26,0x95,0x4A,0x95,0x83,0x47,0xC5,0x25,0x23,0x0A,0xF4,0x04, -+0x83,0x47,0xB5,0x25,0x01,0x45,0xA3,0x0A,0xF4,0x04,0xF6,0x50,0x66,0x54,0xD6,0x54,0x46,0x59,0xB6,0x59,0x26,0x5A,0x96,0x5A,0x06,0x5B,0xF6,0x4B,0x66,0x4C,0x09,0x61, -+0x82,0x80,0x37,0x06,0xA0,0x00,0x93,0x05,0xC6,0x01,0x13,0x06,0x06,0x02,0xF5,0xBB,0x37,0x06,0xA0,0x00,0x93,0x05,0xC6,0x03,0x13,0x06,0x06,0x04,0x01,0xBD,0x83,0xC7, -+0x07,0x41,0x09,0x47,0x93,0xF7,0xF7,0x0F,0xE3,0x91,0xE7,0xE8,0xA3,0x08,0xF4,0x06,0x19,0x46,0x93,0x05,0x3B,0x00,0x13,0x05,0x44,0x07,0xEF,0x10,0xAE,0xF3,0x19,0x46, -+0x0C,0x18,0x13,0x05,0xA4,0x07,0xEF,0x10,0xEE,0xF2,0x19,0x46,0x2C,0x10,0x91,0xBD,0x93,0x07,0x80,0xFC,0x83,0x46,0x84,0x08,0x23,0x08,0xF4,0x06,0x93,0x57,0x27,0x00, -+0xC1,0x8B,0xB3,0xE7,0x77,0x01,0xD5,0x8F,0x23,0x04,0xF4,0x08,0xA3,0x04,0x04,0x08,0xE9,0x46,0x81,0xBD,0x63,0x4D,0xC5,0x00,0x97,0xF7,0x6D,0x00,0x93,0x87,0x87,0x88, -+0x03,0xA5,0x07,0x21,0x83,0xA7,0x07,0x42,0x8A,0x07,0x3E,0x95,0x82,0x80,0x01,0x11,0x22,0xCC,0x06,0xCE,0x26,0xCA,0x4A,0xC8,0x4E,0xC6,0x52,0xC4,0x93,0x07,0x00,0x20, -+0x2A,0x84,0x01,0x45,0x63,0xEF,0xC7,0x04,0x17,0x3A,0xFF,0xFF,0x13,0x0A,0x8A,0x85,0xB2,0x84,0x03,0x27,0x4A,0x52,0x17,0xF9,0x6D,0x00,0x13,0x09,0xA9,0x84,0x97,0xB9, -+0x6D,0x00,0x93,0x89,0x29,0x84,0x63,0x46,0xB4,0x04,0x83,0x25,0x09,0x21,0x83,0x27,0x09,0x42,0x22,0x86,0x17,0xF5,0x6D,0x00,0x13,0x05,0x05,0xA4,0x8A,0x07,0xBE,0x95, -+0x02,0x97,0x11,0x65,0x13,0x05,0x45,0x21,0x83,0x25,0x49,0x41,0x83,0x27,0x4A,0x52,0x22,0x95,0x33,0x86,0x84,0x40,0x4E,0x95,0x82,0x97,0x17,0xF5,0x6D,0x00,0x13,0x05, -+0xA5,0xA1,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x05,0x61,0x82,0x80,0x83,0x27,0x49,0x41,0x11,0x65,0x13,0x05,0x45,0x21,0xAE,0x97,0x2E,0x95, -+0x0D,0x8E,0x4E,0x95,0xB3,0x85,0x87,0x40,0x02,0x97,0xC1,0xBF,0x37,0x07,0xA0,0x00,0x83,0x26,0x07,0x20,0x97,0xE7,0x6D,0x00,0x93,0x87,0xC7,0x7C,0x1D,0x71,0x17,0xF6, -+0x6D,0x00,0x23,0x21,0xD6,0xBE,0x83,0x26,0xC7,0x1F,0x86,0xCE,0xA2,0xCC,0x17,0xF6,0x6D,0x00,0x23,0x27,0xD6,0xBC,0x03,0xA6,0x07,0x42,0x83,0xA6,0xC7,0x41,0xA6,0xCA, -+0xCA,0xC8,0xCE,0xC6,0xD2,0xC4,0xD6,0xC2,0xDA,0xC0,0x5E,0xDE,0x62,0xDC,0x66,0xDA,0x6A,0xD8,0x6E,0xD6,0x23,0x1F,0x01,0x00,0x63,0x0E,0xD6,0x32,0x97,0xAB,0x6D,0x00, -+0x93,0x8B,0x4B,0x78,0x11,0x6B,0x3E,0x84,0x01,0x49,0xDE,0x8A,0x17,0x2D,0xFF,0xFF,0x13,0x0D,0x4D,0x77,0x13,0x0B,0x4B,0x21,0x17,0xCC,0x6D,0x00,0x13,0x0C,0x8C,0x76, -+0x83,0x26,0x04,0x42,0x83,0x27,0xC4,0x41,0x63,0x98,0xF6,0x02,0x63,0x00,0x09,0x1E,0x97,0xD7,0x6D,0x00,0x83,0xC7,0x47,0xB5,0x17,0x17,0x6E,0x00,0x03,0x47,0x27,0xE3, -+0xD9,0x8F,0x63,0x95,0x07,0x1C,0x97,0x27,0xFF,0xFF,0x93,0x87,0xA7,0x73,0x83,0xA7,0xC7,0x18,0x11,0x45,0x82,0x97,0x5D,0xAA,0x83,0x24,0x84,0x41,0x83,0x27,0x04,0x42, -+0x9D,0x8C,0x8A,0x04,0x93,0x07,0x30,0x02,0x63,0xF7,0x97,0x12,0x83,0x26,0x04,0x21,0x83,0x27,0x04,0x42,0x8A,0x07,0xB3,0x8D,0xF6,0x00,0x83,0xA6,0x0D,0x02,0x83,0xC9, -+0x4D,0x01,0x13,0x06,0x40,0x09,0x93,0xFC,0xF6,0x0F,0x93,0xD9,0x69,0x00,0x63,0x9C,0xCC,0x1A,0x03,0xC6,0x7D,0x01,0x83,0xC6,0x6D,0x01,0x83,0x27,0x4D,0x00,0x13,0x76, -+0xF6,0x03,0x22,0x06,0x55,0x8E,0x13,0x06,0x06,0x02,0x93,0x05,0x40,0x02,0x26,0x85,0x82,0x97,0xAA,0x8D,0xEF,0xF0,0x2F,0xB6,0x93,0x06,0x80,0x09,0xB3,0x86,0xD9,0x02, -+0x09,0x66,0xD6,0x96,0xB2,0x96,0x83,0xA6,0x46,0x14,0x63,0x94,0x06,0x10,0x97,0x16,0x6E,0x00,0x83,0xC6,0x56,0xE9,0x13,0xF6,0x76,0x00,0x65,0xCE,0xE1,0x9A,0x97,0x17, -+0x6E,0x00,0xA3,0x82,0xD7,0xE8,0x83,0x46,0x4C,0x40,0x05,0x46,0x01,0x4A,0x63,0x17,0xD6,0x04,0x93,0x06,0x00,0x08,0x63,0x9C,0xDC,0x1E,0x03,0xC6,0x7D,0x01,0x83,0xC6, -+0x6D,0x01,0x93,0x05,0x40,0x02,0x13,0x76,0xF6,0x03,0x22,0x06,0x55,0x8E,0x83,0x26,0x4D,0x00,0x13,0x06,0x06,0x02,0x26,0x85,0x82,0x96,0x7D,0x5A,0x05,0xC1,0x83,0x46, -+0xB5,0x01,0xC1,0x8A,0x81,0xCE,0x97,0x17,0x6E,0x00,0x23,0xA9,0xA7,0xD2,0x03,0x45,0xB5,0x01,0x83,0x26,0x0D,0x0A,0x09,0x81,0x0D,0x89,0x82,0x96,0x83,0xC7,0xDD,0x01, -+0x83,0xC6,0xCD,0x01,0xA2,0x07,0xD5,0x8F,0x83,0x26,0x84,0x41,0x63,0xE4,0xD7,0x00,0x83,0x27,0xC4,0x41,0x17,0xF7,0x6D,0x00,0x23,0x26,0xF7,0xA4,0x83,0x26,0x04,0x42, -+0xB7,0x07,0xA0,0x00,0x23,0xA0,0xD7,0x20,0x63,0x1F,0x0A,0x18,0x17,0x17,0x6E,0x00,0x13,0x07,0x47,0xCE,0x83,0x47,0x4C,0x40,0x83,0x46,0xA7,0x01,0x05,0x09,0xD5,0x8F, -+0xE3,0x90,0x07,0xEA,0x9D,0x47,0xE3,0xFD,0x27,0xE9,0x83,0x27,0xCD,0x18,0x11,0x45,0x01,0x49,0x82,0x97,0x71,0xB5,0x83,0x25,0x04,0x21,0x83,0x27,0x04,0x42,0x83,0x26, -+0x4D,0x52,0x26,0x86,0x8A,0x07,0xBE,0x95,0x17,0xE5,0x6D,0x00,0x13,0x05,0xC5,0x7E,0x82,0x96,0x83,0x25,0x44,0x41,0x83,0x27,0x4D,0x52,0x33,0x85,0x64,0x01,0x13,0x06, -+0x40,0x02,0x05,0x8E,0x5E,0x95,0x82,0x97,0x97,0xED,0x6D,0x00,0x93,0x8D,0xCD,0x7C,0x6D,0xB5,0x13,0x0A,0x80,0x09,0x33,0x8A,0x49,0x03,0xB3,0x86,0x4A,0x01,0x09,0x6A, -+0x36,0x9A,0x83,0x26,0x4A,0x14,0xB1,0xE2,0x83,0x46,0x8A,0x14,0x13,0x06,0x00,0x08,0x63,0x6D,0xD6,0x02,0x83,0x27,0x4D,0x42,0x13,0x05,0x40,0x06,0x82,0x97,0x83,0x47, -+0x8A,0x14,0x85,0x07,0x93,0xF7,0xF7,0x0F,0x23,0x04,0xFA,0x14,0xF6,0x40,0x66,0x44,0xD6,0x44,0x46,0x49,0xB6,0x49,0x26,0x4A,0x96,0x4A,0x06,0x4B,0xF2,0x5B,0x62,0x5C, -+0xD2,0x5C,0x42,0x5D,0xB2,0x5D,0x25,0x61,0x82,0x80,0x93,0x06,0x80,0x09,0xB3,0x86,0xD9,0x02,0x09,0x66,0x6E,0x85,0xD6,0x96,0xB2,0x96,0x23,0x84,0x06,0x14,0x83,0x26, -+0x8D,0x00,0x82,0x96,0x4D,0xB5,0x97,0xF7,0x6D,0x00,0x93,0x87,0xA7,0xD7,0x33,0x86,0x37,0x01,0x83,0x45,0x06,0x00,0x09,0x46,0xE3,0x97,0xC5,0xE8,0x13,0xF6,0xF6,0x00, -+0xA1,0x45,0xE3,0x12,0xB6,0xE8,0x93,0xF6,0x06,0x0F,0x93,0x07,0x00,0x08,0x69,0x4A,0x63,0x83,0xF6,0x00,0x61,0x4A,0x83,0x27,0x4D,0x00,0x13,0x08,0x8A,0x02,0x42,0x86, -+0x93,0x05,0x40,0x02,0x26,0x85,0x42,0xC6,0x82,0x97,0x33,0x06,0x45,0x01,0x83,0x46,0x76,0x02,0x83,0x45,0x66,0x02,0xAA,0x8D,0xA2,0x06,0xCD,0x8E,0x23,0x1F,0xD1,0x00, -+0x83,0x26,0x4D,0x17,0x89,0x45,0x13,0x05,0xE1,0x01,0x82,0x96,0x83,0x56,0xE1,0x01,0x32,0x48,0x93,0x86,0x06,0x80,0xE3,0x98,0x06,0xE2,0x03,0xC6,0x7D,0x01,0x83,0xC6, -+0x6D,0x01,0x13,0x76,0xF6,0x03,0x22,0x06,0x55,0x8E,0x13,0x06,0x06,0x02,0x93,0x06,0xF0,0x1F,0xE3,0xEA,0xC6,0xE0,0x83,0x27,0x4D,0x00,0xC2,0x85,0x26,0x85,0x82,0x97, -+0x83,0x26,0xCD,0x6F,0x93,0x05,0x8A,0x00,0xAA,0x8D,0x82,0x96,0xED,0xBB,0x83,0x26,0x0D,0x02,0x6E,0x85,0x82,0x96,0x2A,0x8A,0xE3,0x12,0x05,0xE4,0x83,0x26,0x0D,0x05, -+0x4E,0x85,0x82,0x96,0x25,0xBD,0xFD,0x57,0xE3,0x1C,0xFA,0xD0,0x97,0x17,0x6E,0x00,0x83,0xC7,0xE7,0xB5,0x91,0xCF,0x83,0x27,0x04,0x42,0x17,0xF7,0x6D,0x00,0x23,0x2B, -+0xF7,0x88,0x83,0x26,0x04,0x43,0xB7,0x77,0xA0,0x00,0x23,0xA0,0xD7,0x08,0xCD,0xB9,0x05,0x09,0xFD,0xB1,0x83,0xA6,0x07,0x42,0x83,0x27,0x47,0x20,0xE3,0x88,0xF6,0xEC, -+0x97,0x16,0x6E,0x00,0x93,0x86,0x06,0xB1,0x83,0xC7,0x26,0x01,0x83,0xC6,0xA6,0x01,0x85,0x07,0x93,0xF7,0xF7,0x0F,0x17,0x17,0x6E,0x00,0x23,0x06,0xF7,0xB0,0x17,0xD7, -+0x6D,0x00,0x03,0x47,0x67,0x82,0x55,0x8F,0xE3,0x12,0x07,0xEA,0x13,0x07,0x10,0x03,0xE3,0x7E,0xF7,0xE8,0x97,0x27,0xFF,0xFF,0x93,0x87,0xC7,0x40,0x83,0xA7,0xC7,0x18, -+0x11,0x45,0x82,0x97,0x97,0x17,0x6E,0x00,0x23,0x8F,0x07,0xAC,0x41,0xB5,0x01,0x11,0xB7,0x07,0xA1,0x00,0x4A,0xC8,0x03,0xA9,0x47,0x0F,0x06,0xCE,0x22,0xCC,0x93,0x57, -+0xF9,0x01,0x26,0xCA,0x4E,0xC6,0x17,0x17,0x6E,0x00,0xA3,0x0D,0xF7,0xC0,0xE5,0xC3,0xB7,0x57,0xA0,0x00,0x83,0xA7,0x07,0x94,0x97,0x29,0xFF,0xFF,0x93,0x89,0x89,0x3C, -+0x85,0x47,0x17,0x17,0x6E,0x00,0xA3,0x05,0xF7,0xAA,0x83,0xA7,0x89,0x56,0x01,0x45,0x13,0x54,0x89,0x00,0x82,0x97,0x83,0xA7,0x49,0x42,0x29,0x45,0x93,0x74,0xF9,0x0F, -+0x82,0x97,0xB7,0x07,0x00,0x80,0x93,0x87,0xF7,0x07,0x37,0xD7,0xA0,0x00,0x23,0x22,0xF7,0x0E,0x93,0x17,0xF9,0x00,0x13,0x74,0xF4,0x0F,0x93,0x79,0xF9,0x0F,0x63,0xDF, -+0x07,0x08,0x93,0x87,0xC4,0xFD,0x93,0xF7,0xF7,0x0F,0x13,0x07,0x10,0x02,0x13,0x05,0x20,0x03,0x63,0x70,0xF7,0x04,0x93,0x87,0xA4,0xFB,0x93,0xF7,0xF7,0x0F,0x13,0x07, -+0x10,0x03,0x13,0x05,0xA0,0x05,0x63,0x76,0xF7,0x02,0x93,0x87,0x84,0xF8,0x93,0xF7,0xF7,0x0F,0x51,0x47,0x13,0x05,0x20,0x08,0x63,0x7D,0xF7,0x00,0x93,0x87,0x34,0x07, -+0x93,0xF7,0xF7,0x0F,0x13,0x07,0x70,0x02,0x01,0x45,0x63,0x64,0xF7,0x00,0x13,0x05,0xB0,0x09,0x01,0x47,0x81,0x46,0x17,0x16,0x6E,0x00,0x13,0x06,0xE6,0x32,0xA2,0x85, -+0xEF,0x10,0xC0,0x2B,0x97,0x17,0x6E,0x00,0xA3,0x8E,0x97,0x9E,0x05,0x46,0xA2,0x85,0x4E,0x85,0xEF,0x10,0xF0,0x12,0x97,0x17,0x6E,0x00,0xA3,0x85,0x07,0xB4,0xB7,0x07, -+0xA1,0x00,0x23,0xAA,0x07,0x0E,0x97,0x17,0x6E,0x00,0xA3,0x83,0x07,0x9E,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x05,0x61,0x82,0x80,0x81,0x46,0x17,0x16, -+0x6E,0x00,0x13,0x06,0x66,0xEF,0xA2,0x85,0x21,0x45,0xEF,0x00,0x50,0x66,0x97,0x17,0x6E,0x00,0xA3,0x82,0x97,0xAA,0x97,0x17,0x6E,0x00,0xA3,0x85,0x07,0x9A,0x7D,0xB7, -+0x82,0x80,0x17,0xE7,0x6D,0x00,0x13,0x07,0xE7,0x2B,0x83,0x27,0x47,0x1E,0x41,0x11,0x22,0xC4,0x93,0x86,0x17,0x00,0x06,0xC6,0x17,0xE6,0x6D,0x00,0x23,0x26,0xD6,0x48, -+0xFD,0x8B,0x17,0x24,0xFF,0xFF,0x13,0x04,0xE4,0x29,0xBD,0xEB,0x83,0x27,0x47,0x1E,0x93,0xF7,0x07,0x20,0xB1,0xCB,0x83,0x27,0x84,0x3E,0x82,0x97,0x83,0x27,0x04,0x1A, -+0x82,0x97,0x83,0x27,0x04,0x4A,0x82,0x97,0x97,0xE7,0x6D,0x00,0x23,0xAE,0x07,0x44,0x83,0x27,0x04,0x5A,0x82,0x97,0x83,0x27,0x04,0x13,0x82,0x97,0x3C,0x54,0x82,0x97, -+0x83,0x27,0x84,0x58,0x82,0x97,0x95,0x22,0xEF,0x10,0x90,0x38,0x17,0xD7,0x6D,0x00,0x03,0x57,0x67,0x98,0x85,0x47,0x63,0x13,0xF7,0x00,0x91,0x3D,0x17,0x15,0x6E,0x00, -+0x03,0x45,0xB5,0x93,0xEF,0xE0,0x5F,0xAE,0x83,0x27,0xC4,0x4A,0x82,0x97,0x83,0x27,0x04,0x35,0x82,0x97,0x85,0x47,0x63,0x15,0xF5,0x00,0x83,0x27,0xC4,0x33,0x82,0x97, -+0x03,0x23,0x84,0x5B,0x22,0x44,0xB2,0x40,0x81,0x45,0x01,0x45,0x41,0x01,0x02,0x83,0x97,0x27,0xFF,0xFF,0x93,0x87,0x07,0x21,0x03,0xA3,0xC7,0x4B,0x02,0x83,0x01,0x11, -+0x22,0xCC,0x17,0x24,0xFF,0xFF,0x13,0x04,0xE4,0x1F,0x83,0x27,0xC4,0x4B,0x06,0xCE,0x2E,0xC6,0x82,0x97,0x83,0x27,0x84,0x4B,0xB2,0x45,0x11,0x45,0x82,0x97,0x03,0x23, -+0x84,0x4A,0x62,0x44,0xF2,0x40,0x29,0x45,0x05,0x61,0x02,0x83,0x79,0x71,0xB7,0xD7,0xA0,0x00,0x4A,0xD0,0x03,0xA9,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x26,0xD2,0x5A,0x09, -+0xA9,0x83,0x4E,0xCE,0x52,0xCC,0x56,0xCA,0x62,0xC4,0x66,0xC2,0x6A,0xC0,0x06,0xD6,0x22,0xD4,0x5A,0xC8,0x5E,0xC6,0x33,0x69,0xF9,0x00,0x17,0x1A,0x6E,0x00,0x03,0x4A, -+0x6A,0x88,0x81,0x49,0x81,0x4A,0x81,0x44,0x97,0xAC,0x6D,0x00,0x93,0x8C,0x8C,0x19,0x11,0x6D,0x05,0x4C,0x13,0x94,0x59,0x00,0x66,0x94,0x6A,0x94,0x03,0x2B,0xC4,0x47, -+0x4E,0x86,0x11,0x45,0x81,0x45,0xEF,0xE0,0x0E,0xAE,0x33,0x75,0x65,0x01,0x93,0xFB,0xF9,0x0F,0x19,0xCD,0x83,0x27,0x04,0x48,0x03,0x27,0x44,0x48,0xA9,0x83,0x33,0x07, -+0xE9,0x40,0x63,0x67,0xF7,0x04,0x99,0xE0,0x83,0x24,0x04,0x48,0x5E,0x8A,0x85,0x4A,0x63,0x9E,0x89,0x03,0x63,0x86,0x0A,0x00,0x97,0x17,0x6E,0x00,0x23,0x84,0x47,0x83, -+0x22,0x54,0x97,0x27,0xFF,0xFF,0x93,0x87,0xE7,0x13,0xB2,0x50,0x02,0x59,0xF2,0x49,0x62,0x4A,0xD2,0x4A,0x42,0x4B,0xB2,0x4B,0x22,0x4C,0x92,0x4C,0x02,0x4D,0x03,0xA3, -+0xC7,0x45,0xA6,0x85,0x92,0x54,0x25,0x45,0x45,0x61,0x02,0x83,0x85,0x49,0x59,0xB7,0x83,0x27,0x04,0x48,0x03,0x27,0x44,0x48,0x33,0x07,0xE9,0x40,0x2A,0x07,0x99,0x8F, -+0x99,0xC0,0xE3,0xF7,0x97,0xFA,0xBE,0x84,0x65,0xB7,0x19,0x71,0xCA,0xD8,0x86,0xDE,0xA2,0xDC,0xA6,0xDA,0xCE,0xD6,0x17,0x09,0x6E,0x00,0x03,0x49,0xA9,0x7C,0x85,0x47, -+0x63,0xE8,0x27,0x0F,0x17,0xA4,0x6D,0x00,0x13,0x04,0xC4,0x0D,0x93,0x19,0x59,0x00,0xB3,0x07,0x34,0x01,0x91,0x65,0xBE,0x95,0x45,0x46,0x93,0x85,0x85,0x48,0x28,0x00, -+0xEF,0x00,0x5E,0xF3,0xA2,0x44,0xCA,0x85,0x17,0x25,0x6E,0x00,0x13,0x05,0xC5,0x1A,0x7D,0x35,0xD5,0x80,0x97,0xC7,0x6D,0x00,0x83,0xC7,0xE7,0x4A,0x85,0x88,0x91,0xCF, -+0x93,0x07,0x00,0x18,0x33,0x09,0xF9,0x02,0x89,0x67,0x22,0x99,0x3E,0x99,0x83,0x47,0x19,0x41,0x93,0xF7,0xF7,0x0F,0x91,0xC3,0x85,0x44,0x83,0x47,0xA1,0x00,0x96,0x04, -+0x45,0x46,0x93,0xF7,0xF7,0xFD,0xDD,0x8C,0x2C,0x00,0x68,0x08,0x23,0x05,0x91,0x00,0xEF,0x00,0x5E,0xEE,0x97,0x24,0xFF,0xFF,0x93,0x84,0xC4,0x06,0x83,0xA7,0xC4,0x29, -+0x68,0x08,0x82,0x97,0xB3,0x07,0x34,0x01,0x11,0x67,0x3E,0x97,0x83,0x27,0x07,0x49,0x93,0xD6,0x87,0x01,0x83,0x27,0x47,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD5,0x8F, -+0x85,0x66,0xF9,0x16,0x63,0xED,0xF6,0x04,0x83,0x27,0x07,0x49,0x93,0xD6,0x87,0x01,0x83,0x27,0x47,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD5,0x8F,0x85,0x07,0xC2,0x07, -+0xC1,0x83,0x11,0x67,0x4E,0x94,0x3A,0x94,0x13,0xF7,0xF7,0x0F,0x83,0x46,0x34,0x49,0xA1,0x83,0xA3,0x09,0xE4,0x48,0x03,0x47,0x44,0x49,0x23,0x0A,0xF4,0x48,0x83,0xA7, -+0x04,0x43,0x09,0x45,0x82,0x97,0x89,0x47,0x17,0x07,0x6E,0x00,0x23,0x0C,0xF7,0x6C,0xF6,0x50,0x66,0x54,0xD6,0x54,0x46,0x59,0xB6,0x59,0x09,0x61,0x82,0x80,0x83,0x27, -+0x07,0x49,0x93,0xD6,0x87,0x01,0x83,0x27,0x47,0x49,0x7D,0x77,0x05,0x07,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD5,0x8F,0xBA,0x97,0x5D,0xB7,0x41,0x11,0x22,0xC4,0x17,0x24, -+0xFF,0xFF,0x13,0x04,0x24,0xFC,0x83,0x27,0x44,0x3A,0x26,0xC2,0x06,0xC6,0xAA,0x84,0x17,0xE5,0x6D,0x00,0x13,0x05,0xC5,0x03,0x82,0x97,0x01,0xC5,0x83,0x27,0x04,0x4A, -+0x82,0x97,0x83,0x27,0x44,0x39,0xA6,0x85,0x17,0xE5,0x6D,0x00,0x13,0x05,0x45,0x02,0x82,0x97,0x03,0x23,0x04,0x43,0x22,0x44,0xB2,0x40,0x92,0x44,0x0D,0x45,0x41,0x01, -+0x02,0x83,0x5D,0x71,0x4E,0xDE,0x56,0xDA,0x85,0x69,0x89,0x6A,0xA6,0xC2,0xCA,0xC0,0x52,0xDC,0x5A,0xD8,0x86,0xC6,0xA2,0xC4,0x5E,0xD6,0x62,0xD4,0x97,0x24,0xFF,0xFF, -+0x93,0x84,0x44,0xF6,0x17,0xE9,0x6D,0x00,0x13,0x09,0xC9,0xF5,0x93,0x89,0x09,0x80,0x17,0xAA,0x6D,0x00,0x13,0x0A,0x0A,0xF5,0x13,0x8B,0x8A,0x1F,0x83,0xA7,0x04,0x3A, -+0x17,0xE5,0x6D,0x00,0x13,0x05,0xC5,0xFC,0x82,0x97,0x09,0xCD,0xB6,0x40,0x26,0x44,0x96,0x44,0x06,0x49,0xF2,0x59,0x62,0x5A,0xD2,0x5A,0x42,0x5B,0xB2,0x5B,0x22,0x5C, -+0x61,0x61,0x82,0x80,0x83,0xA7,0xC4,0x52,0x17,0xE5,0x6D,0x00,0x13,0x05,0x45,0xFA,0x82,0x97,0x83,0x27,0x09,0x1A,0x2A,0x84,0x85,0x07,0x17,0xE7,0x6D,0x00,0x23,0x23, -+0xF7,0x0A,0x83,0x47,0xA5,0x04,0x85,0x8B,0x63,0x85,0x07,0x1E,0x83,0xA7,0x04,0x2F,0x82,0x97,0x83,0x47,0xA4,0x04,0x03,0x47,0xB4,0x04,0x93,0xF7,0xD7,0x0F,0x22,0x07, -+0xD9,0x8F,0x23,0x05,0xF4,0x04,0xA1,0x83,0xA3,0x05,0xF4,0x04,0x83,0xA7,0xC4,0x2E,0x82,0x97,0x03,0x47,0xB4,0x04,0x83,0x47,0xA4,0x04,0x22,0x07,0x5D,0x8F,0x93,0x77, -+0x47,0x00,0x8D,0xC7,0x03,0x46,0xB4,0x05,0x41,0x45,0x81,0x45,0xEF,0xE0,0xAE,0x81,0x26,0x44,0x03,0xA3,0xC4,0x18,0xB6,0x40,0x96,0x44,0x06,0x49,0xF2,0x59,0x62,0x5A, -+0xD2,0x5A,0x42,0x5B,0xB2,0x5B,0x22,0x5C,0x61,0x61,0x02,0x83,0x83,0x46,0x54,0x01,0x83,0x47,0x44,0x01,0xA2,0x06,0xDD,0x8E,0x13,0xF6,0xF6,0x04,0x93,0x07,0x80,0x04, -+0xE3,0x1E,0xF6,0xF2,0xB3,0x77,0x37,0x01,0x97,0xCB,0x6D,0x00,0x93,0x8B,0x8B,0xE7,0x63,0x84,0x07,0x12,0x03,0x26,0x89,0x20,0x83,0x27,0x89,0x20,0x03,0x48,0x94,0x05, -+0x05,0x45,0x83,0xC7,0x07,0x00,0xA1,0x45,0x93,0xF7,0xF7,0x07,0x63,0x03,0xA8,0x00,0xA5,0x45,0x8A,0x07,0x3E,0x96,0x93,0xD7,0xB6,0x00,0x13,0xF5,0x27,0x00,0x83,0x47, -+0xB6,0x00,0x23,0x04,0xB6,0x00,0x93,0xD5,0x76,0x40,0x93,0xF7,0xC7,0x0F,0x85,0x89,0xC9,0x8F,0xCD,0x8F,0xA3,0x05,0xF6,0x00,0xA3,0x04,0xD6,0x00,0x83,0x46,0x64,0x05, -+0x25,0x83,0x11,0x8B,0x93,0x95,0x46,0x00,0x83,0x46,0xA6,0x00,0x93,0xF7,0xB7,0x0F,0xD9,0x8F,0xBD,0x8A,0xCD,0x8E,0x23,0x05,0xD6,0x00,0x83,0x45,0xB4,0x05,0xA3,0x05, -+0xF6,0x00,0x03,0x27,0x89,0x20,0xBD,0x89,0xC1,0x9A,0xCD,0x8E,0x23,0x05,0xD6,0x00,0x83,0x47,0x07,0x00,0x21,0x45,0x85,0x07,0x23,0x00,0xF7,0x00,0x83,0xA7,0xC4,0x18, -+0x82,0x97,0x03,0xA7,0x0B,0x7D,0x83,0x46,0x64,0x06,0x5C,0x5B,0xB6,0x97,0x5C,0xDB,0x03,0xA7,0x0B,0x7D,0x83,0x46,0x34,0x05,0x1C,0x5B,0xB6,0x97,0x1C,0xDB,0x03,0x45, -+0xB4,0x05,0x93,0x07,0xC0,0x0E,0xB3,0x07,0xF5,0x02,0xD2,0x97,0xD6,0x97,0x03,0xA7,0x47,0x1E,0xE3,0x55,0xE0,0xE6,0x03,0xA7,0x47,0x1E,0x7D,0x17,0x23,0xA2,0xE7,0x1E, -+0x97,0x07,0x6E,0x00,0x93,0x87,0x07,0x47,0xAA,0x97,0x03,0xC7,0x07,0x00,0x01,0xC7,0x7D,0x17,0x23,0x80,0xE7,0x00,0x93,0x0B,0xC0,0x0E,0x33,0x05,0x75,0x03,0x83,0xA7, -+0xC4,0x52,0x5A,0x95,0x52,0x95,0x82,0x97,0x2A,0x8C,0xE3,0x09,0x05,0xE2,0xAA,0x85,0x45,0x46,0x0A,0x85,0xEF,0x00,0x1E,0xBE,0xFC,0x4C,0x0A,0x85,0x82,0x97,0x03,0x45, -+0xB4,0x05,0x93,0x87,0x8A,0x1E,0xE2,0x85,0x33,0x05,0x75,0x03,0x3E,0x95,0x83,0xA7,0x44,0x39,0x52,0x95,0x82,0x97,0x19,0xB5,0x93,0x97,0x36,0x01,0xE3,0xD3,0x07,0xF6, -+0x03,0x47,0x94,0x05,0x85,0x47,0x63,0x11,0xF7,0x02,0x83,0xC7,0x4B,0x40,0xE3,0x1A,0xF7,0xF4,0x83,0xC7,0x2B,0x40,0x93,0xF7,0xF7,0x0F,0xA1,0xF7,0x89,0x47,0x17,0xC7, -+0x6D,0x00,0x23,0x02,0xF7,0x12,0x35,0xBF,0x17,0xC7,0x6D,0x00,0xA3,0x0D,0xF7,0x10,0x0D,0xBF,0x83,0xA7,0x84,0x47,0x82,0x97,0xD1,0xB3,0x41,0x11,0x22,0xC4,0x26,0xC2, -+0x06,0xC6,0xAA,0x84,0xEF,0xA0,0xED,0xD6,0x93,0x07,0x00,0x18,0xB3,0x87,0xF4,0x02,0x17,0xC7,0x6D,0x00,0x13,0x07,0x07,0xCF,0x17,0x24,0xFF,0xFF,0x13,0x04,0x84,0xCE, -+0xBA,0x97,0x03,0xA7,0x07,0x43,0x91,0x47,0x63,0xF7,0xE7,0x00,0x83,0x27,0x04,0x33,0x81,0x45,0x26,0x85,0x82,0x97,0x03,0x23,0xC4,0x5B,0x22,0x44,0xB2,0x40,0x92,0x44, -+0x41,0x01,0x02,0x83,0x01,0x11,0x26,0xCA,0x93,0x04,0x00,0x18,0xB3,0x04,0x95,0x02,0x97,0xC7,0x6D,0x00,0x93,0x87,0x07,0xCB,0xB7,0xD6,0xA0,0x00,0x22,0xCC,0x4A,0xC8, -+0x2A,0x89,0x06,0xCE,0x4E,0xC6,0x52,0xC4,0xBE,0x94,0xB7,0x07,0x14,0x00,0x93,0x87,0xA7,0x07,0xAA,0x97,0x8E,0x07,0x03,0xD4,0x84,0x41,0x98,0x43,0xCC,0x43,0x83,0xA7, -+0xC6,0x0F,0x03,0xA5,0x86,0x0F,0x2A,0x04,0xBA,0x97,0x2E,0x95,0xB3,0x35,0xB5,0x00,0x22,0x86,0x81,0x46,0xBE,0x95,0xEF,0xD0,0xDE,0xDF,0x03,0xC7,0x04,0x41,0x85,0x46, -+0x97,0x24,0xFF,0xFF,0x93,0x84,0x04,0xC6,0x33,0x05,0xA4,0x40,0x83,0xA7,0xC4,0x1B,0x13,0x06,0x00,0x10,0x63,0x95,0xE6,0x00,0x05,0x66,0x13,0x06,0x06,0x80,0xA2,0x85, -+0x82,0x97,0x83,0xA7,0xC4,0x45,0xAA,0x85,0xAA,0x89,0x4A,0x85,0x82,0x97,0x85,0x47,0x17,0xEA,0x6D,0x00,0x03,0x4A,0x6A,0x47,0x63,0x16,0xFA,0x04,0x97,0xC7,0x6D,0x00, -+0x83,0xC7,0x87,0x02,0x63,0x80,0x47,0x05,0x83,0xA7,0x84,0x41,0x4A,0x85,0x82,0x97,0x97,0xE7,0x6D,0x00,0x83,0xC7,0x47,0x45,0x63,0x96,0x27,0x03,0x05,0x80,0x63,0x73, -+0x34,0x03,0x62,0x44,0x97,0xE7,0x6D,0x00,0xA3,0x81,0x47,0x45,0x03,0xA3,0xC4,0x45,0xF2,0x40,0xD2,0x44,0x42,0x49,0x22,0x4A,0x93,0x85,0x09,0x80,0xB2,0x49,0x29,0x45, -+0x05,0x61,0x02,0x83,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x05,0x61,0x82,0x80,0x93,0x07,0x00,0x18,0xB3,0x87,0xF5,0x02,0x41,0x11,0x26,0xC2, -+0x97,0xA4,0x6D,0x00,0x93,0x84,0x04,0xBC,0x09,0x67,0x06,0xC6,0x22,0xC4,0x4A,0xC0,0x09,0x46,0xA6,0x97,0xBA,0x97,0x83,0xC6,0x07,0x41,0x63,0x07,0xD6,0x06,0x83,0xC7, -+0x07,0x41,0x93,0xF7,0xF7,0x0F,0x95,0xE3,0xE1,0x47,0xB3,0x87,0xF5,0x02,0xA6,0x97,0x3E,0x97,0xA3,0x06,0x07,0x3C,0xB7,0xD7,0xA0,0x00,0x03,0xA5,0xC7,0x0F,0x83,0xA7, -+0x87,0x0F,0x23,0x28,0xF7,0x3C,0x23,0x2A,0xA7,0x3C,0x17,0x29,0xFF,0xFF,0x13,0x09,0x69,0xB7,0x83,0x27,0x09,0x0C,0x2E,0x85,0x2E,0x84,0x82,0x97,0x83,0x27,0x89,0x09, -+0x22,0x85,0x82,0x97,0x93,0x07,0x00,0x18,0xB3,0x07,0xF4,0x02,0x22,0x85,0x22,0x44,0x03,0x23,0xC9,0x56,0xB2,0x40,0x02,0x49,0xBE,0x94,0x89,0x67,0xBE,0x94,0x23,0xA8, -+0x04,0x42,0x92,0x44,0x41,0x01,0x02,0x83,0xB2,0x40,0x22,0x44,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80,0x85,0x47,0x63,0xE6,0xA7,0x34,0x97,0x07,0x6E,0x00,0x93,0x87, -+0x67,0x1F,0x9C,0x47,0x63,0x8F,0x07,0x32,0x03,0xC7,0x77,0x01,0x03,0xC6,0x67,0x01,0x19,0x71,0x13,0x77,0xF7,0x03,0x22,0x07,0x93,0x86,0x07,0x02,0x51,0x8F,0xCA,0xD8, -+0x86,0xDE,0xA2,0xDC,0xA6,0xDA,0xCE,0xD6,0xD2,0xD4,0x36,0x97,0x93,0x87,0x47,0x04,0x01,0x46,0x01,0x49,0x15,0x48,0x93,0x08,0x00,0x03,0x93,0x86,0x17,0x00,0x63,0xF9, -+0xE6,0x00,0x83,0xC6,0x17,0x00,0x93,0x85,0x16,0x00,0xBE,0x95,0x63,0xE0,0xE5,0x08,0xAA,0x84,0x0D,0xC6,0x93,0x07,0xC0,0x02,0x33,0x07,0xF5,0x02,0x97,0xE7,0x6D,0x00, -+0x93,0x87,0x07,0x40,0xBA,0x97,0x9C,0x57,0x91,0xEB,0x97,0x27,0xFF,0xFF,0x93,0x87,0x67,0xAB,0x83,0xA7,0x87,0x74,0xAA,0x85,0x32,0x85,0x82,0x97,0x63,0x0F,0x09,0x1A, -+0x97,0x29,0xFF,0xFF,0x93,0x89,0x09,0xAA,0x83,0xA7,0x89,0x4D,0xA6,0x85,0x05,0x45,0x82,0x97,0x03,0x47,0x49,0x00,0x17,0xC4,0x6D,0x00,0x13,0x04,0xA4,0xA8,0x93,0x77, -+0x17,0x00,0xA9,0xC3,0x83,0x47,0x24,0x40,0x93,0xF7,0xF7,0x0F,0x63,0x87,0x07,0x18,0x85,0x47,0x17,0x07,0x6E,0x00,0x23,0x09,0xF7,0x2A,0x17,0x07,0x6E,0x00,0xA3,0x05, -+0x07,0x2A,0x17,0xC7,0x6D,0x00,0x23,0x00,0xF7,0xE6,0x85,0xAA,0x83,0xC5,0x07,0x00,0x63,0x88,0x05,0x01,0x63,0x93,0x15,0x01,0x3E,0x86,0x89,0x06,0xB6,0x97,0xB1,0xBF, -+0x3E,0x89,0xE5,0xBF,0x93,0x57,0x35,0x00,0xC2,0x07,0xC1,0x83,0x79,0x9B,0x63,0xC9,0xE7,0x0E,0x83,0x46,0x19,0x00,0xBA,0x96,0xF1,0x16,0x63,0xC3,0xF6,0x0E,0x99,0x8F, -+0x3E,0x99,0x83,0x47,0x59,0x00,0x1D,0x89,0xB3,0xD7,0xA7,0x40,0x85,0x8B,0xE9,0xCB,0x85,0x47,0x17,0x07,0x6E,0x00,0xA3,0x09,0xF7,0x24,0x13,0x99,0x54,0x00,0x17,0xAA, -+0x6D,0x00,0x13,0x0A,0x2A,0xA0,0xB3,0x07,0x2A,0x01,0x91,0x64,0xBE,0x94,0x83,0xA5,0x04,0x49,0x83,0xA7,0x44,0x49,0x17,0x25,0x6E,0x00,0x13,0x05,0xE5,0xAE,0xE1,0x81, -+0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xDD,0x8D,0xEF,0xF0,0x6F,0xFD,0x45,0x46,0x93,0x85,0x84,0x48,0x68,0x08,0xEF,0x00,0x1E,0x84,0x83,0xA7,0xC9,0x29,0x68,0x08,0x82,0x97, -+0x83,0xA7,0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x05,0x67,0x79,0x17,0x63,0x69,0xF7,0x0C,0x83,0xA7,0x04,0x49, -+0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x85,0x07,0xC2,0x07,0xC1,0x83,0x52,0x99,0x91,0x64,0xCA,0x94,0x13,0xF7,0xF7,0x0F, -+0x83,0xC6,0x34,0x49,0xA1,0x83,0xA3,0x89,0xE4,0x48,0x03,0xC7,0x44,0x49,0x23,0x8A,0xF4,0x48,0x97,0xC7,0x6D,0x00,0x23,0x88,0x07,0xD6,0x97,0x07,0x6E,0x00,0x23,0xA7, -+0x07,0x1A,0x97,0x07,0x6E,0x00,0xA3,0x81,0x07,0x1A,0x97,0x07,0x6E,0x00,0x23,0x8D,0x07,0x18,0x83,0x47,0x24,0x40,0x05,0x47,0x63,0x11,0xF7,0x06,0x89,0x47,0xD5,0xB5, -+0x97,0x07,0x6E,0x00,0x93,0x87,0x47,0x18,0xD8,0x43,0x97,0x06,0x6E,0x00,0x83,0xC6,0xB6,0x17,0x05,0x07,0x97,0x07,0x6E,0x00,0x23,0xAA,0xE7,0x16,0x85,0x47,0xE3,0x8E, -+0xF6,0xF0,0x83,0x46,0x24,0x40,0x93,0xF6,0xF6,0x0F,0xE1,0xF6,0x63,0x0E,0xF7,0x00,0x17,0x07,0x6E,0x00,0x03,0x47,0x47,0x15,0x63,0x08,0xF7,0x00,0x03,0x47,0x34,0x40, -+0x62,0x07,0x61,0x87,0xE3,0x17,0xF7,0xFA,0x83,0xA7,0x89,0x17,0x82,0x97,0x05,0xED,0x85,0x47,0x17,0xC7,0x6D,0x00,0xA3,0x08,0xF7,0xCE,0xF6,0x50,0x66,0x54,0xD6,0x54, -+0x46,0x59,0xB6,0x59,0x26,0x5A,0x09,0x61,0x82,0x80,0x83,0xA7,0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x7D,0x77, -+0x05,0x07,0xBA,0x97,0x3D,0xB7,0x13,0x99,0x54,0x00,0x17,0xAA,0x6D,0x00,0x13,0x0A,0x6A,0x8B,0xB3,0x07,0x2A,0x01,0x91,0x64,0xBE,0x94,0x45,0x46,0x93,0x85,0x84,0x48, -+0x28,0x00,0xEF,0x00,0x2E,0xF1,0x83,0xA5,0x04,0x49,0x83,0xA7,0x44,0x49,0x17,0x25,0x6E,0x00,0x13,0x05,0xE5,0x99,0xE1,0x81,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xDD,0x8D, -+0xEF,0xF0,0xEF,0xE7,0x83,0x47,0xA1,0x00,0x45,0x46,0x2C,0x00,0x93,0xE7,0x07,0x02,0x68,0x08,0x23,0x05,0xF1,0x00,0xEF,0x00,0xEE,0xED,0x83,0xA7,0xC9,0x29,0x68,0x08, -+0x82,0x97,0x83,0xA7,0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x05,0x67,0x79,0x17,0x63,0x66,0xF7,0x04,0x83,0xA7, -+0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x85,0x07,0xC2,0x07,0xC1,0x83,0x52,0x99,0x91,0x64,0xCA,0x94,0x13,0xF7, -+0xF7,0x0F,0x83,0xC6,0x34,0x49,0xA1,0x83,0xA3,0x89,0xE4,0x48,0x03,0xC7,0x44,0x49,0x23,0x8A,0xF4,0x48,0x97,0xC7,0x6D,0x00,0xA3,0x87,0x07,0xC0,0x97,0x07,0x6E,0x00, -+0x23,0x84,0x07,0x04,0x7D,0xB5,0x83,0xA7,0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x7D,0x77,0x05,0x07,0xBA,0x97, -+0x55,0xBF,0x82,0x80,0x97,0x07,0x6E,0x00,0x83,0xC7,0x27,0xFC,0x85,0x8B,0x99,0xC3,0x6F,0xA0,0xAD,0xCF,0x82,0x80,0x17,0xD7,0x6D,0x00,0x13,0x07,0xA7,0x7C,0x83,0x26, -+0x87,0x4C,0xAA,0x87,0x05,0x46,0x03,0xC8,0x06,0x02,0xBA,0x86,0x13,0x45,0xF8,0xFF,0x3E,0x95,0x13,0x75,0xF5,0x0F,0x23,0x80,0xA5,0x00,0x63,0x7E,0xA6,0x00,0xFD,0x17, -+0x93,0xF7,0xF7,0x0F,0x01,0x47,0x8D,0x48,0x63,0x98,0x07,0x01,0x85,0x47,0x63,0xF4,0xE7,0x00,0x13,0x05,0xF0,0x0F,0x82,0x80,0x03,0xA6,0x86,0x4C,0x93,0xF5,0x37,0x00, -+0x96,0x05,0x2E,0x96,0x03,0x46,0x46,0x00,0x63,0x15,0x16,0x01,0x05,0x07,0x13,0x77,0xF7,0x0F,0xFD,0x17,0x93,0xF7,0xF7,0x0F,0xC1,0xBF,0x79,0x71,0x06,0xD6,0x22,0xD4, -+0x26,0xD2,0x4A,0xD0,0x4E,0xCE,0xA3,0x07,0x01,0x00,0x97,0xC7,0x6D,0x00,0x83,0xC7,0x77,0xB5,0xB1,0xCF,0x17,0xE7,0x6D,0x00,0x03,0x47,0x27,0xF9,0x85,0x47,0x63,0x08, -+0xF7,0x04,0x97,0xD4,0x6D,0x00,0x93,0x84,0xE4,0x73,0x83,0xA7,0x84,0x4C,0xAA,0x89,0x93,0x05,0xF1,0x00,0x03,0xC5,0x07,0x00,0x17,0x14,0xFF,0xFF,0x13,0x04,0x84,0x72, -+0x99,0x3F,0x93,0x07,0xF0,0x0F,0x2A,0x89,0x63,0x1A,0xF5,0x02,0x83,0x27,0xC4,0x4B,0x17,0x25,0x6E,0x00,0x13,0x05,0x45,0x82,0x82,0x97,0x83,0x27,0x84,0x4B,0x83,0x45, -+0xF1,0x00,0x11,0x45,0x82,0x97,0x83,0x27,0x84,0x4A,0x29,0x45,0x82,0x97,0xB2,0x50,0x22,0x54,0x92,0x54,0x02,0x59,0xF2,0x49,0x45,0x61,0x82,0x80,0x89,0x47,0x63,0xF9, -+0xA7,0x02,0x83,0x27,0xC4,0x4B,0x17,0x15,0x6E,0x00,0x13,0x05,0xA5,0x7F,0x42,0x09,0x82,0x97,0x83,0xA7,0x84,0x4C,0x11,0x45,0x83,0xC5,0x07,0x00,0x83,0x27,0x84,0x4B, -+0xE2,0x05,0xB3,0xE5,0x25,0x01,0x82,0x97,0x83,0x27,0x84,0x4A,0x29,0x45,0x82,0x97,0x83,0xA7,0x84,0x4C,0x03,0xA7,0x84,0x4C,0x13,0x05,0x00,0x40,0x03,0x47,0x07,0x00, -+0x0D,0x8B,0x16,0x07,0xBA,0x97,0x0D,0x47,0x23,0x82,0xE7,0x00,0x03,0xA7,0x84,0x4C,0xA3,0x82,0x37,0x01,0x23,0x83,0x07,0x00,0x83,0x47,0x07,0x00,0x85,0x07,0x23,0x00, -+0xF7,0x00,0x83,0x27,0xC4,0x18,0x82,0x97,0x59,0xB7,0x01,0x11,0x22,0xCC,0x17,0x14,0xFF,0xFF,0x13,0x04,0x24,0x67,0x83,0x27,0xC4,0x4A,0x06,0xCE,0x2A,0xC6,0x2E,0xC4, -+0x82,0x97,0xA2,0x45,0x32,0x45,0xEF,0x80,0x0E,0xA3,0x83,0x27,0xC4,0x4A,0x82,0x97,0xF2,0x40,0x62,0x44,0x01,0x45,0x05,0x61,0x82,0x80,0x97,0xE7,0x6D,0x00,0x93,0x87, -+0xE7,0xE6,0x9C,0x43,0x41,0x11,0x22,0xC4,0x06,0xC6,0x2A,0x84,0x13,0x05,0x80,0x05,0x82,0x97,0x93,0x77,0x74,0x00,0x17,0xE7,0x6D,0x00,0x13,0x07,0xE7,0xE4,0x22,0x44, -+0xB2,0x40,0x03,0x23,0x07,0x00,0x93,0x75,0xF5,0xF8,0x92,0x07,0xDD,0x8D,0x13,0x05,0x80,0x05,0x41,0x01,0x02,0x83,0x41,0x11,0x93,0x07,0x25,0xFE,0x22,0xC4,0x06,0xC6, -+0x26,0xC2,0x93,0xF7,0xF7,0x0F,0x13,0x07,0x50,0x09,0x45,0x44,0x63,0x6C,0xF7,0x02,0x93,0x07,0x10,0x03,0x35,0x44,0x63,0xF7,0xA7,0x02,0x93,0x07,0x50,0x04,0x31,0x44, -+0x63,0xF2,0xA7,0x02,0x93,0x07,0x90,0x05,0x29,0x44,0x63,0xFD,0xA7,0x00,0x93,0x07,0xD0,0x06,0x25,0x44,0x63,0xF8,0xA7,0x00,0x93,0x07,0x10,0x08,0x21,0x44,0x63,0xF3, -+0xA7,0x00,0x1D,0x44,0x97,0xE7,0x6D,0x00,0x93,0x87,0x47,0xDE,0x9C,0x43,0x85,0x64,0x13,0x85,0x44,0x83,0x82,0x97,0x93,0x75,0x05,0xC0,0xC1,0x8D,0x13,0x15,0x54,0x00, -+0xC9,0x8D,0x61,0x75,0x13,0x05,0xF5,0x3F,0x93,0x17,0xA4,0x00,0xE9,0x8D,0xDD,0x8D,0xB7,0x87,0xF0,0xFF,0xFD,0x17,0x13,0x17,0xF4,0x00,0xFD,0x8D,0xB7,0x07,0x10,0xFE, -+0xFD,0x17,0xD9,0x8D,0x52,0x04,0xFD,0x8D,0xC1,0x8D,0x97,0xE7,0x6D,0x00,0x93,0x87,0xA7,0xD9,0x22,0x44,0xB2,0x40,0x03,0xA3,0x07,0x00,0x13,0x85,0x44,0x83,0x92,0x44, -+0x41,0x01,0x02,0x83,0x15,0x71,0xA2,0xCD,0x17,0x14,0xFF,0xFF,0x13,0x04,0x84,0x55,0x83,0x27,0xC4,0x7B,0x86,0xCF,0xA6,0xCB,0xCA,0xC9,0xCE,0xC7,0xD2,0xC5,0xD6,0xC3, -+0x2A,0x8A,0xDA,0xC1,0x15,0x45,0x2E,0x89,0xB2,0x89,0x82,0x97,0x83,0x27,0x04,0x7D,0x6D,0x46,0x8D,0x45,0x52,0x85,0x82,0x97,0x83,0x27,0xC4,0x7B,0x1D,0x45,0x85,0x44, -+0x82,0x97,0x48,0x00,0xEF,0x90,0x2F,0xD3,0xB5,0x4A,0x93,0x87,0x04,0x08,0x3E,0xDC,0x83,0x27,0x44,0x7C,0x26,0xDA,0x02,0xD6,0x02,0xD8,0x23,0x0E,0x01,0x02,0x6C,0x00, -+0x68,0x10,0x85,0x04,0x82,0x97,0xE3,0x92,0x54,0xFF,0x85,0x44,0x05,0x4B,0xB5,0x4A,0x93,0x87,0x04,0x09,0x3E,0xDC,0x83,0x27,0x44,0x7C,0x26,0xDA,0x02,0xD6,0x5A,0xD8, -+0x23,0x0E,0x01,0x02,0x6C,0x00,0x68,0x10,0x85,0x04,0x82,0x97,0xE3,0x92,0x54,0xFF,0x83,0x27,0xC4,0x7B,0x19,0x45,0x82,0x97,0x09,0x45,0x41,0x35,0x83,0x27,0x44,0x7D, -+0xCE,0x86,0x68,0x08,0x0D,0x46,0x85,0x45,0x82,0x97,0xF2,0x47,0x52,0x86,0x0A,0x85,0x23,0x24,0xF9,0x18,0x82,0x57,0x81,0x45,0x23,0x26,0xF9,0x18,0x92,0x57,0x23,0x28, -+0xF9,0x18,0xA2,0x57,0x23,0x2A,0xF9,0x18,0xEF,0x30,0x8F,0xE8,0x83,0x27,0x84,0x7C,0xCE,0x86,0x88,0x00,0x01,0x46,0x81,0x45,0x82,0x97,0xFE,0x40,0x6E,0x44,0xDE,0x44, -+0x4E,0x49,0xBE,0x49,0x2E,0x4A,0x9E,0x4A,0x0E,0x4B,0x2D,0x61,0x82,0x80,0x0D,0x71,0xB7,0x07,0xA0,0x00,0x23,0x24,0x41,0x15,0x03,0xAA,0x07,0x13,0x23,0x22,0x51,0x15, -+0xAA,0x8A,0x25,0x45,0x23,0x2A,0x91,0x14,0x23,0x26,0x31,0x15,0x23,0x20,0x61,0x15,0x23,0x2E,0x11,0x14,0x23,0x2C,0x81,0x14,0x23,0x28,0x21,0x15,0x23,0x2E,0x71,0x13, -+0x23,0x2C,0x81,0x13,0x23,0x2A,0x91,0x13,0xAE,0x89,0xB2,0x84,0x36,0x8B,0xEF,0xC0,0xBD,0xF8,0x1A,0x0A,0x93,0x17,0xF5,0x00,0x13,0x5A,0x6A,0x00,0x63,0xDB,0x07,0x28, -+0x29,0x45,0xEF,0xC0,0x7D,0xF7,0x41,0x69,0x41,0x19,0x13,0x7C,0xF5,0x0F,0x97,0x07,0x6E,0x00,0x93,0x87,0x27,0xAE,0x31,0x81,0x33,0x75,0x25,0x01,0x03,0x99,0x87,0x06, -+0x2A,0x99,0xCA,0x85,0x17,0x05,0x6E,0x00,0x13,0x05,0x85,0xC4,0xEF,0xF0,0x2F,0x9F,0x17,0x14,0xFF,0xFF,0x13,0x04,0x04,0x3F,0x83,0x27,0xC4,0x7B,0x15,0x45,0x82,0x97, -+0x83,0x27,0x04,0x7D,0x6D,0x46,0x8D,0x45,0x56,0x85,0x82,0x97,0x83,0x27,0xC4,0x7B,0x19,0x45,0x82,0x97,0x09,0x45,0x51,0x33,0x83,0x27,0x44,0x7D,0xDA,0x86,0x0D,0x46, -+0x85,0x45,0x48,0x08,0x82,0x97,0xD2,0x47,0x09,0x45,0x23,0xA4,0xF4,0x18,0xE2,0x47,0x23,0xA6,0xF4,0x18,0xF2,0x47,0x23,0xA8,0xF4,0x18,0x82,0x57,0x23,0xAA,0xF4,0x18, -+0xA9,0x3B,0x83,0x27,0x44,0x7D,0xDA,0x86,0x1D,0x46,0x85,0x45,0x48,0x10,0x82,0x97,0x92,0x57,0x17,0x15,0x6E,0x00,0x13,0x05,0xA5,0x4B,0x23,0xAC,0xF4,0x18,0xA2,0x57, -+0x23,0xAE,0xF4,0x18,0xB2,0x57,0x23,0xA0,0xF4,0x1A,0xC2,0x57,0x23,0xA2,0xF4,0x1A,0xB7,0x07,0xA0,0x00,0x83,0xAB,0x07,0x13,0xB7,0x07,0x00,0x04,0xFD,0x17,0xB3,0xFB, -+0xFB,0x00,0xB3,0x85,0x4B,0x41,0xFD,0x8D,0xEF,0xF0,0x6F,0x95,0x4A,0x86,0xE2,0x85,0x48,0x00,0xEF,0x40,0x9F,0xD1,0xB2,0x47,0x9D,0x45,0x1D,0x45,0x23,0xA4,0xF4,0x3E, -+0xEF,0x40,0x9F,0xAC,0x83,0x27,0x84,0x7C,0x81,0x46,0x05,0x46,0x85,0x45,0x88,0x19,0x82,0x97,0x85,0x45,0x13,0x05,0xA0,0x03,0xEF,0x40,0x9F,0xCE,0x93,0x05,0xA0,0x03, -+0x48,0x18,0xEF,0x40,0x3F,0xAA,0xBA,0x57,0x13,0x87,0x44,0x22,0x93,0x86,0x04,0x26,0x23,0xAE,0xF4,0x28,0x22,0x89,0x5C,0x18,0x90,0x43,0x11,0x07,0x91,0x07,0x23,0x2E, -+0xC7,0xFE,0x90,0x5F,0x10,0xDF,0xE3,0x19,0xD7,0xFE,0xEF,0x40,0xDF,0xBC,0x97,0x07,0x6E,0x00,0x83,0xC7,0x57,0x9C,0x63,0x9E,0x07,0x0E,0x83,0x27,0xC9,0x7C,0x56,0x86, -+0x81,0x45,0x0A,0x85,0x82,0x97,0x82,0x47,0xB7,0x0C,0xA0,0x00,0xB7,0x0A,0x00,0x04,0x23,0xAE,0xF4,0x30,0x83,0xA5,0x0C,0x13,0xFD,0x1A,0x17,0x15,0x6E,0x00,0x13,0x05, -+0xA5,0x41,0x33,0xFC,0x55,0x01,0xB3,0x05,0x7C,0x41,0xB3,0xF5,0x55,0x01,0xEF,0xF0,0x0F,0x8B,0x83,0x27,0x89,0x7C,0x18,0x19,0x13,0x94,0x69,0x00,0x33,0x05,0x87,0x00, -+0xDA,0x86,0x01,0x46,0xCE,0x85,0x82,0x97,0x83,0xA5,0x0C,0x13,0x17,0x15,0x6E,0x00,0x13,0x05,0x45,0x3F,0xB3,0xF5,0x55,0x01,0xB3,0x85,0x85,0x41,0xB3,0xF5,0x55,0x01, -+0xEF,0xF0,0xEF,0x87,0x1C,0x1A,0xA2,0x97,0x83,0xA6,0x07,0xF8,0x33,0x87,0x84,0x00,0x93,0x85,0xD9,0x00,0x23,0x20,0xD7,0x32,0x83,0xA6,0x47,0xF8,0x9A,0x05,0xAE,0x94, -+0x23,0x22,0xD7,0x32,0x83,0xA6,0x87,0xF8,0x23,0x24,0xD7,0x32,0x83,0xA6,0xC7,0xF8,0x23,0x26,0xD7,0x32,0x83,0xA6,0x07,0xF9,0x23,0x28,0xD7,0x32,0x83,0xA6,0x47,0xF9, -+0x23,0x2A,0xD7,0x32,0x83,0xA6,0x87,0xF9,0x23,0x2C,0xD7,0x32,0x83,0xA6,0xC7,0xF9,0x23,0x2E,0xD7,0x32,0x83,0xA6,0x07,0xFA,0x94,0xC0,0x83,0xA6,0x47,0xFA,0x23,0x22, -+0xD7,0x34,0x83,0xA6,0x87,0xFA,0x23,0x24,0xD7,0x34,0x83,0xA6,0xC7,0xFA,0x23,0x26,0xD7,0x34,0x83,0xA6,0x07,0xFB,0x23,0x28,0xD7,0x34,0x83,0xA6,0x47,0xFB,0x23,0x2A, -+0xD7,0x34,0x83,0xA6,0x87,0xFB,0x83,0xA7,0xC7,0xFB,0x23,0x2C,0xD7,0x34,0x23,0x2E,0xF7,0x34,0x83,0x27,0x09,0x7B,0x82,0x97,0x83,0x27,0x09,0x7C,0x82,0x97,0xB7,0x07, -+0xA0,0x00,0x83,0xA7,0x07,0x13,0xB7,0x05,0x00,0x04,0xFD,0x15,0xED,0x8F,0x33,0x8A,0x47,0x41,0xB3,0x75,0xBA,0x00,0x17,0x15,0x6E,0x00,0x13,0x05,0x65,0x33,0xEF,0xE0, -+0x1F,0xFC,0x83,0x20,0xC1,0x15,0x03,0x24,0x81,0x15,0x83,0x24,0x41,0x15,0x03,0x29,0x01,0x15,0x83,0x29,0xC1,0x14,0x03,0x2A,0x81,0x14,0x83,0x2A,0x41,0x14,0x03,0x2B, -+0x01,0x14,0x83,0x2B,0xC1,0x13,0x03,0x2C,0x81,0x13,0x83,0x2C,0x41,0x13,0x35,0x61,0x82,0x80,0x1D,0x69,0x13,0x09,0x09,0x22,0x79,0x4C,0x61,0xB3,0x2D,0x71,0x23,0x2C, -+0x81,0x10,0x17,0x14,0xFF,0xFF,0x13,0x04,0xE4,0x17,0x83,0x27,0xC4,0x7B,0x23,0x2E,0x11,0x10,0x23,0x2A,0x91,0x10,0x23,0x28,0x21,0x11,0x23,0x26,0x31,0x11,0x23,0x24, -+0x41,0x11,0x23,0x22,0x51,0x11,0x2A,0x8A,0x23,0x20,0x61,0x11,0x05,0x45,0xAE,0x84,0xB2,0x89,0x82,0x97,0x83,0x27,0xC4,0x7F,0x6D,0x46,0x8D,0x45,0x52,0x85,0x82,0x97, -+0x83,0x27,0xC4,0x7B,0x0D,0x45,0x05,0x49,0x82,0x97,0x83,0x27,0x84,0x7F,0x48,0x00,0xB5,0x4A,0x82,0x97,0x92,0x47,0x9C,0xC0,0x93,0x07,0x09,0x08,0x3E,0xDC,0x83,0x27, -+0xC4,0x7E,0x4A,0xDA,0x02,0xD6,0x02,0xD8,0x23,0x0E,0x01,0x02,0x01,0x46,0x6C,0x00,0x68,0x10,0x05,0x09,0x82,0x97,0xE3,0x11,0x59,0xFF,0x05,0x49,0x05,0x4B,0xB5,0x4A, -+0x93,0x07,0x09,0x09,0x3E,0xDC,0x83,0x27,0xC4,0x7E,0x4A,0xDA,0x02,0xD6,0x5A,0xD8,0x23,0x0E,0x01,0x02,0x01,0x46,0x6C,0x00,0x68,0x10,0x05,0x09,0x82,0x97,0xE3,0x11, -+0x59,0xFF,0x83,0x27,0xC4,0x7B,0x09,0x45,0x82,0x97,0x0D,0x45,0xEF,0xF0,0xFF,0xA8,0xCE,0x86,0x68,0x08,0x1D,0x46,0x85,0x45,0xEF,0x70,0x2F,0xC8,0xF2,0x47,0x52,0x86, -+0x0A,0x85,0x23,0xA4,0xF4,0x1C,0x82,0x57,0x81,0x45,0x23,0xA6,0xF4,0x1C,0x92,0x57,0x23,0xA8,0xF4,0x1C,0xA2,0x57,0x23,0xAA,0xF4,0x1C,0x83,0x27,0x44,0x7F,0x82,0x97, -+0x85,0x67,0xBE,0x94,0x82,0x47,0xCE,0x86,0x88,0x00,0x23,0xAA,0xF4,0x96,0x83,0x27,0x04,0x7F,0x01,0x46,0x81,0x45,0x82,0x97,0x83,0x20,0xC1,0x11,0x03,0x24,0x81,0x11, -+0x83,0x24,0x41,0x11,0x03,0x29,0x01,0x11,0x83,0x29,0xC1,0x10,0x03,0x2A,0x81,0x10,0x83,0x2A,0x41,0x10,0x03,0x2B,0x01,0x10,0x15,0x61,0x82,0x80,0x13,0x01,0x01,0xD5, -+0x23,0x2C,0x41,0x29,0x93,0x07,0x30,0x20,0x17,0x1A,0xFF,0xFF,0x13,0x0A,0x8A,0x05,0x23,0x1A,0xF1,0x00,0x83,0x27,0xCA,0x7B,0x23,0x26,0x11,0x2A,0x23,0x24,0x81,0x2A, -+0x23,0x22,0x91,0x2A,0x2A,0x84,0x23,0x20,0x21,0x2B,0x23,0x2E,0x31,0x29,0x23,0x2A,0x51,0x29,0x23,0x28,0x61,0x29,0x23,0x26,0x71,0x29,0x23,0x24,0x81,0x29,0x23,0x22, -+0x91,0x29,0x23,0x20,0xA1,0x29,0x23,0x2E,0xB1,0x27,0x05,0x45,0xB7,0x0D,0xA0,0x00,0xB6,0x84,0x3A,0x8B,0x32,0x89,0xAE,0x8A,0x83,0xA9,0x0D,0x13,0x82,0x97,0x83,0x27, -+0xCA,0x7F,0x6D,0x46,0x8D,0x45,0x22,0x85,0x82,0x97,0x83,0x27,0xCA,0x7B,0x09,0x45,0x97,0x2C,0xFF,0xFF,0x93,0x8C,0x0C,0xFF,0x82,0x97,0x93,0x87,0xEA,0xFF,0x93,0xBB, -+0x17,0x00,0x9C,0x1C,0xDE,0x97,0x03,0xC8,0x47,0xDA,0x37,0x0C,0x00,0x04,0x7D,0x1C,0x42,0x85,0x42,0xC6,0xEF,0xF0,0x7F,0x98,0x83,0xA7,0x0C,0x80,0xDA,0x86,0x1D,0x46, -+0x85,0x45,0x68,0x08,0x82,0x97,0x03,0xAD,0x0D,0x13,0xB3,0xF9,0x89,0x01,0x17,0x15,0x6E,0x00,0x13,0x05,0xE5,0x0D,0x33,0x7D,0x8D,0x01,0xB3,0x05,0x3D,0x41,0xB3,0xF5, -+0x85,0x01,0xEF,0xE0,0xDF,0xD9,0x93,0x97,0x14,0x00,0x72,0x47,0xDE,0x97,0x92,0x07,0xCA,0x97,0x23,0xA4,0xE7,0x18,0x02,0x57,0xA2,0x85,0x68,0x10,0x23,0xA6,0xE7,0x18, -+0x12,0x57,0x23,0xA8,0xE7,0x18,0x22,0x57,0x23,0xAA,0xE7,0x18,0xEF,0x80,0x1F,0xE6,0x83,0x46,0x81,0x03,0x42,0x56,0xB2,0x55,0x1D,0x47,0x68,0x10,0xEF,0x80,0xEF,0xBA, -+0x52,0x57,0x32,0x48,0x93,0x87,0x54,0x0D,0x92,0x07,0xCA,0x97,0xD8,0xC7,0x42,0x85,0xEF,0xF0,0xBF,0x90,0x83,0xA7,0x8C,0x80,0x9D,0x45,0x1D,0x45,0x82,0x97,0x83,0x27, -+0x0A,0x7F,0x81,0x46,0x05,0x46,0x85,0x45,0xE8,0x18,0x82,0x97,0x83,0xAB,0x0D,0x13,0x17,0x15,0x6E,0x00,0x13,0x05,0x85,0x06,0xB3,0xFB,0x8B,0x01,0xB3,0x85,0xAB,0x41, -+0xB3,0xF5,0x85,0x01,0xEF,0xE0,0xBF,0xD1,0x13,0x06,0x00,0x09,0x85,0x45,0x13,0x05,0xA0,0x03,0xEF,0x80,0xCF,0x8E,0x83,0xA7,0x4C,0x80,0x93,0x05,0xA0,0x03,0xA8,0x1A, -+0x82,0x97,0x93,0x07,0x40,0x17,0xB3,0x87,0xF4,0x02,0x03,0x27,0x01,0x1F,0x34,0x1A,0xCA,0x97,0x23,0xAE,0xE7,0x30,0xF8,0x19,0x70,0x5F,0x11,0x07,0x91,0x07,0x23,0xA0, -+0xC7,0x2A,0x03,0x26,0x47,0x0B,0x23,0xAE,0xC7,0x2C,0xE3,0x17,0xD7,0xFE,0x83,0xA7,0xCC,0x80,0x37,0x0D,0xA0,0x00,0x37,0x0C,0x00,0x04,0x82,0x97,0x83,0x2C,0x0D,0x13, -+0x7D,0x1C,0x17,0x15,0x6E,0x00,0x13,0x05,0x65,0x00,0xB3,0xFC,0x8C,0x01,0xB3,0x85,0x7C,0x41,0xB3,0xF5,0x85,0x01,0xEF,0xE0,0x9F,0xCA,0x97,0xF7,0x6D,0x00,0x83,0xC7, -+0x97,0x57,0x63,0x94,0x07,0x10,0x83,0x27,0x4A,0x7F,0x22,0x86,0x81,0x45,0x28,0x08,0x82,0x97,0x62,0x47,0x93,0x87,0x84,0x25,0x8A,0x07,0xCA,0x97,0xD8,0xC7,0x83,0x25, -+0x0D,0x13,0x17,0x15,0x6E,0x00,0x13,0x05,0x25,0xFD,0x13,0x94,0x6A,0x00,0xB3,0xFB,0x85,0x01,0xB3,0x85,0x9B,0x41,0xB3,0xF5,0x85,0x01,0xEF,0xE0,0x5F,0xC6,0x83,0x27, -+0x0A,0x7F,0x78,0x18,0x33,0x05,0x87,0x00,0xDA,0x86,0x01,0x46,0xD6,0x85,0x82,0x97,0x83,0x25,0x0D,0x13,0x17,0x15,0x6E,0x00,0x13,0x05,0xC5,0xFA,0xB3,0xF5,0x85,0x01, -+0xB3,0x85,0x75,0x41,0xB3,0xF5,0x85,0x01,0xEF,0xE0,0x7F,0xC3,0x8D,0x47,0xB3,0x84,0xF4,0x02,0xD6,0x94,0x13,0x97,0x64,0x00,0xB3,0x07,0xE9,0x00,0x05,0x67,0x3E,0x97, -+0x9C,0x1C,0xA2,0x97,0x83,0xA6,0xC7,0xDC,0x93,0x84,0x74,0x02,0x9A,0x04,0x23,0x2A,0xD7,0x98,0x83,0xA6,0x07,0xDD,0xCA,0x94,0x23,0x2C,0xD7,0x98,0x83,0xA6,0x47,0xDD, -+0x23,0x2E,0xD7,0x98,0x83,0xA6,0x87,0xDD,0x23,0x20,0xD7,0x9A,0x83,0xA6,0xC7,0xDD,0x23,0x22,0xD7,0x9A,0x83,0xA6,0x07,0xDE,0x23,0x24,0xD7,0x9A,0x83,0xA6,0x47,0xDE, -+0x23,0x26,0xD7,0x9A,0x83,0xA6,0x87,0xDE,0x23,0x28,0xD7,0x9A,0x83,0xA6,0xC7,0xDE,0x23,0x2A,0xD7,0x9A,0x83,0xA6,0x07,0xDF,0x23,0x2C,0xD7,0x9A,0x83,0xA6,0x47,0xDF, -+0x23,0x2E,0xD7,0x9A,0x83,0xA6,0x87,0xDF,0x23,0x20,0xD7,0x9C,0x83,0xA6,0xC7,0xDF,0xD4,0xC0,0x83,0xA6,0x07,0xE0,0x23,0x24,0xD7,0x9C,0x83,0xA6,0x47,0xE0,0x83,0xA7, -+0x87,0xE0,0x23,0x26,0xD7,0x9C,0x23,0x28,0xF7,0x9C,0x83,0x27,0x0A,0x7B,0x82,0x97,0x83,0x27,0x0A,0x7C,0x82,0x97,0xB7,0x07,0xA0,0x00,0x83,0xA7,0x07,0x13,0xB7,0x05, -+0x00,0x04,0xFD,0x15,0xED,0x8F,0xB3,0x89,0x37,0x41,0xB3,0xF5,0xB9,0x00,0x17,0x15,0x6E,0x00,0x13,0x05,0xE5,0xED,0xEF,0xE0,0x9F,0xB6,0x83,0x20,0xC1,0x2A,0x03,0x24, -+0x81,0x2A,0x83,0x24,0x41,0x2A,0x03,0x29,0x01,0x2A,0x83,0x29,0xC1,0x29,0x03,0x2A,0x81,0x29,0x83,0x2A,0x41,0x29,0x03,0x2B,0x01,0x29,0x83,0x2B,0xC1,0x28,0x03,0x2C, -+0x81,0x28,0x83,0x2C,0x41,0x28,0x03,0x2D,0x01,0x28,0x83,0x2D,0xC1,0x27,0x13,0x01,0x01,0x2B,0x82,0x80,0x81,0x47,0x63,0xC3,0xB7,0x00,0x82,0x80,0x18,0x41,0x54,0x41, -+0x85,0x07,0x21,0x05,0x14,0xC3,0xC5,0xBF,0x01,0x11,0x93,0x05,0x70,0x07,0x17,0xF5,0x6D,0x00,0x13,0x05,0xE5,0x56,0x06,0xCE,0xF1,0x3F,0xEF,0x10,0xBF,0xA7,0x97,0x17, -+0xFF,0xFF,0x93,0x87,0x27,0xD0,0x83,0xA7,0x87,0x42,0x68,0x00,0x82,0x97,0xB2,0x45,0x17,0x15,0x6E,0x00,0x13,0x05,0x85,0xE6,0xEF,0xE0,0x7F,0xAE,0x32,0x47,0x93,0x07, -+0xF0,0x04,0x85,0x45,0x63,0xE3,0xE7,0x00,0x81,0x45,0x05,0x45,0xEF,0x80,0xBF,0xE7,0x97,0xD7,0x6D,0x00,0x93,0x87,0x47,0x4F,0x9C,0x43,0xB7,0x05,0x00,0x10,0x85,0x05, -+0x13,0x05,0x00,0x04,0x82,0x97,0xEF,0x10,0x7F,0xF3,0xF2,0x40,0x05,0x61,0x82,0x80,0x41,0x11,0x06,0xC6,0x22,0xC4,0x49,0x3F,0x01,0x46,0x97,0x05,0x6E,0x00,0x93,0x85, -+0xA5,0x8B,0x21,0x45,0xEF,0xF0,0x0F,0xF4,0x01,0x46,0x97,0x05,0x6E,0x00,0x93,0x85,0xA5,0xC9,0x13,0x05,0x40,0x06,0xEF,0xF0,0x7F,0xB0,0x17,0x14,0xFF,0xFF,0x13,0x04, -+0x64,0xC8,0x83,0x27,0x04,0x7B,0x82,0x97,0x83,0x27,0x04,0x7C,0x82,0x97,0x03,0x23,0x44,0x32,0x22,0x44,0xB2,0x40,0x41,0x01,0x02,0x83,0x41,0x11,0x93,0x05,0x70,0x07, -+0x17,0xF5,0x6D,0x00,0x13,0x05,0xC5,0x4B,0x06,0xC6,0x2D,0x37,0x97,0xD7,0x6D,0x00,0x93,0x87,0x87,0x47,0xB2,0x40,0x03,0xA3,0x07,0x00,0xB7,0x05,0x00,0x10,0x85,0x05, -+0x13,0x05,0x00,0x04,0x41,0x01,0x02,0x83,0x97,0xD7,0x6D,0x00,0x93,0x87,0x07,0x46,0x41,0x11,0x9C,0x43,0x26,0xC2,0x85,0x64,0x22,0xC4,0x06,0xC6,0x2A,0x84,0x13,0x85, -+0x84,0xC0,0x82,0x97,0x93,0x65,0x15,0x00,0x13,0x75,0x34,0x00,0x0A,0x05,0x8D,0x99,0x0E,0x04,0x41,0x88,0xC9,0x8D,0x97,0xD7,0x6D,0x00,0x93,0x87,0xE7,0x42,0xC1,0x8D, -+0x22,0x44,0xB2,0x40,0x03,0xA3,0x07,0x00,0x13,0x85,0x84,0xC0,0x92,0x44,0x41,0x01,0x02,0x83,0x93,0x07,0xF5,0xFF,0x93,0xF7,0xF7,0x0F,0x35,0x47,0x63,0x60,0xF7,0x02, -+0x01,0xCA,0x01,0x46,0x17,0xF5,0x6D,0x00,0x13,0x05,0x05,0x7F,0x6F,0x30,0xCF,0xAF,0x17,0xF5,0x6D,0x00,0x13,0x05,0x45,0x7E,0x6F,0x30,0xFF,0xBF,0x05,0xC2,0x97,0xF7, -+0x6D,0x00,0x83,0xC7,0x37,0x2A,0x81,0x46,0x01,0x46,0x63,0x83,0xA7,0x00,0x05,0x46,0x17,0x05,0x6E,0x00,0x13,0x05,0x45,0xBB,0x6F,0x60,0xAF,0xB5,0x89,0x45,0x17,0x05, -+0x6E,0x00,0x13,0x05,0x65,0xBA,0x6F,0x60,0x7F,0xD2,0x95,0x47,0x39,0x47,0xB3,0x07,0xF5,0x02,0x63,0x77,0xA7,0x0C,0x05,0x67,0x13,0x07,0x87,0x38,0xBA,0x97,0x81,0x46, -+0x13,0x07,0x80,0x02,0x13,0x0E,0x00,0x05,0x37,0xF8,0xA0,0x00,0x83,0x25,0xC8,0x84,0xB3,0xEE,0xE7,0x02,0xB7,0x08,0x00,0x02,0xFD,0x18,0x37,0x03,0x00,0xFE,0xB3,0xF5, -+0x65,0x00,0x13,0x96,0x9E,0x01,0x33,0x56,0xC6,0x03,0x33,0x07,0xD7,0x41,0x66,0x07,0x33,0x57,0xC7,0x03,0x33,0x86,0xC8,0x40,0x33,0x76,0x16,0x01,0x4D,0x8E,0x23,0x26, -+0xC8,0x84,0x03,0x26,0x08,0x85,0x33,0x76,0x66,0x00,0x33,0x77,0x17,0x01,0x51,0x8F,0x23,0x28,0xE8,0x84,0x13,0x07,0x20,0x06,0x23,0x2A,0xE8,0x82,0x37,0x27,0x08,0x00, -+0x13,0x07,0x27,0x08,0x23,0x2E,0xE8,0x82,0x37,0x07,0x0F,0x00,0x13,0x07,0xF7,0x0F,0x23,0x2A,0xE8,0x84,0x3D,0x47,0x23,0x2C,0xE8,0x84,0x37,0x07,0x00,0xC1,0x23,0x20, -+0xE8,0x84,0x39,0x47,0x63,0x72,0xA7,0x06,0x13,0x05,0x95,0x06,0x13,0x75,0xF5,0x0F,0xA9,0x47,0x63,0xE8,0xA7,0x00,0x93,0x07,0x50,0x41,0x33,0xD5,0xA7,0x00,0x05,0x89, -+0x1D,0xE5,0xB7,0xF6,0xA0,0x00,0x83,0xA7,0x06,0x84,0x37,0xE7,0xFD,0x2E,0x75,0x17,0xF9,0x8F,0x37,0x07,0x00,0x11,0x09,0x07,0xD9,0x8F,0x23,0xA0,0xF6,0x84,0x82,0x80, -+0x05,0x67,0x13,0x07,0x77,0x96,0xBA,0x97,0x93,0x36,0x45,0x00,0x15,0xBF,0x83,0x27,0x08,0x84,0x37,0xE7,0xFD,0x2E,0x75,0x17,0xF9,0x8F,0x37,0x07,0x00,0x01,0x09,0x07, -+0xD9,0x8F,0x23,0x20,0xF8,0x84,0x82,0x80,0x17,0xF6,0x6D,0x00,0x03,0x46,0xA6,0x1D,0x05,0x47,0x85,0x8A,0x63,0x14,0xE6,0x08,0x29,0x47,0x33,0x87,0xE7,0x02,0x17,0xF6, -+0x6D,0x00,0x03,0x56,0x66,0x1C,0x93,0x05,0x96,0xF3,0x63,0x49,0xB7,0x06,0x93,0x05,0x76,0x0C,0x63,0xC5,0xE5,0x06,0x59,0x57,0xB3,0x87,0xE7,0x02,0xB2,0x97,0x63,0xC4, -+0x07,0x04,0xE2,0x07,0x13,0x07,0x00,0x19,0xB3,0xD7,0xE7,0x02,0x37,0xF6,0xA0,0x00,0x03,0x27,0x46,0x84,0x9E,0x07,0xB7,0x05,0x00,0xFE,0x6D,0x8F,0x9D,0x83,0xD9,0x8F, -+0x23,0x22,0xF6,0x84,0x03,0x27,0x06,0x84,0xF9,0x77,0xFD,0x17,0xB6,0x06,0xF9,0x8F,0xD5,0x8F,0xB7,0x06,0xFE,0x2E,0x93,0x86,0xD6,0xCD,0xF5,0x8F,0x93,0xE7,0x27,0x30, -+0x23,0x20,0xF6,0x84,0x82,0x80,0x37,0x07,0x00,0xFF,0xB3,0x87,0xE7,0x02,0x13,0x07,0x00,0x19,0xB3,0xD7,0xE7,0x02,0xB3,0x87,0xF8,0x40,0x4D,0xBF,0x37,0xF6,0xA0,0x00, -+0x83,0x27,0x06,0x84,0x79,0x77,0x7D,0x17,0xF9,0x8F,0xB6,0x06,0x37,0x07,0xFE,0x2E,0x75,0x17,0xD5,0x8F,0xF9,0x8F,0x37,0x07,0x00,0x01,0x09,0x07,0xD9,0x8F,0xC9,0xB7, -+0xB7,0xE6,0xA0,0x00,0x83,0xA7,0x06,0x4F,0x01,0x11,0x52,0xC4,0x13,0xD7,0x87,0x01,0x37,0x0A,0x00,0x01,0x4A,0xC8,0x13,0x67,0x57,0x09,0x32,0x89,0x13,0x06,0xFA,0xFF, -+0x62,0x07,0xF1,0x8F,0x22,0xCC,0x26,0xCA,0x4E,0xC6,0xD9,0x8F,0x06,0xCE,0x23,0xA8,0xF6,0x4E,0xB7,0xF6,0xA0,0x00,0x83,0xA7,0xC6,0x82,0x13,0x74,0xF5,0x0F,0x7D,0x15, -+0x13,0xE7,0x17,0x01,0x13,0x77,0xF7,0x0F,0x93,0xF7,0x07,0xF0,0xD9,0x8F,0x23,0xA6,0xF6,0x82,0x35,0x47,0x97,0xD7,0x6D,0x00,0x93,0x87,0x47,0x1B,0xAE,0x84,0x9C,0x43, -+0x97,0xD9,0x6D,0x00,0x93,0x89,0x49,0x1A,0x63,0x63,0xA7,0x04,0x21,0x45,0x82,0x97,0x83,0xA7,0x09,0x00,0xB3,0x65,0x45,0x01,0x21,0x45,0x82,0x97,0x15,0x45,0xEF,0x10, -+0xCF,0xD9,0x6D,0x46,0x8D,0x45,0x22,0x85,0xEF,0x30,0xDF,0xAA,0x22,0x85,0x75,0x3B,0x4A,0x86,0xA6,0x85,0x22,0x85,0xB1,0x3B,0x26,0x85,0x39,0x33,0x62,0x44,0xF2,0x40, -+0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x05,0x61,0x6F,0x10,0x4F,0xE6,0x21,0x45,0x82,0x97,0x83,0xA7,0x09,0x00,0xB7,0x05,0x00,0xFF,0xFD,0x15,0xE9,0x8D,0x21,0x45, -+0x82,0x97,0x05,0x45,0xEF,0x10,0x6F,0xD5,0x6D,0x46,0x8D,0x45,0x22,0x85,0xEF,0x60,0x7F,0xCB,0x6D,0xBF,0xB7,0x57,0xA0,0x00,0x83,0xA6,0x07,0x91,0x7D,0x76,0x41,0x11, -+0xF1,0x8E,0x22,0xC4,0x06,0xC6,0x93,0xE6,0x96,0x28,0x23,0xA8,0xD7,0x90,0x03,0xA7,0x87,0x91,0x71,0x8F,0x13,0x67,0xC7,0x26,0x23,0xAC,0xE7,0x90,0x83,0xA6,0xC7,0x91, -+0x37,0x17,0x00,0xFF,0x13,0x06,0xF7,0xFF,0xF1,0x8E,0x37,0xE7,0x1C,0x00,0xD9,0x8E,0x23,0xAE,0xD7,0x90,0x03,0xA7,0x47,0x91,0xB7,0x66,0x1E,0x00,0x71,0x8F,0x55,0x8F, -+0x23,0xAA,0xE7,0x90,0x03,0xA4,0x07,0x94,0x93,0x07,0x80,0x28,0x42,0x04,0x41,0x80,0x11,0x80,0x63,0xFB,0x87,0x02,0x85,0x45,0x01,0x45,0xEF,0x80,0xDF,0xA4,0x93,0x07, -+0x00,0x02,0x93,0xE7,0x07,0x04,0xB7,0x56,0xA0,0x00,0x03,0xA7,0x46,0x90,0xB2,0x40,0x22,0x44,0x13,0x56,0x87,0x01,0xD1,0x8F,0x22,0x07,0xE2,0x07,0x21,0x83,0xD9,0x8F, -+0x23,0xA2,0xF6,0x90,0x41,0x01,0x82,0x80,0x13,0x07,0xC0,0x26,0x81,0x47,0x63,0x67,0x87,0x00,0x81,0x45,0x01,0x45,0xEF,0x80,0x1F,0xA1,0x89,0x47,0x13,0x07,0x50,0x1E, -+0xE3,0x61,0x87,0xFC,0x13,0x07,0xE0,0x1C,0xE3,0x6F,0x87,0xFA,0x93,0xE7,0x47,0x00,0x5D,0xBF,0x01,0x11,0x02,0xC6,0xB7,0x57,0xA0,0x00,0x22,0xCC,0x03,0xA4,0xC7,0x90, -+0x06,0xCE,0x11,0xE0,0x79,0x44,0x97,0x17,0xFF,0xFF,0x93,0x87,0xA7,0x83,0x83,0xA7,0x87,0x42,0x68,0x00,0x82,0x97,0xB2,0x45,0x17,0x15,0x6E,0x00,0x13,0x05,0xC5,0x9A, -+0xEF,0xE0,0xEF,0xE1,0xA9,0x45,0x33,0x04,0xB4,0x02,0x91,0x45,0xB7,0x57,0xA0,0x00,0x83,0xA7,0x07,0x94,0x59,0x47,0xC2,0x07,0xC1,0x83,0x91,0x83,0x3E,0xC6,0x33,0x44, -+0xB4,0x02,0xB3,0x85,0x87,0x00,0x93,0x86,0x15,0xE3,0x81,0x8F,0x63,0x64,0xD7,0x00,0x93,0x05,0x60,0x1E,0x13,0x87,0x17,0xE3,0xD9,0x46,0x63,0xE4,0xE6,0x00,0x93,0x07, -+0xE0,0x1C,0x37,0x57,0xA0,0x00,0x03,0x26,0x07,0x91,0xB7,0x16,0x00,0xFF,0xFD,0x16,0x33,0x75,0xD6,0x00,0x13,0x96,0xC5,0x00,0x49,0x8E,0x23,0x28,0xC7,0x90,0x03,0x26, -+0x87,0x91,0xC2,0x05,0xDD,0x8D,0x75,0x8E,0x93,0x96,0xC7,0x00,0xD1,0x8E,0x23,0x2C,0xD7,0x90,0x17,0x15,0x6E,0x00,0x13,0x05,0x25,0x93,0xEF,0xE0,0x4F,0xDA,0xF2,0x40, -+0x62,0x44,0x01,0x45,0x05,0x61,0x82,0x80,0xB7,0x56,0xA0,0x00,0x83,0xA7,0x46,0x90,0x37,0x87,0xFF,0x00,0x13,0x07,0x07,0x81,0xF9,0x8F,0x37,0x87,0x00,0x11,0x41,0x11, -+0x13,0x07,0xB7,0x6E,0x06,0xC6,0xD9,0x8F,0x23,0xA2,0xF6,0x90,0x97,0x07,0xFF,0xFF,0x93,0x87,0x47,0x77,0x83,0xA7,0x47,0x42,0x05,0x65,0x13,0x05,0x85,0x38,0x82,0x97, -+0x09,0x3F,0x89,0x3D,0xB2,0x40,0x01,0x45,0x41,0x01,0x82,0x80,0x97,0xF7,0x6D,0x00,0x83,0xC7,0x77,0xE2,0xAD,0xEF,0x41,0x11,0x4A,0xC0,0x17,0xC9,0x6D,0x00,0x13,0x09, -+0x69,0x74,0x26,0xC2,0x83,0x24,0x89,0x4C,0x83,0x27,0x89,0x4C,0x06,0xC6,0x22,0xC4,0x03,0xC4,0x07,0x00,0x13,0x06,0x00,0x02,0x81,0x45,0x0D,0x88,0x16,0x04,0x13,0x05, -+0x44,0x00,0x26,0x95,0xEF,0xF0,0xCD,0xDA,0x03,0x27,0x89,0x4C,0x26,0x94,0x95,0x47,0x23,0x02,0xF4,0x00,0x93,0x07,0x00,0x02,0x23,0x03,0xF4,0x00,0x83,0x47,0x07,0x00, -+0x13,0x05,0x00,0x40,0x85,0x07,0x23,0x00,0xF7,0x00,0x97,0x07,0xFF,0xFF,0x93,0x87,0x67,0x6F,0x83,0xA7,0xC7,0x18,0x82,0x97,0xB2,0x40,0x22,0x44,0x85,0x47,0x17,0xF7, -+0x6D,0x00,0xA3,0x0A,0xF7,0xDA,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80,0x82,0x80,0x97,0xF5,0x6D,0x00,0x83,0xC5,0x35,0xDA,0xDD,0xC1,0x97,0xB7,0x6D,0x00,0x83,0xC7, -+0x77,0xAC,0xD1,0xEF,0x97,0xF6,0x6D,0x00,0x93,0x86,0xC6,0xD8,0xDC,0x42,0xC1,0xCB,0x37,0xD7,0xA0,0x00,0x03,0x26,0xC7,0x0F,0x03,0x27,0x87,0x0F,0xB4,0x52,0x5A,0x06, -+0x29,0x83,0x93,0x86,0x46,0x1F,0x51,0x8F,0x63,0x71,0xD7,0x02,0x97,0xF7,0x6D,0x00,0xA3,0x83,0x07,0xD6,0x97,0x07,0xFF,0xFF,0x93,0x87,0xC7,0x68,0x03,0xA3,0xC7,0x4B, -+0x17,0x15,0x6E,0x00,0x13,0x05,0x05,0x81,0x02,0x83,0x09,0x47,0x63,0x99,0xE5,0x04,0x13,0x97,0x07,0x01,0x79,0x71,0x41,0x83,0x02,0xC8,0x3A,0xCC,0x13,0xD7,0x07,0x01, -+0xE1,0x83,0x02,0xCE,0xA3,0x09,0xE1,0x00,0xA3,0x08,0xF1,0x00,0x02,0xCA,0xB7,0xB7,0xA0,0x00,0x83,0xA7,0xC7,0x22,0x0C,0x08,0x41,0x46,0x3E,0xCE,0x0A,0x85,0x9D,0x47, -+0x06,0xD6,0x23,0x09,0xF1,0x00,0xEF,0xF0,0xED,0xCA,0x0A,0x85,0xEF,0xC0,0x0F,0x95,0xB2,0x50,0x97,0xF7,0x6D,0x00,0xA3,0x80,0x07,0xD0,0x45,0x61,0x82,0x80,0x82,0x80, -+0x41,0x11,0x37,0x57,0xA0,0x00,0x22,0xC4,0x03,0x24,0x47,0x90,0x83,0x25,0x47,0x94,0x26,0xC2,0x93,0x54,0x84,0x01,0x93,0xC7,0xF5,0xFF,0xE5,0x8F,0x42,0x04,0x4A,0xC0, -+0xE2,0x07,0x13,0xF9,0xF5,0x0F,0x41,0x80,0x5D,0x8C,0x93,0x16,0x09,0x01,0x06,0xC6,0x55,0x8C,0xCA,0x85,0x23,0x22,0x87,0x90,0x17,0x05,0x6E,0x00,0x13,0x05,0x85,0x78, -+0xEF,0xE0,0xEF,0xBD,0x93,0x77,0x29,0x00,0x85,0x45,0x89,0xE7,0x93,0x77,0x09,0x02,0x91,0xCB,0x81,0x45,0x22,0x44,0xB2,0x40,0x92,0x44,0x02,0x49,0x01,0x45,0x41,0x01, -+0x6F,0x80,0x6F,0xF6,0x93,0x77,0x49,0x00,0x85,0xCB,0xED,0x98,0x93,0xE4,0x04,0x04,0x8D,0x33,0xA9,0x3D,0xB7,0x07,0x01,0xFF,0xFD,0x17,0x7D,0x8C,0x22,0x04,0xE2,0x04, -+0x21,0x80,0x45,0x8C,0xB7,0x57,0xA0,0x00,0x23,0xA2,0x87,0x90,0xB2,0x40,0x22,0x44,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80,0x13,0x79,0x09,0x04,0xE3,0x0A,0x09,0xFC, -+0x93,0xF4,0xF4,0x0B,0x93,0xE4,0x44,0x00,0xE1,0xB7,0x97,0x07,0xFF,0xFF,0x93,0x87,0x67,0x57,0x83,0xA7,0xC7,0x42,0x01,0x11,0x06,0xCE,0x2A,0xC6,0x82,0x97,0xB7,0x57, -+0xA0,0x00,0x83,0xA6,0x07,0x94,0x93,0x07,0x80,0x3E,0x13,0x07,0x50,0x19,0xC2,0x06,0xC1,0x82,0xB3,0x86,0xF6,0x02,0xB7,0xB7,0x07,0x00,0x93,0x87,0x87,0x4A,0x32,0x45, -+0xC1,0x82,0xB3,0x87,0xF6,0x02,0xB3,0x86,0xE6,0x02,0x61,0x67,0x13,0x07,0x07,0x6A,0xBA,0x96,0xB3,0xD7,0xD7,0x02,0x89,0x66,0x93,0x86,0xE6,0xC6,0x37,0xF7,0x29,0x00, -+0xB3,0x86,0xD7,0x02,0x93,0x07,0x77,0xA7,0x63,0xFD,0xD7,0x02,0xB7,0x17,0xD6,0xFF,0x93,0x87,0x87,0x58,0xBE,0x96,0xA9,0x47,0xB3,0xD7,0xF6,0x02,0x81,0x46,0x13,0x06, -+0x80,0x3E,0x33,0xD7,0xC7,0x02,0xB3,0xF7,0xC7,0x02,0x13,0x06,0x40,0x1F,0x63,0x73,0xF6,0x00,0x05,0x07,0x99,0xC2,0x33,0x07,0xE0,0x40,0xF2,0x40,0x18,0xC1,0x05,0x61, -+0x82,0x80,0x93,0x07,0x87,0xA7,0x95,0x8F,0x29,0x47,0xB3,0xD7,0xE7,0x02,0x85,0x46,0xF9,0xB7,0x41,0x11,0x22,0xC4,0x32,0x84,0x06,0xC6,0xEF,0xD0,0x1D,0xFF,0x09,0xEC, -+0x17,0xF7,0x6D,0x00,0x03,0x47,0x17,0xBA,0xB9,0x47,0x63,0xF7,0xE7,0x00,0x85,0x47,0x17,0xF7,0x6D,0x00,0x23,0x02,0xF7,0xBA,0xB2,0x40,0x22,0x44,0x41,0x01,0x82,0x80, -+0x41,0x11,0x26,0xC2,0xAE,0x84,0x06,0xC6,0x22,0xC4,0x4A,0xC0,0xEF,0xE0,0x2D,0x95,0x85,0xE4,0x17,0xB7,0x6D,0x00,0x03,0x47,0xE7,0x89,0x89,0x47,0x63,0x0E,0xF7,0x00, -+0x97,0xF7,0x6D,0x00,0x23,0xAA,0x07,0xB4,0x97,0xF7,0x6D,0x00,0xA3,0x8C,0x07,0xB4,0x97,0xF7,0x6D,0x00,0x23,0x92,0x07,0xB6,0x93,0x07,0x00,0x18,0xB3,0x87,0xF4,0x02, -+0x17,0xA7,0x6D,0x00,0x13,0x07,0x07,0x46,0xBA,0x97,0x03,0xC4,0x07,0x41,0x85,0x47,0x13,0x74,0xF4,0x0F,0x63,0x14,0xF4,0x02,0x17,0x09,0xFF,0xFF,0x13,0x09,0x89,0x44, -+0x83,0x27,0x09,0x2F,0x82,0x97,0x97,0xF7,0x6D,0x00,0xA3,0x81,0x87,0xB2,0x83,0x27,0xC9,0x2E,0x82,0x97,0x97,0xF7,0x6D,0x00,0xA3,0x81,0x97,0xB2,0xB2,0x40,0x22,0x44, -+0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80,0x97,0x07,0xFF,0xFF,0x93,0x87,0x87,0x41,0x83,0xA7,0xC7,0x60,0x41,0x11,0x06,0xC6,0x82,0x97,0xB2,0x40,0x05,0x81,0x3D,0x89, -+0x41,0x01,0x82,0x80,0x41,0x11,0x22,0xC4,0x17,0x04,0xFF,0xFF,0x13,0x04,0x84,0x3F,0x83,0x27,0x04,0x2F,0x06,0xC6,0x26,0xC2,0x4A,0xC0,0xAA,0x84,0x82,0x97,0x2A,0x89, -+0x26,0x85,0xEF,0x00,0xBF,0xD0,0x83,0x27,0xC4,0x2E,0xAA,0x84,0x4A,0x85,0x82,0x97,0xB2,0x40,0x22,0x44,0x26,0x85,0x02,0x49,0x92,0x44,0x41,0x01,0x82,0x80,0x01,0x11, -+0x22,0xCC,0x17,0x04,0xFF,0xFF,0x13,0x04,0xE4,0x3B,0x83,0x27,0x04,0x2F,0x06,0xCE,0x26,0xCA,0x4A,0xC8,0x2E,0xC6,0x2A,0x89,0x82,0x97,0xB2,0x45,0xAA,0x84,0x4A,0x85, -+0xEF,0x00,0xDF,0xCF,0x03,0x23,0xC4,0x2E,0x62,0x44,0xF2,0x40,0x42,0x49,0x26,0x85,0xD2,0x44,0x05,0x61,0x02,0x83,0x97,0x07,0x6E,0x00,0x93,0x87,0x27,0x13,0x37,0xE7, -+0xB3,0x00,0x98,0xC3,0x37,0xF7,0xB3,0x00,0xD8,0xC3,0x82,0x80,0x41,0x11,0x06,0xC6,0x22,0xC4,0x97,0xC7,0x6D,0x00,0x93,0x87,0x27,0xFD,0x17,0xC4,0x6D,0x00,0x13,0x04, -+0x64,0x36,0x3C,0xDC,0x28,0x5C,0x13,0x06,0x40,0x41,0x81,0x45,0xEF,0xF0,0x4D,0x9E,0x38,0x5C,0x3C,0x5C,0xB7,0x06,0xF8,0xFF,0xFD,0x16,0x23,0xA0,0xE7,0x40,0x38,0x5C, -+0x3C,0x5C,0x23,0xA2,0xE7,0x40,0x38,0x5C,0xF1,0x67,0x93,0x87,0x07,0x20,0x23,0x26,0xF7,0x40,0x3C,0x5C,0x17,0xE7,0xFE,0xFF,0x13,0x07,0x07,0x92,0x23,0xA8,0xE7,0x40, -+0xB7,0x57,0xA0,0x00,0x03,0xA7,0x87,0xC0,0x75,0x8F,0x23,0xA4,0xE7,0xC0,0x38,0x5C,0x03,0x27,0xC7,0x40,0x93,0x16,0x27,0x00,0x37,0xB7,0xC4,0x04,0x13,0x07,0x07,0x40, -+0x33,0x57,0xD7,0x02,0x85,0x66,0x23,0xA4,0xE7,0xC0,0x03,0xA7,0x87,0xC0,0x55,0x8F,0x23,0xA4,0xE7,0xC0,0x03,0xA7,0x87,0xC0,0xB7,0x06,0xC0,0x01,0x55,0x8F,0x23,0xA4, -+0xE7,0xC0,0x03,0xA7,0x87,0xC0,0xB7,0x06,0x40,0xFE,0xFD,0x16,0x75,0x8F,0x23,0xA4,0xE7,0xC0,0x38,0x5C,0x17,0x04,0xFF,0xFF,0x13,0x04,0xC4,0x2C,0x83,0x27,0xC4,0x4B, -+0x03,0x25,0x07,0x41,0x82,0x97,0x83,0x27,0x44,0x54,0x81,0x45,0x01,0x45,0x82,0x97,0x22,0x44,0xB2,0x40,0x41,0x01,0x05,0xB7,0x97,0xC6,0x6D,0x00,0x93,0x86,0x86,0x2A, -+0x03,0xA7,0x86,0x4C,0x83,0xA7,0x86,0x4C,0x13,0x05,0x00,0x40,0x83,0xC7,0x07,0x00,0x8D,0x8B,0x96,0x07,0x91,0x07,0xBA,0x97,0x1D,0x47,0x23,0x80,0xE7,0x00,0x11,0x47, -+0xA3,0x80,0x07,0x00,0xA3,0x81,0x07,0x00,0x23,0x81,0xE7,0x00,0x03,0xA7,0x86,0x4C,0x83,0x47,0x07,0x00,0x85,0x07,0x23,0x00,0xF7,0x00,0x97,0x07,0xFF,0xFF,0x93,0x87, -+0x67,0x26,0x03,0xA3,0xC7,0x18,0x02,0x83,0x41,0x11,0x22,0xC4,0x17,0xC4,0x6D,0x00,0x13,0x04,0x44,0x25,0x38,0x5C,0x3C,0x5C,0x06,0xC6,0x03,0x27,0x07,0x40,0x83,0xA7, -+0x47,0x40,0x63,0x06,0xF7,0x02,0x97,0xF7,0x6D,0x00,0x83,0xC7,0xD7,0x91,0xBD,0xEF,0xB7,0x57,0xA0,0x00,0x83,0xA7,0xC7,0xC0,0x37,0x56,0xA0,0x00,0xA1,0x83,0x13,0xF7, -+0xF7,0x0F,0x93,0x07,0x00,0x08,0x99,0x8F,0x3D,0x47,0x63,0x6E,0xF7,0x02,0xB2,0x40,0x22,0x44,0x41,0x01,0x82,0x80,0x34,0x5C,0x03,0xA7,0x06,0x40,0x93,0x05,0x17,0x00, -+0x23,0xA0,0xB6,0x40,0x03,0x47,0x07,0x00,0x23,0x20,0xE6,0xC0,0x34,0x5C,0x38,0x5C,0x83,0xA6,0x06,0x40,0x13,0x07,0x07,0x40,0x63,0x96,0xE6,0x00,0x34,0x5C,0x38,0x5C, -+0x23,0x20,0xD7,0x40,0xFD,0x17,0x34,0x5C,0x38,0x5C,0x83,0xA6,0x06,0x40,0x03,0x27,0x47,0x40,0x63,0x83,0xE6,0x00,0xE1,0xF3,0x37,0x57,0xA0,0x00,0x83,0x27,0x87,0xC0, -+0xB7,0x06,0x00,0x10,0xD5,0x8F,0x23,0x24,0xF7,0xC0,0x55,0xB7,0x17,0xF7,0x6D,0x00,0x03,0x47,0xA7,0x89,0x85,0x47,0x63,0x1F,0xF7,0x04,0x97,0xF7,0x6D,0x00,0x83,0xC7, -+0xB7,0x88,0xB1,0xE3,0x38,0x5C,0x97,0x07,0x6E,0x00,0x93,0x87,0x27,0xF4,0xDC,0x43,0x03,0x27,0x07,0x40,0x93,0x87,0x07,0x80,0x63,0x77,0xF7,0x00,0x38,0x5C,0x03,0x27, -+0x47,0x40,0x63,0x7C,0xF7,0x00,0x38,0x5C,0x03,0x27,0x07,0x40,0x63,0x6D,0xF7,0x00,0x38,0x5C,0x03,0x27,0x47,0x40,0x63,0x78,0xF7,0x00,0x7D,0x3D,0x85,0x47,0x17,0xF7, -+0x6D,0x00,0xA3,0x03,0xF7,0x84,0x38,0x5C,0x3C,0x5C,0x03,0x27,0x47,0x40,0x23,0xA0,0xE7,0x40,0x35,0xBF,0x3C,0x5C,0x03,0xA7,0x47,0x40,0x97,0x07,0x6E,0x00,0x93,0x87, -+0xE7,0xEE,0xD4,0x43,0x15,0x07,0x63,0xFC,0xE6,0x00,0x38,0x5C,0x03,0x27,0x47,0x40,0xD4,0x43,0x63,0x61,0xD7,0x02,0x38,0x5C,0x9C,0x43,0x23,0x22,0xF7,0x40,0x3C,0x5C, -+0x15,0x46,0x97,0x05,0x6E,0x00,0x93,0x85,0xE5,0xEC,0x03,0xA5,0x47,0x40,0xEF,0xE0,0x7D,0xF8,0x55,0xBF,0x23,0x00,0x07,0x00,0x05,0x07,0xD9,0xBF,0x17,0xC7,0x6D,0x00, -+0x13,0x07,0x47,0x10,0x3C,0x5F,0x97,0xE6,0x6D,0x00,0x83,0xC6,0xD6,0x7D,0x13,0xF6,0xF6,0xF7,0x83,0xA7,0x47,0x40,0x85,0x07,0x0D,0xE6,0x34,0x5F,0x93,0x86,0x06,0x40, -+0x63,0x93,0xD7,0x00,0x3C,0x5F,0x34,0x5F,0x83,0xA6,0x06,0x40,0x63,0x8A,0xF6,0x00,0x34,0x5F,0x83,0xA6,0x46,0x40,0x23,0x80,0xA6,0x00,0x38,0x5F,0x23,0x22,0xF7,0x40, -+0x82,0x80,0xE2,0x06,0xE1,0x86,0xE3,0xCD,0x06,0xFE,0x97,0x06,0x6E,0x00,0x93,0x86,0xE6,0xE5,0xD0,0x42,0xE3,0x19,0xF6,0xFC,0x9C,0x42,0xF1,0xB7,0x00,0x00,0x00,0x00, ++0x93,0xD7,0x45,0x01,0x75,0xB6,0x13,0x07,0x00,0x08,0xE3,0x91,0xE7,0xBE,0x93,0x17,0xF4,0x00,0xE3,0xDD,0x07,0xBC,0x83,0xC7,0xD4,0x3B,0x05,0x47,0xE3,0x68,0xF7,0xBC, ++0x83,0xC5,0xD4,0x3B,0x83,0xA7,0x09,0x0B,0x32,0x85,0x82,0x97,0xC1,0xB6,0x93,0x17,0xD4,0x00,0x63,0xD0,0x07,0x02,0x97,0x57,0xFF,0xFF,0x93,0x87,0xA7,0xAE,0x83,0xA7, ++0xC7,0x18,0x11,0x45,0x82,0x97,0x17,0x55,0x6E,0x00,0x13,0x05,0x25,0xA4,0xEF,0x20,0x10,0x10,0xB7,0x07,0xA0,0x00,0x9C,0x4B,0xD1,0xBE,0x99,0xC1,0x6F,0x00,0xCF,0xF7, ++0x41,0x11,0x17,0x55,0x6E,0x00,0x13,0x05,0xE5,0xA3,0x06,0xC6,0xEF,0x20,0x30,0x0E,0xB2,0x40,0x01,0x45,0x41,0x01,0x82,0x80,0x41,0x11,0x22,0xC4,0x17,0x54,0xFF,0xFF, ++0x13,0x04,0x44,0xAA,0x83,0x27,0x04,0x2F,0x26,0xC2,0x06,0xC6,0xAA,0x84,0x82,0x97,0xD8,0x44,0x9C,0x44,0x93,0x06,0x47,0x00,0x63,0x88,0xD7,0x00,0xD4,0x40,0x63,0x9E, ++0xE6,0x00,0x98,0x40,0x63,0x1B,0xF7,0x00,0x83,0x27,0xC4,0x2E,0x82,0x97,0x05,0x45,0xB2,0x40,0x22,0x44,0x92,0x44,0x41,0x01,0x82,0x80,0x83,0x27,0xC4,0x2E,0x82,0x97, ++0x01,0x45,0xFD,0xB7,0x01,0x11,0x06,0xCE,0x22,0xCC,0x26,0xCA,0x4A,0xC8,0x4E,0xC6,0x91,0xE9,0x01,0x49,0xF2,0x40,0x62,0x44,0x4A,0x85,0xD2,0x44,0x42,0x49,0xB2,0x49, ++0x05,0x61,0x82,0x80,0x97,0x54,0xFF,0xFF,0x93,0x84,0xC4,0xA3,0x83,0xA7,0xC4,0x39,0x2A,0x84,0xAE,0x89,0x82,0x97,0x2A,0x89,0x69,0xFD,0x83,0xA7,0x04,0x2F,0x82,0x97, ++0x58,0x44,0x54,0x40,0x93,0x07,0x47,0x00,0x63,0x93,0xE6,0x00,0x1C,0x40,0x14,0x44,0x63,0x8A,0xF6,0x00,0x23,0x20,0x37,0x01,0x5C,0xC4,0x83,0xA7,0xC4,0x2E,0x05,0x49, ++0x82,0x97,0x4D,0xBF,0x83,0xA7,0xC4,0x2E,0x82,0x97,0x97,0x37,0x6E,0x00,0x93,0x87,0x67,0x0C,0xBC,0x4F,0x85,0x07,0x17,0x37,0x6E,0x00,0x23,0x29,0xF7,0x10,0x21,0x67, ++0xE3,0x79,0xF7,0xF8,0xA2,0x85,0x17,0x55,0x6E,0x00,0x13,0x05,0xE5,0x96,0xEF,0x20,0xF0,0x00,0x97,0x37,0x6E,0x00,0x23,0xAB,0x07,0x0E,0xAD,0xBF,0x41,0x11,0x26,0xC2, ++0x97,0x54,0xFF,0xFF,0x93,0x84,0x04,0x9C,0x83,0xA7,0x04,0x2F,0x22,0xC4,0x06,0xC6,0x2A,0x84,0x82,0x97,0x1C,0x44,0x58,0x44,0x63,0x06,0xF7,0x02,0x4C,0x40,0x26,0x86, ++0xAA,0x86,0x84,0x43,0x13,0x87,0x47,0x00,0x63,0x93,0xF5,0x00,0x18,0x40,0x83,0x27,0xC6,0x2E,0x18,0xC4,0x36,0x85,0x82,0x97,0xB2,0x40,0x22,0x44,0x26,0x85,0x92,0x44, ++0x41,0x01,0x82,0x80,0x83,0xA7,0xC4,0x2E,0x81,0x44,0x82,0x97,0xF5,0xB7,0x01,0x11,0x22,0xCC,0x17,0x54,0xFF,0xFF,0x13,0x04,0xE4,0x96,0x83,0x27,0x04,0x2F,0x26,0xCA, ++0x06,0xCE,0xAA,0x84,0x2E,0xC6,0x82,0x97,0x94,0x40,0xD0,0x40,0x9C,0x44,0xD8,0x44,0xB2,0x45,0x63,0x97,0xE7,0x00,0x83,0x27,0xC4,0x2E,0x82,0x97,0x01,0x45,0x09,0xA8, ++0x03,0xA8,0x07,0x00,0x63,0x1B,0xB8,0x00,0x83,0x27,0xC4,0x2E,0x82,0x97,0x05,0x45,0xF2,0x40,0x62,0x44,0xD2,0x44,0x05,0x61,0x82,0x80,0x63,0x84,0xC7,0x00,0x91,0x07, ++0xC9,0xBF,0xB6,0x87,0xF9,0xB7,0x41,0x11,0x22,0xC4,0x17,0x54,0xFF,0xFF,0x13,0x04,0x64,0x91,0x83,0x27,0x04,0x2F,0x26,0xC2,0x4A,0xC0,0x06,0xC6,0x2A,0x89,0x82,0x97, ++0x83,0x27,0xC9,0x00,0x83,0x24,0x89,0x00,0x63,0x9C,0xF4,0x00,0x83,0x27,0xC4,0x2E,0x82,0x97,0x01,0x45,0xB2,0x40,0x22,0x44,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80, ++0x83,0x27,0xC4,0x2E,0x82,0x97,0x88,0x40,0xF5,0xB7,0x03,0x47,0x45,0x00,0x97,0x37,0x6E,0x00,0x83,0xC7,0x47,0xFA,0x5D,0xCF,0x05,0x47,0x63,0x9D,0xE7,0x0E,0x41,0x11, ++0x22,0xC4,0x26,0xC2,0x06,0xC6,0x17,0x37,0x6E,0x00,0x03,0x47,0x27,0xFB,0x17,0x54,0xFF,0xFF,0x13,0x04,0x24,0x8B,0x89,0x44,0x63,0x06,0xF7,0x00,0x83,0x27,0x04,0x32, ++0x85,0x44,0x82,0x97,0xA6,0x85,0x17,0x55,0x6E,0x00,0x13,0x05,0xA5,0x83,0xEF,0x20,0xE0,0x6C,0x83,0x27,0xC4,0x1C,0x82,0x97,0x26,0x85,0xEF,0xE0,0x9F,0xB0,0x83,0x27, ++0x84,0x1D,0x82,0x97,0x83,0x27,0x44,0x42,0x51,0x45,0x82,0x97,0x83,0x27,0x44,0x32,0x82,0x97,0x17,0x37,0x6E,0x00,0x03,0x47,0x67,0xF6,0x85,0x47,0x63,0x1F,0xF7,0x00, ++0xB7,0x06,0xA0,0x00,0x83,0xA7,0x86,0x0B,0x7D,0x77,0x7D,0x17,0xF9,0x8F,0x23,0xAC,0xF6,0x0A,0x97,0x37,0x6E,0x00,0x23,0x83,0x07,0xF4,0x89,0x47,0x17,0x37,0x6E,0x00, ++0x23,0x0B,0xF7,0xF0,0x22,0x44,0x85,0x47,0x17,0xF7,0x6D,0x00,0xA3,0x0C,0xF7,0xC2,0x85,0x47,0x17,0x17,0x6E,0x00,0xA3,0x04,0xF7,0xD8,0xB2,0x40,0x92,0x44,0x97,0xF5, ++0x6D,0x00,0x83,0xC5,0x35,0xC2,0x17,0x45,0x6E,0x00,0x13,0x05,0x25,0x7C,0x41,0x01,0x6F,0x20,0xC0,0x64,0x17,0xF7,0x6D,0x00,0xA3,0x06,0x07,0xC0,0x09,0x47,0x63,0x96, ++0xE7,0x00,0x97,0x37,0x6E,0x00,0x23,0x88,0x07,0xEC,0x83,0x47,0x55,0x00,0x89,0xC7,0x97,0xF7,0x6D,0x00,0x23,0x91,0x07,0xBE,0x85,0x47,0x17,0x17,0x6E,0x00,0xA3,0x00, ++0xF7,0xD4,0x97,0xF5,0x6D,0x00,0x83,0xC5,0xF5,0xBD,0x17,0x45,0x6E,0x00,0x13,0x05,0xE5,0x77,0x7D,0xBF,0x85,0x47,0x17,0xF7,0x6D,0x00,0xA3,0x05,0xF7,0xBC,0xE9,0xBF, ++0x35,0x71,0xAA,0x85,0x71,0x46,0x08,0x10,0x06,0xCF,0x22,0xCD,0x26,0xCB,0x4A,0xC9,0x4E,0xC7,0x52,0xC5,0xEF,0x30,0x0E,0xE2,0x83,0x44,0x21,0x02,0x17,0xC4,0x6D,0x00, ++0x13,0x04,0x44,0x7A,0x45,0x46,0x93,0x95,0x54,0x00,0xB3,0x07,0xB4,0x00,0x91,0x65,0xBE,0x95,0x93,0x85,0x85,0x48,0x68,0x00,0xEF,0x30,0xCE,0xDF,0x83,0x46,0x11,0x02, ++0x03,0x46,0x31,0x02,0x05,0x47,0xB6,0x87,0x63,0x03,0xE6,0x00,0x81,0x47,0x17,0xF7,0x6D,0x00,0x23,0x0B,0xF7,0xB6,0x93,0x07,0x00,0x18,0xB3,0x87,0xF4,0x02,0x09,0x67, ++0x03,0x46,0x41,0x02,0xA2,0x97,0xBA,0x97,0x22,0x57,0x23,0xA0,0xE7,0x48,0x05,0x47,0x81,0x47,0x63,0x13,0xE6,0x00,0xB6,0x87,0x17,0xF7,0x6D,0x00,0xA3,0x06,0xF7,0xB4, ++0x85,0x49,0x09,0x69,0x63,0x91,0x36,0x13,0x37,0x77,0xA0,0x00,0x85,0x67,0x7C,0xDB,0x97,0x07,0x6E,0x00,0x93,0x87,0x07,0x73,0x03,0xA6,0x07,0x42,0x13,0x09,0x89,0x47, ++0x97,0x15,0x6E,0x00,0x23,0xA8,0xC5,0xB4,0x83,0xA7,0x07,0x43,0x13,0x06,0x00,0x18,0x23,0x20,0xF7,0x08,0x83,0x47,0x21,0x02,0xB3,0x87,0xC7,0x02,0x32,0x56,0xCA,0x97, ++0xA2,0x97,0x90,0xC3,0x42,0x56,0xD0,0xC3,0x97,0x37,0x6E,0x00,0x23,0x81,0xD7,0xDE,0x7C,0x53,0x86,0x07,0x85,0x83,0x7C,0xD3,0x97,0x50,0xBE,0x00,0xE7,0x80,0xA0,0xF0, ++0x03,0x49,0x21,0x02,0x91,0x64,0x0D,0x47,0x13,0x1A,0x59,0x00,0xB3,0x07,0x44,0x01,0xBE,0x94,0x83,0xA7,0xC4,0x47,0x83,0x49,0x11,0x02,0x8D,0x8B,0x63,0x9F,0xE7,0x10, ++0x93,0xF7,0x19,0x00,0x13,0x97,0x57,0x00,0x83,0x47,0xE1,0x00,0x45,0x46,0x6C,0x00,0x93,0xF7,0xF7,0xFD,0xD9,0x8F,0x68,0x18,0x23,0x07,0xF1,0x00,0xEF,0x30,0x8E,0xD1, ++0x97,0x47,0xFF,0xFF,0x93,0x87,0x07,0x6A,0x83,0xA7,0xC7,0x29,0x68,0x18,0x82,0x97,0x83,0xA7,0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F, ++0xA2,0x07,0xD9,0x8F,0x05,0x67,0x79,0x17,0x63,0x6B,0xF7,0x0A,0x83,0xA7,0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F, ++0x85,0x07,0xC2,0x07,0xC1,0x83,0x11,0x67,0x52,0x94,0x3A,0x94,0x13,0xF7,0xF7,0x0F,0x83,0x46,0x34,0x49,0xA1,0x83,0xA3,0x09,0xE4,0x48,0x03,0x47,0x44,0x49,0x23,0x0A, ++0xF4,0x48,0x93,0x15,0x09,0x01,0xB3,0xE5,0x35,0x01,0x17,0x45,0x6E,0x00,0x13,0x05,0xA5,0x5E,0xEF,0x20,0xA0,0x46,0xFA,0x40,0x6A,0x44,0xDA,0x44,0x4A,0x49,0xBA,0x49, ++0x2A,0x4A,0x0D,0x61,0x82,0x80,0x97,0x50,0xBE,0x00,0xE7,0x80,0x20,0xE6,0x97,0xF7,0x6D,0x00,0x23,0x8A,0x07,0xA0,0x93,0x07,0x00,0x18,0xB3,0x87,0xF4,0x02,0x09,0x47, ++0xA2,0x97,0x3E,0x99,0x83,0x47,0x19,0x41,0x63,0x14,0xF7,0x00,0xA3,0x08,0x39,0x41,0x93,0x07,0x00,0x18,0xB3,0x84,0xF4,0x02,0x89,0x67,0x93,0x87,0x47,0x48,0x01,0x49, ++0x91,0x49,0xBE,0x94,0xA2,0x94,0x26,0x85,0x13,0x06,0x20,0x04,0x81,0x45,0x05,0x09,0xEF,0x30,0x0E,0xC6,0x93,0x84,0x24,0x04,0xE3,0x17,0x39,0xFF,0xD5,0xB5,0x83,0xA7, ++0x04,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x44,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x7D,0x77,0x05,0x07,0xBA,0x97,0xA9,0xB7,0x97,0xE7,0x6D,0x00,0x93,0x87, ++0x67,0x5A,0x83,0xC7,0x47,0x40,0x05,0x47,0xE3,0x1D,0xF7,0xF4,0x89,0x47,0x17,0xF7,0x6D,0x00,0x23,0x0A,0xF7,0x98,0xB1,0xB7,0x5D,0x71,0x4E,0xDE,0x83,0x49,0x15,0x00, ++0xA6,0xC2,0x93,0x04,0xC0,0x0E,0xB3,0x84,0x99,0x02,0xA2,0xC4,0x17,0xC4,0x6D,0x00,0x13,0x04,0x44,0x57,0xCA,0xC0,0x09,0x69,0x86,0xC6,0x52,0xDC,0x56,0xDA,0x19,0x47, ++0xB3,0x07,0x94,0x00,0xCA,0x97,0x83,0xA6,0x47,0x1E,0x63,0x4E,0xD7,0x02,0x83,0xA7,0x47,0x1E,0xAA,0x85,0x17,0x4A,0xFF,0xFF,0x13,0x0A,0xCA,0x54,0x95,0xEF,0x45,0x46, ++0x08,0x08,0xEF,0x30,0x2E,0xBB,0x83,0x27,0xCA,0x05,0x08,0x08,0x82,0x97,0x93,0x07,0xC0,0x0E,0xB3,0x89,0xF9,0x02,0x89,0x67,0x4E,0x94,0x3E,0x94,0x83,0x27,0x44,0x1E, ++0x85,0x07,0x23,0x22,0xF4,0x1E,0xB6,0x40,0x26,0x44,0x96,0x44,0x06,0x49,0xF2,0x59,0x62,0x5A,0xD2,0x5A,0x61,0x61,0x82,0x80,0x2A,0xC6,0x83,0x27,0xCA,0x52,0x13,0x05, ++0x89,0x1E,0x26,0x95,0x22,0x95,0x82,0x97,0xAA,0x8A,0x71,0xDD,0xB2,0x45,0x45,0x46,0xEF,0x30,0x4E,0xB6,0x13,0x05,0x89,0x1F,0x83,0x27,0x4A,0x39,0x26,0x95,0xD6,0x85, ++0x22,0x95,0x82,0x97,0x6D,0xB7,0x01,0x11,0x26,0xCA,0x83,0x44,0x25,0x00,0x4A,0xC8,0x06,0xCE,0x22,0xCC,0x4E,0xC6,0x52,0xC4,0x56,0xC2,0x5A,0xC0,0x93,0xF7,0x84,0x00, ++0x2A,0x89,0x95,0xC7,0x03,0x44,0x45,0x00,0x17,0x45,0x6E,0x00,0x13,0x05,0x45,0x48,0xA2,0x85,0xEF,0x20,0xA0,0x2E,0x22,0x85,0x62,0x44,0xF2,0x40,0xD2,0x44,0x42,0x49, ++0xB2,0x49,0x22,0x4A,0x92,0x4A,0x02,0x4B,0x05,0x61,0x6F,0xF0,0x6F,0x97,0x93,0xF7,0x04,0x01,0x83,0x49,0x35,0x00,0x00,0x45,0x85,0xC3,0x13,0x75,0xF4,0x0F,0x62,0x44, ++0xF2,0x40,0xD2,0x44,0x42,0x49,0x22,0x4A,0x92,0x4A,0x02,0x4B,0xCE,0x85,0xB2,0x49,0x05,0x46,0x05,0x61,0x6F,0x30,0x70,0x0E,0x93,0xF7,0x24,0x00,0x03,0x4A,0x15,0x00, ++0xF1,0xC7,0x85,0x47,0x17,0x37,0x6E,0x00,0xA3,0x04,0xF7,0xB4,0x17,0x17,0x6E,0x00,0x03,0x47,0x87,0x92,0x85,0x47,0x97,0x4A,0xFF,0xFF,0x93,0x8A,0xAA,0x44,0x63,0x1A, ++0xF7,0x00,0x83,0xA7,0x8A,0x56,0x01,0x45,0x82,0x97,0x83,0xA7,0x4A,0x42,0x29,0x45,0x82,0x97,0x37,0x07,0xA0,0x00,0xB7,0x87,0xA0,0x00,0x03,0xAB,0x07,0x01,0x83,0x27, ++0x87,0x0B,0x93,0xE7,0xF7,0x1F,0x23,0x2C,0xF7,0x0A,0x83,0xA7,0x0A,0x32,0x82,0x97,0x13,0x97,0x09,0x01,0x93,0x17,0x8A,0x01,0xD9,0x8F,0xC1,0x8F,0x17,0x37,0x6E,0x00, ++0x23,0x2C,0xF7,0xAC,0xB9,0x47,0x63,0xEA,0x87,0x10,0x81,0x46,0x17,0x36,0x6E,0x00,0x13,0x06,0x46,0x03,0xCE,0x85,0x21,0x45,0xEF,0x20,0xF0,0x7D,0x97,0x37,0x6E,0x00, ++0xA3,0x8B,0x87,0xBA,0x97,0x37,0x6E,0x00,0xA3,0x8E,0x07,0xAA,0xB7,0xD7,0xA0,0x00,0x03,0xA7,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x5A,0x07,0xA9,0x83,0xD9,0x8F,0x17,0x37, ++0x6E,0x00,0x23,0x29,0xF7,0xAE,0x93,0x17,0x3B,0x00,0x63,0xC5,0x07,0x00,0x83,0xA7,0x4A,0x32,0x82,0x97,0x37,0x07,0xA0,0x00,0x83,0x27,0x87,0x0B,0x93,0xF7,0x07,0xE0, ++0x23,0x2C,0xF7,0x0A,0x97,0x37,0x6E,0x00,0xA3,0x84,0x07,0xA8,0xB7,0x07,0xA0,0x00,0x23,0xA0,0x87,0x1E,0x13,0xF6,0x14,0x00,0xCE,0x85,0x22,0x85,0xEF,0x30,0xD0,0x20, ++0x03,0x27,0xC9,0x00,0xB7,0xB7,0xA0,0x00,0x91,0x88,0x23,0xA6,0xE7,0x22,0x97,0x37,0x6E,0x00,0x93,0x87,0x27,0xA4,0x83,0xC7,0x87,0x12,0x03,0x47,0x59,0x00,0xF9,0x9B, ++0x05,0x8B,0xD9,0x8F,0x17,0x37,0x6E,0x00,0x23,0x0A,0xF7,0xB4,0xF9,0xE4,0x97,0x06,0x6E,0x00,0x93,0x86,0x26,0x35,0x83,0xA7,0x86,0x4C,0x03,0xA7,0x86,0x4C,0x13,0x05, ++0x00,0x40,0x03,0x47,0x07,0x00,0x0D,0x8B,0x16,0x07,0x11,0x07,0xBA,0x97,0x11,0x47,0x23,0x80,0xE7,0x00,0x41,0x47,0x23,0x81,0xE7,0x00,0xA3,0x81,0x07,0x00,0xA3,0x80, ++0x47,0x01,0x05,0x47,0xD8,0xC7,0x03,0xA7,0x86,0x4C,0x23,0xA4,0x37,0x01,0xC0,0xC3,0x83,0x47,0x07,0x00,0x85,0x07,0x23,0x00,0xF7,0x00,0x62,0x44,0x97,0x47,0xFF,0xFF, ++0x93,0x87,0x47,0x30,0xF2,0x40,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x92,0x4A,0x02,0x4B,0x03,0xA3,0xC7,0x18,0x05,0x61,0x02,0x83,0x93,0x07,0xC4,0xFD,0x13,0x07, ++0x10,0x02,0x13,0x05,0x20,0x03,0x63,0x7A,0xF7,0x02,0x93,0x07,0xA4,0xFB,0x13,0x07,0x10,0x03,0x13,0x05,0xA0,0x05,0x63,0x72,0xF7,0x02,0x93,0x07,0x84,0xF8,0x51,0x47, ++0x13,0x05,0x20,0x08,0x63,0x7B,0xF7,0x00,0x93,0x07,0x34,0xF7,0x13,0x07,0x70,0x02,0x21,0x45,0x63,0x64,0xF7,0x00,0x13,0x05,0xB0,0x09,0x01,0x47,0xD2,0x86,0x17,0x36, ++0x6E,0x00,0x13,0x06,0x26,0x2D,0xCE,0x85,0xEF,0x30,0xC0,0x29,0xE3,0x10,0x0A,0xEC,0x97,0x37,0x6E,0x00,0xA3,0x88,0x87,0x96,0x55,0xBD,0xF2,0x40,0x62,0x44,0xD2,0x44, ++0x42,0x49,0xB2,0x49,0x22,0x4A,0x92,0x4A,0x02,0x4B,0x05,0x61,0x82,0x80,0x89,0x47,0x41,0x11,0x17,0x37,0x6E,0x00,0xA3,0x00,0xF7,0x94,0x41,0x01,0x82,0x80,0x93,0x57, ++0x85,0x00,0x01,0x11,0x93,0xF7,0xF7,0x0F,0x06,0xCE,0x2A,0xC4,0x2E,0xC6,0x17,0x37,0x6E,0x00,0xA3,0x0A,0xF7,0x92,0x95,0xE3,0x97,0x07,0x6E,0x00,0x93,0x87,0x87,0x24, ++0xB4,0x5F,0xB8,0x5F,0x23,0x20,0xD7,0x40,0xB8,0x5F,0xBC,0x5F,0x23,0xA2,0xE7,0x40,0x97,0x37,0x6E,0x00,0x23,0x8B,0x07,0x90,0x01,0xA8,0x0D,0x47,0x63,0x99,0xE7,0x00, ++0x97,0x37,0x6E,0x00,0xA3,0x82,0x07,0x90,0xF2,0x40,0x05,0x61,0x82,0x80,0x05,0x66,0x81,0x45,0x37,0xE5,0xB3,0x00,0xEF,0x30,0xAE,0x89,0x97,0x07,0x6E,0x00,0x93,0x87, ++0x67,0x20,0xB8,0x5F,0xB7,0xE6,0xB3,0x00,0x23,0x20,0xD7,0x40,0xB8,0x5F,0xBC,0x5F,0x03,0x27,0x07,0x40,0x23,0xA2,0xE7,0x40,0x97,0x37,0x6E,0x00,0x83,0xC7,0xB7,0x8C, ++0x11,0x47,0x63,0x98,0xE7,0x00,0x85,0x47,0x17,0x37,0x6E,0x00,0x23,0x0F,0xF7,0x8A,0x45,0xBF,0x15,0x47,0xE3,0x9A,0xE7,0xFA,0x61,0xBF,0x97,0x47,0xFF,0xFF,0x93,0x87, ++0x67,0x1C,0x83,0xA7,0x87,0x42,0x79,0x71,0x22,0xD4,0x26,0xD2,0x2A,0x84,0x4A,0xD0,0x4E,0xCE,0x83,0x44,0xD5,0x00,0x83,0x59,0xA5,0x00,0x03,0x49,0x35,0x01,0x06,0xD6, ++0x68,0x00,0x82,0x97,0x83,0x57,0x84,0x00,0x17,0x37,0x6E,0x00,0x23,0x16,0xF7,0x8C,0x83,0x47,0xE4,0x00,0x17,0x37,0x6E,0x00,0x23,0x07,0xF7,0x8C,0x83,0x57,0x24,0x02, ++0x17,0x37,0x6E,0x00,0x23,0x12,0xF7,0x8C,0x63,0x13,0x09,0x00,0x05,0x49,0x83,0x45,0x44,0x02,0x17,0x45,0x6E,0x00,0x13,0x05,0x25,0x14,0x97,0x37,0x6E,0x00,0x23,0x8E, ++0x27,0x85,0x97,0x37,0x6E,0x00,0xA3,0x82,0xB7,0x84,0xC2,0x05,0xB3,0xE5,0x25,0x01,0xEF,0x10,0xD0,0x78,0x97,0x37,0x6E,0x00,0x83,0xC7,0x37,0x83,0xFD,0x17,0x93,0xF7, ++0xF7,0x0F,0x05,0x47,0x63,0x68,0xF7,0x00,0xB7,0x67,0xF0,0x00,0x13,0x07,0xF0,0x1F,0x23,0xA2,0xE7,0x30,0x32,0x47,0x97,0x37,0x6E,0x00,0x23,0x90,0x37,0x87,0x93,0x07, ++0xF0,0x04,0x85,0x45,0x63,0xE3,0xE7,0x00,0x81,0x45,0x01,0x45,0xEF,0xC0,0xAF,0xAB,0x93,0x97,0x84,0x01,0xE1,0x87,0x63,0xC8,0x07,0x0C,0x92,0x04,0x97,0x37,0x6E,0x00, ++0x23,0x9E,0x97,0x82,0xA2,0x86,0x17,0x27,0x6E,0x00,0x13,0x07,0xA7,0x7C,0x17,0x26,0x6E,0x00,0x13,0x06,0xA6,0x7C,0x93,0x05,0x00,0x10,0x83,0xC7,0xF6,0x00,0x13,0x95, ++0x87,0x01,0x61,0x85,0x63,0x44,0x05,0x0A,0x92,0x07,0x23,0x15,0xF7,0x06,0x09,0x07,0x85,0x06,0xE3,0x14,0xE6,0xFE,0x83,0x47,0x64,0x01,0x83,0x45,0x84,0x01,0x17,0x45, ++0x6E,0x00,0x13,0x05,0xE5,0x09,0x17,0x37,0x6E,0x00,0xA3,0x07,0xF7,0x88,0x03,0x47,0x74,0x01,0xF2,0x07,0x97,0x36,0x6E,0x00,0xA3,0x81,0xB6,0x88,0x97,0x36,0x6E,0x00, ++0x23,0x8D,0xE6,0x86,0x42,0x07,0xD9,0x8F,0xDD,0x8D,0xEF,0x10,0x30,0x6D,0x93,0x05,0xA4,0x01,0x21,0x46,0x17,0x35,0x6E,0x00,0x13,0x05,0x55,0x86,0xEF,0x20,0x9E,0xEF, ++0x97,0x37,0x6E,0x00,0x83,0xC7,0xA7,0x85,0x97,0x35,0x6E,0x00,0x83,0xC5,0x35,0x85,0xC2,0x05,0xE2,0x07,0xCD,0x8F,0x97,0x35,0x6E,0x00,0x83,0xC5,0x75,0x84,0xCD,0x8F, ++0x97,0x35,0x6E,0x00,0x83,0xC5,0xC5,0x83,0xA2,0x05,0xDD,0x8D,0x17,0x45,0x6E,0x00,0x13,0x05,0x05,0x03,0xEF,0x10,0x90,0x68,0xB2,0x50,0x22,0x54,0x92,0x54,0x02,0x59, ++0xF2,0x49,0x45,0x61,0x82,0x80,0x93,0x84,0x04,0xF0,0x05,0xBF,0x8D,0x8F,0xA9,0xBF,0x41,0x11,0x93,0x05,0x45,0x00,0x13,0x06,0x00,0x02,0x17,0x25,0x6E,0x00,0x13,0x05, ++0xC5,0x76,0x06,0xC6,0xEF,0x20,0x1E,0xE9,0xB2,0x40,0x41,0x01,0x82,0x80,0x41,0x11,0x93,0x05,0x45,0x00,0x13,0x06,0x00,0x03,0x17,0x25,0x6E,0x00,0x13,0x05,0xE5,0x76, ++0x06,0xC6,0xEF,0x20,0x3E,0xE7,0xB2,0x40,0x41,0x01,0x82,0x80,0x41,0x11,0x22,0xC4,0x93,0x05,0x15,0x00,0x2A,0x84,0x13,0x06,0x90,0x03,0x17,0x25,0x6E,0x00,0x13,0x05, ++0x05,0x78,0x06,0xC6,0xEF,0x20,0x1E,0xE5,0x93,0x05,0xC4,0x03,0x11,0x46,0x17,0x25,0x6E,0x00,0x13,0x05,0x85,0x76,0xEF,0x20,0xFE,0xE3,0x22,0x44,0xB2,0x40,0x97,0x25, ++0x6E,0x00,0x83,0xC5,0xC5,0x75,0x17,0x45,0x6E,0x00,0x13,0x05,0xA5,0xFA,0x41,0x01,0x6F,0x10,0xD0,0x5E,0x01,0x11,0x22,0xCC,0x13,0x54,0x85,0x00,0x26,0xCA,0x13,0x74, ++0xF4,0x0F,0x97,0x24,0x6E,0x00,0x93,0x84,0xE4,0x66,0x41,0x81,0xB3,0x87,0x84,0x00,0x06,0xCE,0x4A,0xC8,0x13,0x75,0xF5,0x0F,0xA3,0x88,0xA7,0x10,0x93,0x37,0x14,0x00, ++0xBE,0x94,0x31,0xED,0x17,0x49,0xFF,0xFF,0x13,0x09,0xC9,0xF7,0x83,0x27,0x09,0x46,0x22,0x85,0x82,0x97,0x83,0x27,0xC9,0x09,0x22,0x85,0x82,0x97,0x93,0x07,0x00,0x18, ++0x33,0x04,0xF4,0x02,0x97,0xE7,0x6D,0x00,0x93,0x87,0xC7,0xF5,0x3E,0x94,0x89,0x47,0xA3,0x08,0xF4,0x40,0x83,0xC7,0x14,0x11,0xA9,0xE7,0x83,0x27,0x89,0x56,0x05,0x45, ++0x82,0x97,0x83,0x27,0xC9,0x5C,0x82,0x97,0x17,0x45,0x6E,0x00,0x13,0x05,0x85,0xF3,0x62,0x44,0xF2,0x40,0xD2,0x44,0x42,0x49,0x05,0x61,0x6F,0x10,0x50,0x55,0x03,0xC7, ++0x14,0x11,0x85,0x47,0x63,0x0F,0xF7,0x00,0x97,0x47,0xFF,0xFF,0x93,0x87,0x87,0xF1,0x83,0xA7,0x87,0x56,0x01,0x45,0x82,0x97,0x17,0x45,0x6E,0x00,0x13,0x05,0x45,0xF1, ++0xC1,0xBF,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0x05,0x61,0x82,0x80,0x29,0x71,0x23,0x2E,0x11,0x12,0x93,0x07,0x50,0x02,0x63,0x92,0xF5,0x02,0xAA,0x85,0x41,0x46, ++0x88,0x19,0xEF,0x20,0x3E,0xD5,0x41,0x46,0x8C,0x19,0x88,0x11,0xEF,0x20,0x9E,0xD4,0x88,0x11,0xD5,0x3A,0x83,0x20,0xC1,0x13,0x31,0x61,0x82,0x80,0x93,0x07,0x60,0x02, ++0x63,0x98,0xF5,0x00,0x89,0x47,0x17,0x27,0x6E,0x00,0xA3,0x06,0xF7,0x58,0xDD,0xB7,0x93,0x07,0x70,0x02,0x63,0x9D,0xF5,0x00,0xAA,0x85,0x21,0x46,0x88,0x19,0xEF,0x20, ++0x7E,0xD1,0x4E,0x55,0xDE,0x55,0x83,0x20,0xC1,0x13,0x31,0x61,0x0D,0xB9,0x93,0x07,0x80,0x02,0x63,0x91,0xF5,0x02,0xAA,0x85,0x13,0x06,0x80,0x02,0x88,0x19,0xEF,0x20, ++0x7E,0xCF,0x13,0x06,0x80,0x02,0x8C,0x19,0x08,0x19,0xEF,0x20,0xBE,0xCE,0x08,0x19,0x6D,0x31,0x4D,0xB7,0x93,0x07,0x90,0x02,0x63,0x9D,0xF5,0x00,0xAA,0x85,0x21,0x46, ++0x88,0x19,0xEF,0x20,0x3E,0xCD,0x4E,0x55,0xDE,0x55,0x83,0x20,0xC1,0x13,0x31,0x61,0x55,0xB5,0x93,0x07,0xB0,0x02,0x63,0x91,0xF5,0x02,0xAA,0x85,0x13,0x06,0x40,0x02, ++0x88,0x19,0xEF,0x20,0x3E,0xCB,0x13,0x06,0x40,0x02,0x8C,0x19,0x08,0x01,0xEF,0x20,0x7E,0xCA,0x08,0x01,0xF5,0x3B,0xB9,0xBF,0x93,0x07,0xC0,0x02,0x63,0x91,0xF5,0x02, ++0xAA,0x85,0x13,0x06,0x40,0x03,0x88,0x19,0xEF,0x20,0xDE,0xC8,0x13,0x06,0x40,0x03,0x8C,0x19,0x88,0x00,0xEF,0x20,0x1E,0xC8,0x88,0x00,0xD5,0x3B,0x25,0xBF,0x93,0x07, ++0xD0,0x02,0xE3,0x99,0xF5,0xF2,0xAA,0x85,0x13,0x06,0x00,0x04,0x88,0x19,0xEF,0x20,0x7E,0xC6,0x13,0x06,0x00,0x04,0x8C,0x19,0x0A,0x85,0xEF,0x20,0xBE,0xC5,0x0A,0x85, ++0xF5,0x33,0x09,0xBF,0x5C,0x41,0x17,0xE7,0x6D,0x00,0x23,0x2B,0xF7,0x1C,0x82,0x80,0xB7,0x77,0xA0,0x00,0x03,0xA7,0x07,0x0A,0x97,0x07,0x6E,0x00,0x93,0x87,0x87,0xDC, ++0x83,0xA7,0x07,0x43,0x13,0x77,0xF7,0x0F,0xA3,0x02,0x05,0x00,0xC2,0x07,0xD9,0x8F,0x23,0x02,0xF5,0x00,0x13,0xD7,0x07,0x01,0xE1,0x83,0x23,0x03,0xE5,0x00,0xA3,0x03, ++0xF5,0x00,0x97,0x27,0x6E,0x00,0x23,0x84,0x07,0x48,0x82,0x80,0x97,0xE7,0x6D,0x00,0x93,0x87,0x47,0xD9,0x03,0xA7,0x47,0x1E,0x41,0x11,0x22,0xC4,0x06,0xC6,0x3E,0x84, ++0x63,0x5A,0xE0,0x02,0x97,0x27,0x6E,0x00,0x83,0xC7,0xC7,0x44,0x85,0xE7,0x97,0x07,0x6E,0x00,0x93,0x87,0x27,0xD7,0x03,0xA5,0x47,0x20,0x97,0x47,0xFF,0xFF,0x93,0x87, ++0x67,0xD6,0x83,0xA7,0x47,0x19,0x82,0x97,0x11,0xC5,0x85,0x47,0x17,0x27,0x6E,0x00,0x23,0x02,0xF7,0x42,0x83,0x27,0x04,0x2D,0x63,0x5C,0xF0,0x02,0x97,0x27,0x6E,0x00, ++0x83,0xC7,0x57,0x41,0x95,0xE7,0x97,0x07,0x6E,0x00,0x93,0x87,0xA7,0xD3,0x03,0xA5,0x47,0x20,0x97,0x47,0xFF,0xFF,0x93,0x87,0xE7,0xD2,0x83,0xA7,0x47,0x19,0x13,0x05, ++0x05,0x20,0x82,0x97,0x11,0xC5,0x85,0x47,0x17,0x27,0x6E,0x00,0xA3,0x04,0xF7,0x3E,0x22,0x44,0xB2,0x40,0x41,0x01,0x6F,0xD0,0x3E,0xD0,0x7D,0xC5,0x03,0x47,0x45,0x05, ++0x83,0x47,0x55,0x05,0xBA,0x97,0x93,0xF7,0xF7,0x0F,0x05,0x47,0x63,0x7E,0xF7,0x0C,0x03,0x47,0x45,0x06,0x63,0xEB,0xE7,0x0C,0x83,0x47,0xC5,0x00,0x83,0x45,0x25,0x05, ++0x03,0x48,0x15,0x01,0x93,0xE7,0x47,0x00,0x23,0x06,0xF5,0x00,0x93,0xF7,0xF5,0x07,0x13,0x97,0x17,0x00,0x83,0x46,0x25,0x01,0x83,0x47,0x15,0x02,0x13,0x58,0x48,0x00, ++0x92,0x06,0x85,0x8B,0xD9,0x8F,0x33,0xE8,0x06,0x01,0x03,0x47,0x25,0x02,0x83,0x46,0x35,0x01,0x03,0x46,0xA5,0x01,0xA3,0x00,0xF5,0x02,0x79,0x9B,0x93,0xD7,0x75,0x00, ++0xB2,0x06,0x5D,0x8F,0xB3,0xE6,0x06,0x01,0x93,0x57,0x46,0x00,0x85,0x8B,0xC2,0x06,0xC1,0x82,0xFA,0x07,0xD5,0x8F,0x93,0x56,0x17,0x00,0x8D,0x8A,0xF2,0x06,0xD5,0x8F, ++0x93,0x56,0x57,0x00,0x23,0x01,0xE5,0x02,0xD2,0x05,0x85,0x8A,0x19,0x83,0xCD,0x8F,0xCE,0x06,0x05,0x8B,0x4E,0x07,0xD5,0x8F,0xD9,0x8F,0x03,0x47,0xD5,0x00,0x05,0x8A, ++0x4A,0x06,0x11,0x83,0x0D,0x8B,0x42,0x07,0xD1,0x8F,0xD9,0x8F,0x37,0x07,0x00,0x80,0xD9,0x8F,0x37,0x07,0xA0,0x00,0x23,0x20,0xF7,0x28,0x83,0x27,0x47,0x28,0x93,0x96, ++0x07,0x01,0xE3,0xDC,0x06,0xFE,0xC2,0x07,0xC1,0x83,0x23,0x00,0xF5,0x04,0xA1,0x83,0xA3,0x00,0xF5,0x04,0x23,0x01,0x05,0x04,0xA3,0x01,0x05,0x04,0xB7,0x07,0xA0,0x00, ++0x23,0xA0,0x07,0x28,0x23,0xA2,0x07,0x28,0x82,0x80,0x03,0x47,0x35,0x06,0x63,0xE3,0xE7,0x02,0x83,0x47,0x05,0x06,0x23,0x09,0xF5,0x04,0x83,0x47,0x95,0x04,0x8E,0x07, ++0x13,0xF7,0x07,0x04,0x83,0x47,0x25,0x02,0x93,0xF7,0xF7,0xFB,0xD9,0x8F,0x23,0x01,0xF5,0x02,0x19,0xB7,0x03,0x47,0x25,0x06,0xE3,0xE8,0xE7,0xFC,0x83,0x47,0xF5,0x05, ++0x23,0x09,0xF5,0x04,0x83,0x47,0x95,0x04,0x92,0x07,0xD9,0xBF,0x01,0x11,0x26,0xCA,0x06,0xCE,0x22,0xCC,0x4A,0xC8,0x4E,0xC6,0x52,0xC4,0x56,0xC2,0x5A,0xC0,0x97,0xE6, ++0x6D,0x00,0x83,0xC6,0xE6,0xF7,0xA9,0x47,0x17,0xC7,0x6D,0x00,0x13,0x07,0x87,0xBB,0x09,0x66,0x97,0xE4,0x6D,0x00,0x93,0x84,0xE4,0xBA,0x63,0xF5,0xD7,0x04,0x93,0x07, ++0x00,0x09,0x63,0x14,0xF5,0x08,0x97,0x26,0x6E,0x00,0x83,0xC6,0xD6,0x37,0x93,0xE7,0x26,0x00,0x97,0x25,0x6E,0x00,0xA3,0x88,0xF5,0x36,0x83,0xC5,0xD4,0x3B,0x93,0x07, ++0x80,0x09,0xB3,0x87,0xB7,0x02,0xBA,0x97,0xB2,0x97,0x83,0xA7,0x47,0x14,0xB1,0xEF,0x93,0xF7,0x16,0x00,0xB9,0xEB,0x93,0xE6,0x66,0x00,0x97,0x27,0x6E,0x00,0xA3,0x84, ++0xD7,0x34,0xA1,0xA0,0x83,0xC7,0xC4,0x3B,0xAE,0x8A,0x8A,0x07,0xBA,0x97,0x80,0x43,0x83,0x47,0xD4,0x23,0x03,0x2B,0x04,0x00,0x03,0x2A,0x44,0x00,0xA3,0x00,0xF4,0x24, ++0x93,0x07,0x00,0x0C,0x63,0x1D,0xF5,0x02,0x03,0x47,0x24,0x24,0x99,0x47,0x63,0x1E,0xF7,0x00,0x97,0x47,0xFF,0xFF,0x93,0x87,0xE7,0xB2,0x83,0xA7,0x87,0x10,0x13,0x05, ++0x40,0x0C,0x82,0x97,0x8D,0x47,0x23,0x01,0xF4,0x24,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x92,0x4A,0x02,0x4B,0x05,0x61,0x82,0x80,0x93,0x07, ++0x00,0x0D,0x63,0x14,0xF5,0x0A,0x03,0x47,0x24,0x24,0x9D,0x47,0xE3,0x1F,0xF7,0xFC,0x26,0x89,0x97,0x44,0xFF,0xFF,0x93,0x84,0xE4,0xAE,0x83,0xA7,0x84,0x10,0x13,0x05, ++0x40,0x0D,0x82,0x97,0x85,0x47,0xA3,0x0C,0xFA,0x04,0x23,0x0D,0x5A,0x05,0x83,0xA7,0x84,0x49,0x52,0x85,0x82,0x97,0x83,0x57,0xA4,0x23,0x93,0xF7,0x07,0x04,0x81,0xEF, ++0x83,0x47,0x9A,0x04,0x95,0x83,0x85,0x8B,0xB9,0xC3,0x83,0x47,0x9B,0x00,0xA2,0x07,0x93,0xF7,0x07,0x40,0x8D,0xCF,0x83,0x47,0x54,0x24,0x05,0x47,0xED,0x9B,0xA3,0x02, ++0xF4,0x24,0x83,0xA7,0x84,0x53,0x97,0x24,0x6E,0x00,0x83,0xC4,0x34,0x18,0x63,0x9D,0xE4,0x00,0x17,0x27,0x6E,0x00,0xA3,0x0B,0x07,0x16,0x22,0x85,0x82,0x97,0x97,0x27, ++0x6E,0x00,0xA3,0x85,0x97,0x16,0xB9,0xBF,0x22,0x85,0x82,0x97,0xA1,0xBF,0x83,0xA7,0x84,0x10,0x13,0x05,0x40,0x0D,0x82,0x97,0x03,0x45,0xC9,0x3B,0x9C,0x54,0x82,0x97, ++0x23,0x20,0x04,0x00,0x23,0x22,0x04,0x00,0x89,0xB7,0x93,0x07,0x00,0x09,0xE3,0x1E,0xF5,0xF2,0x83,0x46,0x24,0x24,0xA1,0x47,0xE3,0x97,0xF6,0xEA,0xBA,0x89,0x03,0xC7, ++0xD4,0x3B,0x93,0x07,0x80,0x09,0x17,0x49,0xFF,0xFF,0x13,0x09,0xA9,0xA3,0xB3,0x87,0xE7,0x02,0xCE,0x97,0xB2,0x97,0x03,0xA7,0x47,0x14,0x05,0x07,0x23,0xA2,0xE7,0x14, ++0x03,0x57,0xA4,0x23,0x91,0x67,0x93,0x87,0x07,0x04,0x7D,0x8F,0x63,0x16,0xF7,0x06,0x83,0x47,0x54,0x24,0x97,0x24,0x6E,0x00,0x83,0xC4,0x54,0x0F,0x05,0x47,0xE9,0x9B, ++0xA3,0x02,0xF4,0x24,0x83,0x27,0x89,0x53,0x63,0x95,0xE4,0x04,0x17,0x27,0x6E,0x00,0xA3,0x0E,0x07,0x0C,0x22,0x85,0x82,0x97,0x97,0x27,0x6E,0x00,0xA3,0x88,0x97,0x0C, ++0x89,0x64,0x13,0x0A,0x84,0x01,0x93,0x0A,0x80,0x09,0x93,0x84,0x44,0x0B,0x83,0x27,0xC9,0x52,0x52,0x85,0x82,0x97,0xAA,0x85,0xE3,0x06,0x05,0xEA,0x83,0x47,0x44,0x24, ++0x03,0x27,0x49,0x39,0xB3,0x87,0x57,0x03,0xA6,0x97,0x33,0x85,0xF9,0x00,0x02,0x97,0xF9,0xBF,0x22,0x85,0x82,0x97,0xE9,0xB7,0x83,0x27,0x89,0x10,0x13,0x05,0x40,0x09, ++0x82,0x97,0x03,0xC5,0xC4,0x3B,0x83,0x27,0x89,0x02,0x15,0xBF,0x39,0x71,0x52,0xD4,0x56,0xD2,0x06,0xDE,0x22,0xDC,0x26,0xDA,0x4A,0xD8,0x4E,0xD6,0x5A,0xD0,0x5E,0xCE, ++0x62,0xCC,0x66,0xCA,0xA5,0x47,0x2A,0x8A,0xAE,0x8A,0x63,0x17,0xF5,0x00,0x97,0xE5,0x6D,0x00,0x83,0xC5,0xE5,0xD2,0x29,0xA0,0x99,0x47,0xAA,0x85,0xE3,0x09,0xF5,0xFE, ++0x17,0x44,0xFF,0xFF,0x13,0x04,0x04,0x96,0xAD,0x47,0x17,0xE7,0x6D,0x00,0x23,0x09,0xF7,0xD0,0x83,0x27,0x84,0x10,0x13,0x05,0x40,0x0D,0x2E,0xC6,0x82,0x97,0x83,0x27, ++0x84,0x10,0x13,0x05,0x40,0x09,0x82,0x97,0x83,0x27,0x84,0x10,0x13,0x05,0x40,0x0C,0x82,0x97,0xB2,0x45,0x99,0x47,0x63,0xEB,0xB7,0x1A,0x17,0xCB,0x6D,0x00,0x13,0x0B, ++0x6B,0x92,0x8A,0x05,0xDA,0x95,0x03,0xA9,0x05,0x00,0x83,0x29,0x49,0x00,0x63,0x85,0x09,0x0C,0xB7,0x07,0xA0,0x00,0x03,0xAC,0x07,0x01,0x83,0x27,0xC4,0x39,0x93,0x04, ++0x89,0x00,0xCE,0x85,0x26,0x85,0x82,0x97,0x35,0xE1,0x83,0x27,0xC4,0x39,0x93,0x04,0x89,0x01,0xCE,0x85,0x26,0x85,0x82,0x97,0x31,0xE9,0x83,0x27,0xC4,0x39,0x93,0x04, ++0x89,0x02,0xCE,0x85,0x26,0x85,0x82,0x97,0x31,0xE1,0x03,0xC5,0xB9,0x05,0x93,0x0C,0x80,0x09,0x89,0x6B,0x33,0x05,0x95,0x03,0x93,0x84,0x4B,0x0B,0x83,0x27,0xC4,0x39, ++0xCE,0x85,0x26,0x95,0x5A,0x95,0x82,0x97,0x21,0xC1,0x83,0xC7,0xB9,0x05,0xB3,0x87,0x97,0x03,0xBE,0x94,0xDA,0x97,0xDE,0x97,0x03,0xA7,0x47,0x14,0xDA,0x94,0x63,0x57, ++0xE0,0x00,0x03,0xA7,0x47,0x14,0x7D,0x17,0x23,0xA2,0xE7,0x14,0x83,0x27,0xC4,0x52,0x26,0x85,0x82,0x97,0xB7,0x05,0x00,0x80,0xC5,0x8D,0x01,0x46,0x17,0x45,0x6E,0x00, ++0x13,0x05,0x45,0x8B,0xEF,0x10,0x80,0x6B,0x93,0x17,0xCC,0x00,0x63,0xC7,0x07,0x00,0x83,0x47,0x09,0x24,0x85,0x07,0x23,0x8A,0xF9,0x04,0x83,0x27,0xC4,0x39,0xCE,0x85, ++0x17,0x05,0x6E,0x00,0x13,0x05,0xC5,0x8E,0x82,0x97,0x19,0xE5,0x83,0x27,0x44,0x39,0xCE,0x85,0x13,0x05,0x89,0x02,0x82,0x97,0x23,0x01,0x09,0x24,0x23,0x16,0x09,0x24, ++0x23,0x20,0x09,0x00,0x23,0x22,0x09,0x00,0x83,0x27,0x44,0x11,0x37,0x09,0xA0,0x00,0x82,0x97,0x83,0x27,0x04,0x43,0x01,0x45,0x82,0x97,0x83,0x27,0x09,0x01,0x17,0x27, ++0x6E,0x00,0x03,0x47,0x47,0xEF,0x55,0xEB,0x37,0x07,0x00,0x02,0x13,0x07,0x07,0x02,0xF9,0x8F,0xC5,0xE7,0x83,0x27,0x89,0x0B,0x05,0x67,0x05,0x4B,0xD9,0x8F,0x23,0x2C, ++0xF9,0x0A,0x83,0x27,0x04,0x32,0x97,0xF9,0x6D,0x00,0x93,0x89,0xA9,0x7F,0x42,0x0A,0x82,0x97,0x97,0x27,0x6E,0x00,0x23,0x83,0x67,0xEF,0x83,0xA4,0x89,0x4C,0x83,0xA7, ++0x89,0x4C,0x19,0x46,0x81,0x45,0x83,0xC7,0x07,0x00,0x33,0x6A,0x5A,0x01,0x8D,0x8B,0x96,0x07,0x91,0x07,0xBE,0x94,0x13,0x85,0x24,0x00,0xEF,0x20,0x6E,0xE5,0x99,0x47, ++0x23,0x90,0xF4,0x00,0xB1,0x47,0x23,0x81,0xF4,0x00,0x23,0xA4,0x44,0x01,0x83,0x27,0x09,0x01,0x03,0xA7,0x89,0x4C,0x13,0x05,0x00,0x40,0xDC,0xC0,0x83,0x47,0x07,0x00, ++0x85,0x07,0x23,0x00,0xF7,0x00,0x03,0x23,0xC4,0x18,0x62,0x54,0x97,0x27,0x6E,0x00,0x23,0x83,0x67,0xE7,0xF2,0x50,0xD2,0x54,0x42,0x59,0xB2,0x59,0x22,0x5A,0x92,0x5A, ++0x02,0x5B,0xF2,0x4B,0x62,0x4C,0xD2,0x4C,0x21,0x61,0x02,0x83,0x17,0x35,0x6E,0x00,0x13,0x05,0x05,0x7B,0xEF,0x10,0x80,0x5A,0x05,0xBF,0xF2,0x50,0x62,0x54,0xD2,0x54, ++0x42,0x59,0xB2,0x59,0x22,0x5A,0x92,0x5A,0x02,0x5B,0xF2,0x4B,0x62,0x4C,0xD2,0x4C,0x21,0x61,0x82,0x80,0x97,0x26,0x6E,0x00,0x83,0xC6,0x56,0xE3,0x05,0x47,0xAA,0x87, ++0x63,0x91,0xE6,0x02,0x03,0x47,0x55,0x24,0x93,0x76,0x27,0x00,0x89,0xC6,0x23,0x20,0x05,0x00,0x23,0x22,0x05,0x00,0x13,0x67,0x77,0x00,0xA3,0x82,0xE7,0x24,0x01,0x45, ++0x82,0x80,0x6F,0xC0,0x7E,0xCC,0x97,0x27,0x6E,0x00,0x83,0xC7,0x37,0xE0,0x63,0x8A,0x07,0x3A,0x59,0x71,0xA6,0xD2,0x86,0xD6,0xA2,0xD4,0xCA,0xD0,0xCE,0xCE,0xD2,0xCC, ++0xD6,0xCA,0xDA,0xC8,0xDE,0xC6,0xE2,0xC4,0xE6,0xC2,0xEA,0xC0,0x6E,0xDE,0x05,0x47,0x81,0x44,0x81,0x47,0x63,0x64,0xA7,0x00,0x93,0x77,0xF5,0x0F,0x3E,0xCE,0xAA,0x87, ++0x11,0xC1,0x85,0x47,0x85,0x07,0x93,0xF7,0xF7,0x0F,0x3E,0xD0,0x93,0x07,0x80,0x09,0x33,0x05,0xF5,0x02,0x89,0x67,0x93,0x87,0x47,0x0B,0x17,0xB9,0x6D,0x00,0x13,0x09, ++0x69,0x6C,0x85,0x4B,0x01,0x4A,0x17,0x34,0xFF,0xFF,0x13,0x04,0xA4,0x6B,0xAA,0x97,0xCA,0x97,0x3E,0xD2,0x4A,0x95,0x89,0x67,0xAA,0x97,0x3E,0xD6,0x83,0x27,0x04,0x1A, ++0x01,0x4C,0x82,0x97,0x72,0x4B,0x02,0x57,0x93,0x77,0xFB,0x0F,0x63,0xEC,0xE7,0x06,0x63,0x05,0x0C,0x2A,0x83,0x27,0x44,0x42,0x51,0x45,0x82,0x97,0x85,0x69,0x93,0x87, ++0x89,0x38,0x63,0x1C,0xFA,0x04,0x17,0xD7,0x6D,0x00,0x13,0x07,0xA7,0x67,0xB7,0x77,0xA0,0x00,0x83,0xA7,0xC7,0x09,0x83,0x26,0x07,0x7D,0x03,0x27,0x07,0x7D,0xA2,0x07, ++0xAC,0x4E,0x78,0x4F,0x17,0x35,0x6E,0x00,0x13,0x05,0x85,0x6B,0xE2,0x05,0x42,0x07,0xD9,0x8D,0xDD,0x8D,0xB3,0xE5,0x85,0x01,0xEF,0x10,0x40,0x48,0x83,0x27,0xC4,0x4A, ++0x82,0x97,0x93,0x97,0x34,0x01,0x63,0xC8,0x07,0x00,0xB7,0x07,0xA0,0x00,0x84,0x43,0xB3,0xE4,0x34,0x01,0x84,0xC3,0x85,0x4B,0x01,0x4A,0x05,0x0A,0x42,0x0A,0x13,0x5A, ++0x0A,0x01,0xAD,0xBF,0x93,0x17,0xCB,0x01,0x3E,0xCA,0x93,0x07,0x80,0x09,0xB3,0x07,0xFB,0x02,0x17,0xD7,0x6D,0x00,0x13,0x07,0x27,0x6C,0x81,0x4A,0xBA,0x97,0x05,0x67, ++0x3E,0xCC,0x93,0x07,0xC7,0x04,0xB3,0x07,0xFB,0x02,0xB3,0x09,0xF9,0x00,0x3E,0xC8,0xB3,0xF7,0xE4,0x00,0x3E,0xD4,0x93,0x07,0x40,0x25,0xB3,0x87,0xFA,0x02,0x42,0x47, ++0xBA,0x97,0xCA,0x97,0x03,0xC7,0xE7,0x25,0x13,0x77,0xF7,0x0F,0x4D,0xEF,0x93,0x87,0x49,0x02,0x93,0x8D,0x49,0x04,0x13,0x8D,0x49,0x03,0x3E,0xC6,0x83,0x27,0x04,0x3A, ++0x6E,0x85,0x82,0x97,0x39,0xE1,0x83,0x27,0x04,0x53,0x6E,0x85,0x82,0x97,0xAA,0x8C,0x6E,0x85,0x63,0x8C,0x0C,0x1A,0x03,0x27,0xC4,0x52,0x02,0x97,0x03,0xC7,0x1C,0x05, ++0x83,0xC6,0x0C,0x05,0x83,0xC5,0x6C,0x06,0xD2,0x47,0x22,0x07,0x55,0x8F,0x5D,0x8F,0xC2,0x05,0xD9,0x8D,0x17,0x35,0x6E,0x00,0x13,0x05,0x05,0x5D,0xEF,0x10,0x00,0x3C, ++0x03,0x27,0x84,0x49,0x66,0x85,0x02,0x97,0x55,0xBF,0x83,0x27,0x04,0x3A,0x6A,0x85,0x82,0x97,0x01,0xE9,0x83,0x27,0x04,0x53,0x6A,0x85,0x82,0x97,0xAA,0x8C,0x6A,0x85, ++0x4D,0xBF,0x83,0x27,0x04,0x3A,0x32,0x45,0x82,0x97,0x01,0xE9,0x83,0x27,0x04,0x53,0x32,0x45,0x82,0x97,0xAA,0x8C,0x32,0x45,0x69,0xBF,0x83,0x27,0x04,0x3A,0x62,0x45, ++0x82,0x97,0x63,0x14,0x05,0x14,0x83,0x27,0x04,0x53,0x62,0x45,0x82,0x97,0x03,0x27,0x04,0x2F,0xAA,0x8C,0x02,0x97,0xB2,0x57,0x03,0x27,0xC4,0x2E,0x23,0xA2,0x07,0x14, ++0x02,0x97,0x12,0x55,0xBD,0xB7,0x63,0x8E,0x0B,0x02,0x03,0xC7,0xE7,0x25,0x97,0xD7,0x6D,0x00,0x93,0x87,0x27,0x51,0x83,0xA6,0x07,0x7D,0x83,0xA7,0x07,0x7D,0x42,0x07, ++0xAC,0x4E,0xFC,0x4F,0x17,0x35,0x6E,0x00,0x13,0x05,0xC5,0x54,0xA2,0x05,0xDD,0x8D,0x93,0x97,0x8A,0x01,0xD9,0x8F,0xDD,0x8D,0xEF,0x10,0x40,0x32,0x83,0x27,0xC4,0x4A, ++0x82,0x97,0xA2,0x57,0xED,0xC3,0x93,0x0B,0x40,0x25,0xB3,0x8B,0x7A,0x03,0xC2,0x47,0xBE,0x9B,0xCA,0x9B,0x83,0xA7,0x0B,0x02,0xCD,0xC7,0x83,0xA5,0x0B,0x02,0x83,0x27, ++0xC4,0x39,0x13,0x85,0x49,0x02,0x82,0x97,0x49,0xED,0x83,0xA5,0x0B,0x02,0x83,0x27,0xC4,0x39,0x13,0x85,0x49,0x04,0x82,0x97,0x49,0xE5,0x83,0xA5,0x0B,0x02,0x83,0x27, ++0xC4,0x39,0x13,0x85,0x49,0x03,0x82,0x97,0x2D,0xED,0x83,0xA7,0x0B,0x02,0x83,0xA5,0x0B,0x02,0x03,0xC5,0xB7,0x05,0x93,0x07,0x80,0x09,0x33,0x05,0xF5,0x02,0x89,0x67, ++0x93,0x87,0x47,0x0B,0x3E,0x95,0x83,0x27,0xC4,0x39,0x4A,0x95,0x82,0x97,0x31,0xE9,0x83,0xA5,0x0B,0x02,0x83,0x27,0xC4,0x39,0x17,0xF5,0x6D,0x00,0x13,0x05,0x45,0x4F, ++0x82,0x97,0x21,0xE1,0x83,0xA7,0x0B,0x02,0x03,0xA7,0x0B,0x02,0x17,0x35,0x6E,0x00,0x13,0x05,0x85,0x49,0x03,0xC6,0x67,0x06,0xD2,0x47,0x83,0x45,0x07,0x05,0x42,0x06, ++0x5D,0x8E,0x83,0x47,0x17,0x05,0xA2,0x07,0xCD,0x8F,0xD1,0x8F,0xB7,0x05,0x00,0x80,0xDD,0x8D,0x7D,0x86,0xEF,0x10,0x80,0x26,0x03,0xA5,0x0B,0x02,0x83,0x27,0x84,0x49, ++0x82,0x97,0x93,0x07,0x40,0x25,0xB3,0x87,0xFA,0x02,0x42,0x47,0xBA,0x97,0xCA,0x97,0x23,0xAE,0x07,0x00,0x23,0xA0,0x07,0x02,0x2D,0x47,0x97,0xD6,0x6D,0x00,0x23,0x81, ++0xE6,0x7C,0x23,0x8F,0x07,0x24,0x81,0x4B,0x05,0x4C,0x85,0x0A,0x9D,0x47,0x93,0x89,0x49,0x25,0xE3,0x92,0xFA,0xE0,0x05,0x0B,0xB9,0xB3,0x97,0xD7,0x6D,0x00,0x93,0x87, ++0x67,0x3E,0x83,0xA6,0x07,0x7D,0x03,0xA7,0x07,0x7D,0xB4,0x4E,0x78,0x4F,0xE3,0x97,0xE6,0xD4,0x37,0x77,0xA0,0x00,0x83,0x25,0xC7,0x09,0x83,0xA6,0x07,0x7D,0x03,0xA7, ++0x07,0x7D,0xA2,0x05,0xBC,0x4E,0x78,0x4F,0x17,0x35,0x6E,0x00,0x13,0x05,0x05,0x42,0xE2,0x07,0x42,0x07,0xD9,0x8F,0xDD,0x8D,0xEF,0x10,0x40,0x1E,0x93,0x97,0x34,0x01, ++0x63,0xD9,0x07,0x00,0x37,0x07,0xA0,0x00,0x04,0x43,0xFD,0x77,0xFD,0x17,0xFD,0x8C,0x04,0xC3,0x83,0x27,0x04,0x2F,0x82,0x97,0x03,0x23,0xC4,0x2E,0x26,0x54,0xB6,0x50, ++0x96,0x54,0x06,0x59,0xF6,0x49,0x66,0x4A,0xD6,0x4A,0x46,0x4B,0xB6,0x4B,0x26,0x4C,0x96,0x4C,0x06,0x4D,0xF2,0x5D,0x97,0x27,0x6E,0x00,0xA3,0x89,0x07,0xA4,0x65,0x61, ++0x02,0x83,0x82,0x80,0xFD,0x47,0x90,0x41,0xD4,0x41,0x63,0xEA,0xA7,0x00,0x05,0x47,0xB3,0x17,0xA7,0x00,0xF1,0x8F,0xB3,0x37,0xF0,0x00,0x3E,0x85,0x82,0x80,0x13,0x07, ++0xF0,0x03,0x81,0x47,0xE3,0x6B,0xA7,0xFE,0x01,0x15,0x85,0x47,0xB3,0x97,0xA7,0x00,0xF5,0x8F,0xD5,0xB7,0x03,0x55,0x25,0x03,0x11,0x81,0x82,0x80,0x71,0x71,0x26,0xD3, ++0x97,0x34,0xFF,0xFF,0x93,0x84,0x04,0x32,0x83,0xA7,0x04,0x2F,0x52,0xCD,0x03,0x4A,0x45,0x01,0x4A,0xD1,0x5E,0xC7,0x06,0xD7,0x22,0xD5,0x4E,0xCF,0x56,0xCB,0x5A,0xC9, ++0x62,0xC5,0x66,0xC3,0x6A,0xC1,0xEE,0xDE,0x2A,0x89,0x82,0x97,0x13,0x5A,0x6A,0x00,0x93,0x07,0x80,0x09,0xB3,0x07,0xFA,0x02,0x97,0xBB,0x6D,0x00,0x93,0x8B,0x8B,0x2E, ++0x33,0x87,0xFB,0x00,0x89,0x67,0xBA,0x97,0x03,0xA7,0x47,0x14,0x63,0x57,0xE0,0x00,0x03,0xA7,0x47,0x14,0x7D,0x17,0x23,0xA2,0xE7,0x14,0x83,0xA7,0xC4,0x2E,0x82,0x97, ++0xB7,0xD7,0xA0,0x00,0x03,0xA7,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x83,0x47,0x09,0x01,0x83,0x59,0x09,0x03,0x03,0x5B,0x29,0x03,0x3E,0xCA,0x93,0x07,0x49,0x03,0x93,0xDA, ++0xC9,0x00,0x3E,0xCC,0x83,0xA7,0x84,0x44,0x93,0xF5,0xFA,0x0F,0x2E,0x85,0x2E,0xC4,0x82,0x97,0x83,0xA7,0xC4,0x4C,0xAA,0x8C,0x13,0x05,0xA9,0x02,0x03,0xAD,0xC4,0x51, ++0x82,0x97,0x13,0x5B,0x4B,0x00,0xA2,0x45,0x13,0x04,0x0B,0xFF,0x42,0x04,0x52,0x86,0x02,0x9D,0x41,0x80,0x13,0x1C,0x44,0x01,0x93,0xF9,0x69,0x00,0x91,0x47,0x13,0x5C, ++0x4C,0x01,0x2A,0x89,0x01,0x4D,0x63,0x89,0xF9,0x00,0x17,0x35,0x6E,0x00,0x13,0x05,0xE5,0x2C,0xEF,0x10,0xC0,0x07,0x05,0x4D,0x93,0x09,0x80,0x09,0xB3,0x09,0x3A,0x03, ++0x89,0x67,0x93,0x87,0x47,0x0B,0xBE,0x99,0xB3,0x87,0x3B,0x01,0x3E,0xC4,0x22,0x45,0x83,0xA7,0x04,0x53,0x82,0x97,0xAA,0x8D,0x63,0x0C,0x05,0x54,0x83,0x46,0xD5,0x03, ++0x03,0x47,0xC5,0x03,0xC2,0x0A,0xA2,0x06,0xD9,0x8E,0x03,0x47,0xE5,0x03,0x42,0x07,0xD9,0x8E,0x03,0x47,0xF5,0x03,0x62,0x07,0x55,0x8F,0x93,0x16,0x8A,0x01,0xB3,0xE7, ++0xDA,0x00,0x3E,0xC8,0x63,0x05,0x09,0x54,0x63,0x0E,0xE9,0x02,0x83,0x45,0xB5,0x05,0x03,0x47,0x65,0x05,0x17,0x35,0x6E,0x00,0x13,0x05,0x85,0x27,0xA2,0x05,0x5D,0x8F, ++0xD9,0x8D,0xEF,0x10,0xA0,0x01,0x13,0x57,0x89,0x00,0xA3,0x8E,0xED,0x02,0x13,0x57,0x09,0x01,0x23,0x8F,0xED,0x02,0x13,0x57,0x89,0x01,0x23,0x8E,0x2D,0x03,0xA3,0x8F, ++0xED,0x02,0x05,0x4D,0x85,0x6A,0x13,0x87,0xCA,0x04,0x33,0x07,0xEA,0x02,0x93,0x06,0x40,0x25,0xB3,0x8C,0xDC,0x02,0x13,0x07,0x47,0x04,0xBA,0x9C,0xB3,0x87,0x9B,0x01, ++0x93,0x8C,0x0A,0x80,0x3E,0xC6,0xB3,0x77,0x94,0x01,0x3E,0xD2,0xFD,0x1A,0xB3,0x07,0x9C,0x01,0x3E,0xD4,0xB3,0xF7,0x57,0x01,0x3E,0xD6,0x09,0xA1,0x93,0x87,0x16,0x00, ++0xB7,0x06,0x10,0x00,0x33,0x05,0x64,0x41,0x3E,0xCE,0x93,0x87,0xF6,0xFF,0x33,0x75,0x55,0x01,0x6E,0x84,0x81,0x49,0x3E,0xD0,0xE2,0x45,0x29,0x35,0x63,0x16,0x05,0x18, ++0x83,0xC5,0x5D,0x04,0x03,0xC6,0x4D,0x04,0xB7,0xD7,0xA0,0x00,0xA2,0x05,0xD1,0x8D,0x03,0xC6,0x6D,0x04,0x03,0xA5,0xC7,0x0F,0x83,0xA6,0x87,0x0F,0x42,0x06,0xD1,0x8D, ++0x03,0xC6,0x7D,0x04,0xA9,0x82,0x62,0x06,0x4D,0x8E,0x93,0x15,0x65,0x01,0xCD,0x8E,0x63,0xF0,0xC6,0x32,0x03,0xC7,0x9D,0x06,0x03,0xC4,0x8D,0x06,0x83,0xC6,0x4D,0x01, ++0x22,0x07,0x41,0x8F,0x03,0xC4,0xAD,0x06,0xF2,0x47,0x83,0xC5,0xBD,0x05,0x42,0x04,0x41,0x8F,0x03,0xC4,0xBD,0x06,0x23,0x8A,0xFD,0x04,0x6E,0x85,0x62,0x04,0x59,0x8C, ++0x03,0xC7,0x5D,0x01,0x22,0x8D,0xEE,0x89,0x22,0x07,0x55,0x8F,0x33,0x67,0x97,0x01,0x23,0x8A,0xED,0x00,0x21,0x83,0xA3,0x8A,0xED,0x00,0x03,0xC7,0xCD,0x00,0x13,0x67, ++0x07,0xF8,0x23,0x86,0xED,0x00,0x03,0xC7,0xDD,0x00,0x13,0x67,0x87,0x00,0xA3,0x86,0xED,0x00,0x83,0xA6,0xC4,0x48,0x82,0x96,0x21,0x05,0x93,0x76,0xF5,0x00,0x93,0x95, ++0x46,0x00,0x83,0xC6,0x1D,0x01,0x85,0x47,0xA3,0x89,0xFD,0x04,0xBD,0x8A,0xCD,0x8E,0xA3,0x88,0xDD,0x00,0x93,0x56,0x45,0x00,0x23,0x89,0xDD,0x00,0x93,0x56,0xC5,0x00, ++0xA3,0x89,0xDD,0x00,0x42,0x05,0x83,0xC6,0x8D,0x05,0x41,0x81,0x23,0x87,0xAD,0x04,0x21,0x81,0x23,0x83,0xDD,0x06,0xA3,0x87,0xAD,0x04,0x23,0x84,0x0D,0x06,0xA3,0x84, ++0x0D,0x06,0x23,0x85,0x0D,0x06,0xA3,0x85,0x0D,0x06,0x83,0xC5,0x19,0x00,0x83,0xC6,0x09,0x00,0xA2,0x05,0xD5,0x8D,0x83,0xC6,0x29,0x00,0xC2,0x06,0xD5,0x8D,0x83,0xC6, ++0x39,0x00,0xE2,0x06,0xCD,0x8E,0x93,0xE5,0xC6,0x00,0x13,0xD5,0x85,0x00,0xA3,0x80,0xA9,0x00,0x13,0xD5,0x05,0x01,0x23,0x80,0xB9,0x00,0x23,0x81,0xA9,0x00,0xE1,0x81, ++0x03,0xC5,0x59,0x00,0xA3,0x81,0xB9,0x00,0x83,0xC5,0x49,0x00,0x22,0x05,0x4D,0x8D,0x83,0xC5,0x69,0x00,0xC2,0x05,0x4D,0x8D,0x83,0xC5,0x79,0x00,0xE2,0x05,0xC9,0x8D, ++0x13,0xF5,0x26,0x00,0x63,0x00,0x05,0x22,0x82,0x57,0x23,0x82,0x09,0x00,0xA3,0x82,0x09,0x00,0xFD,0x8E,0x93,0xE6,0xC6,0x00,0x93,0xD5,0x86,0x00,0x23,0x80,0xD9,0x00, ++0xA3,0x80,0xB9,0x00,0x93,0xD5,0x06,0x01,0xE1,0x82,0x23,0x81,0xB9,0x00,0xA3,0x81,0xD9,0x00,0x23,0x83,0x09,0x00,0xA3,0x83,0x09,0x00,0x03,0xA7,0x44,0x39,0x32,0x45, ++0xEE,0x85,0xEE,0x89,0x02,0x97,0x0D,0xA0,0x85,0x47,0xA3,0x8C,0xFD,0x04,0xD2,0x47,0x23,0x8D,0xFD,0x04,0x83,0xA6,0x04,0x54,0x63,0x90,0x8D,0x1C,0x22,0x86,0x22,0x85, ++0xCE,0x85,0x82,0x96,0x2A,0x84,0x2A,0x8D,0x63,0x12,0x0D,0x1C,0x63,0x08,0x04,0x2A,0x83,0xA7,0x44,0x52,0x13,0x0D,0xC4,0x03,0x13,0x06,0x40,0x03,0xEA,0x85,0x68,0x18, ++0x82,0x97,0xB6,0x57,0x13,0x06,0x40,0x03,0x97,0xF5,0x6D,0x00,0x93,0x85,0xC5,0x3C,0x17,0xF7,0x6D,0x00,0x23,0x2A,0xF7,0x3E,0xA6,0x57,0x6A,0x85,0x17,0xF7,0x6D,0x00, ++0x23,0x22,0xF7,0x3E,0x83,0x47,0xC1,0x05,0x17,0xF7,0x6D,0x00,0x23,0x06,0xF7,0x3C,0x83,0x57,0x01,0x05,0x17,0xF7,0x6D,0x00,0x23,0x1A,0xF7,0x3A,0x83,0x47,0x81,0x05, ++0x17,0xF7,0x6D,0x00,0x23,0x08,0xF7,0x3A,0x83,0x57,0xA1,0x04,0x17,0xF7,0x6D,0x00,0x23,0x1B,0xF7,0x38,0x83,0x57,0x81,0x04,0x17,0xF7,0x6D,0x00,0x23,0x14,0xF7,0x38, ++0x83,0x47,0x51,0x05,0x17,0xF7,0x6D,0x00,0xA3,0x04,0xF7,0x38,0x83,0x47,0x41,0x05,0x17,0xF7,0x6D,0x00,0x23,0x0E,0xF7,0x36,0x83,0x57,0xC1,0x04,0x17,0xF7,0x6D,0x00, ++0x23,0x14,0xF7,0x36,0x83,0x47,0x21,0x05,0x17,0xF7,0x6D,0x00,0x23,0x01,0xF7,0x36,0x83,0xA7,0x44,0x52,0x82,0x97,0x83,0x46,0x14,0x00,0x83,0x47,0x04,0x00,0x83,0x45, ++0xE4,0x04,0xA2,0x06,0xDD,0x8E,0x83,0x47,0x24,0x00,0xC2,0x07,0xDD,0x8E,0x83,0x47,0x34,0x00,0xE2,0x07,0xD5,0x8F,0x93,0xE7,0x47,0x00,0x93,0xD6,0x87,0x00,0x23,0x00, ++0xF4,0x00,0xA3,0x00,0xD4,0x00,0x93,0xD6,0x07,0x01,0xE1,0x83,0xA3,0x01,0xF4,0x00,0x83,0x47,0xC4,0x00,0x23,0x01,0xD4,0x00,0x83,0x46,0x44,0x01,0x93,0xE7,0x07,0xF8, ++0x23,0x06,0xF4,0x00,0x83,0x47,0x54,0x01,0xA2,0x07,0xD5,0x8F,0x83,0x46,0xF4,0x04,0xB3,0xE7,0x97,0x01,0x23,0x0A,0xF4,0x00,0xA2,0x06,0xCD,0x8E,0xA1,0x83,0xA3,0x0A, ++0xF4,0x00,0x93,0xF7,0xF6,0x00,0x93,0x95,0x47,0x00,0x83,0x47,0x14,0x01,0x13,0xD6,0xC6,0x00,0xA3,0x09,0xC4,0x00,0xBD,0x8B,0xCD,0x8F,0xA3,0x08,0xF4,0x00,0x93,0xD7, ++0x46,0x00,0x23,0x09,0xF4,0x00,0x03,0xC6,0x19,0x00,0x83,0xC7,0x09,0x00,0x22,0x06,0x5D,0x8E,0x83,0xC7,0x29,0x00,0xC2,0x07,0x5D,0x8E,0x83,0xC7,0x39,0x00,0xE2,0x07, ++0xD1,0x8F,0x93,0xE7,0x87,0x00,0x13,0xD6,0x87,0x00,0x23,0x80,0xF9,0x00,0xA3,0x80,0xC9,0x00,0x13,0xD6,0x07,0x01,0xE1,0x83,0x23,0x81,0xC9,0x00,0xA3,0x81,0xF9,0x00, ++0x83,0x47,0x14,0x00,0x83,0x45,0x04,0x00,0xA2,0x07,0xCD,0x8F,0x99,0x83,0x63,0xFB,0xF6,0x00,0x93,0x95,0x06,0x01,0xDD,0x8D,0x17,0x35,0x6E,0x00,0x13,0x05,0xC5,0xEC, ++0xEF,0x00,0xD0,0x45,0x83,0xA7,0x44,0x39,0x32,0x45,0xA2,0x85,0x82,0x97,0x39,0xA2,0x91,0x46,0xA3,0x8C,0xDD,0x04,0x25,0xBD,0x6E,0x86,0xCE,0x85,0x22,0x85,0x82,0x96, ++0x2A,0x8D,0x99,0xB5,0xAE,0x89,0xE3,0x92,0x05,0xD8,0x01,0xBD,0x83,0xA7,0xC4,0x47,0x6A,0x85,0xEA,0x8D,0x82,0x97,0x33,0x05,0x65,0x41,0x33,0x75,0x55,0x01,0xAD,0xB9, ++0x83,0x46,0xD5,0x03,0x03,0x47,0xC5,0x03,0x01,0x4D,0xA2,0x06,0xD9,0x8E,0x03,0x47,0xE5,0x03,0x42,0x07,0xD9,0x8E,0x03,0x47,0xF5,0x03,0x62,0x07,0x55,0x8F,0x63,0x0F, ++0xE9,0x02,0x83,0x45,0xB5,0x05,0x03,0x47,0x65,0x05,0xC2,0x47,0xA2,0x05,0x17,0x35,0x6E,0x00,0x13,0x05,0xE5,0xE3,0x5D,0x8F,0xD9,0x8D,0xEF,0x00,0x30,0x3E,0x13,0x57, ++0x89,0x00,0xA3,0x8E,0xED,0x02,0x13,0x57,0x09,0x01,0x23,0x8F,0xED,0x02,0x13,0x57,0x89,0x01,0x23,0x8E,0x2D,0x03,0xA3,0x8F,0xED,0x02,0x05,0x4D,0x83,0xC6,0xDD,0x03, ++0x03,0xC7,0xCD,0x03,0xA2,0x06,0xD9,0x8E,0x03,0xC7,0xED,0x03,0x42,0x07,0xD9,0x8E,0x03,0xC7,0xFD,0x03,0x62,0x07,0x55,0x8F,0x63,0x18,0xE9,0x08,0x83,0xC6,0x4D,0x05, ++0x03,0xA7,0x44,0x52,0x13,0x06,0x40,0x03,0x93,0x85,0xCD,0x03,0x17,0xF5,0x6D,0x00,0x13,0x05,0x85,0x18,0x36,0xCE,0x02,0x97,0x03,0xA7,0xC4,0x47,0x6E,0x85,0x02,0x97, ++0x2A,0x84,0x63,0x1F,0x0D,0x00,0x92,0x57,0xF2,0x46,0x91,0xE7,0x63,0x6A,0x85,0x01,0xA2,0x57,0x63,0xC7,0xA7,0x00,0xB2,0x57,0xE3,0xD2,0x87,0xBA,0xE3,0x70,0x84,0xBB, ++0x03,0xA7,0x84,0x49,0x6E,0x85,0x02,0x97,0x93,0x15,0x04,0x01,0xB3,0xE5,0x65,0x01,0x17,0x35,0x6E,0x00,0x13,0x05,0x85,0xDA,0xEF,0x00,0x50,0x34,0x83,0xA7,0xC4,0x52, ++0x22,0x45,0x82,0x97,0x93,0x07,0x80,0x09,0xB3,0x07,0xFA,0x02,0x09,0x67,0xDE,0x97,0xBA,0x97,0x83,0xA7,0x47,0x14,0x63,0x4D,0xF0,0x00,0x83,0xA7,0x04,0x53,0x22,0x45, ++0x82,0x97,0xAA,0x8D,0xE3,0x1E,0x05,0xEE,0x83,0xA7,0x04,0x43,0x01,0x45,0x82,0x97,0xBA,0x50,0x2A,0x54,0x9A,0x54,0x0A,0x59,0xFA,0x49,0x6A,0x4A,0xDA,0x4A,0x4A,0x4B, ++0xBA,0x4B,0x2A,0x4C,0x9A,0x4C,0x0A,0x4D,0xF6,0x5D,0x4D,0x61,0x82,0x80,0x3A,0x89,0xD5,0xBC,0x79,0x71,0x4A,0xD0,0x0A,0x05,0x17,0xB9,0x6D,0x00,0x13,0x09,0x89,0xCA, ++0x4A,0x95,0x22,0xD4,0x00,0x41,0x06,0xD6,0x26,0xD2,0x83,0x57,0x84,0x23,0x52,0xCC,0x4E,0xCE,0x56,0xCA,0x5A,0xC8,0x5E,0xC6,0x62,0xC4,0x66,0xC2,0x6A,0xC0,0xF5,0x9B, ++0x23,0x1C,0xF4,0x22,0x23,0x20,0x04,0x00,0x23,0x22,0x04,0x00,0xAD,0x47,0x97,0x34,0xFF,0xFF,0x93,0x84,0x24,0xC7,0x17,0xD7,0x6D,0x00,0x23,0x03,0xF7,0x02,0x83,0xA7, ++0x44,0x11,0x23,0x01,0x04,0x24,0x23,0x16,0x04,0x24,0x82,0x97,0x83,0xA7,0x04,0x43,0x01,0x45,0x13,0x0A,0x84,0x01,0x82,0x97,0x83,0x47,0x44,0x24,0x13,0x07,0x80,0x09, ++0xB3,0x87,0xE7,0x02,0x09,0x67,0xCA,0x97,0xBA,0x97,0x83,0xA7,0x47,0x14,0xA9,0xCB,0x89,0x6A,0x13,0x0C,0x80,0x09,0x13,0x8B,0x4A,0x0B,0x93,0x0B,0x80,0x09,0x97,0xDC, ++0x6D,0x00,0x93,0x8C,0x2C,0xC2,0x17,0x3D,0x6E,0x00,0x13,0x0D,0xED,0xCC,0x83,0xA7,0xC4,0x52,0x52,0x85,0x82,0x97,0xAA,0x89,0x35,0xE5,0x83,0x57,0x84,0x23,0xB2,0x50, ++0x92,0x54,0xF5,0x9B,0x23,0x1C,0xF4,0x22,0x22,0x54,0x02,0x59,0xF2,0x49,0x62,0x4A,0xD2,0x4A,0x42,0x4B,0xB2,0x4B,0x22,0x4C,0x92,0x4C,0x02,0x4D,0x45,0x61,0x82,0x80, ++0x41,0x69,0x97,0x19,0x6E,0x00,0x93,0x89,0xE9,0x2A,0x7D,0x19,0x93,0x0A,0x84,0x02,0x83,0xA7,0xC4,0x52,0x52,0x85,0x82,0x97,0xAA,0x85,0x61,0xD1,0x03,0xC7,0x39,0x11, ++0xCA,0x87,0x05,0x8B,0x19,0xC7,0x83,0xC7,0x15,0x05,0x03,0xC7,0x05,0x05,0xA2,0x07,0xD9,0x8F,0x17,0x17,0x6E,0x00,0x23,0x19,0xF7,0x38,0x83,0xA7,0x44,0x39,0x56,0x85, ++0x82,0x97,0xF9,0xB7,0x03,0x45,0x44,0x24,0x83,0xA7,0x44,0x39,0xCE,0x85,0x33,0x05,0x85,0x03,0x5A,0x95,0x4A,0x95,0x82,0x97,0x3D,0xF9,0x83,0xC7,0xDC,0x3B,0x6A,0x85, ++0xB3,0x87,0xFB,0x02,0xCA,0x97,0xD6,0x97,0x83,0xA5,0x47,0x14,0xEF,0x00,0x10,0x1B,0x03,0x45,0x44,0x24,0x83,0xA7,0xC4,0x39,0xCE,0x85,0x33,0x05,0x75,0x03,0x5A,0x95, ++0x4A,0x95,0x82,0x97,0x29,0xF5,0x83,0xA7,0x84,0x49,0x4E,0x85,0x82,0x97,0x25,0xBF,0x19,0x71,0xCE,0xD6,0xDA,0xD0,0xDE,0xCE,0x86,0xDE,0xA2,0xDC,0xA6,0xDA,0xCA,0xD8, ++0xD2,0xD4,0xD6,0xD2,0xE2,0xCC,0x83,0x47,0x95,0x00,0xA3,0x0D,0x01,0x02,0x23,0x0E,0x01,0x02,0x23,0x0D,0xF1,0x02,0x83,0x44,0xC5,0x00,0x83,0x47,0xB5,0x00,0x03,0x47, ++0xD5,0x00,0xA2,0x04,0xDD,0x8C,0x83,0x47,0xE5,0x00,0x23,0x11,0x01,0x04,0x82,0xC6,0xA2,0x07,0xD9,0x8F,0x23,0x10,0xF1,0x04,0x83,0x47,0x05,0x01,0x03,0x47,0xF5,0x00, ++0x83,0x4B,0x25,0x00,0xA2,0x07,0x03,0x4A,0x15,0x00,0xD9,0x8F,0xD2,0x04,0x93,0xDB,0x1B,0x00,0x97,0x39,0xFF,0xFF,0x93,0x89,0xE9,0xAE,0x23,0x14,0xF1,0x04,0x2A,0x8B, ++0x83,0x4A,0xA5,0x00,0xD1,0x80,0x93,0xFB,0xFB,0x00,0x03,0xA7,0x09,0x3C,0x63,0x09,0x0A,0x20,0xB7,0x07,0xA0,0x00,0x13,0x06,0xFA,0xFF,0x0E,0x06,0x93,0x85,0x47,0x02, ++0x93,0x87,0x87,0x02,0xB2,0x95,0x3E,0x96,0x28,0x10,0x02,0x97,0x03,0xA7,0x09,0x3C,0x63,0x0F,0x0A,0x1E,0xB7,0x07,0xA0,0x00,0x13,0x06,0xFA,0xFF,0x0E,0x06,0x93,0x85, ++0x47,0x04,0x93,0x87,0x87,0x04,0xB2,0x95,0x3E,0x96,0x08,0x18,0x02,0x97,0x97,0xF7,0x6D,0x00,0x93,0x87,0x27,0xA9,0x03,0xA4,0x47,0x20,0x93,0x17,0x9A,0x00,0x13,0x06, ++0x00,0x20,0x3E,0x94,0x81,0x45,0x22,0x85,0xEF,0x10,0x9E,0x90,0x13,0x0C,0x04,0x07,0x61,0x46,0x81,0x45,0x62,0x85,0xEF,0x10,0xBE,0x8F,0x93,0x07,0x00,0x18,0xB3,0x07, ++0xFA,0x02,0x17,0xB9,0x6D,0x00,0x13,0x09,0xE9,0xA5,0x09,0x67,0x85,0x46,0xCA,0x97,0xBA,0x97,0x03,0xC7,0x07,0x41,0x13,0x77,0xF7,0x0F,0x63,0x11,0xD7,0x1A,0xA3,0x08, ++0xE4,0x06,0x19,0x46,0x0C,0x18,0x13,0x05,0x44,0x07,0xEF,0x10,0xBE,0x8A,0x19,0x46,0x2C,0x10,0x13,0x05,0xA4,0x07,0xEF,0x10,0xFE,0x89,0x19,0x46,0x93,0x05,0x3B,0x00, ++0x13,0x05,0x04,0x08,0xEF,0x10,0x1E,0x89,0x03,0x47,0x2B,0x00,0x93,0x77,0x17,0x00,0x63,0x9F,0x07,0x18,0x93,0x07,0x80,0x04,0x23,0x08,0xF4,0x06,0xE1,0x46,0xA5,0x4B, ++0x03,0x46,0x14,0x07,0x93,0x57,0x17,0x00,0xC1,0x8B,0xD1,0x8F,0xA3,0x08,0xF4,0x06,0x03,0x46,0x14,0x00,0x93,0x97,0x44,0x00,0x23,0x13,0xF4,0x08,0x83,0x47,0x04,0x00, ++0x22,0x06,0x23,0x04,0x84,0x01,0x5D,0x8E,0x83,0x47,0x24,0x00,0x23,0x02,0x04,0x00,0xA3,0x02,0x04,0x00,0xC2,0x07,0x5D,0x8E,0x83,0x47,0x34,0x00,0x23,0x03,0x04,0x00, ++0xA3,0x03,0x04,0x00,0xE2,0x07,0xD1,0x8F,0x13,0x96,0x66,0x00,0xD1,0x8F,0x93,0xE7,0xF7,0x00,0x13,0xD6,0x87,0x00,0x23,0x00,0xF4,0x00,0xA3,0x00,0xC4,0x00,0x13,0xD6, ++0x07,0x01,0xE1,0x83,0xA3,0x01,0xF4,0x00,0x93,0x57,0x8C,0x00,0xA3,0x04,0xF4,0x00,0x93,0x57,0x0C,0x01,0x13,0x5C,0x8C,0x01,0x23,0x01,0xC4,0x00,0x23,0x05,0xF4,0x00, ++0xA3,0x05,0x84,0x01,0x93,0xF7,0x0A,0x0F,0x13,0x06,0x00,0x0C,0x63,0x95,0xC7,0x00,0x91,0x06,0xC2,0x06,0xC1,0x82,0x85,0x67,0x93,0x87,0x07,0x80,0x12,0x07,0x7D,0x8F, ++0x13,0x67,0x17,0x00,0x93,0x07,0x40,0x2E,0x63,0x84,0x0A,0x00,0x93,0x07,0xC0,0x08,0x03,0xAB,0x49,0x07,0x61,0x46,0x2C,0x18,0x0A,0x85,0x23,0x12,0xE1,0x04,0x23,0x13, ++0xD1,0x04,0xBE,0xC6,0x23,0x0C,0x41,0x03,0xA3,0x0C,0x51,0x03,0xA3,0x0E,0x71,0x03,0x23,0x1F,0x91,0x02,0xEF,0x10,0x0E,0xFA,0x8A,0x85,0x22,0x85,0x02,0x9B,0x61,0x46, ++0x2C,0x18,0x0A,0x85,0xEF,0x10,0x0E,0xF9,0x83,0xA7,0x49,0x03,0x8A,0x85,0x22,0x85,0x82,0x97,0x83,0xA7,0x89,0x44,0x03,0x45,0x64,0x05,0x83,0x44,0xB4,0x05,0x82,0x97, ++0x93,0x07,0x40,0x25,0x33,0x05,0xF5,0x02,0x85,0x67,0x93,0x87,0xC7,0x04,0xB3,0x84,0xF4,0x02,0x26,0x95,0x4A,0x95,0x83,0x47,0xC5,0x25,0x23,0x0A,0xF4,0x04,0x83,0x47, ++0xB5,0x25,0x01,0x45,0xA3,0x0A,0xF4,0x04,0xF6,0x50,0x66,0x54,0xD6,0x54,0x46,0x59,0xB6,0x59,0x26,0x5A,0x96,0x5A,0x06,0x5B,0xF6,0x4B,0x66,0x4C,0x09,0x61,0x82,0x80, ++0x37,0x06,0xA0,0x00,0x93,0x05,0xC6,0x01,0x13,0x06,0x06,0x02,0xF5,0xBB,0x37,0x06,0xA0,0x00,0x93,0x05,0xC6,0x03,0x13,0x06,0x06,0x04,0x01,0xBD,0x83,0xC7,0x07,0x41, ++0x09,0x47,0x93,0xF7,0xF7,0x0F,0xE3,0x91,0xE7,0xE8,0xA3,0x08,0xF4,0x06,0x19,0x46,0x93,0x05,0x3B,0x00,0x13,0x05,0x44,0x07,0xEF,0x10,0xCE,0xEF,0x19,0x46,0x0C,0x18, ++0x13,0x05,0xA4,0x07,0xEF,0x10,0x0E,0xEF,0x19,0x46,0x2C,0x10,0x91,0xBD,0x93,0x07,0x80,0xFC,0x83,0x46,0x84,0x08,0x23,0x08,0xF4,0x06,0x93,0x57,0x27,0x00,0xC1,0x8B, ++0xB3,0xE7,0x77,0x01,0xD5,0x8F,0x23,0x04,0xF4,0x08,0xA3,0x04,0x04,0x08,0xE9,0x46,0x81,0xBD,0x63,0x4D,0xC5,0x00,0x97,0xF7,0x6D,0x00,0x93,0x87,0xA7,0x84,0x03,0xA5, ++0x07,0x21,0x83,0xA7,0x07,0x42,0x8A,0x07,0x3E,0x95,0x82,0x80,0x01,0x11,0x22,0xCC,0x06,0xCE,0x26,0xCA,0x4A,0xC8,0x4E,0xC6,0x52,0xC4,0x93,0x07,0x00,0x20,0x2A,0x84, ++0x01,0x45,0x63,0xEF,0xC7,0x04,0x17,0x3A,0xFF,0xFF,0x13,0x0A,0xAA,0x81,0xB2,0x84,0x03,0x27,0x4A,0x52,0x17,0xF9,0x6D,0x00,0x13,0x09,0xC9,0x80,0x97,0xB9,0x6D,0x00, ++0x93,0x89,0x49,0x80,0x63,0x46,0xB4,0x04,0x83,0x25,0x09,0x21,0x83,0x27,0x09,0x42,0x22,0x86,0x17,0xF5,0x6D,0x00,0x13,0x05,0x25,0xA0,0x8A,0x07,0xBE,0x95,0x02,0x97, ++0x11,0x65,0x13,0x05,0x45,0x21,0x83,0x25,0x49,0x41,0x83,0x27,0x4A,0x52,0x22,0x95,0x33,0x86,0x84,0x40,0x4E,0x95,0x82,0x97,0x17,0xF5,0x6D,0x00,0x13,0x05,0xC5,0x9D, ++0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x05,0x61,0x82,0x80,0x83,0x27,0x49,0x41,0x11,0x65,0x13,0x05,0x45,0x21,0xAE,0x97,0x2E,0x95,0x0D,0x8E, ++0x4E,0x95,0xB3,0x85,0x87,0x40,0x02,0x97,0xC1,0xBF,0x37,0x07,0xA0,0x00,0x83,0x26,0x07,0x20,0x97,0xE7,0x6D,0x00,0x93,0x87,0xE7,0x78,0x1D,0x71,0x17,0xF6,0x6D,0x00, ++0x23,0x22,0xD6,0xBA,0x83,0x26,0xC7,0x1F,0x86,0xCE,0xA2,0xCC,0x17,0xF6,0x6D,0x00,0x23,0x28,0xD6,0xB8,0x03,0xA6,0x07,0x42,0x83,0xA6,0xC7,0x41,0xA6,0xCA,0xCA,0xC8, ++0xCE,0xC6,0xD2,0xC4,0xD6,0xC2,0xDA,0xC0,0x5E,0xDE,0x62,0xDC,0x66,0xDA,0x6A,0xD8,0x6E,0xD6,0x23,0x1F,0x01,0x00,0x63,0x0E,0xD6,0x32,0x97,0xAB,0x6D,0x00,0x93,0x8B, ++0x6B,0x74,0x11,0x6B,0x3E,0x84,0x01,0x49,0xDE,0x8A,0x17,0x2D,0xFF,0xFF,0x13,0x0D,0x6D,0x73,0x13,0x0B,0x4B,0x21,0x17,0xCC,0x6D,0x00,0x13,0x0C,0xAC,0x72,0x83,0x26, ++0x04,0x42,0x83,0x27,0xC4,0x41,0x63,0x98,0xF6,0x02,0x63,0x00,0x09,0x1E,0x97,0xD7,0x6D,0x00,0x83,0xC7,0x67,0xB1,0x17,0x17,0x6E,0x00,0x03,0x47,0x47,0xDF,0xD9,0x8F, ++0x63,0x95,0x07,0x1C,0x97,0x27,0xFF,0xFF,0x93,0x87,0xC7,0x6F,0x83,0xA7,0xC7,0x18,0x11,0x45,0x82,0x97,0x5D,0xAA,0x83,0x24,0x84,0x41,0x83,0x27,0x04,0x42,0x9D,0x8C, ++0x8A,0x04,0x93,0x07,0x30,0x02,0x63,0xF7,0x97,0x12,0x83,0x26,0x04,0x21,0x83,0x27,0x04,0x42,0x8A,0x07,0xB3,0x8D,0xF6,0x00,0x83,0xA6,0x0D,0x02,0x83,0xC9,0x4D,0x01, ++0x13,0x06,0x40,0x09,0x93,0xFC,0xF6,0x0F,0x93,0xD9,0x69,0x00,0x63,0x9C,0xCC,0x1A,0x03,0xC6,0x7D,0x01,0x83,0xC6,0x6D,0x01,0x83,0x27,0x4D,0x00,0x13,0x76,0xF6,0x03, ++0x22,0x06,0x55,0x8E,0x13,0x06,0x06,0x02,0x93,0x05,0x40,0x02,0x26,0x85,0x82,0x97,0xAA,0x8D,0xEF,0xF0,0x2F,0xB6,0x93,0x06,0x80,0x09,0xB3,0x86,0xD9,0x02,0x09,0x66, ++0xD6,0x96,0xB2,0x96,0x83,0xA6,0x46,0x14,0x63,0x94,0x06,0x10,0x97,0x16,0x6E,0x00,0x83,0xC6,0x76,0xE5,0x13,0xF6,0x76,0x00,0x65,0xCE,0xE1,0x9A,0x97,0x17,0x6E,0x00, ++0xA3,0x83,0xD7,0xE4,0x83,0x46,0x4C,0x40,0x05,0x46,0x01,0x4A,0x63,0x17,0xD6,0x04,0x93,0x06,0x00,0x08,0x63,0x9C,0xDC,0x1E,0x03,0xC6,0x7D,0x01,0x83,0xC6,0x6D,0x01, ++0x93,0x05,0x40,0x02,0x13,0x76,0xF6,0x03,0x22,0x06,0x55,0x8E,0x83,0x26,0x4D,0x00,0x13,0x06,0x06,0x02,0x26,0x85,0x82,0x96,0x7D,0x5A,0x05,0xC1,0x83,0x46,0xB5,0x01, ++0xC1,0x8A,0x81,0xCE,0x97,0x17,0x6E,0x00,0x23,0xAA,0xA7,0xCE,0x03,0x45,0xB5,0x01,0x83,0x26,0x0D,0x0A,0x09,0x81,0x0D,0x89,0x82,0x96,0x83,0xC7,0xDD,0x01,0x83,0xC6, ++0xCD,0x01,0xA2,0x07,0xD5,0x8F,0x83,0x26,0x84,0x41,0x63,0xE4,0xD7,0x00,0x83,0x27,0xC4,0x41,0x17,0xF7,0x6D,0x00,0x23,0x27,0xF7,0xA0,0x83,0x26,0x04,0x42,0xB7,0x07, ++0xA0,0x00,0x23,0xA0,0xD7,0x20,0x63,0x1F,0x0A,0x18,0x17,0x17,0x6E,0x00,0x13,0x07,0x67,0xCA,0x83,0x47,0x4C,0x40,0x83,0x46,0xA7,0x01,0x05,0x09,0xD5,0x8F,0xE3,0x90, ++0x07,0xEA,0x9D,0x47,0xE3,0xFD,0x27,0xE9,0x83,0x27,0xCD,0x18,0x11,0x45,0x01,0x49,0x82,0x97,0x71,0xB5,0x83,0x25,0x04,0x21,0x83,0x27,0x04,0x42,0x83,0x26,0x4D,0x52, ++0x26,0x86,0x8A,0x07,0xBE,0x95,0x17,0xE5,0x6D,0x00,0x13,0x05,0xE5,0x7A,0x82,0x96,0x83,0x25,0x44,0x41,0x83,0x27,0x4D,0x52,0x33,0x85,0x64,0x01,0x13,0x06,0x40,0x02, ++0x05,0x8E,0x5E,0x95,0x82,0x97,0x97,0xED,0x6D,0x00,0x93,0x8D,0xED,0x78,0x6D,0xB5,0x13,0x0A,0x80,0x09,0x33,0x8A,0x49,0x03,0xB3,0x86,0x4A,0x01,0x09,0x6A,0x36,0x9A, ++0x83,0x26,0x4A,0x14,0xB1,0xE2,0x83,0x46,0x8A,0x14,0x13,0x06,0x00,0x08,0x63,0x6D,0xD6,0x02,0x83,0x27,0x4D,0x42,0x13,0x05,0x40,0x06,0x82,0x97,0x83,0x47,0x8A,0x14, ++0x85,0x07,0x93,0xF7,0xF7,0x0F,0x23,0x04,0xFA,0x14,0xF6,0x40,0x66,0x44,0xD6,0x44,0x46,0x49,0xB6,0x49,0x26,0x4A,0x96,0x4A,0x06,0x4B,0xF2,0x5B,0x62,0x5C,0xD2,0x5C, ++0x42,0x5D,0xB2,0x5D,0x25,0x61,0x82,0x80,0x93,0x06,0x80,0x09,0xB3,0x86,0xD9,0x02,0x09,0x66,0x6E,0x85,0xD6,0x96,0xB2,0x96,0x23,0x84,0x06,0x14,0x83,0x26,0x8D,0x00, ++0x82,0x96,0x4D,0xB5,0x97,0xF7,0x6D,0x00,0x93,0x87,0xC7,0xD3,0x33,0x86,0x37,0x01,0x83,0x45,0x06,0x00,0x09,0x46,0xE3,0x97,0xC5,0xE8,0x13,0xF6,0xF6,0x00,0xA1,0x45, ++0xE3,0x12,0xB6,0xE8,0x93,0xF6,0x06,0x0F,0x93,0x07,0x00,0x08,0x69,0x4A,0x63,0x83,0xF6,0x00,0x61,0x4A,0x83,0x27,0x4D,0x00,0x13,0x08,0x8A,0x02,0x42,0x86,0x93,0x05, ++0x40,0x02,0x26,0x85,0x42,0xC6,0x82,0x97,0x33,0x06,0x45,0x01,0x83,0x46,0x76,0x02,0x83,0x45,0x66,0x02,0xAA,0x8D,0xA2,0x06,0xCD,0x8E,0x23,0x1F,0xD1,0x00,0x83,0x26, ++0x4D,0x17,0x89,0x45,0x13,0x05,0xE1,0x01,0x82,0x96,0x83,0x56,0xE1,0x01,0x32,0x48,0x93,0x86,0x06,0x80,0xE3,0x98,0x06,0xE2,0x03,0xC6,0x7D,0x01,0x83,0xC6,0x6D,0x01, ++0x13,0x76,0xF6,0x03,0x22,0x06,0x55,0x8E,0x13,0x06,0x06,0x02,0x93,0x06,0xF0,0x1F,0xE3,0xEA,0xC6,0xE0,0x83,0x27,0x4D,0x00,0xC2,0x85,0x26,0x85,0x82,0x97,0x83,0x26, ++0xCD,0x6F,0x93,0x05,0x8A,0x00,0xAA,0x8D,0x82,0x96,0xED,0xBB,0x83,0x26,0x0D,0x02,0x6E,0x85,0x82,0x96,0x2A,0x8A,0xE3,0x12,0x05,0xE4,0x83,0x26,0x0D,0x05,0x4E,0x85, ++0x82,0x96,0x25,0xBD,0xFD,0x57,0xE3,0x1C,0xFA,0xD0,0x97,0x17,0x6E,0x00,0x83,0xC7,0x07,0xB2,0x91,0xCF,0x83,0x27,0x04,0x42,0x17,0xF7,0x6D,0x00,0x23,0x2C,0xF7,0x84, ++0x83,0x26,0x04,0x43,0xB7,0x77,0xA0,0x00,0x23,0xA0,0xD7,0x08,0xCD,0xB9,0x05,0x09,0xFD,0xB1,0x83,0xA6,0x07,0x42,0x83,0x27,0x47,0x20,0xE3,0x88,0xF6,0xEC,0x97,0x16, ++0x6E,0x00,0x93,0x86,0x26,0xAD,0x83,0xC7,0x26,0x01,0x83,0xC6,0xA6,0x01,0x85,0x07,0x93,0xF7,0xF7,0x0F,0x17,0x17,0x6E,0x00,0x23,0x07,0xF7,0xAC,0x17,0xC7,0x6D,0x00, ++0x03,0x47,0x87,0x7E,0x55,0x8F,0xE3,0x12,0x07,0xEA,0x13,0x07,0x10,0x03,0xE3,0x7E,0xF7,0xE8,0x97,0x27,0xFF,0xFF,0x93,0x87,0xE7,0x3C,0x83,0xA7,0xC7,0x18,0x11,0x45, ++0x82,0x97,0x97,0x17,0x6E,0x00,0x23,0x80,0x07,0xAA,0x41,0xB5,0x01,0x11,0xB7,0x07,0xA1,0x00,0x4A,0xC8,0x03,0xA9,0x47,0x0F,0x06,0xCE,0x22,0xCC,0x93,0x57,0xF9,0x01, ++0x26,0xCA,0x4E,0xC6,0x17,0x17,0x6E,0x00,0xA3,0x02,0xF7,0xC0,0xE5,0xC3,0xB7,0x57,0xA0,0x00,0x83,0xA7,0x07,0x94,0x97,0x29,0xFF,0xFF,0x93,0x89,0xA9,0x38,0x85,0x47, ++0x17,0x17,0x6E,0x00,0xA3,0x06,0xF7,0xA6,0x83,0xA7,0x89,0x56,0x01,0x45,0x13,0x54,0x89,0x00,0x82,0x97,0x83,0xA7,0x49,0x42,0x29,0x45,0x93,0x74,0xF9,0x0F,0x82,0x97, ++0xB7,0x07,0x00,0x80,0x93,0x87,0xF7,0x07,0x37,0xD7,0xA0,0x00,0x23,0x22,0xF7,0x0E,0x93,0x17,0xF9,0x00,0x13,0x74,0xF4,0x0F,0x93,0x79,0xF9,0x0F,0x63,0xDF,0x07,0x08, ++0x93,0x87,0xC4,0xFD,0x93,0xF7,0xF7,0x0F,0x13,0x07,0x10,0x02,0x13,0x05,0x20,0x03,0x63,0x70,0xF7,0x04,0x93,0x87,0xA4,0xFB,0x93,0xF7,0xF7,0x0F,0x13,0x07,0x10,0x03, ++0x13,0x05,0xA0,0x05,0x63,0x76,0xF7,0x02,0x93,0x87,0x84,0xF8,0x93,0xF7,0xF7,0x0F,0x51,0x47,0x13,0x05,0x20,0x08,0x63,0x7D,0xF7,0x00,0x93,0x87,0x34,0x07,0x93,0xF7, ++0xF7,0x0F,0x13,0x07,0x70,0x02,0x01,0x45,0x63,0x64,0xF7,0x00,0x13,0x05,0xB0,0x09,0x01,0x47,0x81,0x46,0x17,0x16,0x6E,0x00,0x13,0x06,0xC6,0x31,0xA2,0x85,0xEF,0x10, ++0x60,0x2E,0x97,0x17,0x6E,0x00,0xA3,0x8F,0x97,0x9A,0x05,0x46,0xA2,0x85,0x4E,0x85,0xEF,0x10,0x90,0x15,0x97,0x17,0x6E,0x00,0xA3,0x8A,0x07,0xB2,0xB7,0x07,0xA1,0x00, ++0x23,0xAA,0x07,0x0E,0x97,0x17,0x6E,0x00,0xA3,0x84,0x07,0x9A,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x05,0x61,0x82,0x80,0x81,0x46,0x17,0x16,0x6E,0x00, ++0x13,0x06,0x46,0xEE,0xA2,0x85,0x21,0x45,0xEF,0x00,0xF0,0x68,0x97,0x17,0x6E,0x00,0xA3,0x83,0x97,0xA6,0x97,0x17,0x6E,0x00,0xA3,0x86,0x07,0x96,0x7D,0xB7,0x82,0x80, ++0x17,0xE7,0x6D,0x00,0x13,0x07,0x07,0x28,0x83,0x27,0x47,0x1E,0x41,0x11,0x22,0xC4,0x93,0x86,0x17,0x00,0x06,0xC6,0x17,0xE6,0x6D,0x00,0x23,0x27,0xD6,0x44,0xFD,0x8B, ++0x17,0x24,0xFF,0xFF,0x13,0x04,0x04,0x26,0xBD,0xEB,0x83,0x27,0x47,0x1E,0x93,0xF7,0x07,0x20,0xB1,0xCB,0x83,0x27,0x84,0x3E,0x82,0x97,0x83,0x27,0x04,0x1A,0x82,0x97, ++0x83,0x27,0x04,0x4A,0x82,0x97,0x97,0xE7,0x6D,0x00,0x23,0xAF,0x07,0x40,0x83,0x27,0x04,0x5A,0x82,0x97,0x83,0x27,0x04,0x13,0x82,0x97,0x3C,0x54,0x82,0x97,0x83,0x27, ++0x84,0x58,0x82,0x97,0x95,0x22,0xEF,0x10,0x30,0x3B,0x17,0xD7,0x6D,0x00,0x03,0x57,0x87,0x94,0x85,0x47,0x63,0x13,0xF7,0x00,0x91,0x3D,0x17,0x15,0x6E,0x00,0x03,0x45, ++0xD5,0x8F,0xEF,0xE0,0x5F,0xAE,0x83,0x27,0xC4,0x4A,0x82,0x97,0x83,0x27,0x04,0x35,0x82,0x97,0x85,0x47,0x63,0x15,0xF5,0x00,0x83,0x27,0xC4,0x33,0x82,0x97,0x03,0x23, ++0x84,0x5B,0x22,0x44,0xB2,0x40,0x81,0x45,0x01,0x45,0x41,0x01,0x02,0x83,0x97,0x27,0xFF,0xFF,0x93,0x87,0x27,0x1D,0x03,0xA3,0xC7,0x4B,0x02,0x83,0x01,0x11,0x22,0xCC, ++0x17,0x24,0xFF,0xFF,0x13,0x04,0x04,0x1C,0x83,0x27,0xC4,0x4B,0x06,0xCE,0x2E,0xC6,0x82,0x97,0x83,0x27,0x84,0x4B,0xB2,0x45,0x11,0x45,0x82,0x97,0x03,0x23,0x84,0x4A, ++0x62,0x44,0xF2,0x40,0x29,0x45,0x05,0x61,0x02,0x83,0x79,0x71,0xB7,0xD7,0xA0,0x00,0x4A,0xD0,0x03,0xA9,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x26,0xD2,0x5A,0x09,0xA9,0x83, ++0x4E,0xCE,0x52,0xCC,0x56,0xCA,0x62,0xC4,0x66,0xC2,0x6A,0xC0,0x06,0xD6,0x22,0xD4,0x5A,0xC8,0x5E,0xC6,0x33,0x69,0xF9,0x00,0x17,0x1A,0x6E,0x00,0x03,0x4A,0x8A,0x84, ++0x81,0x49,0x81,0x4A,0x81,0x44,0x97,0xAC,0x6D,0x00,0x93,0x8C,0xAC,0x15,0x11,0x6D,0x05,0x4C,0x13,0x94,0x59,0x00,0x66,0x94,0x6A,0x94,0x03,0x2B,0xC4,0x47,0x4E,0x86, ++0x11,0x45,0x81,0x45,0xEF,0xE0,0x2E,0xAA,0x33,0x75,0x65,0x01,0x93,0xFB,0xF9,0x0F,0x19,0xCD,0x83,0x27,0x04,0x48,0x03,0x27,0x44,0x48,0xA9,0x83,0x33,0x07,0xE9,0x40, ++0x63,0x67,0xF7,0x04,0x99,0xE0,0x83,0x24,0x04,0x48,0x5E,0x8A,0x85,0x4A,0x63,0x9E,0x89,0x03,0x63,0x86,0x0A,0x00,0x97,0x07,0x6E,0x00,0x23,0x85,0x47,0x7F,0x22,0x54, ++0x97,0x27,0xFF,0xFF,0x93,0x87,0x07,0x10,0xB2,0x50,0x02,0x59,0xF2,0x49,0x62,0x4A,0xD2,0x4A,0x42,0x4B,0xB2,0x4B,0x22,0x4C,0x92,0x4C,0x02,0x4D,0x03,0xA3,0xC7,0x45, ++0xA6,0x85,0x92,0x54,0x25,0x45,0x45,0x61,0x02,0x83,0x85,0x49,0x59,0xB7,0x83,0x27,0x04,0x48,0x03,0x27,0x44,0x48,0x33,0x07,0xE9,0x40,0x2A,0x07,0x99,0x8F,0x99,0xC0, ++0xE3,0xF7,0x97,0xFA,0xBE,0x84,0x65,0xB7,0x19,0x71,0xCA,0xD8,0x86,0xDE,0xA2,0xDC,0xA6,0xDA,0xCE,0xD6,0x17,0x09,0x6E,0x00,0x03,0x49,0xC9,0x78,0x85,0x47,0x63,0xE8, ++0x27,0x0F,0x17,0xA4,0x6D,0x00,0x13,0x04,0xE4,0x09,0x93,0x19,0x59,0x00,0xB3,0x07,0x34,0x01,0x91,0x65,0xBE,0x95,0x45,0x46,0x93,0x85,0x85,0x48,0x28,0x00,0xEF,0x00, ++0x7E,0xEF,0xA2,0x44,0xCA,0x85,0x17,0x25,0x6E,0x00,0x13,0x05,0x25,0x1A,0x7D,0x35,0xD5,0x80,0x97,0xC7,0x6D,0x00,0x83,0xC7,0x07,0x47,0x85,0x88,0x91,0xCF,0x93,0x07, ++0x00,0x18,0x33,0x09,0xF9,0x02,0x89,0x67,0x22,0x99,0x3E,0x99,0x83,0x47,0x19,0x41,0x93,0xF7,0xF7,0x0F,0x91,0xC3,0x85,0x44,0x83,0x47,0xA1,0x00,0x96,0x04,0x45,0x46, ++0x93,0xF7,0xF7,0xFD,0xDD,0x8C,0x2C,0x00,0x68,0x08,0x23,0x05,0x91,0x00,0xEF,0x00,0x7E,0xEA,0x97,0x24,0xFF,0xFF,0x93,0x84,0xE4,0x02,0x83,0xA7,0xC4,0x29,0x68,0x08, ++0x82,0x97,0xB3,0x07,0x34,0x01,0x11,0x67,0x3E,0x97,0x83,0x27,0x07,0x49,0x93,0xD6,0x87,0x01,0x83,0x27,0x47,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD5,0x8F,0x85,0x66, ++0xF9,0x16,0x63,0xED,0xF6,0x04,0x83,0x27,0x07,0x49,0x93,0xD6,0x87,0x01,0x83,0x27,0x47,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD5,0x8F,0x85,0x07,0xC2,0x07,0xC1,0x83, ++0x11,0x67,0x4E,0x94,0x3A,0x94,0x13,0xF7,0xF7,0x0F,0x83,0x46,0x34,0x49,0xA1,0x83,0xA3,0x09,0xE4,0x48,0x03,0x47,0x44,0x49,0x23,0x0A,0xF4,0x48,0x83,0xA7,0x04,0x43, ++0x09,0x45,0x82,0x97,0x89,0x47,0x17,0x07,0x6E,0x00,0x23,0x0D,0xF7,0x68,0xF6,0x50,0x66,0x54,0xD6,0x54,0x46,0x59,0xB6,0x59,0x09,0x61,0x82,0x80,0x83,0x27,0x07,0x49, ++0x93,0xD6,0x87,0x01,0x83,0x27,0x47,0x49,0x7D,0x77,0x05,0x07,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD5,0x8F,0xBA,0x97,0x5D,0xB7,0x41,0x11,0x22,0xC4,0x17,0x24,0xFF,0xFF, ++0x13,0x04,0x44,0xF8,0x83,0x27,0x44,0x3A,0x26,0xC2,0x06,0xC6,0xAA,0x84,0x17,0xE5,0x6D,0x00,0x13,0x05,0xE5,0xFF,0x82,0x97,0x01,0xC5,0x83,0x27,0x04,0x4A,0x82,0x97, ++0x83,0x27,0x44,0x39,0xA6,0x85,0x17,0xE5,0x6D,0x00,0x13,0x05,0x65,0xFE,0x82,0x97,0x03,0x23,0x04,0x43,0x22,0x44,0xB2,0x40,0x92,0x44,0x0D,0x45,0x41,0x01,0x02,0x83, ++0x5D,0x71,0x4E,0xDE,0x56,0xDA,0x85,0x69,0x89,0x6A,0xA6,0xC2,0xCA,0xC0,0x52,0xDC,0x5A,0xD8,0x86,0xC6,0xA2,0xC4,0x5E,0xD6,0x62,0xD4,0x97,0x24,0xFF,0xFF,0x93,0x84, ++0x64,0xF2,0x17,0xE9,0x6D,0x00,0x13,0x09,0xE9,0xF1,0x93,0x89,0x09,0x80,0x17,0xAA,0x6D,0x00,0x13,0x0A,0x2A,0xF1,0x13,0x8B,0x8A,0x1F,0x83,0xA7,0x04,0x3A,0x17,0xE5, ++0x6D,0x00,0x13,0x05,0xE5,0xF8,0x82,0x97,0x09,0xCD,0xB6,0x40,0x26,0x44,0x96,0x44,0x06,0x49,0xF2,0x59,0x62,0x5A,0xD2,0x5A,0x42,0x5B,0xB2,0x5B,0x22,0x5C,0x61,0x61, ++0x82,0x80,0x83,0xA7,0xC4,0x52,0x17,0xE5,0x6D,0x00,0x13,0x05,0x65,0xF6,0x82,0x97,0x83,0x27,0x09,0x1A,0x2A,0x84,0x85,0x07,0x17,0xE7,0x6D,0x00,0x23,0x24,0xF7,0x06, ++0x83,0x47,0xA5,0x04,0x85,0x8B,0x63,0x85,0x07,0x1E,0x83,0xA7,0x04,0x2F,0x82,0x97,0x83,0x47,0xA4,0x04,0x03,0x47,0xB4,0x04,0x93,0xF7,0xD7,0x0F,0x22,0x07,0xD9,0x8F, ++0x23,0x05,0xF4,0x04,0xA1,0x83,0xA3,0x05,0xF4,0x04,0x83,0xA7,0xC4,0x2E,0x82,0x97,0x03,0x47,0xB4,0x04,0x83,0x47,0xA4,0x04,0x22,0x07,0x5D,0x8F,0x93,0x77,0x47,0x00, ++0x8D,0xC7,0x03,0x46,0xB4,0x05,0x41,0x45,0x81,0x45,0xEF,0xD0,0xDE,0xFD,0x26,0x44,0x03,0xA3,0xC4,0x18,0xB6,0x40,0x96,0x44,0x06,0x49,0xF2,0x59,0x62,0x5A,0xD2,0x5A, ++0x42,0x5B,0xB2,0x5B,0x22,0x5C,0x61,0x61,0x02,0x83,0x83,0x46,0x54,0x01,0x83,0x47,0x44,0x01,0xA2,0x06,0xDD,0x8E,0x13,0xF6,0xF6,0x04,0x93,0x07,0x80,0x04,0xE3,0x1E, ++0xF6,0xF2,0xB3,0x77,0x37,0x01,0x97,0xCB,0x6D,0x00,0x93,0x8B,0xAB,0xE3,0x63,0x84,0x07,0x12,0x03,0x26,0x89,0x20,0x83,0x27,0x89,0x20,0x03,0x48,0x94,0x05,0x05,0x45, ++0x83,0xC7,0x07,0x00,0xA1,0x45,0x93,0xF7,0xF7,0x07,0x63,0x03,0xA8,0x00,0xA5,0x45,0x8A,0x07,0x3E,0x96,0x93,0xD7,0xB6,0x00,0x13,0xF5,0x27,0x00,0x83,0x47,0xB6,0x00, ++0x23,0x04,0xB6,0x00,0x93,0xD5,0x76,0x40,0x93,0xF7,0xC7,0x0F,0x85,0x89,0xC9,0x8F,0xCD,0x8F,0xA3,0x05,0xF6,0x00,0xA3,0x04,0xD6,0x00,0x83,0x46,0x64,0x05,0x25,0x83, ++0x11,0x8B,0x93,0x95,0x46,0x00,0x83,0x46,0xA6,0x00,0x93,0xF7,0xB7,0x0F,0xD9,0x8F,0xBD,0x8A,0xCD,0x8E,0x23,0x05,0xD6,0x00,0x83,0x45,0xB4,0x05,0xA3,0x05,0xF6,0x00, ++0x03,0x27,0x89,0x20,0xBD,0x89,0xC1,0x9A,0xCD,0x8E,0x23,0x05,0xD6,0x00,0x83,0x47,0x07,0x00,0x21,0x45,0x85,0x07,0x23,0x00,0xF7,0x00,0x83,0xA7,0xC4,0x18,0x82,0x97, ++0x03,0xA7,0x0B,0x7D,0x83,0x46,0x64,0x06,0x5C,0x5B,0xB6,0x97,0x5C,0xDB,0x03,0xA7,0x0B,0x7D,0x83,0x46,0x34,0x05,0x1C,0x5B,0xB6,0x97,0x1C,0xDB,0x03,0x45,0xB4,0x05, ++0x93,0x07,0xC0,0x0E,0xB3,0x07,0xF5,0x02,0xD2,0x97,0xD6,0x97,0x03,0xA7,0x47,0x1E,0xE3,0x55,0xE0,0xE6,0x03,0xA7,0x47,0x1E,0x7D,0x17,0x23,0xA2,0xE7,0x1E,0x97,0x07, ++0x6E,0x00,0x93,0x87,0x27,0x43,0xAA,0x97,0x03,0xC7,0x07,0x00,0x01,0xC7,0x7D,0x17,0x23,0x80,0xE7,0x00,0x93,0x0B,0xC0,0x0E,0x33,0x05,0x75,0x03,0x83,0xA7,0xC4,0x52, ++0x5A,0x95,0x52,0x95,0x82,0x97,0x2A,0x8C,0xE3,0x09,0x05,0xE2,0xAA,0x85,0x45,0x46,0x0A,0x85,0xEF,0x00,0x3E,0xBA,0xFC,0x4C,0x0A,0x85,0x82,0x97,0x03,0x45,0xB4,0x05, ++0x93,0x87,0x8A,0x1E,0xE2,0x85,0x33,0x05,0x75,0x03,0x3E,0x95,0x83,0xA7,0x44,0x39,0x52,0x95,0x82,0x97,0x19,0xB5,0x93,0x97,0x36,0x01,0xE3,0xD3,0x07,0xF6,0x03,0x47, ++0x94,0x05,0x85,0x47,0x63,0x11,0xF7,0x02,0x83,0xC7,0x4B,0x40,0xE3,0x1A,0xF7,0xF4,0x83,0xC7,0x2B,0x40,0x93,0xF7,0xF7,0x0F,0xA1,0xF7,0x89,0x47,0x17,0xC7,0x6D,0x00, ++0x23,0x03,0xF7,0x0E,0x35,0xBF,0x17,0xC7,0x6D,0x00,0xA3,0x0E,0xF7,0x0C,0x0D,0xBF,0x83,0xA7,0x84,0x47,0x82,0x97,0xD1,0xB3,0x41,0x11,0x22,0xC4,0x26,0xC2,0x06,0xC6, ++0xAA,0x84,0xEF,0xA0,0x0D,0xD3,0x93,0x07,0x00,0x18,0xB3,0x87,0xF4,0x02,0x17,0xC7,0x6D,0x00,0x13,0x07,0x27,0xCB,0x17,0x24,0xFF,0xFF,0x13,0x04,0xA4,0xCA,0xBA,0x97, ++0x03,0xA7,0x07,0x43,0x91,0x47,0x63,0xF7,0xE7,0x00,0x83,0x27,0x04,0x33,0x81,0x45,0x26,0x85,0x82,0x97,0x03,0x23,0xC4,0x5B,0x22,0x44,0xB2,0x40,0x92,0x44,0x41,0x01, ++0x02,0x83,0x93,0x07,0x00,0x18,0xB3,0x07,0xF5,0x02,0x17,0xA7,0x6D,0x00,0x13,0x07,0x67,0xC7,0x89,0x66,0x01,0x11,0x22,0xCC,0x37,0xD6,0xA0,0x00,0x26,0xCA,0xAA,0x84, ++0x4A,0xC8,0x06,0xCE,0xBA,0x97,0xB6,0x97,0x03,0xD4,0x87,0x41,0xB7,0x07,0x14,0x00,0x93,0x87,0xA7,0x07,0xAA,0x97,0x8E,0x07,0x94,0x43,0xCC,0x43,0x83,0x27,0xC6,0x0F, ++0x03,0x25,0x86,0x0F,0x4E,0xC6,0xB6,0x97,0x2E,0x95,0xB3,0x35,0xB5,0x00,0xBE,0x95,0x52,0xC4,0x97,0x07,0x6E,0x00,0x83,0xC7,0x47,0x41,0x93,0x06,0xF0,0x0F,0x2A,0x04, ++0x3A,0x89,0x63,0x8C,0xD7,0x10,0x17,0x07,0x6E,0x00,0x13,0x07,0xA7,0x2E,0x83,0x26,0x07,0x12,0x33,0x07,0xD5,0x40,0x63,0x72,0x87,0x10,0x17,0x07,0x6E,0x00,0x03,0x47, ++0xD7,0x3E,0x65,0xCF,0x89,0xE7,0x97,0x07,0x6E,0x00,0x23,0x80,0xE7,0x3E,0x97,0x07,0x6E,0x00,0x83,0xC7,0x87,0x3D,0xB3,0x87,0x87,0x02,0x05,0x4A,0xB3,0xD7,0xE7,0x02, ++0xB6,0x97,0x33,0x85,0xA7,0x40,0xFD,0x57,0x17,0x07,0x6E,0x00,0x23,0x0F,0xF7,0x3A,0x13,0x07,0x00,0x18,0x33,0x87,0xE4,0x02,0x97,0x29,0xFF,0xFF,0x93,0x89,0x89,0xBC, ++0x85,0x46,0x83,0xA7,0xC9,0x1B,0x13,0x06,0x00,0x10,0x4A,0x97,0x09,0x69,0x4A,0x97,0x03,0x47,0x07,0x41,0x63,0x95,0xE6,0x00,0x05,0x66,0x13,0x06,0x06,0x80,0xA2,0x85, ++0x82,0x97,0x17,0xC7,0x6D,0x00,0x03,0x47,0x27,0xFA,0x85,0x47,0x2A,0x89,0x63,0x14,0xF7,0x02,0x63,0x0C,0x0A,0x08,0xB7,0xD7,0xA0,0x00,0x03,0xA7,0xC7,0x0F,0x83,0xA7, ++0x87,0x0F,0x5A,0x07,0xA9,0x83,0xD9,0x8F,0x13,0x57,0xA5,0x40,0xBA,0x97,0x17,0x07,0x6E,0x00,0x23,0x2F,0xF7,0x3C,0x83,0xA7,0xC9,0x45,0xCA,0x85,0x26,0x85,0x82,0x97, ++0x85,0x47,0x17,0xEA,0x6D,0x00,0x03,0x4A,0x4A,0x3A,0x63,0x13,0xFA,0x0A,0x97,0xC7,0x6D,0x00,0x93,0x87,0x27,0xB5,0x83,0xC7,0x47,0x40,0x63,0x0B,0xFA,0x08,0x83,0xA7, ++0x89,0x41,0x26,0x85,0x82,0x97,0x97,0xE7,0x6D,0x00,0x83,0xC7,0xE7,0x37,0x63,0x91,0x97,0x08,0x05,0x80,0x63,0x7E,0x24,0x07,0x62,0x44,0x97,0xE7,0x6D,0x00,0xA3,0x86, ++0x47,0x37,0x03,0xA3,0xC9,0x45,0xF2,0x40,0xD2,0x44,0xB2,0x49,0x22,0x4A,0x93,0x05,0x09,0x80,0x42,0x49,0x29,0x45,0x05,0x61,0x02,0x83,0x22,0x86,0x81,0x46,0xEF,0xD0, ++0x5E,0xC9,0x33,0x05,0xA4,0x40,0x01,0x4A,0x39,0xBF,0x37,0xD7,0xA0,0x00,0x83,0x26,0xC7,0x0F,0x83,0x27,0x87,0x0F,0x17,0x06,0x6E,0x00,0x13,0x06,0x66,0x35,0x10,0x42, ++0xDA,0x06,0xA9,0x83,0xD5,0x8F,0xE3,0xF8,0xC7,0xF6,0x83,0x26,0xC7,0x0F,0x83,0x27,0x87,0x0F,0x13,0x97,0x66,0x01,0xA9,0x83,0xD9,0x8F,0x13,0x57,0xA5,0x40,0x3E,0x97, ++0xB3,0x37,0xF7,0x00,0x93,0x56,0xF5,0x01,0x63,0x94,0xF6,0x00,0xE3,0x75,0xE6,0xF4,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x05,0x61,0x82,0x80, ++0x93,0x07,0x00,0x18,0xB3,0x87,0xF5,0x02,0x41,0x11,0x26,0xC2,0x97,0xA4,0x6D,0x00,0x93,0x84,0x44,0xA9,0x09,0x67,0x06,0xC6,0x22,0xC4,0x4A,0xC0,0x09,0x46,0xA6,0x97, ++0xBA,0x97,0x83,0xC6,0x07,0x41,0x63,0x07,0xD6,0x06,0x83,0xC7,0x07,0x41,0x93,0xF7,0xF7,0x0F,0x95,0xE3,0xE1,0x47,0xB3,0x87,0xF5,0x02,0xA6,0x97,0x3E,0x97,0xA3,0x06, ++0x07,0x3C,0xB7,0xD7,0xA0,0x00,0x03,0xA5,0xC7,0x0F,0x83,0xA7,0x87,0x0F,0x23,0x28,0xF7,0x3C,0x23,0x2A,0xA7,0x3C,0x17,0x29,0xFF,0xFF,0x13,0x09,0xA9,0xA4,0x83,0x27, ++0x09,0x0C,0x2E,0x85,0x2E,0x84,0x82,0x97,0x83,0x27,0x89,0x09,0x22,0x85,0x82,0x97,0x93,0x07,0x00,0x18,0xB3,0x07,0xF4,0x02,0x22,0x85,0x22,0x44,0x03,0x23,0xC9,0x56, ++0xB2,0x40,0x02,0x49,0xBE,0x94,0x89,0x67,0xBE,0x94,0x23,0xA8,0x04,0x42,0x92,0x44,0x41,0x01,0x02,0x83,0xB2,0x40,0x22,0x44,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80, ++0x85,0x47,0x63,0xEE,0xA7,0x3C,0x75,0x71,0xD6,0xDA,0x97,0x0A,0x6E,0x00,0x93,0x8A,0x6A,0x0C,0x83,0xA7,0x8A,0x00,0x06,0xC7,0x22,0xC5,0x26,0xC3,0x4A,0xC1,0xCE,0xDE, ++0xD2,0xDC,0xDA,0xD8,0xDE,0xD6,0xE2,0xD4,0x63,0x88,0x07,0x2A,0x03,0xC7,0x77,0x01,0x83,0xC6,0x67,0x01,0x13,0x86,0x07,0x02,0x13,0x77,0xF7,0x03,0x22,0x07,0x55,0x8F, ++0x83,0xC6,0x97,0x03,0x3A,0x96,0x03,0xC7,0x87,0x03,0xA2,0x06,0x93,0x87,0x47,0x04,0x55,0x8F,0x83,0xC6,0x67,0xFF,0x81,0x49,0x15,0x48,0xC2,0x06,0xD9,0x8E,0x03,0xC7, ++0x77,0xFF,0x93,0x08,0x00,0x03,0x62,0x07,0x55,0x8F,0x97,0x06,0x6E,0x00,0x23,0xA3,0xE6,0x18,0x7D,0x87,0x97,0x06,0x6E,0x00,0x23,0xA0,0xE6,0x18,0x81,0x46,0x13,0x87, ++0x17,0x00,0x63,0x79,0xC7,0x00,0x03,0xC7,0x17,0x00,0x93,0x05,0x17,0x00,0xBE,0x95,0x63,0xE2,0xC5,0x0E,0x2A,0x89,0x8D,0xC6,0x93,0x07,0xC0,0x02,0x33,0x07,0xF5,0x02, ++0x97,0xE7,0x6D,0x00,0x93,0x87,0xC7,0x29,0xBA,0x97,0x9C,0x57,0x91,0xEB,0x97,0x27,0xFF,0xFF,0x93,0x87,0x27,0x95,0x83,0xA7,0x87,0x74,0xAA,0x85,0x36,0x85,0x82,0x97, ++0x63,0x8C,0x09,0x20,0x17,0x2A,0xFF,0xFF,0x13,0x0A,0xCA,0x93,0x83,0x27,0x8A,0x4D,0xCA,0x85,0x05,0x45,0x82,0x97,0x83,0xC6,0x29,0x00,0x03,0xCB,0x49,0x00,0x83,0xCB, ++0x19,0x00,0x97,0x07,0x6E,0x00,0x23,0x82,0xD7,0x10,0x83,0xC7,0x39,0x00,0x2A,0x8C,0x97,0xA4,0x6D,0x00,0x93,0x84,0x04,0x91,0x17,0x07,0x6E,0x00,0xA3,0x07,0xF7,0x0E, ++0x97,0xC7,0x6D,0x00,0x83,0xC7,0x47,0xD0,0x17,0xC4,0x6D,0x00,0x13,0x04,0x84,0x8F,0x95,0xCB,0x83,0xA7,0x8A,0x11,0x9D,0xC7,0x13,0xD7,0x07,0x01,0x13,0x77,0xF7,0x0F, ++0x63,0x12,0xE9,0x02,0x85,0xE2,0x13,0x07,0x00,0x18,0x33,0x07,0xE9,0x02,0xC2,0x07,0x89,0x66,0xC1,0x83,0x4A,0x85,0x26,0x97,0x36,0x97,0x23,0x1C,0xF7,0x40,0x83,0x27, ++0x0A,0x0C,0x82,0x97,0x83,0xC7,0x49,0x00,0x85,0x8B,0xA9,0xC3,0x83,0x47,0x24,0x40,0x93,0xF7,0xF7,0x0F,0x63,0x82,0x07,0x18,0x85,0x47,0x17,0x07,0x6E,0x00,0x23,0x0B, ++0xF7,0x10,0x17,0x07,0x6E,0x00,0xA3,0x07,0x07,0x10,0x17,0xC7,0x6D,0x00,0x23,0x0C,0xF7,0xC8,0x9D,0xA2,0x83,0xC5,0x07,0x00,0x63,0x88,0x05,0x01,0x63,0x93,0x15,0x01, ++0xBE,0x86,0x09,0x07,0xBA,0x97,0xE5,0xBD,0xBE,0x89,0xE5,0xBF,0x93,0x57,0x3C,0x00,0xC2,0x07,0xC1,0x83,0x13,0x77,0xEB,0xFF,0x63,0xC3,0xE7,0x0E,0xBA,0x9B,0xF1,0x1B, ++0x63,0xCF,0xFB,0x0C,0x99,0x8F,0xBE,0x99,0x03,0xC5,0x59,0x00,0x13,0x7C,0x7C,0x00,0x33,0x55,0x85,0x41,0x05,0x89,0x61,0xC5,0x85,0x47,0x17,0x07,0x6E,0x00,0xA3,0x0B, ++0xF7,0x0A,0x16,0x09,0xB3,0x87,0x24,0x01,0x91,0x69,0xBE,0x99,0x83,0xA5,0x09,0x49,0x83,0xA7,0x49,0x49,0x17,0x25,0x6E,0x00,0x13,0x05,0x45,0x96,0xE1,0x81,0x93,0xF7, ++0xF7,0x0F,0xA2,0x07,0xDD,0x8D,0xEF,0xF0,0x6F,0xE5,0x45,0x46,0x93,0x85,0x89,0x48,0x68,0x08,0xEF,0x00,0x2E,0xE8,0x83,0x27,0xCA,0x29,0x68,0x08,0x82,0x97,0x83,0xA7, ++0x09,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x49,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x05,0x67,0x79,0x17,0x63,0x6D,0xF7,0x0C,0x83,0xA7,0x09,0x49,0x13,0xD7, ++0x87,0x01,0x83,0xA7,0x49,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x85,0x07,0xC2,0x07,0xC1,0x83,0x26,0x99,0x91,0x64,0xCA,0x94,0x13,0xF7,0xF7,0x0F,0x83,0xC6, ++0x34,0x49,0xA1,0x83,0xA3,0x89,0xE4,0x48,0x03,0xC7,0x44,0x49,0x23,0x8A,0xF4,0x48,0x97,0xC7,0x6D,0x00,0x23,0x89,0x07,0xBA,0x97,0x07,0x6E,0x00,0x23,0xAE,0x07,0x00, ++0x97,0x07,0x6E,0x00,0xA3,0x88,0x07,0x00,0x97,0x07,0x6E,0x00,0x23,0x84,0x07,0x00,0x83,0x47,0x24,0x40,0x05,0x47,0x63,0x11,0xF7,0x06,0x89,0x47,0xFD,0xB5,0x97,0x07, ++0x6E,0x00,0x93,0x87,0xE7,0xFE,0x98,0x47,0x97,0x06,0x6E,0x00,0x83,0xC6,0x96,0xFE,0x05,0x07,0x97,0x07,0x6E,0x00,0x23,0xA1,0xE7,0xFE,0x85,0x47,0xE3,0x83,0xF6,0xF2, ++0x83,0x46,0x24,0x40,0x93,0xF6,0xF6,0x0F,0xE1,0xF6,0x63,0x0E,0xF7,0x00,0x17,0x07,0x6E,0x00,0x03,0x47,0x27,0xFC,0x63,0x08,0xF7,0x00,0x03,0x47,0x34,0x40,0x62,0x07, ++0x61,0x87,0xE3,0x17,0xF7,0xFA,0x83,0x27,0x8A,0x17,0x82,0x97,0x21,0xE1,0x85,0x47,0x17,0xC7,0x6D,0x00,0xA3,0x09,0xF7,0xB2,0xBA,0x40,0x2A,0x44,0x9A,0x44,0x0A,0x49, ++0xF6,0x59,0x66,0x5A,0xD6,0x5A,0x46,0x5B,0xB6,0x5B,0x26,0x5C,0x49,0x61,0x82,0x80,0x83,0xA7,0x09,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x49,0x49,0x93,0xF7,0xF7,0x0F, ++0xA2,0x07,0xD9,0x8F,0x7D,0x77,0x05,0x07,0xBA,0x97,0x1D,0xB7,0x16,0x09,0xB3,0x87,0x24,0x01,0x91,0x69,0xBE,0x99,0x45,0x46,0x93,0x85,0x89,0x48,0x28,0x00,0xEF,0x00, ++0x6E,0xD5,0x83,0xA5,0x09,0x49,0x83,0xA7,0x49,0x49,0x17,0x25,0x6E,0x00,0x13,0x05,0x65,0x81,0xE1,0x81,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xDD,0x8D,0xEF,0xF0,0x0F,0xD0, ++0x83,0x47,0xA1,0x00,0x45,0x46,0x2C,0x00,0x93,0xE7,0x07,0x02,0x68,0x08,0x23,0x05,0xF1,0x00,0xEF,0x00,0x2E,0xD2,0x83,0x27,0xCA,0x29,0x68,0x08,0x82,0x97,0x83,0xA7, ++0x09,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x49,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x05,0x67,0x79,0x17,0x63,0x66,0xF7,0x04,0x83,0xA7,0x09,0x49,0x13,0xD7, ++0x87,0x01,0x83,0xA7,0x49,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x85,0x07,0xC2,0x07,0xC1,0x83,0xCA,0x94,0x11,0x69,0xCA,0x94,0x13,0xF7,0xF7,0x0F,0x83,0xC6, ++0x34,0x49,0xA1,0x83,0xA3,0x89,0xE4,0x48,0x03,0xC7,0x44,0x49,0x23,0x8A,0xF4,0x48,0x97,0xC7,0x6D,0x00,0xA3,0x89,0x07,0xA4,0x97,0x07,0x6E,0x00,0x23,0x8C,0x07,0xEA, ++0x45,0xBD,0x83,0xA7,0x09,0x49,0x13,0xD7,0x87,0x01,0x83,0xA7,0x49,0x49,0x93,0xF7,0xF7,0x0F,0xA2,0x07,0xD9,0x8F,0x7D,0x77,0x05,0x07,0xBA,0x97,0x55,0xBF,0x82,0x80, ++0x97,0x07,0x6E,0x00,0x83,0xC7,0x87,0xE1,0x85,0x8B,0x99,0xC3,0x6F,0xA0,0xED,0xB3,0x82,0x80,0x01,0x11,0x22,0xCC,0x17,0x14,0xFF,0xFF,0x13,0x04,0xA4,0x60,0x83,0x27, ++0xC4,0x4A,0x06,0xCE,0x2A,0xC6,0x2E,0xC4,0x82,0x97,0xA2,0x45,0x32,0x45,0xEF,0x80,0x8E,0x9C,0x83,0x27,0xC4,0x4A,0x82,0x97,0xF2,0x40,0x62,0x44,0x01,0x45,0x05,0x61, ++0x82,0x80,0x97,0xE7,0x6D,0x00,0x93,0x87,0x67,0xE0,0x9C,0x43,0x41,0x11,0x22,0xC4,0x06,0xC6,0x2A,0x84,0x13,0x05,0x80,0x05,0x82,0x97,0x93,0x77,0x74,0x00,0x17,0xE7, ++0x6D,0x00,0x13,0x07,0x67,0xDE,0x22,0x44,0xB2,0x40,0x03,0x23,0x07,0x00,0x93,0x75,0xF5,0xF8,0x92,0x07,0xDD,0x8D,0x13,0x05,0x80,0x05,0x41,0x01,0x02,0x83,0x41,0x11, ++0x93,0x07,0x25,0xFE,0x22,0xC4,0x06,0xC6,0x26,0xC2,0x93,0xF7,0xF7,0x0F,0x13,0x07,0x50,0x09,0x45,0x44,0x63,0x6C,0xF7,0x02,0x93,0x07,0x10,0x03,0x35,0x44,0x63,0xF7, ++0xA7,0x02,0x93,0x07,0x50,0x04,0x31,0x44,0x63,0xF2,0xA7,0x02,0x93,0x07,0x90,0x05,0x29,0x44,0x63,0xFD,0xA7,0x00,0x93,0x07,0xD0,0x06,0x25,0x44,0x63,0xF8,0xA7,0x00, ++0x93,0x07,0x10,0x08,0x21,0x44,0x63,0xF3,0xA7,0x00,0x1D,0x44,0x97,0xE7,0x6D,0x00,0x93,0x87,0xC7,0xD7,0x9C,0x43,0x85,0x64,0x13,0x85,0x44,0x83,0x82,0x97,0x93,0x75, ++0x05,0xC0,0xC1,0x8D,0x13,0x15,0x54,0x00,0xC9,0x8D,0x61,0x75,0x13,0x05,0xF5,0x3F,0x93,0x17,0xA4,0x00,0xE9,0x8D,0xDD,0x8D,0xB7,0x87,0xF0,0xFF,0xFD,0x17,0x13,0x17, ++0xF4,0x00,0xFD,0x8D,0xB7,0x07,0x10,0xFE,0xFD,0x17,0xD9,0x8D,0x52,0x04,0xFD,0x8D,0xC1,0x8D,0x97,0xE7,0x6D,0x00,0x93,0x87,0x27,0xD3,0x22,0x44,0xB2,0x40,0x03,0xA3, ++0x07,0x00,0x13,0x85,0x44,0x83,0x92,0x44,0x41,0x01,0x02,0x83,0x15,0x71,0xA2,0xCD,0x17,0x14,0xFF,0xFF,0x13,0x04,0x04,0x4F,0x83,0x27,0xC4,0x7B,0x86,0xCF,0xA6,0xCB, ++0xCA,0xC9,0xCE,0xC7,0xD2,0xC5,0xD6,0xC3,0x2A,0x8A,0xDA,0xC1,0x15,0x45,0x2E,0x89,0xB2,0x89,0x82,0x97,0x83,0x27,0x04,0x7D,0x6D,0x46,0x8D,0x45,0x52,0x85,0x82,0x97, ++0x83,0x27,0xC4,0x7B,0x1D,0x45,0x85,0x44,0x82,0x97,0x48,0x00,0xEF,0x90,0xAF,0xCC,0xB5,0x4A,0x93,0x87,0x04,0x08,0x3E,0xDC,0x83,0x27,0x44,0x7C,0x26,0xDA,0x02,0xD6, ++0x02,0xD8,0x23,0x0E,0x01,0x02,0x6C,0x00,0x68,0x10,0x85,0x04,0x82,0x97,0xE3,0x92,0x54,0xFF,0x85,0x44,0x05,0x4B,0xB5,0x4A,0x93,0x87,0x04,0x09,0x3E,0xDC,0x83,0x27, ++0x44,0x7C,0x26,0xDA,0x02,0xD6,0x5A,0xD8,0x23,0x0E,0x01,0x02,0x6C,0x00,0x68,0x10,0x85,0x04,0x82,0x97,0xE3,0x92,0x54,0xFF,0x83,0x27,0xC4,0x7B,0x19,0x45,0x82,0x97, ++0x09,0x45,0x41,0x35,0x83,0x27,0x44,0x7D,0xCE,0x86,0x68,0x08,0x0D,0x46,0x85,0x45,0x82,0x97,0xF2,0x47,0x52,0x86,0x0A,0x85,0x23,0x24,0xF9,0x18,0x82,0x57,0x81,0x45, ++0x23,0x26,0xF9,0x18,0x92,0x57,0x23,0x28,0xF9,0x18,0xA2,0x57,0x23,0x2A,0xF9,0x18,0xEF,0x30,0x0F,0xE2,0x83,0x27,0x84,0x7C,0xCE,0x86,0x88,0x00,0x01,0x46,0x81,0x45, ++0x82,0x97,0xFE,0x40,0x6E,0x44,0xDE,0x44,0x4E,0x49,0xBE,0x49,0x2E,0x4A,0x9E,0x4A,0x0E,0x4B,0x2D,0x61,0x82,0x80,0x0D,0x71,0xB7,0x07,0xA0,0x00,0x23,0x24,0x41,0x15, ++0x03,0xAA,0x07,0x13,0x23,0x22,0x51,0x15,0xAA,0x8A,0x25,0x45,0x23,0x2A,0x91,0x14,0x23,0x26,0x31,0x15,0x23,0x20,0x61,0x15,0x23,0x2E,0x11,0x14,0x23,0x2C,0x81,0x14, ++0x23,0x28,0x21,0x15,0x23,0x2E,0x71,0x13,0x23,0x2C,0x81,0x13,0x23,0x2A,0x91,0x13,0xAE,0x89,0xB2,0x84,0x36,0x8B,0xEF,0xC0,0x3D,0xF2,0x1A,0x0A,0x93,0x17,0xF5,0x00, ++0x13,0x5A,0x6A,0x00,0x63,0xDB,0x07,0x28,0x29,0x45,0xEF,0xC0,0xFD,0xF0,0x41,0x69,0x41,0x19,0x13,0x7C,0xF5,0x0F,0x97,0x07,0x6E,0x00,0x93,0x87,0xA7,0xA7,0x31,0x81, ++0x33,0x75,0x25,0x01,0x03,0x99,0x87,0x06,0x2A,0x99,0xCA,0x85,0x17,0x05,0x6E,0x00,0x13,0x05,0xC5,0xC0,0xEF,0xF0,0x8F,0x9C,0x17,0x14,0xFF,0xFF,0x13,0x04,0x84,0x38, ++0x83,0x27,0xC4,0x7B,0x15,0x45,0x82,0x97,0x83,0x27,0x04,0x7D,0x6D,0x46,0x8D,0x45,0x56,0x85,0x82,0x97,0x83,0x27,0xC4,0x7B,0x19,0x45,0x82,0x97,0x09,0x45,0x51,0x33, ++0x83,0x27,0x44,0x7D,0xDA,0x86,0x0D,0x46,0x85,0x45,0x48,0x08,0x82,0x97,0xD2,0x47,0x09,0x45,0x23,0xA4,0xF4,0x18,0xE2,0x47,0x23,0xA6,0xF4,0x18,0xF2,0x47,0x23,0xA8, ++0xF4,0x18,0x82,0x57,0x23,0xAA,0xF4,0x18,0xA9,0x3B,0x83,0x27,0x44,0x7D,0xDA,0x86,0x1D,0x46,0x85,0x45,0x48,0x10,0x82,0x97,0x92,0x57,0x17,0x15,0x6E,0x00,0x13,0x05, ++0x65,0x48,0x23,0xAC,0xF4,0x18,0xA2,0x57,0x23,0xAE,0xF4,0x18,0xB2,0x57,0x23,0xA0,0xF4,0x1A,0xC2,0x57,0x23,0xA2,0xF4,0x1A,0xB7,0x07,0xA0,0x00,0x83,0xAB,0x07,0x13, ++0xB7,0x07,0x00,0x04,0xFD,0x17,0xB3,0xFB,0xFB,0x00,0xB3,0x85,0x4B,0x41,0xFD,0x8D,0xEF,0xF0,0xCF,0x92,0x4A,0x86,0xE2,0x85,0x48,0x00,0xEF,0x40,0x1F,0xCB,0xB2,0x47, ++0x9D,0x45,0x1D,0x45,0x23,0xA4,0xF4,0x3E,0xEF,0x40,0x1F,0xA6,0x83,0x27,0x84,0x7C,0x81,0x46,0x05,0x46,0x85,0x45,0x88,0x19,0x82,0x97,0x85,0x45,0x13,0x05,0xA0,0x03, ++0xEF,0x40,0x1F,0xC8,0x93,0x05,0xA0,0x03,0x48,0x18,0xEF,0x40,0xBF,0xA3,0xBA,0x57,0x13,0x87,0x44,0x22,0x93,0x86,0x04,0x26,0x23,0xAE,0xF4,0x28,0x22,0x89,0x5C,0x18, ++0x90,0x43,0x11,0x07,0x91,0x07,0x23,0x2E,0xC7,0xFE,0x90,0x5F,0x10,0xDF,0xE3,0x19,0xD7,0xFE,0xEF,0x40,0x5F,0xB6,0x97,0x07,0x6E,0x00,0x83,0xC7,0xD7,0x95,0x63,0x9E, ++0x07,0x0E,0x83,0x27,0xC9,0x7C,0x56,0x86,0x81,0x45,0x0A,0x85,0x82,0x97,0x82,0x47,0xB7,0x0C,0xA0,0x00,0xB7,0x0A,0x00,0x04,0x23,0xAE,0xF4,0x30,0x83,0xA5,0x0C,0x13, ++0xFD,0x1A,0x17,0x15,0x6E,0x00,0x13,0x05,0x65,0x3E,0x33,0xFC,0x55,0x01,0xB3,0x05,0x7C,0x41,0xB3,0xF5,0x55,0x01,0xEF,0xF0,0x6F,0x88,0x83,0x27,0x89,0x7C,0x18,0x19, ++0x13,0x94,0x69,0x00,0x33,0x05,0x87,0x00,0xDA,0x86,0x01,0x46,0xCE,0x85,0x82,0x97,0x83,0xA5,0x0C,0x13,0x17,0x15,0x6E,0x00,0x13,0x05,0x05,0x3C,0xB3,0xF5,0x55,0x01, ++0xB3,0x85,0x85,0x41,0xB3,0xF5,0x55,0x01,0xEF,0xF0,0x4F,0x85,0x1C,0x1A,0xA2,0x97,0x83,0xA6,0x07,0xF8,0x33,0x87,0x84,0x00,0x93,0x85,0xD9,0x00,0x23,0x20,0xD7,0x32, ++0x83,0xA6,0x47,0xF8,0x9A,0x05,0xAE,0x94,0x23,0x22,0xD7,0x32,0x83,0xA6,0x87,0xF8,0x23,0x24,0xD7,0x32,0x83,0xA6,0xC7,0xF8,0x23,0x26,0xD7,0x32,0x83,0xA6,0x07,0xF9, ++0x23,0x28,0xD7,0x32,0x83,0xA6,0x47,0xF9,0x23,0x2A,0xD7,0x32,0x83,0xA6,0x87,0xF9,0x23,0x2C,0xD7,0x32,0x83,0xA6,0xC7,0xF9,0x23,0x2E,0xD7,0x32,0x83,0xA6,0x07,0xFA, ++0x94,0xC0,0x83,0xA6,0x47,0xFA,0x23,0x22,0xD7,0x34,0x83,0xA6,0x87,0xFA,0x23,0x24,0xD7,0x34,0x83,0xA6,0xC7,0xFA,0x23,0x26,0xD7,0x34,0x83,0xA6,0x07,0xFB,0x23,0x28, ++0xD7,0x34,0x83,0xA6,0x47,0xFB,0x23,0x2A,0xD7,0x34,0x83,0xA6,0x87,0xFB,0x83,0xA7,0xC7,0xFB,0x23,0x2C,0xD7,0x34,0x23,0x2E,0xF7,0x34,0x83,0x27,0x09,0x7B,0x82,0x97, ++0x83,0x27,0x09,0x7C,0x82,0x97,0xB7,0x07,0xA0,0x00,0x83,0xA7,0x07,0x13,0xB7,0x05,0x00,0x04,0xFD,0x15,0xED,0x8F,0x33,0x8A,0x47,0x41,0xB3,0x75,0xBA,0x00,0x17,0x15, ++0x6E,0x00,0x13,0x05,0x25,0x30,0xEF,0xE0,0x7F,0xF9,0x83,0x20,0xC1,0x15,0x03,0x24,0x81,0x15,0x83,0x24,0x41,0x15,0x03,0x29,0x01,0x15,0x83,0x29,0xC1,0x14,0x03,0x2A, ++0x81,0x14,0x83,0x2A,0x41,0x14,0x03,0x2B,0x01,0x14,0x83,0x2B,0xC1,0x13,0x03,0x2C,0x81,0x13,0x83,0x2C,0x41,0x13,0x35,0x61,0x82,0x80,0x1D,0x69,0x13,0x09,0x09,0x22, ++0x79,0x4C,0x61,0xB3,0x2D,0x71,0x23,0x2C,0x81,0x10,0x17,0x14,0xFF,0xFF,0x13,0x04,0x64,0x11,0x83,0x27,0xC4,0x7B,0x23,0x2E,0x11,0x10,0x23,0x2A,0x91,0x10,0x23,0x28, ++0x21,0x11,0x23,0x26,0x31,0x11,0x23,0x24,0x41,0x11,0x23,0x22,0x51,0x11,0x2A,0x8A,0x23,0x20,0x61,0x11,0x05,0x45,0xAE,0x84,0xB2,0x89,0x82,0x97,0x83,0x27,0xC4,0x7F, ++0x6D,0x46,0x8D,0x45,0x52,0x85,0x82,0x97,0x83,0x27,0xC4,0x7B,0x0D,0x45,0x05,0x49,0x82,0x97,0x83,0x27,0x84,0x7F,0x48,0x00,0xB5,0x4A,0x82,0x97,0x92,0x47,0x9C,0xC0, ++0x93,0x07,0x09,0x08,0x3E,0xDC,0x83,0x27,0xC4,0x7E,0x4A,0xDA,0x02,0xD6,0x02,0xD8,0x23,0x0E,0x01,0x02,0x01,0x46,0x6C,0x00,0x68,0x10,0x05,0x09,0x82,0x97,0xE3,0x11, ++0x59,0xFF,0x05,0x49,0x05,0x4B,0xB5,0x4A,0x93,0x07,0x09,0x09,0x3E,0xDC,0x83,0x27,0xC4,0x7E,0x4A,0xDA,0x02,0xD6,0x5A,0xD8,0x23,0x0E,0x01,0x02,0x01,0x46,0x6C,0x00, ++0x68,0x10,0x05,0x09,0x82,0x97,0xE3,0x11,0x59,0xFF,0x83,0x27,0xC4,0x7B,0x09,0x45,0x82,0x97,0x0D,0x45,0xEF,0xF0,0xFF,0xA8,0xCE,0x86,0x68,0x08,0x1D,0x46,0x85,0x45, ++0xEF,0x70,0xAF,0xC1,0xF2,0x47,0x52,0x86,0x0A,0x85,0x23,0xA4,0xF4,0x1C,0x82,0x57,0x81,0x45,0x23,0xA6,0xF4,0x1C,0x92,0x57,0x23,0xA8,0xF4,0x1C,0xA2,0x57,0x23,0xAA, ++0xF4,0x1C,0x83,0x27,0x44,0x7F,0x82,0x97,0x85,0x67,0xBE,0x94,0x82,0x47,0xCE,0x86,0x88,0x00,0x23,0xAA,0xF4,0x96,0x83,0x27,0x04,0x7F,0x01,0x46,0x81,0x45,0x82,0x97, ++0x83,0x20,0xC1,0x11,0x03,0x24,0x81,0x11,0x83,0x24,0x41,0x11,0x03,0x29,0x01,0x11,0x83,0x29,0xC1,0x10,0x03,0x2A,0x81,0x10,0x83,0x2A,0x41,0x10,0x03,0x2B,0x01,0x10, ++0x15,0x61,0x82,0x80,0x13,0x01,0x01,0xD5,0x23,0x2C,0x41,0x29,0x93,0x07,0x30,0x20,0x17,0x1A,0xFF,0xFF,0x13,0x0A,0x0A,0xFF,0x23,0x1A,0xF1,0x00,0x83,0x27,0xCA,0x7B, ++0x23,0x26,0x11,0x2A,0x23,0x24,0x81,0x2A,0x23,0x22,0x91,0x2A,0x2A,0x84,0x23,0x20,0x21,0x2B,0x23,0x2E,0x31,0x29,0x23,0x2A,0x51,0x29,0x23,0x28,0x61,0x29,0x23,0x26, ++0x71,0x29,0x23,0x24,0x81,0x29,0x23,0x22,0x91,0x29,0x23,0x20,0xA1,0x29,0x23,0x2E,0xB1,0x27,0x05,0x45,0xB7,0x0D,0xA0,0x00,0xB6,0x84,0x3A,0x8B,0x32,0x89,0xAE,0x8A, ++0x83,0xA9,0x0D,0x13,0x82,0x97,0x83,0x27,0xCA,0x7F,0x6D,0x46,0x8D,0x45,0x22,0x85,0x82,0x97,0x83,0x27,0xCA,0x7B,0x09,0x45,0x97,0x2C,0xFF,0xFF,0x93,0x8C,0x8C,0xF8, ++0x82,0x97,0x93,0x87,0xEA,0xFF,0x93,0xBB,0x17,0x00,0x9C,0x1C,0xDE,0x97,0x03,0xC8,0x47,0xDA,0x37,0x0C,0x00,0x04,0x7D,0x1C,0x42,0x85,0x42,0xC6,0xEF,0xF0,0x7F,0x98, ++0x83,0xA7,0x0C,0x80,0xDA,0x86,0x1D,0x46,0x85,0x45,0x68,0x08,0x82,0x97,0x03,0xAD,0x0D,0x13,0xB3,0xF9,0x89,0x01,0x17,0x15,0x6E,0x00,0x13,0x05,0xA5,0x0A,0x33,0x7D, ++0x8D,0x01,0xB3,0x05,0x3D,0x41,0xB3,0xF5,0x85,0x01,0xEF,0xE0,0x3F,0xD7,0x93,0x97,0x14,0x00,0x72,0x47,0xDE,0x97,0x92,0x07,0xCA,0x97,0x23,0xA4,0xE7,0x18,0x02,0x57, ++0xA2,0x85,0x68,0x10,0x23,0xA6,0xE7,0x18,0x12,0x57,0x23,0xA8,0xE7,0x18,0x22,0x57,0x23,0xAA,0xE7,0x18,0xEF,0x80,0x9F,0xDF,0x83,0x46,0x81,0x03,0x42,0x56,0xB2,0x55, ++0x1D,0x47,0x68,0x10,0xEF,0x80,0x6F,0xB4,0x52,0x57,0x32,0x48,0x93,0x87,0x54,0x0D,0x92,0x07,0xCA,0x97,0xD8,0xC7,0x42,0x85,0xEF,0xF0,0xBF,0x90,0x83,0xA7,0x8C,0x80, ++0x9D,0x45,0x1D,0x45,0x82,0x97,0x83,0x27,0x0A,0x7F,0x81,0x46,0x05,0x46,0x85,0x45,0xE8,0x18,0x82,0x97,0x83,0xAB,0x0D,0x13,0x17,0x15,0x6E,0x00,0x13,0x05,0x45,0x03, ++0xB3,0xFB,0x8B,0x01,0xB3,0x85,0xAB,0x41,0xB3,0xF5,0x85,0x01,0xEF,0xE0,0x1F,0xCF,0x13,0x06,0x00,0x09,0x85,0x45,0x13,0x05,0xA0,0x03,0xEF,0x80,0x4F,0x88,0x83,0xA7, ++0x4C,0x80,0x93,0x05,0xA0,0x03,0xA8,0x1A,0x82,0x97,0x93,0x07,0x40,0x17,0xB3,0x87,0xF4,0x02,0x03,0x27,0x01,0x1F,0x34,0x1A,0xCA,0x97,0x23,0xAE,0xE7,0x30,0xF8,0x19, ++0x70,0x5F,0x11,0x07,0x91,0x07,0x23,0xA0,0xC7,0x2A,0x03,0x26,0x47,0x0B,0x23,0xAE,0xC7,0x2C,0xE3,0x17,0xD7,0xFE,0x83,0xA7,0xCC,0x80,0x37,0x0D,0xA0,0x00,0x37,0x0C, ++0x00,0x04,0x82,0x97,0x83,0x2C,0x0D,0x13,0x7D,0x1C,0x17,0x15,0x6E,0x00,0x13,0x05,0x25,0xFD,0xB3,0xFC,0x8C,0x01,0xB3,0x85,0x7C,0x41,0xB3,0xF5,0x85,0x01,0xEF,0xE0, ++0xFF,0xC7,0x97,0xF7,0x6D,0x00,0x83,0xC7,0x17,0x51,0x63,0x94,0x07,0x10,0x83,0x27,0x4A,0x7F,0x22,0x86,0x81,0x45,0x28,0x08,0x82,0x97,0x62,0x47,0x93,0x87,0x84,0x25, ++0x8A,0x07,0xCA,0x97,0xD8,0xC7,0x83,0x25,0x0D,0x13,0x17,0x15,0x6E,0x00,0x13,0x05,0xE5,0xF9,0x13,0x94,0x6A,0x00,0xB3,0xFB,0x85,0x01,0xB3,0x85,0x9B,0x41,0xB3,0xF5, ++0x85,0x01,0xEF,0xE0,0xBF,0xC3,0x83,0x27,0x0A,0x7F,0x78,0x18,0x33,0x05,0x87,0x00,0xDA,0x86,0x01,0x46,0xD6,0x85,0x82,0x97,0x83,0x25,0x0D,0x13,0x17,0x15,0x6E,0x00, ++0x13,0x05,0x85,0xF7,0xB3,0xF5,0x85,0x01,0xB3,0x85,0x75,0x41,0xB3,0xF5,0x85,0x01,0xEF,0xE0,0xDF,0xC0,0x8D,0x47,0xB3,0x84,0xF4,0x02,0xD6,0x94,0x13,0x97,0x64,0x00, ++0xB3,0x07,0xE9,0x00,0x05,0x67,0x3E,0x97,0x9C,0x1C,0xA2,0x97,0x83,0xA6,0xC7,0xDC,0x93,0x84,0x74,0x02,0x9A,0x04,0x23,0x2A,0xD7,0x98,0x83,0xA6,0x07,0xDD,0xCA,0x94, ++0x23,0x2C,0xD7,0x98,0x83,0xA6,0x47,0xDD,0x23,0x2E,0xD7,0x98,0x83,0xA6,0x87,0xDD,0x23,0x20,0xD7,0x9A,0x83,0xA6,0xC7,0xDD,0x23,0x22,0xD7,0x9A,0x83,0xA6,0x07,0xDE, ++0x23,0x24,0xD7,0x9A,0x83,0xA6,0x47,0xDE,0x23,0x26,0xD7,0x9A,0x83,0xA6,0x87,0xDE,0x23,0x28,0xD7,0x9A,0x83,0xA6,0xC7,0xDE,0x23,0x2A,0xD7,0x9A,0x83,0xA6,0x07,0xDF, ++0x23,0x2C,0xD7,0x9A,0x83,0xA6,0x47,0xDF,0x23,0x2E,0xD7,0x9A,0x83,0xA6,0x87,0xDF,0x23,0x20,0xD7,0x9C,0x83,0xA6,0xC7,0xDF,0xD4,0xC0,0x83,0xA6,0x07,0xE0,0x23,0x24, ++0xD7,0x9C,0x83,0xA6,0x47,0xE0,0x83,0xA7,0x87,0xE0,0x23,0x26,0xD7,0x9C,0x23,0x28,0xF7,0x9C,0x83,0x27,0x0A,0x7B,0x82,0x97,0x83,0x27,0x0A,0x7C,0x82,0x97,0xB7,0x07, ++0xA0,0x00,0x83,0xA7,0x07,0x13,0xB7,0x05,0x00,0x04,0xFD,0x15,0xED,0x8F,0xB3,0x89,0x37,0x41,0xB3,0xF5,0xB9,0x00,0x17,0x15,0x6E,0x00,0x13,0x05,0xA5,0xEA,0xEF,0xE0, ++0xFF,0xB3,0x83,0x20,0xC1,0x2A,0x03,0x24,0x81,0x2A,0x83,0x24,0x41,0x2A,0x03,0x29,0x01,0x2A,0x83,0x29,0xC1,0x29,0x03,0x2A,0x81,0x29,0x83,0x2A,0x41,0x29,0x03,0x2B, ++0x01,0x29,0x83,0x2B,0xC1,0x28,0x03,0x2C,0x81,0x28,0x83,0x2C,0x41,0x28,0x03,0x2D,0x01,0x28,0x83,0x2D,0xC1,0x27,0x13,0x01,0x01,0x2B,0x82,0x80,0x81,0x47,0x63,0xC3, ++0xB7,0x00,0x82,0x80,0x18,0x41,0x54,0x41,0x85,0x07,0x21,0x05,0x14,0xC3,0xC5,0xBF,0x01,0x11,0x93,0x05,0x70,0x07,0x17,0xF5,0x6D,0x00,0x13,0x05,0x25,0x53,0x06,0xCE, ++0xF1,0x3F,0xEF,0x10,0x3F,0xA1,0x97,0x17,0xFF,0xFF,0x93,0x87,0xA7,0xC9,0x83,0xA7,0x87,0x42,0x68,0x00,0x82,0x97,0xB2,0x45,0x17,0x15,0x6E,0x00,0x13,0x05,0x45,0xE3, ++0xEF,0xE0,0xDF,0xAB,0x32,0x47,0x93,0x07,0xF0,0x04,0x85,0x45,0x63,0xE3,0xE7,0x00,0x81,0x45,0x05,0x45,0xEF,0x80,0x3F,0xE1,0x97,0xD7,0x6D,0x00,0x93,0x87,0xC7,0x48, ++0x9C,0x43,0xB7,0x05,0x00,0x10,0x85,0x05,0x13,0x05,0x00,0x04,0x82,0x97,0xEF,0x10,0xFF,0xEC,0xF2,0x40,0x05,0x61,0x82,0x80,0x41,0x11,0x06,0xC6,0x22,0xC4,0x49,0x3F, ++0x01,0x46,0x97,0x05,0x6E,0x00,0x93,0x85,0xE5,0x87,0x21,0x45,0xEF,0xF0,0x0F,0xF4,0x01,0x46,0x97,0x05,0x6E,0x00,0x93,0x85,0xE5,0xC5,0x13,0x05,0x40,0x06,0xEF,0xF0, ++0x7F,0xB0,0x17,0x14,0xFF,0xFF,0x13,0x04,0xE4,0xC1,0x83,0x27,0x04,0x7B,0x82,0x97,0x83,0x27,0x04,0x7C,0x82,0x97,0x03,0x23,0x44,0x32,0x22,0x44,0xB2,0x40,0x41,0x01, ++0x02,0x83,0x41,0x11,0x93,0x05,0x70,0x07,0x17,0xF5,0x6D,0x00,0x13,0x05,0x05,0x48,0x06,0xC6,0x2D,0x37,0x97,0xD7,0x6D,0x00,0x93,0x87,0x07,0x41,0xB2,0x40,0x03,0xA3, ++0x07,0x00,0xB7,0x05,0x00,0x10,0x85,0x05,0x13,0x05,0x00,0x04,0x41,0x01,0x02,0x83,0x97,0xD7,0x6D,0x00,0x93,0x87,0x87,0x3F,0x41,0x11,0x9C,0x43,0x26,0xC2,0x85,0x64, ++0x22,0xC4,0x06,0xC6,0x2A,0x84,0x13,0x85,0x84,0xC0,0x82,0x97,0x93,0x65,0x15,0x00,0x13,0x75,0x34,0x00,0x0A,0x05,0x8D,0x99,0x0E,0x04,0x41,0x88,0xC9,0x8D,0x97,0xD7, ++0x6D,0x00,0x93,0x87,0x67,0x3C,0xC1,0x8D,0x22,0x44,0xB2,0x40,0x03,0xA3,0x07,0x00,0x13,0x85,0x84,0xC0,0x92,0x44,0x41,0x01,0x02,0x83,0x93,0x07,0xF5,0xFF,0x93,0xF7, ++0xF7,0x0F,0x35,0x47,0x63,0x60,0xF7,0x02,0x01,0xCA,0x01,0x46,0x17,0xF5,0x6D,0x00,0x13,0x05,0x45,0x7B,0x6F,0x30,0x4F,0xA9,0x17,0xF5,0x6D,0x00,0x13,0x05,0x85,0x7A, ++0x6F,0x30,0x7F,0xB9,0x05,0xC2,0x97,0xF7,0x6D,0x00,0x83,0xC7,0xB7,0x23,0x81,0x46,0x01,0x46,0x63,0x83,0xA7,0x00,0x05,0x46,0x17,0x05,0x6E,0x00,0x13,0x05,0x85,0xB7, ++0x6F,0x60,0x2F,0xAF,0x89,0x45,0x17,0x05,0x6E,0x00,0x13,0x05,0xA5,0xB6,0x6F,0x60,0xFF,0xCB,0x95,0x47,0x39,0x47,0xB3,0x07,0xF5,0x02,0x63,0x77,0xA7,0x0C,0x05,0x67, ++0x13,0x07,0x87,0x38,0xBA,0x97,0x81,0x46,0x13,0x07,0x80,0x02,0x13,0x0E,0x00,0x05,0x37,0xF8,0xA0,0x00,0x83,0x25,0xC8,0x84,0xB3,0xEE,0xE7,0x02,0xB7,0x08,0x00,0x02, ++0xFD,0x18,0x37,0x03,0x00,0xFE,0xB3,0xF5,0x65,0x00,0x13,0x96,0x9E,0x01,0x33,0x56,0xC6,0x03,0x33,0x07,0xD7,0x41,0x66,0x07,0x33,0x57,0xC7,0x03,0x33,0x86,0xC8,0x40, ++0x33,0x76,0x16,0x01,0x4D,0x8E,0x23,0x26,0xC8,0x84,0x03,0x26,0x08,0x85,0x33,0x76,0x66,0x00,0x33,0x77,0x17,0x01,0x51,0x8F,0x23,0x28,0xE8,0x84,0x13,0x07,0x20,0x06, ++0x23,0x2A,0xE8,0x82,0x37,0x27,0x08,0x00,0x13,0x07,0x27,0x08,0x23,0x2E,0xE8,0x82,0x37,0x07,0x0F,0x00,0x13,0x07,0xF7,0x0F,0x23,0x2A,0xE8,0x84,0x3D,0x47,0x23,0x2C, ++0xE8,0x84,0x37,0x07,0x00,0xC1,0x23,0x20,0xE8,0x84,0x39,0x47,0x63,0x72,0xA7,0x06,0x13,0x05,0x95,0x06,0x13,0x75,0xF5,0x0F,0xA9,0x47,0x63,0xE8,0xA7,0x00,0x93,0x07, ++0x50,0x41,0x33,0xD5,0xA7,0x00,0x05,0x89,0x1D,0xE5,0xB7,0xF6,0xA0,0x00,0x83,0xA7,0x06,0x84,0x37,0xE7,0xFD,0x2E,0x75,0x17,0xF9,0x8F,0x37,0x07,0x00,0x11,0x09,0x07, ++0xD9,0x8F,0x23,0xA0,0xF6,0x84,0x82,0x80,0x05,0x67,0x13,0x07,0x77,0x96,0xBA,0x97,0x93,0x36,0x45,0x00,0x15,0xBF,0x83,0x27,0x08,0x84,0x37,0xE7,0xFD,0x2E,0x75,0x17, ++0xF9,0x8F,0x37,0x07,0x00,0x01,0x09,0x07,0xD9,0x8F,0x23,0x20,0xF8,0x84,0x82,0x80,0x17,0xF6,0x6D,0x00,0x03,0x46,0x26,0x17,0x05,0x47,0x85,0x8A,0x63,0x14,0xE6,0x08, ++0x29,0x47,0x33,0x87,0xE7,0x02,0x17,0xF6,0x6D,0x00,0x03,0x56,0xE6,0x15,0x93,0x05,0x96,0xF3,0x63,0x49,0xB7,0x06,0x93,0x05,0x76,0x0C,0x63,0xC5,0xE5,0x06,0x59,0x57, ++0xB3,0x87,0xE7,0x02,0xB2,0x97,0x63,0xC4,0x07,0x04,0xE2,0x07,0x13,0x07,0x00,0x19,0xB3,0xD7,0xE7,0x02,0x37,0xF6,0xA0,0x00,0x03,0x27,0x46,0x84,0x9E,0x07,0xB7,0x05, ++0x00,0xFE,0x6D,0x8F,0x9D,0x83,0xD9,0x8F,0x23,0x22,0xF6,0x84,0x03,0x27,0x06,0x84,0xF9,0x77,0xFD,0x17,0xB6,0x06,0xF9,0x8F,0xD5,0x8F,0xB7,0x06,0xFE,0x2E,0x93,0x86, ++0xD6,0xCD,0xF5,0x8F,0x93,0xE7,0x27,0x30,0x23,0x20,0xF6,0x84,0x82,0x80,0x37,0x07,0x00,0xFF,0xB3,0x87,0xE7,0x02,0x13,0x07,0x00,0x19,0xB3,0xD7,0xE7,0x02,0xB3,0x87, ++0xF8,0x40,0x4D,0xBF,0x37,0xF6,0xA0,0x00,0x83,0x27,0x06,0x84,0x79,0x77,0x7D,0x17,0xF9,0x8F,0xB6,0x06,0x37,0x07,0xFE,0x2E,0x75,0x17,0xD5,0x8F,0xF9,0x8F,0x37,0x07, ++0x00,0x01,0x09,0x07,0xD9,0x8F,0xC9,0xB7,0xB7,0xE6,0xA0,0x00,0x83,0xA7,0x06,0x4F,0x01,0x11,0x52,0xC4,0x13,0xD7,0x87,0x01,0x37,0x0A,0x00,0x01,0x4A,0xC8,0x13,0x67, ++0x57,0x09,0x32,0x89,0x13,0x06,0xFA,0xFF,0x62,0x07,0xF1,0x8F,0x22,0xCC,0x26,0xCA,0x4E,0xC6,0xD9,0x8F,0x06,0xCE,0x23,0xA8,0xF6,0x4E,0xB7,0xF6,0xA0,0x00,0x83,0xA7, ++0xC6,0x82,0x13,0x74,0xF5,0x0F,0x7D,0x15,0x13,0xE7,0x17,0x01,0x13,0x77,0xF7,0x0F,0x93,0xF7,0x07,0xF0,0xD9,0x8F,0x23,0xA6,0xF6,0x82,0x35,0x47,0x97,0xD7,0x6D,0x00, ++0x93,0x87,0xC7,0x14,0xAE,0x84,0x9C,0x43,0x97,0xD9,0x6D,0x00,0x93,0x89,0xC9,0x13,0x63,0x63,0xA7,0x04,0x21,0x45,0x82,0x97,0x83,0xA7,0x09,0x00,0xB3,0x65,0x45,0x01, ++0x21,0x45,0x82,0x97,0x15,0x45,0xEF,0x10,0x4F,0xD3,0x6D,0x46,0x8D,0x45,0x22,0x85,0xEF,0x30,0x5F,0xA4,0x22,0x85,0x75,0x3B,0x4A,0x86,0xA6,0x85,0x22,0x85,0xB1,0x3B, ++0x26,0x85,0x39,0x33,0x62,0x44,0xF2,0x40,0xD2,0x44,0x42,0x49,0xB2,0x49,0x22,0x4A,0x05,0x61,0x6F,0x10,0xCF,0xDF,0x21,0x45,0x82,0x97,0x83,0xA7,0x09,0x00,0xB7,0x05, ++0x00,0xFF,0xFD,0x15,0xE9,0x8D,0x21,0x45,0x82,0x97,0x05,0x45,0xEF,0x10,0xEF,0xCE,0x6D,0x46,0x8D,0x45,0x22,0x85,0xEF,0x60,0xFF,0xC4,0x6D,0xBF,0xB7,0x57,0xA0,0x00, ++0x83,0xA6,0x07,0x91,0x7D,0x76,0x41,0x11,0xF1,0x8E,0x22,0xC4,0x06,0xC6,0x93,0xE6,0x96,0x28,0x23,0xA8,0xD7,0x90,0x03,0xA7,0x87,0x91,0x71,0x8F,0x13,0x67,0xC7,0x26, ++0x23,0xAC,0xE7,0x90,0x83,0xA6,0xC7,0x91,0x37,0x17,0x00,0xFF,0x13,0x06,0xF7,0xFF,0xF1,0x8E,0x37,0xE7,0x1C,0x00,0xD9,0x8E,0x23,0xAE,0xD7,0x90,0x03,0xA7,0x47,0x91, ++0xB7,0x66,0x1E,0x00,0x71,0x8F,0x55,0x8F,0x23,0xAA,0xE7,0x90,0x03,0xA4,0x07,0x94,0x93,0x07,0x80,0x28,0x42,0x04,0x41,0x80,0x11,0x80,0x63,0xFB,0x87,0x02,0x85,0x45, ++0x01,0x45,0xEF,0x80,0x5F,0x9E,0x93,0x07,0x00,0x02,0x93,0xE7,0x07,0x04,0xB7,0x56,0xA0,0x00,0x03,0xA7,0x46,0x90,0xB2,0x40,0x22,0x44,0x13,0x56,0x87,0x01,0xD1,0x8F, ++0x22,0x07,0xE2,0x07,0x21,0x83,0xD9,0x8F,0x23,0xA2,0xF6,0x90,0x41,0x01,0x82,0x80,0x13,0x07,0xC0,0x26,0x81,0x47,0x63,0x67,0x87,0x00,0x81,0x45,0x01,0x45,0xEF,0x80, ++0x9F,0x9A,0x89,0x47,0x13,0x07,0x50,0x1E,0xE3,0x61,0x87,0xFC,0x13,0x07,0xE0,0x1C,0xE3,0x6F,0x87,0xFA,0x93,0xE7,0x47,0x00,0x5D,0xBF,0x01,0x11,0x02,0xC6,0xB7,0x57, ++0xA0,0x00,0x22,0xCC,0x03,0xA4,0xC7,0x90,0x06,0xCE,0x11,0xE0,0x79,0x44,0x97,0x07,0xFF,0xFF,0x93,0x87,0x27,0x7D,0x83,0xA7,0x87,0x42,0x68,0x00,0x82,0x97,0xB2,0x45, ++0x17,0x15,0x6E,0x00,0x13,0x05,0x85,0x97,0xEF,0xE0,0x4F,0xDF,0xA9,0x45,0x33,0x04,0xB4,0x02,0x91,0x45,0xB7,0x57,0xA0,0x00,0x83,0xA7,0x07,0x94,0x59,0x47,0xC2,0x07, ++0xC1,0x83,0x91,0x83,0x3E,0xC6,0x33,0x44,0xB4,0x02,0xB3,0x85,0x87,0x00,0x93,0x86,0x15,0xE3,0x81,0x8F,0x63,0x64,0xD7,0x00,0x93,0x05,0x60,0x1E,0x13,0x87,0x17,0xE3, ++0xD9,0x46,0x63,0xE4,0xE6,0x00,0x93,0x07,0xE0,0x1C,0x37,0x57,0xA0,0x00,0x03,0x26,0x07,0x91,0xB7,0x16,0x00,0xFF,0xFD,0x16,0x33,0x75,0xD6,0x00,0x13,0x96,0xC5,0x00, ++0x49,0x8E,0x23,0x28,0xC7,0x90,0x03,0x26,0x87,0x91,0xC2,0x05,0xDD,0x8D,0x75,0x8E,0x93,0x96,0xC7,0x00,0xD1,0x8E,0x23,0x2C,0xD7,0x90,0x17,0x15,0x6E,0x00,0x13,0x05, ++0xE5,0x8F,0xEF,0xE0,0xAF,0xD7,0xF2,0x40,0x62,0x44,0x01,0x45,0x05,0x61,0x82,0x80,0xB7,0x56,0xA0,0x00,0x83,0xA7,0x46,0x90,0x37,0x87,0xFF,0x00,0x13,0x07,0x07,0x81, ++0xF9,0x8F,0x37,0x87,0x00,0x11,0x41,0x11,0x13,0x07,0xB7,0x6E,0x06,0xC6,0xD9,0x8F,0x23,0xA2,0xF6,0x90,0x97,0x07,0xFF,0xFF,0x93,0x87,0xC7,0x70,0x83,0xA7,0x47,0x42, ++0x05,0x65,0x13,0x05,0x85,0x38,0x82,0x97,0x09,0x3F,0x89,0x3D,0xB2,0x40,0x01,0x45,0x41,0x01,0x82,0x80,0x97,0xF7,0x6D,0x00,0x83,0xC7,0xF7,0xDB,0xAD,0xEF,0x41,0x11, ++0x4A,0xC0,0x17,0xC9,0x6D,0x00,0x13,0x09,0xE9,0x6D,0x26,0xC2,0x83,0x24,0x89,0x4C,0x83,0x27,0x89,0x4C,0x06,0xC6,0x22,0xC4,0x03,0xC4,0x07,0x00,0x13,0x06,0x00,0x02, ++0x81,0x45,0x0D,0x88,0x16,0x04,0x13,0x05,0x44,0x00,0x26,0x95,0xEF,0xF0,0x4D,0xD4,0x03,0x27,0x89,0x4C,0x26,0x94,0x95,0x47,0x23,0x02,0xF4,0x00,0x93,0x07,0x00,0x02, ++0x23,0x03,0xF4,0x00,0x83,0x47,0x07,0x00,0x13,0x05,0x00,0x40,0x85,0x07,0x23,0x00,0xF7,0x00,0x97,0x07,0xFF,0xFF,0x93,0x87,0xE7,0x68,0x83,0xA7,0xC7,0x18,0x82,0x97, ++0xB2,0x40,0x22,0x44,0x85,0x47,0x17,0xF7,0x6D,0x00,0xA3,0x06,0xF7,0xD4,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80,0x82,0x80,0x97,0xF5,0x6D,0x00,0x83,0xC5,0xB5,0xD3, ++0xDD,0xC1,0x97,0xB7,0x6D,0x00,0x83,0xC7,0xF7,0xA5,0xD1,0xEF,0x97,0xF6,0x6D,0x00,0x93,0x86,0x46,0xD2,0xDC,0x42,0xC1,0xCB,0x37,0xD7,0xA0,0x00,0x03,0x26,0xC7,0x0F, ++0x03,0x27,0x87,0x0F,0xB4,0x52,0x5A,0x06,0x29,0x83,0x93,0x86,0x46,0x1F,0x51,0x8F,0x63,0x71,0xD7,0x02,0x97,0xF7,0x6D,0x00,0xA3,0x8F,0x07,0xCE,0x97,0x07,0xFF,0xFF, ++0x93,0x87,0x47,0x62,0x03,0xA3,0xC7,0x4B,0x17,0x05,0x6E,0x00,0x13,0x05,0xC5,0x7D,0x02,0x83,0x09,0x47,0x63,0x99,0xE5,0x04,0x13,0x97,0x07,0x01,0x79,0x71,0x41,0x83, ++0x02,0xC8,0x3A,0xCC,0x13,0xD7,0x07,0x01,0xE1,0x83,0x02,0xCE,0xA3,0x09,0xE1,0x00,0xA3,0x08,0xF1,0x00,0x02,0xCA,0xB7,0xB7,0xA0,0x00,0x83,0xA7,0xC7,0x22,0x0C,0x08, ++0x41,0x46,0x3E,0xCE,0x0A,0x85,0x9D,0x47,0x06,0xD6,0x23,0x09,0xF1,0x00,0xEF,0xF0,0x6D,0xC4,0x0A,0x85,0xEF,0xC0,0x2F,0x8F,0xB2,0x50,0x97,0xF7,0x6D,0x00,0xA3,0x8C, ++0x07,0xC8,0x45,0x61,0x82,0x80,0x82,0x80,0x41,0x11,0x37,0x57,0xA0,0x00,0x22,0xC4,0x03,0x24,0x47,0x90,0x83,0x25,0x47,0x94,0x26,0xC2,0x93,0x54,0x84,0x01,0x93,0xC7, ++0xF5,0xFF,0xE5,0x8F,0x42,0x04,0x4A,0xC0,0xE2,0x07,0x13,0xF9,0xF5,0x0F,0x41,0x80,0x5D,0x8C,0x93,0x16,0x09,0x01,0x06,0xC6,0x55,0x8C,0xCA,0x85,0x23,0x22,0x87,0x90, ++0x17,0x05,0x6E,0x00,0x13,0x05,0x45,0x75,0xEF,0xE0,0x4F,0xBB,0x93,0x77,0x29,0x00,0x85,0x45,0x89,0xE7,0x93,0x77,0x09,0x02,0x91,0xCB,0x81,0x45,0x22,0x44,0xB2,0x40, ++0x92,0x44,0x02,0x49,0x01,0x45,0x41,0x01,0x6F,0x80,0xEF,0xEF,0x93,0x77,0x49,0x00,0x85,0xCB,0xED,0x98,0x93,0xE4,0x04,0x04,0x8D,0x33,0xA9,0x3D,0xB7,0x07,0x01,0xFF, ++0xFD,0x17,0x7D,0x8C,0x22,0x04,0xE2,0x04,0x21,0x80,0x45,0x8C,0xB7,0x57,0xA0,0x00,0x23,0xA2,0x87,0x90,0xB2,0x40,0x22,0x44,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80, ++0x13,0x79,0x09,0x04,0xE3,0x0A,0x09,0xFC,0x93,0xF4,0xF4,0x0B,0x93,0xE4,0x44,0x00,0xE1,0xB7,0x97,0x07,0xFF,0xFF,0x93,0x87,0xE7,0x50,0x83,0xA7,0xC7,0x42,0x01,0x11, ++0x06,0xCE,0x2A,0xC6,0x82,0x97,0xB7,0x57,0xA0,0x00,0x83,0xA6,0x07,0x94,0x93,0x07,0x80,0x3E,0x13,0x07,0x50,0x19,0xC2,0x06,0xC1,0x82,0xB3,0x86,0xF6,0x02,0xB7,0xB7, ++0x07,0x00,0x93,0x87,0x87,0x4A,0x32,0x45,0xC1,0x82,0xB3,0x87,0xF6,0x02,0xB3,0x86,0xE6,0x02,0x61,0x67,0x13,0x07,0x07,0x6A,0xBA,0x96,0xB3,0xD7,0xD7,0x02,0x89,0x66, ++0x93,0x86,0xE6,0xC6,0x37,0xF7,0x29,0x00,0xB3,0x86,0xD7,0x02,0x93,0x07,0x77,0xA7,0x63,0xFD,0xD7,0x02,0xB7,0x17,0xD6,0xFF,0x93,0x87,0x87,0x58,0xBE,0x96,0xA9,0x47, ++0xB3,0xD7,0xF6,0x02,0x81,0x46,0x13,0x06,0x80,0x3E,0x33,0xD7,0xC7,0x02,0xB3,0xF7,0xC7,0x02,0x13,0x06,0x40,0x1F,0x63,0x73,0xF6,0x00,0x05,0x07,0x99,0xC2,0x33,0x07, ++0xE0,0x40,0xF2,0x40,0x18,0xC1,0x05,0x61,0x82,0x80,0x93,0x07,0x87,0xA7,0x95,0x8F,0x29,0x47,0xB3,0xD7,0xE7,0x02,0x85,0x46,0xF9,0xB7,0x41,0x11,0x22,0xC4,0x32,0x84, ++0x06,0xC6,0xEF,0xD0,0x9D,0xF8,0x09,0xEC,0x17,0xF7,0x6D,0x00,0x03,0x47,0x97,0xB3,0xB9,0x47,0x63,0xF7,0xE7,0x00,0x85,0x47,0x17,0xF7,0x6D,0x00,0x23,0x0E,0xF7,0xB2, ++0xB2,0x40,0x22,0x44,0x41,0x01,0x82,0x80,0x41,0x11,0x26,0xC2,0xAE,0x84,0x06,0xC6,0x22,0xC4,0x4A,0xC0,0xEF,0xE0,0xAD,0x8E,0x85,0xE4,0x17,0xB7,0x6D,0x00,0x03,0x47, ++0x67,0x83,0x89,0x47,0x63,0x0E,0xF7,0x00,0x97,0xF7,0x6D,0x00,0x23,0xA6,0x07,0xAE,0x97,0xF7,0x6D,0x00,0xA3,0x88,0x07,0xAE,0x97,0xF7,0x6D,0x00,0x23,0x9E,0x07,0xAE, ++0x93,0x07,0x00,0x18,0xB3,0x87,0xF4,0x02,0x17,0xA7,0x6D,0x00,0x13,0x07,0x87,0x3F,0xBA,0x97,0x03,0xC4,0x07,0x41,0x85,0x47,0x13,0x74,0xF4,0x0F,0x63,0x14,0xF4,0x02, ++0x17,0x09,0xFF,0xFF,0x13,0x09,0x09,0x3E,0x83,0x27,0x09,0x2F,0x82,0x97,0x97,0xF7,0x6D,0x00,0xA3,0x8D,0x87,0xAA,0x83,0x27,0xC9,0x2E,0x82,0x97,0x97,0xF7,0x6D,0x00, ++0xA3,0x8D,0x97,0xAA,0xB2,0x40,0x22,0x44,0x92,0x44,0x02,0x49,0x41,0x01,0x82,0x80,0x97,0x07,0xFF,0xFF,0x93,0x87,0x07,0x3B,0x83,0xA7,0xC7,0x60,0x41,0x11,0x06,0xC6, ++0x82,0x97,0xB2,0x40,0x05,0x81,0x3D,0x89,0x41,0x01,0x82,0x80,0x41,0x11,0x22,0xC4,0x17,0x04,0xFF,0xFF,0x13,0x04,0x04,0x39,0x83,0x27,0x04,0x2F,0x06,0xC6,0x26,0xC2, ++0x4A,0xC0,0xAA,0x84,0x82,0x97,0x2A,0x89,0x26,0x85,0xEF,0x00,0x3F,0xCA,0x83,0x27,0xC4,0x2E,0xAA,0x84,0x4A,0x85,0x82,0x97,0xB2,0x40,0x22,0x44,0x26,0x85,0x02,0x49, ++0x92,0x44,0x41,0x01,0x82,0x80,0x01,0x11,0x22,0xCC,0x17,0x04,0xFF,0xFF,0x13,0x04,0x64,0x35,0x83,0x27,0x04,0x2F,0x06,0xCE,0x26,0xCA,0x4A,0xC8,0x2E,0xC6,0x2A,0x89, ++0x82,0x97,0xB2,0x45,0xAA,0x84,0x4A,0x85,0xEF,0x00,0x5F,0xC9,0x03,0x23,0xC4,0x2E,0x62,0x44,0xF2,0x40,0x42,0x49,0x26,0x85,0xD2,0x44,0x05,0x61,0x02,0x83,0x97,0x07, ++0x6E,0x00,0x93,0x87,0x67,0x0F,0x37,0xE7,0xB3,0x00,0x98,0xC3,0x37,0xF7,0xB3,0x00,0xD8,0xC3,0x82,0x80,0x41,0x11,0x06,0xC6,0x22,0xC4,0x97,0xC7,0x6D,0x00,0x93,0x87, ++0xA7,0xF6,0x17,0xC4,0x6D,0x00,0x13,0x04,0xE4,0x2F,0x3C,0xDC,0x28,0x5C,0x13,0x06,0x40,0x41,0x81,0x45,0xEF,0xF0,0xCD,0x97,0x38,0x5C,0x3C,0x5C,0xB7,0x06,0xF8,0xFF, ++0xFD,0x16,0x23,0xA0,0xE7,0x40,0x38,0x5C,0x3C,0x5C,0x23,0xA2,0xE7,0x40,0x38,0x5C,0xF1,0x67,0x93,0x87,0x07,0x20,0x23,0x26,0xF7,0x40,0x3C,0x5C,0x17,0xE7,0xFE,0xFF, ++0x13,0x07,0x87,0x8B,0x23,0xA8,0xE7,0x40,0xB7,0x57,0xA0,0x00,0x03,0xA7,0x87,0xC0,0x75,0x8F,0x23,0xA4,0xE7,0xC0,0x38,0x5C,0x03,0x27,0xC7,0x40,0x93,0x16,0x27,0x00, ++0x37,0xB7,0xC4,0x04,0x13,0x07,0x07,0x40,0x33,0x57,0xD7,0x02,0x85,0x66,0x23,0xA4,0xE7,0xC0,0x03,0xA7,0x87,0xC0,0x55,0x8F,0x23,0xA4,0xE7,0xC0,0x03,0xA7,0x87,0xC0, ++0xB7,0x06,0xC0,0x01,0x55,0x8F,0x23,0xA4,0xE7,0xC0,0x03,0xA7,0x87,0xC0,0xB7,0x06,0x40,0xFE,0xFD,0x16,0x75,0x8F,0x23,0xA4,0xE7,0xC0,0x38,0x5C,0x17,0x04,0xFF,0xFF, ++0x13,0x04,0x44,0x26,0x83,0x27,0xC4,0x4B,0x03,0x25,0x07,0x41,0x82,0x97,0x83,0x27,0x44,0x54,0x81,0x45,0x01,0x45,0x82,0x97,0x22,0x44,0xB2,0x40,0x41,0x01,0x05,0xB7, ++0x97,0xC6,0x6D,0x00,0x93,0x86,0x06,0x24,0x03,0xA7,0x86,0x4C,0x83,0xA7,0x86,0x4C,0x13,0x05,0x00,0x40,0x83,0xC7,0x07,0x00,0x8D,0x8B,0x96,0x07,0x91,0x07,0xBA,0x97, ++0x1D,0x47,0x23,0x80,0xE7,0x00,0x11,0x47,0xA3,0x80,0x07,0x00,0xA3,0x81,0x07,0x00,0x23,0x81,0xE7,0x00,0x03,0xA7,0x86,0x4C,0x83,0x47,0x07,0x00,0x85,0x07,0x23,0x00, ++0xF7,0x00,0x97,0x07,0xFF,0xFF,0x93,0x87,0xE7,0x1F,0x03,0xA3,0xC7,0x18,0x02,0x83,0x41,0x11,0x22,0xC4,0x17,0xC4,0x6D,0x00,0x13,0x04,0xC4,0x1E,0x38,0x5C,0x3C,0x5C, ++0x06,0xC6,0x03,0x27,0x07,0x40,0x83,0xA7,0x47,0x40,0x63,0x06,0xF7,0x02,0x97,0xF7,0x6D,0x00,0x83,0xC7,0x57,0x8B,0xBD,0xEF,0xB7,0x57,0xA0,0x00,0x83,0xA7,0xC7,0xC0, ++0x37,0x56,0xA0,0x00,0xA1,0x83,0x13,0xF7,0xF7,0x0F,0x93,0x07,0x00,0x08,0x99,0x8F,0x3D,0x47,0x63,0x6E,0xF7,0x02,0xB2,0x40,0x22,0x44,0x41,0x01,0x82,0x80,0x34,0x5C, ++0x03,0xA7,0x06,0x40,0x93,0x05,0x17,0x00,0x23,0xA0,0xB6,0x40,0x03,0x47,0x07,0x00,0x23,0x20,0xE6,0xC0,0x34,0x5C,0x38,0x5C,0x83,0xA6,0x06,0x40,0x13,0x07,0x07,0x40, ++0x63,0x96,0xE6,0x00,0x34,0x5C,0x38,0x5C,0x23,0x20,0xD7,0x40,0xFD,0x17,0x34,0x5C,0x38,0x5C,0x83,0xA6,0x06,0x40,0x03,0x27,0x47,0x40,0x63,0x83,0xE6,0x00,0xE1,0xF3, ++0x37,0x57,0xA0,0x00,0x83,0x27,0x87,0xC0,0xB7,0x06,0x00,0x10,0xD5,0x8F,0x23,0x24,0xF7,0xC0,0x55,0xB7,0x17,0xF7,0x6D,0x00,0x03,0x47,0x27,0x83,0x85,0x47,0x63,0x1F, ++0xF7,0x04,0x97,0xF7,0x6D,0x00,0x83,0xC7,0x37,0x82,0xB1,0xE3,0x38,0x5C,0x97,0x07,0x6E,0x00,0x93,0x87,0x67,0xF0,0xDC,0x43,0x03,0x27,0x07,0x40,0x93,0x87,0x07,0x80, ++0x63,0x77,0xF7,0x00,0x38,0x5C,0x03,0x27,0x47,0x40,0x63,0x7C,0xF7,0x00,0x38,0x5C,0x03,0x27,0x07,0x40,0x63,0x6D,0xF7,0x00,0x38,0x5C,0x03,0x27,0x47,0x40,0x63,0x78, ++0xF7,0x00,0x7D,0x3D,0x85,0x47,0x17,0xE7,0x6D,0x00,0xA3,0x0F,0xF7,0x7C,0x38,0x5C,0x3C,0x5C,0x03,0x27,0x47,0x40,0x23,0xA0,0xE7,0x40,0x35,0xBF,0x3C,0x5C,0x03,0xA7, ++0x47,0x40,0x97,0x07,0x6E,0x00,0x93,0x87,0x27,0xEB,0xD4,0x43,0x15,0x07,0x63,0xFC,0xE6,0x00,0x38,0x5C,0x03,0x27,0x47,0x40,0xD4,0x43,0x63,0x61,0xD7,0x02,0x38,0x5C, ++0x9C,0x43,0x23,0x22,0xF7,0x40,0x3C,0x5C,0x15,0x46,0x97,0x05,0x6E,0x00,0x93,0x85,0x25,0xE9,0x03,0xA5,0x47,0x40,0xEF,0xE0,0xFD,0xF1,0x55,0xBF,0x23,0x00,0x07,0x00, ++0x05,0x07,0xD9,0xBF,0x17,0xC7,0x6D,0x00,0x13,0x07,0xC7,0x09,0x3C,0x5F,0x97,0xE6,0x6D,0x00,0x83,0xC6,0x56,0x77,0x13,0xF6,0xF6,0xF7,0x83,0xA7,0x47,0x40,0x85,0x07, ++0x0D,0xE6,0x34,0x5F,0x93,0x86,0x06,0x40,0x63,0x93,0xD7,0x00,0x3C,0x5F,0x34,0x5F,0x83,0xA6,0x06,0x40,0x63,0x8A,0xF6,0x00,0x34,0x5F,0x83,0xA6,0x46,0x40,0x23,0x80, ++0xA6,0x00,0x38,0x5F,0x23,0x22,0xF7,0x40,0x82,0x80,0xE2,0x06,0xE1,0x86,0xE3,0xCD,0x06,0xFE,0x97,0x06,0x6E,0x00,0x93,0x86,0x26,0xE2,0xD0,0x42,0xE3,0x19,0xF6,0xFC, ++0x9C,0x42,0xF1,0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++}; ++static unsigned char fwDCCM[] = { ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+}; -+static unsigned char fwDCCM[] = { +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -14510,161 +14344,136 @@ index 000000000000..b9661763dbcc +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0xF0,0x01,0xA0,0x00,0xFC,0x01,0xA0,0x00,0x00,0x02,0xA0,0x00,0x04,0x02,0xA0,0x00,0xF4,0x01,0xA0,0x00,0xE4,0x01,0xA0,0x00,0x34,0x02,0xA0,0x00,0xE0,0x01,0xA0,0x00, -+0x34,0x01,0xA0,0x00,0x44,0x02,0xA0,0x00,0x58,0x02,0xA0,0x00,0x0C,0x00,0xA0,0x00,0x04,0x00,0xA0,0x00,0x90,0x00,0xA0,0x00,0x94,0x00,0xA0,0x00,0x1C,0x00,0xA0,0x00, -+0x20,0x00,0xA0,0x00,0x3C,0x00,0xA0,0x00,0x40,0x00,0xA0,0x00,0x24,0x00,0xA0,0x00,0x28,0x00,0xA0,0x00,0x44,0x00,0xA0,0x00,0x48,0x00,0xA0,0x00,0x78,0x01,0xA0,0x00, -+0x40,0x01,0xA0,0x00,0x44,0x01,0xA0,0x00,0xFC,0x00,0xA0,0x00,0xB0,0x00,0xA0,0x00,0xB4,0x00,0xA0,0x00,0x28,0x01,0xA0,0x00,0xC0,0x00,0xA0,0x00,0xC4,0x00,0xA0,0x00, -+0xC8,0x00,0xA0,0x00,0xCC,0x00,0xA0,0x00,0xD0,0x00,0xA0,0x00,0xD4,0x00,0xA0,0x00,0xD8,0x00,0xA0,0x00,0xDC,0x00,0xA0,0x00,0xE0,0x00,0xA0,0x00,0xE4,0x00,0xA0,0x00, -+0xE8,0x00,0xA0,0x00,0xEC,0x00,0xA0,0x00,0xD0,0x01,0xA0,0x00,0xD4,0x01,0xA0,0x00,0xD8,0x01,0xA0,0x00,0xDC,0x01,0xA0,0x00,0x6C,0x00,0xA0,0x00,0x70,0x00,0xA0,0x00, -+0xD0,0x03,0xA0,0x00,0xD4,0x03,0xA0,0x00,0xD8,0x03,0xA0,0x00,0xDC,0x03,0xA0,0x00,0x00,0xB0,0xA0,0x00,0x24,0xB2,0xA0,0x00,0x28,0xB2,0xA0,0x00,0x80,0xB0,0xA0,0x00, -+0x9C,0xB0,0xA0,0x00,0x10,0xB0,0xA0,0x00,0x2C,0xB2,0xA0,0x00,0x00,0x90,0xA0,0x00,0x54,0x92,0xA0,0x00,0x84,0x80,0xA0,0x00,0x18,0x81,0xA0,0x00,0x10,0x80,0xA0,0x00, -+0x00,0x80,0xA0,0x00,0x94,0x92,0xA0,0x00,0x4C,0x91,0xA0,0x00,0x18,0xE4,0xA0,0x00,0x1C,0xE4,0xA0,0x00,0x20,0xE4,0xA0,0x00,0x24,0xE4,0xA0,0x00,0x28,0xE4,0xA0,0x00, -+0x2C,0xE4,0xA0,0x00,0x30,0xE4,0xA0,0x00,0x34,0xE4,0xA0,0x00,0x48,0xE4,0xA0,0x00,0x4C,0xE4,0xA0,0x00,0x50,0xE4,0xA0,0x00,0x54,0xE4,0xA0,0x00,0x58,0xE4,0xA0,0x00, -+0x5C,0xE4,0xA0,0x00,0x60,0xE4,0xA0,0x00,0x64,0xE4,0xA0,0x00,0x68,0xE4,0xA0,0x00,0x6C,0xE4,0xA0,0x00,0x70,0xE4,0xA0,0x00,0x74,0xE4,0xA0,0x00,0x78,0xE4,0xA0,0x00, -+0x7C,0xE4,0xA0,0x00,0x80,0xE4,0xA0,0x00,0x84,0xE4,0xA0,0x00,0xB4,0xE4,0xA0,0x00,0xF0,0xE4,0xA0,0x00,0xF4,0xE4,0xA0,0x00,0xF8,0xE4,0xA0,0x00,0xFC,0xE4,0xA0,0x00, -+0x00,0xE5,0xA0,0x00,0x04,0xE5,0xA0,0x00,0x08,0xE5,0xA0,0x00,0x0C,0xE5,0xA0,0x00,0x10,0xE5,0xA0,0x00,0x14,0xE5,0xA0,0x00,0x18,0xE5,0xA0,0x00,0x1C,0xE5,0xA0,0x00, -+0x20,0xE5,0xA0,0x00,0x24,0xE5,0xA0,0x00,0x28,0xE5,0xA0,0x00,0x2C,0xE5,0xA0,0x00,0x34,0xE5,0xA0,0x00,0x38,0xE5,0xA0,0x00,0x3C,0xE5,0xA0,0x00,0x40,0xE5,0xA0,0x00, -+0x44,0xE5,0xA0,0x00,0x48,0xE5,0xA0,0x00,0x4C,0xE5,0xA0,0x00,0x50,0xE5,0xA0,0x00,0x54,0xE5,0xA0,0x00,0x58,0xE5,0xA0,0x00,0x5C,0xE5,0xA0,0x00,0x60,0xE5,0xA0,0x00, -+0x64,0xE5,0xA0,0x00,0x68,0xE5,0xA0,0x00,0x6C,0xE5,0xA0,0x00,0x70,0xE5,0xA0,0x00,0x74,0xE5,0xA0,0x00,0x78,0xE5,0xA0,0x00,0x7C,0xE5,0xA0,0x00,0x80,0xE5,0xA0,0x00, -+0x84,0xE5,0xA0,0x00,0x88,0xE5,0xA0,0x00,0x8C,0xE5,0xA0,0x00,0x90,0xE5,0xA0,0x00,0x94,0xE5,0xA0,0x00,0x98,0xE5,0xA0,0x00,0x9C,0xE5,0xA0,0x00,0xA0,0xE5,0xA0,0x00, -+0xA4,0xE5,0xA0,0x00,0xA8,0xE5,0xA0,0x00,0xAC,0xE5,0xA0,0x00,0xB0,0xE5,0xA0,0x00,0x2C,0xE8,0xA0,0x00,0x0C,0xE8,0xA0,0x00,0x10,0xE8,0xA0,0x00,0x14,0xE8,0xA0,0x00, -+0x18,0xE8,0xA0,0x00,0x1C,0xE8,0xA0,0x00,0x20,0xE8,0xA0,0x00,0x24,0xE8,0xA0,0x00,0x28,0xE8,0xA0,0x00,0x00,0xE8,0xA0,0x00,0x08,0xE8,0xA0,0x00,0x88,0xE4,0xA0,0x00, -+0x00,0x10,0xA0,0x00,0x04,0x10,0xA0,0x00,0x08,0x10,0xA0,0x00,0x0C,0x10,0xA0,0x00,0x80,0x50,0xA0,0x00,0x84,0x50,0xA0,0x00,0x20,0x70,0xA0,0x00,0x68,0x70,0xA0,0x00, -+0x90,0x70,0xA0,0x00,0x94,0x70,0xA0,0x00,0x98,0x70,0xA0,0x00,0x9C,0x70,0xA0,0x00,0xA0,0x70,0xA0,0x00,0x10,0x00,0xA1,0x00,0x14,0x00,0xA1,0x00,0x18,0x00,0xA1,0x00, -+0x1C,0x00,0xA1,0x00,0x20,0x00,0xA1,0x00,0x28,0x00,0xA1,0x00,0x38,0x00,0xA1,0x00,0x3C,0x00,0xA1,0x00,0x08,0x4C,0xA0,0x00,0xC4,0xD0,0xA0,0x00,0xF4,0x00,0xA1,0x00, -+0x74,0x70,0xA0,0x00,0x3E,0x7C,0x12,0x00,0x04,0x7C,0x12,0x00,0x01,0x00,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0xF0,0x01,0xA0,0x00,0xFC,0x01,0xA0,0x00,0x00,0x02,0xA0,0x00,0x04,0x02,0xA0,0x00,0xF4,0x01,0xA0,0x00,0xE4,0x01,0xA0,0x00,0x34,0x02,0xA0,0x00,0xE0,0x01,0xA0,0x00, ++0x34,0x01,0xA0,0x00,0x44,0x02,0xA0,0x00,0x58,0x02,0xA0,0x00,0x0C,0x00,0xA0,0x00,0x04,0x00,0xA0,0x00,0x90,0x00,0xA0,0x00,0x94,0x00,0xA0,0x00,0x1C,0x00,0xA0,0x00, ++0x20,0x00,0xA0,0x00,0x3C,0x00,0xA0,0x00,0x40,0x00,0xA0,0x00,0x24,0x00,0xA0,0x00,0x28,0x00,0xA0,0x00,0x44,0x00,0xA0,0x00,0x48,0x00,0xA0,0x00,0x78,0x01,0xA0,0x00, ++0x40,0x01,0xA0,0x00,0x44,0x01,0xA0,0x00,0xFC,0x00,0xA0,0x00,0xB0,0x00,0xA0,0x00,0xB4,0x00,0xA0,0x00,0x28,0x01,0xA0,0x00,0xC0,0x00,0xA0,0x00,0xC4,0x00,0xA0,0x00, ++0xC8,0x00,0xA0,0x00,0xCC,0x00,0xA0,0x00,0xD0,0x00,0xA0,0x00,0xD4,0x00,0xA0,0x00,0xD8,0x00,0xA0,0x00,0xDC,0x00,0xA0,0x00,0xE0,0x00,0xA0,0x00,0xE4,0x00,0xA0,0x00, ++0xE8,0x00,0xA0,0x00,0xEC,0x00,0xA0,0x00,0xD0,0x01,0xA0,0x00,0xD4,0x01,0xA0,0x00,0xD8,0x01,0xA0,0x00,0xDC,0x01,0xA0,0x00,0x6C,0x00,0xA0,0x00,0x70,0x00,0xA0,0x00, ++0xD0,0x03,0xA0,0x00,0xD4,0x03,0xA0,0x00,0xD8,0x03,0xA0,0x00,0xDC,0x03,0xA0,0x00,0x00,0xB0,0xA0,0x00,0x24,0xB2,0xA0,0x00,0x28,0xB2,0xA0,0x00,0x80,0xB0,0xA0,0x00, ++0x9C,0xB0,0xA0,0x00,0x10,0xB0,0xA0,0x00,0x2C,0xB2,0xA0,0x00,0x00,0x90,0xA0,0x00,0x54,0x92,0xA0,0x00,0x84,0x80,0xA0,0x00,0x18,0x81,0xA0,0x00,0x10,0x80,0xA0,0x00, ++0x00,0x80,0xA0,0x00,0x94,0x92,0xA0,0x00,0x4C,0x91,0xA0,0x00,0x18,0xE4,0xA0,0x00,0x1C,0xE4,0xA0,0x00,0x20,0xE4,0xA0,0x00,0x24,0xE4,0xA0,0x00,0x28,0xE4,0xA0,0x00, ++0x2C,0xE4,0xA0,0x00,0x30,0xE4,0xA0,0x00,0x34,0xE4,0xA0,0x00,0x48,0xE4,0xA0,0x00,0x4C,0xE4,0xA0,0x00,0x50,0xE4,0xA0,0x00,0x54,0xE4,0xA0,0x00,0x58,0xE4,0xA0,0x00, ++0x5C,0xE4,0xA0,0x00,0x60,0xE4,0xA0,0x00,0x64,0xE4,0xA0,0x00,0x68,0xE4,0xA0,0x00,0x6C,0xE4,0xA0,0x00,0x70,0xE4,0xA0,0x00,0x74,0xE4,0xA0,0x00,0x78,0xE4,0xA0,0x00, ++0x7C,0xE4,0xA0,0x00,0x80,0xE4,0xA0,0x00,0x84,0xE4,0xA0,0x00,0xB4,0xE4,0xA0,0x00,0xF0,0xE4,0xA0,0x00,0xF4,0xE4,0xA0,0x00,0xF8,0xE4,0xA0,0x00,0xFC,0xE4,0xA0,0x00, ++0x00,0xE5,0xA0,0x00,0x04,0xE5,0xA0,0x00,0x08,0xE5,0xA0,0x00,0x0C,0xE5,0xA0,0x00,0x10,0xE5,0xA0,0x00,0x14,0xE5,0xA0,0x00,0x18,0xE5,0xA0,0x00,0x1C,0xE5,0xA0,0x00, ++0x20,0xE5,0xA0,0x00,0x24,0xE5,0xA0,0x00,0x28,0xE5,0xA0,0x00,0x2C,0xE5,0xA0,0x00,0x34,0xE5,0xA0,0x00,0x38,0xE5,0xA0,0x00,0x3C,0xE5,0xA0,0x00,0x40,0xE5,0xA0,0x00, ++0x44,0xE5,0xA0,0x00,0x48,0xE5,0xA0,0x00,0x4C,0xE5,0xA0,0x00,0x50,0xE5,0xA0,0x00,0x54,0xE5,0xA0,0x00,0x58,0xE5,0xA0,0x00,0x5C,0xE5,0xA0,0x00,0x60,0xE5,0xA0,0x00, ++0x64,0xE5,0xA0,0x00,0x68,0xE5,0xA0,0x00,0x6C,0xE5,0xA0,0x00,0x70,0xE5,0xA0,0x00,0x74,0xE5,0xA0,0x00,0x78,0xE5,0xA0,0x00,0x7C,0xE5,0xA0,0x00,0x80,0xE5,0xA0,0x00, ++0x84,0xE5,0xA0,0x00,0x88,0xE5,0xA0,0x00,0x8C,0xE5,0xA0,0x00,0x90,0xE5,0xA0,0x00,0x94,0xE5,0xA0,0x00,0x98,0xE5,0xA0,0x00,0x9C,0xE5,0xA0,0x00,0xA0,0xE5,0xA0,0x00, ++0xA4,0xE5,0xA0,0x00,0xA8,0xE5,0xA0,0x00,0xAC,0xE5,0xA0,0x00,0xB0,0xE5,0xA0,0x00,0x2C,0xE8,0xA0,0x00,0x0C,0xE8,0xA0,0x00,0x10,0xE8,0xA0,0x00,0x14,0xE8,0xA0,0x00, ++0x18,0xE8,0xA0,0x00,0x1C,0xE8,0xA0,0x00,0x20,0xE8,0xA0,0x00,0x24,0xE8,0xA0,0x00,0x28,0xE8,0xA0,0x00,0x00,0xE8,0xA0,0x00,0x08,0xE8,0xA0,0x00,0x88,0xE4,0xA0,0x00, ++0x00,0x10,0xA0,0x00,0x04,0x10,0xA0,0x00,0x08,0x10,0xA0,0x00,0x0C,0x10,0xA0,0x00,0x80,0x50,0xA0,0x00,0x84,0x50,0xA0,0x00,0x20,0x70,0xA0,0x00,0x68,0x70,0xA0,0x00, ++0x90,0x70,0xA0,0x00,0x94,0x70,0xA0,0x00,0x98,0x70,0xA0,0x00,0x9C,0x70,0xA0,0x00,0xA0,0x70,0xA0,0x00,0x10,0x00,0xA1,0x00,0x14,0x00,0xA1,0x00,0x18,0x00,0xA1,0x00, ++0x1C,0x00,0xA1,0x00,0x20,0x00,0xA1,0x00,0x28,0x00,0xA1,0x00,0x38,0x00,0xA1,0x00,0x3C,0x00,0xA1,0x00,0x08,0x4C,0xA0,0x00,0xC4,0xD0,0xA0,0x00,0xF4,0x00,0xA1,0x00, ++0x74,0x70,0xA0,0x00,0xA6,0x7C,0x12,0x00,0x6C,0x7C,0x12,0x00,0x01,0x00,0x00,0x00,0x00,0xEF,0xCD,0xAB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -14918,41 +14727,41 @@ index 000000000000..b9661763dbcc +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x26,0x28,0x2A,0x2C,0x2E,0x30,0x34,0x36,0x38,0x3A,0x3C,0x3E,0x40,0x64,0x66,0x68,0x6A,0x6C,0x6E,0x70,0x74,0x76,0x78, -+0x7A,0x7C,0x7E,0x80,0x84,0x86,0x88,0x8A,0x8C,0x8E,0x90,0x95,0x97,0x99,0x9B,0x9D,0x9F,0xA1,0xA5,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D, -+0x0E,0x00,0x00,0x00,0x04,0x5F,0x73,0x75,0x62,0x0B,0x5F,0x67,0x6F,0x6F,0x67,0x6C,0x65,0x63,0x61,0x73,0x74,0x04,0x5F,0x74,0x63,0x70,0x05,0x6C,0x6F,0x63,0x61,0x6C, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x67,0x5F,0x74,0x73,0x73,0x69,0x5F,0x65,0x66,0x75,0x73,0x65,0x3D,0x20,0x00,0x4C,0x92,0xA0,0x00, -+0x00,0x01,0x00,0x00,0x94,0x92,0xA0,0x00,0x1A,0x1C,0x28,0x00,0x54,0x92,0xA0,0x00,0x01,0x00,0x00,0x00,0x80,0xB0,0xA0,0x00,0x00,0x11,0x00,0x00,0x28,0xB2,0xA0,0x00, -+0xA0,0x00,0x40,0x00,0x14,0x81,0xA0,0x00,0x05,0x00,0x00,0x00,0x00,0x83,0xA0,0x00,0x11,0x00,0x00,0x00,0x04,0x83,0xA0,0x00,0x12,0x00,0x00,0x00,0x08,0x83,0xA0,0x00, -+0x13,0x00,0x00,0x00,0x0C,0x83,0xA0,0x00,0x14,0x00,0x00,0x00,0x10,0x83,0xA0,0x00,0x15,0x00,0x00,0x00,0x14,0x83,0xA0,0x00,0x16,0x00,0x00,0x00,0x18,0x83,0xA0,0x00, -+0x24,0x00,0x00,0x00,0x1C,0x83,0xA0,0x00,0x25,0x00,0x00,0x00,0x20,0x83,0xA0,0x00,0x26,0x00,0x00,0x00,0x24,0x83,0xA0,0x00,0x34,0x00,0x00,0x00,0x28,0x83,0xA0,0x00, -+0x35,0x00,0x00,0x00,0x2C,0x83,0xA0,0x00,0x36,0x00,0x00,0x00,0x30,0x83,0xA0,0x00,0x44,0x00,0x00,0x00,0x34,0x83,0xA0,0x00,0x45,0x00,0x00,0x00,0x38,0x83,0xA0,0x00, -+0x46,0x00,0x00,0x00,0x3C,0x83,0xA0,0x00,0x54,0x00,0x00,0x00,0x40,0x83,0xA0,0x00,0x55,0x00,0x00,0x00,0x44,0x83,0xA0,0x00,0x56,0x00,0x00,0x00,0x48,0x83,0xA0,0x00, -+0x64,0x00,0x00,0x00,0x4C,0x83,0xA0,0x00,0x65,0x00,0x00,0x00,0x50,0x83,0xA0,0x00,0x66,0x00,0x00,0x00,0x54,0x83,0xA0,0x00,0x74,0x00,0x00,0x00,0x58,0x83,0xA0,0x00, -+0x75,0x00,0x00,0x00,0x5C,0x83,0xA0,0x00,0x76,0x00,0x00,0x00,0x60,0x83,0xA0,0x00,0x84,0x00,0x00,0x00,0x64,0x83,0xA0,0x00,0x85,0x00,0x00,0x00,0x68,0x83,0xA0,0x00, -+0x86,0x00,0x00,0x00,0x6C,0x83,0xA0,0x00,0x94,0x00,0x00,0x00,0x70,0x83,0xA0,0x00,0x95,0x00,0x00,0x00,0x74,0x83,0xA0,0x00,0x96,0x00,0x00,0x00,0x78,0x83,0xA0,0x00, -+0x97,0x00,0x00,0x00,0x7C,0x83,0xA0,0x00,0x98,0x00,0x00,0x00,0x80,0x83,0xA0,0x00,0x99,0x00,0x00,0x00,0x84,0x83,0xA0,0x00,0x9A,0x00,0x00,0x00,0x88,0x83,0xA0,0x00, -+0x9B,0x00,0x00,0x00,0x8C,0x83,0xA0,0x00,0x9C,0x00,0x00,0x00,0x90,0x83,0xA0,0x00,0x9C,0x00,0x00,0x00,0x14,0x81,0xA0,0x00,0x05,0x01,0x00,0x00,0x50,0x80,0xA0,0x00, -+0x04,0xC1,0x3E,0x00,0x54,0x80,0xA0,0x00,0x04,0xC1,0x3E,0x00,0x58,0x80,0xA0,0x00,0x04,0x01,0x05,0x00,0x0C,0x81,0xA0,0x00,0x50,0x15,0x00,0x00,0x48,0x81,0xA0,0x00, -+0x28,0x28,0x41,0x07,0x98,0x92,0xA0,0x00,0x08,0x11,0x05,0x58,0x30,0x91,0xA0,0x00,0x0C,0x10,0x03,0x00,0x08,0xE8,0xA0,0x00,0x01,0x00,0x10,0x11,0x68,0x81,0xA0,0x00, -+0x18,0x28,0x00,0x04,0x18,0x80,0xA0,0x00,0x0A,0xA0,0x81,0x04,0x1C,0x80,0xA0,0x00,0xBC,0x00,0x14,0x11,0x20,0x80,0xA0,0x00,0xE0,0x4E,0x00,0x08,0x28,0x81,0xA0,0x00, -+0x11,0x32,0x00,0x00,0x84,0x80,0xA0,0x00,0x0F,0x78,0x10,0x00,0x58,0x81,0xA0,0x00,0x16,0xA0,0x01,0x30,0x38,0x80,0xA0,0x00,0x44,0x1D,0x1D,0x52,0x44,0x81,0xA0,0x00, -+0x00,0x00,0x41,0x44,0x08,0x80,0xA0,0x00,0xD4,0x01,0xD8,0x01,0x78,0x81,0xA0,0x00,0x2F,0x62,0xA1,0x01,0x90,0x80,0xA0,0x00,0x04,0x00,0x00,0xFE,0x5C,0x80,0xA0,0x00, -+0x20,0x40,0x1A,0x30,0x74,0x80,0xA0,0x00,0x28,0x83,0x2D,0x00,0x60,0x80,0xA0,0x00,0xA0,0xA9,0xCA,0xC3,0x6C,0x81,0xA0,0x00,0x11,0x63,0x29,0x02,0x14,0x80,0xA0,0x00, -+0x12,0x04,0x20,0x10,0x28,0x80,0xA0,0x00,0x00,0x00,0x08,0x0A,0x34,0x80,0xA0,0x00,0x00,0x59,0x55,0x59,0xB0,0x00,0xA0,0x00,0x2C,0x1C,0x28,0x6A,0x30,0x80,0xA0,0x00, -+0x08,0x01,0xF0,0x00,0xB0,0x80,0xA0,0x00,0x10,0x1C,0x0E,0x0E,0x40,0x91,0xA0,0x00,0x0C,0x00,0x0C,0x00,0x44,0x91,0xA0,0x00,0x00,0x00,0x00,0x00,0x48,0x91,0xA0,0x00, -+0x00,0x00,0x00,0x00,0x4C,0x91,0xA0,0x00,0x00,0x00,0x00,0x00,0xA4,0xD0,0xA0,0x00,0x11,0x00,0x40,0x00,0x24,0xB2,0xA0,0x00,0x20,0x01,0x00,0x33,0x00,0xE8,0xA0,0x00, -+0x10,0x00,0x00,0x00,0x08,0xE8,0xA0,0x00,0x01,0x00,0x10,0x11,0x88,0xE4,0xA0,0x00,0x10,0x00,0x0A,0x00,0x24,0x02,0xA0,0x00,0x00,0x0B,0x46,0x10,0xA4,0x92,0xA0,0x00, -+0x00,0x00,0x00,0x10,0xBC,0xE5,0xA0,0x00,0x0C,0x0D,0x13,0x1A,0xC0,0xE5,0xA0,0x00,0x1E,0x22,0x23,0x00,0xC4,0xE5,0xA0,0x00,0xFD,0xFC,0x02,0x11,0xC8,0xE5,0xA0,0x00, -+0x29,0x3E,0x47,0x00,0x58,0x03,0xA0,0x00,0x00,0x00,0x00,0x00,0x5C,0x03,0xA0,0x00,0x00,0x00,0x01,0x00,0x60,0x03,0xA0,0x00,0x02,0x02,0x02,0x11,0x64,0x03,0xA0,0x00, -+0x02,0x02,0x02,0x11,0x68,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0x6C,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0x70,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0x74,0x03,0xA0,0x00, -+0x06,0x06,0x06,0x22,0x78,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0x7C,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0x80,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0x84,0x03,0xA0,0x00, -+0x08,0x08,0x08,0x33,0x88,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0x8C,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0x90,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0x94,0x03,0xA0,0x00, -+0x06,0x06,0x06,0x22,0x98,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0x9C,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0xA0,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0xA4,0x03,0xA0,0x00, -+0x08,0x08,0x08,0x33,0xA8,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0xAC,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0xB0,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0xB4,0x03,0xA0,0x00, -+0x06,0x06,0x06,0x22,0xB8,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0xBC,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0xC0,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0xC4,0x03,0xA0,0x00, -+0x08,0x08,0x08,0x33,0xC8,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0xCC,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x24,0x26,0x28,0x2A,0x2C,0x2E,0x30,0x34,0x36,0x38,0x3A,0x3C,0x3E,0x40,0x64,0x66,0x68,0x6A,0x6C,0x6E,0x70,0x74,0x76,0x78,0x7A,0x7C,0x7E,0x80,0x84,0x86,0x88,0x8A, ++0x8C,0x8E,0x90,0x95,0x97,0x99,0x9B,0x9D,0x9F,0xA1,0xA5,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x00,0x00,0x00,0x0B,0x5F,0x67,0x6F, ++0x6F,0x67,0x6C,0x65,0x63,0x61,0x73,0x74,0x04,0x5F,0x74,0x63,0x70,0x05,0x6C,0x6F,0x63,0x61,0x6C,0x00,0x08,0x5F,0x61,0x69,0x72,0x70,0x6C,0x61,0x79,0x04,0x5F,0x74, ++0x63,0x70,0x05,0x6C,0x6F,0x63,0x61,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x67,0x5F,0x74,0x73,0x73,0x69,0x5F, ++0x65,0x66,0x75,0x73,0x65,0x3D,0x20,0x00,0x4C,0x92,0xA0,0x00,0x00,0x01,0x00,0x00,0x94,0x92,0xA0,0x00,0x1A,0x1C,0x28,0x00,0x54,0x92,0xA0,0x00,0x01,0x00,0x00,0x00, ++0x80,0xB0,0xA0,0x00,0x00,0x11,0x00,0x00,0x28,0xB2,0xA0,0x00,0xA0,0x00,0x40,0x00,0x14,0x81,0xA0,0x00,0x05,0x00,0x00,0x00,0x00,0x83,0xA0,0x00,0x11,0x00,0x00,0x00, ++0x04,0x83,0xA0,0x00,0x12,0x00,0x00,0x00,0x08,0x83,0xA0,0x00,0x13,0x00,0x00,0x00,0x0C,0x83,0xA0,0x00,0x14,0x00,0x00,0x00,0x10,0x83,0xA0,0x00,0x15,0x00,0x00,0x00, ++0x14,0x83,0xA0,0x00,0x16,0x00,0x00,0x00,0x18,0x83,0xA0,0x00,0x24,0x00,0x00,0x00,0x1C,0x83,0xA0,0x00,0x25,0x00,0x00,0x00,0x20,0x83,0xA0,0x00,0x26,0x00,0x00,0x00, ++0x24,0x83,0xA0,0x00,0x34,0x00,0x00,0x00,0x28,0x83,0xA0,0x00,0x35,0x00,0x00,0x00,0x2C,0x83,0xA0,0x00,0x36,0x00,0x00,0x00,0x30,0x83,0xA0,0x00,0x44,0x00,0x00,0x00, ++0x34,0x83,0xA0,0x00,0x45,0x00,0x00,0x00,0x38,0x83,0xA0,0x00,0x46,0x00,0x00,0x00,0x3C,0x83,0xA0,0x00,0x54,0x00,0x00,0x00,0x40,0x83,0xA0,0x00,0x55,0x00,0x00,0x00, ++0x44,0x83,0xA0,0x00,0x56,0x00,0x00,0x00,0x48,0x83,0xA0,0x00,0x64,0x00,0x00,0x00,0x4C,0x83,0xA0,0x00,0x65,0x00,0x00,0x00,0x50,0x83,0xA0,0x00,0x66,0x00,0x00,0x00, ++0x54,0x83,0xA0,0x00,0x74,0x00,0x00,0x00,0x58,0x83,0xA0,0x00,0x75,0x00,0x00,0x00,0x5C,0x83,0xA0,0x00,0x76,0x00,0x00,0x00,0x60,0x83,0xA0,0x00,0x84,0x00,0x00,0x00, ++0x64,0x83,0xA0,0x00,0x85,0x00,0x00,0x00,0x68,0x83,0xA0,0x00,0x86,0x00,0x00,0x00,0x6C,0x83,0xA0,0x00,0x94,0x00,0x00,0x00,0x70,0x83,0xA0,0x00,0x95,0x00,0x00,0x00, ++0x74,0x83,0xA0,0x00,0x96,0x00,0x00,0x00,0x78,0x83,0xA0,0x00,0x97,0x00,0x00,0x00,0x7C,0x83,0xA0,0x00,0x98,0x00,0x00,0x00,0x80,0x83,0xA0,0x00,0x99,0x00,0x00,0x00, ++0x84,0x83,0xA0,0x00,0x9A,0x00,0x00,0x00,0x88,0x83,0xA0,0x00,0x9B,0x00,0x00,0x00,0x8C,0x83,0xA0,0x00,0x9C,0x00,0x00,0x00,0x90,0x83,0xA0,0x00,0x9C,0x00,0x00,0x00, ++0x14,0x81,0xA0,0x00,0x05,0x01,0x00,0x00,0x50,0x80,0xA0,0x00,0x04,0xC1,0x3E,0x00,0x54,0x80,0xA0,0x00,0x04,0xC1,0x3E,0x00,0x58,0x80,0xA0,0x00,0x04,0x01,0x05,0x00, ++0x0C,0x81,0xA0,0x00,0x50,0x15,0x00,0x00,0x48,0x81,0xA0,0x00,0x28,0x28,0x41,0x07,0x98,0x92,0xA0,0x00,0x08,0x11,0x05,0x58,0x30,0x91,0xA0,0x00,0x0C,0x10,0x03,0x00, ++0x08,0xE8,0xA0,0x00,0x01,0x00,0x10,0x11,0x68,0x81,0xA0,0x00,0x18,0x28,0x00,0x04,0x18,0x80,0xA0,0x00,0x0A,0xA0,0x81,0x04,0x1C,0x80,0xA0,0x00,0xBC,0x00,0x14,0x11, ++0x20,0x80,0xA0,0x00,0xE0,0x4E,0x00,0x08,0x28,0x81,0xA0,0x00,0x11,0x32,0x00,0x00,0x84,0x80,0xA0,0x00,0x0F,0x78,0x10,0x00,0x58,0x81,0xA0,0x00,0x16,0xA0,0x01,0x30, ++0x38,0x80,0xA0,0x00,0x44,0x1D,0x1D,0x52,0x44,0x81,0xA0,0x00,0x00,0x00,0x41,0x44,0x08,0x80,0xA0,0x00,0xD4,0x01,0xD8,0x01,0x78,0x81,0xA0,0x00,0x2F,0x62,0xA1,0x01, ++0x90,0x80,0xA0,0x00,0x04,0x00,0x00,0xFE,0x5C,0x80,0xA0,0x00,0x20,0x40,0x1A,0x30,0x74,0x80,0xA0,0x00,0x28,0x83,0x2D,0x00,0x60,0x80,0xA0,0x00,0xA0,0xA9,0xCA,0xC3, ++0x6C,0x81,0xA0,0x00,0x11,0x63,0x29,0x02,0x14,0x80,0xA0,0x00,0x12,0x04,0x20,0x10,0x28,0x80,0xA0,0x00,0x00,0x00,0x08,0x0A,0x34,0x80,0xA0,0x00,0x00,0x59,0x55,0x59, ++0xB0,0x00,0xA0,0x00,0x2C,0x1C,0x28,0x6A,0x30,0x80,0xA0,0x00,0x08,0x01,0xF0,0x00,0xB0,0x80,0xA0,0x00,0x10,0x1C,0x0E,0x0E,0x40,0x91,0xA0,0x00,0x0C,0x00,0x0C,0x00, ++0x44,0x91,0xA0,0x00,0x00,0x00,0x00,0x00,0x48,0x91,0xA0,0x00,0x00,0x00,0x00,0x00,0x4C,0x91,0xA0,0x00,0x00,0x00,0x00,0x00,0xA4,0xD0,0xA0,0x00,0x11,0x00,0x40,0x00, ++0x24,0xB2,0xA0,0x00,0x20,0x01,0x00,0x33,0x00,0xE8,0xA0,0x00,0x10,0x00,0x00,0x00,0x08,0xE8,0xA0,0x00,0x01,0x00,0x10,0x11,0x88,0xE4,0xA0,0x00,0x10,0x00,0x0A,0x00, ++0x24,0x02,0xA0,0x00,0x00,0x0B,0x46,0x10,0xA4,0x92,0xA0,0x00,0x00,0x00,0x00,0x10,0xBC,0xE5,0xA0,0x00,0x0C,0x0D,0x13,0x1A,0xC0,0xE5,0xA0,0x00,0x1E,0x22,0x23,0x00, ++0xC4,0xE5,0xA0,0x00,0xFD,0xFC,0x02,0x11,0xC8,0xE5,0xA0,0x00,0x29,0x3E,0x47,0x00,0x58,0x03,0xA0,0x00,0x00,0x00,0x00,0x00,0x5C,0x03,0xA0,0x00,0x00,0x00,0x01,0x00, ++0x60,0x03,0xA0,0x00,0x02,0x02,0x02,0x11,0x64,0x03,0xA0,0x00,0x02,0x02,0x02,0x11,0x68,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0x6C,0x03,0xA0,0x00,0x04,0x04,0x04,0x22, ++0x70,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0x74,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0x78,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0x7C,0x03,0xA0,0x00,0x08,0x08,0x08,0x33, ++0x80,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0x84,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0x88,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0x8C,0x03,0xA0,0x00,0x04,0x04,0x04,0x22, ++0x90,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0x94,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0x98,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0x9C,0x03,0xA0,0x00,0x06,0x06,0x06,0x22, ++0xA0,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0xA4,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0xA8,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0xAC,0x03,0xA0,0x00,0x04,0x04,0x04,0x22, ++0xB0,0x03,0xA0,0x00,0x04,0x04,0x04,0x22,0xB4,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0xB8,0x03,0xA0,0x00,0x06,0x06,0x06,0x22,0xBC,0x03,0xA0,0x00,0x06,0x06,0x06,0x22, ++0xC0,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0xC4,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0xC8,0x03,0xA0,0x00,0x08,0x08,0x08,0x33,0xCC,0x03,0xA0,0x00,0x08,0x08,0x08,0x33, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -15092,40 +14901,40 @@ index 000000000000..b9661763dbcc +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x6E,0x64,0x0A,0x00,0x00,0x00,0x00,0x72,0x78,0x64,0x63,0x6F,0x63,0x5F,0x66, -+0x61,0x69,0x6C,0x2C,0x69,0x5F,0x71,0x3D,0x20,0x00,0x00,0x00,0x32,0x67,0x5F,0x72,0x78,0x64,0x63,0x5F,0x74,0x6D,0x6F,0x2C,0x63,0x6E,0x74,0x3D,0x20,0x00,0x00,0x00, -+0x64,0x63,0x6F,0x63,0x5F,0x72,0x64,0x79,0x2C,0x63,0x6E,0x74,0x3D,0x20,0x00,0x00,0x64,0x63,0x6F,0x63,0x5F,0x69,0x71,0x3D,0x20,0x00,0x00,0x00,0x74,0x73,0x73,0x69, -+0x5F,0x64,0x63,0x6F,0x63,0x5F,0x69,0x5F,0x71,0x20,0x3D,0x20,0x00,0x00,0x00,0x00,0x35,0x67,0x5F,0x72,0x78,0x64,0x63,0x6F,0x63,0x5F,0x66,0x61,0x69,0x6C,0x2C,0x69, -+0x5F,0x71,0x3D,0x20,0x00,0x00,0x00,0x00,0x35,0x67,0x5F,0x72,0x78,0x64,0x63,0x5F,0x74,0x6D,0x6F,0x2C,0x63,0x6E,0x74,0x3D,0x20,0x00,0x00,0x00,0x64,0x69,0x67,0x5F, -+0x64,0x63,0x6F,0x63,0x5F,0x69,0x5F,0x71,0x20,0x3D,0x20,0x00,0x63,0x6F,0x65,0x78,0x20,0x00,0x00,0x00,0x62,0x74,0x5F,0x73,0x20,0x00,0x00,0x00,0x77,0x66,0x5F,0x65, -+0x2C,0x61,0x63,0x74,0x20,0x00,0x00,0x00,0x63,0x6F,0x5F,0x74,0x6F,0x75,0x74,0x0A,0x00,0x00,0x00,0x00,0x77,0x66,0x78,0x6F,0x6E,0x6C,0x79,0x20,0x00,0x00,0x00,0x00, -+0x63,0x6F,0x65,0x78,0x5F,0x73,0x74,0x61,0x74,0x65,0x20,0x00,0x77,0x66,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x00,0x00,0x00,0x00,0x63,0x6D,0x64,0x20,0x00,0x00,0x00,0x00, -+0x77,0x66,0x5F,0x73,0x2C,0x69,0x6E,0x61,0x63,0x74,0x20,0x00,0x72,0x65,0x2D,0x63,0x61,0x6C,0x69,0x62,0x72,0x61,0x74,0x65,0x0A,0x00,0x00,0x00,0x62,0x74,0x20,0x75, -+0x73,0x69,0x6E,0x67,0x20,0x73,0x64,0x69,0x6F,0x0A,0x00,0x00,0x63,0x6D,0x64,0x20,0x66,0x69,0x66,0x6F,0x0A,0x00,0x00,0x00,0x74,0x78,0x20,0x66,0x69,0x66,0x6F,0x0A, -+0x00,0x00,0x00,0x00,0x73,0x6C,0x65,0x65,0x70,0x20,0x00,0x00,0x70,0x77,0x72,0x20,0x64,0x6F,0x6D,0x61,0x69,0x6E,0x7C,0x6F,0x66,0x66,0x3A,0x20,0x00,0x00,0x00,0x00, -+0x64,0x6F,0x7A,0x65,0x0A,0x00,0x00,0x00,0x77,0x61,0x6B,0x65,0x20,0x00,0x00,0x00,0x72,0x78,0x20,0x66,0x69,0x66,0x6F,0x0A,0x00,0x00,0x00,0x00,0x54,0x78,0x45,0x72, -+0x72,0x20,0x3D,0x20,0x30,0x78,0x00,0x00,0x54,0x78,0x54,0x79,0x70,0x65,0x20,0x30,0x78,0x00,0x00,0x00,0x74,0x78,0x65,0x6E,0x64,0x20,0x00,0x00,0x73,0x72,0x61,0x6D, -+0x20,0x66,0x75,0x6C,0x6C,0x0A,0x00,0x00,0x74,0x78,0x63,0x6F,0x6C,0x20,0x3D,0x20,0x30,0x78,0x00,0x00,0x66,0x72,0x65,0x65,0x20,0x6E,0x75,0x6C,0x6C,0x20,0x66,0x72, -+0x61,0x6D,0x65,0x0A,0x00,0x00,0x00,0x00,0x71,0x75,0x65,0x75,0x65,0x20,0x66,0x75,0x6C,0x6C,0x20,0x00,0x72,0x65,0x73,0x65,0x74,0x20,0x00,0x00,0x70,0x5F,0x73,0x63, -+0x61,0x6E,0x6E,0x3D,0x20,0x00,0x00,0x00,0x73,0x75,0x73,0x70,0x65,0x6E,0x64,0x20,0x76,0x69,0x64,0x7C,0x65,0x6E,0x61,0x62,0x6C,0x65,0x20,0x30,0x78,0x00,0x00,0x00, -+0x72,0x73,0x73,0x69,0x20,0x00,0x00,0x00,0x76,0x65,0x72,0x7C,0x72,0x66,0x20,0x00,0x74,0x73,0x73,0x69,0x5F,0x72,0x61,0x74,0x69,0x6F,0x5F,0x6C,0x69,0x6D,0x69,0x74, -+0x20,0x00,0x00,0x00,0x63,0x6D,0x64,0x20,0x70,0x77,0x72,0x5F,0x63,0x66,0x66,0x63,0x20,0x00,0x00,0x00,0x69,0x66,0x20,0x64,0x6F,0x77,0x6E,0x0A,0x00,0x00,0x00,0x00, -+0x69,0x66,0x20,0x75,0x70,0x0A,0x00,0x00,0x61,0x67,0x63,0x5F,0x65,0x6E,0x0A,0x00,0x61,0x67,0x63,0x5F,0x64,0x69,0x73,0x0A,0x00,0x00,0x00,0x00,0x64,0x65,0x71,0x20, -+0x6F,0x6B,0x3D,0x20,0x00,0x00,0x00,0x00,0x61,0x63,0x69,0x64,0x20,0x00,0x00,0x00,0x66,0x6C,0x75,0x73,0x68,0x2C,0x73,0x6E,0x20,0x00,0x00,0x00,0x66,0x6C,0x75,0x73, -+0x68,0x2C,0x62,0x75,0x73,0x79,0x20,0x00,0x66,0x6C,0x75,0x73,0x68,0x2C,0x65,0x78,0x63,0x20,0x00,0x00,0x66,0x6C,0x75,0x73,0x68,0x2C,0x66,0x64,0x68,0x31,0x7C,0x32, -+0x20,0x00,0x00,0x00,0x52,0x78,0x20,0x42,0x61,0x73,0x69,0x63,0x20,0x42,0x41,0x20,0x65,0x72,0x72,0x6F,0x72,0x0A,0x00,0x00,0x76,0x69,0x64,0x7C,0x74,0x69,0x64,0x20, -+0x00,0x00,0x00,0x00,0x73,0x6E,0x7C,0x62,0x61,0x73,0x73,0x6E,0x20,0x3D,0x20,0x00,0x74,0x76,0x5F,0x6D,0x70,0x64,0x75,0x5F,0x6C,0x65,0x6E,0x20,0x00,0x00,0x00,0x00, -+0x62,0x61,0x61,0x79,0x65,0x6E,0x64,0x5F,0x66,0x75,0x6C,0x6C,0x00,0x00,0x00,0x00,0x66,0x6C,0x75,0x73,0x68,0x5F,0x61,0x67,0x63,0x5F,0x65,0x6E,0x0A,0x00,0x00,0x00, -+0x66,0x6C,0x75,0x73,0x68,0x5F,0x61,0x67,0x63,0x5F,0x64,0x69,0x73,0x0A,0x00,0x00,0x62,0x61,0x71,0x20,0x63,0x6E,0x74,0x20,0x00,0x00,0x00,0x00,0x69,0x64,0x78,0x7C, -+0x73,0x74,0x20,0x00,0x74,0x78,0x5F,0x66,0x64,0x68,0x31,0x7C,0x32,0x20,0x00,0x00,0x63,0x6F,0x65,0x78,0x3A,0x77,0x66,0x20,0x69,0x6E,0x61,0x63,0x74,0x2C,0x20,0x00, -+0x73,0x74,0x61,0x74,0x65,0x20,0x65,0x78,0x63,0x65,0x70,0x74,0x69,0x6F,0x6E,0x20,0x00,0x00,0x00,0x00,0x6B,0x65,0x65,0x70,0x20,0x61,0x6C,0x69,0x76,0x65,0x3A,0x20, -+0x00,0x00,0x00,0x00,0x61,0x63,0x74,0x2C,0x20,0x00,0x00,0x00,0x73,0x6C,0x70,0x2C,0x20,0x00,0x00,0x00,0x74,0x62,0x74,0x74,0x5F,0x64,0x69,0x73,0x20,0x00,0x00,0x00, -+0x74,0x62,0x74,0x74,0x5F,0x69,0x6E,0x66,0x20,0x00,0x00,0x00,0x64,0x63,0x69,0x71,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00,0x00,0x64,0x70,0x64,0x5F,0x72,0x78,0x69,0x72, -+0x72,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00,0x64,0x70,0x64,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00,0x00,0x00,0x72,0x78,0x6C,0x6E,0x61,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00, -+0x72,0x78,0x69,0x72,0x72,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00,0x6C,0x69,0x6E,0x6B,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00,0x00,0x54,0x3D,0x20,0x00,0x61,0x67,0x63,0x3D, -+0x20,0x00,0x00,0x00,0x74,0x65,0x6D,0x70,0x20,0x6C,0x65,0x76,0x65,0x6C,0x20,0x00,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x20,0x63,0x61,0x6C,0x69,0x0A,0x00,0x00,0x00, -+0x74,0x73,0x69,0x71,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x6E,0x64,0x0A, ++0x00,0x00,0x00,0x00,0x72,0x78,0x64,0x63,0x6F,0x63,0x5F,0x66,0x61,0x69,0x6C,0x2C,0x69,0x5F,0x71,0x3D,0x20,0x00,0x00,0x00,0x32,0x67,0x5F,0x72,0x78,0x64,0x63,0x5F, ++0x74,0x6D,0x6F,0x2C,0x63,0x6E,0x74,0x3D,0x20,0x00,0x00,0x00,0x64,0x63,0x6F,0x63,0x5F,0x72,0x64,0x79,0x2C,0x63,0x6E,0x74,0x3D,0x20,0x00,0x00,0x64,0x63,0x6F,0x63, ++0x5F,0x69,0x71,0x3D,0x20,0x00,0x00,0x00,0x74,0x73,0x73,0x69,0x5F,0x64,0x63,0x6F,0x63,0x5F,0x69,0x5F,0x71,0x20,0x3D,0x20,0x00,0x00,0x00,0x00,0x35,0x67,0x5F,0x72, ++0x78,0x64,0x63,0x6F,0x63,0x5F,0x66,0x61,0x69,0x6C,0x2C,0x69,0x5F,0x71,0x3D,0x20,0x00,0x00,0x00,0x00,0x35,0x67,0x5F,0x72,0x78,0x64,0x63,0x5F,0x74,0x6D,0x6F,0x2C, ++0x63,0x6E,0x74,0x3D,0x20,0x00,0x00,0x00,0x64,0x69,0x67,0x5F,0x64,0x63,0x6F,0x63,0x5F,0x69,0x5F,0x71,0x20,0x3D,0x20,0x00,0x63,0x6F,0x65,0x78,0x20,0x00,0x00,0x00, ++0x62,0x74,0x5F,0x73,0x20,0x00,0x00,0x00,0x77,0x66,0x5F,0x65,0x2C,0x61,0x63,0x74,0x20,0x00,0x00,0x00,0x63,0x6F,0x5F,0x74,0x6F,0x75,0x74,0x0A,0x00,0x00,0x00,0x00, ++0x77,0x66,0x78,0x6F,0x6E,0x6C,0x79,0x20,0x00,0x00,0x00,0x00,0x63,0x6F,0x65,0x78,0x5F,0x73,0x74,0x61,0x74,0x65,0x20,0x00,0x77,0x66,0x20,0x6F,0x6E,0x6C,0x79,0x20, ++0x00,0x00,0x00,0x00,0x63,0x6D,0x64,0x20,0x00,0x00,0x00,0x00,0x77,0x66,0x5F,0x73,0x2C,0x69,0x6E,0x61,0x63,0x74,0x20,0x00,0x72,0x65,0x2D,0x63,0x61,0x6C,0x69,0x62, ++0x72,0x61,0x74,0x65,0x0A,0x00,0x00,0x00,0x62,0x74,0x20,0x75,0x73,0x69,0x6E,0x67,0x20,0x73,0x64,0x69,0x6F,0x0A,0x00,0x00,0x63,0x6D,0x64,0x20,0x66,0x69,0x66,0x6F, ++0x0A,0x00,0x00,0x00,0x74,0x78,0x20,0x66,0x69,0x66,0x6F,0x0A,0x00,0x00,0x00,0x00,0x73,0x6C,0x65,0x65,0x70,0x20,0x00,0x00,0x70,0x77,0x72,0x20,0x64,0x6F,0x6D,0x61, ++0x69,0x6E,0x7C,0x6F,0x66,0x66,0x3A,0x20,0x00,0x00,0x00,0x00,0x64,0x6F,0x7A,0x65,0x0A,0x00,0x00,0x00,0x77,0x61,0x6B,0x65,0x20,0x00,0x00,0x00,0x72,0x78,0x20,0x66, ++0x69,0x66,0x6F,0x0A,0x00,0x00,0x00,0x00,0x54,0x78,0x45,0x72,0x72,0x20,0x3D,0x20,0x30,0x78,0x00,0x00,0x54,0x78,0x54,0x79,0x70,0x65,0x20,0x30,0x78,0x00,0x00,0x00, ++0x74,0x78,0x65,0x6E,0x64,0x20,0x00,0x00,0x73,0x72,0x61,0x6D,0x20,0x66,0x75,0x6C,0x6C,0x0A,0x00,0x00,0x74,0x78,0x63,0x6F,0x6C,0x20,0x3D,0x20,0x30,0x78,0x00,0x00, ++0x66,0x72,0x65,0x65,0x20,0x6E,0x75,0x6C,0x6C,0x20,0x66,0x72,0x61,0x6D,0x65,0x0A,0x00,0x00,0x00,0x00,0x71,0x75,0x65,0x75,0x65,0x20,0x66,0x75,0x6C,0x6C,0x20,0x00, ++0x72,0x65,0x73,0x65,0x74,0x20,0x00,0x00,0x70,0x5F,0x73,0x63,0x61,0x6E,0x6E,0x3D,0x20,0x00,0x00,0x00,0x73,0x75,0x73,0x70,0x65,0x6E,0x64,0x20,0x76,0x69,0x64,0x7C, ++0x65,0x6E,0x61,0x62,0x6C,0x65,0x20,0x30,0x78,0x00,0x00,0x00,0x72,0x73,0x73,0x69,0x20,0x00,0x00,0x00,0x76,0x65,0x72,0x7C,0x72,0x66,0x20,0x00,0x74,0x73,0x73,0x69, ++0x5F,0x72,0x61,0x74,0x69,0x6F,0x5F,0x6C,0x69,0x6D,0x69,0x74,0x20,0x00,0x00,0x00,0x63,0x6D,0x64,0x20,0x70,0x77,0x72,0x5F,0x63,0x66,0x66,0x63,0x20,0x00,0x00,0x00, ++0x69,0x66,0x20,0x64,0x6F,0x77,0x6E,0x0A,0x00,0x00,0x00,0x00,0x69,0x66,0x20,0x75,0x70,0x0A,0x00,0x00,0x61,0x67,0x63,0x5F,0x65,0x6E,0x0A,0x00,0x61,0x67,0x63,0x5F, ++0x64,0x69,0x73,0x0A,0x00,0x00,0x00,0x00,0x6D,0x64,0x6E,0x73,0x20,0x00,0x00,0x00,0x64,0x65,0x71,0x20,0x6F,0x6B,0x3D,0x20,0x00,0x00,0x00,0x00,0x61,0x63,0x69,0x64, ++0x20,0x00,0x00,0x00,0x66,0x6C,0x75,0x73,0x68,0x2C,0x73,0x6E,0x20,0x00,0x00,0x00,0x66,0x6C,0x75,0x73,0x68,0x2C,0x62,0x75,0x73,0x79,0x20,0x00,0x66,0x6C,0x75,0x73, ++0x68,0x2C,0x65,0x78,0x63,0x20,0x00,0x00,0x66,0x6C,0x75,0x73,0x68,0x2C,0x66,0x64,0x68,0x31,0x7C,0x32,0x20,0x00,0x00,0x00,0x52,0x78,0x20,0x42,0x61,0x73,0x69,0x63, ++0x20,0x42,0x41,0x20,0x65,0x72,0x72,0x6F,0x72,0x0A,0x00,0x00,0x76,0x69,0x64,0x7C,0x74,0x69,0x64,0x20,0x00,0x00,0x00,0x00,0x73,0x6E,0x7C,0x62,0x61,0x73,0x73,0x6E, ++0x20,0x3D,0x20,0x00,0x74,0x76,0x5F,0x6D,0x70,0x64,0x75,0x5F,0x6C,0x65,0x6E,0x20,0x00,0x00,0x00,0x00,0x62,0x61,0x61,0x79,0x65,0x6E,0x64,0x5F,0x66,0x75,0x6C,0x6C, ++0x00,0x00,0x00,0x00,0x66,0x6C,0x75,0x73,0x68,0x5F,0x61,0x67,0x63,0x5F,0x65,0x6E,0x0A,0x00,0x00,0x00,0x66,0x6C,0x75,0x73,0x68,0x5F,0x61,0x67,0x63,0x5F,0x64,0x69, ++0x73,0x0A,0x00,0x00,0x62,0x61,0x71,0x20,0x63,0x6E,0x74,0x20,0x00,0x00,0x00,0x00,0x69,0x64,0x78,0x7C,0x73,0x74,0x20,0x00,0x74,0x78,0x5F,0x66,0x64,0x68,0x31,0x7C, ++0x32,0x20,0x00,0x00,0x63,0x6F,0x65,0x78,0x3A,0x77,0x66,0x20,0x69,0x6E,0x61,0x63,0x74,0x2C,0x20,0x00,0x73,0x74,0x61,0x74,0x65,0x20,0x65,0x78,0x63,0x65,0x70,0x74, ++0x69,0x6F,0x6E,0x20,0x00,0x00,0x00,0x00,0x6B,0x65,0x65,0x70,0x20,0x61,0x6C,0x69,0x76,0x65,0x3A,0x20,0x00,0x00,0x00,0x00,0x61,0x63,0x74,0x2C,0x20,0x00,0x00,0x00, ++0x73,0x6C,0x70,0x2C,0x20,0x00,0x00,0x00,0x74,0x62,0x74,0x74,0x5F,0x64,0x69,0x73,0x20,0x00,0x00,0x00,0x74,0x62,0x74,0x74,0x5F,0x69,0x6E,0x66,0x20,0x00,0x00,0x00, ++0x64,0x63,0x69,0x71,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00,0x00,0x64,0x70,0x64,0x5F,0x72,0x78,0x69,0x72,0x72,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00,0x64,0x70,0x64,0x5F, ++0x74,0x69,0x6D,0x65,0x20,0x00,0x00,0x00,0x72,0x78,0x6C,0x6E,0x61,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00,0x72,0x78,0x69,0x72,0x72,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00, ++0x6C,0x69,0x6E,0x6B,0x5F,0x74,0x69,0x6D,0x65,0x20,0x00,0x00,0x54,0x3D,0x20,0x00,0x61,0x67,0x63,0x3D,0x20,0x00,0x00,0x00,0x74,0x65,0x6D,0x70,0x20,0x6C,0x65,0x76, ++0x65,0x6C,0x20,0x00,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x20,0x63,0x61,0x6C,0x69,0x0A,0x00,0x00,0x00,0x74,0x73,0x69,0x71,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -15178,48 +14987,48 @@ index 000000000000..b9661763dbcc +0x85,0x47,0x63,0x19,0xF5,0x00,0x37,0x07,0xF0,0x00,0x1C,0x57,0x93,0xE7,0x07,0x10,0x1C,0xD7,0x82,0x80,0x7D,0xFD,0x37,0x07,0xF0,0x00,0x1C,0x57,0x93,0xF7,0xF7,0xEF, +0xC5,0xBF,0xB7,0x07,0xF0,0x00,0xD8,0x43,0x13,0x77,0xF7,0xEF,0xD8,0xC3,0x98,0x47,0x13,0x77,0xF7,0xEF,0x98,0xC7,0xD8,0x4B,0x13,0x67,0x07,0x10,0xD8,0xCB,0xD8,0x57, +0x13,0x77,0xF7,0xEF,0xD8,0xD7,0x82,0x80,0xB7,0x07,0xF0,0x00,0xD8,0x57,0x13,0x77,0xF7,0xEF,0xD8,0xD7,0xD8,0x43,0x13,0x77,0xF7,0xEF,0xD8,0xC3,0x98,0x47,0x13,0x67, -+0x07,0x10,0x98,0xC7,0xB7,0x77,0xA0,0x00,0x37,0x07,0x00,0x80,0xF8,0xD3,0x82,0x80,0x83,0xC7,0x05,0x00,0x85,0xE3,0x05,0x45,0x82,0x80,0x83,0x46,0x18,0x00,0x05,0x07, -+0x85,0x07,0xF5,0xDA,0x03,0x46,0x07,0x00,0x83,0xC6,0x07,0x00,0x3E,0x88,0xE3,0x06,0xD6,0xFE,0x05,0x05,0x83,0x47,0x05,0x00,0x81,0xC7,0x2A,0x87,0xAE,0x87,0xDD,0xB7, -+0x01,0x45,0x82,0x80,0x01,0x11,0xA1,0x05,0x4A,0xC8,0x13,0x99,0x05,0x01,0x13,0x59,0x09,0x01,0x13,0x05,0x05,0x02,0x22,0xCC,0x06,0xCE,0x26,0xCA,0x4E,0xC6,0x33,0x04, -+0x25,0x01,0x03,0x47,0x94,0x00,0xC5,0x47,0x63,0x0B,0xF7,0x00,0x81,0x47,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49,0xB2,0x49,0x3E,0x85,0x05,0x61,0x82,0x80,0x83,0x47, -+0x54,0x01,0x03,0x45,0x44,0x01,0xB2,0x84,0xA2,0x07,0x5D,0x8D,0x97,0x60,0x40,0xFF,0xE7,0x80,0x20,0xEE,0x83,0x47,0x74,0x01,0xAA,0x89,0x03,0x45,0x64,0x01,0xA2,0x07, -+0x5D,0x8D,0x97,0x60,0x40,0xFF,0xE7,0x80,0xC0,0xEC,0x85,0x67,0x93,0x87,0x97,0x4E,0xE3,0x9E,0xF9,0xFA,0xE3,0x1C,0x35,0xFB,0x03,0x47,0x14,0x02,0x83,0x47,0x04,0x02, -+0x33,0x86,0x24,0x41,0x22,0x07,0x5D,0x8F,0x13,0x06,0x86,0xFD,0x93,0x07,0xF0,0x0F,0x59,0xDF,0x75,0x47,0xE3,0x7D,0xC7,0xF8,0x97,0xE5,0xAF,0xFF,0x93,0x85,0xC5,0xEE, -+0x13,0x05,0x84,0x02,0x35,0x37,0x93,0x07,0xF0,0x0F,0x51,0xD1,0x85,0x47,0x41,0xB7,0x13,0x01,0x01,0xDB,0x23,0x24,0x81,0x24,0x81,0x45,0x2A,0x84,0x13,0x06,0x00,0x22, -+0x08,0x08,0x23,0x20,0x21,0x25,0x23,0x2E,0x31,0x23,0x23,0x2C,0x41,0x23,0x23,0x26,0x11,0x24,0x23,0x22,0x91,0x24,0x23,0x2A,0x51,0x23,0x97,0xE0,0x3F,0xFF,0xE7,0x80, -+0x60,0x51,0x03,0x29,0x04,0x02,0x17,0xB4,0xAF,0xFF,0x13,0x04,0xA4,0x67,0x03,0x2A,0x84,0x41,0x83,0x27,0x04,0x42,0x83,0x25,0x04,0x21,0x97,0xF9,0x40,0xFF,0x93,0x89, -+0x69,0x66,0x33,0x0A,0xFA,0x40,0x0A,0x0A,0x93,0x07,0x30,0x02,0x03,0xA7,0x49,0x52,0x63,0xF1,0x47,0x05,0x83,0x27,0x04,0x42,0x13,0x06,0x40,0x02,0x08,0x08,0x8A,0x07, -+0xBE,0x95,0x02,0x97,0x93,0x77,0xF9,0x00,0x21,0x47,0x63,0x88,0xE7,0x04,0x7D,0x55,0x83,0x20,0xC1,0x24,0x03,0x24,0x81,0x24,0x83,0x24,0x41,0x24,0x03,0x29,0x01,0x24, -+0x83,0x29,0xC1,0x23,0x03,0x2A,0x81,0x23,0x83,0x2A,0x41,0x23,0x13,0x01,0x01,0x25,0x82,0x80,0x83,0x27,0x04,0x42,0x52,0x86,0x08,0x08,0x8A,0x07,0xBE,0x95,0x02,0x97, -+0x83,0x25,0x44,0x41,0x83,0xA7,0x49,0x52,0x18,0x08,0x13,0x06,0x40,0x02,0x33,0x06,0x46,0x41,0x33,0x05,0x47,0x01,0x82,0x97,0x75,0xB7,0x83,0x57,0x61,0x02,0x13,0x07, -+0x00,0x20,0xCA,0x07,0xC9,0x83,0xBE,0x84,0x63,0x74,0xF7,0x00,0x93,0x04,0x00,0x20,0xC2,0x04,0xC1,0x80,0x93,0x8A,0x04,0x02,0x03,0xA7,0x49,0x52,0x63,0x6D,0x5A,0x01, -+0x83,0x25,0x04,0x21,0x83,0x27,0x04,0x42,0x26,0x86,0xA1,0x07,0x8A,0x07,0xBE,0x95,0x08,0x18,0x02,0x97,0x15,0xA8,0x93,0x07,0x00,0x02,0x63,0xFB,0x47,0x09,0x83,0x25, -+0x04,0x21,0x83,0x27,0x04,0x42,0x13,0x06,0x0A,0xFE,0x08,0x18,0xA1,0x07,0x8A,0x07,0xBE,0x95,0x02,0x97,0x83,0x25,0x44,0x41,0x83,0xA7,0x49,0x52,0x18,0x08,0x33,0x86, -+0x4A,0x41,0x33,0x05,0x47,0x01,0x82,0x97,0x93,0x77,0x09,0x0F,0x13,0x07,0x00,0x08,0x63,0x9A,0xE7,0x06,0x13,0x79,0x39,0x00,0x8D,0x47,0x03,0x07,0x81,0x04,0x69,0x44, -+0x63,0x14,0xF9,0x00,0x13,0x04,0x00,0x02,0x7D,0x87,0xB9,0x47,0xF9,0x8F,0xA2,0x97,0x18,0x18,0xBA,0x97,0x83,0xD7,0x67,0x00,0x89,0x45,0x13,0x05,0xE1,0x00,0x23,0x17, -+0xF1,0x00,0x83,0xA7,0x49,0x17,0x82,0x97,0x03,0x57,0xE1,0x00,0x93,0x07,0x07,0x80,0x91,0xC7,0xA1,0x67,0x93,0x87,0xD7,0x6D,0xE3,0x1B,0xF7,0xEE,0x26,0x86,0xA2,0x85, -+0x08,0x08,0xC9,0x33,0x7D,0x15,0x33,0x35,0xA0,0x00,0x33,0x05,0xA0,0x40,0xCD,0xB5,0x83,0x25,0x44,0x41,0x26,0x86,0xE3,0x0D,0xFA,0xF4,0x93,0x85,0x05,0x02,0xB3,0x85, -+0x45,0x41,0xB9,0xB7,0xE3,0x95,0x07,0xEC,0x13,0x79,0x39,0x00,0x8D,0x47,0x61,0x44,0x63,0x13,0xF9,0x00,0x79,0x44,0x1C,0x18,0xA2,0x97,0x69,0xBF,0x41,0x11,0x01,0x45, -+0x06,0xC6,0xF9,0x39,0x97,0xF7,0x40,0xFF,0x93,0x87,0xC7,0x4D,0x83,0xA7,0x47,0x42,0x13,0x05,0x80,0x0C,0x82,0x97,0x05,0x45,0xE1,0x31,0xB2,0x40,0x01,0x45,0x41,0x01, -+0x82,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ++0x07,0x10,0x98,0xC7,0xB7,0x77,0xA0,0x00,0x37,0x07,0x00,0x80,0xF8,0xD3,0x82,0x80,0x83,0x46,0x55,0x00,0x83,0x47,0x45,0x00,0x03,0x47,0x35,0x00,0xA2,0x06,0xDD,0x8E, ++0x83,0x47,0x65,0x00,0xC2,0x07,0xDD,0x8E,0x83,0x47,0x75,0x00,0xE2,0x07,0xD5,0x8F,0x13,0xD6,0x07,0x01,0x97,0x76,0xAF,0xFF,0x93,0x86,0xC6,0x76,0x25,0xC2,0x93,0x95, ++0x07,0x01,0xC1,0x81,0x13,0x16,0x07,0x01,0x4D,0x8E,0x97,0xE5,0xAF,0xFF,0x23,0xAF,0xC5,0xF2,0x13,0x06,0x00,0x18,0x33,0x06,0xC7,0x02,0x89,0x65,0x05,0x45,0x36,0x96, ++0x2E,0x96,0x83,0x45,0x06,0x41,0x63,0x1C,0xB5,0x04,0x93,0x15,0x57,0x00,0xAE,0x96,0x91,0x65,0xAE,0x96,0x83,0xA6,0xC6,0x47,0x89,0x8A,0xB1,0xE2,0x93,0x06,0x40,0x06, ++0x63,0xFF,0xF6,0x02,0xC2,0x07,0xC1,0x83,0x23,0x1C,0xF6,0x40,0x97,0xF7,0x40,0xFF,0x93,0x87,0x47,0x71,0x03,0xA3,0x07,0x0C,0x3A,0x85,0x02,0x83,0x13,0x06,0x00,0x18, ++0x33,0x06,0xC7,0x02,0x13,0x95,0x07,0x01,0x89,0x65,0x41,0x81,0x36,0x96,0x2E,0x96,0x23,0x1C,0xA6,0x40,0x17,0xE6,0xAF,0xFF,0x23,0x2A,0x06,0xEC,0x59,0xBF,0x82,0x80, ++0x2D,0xC5,0x01,0x11,0x4A,0xC8,0x06,0xCE,0x22,0xCC,0x26,0xCA,0x2A,0x89,0x01,0x45,0xA9,0xC5,0x2E,0x85,0x2E,0x84,0x97,0x40,0x40,0xFF,0xE7,0x80,0x00,0x38,0x2A,0x86, ++0x81,0x44,0x32,0xC6,0x63,0x0A,0x96,0x00,0x4A,0x85,0x97,0x40,0x40,0xFF,0xE7,0x80,0xC0,0x36,0x32,0x46,0x63,0xE4,0xA4,0x00,0x01,0x45,0x05,0xA0,0x33,0x05,0x99,0x00, ++0x03,0x47,0x05,0x00,0x83,0x47,0x04,0x00,0x63,0x1F,0xF7,0x00,0xA2,0x85,0x97,0xE0,0x3F,0xFF,0xE7,0x80,0xA0,0x61,0x13,0x35,0x15,0x00,0xF2,0x40,0x62,0x44,0xD2,0x44, ++0x42,0x49,0x05,0x61,0x82,0x80,0x85,0x04,0x6D,0xBF,0x01,0x45,0x82,0x80,0x01,0x11,0xA1,0x05,0x4A,0xC8,0x13,0x99,0x05,0x01,0x13,0x59,0x09,0x01,0x13,0x05,0x05,0x02, ++0x22,0xCC,0x06,0xCE,0x26,0xCA,0x4E,0xC6,0x33,0x04,0x25,0x01,0x03,0x47,0x94,0x00,0xC5,0x47,0x63,0x0B,0xF7,0x00,0x81,0x47,0xF2,0x40,0x62,0x44,0xD2,0x44,0x42,0x49, ++0xB2,0x49,0x3E,0x85,0x05,0x61,0x82,0x80,0x83,0x47,0x54,0x01,0x03,0x45,0x44,0x01,0xB2,0x84,0xA2,0x07,0x5D,0x8D,0x97,0x60,0x40,0xFF,0xE7,0x80,0x80,0xDF,0x83,0x47, ++0x74,0x01,0xAA,0x89,0x03,0x45,0x64,0x01,0xA2,0x07,0x5D,0x8D,0x97,0x60,0x40,0xFF,0xE7,0x80,0x20,0xDE,0x85,0x67,0x93,0x87,0x97,0x4E,0xE3,0x9E,0xF9,0xFA,0xE3,0x1C, ++0x35,0xFB,0x03,0x47,0x14,0x02,0x83,0x47,0x04,0x02,0x33,0x86,0x24,0x41,0x22,0x07,0x5D,0x8F,0x13,0x06,0x86,0xFD,0x93,0x07,0xF0,0x0F,0x59,0xDF,0x61,0x47,0xE3,0x7D, ++0xC7,0xF8,0x13,0x04,0x84,0x02,0x97,0xE5,0xAF,0xFF,0x93,0x85,0x65,0xE1,0x22,0x85,0xC5,0x3D,0x85,0x47,0x51,0xF1,0x97,0xE5,0xAF,0xFF,0x93,0x85,0xE5,0xE1,0x22,0x85, ++0xC5,0x35,0x93,0x07,0xF0,0x0F,0x2D,0xD9,0x85,0x47,0xBD,0xB7,0x13,0x01,0x01,0xDB,0x23,0x24,0x81,0x24,0x81,0x45,0x2A,0x84,0x13,0x06,0x00,0x22,0x08,0x08,0x23,0x20, ++0x21,0x25,0x23,0x2E,0x31,0x23,0x23,0x2C,0x41,0x23,0x23,0x26,0x11,0x24,0x23,0x22,0x91,0x24,0x23,0x2A,0x51,0x23,0x97,0xE0,0x3F,0xFF,0xE7,0x80,0xA0,0x41,0x03,0x29, ++0x04,0x02,0x17,0xB4,0xAF,0xFF,0x13,0x04,0xE4,0x57,0x03,0x2A,0x84,0x41,0x83,0x27,0x04,0x42,0x83,0x25,0x04,0x21,0x97,0xF9,0x40,0xFF,0x93,0x89,0xA9,0x56,0x33,0x0A, ++0xFA,0x40,0x0A,0x0A,0x93,0x07,0x30,0x02,0x03,0xA7,0x49,0x52,0x63,0xF1,0x47,0x05,0x83,0x27,0x04,0x42,0x13,0x06,0x40,0x02,0x08,0x08,0x8A,0x07,0xBE,0x95,0x02,0x97, ++0x93,0x77,0xF9,0x00,0x21,0x47,0x63,0x88,0xE7,0x04,0x7D,0x55,0x83,0x20,0xC1,0x24,0x03,0x24,0x81,0x24,0x83,0x24,0x41,0x24,0x03,0x29,0x01,0x24,0x83,0x29,0xC1,0x23, ++0x03,0x2A,0x81,0x23,0x83,0x2A,0x41,0x23,0x13,0x01,0x01,0x25,0x82,0x80,0x83,0x27,0x04,0x42,0x52,0x86,0x08,0x08,0x8A,0x07,0xBE,0x95,0x02,0x97,0x83,0x25,0x44,0x41, ++0x83,0xA7,0x49,0x52,0x18,0x08,0x13,0x06,0x40,0x02,0x33,0x06,0x46,0x41,0x33,0x05,0x47,0x01,0x82,0x97,0x75,0xB7,0x83,0x57,0x61,0x02,0x13,0x07,0x00,0x20,0xCA,0x07, ++0xC9,0x83,0xBE,0x84,0x63,0x74,0xF7,0x00,0x93,0x04,0x00,0x20,0xC2,0x04,0xC1,0x80,0x93,0x8A,0x04,0x02,0x03,0xA7,0x49,0x52,0x63,0x6D,0x5A,0x01,0x83,0x25,0x04,0x21, ++0x83,0x27,0x04,0x42,0x26,0x86,0xA1,0x07,0x8A,0x07,0xBE,0x95,0x08,0x18,0x02,0x97,0x15,0xA8,0x93,0x07,0x00,0x02,0x63,0xFB,0x47,0x09,0x83,0x25,0x04,0x21,0x83,0x27, ++0x04,0x42,0x13,0x06,0x0A,0xFE,0x08,0x18,0xA1,0x07,0x8A,0x07,0xBE,0x95,0x02,0x97,0x83,0x25,0x44,0x41,0x83,0xA7,0x49,0x52,0x18,0x08,0x33,0x86,0x4A,0x41,0x33,0x05, ++0x47,0x01,0x82,0x97,0x93,0x77,0x09,0x0F,0x13,0x07,0x00,0x08,0x63,0x9A,0xE7,0x06,0x13,0x79,0x39,0x00,0x8D,0x47,0x03,0x07,0x81,0x04,0x69,0x44,0x63,0x14,0xF9,0x00, ++0x13,0x04,0x00,0x02,0x7D,0x87,0xB9,0x47,0xF9,0x8F,0xA2,0x97,0x18,0x18,0xBA,0x97,0x83,0xD7,0x67,0x00,0x89,0x45,0x13,0x05,0xE1,0x00,0x23,0x17,0xF1,0x00,0x83,0xA7, ++0x49,0x17,0x82,0x97,0x03,0x57,0xE1,0x00,0x93,0x07,0x07,0x80,0x91,0xC7,0xA1,0x67,0x93,0x87,0xD7,0x6D,0xE3,0x1B,0xF7,0xEE,0x26,0x86,0xA2,0x85,0x08,0x08,0x45,0x3B, ++0x7D,0x15,0x33,0x35,0xA0,0x00,0x33,0x05,0xA0,0x40,0xCD,0xB5,0x83,0x25,0x44,0x41,0x26,0x86,0xE3,0x0D,0xFA,0xF4,0x93,0x85,0x05,0x02,0xB3,0x85,0x45,0x41,0xB9,0xB7, ++0xE3,0x95,0x07,0xEC,0x13,0x79,0x39,0x00,0x8D,0x47,0x61,0x44,0x63,0x13,0xF9,0x00,0x79,0x44,0x1C,0x18,0xA2,0x97,0x69,0xBF,0x41,0x11,0x01,0x45,0x06,0xC6,0xCD,0x36, ++0x97,0xF7,0x40,0xFF,0x93,0x87,0x07,0x3E,0x83,0xA7,0x47,0x42,0x13,0x05,0x80,0x0C,0x82,0x97,0x05,0x45,0xF1,0x36,0xB2,0x40,0x01,0x45,0x41,0x01,0x82,0x80,0x17,0xB7, ++0xAF,0xFF,0x13,0x07,0x27,0x3C,0x83,0x26,0x87,0x4C,0xAA,0x87,0x05,0x46,0x03,0xC8,0x06,0x02,0xBA,0x86,0x13,0x45,0xF8,0xFF,0x3E,0x95,0x13,0x75,0xF5,0x0F,0x23,0x80, ++0xA5,0x00,0x63,0x7E,0xA6,0x00,0xFD,0x17,0x93,0xF7,0xF7,0x0F,0x01,0x47,0x8D,0x48,0x63,0x98,0x07,0x01,0x85,0x47,0x63,0xF4,0xE7,0x00,0x13,0x05,0xF0,0x0F,0x82,0x80, ++0x03,0xA6,0x86,0x4C,0x93,0xF5,0x37,0x00,0x96,0x05,0x2E,0x96,0x03,0x46,0x46,0x00,0x63,0x15,0x16,0x01,0x05,0x07,0x13,0x77,0xF7,0x0F,0xFD,0x17,0x93,0xF7,0xF7,0x0F, ++0xC1,0xBF,0x79,0x71,0x06,0xD6,0x22,0xD4,0x26,0xD2,0x4A,0xD0,0x4E,0xCE,0xA3,0x07,0x01,0x00,0x97,0x97,0xAF,0xFF,0x83,0xC7,0xF7,0x74,0xB1,0xCF,0x17,0xC7,0xAF,0xFF, ++0x03,0x47,0xA7,0xB8,0x85,0x47,0x63,0x08,0xF7,0x04,0x97,0xB4,0xAF,0xFF,0x93,0x84,0x64,0x33,0x83,0xA7,0x84,0x4C,0xAA,0x89,0x93,0x05,0xF1,0x00,0x03,0xC5,0x07,0x00, ++0x17,0xF4,0x40,0xFF,0x13,0x04,0x04,0x32,0x99,0x3F,0x93,0x07,0xF0,0x0F,0x2A,0x89,0x63,0x1A,0xF5,0x02,0x83,0x27,0xC4,0x4B,0x17,0xF5,0xAF,0xFF,0x13,0x05,0x05,0x45, ++0x82,0x97,0x83,0x27,0x84,0x4B,0x83,0x45,0xF1,0x00,0x11,0x45,0x82,0x97,0x83,0x27,0x84,0x4A,0x29,0x45,0x82,0x97,0xB2,0x50,0x22,0x54,0x92,0x54,0x02,0x59,0xF2,0x49, ++0x45,0x61,0x82,0x80,0x89,0x47,0x63,0xF9,0xA7,0x02,0x83,0x27,0xC4,0x4B,0x17,0xF5,0xAF,0xFF,0x13,0x05,0x65,0x42,0x42,0x09,0x82,0x97,0x83,0xA7,0x84,0x4C,0x11,0x45, ++0x83,0xC5,0x07,0x00,0x83,0x27,0x84,0x4B,0xE2,0x05,0xB3,0xE5,0x25,0x01,0x82,0x97,0x83,0x27,0x84,0x4A,0x29,0x45,0x82,0x97,0x83,0xA7,0x84,0x4C,0x03,0xA7,0x84,0x4C, ++0x13,0x05,0x00,0x40,0x03,0x47,0x07,0x00,0x0D,0x8B,0x16,0x07,0xBA,0x97,0x0D,0x47,0x23,0x82,0xE7,0x00,0x03,0xA7,0x84,0x4C,0xA3,0x82,0x37,0x01,0x23,0x83,0x07,0x00, ++0x83,0x47,0x07,0x00,0x85,0x07,0x23,0x00,0xF7,0x00,0x83,0x27,0xC4,0x18,0x82,0x97,0x59,0xB7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, @@ -15628,7 +15437,7 @@ index 000000000000..b9661763dbcc + #endif //#define _F_BUF_H_ diff --git a/drivers/net/wireless/w1/common/patch_fi_cmd.h b/drivers/net/wireless/w1/common/patch_fi_cmd.h new file mode 100644 -index 000000000000..ee6a5369039d +index 0000000000000000000000000000000000000000..ee6a5369039d2c5b135bae3558459670eb151ba3 --- /dev/null +++ b/drivers/net/wireless/w1/common/patch_fi_cmd.h @@ -0,0 +1,159 @@ @@ -15793,12262 +15602,12262 @@ index 000000000000..ee6a5369039d +#endif diff --git a/drivers/net/wireless/w1/common/rf_d_adda_core_reg.h b/drivers/net/wireless/w1/common/rf_d_adda_core_reg.h new file mode 100644 -index 000000000000..0d7106c3b6dc +index 0000000000000000000000000000000000000000..6a0e2cc9129e01754ef1f8d68bc80e166e97e77f --- /dev/null +++ b/drivers/net/wireless/w1/common/rf_d_adda_core_reg.h @@ -0,0 +1,164 @@ -+#ifdef RF_D_ADDA_CORE_REG ++#ifdef RF_D_ADDA_CORE_REG ++#else ++#define RF_D_ADDA_CORE_REG ++ ++ ++#define RF_D_ADDA_CORE_REG_BASE (0xa0e000) ++ ++#define RG_CORE_A0 (RF_D_ADDA_CORE_REG_BASE + 0x0) ++// Bit 31 :0 rg_core_cfg0 U RW default = 'h0 ++typedef union RG_CORE_A0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_core_cfg0 : 32; ++ } b; ++} RG_CORE_A0_FIELD_T; ++ ++#define RG_CORE_A1 (RF_D_ADDA_CORE_REG_BASE + 0x4) ++// Bit 31 :0 rg_core_cfg1 U RW default = 'h0 ++typedef union RG_CORE_A1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_core_cfg1 : 32; ++ } b; ++} RG_CORE_A1_FIELD_T; ++ ++#define RG_CORE_A2 (RF_D_ADDA_CORE_REG_BASE + 0x8) ++// Bit 0 rg_core_enb_man U RW default = 'h0 ++// Bit 4 rg_core_enb_man_en U RW default = 'h0 ++// Bit 8 rg_xmit_enb_man U RW default = 'h0 ++// Bit 12 rg_xmit_enb_man_en U RW default = 'h0 ++// Bit 16 rg_recv_enb_man U RW default = 'h0 ++// Bit 20 rg_recv_enb_man_en U RW default = 'h0 ++// Bit 24 rg_esti_enb_man U RW default = 'h0 ++// Bit 28 rg_esti_enb_man_en U RW default = 'h0 ++typedef union RG_CORE_A2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_core_enb_man : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_core_enb_man_en : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int rg_xmit_enb_man : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int rg_xmit_enb_man_en : 1; ++ unsigned int rsvd_3 : 3; ++ unsigned int rg_recv_enb_man : 1; ++ unsigned int rsvd_4 : 3; ++ unsigned int rg_recv_enb_man_en : 1; ++ unsigned int rsvd_5 : 3; ++ unsigned int rg_esti_enb_man : 1; ++ unsigned int rsvd_6 : 3; ++ unsigned int rg_esti_enb_man_en : 1; ++ unsigned int rsvd_7 : 3; ++ } b; ++} RG_CORE_A2_FIELD_T; ++ ++#define RG_CORE_A3 (RF_D_ADDA_CORE_REG_BASE + 0xc) ++// Bit 12 :0 rg_freq_mhz_man U RW default = 'h0 ++// Bit 15 rg_freq_mhz_man_en U RW default = 'h0 ++// Bit 24 rg_2g_5g_man U RW default = 'h0 ++// Bit 31 rg_2g_5g_man_en U RW default = 'h0 ++typedef union RG_CORE_A3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_freq_mhz_man : 13; ++ unsigned int rsvd_0 : 2; ++ unsigned int rg_freq_mhz_man_en : 1; ++ unsigned int rsvd_1 : 8; ++ unsigned int rg_2g_5g_man : 1; ++ unsigned int rsvd_2 : 6; ++ unsigned int rg_2g_5g_man_en : 1; ++ } b; ++} RG_CORE_A3_FIELD_T; ++ ++#define RG_CORE_A4 (RF_D_ADDA_CORE_REG_BASE + 0x10) ++// Bit 3 :0 rg_tx_pwrlvl_man U RW default = 'h0 ++// Bit 8 rg_tx_pwrlvl_man_en U RW default = 'h0 ++// Bit 17 :16 rg_tx_bw_man U RW default = 'h0 ++// Bit 20 rg_tx_bw_man_en U RW default = 'h0 ++// Bit 25 :24 rg_dac_fs_man U RW default = 'h0 ++// Bit 28 rg_dac_fs_man_en U RW default = 'h0 ++typedef union RG_CORE_A4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl_man : 4; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_tx_pwrlvl_man_en : 1; ++ unsigned int rsvd_1 : 7; ++ unsigned int rg_tx_bw_man : 2; ++ unsigned int rsvd_2 : 2; ++ unsigned int rg_tx_bw_man_en : 1; ++ unsigned int rsvd_3 : 3; ++ unsigned int rg_dac_fs_man : 2; ++ unsigned int rsvd_4 : 2; ++ unsigned int rg_dac_fs_man_en : 1; ++ unsigned int rsvd_5 : 3; ++ } b; ++} RG_CORE_A4_FIELD_T; ++ ++#define RG_CORE_A5 (RF_D_ADDA_CORE_REG_BASE + 0x14) ++// Bit 7 :0 rg_rx_gain_man U RW default = 'h0 ++// Bit 8 rg_rx_gain_man_en U RW default = 'h0 ++// Bit 17 :16 rg_rx_bw_man U RW default = 'h0 ++// Bit 20 rg_rx_bw_man_en U RW default = 'h0 ++// Bit 25 :24 rg_adc_fs_man U RW default = 'h0 ++// Bit 28 rg_adc_fs_man_en U RW default = 'h0 ++typedef union RG_CORE_A5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rx_gain_man : 8; ++ unsigned int rg_rx_gain_man_en : 1; ++ unsigned int rsvd_0 : 7; ++ unsigned int rg_rx_bw_man : 2; ++ unsigned int rsvd_1 : 2; ++ unsigned int rg_rx_bw_man_en : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int rg_adc_fs_man : 2; ++ unsigned int rsvd_3 : 2; ++ unsigned int rg_adc_fs_man_en : 1; ++ unsigned int rsvd_4 : 3; ++ } b; ++} RG_CORE_A5_FIELD_T; ++ ++#define RG_CORE_A6 (RF_D_ADDA_CORE_REG_BASE + 0x18) ++// Bit 1 :0 rg_rf_mode_man U RW default = 'h0 ++// Bit 4 rg_rf_mode_man_en U RW default = 'h0 ++// Bit 11 :8 rg_cali_mode_man U RW default = 'h0 ++// Bit 16 rg_cali_mode_man_en U RW default = 'h0 ++// Bit 20 rg_tx_rx_man_en U RW default = 'h0 ++// Bit 24 rg_tx_rx_man U RW default = 'h0 ++typedef union RG_CORE_A6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rf_mode_man : 2; ++ unsigned int rsvd_0 : 2; ++ unsigned int rg_rf_mode_man_en : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int rg_cali_mode_man : 4; ++ unsigned int rsvd_2 : 4; ++ unsigned int rg_cali_mode_man_en : 1; ++ unsigned int rsvd_3 : 3; ++ unsigned int rg_tx_rx_man_en : 1; ++ unsigned int rsvd_4 : 3; ++ unsigned int rg_tx_rx_man : 1; ++ unsigned int rsvd_5 : 7; ++ } b; ++} RG_CORE_A6_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/rf_d_adda_esti_reg.h b/drivers/net/wireless/w1/common/rf_d_adda_esti_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..e316994226fa5aa6a6542bbe0335b839f0a7225c +--- /dev/null ++++ b/drivers/net/wireless/w1/common/rf_d_adda_esti_reg.h +@@ -0,0 +1,1390 @@ ++#ifdef RF_D_ADDA_ESTI_REG ++#else ++#define RF_D_ADDA_ESTI_REG ++ ++ ++#define RF_D_ADDA_ESTI_REG_BASE (0xa0ec00) ++ ++#define RG_ESTI_A0 (RF_D_ADDA_ESTI_REG_BASE + 0x0) ++// Bit 31 :0 rg_esti_cfg0 U RW default = 'h0 ++typedef union RG_ESTI_A0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_esti_cfg0 : 32; ++ } b; ++} RG_ESTI_A0_FIELD_T; ++ ++#define RG_ESTI_A1 (RF_D_ADDA_ESTI_REG_BASE + 0x4) ++// Bit 31 :0 rg_esti_cfg1 U RW default = 'h0 ++typedef union RG_ESTI_A1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_esti_cfg1 : 32; ++ } b; ++} RG_ESTI_A1_FIELD_T; ++ ++#define RG_ESTI_A3 (RF_D_ADDA_ESTI_REG_BASE + 0xc) ++// Bit 14 :0 ro_rxirr_eup_0 U RO default = 'h0 ++// Bit 30 :16 ro_rxirr_eup_1 U RO default = 'h0 ++typedef union RG_ESTI_A3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_eup_0 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_rxirr_eup_1 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_ESTI_A3_FIELD_T; ++ ++#define RG_ESTI_A4 (RF_D_ADDA_ESTI_REG_BASE + 0x10) ++// Bit 14 :0 ro_rxirr_eup_2 U RO default = 'h0 ++// Bit 30 :16 ro_rxirr_eup_3 U RO default = 'h0 ++typedef union RG_ESTI_A4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_eup_2 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_rxirr_eup_3 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_ESTI_A4_FIELD_T; ++ ++#define RG_ESTI_A5 (RF_D_ADDA_ESTI_REG_BASE + 0x14) ++// Bit 14 :0 ro_rxirr_pup_0 U RO default = 'h0 ++// Bit 30 :16 ro_rxirr_pup_1 U RO default = 'h0 ++typedef union RG_ESTI_A5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_pup_0 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_rxirr_pup_1 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_ESTI_A5_FIELD_T; ++ ++#define RG_ESTI_A6 (RF_D_ADDA_ESTI_REG_BASE + 0x18) ++// Bit 14 :0 ro_rxirr_pup_2 U RO default = 'h0 ++// Bit 30 :16 ro_rxirr_pup_3 U RO default = 'h0 ++typedef union RG_ESTI_A6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_pup_2 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_rxirr_pup_3 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_ESTI_A6_FIELD_T; ++ ++#define RG_ESTI_A7 (RF_D_ADDA_ESTI_REG_BASE + 0x1c) ++// Bit 14 :0 ro_rxirr_elow_0 U RO default = 'h0 ++// Bit 30 :16 ro_rxirr_elow_1 U RO default = 'h0 ++typedef union RG_ESTI_A7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_elow_0 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_rxirr_elow_1 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_ESTI_A7_FIELD_T; ++ ++#define RG_ESTI_A8 (RF_D_ADDA_ESTI_REG_BASE + 0x20) ++// Bit 14 :0 ro_rxirr_elow_2 U RO default = 'h0 ++// Bit 30 :16 ro_rxirr_elow_3 U RO default = 'h0 ++typedef union RG_ESTI_A8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_elow_2 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_rxirr_elow_3 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_ESTI_A8_FIELD_T; ++ ++#define RG_ESTI_A9 (RF_D_ADDA_ESTI_REG_BASE + 0x24) ++// Bit 14 :0 ro_rxirr_plow_0 U RO default = 'h0 ++// Bit 30 :16 ro_rxirr_plow_1 U RO default = 'h0 ++typedef union RG_ESTI_A9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_plow_0 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_rxirr_plow_1 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_ESTI_A9_FIELD_T; ++ ++#define RG_ESTI_A10 (RF_D_ADDA_ESTI_REG_BASE + 0x28) ++// Bit 14 :0 ro_rxirr_plow_2 U RO default = 'h0 ++// Bit 30 :16 ro_rxirr_plow_3 U RO default = 'h0 ++typedef union RG_ESTI_A10_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_plow_2 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_rxirr_plow_3 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_ESTI_A10_FIELD_T; ++ ++#define RG_ESTI_A11 (RF_D_ADDA_ESTI_REG_BASE + 0x2c) ++// Bit 0 rg_iqib_enable U RW default = 'h0 ++// Bit 1 rg_iqib_hold U RW default = 'h0 ++// Bit 7 :4 rg_iqib_period U RW default = 'h0 ++// Bit 11 :8 rg_iqib_step_a U RW default = 'h1 ++// Bit 15 :12 rg_iqib_step_b U RW default = 'h1 ++// Bit 18 :16 rg_iqib_shift U RW default = 'h0 ++// Bit 20 rg_iqib_man_en U RW default = 'h0 ++// Bit 24 rg_rxirr_read_response U RW default = 'h0 ++// Bit 28 rg_rxirr_read_response_bypass U RW default = 'h0 ++// Bit 31 ro_rxirr_ready U RO default = 'h0 ++typedef union RG_ESTI_A11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_iqib_enable : 1; ++ unsigned int rg_iqib_hold : 1; ++ unsigned int rsvd_0 : 2; ++ unsigned int rg_iqib_period : 4; ++ unsigned int rg_iqib_step_a : 4; ++ unsigned int rg_iqib_step_b : 4; ++ unsigned int rg_iqib_shift : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int rg_iqib_man_en : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int rg_rxirr_read_response : 1; ++ unsigned int rsvd_3 : 3; ++ unsigned int rg_rxirr_read_response_bypass : 1; ++ unsigned int rsvd_4 : 2; ++ unsigned int ro_rxirr_ready : 1; ++ } b; ++} RG_ESTI_A11_FIELD_T; ++ ++#define RG_ESTI_A12 (RF_D_ADDA_ESTI_REG_BASE + 0x30) ++// Bit 21 :0 rg_set_b U RW default = 'h0 ++// Bit 31 rg_set_val U RW default = 'h0 ++typedef union RG_ESTI_A12_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_set_b : 22; ++ unsigned int rsvd_0 : 9; ++ unsigned int rg_set_val : 1; ++ } b; ++} RG_ESTI_A12_FIELD_T; ++ ++#define RG_ESTI_A13 (RF_D_ADDA_ESTI_REG_BASE + 0x34) ++// Bit 18 :0 rg_set_a U RW default = 'h0 ++typedef union RG_ESTI_A13_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_set_a : 19; ++ unsigned int rsvd_0 : 13; ++ } b; ++} RG_ESTI_A13_FIELD_T; ++ ++#define RG_ESTI_A14 (RF_D_ADDA_ESTI_REG_BASE + 0x38) ++// Bit 3 :0 rg_dc_rm_leaky_factor U RW default = 'h0 ++// Bit 28 :4 rg_spectrum_ana_angle_man U RW default = 'h0 ++// Bit 31 rg_spectrum_ana_angle_man_en U RW default = 'h0 ++typedef union RG_ESTI_A14_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_dc_rm_leaky_factor : 4; ++ unsigned int rg_spectrum_ana_angle_man : 25; ++ unsigned int rsvd_0 : 2; ++ unsigned int rg_spectrum_ana_angle_man_en : 1; ++ } b; ++} RG_ESTI_A14_FIELD_T; ++ ++#define RG_ESTI_A15 (RF_D_ADDA_ESTI_REG_BASE + 0x3c) ++// Bit 31 :0 rg_esti_cfg2 U RW default = 'h0 ++typedef union RG_ESTI_A15_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_esti_cfg2 : 32; ++ } b; ++} RG_ESTI_A15_FIELD_T; ++ ++#define RG_ESTI_A16 (RF_D_ADDA_ESTI_REG_BASE + 0x40) ++// Bit 31 :0 rg_esti_cfg3 U RW default = 'h0 ++typedef union RG_ESTI_A16_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_esti_cfg3 : 32; ++ } b; ++} RG_ESTI_A16_FIELD_T; ++ ++#define RG_ESTI_A17 (RF_D_ADDA_ESTI_REG_BASE + 0x44) ++// Bit 6 :0 ro_dcoc_code_i U RO default = 'h0 ++// Bit 14 :8 ro_dcoc_code_q U RO default = 'h0 ++// Bit 16 ro_dcoc_code_ready U RO default = 'h0 ++// Bit 24 ro_dcoc_finish U RO default = 'h0 ++// Bit 28 rg_dcoc_read_response_bypass U RW default = 'h0 ++// Bit 31 rg_dcoc_read_response U RW default = 'h0 ++typedef union RG_ESTI_A17_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_dcoc_code_i : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_dcoc_code_q : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int ro_dcoc_code_ready : 1; ++ unsigned int rsvd_2 : 7; ++ unsigned int ro_dcoc_finish : 1; ++ unsigned int rsvd_3 : 3; ++ unsigned int rg_dcoc_read_response_bypass : 1; ++ unsigned int rsvd_4 : 2; ++ unsigned int rg_dcoc_read_response : 1; ++ } b; ++} RG_ESTI_A17_FIELD_T; ++ ++#define RG_ESTI_A18 (RF_D_ADDA_ESTI_REG_BASE + 0x48) ++// Bit 3 :0 ro_lnatank_esti_code U RO default = 'h0 ++// Bit 8 ro_lnatank_esti_code_ready U RO default = 'h0 ++// Bit 16 ro_lnatank_esti_finish U RO default = 'h0 ++// Bit 28 rg_lnatank_read_response_bypass U RW default = 'h0 ++// Bit 31 rg_lnatank_read_response U RW default = 'h0 ++typedef union RG_ESTI_A18_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_lnatank_esti_code : 4; ++ unsigned int rsvd_0 : 4; ++ unsigned int ro_lnatank_esti_code_ready : 1; ++ unsigned int rsvd_1 : 7; ++ unsigned int ro_lnatank_esti_finish : 1; ++ unsigned int rsvd_2 : 11; ++ unsigned int rg_lnatank_read_response_bypass : 1; ++ unsigned int rsvd_3 : 2; ++ unsigned int rg_lnatank_read_response : 1; ++ } b; ++} RG_ESTI_A18_FIELD_T; ++ ++#define RG_ESTI_A19 (RF_D_ADDA_ESTI_REG_BASE + 0x4c) ++// Bit 7 :0 ro_txirr_dc_i U RO default = 'h0 ++// Bit 19 :12 ro_txirr_dc_q U RO default = 'h0 ++// Bit 24 ro_txirr_dc_ready U RO default = 'h0 ++// Bit 25 ro_txirr_code_ready U RO default = 'h0 ++// Bit 26 ro_txirr_mode_ready U RO default = 'h0 ++// Bit 28 rg_txirr_code_continue U RW default = 'h0 ++// Bit 29 rg_txirr_code_continue_bypass U RW default = 'h1 ++// Bit 30 rg_txirr_mode_continue U RW default = 'h0 ++// Bit 31 rg_txirr_mode_continue_bypass U RW default = 'h1 ++typedef union RG_ESTI_A19_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txirr_dc_i : 8; ++ unsigned int rsvd_0 : 4; ++ unsigned int ro_txirr_dc_q : 8; ++ unsigned int rsvd_1 : 4; ++ unsigned int ro_txirr_dc_ready : 1; ++ unsigned int ro_txirr_code_ready : 1; ++ unsigned int ro_txirr_mode_ready : 1; ++ unsigned int rsvd_2 : 1; ++ unsigned int rg_txirr_code_continue : 1; ++ unsigned int rg_txirr_code_continue_bypass : 1; ++ unsigned int rg_txirr_mode_continue : 1; ++ unsigned int rg_txirr_mode_continue_bypass : 1; ++ } b; ++} RG_ESTI_A19_FIELD_T; ++ ++#define RG_ESTI_A20 (RF_D_ADDA_ESTI_REG_BASE + 0x50) ++// Bit 7 :0 ro_txirr_alpha U RO default = 'h0 ++// Bit 19 :12 ro_txirr_theta U RO default = 'h0 ++// Bit 24 ro_txirr_irr_ready U RO default = 'h0 ++// Bit 28 rg_txirr_read_response_bypass U RW default = 'h0 ++// Bit 31 rg_txirr_read_response U RW default = 'h0 ++typedef union RG_ESTI_A20_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txirr_alpha : 8; ++ unsigned int rsvd_0 : 4; ++ unsigned int ro_txirr_theta : 8; ++ unsigned int rsvd_1 : 4; ++ unsigned int ro_txirr_irr_ready : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int rg_txirr_read_response_bypass : 1; ++ unsigned int rsvd_3 : 2; ++ unsigned int rg_txirr_read_response : 1; ++ } b; ++} RG_ESTI_A20_FIELD_T; ++ ++#define RG_ESTI_A21 (RF_D_ADDA_ESTI_REG_BASE + 0x54) ++// Bit 7 :0 rg_tx_dcmax_i U RW default = 'h33 ++// Bit 15 :8 rg_tx_dcmax_q U RW default = 'h33 ++// Bit 23 :16 rg_tx_alpha_max U RW default = 'h7b ++// Bit 31 :24 rg_tx_theta_max U RW default = 'h6b ++typedef union RG_ESTI_A21_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_dcmax_i : 8; ++ unsigned int rg_tx_dcmax_q : 8; ++ unsigned int rg_tx_alpha_max : 8; ++ unsigned int rg_tx_theta_max : 8; ++ } b; ++} RG_ESTI_A21_FIELD_T; ++ ++#define RG_ESTI_A22 (RF_D_ADDA_ESTI_REG_BASE + 0x58) ++// Bit 7 :0 rg_tx_dcmin_i U RW default = 'hcd ++// Bit 15 :8 rg_tx_dcmin_q U RW default = 'hcd ++// Bit 23 :16 rg_tx_alpha_min U RW default = 'h85 ++// Bit 31 :24 rg_tx_theta_min U RW default = 'h95 ++typedef union RG_ESTI_A22_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_dcmin_i : 8; ++ unsigned int rg_tx_dcmin_q : 8; ++ unsigned int rg_tx_alpha_min : 8; ++ unsigned int rg_tx_theta_min : 8; ++ } b; ++} RG_ESTI_A22_FIELD_T; ++ ++#define RG_ESTI_A23 (RF_D_ADDA_ESTI_REG_BASE + 0x5c) ++// Bit 3 :0 rg_tx_dc_i_step U RW default = 'h5 ++// Bit 7 :4 rg_tx_dc_q_step U RW default = 'h5 ++// Bit 11 :8 rg_tx_alpha_step U RW default = 'h3 ++// Bit 15 :12 rg_tx_theta_step U RW default = 'h4 ++// Bit 19 :16 rg_txirr_oper_bnd U RW default = 'h1 ++typedef union RG_ESTI_A23_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_dc_i_step : 4; ++ unsigned int rg_tx_dc_q_step : 4; ++ unsigned int rg_tx_alpha_step : 4; ++ unsigned int rg_tx_theta_step : 4; ++ unsigned int rg_txirr_oper_bnd : 4; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_ESTI_A23_FIELD_T; ++ ++#define RG_ESTI_A24 (RF_D_ADDA_ESTI_REG_BASE + 0x60) ++// Bit 24 :0 rg_spectrum_ana_angle_dcoc U RW default = 'h0 ++typedef union RG_ESTI_A24_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_spectrum_ana_angle_dcoc : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A24_FIELD_T; ++ ++#define RG_ESTI_A25 (RF_D_ADDA_ESTI_REG_BASE + 0x64) ++// Bit 24 :0 rg_spectrum_ana_angle_lna U RW default = 'h1f99999 ++typedef union RG_ESTI_A25_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_spectrum_ana_angle_lna : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A25_FIELD_T; ++ ++#define RG_ESTI_A26 (RF_D_ADDA_ESTI_REG_BASE + 0x68) ++// Bit 24 :0 rg_spectrum_ana_angle_txirr U RW default = 'h1c00000 ++typedef union RG_ESTI_A26_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_spectrum_ana_angle_txirr : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A26_FIELD_T; ++ ++#define RG_ESTI_A27 (RF_D_ADDA_ESTI_REG_BASE + 0x6c) ++// Bit 24 :0 rg_spectrum_ana_angle_txdc U RW default = 'h1e00000 ++typedef union RG_ESTI_A27_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_spectrum_ana_angle_txdc : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A27_FIELD_T; ++ ++#define RG_ESTI_A28 (RF_D_ADDA_ESTI_REG_BASE + 0x70) ++// Bit 24 :0 rg_spectrum_ana_angle_dpd U RW default = 'h0 ++typedef union RG_ESTI_A28_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_spectrum_ana_angle_dpd : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A28_FIELD_T; ++ ++#define RG_ESTI_A29 (RF_D_ADDA_ESTI_REG_BASE + 0x74) ++// Bit 24 :0 rg_spectrum_ana_angle_pwc U RW default = 'h0 ++typedef union RG_ESTI_A29_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_spectrum_ana_angle_pwc : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A29_FIELD_T; ++ ++#define RG_ESTI_A30 (RF_D_ADDA_ESTI_REG_BASE + 0x78) ++// Bit 24 :0 rg_irr_tone_freq_0 U RW default = 'h4ccccc ++typedef union RG_ESTI_A30_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_tone_freq_0 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A30_FIELD_T; ++ ++#define RG_ESTI_A31 (RF_D_ADDA_ESTI_REG_BASE + 0x7c) ++// Bit 24 :0 rg_irr_tone_freq_1 U RW default = 'ha66666 ++typedef union RG_ESTI_A31_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_tone_freq_1 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A31_FIELD_T; ++ ++#define RG_ESTI_A32 (RF_D_ADDA_ESTI_REG_BASE + 0x80) ++// Bit 24 :0 rg_irr_tone_freq_2 U RW default = 'hd33333 ++typedef union RG_ESTI_A32_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_tone_freq_2 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A32_FIELD_T; ++ ++#define RG_ESTI_A33 (RF_D_ADDA_ESTI_REG_BASE + 0x84) ++// Bit 24 :0 rg_irr_tone_freq_3 U RW default = 'hf99999 ++typedef union RG_ESTI_A33_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_tone_freq_3 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A33_FIELD_T; ++ ++#define RG_ESTI_A34 (RF_D_ADDA_ESTI_REG_BASE + 0x88) ++// Bit 24 :0 rg_irr_tone_freq_4 U RW default = 'h1066666 ++typedef union RG_ESTI_A34_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_tone_freq_4 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A34_FIELD_T; ++ ++#define RG_ESTI_A35 (RF_D_ADDA_ESTI_REG_BASE + 0x8c) ++// Bit 24 :0 rg_irr_tone_freq_5 U RW default = 'h12ccccc ++typedef union RG_ESTI_A35_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_tone_freq_5 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A35_FIELD_T; ++ ++#define RG_ESTI_A36 (RF_D_ADDA_ESTI_REG_BASE + 0x90) ++// Bit 24 :0 rg_irr_tone_freq_6 U RW default = 'h1599999 ++typedef union RG_ESTI_A36_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_tone_freq_6 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A36_FIELD_T; ++ ++#define RG_ESTI_A37 (RF_D_ADDA_ESTI_REG_BASE + 0x94) ++// Bit 24 :0 rg_irr_tone_freq_7 U RW default = 'h1b33333 ++typedef union RG_ESTI_A37_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_tone_freq_7 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_ESTI_A37_FIELD_T; ++ ++#define RG_ESTI_A38 (RF_D_ADDA_ESTI_REG_BASE + 0x98) ++// Bit 15 :0 rg_irr_interp_coef_up0 U RW default = 'hf751 ++// Bit 31 :16 rg_irr_interp_coef_up1 U RW default = 'h97e ++typedef union RG_ESTI_A38_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_up0 : 16; ++ unsigned int rg_irr_interp_coef_up1 : 16; ++ } b; ++} RG_ESTI_A38_FIELD_T; ++ ++#define RG_ESTI_A39 (RF_D_ADDA_ESTI_REG_BASE + 0x9c) ++// Bit 15 :0 rg_irr_interp_coef_up2 U RW default = 'hfbb7 ++// Bit 31 :16 rg_irr_interp_coef_up3 U RW default = 'h292 ++typedef union RG_ESTI_A39_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_up2 : 16; ++ unsigned int rg_irr_interp_coef_up3 : 16; ++ } b; ++} RG_ESTI_A39_FIELD_T; ++ ++#define RG_ESTI_A40 (RF_D_ADDA_ESTI_REG_BASE + 0xa0) ++// Bit 15 :0 rg_irr_interp_coef_up4 U RW default = 'h369c ++// Bit 31 :16 rg_irr_interp_coef_up5 U RW default = 'hd196 ++typedef union RG_ESTI_A40_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_up4 : 16; ++ unsigned int rg_irr_interp_coef_up5 : 16; ++ } b; ++} RG_ESTI_A40_FIELD_T; ++ ++#define RG_ESTI_A41 (RF_D_ADDA_ESTI_REG_BASE + 0xa4) ++// Bit 15 :0 rg_irr_interp_coef_up6 U RW default = 'h1ae1 ++// Bit 31 :16 rg_irr_interp_coef_up7 U RW default = 'hf4d1 ++typedef union RG_ESTI_A41_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_up6 : 16; ++ unsigned int rg_irr_interp_coef_up7 : 16; ++ } b; ++} RG_ESTI_A41_FIELD_T; ++ ++#define RG_ESTI_A42 (RF_D_ADDA_ESTI_REG_BASE + 0xa8) ++// Bit 15 :0 rg_irr_interp_coef_up8 U RW default = 'had86 ++// Bit 31 :16 rg_irr_interp_coef_up9 U RW default = 'h4663 ++typedef union RG_ESTI_A42_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_up8 : 16; ++ unsigned int rg_irr_interp_coef_up9 : 16; ++ } b; ++} RG_ESTI_A42_FIELD_T; ++ ++#define RG_ESTI_A43 (RF_D_ADDA_ESTI_REG_BASE + 0xac) ++// Bit 15 :0 rg_irr_interp_coef_upa U RW default = 'hd7c6 ++// Bit 31 :16 rg_irr_interp_coef_upb U RW default = 'hdd8 ++typedef union RG_ESTI_A43_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_upa : 16; ++ unsigned int rg_irr_interp_coef_upb : 16; ++ } b; ++} RG_ESTI_A43_FIELD_T; ++ ++#define RG_ESTI_A44 (RF_D_ADDA_ESTI_REG_BASE + 0xb0) ++// Bit 15 :0 rg_irr_interp_coef_upc U RW default = 'h288d ++// Bit 31 :16 rg_irr_interp_coef_upd U RW default = 'hde88 ++typedef union RG_ESTI_A44_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_upc : 16; ++ unsigned int rg_irr_interp_coef_upd : 16; ++ } b; ++} RG_ESTI_A44_FIELD_T; ++ ++#define RG_ESTI_A45 (RF_D_ADDA_ESTI_REG_BASE + 0xb4) ++// Bit 15 :0 rg_irr_interp_coef_upe U RW default = 'h11a2 ++// Bit 31 :16 rg_irr_interp_coef_upf U RW default = 'hfac5 ++typedef union RG_ESTI_A45_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_upe : 16; ++ unsigned int rg_irr_interp_coef_upf : 16; ++ } b; ++} RG_ESTI_A45_FIELD_T; ++ ++#define RG_ESTI_A46 (RF_D_ADDA_ESTI_REG_BASE + 0xb8) ++// Bit 15 :0 rg_irr_interp_coef_low0 U RW default = 'h288d ++// Bit 31 :16 rg_irr_interp_coef_low1 U RW default = 'hde88 ++typedef union RG_ESTI_A46_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_low0 : 16; ++ unsigned int rg_irr_interp_coef_low1 : 16; ++ } b; ++} RG_ESTI_A46_FIELD_T; ++ ++#define RG_ESTI_A47 (RF_D_ADDA_ESTI_REG_BASE + 0xbc) ++// Bit 15 :0 rg_irr_interp_coef_low2 U RW default = 'h11a2 ++// Bit 31 :16 rg_irr_interp_coef_low3 U RW default = 'hfac5 ++typedef union RG_ESTI_A47_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_low2 : 16; ++ unsigned int rg_irr_interp_coef_low3 : 16; ++ } b; ++} RG_ESTI_A47_FIELD_T; ++ ++#define RG_ESTI_A48 (RF_D_ADDA_ESTI_REG_BASE + 0xc0) ++// Bit 15 :0 rg_irr_interp_coef_low4 U RW default = 'had86 ++// Bit 31 :16 rg_irr_interp_coef_low5 U RW default = 'h4663 ++typedef union RG_ESTI_A48_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_low4 : 16; ++ unsigned int rg_irr_interp_coef_low5 : 16; ++ } b; ++} RG_ESTI_A48_FIELD_T; ++ ++#define RG_ESTI_A49 (RF_D_ADDA_ESTI_REG_BASE + 0xc4) ++// Bit 15 :0 rg_irr_interp_coef_low6 U RW default = 'hd7c6 ++// Bit 31 :16 rg_irr_interp_coef_low7 U RW default = 'hdd8 ++typedef union RG_ESTI_A49_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_low6 : 16; ++ unsigned int rg_irr_interp_coef_low7 : 16; ++ } b; ++} RG_ESTI_A49_FIELD_T; ++ ++#define RG_ESTI_A50 (RF_D_ADDA_ESTI_REG_BASE + 0xc8) ++// Bit 15 :0 rg_irr_interp_coef_low8 U RW default = 'h369c ++// Bit 31 :16 rg_irr_interp_coef_low9 U RW default = 'hd196 ++typedef union RG_ESTI_A50_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_low8 : 16; ++ unsigned int rg_irr_interp_coef_low9 : 16; ++ } b; ++} RG_ESTI_A50_FIELD_T; ++ ++#define RG_ESTI_A51 (RF_D_ADDA_ESTI_REG_BASE + 0xcc) ++// Bit 15 :0 rg_irr_interp_coef_lowa U RW default = 'h1ae1 ++// Bit 31 :16 rg_irr_interp_coef_lowb U RW default = 'hf4d1 ++typedef union RG_ESTI_A51_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_lowa : 16; ++ unsigned int rg_irr_interp_coef_lowb : 16; ++ } b; ++} RG_ESTI_A51_FIELD_T; ++ ++#define RG_ESTI_A52 (RF_D_ADDA_ESTI_REG_BASE + 0xd0) ++// Bit 15 :0 rg_irr_interp_coef_lowc U RW default = 'hf751 ++// Bit 31 :16 rg_irr_interp_coef_lowd U RW default = 'h97e ++typedef union RG_ESTI_A52_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_lowc : 16; ++ unsigned int rg_irr_interp_coef_lowd : 16; ++ } b; ++} RG_ESTI_A52_FIELD_T; ++ ++#define RG_ESTI_A53 (RF_D_ADDA_ESTI_REG_BASE + 0xd4) ++// Bit 15 :0 rg_irr_interp_coef_lowe U RW default = 'hfbb7 ++// Bit 31 :16 rg_irr_interp_coef_lowf U RW default = 'h292 ++typedef union RG_ESTI_A53_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_irr_interp_coef_lowe : 16; ++ unsigned int rg_irr_interp_coef_lowf : 16; ++ } b; ++} RG_ESTI_A53_FIELD_T; ++ ++#define RG_ESTI_A54 (RF_D_ADDA_ESTI_REG_BASE + 0xd8) ++// Bit 3 :0 rg_rxirr_esti_len_avg_0 U RW default = 'h2 ++// Bit 7 :4 rg_rxirr_esti_miu_0 U RW default = 'h0 ++// Bit 15 :8 rg_rxirr_esti_navg_0 U RW default = 'h3 ++// Bit 19 :16 rg_rxirr_esti_len_avg_1 U RW default = 'h3 ++// Bit 23 :20 rg_rxirr_esti_miu_1 U RW default = 'h1 ++// Bit 31 :24 rg_rxirr_esti_navg_1 U RW default = 'h7 ++typedef union RG_ESTI_A54_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_esti_len_avg_0 : 4; ++ unsigned int rg_rxirr_esti_miu_0 : 4; ++ unsigned int rg_rxirr_esti_navg_0 : 8; ++ unsigned int rg_rxirr_esti_len_avg_1 : 4; ++ unsigned int rg_rxirr_esti_miu_1 : 4; ++ unsigned int rg_rxirr_esti_navg_1 : 8; ++ } b; ++} RG_ESTI_A54_FIELD_T; ++ ++#define RG_ESTI_A55 (RF_D_ADDA_ESTI_REG_BASE + 0xdc) ++// Bit 3 :0 rg_rxirr_esti_len_avg_2 U RW default = 'h4 ++// Bit 7 :4 rg_rxirr_esti_miu_2 U RW default = 'h2 ++// Bit 15 :8 rg_rxirr_esti_navg_2 U RW default = 'hb ++// Bit 19 :16 rg_rxirr_esti_len_avg_3 U RW default = 'h4 ++// Bit 23 :20 rg_rxirr_esti_miu_3 U RW default = 'h3 ++// Bit 31 :24 rg_rxirr_esti_navg_3 U RW default = 'h13 ++typedef union RG_ESTI_A55_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_esti_len_avg_2 : 4; ++ unsigned int rg_rxirr_esti_miu_2 : 4; ++ unsigned int rg_rxirr_esti_navg_2 : 8; ++ unsigned int rg_rxirr_esti_len_avg_3 : 4; ++ unsigned int rg_rxirr_esti_miu_3 : 4; ++ unsigned int rg_rxirr_esti_navg_3 : 8; ++ } b; ++} RG_ESTI_A55_FIELD_T; ++ ++#define RG_ESTI_A56 (RF_D_ADDA_ESTI_REG_BASE + 0xe0) ++// Bit 13 :0 ro_rxirr_interp_e_0 U RO default = 'h0 ++// Bit 29 :16 ro_rxirr_interp_e_1 U RO default = 'h0 ++typedef union RG_ESTI_A56_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_interp_e_0 : 14; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_rxirr_interp_e_1 : 14; ++ unsigned int rsvd_1 : 2; ++ } b; ++} RG_ESTI_A56_FIELD_T; ++ ++#define RG_ESTI_A57 (RF_D_ADDA_ESTI_REG_BASE + 0xe4) ++// Bit 13 :0 ro_rxirr_interp_e_2 U RO default = 'h0 ++// Bit 29 :16 ro_rxirr_interp_e_3 U RO default = 'h0 ++typedef union RG_ESTI_A57_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_interp_e_2 : 14; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_rxirr_interp_e_3 : 14; ++ unsigned int rsvd_1 : 2; ++ } b; ++} RG_ESTI_A57_FIELD_T; ++ ++#define RG_ESTI_A58 (RF_D_ADDA_ESTI_REG_BASE + 0xe8) ++// Bit 13 :0 ro_rxirr_interp_e_4 U RO default = 'h0 ++// Bit 29 :16 ro_rxirr_interp_e_5 U RO default = 'h0 ++typedef union RG_ESTI_A58_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_interp_e_4 : 14; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_rxirr_interp_e_5 : 14; ++ unsigned int rsvd_1 : 2; ++ } b; ++} RG_ESTI_A58_FIELD_T; ++ ++#define RG_ESTI_A59 (RF_D_ADDA_ESTI_REG_BASE + 0xec) ++// Bit 13 :0 ro_rxirr_interp_e_6 U RO default = 'h0 ++// Bit 29 :16 ro_rxirr_interp_e_7 U RO default = 'h0 ++typedef union RG_ESTI_A59_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_interp_e_6 : 14; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_rxirr_interp_e_7 : 14; ++ unsigned int rsvd_1 : 2; ++ } b; ++} RG_ESTI_A59_FIELD_T; ++ ++#define RG_ESTI_A60 (RF_D_ADDA_ESTI_REG_BASE + 0xf0) ++// Bit 13 :0 ro_rxirr_interp_p_0 U RO default = 'h0 ++// Bit 29 :16 ro_rxirr_interp_p_1 U RO default = 'h0 ++typedef union RG_ESTI_A60_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_interp_p_0 : 14; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_rxirr_interp_p_1 : 14; ++ unsigned int rsvd_1 : 2; ++ } b; ++} RG_ESTI_A60_FIELD_T; ++ ++#define RG_ESTI_A61 (RF_D_ADDA_ESTI_REG_BASE + 0xf4) ++// Bit 13 :0 ro_rxirr_interp_p_2 U RO default = 'h0 ++// Bit 29 :16 ro_rxirr_interp_p_3 U RO default = 'h0 ++typedef union RG_ESTI_A61_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_interp_p_2 : 14; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_rxirr_interp_p_3 : 14; ++ unsigned int rsvd_1 : 2; ++ } b; ++} RG_ESTI_A61_FIELD_T; ++ ++#define RG_ESTI_A62 (RF_D_ADDA_ESTI_REG_BASE + 0xf8) ++// Bit 13 :0 ro_rxirr_interp_p_4 U RO default = 'h0 ++// Bit 29 :16 ro_rxirr_interp_p_5 U RO default = 'h0 ++typedef union RG_ESTI_A62_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_interp_p_4 : 14; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_rxirr_interp_p_5 : 14; ++ unsigned int rsvd_1 : 2; ++ } b; ++} RG_ESTI_A62_FIELD_T; ++ ++#define RG_ESTI_A63 (RF_D_ADDA_ESTI_REG_BASE + 0xfc) ++// Bit 13 :0 ro_rxirr_interp_p_6 U RO default = 'h0 ++// Bit 29 :16 ro_rxirr_interp_p_7 U RO default = 'h0 ++typedef union RG_ESTI_A63_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rxirr_interp_p_6 : 14; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_rxirr_interp_p_7 : 14; ++ unsigned int rsvd_1 : 2; ++ } b; ++} RG_ESTI_A63_FIELD_T; ++ ++#define RG_ESTI_A64 (RF_D_ADDA_ESTI_REG_BASE + 0x100) ++// Bit 23 :0 rg_adda_wait_count U RW default = 'h50 ++typedef union RG_ESTI_A64_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_adda_wait_count : 24; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A64_FIELD_T; ++ ++#define RG_ESTI_A65 (RF_D_ADDA_ESTI_REG_BASE + 0x104) ++// Bit 14 :0 rg_adda_calc_count U RW default = 'h50 ++typedef union RG_ESTI_A65_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_adda_calc_count : 15; ++ unsigned int rsvd_0 : 17; ++ } b; ++} RG_ESTI_A65_FIELD_T; ++ ++#define RG_ESTI_A66 (RF_D_ADDA_ESTI_REG_BASE + 0x108) ++// Bit 27 :0 rg_adda_esti_count U RW default = 'h40000 ++typedef union RG_ESTI_A66_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_adda_esti_count : 28; ++ unsigned int rsvd_0 : 4; ++ } b; ++} RG_ESTI_A66_FIELD_T; ++ ++#define RG_ESTI_A67 (RF_D_ADDA_ESTI_REG_BASE + 0x10c) ++// Bit 0 rg_txpwc_read_response U RW default = 'h0 ++// Bit 4 rg_txpwc_read_response_bypass U RW default = 'h1 ++// Bit 16 :8 rg_txpwc_ph U RW default = 'h0 ++// Bit 28 :20 rg_txpwc_pl U RW default = 'h0 ++typedef union RG_ESTI_A67_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txpwc_read_response : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_txpwc_read_response_bypass : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int rg_txpwc_ph : 9; ++ unsigned int rsvd_2 : 3; ++ unsigned int rg_txpwc_pl : 9; ++ unsigned int rsvd_3 : 3; ++ } b; ++} RG_ESTI_A67_FIELD_T; ++ ++#define RG_ESTI_A68 (RF_D_ADDA_ESTI_REG_BASE + 0x110) ++// Bit 7 :0 rg_txpwc_vh_amp U RW default = 'h0 ++// Bit 15 :8 rg_txpwc_vl_amp U RW default = 'h0 ++// Bit 25 :24 rg_txpwc_dc_cnt U RW default = 'h0 ++typedef union RG_ESTI_A68_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txpwc_vh_amp : 8; ++ unsigned int rg_txpwc_vl_amp : 8; ++ unsigned int rsvd_0 : 8; ++ unsigned int rg_txpwc_dc_cnt : 2; ++ unsigned int rsvd_1 : 6; ++ } b; ++} RG_ESTI_A68_FIELD_T; ++ ++#define RG_ESTI_A69 (RF_D_ADDA_ESTI_REG_BASE + 0x114) ++// Bit 8 :0 ro_txpwc_slope U RO default = 'h0 ++// Bit 26 :12 ro_txpwc_offset U RO default = 'h0 ++// Bit 31 ro_txpwc_ready U RO default = 'h0 ++typedef union RG_ESTI_A69_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txpwc_slope : 9; ++ unsigned int rsvd_0 : 3; ++ unsigned int ro_txpwc_offset : 15; ++ unsigned int rsvd_1 : 4; ++ unsigned int ro_txpwc_ready : 1; ++ } b; ++} RG_ESTI_A69_FIELD_T; ++ ++#define RG_ESTI_A70 (RF_D_ADDA_ESTI_REG_BASE + 0x118) ++// Bit 0 rg_txdpd_esti_read_response U RW default = 'h0 ++// Bit 2 rg_txdpd_esti_read_response_bypass U RW default = 'h0 ++// Bit 11 :4 rg_txdpd_esti_alpha U RW default = 'h33 ++// Bit 18 :12 rg_txdpd_esti_sync_gap U RW default = 'h20 ++// Bit 22 ro_txdpd_esti_ready U RO default = 'h0 ++// Bit 31 :24 rg_txdpd_esti_mp_pow_thresh U RW default = 'h6 ++typedef union RG_ESTI_A70_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_esti_read_response : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_txdpd_esti_read_response_bypass : 1; ++ unsigned int rsvd_1 : 1; ++ unsigned int rg_txdpd_esti_alpha : 8; ++ unsigned int rg_txdpd_esti_sync_gap : 7; ++ unsigned int rsvd_2 : 3; ++ unsigned int ro_txdpd_esti_ready : 1; ++ unsigned int rsvd_3 : 1; ++ unsigned int rg_txdpd_esti_mp_pow_thresh : 8; ++ } b; ++} RG_ESTI_A70_FIELD_T; ++ ++#define RG_ESTI_A72 (RF_D_ADDA_ESTI_REG_BASE + 0x11c) ++// Bit 11 :0 ro_txdpd_esti_coef_i_0 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_0 U RO default = 'h0 ++typedef union RG_ESTI_A72_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_0 : 12; ++ unsigned int ro_txdpd_esti_coef_q_0 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A72_FIELD_T; ++ ++#define RG_ESTI_A73 (RF_D_ADDA_ESTI_REG_BASE + 0x120) ++// Bit 11 :0 ro_txdpd_esti_coef_i_1 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_1 U RO default = 'h0 ++typedef union RG_ESTI_A73_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_1 : 12; ++ unsigned int ro_txdpd_esti_coef_q_1 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A73_FIELD_T; ++ ++#define RG_ESTI_A74 (RF_D_ADDA_ESTI_REG_BASE + 0x124) ++// Bit 11 :0 ro_txdpd_esti_coef_i_2 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_2 U RO default = 'h0 ++typedef union RG_ESTI_A74_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_2 : 12; ++ unsigned int ro_txdpd_esti_coef_q_2 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A74_FIELD_T; ++ ++#define RG_ESTI_A75 (RF_D_ADDA_ESTI_REG_BASE + 0x128) ++// Bit 11 :0 ro_txdpd_esti_coef_i_3 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_3 U RO default = 'h0 ++typedef union RG_ESTI_A75_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_3 : 12; ++ unsigned int ro_txdpd_esti_coef_q_3 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A75_FIELD_T; ++ ++#define RG_ESTI_A76 (RF_D_ADDA_ESTI_REG_BASE + 0x12c) ++// Bit 11 :0 ro_txdpd_esti_coef_i_4 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_4 U RO default = 'h0 ++typedef union RG_ESTI_A76_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_4 : 12; ++ unsigned int ro_txdpd_esti_coef_q_4 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A76_FIELD_T; ++ ++#define RG_ESTI_A77 (RF_D_ADDA_ESTI_REG_BASE + 0x130) ++// Bit 11 :0 ro_txdpd_esti_coef_i_5 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_5 U RO default = 'h0 ++typedef union RG_ESTI_A77_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_5 : 12; ++ unsigned int ro_txdpd_esti_coef_q_5 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A77_FIELD_T; ++ ++#define RG_ESTI_A78 (RF_D_ADDA_ESTI_REG_BASE + 0x134) ++// Bit 11 :0 ro_txdpd_esti_coef_i_6 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_6 U RO default = 'h0 ++typedef union RG_ESTI_A78_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_6 : 12; ++ unsigned int ro_txdpd_esti_coef_q_6 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A78_FIELD_T; ++ ++#define RG_ESTI_A79 (RF_D_ADDA_ESTI_REG_BASE + 0x138) ++// Bit 11 :0 ro_txdpd_esti_coef_i_7 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_7 U RO default = 'h0 ++typedef union RG_ESTI_A79_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_7 : 12; ++ unsigned int ro_txdpd_esti_coef_q_7 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A79_FIELD_T; ++ ++#define RG_ESTI_A80 (RF_D_ADDA_ESTI_REG_BASE + 0x13c) ++// Bit 11 :0 ro_txdpd_esti_coef_i_8 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_8 U RO default = 'h0 ++typedef union RG_ESTI_A80_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_8 : 12; ++ unsigned int ro_txdpd_esti_coef_q_8 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A80_FIELD_T; ++ ++#define RG_ESTI_A81 (RF_D_ADDA_ESTI_REG_BASE + 0x140) ++// Bit 11 :0 ro_txdpd_esti_coef_i_9 U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_9 U RO default = 'h0 ++typedef union RG_ESTI_A81_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_9 : 12; ++ unsigned int ro_txdpd_esti_coef_q_9 : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A81_FIELD_T; ++ ++#define RG_ESTI_A82 (RF_D_ADDA_ESTI_REG_BASE + 0x144) ++// Bit 11 :0 ro_txdpd_esti_coef_i_a U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_a U RO default = 'h0 ++typedef union RG_ESTI_A82_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_a : 12; ++ unsigned int ro_txdpd_esti_coef_q_a : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A82_FIELD_T; ++ ++#define RG_ESTI_A83 (RF_D_ADDA_ESTI_REG_BASE + 0x148) ++// Bit 11 :0 ro_txdpd_esti_coef_i_b U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_b U RO default = 'h0 ++typedef union RG_ESTI_A83_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_b : 12; ++ unsigned int ro_txdpd_esti_coef_q_b : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A83_FIELD_T; ++ ++#define RG_ESTI_A84 (RF_D_ADDA_ESTI_REG_BASE + 0x14c) ++// Bit 11 :0 ro_txdpd_esti_coef_i_c U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_c U RO default = 'h0 ++typedef union RG_ESTI_A84_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_c : 12; ++ unsigned int ro_txdpd_esti_coef_q_c : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A84_FIELD_T; ++ ++#define RG_ESTI_A85 (RF_D_ADDA_ESTI_REG_BASE + 0x150) ++// Bit 11 :0 ro_txdpd_esti_coef_i_d U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_d U RO default = 'h0 ++typedef union RG_ESTI_A85_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_d : 12; ++ unsigned int ro_txdpd_esti_coef_q_d : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A85_FIELD_T; ++ ++#define RG_ESTI_A86 (RF_D_ADDA_ESTI_REG_BASE + 0x154) ++// Bit 11 :0 ro_txdpd_esti_coef_i_e U RO default = 'h0 ++// Bit 23 :12 ro_txdpd_esti_coef_q_e U RO default = 'h0 ++typedef union RG_ESTI_A86_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_coef_i_e : 12; ++ unsigned int ro_txdpd_esti_coef_q_e : 12; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_ESTI_A86_FIELD_T; ++ ++#define RG_ESTI_A87 (RF_D_ADDA_ESTI_REG_BASE + 0x158) ++// Bit 0 rg_snr_esti_en U RW default = 'h1 ++// Bit 6 :4 rg_snr_esti_calctime U RW default = 'h0 ++// Bit 10 :8 rg_snr_alpha U RW default = 'h0 ++// Bit 18 :16 rg_txdpd_snr_esti_alpha U RW default = 'h0 ++typedef union RG_ESTI_A87_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_snr_esti_en : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_snr_esti_calctime : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int rg_snr_alpha : 3; ++ unsigned int rsvd_2 : 5; ++ unsigned int rg_txdpd_snr_esti_alpha : 3; ++ unsigned int rsvd_3 : 13; ++ } b; ++} RG_ESTI_A87_FIELD_T; ++ ++#define RG_ESTI_A88 (RF_D_ADDA_ESTI_REG_BASE + 0x15c) ++// Bit 8 :0 ro_adda_snr_db U RO default = 'h0 ++// Bit 12 ro_adda_db_vld U RO default = 'h0 ++// Bit 24 :16 ro_adda_pwr_db U RO default = 'h0 ++typedef union RG_ESTI_A88_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_adda_snr_db : 9; ++ unsigned int rsvd_0 : 3; ++ unsigned int ro_adda_db_vld : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int ro_adda_pwr_db : 9; ++ unsigned int rsvd_2 : 7; ++ } b; ++} RG_ESTI_A88_FIELD_T; ++ ++#define RG_ESTI_A89 (RF_D_ADDA_ESTI_REG_BASE + 0x160) ++// Bit 8 :0 ro_txdpd_esti_snr_db U RO default = 'h0 ++typedef union RG_ESTI_A89_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_esti_snr_db : 9; ++ unsigned int rsvd_0 : 23; ++ } b; ++} RG_ESTI_A89_FIELD_T; ++ ++#define RG_ESTI_A90 (RF_D_ADDA_ESTI_REG_BASE + 0x164) ++// Bit 29 :0 ro_dcoc_dc_i U RO default = 'h0 ++typedef union RG_ESTI_A90_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_dcoc_dc_i : 30; ++ unsigned int rsvd_0 : 2; ++ } b; ++} RG_ESTI_A90_FIELD_T; ++ ++#define RG_ESTI_A91 (RF_D_ADDA_ESTI_REG_BASE + 0x168) ++// Bit 29 :0 ro_dcoc_dc_q U RO default = 'h0 ++typedef union RG_ESTI_A91_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_dcoc_dc_q : 30; ++ unsigned int rsvd_0 : 2; ++ } b; ++} RG_ESTI_A91_FIELD_T; ++ ++#define RG_ESTI_A92 (RF_D_ADDA_ESTI_REG_BASE + 0x16c) ++// Bit 31 :0 ro_txirr_dc_pow_low U RO default = 'h0 ++typedef union RG_ESTI_A92_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txirr_dc_pow_low : 32; ++ } b; ++} RG_ESTI_A92_FIELD_T; ++ ++#define RG_ESTI_A93 (RF_D_ADDA_ESTI_REG_BASE + 0x170) ++// Bit 22 :0 ro_txirr_dc_pow_high U RO default = 'h0 ++typedef union RG_ESTI_A93_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txirr_dc_pow_high : 23; ++ unsigned int rsvd_0 : 9; ++ } b; ++} RG_ESTI_A93_FIELD_T; ++ ++#define RG_ESTI_A94 (RF_D_ADDA_ESTI_REG_BASE + 0x174) ++// Bit 31 :0 ro_lnatank_esti_pow U RO default = 'h0 ++typedef union RG_ESTI_A94_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_lnatank_esti_pow : 32; ++ } b; ++} RG_ESTI_A94_FIELD_T; ++ ++#define RG_ESTI_A96 (RF_D_ADDA_ESTI_REG_BASE + 0x17c) ++// Bit 11 :0 ro_txdpd_gain U RO default = 'h0 ++typedef union RG_ESTI_A96_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txdpd_gain : 12; ++ unsigned int rsvd_0 : 20; ++ } b; ++} RG_ESTI_A96_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/rf_d_adda_recv_reg.h b/drivers/net/wireless/w1/common/rf_d_adda_recv_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..a2059b05976e8c1fdb9d75179f61c2ee95b557f8 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/rf_d_adda_recv_reg.h +@@ -0,0 +1,419 @@ ++#ifdef RF_D_ADDA_RECV_REG ++#else ++#define RF_D_ADDA_RECV_REG ++ ++ ++#define RF_D_ADDA_RECV_REG_BASE (0xa0e800) ++ ++#define RG_RECV_A0 (RF_D_ADDA_RECV_REG_BASE + 0x0) ++// Bit 31 :0 rg_recv_cfg0 U RW default = 'h0 ++typedef union RG_RECV_A0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_recv_cfg0 : 32; ++ } b; ++} RG_RECV_A0_FIELD_T; ++ ++#define RG_RECV_A1 (RF_D_ADDA_RECV_REG_BASE + 0x4) ++// Bit 31 :0 rg_recv_cfg1 U RW default = 'h0 ++typedef union RG_RECV_A1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_recv_cfg1 : 32; ++ } b; ++} RG_RECV_A1_FIELD_T; ++ ++#define RG_RECV_A2 (RF_D_ADDA_RECV_REG_BASE + 0x8) ++// Bit 0 rg_rxneg_msb U RW default = 'h0 ++// Bit 1 rg_rxiq_swap U RW default = 'h0 ++// Bit 11 :4 rg_rxi_dcoft U RW default = 'h0 ++// Bit 19 :12 rg_rxq_dcoft U RW default = 'h0 ++// Bit 20 rg_dcloop_bypass U RW default = 'h1 ++// Bit 24 rg_rx_adc_fs U RW default = 'h1 ++// Bit 28 rg_to_agc_en U RW default = 'h0 ++typedef union RG_RECV_A2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxneg_msb : 1; ++ unsigned int rg_rxiq_swap : 1; ++ unsigned int rsvd_0 : 2; ++ unsigned int rg_rxi_dcoft : 8; ++ unsigned int rg_rxq_dcoft : 8; ++ unsigned int rg_dcloop_bypass : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int rg_rx_adc_fs : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int rg_to_agc_en : 1; ++ unsigned int rsvd_3 : 3; ++ } b; ++} RG_RECV_A2_FIELD_T; ++ ++#define RG_RECV_A3 (RF_D_ADDA_RECV_REG_BASE + 0xc) ++// Bit 14 :0 rg_rxirr_eup_0 U RW default = 'h7f51 ++// Bit 30 :16 rg_rxirr_eup_1 U RW default = 'h46 ++typedef union RG_RECV_A3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_eup_0 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_rxirr_eup_1 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_RECV_A3_FIELD_T; ++ ++#define RG_RECV_A4 (RF_D_ADDA_RECV_REG_BASE + 0x10) ++// Bit 14 :0 rg_rxirr_eup_2 U RW default = 'h7fb7 ++// Bit 30 :16 rg_rxirr_eup_3 U RW default = 'h17 ++typedef union RG_RECV_A4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_eup_2 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_rxirr_eup_3 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_RECV_A4_FIELD_T; ++ ++#define RG_RECV_A5 (RF_D_ADDA_RECV_REG_BASE + 0x14) ++// Bit 14 :0 rg_rxirr_pup_0 U RW default = 'h5a4 ++// Bit 30 :16 rg_rxirr_pup_1 U RW default = 'h7ff9 ++typedef union RG_RECV_A5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_pup_0 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_rxirr_pup_1 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_RECV_A5_FIELD_T; ++ ++#define RG_RECV_A6 (RF_D_ADDA_RECV_REG_BASE + 0x18) ++// Bit 14 :0 rg_rxirr_pup_2 U RW default = 'h7ff6 ++// Bit 30 :16 rg_rxirr_pup_3 U RW default = 'h7 ++typedef union RG_RECV_A6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_pup_2 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_rxirr_pup_3 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_RECV_A6_FIELD_T; ++ ++#define RG_RECV_A7 (RF_D_ADDA_RECV_REG_BASE + 0x1c) ++// Bit 14 :0 rg_rxirr_elow_0 U RW default = 'h7f7d ++// Bit 30 :16 rg_rxirr_elow_1 U RW default = 'h7fba ++typedef union RG_RECV_A7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_elow_0 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_rxirr_elow_1 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_RECV_A7_FIELD_T; ++ ++#define RG_RECV_A8 (RF_D_ADDA_RECV_REG_BASE + 0x20) ++// Bit 14 :0 rg_rxirr_elow_2 U RW default = 'h46 ++// Bit 30 :16 rg_rxirr_elow_3 U RW default = 'h7feb ++typedef union RG_RECV_A8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_elow_2 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_rxirr_elow_3 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_RECV_A8_FIELD_T; ++ ++#define RG_RECV_A9 (RF_D_ADDA_RECV_REG_BASE + 0x24) ++// Bit 14 :0 rg_rxirr_plow_0 U RW default = 'h5a5 ++// Bit 30 :16 rg_rxirr_plow_1 U RW default = 'h7ffa ++typedef union RG_RECV_A9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_plow_0 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_rxirr_plow_1 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_RECV_A9_FIELD_T; ++ ++#define RG_RECV_A10 (RF_D_ADDA_RECV_REG_BASE + 0x28) ++// Bit 14 :0 rg_rxirr_plow_2 U RW default = 'h7ff3 ++// Bit 30 :16 rg_rxirr_plow_3 U RW default = 'h8 ++typedef union RG_RECV_A10_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_plow_2 : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_rxirr_plow_3 : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_RECV_A10_FIELD_T; ++ ++#define RG_RECV_A11 (RF_D_ADDA_RECV_REG_BASE + 0x2c) ++// Bit 0 rg_rxirr_man_mode U RW default = 'h1 ++// Bit 4 rg_rxirr_bypass U RW default = 'h1 ++// Bit 11 :8 rg_rx_async_wgap U RW default = 'ha ++typedef union RG_RECV_A11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxirr_man_mode : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_rxirr_bypass : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int rg_rx_async_wgap : 4; ++ unsigned int rsvd_2 : 20; ++ } b; ++} RG_RECV_A11_FIELD_T; ++ ++#define RG_RECV_A12 (RF_D_ADDA_RECV_REG_BASE + 0x30) ++// Bit 24 :0 rg_rxddc_angle U RW default = 'h0 ++// Bit 28 rg_rxddc_phs_reset U RW default = 'h0 ++// Bit 31 rg_rxddc_bypass U RW default = 'h1 ++typedef union RG_RECV_A12_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rxddc_angle : 25; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_rxddc_phs_reset : 1; ++ unsigned int rsvd_1 : 2; ++ unsigned int rg_rxddc_bypass : 1; ++ } b; ++} RG_RECV_A12_FIELD_T; ++ ++#define RG_RECV_A13 (RF_D_ADDA_RECV_REG_BASE + 0x34) ++// Bit 8 :0 rg_dc_sub_thr_pow U RW default = 'h74 ++typedef union RG_RECV_A13_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_dc_sub_thr_pow : 9; ++ unsigned int rsvd_0 : 23; ++ } b; ++} RG_RECV_A13_FIELD_T; ++ ++#define RG_RECV_A14 (RF_D_ADDA_RECV_REG_BASE + 0x38) ++// Bit 8 :0 rg_hdmi_sub_thr_pow1 U RW default = 'h70 ++// Bit 20 :12 rg_hdmi_sub_thr_pow2 U RW default = 'h68 ++typedef union RG_RECV_A14_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_hdmi_sub_thr_pow1 : 9; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_hdmi_sub_thr_pow2 : 9; ++ unsigned int rsvd_1 : 11; ++ } b; ++} RG_RECV_A14_FIELD_T; ++ ++#define RG_RECV_A15 (RF_D_ADDA_RECV_REG_BASE + 0x3c) ++// Bit 8 :0 rg_cw_sub_thr_pow1 U RW default = 'h78 ++// Bit 20 :12 rg_cw_sub_thr_pow2 U RW default = 'h66 ++typedef union RG_RECV_A15_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_cw_sub_thr_pow1 : 9; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_cw_sub_thr_pow2 : 9; ++ unsigned int rsvd_1 : 11; ++ } b; ++} RG_RECV_A15_FIELD_T; ++ ++#define RG_RECV_A16 (RF_D_ADDA_RECV_REG_BASE + 0x40) ++// Bit 0 rg_cw_remove_sub_man_bypass0 U RW default = 'h0 ++// Bit 1 rg_cw_remove_sub_bypass_man_mode0 U RW default = 'h0 ++// Bit 4 rg_cw_remove_sub_man_bypass1 U RW default = 'h0 ++// Bit 5 rg_cw_remove_sub_bypass_man_mode1 U RW default = 'h0 ++// Bit 8 rg_cw_remove_sub_man_bypass2 U RW default = 'h0 ++// Bit 9 rg_cw_remove_sub_bypass_man_mode2 U RW default = 'h0 ++// Bit 12 rg_cw_remove_sub_man_bypass3 U RW default = 'h0 ++// Bit 13 rg_cw_remove_sub_bypass_man_mode3 U RW default = 'h0 ++// Bit 16 rg_cw_remove_sub_man_bypass4 U RW default = 'h0 ++// Bit 17 rg_cw_remove_sub_bypass_man_mode4 U RW default = 'h0 ++// Bit 20 rg_dc_bypass U RW default = 'h0 ++// Bit 24 rg_hdmi_bypass U RW default = 'h0 ++// Bit 28 rg_cw_bypass U RW default = 'h0 ++// Bit 30 rg_cw_remove_bypass_val U RW default = 'h1 ++// Bit 31 rg_cw_remove_bypass_man U RW default = 'h1 ++typedef union RG_RECV_A16_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_cw_remove_sub_man_bypass0 : 1; ++ unsigned int rg_cw_remove_sub_bypass_man_mode0 : 1; ++ unsigned int rsvd_0 : 2; ++ unsigned int rg_cw_remove_sub_man_bypass1 : 1; ++ unsigned int rg_cw_remove_sub_bypass_man_mode1 : 1; ++ unsigned int rsvd_1 : 2; ++ unsigned int rg_cw_remove_sub_man_bypass2 : 1; ++ unsigned int rg_cw_remove_sub_bypass_man_mode2 : 1; ++ unsigned int rsvd_2 : 2; ++ unsigned int rg_cw_remove_sub_man_bypass3 : 1; ++ unsigned int rg_cw_remove_sub_bypass_man_mode3 : 1; ++ unsigned int rsvd_3 : 2; ++ unsigned int rg_cw_remove_sub_man_bypass4 : 1; ++ unsigned int rg_cw_remove_sub_bypass_man_mode4 : 1; ++ unsigned int rsvd_4 : 2; ++ unsigned int rg_dc_bypass : 1; ++ unsigned int rsvd_5 : 3; ++ unsigned int rg_hdmi_bypass : 1; ++ unsigned int rsvd_6 : 3; ++ unsigned int rg_cw_bypass : 1; ++ unsigned int rsvd_7 : 1; ++ unsigned int rg_cw_remove_bypass_val : 1; ++ unsigned int rg_cw_remove_bypass_man : 1; ++ } b; ++} RG_RECV_A16_FIELD_T; ++ ++#define RG_RECV_A17 (RF_D_ADDA_RECV_REG_BASE + 0x44) ++// Bit 24 :0 rg_cw_remove_sub_angle_base1 U RW default = 'h1d33333 ++typedef union RG_RECV_A17_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_cw_remove_sub_angle_base1 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_RECV_A17_FIELD_T; ++ ++#define RG_RECV_A18 (RF_D_ADDA_RECV_REG_BASE + 0x48) ++// Bit 24 :0 rg_cw_remove_sub_angle_base2 U RW default = 'h800000 ++typedef union RG_RECV_A18_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_cw_remove_sub_angle_base2 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_RECV_A18_FIELD_T; ++ ++#define RG_RECV_A19 (RF_D_ADDA_RECV_REG_BASE + 0x4c) ++// Bit 24 :0 rg_cw_remove_sub_angle_base3 U RW default = 'h1e00000 ++typedef union RG_RECV_A19_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_cw_remove_sub_angle_base3 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_RECV_A19_FIELD_T; ++ ++#define RG_RECV_A20 (RF_D_ADDA_RECV_REG_BASE + 0x50) ++// Bit 24 :0 rg_cw_remove_sub_angle_base4 U RW default = 'he00000 ++typedef union RG_RECV_A20_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_cw_remove_sub_angle_base4 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_RECV_A20_FIELD_T; ++ ++#define RG_RECV_A21 (RF_D_ADDA_RECV_REG_BASE + 0x54) ++// Bit 9 :0 rg_dc_dc_remove_cnt U RW default = 'h3ff ++// Bit 25 :16 rg_hdmi_dc_remove_cnt U RW default = 'h3f ++typedef union RG_RECV_A21_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_dc_dc_remove_cnt : 10; ++ unsigned int rsvd_0 : 6; ++ unsigned int rg_hdmi_dc_remove_cnt : 10; ++ unsigned int rsvd_1 : 6; ++ } b; ++} RG_RECV_A21_FIELD_T; ++ ++#define RG_RECV_A22 (RF_D_ADDA_RECV_REG_BASE + 0x58) ++// Bit 9 :0 rg_cw_dc_remove_cnt U RW default = 'h3f ++typedef union RG_RECV_A22_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_cw_dc_remove_cnt : 10; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_RECV_A22_FIELD_T; ++ ++#define RG_RECV_A23 (RF_D_ADDA_RECV_REG_BASE + 0x5c) ++// Bit 0 rg_cali_cw_rmv_bypass U RW default = 'h1 ++// Bit 4 rg_agc_cw_rmv_bypass U RW default = 'h1 ++typedef union RG_RECV_A23_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_cali_cw_rmv_bypass : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_agc_cw_rmv_bypass : 1; ++ unsigned int rsvd_1 : 27; ++ } b; ++} RG_RECV_A23_FIELD_T; ++ ++#define RG_RECV_A24 (RF_D_ADDA_RECV_REG_BASE + 0x60) ++// Bit 8 :0 rg_cw_remove_gaindb_val U RW default = 'h84 ++// Bit 12 rg_cw_remove_gaindb_man U RW default = 'h0 ++typedef union RG_RECV_A24_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_cw_remove_gaindb_val : 9; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_cw_remove_gaindb_man : 1; ++ unsigned int rsvd_1 : 19; ++ } b; ++} RG_RECV_A24_FIELD_T; ++ ++#define RG_RECV_A25 (RF_D_ADDA_RECV_REG_BASE + 0x64) ++// Bit 0 rg_rssi_snr_est U RW default = 'h0 ++typedef union RG_RECV_A25_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_rssi_snr_est : 1; ++ unsigned int rsvd_0 : 31; ++ } b; ++} RG_RECV_A25_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/rf_d_adda_xmit_reg.h b/drivers/net/wireless/w1/common/rf_d_adda_xmit_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..7788a25772f5d993d9e59a7d457396caabd31dee +--- /dev/null ++++ b/drivers/net/wireless/w1/common/rf_d_adda_xmit_reg.h +@@ -0,0 +1,1583 @@ ++#ifdef RF_D_ADDA_XMIT_REG ++#else ++#define RF_D_ADDA_XMIT_REG ++ ++ ++#define RF_D_ADDA_XMIT_REG_BASE (0xa0e400) ++ ++#define RG_XMIT_A0 (RF_D_ADDA_XMIT_REG_BASE + 0x0) ++// Bit 31 :0 rg_xmit_cfg0 U RW default = 'h0 ++typedef union RG_XMIT_A0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_xmit_cfg0 : 32; ++ } b; ++} RG_XMIT_A0_FIELD_T; ++ ++#define RG_XMIT_A1 (RF_D_ADDA_XMIT_REG_BASE + 0x4) ++// Bit 31 :0 rg_xmit_cfg1 U RW default = 'h0 ++typedef union RG_XMIT_A1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_xmit_cfg1 : 32; ++ } b; ++} RG_XMIT_A1_FIELD_T; ++ ++#define RG_XMIT_A2 (RF_D_ADDA_XMIT_REG_BASE + 0x8) ++// Bit 24 :0 rg_tg1_f_sel U RW default = 'h200000 ++// Bit 28 :25 rg_tg1_tone_gain U RW default = 'h0 ++// Bit 29 rg_tg1_enable U RW default = 'h0 ++// Bit 30 rg_tg1_tone_40 U RW default = 'h0 ++// Bit 31 rg_tg1_tone_man_en U RW default = 'h1 ++typedef union RG_XMIT_A2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tg1_f_sel : 25; ++ unsigned int rg_tg1_tone_gain : 4; ++ unsigned int rg_tg1_enable : 1; ++ unsigned int rg_tg1_tone_40 : 1; ++ unsigned int rg_tg1_tone_man_en : 1; ++ } b; ++} RG_XMIT_A2_FIELD_T; ++ ++#define RG_XMIT_A3 (RF_D_ADDA_XMIT_REG_BASE + 0xc) ++// Bit 24 :0 rg_tg2_f_sel U RW default = 'h200000 ++// Bit 28 :25 rg_tg2_tone_gain U RW default = 'h0 ++// Bit 29 rg_tg2_enable U RW default = 'h0 ++// Bit 30 rg_tg2_tone_40 U RW default = 'h0 ++// Bit 31 rg_tg2_tone_man_en U RW default = 'h1 ++typedef union RG_XMIT_A3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tg2_f_sel : 25; ++ unsigned int rg_tg2_tone_gain : 4; ++ unsigned int rg_tg2_enable : 1; ++ unsigned int rg_tg2_tone_40 : 1; ++ unsigned int rg_tg2_tone_man_en : 1; ++ } b; ++} RG_XMIT_A3_FIELD_T; ++ ++#define RG_XMIT_A4 (RF_D_ADDA_XMIT_REG_BASE + 0x10) ++// Bit 1 :0 rg_tx_signal_sel U RW default = 'h0 ++// Bit 14 :4 rg_tx_const_i U RW default = 'h0 ++// Bit 26 :16 rg_tx_const_q U RW default = 'h0 ++// Bit 31 rg_tx_const_v U RW default = 'h0 ++typedef union RG_XMIT_A4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_signal_sel : 2; ++ unsigned int rsvd_0 : 2; ++ unsigned int rg_tx_const_i : 11; ++ unsigned int rsvd_1 : 1; ++ unsigned int rg_tx_const_q : 11; ++ unsigned int rsvd_2 : 4; ++ unsigned int rg_tx_const_v : 1; ++ } b; ++} RG_XMIT_A4_FIELD_T; ++ ++#define RG_XMIT_A5 (RF_D_ADDA_XMIT_REG_BASE + 0x14) ++// Bit 31 :0 rg_tim_ratio U RW default = 'h0 ++typedef union RG_XMIT_A5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tim_ratio : 32; ++ } b; ++} RG_XMIT_A5_FIELD_T; ++ ++#define RG_XMIT_A6 (RF_D_ADDA_XMIT_REG_BASE + 0x18) ++// Bit 7 :0 rg_txirr_comp_theta0 U RW default = 'h0 ++// Bit 15 :8 rg_txirr_comp_theta1 U RW default = 'h0 ++// Bit 23 :16 rg_txirr_comp_theta2 U RW default = 'h0 ++// Bit 31 :24 rg_txirr_comp_theta3 U RW default = 'h0 ++typedef union RG_XMIT_A6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txirr_comp_theta0 : 8; ++ unsigned int rg_txirr_comp_theta1 : 8; ++ unsigned int rg_txirr_comp_theta2 : 8; ++ unsigned int rg_txirr_comp_theta3 : 8; ++ } b; ++} RG_XMIT_A6_FIELD_T; ++ ++#define RG_XMIT_A7 (RF_D_ADDA_XMIT_REG_BASE + 0x1c) ++// Bit 7 :0 rg_txirr_comp_theta4 U RW default = 'h0 ++// Bit 15 :8 rg_txirr_comp_theta5 U RW default = 'h0 ++// Bit 23 :16 rg_txirr_comp_theta6 U RW default = 'h0 ++// Bit 31 :24 rg_txirr_comp_theta7 U RW default = 'h0 ++typedef union RG_XMIT_A7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txirr_comp_theta4 : 8; ++ unsigned int rg_txirr_comp_theta5 : 8; ++ unsigned int rg_txirr_comp_theta6 : 8; ++ unsigned int rg_txirr_comp_theta7 : 8; ++ } b; ++} RG_XMIT_A7_FIELD_T; ++ ++#define RG_XMIT_A8 (RF_D_ADDA_XMIT_REG_BASE + 0x20) ++// Bit 7 :0 rg_txirr_comp_theta8 U RW default = 'h0 ++// Bit 15 :8 rg_txirr_comp_theta9 U RW default = 'h0 ++// Bit 23 :16 rg_txirr_comp_thetaa U RW default = 'h0 ++// Bit 31 :24 rg_txirr_comp_thetab U RW default = 'h0 ++typedef union RG_XMIT_A8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txirr_comp_theta8 : 8; ++ unsigned int rg_txirr_comp_theta9 : 8; ++ unsigned int rg_txirr_comp_thetaa : 8; ++ unsigned int rg_txirr_comp_thetab : 8; ++ } b; ++} RG_XMIT_A8_FIELD_T; ++ ++#define RG_XMIT_A9 (RF_D_ADDA_XMIT_REG_BASE + 0x24) ++// Bit 7 :0 rg_txirr_comp_thetac U RW default = 'h0 ++// Bit 15 :8 rg_txirr_comp_thetad U RW default = 'h0 ++// Bit 23 :16 rg_txirr_comp_thetae U RW default = 'h0 ++// Bit 31 :24 rg_txirr_comp_thetaf U RW default = 'h0 ++typedef union RG_XMIT_A9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txirr_comp_thetac : 8; ++ unsigned int rg_txirr_comp_thetad : 8; ++ unsigned int rg_txirr_comp_thetae : 8; ++ unsigned int rg_txirr_comp_thetaf : 8; ++ } b; ++} RG_XMIT_A9_FIELD_T; ++ ++#define RG_XMIT_A10 (RF_D_ADDA_XMIT_REG_BASE + 0x28) ++// Bit 7 :0 rg_txirr_comp_alpha0 U RW default = 'h0 ++// Bit 15 :8 rg_txirr_comp_alpha1 U RW default = 'h0 ++// Bit 23 :16 rg_txirr_comp_alpha2 U RW default = 'h0 ++// Bit 31 :24 rg_txirr_comp_alpha3 U RW default = 'h0 ++typedef union RG_XMIT_A10_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txirr_comp_alpha0 : 8; ++ unsigned int rg_txirr_comp_alpha1 : 8; ++ unsigned int rg_txirr_comp_alpha2 : 8; ++ unsigned int rg_txirr_comp_alpha3 : 8; ++ } b; ++} RG_XMIT_A10_FIELD_T; ++ ++#define RG_XMIT_A11 (RF_D_ADDA_XMIT_REG_BASE + 0x2c) ++// Bit 7 :0 rg_txirr_comp_alpha4 U RW default = 'h0 ++// Bit 15 :8 rg_txirr_comp_alpha5 U RW default = 'h0 ++// Bit 23 :16 rg_txirr_comp_alpha6 U RW default = 'h0 ++// Bit 31 :24 rg_txirr_comp_alpha7 U RW default = 'h0 ++typedef union RG_XMIT_A11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txirr_comp_alpha4 : 8; ++ unsigned int rg_txirr_comp_alpha5 : 8; ++ unsigned int rg_txirr_comp_alpha6 : 8; ++ unsigned int rg_txirr_comp_alpha7 : 8; ++ } b; ++} RG_XMIT_A11_FIELD_T; ++ ++#define RG_XMIT_A12 (RF_D_ADDA_XMIT_REG_BASE + 0x30) ++// Bit 7 :0 rg_txirr_comp_alpha8 U RW default = 'h0 ++// Bit 15 :8 rg_txirr_comp_alpha9 U RW default = 'h0 ++// Bit 23 :16 rg_txirr_comp_alphaa U RW default = 'h0 ++// Bit 31 :24 rg_txirr_comp_alphab U RW default = 'h0 ++typedef union RG_XMIT_A12_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txirr_comp_alpha8 : 8; ++ unsigned int rg_txirr_comp_alpha9 : 8; ++ unsigned int rg_txirr_comp_alphaa : 8; ++ unsigned int rg_txirr_comp_alphab : 8; ++ } b; ++} RG_XMIT_A12_FIELD_T; ++ ++#define RG_XMIT_A13 (RF_D_ADDA_XMIT_REG_BASE + 0x34) ++// Bit 7 :0 rg_txirr_comp_alphac U RW default = 'h0 ++// Bit 15 :8 rg_txirr_comp_alphad U RW default = 'h0 ++// Bit 23 :16 rg_txirr_comp_alphae U RW default = 'h0 ++// Bit 31 :24 rg_txirr_comp_alphaf U RW default = 'h0 ++typedef union RG_XMIT_A13_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txirr_comp_alphac : 8; ++ unsigned int rg_txirr_comp_alphad : 8; ++ unsigned int rg_txirr_comp_alphae : 8; ++ unsigned int rg_txirr_comp_alphaf : 8; ++ } b; ++} RG_XMIT_A13_FIELD_T; ++ ++#define RG_XMIT_A18 (RF_D_ADDA_XMIT_REG_BASE + 0x48) ++// Bit 24 :0 rg_tx_pwrlvl0 U RW default = 'h800000 ++typedef union RG_XMIT_A18_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl0 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A18_FIELD_T; ++ ++#define RG_XMIT_A19 (RF_D_ADDA_XMIT_REG_BASE + 0x4c) ++// Bit 24 :0 rg_tx_pwrlvl1 U RW default = 'h800000 ++typedef union RG_XMIT_A19_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl1 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A19_FIELD_T; ++ ++#define RG_XMIT_A20 (RF_D_ADDA_XMIT_REG_BASE + 0x50) ++// Bit 24 :0 rg_tx_pwrlvl2 U RW default = 'h800000 ++typedef union RG_XMIT_A20_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl2 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A20_FIELD_T; ++ ++#define RG_XMIT_A21 (RF_D_ADDA_XMIT_REG_BASE + 0x54) ++// Bit 24 :0 rg_tx_pwrlvl3 U RW default = 'h800000 ++typedef union RG_XMIT_A21_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl3 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A21_FIELD_T; ++ ++#define RG_XMIT_A22 (RF_D_ADDA_XMIT_REG_BASE + 0x58) ++// Bit 24 :0 rg_tx_pwrlvl4 U RW default = 'h800000 ++typedef union RG_XMIT_A22_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl4 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A22_FIELD_T; ++ ++#define RG_XMIT_A23 (RF_D_ADDA_XMIT_REG_BASE + 0x5c) ++// Bit 24 :0 rg_tx_pwrlvl5 U RW default = 'h800000 ++typedef union RG_XMIT_A23_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl5 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A23_FIELD_T; ++ ++#define RG_XMIT_A24 (RF_D_ADDA_XMIT_REG_BASE + 0x60) ++// Bit 24 :0 rg_tx_pwrlvl6 U RW default = 'h800000 ++typedef union RG_XMIT_A24_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl6 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A24_FIELD_T; ++ ++#define RG_XMIT_A25 (RF_D_ADDA_XMIT_REG_BASE + 0x64) ++// Bit 24 :0 rg_tx_pwrlvl7 U RW default = 'h800000 ++typedef union RG_XMIT_A25_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl7 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A25_FIELD_T; ++ ++#define RG_XMIT_A26 (RF_D_ADDA_XMIT_REG_BASE + 0x68) ++// Bit 24 :0 rg_tx_pwrlvl8 U RW default = 'h800000 ++typedef union RG_XMIT_A26_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl8 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A26_FIELD_T; ++ ++#define RG_XMIT_A27 (RF_D_ADDA_XMIT_REG_BASE + 0x6c) ++// Bit 24 :0 rg_tx_pwrlvl9 U RW default = 'h800000 ++typedef union RG_XMIT_A27_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvl9 : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A27_FIELD_T; ++ ++#define RG_XMIT_A28 (RF_D_ADDA_XMIT_REG_BASE + 0x70) ++// Bit 24 :0 rg_tx_pwrlvla U RW default = 'h800000 ++typedef union RG_XMIT_A28_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvla : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A28_FIELD_T; ++ ++#define RG_XMIT_A29 (RF_D_ADDA_XMIT_REG_BASE + 0x74) ++// Bit 24 :0 rg_tx_pwrlvlb U RW default = 'h800000 ++typedef union RG_XMIT_A29_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvlb : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A29_FIELD_T; ++ ++#define RG_XMIT_A30 (RF_D_ADDA_XMIT_REG_BASE + 0x78) ++// Bit 24 :0 rg_tx_pwrlvlc U RW default = 'h800000 ++typedef union RG_XMIT_A30_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvlc : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A30_FIELD_T; ++ ++#define RG_XMIT_A31 (RF_D_ADDA_XMIT_REG_BASE + 0x7c) ++// Bit 24 :0 rg_tx_pwrlvld U RW default = 'h800000 ++typedef union RG_XMIT_A31_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvld : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A31_FIELD_T; ++ ++#define RG_XMIT_A32 (RF_D_ADDA_XMIT_REG_BASE + 0x80) ++// Bit 24 :0 rg_tx_pwrlvle U RW default = 'h800000 ++typedef union RG_XMIT_A32_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvle : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A32_FIELD_T; ++ ++#define RG_XMIT_A33 (RF_D_ADDA_XMIT_REG_BASE + 0x84) ++// Bit 24 :0 rg_tx_pwrlvlf U RW default = 'h800000 ++typedef union RG_XMIT_A33_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_pwrlvlf : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_XMIT_A33_FIELD_T; ++ ++#define RG_XMIT_A34 (RF_D_ADDA_XMIT_REG_BASE + 0x88) ++// Bit 0 rg_tx_iqmm_bypass U RW default = 'h1 ++// Bit 4 rg_tx_negate_msb U RW default = 'h1 ++// Bit 8 rg_tx_iq_swap U RW default = 'h0 ++// Bit 13 :12 rg_tx_dout_sel U RW default = 'h0 ++// Bit 19 :16 rg_tx_async_wgap U RW default = 'ha ++typedef union RG_XMIT_A34_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_iqmm_bypass : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_tx_negate_msb : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int rg_tx_iq_swap : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int rg_tx_dout_sel : 2; ++ unsigned int rsvd_3 : 2; ++ unsigned int rg_tx_async_wgap : 4; ++ unsigned int rsvd_4 : 12; ++ } b; ++} RG_XMIT_A34_FIELD_T; ++ ++#define RG_XMIT_A45 (RF_D_ADDA_XMIT_REG_BASE + 0xb4) ++// Bit 24 :0 rg_man_tx_pwrlvl U RW default = 'h800000 ++// Bit 31 rg_tx_pwr_sel_man_en U RW default = 'h0 ++typedef union RG_XMIT_A45_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_man_tx_pwrlvl : 25; ++ unsigned int rsvd_0 : 6; ++ unsigned int rg_tx_pwr_sel_man_en : 1; ++ } b; ++} RG_XMIT_A45_FIELD_T; ++ ++#define RG_XMIT_A46 (RF_D_ADDA_XMIT_REG_BASE + 0xb8) ++// Bit 7 :0 rg_man_txirr_comp_theta U RW default = 'h0 ++// Bit 15 :8 rg_man_txirr_comp_alpha U RW default = 'h0 ++// Bit 16 rg_txpwc_comp_man_sel U RW default = 'h1 ++// Bit 31 :24 rg_txpwc_comp_man U RW default = 'h80 ++typedef union RG_XMIT_A46_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_man_txirr_comp_theta : 8; ++ unsigned int rg_man_txirr_comp_alpha : 8; ++ unsigned int rg_txpwc_comp_man_sel : 1; ++ unsigned int rsvd_0 : 7; ++ unsigned int rg_txpwc_comp_man : 8; ++ } b; ++} RG_XMIT_A46_FIELD_T; ++ ++#define RG_XMIT_A47 (RF_D_ADDA_XMIT_REG_BASE + 0xbc) ++// Bit 15 :0 rg_tx_ex_gain0 U RW default = 'h9 ++// Bit 31 :16 rg_tx_ex_gain1 U RW default = 'ha ++typedef union RG_XMIT_A47_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_ex_gain0 : 16; ++ unsigned int rg_tx_ex_gain1 : 16; ++ } b; ++} RG_XMIT_A47_FIELD_T; ++ ++#define RG_XMIT_A48 (RF_D_ADDA_XMIT_REG_BASE + 0xd0) ++// Bit 15 :0 rg_tx_ex_gain2 U RW default = 'h9 ++// Bit 31 :16 rg_tx_ex_gain3 U RW default = 'ha ++typedef union RG_XMIT_A48_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_ex_gain2 : 16; ++ unsigned int rg_tx_ex_gain3 : 16; ++ } b; ++} RG_XMIT_A48_FIELD_T; ++ ++#define RG_XMIT_A49 (RF_D_ADDA_XMIT_REG_BASE + 0xd4) ++// Bit 15 :0 rg_tx_ex_gain4 U RW default = 'h9 ++// Bit 31 :16 rg_tx_ex_gain5 U RW default = 'ha ++typedef union RG_XMIT_A49_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_ex_gain4 : 16; ++ unsigned int rg_tx_ex_gain5 : 16; ++ } b; ++} RG_XMIT_A49_FIELD_T; ++ ++#define RG_XMIT_A50 (RF_D_ADDA_XMIT_REG_BASE + 0xd8) ++// Bit 15 :0 rg_tx_ex_gain6 U RW default = 'h9 ++// Bit 31 :16 rg_tx_ex_gain7 U RW default = 'ha ++typedef union RG_XMIT_A50_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_ex_gain6 : 16; ++ unsigned int rg_tx_ex_gain7 : 16; ++ } b; ++} RG_XMIT_A50_FIELD_T; ++ ++#define RG_XMIT_A51 (RF_D_ADDA_XMIT_REG_BASE + 0xdc) ++// Bit 15 :0 rg_tx_ex_gain8 U RW default = 'h9 ++// Bit 31 :16 rg_tx_ex_gain9 U RW default = 'ha ++typedef union RG_XMIT_A51_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_ex_gain8 : 16; ++ unsigned int rg_tx_ex_gain9 : 16; ++ } b; ++} RG_XMIT_A51_FIELD_T; ++ ++#define RG_XMIT_A52 (RF_D_ADDA_XMIT_REG_BASE + 0xe0) ++// Bit 15 :0 rg_tx_ex_gaina U RW default = 'h9 ++// Bit 31 :16 rg_tx_ex_gainb U RW default = 'ha ++typedef union RG_XMIT_A52_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_ex_gaina : 16; ++ unsigned int rg_tx_ex_gainb : 16; ++ } b; ++} RG_XMIT_A52_FIELD_T; ++ ++#define RG_XMIT_A53 (RF_D_ADDA_XMIT_REG_BASE + 0xe4) ++// Bit 15 :0 rg_tx_ex_gainc U RW default = 'h9 ++// Bit 31 :16 rg_tx_ex_gaind U RW default = 'ha ++typedef union RG_XMIT_A53_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_ex_gainc : 16; ++ unsigned int rg_tx_ex_gaind : 16; ++ } b; ++} RG_XMIT_A53_FIELD_T; ++ ++#define RG_XMIT_A54 (RF_D_ADDA_XMIT_REG_BASE + 0xe8) ++// Bit 15 :0 rg_tx_ex_gaine U RW default = 'h9 ++// Bit 31 :16 rg_tx_ex_gainf U RW default = 'ha ++typedef union RG_XMIT_A54_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_ex_gaine : 16; ++ unsigned int rg_tx_ex_gainf : 16; ++ } b; ++} RG_XMIT_A54_FIELD_T; ++ ++#define RG_XMIT_A55 (RF_D_ADDA_XMIT_REG_BASE + 0xec) ++// Bit 15 :0 rg_tx_gain U RW default = 'h0 ++// Bit 16 rg_tx_set U RW default = 'h0 ++typedef union RG_XMIT_A55_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_gain : 16; ++ unsigned int rg_tx_set : 1; ++ unsigned int rsvd_0 : 15; ++ } b; ++} RG_XMIT_A55_FIELD_T; ++ ++#define RG_XMIT_A56 (RF_D_ADDA_XMIT_REG_BASE + 0xf0) ++// Bit 7 :0 rg_txdpd_comp_in_gain U RW default = 'h80 ++// Bit 18 :8 rg_txdpd_comp_out_gain U RW default = 'h80 ++// Bit 24 rg_txdpd_comp_type U RW default = 'h1 ++// Bit 26 rg_txdpd_comp_bypass U RW default = 'h1 ++// Bit 28 rg_txdpd_comp_bypass_man U RW default = 'h1 ++// Bit 31 rg_txdpd_comp_coef_man_sel U RW default = 'h0 ++typedef union RG_XMIT_A56_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_in_gain : 8; ++ unsigned int rg_txdpd_comp_out_gain : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_type : 1; ++ unsigned int rsvd_1 : 1; ++ unsigned int rg_txdpd_comp_bypass : 1; ++ unsigned int rsvd_2 : 1; ++ unsigned int rg_txdpd_comp_bypass_man : 1; ++ unsigned int rsvd_3 : 2; ++ unsigned int rg_txdpd_comp_coef_man_sel : 1; ++ } b; ++} RG_XMIT_A56_FIELD_T; ++ ++#define RG_XMIT_A57 (RF_D_ADDA_XMIT_REG_BASE + 0xf4) ++// Bit 11 :0 rg_txdpd_comp_coef_i_0_man U RW default = 'hff9 ++// Bit 27 :16 rg_txdpd_comp_coef_q_0_man U RW default = 'h46 ++typedef union RG_XMIT_A57_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_0_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_0_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A57_FIELD_T; ++ ++#define RG_XMIT_A58 (RF_D_ADDA_XMIT_REG_BASE + 0xf8) ++// Bit 11 :0 rg_txdpd_comp_coef_i_1_man U RW default = 'hff8 ++// Bit 27 :16 rg_txdpd_comp_coef_q_1_man U RW default = 'h13 ++typedef union RG_XMIT_A58_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_1_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_1_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A58_FIELD_T; ++ ++#define RG_XMIT_A59 (RF_D_ADDA_XMIT_REG_BASE + 0xfc) ++// Bit 11 :0 rg_txdpd_comp_coef_i_2_man U RW default = 'h10 ++// Bit 27 :16 rg_txdpd_comp_coef_q_2_man U RW default = 'h8 ++typedef union RG_XMIT_A59_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_2_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_2_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A59_FIELD_T; ++ ++#define RG_XMIT_A60 (RF_D_ADDA_XMIT_REG_BASE + 0x100) ++// Bit 11 :0 rg_txdpd_comp_coef_i_3_man U RW default = 'he ++// Bit 27 :16 rg_txdpd_comp_coef_q_3_man U RW default = 'h93 ++typedef union RG_XMIT_A60_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_3_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_3_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A60_FIELD_T; ++ ++#define RG_XMIT_A61 (RF_D_ADDA_XMIT_REG_BASE + 0x104) ++// Bit 11 :0 rg_txdpd_comp_coef_i_4_man U RW default = 'h16 ++// Bit 27 :16 rg_txdpd_comp_coef_q_4_man U RW default = 'h1f ++typedef union RG_XMIT_A61_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_4_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_4_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A61_FIELD_T; ++ ++#define RG_XMIT_A62 (RF_D_ADDA_XMIT_REG_BASE + 0x108) ++// Bit 11 :0 rg_txdpd_comp_coef_i_5_man U RW default = 'hfe1 ++// Bit 27 :16 rg_txdpd_comp_coef_q_5_man U RW default = 'hff9 ++typedef union RG_XMIT_A62_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_5_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_5_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A62_FIELD_T; ++ ++#define RG_XMIT_A63 (RF_D_ADDA_XMIT_REG_BASE + 0x10c) ++// Bit 11 :0 rg_txdpd_comp_coef_i_6_man U RW default = 'hf79 ++// Bit 27 :16 rg_txdpd_comp_coef_q_6_man U RW default = 'hc7f ++typedef union RG_XMIT_A63_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_6_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_6_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A63_FIELD_T; ++ ++#define RG_XMIT_A64 (RF_D_ADDA_XMIT_REG_BASE + 0x110) ++// Bit 11 :0 rg_txdpd_comp_coef_i_7_man U RW default = 'h9 ++// Bit 27 :16 rg_txdpd_comp_coef_q_7_man U RW default = 'hf51 ++typedef union RG_XMIT_A64_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_7_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_7_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A64_FIELD_T; ++ ++#define RG_XMIT_A65 (RF_D_ADDA_XMIT_REG_BASE + 0x114) ++// Bit 11 :0 rg_txdpd_comp_coef_i_8_man U RW default = 'hff1 ++// Bit 27 :16 rg_txdpd_comp_coef_q_8_man U RW default = 'h27 ++typedef union RG_XMIT_A65_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_8_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_8_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A65_FIELD_T; ++ ++#define RG_XMIT_A66 (RF_D_ADDA_XMIT_REG_BASE + 0x118) ++// Bit 11 :0 rg_txdpd_comp_coef_i_9_man U RW default = 'hfeb ++// Bit 27 :16 rg_txdpd_comp_coef_q_9_man U RW default = 'hf4d ++typedef union RG_XMIT_A66_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_9_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_9_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A66_FIELD_T; ++ ++#define RG_XMIT_A67 (RF_D_ADDA_XMIT_REG_BASE + 0x11c) ++// Bit 11 :0 rg_txdpd_comp_coef_i_a_man U RW default = 'h5 ++// Bit 27 :16 rg_txdpd_comp_coef_q_a_man U RW default = 'hfe4 ++typedef union RG_XMIT_A67_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_a_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_a_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A67_FIELD_T; ++ ++#define RG_XMIT_A68 (RF_D_ADDA_XMIT_REG_BASE + 0x120) ++// Bit 11 :0 rg_txdpd_comp_coef_i_b_man U RW default = 'h6 ++// Bit 27 :16 rg_txdpd_comp_coef_q_b_man U RW default = 'hfee ++typedef union RG_XMIT_A68_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_b_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_b_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A68_FIELD_T; ++ ++#define RG_XMIT_A69 (RF_D_ADDA_XMIT_REG_BASE + 0x124) ++// Bit 11 :0 rg_txdpd_comp_coef_i_c_man U RW default = 'h17 ++// Bit 27 :16 rg_txdpd_comp_coef_q_c_man U RW default = 'ha3 ++typedef union RG_XMIT_A69_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_c_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_c_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A69_FIELD_T; ++ ++#define RG_XMIT_A70 (RF_D_ADDA_XMIT_REG_BASE + 0x128) ++// Bit 11 :0 rg_txdpd_comp_coef_i_d_man U RW default = 'hffc ++// Bit 27 :16 rg_txdpd_comp_coef_q_d_man U RW default = 'h16 ++typedef union RG_XMIT_A70_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_d_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_d_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A70_FIELD_T; ++ ++#define RG_XMIT_A71 (RF_D_ADDA_XMIT_REG_BASE + 0x12c) ++// Bit 11 :0 rg_txdpd_comp_coef_i_e_man U RW default = 'hfff ++// Bit 27 :16 rg_txdpd_comp_coef_q_e_man U RW default = 'h5 ++typedef union RG_XMIT_A71_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_coef_i_e_man : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int rg_txdpd_comp_coef_q_e_man : 12; ++ unsigned int rsvd_1 : 4; ++ } b; ++} RG_XMIT_A71_FIELD_T; ++ ++#define RG_XMIT_A72 (RF_D_ADDA_XMIT_REG_BASE + 0x130) ++// Bit 12 :0 rg_txdpd_comp_low_thresh U RW default = 'hcd ++// Bit 28 :16 rg_txdpd_comp_high_thresh U RW default = 'h1000 ++typedef union RG_XMIT_A72_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_low_thresh : 13; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_txdpd_comp_high_thresh : 13; ++ unsigned int rsvd_1 : 3; ++ } b; ++} RG_XMIT_A72_FIELD_T; ++ ++#define RG_XMIT_A73 (RF_D_ADDA_XMIT_REG_BASE + 0x134) ++// Bit 10 :0 rg_txdpd_comp_lut_00_i U RW default = 'h101 ++// Bit 26 :16 rg_txdpd_comp_lut_00_q U RW default = 'h0 ++typedef union RG_XMIT_A73_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_00_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_00_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A73_FIELD_T; ++ ++#define RG_XMIT_A74 (RF_D_ADDA_XMIT_REG_BASE + 0x138) ++// Bit 10 :0 rg_txdpd_comp_lut_01_i U RW default = 'hfb ++// Bit 26 :16 rg_txdpd_comp_lut_01_q U RW default = 'h7fe ++typedef union RG_XMIT_A74_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_01_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_01_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A74_FIELD_T; ++ ++#define RG_XMIT_A75 (RF_D_ADDA_XMIT_REG_BASE + 0x13c) ++// Bit 10 :0 rg_txdpd_comp_lut_02_i U RW default = 'hf5 ++// Bit 26 :16 rg_txdpd_comp_lut_02_q U RW default = 'h7fb ++typedef union RG_XMIT_A75_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_02_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_02_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A75_FIELD_T; ++ ++#define RG_XMIT_A76 (RF_D_ADDA_XMIT_REG_BASE + 0x140) ++// Bit 10 :0 rg_txdpd_comp_lut_03_i U RW default = 'hf2 ++// Bit 26 :16 rg_txdpd_comp_lut_03_q U RW default = 'h7fb ++typedef union RG_XMIT_A76_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_03_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_03_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A76_FIELD_T; ++ ++#define RG_XMIT_A77 (RF_D_ADDA_XMIT_REG_BASE + 0x144) ++// Bit 10 :0 rg_txdpd_comp_lut_04_i U RW default = 'hf2 ++// Bit 26 :16 rg_txdpd_comp_lut_04_q U RW default = 'h7fe ++typedef union RG_XMIT_A77_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_04_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_04_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A77_FIELD_T; ++ ++#define RG_XMIT_A78 (RF_D_ADDA_XMIT_REG_BASE + 0x148) ++// Bit 10 :0 rg_txdpd_comp_lut_05_i U RW default = 'hf0 ++// Bit 26 :16 rg_txdpd_comp_lut_05_q U RW default = 'h0 ++typedef union RG_XMIT_A78_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_05_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_05_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A78_FIELD_T; ++ ++#define RG_XMIT_A79 (RF_D_ADDA_XMIT_REG_BASE + 0x14c) ++// Bit 10 :0 rg_txdpd_comp_lut_06_i U RW default = 'hee ++// Bit 26 :16 rg_txdpd_comp_lut_06_q U RW default = 'h2 ++typedef union RG_XMIT_A79_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_06_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_06_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A79_FIELD_T; ++ ++#define RG_XMIT_A80 (RF_D_ADDA_XMIT_REG_BASE + 0x150) ++// Bit 10 :0 rg_txdpd_comp_lut_07_i U RW default = 'heb ++// Bit 26 :16 rg_txdpd_comp_lut_07_q U RW default = 'h4 ++typedef union RG_XMIT_A80_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_07_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_07_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A80_FIELD_T; ++ ++#define RG_XMIT_A81 (RF_D_ADDA_XMIT_REG_BASE + 0x154) ++// Bit 10 :0 rg_txdpd_comp_lut_08_i U RW default = 'he8 ++// Bit 26 :16 rg_txdpd_comp_lut_08_q U RW default = 'h5 ++typedef union RG_XMIT_A81_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_08_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_08_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A81_FIELD_T; ++ ++#define RG_XMIT_A82 (RF_D_ADDA_XMIT_REG_BASE + 0x158) ++// Bit 10 :0 rg_txdpd_comp_lut_09_i U RW default = 'he6 ++// Bit 26 :16 rg_txdpd_comp_lut_09_q U RW default = 'h6 ++typedef union RG_XMIT_A82_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_09_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_09_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A82_FIELD_T; ++ ++#define RG_XMIT_A83 (RF_D_ADDA_XMIT_REG_BASE + 0x15c) ++// Bit 10 :0 rg_txdpd_comp_lut_10_i U RW default = 'he4 ++// Bit 26 :16 rg_txdpd_comp_lut_10_q U RW default = 'h7 ++typedef union RG_XMIT_A83_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_10_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_10_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A83_FIELD_T; ++ ++#define RG_XMIT_A84 (RF_D_ADDA_XMIT_REG_BASE + 0x160) ++// Bit 10 :0 rg_txdpd_comp_lut_11_i U RW default = 'he4 ++// Bit 26 :16 rg_txdpd_comp_lut_11_q U RW default = 'h8 ++typedef union RG_XMIT_A84_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_11_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_11_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A84_FIELD_T; ++ ++#define RG_XMIT_A85 (RF_D_ADDA_XMIT_REG_BASE + 0x164) ++// Bit 10 :0 rg_txdpd_comp_lut_12_i U RW default = 'he6 ++// Bit 26 :16 rg_txdpd_comp_lut_12_q U RW default = 'h9 ++typedef union RG_XMIT_A85_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_12_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_12_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A85_FIELD_T; ++ ++#define RG_XMIT_A86 (RF_D_ADDA_XMIT_REG_BASE + 0x168) ++// Bit 10 :0 rg_txdpd_comp_lut_13_i U RW default = 'hea ++// Bit 26 :16 rg_txdpd_comp_lut_13_q U RW default = 'h9 ++typedef union RG_XMIT_A86_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_13_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_13_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A86_FIELD_T; ++ ++#define RG_XMIT_A87 (RF_D_ADDA_XMIT_REG_BASE + 0x16c) ++// Bit 10 :0 rg_txdpd_comp_lut_14_i U RW default = 'hef ++// Bit 26 :16 rg_txdpd_comp_lut_14_q U RW default = 'h8 ++typedef union RG_XMIT_A87_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_14_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_14_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A87_FIELD_T; ++ ++#define RG_XMIT_A88 (RF_D_ADDA_XMIT_REG_BASE + 0x170) ++// Bit 10 :0 rg_txdpd_comp_lut_15_i U RW default = 'hf6 ++// Bit 26 :16 rg_txdpd_comp_lut_15_q U RW default = 'h7 ++typedef union RG_XMIT_A88_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_15_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_15_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A88_FIELD_T; ++ ++#define RG_XMIT_A89 (RF_D_ADDA_XMIT_REG_BASE + 0x174) ++// Bit 10 :0 rg_txdpd_comp_lut_16_i U RW default = 'hfe ++// Bit 26 :16 rg_txdpd_comp_lut_16_q U RW default = 'h5 ++typedef union RG_XMIT_A89_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_16_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_16_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A89_FIELD_T; ++ ++#define RG_XMIT_A90 (RF_D_ADDA_XMIT_REG_BASE + 0x178) ++// Bit 10 :0 rg_txdpd_comp_lut_17_i U RW default = 'h108 ++// Bit 26 :16 rg_txdpd_comp_lut_17_q U RW default = 'h2 ++typedef union RG_XMIT_A90_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_17_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_17_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A90_FIELD_T; ++ ++#define RG_XMIT_A91 (RF_D_ADDA_XMIT_REG_BASE + 0x17c) ++// Bit 10 :0 rg_txdpd_comp_lut_18_i U RW default = 'h113 ++// Bit 26 :16 rg_txdpd_comp_lut_18_q U RW default = 'h7ff ++typedef union RG_XMIT_A91_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_18_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_18_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A91_FIELD_T; ++ ++#define RG_XMIT_A92 (RF_D_ADDA_XMIT_REG_BASE + 0x180) ++// Bit 10 :0 rg_txdpd_comp_lut_19_i U RW default = 'h11e ++// Bit 26 :16 rg_txdpd_comp_lut_19_q U RW default = 'h7fd ++typedef union RG_XMIT_A92_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_19_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_19_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A92_FIELD_T; ++ ++#define RG_XMIT_A93 (RF_D_ADDA_XMIT_REG_BASE + 0x184) ++// Bit 10 :0 rg_txdpd_comp_lut_20_i U RW default = 'h129 ++// Bit 26 :16 rg_txdpd_comp_lut_20_q U RW default = 'h7fa ++typedef union RG_XMIT_A93_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_20_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_20_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A93_FIELD_T; ++ ++#define RG_XMIT_A94 (RF_D_ADDA_XMIT_REG_BASE + 0x188) ++// Bit 10 :0 rg_txdpd_comp_lut_21_i U RW default = 'h135 ++// Bit 26 :16 rg_txdpd_comp_lut_21_q U RW default = 'h7f7 ++typedef union RG_XMIT_A94_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_21_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_21_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A94_FIELD_T; ++ ++#define RG_XMIT_A95 (RF_D_ADDA_XMIT_REG_BASE + 0x18c) ++// Bit 10 :0 rg_txdpd_comp_lut_22_i U RW default = 'h140 ++// Bit 26 :16 rg_txdpd_comp_lut_22_q U RW default = 'h7f4 ++typedef union RG_XMIT_A95_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_22_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_22_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A95_FIELD_T; ++ ++#define RG_XMIT_A96 (RF_D_ADDA_XMIT_REG_BASE + 0x190) ++// Bit 10 :0 rg_txdpd_comp_lut_23_i U RW default = 'h14b ++// Bit 26 :16 rg_txdpd_comp_lut_23_q U RW default = 'h7f1 ++typedef union RG_XMIT_A96_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_23_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_23_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A96_FIELD_T; ++ ++#define RG_XMIT_A97 (RF_D_ADDA_XMIT_REG_BASE + 0x194) ++// Bit 10 :0 rg_txdpd_comp_lut_24_i U RW default = 'h157 ++// Bit 26 :16 rg_txdpd_comp_lut_24_q U RW default = 'h7ee ++typedef union RG_XMIT_A97_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_24_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_24_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A97_FIELD_T; ++ ++#define RG_XMIT_A98 (RF_D_ADDA_XMIT_REG_BASE + 0x198) ++// Bit 10 :0 rg_txdpd_comp_lut_25_i U RW default = 'h163 ++// Bit 26 :16 rg_txdpd_comp_lut_25_q U RW default = 'h7ec ++typedef union RG_XMIT_A98_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_25_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_25_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A98_FIELD_T; ++ ++#define RG_XMIT_A99 (RF_D_ADDA_XMIT_REG_BASE + 0x19c) ++// Bit 10 :0 rg_txdpd_comp_lut_26_i U RW default = 'h170 ++// Bit 26 :16 rg_txdpd_comp_lut_26_q U RW default = 'h7e9 ++typedef union RG_XMIT_A99_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_26_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_26_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A99_FIELD_T; ++ ++#define RG_XMIT_A100 (RF_D_ADDA_XMIT_REG_BASE + 0x1a0) ++// Bit 10 :0 rg_txdpd_comp_lut_27_i U RW default = 'h17b ++// Bit 26 :16 rg_txdpd_comp_lut_27_q U RW default = 'h7e6 ++typedef union RG_XMIT_A100_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_27_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_27_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A100_FIELD_T; ++ ++#define RG_XMIT_A101 (RF_D_ADDA_XMIT_REG_BASE + 0x1a4) ++// Bit 10 :0 rg_txdpd_comp_lut_28_i U RW default = 'h185 ++// Bit 26 :16 rg_txdpd_comp_lut_28_q U RW default = 'h7e2 ++typedef union RG_XMIT_A101_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_28_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_28_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A101_FIELD_T; ++ ++#define RG_XMIT_A102 (RF_D_ADDA_XMIT_REG_BASE + 0x1a8) ++// Bit 10 :0 rg_txdpd_comp_lut_29_i U RW default = 'h18d ++// Bit 26 :16 rg_txdpd_comp_lut_29_q U RW default = 'h7df ++typedef union RG_XMIT_A102_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_29_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_29_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A102_FIELD_T; ++ ++#define RG_XMIT_A103 (RF_D_ADDA_XMIT_REG_BASE + 0x1ac) ++// Bit 10 :0 rg_txdpd_comp_lut_30_i U RW default = 'h199 ++// Bit 26 :16 rg_txdpd_comp_lut_30_q U RW default = 'h7dc ++typedef union RG_XMIT_A103_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_30_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_30_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A103_FIELD_T; ++ ++#define RG_XMIT_A104 (RF_D_ADDA_XMIT_REG_BASE + 0x1b0) ++// Bit 10 :0 rg_txdpd_comp_lut_31_i U RW default = 'h1ad ++// Bit 26 :16 rg_txdpd_comp_lut_31_q U RW default = 'h7da ++typedef union RG_XMIT_A104_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_31_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_31_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A104_FIELD_T; ++ ++#define RG_XMIT_A105 (RF_D_ADDA_XMIT_REG_BASE + 0x1b4) ++// Bit 12 :0 rg_txdpd_comp_high_thresh_recip U RW default = 'h10d ++// Bit 30 :16 rg_txdpd_coef_update_en U RW default = 'h7fff ++typedef union RG_XMIT_A105_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_high_thresh_recip : 13; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_txdpd_coef_update_en : 15; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_XMIT_A105_FIELD_T; ++ ++#define RG_XMIT_A106 (RF_D_ADDA_XMIT_REG_BASE + 0x1b8) ++// Bit 7 :0 rg_tx_atten_factor U RW default = 'h8 ++// Bit 8 rg_tx_atten_factor_man_mode U RW default = 'h1 ++typedef union RG_XMIT_A106_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_atten_factor : 8; ++ unsigned int rg_tx_atten_factor_man_mode : 1; ++ unsigned int rsvd_0 : 23; ++ } b; ++} RG_XMIT_A106_FIELD_T; ++ ++#define RG_XMIT_A107 (RF_D_ADDA_XMIT_REG_BASE + 0x1bc) ++// Bit 7 :0 rg_tx_coeff_20m_0 U RW default = 'hfb ++// Bit 15 :8 rg_tx_coeff_20m_1 U RW default = 'hfb ++// Bit 23 :16 rg_tx_coeff_20m_2 U RW default = 'h2 ++// Bit 31 :24 rg_tx_coeff_20m_3 U RW default = 'h11 ++typedef union RG_XMIT_A107_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_coeff_20m_0 : 8; ++ unsigned int rg_tx_coeff_20m_1 : 8; ++ unsigned int rg_tx_coeff_20m_2 : 8; ++ unsigned int rg_tx_coeff_20m_3 : 8; ++ } b; ++} RG_XMIT_A107_FIELD_T; ++ ++#define RG_XMIT_A108 (RF_D_ADDA_XMIT_REG_BASE + 0x1c0) ++// Bit 7 :0 rg_tx_coeff_20m_4 U RW default = 'h25 ++// Bit 15 :8 rg_tx_coeff_20m_5 U RW default = 'h37 ++// Bit 23 :16 rg_tx_coeff_20m_6 U RW default = 'h3e ++typedef union RG_XMIT_A108_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_coeff_20m_4 : 8; ++ unsigned int rg_tx_coeff_20m_5 : 8; ++ unsigned int rg_tx_coeff_20m_6 : 8; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_XMIT_A108_FIELD_T; ++ ++#define RG_XMIT_A109 (RF_D_ADDA_XMIT_REG_BASE + 0x1c4) ++// Bit 7 :0 rg_tx_coeff_40m_0 U RW default = 'h2 ++// Bit 15 :8 rg_tx_coeff_40m_1 U RW default = 'hfc ++// Bit 23 :16 rg_tx_coeff_40m_2 U RW default = 'hf3 ++// Bit 31 :24 rg_tx_coeff_40m_3 U RW default = 'hf8 ++typedef union RG_XMIT_A109_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_coeff_40m_0 : 8; ++ unsigned int rg_tx_coeff_40m_1 : 8; ++ unsigned int rg_tx_coeff_40m_2 : 8; ++ unsigned int rg_tx_coeff_40m_3 : 8; ++ } b; ++} RG_XMIT_A109_FIELD_T; ++ ++#define RG_XMIT_A110 (RF_D_ADDA_XMIT_REG_BASE + 0x1c8) ++// Bit 7 :0 rg_tx_coeff_40m_4 U RW default = 'h1a ++// Bit 15 :8 rg_tx_coeff_40m_5 U RW default = 'h49 ++// Bit 23 :16 rg_tx_coeff_40m_6 U RW default = 'h60 ++typedef union RG_XMIT_A110_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_coeff_40m_4 : 8; ++ unsigned int rg_tx_coeff_40m_5 : 8; ++ unsigned int rg_tx_coeff_40m_6 : 8; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_XMIT_A110_FIELD_T; ++ ++#define RG_XMIT_A111 (RF_D_ADDA_XMIT_REG_BASE + 0x1cc) ++// Bit 1 :0 rg_txirr_theta_step U RW default = 'h0 ++typedef union RG_XMIT_A111_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txirr_theta_step : 2; ++ unsigned int rsvd_0 : 30; ++ } b; ++} RG_XMIT_A111_FIELD_T; ++ ++#define RG_XMIT_A112 (RF_D_ADDA_XMIT_REG_BASE + 0x1d0) ++// Bit 7 :0 rg_tx_atten_factor0 U RW default = 'h8 ++// Bit 15 :8 rg_tx_atten_factor1 U RW default = 'h8 ++// Bit 23 :16 rg_tx_atten_factor2 U RW default = 'h8 ++// Bit 31 :24 rg_tx_atten_factor3 U RW default = 'h8 ++typedef union RG_XMIT_A112_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_atten_factor0 : 8; ++ unsigned int rg_tx_atten_factor1 : 8; ++ unsigned int rg_tx_atten_factor2 : 8; ++ unsigned int rg_tx_atten_factor3 : 8; ++ } b; ++} RG_XMIT_A112_FIELD_T; ++ ++#define RG_XMIT_A113 (RF_D_ADDA_XMIT_REG_BASE + 0x1d4) ++// Bit 7 :0 rg_tx_atten_factor4 U RW default = 'h8 ++// Bit 15 :8 rg_tx_atten_factor5 U RW default = 'h8 ++// Bit 23 :16 rg_tx_atten_factor6 U RW default = 'h8 ++// Bit 31 :24 rg_tx_atten_factor7 U RW default = 'h8 ++typedef union RG_XMIT_A113_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_atten_factor4 : 8; ++ unsigned int rg_tx_atten_factor5 : 8; ++ unsigned int rg_tx_atten_factor6 : 8; ++ unsigned int rg_tx_atten_factor7 : 8; ++ } b; ++} RG_XMIT_A113_FIELD_T; ++ ++#define RG_XMIT_A114 (RF_D_ADDA_XMIT_REG_BASE + 0x1d8) ++// Bit 7 :0 rg_tx_atten_factor8 U RW default = 'h8 ++// Bit 15 :8 rg_tx_atten_factor9 U RW default = 'h8 ++// Bit 23 :16 rg_tx_atten_factora U RW default = 'h8 ++// Bit 31 :24 rg_tx_atten_factorb U RW default = 'h8 ++typedef union RG_XMIT_A114_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_atten_factor8 : 8; ++ unsigned int rg_tx_atten_factor9 : 8; ++ unsigned int rg_tx_atten_factora : 8; ++ unsigned int rg_tx_atten_factorb : 8; ++ } b; ++} RG_XMIT_A114_FIELD_T; ++ ++#define RG_XMIT_A115 (RF_D_ADDA_XMIT_REG_BASE + 0x1dc) ++// Bit 7 :0 rg_tx_atten_factorc U RW default = 'h8 ++// Bit 15 :8 rg_tx_atten_factord U RW default = 'h8 ++// Bit 23 :16 rg_tx_atten_factore U RW default = 'h8 ++// Bit 31 :24 rg_tx_atten_factorf U RW default = 'h8 ++typedef union RG_XMIT_A115_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_tx_atten_factorc : 8; ++ unsigned int rg_tx_atten_factord : 8; ++ unsigned int rg_tx_atten_factore : 8; ++ unsigned int rg_tx_atten_factorf : 8; ++ } b; ++} RG_XMIT_A115_FIELD_T; ++ ++#define RG_XMIT_A116 (RF_D_ADDA_XMIT_REG_BASE + 0x1e0) ++// Bit 10 :0 rg_txdpd_comp_lut_32_i U RW default = 'h0 ++// Bit 26 :16 rg_txdpd_comp_lut_32_q U RW default = 'h0 ++typedef union RG_XMIT_A116_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_txdpd_comp_lut_32_i : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_txdpd_comp_lut_32_q : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A116_FIELD_T; ++ ++#define RG_XMIT_A117 (RF_D_ADDA_XMIT_REG_BASE + 0x1e4) ++// Bit 10 :0 rg_trig_wave_min U RW default = 'h401 ++// Bit 26 :16 rg_trig_wave_max U RW default = 'h3ff ++typedef union RG_XMIT_A117_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_trig_wave_min : 11; ++ unsigned int rsvd_0 : 5; ++ unsigned int rg_trig_wave_max : 11; ++ unsigned int rsvd_1 : 5; ++ } b; ++} RG_XMIT_A117_FIELD_T; ++ ++#define RG_XMIT_A118 (RF_D_ADDA_XMIT_REG_BASE + 0x1e8) ++// Bit 10 :0 rg_trig_wave_step U RW default = 'h5 ++// Bit 27 :12 rg_trig_wave_length U RW default = 'h2 ++// Bit 30 rg_trig_wave_q_hold U RW default = 'h0 ++// Bit 31 rg_trig_wave_en U RW default = 'h0 ++typedef union RG_XMIT_A118_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_trig_wave_step : 11; ++ unsigned int rsvd_0 : 1; ++ unsigned int rg_trig_wave_length : 16; ++ unsigned int rsvd_1 : 2; ++ unsigned int rg_trig_wave_q_hold : 1; ++ unsigned int rg_trig_wave_en : 1; ++ } b; ++} RG_XMIT_A118_FIELD_T; ++ ++#define RG_XMIT_A119 (RF_D_ADDA_XMIT_REG_BASE + 0x1ec) ++// Bit 0 rg_const_sel U RW default = 'h0 ++typedef union RG_XMIT_A119_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_const_sel : 1; ++ unsigned int rsvd_0 : 31; ++ } b; ++} RG_XMIT_A119_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/rf_d_rx_reg.h b/drivers/net/wireless/w1/common/rf_d_rx_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..f17b5c0212c7ab6c7a41ef3daf5d3d124758a163 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/rf_d_rx_reg.h +@@ -0,0 +1,2486 @@ ++#ifdef RF_D_RX_REG ++#else ++#define RF_D_RX_REG ++ ++ ++#define RF_D_RX_REG_BASE (0xc00) ++ ++#define RG_RX_A0 (RF_D_RX_REG_BASE + 0x0) ++// Bit 31 :0 rg_wf_rx_dig_rsv0 U RW default = 'hffff ++typedef union RG_RX_A0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_DIG_RSV0 : 32; ++ } b; ++} RG_RX_A0_FIELD_T; ++ ++#define RG_RX_A1 (RF_D_RX_REG_BASE + 0x4) ++// Bit 31 :0 rg_wf_rx_dig_rsv1 U RW default = 'hffff ++typedef union RG_RX_A1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_DIG_RSV1 : 32; ++ } b; ++} RG_RX_A1_FIELD_T; ++ ++#define RG_RX_A2 (RF_D_RX_REG_BASE + 0x8) ++// Bit 0 rg_wf_rx_bbbm_man_mode U RW default = 'h0 ++// Bit 3 :2 rg_wf_rx_bw_sel U RW default = 'h0 ++// Bit 4 rg_wf_rx_adcfs_sel U RW default = 'h0 ++// Bit 15 :8 rg_wf_rx_gain_man U RW default = 'h9c ++// Bit 16 rg_wf_rx_gain_man_mode U RW default = 'h0 ++// Bit 23 :20 rg_wf_rx_osc_freq U RW default = 'h5 ++typedef union RG_RX_A2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_BBBM_MAN_MODE : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RX_BW_SEL : 2; ++ unsigned int RG_WF_RX_ADCFS_SEL : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_WF_RX_GAIN_MAN : 8; ++ unsigned int RG_WF_RX_GAIN_MAN_MODE : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int RG_WF_RX_OSC_FREQ : 4; ++ unsigned int rsvd_3 : 8; ++ } b; ++} RG_RX_A2_FIELD_T; ++ ++#define RG_RX_A3 (RF_D_RX_REG_BASE + 0xc) ++// Bit 0 rg_m0_wf_rx_fe_topbias_en U RW default = 'h0 ++// Bit 1 rg_m0_wf_rx_lna_bias_en U RW default = 'h0 ++// Bit 2 rg_m0_wf_rx_gm_bias_en U RW default = 'h0 ++// Bit 3 rg_m0_wf_rx_mxr_bias_en U RW default = 'h0 ++// Bit 4 rg_m0_wf5g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 5 rg_m0_wf5g_rx_lna_en U RW default = 'h0 ++// Bit 6 rg_m0_wf5g_rx_gm_en U RW default = 'h0 ++// Bit 7 rg_m0_wf5g_rx_mxr_en U RW default = 'h0 ++// Bit 8 rg_m0_wf5g_rx_dpd_en U RW default = 'h0 ++// Bit 9 rg_m0_wf5g_rx_irrcal_en U RW default = 'h0 ++// Bit 10 rg_m0_wf2g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 11 rg_m0_wf2g_rx_lna_en U RW default = 'h0 ++// Bit 12 rg_m0_wf2g_rx_gm_en U RW default = 'h0 ++// Bit 13 rg_m0_wf2g_rx_mxr_en U RW default = 'h0 ++// Bit 14 rg_m0_wf2g_rx_irrcal_en U RW default = 'h0 ++// Bit 15 rg_m0_wf2g_rx_dpd_en U RW default = 'h0 ++// Bit 17 rg_m0_wf_rtx_abb_topbias_en U RW default = 'h0 ++// Bit 18 rg_m0_wf_rtx_abb_rx_en U RW default = 'h0 ++// Bit 22 rg_m0_wf_rx_tia_bias_en U RW default = 'h0 ++// Bit 23 rg_m0_wf_rx_rssipga_bias_en U RW default = 'h0 ++// Bit 24 rg_m0_wf_rx_lpf_bias_en U RW default = 'h0 ++// Bit 25 rg_m0_wf_rx_tia_en U RW default = 'h0 ++// Bit 26 rg_m0_wf_rx_rssipga_en U RW default = 'h0 ++// Bit 27 rg_m0_wf_rx_lpf_en U RW default = 'h0 ++// Bit 28 rg_m0_wf_rx_lpf_i_dcoc_en U RW default = 'h0 ++// Bit 29 rg_m0_wf_rx_lpf_q_dcoc_en U RW default = 'h0 ++typedef union RG_RX_A3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M0_WF_RX_FE_TOPBIAS_EN : 1; ++ unsigned int RG_M0_WF_RX_LNA_BIAS_EN : 1; ++ unsigned int RG_M0_WF_RX_GM_BIAS_EN : 1; ++ unsigned int RG_M0_WF_RX_MXR_BIAS_EN : 1; ++ unsigned int RG_M0_WF5G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M0_WF5G_RX_LNA_EN : 1; ++ unsigned int RG_M0_WF5G_RX_GM_EN : 1; ++ unsigned int RG_M0_WF5G_RX_MXR_EN : 1; ++ unsigned int RG_M0_WF5G_RX_DPD_EN : 1; ++ unsigned int RG_M0_WF5G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M0_WF2G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M0_WF2G_RX_LNA_EN : 1; ++ unsigned int RG_M0_WF2G_RX_GM_EN : 1; ++ unsigned int RG_M0_WF2G_RX_MXR_EN : 1; ++ unsigned int RG_M0_WF2G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M0_WF2G_RX_DPD_EN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_M0_WF_RTX_ABB_TOPBIAS_EN : 1; ++ unsigned int RG_M0_WF_RTX_ABB_RX_EN : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_M0_WF_RX_TIA_BIAS_EN : 1; ++ unsigned int RG_M0_WF_RX_RSSIPGA_BIAS_EN : 1; ++ unsigned int RG_M0_WF_RX_LPF_BIAS_EN : 1; ++ unsigned int RG_M0_WF_RX_TIA_EN : 1; ++ unsigned int RG_M0_WF_RX_RSSIPGA_EN : 1; ++ unsigned int RG_M0_WF_RX_LPF_EN : 1; ++ unsigned int RG_M0_WF_RX_LPF_I_DCOC_EN : 1; ++ unsigned int RG_M0_WF_RX_LPF_Q_DCOC_EN : 1; ++ unsigned int rsvd_2 : 2; ++ } b; ++} RG_RX_A3_FIELD_T; ++ ++#define RG_RX_A4 (RF_D_RX_REG_BASE + 0x10) ++// Bit 0 rg_m1_wf_rx_fe_topbias_en U RW default = 'h0 ++// Bit 1 rg_m1_wf_rx_lna_bias_en U RW default = 'h0 ++// Bit 2 rg_m1_wf_rx_gm_bias_en U RW default = 'h0 ++// Bit 3 rg_m1_wf_rx_mxr_bias_en U RW default = 'h0 ++// Bit 4 rg_m1_wf5g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 5 rg_m1_wf5g_rx_lna_en U RW default = 'h0 ++// Bit 6 rg_m1_wf5g_rx_gm_en U RW default = 'h0 ++// Bit 7 rg_m1_wf5g_rx_mxr_en U RW default = 'h0 ++// Bit 8 rg_m1_wf5g_rx_dpd_en U RW default = 'h0 ++// Bit 9 rg_m1_wf5g_rx_irrcal_en U RW default = 'h0 ++// Bit 10 rg_m1_wf2g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 11 rg_m1_wf2g_rx_lna_en U RW default = 'h0 ++// Bit 12 rg_m1_wf2g_rx_gm_en U RW default = 'h0 ++// Bit 13 rg_m1_wf2g_rx_mxr_en U RW default = 'h0 ++// Bit 14 rg_m1_wf2g_rx_irrcal_en U RW default = 'h0 ++// Bit 15 rg_m1_wf2g_rx_dpd_en U RW default = 'h0 ++// Bit 17 rg_m1_wf_rtx_abb_topbias_en U RW default = 'h0 ++// Bit 18 rg_m1_wf_rtx_abb_rx_en U RW default = 'h0 ++// Bit 22 rg_m1_wf_rx_tia_bias_en U RW default = 'h0 ++// Bit 23 rg_m1_wf_rx_rssipga_bias_en U RW default = 'h0 ++// Bit 24 rg_m1_wf_rx_lpf_bias_en U RW default = 'h0 ++// Bit 25 rg_m1_wf_rx_tia_en U RW default = 'h0 ++// Bit 26 rg_m1_wf_rx_rssipga_en U RW default = 'h0 ++// Bit 27 rg_m1_wf_rx_lpf_en U RW default = 'h0 ++// Bit 28 rg_m1_wf_rx_lpf_i_dcoc_en U RW default = 'h0 ++// Bit 29 rg_m1_wf_rx_lpf_q_dcoc_en U RW default = 'h0 ++typedef union RG_RX_A4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M1_WF_RX_FE_TOPBIAS_EN : 1; ++ unsigned int RG_M1_WF_RX_LNA_BIAS_EN : 1; ++ unsigned int RG_M1_WF_RX_GM_BIAS_EN : 1; ++ unsigned int RG_M1_WF_RX_MXR_BIAS_EN : 1; ++ unsigned int RG_M1_WF5G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M1_WF5G_RX_LNA_EN : 1; ++ unsigned int RG_M1_WF5G_RX_GM_EN : 1; ++ unsigned int RG_M1_WF5G_RX_MXR_EN : 1; ++ unsigned int RG_M1_WF5G_RX_DPD_EN : 1; ++ unsigned int RG_M1_WF5G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M1_WF2G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M1_WF2G_RX_LNA_EN : 1; ++ unsigned int RG_M1_WF2G_RX_GM_EN : 1; ++ unsigned int RG_M1_WF2G_RX_MXR_EN : 1; ++ unsigned int RG_M1_WF2G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M1_WF2G_RX_DPD_EN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_M1_WF_RTX_ABB_TOPBIAS_EN : 1; ++ unsigned int RG_M1_WF_RTX_ABB_RX_EN : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_M1_WF_RX_TIA_BIAS_EN : 1; ++ unsigned int RG_M1_WF_RX_RSSIPGA_BIAS_EN : 1; ++ unsigned int RG_M1_WF_RX_LPF_BIAS_EN : 1; ++ unsigned int RG_M1_WF_RX_TIA_EN : 1; ++ unsigned int RG_M1_WF_RX_RSSIPGA_EN : 1; ++ unsigned int RG_M1_WF_RX_LPF_EN : 1; ++ unsigned int RG_M1_WF_RX_LPF_I_DCOC_EN : 1; ++ unsigned int RG_M1_WF_RX_LPF_Q_DCOC_EN : 1; ++ unsigned int rsvd_2 : 2; ++ } b; ++} RG_RX_A4_FIELD_T; ++ ++#define RG_RX_A5 (RF_D_RX_REG_BASE + 0x14) ++// Bit 0 rg_m2_wf_rx_fe_topbias_en U RW default = 'h1 ++// Bit 1 rg_m2_wf_rx_lna_bias_en U RW default = 'h0 ++// Bit 2 rg_m2_wf_rx_gm_bias_en U RW default = 'h0 ++// Bit 3 rg_m2_wf_rx_mxr_bias_en U RW default = 'h0 ++// Bit 4 rg_m2_wf5g_rx_lna_trsw_en U RW default = 'h1 ++// Bit 5 rg_m2_wf5g_rx_lna_en U RW default = 'h0 ++// Bit 6 rg_m2_wf5g_rx_gm_en U RW default = 'h0 ++// Bit 7 rg_m2_wf5g_rx_mxr_en U RW default = 'h0 ++// Bit 8 rg_m2_wf5g_rx_dpd_en U RW default = 'h0 ++// Bit 9 rg_m2_wf5g_rx_irrcal_en U RW default = 'h0 ++// Bit 10 rg_m2_wf2g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 11 rg_m2_wf2g_rx_lna_en U RW default = 'h0 ++// Bit 12 rg_m2_wf2g_rx_gm_en U RW default = 'h0 ++// Bit 13 rg_m2_wf2g_rx_mxr_en U RW default = 'h0 ++// Bit 14 rg_m2_wf2g_rx_irrcal_en U RW default = 'h0 ++// Bit 15 rg_m2_wf2g_rx_dpd_en U RW default = 'h0 ++// Bit 17 rg_m2_wf_rtx_abb_topbias_en U RW default = 'h1 ++// Bit 18 rg_m2_wf_rtx_abb_rx_en U RW default = 'h0 ++// Bit 22 rg_m2_wf_rx_tia_bias_en U RW default = 'h0 ++// Bit 23 rg_m2_wf_rx_rssipga_bias_en U RW default = 'h0 ++// Bit 24 rg_m2_wf_rx_lpf_bias_en U RW default = 'h0 ++// Bit 25 rg_m2_wf_rx_tia_en U RW default = 'h0 ++// Bit 26 rg_m2_wf_rx_rssipga_en U RW default = 'h0 ++// Bit 27 rg_m2_wf_rx_lpf_en U RW default = 'h0 ++// Bit 28 rg_m2_wf_rx_lpf_i_dcoc_en U RW default = 'h0 ++// Bit 29 rg_m2_wf_rx_lpf_q_dcoc_en U RW default = 'h0 ++typedef union RG_RX_A5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M2_WF_RX_FE_TOPBIAS_EN : 1; ++ unsigned int RG_M2_WF_RX_LNA_BIAS_EN : 1; ++ unsigned int RG_M2_WF_RX_GM_BIAS_EN : 1; ++ unsigned int RG_M2_WF_RX_MXR_BIAS_EN : 1; ++ unsigned int RG_M2_WF5G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M2_WF5G_RX_LNA_EN : 1; ++ unsigned int RG_M2_WF5G_RX_GM_EN : 1; ++ unsigned int RG_M2_WF5G_RX_MXR_EN : 1; ++ unsigned int RG_M2_WF5G_RX_DPD_EN : 1; ++ unsigned int RG_M2_WF5G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M2_WF2G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M2_WF2G_RX_LNA_EN : 1; ++ unsigned int RG_M2_WF2G_RX_GM_EN : 1; ++ unsigned int RG_M2_WF2G_RX_MXR_EN : 1; ++ unsigned int RG_M2_WF2G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M2_WF2G_RX_DPD_EN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_M2_WF_RTX_ABB_TOPBIAS_EN : 1; ++ unsigned int RG_M2_WF_RTX_ABB_RX_EN : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_M2_WF_RX_TIA_BIAS_EN : 1; ++ unsigned int RG_M2_WF_RX_RSSIPGA_BIAS_EN : 1; ++ unsigned int RG_M2_WF_RX_LPF_BIAS_EN : 1; ++ unsigned int RG_M2_WF_RX_TIA_EN : 1; ++ unsigned int RG_M2_WF_RX_RSSIPGA_EN : 1; ++ unsigned int RG_M2_WF_RX_LPF_EN : 1; ++ unsigned int RG_M2_WF_RX_LPF_I_DCOC_EN : 1; ++ unsigned int RG_M2_WF_RX_LPF_Q_DCOC_EN : 1; ++ unsigned int rsvd_2 : 2; ++ } b; ++} RG_RX_A5_FIELD_T; ++ ++#define RG_RX_A6 (RF_D_RX_REG_BASE + 0x18) ++// Bit 0 rg_m3_wf_rx_fe_topbias_en U RW default = 'h1 ++// Bit 1 rg_m3_wf_rx_lna_bias_en U RW default = 'h1 ++// Bit 2 rg_m3_wf_rx_gm_bias_en U RW default = 'h1 ++// Bit 3 rg_m3_wf_rx_mxr_bias_en U RW default = 'h1 ++// Bit 4 rg_m3_wf5g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 5 rg_m3_wf5g_rx_lna_en U RW default = 'h1 ++// Bit 6 rg_m3_wf5g_rx_gm_en U RW default = 'h1 ++// Bit 7 rg_m3_wf5g_rx_mxr_en U RW default = 'h1 ++// Bit 8 rg_m3_wf5g_rx_dpd_en U RW default = 'h0 ++// Bit 9 rg_m3_wf5g_rx_irrcal_en U RW default = 'h0 ++// Bit 10 rg_m3_wf2g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 11 rg_m3_wf2g_rx_lna_en U RW default = 'h0 ++// Bit 12 rg_m3_wf2g_rx_gm_en U RW default = 'h0 ++// Bit 13 rg_m3_wf2g_rx_mxr_en U RW default = 'h0 ++// Bit 14 rg_m3_wf2g_rx_irrcal_en U RW default = 'h0 ++// Bit 15 rg_m3_wf2g_rx_dpd_en U RW default = 'h0 ++// Bit 17 rg_m3_wf_rtx_abb_topbias_en U RW default = 'h1 ++// Bit 18 rg_m3_wf_rtx_abb_rx_en U RW default = 'h1 ++// Bit 22 rg_m3_wf_rx_tia_bias_en U RW default = 'h1 ++// Bit 23 rg_m3_wf_rx_rssipga_bias_en U RW default = 'h1 ++// Bit 24 rg_m3_wf_rx_lpf_bias_en U RW default = 'h1 ++// Bit 25 rg_m3_wf_rx_tia_en U RW default = 'h1 ++// Bit 26 rg_m3_wf_rx_rssipga_en U RW default = 'h1 ++// Bit 27 rg_m3_wf_rx_lpf_en U RW default = 'h1 ++// Bit 28 rg_m3_wf_rx_lpf_i_dcoc_en U RW default = 'h1 ++// Bit 29 rg_m3_wf_rx_lpf_q_dcoc_en U RW default = 'h1 ++typedef union RG_RX_A6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M3_WF_RX_FE_TOPBIAS_EN : 1; ++ unsigned int RG_M3_WF_RX_LNA_BIAS_EN : 1; ++ unsigned int RG_M3_WF_RX_GM_BIAS_EN : 1; ++ unsigned int RG_M3_WF_RX_MXR_BIAS_EN : 1; ++ unsigned int RG_M3_WF5G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M3_WF5G_RX_LNA_EN : 1; ++ unsigned int RG_M3_WF5G_RX_GM_EN : 1; ++ unsigned int RG_M3_WF5G_RX_MXR_EN : 1; ++ unsigned int RG_M3_WF5G_RX_DPD_EN : 1; ++ unsigned int RG_M3_WF5G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M3_WF2G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M3_WF2G_RX_LNA_EN : 1; ++ unsigned int RG_M3_WF2G_RX_GM_EN : 1; ++ unsigned int RG_M3_WF2G_RX_MXR_EN : 1; ++ unsigned int RG_M3_WF2G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M3_WF2G_RX_DPD_EN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_M3_WF_RTX_ABB_TOPBIAS_EN : 1; ++ unsigned int RG_M3_WF_RTX_ABB_RX_EN : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_M3_WF_RX_TIA_BIAS_EN : 1; ++ unsigned int RG_M3_WF_RX_RSSIPGA_BIAS_EN : 1; ++ unsigned int RG_M3_WF_RX_LPF_BIAS_EN : 1; ++ unsigned int RG_M3_WF_RX_TIA_EN : 1; ++ unsigned int RG_M3_WF_RX_RSSIPGA_EN : 1; ++ unsigned int RG_M3_WF_RX_LPF_EN : 1; ++ unsigned int RG_M3_WF_RX_LPF_I_DCOC_EN : 1; ++ unsigned int RG_M3_WF_RX_LPF_Q_DCOC_EN : 1; ++ unsigned int rsvd_2 : 2; ++ } b; ++} RG_RX_A6_FIELD_T; ++ ++#define RG_RX_A7 (RF_D_RX_REG_BASE + 0x1c) ++// Bit 3 :0 rg_wf5g_rx_lna_tank_sel_band0 U RW default = 'h9 ++// Bit 7 :4 rg_wf5g_rx_lna_tank_sel_band1 U RW default = 'h9 ++// Bit 11 :8 rg_wf5g_rx_lna_tank_sel_band2 U RW default = 'h8 ++// Bit 15 :12 rg_wf5g_rx_lna_tank_sel_band3 U RW default = 'h7 ++// Bit 19 :16 rg_wf5g_rx_lna_tank_sel_band4 U RW default = 'h6 ++// Bit 23 :20 rg_wf5g_rx_lna_tank_sel_band5 U RW default = 'h5 ++// Bit 27 :24 rg_wf5g_rx_lna_tank_sel_band6 U RW default = 'h4 ++// Bit 31 :28 rg_wf5g_rx_lna_tank_sel_band7 U RW default = 'h4 ++typedef union RG_RX_A7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND0 : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND1 : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND2 : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND3 : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND4 : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND5 : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND6 : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND7 : 4; ++ } b; ++} RG_RX_A7_FIELD_T; ++ ++#define RG_RX_A8 (RF_D_RX_REG_BASE + 0x20) ++// Bit 3 :0 rg_wf5g_rx_lna_tank_sel_band8 U RW default = 'h3 ++// Bit 7 :4 rg_wf5g_rx_lna_tank_sel_band9 U RW default = 'h2 ++// Bit 11 :8 rg_wf5g_rx_lna_tank_sel_man U RW default = 'h2 ++// Bit 12 rg_wf5g_rx_lna_tank_sel_man_mode U RW default = 'h0 ++// Bit 19 :16 rg_wf2g_rx_lna_tank_sel U RW default = 'h5 ++// Bit 23 :20 rg_wf2g_rx_lna_tank_sel_man U RW default = 'h5 ++// Bit 24 rg_wf2g_rx_lna_tank_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND8 : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND9 : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_MAN : 4; ++ unsigned int RG_WF5G_RX_LNA_TANK_SEL_MAN_MODE : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_WF2G_RX_LNA_TANK_SEL : 4; ++ unsigned int RG_WF2G_RX_LNA_TANK_SEL_MAN : 4; ++ unsigned int RG_WF2G_RX_LNA_TANK_SEL_MAN_MODE : 1; ++ unsigned int rsvd_1 : 7; ++ } b; ++} RG_RX_A8_FIELD_T; ++ ++#define RG_RX_A9 (RF_D_RX_REG_BASE + 0x24) ++// Bit 2 :0 rg_wf5g_rx_lna_tank_offset_g1 U RW default = 'h0 ++// Bit 6 :4 rg_wf5g_rx_lna_tank_offset_g2 U RW default = 'h0 ++// Bit 10 :8 rg_wf5g_rx_lna_tank_offset_g3 U RW default = 'h0 ++// Bit 14 :12 rg_wf5g_rx_lna_tank_offset_g4 U RW default = 'h2 ++// Bit 18 :16 rg_wf5g_rx_lna_tank_offset_g5 U RW default = 'h2 ++// Bit 26 :24 rg_wf5g_rx_lna_tank_offset_g6 U RW default = 'h2 ++// Bit 30 :28 rg_wf5g_rx_lna_tank_offset_g7 U RW default = 'h2 ++typedef union RG_RX_A9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G1 : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G2 : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G3 : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G4 : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G5 : 3; ++ unsigned int rsvd_4 : 5; ++ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G6 : 3; ++ unsigned int rsvd_5 : 1; ++ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G7 : 3; ++ unsigned int rsvd_6 : 1; ++ } b; ++} RG_RX_A9_FIELD_T; ++ ++#define RG_RX_A10 (RF_D_RX_REG_BASE + 0x28) ++// Bit 2 :0 rg_wf2g_rx_lna_tank_offset_g1 U RW default = 'h0 ++// Bit 6 :4 rg_wf2g_rx_lna_tank_offset_g2 U RW default = 'h0 ++// Bit 10 :8 rg_wf2g_rx_lna_tank_offset_g3 U RW default = 'h0 ++// Bit 14 :12 rg_wf2g_rx_lna_tank_offset_g4 U RW default = 'h0 ++// Bit 18 :16 rg_wf2g_rx_lna_tank_offset_g5 U RW default = 'h0 ++// Bit 26 :24 rg_wf2g_rx_lna_tank_offset_g6 U RW default = 'h2 ++// Bit 30 :28 rg_wf2g_rx_lna_tank_offset_g7 U RW default = 'h3 ++typedef union RG_RX_A10_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G1 : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G2 : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G3 : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G4 : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G5 : 3; ++ unsigned int rsvd_4 : 5; ++ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G6 : 3; ++ unsigned int rsvd_5 : 1; ++ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G7 : 3; ++ unsigned int rsvd_6 : 1; ++ } b; ++} RG_RX_A10_FIELD_T; ++ ++#define RG_RX_A11 (RF_D_RX_REG_BASE + 0x2c) ++// Bit 6 :0 rg_wf_rxfe_gain_g1 U RW default = 'h12 ++// Bit 14 :8 rg_wf_rxfe_gain_g2 U RW default = 'h1a ++// Bit 22 :16 rg_wf_rxfe_gain_g3 U RW default = 'h32 ++// Bit 30 :24 rg_wf_rxfe_gain_g4 U RW default = 'h3a ++typedef union RG_RX_A11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RXFE_GAIN_G1 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RXFE_GAIN_G2 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_RXFE_GAIN_G3 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF_RXFE_GAIN_G4 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A11_FIELD_T; ++ ++#define RG_RX_A12 (RF_D_RX_REG_BASE + 0x30) ++// Bit 6 :0 rg_wf_rxfe_gain_g5 U RW default = 'h52 ++// Bit 14 :8 rg_wf_rxfe_gain_g6 U RW default = 'h5a ++// Bit 22 :16 rg_wf_rxfe_gain_g7 U RW default = 'h72 ++// Bit 30 :24 rg_wf_rxfe_gain_g8 U RW default = 'h7a ++typedef union RG_RX_A12_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RXFE_GAIN_G5 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RXFE_GAIN_G6 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_RXFE_GAIN_G7 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF_RXFE_GAIN_G8 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A12_FIELD_T; ++ ++#define RG_RX_A13 (RF_D_RX_REG_BASE + 0x34) ++// Bit 6 :0 rg_wf_rxfe_gain_g9 U RW default = 'h7e ++// Bit 22 :8 rg_wf_rxfe_lpf_gain_man U RW default = 'h7ec ++// Bit 24 rg_wf_rxfe_lpf_gain_man_mode U RW default = 'h0 ++typedef union RG_RX_A13_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RXFE_GAIN_G9 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RXFE_LPF_GAIN_MAN : 15; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_RXFE_LPF_GAIN_MAN_MODE : 1; ++ unsigned int rsvd_2 : 7; ++ } b; ++} RG_RX_A13_FIELD_T; ++ ++#define RG_RX_A14 (RF_D_RX_REG_BASE + 0x38) ++// Bit 2 :0 rg_wf5g_rx_lna_ictrl_g1 U RW default = 'h3 ++// Bit 6 :4 rg_wf5g_rx_lna_ictrl_g2 U RW default = 'h3 ++// Bit 10 :8 rg_wf5g_rx_lna_ictrl_g3 U RW default = 'h3 ++// Bit 14 :12 rg_wf5g_rx_lna_ictrl_g4 U RW default = 'h2 ++// Bit 18 :16 rg_wf5g_rx_lna_ictrl_g5 U RW default = 'h2 ++// Bit 22 :20 rg_wf5g_rx_lna_ictrl_g6 U RW default = 'h3 ++// Bit 26 :24 rg_wf5g_rx_lna_ictrl_g7 U RW default = 'h3 ++// Bit 30 :28 rg_wf5g_rx_lna_ictrl_man U RW default = 'h0 ++// Bit 31 rg_wf5g_rx_lna_ictrl_man_mode U RW default = 'h0 ++typedef union RG_RX_A14_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_ICTRL_G1 : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LNA_ICTRL_G2 : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LNA_ICTRL_G3 : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LNA_ICTRL_G4 : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF5G_RX_LNA_ICTRL_G5 : 3; ++ unsigned int rsvd_4 : 1; ++ unsigned int RG_WF5G_RX_LNA_ICTRL_G6 : 3; ++ unsigned int rsvd_5 : 1; ++ unsigned int RG_WF5G_RX_LNA_ICTRL_G7 : 3; ++ unsigned int rsvd_6 : 1; ++ unsigned int RG_WF5G_RX_LNA_ICTRL_MAN : 3; ++ unsigned int RG_WF5G_RX_LNA_ICTRL_MAN_MODE : 1; ++ } b; ++} RG_RX_A14_FIELD_T; ++ ++#define RG_RX_A15 (RF_D_RX_REG_BASE + 0x3c) ++// Bit 5 :0 rg_wf5g_rx_lna_slice_g1 U RW default = 'h1 ++// Bit 13 :8 rg_wf5g_rx_lna_slice_g2 U RW default = 'h1 ++// Bit 21 :16 rg_wf5g_rx_lna_slice_g3 U RW default = 'h2 ++// Bit 29 :24 rg_wf5g_rx_lna_slice_g4 U RW default = 'h4 ++typedef union RG_RX_A15_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_SLICE_G1 : 6; ++ unsigned int rsvd_0 : 2; ++ unsigned int RG_WF5G_RX_LNA_SLICE_G2 : 6; ++ unsigned int rsvd_1 : 2; ++ unsigned int RG_WF5G_RX_LNA_SLICE_G3 : 6; ++ unsigned int rsvd_2 : 2; ++ unsigned int RG_WF5G_RX_LNA_SLICE_G4 : 6; ++ unsigned int rsvd_3 : 2; ++ } b; ++} RG_RX_A15_FIELD_T; ++ ++#define RG_RX_A16 (RF_D_RX_REG_BASE + 0x40) ++// Bit 5 :0 rg_wf5g_rx_lna_slice_g5 U RW default = 'hc ++// Bit 13 :8 rg_wf5g_rx_lna_slice_g6 U RW default = 'h1c ++// Bit 21 :16 rg_wf5g_rx_lna_slice_g7 U RW default = 'h3c ++// Bit 29 :24 rg_wf5g_rx_lna_slice_man U RW default = 'h0 ++// Bit 31 rg_wf5g_rx_lna_slice_man_mode U RW default = 'h0 ++typedef union RG_RX_A16_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_SLICE_G5 : 6; ++ unsigned int rsvd_0 : 2; ++ unsigned int RG_WF5G_RX_LNA_SLICE_G6 : 6; ++ unsigned int rsvd_1 : 2; ++ unsigned int RG_WF5G_RX_LNA_SLICE_G7 : 6; ++ unsigned int rsvd_2 : 2; ++ unsigned int RG_WF5G_RX_LNA_SLICE_MAN : 6; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF5G_RX_LNA_SLICE_MAN_MODE : 1; ++ } b; ++} RG_RX_A16_FIELD_T; ++ ++#define RG_RX_A17 (RF_D_RX_REG_BASE + 0x44) ++// Bit 3 :0 rg_wf5g_rx_lna_rfb_lb_g1 U RW default = 'h5 ++// Bit 7 :4 rg_wf5g_rx_lna_rfb_lb_g2 U RW default = 'h2 ++// Bit 11 :8 rg_wf5g_rx_lna_rfb_lb_g3 U RW default = 'h4 ++// Bit 15 :12 rg_wf5g_rx_lna_rfb_lb_g4 U RW default = 'h7 ++// Bit 19 :16 rg_wf5g_rx_lna_rfb_lb_g5 U RW default = 'h7 ++// Bit 23 :20 rg_wf5g_rx_lna_rfb_lb_g6 U RW default = 'h7 ++// Bit 27 :24 rg_wf5g_rx_lna_rfb_lb_g7 U RW default = 'h0 ++// Bit 31 :28 rg_wf5g_rx_lna_rfb_hb_g1 U RW default = 'h2 ++typedef union RG_RX_A17_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_RFB_LB_G1 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_LB_G2 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_LB_G3 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_LB_G4 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_LB_G5 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_LB_G6 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_LB_G7 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_HB_G1 : 4; ++ } b; ++} RG_RX_A17_FIELD_T; ++ ++#define RG_RX_A18 (RF_D_RX_REG_BASE + 0x48) ++// Bit 3 :0 rg_wf5g_rx_lna_rfb_hb_g2 U RW default = 'h0 ++// Bit 7 :4 rg_wf5g_rx_lna_rfb_hb_g3 U RW default = 'h2 ++// Bit 11 :8 rg_wf5g_rx_lna_rfb_hb_g4 U RW default = 'h5 ++// Bit 15 :12 rg_wf5g_rx_lna_rfb_hb_g5 U RW default = 'h4 ++// Bit 19 :16 rg_wf5g_rx_lna_rfb_hb_g6 U RW default = 'h5 ++// Bit 23 :20 rg_wf5g_rx_lna_rfb_hb_g7 U RW default = 'h0 ++// Bit 27 :24 rg_wf5g_rx_lna_rfb_man U RW default = 'h0 ++// Bit 31 rg_wf5g_rx_lna_rfb_man_mode U RW default = 'h0 ++typedef union RG_RX_A18_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_RFB_HB_G2 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_HB_G3 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_HB_G4 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_HB_G5 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_HB_G6 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_HB_G7 : 4; ++ unsigned int RG_WF5G_RX_LNA_RFB_MAN : 4; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_WF5G_RX_LNA_RFB_MAN_MODE : 1; ++ } b; ++} RG_RX_A18_FIELD_T; ++ ++#define RG_RX_A19 (RF_D_RX_REG_BASE + 0x4c) ++// Bit 2 :0 rg_wf5g_rx_lna_rt_g1 U RW default = 'h5 ++// Bit 5 :3 rg_wf5g_rx_lna_rt_g2 U RW default = 'h7 ++// Bit 8 :6 rg_wf5g_rx_lna_rt_g3 U RW default = 'h5 ++// Bit 11 :9 rg_wf5g_rx_lna_rt_g4 U RW default = 'h5 ++// Bit 14 :12 rg_wf5g_rx_lna_rt_g5 U RW default = 'h3 ++// Bit 17 :15 rg_wf5g_rx_lna_rt_g6 U RW default = 'h1 ++// Bit 26 :24 rg_wf5g_rx_lna_rt_man U RW default = 'h0 ++// Bit 31 rg_wf5g_rx_lna_rt_man_mode U RW default = 'h0 ++typedef union RG_RX_A19_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_RT_G1 : 3; ++ unsigned int RG_WF5G_RX_LNA_RT_G2 : 3; ++ unsigned int RG_WF5G_RX_LNA_RT_G3 : 3; ++ unsigned int RG_WF5G_RX_LNA_RT_G4 : 3; ++ unsigned int RG_WF5G_RX_LNA_RT_G5 : 3; ++ unsigned int RG_WF5G_RX_LNA_RT_G6 : 3; ++ unsigned int rsvd_0 : 6; ++ unsigned int RG_WF5G_RX_LNA_RT_MAN : 3; ++ unsigned int rsvd_1 : 4; ++ unsigned int RG_WF5G_RX_LNA_RT_MAN_MODE : 1; ++ } b; ++} RG_RX_A19_FIELD_T; ++ ++#define RG_RX_A20 (RF_D_RX_REG_BASE + 0x50) ++// Bit 2 :0 rg_wf5g_rx_lna_att_lb_g1 U RW default = 'h3 ++// Bit 5 :3 rg_wf5g_rx_lna_att_lb_g2 U RW default = 'h1 ++// Bit 8 :6 rg_wf5g_rx_lna_att_lb_g3 U RW default = 'h0 ++// Bit 11 :9 rg_wf5g_rx_lna_att_hb_g1 U RW default = 'h6 ++// Bit 14 :12 rg_wf5g_rx_lna_att_hb_g2 U RW default = 'h2 ++// Bit 17 :15 rg_wf5g_rx_lna_att_hb_g3 U RW default = 'h1 ++// Bit 26 :24 rg_wf5g_rx_lna_att_man U RW default = 'h0 ++// Bit 31 rg_wf5g_rx_lna_att_man_mode U RW default = 'h0 ++typedef union RG_RX_A20_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LNA_ATT_LB_G1 : 3; ++ unsigned int RG_WF5G_RX_LNA_ATT_LB_G2 : 3; ++ unsigned int RG_WF5G_RX_LNA_ATT_LB_G3 : 3; ++ unsigned int RG_WF5G_RX_LNA_ATT_HB_G1 : 3; ++ unsigned int RG_WF5G_RX_LNA_ATT_HB_G2 : 3; ++ unsigned int RG_WF5G_RX_LNA_ATT_HB_G3 : 3; ++ unsigned int rsvd_0 : 6; ++ unsigned int RG_WF5G_RX_LNA_ATT_MAN : 3; ++ unsigned int rsvd_1 : 4; ++ unsigned int RG_WF5G_RX_LNA_ATT_MAN_MODE : 1; ++ } b; ++} RG_RX_A20_FIELD_T; ++ ++#define RG_RX_A21 (RF_D_RX_REG_BASE + 0x54) ++// Bit 4 :0 rg_wf_rx_tia_cfix_sel_g1 U RW default = 'h1f ++// Bit 12 :8 rg_wf_rx_tia_cfix_sel_g2 U RW default = 'h1a ++// Bit 20 :16 rg_wf_rx_tia_cfix_sel_g3 U RW default = 'h14 ++// Bit 28 :24 rg_wf_rx_tia_cfix_sel_g4 U RW default = 'h1f ++typedef union RG_RX_A21_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_TIA_CFIX_SEL_G1 : 5; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_WF_RX_TIA_CFIX_SEL_G2 : 5; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_WF_RX_TIA_CFIX_SEL_G3 : 5; ++ unsigned int rsvd_2 : 3; ++ unsigned int RG_WF_RX_TIA_CFIX_SEL_G4 : 5; ++ unsigned int rsvd_3 : 3; ++ } b; ++} RG_RX_A21_FIELD_T; ++ ++#define RG_RX_A22 (RF_D_RX_REG_BASE + 0x58) ++// Bit 4 :0 rg_wf_rx_tia_cfix_sel_g5 U RW default = 'h1a ++// Bit 12 :8 rg_wf_rx_tia_cfix_sel_g6 U RW default = 'h14 ++// Bit 28 :24 rg_wf_rx_tia_cfix_sel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_tia_cfix_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A22_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_TIA_CFIX_SEL_G5 : 5; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_WF_RX_TIA_CFIX_SEL_G6 : 5; ++ unsigned int rsvd_1 : 11; ++ unsigned int RG_WF_RX_TIA_CFIX_SEL_MAN : 5; ++ unsigned int rsvd_2 : 2; ++ unsigned int RG_WF_RX_TIA_CFIX_SEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A22_FIELD_T; ++ ++#define RG_RX_A23 (RF_D_RX_REG_BASE + 0x5c) ++// Bit 3 :0 rg_wf_rx_tia_cunit_sel_g1 U RW default = 'h5 ++// Bit 7 :4 rg_wf_rx_tia_cunit_sel_g2 U RW default = 'h3 ++// Bit 11 :8 rg_wf_rx_tia_cunit_sel_g3 U RW default = 'h3 ++// Bit 15 :12 rg_wf_rx_tia_cunit_sel_g4 U RW default = 'h2 ++// Bit 19 :16 rg_wf_rx_tia_cunit_sel_g5 U RW default = 'h1 ++// Bit 23 :20 rg_wf_rx_tia_cunit_sel_g6 U RW default = 'h1 ++// Bit 27 :24 rg_wf_rx_tia_cunit_sel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_tia_cunit_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A23_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G1 : 4; ++ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G2 : 4; ++ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G3 : 4; ++ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G4 : 4; ++ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G5 : 4; ++ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G6 : 4; ++ unsigned int RG_WF_RX_TIA_CUNIT_SEL_MAN : 4; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_WF_RX_TIA_CUNIT_SEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A23_FIELD_T; ++ ++#define RG_RX_A24 (RF_D_RX_REG_BASE + 0x60) ++// Bit 3 :0 rg_wf_rx_lpf_sra_sel_bw20m U RW default = 'h1 ++// Bit 7 :4 rg_wf_rx_lpf_sra_sel_bw40m U RW default = 'h1 ++// Bit 11 :8 rg_wf_rx_lpf_sra_sel_bw80m U RW default = 'h3 ++// Bit 15 :12 rg_wf_rx_lpf_sra_sel_bw160m U RW default = 'h3 ++// Bit 27 :24 rg_wf_rx_lpf_sra_sel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_lpf_sra_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A24_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_SRA_SEL_BW20M : 4; ++ unsigned int RG_WF_RX_LPF_SRA_SEL_BW40M : 4; ++ unsigned int RG_WF_RX_LPF_SRA_SEL_BW80M : 4; ++ unsigned int RG_WF_RX_LPF_SRA_SEL_BW160M : 4; ++ unsigned int rsvd_0 : 8; ++ unsigned int RG_WF_RX_LPF_SRA_SEL_MAN : 4; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_WF_RX_LPF_SRA_SEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A24_FIELD_T; ++ ++#define RG_RX_A25 (RF_D_RX_REG_BASE + 0x64) ++// Bit 3 :0 rg_wf_rx_lpf_sraq_sel_bw20m U RW default = 'h1 ++// Bit 7 :4 rg_wf_rx_lpf_sraq_sel_bw40m U RW default = 'h1 ++// Bit 11 :8 rg_wf_rx_lpf_sraq_sel_bw80m U RW default = 'h3 ++// Bit 15 :12 rg_wf_rx_lpf_sraq_sel_bw160m U RW default = 'h3 ++// Bit 27 :24 rg_wf_rx_lpf_sraq_sel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_lpf_sraq_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A25_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_SRAQ_SEL_BW20M : 4; ++ unsigned int RG_WF_RX_LPF_SRAQ_SEL_BW40M : 4; ++ unsigned int RG_WF_RX_LPF_SRAQ_SEL_BW80M : 4; ++ unsigned int RG_WF_RX_LPF_SRAQ_SEL_BW160M : 4; ++ unsigned int rsvd_0 : 8; ++ unsigned int RG_WF_RX_LPF_SRAQ_SEL_MAN : 4; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_WF_RX_LPF_SRAQ_SEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A25_FIELD_T; ++ ++#define RG_RX_A26 (RF_D_RX_REG_BASE + 0x68) ++// Bit 4 :0 rg_wf_rx_lpf_cfix_sel_bw20m U RW default = 'h1a ++// Bit 9 :5 rg_wf_rx_lpf_cfix_sel_bw40m U RW default = 'h1a ++// Bit 14 :10 rg_wf_rx_lpf_cfix_sel_bw80m U RW default = 'h1a ++// Bit 19 :15 rg_wf_rx_lpf_cfix_sel_bw160m U RW default = 'h1a ++// Bit 24 :20 rg_wf_rx_lpf_cfix_sel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_lpf_cfix_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A26_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_CFIX_SEL_BW20M : 5; ++ unsigned int RG_WF_RX_LPF_CFIX_SEL_BW40M : 5; ++ unsigned int RG_WF_RX_LPF_CFIX_SEL_BW80M : 5; ++ unsigned int RG_WF_RX_LPF_CFIX_SEL_BW160M : 5; ++ unsigned int RG_WF_RX_LPF_CFIX_SEL_MAN : 5; ++ unsigned int rsvd_0 : 6; ++ unsigned int RG_WF_RX_LPF_CFIX_SEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A26_FIELD_T; ++ ++#define RG_RX_A27 (RF_D_RX_REG_BASE + 0x6c) ++// Bit 2 :0 rg_wf_rx_lpf_c1unit_sel_bw20m U RW default = 'h5 ++// Bit 6 :4 rg_wf_rx_lpf_c1unit_sel_bw40m U RW default = 'h2 ++// Bit 10 :8 rg_wf_rx_lpf_c1unit_sel_bw80m U RW default = 'h2 ++// Bit 14 :12 rg_wf_rx_lpf_c1unit_sel_bw160m U RW default = 'h0 ++// Bit 18 :16 rg_wf_rx_lpf_c1unit_sel_man U RW default = 'h0 ++// Bit 20 rg_wf_rx_lpf_c1unit_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A27_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_BW20M : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_BW40M : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_BW80M : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_BW160M : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_MAN : 3; ++ unsigned int rsvd_4 : 1; ++ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_MAN_MODE : 1; ++ unsigned int rsvd_5 : 11; ++ } b; ++} RG_RX_A27_FIELD_T; ++ ++#define RG_RX_A28 (RF_D_RX_REG_BASE + 0x70) ++// Bit 2 :0 rg_wf_rx_lpf_c2unit_sel_bw20m U RW default = 'h5 ++// Bit 6 :4 rg_wf_rx_lpf_c2unit_sel_bw40m U RW default = 'h2 ++// Bit 10 :8 rg_wf_rx_lpf_c2unit_sel_bw80m U RW default = 'h2 ++// Bit 14 :12 rg_wf_rx_lpf_c2unit_sel_bw160m U RW default = 'h0 ++// Bit 18 :16 rg_wf_rx_lpf_c2unit_sel_man U RW default = 'h0 ++// Bit 20 rg_wf_rx_lpf_c2unit_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A28_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_BW20M : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_BW40M : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_BW80M : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_BW160M : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_MAN : 3; ++ unsigned int rsvd_4 : 1; ++ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_MAN_MODE : 1; ++ unsigned int rsvd_5 : 11; ++ } b; ++} RG_RX_A28_FIELD_T; ++ ++#define RG_RX_A29 (RF_D_RX_REG_BASE + 0x74) ++// Bit 3 :0 rg_wf_rx_lpf_rn_sel_bw20madc160m U RW default = 'h1 ++// Bit 7 :4 rg_wf_rx_lpf_rn_sel_bw40madc160m U RW default = 'h1 ++// Bit 11 :8 rg_wf_rx_lpf_rn_sel_bw80madc160m U RW default = 'h3 ++// Bit 15 :12 rg_wf_rx_lpf_rn_sel_bw80madc320m U RW default = 'h3 ++// Bit 19 :16 rg_wf_rx_lpf_rn_sel_bw160madc320m U RW default = 'h3 ++// Bit 23 :20 rg_wf_rx_lpf_rn_sel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_lpf_rn_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A29_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_RN_SEL_BW20MADC160M : 4; ++ unsigned int RG_WF_RX_LPF_RN_SEL_BW40MADC160M : 4; ++ unsigned int RG_WF_RX_LPF_RN_SEL_BW80MADC160M : 4; ++ unsigned int RG_WF_RX_LPF_RN_SEL_BW80MADC320M : 4; ++ unsigned int RG_WF_RX_LPF_RN_SEL_BW160MADC320M : 4; ++ unsigned int RG_WF_RX_LPF_RN_SEL_MAN : 4; ++ unsigned int rsvd_0 : 7; ++ unsigned int RG_WF_RX_LPF_RN_SEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A29_FIELD_T; ++ ++#define RG_RX_A30 (RF_D_RX_REG_BASE + 0x78) ++// Bit 2 :0 rg_wf_rx_lpf_cn_sel_bw20madc160m U RW default = 'h3 ++// Bit 6 :4 rg_wf_rx_lpf_cn_sel_bw40madc160m U RW default = 'h3 ++// Bit 10 :8 rg_wf_rx_lpf_cn_sel_bw80madc160m U RW default = 'h3 ++// Bit 14 :12 rg_wf_rx_lpf_cn_sel_bw80madc320m U RW default = 'h1 ++// Bit 18 :16 rg_wf_rx_lpf_cn_sel_bw160madc320m U RW default = 'h0 ++// Bit 22 :20 rg_wf_rx_lpf_cn_sel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_lpf_cn_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A30_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_CN_SEL_BW20MADC160M : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RX_LPF_CN_SEL_BW40MADC160M : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_RX_LPF_CN_SEL_BW80MADC160M : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF_RX_LPF_CN_SEL_BW80MADC320M : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF_RX_LPF_CN_SEL_BW160MADC320M : 3; ++ unsigned int rsvd_4 : 1; ++ unsigned int RG_WF_RX_LPF_CN_SEL_MAN : 3; ++ unsigned int rsvd_5 : 8; ++ unsigned int RG_WF_RX_LPF_CN_SEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A30_FIELD_T; ++ ++#define RG_RX_A31 (RF_D_RX_REG_BASE + 0x7c) ++// Bit 4 :0 rg_wf_rx_lpf_cnfix_sel_bw20madc160m U RW default = 'h1a ++// Bit 9 :5 rg_wf_rx_lpf_cnfix_sel_bw40madc160m U RW default = 'h1a ++// Bit 14 :10 rg_wf_rx_lpf_cnfix_sel_bw80madc160m U RW default = 'h1a ++// Bit 19 :15 rg_wf_rx_lpf_cnfix_sel_bw80madc320m U RW default = 'h1a ++// Bit 24 :20 rg_wf_rx_lpf_cnfix_sel_bw160madc320m U RW default = 'h1a ++// Bit 29 :25 rg_wf_rx_lpf_cnfix_sel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_lpf_cnfix_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A31_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW20MADC160M : 5; ++ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW40MADC160M : 5; ++ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW80MADC160M : 5; ++ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW80MADC320M : 5; ++ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW160MADC320M : 5; ++ unsigned int RG_WF_RX_LPF_CNFIX_SEL_MAN : 5; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RX_LPF_CNFIX_SEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A31_FIELD_T; ++ ++#define RG_RX_A32 (RF_D_RX_REG_BASE + 0x80) ++// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg1 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg2 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg3 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg4 U RW default = 'h40 ++typedef union RG_RX_A32_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG1 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG2 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG3 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG4 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A32_FIELD_T; ++ ++#define RG_RX_A33 (RF_D_RX_REG_BASE + 0x84) ++// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg5 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg6 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg7 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg8 U RW default = 'h40 ++typedef union RG_RX_A33_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG5 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG6 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG7 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG8 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A33_FIELD_T; ++ ++#define RG_RX_A34 (RF_D_RX_REG_BASE + 0x88) ++// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg9 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg10 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg11 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg12 U RW default = 'h40 ++typedef union RG_RX_A34_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG9 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG10 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG11 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG12 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A34_FIELD_T; ++ ++#define RG_RX_A35 (RF_D_RX_REG_BASE + 0x8c) ++// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg1 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg2 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg3 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg4 U RW default = 'h40 ++typedef union RG_RX_A35_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG1 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG2 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG3 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG4 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A35_FIELD_T; ++ ++#define RG_RX_A36 (RF_D_RX_REG_BASE + 0x90) ++// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg5 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg6 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg7 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg8 U RW default = 'h40 ++typedef union RG_RX_A36_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG5 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG6 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG7 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG8 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A36_FIELD_T; ++ ++#define RG_RX_A37 (RF_D_RX_REG_BASE + 0x94) ++// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg9 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg10 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg11 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg12 U RW default = 'h40 ++typedef union RG_RX_A37_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG9 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG10 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG11 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG12 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A37_FIELD_T; ++ ++#define RG_RX_A38 (RF_D_RX_REG_BASE + 0x98) ++// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg1 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg2 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg3 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg4 U RW default = 'h40 ++typedef union RG_RX_A38_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG1 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG2 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG3 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG4 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A38_FIELD_T; ++ ++#define RG_RX_A39 (RF_D_RX_REG_BASE + 0x9c) ++// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg5 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg6 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg7 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg8 U RW default = 'h40 ++typedef union RG_RX_A39_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG5 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG6 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG7 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG8 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A39_FIELD_T; ++ ++#define RG_RX_A40 (RF_D_RX_REG_BASE + 0xa0) ++// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg9 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg10 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg11 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg12 U RW default = 'h40 ++typedef union RG_RX_A40_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG9 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG10 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG11 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG12 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A40_FIELD_T; ++ ++#define RG_RX_A41 (RF_D_RX_REG_BASE + 0xa4) ++// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg1 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg2 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg3 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg4 U RW default = 'h40 ++typedef union RG_RX_A41_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG1 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG2 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG3 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG4 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A41_FIELD_T; ++ ++#define RG_RX_A42 (RF_D_RX_REG_BASE + 0xa8) ++// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg5 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg6 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg7 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg8 U RW default = 'h40 ++typedef union RG_RX_A42_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG5 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG6 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG7 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG8 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A42_FIELD_T; ++ ++#define RG_RX_A43 (RF_D_RX_REG_BASE + 0xac) ++// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg9 U RW default = 'h40 ++// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg10 U RW default = 'h40 ++// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg11 U RW default = 'h40 ++// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg12 U RW default = 'h40 ++typedef union RG_RX_A43_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG9 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG10 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG11 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG12 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A43_FIELD_T; ++ ++#define RG_RX_A44 (RF_D_RX_REG_BASE + 0xb0) ++// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg1 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg2 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg3 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg4 U RW default = 'h40 ++typedef union RG_RX_A44_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG1 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG2 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG3 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG4 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A44_FIELD_T; ++ ++#define RG_RX_A45 (RF_D_RX_REG_BASE + 0xb4) ++// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg5 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg6 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg7 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg8 U RW default = 'h40 ++typedef union RG_RX_A45_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG5 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG6 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG7 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG8 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A45_FIELD_T; ++ ++#define RG_RX_A46 (RF_D_RX_REG_BASE + 0xb8) ++// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg9 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg10 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg11 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg12 U RW default = 'h40 ++typedef union RG_RX_A46_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG9 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG10 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG11 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG12 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A46_FIELD_T; ++ ++#define RG_RX_A47 (RF_D_RX_REG_BASE + 0xbc) ++// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg1 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg2 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg3 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg4 U RW default = 'h40 ++typedef union RG_RX_A47_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG1 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG2 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG3 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG4 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A47_FIELD_T; ++ ++#define RG_RX_A48 (RF_D_RX_REG_BASE + 0xc0) ++// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg5 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg6 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg7 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg8 U RW default = 'h40 ++typedef union RG_RX_A48_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG5 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG6 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG7 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG8 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A48_FIELD_T; ++ ++#define RG_RX_A49 (RF_D_RX_REG_BASE + 0xc4) ++// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg9 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg10 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg11 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg12 U RW default = 'h40 ++typedef union RG_RX_A49_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG9 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG10 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG11 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG12 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A49_FIELD_T; ++ ++#define RG_RX_A50 (RF_D_RX_REG_BASE + 0xc8) ++// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg1 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg2 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg3 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg4 U RW default = 'h40 ++typedef union RG_RX_A50_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG1 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG2 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG3 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG4 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A50_FIELD_T; ++ ++#define RG_RX_A51 (RF_D_RX_REG_BASE + 0xcc) ++// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg5 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg6 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg7 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg8 U RW default = 'h40 ++typedef union RG_RX_A51_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG5 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG6 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG7 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG8 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A51_FIELD_T; ++ ++#define RG_RX_A52 (RF_D_RX_REG_BASE + 0xd0) ++// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg9 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg10 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg11 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg12 U RW default = 'h40 ++typedef union RG_RX_A52_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG9 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG10 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG11 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG12 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A52_FIELD_T; ++ ++#define RG_RX_A53 (RF_D_RX_REG_BASE + 0xd4) ++// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg1 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg2 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg3 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg4 U RW default = 'h40 ++typedef union RG_RX_A53_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG1 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG2 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG3 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG4 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A53_FIELD_T; ++ ++#define RG_RX_A54 (RF_D_RX_REG_BASE + 0xd8) ++// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg5 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg6 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg7 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg8 U RW default = 'h40 ++typedef union RG_RX_A54_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG5 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG6 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG7 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG8 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A54_FIELD_T; ++ ++#define RG_RX_A55 (RF_D_RX_REG_BASE + 0xdc) ++// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg9 U RW default = 'h40 ++// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg10 U RW default = 'h40 ++// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg11 U RW default = 'h40 ++// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg12 U RW default = 'h40 ++typedef union RG_RX_A55_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG9 : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG10 : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG11 : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG12 : 7; ++ unsigned int rsvd_3 : 1; ++ } b; ++} RG_RX_A55_FIELD_T; ++ ++#define RG_RX_A56 (RF_D_RX_REG_BASE + 0xe0) ++// Bit 6 :0 rg_wf_rx_lpf_i_dcoc_sel_man U RW default = 'h40 ++// Bit 8 rg_wf_rx_lpf_i_dcoc_sel_man_mode U RW default = 'h0 ++// Bit 22 :16 rg_wf_rx_lpf_q_dcoc_sel_man U RW default = 'h40 ++// Bit 24 rg_wf_rx_lpf_q_dcoc_sel_man_mode U RW default = 'h0 ++typedef union RG_RX_A56_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_I_DCOC_SEL_MAN : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RX_LPF_I_DCOC_SEL_MAN_MODE : 1; ++ unsigned int rsvd_1 : 7; ++ unsigned int RG_WF_RX_LPF_Q_DCOC_SEL_MAN : 7; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF_RX_LPF_Q_DCOC_SEL_MAN_MODE : 1; ++ unsigned int rsvd_3 : 7; ++ } b; ++} RG_RX_A56_FIELD_T; ++ ++#define RG_RX_A57 (RF_D_RX_REG_BASE + 0xe4) ++// Bit 1 :0 rg_wf_rx_rck_t1 U RW default = 'h0 ++// Bit 3 :2 rg_wf_rx_rck_t2 U RW default = 'h0 ++// Bit 5 :4 rg_wf_rx_rck_t3 U RW default = 'h0 ++// Bit 7 :6 rg_wf_rx_rck_t4 U RW default = 'h0 ++// Bit 9 :8 rg_wf_rx_rck_t5 U RW default = 'h0 ++// Bit 11 :10 rg_wf_rx_rck_t6 U RW default = 'h0 ++// Bit 22 :20 rg_wf_rx_rck_refsel_man U RW default = 'h1 ++// Bit 24 rg_wf_rx_rck_refsel_man_mode U RW default = 'h0 ++// Bit 31 rg_wf_rx_rck_cali_en U RW default = 'h0 ++typedef union RG_RX_A57_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_RCK_T1 : 2; ++ unsigned int RG_WF_RX_RCK_T2 : 2; ++ unsigned int RG_WF_RX_RCK_T3 : 2; ++ unsigned int RG_WF_RX_RCK_T4 : 2; ++ unsigned int RG_WF_RX_RCK_T5 : 2; ++ unsigned int RG_WF_RX_RCK_T6 : 2; ++ unsigned int rsvd_0 : 8; ++ unsigned int RG_WF_RX_RCK_REFSEL_MAN : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_RX_RCK_REFSEL_MAN_MODE : 1; ++ unsigned int rsvd_2 : 6; ++ unsigned int RG_WF_RX_RCK_CALI_EN : 1; ++ } b; ++} RG_RX_A57_FIELD_T; ++ ++#define RG_RX_A58 (RF_D_RX_REG_BASE + 0xe8) ++// Bit 3 :0 rg_wf_rx_lpf_rck_ioffset_bw20m U RW default = 'h0 ++// Bit 7 :4 rg_wf_rx_lpf_rck_ioffset_bw40m U RW default = 'h0 ++// Bit 11 :8 rg_wf_rx_lpf_rck_ioffset_bw80m U RW default = 'h0 ++// Bit 15 :12 rg_wf_rx_lpf_rck_ioffset_bw160m U RW default = 'h0 ++// Bit 26 :20 rg_wf_rx_lpf_ctune_isel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_lpf_ctune_isel_man_mode U RW default = 'h0 ++typedef union RG_RX_A58_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_RCK_IOFFSET_BW20M : 4; ++ unsigned int RG_WF_RX_LPF_RCK_IOFFSET_BW40M : 4; ++ unsigned int RG_WF_RX_LPF_RCK_IOFFSET_BW80M : 4; ++ unsigned int RG_WF_RX_LPF_RCK_IOFFSET_BW160M : 4; ++ unsigned int rsvd_0 : 4; ++ unsigned int RG_WF_RX_LPF_CTUNE_ISEL_MAN : 7; ++ unsigned int rsvd_1 : 4; ++ unsigned int RG_WF_RX_LPF_CTUNE_ISEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A58_FIELD_T; ++ ++#define RG_RX_A59 (RF_D_RX_REG_BASE + 0xec) ++// Bit 3 :0 rg_wf_rx_lpf_rck_qoffset_bw20m U RW default = 'h0 ++// Bit 7 :4 rg_wf_rx_lpf_rck_qoffset_bw40m U RW default = 'h0 ++// Bit 11 :8 rg_wf_rx_lpf_rck_qoffset_bw80m U RW default = 'h0 ++// Bit 15 :12 rg_wf_rx_lpf_rck_qoffset_bw160m U RW default = 'h0 ++// Bit 26 :20 rg_wf_rx_lpf_ctune_qsel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_lpf_ctune_qsel_man_mode U RW default = 'h0 ++typedef union RG_RX_A59_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_RCK_QOFFSET_BW20M : 4; ++ unsigned int RG_WF_RX_LPF_RCK_QOFFSET_BW40M : 4; ++ unsigned int RG_WF_RX_LPF_RCK_QOFFSET_BW80M : 4; ++ unsigned int RG_WF_RX_LPF_RCK_QOFFSET_BW160M : 4; ++ unsigned int rsvd_0 : 4; ++ unsigned int RG_WF_RX_LPF_CTUNE_QSEL_MAN : 7; ++ unsigned int rsvd_1 : 4; ++ unsigned int RG_WF_RX_LPF_CTUNE_QSEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A59_FIELD_T; ++ ++#define RG_RX_A60 (RF_D_RX_REG_BASE + 0xf0) ++// Bit 3 :0 rg_wf_rx_tia_rck_ioffset U RW default = 'h0 ++// Bit 10 :4 rg_wf_rx_tia_ctune_isel_man U RW default = 'h0 ++// Bit 15 rg_wf_rx_tia_ctune_isel_man_mode U RW default = 'h0 ++// Bit 19 :16 rg_wf_rx_tia_rck_qoffset U RW default = 'h0 ++// Bit 26 :20 rg_wf_rx_tia_ctune_qsel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_tia_ctune_qsel_man_mode U RW default = 'h0 ++typedef union RG_RX_A60_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_TIA_RCK_IOFFSET : 4; ++ unsigned int RG_WF_RX_TIA_CTUNE_ISEL_MAN : 7; ++ unsigned int rsvd_0 : 4; ++ unsigned int RG_WF_RX_TIA_CTUNE_ISEL_MAN_MODE : 1; ++ unsigned int RG_WF_RX_TIA_RCK_QOFFSET : 4; ++ unsigned int RG_WF_RX_TIA_CTUNE_QSEL_MAN : 7; ++ unsigned int rsvd_1 : 4; ++ unsigned int RG_WF_RX_TIA_CTUNE_QSEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A60_FIELD_T; ++ ++#define RG_RX_A61 (RF_D_RX_REG_BASE + 0xf4) ++// Bit 3 :0 rg_wf_rx_lpf_notch_rck_offset_adc160m U RW default = 'h0 ++// Bit 10 :4 rg_wf_rx_lpf_notch_ctune_sel_man U RW default = 'h0 ++// Bit 15 rg_wf_rx_lpf_notch_ctune_sel_man_mode U RW default = 'h0 ++// Bit 19 :16 rg_wf_rx_lpf_notch_rck_offset_adc320m U RW default = 'h0 ++typedef union RG_RX_A61_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_NOTCH_RCK_OFFSET_ADC160M : 4; ++ unsigned int RG_WF_RX_LPF_NOTCH_CTUNE_SEL_MAN : 7; ++ unsigned int rsvd_0 : 4; ++ unsigned int RG_WF_RX_LPF_NOTCH_CTUNE_SEL_MAN_MODE : 1; ++ unsigned int RG_WF_RX_LPF_NOTCH_RCK_OFFSET_ADC320M : 4; ++ unsigned int rsvd_1 : 12; ++ } b; ++} RG_RX_A61_FIELD_T; ++ ++#define RG_RX_A62 (RF_D_RX_REG_BASE + 0xf8) ++// Bit 3 :0 rg_wf_rx_rssipga_rck_ioffset U RW default = 'h0 ++// Bit 10 :4 rg_wf_rx_rssipga_ctune_isel_man U RW default = 'h0 ++// Bit 15 rg_wf_rx_rssipga_ctune_isel_man_mode U RW default = 'h0 ++// Bit 19 :16 rg_wf_rx_rssipga_rck_qoffset U RW default = 'h0 ++// Bit 26 :20 rg_wf_rx_rssipga_ctune_qsel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_rssipga_ctune_qsel_man_mode U RW default = 'h0 ++typedef union RG_RX_A62_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_RSSIPGA_RCK_IOFFSET : 4; ++ unsigned int RG_WF_RX_RSSIPGA_CTUNE_ISEL_MAN : 7; ++ unsigned int rsvd_0 : 4; ++ unsigned int RG_WF_RX_RSSIPGA_CTUNE_ISEL_MAN_MODE : 1; ++ unsigned int RG_WF_RX_RSSIPGA_RCK_QOFFSET : 4; ++ unsigned int RG_WF_RX_RSSIPGA_CTUNE_QSEL_MAN : 7; ++ unsigned int rsvd_1 : 4; ++ unsigned int RG_WF_RX_RSSIPGA_CTUNE_QSEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A62_FIELD_T; ++ ++#define RG_RX_A63 (RF_D_RX_REG_BASE + 0xfc) ++// Bit 6 :0 ro_wf_rx_rck U RO default = 'h0 ++// Bit 8 ro_wf_rx_rck_vld U RO default = 'h0 ++typedef union RG_RX_A63_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_WF_RX_RCK : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RO_WF_RX_RCK_VLD : 1; ++ unsigned int rsvd_1 : 23; ++ } b; ++} RG_RX_A63_FIELD_T; ++ ++#define RG_RX_A64 (RF_D_RX_REG_BASE + 0x100) ++// Bit 0 rg_wf_rx_rssipga_sca_en U RW default = 'h1 ++// Bit 5 :1 rg_wf_rx_rssipga_cfix_sel U RW default = 'h1a ++// Bit 8 :6 rg_wf_rx_rssipga_ictrl U RW default = 'h3 ++// Bit 11 :9 rg_wf_rx_rssipga_ictrl_agclock U RW default = 'h0 ++// Bit 15 :12 rg_wf_rx_rssipga_drvctrl U RW default = 'h3 ++// Bit 19 :16 rg_wf_rx_rssipga_drvctrl_agclock U RW default = 'h0 ++// Bit 21 :20 rg_wf_rx_rssipga_drv U RW default = 'h1 ++// Bit 23 :22 rg_wf_rx_rssipga_drv_agclock U RW default = 'h0 ++// Bit 26 :24 rg_wf_rx_rssipga_vcmsel U RW default = 'h4 ++// Bit 29 :27 rg_wf_rx_rssipga_gain U RW default = 'h0 ++typedef union RG_RX_A64_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_RSSIPGA_SCA_EN : 1; ++ unsigned int RG_WF_RX_RSSIPGA_CFIX_SEL : 5; ++ unsigned int RG_WF_RX_RSSIPGA_ICTRL : 3; ++ unsigned int RG_WF_RX_RSSIPGA_ICTRL_AGCLOCK : 3; ++ unsigned int RG_WF_RX_RSSIPGA_DRVCTRL : 4; ++ unsigned int RG_WF_RX_RSSIPGA_DRVCTRL_AGCLOCK : 4; ++ unsigned int RG_WF_RX_RSSIPGA_DRV : 2; ++ unsigned int RG_WF_RX_RSSIPGA_DRV_AGCLOCK : 2; ++ unsigned int RG_WF_RX_RSSIPGA_VCMSEL : 3; ++ unsigned int RG_WF_RX_RSSIPGA_GAIN : 3; ++ unsigned int rsvd_0 : 2; ++ } b; ++} RG_RX_A64_FIELD_T; ++ ++#define RG_RX_A65 (RF_D_RX_REG_BASE + 0x104) ++// Bit 0 rg_wf_rx_irrcalfrom_tx_en U RW default = 'h1 ++// Bit 3 :1 rg_wf5g_rx_irrcal_buf_ictrl U RW default = 'h3 ++// Bit 6 :4 rg_wf5g_rx_lna_cal_att U RW default = 'h0 ++// Bit 9 :7 rg_wf2g_rx_irrcal_buf_ictrl U RW default = 'h3 ++// Bit 12 :10 rg_wf2g_rx_lna_cal_att U RW default = 'h2 ++// Bit 15 :13 rg_wf_rx_gm_vcmsel U RW default = 'h4 ++typedef union RG_RX_A65_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_IRRCALFROM_TX_EN : 1; ++ unsigned int RG_WF5G_RX_IRRCAL_BUF_ICTRL : 3; ++ unsigned int RG_WF5G_RX_LNA_CAL_ATT : 3; ++ unsigned int RG_WF2G_RX_IRRCAL_BUF_ICTRL : 3; ++ unsigned int RG_WF2G_RX_LNA_CAL_ATT : 3; ++ unsigned int RG_WF_RX_GM_VCMSEL : 3; ++ unsigned int rsvd_0 : 16; ++ } b; ++} RG_RX_A65_FIELD_T; ++ ++#define RG_RX_A66 (RF_D_RX_REG_BASE + 0x108) ++// Bit 1 :0 rg_wf5g_rx_dpd_att_ctrl U RW default = 'h1 ++// Bit 4 :2 rg_wf5g_rx_dpd_gm_gain U RW default = 'h7 ++// Bit 7 :5 rg_wf5g_rx_dpd_gm_ictrl U RW default = 'h3 ++// Bit 11 :8 rg_wf5g_rx_dpd_mxr_lodrv_ictrl U RW default = 'h3 ++// Bit 14 :12 rg_wf5g_rx_gm_ictrl U RW default = 'h3 ++// Bit 18 :15 rg_wf5g_rx_mxr_lodrv_ictrl U RW default = 'h3 ++// Bit 22 :19 rg_wf5g_rx_mxr_vbsel U RW default = 'h2 ++// Bit 25 :23 rg_wf5g_rx_mxr_vcmsel U RW default = 'h3 ++typedef union RG_RX_A66_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_RX_DPD_ATT_CTRL : 2; ++ unsigned int RG_WF5G_RX_DPD_GM_GAIN : 3; ++ unsigned int RG_WF5G_RX_DPD_GM_ICTRL : 3; ++ unsigned int RG_WF5G_RX_DPD_MXR_LODRV_ICTRL : 4; ++ unsigned int RG_WF5G_RX_GM_ICTRL : 3; ++ unsigned int RG_WF5G_RX_MXR_LODRV_ICTRL : 4; ++ unsigned int RG_WF5G_RX_MXR_VBSEL : 4; ++ unsigned int RG_WF5G_RX_MXR_VCMSEL : 3; ++ unsigned int rsvd_0 : 6; ++ } b; ++} RG_RX_A66_FIELD_T; ++ ++#define RG_RX_A67 (RF_D_RX_REG_BASE + 0x10c) ++// Bit 1 rg_wf_rx_tia_sca_en U RW default = 'h1 ++// Bit 16 :14 rg_wf_rx_tia_ictrl U RW default = 'h3 ++// Bit 19 :17 rg_wf_rx_tia_drvctrl U RW default = 'h3 ++typedef union RG_RX_A67_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_RX_TIA_SCA_EN : 1; ++ unsigned int rsvd_1 : 12; ++ unsigned int RG_WF_RX_TIA_ICTRL : 3; ++ unsigned int RG_WF_RX_TIA_DRVCTRL : 3; ++ unsigned int rsvd_2 : 12; ++ } b; ++} RG_RX_A67_FIELD_T; ++ ++#define RG_RX_A68 (RF_D_RX_REG_BASE + 0x110) ++// Bit 0 rg_wf_rx_lpf_sra1_en U RW default = 'h1 ++// Bit 1 rg_wf_rx_lpf_sra2_en U RW default = 'h1 ++// Bit 2 rg_wf_rx_lpf_sra3_en U RW default = 'h1 ++// Bit 3 rg_wf_rx_lpf_sra4_en U RW default = 'h1 ++// Bit 4 rg_wf_rx_lpf_sca1_en U RW default = 'h1 ++// Bit 5 rg_wf_rx_lpf_sca2_en U RW default = 'h1 ++// Bit 6 rg_wf_rx_lpf_rn1_en U RW default = 'h1 ++// Bit 7 rg_wf_rx_lpf_notch_en U RW default = 'h1 ++// Bit 8 rg_wf_rx_lpf_op1_en U RW default = 'h1 ++// Bit 9 rg_wf_rx_lpf_op2_en U RW default = 'h1 ++// Bit 10 rg_wf5g_txlpbk2tia_en U RW default = 'h0 ++// Bit 11 rg_wf2g_txlpbk2tia_en U RW default = 'h0 ++// Bit 12 rg_wf_rx_adcbuf_en U RW default = 'h0 ++// Bit 16 :13 rg_wf_rx_adcbuf_sra_sel U RW default = 'h0 ++typedef union RG_RX_A68_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_SRA1_EN : 1; ++ unsigned int RG_WF_RX_LPF_SRA2_EN : 1; ++ unsigned int RG_WF_RX_LPF_SRA3_EN : 1; ++ unsigned int RG_WF_RX_LPF_SRA4_EN : 1; ++ unsigned int RG_WF_RX_LPF_SCA1_EN : 1; ++ unsigned int RG_WF_RX_LPF_SCA2_EN : 1; ++ unsigned int RG_WF_RX_LPF_RN1_EN : 1; ++ unsigned int RG_WF_RX_LPF_NOTCH_EN : 1; ++ unsigned int RG_WF_RX_LPF_OP1_EN : 1; ++ unsigned int RG_WF_RX_LPF_OP2_EN : 1; ++ unsigned int RG_WF5G_TXLPBK2TIA_EN : 1; ++ unsigned int RG_WF2G_TXLPBK2TIA_EN : 1; ++ unsigned int RG_WF_RX_ADCBUF_EN : 1; ++ unsigned int RG_WF_RX_ADCBUF_SRA_SEL : 4; ++ unsigned int rsvd_0 : 15; ++ } b; ++} RG_RX_A68_FIELD_T; ++ ++#define RG_RX_A69 (RF_D_RX_REG_BASE + 0x114) ++// Bit 2 :0 rg_wf_rx_vcmsel U RW default = 'h4 ++// Bit 5 :3 rg_wf_rx_lpf_op1_drvctrl U RW default = 'h3 ++// Bit 9 :6 rg_wf_rx_lpf_op2_drvctrl U RW default = 'h3 ++typedef union RG_RX_A69_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_VCMSEL : 3; ++ unsigned int RG_WF_RX_LPF_OP1_DRVCTRL : 3; ++ unsigned int RG_WF_RX_LPF_OP2_DRVCTRL : 4; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_RX_A69_FIELD_T; ++ ++#define RG_RX_A71 (RF_D_RX_REG_BASE + 0x11c) ++// Bit 0 rg_wf_rx_fe_tp_en U RW default = 'h0 ++// Bit 8 :1 rg_wf_rx_fe_tp_sel U RW default = 'h0 ++// Bit 9 rg_wf_rtx_abb_tp_en U RW default = 'h0 ++// Bit 17 :10 rg_wf_rtx_abb_tp_sel U RW default = 'h0 ++// Bit 31 :18 rg_wf_rx_reserved8 U RW default = 'h0 ++typedef union RG_RX_A71_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_FE_TP_EN : 1; ++ unsigned int RG_WF_RX_FE_TP_SEL : 8; ++ unsigned int RG_WF_RTX_ABB_TP_EN : 1; ++ unsigned int RG_WF_RTX_ABB_TP_SEL : 8; ++ unsigned int RG_WF_RX_RESERVED8 : 14; ++ } b; ++} RG_RX_A71_FIELD_T; ++ ++#define RG_RX_A72 (RF_D_RX_REG_BASE + 0x120) ++// Bit 31 :0 rg_wf_rx_rsv0 U RW default = 'h0 ++typedef union RG_RX_A72_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_RSV0 : 32; ++ } b; ++} RG_RX_A72_FIELD_T; ++ ++#define RG_RX_A73 (RF_D_RX_REG_BASE + 0x124) ++// Bit 31 :0 rg_wf_rx_rsv1 U RW default = 'h0 ++typedef union RG_RX_A73_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_RSV1 : 32; ++ } b; ++} RG_RX_A73_FIELD_T; ++ ++#define RG_RX_A74 (RF_D_RX_REG_BASE + 0x128) ++// Bit 2 :0 rg_wf_rx_lpf_dcoc_rsel_bw20m U RW default = 'h3 ++// Bit 5 :3 rg_wf_rx_lpf_dcoc_rsel_bw40m U RW default = 'h3 ++// Bit 8 :6 rg_wf_rx_lpf_dcoc_rsel_bw80m U RW default = 'h0 ++// Bit 11 :9 rg_wf_rx_lpf_dcoc_rsel_bw160m U RW default = 'h0 ++// Bit 14 :12 rg_wf_rx_lpf_dcoc_rgsel_bw20m U RW default = 'h3 ++// Bit 17 :15 rg_wf_rx_lpf_dcoc_rgsel_bw40m U RW default = 'h3 ++// Bit 20 :18 rg_wf_rx_lpf_dcoc_rgsel_bw80m U RW default = 'h0 ++// Bit 23 :21 rg_wf_rx_lpf_dcoc_rgsel_bw160m U RW default = 'h0 ++// Bit 26 :24 rg_wf_rx_lpf_dcoc_rsel_man U RW default = 'h0 ++// Bit 27 rg_wf_rx_lpf_dcoc_rsel_man_mode U RW default = 'h0 ++// Bit 30 :28 rg_wf_rx_lpf_dcoc_rgsel_man U RW default = 'h0 ++// Bit 31 rg_wf_rx_lpf_dcoc_rgsel_man_mode U RW default = 'h0 ++typedef union RG_RX_A74_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_DCOC_RSEL_BW20M : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RSEL_BW40M : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RSEL_BW80M : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RSEL_BW160M : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_BW20M : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_BW40M : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_BW80M : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_BW160M : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RSEL_MAN : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RSEL_MAN_MODE : 1; ++ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_MAN : 3; ++ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_MAN_MODE : 1; ++ } b; ++} RG_RX_A74_FIELD_T; ++ ++#define RG_RX_A75 (RF_D_RX_REG_BASE + 0x12c) ++// Bit 2 :0 rg_wf_rx_lpf_op1_ictrl_bw20m U RW default = 'h1 ++// Bit 5 :3 rg_wf_rx_lpf_op1_ictrl_bw40m U RW default = 'h2 ++// Bit 8 :6 rg_wf_rx_lpf_op1_ictrl_bw80m U RW default = 'h3 ++// Bit 11 :9 rg_wf_rx_lpf_op1_ictrl_bw160m U RW default = 'h4 ++// Bit 14 :12 rg_wf_rx_lpf_op1_ictrl_man U RW default = 'h0 ++// Bit 15 rg_wf_rx_lpf_op1_ictrl_man_mode U RW default = 'h0 ++// Bit 17 :16 rg_wf_rx_lpf_op1_drv_bw20m U RW default = 'h0 ++// Bit 19 :18 rg_wf_rx_lpf_op1_drv_bw40m U RW default = 'h1 ++// Bit 21 :20 rg_wf_rx_lpf_op1_drv_bw80m U RW default = 'h2 ++// Bit 23 :22 rg_wf_rx_lpf_op1_drv_bw160m U RW default = 'h3 ++// Bit 25 :24 rg_wf_rx_lpf_op1_drv_man U RW default = 'h0 ++// Bit 26 rg_wf_rx_lpf_op1_drv_man_mode U RW default = 'h0 ++typedef union RG_RX_A75_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_OP1_ICTRL_BW20M : 3; ++ unsigned int RG_WF_RX_LPF_OP1_ICTRL_BW40M : 3; ++ unsigned int RG_WF_RX_LPF_OP1_ICTRL_BW80M : 3; ++ unsigned int RG_WF_RX_LPF_OP1_ICTRL_BW160M : 3; ++ unsigned int RG_WF_RX_LPF_OP1_ICTRL_MAN : 3; ++ unsigned int RG_WF_RX_LPF_OP1_ICTRL_MAN_MODE : 1; ++ unsigned int RG_WF_RX_LPF_OP1_DRV_BW20M : 2; ++ unsigned int RG_WF_RX_LPF_OP1_DRV_BW40M : 2; ++ unsigned int RG_WF_RX_LPF_OP1_DRV_BW80M : 2; ++ unsigned int RG_WF_RX_LPF_OP1_DRV_BW160M : 2; ++ unsigned int RG_WF_RX_LPF_OP1_DRV_MAN : 2; ++ unsigned int RG_WF_RX_LPF_OP1_DRV_MAN_MODE : 1; ++ unsigned int rsvd_0 : 5; ++ } b; ++} RG_RX_A75_FIELD_T; ++ ++#define RG_RX_A76 (RF_D_RX_REG_BASE + 0x130) ++// Bit 2 :0 rg_wf_rx_lpf_op2_ictrl_bw20m U RW default = 'h1 ++// Bit 5 :3 rg_wf_rx_lpf_op2_ictrl_bw40m U RW default = 'h2 ++// Bit 8 :6 rg_wf_rx_lpf_op2_ictrl_bw80m U RW default = 'h3 ++// Bit 11 :9 rg_wf_rx_lpf_op2_ictrl_bw160m U RW default = 'h4 ++// Bit 14 :12 rg_wf_rx_lpf_op2_ictrl_man U RW default = 'h0 ++// Bit 15 rg_wf_rx_lpf_op2_ictrl_man_mode U RW default = 'h0 ++// Bit 17 :16 rg_wf_rx_lpf_op2_drv_bw20m U RW default = 'h1 ++// Bit 19 :18 rg_wf_rx_lpf_op2_drv_bw40m U RW default = 'h1 ++// Bit 21 :20 rg_wf_rx_lpf_op2_drv_bw80m U RW default = 'h1 ++// Bit 23 :22 rg_wf_rx_lpf_op2_drv_bw160m U RW default = 'h2 ++// Bit 25 :24 rg_wf_rx_lpf_op2_drv_man U RW default = 'h0 ++// Bit 26 rg_wf_rx_lpf_op2_drv_man_mode U RW default = 'h0 ++typedef union RG_RX_A76_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_OP2_ICTRL_BW20M : 3; ++ unsigned int RG_WF_RX_LPF_OP2_ICTRL_BW40M : 3; ++ unsigned int RG_WF_RX_LPF_OP2_ICTRL_BW80M : 3; ++ unsigned int RG_WF_RX_LPF_OP2_ICTRL_BW160M : 3; ++ unsigned int RG_WF_RX_LPF_OP2_ICTRL_MAN : 3; ++ unsigned int RG_WF_RX_LPF_OP2_ICTRL_MAN_MODE : 1; ++ unsigned int RG_WF_RX_LPF_OP2_DRV_BW20M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_DRV_BW40M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_DRV_BW80M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_DRV_BW160M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_DRV_MAN : 2; ++ unsigned int RG_WF_RX_LPF_OP2_DRV_MAN_MODE : 1; ++ unsigned int rsvd_0 : 5; ++ } b; ++} RG_RX_A76_FIELD_T; ++ ++#define RG_RX_A77 (RF_D_RX_REG_BASE + 0x134) ++// Bit 1 :0 rg_wf_rx_lpf_op1_rcc_lg U RW default = 'h3 ++// Bit 3 :2 rg_wf_rx_lpf_op1_rcc_mg U RW default = 'h2 ++// Bit 5 :4 rg_wf_rx_lpf_op1_rcc_hg U RW default = 'h1 ++// Bit 7 :6 rg_wf_rx_lpf_op1_rcc_man U RW default = 'h0 ++// Bit 8 rg_wf_rx_lpf_op1_rcc_man_mode U RW default = 'h0 ++// Bit 10 :9 rg_wf_rx_lpf_op1_rcm_lg U RW default = 'h1 ++// Bit 12 :11 rg_wf_rx_lpf_op1_rcm_mg U RW default = 'h2 ++// Bit 14 :13 rg_wf_rx_lpf_op1_rcm_hg U RW default = 'h3 ++// Bit 16 :15 rg_wf_rx_lpf_op1_rcm_man U RW default = 'h0 ++// Bit 17 rg_wf_rx_lpf_op1_rcm_man_mode U RW default = 'h0 ++// Bit 19 :18 rg_wf_rx_lpf_op2_rcc_bw20m U RW default = 'h3 ++// Bit 21 :20 rg_wf_rx_lpf_op2_rcc_bw40m U RW default = 'h2 ++// Bit 23 :22 rg_wf_rx_lpf_op2_rcc_bw80m U RW default = 'h1 ++// Bit 25 :24 rg_wf_rx_lpf_op2_rcc_bw160m U RW default = 'h1 ++// Bit 27 :26 rg_wf_rx_lpf_op2_rcc_man U RW default = 'h0 ++// Bit 28 rg_wf_rx_lpf_op2_rcc_man_mode U RW default = 'h0 ++typedef union RG_RX_A77_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_LPF_OP1_RCC_LG : 2; ++ unsigned int RG_WF_RX_LPF_OP1_RCC_MG : 2; ++ unsigned int RG_WF_RX_LPF_OP1_RCC_HG : 2; ++ unsigned int RG_WF_RX_LPF_OP1_RCC_MAN : 2; ++ unsigned int RG_WF_RX_LPF_OP1_RCC_MAN_MODE : 1; ++ unsigned int RG_WF_RX_LPF_OP1_RCM_LG : 2; ++ unsigned int RG_WF_RX_LPF_OP1_RCM_MG : 2; ++ unsigned int RG_WF_RX_LPF_OP1_RCM_HG : 2; ++ unsigned int RG_WF_RX_LPF_OP1_RCM_MAN : 2; ++ unsigned int RG_WF_RX_LPF_OP1_RCM_MAN_MODE : 1; ++ unsigned int RG_WF_RX_LPF_OP2_RCC_BW20M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCC_BW40M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCC_BW80M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCC_BW160M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCC_MAN : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCC_MAN_MODE : 1; ++ unsigned int rsvd_0 : 3; ++ } b; ++} RG_RX_A77_FIELD_T; ++ ++#define RG_RX_A78 (RF_D_RX_REG_BASE + 0x138) ++// Bit 10 :9 rg_wf_rx_lpf_op2_rcm_bw20m U RW default = 'h3 ++// Bit 12 :11 rg_wf_rx_lpf_op2_rcm_bw40m U RW default = 'h3 ++// Bit 14 :13 rg_wf_rx_lpf_op2_rcm_bw80m U RW default = 'h3 ++// Bit 16 :15 rg_wf_rx_lpf_op2_rcm_bw160m U RW default = 'h3 ++// Bit 18 :17 rg_wf_rx_lpf_op2_rcm_man U RW default = 'h0 ++// Bit 19 rg_wf_rx_lpf_op2_rcm_man_mode U RW default = 'h0 ++// Bit 31 rg_wf2g_rx_lna_slice_man_mode U RW default = 'h0 ++typedef union RG_RX_A78_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rsvd_0 : 9; ++ unsigned int RG_WF_RX_LPF_OP2_RCM_BW20M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCM_BW40M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCM_BW80M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCM_BW160M : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCM_MAN : 2; ++ unsigned int RG_WF_RX_LPF_OP2_RCM_MAN_MODE : 1; ++ unsigned int rsvd_1 : 11; ++ unsigned int RG_WF2G_RX_LNA_SLICE_MAN_MODE : 1; ++ } b; ++} RG_RX_A78_FIELD_T; ++ ++#define RG_RX_A79 (RF_D_RX_REG_BASE + 0x13c) ++// Bit 2 :0 rg_wf2g_rx_lna_ictrl_g1 U RW default = 'h3 ++// Bit 6 :4 rg_wf2g_rx_lna_ictrl_g2 U RW default = 'h4 ++// Bit 10 :8 rg_wf2g_rx_lna_ictrl_g3 U RW default = 'h4 ++// Bit 14 :12 rg_wf2g_rx_lna_ictrl_g4 U RW default = 'h4 ++// Bit 18 :16 rg_wf2g_rx_lna_ictrl_g5 U RW default = 'h2 ++// Bit 22 :20 rg_wf2g_rx_lna_ictrl_g6 U RW default = 'h2 ++// Bit 26 :24 rg_wf2g_rx_lna_ictrl_g7 U RW default = 'h3 ++// Bit 30 :28 rg_wf2g_rx_lna_ictrl_man U RW default = 'h0 ++// Bit 31 rg_wf2g_rx_lna_ictrl_man_mode U RW default = 'h0 ++typedef union RG_RX_A79_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G1 : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G2 : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G3 : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G4 : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G5 : 3; ++ unsigned int rsvd_4 : 1; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G6 : 3; ++ unsigned int rsvd_5 : 1; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G7 : 3; ++ unsigned int rsvd_6 : 1; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_MAN : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_MAN_MODE : 1; ++ } b; ++} RG_RX_A79_FIELD_T; ++ ++#define RG_RX_A80 (RF_D_RX_REG_BASE + 0x140) ++// Bit 7 :0 rg_wf2g_rx_lna_slice_g1 U RW default = 'h49 ++// Bit 15 :8 rg_wf2g_rx_lna_slice_g2 U RW default = 'h92 ++// Bit 23 :16 rg_wf2g_rx_lna_slice_g3 U RW default = 'h93 ++// Bit 31 :24 rg_wf2g_rx_lna_slice_g4 U RW default = 'ha ++typedef union RG_RX_A80_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_SLICE_G1 : 8; ++ unsigned int RG_WF2G_RX_LNA_SLICE_G2 : 8; ++ unsigned int RG_WF2G_RX_LNA_SLICE_G3 : 8; ++ unsigned int RG_WF2G_RX_LNA_SLICE_G4 : 8; ++ } b; ++} RG_RX_A80_FIELD_T; ++ ++#define RG_RX_A81 (RF_D_RX_REG_BASE + 0x144) ++// Bit 7 :0 rg_wf2g_rx_lna_slice_g5 U RW default = 'h1a ++// Bit 15 :8 rg_wf2g_rx_lna_slice_g6 U RW default = 'h7b ++// Bit 23 :16 rg_wf2g_rx_lna_slice_g7 U RW default = 'hfa ++// Bit 31 :24 rg_wf2g_rx_lna_slice_man U RW default = 'h0 ++typedef union RG_RX_A81_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_SLICE_G5 : 8; ++ unsigned int RG_WF2G_RX_LNA_SLICE_G6 : 8; ++ unsigned int RG_WF2G_RX_LNA_SLICE_G7 : 8; ++ unsigned int RG_WF2G_RX_LNA_SLICE_MAN : 8; ++ } b; ++} RG_RX_A81_FIELD_T; ++ ++#define RG_RX_A82 (RF_D_RX_REG_BASE + 0x148) ++// Bit 4 :0 rg_wf2g_rx_lna_rfb_g1 U RW default = 'h0 ++// Bit 9 :5 rg_wf2g_rx_lna_rfb_g2 U RW default = 'h0 ++// Bit 14 :10 rg_wf2g_rx_lna_rfb_g3 U RW default = 'h0 ++// Bit 19 :15 rg_wf2g_rx_lna_rfb_g4 U RW default = 'h2 ++// Bit 24 :20 rg_wf2g_rx_lna_rfb_g5 U RW default = 'h4 ++// Bit 29 :25 rg_wf2g_rx_lna_rfb_g6 U RW default = 'h8 ++typedef union RG_RX_A82_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_RFB_G1 : 5; ++ unsigned int RG_WF2G_RX_LNA_RFB_G2 : 5; ++ unsigned int RG_WF2G_RX_LNA_RFB_G3 : 5; ++ unsigned int RG_WF2G_RX_LNA_RFB_G4 : 5; ++ unsigned int RG_WF2G_RX_LNA_RFB_G5 : 5; ++ unsigned int RG_WF2G_RX_LNA_RFB_G6 : 5; ++ unsigned int rsvd_0 : 2; ++ } b; ++} RG_RX_A82_FIELD_T; ++ ++#define RG_RX_A83 (RF_D_RX_REG_BASE + 0x14c) ++// Bit 4 :0 rg_wf2g_rx_lna_rfb_g7 U RW default = 'h0 ++// Bit 9 :5 rg_wf2g_rx_lna_rfb_man U RW default = 'h0 ++// Bit 10 rg_wf2g_rx_lna_rfb_man_mode U RW default = 'h0 ++typedef union RG_RX_A83_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_RFB_G7 : 5; ++ unsigned int RG_WF2G_RX_LNA_RFB_MAN : 5; ++ unsigned int RG_WF2G_RX_LNA_RFB_MAN_MODE : 1; ++ unsigned int rsvd_0 : 21; ++ } b; ++} RG_RX_A83_FIELD_T; ++ ++#define RG_RX_A84 (RF_D_RX_REG_BASE + 0x150) ++// Bit 2 :0 rg_wf2g_rx_lna_rt_g1 U RW default = 'h5 ++// Bit 5 :3 rg_wf2g_rx_lna_rt_g2 U RW default = 'h5 ++// Bit 8 :6 rg_wf2g_rx_lna_rt_g3 U RW default = 'h5 ++// Bit 11 :9 rg_wf2g_rx_lna_rt_g4 U RW default = 'h5 ++// Bit 14 :12 rg_wf2g_rx_lna_rt_g5 U RW default = 'h5 ++// Bit 17 :15 rg_wf2g_rx_lna_rt_g6 U RW default = 'h0 ++// Bit 26 :24 rg_wf2g_rx_lna_rt_man U RW default = 'h0 ++// Bit 31 rg_wf2g_rx_lna_rt_man_mode U RW default = 'h0 ++typedef union RG_RX_A84_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_RT_G1 : 3; ++ unsigned int RG_WF2G_RX_LNA_RT_G2 : 3; ++ unsigned int RG_WF2G_RX_LNA_RT_G3 : 3; ++ unsigned int RG_WF2G_RX_LNA_RT_G4 : 3; ++ unsigned int RG_WF2G_RX_LNA_RT_G5 : 3; ++ unsigned int RG_WF2G_RX_LNA_RT_G6 : 3; ++ unsigned int rsvd_0 : 6; ++ unsigned int RG_WF2G_RX_LNA_RT_MAN : 3; ++ unsigned int rsvd_1 : 4; ++ unsigned int RG_WF2G_RX_LNA_RT_MAN_MODE : 1; ++ } b; ++} RG_RX_A84_FIELD_T; ++ ++#define RG_RX_A85 (RF_D_RX_REG_BASE + 0x154) ++// Bit 2 :0 rg_wf2g_rx_lna_att_g1 U RW default = 'h0 ++// Bit 5 :3 rg_wf2g_rx_lna_att_g2 U RW default = 'h2 ++// Bit 8 :6 rg_wf2g_rx_lna_att_g3 U RW default = 'h3 ++// Bit 11 :9 rg_wf2g_rx_lna_att_man U RW default = 'h0 ++// Bit 12 rg_wf2g_rx_lna_att_man_mode U RW default = 'h0 ++typedef union RG_RX_A85_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_ATT_G1 : 3; ++ unsigned int RG_WF2G_RX_LNA_ATT_G2 : 3; ++ unsigned int RG_WF2G_RX_LNA_ATT_G3 : 3; ++ unsigned int RG_WF2G_RX_LNA_ATT_MAN : 3; ++ unsigned int RG_WF2G_RX_LNA_ATT_MAN_MODE : 1; ++ unsigned int rsvd_0 : 19; ++ } b; ++} RG_RX_A85_FIELD_T; ++ ++#define RG_RX_A86 (RF_D_RX_REG_BASE + 0x158) ++// Bit 1 :0 rg_wf2g_rx_dpd_att_ctrl U RW default = 'h1 ++// Bit 4 :2 rg_wf2g_rx_dpd_gm_gain U RW default = 'h7 ++// Bit 7 :5 rg_wf2g_rx_dpd_gm_ictrl U RW default = 'h3 ++// Bit 11 :8 rg_wf2g_rx_dpd_mxr_lodrv_ictrl U RW default = 'h3 ++// Bit 14 :12 rg_wf2g_rx_gm_ictrl U RW default = 'h3 ++// Bit 18 :15 rg_wf2g_rx_mxr_lodrv_ictrl U RW default = 'h3 ++// Bit 22 :19 rg_wf2g_rx_mxr_vbsel U RW default = 'h2 ++// Bit 25 :23 rg_wf2g_rx_mxr_vcmsel U RW default = 'h3 ++typedef union RG_RX_A86_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_DPD_ATT_CTRL : 2; ++ unsigned int RG_WF2G_RX_DPD_GM_GAIN : 3; ++ unsigned int RG_WF2G_RX_DPD_GM_ICTRL : 3; ++ unsigned int RG_WF2G_RX_DPD_MXR_LODRV_ICTRL : 4; ++ unsigned int RG_WF2G_RX_GM_ICTRL : 3; ++ unsigned int RG_WF2G_RX_MXR_LODRV_ICTRL : 4; ++ unsigned int RG_WF2G_RX_MXR_VBSEL : 4; ++ unsigned int RG_WF2G_RX_MXR_VCMSEL : 3; ++ unsigned int rsvd_0 : 6; ++ } b; ++} RG_RX_A86_FIELD_T; ++ ++#define RG_RX_A87 (RF_D_RX_REG_BASE + 0x15c) ++// Bit 7 :0 rg_wf2g_rx_lna_priority U RW default = 'hdb ++typedef union RG_RX_A87_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_PRIORITY : 8; ++ unsigned int rsvd_0 : 24; ++ } b; ++} RG_RX_A87_FIELD_T; ++ ++#define RG_RX_A88 (RF_D_RX_REG_BASE + 0x160) ++// Bit 0 rg_m4_wf_rx_fe_topbias_en U RW default = 'h1 ++// Bit 1 rg_m4_wf_rx_lna_bias_en U RW default = 'h1 ++// Bit 2 rg_m4_wf_rx_gm_bias_en U RW default = 'h1 ++// Bit 3 rg_m4_wf_rx_mxr_bias_en U RW default = 'h1 ++// Bit 4 rg_m4_wf5g_rx_lna_trsw_en U RW default = 'h1 ++// Bit 5 rg_m4_wf5g_rx_lna_en U RW default = 'h0 ++// Bit 6 rg_m4_wf5g_rx_gm_en U RW default = 'h0 ++// Bit 7 rg_m4_wf5g_rx_mxr_en U RW default = 'h0 ++// Bit 8 rg_m4_wf5g_rx_dpd_en U RW default = 'h1 ++// Bit 9 rg_m4_wf5g_rx_irrcal_en U RW default = 'h0 ++// Bit 10 rg_m4_wf2g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 11 rg_m4_wf2g_rx_lna_en U RW default = 'h0 ++// Bit 12 rg_m4_wf2g_rx_gm_en U RW default = 'h0 ++// Bit 13 rg_m4_wf2g_rx_mxr_en U RW default = 'h0 ++// Bit 14 rg_m4_wf2g_rx_irrcal_en U RW default = 'h0 ++// Bit 15 rg_m4_wf2g_rx_dpd_en U RW default = 'h0 ++// Bit 17 rg_m4_wf_rtx_abb_topbias_en U RW default = 'h1 ++// Bit 18 rg_m4_wf_rtx_abb_rx_en U RW default = 'h1 ++// Bit 22 rg_m4_wf_rx_tia_bias_en U RW default = 'h1 ++// Bit 23 rg_m4_wf_rx_rssipga_bias_en U RW default = 'h1 ++// Bit 24 rg_m4_wf_rx_lpf_bias_en U RW default = 'h1 ++// Bit 25 rg_m4_wf_rx_tia_en U RW default = 'h1 ++// Bit 26 rg_m4_wf_rx_rssipga_en U RW default = 'h1 ++// Bit 27 rg_m4_wf_rx_lpf_en U RW default = 'h1 ++// Bit 28 rg_m4_wf_rx_lpf_i_dcoc_en U RW default = 'h1 ++// Bit 29 rg_m4_wf_rx_lpf_q_dcoc_en U RW default = 'h1 ++typedef union RG_RX_A88_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M4_WF_RX_FE_TOPBIAS_EN : 1; ++ unsigned int RG_M4_WF_RX_LNA_BIAS_EN : 1; ++ unsigned int RG_M4_WF_RX_GM_BIAS_EN : 1; ++ unsigned int RG_M4_WF_RX_MXR_BIAS_EN : 1; ++ unsigned int RG_M4_WF5G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M4_WF5G_RX_LNA_EN : 1; ++ unsigned int RG_M4_WF5G_RX_GM_EN : 1; ++ unsigned int RG_M4_WF5G_RX_MXR_EN : 1; ++ unsigned int RG_M4_WF5G_RX_DPD_EN : 1; ++ unsigned int RG_M4_WF5G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M4_WF2G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M4_WF2G_RX_LNA_EN : 1; ++ unsigned int RG_M4_WF2G_RX_GM_EN : 1; ++ unsigned int RG_M4_WF2G_RX_MXR_EN : 1; ++ unsigned int RG_M4_WF2G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M4_WF2G_RX_DPD_EN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_M4_WF_RTX_ABB_TOPBIAS_EN : 1; ++ unsigned int RG_M4_WF_RTX_ABB_RX_EN : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_M4_WF_RX_TIA_BIAS_EN : 1; ++ unsigned int RG_M4_WF_RX_RSSIPGA_BIAS_EN : 1; ++ unsigned int RG_M4_WF_RX_LPF_BIAS_EN : 1; ++ unsigned int RG_M4_WF_RX_TIA_EN : 1; ++ unsigned int RG_M4_WF_RX_RSSIPGA_EN : 1; ++ unsigned int RG_M4_WF_RX_LPF_EN : 1; ++ unsigned int RG_M4_WF_RX_LPF_I_DCOC_EN : 1; ++ unsigned int RG_M4_WF_RX_LPF_Q_DCOC_EN : 1; ++ unsigned int rsvd_2 : 2; ++ } b; ++} RG_RX_A88_FIELD_T; ++ ++#define RG_RX_A89 (RF_D_RX_REG_BASE + 0x164) ++// Bit 0 rg_m5_wf_rx_fe_topbias_en U RW default = 'h0 ++// Bit 1 rg_m5_wf_rx_lna_bias_en U RW default = 'h0 ++// Bit 2 rg_m5_wf_rx_gm_bias_en U RW default = 'h0 ++// Bit 3 rg_m5_wf_rx_mxr_bias_en U RW default = 'h0 ++// Bit 4 rg_m5_wf5g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 5 rg_m5_wf5g_rx_lna_en U RW default = 'h0 ++// Bit 6 rg_m5_wf5g_rx_gm_en U RW default = 'h0 ++// Bit 7 rg_m5_wf5g_rx_mxr_en U RW default = 'h0 ++// Bit 8 rg_m5_wf5g_rx_dpd_en U RW default = 'h0 ++// Bit 9 rg_m5_wf5g_rx_irrcal_en U RW default = 'h0 ++// Bit 10 rg_m5_wf2g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 11 rg_m5_wf2g_rx_lna_en U RW default = 'h0 ++// Bit 12 rg_m5_wf2g_rx_gm_en U RW default = 'h0 ++// Bit 13 rg_m5_wf2g_rx_mxr_en U RW default = 'h0 ++// Bit 14 rg_m5_wf2g_rx_irrcal_en U RW default = 'h0 ++// Bit 15 rg_m5_wf2g_rx_dpd_en U RW default = 'h0 ++// Bit 17 rg_m5_wf_rtx_abb_topbias_en U RW default = 'h0 ++// Bit 18 rg_m5_wf_rtx_abb_rx_en U RW default = 'h0 ++// Bit 22 rg_m5_wf_rx_tia_bias_en U RW default = 'h0 ++// Bit 23 rg_m5_wf_rx_rssipga_bias_en U RW default = 'h0 ++// Bit 24 rg_m5_wf_rx_lpf_bias_en U RW default = 'h0 ++// Bit 25 rg_m5_wf_rx_tia_en U RW default = 'h0 ++// Bit 26 rg_m5_wf_rx_rssipga_en U RW default = 'h0 ++// Bit 27 rg_m5_wf_rx_lpf_en U RW default = 'h0 ++// Bit 28 rg_m5_wf_rx_lpf_i_dcoc_en U RW default = 'h0 ++// Bit 29 rg_m5_wf_rx_lpf_q_dcoc_en U RW default = 'h0 ++typedef union RG_RX_A89_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M5_WF_RX_FE_TOPBIAS_EN : 1; ++ unsigned int RG_M5_WF_RX_LNA_BIAS_EN : 1; ++ unsigned int RG_M5_WF_RX_GM_BIAS_EN : 1; ++ unsigned int RG_M5_WF_RX_MXR_BIAS_EN : 1; ++ unsigned int RG_M5_WF5G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M5_WF5G_RX_LNA_EN : 1; ++ unsigned int RG_M5_WF5G_RX_GM_EN : 1; ++ unsigned int RG_M5_WF5G_RX_MXR_EN : 1; ++ unsigned int RG_M5_WF5G_RX_DPD_EN : 1; ++ unsigned int RG_M5_WF5G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M5_WF2G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M5_WF2G_RX_LNA_EN : 1; ++ unsigned int RG_M5_WF2G_RX_GM_EN : 1; ++ unsigned int RG_M5_WF2G_RX_MXR_EN : 1; ++ unsigned int RG_M5_WF2G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M5_WF2G_RX_DPD_EN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_M5_WF_RTX_ABB_TOPBIAS_EN : 1; ++ unsigned int RG_M5_WF_RTX_ABB_RX_EN : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_M5_WF_RX_TIA_BIAS_EN : 1; ++ unsigned int RG_M5_WF_RX_RSSIPGA_BIAS_EN : 1; ++ unsigned int RG_M5_WF_RX_LPF_BIAS_EN : 1; ++ unsigned int RG_M5_WF_RX_TIA_EN : 1; ++ unsigned int RG_M5_WF_RX_RSSIPGA_EN : 1; ++ unsigned int RG_M5_WF_RX_LPF_EN : 1; ++ unsigned int RG_M5_WF_RX_LPF_I_DCOC_EN : 1; ++ unsigned int RG_M5_WF_RX_LPF_Q_DCOC_EN : 1; ++ unsigned int rsvd_2 : 2; ++ } b; ++} RG_RX_A89_FIELD_T; ++ ++#define RG_RX_A90 (RF_D_RX_REG_BASE + 0x168) ++// Bit 0 rg_m6_wf_rx_fe_topbias_en U RW default = 'h1 ++// Bit 1 rg_m6_wf_rx_lna_bias_en U RW default = 'h0 ++// Bit 2 rg_m6_wf_rx_gm_bias_en U RW default = 'h0 ++// Bit 3 rg_m6_wf_rx_mxr_bias_en U RW default = 'h0 ++// Bit 4 rg_m6_wf5g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 5 rg_m6_wf5g_rx_lna_en U RW default = 'h0 ++// Bit 6 rg_m6_wf5g_rx_gm_en U RW default = 'h0 ++// Bit 7 rg_m6_wf5g_rx_mxr_en U RW default = 'h0 ++// Bit 8 rg_m6_wf5g_rx_dpd_en U RW default = 'h0 ++// Bit 9 rg_m6_wf5g_rx_irrcal_en U RW default = 'h0 ++// Bit 10 rg_m6_wf2g_rx_lna_trsw_en U RW default = 'h1 ++// Bit 11 rg_m6_wf2g_rx_lna_en U RW default = 'h0 ++// Bit 12 rg_m6_wf2g_rx_gm_en U RW default = 'h0 ++// Bit 13 rg_m6_wf2g_rx_mxr_en U RW default = 'h0 ++// Bit 14 rg_m6_wf2g_rx_irrcal_en U RW default = 'h0 ++// Bit 15 rg_m6_wf2g_rx_dpd_en U RW default = 'h0 ++// Bit 17 rg_m6_wf_rtx_abb_topbias_en U RW default = 'h1 ++// Bit 18 rg_m6_wf_rtx_abb_rx_en U RW default = 'h0 ++// Bit 22 rg_m6_wf_rx_tia_bias_en U RW default = 'h0 ++// Bit 23 rg_m6_wf_rx_rssipga_bias_en U RW default = 'h0 ++// Bit 24 rg_m6_wf_rx_lpf_bias_en U RW default = 'h0 ++// Bit 25 rg_m6_wf_rx_tia_en U RW default = 'h0 ++// Bit 26 rg_m6_wf_rx_rssipga_en U RW default = 'h0 ++// Bit 27 rg_m6_wf_rx_lpf_en U RW default = 'h0 ++// Bit 28 rg_m6_wf_rx_lpf_i_dcoc_en U RW default = 'h0 ++// Bit 29 rg_m6_wf_rx_lpf_q_dcoc_en U RW default = 'h0 ++typedef union RG_RX_A90_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M6_WF_RX_FE_TOPBIAS_EN : 1; ++ unsigned int RG_M6_WF_RX_LNA_BIAS_EN : 1; ++ unsigned int RG_M6_WF_RX_GM_BIAS_EN : 1; ++ unsigned int RG_M6_WF_RX_MXR_BIAS_EN : 1; ++ unsigned int RG_M6_WF5G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M6_WF5G_RX_LNA_EN : 1; ++ unsigned int RG_M6_WF5G_RX_GM_EN : 1; ++ unsigned int RG_M6_WF5G_RX_MXR_EN : 1; ++ unsigned int RG_M6_WF5G_RX_DPD_EN : 1; ++ unsigned int RG_M6_WF5G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M6_WF2G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M6_WF2G_RX_LNA_EN : 1; ++ unsigned int RG_M6_WF2G_RX_GM_EN : 1; ++ unsigned int RG_M6_WF2G_RX_MXR_EN : 1; ++ unsigned int RG_M6_WF2G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M6_WF2G_RX_DPD_EN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_M6_WF_RTX_ABB_TOPBIAS_EN : 1; ++ unsigned int RG_M6_WF_RTX_ABB_RX_EN : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_M6_WF_RX_TIA_BIAS_EN : 1; ++ unsigned int RG_M6_WF_RX_RSSIPGA_BIAS_EN : 1; ++ unsigned int RG_M6_WF_RX_LPF_BIAS_EN : 1; ++ unsigned int RG_M6_WF_RX_TIA_EN : 1; ++ unsigned int RG_M6_WF_RX_RSSIPGA_EN : 1; ++ unsigned int RG_M6_WF_RX_LPF_EN : 1; ++ unsigned int RG_M6_WF_RX_LPF_I_DCOC_EN : 1; ++ unsigned int RG_M6_WF_RX_LPF_Q_DCOC_EN : 1; ++ unsigned int rsvd_2 : 2; ++ } b; ++} RG_RX_A90_FIELD_T; ++ ++#define RG_RX_A91 (RF_D_RX_REG_BASE + 0x16c) ++// Bit 0 rg_m7_wf_rx_fe_topbias_en U RW default = 'h1 ++// Bit 1 rg_m7_wf_rx_lna_bias_en U RW default = 'h1 ++// Bit 2 rg_m7_wf_rx_gm_bias_en U RW default = 'h1 ++// Bit 3 rg_m7_wf_rx_mxr_bias_en U RW default = 'h1 ++// Bit 4 rg_m7_wf5g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 5 rg_m7_wf5g_rx_lna_en U RW default = 'h0 ++// Bit 6 rg_m7_wf5g_rx_gm_en U RW default = 'h0 ++// Bit 7 rg_m7_wf5g_rx_mxr_en U RW default = 'h0 ++// Bit 8 rg_m7_wf5g_rx_dpd_en U RW default = 'h0 ++// Bit 9 rg_m7_wf5g_rx_irrcal_en U RW default = 'h0 ++// Bit 10 rg_m7_wf2g_rx_lna_trsw_en U RW default = 'h0 ++// Bit 11 rg_m7_wf2g_rx_lna_en U RW default = 'h1 ++// Bit 12 rg_m7_wf2g_rx_gm_en U RW default = 'h1 ++// Bit 13 rg_m7_wf2g_rx_mxr_en U RW default = 'h1 ++// Bit 14 rg_m7_wf2g_rx_irrcal_en U RW default = 'h0 ++// Bit 15 rg_m7_wf2g_rx_dpd_en U RW default = 'h0 ++// Bit 17 rg_m7_wf_rtx_abb_topbias_en U RW default = 'h1 ++// Bit 18 rg_m7_wf_rtx_abb_rx_en U RW default = 'h1 ++// Bit 22 rg_m7_wf_rx_tia_bias_en U RW default = 'h1 ++// Bit 23 rg_m7_wf_rx_rssipga_bias_en U RW default = 'h1 ++// Bit 24 rg_m7_wf_rx_lpf_bias_en U RW default = 'h1 ++// Bit 25 rg_m7_wf_rx_tia_en U RW default = 'h1 ++// Bit 26 rg_m7_wf_rx_rssipga_en U RW default = 'h1 ++// Bit 27 rg_m7_wf_rx_lpf_en U RW default = 'h1 ++// Bit 28 rg_m7_wf_rx_lpf_i_dcoc_en U RW default = 'h1 ++// Bit 29 rg_m7_wf_rx_lpf_q_dcoc_en U RW default = 'h1 ++typedef union RG_RX_A91_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M7_WF_RX_FE_TOPBIAS_EN : 1; ++ unsigned int RG_M7_WF_RX_LNA_BIAS_EN : 1; ++ unsigned int RG_M7_WF_RX_GM_BIAS_EN : 1; ++ unsigned int RG_M7_WF_RX_MXR_BIAS_EN : 1; ++ unsigned int RG_M7_WF5G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M7_WF5G_RX_LNA_EN : 1; ++ unsigned int RG_M7_WF5G_RX_GM_EN : 1; ++ unsigned int RG_M7_WF5G_RX_MXR_EN : 1; ++ unsigned int RG_M7_WF5G_RX_DPD_EN : 1; ++ unsigned int RG_M7_WF5G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M7_WF2G_RX_LNA_TRSW_EN : 1; ++ unsigned int RG_M7_WF2G_RX_LNA_EN : 1; ++ unsigned int RG_M7_WF2G_RX_GM_EN : 1; ++ unsigned int RG_M7_WF2G_RX_MXR_EN : 1; ++ unsigned int RG_M7_WF2G_RX_IRRCAL_EN : 1; ++ unsigned int RG_M7_WF2G_RX_DPD_EN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_M7_WF_RTX_ABB_TOPBIAS_EN : 1; ++ unsigned int RG_M7_WF_RTX_ABB_RX_EN : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_M7_WF_RX_TIA_BIAS_EN : 1; ++ unsigned int RG_M7_WF_RX_RSSIPGA_BIAS_EN : 1; ++ unsigned int RG_M7_WF_RX_LPF_BIAS_EN : 1; ++ unsigned int RG_M7_WF_RX_TIA_EN : 1; ++ unsigned int RG_M7_WF_RX_RSSIPGA_EN : 1; ++ unsigned int RG_M7_WF_RX_LPF_EN : 1; ++ unsigned int RG_M7_WF_RX_LPF_I_DCOC_EN : 1; ++ unsigned int RG_M7_WF_RX_LPF_Q_DCOC_EN : 1; ++ unsigned int rsvd_2 : 2; ++ } b; ++} RG_RX_A91_FIELD_T; ++ ++#define RG_RX_A92 (RF_D_RX_REG_BASE + 0x170) ++// Bit 2 :0 rg_wf2g_rx_lna_ictrl_g67 U RW default = 'h3 ++// Bit 5 :3 rg_wf2g_rx_lna_ictrl_g57 U RW default = 'h2 ++// Bit 8 :6 rg_wf2g_rx_lna_ictrl_g47 U RW default = 'h2 ++// Bit 11 :9 rg_wf2g_rx_lna_ictrl_g37 U RW default = 'h5 ++// Bit 14 :12 rg_wf2g_rx_lna_ictrl_g56 U RW default = 'h3 ++// Bit 17 :15 rg_wf2g_rx_lna_ictrl_g46 U RW default = 'h2 ++// Bit 20 :18 rg_wf2g_rx_lna_ictrl_g36 U RW default = 'h5 ++// Bit 23 :21 rg_wf2g_rx_lna_ictrl_g45 U RW default = 'h3 ++// Bit 26 :24 rg_wf2g_rx_lna_ictrl_g35 U RW default = 'h3 ++// Bit 29 :27 rg_wf2g_rx_lna_ictrl_g34 U RW default = 'h2 ++typedef union RG_RX_A92_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G67 : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G57 : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G47 : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G37 : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G56 : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G46 : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G36 : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G45 : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G35 : 3; ++ unsigned int RG_WF2G_RX_LNA_ICTRL_G34 : 3; ++ unsigned int rsvd_0 : 2; ++ } b; ++} RG_RX_A92_FIELD_T; ++ ++#define RG_RX_A93 (RF_D_RX_REG_BASE + 0x174) ++// Bit 4 :0 rg_wf2g_rx_lna_rfb_g77 U RW default = 'h0 ++// Bit 9 :5 rg_wf2g_btrx_lna_rfb_g77 U RW default = 'h0 ++// Bit 11 :10 rg_wf_agc_lock_option U RW default = 'h3 ++// Bit 23 :16 rg_wf_rx_lna_en_delay_bnd U RW default = 'h14 ++// Bit 24 rg_wf_rx_lna_en_delay_bypass U RW default = 'h0 ++typedef union RG_RX_A93_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_RX_LNA_RFB_G77 : 5; ++ unsigned int RG_WF2G_BTRX_LNA_RFB_G77 : 5; ++ unsigned int RG_WF_AGC_LOCK_OPTION : 2; ++ unsigned int rsvd_0 : 4; ++ unsigned int RG_WF_RX_LNA_EN_DELAY_BND : 8; ++ unsigned int RG_WF_RX_LNA_EN_DELAY_BYPASS : 1; ++ unsigned int rsvd_1 : 7; ++ } b; ++} RG_RX_A93_FIELD_T; ++ ++#define RG_RX_A94 (RF_D_RX_REG_BASE + 0x178) ++// Bit 12 rg_wf_daclpbk2adc_en U RW default = 'h0 ++// Bit 13 rg_wf_rx_lpf_testout_en U RW default = 'h0 ++// Bit 14 rg_wf_rx_rssipga_testout_en U RW default = 'h0 ++typedef union RG_RX_A94_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rsvd_0 : 12; ++ unsigned int RG_WF_DACLPBK2ADC_EN : 1; ++ unsigned int RG_WF_RX_LPF_TESTOUT_EN : 1; ++ unsigned int RG_WF_RX_RSSIPGA_TESTOUT_EN : 1; ++ unsigned int rsvd_1 : 17; ++ } b; ++} RG_RX_A94_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/rf_d_sx_reg.h b/drivers/net/wireless/w1/common/rf_d_sx_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..7019eb56ab70a661893905fc9a5eff7fcec08488 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/rf_d_sx_reg.h +@@ -0,0 +1,1093 @@ ++#ifdef RF_D_SX_REG ++#else ++#define RF_D_SX_REG ++ ++ ++#define RF_D_SX_REG_BASE (0x400) ++ ++#define RG_SX_A0 (RF_D_SX_REG_BASE + 0x0) ++// Bit 0 rg_wf_sx_fcal_en U RW default = 'h0 ++// Bit 2 rg_wf_sx_cali_start_man_mode U RW default = 'h1 ++// Bit 4 rg_wf_sx_sdm_frac_en U RW default = 'h1 ++// Bit 12 :8 rg_wf_sx_fcal_mode_sel U RW default = 'h1b ++// Bit 16 rg_wf_sx_rf_osc_double U RW default = 'h0 ++// Bit 20 rg_wf_sx_dig_osc_double U RW default = 'h0 ++// Bit 31 rg_wf_sx_soft_reset U RW default = 'h0 ++typedef union RG_SX_A0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_FCAL_EN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_SX_CALI_START_MAN_MODE : 1; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_SX_SDM_FRAC_EN : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int RG_WF_SX_FCAL_MODE_SEL : 5; ++ unsigned int rsvd_3 : 3; ++ unsigned int RG_WF_SX_RF_OSC_DOUBLE : 1; ++ unsigned int rsvd_4 : 3; ++ unsigned int RG_WF_SX_DIG_OSC_DOUBLE : 1; ++ unsigned int rsvd_5 : 10; ++ unsigned int RG_WF_SX_SOFT_RESET : 1; ++ } b; ++} RG_SX_A0_FIELD_T; ++ ++#define RG_SX_A1 (RF_D_SX_REG_BASE + 0x4) ++// Bit 0 rg_wf_sx_fcal_sel_p U RW default = 'h0 ++// Bit 10 :4 rg_wf_sx_vcoc_p U RW default = 'h40 ++// Bit 12 rg_wf_sx_fcal_sel_t U RW default = 'h0 ++// Bit 20 :16 rg_wf_sx_vcoc_t U RW default = 'h10 ++// Bit 24 rg_wf_sx_ldo_fc_man U RW default = 'h0 ++// Bit 28 rg_wf_sx_ldo_fc U RW default = 'h0 ++typedef union RG_SX_A1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_FCAL_SEL_P : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_WF_SX_VCOC_P : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_SX_FCAL_SEL_T : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int RG_WF_SX_VCOC_T : 5; ++ unsigned int rsvd_3 : 3; ++ unsigned int RG_WF_SX_LDO_FC_MAN : 1; ++ unsigned int rsvd_4 : 3; ++ unsigned int RG_WF_SX_LDO_FC : 1; ++ unsigned int rsvd_5 : 3; ++ } b; ++} RG_SX_A1_FIELD_T; ++ ++#define RG_SX_A2 (RF_D_SX_REG_BASE + 0x8) ++// Bit 6 :0 ro_da_wf_sx_vcoc_p U RO default = 'h0 ++// Bit 20 :16 ro_da_wf_sx_vcoc_t U RO default = 'h0 ++// Bit 24 ro_wf_sx_mxrtank_cali_ready U RO default = 'h0 ++// Bit 25 ro_wf_sx_chn_map_ready U RO default = 'h0 ++// Bit 26 ro_wf_sx_p_cali_ready U RO default = 'h0 ++// Bit 27 ro_wf_sx_a_cali_ready U RO default = 'h0 ++// Bit 28 ro_wf_sx_t_cali_ready U RO default = 'h0 ++// Bit 29 ro_ad_wf_sx_ready U RO default = 'h0 ++// Bit 31 ro_cali_end_flg U RO default = 'h0 ++typedef union RG_SX_A2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_DA_WF_SX_VCOC_P : 7; ++ unsigned int rsvd_0 : 9; ++ unsigned int RO_DA_WF_SX_VCOC_T : 5; ++ unsigned int rsvd_1 : 3; ++ unsigned int RO_WF_SX_MXRTANK_CALI_READY : 1; ++ unsigned int RO_WF_SX_CHN_MAP_READY : 1; ++ unsigned int RO_WF_SX_P_CALI_READY : 1; ++ unsigned int RO_WF_SX_A_CALI_READY : 1; ++ unsigned int RO_WF_SX_T_CALI_READY : 1; ++ unsigned int RO_AD_WF_SX_READY : 1; ++ unsigned int rsvd_2 : 1; ++ unsigned int RO_CALI_END_FLG : 1; ++ } b; ++} RG_SX_A2_FIELD_T; ++ ++#define RG_SX_A3 (RF_D_SX_REG_BASE + 0xc) ++// Bit 1 :0 rg_wf_sx_ldo_fc_waittime U RW default = 'h2 ++// Bit 5 :4 rg_wf_sx_set_code_waittime U RW default = 'h1 ++// Bit 9 :8 rg_wf_sx_fcal_cw_waittime U RW default = 'h1 ++// Bit 13 :12 rg_wf_sx_tr_wait_waittime U RW default = 'h1 ++// Bit 17 :16 rg_wf_sx_acal_vco_waittime U RW default = 'h1 ++// Bit 21 :20 rg_wf_sx_tr_switch_bnd U RW default = 'h0 ++typedef union RG_SX_A3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_LDO_FC_WAITTIME : 2; ++ unsigned int rsvd_0 : 2; ++ unsigned int RG_WF_SX_SET_CODE_WAITTIME : 2; ++ unsigned int rsvd_1 : 2; ++ unsigned int RG_WF_SX_FCAL_CW_WAITTIME : 2; ++ unsigned int rsvd_2 : 2; ++ unsigned int RG_WF_SX_TR_WAIT_WAITTIME : 2; ++ unsigned int rsvd_3 : 2; ++ unsigned int RG_WF_SX_ACAL_VCO_WAITTIME : 2; ++ unsigned int rsvd_4 : 2; ++ unsigned int RG_WF_SX_TR_SWITCH_BND : 2; ++ unsigned int rsvd_5 : 10; ++ } b; ++} RG_SX_A3_FIELD_T; ++ ++#define RG_SX_A4 (RF_D_SX_REG_BASE + 0x10) ++// Bit 0 rg_wf_sx_vco_i_man U RW default = 'h0 ++// Bit 7 :4 rg_wf_sx_vco_i U RW default = 'h8 ++// Bit 15 :8 rg_wf_sx_pd_vctrl_sel U RW default = 'h3 ++typedef union RG_SX_A4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_VCO_I_MAN : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_WF_SX_VCO_I : 4; ++ unsigned int RG_WF_SX_PD_VCTRL_SEL : 8; ++ unsigned int rsvd_1 : 16; ++ } b; ++} RG_SX_A4_FIELD_T; ++ ++#define RG_SX_A5 (RF_D_SX_REG_BASE + 0x14) ++// Bit 3 :0 ro_wf_sx_vco_i U RO default = 'h0 ++// Bit 4 ro_da_wf_sx_vco_acfinish U RO default = 'h0 ++// Bit 8 ro_ad_wf_sx_vco_alc_out U RO default = 'h0 ++// Bit 23 :16 ro_wf_sx_pt_fsm U RO default = 'h0 ++// Bit 30 :24 ro_wf_sx_top_fsm U RO default = 'h0 ++typedef union RG_SX_A5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_WF_SX_VCO_I : 4; ++ unsigned int RO_DA_WF_SX_VCO_ACFINISH : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int RO_AD_WF_SX_VCO_ALC_OUT : 1; ++ unsigned int rsvd_1 : 7; ++ unsigned int RO_WF_SX_PT_FSM : 8; ++ unsigned int RO_WF_SX_TOP_FSM : 7; ++ unsigned int rsvd_2 : 1; ++ } b; ++} RG_SX_A5_FIELD_T; ++ ++#define RG_SX_A6 (RF_D_SX_REG_BASE + 0x18) ++// Bit 0 rg_sx_pdiv_sel U RW default = 'h1 ++// Bit 7 :4 rg_sx_osc_freq U RW default = 'h3 ++// Bit 15 :8 rg_2gb_sx_channel U RW default = 'h8 ++// Bit 23 :16 rg_5gb_sx_channel U RW default = 'h64 ++// Bit 27 :24 rg_wifi_freq_mode_man U RW default = 'h0 ++// Bit 31 rg_wifi_freq_mode_man_mode U RW default = 'h0 ++typedef union RG_SX_A6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_SX_PDIV_SEL : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_SX_OSC_FREQ : 4; ++ unsigned int RG_2GB_SX_CHANNEL : 8; ++ unsigned int RG_5GB_SX_CHANNEL : 8; ++ unsigned int RG_WIFI_FREQ_MODE_MAN : 4; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_WIFI_FREQ_MODE_MAN_MODE : 1; ++ } b; ++} RG_SX_A6_FIELD_T; ++ ++#define RG_SX_A7 (RF_D_SX_REG_BASE + 0x1c) ++// Bit 0 rg_sx_rfch_man_en U RW default = 'h0 ++// Bit 14 :4 rg_wf_sx_rfctrl_int U RW default = 'h0 ++typedef union RG_SX_A7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_SX_RFCH_MAN_EN : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_WF_SX_RFCTRL_INT : 11; ++ unsigned int rsvd_1 : 17; ++ } b; ++} RG_SX_A7_FIELD_T; ++ ++#define RG_SX_A8 (RF_D_SX_REG_BASE + 0x20) ++// Bit 24 :0 rg_wf_sx_rfctrl_frac U RW default = 'h0 ++typedef union RG_SX_A8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_RFCTRL_FRAC : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_SX_A8_FIELD_T; ++ ++#define RG_SX_A9 (RF_D_SX_REG_BASE + 0x24) ++// Bit 15 :0 rg_sx_fcal_ntargt U RW default = 'h0 ++// Bit 16 rg_sx_fcal_ntargt_man U RW default = 'h0 ++typedef union RG_SX_A9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_SX_FCAL_NTARGT : 16; ++ unsigned int RG_SX_FCAL_NTARGT_MAN : 1; ++ unsigned int rsvd_0 : 15; ++ } b; ++} RG_SX_A9_FIELD_T; ++ ++#define RG_SX_A10 (RF_D_SX_REG_BASE + 0x28) ++// Bit 15 :0 ro_wf_sx_fcal_cnt U RO default = 'h0 ++// Bit 28 :16 ro_wf_sx_rf_freq_mhz U RO default = 'h0 ++typedef union RG_SX_A10_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_WF_SX_FCAL_CNT : 16; ++ unsigned int RO_WF_SX_RF_FREQ_MHZ : 13; ++ unsigned int rsvd_0 : 3; ++ } b; ++} RG_SX_A10_FIELD_T; ++ ++#define RG_SX_A11 (RF_D_SX_REG_BASE + 0x2c) ++// Bit 1 :0 rg_wf_sx_fcal_hvt U RW default = 'h1 ++// Bit 5 :4 rg_wf_sx_fcal_lvt U RW default = 'h1 ++typedef union RG_SX_A11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_FCAL_HVT : 2; ++ unsigned int rsvd_0 : 2; ++ unsigned int RG_WF_SX_FCAL_LVT : 2; ++ unsigned int rsvd_1 : 26; ++ } b; ++} RG_SX_A11_FIELD_T; ++ ++#define RG_SX_A12 (RF_D_SX_REG_BASE + 0x30) ++// Bit 10 :0 ro_sx_rfctrl_nint U RO default = 'h0 ++typedef union RG_SX_A12_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_SX_RFCTRL_NINT : 11; ++ unsigned int rsvd_0 : 21; ++ } b; ++} RG_SX_A12_FIELD_T; ++ ++#define RG_SX_A13 (RF_D_SX_REG_BASE + 0x34) ++// Bit 24 :0 ro_sx_rfctrl_nfrac U RO default = 'h0 ++typedef union RG_SX_A13_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_SX_RFCTRL_NFRAC : 25; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_SX_A13_FIELD_T; ++ ++#define RG_SX_A14 (RF_D_SX_REG_BASE + 0x38) ++// Bit 15 :0 ro_sx_fcal_ntargt U RO default = 'h0 ++typedef union RG_SX_A14_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_SX_FCAL_NTARGT : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} RG_SX_A14_FIELD_T; ++ ++#define RG_SX_A15 (RF_D_SX_REG_BASE + 0x3c) ++// Bit 6 rg_tr_switch_man U RW default = 'h0 ++// Bit 7 rg_tr_switch_val U RW default = 'h0 ++typedef union RG_SX_A15_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rsvd_0 : 6; ++ unsigned int RG_TR_SWITCH_MAN : 1; ++ unsigned int RG_TR_SWITCH_VAL : 1; ++ unsigned int rsvd_1 : 24; ++ } b; ++} RG_SX_A15_FIELD_T; ++ ++#define RG_SX_A16 (RF_D_SX_REG_BASE + 0x40) ++// Bit 2 :0 rg_wf_sx_log_pdthreshold_man U RW default = 'h7 ++// Bit 4 rg_wf_sx_log_pd_man_mode U RW default = 'h0 ++// Bit 8 rg_wf_sx_log_pdtest_en U RW default = 'h0 ++typedef union RG_SX_A16_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_LOG_PDTHRESHOLD_MAN : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_SX_LOG_PD_MAN_MODE : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_WF_SX_LOG_PDTEST_EN : 1; ++ unsigned int rsvd_2 : 23; ++ } b; ++} RG_SX_A16_FIELD_T; ++ ++#define RG_SX_A17 (RF_D_SX_REG_BASE + 0x44) ++// Bit 3 :0 rg_wf_sx_log5g_mxr_banksel_man0 U RW default = 'he ++// Bit 7 :4 rg_wf_sx_log5g_mxr_banksel_man1 U RW default = 'hd ++// Bit 11 :8 rg_wf_sx_log5g_mxr_banksel_man2 U RW default = 'hc ++// Bit 15 :12 rg_wf_sx_log5g_mxr_banksel_man3 U RW default = 'hb ++// Bit 19 :16 rg_wf_sx_log5g_mxr_banksel_man4 U RW default = 'ha ++// Bit 23 :20 rg_wf_sx_log5g_mxr_banksel_man5 U RW default = 'h9 ++// Bit 27 :24 rg_wf_sx_log5g_mxr_banksel_man6 U RW default = 'h8 ++// Bit 31 :28 rg_wf_sx_log5g_mxr_banksel_man7 U RW default = 'h7 ++typedef union RG_SX_A17_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN0 : 4; ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN1 : 4; ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN2 : 4; ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN3 : 4; ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN4 : 4; ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN5 : 4; ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN6 : 4; ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN7 : 4; ++ } b; ++} RG_SX_A17_FIELD_T; ++ ++#define RG_SX_A18 (RF_D_SX_REG_BASE + 0x48) ++// Bit 3 :0 rg_wf_sx_log5g_mxr_banksel_man8 U RW default = 'h6 ++// Bit 7 :4 rg_wf_sx_log5g_mxr_banksel_man9 U RW default = 'h4 ++// Bit 11 :8 rg_wf_sx_log2g_mxr_banksel_man U RW default = 'h6 ++typedef union RG_SX_A18_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN8 : 4; ++ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN9 : 4; ++ unsigned int RG_WF_SX_LOG2G_MXR_BANKSEL_MAN : 4; ++ unsigned int rsvd_0 : 20; ++ } b; ++} RG_SX_A18_FIELD_T; ++ ++#define RG_SX_A20 (RF_D_SX_REG_BASE + 0x50) ++// Bit 3 :0 ro_wf_sx_log5g_mxr_banksel_0 U RO default = 'h0 ++// Bit 7 :4 ro_wf_sx_log5g_mxr_banksel_1 U RO default = 'h0 ++// Bit 11 :8 ro_wf_sx_log5g_mxr_banksel_2 U RO default = 'h0 ++// Bit 15 :12 ro_wf_sx_log5g_mxr_banksel_3 U RO default = 'h0 ++// Bit 19 :16 ro_wf_sx_log5g_mxr_banksel_4 U RO default = 'h0 ++// Bit 23 :20 ro_wf_sx_log5g_mxr_banksel_5 U RO default = 'h0 ++// Bit 27 :24 ro_wf_sx_log5g_mxr_banksel_6 U RO default = 'h0 ++// Bit 31 :28 ro_wf_sx_log5g_mxr_banksel_7 U RO default = 'h0 ++typedef union RG_SX_A20_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_0 : 4; ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_1 : 4; ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_2 : 4; ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_3 : 4; ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_4 : 4; ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_5 : 4; ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_6 : 4; ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_7 : 4; ++ } b; ++} RG_SX_A20_FIELD_T; ++ ++#define RG_SX_A21 (RF_D_SX_REG_BASE + 0x54) ++// Bit 3 :0 ro_wf_sx_log5g_mxr_banksel_8 U RO default = 'h0 ++// Bit 7 :4 ro_wf_sx_log5g_mxr_banksel_9 U RO default = 'h0 ++// Bit 11 :8 ro_wf_sx_log2g_mxr_banksel U RO default = 'h0 ++typedef union RG_SX_A21_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_8 : 4; ++ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_9 : 4; ++ unsigned int RO_WF_SX_LOG2G_MXR_BANKSEL : 4; ++ unsigned int rsvd_0 : 20; ++ } b; ++} RG_SX_A21_FIELD_T; ++ ++#define RG_SX_A23 (RF_D_SX_REG_BASE + 0x5c) ++// Bit 0 rg_m0_wf_sx_vco_en U RW default = 'h0 ++// Bit 1 rg_m0_wf_sx_vco_acal_en U RW default = 'h0 ++// Bit 2 rg_m0_wf_sx_pfd_en U RW default = 'h0 ++// Bit 3 rg_m0_wf_sx_cp_en U RW default = 'h0 ++// Bit 4 rg_m0_wf_sx_vco_ldo_en U RW default = 'h0 ++// Bit 5 rg_m0_wf_sx_cp_ldo_en U RW default = 'h0 ++// Bit 6 rg_m0_wf_sx_lpf_comp_en U RW default = 'h0 ++// Bit 7 rg_m0_wf_sx_log5g_mxr_en U RW default = 'h0 ++// Bit 8 rg_m0_wf_sx_log5g_inv_en U RW default = 'h0 ++// Bit 9 rg_m0_wf_sx_log5g_div_en U RW default = 'h0 ++// Bit 10 rg_m0_wf_sx_log5g_iqdiv_en U RW default = 'h0 ++// Bit 11 rg_m0_wf_sx_log5g_rxlo_en U RW default = 'h0 ++// Bit 12 rg_m0_wf_sx_log5g_dpdlo_en U RW default = 'h0 ++// Bit 13 rg_m0_wf_sx_log5g_txlo_en U RW default = 'h0 ++// Bit 14 rg_m0_wf_sx_log2g_mxr_en U RW default = 'h0 ++// Bit 15 rg_m0_wf_sx_log2g_div_en U RW default = 'h0 ++// Bit 16 rg_m0_wf_sx_log2g_iqdiv_en U RW default = 'h0 ++// Bit 17 rg_m0_wf_sx_log2g_rxlo_en U RW default = 'h0 ++// Bit 18 rg_m0_wf_sx_log2g_dpdlo_en U RW default = 'h0 ++// Bit 19 rg_m0_wf_sx_log2g_txlo_en U RW default = 'h0 ++typedef union RG_SX_A23_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M0_WF_SX_VCO_EN : 1; ++ unsigned int RG_M0_WF_SX_VCO_ACAL_EN : 1; ++ unsigned int RG_M0_WF_SX_PFD_EN : 1; ++ unsigned int RG_M0_WF_SX_CP_EN : 1; ++ unsigned int RG_M0_WF_SX_VCO_LDO_EN : 1; ++ unsigned int RG_M0_WF_SX_CP_LDO_EN : 1; ++ unsigned int RG_M0_WF_SX_LPF_COMP_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG5G_MXR_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG5G_INV_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG5G_DIV_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG5G_IQDIV_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG5G_RXLO_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG5G_DPDLO_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG5G_TXLO_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG2G_MXR_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG2G_DIV_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG2G_IQDIV_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG2G_RXLO_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG2G_DPDLO_EN : 1; ++ unsigned int RG_M0_WF_SX_LOG2G_TXLO_EN : 1; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_SX_A23_FIELD_T; ++ ++#define RG_SX_A24 (RF_D_SX_REG_BASE + 0x60) ++// Bit 0 rg_m1_wf_sx_vco_en U RW default = 'h1 ++// Bit 1 rg_m1_wf_sx_vco_acal_en U RW default = 'h1 ++// Bit 2 rg_m1_wf_sx_pfd_en U RW default = 'h1 ++// Bit 3 rg_m1_wf_sx_cp_en U RW default = 'h1 ++// Bit 4 rg_m1_wf_sx_vco_ldo_en U RW default = 'h1 ++// Bit 5 rg_m1_wf_sx_cp_ldo_en U RW default = 'h1 ++// Bit 6 rg_m1_wf_sx_lpf_comp_en U RW default = 'h1 ++// Bit 7 rg_m1_wf_sx_log5g_mxr_en U RW default = 'h1 ++// Bit 8 rg_m1_wf_sx_log5g_inv_en U RW default = 'h1 ++// Bit 9 rg_m1_wf_sx_log5g_div_en U RW default = 'h1 ++// Bit 10 rg_m1_wf_sx_log5g_iqdiv_en U RW default = 'h1 ++// Bit 11 rg_m1_wf_sx_log5g_rxlo_en U RW default = 'h0 ++// Bit 12 rg_m1_wf_sx_log5g_dpdlo_en U RW default = 'h0 ++// Bit 13 rg_m1_wf_sx_log5g_txlo_en U RW default = 'h0 ++// Bit 14 rg_m1_wf_sx_log2g_mxr_en U RW default = 'h0 ++// Bit 15 rg_m1_wf_sx_log2g_div_en U RW default = 'h0 ++// Bit 16 rg_m1_wf_sx_log2g_iqdiv_en U RW default = 'h0 ++// Bit 17 rg_m1_wf_sx_log2g_rxlo_en U RW default = 'h0 ++// Bit 18 rg_m1_wf_sx_log2g_dpdlo_en U RW default = 'h0 ++// Bit 19 rg_m1_wf_sx_log2g_txlo_en U RW default = 'h0 ++typedef union RG_SX_A24_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M1_WF_SX_VCO_EN : 1; ++ unsigned int RG_M1_WF_SX_VCO_ACAL_EN : 1; ++ unsigned int RG_M1_WF_SX_PFD_EN : 1; ++ unsigned int RG_M1_WF_SX_CP_EN : 1; ++ unsigned int RG_M1_WF_SX_VCO_LDO_EN : 1; ++ unsigned int RG_M1_WF_SX_CP_LDO_EN : 1; ++ unsigned int RG_M1_WF_SX_LPF_COMP_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG5G_MXR_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG5G_INV_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG5G_DIV_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG5G_IQDIV_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG5G_RXLO_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG5G_DPDLO_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG5G_TXLO_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG2G_MXR_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG2G_DIV_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG2G_IQDIV_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG2G_RXLO_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG2G_DPDLO_EN : 1; ++ unsigned int RG_M1_WF_SX_LOG2G_TXLO_EN : 1; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_SX_A24_FIELD_T; ++ ++#define RG_SX_A25 (RF_D_SX_REG_BASE + 0x64) ++// Bit 0 rg_m2_wf_sx_vco_en U RW default = 'h1 ++// Bit 1 rg_m2_wf_sx_vco_acal_en U RW default = 'h1 ++// Bit 2 rg_m2_wf_sx_pfd_en U RW default = 'h1 ++// Bit 3 rg_m2_wf_sx_cp_en U RW default = 'h1 ++// Bit 4 rg_m2_wf_sx_vco_ldo_en U RW default = 'h1 ++// Bit 5 rg_m2_wf_sx_cp_ldo_en U RW default = 'h1 ++// Bit 6 rg_m2_wf_sx_lpf_comp_en U RW default = 'h1 ++// Bit 7 rg_m2_wf_sx_log5g_mxr_en U RW default = 'h1 ++// Bit 8 rg_m2_wf_sx_log5g_inv_en U RW default = 'h1 ++// Bit 9 rg_m2_wf_sx_log5g_div_en U RW default = 'h1 ++// Bit 10 rg_m2_wf_sx_log5g_iqdiv_en U RW default = 'h1 ++// Bit 11 rg_m2_wf_sx_log5g_rxlo_en U RW default = 'h0 ++// Bit 12 rg_m2_wf_sx_log5g_dpdlo_en U RW default = 'h0 ++// Bit 13 rg_m2_wf_sx_log5g_txlo_en U RW default = 'h1 ++// Bit 14 rg_m2_wf_sx_log2g_mxr_en U RW default = 'h0 ++// Bit 15 rg_m2_wf_sx_log2g_div_en U RW default = 'h0 ++// Bit 16 rg_m2_wf_sx_log2g_iqdiv_en U RW default = 'h0 ++// Bit 17 rg_m2_wf_sx_log2g_rxlo_en U RW default = 'h0 ++// Bit 18 rg_m2_wf_sx_log2g_dpdlo_en U RW default = 'h0 ++// Bit 19 rg_m2_wf_sx_log2g_txlo_en U RW default = 'h1 ++typedef union RG_SX_A25_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M2_WF_SX_VCO_EN : 1; ++ unsigned int RG_M2_WF_SX_VCO_ACAL_EN : 1; ++ unsigned int RG_M2_WF_SX_PFD_EN : 1; ++ unsigned int RG_M2_WF_SX_CP_EN : 1; ++ unsigned int RG_M2_WF_SX_VCO_LDO_EN : 1; ++ unsigned int RG_M2_WF_SX_CP_LDO_EN : 1; ++ unsigned int RG_M2_WF_SX_LPF_COMP_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG5G_MXR_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG5G_INV_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG5G_DIV_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG5G_IQDIV_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG5G_RXLO_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG5G_DPDLO_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG5G_TXLO_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG2G_MXR_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG2G_DIV_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG2G_IQDIV_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG2G_RXLO_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG2G_DPDLO_EN : 1; ++ unsigned int RG_M2_WF_SX_LOG2G_TXLO_EN : 1; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_SX_A25_FIELD_T; ++ ++#define RG_SX_A26 (RF_D_SX_REG_BASE + 0x68) ++// Bit 0 rg_m3_wf_sx_vco_en U RW default = 'h1 ++// Bit 1 rg_m3_wf_sx_vco_acal_en U RW default = 'h1 ++// Bit 2 rg_m3_wf_sx_pfd_en U RW default = 'h1 ++// Bit 3 rg_m3_wf_sx_cp_en U RW default = 'h1 ++// Bit 4 rg_m3_wf_sx_vco_ldo_en U RW default = 'h1 ++// Bit 5 rg_m3_wf_sx_cp_ldo_en U RW default = 'h1 ++// Bit 6 rg_m3_wf_sx_lpf_comp_en U RW default = 'h1 ++// Bit 7 rg_m3_wf_sx_log5g_mxr_en U RW default = 'h1 ++// Bit 8 rg_m3_wf_sx_log5g_inv_en U RW default = 'h1 ++// Bit 9 rg_m3_wf_sx_log5g_div_en U RW default = 'h1 ++// Bit 10 rg_m3_wf_sx_log5g_iqdiv_en U RW default = 'h1 ++// Bit 11 rg_m3_wf_sx_log5g_rxlo_en U RW default = 'h1 ++// Bit 12 rg_m3_wf_sx_log5g_dpdlo_en U RW default = 'h0 ++// Bit 13 rg_m3_wf_sx_log5g_txlo_en U RW default = 'h0 ++// Bit 14 rg_m3_wf_sx_log2g_mxr_en U RW default = 'h0 ++// Bit 15 rg_m3_wf_sx_log2g_div_en U RW default = 'h0 ++// Bit 16 rg_m3_wf_sx_log2g_iqdiv_en U RW default = 'h0 ++// Bit 17 rg_m3_wf_sx_log2g_rxlo_en U RW default = 'h0 ++// Bit 18 rg_m3_wf_sx_log2g_dpdlo_en U RW default = 'h0 ++// Bit 19 rg_m3_wf_sx_log2g_txlo_en U RW default = 'h0 ++typedef union RG_SX_A26_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M3_WF_SX_VCO_EN : 1; ++ unsigned int RG_M3_WF_SX_VCO_ACAL_EN : 1; ++ unsigned int RG_M3_WF_SX_PFD_EN : 1; ++ unsigned int RG_M3_WF_SX_CP_EN : 1; ++ unsigned int RG_M3_WF_SX_VCO_LDO_EN : 1; ++ unsigned int RG_M3_WF_SX_CP_LDO_EN : 1; ++ unsigned int RG_M3_WF_SX_LPF_COMP_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG5G_MXR_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG5G_INV_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG5G_DIV_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG5G_IQDIV_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG5G_RXLO_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG5G_DPDLO_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG5G_TXLO_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG2G_MXR_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG2G_DIV_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG2G_IQDIV_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG2G_RXLO_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG2G_DPDLO_EN : 1; ++ unsigned int RG_M3_WF_SX_LOG2G_TXLO_EN : 1; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_SX_A26_FIELD_T; ++ ++#define RG_SX_A27 (RF_D_SX_REG_BASE + 0x6c) ++// Bit 31 :0 rg_wf_sx_dig_rsv0 U RW default = 'hffff ++typedef union RG_SX_A27_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_DIG_RSV0 : 32; ++ } b; ++} RG_SX_A27_FIELD_T; ++ ++#define RG_SX_A32 (RF_D_SX_REG_BASE + 0x80) ++// Bit 2 :0 rg_wf_sx_lpf_bw U RW default = 'h7 ++// Bit 5 :4 rg_wf_sx_pfd_delay U RW default = 'h0 ++// Bit 10 :8 rg_wf_sx_cp_offset U RW default = 'h5 ++// Bit 13 :12 rg_wf_sx_stable_cnt U RW default = 'h0 ++// Bit 16 rg_wf_sx_stable_en_man_mode U RW default = 'h0 ++// Bit 20 rg_wf_sx_stable_en_man U RW default = 'h0 ++typedef union RG_SX_A32_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_LPF_BW : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_SX_PFD_DELAY : 2; ++ unsigned int rsvd_1 : 2; ++ unsigned int RG_WF_SX_CP_OFFSET : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF_SX_STABLE_CNT : 2; ++ unsigned int rsvd_3 : 2; ++ unsigned int RG_WF_SX_STABLE_EN_MAN_MODE : 1; ++ unsigned int rsvd_4 : 3; ++ unsigned int RG_WF_SX_STABLE_EN_MAN : 1; ++ unsigned int rsvd_5 : 11; ++ } b; ++} RG_SX_A32_FIELD_T; ++ ++#define RG_SX_A34 (RF_D_SX_REG_BASE + 0x88) ++// Bit 8 :4 rg_wf_sx_vco_ldo_vref_adj U RW default = 'h14 ++// Bit 20 :16 rg_wf_sx_cp_ldo_vref_adj U RW default = 'h10 ++typedef union RG_SX_A34_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rsvd_0 : 4; ++ unsigned int RG_WF_SX_VCO_LDO_VREF_ADJ : 5; ++ unsigned int rsvd_1 : 7; ++ unsigned int RG_WF_SX_CP_LDO_VREF_ADJ : 5; ++ unsigned int rsvd_2 : 11; ++ } b; ++} RG_SX_A34_FIELD_T; ++ ++#define RG_SX_A35 (RF_D_SX_REG_BASE + 0x8c) ++// Bit 2 :0 rg_wf_sx_cp_i U RW default = 'h5 ++// Bit 4 :3 rg_wf_sx_pfd_lock_t U RW default = 'h0 ++// Bit 5 rg_wf_sx_pfd_ph_en U RW default = 'h1 ++// Bit 6 rg_wf_sx_pfd_sel U RW default = 'h0 ++// Bit 8 rg_wf_sx_mmd_pw_en U RW default = 'h1 ++// Bit 9 rg_wf_sx_cp_bypass_mode U RW default = 'h0 ++// Bit 10 rg_wf_sx_lpf_bypass_mode U RW default = 'h0 ++// Bit 11 rg_wf_sx_lpf_resample_mode U RW default = 'h1 ++// Bit 12 rg_wf_sx_cp_cali_ctrl U RW default = 'h0 ++// Bit 13 rg_wf_sx_lpf_cali_ctrl U RW default = 'h0 ++// Bit 14 rg_wf_sx_cp_rc_ctrl U RW default = 'h0 ++// Bit 15 rg_wf_sx_ldo_hf_rc_ctrl U RW default = 'h1 ++// Bit 16 rg_wf_sx_ldo_hf_rc_modesel U RW default = 'h0 ++// Bit 17 rg_wf_sx_ldo_lf_rc_ctrl U RW default = 'h1 ++// Bit 18 rg_wf_sx_ldo_lf_rc_modesel U RW default = 'h0 ++// Bit 19 rg_wf_sx_pll_rst_man U RW default = 'h0 ++// Bit 20 rg_wf_sx_pll_rst_man_val U RW default = 'h0 ++// Bit 22 :21 rg_wf_sx_vctrl_sel U RW default = 'h0 ++// Bit 24 :23 rg_wf_sx_vco_var_dc U RW default = 'h3 ++// Bit 25 rg_wf_sx_fcal_div U RW default = 'h1 ++// Bit 27 :26 rg_wf_sx_vco_2nd_capn U RW default = 'h1 ++// Bit 29 :28 rg_wf_sx_vco_2nd_capp U RW default = 'h1 ++// Bit 30 rg_sx_vco_lpf_testmode U RW default = 'h0 ++typedef union RG_SX_A35_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_CP_I : 3; ++ unsigned int RG_WF_SX_PFD_LOCK_T : 2; ++ unsigned int RG_WF_SX_PFD_PH_EN : 1; ++ unsigned int RG_WF_SX_PFD_SEL : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_SX_MMD_PW_EN : 1; ++ unsigned int RG_WF_SX_CP_BYPASS_MODE : 1; ++ unsigned int RG_WF_SX_LPF_BYPASS_MODE : 1; ++ unsigned int RG_WF_SX_LPF_RESAMPLE_MODE : 1; ++ unsigned int RG_WF_SX_CP_CALI_CTRL : 1; ++ unsigned int RG_WF_SX_LPF_CALI_CTRL : 1; ++ unsigned int RG_WF_SX_CP_RC_CTRL : 1; ++ unsigned int RG_WF_SX_LDO_HF_RC_CTRL : 1; ++ unsigned int RG_WF_SX_LDO_HF_RC_MODESEL : 1; ++ unsigned int RG_WF_SX_LDO_LF_RC_CTRL : 1; ++ unsigned int RG_WF_SX_LDO_LF_RC_MODESEL : 1; ++ unsigned int RG_WF_SX_PLL_RST_MAN : 1; ++ unsigned int RG_WF_SX_PLL_RST_MAN_VAL : 1; ++ unsigned int RG_WF_SX_VCTRL_SEL : 2; ++ unsigned int RG_WF_SX_VCO_VAR_DC : 2; ++ unsigned int RG_WF_SX_FCAL_DIV : 1; ++ unsigned int RG_WF_SX_VCO_2ND_CAPN : 2; ++ unsigned int RG_WF_SX_VCO_2ND_CAPP : 2; ++ unsigned int RG_SX_VCO_LPF_TESTMODE : 1; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_SX_A35_FIELD_T; ++ ++#define RG_SX_A36 (RF_D_SX_REG_BASE + 0x90) ++// Bit 0 rg_wf_sx_log5g_pd_en_man U RW default = 'h0 ++// Bit 4 rg_wf_sx_log2g_pd_en_man U RW default = 'h0 ++// Bit 11 :8 rg_wf_sx_log5g_mxr_ictrl U RW default = 'ha ++// Bit 15 :12 rg_wf_sx_log5g_div_vdd U RW default = 'h1 ++// Bit 31 rg_wf_sx_log5g_reserve1 U RW default = 'h0 ++typedef union RG_SX_A36_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_LOG5G_PD_EN_MAN : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int RG_WF_SX_LOG2G_PD_EN_MAN : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int RG_WF_SX_LOG5G_MXR_ICTRL : 4; ++ unsigned int RG_WF_SX_LOG5G_DIV_VDD : 4; ++ unsigned int rsvd_2 : 15; ++ unsigned int RG_WF_SX_LOG5G_RESERVE1 : 1; ++ } b; ++} RG_SX_A36_FIELD_T; ++ ++#define RG_SX_A37 (RF_D_SX_REG_BASE + 0x94) ++// Bit 3 :0 rg_wf_sx_log5g_rxlo_vdd U RW default = 'h7 ++// Bit 7 :4 rg_wf_sx_log5g_dpdlo_vdd U RW default = 'h7 ++// Bit 11 :8 rg_wf_sx_log5g_txlo_vdd U RW default = 'h7 ++// Bit 15 :12 rg_wf_sx_log5g_iqdiv_rctrl U RW default = 'h0 ++// Bit 20 :16 rg_wf_sx_log5g_iqdiv_ictrl U RW default = 'h6 ++typedef union RG_SX_A37_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_LOG5G_RXLO_VDD : 4; ++ unsigned int RG_WF_SX_LOG5G_DPDLO_VDD : 4; ++ unsigned int RG_WF_SX_LOG5G_TXLO_VDD : 4; ++ unsigned int RG_WF_SX_LOG5G_IQDIV_RCTRL : 4; ++ unsigned int RG_WF_SX_LOG5G_IQDIV_ICTRL : 5; ++ unsigned int rsvd_0 : 11; ++ } b; ++} RG_SX_A37_FIELD_T; ++ ++#define RG_SX_A38 (RF_D_SX_REG_BASE + 0x98) ++// Bit 3 :0 rg_wf_sx_log2g_mxr_vdd U RW default = 'hf ++// Bit 7 :4 rg_wf_sx_log2g_div_vdd U RW default = 'h1 ++// Bit 11 :8 rg_wf_sx_log2g_iqdiv_vdd U RW default = 'h1 ++// Bit 15 :12 rg_wf_sx_log2g_rxlo_vdd U RW default = 'h4 ++// Bit 19 :16 rg_wf_sx_log2g_dpdlo_vdd U RW default = 'h4 ++// Bit 23 :20 rg_wf_sx_log2g_txlo_vdd U RW default = 'h4 ++typedef union RG_SX_A38_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_LOG2G_MXR_VDD : 4; ++ unsigned int RG_WF_SX_LOG2G_DIV_VDD : 4; ++ unsigned int RG_WF_SX_LOG2G_IQDIV_VDD : 4; ++ unsigned int RG_WF_SX_LOG2G_RXLO_VDD : 4; ++ unsigned int RG_WF_SX_LOG2G_DPDLO_VDD : 4; ++ unsigned int RG_WF_SX_LOG2G_TXLO_VDD : 4; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_SX_A38_FIELD_T; ++ ++#define RG_SX_A42 (RF_D_SX_REG_BASE + 0xa8) ++// Bit 31 :0 rg_wf_sx_rsv0 U RW default = 'hfffb ++typedef union RG_SX_A42_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_RSV0 : 32; ++ } b; ++} RG_SX_A42_FIELD_T; ++ ++#define RG_SX_A43 (RF_D_SX_REG_BASE + 0xac) ++// Bit 31 :0 rg_wf_sx_rsv1 U RW default = 'hffff ++typedef union RG_SX_A43_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_RSV1 : 32; ++ } b; ++} RG_SX_A43_FIELD_T; ++ ++#define RG_SX_A44 (RF_D_SX_REG_BASE + 0xb0) ++// Bit 0 rg_wf_sx_double_edge_sel U RW default = 'h0 ++// Bit 1 rg_wf_sx_double_bypass_mode U RW default = 'h1 ++// Bit 2 rg_wf_sx_double_dig_loop_en U RW default = 'h0 ++// Bit 3 rg_wf_sx_double_ana_loop_en U RW default = 'h0 ++// Bit 4 rg_wf_sx_double_half_lsb_ctrl U RW default = 'h0 ++// Bit 5 rg_wf_sx_double_half_lsb_sel U RW default = 'h1 ++// Bit 6 rg_wf_sx_double_post_delay_en U RW default = 'h1 ++// Bit 7 rg_wf_sx_double_pre_delay_en U RW default = 'h1 ++// Bit 8 rg_wf_sx_double_op_en U RW default = 'h1 ++// Bit 11 :9 rg_wf_sx_double_vref_sel U RW default = 'h4 ++// Bit 19 :12 rg_wf_sx_double_reserved U RW default = 'h0 ++// Bit 21 rg_wf_sx_double_rst_man_mode U RW default = 'h0 ++// Bit 22 rg_wf_sx_double_rst_man U RW default = 'h0 ++// Bit 23 rg_wf_sx_double_tune_man_mode U RW default = 'h0 ++// Bit 30 :24 rg_wf_sx_double_tune_man U RW default = 'h0 ++typedef union RG_SX_A44_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_DOUBLE_EDGE_SEL : 1; ++ unsigned int RG_WF_SX_DOUBLE_BYPASS_MODE : 1; ++ unsigned int RG_WF_SX_DOUBLE_DIG_LOOP_EN : 1; ++ unsigned int RG_WF_SX_DOUBLE_ANA_LOOP_EN : 1; ++ unsigned int RG_WF_SX_DOUBLE_HALF_LSB_CTRL : 1; ++ unsigned int RG_WF_SX_DOUBLE_HALF_LSB_SEL : 1; ++ unsigned int RG_WF_SX_DOUBLE_POST_DELAY_EN : 1; ++ unsigned int RG_WF_SX_DOUBLE_PRE_DELAY_EN : 1; ++ unsigned int RG_WF_SX_DOUBLE_OP_EN : 1; ++ unsigned int RG_WF_SX_DOUBLE_VREF_SEL : 3; ++ unsigned int RG_WF_SX_DOUBLE_RESERVED : 8; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_SX_DOUBLE_RST_MAN_MODE : 1; ++ unsigned int RG_WF_SX_DOUBLE_RST_MAN : 1; ++ unsigned int RG_WF_SX_DOUBLE_TUNE_MAN_MODE : 1; ++ unsigned int RG_WF_SX_DOUBLE_TUNE_MAN : 7; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_SX_A44_FIELD_T; ++ ++#define RG_SX_A45 (RF_D_SX_REG_BASE + 0xb4) ++// Bit 0 rg_wf_sx_open_drain_tp_en U RW default = 'h0 ++// Bit 1 rg_wf_sx_vco_vctrl_tp_sel U RW default = 'h0 ++// Bit 2 rg_wf_sx_tp_en U RW default = 'h0 ++// Bit 5 :3 rg_wf_sx_tp_sel U RW default = 'h4 ++// Bit 6 rg_wf_sx_fb_clk_edge_sel U RW default = 'h0 ++// Bit 7 rg_wf_sx_clk_edge_sel U RW default = 'h0 ++// Bit 8 rg_wf_sx_double_cali_en U RW default = 'h0 ++// Bit 9 rg_wf_sx_double_en U RW default = 'h0 ++// Bit 13 :12 rg_wf_sx_double_waittime_25u U RW default = 'h0 ++// Bit 15 :14 rg_wf_sx_double_waittime_40u U RW default = 'h0 ++// Bit 23 :16 rg_wf_sx_double_check_code_cnt U RW default = 'h80 ++// Bit 31 rg_wf_sx_double_duty_flag_sel U RW default = 'h0 ++typedef union RG_SX_A45_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_SX_OPEN_DRAIN_TP_EN : 1; ++ unsigned int RG_WF_SX_VCO_VCTRL_TP_SEL : 1; ++ unsigned int RG_WF_SX_TP_EN : 1; ++ unsigned int RG_WF_SX_TP_SEL : 3; ++ unsigned int RG_WF_SX_FB_CLK_EDGE_SEL : 1; ++ unsigned int RG_WF_SX_CLK_EDGE_SEL : 1; ++ unsigned int RG_WF_SX_DOUBLE_CALI_EN : 1; ++ unsigned int RG_WF_SX_DOUBLE_EN : 1; ++ unsigned int rsvd_0 : 2; ++ unsigned int RG_WF_SX_DOUBLE_WAITTIME_25U : 2; ++ unsigned int RG_WF_SX_DOUBLE_WAITTIME_40U : 2; ++ unsigned int RG_WF_SX_DOUBLE_CHECK_CODE_CNT : 8; ++ unsigned int rsvd_1 : 7; ++ unsigned int RG_WF_SX_DOUBLE_DUTY_FLAG_SEL : 1; ++ } b; ++} RG_SX_A45_FIELD_T; ++ ++#define RG_SX_A46 (RF_D_SX_REG_BASE + 0xb8) ++// Bit 0 rg_m4_wf_sx_vco_en U RW default = 'h1 ++// Bit 1 rg_m4_wf_sx_vco_acal_en U RW default = 'h1 ++// Bit 2 rg_m4_wf_sx_pfd_en U RW default = 'h1 ++// Bit 3 rg_m4_wf_sx_cp_en U RW default = 'h1 ++// Bit 4 rg_m4_wf_sx_vco_ldo_en U RW default = 'h1 ++// Bit 5 rg_m4_wf_sx_cp_ldo_en U RW default = 'h1 ++// Bit 6 rg_m4_wf_sx_lpf_comp_en U RW default = 'h1 ++// Bit 7 rg_m4_wf_sx_log5g_mxr_en U RW default = 'h1 ++// Bit 8 rg_m4_wf_sx_log5g_inv_en U RW default = 'h1 ++// Bit 9 rg_m4_wf_sx_log5g_div_en U RW default = 'h1 ++// Bit 10 rg_m4_wf_sx_log5g_iqdiv_en U RW default = 'h1 ++// Bit 11 rg_m4_wf_sx_log5g_rxlo_en U RW default = 'h0 ++// Bit 12 rg_m4_wf_sx_log5g_dpdlo_en U RW default = 'h1 ++// Bit 13 rg_m4_wf_sx_log5g_txlo_en U RW default = 'h1 ++// Bit 14 rg_m4_wf_sx_log2g_mxr_en U RW default = 'h0 ++// Bit 15 rg_m4_wf_sx_log2g_div_en U RW default = 'h0 ++// Bit 16 rg_m4_wf_sx_log2g_iqdiv_en U RW default = 'h0 ++// Bit 17 rg_m4_wf_sx_log2g_rxlo_en U RW default = 'h0 ++// Bit 18 rg_m4_wf_sx_log2g_dpdlo_en U RW default = 'h0 ++// Bit 19 rg_m4_wf_sx_log2g_txlo_en U RW default = 'h0 ++typedef union RG_SX_A46_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M4_WF_SX_VCO_EN : 1; ++ unsigned int RG_M4_WF_SX_VCO_ACAL_EN : 1; ++ unsigned int RG_M4_WF_SX_PFD_EN : 1; ++ unsigned int RG_M4_WF_SX_CP_EN : 1; ++ unsigned int RG_M4_WF_SX_VCO_LDO_EN : 1; ++ unsigned int RG_M4_WF_SX_CP_LDO_EN : 1; ++ unsigned int RG_M4_WF_SX_LPF_COMP_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG5G_MXR_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG5G_INV_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG5G_DIV_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG5G_IQDIV_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG5G_RXLO_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG5G_DPDLO_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG5G_TXLO_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG2G_MXR_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG2G_DIV_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG2G_IQDIV_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG2G_RXLO_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG2G_DPDLO_EN : 1; ++ unsigned int RG_M4_WF_SX_LOG2G_TXLO_EN : 1; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_SX_A46_FIELD_T; ++ ++#define RG_SX_A47 (RF_D_SX_REG_BASE + 0xbc) ++// Bit 0 rg_m5_wf_sx_vco_en U RW default = 'h1 ++// Bit 1 rg_m5_wf_sx_vco_acal_en U RW default = 'h1 ++// Bit 2 rg_m5_wf_sx_pfd_en U RW default = 'h1 ++// Bit 3 rg_m5_wf_sx_cp_en U RW default = 'h1 ++// Bit 4 rg_m5_wf_sx_vco_ldo_en U RW default = 'h1 ++// Bit 5 rg_m5_wf_sx_cp_ldo_en U RW default = 'h1 ++// Bit 6 rg_m5_wf_sx_lpf_comp_en U RW default = 'h1 ++// Bit 7 rg_m5_wf_sx_log5g_mxr_en U RW default = 'h0 ++// Bit 8 rg_m5_wf_sx_log5g_inv_en U RW default = 'h0 ++// Bit 9 rg_m5_wf_sx_log5g_div_en U RW default = 'h0 ++// Bit 10 rg_m5_wf_sx_log5g_iqdiv_en U RW default = 'h0 ++// Bit 11 rg_m5_wf_sx_log5g_rxlo_en U RW default = 'h0 ++// Bit 12 rg_m5_wf_sx_log5g_dpdlo_en U RW default = 'h0 ++// Bit 13 rg_m5_wf_sx_log5g_txlo_en U RW default = 'h0 ++// Bit 14 rg_m5_wf_sx_log2g_mxr_en U RW default = 'h1 ++// Bit 15 rg_m5_wf_sx_log2g_div_en U RW default = 'h1 ++// Bit 16 rg_m5_wf_sx_log2g_iqdiv_en U RW default = 'h1 ++// Bit 17 rg_m5_wf_sx_log2g_rxlo_en U RW default = 'h0 ++// Bit 18 rg_m5_wf_sx_log2g_dpdlo_en U RW default = 'h0 ++// Bit 19 rg_m5_wf_sx_log2g_txlo_en U RW default = 'h0 ++typedef union RG_SX_A47_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M5_WF_SX_VCO_EN : 1; ++ unsigned int RG_M5_WF_SX_VCO_ACAL_EN : 1; ++ unsigned int RG_M5_WF_SX_PFD_EN : 1; ++ unsigned int RG_M5_WF_SX_CP_EN : 1; ++ unsigned int RG_M5_WF_SX_VCO_LDO_EN : 1; ++ unsigned int RG_M5_WF_SX_CP_LDO_EN : 1; ++ unsigned int RG_M5_WF_SX_LPF_COMP_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG5G_MXR_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG5G_INV_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG5G_DIV_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG5G_IQDIV_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG5G_RXLO_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG5G_DPDLO_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG5G_TXLO_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG2G_MXR_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG2G_DIV_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG2G_IQDIV_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG2G_RXLO_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG2G_DPDLO_EN : 1; ++ unsigned int RG_M5_WF_SX_LOG2G_TXLO_EN : 1; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_SX_A47_FIELD_T; ++ ++#define RG_SX_A48 (RF_D_SX_REG_BASE + 0xc0) ++// Bit 0 rg_m6_wf_sx_vco_en U RW default = 'h1 ++// Bit 1 rg_m6_wf_sx_vco_acal_en U RW default = 'h1 ++// Bit 2 rg_m6_wf_sx_pfd_en U RW default = 'h1 ++// Bit 3 rg_m6_wf_sx_cp_en U RW default = 'h1 ++// Bit 4 rg_m6_wf_sx_vco_ldo_en U RW default = 'h1 ++// Bit 5 rg_m6_wf_sx_cp_ldo_en U RW default = 'h1 ++// Bit 6 rg_m6_wf_sx_lpf_comp_en U RW default = 'h1 ++// Bit 7 rg_m6_wf_sx_log5g_mxr_en U RW default = 'h0 ++// Bit 8 rg_m6_wf_sx_log5g_inv_en U RW default = 'h0 ++// Bit 9 rg_m6_wf_sx_log5g_div_en U RW default = 'h0 ++// Bit 10 rg_m6_wf_sx_log5g_iqdiv_en U RW default = 'h0 ++// Bit 11 rg_m6_wf_sx_log5g_rxlo_en U RW default = 'h0 ++// Bit 12 rg_m6_wf_sx_log5g_dpdlo_en U RW default = 'h0 ++// Bit 13 rg_m6_wf_sx_log5g_txlo_en U RW default = 'h0 ++// Bit 14 rg_m6_wf_sx_log2g_mxr_en U RW default = 'h1 ++// Bit 15 rg_m6_wf_sx_log2g_div_en U RW default = 'h1 ++// Bit 16 rg_m6_wf_sx_log2g_iqdiv_en U RW default = 'h1 ++// Bit 17 rg_m6_wf_sx_log2g_rxlo_en U RW default = 'h0 ++// Bit 18 rg_m6_wf_sx_log2g_dpdlo_en U RW default = 'h0 ++// Bit 19 rg_m6_wf_sx_log2g_txlo_en U RW default = 'h1 ++typedef union RG_SX_A48_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M6_WF_SX_VCO_EN : 1; ++ unsigned int RG_M6_WF_SX_VCO_ACAL_EN : 1; ++ unsigned int RG_M6_WF_SX_PFD_EN : 1; ++ unsigned int RG_M6_WF_SX_CP_EN : 1; ++ unsigned int RG_M6_WF_SX_VCO_LDO_EN : 1; ++ unsigned int RG_M6_WF_SX_CP_LDO_EN : 1; ++ unsigned int RG_M6_WF_SX_LPF_COMP_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG5G_MXR_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG5G_INV_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG5G_DIV_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG5G_IQDIV_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG5G_RXLO_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG5G_DPDLO_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG5G_TXLO_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG2G_MXR_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG2G_DIV_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG2G_IQDIV_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG2G_RXLO_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG2G_DPDLO_EN : 1; ++ unsigned int RG_M6_WF_SX_LOG2G_TXLO_EN : 1; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_SX_A48_FIELD_T; ++ ++#define RG_SX_A49 (RF_D_SX_REG_BASE + 0xc4) ++// Bit 0 rg_m7_wf_sx_vco_en U RW default = 'h1 ++// Bit 1 rg_m7_wf_sx_vco_acal_en U RW default = 'h1 ++// Bit 2 rg_m7_wf_sx_pfd_en U RW default = 'h1 ++// Bit 3 rg_m7_wf_sx_cp_en U RW default = 'h1 ++// Bit 4 rg_m7_wf_sx_vco_ldo_en U RW default = 'h1 ++// Bit 5 rg_m7_wf_sx_cp_ldo_en U RW default = 'h1 ++// Bit 6 rg_m7_wf_sx_lpf_comp_en U RW default = 'h1 ++// Bit 7 rg_m7_wf_sx_log5g_mxr_en U RW default = 'h0 ++// Bit 8 rg_m7_wf_sx_log5g_inv_en U RW default = 'h0 ++// Bit 9 rg_m7_wf_sx_log5g_div_en U RW default = 'h0 ++// Bit 10 rg_m7_wf_sx_log5g_iqdiv_en U RW default = 'h0 ++// Bit 11 rg_m7_wf_sx_log5g_rxlo_en U RW default = 'h0 ++// Bit 12 rg_m7_wf_sx_log5g_dpdlo_en U RW default = 'h0 ++// Bit 13 rg_m7_wf_sx_log5g_txlo_en U RW default = 'h0 ++// Bit 14 rg_m7_wf_sx_log2g_mxr_en U RW default = 'h1 ++// Bit 15 rg_m7_wf_sx_log2g_div_en U RW default = 'h1 ++// Bit 16 rg_m7_wf_sx_log2g_iqdiv_en U RW default = 'h1 ++// Bit 17 rg_m7_wf_sx_log2g_rxlo_en U RW default = 'h1 ++// Bit 18 rg_m7_wf_sx_log2g_dpdlo_en U RW default = 'h0 ++// Bit 19 rg_m7_wf_sx_log2g_txlo_en U RW default = 'h0 ++typedef union RG_SX_A49_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M7_WF_SX_VCO_EN : 1; ++ unsigned int RG_M7_WF_SX_VCO_ACAL_EN : 1; ++ unsigned int RG_M7_WF_SX_PFD_EN : 1; ++ unsigned int RG_M7_WF_SX_CP_EN : 1; ++ unsigned int RG_M7_WF_SX_VCO_LDO_EN : 1; ++ unsigned int RG_M7_WF_SX_CP_LDO_EN : 1; ++ unsigned int RG_M7_WF_SX_LPF_COMP_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG5G_MXR_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG5G_INV_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG5G_DIV_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG5G_IQDIV_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG5G_RXLO_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG5G_DPDLO_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG5G_TXLO_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG2G_MXR_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG2G_DIV_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG2G_IQDIV_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG2G_RXLO_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG2G_DPDLO_EN : 1; ++ unsigned int RG_M7_WF_SX_LOG2G_TXLO_EN : 1; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_SX_A49_FIELD_T; ++ ++#define RG_SX_A50 (RF_D_SX_REG_BASE + 0xc8) ++// Bit 6 :0 ro_wf_sx_double_tune U RO default = 'h0 ++// Bit 8 ro_wf_sx_double_tune_ready U RO default = 'h0 ++typedef union RG_SX_A50_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_WF_SX_DOUBLE_TUNE : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int RO_WF_SX_DOUBLE_TUNE_READY : 1; ++ unsigned int rsvd_1 : 23; ++ } b; ++} RG_SX_A50_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/rf_d_top_reg.h b/drivers/net/wireless/w1/common/rf_d_top_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..c0419d43d9be52645268c406929dda8eeb6983c1 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/rf_d_top_reg.h +@@ -0,0 +1,790 @@ ++#ifdef RF_D_TOP_REG ++#else ++#define RF_D_TOP_REG ++ ++ ++#define RF_D_TOP_REG_BASE (0x0) ++ ++#define RG_TOP_A0 (RF_D_TOP_REG_BASE + 0x0) ++// Bit 31 :0 rg_wf_rx_dig_rsv0 U RW default = 'hffff ++typedef union RG_TOP_A0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_DIG_RSV0 : 32; ++ } b; ++} RG_TOP_A0_FIELD_T; ++ ++#define RG_TOP_A1 (RF_D_TOP_REG_BASE + 0x4) ++// Bit 31 :0 rg_wf_rx_dig_rsv1 U RW default = 'hffff ++typedef union RG_TOP_A1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_RX_DIG_RSV1 : 32; ++ } b; ++} RG_TOP_A1_FIELD_T; ++ ++#define RG_TOP_A2 (RF_D_TOP_REG_BASE + 0x8) ++// Bit 2 :0 rg_wf_mode_man U RW default = 'h0 ++// Bit 4 rg_wf_mode_man_mode U RW default = 'h0 ++// Bit 7 :6 rg_wf_sleep_mode U RW default = 'h0 ++// Bit 9 :8 rg_wf5g_sx_mode U RW default = 'h1 ++// Bit 11 :10 rg_wf5g_tx_mode U RW default = 'h2 ++// Bit 13 :12 rg_wf5g_rx_mode U RW default = 'h3 ++// Bit 15 :14 rg_wf5g_dpd_mode U RW default = 'h0 ++// Bit 17 :16 rg_wf2g_sx_mode U RW default = 'h1 ++// Bit 19 :18 rg_wf2g_tx_mode U RW default = 'h2 ++// Bit 21 :20 rg_wf2g_rx_mode U RW default = 'h3 ++// Bit 24 rg_wf_rf_mode U RW default = 'h0 ++// Bit 26 rg_wf_agc_lock_man U RW default = 'h0 ++// Bit 28 rg_wf_agc_lock_man_mode U RW default = 'h0 ++// Bit 30 :29 rg_wf_trswitch_edge_mask U RW default = 'h0 ++typedef union RG_TOP_A2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_MODE_MAN : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF_MODE_MAN_MODE : 1; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF_SLEEP_MODE : 2; ++ unsigned int RG_WF5G_SX_MODE : 2; ++ unsigned int RG_WF5G_TX_MODE : 2; ++ unsigned int RG_WF5G_RX_MODE : 2; ++ unsigned int RG_WF5G_DPD_MODE : 2; ++ unsigned int RG_WF2G_SX_MODE : 2; ++ unsigned int RG_WF2G_TX_MODE : 2; ++ unsigned int RG_WF2G_RX_MODE : 2; ++ unsigned int rsvd_2 : 2; ++ unsigned int RG_WF_RF_MODE : 1; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF_AGC_LOCK_MAN : 1; ++ unsigned int rsvd_4 : 1; ++ unsigned int RG_WF_AGC_LOCK_MAN_MODE : 1; ++ unsigned int RG_WF_TRSWITCH_EDGE_MASK : 2; ++ unsigned int rsvd_5 : 1; ++ } b; ++} RG_TOP_A2_FIELD_T; ++ ++#define RG_TOP_A3 (RF_D_TOP_REG_BASE + 0xc) ++// Bit 0 rg_wf_trx_hf_ldo_fc_sel U RW default = 'h0 ++// Bit 1 rg_wf_trx_hf_ldo_fc_en_man_mode U RW default = 'h0 ++// Bit 2 rg_wf_trx_hf_ldo_fc_en_man U RW default = 'h0 ++// Bit 7 :3 rg_wf_trx_hf_ldo_vsel U RW default = 'h10 ++// Bit 8 rg_wf_trx_hf_ldo_rc_ctrl U RW default = 'h1 ++// Bit 9 rg_wf_trx_lf_ldo_fc_sel U RW default = 'h0 ++// Bit 10 rg_wf_trx_lf_ldo_fc_en_man_mode U RW default = 'h0 ++// Bit 11 rg_wf_trx_lf_ldo_fc_en_man U RW default = 'h0 ++// Bit 16 :12 rg_wf_trx_lf_ldo_vsel U RW default = 'h10 ++// Bit 17 rg_wf_trx_lf_ldo_rc_ctrl U RW default = 'h1 ++// Bit 20 :18 rg_wf_top_dc_test_sel U RW default = 'h0 ++// Bit 23 :21 rg_wf_top_ac_test_sel U RW default = 'h0 ++// Bit 24 rg_wf_top_dc_test_en U RW default = 'h0 ++// Bit 25 rg_wf_top_ac_test_en U RW default = 'h0 ++// Bit 26 rg_wf_top_tx_test_en U RW default = 'h0 ++// Bit 27 rg_wf_top_rx_test_en U RW default = 'h0 ++// Bit 28 rg_wf_top_adc_test_en U RW default = 'h0 ++// Bit 29 rg_wf_top_rcal_test_en U RW default = 'h0 ++// Bit 30 rg_wf_top_xosc_test_en U RW default = 'h0 ++// Bit 31 rg_wf_top_bbpll_test_en U RW default = 'h0 ++typedef union RG_TOP_A3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_TRX_HF_LDO_FC_SEL : 1; ++ unsigned int RG_WF_TRX_HF_LDO_FC_EN_MAN_MODE : 1; ++ unsigned int RG_WF_TRX_HF_LDO_FC_EN_MAN : 1; ++ unsigned int RG_WF_TRX_HF_LDO_VSEL : 5; ++ unsigned int RG_WF_TRX_HF_LDO_RC_CTRL : 1; ++ unsigned int RG_WF_TRX_LF_LDO_FC_SEL : 1; ++ unsigned int RG_WF_TRX_LF_LDO_FC_EN_MAN_MODE : 1; ++ unsigned int RG_WF_TRX_LF_LDO_FC_EN_MAN : 1; ++ unsigned int RG_WF_TRX_LF_LDO_VSEL : 5; ++ unsigned int RG_WF_TRX_LF_LDO_RC_CTRL : 1; ++ unsigned int RG_WF_TOP_DC_TEST_SEL : 3; ++ unsigned int RG_WF_TOP_AC_TEST_SEL : 3; ++ unsigned int RG_WF_TOP_DC_TEST_EN : 1; ++ unsigned int RG_WF_TOP_AC_TEST_EN : 1; ++ unsigned int RG_WF_TOP_TX_TEST_EN : 1; ++ unsigned int RG_WF_TOP_RX_TEST_EN : 1; ++ unsigned int RG_WF_TOP_ADC_TEST_EN : 1; ++ unsigned int RG_WF_TOP_RCAL_TEST_EN : 1; ++ unsigned int RG_WF_TOP_XOSC_TEST_EN : 1; ++ unsigned int RG_WF_TOP_BBPLL_TEST_EN : 1; ++ } b; ++} RG_TOP_A3_FIELD_T; ++ ++#define RG_TOP_A4 (RF_D_TOP_REG_BASE + 0x10) ++// Bit 15 :0 rg_wf_top_reserved0 U RW default = 'h0 ++// Bit 31 :16 rg_wf_top_reserved1 U RW default = 'hffff ++typedef union RG_TOP_A4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_TOP_RESERVED0 : 16; ++ unsigned int RG_WF_TOP_RESERVED1 : 16; ++ } b; ++} RG_TOP_A4_FIELD_T; ++ ++#define RG_TOP_A5 (RF_D_TOP_REG_BASE + 0x14) ++// Bit 0 rg_m0_wf_trx_hf_ldo_en U RW default = 'h0 ++// Bit 1 rg_m0_wf_trx_hf_ldo_tx1_en U RW default = 'h0 ++// Bit 2 rg_m0_wf_trx_hf_ldo_tx2_en U RW default = 'h0 ++// Bit 3 rg_m0_wf_trx_hf_ldo_rxb_en U RW default = 'h0 ++// Bit 4 rg_m0_wf_trx_hf_ldo_rx1_en U RW default = 'h0 ++// Bit 5 rg_m0_wf_trx_hf_ldo_rx2_en U RW default = 'h0 ++// Bit 6 rg_m0_wf_trx_hf_ldo_lo_en U RW default = 'h0 ++// Bit 7 rg_m0_wf_trx_lf_ldo_en U RW default = 'h0 ++// Bit 8 rg_m0_wf_trx_lf_ldo_tx_en U RW default = 'h0 ++// Bit 9 rg_m0_wf_trx_lf_ldo_rx_en U RW default = 'h0 ++typedef union RG_TOP_A5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M0_WF_TRX_HF_LDO_EN : 1; ++ unsigned int RG_M0_WF_TRX_HF_LDO_TX1_EN : 1; ++ unsigned int RG_M0_WF_TRX_HF_LDO_TX2_EN : 1; ++ unsigned int RG_M0_WF_TRX_HF_LDO_RXB_EN : 1; ++ unsigned int RG_M0_WF_TRX_HF_LDO_RX1_EN : 1; ++ unsigned int RG_M0_WF_TRX_HF_LDO_RX2_EN : 1; ++ unsigned int RG_M0_WF_TRX_HF_LDO_LO_EN : 1; ++ unsigned int RG_M0_WF_TRX_LF_LDO_EN : 1; ++ unsigned int RG_M0_WF_TRX_LF_LDO_TX_EN : 1; ++ unsigned int RG_M0_WF_TRX_LF_LDO_RX_EN : 1; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_TOP_A5_FIELD_T; ++ ++#define RG_TOP_A6 (RF_D_TOP_REG_BASE + 0x18) ++// Bit 0 rg_m1_wf_trx_hf_ldo_en U RW default = 'h1 ++// Bit 1 rg_m1_wf_trx_hf_ldo_tx1_en U RW default = 'h0 ++// Bit 2 rg_m1_wf_trx_hf_ldo_tx2_en U RW default = 'h0 ++// Bit 3 rg_m1_wf_trx_hf_ldo_rxb_en U RW default = 'h0 ++// Bit 4 rg_m1_wf_trx_hf_ldo_rx1_en U RW default = 'h0 ++// Bit 5 rg_m1_wf_trx_hf_ldo_rx2_en U RW default = 'h0 ++// Bit 6 rg_m1_wf_trx_hf_ldo_lo_en U RW default = 'h1 ++// Bit 7 rg_m1_wf_trx_lf_ldo_en U RW default = 'h0 ++// Bit 8 rg_m1_wf_trx_lf_ldo_tx_en U RW default = 'h0 ++// Bit 9 rg_m1_wf_trx_lf_ldo_rx_en U RW default = 'h0 ++typedef union RG_TOP_A6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M1_WF_TRX_HF_LDO_EN : 1; ++ unsigned int RG_M1_WF_TRX_HF_LDO_TX1_EN : 1; ++ unsigned int RG_M1_WF_TRX_HF_LDO_TX2_EN : 1; ++ unsigned int RG_M1_WF_TRX_HF_LDO_RXB_EN : 1; ++ unsigned int RG_M1_WF_TRX_HF_LDO_RX1_EN : 1; ++ unsigned int RG_M1_WF_TRX_HF_LDO_RX2_EN : 1; ++ unsigned int RG_M1_WF_TRX_HF_LDO_LO_EN : 1; ++ unsigned int RG_M1_WF_TRX_LF_LDO_EN : 1; ++ unsigned int RG_M1_WF_TRX_LF_LDO_TX_EN : 1; ++ unsigned int RG_M1_WF_TRX_LF_LDO_RX_EN : 1; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_TOP_A6_FIELD_T; ++ ++#define RG_TOP_A7 (RF_D_TOP_REG_BASE + 0x1c) ++// Bit 0 rg_m2_wf_trx_hf_ldo_en U RW default = 'h1 ++// Bit 1 rg_m2_wf_trx_hf_ldo_tx1_en U RW default = 'h1 ++// Bit 2 rg_m2_wf_trx_hf_ldo_tx2_en U RW default = 'h1 ++// Bit 3 rg_m2_wf_trx_hf_ldo_rxb_en U RW default = 'h0 ++// Bit 4 rg_m2_wf_trx_hf_ldo_rx1_en U RW default = 'h0 ++// Bit 5 rg_m2_wf_trx_hf_ldo_rx2_en U RW default = 'h0 ++// Bit 6 rg_m2_wf_trx_hf_ldo_lo_en U RW default = 'h1 ++// Bit 7 rg_m2_wf_trx_lf_ldo_en U RW default = 'h1 ++// Bit 8 rg_m2_wf_trx_lf_ldo_tx_en U RW default = 'h1 ++// Bit 9 rg_m2_wf_trx_lf_ldo_rx_en U RW default = 'h0 ++typedef union RG_TOP_A7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M2_WF_TRX_HF_LDO_EN : 1; ++ unsigned int RG_M2_WF_TRX_HF_LDO_TX1_EN : 1; ++ unsigned int RG_M2_WF_TRX_HF_LDO_TX2_EN : 1; ++ unsigned int RG_M2_WF_TRX_HF_LDO_RXB_EN : 1; ++ unsigned int RG_M2_WF_TRX_HF_LDO_RX1_EN : 1; ++ unsigned int RG_M2_WF_TRX_HF_LDO_RX2_EN : 1; ++ unsigned int RG_M2_WF_TRX_HF_LDO_LO_EN : 1; ++ unsigned int RG_M2_WF_TRX_LF_LDO_EN : 1; ++ unsigned int RG_M2_WF_TRX_LF_LDO_TX_EN : 1; ++ unsigned int RG_M2_WF_TRX_LF_LDO_RX_EN : 1; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_TOP_A7_FIELD_T; ++ ++#define RG_TOP_A8 (RF_D_TOP_REG_BASE + 0x20) ++// Bit 0 rg_m3_wf_trx_hf_ldo_en U RW default = 'h1 ++// Bit 1 rg_m3_wf_trx_hf_ldo_tx1_en U RW default = 'h0 ++// Bit 2 rg_m3_wf_trx_hf_ldo_tx2_en U RW default = 'h0 ++// Bit 3 rg_m3_wf_trx_hf_ldo_rxb_en U RW default = 'h1 ++// Bit 4 rg_m3_wf_trx_hf_ldo_rx1_en U RW default = 'h1 ++// Bit 5 rg_m3_wf_trx_hf_ldo_rx2_en U RW default = 'h1 ++// Bit 6 rg_m3_wf_trx_hf_ldo_lo_en U RW default = 'h1 ++// Bit 7 rg_m3_wf_trx_lf_ldo_en U RW default = 'h1 ++// Bit 8 rg_m3_wf_trx_lf_ldo_tx_en U RW default = 'h0 ++// Bit 9 rg_m3_wf_trx_lf_ldo_rx_en U RW default = 'h1 ++typedef union RG_TOP_A8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M3_WF_TRX_HF_LDO_EN : 1; ++ unsigned int RG_M3_WF_TRX_HF_LDO_TX1_EN : 1; ++ unsigned int RG_M3_WF_TRX_HF_LDO_TX2_EN : 1; ++ unsigned int RG_M3_WF_TRX_HF_LDO_RXB_EN : 1; ++ unsigned int RG_M3_WF_TRX_HF_LDO_RX1_EN : 1; ++ unsigned int RG_M3_WF_TRX_HF_LDO_RX2_EN : 1; ++ unsigned int RG_M3_WF_TRX_HF_LDO_LO_EN : 1; ++ unsigned int RG_M3_WF_TRX_LF_LDO_EN : 1; ++ unsigned int RG_M3_WF_TRX_LF_LDO_TX_EN : 1; ++ unsigned int RG_M3_WF_TRX_LF_LDO_RX_EN : 1; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_TOP_A8_FIELD_T; ++ ++#define RG_TOP_A9 (RF_D_TOP_REG_BASE + 0x40) ++// Bit 0 rg_wf_adda_ldo_lf_rc_ctrl U RW default = 'h0 ++// Bit 1 rg_wf_adda_ldo_rc_modelsel U RW default = 'h0 ++// Bit 6 :2 rg_wf_adda_ldo_vref_adj U RW default = 'h0 ++// Bit 7 rg_wf_adda_ldo_load_en U RW default = 'h0 ++// Bit 23 :8 rg_wf_adda_rsv U RW default = 'h0 ++// Bit 24 rg_wf_dac_bit9_inv U RW default = 'h0 ++// Bit 30 :28 rg_wf_dac_clk_delay_i U RW default = 'h1 ++typedef union RG_TOP_A9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_wf_adda_ldo_lf_rc_ctrl : 1; ++ unsigned int rg_wf_adda_ldo_rc_modelsel : 1; ++ unsigned int rg_wf_adda_ldo_vref_adj : 5; ++ unsigned int rg_wf_adda_ldo_load_en : 1; ++ unsigned int rg_wf_adda_rsv : 16; ++ unsigned int rg_wf_dac_bit9_inv : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_wf_dac_clk_delay_i : 3; ++ unsigned int rsvd_1 : 1; ++ } b; ++} RG_TOP_A9_FIELD_T; ++ ++#define RG_TOP_A11 (RF_D_TOP_REG_BASE + 0x48) ++// Bit 2 :0 rg_wf_dac_clk_delay_q U RW default = 'h1 ++// Bit 6 :3 rg_wf_dac_dcoc_i U RW default = 'h0 ++// Bit 10 :7 rg_wf_dac_dcoc_q U RW default = 'h0 ++// Bit 11 rg_wf_dac_dem_en U RW default = 'h0 ++// Bit 12 rg_wf_dac_driver_adj U RW default = 'h0 ++// Bit 16 :13 rg_wf_dac_op_drive U RW default = 'hf ++// Bit 18 :17 rg_wf_dac_op_ibias U RW default = 'h3 ++// Bit 22 :19 rg_wf_dac_ovcm U RW default = 'h0 ++// Bit 23 rg_wf_dac_fs_sel U RW default = 'h1 ++// Bit 28 :24 rg_wf_dac_rc_adj_i U RW default = 'h8 ++typedef union RG_TOP_A11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_wf_dac_clk_delay_q : 3; ++ unsigned int rg_wf_dac_dcoc_i : 4; ++ unsigned int rg_wf_dac_dcoc_q : 4; ++ unsigned int rg_wf_dac_dem_en : 1; ++ unsigned int rg_wf_dac_driver_adj : 1; ++ unsigned int rg_wf_dac_op_drive : 4; ++ unsigned int rg_wf_dac_op_ibias : 2; ++ unsigned int rg_wf_dac_ovcm : 4; ++ unsigned int rg_wf_dac_fs_sel : 1; ++ unsigned int rg_wf_dac_rc_adj_i : 5; ++ unsigned int rsvd_0 : 3; ++ } b; ++} RG_TOP_A11_FIELD_T; ++ ++#define RG_TOP_A12 (RF_D_TOP_REG_BASE + 0x4c) ++// Bit 4 :0 rg_wf_dac_rc_adj_q U RW default = 'h8 ++// Bit 12 :5 rg_wf_dac_rsv U RW default = 'h86 ++// Bit 15 :13 rg_wf_dac_vimc_i U RW default = 'h0 ++// Bit 18 :16 rg_wf_dac_vimc_q U RW default = 'h0 ++// Bit 20 :19 rg_wf_dac_pole_sel U RW default = 'h0 ++// Bit 21 rg_wf_dac_tia_mux_sel_i U RW default = 'h0 ++// Bit 22 rg_wf_dac_tia_mux_sel_q U RW default = 'h0 ++// Bit 24 :23 rg_wf_radc_bs_sel U RW default = 'h1 ++// Bit 25 rg_wf_radc_c_adj U RW default = 'h0 ++// Bit 28 :26 rg_wf_radc_clk_delay_adj U RW default = 'h1 ++// Bit 29 rg_wf_radc_ref_adj U RW default = 'h0 ++typedef union RG_TOP_A12_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_wf_dac_rc_adj_q : 5; ++ unsigned int rg_wf_dac_rsv : 8; ++ unsigned int rg_wf_dac_vimc_i : 3; ++ unsigned int rg_wf_dac_vimc_q : 3; ++ unsigned int rg_wf_dac_pole_sel : 2; ++ unsigned int rg_wf_dac_tia_mux_sel_i : 1; ++ unsigned int rg_wf_dac_tia_mux_sel_q : 1; ++ unsigned int rg_wf_radc_bs_sel : 2; ++ unsigned int rg_wf_radc_c_adj : 1; ++ unsigned int rg_wf_radc_clk_delay_adj : 3; ++ unsigned int rg_wf_radc_ref_adj : 1; ++ unsigned int rsvd_0 : 2; ++ } b; ++} RG_TOP_A12_FIELD_T; ++ ++#define RG_TOP_A13 (RF_D_TOP_REG_BASE + 0x50) ++// Bit 7 :0 rg_wf_radc_resv U RW default = 'h3 ++// Bit 8 rg_wf_radc_skip_sel U RW default = 'h0 ++// Bit 10 :9 rg_wf_wadc_bs_sel U RW default = 'h2 ++// Bit 11 rg_wf_wadc_ch1_latch U RW default = 'h0 ++// Bit 16 :12 rg_wf_wadc_ch1_os_corr_i_man U RW default = 'h0 ++// Bit 21 :17 rg_wf_wadc_ch1_os_corr_q_man U RW default = 'h0 ++// Bit 22 rg_wf_wadc_ch2_latch U RW default = 'h0 ++// Bit 27 :23 rg_wf_wadc_ch2_os_corr_i_man U RW default = 'h0 ++// Bit 28 rg_wf_wadc_ch_os_corr_man_sel U RW default = 'h1 ++// Bit 29 rg_wf_wadc_force_ch_man_sel U RW default = 'h1 ++typedef union RG_TOP_A13_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_wf_radc_resv : 8; ++ unsigned int rg_wf_radc_skip_sel : 1; ++ unsigned int rg_wf_wadc_bs_sel : 2; ++ unsigned int rg_wf_wadc_ch1_latch : 1; ++ unsigned int rg_wf_wadc_ch1_os_corr_i_man : 5; ++ unsigned int rg_wf_wadc_ch1_os_corr_q_man : 5; ++ unsigned int rg_wf_wadc_ch2_latch : 1; ++ unsigned int rg_wf_wadc_ch2_os_corr_i_man : 5; ++ unsigned int rg_wf_wadc_ch_os_corr_man_sel : 1; ++ unsigned int rg_wf_wadc_force_ch_man_sel : 1; ++ unsigned int rsvd_0 : 2; ++ } b; ++} RG_TOP_A13_FIELD_T; ++ ++#define RG_TOP_A14 (RF_D_TOP_REG_BASE + 0x54) ++// Bit 4 :0 rg_wf_wadc_ch2_os_corr_q_man U RW default = 'h0 ++// Bit 5 rg_wf_wadc_clk_phase U RW default = 'h0 ++// Bit 7 :6 rg_wf_wadc_delay_adj U RW default = 'h0 ++// Bit 8 rg_wf_wadc_div2 U RW default = 'h1 ++// Bit 13 :9 rg_wf_wadc_divn U RW default = 'h0 ++// Bit 14 rg_wf_wadc_fs_sel U RW default = 'h0 ++// Bit 15 rg_wf_wadc_force_ch1_man U RW default = 'h1 ++// Bit 16 rg_wf_wadc_force_ch2_man U RW default = 'h0 ++// Bit 17 rg_wf_wadc_oscorr_en U RW default = 'h0 ++// Bit 18 rg_wf_wadc_clkout_phase U RW default = 'h0 ++// Bit 19 rg_wf_wadc_skip_sel U RW default = 'h0 ++// Bit 21 :20 rg_wf_wadc_waittime U RW default = 'h0 ++// Bit 23 :22 rg_wf_wadc_calctime U RW default = 'h0 ++// Bit 24 rg_wf_adda_ldo_fc U RW default = 'h0 ++typedef union RG_TOP_A14_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_wf_wadc_ch2_os_corr_q_man : 5; ++ unsigned int rg_wf_wadc_clk_phase : 1; ++ unsigned int rg_wf_wadc_delay_adj : 2; ++ unsigned int rg_wf_wadc_div2 : 1; ++ unsigned int rg_wf_wadc_divn : 5; ++ unsigned int rg_wf_wadc_fs_sel : 1; ++ unsigned int rg_wf_wadc_force_ch1_man : 1; ++ unsigned int rg_wf_wadc_force_ch2_man : 1; ++ unsigned int rg_wf_wadc_oscorr_en : 1; ++ unsigned int rg_wf_wadc_clkout_phase : 1; ++ unsigned int rg_wf_wadc_skip_sel : 1; ++ unsigned int rg_wf_wadc_waittime : 2; ++ unsigned int rg_wf_wadc_calctime : 2; ++ unsigned int rg_wf_adda_ldo_fc : 1; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_TOP_A14_FIELD_T; ++ ++#define RG_TOP_A15 (RF_D_TOP_REG_BASE + 0x58) ++// Bit 0 rg_wf_adda_man_mode U RW default = 'h1 ++// Bit 6 :4 rg_wf_dac_ampctrl_man U RW default = 'h4 ++// Bit 12 rg_wf_tx_tia_ibias_en_h U RW default = 'h1 ++// Bit 18 :16 rg_wf_tx_ibias_pata U RW default = 'h0 ++// Bit 22 :20 rg_wf_tx_ibias_zt U RW default = 'h0 ++typedef union RG_TOP_A15_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_wf_adda_man_mode : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int rg_wf_dac_ampctrl_man : 3; ++ unsigned int rsvd_1 : 5; ++ unsigned int rg_wf_tx_tia_ibias_en_h : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int rg_wf_tx_ibias_pata : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int rg_wf_tx_ibias_zt : 3; ++ unsigned int rsvd_4 : 9; ++ } b; ++} RG_TOP_A15_FIELD_T; ++ ++#define RG_TOP_A16 (RF_D_TOP_REG_BASE + 0x5c) ++// Bit 4 :0 ro_wf_wadc_ch1_os_corr_i U RO default = 'h0 ++// Bit 9 :5 ro_wf_wadc_ch1_os_corr_q U RO default = 'h0 ++// Bit 14 :10 ro_wf_wadc_ch2_os_corr_i U RO default = 'h0 ++// Bit 19 :15 ro_wf_wadc_ch2_os_corr_q U RO default = 'h0 ++typedef union RG_TOP_A16_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_wf_wadc_ch1_os_corr_i : 5; ++ unsigned int ro_wf_wadc_ch1_os_corr_q : 5; ++ unsigned int ro_wf_wadc_ch2_os_corr_i : 5; ++ unsigned int ro_wf_wadc_ch2_os_corr_q : 5; ++ unsigned int rsvd_0 : 12; ++ } b; ++} RG_TOP_A16_FIELD_T; ++ ++#define RG_TOP_A17 (RF_D_TOP_REG_BASE + 0x60) ++// Bit 0 rg_m0_wf_adda_ldo_en U RW default = 'h0 ++// Bit 1 rg_m0_wf_dac_enable U RW default = 'h0 ++// Bit 2 rg_m0_wf_radc_en U RW default = 'h0 ++// Bit 3 rg_m0_wf_wadc_enable_i U RW default = 'h0 ++// Bit 4 rg_m0_wf_wadc_enable_q U RW default = 'h0 ++typedef union RG_TOP_A17_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_m0_wf_adda_ldo_en : 1; ++ unsigned int rg_m0_wf_dac_enable : 1; ++ unsigned int rg_m0_wf_radc_en : 1; ++ unsigned int rg_m0_wf_wadc_enable_i : 1; ++ unsigned int rg_m0_wf_wadc_enable_q : 1; ++ unsigned int rsvd_0 : 27; ++ } b; ++} RG_TOP_A17_FIELD_T; ++ ++#define RG_TOP_A18 (RF_D_TOP_REG_BASE + 0x64) ++// Bit 0 rg_m1_wf_adda_ldo_en U RW default = 'h0 ++// Bit 1 rg_m1_wf_dac_enable U RW default = 'h0 ++// Bit 2 rg_m1_wf_radc_en U RW default = 'h0 ++// Bit 3 rg_m1_wf_wadc_enable_i U RW default = 'h0 ++// Bit 4 rg_m1_wf_wadc_enable_q U RW default = 'h0 ++typedef union RG_TOP_A18_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_m1_wf_adda_ldo_en : 1; ++ unsigned int rg_m1_wf_dac_enable : 1; ++ unsigned int rg_m1_wf_radc_en : 1; ++ unsigned int rg_m1_wf_wadc_enable_i : 1; ++ unsigned int rg_m1_wf_wadc_enable_q : 1; ++ unsigned int rsvd_0 : 27; ++ } b; ++} RG_TOP_A18_FIELD_T; ++ ++#define RG_TOP_A19 (RF_D_TOP_REG_BASE + 0x68) ++// Bit 0 rg_m2_wf_adda_ldo_en U RW default = 'h1 ++// Bit 1 rg_m2_wf_dac_enable U RW default = 'h1 ++// Bit 2 rg_m2_wf_radc_en U RW default = 'h0 ++// Bit 3 rg_m2_wf_wadc_enable_i U RW default = 'h0 ++// Bit 4 rg_m2_wf_wadc_enable_q U RW default = 'h0 ++typedef union RG_TOP_A19_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_m2_wf_adda_ldo_en : 1; ++ unsigned int rg_m2_wf_dac_enable : 1; ++ unsigned int rg_m2_wf_radc_en : 1; ++ unsigned int rg_m2_wf_wadc_enable_i : 1; ++ unsigned int rg_m2_wf_wadc_enable_q : 1; ++ unsigned int rsvd_0 : 27; ++ } b; ++} RG_TOP_A19_FIELD_T; ++ ++#define RG_TOP_A20 (RF_D_TOP_REG_BASE + 0x6c) ++// Bit 0 rg_m3_wf_adda_ldo_en U RW default = 'h1 ++// Bit 1 rg_m3_wf_dac_enable U RW default = 'h0 ++// Bit 2 rg_m3_wf_radc_en U RW default = 'h1 ++// Bit 3 rg_m3_wf_wadc_enable_i U RW default = 'h1 ++// Bit 4 rg_m3_wf_wadc_enable_q U RW default = 'h1 ++typedef union RG_TOP_A20_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_m3_wf_adda_ldo_en : 1; ++ unsigned int rg_m3_wf_dac_enable : 1; ++ unsigned int rg_m3_wf_radc_en : 1; ++ unsigned int rg_m3_wf_wadc_enable_i : 1; ++ unsigned int rg_m3_wf_wadc_enable_q : 1; ++ unsigned int rsvd_0 : 27; ++ } b; ++} RG_TOP_A20_FIELD_T; ++ ++#define RG_TOP_A21 (RF_D_TOP_REG_BASE + 0x70) ++// Bit 0 rg_m4_wf_adda_ldo_en U RW default = 'h1 ++// Bit 1 rg_m4_wf_dac_enable U RW default = 'h1 ++// Bit 2 rg_m4_wf_radc_en U RW default = 'h0 ++// Bit 3 rg_m4_wf_wadc_enable_i U RW default = 'h1 ++// Bit 4 rg_m4_wf_wadc_enable_q U RW default = 'h1 ++typedef union RG_TOP_A21_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_m4_wf_adda_ldo_en : 1; ++ unsigned int rg_m4_wf_dac_enable : 1; ++ unsigned int rg_m4_wf_radc_en : 1; ++ unsigned int rg_m4_wf_wadc_enable_i : 1; ++ unsigned int rg_m4_wf_wadc_enable_q : 1; ++ unsigned int rsvd_0 : 27; ++ } b; ++} RG_TOP_A21_FIELD_T; ++ ++#define RG_TOP_A22 (RF_D_TOP_REG_BASE + 0x74) ++// Bit 0 rg_m5_wf_adda_ldo_en U RW default = 'h0 ++// Bit 1 rg_m5_wf_dac_enable U RW default = 'h0 ++// Bit 2 rg_m5_wf_radc_en U RW default = 'h0 ++// Bit 3 rg_m5_wf_wadc_enable_i U RW default = 'h0 ++// Bit 4 rg_m5_wf_wadc_enable_q U RW default = 'h0 ++typedef union RG_TOP_A22_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_m5_wf_adda_ldo_en : 1; ++ unsigned int rg_m5_wf_dac_enable : 1; ++ unsigned int rg_m5_wf_radc_en : 1; ++ unsigned int rg_m5_wf_wadc_enable_i : 1; ++ unsigned int rg_m5_wf_wadc_enable_q : 1; ++ unsigned int rsvd_0 : 27; ++ } b; ++} RG_TOP_A22_FIELD_T; ++ ++#define RG_TOP_A23 (RF_D_TOP_REG_BASE + 0x78) ++// Bit 0 rg_m6_wf_adda_ldo_en U RW default = 'h1 ++// Bit 1 rg_m6_wf_dac_enable U RW default = 'h1 ++// Bit 2 rg_m6_wf_radc_en U RW default = 'h0 ++// Bit 3 rg_m6_wf_wadc_enable_i U RW default = 'h0 ++// Bit 4 rg_m6_wf_wadc_enable_q U RW default = 'h0 ++typedef union RG_TOP_A23_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_m6_wf_adda_ldo_en : 1; ++ unsigned int rg_m6_wf_dac_enable : 1; ++ unsigned int rg_m6_wf_radc_en : 1; ++ unsigned int rg_m6_wf_wadc_enable_i : 1; ++ unsigned int rg_m6_wf_wadc_enable_q : 1; ++ unsigned int rsvd_0 : 27; ++ } b; ++} RG_TOP_A23_FIELD_T; ++ ++#define RG_TOP_A24 (RF_D_TOP_REG_BASE + 0x7c) ++// Bit 0 rg_m7_wf_adda_ldo_en U RW default = 'h1 ++// Bit 1 rg_m7_wf_dac_enable U RW default = 'h0 ++// Bit 2 rg_m7_wf_radc_en U RW default = 'h1 ++// Bit 3 rg_m7_wf_wadc_enable_i U RW default = 'h1 ++// Bit 4 rg_m7_wf_wadc_enable_q U RW default = 'h1 ++typedef union RG_TOP_A24_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rg_m7_wf_adda_ldo_en : 1; ++ unsigned int rg_m7_wf_dac_enable : 1; ++ unsigned int rg_m7_wf_radc_en : 1; ++ unsigned int rg_m7_wf_wadc_enable_i : 1; ++ unsigned int rg_m7_wf_wadc_enable_q : 1; ++ unsigned int rsvd_0 : 27; ++ } b; ++} RG_TOP_A24_FIELD_T; ++ ++#define RG_TOP_A27 (RF_D_TOP_REG_BASE + 0x88) ++// Bit 0 rg_m4_wf_trx_hf_ldo_en U RW default = 'h1 ++// Bit 1 rg_m4_wf_trx_hf_ldo_tx1_en U RW default = 'h1 ++// Bit 2 rg_m4_wf_trx_hf_ldo_tx2_en U RW default = 'h1 ++// Bit 3 rg_m4_wf_trx_hf_ldo_rxb_en U RW default = 'h1 ++// Bit 4 rg_m4_wf_trx_hf_ldo_rx1_en U RW default = 'h1 ++// Bit 5 rg_m4_wf_trx_hf_ldo_rx2_en U RW default = 'h1 ++// Bit 6 rg_m4_wf_trx_hf_ldo_lo_en U RW default = 'h1 ++// Bit 7 rg_m4_wf_trx_lf_ldo_en U RW default = 'h1 ++// Bit 8 rg_m4_wf_trx_lf_ldo_tx_en U RW default = 'h1 ++// Bit 9 rg_m4_wf_trx_lf_ldo_rx_en U RW default = 'h1 ++typedef union RG_TOP_A27_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M4_WF_TRX_HF_LDO_EN : 1; ++ unsigned int RG_M4_WF_TRX_HF_LDO_TX1_EN : 1; ++ unsigned int RG_M4_WF_TRX_HF_LDO_TX2_EN : 1; ++ unsigned int RG_M4_WF_TRX_HF_LDO_RXB_EN : 1; ++ unsigned int RG_M4_WF_TRX_HF_LDO_RX1_EN : 1; ++ unsigned int RG_M4_WF_TRX_HF_LDO_RX2_EN : 1; ++ unsigned int RG_M4_WF_TRX_HF_LDO_LO_EN : 1; ++ unsigned int RG_M4_WF_TRX_LF_LDO_EN : 1; ++ unsigned int RG_M4_WF_TRX_LF_LDO_TX_EN : 1; ++ unsigned int RG_M4_WF_TRX_LF_LDO_RX_EN : 1; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_TOP_A27_FIELD_T; ++ ++#define RG_TOP_A28 (RF_D_TOP_REG_BASE + 0x8c) ++// Bit 0 rg_m5_wf_trx_hf_ldo_en U RW default = 'h1 ++// Bit 1 rg_m5_wf_trx_hf_ldo_tx1_en U RW default = 'h0 ++// Bit 2 rg_m5_wf_trx_hf_ldo_tx2_en U RW default = 'h0 ++// Bit 3 rg_m5_wf_trx_hf_ldo_rxb_en U RW default = 'h0 ++// Bit 4 rg_m5_wf_trx_hf_ldo_rx1_en U RW default = 'h0 ++// Bit 5 rg_m5_wf_trx_hf_ldo_rx2_en U RW default = 'h0 ++// Bit 6 rg_m5_wf_trx_hf_ldo_lo_en U RW default = 'h1 ++// Bit 7 rg_m5_wf_trx_lf_ldo_en U RW default = 'h0 ++// Bit 8 rg_m5_wf_trx_lf_ldo_tx_en U RW default = 'h0 ++// Bit 9 rg_m5_wf_trx_lf_ldo_rx_en U RW default = 'h0 ++typedef union RG_TOP_A28_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M5_WF_TRX_HF_LDO_EN : 1; ++ unsigned int RG_M5_WF_TRX_HF_LDO_TX1_EN : 1; ++ unsigned int RG_M5_WF_TRX_HF_LDO_TX2_EN : 1; ++ unsigned int RG_M5_WF_TRX_HF_LDO_RXB_EN : 1; ++ unsigned int RG_M5_WF_TRX_HF_LDO_RX1_EN : 1; ++ unsigned int RG_M5_WF_TRX_HF_LDO_RX2_EN : 1; ++ unsigned int RG_M5_WF_TRX_HF_LDO_LO_EN : 1; ++ unsigned int RG_M5_WF_TRX_LF_LDO_EN : 1; ++ unsigned int RG_M5_WF_TRX_LF_LDO_TX_EN : 1; ++ unsigned int RG_M5_WF_TRX_LF_LDO_RX_EN : 1; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_TOP_A28_FIELD_T; ++ ++#define RG_TOP_A29 (RF_D_TOP_REG_BASE + 0x90) ++// Bit 0 rg_m6_wf_trx_hf_ldo_en U RW default = 'h1 ++// Bit 1 rg_m6_wf_trx_hf_ldo_tx1_en U RW default = 'h1 ++// Bit 2 rg_m6_wf_trx_hf_ldo_tx2_en U RW default = 'h1 ++// Bit 3 rg_m6_wf_trx_hf_ldo_rxb_en U RW default = 'h0 ++// Bit 4 rg_m6_wf_trx_hf_ldo_rx1_en U RW default = 'h0 ++// Bit 5 rg_m6_wf_trx_hf_ldo_rx2_en U RW default = 'h0 ++// Bit 6 rg_m6_wf_trx_hf_ldo_lo_en U RW default = 'h1 ++// Bit 7 rg_m6_wf_trx_lf_ldo_en U RW default = 'h1 ++// Bit 8 rg_m6_wf_trx_lf_ldo_tx_en U RW default = 'h1 ++// Bit 9 rg_m6_wf_trx_lf_ldo_rx_en U RW default = 'h0 ++typedef union RG_TOP_A29_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M6_WF_TRX_HF_LDO_EN : 1; ++ unsigned int RG_M6_WF_TRX_HF_LDO_TX1_EN : 1; ++ unsigned int RG_M6_WF_TRX_HF_LDO_TX2_EN : 1; ++ unsigned int RG_M6_WF_TRX_HF_LDO_RXB_EN : 1; ++ unsigned int RG_M6_WF_TRX_HF_LDO_RX1_EN : 1; ++ unsigned int RG_M6_WF_TRX_HF_LDO_RX2_EN : 1; ++ unsigned int RG_M6_WF_TRX_HF_LDO_LO_EN : 1; ++ unsigned int RG_M6_WF_TRX_LF_LDO_EN : 1; ++ unsigned int RG_M6_WF_TRX_LF_LDO_TX_EN : 1; ++ unsigned int RG_M6_WF_TRX_LF_LDO_RX_EN : 1; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_TOP_A29_FIELD_T; ++ ++#define RG_TOP_A30 (RF_D_TOP_REG_BASE + 0x94) ++// Bit 0 rg_m7_wf_trx_hf_ldo_en U RW default = 'h1 ++// Bit 1 rg_m7_wf_trx_hf_ldo_tx1_en U RW default = 'h0 ++// Bit 2 rg_m7_wf_trx_hf_ldo_tx2_en U RW default = 'h0 ++// Bit 3 rg_m7_wf_trx_hf_ldo_rxb_en U RW default = 'h1 ++// Bit 4 rg_m7_wf_trx_hf_ldo_rx1_en U RW default = 'h1 ++// Bit 5 rg_m7_wf_trx_hf_ldo_rx2_en U RW default = 'h1 ++// Bit 6 rg_m7_wf_trx_hf_ldo_lo_en U RW default = 'h1 ++// Bit 7 rg_m7_wf_trx_lf_ldo_en U RW default = 'h1 ++// Bit 8 rg_m7_wf_trx_lf_ldo_tx_en U RW default = 'h0 ++// Bit 9 rg_m7_wf_trx_lf_ldo_rx_en U RW default = 'h1 ++typedef union RG_TOP_A30_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M7_WF_TRX_HF_LDO_EN : 1; ++ unsigned int RG_M7_WF_TRX_HF_LDO_TX1_EN : 1; ++ unsigned int RG_M7_WF_TRX_HF_LDO_TX2_EN : 1; ++ unsigned int RG_M7_WF_TRX_HF_LDO_RXB_EN : 1; ++ unsigned int RG_M7_WF_TRX_HF_LDO_RX1_EN : 1; ++ unsigned int RG_M7_WF_TRX_HF_LDO_RX2_EN : 1; ++ unsigned int RG_M7_WF_TRX_HF_LDO_LO_EN : 1; ++ unsigned int RG_M7_WF_TRX_LF_LDO_EN : 1; ++ unsigned int RG_M7_WF_TRX_LF_LDO_TX_EN : 1; ++ unsigned int RG_M7_WF_TRX_LF_LDO_RX_EN : 1; ++ unsigned int rsvd_0 : 22; ++ } b; ++} RG_TOP_A30_FIELD_T; ++ ++#define RG_TOP_A31 (RF_D_TOP_REG_BASE + 0x98) ++// Bit 31 :0 rg_wf_ad_inv U RW default = 'h0 ++typedef union RG_TOP_A31_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_AD_INV : 32; ++ } b; ++} RG_TOP_A31_FIELD_T; ++ ++#define RG_TOP_A32 (RF_D_TOP_REG_BASE + 0x9c) ++// Bit 23 :0 ro_wf_top_ad_monitor U RO default = 'h0 ++typedef union RG_TOP_A32_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_WF_TOP_AD_MONITOR : 24; ++ unsigned int rsvd_0 : 8; ++ } b; ++} RG_TOP_A32_FIELD_T; ++ ++#define RG_TOP_A33 (RF_D_TOP_REG_BASE + 0xa0) ++// Bit 1 :0 rg_wf_trx_ldo_fc_cnt U RW default = 'h0 ++typedef union RG_TOP_A33_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_TRX_LDO_FC_CNT : 2; ++ unsigned int rsvd_0 : 30; ++ } b; ++} RG_TOP_A33_FIELD_T; ++ ++#define RG_TOP_A34 (RF_D_TOP_REG_BASE + 0xa4) ++// Bit 1 :0 ro_hw_wf_trx_mode U RO default = 'h0 ++// Bit 11 :4 ro_hw_wf_rx_gain U RO default = 'h0 ++// Bit 13 :12 ro_hw_wf_bw U RO default = 'h0 ++// Bit 23 :16 ro_hw_wf_tx_gain U RO default = 'h0 ++// Bit 24 ro_hw_wf_agc_lock U RO default = 'h0 ++typedef union RG_TOP_A34_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RO_HW_WF_TRX_MODE : 2; ++ unsigned int rsvd_0 : 2; ++ unsigned int RO_HW_WF_RX_GAIN : 8; ++ unsigned int RO_HW_WF_BW : 2; ++ unsigned int rsvd_1 : 2; ++ unsigned int RO_HW_WF_TX_GAIN : 8; ++ unsigned int RO_HW_WF_AGC_LOCK : 1; ++ unsigned int rsvd_2 : 7; ++ } b; ++} RG_TOP_A34_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/rf_d_tx_reg.h b/drivers/net/wireless/w1/common/rf_d_tx_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..bf180978c96379f596621a11d916308053438514 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/rf_d_tx_reg.h +@@ -0,0 +1,430 @@ ++#ifdef RF_D_TX_REG ++#else ++#define RF_D_TX_REG ++ ++ ++#define RF_D_TX_REG_BASE (0x800) ++ ++#define RG_TX_A0 (RF_D_TX_REG_BASE + 0x0) ++// Bit 2 :0 rg_wf5g_tx_pa_vgcg0 U RW default = 'h4 ++// Bit 6 :4 rg_wf5g_tx_mxr_vgcg1 U RW default = 'h3 ++// Bit 10 :8 rg_wf5g_tx_mxr_lo_vb U RW default = 'h3 ++// Bit 14 :12 rg_wf5g_tx_mxr_lobuf_ict U RW default = 'h4 ++typedef union RG_TX_A0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_TX_PA_VGCG0 : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_TX_MXR_VGCG1 : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_TX_MXR_LO_VB : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_TX_MXR_LOBUF_ICT : 3; ++ unsigned int rsvd_3 : 17; ++ } b; ++} RG_TX_A0_FIELD_T; ++ ++#define RG_TX_A1 (RF_D_TX_REG_BASE + 0x4) ++// Bit 2 :0 rg_wf5g_tx_adb_cbank U RW default = 'h7 ++// Bit 6 :3 rg_wf5g_tx_adb_dc U RW default = 'h4 ++// Bit 10 :7 rg_wf5g_tx_adb_vb_ct U RW default = 'h0 ++// Bit 11 rg_wf5g_tx_adb_en U RW default = 'h1 ++// Bit 12 rg_wf5g_tx_adb_ed_en U RW default = 'h1 ++// Bit 16 :13 rg_wf5g_tx_adb_ed_gain U RW default = 'h4 ++// Bit 19 :17 rg_wf5g_tx_adb_icgm U RW default = 'h3 ++// Bit 22 :20 rg_wf5g_tx_adb_iptat U RW default = 'h0 ++// Bit 25 :23 rg_wf5g_tx_ib_adj U RW default = 'h0 ++typedef union RG_TX_A1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_TX_ADB_CBANK : 3; ++ unsigned int RG_WF5G_TX_ADB_DC : 4; ++ unsigned int RG_WF5G_TX_ADB_VB_CT : 4; ++ unsigned int RG_WF5G_TX_ADB_EN : 1; ++ unsigned int RG_WF5G_TX_ADB_ED_EN : 1; ++ unsigned int RG_WF5G_TX_ADB_ED_GAIN : 4; ++ unsigned int RG_WF5G_TX_ADB_ICGM : 3; ++ unsigned int RG_WF5G_TX_ADB_IPTAT : 3; ++ unsigned int RG_WF5G_TX_IB_ADJ : 3; ++ unsigned int rsvd_0 : 6; ++ } b; ++} RG_TX_A1_FIELD_T; ++ ++#define RG_TX_A2 (RF_D_TX_REG_BASE + 0x8) ++// Bit 0 rg_wf5g_tx_tssi_en U RW default = 'h0 ++// Bit 3 :1 rg_wf5g_tx_tssi_attn U RW default = 'h7 ++// Bit 6 :4 rg_wf5g_tx_tssi_lo_vb U RW default = 'h3 ++// Bit 7 rg_wf5g_tx_iqcal_en U RW default = 'h0 ++// Bit 8 rg_wf5g_tx_rxiqcal_en U RW default = 'h0 ++// Bit 16 :9 rg_wf5g_tx_tp_sel U RW default = 'h0 ++// Bit 17 rg_wf5g_tx_tp_en U RW default = 'h0 ++// Bit 20 :18 rg_wf5g_tx_pa_gain_man U RW default = 'h7 ++// Bit 23 :21 rg_wf5g_tx_mxr_gain_man U RW default = 'h7 ++// Bit 24 rg_wf5g_tx_man_mode U RW default = 'h0 ++typedef union RG_TX_A2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_TX_TSSI_EN : 1; ++ unsigned int RG_WF5G_TX_TSSI_ATTN : 3; ++ unsigned int RG_WF5G_TX_TSSI_LO_VB : 3; ++ unsigned int RG_WF5G_TX_IQCAL_EN : 1; ++ unsigned int RG_WF5G_TX_RXIQCAL_EN : 1; ++ unsigned int RG_WF5G_TX_TP_SEL : 8; ++ unsigned int RG_WF5G_TX_TP_EN : 1; ++ unsigned int RG_WF5G_TX_PA_GAIN_MAN : 3; ++ unsigned int RG_WF5G_TX_MXR_GAIN_MAN : 3; ++ unsigned int RG_WF5G_TX_MAN_MODE : 1; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_TX_A2_FIELD_T; ++ ++#define RG_TX_A3 (RF_D_TX_REG_BASE + 0xc) ++// Bit 0 rg_m0_wf5g_tx_pa_en U RW default = 'h0 ++// Bit 1 rg_m0_wf5g_tx_mxr_en U RW default = 'h0 ++// Bit 2 rg_m0_wf5g_tx_ib_en U RW default = 'h0 ++// Bit 3 rg_m1_wf5g_tx_pa_en U RW default = 'h0 ++// Bit 4 rg_m1_wf5g_tx_mxr_en U RW default = 'h0 ++// Bit 5 rg_m1_wf5g_tx_ib_en U RW default = 'h0 ++// Bit 6 rg_m2_wf5g_tx_pa_en U RW default = 'h1 ++// Bit 7 rg_m2_wf5g_tx_mxr_en U RW default = 'h1 ++// Bit 8 rg_m2_wf5g_tx_ib_en U RW default = 'h1 ++// Bit 9 rg_m3_wf5g_tx_pa_en U RW default = 'h0 ++// Bit 10 rg_m3_wf5g_tx_mxr_en U RW default = 'h0 ++// Bit 11 rg_m3_wf5g_tx_ib_en U RW default = 'h0 ++// Bit 31 :16 rg_wf5g_tx_rsv U RW default = 'h0 ++typedef union RG_TX_A3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M0_WF5G_TX_PA_EN : 1; ++ unsigned int RG_M0_WF5G_TX_MXR_EN : 1; ++ unsigned int RG_M0_WF5G_TX_IB_EN : 1; ++ unsigned int RG_M1_WF5G_TX_PA_EN : 1; ++ unsigned int RG_M1_WF5G_TX_MXR_EN : 1; ++ unsigned int RG_M1_WF5G_TX_IB_EN : 1; ++ unsigned int RG_M2_WF5G_TX_PA_EN : 1; ++ unsigned int RG_M2_WF5G_TX_MXR_EN : 1; ++ unsigned int RG_M2_WF5G_TX_IB_EN : 1; ++ unsigned int RG_M3_WF5G_TX_PA_EN : 1; ++ unsigned int RG_M3_WF5G_TX_MXR_EN : 1; ++ unsigned int RG_M3_WF5G_TX_IB_EN : 1; ++ unsigned int rsvd_0 : 4; ++ unsigned int RG_WF5G_TX_RSV : 16; ++ } b; ++} RG_TX_A3_FIELD_T; ++ ++#define RG_TX_A4 (RF_D_TX_REG_BASE + 0x10) ++// Bit 2 :0 rg_wf2g_tx_pa_vgcg0 U RW default = 'h7 ++// Bit 7 :3 rg_wf2g_tx_mxr_cbank U RW default = 'h4 ++// Bit 10 :8 rg_wf2g_tx_mxr_vgcg1 U RW default = 'h7 ++// Bit 13 :11 rg_wf2g_tx_mxr_lo_vb U RW default = 'h7 ++// Bit 16 :14 rg_wf2g_tx_mxr_lobuf_ict U RW default = 'h1 ++// Bit 20 :17 rg_wf2g_tx_var_u U RW default = 'h8 ++// Bit 24 :21 rg_wf2g_tx_var_d U RW default = 'h8 ++typedef union RG_TX_A4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_TX_PA_VGCG0 : 3; ++ unsigned int RG_WF2G_TX_MXR_CBANK : 5; ++ unsigned int RG_WF2G_TX_MXR_VGCG1 : 3; ++ unsigned int RG_WF2G_TX_MXR_LO_VB : 3; ++ unsigned int RG_WF2G_TX_MXR_LOBUF_ICT : 3; ++ unsigned int RG_WF2G_TX_VAR_U : 4; ++ unsigned int RG_WF2G_TX_VAR_D : 4; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_TX_A4_FIELD_T; ++ ++#define RG_TX_A5 (RF_D_TX_REG_BASE + 0x14) ++// Bit 2 :0 rg_wf2g_tx_adb_cbank U RW default = 'h3 ++// Bit 6 :3 rg_wf2g_tx_adb_dcib U RW default = 'h0 ++// Bit 10 :7 rg_wf2g_tx_adb_dcvb U RW default = 'h0 ++// Bit 11 rg_wf2g_tx_adb_en U RW default = 'h1 ++// Bit 12 rg_wf2g_tx_adb_ed_en U RW default = 'h1 ++// Bit 16 :13 rg_wf2g_tx_adb_ed_gain U RW default = 'h3 ++// Bit 19 :17 rg_wf2g_tx_adb_icgm U RW default = 'h2 ++// Bit 22 :20 rg_wf2g_tx_adb_iptat U RW default = 'h2 ++// Bit 25 :23 rg_wf2g_tx_ib_adj U RW default = 'h3 ++// Bit 26 rg_wf2g_tx_tssi_en U RW default = 'h0 ++// Bit 29 :27 rg_wf2g_tx_tssi_attn U RW default = 'h7 ++typedef union RG_TX_A5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_TX_ADB_CBANK : 3; ++ unsigned int RG_WF2G_TX_ADB_DCIB : 4; ++ unsigned int RG_WF2G_TX_ADB_DCVB : 4; ++ unsigned int RG_WF2G_TX_ADB_EN : 1; ++ unsigned int RG_WF2G_TX_ADB_ED_EN : 1; ++ unsigned int RG_WF2G_TX_ADB_ED_GAIN : 4; ++ unsigned int RG_WF2G_TX_ADB_ICGM : 3; ++ unsigned int RG_WF2G_TX_ADB_IPTAT : 3; ++ unsigned int RG_WF2G_TX_IB_ADJ : 3; ++ unsigned int RG_WF2G_TX_TSSI_EN : 1; ++ unsigned int RG_WF2G_TX_TSSI_ATTN : 3; ++ unsigned int rsvd_0 : 2; ++ } b; ++} RG_TX_A5_FIELD_T; ++ ++#define RG_TX_A6 (RF_D_TX_REG_BASE + 0x18) ++// Bit 2 :0 rg_wf2g_tx_tssi_lo_vb U RW default = 'h3 ++// Bit 3 rg_wf2g_tx_iqcal_en U RW default = 'h0 ++// Bit 4 rg_wf2g_tx_rxiqcal_en U RW default = 'h0 ++// Bit 12 :5 rg_wf2g_tx_tp_sel U RW default = 'h0 ++// Bit 13 rg_wf2g_tx_tp_en U RW default = 'h0 ++// Bit 16 :14 rg_wf2g_tx_pa_gain_man U RW default = 'h7 ++// Bit 19 :17 rg_wf2g_tx_mxr_gain_man U RW default = 'h7 ++// Bit 20 rg_wf2g_tx_man_mode U RW default = 'h0 ++typedef union RG_TX_A6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_TX_TSSI_LO_VB : 3; ++ unsigned int RG_WF2G_TX_IQCAL_EN : 1; ++ unsigned int RG_WF2G_TX_RXIQCAL_EN : 1; ++ unsigned int RG_WF2G_TX_TP_SEL : 8; ++ unsigned int RG_WF2G_TX_TP_EN : 1; ++ unsigned int RG_WF2G_TX_PA_GAIN_MAN : 3; ++ unsigned int RG_WF2G_TX_MXR_GAIN_MAN : 3; ++ unsigned int RG_WF2G_TX_MAN_MODE : 1; ++ unsigned int rsvd_0 : 11; ++ } b; ++} RG_TX_A6_FIELD_T; ++ ++#define RG_TX_A7 (RF_D_TX_REG_BASE + 0x1c) ++// Bit 0 rg_m0_wf2g_tx_pa_en U RW default = 'h0 ++// Bit 1 rg_m0_wf2g_tx_mxr_en U RW default = 'h0 ++// Bit 2 rg_m0_wf2g_tx_var_en U RW default = 'h0 ++// Bit 3 rg_m0_wf2g_tx_ib_en U RW default = 'h0 ++// Bit 4 rg_m1_wf2g_tx_pa_en U RW default = 'h0 ++// Bit 5 rg_m1_wf2g_tx_mxr_en U RW default = 'h0 ++// Bit 6 rg_m1_wf2g_tx_var_en U RW default = 'h0 ++// Bit 7 rg_m1_wf2g_tx_ib_en U RW default = 'h0 ++// Bit 8 rg_m2_wf2g_tx_pa_en U RW default = 'h0 ++// Bit 9 rg_m2_wf2g_tx_mxr_en U RW default = 'h0 ++// Bit 10 rg_m2_wf2g_tx_var_en U RW default = 'h0 ++// Bit 11 rg_m2_wf2g_tx_ib_en U RW default = 'h0 ++// Bit 12 rg_m3_wf2g_tx_pa_en U RW default = 'h0 ++// Bit 13 rg_m3_wf2g_tx_mxr_en U RW default = 'h0 ++// Bit 14 rg_m3_wf2g_tx_var_en U RW default = 'h0 ++// Bit 15 rg_m3_wf2g_tx_ib_en U RW default = 'h0 ++// Bit 31 :16 rg_wf2g_tx_rsv U RW default = 'h0 ++typedef union RG_TX_A7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M0_WF2G_TX_PA_EN : 1; ++ unsigned int RG_M0_WF2G_TX_MXR_EN : 1; ++ unsigned int RG_M0_WF2G_TX_VAR_EN : 1; ++ unsigned int RG_M0_WF2G_TX_IB_EN : 1; ++ unsigned int RG_M1_WF2G_TX_PA_EN : 1; ++ unsigned int RG_M1_WF2G_TX_MXR_EN : 1; ++ unsigned int RG_M1_WF2G_TX_VAR_EN : 1; ++ unsigned int RG_M1_WF2G_TX_IB_EN : 1; ++ unsigned int RG_M2_WF2G_TX_PA_EN : 1; ++ unsigned int RG_M2_WF2G_TX_MXR_EN : 1; ++ unsigned int RG_M2_WF2G_TX_VAR_EN : 1; ++ unsigned int RG_M2_WF2G_TX_IB_EN : 1; ++ unsigned int RG_M3_WF2G_TX_PA_EN : 1; ++ unsigned int RG_M3_WF2G_TX_MXR_EN : 1; ++ unsigned int RG_M3_WF2G_TX_VAR_EN : 1; ++ unsigned int RG_M3_WF2G_TX_IB_EN : 1; ++ unsigned int RG_WF2G_TX_RSV : 16; ++ } b; ++} RG_TX_A7_FIELD_T; ++ ++#define RG_TX_A8 (RF_D_TX_REG_BASE + 0x20) ++// Bit 2 :0 rg_wf5g_tx_pa_gain_g1 U RW default = 'h7 ++// Bit 6 :4 rg_wf5g_tx_pa_gain_g2 U RW default = 'h7 ++// Bit 10 :8 rg_wf5g_tx_pa_gain_g3 U RW default = 'h3 ++// Bit 14 :12 rg_wf5g_tx_pa_gain_g4 U RW default = 'h1 ++// Bit 18 :16 rg_wf5g_tx_mxr_gain_g1 U RW default = 'h7 ++// Bit 22 :20 rg_wf5g_tx_mxr_gain_g2 U RW default = 'h7 ++// Bit 26 :24 rg_wf5g_tx_mxr_gain_g3 U RW default = 'h3 ++// Bit 30 :28 rg_wf5g_tx_mxr_gain_g4 U RW default = 'h1 ++typedef union RG_TX_A8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_TX_PA_GAIN_G1 : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF5G_TX_PA_GAIN_G2 : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF5G_TX_PA_GAIN_G3 : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF5G_TX_PA_GAIN_G4 : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF5G_TX_MXR_GAIN_G1 : 3; ++ unsigned int rsvd_4 : 1; ++ unsigned int RG_WF5G_TX_MXR_GAIN_G2 : 3; ++ unsigned int rsvd_5 : 1; ++ unsigned int RG_WF5G_TX_MXR_GAIN_G3 : 3; ++ unsigned int rsvd_6 : 1; ++ unsigned int RG_WF5G_TX_MXR_GAIN_G4 : 3; ++ unsigned int rsvd_7 : 1; ++ } b; ++} RG_TX_A8_FIELD_T; ++ ++#define RG_TX_A9 (RF_D_TX_REG_BASE + 0x24) ++// Bit 2 :0 rg_wf2g_tx_pa_gain_g1 U RW default = 'h7 ++// Bit 6 :4 rg_wf2g_tx_pa_gain_g2 U RW default = 'h7 ++// Bit 10 :8 rg_wf2g_tx_pa_gain_g3 U RW default = 'h3 ++// Bit 14 :12 rg_wf2g_tx_pa_gain_g4 U RW default = 'h1 ++// Bit 18 :16 rg_wf2g_tx_mxr_gain_g1 U RW default = 'h7 ++// Bit 22 :20 rg_wf2g_tx_mxr_gain_g2 U RW default = 'h7 ++// Bit 26 :24 rg_wf2g_tx_mxr_gain_g3 U RW default = 'h3 ++// Bit 30 :28 rg_wf2g_tx_mxr_gain_g4 U RW default = 'h1 ++typedef union RG_TX_A9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF2G_TX_PA_GAIN_G1 : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_WF2G_TX_PA_GAIN_G2 : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int RG_WF2G_TX_PA_GAIN_G3 : 3; ++ unsigned int rsvd_2 : 1; ++ unsigned int RG_WF2G_TX_PA_GAIN_G4 : 3; ++ unsigned int rsvd_3 : 1; ++ unsigned int RG_WF2G_TX_MXR_GAIN_G1 : 3; ++ unsigned int rsvd_4 : 1; ++ unsigned int RG_WF2G_TX_MXR_GAIN_G2 : 3; ++ unsigned int rsvd_5 : 1; ++ unsigned int RG_WF2G_TX_MXR_GAIN_G3 : 3; ++ unsigned int rsvd_6 : 1; ++ unsigned int RG_WF2G_TX_MXR_GAIN_G4 : 3; ++ unsigned int rsvd_7 : 1; ++ } b; ++} RG_TX_A9_FIELD_T; ++ ++#define RG_TX_A10 (RF_D_TX_REG_BASE + 0x28) ++// Bit 0 rg_m4_wf5g_tx_pa_en U RW default = 'h1 ++// Bit 1 rg_m4_wf5g_tx_mxr_en U RW default = 'h1 ++// Bit 2 rg_m4_wf5g_tx_ib_en U RW default = 'h1 ++// Bit 3 rg_m5_wf5g_tx_pa_en U RW default = 'h0 ++// Bit 4 rg_m5_wf5g_tx_mxr_en U RW default = 'h0 ++// Bit 5 rg_m5_wf5g_tx_ib_en U RW default = 'h0 ++// Bit 6 rg_m6_wf5g_tx_pa_en U RW default = 'h0 ++// Bit 7 rg_m6_wf5g_tx_mxr_en U RW default = 'h0 ++// Bit 8 rg_m6_wf5g_tx_ib_en U RW default = 'h0 ++// Bit 9 rg_m7_wf5g_tx_pa_en U RW default = 'h0 ++// Bit 10 rg_m7_wf5g_tx_mxr_en U RW default = 'h0 ++// Bit 11 rg_m7_wf5g_tx_ib_en U RW default = 'h0 ++typedef union RG_TX_A10_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M4_WF5G_TX_PA_EN : 1; ++ unsigned int RG_M4_WF5G_TX_MXR_EN : 1; ++ unsigned int RG_M4_WF5G_TX_IB_EN : 1; ++ unsigned int RG_M5_WF5G_TX_PA_EN : 1; ++ unsigned int RG_M5_WF5G_TX_MXR_EN : 1; ++ unsigned int RG_M5_WF5G_TX_IB_EN : 1; ++ unsigned int RG_M6_WF5G_TX_PA_EN : 1; ++ unsigned int RG_M6_WF5G_TX_MXR_EN : 1; ++ unsigned int RG_M6_WF5G_TX_IB_EN : 1; ++ unsigned int RG_M7_WF5G_TX_PA_EN : 1; ++ unsigned int RG_M7_WF5G_TX_MXR_EN : 1; ++ unsigned int RG_M7_WF5G_TX_IB_EN : 1; ++ unsigned int rsvd_0 : 20; ++ } b; ++} RG_TX_A10_FIELD_T; ++ ++#define RG_TX_A11 (RF_D_TX_REG_BASE + 0x2c) ++// Bit 0 rg_m4_wf2g_tx_pa_en U RW default = 'h0 ++// Bit 1 rg_m4_wf2g_tx_mxr_en U RW default = 'h0 ++// Bit 2 rg_m4_wf2g_tx_var_en U RW default = 'h0 ++// Bit 3 rg_m4_wf2g_tx_ib_en U RW default = 'h0 ++// Bit 4 rg_m5_wf2g_tx_pa_en U RW default = 'h0 ++// Bit 5 rg_m5_wf2g_tx_mxr_en U RW default = 'h0 ++// Bit 6 rg_m5_wf2g_tx_var_en U RW default = 'h0 ++// Bit 7 rg_m5_wf2g_tx_ib_en U RW default = 'h0 ++// Bit 8 rg_m6_wf2g_tx_pa_en U RW default = 'h1 ++// Bit 9 rg_m6_wf2g_tx_mxr_en U RW default = 'h1 ++// Bit 10 rg_m6_wf2g_tx_var_en U RW default = 'h1 ++// Bit 11 rg_m6_wf2g_tx_ib_en U RW default = 'h1 ++// Bit 12 rg_m7_wf2g_tx_pa_en U RW default = 'h0 ++// Bit 13 rg_m7_wf2g_tx_mxr_en U RW default = 'h0 ++// Bit 14 rg_m7_wf2g_tx_var_en U RW default = 'h0 ++// Bit 15 rg_m7_wf2g_tx_ib_en U RW default = 'h0 ++typedef union RG_TX_A11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_M4_WF2G_TX_PA_EN : 1; ++ unsigned int RG_M4_WF2G_TX_MXR_EN : 1; ++ unsigned int RG_M4_WF2G_TX_VAR_EN : 1; ++ unsigned int RG_M4_WF2G_TX_IB_EN : 1; ++ unsigned int RG_M5_WF2G_TX_PA_EN : 1; ++ unsigned int RG_M5_WF2G_TX_MXR_EN : 1; ++ unsigned int RG_M5_WF2G_TX_VAR_EN : 1; ++ unsigned int RG_M5_WF2G_TX_IB_EN : 1; ++ unsigned int RG_M6_WF2G_TX_PA_EN : 1; ++ unsigned int RG_M6_WF2G_TX_MXR_EN : 1; ++ unsigned int RG_M6_WF2G_TX_VAR_EN : 1; ++ unsigned int RG_M6_WF2G_TX_IB_EN : 1; ++ unsigned int RG_M7_WF2G_TX_PA_EN : 1; ++ unsigned int RG_M7_WF2G_TX_MXR_EN : 1; ++ unsigned int RG_M7_WF2G_TX_VAR_EN : 1; ++ unsigned int RG_M7_WF2G_TX_IB_EN : 1; ++ unsigned int rsvd_0 : 16; ++ } b; ++} RG_TX_A11_FIELD_T; ++ ++#define RG_TX_A12 (RF_D_TX_REG_BASE + 0x30) ++// Bit 7 :0 rg_wf_tx_gain_man U RW default = 'h0 ++// Bit 8 rg_wf_tx_gain_man_mode U RW default = 'h0 ++// Bit 23 :16 rg_wf_tx_pa_en_delay_bnd U RW default = 'h14 ++// Bit 24 rg_wf_tx_pa_en_delay_bypass U RW default = 'h0 ++typedef union RG_TX_A12_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF_TX_GAIN_MAN : 8; ++ unsigned int RG_WF_TX_GAIN_MAN_MODE : 1; ++ unsigned int rsvd_0 : 7; ++ unsigned int RG_WF_TX_PA_EN_DELAY_BND : 8; ++ unsigned int RG_WF_TX_PA_EN_DELAY_BYPASS : 1; ++ unsigned int rsvd_1 : 7; ++ } b; ++} RG_TX_A12_FIELD_T; ++ ++#define RG_TX_A13 (RF_D_TX_REG_BASE + 0x34) ++// Bit 4 :0 rg_wf5g_tx_mxr_cbank_g1 U RW default = 'h7 ++// Bit 9 :5 rg_wf5g_tx_mxr_cbank_g2 U RW default = 'h7 ++// Bit 14 :10 rg_wf5g_tx_mxr_cbank_g3 U RW default = 'h7 ++// Bit 19 :15 rg_wf5g_tx_mxr_cbank_g4 U RW default = 'h3 ++// Bit 24 :20 rg_wf5g_tx_mxr_cbank_man U RW default = 'h4 ++typedef union RG_TX_A13_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int RG_WF5G_TX_MXR_CBANK_G1 : 5; ++ unsigned int RG_WF5G_TX_MXR_CBANK_G2 : 5; ++ unsigned int RG_WF5G_TX_MXR_CBANK_G3 : 5; ++ unsigned int RG_WF5G_TX_MXR_CBANK_G4 : 5; ++ unsigned int RG_WF5G_TX_MXR_CBANK_MAN : 5; ++ unsigned int rsvd_0 : 7; ++ } b; ++} RG_TX_A13_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/rf_d_xosc_reg.h b/drivers/net/wireless/w1/common/rf_d_xosc_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..1e5bfa1aaaf78ffd86da3372f3aa2fb21109221e +--- /dev/null ++++ b/drivers/net/wireless/w1/common/rf_d_xosc_reg.h +@@ -0,0 +1,121 @@ ++#ifdef RF_D_XOSC_REG +#else -+#define RF_D_ADDA_CORE_REG -+ -+ -+#define RF_D_ADDA_CORE_REG_BASE (0xa0e000) -+ -+#define RG_CORE_A0 (RF_D_ADDA_CORE_REG_BASE + 0x0) -+// Bit 31 :0 rg_core_cfg0 U RW default = 'h0 -+typedef union RG_CORE_A0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_core_cfg0 : 32; -+ } b; -+} RG_CORE_A0_FIELD_T; ++#define RF_D_XOSC_REG + -+#define RG_CORE_A1 (RF_D_ADDA_CORE_REG_BASE + 0x4) -+// Bit 31 :0 rg_core_cfg1 U RW default = 'h0 -+typedef union RG_CORE_A1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_core_cfg1 : 32; -+ } b; -+} RG_CORE_A1_FIELD_T; -+ -+#define RG_CORE_A2 (RF_D_ADDA_CORE_REG_BASE + 0x8) -+// Bit 0 rg_core_enb_man U RW default = 'h0 -+// Bit 4 rg_core_enb_man_en U RW default = 'h0 -+// Bit 8 rg_xmit_enb_man U RW default = 'h0 -+// Bit 12 rg_xmit_enb_man_en U RW default = 'h0 -+// Bit 16 rg_recv_enb_man U RW default = 'h0 -+// Bit 20 rg_recv_enb_man_en U RW default = 'h0 -+// Bit 24 rg_esti_enb_man U RW default = 'h0 -+// Bit 28 rg_esti_enb_man_en U RW default = 'h0 -+typedef union RG_CORE_A2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_core_enb_man : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_core_enb_man_en : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int rg_xmit_enb_man : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int rg_xmit_enb_man_en : 1; -+ unsigned int rsvd_3 : 3; -+ unsigned int rg_recv_enb_man : 1; -+ unsigned int rsvd_4 : 3; -+ unsigned int rg_recv_enb_man_en : 1; -+ unsigned int rsvd_5 : 3; -+ unsigned int rg_esti_enb_man : 1; -+ unsigned int rsvd_6 : 3; -+ unsigned int rg_esti_enb_man_en : 1; -+ unsigned int rsvd_7 : 3; -+ } b; -+} RG_CORE_A2_FIELD_T; ++#define CHIP_ANA_REG_BASE (0xf01000) + -+#define RG_CORE_A3 (RF_D_ADDA_CORE_REG_BASE + 0xc) -+// Bit 12 :0 rg_freq_mhz_man U RW default = 'h0 -+// Bit 15 rg_freq_mhz_man_en U RW default = 'h0 -+// Bit 24 rg_2g_5g_man U RW default = 'h0 -+// Bit 31 rg_2g_5g_man_en U RW default = 'h0 -+typedef union RG_CORE_A3_FIELD ++#define RG_XOSC_A7 (CHIP_ANA_REG_BASE + 0x20) ++// Bit 0 rg_xo_bg_en_man U RW default = 'h1 ++// Bit 2 rg_xo_bg_en_man_sel U RW default = 'h0 ++// Bit 3 rg_xo_ldo_bypass_en U RW default = 'h0 ++// Bit 4 rg_xo_ldo_en_man U RW default = 'h1 ++// Bit 5 rg_xo_ldo_en_man_sel U RW default = 'h0 ++// Bit 7 :6 rg_xo_ldo_fbr_ctrl U RW default = 'h2 ++// Bit 13 :8 rg_xo_ldo_vref_cal U RW default = 'h10 ++// Bit 14 rg_xo_en_man U RW default = 'h1 ++// Bit 15 rg_xo_en_man_sel U RW default = 'h0 ++// Bit 16 rg_xo_sel U RW default = 'h0 ++// Bit 21 :17 rg_xo_core_bias_rcal_ctrl U RW default = 'h10 ++typedef union RG_XOSC_A7_FIELD +{ + unsigned int data; + struct + { -+ unsigned int rg_freq_mhz_man : 13; -+ unsigned int rsvd_0 : 2; -+ unsigned int rg_freq_mhz_man_en : 1; -+ unsigned int rsvd_1 : 8; -+ unsigned int rg_2g_5g_man : 1; -+ unsigned int rsvd_2 : 6; -+ unsigned int rg_2g_5g_man_en : 1; ++ unsigned int RG_XO_BG_EN_MAN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_XO_BG_EN_MAN_SEL : 1; ++ unsigned int RG_XO_LDO_BYPASS_EN : 1; ++ unsigned int RG_XO_LDO_EN_MAN : 1; ++ unsigned int RG_XO_LDO_EN_MAN_SEL : 1; ++ unsigned int RG_XO_LDO_FBR_CTRL : 2; ++ unsigned int RG_XO_LDO_VREF_CAL : 6; ++ unsigned int RG_XO_EN_MAN : 1; ++ unsigned int RG_XO_EN_MAN_SEL : 1; ++ unsigned int RG_XO_SEL : 1; ++ unsigned int RG_XO_CORE_BIAS_RCAL_CTRL : 5; ++ unsigned int rsvd_1 : 10; + } b; -+} RG_CORE_A3_FIELD_T; ++} RG_XOSC_A7_FIELD_T; + -+#define RG_CORE_A4 (RF_D_ADDA_CORE_REG_BASE + 0x10) -+// Bit 3 :0 rg_tx_pwrlvl_man U RW default = 'h0 -+// Bit 8 rg_tx_pwrlvl_man_en U RW default = 'h0 -+// Bit 17 :16 rg_tx_bw_man U RW default = 'h0 -+// Bit 20 rg_tx_bw_man_en U RW default = 'h0 -+// Bit 25 :24 rg_dac_fs_man U RW default = 'h0 -+// Bit 28 rg_dac_fs_man_en U RW default = 'h0 -+typedef union RG_CORE_A4_FIELD ++#define RG_XOSC_A8 (CHIP_ANA_REG_BASE + 0x24) ++// Bit 3 :0 rg_xo_core_cfixed_ctrl U RW default = 'h8 ++// Bit 11 :4 rg_xo_core_ctune_ctrl U RW default = 'h32 ++// Bit 15 :12 rg_xo_core_gmos_vb_sel U RW default = 'h8 ++// Bit 20 :17 rg_xo_pd_vref_sel U RW default = 'h8 ++typedef union RG_XOSC_A8_FIELD +{ + unsigned int data; + struct + { -+ unsigned int rg_tx_pwrlvl_man : 4; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_tx_pwrlvl_man_en : 1; -+ unsigned int rsvd_1 : 7; -+ unsigned int rg_tx_bw_man : 2; -+ unsigned int rsvd_2 : 2; -+ unsigned int rg_tx_bw_man_en : 1; -+ unsigned int rsvd_3 : 3; -+ unsigned int rg_dac_fs_man : 2; -+ unsigned int rsvd_4 : 2; -+ unsigned int rg_dac_fs_man_en : 1; -+ unsigned int rsvd_5 : 3; ++ unsigned int RG_XO_CORE_CFIXED_CTRL : 4; ++ unsigned int RG_XO_CORE_CTUNE_CTRL : 8; ++ unsigned int RG_XO_CORE_GMOS_VB_SEL : 4; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_XO_PD_VREF_SEL : 4; ++ unsigned int rsvd_1 : 11; + } b; -+} RG_CORE_A4_FIELD_T; ++} RG_XOSC_A8_FIELD_T; + -+#define RG_CORE_A5 (RF_D_ADDA_CORE_REG_BASE + 0x14) -+// Bit 7 :0 rg_rx_gain_man U RW default = 'h0 -+// Bit 8 rg_rx_gain_man_en U RW default = 'h0 -+// Bit 17 :16 rg_rx_bw_man U RW default = 'h0 -+// Bit 20 rg_rx_bw_man_en U RW default = 'h0 -+// Bit 25 :24 rg_adc_fs_man U RW default = 'h0 -+// Bit 28 rg_adc_fs_man_en U RW default = 'h0 -+typedef union RG_CORE_A5_FIELD ++#define RG_XOSC_A9 (CHIP_ANA_REG_BASE + 0x28) ++// Bit 3 :0 rg_xo_buf1_bias_ctrl U RW default = 'h8 ++// Bit 7 :4 rg_xo_buf2_bias_ctrl U RW default = 'h8 ++// Bit 11 :8 rg_xo_buf3_bias_ctrl U RW default = 'h8 ++// Bit 12 rg_xo_aml_cal_error_ctrl U RW default = 'h0 ++typedef union RG_XOSC_A9_FIELD +{ + unsigned int data; + struct + { -+ unsigned int rg_rx_gain_man : 8; -+ unsigned int rg_rx_gain_man_en : 1; -+ unsigned int rsvd_0 : 7; -+ unsigned int rg_rx_bw_man : 2; -+ unsigned int rsvd_1 : 2; -+ unsigned int rg_rx_bw_man_en : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int rg_adc_fs_man : 2; -+ unsigned int rsvd_3 : 2; -+ unsigned int rg_adc_fs_man_en : 1; -+ unsigned int rsvd_4 : 3; ++ unsigned int RG_XO_BUF1_BIAS_CTRL : 4; ++ unsigned int RG_XO_BUF2_BIAS_CTRL : 4; ++ unsigned int RG_XO_BUF3_BIAS_CTRL : 4; ++ unsigned int RG_XO_AML_CAL_ERROR_CTRL : 1; ++ unsigned int rsvd_0 : 19; + } b; -+} RG_CORE_A5_FIELD_T; ++} RG_XOSC_A9_FIELD_T; + -+#define RG_CORE_A6 (RF_D_ADDA_CORE_REG_BASE + 0x18) -+// Bit 1 :0 rg_rf_mode_man U RW default = 'h0 -+// Bit 4 rg_rf_mode_man_en U RW default = 'h0 -+// Bit 11 :8 rg_cali_mode_man U RW default = 'h0 -+// Bit 16 rg_cali_mode_man_en U RW default = 'h0 -+// Bit 20 rg_tx_rx_man_en U RW default = 'h0 -+// Bit 24 rg_tx_rx_man U RW default = 'h0 -+typedef union RG_CORE_A6_FIELD ++#define RG_XOSC_A11 (CHIP_ANA_REG_BASE + 0x30) ++// Bit 0 rg_xo_ldo_fc_en_man_sel U RW default = 'h0 ++// Bit 1 rg_xo_ldo_fc_en_man U RW default = 'h0 ++// Bit 2 rg_xo_pd_en_man_sel U RW default = 'h0 ++// Bit 3 rg_xo_pd_en_man U RW default = 'h1 ++// Bit 4 rg_xo_buf_core_en_man_sel U RW default = 'h0 ++// Bit 5 rg_xo_buf_core_en_man U RW default = 'h1 ++// Bit 6 rg_xo_buf_wf_en_man_sel U RW default = 'h0 ++// Bit 7 rg_xo_buf_wf_en_man U RW default = 'h1 ++// Bit 8 rg_xo_buf_dig_en_man_sel U RW default = 'h0 ++// Bit 9 rg_xo_buf_dig_en_man U RW default = 'h1 ++// Bit 10 rg_xo_buf_bb_en_man_sel U RW default = 'h0 ++// Bit 11 rg_xo_buf_bb_en_man U RW default = 'h1 ++// Bit 12 rg_xo_buf_bt_en_man_sel U RW default = 'h0 ++// Bit 13 rg_xo_buf_bt_en_man U RW default = 'h1 ++// Bit 15 rg_xo_core_bias_ctrl_man_sel U RW default = 'h0 ++// Bit 23 :16 rg_xo_core_bias_ctrl_man U RW default = 'hff ++// Bit 31 :24 rg_xosc_wait_bnd U RW default = 'h3f ++typedef union RG_XOSC_A11_FIELD +{ + unsigned int data; + struct + { -+ unsigned int rg_rf_mode_man : 2; -+ unsigned int rsvd_0 : 2; -+ unsigned int rg_rf_mode_man_en : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int rg_cali_mode_man : 4; -+ unsigned int rsvd_2 : 4; -+ unsigned int rg_cali_mode_man_en : 1; -+ unsigned int rsvd_3 : 3; -+ unsigned int rg_tx_rx_man_en : 1; -+ unsigned int rsvd_4 : 3; -+ unsigned int rg_tx_rx_man : 1; -+ unsigned int rsvd_5 : 7; ++ unsigned int RG_XO_LDO_FC_EN_MAN_SEL : 1; ++ unsigned int RG_XO_LDO_FC_EN_MAN : 1; ++ unsigned int RG_XO_PD_EN_MAN_SEL : 1; ++ unsigned int RG_XO_PD_EN_MAN : 1; ++ unsigned int RG_XO_BUF_CORE_EN_MAN_SEL : 1; ++ unsigned int RG_XO_BUF_CORE_EN_MAN : 1; ++ unsigned int RG_XO_BUF_WF_EN_MAN_SEL : 1; ++ unsigned int RG_XO_BUF_WF_EN_MAN : 1; ++ unsigned int RG_XO_BUF_DIG_EN_MAN_SEL : 1; ++ unsigned int RG_XO_BUF_DIG_EN_MAN : 1; ++ unsigned int RG_XO_BUF_BB_EN_MAN_SEL : 1; ++ unsigned int RG_XO_BUF_BB_EN_MAN : 1; ++ unsigned int RG_XO_BUF_BT_EN_MAN_SEL : 1; ++ unsigned int RG_XO_BUF_BT_EN_MAN : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int RG_XO_CORE_BIAS_CTRL_MAN_SEL : 1; ++ unsigned int RG_XO_CORE_BIAS_CTRL_MAN : 8; ++ unsigned int RG_XOSC_WAIT_BND : 8; + } b; -+} RG_CORE_A6_FIELD_T; ++} RG_XOSC_A11_FIELD_T; + +#endif -+ -diff --git a/drivers/net/wireless/w1/common/rf_d_adda_esti_reg.h b/drivers/net/wireless/w1/common/rf_d_adda_esti_reg.h +\ No newline at end of file +diff --git a/drivers/net/wireless/w1/common/wf_register.h b/drivers/net/wireless/w1/common/wf_register.h new file mode 100644 -index 000000000000..171c9610ea43 +index 0000000000000000000000000000000000000000..f2b2b78c05ffa15f7c02f1af2ecdbbbf092b0943 --- /dev/null -+++ b/drivers/net/wireless/w1/common/rf_d_adda_esti_reg.h -@@ -0,0 +1,1390 @@ -+#ifdef RF_D_ADDA_ESTI_REG -+#else -+#define RF_D_ADDA_ESTI_REG ++++ b/drivers/net/wireless/w1/common/wf_register.h +@@ -0,0 +1,21 @@ ++#ifndef __WF_REGISTER__ ++#define __WF_REGISTER__ + ++// aon ++#include "chip_ana_reg.h" ++#include "chip_intf_reg.h" ++#include "chip_pmu_reg.h" + -+#define RF_D_ADDA_ESTI_REG_BASE (0xa0ec00) ++// rf adda ++#include "rf_d_adda_core_reg.h" ++#include "rf_d_adda_esti_reg.h" ++#include "rf_d_adda_recv_reg.h" ++#include "rf_d_adda_xmit_reg.h" + -+#define RG_ESTI_A0 (RF_D_ADDA_ESTI_REG_BASE + 0x0) -+// Bit 31 :0 rg_esti_cfg0 U RW default = 'h0 -+typedef union RG_ESTI_A0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_esti_cfg0 : 32; -+ } b; -+} RG_ESTI_A0_FIELD_T; ++// rf ++#include "rf_d_rx_reg.h" ++#include "rf_d_sx_reg.h" ++#include "rf_d_top_reg.h" ++#include "rf_d_tx_reg.h" + -+#define RG_ESTI_A1 (RF_D_ADDA_ESTI_REG_BASE + 0x4) -+// Bit 31 :0 rg_esti_cfg1 U RW default = 'h0 -+typedef union RG_ESTI_A1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_esti_cfg1 : 32; -+ } b; -+} RG_ESTI_A1_FIELD_T; ++#endif +diff --git a/drivers/net/wireless/w1/common/wifi_adda_addr.h b/drivers/net/wireless/w1/common/wifi_adda_addr.h +new file mode 100644 +index 0000000000000000000000000000000000000000..b772bb73ee105c54a2a0e3542a1c3ae37a605f67 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_adda_addr.h +@@ -0,0 +1,10 @@ ++#ifndef __WIFI_ADDA_ADDR_H__ ++#define __WIFI_ADDA_ADDR_H__ + -+#define RG_ESTI_A3 (RF_D_ADDA_ESTI_REG_BASE + 0xc) -+// Bit 14 :0 ro_rxirr_eup_0 U RO default = 'h0 -+// Bit 30 :16 ro_rxirr_eup_1 U RO default = 'h0 -+typedef union RG_ESTI_A3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_eup_0 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_rxirr_eup_1 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_ESTI_A3_FIELD_T; ++#define WIFI_ADDA (0xe000) + -+#define RG_ESTI_A4 (RF_D_ADDA_ESTI_REG_BASE + 0x10) -+// Bit 14 :0 ro_rxirr_eup_2 U RO default = 'h0 -+// Bit 30 :16 ro_rxirr_eup_3 U RO default = 'h0 -+typedef union RG_ESTI_A4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_eup_2 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_rxirr_eup_3 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_ESTI_A4_FIELD_T; ++#define RG_ADDA_ADR_88 (WIFI_ADDA + 0x488) ++#define RG_IQ_SWAP_CTRL (WIFI_ADDA + 0x808) + -+#define RG_ESTI_A5 (RF_D_ADDA_ESTI_REG_BASE + 0x14) -+// Bit 14 :0 ro_rxirr_pup_0 U RO default = 'h0 -+// Bit 30 :16 ro_rxirr_pup_1 U RO default = 'h0 -+typedef union RG_ESTI_A5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_pup_0 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_rxirr_pup_1 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_ESTI_A5_FIELD_T; ++#endif + -+#define RG_ESTI_A6 (RF_D_ADDA_ESTI_REG_BASE + 0x18) -+// Bit 14 :0 ro_rxirr_pup_2 U RO default = 'h0 -+// Bit 30 :16 ro_rxirr_pup_3 U RO default = 'h0 -+typedef union RG_ESTI_A6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_pup_2 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_rxirr_pup_3 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_ESTI_A6_FIELD_T; +diff --git a/drivers/net/wireless/w1/common/wifi_agc_addr.h b/drivers/net/wireless/w1/common/wifi_agc_addr.h +new file mode 100644 +index 0000000000000000000000000000000000000000..e850665c2e07e8bed42a32467f152feadcfdb201 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_agc_addr.h +@@ -0,0 +1,110 @@ ++#ifndef __ADDR_AGC_H__ ++#define __ADDR_AGC_H__ + -+#define RG_ESTI_A7 (RF_D_ADDA_ESTI_REG_BASE + 0x1c) -+// Bit 14 :0 ro_rxirr_elow_0 U RO default = 'h0 -+// Bit 30 :16 ro_rxirr_elow_1 U RO default = 'h0 -+typedef union RG_ESTI_A7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_elow_0 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_rxirr_elow_1 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_ESTI_A7_FIELD_T; ++#define WIFI_AGC (0x8000) + -+#define RG_ESTI_A8 (RF_D_ADDA_ESTI_REG_BASE + 0x20) -+// Bit 14 :0 ro_rxirr_elow_2 U RO default = 'h0 -+// Bit 30 :16 ro_rxirr_elow_3 U RO default = 'h0 -+typedef union RG_ESTI_A8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_elow_2 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_rxirr_elow_3 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_ESTI_A8_FIELD_T; ++#define RG_AGC_STF_LIMIT_CCA_COND_EN (WIFI_AGC + 0x6c) ++#define RG_AGC_CCA_COND_TS_CTRL (WIFI_AGC + 0x70) ++#define RG_AGC_RG_AGC_OB_CCA_RES (WIFI_AGC + 0x274) ++#define RG_AGC_RG_AGC_OB_CCA_COND01 (WIFI_AGC + 0x278) ++#define RG_AGC_RG_AGC_OB_CCA_COND23 (WIFI_AGC + 0x27c) ++#define RG_AGC_STATE (WIFI_AGC+0x258) ++#define RG_AGC_OB_IC_GAIN (WIFI_AGC+0x25c) ++#define RG_AGC_WATCH1 (WIFI_AGC+0x260) ++#define RG_AGC_WATCH2 (WIFI_AGC+0x264) ++#define RG_AGC_WATCH3 (WIFI_AGC+0x268) ++#define RG_AGC_WATCH4 (WIFI_AGC+0x26c) ++#define RG_AGC_OB_ANT_NFLOOR (WIFI_AGC+0x270) ++#define RG_AGC_OB_CCA_RES (WIFI_AGC+0x274) ++#define RG_AGC_OB_CCA_COND01 (WIFI_AGC+0x278) ++#define RG_AGC_OB_CCA_COND23 (WIFI_AGC+0x27c) ++#define RG_AGC_GAIN_SEL (WIFI_AGC+ 0x84) ++#define RG_AGC_STS_REG_0 (WIFI_AGC+ 0x64) ++#define RG_AGC_EN (WIFI_AGC+ 0x10) + -+#define RG_ESTI_A9 (RF_D_ADDA_ESTI_REG_BASE + 0x24) -+// Bit 14 :0 ro_rxirr_plow_0 U RO default = 'h0 -+// Bit 30 :16 ro_rxirr_plow_1 U RO default = 'h0 -+typedef union RG_ESTI_A9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_plow_0 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_rxirr_plow_1 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_ESTI_A9_FIELD_T; + -+#define RG_ESTI_A10 (RF_D_ADDA_ESTI_REG_BASE + 0x28) -+// Bit 14 :0 ro_rxirr_plow_2 U RO default = 'h0 -+// Bit 30 :16 ro_rxirr_plow_3 U RO default = 'h0 -+typedef union RG_ESTI_A10_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_plow_2 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_rxirr_plow_3 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_ESTI_A10_FIELD_T; -+ -+#define RG_ESTI_A11 (RF_D_ADDA_ESTI_REG_BASE + 0x2c) -+// Bit 0 rg_iqib_enable U RW default = 'h0 -+// Bit 1 rg_iqib_hold U RW default = 'h0 -+// Bit 7 :4 rg_iqib_period U RW default = 'h0 -+// Bit 11 :8 rg_iqib_step_a U RW default = 'h1 -+// Bit 15 :12 rg_iqib_step_b U RW default = 'h1 -+// Bit 18 :16 rg_iqib_shift U RW default = 'h0 -+// Bit 20 rg_iqib_man_en U RW default = 'h0 -+// Bit 24 rg_rxirr_read_response U RW default = 'h0 -+// Bit 28 rg_rxirr_read_response_bypass U RW default = 'h0 -+// Bit 31 ro_rxirr_ready U RO default = 'h0 -+typedef union RG_ESTI_A11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_iqib_enable : 1; -+ unsigned int rg_iqib_hold : 1; -+ unsigned int rsvd_0 : 2; -+ unsigned int rg_iqib_period : 4; -+ unsigned int rg_iqib_step_a : 4; -+ unsigned int rg_iqib_step_b : 4; -+ unsigned int rg_iqib_shift : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int rg_iqib_man_en : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int rg_rxirr_read_response : 1; -+ unsigned int rsvd_3 : 3; -+ unsigned int rg_rxirr_read_response_bypass : 1; -+ unsigned int rsvd_4 : 2; -+ unsigned int ro_rxirr_ready : 1; -+ } b; -+} RG_ESTI_A11_FIELD_T; ++struct AGC_CCA_COND_TS_CTRL_BITS { ++ unsigned int cca_cond_ts :8, ++ cca_cond_ts_num :20, ++ ed_avglen :3, ++ reserved41 :1; ++}; + -+#define RG_ESTI_A12 (RF_D_ADDA_ESTI_REG_BASE + 0x30) -+// Bit 21 :0 rg_set_b U RW default = 'h0 -+// Bit 31 rg_set_val U RW default = 'h0 -+typedef union RG_ESTI_A12_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_set_b : 22; -+ unsigned int rsvd_0 : 9; -+ unsigned int rg_set_val : 1; -+ } b; -+} RG_ESTI_A12_FIELD_T; ++struct AGC_OB_CCA_RES_BITS { ++ unsigned int cca_cond_rdy :1, ++ reserved170 :15, ++ cca_cond8 :16; ++}; + -+#define RG_ESTI_A13 (RF_D_ADDA_ESTI_REG_BASE + 0x34) -+// Bit 18 :0 rg_set_a U RW default = 'h0 -+typedef union RG_ESTI_A13_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_set_a : 19; -+ unsigned int rsvd_0 : 13; -+ } b; -+} RG_ESTI_A13_FIELD_T; ++struct AGC_STF_LIMIT_CCA_COND_EN_BITS { ++ unsigned int stf_cfo_limit :19, ++ reserved39 :1, ++ cca_cond_en :9, ++ cca_cal_force :1, ++ reserved40 :2; ++}; + -+#define RG_ESTI_A14 (RF_D_ADDA_ESTI_REG_BASE + 0x38) -+// Bit 3 :0 rg_dc_rm_leaky_factor U RW default = 'h0 -+// Bit 28 :4 rg_spectrum_ana_angle_man U RW default = 'h0 -+// Bit 31 rg_spectrum_ana_angle_man_en U RW default = 'h0 -+typedef union RG_ESTI_A14_FIELD ++#pragma pack(push ,1) ++struct agc_prt_info +{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_dc_rm_leaky_factor : 4; -+ unsigned int rg_spectrum_ana_angle_man : 25; -+ unsigned int rsvd_0 : 2; -+ unsigned int rg_spectrum_ana_angle_man_en : 1; -+ } b; -+} RG_ESTI_A14_FIELD_T; ++ unsigned short addr; ++ char *prt1; ++ char *prt2; ++}; + -+#define RG_ESTI_A15 (RF_D_ADDA_ESTI_REG_BASE + 0x3c) -+// Bit 31 :0 rg_esti_cfg2 U RW default = 'h0 -+typedef union RG_ESTI_A15_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_esti_cfg2 : 32; -+ } b; -+} RG_ESTI_A15_FIELD_T; -+ -+#define RG_ESTI_A16 (RF_D_ADDA_ESTI_REG_BASE + 0x40) -+// Bit 31 :0 rg_esti_cfg3 U RW default = 'h0 -+typedef union RG_ESTI_A16_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_esti_cfg3 : 32; -+ } b; -+} RG_ESTI_A16_FIELD_T; -+ -+#define RG_ESTI_A17 (RF_D_ADDA_ESTI_REG_BASE + 0x44) -+// Bit 6 :0 ro_dcoc_code_i U RO default = 'h0 -+// Bit 14 :8 ro_dcoc_code_q U RO default = 'h0 -+// Bit 16 ro_dcoc_code_ready U RO default = 'h0 -+// Bit 24 ro_dcoc_finish U RO default = 'h0 -+// Bit 28 rg_dcoc_read_response_bypass U RW default = 'h0 -+// Bit 31 rg_dcoc_read_response U RW default = 'h0 -+typedef union RG_ESTI_A17_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_dcoc_code_i : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_dcoc_code_q : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int ro_dcoc_code_ready : 1; -+ unsigned int rsvd_2 : 7; -+ unsigned int ro_dcoc_finish : 1; -+ unsigned int rsvd_3 : 3; -+ unsigned int rg_dcoc_read_response_bypass : 1; -+ unsigned int rsvd_4 : 2; -+ unsigned int rg_dcoc_read_response : 1; -+ } b; -+} RG_ESTI_A17_FIELD_T; -+ -+#define RG_ESTI_A18 (RF_D_ADDA_ESTI_REG_BASE + 0x48) -+// Bit 3 :0 ro_lnatank_esti_code U RO default = 'h0 -+// Bit 8 ro_lnatank_esti_code_ready U RO default = 'h0 -+// Bit 16 ro_lnatank_esti_finish U RO default = 'h0 -+// Bit 28 rg_lnatank_read_response_bypass U RW default = 'h0 -+// Bit 31 rg_lnatank_read_response U RW default = 'h0 -+typedef union RG_ESTI_A18_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_lnatank_esti_code : 4; -+ unsigned int rsvd_0 : 4; -+ unsigned int ro_lnatank_esti_code_ready : 1; -+ unsigned int rsvd_1 : 7; -+ unsigned int ro_lnatank_esti_finish : 1; -+ unsigned int rsvd_2 : 11; -+ unsigned int rg_lnatank_read_response_bypass : 1; -+ unsigned int rsvd_3 : 2; -+ unsigned int rg_lnatank_read_response : 1; -+ } b; -+} RG_ESTI_A18_FIELD_T; -+ -+#define RG_ESTI_A19 (RF_D_ADDA_ESTI_REG_BASE + 0x4c) -+// Bit 7 :0 ro_txirr_dc_i U RO default = 'h0 -+// Bit 19 :12 ro_txirr_dc_q U RO default = 'h0 -+// Bit 24 ro_txirr_dc_ready U RO default = 'h0 -+// Bit 25 ro_txirr_code_ready U RO default = 'h0 -+// Bit 26 ro_txirr_mode_ready U RO default = 'h0 -+// Bit 28 rg_txirr_code_continue U RW default = 'h0 -+// Bit 29 rg_txirr_code_continue_bypass U RW default = 'h1 -+// Bit 30 rg_txirr_mode_continue U RW default = 'h0 -+// Bit 31 rg_txirr_mode_continue_bypass U RW default = 'h1 -+typedef union RG_ESTI_A19_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txirr_dc_i : 8; -+ unsigned int rsvd_0 : 4; -+ unsigned int ro_txirr_dc_q : 8; -+ unsigned int rsvd_1 : 4; -+ unsigned int ro_txirr_dc_ready : 1; -+ unsigned int ro_txirr_code_ready : 1; -+ unsigned int ro_txirr_mode_ready : 1; -+ unsigned int rsvd_2 : 1; -+ unsigned int rg_txirr_code_continue : 1; -+ unsigned int rg_txirr_code_continue_bypass : 1; -+ unsigned int rg_txirr_mode_continue : 1; -+ unsigned int rg_txirr_mode_continue_bypass : 1; -+ } b; -+} RG_ESTI_A19_FIELD_T; -+ -+#define RG_ESTI_A20 (RF_D_ADDA_ESTI_REG_BASE + 0x50) -+// Bit 7 :0 ro_txirr_alpha U RO default = 'h0 -+// Bit 19 :12 ro_txirr_theta U RO default = 'h0 -+// Bit 24 ro_txirr_irr_ready U RO default = 'h0 -+// Bit 28 rg_txirr_read_response_bypass U RW default = 'h0 -+// Bit 31 rg_txirr_read_response U RW default = 'h0 -+typedef union RG_ESTI_A20_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txirr_alpha : 8; -+ unsigned int rsvd_0 : 4; -+ unsigned int ro_txirr_theta : 8; -+ unsigned int rsvd_1 : 4; -+ unsigned int ro_txirr_irr_ready : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int rg_txirr_read_response_bypass : 1; -+ unsigned int rsvd_3 : 2; -+ unsigned int rg_txirr_read_response : 1; -+ } b; -+} RG_ESTI_A20_FIELD_T; -+ -+#define RG_ESTI_A21 (RF_D_ADDA_ESTI_REG_BASE + 0x54) -+// Bit 7 :0 rg_tx_dcmax_i U RW default = 'h33 -+// Bit 15 :8 rg_tx_dcmax_q U RW default = 'h33 -+// Bit 23 :16 rg_tx_alpha_max U RW default = 'h7b -+// Bit 31 :24 rg_tx_theta_max U RW default = 'h6b -+typedef union RG_ESTI_A21_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_dcmax_i : 8; -+ unsigned int rg_tx_dcmax_q : 8; -+ unsigned int rg_tx_alpha_max : 8; -+ unsigned int rg_tx_theta_max : 8; -+ } b; -+} RG_ESTI_A21_FIELD_T; -+ -+#define RG_ESTI_A22 (RF_D_ADDA_ESTI_REG_BASE + 0x58) -+// Bit 7 :0 rg_tx_dcmin_i U RW default = 'hcd -+// Bit 15 :8 rg_tx_dcmin_q U RW default = 'hcd -+// Bit 23 :16 rg_tx_alpha_min U RW default = 'h85 -+// Bit 31 :24 rg_tx_theta_min U RW default = 'h95 -+typedef union RG_ESTI_A22_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_dcmin_i : 8; -+ unsigned int rg_tx_dcmin_q : 8; -+ unsigned int rg_tx_alpha_min : 8; -+ unsigned int rg_tx_theta_min : 8; -+ } b; -+} RG_ESTI_A22_FIELD_T; -+ -+#define RG_ESTI_A23 (RF_D_ADDA_ESTI_REG_BASE + 0x5c) -+// Bit 3 :0 rg_tx_dc_i_step U RW default = 'h5 -+// Bit 7 :4 rg_tx_dc_q_step U RW default = 'h5 -+// Bit 11 :8 rg_tx_alpha_step U RW default = 'h3 -+// Bit 15 :12 rg_tx_theta_step U RW default = 'h4 -+// Bit 19 :16 rg_txirr_oper_bnd U RW default = 'h1 -+typedef union RG_ESTI_A23_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_dc_i_step : 4; -+ unsigned int rg_tx_dc_q_step : 4; -+ unsigned int rg_tx_alpha_step : 4; -+ unsigned int rg_tx_theta_step : 4; -+ unsigned int rg_txirr_oper_bnd : 4; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_ESTI_A23_FIELD_T; -+ -+#define RG_ESTI_A24 (RF_D_ADDA_ESTI_REG_BASE + 0x60) -+// Bit 24 :0 rg_spectrum_ana_angle_dcoc U RW default = 'h0 -+typedef union RG_ESTI_A24_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_spectrum_ana_angle_dcoc : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A24_FIELD_T; -+ -+#define RG_ESTI_A25 (RF_D_ADDA_ESTI_REG_BASE + 0x64) -+// Bit 24 :0 rg_spectrum_ana_angle_lna U RW default = 'h1f99999 -+typedef union RG_ESTI_A25_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_spectrum_ana_angle_lna : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A25_FIELD_T; -+ -+#define RG_ESTI_A26 (RF_D_ADDA_ESTI_REG_BASE + 0x68) -+// Bit 24 :0 rg_spectrum_ana_angle_txirr U RW default = 'h1c00000 -+typedef union RG_ESTI_A26_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_spectrum_ana_angle_txirr : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A26_FIELD_T; -+ -+#define RG_ESTI_A27 (RF_D_ADDA_ESTI_REG_BASE + 0x6c) -+// Bit 24 :0 rg_spectrum_ana_angle_txdc U RW default = 'h1e00000 -+typedef union RG_ESTI_A27_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_spectrum_ana_angle_txdc : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A27_FIELD_T; -+ -+#define RG_ESTI_A28 (RF_D_ADDA_ESTI_REG_BASE + 0x70) -+// Bit 24 :0 rg_spectrum_ana_angle_dpd U RW default = 'h0 -+typedef union RG_ESTI_A28_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_spectrum_ana_angle_dpd : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A28_FIELD_T; -+ -+#define RG_ESTI_A29 (RF_D_ADDA_ESTI_REG_BASE + 0x74) -+// Bit 24 :0 rg_spectrum_ana_angle_pwc U RW default = 'h0 -+typedef union RG_ESTI_A29_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_spectrum_ana_angle_pwc : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A29_FIELD_T; -+ -+#define RG_ESTI_A30 (RF_D_ADDA_ESTI_REG_BASE + 0x78) -+// Bit 24 :0 rg_irr_tone_freq_0 U RW default = 'h4ccccc -+typedef union RG_ESTI_A30_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_tone_freq_0 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A30_FIELD_T; -+ -+#define RG_ESTI_A31 (RF_D_ADDA_ESTI_REG_BASE + 0x7c) -+// Bit 24 :0 rg_irr_tone_freq_1 U RW default = 'ha66666 -+typedef union RG_ESTI_A31_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_tone_freq_1 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A31_FIELD_T; -+ -+#define RG_ESTI_A32 (RF_D_ADDA_ESTI_REG_BASE + 0x80) -+// Bit 24 :0 rg_irr_tone_freq_2 U RW default = 'hd33333 -+typedef union RG_ESTI_A32_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_tone_freq_2 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A32_FIELD_T; -+ -+#define RG_ESTI_A33 (RF_D_ADDA_ESTI_REG_BASE + 0x84) -+// Bit 24 :0 rg_irr_tone_freq_3 U RW default = 'hf99999 -+typedef union RG_ESTI_A33_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_tone_freq_3 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A33_FIELD_T; -+ -+#define RG_ESTI_A34 (RF_D_ADDA_ESTI_REG_BASE + 0x88) -+// Bit 24 :0 rg_irr_tone_freq_4 U RW default = 'h1066666 -+typedef union RG_ESTI_A34_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_tone_freq_4 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A34_FIELD_T; -+ -+#define RG_ESTI_A35 (RF_D_ADDA_ESTI_REG_BASE + 0x8c) -+// Bit 24 :0 rg_irr_tone_freq_5 U RW default = 'h12ccccc -+typedef union RG_ESTI_A35_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_tone_freq_5 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A35_FIELD_T; -+ -+#define RG_ESTI_A36 (RF_D_ADDA_ESTI_REG_BASE + 0x90) -+// Bit 24 :0 rg_irr_tone_freq_6 U RW default = 'h1599999 -+typedef union RG_ESTI_A36_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_tone_freq_6 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A36_FIELD_T; -+ -+#define RG_ESTI_A37 (RF_D_ADDA_ESTI_REG_BASE + 0x94) -+// Bit 24 :0 rg_irr_tone_freq_7 U RW default = 'h1b33333 -+typedef union RG_ESTI_A37_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_tone_freq_7 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_ESTI_A37_FIELD_T; -+ -+#define RG_ESTI_A38 (RF_D_ADDA_ESTI_REG_BASE + 0x98) -+// Bit 15 :0 rg_irr_interp_coef_up0 U RW default = 'hf751 -+// Bit 31 :16 rg_irr_interp_coef_up1 U RW default = 'h97e -+typedef union RG_ESTI_A38_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_up0 : 16; -+ unsigned int rg_irr_interp_coef_up1 : 16; -+ } b; -+} RG_ESTI_A38_FIELD_T; -+ -+#define RG_ESTI_A39 (RF_D_ADDA_ESTI_REG_BASE + 0x9c) -+// Bit 15 :0 rg_irr_interp_coef_up2 U RW default = 'hfbb7 -+// Bit 31 :16 rg_irr_interp_coef_up3 U RW default = 'h292 -+typedef union RG_ESTI_A39_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_up2 : 16; -+ unsigned int rg_irr_interp_coef_up3 : 16; -+ } b; -+} RG_ESTI_A39_FIELD_T; -+ -+#define RG_ESTI_A40 (RF_D_ADDA_ESTI_REG_BASE + 0xa0) -+// Bit 15 :0 rg_irr_interp_coef_up4 U RW default = 'h369c -+// Bit 31 :16 rg_irr_interp_coef_up5 U RW default = 'hd196 -+typedef union RG_ESTI_A40_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_up4 : 16; -+ unsigned int rg_irr_interp_coef_up5 : 16; -+ } b; -+} RG_ESTI_A40_FIELD_T; -+ -+#define RG_ESTI_A41 (RF_D_ADDA_ESTI_REG_BASE + 0xa4) -+// Bit 15 :0 rg_irr_interp_coef_up6 U RW default = 'h1ae1 -+// Bit 31 :16 rg_irr_interp_coef_up7 U RW default = 'hf4d1 -+typedef union RG_ESTI_A41_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_up6 : 16; -+ unsigned int rg_irr_interp_coef_up7 : 16; -+ } b; -+} RG_ESTI_A41_FIELD_T; -+ -+#define RG_ESTI_A42 (RF_D_ADDA_ESTI_REG_BASE + 0xa8) -+// Bit 15 :0 rg_irr_interp_coef_up8 U RW default = 'had86 -+// Bit 31 :16 rg_irr_interp_coef_up9 U RW default = 'h4663 -+typedef union RG_ESTI_A42_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_up8 : 16; -+ unsigned int rg_irr_interp_coef_up9 : 16; -+ } b; -+} RG_ESTI_A42_FIELD_T; -+ -+#define RG_ESTI_A43 (RF_D_ADDA_ESTI_REG_BASE + 0xac) -+// Bit 15 :0 rg_irr_interp_coef_upa U RW default = 'hd7c6 -+// Bit 31 :16 rg_irr_interp_coef_upb U RW default = 'hdd8 -+typedef union RG_ESTI_A43_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_upa : 16; -+ unsigned int rg_irr_interp_coef_upb : 16; -+ } b; -+} RG_ESTI_A43_FIELD_T; -+ -+#define RG_ESTI_A44 (RF_D_ADDA_ESTI_REG_BASE + 0xb0) -+// Bit 15 :0 rg_irr_interp_coef_upc U RW default = 'h288d -+// Bit 31 :16 rg_irr_interp_coef_upd U RW default = 'hde88 -+typedef union RG_ESTI_A44_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_upc : 16; -+ unsigned int rg_irr_interp_coef_upd : 16; -+ } b; -+} RG_ESTI_A44_FIELD_T; -+ -+#define RG_ESTI_A45 (RF_D_ADDA_ESTI_REG_BASE + 0xb4) -+// Bit 15 :0 rg_irr_interp_coef_upe U RW default = 'h11a2 -+// Bit 31 :16 rg_irr_interp_coef_upf U RW default = 'hfac5 -+typedef union RG_ESTI_A45_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_upe : 16; -+ unsigned int rg_irr_interp_coef_upf : 16; -+ } b; -+} RG_ESTI_A45_FIELD_T; -+ -+#define RG_ESTI_A46 (RF_D_ADDA_ESTI_REG_BASE + 0xb8) -+// Bit 15 :0 rg_irr_interp_coef_low0 U RW default = 'h288d -+// Bit 31 :16 rg_irr_interp_coef_low1 U RW default = 'hde88 -+typedef union RG_ESTI_A46_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_low0 : 16; -+ unsigned int rg_irr_interp_coef_low1 : 16; -+ } b; -+} RG_ESTI_A46_FIELD_T; -+ -+#define RG_ESTI_A47 (RF_D_ADDA_ESTI_REG_BASE + 0xbc) -+// Bit 15 :0 rg_irr_interp_coef_low2 U RW default = 'h11a2 -+// Bit 31 :16 rg_irr_interp_coef_low3 U RW default = 'hfac5 -+typedef union RG_ESTI_A47_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_low2 : 16; -+ unsigned int rg_irr_interp_coef_low3 : 16; -+ } b; -+} RG_ESTI_A47_FIELD_T; -+ -+#define RG_ESTI_A48 (RF_D_ADDA_ESTI_REG_BASE + 0xc0) -+// Bit 15 :0 rg_irr_interp_coef_low4 U RW default = 'had86 -+// Bit 31 :16 rg_irr_interp_coef_low5 U RW default = 'h4663 -+typedef union RG_ESTI_A48_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_low4 : 16; -+ unsigned int rg_irr_interp_coef_low5 : 16; -+ } b; -+} RG_ESTI_A48_FIELD_T; -+ -+#define RG_ESTI_A49 (RF_D_ADDA_ESTI_REG_BASE + 0xc4) -+// Bit 15 :0 rg_irr_interp_coef_low6 U RW default = 'hd7c6 -+// Bit 31 :16 rg_irr_interp_coef_low7 U RW default = 'hdd8 -+typedef union RG_ESTI_A49_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_low6 : 16; -+ unsigned int rg_irr_interp_coef_low7 : 16; -+ } b; -+} RG_ESTI_A49_FIELD_T; -+ -+#define RG_ESTI_A50 (RF_D_ADDA_ESTI_REG_BASE + 0xc8) -+// Bit 15 :0 rg_irr_interp_coef_low8 U RW default = 'h369c -+// Bit 31 :16 rg_irr_interp_coef_low9 U RW default = 'hd196 -+typedef union RG_ESTI_A50_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_low8 : 16; -+ unsigned int rg_irr_interp_coef_low9 : 16; -+ } b; -+} RG_ESTI_A50_FIELD_T; -+ -+#define RG_ESTI_A51 (RF_D_ADDA_ESTI_REG_BASE + 0xcc) -+// Bit 15 :0 rg_irr_interp_coef_lowa U RW default = 'h1ae1 -+// Bit 31 :16 rg_irr_interp_coef_lowb U RW default = 'hf4d1 -+typedef union RG_ESTI_A51_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_lowa : 16; -+ unsigned int rg_irr_interp_coef_lowb : 16; -+ } b; -+} RG_ESTI_A51_FIELD_T; -+ -+#define RG_ESTI_A52 (RF_D_ADDA_ESTI_REG_BASE + 0xd0) -+// Bit 15 :0 rg_irr_interp_coef_lowc U RW default = 'hf751 -+// Bit 31 :16 rg_irr_interp_coef_lowd U RW default = 'h97e -+typedef union RG_ESTI_A52_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_lowc : 16; -+ unsigned int rg_irr_interp_coef_lowd : 16; -+ } b; -+} RG_ESTI_A52_FIELD_T; -+ -+#define RG_ESTI_A53 (RF_D_ADDA_ESTI_REG_BASE + 0xd4) -+// Bit 15 :0 rg_irr_interp_coef_lowe U RW default = 'hfbb7 -+// Bit 31 :16 rg_irr_interp_coef_lowf U RW default = 'h292 -+typedef union RG_ESTI_A53_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_irr_interp_coef_lowe : 16; -+ unsigned int rg_irr_interp_coef_lowf : 16; -+ } b; -+} RG_ESTI_A53_FIELD_T; -+ -+#define RG_ESTI_A54 (RF_D_ADDA_ESTI_REG_BASE + 0xd8) -+// Bit 3 :0 rg_rxirr_esti_len_avg_0 U RW default = 'h2 -+// Bit 7 :4 rg_rxirr_esti_miu_0 U RW default = 'h0 -+// Bit 15 :8 rg_rxirr_esti_navg_0 U RW default = 'h3 -+// Bit 19 :16 rg_rxirr_esti_len_avg_1 U RW default = 'h3 -+// Bit 23 :20 rg_rxirr_esti_miu_1 U RW default = 'h1 -+// Bit 31 :24 rg_rxirr_esti_navg_1 U RW default = 'h7 -+typedef union RG_ESTI_A54_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_esti_len_avg_0 : 4; -+ unsigned int rg_rxirr_esti_miu_0 : 4; -+ unsigned int rg_rxirr_esti_navg_0 : 8; -+ unsigned int rg_rxirr_esti_len_avg_1 : 4; -+ unsigned int rg_rxirr_esti_miu_1 : 4; -+ unsigned int rg_rxirr_esti_navg_1 : 8; -+ } b; -+} RG_ESTI_A54_FIELD_T; -+ -+#define RG_ESTI_A55 (RF_D_ADDA_ESTI_REG_BASE + 0xdc) -+// Bit 3 :0 rg_rxirr_esti_len_avg_2 U RW default = 'h4 -+// Bit 7 :4 rg_rxirr_esti_miu_2 U RW default = 'h2 -+// Bit 15 :8 rg_rxirr_esti_navg_2 U RW default = 'hb -+// Bit 19 :16 rg_rxirr_esti_len_avg_3 U RW default = 'h4 -+// Bit 23 :20 rg_rxirr_esti_miu_3 U RW default = 'h3 -+// Bit 31 :24 rg_rxirr_esti_navg_3 U RW default = 'h13 -+typedef union RG_ESTI_A55_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_esti_len_avg_2 : 4; -+ unsigned int rg_rxirr_esti_miu_2 : 4; -+ unsigned int rg_rxirr_esti_navg_2 : 8; -+ unsigned int rg_rxirr_esti_len_avg_3 : 4; -+ unsigned int rg_rxirr_esti_miu_3 : 4; -+ unsigned int rg_rxirr_esti_navg_3 : 8; -+ } b; -+} RG_ESTI_A55_FIELD_T; -+ -+#define RG_ESTI_A56 (RF_D_ADDA_ESTI_REG_BASE + 0xe0) -+// Bit 13 :0 ro_rxirr_interp_e_0 U RO default = 'h0 -+// Bit 29 :16 ro_rxirr_interp_e_1 U RO default = 'h0 -+typedef union RG_ESTI_A56_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_interp_e_0 : 14; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_rxirr_interp_e_1 : 14; -+ unsigned int rsvd_1 : 2; -+ } b; -+} RG_ESTI_A56_FIELD_T; -+ -+#define RG_ESTI_A57 (RF_D_ADDA_ESTI_REG_BASE + 0xe4) -+// Bit 13 :0 ro_rxirr_interp_e_2 U RO default = 'h0 -+// Bit 29 :16 ro_rxirr_interp_e_3 U RO default = 'h0 -+typedef union RG_ESTI_A57_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_interp_e_2 : 14; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_rxirr_interp_e_3 : 14; -+ unsigned int rsvd_1 : 2; -+ } b; -+} RG_ESTI_A57_FIELD_T; -+ -+#define RG_ESTI_A58 (RF_D_ADDA_ESTI_REG_BASE + 0xe8) -+// Bit 13 :0 ro_rxirr_interp_e_4 U RO default = 'h0 -+// Bit 29 :16 ro_rxirr_interp_e_5 U RO default = 'h0 -+typedef union RG_ESTI_A58_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_interp_e_4 : 14; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_rxirr_interp_e_5 : 14; -+ unsigned int rsvd_1 : 2; -+ } b; -+} RG_ESTI_A58_FIELD_T; -+ -+#define RG_ESTI_A59 (RF_D_ADDA_ESTI_REG_BASE + 0xec) -+// Bit 13 :0 ro_rxirr_interp_e_6 U RO default = 'h0 -+// Bit 29 :16 ro_rxirr_interp_e_7 U RO default = 'h0 -+typedef union RG_ESTI_A59_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_interp_e_6 : 14; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_rxirr_interp_e_7 : 14; -+ unsigned int rsvd_1 : 2; -+ } b; -+} RG_ESTI_A59_FIELD_T; -+ -+#define RG_ESTI_A60 (RF_D_ADDA_ESTI_REG_BASE + 0xf0) -+// Bit 13 :0 ro_rxirr_interp_p_0 U RO default = 'h0 -+// Bit 29 :16 ro_rxirr_interp_p_1 U RO default = 'h0 -+typedef union RG_ESTI_A60_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_interp_p_0 : 14; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_rxirr_interp_p_1 : 14; -+ unsigned int rsvd_1 : 2; -+ } b; -+} RG_ESTI_A60_FIELD_T; -+ -+#define RG_ESTI_A61 (RF_D_ADDA_ESTI_REG_BASE + 0xf4) -+// Bit 13 :0 ro_rxirr_interp_p_2 U RO default = 'h0 -+// Bit 29 :16 ro_rxirr_interp_p_3 U RO default = 'h0 -+typedef union RG_ESTI_A61_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_interp_p_2 : 14; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_rxirr_interp_p_3 : 14; -+ unsigned int rsvd_1 : 2; -+ } b; -+} RG_ESTI_A61_FIELD_T; -+ -+#define RG_ESTI_A62 (RF_D_ADDA_ESTI_REG_BASE + 0xf8) -+// Bit 13 :0 ro_rxirr_interp_p_4 U RO default = 'h0 -+// Bit 29 :16 ro_rxirr_interp_p_5 U RO default = 'h0 -+typedef union RG_ESTI_A62_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_interp_p_4 : 14; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_rxirr_interp_p_5 : 14; -+ unsigned int rsvd_1 : 2; -+ } b; -+} RG_ESTI_A62_FIELD_T; -+ -+#define RG_ESTI_A63 (RF_D_ADDA_ESTI_REG_BASE + 0xfc) -+// Bit 13 :0 ro_rxirr_interp_p_6 U RO default = 'h0 -+// Bit 29 :16 ro_rxirr_interp_p_7 U RO default = 'h0 -+typedef union RG_ESTI_A63_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rxirr_interp_p_6 : 14; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_rxirr_interp_p_7 : 14; -+ unsigned int rsvd_1 : 2; -+ } b; -+} RG_ESTI_A63_FIELD_T; -+ -+#define RG_ESTI_A64 (RF_D_ADDA_ESTI_REG_BASE + 0x100) -+// Bit 23 :0 rg_adda_wait_count U RW default = 'h50 -+typedef union RG_ESTI_A64_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_adda_wait_count : 24; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A64_FIELD_T; -+ -+#define RG_ESTI_A65 (RF_D_ADDA_ESTI_REG_BASE + 0x104) -+// Bit 14 :0 rg_adda_calc_count U RW default = 'h50 -+typedef union RG_ESTI_A65_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_adda_calc_count : 15; -+ unsigned int rsvd_0 : 17; -+ } b; -+} RG_ESTI_A65_FIELD_T; -+ -+#define RG_ESTI_A66 (RF_D_ADDA_ESTI_REG_BASE + 0x108) -+// Bit 27 :0 rg_adda_esti_count U RW default = 'h40000 -+typedef union RG_ESTI_A66_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_adda_esti_count : 28; -+ unsigned int rsvd_0 : 4; -+ } b; -+} RG_ESTI_A66_FIELD_T; -+ -+#define RG_ESTI_A67 (RF_D_ADDA_ESTI_REG_BASE + 0x10c) -+// Bit 0 rg_txpwc_read_response U RW default = 'h0 -+// Bit 4 rg_txpwc_read_response_bypass U RW default = 'h1 -+// Bit 16 :8 rg_txpwc_ph U RW default = 'h0 -+// Bit 28 :20 rg_txpwc_pl U RW default = 'h0 -+typedef union RG_ESTI_A67_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txpwc_read_response : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_txpwc_read_response_bypass : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int rg_txpwc_ph : 9; -+ unsigned int rsvd_2 : 3; -+ unsigned int rg_txpwc_pl : 9; -+ unsigned int rsvd_3 : 3; -+ } b; -+} RG_ESTI_A67_FIELD_T; -+ -+#define RG_ESTI_A68 (RF_D_ADDA_ESTI_REG_BASE + 0x110) -+// Bit 7 :0 rg_txpwc_vh_amp U RW default = 'h0 -+// Bit 15 :8 rg_txpwc_vl_amp U RW default = 'h0 -+// Bit 25 :24 rg_txpwc_dc_cnt U RW default = 'h0 -+typedef union RG_ESTI_A68_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txpwc_vh_amp : 8; -+ unsigned int rg_txpwc_vl_amp : 8; -+ unsigned int rsvd_0 : 8; -+ unsigned int rg_txpwc_dc_cnt : 2; -+ unsigned int rsvd_1 : 6; -+ } b; -+} RG_ESTI_A68_FIELD_T; -+ -+#define RG_ESTI_A69 (RF_D_ADDA_ESTI_REG_BASE + 0x114) -+// Bit 8 :0 ro_txpwc_slope U RO default = 'h0 -+// Bit 26 :12 ro_txpwc_offset U RO default = 'h0 -+// Bit 31 ro_txpwc_ready U RO default = 'h0 -+typedef union RG_ESTI_A69_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txpwc_slope : 9; -+ unsigned int rsvd_0 : 3; -+ unsigned int ro_txpwc_offset : 15; -+ unsigned int rsvd_1 : 4; -+ unsigned int ro_txpwc_ready : 1; -+ } b; -+} RG_ESTI_A69_FIELD_T; -+ -+#define RG_ESTI_A70 (RF_D_ADDA_ESTI_REG_BASE + 0x118) -+// Bit 0 rg_txdpd_esti_read_response U RW default = 'h0 -+// Bit 2 rg_txdpd_esti_read_response_bypass U RW default = 'h0 -+// Bit 11 :4 rg_txdpd_esti_alpha U RW default = 'h33 -+// Bit 18 :12 rg_txdpd_esti_sync_gap U RW default = 'h20 -+// Bit 22 ro_txdpd_esti_ready U RO default = 'h0 -+// Bit 31 :24 rg_txdpd_esti_mp_pow_thresh U RW default = 'h6 -+typedef union RG_ESTI_A70_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_esti_read_response : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_txdpd_esti_read_response_bypass : 1; -+ unsigned int rsvd_1 : 1; -+ unsigned int rg_txdpd_esti_alpha : 8; -+ unsigned int rg_txdpd_esti_sync_gap : 7; -+ unsigned int rsvd_2 : 3; -+ unsigned int ro_txdpd_esti_ready : 1; -+ unsigned int rsvd_3 : 1; -+ unsigned int rg_txdpd_esti_mp_pow_thresh : 8; -+ } b; -+} RG_ESTI_A70_FIELD_T; -+ -+#define RG_ESTI_A72 (RF_D_ADDA_ESTI_REG_BASE + 0x11c) -+// Bit 11 :0 ro_txdpd_esti_coef_i_0 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_0 U RO default = 'h0 -+typedef union RG_ESTI_A72_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_0 : 12; -+ unsigned int ro_txdpd_esti_coef_q_0 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A72_FIELD_T; -+ -+#define RG_ESTI_A73 (RF_D_ADDA_ESTI_REG_BASE + 0x120) -+// Bit 11 :0 ro_txdpd_esti_coef_i_1 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_1 U RO default = 'h0 -+typedef union RG_ESTI_A73_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_1 : 12; -+ unsigned int ro_txdpd_esti_coef_q_1 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A73_FIELD_T; -+ -+#define RG_ESTI_A74 (RF_D_ADDA_ESTI_REG_BASE + 0x124) -+// Bit 11 :0 ro_txdpd_esti_coef_i_2 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_2 U RO default = 'h0 -+typedef union RG_ESTI_A74_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_2 : 12; -+ unsigned int ro_txdpd_esti_coef_q_2 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A74_FIELD_T; -+ -+#define RG_ESTI_A75 (RF_D_ADDA_ESTI_REG_BASE + 0x128) -+// Bit 11 :0 ro_txdpd_esti_coef_i_3 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_3 U RO default = 'h0 -+typedef union RG_ESTI_A75_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_3 : 12; -+ unsigned int ro_txdpd_esti_coef_q_3 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A75_FIELD_T; -+ -+#define RG_ESTI_A76 (RF_D_ADDA_ESTI_REG_BASE + 0x12c) -+// Bit 11 :0 ro_txdpd_esti_coef_i_4 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_4 U RO default = 'h0 -+typedef union RG_ESTI_A76_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_4 : 12; -+ unsigned int ro_txdpd_esti_coef_q_4 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A76_FIELD_T; -+ -+#define RG_ESTI_A77 (RF_D_ADDA_ESTI_REG_BASE + 0x130) -+// Bit 11 :0 ro_txdpd_esti_coef_i_5 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_5 U RO default = 'h0 -+typedef union RG_ESTI_A77_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_5 : 12; -+ unsigned int ro_txdpd_esti_coef_q_5 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A77_FIELD_T; -+ -+#define RG_ESTI_A78 (RF_D_ADDA_ESTI_REG_BASE + 0x134) -+// Bit 11 :0 ro_txdpd_esti_coef_i_6 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_6 U RO default = 'h0 -+typedef union RG_ESTI_A78_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_6 : 12; -+ unsigned int ro_txdpd_esti_coef_q_6 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A78_FIELD_T; -+ -+#define RG_ESTI_A79 (RF_D_ADDA_ESTI_REG_BASE + 0x138) -+// Bit 11 :0 ro_txdpd_esti_coef_i_7 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_7 U RO default = 'h0 -+typedef union RG_ESTI_A79_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_7 : 12; -+ unsigned int ro_txdpd_esti_coef_q_7 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A79_FIELD_T; -+ -+#define RG_ESTI_A80 (RF_D_ADDA_ESTI_REG_BASE + 0x13c) -+// Bit 11 :0 ro_txdpd_esti_coef_i_8 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_8 U RO default = 'h0 -+typedef union RG_ESTI_A80_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_8 : 12; -+ unsigned int ro_txdpd_esti_coef_q_8 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A80_FIELD_T; -+ -+#define RG_ESTI_A81 (RF_D_ADDA_ESTI_REG_BASE + 0x140) -+// Bit 11 :0 ro_txdpd_esti_coef_i_9 U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_9 U RO default = 'h0 -+typedef union RG_ESTI_A81_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_9 : 12; -+ unsigned int ro_txdpd_esti_coef_q_9 : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A81_FIELD_T; -+ -+#define RG_ESTI_A82 (RF_D_ADDA_ESTI_REG_BASE + 0x144) -+// Bit 11 :0 ro_txdpd_esti_coef_i_a U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_a U RO default = 'h0 -+typedef union RG_ESTI_A82_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_a : 12; -+ unsigned int ro_txdpd_esti_coef_q_a : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A82_FIELD_T; -+ -+#define RG_ESTI_A83 (RF_D_ADDA_ESTI_REG_BASE + 0x148) -+// Bit 11 :0 ro_txdpd_esti_coef_i_b U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_b U RO default = 'h0 -+typedef union RG_ESTI_A83_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_b : 12; -+ unsigned int ro_txdpd_esti_coef_q_b : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A83_FIELD_T; -+ -+#define RG_ESTI_A84 (RF_D_ADDA_ESTI_REG_BASE + 0x14c) -+// Bit 11 :0 ro_txdpd_esti_coef_i_c U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_c U RO default = 'h0 -+typedef union RG_ESTI_A84_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_c : 12; -+ unsigned int ro_txdpd_esti_coef_q_c : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A84_FIELD_T; -+ -+#define RG_ESTI_A85 (RF_D_ADDA_ESTI_REG_BASE + 0x150) -+// Bit 11 :0 ro_txdpd_esti_coef_i_d U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_d U RO default = 'h0 -+typedef union RG_ESTI_A85_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_d : 12; -+ unsigned int ro_txdpd_esti_coef_q_d : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A85_FIELD_T; -+ -+#define RG_ESTI_A86 (RF_D_ADDA_ESTI_REG_BASE + 0x154) -+// Bit 11 :0 ro_txdpd_esti_coef_i_e U RO default = 'h0 -+// Bit 23 :12 ro_txdpd_esti_coef_q_e U RO default = 'h0 -+typedef union RG_ESTI_A86_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_coef_i_e : 12; -+ unsigned int ro_txdpd_esti_coef_q_e : 12; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_ESTI_A86_FIELD_T; -+ -+#define RG_ESTI_A87 (RF_D_ADDA_ESTI_REG_BASE + 0x158) -+// Bit 0 rg_snr_esti_en U RW default = 'h1 -+// Bit 6 :4 rg_snr_esti_calctime U RW default = 'h0 -+// Bit 10 :8 rg_snr_alpha U RW default = 'h0 -+// Bit 18 :16 rg_txdpd_snr_esti_alpha U RW default = 'h0 -+typedef union RG_ESTI_A87_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_snr_esti_en : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_snr_esti_calctime : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int rg_snr_alpha : 3; -+ unsigned int rsvd_2 : 5; -+ unsigned int rg_txdpd_snr_esti_alpha : 3; -+ unsigned int rsvd_3 : 13; -+ } b; -+} RG_ESTI_A87_FIELD_T; -+ -+#define RG_ESTI_A88 (RF_D_ADDA_ESTI_REG_BASE + 0x15c) -+// Bit 8 :0 ro_adda_snr_db U RO default = 'h0 -+// Bit 12 ro_adda_db_vld U RO default = 'h0 -+// Bit 24 :16 ro_adda_pwr_db U RO default = 'h0 -+typedef union RG_ESTI_A88_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_adda_snr_db : 9; -+ unsigned int rsvd_0 : 3; -+ unsigned int ro_adda_db_vld : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int ro_adda_pwr_db : 9; -+ unsigned int rsvd_2 : 7; -+ } b; -+} RG_ESTI_A88_FIELD_T; -+ -+#define RG_ESTI_A89 (RF_D_ADDA_ESTI_REG_BASE + 0x160) -+// Bit 8 :0 ro_txdpd_esti_snr_db U RO default = 'h0 -+typedef union RG_ESTI_A89_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_esti_snr_db : 9; -+ unsigned int rsvd_0 : 23; -+ } b; -+} RG_ESTI_A89_FIELD_T; -+ -+#define RG_ESTI_A90 (RF_D_ADDA_ESTI_REG_BASE + 0x164) -+// Bit 29 :0 ro_dcoc_dc_i U RO default = 'h0 -+typedef union RG_ESTI_A90_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_dcoc_dc_i : 30; -+ unsigned int rsvd_0 : 2; -+ } b; -+} RG_ESTI_A90_FIELD_T; -+ -+#define RG_ESTI_A91 (RF_D_ADDA_ESTI_REG_BASE + 0x168) -+// Bit 29 :0 ro_dcoc_dc_q U RO default = 'h0 -+typedef union RG_ESTI_A91_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_dcoc_dc_q : 30; -+ unsigned int rsvd_0 : 2; -+ } b; -+} RG_ESTI_A91_FIELD_T; -+ -+#define RG_ESTI_A92 (RF_D_ADDA_ESTI_REG_BASE + 0x16c) -+// Bit 31 :0 ro_txirr_dc_pow_low U RO default = 'h0 -+typedef union RG_ESTI_A92_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txirr_dc_pow_low : 32; -+ } b; -+} RG_ESTI_A92_FIELD_T; -+ -+#define RG_ESTI_A93 (RF_D_ADDA_ESTI_REG_BASE + 0x170) -+// Bit 22 :0 ro_txirr_dc_pow_high U RO default = 'h0 -+typedef union RG_ESTI_A93_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txirr_dc_pow_high : 23; -+ unsigned int rsvd_0 : 9; -+ } b; -+} RG_ESTI_A93_FIELD_T; -+ -+#define RG_ESTI_A94 (RF_D_ADDA_ESTI_REG_BASE + 0x174) -+// Bit 31 :0 ro_lnatank_esti_pow U RO default = 'h0 -+typedef union RG_ESTI_A94_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_lnatank_esti_pow : 32; -+ } b; -+} RG_ESTI_A94_FIELD_T; -+ -+#define RG_ESTI_A96 (RF_D_ADDA_ESTI_REG_BASE + 0x17c) -+// Bit 11 :0 ro_txdpd_gain U RO default = 'h0 -+typedef union RG_ESTI_A96_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txdpd_gain : 12; -+ unsigned int rsvd_0 : 20; -+ } b; -+} RG_ESTI_A96_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/rf_d_adda_recv_reg.h b/drivers/net/wireless/w1/common/rf_d_adda_recv_reg.h -new file mode 100644 -index 000000000000..b5c03e51fcde ---- /dev/null -+++ b/drivers/net/wireless/w1/common/rf_d_adda_recv_reg.h -@@ -0,0 +1,419 @@ -+#ifdef RF_D_ADDA_RECV_REG -+#else -+#define RF_D_ADDA_RECV_REG -+ -+ -+#define RF_D_ADDA_RECV_REG_BASE (0xa0e800) -+ -+#define RG_RECV_A0 (RF_D_ADDA_RECV_REG_BASE + 0x0) -+// Bit 31 :0 rg_recv_cfg0 U RW default = 'h0 -+typedef union RG_RECV_A0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_recv_cfg0 : 32; -+ } b; -+} RG_RECV_A0_FIELD_T; -+ -+#define RG_RECV_A1 (RF_D_ADDA_RECV_REG_BASE + 0x4) -+// Bit 31 :0 rg_recv_cfg1 U RW default = 'h0 -+typedef union RG_RECV_A1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_recv_cfg1 : 32; -+ } b; -+} RG_RECV_A1_FIELD_T; -+ -+#define RG_RECV_A2 (RF_D_ADDA_RECV_REG_BASE + 0x8) -+// Bit 0 rg_rxneg_msb U RW default = 'h0 -+// Bit 1 rg_rxiq_swap U RW default = 'h0 -+// Bit 11 :4 rg_rxi_dcoft U RW default = 'h0 -+// Bit 19 :12 rg_rxq_dcoft U RW default = 'h0 -+// Bit 20 rg_dcloop_bypass U RW default = 'h1 -+// Bit 24 rg_rx_adc_fs U RW default = 'h1 -+// Bit 28 rg_to_agc_en U RW default = 'h0 -+typedef union RG_RECV_A2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxneg_msb : 1; -+ unsigned int rg_rxiq_swap : 1; -+ unsigned int rsvd_0 : 2; -+ unsigned int rg_rxi_dcoft : 8; -+ unsigned int rg_rxq_dcoft : 8; -+ unsigned int rg_dcloop_bypass : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int rg_rx_adc_fs : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int rg_to_agc_en : 1; -+ unsigned int rsvd_3 : 3; -+ } b; -+} RG_RECV_A2_FIELD_T; -+ -+#define RG_RECV_A3 (RF_D_ADDA_RECV_REG_BASE + 0xc) -+// Bit 14 :0 rg_rxirr_eup_0 U RW default = 'h7f51 -+// Bit 30 :16 rg_rxirr_eup_1 U RW default = 'h46 -+typedef union RG_RECV_A3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_eup_0 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_rxirr_eup_1 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_RECV_A3_FIELD_T; -+ -+#define RG_RECV_A4 (RF_D_ADDA_RECV_REG_BASE + 0x10) -+// Bit 14 :0 rg_rxirr_eup_2 U RW default = 'h7fb7 -+// Bit 30 :16 rg_rxirr_eup_3 U RW default = 'h17 -+typedef union RG_RECV_A4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_eup_2 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_rxirr_eup_3 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_RECV_A4_FIELD_T; -+ -+#define RG_RECV_A5 (RF_D_ADDA_RECV_REG_BASE + 0x14) -+// Bit 14 :0 rg_rxirr_pup_0 U RW default = 'h5a4 -+// Bit 30 :16 rg_rxirr_pup_1 U RW default = 'h7ff9 -+typedef union RG_RECV_A5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_pup_0 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_rxirr_pup_1 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_RECV_A5_FIELD_T; -+ -+#define RG_RECV_A6 (RF_D_ADDA_RECV_REG_BASE + 0x18) -+// Bit 14 :0 rg_rxirr_pup_2 U RW default = 'h7ff6 -+// Bit 30 :16 rg_rxirr_pup_3 U RW default = 'h7 -+typedef union RG_RECV_A6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_pup_2 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_rxirr_pup_3 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_RECV_A6_FIELD_T; -+ -+#define RG_RECV_A7 (RF_D_ADDA_RECV_REG_BASE + 0x1c) -+// Bit 14 :0 rg_rxirr_elow_0 U RW default = 'h7f7d -+// Bit 30 :16 rg_rxirr_elow_1 U RW default = 'h7fba -+typedef union RG_RECV_A7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_elow_0 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_rxirr_elow_1 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_RECV_A7_FIELD_T; -+ -+#define RG_RECV_A8 (RF_D_ADDA_RECV_REG_BASE + 0x20) -+// Bit 14 :0 rg_rxirr_elow_2 U RW default = 'h46 -+// Bit 30 :16 rg_rxirr_elow_3 U RW default = 'h7feb -+typedef union RG_RECV_A8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_elow_2 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_rxirr_elow_3 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_RECV_A8_FIELD_T; -+ -+#define RG_RECV_A9 (RF_D_ADDA_RECV_REG_BASE + 0x24) -+// Bit 14 :0 rg_rxirr_plow_0 U RW default = 'h5a5 -+// Bit 30 :16 rg_rxirr_plow_1 U RW default = 'h7ffa -+typedef union RG_RECV_A9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_plow_0 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_rxirr_plow_1 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_RECV_A9_FIELD_T; -+ -+#define RG_RECV_A10 (RF_D_ADDA_RECV_REG_BASE + 0x28) -+// Bit 14 :0 rg_rxirr_plow_2 U RW default = 'h7ff3 -+// Bit 30 :16 rg_rxirr_plow_3 U RW default = 'h8 -+typedef union RG_RECV_A10_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_plow_2 : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_rxirr_plow_3 : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_RECV_A10_FIELD_T; -+ -+#define RG_RECV_A11 (RF_D_ADDA_RECV_REG_BASE + 0x2c) -+// Bit 0 rg_rxirr_man_mode U RW default = 'h1 -+// Bit 4 rg_rxirr_bypass U RW default = 'h1 -+// Bit 11 :8 rg_rx_async_wgap U RW default = 'ha -+typedef union RG_RECV_A11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxirr_man_mode : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_rxirr_bypass : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int rg_rx_async_wgap : 4; -+ unsigned int rsvd_2 : 20; -+ } b; -+} RG_RECV_A11_FIELD_T; -+ -+#define RG_RECV_A12 (RF_D_ADDA_RECV_REG_BASE + 0x30) -+// Bit 24 :0 rg_rxddc_angle U RW default = 'h0 -+// Bit 28 rg_rxddc_phs_reset U RW default = 'h0 -+// Bit 31 rg_rxddc_bypass U RW default = 'h1 -+typedef union RG_RECV_A12_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rxddc_angle : 25; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_rxddc_phs_reset : 1; -+ unsigned int rsvd_1 : 2; -+ unsigned int rg_rxddc_bypass : 1; -+ } b; -+} RG_RECV_A12_FIELD_T; -+ -+#define RG_RECV_A13 (RF_D_ADDA_RECV_REG_BASE + 0x34) -+// Bit 8 :0 rg_dc_sub_thr_pow U RW default = 'h74 -+typedef union RG_RECV_A13_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_dc_sub_thr_pow : 9; -+ unsigned int rsvd_0 : 23; -+ } b; -+} RG_RECV_A13_FIELD_T; -+ -+#define RG_RECV_A14 (RF_D_ADDA_RECV_REG_BASE + 0x38) -+// Bit 8 :0 rg_hdmi_sub_thr_pow1 U RW default = 'h70 -+// Bit 20 :12 rg_hdmi_sub_thr_pow2 U RW default = 'h68 -+typedef union RG_RECV_A14_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_hdmi_sub_thr_pow1 : 9; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_hdmi_sub_thr_pow2 : 9; -+ unsigned int rsvd_1 : 11; -+ } b; -+} RG_RECV_A14_FIELD_T; -+ -+#define RG_RECV_A15 (RF_D_ADDA_RECV_REG_BASE + 0x3c) -+// Bit 8 :0 rg_cw_sub_thr_pow1 U RW default = 'h78 -+// Bit 20 :12 rg_cw_sub_thr_pow2 U RW default = 'h66 -+typedef union RG_RECV_A15_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_cw_sub_thr_pow1 : 9; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_cw_sub_thr_pow2 : 9; -+ unsigned int rsvd_1 : 11; -+ } b; -+} RG_RECV_A15_FIELD_T; -+ -+#define RG_RECV_A16 (RF_D_ADDA_RECV_REG_BASE + 0x40) -+// Bit 0 rg_cw_remove_sub_man_bypass0 U RW default = 'h0 -+// Bit 1 rg_cw_remove_sub_bypass_man_mode0 U RW default = 'h0 -+// Bit 4 rg_cw_remove_sub_man_bypass1 U RW default = 'h0 -+// Bit 5 rg_cw_remove_sub_bypass_man_mode1 U RW default = 'h0 -+// Bit 8 rg_cw_remove_sub_man_bypass2 U RW default = 'h0 -+// Bit 9 rg_cw_remove_sub_bypass_man_mode2 U RW default = 'h0 -+// Bit 12 rg_cw_remove_sub_man_bypass3 U RW default = 'h0 -+// Bit 13 rg_cw_remove_sub_bypass_man_mode3 U RW default = 'h0 -+// Bit 16 rg_cw_remove_sub_man_bypass4 U RW default = 'h0 -+// Bit 17 rg_cw_remove_sub_bypass_man_mode4 U RW default = 'h0 -+// Bit 20 rg_dc_bypass U RW default = 'h0 -+// Bit 24 rg_hdmi_bypass U RW default = 'h0 -+// Bit 28 rg_cw_bypass U RW default = 'h0 -+// Bit 30 rg_cw_remove_bypass_val U RW default = 'h1 -+// Bit 31 rg_cw_remove_bypass_man U RW default = 'h1 -+typedef union RG_RECV_A16_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_cw_remove_sub_man_bypass0 : 1; -+ unsigned int rg_cw_remove_sub_bypass_man_mode0 : 1; -+ unsigned int rsvd_0 : 2; -+ unsigned int rg_cw_remove_sub_man_bypass1 : 1; -+ unsigned int rg_cw_remove_sub_bypass_man_mode1 : 1; -+ unsigned int rsvd_1 : 2; -+ unsigned int rg_cw_remove_sub_man_bypass2 : 1; -+ unsigned int rg_cw_remove_sub_bypass_man_mode2 : 1; -+ unsigned int rsvd_2 : 2; -+ unsigned int rg_cw_remove_sub_man_bypass3 : 1; -+ unsigned int rg_cw_remove_sub_bypass_man_mode3 : 1; -+ unsigned int rsvd_3 : 2; -+ unsigned int rg_cw_remove_sub_man_bypass4 : 1; -+ unsigned int rg_cw_remove_sub_bypass_man_mode4 : 1; -+ unsigned int rsvd_4 : 2; -+ unsigned int rg_dc_bypass : 1; -+ unsigned int rsvd_5 : 3; -+ unsigned int rg_hdmi_bypass : 1; -+ unsigned int rsvd_6 : 3; -+ unsigned int rg_cw_bypass : 1; -+ unsigned int rsvd_7 : 1; -+ unsigned int rg_cw_remove_bypass_val : 1; -+ unsigned int rg_cw_remove_bypass_man : 1; -+ } b; -+} RG_RECV_A16_FIELD_T; -+ -+#define RG_RECV_A17 (RF_D_ADDA_RECV_REG_BASE + 0x44) -+// Bit 24 :0 rg_cw_remove_sub_angle_base1 U RW default = 'h1d33333 -+typedef union RG_RECV_A17_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_cw_remove_sub_angle_base1 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_RECV_A17_FIELD_T; -+ -+#define RG_RECV_A18 (RF_D_ADDA_RECV_REG_BASE + 0x48) -+// Bit 24 :0 rg_cw_remove_sub_angle_base2 U RW default = 'h800000 -+typedef union RG_RECV_A18_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_cw_remove_sub_angle_base2 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_RECV_A18_FIELD_T; -+ -+#define RG_RECV_A19 (RF_D_ADDA_RECV_REG_BASE + 0x4c) -+// Bit 24 :0 rg_cw_remove_sub_angle_base3 U RW default = 'h1e00000 -+typedef union RG_RECV_A19_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_cw_remove_sub_angle_base3 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_RECV_A19_FIELD_T; -+ -+#define RG_RECV_A20 (RF_D_ADDA_RECV_REG_BASE + 0x50) -+// Bit 24 :0 rg_cw_remove_sub_angle_base4 U RW default = 'he00000 -+typedef union RG_RECV_A20_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_cw_remove_sub_angle_base4 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_RECV_A20_FIELD_T; -+ -+#define RG_RECV_A21 (RF_D_ADDA_RECV_REG_BASE + 0x54) -+// Bit 9 :0 rg_dc_dc_remove_cnt U RW default = 'h3ff -+// Bit 25 :16 rg_hdmi_dc_remove_cnt U RW default = 'h3f -+typedef union RG_RECV_A21_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_dc_dc_remove_cnt : 10; -+ unsigned int rsvd_0 : 6; -+ unsigned int rg_hdmi_dc_remove_cnt : 10; -+ unsigned int rsvd_1 : 6; -+ } b; -+} RG_RECV_A21_FIELD_T; -+ -+#define RG_RECV_A22 (RF_D_ADDA_RECV_REG_BASE + 0x58) -+// Bit 9 :0 rg_cw_dc_remove_cnt U RW default = 'h3f -+typedef union RG_RECV_A22_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_cw_dc_remove_cnt : 10; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_RECV_A22_FIELD_T; -+ -+#define RG_RECV_A23 (RF_D_ADDA_RECV_REG_BASE + 0x5c) -+// Bit 0 rg_cali_cw_rmv_bypass U RW default = 'h1 -+// Bit 4 rg_agc_cw_rmv_bypass U RW default = 'h1 -+typedef union RG_RECV_A23_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_cali_cw_rmv_bypass : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_agc_cw_rmv_bypass : 1; -+ unsigned int rsvd_1 : 27; -+ } b; -+} RG_RECV_A23_FIELD_T; -+ -+#define RG_RECV_A24 (RF_D_ADDA_RECV_REG_BASE + 0x60) -+// Bit 8 :0 rg_cw_remove_gaindb_val U RW default = 'h84 -+// Bit 12 rg_cw_remove_gaindb_man U RW default = 'h0 -+typedef union RG_RECV_A24_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_cw_remove_gaindb_val : 9; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_cw_remove_gaindb_man : 1; -+ unsigned int rsvd_1 : 19; -+ } b; -+} RG_RECV_A24_FIELD_T; -+ -+#define RG_RECV_A25 (RF_D_ADDA_RECV_REG_BASE + 0x64) -+// Bit 0 rg_rssi_snr_est U RW default = 'h0 -+typedef union RG_RECV_A25_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_rssi_snr_est : 1; -+ unsigned int rsvd_0 : 31; -+ } b; -+} RG_RECV_A25_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/rf_d_adda_xmit_reg.h b/drivers/net/wireless/w1/common/rf_d_adda_xmit_reg.h -new file mode 100644 -index 000000000000..b53b647a7958 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/rf_d_adda_xmit_reg.h -@@ -0,0 +1,1583 @@ -+#ifdef RF_D_ADDA_XMIT_REG -+#else -+#define RF_D_ADDA_XMIT_REG -+ -+ -+#define RF_D_ADDA_XMIT_REG_BASE (0xa0e400) -+ -+#define RG_XMIT_A0 (RF_D_ADDA_XMIT_REG_BASE + 0x0) -+// Bit 31 :0 rg_xmit_cfg0 U RW default = 'h0 -+typedef union RG_XMIT_A0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_xmit_cfg0 : 32; -+ } b; -+} RG_XMIT_A0_FIELD_T; -+ -+#define RG_XMIT_A1 (RF_D_ADDA_XMIT_REG_BASE + 0x4) -+// Bit 31 :0 rg_xmit_cfg1 U RW default = 'h0 -+typedef union RG_XMIT_A1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_xmit_cfg1 : 32; -+ } b; -+} RG_XMIT_A1_FIELD_T; -+ -+#define RG_XMIT_A2 (RF_D_ADDA_XMIT_REG_BASE + 0x8) -+// Bit 24 :0 rg_tg1_f_sel U RW default = 'h200000 -+// Bit 28 :25 rg_tg1_tone_gain U RW default = 'h0 -+// Bit 29 rg_tg1_enable U RW default = 'h0 -+// Bit 30 rg_tg1_tone_40 U RW default = 'h0 -+// Bit 31 rg_tg1_tone_man_en U RW default = 'h1 -+typedef union RG_XMIT_A2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tg1_f_sel : 25; -+ unsigned int rg_tg1_tone_gain : 4; -+ unsigned int rg_tg1_enable : 1; -+ unsigned int rg_tg1_tone_40 : 1; -+ unsigned int rg_tg1_tone_man_en : 1; -+ } b; -+} RG_XMIT_A2_FIELD_T; -+ -+#define RG_XMIT_A3 (RF_D_ADDA_XMIT_REG_BASE + 0xc) -+// Bit 24 :0 rg_tg2_f_sel U RW default = 'h200000 -+// Bit 28 :25 rg_tg2_tone_gain U RW default = 'h0 -+// Bit 29 rg_tg2_enable U RW default = 'h0 -+// Bit 30 rg_tg2_tone_40 U RW default = 'h0 -+// Bit 31 rg_tg2_tone_man_en U RW default = 'h1 -+typedef union RG_XMIT_A3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tg2_f_sel : 25; -+ unsigned int rg_tg2_tone_gain : 4; -+ unsigned int rg_tg2_enable : 1; -+ unsigned int rg_tg2_tone_40 : 1; -+ unsigned int rg_tg2_tone_man_en : 1; -+ } b; -+} RG_XMIT_A3_FIELD_T; -+ -+#define RG_XMIT_A4 (RF_D_ADDA_XMIT_REG_BASE + 0x10) -+// Bit 1 :0 rg_tx_signal_sel U RW default = 'h0 -+// Bit 14 :4 rg_tx_const_i U RW default = 'h0 -+// Bit 26 :16 rg_tx_const_q U RW default = 'h0 -+// Bit 31 rg_tx_const_v U RW default = 'h0 -+typedef union RG_XMIT_A4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_signal_sel : 2; -+ unsigned int rsvd_0 : 2; -+ unsigned int rg_tx_const_i : 11; -+ unsigned int rsvd_1 : 1; -+ unsigned int rg_tx_const_q : 11; -+ unsigned int rsvd_2 : 4; -+ unsigned int rg_tx_const_v : 1; -+ } b; -+} RG_XMIT_A4_FIELD_T; -+ -+#define RG_XMIT_A5 (RF_D_ADDA_XMIT_REG_BASE + 0x14) -+// Bit 31 :0 rg_tim_ratio U RW default = 'h0 -+typedef union RG_XMIT_A5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tim_ratio : 32; -+ } b; -+} RG_XMIT_A5_FIELD_T; -+ -+#define RG_XMIT_A6 (RF_D_ADDA_XMIT_REG_BASE + 0x18) -+// Bit 7 :0 rg_txirr_comp_theta0 U RW default = 'h0 -+// Bit 15 :8 rg_txirr_comp_theta1 U RW default = 'h0 -+// Bit 23 :16 rg_txirr_comp_theta2 U RW default = 'h0 -+// Bit 31 :24 rg_txirr_comp_theta3 U RW default = 'h0 -+typedef union RG_XMIT_A6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txirr_comp_theta0 : 8; -+ unsigned int rg_txirr_comp_theta1 : 8; -+ unsigned int rg_txirr_comp_theta2 : 8; -+ unsigned int rg_txirr_comp_theta3 : 8; -+ } b; -+} RG_XMIT_A6_FIELD_T; -+ -+#define RG_XMIT_A7 (RF_D_ADDA_XMIT_REG_BASE + 0x1c) -+// Bit 7 :0 rg_txirr_comp_theta4 U RW default = 'h0 -+// Bit 15 :8 rg_txirr_comp_theta5 U RW default = 'h0 -+// Bit 23 :16 rg_txirr_comp_theta6 U RW default = 'h0 -+// Bit 31 :24 rg_txirr_comp_theta7 U RW default = 'h0 -+typedef union RG_XMIT_A7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txirr_comp_theta4 : 8; -+ unsigned int rg_txirr_comp_theta5 : 8; -+ unsigned int rg_txirr_comp_theta6 : 8; -+ unsigned int rg_txirr_comp_theta7 : 8; -+ } b; -+} RG_XMIT_A7_FIELD_T; -+ -+#define RG_XMIT_A8 (RF_D_ADDA_XMIT_REG_BASE + 0x20) -+// Bit 7 :0 rg_txirr_comp_theta8 U RW default = 'h0 -+// Bit 15 :8 rg_txirr_comp_theta9 U RW default = 'h0 -+// Bit 23 :16 rg_txirr_comp_thetaa U RW default = 'h0 -+// Bit 31 :24 rg_txirr_comp_thetab U RW default = 'h0 -+typedef union RG_XMIT_A8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txirr_comp_theta8 : 8; -+ unsigned int rg_txirr_comp_theta9 : 8; -+ unsigned int rg_txirr_comp_thetaa : 8; -+ unsigned int rg_txirr_comp_thetab : 8; -+ } b; -+} RG_XMIT_A8_FIELD_T; -+ -+#define RG_XMIT_A9 (RF_D_ADDA_XMIT_REG_BASE + 0x24) -+// Bit 7 :0 rg_txirr_comp_thetac U RW default = 'h0 -+// Bit 15 :8 rg_txirr_comp_thetad U RW default = 'h0 -+// Bit 23 :16 rg_txirr_comp_thetae U RW default = 'h0 -+// Bit 31 :24 rg_txirr_comp_thetaf U RW default = 'h0 -+typedef union RG_XMIT_A9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txirr_comp_thetac : 8; -+ unsigned int rg_txirr_comp_thetad : 8; -+ unsigned int rg_txirr_comp_thetae : 8; -+ unsigned int rg_txirr_comp_thetaf : 8; -+ } b; -+} RG_XMIT_A9_FIELD_T; -+ -+#define RG_XMIT_A10 (RF_D_ADDA_XMIT_REG_BASE + 0x28) -+// Bit 7 :0 rg_txirr_comp_alpha0 U RW default = 'h0 -+// Bit 15 :8 rg_txirr_comp_alpha1 U RW default = 'h0 -+// Bit 23 :16 rg_txirr_comp_alpha2 U RW default = 'h0 -+// Bit 31 :24 rg_txirr_comp_alpha3 U RW default = 'h0 -+typedef union RG_XMIT_A10_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txirr_comp_alpha0 : 8; -+ unsigned int rg_txirr_comp_alpha1 : 8; -+ unsigned int rg_txirr_comp_alpha2 : 8; -+ unsigned int rg_txirr_comp_alpha3 : 8; -+ } b; -+} RG_XMIT_A10_FIELD_T; -+ -+#define RG_XMIT_A11 (RF_D_ADDA_XMIT_REG_BASE + 0x2c) -+// Bit 7 :0 rg_txirr_comp_alpha4 U RW default = 'h0 -+// Bit 15 :8 rg_txirr_comp_alpha5 U RW default = 'h0 -+// Bit 23 :16 rg_txirr_comp_alpha6 U RW default = 'h0 -+// Bit 31 :24 rg_txirr_comp_alpha7 U RW default = 'h0 -+typedef union RG_XMIT_A11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txirr_comp_alpha4 : 8; -+ unsigned int rg_txirr_comp_alpha5 : 8; -+ unsigned int rg_txirr_comp_alpha6 : 8; -+ unsigned int rg_txirr_comp_alpha7 : 8; -+ } b; -+} RG_XMIT_A11_FIELD_T; -+ -+#define RG_XMIT_A12 (RF_D_ADDA_XMIT_REG_BASE + 0x30) -+// Bit 7 :0 rg_txirr_comp_alpha8 U RW default = 'h0 -+// Bit 15 :8 rg_txirr_comp_alpha9 U RW default = 'h0 -+// Bit 23 :16 rg_txirr_comp_alphaa U RW default = 'h0 -+// Bit 31 :24 rg_txirr_comp_alphab U RW default = 'h0 -+typedef union RG_XMIT_A12_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txirr_comp_alpha8 : 8; -+ unsigned int rg_txirr_comp_alpha9 : 8; -+ unsigned int rg_txirr_comp_alphaa : 8; -+ unsigned int rg_txirr_comp_alphab : 8; -+ } b; -+} RG_XMIT_A12_FIELD_T; -+ -+#define RG_XMIT_A13 (RF_D_ADDA_XMIT_REG_BASE + 0x34) -+// Bit 7 :0 rg_txirr_comp_alphac U RW default = 'h0 -+// Bit 15 :8 rg_txirr_comp_alphad U RW default = 'h0 -+// Bit 23 :16 rg_txirr_comp_alphae U RW default = 'h0 -+// Bit 31 :24 rg_txirr_comp_alphaf U RW default = 'h0 -+typedef union RG_XMIT_A13_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txirr_comp_alphac : 8; -+ unsigned int rg_txirr_comp_alphad : 8; -+ unsigned int rg_txirr_comp_alphae : 8; -+ unsigned int rg_txirr_comp_alphaf : 8; -+ } b; -+} RG_XMIT_A13_FIELD_T; -+ -+#define RG_XMIT_A18 (RF_D_ADDA_XMIT_REG_BASE + 0x48) -+// Bit 24 :0 rg_tx_pwrlvl0 U RW default = 'h800000 -+typedef union RG_XMIT_A18_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl0 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A18_FIELD_T; -+ -+#define RG_XMIT_A19 (RF_D_ADDA_XMIT_REG_BASE + 0x4c) -+// Bit 24 :0 rg_tx_pwrlvl1 U RW default = 'h800000 -+typedef union RG_XMIT_A19_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl1 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A19_FIELD_T; -+ -+#define RG_XMIT_A20 (RF_D_ADDA_XMIT_REG_BASE + 0x50) -+// Bit 24 :0 rg_tx_pwrlvl2 U RW default = 'h800000 -+typedef union RG_XMIT_A20_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl2 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A20_FIELD_T; -+ -+#define RG_XMIT_A21 (RF_D_ADDA_XMIT_REG_BASE + 0x54) -+// Bit 24 :0 rg_tx_pwrlvl3 U RW default = 'h800000 -+typedef union RG_XMIT_A21_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl3 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A21_FIELD_T; -+ -+#define RG_XMIT_A22 (RF_D_ADDA_XMIT_REG_BASE + 0x58) -+// Bit 24 :0 rg_tx_pwrlvl4 U RW default = 'h800000 -+typedef union RG_XMIT_A22_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl4 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A22_FIELD_T; -+ -+#define RG_XMIT_A23 (RF_D_ADDA_XMIT_REG_BASE + 0x5c) -+// Bit 24 :0 rg_tx_pwrlvl5 U RW default = 'h800000 -+typedef union RG_XMIT_A23_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl5 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A23_FIELD_T; -+ -+#define RG_XMIT_A24 (RF_D_ADDA_XMIT_REG_BASE + 0x60) -+// Bit 24 :0 rg_tx_pwrlvl6 U RW default = 'h800000 -+typedef union RG_XMIT_A24_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl6 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A24_FIELD_T; -+ -+#define RG_XMIT_A25 (RF_D_ADDA_XMIT_REG_BASE + 0x64) -+// Bit 24 :0 rg_tx_pwrlvl7 U RW default = 'h800000 -+typedef union RG_XMIT_A25_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl7 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A25_FIELD_T; -+ -+#define RG_XMIT_A26 (RF_D_ADDA_XMIT_REG_BASE + 0x68) -+// Bit 24 :0 rg_tx_pwrlvl8 U RW default = 'h800000 -+typedef union RG_XMIT_A26_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl8 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A26_FIELD_T; -+ -+#define RG_XMIT_A27 (RF_D_ADDA_XMIT_REG_BASE + 0x6c) -+// Bit 24 :0 rg_tx_pwrlvl9 U RW default = 'h800000 -+typedef union RG_XMIT_A27_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvl9 : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A27_FIELD_T; -+ -+#define RG_XMIT_A28 (RF_D_ADDA_XMIT_REG_BASE + 0x70) -+// Bit 24 :0 rg_tx_pwrlvla U RW default = 'h800000 -+typedef union RG_XMIT_A28_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvla : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A28_FIELD_T; -+ -+#define RG_XMIT_A29 (RF_D_ADDA_XMIT_REG_BASE + 0x74) -+// Bit 24 :0 rg_tx_pwrlvlb U RW default = 'h800000 -+typedef union RG_XMIT_A29_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvlb : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A29_FIELD_T; -+ -+#define RG_XMIT_A30 (RF_D_ADDA_XMIT_REG_BASE + 0x78) -+// Bit 24 :0 rg_tx_pwrlvlc U RW default = 'h800000 -+typedef union RG_XMIT_A30_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvlc : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A30_FIELD_T; -+ -+#define RG_XMIT_A31 (RF_D_ADDA_XMIT_REG_BASE + 0x7c) -+// Bit 24 :0 rg_tx_pwrlvld U RW default = 'h800000 -+typedef union RG_XMIT_A31_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvld : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A31_FIELD_T; -+ -+#define RG_XMIT_A32 (RF_D_ADDA_XMIT_REG_BASE + 0x80) -+// Bit 24 :0 rg_tx_pwrlvle U RW default = 'h800000 -+typedef union RG_XMIT_A32_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvle : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A32_FIELD_T; -+ -+#define RG_XMIT_A33 (RF_D_ADDA_XMIT_REG_BASE + 0x84) -+// Bit 24 :0 rg_tx_pwrlvlf U RW default = 'h800000 -+typedef union RG_XMIT_A33_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_pwrlvlf : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_XMIT_A33_FIELD_T; -+ -+#define RG_XMIT_A34 (RF_D_ADDA_XMIT_REG_BASE + 0x88) -+// Bit 0 rg_tx_iqmm_bypass U RW default = 'h1 -+// Bit 4 rg_tx_negate_msb U RW default = 'h1 -+// Bit 8 rg_tx_iq_swap U RW default = 'h0 -+// Bit 13 :12 rg_tx_dout_sel U RW default = 'h0 -+// Bit 19 :16 rg_tx_async_wgap U RW default = 'ha -+typedef union RG_XMIT_A34_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_iqmm_bypass : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_tx_negate_msb : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int rg_tx_iq_swap : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int rg_tx_dout_sel : 2; -+ unsigned int rsvd_3 : 2; -+ unsigned int rg_tx_async_wgap : 4; -+ unsigned int rsvd_4 : 12; -+ } b; -+} RG_XMIT_A34_FIELD_T; -+ -+#define RG_XMIT_A45 (RF_D_ADDA_XMIT_REG_BASE + 0xb4) -+// Bit 24 :0 rg_man_tx_pwrlvl U RW default = 'h800000 -+// Bit 31 rg_tx_pwr_sel_man_en U RW default = 'h0 -+typedef union RG_XMIT_A45_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_man_tx_pwrlvl : 25; -+ unsigned int rsvd_0 : 6; -+ unsigned int rg_tx_pwr_sel_man_en : 1; -+ } b; -+} RG_XMIT_A45_FIELD_T; -+ -+#define RG_XMIT_A46 (RF_D_ADDA_XMIT_REG_BASE + 0xb8) -+// Bit 7 :0 rg_man_txirr_comp_theta U RW default = 'h0 -+// Bit 15 :8 rg_man_txirr_comp_alpha U RW default = 'h0 -+// Bit 16 rg_txpwc_comp_man_sel U RW default = 'h1 -+// Bit 31 :24 rg_txpwc_comp_man U RW default = 'h80 -+typedef union RG_XMIT_A46_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_man_txirr_comp_theta : 8; -+ unsigned int rg_man_txirr_comp_alpha : 8; -+ unsigned int rg_txpwc_comp_man_sel : 1; -+ unsigned int rsvd_0 : 7; -+ unsigned int rg_txpwc_comp_man : 8; -+ } b; -+} RG_XMIT_A46_FIELD_T; -+ -+#define RG_XMIT_A47 (RF_D_ADDA_XMIT_REG_BASE + 0xbc) -+// Bit 15 :0 rg_tx_ex_gain0 U RW default = 'h9 -+// Bit 31 :16 rg_tx_ex_gain1 U RW default = 'ha -+typedef union RG_XMIT_A47_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_ex_gain0 : 16; -+ unsigned int rg_tx_ex_gain1 : 16; -+ } b; -+} RG_XMIT_A47_FIELD_T; -+ -+#define RG_XMIT_A48 (RF_D_ADDA_XMIT_REG_BASE + 0xd0) -+// Bit 15 :0 rg_tx_ex_gain2 U RW default = 'h9 -+// Bit 31 :16 rg_tx_ex_gain3 U RW default = 'ha -+typedef union RG_XMIT_A48_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_ex_gain2 : 16; -+ unsigned int rg_tx_ex_gain3 : 16; -+ } b; -+} RG_XMIT_A48_FIELD_T; -+ -+#define RG_XMIT_A49 (RF_D_ADDA_XMIT_REG_BASE + 0xd4) -+// Bit 15 :0 rg_tx_ex_gain4 U RW default = 'h9 -+// Bit 31 :16 rg_tx_ex_gain5 U RW default = 'ha -+typedef union RG_XMIT_A49_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_ex_gain4 : 16; -+ unsigned int rg_tx_ex_gain5 : 16; -+ } b; -+} RG_XMIT_A49_FIELD_T; -+ -+#define RG_XMIT_A50 (RF_D_ADDA_XMIT_REG_BASE + 0xd8) -+// Bit 15 :0 rg_tx_ex_gain6 U RW default = 'h9 -+// Bit 31 :16 rg_tx_ex_gain7 U RW default = 'ha -+typedef union RG_XMIT_A50_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_ex_gain6 : 16; -+ unsigned int rg_tx_ex_gain7 : 16; -+ } b; -+} RG_XMIT_A50_FIELD_T; -+ -+#define RG_XMIT_A51 (RF_D_ADDA_XMIT_REG_BASE + 0xdc) -+// Bit 15 :0 rg_tx_ex_gain8 U RW default = 'h9 -+// Bit 31 :16 rg_tx_ex_gain9 U RW default = 'ha -+typedef union RG_XMIT_A51_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_ex_gain8 : 16; -+ unsigned int rg_tx_ex_gain9 : 16; -+ } b; -+} RG_XMIT_A51_FIELD_T; -+ -+#define RG_XMIT_A52 (RF_D_ADDA_XMIT_REG_BASE + 0xe0) -+// Bit 15 :0 rg_tx_ex_gaina U RW default = 'h9 -+// Bit 31 :16 rg_tx_ex_gainb U RW default = 'ha -+typedef union RG_XMIT_A52_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_ex_gaina : 16; -+ unsigned int rg_tx_ex_gainb : 16; -+ } b; -+} RG_XMIT_A52_FIELD_T; -+ -+#define RG_XMIT_A53 (RF_D_ADDA_XMIT_REG_BASE + 0xe4) -+// Bit 15 :0 rg_tx_ex_gainc U RW default = 'h9 -+// Bit 31 :16 rg_tx_ex_gaind U RW default = 'ha -+typedef union RG_XMIT_A53_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_ex_gainc : 16; -+ unsigned int rg_tx_ex_gaind : 16; -+ } b; -+} RG_XMIT_A53_FIELD_T; -+ -+#define RG_XMIT_A54 (RF_D_ADDA_XMIT_REG_BASE + 0xe8) -+// Bit 15 :0 rg_tx_ex_gaine U RW default = 'h9 -+// Bit 31 :16 rg_tx_ex_gainf U RW default = 'ha -+typedef union RG_XMIT_A54_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_ex_gaine : 16; -+ unsigned int rg_tx_ex_gainf : 16; -+ } b; -+} RG_XMIT_A54_FIELD_T; -+ -+#define RG_XMIT_A55 (RF_D_ADDA_XMIT_REG_BASE + 0xec) -+// Bit 15 :0 rg_tx_gain U RW default = 'h0 -+// Bit 16 rg_tx_set U RW default = 'h0 -+typedef union RG_XMIT_A55_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_gain : 16; -+ unsigned int rg_tx_set : 1; -+ unsigned int rsvd_0 : 15; -+ } b; -+} RG_XMIT_A55_FIELD_T; -+ -+#define RG_XMIT_A56 (RF_D_ADDA_XMIT_REG_BASE + 0xf0) -+// Bit 7 :0 rg_txdpd_comp_in_gain U RW default = 'h80 -+// Bit 18 :8 rg_txdpd_comp_out_gain U RW default = 'h80 -+// Bit 24 rg_txdpd_comp_type U RW default = 'h1 -+// Bit 26 rg_txdpd_comp_bypass U RW default = 'h1 -+// Bit 28 rg_txdpd_comp_bypass_man U RW default = 'h1 -+// Bit 31 rg_txdpd_comp_coef_man_sel U RW default = 'h0 -+typedef union RG_XMIT_A56_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_in_gain : 8; -+ unsigned int rg_txdpd_comp_out_gain : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_type : 1; -+ unsigned int rsvd_1 : 1; -+ unsigned int rg_txdpd_comp_bypass : 1; -+ unsigned int rsvd_2 : 1; -+ unsigned int rg_txdpd_comp_bypass_man : 1; -+ unsigned int rsvd_3 : 2; -+ unsigned int rg_txdpd_comp_coef_man_sel : 1; -+ } b; -+} RG_XMIT_A56_FIELD_T; -+ -+#define RG_XMIT_A57 (RF_D_ADDA_XMIT_REG_BASE + 0xf4) -+// Bit 11 :0 rg_txdpd_comp_coef_i_0_man U RW default = 'hff9 -+// Bit 27 :16 rg_txdpd_comp_coef_q_0_man U RW default = 'h46 -+typedef union RG_XMIT_A57_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_0_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_0_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A57_FIELD_T; -+ -+#define RG_XMIT_A58 (RF_D_ADDA_XMIT_REG_BASE + 0xf8) -+// Bit 11 :0 rg_txdpd_comp_coef_i_1_man U RW default = 'hff8 -+// Bit 27 :16 rg_txdpd_comp_coef_q_1_man U RW default = 'h13 -+typedef union RG_XMIT_A58_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_1_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_1_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A58_FIELD_T; -+ -+#define RG_XMIT_A59 (RF_D_ADDA_XMIT_REG_BASE + 0xfc) -+// Bit 11 :0 rg_txdpd_comp_coef_i_2_man U RW default = 'h10 -+// Bit 27 :16 rg_txdpd_comp_coef_q_2_man U RW default = 'h8 -+typedef union RG_XMIT_A59_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_2_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_2_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A59_FIELD_T; -+ -+#define RG_XMIT_A60 (RF_D_ADDA_XMIT_REG_BASE + 0x100) -+// Bit 11 :0 rg_txdpd_comp_coef_i_3_man U RW default = 'he -+// Bit 27 :16 rg_txdpd_comp_coef_q_3_man U RW default = 'h93 -+typedef union RG_XMIT_A60_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_3_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_3_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A60_FIELD_T; -+ -+#define RG_XMIT_A61 (RF_D_ADDA_XMIT_REG_BASE + 0x104) -+// Bit 11 :0 rg_txdpd_comp_coef_i_4_man U RW default = 'h16 -+// Bit 27 :16 rg_txdpd_comp_coef_q_4_man U RW default = 'h1f -+typedef union RG_XMIT_A61_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_4_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_4_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A61_FIELD_T; -+ -+#define RG_XMIT_A62 (RF_D_ADDA_XMIT_REG_BASE + 0x108) -+// Bit 11 :0 rg_txdpd_comp_coef_i_5_man U RW default = 'hfe1 -+// Bit 27 :16 rg_txdpd_comp_coef_q_5_man U RW default = 'hff9 -+typedef union RG_XMIT_A62_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_5_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_5_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A62_FIELD_T; -+ -+#define RG_XMIT_A63 (RF_D_ADDA_XMIT_REG_BASE + 0x10c) -+// Bit 11 :0 rg_txdpd_comp_coef_i_6_man U RW default = 'hf79 -+// Bit 27 :16 rg_txdpd_comp_coef_q_6_man U RW default = 'hc7f -+typedef union RG_XMIT_A63_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_6_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_6_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A63_FIELD_T; -+ -+#define RG_XMIT_A64 (RF_D_ADDA_XMIT_REG_BASE + 0x110) -+// Bit 11 :0 rg_txdpd_comp_coef_i_7_man U RW default = 'h9 -+// Bit 27 :16 rg_txdpd_comp_coef_q_7_man U RW default = 'hf51 -+typedef union RG_XMIT_A64_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_7_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_7_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A64_FIELD_T; -+ -+#define RG_XMIT_A65 (RF_D_ADDA_XMIT_REG_BASE + 0x114) -+// Bit 11 :0 rg_txdpd_comp_coef_i_8_man U RW default = 'hff1 -+// Bit 27 :16 rg_txdpd_comp_coef_q_8_man U RW default = 'h27 -+typedef union RG_XMIT_A65_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_8_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_8_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A65_FIELD_T; -+ -+#define RG_XMIT_A66 (RF_D_ADDA_XMIT_REG_BASE + 0x118) -+// Bit 11 :0 rg_txdpd_comp_coef_i_9_man U RW default = 'hfeb -+// Bit 27 :16 rg_txdpd_comp_coef_q_9_man U RW default = 'hf4d -+typedef union RG_XMIT_A66_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_9_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_9_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A66_FIELD_T; -+ -+#define RG_XMIT_A67 (RF_D_ADDA_XMIT_REG_BASE + 0x11c) -+// Bit 11 :0 rg_txdpd_comp_coef_i_a_man U RW default = 'h5 -+// Bit 27 :16 rg_txdpd_comp_coef_q_a_man U RW default = 'hfe4 -+typedef union RG_XMIT_A67_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_a_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_a_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A67_FIELD_T; -+ -+#define RG_XMIT_A68 (RF_D_ADDA_XMIT_REG_BASE + 0x120) -+// Bit 11 :0 rg_txdpd_comp_coef_i_b_man U RW default = 'h6 -+// Bit 27 :16 rg_txdpd_comp_coef_q_b_man U RW default = 'hfee -+typedef union RG_XMIT_A68_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_b_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_b_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A68_FIELD_T; -+ -+#define RG_XMIT_A69 (RF_D_ADDA_XMIT_REG_BASE + 0x124) -+// Bit 11 :0 rg_txdpd_comp_coef_i_c_man U RW default = 'h17 -+// Bit 27 :16 rg_txdpd_comp_coef_q_c_man U RW default = 'ha3 -+typedef union RG_XMIT_A69_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_c_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_c_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A69_FIELD_T; -+ -+#define RG_XMIT_A70 (RF_D_ADDA_XMIT_REG_BASE + 0x128) -+// Bit 11 :0 rg_txdpd_comp_coef_i_d_man U RW default = 'hffc -+// Bit 27 :16 rg_txdpd_comp_coef_q_d_man U RW default = 'h16 -+typedef union RG_XMIT_A70_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_d_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_d_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A70_FIELD_T; -+ -+#define RG_XMIT_A71 (RF_D_ADDA_XMIT_REG_BASE + 0x12c) -+// Bit 11 :0 rg_txdpd_comp_coef_i_e_man U RW default = 'hfff -+// Bit 27 :16 rg_txdpd_comp_coef_q_e_man U RW default = 'h5 -+typedef union RG_XMIT_A71_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_coef_i_e_man : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int rg_txdpd_comp_coef_q_e_man : 12; -+ unsigned int rsvd_1 : 4; -+ } b; -+} RG_XMIT_A71_FIELD_T; -+ -+#define RG_XMIT_A72 (RF_D_ADDA_XMIT_REG_BASE + 0x130) -+// Bit 12 :0 rg_txdpd_comp_low_thresh U RW default = 'hcd -+// Bit 28 :16 rg_txdpd_comp_high_thresh U RW default = 'h1000 -+typedef union RG_XMIT_A72_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_low_thresh : 13; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_txdpd_comp_high_thresh : 13; -+ unsigned int rsvd_1 : 3; -+ } b; -+} RG_XMIT_A72_FIELD_T; -+ -+#define RG_XMIT_A73 (RF_D_ADDA_XMIT_REG_BASE + 0x134) -+// Bit 10 :0 rg_txdpd_comp_lut_00_i U RW default = 'h101 -+// Bit 26 :16 rg_txdpd_comp_lut_00_q U RW default = 'h0 -+typedef union RG_XMIT_A73_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_00_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_00_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A73_FIELD_T; -+ -+#define RG_XMIT_A74 (RF_D_ADDA_XMIT_REG_BASE + 0x138) -+// Bit 10 :0 rg_txdpd_comp_lut_01_i U RW default = 'hfb -+// Bit 26 :16 rg_txdpd_comp_lut_01_q U RW default = 'h7fe -+typedef union RG_XMIT_A74_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_01_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_01_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A74_FIELD_T; -+ -+#define RG_XMIT_A75 (RF_D_ADDA_XMIT_REG_BASE + 0x13c) -+// Bit 10 :0 rg_txdpd_comp_lut_02_i U RW default = 'hf5 -+// Bit 26 :16 rg_txdpd_comp_lut_02_q U RW default = 'h7fb -+typedef union RG_XMIT_A75_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_02_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_02_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A75_FIELD_T; -+ -+#define RG_XMIT_A76 (RF_D_ADDA_XMIT_REG_BASE + 0x140) -+// Bit 10 :0 rg_txdpd_comp_lut_03_i U RW default = 'hf2 -+// Bit 26 :16 rg_txdpd_comp_lut_03_q U RW default = 'h7fb -+typedef union RG_XMIT_A76_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_03_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_03_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A76_FIELD_T; -+ -+#define RG_XMIT_A77 (RF_D_ADDA_XMIT_REG_BASE + 0x144) -+// Bit 10 :0 rg_txdpd_comp_lut_04_i U RW default = 'hf2 -+// Bit 26 :16 rg_txdpd_comp_lut_04_q U RW default = 'h7fe -+typedef union RG_XMIT_A77_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_04_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_04_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A77_FIELD_T; -+ -+#define RG_XMIT_A78 (RF_D_ADDA_XMIT_REG_BASE + 0x148) -+// Bit 10 :0 rg_txdpd_comp_lut_05_i U RW default = 'hf0 -+// Bit 26 :16 rg_txdpd_comp_lut_05_q U RW default = 'h0 -+typedef union RG_XMIT_A78_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_05_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_05_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A78_FIELD_T; -+ -+#define RG_XMIT_A79 (RF_D_ADDA_XMIT_REG_BASE + 0x14c) -+// Bit 10 :0 rg_txdpd_comp_lut_06_i U RW default = 'hee -+// Bit 26 :16 rg_txdpd_comp_lut_06_q U RW default = 'h2 -+typedef union RG_XMIT_A79_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_06_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_06_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A79_FIELD_T; -+ -+#define RG_XMIT_A80 (RF_D_ADDA_XMIT_REG_BASE + 0x150) -+// Bit 10 :0 rg_txdpd_comp_lut_07_i U RW default = 'heb -+// Bit 26 :16 rg_txdpd_comp_lut_07_q U RW default = 'h4 -+typedef union RG_XMIT_A80_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_07_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_07_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A80_FIELD_T; -+ -+#define RG_XMIT_A81 (RF_D_ADDA_XMIT_REG_BASE + 0x154) -+// Bit 10 :0 rg_txdpd_comp_lut_08_i U RW default = 'he8 -+// Bit 26 :16 rg_txdpd_comp_lut_08_q U RW default = 'h5 -+typedef union RG_XMIT_A81_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_08_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_08_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A81_FIELD_T; -+ -+#define RG_XMIT_A82 (RF_D_ADDA_XMIT_REG_BASE + 0x158) -+// Bit 10 :0 rg_txdpd_comp_lut_09_i U RW default = 'he6 -+// Bit 26 :16 rg_txdpd_comp_lut_09_q U RW default = 'h6 -+typedef union RG_XMIT_A82_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_09_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_09_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A82_FIELD_T; -+ -+#define RG_XMIT_A83 (RF_D_ADDA_XMIT_REG_BASE + 0x15c) -+// Bit 10 :0 rg_txdpd_comp_lut_10_i U RW default = 'he4 -+// Bit 26 :16 rg_txdpd_comp_lut_10_q U RW default = 'h7 -+typedef union RG_XMIT_A83_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_10_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_10_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A83_FIELD_T; -+ -+#define RG_XMIT_A84 (RF_D_ADDA_XMIT_REG_BASE + 0x160) -+// Bit 10 :0 rg_txdpd_comp_lut_11_i U RW default = 'he4 -+// Bit 26 :16 rg_txdpd_comp_lut_11_q U RW default = 'h8 -+typedef union RG_XMIT_A84_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_11_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_11_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A84_FIELD_T; -+ -+#define RG_XMIT_A85 (RF_D_ADDA_XMIT_REG_BASE + 0x164) -+// Bit 10 :0 rg_txdpd_comp_lut_12_i U RW default = 'he6 -+// Bit 26 :16 rg_txdpd_comp_lut_12_q U RW default = 'h9 -+typedef union RG_XMIT_A85_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_12_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_12_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A85_FIELD_T; -+ -+#define RG_XMIT_A86 (RF_D_ADDA_XMIT_REG_BASE + 0x168) -+// Bit 10 :0 rg_txdpd_comp_lut_13_i U RW default = 'hea -+// Bit 26 :16 rg_txdpd_comp_lut_13_q U RW default = 'h9 -+typedef union RG_XMIT_A86_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_13_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_13_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A86_FIELD_T; -+ -+#define RG_XMIT_A87 (RF_D_ADDA_XMIT_REG_BASE + 0x16c) -+// Bit 10 :0 rg_txdpd_comp_lut_14_i U RW default = 'hef -+// Bit 26 :16 rg_txdpd_comp_lut_14_q U RW default = 'h8 -+typedef union RG_XMIT_A87_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_14_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_14_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A87_FIELD_T; -+ -+#define RG_XMIT_A88 (RF_D_ADDA_XMIT_REG_BASE + 0x170) -+// Bit 10 :0 rg_txdpd_comp_lut_15_i U RW default = 'hf6 -+// Bit 26 :16 rg_txdpd_comp_lut_15_q U RW default = 'h7 -+typedef union RG_XMIT_A88_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_15_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_15_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A88_FIELD_T; -+ -+#define RG_XMIT_A89 (RF_D_ADDA_XMIT_REG_BASE + 0x174) -+// Bit 10 :0 rg_txdpd_comp_lut_16_i U RW default = 'hfe -+// Bit 26 :16 rg_txdpd_comp_lut_16_q U RW default = 'h5 -+typedef union RG_XMIT_A89_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_16_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_16_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A89_FIELD_T; -+ -+#define RG_XMIT_A90 (RF_D_ADDA_XMIT_REG_BASE + 0x178) -+// Bit 10 :0 rg_txdpd_comp_lut_17_i U RW default = 'h108 -+// Bit 26 :16 rg_txdpd_comp_lut_17_q U RW default = 'h2 -+typedef union RG_XMIT_A90_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_17_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_17_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A90_FIELD_T; -+ -+#define RG_XMIT_A91 (RF_D_ADDA_XMIT_REG_BASE + 0x17c) -+// Bit 10 :0 rg_txdpd_comp_lut_18_i U RW default = 'h113 -+// Bit 26 :16 rg_txdpd_comp_lut_18_q U RW default = 'h7ff -+typedef union RG_XMIT_A91_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_18_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_18_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A91_FIELD_T; -+ -+#define RG_XMIT_A92 (RF_D_ADDA_XMIT_REG_BASE + 0x180) -+// Bit 10 :0 rg_txdpd_comp_lut_19_i U RW default = 'h11e -+// Bit 26 :16 rg_txdpd_comp_lut_19_q U RW default = 'h7fd -+typedef union RG_XMIT_A92_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_19_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_19_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A92_FIELD_T; -+ -+#define RG_XMIT_A93 (RF_D_ADDA_XMIT_REG_BASE + 0x184) -+// Bit 10 :0 rg_txdpd_comp_lut_20_i U RW default = 'h129 -+// Bit 26 :16 rg_txdpd_comp_lut_20_q U RW default = 'h7fa -+typedef union RG_XMIT_A93_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_20_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_20_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A93_FIELD_T; -+ -+#define RG_XMIT_A94 (RF_D_ADDA_XMIT_REG_BASE + 0x188) -+// Bit 10 :0 rg_txdpd_comp_lut_21_i U RW default = 'h135 -+// Bit 26 :16 rg_txdpd_comp_lut_21_q U RW default = 'h7f7 -+typedef union RG_XMIT_A94_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_21_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_21_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A94_FIELD_T; -+ -+#define RG_XMIT_A95 (RF_D_ADDA_XMIT_REG_BASE + 0x18c) -+// Bit 10 :0 rg_txdpd_comp_lut_22_i U RW default = 'h140 -+// Bit 26 :16 rg_txdpd_comp_lut_22_q U RW default = 'h7f4 -+typedef union RG_XMIT_A95_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_22_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_22_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A95_FIELD_T; -+ -+#define RG_XMIT_A96 (RF_D_ADDA_XMIT_REG_BASE + 0x190) -+// Bit 10 :0 rg_txdpd_comp_lut_23_i U RW default = 'h14b -+// Bit 26 :16 rg_txdpd_comp_lut_23_q U RW default = 'h7f1 -+typedef union RG_XMIT_A96_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_23_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_23_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A96_FIELD_T; -+ -+#define RG_XMIT_A97 (RF_D_ADDA_XMIT_REG_BASE + 0x194) -+// Bit 10 :0 rg_txdpd_comp_lut_24_i U RW default = 'h157 -+// Bit 26 :16 rg_txdpd_comp_lut_24_q U RW default = 'h7ee -+typedef union RG_XMIT_A97_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_24_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_24_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A97_FIELD_T; -+ -+#define RG_XMIT_A98 (RF_D_ADDA_XMIT_REG_BASE + 0x198) -+// Bit 10 :0 rg_txdpd_comp_lut_25_i U RW default = 'h163 -+// Bit 26 :16 rg_txdpd_comp_lut_25_q U RW default = 'h7ec -+typedef union RG_XMIT_A98_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_25_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_25_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A98_FIELD_T; -+ -+#define RG_XMIT_A99 (RF_D_ADDA_XMIT_REG_BASE + 0x19c) -+// Bit 10 :0 rg_txdpd_comp_lut_26_i U RW default = 'h170 -+// Bit 26 :16 rg_txdpd_comp_lut_26_q U RW default = 'h7e9 -+typedef union RG_XMIT_A99_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_26_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_26_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A99_FIELD_T; -+ -+#define RG_XMIT_A100 (RF_D_ADDA_XMIT_REG_BASE + 0x1a0) -+// Bit 10 :0 rg_txdpd_comp_lut_27_i U RW default = 'h17b -+// Bit 26 :16 rg_txdpd_comp_lut_27_q U RW default = 'h7e6 -+typedef union RG_XMIT_A100_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_27_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_27_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A100_FIELD_T; -+ -+#define RG_XMIT_A101 (RF_D_ADDA_XMIT_REG_BASE + 0x1a4) -+// Bit 10 :0 rg_txdpd_comp_lut_28_i U RW default = 'h185 -+// Bit 26 :16 rg_txdpd_comp_lut_28_q U RW default = 'h7e2 -+typedef union RG_XMIT_A101_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_28_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_28_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A101_FIELD_T; -+ -+#define RG_XMIT_A102 (RF_D_ADDA_XMIT_REG_BASE + 0x1a8) -+// Bit 10 :0 rg_txdpd_comp_lut_29_i U RW default = 'h18d -+// Bit 26 :16 rg_txdpd_comp_lut_29_q U RW default = 'h7df -+typedef union RG_XMIT_A102_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_29_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_29_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A102_FIELD_T; -+ -+#define RG_XMIT_A103 (RF_D_ADDA_XMIT_REG_BASE + 0x1ac) -+// Bit 10 :0 rg_txdpd_comp_lut_30_i U RW default = 'h199 -+// Bit 26 :16 rg_txdpd_comp_lut_30_q U RW default = 'h7dc -+typedef union RG_XMIT_A103_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_30_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_30_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A103_FIELD_T; -+ -+#define RG_XMIT_A104 (RF_D_ADDA_XMIT_REG_BASE + 0x1b0) -+// Bit 10 :0 rg_txdpd_comp_lut_31_i U RW default = 'h1ad -+// Bit 26 :16 rg_txdpd_comp_lut_31_q U RW default = 'h7da -+typedef union RG_XMIT_A104_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_31_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_31_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A104_FIELD_T; -+ -+#define RG_XMIT_A105 (RF_D_ADDA_XMIT_REG_BASE + 0x1b4) -+// Bit 12 :0 rg_txdpd_comp_high_thresh_recip U RW default = 'h10d -+// Bit 30 :16 rg_txdpd_coef_update_en U RW default = 'h7fff -+typedef union RG_XMIT_A105_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_high_thresh_recip : 13; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_txdpd_coef_update_en : 15; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_XMIT_A105_FIELD_T; -+ -+#define RG_XMIT_A106 (RF_D_ADDA_XMIT_REG_BASE + 0x1b8) -+// Bit 7 :0 rg_tx_atten_factor U RW default = 'h8 -+// Bit 8 rg_tx_atten_factor_man_mode U RW default = 'h1 -+typedef union RG_XMIT_A106_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_atten_factor : 8; -+ unsigned int rg_tx_atten_factor_man_mode : 1; -+ unsigned int rsvd_0 : 23; -+ } b; -+} RG_XMIT_A106_FIELD_T; -+ -+#define RG_XMIT_A107 (RF_D_ADDA_XMIT_REG_BASE + 0x1bc) -+// Bit 7 :0 rg_tx_coeff_20m_0 U RW default = 'hfb -+// Bit 15 :8 rg_tx_coeff_20m_1 U RW default = 'hfb -+// Bit 23 :16 rg_tx_coeff_20m_2 U RW default = 'h2 -+// Bit 31 :24 rg_tx_coeff_20m_3 U RW default = 'h11 -+typedef union RG_XMIT_A107_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_coeff_20m_0 : 8; -+ unsigned int rg_tx_coeff_20m_1 : 8; -+ unsigned int rg_tx_coeff_20m_2 : 8; -+ unsigned int rg_tx_coeff_20m_3 : 8; -+ } b; -+} RG_XMIT_A107_FIELD_T; -+ -+#define RG_XMIT_A108 (RF_D_ADDA_XMIT_REG_BASE + 0x1c0) -+// Bit 7 :0 rg_tx_coeff_20m_4 U RW default = 'h25 -+// Bit 15 :8 rg_tx_coeff_20m_5 U RW default = 'h37 -+// Bit 23 :16 rg_tx_coeff_20m_6 U RW default = 'h3e -+typedef union RG_XMIT_A108_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_coeff_20m_4 : 8; -+ unsigned int rg_tx_coeff_20m_5 : 8; -+ unsigned int rg_tx_coeff_20m_6 : 8; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_XMIT_A108_FIELD_T; -+ -+#define RG_XMIT_A109 (RF_D_ADDA_XMIT_REG_BASE + 0x1c4) -+// Bit 7 :0 rg_tx_coeff_40m_0 U RW default = 'h2 -+// Bit 15 :8 rg_tx_coeff_40m_1 U RW default = 'hfc -+// Bit 23 :16 rg_tx_coeff_40m_2 U RW default = 'hf3 -+// Bit 31 :24 rg_tx_coeff_40m_3 U RW default = 'hf8 -+typedef union RG_XMIT_A109_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_coeff_40m_0 : 8; -+ unsigned int rg_tx_coeff_40m_1 : 8; -+ unsigned int rg_tx_coeff_40m_2 : 8; -+ unsigned int rg_tx_coeff_40m_3 : 8; -+ } b; -+} RG_XMIT_A109_FIELD_T; -+ -+#define RG_XMIT_A110 (RF_D_ADDA_XMIT_REG_BASE + 0x1c8) -+// Bit 7 :0 rg_tx_coeff_40m_4 U RW default = 'h1a -+// Bit 15 :8 rg_tx_coeff_40m_5 U RW default = 'h49 -+// Bit 23 :16 rg_tx_coeff_40m_6 U RW default = 'h60 -+typedef union RG_XMIT_A110_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_coeff_40m_4 : 8; -+ unsigned int rg_tx_coeff_40m_5 : 8; -+ unsigned int rg_tx_coeff_40m_6 : 8; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_XMIT_A110_FIELD_T; -+ -+#define RG_XMIT_A111 (RF_D_ADDA_XMIT_REG_BASE + 0x1cc) -+// Bit 1 :0 rg_txirr_theta_step U RW default = 'h0 -+typedef union RG_XMIT_A111_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txirr_theta_step : 2; -+ unsigned int rsvd_0 : 30; -+ } b; -+} RG_XMIT_A111_FIELD_T; -+ -+#define RG_XMIT_A112 (RF_D_ADDA_XMIT_REG_BASE + 0x1d0) -+// Bit 7 :0 rg_tx_atten_factor0 U RW default = 'h8 -+// Bit 15 :8 rg_tx_atten_factor1 U RW default = 'h8 -+// Bit 23 :16 rg_tx_atten_factor2 U RW default = 'h8 -+// Bit 31 :24 rg_tx_atten_factor3 U RW default = 'h8 -+typedef union RG_XMIT_A112_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_atten_factor0 : 8; -+ unsigned int rg_tx_atten_factor1 : 8; -+ unsigned int rg_tx_atten_factor2 : 8; -+ unsigned int rg_tx_atten_factor3 : 8; -+ } b; -+} RG_XMIT_A112_FIELD_T; -+ -+#define RG_XMIT_A113 (RF_D_ADDA_XMIT_REG_BASE + 0x1d4) -+// Bit 7 :0 rg_tx_atten_factor4 U RW default = 'h8 -+// Bit 15 :8 rg_tx_atten_factor5 U RW default = 'h8 -+// Bit 23 :16 rg_tx_atten_factor6 U RW default = 'h8 -+// Bit 31 :24 rg_tx_atten_factor7 U RW default = 'h8 -+typedef union RG_XMIT_A113_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_atten_factor4 : 8; -+ unsigned int rg_tx_atten_factor5 : 8; -+ unsigned int rg_tx_atten_factor6 : 8; -+ unsigned int rg_tx_atten_factor7 : 8; -+ } b; -+} RG_XMIT_A113_FIELD_T; -+ -+#define RG_XMIT_A114 (RF_D_ADDA_XMIT_REG_BASE + 0x1d8) -+// Bit 7 :0 rg_tx_atten_factor8 U RW default = 'h8 -+// Bit 15 :8 rg_tx_atten_factor9 U RW default = 'h8 -+// Bit 23 :16 rg_tx_atten_factora U RW default = 'h8 -+// Bit 31 :24 rg_tx_atten_factorb U RW default = 'h8 -+typedef union RG_XMIT_A114_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_atten_factor8 : 8; -+ unsigned int rg_tx_atten_factor9 : 8; -+ unsigned int rg_tx_atten_factora : 8; -+ unsigned int rg_tx_atten_factorb : 8; -+ } b; -+} RG_XMIT_A114_FIELD_T; -+ -+#define RG_XMIT_A115 (RF_D_ADDA_XMIT_REG_BASE + 0x1dc) -+// Bit 7 :0 rg_tx_atten_factorc U RW default = 'h8 -+// Bit 15 :8 rg_tx_atten_factord U RW default = 'h8 -+// Bit 23 :16 rg_tx_atten_factore U RW default = 'h8 -+// Bit 31 :24 rg_tx_atten_factorf U RW default = 'h8 -+typedef union RG_XMIT_A115_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_tx_atten_factorc : 8; -+ unsigned int rg_tx_atten_factord : 8; -+ unsigned int rg_tx_atten_factore : 8; -+ unsigned int rg_tx_atten_factorf : 8; -+ } b; -+} RG_XMIT_A115_FIELD_T; -+ -+#define RG_XMIT_A116 (RF_D_ADDA_XMIT_REG_BASE + 0x1e0) -+// Bit 10 :0 rg_txdpd_comp_lut_32_i U RW default = 'h0 -+// Bit 26 :16 rg_txdpd_comp_lut_32_q U RW default = 'h0 -+typedef union RG_XMIT_A116_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_txdpd_comp_lut_32_i : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_txdpd_comp_lut_32_q : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A116_FIELD_T; -+ -+#define RG_XMIT_A117 (RF_D_ADDA_XMIT_REG_BASE + 0x1e4) -+// Bit 10 :0 rg_trig_wave_min U RW default = 'h401 -+// Bit 26 :16 rg_trig_wave_max U RW default = 'h3ff -+typedef union RG_XMIT_A117_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_trig_wave_min : 11; -+ unsigned int rsvd_0 : 5; -+ unsigned int rg_trig_wave_max : 11; -+ unsigned int rsvd_1 : 5; -+ } b; -+} RG_XMIT_A117_FIELD_T; -+ -+#define RG_XMIT_A118 (RF_D_ADDA_XMIT_REG_BASE + 0x1e8) -+// Bit 10 :0 rg_trig_wave_step U RW default = 'h5 -+// Bit 27 :12 rg_trig_wave_length U RW default = 'h2 -+// Bit 30 rg_trig_wave_q_hold U RW default = 'h0 -+// Bit 31 rg_trig_wave_en U RW default = 'h0 -+typedef union RG_XMIT_A118_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_trig_wave_step : 11; -+ unsigned int rsvd_0 : 1; -+ unsigned int rg_trig_wave_length : 16; -+ unsigned int rsvd_1 : 2; -+ unsigned int rg_trig_wave_q_hold : 1; -+ unsigned int rg_trig_wave_en : 1; -+ } b; -+} RG_XMIT_A118_FIELD_T; -+ -+#define RG_XMIT_A119 (RF_D_ADDA_XMIT_REG_BASE + 0x1ec) -+// Bit 0 rg_const_sel U RW default = 'h0 -+typedef union RG_XMIT_A119_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_const_sel : 1; -+ unsigned int rsvd_0 : 31; -+ } b; -+} RG_XMIT_A119_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/rf_d_rx_reg.h b/drivers/net/wireless/w1/common/rf_d_rx_reg.h -new file mode 100644 -index 000000000000..8ac34b1e8b04 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/rf_d_rx_reg.h -@@ -0,0 +1,2486 @@ -+#ifdef RF_D_RX_REG -+#else -+#define RF_D_RX_REG -+ -+ -+#define RF_D_RX_REG_BASE (0xc00) -+ -+#define RG_RX_A0 (RF_D_RX_REG_BASE + 0x0) -+// Bit 31 :0 rg_wf_rx_dig_rsv0 U RW default = 'hffff -+typedef union RG_RX_A0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_DIG_RSV0 : 32; -+ } b; -+} RG_RX_A0_FIELD_T; -+ -+#define RG_RX_A1 (RF_D_RX_REG_BASE + 0x4) -+// Bit 31 :0 rg_wf_rx_dig_rsv1 U RW default = 'hffff -+typedef union RG_RX_A1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_DIG_RSV1 : 32; -+ } b; -+} RG_RX_A1_FIELD_T; -+ -+#define RG_RX_A2 (RF_D_RX_REG_BASE + 0x8) -+// Bit 0 rg_wf_rx_bbbm_man_mode U RW default = 'h0 -+// Bit 3 :2 rg_wf_rx_bw_sel U RW default = 'h0 -+// Bit 4 rg_wf_rx_adcfs_sel U RW default = 'h0 -+// Bit 15 :8 rg_wf_rx_gain_man U RW default = 'h9c -+// Bit 16 rg_wf_rx_gain_man_mode U RW default = 'h0 -+// Bit 23 :20 rg_wf_rx_osc_freq U RW default = 'h5 -+typedef union RG_RX_A2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_BBBM_MAN_MODE : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RX_BW_SEL : 2; -+ unsigned int RG_WF_RX_ADCFS_SEL : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_WF_RX_GAIN_MAN : 8; -+ unsigned int RG_WF_RX_GAIN_MAN_MODE : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int RG_WF_RX_OSC_FREQ : 4; -+ unsigned int rsvd_3 : 8; -+ } b; -+} RG_RX_A2_FIELD_T; -+ -+#define RG_RX_A3 (RF_D_RX_REG_BASE + 0xc) -+// Bit 0 rg_m0_wf_rx_fe_topbias_en U RW default = 'h0 -+// Bit 1 rg_m0_wf_rx_lna_bias_en U RW default = 'h0 -+// Bit 2 rg_m0_wf_rx_gm_bias_en U RW default = 'h0 -+// Bit 3 rg_m0_wf_rx_mxr_bias_en U RW default = 'h0 -+// Bit 4 rg_m0_wf5g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 5 rg_m0_wf5g_rx_lna_en U RW default = 'h0 -+// Bit 6 rg_m0_wf5g_rx_gm_en U RW default = 'h0 -+// Bit 7 rg_m0_wf5g_rx_mxr_en U RW default = 'h0 -+// Bit 8 rg_m0_wf5g_rx_dpd_en U RW default = 'h0 -+// Bit 9 rg_m0_wf5g_rx_irrcal_en U RW default = 'h0 -+// Bit 10 rg_m0_wf2g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 11 rg_m0_wf2g_rx_lna_en U RW default = 'h0 -+// Bit 12 rg_m0_wf2g_rx_gm_en U RW default = 'h0 -+// Bit 13 rg_m0_wf2g_rx_mxr_en U RW default = 'h0 -+// Bit 14 rg_m0_wf2g_rx_irrcal_en U RW default = 'h0 -+// Bit 15 rg_m0_wf2g_rx_dpd_en U RW default = 'h0 -+// Bit 17 rg_m0_wf_rtx_abb_topbias_en U RW default = 'h0 -+// Bit 18 rg_m0_wf_rtx_abb_rx_en U RW default = 'h0 -+// Bit 22 rg_m0_wf_rx_tia_bias_en U RW default = 'h0 -+// Bit 23 rg_m0_wf_rx_rssipga_bias_en U RW default = 'h0 -+// Bit 24 rg_m0_wf_rx_lpf_bias_en U RW default = 'h0 -+// Bit 25 rg_m0_wf_rx_tia_en U RW default = 'h0 -+// Bit 26 rg_m0_wf_rx_rssipga_en U RW default = 'h0 -+// Bit 27 rg_m0_wf_rx_lpf_en U RW default = 'h0 -+// Bit 28 rg_m0_wf_rx_lpf_i_dcoc_en U RW default = 'h0 -+// Bit 29 rg_m0_wf_rx_lpf_q_dcoc_en U RW default = 'h0 -+typedef union RG_RX_A3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M0_WF_RX_FE_TOPBIAS_EN : 1; -+ unsigned int RG_M0_WF_RX_LNA_BIAS_EN : 1; -+ unsigned int RG_M0_WF_RX_GM_BIAS_EN : 1; -+ unsigned int RG_M0_WF_RX_MXR_BIAS_EN : 1; -+ unsigned int RG_M0_WF5G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M0_WF5G_RX_LNA_EN : 1; -+ unsigned int RG_M0_WF5G_RX_GM_EN : 1; -+ unsigned int RG_M0_WF5G_RX_MXR_EN : 1; -+ unsigned int RG_M0_WF5G_RX_DPD_EN : 1; -+ unsigned int RG_M0_WF5G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M0_WF2G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M0_WF2G_RX_LNA_EN : 1; -+ unsigned int RG_M0_WF2G_RX_GM_EN : 1; -+ unsigned int RG_M0_WF2G_RX_MXR_EN : 1; -+ unsigned int RG_M0_WF2G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M0_WF2G_RX_DPD_EN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_M0_WF_RTX_ABB_TOPBIAS_EN : 1; -+ unsigned int RG_M0_WF_RTX_ABB_RX_EN : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_M0_WF_RX_TIA_BIAS_EN : 1; -+ unsigned int RG_M0_WF_RX_RSSIPGA_BIAS_EN : 1; -+ unsigned int RG_M0_WF_RX_LPF_BIAS_EN : 1; -+ unsigned int RG_M0_WF_RX_TIA_EN : 1; -+ unsigned int RG_M0_WF_RX_RSSIPGA_EN : 1; -+ unsigned int RG_M0_WF_RX_LPF_EN : 1; -+ unsigned int RG_M0_WF_RX_LPF_I_DCOC_EN : 1; -+ unsigned int RG_M0_WF_RX_LPF_Q_DCOC_EN : 1; -+ unsigned int rsvd_2 : 2; -+ } b; -+} RG_RX_A3_FIELD_T; -+ -+#define RG_RX_A4 (RF_D_RX_REG_BASE + 0x10) -+// Bit 0 rg_m1_wf_rx_fe_topbias_en U RW default = 'h0 -+// Bit 1 rg_m1_wf_rx_lna_bias_en U RW default = 'h0 -+// Bit 2 rg_m1_wf_rx_gm_bias_en U RW default = 'h0 -+// Bit 3 rg_m1_wf_rx_mxr_bias_en U RW default = 'h0 -+// Bit 4 rg_m1_wf5g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 5 rg_m1_wf5g_rx_lna_en U RW default = 'h0 -+// Bit 6 rg_m1_wf5g_rx_gm_en U RW default = 'h0 -+// Bit 7 rg_m1_wf5g_rx_mxr_en U RW default = 'h0 -+// Bit 8 rg_m1_wf5g_rx_dpd_en U RW default = 'h0 -+// Bit 9 rg_m1_wf5g_rx_irrcal_en U RW default = 'h0 -+// Bit 10 rg_m1_wf2g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 11 rg_m1_wf2g_rx_lna_en U RW default = 'h0 -+// Bit 12 rg_m1_wf2g_rx_gm_en U RW default = 'h0 -+// Bit 13 rg_m1_wf2g_rx_mxr_en U RW default = 'h0 -+// Bit 14 rg_m1_wf2g_rx_irrcal_en U RW default = 'h0 -+// Bit 15 rg_m1_wf2g_rx_dpd_en U RW default = 'h0 -+// Bit 17 rg_m1_wf_rtx_abb_topbias_en U RW default = 'h0 -+// Bit 18 rg_m1_wf_rtx_abb_rx_en U RW default = 'h0 -+// Bit 22 rg_m1_wf_rx_tia_bias_en U RW default = 'h0 -+// Bit 23 rg_m1_wf_rx_rssipga_bias_en U RW default = 'h0 -+// Bit 24 rg_m1_wf_rx_lpf_bias_en U RW default = 'h0 -+// Bit 25 rg_m1_wf_rx_tia_en U RW default = 'h0 -+// Bit 26 rg_m1_wf_rx_rssipga_en U RW default = 'h0 -+// Bit 27 rg_m1_wf_rx_lpf_en U RW default = 'h0 -+// Bit 28 rg_m1_wf_rx_lpf_i_dcoc_en U RW default = 'h0 -+// Bit 29 rg_m1_wf_rx_lpf_q_dcoc_en U RW default = 'h0 -+typedef union RG_RX_A4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M1_WF_RX_FE_TOPBIAS_EN : 1; -+ unsigned int RG_M1_WF_RX_LNA_BIAS_EN : 1; -+ unsigned int RG_M1_WF_RX_GM_BIAS_EN : 1; -+ unsigned int RG_M1_WF_RX_MXR_BIAS_EN : 1; -+ unsigned int RG_M1_WF5G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M1_WF5G_RX_LNA_EN : 1; -+ unsigned int RG_M1_WF5G_RX_GM_EN : 1; -+ unsigned int RG_M1_WF5G_RX_MXR_EN : 1; -+ unsigned int RG_M1_WF5G_RX_DPD_EN : 1; -+ unsigned int RG_M1_WF5G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M1_WF2G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M1_WF2G_RX_LNA_EN : 1; -+ unsigned int RG_M1_WF2G_RX_GM_EN : 1; -+ unsigned int RG_M1_WF2G_RX_MXR_EN : 1; -+ unsigned int RG_M1_WF2G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M1_WF2G_RX_DPD_EN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_M1_WF_RTX_ABB_TOPBIAS_EN : 1; -+ unsigned int RG_M1_WF_RTX_ABB_RX_EN : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_M1_WF_RX_TIA_BIAS_EN : 1; -+ unsigned int RG_M1_WF_RX_RSSIPGA_BIAS_EN : 1; -+ unsigned int RG_M1_WF_RX_LPF_BIAS_EN : 1; -+ unsigned int RG_M1_WF_RX_TIA_EN : 1; -+ unsigned int RG_M1_WF_RX_RSSIPGA_EN : 1; -+ unsigned int RG_M1_WF_RX_LPF_EN : 1; -+ unsigned int RG_M1_WF_RX_LPF_I_DCOC_EN : 1; -+ unsigned int RG_M1_WF_RX_LPF_Q_DCOC_EN : 1; -+ unsigned int rsvd_2 : 2; -+ } b; -+} RG_RX_A4_FIELD_T; -+ -+#define RG_RX_A5 (RF_D_RX_REG_BASE + 0x14) -+// Bit 0 rg_m2_wf_rx_fe_topbias_en U RW default = 'h1 -+// Bit 1 rg_m2_wf_rx_lna_bias_en U RW default = 'h0 -+// Bit 2 rg_m2_wf_rx_gm_bias_en U RW default = 'h0 -+// Bit 3 rg_m2_wf_rx_mxr_bias_en U RW default = 'h0 -+// Bit 4 rg_m2_wf5g_rx_lna_trsw_en U RW default = 'h1 -+// Bit 5 rg_m2_wf5g_rx_lna_en U RW default = 'h0 -+// Bit 6 rg_m2_wf5g_rx_gm_en U RW default = 'h0 -+// Bit 7 rg_m2_wf5g_rx_mxr_en U RW default = 'h0 -+// Bit 8 rg_m2_wf5g_rx_dpd_en U RW default = 'h0 -+// Bit 9 rg_m2_wf5g_rx_irrcal_en U RW default = 'h0 -+// Bit 10 rg_m2_wf2g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 11 rg_m2_wf2g_rx_lna_en U RW default = 'h0 -+// Bit 12 rg_m2_wf2g_rx_gm_en U RW default = 'h0 -+// Bit 13 rg_m2_wf2g_rx_mxr_en U RW default = 'h0 -+// Bit 14 rg_m2_wf2g_rx_irrcal_en U RW default = 'h0 -+// Bit 15 rg_m2_wf2g_rx_dpd_en U RW default = 'h0 -+// Bit 17 rg_m2_wf_rtx_abb_topbias_en U RW default = 'h1 -+// Bit 18 rg_m2_wf_rtx_abb_rx_en U RW default = 'h0 -+// Bit 22 rg_m2_wf_rx_tia_bias_en U RW default = 'h0 -+// Bit 23 rg_m2_wf_rx_rssipga_bias_en U RW default = 'h0 -+// Bit 24 rg_m2_wf_rx_lpf_bias_en U RW default = 'h0 -+// Bit 25 rg_m2_wf_rx_tia_en U RW default = 'h0 -+// Bit 26 rg_m2_wf_rx_rssipga_en U RW default = 'h0 -+// Bit 27 rg_m2_wf_rx_lpf_en U RW default = 'h0 -+// Bit 28 rg_m2_wf_rx_lpf_i_dcoc_en U RW default = 'h0 -+// Bit 29 rg_m2_wf_rx_lpf_q_dcoc_en U RW default = 'h0 -+typedef union RG_RX_A5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M2_WF_RX_FE_TOPBIAS_EN : 1; -+ unsigned int RG_M2_WF_RX_LNA_BIAS_EN : 1; -+ unsigned int RG_M2_WF_RX_GM_BIAS_EN : 1; -+ unsigned int RG_M2_WF_RX_MXR_BIAS_EN : 1; -+ unsigned int RG_M2_WF5G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M2_WF5G_RX_LNA_EN : 1; -+ unsigned int RG_M2_WF5G_RX_GM_EN : 1; -+ unsigned int RG_M2_WF5G_RX_MXR_EN : 1; -+ unsigned int RG_M2_WF5G_RX_DPD_EN : 1; -+ unsigned int RG_M2_WF5G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M2_WF2G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M2_WF2G_RX_LNA_EN : 1; -+ unsigned int RG_M2_WF2G_RX_GM_EN : 1; -+ unsigned int RG_M2_WF2G_RX_MXR_EN : 1; -+ unsigned int RG_M2_WF2G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M2_WF2G_RX_DPD_EN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_M2_WF_RTX_ABB_TOPBIAS_EN : 1; -+ unsigned int RG_M2_WF_RTX_ABB_RX_EN : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_M2_WF_RX_TIA_BIAS_EN : 1; -+ unsigned int RG_M2_WF_RX_RSSIPGA_BIAS_EN : 1; -+ unsigned int RG_M2_WF_RX_LPF_BIAS_EN : 1; -+ unsigned int RG_M2_WF_RX_TIA_EN : 1; -+ unsigned int RG_M2_WF_RX_RSSIPGA_EN : 1; -+ unsigned int RG_M2_WF_RX_LPF_EN : 1; -+ unsigned int RG_M2_WF_RX_LPF_I_DCOC_EN : 1; -+ unsigned int RG_M2_WF_RX_LPF_Q_DCOC_EN : 1; -+ unsigned int rsvd_2 : 2; -+ } b; -+} RG_RX_A5_FIELD_T; -+ -+#define RG_RX_A6 (RF_D_RX_REG_BASE + 0x18) -+// Bit 0 rg_m3_wf_rx_fe_topbias_en U RW default = 'h1 -+// Bit 1 rg_m3_wf_rx_lna_bias_en U RW default = 'h1 -+// Bit 2 rg_m3_wf_rx_gm_bias_en U RW default = 'h1 -+// Bit 3 rg_m3_wf_rx_mxr_bias_en U RW default = 'h1 -+// Bit 4 rg_m3_wf5g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 5 rg_m3_wf5g_rx_lna_en U RW default = 'h1 -+// Bit 6 rg_m3_wf5g_rx_gm_en U RW default = 'h1 -+// Bit 7 rg_m3_wf5g_rx_mxr_en U RW default = 'h1 -+// Bit 8 rg_m3_wf5g_rx_dpd_en U RW default = 'h0 -+// Bit 9 rg_m3_wf5g_rx_irrcal_en U RW default = 'h0 -+// Bit 10 rg_m3_wf2g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 11 rg_m3_wf2g_rx_lna_en U RW default = 'h0 -+// Bit 12 rg_m3_wf2g_rx_gm_en U RW default = 'h0 -+// Bit 13 rg_m3_wf2g_rx_mxr_en U RW default = 'h0 -+// Bit 14 rg_m3_wf2g_rx_irrcal_en U RW default = 'h0 -+// Bit 15 rg_m3_wf2g_rx_dpd_en U RW default = 'h0 -+// Bit 17 rg_m3_wf_rtx_abb_topbias_en U RW default = 'h1 -+// Bit 18 rg_m3_wf_rtx_abb_rx_en U RW default = 'h1 -+// Bit 22 rg_m3_wf_rx_tia_bias_en U RW default = 'h1 -+// Bit 23 rg_m3_wf_rx_rssipga_bias_en U RW default = 'h1 -+// Bit 24 rg_m3_wf_rx_lpf_bias_en U RW default = 'h1 -+// Bit 25 rg_m3_wf_rx_tia_en U RW default = 'h1 -+// Bit 26 rg_m3_wf_rx_rssipga_en U RW default = 'h1 -+// Bit 27 rg_m3_wf_rx_lpf_en U RW default = 'h1 -+// Bit 28 rg_m3_wf_rx_lpf_i_dcoc_en U RW default = 'h1 -+// Bit 29 rg_m3_wf_rx_lpf_q_dcoc_en U RW default = 'h1 -+typedef union RG_RX_A6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M3_WF_RX_FE_TOPBIAS_EN : 1; -+ unsigned int RG_M3_WF_RX_LNA_BIAS_EN : 1; -+ unsigned int RG_M3_WF_RX_GM_BIAS_EN : 1; -+ unsigned int RG_M3_WF_RX_MXR_BIAS_EN : 1; -+ unsigned int RG_M3_WF5G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M3_WF5G_RX_LNA_EN : 1; -+ unsigned int RG_M3_WF5G_RX_GM_EN : 1; -+ unsigned int RG_M3_WF5G_RX_MXR_EN : 1; -+ unsigned int RG_M3_WF5G_RX_DPD_EN : 1; -+ unsigned int RG_M3_WF5G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M3_WF2G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M3_WF2G_RX_LNA_EN : 1; -+ unsigned int RG_M3_WF2G_RX_GM_EN : 1; -+ unsigned int RG_M3_WF2G_RX_MXR_EN : 1; -+ unsigned int RG_M3_WF2G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M3_WF2G_RX_DPD_EN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_M3_WF_RTX_ABB_TOPBIAS_EN : 1; -+ unsigned int RG_M3_WF_RTX_ABB_RX_EN : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_M3_WF_RX_TIA_BIAS_EN : 1; -+ unsigned int RG_M3_WF_RX_RSSIPGA_BIAS_EN : 1; -+ unsigned int RG_M3_WF_RX_LPF_BIAS_EN : 1; -+ unsigned int RG_M3_WF_RX_TIA_EN : 1; -+ unsigned int RG_M3_WF_RX_RSSIPGA_EN : 1; -+ unsigned int RG_M3_WF_RX_LPF_EN : 1; -+ unsigned int RG_M3_WF_RX_LPF_I_DCOC_EN : 1; -+ unsigned int RG_M3_WF_RX_LPF_Q_DCOC_EN : 1; -+ unsigned int rsvd_2 : 2; -+ } b; -+} RG_RX_A6_FIELD_T; -+ -+#define RG_RX_A7 (RF_D_RX_REG_BASE + 0x1c) -+// Bit 3 :0 rg_wf5g_rx_lna_tank_sel_band0 U RW default = 'h9 -+// Bit 7 :4 rg_wf5g_rx_lna_tank_sel_band1 U RW default = 'h9 -+// Bit 11 :8 rg_wf5g_rx_lna_tank_sel_band2 U RW default = 'h8 -+// Bit 15 :12 rg_wf5g_rx_lna_tank_sel_band3 U RW default = 'h7 -+// Bit 19 :16 rg_wf5g_rx_lna_tank_sel_band4 U RW default = 'h6 -+// Bit 23 :20 rg_wf5g_rx_lna_tank_sel_band5 U RW default = 'h5 -+// Bit 27 :24 rg_wf5g_rx_lna_tank_sel_band6 U RW default = 'h4 -+// Bit 31 :28 rg_wf5g_rx_lna_tank_sel_band7 U RW default = 'h4 -+typedef union RG_RX_A7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND0 : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND1 : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND2 : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND3 : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND4 : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND5 : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND6 : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND7 : 4; -+ } b; -+} RG_RX_A7_FIELD_T; -+ -+#define RG_RX_A8 (RF_D_RX_REG_BASE + 0x20) -+// Bit 3 :0 rg_wf5g_rx_lna_tank_sel_band8 U RW default = 'h3 -+// Bit 7 :4 rg_wf5g_rx_lna_tank_sel_band9 U RW default = 'h2 -+// Bit 11 :8 rg_wf5g_rx_lna_tank_sel_man U RW default = 'h2 -+// Bit 12 rg_wf5g_rx_lna_tank_sel_man_mode U RW default = 'h0 -+// Bit 19 :16 rg_wf2g_rx_lna_tank_sel U RW default = 'h5 -+// Bit 23 :20 rg_wf2g_rx_lna_tank_sel_man U RW default = 'h5 -+// Bit 24 rg_wf2g_rx_lna_tank_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND8 : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_BAND9 : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_MAN : 4; -+ unsigned int RG_WF5G_RX_LNA_TANK_SEL_MAN_MODE : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_WF2G_RX_LNA_TANK_SEL : 4; -+ unsigned int RG_WF2G_RX_LNA_TANK_SEL_MAN : 4; -+ unsigned int RG_WF2G_RX_LNA_TANK_SEL_MAN_MODE : 1; -+ unsigned int rsvd_1 : 7; -+ } b; -+} RG_RX_A8_FIELD_T; -+ -+#define RG_RX_A9 (RF_D_RX_REG_BASE + 0x24) -+// Bit 2 :0 rg_wf5g_rx_lna_tank_offset_g1 U RW default = 'h0 -+// Bit 6 :4 rg_wf5g_rx_lna_tank_offset_g2 U RW default = 'h0 -+// Bit 10 :8 rg_wf5g_rx_lna_tank_offset_g3 U RW default = 'h0 -+// Bit 14 :12 rg_wf5g_rx_lna_tank_offset_g4 U RW default = 'h2 -+// Bit 18 :16 rg_wf5g_rx_lna_tank_offset_g5 U RW default = 'h2 -+// Bit 26 :24 rg_wf5g_rx_lna_tank_offset_g6 U RW default = 'h2 -+// Bit 30 :28 rg_wf5g_rx_lna_tank_offset_g7 U RW default = 'h2 -+typedef union RG_RX_A9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G1 : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G2 : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G3 : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G4 : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G5 : 3; -+ unsigned int rsvd_4 : 5; -+ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G6 : 3; -+ unsigned int rsvd_5 : 1; -+ unsigned int RG_WF5G_RX_LNA_TANK_OFFSET_G7 : 3; -+ unsigned int rsvd_6 : 1; -+ } b; -+} RG_RX_A9_FIELD_T; -+ -+#define RG_RX_A10 (RF_D_RX_REG_BASE + 0x28) -+// Bit 2 :0 rg_wf2g_rx_lna_tank_offset_g1 U RW default = 'h0 -+// Bit 6 :4 rg_wf2g_rx_lna_tank_offset_g2 U RW default = 'h0 -+// Bit 10 :8 rg_wf2g_rx_lna_tank_offset_g3 U RW default = 'h0 -+// Bit 14 :12 rg_wf2g_rx_lna_tank_offset_g4 U RW default = 'h0 -+// Bit 18 :16 rg_wf2g_rx_lna_tank_offset_g5 U RW default = 'h0 -+// Bit 26 :24 rg_wf2g_rx_lna_tank_offset_g6 U RW default = 'h2 -+// Bit 30 :28 rg_wf2g_rx_lna_tank_offset_g7 U RW default = 'h3 -+typedef union RG_RX_A10_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G1 : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G2 : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G3 : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G4 : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G5 : 3; -+ unsigned int rsvd_4 : 5; -+ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G6 : 3; -+ unsigned int rsvd_5 : 1; -+ unsigned int RG_WF2G_RX_LNA_TANK_OFFSET_G7 : 3; -+ unsigned int rsvd_6 : 1; -+ } b; -+} RG_RX_A10_FIELD_T; -+ -+#define RG_RX_A11 (RF_D_RX_REG_BASE + 0x2c) -+// Bit 6 :0 rg_wf_rxfe_gain_g1 U RW default = 'h12 -+// Bit 14 :8 rg_wf_rxfe_gain_g2 U RW default = 'h1a -+// Bit 22 :16 rg_wf_rxfe_gain_g3 U RW default = 'h32 -+// Bit 30 :24 rg_wf_rxfe_gain_g4 U RW default = 'h3a -+typedef union RG_RX_A11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RXFE_GAIN_G1 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RXFE_GAIN_G2 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_RXFE_GAIN_G3 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF_RXFE_GAIN_G4 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A11_FIELD_T; -+ -+#define RG_RX_A12 (RF_D_RX_REG_BASE + 0x30) -+// Bit 6 :0 rg_wf_rxfe_gain_g5 U RW default = 'h52 -+// Bit 14 :8 rg_wf_rxfe_gain_g6 U RW default = 'h5a -+// Bit 22 :16 rg_wf_rxfe_gain_g7 U RW default = 'h72 -+// Bit 30 :24 rg_wf_rxfe_gain_g8 U RW default = 'h7a -+typedef union RG_RX_A12_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RXFE_GAIN_G5 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RXFE_GAIN_G6 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_RXFE_GAIN_G7 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF_RXFE_GAIN_G8 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A12_FIELD_T; -+ -+#define RG_RX_A13 (RF_D_RX_REG_BASE + 0x34) -+// Bit 6 :0 rg_wf_rxfe_gain_g9 U RW default = 'h7e -+// Bit 22 :8 rg_wf_rxfe_lpf_gain_man U RW default = 'h7ec -+// Bit 24 rg_wf_rxfe_lpf_gain_man_mode U RW default = 'h0 -+typedef union RG_RX_A13_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RXFE_GAIN_G9 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RXFE_LPF_GAIN_MAN : 15; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_RXFE_LPF_GAIN_MAN_MODE : 1; -+ unsigned int rsvd_2 : 7; -+ } b; -+} RG_RX_A13_FIELD_T; -+ -+#define RG_RX_A14 (RF_D_RX_REG_BASE + 0x38) -+// Bit 2 :0 rg_wf5g_rx_lna_ictrl_g1 U RW default = 'h3 -+// Bit 6 :4 rg_wf5g_rx_lna_ictrl_g2 U RW default = 'h3 -+// Bit 10 :8 rg_wf5g_rx_lna_ictrl_g3 U RW default = 'h3 -+// Bit 14 :12 rg_wf5g_rx_lna_ictrl_g4 U RW default = 'h2 -+// Bit 18 :16 rg_wf5g_rx_lna_ictrl_g5 U RW default = 'h2 -+// Bit 22 :20 rg_wf5g_rx_lna_ictrl_g6 U RW default = 'h3 -+// Bit 26 :24 rg_wf5g_rx_lna_ictrl_g7 U RW default = 'h3 -+// Bit 30 :28 rg_wf5g_rx_lna_ictrl_man U RW default = 'h0 -+// Bit 31 rg_wf5g_rx_lna_ictrl_man_mode U RW default = 'h0 -+typedef union RG_RX_A14_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_ICTRL_G1 : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LNA_ICTRL_G2 : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LNA_ICTRL_G3 : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LNA_ICTRL_G4 : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF5G_RX_LNA_ICTRL_G5 : 3; -+ unsigned int rsvd_4 : 1; -+ unsigned int RG_WF5G_RX_LNA_ICTRL_G6 : 3; -+ unsigned int rsvd_5 : 1; -+ unsigned int RG_WF5G_RX_LNA_ICTRL_G7 : 3; -+ unsigned int rsvd_6 : 1; -+ unsigned int RG_WF5G_RX_LNA_ICTRL_MAN : 3; -+ unsigned int RG_WF5G_RX_LNA_ICTRL_MAN_MODE : 1; -+ } b; -+} RG_RX_A14_FIELD_T; -+ -+#define RG_RX_A15 (RF_D_RX_REG_BASE + 0x3c) -+// Bit 5 :0 rg_wf5g_rx_lna_slice_g1 U RW default = 'h1 -+// Bit 13 :8 rg_wf5g_rx_lna_slice_g2 U RW default = 'h1 -+// Bit 21 :16 rg_wf5g_rx_lna_slice_g3 U RW default = 'h2 -+// Bit 29 :24 rg_wf5g_rx_lna_slice_g4 U RW default = 'h4 -+typedef union RG_RX_A15_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_SLICE_G1 : 6; -+ unsigned int rsvd_0 : 2; -+ unsigned int RG_WF5G_RX_LNA_SLICE_G2 : 6; -+ unsigned int rsvd_1 : 2; -+ unsigned int RG_WF5G_RX_LNA_SLICE_G3 : 6; -+ unsigned int rsvd_2 : 2; -+ unsigned int RG_WF5G_RX_LNA_SLICE_G4 : 6; -+ unsigned int rsvd_3 : 2; -+ } b; -+} RG_RX_A15_FIELD_T; -+ -+#define RG_RX_A16 (RF_D_RX_REG_BASE + 0x40) -+// Bit 5 :0 rg_wf5g_rx_lna_slice_g5 U RW default = 'hc -+// Bit 13 :8 rg_wf5g_rx_lna_slice_g6 U RW default = 'h1c -+// Bit 21 :16 rg_wf5g_rx_lna_slice_g7 U RW default = 'h3c -+// Bit 29 :24 rg_wf5g_rx_lna_slice_man U RW default = 'h0 -+// Bit 31 rg_wf5g_rx_lna_slice_man_mode U RW default = 'h0 -+typedef union RG_RX_A16_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_SLICE_G5 : 6; -+ unsigned int rsvd_0 : 2; -+ unsigned int RG_WF5G_RX_LNA_SLICE_G6 : 6; -+ unsigned int rsvd_1 : 2; -+ unsigned int RG_WF5G_RX_LNA_SLICE_G7 : 6; -+ unsigned int rsvd_2 : 2; -+ unsigned int RG_WF5G_RX_LNA_SLICE_MAN : 6; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF5G_RX_LNA_SLICE_MAN_MODE : 1; -+ } b; -+} RG_RX_A16_FIELD_T; -+ -+#define RG_RX_A17 (RF_D_RX_REG_BASE + 0x44) -+// Bit 3 :0 rg_wf5g_rx_lna_rfb_lb_g1 U RW default = 'h5 -+// Bit 7 :4 rg_wf5g_rx_lna_rfb_lb_g2 U RW default = 'h2 -+// Bit 11 :8 rg_wf5g_rx_lna_rfb_lb_g3 U RW default = 'h4 -+// Bit 15 :12 rg_wf5g_rx_lna_rfb_lb_g4 U RW default = 'h7 -+// Bit 19 :16 rg_wf5g_rx_lna_rfb_lb_g5 U RW default = 'h7 -+// Bit 23 :20 rg_wf5g_rx_lna_rfb_lb_g6 U RW default = 'h7 -+// Bit 27 :24 rg_wf5g_rx_lna_rfb_lb_g7 U RW default = 'h0 -+// Bit 31 :28 rg_wf5g_rx_lna_rfb_hb_g1 U RW default = 'h2 -+typedef union RG_RX_A17_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_RFB_LB_G1 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_LB_G2 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_LB_G3 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_LB_G4 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_LB_G5 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_LB_G6 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_LB_G7 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_HB_G1 : 4; -+ } b; -+} RG_RX_A17_FIELD_T; -+ -+#define RG_RX_A18 (RF_D_RX_REG_BASE + 0x48) -+// Bit 3 :0 rg_wf5g_rx_lna_rfb_hb_g2 U RW default = 'h0 -+// Bit 7 :4 rg_wf5g_rx_lna_rfb_hb_g3 U RW default = 'h2 -+// Bit 11 :8 rg_wf5g_rx_lna_rfb_hb_g4 U RW default = 'h5 -+// Bit 15 :12 rg_wf5g_rx_lna_rfb_hb_g5 U RW default = 'h4 -+// Bit 19 :16 rg_wf5g_rx_lna_rfb_hb_g6 U RW default = 'h5 -+// Bit 23 :20 rg_wf5g_rx_lna_rfb_hb_g7 U RW default = 'h0 -+// Bit 27 :24 rg_wf5g_rx_lna_rfb_man U RW default = 'h0 -+// Bit 31 rg_wf5g_rx_lna_rfb_man_mode U RW default = 'h0 -+typedef union RG_RX_A18_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_RFB_HB_G2 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_HB_G3 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_HB_G4 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_HB_G5 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_HB_G6 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_HB_G7 : 4; -+ unsigned int RG_WF5G_RX_LNA_RFB_MAN : 4; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_WF5G_RX_LNA_RFB_MAN_MODE : 1; -+ } b; -+} RG_RX_A18_FIELD_T; -+ -+#define RG_RX_A19 (RF_D_RX_REG_BASE + 0x4c) -+// Bit 2 :0 rg_wf5g_rx_lna_rt_g1 U RW default = 'h5 -+// Bit 5 :3 rg_wf5g_rx_lna_rt_g2 U RW default = 'h7 -+// Bit 8 :6 rg_wf5g_rx_lna_rt_g3 U RW default = 'h5 -+// Bit 11 :9 rg_wf5g_rx_lna_rt_g4 U RW default = 'h5 -+// Bit 14 :12 rg_wf5g_rx_lna_rt_g5 U RW default = 'h3 -+// Bit 17 :15 rg_wf5g_rx_lna_rt_g6 U RW default = 'h1 -+// Bit 26 :24 rg_wf5g_rx_lna_rt_man U RW default = 'h0 -+// Bit 31 rg_wf5g_rx_lna_rt_man_mode U RW default = 'h0 -+typedef union RG_RX_A19_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_RT_G1 : 3; -+ unsigned int RG_WF5G_RX_LNA_RT_G2 : 3; -+ unsigned int RG_WF5G_RX_LNA_RT_G3 : 3; -+ unsigned int RG_WF5G_RX_LNA_RT_G4 : 3; -+ unsigned int RG_WF5G_RX_LNA_RT_G5 : 3; -+ unsigned int RG_WF5G_RX_LNA_RT_G6 : 3; -+ unsigned int rsvd_0 : 6; -+ unsigned int RG_WF5G_RX_LNA_RT_MAN : 3; -+ unsigned int rsvd_1 : 4; -+ unsigned int RG_WF5G_RX_LNA_RT_MAN_MODE : 1; -+ } b; -+} RG_RX_A19_FIELD_T; -+ -+#define RG_RX_A20 (RF_D_RX_REG_BASE + 0x50) -+// Bit 2 :0 rg_wf5g_rx_lna_att_lb_g1 U RW default = 'h3 -+// Bit 5 :3 rg_wf5g_rx_lna_att_lb_g2 U RW default = 'h1 -+// Bit 8 :6 rg_wf5g_rx_lna_att_lb_g3 U RW default = 'h0 -+// Bit 11 :9 rg_wf5g_rx_lna_att_hb_g1 U RW default = 'h6 -+// Bit 14 :12 rg_wf5g_rx_lna_att_hb_g2 U RW default = 'h2 -+// Bit 17 :15 rg_wf5g_rx_lna_att_hb_g3 U RW default = 'h1 -+// Bit 26 :24 rg_wf5g_rx_lna_att_man U RW default = 'h0 -+// Bit 31 rg_wf5g_rx_lna_att_man_mode U RW default = 'h0 -+typedef union RG_RX_A20_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LNA_ATT_LB_G1 : 3; -+ unsigned int RG_WF5G_RX_LNA_ATT_LB_G2 : 3; -+ unsigned int RG_WF5G_RX_LNA_ATT_LB_G3 : 3; -+ unsigned int RG_WF5G_RX_LNA_ATT_HB_G1 : 3; -+ unsigned int RG_WF5G_RX_LNA_ATT_HB_G2 : 3; -+ unsigned int RG_WF5G_RX_LNA_ATT_HB_G3 : 3; -+ unsigned int rsvd_0 : 6; -+ unsigned int RG_WF5G_RX_LNA_ATT_MAN : 3; -+ unsigned int rsvd_1 : 4; -+ unsigned int RG_WF5G_RX_LNA_ATT_MAN_MODE : 1; -+ } b; -+} RG_RX_A20_FIELD_T; -+ -+#define RG_RX_A21 (RF_D_RX_REG_BASE + 0x54) -+// Bit 4 :0 rg_wf_rx_tia_cfix_sel_g1 U RW default = 'h1f -+// Bit 12 :8 rg_wf_rx_tia_cfix_sel_g2 U RW default = 'h1a -+// Bit 20 :16 rg_wf_rx_tia_cfix_sel_g3 U RW default = 'h14 -+// Bit 28 :24 rg_wf_rx_tia_cfix_sel_g4 U RW default = 'h1f -+typedef union RG_RX_A21_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_TIA_CFIX_SEL_G1 : 5; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_WF_RX_TIA_CFIX_SEL_G2 : 5; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_WF_RX_TIA_CFIX_SEL_G3 : 5; -+ unsigned int rsvd_2 : 3; -+ unsigned int RG_WF_RX_TIA_CFIX_SEL_G4 : 5; -+ unsigned int rsvd_3 : 3; -+ } b; -+} RG_RX_A21_FIELD_T; -+ -+#define RG_RX_A22 (RF_D_RX_REG_BASE + 0x58) -+// Bit 4 :0 rg_wf_rx_tia_cfix_sel_g5 U RW default = 'h1a -+// Bit 12 :8 rg_wf_rx_tia_cfix_sel_g6 U RW default = 'h14 -+// Bit 28 :24 rg_wf_rx_tia_cfix_sel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_tia_cfix_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A22_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_TIA_CFIX_SEL_G5 : 5; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_WF_RX_TIA_CFIX_SEL_G6 : 5; -+ unsigned int rsvd_1 : 11; -+ unsigned int RG_WF_RX_TIA_CFIX_SEL_MAN : 5; -+ unsigned int rsvd_2 : 2; -+ unsigned int RG_WF_RX_TIA_CFIX_SEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A22_FIELD_T; -+ -+#define RG_RX_A23 (RF_D_RX_REG_BASE + 0x5c) -+// Bit 3 :0 rg_wf_rx_tia_cunit_sel_g1 U RW default = 'h5 -+// Bit 7 :4 rg_wf_rx_tia_cunit_sel_g2 U RW default = 'h3 -+// Bit 11 :8 rg_wf_rx_tia_cunit_sel_g3 U RW default = 'h3 -+// Bit 15 :12 rg_wf_rx_tia_cunit_sel_g4 U RW default = 'h2 -+// Bit 19 :16 rg_wf_rx_tia_cunit_sel_g5 U RW default = 'h1 -+// Bit 23 :20 rg_wf_rx_tia_cunit_sel_g6 U RW default = 'h1 -+// Bit 27 :24 rg_wf_rx_tia_cunit_sel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_tia_cunit_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A23_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G1 : 4; -+ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G2 : 4; -+ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G3 : 4; -+ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G4 : 4; -+ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G5 : 4; -+ unsigned int RG_WF_RX_TIA_CUNIT_SEL_G6 : 4; -+ unsigned int RG_WF_RX_TIA_CUNIT_SEL_MAN : 4; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_WF_RX_TIA_CUNIT_SEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A23_FIELD_T; -+ -+#define RG_RX_A24 (RF_D_RX_REG_BASE + 0x60) -+// Bit 3 :0 rg_wf_rx_lpf_sra_sel_bw20m U RW default = 'h1 -+// Bit 7 :4 rg_wf_rx_lpf_sra_sel_bw40m U RW default = 'h1 -+// Bit 11 :8 rg_wf_rx_lpf_sra_sel_bw80m U RW default = 'h3 -+// Bit 15 :12 rg_wf_rx_lpf_sra_sel_bw160m U RW default = 'h3 -+// Bit 27 :24 rg_wf_rx_lpf_sra_sel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_lpf_sra_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A24_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_SRA_SEL_BW20M : 4; -+ unsigned int RG_WF_RX_LPF_SRA_SEL_BW40M : 4; -+ unsigned int RG_WF_RX_LPF_SRA_SEL_BW80M : 4; -+ unsigned int RG_WF_RX_LPF_SRA_SEL_BW160M : 4; -+ unsigned int rsvd_0 : 8; -+ unsigned int RG_WF_RX_LPF_SRA_SEL_MAN : 4; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_WF_RX_LPF_SRA_SEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A24_FIELD_T; -+ -+#define RG_RX_A25 (RF_D_RX_REG_BASE + 0x64) -+// Bit 3 :0 rg_wf_rx_lpf_sraq_sel_bw20m U RW default = 'h1 -+// Bit 7 :4 rg_wf_rx_lpf_sraq_sel_bw40m U RW default = 'h1 -+// Bit 11 :8 rg_wf_rx_lpf_sraq_sel_bw80m U RW default = 'h3 -+// Bit 15 :12 rg_wf_rx_lpf_sraq_sel_bw160m U RW default = 'h3 -+// Bit 27 :24 rg_wf_rx_lpf_sraq_sel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_lpf_sraq_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A25_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_SRAQ_SEL_BW20M : 4; -+ unsigned int RG_WF_RX_LPF_SRAQ_SEL_BW40M : 4; -+ unsigned int RG_WF_RX_LPF_SRAQ_SEL_BW80M : 4; -+ unsigned int RG_WF_RX_LPF_SRAQ_SEL_BW160M : 4; -+ unsigned int rsvd_0 : 8; -+ unsigned int RG_WF_RX_LPF_SRAQ_SEL_MAN : 4; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_WF_RX_LPF_SRAQ_SEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A25_FIELD_T; -+ -+#define RG_RX_A26 (RF_D_RX_REG_BASE + 0x68) -+// Bit 4 :0 rg_wf_rx_lpf_cfix_sel_bw20m U RW default = 'h1a -+// Bit 9 :5 rg_wf_rx_lpf_cfix_sel_bw40m U RW default = 'h1a -+// Bit 14 :10 rg_wf_rx_lpf_cfix_sel_bw80m U RW default = 'h1a -+// Bit 19 :15 rg_wf_rx_lpf_cfix_sel_bw160m U RW default = 'h1a -+// Bit 24 :20 rg_wf_rx_lpf_cfix_sel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_lpf_cfix_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A26_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_CFIX_SEL_BW20M : 5; -+ unsigned int RG_WF_RX_LPF_CFIX_SEL_BW40M : 5; -+ unsigned int RG_WF_RX_LPF_CFIX_SEL_BW80M : 5; -+ unsigned int RG_WF_RX_LPF_CFIX_SEL_BW160M : 5; -+ unsigned int RG_WF_RX_LPF_CFIX_SEL_MAN : 5; -+ unsigned int rsvd_0 : 6; -+ unsigned int RG_WF_RX_LPF_CFIX_SEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A26_FIELD_T; -+ -+#define RG_RX_A27 (RF_D_RX_REG_BASE + 0x6c) -+// Bit 2 :0 rg_wf_rx_lpf_c1unit_sel_bw20m U RW default = 'h5 -+// Bit 6 :4 rg_wf_rx_lpf_c1unit_sel_bw40m U RW default = 'h2 -+// Bit 10 :8 rg_wf_rx_lpf_c1unit_sel_bw80m U RW default = 'h2 -+// Bit 14 :12 rg_wf_rx_lpf_c1unit_sel_bw160m U RW default = 'h0 -+// Bit 18 :16 rg_wf_rx_lpf_c1unit_sel_man U RW default = 'h0 -+// Bit 20 rg_wf_rx_lpf_c1unit_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A27_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_BW20M : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_BW40M : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_BW80M : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_BW160M : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_MAN : 3; -+ unsigned int rsvd_4 : 1; -+ unsigned int RG_WF_RX_LPF_C1UNIT_SEL_MAN_MODE : 1; -+ unsigned int rsvd_5 : 11; -+ } b; -+} RG_RX_A27_FIELD_T; -+ -+#define RG_RX_A28 (RF_D_RX_REG_BASE + 0x70) -+// Bit 2 :0 rg_wf_rx_lpf_c2unit_sel_bw20m U RW default = 'h5 -+// Bit 6 :4 rg_wf_rx_lpf_c2unit_sel_bw40m U RW default = 'h2 -+// Bit 10 :8 rg_wf_rx_lpf_c2unit_sel_bw80m U RW default = 'h2 -+// Bit 14 :12 rg_wf_rx_lpf_c2unit_sel_bw160m U RW default = 'h0 -+// Bit 18 :16 rg_wf_rx_lpf_c2unit_sel_man U RW default = 'h0 -+// Bit 20 rg_wf_rx_lpf_c2unit_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A28_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_BW20M : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_BW40M : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_BW80M : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_BW160M : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_MAN : 3; -+ unsigned int rsvd_4 : 1; -+ unsigned int RG_WF_RX_LPF_C2UNIT_SEL_MAN_MODE : 1; -+ unsigned int rsvd_5 : 11; -+ } b; -+} RG_RX_A28_FIELD_T; -+ -+#define RG_RX_A29 (RF_D_RX_REG_BASE + 0x74) -+// Bit 3 :0 rg_wf_rx_lpf_rn_sel_bw20madc160m U RW default = 'h1 -+// Bit 7 :4 rg_wf_rx_lpf_rn_sel_bw40madc160m U RW default = 'h1 -+// Bit 11 :8 rg_wf_rx_lpf_rn_sel_bw80madc160m U RW default = 'h3 -+// Bit 15 :12 rg_wf_rx_lpf_rn_sel_bw80madc320m U RW default = 'h3 -+// Bit 19 :16 rg_wf_rx_lpf_rn_sel_bw160madc320m U RW default = 'h3 -+// Bit 23 :20 rg_wf_rx_lpf_rn_sel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_lpf_rn_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A29_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_RN_SEL_BW20MADC160M : 4; -+ unsigned int RG_WF_RX_LPF_RN_SEL_BW40MADC160M : 4; -+ unsigned int RG_WF_RX_LPF_RN_SEL_BW80MADC160M : 4; -+ unsigned int RG_WF_RX_LPF_RN_SEL_BW80MADC320M : 4; -+ unsigned int RG_WF_RX_LPF_RN_SEL_BW160MADC320M : 4; -+ unsigned int RG_WF_RX_LPF_RN_SEL_MAN : 4; -+ unsigned int rsvd_0 : 7; -+ unsigned int RG_WF_RX_LPF_RN_SEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A29_FIELD_T; -+ -+#define RG_RX_A30 (RF_D_RX_REG_BASE + 0x78) -+// Bit 2 :0 rg_wf_rx_lpf_cn_sel_bw20madc160m U RW default = 'h3 -+// Bit 6 :4 rg_wf_rx_lpf_cn_sel_bw40madc160m U RW default = 'h3 -+// Bit 10 :8 rg_wf_rx_lpf_cn_sel_bw80madc160m U RW default = 'h3 -+// Bit 14 :12 rg_wf_rx_lpf_cn_sel_bw80madc320m U RW default = 'h1 -+// Bit 18 :16 rg_wf_rx_lpf_cn_sel_bw160madc320m U RW default = 'h0 -+// Bit 22 :20 rg_wf_rx_lpf_cn_sel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_lpf_cn_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A30_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_CN_SEL_BW20MADC160M : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RX_LPF_CN_SEL_BW40MADC160M : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_RX_LPF_CN_SEL_BW80MADC160M : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF_RX_LPF_CN_SEL_BW80MADC320M : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF_RX_LPF_CN_SEL_BW160MADC320M : 3; -+ unsigned int rsvd_4 : 1; -+ unsigned int RG_WF_RX_LPF_CN_SEL_MAN : 3; -+ unsigned int rsvd_5 : 8; -+ unsigned int RG_WF_RX_LPF_CN_SEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A30_FIELD_T; -+ -+#define RG_RX_A31 (RF_D_RX_REG_BASE + 0x7c) -+// Bit 4 :0 rg_wf_rx_lpf_cnfix_sel_bw20madc160m U RW default = 'h1a -+// Bit 9 :5 rg_wf_rx_lpf_cnfix_sel_bw40madc160m U RW default = 'h1a -+// Bit 14 :10 rg_wf_rx_lpf_cnfix_sel_bw80madc160m U RW default = 'h1a -+// Bit 19 :15 rg_wf_rx_lpf_cnfix_sel_bw80madc320m U RW default = 'h1a -+// Bit 24 :20 rg_wf_rx_lpf_cnfix_sel_bw160madc320m U RW default = 'h1a -+// Bit 29 :25 rg_wf_rx_lpf_cnfix_sel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_lpf_cnfix_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A31_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW20MADC160M : 5; -+ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW40MADC160M : 5; -+ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW80MADC160M : 5; -+ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW80MADC320M : 5; -+ unsigned int RG_WF_RX_LPF_CNFIX_SEL_BW160MADC320M : 5; -+ unsigned int RG_WF_RX_LPF_CNFIX_SEL_MAN : 5; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RX_LPF_CNFIX_SEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A31_FIELD_T; -+ -+#define RG_RX_A32 (RF_D_RX_REG_BASE + 0x80) -+// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg1 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg2 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg3 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg4 U RW default = 'h40 -+typedef union RG_RX_A32_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG1 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG2 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG3 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG4 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A32_FIELD_T; -+ -+#define RG_RX_A33 (RF_D_RX_REG_BASE + 0x84) -+// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg5 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg6 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg7 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg8 U RW default = 'h40 -+typedef union RG_RX_A33_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG5 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG6 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG7 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG8 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A33_FIELD_T; -+ -+#define RG_RX_A34 (RF_D_RX_REG_BASE + 0x88) -+// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg9 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg10 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg11 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tialglpfg12 U RW default = 'h40 -+typedef union RG_RX_A34_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG9 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG10 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG11 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIALGLPFG12 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A34_FIELD_T; -+ -+#define RG_RX_A35 (RF_D_RX_REG_BASE + 0x8c) -+// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg1 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg2 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg3 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg4 U RW default = 'h40 -+typedef union RG_RX_A35_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG1 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG2 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG3 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG4 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A35_FIELD_T; -+ -+#define RG_RX_A36 (RF_D_RX_REG_BASE + 0x90) -+// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg5 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg6 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg7 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg8 U RW default = 'h40 -+typedef union RG_RX_A36_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG5 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG6 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG7 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG8 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A36_FIELD_T; -+ -+#define RG_RX_A37 (RF_D_RX_REG_BASE + 0x94) -+// Bit 6 :0 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg9 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg10 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg11 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_i_dcoc_sel_tiahglpfg12 U RW default = 'h40 -+typedef union RG_RX_A37_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG9 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG10 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG11 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_I_DCOC_SEL_TIAHGLPFG12 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A37_FIELD_T; -+ -+#define RG_RX_A38 (RF_D_RX_REG_BASE + 0x98) -+// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg1 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg2 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg3 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg4 U RW default = 'h40 -+typedef union RG_RX_A38_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG1 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG2 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG3 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG4 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A38_FIELD_T; -+ -+#define RG_RX_A39 (RF_D_RX_REG_BASE + 0x9c) -+// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg5 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg6 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg7 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg8 U RW default = 'h40 -+typedef union RG_RX_A39_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG5 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG6 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG7 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG8 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A39_FIELD_T; -+ -+#define RG_RX_A40 (RF_D_RX_REG_BASE + 0xa0) -+// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg9 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg10 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg11 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tialglpfg12 U RW default = 'h40 -+typedef union RG_RX_A40_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG9 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG10 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG11 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIALGLPFG12 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A40_FIELD_T; -+ -+#define RG_RX_A41 (RF_D_RX_REG_BASE + 0xa4) -+// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg1 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg2 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg3 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg4 U RW default = 'h40 -+typedef union RG_RX_A41_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG1 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG2 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG3 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG4 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A41_FIELD_T; -+ -+#define RG_RX_A42 (RF_D_RX_REG_BASE + 0xa8) -+// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg5 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg6 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg7 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg8 U RW default = 'h40 -+typedef union RG_RX_A42_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG5 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG6 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG7 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG8 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A42_FIELD_T; -+ -+#define RG_RX_A43 (RF_D_RX_REG_BASE + 0xac) -+// Bit 6 :0 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg9 U RW default = 'h40 -+// Bit 14 :8 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg10 U RW default = 'h40 -+// Bit 22 :16 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg11 U RW default = 'h40 -+// Bit 30 :24 rg_wf5g_rx_lpf_q_dcoc_sel_tiahglpfg12 U RW default = 'h40 -+typedef union RG_RX_A43_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG9 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG10 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG11 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG12 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A43_FIELD_T; -+ -+#define RG_RX_A44 (RF_D_RX_REG_BASE + 0xb0) -+// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg1 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg2 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg3 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg4 U RW default = 'h40 -+typedef union RG_RX_A44_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG1 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG2 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG3 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG4 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A44_FIELD_T; -+ -+#define RG_RX_A45 (RF_D_RX_REG_BASE + 0xb4) -+// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg5 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg6 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg7 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg8 U RW default = 'h40 -+typedef union RG_RX_A45_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG5 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG6 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG7 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG8 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A45_FIELD_T; -+ -+#define RG_RX_A46 (RF_D_RX_REG_BASE + 0xb8) -+// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg9 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg10 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg11 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tialglpfg12 U RW default = 'h40 -+typedef union RG_RX_A46_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG9 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG10 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG11 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIALGLPFG12 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A46_FIELD_T; -+ -+#define RG_RX_A47 (RF_D_RX_REG_BASE + 0xbc) -+// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg1 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg2 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg3 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg4 U RW default = 'h40 -+typedef union RG_RX_A47_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG1 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG2 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG3 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG4 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A47_FIELD_T; -+ -+#define RG_RX_A48 (RF_D_RX_REG_BASE + 0xc0) -+// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg5 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg6 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg7 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg8 U RW default = 'h40 -+typedef union RG_RX_A48_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG5 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG6 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG7 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG8 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A48_FIELD_T; -+ -+#define RG_RX_A49 (RF_D_RX_REG_BASE + 0xc4) -+// Bit 6 :0 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg9 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg10 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg11 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_i_dcoc_sel_tiahglpfg12 U RW default = 'h40 -+typedef union RG_RX_A49_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG9 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG10 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG11 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_I_DCOC_SEL_TIAHGLPFG12 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A49_FIELD_T; -+ -+#define RG_RX_A50 (RF_D_RX_REG_BASE + 0xc8) -+// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg1 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg2 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg3 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg4 U RW default = 'h40 -+typedef union RG_RX_A50_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG1 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG2 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG3 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG4 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A50_FIELD_T; -+ -+#define RG_RX_A51 (RF_D_RX_REG_BASE + 0xcc) -+// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg5 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg6 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg7 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg8 U RW default = 'h40 -+typedef union RG_RX_A51_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG5 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG6 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG7 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG8 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A51_FIELD_T; -+ -+#define RG_RX_A52 (RF_D_RX_REG_BASE + 0xd0) -+// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg9 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg10 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg11 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tialglpfg12 U RW default = 'h40 -+typedef union RG_RX_A52_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG9 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG10 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG11 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIALGLPFG12 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A52_FIELD_T; -+ -+#define RG_RX_A53 (RF_D_RX_REG_BASE + 0xd4) -+// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg1 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg2 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg3 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg4 U RW default = 'h40 -+typedef union RG_RX_A53_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG1 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG2 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG3 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG4 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A53_FIELD_T; -+ -+#define RG_RX_A54 (RF_D_RX_REG_BASE + 0xd8) -+// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg5 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg6 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg7 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg8 U RW default = 'h40 -+typedef union RG_RX_A54_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG5 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG6 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG7 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG8 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A54_FIELD_T; -+ -+#define RG_RX_A55 (RF_D_RX_REG_BASE + 0xdc) -+// Bit 6 :0 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg9 U RW default = 'h40 -+// Bit 14 :8 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg10 U RW default = 'h40 -+// Bit 22 :16 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg11 U RW default = 'h40 -+// Bit 30 :24 rg_wf2g_rx_lpf_q_dcoc_sel_tiahglpfg12 U RW default = 'h40 -+typedef union RG_RX_A55_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG9 : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG10 : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG11 : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LPF_Q_DCOC_SEL_TIAHGLPFG12 : 7; -+ unsigned int rsvd_3 : 1; -+ } b; -+} RG_RX_A55_FIELD_T; -+ -+#define RG_RX_A56 (RF_D_RX_REG_BASE + 0xe0) -+// Bit 6 :0 rg_wf_rx_lpf_i_dcoc_sel_man U RW default = 'h40 -+// Bit 8 rg_wf_rx_lpf_i_dcoc_sel_man_mode U RW default = 'h0 -+// Bit 22 :16 rg_wf_rx_lpf_q_dcoc_sel_man U RW default = 'h40 -+// Bit 24 rg_wf_rx_lpf_q_dcoc_sel_man_mode U RW default = 'h0 -+typedef union RG_RX_A56_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_I_DCOC_SEL_MAN : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RX_LPF_I_DCOC_SEL_MAN_MODE : 1; -+ unsigned int rsvd_1 : 7; -+ unsigned int RG_WF_RX_LPF_Q_DCOC_SEL_MAN : 7; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF_RX_LPF_Q_DCOC_SEL_MAN_MODE : 1; -+ unsigned int rsvd_3 : 7; -+ } b; -+} RG_RX_A56_FIELD_T; -+ -+#define RG_RX_A57 (RF_D_RX_REG_BASE + 0xe4) -+// Bit 1 :0 rg_wf_rx_rck_t1 U RW default = 'h0 -+// Bit 3 :2 rg_wf_rx_rck_t2 U RW default = 'h0 -+// Bit 5 :4 rg_wf_rx_rck_t3 U RW default = 'h0 -+// Bit 7 :6 rg_wf_rx_rck_t4 U RW default = 'h0 -+// Bit 9 :8 rg_wf_rx_rck_t5 U RW default = 'h0 -+// Bit 11 :10 rg_wf_rx_rck_t6 U RW default = 'h0 -+// Bit 22 :20 rg_wf_rx_rck_refsel_man U RW default = 'h1 -+// Bit 24 rg_wf_rx_rck_refsel_man_mode U RW default = 'h0 -+// Bit 31 rg_wf_rx_rck_cali_en U RW default = 'h0 -+typedef union RG_RX_A57_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_RCK_T1 : 2; -+ unsigned int RG_WF_RX_RCK_T2 : 2; -+ unsigned int RG_WF_RX_RCK_T3 : 2; -+ unsigned int RG_WF_RX_RCK_T4 : 2; -+ unsigned int RG_WF_RX_RCK_T5 : 2; -+ unsigned int RG_WF_RX_RCK_T6 : 2; -+ unsigned int rsvd_0 : 8; -+ unsigned int RG_WF_RX_RCK_REFSEL_MAN : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_RX_RCK_REFSEL_MAN_MODE : 1; -+ unsigned int rsvd_2 : 6; -+ unsigned int RG_WF_RX_RCK_CALI_EN : 1; -+ } b; -+} RG_RX_A57_FIELD_T; -+ -+#define RG_RX_A58 (RF_D_RX_REG_BASE + 0xe8) -+// Bit 3 :0 rg_wf_rx_lpf_rck_ioffset_bw20m U RW default = 'h0 -+// Bit 7 :4 rg_wf_rx_lpf_rck_ioffset_bw40m U RW default = 'h0 -+// Bit 11 :8 rg_wf_rx_lpf_rck_ioffset_bw80m U RW default = 'h0 -+// Bit 15 :12 rg_wf_rx_lpf_rck_ioffset_bw160m U RW default = 'h0 -+// Bit 26 :20 rg_wf_rx_lpf_ctune_isel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_lpf_ctune_isel_man_mode U RW default = 'h0 -+typedef union RG_RX_A58_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_RCK_IOFFSET_BW20M : 4; -+ unsigned int RG_WF_RX_LPF_RCK_IOFFSET_BW40M : 4; -+ unsigned int RG_WF_RX_LPF_RCK_IOFFSET_BW80M : 4; -+ unsigned int RG_WF_RX_LPF_RCK_IOFFSET_BW160M : 4; -+ unsigned int rsvd_0 : 4; -+ unsigned int RG_WF_RX_LPF_CTUNE_ISEL_MAN : 7; -+ unsigned int rsvd_1 : 4; -+ unsigned int RG_WF_RX_LPF_CTUNE_ISEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A58_FIELD_T; -+ -+#define RG_RX_A59 (RF_D_RX_REG_BASE + 0xec) -+// Bit 3 :0 rg_wf_rx_lpf_rck_qoffset_bw20m U RW default = 'h0 -+// Bit 7 :4 rg_wf_rx_lpf_rck_qoffset_bw40m U RW default = 'h0 -+// Bit 11 :8 rg_wf_rx_lpf_rck_qoffset_bw80m U RW default = 'h0 -+// Bit 15 :12 rg_wf_rx_lpf_rck_qoffset_bw160m U RW default = 'h0 -+// Bit 26 :20 rg_wf_rx_lpf_ctune_qsel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_lpf_ctune_qsel_man_mode U RW default = 'h0 -+typedef union RG_RX_A59_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_RCK_QOFFSET_BW20M : 4; -+ unsigned int RG_WF_RX_LPF_RCK_QOFFSET_BW40M : 4; -+ unsigned int RG_WF_RX_LPF_RCK_QOFFSET_BW80M : 4; -+ unsigned int RG_WF_RX_LPF_RCK_QOFFSET_BW160M : 4; -+ unsigned int rsvd_0 : 4; -+ unsigned int RG_WF_RX_LPF_CTUNE_QSEL_MAN : 7; -+ unsigned int rsvd_1 : 4; -+ unsigned int RG_WF_RX_LPF_CTUNE_QSEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A59_FIELD_T; -+ -+#define RG_RX_A60 (RF_D_RX_REG_BASE + 0xf0) -+// Bit 3 :0 rg_wf_rx_tia_rck_ioffset U RW default = 'h0 -+// Bit 10 :4 rg_wf_rx_tia_ctune_isel_man U RW default = 'h0 -+// Bit 15 rg_wf_rx_tia_ctune_isel_man_mode U RW default = 'h0 -+// Bit 19 :16 rg_wf_rx_tia_rck_qoffset U RW default = 'h0 -+// Bit 26 :20 rg_wf_rx_tia_ctune_qsel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_tia_ctune_qsel_man_mode U RW default = 'h0 -+typedef union RG_RX_A60_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_TIA_RCK_IOFFSET : 4; -+ unsigned int RG_WF_RX_TIA_CTUNE_ISEL_MAN : 7; -+ unsigned int rsvd_0 : 4; -+ unsigned int RG_WF_RX_TIA_CTUNE_ISEL_MAN_MODE : 1; -+ unsigned int RG_WF_RX_TIA_RCK_QOFFSET : 4; -+ unsigned int RG_WF_RX_TIA_CTUNE_QSEL_MAN : 7; -+ unsigned int rsvd_1 : 4; -+ unsigned int RG_WF_RX_TIA_CTUNE_QSEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A60_FIELD_T; -+ -+#define RG_RX_A61 (RF_D_RX_REG_BASE + 0xf4) -+// Bit 3 :0 rg_wf_rx_lpf_notch_rck_offset_adc160m U RW default = 'h0 -+// Bit 10 :4 rg_wf_rx_lpf_notch_ctune_sel_man U RW default = 'h0 -+// Bit 15 rg_wf_rx_lpf_notch_ctune_sel_man_mode U RW default = 'h0 -+// Bit 19 :16 rg_wf_rx_lpf_notch_rck_offset_adc320m U RW default = 'h0 -+typedef union RG_RX_A61_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_NOTCH_RCK_OFFSET_ADC160M : 4; -+ unsigned int RG_WF_RX_LPF_NOTCH_CTUNE_SEL_MAN : 7; -+ unsigned int rsvd_0 : 4; -+ unsigned int RG_WF_RX_LPF_NOTCH_CTUNE_SEL_MAN_MODE : 1; -+ unsigned int RG_WF_RX_LPF_NOTCH_RCK_OFFSET_ADC320M : 4; -+ unsigned int rsvd_1 : 12; -+ } b; -+} RG_RX_A61_FIELD_T; -+ -+#define RG_RX_A62 (RF_D_RX_REG_BASE + 0xf8) -+// Bit 3 :0 rg_wf_rx_rssipga_rck_ioffset U RW default = 'h0 -+// Bit 10 :4 rg_wf_rx_rssipga_ctune_isel_man U RW default = 'h0 -+// Bit 15 rg_wf_rx_rssipga_ctune_isel_man_mode U RW default = 'h0 -+// Bit 19 :16 rg_wf_rx_rssipga_rck_qoffset U RW default = 'h0 -+// Bit 26 :20 rg_wf_rx_rssipga_ctune_qsel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_rssipga_ctune_qsel_man_mode U RW default = 'h0 -+typedef union RG_RX_A62_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_RSSIPGA_RCK_IOFFSET : 4; -+ unsigned int RG_WF_RX_RSSIPGA_CTUNE_ISEL_MAN : 7; -+ unsigned int rsvd_0 : 4; -+ unsigned int RG_WF_RX_RSSIPGA_CTUNE_ISEL_MAN_MODE : 1; -+ unsigned int RG_WF_RX_RSSIPGA_RCK_QOFFSET : 4; -+ unsigned int RG_WF_RX_RSSIPGA_CTUNE_QSEL_MAN : 7; -+ unsigned int rsvd_1 : 4; -+ unsigned int RG_WF_RX_RSSIPGA_CTUNE_QSEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A62_FIELD_T; -+ -+#define RG_RX_A63 (RF_D_RX_REG_BASE + 0xfc) -+// Bit 6 :0 ro_wf_rx_rck U RO default = 'h0 -+// Bit 8 ro_wf_rx_rck_vld U RO default = 'h0 -+typedef union RG_RX_A63_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_WF_RX_RCK : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RO_WF_RX_RCK_VLD : 1; -+ unsigned int rsvd_1 : 23; -+ } b; -+} RG_RX_A63_FIELD_T; -+ -+#define RG_RX_A64 (RF_D_RX_REG_BASE + 0x100) -+// Bit 0 rg_wf_rx_rssipga_sca_en U RW default = 'h1 -+// Bit 5 :1 rg_wf_rx_rssipga_cfix_sel U RW default = 'h1a -+// Bit 8 :6 rg_wf_rx_rssipga_ictrl U RW default = 'h3 -+// Bit 11 :9 rg_wf_rx_rssipga_ictrl_agclock U RW default = 'h0 -+// Bit 15 :12 rg_wf_rx_rssipga_drvctrl U RW default = 'h3 -+// Bit 19 :16 rg_wf_rx_rssipga_drvctrl_agclock U RW default = 'h0 -+// Bit 21 :20 rg_wf_rx_rssipga_drv U RW default = 'h1 -+// Bit 23 :22 rg_wf_rx_rssipga_drv_agclock U RW default = 'h0 -+// Bit 26 :24 rg_wf_rx_rssipga_vcmsel U RW default = 'h4 -+// Bit 29 :27 rg_wf_rx_rssipga_gain U RW default = 'h0 -+typedef union RG_RX_A64_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_RSSIPGA_SCA_EN : 1; -+ unsigned int RG_WF_RX_RSSIPGA_CFIX_SEL : 5; -+ unsigned int RG_WF_RX_RSSIPGA_ICTRL : 3; -+ unsigned int RG_WF_RX_RSSIPGA_ICTRL_AGCLOCK : 3; -+ unsigned int RG_WF_RX_RSSIPGA_DRVCTRL : 4; -+ unsigned int RG_WF_RX_RSSIPGA_DRVCTRL_AGCLOCK : 4; -+ unsigned int RG_WF_RX_RSSIPGA_DRV : 2; -+ unsigned int RG_WF_RX_RSSIPGA_DRV_AGCLOCK : 2; -+ unsigned int RG_WF_RX_RSSIPGA_VCMSEL : 3; -+ unsigned int RG_WF_RX_RSSIPGA_GAIN : 3; -+ unsigned int rsvd_0 : 2; -+ } b; -+} RG_RX_A64_FIELD_T; -+ -+#define RG_RX_A65 (RF_D_RX_REG_BASE + 0x104) -+// Bit 0 rg_wf_rx_irrcalfrom_tx_en U RW default = 'h1 -+// Bit 3 :1 rg_wf5g_rx_irrcal_buf_ictrl U RW default = 'h3 -+// Bit 6 :4 rg_wf5g_rx_lna_cal_att U RW default = 'h0 -+// Bit 9 :7 rg_wf2g_rx_irrcal_buf_ictrl U RW default = 'h3 -+// Bit 12 :10 rg_wf2g_rx_lna_cal_att U RW default = 'h2 -+// Bit 15 :13 rg_wf_rx_gm_vcmsel U RW default = 'h4 -+typedef union RG_RX_A65_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_IRRCALFROM_TX_EN : 1; -+ unsigned int RG_WF5G_RX_IRRCAL_BUF_ICTRL : 3; -+ unsigned int RG_WF5G_RX_LNA_CAL_ATT : 3; -+ unsigned int RG_WF2G_RX_IRRCAL_BUF_ICTRL : 3; -+ unsigned int RG_WF2G_RX_LNA_CAL_ATT : 3; -+ unsigned int RG_WF_RX_GM_VCMSEL : 3; -+ unsigned int rsvd_0 : 16; -+ } b; -+} RG_RX_A65_FIELD_T; -+ -+#define RG_RX_A66 (RF_D_RX_REG_BASE + 0x108) -+// Bit 1 :0 rg_wf5g_rx_dpd_att_ctrl U RW default = 'h1 -+// Bit 4 :2 rg_wf5g_rx_dpd_gm_gain U RW default = 'h7 -+// Bit 7 :5 rg_wf5g_rx_dpd_gm_ictrl U RW default = 'h3 -+// Bit 11 :8 rg_wf5g_rx_dpd_mxr_lodrv_ictrl U RW default = 'h3 -+// Bit 14 :12 rg_wf5g_rx_gm_ictrl U RW default = 'h3 -+// Bit 18 :15 rg_wf5g_rx_mxr_lodrv_ictrl U RW default = 'h3 -+// Bit 22 :19 rg_wf5g_rx_mxr_vbsel U RW default = 'h2 -+// Bit 25 :23 rg_wf5g_rx_mxr_vcmsel U RW default = 'h3 -+typedef union RG_RX_A66_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_RX_DPD_ATT_CTRL : 2; -+ unsigned int RG_WF5G_RX_DPD_GM_GAIN : 3; -+ unsigned int RG_WF5G_RX_DPD_GM_ICTRL : 3; -+ unsigned int RG_WF5G_RX_DPD_MXR_LODRV_ICTRL : 4; -+ unsigned int RG_WF5G_RX_GM_ICTRL : 3; -+ unsigned int RG_WF5G_RX_MXR_LODRV_ICTRL : 4; -+ unsigned int RG_WF5G_RX_MXR_VBSEL : 4; -+ unsigned int RG_WF5G_RX_MXR_VCMSEL : 3; -+ unsigned int rsvd_0 : 6; -+ } b; -+} RG_RX_A66_FIELD_T; -+ -+#define RG_RX_A67 (RF_D_RX_REG_BASE + 0x10c) -+// Bit 1 rg_wf_rx_tia_sca_en U RW default = 'h1 -+// Bit 16 :14 rg_wf_rx_tia_ictrl U RW default = 'h3 -+// Bit 19 :17 rg_wf_rx_tia_drvctrl U RW default = 'h3 -+typedef union RG_RX_A67_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_RX_TIA_SCA_EN : 1; -+ unsigned int rsvd_1 : 12; -+ unsigned int RG_WF_RX_TIA_ICTRL : 3; -+ unsigned int RG_WF_RX_TIA_DRVCTRL : 3; -+ unsigned int rsvd_2 : 12; -+ } b; -+} RG_RX_A67_FIELD_T; -+ -+#define RG_RX_A68 (RF_D_RX_REG_BASE + 0x110) -+// Bit 0 rg_wf_rx_lpf_sra1_en U RW default = 'h1 -+// Bit 1 rg_wf_rx_lpf_sra2_en U RW default = 'h1 -+// Bit 2 rg_wf_rx_lpf_sra3_en U RW default = 'h1 -+// Bit 3 rg_wf_rx_lpf_sra4_en U RW default = 'h1 -+// Bit 4 rg_wf_rx_lpf_sca1_en U RW default = 'h1 -+// Bit 5 rg_wf_rx_lpf_sca2_en U RW default = 'h1 -+// Bit 6 rg_wf_rx_lpf_rn1_en U RW default = 'h1 -+// Bit 7 rg_wf_rx_lpf_notch_en U RW default = 'h1 -+// Bit 8 rg_wf_rx_lpf_op1_en U RW default = 'h1 -+// Bit 9 rg_wf_rx_lpf_op2_en U RW default = 'h1 -+// Bit 10 rg_wf5g_txlpbk2tia_en U RW default = 'h0 -+// Bit 11 rg_wf2g_txlpbk2tia_en U RW default = 'h0 -+// Bit 12 rg_wf_rx_adcbuf_en U RW default = 'h0 -+// Bit 16 :13 rg_wf_rx_adcbuf_sra_sel U RW default = 'h0 -+typedef union RG_RX_A68_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_SRA1_EN : 1; -+ unsigned int RG_WF_RX_LPF_SRA2_EN : 1; -+ unsigned int RG_WF_RX_LPF_SRA3_EN : 1; -+ unsigned int RG_WF_RX_LPF_SRA4_EN : 1; -+ unsigned int RG_WF_RX_LPF_SCA1_EN : 1; -+ unsigned int RG_WF_RX_LPF_SCA2_EN : 1; -+ unsigned int RG_WF_RX_LPF_RN1_EN : 1; -+ unsigned int RG_WF_RX_LPF_NOTCH_EN : 1; -+ unsigned int RG_WF_RX_LPF_OP1_EN : 1; -+ unsigned int RG_WF_RX_LPF_OP2_EN : 1; -+ unsigned int RG_WF5G_TXLPBK2TIA_EN : 1; -+ unsigned int RG_WF2G_TXLPBK2TIA_EN : 1; -+ unsigned int RG_WF_RX_ADCBUF_EN : 1; -+ unsigned int RG_WF_RX_ADCBUF_SRA_SEL : 4; -+ unsigned int rsvd_0 : 15; -+ } b; -+} RG_RX_A68_FIELD_T; -+ -+#define RG_RX_A69 (RF_D_RX_REG_BASE + 0x114) -+// Bit 2 :0 rg_wf_rx_vcmsel U RW default = 'h4 -+// Bit 5 :3 rg_wf_rx_lpf_op1_drvctrl U RW default = 'h3 -+// Bit 9 :6 rg_wf_rx_lpf_op2_drvctrl U RW default = 'h3 -+typedef union RG_RX_A69_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_VCMSEL : 3; -+ unsigned int RG_WF_RX_LPF_OP1_DRVCTRL : 3; -+ unsigned int RG_WF_RX_LPF_OP2_DRVCTRL : 4; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_RX_A69_FIELD_T; -+ -+#define RG_RX_A71 (RF_D_RX_REG_BASE + 0x11c) -+// Bit 0 rg_wf_rx_fe_tp_en U RW default = 'h0 -+// Bit 8 :1 rg_wf_rx_fe_tp_sel U RW default = 'h0 -+// Bit 9 rg_wf_rtx_abb_tp_en U RW default = 'h0 -+// Bit 17 :10 rg_wf_rtx_abb_tp_sel U RW default = 'h0 -+// Bit 31 :18 rg_wf_rx_reserved8 U RW default = 'h0 -+typedef union RG_RX_A71_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_FE_TP_EN : 1; -+ unsigned int RG_WF_RX_FE_TP_SEL : 8; -+ unsigned int RG_WF_RTX_ABB_TP_EN : 1; -+ unsigned int RG_WF_RTX_ABB_TP_SEL : 8; -+ unsigned int RG_WF_RX_RESERVED8 : 14; -+ } b; -+} RG_RX_A71_FIELD_T; -+ -+#define RG_RX_A72 (RF_D_RX_REG_BASE + 0x120) -+// Bit 31 :0 rg_wf_rx_rsv0 U RW default = 'h0 -+typedef union RG_RX_A72_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_RSV0 : 32; -+ } b; -+} RG_RX_A72_FIELD_T; -+ -+#define RG_RX_A73 (RF_D_RX_REG_BASE + 0x124) -+// Bit 31 :0 rg_wf_rx_rsv1 U RW default = 'h0 -+typedef union RG_RX_A73_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_RSV1 : 32; -+ } b; -+} RG_RX_A73_FIELD_T; -+ -+#define RG_RX_A74 (RF_D_RX_REG_BASE + 0x128) -+// Bit 2 :0 rg_wf_rx_lpf_dcoc_rsel_bw20m U RW default = 'h3 -+// Bit 5 :3 rg_wf_rx_lpf_dcoc_rsel_bw40m U RW default = 'h3 -+// Bit 8 :6 rg_wf_rx_lpf_dcoc_rsel_bw80m U RW default = 'h0 -+// Bit 11 :9 rg_wf_rx_lpf_dcoc_rsel_bw160m U RW default = 'h0 -+// Bit 14 :12 rg_wf_rx_lpf_dcoc_rgsel_bw20m U RW default = 'h3 -+// Bit 17 :15 rg_wf_rx_lpf_dcoc_rgsel_bw40m U RW default = 'h3 -+// Bit 20 :18 rg_wf_rx_lpf_dcoc_rgsel_bw80m U RW default = 'h0 -+// Bit 23 :21 rg_wf_rx_lpf_dcoc_rgsel_bw160m U RW default = 'h0 -+// Bit 26 :24 rg_wf_rx_lpf_dcoc_rsel_man U RW default = 'h0 -+// Bit 27 rg_wf_rx_lpf_dcoc_rsel_man_mode U RW default = 'h0 -+// Bit 30 :28 rg_wf_rx_lpf_dcoc_rgsel_man U RW default = 'h0 -+// Bit 31 rg_wf_rx_lpf_dcoc_rgsel_man_mode U RW default = 'h0 -+typedef union RG_RX_A74_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_DCOC_RSEL_BW20M : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RSEL_BW40M : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RSEL_BW80M : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RSEL_BW160M : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_BW20M : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_BW40M : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_BW80M : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_BW160M : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RSEL_MAN : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RSEL_MAN_MODE : 1; -+ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_MAN : 3; -+ unsigned int RG_WF_RX_LPF_DCOC_RGSEL_MAN_MODE : 1; -+ } b; -+} RG_RX_A74_FIELD_T; -+ -+#define RG_RX_A75 (RF_D_RX_REG_BASE + 0x12c) -+// Bit 2 :0 rg_wf_rx_lpf_op1_ictrl_bw20m U RW default = 'h1 -+// Bit 5 :3 rg_wf_rx_lpf_op1_ictrl_bw40m U RW default = 'h2 -+// Bit 8 :6 rg_wf_rx_lpf_op1_ictrl_bw80m U RW default = 'h3 -+// Bit 11 :9 rg_wf_rx_lpf_op1_ictrl_bw160m U RW default = 'h4 -+// Bit 14 :12 rg_wf_rx_lpf_op1_ictrl_man U RW default = 'h0 -+// Bit 15 rg_wf_rx_lpf_op1_ictrl_man_mode U RW default = 'h0 -+// Bit 17 :16 rg_wf_rx_lpf_op1_drv_bw20m U RW default = 'h0 -+// Bit 19 :18 rg_wf_rx_lpf_op1_drv_bw40m U RW default = 'h1 -+// Bit 21 :20 rg_wf_rx_lpf_op1_drv_bw80m U RW default = 'h2 -+// Bit 23 :22 rg_wf_rx_lpf_op1_drv_bw160m U RW default = 'h3 -+// Bit 25 :24 rg_wf_rx_lpf_op1_drv_man U RW default = 'h0 -+// Bit 26 rg_wf_rx_lpf_op1_drv_man_mode U RW default = 'h0 -+typedef union RG_RX_A75_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_OP1_ICTRL_BW20M : 3; -+ unsigned int RG_WF_RX_LPF_OP1_ICTRL_BW40M : 3; -+ unsigned int RG_WF_RX_LPF_OP1_ICTRL_BW80M : 3; -+ unsigned int RG_WF_RX_LPF_OP1_ICTRL_BW160M : 3; -+ unsigned int RG_WF_RX_LPF_OP1_ICTRL_MAN : 3; -+ unsigned int RG_WF_RX_LPF_OP1_ICTRL_MAN_MODE : 1; -+ unsigned int RG_WF_RX_LPF_OP1_DRV_BW20M : 2; -+ unsigned int RG_WF_RX_LPF_OP1_DRV_BW40M : 2; -+ unsigned int RG_WF_RX_LPF_OP1_DRV_BW80M : 2; -+ unsigned int RG_WF_RX_LPF_OP1_DRV_BW160M : 2; -+ unsigned int RG_WF_RX_LPF_OP1_DRV_MAN : 2; -+ unsigned int RG_WF_RX_LPF_OP1_DRV_MAN_MODE : 1; -+ unsigned int rsvd_0 : 5; -+ } b; -+} RG_RX_A75_FIELD_T; -+ -+#define RG_RX_A76 (RF_D_RX_REG_BASE + 0x130) -+// Bit 2 :0 rg_wf_rx_lpf_op2_ictrl_bw20m U RW default = 'h1 -+// Bit 5 :3 rg_wf_rx_lpf_op2_ictrl_bw40m U RW default = 'h2 -+// Bit 8 :6 rg_wf_rx_lpf_op2_ictrl_bw80m U RW default = 'h3 -+// Bit 11 :9 rg_wf_rx_lpf_op2_ictrl_bw160m U RW default = 'h4 -+// Bit 14 :12 rg_wf_rx_lpf_op2_ictrl_man U RW default = 'h0 -+// Bit 15 rg_wf_rx_lpf_op2_ictrl_man_mode U RW default = 'h0 -+// Bit 17 :16 rg_wf_rx_lpf_op2_drv_bw20m U RW default = 'h1 -+// Bit 19 :18 rg_wf_rx_lpf_op2_drv_bw40m U RW default = 'h1 -+// Bit 21 :20 rg_wf_rx_lpf_op2_drv_bw80m U RW default = 'h1 -+// Bit 23 :22 rg_wf_rx_lpf_op2_drv_bw160m U RW default = 'h2 -+// Bit 25 :24 rg_wf_rx_lpf_op2_drv_man U RW default = 'h0 -+// Bit 26 rg_wf_rx_lpf_op2_drv_man_mode U RW default = 'h0 -+typedef union RG_RX_A76_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_OP2_ICTRL_BW20M : 3; -+ unsigned int RG_WF_RX_LPF_OP2_ICTRL_BW40M : 3; -+ unsigned int RG_WF_RX_LPF_OP2_ICTRL_BW80M : 3; -+ unsigned int RG_WF_RX_LPF_OP2_ICTRL_BW160M : 3; -+ unsigned int RG_WF_RX_LPF_OP2_ICTRL_MAN : 3; -+ unsigned int RG_WF_RX_LPF_OP2_ICTRL_MAN_MODE : 1; -+ unsigned int RG_WF_RX_LPF_OP2_DRV_BW20M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_DRV_BW40M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_DRV_BW80M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_DRV_BW160M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_DRV_MAN : 2; -+ unsigned int RG_WF_RX_LPF_OP2_DRV_MAN_MODE : 1; -+ unsigned int rsvd_0 : 5; -+ } b; -+} RG_RX_A76_FIELD_T; -+ -+#define RG_RX_A77 (RF_D_RX_REG_BASE + 0x134) -+// Bit 1 :0 rg_wf_rx_lpf_op1_rcc_lg U RW default = 'h3 -+// Bit 3 :2 rg_wf_rx_lpf_op1_rcc_mg U RW default = 'h2 -+// Bit 5 :4 rg_wf_rx_lpf_op1_rcc_hg U RW default = 'h1 -+// Bit 7 :6 rg_wf_rx_lpf_op1_rcc_man U RW default = 'h0 -+// Bit 8 rg_wf_rx_lpf_op1_rcc_man_mode U RW default = 'h0 -+// Bit 10 :9 rg_wf_rx_lpf_op1_rcm_lg U RW default = 'h1 -+// Bit 12 :11 rg_wf_rx_lpf_op1_rcm_mg U RW default = 'h2 -+// Bit 14 :13 rg_wf_rx_lpf_op1_rcm_hg U RW default = 'h3 -+// Bit 16 :15 rg_wf_rx_lpf_op1_rcm_man U RW default = 'h0 -+// Bit 17 rg_wf_rx_lpf_op1_rcm_man_mode U RW default = 'h0 -+// Bit 19 :18 rg_wf_rx_lpf_op2_rcc_bw20m U RW default = 'h3 -+// Bit 21 :20 rg_wf_rx_lpf_op2_rcc_bw40m U RW default = 'h2 -+// Bit 23 :22 rg_wf_rx_lpf_op2_rcc_bw80m U RW default = 'h1 -+// Bit 25 :24 rg_wf_rx_lpf_op2_rcc_bw160m U RW default = 'h1 -+// Bit 27 :26 rg_wf_rx_lpf_op2_rcc_man U RW default = 'h0 -+// Bit 28 rg_wf_rx_lpf_op2_rcc_man_mode U RW default = 'h0 -+typedef union RG_RX_A77_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_LPF_OP1_RCC_LG : 2; -+ unsigned int RG_WF_RX_LPF_OP1_RCC_MG : 2; -+ unsigned int RG_WF_RX_LPF_OP1_RCC_HG : 2; -+ unsigned int RG_WF_RX_LPF_OP1_RCC_MAN : 2; -+ unsigned int RG_WF_RX_LPF_OP1_RCC_MAN_MODE : 1; -+ unsigned int RG_WF_RX_LPF_OP1_RCM_LG : 2; -+ unsigned int RG_WF_RX_LPF_OP1_RCM_MG : 2; -+ unsigned int RG_WF_RX_LPF_OP1_RCM_HG : 2; -+ unsigned int RG_WF_RX_LPF_OP1_RCM_MAN : 2; -+ unsigned int RG_WF_RX_LPF_OP1_RCM_MAN_MODE : 1; -+ unsigned int RG_WF_RX_LPF_OP2_RCC_BW20M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCC_BW40M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCC_BW80M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCC_BW160M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCC_MAN : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCC_MAN_MODE : 1; -+ unsigned int rsvd_0 : 3; -+ } b; -+} RG_RX_A77_FIELD_T; -+ -+#define RG_RX_A78 (RF_D_RX_REG_BASE + 0x138) -+// Bit 10 :9 rg_wf_rx_lpf_op2_rcm_bw20m U RW default = 'h3 -+// Bit 12 :11 rg_wf_rx_lpf_op2_rcm_bw40m U RW default = 'h3 -+// Bit 14 :13 rg_wf_rx_lpf_op2_rcm_bw80m U RW default = 'h3 -+// Bit 16 :15 rg_wf_rx_lpf_op2_rcm_bw160m U RW default = 'h3 -+// Bit 18 :17 rg_wf_rx_lpf_op2_rcm_man U RW default = 'h0 -+// Bit 19 rg_wf_rx_lpf_op2_rcm_man_mode U RW default = 'h0 -+// Bit 31 rg_wf2g_rx_lna_slice_man_mode U RW default = 'h0 -+typedef union RG_RX_A78_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rsvd_0 : 9; -+ unsigned int RG_WF_RX_LPF_OP2_RCM_BW20M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCM_BW40M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCM_BW80M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCM_BW160M : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCM_MAN : 2; -+ unsigned int RG_WF_RX_LPF_OP2_RCM_MAN_MODE : 1; -+ unsigned int rsvd_1 : 11; -+ unsigned int RG_WF2G_RX_LNA_SLICE_MAN_MODE : 1; -+ } b; -+} RG_RX_A78_FIELD_T; -+ -+#define RG_RX_A79 (RF_D_RX_REG_BASE + 0x13c) -+// Bit 2 :0 rg_wf2g_rx_lna_ictrl_g1 U RW default = 'h3 -+// Bit 6 :4 rg_wf2g_rx_lna_ictrl_g2 U RW default = 'h4 -+// Bit 10 :8 rg_wf2g_rx_lna_ictrl_g3 U RW default = 'h4 -+// Bit 14 :12 rg_wf2g_rx_lna_ictrl_g4 U RW default = 'h4 -+// Bit 18 :16 rg_wf2g_rx_lna_ictrl_g5 U RW default = 'h2 -+// Bit 22 :20 rg_wf2g_rx_lna_ictrl_g6 U RW default = 'h2 -+// Bit 26 :24 rg_wf2g_rx_lna_ictrl_g7 U RW default = 'h3 -+// Bit 30 :28 rg_wf2g_rx_lna_ictrl_man U RW default = 'h0 -+// Bit 31 rg_wf2g_rx_lna_ictrl_man_mode U RW default = 'h0 -+typedef union RG_RX_A79_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G1 : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G2 : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G3 : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G4 : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G5 : 3; -+ unsigned int rsvd_4 : 1; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G6 : 3; -+ unsigned int rsvd_5 : 1; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G7 : 3; -+ unsigned int rsvd_6 : 1; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_MAN : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_MAN_MODE : 1; -+ } b; -+} RG_RX_A79_FIELD_T; -+ -+#define RG_RX_A80 (RF_D_RX_REG_BASE + 0x140) -+// Bit 7 :0 rg_wf2g_rx_lna_slice_g1 U RW default = 'h49 -+// Bit 15 :8 rg_wf2g_rx_lna_slice_g2 U RW default = 'h92 -+// Bit 23 :16 rg_wf2g_rx_lna_slice_g3 U RW default = 'h93 -+// Bit 31 :24 rg_wf2g_rx_lna_slice_g4 U RW default = 'ha -+typedef union RG_RX_A80_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_SLICE_G1 : 8; -+ unsigned int RG_WF2G_RX_LNA_SLICE_G2 : 8; -+ unsigned int RG_WF2G_RX_LNA_SLICE_G3 : 8; -+ unsigned int RG_WF2G_RX_LNA_SLICE_G4 : 8; -+ } b; -+} RG_RX_A80_FIELD_T; -+ -+#define RG_RX_A81 (RF_D_RX_REG_BASE + 0x144) -+// Bit 7 :0 rg_wf2g_rx_lna_slice_g5 U RW default = 'h1a -+// Bit 15 :8 rg_wf2g_rx_lna_slice_g6 U RW default = 'h7b -+// Bit 23 :16 rg_wf2g_rx_lna_slice_g7 U RW default = 'hfa -+// Bit 31 :24 rg_wf2g_rx_lna_slice_man U RW default = 'h0 -+typedef union RG_RX_A81_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_SLICE_G5 : 8; -+ unsigned int RG_WF2G_RX_LNA_SLICE_G6 : 8; -+ unsigned int RG_WF2G_RX_LNA_SLICE_G7 : 8; -+ unsigned int RG_WF2G_RX_LNA_SLICE_MAN : 8; -+ } b; -+} RG_RX_A81_FIELD_T; -+ -+#define RG_RX_A82 (RF_D_RX_REG_BASE + 0x148) -+// Bit 4 :0 rg_wf2g_rx_lna_rfb_g1 U RW default = 'h0 -+// Bit 9 :5 rg_wf2g_rx_lna_rfb_g2 U RW default = 'h0 -+// Bit 14 :10 rg_wf2g_rx_lna_rfb_g3 U RW default = 'h0 -+// Bit 19 :15 rg_wf2g_rx_lna_rfb_g4 U RW default = 'h2 -+// Bit 24 :20 rg_wf2g_rx_lna_rfb_g5 U RW default = 'h4 -+// Bit 29 :25 rg_wf2g_rx_lna_rfb_g6 U RW default = 'h8 -+typedef union RG_RX_A82_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_RFB_G1 : 5; -+ unsigned int RG_WF2G_RX_LNA_RFB_G2 : 5; -+ unsigned int RG_WF2G_RX_LNA_RFB_G3 : 5; -+ unsigned int RG_WF2G_RX_LNA_RFB_G4 : 5; -+ unsigned int RG_WF2G_RX_LNA_RFB_G5 : 5; -+ unsigned int RG_WF2G_RX_LNA_RFB_G6 : 5; -+ unsigned int rsvd_0 : 2; -+ } b; -+} RG_RX_A82_FIELD_T; -+ -+#define RG_RX_A83 (RF_D_RX_REG_BASE + 0x14c) -+// Bit 4 :0 rg_wf2g_rx_lna_rfb_g7 U RW default = 'h0 -+// Bit 9 :5 rg_wf2g_rx_lna_rfb_man U RW default = 'h0 -+// Bit 10 rg_wf2g_rx_lna_rfb_man_mode U RW default = 'h0 -+typedef union RG_RX_A83_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_RFB_G7 : 5; -+ unsigned int RG_WF2G_RX_LNA_RFB_MAN : 5; -+ unsigned int RG_WF2G_RX_LNA_RFB_MAN_MODE : 1; -+ unsigned int rsvd_0 : 21; -+ } b; -+} RG_RX_A83_FIELD_T; -+ -+#define RG_RX_A84 (RF_D_RX_REG_BASE + 0x150) -+// Bit 2 :0 rg_wf2g_rx_lna_rt_g1 U RW default = 'h5 -+// Bit 5 :3 rg_wf2g_rx_lna_rt_g2 U RW default = 'h5 -+// Bit 8 :6 rg_wf2g_rx_lna_rt_g3 U RW default = 'h5 -+// Bit 11 :9 rg_wf2g_rx_lna_rt_g4 U RW default = 'h5 -+// Bit 14 :12 rg_wf2g_rx_lna_rt_g5 U RW default = 'h5 -+// Bit 17 :15 rg_wf2g_rx_lna_rt_g6 U RW default = 'h0 -+// Bit 26 :24 rg_wf2g_rx_lna_rt_man U RW default = 'h0 -+// Bit 31 rg_wf2g_rx_lna_rt_man_mode U RW default = 'h0 -+typedef union RG_RX_A84_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_RT_G1 : 3; -+ unsigned int RG_WF2G_RX_LNA_RT_G2 : 3; -+ unsigned int RG_WF2G_RX_LNA_RT_G3 : 3; -+ unsigned int RG_WF2G_RX_LNA_RT_G4 : 3; -+ unsigned int RG_WF2G_RX_LNA_RT_G5 : 3; -+ unsigned int RG_WF2G_RX_LNA_RT_G6 : 3; -+ unsigned int rsvd_0 : 6; -+ unsigned int RG_WF2G_RX_LNA_RT_MAN : 3; -+ unsigned int rsvd_1 : 4; -+ unsigned int RG_WF2G_RX_LNA_RT_MAN_MODE : 1; -+ } b; -+} RG_RX_A84_FIELD_T; -+ -+#define RG_RX_A85 (RF_D_RX_REG_BASE + 0x154) -+// Bit 2 :0 rg_wf2g_rx_lna_att_g1 U RW default = 'h0 -+// Bit 5 :3 rg_wf2g_rx_lna_att_g2 U RW default = 'h2 -+// Bit 8 :6 rg_wf2g_rx_lna_att_g3 U RW default = 'h3 -+// Bit 11 :9 rg_wf2g_rx_lna_att_man U RW default = 'h0 -+// Bit 12 rg_wf2g_rx_lna_att_man_mode U RW default = 'h0 -+typedef union RG_RX_A85_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_ATT_G1 : 3; -+ unsigned int RG_WF2G_RX_LNA_ATT_G2 : 3; -+ unsigned int RG_WF2G_RX_LNA_ATT_G3 : 3; -+ unsigned int RG_WF2G_RX_LNA_ATT_MAN : 3; -+ unsigned int RG_WF2G_RX_LNA_ATT_MAN_MODE : 1; -+ unsigned int rsvd_0 : 19; -+ } b; -+} RG_RX_A85_FIELD_T; -+ -+#define RG_RX_A86 (RF_D_RX_REG_BASE + 0x158) -+// Bit 1 :0 rg_wf2g_rx_dpd_att_ctrl U RW default = 'h1 -+// Bit 4 :2 rg_wf2g_rx_dpd_gm_gain U RW default = 'h7 -+// Bit 7 :5 rg_wf2g_rx_dpd_gm_ictrl U RW default = 'h3 -+// Bit 11 :8 rg_wf2g_rx_dpd_mxr_lodrv_ictrl U RW default = 'h3 -+// Bit 14 :12 rg_wf2g_rx_gm_ictrl U RW default = 'h3 -+// Bit 18 :15 rg_wf2g_rx_mxr_lodrv_ictrl U RW default = 'h3 -+// Bit 22 :19 rg_wf2g_rx_mxr_vbsel U RW default = 'h2 -+// Bit 25 :23 rg_wf2g_rx_mxr_vcmsel U RW default = 'h3 -+typedef union RG_RX_A86_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_DPD_ATT_CTRL : 2; -+ unsigned int RG_WF2G_RX_DPD_GM_GAIN : 3; -+ unsigned int RG_WF2G_RX_DPD_GM_ICTRL : 3; -+ unsigned int RG_WF2G_RX_DPD_MXR_LODRV_ICTRL : 4; -+ unsigned int RG_WF2G_RX_GM_ICTRL : 3; -+ unsigned int RG_WF2G_RX_MXR_LODRV_ICTRL : 4; -+ unsigned int RG_WF2G_RX_MXR_VBSEL : 4; -+ unsigned int RG_WF2G_RX_MXR_VCMSEL : 3; -+ unsigned int rsvd_0 : 6; -+ } b; -+} RG_RX_A86_FIELD_T; -+ -+#define RG_RX_A87 (RF_D_RX_REG_BASE + 0x15c) -+// Bit 7 :0 rg_wf2g_rx_lna_priority U RW default = 'hdb -+typedef union RG_RX_A87_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_PRIORITY : 8; -+ unsigned int rsvd_0 : 24; -+ } b; -+} RG_RX_A87_FIELD_T; -+ -+#define RG_RX_A88 (RF_D_RX_REG_BASE + 0x160) -+// Bit 0 rg_m4_wf_rx_fe_topbias_en U RW default = 'h1 -+// Bit 1 rg_m4_wf_rx_lna_bias_en U RW default = 'h1 -+// Bit 2 rg_m4_wf_rx_gm_bias_en U RW default = 'h1 -+// Bit 3 rg_m4_wf_rx_mxr_bias_en U RW default = 'h1 -+// Bit 4 rg_m4_wf5g_rx_lna_trsw_en U RW default = 'h1 -+// Bit 5 rg_m4_wf5g_rx_lna_en U RW default = 'h0 -+// Bit 6 rg_m4_wf5g_rx_gm_en U RW default = 'h0 -+// Bit 7 rg_m4_wf5g_rx_mxr_en U RW default = 'h0 -+// Bit 8 rg_m4_wf5g_rx_dpd_en U RW default = 'h1 -+// Bit 9 rg_m4_wf5g_rx_irrcal_en U RW default = 'h0 -+// Bit 10 rg_m4_wf2g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 11 rg_m4_wf2g_rx_lna_en U RW default = 'h0 -+// Bit 12 rg_m4_wf2g_rx_gm_en U RW default = 'h0 -+// Bit 13 rg_m4_wf2g_rx_mxr_en U RW default = 'h0 -+// Bit 14 rg_m4_wf2g_rx_irrcal_en U RW default = 'h0 -+// Bit 15 rg_m4_wf2g_rx_dpd_en U RW default = 'h0 -+// Bit 17 rg_m4_wf_rtx_abb_topbias_en U RW default = 'h1 -+// Bit 18 rg_m4_wf_rtx_abb_rx_en U RW default = 'h1 -+// Bit 22 rg_m4_wf_rx_tia_bias_en U RW default = 'h1 -+// Bit 23 rg_m4_wf_rx_rssipga_bias_en U RW default = 'h1 -+// Bit 24 rg_m4_wf_rx_lpf_bias_en U RW default = 'h1 -+// Bit 25 rg_m4_wf_rx_tia_en U RW default = 'h1 -+// Bit 26 rg_m4_wf_rx_rssipga_en U RW default = 'h1 -+// Bit 27 rg_m4_wf_rx_lpf_en U RW default = 'h1 -+// Bit 28 rg_m4_wf_rx_lpf_i_dcoc_en U RW default = 'h1 -+// Bit 29 rg_m4_wf_rx_lpf_q_dcoc_en U RW default = 'h1 -+typedef union RG_RX_A88_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M4_WF_RX_FE_TOPBIAS_EN : 1; -+ unsigned int RG_M4_WF_RX_LNA_BIAS_EN : 1; -+ unsigned int RG_M4_WF_RX_GM_BIAS_EN : 1; -+ unsigned int RG_M4_WF_RX_MXR_BIAS_EN : 1; -+ unsigned int RG_M4_WF5G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M4_WF5G_RX_LNA_EN : 1; -+ unsigned int RG_M4_WF5G_RX_GM_EN : 1; -+ unsigned int RG_M4_WF5G_RX_MXR_EN : 1; -+ unsigned int RG_M4_WF5G_RX_DPD_EN : 1; -+ unsigned int RG_M4_WF5G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M4_WF2G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M4_WF2G_RX_LNA_EN : 1; -+ unsigned int RG_M4_WF2G_RX_GM_EN : 1; -+ unsigned int RG_M4_WF2G_RX_MXR_EN : 1; -+ unsigned int RG_M4_WF2G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M4_WF2G_RX_DPD_EN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_M4_WF_RTX_ABB_TOPBIAS_EN : 1; -+ unsigned int RG_M4_WF_RTX_ABB_RX_EN : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_M4_WF_RX_TIA_BIAS_EN : 1; -+ unsigned int RG_M4_WF_RX_RSSIPGA_BIAS_EN : 1; -+ unsigned int RG_M4_WF_RX_LPF_BIAS_EN : 1; -+ unsigned int RG_M4_WF_RX_TIA_EN : 1; -+ unsigned int RG_M4_WF_RX_RSSIPGA_EN : 1; -+ unsigned int RG_M4_WF_RX_LPF_EN : 1; -+ unsigned int RG_M4_WF_RX_LPF_I_DCOC_EN : 1; -+ unsigned int RG_M4_WF_RX_LPF_Q_DCOC_EN : 1; -+ unsigned int rsvd_2 : 2; -+ } b; -+} RG_RX_A88_FIELD_T; -+ -+#define RG_RX_A89 (RF_D_RX_REG_BASE + 0x164) -+// Bit 0 rg_m5_wf_rx_fe_topbias_en U RW default = 'h0 -+// Bit 1 rg_m5_wf_rx_lna_bias_en U RW default = 'h0 -+// Bit 2 rg_m5_wf_rx_gm_bias_en U RW default = 'h0 -+// Bit 3 rg_m5_wf_rx_mxr_bias_en U RW default = 'h0 -+// Bit 4 rg_m5_wf5g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 5 rg_m5_wf5g_rx_lna_en U RW default = 'h0 -+// Bit 6 rg_m5_wf5g_rx_gm_en U RW default = 'h0 -+// Bit 7 rg_m5_wf5g_rx_mxr_en U RW default = 'h0 -+// Bit 8 rg_m5_wf5g_rx_dpd_en U RW default = 'h0 -+// Bit 9 rg_m5_wf5g_rx_irrcal_en U RW default = 'h0 -+// Bit 10 rg_m5_wf2g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 11 rg_m5_wf2g_rx_lna_en U RW default = 'h0 -+// Bit 12 rg_m5_wf2g_rx_gm_en U RW default = 'h0 -+// Bit 13 rg_m5_wf2g_rx_mxr_en U RW default = 'h0 -+// Bit 14 rg_m5_wf2g_rx_irrcal_en U RW default = 'h0 -+// Bit 15 rg_m5_wf2g_rx_dpd_en U RW default = 'h0 -+// Bit 17 rg_m5_wf_rtx_abb_topbias_en U RW default = 'h0 -+// Bit 18 rg_m5_wf_rtx_abb_rx_en U RW default = 'h0 -+// Bit 22 rg_m5_wf_rx_tia_bias_en U RW default = 'h0 -+// Bit 23 rg_m5_wf_rx_rssipga_bias_en U RW default = 'h0 -+// Bit 24 rg_m5_wf_rx_lpf_bias_en U RW default = 'h0 -+// Bit 25 rg_m5_wf_rx_tia_en U RW default = 'h0 -+// Bit 26 rg_m5_wf_rx_rssipga_en U RW default = 'h0 -+// Bit 27 rg_m5_wf_rx_lpf_en U RW default = 'h0 -+// Bit 28 rg_m5_wf_rx_lpf_i_dcoc_en U RW default = 'h0 -+// Bit 29 rg_m5_wf_rx_lpf_q_dcoc_en U RW default = 'h0 -+typedef union RG_RX_A89_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M5_WF_RX_FE_TOPBIAS_EN : 1; -+ unsigned int RG_M5_WF_RX_LNA_BIAS_EN : 1; -+ unsigned int RG_M5_WF_RX_GM_BIAS_EN : 1; -+ unsigned int RG_M5_WF_RX_MXR_BIAS_EN : 1; -+ unsigned int RG_M5_WF5G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M5_WF5G_RX_LNA_EN : 1; -+ unsigned int RG_M5_WF5G_RX_GM_EN : 1; -+ unsigned int RG_M5_WF5G_RX_MXR_EN : 1; -+ unsigned int RG_M5_WF5G_RX_DPD_EN : 1; -+ unsigned int RG_M5_WF5G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M5_WF2G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M5_WF2G_RX_LNA_EN : 1; -+ unsigned int RG_M5_WF2G_RX_GM_EN : 1; -+ unsigned int RG_M5_WF2G_RX_MXR_EN : 1; -+ unsigned int RG_M5_WF2G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M5_WF2G_RX_DPD_EN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_M5_WF_RTX_ABB_TOPBIAS_EN : 1; -+ unsigned int RG_M5_WF_RTX_ABB_RX_EN : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_M5_WF_RX_TIA_BIAS_EN : 1; -+ unsigned int RG_M5_WF_RX_RSSIPGA_BIAS_EN : 1; -+ unsigned int RG_M5_WF_RX_LPF_BIAS_EN : 1; -+ unsigned int RG_M5_WF_RX_TIA_EN : 1; -+ unsigned int RG_M5_WF_RX_RSSIPGA_EN : 1; -+ unsigned int RG_M5_WF_RX_LPF_EN : 1; -+ unsigned int RG_M5_WF_RX_LPF_I_DCOC_EN : 1; -+ unsigned int RG_M5_WF_RX_LPF_Q_DCOC_EN : 1; -+ unsigned int rsvd_2 : 2; -+ } b; -+} RG_RX_A89_FIELD_T; -+ -+#define RG_RX_A90 (RF_D_RX_REG_BASE + 0x168) -+// Bit 0 rg_m6_wf_rx_fe_topbias_en U RW default = 'h1 -+// Bit 1 rg_m6_wf_rx_lna_bias_en U RW default = 'h0 -+// Bit 2 rg_m6_wf_rx_gm_bias_en U RW default = 'h0 -+// Bit 3 rg_m6_wf_rx_mxr_bias_en U RW default = 'h0 -+// Bit 4 rg_m6_wf5g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 5 rg_m6_wf5g_rx_lna_en U RW default = 'h0 -+// Bit 6 rg_m6_wf5g_rx_gm_en U RW default = 'h0 -+// Bit 7 rg_m6_wf5g_rx_mxr_en U RW default = 'h0 -+// Bit 8 rg_m6_wf5g_rx_dpd_en U RW default = 'h0 -+// Bit 9 rg_m6_wf5g_rx_irrcal_en U RW default = 'h0 -+// Bit 10 rg_m6_wf2g_rx_lna_trsw_en U RW default = 'h1 -+// Bit 11 rg_m6_wf2g_rx_lna_en U RW default = 'h0 -+// Bit 12 rg_m6_wf2g_rx_gm_en U RW default = 'h0 -+// Bit 13 rg_m6_wf2g_rx_mxr_en U RW default = 'h0 -+// Bit 14 rg_m6_wf2g_rx_irrcal_en U RW default = 'h0 -+// Bit 15 rg_m6_wf2g_rx_dpd_en U RW default = 'h0 -+// Bit 17 rg_m6_wf_rtx_abb_topbias_en U RW default = 'h1 -+// Bit 18 rg_m6_wf_rtx_abb_rx_en U RW default = 'h0 -+// Bit 22 rg_m6_wf_rx_tia_bias_en U RW default = 'h0 -+// Bit 23 rg_m6_wf_rx_rssipga_bias_en U RW default = 'h0 -+// Bit 24 rg_m6_wf_rx_lpf_bias_en U RW default = 'h0 -+// Bit 25 rg_m6_wf_rx_tia_en U RW default = 'h0 -+// Bit 26 rg_m6_wf_rx_rssipga_en U RW default = 'h0 -+// Bit 27 rg_m6_wf_rx_lpf_en U RW default = 'h0 -+// Bit 28 rg_m6_wf_rx_lpf_i_dcoc_en U RW default = 'h0 -+// Bit 29 rg_m6_wf_rx_lpf_q_dcoc_en U RW default = 'h0 -+typedef union RG_RX_A90_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M6_WF_RX_FE_TOPBIAS_EN : 1; -+ unsigned int RG_M6_WF_RX_LNA_BIAS_EN : 1; -+ unsigned int RG_M6_WF_RX_GM_BIAS_EN : 1; -+ unsigned int RG_M6_WF_RX_MXR_BIAS_EN : 1; -+ unsigned int RG_M6_WF5G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M6_WF5G_RX_LNA_EN : 1; -+ unsigned int RG_M6_WF5G_RX_GM_EN : 1; -+ unsigned int RG_M6_WF5G_RX_MXR_EN : 1; -+ unsigned int RG_M6_WF5G_RX_DPD_EN : 1; -+ unsigned int RG_M6_WF5G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M6_WF2G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M6_WF2G_RX_LNA_EN : 1; -+ unsigned int RG_M6_WF2G_RX_GM_EN : 1; -+ unsigned int RG_M6_WF2G_RX_MXR_EN : 1; -+ unsigned int RG_M6_WF2G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M6_WF2G_RX_DPD_EN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_M6_WF_RTX_ABB_TOPBIAS_EN : 1; -+ unsigned int RG_M6_WF_RTX_ABB_RX_EN : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_M6_WF_RX_TIA_BIAS_EN : 1; -+ unsigned int RG_M6_WF_RX_RSSIPGA_BIAS_EN : 1; -+ unsigned int RG_M6_WF_RX_LPF_BIAS_EN : 1; -+ unsigned int RG_M6_WF_RX_TIA_EN : 1; -+ unsigned int RG_M6_WF_RX_RSSIPGA_EN : 1; -+ unsigned int RG_M6_WF_RX_LPF_EN : 1; -+ unsigned int RG_M6_WF_RX_LPF_I_DCOC_EN : 1; -+ unsigned int RG_M6_WF_RX_LPF_Q_DCOC_EN : 1; -+ unsigned int rsvd_2 : 2; -+ } b; -+} RG_RX_A90_FIELD_T; -+ -+#define RG_RX_A91 (RF_D_RX_REG_BASE + 0x16c) -+// Bit 0 rg_m7_wf_rx_fe_topbias_en U RW default = 'h1 -+// Bit 1 rg_m7_wf_rx_lna_bias_en U RW default = 'h1 -+// Bit 2 rg_m7_wf_rx_gm_bias_en U RW default = 'h1 -+// Bit 3 rg_m7_wf_rx_mxr_bias_en U RW default = 'h1 -+// Bit 4 rg_m7_wf5g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 5 rg_m7_wf5g_rx_lna_en U RW default = 'h0 -+// Bit 6 rg_m7_wf5g_rx_gm_en U RW default = 'h0 -+// Bit 7 rg_m7_wf5g_rx_mxr_en U RW default = 'h0 -+// Bit 8 rg_m7_wf5g_rx_dpd_en U RW default = 'h0 -+// Bit 9 rg_m7_wf5g_rx_irrcal_en U RW default = 'h0 -+// Bit 10 rg_m7_wf2g_rx_lna_trsw_en U RW default = 'h0 -+// Bit 11 rg_m7_wf2g_rx_lna_en U RW default = 'h1 -+// Bit 12 rg_m7_wf2g_rx_gm_en U RW default = 'h1 -+// Bit 13 rg_m7_wf2g_rx_mxr_en U RW default = 'h1 -+// Bit 14 rg_m7_wf2g_rx_irrcal_en U RW default = 'h0 -+// Bit 15 rg_m7_wf2g_rx_dpd_en U RW default = 'h0 -+// Bit 17 rg_m7_wf_rtx_abb_topbias_en U RW default = 'h1 -+// Bit 18 rg_m7_wf_rtx_abb_rx_en U RW default = 'h1 -+// Bit 22 rg_m7_wf_rx_tia_bias_en U RW default = 'h1 -+// Bit 23 rg_m7_wf_rx_rssipga_bias_en U RW default = 'h1 -+// Bit 24 rg_m7_wf_rx_lpf_bias_en U RW default = 'h1 -+// Bit 25 rg_m7_wf_rx_tia_en U RW default = 'h1 -+// Bit 26 rg_m7_wf_rx_rssipga_en U RW default = 'h1 -+// Bit 27 rg_m7_wf_rx_lpf_en U RW default = 'h1 -+// Bit 28 rg_m7_wf_rx_lpf_i_dcoc_en U RW default = 'h1 -+// Bit 29 rg_m7_wf_rx_lpf_q_dcoc_en U RW default = 'h1 -+typedef union RG_RX_A91_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M7_WF_RX_FE_TOPBIAS_EN : 1; -+ unsigned int RG_M7_WF_RX_LNA_BIAS_EN : 1; -+ unsigned int RG_M7_WF_RX_GM_BIAS_EN : 1; -+ unsigned int RG_M7_WF_RX_MXR_BIAS_EN : 1; -+ unsigned int RG_M7_WF5G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M7_WF5G_RX_LNA_EN : 1; -+ unsigned int RG_M7_WF5G_RX_GM_EN : 1; -+ unsigned int RG_M7_WF5G_RX_MXR_EN : 1; -+ unsigned int RG_M7_WF5G_RX_DPD_EN : 1; -+ unsigned int RG_M7_WF5G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M7_WF2G_RX_LNA_TRSW_EN : 1; -+ unsigned int RG_M7_WF2G_RX_LNA_EN : 1; -+ unsigned int RG_M7_WF2G_RX_GM_EN : 1; -+ unsigned int RG_M7_WF2G_RX_MXR_EN : 1; -+ unsigned int RG_M7_WF2G_RX_IRRCAL_EN : 1; -+ unsigned int RG_M7_WF2G_RX_DPD_EN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_M7_WF_RTX_ABB_TOPBIAS_EN : 1; -+ unsigned int RG_M7_WF_RTX_ABB_RX_EN : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_M7_WF_RX_TIA_BIAS_EN : 1; -+ unsigned int RG_M7_WF_RX_RSSIPGA_BIAS_EN : 1; -+ unsigned int RG_M7_WF_RX_LPF_BIAS_EN : 1; -+ unsigned int RG_M7_WF_RX_TIA_EN : 1; -+ unsigned int RG_M7_WF_RX_RSSIPGA_EN : 1; -+ unsigned int RG_M7_WF_RX_LPF_EN : 1; -+ unsigned int RG_M7_WF_RX_LPF_I_DCOC_EN : 1; -+ unsigned int RG_M7_WF_RX_LPF_Q_DCOC_EN : 1; -+ unsigned int rsvd_2 : 2; -+ } b; -+} RG_RX_A91_FIELD_T; -+ -+#define RG_RX_A92 (RF_D_RX_REG_BASE + 0x170) -+// Bit 2 :0 rg_wf2g_rx_lna_ictrl_g67 U RW default = 'h3 -+// Bit 5 :3 rg_wf2g_rx_lna_ictrl_g57 U RW default = 'h2 -+// Bit 8 :6 rg_wf2g_rx_lna_ictrl_g47 U RW default = 'h2 -+// Bit 11 :9 rg_wf2g_rx_lna_ictrl_g37 U RW default = 'h5 -+// Bit 14 :12 rg_wf2g_rx_lna_ictrl_g56 U RW default = 'h3 -+// Bit 17 :15 rg_wf2g_rx_lna_ictrl_g46 U RW default = 'h2 -+// Bit 20 :18 rg_wf2g_rx_lna_ictrl_g36 U RW default = 'h5 -+// Bit 23 :21 rg_wf2g_rx_lna_ictrl_g45 U RW default = 'h3 -+// Bit 26 :24 rg_wf2g_rx_lna_ictrl_g35 U RW default = 'h3 -+// Bit 29 :27 rg_wf2g_rx_lna_ictrl_g34 U RW default = 'h2 -+typedef union RG_RX_A92_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G67 : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G57 : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G47 : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G37 : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G56 : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G46 : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G36 : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G45 : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G35 : 3; -+ unsigned int RG_WF2G_RX_LNA_ICTRL_G34 : 3; -+ unsigned int rsvd_0 : 2; -+ } b; -+} RG_RX_A92_FIELD_T; -+ -+#define RG_RX_A93 (RF_D_RX_REG_BASE + 0x174) -+// Bit 4 :0 rg_wf2g_rx_lna_rfb_g77 U RW default = 'h0 -+// Bit 9 :5 rg_wf2g_btrx_lna_rfb_g77 U RW default = 'h0 -+// Bit 11 :10 rg_wf_agc_lock_option U RW default = 'h3 -+// Bit 23 :16 rg_wf_rx_lna_en_delay_bnd U RW default = 'h14 -+// Bit 24 rg_wf_rx_lna_en_delay_bypass U RW default = 'h0 -+typedef union RG_RX_A93_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_RX_LNA_RFB_G77 : 5; -+ unsigned int RG_WF2G_BTRX_LNA_RFB_G77 : 5; -+ unsigned int RG_WF_AGC_LOCK_OPTION : 2; -+ unsigned int rsvd_0 : 4; -+ unsigned int RG_WF_RX_LNA_EN_DELAY_BND : 8; -+ unsigned int RG_WF_RX_LNA_EN_DELAY_BYPASS : 1; -+ unsigned int rsvd_1 : 7; -+ } b; -+} RG_RX_A93_FIELD_T; -+ -+#define RG_RX_A94 (RF_D_RX_REG_BASE + 0x178) -+// Bit 12 rg_wf_daclpbk2adc_en U RW default = 'h0 -+// Bit 13 rg_wf_rx_lpf_testout_en U RW default = 'h0 -+// Bit 14 rg_wf_rx_rssipga_testout_en U RW default = 'h0 -+typedef union RG_RX_A94_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rsvd_0 : 12; -+ unsigned int RG_WF_DACLPBK2ADC_EN : 1; -+ unsigned int RG_WF_RX_LPF_TESTOUT_EN : 1; -+ unsigned int RG_WF_RX_RSSIPGA_TESTOUT_EN : 1; -+ unsigned int rsvd_1 : 17; -+ } b; -+} RG_RX_A94_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/rf_d_sx_reg.h b/drivers/net/wireless/w1/common/rf_d_sx_reg.h -new file mode 100644 -index 000000000000..ca37aae62396 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/rf_d_sx_reg.h -@@ -0,0 +1,1093 @@ -+#ifdef RF_D_SX_REG -+#else -+#define RF_D_SX_REG -+ -+ -+#define RF_D_SX_REG_BASE (0x400) -+ -+#define RG_SX_A0 (RF_D_SX_REG_BASE + 0x0) -+// Bit 0 rg_wf_sx_fcal_en U RW default = 'h0 -+// Bit 2 rg_wf_sx_cali_start_man_mode U RW default = 'h1 -+// Bit 4 rg_wf_sx_sdm_frac_en U RW default = 'h1 -+// Bit 12 :8 rg_wf_sx_fcal_mode_sel U RW default = 'h1b -+// Bit 16 rg_wf_sx_rf_osc_double U RW default = 'h0 -+// Bit 20 rg_wf_sx_dig_osc_double U RW default = 'h0 -+// Bit 31 rg_wf_sx_soft_reset U RW default = 'h0 -+typedef union RG_SX_A0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_FCAL_EN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_SX_CALI_START_MAN_MODE : 1; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_SX_SDM_FRAC_EN : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int RG_WF_SX_FCAL_MODE_SEL : 5; -+ unsigned int rsvd_3 : 3; -+ unsigned int RG_WF_SX_RF_OSC_DOUBLE : 1; -+ unsigned int rsvd_4 : 3; -+ unsigned int RG_WF_SX_DIG_OSC_DOUBLE : 1; -+ unsigned int rsvd_5 : 10; -+ unsigned int RG_WF_SX_SOFT_RESET : 1; -+ } b; -+} RG_SX_A0_FIELD_T; -+ -+#define RG_SX_A1 (RF_D_SX_REG_BASE + 0x4) -+// Bit 0 rg_wf_sx_fcal_sel_p U RW default = 'h0 -+// Bit 10 :4 rg_wf_sx_vcoc_p U RW default = 'h40 -+// Bit 12 rg_wf_sx_fcal_sel_t U RW default = 'h0 -+// Bit 20 :16 rg_wf_sx_vcoc_t U RW default = 'h10 -+// Bit 24 rg_wf_sx_ldo_fc_man U RW default = 'h0 -+// Bit 28 rg_wf_sx_ldo_fc U RW default = 'h0 -+typedef union RG_SX_A1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_FCAL_SEL_P : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_WF_SX_VCOC_P : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_SX_FCAL_SEL_T : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int RG_WF_SX_VCOC_T : 5; -+ unsigned int rsvd_3 : 3; -+ unsigned int RG_WF_SX_LDO_FC_MAN : 1; -+ unsigned int rsvd_4 : 3; -+ unsigned int RG_WF_SX_LDO_FC : 1; -+ unsigned int rsvd_5 : 3; -+ } b; -+} RG_SX_A1_FIELD_T; -+ -+#define RG_SX_A2 (RF_D_SX_REG_BASE + 0x8) -+// Bit 6 :0 ro_da_wf_sx_vcoc_p U RO default = 'h0 -+// Bit 20 :16 ro_da_wf_sx_vcoc_t U RO default = 'h0 -+// Bit 24 ro_wf_sx_mxrtank_cali_ready U RO default = 'h0 -+// Bit 25 ro_wf_sx_chn_map_ready U RO default = 'h0 -+// Bit 26 ro_wf_sx_p_cali_ready U RO default = 'h0 -+// Bit 27 ro_wf_sx_a_cali_ready U RO default = 'h0 -+// Bit 28 ro_wf_sx_t_cali_ready U RO default = 'h0 -+// Bit 29 ro_ad_wf_sx_ready U RO default = 'h0 -+// Bit 31 ro_cali_end_flg U RO default = 'h0 -+typedef union RG_SX_A2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_DA_WF_SX_VCOC_P : 7; -+ unsigned int rsvd_0 : 9; -+ unsigned int RO_DA_WF_SX_VCOC_T : 5; -+ unsigned int rsvd_1 : 3; -+ unsigned int RO_WF_SX_MXRTANK_CALI_READY : 1; -+ unsigned int RO_WF_SX_CHN_MAP_READY : 1; -+ unsigned int RO_WF_SX_P_CALI_READY : 1; -+ unsigned int RO_WF_SX_A_CALI_READY : 1; -+ unsigned int RO_WF_SX_T_CALI_READY : 1; -+ unsigned int RO_AD_WF_SX_READY : 1; -+ unsigned int rsvd_2 : 1; -+ unsigned int RO_CALI_END_FLG : 1; -+ } b; -+} RG_SX_A2_FIELD_T; -+ -+#define RG_SX_A3 (RF_D_SX_REG_BASE + 0xc) -+// Bit 1 :0 rg_wf_sx_ldo_fc_waittime U RW default = 'h2 -+// Bit 5 :4 rg_wf_sx_set_code_waittime U RW default = 'h1 -+// Bit 9 :8 rg_wf_sx_fcal_cw_waittime U RW default = 'h1 -+// Bit 13 :12 rg_wf_sx_tr_wait_waittime U RW default = 'h1 -+// Bit 17 :16 rg_wf_sx_acal_vco_waittime U RW default = 'h1 -+// Bit 21 :20 rg_wf_sx_tr_switch_bnd U RW default = 'h0 -+typedef union RG_SX_A3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_LDO_FC_WAITTIME : 2; -+ unsigned int rsvd_0 : 2; -+ unsigned int RG_WF_SX_SET_CODE_WAITTIME : 2; -+ unsigned int rsvd_1 : 2; -+ unsigned int RG_WF_SX_FCAL_CW_WAITTIME : 2; -+ unsigned int rsvd_2 : 2; -+ unsigned int RG_WF_SX_TR_WAIT_WAITTIME : 2; -+ unsigned int rsvd_3 : 2; -+ unsigned int RG_WF_SX_ACAL_VCO_WAITTIME : 2; -+ unsigned int rsvd_4 : 2; -+ unsigned int RG_WF_SX_TR_SWITCH_BND : 2; -+ unsigned int rsvd_5 : 10; -+ } b; -+} RG_SX_A3_FIELD_T; -+ -+#define RG_SX_A4 (RF_D_SX_REG_BASE + 0x10) -+// Bit 0 rg_wf_sx_vco_i_man U RW default = 'h0 -+// Bit 7 :4 rg_wf_sx_vco_i U RW default = 'h8 -+// Bit 15 :8 rg_wf_sx_pd_vctrl_sel U RW default = 'h3 -+typedef union RG_SX_A4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_VCO_I_MAN : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_WF_SX_VCO_I : 4; -+ unsigned int RG_WF_SX_PD_VCTRL_SEL : 8; -+ unsigned int rsvd_1 : 16; -+ } b; -+} RG_SX_A4_FIELD_T; -+ -+#define RG_SX_A5 (RF_D_SX_REG_BASE + 0x14) -+// Bit 3 :0 ro_wf_sx_vco_i U RO default = 'h0 -+// Bit 4 ro_da_wf_sx_vco_acfinish U RO default = 'h0 -+// Bit 8 ro_ad_wf_sx_vco_alc_out U RO default = 'h0 -+// Bit 23 :16 ro_wf_sx_pt_fsm U RO default = 'h0 -+// Bit 30 :24 ro_wf_sx_top_fsm U RO default = 'h0 -+typedef union RG_SX_A5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_WF_SX_VCO_I : 4; -+ unsigned int RO_DA_WF_SX_VCO_ACFINISH : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int RO_AD_WF_SX_VCO_ALC_OUT : 1; -+ unsigned int rsvd_1 : 7; -+ unsigned int RO_WF_SX_PT_FSM : 8; -+ unsigned int RO_WF_SX_TOP_FSM : 7; -+ unsigned int rsvd_2 : 1; -+ } b; -+} RG_SX_A5_FIELD_T; -+ -+#define RG_SX_A6 (RF_D_SX_REG_BASE + 0x18) -+// Bit 0 rg_sx_pdiv_sel U RW default = 'h1 -+// Bit 7 :4 rg_sx_osc_freq U RW default = 'h3 -+// Bit 15 :8 rg_2gb_sx_channel U RW default = 'h8 -+// Bit 23 :16 rg_5gb_sx_channel U RW default = 'h64 -+// Bit 27 :24 rg_wifi_freq_mode_man U RW default = 'h0 -+// Bit 31 rg_wifi_freq_mode_man_mode U RW default = 'h0 -+typedef union RG_SX_A6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_SX_PDIV_SEL : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_SX_OSC_FREQ : 4; -+ unsigned int RG_2GB_SX_CHANNEL : 8; -+ unsigned int RG_5GB_SX_CHANNEL : 8; -+ unsigned int RG_WIFI_FREQ_MODE_MAN : 4; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_WIFI_FREQ_MODE_MAN_MODE : 1; -+ } b; -+} RG_SX_A6_FIELD_T; -+ -+#define RG_SX_A7 (RF_D_SX_REG_BASE + 0x1c) -+// Bit 0 rg_sx_rfch_man_en U RW default = 'h0 -+// Bit 14 :4 rg_wf_sx_rfctrl_int U RW default = 'h0 -+typedef union RG_SX_A7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_SX_RFCH_MAN_EN : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_WF_SX_RFCTRL_INT : 11; -+ unsigned int rsvd_1 : 17; -+ } b; -+} RG_SX_A7_FIELD_T; -+ -+#define RG_SX_A8 (RF_D_SX_REG_BASE + 0x20) -+// Bit 24 :0 rg_wf_sx_rfctrl_frac U RW default = 'h0 -+typedef union RG_SX_A8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_RFCTRL_FRAC : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_SX_A8_FIELD_T; -+ -+#define RG_SX_A9 (RF_D_SX_REG_BASE + 0x24) -+// Bit 15 :0 rg_sx_fcal_ntargt U RW default = 'h0 -+// Bit 16 rg_sx_fcal_ntargt_man U RW default = 'h0 -+typedef union RG_SX_A9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_SX_FCAL_NTARGT : 16; -+ unsigned int RG_SX_FCAL_NTARGT_MAN : 1; -+ unsigned int rsvd_0 : 15; -+ } b; -+} RG_SX_A9_FIELD_T; -+ -+#define RG_SX_A10 (RF_D_SX_REG_BASE + 0x28) -+// Bit 15 :0 ro_wf_sx_fcal_cnt U RO default = 'h0 -+// Bit 28 :16 ro_wf_sx_rf_freq_mhz U RO default = 'h0 -+typedef union RG_SX_A10_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_WF_SX_FCAL_CNT : 16; -+ unsigned int RO_WF_SX_RF_FREQ_MHZ : 13; -+ unsigned int rsvd_0 : 3; -+ } b; -+} RG_SX_A10_FIELD_T; -+ -+#define RG_SX_A11 (RF_D_SX_REG_BASE + 0x2c) -+// Bit 1 :0 rg_wf_sx_fcal_hvt U RW default = 'h1 -+// Bit 5 :4 rg_wf_sx_fcal_lvt U RW default = 'h1 -+typedef union RG_SX_A11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_FCAL_HVT : 2; -+ unsigned int rsvd_0 : 2; -+ unsigned int RG_WF_SX_FCAL_LVT : 2; -+ unsigned int rsvd_1 : 26; -+ } b; -+} RG_SX_A11_FIELD_T; -+ -+#define RG_SX_A12 (RF_D_SX_REG_BASE + 0x30) -+// Bit 10 :0 ro_sx_rfctrl_nint U RO default = 'h0 -+typedef union RG_SX_A12_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_SX_RFCTRL_NINT : 11; -+ unsigned int rsvd_0 : 21; -+ } b; -+} RG_SX_A12_FIELD_T; -+ -+#define RG_SX_A13 (RF_D_SX_REG_BASE + 0x34) -+// Bit 24 :0 ro_sx_rfctrl_nfrac U RO default = 'h0 -+typedef union RG_SX_A13_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_SX_RFCTRL_NFRAC : 25; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_SX_A13_FIELD_T; -+ -+#define RG_SX_A14 (RF_D_SX_REG_BASE + 0x38) -+// Bit 15 :0 ro_sx_fcal_ntargt U RO default = 'h0 -+typedef union RG_SX_A14_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_SX_FCAL_NTARGT : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} RG_SX_A14_FIELD_T; -+ -+#define RG_SX_A15 (RF_D_SX_REG_BASE + 0x3c) -+// Bit 6 rg_tr_switch_man U RW default = 'h0 -+// Bit 7 rg_tr_switch_val U RW default = 'h0 -+typedef union RG_SX_A15_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rsvd_0 : 6; -+ unsigned int RG_TR_SWITCH_MAN : 1; -+ unsigned int RG_TR_SWITCH_VAL : 1; -+ unsigned int rsvd_1 : 24; -+ } b; -+} RG_SX_A15_FIELD_T; -+ -+#define RG_SX_A16 (RF_D_SX_REG_BASE + 0x40) -+// Bit 2 :0 rg_wf_sx_log_pdthreshold_man U RW default = 'h7 -+// Bit 4 rg_wf_sx_log_pd_man_mode U RW default = 'h0 -+// Bit 8 rg_wf_sx_log_pdtest_en U RW default = 'h0 -+typedef union RG_SX_A16_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_LOG_PDTHRESHOLD_MAN : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_SX_LOG_PD_MAN_MODE : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_WF_SX_LOG_PDTEST_EN : 1; -+ unsigned int rsvd_2 : 23; -+ } b; -+} RG_SX_A16_FIELD_T; -+ -+#define RG_SX_A17 (RF_D_SX_REG_BASE + 0x44) -+// Bit 3 :0 rg_wf_sx_log5g_mxr_banksel_man0 U RW default = 'he -+// Bit 7 :4 rg_wf_sx_log5g_mxr_banksel_man1 U RW default = 'hd -+// Bit 11 :8 rg_wf_sx_log5g_mxr_banksel_man2 U RW default = 'hc -+// Bit 15 :12 rg_wf_sx_log5g_mxr_banksel_man3 U RW default = 'hb -+// Bit 19 :16 rg_wf_sx_log5g_mxr_banksel_man4 U RW default = 'ha -+// Bit 23 :20 rg_wf_sx_log5g_mxr_banksel_man5 U RW default = 'h9 -+// Bit 27 :24 rg_wf_sx_log5g_mxr_banksel_man6 U RW default = 'h8 -+// Bit 31 :28 rg_wf_sx_log5g_mxr_banksel_man7 U RW default = 'h7 -+typedef union RG_SX_A17_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN0 : 4; -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN1 : 4; -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN2 : 4; -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN3 : 4; -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN4 : 4; -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN5 : 4; -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN6 : 4; -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN7 : 4; -+ } b; -+} RG_SX_A17_FIELD_T; -+ -+#define RG_SX_A18 (RF_D_SX_REG_BASE + 0x48) -+// Bit 3 :0 rg_wf_sx_log5g_mxr_banksel_man8 U RW default = 'h6 -+// Bit 7 :4 rg_wf_sx_log5g_mxr_banksel_man9 U RW default = 'h4 -+// Bit 11 :8 rg_wf_sx_log2g_mxr_banksel_man U RW default = 'h6 -+typedef union RG_SX_A18_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN8 : 4; -+ unsigned int RG_WF_SX_LOG5G_MXR_BANKSEL_MAN9 : 4; -+ unsigned int RG_WF_SX_LOG2G_MXR_BANKSEL_MAN : 4; -+ unsigned int rsvd_0 : 20; -+ } b; -+} RG_SX_A18_FIELD_T; -+ -+#define RG_SX_A20 (RF_D_SX_REG_BASE + 0x50) -+// Bit 3 :0 ro_wf_sx_log5g_mxr_banksel_0 U RO default = 'h0 -+// Bit 7 :4 ro_wf_sx_log5g_mxr_banksel_1 U RO default = 'h0 -+// Bit 11 :8 ro_wf_sx_log5g_mxr_banksel_2 U RO default = 'h0 -+// Bit 15 :12 ro_wf_sx_log5g_mxr_banksel_3 U RO default = 'h0 -+// Bit 19 :16 ro_wf_sx_log5g_mxr_banksel_4 U RO default = 'h0 -+// Bit 23 :20 ro_wf_sx_log5g_mxr_banksel_5 U RO default = 'h0 -+// Bit 27 :24 ro_wf_sx_log5g_mxr_banksel_6 U RO default = 'h0 -+// Bit 31 :28 ro_wf_sx_log5g_mxr_banksel_7 U RO default = 'h0 -+typedef union RG_SX_A20_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_0 : 4; -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_1 : 4; -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_2 : 4; -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_3 : 4; -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_4 : 4; -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_5 : 4; -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_6 : 4; -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_7 : 4; -+ } b; -+} RG_SX_A20_FIELD_T; -+ -+#define RG_SX_A21 (RF_D_SX_REG_BASE + 0x54) -+// Bit 3 :0 ro_wf_sx_log5g_mxr_banksel_8 U RO default = 'h0 -+// Bit 7 :4 ro_wf_sx_log5g_mxr_banksel_9 U RO default = 'h0 -+// Bit 11 :8 ro_wf_sx_log2g_mxr_banksel U RO default = 'h0 -+typedef union RG_SX_A21_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_8 : 4; -+ unsigned int RO_WF_SX_LOG5G_MXR_BANKSEL_9 : 4; -+ unsigned int RO_WF_SX_LOG2G_MXR_BANKSEL : 4; -+ unsigned int rsvd_0 : 20; -+ } b; -+} RG_SX_A21_FIELD_T; -+ -+#define RG_SX_A23 (RF_D_SX_REG_BASE + 0x5c) -+// Bit 0 rg_m0_wf_sx_vco_en U RW default = 'h0 -+// Bit 1 rg_m0_wf_sx_vco_acal_en U RW default = 'h0 -+// Bit 2 rg_m0_wf_sx_pfd_en U RW default = 'h0 -+// Bit 3 rg_m0_wf_sx_cp_en U RW default = 'h0 -+// Bit 4 rg_m0_wf_sx_vco_ldo_en U RW default = 'h0 -+// Bit 5 rg_m0_wf_sx_cp_ldo_en U RW default = 'h0 -+// Bit 6 rg_m0_wf_sx_lpf_comp_en U RW default = 'h0 -+// Bit 7 rg_m0_wf_sx_log5g_mxr_en U RW default = 'h0 -+// Bit 8 rg_m0_wf_sx_log5g_inv_en U RW default = 'h0 -+// Bit 9 rg_m0_wf_sx_log5g_div_en U RW default = 'h0 -+// Bit 10 rg_m0_wf_sx_log5g_iqdiv_en U RW default = 'h0 -+// Bit 11 rg_m0_wf_sx_log5g_rxlo_en U RW default = 'h0 -+// Bit 12 rg_m0_wf_sx_log5g_dpdlo_en U RW default = 'h0 -+// Bit 13 rg_m0_wf_sx_log5g_txlo_en U RW default = 'h0 -+// Bit 14 rg_m0_wf_sx_log2g_mxr_en U RW default = 'h0 -+// Bit 15 rg_m0_wf_sx_log2g_div_en U RW default = 'h0 -+// Bit 16 rg_m0_wf_sx_log2g_iqdiv_en U RW default = 'h0 -+// Bit 17 rg_m0_wf_sx_log2g_rxlo_en U RW default = 'h0 -+// Bit 18 rg_m0_wf_sx_log2g_dpdlo_en U RW default = 'h0 -+// Bit 19 rg_m0_wf_sx_log2g_txlo_en U RW default = 'h0 -+typedef union RG_SX_A23_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M0_WF_SX_VCO_EN : 1; -+ unsigned int RG_M0_WF_SX_VCO_ACAL_EN : 1; -+ unsigned int RG_M0_WF_SX_PFD_EN : 1; -+ unsigned int RG_M0_WF_SX_CP_EN : 1; -+ unsigned int RG_M0_WF_SX_VCO_LDO_EN : 1; -+ unsigned int RG_M0_WF_SX_CP_LDO_EN : 1; -+ unsigned int RG_M0_WF_SX_LPF_COMP_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG5G_MXR_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG5G_INV_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG5G_DIV_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG5G_IQDIV_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG5G_RXLO_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG5G_DPDLO_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG5G_TXLO_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG2G_MXR_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG2G_DIV_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG2G_IQDIV_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG2G_RXLO_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG2G_DPDLO_EN : 1; -+ unsigned int RG_M0_WF_SX_LOG2G_TXLO_EN : 1; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_SX_A23_FIELD_T; -+ -+#define RG_SX_A24 (RF_D_SX_REG_BASE + 0x60) -+// Bit 0 rg_m1_wf_sx_vco_en U RW default = 'h1 -+// Bit 1 rg_m1_wf_sx_vco_acal_en U RW default = 'h1 -+// Bit 2 rg_m1_wf_sx_pfd_en U RW default = 'h1 -+// Bit 3 rg_m1_wf_sx_cp_en U RW default = 'h1 -+// Bit 4 rg_m1_wf_sx_vco_ldo_en U RW default = 'h1 -+// Bit 5 rg_m1_wf_sx_cp_ldo_en U RW default = 'h1 -+// Bit 6 rg_m1_wf_sx_lpf_comp_en U RW default = 'h1 -+// Bit 7 rg_m1_wf_sx_log5g_mxr_en U RW default = 'h1 -+// Bit 8 rg_m1_wf_sx_log5g_inv_en U RW default = 'h1 -+// Bit 9 rg_m1_wf_sx_log5g_div_en U RW default = 'h1 -+// Bit 10 rg_m1_wf_sx_log5g_iqdiv_en U RW default = 'h1 -+// Bit 11 rg_m1_wf_sx_log5g_rxlo_en U RW default = 'h0 -+// Bit 12 rg_m1_wf_sx_log5g_dpdlo_en U RW default = 'h0 -+// Bit 13 rg_m1_wf_sx_log5g_txlo_en U RW default = 'h0 -+// Bit 14 rg_m1_wf_sx_log2g_mxr_en U RW default = 'h0 -+// Bit 15 rg_m1_wf_sx_log2g_div_en U RW default = 'h0 -+// Bit 16 rg_m1_wf_sx_log2g_iqdiv_en U RW default = 'h0 -+// Bit 17 rg_m1_wf_sx_log2g_rxlo_en U RW default = 'h0 -+// Bit 18 rg_m1_wf_sx_log2g_dpdlo_en U RW default = 'h0 -+// Bit 19 rg_m1_wf_sx_log2g_txlo_en U RW default = 'h0 -+typedef union RG_SX_A24_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M1_WF_SX_VCO_EN : 1; -+ unsigned int RG_M1_WF_SX_VCO_ACAL_EN : 1; -+ unsigned int RG_M1_WF_SX_PFD_EN : 1; -+ unsigned int RG_M1_WF_SX_CP_EN : 1; -+ unsigned int RG_M1_WF_SX_VCO_LDO_EN : 1; -+ unsigned int RG_M1_WF_SX_CP_LDO_EN : 1; -+ unsigned int RG_M1_WF_SX_LPF_COMP_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG5G_MXR_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG5G_INV_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG5G_DIV_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG5G_IQDIV_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG5G_RXLO_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG5G_DPDLO_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG5G_TXLO_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG2G_MXR_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG2G_DIV_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG2G_IQDIV_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG2G_RXLO_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG2G_DPDLO_EN : 1; -+ unsigned int RG_M1_WF_SX_LOG2G_TXLO_EN : 1; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_SX_A24_FIELD_T; -+ -+#define RG_SX_A25 (RF_D_SX_REG_BASE + 0x64) -+// Bit 0 rg_m2_wf_sx_vco_en U RW default = 'h1 -+// Bit 1 rg_m2_wf_sx_vco_acal_en U RW default = 'h1 -+// Bit 2 rg_m2_wf_sx_pfd_en U RW default = 'h1 -+// Bit 3 rg_m2_wf_sx_cp_en U RW default = 'h1 -+// Bit 4 rg_m2_wf_sx_vco_ldo_en U RW default = 'h1 -+// Bit 5 rg_m2_wf_sx_cp_ldo_en U RW default = 'h1 -+// Bit 6 rg_m2_wf_sx_lpf_comp_en U RW default = 'h1 -+// Bit 7 rg_m2_wf_sx_log5g_mxr_en U RW default = 'h1 -+// Bit 8 rg_m2_wf_sx_log5g_inv_en U RW default = 'h1 -+// Bit 9 rg_m2_wf_sx_log5g_div_en U RW default = 'h1 -+// Bit 10 rg_m2_wf_sx_log5g_iqdiv_en U RW default = 'h1 -+// Bit 11 rg_m2_wf_sx_log5g_rxlo_en U RW default = 'h0 -+// Bit 12 rg_m2_wf_sx_log5g_dpdlo_en U RW default = 'h0 -+// Bit 13 rg_m2_wf_sx_log5g_txlo_en U RW default = 'h1 -+// Bit 14 rg_m2_wf_sx_log2g_mxr_en U RW default = 'h0 -+// Bit 15 rg_m2_wf_sx_log2g_div_en U RW default = 'h0 -+// Bit 16 rg_m2_wf_sx_log2g_iqdiv_en U RW default = 'h0 -+// Bit 17 rg_m2_wf_sx_log2g_rxlo_en U RW default = 'h0 -+// Bit 18 rg_m2_wf_sx_log2g_dpdlo_en U RW default = 'h0 -+// Bit 19 rg_m2_wf_sx_log2g_txlo_en U RW default = 'h1 -+typedef union RG_SX_A25_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M2_WF_SX_VCO_EN : 1; -+ unsigned int RG_M2_WF_SX_VCO_ACAL_EN : 1; -+ unsigned int RG_M2_WF_SX_PFD_EN : 1; -+ unsigned int RG_M2_WF_SX_CP_EN : 1; -+ unsigned int RG_M2_WF_SX_VCO_LDO_EN : 1; -+ unsigned int RG_M2_WF_SX_CP_LDO_EN : 1; -+ unsigned int RG_M2_WF_SX_LPF_COMP_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG5G_MXR_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG5G_INV_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG5G_DIV_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG5G_IQDIV_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG5G_RXLO_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG5G_DPDLO_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG5G_TXLO_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG2G_MXR_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG2G_DIV_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG2G_IQDIV_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG2G_RXLO_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG2G_DPDLO_EN : 1; -+ unsigned int RG_M2_WF_SX_LOG2G_TXLO_EN : 1; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_SX_A25_FIELD_T; -+ -+#define RG_SX_A26 (RF_D_SX_REG_BASE + 0x68) -+// Bit 0 rg_m3_wf_sx_vco_en U RW default = 'h1 -+// Bit 1 rg_m3_wf_sx_vco_acal_en U RW default = 'h1 -+// Bit 2 rg_m3_wf_sx_pfd_en U RW default = 'h1 -+// Bit 3 rg_m3_wf_sx_cp_en U RW default = 'h1 -+// Bit 4 rg_m3_wf_sx_vco_ldo_en U RW default = 'h1 -+// Bit 5 rg_m3_wf_sx_cp_ldo_en U RW default = 'h1 -+// Bit 6 rg_m3_wf_sx_lpf_comp_en U RW default = 'h1 -+// Bit 7 rg_m3_wf_sx_log5g_mxr_en U RW default = 'h1 -+// Bit 8 rg_m3_wf_sx_log5g_inv_en U RW default = 'h1 -+// Bit 9 rg_m3_wf_sx_log5g_div_en U RW default = 'h1 -+// Bit 10 rg_m3_wf_sx_log5g_iqdiv_en U RW default = 'h1 -+// Bit 11 rg_m3_wf_sx_log5g_rxlo_en U RW default = 'h1 -+// Bit 12 rg_m3_wf_sx_log5g_dpdlo_en U RW default = 'h0 -+// Bit 13 rg_m3_wf_sx_log5g_txlo_en U RW default = 'h0 -+// Bit 14 rg_m3_wf_sx_log2g_mxr_en U RW default = 'h0 -+// Bit 15 rg_m3_wf_sx_log2g_div_en U RW default = 'h0 -+// Bit 16 rg_m3_wf_sx_log2g_iqdiv_en U RW default = 'h0 -+// Bit 17 rg_m3_wf_sx_log2g_rxlo_en U RW default = 'h0 -+// Bit 18 rg_m3_wf_sx_log2g_dpdlo_en U RW default = 'h0 -+// Bit 19 rg_m3_wf_sx_log2g_txlo_en U RW default = 'h0 -+typedef union RG_SX_A26_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M3_WF_SX_VCO_EN : 1; -+ unsigned int RG_M3_WF_SX_VCO_ACAL_EN : 1; -+ unsigned int RG_M3_WF_SX_PFD_EN : 1; -+ unsigned int RG_M3_WF_SX_CP_EN : 1; -+ unsigned int RG_M3_WF_SX_VCO_LDO_EN : 1; -+ unsigned int RG_M3_WF_SX_CP_LDO_EN : 1; -+ unsigned int RG_M3_WF_SX_LPF_COMP_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG5G_MXR_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG5G_INV_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG5G_DIV_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG5G_IQDIV_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG5G_RXLO_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG5G_DPDLO_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG5G_TXLO_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG2G_MXR_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG2G_DIV_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG2G_IQDIV_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG2G_RXLO_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG2G_DPDLO_EN : 1; -+ unsigned int RG_M3_WF_SX_LOG2G_TXLO_EN : 1; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_SX_A26_FIELD_T; -+ -+#define RG_SX_A27 (RF_D_SX_REG_BASE + 0x6c) -+// Bit 31 :0 rg_wf_sx_dig_rsv0 U RW default = 'hffff -+typedef union RG_SX_A27_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_DIG_RSV0 : 32; -+ } b; -+} RG_SX_A27_FIELD_T; -+ -+#define RG_SX_A32 (RF_D_SX_REG_BASE + 0x80) -+// Bit 2 :0 rg_wf_sx_lpf_bw U RW default = 'h7 -+// Bit 5 :4 rg_wf_sx_pfd_delay U RW default = 'h0 -+// Bit 10 :8 rg_wf_sx_cp_offset U RW default = 'h5 -+// Bit 13 :12 rg_wf_sx_stable_cnt U RW default = 'h0 -+// Bit 16 rg_wf_sx_stable_en_man_mode U RW default = 'h0 -+// Bit 20 rg_wf_sx_stable_en_man U RW default = 'h0 -+typedef union RG_SX_A32_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_LPF_BW : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_SX_PFD_DELAY : 2; -+ unsigned int rsvd_1 : 2; -+ unsigned int RG_WF_SX_CP_OFFSET : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF_SX_STABLE_CNT : 2; -+ unsigned int rsvd_3 : 2; -+ unsigned int RG_WF_SX_STABLE_EN_MAN_MODE : 1; -+ unsigned int rsvd_4 : 3; -+ unsigned int RG_WF_SX_STABLE_EN_MAN : 1; -+ unsigned int rsvd_5 : 11; -+ } b; -+} RG_SX_A32_FIELD_T; -+ -+#define RG_SX_A34 (RF_D_SX_REG_BASE + 0x88) -+// Bit 8 :4 rg_wf_sx_vco_ldo_vref_adj U RW default = 'h14 -+// Bit 20 :16 rg_wf_sx_cp_ldo_vref_adj U RW default = 'h10 -+typedef union RG_SX_A34_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rsvd_0 : 4; -+ unsigned int RG_WF_SX_VCO_LDO_VREF_ADJ : 5; -+ unsigned int rsvd_1 : 7; -+ unsigned int RG_WF_SX_CP_LDO_VREF_ADJ : 5; -+ unsigned int rsvd_2 : 11; -+ } b; -+} RG_SX_A34_FIELD_T; -+ -+#define RG_SX_A35 (RF_D_SX_REG_BASE + 0x8c) -+// Bit 2 :0 rg_wf_sx_cp_i U RW default = 'h5 -+// Bit 4 :3 rg_wf_sx_pfd_lock_t U RW default = 'h0 -+// Bit 5 rg_wf_sx_pfd_ph_en U RW default = 'h1 -+// Bit 6 rg_wf_sx_pfd_sel U RW default = 'h0 -+// Bit 8 rg_wf_sx_mmd_pw_en U RW default = 'h1 -+// Bit 9 rg_wf_sx_cp_bypass_mode U RW default = 'h0 -+// Bit 10 rg_wf_sx_lpf_bypass_mode U RW default = 'h0 -+// Bit 11 rg_wf_sx_lpf_resample_mode U RW default = 'h1 -+// Bit 12 rg_wf_sx_cp_cali_ctrl U RW default = 'h0 -+// Bit 13 rg_wf_sx_lpf_cali_ctrl U RW default = 'h0 -+// Bit 14 rg_wf_sx_cp_rc_ctrl U RW default = 'h0 -+// Bit 15 rg_wf_sx_ldo_hf_rc_ctrl U RW default = 'h1 -+// Bit 16 rg_wf_sx_ldo_hf_rc_modesel U RW default = 'h0 -+// Bit 17 rg_wf_sx_ldo_lf_rc_ctrl U RW default = 'h1 -+// Bit 18 rg_wf_sx_ldo_lf_rc_modesel U RW default = 'h0 -+// Bit 19 rg_wf_sx_pll_rst_man U RW default = 'h0 -+// Bit 20 rg_wf_sx_pll_rst_man_val U RW default = 'h0 -+// Bit 22 :21 rg_wf_sx_vctrl_sel U RW default = 'h0 -+// Bit 24 :23 rg_wf_sx_vco_var_dc U RW default = 'h3 -+// Bit 25 rg_wf_sx_fcal_div U RW default = 'h1 -+// Bit 27 :26 rg_wf_sx_vco_2nd_capn U RW default = 'h1 -+// Bit 29 :28 rg_wf_sx_vco_2nd_capp U RW default = 'h1 -+// Bit 30 rg_sx_vco_lpf_testmode U RW default = 'h0 -+typedef union RG_SX_A35_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_CP_I : 3; -+ unsigned int RG_WF_SX_PFD_LOCK_T : 2; -+ unsigned int RG_WF_SX_PFD_PH_EN : 1; -+ unsigned int RG_WF_SX_PFD_SEL : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_SX_MMD_PW_EN : 1; -+ unsigned int RG_WF_SX_CP_BYPASS_MODE : 1; -+ unsigned int RG_WF_SX_LPF_BYPASS_MODE : 1; -+ unsigned int RG_WF_SX_LPF_RESAMPLE_MODE : 1; -+ unsigned int RG_WF_SX_CP_CALI_CTRL : 1; -+ unsigned int RG_WF_SX_LPF_CALI_CTRL : 1; -+ unsigned int RG_WF_SX_CP_RC_CTRL : 1; -+ unsigned int RG_WF_SX_LDO_HF_RC_CTRL : 1; -+ unsigned int RG_WF_SX_LDO_HF_RC_MODESEL : 1; -+ unsigned int RG_WF_SX_LDO_LF_RC_CTRL : 1; -+ unsigned int RG_WF_SX_LDO_LF_RC_MODESEL : 1; -+ unsigned int RG_WF_SX_PLL_RST_MAN : 1; -+ unsigned int RG_WF_SX_PLL_RST_MAN_VAL : 1; -+ unsigned int RG_WF_SX_VCTRL_SEL : 2; -+ unsigned int RG_WF_SX_VCO_VAR_DC : 2; -+ unsigned int RG_WF_SX_FCAL_DIV : 1; -+ unsigned int RG_WF_SX_VCO_2ND_CAPN : 2; -+ unsigned int RG_WF_SX_VCO_2ND_CAPP : 2; -+ unsigned int RG_SX_VCO_LPF_TESTMODE : 1; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_SX_A35_FIELD_T; -+ -+#define RG_SX_A36 (RF_D_SX_REG_BASE + 0x90) -+// Bit 0 rg_wf_sx_log5g_pd_en_man U RW default = 'h0 -+// Bit 4 rg_wf_sx_log2g_pd_en_man U RW default = 'h0 -+// Bit 11 :8 rg_wf_sx_log5g_mxr_ictrl U RW default = 'ha -+// Bit 15 :12 rg_wf_sx_log5g_div_vdd U RW default = 'h1 -+// Bit 31 rg_wf_sx_log5g_reserve1 U RW default = 'h0 -+typedef union RG_SX_A36_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_LOG5G_PD_EN_MAN : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int RG_WF_SX_LOG2G_PD_EN_MAN : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int RG_WF_SX_LOG5G_MXR_ICTRL : 4; -+ unsigned int RG_WF_SX_LOG5G_DIV_VDD : 4; -+ unsigned int rsvd_2 : 15; -+ unsigned int RG_WF_SX_LOG5G_RESERVE1 : 1; -+ } b; -+} RG_SX_A36_FIELD_T; -+ -+#define RG_SX_A37 (RF_D_SX_REG_BASE + 0x94) -+// Bit 3 :0 rg_wf_sx_log5g_rxlo_vdd U RW default = 'h7 -+// Bit 7 :4 rg_wf_sx_log5g_dpdlo_vdd U RW default = 'h7 -+// Bit 11 :8 rg_wf_sx_log5g_txlo_vdd U RW default = 'h7 -+// Bit 15 :12 rg_wf_sx_log5g_iqdiv_rctrl U RW default = 'h0 -+// Bit 20 :16 rg_wf_sx_log5g_iqdiv_ictrl U RW default = 'h6 -+typedef union RG_SX_A37_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_LOG5G_RXLO_VDD : 4; -+ unsigned int RG_WF_SX_LOG5G_DPDLO_VDD : 4; -+ unsigned int RG_WF_SX_LOG5G_TXLO_VDD : 4; -+ unsigned int RG_WF_SX_LOG5G_IQDIV_RCTRL : 4; -+ unsigned int RG_WF_SX_LOG5G_IQDIV_ICTRL : 5; -+ unsigned int rsvd_0 : 11; -+ } b; -+} RG_SX_A37_FIELD_T; -+ -+#define RG_SX_A38 (RF_D_SX_REG_BASE + 0x98) -+// Bit 3 :0 rg_wf_sx_log2g_mxr_vdd U RW default = 'hf -+// Bit 7 :4 rg_wf_sx_log2g_div_vdd U RW default = 'h1 -+// Bit 11 :8 rg_wf_sx_log2g_iqdiv_vdd U RW default = 'h1 -+// Bit 15 :12 rg_wf_sx_log2g_rxlo_vdd U RW default = 'h4 -+// Bit 19 :16 rg_wf_sx_log2g_dpdlo_vdd U RW default = 'h4 -+// Bit 23 :20 rg_wf_sx_log2g_txlo_vdd U RW default = 'h4 -+typedef union RG_SX_A38_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_LOG2G_MXR_VDD : 4; -+ unsigned int RG_WF_SX_LOG2G_DIV_VDD : 4; -+ unsigned int RG_WF_SX_LOG2G_IQDIV_VDD : 4; -+ unsigned int RG_WF_SX_LOG2G_RXLO_VDD : 4; -+ unsigned int RG_WF_SX_LOG2G_DPDLO_VDD : 4; -+ unsigned int RG_WF_SX_LOG2G_TXLO_VDD : 4; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_SX_A38_FIELD_T; -+ -+#define RG_SX_A42 (RF_D_SX_REG_BASE + 0xa8) -+// Bit 31 :0 rg_wf_sx_rsv0 U RW default = 'hfffb -+typedef union RG_SX_A42_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_RSV0 : 32; -+ } b; -+} RG_SX_A42_FIELD_T; -+ -+#define RG_SX_A43 (RF_D_SX_REG_BASE + 0xac) -+// Bit 31 :0 rg_wf_sx_rsv1 U RW default = 'hffff -+typedef union RG_SX_A43_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_RSV1 : 32; -+ } b; -+} RG_SX_A43_FIELD_T; -+ -+#define RG_SX_A44 (RF_D_SX_REG_BASE + 0xb0) -+// Bit 0 rg_wf_sx_double_edge_sel U RW default = 'h0 -+// Bit 1 rg_wf_sx_double_bypass_mode U RW default = 'h1 -+// Bit 2 rg_wf_sx_double_dig_loop_en U RW default = 'h0 -+// Bit 3 rg_wf_sx_double_ana_loop_en U RW default = 'h0 -+// Bit 4 rg_wf_sx_double_half_lsb_ctrl U RW default = 'h0 -+// Bit 5 rg_wf_sx_double_half_lsb_sel U RW default = 'h1 -+// Bit 6 rg_wf_sx_double_post_delay_en U RW default = 'h1 -+// Bit 7 rg_wf_sx_double_pre_delay_en U RW default = 'h1 -+// Bit 8 rg_wf_sx_double_op_en U RW default = 'h1 -+// Bit 11 :9 rg_wf_sx_double_vref_sel U RW default = 'h4 -+// Bit 19 :12 rg_wf_sx_double_reserved U RW default = 'h0 -+// Bit 21 rg_wf_sx_double_rst_man_mode U RW default = 'h0 -+// Bit 22 rg_wf_sx_double_rst_man U RW default = 'h0 -+// Bit 23 rg_wf_sx_double_tune_man_mode U RW default = 'h0 -+// Bit 30 :24 rg_wf_sx_double_tune_man U RW default = 'h0 -+typedef union RG_SX_A44_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_DOUBLE_EDGE_SEL : 1; -+ unsigned int RG_WF_SX_DOUBLE_BYPASS_MODE : 1; -+ unsigned int RG_WF_SX_DOUBLE_DIG_LOOP_EN : 1; -+ unsigned int RG_WF_SX_DOUBLE_ANA_LOOP_EN : 1; -+ unsigned int RG_WF_SX_DOUBLE_HALF_LSB_CTRL : 1; -+ unsigned int RG_WF_SX_DOUBLE_HALF_LSB_SEL : 1; -+ unsigned int RG_WF_SX_DOUBLE_POST_DELAY_EN : 1; -+ unsigned int RG_WF_SX_DOUBLE_PRE_DELAY_EN : 1; -+ unsigned int RG_WF_SX_DOUBLE_OP_EN : 1; -+ unsigned int RG_WF_SX_DOUBLE_VREF_SEL : 3; -+ unsigned int RG_WF_SX_DOUBLE_RESERVED : 8; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_SX_DOUBLE_RST_MAN_MODE : 1; -+ unsigned int RG_WF_SX_DOUBLE_RST_MAN : 1; -+ unsigned int RG_WF_SX_DOUBLE_TUNE_MAN_MODE : 1; -+ unsigned int RG_WF_SX_DOUBLE_TUNE_MAN : 7; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_SX_A44_FIELD_T; -+ -+#define RG_SX_A45 (RF_D_SX_REG_BASE + 0xb4) -+// Bit 0 rg_wf_sx_open_drain_tp_en U RW default = 'h0 -+// Bit 1 rg_wf_sx_vco_vctrl_tp_sel U RW default = 'h0 -+// Bit 2 rg_wf_sx_tp_en U RW default = 'h0 -+// Bit 5 :3 rg_wf_sx_tp_sel U RW default = 'h4 -+// Bit 6 rg_wf_sx_fb_clk_edge_sel U RW default = 'h0 -+// Bit 7 rg_wf_sx_clk_edge_sel U RW default = 'h0 -+// Bit 8 rg_wf_sx_double_cali_en U RW default = 'h0 -+// Bit 9 rg_wf_sx_double_en U RW default = 'h0 -+// Bit 13 :12 rg_wf_sx_double_waittime_25u U RW default = 'h0 -+// Bit 15 :14 rg_wf_sx_double_waittime_40u U RW default = 'h0 -+// Bit 23 :16 rg_wf_sx_double_check_code_cnt U RW default = 'h80 -+// Bit 31 rg_wf_sx_double_duty_flag_sel U RW default = 'h0 -+typedef union RG_SX_A45_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_SX_OPEN_DRAIN_TP_EN : 1; -+ unsigned int RG_WF_SX_VCO_VCTRL_TP_SEL : 1; -+ unsigned int RG_WF_SX_TP_EN : 1; -+ unsigned int RG_WF_SX_TP_SEL : 3; -+ unsigned int RG_WF_SX_FB_CLK_EDGE_SEL : 1; -+ unsigned int RG_WF_SX_CLK_EDGE_SEL : 1; -+ unsigned int RG_WF_SX_DOUBLE_CALI_EN : 1; -+ unsigned int RG_WF_SX_DOUBLE_EN : 1; -+ unsigned int rsvd_0 : 2; -+ unsigned int RG_WF_SX_DOUBLE_WAITTIME_25U : 2; -+ unsigned int RG_WF_SX_DOUBLE_WAITTIME_40U : 2; -+ unsigned int RG_WF_SX_DOUBLE_CHECK_CODE_CNT : 8; -+ unsigned int rsvd_1 : 7; -+ unsigned int RG_WF_SX_DOUBLE_DUTY_FLAG_SEL : 1; -+ } b; -+} RG_SX_A45_FIELD_T; -+ -+#define RG_SX_A46 (RF_D_SX_REG_BASE + 0xb8) -+// Bit 0 rg_m4_wf_sx_vco_en U RW default = 'h1 -+// Bit 1 rg_m4_wf_sx_vco_acal_en U RW default = 'h1 -+// Bit 2 rg_m4_wf_sx_pfd_en U RW default = 'h1 -+// Bit 3 rg_m4_wf_sx_cp_en U RW default = 'h1 -+// Bit 4 rg_m4_wf_sx_vco_ldo_en U RW default = 'h1 -+// Bit 5 rg_m4_wf_sx_cp_ldo_en U RW default = 'h1 -+// Bit 6 rg_m4_wf_sx_lpf_comp_en U RW default = 'h1 -+// Bit 7 rg_m4_wf_sx_log5g_mxr_en U RW default = 'h1 -+// Bit 8 rg_m4_wf_sx_log5g_inv_en U RW default = 'h1 -+// Bit 9 rg_m4_wf_sx_log5g_div_en U RW default = 'h1 -+// Bit 10 rg_m4_wf_sx_log5g_iqdiv_en U RW default = 'h1 -+// Bit 11 rg_m4_wf_sx_log5g_rxlo_en U RW default = 'h0 -+// Bit 12 rg_m4_wf_sx_log5g_dpdlo_en U RW default = 'h1 -+// Bit 13 rg_m4_wf_sx_log5g_txlo_en U RW default = 'h1 -+// Bit 14 rg_m4_wf_sx_log2g_mxr_en U RW default = 'h0 -+// Bit 15 rg_m4_wf_sx_log2g_div_en U RW default = 'h0 -+// Bit 16 rg_m4_wf_sx_log2g_iqdiv_en U RW default = 'h0 -+// Bit 17 rg_m4_wf_sx_log2g_rxlo_en U RW default = 'h0 -+// Bit 18 rg_m4_wf_sx_log2g_dpdlo_en U RW default = 'h0 -+// Bit 19 rg_m4_wf_sx_log2g_txlo_en U RW default = 'h0 -+typedef union RG_SX_A46_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M4_WF_SX_VCO_EN : 1; -+ unsigned int RG_M4_WF_SX_VCO_ACAL_EN : 1; -+ unsigned int RG_M4_WF_SX_PFD_EN : 1; -+ unsigned int RG_M4_WF_SX_CP_EN : 1; -+ unsigned int RG_M4_WF_SX_VCO_LDO_EN : 1; -+ unsigned int RG_M4_WF_SX_CP_LDO_EN : 1; -+ unsigned int RG_M4_WF_SX_LPF_COMP_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG5G_MXR_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG5G_INV_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG5G_DIV_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG5G_IQDIV_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG5G_RXLO_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG5G_DPDLO_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG5G_TXLO_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG2G_MXR_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG2G_DIV_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG2G_IQDIV_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG2G_RXLO_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG2G_DPDLO_EN : 1; -+ unsigned int RG_M4_WF_SX_LOG2G_TXLO_EN : 1; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_SX_A46_FIELD_T; -+ -+#define RG_SX_A47 (RF_D_SX_REG_BASE + 0xbc) -+// Bit 0 rg_m5_wf_sx_vco_en U RW default = 'h1 -+// Bit 1 rg_m5_wf_sx_vco_acal_en U RW default = 'h1 -+// Bit 2 rg_m5_wf_sx_pfd_en U RW default = 'h1 -+// Bit 3 rg_m5_wf_sx_cp_en U RW default = 'h1 -+// Bit 4 rg_m5_wf_sx_vco_ldo_en U RW default = 'h1 -+// Bit 5 rg_m5_wf_sx_cp_ldo_en U RW default = 'h1 -+// Bit 6 rg_m5_wf_sx_lpf_comp_en U RW default = 'h1 -+// Bit 7 rg_m5_wf_sx_log5g_mxr_en U RW default = 'h0 -+// Bit 8 rg_m5_wf_sx_log5g_inv_en U RW default = 'h0 -+// Bit 9 rg_m5_wf_sx_log5g_div_en U RW default = 'h0 -+// Bit 10 rg_m5_wf_sx_log5g_iqdiv_en U RW default = 'h0 -+// Bit 11 rg_m5_wf_sx_log5g_rxlo_en U RW default = 'h0 -+// Bit 12 rg_m5_wf_sx_log5g_dpdlo_en U RW default = 'h0 -+// Bit 13 rg_m5_wf_sx_log5g_txlo_en U RW default = 'h0 -+// Bit 14 rg_m5_wf_sx_log2g_mxr_en U RW default = 'h1 -+// Bit 15 rg_m5_wf_sx_log2g_div_en U RW default = 'h1 -+// Bit 16 rg_m5_wf_sx_log2g_iqdiv_en U RW default = 'h1 -+// Bit 17 rg_m5_wf_sx_log2g_rxlo_en U RW default = 'h0 -+// Bit 18 rg_m5_wf_sx_log2g_dpdlo_en U RW default = 'h0 -+// Bit 19 rg_m5_wf_sx_log2g_txlo_en U RW default = 'h0 -+typedef union RG_SX_A47_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M5_WF_SX_VCO_EN : 1; -+ unsigned int RG_M5_WF_SX_VCO_ACAL_EN : 1; -+ unsigned int RG_M5_WF_SX_PFD_EN : 1; -+ unsigned int RG_M5_WF_SX_CP_EN : 1; -+ unsigned int RG_M5_WF_SX_VCO_LDO_EN : 1; -+ unsigned int RG_M5_WF_SX_CP_LDO_EN : 1; -+ unsigned int RG_M5_WF_SX_LPF_COMP_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG5G_MXR_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG5G_INV_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG5G_DIV_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG5G_IQDIV_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG5G_RXLO_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG5G_DPDLO_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG5G_TXLO_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG2G_MXR_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG2G_DIV_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG2G_IQDIV_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG2G_RXLO_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG2G_DPDLO_EN : 1; -+ unsigned int RG_M5_WF_SX_LOG2G_TXLO_EN : 1; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_SX_A47_FIELD_T; -+ -+#define RG_SX_A48 (RF_D_SX_REG_BASE + 0xc0) -+// Bit 0 rg_m6_wf_sx_vco_en U RW default = 'h1 -+// Bit 1 rg_m6_wf_sx_vco_acal_en U RW default = 'h1 -+// Bit 2 rg_m6_wf_sx_pfd_en U RW default = 'h1 -+// Bit 3 rg_m6_wf_sx_cp_en U RW default = 'h1 -+// Bit 4 rg_m6_wf_sx_vco_ldo_en U RW default = 'h1 -+// Bit 5 rg_m6_wf_sx_cp_ldo_en U RW default = 'h1 -+// Bit 6 rg_m6_wf_sx_lpf_comp_en U RW default = 'h1 -+// Bit 7 rg_m6_wf_sx_log5g_mxr_en U RW default = 'h0 -+// Bit 8 rg_m6_wf_sx_log5g_inv_en U RW default = 'h0 -+// Bit 9 rg_m6_wf_sx_log5g_div_en U RW default = 'h0 -+// Bit 10 rg_m6_wf_sx_log5g_iqdiv_en U RW default = 'h0 -+// Bit 11 rg_m6_wf_sx_log5g_rxlo_en U RW default = 'h0 -+// Bit 12 rg_m6_wf_sx_log5g_dpdlo_en U RW default = 'h0 -+// Bit 13 rg_m6_wf_sx_log5g_txlo_en U RW default = 'h0 -+// Bit 14 rg_m6_wf_sx_log2g_mxr_en U RW default = 'h1 -+// Bit 15 rg_m6_wf_sx_log2g_div_en U RW default = 'h1 -+// Bit 16 rg_m6_wf_sx_log2g_iqdiv_en U RW default = 'h1 -+// Bit 17 rg_m6_wf_sx_log2g_rxlo_en U RW default = 'h0 -+// Bit 18 rg_m6_wf_sx_log2g_dpdlo_en U RW default = 'h0 -+// Bit 19 rg_m6_wf_sx_log2g_txlo_en U RW default = 'h1 -+typedef union RG_SX_A48_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M6_WF_SX_VCO_EN : 1; -+ unsigned int RG_M6_WF_SX_VCO_ACAL_EN : 1; -+ unsigned int RG_M6_WF_SX_PFD_EN : 1; -+ unsigned int RG_M6_WF_SX_CP_EN : 1; -+ unsigned int RG_M6_WF_SX_VCO_LDO_EN : 1; -+ unsigned int RG_M6_WF_SX_CP_LDO_EN : 1; -+ unsigned int RG_M6_WF_SX_LPF_COMP_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG5G_MXR_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG5G_INV_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG5G_DIV_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG5G_IQDIV_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG5G_RXLO_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG5G_DPDLO_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG5G_TXLO_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG2G_MXR_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG2G_DIV_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG2G_IQDIV_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG2G_RXLO_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG2G_DPDLO_EN : 1; -+ unsigned int RG_M6_WF_SX_LOG2G_TXLO_EN : 1; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_SX_A48_FIELD_T; -+ -+#define RG_SX_A49 (RF_D_SX_REG_BASE + 0xc4) -+// Bit 0 rg_m7_wf_sx_vco_en U RW default = 'h1 -+// Bit 1 rg_m7_wf_sx_vco_acal_en U RW default = 'h1 -+// Bit 2 rg_m7_wf_sx_pfd_en U RW default = 'h1 -+// Bit 3 rg_m7_wf_sx_cp_en U RW default = 'h1 -+// Bit 4 rg_m7_wf_sx_vco_ldo_en U RW default = 'h1 -+// Bit 5 rg_m7_wf_sx_cp_ldo_en U RW default = 'h1 -+// Bit 6 rg_m7_wf_sx_lpf_comp_en U RW default = 'h1 -+// Bit 7 rg_m7_wf_sx_log5g_mxr_en U RW default = 'h0 -+// Bit 8 rg_m7_wf_sx_log5g_inv_en U RW default = 'h0 -+// Bit 9 rg_m7_wf_sx_log5g_div_en U RW default = 'h0 -+// Bit 10 rg_m7_wf_sx_log5g_iqdiv_en U RW default = 'h0 -+// Bit 11 rg_m7_wf_sx_log5g_rxlo_en U RW default = 'h0 -+// Bit 12 rg_m7_wf_sx_log5g_dpdlo_en U RW default = 'h0 -+// Bit 13 rg_m7_wf_sx_log5g_txlo_en U RW default = 'h0 -+// Bit 14 rg_m7_wf_sx_log2g_mxr_en U RW default = 'h1 -+// Bit 15 rg_m7_wf_sx_log2g_div_en U RW default = 'h1 -+// Bit 16 rg_m7_wf_sx_log2g_iqdiv_en U RW default = 'h1 -+// Bit 17 rg_m7_wf_sx_log2g_rxlo_en U RW default = 'h1 -+// Bit 18 rg_m7_wf_sx_log2g_dpdlo_en U RW default = 'h0 -+// Bit 19 rg_m7_wf_sx_log2g_txlo_en U RW default = 'h0 -+typedef union RG_SX_A49_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M7_WF_SX_VCO_EN : 1; -+ unsigned int RG_M7_WF_SX_VCO_ACAL_EN : 1; -+ unsigned int RG_M7_WF_SX_PFD_EN : 1; -+ unsigned int RG_M7_WF_SX_CP_EN : 1; -+ unsigned int RG_M7_WF_SX_VCO_LDO_EN : 1; -+ unsigned int RG_M7_WF_SX_CP_LDO_EN : 1; -+ unsigned int RG_M7_WF_SX_LPF_COMP_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG5G_MXR_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG5G_INV_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG5G_DIV_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG5G_IQDIV_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG5G_RXLO_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG5G_DPDLO_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG5G_TXLO_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG2G_MXR_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG2G_DIV_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG2G_IQDIV_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG2G_RXLO_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG2G_DPDLO_EN : 1; -+ unsigned int RG_M7_WF_SX_LOG2G_TXLO_EN : 1; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_SX_A49_FIELD_T; -+ -+#define RG_SX_A50 (RF_D_SX_REG_BASE + 0xc8) -+// Bit 6 :0 ro_wf_sx_double_tune U RO default = 'h0 -+// Bit 8 ro_wf_sx_double_tune_ready U RO default = 'h0 -+typedef union RG_SX_A50_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_WF_SX_DOUBLE_TUNE : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int RO_WF_SX_DOUBLE_TUNE_READY : 1; -+ unsigned int rsvd_1 : 23; -+ } b; -+} RG_SX_A50_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/rf_d_top_reg.h b/drivers/net/wireless/w1/common/rf_d_top_reg.h -new file mode 100644 -index 000000000000..6448f506bab5 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/rf_d_top_reg.h -@@ -0,0 +1,790 @@ -+#ifdef RF_D_TOP_REG -+#else -+#define RF_D_TOP_REG -+ -+ -+#define RF_D_TOP_REG_BASE (0x0) -+ -+#define RG_TOP_A0 (RF_D_TOP_REG_BASE + 0x0) -+// Bit 31 :0 rg_wf_rx_dig_rsv0 U RW default = 'hffff -+typedef union RG_TOP_A0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_DIG_RSV0 : 32; -+ } b; -+} RG_TOP_A0_FIELD_T; -+ -+#define RG_TOP_A1 (RF_D_TOP_REG_BASE + 0x4) -+// Bit 31 :0 rg_wf_rx_dig_rsv1 U RW default = 'hffff -+typedef union RG_TOP_A1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_RX_DIG_RSV1 : 32; -+ } b; -+} RG_TOP_A1_FIELD_T; -+ -+#define RG_TOP_A2 (RF_D_TOP_REG_BASE + 0x8) -+// Bit 2 :0 rg_wf_mode_man U RW default = 'h0 -+// Bit 4 rg_wf_mode_man_mode U RW default = 'h0 -+// Bit 7 :6 rg_wf_sleep_mode U RW default = 'h0 -+// Bit 9 :8 rg_wf5g_sx_mode U RW default = 'h1 -+// Bit 11 :10 rg_wf5g_tx_mode U RW default = 'h2 -+// Bit 13 :12 rg_wf5g_rx_mode U RW default = 'h3 -+// Bit 15 :14 rg_wf5g_dpd_mode U RW default = 'h0 -+// Bit 17 :16 rg_wf2g_sx_mode U RW default = 'h1 -+// Bit 19 :18 rg_wf2g_tx_mode U RW default = 'h2 -+// Bit 21 :20 rg_wf2g_rx_mode U RW default = 'h3 -+// Bit 24 rg_wf_rf_mode U RW default = 'h0 -+// Bit 26 rg_wf_agc_lock_man U RW default = 'h0 -+// Bit 28 rg_wf_agc_lock_man_mode U RW default = 'h0 -+// Bit 30 :29 rg_wf_trswitch_edge_mask U RW default = 'h0 -+typedef union RG_TOP_A2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_MODE_MAN : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF_MODE_MAN_MODE : 1; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF_SLEEP_MODE : 2; -+ unsigned int RG_WF5G_SX_MODE : 2; -+ unsigned int RG_WF5G_TX_MODE : 2; -+ unsigned int RG_WF5G_RX_MODE : 2; -+ unsigned int RG_WF5G_DPD_MODE : 2; -+ unsigned int RG_WF2G_SX_MODE : 2; -+ unsigned int RG_WF2G_TX_MODE : 2; -+ unsigned int RG_WF2G_RX_MODE : 2; -+ unsigned int rsvd_2 : 2; -+ unsigned int RG_WF_RF_MODE : 1; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF_AGC_LOCK_MAN : 1; -+ unsigned int rsvd_4 : 1; -+ unsigned int RG_WF_AGC_LOCK_MAN_MODE : 1; -+ unsigned int RG_WF_TRSWITCH_EDGE_MASK : 2; -+ unsigned int rsvd_5 : 1; -+ } b; -+} RG_TOP_A2_FIELD_T; -+ -+#define RG_TOP_A3 (RF_D_TOP_REG_BASE + 0xc) -+// Bit 0 rg_wf_trx_hf_ldo_fc_sel U RW default = 'h0 -+// Bit 1 rg_wf_trx_hf_ldo_fc_en_man_mode U RW default = 'h0 -+// Bit 2 rg_wf_trx_hf_ldo_fc_en_man U RW default = 'h0 -+// Bit 7 :3 rg_wf_trx_hf_ldo_vsel U RW default = 'h10 -+// Bit 8 rg_wf_trx_hf_ldo_rc_ctrl U RW default = 'h1 -+// Bit 9 rg_wf_trx_lf_ldo_fc_sel U RW default = 'h0 -+// Bit 10 rg_wf_trx_lf_ldo_fc_en_man_mode U RW default = 'h0 -+// Bit 11 rg_wf_trx_lf_ldo_fc_en_man U RW default = 'h0 -+// Bit 16 :12 rg_wf_trx_lf_ldo_vsel U RW default = 'h10 -+// Bit 17 rg_wf_trx_lf_ldo_rc_ctrl U RW default = 'h1 -+// Bit 20 :18 rg_wf_top_dc_test_sel U RW default = 'h0 -+// Bit 23 :21 rg_wf_top_ac_test_sel U RW default = 'h0 -+// Bit 24 rg_wf_top_dc_test_en U RW default = 'h0 -+// Bit 25 rg_wf_top_ac_test_en U RW default = 'h0 -+// Bit 26 rg_wf_top_tx_test_en U RW default = 'h0 -+// Bit 27 rg_wf_top_rx_test_en U RW default = 'h0 -+// Bit 28 rg_wf_top_adc_test_en U RW default = 'h0 -+// Bit 29 rg_wf_top_rcal_test_en U RW default = 'h0 -+// Bit 30 rg_wf_top_xosc_test_en U RW default = 'h0 -+// Bit 31 rg_wf_top_bbpll_test_en U RW default = 'h0 -+typedef union RG_TOP_A3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_TRX_HF_LDO_FC_SEL : 1; -+ unsigned int RG_WF_TRX_HF_LDO_FC_EN_MAN_MODE : 1; -+ unsigned int RG_WF_TRX_HF_LDO_FC_EN_MAN : 1; -+ unsigned int RG_WF_TRX_HF_LDO_VSEL : 5; -+ unsigned int RG_WF_TRX_HF_LDO_RC_CTRL : 1; -+ unsigned int RG_WF_TRX_LF_LDO_FC_SEL : 1; -+ unsigned int RG_WF_TRX_LF_LDO_FC_EN_MAN_MODE : 1; -+ unsigned int RG_WF_TRX_LF_LDO_FC_EN_MAN : 1; -+ unsigned int RG_WF_TRX_LF_LDO_VSEL : 5; -+ unsigned int RG_WF_TRX_LF_LDO_RC_CTRL : 1; -+ unsigned int RG_WF_TOP_DC_TEST_SEL : 3; -+ unsigned int RG_WF_TOP_AC_TEST_SEL : 3; -+ unsigned int RG_WF_TOP_DC_TEST_EN : 1; -+ unsigned int RG_WF_TOP_AC_TEST_EN : 1; -+ unsigned int RG_WF_TOP_TX_TEST_EN : 1; -+ unsigned int RG_WF_TOP_RX_TEST_EN : 1; -+ unsigned int RG_WF_TOP_ADC_TEST_EN : 1; -+ unsigned int RG_WF_TOP_RCAL_TEST_EN : 1; -+ unsigned int RG_WF_TOP_XOSC_TEST_EN : 1; -+ unsigned int RG_WF_TOP_BBPLL_TEST_EN : 1; -+ } b; -+} RG_TOP_A3_FIELD_T; -+ -+#define RG_TOP_A4 (RF_D_TOP_REG_BASE + 0x10) -+// Bit 15 :0 rg_wf_top_reserved0 U RW default = 'h0 -+// Bit 31 :16 rg_wf_top_reserved1 U RW default = 'hffff -+typedef union RG_TOP_A4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_TOP_RESERVED0 : 16; -+ unsigned int RG_WF_TOP_RESERVED1 : 16; -+ } b; -+} RG_TOP_A4_FIELD_T; -+ -+#define RG_TOP_A5 (RF_D_TOP_REG_BASE + 0x14) -+// Bit 0 rg_m0_wf_trx_hf_ldo_en U RW default = 'h0 -+// Bit 1 rg_m0_wf_trx_hf_ldo_tx1_en U RW default = 'h0 -+// Bit 2 rg_m0_wf_trx_hf_ldo_tx2_en U RW default = 'h0 -+// Bit 3 rg_m0_wf_trx_hf_ldo_rxb_en U RW default = 'h0 -+// Bit 4 rg_m0_wf_trx_hf_ldo_rx1_en U RW default = 'h0 -+// Bit 5 rg_m0_wf_trx_hf_ldo_rx2_en U RW default = 'h0 -+// Bit 6 rg_m0_wf_trx_hf_ldo_lo_en U RW default = 'h0 -+// Bit 7 rg_m0_wf_trx_lf_ldo_en U RW default = 'h0 -+// Bit 8 rg_m0_wf_trx_lf_ldo_tx_en U RW default = 'h0 -+// Bit 9 rg_m0_wf_trx_lf_ldo_rx_en U RW default = 'h0 -+typedef union RG_TOP_A5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M0_WF_TRX_HF_LDO_EN : 1; -+ unsigned int RG_M0_WF_TRX_HF_LDO_TX1_EN : 1; -+ unsigned int RG_M0_WF_TRX_HF_LDO_TX2_EN : 1; -+ unsigned int RG_M0_WF_TRX_HF_LDO_RXB_EN : 1; -+ unsigned int RG_M0_WF_TRX_HF_LDO_RX1_EN : 1; -+ unsigned int RG_M0_WF_TRX_HF_LDO_RX2_EN : 1; -+ unsigned int RG_M0_WF_TRX_HF_LDO_LO_EN : 1; -+ unsigned int RG_M0_WF_TRX_LF_LDO_EN : 1; -+ unsigned int RG_M0_WF_TRX_LF_LDO_TX_EN : 1; -+ unsigned int RG_M0_WF_TRX_LF_LDO_RX_EN : 1; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_TOP_A5_FIELD_T; -+ -+#define RG_TOP_A6 (RF_D_TOP_REG_BASE + 0x18) -+// Bit 0 rg_m1_wf_trx_hf_ldo_en U RW default = 'h1 -+// Bit 1 rg_m1_wf_trx_hf_ldo_tx1_en U RW default = 'h0 -+// Bit 2 rg_m1_wf_trx_hf_ldo_tx2_en U RW default = 'h0 -+// Bit 3 rg_m1_wf_trx_hf_ldo_rxb_en U RW default = 'h0 -+// Bit 4 rg_m1_wf_trx_hf_ldo_rx1_en U RW default = 'h0 -+// Bit 5 rg_m1_wf_trx_hf_ldo_rx2_en U RW default = 'h0 -+// Bit 6 rg_m1_wf_trx_hf_ldo_lo_en U RW default = 'h1 -+// Bit 7 rg_m1_wf_trx_lf_ldo_en U RW default = 'h0 -+// Bit 8 rg_m1_wf_trx_lf_ldo_tx_en U RW default = 'h0 -+// Bit 9 rg_m1_wf_trx_lf_ldo_rx_en U RW default = 'h0 -+typedef union RG_TOP_A6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M1_WF_TRX_HF_LDO_EN : 1; -+ unsigned int RG_M1_WF_TRX_HF_LDO_TX1_EN : 1; -+ unsigned int RG_M1_WF_TRX_HF_LDO_TX2_EN : 1; -+ unsigned int RG_M1_WF_TRX_HF_LDO_RXB_EN : 1; -+ unsigned int RG_M1_WF_TRX_HF_LDO_RX1_EN : 1; -+ unsigned int RG_M1_WF_TRX_HF_LDO_RX2_EN : 1; -+ unsigned int RG_M1_WF_TRX_HF_LDO_LO_EN : 1; -+ unsigned int RG_M1_WF_TRX_LF_LDO_EN : 1; -+ unsigned int RG_M1_WF_TRX_LF_LDO_TX_EN : 1; -+ unsigned int RG_M1_WF_TRX_LF_LDO_RX_EN : 1; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_TOP_A6_FIELD_T; -+ -+#define RG_TOP_A7 (RF_D_TOP_REG_BASE + 0x1c) -+// Bit 0 rg_m2_wf_trx_hf_ldo_en U RW default = 'h1 -+// Bit 1 rg_m2_wf_trx_hf_ldo_tx1_en U RW default = 'h1 -+// Bit 2 rg_m2_wf_trx_hf_ldo_tx2_en U RW default = 'h1 -+// Bit 3 rg_m2_wf_trx_hf_ldo_rxb_en U RW default = 'h0 -+// Bit 4 rg_m2_wf_trx_hf_ldo_rx1_en U RW default = 'h0 -+// Bit 5 rg_m2_wf_trx_hf_ldo_rx2_en U RW default = 'h0 -+// Bit 6 rg_m2_wf_trx_hf_ldo_lo_en U RW default = 'h1 -+// Bit 7 rg_m2_wf_trx_lf_ldo_en U RW default = 'h1 -+// Bit 8 rg_m2_wf_trx_lf_ldo_tx_en U RW default = 'h1 -+// Bit 9 rg_m2_wf_trx_lf_ldo_rx_en U RW default = 'h0 -+typedef union RG_TOP_A7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M2_WF_TRX_HF_LDO_EN : 1; -+ unsigned int RG_M2_WF_TRX_HF_LDO_TX1_EN : 1; -+ unsigned int RG_M2_WF_TRX_HF_LDO_TX2_EN : 1; -+ unsigned int RG_M2_WF_TRX_HF_LDO_RXB_EN : 1; -+ unsigned int RG_M2_WF_TRX_HF_LDO_RX1_EN : 1; -+ unsigned int RG_M2_WF_TRX_HF_LDO_RX2_EN : 1; -+ unsigned int RG_M2_WF_TRX_HF_LDO_LO_EN : 1; -+ unsigned int RG_M2_WF_TRX_LF_LDO_EN : 1; -+ unsigned int RG_M2_WF_TRX_LF_LDO_TX_EN : 1; -+ unsigned int RG_M2_WF_TRX_LF_LDO_RX_EN : 1; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_TOP_A7_FIELD_T; -+ -+#define RG_TOP_A8 (RF_D_TOP_REG_BASE + 0x20) -+// Bit 0 rg_m3_wf_trx_hf_ldo_en U RW default = 'h1 -+// Bit 1 rg_m3_wf_trx_hf_ldo_tx1_en U RW default = 'h0 -+// Bit 2 rg_m3_wf_trx_hf_ldo_tx2_en U RW default = 'h0 -+// Bit 3 rg_m3_wf_trx_hf_ldo_rxb_en U RW default = 'h1 -+// Bit 4 rg_m3_wf_trx_hf_ldo_rx1_en U RW default = 'h1 -+// Bit 5 rg_m3_wf_trx_hf_ldo_rx2_en U RW default = 'h1 -+// Bit 6 rg_m3_wf_trx_hf_ldo_lo_en U RW default = 'h1 -+// Bit 7 rg_m3_wf_trx_lf_ldo_en U RW default = 'h1 -+// Bit 8 rg_m3_wf_trx_lf_ldo_tx_en U RW default = 'h0 -+// Bit 9 rg_m3_wf_trx_lf_ldo_rx_en U RW default = 'h1 -+typedef union RG_TOP_A8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M3_WF_TRX_HF_LDO_EN : 1; -+ unsigned int RG_M3_WF_TRX_HF_LDO_TX1_EN : 1; -+ unsigned int RG_M3_WF_TRX_HF_LDO_TX2_EN : 1; -+ unsigned int RG_M3_WF_TRX_HF_LDO_RXB_EN : 1; -+ unsigned int RG_M3_WF_TRX_HF_LDO_RX1_EN : 1; -+ unsigned int RG_M3_WF_TRX_HF_LDO_RX2_EN : 1; -+ unsigned int RG_M3_WF_TRX_HF_LDO_LO_EN : 1; -+ unsigned int RG_M3_WF_TRX_LF_LDO_EN : 1; -+ unsigned int RG_M3_WF_TRX_LF_LDO_TX_EN : 1; -+ unsigned int RG_M3_WF_TRX_LF_LDO_RX_EN : 1; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_TOP_A8_FIELD_T; -+ -+#define RG_TOP_A9 (RF_D_TOP_REG_BASE + 0x40) -+// Bit 0 rg_wf_adda_ldo_lf_rc_ctrl U RW default = 'h0 -+// Bit 1 rg_wf_adda_ldo_rc_modelsel U RW default = 'h0 -+// Bit 6 :2 rg_wf_adda_ldo_vref_adj U RW default = 'h0 -+// Bit 7 rg_wf_adda_ldo_load_en U RW default = 'h0 -+// Bit 23 :8 rg_wf_adda_rsv U RW default = 'h0 -+// Bit 24 rg_wf_dac_bit9_inv U RW default = 'h0 -+// Bit 30 :28 rg_wf_dac_clk_delay_i U RW default = 'h1 -+typedef union RG_TOP_A9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_wf_adda_ldo_lf_rc_ctrl : 1; -+ unsigned int rg_wf_adda_ldo_rc_modelsel : 1; -+ unsigned int rg_wf_adda_ldo_vref_adj : 5; -+ unsigned int rg_wf_adda_ldo_load_en : 1; -+ unsigned int rg_wf_adda_rsv : 16; -+ unsigned int rg_wf_dac_bit9_inv : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_wf_dac_clk_delay_i : 3; -+ unsigned int rsvd_1 : 1; -+ } b; -+} RG_TOP_A9_FIELD_T; -+ -+#define RG_TOP_A11 (RF_D_TOP_REG_BASE + 0x48) -+// Bit 2 :0 rg_wf_dac_clk_delay_q U RW default = 'h1 -+// Bit 6 :3 rg_wf_dac_dcoc_i U RW default = 'h0 -+// Bit 10 :7 rg_wf_dac_dcoc_q U RW default = 'h0 -+// Bit 11 rg_wf_dac_dem_en U RW default = 'h0 -+// Bit 12 rg_wf_dac_driver_adj U RW default = 'h0 -+// Bit 16 :13 rg_wf_dac_op_drive U RW default = 'hf -+// Bit 18 :17 rg_wf_dac_op_ibias U RW default = 'h3 -+// Bit 22 :19 rg_wf_dac_ovcm U RW default = 'h0 -+// Bit 23 rg_wf_dac_fs_sel U RW default = 'h1 -+// Bit 28 :24 rg_wf_dac_rc_adj_i U RW default = 'h8 -+typedef union RG_TOP_A11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_wf_dac_clk_delay_q : 3; -+ unsigned int rg_wf_dac_dcoc_i : 4; -+ unsigned int rg_wf_dac_dcoc_q : 4; -+ unsigned int rg_wf_dac_dem_en : 1; -+ unsigned int rg_wf_dac_driver_adj : 1; -+ unsigned int rg_wf_dac_op_drive : 4; -+ unsigned int rg_wf_dac_op_ibias : 2; -+ unsigned int rg_wf_dac_ovcm : 4; -+ unsigned int rg_wf_dac_fs_sel : 1; -+ unsigned int rg_wf_dac_rc_adj_i : 5; -+ unsigned int rsvd_0 : 3; -+ } b; -+} RG_TOP_A11_FIELD_T; -+ -+#define RG_TOP_A12 (RF_D_TOP_REG_BASE + 0x4c) -+// Bit 4 :0 rg_wf_dac_rc_adj_q U RW default = 'h8 -+// Bit 12 :5 rg_wf_dac_rsv U RW default = 'h86 -+// Bit 15 :13 rg_wf_dac_vimc_i U RW default = 'h0 -+// Bit 18 :16 rg_wf_dac_vimc_q U RW default = 'h0 -+// Bit 20 :19 rg_wf_dac_pole_sel U RW default = 'h0 -+// Bit 21 rg_wf_dac_tia_mux_sel_i U RW default = 'h0 -+// Bit 22 rg_wf_dac_tia_mux_sel_q U RW default = 'h0 -+// Bit 24 :23 rg_wf_radc_bs_sel U RW default = 'h1 -+// Bit 25 rg_wf_radc_c_adj U RW default = 'h0 -+// Bit 28 :26 rg_wf_radc_clk_delay_adj U RW default = 'h1 -+// Bit 29 rg_wf_radc_ref_adj U RW default = 'h0 -+typedef union RG_TOP_A12_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_wf_dac_rc_adj_q : 5; -+ unsigned int rg_wf_dac_rsv : 8; -+ unsigned int rg_wf_dac_vimc_i : 3; -+ unsigned int rg_wf_dac_vimc_q : 3; -+ unsigned int rg_wf_dac_pole_sel : 2; -+ unsigned int rg_wf_dac_tia_mux_sel_i : 1; -+ unsigned int rg_wf_dac_tia_mux_sel_q : 1; -+ unsigned int rg_wf_radc_bs_sel : 2; -+ unsigned int rg_wf_radc_c_adj : 1; -+ unsigned int rg_wf_radc_clk_delay_adj : 3; -+ unsigned int rg_wf_radc_ref_adj : 1; -+ unsigned int rsvd_0 : 2; -+ } b; -+} RG_TOP_A12_FIELD_T; -+ -+#define RG_TOP_A13 (RF_D_TOP_REG_BASE + 0x50) -+// Bit 7 :0 rg_wf_radc_resv U RW default = 'h3 -+// Bit 8 rg_wf_radc_skip_sel U RW default = 'h0 -+// Bit 10 :9 rg_wf_wadc_bs_sel U RW default = 'h2 -+// Bit 11 rg_wf_wadc_ch1_latch U RW default = 'h0 -+// Bit 16 :12 rg_wf_wadc_ch1_os_corr_i_man U RW default = 'h0 -+// Bit 21 :17 rg_wf_wadc_ch1_os_corr_q_man U RW default = 'h0 -+// Bit 22 rg_wf_wadc_ch2_latch U RW default = 'h0 -+// Bit 27 :23 rg_wf_wadc_ch2_os_corr_i_man U RW default = 'h0 -+// Bit 28 rg_wf_wadc_ch_os_corr_man_sel U RW default = 'h1 -+// Bit 29 rg_wf_wadc_force_ch_man_sel U RW default = 'h1 -+typedef union RG_TOP_A13_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_wf_radc_resv : 8; -+ unsigned int rg_wf_radc_skip_sel : 1; -+ unsigned int rg_wf_wadc_bs_sel : 2; -+ unsigned int rg_wf_wadc_ch1_latch : 1; -+ unsigned int rg_wf_wadc_ch1_os_corr_i_man : 5; -+ unsigned int rg_wf_wadc_ch1_os_corr_q_man : 5; -+ unsigned int rg_wf_wadc_ch2_latch : 1; -+ unsigned int rg_wf_wadc_ch2_os_corr_i_man : 5; -+ unsigned int rg_wf_wadc_ch_os_corr_man_sel : 1; -+ unsigned int rg_wf_wadc_force_ch_man_sel : 1; -+ unsigned int rsvd_0 : 2; -+ } b; -+} RG_TOP_A13_FIELD_T; -+ -+#define RG_TOP_A14 (RF_D_TOP_REG_BASE + 0x54) -+// Bit 4 :0 rg_wf_wadc_ch2_os_corr_q_man U RW default = 'h0 -+// Bit 5 rg_wf_wadc_clk_phase U RW default = 'h0 -+// Bit 7 :6 rg_wf_wadc_delay_adj U RW default = 'h0 -+// Bit 8 rg_wf_wadc_div2 U RW default = 'h1 -+// Bit 13 :9 rg_wf_wadc_divn U RW default = 'h0 -+// Bit 14 rg_wf_wadc_fs_sel U RW default = 'h0 -+// Bit 15 rg_wf_wadc_force_ch1_man U RW default = 'h1 -+// Bit 16 rg_wf_wadc_force_ch2_man U RW default = 'h0 -+// Bit 17 rg_wf_wadc_oscorr_en U RW default = 'h0 -+// Bit 18 rg_wf_wadc_clkout_phase U RW default = 'h0 -+// Bit 19 rg_wf_wadc_skip_sel U RW default = 'h0 -+// Bit 21 :20 rg_wf_wadc_waittime U RW default = 'h0 -+// Bit 23 :22 rg_wf_wadc_calctime U RW default = 'h0 -+// Bit 24 rg_wf_adda_ldo_fc U RW default = 'h0 -+typedef union RG_TOP_A14_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_wf_wadc_ch2_os_corr_q_man : 5; -+ unsigned int rg_wf_wadc_clk_phase : 1; -+ unsigned int rg_wf_wadc_delay_adj : 2; -+ unsigned int rg_wf_wadc_div2 : 1; -+ unsigned int rg_wf_wadc_divn : 5; -+ unsigned int rg_wf_wadc_fs_sel : 1; -+ unsigned int rg_wf_wadc_force_ch1_man : 1; -+ unsigned int rg_wf_wadc_force_ch2_man : 1; -+ unsigned int rg_wf_wadc_oscorr_en : 1; -+ unsigned int rg_wf_wadc_clkout_phase : 1; -+ unsigned int rg_wf_wadc_skip_sel : 1; -+ unsigned int rg_wf_wadc_waittime : 2; -+ unsigned int rg_wf_wadc_calctime : 2; -+ unsigned int rg_wf_adda_ldo_fc : 1; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_TOP_A14_FIELD_T; -+ -+#define RG_TOP_A15 (RF_D_TOP_REG_BASE + 0x58) -+// Bit 0 rg_wf_adda_man_mode U RW default = 'h1 -+// Bit 6 :4 rg_wf_dac_ampctrl_man U RW default = 'h4 -+// Bit 12 rg_wf_tx_tia_ibias_en_h U RW default = 'h1 -+// Bit 18 :16 rg_wf_tx_ibias_pata U RW default = 'h0 -+// Bit 22 :20 rg_wf_tx_ibias_zt U RW default = 'h0 -+typedef union RG_TOP_A15_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_wf_adda_man_mode : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int rg_wf_dac_ampctrl_man : 3; -+ unsigned int rsvd_1 : 5; -+ unsigned int rg_wf_tx_tia_ibias_en_h : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int rg_wf_tx_ibias_pata : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int rg_wf_tx_ibias_zt : 3; -+ unsigned int rsvd_4 : 9; -+ } b; -+} RG_TOP_A15_FIELD_T; -+ -+#define RG_TOP_A16 (RF_D_TOP_REG_BASE + 0x5c) -+// Bit 4 :0 ro_wf_wadc_ch1_os_corr_i U RO default = 'h0 -+// Bit 9 :5 ro_wf_wadc_ch1_os_corr_q U RO default = 'h0 -+// Bit 14 :10 ro_wf_wadc_ch2_os_corr_i U RO default = 'h0 -+// Bit 19 :15 ro_wf_wadc_ch2_os_corr_q U RO default = 'h0 -+typedef union RG_TOP_A16_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_wf_wadc_ch1_os_corr_i : 5; -+ unsigned int ro_wf_wadc_ch1_os_corr_q : 5; -+ unsigned int ro_wf_wadc_ch2_os_corr_i : 5; -+ unsigned int ro_wf_wadc_ch2_os_corr_q : 5; -+ unsigned int rsvd_0 : 12; -+ } b; -+} RG_TOP_A16_FIELD_T; -+ -+#define RG_TOP_A17 (RF_D_TOP_REG_BASE + 0x60) -+// Bit 0 rg_m0_wf_adda_ldo_en U RW default = 'h0 -+// Bit 1 rg_m0_wf_dac_enable U RW default = 'h0 -+// Bit 2 rg_m0_wf_radc_en U RW default = 'h0 -+// Bit 3 rg_m0_wf_wadc_enable_i U RW default = 'h0 -+// Bit 4 rg_m0_wf_wadc_enable_q U RW default = 'h0 -+typedef union RG_TOP_A17_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_m0_wf_adda_ldo_en : 1; -+ unsigned int rg_m0_wf_dac_enable : 1; -+ unsigned int rg_m0_wf_radc_en : 1; -+ unsigned int rg_m0_wf_wadc_enable_i : 1; -+ unsigned int rg_m0_wf_wadc_enable_q : 1; -+ unsigned int rsvd_0 : 27; -+ } b; -+} RG_TOP_A17_FIELD_T; -+ -+#define RG_TOP_A18 (RF_D_TOP_REG_BASE + 0x64) -+// Bit 0 rg_m1_wf_adda_ldo_en U RW default = 'h0 -+// Bit 1 rg_m1_wf_dac_enable U RW default = 'h0 -+// Bit 2 rg_m1_wf_radc_en U RW default = 'h0 -+// Bit 3 rg_m1_wf_wadc_enable_i U RW default = 'h0 -+// Bit 4 rg_m1_wf_wadc_enable_q U RW default = 'h0 -+typedef union RG_TOP_A18_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_m1_wf_adda_ldo_en : 1; -+ unsigned int rg_m1_wf_dac_enable : 1; -+ unsigned int rg_m1_wf_radc_en : 1; -+ unsigned int rg_m1_wf_wadc_enable_i : 1; -+ unsigned int rg_m1_wf_wadc_enable_q : 1; -+ unsigned int rsvd_0 : 27; -+ } b; -+} RG_TOP_A18_FIELD_T; -+ -+#define RG_TOP_A19 (RF_D_TOP_REG_BASE + 0x68) -+// Bit 0 rg_m2_wf_adda_ldo_en U RW default = 'h1 -+// Bit 1 rg_m2_wf_dac_enable U RW default = 'h1 -+// Bit 2 rg_m2_wf_radc_en U RW default = 'h0 -+// Bit 3 rg_m2_wf_wadc_enable_i U RW default = 'h0 -+// Bit 4 rg_m2_wf_wadc_enable_q U RW default = 'h0 -+typedef union RG_TOP_A19_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_m2_wf_adda_ldo_en : 1; -+ unsigned int rg_m2_wf_dac_enable : 1; -+ unsigned int rg_m2_wf_radc_en : 1; -+ unsigned int rg_m2_wf_wadc_enable_i : 1; -+ unsigned int rg_m2_wf_wadc_enable_q : 1; -+ unsigned int rsvd_0 : 27; -+ } b; -+} RG_TOP_A19_FIELD_T; -+ -+#define RG_TOP_A20 (RF_D_TOP_REG_BASE + 0x6c) -+// Bit 0 rg_m3_wf_adda_ldo_en U RW default = 'h1 -+// Bit 1 rg_m3_wf_dac_enable U RW default = 'h0 -+// Bit 2 rg_m3_wf_radc_en U RW default = 'h1 -+// Bit 3 rg_m3_wf_wadc_enable_i U RW default = 'h1 -+// Bit 4 rg_m3_wf_wadc_enable_q U RW default = 'h1 -+typedef union RG_TOP_A20_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_m3_wf_adda_ldo_en : 1; -+ unsigned int rg_m3_wf_dac_enable : 1; -+ unsigned int rg_m3_wf_radc_en : 1; -+ unsigned int rg_m3_wf_wadc_enable_i : 1; -+ unsigned int rg_m3_wf_wadc_enable_q : 1; -+ unsigned int rsvd_0 : 27; -+ } b; -+} RG_TOP_A20_FIELD_T; -+ -+#define RG_TOP_A21 (RF_D_TOP_REG_BASE + 0x70) -+// Bit 0 rg_m4_wf_adda_ldo_en U RW default = 'h1 -+// Bit 1 rg_m4_wf_dac_enable U RW default = 'h1 -+// Bit 2 rg_m4_wf_radc_en U RW default = 'h0 -+// Bit 3 rg_m4_wf_wadc_enable_i U RW default = 'h1 -+// Bit 4 rg_m4_wf_wadc_enable_q U RW default = 'h1 -+typedef union RG_TOP_A21_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_m4_wf_adda_ldo_en : 1; -+ unsigned int rg_m4_wf_dac_enable : 1; -+ unsigned int rg_m4_wf_radc_en : 1; -+ unsigned int rg_m4_wf_wadc_enable_i : 1; -+ unsigned int rg_m4_wf_wadc_enable_q : 1; -+ unsigned int rsvd_0 : 27; -+ } b; -+} RG_TOP_A21_FIELD_T; -+ -+#define RG_TOP_A22 (RF_D_TOP_REG_BASE + 0x74) -+// Bit 0 rg_m5_wf_adda_ldo_en U RW default = 'h0 -+// Bit 1 rg_m5_wf_dac_enable U RW default = 'h0 -+// Bit 2 rg_m5_wf_radc_en U RW default = 'h0 -+// Bit 3 rg_m5_wf_wadc_enable_i U RW default = 'h0 -+// Bit 4 rg_m5_wf_wadc_enable_q U RW default = 'h0 -+typedef union RG_TOP_A22_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_m5_wf_adda_ldo_en : 1; -+ unsigned int rg_m5_wf_dac_enable : 1; -+ unsigned int rg_m5_wf_radc_en : 1; -+ unsigned int rg_m5_wf_wadc_enable_i : 1; -+ unsigned int rg_m5_wf_wadc_enable_q : 1; -+ unsigned int rsvd_0 : 27; -+ } b; -+} RG_TOP_A22_FIELD_T; -+ -+#define RG_TOP_A23 (RF_D_TOP_REG_BASE + 0x78) -+// Bit 0 rg_m6_wf_adda_ldo_en U RW default = 'h1 -+// Bit 1 rg_m6_wf_dac_enable U RW default = 'h1 -+// Bit 2 rg_m6_wf_radc_en U RW default = 'h0 -+// Bit 3 rg_m6_wf_wadc_enable_i U RW default = 'h0 -+// Bit 4 rg_m6_wf_wadc_enable_q U RW default = 'h0 -+typedef union RG_TOP_A23_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_m6_wf_adda_ldo_en : 1; -+ unsigned int rg_m6_wf_dac_enable : 1; -+ unsigned int rg_m6_wf_radc_en : 1; -+ unsigned int rg_m6_wf_wadc_enable_i : 1; -+ unsigned int rg_m6_wf_wadc_enable_q : 1; -+ unsigned int rsvd_0 : 27; -+ } b; -+} RG_TOP_A23_FIELD_T; -+ -+#define RG_TOP_A24 (RF_D_TOP_REG_BASE + 0x7c) -+// Bit 0 rg_m7_wf_adda_ldo_en U RW default = 'h1 -+// Bit 1 rg_m7_wf_dac_enable U RW default = 'h0 -+// Bit 2 rg_m7_wf_radc_en U RW default = 'h1 -+// Bit 3 rg_m7_wf_wadc_enable_i U RW default = 'h1 -+// Bit 4 rg_m7_wf_wadc_enable_q U RW default = 'h1 -+typedef union RG_TOP_A24_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rg_m7_wf_adda_ldo_en : 1; -+ unsigned int rg_m7_wf_dac_enable : 1; -+ unsigned int rg_m7_wf_radc_en : 1; -+ unsigned int rg_m7_wf_wadc_enable_i : 1; -+ unsigned int rg_m7_wf_wadc_enable_q : 1; -+ unsigned int rsvd_0 : 27; -+ } b; -+} RG_TOP_A24_FIELD_T; -+ -+#define RG_TOP_A27 (RF_D_TOP_REG_BASE + 0x88) -+// Bit 0 rg_m4_wf_trx_hf_ldo_en U RW default = 'h1 -+// Bit 1 rg_m4_wf_trx_hf_ldo_tx1_en U RW default = 'h1 -+// Bit 2 rg_m4_wf_trx_hf_ldo_tx2_en U RW default = 'h1 -+// Bit 3 rg_m4_wf_trx_hf_ldo_rxb_en U RW default = 'h1 -+// Bit 4 rg_m4_wf_trx_hf_ldo_rx1_en U RW default = 'h1 -+// Bit 5 rg_m4_wf_trx_hf_ldo_rx2_en U RW default = 'h1 -+// Bit 6 rg_m4_wf_trx_hf_ldo_lo_en U RW default = 'h1 -+// Bit 7 rg_m4_wf_trx_lf_ldo_en U RW default = 'h1 -+// Bit 8 rg_m4_wf_trx_lf_ldo_tx_en U RW default = 'h1 -+// Bit 9 rg_m4_wf_trx_lf_ldo_rx_en U RW default = 'h1 -+typedef union RG_TOP_A27_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M4_WF_TRX_HF_LDO_EN : 1; -+ unsigned int RG_M4_WF_TRX_HF_LDO_TX1_EN : 1; -+ unsigned int RG_M4_WF_TRX_HF_LDO_TX2_EN : 1; -+ unsigned int RG_M4_WF_TRX_HF_LDO_RXB_EN : 1; -+ unsigned int RG_M4_WF_TRX_HF_LDO_RX1_EN : 1; -+ unsigned int RG_M4_WF_TRX_HF_LDO_RX2_EN : 1; -+ unsigned int RG_M4_WF_TRX_HF_LDO_LO_EN : 1; -+ unsigned int RG_M4_WF_TRX_LF_LDO_EN : 1; -+ unsigned int RG_M4_WF_TRX_LF_LDO_TX_EN : 1; -+ unsigned int RG_M4_WF_TRX_LF_LDO_RX_EN : 1; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_TOP_A27_FIELD_T; -+ -+#define RG_TOP_A28 (RF_D_TOP_REG_BASE + 0x8c) -+// Bit 0 rg_m5_wf_trx_hf_ldo_en U RW default = 'h1 -+// Bit 1 rg_m5_wf_trx_hf_ldo_tx1_en U RW default = 'h0 -+// Bit 2 rg_m5_wf_trx_hf_ldo_tx2_en U RW default = 'h0 -+// Bit 3 rg_m5_wf_trx_hf_ldo_rxb_en U RW default = 'h0 -+// Bit 4 rg_m5_wf_trx_hf_ldo_rx1_en U RW default = 'h0 -+// Bit 5 rg_m5_wf_trx_hf_ldo_rx2_en U RW default = 'h0 -+// Bit 6 rg_m5_wf_trx_hf_ldo_lo_en U RW default = 'h1 -+// Bit 7 rg_m5_wf_trx_lf_ldo_en U RW default = 'h0 -+// Bit 8 rg_m5_wf_trx_lf_ldo_tx_en U RW default = 'h0 -+// Bit 9 rg_m5_wf_trx_lf_ldo_rx_en U RW default = 'h0 -+typedef union RG_TOP_A28_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M5_WF_TRX_HF_LDO_EN : 1; -+ unsigned int RG_M5_WF_TRX_HF_LDO_TX1_EN : 1; -+ unsigned int RG_M5_WF_TRX_HF_LDO_TX2_EN : 1; -+ unsigned int RG_M5_WF_TRX_HF_LDO_RXB_EN : 1; -+ unsigned int RG_M5_WF_TRX_HF_LDO_RX1_EN : 1; -+ unsigned int RG_M5_WF_TRX_HF_LDO_RX2_EN : 1; -+ unsigned int RG_M5_WF_TRX_HF_LDO_LO_EN : 1; -+ unsigned int RG_M5_WF_TRX_LF_LDO_EN : 1; -+ unsigned int RG_M5_WF_TRX_LF_LDO_TX_EN : 1; -+ unsigned int RG_M5_WF_TRX_LF_LDO_RX_EN : 1; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_TOP_A28_FIELD_T; -+ -+#define RG_TOP_A29 (RF_D_TOP_REG_BASE + 0x90) -+// Bit 0 rg_m6_wf_trx_hf_ldo_en U RW default = 'h1 -+// Bit 1 rg_m6_wf_trx_hf_ldo_tx1_en U RW default = 'h1 -+// Bit 2 rg_m6_wf_trx_hf_ldo_tx2_en U RW default = 'h1 -+// Bit 3 rg_m6_wf_trx_hf_ldo_rxb_en U RW default = 'h0 -+// Bit 4 rg_m6_wf_trx_hf_ldo_rx1_en U RW default = 'h0 -+// Bit 5 rg_m6_wf_trx_hf_ldo_rx2_en U RW default = 'h0 -+// Bit 6 rg_m6_wf_trx_hf_ldo_lo_en U RW default = 'h1 -+// Bit 7 rg_m6_wf_trx_lf_ldo_en U RW default = 'h1 -+// Bit 8 rg_m6_wf_trx_lf_ldo_tx_en U RW default = 'h1 -+// Bit 9 rg_m6_wf_trx_lf_ldo_rx_en U RW default = 'h0 -+typedef union RG_TOP_A29_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M6_WF_TRX_HF_LDO_EN : 1; -+ unsigned int RG_M6_WF_TRX_HF_LDO_TX1_EN : 1; -+ unsigned int RG_M6_WF_TRX_HF_LDO_TX2_EN : 1; -+ unsigned int RG_M6_WF_TRX_HF_LDO_RXB_EN : 1; -+ unsigned int RG_M6_WF_TRX_HF_LDO_RX1_EN : 1; -+ unsigned int RG_M6_WF_TRX_HF_LDO_RX2_EN : 1; -+ unsigned int RG_M6_WF_TRX_HF_LDO_LO_EN : 1; -+ unsigned int RG_M6_WF_TRX_LF_LDO_EN : 1; -+ unsigned int RG_M6_WF_TRX_LF_LDO_TX_EN : 1; -+ unsigned int RG_M6_WF_TRX_LF_LDO_RX_EN : 1; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_TOP_A29_FIELD_T; -+ -+#define RG_TOP_A30 (RF_D_TOP_REG_BASE + 0x94) -+// Bit 0 rg_m7_wf_trx_hf_ldo_en U RW default = 'h1 -+// Bit 1 rg_m7_wf_trx_hf_ldo_tx1_en U RW default = 'h0 -+// Bit 2 rg_m7_wf_trx_hf_ldo_tx2_en U RW default = 'h0 -+// Bit 3 rg_m7_wf_trx_hf_ldo_rxb_en U RW default = 'h1 -+// Bit 4 rg_m7_wf_trx_hf_ldo_rx1_en U RW default = 'h1 -+// Bit 5 rg_m7_wf_trx_hf_ldo_rx2_en U RW default = 'h1 -+// Bit 6 rg_m7_wf_trx_hf_ldo_lo_en U RW default = 'h1 -+// Bit 7 rg_m7_wf_trx_lf_ldo_en U RW default = 'h1 -+// Bit 8 rg_m7_wf_trx_lf_ldo_tx_en U RW default = 'h0 -+// Bit 9 rg_m7_wf_trx_lf_ldo_rx_en U RW default = 'h1 -+typedef union RG_TOP_A30_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M7_WF_TRX_HF_LDO_EN : 1; -+ unsigned int RG_M7_WF_TRX_HF_LDO_TX1_EN : 1; -+ unsigned int RG_M7_WF_TRX_HF_LDO_TX2_EN : 1; -+ unsigned int RG_M7_WF_TRX_HF_LDO_RXB_EN : 1; -+ unsigned int RG_M7_WF_TRX_HF_LDO_RX1_EN : 1; -+ unsigned int RG_M7_WF_TRX_HF_LDO_RX2_EN : 1; -+ unsigned int RG_M7_WF_TRX_HF_LDO_LO_EN : 1; -+ unsigned int RG_M7_WF_TRX_LF_LDO_EN : 1; -+ unsigned int RG_M7_WF_TRX_LF_LDO_TX_EN : 1; -+ unsigned int RG_M7_WF_TRX_LF_LDO_RX_EN : 1; -+ unsigned int rsvd_0 : 22; -+ } b; -+} RG_TOP_A30_FIELD_T; -+ -+#define RG_TOP_A31 (RF_D_TOP_REG_BASE + 0x98) -+// Bit 31 :0 rg_wf_ad_inv U RW default = 'h0 -+typedef union RG_TOP_A31_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_AD_INV : 32; -+ } b; -+} RG_TOP_A31_FIELD_T; -+ -+#define RG_TOP_A32 (RF_D_TOP_REG_BASE + 0x9c) -+// Bit 23 :0 ro_wf_top_ad_monitor U RO default = 'h0 -+typedef union RG_TOP_A32_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_WF_TOP_AD_MONITOR : 24; -+ unsigned int rsvd_0 : 8; -+ } b; -+} RG_TOP_A32_FIELD_T; -+ -+#define RG_TOP_A33 (RF_D_TOP_REG_BASE + 0xa0) -+// Bit 1 :0 rg_wf_trx_ldo_fc_cnt U RW default = 'h0 -+typedef union RG_TOP_A33_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_TRX_LDO_FC_CNT : 2; -+ unsigned int rsvd_0 : 30; -+ } b; -+} RG_TOP_A33_FIELD_T; -+ -+#define RG_TOP_A34 (RF_D_TOP_REG_BASE + 0xa4) -+// Bit 1 :0 ro_hw_wf_trx_mode U RO default = 'h0 -+// Bit 11 :4 ro_hw_wf_rx_gain U RO default = 'h0 -+// Bit 13 :12 ro_hw_wf_bw U RO default = 'h0 -+// Bit 23 :16 ro_hw_wf_tx_gain U RO default = 'h0 -+// Bit 24 ro_hw_wf_agc_lock U RO default = 'h0 -+typedef union RG_TOP_A34_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RO_HW_WF_TRX_MODE : 2; -+ unsigned int rsvd_0 : 2; -+ unsigned int RO_HW_WF_RX_GAIN : 8; -+ unsigned int RO_HW_WF_BW : 2; -+ unsigned int rsvd_1 : 2; -+ unsigned int RO_HW_WF_TX_GAIN : 8; -+ unsigned int RO_HW_WF_AGC_LOCK : 1; -+ unsigned int rsvd_2 : 7; -+ } b; -+} RG_TOP_A34_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/rf_d_tx_reg.h b/drivers/net/wireless/w1/common/rf_d_tx_reg.h -new file mode 100644 -index 000000000000..4392b1f1e92c ---- /dev/null -+++ b/drivers/net/wireless/w1/common/rf_d_tx_reg.h -@@ -0,0 +1,430 @@ -+#ifdef RF_D_TX_REG -+#else -+#define RF_D_TX_REG -+ -+ -+#define RF_D_TX_REG_BASE (0x800) -+ -+#define RG_TX_A0 (RF_D_TX_REG_BASE + 0x0) -+// Bit 2 :0 rg_wf5g_tx_pa_vgcg0 U RW default = 'h4 -+// Bit 6 :4 rg_wf5g_tx_mxr_vgcg1 U RW default = 'h3 -+// Bit 10 :8 rg_wf5g_tx_mxr_lo_vb U RW default = 'h3 -+// Bit 14 :12 rg_wf5g_tx_mxr_lobuf_ict U RW default = 'h4 -+typedef union RG_TX_A0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_TX_PA_VGCG0 : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_TX_MXR_VGCG1 : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_TX_MXR_LO_VB : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_TX_MXR_LOBUF_ICT : 3; -+ unsigned int rsvd_3 : 17; -+ } b; -+} RG_TX_A0_FIELD_T; -+ -+#define RG_TX_A1 (RF_D_TX_REG_BASE + 0x4) -+// Bit 2 :0 rg_wf5g_tx_adb_cbank U RW default = 'h7 -+// Bit 6 :3 rg_wf5g_tx_adb_dc U RW default = 'h4 -+// Bit 10 :7 rg_wf5g_tx_adb_vb_ct U RW default = 'h0 -+// Bit 11 rg_wf5g_tx_adb_en U RW default = 'h1 -+// Bit 12 rg_wf5g_tx_adb_ed_en U RW default = 'h1 -+// Bit 16 :13 rg_wf5g_tx_adb_ed_gain U RW default = 'h4 -+// Bit 19 :17 rg_wf5g_tx_adb_icgm U RW default = 'h3 -+// Bit 22 :20 rg_wf5g_tx_adb_iptat U RW default = 'h0 -+// Bit 25 :23 rg_wf5g_tx_ib_adj U RW default = 'h0 -+typedef union RG_TX_A1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_TX_ADB_CBANK : 3; -+ unsigned int RG_WF5G_TX_ADB_DC : 4; -+ unsigned int RG_WF5G_TX_ADB_VB_CT : 4; -+ unsigned int RG_WF5G_TX_ADB_EN : 1; -+ unsigned int RG_WF5G_TX_ADB_ED_EN : 1; -+ unsigned int RG_WF5G_TX_ADB_ED_GAIN : 4; -+ unsigned int RG_WF5G_TX_ADB_ICGM : 3; -+ unsigned int RG_WF5G_TX_ADB_IPTAT : 3; -+ unsigned int RG_WF5G_TX_IB_ADJ : 3; -+ unsigned int rsvd_0 : 6; -+ } b; -+} RG_TX_A1_FIELD_T; -+ -+#define RG_TX_A2 (RF_D_TX_REG_BASE + 0x8) -+// Bit 0 rg_wf5g_tx_tssi_en U RW default = 'h0 -+// Bit 3 :1 rg_wf5g_tx_tssi_attn U RW default = 'h7 -+// Bit 6 :4 rg_wf5g_tx_tssi_lo_vb U RW default = 'h3 -+// Bit 7 rg_wf5g_tx_iqcal_en U RW default = 'h0 -+// Bit 8 rg_wf5g_tx_rxiqcal_en U RW default = 'h0 -+// Bit 16 :9 rg_wf5g_tx_tp_sel U RW default = 'h0 -+// Bit 17 rg_wf5g_tx_tp_en U RW default = 'h0 -+// Bit 20 :18 rg_wf5g_tx_pa_gain_man U RW default = 'h7 -+// Bit 23 :21 rg_wf5g_tx_mxr_gain_man U RW default = 'h7 -+// Bit 24 rg_wf5g_tx_man_mode U RW default = 'h0 -+typedef union RG_TX_A2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_TX_TSSI_EN : 1; -+ unsigned int RG_WF5G_TX_TSSI_ATTN : 3; -+ unsigned int RG_WF5G_TX_TSSI_LO_VB : 3; -+ unsigned int RG_WF5G_TX_IQCAL_EN : 1; -+ unsigned int RG_WF5G_TX_RXIQCAL_EN : 1; -+ unsigned int RG_WF5G_TX_TP_SEL : 8; -+ unsigned int RG_WF5G_TX_TP_EN : 1; -+ unsigned int RG_WF5G_TX_PA_GAIN_MAN : 3; -+ unsigned int RG_WF5G_TX_MXR_GAIN_MAN : 3; -+ unsigned int RG_WF5G_TX_MAN_MODE : 1; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_TX_A2_FIELD_T; -+ -+#define RG_TX_A3 (RF_D_TX_REG_BASE + 0xc) -+// Bit 0 rg_m0_wf5g_tx_pa_en U RW default = 'h0 -+// Bit 1 rg_m0_wf5g_tx_mxr_en U RW default = 'h0 -+// Bit 2 rg_m0_wf5g_tx_ib_en U RW default = 'h0 -+// Bit 3 rg_m1_wf5g_tx_pa_en U RW default = 'h0 -+// Bit 4 rg_m1_wf5g_tx_mxr_en U RW default = 'h0 -+// Bit 5 rg_m1_wf5g_tx_ib_en U RW default = 'h0 -+// Bit 6 rg_m2_wf5g_tx_pa_en U RW default = 'h1 -+// Bit 7 rg_m2_wf5g_tx_mxr_en U RW default = 'h1 -+// Bit 8 rg_m2_wf5g_tx_ib_en U RW default = 'h1 -+// Bit 9 rg_m3_wf5g_tx_pa_en U RW default = 'h0 -+// Bit 10 rg_m3_wf5g_tx_mxr_en U RW default = 'h0 -+// Bit 11 rg_m3_wf5g_tx_ib_en U RW default = 'h0 -+// Bit 31 :16 rg_wf5g_tx_rsv U RW default = 'h0 -+typedef union RG_TX_A3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M0_WF5G_TX_PA_EN : 1; -+ unsigned int RG_M0_WF5G_TX_MXR_EN : 1; -+ unsigned int RG_M0_WF5G_TX_IB_EN : 1; -+ unsigned int RG_M1_WF5G_TX_PA_EN : 1; -+ unsigned int RG_M1_WF5G_TX_MXR_EN : 1; -+ unsigned int RG_M1_WF5G_TX_IB_EN : 1; -+ unsigned int RG_M2_WF5G_TX_PA_EN : 1; -+ unsigned int RG_M2_WF5G_TX_MXR_EN : 1; -+ unsigned int RG_M2_WF5G_TX_IB_EN : 1; -+ unsigned int RG_M3_WF5G_TX_PA_EN : 1; -+ unsigned int RG_M3_WF5G_TX_MXR_EN : 1; -+ unsigned int RG_M3_WF5G_TX_IB_EN : 1; -+ unsigned int rsvd_0 : 4; -+ unsigned int RG_WF5G_TX_RSV : 16; -+ } b; -+} RG_TX_A3_FIELD_T; -+ -+#define RG_TX_A4 (RF_D_TX_REG_BASE + 0x10) -+// Bit 2 :0 rg_wf2g_tx_pa_vgcg0 U RW default = 'h7 -+// Bit 7 :3 rg_wf2g_tx_mxr_cbank U RW default = 'h4 -+// Bit 10 :8 rg_wf2g_tx_mxr_vgcg1 U RW default = 'h7 -+// Bit 13 :11 rg_wf2g_tx_mxr_lo_vb U RW default = 'h7 -+// Bit 16 :14 rg_wf2g_tx_mxr_lobuf_ict U RW default = 'h1 -+// Bit 20 :17 rg_wf2g_tx_var_u U RW default = 'h8 -+// Bit 24 :21 rg_wf2g_tx_var_d U RW default = 'h8 -+typedef union RG_TX_A4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_TX_PA_VGCG0 : 3; -+ unsigned int RG_WF2G_TX_MXR_CBANK : 5; -+ unsigned int RG_WF2G_TX_MXR_VGCG1 : 3; -+ unsigned int RG_WF2G_TX_MXR_LO_VB : 3; -+ unsigned int RG_WF2G_TX_MXR_LOBUF_ICT : 3; -+ unsigned int RG_WF2G_TX_VAR_U : 4; -+ unsigned int RG_WF2G_TX_VAR_D : 4; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_TX_A4_FIELD_T; -+ -+#define RG_TX_A5 (RF_D_TX_REG_BASE + 0x14) -+// Bit 2 :0 rg_wf2g_tx_adb_cbank U RW default = 'h3 -+// Bit 6 :3 rg_wf2g_tx_adb_dcib U RW default = 'h0 -+// Bit 10 :7 rg_wf2g_tx_adb_dcvb U RW default = 'h0 -+// Bit 11 rg_wf2g_tx_adb_en U RW default = 'h1 -+// Bit 12 rg_wf2g_tx_adb_ed_en U RW default = 'h1 -+// Bit 16 :13 rg_wf2g_tx_adb_ed_gain U RW default = 'h3 -+// Bit 19 :17 rg_wf2g_tx_adb_icgm U RW default = 'h2 -+// Bit 22 :20 rg_wf2g_tx_adb_iptat U RW default = 'h2 -+// Bit 25 :23 rg_wf2g_tx_ib_adj U RW default = 'h3 -+// Bit 26 rg_wf2g_tx_tssi_en U RW default = 'h0 -+// Bit 29 :27 rg_wf2g_tx_tssi_attn U RW default = 'h7 -+typedef union RG_TX_A5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_TX_ADB_CBANK : 3; -+ unsigned int RG_WF2G_TX_ADB_DCIB : 4; -+ unsigned int RG_WF2G_TX_ADB_DCVB : 4; -+ unsigned int RG_WF2G_TX_ADB_EN : 1; -+ unsigned int RG_WF2G_TX_ADB_ED_EN : 1; -+ unsigned int RG_WF2G_TX_ADB_ED_GAIN : 4; -+ unsigned int RG_WF2G_TX_ADB_ICGM : 3; -+ unsigned int RG_WF2G_TX_ADB_IPTAT : 3; -+ unsigned int RG_WF2G_TX_IB_ADJ : 3; -+ unsigned int RG_WF2G_TX_TSSI_EN : 1; -+ unsigned int RG_WF2G_TX_TSSI_ATTN : 3; -+ unsigned int rsvd_0 : 2; -+ } b; -+} RG_TX_A5_FIELD_T; -+ -+#define RG_TX_A6 (RF_D_TX_REG_BASE + 0x18) -+// Bit 2 :0 rg_wf2g_tx_tssi_lo_vb U RW default = 'h3 -+// Bit 3 rg_wf2g_tx_iqcal_en U RW default = 'h0 -+// Bit 4 rg_wf2g_tx_rxiqcal_en U RW default = 'h0 -+// Bit 12 :5 rg_wf2g_tx_tp_sel U RW default = 'h0 -+// Bit 13 rg_wf2g_tx_tp_en U RW default = 'h0 -+// Bit 16 :14 rg_wf2g_tx_pa_gain_man U RW default = 'h7 -+// Bit 19 :17 rg_wf2g_tx_mxr_gain_man U RW default = 'h7 -+// Bit 20 rg_wf2g_tx_man_mode U RW default = 'h0 -+typedef union RG_TX_A6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_TX_TSSI_LO_VB : 3; -+ unsigned int RG_WF2G_TX_IQCAL_EN : 1; -+ unsigned int RG_WF2G_TX_RXIQCAL_EN : 1; -+ unsigned int RG_WF2G_TX_TP_SEL : 8; -+ unsigned int RG_WF2G_TX_TP_EN : 1; -+ unsigned int RG_WF2G_TX_PA_GAIN_MAN : 3; -+ unsigned int RG_WF2G_TX_MXR_GAIN_MAN : 3; -+ unsigned int RG_WF2G_TX_MAN_MODE : 1; -+ unsigned int rsvd_0 : 11; -+ } b; -+} RG_TX_A6_FIELD_T; -+ -+#define RG_TX_A7 (RF_D_TX_REG_BASE + 0x1c) -+// Bit 0 rg_m0_wf2g_tx_pa_en U RW default = 'h0 -+// Bit 1 rg_m0_wf2g_tx_mxr_en U RW default = 'h0 -+// Bit 2 rg_m0_wf2g_tx_var_en U RW default = 'h0 -+// Bit 3 rg_m0_wf2g_tx_ib_en U RW default = 'h0 -+// Bit 4 rg_m1_wf2g_tx_pa_en U RW default = 'h0 -+// Bit 5 rg_m1_wf2g_tx_mxr_en U RW default = 'h0 -+// Bit 6 rg_m1_wf2g_tx_var_en U RW default = 'h0 -+// Bit 7 rg_m1_wf2g_tx_ib_en U RW default = 'h0 -+// Bit 8 rg_m2_wf2g_tx_pa_en U RW default = 'h0 -+// Bit 9 rg_m2_wf2g_tx_mxr_en U RW default = 'h0 -+// Bit 10 rg_m2_wf2g_tx_var_en U RW default = 'h0 -+// Bit 11 rg_m2_wf2g_tx_ib_en U RW default = 'h0 -+// Bit 12 rg_m3_wf2g_tx_pa_en U RW default = 'h0 -+// Bit 13 rg_m3_wf2g_tx_mxr_en U RW default = 'h0 -+// Bit 14 rg_m3_wf2g_tx_var_en U RW default = 'h0 -+// Bit 15 rg_m3_wf2g_tx_ib_en U RW default = 'h0 -+// Bit 31 :16 rg_wf2g_tx_rsv U RW default = 'h0 -+typedef union RG_TX_A7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M0_WF2G_TX_PA_EN : 1; -+ unsigned int RG_M0_WF2G_TX_MXR_EN : 1; -+ unsigned int RG_M0_WF2G_TX_VAR_EN : 1; -+ unsigned int RG_M0_WF2G_TX_IB_EN : 1; -+ unsigned int RG_M1_WF2G_TX_PA_EN : 1; -+ unsigned int RG_M1_WF2G_TX_MXR_EN : 1; -+ unsigned int RG_M1_WF2G_TX_VAR_EN : 1; -+ unsigned int RG_M1_WF2G_TX_IB_EN : 1; -+ unsigned int RG_M2_WF2G_TX_PA_EN : 1; -+ unsigned int RG_M2_WF2G_TX_MXR_EN : 1; -+ unsigned int RG_M2_WF2G_TX_VAR_EN : 1; -+ unsigned int RG_M2_WF2G_TX_IB_EN : 1; -+ unsigned int RG_M3_WF2G_TX_PA_EN : 1; -+ unsigned int RG_M3_WF2G_TX_MXR_EN : 1; -+ unsigned int RG_M3_WF2G_TX_VAR_EN : 1; -+ unsigned int RG_M3_WF2G_TX_IB_EN : 1; -+ unsigned int RG_WF2G_TX_RSV : 16; -+ } b; -+} RG_TX_A7_FIELD_T; -+ -+#define RG_TX_A8 (RF_D_TX_REG_BASE + 0x20) -+// Bit 2 :0 rg_wf5g_tx_pa_gain_g1 U RW default = 'h7 -+// Bit 6 :4 rg_wf5g_tx_pa_gain_g2 U RW default = 'h7 -+// Bit 10 :8 rg_wf5g_tx_pa_gain_g3 U RW default = 'h3 -+// Bit 14 :12 rg_wf5g_tx_pa_gain_g4 U RW default = 'h1 -+// Bit 18 :16 rg_wf5g_tx_mxr_gain_g1 U RW default = 'h7 -+// Bit 22 :20 rg_wf5g_tx_mxr_gain_g2 U RW default = 'h7 -+// Bit 26 :24 rg_wf5g_tx_mxr_gain_g3 U RW default = 'h3 -+// Bit 30 :28 rg_wf5g_tx_mxr_gain_g4 U RW default = 'h1 -+typedef union RG_TX_A8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_TX_PA_GAIN_G1 : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF5G_TX_PA_GAIN_G2 : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF5G_TX_PA_GAIN_G3 : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF5G_TX_PA_GAIN_G4 : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF5G_TX_MXR_GAIN_G1 : 3; -+ unsigned int rsvd_4 : 1; -+ unsigned int RG_WF5G_TX_MXR_GAIN_G2 : 3; -+ unsigned int rsvd_5 : 1; -+ unsigned int RG_WF5G_TX_MXR_GAIN_G3 : 3; -+ unsigned int rsvd_6 : 1; -+ unsigned int RG_WF5G_TX_MXR_GAIN_G4 : 3; -+ unsigned int rsvd_7 : 1; -+ } b; -+} RG_TX_A8_FIELD_T; -+ -+#define RG_TX_A9 (RF_D_TX_REG_BASE + 0x24) -+// Bit 2 :0 rg_wf2g_tx_pa_gain_g1 U RW default = 'h7 -+// Bit 6 :4 rg_wf2g_tx_pa_gain_g2 U RW default = 'h7 -+// Bit 10 :8 rg_wf2g_tx_pa_gain_g3 U RW default = 'h3 -+// Bit 14 :12 rg_wf2g_tx_pa_gain_g4 U RW default = 'h1 -+// Bit 18 :16 rg_wf2g_tx_mxr_gain_g1 U RW default = 'h7 -+// Bit 22 :20 rg_wf2g_tx_mxr_gain_g2 U RW default = 'h7 -+// Bit 26 :24 rg_wf2g_tx_mxr_gain_g3 U RW default = 'h3 -+// Bit 30 :28 rg_wf2g_tx_mxr_gain_g4 U RW default = 'h1 -+typedef union RG_TX_A9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF2G_TX_PA_GAIN_G1 : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_WF2G_TX_PA_GAIN_G2 : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int RG_WF2G_TX_PA_GAIN_G3 : 3; -+ unsigned int rsvd_2 : 1; -+ unsigned int RG_WF2G_TX_PA_GAIN_G4 : 3; -+ unsigned int rsvd_3 : 1; -+ unsigned int RG_WF2G_TX_MXR_GAIN_G1 : 3; -+ unsigned int rsvd_4 : 1; -+ unsigned int RG_WF2G_TX_MXR_GAIN_G2 : 3; -+ unsigned int rsvd_5 : 1; -+ unsigned int RG_WF2G_TX_MXR_GAIN_G3 : 3; -+ unsigned int rsvd_6 : 1; -+ unsigned int RG_WF2G_TX_MXR_GAIN_G4 : 3; -+ unsigned int rsvd_7 : 1; -+ } b; -+} RG_TX_A9_FIELD_T; -+ -+#define RG_TX_A10 (RF_D_TX_REG_BASE + 0x28) -+// Bit 0 rg_m4_wf5g_tx_pa_en U RW default = 'h1 -+// Bit 1 rg_m4_wf5g_tx_mxr_en U RW default = 'h1 -+// Bit 2 rg_m4_wf5g_tx_ib_en U RW default = 'h1 -+// Bit 3 rg_m5_wf5g_tx_pa_en U RW default = 'h0 -+// Bit 4 rg_m5_wf5g_tx_mxr_en U RW default = 'h0 -+// Bit 5 rg_m5_wf5g_tx_ib_en U RW default = 'h0 -+// Bit 6 rg_m6_wf5g_tx_pa_en U RW default = 'h0 -+// Bit 7 rg_m6_wf5g_tx_mxr_en U RW default = 'h0 -+// Bit 8 rg_m6_wf5g_tx_ib_en U RW default = 'h0 -+// Bit 9 rg_m7_wf5g_tx_pa_en U RW default = 'h0 -+// Bit 10 rg_m7_wf5g_tx_mxr_en U RW default = 'h0 -+// Bit 11 rg_m7_wf5g_tx_ib_en U RW default = 'h0 -+typedef union RG_TX_A10_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M4_WF5G_TX_PA_EN : 1; -+ unsigned int RG_M4_WF5G_TX_MXR_EN : 1; -+ unsigned int RG_M4_WF5G_TX_IB_EN : 1; -+ unsigned int RG_M5_WF5G_TX_PA_EN : 1; -+ unsigned int RG_M5_WF5G_TX_MXR_EN : 1; -+ unsigned int RG_M5_WF5G_TX_IB_EN : 1; -+ unsigned int RG_M6_WF5G_TX_PA_EN : 1; -+ unsigned int RG_M6_WF5G_TX_MXR_EN : 1; -+ unsigned int RG_M6_WF5G_TX_IB_EN : 1; -+ unsigned int RG_M7_WF5G_TX_PA_EN : 1; -+ unsigned int RG_M7_WF5G_TX_MXR_EN : 1; -+ unsigned int RG_M7_WF5G_TX_IB_EN : 1; -+ unsigned int rsvd_0 : 20; -+ } b; -+} RG_TX_A10_FIELD_T; -+ -+#define RG_TX_A11 (RF_D_TX_REG_BASE + 0x2c) -+// Bit 0 rg_m4_wf2g_tx_pa_en U RW default = 'h0 -+// Bit 1 rg_m4_wf2g_tx_mxr_en U RW default = 'h0 -+// Bit 2 rg_m4_wf2g_tx_var_en U RW default = 'h0 -+// Bit 3 rg_m4_wf2g_tx_ib_en U RW default = 'h0 -+// Bit 4 rg_m5_wf2g_tx_pa_en U RW default = 'h0 -+// Bit 5 rg_m5_wf2g_tx_mxr_en U RW default = 'h0 -+// Bit 6 rg_m5_wf2g_tx_var_en U RW default = 'h0 -+// Bit 7 rg_m5_wf2g_tx_ib_en U RW default = 'h0 -+// Bit 8 rg_m6_wf2g_tx_pa_en U RW default = 'h1 -+// Bit 9 rg_m6_wf2g_tx_mxr_en U RW default = 'h1 -+// Bit 10 rg_m6_wf2g_tx_var_en U RW default = 'h1 -+// Bit 11 rg_m6_wf2g_tx_ib_en U RW default = 'h1 -+// Bit 12 rg_m7_wf2g_tx_pa_en U RW default = 'h0 -+// Bit 13 rg_m7_wf2g_tx_mxr_en U RW default = 'h0 -+// Bit 14 rg_m7_wf2g_tx_var_en U RW default = 'h0 -+// Bit 15 rg_m7_wf2g_tx_ib_en U RW default = 'h0 -+typedef union RG_TX_A11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_M4_WF2G_TX_PA_EN : 1; -+ unsigned int RG_M4_WF2G_TX_MXR_EN : 1; -+ unsigned int RG_M4_WF2G_TX_VAR_EN : 1; -+ unsigned int RG_M4_WF2G_TX_IB_EN : 1; -+ unsigned int RG_M5_WF2G_TX_PA_EN : 1; -+ unsigned int RG_M5_WF2G_TX_MXR_EN : 1; -+ unsigned int RG_M5_WF2G_TX_VAR_EN : 1; -+ unsigned int RG_M5_WF2G_TX_IB_EN : 1; -+ unsigned int RG_M6_WF2G_TX_PA_EN : 1; -+ unsigned int RG_M6_WF2G_TX_MXR_EN : 1; -+ unsigned int RG_M6_WF2G_TX_VAR_EN : 1; -+ unsigned int RG_M6_WF2G_TX_IB_EN : 1; -+ unsigned int RG_M7_WF2G_TX_PA_EN : 1; -+ unsigned int RG_M7_WF2G_TX_MXR_EN : 1; -+ unsigned int RG_M7_WF2G_TX_VAR_EN : 1; -+ unsigned int RG_M7_WF2G_TX_IB_EN : 1; -+ unsigned int rsvd_0 : 16; -+ } b; -+} RG_TX_A11_FIELD_T; -+ -+#define RG_TX_A12 (RF_D_TX_REG_BASE + 0x30) -+// Bit 7 :0 rg_wf_tx_gain_man U RW default = 'h0 -+// Bit 8 rg_wf_tx_gain_man_mode U RW default = 'h0 -+// Bit 23 :16 rg_wf_tx_pa_en_delay_bnd U RW default = 'h14 -+// Bit 24 rg_wf_tx_pa_en_delay_bypass U RW default = 'h0 -+typedef union RG_TX_A12_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF_TX_GAIN_MAN : 8; -+ unsigned int RG_WF_TX_GAIN_MAN_MODE : 1; -+ unsigned int rsvd_0 : 7; -+ unsigned int RG_WF_TX_PA_EN_DELAY_BND : 8; -+ unsigned int RG_WF_TX_PA_EN_DELAY_BYPASS : 1; -+ unsigned int rsvd_1 : 7; -+ } b; -+} RG_TX_A12_FIELD_T; -+ -+#define RG_TX_A13 (RF_D_TX_REG_BASE + 0x34) -+// Bit 4 :0 rg_wf5g_tx_mxr_cbank_g1 U RW default = 'h7 -+// Bit 9 :5 rg_wf5g_tx_mxr_cbank_g2 U RW default = 'h7 -+// Bit 14 :10 rg_wf5g_tx_mxr_cbank_g3 U RW default = 'h7 -+// Bit 19 :15 rg_wf5g_tx_mxr_cbank_g4 U RW default = 'h3 -+// Bit 24 :20 rg_wf5g_tx_mxr_cbank_man U RW default = 'h4 -+typedef union RG_TX_A13_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_WF5G_TX_MXR_CBANK_G1 : 5; -+ unsigned int RG_WF5G_TX_MXR_CBANK_G2 : 5; -+ unsigned int RG_WF5G_TX_MXR_CBANK_G3 : 5; -+ unsigned int RG_WF5G_TX_MXR_CBANK_G4 : 5; -+ unsigned int RG_WF5G_TX_MXR_CBANK_MAN : 5; -+ unsigned int rsvd_0 : 7; -+ } b; -+} RG_TX_A13_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/rf_d_xosc_reg.h b/drivers/net/wireless/w1/common/rf_d_xosc_reg.h -new file mode 100644 -index 000000000000..1e5bfa1aaaf7 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/rf_d_xosc_reg.h -@@ -0,0 +1,121 @@ -+#ifdef RF_D_XOSC_REG -+#else -+#define RF_D_XOSC_REG -+ -+#define CHIP_ANA_REG_BASE (0xf01000) -+ -+#define RG_XOSC_A7 (CHIP_ANA_REG_BASE + 0x20) -+// Bit 0 rg_xo_bg_en_man U RW default = 'h1 -+// Bit 2 rg_xo_bg_en_man_sel U RW default = 'h0 -+// Bit 3 rg_xo_ldo_bypass_en U RW default = 'h0 -+// Bit 4 rg_xo_ldo_en_man U RW default = 'h1 -+// Bit 5 rg_xo_ldo_en_man_sel U RW default = 'h0 -+// Bit 7 :6 rg_xo_ldo_fbr_ctrl U RW default = 'h2 -+// Bit 13 :8 rg_xo_ldo_vref_cal U RW default = 'h10 -+// Bit 14 rg_xo_en_man U RW default = 'h1 -+// Bit 15 rg_xo_en_man_sel U RW default = 'h0 -+// Bit 16 rg_xo_sel U RW default = 'h0 -+// Bit 21 :17 rg_xo_core_bias_rcal_ctrl U RW default = 'h10 -+typedef union RG_XOSC_A7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_XO_BG_EN_MAN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_XO_BG_EN_MAN_SEL : 1; -+ unsigned int RG_XO_LDO_BYPASS_EN : 1; -+ unsigned int RG_XO_LDO_EN_MAN : 1; -+ unsigned int RG_XO_LDO_EN_MAN_SEL : 1; -+ unsigned int RG_XO_LDO_FBR_CTRL : 2; -+ unsigned int RG_XO_LDO_VREF_CAL : 6; -+ unsigned int RG_XO_EN_MAN : 1; -+ unsigned int RG_XO_EN_MAN_SEL : 1; -+ unsigned int RG_XO_SEL : 1; -+ unsigned int RG_XO_CORE_BIAS_RCAL_CTRL : 5; -+ unsigned int rsvd_1 : 10; -+ } b; -+} RG_XOSC_A7_FIELD_T; -+ -+#define RG_XOSC_A8 (CHIP_ANA_REG_BASE + 0x24) -+// Bit 3 :0 rg_xo_core_cfixed_ctrl U RW default = 'h8 -+// Bit 11 :4 rg_xo_core_ctune_ctrl U RW default = 'h32 -+// Bit 15 :12 rg_xo_core_gmos_vb_sel U RW default = 'h8 -+// Bit 20 :17 rg_xo_pd_vref_sel U RW default = 'h8 -+typedef union RG_XOSC_A8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_XO_CORE_CFIXED_CTRL : 4; -+ unsigned int RG_XO_CORE_CTUNE_CTRL : 8; -+ unsigned int RG_XO_CORE_GMOS_VB_SEL : 4; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_XO_PD_VREF_SEL : 4; -+ unsigned int rsvd_1 : 11; -+ } b; -+} RG_XOSC_A8_FIELD_T; -+ -+#define RG_XOSC_A9 (CHIP_ANA_REG_BASE + 0x28) -+// Bit 3 :0 rg_xo_buf1_bias_ctrl U RW default = 'h8 -+// Bit 7 :4 rg_xo_buf2_bias_ctrl U RW default = 'h8 -+// Bit 11 :8 rg_xo_buf3_bias_ctrl U RW default = 'h8 -+// Bit 12 rg_xo_aml_cal_error_ctrl U RW default = 'h0 -+typedef union RG_XOSC_A9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_XO_BUF1_BIAS_CTRL : 4; -+ unsigned int RG_XO_BUF2_BIAS_CTRL : 4; -+ unsigned int RG_XO_BUF3_BIAS_CTRL : 4; -+ unsigned int RG_XO_AML_CAL_ERROR_CTRL : 1; -+ unsigned int rsvd_0 : 19; -+ } b; -+} RG_XOSC_A9_FIELD_T; -+ -+#define RG_XOSC_A11 (CHIP_ANA_REG_BASE + 0x30) -+// Bit 0 rg_xo_ldo_fc_en_man_sel U RW default = 'h0 -+// Bit 1 rg_xo_ldo_fc_en_man U RW default = 'h0 -+// Bit 2 rg_xo_pd_en_man_sel U RW default = 'h0 -+// Bit 3 rg_xo_pd_en_man U RW default = 'h1 -+// Bit 4 rg_xo_buf_core_en_man_sel U RW default = 'h0 -+// Bit 5 rg_xo_buf_core_en_man U RW default = 'h1 -+// Bit 6 rg_xo_buf_wf_en_man_sel U RW default = 'h0 -+// Bit 7 rg_xo_buf_wf_en_man U RW default = 'h1 -+// Bit 8 rg_xo_buf_dig_en_man_sel U RW default = 'h0 -+// Bit 9 rg_xo_buf_dig_en_man U RW default = 'h1 -+// Bit 10 rg_xo_buf_bb_en_man_sel U RW default = 'h0 -+// Bit 11 rg_xo_buf_bb_en_man U RW default = 'h1 -+// Bit 12 rg_xo_buf_bt_en_man_sel U RW default = 'h0 -+// Bit 13 rg_xo_buf_bt_en_man U RW default = 'h1 -+// Bit 15 rg_xo_core_bias_ctrl_man_sel U RW default = 'h0 -+// Bit 23 :16 rg_xo_core_bias_ctrl_man U RW default = 'hff -+// Bit 31 :24 rg_xosc_wait_bnd U RW default = 'h3f -+typedef union RG_XOSC_A11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int RG_XO_LDO_FC_EN_MAN_SEL : 1; -+ unsigned int RG_XO_LDO_FC_EN_MAN : 1; -+ unsigned int RG_XO_PD_EN_MAN_SEL : 1; -+ unsigned int RG_XO_PD_EN_MAN : 1; -+ unsigned int RG_XO_BUF_CORE_EN_MAN_SEL : 1; -+ unsigned int RG_XO_BUF_CORE_EN_MAN : 1; -+ unsigned int RG_XO_BUF_WF_EN_MAN_SEL : 1; -+ unsigned int RG_XO_BUF_WF_EN_MAN : 1; -+ unsigned int RG_XO_BUF_DIG_EN_MAN_SEL : 1; -+ unsigned int RG_XO_BUF_DIG_EN_MAN : 1; -+ unsigned int RG_XO_BUF_BB_EN_MAN_SEL : 1; -+ unsigned int RG_XO_BUF_BB_EN_MAN : 1; -+ unsigned int RG_XO_BUF_BT_EN_MAN_SEL : 1; -+ unsigned int RG_XO_BUF_BT_EN_MAN : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int RG_XO_CORE_BIAS_CTRL_MAN_SEL : 1; -+ unsigned int RG_XO_CORE_BIAS_CTRL_MAN : 8; -+ unsigned int RG_XOSC_WAIT_BND : 8; -+ } b; -+} RG_XOSC_A11_FIELD_T; -+ -+#endif -\ No newline at end of file -diff --git a/drivers/net/wireless/w1/common/wf_register.h b/drivers/net/wireless/w1/common/wf_register.h -new file mode 100644 -index 000000000000..f2b2b78c05ff ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wf_register.h -@@ -0,0 +1,21 @@ -+#ifndef __WF_REGISTER__ -+#define __WF_REGISTER__ -+ -+// aon -+#include "chip_ana_reg.h" -+#include "chip_intf_reg.h" -+#include "chip_pmu_reg.h" -+ -+// rf adda -+#include "rf_d_adda_core_reg.h" -+#include "rf_d_adda_esti_reg.h" -+#include "rf_d_adda_recv_reg.h" -+#include "rf_d_adda_xmit_reg.h" -+ -+// rf -+#include "rf_d_rx_reg.h" -+#include "rf_d_sx_reg.h" -+#include "rf_d_top_reg.h" -+#include "rf_d_tx_reg.h" -+ -+#endif -diff --git a/drivers/net/wireless/w1/common/wifi_adda_addr.h b/drivers/net/wireless/w1/common/wifi_adda_addr.h -new file mode 100644 -index 000000000000..b772bb73ee10 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_adda_addr.h -@@ -0,0 +1,10 @@ -+#ifndef __WIFI_ADDA_ADDR_H__ -+#define __WIFI_ADDA_ADDR_H__ -+ -+#define WIFI_ADDA (0xe000) -+ -+#define RG_ADDA_ADR_88 (WIFI_ADDA + 0x488) -+#define RG_IQ_SWAP_CTRL (WIFI_ADDA + 0x808) -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/wifi_agc_addr.h b/drivers/net/wireless/w1/common/wifi_agc_addr.h -new file mode 100644 -index 000000000000..e850665c2e07 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_agc_addr.h -@@ -0,0 +1,110 @@ -+#ifndef __ADDR_AGC_H__ -+#define __ADDR_AGC_H__ -+ -+#define WIFI_AGC (0x8000) -+ -+#define RG_AGC_STF_LIMIT_CCA_COND_EN (WIFI_AGC + 0x6c) -+#define RG_AGC_CCA_COND_TS_CTRL (WIFI_AGC + 0x70) -+#define RG_AGC_RG_AGC_OB_CCA_RES (WIFI_AGC + 0x274) -+#define RG_AGC_RG_AGC_OB_CCA_COND01 (WIFI_AGC + 0x278) -+#define RG_AGC_RG_AGC_OB_CCA_COND23 (WIFI_AGC + 0x27c) -+#define RG_AGC_STATE (WIFI_AGC+0x258) -+#define RG_AGC_OB_IC_GAIN (WIFI_AGC+0x25c) -+#define RG_AGC_WATCH1 (WIFI_AGC+0x260) -+#define RG_AGC_WATCH2 (WIFI_AGC+0x264) -+#define RG_AGC_WATCH3 (WIFI_AGC+0x268) -+#define RG_AGC_WATCH4 (WIFI_AGC+0x26c) -+#define RG_AGC_OB_ANT_NFLOOR (WIFI_AGC+0x270) -+#define RG_AGC_OB_CCA_RES (WIFI_AGC+0x274) -+#define RG_AGC_OB_CCA_COND01 (WIFI_AGC+0x278) -+#define RG_AGC_OB_CCA_COND23 (WIFI_AGC+0x27c) -+#define RG_AGC_GAIN_SEL (WIFI_AGC+ 0x84) -+#define RG_AGC_STS_REG_0 (WIFI_AGC+ 0x64) -+#define RG_AGC_EN (WIFI_AGC+ 0x10) -+ -+ -+struct AGC_CCA_COND_TS_CTRL_BITS { -+ unsigned int cca_cond_ts :8, -+ cca_cond_ts_num :20, -+ ed_avglen :3, -+ reserved41 :1; -+}; -+ -+struct AGC_OB_CCA_RES_BITS { -+ unsigned int cca_cond_rdy :1, -+ reserved170 :15, -+ cca_cond8 :16; -+}; -+ -+struct AGC_STF_LIMIT_CCA_COND_EN_BITS { -+ unsigned int stf_cfo_limit :19, -+ reserved39 :1, -+ cca_cond_en :9, -+ cca_cal_force :1, -+ reserved40 :2; -+}; -+ -+#pragma pack(push ,1) -+struct agc_prt_info -+{ -+ unsigned short addr; -+ char *prt1; -+ char *prt2; -+}; -+ -+struct sts_agc_state { -+ unsigned int rsv1:8,state:4,rsv2:20; -+}; -+ -+struct sts_agc_ob_ic_gain { -+ unsigned int r_rx_ic_gain:8,r_agc_fine_db:9,rsv:15; -+}; -+ -+struct sts_agc_watch1 { -+ unsigned int r_pow_sat_db:9, rsv1:3, r_primary20_db:9, rsv2:11; -+}; -+ -+struct sts_agc_watch2 { -+ unsigned int r_primary40_db:9, rsv1:3,r_primary80_db:9,rsv2:11; -+}; -+ -+struct sts_agc_watch3 { -+ unsigned int r_rssi0_db:10, rsv1:2,r_rssi1_db:10,rsv2:10; -+}; -+ -+struct sts_agc_watch4 { -+ unsigned int r_rssi2_db:10, rsv1:2,r_rssi3_db:10,rsv2:10; -+}; -+ -+struct sts_ob_ant_nfloor { -+ unsigned int r_snr_qdb:10, rsv1:2,r_ant_nfloor_qdb:10,rsv2:10; -+}; -+ -+struct sts_ob_cca_res { -+ unsigned int cca_cond_rdy:1, rsv1:15, cca_cond8:16; -+}; -+ -+struct sts_ob_cca_cond01 { -+ unsigned int cca_cond0:16, cca_cond1:16; -+}; -+ -+struct sts_ob_cca_cond23 { -+ unsigned int cca_cond2:16, cca_cond3:16; -+}; -+ -+union sts_agc_reg_u { -+ struct sts_agc_state state; -+ struct sts_agc_ob_ic_gain ic_gain; -+ struct sts_agc_watch1 wtc1; -+ struct sts_agc_watch2 wtc2; -+ struct sts_agc_watch3 wtc3; -+ struct sts_agc_watch4 wtc4; -+ struct sts_ob_ant_nfloor ant_nfloor; -+ struct sts_ob_cca_res cca_res; -+ struct sts_ob_cca_cond01 cca_cond_m1; -+ struct sts_ob_cca_cond23 cca_cond_m2; -+}; -+ -+#pragma pack(pop) -+ -+#endif -diff --git a/drivers/net/wireless/w1/common/wifi_aon_addr.h b/drivers/net/wireless/w1/common/wifi_aon_addr.h -new file mode 100644 -index 000000000000..3a38a28fe50a ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_aon_addr.h -@@ -0,0 +1,24 @@ -+#ifndef __ADDR_AON_H__ -+#define __ADDR_AON_H__ -+ -+ -+//#define WIFI_AON (0xf800) -+#define WIFI_AON (0x00F00000) -+ -+// pmu status -+#define PMU_PWR_OFF 0x0 -+#define PMU_PWR_XOSC 0x1 -+#define PMU_XOSC_WAIT 0x2 -+#define PMU_XOSC_DPLL 0x3 -+#define PMU_DPLL_WAIT 0x4 -+#define PMU_DPLL_ACT 0x5 -+#define PMU_ACT_MODE 0x6 -+#define PMU_ACT_SLEEP 0x7 -+#define PMU_SLEEP_MODE 0x8 -+#define PMU_SLEEP_WAKE 0x9 -+#define PMU_WAKE_WAIT 0xa -+#define PMU_WAKE_XOSC 0xb -+ -+#define WIFI_RG_AON_CFG4 (WIFI_AON + 0x78) -+#define WIFI_RG_AON_CFG5 (WIFI_AON + 0x7C) -+#endif -diff --git a/drivers/net/wireless/w1/common/wifi_coex_addr.h b/drivers/net/wireless/w1/common/wifi_coex_addr.h -new file mode 100644 -index 000000000000..68be97d11a79 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_coex_addr.h -@@ -0,0 +1,34 @@ -+#ifndef __WIFI_COEX_ADDR_H__ -+#define __WIFI_COEX_ADDR_H__ -+ -+#define WIFI_COEX (0x00f06000) -+ -+#define RG_COEX_PRIORITY_M6 (WIFI_COEX + 0xbc) -+#define RG_COEX_PRD_NUM_M6 (WIFI_COEX + 0xc0) -+#define RG_COEX_ACT_NUM_M6 (WIFI_COEX + 0xc4) -+#define RG_COEX_OFFSET_NUM_M6 (WIFI_COEX + 0xc8) -+#define RG_COEX_INT_OFFSET_M6 (WIFI_COEX + 0xcc) -+#define RG_COEX_INI2_OFFSET_M6 (WIFI_COEX + 0xd0) -+ -+#define RG_COEX_HS5W_MANUAL0 (WIFI_COEX + 0x4) -+#define RG_COEX_HS5W_MANUAL1 (WIFI_COEX + 0x8) -+#define RG_COEX_HS5W_MANUAL2 (WIFI_COEX + 0xc) -+#define RG_COEX_HS5W_MANUAL3 (WIFI_COEX + 0x10) -+#define RG_COEX_HS5W_MANUAL4 (WIFI_COEX + 0x14) -+ -+#define RG_COEX_HS5W_CTRL0 (WIFI_COEX + 0x18) -+#define RG_COEX_HS5W_CTRL1 (WIFI_COEX + 0x1c) -+ -+#define RG_COEX_RF_STABLE_CTRL (WIFI_COEX + 0x20) -+#define RG_COEX_BT_OWNER_CTRL (WIFI_COEX + 0x24) -+#define RG_COEX_WF_OWNER_CTRL (WIFI_COEX + 0x28) -+ -+#define RG_COEX_BT_LOGIC_INFO (WIFI_COEX + 0x200) -+#define COEX_EN_ESCO (0x00000010) -+#define RG_COEX_CFG1 (WIFI_COEX + 0x19c) -+#define RG_COEX_IRQ_END_TIME (WIFI_COEX + 0x304) -+#define RG_COEX_WF_IRQ_MSK (WIFI_COEX + 0x39c) -+#define RG_COEX_BT_IRQ_MSK (WIFI_COEX + 0x3a0) -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/wifi_i2c_addr.h b/drivers/net/wireless/w1/common/wifi_i2c_addr.h -new file mode 100644 -index 000000000000..54b3762e3b23 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_i2c_addr.h -@@ -0,0 +1,14 @@ -+#ifndef __WIFI_I2C_ADDR_H__ -+#define __WIFI_I2C_ADDR_H__ -+ -+#define WIFI_I2C (0x4800) -+ -+#define WIFI_I2C_M0_CONTROL_REG (WIFI_I2C + (0x00 << 2)) -+#define WIFI_I2C_M0_SLAVE_ADDR (WIFI_I2C + (0x01 << 2)) -+#define WIFI_I2C_M0_TOKEN_LIST0 (WIFI_I2C + (0x02 << 2)) -+#define WIFI_I2C_M0_TOKEN_LIST1 (WIFI_I2C + (0x03 << 2)) -+#define WIFI_I2C_M0_WDATA_REG0 (WIFI_I2C + (0x04 << 2)) -+#define WIFI_I2C_M0_WDATA_REG1 (WIFI_I2C + (0x05 << 2)) -+#define WIFI_I2C_M0_RDATA_REG0 (WIFI_I2C + (0x06 << 2)) -+ -+#endif -diff --git a/drivers/net/wireless/w1/common/wifi_intf_addr.h b/drivers/net/wireless/w1/common/wifi_intf_addr.h -new file mode 100644 -index 000000000000..7ec21d85f4a1 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_intf_addr.h -@@ -0,0 +1,26 @@ -+#ifndef __ADDR_INTF_H__ -+#define __ADDR_INTF_H__ -+ -+ -+#define WIFI_INTF (0xd000) -+ -+#define RG_INTF_CTRL_CLK (WIFI_INTF + 0xb0) -+#define RG_INTF_CPU_CLK (WIFI_INTF + 0x090) -+#define RG_INTF_APB_CLK (WIFI_INTF + 0x094) -+#define RG_INTF_MAC_CLK (WIFI_INTF + 0x098) -+#define RG_INTF_DAC_CLK (WIFI_INTF + 0x0a0) -+#define RG_INTF_ADC_CLK (WIFI_INTF + 0x0a4) -+#define RG_INTF_VIT_CLK (WIFI_INTF + 0x0ac) -+#define RG_INTF_11BRX_CLK (WIFI_INTF + 0x0bc) -+#define RG_INTF_320M_CLK (WIFI_INTF + 0x100) -+#define RG_INTF_240M_CLK (WIFI_INTF + 0x104) -+#define RG_INTF_BTCPU_CLK (WIFI_INTF + 0x108) -+#define RG_INTF_BTMAC_CLK (WIFI_INTF + 0x10c) -+#define RG_INTF_LDPC_CLK (WIFI_INTF + 0x118) -+#define RG_INTF_PIN_MUX_REG1 (WIFI_INTF + 0x004) -+#define RG_INTF_SHARE_64K_CAP (WIFI_INTF + 0x0e4) -+#define RG_INTF_PHY_CLK (WIFI_INTF + 0x0a8) -+#define RG_INTF_RTC_CLK_CTRL (WIFI_INTF + 0xc0) -+#define RG_INTF_MAC_TIMER_CTRL1 (WIFI_INTF + 0xd0) -+ -+#endif -diff --git a/drivers/net/wireless/w1/common/wifi_mac_addr.h b/drivers/net/wireless/w1/common/wifi_mac_addr.h -new file mode 100644 -index 000000000000..b3cc16e976da ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_mac_addr.h -@@ -0,0 +1,109 @@ -+#ifndef __WIFI_MAC_ADDR_H__ -+#define __WIFI_MAC_ADDR_H__ -+ -+#define WIFI_MAC (0x0000) -+#define RG_MAC_COUNT1 (WIFI_MAC + 0xb0) -+#define RG_MAC_LOCAL_ADDRL0 (WIFI_MAC+0X1c) -+#define RG_MAC_LOCAL_ADDRH0 (WIFI_MAC+0X20) -+ -+#define RG_MAC_BSSID0LO_REG (WIFI_MAC+0x3c) -+#define RG_MAC_BSSID0HI_REG (WIFI_MAC+0x40) -+ -+#define RG_MAC_COUNT2 (WIFI_MAC+0Xb4) -+#define RG_MAC_CHANNEL_INDEX (WIFI_MAC+0X1e0) -+#define RG_MAC_BSSIDLO_N(_vid) (RG_MAC_BSSID0LO_REG+(_vid)*8) -+#define RG_MAC_BSSIDHI_N(_vid) (RG_MAC_BSSID0HI_REG+(_vid)*8) -+#define RG_MAC_LOCAL_ADDRLN(_vid) (RG_MAC_LOCAL_ADDRL0+(_vid)*8) -+#define RG_MAC_LOCAL_ADDRHN(_vid) (RG_MAC_LOCAL_ADDRH0+(_vid)*8) -+ -+#define RG_MAC_CNT_CTRL_FIQ (WIFI_MAC + 0x5c ) -+#define RG_MAC_FRM_TYPE_CNT_CTRL (WIFI_MAC + 0xa4) -+#define RG_MAC_RX_DATA_LOCAL_CNT (WIFI_MAC + 0x1b8) -+#define RG_MAC_RX_DATA_OTHER_CNT (WIFI_MAC + 0x1bc) -+#define RG_MAC_RX_DATA_MUTIL_CNT (WIFI_MAC + 0x1c0) -+#define RG_MAC_TX_STT_CHK (WIFI_MAC + 0x1a8) -+#define RG_MAC_TX_END_CHK (WIFI_MAC + 0x1ac) -+#define RG_MAC_TX_EN_CHK (WIFI_MAC + 0x1b0) -+#define RG_MAC_TX_ENWR_CHK (WIFI_MAC + 0x1b4) -+ -+#define RG_MAC_IRQ_STATUS_CNT0 (WIFI_MAC + 0x60) -+#define RG_MAC_IRQ_STATUS_CNT1 (WIFI_MAC + 0x64) -+#define RG_MAC_IRQ_STATUS_CNT2 (WIFI_MAC + 0x68) -+#define RG_MAC_IRQ_STATUS_CNT3 (WIFI_MAC + 0x74) -+#define RG_MAC_FRM_TYPE_CNT0 (WIFI_MAC + 0xa8) -+#define RG_MAC_FRM_TYPE_CNT1 (WIFI_MAC + 0xac) -+#define RG_MAC_FRM_TYPE_CNT2 (WIFI_MAC + 0xf4) -+#define RG_MAC_FRM_TYPE_CNT3 (WIFI_MAC + 0xf8) -+#define RG_MAC_BCN_CTRL_REG (WIFI_MAC + 0x234) -+#define RG_MAC_RX_WPTR (WIFI_MAC + 0x1fc) -+#define RG_MAC_RX_FRPTR (WIFI_MAC + 0x200) -+#define RG_MAC_RX_HRPTR (WIFI_MAC + 0x204) -+ -+ -+ -+struct data_rx_local_cnt_bits{ -+ unsigned int data_local_cnt: 29, -+ data_local_cnt_qos:1, -+ data_local_cnt_clr:1, -+ data_local_cnt_en:1; -+}; -+ -+struct data_rx_cnt_bits{ -+ unsigned int cnt:30, -+ clr:1, -+ en:1; -+}; -+ -+ -+struct tx_cnt_ctrl_bits -+{ -+ unsigned int cnt :26, -+ en:1, -+ clr:1, -+ rsv:4; -+}; -+ -+struct cnt_ctrl_bits -+{ -+ unsigned int type_idx0 :6, -+ type_idx1 :6, -+ type_idx2 :6, -+ type_idx3 :6, -+ en0 :1, -+ en1 :1, -+ en2 :1, -+ en3 :1, -+ clr0 :1, -+ clr1 :1, -+ clr2 :1, -+ clr3 :1; -+}; -+ -+ -+struct ctrl_idx{ -+ unsigned char idx0; -+ unsigned char idx1; -+ unsigned char idx2; -+ unsigned char idx3; -+ unsigned char qos_en; -+}; -+ -+union sts_mac_reg_u{ -+ unsigned int x; -+ struct ctrl_idx op_idx; -+ struct tx_cnt_ctrl_bits tx_cnt_ctrl; -+ struct cnt_ctrl_bits cnt_ctrl; -+ struct data_rx_cnt_bits rx_other_cnt; -+ struct data_rx_cnt_bits rx_mutil_cnt; -+ struct data_rx_local_cnt_bits rx_local_cnt; -+}; -+ -+struct sts_irq_ctrl{ -+ unsigned int cnt:29,func_code:3 ; -+}; -+ -+struct sts_sw_cnt_ctrl{ -+ unsigned int cnt:29,func_code:3 ; -+}; -+ -+#endif -diff --git a/drivers/net/wireless/w1/common/wifi_mac_main_reg.h b/drivers/net/wireless/w1/common/wifi_mac_main_reg.h -new file mode 100644 -index 000000000000..94dcb0aef372 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_mac_main_reg.h -@@ -0,0 +1,1085 @@ -+#ifdef WIFI_MAC_MAIN_REG -+#else -+#define WIFI_MAC_MAIN_REG -+ -+ -+#define WIFI_MAC_MAIN_REG_BASE (0xa00000) -+ -+#define MAC_CONTROL (WIFI_MAC_MAIN_REG_BASE + 0x0) -+// Bit 0 reg_a1mis_abort_en U RW default = 'h0 -+// Bit 1 reg_swirq U RW default = 'h0 -+// Bit 2 reg_sniffer_enable U RW default = 'h0 -+// Bit 3 reg_smpdu_bitmap_update U RW default = 'h0 -+// Bit 4 reg_txstartit_earlymode U RW default = 'h0 -+// Bit 5 reg_ofdm_padding U RW default = 'h1 -+// Bit 6 reg_status_count_enable U RW default = 'h1 -+// Bit 11 reg_frequency_band U RW default = 'h0 -+// Bit 12 reg_tximmstop U RW default = 'h0 -+// Bit 13 reg_endian U RW default = 'h1 -+// Bit 14 reg_cca_rst_req U RW default = 'h0 -+// Bit 15 reg_fiqenable_rdrst U RW default = 'h0 -+// Bit 17 reg_tcpip_offload_on U RW default = 'h1 -+// Bit 18 reg_bws_ta_disable U RW default = 'h1 -+// Bit 19 reg_vht_txtime_sel U RW default = 'h0 -+// Bit 20 reg_qosnull_notupd_bitmap U RW default = 'h0 -+typedef union MAC_CONTROL_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_a1mis_abort_en : 1; -+ unsigned int reg_swirq : 1; -+ unsigned int reg_sniffer_enable : 1; -+ unsigned int reg_smpdu_bitmap_update : 1; -+ unsigned int reg_txstartit_earlymode : 1; -+ unsigned int reg_ofdm_padding : 1; -+ unsigned int reg_status_count_enable : 1; -+ unsigned int rsvd_0 : 4; -+ unsigned int reg_frequency_band : 1; -+ unsigned int reg_tximmstop : 1; -+ unsigned int reg_endian : 1; -+ unsigned int reg_cca_rst_req : 1; -+ unsigned int reg_fiqenable_rdrst : 1; -+ unsigned int rsvd_1 : 1; -+ unsigned int reg_tcpip_offload_on : 1; -+ unsigned int reg_bws_ta_disable : 1; -+ unsigned int reg_vht_txtime_sel : 1; -+ unsigned int reg_qosnull_notupd_bitmap : 1; -+ unsigned int rsvd_2 : 11; -+ } b; -+} MAC_CONTROL_FIELD_T; -+ -+#define MAC_IRQ_MASK (WIFI_MAC_MAIN_REG_BASE + 0x4) -+// Bit 0 reg_txstart_mask U RW default = 'h0 -+// Bit 1 reg_txend_mask U RW default = 'h0 -+// Bit 9 reg_ackto_mask U RW default = 'h0 -+// Bit 11 reg_rxstart_mask U RW default = 'h0 -+// Bit 12 reg_rxend_mask U RW default = 'h0 -+// Bit 31 :16 reg_abscount_mask U RW default = 'h0 -+typedef union MAC_IRQ_MASK_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txstart_mask : 1; -+ unsigned int reg_txend_mask : 1; -+ unsigned int rsvd_0 : 7; -+ unsigned int reg_ackto_mask : 1; -+ unsigned int rsvd_1 : 1; -+ unsigned int reg_rxstart_mask : 1; -+ unsigned int reg_rxend_mask : 1; -+#ifdef PROJECT_T9026 -+ unsigned int rsvd_2 : 7; -+ unsigned int reg_abscount_mask : 12; -+#else -+ unsigned int rsvd_2 : 3; -+ unsigned int reg_abscount_mask : 16; -+#endif -+ } b; -+} MAC_IRQ_MASK_FIELD_T; -+ -+#define MAC_IRQ_STATUS (WIFI_MAC_MAIN_REG_BASE + 0xc) -+// Bit 0 reg_txstart_it U W1C default = 'h0 -+// Bit 1 reg_txend_it U W1C default = 'h0 -+// Bit 3 :2 ro_txvmac_id U RO default = 'h0 -+// Bit 7 :4 ro_txstart_queue U RO default = 'h0 -+// Bit 8 ro_txenderr U RO default = 'h0 -+// Bit 9 reg_ackto_it U W1C default = 'h0 -+// Bit 10 ro_txcol_flag U RO default = 'h0 -+// Bit 11 reg_rxstart_it U W1C default = 'h0 -+// Bit 12 reg_rxend_it U W1C default = 'h0 -+// Bit 13 ro_rxmpdu_ok U RO default = 'h0 -+// Bit 14 ro_unicast U RO default = 'h0 -+// Bit 15 ro_a1match U RO default = 'h0 -+// Bit 16 ro_bssidmatch U RO default = 'h0 -+// Bit 18 ro_srambuf_full1 U RO default = 'h0 -+// Bit 19 reg_swirq_it U W1C default = 'h0 -+// Bit 25 :20 reg_tx_frame_type U RW default = 'h0 -+// Bit 30 reg_abscount_intr U W1C default = 'h0 -+// Bit 31 reg_fiq_enable U RW default = 'h0 -+typedef union MAC_IRQ_STATUS_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txstart_it : 1; -+ unsigned int reg_txend_it : 1; -+ unsigned int ro_txvmac_id : 2; -+ unsigned int ro_txstart_queue : 4; -+ unsigned int ro_txenderr : 1; -+ unsigned int reg_ackto_it : 1; -+ unsigned int ro_txcol_flag : 1; -+ unsigned int reg_rxstart_it : 1; -+ unsigned int reg_rxend_it : 1; -+ unsigned int ro_rxmpdu_ok : 1; -+ unsigned int ro_unicast : 1; -+ unsigned int ro_a1match : 1; -+ unsigned int ro_bssidmatch : 1; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_srambuf_full1 : 1; -+ unsigned int reg_swirq_it : 1; -+ unsigned int reg_tx_frame_type : 6; -+ unsigned int rsvd_1 : 4; -+ unsigned int reg_abscount_intr : 1; -+ unsigned int reg_fiq_enable : 1; -+ } b; -+} MAC_IRQ_STATUS_FIELD_T; -+ -+#define MAC_ERR_STATUS (WIFI_MAC_MAIN_REG_BASE + 0x10) -+// Bit 0 ro_fiac_fw_timeout_err U RO default = 'h0 -+// Bit 1 ro_hw_timeout_err U RO default = 'h0 -+// Bit 2 ro_tx_wd_timeout_err U RO default = 'h0 -+// Bit 3 ro_txinvalidlen_err U RO default = 'h0 -+// Bit 4 ro_tx_keymiss U RO default = 'h0 -+// Bit 5 ro_tximmstop_err U RO default = 'h0 -+// Bit 9 :6 ro_tx_phyerror U RO default = 'h0 -+// Bit 18 :10 ro_txcol_queue U RO default = 'h0 -+// Bit 19 ro_tx_not_grant U RO default = 'h0 -+// Bit 22 ro_srambuf_full2 U RO default = 'h0 -+// Bit 23 ro_fcserr U RO default = 'h0 -+// Bit 24 ro_rxfifoov U RO default = 'h0 -+// Bit 25 ro_rx_wd_timeout_err U RO default = 'h0 -+// Bit 26 ro_short_length U RO default = 'h0 -+// Bit 27 ro_length_error U RO default = 'h0 -+// Bit 31 :28 ro_rx_phyerror U RO default = 'h0 -+typedef union MAC_ERR_STATUS_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_fiac_fw_timeout_err : 1; -+ unsigned int ro_hw_timeout_err : 1; -+ unsigned int ro_tx_wd_timeout_err : 1; -+ unsigned int ro_txinvalidlen_err : 1; -+ unsigned int ro_tx_keymiss : 1; -+ unsigned int ro_tximmstop_err : 1; -+ unsigned int ro_tx_phyerror : 4; -+ unsigned int ro_txcol_queue : 9; -+ unsigned int ro_tx_not_grant : 1; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_srambuf_full2 : 1; -+ unsigned int ro_fcserr : 1; -+ unsigned int ro_rxfifoov : 1; -+ unsigned int ro_rx_wd_timeout_err : 1; -+ unsigned int ro_short_length : 1; -+ unsigned int ro_length_error : 1; -+ unsigned int ro_rx_phyerror : 4; -+ } b; -+} MAC_ERR_STATUS_FIELD_T; -+ -+#define ABS_STATUS (WIFI_MAC_MAIN_REG_BASE + 0x14) -+// Bit 16 reg_mac_absstatus0 U W1C default = 'h0 -+// Bit 17 reg_mac_absstatus1 U W1C default = 'h0 -+// Bit 18 reg_mac_absstatus2 U W1C default = 'h0 -+// Bit 19 reg_mac_absstatus3 U W1C default = 'h0 -+// Bit 20 reg_mac_absstatus4 U W1C default = 'h0 -+// Bit 21 reg_mac_absstatus5 U W1C default = 'h0 -+// Bit 22 reg_mac_absstatus6 U W1C default = 'h0 -+// Bit 23 reg_mac_absstatus7 U W1C default = 'h0 -+// Bit 24 reg_mac_absstatus8 U W1C default = 'h0 -+// Bit 25 reg_mac_absstatus9 U W1C default = 'h0 -+// Bit 26 reg_mac_absstatus10 U W1C default = 'h0 -+// Bit 27 reg_mac_absstatus11 U W1C default = 'h0 -+// Bit 28 reg_mac_absstatus12 U W1C default = 'h0 -+// Bit 29 reg_mac_absstatus13 U W1C default = 'h0 -+// Bit 30 reg_mac_absstatus14 U W1C default = 'h0 -+// Bit 31 reg_mac_absstatus15 U W1C default = 'h0 -+typedef union ABS_STATUS_FIELD -+{ -+ unsigned int data; -+#ifdef PROJECT_T9026 -+ struct -+ { -+ unsigned int rsvd_0 : 20; -+ unsigned int reg_mac_absstatus0 : 1; -+ unsigned int reg_mac_absstatus1 : 1; -+ unsigned int reg_mac_absstatus2 : 1; -+ unsigned int reg_mac_absstatus3 : 1; -+ unsigned int reg_mac_absstatus4 : 1; -+ unsigned int reg_mac_absstatus5 : 1; -+ unsigned int reg_mac_absstatus6 : 1; -+ unsigned int reg_mac_absstatus7 : 1; -+ unsigned int reg_mac_absstatus8 : 1; -+ unsigned int reg_mac_absstatus9 : 1; -+ unsigned int reg_mac_absstatus10 : 1; -+ unsigned int reg_mac_absstatus11 : 1; -+ } b; -+#else -+ struct -+ { -+ unsigned int rsvd_0 : 16; -+ unsigned int reg_mac_absstatus0 : 1; -+ unsigned int reg_mac_absstatus1 : 1; -+ unsigned int reg_mac_absstatus2 : 1; -+ unsigned int reg_mac_absstatus3 : 1; -+ unsigned int reg_mac_absstatus4 : 1; -+ unsigned int reg_mac_absstatus5 : 1; -+ unsigned int reg_mac_absstatus6 : 1; -+ unsigned int reg_mac_absstatus7 : 1; -+ unsigned int reg_mac_absstatus8 : 1; -+ unsigned int reg_mac_absstatus9 : 1; -+ unsigned int reg_mac_absstatus10 : 1; -+ unsigned int reg_mac_absstatus11 : 1; -+ unsigned int reg_mac_absstatus12 : 1; -+ unsigned int reg_mac_absstatus13 : 1; -+ unsigned int reg_mac_absstatus14 : 1; -+ unsigned int reg_mac_absstatus15 : 1; -+ } b; -+#endif -+} ABS_STATUS_FIELD_T; -+ -+#define MAC_LOCAL_ADDRLO0 (WIFI_MAC_MAIN_REG_BASE + 0x1c) -+// Bit 31 :0 reg_mac_local_addrlo0 U RW default = 'h1279ffff -+typedef union MAC_LOCAL_ADDRLO0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_addrlo0 : 32; -+ } b; -+} MAC_LOCAL_ADDRLO0_FIELD_T; -+ -+#define MAC_LOCAL_ADDRHI0 (WIFI_MAC_MAIN_REG_BASE + 0x20) -+// Bit 15 :0 reg_mac_local_addrhi0 U RW default = 'h5634 -+typedef union MAC_LOCAL_ADDRHI0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_addrhi0 : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_LOCAL_ADDRHI0_FIELD_T; -+ -+#define MAC_LOCAL_ADDRLO1 (WIFI_MAC_MAIN_REG_BASE + 0x24) -+// Bit 31 :0 reg_mac_local_addrlo1 U RW default = 'h1279ffff -+typedef union MAC_LOCAL_ADDRLO1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_addrlo1 : 32; -+ } b; -+} MAC_LOCAL_ADDRLO1_FIELD_T; -+ -+#define MAC_LOCAL_ADDRHI1 (WIFI_MAC_MAIN_REG_BASE + 0x28) -+// Bit 15 :0 reg_mac_local_addrhi1 U RW default = 'h5634 -+typedef union MAC_LOCAL_ADDRHI1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_addrhi1 : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_LOCAL_ADDRHI1_FIELD_T; -+ -+#define MAC_LOCAL_ADDRLO2 (WIFI_MAC_MAIN_REG_BASE + 0x2c) -+// Bit 31 :0 reg_mac_local_addrlo2 U RW default = 'h1279ffff -+typedef union MAC_LOCAL_ADDRLO2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_addrlo2 : 32; -+ } b; -+} MAC_LOCAL_ADDRLO2_FIELD_T; -+ -+#define MAC_LOCAL_ADDRHI2 (WIFI_MAC_MAIN_REG_BASE + 0x30) -+// Bit 15 :0 reg_mac_local_addrhi2 U RW default = 'h5634 -+typedef union MAC_LOCAL_ADDRHI2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_addrhi2 : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_LOCAL_ADDRHI2_FIELD_T; -+ -+#define MAC_LOCAL_ADDRLO3 (WIFI_MAC_MAIN_REG_BASE + 0x34) -+// Bit 31 :0 reg_mac_local_addrlo3 U RW default = 'h1279ffff -+typedef union MAC_LOCAL_ADDRLO3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_addrlo3 : 32; -+ } b; -+} MAC_LOCAL_ADDRLO3_FIELD_T; -+ -+#define MAC_LOCAL_ADDRHI3 (WIFI_MAC_MAIN_REG_BASE + 0x38) -+// Bit 15 :0 reg_mac_local_addrhi3 U RW default = 'h5634 -+typedef union MAC_LOCAL_ADDRHI3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_addrhi3 : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_LOCAL_ADDRHI3_FIELD_T; -+ -+#define MAC_LOCAL_BSSIDLO0 (WIFI_MAC_MAIN_REG_BASE + 0x3c) -+// Bit 31 :0 reg_mac_local_bssidlo0 U RW default = 'h0 -+typedef union MAC_LOCAL_BSSIDLO0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_bssidlo0 : 32; -+ } b; -+} MAC_LOCAL_BSSIDLO0_FIELD_T; -+ -+#define MAC_LOCAL_BSSIDHI0 (WIFI_MAC_MAIN_REG_BASE + 0x40) -+// Bit 15 :0 reg_mac_local_bssidhi0 U RW default = 'h0 -+typedef union MAC_LOCAL_BSSIDHI0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_bssidhi0 : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_LOCAL_BSSIDHI0_FIELD_T; -+ -+#define MAC_LOCAL_BSSIDLO1 (WIFI_MAC_MAIN_REG_BASE + 0x44) -+// Bit 31 :0 reg_mac_local_bssidlo1 U RW default = 'h0 -+typedef union MAC_LOCAL_BSSIDLO1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_bssidlo1 : 32; -+ } b; -+} MAC_LOCAL_BSSIDLO1_FIELD_T; -+ -+#define MAC_LOCAL_BSSIDHI1 (WIFI_MAC_MAIN_REG_BASE + 0x48) -+// Bit 15 :0 reg_mac_local_bssidhi1 U RW default = 'h0 -+typedef union MAC_LOCAL_BSSIDHI1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_bssidhi1 : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_LOCAL_BSSIDHI1_FIELD_T; -+ -+#define MAC_LOCAL_BSSIDLO2 (WIFI_MAC_MAIN_REG_BASE + 0x4c) -+// Bit 31 :0 reg_mac_local_bssidlo2 U RW default = 'h0 -+typedef union MAC_LOCAL_BSSIDLO2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_bssidlo2 : 32; -+ } b; -+} MAC_LOCAL_BSSIDLO2_FIELD_T; -+ -+#define MAC_LOCAL_BSSIDHI2 (WIFI_MAC_MAIN_REG_BASE + 0x50) -+// Bit 15 :0 reg_mac_local_bssidhi2 U RW default = 'h0 -+typedef union MAC_LOCAL_BSSIDHI2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_bssidhi2 : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_LOCAL_BSSIDHI2_FIELD_T; -+ -+#define MAC_LOCAL_BSSIDLO3 (WIFI_MAC_MAIN_REG_BASE + 0x54) -+// Bit 31 :0 reg_mac_local_bssidlo3 U RW default = 'h0 -+typedef union MAC_LOCAL_BSSIDLO3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_bssidlo3 : 32; -+ } b; -+} MAC_LOCAL_BSSIDLO3_FIELD_T; -+ -+#define MAC_LOCAL_BSSIDHI3 (WIFI_MAC_MAIN_REG_BASE + 0x58) -+// Bit 15 :0 reg_mac_local_bssidhi3 U RW default = 'h0 -+typedef union MAC_LOCAL_BSSIDHI3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_local_bssidhi3 : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_LOCAL_BSSIDHI3_FIELD_T; -+ -+#define STATUS_CNT_CTRL_IRQ (WIFI_MAC_MAIN_REG_BASE + 0x5c) -+// Bit 5 :0 reg_fiq_status_cnt_idx0 U RW default = 'h0 -+// Bit 11 :6 reg_fiq_status_cnt_idx1 U RW default = 'h1 -+// Bit 17 :12 reg_fiq_status_cnt_idx2 U RW default = 'h9 -+// Bit 23 :18 reg_fiq_status_cnt_idx3 U RW default = 'h13 -+// Bit 24 reg_fiq_status_cnt_en0 U RW default = 'h1 -+// Bit 25 reg_fiq_status_cnt_en1 U RW default = 'h1 -+// Bit 26 reg_fiq_status_cnt_en2 U RW default = 'h1 -+// Bit 27 reg_fiq_status_cnt_en3 U RW default = 'h0 -+// Bit 28 reg_fiq_status_cnt_clr0 U RW default = 'h0 -+// Bit 29 reg_fiq_status_cnt_clr1 U RW default = 'h0 -+// Bit 30 reg_fiq_status_cnt_clr2 U RW default = 'h0 -+// Bit 31 reg_fiq_status_cnt_clr3 U RW default = 'h0 -+typedef union STATUS_CNT_CTRL_IRQ_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_fiq_status_cnt_idx0 : 6; -+ unsigned int reg_fiq_status_cnt_idx1 : 6; -+ unsigned int reg_fiq_status_cnt_idx2 : 6; -+ unsigned int reg_fiq_status_cnt_idx3 : 6; -+ unsigned int reg_fiq_status_cnt_en0 : 1; -+ unsigned int reg_fiq_status_cnt_en1 : 1; -+ unsigned int reg_fiq_status_cnt_en2 : 1; -+ unsigned int reg_fiq_status_cnt_en3 : 1; -+ unsigned int reg_fiq_status_cnt_clr0 : 1; -+ unsigned int reg_fiq_status_cnt_clr1 : 1; -+ unsigned int reg_fiq_status_cnt_clr2 : 1; -+ unsigned int reg_fiq_status_cnt_clr3 : 1; -+ } b; -+} STATUS_CNT_CTRL_IRQ_FIELD_T; -+ -+#define IRQ_STATUS_CNT0 (WIFI_MAC_MAIN_REG_BASE + 0x60) -+// Bit 31 :0 ro_fiq_status_cnt0 U RO default = 'h0 -+typedef union IRQ_STATUS_CNT0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_fiq_status_cnt0 : 32; -+ } b; -+} IRQ_STATUS_CNT0_FIELD_T; -+ -+#define IRQ_STATUS_CNT1 (WIFI_MAC_MAIN_REG_BASE + 0x64) -+// Bit 31 :0 ro_fiq_status_cnt1 U RO default = 'h0 -+typedef union IRQ_STATUS_CNT1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_fiq_status_cnt1 : 32; -+ } b; -+} IRQ_STATUS_CNT1_FIELD_T; -+ -+#define IRQ_STATUS_CNT2 (WIFI_MAC_MAIN_REG_BASE + 0x68) -+// Bit 31 :0 ro_fiq_status_cnt2 U RO default = 'h0 -+typedef union IRQ_STATUS_CNT2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_fiq_status_cnt2 : 32; -+ } b; -+} IRQ_STATUS_CNT2_FIELD_T; -+ -+#define MAC_CLKJIC0 (WIFI_MAC_MAIN_REG_BASE + 0x6c) -+// Bit 7 :0 reg_rx_clk_jic U RW default = 'hff -+// Bit 15 :8 reg_tx_clk_jic U RW default = 'hff -+// Bit 23 :16 reg_timer_clk_jic U RW default = 'hff -+// Bit 31 :24 reg_reg_clk_jic U RW default = 'hff -+typedef union MAC_CLKJIC0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_clk_jic : 8; -+ unsigned int reg_tx_clk_jic : 8; -+ unsigned int reg_timer_clk_jic : 8; -+ unsigned int reg_reg_clk_jic : 8; -+ } b; -+} MAC_CLKJIC0_FIELD_T; -+ -+#define MAC_CLKJIC1 (WIFI_MAC_MAIN_REG_BASE + 0x70) -+// Bit 11 :0 reg_dp_clk_jic U RW default = 'hfff -+// Bit 21 :16 reg_ahb_clk_jic U RW default = 'h3f -+typedef union MAC_CLKJIC1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_dp_clk_jic : 12; -+ unsigned int rsvd_0 : 4; -+ unsigned int reg_ahb_clk_jic : 6; -+ unsigned int rsvd_1 : 10; -+ } b; -+} MAC_CLKJIC1_FIELD_T; -+ -+#define IRQ_STATUS_CNT3 (WIFI_MAC_MAIN_REG_BASE + 0x74) -+// Bit 31 :0 ro_fiq_status_cnt3 U RO default = 'h0 -+typedef union IRQ_STATUS_CNT3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_fiq_status_cnt3 : 32; -+ } b; -+} IRQ_STATUS_CNT3_FIELD_T; -+ -+#define MAC_DEBUG0 (WIFI_MAC_MAIN_REG_BASE + 0x78) -+// Bit 31 :0 reg_mac_debug0 U RW default = 'h0 -+typedef union MAC_DEBUG0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_debug0 : 32; -+ } b; -+} MAC_DEBUG0_FIELD_T; -+ -+#define MAC_DEBUG1 (WIFI_MAC_MAIN_REG_BASE + 0x7c) -+// Bit 31 :0 reg_mac_debug1 U RW default = 'h0 -+typedef union MAC_DEBUG1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_debug1 : 32; -+ } b; -+} MAC_DEBUG1_FIELD_T; -+ -+#define MAC_DEBUG2 (WIFI_MAC_MAIN_REG_BASE + 0x80) -+// Bit 31 :0 reg_mac_debug2 U RW default = 'h0 -+typedef union MAC_DEBUG2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_debug2 : 32; -+ } b; -+} MAC_DEBUG2_FIELD_T; -+ -+#define MAC_DEBUG3 (WIFI_MAC_MAIN_REG_BASE + 0x84) -+// Bit 31 :0 reg_mac_debug3 U RW default = 'h0 -+typedef union MAC_DEBUG3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_debug3 : 32; -+ } b; -+} MAC_DEBUG3_FIELD_T; -+ -+#define MAC_FIACMAXDEL (WIFI_MAC_MAIN_REG_BASE + 0x88) -+// Bit 6 :0 reg_txvector_hw_maxdel U RW default = 'h3e -+// Bit 12 :8 reg_fiac_maxdela U RW default = 'h18 -+// Bit 20 :16 reg_fiac_maxdelb U RW default = 'h10 -+typedef union MAC_FIACMAXDEL_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txvector_hw_maxdel : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_fiac_maxdela : 5; -+ unsigned int rsvd_1 : 3; -+ unsigned int reg_fiac_maxdelb : 5; -+ unsigned int rsvd_2 : 11; -+ } b; -+} MAC_FIACMAXDEL_FIELD_T; -+ -+#define DEVICE0_MODE (WIFI_MAC_MAIN_REG_BASE + 0x90) -+// Bit 31 :0 reg_device0_mode U RW default = 'h0 -+typedef union DEVICE0_MODE_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_device0_mode : 32; -+ } b; -+} DEVICE0_MODE_FIELD_T; -+ -+#define DEVICE1_MODE (WIFI_MAC_MAIN_REG_BASE + 0x94) -+// Bit 31 :0 reg_device1_mode U RW default = 'h0 -+typedef union DEVICE1_MODE_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_device1_mode : 32; -+ } b; -+} DEVICE1_MODE_FIELD_T; -+ -+#define DEVICE2_MODE (WIFI_MAC_MAIN_REG_BASE + 0x98) -+// Bit 31 :0 reg_device2_mode U RW default = 'h0 -+typedef union DEVICE2_MODE_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_device2_mode : 32; -+ } b; -+} DEVICE2_MODE_FIELD_T; -+ -+#define DEVICE3_MODE (WIFI_MAC_MAIN_REG_BASE + 0x9c) -+// Bit 31 :0 reg_device3_mode U RW default = 'h0 -+typedef union DEVICE3_MODE_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_device3_mode : 32; -+ } b; -+} DEVICE3_MODE_FIELD_T; -+ -+#define MAC_INTNUM (WIFI_MAC_MAIN_REG_BASE + 0xa0) -+// Bit 15 :0 reg_rxend_cnt U RW default = 'h0 -+// Bit 31 :16 reg_rxstart_cnt U RW default = 'h0 -+typedef union MAC_INTNUM_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rxend_cnt : 16; -+ unsigned int reg_rxstart_cnt : 16; -+ } b; -+} MAC_INTNUM_FIELD_T; -+ -+#define FRAME_TYPE_CNT_CTRL (WIFI_MAC_MAIN_REG_BASE + 0xa4) -+// Bit 5 :0 reg_frame_type_idx0 U RW default = 'h1b -+// Bit 11 :6 reg_frame_type_idx1 U RW default = 'h1c -+// Bit 17 :12 reg_frame_type_idx2 U RW default = 'h1d -+// Bit 23 :18 reg_frame_type_idx3 U RW default = 'h28 -+// Bit 24 reg_frame_cnt_en0 U RW default = 'h1 -+// Bit 25 reg_frame_cnt_en1 U RW default = 'h1 -+// Bit 26 reg_frame_cnt_en2 U RW default = 'h1 -+// Bit 27 reg_frame_cnt_en3 U RW default = 'h1 -+// Bit 28 reg_frame_cnt_clr0 U RW default = 'h0 -+// Bit 29 reg_frame_cnt_clr1 U RW default = 'h0 -+// Bit 30 reg_frame_cnt_clr2 U RW default = 'h0 -+// Bit 31 reg_frame_cnt_clr3 U RW default = 'h0 -+typedef union FRAME_TYPE_CNT_CTRL_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_frame_type_idx0 : 6; -+ unsigned int reg_frame_type_idx1 : 6; -+ unsigned int reg_frame_type_idx2 : 6; -+ unsigned int reg_frame_type_idx3 : 6; -+ unsigned int reg_frame_cnt_en0 : 1; -+ unsigned int reg_frame_cnt_en1 : 1; -+ unsigned int reg_frame_cnt_en2 : 1; -+ unsigned int reg_frame_cnt_en3 : 1; -+ unsigned int reg_frame_cnt_clr0 : 1; -+ unsigned int reg_frame_cnt_clr1 : 1; -+ unsigned int reg_frame_cnt_clr2 : 1; -+ unsigned int reg_frame_cnt_clr3 : 1; -+ } b; -+} FRAME_TYPE_CNT_CTRL_FIELD_T; -+ -+#define FRAM_TYPE_CNT0 (WIFI_MAC_MAIN_REG_BASE + 0xa8) -+// Bit 31 :0 ro_frame_cnt0 U RO default = 'h0 -+typedef union FRAM_TYPE_CNT0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_frame_cnt0 : 32; -+ } b; -+} FRAM_TYPE_CNT0_FIELD_T; -+ -+#define FRAM_TYPE_CNT1 (WIFI_MAC_MAIN_REG_BASE + 0xac) -+// Bit 31 :0 ro_frame_cnt1 U RO default = 'h0 -+typedef union FRAM_TYPE_CNT1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_frame_cnt1 : 32; -+ } b; -+} FRAM_TYPE_CNT1_FIELD_T; -+ -+#define FRAM_TYPE_CNT2 (WIFI_MAC_MAIN_REG_BASE + 0xf4) -+// Bit 31 :0 ro_frame_cnt2 U RO default = 'h0 -+typedef union FRAM_TYPE_CNT2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_frame_cnt2 : 32; -+ } b; -+} FRAM_TYPE_CNT2_FIELD_T; -+ -+#define FRAM_TYPE_CNT3 (WIFI_MAC_MAIN_REG_BASE + 0xf8) -+// Bit 31 :0 ro_frame_cnt3 U RO default = 'h0 -+typedef union FRAM_TYPE_CNT3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_frame_cnt3 : 32; -+ } b; -+} FRAM_TYPE_CNT3_FIELD_T; -+ -+#define PACKET_IFS_US (WIFI_MAC_MAIN_REG_BASE + 0x124) -+// Bit 7 :0 reg_dot11n_sifs_us U RW default = 'ha -+// Bit 15 :8 reg_dot11b_sifs_us U RW default = 'ha -+// Bit 19 :16 reg_rifs_us U RW default = 'h2 -+// Bit 23 :20 reg_signal_extension_us U RW default = 'h6 -+// Bit 31 :24 reg_packet_ifs_rsvd U RW default = 'h0 -+typedef union PACKET_IFS_US_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_dot11n_sifs_us : 8; -+ unsigned int reg_dot11b_sifs_us : 8; -+ unsigned int reg_rifs_us : 4; -+ unsigned int reg_signal_extension_us : 4; -+ unsigned int reg_packet_ifs_rsvd : 8; -+ } b; -+} PACKET_IFS_US_FIELD_T; -+ -+#define CTRL_FRAME_MASK (WIFI_MAC_MAIN_REG_BASE + 0x138) -+// Bit 3 :0 reg_tx_control_frame_mask U RW default = 'h0 -+typedef union CTRL_FRAME_MASK_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_tx_control_frame_mask : 4; -+ unsigned int rsvd_0 : 28; -+ } b; -+} CTRL_FRAME_MASK_FIELD_T; -+ -+#define MAC_KEYINFO0 (WIFI_MAC_MAIN_REG_BASE + 0x140) -+// Bit 3 :0 reg_unicast_cipher_type0 U RW default = 'h0 -+// Bit 7 :4 reg_multicast_cipher_type0 U RW default = 'h0 -+// Bit 8 reg_multicast_key_lock0 U RW default = 'h0 -+// Bit 19 :16 reg_unicast_cipher_type1 U RW default = 'h0 -+// Bit 23 :20 reg_multicast_cipher_type1 U RW default = 'h0 -+// Bit 24 reg_multicast_key_lock1 U RW default = 'h0 -+typedef union MAC_KEYINFO0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_unicast_cipher_type0 : 4; -+ unsigned int reg_multicast_cipher_type0 : 4; -+ unsigned int reg_multicast_key_lock0 : 1; -+ unsigned int rsvd_0 : 7; -+ unsigned int reg_unicast_cipher_type1 : 4; -+ unsigned int reg_multicast_cipher_type1 : 4; -+ unsigned int reg_multicast_key_lock1 : 1; -+ unsigned int rsvd_1 : 7; -+ } b; -+} MAC_KEYINFO0_FIELD_T; -+ -+#define MAC_KEYINFO1 (WIFI_MAC_MAIN_REG_BASE + 0x144) -+// Bit 3 :0 reg_unicast_cipher_type2 U RW default = 'h0 -+// Bit 7 :4 reg_multicast_cipher_type2 U RW default = 'h0 -+// Bit 8 reg_multicast_key_lock2 U RW default = 'h0 -+// Bit 19 :16 reg_unicast_cipher_type3 U RW default = 'h0 -+// Bit 23 :20 reg_multicast_cipher_type3 U RW default = 'h0 -+// Bit 24 reg_multicast_key_lock3 U RW default = 'h0 -+typedef union MAC_KEYINFO1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_unicast_cipher_type2 : 4; -+ unsigned int reg_multicast_cipher_type2 : 4; -+ unsigned int reg_multicast_key_lock2 : 1; -+ unsigned int rsvd_0 : 7; -+ unsigned int reg_unicast_cipher_type3 : 4; -+ unsigned int reg_multicast_cipher_type3 : 4; -+ unsigned int reg_multicast_key_lock3 : 1; -+ unsigned int rsvd_1 : 7; -+ } b; -+} MAC_KEYINFO1_FIELD_T; -+ -+#define MAC_KEYTABLE_CMD (WIFI_MAC_MAIN_REG_BASE + 0x148) -+// Bit 11 :0 reg_keytable_cmd_addr U RW default = 'h0 -+// Bit 15 :12 reg_keytable_cmd_cipher_type U RW default = 'h0 -+// Bit 18 :16 reg_keytable_cmd_type U RW default = 'h0 -+// Bit 19 reg_keytable_cmd_multikey_sel U RW default = 'h0 -+// Bit 27 :20 reg_keytable_cmd_stationid U RW default = 'h0 -+// Bit 29 :28 ro_keytable_cmd_fail U RO default = 'h0 -+// Bit 30 reg_keytable_cmd_en U RW default = 'h0 -+// Bit 31 reg_keytable_cmd_ready U RW default = 'h1 -+typedef union MAC_KEYTABLE_CMD_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_keytable_cmd_addr : 12; -+ unsigned int reg_keytable_cmd_cipher_type : 4; -+ unsigned int reg_keytable_cmd_type : 3; -+ unsigned int reg_keytable_cmd_multikey_sel : 1; -+ unsigned int reg_keytable_cmd_stationid : 8; -+ unsigned int ro_keytable_cmd_fail : 2; -+ unsigned int reg_keytable_cmd_en : 1; -+ unsigned int reg_keytable_cmd_ready : 1; -+ } b; -+} MAC_KEYTABLE_CMD_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA (WIFI_MAC_MAIN_REG_BASE + 0x14c) -+// Bit 31 :0 reg_mac_keytable_data U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data : 32; -+ } b; -+} MAC_KEYTABLE_DATA_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA2 (WIFI_MAC_MAIN_REG_BASE + 0x150) -+// Bit 31 :0 reg_mac_keytable_data2 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data2 : 32; -+ } b; -+} MAC_KEYTABLE_DATA2_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA3 (WIFI_MAC_MAIN_REG_BASE + 0x154) -+// Bit 31 :0 reg_mac_keytable_data3 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data3 : 32; -+ } b; -+} MAC_KEYTABLE_DATA3_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA4 (WIFI_MAC_MAIN_REG_BASE + 0x158) -+// Bit 31 :0 reg_mac_keytable_data4 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data4 : 32; -+ } b; -+} MAC_KEYTABLE_DATA4_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA5 (WIFI_MAC_MAIN_REG_BASE + 0x15c) -+// Bit 31 :0 reg_mac_keytable_data5 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data5 : 32; -+ } b; -+} MAC_KEYTABLE_DATA5_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA6 (WIFI_MAC_MAIN_REG_BASE + 0x160) -+// Bit 31 :0 reg_mac_keytable_data6 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data6 : 32; -+ } b; -+} MAC_KEYTABLE_DATA6_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA7 (WIFI_MAC_MAIN_REG_BASE + 0x164) -+// Bit 31 :0 reg_mac_keytable_data7 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data7 : 32; -+ } b; -+} MAC_KEYTABLE_DATA7_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA8 (WIFI_MAC_MAIN_REG_BASE + 0x168) -+// Bit 31 :0 reg_mac_keytable_data8 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data8 : 32; -+ } b; -+} MAC_KEYTABLE_DATA8_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA9 (WIFI_MAC_MAIN_REG_BASE + 0x16c) -+// Bit 31 :0 reg_mac_keytable_data9 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data9 : 32; -+ } b; -+} MAC_KEYTABLE_DATA9_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA10 (WIFI_MAC_MAIN_REG_BASE + 0x170) -+// Bit 31 :0 reg_mac_keytable_data10 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA10_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data10 : 32; -+ } b; -+} MAC_KEYTABLE_DATA10_FIELD_T; -+ -+#define MAC_KEYTABLE_DATA11 (WIFI_MAC_MAIN_REG_BASE + 0x174) -+// Bit 31 :0 reg_mac_keytable_data11 U RW default = 'h0 -+typedef union MAC_KEYTABLE_DATA11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_keytable_data11 : 32; -+ } b; -+} MAC_KEYTABLE_DATA11_FIELD_T; -+ -+#define MAC_KEYMAP (WIFI_MAC_MAIN_REG_BASE + 0x178) -+// Bit 7 :0 reg_keytable_offset0 U RW default = 'h0 -+// Bit 15 :8 reg_keytable_offset1 U RW default = 'h0 -+// Bit 23 :16 reg_keytable_offset2 U RW default = 'h0 -+// Bit 31 :24 reg_keytable_offset3 U RW default = 'h0 -+typedef union MAC_KEYMAP_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_keytable_offset0 : 8; -+ unsigned int reg_keytable_offset1 : 8; -+ unsigned int reg_keytable_offset2 : 8; -+ unsigned int reg_keytable_offset3 : 8; -+ } b; -+} MAC_KEYMAP_FIELD_T; -+ -+#define MAC_DBG_STATUS1 (WIFI_MAC_MAIN_REG_BASE + 0x190) -+// Bit 4 :0 ro_key_err_type U RO default = 'h0 -+typedef union MAC_DBG_STATUS1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_key_err_type : 5; -+ unsigned int rsvd_0 : 27; -+ } b; -+} MAC_DBG_STATUS1_FIELD_T; -+ -+#define TX_START_CHK (WIFI_MAC_MAIN_REG_BASE + 0x1a8) -+// Bit 25 :0 ro_txstart_cnt U RO default = 'h0 -+// Bit 26 reg_txstart_cnt_en U RW default = 'h0 -+// Bit 27 reg_txstart_cnt_clr U RW default = 'h1 -+// Bit 31 :28 reg_check_tx_queue U RW default = 'h9 -+typedef union TX_START_CHK_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txstart_cnt : 26; -+ unsigned int reg_txstart_cnt_en : 1; -+ unsigned int reg_txstart_cnt_clr : 1; -+ unsigned int reg_check_tx_queue : 4; -+ } b; -+} TX_START_CHK_FIELD_T; -+ -+#define TX_END_CHK (WIFI_MAC_MAIN_REG_BASE + 0x1ac) -+// Bit 25 :0 ro_txend_cnt U RO default = 'h0 -+// Bit 26 reg_txend_cnt_en U RW default = 'h0 -+// Bit 27 reg_txend_cnt_clr U RW default = 'h1 -+typedef union TX_END_CHK_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txend_cnt : 26; -+ unsigned int reg_txend_cnt_en : 1; -+ unsigned int reg_txend_cnt_clr : 1; -+ unsigned int rsvd_0 : 4; -+ } b; -+} TX_END_CHK_FIELD_T; -+ -+#define TX_ENABLE_CHK (WIFI_MAC_MAIN_REG_BASE + 0x1b0) -+// Bit 25 :0 ro_txenable_cnt U RO default = 'h0 -+// Bit 26 reg_txenable_cnt_en U RW default = 'h0 -+// Bit 27 reg_txenable_cnt_clr U RW default = 'h1 -+typedef union TX_ENABLE_CHK_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txenable_cnt : 26; -+ unsigned int reg_txenable_cnt_en : 1; -+ unsigned int reg_txenable_cnt_clr : 1; -+ unsigned int rsvd_0 : 4; -+ } b; -+} TX_ENABLE_CHK_FIELD_T; -+ -+#define TX_ENABLEWR_CHK (WIFI_MAC_MAIN_REG_BASE + 0x1b4) -+// Bit 25 :0 ro_txenable_wr_cnt_en U RO default = 'h0 -+// Bit 26 reg_txenable_wr_cnt_en U RW default = 'h0 -+// Bit 27 reg_txenable_wr_cnt_clr U RW default = 'h1 -+typedef union TX_ENABLEWR_CHK_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_txenable_wr_cnt_en : 26; -+ unsigned int reg_txenable_wr_cnt_en : 1; -+ unsigned int reg_txenable_wr_cnt_clr : 1; -+ unsigned int rsvd_0 : 4; -+ } b; -+} TX_ENABLEWR_CHK_FIELD_T; -+ -+#define MAC_DATA_LOCAL_CNT (WIFI_MAC_MAIN_REG_BASE + 0x1b8) -+// Bit 28 :0 ro_mac_data_local_cnt U RO default = 'h0 -+// Bit 29 reg_mac_data_local_cnt_qos U RW default = 'h0 -+// Bit 30 reg_mac_data_local_cnt_clr U RW default = 'h0 -+// Bit 31 reg_mac_data_local_cnt_en U RW default = 'h0 -+typedef union MAC_DATA_LOCAL_CNT_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_mac_data_local_cnt : 29; -+ unsigned int reg_mac_data_local_cnt_qos : 1; -+ unsigned int reg_mac_data_local_cnt_clr : 1; -+ unsigned int reg_mac_data_local_cnt_en : 1; -+ } b; -+} MAC_DATA_LOCAL_CNT_FIELD_T; -+ -+#define MAC_DATA_OTHER_CNT (WIFI_MAC_MAIN_REG_BASE + 0x1bc) -+// Bit 29 :0 ro_mac_data_other_cnt U RO default = 'h0 -+// Bit 30 reg_mac_data_other_cnt_clr U RW default = 'h0 -+// Bit 31 reg_mac_data_other_cnt_en U RW default = 'h0 -+typedef union MAC_DATA_OTHER_CNT_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_mac_data_other_cnt : 30; -+ unsigned int reg_mac_data_other_cnt_clr : 1; -+ unsigned int reg_mac_data_other_cnt_en : 1; -+ } b; -+} MAC_DATA_OTHER_CNT_FIELD_T; -+ -+#define MAC_DATA_MULTI_CNT (WIFI_MAC_MAIN_REG_BASE + 0x1c0) -+// Bit 29 :0 ro_mac_data_multi_cnt U RO default = 'h0 -+// Bit 30 reg_mac_data_multi_cnt_clr U RW default = 'h0 -+// Bit 31 reg_mac_data_multi_cnt_en U RW default = 'h0 -+typedef union MAC_DATA_MULTI_CNT_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_mac_data_multi_cnt : 30; -+ unsigned int reg_mac_data_multi_cnt_clr : 1; -+ unsigned int reg_mac_data_multi_cnt_en : 1; -+ } b; -+} MAC_DATA_MULTI_CNT_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/wifi_mac_rx_reg.h b/drivers/net/wireless/w1/common/wifi_mac_rx_reg.h -new file mode 100644 -index 000000000000..1291feb7601a ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_mac_rx_reg.h -@@ -0,0 +1,313 @@ -+#ifdef WIFI_MAC_RX_REG -+#else -+#define WIFI_MAC_RX_REG -+ -+ -+#define WIFI_MAC_RX_REG_BASE (0xa00000) -+ -+#define MAC_RXWD_TIMER (WIFI_MAC_RX_REG_BASE + 0x1c4) -+// Bit 19 :0 reg_rx_wd_timer_duration U RW default = 'h4e20 -+// Bit 21 reg_rx_wd_timer_en U RW default = 'h1 -+// Bit 27 :24 reg_rxend_wait_cnum U RW default = 'h6 -+// Bit 31 :28 reg_rxstart_wait_cnum U RW default = 'h8 -+typedef union MAC_RXWD_TIMER_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_wd_timer_duration : 20; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_rx_wd_timer_en : 1; -+ unsigned int rsvd_1 : 2; -+ unsigned int reg_rxend_wait_cnum : 4; -+ unsigned int reg_rxstart_wait_cnum : 4; -+ } b; -+} MAC_RXWD_TIMER_FIELD_T; -+ -+#define MAC_CHANNEL_NUM (WIFI_MAC_RX_REG_BASE + 0x1e0) -+// Bit 7 :0 reg_rx_channel_num U RW default = 'h0 -+typedef union MAC_CHANNEL_NUM_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_channel_num : 8; -+ unsigned int rsvd_0 : 24; -+ } b; -+} MAC_CHANNEL_NUM_FIELD_T; -+ -+#define MAC_RX_BEACON_BASEADDR (WIFI_MAC_RX_REG_BASE + 0x1e4) -+// Bit 31 :0 reg_rx_beacon_baseaddr U RW default = 'h0 -+typedef union MAC_RX_BEACON_BASEADDR_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_beacon_baseaddr : 32; -+ } b; -+} MAC_RX_BEACON_BASEADDR_FIELD_T; -+ -+#define MAC_RXENDTIME (WIFI_MAC_RX_REG_BASE + 0x1e8) -+// Bit 31 :0 ro_mac_rxendtime U RO default = 'h0 -+typedef union MAC_RXENDTIME_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_mac_rxendtime : 32; -+ } b; -+} MAC_RXENDTIME_FIELD_T; -+ -+#define MAC_RXSTARTTIME (WIFI_MAC_RX_REG_BASE + 0x1ec) -+// Bit 31 :0 ro_mac_rxstarttime U RO default = 'h0 -+typedef union MAC_RXSTARTTIME_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_mac_rxstarttime : 32; -+ } b; -+} MAC_RXSTARTTIME_FIELD_T; -+ -+#define MAC_RX_BASEADDR (WIFI_MAC_RX_REG_BASE + 0x1f0) -+// Bit 31 :0 reg_rx_baseaddr U RW default = 'h0 -+typedef union MAC_RX_BASEADDR_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_baseaddr : 32; -+ } b; -+} MAC_RX_BASEADDR_FIELD_T; -+ -+#define MAC_RX_EPOINTER (WIFI_MAC_RX_REG_BASE + 0x1f4) -+// Bit 15 :0 reg_rx_eptr U RW default = 'h0 -+typedef union MAC_RX_EPOINTER_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_eptr : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_RX_EPOINTER_FIELD_T; -+ -+#define MAC_RX_COUNT (WIFI_MAC_RX_REG_BASE + 0x1f8) -+// Bit 15 :0 reg_rx_count_o U RW default = 'h0 -+typedef union MAC_RX_COUNT_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_count_o : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_RX_COUNT_FIELD_T; -+ -+#define MAC_RX_WPOINTER (WIFI_MAC_RX_REG_BASE + 0x1fc) -+// Bit 15 :0 reg_rx_wptr_o U RW default = 'h0 -+typedef union MAC_RX_WPOINTER_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_wptr_o : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_RX_WPOINTER_FIELD_T; -+ -+#define MAC_RX_FRPOINTER (WIFI_MAC_RX_REG_BASE + 0x200) -+// Bit 15 :0 reg_rx_frptr U RW default = 'h0 -+typedef union MAC_RX_FRPOINTER_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_frptr : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_RX_FRPOINTER_FIELD_T; -+ -+#define MAC_RX_HRPOINTER (WIFI_MAC_RX_REG_BASE + 0x204) -+// Bit 15 :0 ro_rx_hrptr_o U RO default = 'h0 -+typedef union MAC_RX_HRPOINTER_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rx_hrptr_o : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_RX_HRPOINTER_FIELD_T; -+ -+#define MAC_BITMAPTABLE_CMD (WIFI_MAC_RX_REG_BASE + 0x20c) -+// Bit 8 :0 reg_bitmaptable_cmd_addr U RW default = 'h0 -+// Bit 17 :16 reg_bitmaptable_cmd_type U RW default = 'h0 -+// Bit 29 ro_bitmaptable_cmd_fail U RO default = 'h0 -+// Bit 30 reg_bitmaptable_cmd_en U RW default = 'h0 -+// Bit 31 reg_bitmaptable_ready U RW default = 'h1 -+typedef union MAC_BITMAPTABLE_CMD_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_bitmaptable_cmd_addr : 9; -+ unsigned int rsvd_0 : 7; -+ unsigned int reg_bitmaptable_cmd_type : 2; -+ unsigned int rsvd_1 : 11; -+ unsigned int ro_bitmaptable_cmd_fail : 1; -+ unsigned int reg_bitmaptable_cmd_en : 1; -+ unsigned int reg_bitmaptable_ready : 1; -+ } b; -+} MAC_BITMAPTABLE_CMD_FIELD_T; -+ -+#define MAC_BITMAPTABLE_DATA (WIFI_MAC_RX_REG_BASE + 0x210) -+// Bit 31 :0 reg_mac_bitmaptable_data U RW default = 'h0 -+typedef union MAC_BITMAPTABLE_DATA_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_bitmaptable_data : 32; -+ } b; -+} MAC_BITMAPTABLE_DATA_FIELD_T; -+ -+#define MAC_BITMAPTABLE_DATA2 (WIFI_MAC_RX_REG_BASE + 0x214) -+// Bit 31 :0 reg_mac_bitmaptable_data2 U RW default = 'h0 -+typedef union MAC_BITMAPTABLE_DATA2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_bitmaptable_data2 : 32; -+ } b; -+} MAC_BITMAPTABLE_DATA2_FIELD_T; -+ -+#define MAC_BITMAPTABLE_DATA3 (WIFI_MAC_RX_REG_BASE + 0x218) -+// Bit 23 :0 reg_mac_bitmaptable_data3 U RW default = 'h0 -+typedef union MAC_BITMAPTABLE_DATA3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_bitmaptable_data3 : 24; -+ unsigned int rsvd_0 : 8; -+ } b; -+} MAC_BITMAPTABLE_DATA3_FIELD_T; -+ -+#define MAC_RXINFO (WIFI_MAC_RX_REG_BASE + 0x21c) -+// Bit 7 :0 ro_rx_rate U RO default = 'h0 -+// Bit 15 :10 ro_rx_packet_type U RO default = 'h0 -+// Bit 17 :16 ro_rx_a1match_id U RO default = 'h0 -+// Bit 21 :20 ro_rx_bssidmatch_id U RO default = 'h0 -+// Bit 31 :24 ro_rx_rssi_ant0 U RO default = 'h0 -+typedef union MAC_RXINFO_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rx_rate : 8; -+ unsigned int rsvd_0 : 2; -+ unsigned int ro_rx_packet_type : 6; -+ unsigned int ro_rx_a1match_id : 2; -+ unsigned int rsvd_1 : 2; -+ unsigned int ro_rx_bssidmatch_id : 2; -+ unsigned int rsvd_2 : 2; -+ unsigned int ro_rx_rssi_ant0 : 8; -+ } b; -+} MAC_RXINFO_FIELD_T; -+ -+#define MAC_RXINFO2 (WIFI_MAC_RX_REG_BASE + 0x220) -+// Bit 31 :0 ro_rx_a2_lo U RO default = 'h0 -+typedef union MAC_RXINFO2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_rx_a2_lo : 32; -+ } b; -+} MAC_RXINFO2_FIELD_T; -+ -+#define MAC_BMFM_INFO (WIFI_MAC_RX_REG_BASE + 0x224) -+// Bit 0 reg_cdbk_info U RW default = 'h0 -+// Bit 5 :4 reg_ng U RW default = 'h0 -+// Bit 19 :8 rxrat_ndp_vector U RW default = 'h60b -+// Bit 23 :20 reg_wfull_space U RW default = 'h4 -+// Bit 28 reg_bmfm_disable U RW default = 'h0 -+typedef union MAC_BMFM_INFO_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_cdbk_info : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int reg_ng : 2; -+ unsigned int rsvd_1 : 2; -+ unsigned int rxrat_ndp_vector : 12; -+ unsigned int reg_wfull_space : 4; -+ unsigned int rsvd_2 : 4; -+ unsigned int reg_bmfm_disable : 1; -+ unsigned int rsvd_3 : 3; -+ } b; -+} MAC_BMFM_INFO_FIELD_T; -+ -+#define MAC_AID (WIFI_MAC_RX_REG_BASE + 0x228) -+// Bit 15 :0 mac_aid U RW default = 'h0 -+typedef union MAC_AID_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int mac_aid : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_AID_FIELD_T; -+ -+#define MAC_BMFM_CNT (WIFI_MAC_RX_REG_BASE + 0x22c) -+// Bit 15 :0 cnt_bmfm_pkt U RO default = 'h0 -+// Bit 31 :16 cnt_bmfm_pkt_err U RO default = 'h0 -+typedef union MAC_BMFM_CNT_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int cnt_bmfm_pkt : 16; -+ unsigned int cnt_bmfm_pkt_err : 16; -+ } b; -+} MAC_BMFM_CNT_FIELD_T; -+ -+#define MAC_COMPRESSED_BMFM_CNT (WIFI_MAC_RX_REG_BASE + 0x230) -+// Bit 15 :0 cnt_compressed_bmfm_frame U RO default = 'h0 -+typedef union MAC_COMPRESSED_BMFM_CNT_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int cnt_compressed_bmfm_frame : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} MAC_COMPRESSED_BMFM_CNT_FIELD_T; -+ -+#define MAC_RX_BEACON_CTRL (WIFI_MAC_RX_REG_BASE + 0x234) -+// Bit 15 :0 reg_rx_beacon_buf_len U RW default = 'h0 -+// Bit 16 reg_rx_beacon_path_sel U RW default = 'h0 -+// Bit 19 :17 ro_rx_beacon_page_num U RO default = 'h0 -+// Bit 29 :20 reg_rx_beacon_clr_timer U RW default = 'h50 -+// Bit 30 reg_rx_beacon_page_mode U RW default = 'h0 -+// Bit 31 reg_rx_beacon_flag U RW default = 'h0 -+typedef union MAC_RX_BEACON_CTRL_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_rx_beacon_buf_len : 16; -+ unsigned int reg_rx_beacon_path_sel : 1; -+ unsigned int ro_rx_beacon_page_num : 3; -+ unsigned int reg_rx_beacon_clr_timer : 10; -+ unsigned int reg_rx_beacon_page_mode : 1; -+ unsigned int reg_rx_beacon_flag : 1; -+ } b; -+} MAC_RX_BEACON_CTRL_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/wifi_mac_timer_reg.h b/drivers/net/wireless/w1/common/wifi_mac_timer_reg.h -new file mode 100644 -index 000000000000..176e37bface4 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_mac_timer_reg.h -@@ -0,0 +1,565 @@ -+#ifdef WIFI_MAC_TIMER_REG -+#else -+#define WIFI_MAC_TIMER_REG -+ -+ -+#define WIFI_MAC_TIMER_REG_BASE (0xa00000) -+ -+#define MAC_COUNT1 (WIFI_MAC_TIMER_REG_BASE + 0xb0) -+// Bit 6 :0 reg_txsifsb U RW default = 'h2c -+// Bit 14 :8 reg_rxsifsb U RW default = 'h1c -+// Bit 15 reg_rxsifsb_sel U RW default = 'h0 -+// Bit 22 :16 reg_ccasifs U RW default = 'h28 -+// Bit 28 :24 reg_txstartdel U RW default = 'h2 -+// Bit 31 :29 reg_rxendwait U RW default = 'h3 -+typedef union MAC_COUNT1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txsifsb : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_rxsifsb : 7; -+ unsigned int reg_rxsifsb_sel : 1; -+ unsigned int reg_ccasifs : 7; -+ unsigned int rsvd_1 : 1; -+ unsigned int reg_txstartdel : 5; -+ unsigned int reg_rxendwait : 3; -+ } b; -+} MAC_COUNT1_FIELD_T; -+ -+#define MAC_COUNT2 (WIFI_MAC_TIMER_REG_BASE + 0xb4) -+// Bit 6 :0 reg_txsifsa U RW default = 'h40 -+// Bit 14 :8 reg_rxsifsa U RW default = 'h24 -+// Bit 15 reg_rxsifsa_sel U RW default = 'h0 -+// Bit 21 :16 reg_slot U RW default = 'h9 -+// Bit 28 :24 reg_fiac_fw_maxdel U RW default = 'hf -+typedef union MAC_COUNT2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txsifsa : 7; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_rxsifsa : 7; -+ unsigned int reg_rxsifsa_sel : 1; -+ unsigned int reg_slot : 6; -+ unsigned int rsvd_1 : 2; -+ unsigned int reg_fiac_fw_maxdel : 5; -+ unsigned int rsvd_2 : 3; -+ } b; -+} MAC_COUNT2_FIELD_T; -+ -+#define MAC_COUNT3 (WIFI_MAC_TIMER_REG_BASE + 0xb8) -+// Bit 8 :0 reg_backoff_hold U RW default = 'h0 -+// Bit 12 reg_backoff_all_hold U RW default = 'h0 -+// Bit 17 :16 reg_txop_hold_status U RW default = 'h0 -+typedef union MAC_COUNT3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_backoff_hold : 9; -+ unsigned int rsvd_0 : 3; -+ unsigned int reg_backoff_all_hold : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int reg_txop_hold_status : 2; -+ unsigned int rsvd_2 : 14; -+ } b; -+} MAC_COUNT3_FIELD_T; -+ -+#define MAC_BACKOFF_CONTROL (WIFI_MAC_TIMER_REG_BASE + 0xbc) -+// Bit 7 :0 reg_slotn_s U RW default = 'h1 -+// Bit 11 reg_sifsn_s U RW default = 'h1 -+// Bit 15 reg_backoff_way U RW default = 'h1 -+// Bit 16 reg_ackto_way U RW default = 'h0 -+typedef union MAC_BACKOFF_CONTROL_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slotn_s : 8; -+ unsigned int rsvd_0 : 3; -+ unsigned int reg_sifsn_s : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int reg_backoff_way : 1; -+ unsigned int reg_ackto_way : 1; -+ unsigned int rsvd_2 : 15; -+ } b; -+} MAC_BACKOFF_CONTROL_FIELD_T; -+ -+#define MAC_ABSCNT0 (WIFI_MAC_TIMER_REG_BASE + 0xc0) -+// Bit 25 :0 reg_abscnt0 U RW default = 'h0 -+typedef union MAC_ABSCNT0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt0 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT0_FIELD_T; -+ -+#define MAC_ABSCNT1 (WIFI_MAC_TIMER_REG_BASE + 0xc4) -+// Bit 25 :0 reg_abscnt1 U RW default = 'h0 -+typedef union MAC_ABSCNT1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt1 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT1_FIELD_T; -+ -+#define MAC_ABSCNT2 (WIFI_MAC_TIMER_REG_BASE + 0xc8) -+// Bit 25 :0 reg_abscnt2 U RW default = 'h0 -+typedef union MAC_ABSCNT2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt2 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT2_FIELD_T; -+ -+#define MAC_ABSCNT3 (WIFI_MAC_TIMER_REG_BASE + 0xcc) -+// Bit 25 :0 reg_abscnt3 U RW default = 'h0 -+typedef union MAC_ABSCNT3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt3 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT3_FIELD_T; -+ -+#define MAC_ABSCNT4 (WIFI_MAC_TIMER_REG_BASE + 0xd0) -+// Bit 25 :0 reg_abscnt4 U RW default = 'h0 -+typedef union MAC_ABSCNT4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt4 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT4_FIELD_T; -+ -+#define MAC_ABSCNT5 (WIFI_MAC_TIMER_REG_BASE + 0xd4) -+// Bit 25 :0 reg_abscnt5 U RW default = 'h0 -+typedef union MAC_ABSCNT5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt5 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT5_FIELD_T; -+ -+#define MAC_ABSCNT6 (WIFI_MAC_TIMER_REG_BASE + 0xd8) -+// Bit 25 :0 reg_abscnt6 U RW default = 'h0 -+typedef union MAC_ABSCNT6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt6 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT6_FIELD_T; -+ -+#define MAC_ABSCNT7 (WIFI_MAC_TIMER_REG_BASE + 0xdc) -+// Bit 25 :0 reg_abscnt7 U RW default = 'h0 -+typedef union MAC_ABSCNT7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt7 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT7_FIELD_T; -+ -+#define MAC_ABSCNT8 (WIFI_MAC_TIMER_REG_BASE + 0xe0) -+// Bit 25 :0 reg_abscnt8 U RW default = 'h0 -+typedef union MAC_ABSCNT8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt8 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT8_FIELD_T; -+ -+#define MAC_ABSCNT9 (WIFI_MAC_TIMER_REG_BASE + 0xe4) -+// Bit 25 :0 reg_abscnt9 U RW default = 'h0 -+typedef union MAC_ABSCNT9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt9 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT9_FIELD_T; -+ -+#define MAC_ABSCNT10 (WIFI_MAC_TIMER_REG_BASE + 0xe8) -+// Bit 25 :0 reg_abscnt10 U RW default = 'h0 -+typedef union MAC_ABSCNT10_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt10 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT10_FIELD_T; -+ -+#define MAC_ABSCNT11 (WIFI_MAC_TIMER_REG_BASE + 0xec) -+// Bit 25 :0 reg_abscnt11 U RW default = 'h0 -+typedef union MAC_ABSCNT11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt11 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT11_FIELD_T; -+ -+#ifndef PROJECT_T9026 -+#define MAC_ABSCNT12 (WIFI_MAC_TIMER_REG_BASE + 0x1d0) -+// Bit 25 :0 reg_abscnt12 U RW default = 'h0 -+typedef union MAC_ABSCNT12_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt12 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT12_FIELD_T; -+ -+#define MAC_ABSCNT13 (WIFI_MAC_TIMER_REG_BASE + 0x1d4) -+// Bit 25 :0 reg_abscnt13 U RW default = 'h0 -+typedef union MAC_ABSCNT13_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt13 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT13_FIELD_T; -+ -+#define MAC_ABSCNT14 (WIFI_MAC_TIMER_REG_BASE + 0x1d8) -+// Bit 25 :0 reg_abscnt14 U RW default = 'h0 -+typedef union MAC_ABSCNT14_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt14 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT14_FIELD_T; -+ -+#define MAC_ABSCNT15 (WIFI_MAC_TIMER_REG_BASE + 0x1dc) -+// Bit 25 :0 reg_abscnt15 U RW default = 'h0 -+typedef union MAC_ABSCNT15_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_abscnt15 : 26; -+ unsigned int rsvd_0 : 6; -+ } b; -+} MAC_ABSCNT15_FIELD_T; -+#endif -+ -+#define TIMER_CONFIG (WIFI_MAC_TIMER_REG_BASE + 0xfc) -+// Bit 3 :0 reg_tx_priority_ctrl U RW default = 'hc -+// Bit 9 :4 reg_tx_duration_ctrl U RW default = 'h0 -+// Bit 10 reg_tx_request_mode U RW default = 'h1 -+// Bit 11 reg_tx_enable_clr_sel U RW default = 'h0 -+// Bit 15 :12 reg_tx_start_cnt_thr U RW default = 'h4 -+// Bit 31 :16 reg_vcs_thr U RW default = 'h1000 -+typedef union TIMER_CONFIG_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_tx_priority_ctrl : 4; -+ unsigned int reg_tx_duration_ctrl : 6; -+ unsigned int reg_tx_request_mode : 1; -+ unsigned int reg_tx_enable_clr_sel : 1; -+ unsigned int reg_tx_start_cnt_thr : 4; -+ unsigned int reg_vcs_thr : 16; -+ } b; -+} TIMER_CONFIG_FIELD_T; -+ -+#define MAC_TXCONTROL_NONQOS (WIFI_MAC_TIMER_REG_BASE + 0x100) -+// Bit 9 :0 reg_slot_num_o_nonqos U RW default = 'h0 -+// Bit 15 :10 reg_tx_duration_nonqos U RW default = 'h8 -+// Bit 19 :16 reg_aifsn_nonqos U RW default = 'h0 -+// Bit 23 :20 reg_cca_busy_mask_nonqos U RW default = 'h0 -+// Bit 24 reg_tx_enable_nonqos U RW default = 'h0 -+// Bit 26 :25 reg_tx_bandwidth_nonqos U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_nonqos U RW default = 'h0 -+typedef union MAC_TXCONTROL_NONQOS_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slot_num_o_nonqos : 10; -+ unsigned int reg_tx_duration_nonqos : 6; -+ unsigned int reg_aifsn_nonqos : 4; -+ unsigned int reg_cca_busy_mask_nonqos : 4; -+ unsigned int reg_tx_enable_nonqos : 1; -+ unsigned int reg_tx_bandwidth_nonqos : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_tx_priority_nonqos : 4; -+ } b; -+} MAC_TXCONTROL_NONQOS_FIELD_T; -+ -+#define MAC_TXCONTROL_ACP0 (WIFI_MAC_TIMER_REG_BASE + 0x104) -+// Bit 9 :0 reg_slot_num_o_acp0 U RW default = 'h0 -+// Bit 15 :10 reg_tx_duration_acp0 U RW default = 'h8 -+// Bit 19 :16 reg_aifsn_acp0 U RW default = 'h0 -+// Bit 23 :20 reg_cca_busy_mask_acp0 U RW default = 'h0 -+// Bit 24 reg_tx_enable_acp0 U RW default = 'h0 -+// Bit 26 :25 reg_tx_bandwidth_acp0 U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_acp0 U RW default = 'h0 -+typedef union MAC_TXCONTROL_ACP0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slot_num_o_acp0 : 10; -+ unsigned int reg_tx_duration_acp0 : 6; -+ unsigned int reg_aifsn_acp0 : 4; -+ unsigned int reg_cca_busy_mask_acp0 : 4; -+ unsigned int reg_tx_enable_acp0 : 1; -+ unsigned int reg_tx_bandwidth_acp0 : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_tx_priority_acp0 : 4; -+ } b; -+} MAC_TXCONTROL_ACP0_FIELD_T; -+ -+#define MAC_TXCONTROL_ACP1 (WIFI_MAC_TIMER_REG_BASE + 0x108) -+// Bit 9 :0 reg_slot_num_o_acp1 U RW default = 'h0 -+// Bit 15 :10 reg_tx_duration_acp1 U RW default = 'h8 -+// Bit 19 :16 reg_aifsn_acp1 U RW default = 'h0 -+// Bit 23 :20 reg_cca_busy_mask_acp1 U RW default = 'h0 -+// Bit 24 reg_tx_enable_acp1 U RW default = 'h0 -+// Bit 26 :25 reg_tx_bandwidth_acp1 U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_acp1 U RW default = 'h0 -+typedef union MAC_TXCONTROL_ACP1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slot_num_o_acp1 : 10; -+ unsigned int reg_tx_duration_acp1 : 6; -+ unsigned int reg_aifsn_acp1 : 4; -+ unsigned int reg_cca_busy_mask_acp1 : 4; -+ unsigned int reg_tx_enable_acp1 : 1; -+ unsigned int reg_tx_bandwidth_acp1 : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_tx_priority_acp1 : 4; -+ } b; -+} MAC_TXCONTROL_ACP1_FIELD_T; -+ -+#define MAC_TXCONTROL_ACP2 (WIFI_MAC_TIMER_REG_BASE + 0x10c) -+// Bit 9 :0 reg_slot_num_o_acp2 U RW default = 'h0 -+// Bit 15 :10 reg_tx_duration_acp2 U RW default = 'h8 -+// Bit 19 :16 reg_aifsn_acp2 U RW default = 'h0 -+// Bit 23 :20 reg_cca_busy_mask_acp2 U RW default = 'h0 -+// Bit 24 reg_tx_enable_acp2 U RW default = 'h0 -+// Bit 26 :25 reg_tx_bandwidth_acp2 U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_acp2 U RW default = 'h0 -+typedef union MAC_TXCONTROL_ACP2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slot_num_o_acp2 : 10; -+ unsigned int reg_tx_duration_acp2 : 6; -+ unsigned int reg_aifsn_acp2 : 4; -+ unsigned int reg_cca_busy_mask_acp2 : 4; -+ unsigned int reg_tx_enable_acp2 : 1; -+ unsigned int reg_tx_bandwidth_acp2 : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_tx_priority_acp2 : 4; -+ } b; -+} MAC_TXCONTROL_ACP2_FIELD_T; -+ -+#define MAC_TXCONTROL_ACP3 (WIFI_MAC_TIMER_REG_BASE + 0x110) -+// Bit 9 :0 reg_slot_num_o_acp3 U RW default = 'h0 -+// Bit 15 :10 reg_tx_duration_acp3 U RW default = 'h8 -+// Bit 19 :16 reg_aifsn_acp3 U RW default = 'h0 -+// Bit 23 :20 reg_cca_busy_mask_acp3 U RW default = 'h0 -+// Bit 24 reg_tx_enable_acp3 U RW default = 'h0 -+// Bit 26 :25 reg_tx_bandwidth_acp3 U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_acp3 U RW default = 'h0 -+typedef union MAC_TXCONTROL_ACP3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slot_num_o_acp3 : 10; -+ unsigned int reg_tx_duration_acp3 : 6; -+ unsigned int reg_aifsn_acp3 : 4; -+ unsigned int reg_cca_busy_mask_acp3 : 4; -+ unsigned int reg_tx_enable_acp3 : 1; -+ unsigned int reg_tx_bandwidth_acp3 : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_tx_priority_acp3 : 4; -+ } b; -+} MAC_TXCONTROL_ACP3_FIELD_T; -+ -+#define MAC_TXCONTROL_ACP4 (WIFI_MAC_TIMER_REG_BASE + 0x114) -+// Bit 9 :0 reg_slot_num_o_acp4 U RW default = 'h0 -+// Bit 15 :10 reg_tx_duration_acp4 U RW default = 'h8 -+// Bit 19 :16 reg_aifsn_acp4 U RW default = 'h0 -+// Bit 23 :20 reg_cca_busy_mask_acp4 U RW default = 'h0 -+// Bit 24 reg_tx_enable_acp4 U RW default = 'h0 -+// Bit 26 :25 reg_tx_bandwidth_acp4 U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_acp4 U RW default = 'h0 -+typedef union MAC_TXCONTROL_ACP4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slot_num_o_acp4 : 10; -+ unsigned int reg_tx_duration_acp4 : 6; -+ unsigned int reg_aifsn_acp4 : 4; -+ unsigned int reg_cca_busy_mask_acp4 : 4; -+ unsigned int reg_tx_enable_acp4 : 1; -+ unsigned int reg_tx_bandwidth_acp4 : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_tx_priority_acp4 : 4; -+ } b; -+} MAC_TXCONTROL_ACP4_FIELD_T; -+ -+#define MAC_TXCONTROL_ACP5 (WIFI_MAC_TIMER_REG_BASE + 0x118) -+// Bit 9 :0 reg_slot_num_o_acp5 U RW default = 'h0 -+// Bit 15 :10 reg_tx_duration_acp5 U RW default = 'h8 -+// Bit 19 :16 reg_aifsn_acp5 U RW default = 'h0 -+// Bit 23 :20 reg_cca_busy_mask_acp5 U RW default = 'h0 -+// Bit 24 reg_tx_enable_acp5 U RW default = 'h0 -+// Bit 26 :25 reg_tx_bandwidth_acp5 U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_acp5 U RW default = 'h0 -+typedef union MAC_TXCONTROL_ACP5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slot_num_o_acp5 : 10; -+ unsigned int reg_tx_duration_acp5 : 6; -+ unsigned int reg_aifsn_acp5 : 4; -+ unsigned int reg_cca_busy_mask_acp5 : 4; -+ unsigned int reg_tx_enable_acp5 : 1; -+ unsigned int reg_tx_bandwidth_acp5 : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_tx_priority_acp5 : 4; -+ } b; -+} MAC_TXCONTROL_ACP5_FIELD_T; -+ -+#define MAC_TXCONTROL_ACP6 (WIFI_MAC_TIMER_REG_BASE + 0x11c) -+// Bit 9 :0 reg_slot_num_o_acp6 U RW default = 'h0 -+// Bit 15 :10 reg_tx_duration_acp6 U RW default = 'h8 -+// Bit 19 :16 reg_aifsn_acp6 U RW default = 'h0 -+// Bit 23 :20 reg_cca_busy_mask_acp6 U RW default = 'h0 -+// Bit 24 reg_tx_enable_acp6 U RW default = 'h0 -+// Bit 26 :25 reg_tx_bandwidth_acp6 U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_acp6 U RW default = 'h0 -+typedef union MAC_TXCONTROL_ACP6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slot_num_o_acp6 : 10; -+ unsigned int reg_tx_duration_acp6 : 6; -+ unsigned int reg_aifsn_acp6 : 4; -+ unsigned int reg_cca_busy_mask_acp6 : 4; -+ unsigned int reg_tx_enable_acp6 : 1; -+ unsigned int reg_tx_bandwidth_acp6 : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_tx_priority_acp6 : 4; -+ } b; -+} MAC_TXCONTROL_ACP6_FIELD_T; -+ -+#define MAC_TXCONTROL_ACP7 (WIFI_MAC_TIMER_REG_BASE + 0x120) -+// Bit 9 :0 reg_slot_num_o_acp7 U RW default = 'h0 -+// Bit 15 :10 reg_tx_duration_acp7 U RW default = 'h8 -+// Bit 19 :16 reg_aifsn_acp7 U RW default = 'h0 -+// Bit 23 :20 reg_cca_busy_mask_acp7 U RW default = 'h0 -+// Bit 24 reg_tx_enable_acp7 U RW default = 'h0 -+// Bit 26 :25 reg_tx_bandwidth_acp7 U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_acp7 U RW default = 'h0 -+typedef union MAC_TXCONTROL_ACP7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_slot_num_o_acp7 : 10; -+ unsigned int reg_tx_duration_acp7 : 6; -+ unsigned int reg_aifsn_acp7 : 4; -+ unsigned int reg_cca_busy_mask_acp7 : 4; -+ unsigned int reg_tx_enable_acp7 : 1; -+ unsigned int reg_tx_bandwidth_acp7 : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_tx_priority_acp7 : 4; -+ } b; -+} MAC_TXCONTROL_ACP7_FIELD_T; -+ -+#define MAC_VCSUPDATE (WIFI_MAC_TIMER_REG_BASE + 0x128) -+// Bit 25 :0 reg_vcs_time U RW default = 'h0 -+// Bit 26 reg_vcs_enb U RW default = 'h0 -+// Bit 28 :27 reg_vcs_source U RW default = 'h0 -+// Bit 30 ro_vcs_enable U RO default = 'h0 -+// Bit 31 reg_vcs_up_enb U RW default = 'h0 -+typedef union MAC_VCSUPDATE_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_vcs_time : 26; -+ unsigned int reg_vcs_enb : 1; -+ unsigned int reg_vcs_source : 2; -+ unsigned int rsvd_0 : 1; -+ unsigned int ro_vcs_enable : 1; -+ unsigned int reg_vcs_up_enb : 1; -+ } b; -+} MAC_VCSUPDATE_FIELD_T; -+ -+#define MAC_TIME_HIGH (WIFI_MAC_TIMER_REG_BASE + 0x12c) -+// Bit 31 :0 reg_mac_time_high U RO default = 'h0 -+typedef union MAC_TIME_HIGH_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_time_high : 32; -+ } b; -+} MAC_TIME_HIGH_FIELD_T; -+ -+#define MAC_TIME_LOW (WIFI_MAC_TIMER_REG_BASE + 0x130) -+// Bit 31 :0 reg_mac_time_low U RO default = 'h0 -+typedef union MAC_TIME_LOW_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_time_low : 32; -+ } b; -+} MAC_TIME_LOW_FIELD_T; -+ -+#endif -+ -diff --git a/drivers/net/wireless/w1/common/wifi_mac_tx_reg.h b/drivers/net/wireless/w1/common/wifi_mac_tx_reg.h -new file mode 100644 -index 000000000000..e5dd9221bab2 ---- /dev/null -+++ b/drivers/net/wireless/w1/common/wifi_mac_tx_reg.h -@@ -0,0 +1,1341 @@ -+#ifdef WIFI_MAC_TX_REG -+#else -+#define WIFI_MAC_TX_REG -+ -+ -+#define WIFI_MAC_TX_REG_BASE (0xa00000) -+ -+#define MAC_TXSTARTTIME_HIGH (WIFI_MAC_TX_REG_BASE + 0x238) -+// Bit 31 :0 ro_mac_txstarttime_high U RO default = 'h0 -+typedef union MAC_TXSTARTTIME_HIGH_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_mac_txstarttime_high : 32; -+ } b; -+} MAC_TXSTARTTIME_HIGH_FIELD_T; -+ -+#define MAC_TXSTARTTIME_LOW (WIFI_MAC_TX_REG_BASE + 0x23c) -+// Bit 31 :0 ro_mac_txstarttime_low U RO default = 'h0 -+typedef union MAC_TXSTARTTIME_LOW_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_mac_txstarttime_low : 32; -+ } b; -+} MAC_TXSTARTTIME_LOW_FIELD_T; -+ -+#define MAC_TXENDTIME (WIFI_MAC_TX_REG_BASE + 0x240) -+// Bit 31 :0 ro_mac_txendtime U RO default = 'h0 -+typedef union MAC_TXENDTIME_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_mac_txendtime : 32; -+ } b; -+} MAC_TXENDTIME_FIELD_T; -+ -+#define MAC_TXPOINTER (WIFI_MAC_TX_REG_BASE + 0x244) -+// Bit 31 :0 reg_tx_table_ptr U RW default = 'h0 -+typedef union MAC_TXPOINTER_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_tx_table_ptr : 32; -+ } b; -+} MAC_TXPOINTER_FIELD_T; -+ -+#define MAC_TXCONTROL_FIAC (WIFI_MAC_TX_REG_BASE + 0x248) -+// Bit 15 :10 reg_tx_duration_fiac U RW default = 'h1 -+// Bit 24 reg_dcpready_fiac U RW default = 'h0 -+// Bit 31 :28 reg_tx_priority_fiac U RW default = 'h0 -+typedef union MAC_TXCONTROL_FIAC_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int rsvd_0 : 10; -+ unsigned int reg_tx_duration_fiac : 6; -+ unsigned int rsvd_1 : 8; -+ unsigned int reg_dcpready_fiac : 1; -+ unsigned int rsvd_2 : 3; -+ unsigned int reg_tx_priority_fiac : 4; -+ } b; -+} MAC_TXCONTROL_FIAC_FIELD_T; -+ -+#define MAC_TXWD_TIMER (WIFI_MAC_TX_REG_BASE + 0x24c) -+// Bit 23 :0 reg_tx_wd_timer_duration U RW default = 'h4e20 -+// Bit 31 reg_tx_wd_timer_en U RW default = 'h1 -+typedef union MAC_TXWD_TIMER_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_tx_wd_timer_duration : 24; -+ unsigned int rsvd_0 : 7; -+ unsigned int reg_tx_wd_timer_en : 1; -+ } b; -+} MAC_TXWD_TIMER_FIELD_T; -+ -+#define MAC_TXINFO (WIFI_MAC_TX_REG_BASE + 0x250) -+// Bit 0 reg_txend_queue_bitinfo0 U W1C default = 'h0 -+// Bit 1 reg_txend_queue_bitinfo1 U W1C default = 'h0 -+// Bit 2 reg_txend_queue_bitinfo2 U W1C default = 'h0 -+// Bit 3 reg_txend_queue_bitinfo3 U W1C default = 'h0 -+// Bit 4 reg_txend_queue_bitinfo4 U W1C default = 'h0 -+// Bit 5 reg_txend_queue_bitinfo5 U W1C default = 'h0 -+// Bit 6 reg_txend_queue_bitinfo6 U W1C default = 'h0 -+// Bit 7 reg_txend_queue_bitinfo7 U W1C default = 'h0 -+// Bit 8 reg_txend_queue_bitinfo8 U W1C default = 'h0 -+// Bit 9 reg_txend_queue_bitinfo9 U W1C default = 'h0 -+// Bit 25 :16 ro_txend_queue_errinfo U RO default = 'h0 -+typedef union MAC_TXINFO_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txend_queue_bitinfo0 : 1; -+ unsigned int reg_txend_queue_bitinfo1 : 1; -+ unsigned int reg_txend_queue_bitinfo2 : 1; -+ unsigned int reg_txend_queue_bitinfo3 : 1; -+ unsigned int reg_txend_queue_bitinfo4 : 1; -+ unsigned int reg_txend_queue_bitinfo5 : 1; -+ unsigned int reg_txend_queue_bitinfo6 : 1; -+ unsigned int reg_txend_queue_bitinfo7 : 1; -+ unsigned int reg_txend_queue_bitinfo8 : 1; -+ unsigned int reg_txend_queue_bitinfo9 : 1; -+ unsigned int rsvd_0 : 6; -+ unsigned int ro_txend_queue_errinfo : 10; -+ unsigned int rsvd_1 : 6; -+ } b; -+} MAC_TXINFO_FIELD_T; -+ -+#define TX_CTRL_FRAME_SEND (WIFI_MAC_TX_REG_BASE + 0x258) -+// Bit 7 :0 reg_tx_other_info_len U RW default = 'h34 -+// Bit 10 :8 reg_dynamic_mcs U RW default = 'h1 -+// Bit 12 reg_dynamic_mcs_en U RW default = 'h1 -+// Bit 25 :16 reg_txout_time_thr U RW default = 'h320 -+// Bit 28 reg_txout_time_thr_en U RW default = 'h1 -+typedef union TX_CTRL_FRAME_SEND_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_tx_other_info_len : 8; -+ unsigned int reg_dynamic_mcs : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_dynamic_mcs_en : 1; -+ unsigned int rsvd_1 : 3; -+ unsigned int reg_txout_time_thr : 10; -+ unsigned int rsvd_2 : 2; -+ unsigned int reg_txout_time_thr_en : 1; -+ unsigned int rsvd_3 : 3; -+ } b; -+} TX_CTRL_FRAME_SEND_FIELD_T; -+ -+#define TX_IAC_SEND_CTRL (WIFI_MAC_TX_REG_BASE + 0x25c) -+// Bit 0 reg_iac_frame_send U RW default = 'h0 -+// Bit 6 :4 reg_iac_frame_type U RW default = 'h0 -+// Bit 10 :8 reg_iac_tid_num U RW default = 'h0 -+// Bit 11 reg_iac_power_mode U RW default = 'h0 -+typedef union TX_IAC_SEND_CTRL_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_iac_frame_send : 1; -+ unsigned int rsvd_0 : 3; -+ unsigned int reg_iac_frame_type : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int reg_iac_tid_num : 3; -+ unsigned int reg_iac_power_mode : 1; -+ unsigned int rsvd_2 : 20; -+ } b; -+} TX_IAC_SEND_CTRL_FIELD_T; -+ -+#define TX_IAC_BAR_INFO (WIFI_MAC_TX_REG_BASE + 0x260) -+// Bit 3 :0 reg_iac_tid_0 U RW default = 'h0 -+// Bit 15 :4 reg_iac_bitmap_index_0 U RW default = 'h0 -+// Bit 19 :16 reg_iac_tid_1 U RW default = 'h0 -+// Bit 31 :20 reg_iac_bitmap_index_1 U RW default = 'h0 -+typedef union TX_IAC_BAR_INFO_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_iac_tid_0 : 4; -+ unsigned int reg_iac_bitmap_index_0 : 12; -+ unsigned int reg_iac_tid_1 : 4; -+ unsigned int reg_iac_bitmap_index_1 : 12; -+ } b; -+} TX_IAC_BAR_INFO_FIELD_T; -+ -+#define TXIAC_ADDR1_LOW (WIFI_MAC_TX_REG_BASE + 0x264) -+// Bit 31 :0 reg_txiac_addr1_low U RW default = 'h0 -+typedef union TXIAC_ADDR1_LOW_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txiac_addr1_low : 32; -+ } b; -+} TXIAC_ADDR1_LOW_FIELD_T; -+ -+#define TXIAC_ADDR1_HIGH (WIFI_MAC_TX_REG_BASE + 0x268) -+// Bit 15 :0 reg_txiac_addr1_high U RW default = 'h0 -+typedef union TXIAC_ADDR1_HIGH_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txiac_addr1_high : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} TXIAC_ADDR1_HIGH_FIELD_T; -+ -+#define TXIAC_ADDR2_LOW (WIFI_MAC_TX_REG_BASE + 0x26c) -+// Bit 31 :0 reg_txiac_addr2_low U RW default = 'h0 -+typedef union TXIAC_ADDR2_LOW_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txiac_addr2_low : 32; -+ } b; -+} TXIAC_ADDR2_LOW_FIELD_T; -+ -+#define TXIAC_ADDR2_HIGH (WIFI_MAC_TX_REG_BASE + 0x270) -+// Bit 15 :0 reg_txiac_addr2_high U RW default = 'h0 -+typedef union TXIAC_ADDR2_HIGH_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txiac_addr2_high : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} TXIAC_ADDR2_HIGH_FIELD_T; -+ -+#define TX_IAC_VECTOR (WIFI_MAC_TX_REG_BASE + 0x274) -+// Bit 31 :0 reg_txiac_vector U RW default = 'h0 -+typedef union TX_IAC_VECTOR_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txiac_vector : 32; -+ } b; -+} TX_IAC_VECTOR_FIELD_T; -+ -+#define MAC_TXVECTOR_CONF (WIFI_MAC_TX_REG_BASE + 0x278) -+// Bit 15 :0 reg_mac_tx_service U RW default = 'h0 -+// Bit 18 :16 reg_mac_tx_htdltf_num U RW default = 'h1 -+// Bit 22 :20 reg_mac_tx_hteltf_num U RW default = 'h0 -+// Bit 26 :24 reg_mac_tx_vhtltf_num U RW default = 'h0 -+typedef union MAC_TXVECTOR_CONF_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_tx_service : 16; -+ unsigned int reg_mac_tx_htdltf_num : 3; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_mac_tx_hteltf_num : 3; -+ unsigned int rsvd_1 : 1; -+ unsigned int reg_mac_tx_vhtltf_num : 3; -+ unsigned int rsvd_2 : 5; -+ } b; -+} MAC_TXVECTOR_CONF_FIELD_T; -+ -+#define TXOP_REMAIN (WIFI_MAC_TX_REG_BASE + 0x27c) -+// Bit 14 :0 reg_txop_remain U RW default = 'h0 -+// Bit 25 :16 reg_rts_time U RW default = 'h0 -+// Bit 30 :28 reg_dyn_bwd_ctrl U RW default = 'h0 -+typedef union TXOP_REMAIN_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txop_remain : 15; -+ unsigned int rsvd_0 : 1; -+ unsigned int reg_rts_time : 10; -+ unsigned int rsvd_1 : 2; -+ unsigned int reg_dyn_bwd_ctrl : 3; -+ unsigned int rsvd_2 : 1; -+ } b; -+} TXOP_REMAIN_FIELD_T; -+ -+#define FW_PKT_DURA_CALC_IN (WIFI_MAC_TX_REG_BASE + 0x280) -+// Bit 30 :0 reg_fw_pkt_dura_calc_in U RW default = 'h0 -+// Bit 31 reg_fw_pkt_dura_calc_req U RW default = 'h0 -+typedef union FW_PKT_DURA_CALC_IN_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_fw_pkt_dura_calc_in : 31; -+ unsigned int reg_fw_pkt_dura_calc_req : 1; -+ } b; -+} FW_PKT_DURA_CALC_IN_FIELD_T; -+ -+#define FW_PKT_DURA_CALC_OUT (WIFI_MAC_TX_REG_BASE + 0x284) -+// Bit 15 :0 ro_fw_pkt_dura_calc_out U RO default = 'h0 -+typedef union FW_PKT_DURA_CALC_OUT_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int ro_fw_pkt_dura_calc_out : 16; -+ unsigned int rsvd_0 : 16; -+ } b; -+} FW_PKT_DURA_CALC_OUT_FIELD_T; -+ -+#define TXOUT_ENDCNT_MAX (WIFI_MAC_TX_REG_BASE + 0x288) -+// Bit 3 :0 reg_txout_endcnt_max U RW default = 'h4 -+// Bit 15 :8 reg_tx_rts_rate U RW default = 'h4 -+// Bit 23 :16 reg_tx_time_gap U RW default = 'h10 -+typedef union TXOUT_ENDCNT_MAX_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_txout_endcnt_max : 4; -+ unsigned int rsvd_0 : 4; -+ unsigned int reg_tx_rts_rate : 8; -+ unsigned int reg_tx_time_gap : 8; -+ unsigned int rsvd_1 : 8; -+ } b; -+} TXOUT_ENDCNT_MAX_FIELD_T; -+ -+#define MAC_TXVECTOR_P1_NONQOS (WIFI_MAC_TX_REG_BASE + 0x28c) -+// Bit 29 :0 reg_mac_txvector_p1_nonqos U RW default = 'h0 -+// Bit 30 reg_mac_txvector_p1_nonqos_rts U RW default = 'h0 -+// Bit 31 reg_mac_txvector_p1_nonqos_cts U RW default = 'h0 -+typedef union MAC_TXVECTOR_P1_NONQOS_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_txvector_p1_nonqos : 30; -+ unsigned int reg_mac_txvector_p1_nonqos_rts : 1; -+ unsigned int reg_mac_txvector_p1_nonqos_cts : 1; -+ } b; -+} MAC_TXVECTOR_P1_NONQOS_FIELD_T; -+ -+#define MAC_TXVECTOR_P1_ACP0 (WIFI_MAC_TX_REG_BASE + 0x290) -+// Bit 29 :0 reg_mac_txvector_p1_acp0 U RW default = 'h0 -+// Bit 30 reg_mac_txvector_p1_acp0_rts U RW default = 'h0 -+// Bit 31 reg_mac_txvector_p1_acp0_cts U RW default = 'h0 -+typedef union MAC_TXVECTOR_P1_ACP0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_txvector_p1_acp0 : 30; -+ unsigned int reg_mac_txvector_p1_acp0_rts : 1; -+ unsigned int reg_mac_txvector_p1_acp0_cts : 1; -+ } b; -+} MAC_TXVECTOR_P1_ACP0_FIELD_T; -+ -+#define MAC_TXVECTOR_P1_ACP1 (WIFI_MAC_TX_REG_BASE + 0x294) -+// Bit 29 :0 reg_mac_txvector_p1_acp1 U RW default = 'h0 -+// Bit 30 reg_mac_txvector_p1_acp1_rts U RW default = 'h0 -+// Bit 31 reg_mac_txvector_p1_acp1_cts U RW default = 'h0 -+typedef union MAC_TXVECTOR_P1_ACP1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_txvector_p1_acp1 : 30; -+ unsigned int reg_mac_txvector_p1_acp1_rts : 1; -+ unsigned int reg_mac_txvector_p1_acp1_cts : 1; -+ } b; -+} MAC_TXVECTOR_P1_ACP1_FIELD_T; -+ -+#define MAC_TXVECTOR_P1_ACP2 (WIFI_MAC_TX_REG_BASE + 0x298) -+// Bit 29 :0 reg_mac_txvector_p1_acp2 U RW default = 'h0 -+// Bit 30 reg_mac_txvector_p1_acp2_rts U RW default = 'h0 -+// Bit 31 reg_mac_txvector_p1_acp2_cts U RW default = 'h0 -+typedef union MAC_TXVECTOR_P1_ACP2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_txvector_p1_acp2 : 30; -+ unsigned int reg_mac_txvector_p1_acp2_rts : 1; -+ unsigned int reg_mac_txvector_p1_acp2_cts : 1; -+ } b; -+} MAC_TXVECTOR_P1_ACP2_FIELD_T; -+ -+#define MAC_TXVECTOR_P1_ACP3 (WIFI_MAC_TX_REG_BASE + 0x29c) -+// Bit 29 :0 reg_mac_txvector_p1_acp3 U RW default = 'h0 -+// Bit 30 reg_mac_txvector_p1_acp3_rts U RW default = 'h0 -+// Bit 31 reg_mac_txvector_p1_acp3_cts U RW default = 'h0 -+typedef union MAC_TXVECTOR_P1_ACP3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_txvector_p1_acp3 : 30; -+ unsigned int reg_mac_txvector_p1_acp3_rts : 1; -+ unsigned int reg_mac_txvector_p1_acp3_cts : 1; -+ } b; -+} MAC_TXVECTOR_P1_ACP3_FIELD_T; -+ -+#define MAC_TXVECTOR_P1_ACP4 (WIFI_MAC_TX_REG_BASE + 0x2a0) -+// Bit 29 :0 reg_mac_txvector_p1_acp4 U RW default = 'h0 -+// Bit 30 reg_mac_txvector_p1_acp4_rts U RW default = 'h0 -+// Bit 31 reg_mac_txvector_p1_acp4_cts U RW default = 'h0 -+typedef union MAC_TXVECTOR_P1_ACP4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_txvector_p1_acp4 : 30; -+ unsigned int reg_mac_txvector_p1_acp4_rts : 1; -+ unsigned int reg_mac_txvector_p1_acp4_cts : 1; -+ } b; -+} MAC_TXVECTOR_P1_ACP4_FIELD_T; -+ -+#define MAC_TXVECTOR_P1_ACP5 (WIFI_MAC_TX_REG_BASE + 0x2a4) -+// Bit 29 :0 reg_mac_txvector_p1_acp5 U RW default = 'h0 -+// Bit 30 reg_mac_txvector_p1_acp5_rts U RW default = 'h0 -+// Bit 31 reg_mac_txvector_p1_acp5_cts U RW default = 'h0 -+typedef union MAC_TXVECTOR_P1_ACP5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_txvector_p1_acp5 : 30; -+ unsigned int reg_mac_txvector_p1_acp5_rts : 1; -+ unsigned int reg_mac_txvector_p1_acp5_cts : 1; -+ } b; -+} MAC_TXVECTOR_P1_ACP5_FIELD_T; -+ -+#define MAC_TXVECTOR_P1_ACP6 (WIFI_MAC_TX_REG_BASE + 0x2a8) -+// Bit 29 :0 reg_mac_txvector_p1_acp6 U RW default = 'h0 -+// Bit 30 reg_mac_txvector_p1_acp6_rts U RW default = 'h0 -+// Bit 31 reg_mac_txvector_p1_acp6_cts U RW default = 'h0 -+typedef union MAC_TXVECTOR_P1_ACP6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_txvector_p1_acp6 : 30; -+ unsigned int reg_mac_txvector_p1_acp6_rts : 1; -+ unsigned int reg_mac_txvector_p1_acp6_cts : 1; -+ } b; -+} MAC_TXVECTOR_P1_ACP6_FIELD_T; -+ -+#define MAC_TXVECTOR_P1_ACP7 (WIFI_MAC_TX_REG_BASE + 0x2ac) -+// Bit 29 :0 reg_mac_txvector_p1_acp7 U RW default = 'h0 -+// Bit 30 reg_mac_txvector_p1_acp7_rts U RW default = 'h0 -+// Bit 31 reg_mac_txvector_p1_acp7_cts U RW default = 'h0 -+typedef union MAC_TXVECTOR_P1_ACP7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_txvector_p1_acp7 : 30; -+ unsigned int reg_mac_txvector_p1_acp7_rts : 1; -+ unsigned int reg_mac_txvector_p1_acp7_cts : 1; -+ } b; -+} MAC_TXVECTOR_P1_ACP7_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL0 (WIFI_MAC_TX_REG_BASE + 0x2b4) -+// Bit 31 :0 reg_mac_rxpkt_control0 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control0 : 32; -+ } b; -+} MAC_RXPKT_CONTROL0_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL2 (WIFI_MAC_TX_REG_BASE + 0x2b8) -+// Bit 31 :0 reg_mac_rxpkt_control2 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control2 : 32; -+ } b; -+} MAC_RXPKT_CONTROL2_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL3 (WIFI_MAC_TX_REG_BASE + 0x2bc) -+// Bit 31 :0 reg_mac_rxpkt_control3 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control3 : 32; -+ } b; -+} MAC_RXPKT_CONTROL3_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL4 (WIFI_MAC_TX_REG_BASE + 0x2c0) -+// Bit 31 :0 reg_mac_rxpkt_control4 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control4 : 32; -+ } b; -+} MAC_RXPKT_CONTROL4_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL6 (WIFI_MAC_TX_REG_BASE + 0x2c4) -+// Bit 31 :0 reg_mac_rxpkt_control6 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control6 : 32; -+ } b; -+} MAC_RXPKT_CONTROL6_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL7 (WIFI_MAC_TX_REG_BASE + 0x2c8) -+// Bit 31 :0 reg_mac_rxpkt_control7 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control7 : 32; -+ } b; -+} MAC_RXPKT_CONTROL7_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL8 (WIFI_MAC_TX_REG_BASE + 0x2cc) -+// Bit 31 :0 reg_mac_rxpkt_control8 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control8 : 32; -+ } b; -+} MAC_RXPKT_CONTROL8_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL10 (WIFI_MAC_TX_REG_BASE + 0x2d0) -+// Bit 31 :0 reg_mac_rxpkt_control10 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL10_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control10 : 32; -+ } b; -+} MAC_RXPKT_CONTROL10_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL11 (WIFI_MAC_TX_REG_BASE + 0x2d4) -+// Bit 31 :0 reg_mac_rxpkt_control11 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL11_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control11 : 32; -+ } b; -+} MAC_RXPKT_CONTROL11_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL12 (WIFI_MAC_TX_REG_BASE + 0x2d8) -+// Bit 31 :0 reg_mac_rxpkt_control12 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL12_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control12 : 32; -+ } b; -+} MAC_RXPKT_CONTROL12_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL14 (WIFI_MAC_TX_REG_BASE + 0x2dc) -+// Bit 31 :0 reg_mac_rxpkt_control14 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL14_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control14 : 32; -+ } b; -+} MAC_RXPKT_CONTROL14_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL16 (WIFI_MAC_TX_REG_BASE + 0x2e0) -+// Bit 31 :0 reg_mac_rxpkt_control16 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL16_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control16 : 32; -+ } b; -+} MAC_RXPKT_CONTROL16_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL18 (WIFI_MAC_TX_REG_BASE + 0x2e4) -+// Bit 31 :0 reg_mac_rxpkt_control18 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL18_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control18 : 32; -+ } b; -+} MAC_RXPKT_CONTROL18_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL20 (WIFI_MAC_TX_REG_BASE + 0x2e8) -+// Bit 31 :0 reg_mac_rxpkt_control20 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL20_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control20 : 32; -+ } b; -+} MAC_RXPKT_CONTROL20_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL22 (WIFI_MAC_TX_REG_BASE + 0x2ec) -+// Bit 31 :0 reg_mac_rxpkt_control22 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL22_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control22 : 32; -+ } b; -+} MAC_RXPKT_CONTROL22_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL26 (WIFI_MAC_TX_REG_BASE + 0x2f0) -+// Bit 31 :0 reg_mac_rxpkt_control26 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL26_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control26 : 32; -+ } b; -+} MAC_RXPKT_CONTROL26_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL29 (WIFI_MAC_TX_REG_BASE + 0x2f4) -+// Bit 31 :0 reg_mac_rxpkt_control29 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL29_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control29 : 32; -+ } b; -+} MAC_RXPKT_CONTROL29_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL30 (WIFI_MAC_TX_REG_BASE + 0x2f8) -+// Bit 31 :0 reg_mac_rxpkt_control30 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL30_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control30 : 32; -+ } b; -+} MAC_RXPKT_CONTROL30_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL32 (WIFI_MAC_TX_REG_BASE + 0x2fc) -+// Bit 31 :0 reg_mac_rxpkt_control32 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL32_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control32 : 32; -+ } b; -+} MAC_RXPKT_CONTROL32_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL33 (WIFI_MAC_TX_REG_BASE + 0x300) -+// Bit 31 :0 reg_mac_rxpkt_control33 U RW default = 'hc0000000 -+typedef union MAC_RXPKT_CONTROL33_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control33 : 32; -+ } b; -+} MAC_RXPKT_CONTROL33_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL34 (WIFI_MAC_TX_REG_BASE + 0x304) -+// Bit 31 :0 reg_mac_rxpkt_control34 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL34_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control34 : 32; -+ } b; -+} MAC_RXPKT_CONTROL34_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL36 (WIFI_MAC_TX_REG_BASE + 0x308) -+// Bit 31 :0 reg_mac_rxpkt_control36 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL36_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control36 : 32; -+ } b; -+} MAC_RXPKT_CONTROL36_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL37 (WIFI_MAC_TX_REG_BASE + 0x30c) -+// Bit 31 :0 reg_mac_rxpkt_control37 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL37_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control37 : 32; -+ } b; -+} MAC_RXPKT_CONTROL37_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL38 (WIFI_MAC_TX_REG_BASE + 0x310) -+// Bit 31 :0 reg_mac_rxpkt_control38 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL38_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control38 : 32; -+ } b; -+} MAC_RXPKT_CONTROL38_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL40 (WIFI_MAC_TX_REG_BASE + 0x314) -+// Bit 31 :0 reg_mac_rxpkt_control40 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL40_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control40 : 32; -+ } b; -+} MAC_RXPKT_CONTROL40_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL41 (WIFI_MAC_TX_REG_BASE + 0x318) -+// Bit 31 :0 reg_mac_rxpkt_control41 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL41_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control41 : 32; -+ } b; -+} MAC_RXPKT_CONTROL41_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL42 (WIFI_MAC_TX_REG_BASE + 0x31c) -+// Bit 31 :0 reg_mac_rxpkt_control42 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL42_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control42 : 32; -+ } b; -+} MAC_RXPKT_CONTROL42_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL44 (WIFI_MAC_TX_REG_BASE + 0x320) -+// Bit 31 :0 reg_mac_rxpkt_control44 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL44_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control44 : 32; -+ } b; -+} MAC_RXPKT_CONTROL44_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL45 (WIFI_MAC_TX_REG_BASE + 0x324) -+// Bit 31 :0 reg_mac_rxpkt_control45 U RW default = 'hc0000000 -+typedef union MAC_RXPKT_CONTROL45_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control45 : 32; -+ } b; -+} MAC_RXPKT_CONTROL45_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL46 (WIFI_MAC_TX_REG_BASE + 0x328) -+// Bit 31 :0 reg_mac_rxpkt_control46 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL46_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control46 : 32; -+ } b; -+} MAC_RXPKT_CONTROL46_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL48 (WIFI_MAC_TX_REG_BASE + 0x32c) -+// Bit 31 :0 reg_mac_rxpkt_control48 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL48_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control48 : 32; -+ } b; -+} MAC_RXPKT_CONTROL48_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL49 (WIFI_MAC_TX_REG_BASE + 0x330) -+// Bit 31 :0 reg_mac_rxpkt_control49 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL49_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control49 : 32; -+ } b; -+} MAC_RXPKT_CONTROL49_FIELD_T; -+ -+#define MAC_RXPKT_CONTROL50 (WIFI_MAC_TX_REG_BASE + 0x334) -+// Bit 31 :0 reg_mac_rxpkt_control50 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL50_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control50 : 32; -+ } b; -+} MAC_RXPKT_CONTROL50_FIELD_T; ++struct sts_agc_state { ++ unsigned int rsv1:8,state:4,rsv2:20; ++}; + -+#define MAC_RXPKT_CONTROL52 (WIFI_MAC_TX_REG_BASE + 0x338) -+// Bit 31 :0 reg_mac_rxpkt_control52 U RW default = 'he0000000 -+typedef union MAC_RXPKT_CONTROL52_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control52 : 32; -+ } b; -+} MAC_RXPKT_CONTROL52_FIELD_T; ++struct sts_agc_ob_ic_gain { ++ unsigned int r_rx_ic_gain:8,r_agc_fine_db:9,rsv:15; ++}; + -+#define MAC_RXPKT_CONTROL53 (WIFI_MAC_TX_REG_BASE + 0x33c) -+// Bit 31 :0 reg_mac_rxpkt_control53 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL53_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control53 : 32; -+ } b; -+} MAC_RXPKT_CONTROL53_FIELD_T; ++struct sts_agc_watch1 { ++ unsigned int r_pow_sat_db:9, rsv1:3, r_primary20_db:9, rsv2:11; ++}; + -+#define MAC_RXPKT_CONTROL56 (WIFI_MAC_TX_REG_BASE + 0x340) -+// Bit 31 :0 reg_mac_rxpkt_control56 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL56_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control56 : 32; -+ } b; -+} MAC_RXPKT_CONTROL56_FIELD_T; ++struct sts_agc_watch2 { ++ unsigned int r_primary40_db:9, rsv1:3,r_primary80_db:9,rsv2:11; ++}; + -+#define MAC_RXPKT_CONTROL57 (WIFI_MAC_TX_REG_BASE + 0x344) -+// Bit 31 :0 reg_mac_rxpkt_control57 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL57_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control57 : 32; -+ } b; -+} MAC_RXPKT_CONTROL57_FIELD_T; ++struct sts_agc_watch3 { ++ unsigned int r_rssi0_db:10, rsv1:2,r_rssi1_db:10,rsv2:10; ++}; + -+#define MAC_RXPKT_CONTROL58 (WIFI_MAC_TX_REG_BASE + 0x348) -+// Bit 31 :0 reg_mac_rxpkt_control58 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL58_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control58 : 32; -+ } b; -+} MAC_RXPKT_CONTROL58_FIELD_T; ++struct sts_agc_watch4 { ++ unsigned int r_rssi2_db:10, rsv1:2,r_rssi3_db:10,rsv2:10; ++}; + -+#define MAC_RXPKT_CONTROL61 (WIFI_MAC_TX_REG_BASE + 0x34c) -+// Bit 31 :0 reg_mac_rxpkt_control61 U RW default = 'h0 -+typedef union MAC_RXPKT_CONTROL61_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control61 : 32; -+ } b; -+} MAC_RXPKT_CONTROL61_FIELD_T; ++struct sts_ob_ant_nfloor { ++ unsigned int r_snr_qdb:10, rsv1:2,r_ant_nfloor_qdb:10,rsv2:10; ++}; + -+#define MAC_RXPKT_CONTROL62 (WIFI_MAC_TX_REG_BASE + 0x350) -+// Bit 31 :0 reg_mac_rxpkt_control62 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL62_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control62 : 32; -+ } b; -+} MAC_RXPKT_CONTROL62_FIELD_T; ++struct sts_ob_cca_res { ++ unsigned int cca_cond_rdy:1, rsv1:15, cca_cond8:16; ++}; + -+#define MAC_RXPKT_CONTROL24 (WIFI_MAC_TX_REG_BASE + 0x354) -+// Bit 31 :0 reg_mac_rxpkt_control24 U RW default = 'h20000000 -+typedef union MAC_RXPKT_CONTROL24_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control24 : 32; -+ } b; -+} MAC_RXPKT_CONTROL24_FIELD_T; ++struct sts_ob_cca_cond01 { ++ unsigned int cca_cond0:16, cca_cond1:16; ++}; + -+#define MAC_11B_LUT_1M (WIFI_MAC_TX_REG_BASE + 0x358) -+// Bit 31 :0 reg_mac_11b_lut_1m U RW default = 'h0 -+typedef union MAC_11B_LUT_1M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11b_lut_1m : 32; -+ } b; -+} MAC_11B_LUT_1M_FIELD_T; ++struct sts_ob_cca_cond23 { ++ unsigned int cca_cond2:16, cca_cond3:16; ++}; + -+#define MAC_11B_LUT_2M (WIFI_MAC_TX_REG_BASE + 0x35c) -+// Bit 31 :0 reg_mac_11b_lut_2m U RW default = 'h11010000 -+typedef union MAC_11B_LUT_2M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11b_lut_2m : 32; -+ } b; -+} MAC_11B_LUT_2M_FIELD_T; ++union sts_agc_reg_u { ++ struct sts_agc_state state; ++ struct sts_agc_ob_ic_gain ic_gain; ++ struct sts_agc_watch1 wtc1; ++ struct sts_agc_watch2 wtc2; ++ struct sts_agc_watch3 wtc3; ++ struct sts_agc_watch4 wtc4; ++ struct sts_ob_ant_nfloor ant_nfloor; ++ struct sts_ob_cca_res cca_res; ++ struct sts_ob_cca_cond01 cca_cond_m1; ++ struct sts_ob_cca_cond23 cca_cond_m2; ++}; + -+#define MAC_11B_LUT_5M (WIFI_MAC_TX_REG_BASE + 0x360) -+// Bit 31 :0 reg_mac_11b_lut_5m U RW default = 'h22020202 -+typedef union MAC_11B_LUT_5M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11b_lut_5m : 32; -+ } b; -+} MAC_11B_LUT_5M_FIELD_T; ++#pragma pack(pop) + -+#define MAC_11B_LUT_11M (WIFI_MAC_TX_REG_BASE + 0x364) -+// Bit 31 :0 reg_mac_11b_lut_11m U RW default = 'h33030303 -+typedef union MAC_11B_LUT_11M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11b_lut_11m : 32; -+ } b; -+} MAC_11B_LUT_11M_FIELD_T; ++#endif +diff --git a/drivers/net/wireless/w1/common/wifi_aon_addr.h b/drivers/net/wireless/w1/common/wifi_aon_addr.h +new file mode 100644 +index 0000000000000000000000000000000000000000..3a38a28fe50a813951ffdb2bfd08c951c20c2018 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_aon_addr.h +@@ -0,0 +1,24 @@ ++#ifndef __ADDR_AON_H__ ++#define __ADDR_AON_H__ + -+#define MAC_11G_LUT_6M (WIFI_MAC_TX_REG_BASE + 0x368) -+// Bit 31 :0 reg_mac_11g_lut_6m U RW default = 'h44040404 -+typedef union MAC_11G_LUT_6M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11g_lut_6m : 32; -+ } b; -+} MAC_11G_LUT_6M_FIELD_T; + -+#define MAC_11G_LUT_9M (WIFI_MAC_TX_REG_BASE + 0x36c) -+// Bit 31 :0 reg_mac_11g_lut_9m U RW default = 'h44050505 -+typedef union MAC_11G_LUT_9M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11g_lut_9m : 32; -+ } b; -+} MAC_11G_LUT_9M_FIELD_T; ++//#define WIFI_AON (0xf800) ++#define WIFI_AON (0x00F00000) + -+#define MAC_11G_LUT_12M (WIFI_MAC_TX_REG_BASE + 0x370) -+// Bit 31 :0 reg_mac_11g_lut_12m U RW default = 'h55060606 -+typedef union MAC_11G_LUT_12M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11g_lut_12m : 32; -+ } b; -+} MAC_11G_LUT_12M_FIELD_T; ++// pmu status ++#define PMU_PWR_OFF 0x0 ++#define PMU_PWR_XOSC 0x1 ++#define PMU_XOSC_WAIT 0x2 ++#define PMU_XOSC_DPLL 0x3 ++#define PMU_DPLL_WAIT 0x4 ++#define PMU_DPLL_ACT 0x5 ++#define PMU_ACT_MODE 0x6 ++#define PMU_ACT_SLEEP 0x7 ++#define PMU_SLEEP_MODE 0x8 ++#define PMU_SLEEP_WAKE 0x9 ++#define PMU_WAKE_WAIT 0xa ++#define PMU_WAKE_XOSC 0xb + -+#define MAC_11G_LUT_18M (WIFI_MAC_TX_REG_BASE + 0x374) -+// Bit 31 :0 reg_mac_11g_lut_18m U RW default = 'h55060606 -+typedef union MAC_11G_LUT_18M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11g_lut_18m : 32; -+ } b; -+} MAC_11G_LUT_18M_FIELD_T; ++#define WIFI_RG_AON_CFG4 (WIFI_AON + 0x78) ++#define WIFI_RG_AON_CFG5 (WIFI_AON + 0x7C) ++#endif +diff --git a/drivers/net/wireless/w1/common/wifi_coex_addr.h b/drivers/net/wireless/w1/common/wifi_coex_addr.h +new file mode 100644 +index 0000000000000000000000000000000000000000..68be97d11a79ae26359c722a1b05889fa087cfb0 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_coex_addr.h +@@ -0,0 +1,34 @@ ++#ifndef __WIFI_COEX_ADDR_H__ ++#define __WIFI_COEX_ADDR_H__ + -+#define MAC_11G_LUT_24M (WIFI_MAC_TX_REG_BASE + 0x378) -+// Bit 31 :0 reg_mac_11g_lut_24m U RW default = 'h56060606 -+typedef union MAC_11G_LUT_24M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11g_lut_24m : 32; -+ } b; -+} MAC_11G_LUT_24M_FIELD_T; ++#define WIFI_COEX (0x00f06000) + -+#define MAC_11G_LUT_36M (WIFI_MAC_TX_REG_BASE + 0x37c) -+// Bit 31 :0 reg_mac_11g_lut_36m U RW default = 'h66080608 -+typedef union MAC_11G_LUT_36M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11g_lut_36m : 32; -+ } b; -+} MAC_11G_LUT_36M_FIELD_T; ++#define RG_COEX_PRIORITY_M6 (WIFI_COEX + 0xbc) ++#define RG_COEX_PRD_NUM_M6 (WIFI_COEX + 0xc0) ++#define RG_COEX_ACT_NUM_M6 (WIFI_COEX + 0xc4) ++#define RG_COEX_OFFSET_NUM_M6 (WIFI_COEX + 0xc8) ++#define RG_COEX_INT_OFFSET_M6 (WIFI_COEX + 0xcc) ++#define RG_COEX_INI2_OFFSET_M6 (WIFI_COEX + 0xd0) + -+#define MAC_11G_LUT_48M (WIFI_MAC_TX_REG_BASE + 0x380) -+// Bit 31 :0 reg_mac_11g_lut_48m U RW default = 'h67080608 -+typedef union MAC_11G_LUT_48M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11g_lut_48m : 32; -+ } b; -+} MAC_11G_LUT_48M_FIELD_T; ++#define RG_COEX_HS5W_MANUAL0 (WIFI_COEX + 0x4) ++#define RG_COEX_HS5W_MANUAL1 (WIFI_COEX + 0x8) ++#define RG_COEX_HS5W_MANUAL2 (WIFI_COEX + 0xc) ++#define RG_COEX_HS5W_MANUAL3 (WIFI_COEX + 0x10) ++#define RG_COEX_HS5W_MANUAL4 (WIFI_COEX + 0x14) + -+#define MAC_11G_LUT_54M (WIFI_MAC_TX_REG_BASE + 0x384) -+// Bit 31 :0 reg_mac_11g_lut_54m U RW default = 'h67080608 -+typedef union MAC_11G_LUT_54M_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11g_lut_54m : 32; -+ } b; -+} MAC_11G_LUT_54M_FIELD_T; ++#define RG_COEX_HS5W_CTRL0 (WIFI_COEX + 0x18) ++#define RG_COEX_HS5W_CTRL1 (WIFI_COEX + 0x1c) + -+#define MAC_11N_LUT_MCS0 (WIFI_MAC_TX_REG_BASE + 0x388) -+// Bit 31 :0 reg_mac_11n_lut_mcs0 U RW default = 'h88800404 -+typedef union MAC_11N_LUT_MCS0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11n_lut_mcs0 : 32; -+ } b; -+} MAC_11N_LUT_MCS0_FIELD_T; ++#define RG_COEX_RF_STABLE_CTRL (WIFI_COEX + 0x20) ++#define RG_COEX_BT_OWNER_CTRL (WIFI_COEX + 0x24) ++#define RG_COEX_WF_OWNER_CTRL (WIFI_COEX + 0x28) + -+#define MAC_11N_LUT_MCS1 (WIFI_MAC_TX_REG_BASE + 0x38c) -+// Bit 31 :0 reg_mac_11n_lut_mcs1 U RW default = 'h99810606 -+typedef union MAC_11N_LUT_MCS1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11n_lut_mcs1 : 32; -+ } b; -+} MAC_11N_LUT_MCS1_FIELD_T; ++#define RG_COEX_BT_LOGIC_INFO (WIFI_COEX + 0x200) ++#define COEX_EN_ESCO (0x00000010) ++#define RG_COEX_CFG1 (WIFI_COEX + 0x19c) ++#define RG_COEX_IRQ_END_TIME (WIFI_COEX + 0x304) ++#define RG_COEX_WF_IRQ_MSK (WIFI_COEX + 0x39c) ++#define RG_COEX_BT_IRQ_MSK (WIFI_COEX + 0x3a0) + -+#define MAC_11N_LUT_MCS2 (WIFI_MAC_TX_REG_BASE + 0x390) -+// Bit 31 :0 reg_mac_11n_lut_mcs2 U RW default = 'h9a810606 -+typedef union MAC_11N_LUT_MCS2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11n_lut_mcs2 : 32; -+ } b; -+} MAC_11N_LUT_MCS2_FIELD_T; ++#endif + -+#define MAC_11N_LUT_MCS3 (WIFI_MAC_TX_REG_BASE + 0x394) -+// Bit 31 :0 reg_mac_11n_lut_mcs3 U RW default = 'hbb830608 -+typedef union MAC_11N_LUT_MCS3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11n_lut_mcs3 : 32; -+ } b; -+} MAC_11N_LUT_MCS3_FIELD_T; +diff --git a/drivers/net/wireless/w1/common/wifi_i2c_addr.h b/drivers/net/wireless/w1/common/wifi_i2c_addr.h +new file mode 100644 +index 0000000000000000000000000000000000000000..54b3762e3b23357c556c2c1127bb41fb62a07e0e +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_i2c_addr.h +@@ -0,0 +1,14 @@ ++#ifndef __WIFI_I2C_ADDR_H__ ++#define __WIFI_I2C_ADDR_H__ + -+#define MAC_11N_LUT_MCS4 (WIFI_MAC_TX_REG_BASE + 0x398) -+// Bit 31 :0 reg_mac_11n_lut_mcs4 U RW default = 'hbc830608 -+typedef union MAC_11N_LUT_MCS4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11n_lut_mcs4 : 32; -+ } b; -+} MAC_11N_LUT_MCS4_FIELD_T; ++#define WIFI_I2C (0x4800) + -+#define MAC_11N_LUT_MCS5 (WIFI_MAC_TX_REG_BASE + 0x39c) -+// Bit 31 :0 reg_mac_11n_lut_mcs5 U RW default = 'hbd830608 -+typedef union MAC_11N_LUT_MCS5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11n_lut_mcs5 : 32; -+ } b; -+} MAC_11N_LUT_MCS5_FIELD_T; ++#define WIFI_I2C_M0_CONTROL_REG (WIFI_I2C + (0x00 << 2)) ++#define WIFI_I2C_M0_SLAVE_ADDR (WIFI_I2C + (0x01 << 2)) ++#define WIFI_I2C_M0_TOKEN_LIST0 (WIFI_I2C + (0x02 << 2)) ++#define WIFI_I2C_M0_TOKEN_LIST1 (WIFI_I2C + (0x03 << 2)) ++#define WIFI_I2C_M0_WDATA_REG0 (WIFI_I2C + (0x04 << 2)) ++#define WIFI_I2C_M0_WDATA_REG1 (WIFI_I2C + (0x05 << 2)) ++#define WIFI_I2C_M0_RDATA_REG0 (WIFI_I2C + (0x06 << 2)) + -+#define MAC_11N_LUT_MCS6 (WIFI_MAC_TX_REG_BASE + 0x3a0) -+// Bit 31 :0 reg_mac_11n_lut_mcs6 U RW default = 'hbe830608 -+typedef union MAC_11N_LUT_MCS6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11n_lut_mcs6 : 32; -+ } b; -+} MAC_11N_LUT_MCS6_FIELD_T; ++#endif +diff --git a/drivers/net/wireless/w1/common/wifi_intf_addr.h b/drivers/net/wireless/w1/common/wifi_intf_addr.h +new file mode 100644 +index 0000000000000000000000000000000000000000..7ec21d85f4a191e947fc6ccbd048a16c61b173fd +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_intf_addr.h +@@ -0,0 +1,26 @@ ++#ifndef __ADDR_INTF_H__ ++#define __ADDR_INTF_H__ + -+#define MAC_11N_LUT_MCS7 (WIFI_MAC_TX_REG_BASE + 0x3a4) -+// Bit 31 :0 reg_mac_11n_lut_mcs7 U RW default = 'hbe830606 -+typedef union MAC_11N_LUT_MCS7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11n_lut_mcs7 : 32; -+ } b; -+} MAC_11N_LUT_MCS7_FIELD_T; + -+#define MAC_11AC_LUT_MCS0 (WIFI_MAC_TX_REG_BASE + 0x3a8) -+// Bit 31 :0 reg_mac_11ac_lut_mcs0 U RW default = 'h48040404 -+typedef union MAC_11AC_LUT_MCS0_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs0 : 32; -+ } b; -+} MAC_11AC_LUT_MCS0_FIELD_T; ++#define WIFI_INTF (0xd000) + -+#define MAC_11AC_LUT_MCS1 (WIFI_MAC_TX_REG_BASE + 0x3ac) -+// Bit 31 :0 reg_mac_11ac_lut_mcs1 U RW default = 'h59060606 -+typedef union MAC_11AC_LUT_MCS1_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs1 : 32; -+ } b; -+} MAC_11AC_LUT_MCS1_FIELD_T; ++#define RG_INTF_CTRL_CLK (WIFI_INTF + 0xb0) ++#define RG_INTF_CPU_CLK (WIFI_INTF + 0x090) ++#define RG_INTF_APB_CLK (WIFI_INTF + 0x094) ++#define RG_INTF_MAC_CLK (WIFI_INTF + 0x098) ++#define RG_INTF_DAC_CLK (WIFI_INTF + 0x0a0) ++#define RG_INTF_ADC_CLK (WIFI_INTF + 0x0a4) ++#define RG_INTF_VIT_CLK (WIFI_INTF + 0x0ac) ++#define RG_INTF_11BRX_CLK (WIFI_INTF + 0x0bc) ++#define RG_INTF_320M_CLK (WIFI_INTF + 0x100) ++#define RG_INTF_240M_CLK (WIFI_INTF + 0x104) ++#define RG_INTF_BTCPU_CLK (WIFI_INTF + 0x108) ++#define RG_INTF_BTMAC_CLK (WIFI_INTF + 0x10c) ++#define RG_INTF_LDPC_CLK (WIFI_INTF + 0x118) ++#define RG_INTF_PIN_MUX_REG1 (WIFI_INTF + 0x004) ++#define RG_INTF_SHARE_64K_CAP (WIFI_INTF + 0x0e4) ++#define RG_INTF_PHY_CLK (WIFI_INTF + 0x0a8) ++#define RG_INTF_RTC_CLK_CTRL (WIFI_INTF + 0xc0) ++#define RG_INTF_MAC_TIMER_CTRL1 (WIFI_INTF + 0xd0) + -+#define MAC_11AC_LUT_MCS2 (WIFI_MAC_TX_REG_BASE + 0x3b0) -+// Bit 31 :0 reg_mac_11ac_lut_mcs2 U RW default = 'h5a060606 -+typedef union MAC_11AC_LUT_MCS2_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs2 : 32; -+ } b; -+} MAC_11AC_LUT_MCS2_FIELD_T; ++#endif +diff --git a/drivers/net/wireless/w1/common/wifi_mac_addr.h b/drivers/net/wireless/w1/common/wifi_mac_addr.h +new file mode 100644 +index 0000000000000000000000000000000000000000..b3cc16e976daf0138cd992e8383206593e9b943d +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_mac_addr.h +@@ -0,0 +1,109 @@ ++#ifndef __WIFI_MAC_ADDR_H__ ++#define __WIFI_MAC_ADDR_H__ + -+#define MAC_11AC_LUT_MCS3 (WIFI_MAC_TX_REG_BASE + 0x3b4) -+// Bit 31 :0 reg_mac_11ac_lut_mcs3 U RW default = 'h6b080608 -+typedef union MAC_11AC_LUT_MCS3_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs3 : 32; -+ } b; -+} MAC_11AC_LUT_MCS3_FIELD_T; ++#define WIFI_MAC (0x0000) ++#define RG_MAC_COUNT1 (WIFI_MAC + 0xb0) ++#define RG_MAC_LOCAL_ADDRL0 (WIFI_MAC+0X1c) ++#define RG_MAC_LOCAL_ADDRH0 (WIFI_MAC+0X20) + -+#define MAC_11AC_LUT_MCS4 (WIFI_MAC_TX_REG_BASE + 0x3b8) -+// Bit 31 :0 reg_mac_11ac_lut_mcs4 U RW default = 'h6c080608 -+typedef union MAC_11AC_LUT_MCS4_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs4 : 32; -+ } b; -+} MAC_11AC_LUT_MCS4_FIELD_T; ++#define RG_MAC_BSSID0LO_REG (WIFI_MAC+0x3c) ++#define RG_MAC_BSSID0HI_REG (WIFI_MAC+0x40) + -+#define MAC_11AC_LUT_MCS5 (WIFI_MAC_TX_REG_BASE + 0x3bc) -+// Bit 31 :0 reg_mac_11ac_lut_mcs5 U RW default = 'h6d080608 -+typedef union MAC_11AC_LUT_MCS5_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs5 : 32; -+ } b; -+} MAC_11AC_LUT_MCS5_FIELD_T; ++#define RG_MAC_COUNT2 (WIFI_MAC+0Xb4) ++#define RG_MAC_CHANNEL_INDEX (WIFI_MAC+0X1e0) ++#define RG_MAC_BSSIDLO_N(_vid) (RG_MAC_BSSID0LO_REG+(_vid)*8) ++#define RG_MAC_BSSIDHI_N(_vid) (RG_MAC_BSSID0HI_REG+(_vid)*8) ++#define RG_MAC_LOCAL_ADDRLN(_vid) (RG_MAC_LOCAL_ADDRL0+(_vid)*8) ++#define RG_MAC_LOCAL_ADDRHN(_vid) (RG_MAC_LOCAL_ADDRH0+(_vid)*8) + -+#define MAC_11AC_LUT_MCS6 (WIFI_MAC_TX_REG_BASE + 0x3c0) -+// Bit 31 :0 reg_mac_11ac_lut_mcs6 U RW default = 'h6e080608 -+typedef union MAC_11AC_LUT_MCS6_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs6 : 32; -+ } b; -+} MAC_11AC_LUT_MCS6_FIELD_T; ++#define RG_MAC_CNT_CTRL_FIQ (WIFI_MAC + 0x5c ) ++#define RG_MAC_FRM_TYPE_CNT_CTRL (WIFI_MAC + 0xa4) ++#define RG_MAC_RX_DATA_LOCAL_CNT (WIFI_MAC + 0x1b8) ++#define RG_MAC_RX_DATA_OTHER_CNT (WIFI_MAC + 0x1bc) ++#define RG_MAC_RX_DATA_MUTIL_CNT (WIFI_MAC + 0x1c0) ++#define RG_MAC_TX_STT_CHK (WIFI_MAC + 0x1a8) ++#define RG_MAC_TX_END_CHK (WIFI_MAC + 0x1ac) ++#define RG_MAC_TX_EN_CHK (WIFI_MAC + 0x1b0) ++#define RG_MAC_TX_ENWR_CHK (WIFI_MAC + 0x1b4) + -+#define MAC_11AC_LUT_MCS7 (WIFI_MAC_TX_REG_BASE + 0x3c4) -+// Bit 31 :0 reg_mac_11ac_lut_mcs7 U RW default = 'h6e080608 -+typedef union MAC_11AC_LUT_MCS7_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs7 : 32; -+ } b; -+} MAC_11AC_LUT_MCS7_FIELD_T; ++#define RG_MAC_IRQ_STATUS_CNT0 (WIFI_MAC + 0x60) ++#define RG_MAC_IRQ_STATUS_CNT1 (WIFI_MAC + 0x64) ++#define RG_MAC_IRQ_STATUS_CNT2 (WIFI_MAC + 0x68) ++#define RG_MAC_IRQ_STATUS_CNT3 (WIFI_MAC + 0x74) ++#define RG_MAC_FRM_TYPE_CNT0 (WIFI_MAC + 0xa8) ++#define RG_MAC_FRM_TYPE_CNT1 (WIFI_MAC + 0xac) ++#define RG_MAC_FRM_TYPE_CNT2 (WIFI_MAC + 0xf4) ++#define RG_MAC_FRM_TYPE_CNT3 (WIFI_MAC + 0xf8) ++#define RG_MAC_BCN_CTRL_REG (WIFI_MAC + 0x234) ++#define RG_MAC_RX_WPTR (WIFI_MAC + 0x1fc) ++#define RG_MAC_RX_FRPTR (WIFI_MAC + 0x200) ++#define RG_MAC_RX_HRPTR (WIFI_MAC + 0x204) + -+#define MAC_11AC_LUT_MCS8 (WIFI_MAC_TX_REG_BASE + 0x3c8) -+// Bit 31 :0 reg_mac_11ac_lut_mcs8 U RW default = 'h6f080608 -+typedef union MAC_11AC_LUT_MCS8_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs8 : 32; -+ } b; -+} MAC_11AC_LUT_MCS8_FIELD_T; + -+#define MAC_11AC_LUT_MCS9 (WIFI_MAC_TX_REG_BASE + 0x3cc) -+// Bit 31 :0 reg_mac_11ac_lut_mcs9 U RW default = 'h6f0b080b -+typedef union MAC_11AC_LUT_MCS9_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_11ac_lut_mcs9 : 32; -+ } b; -+} MAC_11AC_LUT_MCS9_FIELD_T; + -+#define VID0_TIMESTAMP_HIGH (WIFI_MAC_TX_REG_BASE + 0x3d0) -+// Bit 31 :0 reg_vid0_timestamp_high U RW default = 'h0 -+typedef union VID0_TIMESTAMP_HIGH_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_vid0_timestamp_high : 32; -+ } b; -+} VID0_TIMESTAMP_HIGH_FIELD_T; ++struct data_rx_local_cnt_bits{ ++ unsigned int data_local_cnt: 29, ++ data_local_cnt_qos:1, ++ data_local_cnt_clr:1, ++ data_local_cnt_en:1; ++}; + -+#define VID0_TIMESTAMP_LOW (WIFI_MAC_TX_REG_BASE + 0x3d4) -+// Bit 31 :0 reg_vid0_timestamp_low U RW default = 'h0 -+typedef union VID0_TIMESTAMP_LOW_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_vid0_timestamp_low : 32; -+ } b; -+} VID0_TIMESTAMP_LOW_FIELD_T; ++struct data_rx_cnt_bits{ ++ unsigned int cnt:30, ++ clr:1, ++ en:1; ++}; + -+#define VID1_TIMESTAMP_HIGH (WIFI_MAC_TX_REG_BASE + 0x3d8) -+// Bit 31 :0 reg_vid1_timestamp_high U RW default = 'h0 -+typedef union VID1_TIMESTAMP_HIGH_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_vid1_timestamp_high : 32; -+ } b; -+} VID1_TIMESTAMP_HIGH_FIELD_T; + -+#define VID1_TIMESTAMP_LOW (WIFI_MAC_TX_REG_BASE + 0x3dc) -+// Bit 31 :0 reg_vid1_timestamp_low U RW default = 'h0 -+typedef union VID1_TIMESTAMP_LOW_FIELD ++struct tx_cnt_ctrl_bits +{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_vid1_timestamp_low : 32; -+ } b; -+} VID1_TIMESTAMP_LOW_FIELD_T; ++ unsigned int cnt :26, ++ en:1, ++ clr:1, ++ rsv:4; ++}; + -+#define VID2_TIMESTAMP_HIGH (WIFI_MAC_TX_REG_BASE + 0x3e0) -+// Bit 31 :0 reg_vid2_timestamp_high U RW default = 'h0 -+typedef union VID2_TIMESTAMP_HIGH_FIELD ++struct cnt_ctrl_bits +{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_vid2_timestamp_high : 32; -+ } b; -+} VID2_TIMESTAMP_HIGH_FIELD_T; ++ unsigned int type_idx0 :6, ++ type_idx1 :6, ++ type_idx2 :6, ++ type_idx3 :6, ++ en0 :1, ++ en1 :1, ++ en2 :1, ++ en3 :1, ++ clr0 :1, ++ clr1 :1, ++ clr2 :1, ++ clr3 :1; ++}; + -+#define VID2_TIMESTAMP_LOW (WIFI_MAC_TX_REG_BASE + 0x3e4) -+// Bit 31 :0 reg_vid2_timestamp_low U RW default = 'h0 -+typedef union VID2_TIMESTAMP_LOW_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_vid2_timestamp_low : 32; -+ } b; -+} VID2_TIMESTAMP_LOW_FIELD_T; + -+#define VID3_TIMESTAMP_HIGH (WIFI_MAC_TX_REG_BASE + 0x3e8) -+// Bit 31 :0 reg_vid3_timestamp_high U RW default = 'h0 -+typedef union VID3_TIMESTAMP_HIGH_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_vid3_timestamp_high : 32; -+ } b; -+} VID3_TIMESTAMP_HIGH_FIELD_T; ++struct ctrl_idx{ ++ unsigned char idx0; ++ unsigned char idx1; ++ unsigned char idx2; ++ unsigned char idx3; ++ unsigned char qos_en; ++}; + -+#define VID3_TIMESTAMP_LOW (WIFI_MAC_TX_REG_BASE + 0x3ec) -+// Bit 31 :0 reg_vid3_timestamp_low U RW default = 'h0 -+typedef union VID3_TIMESTAMP_LOW_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_vid3_timestamp_low : 32; -+ } b; -+} VID3_TIMESTAMP_LOW_FIELD_T; ++union sts_mac_reg_u{ ++ unsigned int x; ++ struct ctrl_idx op_idx; ++ struct tx_cnt_ctrl_bits tx_cnt_ctrl; ++ struct cnt_ctrl_bits cnt_ctrl; ++ struct data_rx_cnt_bits rx_other_cnt; ++ struct data_rx_cnt_bits rx_mutil_cnt; ++ struct data_rx_local_cnt_bits rx_local_cnt; ++}; + -+#define MAC_RXPKT_CONTROL17 (WIFI_MAC_TX_REG_BASE + 0x3f0) -+// Bit 31 :0 reg_mac_rxpkt_control17 U RW default = 'hc0000000 -+typedef union MAC_RXPKT_CONTROL17_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control17 : 32; -+ } b; -+} MAC_RXPKT_CONTROL17_FIELD_T; ++struct sts_irq_ctrl{ ++ unsigned int cnt:29,func_code:3 ; ++}; + -+#define MAC_RXPKT_CONTROL21 (WIFI_MAC_TX_REG_BASE + 0x3f4) -+// Bit 31 :0 reg_mac_rxpkt_control21 U RW default = 'hc0000000 -+typedef union MAC_RXPKT_CONTROL21_FIELD -+{ -+ unsigned int data; -+ struct -+ { -+ unsigned int reg_mac_rxpkt_control21 : 32; -+ } b; -+} MAC_RXPKT_CONTROL21_FIELD_T; ++struct sts_sw_cnt_ctrl{ ++ unsigned int cnt:29,func_code:3 ; ++}; + +#endif -+ +diff --git a/drivers/net/wireless/w1/common/wifi_mac_main_reg.h b/drivers/net/wireless/w1/common/wifi_mac_main_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..fbce31e192100ce7d9c7aeff1acc9dae080e62c7 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_mac_main_reg.h +@@ -0,0 +1,1085 @@ ++#ifdef WIFI_MAC_MAIN_REG ++#else ++#define WIFI_MAC_MAIN_REG ++ ++ ++#define WIFI_MAC_MAIN_REG_BASE (0xa00000) ++ ++#define MAC_CONTROL (WIFI_MAC_MAIN_REG_BASE + 0x0) ++// Bit 0 reg_a1mis_abort_en U RW default = 'h0 ++// Bit 1 reg_swirq U RW default = 'h0 ++// Bit 2 reg_sniffer_enable U RW default = 'h0 ++// Bit 3 reg_smpdu_bitmap_update U RW default = 'h0 ++// Bit 4 reg_txstartit_earlymode U RW default = 'h0 ++// Bit 5 reg_ofdm_padding U RW default = 'h1 ++// Bit 6 reg_status_count_enable U RW default = 'h1 ++// Bit 11 reg_frequency_band U RW default = 'h0 ++// Bit 12 reg_tximmstop U RW default = 'h0 ++// Bit 13 reg_endian U RW default = 'h1 ++// Bit 14 reg_cca_rst_req U RW default = 'h0 ++// Bit 15 reg_fiqenable_rdrst U RW default = 'h0 ++// Bit 17 reg_tcpip_offload_on U RW default = 'h1 ++// Bit 18 reg_bws_ta_disable U RW default = 'h1 ++// Bit 19 reg_vht_txtime_sel U RW default = 'h0 ++// Bit 20 reg_qosnull_notupd_bitmap U RW default = 'h0 ++typedef union MAC_CONTROL_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_a1mis_abort_en : 1; ++ unsigned int reg_swirq : 1; ++ unsigned int reg_sniffer_enable : 1; ++ unsigned int reg_smpdu_bitmap_update : 1; ++ unsigned int reg_txstartit_earlymode : 1; ++ unsigned int reg_ofdm_padding : 1; ++ unsigned int reg_status_count_enable : 1; ++ unsigned int rsvd_0 : 4; ++ unsigned int reg_frequency_band : 1; ++ unsigned int reg_tximmstop : 1; ++ unsigned int reg_endian : 1; ++ unsigned int reg_cca_rst_req : 1; ++ unsigned int reg_fiqenable_rdrst : 1; ++ unsigned int rsvd_1 : 1; ++ unsigned int reg_tcpip_offload_on : 1; ++ unsigned int reg_bws_ta_disable : 1; ++ unsigned int reg_vht_txtime_sel : 1; ++ unsigned int reg_qosnull_notupd_bitmap : 1; ++ unsigned int rsvd_2 : 11; ++ } b; ++} MAC_CONTROL_FIELD_T; ++ ++#define MAC_IRQ_MASK (WIFI_MAC_MAIN_REG_BASE + 0x4) ++// Bit 0 reg_txstart_mask U RW default = 'h0 ++// Bit 1 reg_txend_mask U RW default = 'h0 ++// Bit 9 reg_ackto_mask U RW default = 'h0 ++// Bit 11 reg_rxstart_mask U RW default = 'h0 ++// Bit 12 reg_rxend_mask U RW default = 'h0 ++// Bit 31 :16 reg_abscount_mask U RW default = 'h0 ++typedef union MAC_IRQ_MASK_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txstart_mask : 1; ++ unsigned int reg_txend_mask : 1; ++ unsigned int rsvd_0 : 7; ++ unsigned int reg_ackto_mask : 1; ++ unsigned int rsvd_1 : 1; ++ unsigned int reg_rxstart_mask : 1; ++ unsigned int reg_rxend_mask : 1; ++#ifdef PROJECT_T9026 ++ unsigned int rsvd_2 : 7; ++ unsigned int reg_abscount_mask : 12; ++#else ++ unsigned int rsvd_2 : 3; ++ unsigned int reg_abscount_mask : 16; ++#endif ++ } b; ++} MAC_IRQ_MASK_FIELD_T; ++ ++#define MAC_IRQ_STATUS (WIFI_MAC_MAIN_REG_BASE + 0xc) ++// Bit 0 reg_txstart_it U W1C default = 'h0 ++// Bit 1 reg_txend_it U W1C default = 'h0 ++// Bit 3 :2 ro_txvmac_id U RO default = 'h0 ++// Bit 7 :4 ro_txstart_queue U RO default = 'h0 ++// Bit 8 ro_txenderr U RO default = 'h0 ++// Bit 9 reg_ackto_it U W1C default = 'h0 ++// Bit 10 ro_txcol_flag U RO default = 'h0 ++// Bit 11 reg_rxstart_it U W1C default = 'h0 ++// Bit 12 reg_rxend_it U W1C default = 'h0 ++// Bit 13 ro_rxmpdu_ok U RO default = 'h0 ++// Bit 14 ro_unicast U RO default = 'h0 ++// Bit 15 ro_a1match U RO default = 'h0 ++// Bit 16 ro_bssidmatch U RO default = 'h0 ++// Bit 18 ro_srambuf_full1 U RO default = 'h0 ++// Bit 19 reg_swirq_it U W1C default = 'h0 ++// Bit 25 :20 reg_tx_frame_type U RW default = 'h0 ++// Bit 30 reg_abscount_intr U W1C default = 'h0 ++// Bit 31 reg_fiq_enable U RW default = 'h0 ++typedef union MAC_IRQ_STATUS_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txstart_it : 1; ++ unsigned int reg_txend_it : 1; ++ unsigned int ro_txvmac_id : 2; ++ unsigned int ro_txstart_queue : 4; ++ unsigned int ro_txenderr : 1; ++ unsigned int reg_ackto_it : 1; ++ unsigned int ro_txcol_flag : 1; ++ unsigned int reg_rxstart_it : 1; ++ unsigned int reg_rxend_it : 1; ++ unsigned int ro_rxmpdu_ok : 1; ++ unsigned int ro_unicast : 1; ++ unsigned int ro_a1match : 1; ++ unsigned int ro_bssidmatch : 1; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_srambuf_full1 : 1; ++ unsigned int reg_swirq_it : 1; ++ unsigned int reg_tx_frame_type : 6; ++ unsigned int rsvd_1 : 4; ++ unsigned int reg_abscount_intr : 1; ++ unsigned int reg_fiq_enable : 1; ++ } b; ++} MAC_IRQ_STATUS_FIELD_T; ++ ++#define MAC_ERR_STATUS (WIFI_MAC_MAIN_REG_BASE + 0x10) ++// Bit 0 ro_fiac_fw_timeout_err U RO default = 'h0 ++// Bit 1 ro_hw_timeout_err U RO default = 'h0 ++// Bit 2 ro_tx_wd_timeout_err U RO default = 'h0 ++// Bit 3 ro_txinvalidlen_err U RO default = 'h0 ++// Bit 4 ro_tx_keymiss U RO default = 'h0 ++// Bit 5 ro_tximmstop_err U RO default = 'h0 ++// Bit 9 :6 ro_tx_phyerror U RO default = 'h0 ++// Bit 18 :10 ro_txcol_queue U RO default = 'h0 ++// Bit 19 ro_tx_not_grant U RO default = 'h0 ++// Bit 22 ro_srambuf_full2 U RO default = 'h0 ++// Bit 23 ro_fcserr U RO default = 'h0 ++// Bit 24 ro_rxfifoov U RO default = 'h0 ++// Bit 25 ro_rx_wd_timeout_err U RO default = 'h0 ++// Bit 26 ro_short_length U RO default = 'h0 ++// Bit 27 ro_length_error U RO default = 'h0 ++// Bit 31 :28 ro_rx_phyerror U RO default = 'h0 ++typedef union MAC_ERR_STATUS_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_fiac_fw_timeout_err : 1; ++ unsigned int ro_hw_timeout_err : 1; ++ unsigned int ro_tx_wd_timeout_err : 1; ++ unsigned int ro_txinvalidlen_err : 1; ++ unsigned int ro_tx_keymiss : 1; ++ unsigned int ro_tximmstop_err : 1; ++ unsigned int ro_tx_phyerror : 4; ++ unsigned int ro_txcol_queue : 9; ++ unsigned int ro_tx_not_grant : 1; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_srambuf_full2 : 1; ++ unsigned int ro_fcserr : 1; ++ unsigned int ro_rxfifoov : 1; ++ unsigned int ro_rx_wd_timeout_err : 1; ++ unsigned int ro_short_length : 1; ++ unsigned int ro_length_error : 1; ++ unsigned int ro_rx_phyerror : 4; ++ } b; ++} MAC_ERR_STATUS_FIELD_T; ++ ++#define ABS_STATUS (WIFI_MAC_MAIN_REG_BASE + 0x14) ++// Bit 16 reg_mac_absstatus0 U W1C default = 'h0 ++// Bit 17 reg_mac_absstatus1 U W1C default = 'h0 ++// Bit 18 reg_mac_absstatus2 U W1C default = 'h0 ++// Bit 19 reg_mac_absstatus3 U W1C default = 'h0 ++// Bit 20 reg_mac_absstatus4 U W1C default = 'h0 ++// Bit 21 reg_mac_absstatus5 U W1C default = 'h0 ++// Bit 22 reg_mac_absstatus6 U W1C default = 'h0 ++// Bit 23 reg_mac_absstatus7 U W1C default = 'h0 ++// Bit 24 reg_mac_absstatus8 U W1C default = 'h0 ++// Bit 25 reg_mac_absstatus9 U W1C default = 'h0 ++// Bit 26 reg_mac_absstatus10 U W1C default = 'h0 ++// Bit 27 reg_mac_absstatus11 U W1C default = 'h0 ++// Bit 28 reg_mac_absstatus12 U W1C default = 'h0 ++// Bit 29 reg_mac_absstatus13 U W1C default = 'h0 ++// Bit 30 reg_mac_absstatus14 U W1C default = 'h0 ++// Bit 31 reg_mac_absstatus15 U W1C default = 'h0 ++typedef union ABS_STATUS_FIELD ++{ ++ unsigned int data; ++#ifdef PROJECT_T9026 ++ struct ++ { ++ unsigned int rsvd_0 : 20; ++ unsigned int reg_mac_absstatus0 : 1; ++ unsigned int reg_mac_absstatus1 : 1; ++ unsigned int reg_mac_absstatus2 : 1; ++ unsigned int reg_mac_absstatus3 : 1; ++ unsigned int reg_mac_absstatus4 : 1; ++ unsigned int reg_mac_absstatus5 : 1; ++ unsigned int reg_mac_absstatus6 : 1; ++ unsigned int reg_mac_absstatus7 : 1; ++ unsigned int reg_mac_absstatus8 : 1; ++ unsigned int reg_mac_absstatus9 : 1; ++ unsigned int reg_mac_absstatus10 : 1; ++ unsigned int reg_mac_absstatus11 : 1; ++ } b; ++#else ++ struct ++ { ++ unsigned int rsvd_0 : 16; ++ unsigned int reg_mac_absstatus0 : 1; ++ unsigned int reg_mac_absstatus1 : 1; ++ unsigned int reg_mac_absstatus2 : 1; ++ unsigned int reg_mac_absstatus3 : 1; ++ unsigned int reg_mac_absstatus4 : 1; ++ unsigned int reg_mac_absstatus5 : 1; ++ unsigned int reg_mac_absstatus6 : 1; ++ unsigned int reg_mac_absstatus7 : 1; ++ unsigned int reg_mac_absstatus8 : 1; ++ unsigned int reg_mac_absstatus9 : 1; ++ unsigned int reg_mac_absstatus10 : 1; ++ unsigned int reg_mac_absstatus11 : 1; ++ unsigned int reg_mac_absstatus12 : 1; ++ unsigned int reg_mac_absstatus13 : 1; ++ unsigned int reg_mac_absstatus14 : 1; ++ unsigned int reg_mac_absstatus15 : 1; ++ } b; ++#endif ++} ABS_STATUS_FIELD_T; ++ ++#define MAC_LOCAL_ADDRLO0 (WIFI_MAC_MAIN_REG_BASE + 0x1c) ++// Bit 31 :0 reg_mac_local_addrlo0 U RW default = 'h1279ffff ++typedef union MAC_LOCAL_ADDRLO0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_addrlo0 : 32; ++ } b; ++} MAC_LOCAL_ADDRLO0_FIELD_T; ++ ++#define MAC_LOCAL_ADDRHI0 (WIFI_MAC_MAIN_REG_BASE + 0x20) ++// Bit 15 :0 reg_mac_local_addrhi0 U RW default = 'h5634 ++typedef union MAC_LOCAL_ADDRHI0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_addrhi0 : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_LOCAL_ADDRHI0_FIELD_T; ++ ++#define MAC_LOCAL_ADDRLO1 (WIFI_MAC_MAIN_REG_BASE + 0x24) ++// Bit 31 :0 reg_mac_local_addrlo1 U RW default = 'h1279ffff ++typedef union MAC_LOCAL_ADDRLO1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_addrlo1 : 32; ++ } b; ++} MAC_LOCAL_ADDRLO1_FIELD_T; ++ ++#define MAC_LOCAL_ADDRHI1 (WIFI_MAC_MAIN_REG_BASE + 0x28) ++// Bit 15 :0 reg_mac_local_addrhi1 U RW default = 'h5634 ++typedef union MAC_LOCAL_ADDRHI1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_addrhi1 : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_LOCAL_ADDRHI1_FIELD_T; ++ ++#define MAC_LOCAL_ADDRLO2 (WIFI_MAC_MAIN_REG_BASE + 0x2c) ++// Bit 31 :0 reg_mac_local_addrlo2 U RW default = 'h1279ffff ++typedef union MAC_LOCAL_ADDRLO2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_addrlo2 : 32; ++ } b; ++} MAC_LOCAL_ADDRLO2_FIELD_T; ++ ++#define MAC_LOCAL_ADDRHI2 (WIFI_MAC_MAIN_REG_BASE + 0x30) ++// Bit 15 :0 reg_mac_local_addrhi2 U RW default = 'h5634 ++typedef union MAC_LOCAL_ADDRHI2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_addrhi2 : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_LOCAL_ADDRHI2_FIELD_T; ++ ++#define MAC_LOCAL_ADDRLO3 (WIFI_MAC_MAIN_REG_BASE + 0x34) ++// Bit 31 :0 reg_mac_local_addrlo3 U RW default = 'h1279ffff ++typedef union MAC_LOCAL_ADDRLO3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_addrlo3 : 32; ++ } b; ++} MAC_LOCAL_ADDRLO3_FIELD_T; ++ ++#define MAC_LOCAL_ADDRHI3 (WIFI_MAC_MAIN_REG_BASE + 0x38) ++// Bit 15 :0 reg_mac_local_addrhi3 U RW default = 'h5634 ++typedef union MAC_LOCAL_ADDRHI3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_addrhi3 : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_LOCAL_ADDRHI3_FIELD_T; ++ ++#define MAC_LOCAL_BSSIDLO0 (WIFI_MAC_MAIN_REG_BASE + 0x3c) ++// Bit 31 :0 reg_mac_local_bssidlo0 U RW default = 'h0 ++typedef union MAC_LOCAL_BSSIDLO0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_bssidlo0 : 32; ++ } b; ++} MAC_LOCAL_BSSIDLO0_FIELD_T; ++ ++#define MAC_LOCAL_BSSIDHI0 (WIFI_MAC_MAIN_REG_BASE + 0x40) ++// Bit 15 :0 reg_mac_local_bssidhi0 U RW default = 'h0 ++typedef union MAC_LOCAL_BSSIDHI0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_bssidhi0 : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_LOCAL_BSSIDHI0_FIELD_T; ++ ++#define MAC_LOCAL_BSSIDLO1 (WIFI_MAC_MAIN_REG_BASE + 0x44) ++// Bit 31 :0 reg_mac_local_bssidlo1 U RW default = 'h0 ++typedef union MAC_LOCAL_BSSIDLO1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_bssidlo1 : 32; ++ } b; ++} MAC_LOCAL_BSSIDLO1_FIELD_T; ++ ++#define MAC_LOCAL_BSSIDHI1 (WIFI_MAC_MAIN_REG_BASE + 0x48) ++// Bit 15 :0 reg_mac_local_bssidhi1 U RW default = 'h0 ++typedef union MAC_LOCAL_BSSIDHI1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_bssidhi1 : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_LOCAL_BSSIDHI1_FIELD_T; ++ ++#define MAC_LOCAL_BSSIDLO2 (WIFI_MAC_MAIN_REG_BASE + 0x4c) ++// Bit 31 :0 reg_mac_local_bssidlo2 U RW default = 'h0 ++typedef union MAC_LOCAL_BSSIDLO2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_bssidlo2 : 32; ++ } b; ++} MAC_LOCAL_BSSIDLO2_FIELD_T; ++ ++#define MAC_LOCAL_BSSIDHI2 (WIFI_MAC_MAIN_REG_BASE + 0x50) ++// Bit 15 :0 reg_mac_local_bssidhi2 U RW default = 'h0 ++typedef union MAC_LOCAL_BSSIDHI2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_bssidhi2 : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_LOCAL_BSSIDHI2_FIELD_T; ++ ++#define MAC_LOCAL_BSSIDLO3 (WIFI_MAC_MAIN_REG_BASE + 0x54) ++// Bit 31 :0 reg_mac_local_bssidlo3 U RW default = 'h0 ++typedef union MAC_LOCAL_BSSIDLO3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_bssidlo3 : 32; ++ } b; ++} MAC_LOCAL_BSSIDLO3_FIELD_T; ++ ++#define MAC_LOCAL_BSSIDHI3 (WIFI_MAC_MAIN_REG_BASE + 0x58) ++// Bit 15 :0 reg_mac_local_bssidhi3 U RW default = 'h0 ++typedef union MAC_LOCAL_BSSIDHI3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_local_bssidhi3 : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_LOCAL_BSSIDHI3_FIELD_T; ++ ++#define STATUS_CNT_CTRL_IRQ (WIFI_MAC_MAIN_REG_BASE + 0x5c) ++// Bit 5 :0 reg_fiq_status_cnt_idx0 U RW default = 'h0 ++// Bit 11 :6 reg_fiq_status_cnt_idx1 U RW default = 'h1 ++// Bit 17 :12 reg_fiq_status_cnt_idx2 U RW default = 'h9 ++// Bit 23 :18 reg_fiq_status_cnt_idx3 U RW default = 'h13 ++// Bit 24 reg_fiq_status_cnt_en0 U RW default = 'h1 ++// Bit 25 reg_fiq_status_cnt_en1 U RW default = 'h1 ++// Bit 26 reg_fiq_status_cnt_en2 U RW default = 'h1 ++// Bit 27 reg_fiq_status_cnt_en3 U RW default = 'h0 ++// Bit 28 reg_fiq_status_cnt_clr0 U RW default = 'h0 ++// Bit 29 reg_fiq_status_cnt_clr1 U RW default = 'h0 ++// Bit 30 reg_fiq_status_cnt_clr2 U RW default = 'h0 ++// Bit 31 reg_fiq_status_cnt_clr3 U RW default = 'h0 ++typedef union STATUS_CNT_CTRL_IRQ_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_fiq_status_cnt_idx0 : 6; ++ unsigned int reg_fiq_status_cnt_idx1 : 6; ++ unsigned int reg_fiq_status_cnt_idx2 : 6; ++ unsigned int reg_fiq_status_cnt_idx3 : 6; ++ unsigned int reg_fiq_status_cnt_en0 : 1; ++ unsigned int reg_fiq_status_cnt_en1 : 1; ++ unsigned int reg_fiq_status_cnt_en2 : 1; ++ unsigned int reg_fiq_status_cnt_en3 : 1; ++ unsigned int reg_fiq_status_cnt_clr0 : 1; ++ unsigned int reg_fiq_status_cnt_clr1 : 1; ++ unsigned int reg_fiq_status_cnt_clr2 : 1; ++ unsigned int reg_fiq_status_cnt_clr3 : 1; ++ } b; ++} STATUS_CNT_CTRL_IRQ_FIELD_T; ++ ++#define IRQ_STATUS_CNT0 (WIFI_MAC_MAIN_REG_BASE + 0x60) ++// Bit 31 :0 ro_fiq_status_cnt0 U RO default = 'h0 ++typedef union IRQ_STATUS_CNT0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_fiq_status_cnt0 : 32; ++ } b; ++} IRQ_STATUS_CNT0_FIELD_T; ++ ++#define IRQ_STATUS_CNT1 (WIFI_MAC_MAIN_REG_BASE + 0x64) ++// Bit 31 :0 ro_fiq_status_cnt1 U RO default = 'h0 ++typedef union IRQ_STATUS_CNT1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_fiq_status_cnt1 : 32; ++ } b; ++} IRQ_STATUS_CNT1_FIELD_T; ++ ++#define IRQ_STATUS_CNT2 (WIFI_MAC_MAIN_REG_BASE + 0x68) ++// Bit 31 :0 ro_fiq_status_cnt2 U RO default = 'h0 ++typedef union IRQ_STATUS_CNT2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_fiq_status_cnt2 : 32; ++ } b; ++} IRQ_STATUS_CNT2_FIELD_T; ++ ++#define MAC_CLKJIC0 (WIFI_MAC_MAIN_REG_BASE + 0x6c) ++// Bit 7 :0 reg_rx_clk_jic U RW default = 'hff ++// Bit 15 :8 reg_tx_clk_jic U RW default = 'hff ++// Bit 23 :16 reg_timer_clk_jic U RW default = 'hff ++// Bit 31 :24 reg_reg_clk_jic U RW default = 'hff ++typedef union MAC_CLKJIC0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_clk_jic : 8; ++ unsigned int reg_tx_clk_jic : 8; ++ unsigned int reg_timer_clk_jic : 8; ++ unsigned int reg_reg_clk_jic : 8; ++ } b; ++} MAC_CLKJIC0_FIELD_T; ++ ++#define MAC_CLKJIC1 (WIFI_MAC_MAIN_REG_BASE + 0x70) ++// Bit 11 :0 reg_dp_clk_jic U RW default = 'hfff ++// Bit 21 :16 reg_ahb_clk_jic U RW default = 'h3f ++typedef union MAC_CLKJIC1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_dp_clk_jic : 12; ++ unsigned int rsvd_0 : 4; ++ unsigned int reg_ahb_clk_jic : 6; ++ unsigned int rsvd_1 : 10; ++ } b; ++} MAC_CLKJIC1_FIELD_T; ++ ++#define IRQ_STATUS_CNT3 (WIFI_MAC_MAIN_REG_BASE + 0x74) ++// Bit 31 :0 ro_fiq_status_cnt3 U RO default = 'h0 ++typedef union IRQ_STATUS_CNT3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_fiq_status_cnt3 : 32; ++ } b; ++} IRQ_STATUS_CNT3_FIELD_T; ++ ++#define MAC_DEBUG0 (WIFI_MAC_MAIN_REG_BASE + 0x78) ++// Bit 31 :0 reg_mac_debug0 U RW default = 'h0 ++typedef union MAC_DEBUG0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_debug0 : 32; ++ } b; ++} MAC_DEBUG0_FIELD_T; ++ ++#define MAC_DEBUG1 (WIFI_MAC_MAIN_REG_BASE + 0x7c) ++// Bit 31 :0 reg_mac_debug1 U RW default = 'h0 ++typedef union MAC_DEBUG1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_debug1 : 32; ++ } b; ++} MAC_DEBUG1_FIELD_T; ++ ++#define MAC_DEBUG2 (WIFI_MAC_MAIN_REG_BASE + 0x80) ++// Bit 31 :0 reg_mac_debug2 U RW default = 'h0 ++typedef union MAC_DEBUG2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_debug2 : 32; ++ } b; ++} MAC_DEBUG2_FIELD_T; ++ ++#define MAC_DEBUG3 (WIFI_MAC_MAIN_REG_BASE + 0x84) ++// Bit 31 :0 reg_mac_debug3 U RW default = 'h0 ++typedef union MAC_DEBUG3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_debug3 : 32; ++ } b; ++} MAC_DEBUG3_FIELD_T; ++ ++#define MAC_FIACMAXDEL (WIFI_MAC_MAIN_REG_BASE + 0x88) ++// Bit 6 :0 reg_txvector_hw_maxdel U RW default = 'h3e ++// Bit 12 :8 reg_fiac_maxdela U RW default = 'h18 ++// Bit 20 :16 reg_fiac_maxdelb U RW default = 'h10 ++typedef union MAC_FIACMAXDEL_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txvector_hw_maxdel : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_fiac_maxdela : 5; ++ unsigned int rsvd_1 : 3; ++ unsigned int reg_fiac_maxdelb : 5; ++ unsigned int rsvd_2 : 11; ++ } b; ++} MAC_FIACMAXDEL_FIELD_T; ++ ++#define DEVICE0_MODE (WIFI_MAC_MAIN_REG_BASE + 0x90) ++// Bit 31 :0 reg_device0_mode U RW default = 'h0 ++typedef union DEVICE0_MODE_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_device0_mode : 32; ++ } b; ++} DEVICE0_MODE_FIELD_T; ++ ++#define DEVICE1_MODE (WIFI_MAC_MAIN_REG_BASE + 0x94) ++// Bit 31 :0 reg_device1_mode U RW default = 'h0 ++typedef union DEVICE1_MODE_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_device1_mode : 32; ++ } b; ++} DEVICE1_MODE_FIELD_T; ++ ++#define DEVICE2_MODE (WIFI_MAC_MAIN_REG_BASE + 0x98) ++// Bit 31 :0 reg_device2_mode U RW default = 'h0 ++typedef union DEVICE2_MODE_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_device2_mode : 32; ++ } b; ++} DEVICE2_MODE_FIELD_T; ++ ++#define DEVICE3_MODE (WIFI_MAC_MAIN_REG_BASE + 0x9c) ++// Bit 31 :0 reg_device3_mode U RW default = 'h0 ++typedef union DEVICE3_MODE_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_device3_mode : 32; ++ } b; ++} DEVICE3_MODE_FIELD_T; ++ ++#define MAC_INTNUM (WIFI_MAC_MAIN_REG_BASE + 0xa0) ++// Bit 15 :0 reg_rxend_cnt U RW default = 'h0 ++// Bit 31 :16 reg_rxstart_cnt U RW default = 'h0 ++typedef union MAC_INTNUM_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rxend_cnt : 16; ++ unsigned int reg_rxstart_cnt : 16; ++ } b; ++} MAC_INTNUM_FIELD_T; ++ ++#define FRAME_TYPE_CNT_CTRL (WIFI_MAC_MAIN_REG_BASE + 0xa4) ++// Bit 5 :0 reg_frame_type_idx0 U RW default = 'h1b ++// Bit 11 :6 reg_frame_type_idx1 U RW default = 'h1c ++// Bit 17 :12 reg_frame_type_idx2 U RW default = 'h1d ++// Bit 23 :18 reg_frame_type_idx3 U RW default = 'h28 ++// Bit 24 reg_frame_cnt_en0 U RW default = 'h1 ++// Bit 25 reg_frame_cnt_en1 U RW default = 'h1 ++// Bit 26 reg_frame_cnt_en2 U RW default = 'h1 ++// Bit 27 reg_frame_cnt_en3 U RW default = 'h1 ++// Bit 28 reg_frame_cnt_clr0 U RW default = 'h0 ++// Bit 29 reg_frame_cnt_clr1 U RW default = 'h0 ++// Bit 30 reg_frame_cnt_clr2 U RW default = 'h0 ++// Bit 31 reg_frame_cnt_clr3 U RW default = 'h0 ++typedef union FRAME_TYPE_CNT_CTRL_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_frame_type_idx0 : 6; ++ unsigned int reg_frame_type_idx1 : 6; ++ unsigned int reg_frame_type_idx2 : 6; ++ unsigned int reg_frame_type_idx3 : 6; ++ unsigned int reg_frame_cnt_en0 : 1; ++ unsigned int reg_frame_cnt_en1 : 1; ++ unsigned int reg_frame_cnt_en2 : 1; ++ unsigned int reg_frame_cnt_en3 : 1; ++ unsigned int reg_frame_cnt_clr0 : 1; ++ unsigned int reg_frame_cnt_clr1 : 1; ++ unsigned int reg_frame_cnt_clr2 : 1; ++ unsigned int reg_frame_cnt_clr3 : 1; ++ } b; ++} FRAME_TYPE_CNT_CTRL_FIELD_T; ++ ++#define FRAM_TYPE_CNT0 (WIFI_MAC_MAIN_REG_BASE + 0xa8) ++// Bit 31 :0 ro_frame_cnt0 U RO default = 'h0 ++typedef union FRAM_TYPE_CNT0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_frame_cnt0 : 32; ++ } b; ++} FRAM_TYPE_CNT0_FIELD_T; ++ ++#define FRAM_TYPE_CNT1 (WIFI_MAC_MAIN_REG_BASE + 0xac) ++// Bit 31 :0 ro_frame_cnt1 U RO default = 'h0 ++typedef union FRAM_TYPE_CNT1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_frame_cnt1 : 32; ++ } b; ++} FRAM_TYPE_CNT1_FIELD_T; ++ ++#define FRAM_TYPE_CNT2 (WIFI_MAC_MAIN_REG_BASE + 0xf4) ++// Bit 31 :0 ro_frame_cnt2 U RO default = 'h0 ++typedef union FRAM_TYPE_CNT2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_frame_cnt2 : 32; ++ } b; ++} FRAM_TYPE_CNT2_FIELD_T; ++ ++#define FRAM_TYPE_CNT3 (WIFI_MAC_MAIN_REG_BASE + 0xf8) ++// Bit 31 :0 ro_frame_cnt3 U RO default = 'h0 ++typedef union FRAM_TYPE_CNT3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_frame_cnt3 : 32; ++ } b; ++} FRAM_TYPE_CNT3_FIELD_T; ++ ++#define PACKET_IFS_US (WIFI_MAC_MAIN_REG_BASE + 0x124) ++// Bit 7 :0 reg_dot11n_sifs_us U RW default = 'ha ++// Bit 15 :8 reg_dot11b_sifs_us U RW default = 'ha ++// Bit 19 :16 reg_rifs_us U RW default = 'h2 ++// Bit 23 :20 reg_signal_extension_us U RW default = 'h6 ++// Bit 31 :24 reg_packet_ifs_rsvd U RW default = 'h0 ++typedef union PACKET_IFS_US_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_dot11n_sifs_us : 8; ++ unsigned int reg_dot11b_sifs_us : 8; ++ unsigned int reg_rifs_us : 4; ++ unsigned int reg_signal_extension_us : 4; ++ unsigned int reg_packet_ifs_rsvd : 8; ++ } b; ++} PACKET_IFS_US_FIELD_T; ++ ++#define CTRL_FRAME_MASK (WIFI_MAC_MAIN_REG_BASE + 0x138) ++// Bit 3 :0 reg_tx_control_frame_mask U RW default = 'h0 ++typedef union CTRL_FRAME_MASK_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_tx_control_frame_mask : 4; ++ unsigned int rsvd_0 : 28; ++ } b; ++} CTRL_FRAME_MASK_FIELD_T; ++ ++#define MAC_KEYINFO0 (WIFI_MAC_MAIN_REG_BASE + 0x140) ++// Bit 3 :0 reg_unicast_cipher_type0 U RW default = 'h0 ++// Bit 7 :4 reg_multicast_cipher_type0 U RW default = 'h0 ++// Bit 8 reg_multicast_key_lock0 U RW default = 'h0 ++// Bit 19 :16 reg_unicast_cipher_type1 U RW default = 'h0 ++// Bit 23 :20 reg_multicast_cipher_type1 U RW default = 'h0 ++// Bit 24 reg_multicast_key_lock1 U RW default = 'h0 ++typedef union MAC_KEYINFO0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_unicast_cipher_type0 : 4; ++ unsigned int reg_multicast_cipher_type0 : 4; ++ unsigned int reg_multicast_key_lock0 : 1; ++ unsigned int rsvd_0 : 7; ++ unsigned int reg_unicast_cipher_type1 : 4; ++ unsigned int reg_multicast_cipher_type1 : 4; ++ unsigned int reg_multicast_key_lock1 : 1; ++ unsigned int rsvd_1 : 7; ++ } b; ++} MAC_KEYINFO0_FIELD_T; ++ ++#define MAC_KEYINFO1 (WIFI_MAC_MAIN_REG_BASE + 0x144) ++// Bit 3 :0 reg_unicast_cipher_type2 U RW default = 'h0 ++// Bit 7 :4 reg_multicast_cipher_type2 U RW default = 'h0 ++// Bit 8 reg_multicast_key_lock2 U RW default = 'h0 ++// Bit 19 :16 reg_unicast_cipher_type3 U RW default = 'h0 ++// Bit 23 :20 reg_multicast_cipher_type3 U RW default = 'h0 ++// Bit 24 reg_multicast_key_lock3 U RW default = 'h0 ++typedef union MAC_KEYINFO1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_unicast_cipher_type2 : 4; ++ unsigned int reg_multicast_cipher_type2 : 4; ++ unsigned int reg_multicast_key_lock2 : 1; ++ unsigned int rsvd_0 : 7; ++ unsigned int reg_unicast_cipher_type3 : 4; ++ unsigned int reg_multicast_cipher_type3 : 4; ++ unsigned int reg_multicast_key_lock3 : 1; ++ unsigned int rsvd_1 : 7; ++ } b; ++} MAC_KEYINFO1_FIELD_T; ++ ++#define MAC_KEYTABLE_CMD (WIFI_MAC_MAIN_REG_BASE + 0x148) ++// Bit 11 :0 reg_keytable_cmd_addr U RW default = 'h0 ++// Bit 15 :12 reg_keytable_cmd_cipher_type U RW default = 'h0 ++// Bit 18 :16 reg_keytable_cmd_type U RW default = 'h0 ++// Bit 19 reg_keytable_cmd_multikey_sel U RW default = 'h0 ++// Bit 27 :20 reg_keytable_cmd_stationid U RW default = 'h0 ++// Bit 29 :28 ro_keytable_cmd_fail U RO default = 'h0 ++// Bit 30 reg_keytable_cmd_en U RW default = 'h0 ++// Bit 31 reg_keytable_cmd_ready U RW default = 'h1 ++typedef union MAC_KEYTABLE_CMD_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_keytable_cmd_addr : 12; ++ unsigned int reg_keytable_cmd_cipher_type : 4; ++ unsigned int reg_keytable_cmd_type : 3; ++ unsigned int reg_keytable_cmd_multikey_sel : 1; ++ unsigned int reg_keytable_cmd_stationid : 8; ++ unsigned int ro_keytable_cmd_fail : 2; ++ unsigned int reg_keytable_cmd_en : 1; ++ unsigned int reg_keytable_cmd_ready : 1; ++ } b; ++} MAC_KEYTABLE_CMD_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA (WIFI_MAC_MAIN_REG_BASE + 0x14c) ++// Bit 31 :0 reg_mac_keytable_data U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data : 32; ++ } b; ++} MAC_KEYTABLE_DATA_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA2 (WIFI_MAC_MAIN_REG_BASE + 0x150) ++// Bit 31 :0 reg_mac_keytable_data2 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data2 : 32; ++ } b; ++} MAC_KEYTABLE_DATA2_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA3 (WIFI_MAC_MAIN_REG_BASE + 0x154) ++// Bit 31 :0 reg_mac_keytable_data3 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data3 : 32; ++ } b; ++} MAC_KEYTABLE_DATA3_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA4 (WIFI_MAC_MAIN_REG_BASE + 0x158) ++// Bit 31 :0 reg_mac_keytable_data4 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data4 : 32; ++ } b; ++} MAC_KEYTABLE_DATA4_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA5 (WIFI_MAC_MAIN_REG_BASE + 0x15c) ++// Bit 31 :0 reg_mac_keytable_data5 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data5 : 32; ++ } b; ++} MAC_KEYTABLE_DATA5_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA6 (WIFI_MAC_MAIN_REG_BASE + 0x160) ++// Bit 31 :0 reg_mac_keytable_data6 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data6 : 32; ++ } b; ++} MAC_KEYTABLE_DATA6_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA7 (WIFI_MAC_MAIN_REG_BASE + 0x164) ++// Bit 31 :0 reg_mac_keytable_data7 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data7 : 32; ++ } b; ++} MAC_KEYTABLE_DATA7_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA8 (WIFI_MAC_MAIN_REG_BASE + 0x168) ++// Bit 31 :0 reg_mac_keytable_data8 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data8 : 32; ++ } b; ++} MAC_KEYTABLE_DATA8_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA9 (WIFI_MAC_MAIN_REG_BASE + 0x16c) ++// Bit 31 :0 reg_mac_keytable_data9 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data9 : 32; ++ } b; ++} MAC_KEYTABLE_DATA9_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA10 (WIFI_MAC_MAIN_REG_BASE + 0x170) ++// Bit 31 :0 reg_mac_keytable_data10 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA10_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data10 : 32; ++ } b; ++} MAC_KEYTABLE_DATA10_FIELD_T; ++ ++#define MAC_KEYTABLE_DATA11 (WIFI_MAC_MAIN_REG_BASE + 0x174) ++// Bit 31 :0 reg_mac_keytable_data11 U RW default = 'h0 ++typedef union MAC_KEYTABLE_DATA11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_keytable_data11 : 32; ++ } b; ++} MAC_KEYTABLE_DATA11_FIELD_T; ++ ++#define MAC_KEYMAP (WIFI_MAC_MAIN_REG_BASE + 0x178) ++// Bit 7 :0 reg_keytable_offset0 U RW default = 'h0 ++// Bit 15 :8 reg_keytable_offset1 U RW default = 'h0 ++// Bit 23 :16 reg_keytable_offset2 U RW default = 'h0 ++// Bit 31 :24 reg_keytable_offset3 U RW default = 'h0 ++typedef union MAC_KEYMAP_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_keytable_offset0 : 8; ++ unsigned int reg_keytable_offset1 : 8; ++ unsigned int reg_keytable_offset2 : 8; ++ unsigned int reg_keytable_offset3 : 8; ++ } b; ++} MAC_KEYMAP_FIELD_T; ++ ++#define MAC_DBG_STATUS1 (WIFI_MAC_MAIN_REG_BASE + 0x190) ++// Bit 4 :0 ro_key_err_type U RO default = 'h0 ++typedef union MAC_DBG_STATUS1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_key_err_type : 5; ++ unsigned int rsvd_0 : 27; ++ } b; ++} MAC_DBG_STATUS1_FIELD_T; ++ ++#define TX_START_CHK (WIFI_MAC_MAIN_REG_BASE + 0x1a8) ++// Bit 25 :0 ro_txstart_cnt U RO default = 'h0 ++// Bit 26 reg_txstart_cnt_en U RW default = 'h0 ++// Bit 27 reg_txstart_cnt_clr U RW default = 'h1 ++// Bit 31 :28 reg_check_tx_queue U RW default = 'h9 ++typedef union TX_START_CHK_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txstart_cnt : 26; ++ unsigned int reg_txstart_cnt_en : 1; ++ unsigned int reg_txstart_cnt_clr : 1; ++ unsigned int reg_check_tx_queue : 4; ++ } b; ++} TX_START_CHK_FIELD_T; ++ ++#define TX_END_CHK (WIFI_MAC_MAIN_REG_BASE + 0x1ac) ++// Bit 25 :0 ro_txend_cnt U RO default = 'h0 ++// Bit 26 reg_txend_cnt_en U RW default = 'h0 ++// Bit 27 reg_txend_cnt_clr U RW default = 'h1 ++typedef union TX_END_CHK_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txend_cnt : 26; ++ unsigned int reg_txend_cnt_en : 1; ++ unsigned int reg_txend_cnt_clr : 1; ++ unsigned int rsvd_0 : 4; ++ } b; ++} TX_END_CHK_FIELD_T; ++ ++#define TX_ENABLE_CHK (WIFI_MAC_MAIN_REG_BASE + 0x1b0) ++// Bit 25 :0 ro_txenable_cnt U RO default = 'h0 ++// Bit 26 reg_txenable_cnt_en U RW default = 'h0 ++// Bit 27 reg_txenable_cnt_clr U RW default = 'h1 ++typedef union TX_ENABLE_CHK_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txenable_cnt : 26; ++ unsigned int reg_txenable_cnt_en : 1; ++ unsigned int reg_txenable_cnt_clr : 1; ++ unsigned int rsvd_0 : 4; ++ } b; ++} TX_ENABLE_CHK_FIELD_T; ++ ++#define TX_ENABLEWR_CHK (WIFI_MAC_MAIN_REG_BASE + 0x1b4) ++// Bit 25 :0 ro_txenable_wr_cnt_en U RO default = 'h0 ++// Bit 26 reg_txenable_wr_cnt_en U RW default = 'h0 ++// Bit 27 reg_txenable_wr_cnt_clr U RW default = 'h1 ++typedef union TX_ENABLEWR_CHK_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_txenable_wr_cnt_en : 26; ++ unsigned int reg_txenable_wr_cnt_en : 1; ++ unsigned int reg_txenable_wr_cnt_clr : 1; ++ unsigned int rsvd_0 : 4; ++ } b; ++} TX_ENABLEWR_CHK_FIELD_T; ++ ++#define MAC_DATA_LOCAL_CNT (WIFI_MAC_MAIN_REG_BASE + 0x1b8) ++// Bit 28 :0 ro_mac_data_local_cnt U RO default = 'h0 ++// Bit 29 reg_mac_data_local_cnt_qos U RW default = 'h0 ++// Bit 30 reg_mac_data_local_cnt_clr U RW default = 'h0 ++// Bit 31 reg_mac_data_local_cnt_en U RW default = 'h0 ++typedef union MAC_DATA_LOCAL_CNT_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_mac_data_local_cnt : 29; ++ unsigned int reg_mac_data_local_cnt_qos : 1; ++ unsigned int reg_mac_data_local_cnt_clr : 1; ++ unsigned int reg_mac_data_local_cnt_en : 1; ++ } b; ++} MAC_DATA_LOCAL_CNT_FIELD_T; ++ ++#define MAC_DATA_OTHER_CNT (WIFI_MAC_MAIN_REG_BASE + 0x1bc) ++// Bit 29 :0 ro_mac_data_other_cnt U RO default = 'h0 ++// Bit 30 reg_mac_data_other_cnt_clr U RW default = 'h0 ++// Bit 31 reg_mac_data_other_cnt_en U RW default = 'h0 ++typedef union MAC_DATA_OTHER_CNT_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_mac_data_other_cnt : 30; ++ unsigned int reg_mac_data_other_cnt_clr : 1; ++ unsigned int reg_mac_data_other_cnt_en : 1; ++ } b; ++} MAC_DATA_OTHER_CNT_FIELD_T; ++ ++#define MAC_DATA_MULTI_CNT (WIFI_MAC_MAIN_REG_BASE + 0x1c0) ++// Bit 29 :0 ro_mac_data_multi_cnt U RO default = 'h0 ++// Bit 30 reg_mac_data_multi_cnt_clr U RW default = 'h0 ++// Bit 31 reg_mac_data_multi_cnt_en U RW default = 'h0 ++typedef union MAC_DATA_MULTI_CNT_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_mac_data_multi_cnt : 30; ++ unsigned int reg_mac_data_multi_cnt_clr : 1; ++ unsigned int reg_mac_data_multi_cnt_en : 1; ++ } b; ++} MAC_DATA_MULTI_CNT_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/wifi_mac_rx_reg.h b/drivers/net/wireless/w1/common/wifi_mac_rx_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..c669dacdd6168db80e84b143f4a6e8baa0d24d33 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_mac_rx_reg.h +@@ -0,0 +1,313 @@ ++#ifdef WIFI_MAC_RX_REG ++#else ++#define WIFI_MAC_RX_REG ++ ++ ++#define WIFI_MAC_RX_REG_BASE (0xa00000) ++ ++#define MAC_RXWD_TIMER (WIFI_MAC_RX_REG_BASE + 0x1c4) ++// Bit 19 :0 reg_rx_wd_timer_duration U RW default = 'h4e20 ++// Bit 21 reg_rx_wd_timer_en U RW default = 'h1 ++// Bit 27 :24 reg_rxend_wait_cnum U RW default = 'h6 ++// Bit 31 :28 reg_rxstart_wait_cnum U RW default = 'h8 ++typedef union MAC_RXWD_TIMER_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_wd_timer_duration : 20; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_rx_wd_timer_en : 1; ++ unsigned int rsvd_1 : 2; ++ unsigned int reg_rxend_wait_cnum : 4; ++ unsigned int reg_rxstart_wait_cnum : 4; ++ } b; ++} MAC_RXWD_TIMER_FIELD_T; ++ ++#define MAC_CHANNEL_NUM (WIFI_MAC_RX_REG_BASE + 0x1e0) ++// Bit 7 :0 reg_rx_channel_num U RW default = 'h0 ++typedef union MAC_CHANNEL_NUM_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_channel_num : 8; ++ unsigned int rsvd_0 : 24; ++ } b; ++} MAC_CHANNEL_NUM_FIELD_T; ++ ++#define MAC_RX_BEACON_BASEADDR (WIFI_MAC_RX_REG_BASE + 0x1e4) ++// Bit 31 :0 reg_rx_beacon_baseaddr U RW default = 'h0 ++typedef union MAC_RX_BEACON_BASEADDR_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_beacon_baseaddr : 32; ++ } b; ++} MAC_RX_BEACON_BASEADDR_FIELD_T; ++ ++#define MAC_RXENDTIME (WIFI_MAC_RX_REG_BASE + 0x1e8) ++// Bit 31 :0 ro_mac_rxendtime U RO default = 'h0 ++typedef union MAC_RXENDTIME_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_mac_rxendtime : 32; ++ } b; ++} MAC_RXENDTIME_FIELD_T; ++ ++#define MAC_RXSTARTTIME (WIFI_MAC_RX_REG_BASE + 0x1ec) ++// Bit 31 :0 ro_mac_rxstarttime U RO default = 'h0 ++typedef union MAC_RXSTARTTIME_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_mac_rxstarttime : 32; ++ } b; ++} MAC_RXSTARTTIME_FIELD_T; ++ ++#define MAC_RX_BASEADDR (WIFI_MAC_RX_REG_BASE + 0x1f0) ++// Bit 31 :0 reg_rx_baseaddr U RW default = 'h0 ++typedef union MAC_RX_BASEADDR_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_baseaddr : 32; ++ } b; ++} MAC_RX_BASEADDR_FIELD_T; ++ ++#define MAC_RX_EPOINTER (WIFI_MAC_RX_REG_BASE + 0x1f4) ++// Bit 15 :0 reg_rx_eptr U RW default = 'h0 ++typedef union MAC_RX_EPOINTER_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_eptr : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_RX_EPOINTER_FIELD_T; ++ ++#define MAC_RX_COUNT (WIFI_MAC_RX_REG_BASE + 0x1f8) ++// Bit 15 :0 reg_rx_count_o U RW default = 'h0 ++typedef union MAC_RX_COUNT_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_count_o : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_RX_COUNT_FIELD_T; ++ ++#define MAC_RX_WPOINTER (WIFI_MAC_RX_REG_BASE + 0x1fc) ++// Bit 15 :0 reg_rx_wptr_o U RW default = 'h0 ++typedef union MAC_RX_WPOINTER_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_wptr_o : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_RX_WPOINTER_FIELD_T; ++ ++#define MAC_RX_FRPOINTER (WIFI_MAC_RX_REG_BASE + 0x200) ++// Bit 15 :0 reg_rx_frptr U RW default = 'h0 ++typedef union MAC_RX_FRPOINTER_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_frptr : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_RX_FRPOINTER_FIELD_T; ++ ++#define MAC_RX_HRPOINTER (WIFI_MAC_RX_REG_BASE + 0x204) ++// Bit 15 :0 ro_rx_hrptr_o U RO default = 'h0 ++typedef union MAC_RX_HRPOINTER_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rx_hrptr_o : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_RX_HRPOINTER_FIELD_T; ++ ++#define MAC_BITMAPTABLE_CMD (WIFI_MAC_RX_REG_BASE + 0x20c) ++// Bit 8 :0 reg_bitmaptable_cmd_addr U RW default = 'h0 ++// Bit 17 :16 reg_bitmaptable_cmd_type U RW default = 'h0 ++// Bit 29 ro_bitmaptable_cmd_fail U RO default = 'h0 ++// Bit 30 reg_bitmaptable_cmd_en U RW default = 'h0 ++// Bit 31 reg_bitmaptable_ready U RW default = 'h1 ++typedef union MAC_BITMAPTABLE_CMD_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_bitmaptable_cmd_addr : 9; ++ unsigned int rsvd_0 : 7; ++ unsigned int reg_bitmaptable_cmd_type : 2; ++ unsigned int rsvd_1 : 11; ++ unsigned int ro_bitmaptable_cmd_fail : 1; ++ unsigned int reg_bitmaptable_cmd_en : 1; ++ unsigned int reg_bitmaptable_ready : 1; ++ } b; ++} MAC_BITMAPTABLE_CMD_FIELD_T; ++ ++#define MAC_BITMAPTABLE_DATA (WIFI_MAC_RX_REG_BASE + 0x210) ++// Bit 31 :0 reg_mac_bitmaptable_data U RW default = 'h0 ++typedef union MAC_BITMAPTABLE_DATA_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_bitmaptable_data : 32; ++ } b; ++} MAC_BITMAPTABLE_DATA_FIELD_T; ++ ++#define MAC_BITMAPTABLE_DATA2 (WIFI_MAC_RX_REG_BASE + 0x214) ++// Bit 31 :0 reg_mac_bitmaptable_data2 U RW default = 'h0 ++typedef union MAC_BITMAPTABLE_DATA2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_bitmaptable_data2 : 32; ++ } b; ++} MAC_BITMAPTABLE_DATA2_FIELD_T; ++ ++#define MAC_BITMAPTABLE_DATA3 (WIFI_MAC_RX_REG_BASE + 0x218) ++// Bit 23 :0 reg_mac_bitmaptable_data3 U RW default = 'h0 ++typedef union MAC_BITMAPTABLE_DATA3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_bitmaptable_data3 : 24; ++ unsigned int rsvd_0 : 8; ++ } b; ++} MAC_BITMAPTABLE_DATA3_FIELD_T; ++ ++#define MAC_RXINFO (WIFI_MAC_RX_REG_BASE + 0x21c) ++// Bit 7 :0 ro_rx_rate U RO default = 'h0 ++// Bit 15 :10 ro_rx_packet_type U RO default = 'h0 ++// Bit 17 :16 ro_rx_a1match_id U RO default = 'h0 ++// Bit 21 :20 ro_rx_bssidmatch_id U RO default = 'h0 ++// Bit 31 :24 ro_rx_rssi_ant0 U RO default = 'h0 ++typedef union MAC_RXINFO_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rx_rate : 8; ++ unsigned int rsvd_0 : 2; ++ unsigned int ro_rx_packet_type : 6; ++ unsigned int ro_rx_a1match_id : 2; ++ unsigned int rsvd_1 : 2; ++ unsigned int ro_rx_bssidmatch_id : 2; ++ unsigned int rsvd_2 : 2; ++ unsigned int ro_rx_rssi_ant0 : 8; ++ } b; ++} MAC_RXINFO_FIELD_T; ++ ++#define MAC_RXINFO2 (WIFI_MAC_RX_REG_BASE + 0x220) ++// Bit 31 :0 ro_rx_a2_lo U RO default = 'h0 ++typedef union MAC_RXINFO2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_rx_a2_lo : 32; ++ } b; ++} MAC_RXINFO2_FIELD_T; ++ ++#define MAC_BMFM_INFO (WIFI_MAC_RX_REG_BASE + 0x224) ++// Bit 0 reg_cdbk_info U RW default = 'h0 ++// Bit 5 :4 reg_ng U RW default = 'h0 ++// Bit 19 :8 rxrat_ndp_vector U RW default = 'h60b ++// Bit 23 :20 reg_wfull_space U RW default = 'h4 ++// Bit 28 reg_bmfm_disable U RW default = 'h0 ++typedef union MAC_BMFM_INFO_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_cdbk_info : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int reg_ng : 2; ++ unsigned int rsvd_1 : 2; ++ unsigned int rxrat_ndp_vector : 12; ++ unsigned int reg_wfull_space : 4; ++ unsigned int rsvd_2 : 4; ++ unsigned int reg_bmfm_disable : 1; ++ unsigned int rsvd_3 : 3; ++ } b; ++} MAC_BMFM_INFO_FIELD_T; ++ ++#define MAC_AID (WIFI_MAC_RX_REG_BASE + 0x228) ++// Bit 15 :0 mac_aid U RW default = 'h0 ++typedef union MAC_AID_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int mac_aid : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_AID_FIELD_T; ++ ++#define MAC_BMFM_CNT (WIFI_MAC_RX_REG_BASE + 0x22c) ++// Bit 15 :0 cnt_bmfm_pkt U RO default = 'h0 ++// Bit 31 :16 cnt_bmfm_pkt_err U RO default = 'h0 ++typedef union MAC_BMFM_CNT_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int cnt_bmfm_pkt : 16; ++ unsigned int cnt_bmfm_pkt_err : 16; ++ } b; ++} MAC_BMFM_CNT_FIELD_T; ++ ++#define MAC_COMPRESSED_BMFM_CNT (WIFI_MAC_RX_REG_BASE + 0x230) ++// Bit 15 :0 cnt_compressed_bmfm_frame U RO default = 'h0 ++typedef union MAC_COMPRESSED_BMFM_CNT_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int cnt_compressed_bmfm_frame : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} MAC_COMPRESSED_BMFM_CNT_FIELD_T; ++ ++#define MAC_RX_BEACON_CTRL (WIFI_MAC_RX_REG_BASE + 0x234) ++// Bit 15 :0 reg_rx_beacon_buf_len U RW default = 'h0 ++// Bit 16 reg_rx_beacon_path_sel U RW default = 'h0 ++// Bit 19 :17 ro_rx_beacon_page_num U RO default = 'h0 ++// Bit 29 :20 reg_rx_beacon_clr_timer U RW default = 'h50 ++// Bit 30 reg_rx_beacon_page_mode U RW default = 'h0 ++// Bit 31 reg_rx_beacon_flag U RW default = 'h0 ++typedef union MAC_RX_BEACON_CTRL_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_rx_beacon_buf_len : 16; ++ unsigned int reg_rx_beacon_path_sel : 1; ++ unsigned int ro_rx_beacon_page_num : 3; ++ unsigned int reg_rx_beacon_clr_timer : 10; ++ unsigned int reg_rx_beacon_page_mode : 1; ++ unsigned int reg_rx_beacon_flag : 1; ++ } b; ++} MAC_RX_BEACON_CTRL_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/wifi_mac_timer_reg.h b/drivers/net/wireless/w1/common/wifi_mac_timer_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..fa4e239c6bc6a59ffb6478f0c7c37c6f0fdb94a4 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_mac_timer_reg.h +@@ -0,0 +1,565 @@ ++#ifdef WIFI_MAC_TIMER_REG ++#else ++#define WIFI_MAC_TIMER_REG ++ ++ ++#define WIFI_MAC_TIMER_REG_BASE (0xa00000) ++ ++#define MAC_COUNT1 (WIFI_MAC_TIMER_REG_BASE + 0xb0) ++// Bit 6 :0 reg_txsifsb U RW default = 'h2c ++// Bit 14 :8 reg_rxsifsb U RW default = 'h1c ++// Bit 15 reg_rxsifsb_sel U RW default = 'h0 ++// Bit 22 :16 reg_ccasifs U RW default = 'h28 ++// Bit 28 :24 reg_txstartdel U RW default = 'h2 ++// Bit 31 :29 reg_rxendwait U RW default = 'h3 ++typedef union MAC_COUNT1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txsifsb : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_rxsifsb : 7; ++ unsigned int reg_rxsifsb_sel : 1; ++ unsigned int reg_ccasifs : 7; ++ unsigned int rsvd_1 : 1; ++ unsigned int reg_txstartdel : 5; ++ unsigned int reg_rxendwait : 3; ++ } b; ++} MAC_COUNT1_FIELD_T; ++ ++#define MAC_COUNT2 (WIFI_MAC_TIMER_REG_BASE + 0xb4) ++// Bit 6 :0 reg_txsifsa U RW default = 'h40 ++// Bit 14 :8 reg_rxsifsa U RW default = 'h24 ++// Bit 15 reg_rxsifsa_sel U RW default = 'h0 ++// Bit 21 :16 reg_slot U RW default = 'h9 ++// Bit 28 :24 reg_fiac_fw_maxdel U RW default = 'hf ++typedef union MAC_COUNT2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txsifsa : 7; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_rxsifsa : 7; ++ unsigned int reg_rxsifsa_sel : 1; ++ unsigned int reg_slot : 6; ++ unsigned int rsvd_1 : 2; ++ unsigned int reg_fiac_fw_maxdel : 5; ++ unsigned int rsvd_2 : 3; ++ } b; ++} MAC_COUNT2_FIELD_T; ++ ++#define MAC_COUNT3 (WIFI_MAC_TIMER_REG_BASE + 0xb8) ++// Bit 8 :0 reg_backoff_hold U RW default = 'h0 ++// Bit 12 reg_backoff_all_hold U RW default = 'h0 ++// Bit 17 :16 reg_txop_hold_status U RW default = 'h0 ++typedef union MAC_COUNT3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_backoff_hold : 9; ++ unsigned int rsvd_0 : 3; ++ unsigned int reg_backoff_all_hold : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int reg_txop_hold_status : 2; ++ unsigned int rsvd_2 : 14; ++ } b; ++} MAC_COUNT3_FIELD_T; ++ ++#define MAC_BACKOFF_CONTROL (WIFI_MAC_TIMER_REG_BASE + 0xbc) ++// Bit 7 :0 reg_slotn_s U RW default = 'h1 ++// Bit 11 reg_sifsn_s U RW default = 'h1 ++// Bit 15 reg_backoff_way U RW default = 'h1 ++// Bit 16 reg_ackto_way U RW default = 'h0 ++typedef union MAC_BACKOFF_CONTROL_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slotn_s : 8; ++ unsigned int rsvd_0 : 3; ++ unsigned int reg_sifsn_s : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int reg_backoff_way : 1; ++ unsigned int reg_ackto_way : 1; ++ unsigned int rsvd_2 : 15; ++ } b; ++} MAC_BACKOFF_CONTROL_FIELD_T; ++ ++#define MAC_ABSCNT0 (WIFI_MAC_TIMER_REG_BASE + 0xc0) ++// Bit 25 :0 reg_abscnt0 U RW default = 'h0 ++typedef union MAC_ABSCNT0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt0 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT0_FIELD_T; ++ ++#define MAC_ABSCNT1 (WIFI_MAC_TIMER_REG_BASE + 0xc4) ++// Bit 25 :0 reg_abscnt1 U RW default = 'h0 ++typedef union MAC_ABSCNT1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt1 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT1_FIELD_T; ++ ++#define MAC_ABSCNT2 (WIFI_MAC_TIMER_REG_BASE + 0xc8) ++// Bit 25 :0 reg_abscnt2 U RW default = 'h0 ++typedef union MAC_ABSCNT2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt2 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT2_FIELD_T; ++ ++#define MAC_ABSCNT3 (WIFI_MAC_TIMER_REG_BASE + 0xcc) ++// Bit 25 :0 reg_abscnt3 U RW default = 'h0 ++typedef union MAC_ABSCNT3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt3 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT3_FIELD_T; ++ ++#define MAC_ABSCNT4 (WIFI_MAC_TIMER_REG_BASE + 0xd0) ++// Bit 25 :0 reg_abscnt4 U RW default = 'h0 ++typedef union MAC_ABSCNT4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt4 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT4_FIELD_T; ++ ++#define MAC_ABSCNT5 (WIFI_MAC_TIMER_REG_BASE + 0xd4) ++// Bit 25 :0 reg_abscnt5 U RW default = 'h0 ++typedef union MAC_ABSCNT5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt5 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT5_FIELD_T; ++ ++#define MAC_ABSCNT6 (WIFI_MAC_TIMER_REG_BASE + 0xd8) ++// Bit 25 :0 reg_abscnt6 U RW default = 'h0 ++typedef union MAC_ABSCNT6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt6 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT6_FIELD_T; ++ ++#define MAC_ABSCNT7 (WIFI_MAC_TIMER_REG_BASE + 0xdc) ++// Bit 25 :0 reg_abscnt7 U RW default = 'h0 ++typedef union MAC_ABSCNT7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt7 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT7_FIELD_T; ++ ++#define MAC_ABSCNT8 (WIFI_MAC_TIMER_REG_BASE + 0xe0) ++// Bit 25 :0 reg_abscnt8 U RW default = 'h0 ++typedef union MAC_ABSCNT8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt8 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT8_FIELD_T; ++ ++#define MAC_ABSCNT9 (WIFI_MAC_TIMER_REG_BASE + 0xe4) ++// Bit 25 :0 reg_abscnt9 U RW default = 'h0 ++typedef union MAC_ABSCNT9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt9 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT9_FIELD_T; ++ ++#define MAC_ABSCNT10 (WIFI_MAC_TIMER_REG_BASE + 0xe8) ++// Bit 25 :0 reg_abscnt10 U RW default = 'h0 ++typedef union MAC_ABSCNT10_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt10 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT10_FIELD_T; ++ ++#define MAC_ABSCNT11 (WIFI_MAC_TIMER_REG_BASE + 0xec) ++// Bit 25 :0 reg_abscnt11 U RW default = 'h0 ++typedef union MAC_ABSCNT11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt11 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT11_FIELD_T; ++ ++#ifndef PROJECT_T9026 ++#define MAC_ABSCNT12 (WIFI_MAC_TIMER_REG_BASE + 0x1d0) ++// Bit 25 :0 reg_abscnt12 U RW default = 'h0 ++typedef union MAC_ABSCNT12_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt12 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT12_FIELD_T; ++ ++#define MAC_ABSCNT13 (WIFI_MAC_TIMER_REG_BASE + 0x1d4) ++// Bit 25 :0 reg_abscnt13 U RW default = 'h0 ++typedef union MAC_ABSCNT13_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt13 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT13_FIELD_T; ++ ++#define MAC_ABSCNT14 (WIFI_MAC_TIMER_REG_BASE + 0x1d8) ++// Bit 25 :0 reg_abscnt14 U RW default = 'h0 ++typedef union MAC_ABSCNT14_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt14 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT14_FIELD_T; ++ ++#define MAC_ABSCNT15 (WIFI_MAC_TIMER_REG_BASE + 0x1dc) ++// Bit 25 :0 reg_abscnt15 U RW default = 'h0 ++typedef union MAC_ABSCNT15_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_abscnt15 : 26; ++ unsigned int rsvd_0 : 6; ++ } b; ++} MAC_ABSCNT15_FIELD_T; ++#endif ++ ++#define TIMER_CONFIG (WIFI_MAC_TIMER_REG_BASE + 0xfc) ++// Bit 3 :0 reg_tx_priority_ctrl U RW default = 'hc ++// Bit 9 :4 reg_tx_duration_ctrl U RW default = 'h0 ++// Bit 10 reg_tx_request_mode U RW default = 'h1 ++// Bit 11 reg_tx_enable_clr_sel U RW default = 'h0 ++// Bit 15 :12 reg_tx_start_cnt_thr U RW default = 'h4 ++// Bit 31 :16 reg_vcs_thr U RW default = 'h1000 ++typedef union TIMER_CONFIG_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_tx_priority_ctrl : 4; ++ unsigned int reg_tx_duration_ctrl : 6; ++ unsigned int reg_tx_request_mode : 1; ++ unsigned int reg_tx_enable_clr_sel : 1; ++ unsigned int reg_tx_start_cnt_thr : 4; ++ unsigned int reg_vcs_thr : 16; ++ } b; ++} TIMER_CONFIG_FIELD_T; ++ ++#define MAC_TXCONTROL_NONQOS (WIFI_MAC_TIMER_REG_BASE + 0x100) ++// Bit 9 :0 reg_slot_num_o_nonqos U RW default = 'h0 ++// Bit 15 :10 reg_tx_duration_nonqos U RW default = 'h8 ++// Bit 19 :16 reg_aifsn_nonqos U RW default = 'h0 ++// Bit 23 :20 reg_cca_busy_mask_nonqos U RW default = 'h0 ++// Bit 24 reg_tx_enable_nonqos U RW default = 'h0 ++// Bit 26 :25 reg_tx_bandwidth_nonqos U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_nonqos U RW default = 'h0 ++typedef union MAC_TXCONTROL_NONQOS_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slot_num_o_nonqos : 10; ++ unsigned int reg_tx_duration_nonqos : 6; ++ unsigned int reg_aifsn_nonqos : 4; ++ unsigned int reg_cca_busy_mask_nonqos : 4; ++ unsigned int reg_tx_enable_nonqos : 1; ++ unsigned int reg_tx_bandwidth_nonqos : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_tx_priority_nonqos : 4; ++ } b; ++} MAC_TXCONTROL_NONQOS_FIELD_T; ++ ++#define MAC_TXCONTROL_ACP0 (WIFI_MAC_TIMER_REG_BASE + 0x104) ++// Bit 9 :0 reg_slot_num_o_acp0 U RW default = 'h0 ++// Bit 15 :10 reg_tx_duration_acp0 U RW default = 'h8 ++// Bit 19 :16 reg_aifsn_acp0 U RW default = 'h0 ++// Bit 23 :20 reg_cca_busy_mask_acp0 U RW default = 'h0 ++// Bit 24 reg_tx_enable_acp0 U RW default = 'h0 ++// Bit 26 :25 reg_tx_bandwidth_acp0 U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_acp0 U RW default = 'h0 ++typedef union MAC_TXCONTROL_ACP0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slot_num_o_acp0 : 10; ++ unsigned int reg_tx_duration_acp0 : 6; ++ unsigned int reg_aifsn_acp0 : 4; ++ unsigned int reg_cca_busy_mask_acp0 : 4; ++ unsigned int reg_tx_enable_acp0 : 1; ++ unsigned int reg_tx_bandwidth_acp0 : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_tx_priority_acp0 : 4; ++ } b; ++} MAC_TXCONTROL_ACP0_FIELD_T; ++ ++#define MAC_TXCONTROL_ACP1 (WIFI_MAC_TIMER_REG_BASE + 0x108) ++// Bit 9 :0 reg_slot_num_o_acp1 U RW default = 'h0 ++// Bit 15 :10 reg_tx_duration_acp1 U RW default = 'h8 ++// Bit 19 :16 reg_aifsn_acp1 U RW default = 'h0 ++// Bit 23 :20 reg_cca_busy_mask_acp1 U RW default = 'h0 ++// Bit 24 reg_tx_enable_acp1 U RW default = 'h0 ++// Bit 26 :25 reg_tx_bandwidth_acp1 U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_acp1 U RW default = 'h0 ++typedef union MAC_TXCONTROL_ACP1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slot_num_o_acp1 : 10; ++ unsigned int reg_tx_duration_acp1 : 6; ++ unsigned int reg_aifsn_acp1 : 4; ++ unsigned int reg_cca_busy_mask_acp1 : 4; ++ unsigned int reg_tx_enable_acp1 : 1; ++ unsigned int reg_tx_bandwidth_acp1 : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_tx_priority_acp1 : 4; ++ } b; ++} MAC_TXCONTROL_ACP1_FIELD_T; ++ ++#define MAC_TXCONTROL_ACP2 (WIFI_MAC_TIMER_REG_BASE + 0x10c) ++// Bit 9 :0 reg_slot_num_o_acp2 U RW default = 'h0 ++// Bit 15 :10 reg_tx_duration_acp2 U RW default = 'h8 ++// Bit 19 :16 reg_aifsn_acp2 U RW default = 'h0 ++// Bit 23 :20 reg_cca_busy_mask_acp2 U RW default = 'h0 ++// Bit 24 reg_tx_enable_acp2 U RW default = 'h0 ++// Bit 26 :25 reg_tx_bandwidth_acp2 U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_acp2 U RW default = 'h0 ++typedef union MAC_TXCONTROL_ACP2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slot_num_o_acp2 : 10; ++ unsigned int reg_tx_duration_acp2 : 6; ++ unsigned int reg_aifsn_acp2 : 4; ++ unsigned int reg_cca_busy_mask_acp2 : 4; ++ unsigned int reg_tx_enable_acp2 : 1; ++ unsigned int reg_tx_bandwidth_acp2 : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_tx_priority_acp2 : 4; ++ } b; ++} MAC_TXCONTROL_ACP2_FIELD_T; ++ ++#define MAC_TXCONTROL_ACP3 (WIFI_MAC_TIMER_REG_BASE + 0x110) ++// Bit 9 :0 reg_slot_num_o_acp3 U RW default = 'h0 ++// Bit 15 :10 reg_tx_duration_acp3 U RW default = 'h8 ++// Bit 19 :16 reg_aifsn_acp3 U RW default = 'h0 ++// Bit 23 :20 reg_cca_busy_mask_acp3 U RW default = 'h0 ++// Bit 24 reg_tx_enable_acp3 U RW default = 'h0 ++// Bit 26 :25 reg_tx_bandwidth_acp3 U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_acp3 U RW default = 'h0 ++typedef union MAC_TXCONTROL_ACP3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slot_num_o_acp3 : 10; ++ unsigned int reg_tx_duration_acp3 : 6; ++ unsigned int reg_aifsn_acp3 : 4; ++ unsigned int reg_cca_busy_mask_acp3 : 4; ++ unsigned int reg_tx_enable_acp3 : 1; ++ unsigned int reg_tx_bandwidth_acp3 : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_tx_priority_acp3 : 4; ++ } b; ++} MAC_TXCONTROL_ACP3_FIELD_T; ++ ++#define MAC_TXCONTROL_ACP4 (WIFI_MAC_TIMER_REG_BASE + 0x114) ++// Bit 9 :0 reg_slot_num_o_acp4 U RW default = 'h0 ++// Bit 15 :10 reg_tx_duration_acp4 U RW default = 'h8 ++// Bit 19 :16 reg_aifsn_acp4 U RW default = 'h0 ++// Bit 23 :20 reg_cca_busy_mask_acp4 U RW default = 'h0 ++// Bit 24 reg_tx_enable_acp4 U RW default = 'h0 ++// Bit 26 :25 reg_tx_bandwidth_acp4 U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_acp4 U RW default = 'h0 ++typedef union MAC_TXCONTROL_ACP4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slot_num_o_acp4 : 10; ++ unsigned int reg_tx_duration_acp4 : 6; ++ unsigned int reg_aifsn_acp4 : 4; ++ unsigned int reg_cca_busy_mask_acp4 : 4; ++ unsigned int reg_tx_enable_acp4 : 1; ++ unsigned int reg_tx_bandwidth_acp4 : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_tx_priority_acp4 : 4; ++ } b; ++} MAC_TXCONTROL_ACP4_FIELD_T; ++ ++#define MAC_TXCONTROL_ACP5 (WIFI_MAC_TIMER_REG_BASE + 0x118) ++// Bit 9 :0 reg_slot_num_o_acp5 U RW default = 'h0 ++// Bit 15 :10 reg_tx_duration_acp5 U RW default = 'h8 ++// Bit 19 :16 reg_aifsn_acp5 U RW default = 'h0 ++// Bit 23 :20 reg_cca_busy_mask_acp5 U RW default = 'h0 ++// Bit 24 reg_tx_enable_acp5 U RW default = 'h0 ++// Bit 26 :25 reg_tx_bandwidth_acp5 U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_acp5 U RW default = 'h0 ++typedef union MAC_TXCONTROL_ACP5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slot_num_o_acp5 : 10; ++ unsigned int reg_tx_duration_acp5 : 6; ++ unsigned int reg_aifsn_acp5 : 4; ++ unsigned int reg_cca_busy_mask_acp5 : 4; ++ unsigned int reg_tx_enable_acp5 : 1; ++ unsigned int reg_tx_bandwidth_acp5 : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_tx_priority_acp5 : 4; ++ } b; ++} MAC_TXCONTROL_ACP5_FIELD_T; ++ ++#define MAC_TXCONTROL_ACP6 (WIFI_MAC_TIMER_REG_BASE + 0x11c) ++// Bit 9 :0 reg_slot_num_o_acp6 U RW default = 'h0 ++// Bit 15 :10 reg_tx_duration_acp6 U RW default = 'h8 ++// Bit 19 :16 reg_aifsn_acp6 U RW default = 'h0 ++// Bit 23 :20 reg_cca_busy_mask_acp6 U RW default = 'h0 ++// Bit 24 reg_tx_enable_acp6 U RW default = 'h0 ++// Bit 26 :25 reg_tx_bandwidth_acp6 U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_acp6 U RW default = 'h0 ++typedef union MAC_TXCONTROL_ACP6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slot_num_o_acp6 : 10; ++ unsigned int reg_tx_duration_acp6 : 6; ++ unsigned int reg_aifsn_acp6 : 4; ++ unsigned int reg_cca_busy_mask_acp6 : 4; ++ unsigned int reg_tx_enable_acp6 : 1; ++ unsigned int reg_tx_bandwidth_acp6 : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_tx_priority_acp6 : 4; ++ } b; ++} MAC_TXCONTROL_ACP6_FIELD_T; ++ ++#define MAC_TXCONTROL_ACP7 (WIFI_MAC_TIMER_REG_BASE + 0x120) ++// Bit 9 :0 reg_slot_num_o_acp7 U RW default = 'h0 ++// Bit 15 :10 reg_tx_duration_acp7 U RW default = 'h8 ++// Bit 19 :16 reg_aifsn_acp7 U RW default = 'h0 ++// Bit 23 :20 reg_cca_busy_mask_acp7 U RW default = 'h0 ++// Bit 24 reg_tx_enable_acp7 U RW default = 'h0 ++// Bit 26 :25 reg_tx_bandwidth_acp7 U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_acp7 U RW default = 'h0 ++typedef union MAC_TXCONTROL_ACP7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_slot_num_o_acp7 : 10; ++ unsigned int reg_tx_duration_acp7 : 6; ++ unsigned int reg_aifsn_acp7 : 4; ++ unsigned int reg_cca_busy_mask_acp7 : 4; ++ unsigned int reg_tx_enable_acp7 : 1; ++ unsigned int reg_tx_bandwidth_acp7 : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_tx_priority_acp7 : 4; ++ } b; ++} MAC_TXCONTROL_ACP7_FIELD_T; ++ ++#define MAC_VCSUPDATE (WIFI_MAC_TIMER_REG_BASE + 0x128) ++// Bit 25 :0 reg_vcs_time U RW default = 'h0 ++// Bit 26 reg_vcs_enb U RW default = 'h0 ++// Bit 28 :27 reg_vcs_source U RW default = 'h0 ++// Bit 30 ro_vcs_enable U RO default = 'h0 ++// Bit 31 reg_vcs_up_enb U RW default = 'h0 ++typedef union MAC_VCSUPDATE_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_vcs_time : 26; ++ unsigned int reg_vcs_enb : 1; ++ unsigned int reg_vcs_source : 2; ++ unsigned int rsvd_0 : 1; ++ unsigned int ro_vcs_enable : 1; ++ unsigned int reg_vcs_up_enb : 1; ++ } b; ++} MAC_VCSUPDATE_FIELD_T; ++ ++#define MAC_TIME_HIGH (WIFI_MAC_TIMER_REG_BASE + 0x12c) ++// Bit 31 :0 reg_mac_time_high U RO default = 'h0 ++typedef union MAC_TIME_HIGH_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_time_high : 32; ++ } b; ++} MAC_TIME_HIGH_FIELD_T; ++ ++#define MAC_TIME_LOW (WIFI_MAC_TIMER_REG_BASE + 0x130) ++// Bit 31 :0 reg_mac_time_low U RO default = 'h0 ++typedef union MAC_TIME_LOW_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_time_low : 32; ++ } b; ++} MAC_TIME_LOW_FIELD_T; ++ ++#endif ++ +diff --git a/drivers/net/wireless/w1/common/wifi_mac_tx_reg.h b/drivers/net/wireless/w1/common/wifi_mac_tx_reg.h +new file mode 100644 +index 0000000000000000000000000000000000000000..668baea16d4db17d6cdc7aea7ff5bf3c6ae64d64 +--- /dev/null ++++ b/drivers/net/wireless/w1/common/wifi_mac_tx_reg.h +@@ -0,0 +1,1341 @@ ++#ifdef WIFI_MAC_TX_REG ++#else ++#define WIFI_MAC_TX_REG ++ ++ ++#define WIFI_MAC_TX_REG_BASE (0xa00000) ++ ++#define MAC_TXSTARTTIME_HIGH (WIFI_MAC_TX_REG_BASE + 0x238) ++// Bit 31 :0 ro_mac_txstarttime_high U RO default = 'h0 ++typedef union MAC_TXSTARTTIME_HIGH_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_mac_txstarttime_high : 32; ++ } b; ++} MAC_TXSTARTTIME_HIGH_FIELD_T; ++ ++#define MAC_TXSTARTTIME_LOW (WIFI_MAC_TX_REG_BASE + 0x23c) ++// Bit 31 :0 ro_mac_txstarttime_low U RO default = 'h0 ++typedef union MAC_TXSTARTTIME_LOW_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_mac_txstarttime_low : 32; ++ } b; ++} MAC_TXSTARTTIME_LOW_FIELD_T; ++ ++#define MAC_TXENDTIME (WIFI_MAC_TX_REG_BASE + 0x240) ++// Bit 31 :0 ro_mac_txendtime U RO default = 'h0 ++typedef union MAC_TXENDTIME_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_mac_txendtime : 32; ++ } b; ++} MAC_TXENDTIME_FIELD_T; ++ ++#define MAC_TXPOINTER (WIFI_MAC_TX_REG_BASE + 0x244) ++// Bit 31 :0 reg_tx_table_ptr U RW default = 'h0 ++typedef union MAC_TXPOINTER_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_tx_table_ptr : 32; ++ } b; ++} MAC_TXPOINTER_FIELD_T; ++ ++#define MAC_TXCONTROL_FIAC (WIFI_MAC_TX_REG_BASE + 0x248) ++// Bit 15 :10 reg_tx_duration_fiac U RW default = 'h1 ++// Bit 24 reg_dcpready_fiac U RW default = 'h0 ++// Bit 31 :28 reg_tx_priority_fiac U RW default = 'h0 ++typedef union MAC_TXCONTROL_FIAC_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int rsvd_0 : 10; ++ unsigned int reg_tx_duration_fiac : 6; ++ unsigned int rsvd_1 : 8; ++ unsigned int reg_dcpready_fiac : 1; ++ unsigned int rsvd_2 : 3; ++ unsigned int reg_tx_priority_fiac : 4; ++ } b; ++} MAC_TXCONTROL_FIAC_FIELD_T; ++ ++#define MAC_TXWD_TIMER (WIFI_MAC_TX_REG_BASE + 0x24c) ++// Bit 23 :0 reg_tx_wd_timer_duration U RW default = 'h4e20 ++// Bit 31 reg_tx_wd_timer_en U RW default = 'h1 ++typedef union MAC_TXWD_TIMER_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_tx_wd_timer_duration : 24; ++ unsigned int rsvd_0 : 7; ++ unsigned int reg_tx_wd_timer_en : 1; ++ } b; ++} MAC_TXWD_TIMER_FIELD_T; ++ ++#define MAC_TXINFO (WIFI_MAC_TX_REG_BASE + 0x250) ++// Bit 0 reg_txend_queue_bitinfo0 U W1C default = 'h0 ++// Bit 1 reg_txend_queue_bitinfo1 U W1C default = 'h0 ++// Bit 2 reg_txend_queue_bitinfo2 U W1C default = 'h0 ++// Bit 3 reg_txend_queue_bitinfo3 U W1C default = 'h0 ++// Bit 4 reg_txend_queue_bitinfo4 U W1C default = 'h0 ++// Bit 5 reg_txend_queue_bitinfo5 U W1C default = 'h0 ++// Bit 6 reg_txend_queue_bitinfo6 U W1C default = 'h0 ++// Bit 7 reg_txend_queue_bitinfo7 U W1C default = 'h0 ++// Bit 8 reg_txend_queue_bitinfo8 U W1C default = 'h0 ++// Bit 9 reg_txend_queue_bitinfo9 U W1C default = 'h0 ++// Bit 25 :16 ro_txend_queue_errinfo U RO default = 'h0 ++typedef union MAC_TXINFO_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txend_queue_bitinfo0 : 1; ++ unsigned int reg_txend_queue_bitinfo1 : 1; ++ unsigned int reg_txend_queue_bitinfo2 : 1; ++ unsigned int reg_txend_queue_bitinfo3 : 1; ++ unsigned int reg_txend_queue_bitinfo4 : 1; ++ unsigned int reg_txend_queue_bitinfo5 : 1; ++ unsigned int reg_txend_queue_bitinfo6 : 1; ++ unsigned int reg_txend_queue_bitinfo7 : 1; ++ unsigned int reg_txend_queue_bitinfo8 : 1; ++ unsigned int reg_txend_queue_bitinfo9 : 1; ++ unsigned int rsvd_0 : 6; ++ unsigned int ro_txend_queue_errinfo : 10; ++ unsigned int rsvd_1 : 6; ++ } b; ++} MAC_TXINFO_FIELD_T; ++ ++#define TX_CTRL_FRAME_SEND (WIFI_MAC_TX_REG_BASE + 0x258) ++// Bit 7 :0 reg_tx_other_info_len U RW default = 'h34 ++// Bit 10 :8 reg_dynamic_mcs U RW default = 'h1 ++// Bit 12 reg_dynamic_mcs_en U RW default = 'h1 ++// Bit 25 :16 reg_txout_time_thr U RW default = 'h320 ++// Bit 28 reg_txout_time_thr_en U RW default = 'h1 ++typedef union TX_CTRL_FRAME_SEND_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_tx_other_info_len : 8; ++ unsigned int reg_dynamic_mcs : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_dynamic_mcs_en : 1; ++ unsigned int rsvd_1 : 3; ++ unsigned int reg_txout_time_thr : 10; ++ unsigned int rsvd_2 : 2; ++ unsigned int reg_txout_time_thr_en : 1; ++ unsigned int rsvd_3 : 3; ++ } b; ++} TX_CTRL_FRAME_SEND_FIELD_T; ++ ++#define TX_IAC_SEND_CTRL (WIFI_MAC_TX_REG_BASE + 0x25c) ++// Bit 0 reg_iac_frame_send U RW default = 'h0 ++// Bit 6 :4 reg_iac_frame_type U RW default = 'h0 ++// Bit 10 :8 reg_iac_tid_num U RW default = 'h0 ++// Bit 11 reg_iac_power_mode U RW default = 'h0 ++typedef union TX_IAC_SEND_CTRL_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_iac_frame_send : 1; ++ unsigned int rsvd_0 : 3; ++ unsigned int reg_iac_frame_type : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int reg_iac_tid_num : 3; ++ unsigned int reg_iac_power_mode : 1; ++ unsigned int rsvd_2 : 20; ++ } b; ++} TX_IAC_SEND_CTRL_FIELD_T; ++ ++#define TX_IAC_BAR_INFO (WIFI_MAC_TX_REG_BASE + 0x260) ++// Bit 3 :0 reg_iac_tid_0 U RW default = 'h0 ++// Bit 15 :4 reg_iac_bitmap_index_0 U RW default = 'h0 ++// Bit 19 :16 reg_iac_tid_1 U RW default = 'h0 ++// Bit 31 :20 reg_iac_bitmap_index_1 U RW default = 'h0 ++typedef union TX_IAC_BAR_INFO_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_iac_tid_0 : 4; ++ unsigned int reg_iac_bitmap_index_0 : 12; ++ unsigned int reg_iac_tid_1 : 4; ++ unsigned int reg_iac_bitmap_index_1 : 12; ++ } b; ++} TX_IAC_BAR_INFO_FIELD_T; ++ ++#define TXIAC_ADDR1_LOW (WIFI_MAC_TX_REG_BASE + 0x264) ++// Bit 31 :0 reg_txiac_addr1_low U RW default = 'h0 ++typedef union TXIAC_ADDR1_LOW_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txiac_addr1_low : 32; ++ } b; ++} TXIAC_ADDR1_LOW_FIELD_T; ++ ++#define TXIAC_ADDR1_HIGH (WIFI_MAC_TX_REG_BASE + 0x268) ++// Bit 15 :0 reg_txiac_addr1_high U RW default = 'h0 ++typedef union TXIAC_ADDR1_HIGH_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txiac_addr1_high : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} TXIAC_ADDR1_HIGH_FIELD_T; ++ ++#define TXIAC_ADDR2_LOW (WIFI_MAC_TX_REG_BASE + 0x26c) ++// Bit 31 :0 reg_txiac_addr2_low U RW default = 'h0 ++typedef union TXIAC_ADDR2_LOW_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txiac_addr2_low : 32; ++ } b; ++} TXIAC_ADDR2_LOW_FIELD_T; ++ ++#define TXIAC_ADDR2_HIGH (WIFI_MAC_TX_REG_BASE + 0x270) ++// Bit 15 :0 reg_txiac_addr2_high U RW default = 'h0 ++typedef union TXIAC_ADDR2_HIGH_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txiac_addr2_high : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} TXIAC_ADDR2_HIGH_FIELD_T; ++ ++#define TX_IAC_VECTOR (WIFI_MAC_TX_REG_BASE + 0x274) ++// Bit 31 :0 reg_txiac_vector U RW default = 'h0 ++typedef union TX_IAC_VECTOR_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txiac_vector : 32; ++ } b; ++} TX_IAC_VECTOR_FIELD_T; ++ ++#define MAC_TXVECTOR_CONF (WIFI_MAC_TX_REG_BASE + 0x278) ++// Bit 15 :0 reg_mac_tx_service U RW default = 'h0 ++// Bit 18 :16 reg_mac_tx_htdltf_num U RW default = 'h1 ++// Bit 22 :20 reg_mac_tx_hteltf_num U RW default = 'h0 ++// Bit 26 :24 reg_mac_tx_vhtltf_num U RW default = 'h0 ++typedef union MAC_TXVECTOR_CONF_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_tx_service : 16; ++ unsigned int reg_mac_tx_htdltf_num : 3; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_mac_tx_hteltf_num : 3; ++ unsigned int rsvd_1 : 1; ++ unsigned int reg_mac_tx_vhtltf_num : 3; ++ unsigned int rsvd_2 : 5; ++ } b; ++} MAC_TXVECTOR_CONF_FIELD_T; ++ ++#define TXOP_REMAIN (WIFI_MAC_TX_REG_BASE + 0x27c) ++// Bit 14 :0 reg_txop_remain U RW default = 'h0 ++// Bit 25 :16 reg_rts_time U RW default = 'h0 ++// Bit 30 :28 reg_dyn_bwd_ctrl U RW default = 'h0 ++typedef union TXOP_REMAIN_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txop_remain : 15; ++ unsigned int rsvd_0 : 1; ++ unsigned int reg_rts_time : 10; ++ unsigned int rsvd_1 : 2; ++ unsigned int reg_dyn_bwd_ctrl : 3; ++ unsigned int rsvd_2 : 1; ++ } b; ++} TXOP_REMAIN_FIELD_T; ++ ++#define FW_PKT_DURA_CALC_IN (WIFI_MAC_TX_REG_BASE + 0x280) ++// Bit 30 :0 reg_fw_pkt_dura_calc_in U RW default = 'h0 ++// Bit 31 reg_fw_pkt_dura_calc_req U RW default = 'h0 ++typedef union FW_PKT_DURA_CALC_IN_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_fw_pkt_dura_calc_in : 31; ++ unsigned int reg_fw_pkt_dura_calc_req : 1; ++ } b; ++} FW_PKT_DURA_CALC_IN_FIELD_T; ++ ++#define FW_PKT_DURA_CALC_OUT (WIFI_MAC_TX_REG_BASE + 0x284) ++// Bit 15 :0 ro_fw_pkt_dura_calc_out U RO default = 'h0 ++typedef union FW_PKT_DURA_CALC_OUT_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int ro_fw_pkt_dura_calc_out : 16; ++ unsigned int rsvd_0 : 16; ++ } b; ++} FW_PKT_DURA_CALC_OUT_FIELD_T; ++ ++#define TXOUT_ENDCNT_MAX (WIFI_MAC_TX_REG_BASE + 0x288) ++// Bit 3 :0 reg_txout_endcnt_max U RW default = 'h4 ++// Bit 15 :8 reg_tx_rts_rate U RW default = 'h4 ++// Bit 23 :16 reg_tx_time_gap U RW default = 'h10 ++typedef union TXOUT_ENDCNT_MAX_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_txout_endcnt_max : 4; ++ unsigned int rsvd_0 : 4; ++ unsigned int reg_tx_rts_rate : 8; ++ unsigned int reg_tx_time_gap : 8; ++ unsigned int rsvd_1 : 8; ++ } b; ++} TXOUT_ENDCNT_MAX_FIELD_T; ++ ++#define MAC_TXVECTOR_P1_NONQOS (WIFI_MAC_TX_REG_BASE + 0x28c) ++// Bit 29 :0 reg_mac_txvector_p1_nonqos U RW default = 'h0 ++// Bit 30 reg_mac_txvector_p1_nonqos_rts U RW default = 'h0 ++// Bit 31 reg_mac_txvector_p1_nonqos_cts U RW default = 'h0 ++typedef union MAC_TXVECTOR_P1_NONQOS_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_txvector_p1_nonqos : 30; ++ unsigned int reg_mac_txvector_p1_nonqos_rts : 1; ++ unsigned int reg_mac_txvector_p1_nonqos_cts : 1; ++ } b; ++} MAC_TXVECTOR_P1_NONQOS_FIELD_T; ++ ++#define MAC_TXVECTOR_P1_ACP0 (WIFI_MAC_TX_REG_BASE + 0x290) ++// Bit 29 :0 reg_mac_txvector_p1_acp0 U RW default = 'h0 ++// Bit 30 reg_mac_txvector_p1_acp0_rts U RW default = 'h0 ++// Bit 31 reg_mac_txvector_p1_acp0_cts U RW default = 'h0 ++typedef union MAC_TXVECTOR_P1_ACP0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_txvector_p1_acp0 : 30; ++ unsigned int reg_mac_txvector_p1_acp0_rts : 1; ++ unsigned int reg_mac_txvector_p1_acp0_cts : 1; ++ } b; ++} MAC_TXVECTOR_P1_ACP0_FIELD_T; ++ ++#define MAC_TXVECTOR_P1_ACP1 (WIFI_MAC_TX_REG_BASE + 0x294) ++// Bit 29 :0 reg_mac_txvector_p1_acp1 U RW default = 'h0 ++// Bit 30 reg_mac_txvector_p1_acp1_rts U RW default = 'h0 ++// Bit 31 reg_mac_txvector_p1_acp1_cts U RW default = 'h0 ++typedef union MAC_TXVECTOR_P1_ACP1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_txvector_p1_acp1 : 30; ++ unsigned int reg_mac_txvector_p1_acp1_rts : 1; ++ unsigned int reg_mac_txvector_p1_acp1_cts : 1; ++ } b; ++} MAC_TXVECTOR_P1_ACP1_FIELD_T; ++ ++#define MAC_TXVECTOR_P1_ACP2 (WIFI_MAC_TX_REG_BASE + 0x298) ++// Bit 29 :0 reg_mac_txvector_p1_acp2 U RW default = 'h0 ++// Bit 30 reg_mac_txvector_p1_acp2_rts U RW default = 'h0 ++// Bit 31 reg_mac_txvector_p1_acp2_cts U RW default = 'h0 ++typedef union MAC_TXVECTOR_P1_ACP2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_txvector_p1_acp2 : 30; ++ unsigned int reg_mac_txvector_p1_acp2_rts : 1; ++ unsigned int reg_mac_txvector_p1_acp2_cts : 1; ++ } b; ++} MAC_TXVECTOR_P1_ACP2_FIELD_T; ++ ++#define MAC_TXVECTOR_P1_ACP3 (WIFI_MAC_TX_REG_BASE + 0x29c) ++// Bit 29 :0 reg_mac_txvector_p1_acp3 U RW default = 'h0 ++// Bit 30 reg_mac_txvector_p1_acp3_rts U RW default = 'h0 ++// Bit 31 reg_mac_txvector_p1_acp3_cts U RW default = 'h0 ++typedef union MAC_TXVECTOR_P1_ACP3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_txvector_p1_acp3 : 30; ++ unsigned int reg_mac_txvector_p1_acp3_rts : 1; ++ unsigned int reg_mac_txvector_p1_acp3_cts : 1; ++ } b; ++} MAC_TXVECTOR_P1_ACP3_FIELD_T; ++ ++#define MAC_TXVECTOR_P1_ACP4 (WIFI_MAC_TX_REG_BASE + 0x2a0) ++// Bit 29 :0 reg_mac_txvector_p1_acp4 U RW default = 'h0 ++// Bit 30 reg_mac_txvector_p1_acp4_rts U RW default = 'h0 ++// Bit 31 reg_mac_txvector_p1_acp4_cts U RW default = 'h0 ++typedef union MAC_TXVECTOR_P1_ACP4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_txvector_p1_acp4 : 30; ++ unsigned int reg_mac_txvector_p1_acp4_rts : 1; ++ unsigned int reg_mac_txvector_p1_acp4_cts : 1; ++ } b; ++} MAC_TXVECTOR_P1_ACP4_FIELD_T; ++ ++#define MAC_TXVECTOR_P1_ACP5 (WIFI_MAC_TX_REG_BASE + 0x2a4) ++// Bit 29 :0 reg_mac_txvector_p1_acp5 U RW default = 'h0 ++// Bit 30 reg_mac_txvector_p1_acp5_rts U RW default = 'h0 ++// Bit 31 reg_mac_txvector_p1_acp5_cts U RW default = 'h0 ++typedef union MAC_TXVECTOR_P1_ACP5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_txvector_p1_acp5 : 30; ++ unsigned int reg_mac_txvector_p1_acp5_rts : 1; ++ unsigned int reg_mac_txvector_p1_acp5_cts : 1; ++ } b; ++} MAC_TXVECTOR_P1_ACP5_FIELD_T; ++ ++#define MAC_TXVECTOR_P1_ACP6 (WIFI_MAC_TX_REG_BASE + 0x2a8) ++// Bit 29 :0 reg_mac_txvector_p1_acp6 U RW default = 'h0 ++// Bit 30 reg_mac_txvector_p1_acp6_rts U RW default = 'h0 ++// Bit 31 reg_mac_txvector_p1_acp6_cts U RW default = 'h0 ++typedef union MAC_TXVECTOR_P1_ACP6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_txvector_p1_acp6 : 30; ++ unsigned int reg_mac_txvector_p1_acp6_rts : 1; ++ unsigned int reg_mac_txvector_p1_acp6_cts : 1; ++ } b; ++} MAC_TXVECTOR_P1_ACP6_FIELD_T; ++ ++#define MAC_TXVECTOR_P1_ACP7 (WIFI_MAC_TX_REG_BASE + 0x2ac) ++// Bit 29 :0 reg_mac_txvector_p1_acp7 U RW default = 'h0 ++// Bit 30 reg_mac_txvector_p1_acp7_rts U RW default = 'h0 ++// Bit 31 reg_mac_txvector_p1_acp7_cts U RW default = 'h0 ++typedef union MAC_TXVECTOR_P1_ACP7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_txvector_p1_acp7 : 30; ++ unsigned int reg_mac_txvector_p1_acp7_rts : 1; ++ unsigned int reg_mac_txvector_p1_acp7_cts : 1; ++ } b; ++} MAC_TXVECTOR_P1_ACP7_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL0 (WIFI_MAC_TX_REG_BASE + 0x2b4) ++// Bit 31 :0 reg_mac_rxpkt_control0 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control0 : 32; ++ } b; ++} MAC_RXPKT_CONTROL0_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL2 (WIFI_MAC_TX_REG_BASE + 0x2b8) ++// Bit 31 :0 reg_mac_rxpkt_control2 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control2 : 32; ++ } b; ++} MAC_RXPKT_CONTROL2_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL3 (WIFI_MAC_TX_REG_BASE + 0x2bc) ++// Bit 31 :0 reg_mac_rxpkt_control3 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control3 : 32; ++ } b; ++} MAC_RXPKT_CONTROL3_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL4 (WIFI_MAC_TX_REG_BASE + 0x2c0) ++// Bit 31 :0 reg_mac_rxpkt_control4 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control4 : 32; ++ } b; ++} MAC_RXPKT_CONTROL4_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL6 (WIFI_MAC_TX_REG_BASE + 0x2c4) ++// Bit 31 :0 reg_mac_rxpkt_control6 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control6 : 32; ++ } b; ++} MAC_RXPKT_CONTROL6_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL7 (WIFI_MAC_TX_REG_BASE + 0x2c8) ++// Bit 31 :0 reg_mac_rxpkt_control7 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control7 : 32; ++ } b; ++} MAC_RXPKT_CONTROL7_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL8 (WIFI_MAC_TX_REG_BASE + 0x2cc) ++// Bit 31 :0 reg_mac_rxpkt_control8 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control8 : 32; ++ } b; ++} MAC_RXPKT_CONTROL8_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL10 (WIFI_MAC_TX_REG_BASE + 0x2d0) ++// Bit 31 :0 reg_mac_rxpkt_control10 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL10_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control10 : 32; ++ } b; ++} MAC_RXPKT_CONTROL10_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL11 (WIFI_MAC_TX_REG_BASE + 0x2d4) ++// Bit 31 :0 reg_mac_rxpkt_control11 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL11_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control11 : 32; ++ } b; ++} MAC_RXPKT_CONTROL11_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL12 (WIFI_MAC_TX_REG_BASE + 0x2d8) ++// Bit 31 :0 reg_mac_rxpkt_control12 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL12_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control12 : 32; ++ } b; ++} MAC_RXPKT_CONTROL12_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL14 (WIFI_MAC_TX_REG_BASE + 0x2dc) ++// Bit 31 :0 reg_mac_rxpkt_control14 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL14_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control14 : 32; ++ } b; ++} MAC_RXPKT_CONTROL14_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL16 (WIFI_MAC_TX_REG_BASE + 0x2e0) ++// Bit 31 :0 reg_mac_rxpkt_control16 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL16_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control16 : 32; ++ } b; ++} MAC_RXPKT_CONTROL16_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL18 (WIFI_MAC_TX_REG_BASE + 0x2e4) ++// Bit 31 :0 reg_mac_rxpkt_control18 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL18_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control18 : 32; ++ } b; ++} MAC_RXPKT_CONTROL18_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL20 (WIFI_MAC_TX_REG_BASE + 0x2e8) ++// Bit 31 :0 reg_mac_rxpkt_control20 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL20_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control20 : 32; ++ } b; ++} MAC_RXPKT_CONTROL20_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL22 (WIFI_MAC_TX_REG_BASE + 0x2ec) ++// Bit 31 :0 reg_mac_rxpkt_control22 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL22_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control22 : 32; ++ } b; ++} MAC_RXPKT_CONTROL22_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL26 (WIFI_MAC_TX_REG_BASE + 0x2f0) ++// Bit 31 :0 reg_mac_rxpkt_control26 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL26_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control26 : 32; ++ } b; ++} MAC_RXPKT_CONTROL26_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL29 (WIFI_MAC_TX_REG_BASE + 0x2f4) ++// Bit 31 :0 reg_mac_rxpkt_control29 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL29_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control29 : 32; ++ } b; ++} MAC_RXPKT_CONTROL29_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL30 (WIFI_MAC_TX_REG_BASE + 0x2f8) ++// Bit 31 :0 reg_mac_rxpkt_control30 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL30_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control30 : 32; ++ } b; ++} MAC_RXPKT_CONTROL30_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL32 (WIFI_MAC_TX_REG_BASE + 0x2fc) ++// Bit 31 :0 reg_mac_rxpkt_control32 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL32_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control32 : 32; ++ } b; ++} MAC_RXPKT_CONTROL32_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL33 (WIFI_MAC_TX_REG_BASE + 0x300) ++// Bit 31 :0 reg_mac_rxpkt_control33 U RW default = 'hc0000000 ++typedef union MAC_RXPKT_CONTROL33_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control33 : 32; ++ } b; ++} MAC_RXPKT_CONTROL33_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL34 (WIFI_MAC_TX_REG_BASE + 0x304) ++// Bit 31 :0 reg_mac_rxpkt_control34 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL34_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control34 : 32; ++ } b; ++} MAC_RXPKT_CONTROL34_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL36 (WIFI_MAC_TX_REG_BASE + 0x308) ++// Bit 31 :0 reg_mac_rxpkt_control36 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL36_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control36 : 32; ++ } b; ++} MAC_RXPKT_CONTROL36_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL37 (WIFI_MAC_TX_REG_BASE + 0x30c) ++// Bit 31 :0 reg_mac_rxpkt_control37 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL37_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control37 : 32; ++ } b; ++} MAC_RXPKT_CONTROL37_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL38 (WIFI_MAC_TX_REG_BASE + 0x310) ++// Bit 31 :0 reg_mac_rxpkt_control38 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL38_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control38 : 32; ++ } b; ++} MAC_RXPKT_CONTROL38_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL40 (WIFI_MAC_TX_REG_BASE + 0x314) ++// Bit 31 :0 reg_mac_rxpkt_control40 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL40_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control40 : 32; ++ } b; ++} MAC_RXPKT_CONTROL40_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL41 (WIFI_MAC_TX_REG_BASE + 0x318) ++// Bit 31 :0 reg_mac_rxpkt_control41 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL41_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control41 : 32; ++ } b; ++} MAC_RXPKT_CONTROL41_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL42 (WIFI_MAC_TX_REG_BASE + 0x31c) ++// Bit 31 :0 reg_mac_rxpkt_control42 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL42_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control42 : 32; ++ } b; ++} MAC_RXPKT_CONTROL42_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL44 (WIFI_MAC_TX_REG_BASE + 0x320) ++// Bit 31 :0 reg_mac_rxpkt_control44 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL44_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control44 : 32; ++ } b; ++} MAC_RXPKT_CONTROL44_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL45 (WIFI_MAC_TX_REG_BASE + 0x324) ++// Bit 31 :0 reg_mac_rxpkt_control45 U RW default = 'hc0000000 ++typedef union MAC_RXPKT_CONTROL45_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control45 : 32; ++ } b; ++} MAC_RXPKT_CONTROL45_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL46 (WIFI_MAC_TX_REG_BASE + 0x328) ++// Bit 31 :0 reg_mac_rxpkt_control46 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL46_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control46 : 32; ++ } b; ++} MAC_RXPKT_CONTROL46_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL48 (WIFI_MAC_TX_REG_BASE + 0x32c) ++// Bit 31 :0 reg_mac_rxpkt_control48 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL48_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control48 : 32; ++ } b; ++} MAC_RXPKT_CONTROL48_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL49 (WIFI_MAC_TX_REG_BASE + 0x330) ++// Bit 31 :0 reg_mac_rxpkt_control49 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL49_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control49 : 32; ++ } b; ++} MAC_RXPKT_CONTROL49_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL50 (WIFI_MAC_TX_REG_BASE + 0x334) ++// Bit 31 :0 reg_mac_rxpkt_control50 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL50_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control50 : 32; ++ } b; ++} MAC_RXPKT_CONTROL50_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL52 (WIFI_MAC_TX_REG_BASE + 0x338) ++// Bit 31 :0 reg_mac_rxpkt_control52 U RW default = 'he0000000 ++typedef union MAC_RXPKT_CONTROL52_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control52 : 32; ++ } b; ++} MAC_RXPKT_CONTROL52_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL53 (WIFI_MAC_TX_REG_BASE + 0x33c) ++// Bit 31 :0 reg_mac_rxpkt_control53 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL53_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control53 : 32; ++ } b; ++} MAC_RXPKT_CONTROL53_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL56 (WIFI_MAC_TX_REG_BASE + 0x340) ++// Bit 31 :0 reg_mac_rxpkt_control56 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL56_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control56 : 32; ++ } b; ++} MAC_RXPKT_CONTROL56_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL57 (WIFI_MAC_TX_REG_BASE + 0x344) ++// Bit 31 :0 reg_mac_rxpkt_control57 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL57_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control57 : 32; ++ } b; ++} MAC_RXPKT_CONTROL57_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL58 (WIFI_MAC_TX_REG_BASE + 0x348) ++// Bit 31 :0 reg_mac_rxpkt_control58 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL58_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control58 : 32; ++ } b; ++} MAC_RXPKT_CONTROL58_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL61 (WIFI_MAC_TX_REG_BASE + 0x34c) ++// Bit 31 :0 reg_mac_rxpkt_control61 U RW default = 'h0 ++typedef union MAC_RXPKT_CONTROL61_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control61 : 32; ++ } b; ++} MAC_RXPKT_CONTROL61_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL62 (WIFI_MAC_TX_REG_BASE + 0x350) ++// Bit 31 :0 reg_mac_rxpkt_control62 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL62_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control62 : 32; ++ } b; ++} MAC_RXPKT_CONTROL62_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL24 (WIFI_MAC_TX_REG_BASE + 0x354) ++// Bit 31 :0 reg_mac_rxpkt_control24 U RW default = 'h20000000 ++typedef union MAC_RXPKT_CONTROL24_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control24 : 32; ++ } b; ++} MAC_RXPKT_CONTROL24_FIELD_T; ++ ++#define MAC_11B_LUT_1M (WIFI_MAC_TX_REG_BASE + 0x358) ++// Bit 31 :0 reg_mac_11b_lut_1m U RW default = 'h0 ++typedef union MAC_11B_LUT_1M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11b_lut_1m : 32; ++ } b; ++} MAC_11B_LUT_1M_FIELD_T; ++ ++#define MAC_11B_LUT_2M (WIFI_MAC_TX_REG_BASE + 0x35c) ++// Bit 31 :0 reg_mac_11b_lut_2m U RW default = 'h11010000 ++typedef union MAC_11B_LUT_2M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11b_lut_2m : 32; ++ } b; ++} MAC_11B_LUT_2M_FIELD_T; ++ ++#define MAC_11B_LUT_5M (WIFI_MAC_TX_REG_BASE + 0x360) ++// Bit 31 :0 reg_mac_11b_lut_5m U RW default = 'h22020202 ++typedef union MAC_11B_LUT_5M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11b_lut_5m : 32; ++ } b; ++} MAC_11B_LUT_5M_FIELD_T; ++ ++#define MAC_11B_LUT_11M (WIFI_MAC_TX_REG_BASE + 0x364) ++// Bit 31 :0 reg_mac_11b_lut_11m U RW default = 'h33030303 ++typedef union MAC_11B_LUT_11M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11b_lut_11m : 32; ++ } b; ++} MAC_11B_LUT_11M_FIELD_T; ++ ++#define MAC_11G_LUT_6M (WIFI_MAC_TX_REG_BASE + 0x368) ++// Bit 31 :0 reg_mac_11g_lut_6m U RW default = 'h44040404 ++typedef union MAC_11G_LUT_6M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11g_lut_6m : 32; ++ } b; ++} MAC_11G_LUT_6M_FIELD_T; ++ ++#define MAC_11G_LUT_9M (WIFI_MAC_TX_REG_BASE + 0x36c) ++// Bit 31 :0 reg_mac_11g_lut_9m U RW default = 'h44050505 ++typedef union MAC_11G_LUT_9M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11g_lut_9m : 32; ++ } b; ++} MAC_11G_LUT_9M_FIELD_T; ++ ++#define MAC_11G_LUT_12M (WIFI_MAC_TX_REG_BASE + 0x370) ++// Bit 31 :0 reg_mac_11g_lut_12m U RW default = 'h55060606 ++typedef union MAC_11G_LUT_12M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11g_lut_12m : 32; ++ } b; ++} MAC_11G_LUT_12M_FIELD_T; ++ ++#define MAC_11G_LUT_18M (WIFI_MAC_TX_REG_BASE + 0x374) ++// Bit 31 :0 reg_mac_11g_lut_18m U RW default = 'h55060606 ++typedef union MAC_11G_LUT_18M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11g_lut_18m : 32; ++ } b; ++} MAC_11G_LUT_18M_FIELD_T; ++ ++#define MAC_11G_LUT_24M (WIFI_MAC_TX_REG_BASE + 0x378) ++// Bit 31 :0 reg_mac_11g_lut_24m U RW default = 'h56060606 ++typedef union MAC_11G_LUT_24M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11g_lut_24m : 32; ++ } b; ++} MAC_11G_LUT_24M_FIELD_T; ++ ++#define MAC_11G_LUT_36M (WIFI_MAC_TX_REG_BASE + 0x37c) ++// Bit 31 :0 reg_mac_11g_lut_36m U RW default = 'h66080608 ++typedef union MAC_11G_LUT_36M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11g_lut_36m : 32; ++ } b; ++} MAC_11G_LUT_36M_FIELD_T; ++ ++#define MAC_11G_LUT_48M (WIFI_MAC_TX_REG_BASE + 0x380) ++// Bit 31 :0 reg_mac_11g_lut_48m U RW default = 'h67080608 ++typedef union MAC_11G_LUT_48M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11g_lut_48m : 32; ++ } b; ++} MAC_11G_LUT_48M_FIELD_T; ++ ++#define MAC_11G_LUT_54M (WIFI_MAC_TX_REG_BASE + 0x384) ++// Bit 31 :0 reg_mac_11g_lut_54m U RW default = 'h67080608 ++typedef union MAC_11G_LUT_54M_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11g_lut_54m : 32; ++ } b; ++} MAC_11G_LUT_54M_FIELD_T; ++ ++#define MAC_11N_LUT_MCS0 (WIFI_MAC_TX_REG_BASE + 0x388) ++// Bit 31 :0 reg_mac_11n_lut_mcs0 U RW default = 'h88800404 ++typedef union MAC_11N_LUT_MCS0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11n_lut_mcs0 : 32; ++ } b; ++} MAC_11N_LUT_MCS0_FIELD_T; ++ ++#define MAC_11N_LUT_MCS1 (WIFI_MAC_TX_REG_BASE + 0x38c) ++// Bit 31 :0 reg_mac_11n_lut_mcs1 U RW default = 'h99810606 ++typedef union MAC_11N_LUT_MCS1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11n_lut_mcs1 : 32; ++ } b; ++} MAC_11N_LUT_MCS1_FIELD_T; ++ ++#define MAC_11N_LUT_MCS2 (WIFI_MAC_TX_REG_BASE + 0x390) ++// Bit 31 :0 reg_mac_11n_lut_mcs2 U RW default = 'h9a810606 ++typedef union MAC_11N_LUT_MCS2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11n_lut_mcs2 : 32; ++ } b; ++} MAC_11N_LUT_MCS2_FIELD_T; ++ ++#define MAC_11N_LUT_MCS3 (WIFI_MAC_TX_REG_BASE + 0x394) ++// Bit 31 :0 reg_mac_11n_lut_mcs3 U RW default = 'hbb830608 ++typedef union MAC_11N_LUT_MCS3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11n_lut_mcs3 : 32; ++ } b; ++} MAC_11N_LUT_MCS3_FIELD_T; ++ ++#define MAC_11N_LUT_MCS4 (WIFI_MAC_TX_REG_BASE + 0x398) ++// Bit 31 :0 reg_mac_11n_lut_mcs4 U RW default = 'hbc830608 ++typedef union MAC_11N_LUT_MCS4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11n_lut_mcs4 : 32; ++ } b; ++} MAC_11N_LUT_MCS4_FIELD_T; ++ ++#define MAC_11N_LUT_MCS5 (WIFI_MAC_TX_REG_BASE + 0x39c) ++// Bit 31 :0 reg_mac_11n_lut_mcs5 U RW default = 'hbd830608 ++typedef union MAC_11N_LUT_MCS5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11n_lut_mcs5 : 32; ++ } b; ++} MAC_11N_LUT_MCS5_FIELD_T; ++ ++#define MAC_11N_LUT_MCS6 (WIFI_MAC_TX_REG_BASE + 0x3a0) ++// Bit 31 :0 reg_mac_11n_lut_mcs6 U RW default = 'hbe830608 ++typedef union MAC_11N_LUT_MCS6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11n_lut_mcs6 : 32; ++ } b; ++} MAC_11N_LUT_MCS6_FIELD_T; ++ ++#define MAC_11N_LUT_MCS7 (WIFI_MAC_TX_REG_BASE + 0x3a4) ++// Bit 31 :0 reg_mac_11n_lut_mcs7 U RW default = 'hbe830606 ++typedef union MAC_11N_LUT_MCS7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11n_lut_mcs7 : 32; ++ } b; ++} MAC_11N_LUT_MCS7_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS0 (WIFI_MAC_TX_REG_BASE + 0x3a8) ++// Bit 31 :0 reg_mac_11ac_lut_mcs0 U RW default = 'h48040404 ++typedef union MAC_11AC_LUT_MCS0_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs0 : 32; ++ } b; ++} MAC_11AC_LUT_MCS0_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS1 (WIFI_MAC_TX_REG_BASE + 0x3ac) ++// Bit 31 :0 reg_mac_11ac_lut_mcs1 U RW default = 'h59060606 ++typedef union MAC_11AC_LUT_MCS1_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs1 : 32; ++ } b; ++} MAC_11AC_LUT_MCS1_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS2 (WIFI_MAC_TX_REG_BASE + 0x3b0) ++// Bit 31 :0 reg_mac_11ac_lut_mcs2 U RW default = 'h5a060606 ++typedef union MAC_11AC_LUT_MCS2_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs2 : 32; ++ } b; ++} MAC_11AC_LUT_MCS2_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS3 (WIFI_MAC_TX_REG_BASE + 0x3b4) ++// Bit 31 :0 reg_mac_11ac_lut_mcs3 U RW default = 'h6b080608 ++typedef union MAC_11AC_LUT_MCS3_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs3 : 32; ++ } b; ++} MAC_11AC_LUT_MCS3_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS4 (WIFI_MAC_TX_REG_BASE + 0x3b8) ++// Bit 31 :0 reg_mac_11ac_lut_mcs4 U RW default = 'h6c080608 ++typedef union MAC_11AC_LUT_MCS4_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs4 : 32; ++ } b; ++} MAC_11AC_LUT_MCS4_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS5 (WIFI_MAC_TX_REG_BASE + 0x3bc) ++// Bit 31 :0 reg_mac_11ac_lut_mcs5 U RW default = 'h6d080608 ++typedef union MAC_11AC_LUT_MCS5_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs5 : 32; ++ } b; ++} MAC_11AC_LUT_MCS5_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS6 (WIFI_MAC_TX_REG_BASE + 0x3c0) ++// Bit 31 :0 reg_mac_11ac_lut_mcs6 U RW default = 'h6e080608 ++typedef union MAC_11AC_LUT_MCS6_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs6 : 32; ++ } b; ++} MAC_11AC_LUT_MCS6_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS7 (WIFI_MAC_TX_REG_BASE + 0x3c4) ++// Bit 31 :0 reg_mac_11ac_lut_mcs7 U RW default = 'h6e080608 ++typedef union MAC_11AC_LUT_MCS7_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs7 : 32; ++ } b; ++} MAC_11AC_LUT_MCS7_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS8 (WIFI_MAC_TX_REG_BASE + 0x3c8) ++// Bit 31 :0 reg_mac_11ac_lut_mcs8 U RW default = 'h6f080608 ++typedef union MAC_11AC_LUT_MCS8_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs8 : 32; ++ } b; ++} MAC_11AC_LUT_MCS8_FIELD_T; ++ ++#define MAC_11AC_LUT_MCS9 (WIFI_MAC_TX_REG_BASE + 0x3cc) ++// Bit 31 :0 reg_mac_11ac_lut_mcs9 U RW default = 'h6f0b080b ++typedef union MAC_11AC_LUT_MCS9_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_11ac_lut_mcs9 : 32; ++ } b; ++} MAC_11AC_LUT_MCS9_FIELD_T; ++ ++#define VID0_TIMESTAMP_HIGH (WIFI_MAC_TX_REG_BASE + 0x3d0) ++// Bit 31 :0 reg_vid0_timestamp_high U RW default = 'h0 ++typedef union VID0_TIMESTAMP_HIGH_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_vid0_timestamp_high : 32; ++ } b; ++} VID0_TIMESTAMP_HIGH_FIELD_T; ++ ++#define VID0_TIMESTAMP_LOW (WIFI_MAC_TX_REG_BASE + 0x3d4) ++// Bit 31 :0 reg_vid0_timestamp_low U RW default = 'h0 ++typedef union VID0_TIMESTAMP_LOW_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_vid0_timestamp_low : 32; ++ } b; ++} VID0_TIMESTAMP_LOW_FIELD_T; ++ ++#define VID1_TIMESTAMP_HIGH (WIFI_MAC_TX_REG_BASE + 0x3d8) ++// Bit 31 :0 reg_vid1_timestamp_high U RW default = 'h0 ++typedef union VID1_TIMESTAMP_HIGH_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_vid1_timestamp_high : 32; ++ } b; ++} VID1_TIMESTAMP_HIGH_FIELD_T; ++ ++#define VID1_TIMESTAMP_LOW (WIFI_MAC_TX_REG_BASE + 0x3dc) ++// Bit 31 :0 reg_vid1_timestamp_low U RW default = 'h0 ++typedef union VID1_TIMESTAMP_LOW_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_vid1_timestamp_low : 32; ++ } b; ++} VID1_TIMESTAMP_LOW_FIELD_T; ++ ++#define VID2_TIMESTAMP_HIGH (WIFI_MAC_TX_REG_BASE + 0x3e0) ++// Bit 31 :0 reg_vid2_timestamp_high U RW default = 'h0 ++typedef union VID2_TIMESTAMP_HIGH_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_vid2_timestamp_high : 32; ++ } b; ++} VID2_TIMESTAMP_HIGH_FIELD_T; ++ ++#define VID2_TIMESTAMP_LOW (WIFI_MAC_TX_REG_BASE + 0x3e4) ++// Bit 31 :0 reg_vid2_timestamp_low U RW default = 'h0 ++typedef union VID2_TIMESTAMP_LOW_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_vid2_timestamp_low : 32; ++ } b; ++} VID2_TIMESTAMP_LOW_FIELD_T; ++ ++#define VID3_TIMESTAMP_HIGH (WIFI_MAC_TX_REG_BASE + 0x3e8) ++// Bit 31 :0 reg_vid3_timestamp_high U RW default = 'h0 ++typedef union VID3_TIMESTAMP_HIGH_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_vid3_timestamp_high : 32; ++ } b; ++} VID3_TIMESTAMP_HIGH_FIELD_T; ++ ++#define VID3_TIMESTAMP_LOW (WIFI_MAC_TX_REG_BASE + 0x3ec) ++// Bit 31 :0 reg_vid3_timestamp_low U RW default = 'h0 ++typedef union VID3_TIMESTAMP_LOW_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_vid3_timestamp_low : 32; ++ } b; ++} VID3_TIMESTAMP_LOW_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL17 (WIFI_MAC_TX_REG_BASE + 0x3f0) ++// Bit 31 :0 reg_mac_rxpkt_control17 U RW default = 'hc0000000 ++typedef union MAC_RXPKT_CONTROL17_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control17 : 32; ++ } b; ++} MAC_RXPKT_CONTROL17_FIELD_T; ++ ++#define MAC_RXPKT_CONTROL21 (WIFI_MAC_TX_REG_BASE + 0x3f4) ++// Bit 31 :0 reg_mac_rxpkt_control21 U RW default = 'hc0000000 ++typedef union MAC_RXPKT_CONTROL21_FIELD ++{ ++ unsigned int data; ++ struct ++ { ++ unsigned int reg_mac_rxpkt_control21 : 32; ++ } b; ++} MAC_RXPKT_CONTROL21_FIELD_T; ++ ++#endif ++ diff --git a/drivers/net/wireless/w1/common/wifi_ofdm_addr.h b/drivers/net/wireless/w1/common/wifi_ofdm_addr.h new file mode 100644 -index 000000000000..37adb97d1353 +index 0000000000000000000000000000000000000000..37adb97d13539d56de1bfac614bb1bf436303d83 --- /dev/null +++ b/drivers/net/wireless/w1/common/wifi_ofdm_addr.h @@ -0,0 +1,8 @@ @@ -28062,7 +27871,7 @@ index 000000000000..37adb97d1353 + diff --git a/drivers/net/wireless/w1/common/wifi_phy_addr.h b/drivers/net/wireless/w1/common/wifi_phy_addr.h new file mode 100644 -index 000000000000..4020cc95188d +index 0000000000000000000000000000000000000000..4020cc95188dc300142d1b61bcca4f55aa95eb4f --- /dev/null +++ b/drivers/net/wireless/w1/common/wifi_phy_addr.h @@ -0,0 +1,15 @@ @@ -28083,7 +27892,7 @@ index 000000000000..4020cc95188d + diff --git a/drivers/net/wireless/w1/common/wifi_sdio_cfg_addr.h b/drivers/net/wireless/w1/common/wifi_sdio_cfg_addr.h new file mode 100644 -index 000000000000..181521572ad1 +index 0000000000000000000000000000000000000000..181521572ad1c152781b008581ca0be162cf044a --- /dev/null +++ b/drivers/net/wireless/w1/common/wifi_sdio_cfg_addr.h @@ -0,0 +1,37 @@ @@ -28126,7 +27935,7 @@ index 000000000000..181521572ad1 + diff --git a/drivers/net/wireless/w1/common/wifi_sdio_if_addr.h b/drivers/net/wireless/w1/common/wifi_sdio_if_addr.h new file mode 100644 -index 000000000000..bb92e6c95a6d +index 0000000000000000000000000000000000000000..bb92e6c95a6d95c271c8f76c9e936d44d3c4aa9b --- /dev/null +++ b/drivers/net/wireless/w1/common/wifi_sdio_if_addr.h @@ -0,0 +1,10 @@ @@ -28142,7 +27951,7 @@ index 000000000000..bb92e6c95a6d +#endif diff --git a/drivers/net/wireless/w1/common/wifi_sys_addr.h b/drivers/net/wireless/w1/common/wifi_sys_addr.h new file mode 100644 -index 000000000000..91937ac732f9 +index 0000000000000000000000000000000000000000..91937ac732f993a77308e8dc7d8a8880dd6e341f --- /dev/null +++ b/drivers/net/wireless/w1/common/wifi_sys_addr.h @@ -0,0 +1,21 @@ @@ -28169,7 +27978,7 @@ index 000000000000..91937ac732f9 + diff --git a/drivers/net/wireless/w1/common/wifi_top_addr.h b/drivers/net/wireless/w1/common/wifi_top_addr.h new file mode 100644 -index 000000000000..b9e82b28e295 +index 0000000000000000000000000000000000000000..b9e82b28e2952c8f7b722e4a10925ee53f221fcc --- /dev/null +++ b/drivers/net/wireless/w1/common/wifi_top_addr.h @@ -0,0 +1,27 @@ @@ -28202,7 +28011,7 @@ index 000000000000..b9e82b28e295 +#endif diff --git a/drivers/net/wireless/w1/common/wifi_uart_addr.h b/drivers/net/wireless/w1/common/wifi_uart_addr.h new file mode 100644 -index 000000000000..aa27adebfb2a +index 0000000000000000000000000000000000000000..aa27adebfb2a4b5ac2c35e858bda7849dd9db777 --- /dev/null +++ b/drivers/net/wireless/w1/common/wifi_uart_addr.h @@ -0,0 +1,41 @@ @@ -28249,10 +28058,10 @@ index 000000000000..aa27adebfb2a +#endif diff --git a/drivers/net/wireless/w1/vmac/Makefile b/drivers/net/wireless/w1/vmac/Makefile new file mode 100644 -index 000000000000..d552e804c66c +index 0000000000000000000000000000000000000000..f4ee56727c3bc1009e0d6b3c1e9050dba97f29eb --- /dev/null +++ b/drivers/net/wireless/w1/vmac/Makefile -@@ -0,0 +1,248 @@ +@@ -0,0 +1,249 @@ +ARCH?=arm64 + +ifeq ($(ARCH),) @@ -28324,7 +28133,6 @@ index 000000000000..d552e804c66c + +INCS := -I$(CUR_DIR) -I$(EXT_INCS) +KERNEL_SRC ?= $(KERNELDIR) -+ +#n=for normal mode,y=product mode +#n=not support WIFI_RF when boot up. y=support WIFI_RF when boot up +CONFIG_WIFI_RF_SUPPORT=y @@ -28405,6 +28213,10 @@ index 000000000000..d552e804c66c +EXTRA_CFLAGS += -DNOT_AMLOGIC_PLATFORM +endif + ++ifeq ($(CONFIG_LOW_MEMORY_PLATFORM),y) ++EXTRA_CFLAGS += -DLOW_MEMORY_PLATFORM ++endif ++ +ifeq ($(CONFIG_PT_SUPPORT),y) +$(warning Building PT image) +EXTRA_CFLAGS += -DDRV_PT_SUPPORT @@ -28463,7 +28275,6 @@ index 000000000000..d552e804c66c +else + +modules: -+ echo "W1SS1: make modules, PROJECT = $(PROJ_NAME)" + -rm ./print_version.c + perl ./create_version_file.pl + @echo "UNO_GXL_SUB_P200=$(UNO_GXL_SUB_P200)" @@ -28482,7 +28293,6 @@ index 000000000000..d552e804c66c +endif + +modules_install: -+ echo "W1SS1: make modules_install, PROJECT = $(PROJ_NAME)" + @$(MAKE) INSTALL_MOD_STRIP=1 M=$(M) -C $(KERNEL_SRC) modules_install + mkdir -p ${OUT_DIR}/../vendor_lib/modules + cd ${OUT_DIR}/$(M)/; find -name "*.ko" -exec cp {} ${OUT_DIR}/../vendor_lib/modules/ \; @@ -28503,10 +28313,10 @@ index 000000000000..d552e804c66c +endif diff --git a/drivers/net/wireless/w1/vmac/aml_static_buf.c b/drivers/net/wireless/w1/vmac/aml_static_buf.c new file mode 100644 -index 000000000000..fa50cf934ece +index 0000000000000000000000000000000000000000..863a79a71cd6523c5ebf970b22f3fa9de9ede33e --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_static_buf.c -@@ -0,0 +1,80 @@ +@@ -0,0 +1,69 @@ +/* + * drivers/amlogic/wifi/aml_static_buf.c + * @@ -28541,11 +28351,8 @@ index 000000000000..fa50cf934ece +#include +#endif + -+#ifdef NOT_AMLOGIC_PLATFORM +extern void *aml_mem_prealloc(int section, unsigned long size); -+#else -+extern void *bcmdhd_mem_prealloc(int section, unsigned long size); -+#endif ++ +enum aml_prealloc_index { + AML_RX_FIFO = 0, + AML_TX_DESC_BUF = 1 @@ -28565,11 +28372,7 @@ index 000000000000..fa50cf934ece + return NULL; + } + -+#ifdef NOT_AMLOGIC_PLATFORM + return aml_mem_prealloc(AML_RX, size); -+#else -+ return bcmdhd_mem_prealloc(AML_RX, size); -+#endif + } + if (section == AML_TX_DESC_BUF) { + if (size > AML_TX_DESC_BUF_SIZE) { @@ -28578,30 +28381,26 @@ index 000000000000..fa50cf934ece + return NULL; + } + -+#ifdef NOT_AMLOGIC_PLATFORM + return aml_mem_prealloc(AML_TX, size);; -+#else -+ return bcmdhd_mem_prealloc(AML_TX, size);; -+#endif + } + return NULL; +} + diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_drv_cfg_0.conf b/drivers/net/wireless/w1/vmac/aml_wifi_drv_cfg_0.conf new file mode 100644 -index 000000000000..09c4f41b34bf +index 0000000000000000000000000000000000000000..7a1cd22e76c4e4516422b7e08180270b0828adab --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_drv_cfg_0.conf @@ -0,0 +1,5 @@ -+#drv config band -+#2.4G band should set 2 -+#5G band should set 5 -+#both should set 6 ++#drv config band ++#2.4G band should set 2 ++#5G band should set 5 ++#both should set 6 +cfg_band=6 \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf.txt new file mode 100644 -index 000000000000..828f32e11c71 +index 0000000000000000000000000000000000000000..828f32e11c71237ecf4fe6467868a2f4b4b8ee9f --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf.txt @@ -0,0 +1,42 @@ @@ -28650,7 +28449,7 @@ index 000000000000..828f32e11c71 \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0125.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0125.txt new file mode 100644 -index 000000000000..8289daff448f +index 0000000000000000000000000000000000000000..8289daff448f96a15cd486c2c101aa4acb4072fe --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0125.txt @@ -0,0 +1,35 @@ @@ -28692,133 +28491,133 @@ index 000000000000..8289daff448f \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0133.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0133.txt new file mode 100644 -index 000000000000..3aaa53eb1de4 +index 0000000000000000000000000000000000000000..b53763887ded7d17e8e5729917d7f791e4fd501d --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0133.txt @@ -0,0 +1,35 @@ -+#config version info -+version=1 -+ -+#cali config -+cali_config=0x0 -+ -+#frequency offset -+freq_offset=0 -+htemp_freq_offset=4 -+ -+#p212 tssi offset cfg -+tssi_2g_offset=0xfc -+tssi_5g_offset_5200=0xf8 -+tssi_5g_offset_5400=0x0a -+tssi_5g_offset_5600=0xfc -+tssi_5g_offset_5800=0x18 -+ -+#wf2g spur remove enable cfg -+wf2g_spur_rmen=0 -+spur_freq=24478 -+ -+#rf count -+rf_count=2 -+ -+#wifi 2g/5g tx power table -+wftx_pwrtbl_en=1 -+ -+##0:11b(1,2) 1: 11b(5.5,11) 2:11a/g(6~12) 3:11a/g(18~36) 4:11a/g(48) 5:11a/g(54) -+##6:11n(MCS0~2) 7:11n(MCS3~5) 8:11n(MCS6) 9:11n(MCS7) 10:11ac(MCS0~2) -+##11:11n(MCS3~5) 12:11n(MCS6) 13:11n(MCS7) 14:11ac(MCS8) 15:11ac(MCS9) -+wf2g_20M_pwr_tbl=0xa0,0xa0,0x99,0x86,0x72,0x72,0x9d,0x88,0x6e,0x6e,0x84,0x7C,0x6C,0x6C,0x63,0x58 -+wf2g_40M_pwr_tbl=0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0x84,0x78,0x64,0x64,0x7C,0x75,0x6C,0x66,0x5D,0x58 -+wf5g_20M_pwr_tbl=0xBA,0xBA,0x78,0x6a,0x51,0x51,0x7e,0x62,0x52,0x44,0x7e,0x72,0x5C,0x5C,0x53,0x58 -+wf5g_40M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x76,0x68,0x52,0x52,0x7a,0x70,0x6C,0x66,0x5D,0x48 -+wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x6F,0x6a,0x60,0x60,0x5a,0x3c ++#config version info ++version=1 ++ ++#cali config ++cali_config=0x0 ++ ++#frequency offset ++freq_offset=0 ++htemp_freq_offset=4 ++ ++#p212 tssi offset cfg ++tssi_2g_offset=0xfc ++tssi_5g_offset_5200=0xf8 ++tssi_5g_offset_5400=0x0a ++tssi_5g_offset_5600=0xfc ++tssi_5g_offset_5800=0x18 ++ ++#wf2g spur remove enable cfg ++wf2g_spur_rmen=0 ++spur_freq=24478 ++ ++#rf count ++rf_count=2 ++ ++#wifi 2g/5g tx power table ++wftx_pwrtbl_en=1 ++ ++##0:11b(1,2) 1: 11b(5.5,11) 2:11a/g(6~12) 3:11a/g(18~36) 4:11a/g(48) 5:11a/g(54) ++##6:11n(MCS0~2) 7:11n(MCS3~5) 8:11n(MCS6) 9:11n(MCS7) 10:11ac(MCS0~2) ++##11:11n(MCS3~5) 12:11n(MCS6) 13:11n(MCS7) 14:11ac(MCS8) 15:11ac(MCS9) ++wf2g_20M_pwr_tbl=0xa0,0xa0,0x99,0x86,0x72,0x72,0x9d,0x88,0x6e,0x6e,0x84,0x7C,0x6C,0x6C,0x63,0x58 ++wf2g_40M_pwr_tbl=0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0x84,0x78,0x64,0x64,0x7C,0x75,0x6C,0x66,0x5D,0x58 ++wf5g_20M_pwr_tbl=0xBA,0xBA,0x78,0x6a,0x51,0x51,0x7e,0x62,0x52,0x44,0x7e,0x72,0x5C,0x5C,0x53,0x58 ++wf5g_40M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x76,0x68,0x52,0x52,0x7a,0x70,0x6C,0x66,0x5D,0x48 ++wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x6F,0x6a,0x60,0x60,0x5a,0x3c diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0211.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0211.txt new file mode 100644 -index 000000000000..cb50b7b8118f +index 0000000000000000000000000000000000000000..ce6badb658eb74a72919ac350f016cc01c51d0e2 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0211.txt @@ -0,0 +1,36 @@ -+#config version info -W511 -+version=1 -+ -+#cali config -+cali_config=0x0 -+ -+#frequency offset -+freq_offset=0 -+htemp_freq_offset=4 -+ -+#p212 tssi offset cfg -+tssi_2g_offset=0xef -+tssi_5g_offset_5200=0xec -+tssi_5g_offset_5400=0xf2 -+tssi_5g_offset_5600=0xf8 -+tssi_5g_offset_5800=0x02 -+ -+#wf2g spur remove enable cfg -+wf2g_spur_rmen=0 -+spur_freq=24478 -+ -+#rf count -+rf_count=1 -+ -+#wifi 2g/5g tx power table -+wftx_pwrtbl_en=1 -+ -+##0:11b(1,2) 1: 11b(5.5,11) 2:11a/g(6~12) 3:11a/g(18~36) 4:11a/g(48) 5:11a/g(54) -+##6:11n(MCS0~2) 7:11n(MCS3~5) 8:11n(MCS6) 9:11n(MCS7) 10:11ac(MCS0~2) -+##11:11n(MCS3~5) 12:11n(MCS6) 13:11n(MCS7) 14:11ac(MCS8) 15:11ac(MCS9) -+wf2g_20M_pwr_tbl=0xBA,0xBA,0xaB,0xaB,0xa5,0xa5,0xb0,0xa5,0x91,0x91,0x84,0x7C,0x6C,0x6C,0x63,0x58 -+wf2g_40M_pwr_tbl=0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0xA6,0xA1,0x94,0x94,0x7C,0x75,0x6C,0x66,0x5D,0x58 -+wf5g_20M_pwr_tbl=0xBA,0xBA,0x78,0x78,0x65,0x65,0x84,0x7c,0x6c,0x6c,0x74,0x6C,0x5C,0x5C,0x53,0x58 -+wf5g_40M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x6C,0x65,0x5C,0x5C,0x6C,0x65,0x5C,0x56,0x4D,0x48 -+wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x7F,0x7F,0x60,0x60,0x50,0x4f -+ ++#config version info -W511 ++version=1 ++ ++#cali config ++cali_config=0x0 ++ ++#frequency offset ++freq_offset=0 ++htemp_freq_offset=4 ++ ++#p212 tssi offset cfg ++tssi_2g_offset=0xef ++tssi_5g_offset_5200=0xec ++tssi_5g_offset_5400=0xf2 ++tssi_5g_offset_5600=0xf8 ++tssi_5g_offset_5800=0x02 ++ ++#wf2g spur remove enable cfg ++wf2g_spur_rmen=0 ++spur_freq=24478 ++ ++#rf count ++rf_count=1 ++ ++#wifi 2g/5g tx power table ++wftx_pwrtbl_en=1 ++ ++##0:11b(1,2) 1: 11b(5.5,11) 2:11a/g(6~12) 3:11a/g(18~36) 4:11a/g(48) 5:11a/g(54) ++##6:11n(MCS0~2) 7:11n(MCS3~5) 8:11n(MCS6) 9:11n(MCS7) 10:11ac(MCS0~2) ++##11:11n(MCS3~5) 12:11n(MCS6) 13:11n(MCS7) 14:11ac(MCS8) 15:11ac(MCS9) ++wf2g_20M_pwr_tbl=0xBA,0xBA,0xaB,0xaB,0xa5,0xa5,0xb0,0xa5,0x91,0x91,0x84,0x7C,0x6C,0x6C,0x63,0x58 ++wf2g_40M_pwr_tbl=0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0xA6,0xA1,0x94,0x94,0x7C,0x75,0x6C,0x66,0x5D,0x58 ++wf5g_20M_pwr_tbl=0xBA,0xBA,0x78,0x78,0x65,0x65,0x84,0x7c,0x6c,0x6c,0x74,0x6C,0x5C,0x5C,0x53,0x58 ++wf5g_40M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x6C,0x65,0x5C,0x5C,0x6C,0x65,0x5C,0x56,0x4D,0x48 ++wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x7F,0x7F,0x60,0x60,0x50,0x4f ++ diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0231.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0231.txt new file mode 100644 -index 000000000000..619bdf8e6615 +index 0000000000000000000000000000000000000000..7766ab0bc8bfae2f4486c6f4165c3a876fdeca57 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0231.txt @@ -0,0 +1,37 @@ -+#config version info -W522A -+version=1 -+ -+#cali config -+cali_config=0x0 -+ -+#frequency offset -+freq_offset=0x05 -+htemp_freq_offset=4 -+ -+#p212 tssi offset cfg -+tssi_2g_offset=0xef -+tssi_5g_offset_5200=0xec -+tssi_5g_offset_5400=0xf2 -+tssi_5g_offset_5600=0xf8 -+tssi_5g_offset_5800=0x04 -+ -+#wf2g spur remove enable cfg -+wf2g_spur_rmen=0 -+spur_freq=24478 -+ -+#rf count -+rf_count=2 -+ -+#wifi 2g/5g tx power table -+wftx_pwrtbl_en=1 -+ -+##0:11b(1,2) 1: 11b(5.5,11) 2:11a/g(6~12) 3:11a/g(18~36) 4:11a/g(48) 5:11a/g(54) -+##6:11n(MCS0~2) 7:11n(MCS3~5) 8:11n(MCS6) 9:11n(MCS7) 10:11ac(MCS0~2) -+##11:11n(MCS3~5) 12:11n(MCS6) 13:11n(MCS7) 14:11ac(MCS8) 15:11ac(MCS9) -+wf2g_20M_pwr_tbl=0xBA,0xBA,0xaB,0xaB,0xa5,0xa5,0xb0,0xa5,0x91,0x91,0x84,0x7C,0x6C,0x6C,0x63,0x58 -+wf2g_40M_pwr_tbl=0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0xA6,0xA1,0x94,0x94,0x7C,0x75,0x6C,0x66,0x5D,0x58 -+wf5g_20M_pwr_tbl=0xBA,0xBA,0x78,0x78,0x65,0x65,0x84,0x7c,0x6c,0x6c,0x7d,0x75,0x6C,0x6C,0x5d,0x58 -+wf5g_40M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x6C,0x65,0x5C,0x5C,0x74,0x75,0x6C,0x66,0x5D,0x50 -+wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x7F,0x7F,0x60,0x60,0x50,0x4f -+ -+ ++#config version info -W522A ++version=1 ++ ++#cali config ++cali_config=0x0 ++ ++#frequency offset ++freq_offset=0x05 ++htemp_freq_offset=4 ++ ++#p212 tssi offset cfg ++tssi_2g_offset=0xef ++tssi_5g_offset_5200=0xec ++tssi_5g_offset_5400=0xf2 ++tssi_5g_offset_5600=0xf8 ++tssi_5g_offset_5800=0x04 ++ ++#wf2g spur remove enable cfg ++wf2g_spur_rmen=0 ++spur_freq=24478 ++ ++#rf count ++rf_count=2 ++ ++#wifi 2g/5g tx power table ++wftx_pwrtbl_en=1 ++ ++##0:11b(1,2) 1: 11b(5.5,11) 2:11a/g(6~12) 3:11a/g(18~36) 4:11a/g(48) 5:11a/g(54) ++##6:11n(MCS0~2) 7:11n(MCS3~5) 8:11n(MCS6) 9:11n(MCS7) 10:11ac(MCS0~2) ++##11:11n(MCS3~5) 12:11n(MCS6) 13:11n(MCS7) 14:11ac(MCS8) 15:11ac(MCS9) ++wf2g_20M_pwr_tbl=0xBA,0xBA,0xaB,0xaB,0xa5,0xa5,0xb0,0xa5,0x91,0x91,0x84,0x7C,0x6C,0x6C,0x63,0x58 ++wf2g_40M_pwr_tbl=0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0xA6,0xA1,0x94,0x94,0x7C,0x75,0x6C,0x66,0x5D,0x58 ++wf5g_20M_pwr_tbl=0xBA,0xBA,0x78,0x78,0x65,0x65,0x84,0x7c,0x6c,0x6c,0x7d,0x75,0x6C,0x6C,0x5d,0x58 ++wf5g_40M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x6C,0x65,0x5C,0x5C,0x74,0x75,0x6C,0x66,0x5D,0x50 ++wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x7F,0x7F,0x60,0x60,0x50,0x4f ++ ++ diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0321.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0321.txt new file mode 100644 -index 000000000000..95bf1ea35223 +index 0000000000000000000000000000000000000000..95bf1ea352233363407bd2d505ee5ec8fc7afbe9 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0321.txt @@ -0,0 +1,35 @@ @@ -28860,7 +28659,7 @@ index 000000000000..95bf1ea35223 \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0331.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0331.txt new file mode 100644 -index 000000000000..95bf1ea35223 +index 0000000000000000000000000000000000000000..95bf1ea352233363407bd2d505ee5ec8fc7afbe9 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0331.txt @@ -0,0 +1,35 @@ @@ -28902,7 +28701,7 @@ index 000000000000..95bf1ea35223 \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0333.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0333.txt new file mode 100644 -index 000000000000..95bf1ea35223 +index 0000000000000000000000000000000000000000..95bf1ea352233363407bd2d505ee5ec8fc7afbe9 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0333.txt @@ -0,0 +1,35 @@ @@ -28944,49 +28743,49 @@ index 000000000000..95bf1ea35223 \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0531.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0531.txt new file mode 100644 -index 000000000000..13bfbf8a2350 +index 0000000000000000000000000000000000000000..06fe1123d830860622bb8b12ef95e01d6c320bf6 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0531.txt @@ -0,0 +1,35 @@ -+#config version info -+version=1 -+ -+#cali config -+cali_config=0x0 -+ -+#frequency offset -+freq_offset=4 -+htemp_freq_offset=1 -+ -+#p212 tssi offset cfg -+tssi_2g_offset=0xf1 -+tssi_5g_offset_5200=0xf0 -+tssi_5g_offset_5400=0xf0 -+tssi_5g_offset_5600=0xf8 -+tssi_5g_offset_5800=0x01 -+ -+#wf2g spur remove enable cfg -+wf2g_spur_rmen=0 -+spur_freq=24478 -+ -+#rf count -+rf_count=2 -+ -+#wifi 2g/5g tx power table -+wftx_pwrtbl_en=1 -+ -+##0:11b(1,2) 1: 11b(5.5,11) 2:11a/g(6~12) 3:11a/g(18~36) 4:11a/g(48) 5:11a/g(54) -+##6:11n(MCS0~2) 7:11n(MCS3~5) 8:11n(MCS6) 9:11n(MCS7) 10:11ac(MCS0~2) -+##11:11n(MCS3~5) 12:11n(MCS6) 13:11n(MCS7) 14:11ac(MCS8) 15:11ac(MCS9) -+wf2g_20M_pwr_tbl=0xC4,0xC4,0xBB,0xA0,0x94,0x94,0xB0,0x8D,0x87,0x87,0x84,0x7C,0x6C,0x6C,0x63,0x58 -+wf2g_40M_pwr_tbl=0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0xAA,0x8A,0x84,0x84,0x74,0x75,0x6C,0x66,0x5D,0x58 -+wf5g_20M_pwr_tbl=0xBA,0xBA,0x7D,0x6C,0x68,0x6A,0x7A,0x60,0x59,0x65,0x7A,0x62,0x5F,0x5D,0x5A,0x62 -+wf5g_40M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x78,0x58,0x58,0x61,0x54,0x44,0x43,0x43,0x42,0x4A ++#config version info ++version=1 ++ ++#cali config ++cali_config=0x0 ++ ++#frequency offset ++freq_offset=4 ++htemp_freq_offset=1 ++ ++#p212 tssi offset cfg ++tssi_2g_offset=0xf1 ++tssi_5g_offset_5200=0xf0 ++tssi_5g_offset_5400=0xf0 ++tssi_5g_offset_5600=0xf8 ++tssi_5g_offset_5800=0x01 ++ ++#wf2g spur remove enable cfg ++wf2g_spur_rmen=0 ++spur_freq=24478 ++ ++#rf count ++rf_count=2 ++ ++#wifi 2g/5g tx power table ++wftx_pwrtbl_en=1 ++ ++##0:11b(1,2) 1: 11b(5.5,11) 2:11a/g(6~12) 3:11a/g(18~36) 4:11a/g(48) 5:11a/g(54) ++##6:11n(MCS0~2) 7:11n(MCS3~5) 8:11n(MCS6) 9:11n(MCS7) 10:11ac(MCS0~2) ++##11:11n(MCS3~5) 12:11n(MCS6) 13:11n(MCS7) 14:11ac(MCS8) 15:11ac(MCS9) ++wf2g_20M_pwr_tbl=0xC4,0xC4,0xBB,0xA0,0x94,0x94,0xB0,0x8D,0x87,0x87,0x84,0x7C,0x6C,0x6C,0x63,0x58 ++wf2g_40M_pwr_tbl=0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0xAA,0x8A,0x84,0x84,0x74,0x75,0x6C,0x66,0x5D,0x58 ++wf5g_20M_pwr_tbl=0xBA,0xBA,0x7D,0x6C,0x68,0x6A,0x7A,0x60,0x59,0x65,0x7A,0x62,0x5F,0x5D,0x5A,0x62 ++wf5g_40M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x78,0x58,0x58,0x61,0x54,0x44,0x43,0x43,0x42,0x4A +wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x63,0x4D,0x4A,0x4A,0x4E,0x4E \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0631.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0631.txt new file mode 100644 -index 000000000000..5ce34d3ea668 +index 0000000000000000000000000000000000000000..5ce34d3ea6685b45b7390f13bf53226c0227fdb9 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0631.txt @@ -0,0 +1,35 @@ @@ -29027,7 +28826,7 @@ index 000000000000..5ce34d3ea668 +wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x7F,0x6F,0x60,0x60,0x60,0x46 diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0632.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0632.txt new file mode 100644 -index 000000000000..5ce34d3ea668 +index 0000000000000000000000000000000000000000..5ce34d3ea6685b45b7390f13bf53226c0227fdb9 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0632.txt @@ -0,0 +1,35 @@ @@ -29068,7 +28867,7 @@ index 000000000000..5ce34d3ea668 +wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x7F,0x6F,0x60,0x60,0x60,0x46 diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0633.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0633.txt new file mode 100644 -index 000000000000..983a5c22c966 +index 0000000000000000000000000000000000000000..983a5c22c966eea38abce1c086d45b710a2ff461 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0633.txt @@ -0,0 +1,35 @@ @@ -29109,7 +28908,7 @@ index 000000000000..983a5c22c966 +wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x8F,0x7F,0x70,0x68,0x60,0x56 diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0731.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0731.txt new file mode 100644 -index 000000000000..f88b100ba66f +index 0000000000000000000000000000000000000000..f88b100ba66f11ba2939b84ee954edf26a653148 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0731.txt @@ -0,0 +1,35 @@ @@ -29151,7 +28950,7 @@ index 000000000000..f88b100ba66f \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0a11.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0a11.txt new file mode 100644 -index 000000000000..610b6086bdb0 +index 0000000000000000000000000000000000000000..610b6086bdb0ff2bd4e7bb2f4ef91ea4a112808c --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0a11.txt @@ -0,0 +1,35 @@ @@ -29192,7 +28991,7 @@ index 000000000000..610b6086bdb0 +wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x6F,0x6F,0x60,0x60,0x60,0x58 diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_0a31.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0a31.txt new file mode 100644 -index 000000000000..5a34b11af886 +index 0000000000000000000000000000000000000000..5a34b11af8862effd237102661b9de9abc0dd378 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_0a31.txt @@ -0,0 +1,35 @@ @@ -29233,7 +29032,7 @@ index 000000000000..5a34b11af886 +wf5g_80M_pwr_tbl=0xBA,0xBA,0x84,0x84,0x75,0x75,0x7C,0x75,0x6C,0x6C,0x6F,0x6F,0x60,0x60,0x60,0x58 diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_ampak.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_ampak.txt new file mode 100644 -index 000000000000..13aae771acc4 +index 0000000000000000000000000000000000000000..13aae771acc485a2dc08c541eb9ab2b8d7ec5c05 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_ampak.txt @@ -0,0 +1,38 @@ @@ -29278,7 +29077,7 @@ index 000000000000..13aae771acc4 \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_fn_link.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_fn_link.txt new file mode 100644 -index 000000000000..13aae771acc4 +index 0000000000000000000000000000000000000000..13aae771acc485a2dc08c541eb9ab2b8d7ec5c05 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_fn_link.txt @@ -0,0 +1,38 @@ @@ -29323,7 +29122,7 @@ index 000000000000..13aae771acc4 \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/aml_wifi_rf_iton.txt b/drivers/net/wireless/w1/vmac/aml_wifi_rf_iton.txt new file mode 100644 -index 000000000000..13aae771acc4 +index 0000000000000000000000000000000000000000..13aae771acc485a2dc08c541eb9ab2b8d7ec5c05 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/aml_wifi_rf_iton.txt @@ -0,0 +1,38 @@ @@ -29368,7 +29167,7 @@ index 000000000000..13aae771acc4 \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/create_version_file.pl b/drivers/net/wireless/w1/vmac/create_version_file.pl new file mode 100644 -index 000000000000..82713635503e +index 0000000000000000000000000000000000000000..1c1719ac1a044cac89241260aa62f9008680984f --- /dev/null +++ b/drivers/net/wireless/w1/vmac/create_version_file.pl @@ -0,0 +1,45 @@ @@ -29412,14 +29211,14 @@ index 000000000000..82713635503e + +print OUTPUT "#include \"wifi_hal_com.h\"\n\n"; +print OUTPUT "void print_driver_version(void) {\n"; -+print OUTPUT " printk(\"driver compile date: $date,driver hash: $drv_hash\\n\");\n"; -+print OUTPUT " printk(\"fw compile date: $fw_date,fw hash: $fw_hash,fw size: $fw_size\\n\");\n"; ++print OUTPUT " pr_info(\"driver compile date: $date,driver hash: $drv_hash\\n\");\n"; ++print OUTPUT " pr_info(\"fw compile date: $fw_date,fw hash: $fw_hash,fw size: $fw_size\\n\");\n"; +print OUTPUT "}\n"; + +close OUTPUT; diff --git a/drivers/net/wireless/w1/vmac/crypto/aes-ccm.c b/drivers/net/wireless/w1/vmac/crypto/aes-ccm.c new file mode 100644 -index 000000000000..ffc64471790a +index 0000000000000000000000000000000000000000..ffc64471790ac3dac6413136e770eecb4b03b543 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes-ccm.c @@ -0,0 +1,211 @@ @@ -29636,10 +29435,10 @@ index 000000000000..ffc64471790a +} diff --git a/drivers/net/wireless/w1/vmac/crypto/aes-ctr.c b/drivers/net/wireless/w1/vmac/crypto/aes-ctr.c new file mode 100644 -index 000000000000..7fa08b59c951 +index 0000000000000000000000000000000000000000..c8554b9745ea5a41793ca5eb5f441c1c073d8bf2 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes-ctr.c -@@ -0,0 +1,70 @@ +@@ -0,0 +1,72 @@ +/* + * AES-128/192/256 CTR + * @@ -29667,7 +29466,7 @@ index 000000000000..7fa08b59c951 + u8 *data, size_t data_len) +{ + void *ctx; -+ size_t j, len, left = data_len; ++ size_t j, left = data_len; + int i; + u8 *pos = data; + u8 counter[AES_BLOCK_SIZE], buf[AES_BLOCK_SIZE]; @@ -29678,6 +29477,8 @@ index 000000000000..7fa08b59c951 + os_memcpy(counter, nonce, AES_BLOCK_SIZE); + + while (left > 0) { ++ size_t len; ++ + aes_encrypt(ctx, counter, buf); + + len = (left < AES_BLOCK_SIZE) ? left : AES_BLOCK_SIZE; @@ -29712,7 +29513,7 @@ index 000000000000..7fa08b59c951 +} diff --git a/drivers/net/wireless/w1/vmac/crypto/aes-gcm.c b/drivers/net/wireless/w1/vmac/crypto/aes-gcm.c new file mode 100644 -index 000000000000..b8fedc13dbce +index 0000000000000000000000000000000000000000..b8fedc13dbce95bd8189a95997dbc54be792f0fc --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes-gcm.c @@ -0,0 +1,326 @@ @@ -30044,7 +29845,7 @@ index 000000000000..b8fedc13dbce +} diff --git a/drivers/net/wireless/w1/vmac/crypto/aes-internal-enc.c b/drivers/net/wireless/w1/vmac/crypto/aes-internal-enc.c new file mode 100644 -index 000000000000..dfbacd552efa +index 0000000000000000000000000000000000000000..dfbacd552efa4ec55deb9465909ff7cf69ff2709 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes-internal-enc.c @@ -0,0 +1,129 @@ @@ -30179,7 +29980,7 @@ index 000000000000..dfbacd552efa +} diff --git a/drivers/net/wireless/w1/vmac/crypto/aes-internal.c b/drivers/net/wireless/w1/vmac/crypto/aes-internal.c new file mode 100644 -index 000000000000..508342793165 +index 0000000000000000000000000000000000000000..50834279316566b1532793e811e5f6783824d468 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes-internal.c @@ -0,0 +1,843 @@ @@ -31028,7 +30829,7 @@ index 000000000000..508342793165 +} diff --git a/drivers/net/wireless/w1/vmac/crypto/aes-omac1.c b/drivers/net/wireless/w1/vmac/crypto/aes-omac1.c new file mode 100644 -index 000000000000..61428c6af6c3 +index 0000000000000000000000000000000000000000..61428c6af6c309c318f6d4b4ddb4913ed8f77e8f --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes-omac1.c @@ -0,0 +1,172 @@ @@ -31206,7 +31007,7 @@ index 000000000000..61428c6af6c3 +} diff --git a/drivers/net/wireless/w1/vmac/crypto/aes-siv.c b/drivers/net/wireless/w1/vmac/crypto/aes-siv.c new file mode 100644 -index 000000000000..27b8b0ffef2a +index 0000000000000000000000000000000000000000..27b8b0ffef2ae4efe6feb222113e629be7d290bc --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes-siv.c @@ -0,0 +1,207 @@ @@ -31419,7 +31220,7 @@ index 000000000000..27b8b0ffef2a +} diff --git a/drivers/net/wireless/w1/vmac/crypto/aes.h b/drivers/net/wireless/w1/vmac/crypto/aes.h new file mode 100644 -index 000000000000..8ab3de2ee83f +index 0000000000000000000000000000000000000000..8ab3de2ee83f390c0abc1cb3805f9352b03fb7e7 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes.h @@ -0,0 +1,21 @@ @@ -31446,7 +31247,7 @@ index 000000000000..8ab3de2ee83f +#endif /* AES_H */ diff --git a/drivers/net/wireless/w1/vmac/crypto/aes_i.h b/drivers/net/wireless/w1/vmac/crypto/aes_i.h new file mode 100644 -index 000000000000..54375cf35583 +index 0000000000000000000000000000000000000000..54375cf355837051c17f792828b1d7ba3f148418 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes_i.h @@ -0,0 +1,125 @@ @@ -31577,7 +31378,7 @@ index 000000000000..54375cf35583 +#endif /* AES_I_H */ diff --git a/drivers/net/wireless/w1/vmac/crypto/aes_siv.h b/drivers/net/wireless/w1/vmac/crypto/aes_siv.h new file mode 100644 -index 000000000000..fb05d80c1f12 +index 0000000000000000000000000000000000000000..fb05d80c1f12f68be46dd4125ec46f463a52d13b --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes_siv.h @@ -0,0 +1,21 @@ @@ -31604,7 +31405,7 @@ index 000000000000..fb05d80c1f12 +#endif /* AES_SIV_H */ diff --git a/drivers/net/wireless/w1/vmac/crypto/aes_wrap.h b/drivers/net/wireless/w1/vmac/crypto/aes_wrap.h new file mode 100644 -index 000000000000..5bad6adcfa90 +index 0000000000000000000000000000000000000000..5bad6adcfa9078860dd6a7e091ae2c0984c3f97e --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aes_wrap.h @@ -0,0 +1,75 @@ @@ -31685,7 +31486,7 @@ index 000000000000..5bad6adcfa90 +#endif /* AES_WRAP_H */ diff --git a/drivers/net/wireless/w1/vmac/crypto/aml_crypto_wrap.c b/drivers/net/wireless/w1/vmac/crypto/aml_crypto_wrap.c new file mode 100644 -index 000000000000..33ba13ade187 +index 0000000000000000000000000000000000000000..4824d9357be470fdd35ac0ac9d95e717c540c022 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aml_crypto_wrap.c @@ -0,0 +1,67 @@ @@ -31745,7 +31546,7 @@ index 000000000000..33ba13ade187 + err = vsnprintf(buf, MSG_LEN, fmt, args); + va_end(args); + -+ printk("%s", buf); ++ pr_info("%s", buf); +#undef MSG_LEN +} + @@ -31758,7 +31559,7 @@ index 000000000000..33ba13ade187 +} diff --git a/drivers/net/wireless/w1/vmac/crypto/aml_crypto_wrap.h b/drivers/net/wireless/w1/vmac/crypto/aml_crypto_wrap.h new file mode 100644 -index 000000000000..353b6d10adf2 +index 0000000000000000000000000000000000000000..353b6d10adf21813b15ce631496dc8a339c15d90 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/aml_crypto_wrap.h @@ -0,0 +1,117 @@ @@ -31881,7 +31682,7 @@ index 000000000000..353b6d10adf2 +#endif//_AML_CRYTO_WRAP_H_ diff --git a/drivers/net/wireless/w1/vmac/crypto/ccmp.c b/drivers/net/wireless/w1/vmac/crypto/ccmp.c new file mode 100644 -index 000000000000..5e17ba138eed +index 0000000000000000000000000000000000000000..35a900bb57d077d1090e0c118f2bf21a2373fbd6 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/ccmp.c @@ -0,0 +1,383 @@ @@ -32061,7 +31862,7 @@ index 000000000000..5e17ba138eed +} + + -+void ccmp_get_pn(u8 *pn, const u8 *data) ++static void ccmp_get_pn(u8 *pn, const u8 *data) +{ + pn[0] = data[7]; /* PN5 */ + pn[1] = data[6]; /* PN4 */ @@ -32270,7 +32071,7 @@ index 000000000000..5e17ba138eed +} diff --git a/drivers/net/wireless/w1/vmac/crypto/sha256-internal.c b/drivers/net/wireless/w1/vmac/crypto/sha256-internal.c new file mode 100644 -index 000000000000..6a89c4d15db7 +index 0000000000000000000000000000000000000000..6a89c4d15db71ba34a537e4934dda8127cd11c48 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/sha256-internal.c @@ -0,0 +1,230 @@ @@ -32506,7 +32307,7 @@ index 000000000000..6a89c4d15db7 +/* ===== end - public domain SHA256 implementation ===== */ diff --git a/drivers/net/wireless/w1/vmac/crypto/sha256-prf.c b/drivers/net/wireless/w1/vmac/crypto/sha256-prf.c new file mode 100644 -index 000000000000..14988cb18634 +index 0000000000000000000000000000000000000000..14988cb18634f7d2bed76dbe4e667fe3f9ade082 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/sha256-prf.c @@ -0,0 +1,109 @@ @@ -32621,7 +32422,7 @@ index 000000000000..14988cb18634 +} diff --git a/drivers/net/wireless/w1/vmac/crypto/sha256.c b/drivers/net/wireless/w1/vmac/crypto/sha256.c new file mode 100644 -index 000000000000..ea72732840c2 +index 0000000000000000000000000000000000000000..ea72732840c266222dd14d1a6b96be145829c526 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/sha256.c @@ -0,0 +1,104 @@ @@ -32731,7 +32532,7 @@ index 000000000000..ea72732840c2 +} diff --git a/drivers/net/wireless/w1/vmac/crypto/sha256.h b/drivers/net/wireless/w1/vmac/crypto/sha256.h new file mode 100644 -index 000000000000..5219022edd7d +index 0000000000000000000000000000000000000000..5219022edd7d636f4ff6d5abb603585bc6177a2a --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/sha256.h @@ -0,0 +1,30 @@ @@ -32767,7 +32568,7 @@ index 000000000000..5219022edd7d +#endif /* SHA256_H */ diff --git a/drivers/net/wireless/w1/vmac/crypto/sha256_i.h b/drivers/net/wireless/w1/vmac/crypto/sha256_i.h new file mode 100644 -index 000000000000..988aed1bcd4d +index 0000000000000000000000000000000000000000..988aed1bcd4db214ff904b0f6ed42cbd7e1e2b46 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/sha256_i.h @@ -0,0 +1,25 @@ @@ -32798,7 +32599,7 @@ index 000000000000..988aed1bcd4d +#endif /* SHA256_I_H */ diff --git a/drivers/net/wireless/w1/vmac/crypto/wlancrypto_wrap.h b/drivers/net/wireless/w1/vmac/crypto/wlancrypto_wrap.h new file mode 100644 -index 000000000000..c9e54e10d6ea +index 0000000000000000000000000000000000000000..c9e54e10d6ea155c3227dbd22873a16cb64935b5 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/crypto/wlancrypto_wrap.h @@ -0,0 +1,37 @@ @@ -32841,7 +32642,7 @@ index 000000000000..c9e54e10d6ea +#endif /* WLANCRYPTO_WRAP_H */ diff --git a/drivers/net/wireless/w1/vmac/dpd_memory_packet.h b/drivers/net/wireless/w1/vmac/dpd_memory_packet.h new file mode 100644 -index 000000000000..6b717ecd45e7 +index 0000000000000000000000000000000000000000..6b717ecd45e7cb5c2326f0a8ddb1a330571158b1 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/dpd_memory_packet.h @@ -0,0 +1,71 @@ @@ -32918,10 +32719,10 @@ index 000000000000..6b717ecd45e7 +#endif diff --git a/drivers/net/wireless/w1/vmac/opt_all.h b/drivers/net/wireless/w1/vmac/opt_all.h new file mode 100644 -index 000000000000..6784b8204ab1 +index 0000000000000000000000000000000000000000..6db59f5a76fd6c23fbc5dca2756b2f089afa4c45 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/opt_all.h -@@ -0,0 +1,268 @@ +@@ -0,0 +1,273 @@ +#ifndef _AML_OPT_ALL_H_ +#define _AML_OPT_ALL_H_ +#if defined (HAL_FPGA_VER) @@ -33012,6 +32813,8 @@ index 000000000000..6784b8204ab1 +#endif +/*End of HAL_FPGA_VER*/ + ++/* vendor remapped every pr_debug to pr_info here; keep the kernel's dynamic-debug pr_debug */ ++ +/*Start of HAL_SIM_VER*/ +#if defined (HAL_SIM_VER) + @@ -33020,8 +32823,12 @@ index 000000000000..6784b8204ab1 +#define BIT(n) (1UL<<(n)) +#define ALIGN(x,a) (((x)+(a)-1)&~((a)-1)) + -+ -+#define printk(...) do{if(FW_ID==1)io_printf("");else io_printf("");sv_time();io_printf(__VA_ARGS__);}while(0) ++#define pr_debug(...) do{if(FW_ID==1)io_printf("");else io_printf("");sv_time();io_printf(__VA_ARGS__);}while(0) ++#define pr_crit(...) pr_debug(__VA_ARGS__) ++#define pr_err(...) pr_debug(__VA_ARGS__) ++#define pr_warn(...) pr_debug(__VA_ARGS__) ++#define pr_info(...) pr_debug(__VA_ARGS__) ++#define pr_notice(...) pr_debug(__VA_ARGS__) +#define MODULE_LICENSE(a); +#define module_init(a); +#define module_exit(a); @@ -33117,7 +32924,6 @@ index 000000000000..6784b8204ab1 + +static void * OS_SKBBUF_FREE(struct sk_buff * skb) +{ -+ int i = 0; + skb->valid = 0; + return NULL; +} @@ -33192,7 +32998,7 @@ index 000000000000..6784b8204ab1 +#endif /*End of _AML_OPT_ALL_H_ */ diff --git a/drivers/net/wireless/w1/vmac/osdep.h b/drivers/net/wireless/w1/vmac/osdep.h new file mode 100644 -index 000000000000..f68a9e07e83c +index 0000000000000000000000000000000000000000..4075ccb3f24db9666ce9a967493cff371a408903 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/osdep.h @@ -0,0 +1,300 @@ @@ -33311,9 +33117,9 @@ index 000000000000..f68a9e07e83c + m_pn_buf[i].count++; + } + -+ printk("Zmalloc %p:%s\n", tmp, name); ++ pr_debug("Zmalloc %p:%s\n", tmp, name); + if (kmalloc_count >= 64) { -+ printk("amlogic WIFI:Array Overflow, please make sure array " ++ pr_err("amlogic WIFI:Array Overflow, please make sure array " + "length big enough in debug malloc process\n"); + } + return tmp; @@ -33333,7 +33139,7 @@ index 000000000000..f68a9e07e83c + f_pn_buf[i].count++; + } + -+ printk("kfree %p:%s\n", a, name); ++ pr_debug("kfree %p:%s\n", a, name); + if (kfree_count >= 64) { + ERROR_DEBUG_OUT("amlogic WIFI:Array Overflow, please make sure array " + "length big enough in debug malloc process\n"); @@ -33358,7 +33164,7 @@ index 000000000000..f68a9e07e83c +#endif + +#define NET_MALLOC(_size, _gfp, _str) ZMALLOC(ALIGN(_size + 1, 128), _str, _gfp) -+#define NET_FREE(_p, name) do { if ((_p) != NULL) FREE(_p, name); /* printk(" %s %d kfree %p \n",__func__,__LINE__,_p); */(_p) = NULL;} while(0) ++#define NET_FREE(_p, name) do { if ((_p) != NULL) FREE(_p, name); /* pr_debug(" %s %d kfree %p \n",__func__,__LINE__,_p); */(_p) = NULL;} while(0) + +#define CIRCLE_Add_One(_data,_total) do {\ + if((_data)== (_total)-1) \ @@ -33498,22 +33304,21 @@ index 000000000000..f68a9e07e83c +#endif diff --git a/drivers/net/wireless/w1/vmac/print_version.c b/drivers/net/wireless/w1/vmac/print_version.c new file mode 100644 -index 000000000000..cf26fe93550f +index 0000000000000000000000000000000000000000..ca5714e6144aaea2b76371979f8c493a63da5b5f --- /dev/null +++ b/drivers/net/wireless/w1/vmac/print_version.c -@@ -0,0 +1,6 @@ +@@ -0,0 +1,5 @@ +#include "wifi_hal_com.h" + +void print_driver_version(void) { -+ printk("driver compile date: 2021-12-24 18:32:09,driver hash: 33f8d79eac54ffddd3e2a4c92f50903e91b78580\n"); -+ printk("fw compile date: 2021-12-24 18:26:51,fw hash: ,fw size: 1071764\n"); ++ printk("driver version: v1.8.3.3_20260310-w1 driver:888ce88b817c15e731df70f+612585+643887+589776\n"); +} diff --git a/drivers/net/wireless/w1/vmac/rc80211_minstrel.c b/drivers/net/wireless/w1/vmac/rc80211_minstrel.c new file mode 100644 -index 000000000000..4a2a2f8fe34c +index 0000000000000000000000000000000000000000..b676e50ac5e95ddea1d0e285ccaa3a8080115aff --- /dev/null +++ b/drivers/net/wireless/w1/vmac/rc80211_minstrel.c -@@ -0,0 +1,870 @@ +@@ -0,0 +1,877 @@ +/* + * Copyright (C) 2008 Felix Fietkau + * @@ -33587,10 +33392,12 @@ index 000000000000..4a2a2f8fe34c +/* convert mac80211 rate index to local array index */ +static inline int rix_to_ndx(struct minstrel_sta_info *mi, int rix) +{ -+ int i = rix; ++ int i; ++ + for (i = rix; i >= 0; i--) + if (mi->r[i].rix == rix) + break; ++ + return i; +} + @@ -33617,10 +33424,11 @@ index 000000000000..4a2a2f8fe34c +static inline void minstrel_sort_best_tp_rates(struct minstrel_sta_info *mi, int i, u8 *tp_list) +{ + int j; -+ struct minstrel_rate_stats *tmp_mrs; + struct minstrel_rate_stats *cur_mrs = &mi->r[i].stats; + + for (j = MAX_THR_RATES; j > 0; --j) { ++ struct minstrel_rate_stats *tmp_mrs; ++ + tmp_mrs = &mi->r[tp_list[j - 1]].stats; + + mi->r[i].stats.tp_avg = minstrel_get_tp_avg(&mi->r[i], cur_mrs->prob_ewma); @@ -33677,13 +33485,14 @@ index 000000000000..4a2a2f8fe34c +} + +/* -+* Recalculate statistics and counters of a given rate -+*/ ++ * Recalculate statistics and counters of a given rate ++ */ +void minstrel_calc_rate_stats(struct minstrel_rate_stats *mrs) +{ -+ unsigned int cur_prob; + + if (unlikely(mrs->attempts > 0)) { ++ unsigned int cur_prob; ++ + cur_prob = MINSTREL_FRAC(mrs->success, mrs->attempts); + + if (unlikely(!mrs->att_hist)) { @@ -33706,7 +33515,7 @@ index 000000000000..4a2a2f8fe34c + mrs->attempts = 0; +} + -+unsigned int minstrel_legacy_rate_convert_to_ordinary(unsigned int rate) ++static unsigned int minstrel_legacy_rate_convert_to_ordinary(unsigned int rate) +{ + unsigned int ret = 0; + @@ -33864,12 +33673,14 @@ index 000000000000..4a2a2f8fe34c + struct minstrel_priv *mp = priv; + struct minstrel_sta_info *mi = priv_sta; + struct ieee80211_tx_rate *ar = info->status.rates; -+ int i, ndx; ++ int i; + int success; + + success = !!(info->flags & IEEE80211_TX_STAT_ACK); + + for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) { ++ int ndx; ++ + if (ar[i].idx < 0) + break; + @@ -33905,7 +33716,7 @@ index 000000000000..4a2a2f8fe34c + else if (info->control.use_cts_prot) + retry = MAX( 2, MIN(mr->retry_count_cts, retry)); + -+ //printk("%s retry_count_rtscts:%d, retry_count_cts:%d, retry:%d\n", ++ //pr_debug("%s retry_count_rtscts:%d, retry_count_cts:%d, retry:%d\n", + //__func__, mr->stats.retry_count_rtscts, mr->retry_count_cts, retry); + return retry; +} @@ -34087,7 +33898,6 @@ index 000000000000..4a2a2f8fe34c + struct minstrel_rate *mr = &mi->r[n]; + struct minstrel_rate_stats *mrs = &mi->r[n].stats; + unsigned int tx_time = 0, tx_time_cts = 0, tx_time_rtscts = 0; -+ unsigned int tx_time_single; + unsigned int cw = mp->cw_min; + int shift; + @@ -34113,6 +33923,8 @@ index 000000000000..4a2a2f8fe34c + tx_time = mr->perfect_tx_time + mi->sp_ack_dur; + + do { ++ unsigned int tx_time_single; ++ + /* add one retransmission */ + tx_time_single = mr->ack_time + mr->perfect_tx_time; + @@ -34146,7 +33958,7 @@ index 000000000000..4a2a2f8fe34c + + init_sample_table(mi); + minstrel_update_rates(mp, mi); -+ printk("%s(%d) n:%d\n", __func__, __LINE__, n); ++ pr_debug("%s(%d) n:%d\n", __func__, __LINE__, n); +} + +static void *minstrel_alloc_sta(void *priv, struct ieee80211_sta_aml *sta, gfp_t gfp) @@ -34386,7 +34198,7 @@ index 000000000000..4a2a2f8fe34c + diff --git a/drivers/net/wireless/w1/vmac/rc80211_minstrel.h b/drivers/net/wireless/w1/vmac/rc80211_minstrel.h new file mode 100644 -index 000000000000..85a3201273dc +index 0000000000000000000000000000000000000000..85a3201273dc459db3794cdcebdc8bcfb0aa0d30 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/rc80211_minstrel.h @@ -0,0 +1,233 @@ @@ -34625,10 +34437,10 @@ index 000000000000..85a3201273dc +#endif diff --git a/drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.c b/drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.c new file mode 100644 -index 000000000000..72f3e7af0920 +index 0000000000000000000000000000000000000000..7f3e3bcb46d5fc3b2bc1b734c283eb7b8aa3295e --- /dev/null +++ b/drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.c -@@ -0,0 +1,1348 @@ +@@ -0,0 +1,1357 @@ +/* + * Copyright (C) 2010-2013 Felix Fietkau + * @@ -34842,17 +34654,18 @@ index 000000000000..72f3e7af0920 + u16 *tp_list) +{ + int cur_group, cur_idx, cur_tp_avg, cur_prob; -+ int tmp_group, tmp_idx, tmp_tp_avg, tmp_prob; + int j = MAX_THR_RATES; + + cur_group = index / MCS_GROUP_RATES; + cur_idx = index % MCS_GROUP_RATES; + cur_prob = mi->groups[cur_group].rates[cur_idx].prob_ewma; + cur_tp_avg = minstrel_ht_get_tp_avg(mi, cur_group, cur_idx, cur_prob); -+ /*for debug */ ++ /* for debug */ + mi->groups[cur_group].rates[cur_idx].tp_avg = cur_tp_avg; + + do { ++ int tmp_group, tmp_idx, tmp_tp_avg, tmp_prob; ++ + tmp_group = tp_list[j - 1] / MCS_GROUP_RATES; + tmp_idx = tp_list[j - 1] % MCS_GROUP_RATES; + tmp_prob = mi->groups[tmp_group].rates[tmp_idx].prob_ewma; @@ -34879,9 +34692,9 @@ index 000000000000..72f3e7af0920 + struct minstrel_mcs_group_data *mg; + struct minstrel_rate_stats *mrs; + int tmp_group, tmp_idx, tmp_tp_avg, tmp_prob; -+ int max_tp_group, cur_tp_avg, cur_group, cur_idx; ++ int max_tp_group, cur_group, cur_idx; + int max_gpr_group, max_gpr_idx; -+ int max_gpr_tp_avg, max_gpr_prob; ++ int max_gpr_prob; + + cur_group = index / MCS_GROUP_RATES; + cur_idx = index % MCS_GROUP_RATES; @@ -34905,6 +34718,8 @@ index 000000000000..72f3e7af0920 + max_gpr_prob = mi->groups[max_gpr_group].rates[max_gpr_idx].prob_ewma; + + if (mrs->prob_ewma > MINSTREL_FRAC(75, 100)) { ++ int cur_tp_avg, max_gpr_tp_avg; ++ + cur_tp_avg = minstrel_ht_get_tp_avg(mi, cur_group, cur_idx, mrs->prob_ewma); + if (cur_tp_avg > tmp_tp_avg) + mi->max_prob_rate = index; @@ -34933,7 +34748,6 @@ index 000000000000..72f3e7af0920 + u16 tmp_cck_tp_rate[MAX_THR_RATES]) +{ + unsigned int tmp_group, tmp_idx, tmp_cck_tp, tmp_mcs_tp, tmp_prob; -+ int i; + + tmp_group = tmp_cck_tp_rate[0] / MCS_GROUP_RATES; + tmp_idx = tmp_cck_tp_rate[0] % MCS_GROUP_RATES; @@ -34946,6 +34760,8 @@ index 000000000000..72f3e7af0920 + tmp_mcs_tp = minstrel_ht_get_tp_avg(mi, tmp_group, tmp_idx, tmp_prob); + + if (tmp_cck_tp > tmp_mcs_tp) { ++ int i; ++ + for(i = 0; i < MAX_THR_RATES; i++) { + minstrel_ht_sort_best_tp_rates(mi, tmp_cck_tp_rate[i], tmp_mcs_tp_rate); + } @@ -34954,8 +34770,6 @@ index 000000000000..72f3e7af0920 + +static void minstrel_ht_modify_tp_rates(struct minstrel_ht_sta *mi, u16 *tp_list, u16 *max_prob_rate) +{ -+ int cur_group, cur_idx, cur_tp_avg, cur_prob; -+ int final_idx, tmp_idx, tmp_tp_avg, tmp_prob; + int tp0_group = tp_list[0] / MCS_GROUP_RATES; + int tp0_idx = tp_list[0] % MCS_GROUP_RATES; + int rate_idx = tp0_idx; @@ -34970,6 +34784,9 @@ index 000000000000..72f3e7af0920 + tp0_idx = rate_idx; + + if ((*max_prob_rate % MCS_GROUP_RATES) >= tp0_idx) { ++ int cur_group, cur_idx, cur_tp_avg, cur_prob; ++ int final_idx, tmp_idx; ++ + cur_group = *max_prob_rate / MCS_GROUP_RATES; + cur_idx = tp0_idx ? tp0_idx -1 : tp0_idx; + cur_prob = mi->groups[cur_group].rates[cur_idx].prob_ewma; @@ -34977,6 +34794,8 @@ index 000000000000..72f3e7af0920 + final_idx = cur_idx; + + for (tmp_idx = cur_idx - 1; tmp_idx >= 0; tmp_idx--) { ++ int tmp_tp_avg, tmp_prob; ++ + tmp_prob = mi->groups[cur_group].rates[tmp_idx].prob_ewma; + tmp_tp_avg = minstrel_ht_get_tp_avg(mi, cur_group, tmp_idx, tmp_prob); + @@ -35034,7 +34853,7 @@ index 000000000000..72f3e7af0920 + + mrs = &mg->rates[i]; + if (mrs->succ_hist != 0) { -+ printk("clear rate:%d, input:%d\n", i, rate_index); ++ pr_debug("clear rate:%d, input:%d\n", i, rate_index); + mrs->attempts = 1; + mrs->last_attempts = 0; + mrs->att_hist = 0; @@ -35063,7 +34882,7 @@ index 000000000000..72f3e7af0920 +{ + struct minstrel_mcs_group_data *mg; + struct minstrel_rate_stats *mrs; -+ int group, i, j, cur_prob; ++ int group, i, j; + u16 tmp_mcs_tp_rate[MAX_THR_RATES], tmp_group_tp_rate[MAX_THR_RATES]; + u16 tmp_cck_tp_rate[MAX_THR_RATES], index; + @@ -35092,6 +34911,8 @@ index 000000000000..72f3e7af0920 + mi->sample_count++; + + for (i = 0; i < MCS_GROUP_RATES; i++) { ++ int cur_prob; ++ + if (!(mi->supported[group] & BIT(i))) + continue; + @@ -35160,9 +34981,10 @@ index 000000000000..72f3e7af0920 + struct minstrel_ht_sta *mi = &msp->ht; + struct minstrel_rate_stats *mrs; + int group; -+ unsigned char group_bw = 0; + + for (group = 0; group < ARRAY_SIZE(minstrel_mcs_groups); group++) { ++ unsigned char group_bw; ++ + group_bw = minstrel_mcs_groups[group].flags & IEEE80211_TX_RC_80_MHZ_WIDTH ? BW_80 + : minstrel_mcs_groups[group].flags & IEEE80211_TX_RC_40_MHZ_WIDTH ? BW_40 : BW_20; + @@ -35173,7 +34995,7 @@ index 000000000000..72f3e7af0920 + if (!(mi->supported[group] & BIT(max_rate))) + continue; + -+ printk("%s rate_index:%d, bw:%d\n", __func__, max_rate, bw); ++ pr_debug("%s rate_index:%d, bw:%d\n", __func__, max_rate, bw); + mrs = &mg->rates[max_rate]; + mrs->attempts = 2; + mrs->att_hist = 3; @@ -35213,9 +35035,9 @@ index 000000000000..72f3e7af0920 +static void +minstrel_set_next_sample_idx(struct minstrel_ht_sta *mi) +{ -+ struct minstrel_mcs_group_data *mg; -+ + for (;;) { ++ struct minstrel_mcs_group_data *mg; ++ + mi->sample_group++; + mi->sample_group %= ARRAY_SIZE(minstrel_mcs_groups); + mg = &mi->groups[mi->sample_group]; @@ -35265,7 +35087,7 @@ index 000000000000..72f3e7af0920 + struct ieee80211_tx_rate *ar = info->status.rates; + struct minstrel_rate_stats *rate, *rate2; + struct minstrel_priv *mp = priv; -+ bool last, update = false; ++ bool update = false; + int i; + + if (!msp->is_ht) @@ -35296,6 +35118,8 @@ index 000000000000..72f3e7af0920 + mi->sample_packets += info->status.ampdu_len; + + for (i = 0; i < 3; i++) { ++ bool last; ++ + last = !minstrel_ht_txstat_valid(mp, &ar[i + 1]); + + rate = minstrel_ht_get_stats(mp, mi, &ar[i]); @@ -35303,9 +35127,6 @@ index 000000000000..72f3e7af0920 + + if (last) { + rate->success += info->status.ampdu_ack_len; -+ } -+ -+ if (last) { + break; + } + } @@ -35776,7 +35597,7 @@ index 000000000000..72f3e7af0920 + continue; +#endif + mi->supported[i] = mcs->rx_mask[nss - 1]; -+ //printk("mi->supported:%08x:%d\n", mi->supported[i], i); ++ pr_debug("mi->supported:%08x:%d\n", mi->supported[i], i); + if (mi->supported[i]) + n_supported++; + continue; @@ -35810,7 +35631,7 @@ index 000000000000..72f3e7af0920 + } + + mi->supported[i] = minstrel_get_valid_vht_rates(bw, nss, vht_cap->vht_mcs.tx_mcs_map); -+ //printk("mi->supported:%08x:%d\n", mi->supported[i], i); ++ pr_debug("mi->supported:%08x:%d\n", mi->supported[i], i); + + if (mi->supported[i]) + n_supported++; @@ -35979,7 +35800,7 @@ index 000000000000..72f3e7af0920 +} diff --git a/drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.h b/drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.h new file mode 100644 -index 000000000000..d6243786c498 +index 0000000000000000000000000000000000000000..d6243786c498412e2b82a0ab59e34b6d65b8dfac --- /dev/null +++ b/drivers/net/wireless/w1/vmac/rc80211_minstrel_ht.h @@ -0,0 +1,284 @@ @@ -36269,7 +36090,7 @@ index 000000000000..d6243786c498 +#endif diff --git a/drivers/net/wireless/w1/vmac/rc80211_minstrel_init.c b/drivers/net/wireless/w1/vmac/rc80211_minstrel_init.c new file mode 100644 -index 000000000000..87898a956782 +index 0000000000000000000000000000000000000000..f75e31e5a77bec235d0ccd3d4bcd3401eab96573 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/rc80211_minstrel_init.c @@ -0,0 +1,907 @@ @@ -36464,14 +36285,14 @@ index 000000000000..87898a956782 +{ + struct minstrel_rate_control_ops *p_rate_control_ops = NULL; + -+ printk("%s\n", __func__); ++ pr_debug("%s\n", __func__); + g_aml_rate_adaptation_dev.ht_cap_info = 0; + p_rate_control_ops = get_rate_control_ops(); + p_rate_control_ops->free(g_minstel_pri); + g_minstel_pri = NULL; +} + -+unsigned int support_legacy_rate_init( struct wifi_station *sta , struct ieee80211_sta_aml *p_ieee_sta,unsigned int channel_band) ++static unsigned int support_legacy_rate_init( struct wifi_station *sta , struct ieee80211_sta_aml *p_ieee_sta,unsigned int channel_band) +{ + int i = 0; + unsigned int bit_val = 0; @@ -36545,7 +36366,7 @@ index 000000000000..87898a956782 + return 0; +} + -+void aml_rate_adaptation_dev_init(struct wifi_station *sta, int rate_mode, unsigned int channel_band, struct ieee80211_sta_aml *p_ieee_sta) ++static void aml_rate_adaptation_dev_init(struct wifi_station *sta, int rate_mode, unsigned int channel_band, struct ieee80211_sta_aml *p_ieee_sta) +{ + g_aml_rate_adaptation_dev.num_rf_chains = 1; + @@ -36572,19 +36393,19 @@ index 000000000000..87898a956782 + int i = 0; + g_aml_rate_adaptation_dev.sband = &aml_band_24ghz; + -+ printk("support rate start\n"); ++ pr_debug("support rate start\n"); + for (i = 0; i < sta->sta_rates.dot11_rate_num; i++) + { -+ printk("%02x ",sta->sta_rates.dot11_rate[i]); ++ pr_debug("%02x ",sta->sta_rates.dot11_rate[i]); + } -+ printk("\n"); ++ pr_debug("\n"); + } else { + g_aml_rate_adaptation_dev.sband = &aml_band_5ghz; + g_aml_rate_adaptation_dev.sband->vht_cap = aml_create_vht_cap(&g_aml_rate_adaptation_dev, rate_mode); + } +} + -+unsigned char get_fitable_bw(struct wifi_station *sta) { ++static unsigned char get_fitable_bw(struct wifi_station *sta) { + unsigned char bw; + + if (sta->sta_avg_bcn_rssi < sta->sta_wmac->wm_signal_power_bw_change_thresh_narrow) { @@ -36604,7 +36425,7 @@ index 000000000000..87898a956782 + return sta->sta_chbw; +} + -+unsigned char get_fitable_mcs_rate(struct wifi_station *sta, unsigned char bw) { ++static unsigned char get_fitable_mcs_rate(struct wifi_station *sta, unsigned char bw) { + int avg_rssi = 0; + unsigned char max_rate_rssi = 0; + unsigned char max_rate_snr = 0; @@ -36797,17 +36618,17 @@ index 000000000000..87898a956782 + struct wifi_station *sta = (struct wifi_station *)p_sta; + struct minstrel_rate_control_ops* p_rate_control_ops = NULL; + struct minstrel_rate_control_ops *p_rate_control_ops_ht = NULL; -+ printk("%s:%04x ", __func__, sta->sta_flags); ++ pr_debug("%s:%04x ", __func__, sta->sta_flags); + + if ((sta->sta_flags & WIFINET_NODE_VHT) || (sta->sta_flags & WIFINET_NODE_HT)) { + p_rate_control_ops_ht = get_rate_control_ops_ht(); -+ printk("ht free:%p\n", sta->sta_minstrel_ht_priv); ++ pr_debug("ht free:%p\n", sta->sta_minstrel_ht_priv); + p_rate_control_ops_ht->free_sta(sta->sta_minstrel_ht_priv); + sta->sta_minstrel_ht_priv = NULL; + + } else { + p_rate_control_ops = get_rate_control_ops(); -+ printk("free:%p\n", sta->sta_minstrel_info); ++ pr_debug("free:%p\n", sta->sta_minstrel_info); + p_rate_control_ops->free_sta(sta->sta_minstrel_info); + sta->sta_minstrel_info = NULL; + } @@ -36848,7 +36669,7 @@ index 000000000000..87898a956782 + rates[3].flags = 0; +} + -+int check_is_rate_fitable(struct wifi_station *sta, struct ieee80211_tx_info *info, void *priv_sta) { ++static int check_is_rate_fitable(struct wifi_station *sta, struct ieee80211_tx_info *info, void *priv_sta) { + struct minstrel_ht_sta_priv *msp = priv_sta; + struct minstrel_ht_sta *mi = &msp->ht; + int max_rate = 0; @@ -36889,7 +36710,7 @@ index 000000000000..87898a956782 + } +} + -+int minstrel_rate_index_to_vendor_rate_code(int minstrel_rate_idx, struct ieee80211_sta_aml *p_ieee80211_sta) ++static int minstrel_rate_index_to_vendor_rate_code(int minstrel_rate_idx, struct ieee80211_sta_aml *p_ieee80211_sta) +{ + enum ieee80211_band band = (enum ieee80211_band)g_aml_rate_adaptation_dev.sband->band; + @@ -36913,7 +36734,7 @@ index 000000000000..87898a956782 + return 0; +} + -+unsigned int protocol_rate_to_vendor_rate(unsigned int protocol_rate) ++static unsigned int protocol_rate_to_vendor_rate(unsigned int protocol_rate) +{ + + //For 11b: (0x82 -0x80) * 500K = 1M @@ -37175,140 +36996,140 @@ index 000000000000..87898a956782 + p_rate_control_ops->tx_status(g_minstel_pri, g_aml_rate_adaptation_dev.sband, priv_sta, &info); +} + -+void minstrel_set_sta_bandwidth( int bw ) ++static void minstrel_set_sta_bandwidth( int bw ) +{ + g_sta.bandwidth = bw; +} + diff --git a/drivers/net/wireless/w1/vmac/rc80211_minstrel_init.h b/drivers/net/wireless/w1/vmac/rc80211_minstrel_init.h new file mode 100644 -index 000000000000..d35e68cb7e3e +index 0000000000000000000000000000000000000000..bee322388d85b530b495dd80f8e7211c1b628efc --- /dev/null +++ b/drivers/net/wireless/w1/vmac/rc80211_minstrel_init.h @@ -0,0 +1,110 @@ -+#ifndef RC80211_MINSTREL_INIT_H -+#define RC80211_MINSTREL_INIT_H -+ -+#include "linux/types.h" -+ -+struct aml_rate_adaptation_dev { -+ struct ieee80211_supported_band *sband; -+ struct cfg80211_chan_def *chandef; -+ struct minstrel_priv *p_minstrel_priv; -+ u32 ht_cap_info; -+ u32 vht_cap_info; -+ u32 num_rf_chains; -+}; -+ -+/* HT Capabilities*/ -+#define WMI_HT_CAP_RX_STBC_MASK_SHIFT 4 -+#define WMI_HT_CAP_ENABLED 0x0001 /* HT Enabled/ disabled */ -+#define WMI_HT_CAP_TX_STBC 0x0002 /* B1 TX STBC */ -+#define WMI_HT_CAP_DYNAMIC_SMPS 0x0004 /* Dynamic MIMO powersave */ -+#define WMI_HT_CAP_HT20_SGI 0x0020 /* Short Guard Interval with HT20 */ -+#define WMI_HT_CAP_HT40_SGI 0x0040 -+#define WMI_HT_CAP_L_SIG_TXOP_PROT 0x0080 /* L-SIG TXOP Protection */ -+#define WMI_HT_CAP_LDPC 0x0200 /* LDPC supported */ -+#define WMI_HT_CAP_RX_STBC 0x0C00 /* B10-B11 RX STBC */ -+#define WMI_HT_CAP_MPDU_DENSITY 0x7000 /* MPDU Density */ -+ -+/* -+ * WMI_VHT_CAP_* these maps to ieee 802.11ac vht capability information -+ * field. The fields not defined here are not supported, or reserved. -+ * Do not change these masks and if you have to add new one follow the -+ * bitmask as specified by 802.11ac draft. -+ */ -+ -+#define WMI_VHT_CAP_MAX_MPDU_LEN_MASK 0x00000003 -+#define WMI_VHT_CAP_RX_LDPC 0x00000010 -+#define WMI_VHT_CAP_SGI_80MHZ 0x00000020 -+#define WMI_VHT_CAP_TX_STBC 0x00000080 -+#define WMI_VHT_CAP_RX_STBC_MASK 0x00000300 -+#define WMI_VHT_CAP_MAX_AMPDU_LEN_EXP 0x03800000 -+#define WMI_VHT_CAP_RX_FIXED_ANT 0x10000000 -+#define WMI_VHT_CAP_TX_FIXED_ANT 0x20000000 -+ -+/* The following also refer for max HT AMSDU */ -+#define WMI_VHT_CAP_MAX_MPDU_LEN_11454 0x00000002 -+ -+/* -+ * Interested readers refer to Rx/Tx MCS Map definition as defined in -+ * 802.11ac -+ */ -+#define WMI_VHT_MAX_SUPP_RATE_MASK 0x1fff0000 -+ -+#ifdef AUTO_RATE_SIM -+#define RATETAB_ENT(_rate, _rateid, _flags) { \ -+ .bitrate = (_rate), \ -+ .flags = (_flags), \ -+ .hw_value = (_rateid), \ -+} -+ -+#define CHAN2G(_channel, _freq, _flags) { \ -+ .band = IEEE80211_BAND_2GHZ, \ -+ .hw_value = (_channel), \ -+ .center_freq = (_freq), \ -+ .flags = (_flags), \ -+ .max_antenna_gain = 0, \ -+ .max_power = 30, \ -+} -+ -+#define CHAN5G(_channel, _flags) { \ -+ .band = IEEE80211_BAND_5GHZ, \ -+ .hw_value = (_channel), \ -+ .center_freq = 5000 + (5 * (_channel)), \ -+ .flags = (_flags), \ -+ .max_antenna_gain = 0, \ -+ .max_power = 30, \ -+} -+#endif -+#define aml_legacy_rates_size 12 -+#define aml_g_htcap IEEE80211_HT_CAP_SGI_20 -+#define aml_a_htcap (IEEE80211_HT_CAP_SUP_WIDTH_20_40 | \ -+ IEEE80211_HT_CAP_SGI_20 | \ -+ IEEE80211_HT_CAP_SGI_40) -+ -+void aml_minstrel_attach( void); -+void aml_minstrel_detach(void); -+ -+void aml_minstrel_init( -+#ifdef AUTO_RATE_SIM -+ void -+#else -+ void *p_sta -+#endif -+); -+void aml_minstrel_deinit(void *p_sta); -+ -+unsigned char minstrel_find_rate( -+ struct aml_ratecontrol ratectrl[] -+#ifndef AUTO_RATE_SIM -+, -+ void *p_sta -+#endif -+); -+void minstrel_tx_complete( -+ struct aml_ratecontrol *rc -+#ifndef AUTO_RATE_SIM -+, -+ void *p_sta -+#endif -+); -+ -+#endif ++#ifndef RC80211_MINSTREL_INIT_H ++#define RC80211_MINSTREL_INIT_H ++ ++#include "linux/types.h" ++ ++struct aml_rate_adaptation_dev { ++ struct ieee80211_supported_band *sband; ++ struct cfg80211_chan_def *chandef; ++ struct minstrel_priv *p_minstrel_priv; ++ u32 ht_cap_info; ++ u32 vht_cap_info; ++ u32 num_rf_chains; ++}; ++ ++/* HT Capabilities*/ ++#define WMI_HT_CAP_RX_STBC_MASK_SHIFT 4 ++#define WMI_HT_CAP_ENABLED 0x0001 /* HT Enabled/ disabled */ ++#define WMI_HT_CAP_TX_STBC 0x0002 /* B1 TX STBC */ ++#define WMI_HT_CAP_DYNAMIC_SMPS 0x0004 /* Dynamic MIMO powersave */ ++#define WMI_HT_CAP_HT20_SGI 0x0020 /* Short Guard Interval with HT20 */ ++#define WMI_HT_CAP_HT40_SGI 0x0040 ++#define WMI_HT_CAP_L_SIG_TXOP_PROT 0x0080 /* L-SIG TXOP Protection */ ++#define WMI_HT_CAP_LDPC 0x0200 /* LDPC supported */ ++#define WMI_HT_CAP_RX_STBC 0x0C00 /* B10-B11 RX STBC */ ++#define WMI_HT_CAP_MPDU_DENSITY 0x7000 /* MPDU Density */ ++ ++/* ++ * WMI_VHT_CAP_* these maps to ieee 802.11ac vht capability information ++ * field. The fields not defined here are not supported, or reserved. ++ * Do not change these masks and if you have to add new one follow the ++ * bitmask as specified by 802.11ac draft. ++ */ ++ ++#define WMI_VHT_CAP_MAX_MPDU_LEN_MASK 0x00000003 ++#define WMI_VHT_CAP_RX_LDPC 0x00000010 ++#define WMI_VHT_CAP_SGI_80MHZ 0x00000020 ++#define WMI_VHT_CAP_TX_STBC 0x00000080 ++#define WMI_VHT_CAP_RX_STBC_MASK 0x00000300 ++#define WMI_VHT_CAP_MAX_AMPDU_LEN_EXP 0x03800000 ++#define WMI_VHT_CAP_RX_FIXED_ANT 0x10000000 ++#define WMI_VHT_CAP_TX_FIXED_ANT 0x20000000 ++ ++/* The following also refer for max HT AMSDU */ ++#define WMI_VHT_CAP_MAX_MPDU_LEN_11454 0x00000002 ++ ++/* ++ * Interested readers refer to Rx/Tx MCS Map definition as defined in ++ * 802.11ac ++ */ ++#define WMI_VHT_MAX_SUPP_RATE_MASK 0x1fff0000 ++ ++#ifdef AUTO_RATE_SIM ++#define RATETAB_ENT(_rate, _rateid, _flags) { \ ++ .bitrate = (_rate), \ ++ .flags = (_flags), \ ++ .hw_value = (_rateid), \ ++} ++ ++#define CHAN2G(_channel, _freq, _flags) { \ ++ .band = IEEE80211_BAND_2GHZ, \ ++ .hw_value = (_channel), \ ++ .center_freq = (_freq), \ ++ .flags = (_flags), \ ++ .max_antenna_gain = 0, \ ++ .max_power = 30, \ ++} ++ ++#define CHAN5G(_channel, _flags) { \ ++ .band = IEEE80211_BAND_5GHZ, \ ++ .hw_value = (_channel), \ ++ .center_freq = 5000 + (5 * (_channel)), \ ++ .flags = (_flags), \ ++ .max_antenna_gain = 0, \ ++ .max_power = 30, \ ++} ++#endif ++#define aml_legacy_rates_size 12 ++#define aml_g_htcap IEEE80211_HT_CAP_SGI_20 ++#define aml_a_htcap (IEEE80211_HT_CAP_SUP_WIDTH_20_40 | \ ++ IEEE80211_HT_CAP_SGI_20 | \ ++ IEEE80211_HT_CAP_SGI_40) ++ ++void aml_minstrel_attach( void); ++void aml_minstrel_detach(void); ++ ++void aml_minstrel_init( ++#ifdef AUTO_RATE_SIM ++ void ++#else ++ void *p_sta ++#endif ++); ++void aml_minstrel_deinit(void *p_sta); ++ ++unsigned char minstrel_find_rate( ++ struct aml_ratecontrol ratectrl[] ++#ifndef AUTO_RATE_SIM ++, ++ void *p_sta ++#endif ++); ++void minstrel_tx_complete( ++ struct aml_ratecontrol *rc ++#ifndef AUTO_RATE_SIM ++, ++ void *p_sta ++#endif ++); ++ ++#endif diff --git a/drivers/net/wireless/w1/vmac/version.h b/drivers/net/wireless/w1/vmac/version.h new file mode 100644 -index 000000000000..ced321c6be85 +index 0000000000000000000000000000000000000000..9d06679fe8f2afdece5bb07f89a3b5f318cee99a --- /dev/null +++ b/drivers/net/wireless/w1/vmac/version.h @@ -0,0 +1 @@ -+#define DRIVERVERSION "v1.6.3_20240426-w1-br driver:ea3eb3c912b3467c59ff+419228+423143+406532" ++#define DRIVERVERSION "v1.8.3.3_20260310-w1 driver:888ce88b817c15e731df70f+612585+643887+589776" diff --git a/drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.c b/drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.c new file mode 100644 -index 000000000000..3f94d08f02ac +index 0000000000000000000000000000000000000000..283b3057de1cd7ec3cec6e848d7097ed610e3c76 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.c -@@ -0,0 +1,1412 @@ +@@ -0,0 +1,1435 @@ +#include "w1_sdio.h" +#include + @@ -37346,6 +37167,9 @@ index 000000000000..3f94d08f02ac +/* protect cmd53 and host sleep request */ +static DEFINE_MUTEX(wifi_sdio_power_mutex); + ++#define SDIO_DMA_BUF_SIZE PAGE_SIZE ++static void *sdio_dma_buf[SDIO_MAX_FUNCS]; ++ +void aml_wifi_sdio_power_lock(void) +{ + mutex_lock(&wifi_sdio_power_mutex); @@ -37361,13 +37185,13 @@ index 000000000000..3f94d08f02ac +int (*host_resume_req)(struct device *device); + + -+struct sdio_func *aml_priv_to_func(int func_n) ++static struct sdio_func *aml_priv_to_func(int func_n) +{ + ASSERT(func_n >= 0 && func_n < SDIO_FUNCNUM_MAX); + return g_w1_hwif_sdio.sdio_func_if[func_n]; +} + -+unsigned int aml_w1_bt_hi_read_word(unsigned int addr) ++static unsigned int aml_w1_bt_hi_read_word(unsigned int addr) +{ + unsigned int regdata = 0; + unsigned int reg_tmp; @@ -37394,7 +37218,7 @@ index 000000000000..3f94d08f02ac + return regdata; +} + -+void aml_w1_bt_hi_write_word(unsigned int addr,unsigned int data) ++static void aml_w1_bt_hi_write_word(unsigned int addr,unsigned int data) +{ + unsigned int reg_tmp; + /* @@ -37417,26 +37241,26 @@ index 000000000000..3f94d08f02ac + (unsigned char*)(SYS_TYPE)(addr & 0x1ffff), sizeof(unsigned int)); +} + -+void aml_w1_bt_sdio_read_sram (unsigned char *buf, unsigned char *addr, SYS_TYPE len) ++static void aml_w1_bt_sdio_read_sram (unsigned char *buf, unsigned char *addr, SYS_TYPE len) +{ + g_w1_hif_ops.hi_bottom_read(SDIO_FUNC5, ((SYS_TYPE)addr & SDIO_ADDR_MASK), + buf, len, (len > 8 ? SDIO_OPMODE_INCREMENT : SDIO_OPMODE_FIXED)); +} + +/*For BT use only start */ -+void aml_w1_bt_sdio_write_sram (unsigned char *buf, unsigned char *addr, SYS_TYPE len) ++static void aml_w1_bt_sdio_write_sram (unsigned char *buf, unsigned char *addr, SYS_TYPE len) +{ + g_w1_hif_ops.hi_bottom_write(SDIO_FUNC5, ((SYS_TYPE)addr & SDIO_ADDR_MASK), + buf, len, (len > 8 ? SDIO_OPMODE_INCREMENT : SDIO_OPMODE_FIXED)); +} + -+int aml_w1_sdio_write_reg32(unsigned long sram_addr, unsigned long sramdata) ++static int aml_w1_sdio_write_reg32(unsigned long sram_addr, unsigned long sramdata) +{ + return g_w1_hif_ops.hi_bottom_write(SDIO_FUNC1, sram_addr&SDIO_ADDR_MASK, + (unsigned char *)&sramdata, sizeof(unsigned long), SDIO_OPMODE_INCREMENT); +} + -+unsigned int aml_w1_aon_read_reg(unsigned int addr) ++static unsigned int aml_w1_aon_read_reg(unsigned int addr) +{ + unsigned int regdata = 0; + @@ -37445,7 +37269,7 @@ index 000000000000..3f94d08f02ac +} + +/* aon module address from 0x00f00000, we need read/write by sdio func5 */ -+void aml_w1_aon_write_reg(unsigned int addr,unsigned int data) ++static void aml_w1_aon_write_reg(unsigned int addr,unsigned int data) +{ + g_w1_hif_ops.bt_hi_write_word((addr), data); +} @@ -37468,16 +37292,11 @@ index 000000000000..3f94d08f02ac + ASSERT(func->num == func_num); + + AML_W1_BT_WIFI_MUTEX_ON(); -+ kmalloc_buf = (unsigned char *)kzalloc(len, GFP_DMA | GFP_ATOMIC);//virt_to_phys(fwICCM); -+ if (kmalloc_buf == NULL) { -+ ERROR_DEBUG_OUT("kmalloc buf fail\n"); -+ AML_W1_BT_WIFI_MUTEX_OFF(); -+ return SDIOH_API_RC_FAIL; -+ } -+ memcpy(kmalloc_buf, byte, len); + + /* Claim host controller */ + sdio_claim_host(func); ++ kmalloc_buf = sdio_dma_buf[func_num]; ++ memcpy(kmalloc_buf, byte, len); + + if (write) { + /* CMD52 Write */ @@ -37494,15 +37313,34 @@ index 000000000000..3f94d08f02ac +#if defined(DBG_PRINT_COST_TIME) + getnstimeofday(&now); + -+ printk("[sdio byte]: len=1 cost=%lds %luus\n", ++ pr_debug("[sdio byte]: len=1 cost=%lds %luus\n", + now.tv_sec-before.tv_sec, now.tv_nsec/1000 - before.tv_nsec/1000); +#endif /* End of DBG_PRINT_COST_TIME */ + -+ kfree(kmalloc_buf); + AML_W1_BT_WIFI_MUTEX_OFF(); + return (err_ret == 0) ? SDIOH_API_RC_SUCCESS : SDIOH_API_RC_FAIL; +} + ++static size_t aml_w1_sdio_align_size(struct sdio_func *func, unsigned int nbytes, ++ unsigned char write, unsigned int fix_incr) ++{ ++ bool fifo = (fix_incr == SDIO_OPMODE_FIXED); ++ ++ if (write && !fifo) { ++ /* write, increment */ ++ return sdio_align_size(func, nbytes); ++ } else if (write) { ++ /* write, fifo */ ++ return nbytes; ++ } else if (fifo) { ++ /* read */ ++ return nbytes; ++ } else { ++ /* read */ ++ return sdio_align_size(func, nbytes); ++ } ++} ++ +static int _aml_w1_sdio_request_buffer(unsigned char func_num, + unsigned int fix_incr, unsigned char write, unsigned int addr, void *buf, unsigned int nbytes) +{ @@ -37516,9 +37354,6 @@ index 000000000000..3f94d08f02ac + ASSERT(fix_incr == SDIO_OPMODE_FIXED|| fix_incr == SDIO_OPMODE_INCREMENT); + ASSERT(func->num == func_num); + -+ /* Claim host controller */ -+ sdio_claim_host(func); -+ + if (write && !fifo) + { + /* write, increment */ @@ -37542,20 +37377,18 @@ index 000000000000..3f94d08f02ac + err_ret = sdio_memcpy_fromio(func, buf, addr, align_nbytes); + } + -+ /* Release host controller */ -+ sdio_release_host(func); -+ + return (err_ret == 0) ? SDIOH_API_RC_SUCCESS : SDIOH_API_RC_FAIL; +} + +unsigned char aml_w1_sdio_bottom_read8(unsigned char func_num, int addr); + +//cmd53 -+int aml_w1_sdio_bottom_read(unsigned char func_num, int addr, void *buf, size_t len, int incr_addr) ++static int aml_w1_sdio_bottom_read(unsigned char func_num, int addr, void *buf, size_t len, int incr_addr) +{ + void *kmalloc_buf = NULL; + int result; -+ int align_len = 0; ++ struct sdio_func * func = aml_priv_to_func(func_num); ++ bool need_free_buf = false; + + ASSERT(func_num != SDIO_FUNC0); + @@ -37593,12 +37426,17 @@ index 000000000000..3f94d08f02ac + { + unsigned char fw_st = aml_w1_sdio_bottom_read8(SDIO_FUNC1, 0x23c) & 0xF; + if (fw_st != 6) -+ printk("%s:%d, BUG! fw_st %x, func_num %x, addr %x \n", __func__, __LINE__, fw_st, func_num, addr); ++ pr_err("%s:%d, BUG! fw_st %x, func_num %x, addr %x \n", __func__, __LINE__, fw_st, func_num, addr); + } + AML_W1_BT_WIFI_MUTEX_ON(); ++ ++ sdio_claim_host(func); ++ + /* read block mode */ + if (func_num != SDIO_FUNC6) + { ++ int align_len; ++ + if (incr_addr == SDIO_OPMODE_INCREMENT) + { + struct sdio_func * func = aml_priv_to_func(func_num); @@ -37607,7 +37445,12 @@ index 000000000000..3f94d08f02ac + else + align_len = len; + -+ kmalloc_buf = (unsigned char *)kzalloc(align_len, GFP_DMA|GFP_ATOMIC); ++ if (align_len > SDIO_DMA_BUF_SIZE) { ++ need_free_buf = true; ++ kmalloc_buf = kzalloc(align_len, GFP_DMA); ++ } else { ++ kmalloc_buf = sdio_dma_buf[func_num]; ++ } + } + else + { @@ -37617,6 +37460,9 @@ index 000000000000..3f94d08f02ac + if (kmalloc_buf == NULL) + { + ERROR_DEBUG_OUT("kmalloc buf fail\n"); ++ ++ sdio_release_host(func); ++ + AML_W1_BT_WIFI_MUTEX_OFF(); + aml_wifi_sdio_power_unlock(); + return SDIOH_API_RC_FAIL; @@ -37627,9 +37473,12 @@ index 000000000000..3f94d08f02ac + if (func_num != SDIO_FUNC6) + { + memcpy(buf, kmalloc_buf, len); -+ kfree(kmalloc_buf); ++ if (need_free_buf) ++ kfree(kmalloc_buf); + } + ++ sdio_release_host(func); ++ + AML_W1_BT_WIFI_MUTEX_OFF(); + aml_wifi_sdio_power_unlock(); + return result; @@ -37637,10 +37486,12 @@ index 000000000000..3f94d08f02ac + + +//cmd53 -+int aml_w1_sdio_bottom_write(unsigned char func_num, int addr, void *buf, size_t len, int incr_addr) ++static int aml_w1_sdio_bottom_write(unsigned char func_num, int addr, void *buf, size_t len, int incr_addr) +{ + void *kmalloc_buf; + int result; ++ struct sdio_func * func = aml_priv_to_func(func_num); ++ size_t sdio_aligned_len; + + if (!wifi_sdio_access) { + if (func_num == SDIO_FUNC5) { @@ -37677,40 +37528,52 @@ index 000000000000..3f94d08f02ac + { + unsigned char fw_st = aml_w1_sdio_bottom_read8(SDIO_FUNC1, 0x23c) & 0xF; + if (fw_st != 6) -+ printk("%s:%d, BUG! fw_st %x, func_num %x, addr %x \n", __func__, __LINE__, fw_st, func_num, addr); ++ pr_err("%s:%d, BUG! fw_st %x, func_num %x, addr %x \n", __func__, __LINE__, fw_st, func_num, addr); + } + + AML_W1_BT_WIFI_MUTEX_ON(); -+ kmalloc_buf = (unsigned char *)kzalloc(len, GFP_DMA | GFP_ATOMIC);//virt_to_phys(fwICCM); -+ if (kmalloc_buf == NULL) { -+ ERROR_DEBUG_OUT("kmalloc buf fail\n"); -+ AML_W1_BT_WIFI_MUTEX_OFF(); -+ aml_wifi_sdio_power_unlock(); -+ return SDIOH_API_RC_FAIL; ++ sdio_claim_host(func); ++ ++ sdio_aligned_len = aml_w1_sdio_align_size(func, len, SDIO_WRITE, incr_addr); ++ ++ if (sdio_aligned_len > SDIO_DMA_BUF_SIZE) { ++ kmalloc_buf = kzalloc(sdio_aligned_len, GFP_DMA); ++ if (!kmalloc_buf) { ++ ERROR_DEBUG_OUT("kmalloc buf fail\n"); ++ sdio_release_host(func); ++ AML_W1_BT_WIFI_MUTEX_OFF(); ++ aml_wifi_sdio_power_unlock(); ++ return SDIOH_API_RC_FAIL; ++ } ++ } else { ++ kmalloc_buf = sdio_dma_buf[func_num]; + } + memcpy(kmalloc_buf, buf, len); + + result = _aml_w1_sdio_request_buffer(func_num, incr_addr, SDIO_WRITE, addr, kmalloc_buf, len); ++ if (sdio_aligned_len > SDIO_DMA_BUF_SIZE) ++ kfree(kmalloc_buf); ++ ++ sdio_release_host(func); + -+ kfree(kmalloc_buf); + AML_W1_BT_WIFI_MUTEX_OFF(); + aml_wifi_sdio_power_unlock(); + return result; +} + -+void aml_w1_sdio_read_sram (unsigned char *buf, unsigned char *addr, SYS_TYPE len) ++static void aml_w1_sdio_read_sram (unsigned char *buf, unsigned char *addr, SYS_TYPE len) +{ + g_w1_hif_ops.hi_bottom_read(SDIO_FUNC2, (SYS_TYPE)addr&SDIO_ADDR_MASK, + buf, len, (len > 8 ? SDIO_OPMODE_INCREMENT : SDIO_OPMODE_FIXED)); +} + -+void aml_w1_sdio_write_sram (unsigned char *buf, unsigned char *addr, SYS_TYPE len) ++static void aml_w1_sdio_write_sram (unsigned char *buf, unsigned char *addr, SYS_TYPE len) +{ + g_w1_hif_ops.hi_bottom_write(SDIO_FUNC2, (SYS_TYPE)addr&SDIO_ADDR_MASK, + buf, len, (len > 8 ? SDIO_OPMODE_INCREMENT : SDIO_OPMODE_FIXED)); +} + -+unsigned int aml_w1_sdio_read_word(unsigned int addr) ++static unsigned int aml_w1_sdio_read_word(unsigned int addr) +{ + unsigned int regdata = 0; + @@ -37738,7 +37601,7 @@ index 000000000000..3f94d08f02ac + return regdata; +} + -+void aml_w1_sdio_write_word(unsigned int addr, unsigned int data) ++static void aml_w1_sdio_write_word(unsigned int addr, unsigned int data) +{ + // for bt access always on reg + if ((addr & 0x00f00000) == 0x00f00000) { @@ -37764,7 +37627,7 @@ index 000000000000..3f94d08f02ac +} + +//cmd52 -+int aml_w1_sdio_bottom_write8(unsigned char func_num, int addr, unsigned char data) ++static int aml_w1_sdio_bottom_write8(unsigned char func_num, int addr, unsigned char data) +{ + int ret = 0; + @@ -37788,13 +37651,13 @@ index 000000000000..3f94d08f02ac + buff[25:8], // regAddr + buff[39:32]); // regValue +*/ -+void aml_w1_sdio_bottom_write8_func0(unsigned long sram_addr, unsigned char sramdata) ++static void aml_w1_sdio_bottom_write8_func0(unsigned long sram_addr, unsigned char sramdata) +{ + _aml_w1_sdio_request_byte(SDIO_FUNC0, SDIO_WRITE, sram_addr, &sramdata); +} + +//cmd52 -+unsigned char aml_w1_sdio_bottom_read8_func0(unsigned long sram_addr) ++static unsigned char aml_w1_sdio_bottom_read8_func0(unsigned long sram_addr) +{ + unsigned char sramdata; + @@ -37802,7 +37665,7 @@ index 000000000000..3f94d08f02ac + return sramdata; +} + -+void aml_w1_sdio_write_cmd32(unsigned long sram_addr, unsigned long sramdata) ++static void aml_w1_sdio_write_cmd32(unsigned long sram_addr, unsigned long sramdata) +{ +#if defined (HAL_SIM_VER) + aml_sdio_read_write(sram_addr&SDIO_ADDR_MASK, (unsigned char *)&sramdata, 4, @@ -37813,7 +37676,7 @@ index 000000000000..3f94d08f02ac +#endif /* End of HAL_SIM_VER */ +} + -+int aml_w1_sdio_suspend(unsigned int suspend_enable) ++static int aml_w1_sdio_suspend(unsigned int suspend_enable) +{ + mmc_pm_flag_t flags; + struct sdio_func *func = NULL; @@ -37864,7 +37727,7 @@ index 000000000000..3f94d08f02ac + return ret; +} + -+unsigned long aml_w1_sdio_read_reg8(unsigned long sram_addr ) ++static unsigned long aml_w1_sdio_read_reg8(unsigned long sram_addr ) +{ + unsigned char regdata[8] = {0}; + @@ -37872,13 +37735,13 @@ index 000000000000..3f94d08f02ac + return regdata[0]; +} + -+void aml_w1_sdio_write_reg8(unsigned long sram_addr, unsigned long sramdata) ++static void aml_w1_sdio_write_reg8(unsigned long sram_addr, unsigned long sramdata) +{ + g_w1_hif_ops.hi_bottom_write(SDIO_FUNC1, sram_addr&SDIO_ADDR_MASK, + (unsigned char *)&sramdata, sizeof(unsigned long), SDIO_OPMODE_INCREMENT); +} + -+unsigned long aml_w1_sdio_read_reg32(unsigned long sram_addr) ++static unsigned long aml_w1_sdio_read_reg32(unsigned long sram_addr) +{ + unsigned long sramdata; + @@ -37886,7 +37749,7 @@ index 000000000000..3f94d08f02ac + return sramdata; +} + -+struct amlw_hif_scatter_req *aml_w1_sdio_scatter_req_get(void) ++static struct amlw_hif_scatter_req *aml_w1_sdio_scatter_req_get(void) +{ + struct amlw1_hwif_sdio *hif_sdio = &g_w1_hwif_sdio; + @@ -37928,7 +37791,7 @@ index 000000000000..3f94d08f02ac + return 0; +} + -+int aml_w1_sdio_enable_scatter(void) ++static int aml_w1_sdio_enable_scatter(void) +{ + struct amlw1_hwif_sdio *hif_sdio = &g_w1_hwif_sdio; + int ret; @@ -37946,7 +37809,7 @@ index 000000000000..3f94d08f02ac + return ret; +} + -+int aml_w1_sdio_scat_rw(struct scatterlist *sg_list, unsigned int sg_num, unsigned int blkcnt, ++static int aml_w1_sdio_scat_rw(struct scatterlist *sg_list, unsigned int sg_num, unsigned int blkcnt, + unsigned char func_num, unsigned int addr, unsigned char write) +{ + struct mmc_request mmc_req; @@ -37984,7 +37847,7 @@ index 000000000000..3f94d08f02ac + sdio_release_host(func); + + if (mmc_cmd.error || mmc_dat.error) { -+ printk("ERROR CMD53 %s cmd_error = %d data_error=%d\n", ++ pr_err("ERROR CMD53 %s cmd_error = %d data_error=%d\n", + write ? "write" : "read", mmc_cmd.error, mmc_dat.error); + ret = mmc_cmd.error; + } @@ -37993,7 +37856,7 @@ index 000000000000..3f94d08f02ac + return ret; +} + -+void aml_w1_sdio_scat_complete (struct amlw_hif_scatter_req * scat_req) ++static void aml_w1_sdio_scat_complete (struct amlw_hif_scatter_req * scat_req) +{ + int i; + struct amlw1_hwif_sdio *hif_sdio = &g_w1_hwif_sdio; @@ -38021,10 +37884,10 @@ index 000000000000..3f94d08f02ac + memset(scat_req->sgentries, 0, SDIO_MAX_SG_ENTRIES * sizeof(struct scatterlist)); +} + -+void aml_w1_sdio_cleanup_scatter(void) ++static void aml_w1_sdio_cleanup_scatter(void) +{ + struct amlw1_hwif_sdio *hif_sdio = &g_w1_hwif_sdio; -+ printk("[sdio sg cleanup]: enter\n"); ++ pr_debug("[sdio sg cleanup]: enter\n"); + + ASSERT(hif_sdio != NULL); + @@ -38035,18 +37898,18 @@ index 000000000000..3f94d08f02ac + + /* empty the free list */ + kfree(hif_sdio->scat_req); -+ printk("[sdio sg cleanup]: exit\n"); ++ pr_debug("[sdio sg cleanup]: exit\n"); + + return; +} + -+void aml_w1_sdio_recv_frame (unsigned char *buf, unsigned char *addr, SYS_TYPE len) ++static void aml_w1_sdio_recv_frame (unsigned char *buf, unsigned char *addr, SYS_TYPE len) +{ + g_w1_hif_ops.hi_bottom_read(SDIO_FUNC6, ((SYS_TYPE)addr & SDIO_ADDR_MASK), + buf, len, SDIO_OPMODE_INCREMENT); +} + -+void aml_w1_sdio_init_ops(void) ++static void aml_w1_sdio_init_ops(void) +{ + struct amlw1_hif_ops* ops = &g_w1_hif_ops; + @@ -38089,7 +37952,7 @@ index 000000000000..3f94d08f02ac + host_suspend_req = NULL; +} + -+int aml_w1_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id) ++static int aml_w1_sdio_probe(struct sdio_func *func, const struct sdio_device_id *id) +{ + int ret = 0; + static struct sdio_func sdio_func_0; @@ -38101,7 +37964,7 @@ index 000000000000..3f94d08f02ac + + sdio_set_block_size(func, 512); + -+ printk("%s(%d): func->num %d sdio block size=%d, \n", __func__, __LINE__, ++ pr_debug("%s(%d): func->num %d sdio block size=%d, \n", __func__, __LINE__, + func->num, func->cur_blksize); + + if (func->num == 1) @@ -38111,14 +37974,14 @@ index 000000000000..3f94d08f02ac + g_w1_hwif_sdio.sdio_func_if[0] = &sdio_func_0; + } + g_w1_hwif_sdio.sdio_func_if[func->num] = func; -+ printk("%s(%d): func->num %d sdio_func=%p, \n", __func__, __LINE__, ++ pr_debug("%s(%d): func->num %d sdio_func=%p, \n", __func__, __LINE__, + func->num, func); + + sdio_release_host(func); + sdio_set_drvdata(func, (void *)(&g_w1_hwif_sdio)); + if (func->num != FUNCNUM_SDIO_LAST) + { -+ printk("%s(%d):func_num=%d, last func num=%d\n", __func__, __LINE__, ++ pr_debug("%s(%d):func_num=%d, last func num=%d\n", __func__, __LINE__, + func->num, FUNCNUM_SDIO_LAST); + return 0; + } @@ -38128,7 +37991,7 @@ index 000000000000..3f94d08f02ac + return ret; + +sdio_enable_error: -+ printk("sdio_enable_error: line %d\n",__LINE__); ++ pr_err("sdio_enable_error: line %d\n",__LINE__); + sdio_release_host(func); + + return ret; @@ -38141,9 +38004,9 @@ index 000000000000..3f94d08f02ac + return ; + } + -+ printk("\n==========================================\n"); -+ printk("aml_sdio_remove++ func->num =%d \n",func->num); -+ printk("==========================================\n"); ++ pr_debug("\n==========================================\n"); ++ pr_debug("aml_sdio_remove++ func->num =%d \n",func->num); ++ pr_debug("==========================================\n"); + + sdio_claim_host(func); + sdio_disable_func(func); @@ -38171,7 +38034,7 @@ index 000000000000..3f94d08f02ac +} + + -+void write_byte_8ba(unsigned char Bus, unsigned char SlaveAddr, ++static void write_byte_8ba(unsigned char Bus, unsigned char SlaveAddr, + unsigned char RegAddr, unsigned char Data) +{ + unsigned int tmp,cnt = 0; @@ -38206,14 +38069,14 @@ index 000000000000..3f94d08f02ac + + cnt++; + if (cnt == 1000) { -+ printk("-------[ERR]-----> i2c[W] err\n"); ++ pr_err("-------[ERR]-----> i2c[W] err\n"); + break; + } + } while (tmp & (1 << 2)); + +} + -+unsigned char read_byte_8ba(unsigned char Bus, unsigned char SlaveAddr, unsigned char RegAddr) ++static unsigned char read_byte_8ba(unsigned char Bus, unsigned char SlaveAddr, unsigned char RegAddr) +{ + //struct hw_interface* hif = hif_get_hw_interface(); + unsigned int tmp,cnt = 0; @@ -38250,7 +38113,7 @@ index 000000000000..3f94d08f02ac + + cnt++; + if (cnt == 1000) { -+ printk("-------[ERR]-----> i2c[W] err\n"); ++ pr_err("-------[ERR]-----> i2c[W] err\n"); + break; + } + } while (tmp & (1 << 2)); @@ -38261,13 +38124,13 @@ index 000000000000..3f94d08f02ac + + +//void write_rdaddr_32ba(U8 Bus, U8 SlaveAddr, U32 TkData0, U32 TkData1) -+void write_word_32ba(unsigned char Bus, unsigned char SlaveAddr, ++static void write_word_32ba(unsigned char Bus, unsigned char SlaveAddr, + unsigned int StartToken, unsigned int Data) +{ + //struct hw_interface* hif = hif_get_hw_interface(); + unsigned int tmp,cnt = 0; + -+ //printk("%s(%d) token 0x%x data 0x%x\n", __func__, __LINE__, StartToken,Data); ++ //pr_debug("%s(%d) token 0x%x data 0x%x\n", __func__, __LINE__, StartToken,Data); + + // Set the I2C bus to 100khz + tmp = aml_w1_sdio_read_word(I2C_CONTROL_REG); @@ -38310,7 +38173,7 @@ index 000000000000..3f94d08f02ac + } while (tmp & (1 << 2)); +} + -+unsigned int read_word_32ba(unsigned int SlaveAddr, unsigned int RegAddr) ++static unsigned int read_word_32ba(unsigned int SlaveAddr, unsigned int RegAddr) +{ + //struct hw_interface* hif = hif_get_hw_interface(); + unsigned int tmp,cnt = 0; @@ -38399,21 +38262,11 @@ index 000000000000..3f94d08f02ac + write_byte_8ba(bus, slave_addr, 0x8, bus); +} + -+void config_pmu_reg_off(void) ++static void config_pmu_reg_off(void) +{ -+ int value_pmu_A12 = 0; -+ int value_pmu_A15 = 0; -+ int value_pmu_A17 = 0; -+ int value_pmu_A18 = 0; -+ int value_pmu_A20 = 0; -+ int value_pmu_A22 = 0; -+ int value_pmu_A24 = 0; -+ int value_aon30 = 0; -+ + RG_AON_A30_FIELD_T reg_aon30_data; + RG_AON_A29_FIELD_T reg_aon29_data; + -+ unsigned char host_req_status= 0; + unsigned int reg_val = 0; + + //reg_val = rf_read_register(RG_TOP_A2); @@ -38440,15 +38293,17 @@ index 000000000000..3f94d08f02ac + aml_w1_sdio_write_word(RG_COEX_WF_OWNER_CTRL, reg_val); + + { -+ value_pmu_A12 = aml_w1_sdio_read_word(RG_PMU_A12); -+ value_pmu_A15 = aml_w1_sdio_read_word(RG_PMU_A15); -+ value_pmu_A17 = aml_w1_sdio_read_word(RG_PMU_A17); -+ value_pmu_A18 = aml_w1_sdio_read_word(RG_PMU_A18); -+ value_pmu_A20 = aml_w1_sdio_read_word(RG_PMU_A20); -+ value_pmu_A22 = aml_w1_sdio_read_word(RG_PMU_A22); -+ value_pmu_A24 = aml_w1_sdio_read_word(RG_PMU_A24); -+ value_aon30 = aml_w1_sdio_read_word(RG_AON_A30); -+ printk("%s power off: before write A12=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x, AON30=0x%x\n", ++ int value_pmu_A12 = aml_w1_sdio_read_word(RG_PMU_A12); ++ int value_pmu_A15 = aml_w1_sdio_read_word(RG_PMU_A15); ++ int value_pmu_A17 = aml_w1_sdio_read_word(RG_PMU_A17); ++ int value_pmu_A18 = aml_w1_sdio_read_word(RG_PMU_A18); ++ int value_pmu_A20 = aml_w1_sdio_read_word(RG_PMU_A20); ++ int value_pmu_A22 = aml_w1_sdio_read_word(RG_PMU_A22); ++ int value_pmu_A24 = aml_w1_sdio_read_word(RG_PMU_A24); ++ int value_aon30 = aml_w1_sdio_read_word(RG_AON_A30); ++ unsigned char host_req_status; ++ ++ pr_debug("%s power off: before write A12=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x, AON30=0x%x\n", + __func__, value_pmu_A12,value_pmu_A15,value_pmu_A17,value_pmu_A18,value_pmu_A20,value_pmu_A22,value_pmu_A24, value_aon30); + + aml_w1_sdio_write_word(RG_INTF_CPU_CLK, 0x4f070001); @@ -38479,7 +38334,7 @@ index 000000000000..3f94d08f02ac + value_pmu_A22 = aml_w1_sdio_read_word(RG_PMU_A22); + value_pmu_A24 = aml_w1_sdio_read_word(RG_PMU_A24); + value_aon30 = aml_w1_sdio_read_word(RG_AON_A30); -+ printk("%s power off: after write A12=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x, AON30=0x%x\n", ++ pr_debug("%s power off: after write A12=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x, AON30=0x%x\n", + __func__, value_pmu_A12,value_pmu_A15,value_pmu_A17,value_pmu_A18,value_pmu_A20,value_pmu_A22,value_pmu_A24, value_aon30); + + //force wifi pmu fsm to sleep mode @@ -38491,7 +38346,7 @@ index 000000000000..3f94d08f02ac +extern int wifi_irq_num(void); +static void aml_sdio_shutdown(struct device *device) +{ -+ printk("===>>> enter %s <<<===\n", __func__); ++ pr_debug("===>>> enter %s <<<===\n", __func__); + if (wifi_irq_enable == 1) { +#if (USE_SDIO_IRQ==1) + struct sdio_func *func = g_w1_hwif_sdio.sdio_func_if[SDIO_FUNC1]; @@ -38511,11 +38366,11 @@ index 000000000000..3f94d08f02ac + } + } else if (shutdown_i == 7) { + shutdown_i = 0; -+ printk("===>>> end <<<===\n"); ++ pr_debug("===>>> end <<<===\n"); + } else { + ; + } -+ printk("=== shutdown_i:%d ===\n", shutdown_i); ++ pr_debug("=== shutdown_i:%d ===\n", shutdown_i); +} + + @@ -38540,114 +38395,100 @@ index 000000000000..3f94d08f02ac + .drv.shutdown = aml_sdio_shutdown, +}; + -+#ifdef NOT_AMLOGIC_PLATFORM -+ -+#define AML_STATIC_VERSION_STR "101.10.361.10 (wlan=r892223-20210623-1)" -+ -+#define DHD_SKB_1PAGE_BUFSIZE (PAGE_SIZE * 1) -+#define DHD_SKB_2PAGE_BUFSIZE (PAGE_SIZE * 2) -+#define DHD_SKB_4PAGE_BUFSIZE (PAGE_SIZE * 4) -+ -+#define DHD_SKB_1PAGE_BUF_NUM 8 -+#define DHD_SKB_2PAGE_BUF_NUM 8 -+#define DHD_SKB_4PAGE_BUF_NUM 1 -+ -+#define FW_VERBOSE_RING_SIZE (256 * 1024) -+#define DHD_PREALLOC_MEMDUMP_RAM_SIZE (1290 * 1024) -+#define NAN_EVENT_RING_SIZE (64 * 1024) -+#define WLAN_SKB_1_2PAGE_BUF_NUM ((DHD_SKB_1PAGE_BUF_NUM) + \ -+ (DHD_SKB_2PAGE_BUF_NUM)) -+#define WLAN_SKB_BUF_NUM ((WLAN_SKB_1_2PAGE_BUF_NUM) + (DHD_SKB_4PAGE_BUF_NUM)) ++static void *wlan_preallocated_rx_buf; ++static void *wlan_preallocated_tx_desc_buf; + -+void *wlan_static_dhd_memdump_ram_buf; -+void *wlan_static_nan_event_ring_buf; -+void *wlan_static_fw_verbose_ring_buf; ++/* Two defines below taken from aml_static_buf.c. */ ++#define AML_RX 11 ++#define AML_TX 20 ++/* This is value '(RX_FIFO_SIZE + 2 * FUNC6_BLKSIZE)' ++ * from function 'hi_rx_fifo_init()' in wifi_hif.c. ++ */ ++#define RX_BUF_LEN 459776 + -+enum dhd_prealloc_index { -+ DHD_PREALLOC_SKB_BUF = 4, -+ DHD_PREALLOC_MEMDUMP_RAM = 11, -+ DHD_PREALLOC_FW_VERBOSE_RING = 20, -+ DHD_PREALLOC_NAN_EVENT_RING = 23, -+ DHD_PREALLOC_MAX -+}; ++/* This is value of variable 'bsize' from function ++ * 'wifi_mac_tx_init()' in wifi_mac_if.c. Note, it ++ * depends on size of 'struct drv_txdesc', so we take ++ * biggest size between 32 and 64 bits build. ++ */ ++#define TX_DESC_BUF_LEN 246272 + +void *aml_mem_prealloc(int section, unsigned long size) +{ -+ PRINT("sectoin %d, size %ld\n", section, size); ++ switch (section) { ++ case AML_RX: ++ if (size > RX_BUF_LEN) ++ return NULL; + -+ if (section == DHD_PREALLOC_MEMDUMP_RAM) { -+ if (size > DHD_PREALLOC_MEMDUMP_RAM_SIZE) { -+ PRINT("request MEMDUMP_RAM(%lu) > %d\n", -+ size, DHD_PREALLOC_MEMDUMP_RAM_SIZE); -+ return NULL; -+ } -+ return wlan_static_dhd_memdump_ram_buf; -+ } ++ return wlan_preallocated_rx_buf; ++ case AML_TX: ++ if (size > TX_DESC_BUF_LEN) ++ return NULL; + -+ if (section == DHD_PREALLOC_FW_VERBOSE_RING) { -+ if (size > FW_VERBOSE_RING_SIZE) { -+ PRINT("request FW_VERBOSE_RING(%lu) > %d\n", -+ size, FW_VERBOSE_RING_SIZE); -+ return NULL; -+ } -+ return wlan_static_fw_verbose_ring_buf; ++ return wlan_preallocated_tx_desc_buf; ++ default: ++ return NULL; + } -+ -+ if (section < 0 || section > DHD_PREALLOC_MAX) -+ PRINT("request section id(%d) is out of max %d\n", -+ section, DHD_PREALLOC_MAX); -+ -+ PRINT("failed to alloc section %d, size=%ld\n", -+ section, size); -+ -+ return NULL; +} +EXPORT_SYMBOL(aml_mem_prealloc); + -+int aml_init_wlan_mem(void) ++static int aml_init_wlan_mem(void) +{ -+ unsigned long size = 0; -+ PRINT("%s\n", AML_STATIC_VERSION_STR); -+ -+ wlan_static_dhd_memdump_ram_buf = kmalloc(DHD_PREALLOC_MEMDUMP_RAM_SIZE, GFP_KERNEL); -+ if (!wlan_static_dhd_memdump_ram_buf) -+ goto err_mem_alloc; -+ size += DHD_PREALLOC_MEMDUMP_RAM_SIZE; -+ PRINT("sectoin %d, size=%d\n", -+ DHD_PREALLOC_MEMDUMP_RAM, DHD_PREALLOC_MEMDUMP_RAM_SIZE); -+ -+ wlan_static_fw_verbose_ring_buf = kmalloc(FW_VERBOSE_RING_SIZE, GFP_KERNEL); -+ if (!wlan_static_fw_verbose_ring_buf) -+ goto err_mem_alloc; -+ size += FW_VERBOSE_RING_SIZE; -+ PRINT("sectoin %d, size=%d\n", -+ DHD_PREALLOC_FW_VERBOSE_RING, FW_VERBOSE_RING_SIZE); ++#if defined(LOW_MEMORY_PLATFORM) ++ wlan_preallocated_tx_desc_buf = kmalloc(TX_DESC_BUF_LEN, GFP_KERNEL | __GFP_NOFAIL); ++#else ++ wlan_preallocated_tx_desc_buf = kmalloc(TX_DESC_BUF_LEN, GFP_KERNEL); ++#endif ++ if (!wlan_preallocated_tx_desc_buf) ++ return -ENOMEM; + -+ PRINT("prealloc ok: %ld(%ldK)\n", size, size / 1024); ++#if defined(LOW_MEMORY_PLATFORM) ++ wlan_preallocated_rx_buf = kvmalloc(RX_BUF_LEN, GFP_KERNEL | __GFP_NOFAIL); ++#else ++ wlan_preallocated_rx_buf = kvmalloc(RX_BUF_LEN, GFP_KERNEL); ++#endif ++ if (!wlan_preallocated_rx_buf) { ++ vfree(wlan_preallocated_tx_desc_buf); ++ return -ENOMEM; ++ } + return 0; ++} + -+err_mem_alloc: -+ kfree(wlan_static_dhd_memdump_ram_buf); -+ kfree(wlan_static_fw_verbose_ring_buf); -+ PRINT("Failed to mem_alloc for WLAN\n"); -+ -+ return -ENOMEM; ++static void aml_deinit_wlan_mem(void) ++{ ++ kfree(wlan_preallocated_rx_buf); ++ vfree(wlan_preallocated_tx_desc_buf); +} -+#endif + -+int aml_w1_sdio_init(void) ++int aml_w1_sdio_init(void) +{ + int err = 0; ++ int i; + + //amlwifi_set_sdio_host_clk(200000000);//200MHZ ++ for (i = 0; i < ARRAY_SIZE(sdio_dma_buf); i++) { ++ sdio_dma_buf[i] = kzalloc(SDIO_DMA_BUF_SIZE, GFP_DMA); ++ if (!sdio_dma_buf[i]) { ++ err = -ENOMEM; ++ goto err_out; ++ } ++ } + + err = sdio_register_driver(&aml_w1_sdio_driver); + w1_sdio_driver_insmoded = 1; + wifi_in_insmod = 0; + wifi_in_rmmod = 0; + PRINT("*****************aml sdio common driver is insmoded********************\n"); -+ if (err) ++ if (err) { + PRINT("failed to register sdio driver: %d \n", err); ++ goto err_out; ++ } ++ ++ return 0; ++ ++err_out: ++ for (i = 0; i < ARRAY_SIZE(sdio_dma_buf); i++) ++ kfree(sdio_dma_buf[i]); + + return err; +} @@ -38655,11 +38496,14 @@ index 000000000000..3f94d08f02ac + +void aml_w1_sdio_exit(void) +{ ++ int i = 0; + PRINT("aml_w1_sdio_exit++ \n"); + sdio_unregister_driver(&aml_w1_sdio_driver); + w1_sdio_driver_insmoded = 0; + w1_sdio_after_porbe = 0; + PRINT("*****************aml sdio common driver is rmmoded********************\n"); ++ for (i = 0; i < ARRAY_SIZE(sdio_dma_buf); i++) ++ kfree(sdio_dma_buf[i]); +} +//EXPORT_SYMBOL(aml_w1_sdio_exit); + @@ -38700,22 +38544,22 @@ index 000000000000..3f94d08f02ac + +static int aml_w1_sdio_insmod(void) +{ -+#ifdef NOT_AMLOGIC_PLATFORM + int ret; + ret = aml_init_wlan_mem(); + if (ret) { + PRINT("aml_init_wlan_mem err: %d \n", ret); + return -ENOMEM; + } -+#endif ++ + aml_w1_sdio_init(); -+ printk("%s(%d) start...\n",__func__, __LINE__); ++ pr_debug("%s(%d) start...\n",__func__, __LINE__); + return 0; +} + +static void aml_w1_sdio_rmmod(void) +{ + aml_w1_sdio_exit(); ++ aml_deinit_wlan_mem(); +} + +module_init(aml_w1_sdio_insmod); @@ -38723,10 +38567,10 @@ index 000000000000..3f94d08f02ac +MODULE_LICENSE("GPL"); diff --git a/drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.h b/drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.h new file mode 100644 -index 000000000000..a625a427286e +index 0000000000000000000000000000000000000000..248a89e422bf055942e10a8731a6eb315230abd6 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/w1_sdio/w1_sdio.h -@@ -0,0 +1,185 @@ +@@ -0,0 +1,188 @@ +#include +#include +#include @@ -38747,7 +38591,7 @@ index 000000000000..a625a427286e +#include +#include +#include -+#include /* printk() */ ++#include /* pr_debug() */ +#include +#include +#include @@ -38761,18 +38605,18 @@ index 000000000000..a625a427286e +extern void amlwifi_set_sdio_host_clk(int clk); +extern void set_usb_bt_power(int is_on); + -+#define PRINT(...) do {printk("w1_sdio->");printk( __VA_ARGS__ );}while(0) ++#define PRINT(...) do {pr_debug("w1_sdio->");pr_debug( __VA_ARGS__ );}while(0) +#ifndef ASSERT +#define ASSERT(exp) do{ \ + if (!(exp)) { \ -+ printk("=>=>=>=>=>assert %s,%d\n",__func__,__LINE__); \ ++ pr_err("=>=>=>=>=>assert %s,%d\n",__func__,__LINE__); \ + /*BUG(); while(1); */ \ + } \ + } while (0); +#endif + +#define ERROR_DEBUG_OUT(format,...) do { \ -+ printk("FUNCTION: %s LINE: %d:"format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ ++ pr_err("FUNCTION: %s LINE: %d:"format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ + } while (0) + + @@ -38912,9 +38756,12 @@ index 000000000000..a625a427286e + int (*hif_suspend)(unsigned int suspend_enable); +}; + ++void aml_wifi_sdio_power_lock(void); ++void aml_wifi_sdio_power_unlock(void); ++void *aml_mem_prealloc(int section, unsigned long size); diff --git a/drivers/net/wireless/w1/vmac/wifi_android.c b/drivers/net/wireless/w1/vmac/wifi_android.c new file mode 100644 -index 000000000000..d21047324c2a +index 0000000000000000000000000000000000000000..196f47ebf0808d1d45e051c3bf2ed2c00717b2cf --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_android.c @@ -0,0 +1,491 @@ @@ -38992,14 +38839,14 @@ index 000000000000..d21047324c2a + bytes_written += snprintf(&command[bytes_written], total_len, "%s rssi %d\n", + wnet_vif->vm_mainsta->sta_essid, rssi); + -+ printk("sta_avg_rssi:%d, sta_avg_bcn_rssi:%d\n", ++ pr_debug("sta_avg_rssi:%d, sta_avg_bcn_rssi:%d\n", + (wnet_vif->vm_mainsta->sta_avg_rssi - 255), wnet_vif->vm_mainsta->sta_avg_bcn_rssi); + } + } + + return bytes_written; +} -+unsigned int aml_atoi(unsigned char* s) ++static unsigned int aml_atoi(unsigned char* s) +{ + + int num=0,flag=0; @@ -39073,7 +38920,7 @@ index 000000000000..d21047324c2a +{ + int ret = 0; + -+ printk("%s in\n", __FUNCTION__); ++ pr_debug("%s in\n", __FUNCTION__); + if (!dev) + { + ERROR_DEBUG_OUT("dev is null\n"); @@ -39088,7 +38935,7 @@ index 000000000000..d21047324c2a +{ + int ret = 0; + -+ printk("%s in\n", __FUNCTION__); ++ pr_debug("%s in\n", __FUNCTION__); + if (!dev) + { + ERROR_DEBUG_OUT("dev is null\n"); @@ -39411,94 +39258,94 @@ index 000000000000..d21047324c2a + diff --git a/drivers/net/wireless/w1/vmac/wifi_android.h b/drivers/net/wireless/w1/vmac/wifi_android.h new file mode 100644 -index 000000000000..aba262cb826a +index 0000000000000000000000000000000000000000..ca3e47afeb5c6a2434ea9897a5cb6ffa5ecdd23d --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_android.h @@ -0,0 +1,78 @@ -+/* -+ **************************************************************************************** -+ * -+ * Copyright (C) Amlogic 2010-2014 -+ * -+ * Project: 11N 80211 mac layer Software -+ * -+ * Description: -+ * wifi_mac android interface module -+ * -+ * -+ **************************************************************************************** -+ */ -+#ifndef _IEEE80211_ANDROID_H_ -+#define _IEEE80211_ANDROID_H_ -+ -+struct android_wifi_priv_cmd -+{ -+ char *buf; -+ int used_len; -+ int total_len; -+} ; -+ -+#ifdef CONFIG_COMPAT -+ typedef struct _compat_android_wifi_priv_cmd { -+ compat_caddr_t buf; -+ int used_len; -+ int total_len; -+ } compat_android_wifi_priv_cmd; -+#endif /* CONFIG_COMPAT */ -+ -+enum ANDROID_WIFI_CMD -+{ -+ ANDROID_WIFI_CMD_START = 0, -+ ANDROID_WIFI_CMD_STOP, -+ ANDROID_WIFI_CMD_SCAN_ACTIVE, -+ ANDROID_WIFI_CMD_SCAN_PASSIVE, -+ ANDROID_WIFI_CMD_RSSI, -+ ANDROID_WIFI_CMD_LINKSPEED = 5, -+ ANDROID_WIFI_CMD_RXFILTER_START, -+ ANDROID_WIFI_CMD_RXFILTER_STOP, -+ ANDROID_WIFI_CMD_RXFILTER_ADD, -+ ANDROID_WIFI_CMD_RXFILTER_REMOVE, -+ ANDROID_WIFI_CMD_BTCOEXSCAN_START = 10, -+ ANDROID_WIFI_CMD_BTCOEXSCAN_STOP, -+ ANDROID_WIFI_CMD_BTCOEXMODE, -+ ANDROID_WIFI_CMD_SETSUSPENDOPT, -+ ANDROID_WIFI_CMD_SETFWPATH, -+ ANDROID_WIFI_CMD_SETBAND = 15, -+ ANDROID_WIFI_CMD_GETBAND, -+ ANDROID_WIFI_CMD_COUNTRY, -+ ANDROID_WIFI_CMD_P2P_SET_NOA, -+ ANDROID_WIFI_CMD_P2P_GET_NOA, -+ ANDROID_WIFI_CMD_P2P_SET_PS = 20, -+ ANDROID_WIFI_CMD_SET_AP_WPS_P2P_IE, -+#ifdef PNO_SUPPORT -+ ANDROID_WIFI_CMD_PNOSSIDCLR_SET, -+ ANDROID_WIFI_CMD_PNOSETUP_SET, -+ ANDROID_WIFI_CMD_PNOENABLE_SET, -+ ANDROID_WIFI_CMD_PNODEBUG_SET, -+#endif -+ -+ ANDROID_WIFI_CMD_BLOCK, -+ -+ ANDROID_WIFI_CMD_WFD_ENABLE, -+ ANDROID_WIFI_CMD_WFD_DISABLE, -+ -+ ANDROID_WIFI_CMD_WFD_SET_TCPPORT, -+ ANDROID_WIFI_CMD_WFD_SET_MAX_TPUT, -+ ANDROID_WIFI_CMD_WFD_SET_DEVTYPE, -+ ANDROID_WIFI_CMD_FW_REPAIR, -+ -+ ANDROID_WIFI_CMD_MAX -+}; -+ -+ -+int aml_android_priv_cmd(struct wlan_net_vif *wnet_vif, void __user *data, int cmd); -+#endif //_IEEE80211_ANDROID_H_ ++/* ++ **************************************************************************************** ++ * ++ * Copyright (C) Amlogic 2010-2014 ++ * ++ * Project: 11N 80211 mac layer Software ++ * ++ * Description: ++ * wifi_mac android interface module ++ * ++ * ++ **************************************************************************************** ++ */ ++#ifndef _IEEE80211_ANDROID_H_ ++#define _IEEE80211_ANDROID_H_ ++ ++struct android_wifi_priv_cmd ++{ ++ char *buf; ++ int used_len; ++ int total_len; ++} ; ++ ++#ifdef CONFIG_COMPAT ++ typedef struct _compat_android_wifi_priv_cmd { ++ compat_caddr_t buf; ++ int used_len; ++ int total_len; ++ } compat_android_wifi_priv_cmd; ++#endif /* CONFIG_COMPAT */ ++ ++enum ANDROID_WIFI_CMD ++{ ++ ANDROID_WIFI_CMD_START = 0, ++ ANDROID_WIFI_CMD_STOP, ++ ANDROID_WIFI_CMD_SCAN_ACTIVE, ++ ANDROID_WIFI_CMD_SCAN_PASSIVE, ++ ANDROID_WIFI_CMD_RSSI, ++ ANDROID_WIFI_CMD_LINKSPEED = 5, ++ ANDROID_WIFI_CMD_RXFILTER_START, ++ ANDROID_WIFI_CMD_RXFILTER_STOP, ++ ANDROID_WIFI_CMD_RXFILTER_ADD, ++ ANDROID_WIFI_CMD_RXFILTER_REMOVE, ++ ANDROID_WIFI_CMD_BTCOEXSCAN_START = 10, ++ ANDROID_WIFI_CMD_BTCOEXSCAN_STOP, ++ ANDROID_WIFI_CMD_BTCOEXMODE, ++ ANDROID_WIFI_CMD_SETSUSPENDOPT, ++ ANDROID_WIFI_CMD_SETFWPATH, ++ ANDROID_WIFI_CMD_SETBAND = 15, ++ ANDROID_WIFI_CMD_GETBAND, ++ ANDROID_WIFI_CMD_COUNTRY, ++ ANDROID_WIFI_CMD_P2P_SET_NOA, ++ ANDROID_WIFI_CMD_P2P_GET_NOA, ++ ANDROID_WIFI_CMD_P2P_SET_PS = 20, ++ ANDROID_WIFI_CMD_SET_AP_WPS_P2P_IE, ++#ifdef PNO_SUPPORT ++ ANDROID_WIFI_CMD_PNOSSIDCLR_SET, ++ ANDROID_WIFI_CMD_PNOSETUP_SET, ++ ANDROID_WIFI_CMD_PNOENABLE_SET, ++ ANDROID_WIFI_CMD_PNODEBUG_SET, ++#endif ++ ++ ANDROID_WIFI_CMD_BLOCK, ++ ++ ANDROID_WIFI_CMD_WFD_ENABLE, ++ ANDROID_WIFI_CMD_WFD_DISABLE, ++ ++ ANDROID_WIFI_CMD_WFD_SET_TCPPORT, ++ ANDROID_WIFI_CMD_WFD_SET_MAX_TPUT, ++ ANDROID_WIFI_CMD_WFD_SET_DEVTYPE, ++ ANDROID_WIFI_CMD_FW_REPAIR, ++ ++ ANDROID_WIFI_CMD_MAX ++}; ++ ++ ++int aml_android_priv_cmd(struct wlan_net_vif *wnet_vif, void __user *data, int cmd); ++#endif //_IEEE80211_ANDROID_H_ diff --git a/drivers/net/wireless/w1/vmac/wifi_cfg80211.c b/drivers/net/wireless/w1/vmac/wifi_cfg80211.c new file mode 100644 -index 000000000000..b6e0dde8a4ca +index 0000000000000000000000000000000000000000..c08dbcfdb98af231513ee98826f2c566b38c157b --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_cfg80211.c -@@ -0,0 +1,7104 @@ +@@ -0,0 +1,7435 @@ +/* + **************************************************************************************** + * @@ -39521,6 +39368,10 @@ index 000000000000..b6e0dde8a4ca +#include "rf_d_adda_recv_reg.h" +#include "chip_intf_reg.h" +#include ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0) && defined (CONFIG_AMLOGIC_KERNEL_VERSION)) \ ++ && __has_include() ++#include ++#endif +#include "wifi_pkt_desc.h" +#include "wifi_mac_sae.h" +#include "wifi_mac_action.h" @@ -40779,7 +40630,7 @@ index 000000000000..b6e0dde8a4ca + if (buf && len && (WIFINET_M_HOSTAP == wnet_vif->vm_opmode)) + { + AML_PRINT(AML_DBG_MODULES_P2P, "len=%d\n", len); -+ //dump_memory_internel(buf, len); ++ //dump_memory_internal(buf, len); + } +#endif + @@ -40983,17 +40834,30 @@ index 000000000000..b6e0dde8a4ca + +void vm_cfg80211_indicate_connect(struct wlan_net_vif *wnet_vif) +{ -+ struct wireless_dev *pwdev = wnet_vif->vm_wdev; -+ struct vm_wdev_priv *pwdev_priv = wdev_to_priv(pwdev); -+ struct wifi_station *sta = wnet_vif->vm_mainsta; ++ struct wireless_dev *pwdev; ++ struct vm_wdev_priv *pwdev_priv; ++ struct wifi_station *sta; +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)) + struct cfg80211_bss *bss = NULL; + struct ieee80211_channel *notify_channel = NULL; -+ unsigned short channel = wnet_vif->vm_curchan->chan_pri_num; ++ unsigned short channel; + unsigned int freq; ++#endif ++ ++ if (!wnet_vif) ++ return; + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)) ++ if (!wnet_vif->vm_curchan) ++ return; ++ ++ channel = wnet_vif->vm_curchan->chan_pri_num; +#endif + ++ pwdev = wnet_vif->vm_wdev; ++ pwdev_priv = wdev_to_priv(pwdev); ++ sta = wnet_vif->vm_mainsta; ++ + DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s>\n", __func__, __LINE__, VMAC_DEV_NAME(wnet_vif)); + + if ((pwdev->iftype != NL80211_IFTYPE_STATION) @@ -41011,6 +40875,10 @@ index 000000000000..b6e0dde8a4ca + __func__, __LINE__, wnet_vif->vm_state,pwdev->iftype); + pwdev_priv->connect_request = NULL; + ++ if (sta->connect_status == CONNECT_CONNECTED) { ++ DPRINTF(AML_DEBUG_CFG80211,"%s %d, already connected\n", __func__, __LINE__); ++ return; ++ } +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)) + if (channel <= AML_2G_CHANNELS_NUM) + freq = aml_ieee80211_chan_to_frq(channel, IEEE80211_BAND_2GHZ); @@ -41041,6 +40909,7 @@ index 000000000000..b6e0dde8a4ca + wnet_vif->assocrsp_ie.length, WLAN_STATUS_SUCCESS, GFP_ATOMIC); +#endif + ++ sta->connect_status = CONNECT_CONNECTED; + DPRINTF(AML_DEBUG_CFG80211, "%s %d wnet_vif->vm_state=%d\n", __func__, __LINE__, wnet_vif->vm_state); + return; +} @@ -41049,10 +40918,13 @@ index 000000000000..b6e0dde8a4ca +vm_cfg80211_connect_timeout_task(SYS_TYPE net) +{ + struct wlan_net_vif *wnet_vif = (struct wlan_net_vif*)net; -+ vm_cfg80211_indicate_disconnect(wnet_vif); -+ wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); ++ + wnet_vif->vm_des_nssid = 0; ++ wnet_vif->vm_curchan = WIFINET_CHAN_ERR; + memset(wnet_vif->vm_des_ssid, 0, IV_SSID_SCAN_AMOUNT*sizeof(struct wifi_mac_ScanSSID)); ++ vm_cfg80211_indicate_disconnect(wnet_vif); ++ wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); ++ + return; +} + @@ -41098,7 +40970,7 @@ index 000000000000..b6e0dde8a4ca +#endif +} + -+void vm_cfg80211_connect_result(struct wlan_net_vif *wnet_vif) ++static void vm_cfg80211_connect_result(struct wlan_net_vif *wnet_vif) +{ + wifi_mac_add_work_task(wnet_vif->vm_wmac, vm_cfg80211_connect_result_ex, NULL, (SYS_TYPE)wnet_vif, 0, 0, 0, 0); +} @@ -41107,9 +40979,16 @@ index 000000000000..b6e0dde8a4ca +{ + struct wireless_dev *pwdev = wnet_vif->vm_wdev; + struct vm_wdev_priv *pwdev_priv = wdev_to_priv(pwdev); ++ struct wifi_station *sta = wnet_vif->vm_mainsta; + struct wifi_mac *wifimac = wnet_vif->vm_wmac; ++ unsigned int status_code = WLAN_STATUS_UNSPECIFIED_FAILURE; ++ unsigned char report = 0; ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)) ++ struct cfg80211_bss *bss = NULL; ++#endif + -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s>\n", __func__, __LINE__, VMAC_DEV_NAME(wnet_vif)); ++ DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s> vm_state:%d, disconnect_reason_code:%d\n", __func__, __LINE__, ++ VMAC_DEV_NAME(wnet_vif), wnet_vif->vm_state, wnet_vif->disconnect_reason_code); + + if ((pwdev->iftype != NL80211_IFTYPE_STATION) +#ifdef CONFIG_P2P @@ -41126,33 +41005,75 @@ index 000000000000..b6e0dde8a4ca + os_timer_ex_cancel(&pwdev_priv->connect_timeout, CANCEL_SLEEP); + } + -+ if (wnet_vif->vm_state == WIFINET_S_CONNECTING) { ++ if ((wnet_vif->vm_phase_flags & PHASE_DISCONNECTING) && (pwdev->iftype == NL80211_IFTYPE_STATION)) { ++ wnet_vif->vm_phase_flags &= PHASE_DISCONNECTING; ++ } else { ++ wnet_vif->vm_phase_flags = 0; ++ } ++ ++ if (sta->connect_status == CONNECT_DISCONNECTED) { ++ DPRINTF(AML_DEBUG_CFG80211, "%s %d already disconnected\n", __func__, __LINE__); ++ return; ++ } ++ ++ do { ++ if (((wnet_vif->vm_state > WIFINET_S_SCAN) ++ || ((wnet_vif->vm_state == WIFINET_S_SCAN) ++ && (wnet_vif->vm_state_pre > WIFINET_S_SCAN) ++ && (wnet_vif->vm_state_pre < WIFINET_S_CONNECTED))) ++ && (wnet_vif->vm_state_pre < WIFINET_S_CONNECTED)) { ++ if (wnet_vif->disconnect_reason_code) { ++ status_code = wnet_vif->disconnect_reason_code; ++ } +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)) -+ cfg80211_connect_bss(wnet_vif->vm_ndev, NULL, NULL, NULL, 0, NULL, ++ bss = cfg80211_get_bss(pwdev->wiphy, NULL, sta->sta_bssid, sta->sta_essid, sta->sta_esslen, ++ IEEE80211_BSS_TYPE_ANY, IEEE80211_PRIVACY_ANY); ++ ++ if (bss == NULL) { ++ DPRINTF(AML_DEBUG_CFG80211, "%s %d, bss entry has been released by the user\n", __func__, __LINE__); ++ break; ++ } ++ ++ cfg80211_connect_bss(wnet_vif->vm_ndev, sta->sta_bssid, bss, NULL, 0, NULL, +#if LINUX_VERSION_CODE <= KERNEL_VERSION(4, 12, 0) -+ 0, WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_KERNEL); ++ 0, status_code, GFP_ATOMIC); +#else -+ 0, WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_KERNEL,NL80211_TIMEOUT_UNSPECIFIED); ++ 0, status_code, GFP_ATOMIC,NL80211_TIMEOUT_UNSPECIFIED); +#endif +#else -+ cfg80211_connect_result(wnet_vif->vm_ndev, NULL, NULL, 0, NULL, 0, -+ WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_ATOMIC); ++ cfg80211_connect_result(wnet_vif->vm_ndev, sta->sta_bssid, NULL, 0, NULL, 0, ++ status_code, GFP_ATOMIC); +#endif ++ report = 1; ++ } ++ } while (0); ++ ++ if (report == 0 || sta->connect_status == CONNECT_DISCONNECTING) { ++ bool local_generated = false; + -+ } else { + #if LINUX_VERSION_CODE < KERNEL_VERSION(4,16,1) -+ if ((wnet_vif->vm_flags & WIFINET_F_PRIVACY) && !(wnet_vif->vm_flags & WIFINET_F_WPA)) { ++ if ((wnet_vif->vm_flags & WIFINET_F_PRIVACY) && !(wnet_vif->vm_flags & WIFINET_F_WPA) && report == 0) { ++ wnet_vif->vm_phase_flags |= PHASE_WAIT_DISCONNECT_RESULT; + vm_cfg80211_connect_result(wnet_vif); + } + #endif + ++ if (wnet_vif->disconnect_reason_code == DISCONNECT_SYSTEM) { ++ local_generated = true; ++ } ++ + #if LINUX_VERSION_CODE > KERNEL_VERSION(4,2,0) -+ cfg80211_disconnected(wnet_vif->vm_ndev, 0, NULL, 0, false, GFP_ATOMIC); ++ /* coverity[NESTING_INDENT_MISMATCH:SUPPRESS] */ ++ cfg80211_disconnected(wnet_vif->vm_ndev, wnet_vif->disconnect_reason_code, NULL, 0, local_generated, GFP_ATOMIC); + #else -+ cfg80211_disconnected(wnet_vif->vm_ndev, 0, NULL, 0, GFP_ATOMIC); ++ cfg80211_disconnected(wnet_vif->vm_ndev, wnet_vif->disconnect_reason_code, NULL, 0, GFP_ATOMIC); + #endif + } ++ + wnet_vif->vm_phase_flags = 0; ++ wnet_vif->disconnect_reason_code = 0; ++ wnet_vif->vm_des_channel = WIFINET_CHAN_ERR; ++ sta->connect_status = CONNECT_DISCONNECTED; + wifimac->recovery_stat = WIFINET_RECOVERY_END; + os_timer_ex_cancel(&wnet_vif->vm_mgtsend, CANCEL_SLEEP); + return; @@ -41163,103 +41084,16 @@ index 000000000000..b6e0dde8a4ca + struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; + struct net_device *dev = wnet_vif->vm_ndev; + struct station_info sinfo; -+ unsigned char *buf = NULL, *pbuf = NULL; -+ size_t len = 0; -+ int ielen = 0; -+ int index = 0; -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s>\n", __func__, __LINE__, VMAC_DEV_NAME(wnet_vif)); -+ memset(&sinfo, 0, sizeof(struct station_info)); -+ //sinfo.generation = 0; -+ //sinfo.filled = 0; -+ //sinfo.signal = 0; + -+ //sinfo.assoc_req_ies = NULL; //not ready for kernel=2.6.34 -+ //sinfo.assoc_req_ies_len = 0; //not ready for kernel=2.6.34 -+#ifndef KERNEL_VERSION_SPECIFIC_AML_ICS_308 -+ buf = ZMALLOC(AML_SCAN_IE_LEN_MAX,"buf", GFP_ATOMIC); -+ if (!buf) -+ { -+ DPRINTF(AML_DEBUG_CFG80211|AML_DEBUG_ERROR, "%s %d ERROR NOMEM\n", __func__, __LINE__); -+ goto exit; -+ } -+ -+ #if LINUX_VERSION_CODE > KERNEL_VERSION(3,14,29) -+ //sinfo.filled |= STATION_INFO_ASSOC_REQ_IES; -+ #else -+ sinfo.filled |= STATION_INFO_ASSOC_REQ_IES; -+ #endif -+ -+ pbuf = buf; -+ len = 0; -+ if (sta->sta_wpa_ie) -+ { -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d cp sta_wpa_ie\n", __func__, __LINE__); -+ ielen = wifi_mac_copy_ie(pbuf, sta->sta_wpa_ie, SCANINFO_IE_DATA_LENGTH); -+ pbuf += ielen; -+ len += ielen; -+ } -+ if (sta->sta_rsn_ie) -+ { -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d cp sta_rsn_ie\n", __func__, __LINE__); -+ ielen = wifi_mac_copy_ie(pbuf, sta->sta_rsn_ie, SCANINFO_IE_DATA_LENGTH); -+ pbuf += ielen; -+ len += ielen; -+ } -+ if (sta->sta_wps_ie) -+ { -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d cp sta_wps_ie\n", __func__, __LINE__); -+ ielen = wifi_mac_copy_ie(pbuf, sta->sta_wps_ie, SCANINFO_IE_DATA_LENGTH); -+ pbuf += ielen; -+ len += ielen; -+ } -+ if (sta->sta_wme_ie) -+ { -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d cp sta_wme_ie\n", __func__, __LINE__); -+ ielen = wifi_mac_copy_ie(pbuf, sta->sta_wme_ie, SCANINFO_IE_DATA_LENGTH); -+ pbuf += ielen; -+ len += ielen; -+ } -+#ifdef CONFIG_P2P -+ for (index = 0; index < MAX_P2PIE_NUM; index++) -+ { -+ if (sta->sta_p2p_ie[index]) -+ { -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d cp sta_p2p_ie\n", __func__, __LINE__); -+ ielen = wifi_mac_copy_ie(pbuf, sta->sta_p2p_ie[index], SCANINFO_IE_DATA_LENGTH); -+ pbuf += ielen; -+ len += ielen; -+ } -+ } -+#endif//CONFIG_P2P -+#ifdef CONFIG_WFD -+ if (sta->sta_wfd_ie) -+ { -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d cp sta_p2p_ie\n", __func__, __LINE__); -+ ielen = wifi_mac_copy_ie(pbuf, sta->sta_wfd_ie, SCANINFO_IE_DATA_LENGTH); -+ pbuf += ielen; -+ len += ielen; -+ } -+#endif//CONFIG_WFD -+#ifdef CONFIG_WAPI -+ if (sta->sta_wai_ie) -+ { -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d cp sta_wai_ie\n", __func__, __LINE__); -+ ielen = wifi_mac_copy_ie(pbuf, sta->sta_wai_ie, SCANINFO_IE_DATA_LENGTH); -+ pbuf += ielen; -+ len += ielen; -+ } -+#endif -+ sinfo.assoc_req_ies = buf; -+ sinfo.assoc_req_ies_len = len; -+#endif -+ exit: ++ memset(&sinfo, 0, sizeof(struct station_info)); ++ sinfo.assoc_req_ies = sta->sta_assoc_req; ++ sinfo.assoc_req_ies_len = sta->sta_assoc_req_ielen; + cfg80211_new_sta(dev, sta->sta_macaddr, &sinfo, GFP_ATOMIC); + + //not ready for kernel=2.6.34 + //cfg80211_rx_mgmt(dev, freq, buf, len, gfp); + -+ FREE(buf,"buf"); -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d\n", __func__, __LINE__); ++ DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s>\n", __func__, __LINE__, VMAC_DEV_NAME(wnet_vif)); + return; +} +void @@ -41327,6 +41161,7 @@ index 000000000000..b6e0dde8a4ca + //p2p-p2p0-1 + // wifimac->wm_nops.wm_vmac_create(wifimac, name, 2, nl80211_iftype_2_drv_opmode(type), NULL); + vm_cfg80211_add_p2p_go_if(wnet_vif,name,type); ++ aml_wifi_set_con_mode(wnet_vif->vm_wmac); + break; + case NL80211_IFTYPE_AP: + DPRINTF(AML_DEBUG_CFG80211, "%s %d AP\n", __func__, __LINE__); @@ -41422,7 +41257,7 @@ index 000000000000..b6e0dde8a4ca + int ret = 0; + + if (!aml_insmod_flag) { -+ printk("%s %d, aml insmod not complete\n",__func__,__LINE__); ++ pr_err("%s %d, aml insmod not complete\n",__func__,__LINE__); + return -1; + } + @@ -41484,6 +41319,7 @@ index 000000000000..b6e0dde8a4ca + wait_for_ap_run(wnet_vif, 10000, 100); + DPRINTF(AML_DEBUG_CFG80211, "%s %d wait_for_ap_run over\n", __func__, __LINE__); + } ++ aml_wifi_set_con_mode(wnet_vif->vm_wmac); + } + +exit: @@ -41562,13 +41398,17 @@ index 000000000000..b6e0dde8a4ca + } +#endif + ++ if (wifimac->wm_flags & WIFINET_F_CHANSWITCH) { ++ DPRINTF(AML_DEBUG_WARNING, "%s(%d), rejected wlan0 scan due to channel switch\n",__func__,__LINE__); ++ return -EINVAL; ++ } ++ + /*need thinking more, maybe there are bugs happen*/ -+ /* -+ if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) && (wifimac->wm_nrunning == 2)) { ++ if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) && (wifimac->wm_nrunning == 2) && ++ !concurrent_check_is_vmac_same_pri_channel(wifimac)) { + DPRINTF(AML_DEBUG_WARNING, "%s(%d), rejected wlan0 scan due to softap working\n",__func__,__LINE__); + return -EINVAL; + } -+ */ + + if (wifimac->wm_flags & WIFINET_F_SCAN) { + if ((wnet_vif->wnet_vif_id != NET80211_MAIN_VMAC) || (pwdev_priv->scan_request == NULL)) { @@ -41687,7 +41527,7 @@ index 000000000000..b6e0dde8a4ca + unsigned short retry_short = 0; + unsigned short retry_long = 0; + -+ printk("enter %s, %d\n", __func__, __LINE__); ++ pr_debug("enter %s, %d\n", __func__, __LINE__); + retry_short = wiphy->retry_short; + retry_long = wiphy->retry_long; + if (changed & WIPHY_PARAM_RETRY_LONG || changed & WIPHY_PARAM_RETRY_SHORT) { @@ -41702,13 +41542,13 @@ index 000000000000..b6e0dde8a4ca + if (changed & WIPHY_PARAM_RTS_THRESHOLD && + wnet_vif->vm_rtsthreshold != wiphy->rts_threshold) { + wnet_vif->vm_rtsthreshold = wiphy->rts_threshold; -+ printk("vm_rtsthreshold:%d\n", wnet_vif->vm_rtsthreshold); ++ pr_debug("vm_rtsthreshold:%d\n", wnet_vif->vm_rtsthreshold); + } + + if (changed & WIPHY_PARAM_FRAG_THRESHOLD && + wnet_vif->vm_fragthreshold != wiphy->frag_threshold) { + wnet_vif->vm_fragthreshold = wiphy->frag_threshold; -+ printk("vm_fragthreshold: %d\n", wnet_vif->vm_fragthreshold); ++ pr_debug("vm_fragthreshold: %d\n", wnet_vif->vm_fragthreshold); + } + + DPRINTF(AML_DEBUG_CFG80211, "%s %d\n", __func__, __LINE__); @@ -41724,7 +41564,7 @@ index 000000000000..b6e0dde8a4ca + struct wireless_dev *vm_wdev; + + vm_wdev = wnet_vif->vm_wdev; -+ printk("vm_wdev:0x%p, %s, %d\n", vm_wdev, __func__, __LINE__); ++ pr_debug("vm_wdev:0x%p, %s, %d\n", vm_wdev, __func__, __LINE__); + +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0) + chandef = &vm_wdev->preset_chandef; @@ -41785,7 +41625,7 @@ index 000000000000..b6e0dde8a4ca + break; + case NL80211_CHAN_WIDTH_80P80: + case NL80211_CHAN_WIDTH_160: -+ printk("%s:%d, not support bandwidth %d yet \n", ++ pr_warn("%s:%d, not support bandwidth %d yet \n", + __func__, __LINE__, params->chandef.width); + bw = WIFINET_BWC_WIDTH20; + center_chan = pri_chan; @@ -41834,7 +41674,7 @@ index 000000000000..b6e0dde8a4ca + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + + DPRINTF(AML_DEBUG_CFG80211, "%s %d\n", __func__, __LINE__); -+ printk("---tx_power_setting: %d, dbm: %d\n", type, dbm); ++ pr_debug("---tx_power_setting: %d, dbm: %d\n", type, dbm); + + wifimac->drv_priv->drv_ops.drv_set_txPwrLimit(wifimac->drv_priv, type, dbm); + @@ -41849,7 +41689,7 @@ index 000000000000..b6e0dde8a4ca + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + + DPRINTF(AML_DEBUG_CFG80211, "%s %d\n", __func__, __LINE__); -+ printk("---drv_curtxpower:%d\n", *dbm); ++ pr_debug("---drv_curtxpower:%d\n", *dbm); + *dbm = wifimac->drv_priv->drv_curtxpower; + + return 0; @@ -41899,7 +41739,7 @@ index 000000000000..b6e0dde8a4ca + memcpy(k->wk_key, key, key_len); + memset(k->wk_key + key_len, 0, WIFINET_KEYBUF_SIZE - key_len); + //if (aml_debug & AML_DEBUG_CFG80211) { -+ // dump_memory_internel(k->wk_key, WIFINET_KEYBUF_SIZE+16); ++ // dump_memory_internal(k->wk_key, WIFINET_KEYBUF_SIZE+16); + //} + if (!wifi_mac_security_setkey(wnet_vif, k, wnet_vif->vm_myaddr, NULL)) + { @@ -42094,7 +41934,7 @@ index 000000000000..b6e0dde8a4ca + if (kr.ik_type == WIFINET_CIPHER_AES_CMAC) { + wk->wk_valid = 1; + wk->wk_keyix = key_index; -+ printk("not set pmf key to fw\n"); ++ pr_debug("not set pmf key to fw\n"); + goto new_key_exit; + } + @@ -42178,10 +42018,19 @@ index 000000000000..b6e0dde8a4ca + goto exit; + } + -+ while (total_delay < 1000 && ((sta->connect_status != CONNECT_IDLE) -+ || (!drv_priv->hal_priv->hal_ops.hal_tx_empty()))) { -+ if (wnet_vif->vm_opmode == WIFINET_M_HOSTAP && sta->is_disconnecting == 0) ++ while (total_delay < 1000) { ++ if ((wnet_vif->vm_opmode == WIFINET_M_HOSTAP) ++ && ((sta->is_disconnecting == 0) || (drv_priv->hal_priv->hal_ops.hal_tx_empty()))) { + break; ++ } ++ ++ if ((wnet_vif->vm_opmode == WIFINET_M_STA) ++ && (drv_priv->hal_priv->hal_ops.hal_tx_empty()) ++ && ((sta->connect_status == CONNECT_IDLE) || (sta->connect_status == CONNECT_DISCONNECTED))) ++ { ++ break; ++ } ++ + msleep(10); + total_delay += 10; + } @@ -42289,13 +42138,15 @@ index 000000000000..b6e0dde8a4ca + struct wlan_net_vif *wnet_vif = wiphy_to_adapter(wiphy); + struct vm_wdev_priv *pwdev_priv = wdev_to_priv(wnet_vif->vm_wdev); + struct cfg80211_connect_params *lsme = sme; -+ ++ struct cfg80211_bss *bss = NULL; + int ret = 0; + unsigned char *rsn_ie = NULL; + unsigned int rsn_ie_len = 0; + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + struct wifi_mac_scan_state *ss = wifimac->wm_scan; + struct drv_private* drv_priv = wifimac->drv_priv; ++ struct wlan_net_vif *p2p_vmac = drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; ++ unsigned int delay_ms = 0; + + DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s> privacy=%d, key=%p, key_len=%d, key_idx=%d\n", + __func__, __LINE__, dev->name, lsme->privacy, lsme->key, lsme->key_len, lsme->key_idx); @@ -42340,6 +42191,18 @@ index 000000000000..b6e0dde8a4ca + return ret; + } + ++ while (wnet_vif->vm_mainsta->is_disconnecting || wnet_vif->vm_mainsta->connect_status == CONNECT_DISCONNECTING) ++ { ++ msleep(5); ++ delay_ms += 5; ++ ++ if (delay_ms >= 1000) { ++ ERROR_DEBUG_OUT("disconnecting process is not done, delay_ms:%d, connect_status:%d\n", delay_ms, wnet_vif->vm_mainsta->connect_status); ++ ret = -EBUSY; ++ goto exit; ++ } ++ } ++ + if (pwdev_priv->connect_request) { + DPRINTF(AML_DEBUG_WARNING, "%s %d multiple connect req, should not happen\n", __func__, __LINE__); + } @@ -42347,20 +42210,47 @@ index 000000000000..b6e0dde8a4ca + + memset(wnet_vif->vm_des_ssid, 0, IV_SSID_SCAN_AMOUNT * sizeof(struct wifi_mac_ScanSSID)); + memset(wnet_vif->vm_des_bssid, 0, WIFINET_ADDR_LEN); ++ wnet_vif->vm_des_channel = WIFINET_CHAN_ERR; + wnet_vif->vm_des_ssid[0].len= lsme->ssid_len; + memcpy(wnet_vif->vm_des_ssid[0].ssid, lsme->ssid, lsme->ssid_len); + wnet_vif->vm_des_nssid = 1; + wnet_vif->vm_flags &= ~WIFINET_F_IGNORE_SSID; + wnet_vif->vm_flags &= ~WIFINET_F_DESBSSID; ++ wnet_vif->disconnect_reason_code = 0; + + wifimac->wm_lastroaming = jiffies; + wnet_vif->vm_chan_roaming_scan_flag = 0; + g_auto_gain_base = 0; + ++ bss = cfg80211_get_bss(wiphy, NULL, sme->bssid,sme->ssid, sme->ssid_len, IEEE80211_BSS_TYPE_ANY, IEEE80211_PRIVACY_ANY); ++ ++ if (bss != NULL) { ++ unsigned int htcapie_len = 0; ++ unsigned int htinfoie_len = 0; ++ unsigned int vhtoptie_len = 0; ++ unsigned char *htcapie = NULL; ++ unsigned char *htinfoie = NULL; ++ unsigned char *vhtoptie = NULL; ++ const struct cfg80211_bss_ies *ies = rcu_dereference_protected(bss->ies, lockdep_is_held(&wiphy->mtx)); ++ ++ htcapie = vm_get_ie(ies->data, ies->len, NULL, (unsigned int *)&htcapie_len, WIFINET_ELEMID_HTCAP, 0); ++ htinfoie = vm_get_ie(ies->data, ies->len, NULL, (unsigned int *)&htinfoie_len, WIFINET_ELEMID_HTINFO, 0); ++ vhtoptie = vm_get_ie(ies->data, ies->len, NULL, (unsigned int *)&vhtoptie_len, WIFINET_ELEMID_VHTOP, 0); ++ ++ wnet_vif->vm_des_channel = wifi_mac_scan_sta_get_ap_channel(wnet_vif, lsme->channel->hw_value, htinfoie, htcapie, vhtoptie); ++ ++ if (wnet_vif->vm_des_channel != WIFINET_CHAN_ERR) { ++ AML_OUTPUT("pri_chan:%d, center_chan:%d, bw:%d\n",wnet_vif->vm_des_channel->chan_pri_num, ++ wifi_mac_Mhz2ieee(wnet_vif->vm_des_channel->chan_cfreq1,0), wnet_vif->vm_des_channel->chan_bw); ++ } ++ ++ cfg80211_put_bss(wiphy, bss); ++ } ++ + /*if change AP,change roaming_ssid and clean roaming candidate channel*/ + if(!wnet_vif->vm_wmac->wm_scan->roaming_ssid.len + || memcmp(wnet_vif->vm_wmac->wm_scan->roaming_ssid.ssid, lsme->ssid, wnet_vif->vm_wmac->wm_scan->roaming_ssid.len) != 0) { -+ printk("clean roaming candidate channels \n"); ++ pr_debug("clean roaming candidate channels \n"); + wnet_vif->vm_wmac->wm_scan->roaming_ssid.len = lsme->ssid_len; + memcpy(wnet_vif->vm_wmac->wm_scan->roaming_ssid.ssid, lsme->ssid, lsme->ssid_len); + @@ -42419,7 +42309,7 @@ index 000000000000..b6e0dde8a4ca + + wnet_vif->vm_mainsta->sta_authmode = sta_authmode; + } -+ printk("%s %d lsme->auth_type=%d, sta_authmode=%d\n", __func__, __LINE__, lsme->auth_type, wnet_vif->vm_mainsta->sta_authmode); ++ pr_debug("%s %d lsme->auth_type=%d, sta_authmode=%d\n", __func__, __LINE__, lsme->auth_type, wnet_vif->vm_mainsta->sta_authmode); + + if (lsme->crypto.wpa_versions) { + unsigned int wpa_versions = lsme->crypto.wpa_versions; @@ -42563,19 +42453,34 @@ index 000000000000..b6e0dde8a4ca + + DPRINTF(AML_DEBUG_CFG80211, "%s %d connect_timeout=%d ms\n", __func__, __LINE__, CFG80211_CONNECT_TIMER_OUT); + -+ if (wnet_vif->vm_state == WIFINET_S_CONNECTED) { -+ wifi_mac_top_sm(wnet_vif, WIFINET_S_ASSOC, 0); ++ if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) ++ && concurrent_check_vmac_is_AP(wifimac) ++ && (wnet_vif->vm_opmode == WIFINET_M_STA) ++ && (p2p_vmac->vm_state == WIFINET_S_CONNECTED)) { ++ unsigned int delay_ms = 0; ++ struct wifi_channel *switch_chan = NULL; + -+ } else { -+ wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); ++ switch_chan = wnet_vif->vm_des_channel; ++ channel_switch_announce_trigger(wifimac, switch_chan); ++ while ((wifimac->wm_flags & WIFINET_F_DOTH) && (wifimac->wm_flags & WIFINET_F_CHANSWITCH) && (delay_ms < 1000)) { ++ msleep(50); ++ delay_ms += 50; ++ } ++ DPRINTF(AML_DEBUG_CONNECT, "delay_ms:%d\n",delay_ms); + } + + OS_SPIN_LOCK_IRQ(&pwdev_priv->connect_req_lock,pwdev_priv->connect_req_lock_flags); -+ wnet_vif->vm_mainsta->connect_status = CONNECT_IDLE; ++ wnet_vif->vm_mainsta->connect_status = CONNECT_CONNECTING; + pwdev_priv->connect_request = sme; + os_timer_ex_start(&pwdev_priv->connect_timeout); + OS_SPIN_UNLOCK_IRQ(&pwdev_priv->connect_req_lock,pwdev_priv->connect_req_lock_flags); + ++ if (wnet_vif->vm_state == WIFINET_S_CONNECTED) { ++ wifi_mac_top_sm(wnet_vif, WIFINET_S_ASSOC, 0); ++ } else { ++ wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); ++ } ++ +exit: + DPRINTF(AML_DEBUG_CFG80211, "%s %d\n", __func__, __LINE__); + return ret; @@ -42624,18 +42529,32 @@ index 000000000000..b6e0dde8a4ca + } + } + ++ if (wnet_vif->vm_mainsta->connect_status >= CONNECT_DISCONNECTING) { ++ ERROR_DEBUG_OUT("already in disconnecting con_status:%d vm_state:%d\n", wnet_vif->vm_mainsta->connect_status, wnet_vif->vm_state); ++ return -EINVAL; ++ } ++ + switch (wnet_vif->vm_opmode) + { + case WIFINET_M_STA: -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d sta mode\n", __func__, __LINE__); -+ mgmt_arg = WIFINET_REASON_AUTH_LEAVE; -+ wifi_mac_send_mgmt(wnet_vif->vm_mainsta, WIFINET_FC0_SUBTYPE_DEAUTH, (void *)&mgmt_arg); -+ if (wnet_vif->vm_p2p_support) { -+ wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); ++ DPRINTF(AML_DEBUG_CFG80211, "%s %d sta mode, vm_state:%d\n", __func__, __LINE__, wnet_vif->vm_state); ++ wnet_vif->vm_mainsta->connect_status = CONNECT_DISCONNECTING; ++ wnet_vif->disconnect_reason_code = reason_code; ++ if (wnet_vif->vm_state >= WIFINET_S_AUTH) { ++ mgmt_arg = WIFINET_REASON_AUTH_LEAVE; ++ wifi_mac_send_mgmt(wnet_vif->vm_mainsta, WIFINET_FC0_SUBTYPE_DEAUTH, (void *)&mgmt_arg); ++ if (wnet_vif->vm_p2p_support) { ++ wifi_mac_add_work_task(wnet_vif->vm_wmac, wifi_mac_sm_switch, NULL, (SYS_TYPE)wnet_vif, WIFINET_S_SCAN, 0, 0, 0); ++ } else { ++ os_timer_ex_start_period(&wnet_vif->vm_mgtsend, DEFAULT_DEAUTH_TOT); ++ } ++ } else { ++ wifi_mac_add_work_task(wnet_vif->vm_wmac, wifi_mac_sm_switch, NULL, (SYS_TYPE)wnet_vif, WIFINET_S_SCAN, 0, 0, 0); + } + + while (total_delay < 1000 && ((wifimac->wm_runningmask & BIT(wnet_vif->wnet_vif_id)) -+ || (!drv_priv->hal_priv->hal_ops.hal_tx_empty()))) { ++ || (!drv_priv->hal_priv->hal_ops.hal_tx_empty()) ++ || (wnet_vif->vm_mainsta->connect_status == CONNECT_DISCONNECTING))) { + msleep(10); + total_delay += 10; + } @@ -42763,7 +42682,7 @@ index 000000000000..b6e0dde8a4ca + case 128: + return 0x0b;//54M; + default: -+ //printk("Legacy 5G Warning: Not supported rate.\n"); ++ //pr_debug("Legacy 5G Warning: Not supported rate.\n"); + return 0; + } +} @@ -42790,7 +42709,7 @@ index 000000000000..b6e0dde8a4ca + case 128: + return 0x0087; + default: -+ //printk("HT Warning: Not supported rate: %d\n",kernel_rate); ++ //pr_debug("HT Warning: Not supported rate: %d\n",kernel_rate); + return 0; + } +} @@ -42821,7 +42740,7 @@ index 000000000000..b6e0dde8a4ca + case 512: + return 0x00c9; + default: -+ //printk("VHT Warning: Not supported rate: %d\n",kernel_rate); ++ //pr_debug("VHT Warning: Not supported rate: %d\n",kernel_rate); + return 0; + } +} @@ -42835,7 +42754,7 @@ index 000000000000..b6e0dde8a4ca + //For 11b: (0x82 -0x80) * 500K = 1M + //For 11g: 0xc * 500k = 6M + unsigned int ret = 0; -+ printk("rate 0x%x %s(%d)\n", kernel_rate, __func__, __LINE__); ++ pr_debug("rate 0x%x %s(%d)\n", kernel_rate, __func__, __LINE__); + switch (kernel_rate) + { + case BIT(0): @@ -43002,7 +42921,7 @@ index 000000000000..b6e0dde8a4ca + + if (aml_wifi_is_enable_rf_test()) { + gB2BTestCasePacket.data_rate = final_bit_rate; -+ printk("Cfg80211 B2B: %s %d, rate to be set:0x%04x\n", ++ pr_debug("Cfg80211 B2B: %s %d, rate to be set:0x%04x\n", + __func__,__LINE__,gB2BTestCasePacket.data_rate ); + return 0; + } @@ -43011,7 +42930,7 @@ index 000000000000..b6e0dde8a4ca + wnet_vif->vm_fixed_rate.rateinfo = final_bit_rate; + wnet_vif->vm_fixed_rate.mode = WIFINET_FIXED_RATE_MCS; + wnet_vif->vm_change_rate_enable = 0; -+ printk("Cfg80211: %s %d, rate to be set:0x%02x\n", ++ pr_debug("Cfg80211: %s %d, rate to be set:0x%02x\n", + __func__,__LINE__,wnet_vif->vm_fixed_rate.rateinfo ); + } + @@ -43130,6 +43049,13 @@ index 000000000000..b6e0dde8a4ca + unsigned short htcap_tmp = 0; + unsigned char *ht_op_ie = NULL; + unsigned int ht_op_ie_len = 0; ++ unsigned char *basic_rate_ie = NULL; ++ unsigned char *extend_rate_ie = NULL; ++ unsigned int basic_rate_ie_len = 0; ++ unsigned int extend_rate_ie_len = 0; ++ unsigned char rate_index; ++ unsigned char rate_count = 0; ++ struct wifi_mac_rateset rs = {0}; + + dsps_ie = vm_get_ie(iebuf, ielen, NULL, (unsigned int *)&dsps_ie_len, WIFINET_ELEMID_DSPARMS, 0); + if (!dsps_ie) { @@ -43146,7 +43072,7 @@ index 000000000000..b6e0dde8a4ca + } + } else { + pri_chan = dsps_ie[2]; -+ printk("%s(%d),pri_chan:%d\n\n",__func__,__LINE__,pri_chan); ++ pr_debug("%s(%d),pri_chan:%d\n\n",__func__,__LINE__,pri_chan); + + if (wifi_mac_if_dfs_channel(wifimac, (int)pri_chan) == 1) { + ERROR_DEBUG_OUT("Soft AP don't support in DFS channel \n"); @@ -43158,6 +43084,33 @@ index 000000000000..b6e0dde8a4ca + ht_cap_ie = vm_get_ie(iebuf, ielen, NULL, (unsigned int *)&ht_cap_ie_len, WIFINET_ELEMID_HTCAP, 0); + ht_op_ie = vm_get_ie(iebuf, ielen, NULL, (unsigned int *)&ht_op_ie_len, WIFINET_ELEMID_HTINFO, 0); + ++ basic_rate_ie = vm_get_ie(iebuf, ielen, NULL, (unsigned int *)&basic_rate_ie_len, WIFINET_ELEMID_RATES, 0); ++ extend_rate_ie = vm_get_ie(iebuf, ielen, NULL, (unsigned int *)&extend_rate_ie_len, WIFINET_ELEMID_XRATES, 0); ++ wnet_vif->vm_sae_h2e_only = 0; ++ ++ if (basic_rate_ie) { ++ memcpy(rs.dot11_rate + rs.dot11_rate_num, basic_rate_ie + 2, basic_rate_ie_len - 2); ++ rs.dot11_rate_num += basic_rate_ie_len - 2; ++ } ++ ++ if (extend_rate_ie) { ++ memcpy(rs.dot11_rate + rs.dot11_rate_num, extend_rate_ie + 2, extend_rate_ie_len - 2); ++ rs.dot11_rate_num += extend_rate_ie_len - 2; ++ } ++ ++ for (rate_index = 0; rate_index < rs.dot11_rate_num; rate_index++) { ++ if (wifi_mac_find_rate(rs.dot11_rate[rate_index], wifimac->wm_11b_rates) ++ || wifi_mac_find_rate(rs.dot11_rate[rate_index], wifimac->wm_11g_rates)) { ++ rate_count++; ++ } ++ ++ if (rs.dot11_rate[rate_index] == WIFINET_SAE_H2E_ONLY) { ++ AML_OUTPUT("find WIFINET_SAE_H2E_ONLY rate_num[%d]\n", rate_index); ++ wnet_vif->vm_sae_h2e_only = 1; ++ } ++ } ++ AML_OUTPUT("basic_len:%d, extend_len:%d, dot11_rate_num:%d, rate_count:%d\n", basic_rate_ie_len, extend_rate_ie_len, rs.dot11_rate_num, rate_count); ++ + if (ht_cap_ie) { + htcap_tmp = READ_16L(ht_cap_ie + sizeof(unsigned short)); + @@ -43199,23 +43152,13 @@ index 000000000000..b6e0dde8a4ca + } + + } else { -+ unsigned char *basic_rate_ie = NULL; -+ unsigned char *extend_rate_ie = NULL; -+ unsigned int basic_rate_ie_len = 0; -+ unsigned int extend_rate_ie_len = 0; -+ + DPRINTF(AML_DEBUG_ERROR, "%s(%d) no ht cap found, set to legacy mode.\n", __func__, __LINE__); + wnet_vif->vm_bandwidth = WIFINET_BWC_WIDTH20; + -+ basic_rate_ie = vm_get_ie(iebuf, ielen, NULL, (unsigned int *)&basic_rate_ie_len, WIFINET_ELEMID_RATES, 0); -+ extend_rate_ie = vm_get_ie(iebuf, ielen, NULL, (unsigned int *)&extend_rate_ie_len, WIFINET_ELEMID_XRATES, 0); -+ -+ if ((basic_rate_ie_len == 6) && (extend_rate_ie_len == 0)) { ++ if (rate_count == 4) { + wnet_vif->vm_mac_mode = WIFINET_MODE_11B; -+ -+ } else if ((basic_rate_ie_len == 10) && (extend_rate_ie_len == 6)) { ++ } else if (rate_count == 12) { + wnet_vif->vm_mac_mode = WIFINET_MODE_11BG; -+ + } else { + wnet_vif->vm_mac_mode = WIFINET_MODE_11G; + } @@ -43312,7 +43255,7 @@ index 000000000000..b6e0dde8a4ca + __func__,__LINE__,vht_op_ie_len, pri_chan, vht_op_ie->vht_op_ch_freq_seg1); + + /*bandwidth/mode/channel offset*/ -+ printk("%s(%d):chan %d, cntr_seg1 %d\n", __func__, __LINE__, pri_chan, vht_op_ie->vht_op_ch_freq_seg1); ++ pr_debug("%s(%d):chan %d, cntr_seg1 %d\n", __func__, __LINE__, pri_chan, vht_op_ie->vht_op_ch_freq_seg1); + center_chan = vht_op_ie->vht_op_ch_freq_seg1; + if (vht_op_ie->vht_op_chwidth == VHT_OPT_CHN_WD_80M) { + wnet_vif->vm_bandwidth = WIFINET_BWC_WIDTH80; @@ -43334,7 +43277,7 @@ index 000000000000..b6e0dde8a4ca + } + } + wnet_vif->vm_mainsta->sta_bssmode = wnet_vif->vm_mac_mode; -+ printk("%s vm_mac_mode %d, offset %d, vm_bandwidth:%d, center_chan:%d\n", __func__, ++ pr_debug("%s vm_mac_mode %d, offset %d, vm_bandwidth:%d, center_chan:%d\n", __func__, + wnet_vif->vm_mac_mode, wnet_vif->scnd_chn_offset, wnet_vif->vm_bandwidth, center_chan); + +#ifdef CONFIG_P2P @@ -43369,19 +43312,17 @@ index 000000000000..b6e0dde8a4ca + } +#endif +#endif /*#ifdef CONFIG_P2P*/ -+ + /*Forcely refresh */ + if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) && concurrent_set_channel) + { + struct wlan_net_vif *main_wnet_vif = wifi_mac_running_main_wnet_vif(wifimac); + if (main_wnet_vif != NULL) { + /*sta connect to 5G ap, softap need update channel/band/mac_mode as sta*/ -+ wnet_vif->vm_curchan = main_vmac_chan; + wnet_vif->vm_bandwidth = main_vmac_chan->chan_bw; + wnet_vif->vm_mac_mode = main_wnet_vif->vm_mac_mode; + wnet_vif->vm_mainsta->sta_bssmode = main_wnet_vif->vm_mac_mode; + -+ if (wnet_vif->vm_curchan->chan_bw >= WIFINET_BWC_WIDTH40) { ++ if (main_vmac_chan->chan_bw >= WIFINET_BWC_WIDTH40) { + wnet_vif->vm_htcap |= WIFINET_HTCAP_SUPPORTCBW40; + } + @@ -43389,20 +43330,35 @@ index 000000000000..b6e0dde8a4ca + wnet_vif->scnd_chn_offset = WIFINET_HTINFO_EXTOFFSET_ABOVE; + } else if (main_vmac_chan->chan_pri_num > wifi_mac_Mhz2ieee(main_vmac_chan->chan_cfreq1, 0)) { + wnet_vif->scnd_chn_offset = WIFINET_HTINFO_EXTOFFSET_BELOW; -+ } else{ ++ } else { + wnet_vif->scnd_chn_offset = WIFINET_HTINFO_EXTOFFSET_NA; + } -+ wifi_mac_set_wnet_vif_channel(wnet_vif, main_vmac_chan->chan_pri_num, main_vmac_chan->chan_bw, wifi_mac_Mhz2ieee(main_vmac_chan->chan_cfreq1, 0)); -+ DPRINTF(AML_DEBUG_CFG80211|AML_DEBUG_ERROR, "set ap %s(%d) chan %d, mac mode %d, band %d\n",__func__,__LINE__, -+ wnet_vif->vm_curchan->chan_pri_num, wnet_vif->vm_mac_mode, wnet_vif->vm_bandwidth); ++ ++ pri_chan = main_vmac_chan->chan_pri_num; ++ center_chan = wifi_mac_Mhz2ieee(main_vmac_chan->chan_cfreq1, 0); + } ++ } ++ ++ if (wnet_vif->vm_state == WIFINET_S_CONNECTED) { ++ struct wifi_channel *switch_chan = NULL; ++ ++ switch_chan = wifi_mac_find_chan(wifimac, pri_chan, wnet_vif->vm_bandwidth, center_chan); ++ channel_switch_announce_trigger(wifimac, switch_chan); + } else { -+ /*find channel info from channel list by primary channel & bandwidth & center channel */ -+ if (!wifi_mac_set_wnet_vif_channel(wnet_vif, pri_chan, wnet_vif->vm_bandwidth, center_chan)) { ++ struct wifi_channel *vmac_chan = wifi_mac_find_chan(wifimac, pri_chan, wnet_vif->vm_bandwidth, center_chan); ++ ++ if ((vmac_chan != WIFINET_CHAN_ERR) && vmac_chan != wnet_vif->vm_curchan) { ++ wifi_mac_add_work_task(wifimac, vm_cfg80211_chan_switch_notify_task, NULL, (SYS_TYPE)wifimac, (SYS_TYPE)wnet_vif, 0, (SYS_TYPE)vmac_chan, 0); ++ } ++ /* find channel info from channel list by primary channel & bandwidth & center channel */ ++ if (!wifi_mac_set_wnet_vif_channel(wnet_vif, pri_chan, wnet_vif->vm_bandwidth, center_chan, CHANNEL_CONNECT_FLAG | CHANNEL_RESTORE_FLAG)) { + ret = -EINVAL; + goto exit_malloc; + } + } ++ ++ DPRINTF(AML_DEBUG_CFG80211|AML_DEBUG_ERROR, "[%s]%d: current ap chan %d, mac mode %d, band %d\n",__func__,__LINE__, ++ wnet_vif->vm_curchan->chan_pri_num, wnet_vif->vm_mac_mode, wnet_vif->vm_bandwidth); + } + + { @@ -43421,10 +43377,10 @@ index 000000000000..b6e0dde8a4ca + ssidlen = ssid_ie_len - 2; + DPRINTF(AML_DEBUG_BEACON, "%s %d ssid=%s\n", __func__, __LINE__, ssid_sprintf(ssid, ssidlen)); + -+ if ((wnet_vif->vm_des_ssid[0].len != ssidlen) || (memcmp(wnet_vif->vm_des_ssid[0].ssid, ssid, ssidlen) != 0)) { ++ if (ssidlen && ((wnet_vif->vm_des_ssid[0].len != ssidlen) || (memcmp(wnet_vif->vm_des_ssid[0].ssid, ssid, ssidlen) != 0))) { + WIFINET_BEACON_LOCK(wifimac); + memset(wnet_vif->vm_des_ssid, 0, IV_SSID_SCAN_AMOUNT*sizeof(struct wifi_mac_ScanSSID)); -+ wnet_vif->vm_des_ssid[0].len= ssidlen; ++ wnet_vif->vm_des_ssid[0].len = ssidlen; + memcpy(wnet_vif->vm_des_ssid[0].ssid, ssid, ssidlen); + wnet_vif->vm_des_nssid = 1; + WIFINET_BEACON_UNLOCK(wifimac); @@ -43441,6 +43397,8 @@ index 000000000000..b6e0dde8a4ca + unsigned int rsnielen = 0; + struct wifi_mac_Rsnparms *vm_rsn = &(sta->sta_rsn); + unsigned int flags = 0; ++ unsigned char *rsnxe_ie = NULL; ++ unsigned int rsnxe_ie_len = 0; + + memset(&wparsn, 0, sizeof(struct wifi_mac_Rsnparms)); + memset(vm_rsn, 0, sizeof(struct wifi_mac_Rsnparms)); @@ -43453,6 +43411,15 @@ index 000000000000..b6e0dde8a4ca + __func__, __LINE__, wparsn.rsn_mcastcipher, wparsn.rsn_ucastcipherset, wparsn.rsn_keymgmtset, wparsn.rsn_caps); + } + ++ rsnxe_ie = vm_get_ie(iebuf, ielen, NULL, (unsigned int *)&rsnxe_ie_len, WIFINET_ELEMID_RSNX, 0); ++ if (rsnxe_ie) { ++ if (rsnxe_ie[2] & BIT(5)) { ++ wnet_vif->vm_flags |= WIFINET_F_H2E; ++ AML_OUTPUT("sap support h2e\n"); ++ } ++ ++ } ++ + rsnie = (const struct wifi_mac_ie_rsn *)vm_get_ie(iebuf, ielen, NULL, (unsigned int *)&rsnielen, WIFINET_ELEMID_RSN, 0); + if (rsnie && rsnielen) { + if (wifi_mac_parse_own_rsn(sta, (unsigned char *)rsnie)) { @@ -43461,7 +43428,7 @@ index 000000000000..b6e0dde8a4ca + + if (vm_rsn->rsn_caps & MFP_MASK) { + sta->sta_flags_ext |= WIFINET_NODE_MFP; -+ printk("%s disable hw mgmt decrypt\n", __func__); ++ pr_debug("%s disable hw mgmt decrypt\n", __func__); + wifi_mac_disable_hw_mgmt_decrypt(); + } + @@ -43559,7 +43526,7 @@ index 000000000000..b6e0dde8a4ca + struct wifi_mac_wme_state *wme = &wnet_vif->vm_wmac->wm_wme[wnet_vif->wnet_vif_id]; + DPRINTF(AML_DEBUG_BEACON, "%s %d found wmmie=%p wmmielen=%d\n", + __func__, __LINE__, wmmie, wmmielen); -+ // dump_memory_internel(wmmie,wmmielen); ++ // dump_memory_internal(wmmie,wmmielen); + if (wifimac->wm_caps & WIFINET_C_UAPSD) + { + WIFINET_BEACON_LOCK(wifimac); @@ -43640,7 +43607,7 @@ index 000000000000..b6e0dde8a4ca + } + } + -+ printk("%s set_beacon_flag %d, wm_flags_ext:%08x, wm_flags:%08x, sta_vhtcap:%08x\n", __func__, ++ pr_debug("%s set_beacon_flag %d, wm_flags_ext:%08x, wm_flags:%08x, sta_vhtcap:%08x\n", __func__, + set_beacon_flag, wifimac->wm_flags_ext, wifimac->wm_flags, sta->sta_vhtcap); + + if (set_beacon_flag) @@ -43679,7 +43646,7 @@ index 000000000000..b6e0dde8a4ca + settings->hidden_ssid, settings->auth_type); + + if (settings->chandef.chan) { -+ printk("chandef center_freq:%d, hw_value:%d band:%d, at %s, %d\n", ++ pr_debug("chandef center_freq:%d, hw_value:%d band:%d, at %s, %d\n", + settings->chandef.chan->center_freq, settings->chandef.chan->hw_value, + settings->chandef.chan->band, __func__, __LINE__); + if (wifi_mac_if_dfs_channel(wifimac, (int)settings->chandef.chan->hw_value) == 1) { @@ -43696,6 +43663,7 @@ index 000000000000..b6e0dde8a4ca + else + wnet_vif->vm_flags &= ~WIFINET_F_HIDESSID; + ++ wnet_vif->vm_p2p->go_hidden_mode = (wnet_vif->vm_flags & WIFINET_F_HIDESSID) >> WIFINET_F_HIDESSID_TO_BIT0_OFST; + ret = _iv_cfg80211_add_set_beacon(wiphy, ndev, &settings->beacon,settings->dtim_period) ; + tasklet_init(&drv_priv->forward_tasklet, drv_forward_tasklet, (unsigned long)(SYS_TYPE)wnet_vif); + WIFINET_SAVEQ_INIT(&(wnet_vif->vm_forward_buffer_queue), "wnet_vif_forward_buffer_queue"); @@ -43730,14 +43698,18 @@ index 000000000000..b6e0dde8a4ca + struct net_device *ndev, struct cfg80211_beacon_data *info) +#endif +{ -+ int ret = 0; ++ int ret = 0, time_delay = 0; + struct wlan_net_vif *wnet_vif = wiphy_to_adapter(wiphy); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,7,0) + struct cfg80211_beacon_data *info = &ap_update->beacon; +#endif + -+ DPRINTF(AML_DEBUG_CFG80211, " %s(%d): <%s>\n", __func__, __LINE__, ndev->name); ++ while ((wnet_vif->vm_wmac->wm_flags & WIFINET_F_CHANSWITCH) && (time_delay < 1000)) { ++ msleep(10); ++ time_delay += 10; ++ } + ++ DPRINTF(AML_DEBUG_CFG80211, " %s(%d): <%s>\n", __func__, __LINE__, ndev->name); + ret = _iv_cfg80211_add_set_beacon(wiphy, ndev, info,wnet_vif->vm_dtim_period); + + return ret; @@ -44062,7 +44034,7 @@ index 000000000000..b6e0dde8a4ca + struct wiphy *wiphy, struct net_device *ndev, + int idx, unsigned char *mac, struct station_info *sinfo) +{ -+ //DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s>\n", __func__, __LINE__, ndev->name); ++ DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s>\n", __func__, __LINE__, ndev->name); + return -ENOENT; +} + @@ -44110,13 +44082,13 @@ index 000000000000..b6e0dde8a4ca + if (temp_vif->wnet_vif_id == 1 && temp_vif->remain_on_channel) + { + vm_p2p_cancel_remain_channel(temp_vif->vm_p2p); -+ printk("remain_on_channel: <%s> line 4498\n",temp_vif->vm_ndev->name); ++ pr_debug("remain_on_channel: <%s> line 4498\n",temp_vif->vm_ndev->name); + temp_vif->remain_on_channel = 0; + } + else if (temp_vif->wnet_vif_id == 0 && temp_vif->remain_on_channel) + { + vm_cancel_remain_channel(temp_vif); -+ printk("remain_on_channel: <%s> line 4504\n",temp_vif->vm_ndev->name); ++ pr_debug("remain_on_channel: <%s> line 4504\n",temp_vif->vm_ndev->name); + temp_vif->remain_on_channel = 0; + } + } @@ -44173,7 +44145,7 @@ index 000000000000..b6e0dde8a4ca + } else { + wifi_mac_ChangeChannel(wifimac, p2p->work_channel, 0, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); + } -+ printk("p2p_case: duration %d\n", restore_duration * 100); ++ pr_debug("p2p_case: duration %d\n", restore_duration * 100); + cfg80211_ready_on_channel(p2p->wnet_vif->vm_wdev, *cookie, channel, + vm_p2p_discover_listen(p2p, target_channel, restore_duration * 100), GFP_KERNEL); + @@ -44286,11 +44258,24 @@ index 000000000000..b6e0dde8a4ca + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + struct wifi_channel *main_vmac_chan = NULL; + unsigned char *p2p_noa; ++ bool is_dpp_frame = false; ++ + dev = wnet_vif->vm_ndev; + -+ //if (wnet_vif->vm_curchan && (channel != wnet_vif->vm_curchan->chan_pri_num)) { -+ //channel = wnet_vif->vm_curchan->chan_pri_num; -+ //} ++ if (WIFINET_IS_ACTION(wh)) { ++ p2p_pub_act = (struct wifi_mac_p2p_pub_act_frame *)((unsigned char *)data + sizeof(struct wifi_frame)); ++ p2p_act = (struct wifi_mac_p2p_action_frame *)((unsigned char *)data + sizeof(struct wifi_frame)); ++ pub_gas_act = (struct wifi_mac_pub_gas_act_frame *)((unsigned char *)data + sizeof(struct wifi_frame)); ++ if ((p2p_pub_act->category == AML_CATEGORY_PUBLIC) && (p2p_pub_act->action == WIFINET_ACT_PUBLIC_P2P) ++ && (p2p_pub_act->oui_type == OUI_TYPE_DPP)) { ++ is_dpp_frame = true; ++ } ++ } ++ ++ if (wnet_vif->vm_curchan && (channel != wnet_vif->vm_curchan->chan_pri_num) && !is_dpp_frame) { ++ AML_OUTPUT("channel_num:%d, vm_curchan->chan_pri_num:%d, frame_type:0x%x\n", channel, wnet_vif->vm_curchan->chan_pri_num, *((unsigned short *)wh->i_fc)); ++ channel = wnet_vif->vm_curchan->chan_pri_num; ++ } + + if (channel <= CFG_CH_MAX_2G_CHANNEL) + band = wdev->wiphy->bands[IEEE80211_BAND_2GHZ]; @@ -44381,7 +44366,7 @@ index 000000000000..b6e0dde8a4ca + && (*((char*)data + sizeof(struct wifi_frame) + 11) == 0x9a) + && (*((char*)data + sizeof(struct wifi_frame) + 12) == 0x1a) + && (*((char*)data + sizeof(struct wifi_frame) + 13) == 0x01)) { -+ printk("[DPP Configuration]\n"); ++ pr_debug("[DPP Configuration]\n"); + } + switch (pub_gas_act->action) + { @@ -44471,7 +44456,7 @@ index 000000000000..b6e0dde8a4ca + p2p_pub_act = (struct wifi_mac_p2p_pub_act_frame *)(params->buf + sizeof(struct wifi_frame)); + if (wnet_vif->vm_opmode != WIFINET_M_HOSTAP && wnet_vif->vm_state == WIFINET_S_CONNECTED) { + if (is_need_process_p2p_action((unsigned char*)params->buf)) { -+ printk("%s, Need to send action frame in the connected state, params->len=%d\n", __func__, params->len); ++ pr_debug("%s, Need to send action frame in the connected state, params->len=%d\n", __func__, params->len); + } else { + return 0;//no need to send mgmt after connected,if so, disconnect first + } @@ -44546,7 +44531,11 @@ index 000000000000..b6e0dde8a4ca + p2p->need_restore_bsschan = REASON_RESOTRE_BSSCHAN_TXMGNT; + wifi_mac_scan_notify_leave_or_back(wnet_vif, 1); + p2p->p2p_flag |= P2P_WAIT_SWITCH_CHANNEL; -+ ++ while (p2p->p2p_flag & P2P_WAIT_SWITCH_CHANNEL) { ++ msleep(1); ++ AML_OUTPUT("p2p->work_channel->chan_pri_num:%d, wifimac->wm_curchan->chan_pri_num:%d\n", ++ p2p->work_channel->chan_pri_num, wifimac->wm_curchan->chan_pri_num); ++ } + } else { + wifi_mac_ChangeChannel(wifimac, p2p->work_channel, 0, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); + } @@ -44629,17 +44618,25 @@ index 000000000000..b6e0dde8a4ca +#ifdef CTS_VERIFIER_GAS + if (p2p_pub_act->action == WIFINET_ACT_PUBLIC_GAS_REQ) { + wnet_vif->vm_p2p->p2p_flag &= (~P2P_GAS_RSP); -+ while (p2p->tx_status_flag != WIFINET_TX_STATUS_SUCC -+ && p2p->act_pkt_retry_count < DEFAULT_P2P_ACTION_RETRY_TIMES -+ && !(wnet_vif->vm_p2p->p2p_flag & P2P_GAS_RSP)) { -+ mdelay(20); -+ } + } +#endif ++ do { ++ msleep(5); ++ if ((p2p_pub_act->action == WIFINET_ACT_PUBLIC_GAS_REQ) ++ && (wnet_vif->vm_p2p->p2p_flag & P2P_GAS_RSP)) { ++ break; ++ } ++ } while (p2p->tx_status_flag != WIFINET_TX_STATUS_SUCC ++ && p2p->act_pkt_retry_count <= DEFAULT_P2P_ACTION_RETRY_TIMES ++ && !p2p->send_tx_status_flag); ++ ++ if (p2p->tx_status_flag != WIFINET_TX_STATUS_SUCC) { ++ ack = false; ++ } + chan_dbg(wifimac->wm_curchan, "X9", 4509); + +exit: -+ DPRINTF(AML_DEBUG_CFG80211,"%s %d, ack=%d\n", __func__,__LINE__, ack ); ++ DPRINTF(AML_DEBUG_CFG80211,"%s %d, ack=%d\n", __func__,__LINE__, ack); + cfg80211_mgmt_tx_status(p2p->wnet_vif->vm_wdev, *cookie, params->buf, params->len, ack, GFP_KERNEL); + return ret; +} @@ -44659,9 +44656,16 @@ index 000000000000..b6e0dde8a4ca + struct wifi_channel *auth_channel; + unsigned short seq = 0; + struct wifi_mac_pub_gas_act_frame *pub_gas_act = NULL; ++ unsigned int status = 0; ++ struct wifi_mac_p2p_pub_act_frame *p2p_pub_act = NULL; ++ struct wifi_mac_p2p *p2p = wiphy_to_p2p(wiphy); ++ unsigned int delay = 0; ++ unsigned int total_delay = 0; + + wh = (const struct wifi_frame*)params->buf; + pub_gas_act = (struct wifi_mac_pub_gas_act_frame *)(params->buf + sizeof(struct wifi_frame)); ++ p2p_pub_act = (struct wifi_mac_p2p_pub_act_frame *)((unsigned char *)params->buf + sizeof(struct wifi_frame)); ++ + DPRINTF(AML_DEBUG_CFG80211, "<%s>: %s:addr2 %s dev_addr %s\n", + ndev->name, __func__, ether_sprintf(wh->i_addr2), ether_sprintf(ndev->dev_addr)); + @@ -44672,11 +44676,37 @@ index 000000000000..b6e0dde8a4ca + auth_alg = AML_GET_LE16((unsigned char *)wh + sizeof(struct wifi_frame)); + seq = AML_GET_LE16((unsigned char *)wh + sizeof(struct wifi_frame) + 2); + ++ status = AML_GET_LE16((unsigned char *)wh + sizeof(struct wifi_frame) + 4); ++ ++ if ((status == WIFINET_STATUS_SAE_H2E) && (wnet_vif->vm_mainsta->sta_use_h2e == WIFINET_H2E_PEER_SUPPOR) ++ && (wnet_vif->vm_opmode == WIFINET_M_STA)) { ++ AML_OUTPUT("set h2e valid\n"); ++ wnet_vif->vm_mainsta->sta_use_h2e = WIFINET_H2E_VALID; ++ } ++ + if ((auth_alg != WLAN_AUTH_SAE) || (wnet_vif->vm_mainsta->sta_authmode != WIFINET_AUTH_SAE)) + goto exit; + -+ DPRINTF(AML_DEBUG_ANY,"auth_alg=%d, seq:%04x, status:%d\n", auth_alg, -+ seq, AML_GET_LE16((unsigned char *)wh + sizeof(struct wifi_frame) + 4)); ++ DPRINTF(AML_DEBUG_ANY,"auth_alg=%d, seq:%04x, status:%d\n", ++ auth_alg, seq, AML_GET_LE16((unsigned char *)wh + sizeof(struct wifi_frame) + 4)); ++ } ++ ++ if (params->len <= P2P_MAX_ACTION_LEN) { ++ p2p->cookie = *cookie; ++ p2p->action_pkt_len = params->len; ++ p2p->raw_action_pkt_len = params->len; ++ p2p->action_dialog_token = p2p_pub_act->dialog_token; ++ p2p->act_pkt_retry_count = 0; ++ p2p->tx_status_flag = WIFINET_TX_STATUS_NOSET; ++ p2p->send_tx_status_flag = 0; ++ memset(p2p->action_pkt, 0, P2P_MAX_ACTION_LEN); ++ memcpy(p2p->action_pkt, params->buf, params->len); ++ memset(p2p->raw_action_pkt, 0, P2P_MAX_ACTION_LEN); ++ memcpy(p2p->raw_action_pkt, params->buf, params->len); ++ ++ if (wnet_vif->vm_flags_ext2 & WIFINET_FEXT2_DPP_CONNECTION_STATUS_RETRY) { ++ wnet_vif->vm_flags_ext2 &= ~WIFINET_FEXT2_DPP_CONNECTION_STATUS_RETRY; ++ } + } + + os_timer_ex_cancel(&wnet_vif->vm_mgtsend, CANCEL_SLEEP); @@ -44693,7 +44723,6 @@ index 000000000000..b6e0dde8a4ca + center_chan = target_channel - 2; + else + center_chan = target_channel; -+ + } else if (wnet_vif->vm_bandwidth == WIFINET_BWC_WIDTH80) { + center_chan = target_channel + (wifimac->wm_curchan->chan_pri_num + - wifi_mac_Mhz2ieee(wifimac->wm_curchan->chan_cfreq1, 0)); @@ -44703,13 +44732,54 @@ index 000000000000..b6e0dde8a4ca + if (auth_channel == NULL) { + auth_channel = wifi_mac_find_chan(wifimac, target_channel, WIFINET_BWC_WIDTH20, target_channel); + } -+ wifi_mac_ChangeChannel(wifimac, auth_channel, 0, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); -+ + } else { + auth_channel = wifimac->wm_curchan; + } + } + ++ if (p2p_pub_act && (p2p_pub_act->category == AML_CATEGORY_PUBLIC)) { ++ if ((p2p_pub_act->action == WIFINET_ACT_PUBLIC_P2P && p2p_pub_act->oui_type == OUI_TYPE_DPP)) { ++ unsigned char dpp_action_subtype = *((char*)wh + sizeof(struct wifi_frame) + 7); ++ p2p->action_chan = auth_channel; ++ if ((wifi_mac_is_wm_running(wifimac) == true) ++ && wnet_vif->vm_curchan ++ && (auth_channel != wifimac->wm_curchan) ++ && (params->len <= P2P_MAX_ACTION_LEN)) { ++ wifi_mac_scan_notify_leave_or_back(wnet_vif, 1); ++ while ((!wifimac->drv_priv->hal_priv->hal_ops.hal_tx_empty()) && total_delay < 500) { ++ msleep(10); ++ total_delay += 10; ++ } ++ AML_OUTPUT("dpp wait pkt clear, total_delay:%d(ms)\n", total_delay); ++ } ++ wnet_vif->vm_flags_ext2 |= WIFINET_FEXT2_DPP_SEND; ++ if (dpp_action_subtype < 19) { ++ AML_OUTPUT("DPP->%s flags:0x%x\n", dpp_pub_action_str[dpp_action_subtype], wnet_vif->vm_flags_ext2); ++ } else { ++ AML_OUTPUT("subtype:%d\n", dpp_action_subtype); ++ } ++ } else if (((p2p_pub_act->action == WIFINET_ACT_PUBLIC_GAS_REQ) || (p2p_pub_act->action == WIFINET_ACT_PUBLIC_GAS_RSP))) { ++ p2p->action_chan = auth_channel; ++ if ((wifi_mac_is_wm_running(wifimac) == true) ++ && wnet_vif->vm_curchan ++ && (auth_channel != wifimac->wm_curchan) ++ && (params->len <= P2P_MAX_ACTION_LEN)) { ++ wifi_mac_scan_notify_leave_or_back(wnet_vif, 1); ++ while ((!wifimac->drv_priv->hal_priv->hal_ops.hal_tx_empty()) && total_delay < 500) { ++ msleep(10); ++ total_delay += 10; ++ } ++ AML_OUTPUT("gas wait pkt clear total_delay:%d ms\n", total_delay); ++ } ++ wnet_vif->vm_flags_ext2 |= WIFINET_FEXT2_DPP_SEND; ++ } ++ } ++ ++ if (auth_channel != wifimac->wm_curchan) { ++ wnet_vif->vm_flags_ext2 |= WIFINET_FEXT2_MGMT_RESTORE_CHANNEL; ++ wifi_mac_ChangeChannel(wifimac, auth_channel, 0, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); ++ } ++ + switch (pub_gas_act->action) + { + case WIFINET_ACT_PUBLIC_GAS_REQ: @@ -44726,9 +44796,22 @@ index 000000000000..b6e0dde8a4ca + goto exit; + } + ++ while ((wnet_vif->vm_flags_ext2 & WIFINET_FEXT2_DPP_SEND) && (delay < 500)) { ++ msleep(20); ++ delay += 20; ++ } ++ ++ if (wnet_vif->vm_flags_ext2 & WIFINET_FEXT2_DPP_SEND) { ++ wnet_vif->vm_flags_ext2 &= ~WIFINET_FEXT2_DPP_SEND; ++ } ++ ++ AML_OUTPUT("delay:%d ms, tx_status:%d\n", delay, wnet_vif->vm_p2p->send_tx_status_flag); ++ +exit: -+ DPRINTF(AML_DEBUG_CFG80211,"%s %d, ack=%d\n", __func__,__LINE__, ack ); -+ cfg80211_mgmt_tx_status(wnet_vif->vm_wdev, *cookie, params->buf, params->len, ack, GFP_KERNEL); ++ DPRINTF(AML_DEBUG_CFG80211,"%s %d, ack=%d\n", __func__,__LINE__, ack); ++ if (!wnet_vif->vm_p2p->send_tx_status_flag) { ++ cfg80211_mgmt_tx_status(wnet_vif->vm_wdev, *cookie, params->buf, params->len, ack, GFP_KERNEL); ++ } + return ret; +} + @@ -44746,7 +44829,7 @@ index 000000000000..b6e0dde8a4ca + ret = vm_cfg80211_mgmt_tx_sta(wiphy, wdev, params, cookie); + } + } -+ printk("vm_cfg80211_mgmt_tx: opmode %d, p2p_support %d, ret %d\n", wnet_vif->vm_opmode, wnet_vif->vm_p2p_support, ret); ++ pr_debug("vm_cfg80211_mgmt_tx: opmode %d, p2p_support %d, ret %d\n", wnet_vif->vm_opmode, wnet_vif->vm_p2p_support, ret); + + return ret; +} @@ -44795,7 +44878,7 @@ index 000000000000..b6e0dde8a4ca + wmep->wmep_logcwmin = WME_PARAM_LOGCWMAX_GET(params->cwmax); + wmep->wmep_txopLimit = params->txop; + -+ printk("%s(%d) aifs:%d, cwmax:%d, cwmin:%d, txop_lmt:%d\n", __func__, __LINE__, ++ pr_debug("%s(%d) aifs:%d, cwmax:%d, cwmin:%d, txop_lmt:%d\n", __func__, __LINE__, + wmep->wmep_aifsn, wmep->wmep_logcwmax, wmep->wmep_logcwmin, wmep->wmep_txopLimit); + + wme_update_ex(wifimac,wnet_vif); @@ -44823,7 +44906,7 @@ index 000000000000..b6e0dde8a4ca + struct wlan_net_vif *wnet_vif = NULL; + struct wifi_mac *wifimac = NULL; + struct wifi_channel *temp_chan = NULL; -+ printk("enter %s, no support yet\n", __func__); ++ pr_debug("enter %s, no support yet\n", __func__); + return -1; + if (!chandef || !wiphy) { + ERROR_DEBUG_OUT("chandef or wiphy null\n"); @@ -44848,7 +44931,7 @@ index 000000000000..b6e0dde8a4ca + } + if (temp_chan) { + if (chandef->chan) { -+ printk("enter %s, %d\n", __func__, __LINE__); ++ pr_debug("enter %s, %d\n", __func__, __LINE__); + } else { + ERROR_DEBUG_OUT("chandef->chan null \n"); + } @@ -44898,8 +44981,8 @@ index 000000000000..b6e0dde8a4ca + struct wlan_net_vif *wnet_vif = wiphy_to_adapter(wiphy); + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + -+ printk("enter %s\n", __func__); -+ printk("---wiphy addr: 0x%p\n", wiphy); ++ pr_debug("enter %s\n", __func__); ++ pr_debug("---wiphy addr: 0x%p\n", wiphy); + + if (noack_map & BE_MAP) + wifimac->drv_priv->drv_txlist_table[HAL_WME_AC_BE].noack_flag = 1; @@ -44922,7 +45005,7 @@ index 000000000000..b6e0dde8a4ca + struct vm_wdev_priv *pwdev_priv = wdev_to_priv(wdev); + struct wifi_mac_p2p *p2p = &pwdev_priv->p2p; + -+ printk("%s(%d) \n", __func__, __LINE__); ++ pr_debug("%s(%d) \n", __func__, __LINE__); + if (!vm_p2p_enabled(p2p)) + { + vm_p2p_up(wnet_vif); @@ -44942,7 +45025,7 @@ index 000000000000..b6e0dde8a4ca + struct vm_wdev_priv *pwdev_priv = wdev_to_priv(wdev); + struct wifi_mac_p2p *p2p = &pwdev_priv->p2p; + -+ printk("enter %s\n", __func__); ++ pr_debug("enter %s\n", __func__); + if (vm_p2p_enabled(p2p)) + vm_p2p_down(wnet_vif); + wifi_mac_top_sm(wnet_vif, WIFINET_S_INIT,0); @@ -44962,7 +45045,7 @@ index 000000000000..b6e0dde8a4ca +vm_cfg80211_start_radar_detection(struct wiphy *wiphy, struct net_device *dev, + struct cfg80211_chan_def *chandef, unsigned int cac_time_ms) +{ -+ printk("no support yet %s\n", __func__); ++ pr_debug("no support yet %s\n", __func__); + return -1; +} +#endif @@ -44998,8 +45081,8 @@ index 000000000000..b6e0dde8a4ca + struct wlan_net_vif *wnet_vif = wiphy_to_adapter(wiphy); + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + -+ printk("- %s %d\n",__func__,__LINE__); -+ printk("----auth_type:%d\n", req->auth_type); ++ pr_debug("- %s %d\n",__func__,__LINE__); ++ pr_debug("----auth_type:%d\n", req->auth_type); + switch (req->auth_type) + { + case NL80211_AUTHTYPE_OPEN_SYSTEM: @@ -45025,11 +45108,11 @@ index 000000000000..b6e0dde8a4ca + auth_value = WIFINET_AUTH_AUTO; + break; + default: -+ printk(" %s %d, unknown auth type\n",__func__,__LINE__); ++ pr_err(" %s %d, unknown auth type\n",__func__,__LINE__); + break; + } + wnet_vif->vm_mainsta->sta_authmode = auth_value; -+ printk("----sta_authmode:%d\n", wnet_vif->vm_mainsta->sta_authmode); ++ pr_debug("----sta_authmode:%d\n", wnet_vif->vm_mainsta->sta_authmode); + + return rc; +} @@ -45053,7 +45136,7 @@ index 000000000000..b6e0dde8a4ca + ERROR_DEBUG_OUT("chandef is null at\n"); + return -1; + } -+ printk("---enter %s\n", __func__); ++ pr_debug("---enter %s\n", __func__); + chan_dbg(wnet_vif->vm_wmac->wm_curchan, "x4", 4863); + return 0; +} @@ -45064,26 +45147,26 @@ index 000000000000..b6e0dde8a4ca +{ + struct wlan_net_vif *wnet_vif = wiphy_to_adapter(wiphy); + -+ printk("---enter %s\n", __func__); ++ pr_debug("---enter %s\n", __func__); + wnet_vif->vm_wmac->drv_priv->drv_config.cqm_rssi_thold = rssi_thold; + wnet_vif->vm_wmac->drv_priv->drv_config.cqm_rssi_hyst = rssi_hyst; -+ printk("---rssi_thold:%d, rssi_hyst:%d\n", rssi_thold, rssi_hyst); ++ pr_debug("---rssi_thold:%d, rssi_hyst:%d\n", rssi_thold, rssi_hyst); + + return 0; +} + +#if (KERNEL_VERSION(4, 17, 0) <= LINUX_VERSION_CODE) || (defined WPA3_PATCH) -+int vm_cfg80211_external_auth(struct wiphy *wiphy, struct net_device *dev, ++static int vm_cfg80211_external_auth(struct wiphy *wiphy, struct net_device *dev, + struct cfg80211_external_auth_params *params) +{ + struct wlan_net_vif *wnet_vif = wiphy_to_adapter(wiphy); + struct wifi_station *sta; + -+ printk("%s vid:%d, action:%d, status:%d\n", __func__, wnet_vif->wnet_vif_id, params->action, params->status); ++ pr_debug("%s vid:%d, action:%d, status:%d\n", __func__, wnet_vif->wnet_vif_id, params->action, params->status); + if (params->status == WLAN_STATUS_SUCCESS) { -+ printk("bssid: "MAC_FMT"", MAC_ARG(params->bssid)); -+ printk("SSID: [%s]\n", ((params->ssid.ssid_len == 0) ? "" : (char *)params->ssid.ssid)); -+ printk("suite: 0x%08x\n", params->key_mgmt_suite); ++ pr_debug("bssid: "MAC_FMT"", MAC_ARG(params->bssid)); ++ pr_debug("SSID: [%s]\n", ((params->ssid.ssid_len == 0) ? "" : (char *)params->ssid.ssid)); ++ pr_debug("suite: 0x%08x\n", params->key_mgmt_suite); + + if (wnet_vif->vm_opmode == WIFINET_M_STA) { + wifi_mac_top_sm(wnet_vif, WIFINET_S_ASSOC, 0); @@ -45091,7 +45174,7 @@ index 000000000000..b6e0dde8a4ca + } else { + sta = wifi_mac_get_sta(&wnet_vif->vm_sta_tbl, params->bssid, wnet_vif->wnet_vif_id); + if (sta != NULL) { -+ printk("auth sta:%p\n", sta); ++ pr_debug("auth sta:%p\n", sta); + wifi_mac_sta_auth(sta); + } + } @@ -45177,7 +45260,7 @@ index 000000000000..b6e0dde8a4ca +*/ +static void vm_cfg80211_init_vht_capab(struct ieee80211_sta_vht_cap *vht_cap, enum ieee80211_band band) +{ -+ printk("%s(%d)\n",__func__,__LINE__); ++ pr_debug("%s(%d)\n",__func__,__LINE__); + + vht_cap->vht_supported = true; + #if 0 /*Original added from RTL view, interpreted into kernel language*/ @@ -45219,7 +45302,7 @@ index 000000000000..b6e0dde8a4ca + +static void vm_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap, enum ieee80211_band band) +{ -+ printk("%s(%d)\n",__func__,__LINE__); ++ pr_debug("%s(%d)\n",__func__,__LINE__); + + ht_cap->ht_supported = true; + @@ -45290,7 +45373,7 @@ index 000000000000..b6e0dde8a4ca +char *rssi_result_path = "/lib/firmware/w1/rssi.tx"; +char *reg_result_path = "/lib/firmware/w1/reg.txt"; + -+void record_reg_value(unsigned int address, unsigned int value) ++static void record_reg_value(unsigned int address, unsigned int value) +{ +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)) + struct kstat stat; @@ -45378,18 +45461,21 @@ index 000000000000..b6e0dde8a4ca + unsigned int reg = 0; + unsigned int efuse_data = 0; + ++ if (!data) ++ return -EINVAL; ++ + vnd_cmd = (struct statistic_cmd *)data; + opt_data = (unsigned char *)data; + vnd_if = (union vendor_if *)data; + -+ printk("%s cmd 0x%x, addr 0x%x, data 0x%x\n", __func__, ++ pr_debug("%s cmd 0x%x, addr 0x%x, data 0x%x\n", __func__, + (vnd_if->vnd_reg_cmd.cmd), ntohl(vnd_if->vnd_reg_cmd.addr), ntohl(vnd_if->vnd_reg_cmd.data)); + + if (data_len > 0) { + opcode = iwVendorCmd->first_eight_byte & 0x000000ff; + switch(data_len) { + case 1: -+ printk("---Aml drv: only opcode.\n"); ++ pr_debug("---Aml drv: only opcode.\n"); + break; + + case 2: @@ -45455,7 +45541,7 @@ index 000000000000..b6e0dde8a4ca + wifimac->wm_flags_ext |= WIFINET_FEXT_AMSDU; + wifi_mac_config(wifimac, CHIP_PARAM_AMSDU_ENABLE, 1); + } -+ printk("Cfg80211: Set amsdu done:%d\n",usr_data); ++ pr_debug("Cfg80211: Set amsdu done:%d\n",usr_data); + break; + + case VM_NL80211_VENDER_SUBCMD_AMPDU: @@ -45476,68 +45562,68 @@ index 000000000000..b6e0dde8a4ca + if (IS_RUNNING(netdev)) { + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); + } -+ printk("Cfg80211: Set ampdu done:%d\n",usr_data); ++ pr_debug("Cfg80211: Set ampdu done:%d\n",usr_data); + break; + + case VM_NL80211_VENDER_SUBCMD_B2BNCTYPE: -+ printk("Cfg80211: Set encryption type done:%d\n",usr_data); ++ pr_debug("Cfg80211: Set encryption type done:%d\n",usr_data); + gB2BTestCasePacket.encryp_type = usr_data; + break; + + case VM_NL80211_VENDER_SUBCMD_B2BTKIPMIC: -+ printk("Cfg80211: Set tkip mic done:%d\n",usr_data); ++ pr_debug("Cfg80211: Set tkip mic done:%d\n",usr_data); + gB2BTestCasePacket.tkip_mic = usr_data; + break; + + case VM_NL80211_VENDER_SUBCMD_B2BTCPCSUM: -+ printk("Cfg80211: Set tcp checksum done:%d\n",usr_data); ++ pr_debug("Cfg80211: Set tcp checksum done:%d\n",usr_data); + gB2BTestCasePacket.tcpip_csum = usr_data; + break; + + case VM_NL80211_VENDER_SUBCMD_B2BPKTSNUM: -+ printk("Cfg80211: Set send packets numbers done:%d\n",usr_data); ++ pr_debug("Cfg80211: Set send packets numbers done:%d\n",usr_data); + gB2BTestCasePacket.send_frame_num = usr_data; + break; + + case VM_NL80211_VENDER_SUBCMD_B2BTESTYPE: -+ printk("Cfg80211: To be send data packets and test type :%d\n",usr_data); -+ printk("Cfg80211: Please make sure set bssid mac address as the same with dest.\n"); ++ pr_debug("Cfg80211: To be send data packets and test type :%d\n",usr_data); ++ pr_debug("Cfg80211: Please make sure set bssid mac address as the same with dest.\n"); + gB2BTestCasePacket.packet_type = usr_data; -+ printk("Cfg80211: Before calling prepare_test_hal_layer_thr_init.\n"); ++ pr_debug("Cfg80211: Before calling prepare_test_hal_layer_thr_init.\n"); + prepare_test_hal_layer_thr_init(usr_data); + break; + + case VM_NL80211_VENDER_SUBCMD_DRV_B2B_SET_LOCAL_MAC_ADDR: + memcpy(TrcConfMib.the_mac_address,vmc_tmp_addr,6); + local_mac_addr_update(); -+ printk("Cfg80211: Set local mac addr done.\n"); ++ pr_debug("Cfg80211: Set local mac addr done.\n"); + break; + + case VM_NL80211_VENDER_SUBCMD_DRV_B2B_GET_LOCAL_MAC_ADDR: -+ printk("Cfg80211: local wnet_vif addr: "MAC_FMT"\n",MAC_ARG(TrcConfMib.the_mac_address)); ++ pr_debug("Cfg80211: local wnet_vif addr: "MAC_FMT"\n",MAC_ARG(TrcConfMib.the_mac_address)); + break; + + case VM_NL80211_VENDER_SUBCMD_DRV_B2B_SET_PEER_MAC_ADDR: + memcpy(TrcConfMib.the_desc_address,vmc_tmp_addr,6); + memcpy(TrcConfMib.the_connect_address,vmc_tmp_addr,6); + dst_mac_addr_update(); -+ printk("Cfg80211: Set peer mac addr done.\n"); ++ pr_debug("Cfg80211: Set peer mac addr done.\n"); + break; + + case VM_NL80211_VENDER_SUBCMD_DRV_B2B_GET_PEER_MAC_ADDR: -+ printk("Cfg80211: dest wnet_vif addr: "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_desc_address)); ++ pr_debug("Cfg80211: dest wnet_vif addr: "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_desc_address)); + break; + + case VM_NL80211_VENDER_SUBCMD_DRV_B2B_SET_BSSID_MAC_ADDR: + memcpy(TrcConfMib.the_bssid,vmc_tmp_addr,6); -+ printk("Cfg80211: Set bssid mac addr done.\n"); ++ pr_debug("Cfg80211: Set bssid mac addr done.\n"); + break; + + case VM_NL80211_VENDER_SUBCMD_DRV_B2B_GET_BSSID_MAC_ADDR: -+ printk("Cfg80211: local wnet_vif addr: "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_mac_address)); -+ printk("Cfg80211: dest wnet_vif addr: "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_desc_address)); -+ printk("Cfg80211: connect addr: "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_connect_address)); -+ printk("Cfg80211: bssid : "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_bssid)); ++ pr_debug("Cfg80211: local wnet_vif addr: "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_mac_address)); ++ pr_debug("Cfg80211: dest wnet_vif addr: "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_desc_address)); ++ pr_debug("Cfg80211: connect addr: "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_connect_address)); ++ pr_debug("Cfg80211: bssid : "MAC_FMT"\n", MAC_ARG(TrcConfMib.the_bssid)); + break; + + case VM_NL80211_VENDER_SUBCMD_DRV_B2B_SET_CHL: @@ -45549,7 +45635,7 @@ index 000000000000..b6e0dde8a4ca + hchan.pchan_num = vnd_if->vnd_chn_bw_cmd.chn; + hchan.chan_bw = vnd_if->vnd_chn_bw_cmd.bw; + -+ printk("Cfg80211: set channel to %d. bw =%d\n",vnd_if->vnd_chn_bw_cmd.chn, vnd_if->vnd_chn_bw_cmd.bw); ++ pr_debug("Cfg80211: set channel to %d. bw =%d\n",vnd_if->vnd_chn_bw_cmd.chn, vnd_if->vnd_chn_bw_cmd.bw); + + phy_set_rf_chan(&hchan, 0, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); + break; @@ -45557,7 +45643,7 @@ index 000000000000..b6e0dde8a4ca + + case VM_NL80211_VENDER_SUBCMD_DRV_B2B_PKT_LENGTH: + gB2BTestCasePacket.pkt_length = usr_data; -+ printk("Cfg80211: set pkt_len(mpdu_len) = %d uninvolved (fcs,delimiter)\n",usr_data); ++ pr_debug("Cfg80211: set pkt_len(mpdu_len) = %d uninvolved (fcs,delimiter)\n",usr_data); + break; + + case VM_NL80211_VENDER_SUBCMD_DRV_SET_SHORT_GI: @@ -45566,30 +45652,30 @@ index 000000000000..b6e0dde8a4ca + + if (1 == usr_data) { + wifimac->wm_flags_ext |= WIFINET_FEXT_SHORTGI_ENABLE; -+ printk("Cfg80211: enable short GI done"); ++ pr_debug("Cfg80211: enable short GI done"); + + } else { + wifimac->wm_flags_ext &= ~WIFINET_FEXT_SHORTGI_ENABLE; -+ printk("Cfg80211: disable short GI done.\n"); ++ pr_debug("Cfg80211: disable short GI done.\n"); + } + + if (1 == usr_data) -+ printk("Cfg80211: enable short GI done.\n"); ++ pr_debug("Cfg80211: enable short GI done.\n"); + else -+ printk("Cfg80211: disable short GI done.\n"); ++ pr_debug("Cfg80211: disable short GI done.\n"); + break; + + case VM_NL80211_VENDER_SUBCMD_B2BCHLBW: -+ printk("Cfg80211: Set channel bandwidth done:%d\n",usr_data); ++ pr_debug("Cfg80211: Set channel bandwidth done:%d\n",usr_data); + if (aml_wifi_is_enable_rf_test()) + gB2BTestCasePacket.channel_bw = usr_data; + + if (usr_data == 2) { -+ printk("\n----: 80M bw\n"); ++ pr_debug("\n----: 80M bw\n"); + } else if (usr_data == 1) { -+ printk("\n----: 40M bw\n"); ++ pr_debug("\n----: 40M bw\n"); + } else { -+ printk("\n-----: 20M bw\n"); ++ pr_debug("\n-----: 20M bw\n"); + } + break; + @@ -45605,12 +45691,12 @@ index 000000000000..b6e0dde8a4ca + } else { + reg_val = wnet_vif->vif_ops.read_word(usr_data); + } -+ printk("Drv info: Reg data=&0x%08x\n",reg_val);//do not remove me!!!!! ++ pr_debug("Drv info: Reg data=&0x%08x\n",reg_val);//do not remove me!!!!! + record_reg_value(usr_data, reg_val); + break; + + case VM_NL80211_VENDER_SUBCMD_SETREG: -+ printk("Cfg80211: Reg addr: val:0x%08x,val:0x%08x\n",usr_data,usr_data_ext); ++ pr_debug("Cfg80211: Reg addr: val:0x%08x,val:0x%08x\n",usr_data,usr_data_ext); + if (((usr_data >> 24) & 0xff) == 0xff) { +#ifdef USE_T902X_RF + rf_i2c_write( usr_data & 0x00ffffff,usr_data_ext );//access t902x rf reg @@ -45630,7 +45716,7 @@ index 000000000000..b6e0dde8a4ca + reg_val = rf_i2c_read(usr_data); +#endif + -+ printk("[I2C read]: Reg data=&0x%08x\n",reg_val); ++ pr_debug("[I2C read]: Reg data=&0x%08x\n",reg_val); + break; + + case VM_NL80211_VENDER_I2C_SETREG: @@ -45638,7 +45724,7 @@ index 000000000000..b6e0dde8a4ca + rf_i2c_write(usr_data,usr_data_ext); +#endif + -+ printk("[I2C write] I2c addr: 0x%08x, data:0x%08x\n",usr_data,usr_data_ext); ++ pr_debug("[I2C write] I2c addr: 0x%08x, data:0x%08x\n",usr_data,usr_data_ext); + break; + + case VM_NL80211_T9026_DUMP_RXIRR_REG: @@ -45655,15 +45741,15 @@ index 000000000000..b6e0dde8a4ca + + case VM_NL80211_VENDER_DBG_INFO_ENABLE: + g_dbg_info_enable = (unsigned long long)usr_data; -+ printk("%s(%d)dbg_en=0x%08llx\n ", __func__, __LINE__, g_dbg_info_enable); ++ pr_debug("%s(%d)dbg_en=0x%08llx\n ", __func__, __LINE__, g_dbg_info_enable); + break; + case VM_NL80211_VENDER_DYNAMIC_BW_CFG: + if( usr_data != 0 ){ + wifi_mac_config(wifimac, CHIP_PARAM_DYNAMIC_BW, 1); -+ printk("enable dynamic bandwith\n"); ++ pr_debug("enable dynamic bandwidth\n"); + }else{ + wifi_mac_config(wifimac, CHIP_PARAM_DYNAMIC_BW, 0); -+ printk("disable dynamic bandwith\n"); ++ pr_debug("disable dynamic bandwidth\n"); + } + + break; @@ -45676,7 +45762,7 @@ index 000000000000..b6e0dde8a4ca + + if (bcn_intvl == 0) + bcn_intvl = WIFINET_BINTVAL_DEFAULT; -+ printk("%s:%d, bcn intvl %d\n", __func__, __LINE__, bcn_intvl); ++ pr_debug("%s:%d, bcn intvl %d\n", __func__, __LINE__, bcn_intvl); + wifimac->drv_priv->drv_ops.Phy_beaconinit(wifimac->drv_priv, + wnet_vif->wnet_vif_id, bcn_intvl); + @@ -45740,26 +45826,26 @@ index 000000000000..b6e0dde8a4ca + break; + + case VM_NL80211_VENDOR_UPDATE_WIPHY_PARAMS: -+ printk("Cfg80211: update_wiphy_params\n"); -+ printk("Cfg80211: wiphy addr: 0x%p----\n", wiphy); ++ pr_debug("Cfg80211: update_wiphy_params\n"); ++ pr_debug("Cfg80211: wiphy addr: 0x%p----\n", wiphy); + vm_cfg80211_update_wiphy_params(wiphy); + break; + case VM_NL80211_VENDOR_SET_PREAMBLE_TYPE: -+ printk("Cfg80211: set preamble type\n"); ++ pr_debug("Cfg80211: set preamble type\n"); + phy_set_preamble_type(usr_data); + break; + case VM_NL80211_VENDOR_SET_BURST: -+ printk("Cfg80211: set burst\n"); ++ pr_debug("Cfg80211: set burst\n"); + wifimac->drv_priv->drv_config.cfg_burst_ack = usr_data; + break; + case VM_NL80211_VENDOR_SET_ACK_POLICY: -+ printk("Cfg80211: set ack policy\n"); ++ pr_debug("Cfg80211: set ack policy\n"); + wifimac->drv_priv->drv_config.ack_policy = usr_data; + break; + case VM_NL80211_SENDTEST: + frame_num = usr_data >> 16; + frame_len = usr_data & 0xffff; -+ printk("Cfg80211: frame_num =%d,frame_len=%d\n", frame_num, frame_len); ++ pr_debug("Cfg80211: frame_num =%d,frame_len=%d\n", frame_num, frame_len); + do + { + wifi_mac_send_testdata(wnet_vif->vm_mainsta, frame_len); @@ -45770,12 +45856,12 @@ index 000000000000..b6e0dde8a4ca + + case VM_NL80211_BT_REG_READ: + reg_val = wnet_vif->vif_ops.bt_read_word(usr_data); -+ printk("Read BT Addr = 0x%x,data = 0x%x\n",usr_data,reg_val); ++ pr_debug("Read BT Addr = 0x%x,data = 0x%x\n",usr_data,reg_val); + break; + + case VM_NL80211_BT_REG_WRITE: + wnet_vif->vif_ops.bt_write_word(usr_data,usr_data_ext); -+ printk("Write BT Addr = 0x%x,data = 0x%x\n",usr_data,usr_data_ext); ++ pr_debug("Write BT Addr = 0x%x,data = 0x%x\n",usr_data,usr_data_ext); + break; + + case VM_NL80211_SET_LDPC: @@ -45783,23 +45869,23 @@ index 000000000000..b6e0dde8a4ca + { + if (aml_wifi_is_enable_rf_test()) { + gB2BTestCasePacket.ldpc_enable = 1; -+ printk("Enable tx ldpc\n"); ++ pr_debug("Enable tx ldpc\n"); + } + + wnet_vif->vm_mainsta->sta_vhtcap |= WIFINET_VHTCAP_RX_LDPC; + wifimac->wm_flags |=WIFINET_F_LDPC; -+ printk("Enable ldpc, if need change,the action must be excute before connect ap or create ap\n"); ++ pr_debug("Enable ldpc, if need change,the action must be excute before connect ap or create ap\n"); + } + else + { + if (aml_wifi_is_enable_rf_test()) { + gB2BTestCasePacket.ldpc_enable = 0; -+ printk("Disable tx ldpc\n"); ++ pr_debug("Disable tx ldpc\n"); + } + + wnet_vif->vm_mainsta->sta_vhtcap &= ~WIFINET_VHTCAP_RX_LDPC; + wifimac->wm_flags &=~WIFINET_F_LDPC; -+ printk("Disable ldpc, if need change,the action must be excute before connect ap or create ap\n"); ++ pr_debug("Disable ldpc, if need change,the action must be excute before connect ap or create ap\n"); + } + break; + @@ -45835,22 +45921,22 @@ index 000000000000..b6e0dde8a4ca + +#ifdef WIFI_CAPTURE + case VM_NL80211_SET_CAP_GAIN: -+ printk("set gain = 0x%08x\n",ntohl(vnd_if->vnd_com_cmd.data)); ++ pr_debug("set gain = 0x%08x\n",ntohl(vnd_if->vnd_com_cmd.data)); + dut_set_gain(ntohl(vnd_if->vnd_com_cmd.data)); + break; + + case VM_NL80211_SET_BCAP_NAME: -+ printk("bcap name = 0x%08x\n",ntohl(vnd_if->vnd_com_cmd.data)); ++ pr_debug("bcap name = 0x%08x\n",ntohl(vnd_if->vnd_com_cmd.data)); + dut_set_bcap_log_name(ntohl(vnd_if->vnd_com_cmd.data)); + break; + + case VM_NL80211_VDR_SUBCMD_START_CAPTURE: -+ printk("Drv info: Reg addr=0x%08x\n",ntohl(vnd_if->vnd_com_cmd.data)); ++ pr_debug("Drv info: Reg addr=0x%08x\n",ntohl(vnd_if->vnd_com_cmd.data)); + dut_start_capture(ntohl(vnd_if->vnd_com_cmd.data)); + break; + + case VM_NL80211_VDR_SUBCMD_STOP_CAPTURE: -+ printk("Drv info: Reg addr=0x%08x\n",usr_data); ++ pr_debug("Drv info: Reg addr=0x%08x\n",usr_data); + dut_stop_capture(); + break; +#endif @@ -45863,46 +45949,46 @@ index 000000000000..b6e0dde8a4ca + wnet_vif->vm_pwrsave.ips_inactivitytime = (unsigned int)usr_data; + + os_timer_ex_start_period(&wnet_vif->vm_pwrsave.ips_timer_presleep, wnet_vif->vm_pwrsave.ips_inactivitytime); -+ printk("%s(%d) set ips_inactivitytime = 0x%08x\n ", __func__, __LINE__, wnet_vif->vm_pwrsave.ips_inactivitytime); ++ pr_debug("%s(%d) set ips_inactivitytime = 0x%08x\n ", __func__, __LINE__, wnet_vif->vm_pwrsave.ips_inactivitytime); + break; + + case VM_NL80211_FETCH_PKT_METHOD: + wnet_vif->vm_mainsta->sta_fetch_pkt_method = (unsigned char)usr_data; -+ printk("%s(%d) set sta_fetch_pkt_method = %d\n ", __func__, __LINE__, wnet_vif->vm_mainsta->sta_fetch_pkt_method); ++ pr_debug("%s(%d) set sta_fetch_pkt_method = %d\n ", __func__, __LINE__, wnet_vif->vm_mainsta->sta_fetch_pkt_method); + break; + + case VM_NL80211_PKT_FRAGMENT_THRESHOLD: + if ((unsigned short)usr_data > 0) { + wnet_vif->vm_fragthreshold = (unsigned short)usr_data; + } -+ printk("%s(%d) set vm_fragthreshold = %d\n ", __func__, __LINE__, wnet_vif->vm_fragthreshold); ++ pr_debug("%s(%d) set vm_fragthreshold = %d\n ", __func__, __LINE__, wnet_vif->vm_fragthreshold); + break; + + case VM_NL80211_UAPSD_ENABLE: + if ((unsigned char)usr_data != 0) { + WIFINET_VMAC_UAPSD_ENABLE(wnet_vif); -+ printk("%s(%d) enable ap uapsd\n ", __func__, __LINE__); ++ pr_debug("%s(%d) enable ap uapsd\n ", __func__, __LINE__); + + } else { + WIFINET_VMAC_UAPSD_DISABLE(wnet_vif); -+ printk("%s(%d) disable ap uapsd\n ", __func__, __LINE__); ++ pr_debug("%s(%d) disable ap uapsd\n ", __func__, __LINE__); + } + break; + + case VM_NL80211_CLK_MEASURE: + host_clk_msr((unsigned char)(usr_data)); -+ printk("%s(%d) host_clk_msr: %d\n ", __func__, __LINE__, (unsigned char)(usr_data)); ++ pr_debug("%s(%d) host_clk_msr: %d\n ", __func__, __LINE__, (unsigned char)(usr_data)); + break; + + case VM_NL80211_AUTORATE_ENABLE: + wnet_vif->vm_fixed_rate.rateinfo = 0; + wnet_vif->vm_fixed_rate.mode = WIFINET_FIXED_RATE_NONE; + wnet_vif->vm_change_rate_enable = 1; -+ printk("%s %d, enable autorate\n", __func__,__LINE__); ++ pr_debug("%s %d, enable autorate\n", __func__,__LINE__); + break; + + case VM_NL80211_SDIO_DLY_ADJUST: -+ printk("sdio change timing %08x\n", usr_data); ++ pr_debug("sdio change timing %08x\n", usr_data); + hif->hif_ops.hi_write_reg8(0x2c0, 0); + + switch (usr_data) { @@ -45923,11 +46009,11 @@ index 000000000000..b6e0dde8a4ca + break; + } + -+ printk("debug reg:%08x, read:%08x\n", reg, (unsigned int)(hif->hif_ops.hi_read_reg8(reg))); ++ pr_debug("debug reg:%08x, read:%08x\n", reg, (unsigned int)(hif->hif_ops.hi_read_reg8(reg))); + for (i = 0; i < 32; ++i) { + hif->hif_ops.hi_write_reg8(reg, i); + -+ printk("0x0000b078 %08x, debug reg:%08x, i :%d, read:%08x\n", ++ pr_debug("0x0000b078 %08x, debug reg:%08x, i :%d, read:%08x\n", + (unsigned int)(hif->hif_ops.hi_read_word(0x0000b078)), reg, i, (unsigned int)(hif->hif_ops.hi_read_reg8(reg))); + hif->hif_ops.hi_write_word(0x0000b078, 0x00000701 + i); + } @@ -45939,50 +46025,50 @@ index 000000000000..b6e0dde8a4ca + + if ((usr_data & 0xFF) > 4) + { -+ printk("support max spatial is 4 !\n"); ++ pr_debug("support max spatial is 4 !\n"); + wifimac->max_spatial = 4; + } + else if ((usr_data & 0xFF) <= 0) + { -+ printk("min spatial is 1 !\n"); ++ pr_debug("min spatial is 1 !\n"); + wifimac->max_spatial = 1; + } + else + wifimac->max_spatial = usr_data & 0xFF; -+ printk("%s:%d, set spatial %d \n", __func__, __LINE__, wifimac->max_spatial); ++ pr_debug("%s:%d, set spatial %d \n", __func__, __LINE__, wifimac->max_spatial); + + if ((((usr_data >> 8) & 0xFF) & BIT(0)) == BIT(0)) + { + wifimac->wm_flags_ext2 |= WIFINET_VHTCAP_SU_BFMEE; -+ printk("%s:%d, enable su mimo\n", __func__, __LINE__); ++ pr_debug("%s:%d, enable su mimo\n", __func__, __LINE__); + } + else + { + wifimac->wm_flags_ext2 &= ~WIFINET_VHTCAP_SU_BFMEE; -+ printk("%s:%d, disable su mimo\n", __func__, __LINE__); ++ pr_debug("%s:%d, disable su mimo\n", __func__, __LINE__); + } + + if ((((usr_data >> 8) & 0xFF) & BIT(1)) == BIT(1)) + { + wifimac->wm_flags_ext2 |= WIFINET_VHTCAP_MU_BFMEE; -+ printk("%s:%d, enable mu mimo\n", __func__, __LINE__); ++ pr_debug("%s:%d, enable mu mimo\n", __func__, __LINE__); + } + else + { + wifimac->wm_flags_ext2 &= ~WIFINET_VHTCAP_MU_BFMEE; -+ printk("%s:%d, disable mu mimo\n", __func__, __LINE__); ++ pr_debug("%s:%d, disable mu mimo\n", __func__, __LINE__); + } + break; +#endif + +#ifdef WIFI_CAPTURE + case VM_NL80211_VDR_SUBCMD_BT_START_CAPTURE: -+ printk("Drv info: Reg addr=0x%08x\n",ntohl(vnd_if->vnd_com_cmd.data)); ++ pr_debug("Drv info: Reg addr=0x%08x\n",ntohl(vnd_if->vnd_com_cmd.data)); + dut_bt_start_capture(ntohl(vnd_if->vnd_com_cmd.data)); + break; + + case VM_NL80211_VDR_SUBCMD_BT_STOP_CAPTURE: -+ printk("Drv info: Reg addr=0x%08x\n",usr_data); ++ pr_debug("Drv info: Reg addr=0x%08x\n",usr_data); + dut_bt_stop_capture(); + break; +#endif @@ -45993,7 +46079,7 @@ index 000000000000..b6e0dde8a4ca + wifi_mac_set_scan_time(wnet_vif); + } + -+ printk("%s, vid:%d set scan_time_idle = %d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_idle); ++ pr_debug("%s, vid:%d set scan_time_idle = %d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_idle); + break; + + case VM_NL80211_SCAN_TIME_CONNECT: @@ -46002,37 +46088,37 @@ index 000000000000..b6e0dde8a4ca + wifi_mac_set_scan_time(wnet_vif); + } + -+ printk("%s, vid:%d set scan_time_connect = %d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_connect); ++ pr_debug("%s, vid:%d set scan_time_connect = %d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_connect); + break; + + case VM_NL80211_SCAN_HANG: + wnet_vif->vm_scan_hang = (unsigned char)usr_data; -+ printk("%s, vid:%d vm_scan_hang:%d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_hang); ++ pr_debug("%s, vid:%d vm_scan_hang:%d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_hang); + break; + + case VM_NL80211_PRINT_VERSION: + print_driver_version(); -+ printk("driver version: %s\n", DRIVERVERSION); ++ pr_debug("driver version: %s\n", DRIVERVERSION); + break; + + case VM_NL80211_SET_EN_COEX: -+ printk("%s, coexist en= %d\n ", __func__, usr_data); ++ pr_debug("%s, coexist en= %d\n ", __func__, usr_data); + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_en(usr_data); + break; + + case VM_NL80211_SET_COEXIST_MAX_MISS_BCN_CNT: -+ //printk("%s, set max bcn miss cnt= %d\n ", __func__, usr_data); ++ //pr_debug("%s, set max bcn miss cnt= %d\n ", __func__, usr_data); + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_max_miss_bcn(usr_data); + break; + + case VM_NL80211_SET_COEXIST_REQ_TIMEOUT: + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_req_timeslice_timeout_value(usr_data); -+ printk("%s, set req timeout value= %d\n ", __func__, usr_data); ++ pr_debug("%s, set req timeout value= %d\n ", __func__, usr_data); + break; + + case VM_NL80211_SET_COEXIST_NOT_GRANT_WEIGHT: + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_not_grant_weight(usr_data); -+ printk("%s, set coexist_not_grant_weight= %d\n ", __func__, usr_data); ++ pr_debug("%s, set coexist_not_grant_weight= %d\n ", __func__, usr_data); + break; + + case VM_NL80211_SET_COEXIST_CONFIG: @@ -46041,13 +46127,13 @@ index 000000000000..b6e0dde8a4ca + + case VM_NL80211_SET_COEXIST_MAX_NOT_GRANT_CNT: + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_max_not_grant_cnt(usr_data); -+ printk("%s, set coexist_max_not_grant_cnt= %d\n ", __func__, usr_data); ++ pr_debug("%s, set coexist_max_not_grant_cnt= %d\n ", __func__, usr_data); + break; + + case VM_NL80211_SET_COEXIST_IRQ_END_TIM: -+ printk("%s, set SET_COEXIST_IRQ_END_TIM= 0x%8x\n ", __func__, usr_data); -+ printk("%s, A2DP irq end time is = %d\n ", __func__, usr_data &0xffff); -+ printk("%s, other traffic irq end time is = %d\n ", __func__, usr_data>>16); ++ pr_debug("%s, set SET_COEXIST_IRQ_END_TIM= 0x%8x\n ", __func__, usr_data); ++ pr_debug("%s, A2DP irq end time is = %d\n ", __func__, usr_data &0xffff); ++ pr_debug("%s, other traffic irq end time is = %d\n ", __func__, usr_data>>16); + wnet_vif->vif_ops.write_word(RG_COEX_IRQ_END_TIME, usr_data); + break; + @@ -46077,7 +46163,7 @@ index 000000000000..b6e0dde8a4ca + break; + + default: -+ printk("Cfg80211 Warning:Vendor subcmd index out of range!!!\n"); ++ pr_err("Cfg80211 Warning:Vendor subcmd index out of range!!!\n"); + break; + } + return ret; @@ -46154,7 +46240,7 @@ index 000000000000..b6e0dde8a4ca + wiphy->flags |= WIPHY_FLAG_HAVE_AP_SME; + wiphy->flags |= WIPHY_FLAG_OFFCHAN_TX | WIPHY_FLAG_HAVE_AP_SME; + -+ printk("AML INFO:before register vendor cmd!!!\n "); ++ pr_debug("AML INFO:before register vendor cmd!!!\n "); + vm_register_cfg80211_vnd_cmd(wiphy); + return; +} @@ -46384,7 +46470,7 @@ index 000000000000..b6e0dde8a4ca + struct in_ifaddr *ifa_v4; + __be32 ipv4 = 0; + -+ printk(" %s %d cp->vm_param_opmode %x \n",__func__,__LINE__,cp->vm_param_opmode); ++ pr_debug(" %s %d cp->vm_param_opmode %x \n",__func__,__LINE__,cp->vm_param_opmode); + switch (cp->vm_param_opmode) + { + case WIFINET_M_STA: @@ -46400,7 +46486,7 @@ index 000000000000..b6e0dde8a4ca + netif_carrier_on(wnet_vif->vm_ndev); + break; + default: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + return ; + } + @@ -46414,13 +46500,13 @@ index 000000000000..b6e0dde8a4ca + if (wifimac->drv_priv->drv_ops.change_interface(wifimac->drv_priv, + wnet_vif->wnet_vif_id,wnet_vif,vm_opmode, wnet_vif->vm_myaddr, ipv4)) + { -+ printk("Unable to add an interface for driver.\n"); ++ pr_err("Unable to add an interface for driver.\n"); + wifi_mac_free_vmac(wnet_vif); + return ; + } + vm_wlan_net_vif_setup_forchvif(wifimac, wnet_vif, NULL, vm_opmode); + wifi_mac_station_init(wnet_vif); -+ printk(" %s %d wnet_vif->vm_opmode =%d \n",__func__,__LINE__,wnet_vif->vm_opmode); ++ pr_debug(" %s %d wnet_vif->vm_opmode =%d \n",__func__,__LINE__,wnet_vif->vm_opmode); + wifi_mac_pwrsave_latevattach(wnet_vif); +} + @@ -46523,7 +46609,7 @@ index 000000000000..b6e0dde8a4ca + int total_delay = 0; + int canceled = 0, ready = 0; + -+ printk("%s %d try to preempt scan \n", __func__, __LINE__); ++ pr_debug("%s %d try to preempt scan \n", __func__, __LINE__); + + while (!ready && total_delay < max_grace + max_wait) + { @@ -46535,7 +46621,7 @@ index 000000000000..b6e0dde8a4ca + { + if (!canceled && total_delay > max_grace) + { -+ printk("%s: cancel pending scan request", __func__); ++ pr_warn("%s: cancel pending scan request", __func__); + (void) wifi_mac_cancel_scan(wifimac); + canceled = 1; + } @@ -46546,7 +46632,7 @@ index 000000000000..b6e0dde8a4ca + + if (!ready) + { -+ printk("%s: ","Timeout canceling current scan."); ++ pr_debug("%s: ","Timeout canceling current scan."); + } + + return ready; @@ -46596,19 +46682,111 @@ index 000000000000..b6e0dde8a4ca + reg_val = wnet_vif->vif_ops.read_word(addr[i]); + } + -+ printk("addr[%d] 0x%x data 0x%x\n", i, addr[i] , reg_val); ++ pr_debug("addr[%d] 0x%x data 0x%x\n", i, addr[i] , reg_val); + } + +} + ++/****************************************************************************** ++ * CFG80211 ++ *****************************************************************************/ ++#if defined(IEEE80211_MLD_MAX_NUM_LINKS) ++ #define CFG80211_SINGLE_NETDEV_MULTI_LINK_SUPPORT 1 ++#endif + ++static void aml_cfg80211_ch_switch_notify(struct net_device *dev, ++ struct cfg80211_chan_def *chandef, unsigned int link_id) ++{ ++#if ((defined (CONFIG_AMLOGIC_KERNEL_VERSION) && defined (AML_KERNEL_VERSION)) && (\ ++ (CONFIG_AMLOGIC_KERNEL_VERSION == 13515 && AML_KERNEL_VERSION >= 15)\ ++ || (CONFIG_AMLOGIC_KERNEL_VERSION == 14515 && AML_KERNEL_VERSION >= 12) ) )\ ++ || (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(6, 9, 0)) ++ return cfg80211_ch_switch_notify(dev, chandef, link_id, 0); ++#elif (defined (CFG80211_SINGLE_NETDEV_MULTI_LINK_SUPPORT)) || (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 2)) ++ return cfg80211_ch_switch_notify(dev, chandef, link_id); ++#else ++ return cfg80211_ch_switch_notify(dev, chandef); ++#endif ++} ++ ++static void aml_cfg80211_ch_switch_started_notify(struct net_device *dev, ++ struct cfg80211_chan_def *chandef, unsigned int link_id, u8 count, bool quiet) ++{ ++#if ((defined (CONFIG_AMLOGIC_KERNEL_VERSION) && defined (AML_KERNEL_VERSION)) && (\ ++ (CONFIG_AMLOGIC_KERNEL_VERSION == 13515 && AML_KERNEL_VERSION >= 15)\ ++ || (CONFIG_AMLOGIC_KERNEL_VERSION == 14515 && AML_KERNEL_VERSION >= 12) ) )\ ++ || (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(6, 9, 0)) ++ return cfg80211_ch_switch_started_notify(dev, chandef, link_id, count, quiet, 0); ++#elif (defined (CFG80211_SINGLE_NETDEV_MULTI_LINK_SUPPORT)) || (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)) ++ return cfg80211_ch_switch_started_notify(dev, chandef, link_id, count, quiet); ++#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 11, 0)) ++ return cfg80211_ch_switch_started_notify(dev, chandef, count, quiet); ++#else ++ return cfg80211_ch_switch_started_notify(dev, chandef, count); ++#endif ++} ++ ++void vm_cfg80211_chan_switch_notify_task(SYS_TYPE param1,SYS_TYPE param2, SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) ++{ ++ struct wifi_mac *wifimac = (struct wifi_mac *)param1; ++ struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param2; ++ unsigned char start = (unsigned char) param3; ++ struct net_device *ndev = wnet_vif->vm_ndev; ++ struct cfg80211_chan_def chandef = {0}; ++ struct wifi_channel *vmac_chan = (struct wifi_channel *)param4; ++ struct ieee80211_channel *notify_channel = NULL; ++ struct wiphy *wiphy = wnet_vif->vm_wdev->wiphy; ++ ++ if (vmac_chan == WIFINET_CHAN_ERR) ++ { ++ ERROR_DEBUG_OUT("main_vmac_chan is WIFINET_CHAN_ERR\n"); ++ return; ++ } ++ ++ notify_channel = ieee80211_get_channel(wiphy, wifi_mac_Ieee2mhz(vmac_chan->chan_pri_num, 0)); ++ if (notify_channel == NULL) { ++ ERROR_DEBUG_OUT("no such pri_chan:%d\n", vmac_chan->chan_pri_num); ++ return; ++ } else { ++ cfg80211_chandef_create(&chandef, notify_channel, NL80211_CHAN_NO_HT); ++ ++ if (vmac_chan->chan_bw == WIFINET_BWC_WIDTH20) { ++ chandef.width = NL80211_CHAN_WIDTH_20; ++ } else if (vmac_chan->chan_bw == WIFINET_BWC_WIDTH40) { ++ chandef.width = NL80211_CHAN_WIDTH_40; ++ } else if (vmac_chan->chan_bw == WIFINET_BWC_WIDTH80) { ++ chandef.width = NL80211_CHAN_WIDTH_80; ++ } else { ++ ERROR_DEBUG_OUT("station chan_bw do not support\n"); ++ } ++ chandef.center_freq1 = vmac_chan->chan_cfreq1; ++ } ++ ++ AML_OUTPUT("vid:%d notify new_chan:%d bw:%d freq:%d start:%d\n", wnet_vif->wnet_vif_id, vmac_chan->chan_pri_num, ++ vmac_chan->chan_bw, vmac_chan->chan_cfreq1, start); ++ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 1)) ++ wiphy_lock(wiphy); ++#endif ++ if (start) { ++ aml_cfg80211_ch_switch_started_notify(ndev, &chandef, 0, wnet_vif->vm_wmac->wm_doth_tbtt, 0);/*#define CSA_BLOCK_TX 1*/ ++ } else { ++ aml_cfg80211_ch_switch_notify(ndev, &chandef, 0); ++ memset(&(wnet_vif->csa_target.switch_chan) , 0, sizeof(struct wifi_channel)); ++ } ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 1)) ++ wiphy_unlock(wiphy); ++#endif ++ ++ return; ++} +#endif//CONFIG_AML_CFG80211 diff --git a/drivers/net/wireless/w1/vmac/wifi_cfg80211.h b/drivers/net/wireless/w1/vmac/wifi_cfg80211.h new file mode 100644 -index 000000000000..d2411ae12577 +index 0000000000000000000000000000000000000000..cf86244386580c9f3ef93c515ec34ec7a5a09da1 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_cfg80211.h -@@ -0,0 +1,381 @@ +@@ -0,0 +1,393 @@ +/* + **************************************************************************************** + * @@ -46987,12 +47165,24 @@ index 000000000000..d2411ae12577 +void batch_dump_reg(struct wiphy *wiphy,unsigned int addr[], unsigned int addr_num); +void wifi_softap_allsta_stopping(struct wlan_net_vif *wnet_vif, unsigned char is_disconnecting); +int softap_get_sta_num(struct wlan_net_vif *wnet_vif); -+ ++void vm_cfg80211_chan_switch_notify_task(SYS_TYPE param1,SYS_TYPE param2, SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0) ++int vm_cfg80211_set_bitrate_mask(struct wiphy *wiphy, ++ struct net_device *dev, ++ const unsigned char *peer, ++ const struct cfg80211_bitrate_mask *mask); ++#else ++int vm_cfg80211_set_bitrate_mask(struct wiphy *wiphy, ++ struct net_device *dev, ++ unsigned int link_id, ++ const unsigned char *peer, ++ const struct cfg80211_bitrate_mask *mask); ++#endif +#endif + diff --git a/drivers/net/wireless/w1/vmac/wifi_clock_measure.c b/drivers/net/wireless/w1/vmac/wifi_clock_measure.c new file mode 100644 -index 000000000000..a93c11ff5837 +index 0000000000000000000000000000000000000000..3fcb5daf07aa39ca7a1a08318bf4d9dbd81abc35 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_clock_measure.c @@ -0,0 +1,267 @@ @@ -47001,11 +47191,11 @@ index 000000000000..a93c11ff5837 +#include "wifi_hif.h" +#include "wifi_mac_com.h" + -+unsigned int clk_msr_time_set( unsigned int msr_freq) ++static unsigned int clk_msr_time_set( unsigned int msr_freq) +{ + unsigned int us_gate_time; + -+ if(msr_freq / 1000000 >= 160){ ++ if (msr_freq / 1000000 >= 160) { + us_gate_time = 1; + } else { + // if < 10Mhz, measure num is set about 320 @@ -47014,8 +47204,8 @@ index 000000000000..a93c11ff5837 + return us_gate_time; +} + -+// test the clock measurement -+unsigned int clk_msr_calc(unsigned int clk_mux, unsigned int exp_freq) ++// test the clock measurement ++static unsigned int clk_msr_calc(unsigned int clk_mux, unsigned int exp_freq) +{ + struct hw_interface* hif = hif_get_hw_interface(); + unsigned int measured_val; @@ -47024,18 +47214,18 @@ index 000000000000..a93c11ff5837 + + unsigned int us_gate_time = clk_msr_time_set(exp_freq); + -+ hif->hif_ops.hi_write_word(DF_REG_A18, (hif->hif_ops.hi_read_word(DF_REG_A18) & ~(0xFFFF << 0)) | ((us_gate_time-1) << 0)); ++ hif->hif_ops.hi_write_word(DF_REG_A18, (hif->hif_ops.hi_read_word(DF_REG_A18) & ~(0xFFFF << 0)) | ((us_gate_time-1) << 0)); + hif->hif_ops.hi_write_word(DF_REG_A18, (hif->hif_ops.hi_read_word(DF_REG_A18) & ~((1 << 18) | (1 << 17)))); -+ hif->hif_ops.hi_write_word(DF_REG_A18, (hif->hif_ops.hi_read_word(DF_REG_A18) & ~(0xff << 20)) -+ | ((clk_mux << 20) // Select MUX -+ | (1 << 19) //clk_to_msr_en ++ hif->hif_ops.hi_write_word(DF_REG_A18, (hif->hif_ops.hi_read_word(DF_REG_A18) & ~(0xff << 20)) ++ | ((clk_mux << 20) // Select MUX ++ | (1 << 19) //clk_to_msr_en + )); + + // enable measuring + hif->hif_ops.hi_write_word(DF_REG_A18, (hif->hif_ops.hi_read_word(DF_REG_A18) | (1 << 16)) ); + + // Wait for the measurement to be done -+ while( (hif->hif_ops.hi_read_word(DF_REG_A18) & (1 << 31)) ) {} ++ while ((hif->hif_ops.hi_read_word(DF_REG_A18) & (1 << 31))) {} + + // disable measuring + hif->hif_ops.hi_write_word(DF_REG_A18, (hif->hif_ops.hi_read_word(DF_REG_A18) & ~(1 << 16)) | (0 << 16)); @@ -47044,22 +47234,22 @@ index 000000000000..a93c11ff5837 + measured_val = (hif->hif_ops.hi_read_word(DF_REG_A20) & 0x000FFFFF); + measured_feq = (measured_val * 1000000) / (us_gate_time); + delt = exp_freq * 4 /100; -+ -+ printk("exp_freq = %d(MHz)\n", exp_freq / 1000000); -+ printk("measured_feq = %d(MHz)\n", measured_feq / 1000000); ++ ++ pr_debug("exp_freq = %d(MHz)\n", exp_freq / 1000000); ++ pr_debug("measured_feq = %d(MHz)\n", measured_feq / 1000000); + + if (measured_val == 0xFFFFF) { -+ printk("measured_val is 20 bits max\n"); ++ pr_warn("measured_val is 20 bits max\n"); + return 0; + } else if ((measured_feq < (exp_freq - delt)) || (measured_feq > (exp_freq + delt))) { -+ printk("clock measure failed, clock id : %d\n", clk_mux); ++ pr_err("clock measure failed, clock id : %d\n", clk_mux); + return 0; + } else { + return 1; + } +} + -+void clk_msr_adda(CLOCK_MUX clk_mux) ++static void clk_msr_adda(CLOCK_MUX clk_mux) +{ + unsigned int exp_val; + @@ -47069,7 +47259,7 @@ index 000000000000..a93c11ff5837 + unsigned int div3= 2; + unsigned int div4= 1; + -+ switch(clk_mux) { ++ switch (clk_mux) { + case CTS_CLK_ADDA_640M_POS: + exp_val = WF_BBP_CLK_640M / div; + break; @@ -47087,7 +47277,7 @@ index 000000000000..a93c11ff5837 + break; + + case CTS_CLK_XDAC_640M_POS: -+ exp_val = WF_BBP_CLK_640M / div4; ++ exp_val = WF_BBP_CLK_640M / div4; + break; + + case CTS_CLK_FEC_POS: @@ -47097,18 +47287,18 @@ index 000000000000..a93c11ff5837 + return; + } + -+ clk_msr_calc(clk_mux, exp_val); ++ clk_msr_calc(clk_mux, exp_val); +} + -+void clk_msr_cpu(void) ++static void clk_msr_cpu(void) +{ + unsigned int exp_val; + -+ exp_val = WF_BBP_CLK_640M / 8; ++ exp_val = WF_BBP_CLK_640M / 8; + clk_msr_calc(CTS_CLK_CPU_POS, exp_val); +} + -+void clk_msr_apb(void) ++static void clk_msr_apb(void) +{ + unsigned int exp_val; + @@ -47116,37 +47306,37 @@ index 000000000000..a93c11ff5837 + clk_msr_calc(CTS_CLK_APB_POS, exp_val); +} + -+void clk_msr_other(CLOCK_MUX clk_mux) ++static void clk_msr_other(CLOCK_MUX clk_mux) +{ + unsigned int exp_val; + -+ switch(clk_mux) { -+ case CTS_CLK_RADC_320M_POS: -+ exp_val = WF_ADC_CLK_320M; ++ switch (clk_mux) { ++ case CTS_CLK_RADC_320M_POS: ++ exp_val = WF_ADC_CLK_320M; + break; -+ case CTS_CLK_VIT_POS: -+ printk("not measure now\n"); ++ case CTS_CLK_VIT_POS: ++ pr_debug("not measure now\n"); + exp_val = BT_BBP_CLK_240M/2; + return; -+ case CTS_CLK_11BRX_POS: ++ case CTS_CLK_11BRX_POS: + exp_val = BT_BBP_CLK_240M/5; + break; + default: + return; + } + -+ clk_msr_calc(clk_mux, exp_val); ++ clk_msr_calc(clk_mux, exp_val); +} + -+void clk_msr_mac(void) ++static void clk_msr_mac(void) +{ + unsigned int exp_val; + -+ exp_val = WF_BBP_CLK_640M / 8; -+ clk_msr_calc(CTS_CLK_MAC_POS, exp_val); ++ exp_val = WF_BBP_CLK_640M / 8; ++ clk_msr_calc(CTS_CLK_MAC_POS, exp_val); +} + -+void clk_msr_xjtag(void) ++static void clk_msr_xjtag(void) +{ + unsigned int exp_val; + @@ -47154,7 +47344,7 @@ index 000000000000..a93c11ff5837 + clk_msr_calc(XJTAG_TCK_I_POS, exp_val); +} + -+void clk_msr_oscin(void) ++static void clk_msr_oscin(void) +{ + unsigned int exp_val; + @@ -47162,7 +47352,7 @@ index 000000000000..a93c11ff5837 + clk_msr_calc(SYS_OSCIN_I_POS, exp_val); +} + -+void clk_msr_wfdig(void) ++static void clk_msr_wfdig(void) +{ + unsigned int exp_val; + @@ -47170,14 +47360,14 @@ index 000000000000..a93c11ff5837 + clk_msr_calc(WF_DIG_OUT_POS, exp_val); +} + -+unsigned char * clk_mux_name(CLOCK_MUX clk_mux) ++static unsigned char * clk_mux_name(CLOCK_MUX clk_mux) +{ + unsigned char *clk_name; + -+ switch(clk_mux) { ++ switch (clk_mux) { + case CTS_CLK_11BRX_POS : clk_name = " cts_clk_11brx"; break; + case CTS_CLK_VIT_POS : clk_name = " cts_clk_vit"; break; -+ case CTS_CLK_RADC_320M_POS : clk_name = " cts_clk_radc_320M"; break; ++ case CTS_CLK_RADC_320M_POS : clk_name = " cts_clk_radc_320M"; break; + + case CTS_CLK_ADDA_320M_POS : clk_name = " cts_clk_adda_320M"; break; + case CTS_CLK_ADDA_80M_POS : clk_name = " cts_clk_adda_80M"; break; @@ -47202,32 +47392,32 @@ index 000000000000..a93c11ff5837 +//wire [127:0] clk_to_msr_in = { 109'h0, +// WF_DIG_OUT, +// sys_oscin_i, -+// cts_clk_fec , ++// cts_clk_fec, +// xjtag_tck_i, +// cts_clk_adda_640m, -+// cts_clk_cpu, -+// cts_clk_apb, -+// cts_clk_mac, -+// cts_clk_xdac_640m, -+// cts_clk_adda_160m, -+// cts_clk_radc_320m, -+// cts_clk_adda_80m, -+// 1'b0, -+// cts_clk_adda_320m, ++// cts_clk_cpu, ++// cts_clk_apb, ++// cts_clk_mac, ++// cts_clk_xdac_640m, ++// cts_clk_adda_160m, ++// cts_clk_radc_320m, ++// cts_clk_adda_80m, ++// 1'b0, ++// cts_clk_adda_320m, +// cts_clk_11brx +// }; -+void clk_msr(CLOCK_MUX clk_mux) ++static void clk_msr(CLOCK_MUX clk_mux) +{ + if (clk_mux != CTS_CLK_VIT_POS) { -+ printk("clk mux %s\n", clk_mux_name(clk_mux)); ++ pr_debug("clk mux %s\n", clk_mux_name(clk_mux)); + } + -+ switch(clk_mux) { ++ switch (clk_mux) { + case CTS_CLK_11BRX_POS : + //case CTS_CLK_VIT_POS : -+ case CTS_CLK_RADC_320M_POS : clk_msr_other(clk_mux); break; ++ case CTS_CLK_RADC_320M_POS : clk_msr_other(clk_mux); break; + -+ case CTS_CLK_ADDA_320M_POS : ++ case CTS_CLK_ADDA_320M_POS : + case CTS_CLK_ADDA_80M_POS : + case CTS_CLK_ADDA_160M_POS : + case CTS_CLK_XDAC_640M_POS : @@ -47245,7 +47435,7 @@ index 000000000000..a93c11ff5837 + } +} + -+void clk_msr_all(void) ++static void clk_msr_all(void) +{ + CLOCK_MUX i; + @@ -47265,76 +47455,76 @@ index 000000000000..a93c11ff5837 + diff --git a/drivers/net/wireless/w1/vmac/wifi_clock_measure.h b/drivers/net/wireless/w1/vmac/wifi_clock_measure.h new file mode 100644 -index 000000000000..f75e9c796971 +index 0000000000000000000000000000000000000000..a1d052cf170c7788fad8d630432785b0f2681a72 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_clock_measure.h @@ -0,0 +1,60 @@ -+#ifndef __CLOCK_MEASURE__ -+#define __CLOCK_MEASURE__ -+//clock mux -+typedef enum clock_mux { -+ -+ CTS_CLK_11BRX_POS = 0, -+ CTS_CLK_ADDA_320M_POS = 1, -+ CTS_CLK_VIT_POS = 2, -+ CTS_CLK_ADDA_80M_POS = 3, -+ CTS_CLK_RADC_320M_POS = 4, -+ CTS_CLK_ADDA_160M_POS = 5, -+ CTS_CLK_XDAC_640M_POS = 6, -+ CTS_CLK_MAC_POS = 7, -+ CTS_CLK_APB_POS = 8, -+ CTS_CLK_CPU_POS = 9, -+ CTS_CLK_ADDA_640M_POS = 10, -+ XJTAG_TCK_I_POS = 11, -+ CTS_CLK_FEC_POS = 12, -+ SYS_OSCIN_I_POS = 13, -+ WF_DIG_OUT_POS = 14, -+ -+ CLOCK_MUX_MAX = WF_DIG_OUT_POS + 1, -+} CLOCK_MUX; -+ -+#define SYS_OSCIN_I 40000000 -+//#define VIRTUAL_CLK_500M 500000000 -+#define CTS_RTC_CLK 32000 -+#define CTS_CLK_CPU 40000000 -+#define WF_ADC_CLK_320M 320000000 -+#define BT_BBP_CLK_240M 240000000 -+#define CTS_MSR_CLK 6000000 -+#define WF_BBP_CLK_640M 640000000 -+#define WF_BBP_CLK_320M 320000000 -+#define WF_BBP_CLK_240M 240000000 -+#define WF_DIG_OUT 1250000 -+ -+//reg addr -+#define INTF_BASE_ADDR 0xa0d000 -+ -+#define DF_REG_A18 (INTF_BASE_ADDR +0x048) -+#define DF_REG_A19 (INTF_BASE_ADDR +0x04c) -+#define DF_REG_A20 (INTF_BASE_ADDR +0x050) -+#define DF_REG_A21 (INTF_BASE_ADDR +0x054) -+#define DF_REG_A22 (INTF_BASE_ADDR +0x058) -+#define DF_REG_A23 (INTF_BASE_ADDR +0x05c) -+ -+#define DF_REG_A36 (INTF_BASE_ADDR +0x090) -+#define DF_REG_A38 (INTF_BASE_ADDR +0x098) -+#define DF_REG_A40 (INTF_BASE_ADDR +0x0a0) -+#define DF_REG_A41 (INTF_BASE_ADDR +0x0a4) -+#define DF_REG_A49 (INTF_BASE_ADDR +0x0c4) -+ -+#define CPU_CLOCK_RTC (0x4f070033) -+#define CPU_CLOCK_DPLL (0x4f0700f3) -+#define CPU_CLOCK_XOSC (0x4f070001) -+ -+void host_clk_msr(CLOCK_MUX clk_mux); -+ -+#endif -+ ++#ifndef __CLOCK_MEASURE__ ++#define __CLOCK_MEASURE__ ++//clock mux ++typedef enum clock_mux { ++ ++ CTS_CLK_11BRX_POS = 0, ++ CTS_CLK_ADDA_320M_POS = 1, ++ CTS_CLK_VIT_POS = 2, ++ CTS_CLK_ADDA_80M_POS = 3, ++ CTS_CLK_RADC_320M_POS = 4, ++ CTS_CLK_ADDA_160M_POS = 5, ++ CTS_CLK_XDAC_640M_POS = 6, ++ CTS_CLK_MAC_POS = 7, ++ CTS_CLK_APB_POS = 8, ++ CTS_CLK_CPU_POS = 9, ++ CTS_CLK_ADDA_640M_POS = 10, ++ XJTAG_TCK_I_POS = 11, ++ CTS_CLK_FEC_POS = 12, ++ SYS_OSCIN_I_POS = 13, ++ WF_DIG_OUT_POS = 14, ++ ++ CLOCK_MUX_MAX = WF_DIG_OUT_POS + 1, ++} CLOCK_MUX; ++ ++#define SYS_OSCIN_I 40000000 ++//#define VIRTUAL_CLK_500M 500000000 ++#define CTS_RTC_CLK 32000 ++#define CTS_CLK_CPU 40000000 ++#define WF_ADC_CLK_320M 320000000 ++#define BT_BBP_CLK_240M 240000000 ++#define CTS_MSR_CLK 6000000 ++#define WF_BBP_CLK_640M 640000000 ++#define WF_BBP_CLK_320M 320000000 ++#define WF_BBP_CLK_240M 240000000 ++#define WF_DIG_OUT 1250000 ++ ++//reg addr ++#define INTF_BASE_ADDR 0xa0d000 ++ ++#define DF_REG_A18 (INTF_BASE_ADDR +0x048) ++#define DF_REG_A19 (INTF_BASE_ADDR +0x04c) ++#define DF_REG_A20 (INTF_BASE_ADDR +0x050) ++#define DF_REG_A21 (INTF_BASE_ADDR +0x054) ++#define DF_REG_A22 (INTF_BASE_ADDR +0x058) ++#define DF_REG_A23 (INTF_BASE_ADDR +0x05c) ++ ++#define DF_REG_A36 (INTF_BASE_ADDR +0x090) ++#define DF_REG_A38 (INTF_BASE_ADDR +0x098) ++#define DF_REG_A40 (INTF_BASE_ADDR +0x0a0) ++#define DF_REG_A41 (INTF_BASE_ADDR +0x0a4) ++#define DF_REG_A49 (INTF_BASE_ADDR +0x0c4) ++ ++#define CPU_CLOCK_RTC (0x4f070033) ++#define CPU_CLOCK_DPLL (0x4f0700f3) ++#define CPU_CLOCK_XOSC (0x4f070001) ++ ++void host_clk_msr(CLOCK_MUX clk_mux); ++ ++#endif ++ diff --git a/drivers/net/wireless/w1/vmac/wifi_cmd_func.c b/drivers/net/wireless/w1/vmac/wifi_cmd_func.c new file mode 100644 -index 000000000000..5e487301c3c9 +index 0000000000000000000000000000000000000000..3b735db95bac348f8f2785a6a7b0ae6de9f0b87c --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_cmd_func.c -@@ -0,0 +1,2057 @@ +@@ -0,0 +1,2189 @@ +#include +#include +#include @@ -47380,7 +47570,7 @@ index 000000000000..5e487301c3c9 + {"set_aggr_thr", aml_set_aggr_thresh}, + {"set_hrt_intv", aml_set_hrtimer_interval}, + {"get_ap_ip", aml_get_ap_ip}, -+ {"set_roam_2gthr", aml_set_roaming_threshold_2g},//wpa_cli driver set_roam_thr_2g -80 ++ {"set_roam_2gthr", aml_set_roaming_threshold_2g}, /* wpa_cli driver set_roam_thr_2g -80 */ + {"set_roam_5gthr", aml_set_roaming_threshold_5g}, + {"get_roam_chan", aml_get_roaming_candidate_chans}, + {"set_roam_chan", aml_set_roaming_candidate_chans}, @@ -47438,8 +47628,8 @@ index 000000000000..5e487301c3c9 + {"", NULL}, +}; + -+//Returns a char * arr [] and size is the length of the returned array -+char **aml_cmd_char_prase(char sep, const char *str, int *size) ++/* Returns a char * arr [] and size is the length of the returned array */ ++char **aml_cmd_char_phrase(char sep, const char *str, int *size) +{ + int count = 0; + int i; @@ -47457,14 +47647,15 @@ index 000000000000..5e487301c3c9 + + for (i = 0; i < strlen(str); i++) { + if (str[i] == sep) { -+ // kzalloc the memory space of substring length + 1 ++ /* kzalloc the memory space of substring length + 1 */ + ret[j] = (char *)kzalloc((i - lastindex) * sizeof(char), GFP_KERNEL); + memcpy(ret[j], str + lastindex + 1, i - lastindex - 1); + j++; + lastindex = i; + } + } -+ //Processing the last substring ++ ++ /* Processing the last substring */ + if (lastindex <= strlen(str) - 1) { + ret[j] = (char *)kzalloc((strlen(str) - lastindex) * sizeof(char), GFP_KERNEL); + memcpy(ret[j], str + lastindex + 1, strlen(str) - 1 - lastindex); @@ -47477,40 +47668,46 @@ index 000000000000..5e487301c3c9 +} + +/* -+* cmd: sta_send_bareq 11:22:33:44:55:66 5 -+*/ -+int aml_sta_send_addba_req(struct wlan_net_vif *wnet_vif, char* buf, int len) ++ * cmd: sta_send_bareq 11:22:33:44:55:66 5 ++ */ ++int aml_sta_send_addba_req(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ int skip = 0; ++ int skip; + char mac[18]; + int tid = 0; + + skip = strlen("sta_send_bareq") + 1; + sscanf(buf + skip, "%s %d", mac, &tid); + wifi_mac_send_addba_req(buf + skip, tid); ++ + return 0; +} + -+int aml_set_chip_id(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_chip_id(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; -+ int i,cmd_arg; ++ int cmd_arg; + char sep = ' '; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg) { ++ int i; ++ + for (i = 0; i < 32; i++) { -+ if (simple_strtoul(arg[2],NULL,16) & (1 << i)) { ++ if (simple_strtoul(arg[2], NULL, 16) & (1 << i)) { + efuse_manual_write(i, 8); + } + } ++ + for (i = 0; i < 16; i++) { -+ if (simple_strtoul(arg[1],NULL,16) & (1 << i)) { ++ if (simple_strtoul(arg[1], NULL, 16) & (1 << i)) { + efuse_manual_write(i, 9); + } + } -+ printk("write chip_id is :%04x%08x\n", simple_strtoul(arg[1],NULL,16) & 0xffff, -+ simple_strtoul(arg[2],NULL,16)); ++ ++ pr_debug("write chip_id is :%04x%08x\n", ++ simple_strtoul(arg[1], NULL, 16) & 0xffff, ++ simple_strtoul(arg[2], NULL, 16)); + + FREE(arg, "cmd_arg"); + } @@ -47518,57 +47715,69 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_get_chip_id(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_get_chip_id(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + int cmd_arg; + char sep = ' '; -+ unsigned int efuse_data_l = 0; -+ unsigned int efuse_data_h = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg) { -+ efuse_data_l = efuse_manual_read(simple_strtoul(arg[1],NULL,16)); -+ efuse_data_h = efuse_manual_read(simple_strtoul(arg[2],NULL,16)); ++ unsigned int efuse_data_l; ++ unsigned int efuse_data_h; ++ ++ efuse_data_l = efuse_manual_read(simple_strtoul(arg[1], NULL, 16)); ++ efuse_data_h = efuse_manual_read(simple_strtoul(arg[2], NULL, 16)); + -+ printk("efuse addr:%08x,%08x, chip_id is :%04x%08x\n", simple_strtoul(arg[1],NULL,16), -+ simple_strtoul(arg[2],NULL,16), efuse_data_h & 0xffff, efuse_data_l); ++ pr_debug("efuse addr:%08x,%08x, chip_id is :%04x%08x\n", ++ simple_strtoul(arg[1], NULL, 16), simple_strtoul(arg[2], NULL, 16), ++ efuse_data_h & 0xffff, efuse_data_l); + FREE(arg, "cmd_arg"); + } + + return 0; +} + -+int aml_set_mac_addr(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_mac_addr(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; -+ char **mac_cmd; -+ int i,cmd_arg; ++ int cmd_arg; + char sep = ' '; -+ unsigned int efuse_data_l = 0; -+ unsigned int efuse_data_h = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg) { ++ char **mac_cmd; ++ + sep = ':'; -+ mac_cmd = aml_cmd_char_prase(sep, arg[1], &cmd_arg); ++ mac_cmd = aml_cmd_char_phrase(sep, arg[1], &cmd_arg); + if (mac_cmd) { -+ efuse_data_l = (simple_strtoul(mac_cmd[2],NULL,16) << 24) | (simple_strtoul(mac_cmd[3],NULL,16) << 16) -+ | (simple_strtoul(mac_cmd[4],NULL,16) << 8) | simple_strtoul(mac_cmd[5],NULL,16); -+ efuse_data_h = (simple_strtoul(mac_cmd[0],NULL,16) << 8) | (simple_strtoul(mac_cmd[1],NULL,16)); ++ unsigned int efuse_data_l; ++ unsigned int efuse_data_h; ++ int i; ++ ++ efuse_data_l = (simple_strtoul(mac_cmd[2], NULL, 16) << 24) | ++ (simple_strtoul(mac_cmd[3], NULL, 16) << 16) | ++ (simple_strtoul(mac_cmd[4], NULL, 16) << 8) | ++ simple_strtoul(mac_cmd[5], NULL, 16); ++ efuse_data_h = (simple_strtoul(mac_cmd[0], NULL, 16) << 8) | ++ (simple_strtoul(mac_cmd[1], NULL, 16)); ++ + for (i = 0; i < 32; i++) { + if (efuse_data_l & (1 << i)) { + efuse_manual_write(i, 1); + } + } ++ + for (i = 0; i < 16; i++) { + if (efuse_data_h & (1 << i)) { + efuse_manual_write(i, 2); + } + } -+ printk("write MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", -+ (efuse_data_h & 0xff00) >> 8,efuse_data_h & 0x00ff, (efuse_data_l & 0xff000000) >> 24, -+ (efuse_data_l & 0x00ff0000) >> 16,(efuse_data_l & 0xff00) >> 8,efuse_data_l & 0xff); ++ ++ pr_debug("write MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", ++ (efuse_data_h & 0xff00) >> 8, efuse_data_h & 0x00ff, ++ (efuse_data_l & 0xff000000) >> 24, (efuse_data_l & 0x00ff0000) >> 16, ++ (efuse_data_l & 0xff00) >> 8, efuse_data_l & 0xff); + } + + kfree(mac_cmd); @@ -47578,64 +47787,76 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_get_mac_addr(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_get_mac_addr(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + int cmd_arg; + char sep = ' '; -+ unsigned int efuse_data_l = 0; -+ unsigned int efuse_data_h = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg) { -+ efuse_data_l = efuse_manual_read(simple_strtoul(arg[1],NULL,16)); -+ efuse_data_h = efuse_manual_read(simple_strtoul(arg[2],NULL,16)); -+ printk("efuse addr:%08x,%08x, MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", -+ simple_strtoul(arg[1],NULL,16), simple_strtoul(arg[2],NULL,16), -+ (efuse_data_h & 0xff00) >> 8,efuse_data_h & 0x00ff, (efuse_data_l & 0xff000000) >> 24, -+ (efuse_data_l & 0x00ff0000) >> 16,(efuse_data_l & 0xff00) >> 8,efuse_data_l & 0xff); ++ unsigned int efuse_data_l; ++ unsigned int efuse_data_h; ++ ++ efuse_data_l = efuse_manual_read(simple_strtoul(arg[1], NULL, 16)); ++ efuse_data_h = efuse_manual_read(simple_strtoul(arg[2], NULL, 16)); ++ pr_debug("efuse addr:%08x,%08x, MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", ++ simple_strtoul(arg[1], NULL, 16), simple_strtoul(arg[2], NULL, 16), ++ (efuse_data_h & 0xff00) >> 8, efuse_data_h & 0x00ff, ++ (efuse_data_l & 0xff000000) >> 24, (efuse_data_l & 0x00ff0000) >> 16, ++ (efuse_data_l & 0xff00) >> 8, efuse_data_l & 0xff); + FREE(arg, "cmd_arg"); + } + + return 0; +} -+int aml_get_wifi_mac_addr(struct wlan_net_vif *wnet_vif, char* buf, int len) ++ ++int aml_get_wifi_mac_addr(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ int bytes_written = 0; ++ int bytes_written; + + bytes_written = snprintf(buf, len, MAC_FMT, MAC_ARG(wnet_vif->vm_myaddr)); -+ printk("%s,buf: %s\n", __func__, buf); ++ pr_debug("%s,buf: %s\n", __func__, buf); ++ + return bytes_written; +} + -+int aml_set_bt_device_id(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_bt_device_id(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; -+ char **mac_cmd; -+ int i,cmd_arg; ++ int cmd_arg; + char sep = ' '; -+ unsigned int efuse_data_l = 0; -+ unsigned int efuse_data_h = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg) { ++ char **mac_cmd; ++ + sep = ':'; -+ mac_cmd = aml_cmd_char_prase(sep, arg[1], &cmd_arg); ++ mac_cmd = aml_cmd_char_phrase(sep, arg[1], &cmd_arg); + if (mac_cmd) { -+ efuse_data_h = (simple_strtoul(mac_cmd[0],NULL,16) << 24) | (simple_strtoul(mac_cmd[1],NULL,16) << 16) -+ | (simple_strtoul(mac_cmd[2],NULL,16) << 8) | simple_strtoul(mac_cmd[3],NULL,16); -+ efuse_data_l = (simple_strtoul(mac_cmd[4],NULL,16) << 24) | (simple_strtoul(mac_cmd[5],NULL,16) << 16); ++ unsigned int efuse_data_l; ++ unsigned int efuse_data_h; ++ int i; ++ ++ efuse_data_h = (simple_strtoul(mac_cmd[0], NULL, 16) << 24) | ++ (simple_strtoul(mac_cmd[1], NULL, 16) << 16) | ++ (simple_strtoul(mac_cmd[2], NULL, 16) << 8) | ++ simple_strtoul(mac_cmd[3], NULL, 16); ++ efuse_data_l = (simple_strtoul(mac_cmd[4], NULL, 16) << 24) | ++ (simple_strtoul(mac_cmd[5], NULL, 16) << 16); ++ + for (i = 0; i < 32; i++) { + if (efuse_data_h & (1 << i)) { + efuse_manual_write(i, 3); + } + } ++ + for (i = 16; i < 32; i++) { + if (efuse_data_l & (1 << i)) { + efuse_manual_write(i, 2); + } + } -+ printk("write BT device id is: %02x:%02x:%02x:%02x:%02x:%02x\n", ++ pr_debug("write BT device id is: %02x:%02x:%02x:%02x:%02x:%02x\n", + (efuse_data_h & 0xff000000) >> 24, (efuse_data_h & 0x00ff0000) >> 16, + (efuse_data_h & 0xff00) >> 8,efuse_data_h & 0xff, + (efuse_data_l & 0xff000000) >> 24,(efuse_data_l & 0x00ff0000) >> 16); @@ -47654,43 +47875,44 @@ index 000000000000..5e487301c3c9 + char **arg; + int cmd_arg; + char sep = ' '; -+ unsigned int efuse_data_l = 0; -+ unsigned int efuse_data_h = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg) { -+ efuse_data_l = efuse_manual_read(simple_strtoul(arg[1],NULL,16)); -+ efuse_data_h = efuse_manual_read(simple_strtoul(arg[2],NULL,16)); -+ printk("efuse addr:%08x,%08x, get BT device id is: %02x:%02x:%02x:%02x:%02x:%02x\n", -+ simple_strtoul(arg[1],NULL,16), simple_strtoul(arg[2],NULL,16), ++ unsigned int efuse_data_l; ++ unsigned int efuse_data_h; ++ ++ efuse_data_l = efuse_manual_read(simple_strtoul(arg[1], NULL, 16)); ++ efuse_data_h = efuse_manual_read(simple_strtoul(arg[2], NULL, 16)); ++ pr_debug("efuse addr:%08x,%08x, get BT device id is: %02x:%02x:%02x:%02x:%02x:%02x\n", ++ simple_strtoul(arg[1], NULL, 16), simple_strtoul(arg[2], NULL, 16), + (efuse_data_h & 0xff000000) >> 24, (efuse_data_h & 0x00ff0000) >> 16, -+ (efuse_data_h & 0xff00) >> 8,efuse_data_h & 0xff, -+ (efuse_data_l & 0xff000000) >> 24,(efuse_data_l & 0x00ff0000) >> 16); ++ (efuse_data_h & 0xff00) >> 8, efuse_data_h & 0xff, ++ (efuse_data_l & 0xff000000) >> 24, (efuse_data_l & 0x00ff0000) >> 16); + FREE(arg, "cmd_arg"); + } + + return 0; +} + -+ -+int aml_sta_send_coexist_mgmt(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_sta_send_coexist_mgmt(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ int skip = 0; ++ int skip; + + skip = strlen("send_bss_coex") + 1; + wifi_mac_send_coexist_mgmt(buf + skip); ++ + return 0; +} + -+int aml_wpa_get_txaggr_status(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_get_txaggr_status(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char* str[2] = {"all", "reset"}; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; @@ -47699,7 +47921,7 @@ index 000000000000..5e487301c3c9 + data = simple_strtol(arg[1], NULL, 0); + len = strlen("get_txaggr_sta ") + strlen(str[data]) + 1; + snprintf(buf, len, "get_txaggr_sta %s", str[data]); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_get_drv_txaggr_status(wnet_vif, buf, len); + + FREE(arg, "cmd_arg"); @@ -47707,7 +47929,7 @@ index 000000000000..5e487301c3c9 +} + + -+int aml_get_drv_txaggr_status(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_get_drv_txaggr_status(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; @@ -47715,29 +47937,30 @@ index 000000000000..5e487301c3c9 + unsigned int nframes; + struct drv_private *drv_priv = drv_get_drv_priv(); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + -+ //get queue-0 statistics ++ /* get queue-0 statistics */ + if (likely(!arg[1])) { + i = 0; ++ + for (j = 0; j < 16; j++) { + nframes = drv_priv->drv_txlist_table[i].tx_aggr_status[j]; -+ printk("Q:%d; aggr %d packets times: %d\n", i, j + 1, nframes); ++ pr_debug("Q:%d; aggr %d packets times: %d\n", i, j + 1, nframes); + } -+ printk("\n"); ++ pr_debug("\n"); + + } else { -+ //get all statistics ++ /* get all statistics */ + if (strnicmp(arg[1], "all", strlen("all")) == 0) { + for (i = 0; i < HAL_NUM_TX_QUEUES; i++) { + for (j = 0; j < 16; j++) { + nframes = drv_priv->drv_txlist_table[i].tx_aggr_status[j]; -+ printk("Q:%d; aggr %d packets times: %d\n", i, j + 1, nframes); ++ pr_debug("Q:%d; aggr %d packets times: %d\n", i, j + 1, nframes); + } -+ printk("\n"); ++ pr_debug("\n"); + } + } -+ //reset ++ /* reset */ + if (strnicmp(arg[1], "reset", strlen("reset")) == 0) { + for (i = 0; i < HAL_NUM_TX_QUEUES; i++) { + for (j = 0; j < 16; j++) { @@ -47751,122 +47974,125 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_sta_get_wfd_session(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_sta_get_wfd_session(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ printk("%s, wfd_session_id=%s\n", __func__, wnet_vif->vm_p2p->wfd_session_id); ++ pr_debug("%s, wfd_session_id=%s\n", __func__, wnet_vif->vm_p2p->wfd_session_id); + return 0; +} + -+int aml_get_p2p_device_addr(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_get_p2p_device_addr(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ int bytes_written = 0; ++ int bytes_written; + + memcpy(buf, wnet_vif->vm_ndev->dev_addr, ETH_ALEN); -+ printk("%s,p2p_device_addr= %02x:%02x:%02x:%02x:%02x:%02x\n", __func__, *buf, *(buf + 1), *(buf + 2), -+ *(buf + 3), *(buf + 4), *(buf + 5)); ++ pr_debug("%s,p2p_device_addr= %02x:%02x:%02x:%02x:%02x:%02x\n", __func__, ++ *buf, *(buf + 1), *(buf + 2), *(buf + 3), *(buf + 4), *(buf + 5)); + + bytes_written = ETH_ALEN; ++ + return bytes_written; + +} + -+ -+int aml_wmm_ac_addts(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wmm_ac_addts(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ int skip = 0, cmd_arg; ++ int skip, cmd_arg; + char **arg; + char sep = ' '; ++ + skip = strlen("wmm_ac_addts") + 1; + -+ arg = aml_cmd_char_prase(sep, buf + skip, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf + skip, &cmd_arg); + wifi_mac_send_wmm_ac_addts(arg); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_wmm_ac_delts(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wmm_ac_delts(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ int skip = 0; ++ int skip; ++ + skip = strlen("wmm_ac_delts") + 1; + wifi_mac_send_wmm_ac_delts(buf + skip); ++ + return 0; +} + -+void aml_set_mac_amsdu_switch_state(char* arg) ++void aml_set_mac_amsdu_switch_state(char *arg) +{ + struct drv_private *drv_priv = drv_get_drv_priv(); + + if (!arg) { + if (drv_priv->drv_config.cfg_txamsdu) { -+ printk("AMSDU is ON.\n"); ++ pr_debug("AMSDU is ON.\n"); + } + else { -+ printk("AMSDU is OFF.\n"); ++ pr_debug("AMSDU is OFF.\n"); + } + } + else { + if (strnicmp(arg, "on", strlen("on")) == 0) { + drv_priv->drv_config.cfg_txamsdu = 1; -+ printk("AMSDU set ON!\n"); ++ pr_debug("AMSDU set ON!\n"); + + } + else if (strnicmp(arg, "off", strlen("off")) == 0) { + drv_priv->drv_config.cfg_txamsdu = 0; -+ printk("AMSDU set OFF!\n"); ++ pr_debug("AMSDU set OFF!\n"); + + } + else { + if (drv_priv->drv_config.cfg_txamsdu) { -+ printk("AMSDU is ON.\n"); ++ pr_debug("AMSDU is ON.\n"); + } + else { -+ printk("AMSDU is OFF.\n"); ++ pr_debug("AMSDU is OFF.\n"); + } + } + } +} + -+void aml_set_drv_ampdu_switch_state(char* arg) ++void aml_set_drv_ampdu_switch_state(char *arg) +{ + struct drv_private *drv_priv = drv_get_drv_priv(); + + if (!arg) { + if (drv_priv->drv_config.cfg_txaggr) { -+ printk("AMPDU is ON.\n"); ++ pr_debug("AMPDU is ON.\n"); + } + else { -+ printk("AMPDU is OFF.\n"); ++ pr_debug("AMPDU is OFF.\n"); + } + } + else { + if (strnicmp(arg, "on", strlen("on")) == 0) { + drv_priv->drv_config.cfg_txaggr = 1; -+ printk("AMPDU set ON!\n"); ++ pr_debug("AMPDU set ON!\n"); + } + else if (strnicmp(arg, "off", strlen("off")) == 0) { + drv_priv->drv_config.cfg_txaggr = 0; -+ printk("AMPDU set OFF!\n"); ++ pr_debug("AMPDU set OFF!\n"); + + } + else { + if (drv_priv->drv_config.cfg_txaggr) { -+ printk("AMPDU is ON.\n"); ++ pr_debug("AMPDU is ON.\n"); + } + else { -+ printk("AMPDU is OFF.\n"); ++ pr_debug("AMPDU is OFF.\n"); + } + } + } +} + -+int aml_set_mac_amsdu(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_mac_amsdu(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + + aml_set_mac_amsdu_switch_state(arg[1]); + @@ -47874,25 +48100,31 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+static struct wifi_channel * wifi_mac_find_chan_unlock( struct wifi_mac *wifimac, unsigned short cur_chan, -+ enum wifi_mac_bwc_width cur_bw, unsigned short cur_freq) ++static struct wifi_channel *wifi_mac_find_chan_unlock(struct wifi_mac *wifimac, ++ unsigned short cur_chan, ++ enum wifi_mac_bwc_width cur_bw, ++ unsigned short cur_freq) +{ -+ struct wifi_channel *c = NULL; -+ int i = 0; ++ int i; + + for (i = 0; i < wifimac->wm_nchans; i++) { ++ struct wifi_channel *c; ++ + c = &wifimac->wm_channels[i]; -+ if ((c->chan_pri_num== cur_chan) && (c->chan_bw == cur_bw) && (c->chan_cfreq1 == cur_freq)) { -+ DPRINTF(AML_DEBUG_BWC, "%s(%d) !!!: find a chan=%d, bw=%d and freq=%d.\n", __func__, __LINE__, cur_chan, cur_bw, cur_freq); ++ if ((c->chan_pri_num== cur_chan) && (c->chan_bw == cur_bw) && ++ (c->chan_cfreq1 == cur_freq)) { ++ DPRINTF(AML_DEBUG_BWC, "%s(%d) !!!: find a chan=%d, bw=%d and freq=%d.\n", ++ __func__, __LINE__, cur_chan, cur_bw, cur_freq); + return c; + } + } + -+ DPRINTF(AML_DEBUG_BWC, "%s(%d) !!!: NOT find a chan=%d, bw=%d and freq=%d.\n", __func__, __LINE__, cur_chan, cur_bw, cur_freq); ++ DPRINTF(AML_DEBUG_BWC, "%s(%d) !!!: NOT find a chan=%d, bw=%d and freq=%d.\n", ++ __func__, __LINE__, cur_chan, cur_bw, cur_freq); + return NULL; +} + -+void wifi_mac_set_country_code(char* arg) ++void wifi_mac_set_country_code(char *arg) +{ + struct wifi_mac *wifimac = wifi_mac_get_mac_handle(); + struct drv_private* drv_priv = wifimac->drv_priv; @@ -47902,17 +48134,20 @@ index 000000000000..5e487301c3c9 + unsigned short cur_freq = 0; + unsigned char cur_txpwrplan = 0; + -+ if ((wifimac->wm_nrunning == 1) && (drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]->vm_state == WIFINET_S_CONNECTED)) { ++ if ((wifimac->wm_nrunning == 1) && ++ (drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]->vm_state == WIFINET_S_CONNECTED)) { + selected_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; + } + -+ if (wifimac->wm_nrunning > 1) { -+ printk("Setting country_code in this mode is not yet supported!\n"); ++ if (wifimac->wm_nrunning > 1) { ++ pr_debug("Setting country_code in this mode is not yet supported!\n"); + return ; + } + -+ printk("%s,%d, arg=%s\n", __func__, __LINE__, arg); -+ if (arg && (arg[0] == wifimac->wm_country.iso[0]) && (arg[1] == wifimac->wm_country.iso[1])) { ++ pr_debug("%s,%d, arg=%s\n", __func__, __LINE__, arg); ++ ++ if (arg && (arg[0] == wifimac->wm_country.iso[0]) && ++ (arg[1] == wifimac->wm_country.iso[1])) { + ERROR_DEBUG_OUT("no need to set country code due to the same country code\n"); + return; + } @@ -47926,20 +48161,23 @@ index 000000000000..5e487301c3c9 + cur_bw = selected_wnet_vif->vm_curchan->chan_bw; + cur_freq = selected_wnet_vif->vm_curchan->chan_cfreq1; + } ++ + cur_txpwrplan = drv_priv->drv_config.cfg_txpoweplan; + + wifi_mac_set_country(wifimac, arg); + + if (wifimac->wm_nrunning == 1) { -+ selected_wnet_vif->vm_curchan = wifi_mac_find_chan_unlock(wifimac,cur_chan, cur_bw, cur_freq); ++ selected_wnet_vif->vm_curchan = wifi_mac_find_chan_unlock(wifimac, cur_chan, ++ cur_bw, cur_freq); + + if (!selected_wnet_vif->vm_curchan) { -+ wifi_mac_top_sm(selected_wnet_vif, WIFINET_S_INIT,0); ++ wifi_mac_top_sm(selected_wnet_vif, WIFINET_S_INIT, 0); + } + } + -+ if( cur_txpwrplan != drv_priv->drv_config.cfg_txpoweplan) { -+ wifi_mac_set_tx_power_coefficient(drv_priv, selected_wnet_vif->vm_curchan ,drv_priv->drv_config.cfg_txpoweplan); ++ if (cur_txpwrplan != drv_priv->drv_config.cfg_txpoweplan) { ++ wifi_mac_set_tx_power_coefficient(drv_priv, selected_wnet_vif->vm_curchan, ++ drv_priv->drv_config.cfg_txpoweplan); + } + + WIFI_CHANNEL_UNLOCK(wifimac); @@ -47964,10 +48202,10 @@ index 000000000000..5e487301c3c9 + return; + } + -+ wifimac->wm_doth_tbtt = 255; //simple_strtoul(*buf, NULL, 0); -+ //wifimac->wm_doth_channel = simple_strtoul(*(buf + 1), NULL, 0); ++ wifimac->wm_doth_tbtt = 255; /* simple_strtoul(*buf, NULL, 0); */ ++ /* wifimac->wm_doth_channel = simple_strtoul(*(buf + 1), NULL, 0); */ + wifimac->wm_doth_channel = channel; -+ printk("%s, wm_dott_tbtt=%d, wm_doth_channel=%d\n", __func__, wifimac->wm_doth_tbtt, wifimac->wm_doth_channel); ++ pr_debug("%s, wm_dott_tbtt=%d, wm_doth_channel=%d\n", __func__, wifimac->wm_doth_tbtt, wifimac->wm_doth_channel); + wifimac->wm_flags |= WIFINET_F_CHANSWITCH; + wifimac->wm_flags |= WIFINET_F_DOTH; + selected_wnet_vif->vm_chanchange_count = 0; @@ -47993,58 +48231,67 @@ index 000000000000..5e487301c3c9 + return; + } + selected_wnet_vif->vm_arp_rx.src_mac_addr[0] = simple_strtoul(*buf, NULL, 0); -+ selected_wnet_vif->vm_arp_rx.src_mac_addr[1] = simple_strtoul(*(buf+1), NULL, 0); -+ selected_wnet_vif->vm_arp_rx.src_mac_addr[2] = simple_strtoul(*(buf+2), NULL, 0); -+ selected_wnet_vif->vm_arp_rx.src_mac_addr[3] = simple_strtoul(*(buf+3), NULL, 0); -+ selected_wnet_vif->vm_arp_rx.src_mac_addr[4] = simple_strtoul(*(buf+4), NULL, 0); -+ selected_wnet_vif->vm_arp_rx.src_mac_addr[5] = simple_strtoul(*(buf+5), NULL, 0); -+ selected_wnet_vif->vm_arp_rx.src_ip_addr[0] = simple_strtoul(*(buf+6), NULL, 0); -+ selected_wnet_vif->vm_arp_rx.src_ip_addr[1] = simple_strtoul(*(buf+7), NULL, 0); -+ selected_wnet_vif->vm_arp_rx.src_ip_addr[2] = simple_strtoul(*(buf+8), NULL, 0); -+ selected_wnet_vif->vm_arp_rx.src_ip_addr[3] = simple_strtoul(*(buf+9), NULL, 0); -+ selected_wnet_vif->vm_arp_rx.out = simple_strtoul(*(buf+10), NULL, 0); -+ printk("set mac=%02x:%02x:%02x:%02x:%02x:%02x\n", selected_wnet_vif->vm_arp_rx.src_mac_addr[0],selected_wnet_vif->vm_arp_rx.src_mac_addr[1], -+ selected_wnet_vif->vm_arp_rx.src_mac_addr[2], selected_wnet_vif->vm_arp_rx.src_mac_addr[3], selected_wnet_vif->vm_arp_rx.src_mac_addr[4], selected_wnet_vif->vm_arp_rx.src_mac_addr[5]); -+ printk("set ip=%d.%d.%d.%d\n", selected_wnet_vif->vm_arp_rx.src_ip_addr[0], selected_wnet_vif->vm_arp_rx.src_ip_addr[1], -+ selected_wnet_vif->vm_arp_rx.src_ip_addr[2],selected_wnet_vif->vm_arp_rx.src_ip_addr[3]); ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[1] = simple_strtoul(*(buf + 1), NULL, 0); ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[2] = simple_strtoul(*(buf + 2), NULL, 0); ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[3] = simple_strtoul(*(buf + 3), NULL, 0); ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[4] = simple_strtoul(*(buf + 4), NULL, 0); ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[5] = simple_strtoul(*(buf + 5), NULL, 0); ++ selected_wnet_vif->vm_arp_rx.src_ip_addr[0] = simple_strtoul(*(buf + 6), NULL, 0); ++ selected_wnet_vif->vm_arp_rx.src_ip_addr[1] = simple_strtoul(*(buf + 7), NULL, 0); ++ selected_wnet_vif->vm_arp_rx.src_ip_addr[2] = simple_strtoul(*(buf + 8), NULL, 0); ++ selected_wnet_vif->vm_arp_rx.src_ip_addr[3] = simple_strtoul(*(buf + 9), NULL, 0); ++ selected_wnet_vif->vm_arp_rx.out = simple_strtoul(*(buf + 10), NULL, 0); ++ pr_debug("set mac=%02x:%02x:%02x:%02x:%02x:%02x\n", ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[0], ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[1], ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[2], ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[3], ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[4], ++ selected_wnet_vif->vm_arp_rx.src_mac_addr[5]); ++ pr_debug("set ip=%d.%d.%d.%d\n", selected_wnet_vif->vm_arp_rx.src_ip_addr[0], ++ selected_wnet_vif->vm_arp_rx.src_ip_addr[1], ++ selected_wnet_vif->vm_arp_rx.src_ip_addr[2], ++ selected_wnet_vif->vm_arp_rx.src_ip_addr[3]); + wifi_mac_set_arp_rsp(selected_wnet_vif); + return; +} + -+ +int aml_set_drv_ampdu(struct wlan_net_vif *wnet_vif, char* buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + + aml_set_drv_ampdu_switch_state(arg[1]); + + FREE(arg, "cmd_arg"); + return 0; +} -+int aml_update_wmm_arg(struct wlan_net_vif *wnet_vif, char* buf, int len) ++ ++int aml_update_wmm_arg(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; -+ char **param; + int cmd_arg, cmd_param; + char sep = ' '; -+ int ac = 0; -+ int i = 0; + struct wifi_mac_wme_state *wme = &wnet_vif->vm_wmac->wm_wme[wnet_vif->wnet_vif_id]; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + + if ((wme != NULL) && (arg[1] != NULL)) { ++ int ac; ++ + ac = simple_strtoul(arg[1], NULL, 0); + if ((ac < WME_NUM_AC) && (arg[2] != NULL)) { + struct wmeParams *wmep = &wme->wme_wmeChanParams.cap_wmeParams[ac]; ++ int i; + + for (i = 2; i < cmd_arg; i++) { ++ char **param; ++ + sep = ':'; -+ param = aml_cmd_char_prase(sep, arg[i], &cmd_param); ++ param = aml_cmd_char_phrase(sep, arg[i], &cmd_param); + if (strnicmp(arg[i], "acm", strlen("acm")) == 0) { + wmep->wmep_acm = simple_strtoul(param[1], NULL, 0); + @@ -48081,7 +48328,7 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_set_dynamic_bw(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_dynamic_bw(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char* str[2] = {"off", "on"}; + char **arg; @@ -48089,39 +48336,40 @@ index 000000000000..5e487301c3c9 + int cmd_arg; + int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + len = strlen("get_txaggr_sta ") + strlen(str[data]) + 1; + snprintf(buf, len, "get_txaggr_sta %s", str[data]); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_dynamic_bw(wnet_vif, buf, len); + + FREE(arg, "cmd_arg"); + return 0; +} + -+ -+int aml_set_dynamic_bw(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_dynamic_bw(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + struct drv_private *drv_priv = drv_get_drv_priv(); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((drv_priv != NULL) && (arg[1] != NULL)) { ++ int data; ++ + if (strnicmp(arg[1], "on", strlen("on")) == 0) { + data = 1; -+ printk("dynamic_bw set ON!\n"); ++ pr_debug("dynamic_bw set ON!\n"); + + } else if (strnicmp(arg[1], "off", strlen("off")) == 0) { + data = 0; -+ printk("dynamic_bw set OFF!\n"); ++ pr_debug("dynamic_bw set OFF!\n"); + + } else { + ERROR_DEBUG_OUT("Parameter is error,now cfg_dynamic_bw=%d.\n", drv_priv->drv_config.cfg_dynamic_bw); @@ -48138,55 +48386,55 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_set_short_gi(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_short_gi(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char* str[2] = {"off", "on"}; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + len = strlen("get_txaggr_sta ") + strlen(str[data]) + 1; + snprintf(buf, len, "get_txaggr_sta %s", str[data]); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_short_gi(wnet_vif, buf, len); + + FREE(arg, "cmd_arg"); + return 0; +} + -+ -+int aml_set_short_gi(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_short_gi(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + int usr_data; + char **arg; + char sep = ' '; + int cmd_arg; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (!arg[1]) { + FREE(arg, "cmd_arg"); + ERROR_DEBUG_OUT("--Bad parameter\n"); + return 0; + } -+ printk("%s,cmd param: %s, %s\n", __func__, arg[0], arg[1]); ++ pr_debug("%s,cmd param: %s, %s\n", __func__, arg[0], arg[1]); + + if (strnicmp(arg[1], "on", strlen("on")) == 0) { + usr_data = 1; -+ printk("%s: enable short GI.\n", __func__); ++ pr_debug("%s: enable short GI.\n", __func__); + + } else if (strnicmp(arg[1], "off", strlen("off")) == 0) { + usr_data = 0; -+ printk("%s: disable short GI.\n", __func__); ++ pr_debug("%s: disable short GI.\n", __func__); + + } else { -+ printk("%s--Bad parameter\n", __func__); ++ pr_debug("%s--Bad parameter\n", __func__); + FREE(arg, "cmd_arg"); + return 0; + } @@ -48196,11 +48444,11 @@ index 000000000000..5e487301c3c9 + + if (1 == usr_data) { + wnet_vif->vm_wmac->wm_flags_ext |= WIFINET_FEXT_SHORTGI_ENABLE; -+ printk("%s: enable short GI done\n", __func__); ++ pr_debug("%s: enable short GI done\n", __func__); + + } else { + wnet_vif->vm_wmac->wm_flags_ext &= ~WIFINET_FEXT_SHORTGI_ENABLE; -+ printk("%s: disable short GI done.\n", __func__); ++ pr_debug("%s: disable short GI done.\n", __func__); + } + + @@ -48208,16 +48456,17 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_set_eat_count_max(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_eat_count_max(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + struct drv_private *drv_priv = drv_get_drv_priv(); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((drv_priv != NULL) && (arg[1] != NULL)) { ++ int data; ++ + data = simple_strtoul(arg[1], NULL, 0); + drv_set_config((void *)drv_priv, CHIP_PARAM_EAT_COUNT, data); + @@ -48229,19 +48478,19 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_set_aggr_thresh(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_aggr_thresh(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + struct drv_private *drv_priv = drv_get_drv_priv(); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((drv_priv != NULL) && (arg[1] != NULL)) { ++ int data; ++ + data = simple_strtoul(arg[1], NULL, 0); + drv_set_config((void *)drv_priv, CHIP_PARAM_AGGR_THRESH, data); -+ + } else { + ERROR_DEBUG_OUT("Parameter is error.\n"); + } @@ -48250,16 +48499,17 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_set_hrtimer_interval(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_hrtimer_interval(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + struct drv_private *drv_priv = drv_get_drv_priv(); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((drv_priv != NULL) && (arg[1] != NULL)) { ++ int data; ++ + data = simple_strtoul(arg[1], NULL, 0); + drv_set_config((void *)drv_priv, CHIP_PARAM_HRTIMER_INTERVAL, data); + @@ -48271,32 +48521,32 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_get_ap_ip(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_get_ap_ip(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + if (!(wnet_vif->vm_mainsta->sta_arp_flag & WIFI_ARP_GET_AP_IP)) { + wifi_mac_send_arp_req(wnet_vif); -+ + } else { -+ printk("ap ip is:%d:%d:%d:%d\n", wnet_vif->vm_mainsta->sta_ap_ip[0], -+ wnet_vif->vm_mainsta->sta_ap_ip[1], wnet_vif->vm_mainsta->sta_ap_ip[2], wnet_vif->vm_mainsta->sta_ap_ip[3]); ++ pr_debug("ap ip is:%d:%d:%d:%d\n", wnet_vif->vm_mainsta->sta_ap_ip[0], ++ wnet_vif->vm_mainsta->sta_ap_ip[1], wnet_vif->vm_mainsta->sta_ap_ip[2], ++ wnet_vif->vm_mainsta->sta_ap_ip[3]); + } + + return 0; +} + -+ -+int aml_set_roaming_threshold_2g(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_roaming_threshold_2g(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((wnet_vif != NULL)&& (wnet_vif->vm_wmac != NULL) && (arg[1] != NULL)) { ++ int data; ++ + data = simple_strtol(arg[1], NULL, 0); + wnet_vif->vm_wmac->roaming_threshold_2g = data; -+ printk("vm_wmac->roaming_threshold_2g:%d\n", wnet_vif->vm_wmac->roaming_threshold_2g); ++ pr_debug("vm_wmac->roaming_threshold_2g:%d\n", wnet_vif->vm_wmac->roaming_threshold_2g); + + } else { + ERROR_DEBUG_OUT("Parameter is error.\n"); @@ -48306,19 +48556,19 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_set_roaming_threshold_5g(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_roaming_threshold_5g(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((wnet_vif != NULL) && (wnet_vif->vm_wmac != NULL) && (arg[1] != NULL)) { ++ int data; ++ + data = simple_strtol(arg[1], NULL, 0); + wnet_vif->vm_wmac->roaming_threshold_5g = data; -+ printk("vm_wmac->roaming_threshold_5g:%d\n", wnet_vif->vm_wmac->roaming_threshold_5g); -+ ++ pr_debug("vm_wmac->roaming_threshold_5g:%d\n", wnet_vif->vm_wmac->roaming_threshold_5g); + } else { + ERROR_DEBUG_OUT("Parameter is error.\n"); + } @@ -48327,22 +48577,24 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_get_roaming_candidate_chans(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_get_roaming_candidate_chans(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ int i = 0; -+ struct wifi_channel * chan = NULL; ++ int i; + int chan_cnt = wnet_vif->vm_wmac->wm_scan->roaming_candidate_chans_cnt; + -+ printk("get roaming candidate chans [%d]:\n", chan_cnt); ++ pr_debug("get roaming candidate chans [%d]:\n", chan_cnt); + + for (i=0; i < chan_cnt; i++) { ++ struct wifi_channel * chan; ++ + chan = wnet_vif->vm_wmac->wm_scan->roaming_candidate_chans[i].channel; + + if (chan == NULL) { + ERROR_DEBUG_OUT("erro pointer \n"); + return 0; + } -+ printk("chan_cfreq1:%d chan_flags:%d chan_pri_num:%d chan_maxpower:%d chan_minpower:%d chan_bw:%d global_operating_class %d Rssi:%d\n", ++ ++ pr_debug("chan_cfreq1:%d chan_flags:%d chan_pri_num:%d chan_maxpower:%d chan_minpower:%d chan_bw:%d global_operating_class %d Rssi:%d\n", + chan->chan_cfreq1, chan->chan_flags, chan->chan_pri_num, chan->chan_maxpower, + chan->chan_minpower, chan->chan_bw, chan->global_operating_class, + (wnet_vif->vm_wmac->wm_scan->roaming_candidate_chans[i].avg_rssi - 256)); @@ -48351,36 +48603,43 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_set_roaming_candidate_chans(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_roaming_candidate_chans(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; -+ int i = 0; -+ int j = 0; -+ struct wifi_channel *c; -+ struct wifi_mac *wifimac = NULL; -+ struct wifi_mac_scan_state *ss = NULL; ++ int i; ++ struct wifi_mac *wifimac; ++ struct wifi_mac_scan_state *ss; + + if (wnet_vif == NULL) { + return 0; + } ++ + wifimac = wnet_vif->vm_wmac; + ss = wifimac->wm_scan; + + WIFI_ROAMING_CHANNLE_LOCK(wnet_vif->vm_wmac->wm_scan); + + wnet_vif->vm_wmac->wm_scan->roaming_candidate_chans_cnt = 0; -+ memset(wnet_vif->vm_wmac->wm_scan->roaming_candidate_chans, 0, sizeof(wnet_vif->vm_wmac->wm_scan->roaming_candidate_chans)); ++ memset(wnet_vif->vm_wmac->wm_scan->roaming_candidate_chans, 0, ++ sizeof(wnet_vif->vm_wmac->wm_scan->roaming_candidate_chans)); ++ ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); + for (i = 1; i < ROAMING_CANDIDATE_CHAN_MAX; i++) { + if (arg[i] != NULL) { ++ int data; ++ int j; ++ + data = simple_strtoul(arg[i], NULL, 0); -+ printk("get channel:%d \n",data); ++ pr_debug("get channel:%d \n",data); ++ + WIFI_CHANNEL_LOCK(wifimac); ++ + for (j = 0; j < wifimac->wm_nchans; j++) { ++ struct wifi_channel *c; ++ + c = &wifimac->wm_channels[j]; + if (c->chan_bw == WIFINET_BWC_WIDTH20 && c->chan_pri_num == data) { + ss->roaming_candidate_chans[ss->roaming_candidate_chans_cnt].channel = c; @@ -48388,33 +48647,34 @@ index 000000000000..5e487301c3c9 + ss->roaming_candidate_chans_cnt++; + } + } -+ WIFI_CHANNEL_UNLOCK(wifimac); + ++ WIFI_CHANNEL_UNLOCK(wifimac); + } else { + WIFI_ROAMING_CHANNLE_UNLOCK(wnet_vif->vm_wmac->wm_scan); + FREE(arg, "cmd_arg"); + return 0; + } + } ++ + WIFI_ROAMING_CHANNLE_UNLOCK(wnet_vif->vm_wmac->wm_scan); + + FREE(arg, "cmd_arg"); + return 0; +} + -+ -+int aml_set_roaming_mode(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_roaming_mode(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((wnet_vif != NULL) && (wnet_vif->vm_wmac != NULL) && (arg[1] != NULL)) { ++ int data; ++ + data = simple_strtoul(arg[1], NULL, 0); + wnet_vif->vm_wmac->wm_roaming = data; -+ printk("vm_wmac->wm_roaming:%d\n", wnet_vif->vm_wmac->wm_roaming); ++ pr_debug("vm_wmac->wm_roaming:%d\n", wnet_vif->vm_wmac->wm_roaming); + } else { + ERROR_DEBUG_OUT("Parameter is error.\n"); + } @@ -48423,12 +48683,13 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int wifi_mac_set_udp_info(char** buf) ++int wifi_mac_set_udp_info(char **buf) +{ + struct wifi_mac *wifimac = wifi_mac_get_mac_handle(); + struct drv_private* drv_priv = wifimac->drv_priv; + struct wlan_net_vif *selected_wnet_vif = NULL; + unsigned int param; ++ + if (wifimac->wm_nrunning == 1) { + if (drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]->vm_state == WIFINET_S_CONNECTED) { + selected_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; @@ -48453,28 +48714,33 @@ index 000000000000..5e487301c3c9 + aml_udp_info[udp_cnt].tx = 0; + aml_udp_timer.udp_timer_stop = 0; + -+ DPRINTF(AML_DEBUG_WARNING,"dst_port=%04x, src_port=%04x, dst_ip=%08x, src_ip:%08x, pkt_len:%d, out:%d, streamid:%d, param=%d\n", -+ aml_udp_info[udp_cnt].dst_port, aml_udp_info[udp_cnt].src_port, aml_udp_info[udp_cnt].dst_ip, aml_udp_info[udp_cnt].src_ip, -+ aml_udp_info[udp_cnt].pkt_len, aml_udp_info[udp_cnt].out, aml_udp_info[udp_cnt].streamid, param); ++ DPRINTF(AML_DEBUG_WARNING, ++ "dst_port=%04x, src_port=%04x, dst_ip=%08x, src_ip:%08x, pkt_len:%d, out:%d, streamid:%d, param=%d\n", ++ aml_udp_info[udp_cnt].dst_port, aml_udp_info[udp_cnt].src_port, ++ aml_udp_info[udp_cnt].dst_ip, aml_udp_info[udp_cnt].src_ip, ++ aml_udp_info[udp_cnt].pkt_len, aml_udp_info[udp_cnt].out, ++ aml_udp_info[udp_cnt].streamid, param); + + if (aml_udp_info[udp_cnt].out && aml_udp_timer.run_flag == 0) { -+ os_timer_ex_initialize(&aml_udp_timer.udp_send_timeout, 0, wifi_mac_udp_send_timeout_ex, selected_wnet_vif); ++ os_timer_ex_initialize(&aml_udp_timer.udp_send_timeout, 0, ++ wifi_mac_udp_send_timeout_ex, selected_wnet_vif); + os_timer_ex_start_period(&aml_udp_timer.udp_send_timeout, 10); + aml_udp_timer.run_flag = 1; + } ++ + udp_cnt++; + return 0; +} + -+//set_udp_info dst_port src_port dst_ip in/out -+int aml_set_udp_info(struct wlan_net_vif *wnet_vif, char* buf, int len) ++/* set_udp_info dst_port src_port dst_ip in/out */ ++int aml_set_udp_info(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + int skip = 0, cmd_arg; + char **arg; + char sep = ' '; + skip = strlen("set_udp_info") + 1; + -+ arg = aml_cmd_char_prase(sep, buf + skip, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf + skip, &cmd_arg); + wifi_mac_set_udp_info(arg); + + FREE(arg, "cmd_arg"); @@ -48483,9 +48749,10 @@ index 000000000000..5e487301c3c9 + +int aml_get_udp_info(struct wlan_net_vif *wnet_vif, char* buf, int len) +{ -+ int i = 0; ++ int i; ++ + for (i = 0; i < udp_cnt; i++) { -+ printk("%s streamid=%d tx is %d, rx is %d\n", __func__, aml_udp_info[i].streamid, aml_udp_info[i].tx, aml_udp_info[i].rx); ++ pr_debug("%s streamid=%d tx is %d, rx is %d\n", __func__, aml_udp_info[i].streamid, aml_udp_info[i].tx, aml_udp_info[i].rx); + } + aml_udp_timer.udp_timer_stop = 1; + aml_udp_timer.run_flag = 0; @@ -48493,20 +48760,21 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_unmark_dfs_channel(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_unmark_dfs_channel(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((wnet_vif != NULL) && (wnet_vif->vm_wmac != NULL)) { ++ int data = 0; ++ + if (arg[1] != NULL) { + data = simple_strtoul(arg[1], NULL, 0); + } + -+ printk("unmarked dfs channel :%d\n",data); ++ pr_debug("unmarked dfs channel :%d\n",data); + wifi_mac_unmark_dfs_channel(wnet_vif, data); + + } else { @@ -48517,20 +48785,21 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_mark_dfs_channel(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_mark_dfs_channel(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((wnet_vif != NULL) && (wnet_vif->vm_wmac != NULL)) { ++ int data = 0; ++ + if (arg[1] != NULL) { + data = simple_strtoul(arg[1], NULL, 0); + } + -+ printk("marked dfs channel :%d\n",data); ++ pr_debug("marked dfs channel :%d\n",data); + wifi_mac_mark_dfs_channel(wnet_vif, data); + + } else { @@ -48544,24 +48813,30 @@ index 000000000000..5e487301c3c9 +int aml_set_device_sn(struct wlan_net_vif *wnet_vif, char* buf, int len) +{ + char **arg; -+ char **mac_cmd; -+ int i,cmd_arg; ++ int cmd_arg; + char sep = ' '; -+ unsigned int efuse_data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg) { ++ char **mac_cmd; ++ + sep = ':'; -+ mac_cmd = aml_cmd_char_prase(sep, arg[1], &cmd_arg); ++ mac_cmd = aml_cmd_char_phrase(sep, arg[1], &cmd_arg); + if (mac_cmd) { -+ efuse_data = (simple_strtoul(mac_cmd[0],NULL,16) << 8) | (simple_strtoul(mac_cmd[1],NULL,16)); ++ unsigned int efuse_data; ++ int i; ++ ++ efuse_data = (simple_strtoul(mac_cmd[0], NULL, 16) << 8) | ++ (simple_strtoul(mac_cmd[1], NULL, 16)); ++ + for (i = 0; i < 16; i++) { + if (efuse_data & (1 << i)) { -+ //printk("set_dev_sn ===>>> efuse_manual_write: %d 0xf\n", i); ++ /* pr_debug("set_dev_sn ===>>> efuse_manual_write: %d 0xf\n", i); */ + efuse_manual_write(i, 0xf); + } + } -+ printk("set_dev_sn ===>>> write SN/ID is: %02x %02x\n", ((efuse_data & 0xff00) >> 8), (efuse_data & 0x00ff)); ++ pr_debug("set_dev_sn ===>>> write SN/ID is: %02x %02x\n", ++ ((efuse_data & 0xff00) >> 8), (efuse_data & 0x00ff)); + } + kfree(mac_cmd); + } @@ -48570,36 +48845,42 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_get_device_sn(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_get_device_sn(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + int cmd_arg; + char sep = ' '; -+ unsigned int efuse_data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg) { -+ efuse_data = efuse_manual_read(simple_strtoul(arg[1],NULL,16)); -+ printk("get_dev_sn ===>>> efuse addr:%08x, get SN/ID is: %02x %02x\n", simple_strtoul(arg[1],NULL,16), ((efuse_data & 0xff00) >> 8), (efuse_data & 0x00ff)); ++ unsigned int efuse_data; ++ ++ efuse_data = efuse_manual_read(simple_strtoul(arg[1], NULL, 16)); ++ pr_debug("get_dev_sn ===>>> efuse addr:%08x, get SN/ID is: %02x %02x\n", ++ simple_strtoul(arg[1], NULL, 16), ((efuse_data & 0xff00) >> 8), ++ (efuse_data & 0x00ff)); ++ + FREE(arg, "cmd_arg"); + } + + return 0; +} + -+int aml_set_signal_power_weak_thresh_for_narrow_bandwidth(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_signal_power_weak_thresh_for_narrow_bandwidth(struct wlan_net_vif *wnet_vif, ++ char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((wnet_vif != NULL) && (wnet_vif->vm_wmac != NULL) && (arg[1] != NULL)) { ++ int data; ++ + data = simple_strtol(arg[1], NULL, 0); + wnet_vif->vm_wmac->wm_signal_power_weak_thresh_narrow = data; -+ printk("set signal power weak thresh to: %d\n", wnet_vif->vm_wmac->wm_signal_power_weak_thresh_narrow); -+ ++ pr_debug("set signal power weak thresh to: %d\n", ++ wnet_vif->vm_wmac->wm_signal_power_weak_thresh_narrow); + } else { + ERROR_DEBUG_OUT("Parameter is error.\n"); + } @@ -48608,19 +48889,20 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_set_signal_power_weak_thresh_for_wide_bandwidth(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_signal_power_weak_thresh_for_wide_bandwidth(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((wnet_vif != NULL) && (wnet_vif->vm_wmac != NULL) && (arg[1] != NULL)) { ++ int data; ++ + data = simple_strtol(arg[1], NULL, 0); + wnet_vif->vm_wmac->wm_signal_power_weak_thresh_wide = data; -+ printk("set signal power weak thresh to: %d\n", wnet_vif->vm_wmac->wm_signal_power_weak_thresh_wide); -+ ++ pr_debug("set signal power weak thresh to: %d\n", ++ wnet_vif->vm_wmac->wm_signal_power_weak_thresh_wide); + } else { + ERROR_DEBUG_OUT("Parameter is error.\n"); + } @@ -48630,18 +48912,19 @@ index 000000000000..5e487301c3c9 +} + +extern int aml_iwpriv_set_lagecy_bitrate_mask(struct net_device *dev, unsigned int set); -+int aml_set_lagecy_bitrate_mask(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_lagecy_bitrate_mask(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + aml_iwpriv_set_lagecy_bitrate_mask(wnet_vif->vm_ndev, data); + @@ -48650,18 +48933,19 @@ index 000000000000..5e487301c3c9 +} + +extern int aml_iwpriv_set_ht_bitrate_mask(struct net_device *dev, unsigned int set); -+int aml_set_ht_bitrate_mask(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_ht_bitrate_mask(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + aml_iwpriv_set_ht_bitrate_mask(wnet_vif->vm_ndev, data); + @@ -48669,20 +48953,20 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+ +extern int aml_iwpriv_set_vht_bitrate_mask(struct net_device *dev, unsigned int set); -+int aml_set_vht_bitrate_mask(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_vht_bitrate_mask(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + aml_iwpriv_set_vht_bitrate_mask(wnet_vif->vm_ndev, data); + @@ -48691,25 +48975,26 @@ index 000000000000..5e487301c3c9 +} + +extern void aml_iwpriv_set_rate_auto(struct wlan_net_vif *wnet_vif); -+int aml_set_rate_auto(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_rate_auto(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + aml_iwpriv_set_rate_auto(wnet_vif); + return 0; +} + -+int aml_set_coex_req_timeslice_timeout(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_coex_req_timeslice_timeout(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + struct wifi_mac *wifimac = NULL; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wifimac = wifi_mac_get_mac_handle(); + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_req_timeslice_timeout_value(data); @@ -48718,19 +49003,20 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_set_coex_max_miss_bcn(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_coex_max_miss_bcn(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + struct wifi_mac *wifimac = NULL; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wifimac = wifi_mac_get_mac_handle(); + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_max_miss_bcn(data); @@ -48739,81 +49025,87 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_set_scan_hang(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_scan_hang(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wnet_vif->vm_scan_hang = (unsigned char)data; -+ printk("%s, vid:%d vm_scan_hang:%d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_hang); ++ pr_debug("%s, vid:%d vm_scan_hang:%d\n ", __func__, wnet_vif->wnet_vif_id, ++ wnet_vif->vm_scan_hang); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_set_scan_connect_time(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_scan_connect_time(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wnet_vif->vm_scan_time_connect = (unsigned char)data; + wifi_mac_set_scan_time(wnet_vif); -+ printk("%s, vid:%d vm_scan_time_connect:%d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_connect); ++ pr_debug("%s, vid:%d vm_scan_time_connect:%d\n ", __func__, wnet_vif->wnet_vif_id, ++ wnet_vif->vm_scan_time_connect); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_set_scan_idle_time(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_set_scan_idle_time(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wnet_vif->vm_scan_time_idle = (unsigned char)data; + wifi_mac_set_scan_time(wnet_vif); -+ printk("%s, vid:%d vm_scan_idle:%d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_idle); ++ pr_debug("%s, vid:%d vm_scan_idle:%d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_idle); + + FREE(arg, "cmd_arg"); + return 0; +} + +unsigned int get_reg(struct wlan_net_vif *wnet_vif, unsigned int set); -+int aml_wpa_get_reg(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_get_reg(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + get_reg(wnet_vif, data); + @@ -48822,19 +49114,20 @@ index 000000000000..5e487301c3c9 +} + +unsigned int set_reg(struct wlan_net_vif *wnet_vif, unsigned int set1, unsigned int set2); -+int aml_wpa_set_reg(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_reg(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data1 = 0; -+ int data2 = 0; ++ int data1; ++ int data2; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data1 = simple_strtol(arg[1], NULL, 0); + data2 = simple_strtol(arg[2], NULL, 0); + set_reg(wnet_vif, data1, data2); @@ -48843,9 +49136,9 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_get_cca_status(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_get_cca_status(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + + wifimac = wifi_mac_get_mac_handle(); + wifimac->drv_priv->drv_ops.cca_busy_check(); @@ -48853,9 +49146,9 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_get_agc_status(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_get_agc_status(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + + wifimac = wifi_mac_get_mac_handle(); + wifimac->drv_priv->drv_ops.phy_stc(); @@ -48864,9 +49157,9 @@ index 000000000000..5e487301c3c9 +} + +unsigned int get_latest_tx_status(struct wifi_mac *wifimac); -+int aml_wpa_get_latest_tx_status(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_get_latest_tx_status(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + + wifimac = wifi_mac_get_mac_handle(); + get_latest_tx_status(wifimac); @@ -48875,18 +49168,19 @@ index 000000000000..5e487301c3c9 +} + +extern void print_driver_version(void); -+int aml_wpa_get_drv_ver(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_get_drv_ver(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + print_driver_version(); + return 0; +} + -+int aml_wpa_set_country_code(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_country_code(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; @@ -48897,28 +49191,31 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_get_country_code(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_get_country_code(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; ++ + wifimac = wifi_mac_get_mac_handle(); -+ printk("country code: %s\n", wifimac->wm_country.iso); ++ pr_debug("country code: %s\n", wifimac->wm_country.iso); + + return 0; +} + +extern void wifi_mac_pwrsave_set_inactime(struct wlan_net_vif *wnet_vif, unsigned int time); -+int aml_wpa_set_power(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_power(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ int data; ++ ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); -+ ERROR_DEBUG_OUT("char_prase fail\n"); ++ ERROR_DEBUG_OUT("char_phrase fail\n"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wifi_mac_pwrsave_set_inactime(wnet_vif, data); + @@ -48926,20 +49223,21 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_set_channel_rssi(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_channel_rssi(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + + wifimac = wifi_mac_get_mac_handle(); -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wifimac->drv_priv->drv_ops.set_channel_rssi(wifimac->drv_priv, data); + @@ -48947,66 +49245,69 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_set_burst(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_burst(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + + wifimac = wifi_mac_get_mac_handle(); -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wifimac->drv_priv->drv_config.cfg_burst_ack = data; -+ printk("wpa cli set burst %d\n", data); ++ pr_debug("wpa cli set burst %d\n", data); + + FREE(arg, "cmd_arg"); + return 0; +} + +extern void aml_iwpriv_set_uapsd(struct wlan_net_vif *wnet_vif, unsigned int set); -+int aml_wpa_set_uapsd(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_uapsd(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + + wifimac = wifi_mac_get_mac_handle(); -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + aml_iwpriv_set_uapsd(wnet_vif, data); -+ printk("wpa cli set uapsd %d\n", data); ++ pr_debug("wpa cli set uapsd %d\n", data); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_wpa_set_pt_rxstart(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_pt_rxstart(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wnet_vif->vif_ops.pt_rx_start(data); -+ printk("wpa cli set rxstart %d\n", data); ++ pr_debug("wpa cli set rxstart %d\n", data); + + FREE(arg, "cmd_arg"); + return 0; @@ -49018,88 +49319,92 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_set_scan_pri(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_scan_pri(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + + wifimac = wifi_mac_get_mac_handle(); -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_scan_priority_range(data); -+ printk("wpa cli set scan pri %d\n", data); ++ pr_debug("wpa cli set scan pri %d\n", data); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_wpa_set_bebk_pri(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_bebk_pri(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + + wifimac = wifi_mac_get_mac_handle(); -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_be_bk_noqos_priority_range(data); -+ printk("wpa cli set bebk noqos pri %d\n", data); ++ pr_debug("wpa cli set bebk noqos pri %d\n", data); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_wpa_set_coex_btwifi(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_coex_btwifi(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + + wifimac = wifi_mac_get_mac_handle(); -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); -+ printk("%s, coexist en= %d\n ", __func__, data); ++ pr_debug("%s, coexist en= %d\n ", __func__, data); + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_en(data); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_wpa_set_coex_bcnmis(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_coex_bcnmis(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + + wifimac = wifi_mac_get_mac_handle(); -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); -+ printk("%s, coexist value=%d\n ", __func__, data); ++ pr_debug("%s, coexist value=%d\n ", __func__, data); + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_max_miss_bcn(data); + + FREE(arg, "cmd_arg"); @@ -49107,20 +49412,21 @@ index 000000000000..5e487301c3c9 +} + +extern int aml_beacon_intvl_set(struct wlan_net_vif *wnet_vif, unsigned int set); -+int aml_wpa_set_bcn_intv(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_bcn_intv(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); -+ printk("%s, coexist value=%d\n", __func__, data); ++ pr_debug("%s, coexist value=%d\n", __func__, data); + aml_beacon_intvl_set(wnet_vif, data); + + FREE(arg, "cmd_arg"); @@ -49128,38 +49434,44 @@ index 000000000000..5e487301c3c9 +} + +extern int aml_set_ldpc(struct wlan_net_vif *wnet_vif, unsigned int set); -+int aml_wpa_set_ldpc(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_ldpc(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); -+ printk("%s, coexist value=%d\n", __func__, data); ++ pr_debug("%s, coexist value=%d\n", __func__, data); + aml_set_ldpc(wnet_vif, data); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_wpa_get_chan_list(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_get_chan_list(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + struct wifi_mac *wifimac = NULL; -+ struct wifi_channel *c = NULL; -+ int i = 0; ++ int i; ++ + wifimac = wifi_mac_get_mac_handle(); + + WIFI_CHANNEL_LOCK(wifimac); ++ + for (i = 0; i < wifimac->wm_nchans; i++) { ++ struct wifi_channel *c; ++ + c = &wifimac->wm_channels[i]; -+ printk("channel:%d\t frequency:%d \t bandwidth:%dMHz \n", c->chan_pri_num, c->chan_cfreq1, ((1 << c->chan_bw) * 20)); ++ pr_debug("channel:%d\t frequency:%d \t bandwidth:%dMHz \n", ++ c->chan_pri_num, c->chan_cfreq1, ((1 << c->chan_bw) * 20)); + } ++ + WIFI_CHANNEL_UNLOCK(wifimac); + + return 0; @@ -49167,19 +49479,20 @@ index 000000000000..5e487301c3c9 + +#if defined(SU_BF) || defined(MU_BF) +extern int aml_set_beamforming(struct wlan_net_vif *wnet_vif, unsigned int set1,unsigned int set2); -+int aml_wpa_set_beamforming(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_beamforming(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data1 = 0; -+ int data2 = 0; ++ int data1; ++ int data2; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data1 = simple_strtol(arg[1], NULL, 0); + data2 = simple_strtol(arg[2], NULL, 0); + aml_set_beamforming(wnet_vif, data1,data1); @@ -49189,81 +49502,85 @@ index 000000000000..5e487301c3c9 +} +#endif + -+int aml_wpa_set_pkt_fetch(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_pkt_fetch(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; + int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + wnet_vif->vm_mainsta->sta_fetch_pkt_method = (unsigned char)data; -+ printk("wpa cli set pkt fetch %d\n", data); ++ pr_debug("wpa cli set pkt fetch %d\n", data); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_wpa_set_frag_thr(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_frag_thr(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + if ((unsigned short)data > 0) { + wnet_vif->vm_fragthreshold = (unsigned short)data; + } -+ printk("wpa cli set frag thr %d\n", data); ++ pr_debug("wpa cli set frag thr %d\n", data); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_wpa_set_preamble(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_preamble(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + phy_set_preamble_type(data); -+ printk("wpa cli set preamble type %d\n", data); ++ pr_debug("wpa cli set preamble type %d\n", data); + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_wpa_set_band(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_band(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + struct drv_private *drv_priv = drv_get_drv_priv(); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + drv_priv->drv_config.cfg_band = data; + @@ -49271,19 +49588,20 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_set_mac_mode(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_mac_mode(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + struct drv_private *drv_priv = drv_get_drv_priv(); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + drv_priv->drv_config.cfg_mac_mode = data; + @@ -49291,19 +49609,19 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+ -+int aml_wpa_set_initial_gain_change_hang(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_initial_gain_change_hang(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; ++ int data; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; + } ++ + data = simple_strtol(arg[1], NULL, 0); + g_initial_gain_change_disable = data; + @@ -49318,14 +49636,14 @@ index 000000000000..5e487301c3c9 + return 0; +} + -+int aml_wpa_set_tx_power_change_hang(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_tx_power_change_hang(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; + int data = 0; + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; @@ -49349,40 +49667,44 @@ index 000000000000..5e487301c3c9 + char **arg; + char sep = ' '; + int cmd_arg; -+ int data = 0; + + struct drv_private *drv_priv = drv_get_drv_priv(); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if ((drv_priv != NULL) && (arg[1] != NULL)) { ++ int data; ++ + data = simple_strtoul(arg[1], NULL, 0); + wifimac_set_tx_pwr_plan(data); + } else { -+ printk("Parameter is error.\n"); ++ pr_err("Parameter is error.\n"); + } + + FREE(arg, "cmd_arg"); + return 0; +} + -+int aml_set_debug_switch(char *switch_str) ++static int aml_set_debug_switch(char *switch_str) +{ + int debug_switch = 0; ++ + if(strstr(switch_str,"_off")!=NULL) + debug_switch = AML_DBG_OFF; + else if(strstr(switch_str,"_on")!=NULL) + debug_switch = AML_DBG_ON; + else + ERROR_DEBUG_OUT("input error\n"); ++ + return debug_switch; +} + -+int aml_wpa_set_debug(struct wlan_net_vif *wnet_vif, char* buf, int len) ++int aml_wpa_set_debug(struct wlan_net_vif *wnet_vif, char *buf, int len) +{ + char **arg; + char sep = ' '; + int cmd_arg; -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + if (arg[1] == NULL) { + FREE(arg, "cmd_arg"); + return -EINVAL; @@ -49394,10 +49716,10 @@ index 000000000000..5e487301c3c9 +} diff --git a/drivers/net/wireless/w1/vmac/wifi_cmd_func.h b/drivers/net/wireless/w1/vmac/wifi_cmd_func.h new file mode 100644 -index 000000000000..a5bb858233ae +index 0000000000000000000000000000000000000000..c1f483e81f91c5c15af515e9504ce6f42846b9f9 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_cmd_func.h -@@ -0,0 +1,138 @@ +@@ -0,0 +1,140 @@ +/* + **************************************************************************************** + * @@ -49535,10 +49857,12 @@ index 000000000000..a5bb858233ae +extern int aml_wpa_set_tx_power_change_hang(struct wlan_net_vif *wnet_vif, char* buf, int len); +extern int aml_set_tx_power_plan(struct wlan_net_vif *wnet_vif, char* buf, int len); +extern int aml_wpa_set_debug(struct wlan_net_vif *wnet_vif, char* buf, int len); ++ ++char **aml_cmd_char_phrase(char sep, const char *str, int *size); +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_common.c b/drivers/net/wireless/w1/vmac/wifi_common.c new file mode 100644 -index 000000000000..be512ad71415 +index 0000000000000000000000000000000000000000..e94da7161aa8c770458906997abd94d892f1f454 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_common.c @@ -0,0 +1,380 @@ @@ -49719,7 +50043,7 @@ index 000000000000..be512ad71415 + if (path && buf) { + ret = openFile(&fp, path, O_RDONLY, 0); + if (0 == ret) { -+ printk("openFile path:%s fp=%p\n", path , fp); ++ pr_debug("openFile path:%s fp=%p\n", path , fp); + oldfs = get_fs(); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)) + set_fs(KERNEL_DS); @@ -49730,7 +50054,7 @@ index 000000000000..be512ad71415 + set_fs(oldfs); + closeFile(fp); + -+ printk("readFile, ret:%d\n", ret); ++ pr_debug("readFile, ret:%d\n", ret); + } else { + ERROR_DEBUG_OUT("openFile path:%s Fail, ret:%d\n", path, ret); + } @@ -49761,7 +50085,7 @@ index 000000000000..be512ad71415 + if (path && buf) { + ret = openFile(&fp, path, O_CREAT | O_WRONLY, 0666); + if (0 == ret) { -+ printk("openFile path:%s fp=%p\n", path , fp); ++ pr_debug("openFile path:%s fp=%p\n", path , fp); + oldfs = get_fs(); +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)) + set_fs(KERNEL_DS); @@ -49771,7 +50095,7 @@ index 000000000000..be512ad71415 + ret = writeFile(fp, buf, sz); + set_fs(oldfs); + closeFile(fp); -+ printk("writeFile, ret:%d\n", ret); ++ pr_debug("writeFile, ret:%d\n", ret); + } else { + ERROR_DEBUG_OUT("openFile path:%s Fail, ret:%d\n", path, ret); + } @@ -49889,7 +50213,7 @@ index 000000000000..be512ad71415 + + read_size = aml_retrieve_from_file(path, file_data, FILE_DATA_LEN); + if (read_size != FILE_DATA_LEN) { -+ printk("%s read from %s fail\n", __func__, path); ++ pr_err("%s read from %s fail\n", __func__, path); + goto exit; + } + @@ -49898,19 +50222,19 @@ index 000000000000..be512ad71415 + for (i = 0 ; i < ETH_ALEN ; i++) { + if (aml_char_is_hex_digit(file_data[PARSE_DIGIT_BASE + i * 3]) == false + || aml_char_is_hex_digit(file_data[PARSE_DIGIT_BASE + i * 3 + 1]) == false) { -+ printk("%s invalid 8-bit hex format for address offset:%u\n", __func__, i); ++ pr_err("%s invalid 8-bit hex format for address offset:%u\n", __func__, i); + goto exit; + } + + if (i < ETH_ALEN - 1 && file_data[PARSE_DIGIT_BASE + i * 3 + 2] != ':') { -+ printk("%s invalid separator after address offset:%u\n", __func__, i); ++ pr_err("%s invalid separator after address offset:%u\n", __func__, i); + goto exit; + } + + temp[0] = file_data[PARSE_DIGIT_BASE + i * 3]; + temp[1] = file_data[PARSE_DIGIT_BASE + i * 3 + 1]; + if (sscanf(temp, "%hhx", &addr[i]) != 1) { -+ printk("%s sscanf fail for address offset:0x%03x\n", __func__, i); ++ pr_err("%s sscanf fail for address offset:0x%03x\n", __func__, i); + goto exit; + } + } @@ -49924,7 +50248,7 @@ index 000000000000..be512ad71415 +} diff --git a/drivers/net/wireless/w1/vmac/wifi_common.h b/drivers/net/wireless/w1/vmac/wifi_common.h new file mode 100644 -index 000000000000..61f27057b2a9 +index 0000000000000000000000000000000000000000..61f27057b2a918b466653f8c5d959f7b43da8744 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_common.h @@ -0,0 +1,32 @@ @@ -49962,7 +50286,7 @@ index 000000000000..61f27057b2a9 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_csi.h b/drivers/net/wireless/w1/vmac/wifi_csi.h new file mode 100644 -index 000000000000..4ece3936d87e +index 0000000000000000000000000000000000000000..4ece3936d87eac8ae93ba67f857101b91eb0df82 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_csi.h @@ -0,0 +1,51 @@ @@ -50019,7 +50343,7 @@ index 000000000000..4ece3936d87e +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_debug.c b/drivers/net/wireless/w1/vmac/wifi_debug.c new file mode 100644 -index 000000000000..5518b4d835e4 +index 0000000000000000000000000000000000000000..073992910833b8a886f6728558978b41a978dc34 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_debug.c @@ -0,0 +1,192 @@ @@ -50056,38 +50380,38 @@ index 000000000000..5518b4d835e4 + PUTC('\n'); +} + -+ void dump_memory_internel(unsigned char *data,int len) ++ void dump_memory_internal(unsigned char *data,int len) +{ + + unsigned char *cursor=data; + char *xcursor = (char *)data; + int i,j; -+ printk("\n*********************************\n"); ++ pr_debug("\n*********************************\n"); + for ( i = 0; i < len; i++ ) + { + if (( i != 0)&&(( i & 0x0F ) == 0 )) + { + +#ifdef ASCII_IN -+ printk("|"); ++ pr_debug("|"); + for (j=0; j < len; j++) + { + if (((*xcursor)<' ')||((*xcursor)>'~')) + { -+ printk("."); ++ pr_debug("."); + xcursor++; + } + else + { -+ printk("%c",*xcursor++); ++ pr_debug("%c",*xcursor++); + } + } +#endif -+ printk( "\n"); ++ pr_debug( "\n"); + } + -+ printk( "%02x",*cursor++ ); -+ printk(" "); ++ pr_debug( "%02x",*cursor++ ); ++ pr_debug(" "); + } + +#ifdef ASCII_IN @@ -50095,25 +50419,25 @@ index 000000000000..5518b4d835e4 + { + for (i=0; i'~')) + { -+ printk("."); ++ pr_debug("."); + xcursor++; + } + else + { -+ printk("%c",*xcursor++); ++ pr_debug("%c",*xcursor++); + } + } + + } +#endif -+ printk("\n*********************************\n"); ++ pr_debug("\n*********************************\n"); +} + +void address_read( unsigned char* cursor, unsigned char* address ) @@ -50217,7 +50541,7 @@ index 000000000000..5518b4d835e4 + diff --git a/drivers/net/wireless/w1/vmac/wifi_debug.h b/drivers/net/wireless/w1/vmac/wifi_debug.h new file mode 100644 -index 000000000000..bc323abb3cae +index 0000000000000000000000000000000000000000..9ab6637253bb5e057c7aac343e381c513c45bc37 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_debug.h @@ -0,0 +1,230 @@ @@ -50285,8 +50609,8 @@ index 000000000000..bc323abb3cae + AML_DEBUG_CFG80211) + + -+#define DBG_HAL_THR_ENTER() //printk("---xman debug---:%s ++ \n",__FUNCTION__); -+#define DBG_HAL_THR_EXIT() //printk("---xman debug---:%s -- \n",__FUNCTION__); ++#define DBG_HAL_THR_ENTER() //pr_debug("---xman debug---:%s ++ \n",__FUNCTION__); ++#define DBG_HAL_THR_EXIT() //pr_debug("---xman debug---:%s -- \n",__FUNCTION__); + + +extern int aml_debug; @@ -50295,7 +50619,7 @@ index 000000000000..bc323abb3cae + +#define DPRINTF( _m, ...) do { \ + if (aml_debug& (_m)) \ -+ printk(__VA_ARGS__); \ ++ pr_debug(__VA_ARGS__); \ + } while (0) + +enum @@ -50319,24 +50643,24 @@ index 000000000000..bc323abb3cae + if (g_dbg_modules & (_m)) \ + { \ + if(_m == AML_DBG_MODULES_P2P) \ -+ printk("[p2p] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ ++ pr_debug("[p2p] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ + else if(_m == AML_DBG_MODULES_RATE_CTR) \ -+ printk("[mi_rate] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ ++ pr_debug("[mi_rate] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ + else if(_m == AML_DBG_MODULES_TX) \ -+ printk("[TX] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ ++ pr_debug("[TX] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ + else if(_m == AML_DBG_MODULES_TX_ERROR) \ -+ printk("[TX_ERROR] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ ++ pr_debug("[TX_ERROR] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ + else if(_m == AML_DBG_MODULES_SCAN) \ -+ printk("[SCAN] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ ++ pr_debug("[SCAN] <%s> %d "format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ + } \ + } while (0) + +#define ERROR_DEBUG_OUT(format,...) do { \ -+ printk("FUNCTION: %s LINE: %d:"format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ ++ pr_err("FUNCTION: %s LINE: %d:"format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ + } while (0) + +#define AML_OUTPUT(format,...) do { \ -+ printk("<%s> %d:"format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ ++ pr_debug("<%s> %d:"format"",__FUNCTION__, __LINE__, ##__VA_ARGS__); \ + } while (0) + + @@ -50347,29 +50671,29 @@ index 000000000000..bc323abb3cae +#define DEBUG_LOCK + +#ifdef DEBUG_LOCK -+#define OS_SPIN_LOCK_IRQ(a, b) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p, #a ++\n",__func__,__LINE__,(a));spin_lock_irqsave((a), (b));} -+#define OS_SPIN_UNLOCK_IRQ(a, b) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a --\n",__func__,__LINE__,(a));spin_unlock_irqrestore((a), (b));} ++#define OS_SPIN_LOCK_IRQ(a, b) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p, #a ++\n",__func__,__LINE__,(a));spin_lock_irqsave((a), (b));} ++#define OS_SPIN_UNLOCK_IRQ(a, b) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a --\n",__func__,__LINE__,(a));spin_unlock_irqrestore((a), (b));} + + -+#define OS_SPIN_LOCK_BH(a) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));spin_lock_bh((a));} -+#define OS_SPIN_UNLOCK_BH(a) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a --\n",__func__,__LINE__,(a));spin_unlock_bh((a));} ++#define OS_SPIN_LOCK_BH(a) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));spin_lock_bh((a));} ++#define OS_SPIN_UNLOCK_BH(a) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a --\n",__func__,__LINE__,(a));spin_unlock_bh((a));} + + -+#define OS_SPIN_LOCK(a) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));spin_lock((a));} -+#define OS_SPIN_UNLOCK(a) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a --\n",__func__,__LINE__,(a));spin_unlock((a));} ++#define OS_SPIN_LOCK(a) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));spin_lock((a));} ++#define OS_SPIN_UNLOCK(a) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a --\n",__func__,__LINE__,(a));spin_unlock((a));} + + -+#define OS_WRITE_LOCK(a) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));write_lock((a));} -+#define OS_WRITE_UNLOCK(a) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a --\n",__func__,__LINE__,(a));write_unlock((a));} ++#define OS_WRITE_LOCK(a) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));write_lock((a));} ++#define OS_WRITE_UNLOCK(a) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a --\n",__func__,__LINE__,(a));write_unlock((a));} + -+#define OS_WRITE_LOCK_BH(a) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));write_lock_bh((a));} -+#define OS_WRITE_UNLOCK_BH(a) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a --\n",__func__,__LINE__,(a));write_unlock_bh((a));} ++#define OS_WRITE_LOCK_BH(a) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));write_lock_bh((a));} ++#define OS_WRITE_UNLOCK_BH(a) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a --\n",__func__,__LINE__,(a));write_unlock_bh((a));} + -+#define OS_WRITE_LOCK_IRQ(a, b) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));write_lock_irqsave((a), (b));} -+#define OS_WRITE_UNLOCK_IRQ(a, b) {if (aml_debug& (AML_DEBUG_LOCK)) printk("%s,%d,%p,#a --\n",__func__,__LINE__,(a));write_unlock_irqrestore((a), (b));} ++#define OS_WRITE_LOCK_IRQ(a, b) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a ++\n",__func__,__LINE__,(a));write_lock_irqsave((a), (b));} ++#define OS_WRITE_UNLOCK_IRQ(a, b) {if (aml_debug& (AML_DEBUG_LOCK)) pr_debug("%s,%d,%p,#a --\n",__func__,__LINE__,(a));write_unlock_irqrestore((a), (b));} + -+#define OS_MUTEX_LOCK(a) {/*printk("%s,%d,%p, #a ++\n",__func__,__LINE__,(a));*/mutex_lock(a);} -+#define OS_MUTEX_UNLOCK(a) {/*printk("%s,%d,%p, #a --\n",__func__,__LINE__,(a));*/mutex_unlock(a);} ++#define OS_MUTEX_LOCK(a) {/*pr_debug("%s,%d,%p, #a ++\n",__func__,__LINE__,(a));*/mutex_lock(a);} ++#define OS_MUTEX_UNLOCK(a) {/*pr_debug("%s,%d,%p, #a --\n",__func__,__LINE__,(a));*/mutex_unlock(a);} + +#else +#define OS_SPIN_LOCK_IRQ(a, b) {spin_lock_irqsave((a), (b));} @@ -50400,22 +50724,22 @@ index 000000000000..bc323abb3cae +#endif + +#if defined (FPGA) ||defined (CHIP) -+#define PRINT(...) do {printk( __VA_ARGS__ );}while(0) -+#define PRINT_ERR(...) do {printk( __VA_ARGS__ );}while(0) -+#define PUTC( character ) printk("%c" ,character ) -+#define PUTX8(size, value) printk("%02x", value); -+#define PUTU8(value) printk("%u", value); -+#define PUTS( ... ) printk(__VA_ARGS__) -+#define PUTU( number) printk("%d\n",number) -+#define DBG_ENTER() //printk("--->%s ++ \n",__FUNCTION__); -+#define DBG_EXIT() //printk("--->%s -- \n",__FUNCTION__); ++#define PRINT(...) do {pr_debug( __VA_ARGS__ );}while(0) ++#define PRINT_ERR(...) do {pr_err( __VA_ARGS__ );}while(0) ++#define PUTC( character ) pr_debug("%c" ,character ) ++#define PUTX8(size, value) pr_debug("%02x", value); ++#define PUTU8(value) pr_debug("%u", value); ++#define PUTS( ... ) pr_debug(__VA_ARGS__) ++#define PUTU( number) pr_debug("%d\n",number) ++#define DBG_ENTER() //pr_debug("--->%s ++ \n",__FUNCTION__); ++#define DBG_EXIT() //pr_debug("--->%s -- \n",__FUNCTION__); +#endif + + +#ifndef ASSERT +#define ASSERT(exp) do{ \ + if (!(exp)) { \ -+ printk("=>=>=>=>=>assert %s,%d\n",__func__,__LINE__); \ ++ pr_err("=>=>=>=>=>assert %s,%d\n",__func__,__LINE__); \ + /*BUG(); while(1); */ \ + } \ + } while (0); @@ -50426,7 +50750,7 @@ index 000000000000..bc323abb3cae + +#define KASSERT(exp, msg) do { \ + if (unlikely(!(exp))) { \ -+ printk msg; \ ++ pr_err msg ; \ + BUG(); \ + } \ + } while (0) @@ -50435,7 +50759,7 @@ index 000000000000..bc323abb3cae + +void address_print( unsigned char* address ); +void IPv4_address_print( unsigned char* address ); -+void dump_memory_internel(unsigned char *data,int len); ++void dump_memory_internal(unsigned char *data,int len); +void address_read( unsigned char* cursor, unsigned char* address ); + + unsigned short READ_16L( const unsigned char* address ); @@ -50453,10 +50777,10 @@ index 000000000000..bc323abb3cae +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_capture.c b/drivers/net/wireless/w1/vmac/wifi_drv_capture.c new file mode 100644 -index 000000000000..e8eb8ec2fd08 +index 0000000000000000000000000000000000000000..cf2065c59dc0b0f90d7658bb6a022bd86d96a235 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_capture.c -@@ -0,0 +1,593 @@ +@@ -0,0 +1,591 @@ +#include "wifi_drv_capture.h" +#include + @@ -50475,33 +50799,30 @@ index 000000000000..e8eb8ec2fd08 +unsigned int dut_get_reg_frag(int address, int high_bit, int low_bit) +{ + unsigned int tmp = 0; -+ unsigned char error; + struct hw_interface* hif = hif_get_hw_interface(); -+ + int bitwidth = high_bit - low_bit + 1; + int mask = (bitwidth == 32) ? -1 : ((1 << (bitwidth)) - 1); ++ + if ((bitwidth < 1) || (low_bit > 31) || (high_bit > 31)) { -+ error = 1; -+ printk("get reg frag error!addr 0x%x high_bit %d low_bit %d\n", address, high_bit, low_bit); ++ pr_err("get reg frag error!addr 0x%x high_bit %d low_bit %d\n", ++ address, high_bit, low_bit); + } else { + tmp = hif->hif_ops.hi_read_word(address); + tmp >>= low_bit; + tmp &= mask; -+ error = 0; + } ++ + return (tmp); +} + +#define BASE_AHB_TESTBUS_CAPTURE 0x00b00000 +int dut_v32_tx(unsigned int *outbuffer, unsigned int *inbufer, const unsigned long long bitnum) +{ -+ int inoffset = 0; ++ int inoffset; + unsigned long long indata = inbufer[0]; + unsigned long long indatabitnum = 32; -+ int remainbitnum = 0; -+ int len = 0; -+ int outoffset = 0; -+ unsigned long long tmp = 0; ++ int len; ++ int outoffset; + uint64_t inbuffer_len_valid_bit = INBUFFER_LEN_VALID_BIT; + uint64_t inbuffer_len = INBUFFER_LEN; + @@ -50510,15 +50831,22 @@ index 000000000000..e8eb8ec2fd08 + outoffset = len - 1; + do_div(inbuffer_len, 4); + -+ //printk("bitnum111=%016llx\n", bitnum); ++ /* pr_debug("bitnum111=%016llx\n", bitnum); */ + for (inoffset = 0; inoffset < inbuffer_len; inoffset++) { ++ unsigned long long tmp; ++ int remainbitnum; ++ + for (;;) { -+ //printk("bit = %08x, indata=%016llx, ((1<> bitnum); + indatabitnum -= bitnum; + if (indatabitnum < bitnum) { @@ -50530,6 +50858,7 @@ index 000000000000..e8eb8ec2fd08 + indata = indata | (tmp << remainbitnum); + indatabitnum = 32 + remainbitnum; + } ++ + return len * 4; +} + @@ -50548,12 +50877,12 @@ index 000000000000..e8eb8ec2fd08 + ASSERT(len > 0); + + for (;;) { -+ //printk("%s(%d) read addr=0x%4x, data_len=%d\n", __func__, __LINE__,BASE_AHB_TESTBUS_CAPTURE+addr+ a_cnt, MAX_SDIO_ACCESS_LEN); ++ //pr_debug("%s(%d) read addr=0x%4x, data_len=%d\n", __func__, __LINE__,BASE_AHB_TESTBUS_CAPTURE+addr+ a_cnt, MAX_SDIO_ACCESS_LEN); + if (sdio_base != ((BASE_AHB_TESTBUS_CAPTURE + addr + a_cnt) & 0xffff0000)) { + sdio_base = (BASE_AHB_TESTBUS_CAPTURE + addr + a_cnt) & 0xffff0000; + hif->hif_ops.hi_write_reg32(RG_SCFG_FUNC5_BADDR_A, + (unsigned long)(BASE_AHB_TESTBUS_CAPTURE + addr + a_cnt) & 0xffff0000); -+ printk("sdio base addr change ,sdio base addr=0x%08x\n", sdio_base); ++ pr_debug("sdio base addr change ,sdio base addr=0x%08x\n", sdio_base); + } + + if (remain <= MAX_SDIO_ACCESS_LEN) { @@ -50572,19 +50901,19 @@ index 000000000000..e8eb8ec2fd08 + } + } +#if 0 -+ printk("print data start\n"); ++ pr_debug("print data start\n"); + for ( i = 0; i < len ; i++) { -+ printk("0x%02x ", data[i]); ++ pr_debug("0x%02x ", data[i]); + if ( i %16 == 0 ) { -+ printk("\n"); ++ pr_debug("\n"); + } + } -+ printk("\n"); ++ pr_debug("\n"); +#endif + return 0; +} + -+void dut_set_tbus(int trigger) ++static void dut_set_tbus(int trigger) +{ + unsigned int read_tmp = 0; + struct hw_interface* hif = hif_get_hw_interface(); @@ -50616,15 +50945,15 @@ index 000000000000..e8eb8ec2fd08 + stopaddr = hw_if->hif_ops.hi_read_word(TBC_OFFSET_120); + if ( tmp == stopaddr ) { + do_gettimeofday(&t_end); -+ printk("used time %dus stopaddr=0x%08x, =%d\n", ++ pr_debug("used time %dus stopaddr=0x%08x, =%d\n", + _get_tv_us(&t_end, &t_start), stopaddr, i ); + break; + } + tmp = stopaddr; -+ //printk("stopaddr=0x%0x\n", stopaddr); ++ //pr_debug("stopaddr=0x%0x\n", stopaddr); + //msleep(5); + } -+ printk("stopaddr=0x%0x\n", stopaddr); ++ pr_debug("stopaddr=0x%0x\n", stopaddr); +#endif +} + @@ -50659,7 +50988,7 @@ index 000000000000..e8eb8ec2fd08 + g_test_gain = value & 0x3ff; + + new_get_reg(0x00a0810c, &chk_value); -+ printk("check gain 0x%x\n", chk_value); ++ pr_debug("check gain 0x%x\n", chk_value); +} + +int dut_start_capture(unsigned int value) @@ -50697,7 +51026,7 @@ index 000000000000..e8eb8ec2fd08 + dut_set_reg_frag(TBC_OFFSET_114 , 16, 12, trigger); + dut_set_reg_frag(TBC_OFFSET_114 , 8, 8, 1);// enable + -+ printk("start_capture: \ntmode 0x%08x, trg 0x%08x, trigger_delay_time=%d, test_bus=0x%08x\nphy100=0x%08x, phy114=0x%08x\n", ++ pr_debug("start_capture: \ntmode 0x%08x, trg 0x%08x, trigger_delay_time=%d, test_bus=0x%08x\nphy100=0x%08x, phy114=0x%08x\n", + test_mode, trigger, trigger_delay_time, test_bus, + hif->hif_ops.hi_read_word(TBC_OFFSET_100), + hif->hif_ops.hi_read_word(TBC_OFFSET_114)); @@ -50723,11 +51052,11 @@ index 000000000000..e8eb8ec2fd08 + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)) -+ printk("cap_log file %s\n", fp_path); ++ pr_debug("cap_log file %s\n", fp_path); + fp = filp_open(fp_path, O_RDWR | O_CREAT | O_APPEND | O_TRUNC, 0777); + + if (IS_ERR(fp)) { -+ printk("create file error/n"); ++ pr_err("create file error/n"); + return -1; + } +#endif @@ -50738,7 +51067,7 @@ index 000000000000..e8eb8ec2fd08 + + if (fp) { + filp_close(fp, NULL); -+ printk("close file and exit\n"); ++ pr_debug("close file and exit\n"); + } + + // return the capture buf to mac @@ -50784,16 +51113,16 @@ index 000000000000..e8eb8ec2fd08 +} + + -+//0:use sw stop 1:use hw stop ++/* 0:use sw stop 1:use hw stop */ +int dut_stop_tbus_to_get_sram(struct file *filep, int stop_ctrl, int save_file) +{ + #define HARDWARE_CONTROL 1 -+ unsigned int read_tmp = 0; -+ unsigned int stopaddr = 0; -+ unsigned int *pdata = 0; ++ unsigned int read_tmp; ++ unsigned int stopaddr; ++ unsigned int *pdata; + int len = 0; -+ unsigned int i = 0; -+ int cap_len = 0; ++ unsigned int i; ++ int cap_len; + int temp_addr = 0; + unsigned int stop_flag = 0; + int testbitwidth = 0; @@ -50809,7 +51138,7 @@ index 000000000000..e8eb8ec2fd08 + set_fs(KERNEL_DS); +#endif + -+ //cap_len = hif->hif_ops.hi_read_word(TBC_OFFSET_110); ++ /* cap_len = hif->hif_ops.hi_read_word(TBC_OFFSET_110); */ + cap_len = TBC_ADDR_END_OFFSET-TBC_ADDR_BEGIN_OFFSET; + read_tmp = hif->hif_ops.hi_read_word(TBC_OFFSET_114); + @@ -50852,8 +51181,6 @@ index 000000000000..e8eb8ec2fd08 + AML_OUTPUT("cap_len=0x%08x, stopaddr=0x%08x\n", cap_len, stopaddr); + dut_dump_data(TBC_ADDR_BEGIN_OFFSET, &readbuf[TBC_ADDR_END_OFFSET-stopaddr], stopaddr - TBC_ADDR_BEGIN_OFFSET); + -+ pdata = (unsigned int *)&readbuf[0]; -+ + AML_OUTPUT("testbitwidth=0x%08x\n", testbitwidth); + for (i = 0; i < (TBC_ADDR_END_OFFSET-TBC_ADDR_BEGIN_OFFSET); i += INBUFFER_LEN) { + len += dut_v32_tx((unsigned int *)&testbuf[len], (unsigned int *)&readbuf[i], testbitwidth); @@ -50888,18 +51215,17 @@ index 000000000000..e8eb8ec2fd08 + return 1; +} + -+//0:use sw stop 1:use hw stop ++/* 0:use sw stop 1:use hw stop */ +int iwp_stop_tbus_to_get_sram(unsigned char *buf) +{ -+ unsigned int read_tmp = 0; -+ unsigned int stopaddr = 0; -+ unsigned int *pdata = 0; ++ unsigned int read_tmp; ++ unsigned int stopaddr; ++ unsigned int *pdata; + int len = 0; -+ unsigned int i = 0; -+ int cap_len = 0; ++ unsigned int i; ++ int cap_len; + int temp_addr = 0; -+ int testbitwidth = 0; -+ ++ int testbitwidth; + struct hw_interface* hif = hif_get_hw_interface(); + + cap_len = TBC_ADDR_END_OFFSET-TBC_ADDR_BEGIN_OFFSET; @@ -50908,7 +51234,7 @@ index 000000000000..e8eb8ec2fd08 + testbitwidth = (read_tmp & 0x1f) + 1; + + read_tmp = hif->hif_ops.hi_read_word(TBC_OFFSET_114); -+ read_tmp = (read_tmp | (1 << 10) ); // tbc_stop ++ read_tmp = (read_tmp | (1 << 10) ); /* tbc_stop */ + hif->hif_ops.hi_write_word(TBC_OFFSET_114, read_tmp); + + stopaddr = hif->hif_ops.hi_read_word(TBC_OFFSET_120); @@ -50925,12 +51251,11 @@ index 000000000000..e8eb8ec2fd08 + return 0; + } + -+ hif->hif_ops.hi_write_word(TBC_RAM_SHARE, TBC_RAM_SHARE_MASK); //ram share enable -+ dut_dump_data(stopaddr, &readbuf[0], TBC_ADDR_END_OFFSET-stopaddr); ++ hif->hif_ops.hi_write_word(TBC_RAM_SHARE, TBC_RAM_SHARE_MASK); /* ram share enable */ ++ dut_dump_data(stopaddr, &readbuf[0], TBC_ADDR_END_OFFSET - stopaddr); + AML_OUTPUT("cap_len=0x%08x, stopaddr=0x%08x\n", cap_len, stopaddr); -+ dut_dump_data(TBC_ADDR_BEGIN_OFFSET, &readbuf[TBC_ADDR_END_OFFSET-stopaddr], stopaddr - TBC_ADDR_BEGIN_OFFSET); -+ -+ pdata = (unsigned int *)&readbuf[0]; ++ dut_dump_data(TBC_ADDR_BEGIN_OFFSET, &readbuf[TBC_ADDR_END_OFFSET - stopaddr], ++ stopaddr - TBC_ADDR_BEGIN_OFFSET); + + AML_OUTPUT("testbitwidth=0x%08x\n", testbitwidth); + for (i = 0; i < (TBC_ADDR_END_OFFSET-TBC_ADDR_BEGIN_OFFSET); i += INBUFFER_LEN) { @@ -50938,39 +51263,39 @@ index 000000000000..e8eb8ec2fd08 + } + + pdata = (unsigned int *)&testbuf[0]; -+ for (i = 0; i < 4096; i += 4) { -+ /*bit6:1 is csi data, 4096 can be changed as uplay buffer*/ ++ for (i = 0; i < 4096; i += 4) { ++ /* bit6:1 is csi data, 4096 can be changed as uplay buffer */ + *pdata = *pdata & 0x0000007e; + *buf = *pdata >> 1; + buf++; + pdata++; + } ++ + AML_OUTPUT("handle capture data complete\n"); + return 1; +} + -+ +unsigned char dut_set_reg_frag(int address, int bit_end, int bit_start, int value) +{ -+ unsigned int tmp = 0; ++ unsigned int tmp; + unsigned char error; -+ int bitwidth = bit_end-bit_start + 1; ++ int bitwidth = bit_end - bit_start + 1; + int max_value = (bitwidth == 32) ? -1 : ((1 << (bitwidth)) - 1); + + struct hw_interface* hif = hif_get_hw_interface(); + tmp = hif->hif_ops.hi_read_word(address); -+ //printk("tmp is 0x%x\n", tmp); ++ /* pr_debug("tmp is 0x%x\n", tmp); */ + + if ((bitwidth < 1) || (bit_start > 31) || (bit_end > 31)) { + while (1) { -+ printk("----------------->Set_RegFragment is halt.\n"); ++ pr_debug("----------------->Set_RegFragment is halt.\n"); + } + error = 1; + } else { + error = 0; -+ tmp &= ~(max_value << bit_start); // clear [bit_end: bit_start] ++ tmp &= ~(max_value << bit_start); /* clear [bit_end: bit_start] */ + tmp |= ((value&max_value) << bit_start); -+ //printk("addr 0x%x tmp2 is 0x%x\n", address, tmp); ++ /* pr_debug("addr 0x%x tmp2 is 0x%x\n", address, tmp); */ + hif->hif_ops.hi_write_word(address, tmp); + } + @@ -50979,32 +51304,30 @@ index 000000000000..e8eb8ec2fd08 + +int dut_bt_start_capture(unsigned int value) +{ -+ -+ unsigned int wf_bt_mode = 0; -+ struct hw_interface* hif = NULL; -+ ++ unsigned int wf_bt_mode; ++ struct hw_interface *hif; + int test_mode = value & 0x1; + int trigger = (value >> 4) & 0x1; + int test_bus = (value >> 8) & 0xff; + + wf_bt_mode = (value >> 31) & 0x1; + hif = hif_get_hw_interface(); -+ g_test_bus = test_bus; // for log file name ++ g_test_bus = test_bus; /* for log file name */ + -+ hif->hif_ops.hi_write_word(0x00a0b000, 0xffffffff); //phy clock mask ++ hif->hif_ops.hi_write_word(0x00a0b000, 0xffffffff); /* phy clock mask */ + test_bus = (0x01 << 24) | (test_bus << 16) | 0x0008; -+ hif->hif_ops.hi_write_word(TBC_OFFSET_100, test_bus);//test bus enable -+ hif->hif_ops.hi_write_word(TBC_OFFSET_108, 0x00000000);//valid -+ hif->hif_ops.hi_write_word(TBC_OFFSET_10C, 0x00020000);//config testbus capture address begin -+ hif->hif_ops.hi_write_word(TBC_OFFSET_110, TBC_ADDR_END_OFFSET);//config testbus capture address end -+ hif->hif_ops.hi_write_word(TBC_RAM_SHARE, 0xf000007f); //ram share enable ++ hif->hif_ops.hi_write_word(TBC_OFFSET_100, test_bus); /* test bus enable */ ++ hif->hif_ops.hi_write_word(TBC_OFFSET_108, 0x00000000); /* valid */ ++ hif->hif_ops.hi_write_word(TBC_OFFSET_10C, 0x00020000); /*config testbus capture address begin */ ++ hif->hif_ops.hi_write_word(TBC_OFFSET_110, TBC_ADDR_END_OFFSET); /* config testbus capture address end */ ++ hif->hif_ops.hi_write_word(TBC_RAM_SHARE, 0xf000007f); /* ram share enable */ + -+ hif->hif_ops.hi_write_word(TBC_OFFSET_114, 0x0000051c); //ram share enable ++ hif->hif_ops.hi_write_word(TBC_OFFSET_114, 0x0000051c); /* ram share enable */ + -+ printk("start_capture: \ntmode 0x%08x, trg 0x%08x, test_bus=0x%08x\nphy100=0x%08x, phy114=0x%08x\n", -+ test_mode, trigger, test_bus, -+ hif->hif_ops.hi_read_word(TBC_OFFSET_100), -+ hif->hif_ops.hi_read_word(TBC_OFFSET_114)); ++ pr_debug("start_capture: \ntmode 0x%08x, trg 0x%08x, test_bus=0x%08x\nphy100=0x%08x, phy114=0x%08x\n", ++ test_mode, trigger, test_bus, ++ hif->hif_ops.hi_read_word(TBC_OFFSET_100), ++ hif->hif_ops.hi_read_word(TBC_OFFSET_114)); + + return 0; +} @@ -51025,7 +51348,7 @@ index 000000000000..e8eb8ec2fd08 + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)) -+ printk("cap_log file %s\n", fp_path); ++ pr_debug("cap_log file %s\n", fp_path); + fp = filp_open(fp_path,O_RDWR | O_CREAT | O_APPEND | O_TRUNC, 0777); + + if (IS_ERR(fp)) { @@ -51034,12 +51357,11 @@ index 000000000000..e8eb8ec2fd08 + } +#endif + -+ + dut_stop_tbus_to_get_sram(fp, 0, 1); + + if (fp) { + filp_close(fp, NULL); -+ printk("close file and exit\n"); ++ pr_debug("close file and exit\n"); + } + + g_test_bus = 0; @@ -51052,35 +51374,35 @@ index 000000000000..e8eb8ec2fd08 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_capture.h b/drivers/net/wireless/w1/vmac/wifi_drv_capture.h new file mode 100644 -index 000000000000..e3ac3e35defe +index 0000000000000000000000000000000000000000..376eabdde7f328e24a23b62343f3cc7014116304 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_capture.h @@ -0,0 +1,22 @@ -+#ifndef __WIFI_DEV_CAPTURE_H -+#define __WIFI_DEV_CAPTURE_H -+#include "wifi_hal_com.h" -+ -+#define TESTBUSBUF_LEN 0x8000 -+ -+int dut_start_capture(unsigned int value); -+int dut_stop_capture(void); -+ -+//0:use sw stop 1:use hw stop -+int dut_stop_tbus_to_get_sram(struct file *filep, int stop_ctrl, int save_file); -+unsigned char dut_set_reg_frag(int address, int bit_end, int bit_start, int value); -+int dut_bt_start_capture(unsigned int value ); -+int dut_bt_stop_capture(void); -+unsigned int dut_get_reg_frag(int address, int high_bit, int low_bit); -+int dut_v32_tx(unsigned int *outbuffer, unsigned int *inbufer, const unsigned long long bitnum); -+int dut_dump_data(unsigned int addr, unsigned char *data, int len); -+void dut_set_bcap_log_name(unsigned int value); -+void dut_set_gain(unsigned int value); -+int iwp_stop_tbus_to_get_sram(unsigned char *buf); -+ -+#endif ++#ifndef __WIFI_DEV_CAPTURE_H ++#define __WIFI_DEV_CAPTURE_H ++#include "wifi_hal_com.h" ++ ++#define TESTBUSBUF_LEN 0x8000 ++ ++int dut_start_capture(unsigned int value); ++int dut_stop_capture(void); ++ ++//0:use sw stop 1:use hw stop ++int dut_stop_tbus_to_get_sram(struct file *filep, int stop_ctrl, int save_file); ++unsigned char dut_set_reg_frag(int address, int bit_end, int bit_start, int value); ++int dut_bt_start_capture(unsigned int value ); ++int dut_bt_stop_capture(void); ++unsigned int dut_get_reg_frag(int address, int high_bit, int low_bit); ++int dut_v32_tx(unsigned int *outbuffer, unsigned int *inbufer, const unsigned long long bitnum); ++int dut_dump_data(unsigned int addr, unsigned char *data, int len); ++void dut_set_bcap_log_name(unsigned int value); ++void dut_set_gain(unsigned int value); ++int iwp_stop_tbus_to_get_sram(unsigned char *buf); ++ ++#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_config.c b/drivers/net/wireless/w1/vmac/wifi_drv_config.c new file mode 100644 -index 000000000000..b6c89f7e239b +index 0000000000000000000000000000000000000000..1d7c624d23dda483b19cbeeff2da2481f81f50d5 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_config.c @@ -0,0 +1,449 @@ @@ -51111,7 +51433,7 @@ index 000000000000..b6c89f7e239b + struct drv_private *drv_priv = ( struct drv_private *)dev; + struct hal_private* hal_priv = hal_get_priv(); + -+ printk("%s(%d) id 0x%x data 0x%x\n", __func__, __LINE__, id, data); ++ pr_debug("%s(%d) id 0x%x data 0x%x\n", __func__, __LINE__, id, data); + + switch (id) { + case CHIP_PARAM_TXCHAINMASK: @@ -51135,28 +51457,28 @@ index 000000000000..b6c89f7e239b + break; + + case CHIP_PARAM_AMPDU: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + drv_priv->drv_config.cfg_txaggr = data; + drv_priv->drv_config.cfg_rxaggr = data; + break; + + case CHIP_PARAM_AMPDU_RX: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + drv_priv->drv_config.cfg_rxaggr = data; + break; + + case CHIP_PARAM_AMPDU_LIMIT: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + drv_priv->drv_config.cfg_ampdu_limit = data; + break; + + case CHIP_PARAM_AMPDU_SUBFRAMES: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + drv_priv->drv_config.cfg_ampdu_subframes = data; + break; + + case CHIP_PARAM_AGGR_PROT: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + drv_priv->drv_config.cfg_aggr_prot = data; + break; + @@ -51165,12 +51487,12 @@ index 000000000000..b6c89f7e239b + break; + + case CHIP_PARAM_BURST_ACK: -+ printk(" %s %d CHIP_PARAM_BURST_ACK\n",__func__,__LINE__); ++ pr_debug(" %s %d CHIP_PARAM_BURST_ACK\n",__func__,__LINE__); + drv_priv->drv_config.cfg_burst_ack = data; + break; + + case CHIP_PARAM_ACK_POLICY: -+ printk(" %s %d CHIP_PARAM_ACK_POLICY\n",__func__,__LINE__); ++ pr_debug(" %s %d CHIP_PARAM_ACK_POLICY\n",__func__,__LINE__); + drv_priv->drv_config.cfg_ampduackpolicy= data; + break; + @@ -51233,7 +51555,7 @@ index 000000000000..b6c89f7e239b + break; + + case CHIP_PARAM_SHORTPREAMBLE: -+ printk("%s(%d),Before set short preamble.\n\n",__func__,__LINE__); ++ pr_debug("%s(%d),Before set short preamble.\n\n",__func__,__LINE__); + drv_priv->drv_config.cfg_shortpreamble = data; + break; + @@ -51287,27 +51609,27 @@ index 000000000000..b6c89f7e239b + break; + + case CHIP_PARAM_AMPDU: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + supported = drv_priv->drv_config.cfg_txaggr; + break; + + case CHIP_PARAM_AMPDU_RX: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + supported = drv_priv->drv_config.cfg_rxaggr; + break; + + case CHIP_PARAM_AMPDU_LIMIT: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + supported = drv_priv->drv_config.cfg_ampdu_limit; + break; + + case CHIP_PARAM_AMPDU_SUBFRAMES: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + supported = drv_priv->drv_config.cfg_ampdu_subframes; + break; + + case CHIP_PARAM_AGGR_PROT: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + supported = drv_priv->drv_config.cfg_aggr_prot; + break; + @@ -51407,7 +51729,7 @@ index 000000000000..b6c89f7e239b + return supported; +} + -+unsigned int process_drv_cfg_content(char *varbuf, unsigned int len) ++static unsigned int process_drv_cfg_content(char *varbuf, unsigned int len) +{ + char *dp; + bool findNewline; @@ -51456,7 +51778,7 @@ index 000000000000..b6c89f7e239b + +extern unsigned char get_s16_item(char *varbuf, int len, char *item, short *item_value); +extern unsigned char get_s8_item(char *varbuf, int len, char *item, char *item_value); -+unsigned char parse_drv_cfg_param(char *varbuf, int len) ++static unsigned char parse_drv_cfg_param(char *varbuf, int len) +{ + struct drv_private *drv_priv = drv_get_drv_priv(); + @@ -51535,7 +51857,7 @@ index 000000000000..b6c89f7e239b +} diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_config.h b/drivers/net/wireless/w1/vmac/wifi_drv_config.h new file mode 100644 -index 000000000000..039ef3bebff5 +index 0000000000000000000000000000000000000000..039ef3bebff5d3380090fa56ca44cee3f9e1814f --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_config.h @@ -0,0 +1,169 @@ @@ -51710,10 +52032,10 @@ index 000000000000..039ef3bebff5 +#endif // _AUTO_CONFIG_H diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_if.c b/drivers/net/wireless/w1/vmac/wifi_drv_if.c new file mode 100644 -index 000000000000..b788eddb7e24 +index 0000000000000000000000000000000000000000..4e28aa3072838f6f07ce658151575262c5bcb131 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_if.c -@@ -0,0 +1,446 @@ +@@ -0,0 +1,451 @@ +/* + **************************************************************************************** + * @@ -51744,7 +52066,7 @@ index 000000000000..b788eddb7e24 + hal_priv->dhcp_offload = dhcp_offload; + hal_priv->hal_ops.hal_init(drv_priv); + drv_hal_workitem_inital(); -+ return ; ++ return; +} + +int drv_hal_detach(void) @@ -51753,7 +52075,7 @@ index 000000000000..b788eddb7e24 + + hal_priv->hal_ops.hal_exit(); + drv_hal_workitem_free(); -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + return 0; +} + @@ -51771,7 +52093,7 @@ index 000000000000..b788eddb7e24 +void drv_hal_setupratetable(struct drv_rate_table *rt) +{ + int i; -+ unsigned char code, cix; ++ unsigned char code; + + if (rt->dot11rate_to_idx[0] != 0) + { @@ -51782,6 +52104,8 @@ index 000000000000..b788eddb7e24 + memset( rt->dot11rate_to_idx, 0xff, sizeof(rt->dot11rate_to_idx)); + for (i = 0; i < rt->rateCount; i++) + { ++ unsigned char cix; ++ + if ((rt->info[i].phy == CCK) || (rt->info[i].phy == WOFDM)) + { + code = WIFINET_GET_RATE_VAL (rt->info[i].dot11Rate); @@ -51993,7 +52317,7 @@ index 000000000000..b788eddb7e24 + unsigned short rateix, + int shortPreamble) +{ -+ unsigned int bitsPerSymbol, numBits, numSymbols, phyTime, txTime; ++ unsigned int numBits, phyTime, txTime; + unsigned int kbps; + + kbps = rates->info[rateix].rateKbps; @@ -52015,6 +52339,8 @@ index 000000000000..b788eddb7e24 + + case WIFINET_T_OFDM: + { ++ unsigned int bitsPerSymbol, numSymbols; ++ + /* full rate channel */ + bitsPerSymbol = (kbps * OFDM_SYMBOL_TIME) / 1000; + @@ -52048,13 +52374,14 @@ index 000000000000..b788eddb7e24 +drv_hal_workitem_task(SYS_TYPE iparam) +{ + struct hal_private *hal_priv = hal_get_priv(); -+ unsigned short STATUS; + unsigned char *EltPtr =NULL; + struct _CO_SHARED_FIFO* pWorkFifo = &hal_priv->WorkFifo; + struct hal_work_task *pWorkTask = NULL; + + while (CO_SharedFifoEmpty(pWorkFifo, CO_WORK_FREE)) + { ++ unsigned short STATUS; ++ + STATUS = CO_SharedFifoGet(pWorkFifo, CO_WORK_FREE, 1, &EltPtr); + ASSERT(STATUS == CO_STATUS_OK); + pWorkTask = (struct hal_work_task *)EltPtr; @@ -52107,7 +52434,7 @@ index 000000000000..b788eddb7e24 + task_repeat++; + + if ((task_repeat % 10) == 0) { -+ printk("task is %p\n", task); ++ pr_debug("task is %p\n", task); + task_repeat = 0; + } + @@ -52148,12 +52475,12 @@ index 000000000000..b788eddb7e24 + CO_SharedFifoInit(&hal_priv->WorkFifo, (SYS_TYPE)hal_priv->WorkFifoBuf, (void *)hal_priv->WorkFifoBuf, + WORK_ITEM_NUM, sizeof(struct hal_work_task), CO_SF_WORK_NBR); + -+ printk("%s hal_priv->WorkFifo:%p\n", __func__, &hal_priv->WorkFifo); ++ pr_debug("%s hal_priv->WorkFifo:%p\n", __func__, &hal_priv->WorkFifo); + res = (SYS_TYPE)hal_priv->hal_ops.hal_reg_task(drv_hal_workitem_task); + + if (res < 0) { + ASSERT(0); -+ printk("WorkFifo_task_id error !\n"); ++ pr_err("WorkFifo_task_id error !\n"); + } else { + hal_priv->WorkFifo_task_id = res; + } @@ -52162,7 +52489,7 @@ index 000000000000..b788eddb7e24 + diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_if.h b/drivers/net/wireless/w1/vmac/wifi_drv_if.h new file mode 100644 -index 000000000000..ec031a49edf6 +index 0000000000000000000000000000000000000000..4e3357e58bcb56e06e543822b43e5d2492e03b5e --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_if.h @@ -0,0 +1,528 @@ @@ -52205,7 +52532,7 @@ index 000000000000..ec031a49edf6 +#define HAL_RATECTRL_TX_SEND_SUCCESS 0X800 +#define HAL_RATECTRL_USE_SAMPLE_RATE 0X1000 + -+#define HAL_BEACON_PERIOD 0x0000ffff /* beacon interval period */ ++#define HAL_BEACON_PERIOD 0x0001ffff /* beacon interval period */ +#define WLAN_CTRL_FRAME_SIZE 14 /* ACK+FCS */ +#define CO_WORK_GET 0 +#define CO_WORK_FREE 1 @@ -52491,8 +52818,8 @@ index 000000000000..ec031a49edf6 + struct hal_private* hal_priv = hal_get_priv(); + + if (hal_priv->dhcp_offload == 1) { -+ printk("NOTICE: DHCP OFFLOAD function is enabled, caller must ensure upper layer's dhcp module is closed.\n"); -+ printk("Because under this situation, the FW will handle the dhcp pkts and never transmit to driver.\n"); ++ pr_notice("NOTICE: DHCP OFFLOAD function is enabled, caller must ensure upper layer's dhcp module is closed.\n"); ++ pr_notice("Because under this situation, the FW will handle the dhcp pkts and never transmit to driver.\n"); + DPRINTF(AML_DEBUG_HAL, "%s %d: ip %03d.%03d.%03d.%03d\n",__func__,__LINE__, + (ip >> 24) & 0xff, (ip >> 16) & 0xff, (ip >> 8) & 0xff, ip & 0xff); + hal_priv->hal_ops.phy_set_dhcp(wnet_vif_id, ip); @@ -52696,10 +53023,10 @@ index 000000000000..ec031a49edf6 + diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_main.c b/drivers/net/wireless/w1/vmac/wifi_drv_main.c new file mode 100644 -index 000000000000..abeda5f1221a +index 0000000000000000000000000000000000000000..b7b169b3fa336ad88ad455884b83573319d65d40 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_main.c -@@ -0,0 +1,2483 @@ +@@ -0,0 +1,2544 @@ +/* + **************************************************************************************** + * @@ -52708,7 +53035,7 @@ index 000000000000..abeda5f1221a + * Project: 11N 80211 driver layer Software + * + * Description: -+ * This file contains the main implementation of the DRIVER layer. Most member ++ * This file contains the main implementation of the DRIVER layer. Most member + * functions of the DRIVER layer are defined here. + * + * @@ -52716,6 +53043,7 @@ index 000000000000..abeda5f1221a + */ +#include +#include ++#include +#include + +#include "wifi_drv_power.h" @@ -52736,11 +53064,10 @@ index 000000000000..abeda5f1221a +#include "wifi_mac_tx_reg.h" +#include "wifi_mac_xmit.h" + -+ +const unsigned char drv_bcast_mac[WIFINET_ADDR_LEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; + -+static unsigned int drv_phy_reg_sta_id( struct drv_private *drv_priv, -+ unsigned char wnet_vif_id,unsigned short StaAid, unsigned char *pMac, unsigned char encrypt); ++static unsigned int drv_phy_reg_sta_id(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned short StaAid, unsigned char *pMac, unsigned char encrypt); + +static struct drv_private drv_priv; + @@ -52750,15 +53077,13 @@ index 000000000000..abeda5f1221a +extern int hal_tx_flush(unsigned char vid); +extern unsigned char wifi_hal_probe_done; + -+ -+struct drv_private* drv_get_drv_priv(void) ++struct drv_private *drv_get_drv_priv(void) +{ + return &drv_priv; +} + +int drv_rate_setup(struct drv_private *drv_priv, enum wifi_mac_macmode mode) +{ -+ + struct drv_rate_table *rt = drv_hal_get_rate_tbl(mode); + + if (rt == NULL) @@ -52767,13 +53092,13 @@ index 000000000000..abeda5f1221a + return 0; + } + -+ //do rate index and vendor_rate_code mapping. ++ /* do rate index and vendor_rate_code mapping. */ + drv_hal_setupratetable(rt); + DRV_MINSTREL_LOCK_INIT(drv_priv); + drv_priv->drv_currratetable = rt; -+ drv_priv->drv_protect_rateindex = 0; ++ drv_priv->drv_protect_rateindex = 0; + -+ //do rate index and dot11Code mapping. ++ /* do rate index and dot11Code mapping. */ + if (drv_priv->net_ops->wifi_mac_rate_init) + { + drv_priv->net_ops->wifi_mac_rate_init(drv_priv->wmac, mode, rt); @@ -52781,20 +53106,16 @@ index 000000000000..abeda5f1221a + return 1; +} + -+ -+ -+static void -+drv_set_cfg_tx_power_limit( struct drv_private *drv_priv, -+ unsigned short cfg_txpowlimit) ++static void drv_set_cfg_tx_power_limit(struct drv_private *drv_priv, ++ unsigned short cfg_txpowlimit) +{ -+ + drv_priv->drv_config.cfg_txpowlimit = cfg_txpowlimit; +} + +void +drv_update_tx_pwr(struct drv_private *drv_priv, unsigned short txpowerdb) +{ -+ unsigned int txpow = 0, cfg_txpowlimit = 0; ++ unsigned int txpow = 0, cfg_txpowlimit; + + cfg_txpowlimit = drv_priv->drv_config.cfg_txpowlimit; + @@ -52803,22 +53124,21 @@ index 000000000000..abeda5f1221a + drv_priv->drv_curtxpower = txpow; + } + -+ + txpow = IW_MAX_TXPOWER; + if (drv_priv->net_ops->wifi_mac_update_txpower) + drv_priv->net_ops->wifi_mac_update_txpower(drv_priv->wmac, + drv_priv->drv_curtxpower, txpow); +} + -+static void -+drv_assoc_proc( struct drv_private *drv_priv, -+ void * nsta, int isnew, int b_uapsd) ++static void drv_assoc_proc(struct drv_private *drv_priv, void *nsta, ++ int isnew, int b_uapsd) +{ + struct aml_driver_nsta *drv_sta = DRIVER_NODE(nsta); -+ int tid_index; + + if (!isnew) + { ++ int tid_index; ++ + for (tid_index = 0; tid_index < WME_NUM_TID; tid_index++) + { + if (drv_priv->drv_config.cfg_txaggr) @@ -52831,21 +53151,22 @@ index 000000000000..abeda5f1221a + } + } + } ++ + drv_sta->sta_cleanup = 0; + drv_sta->sta_powesave = 0; + drv_sta->sta_isuapsd = 0; -+ drv_sta->sta_isuapsd = b_uapsd ; ++ drv_sta->sta_isuapsd = b_uapsd ; +} + +int drv_channel_init(struct drv_private *drv_priv, unsigned int cc) +{ -+ unsigned int wMode; -+ -+ wMode = drv_priv->drv_config.cfg_modesupport; -+ printk("%s %d \n",__func__,__LINE__); ++ pr_debug("%s %d \n",__func__,__LINE__); + if (drv_priv->net_ops->wifi_mac_setup_channel_list) + { -+ drv_priv->net_ops->wifi_mac_setup_channel_list(drv_priv->wmac, wMode,cc); ++ unsigned int wMode; ++ ++ wMode = drv_priv->drv_config.cfg_modesupport; ++ drv_priv->net_ops->wifi_mac_setup_channel_list(drv_priv->wmac, wMode, cc); + } + + return 0; @@ -52866,73 +53187,75 @@ index 000000000000..abeda5f1221a + aml_enable_wifi(); +} + -+static void drv_scan_start_ex( SYS_TYPE param1,SYS_TYPE param2, -+ SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) ++static void drv_scan_start_ex(SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, ++ SYS_TYPE param5) +{ + struct drv_private *drv_priv = (struct drv_private *)param1; -+ unsigned int data = 0; ++ unsigned int data; + -+ if(drv_priv->drv_scanning == 0) ++ if (drv_priv->drv_scanning == 0) + { + driv_ps_wakeup(drv_priv); + } + drv_priv->drv_scanning = 1; + data = drv_priv->stop_noa_flag << 8 | drv_priv->drv_scanning; + drv_hal_scancmd(data); -+ //sleep at scan end -+ // driv_ps_sleep(drv_priv); -+ ++ /* sleep at scan end */ ++ /* driv_ps_sleep(drv_priv); */ +} + -+static void drv_scan_start( struct drv_private *drv_priv) ++static void drv_scan_start(struct drv_private *drv_priv) +{ -+ drv_hal_add_workitem((WorkHandler)drv_scan_start_ex, NULL, (SYS_TYPE)drv_priv, 0, 0, 0, 0); ++ drv_hal_add_workitem((WorkHandler)drv_scan_start_ex, NULL, ++ (SYS_TYPE)drv_priv, 0, 0, 0, 0); +} + -+static void drv_fw_recovery( struct drv_private *drv_priv) ++static void drv_fw_recovery(struct drv_private *drv_priv) +{ + aml_w1_fw_recovery(); +} + -+ +static void -+drv_scan_end_ex( SYS_TYPE param1,SYS_TYPE param2,SYS_TYPE param3, -+ SYS_TYPE param4,SYS_TYPE param5) ++drv_scan_end_ex(SYS_TYPE param1, SYS_TYPE param2, SYS_TYPE param3, ++ SYS_TYPE param4, SYS_TYPE param5) +{ + struct drv_private *drv_priv = (struct drv_private *)param1; + unsigned char prescanning = drv_priv->drv_scanning; -+ unsigned int data = 0; -+ //wakeup at scan start -+ // driv_ps_wakeup(drv_priv); ++ unsigned int data; ++ ++ /* wakeup at scan start */ ++ /* driv_ps_wakeup(drv_priv); */ + drv_priv->drv_scanning = 0; + data = drv_priv->stop_noa_flag << 8 | drv_priv->drv_scanning; + drv_hal_scancmd(data); -+ if(prescanning == 1) ++ ++ if (prescanning == 1) + { + driv_ps_sleep(drv_priv); + } +} + -+static void -+drv_scan_end( struct drv_private *drv_priv) ++static void drv_scan_end(struct drv_private *drv_priv) +{ + drv_hal_add_workitem((WorkHandler)drv_scan_end_ex, -+ NULL, (SYS_TYPE)drv_priv, 0, 0, 0, 0); ++ NULL, (SYS_TYPE)drv_priv, 0, 0, 0, 0); +} + +unsigned char print_ctl = 0; +extern unsigned char print_type; -+static void drv_print_fwlog_ex( SYS_TYPE param1,SYS_TYPE param2,SYS_TYPE param3, -+ SYS_TYPE param4,SYS_TYPE param5) ++ ++static void drv_print_fwlog_ex(SYS_TYPE param1, SYS_TYPE param2, SYS_TYPE param3, ++ SYS_TYPE param4, SYS_TYPE param5) +{ -+ unsigned char* logbuf_ptr = (unsigned char *)param1; ++ unsigned char *logbuf_ptr = (unsigned char *)param1; + int databyte = (int)param2; -+ unsigned char new_string[64] = {0}; ++ unsigned char new_string[64] = { 0 }; + int i = 0; + -+ if (print_type == 1) //auto ++ if (print_type == 1) /* auto */ + { -+ /*rotate print*/ ++ /* rotate print */ + print_ctl = print_ctl ^ 1; + databyte = databyte >> 1; + if (print_ctl == 0) @@ -52944,6 +53267,7 @@ index 000000000000..abeda5f1221a + /* print process */ + AML_OUTPUT("logbuf_ptr 0x%x\n", logbuf_ptr); + AML_OUTPUT("fw_log:\n"); ++ + while (databyte--) + { + if ((*logbuf_ptr == '\n') || (i == 63)) { @@ -52958,6 +53282,7 @@ index 000000000000..abeda5f1221a + + logbuf_ptr++; + } ++ + /* exit the loop and need to print the remaining characters */ + AML_OUTPUT("%s", new_string); + @@ -52967,12 +53292,13 @@ index 000000000000..abeda5f1221a +static void drv_print_fwlog(unsigned char *logbuf_ptr, int databyte) +{ + drv_hal_add_workitem((WorkHandler)drv_print_fwlog_ex, -+ NULL, (SYS_TYPE)logbuf_ptr, (SYS_TYPE)databyte, 0, 0, 0); ++ NULL, (SYS_TYPE)logbuf_ptr, (SYS_TYPE)databyte, ++ 0, 0, 0); +} + +static void -+drv_connect_start_ex( SYS_TYPE param1,SYS_TYPE param2, -+ SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) ++drv_connect_start_ex(SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, SYS_TYPE param5) +{ + struct drv_private *drv_priv = (struct drv_private *)param1; + @@ -52983,84 +53309,93 @@ index 000000000000..abeda5f1221a + drv_priv->drv_connetting = 1; +} + -+ -+ +static void -+drv_connect_end_ex( SYS_TYPE param1,SYS_TYPE param2, -+ SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) ++drv_connect_end_ex(SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, SYS_TYPE param5) +{ + struct drv_private *drv_priv = (struct drv_private *)param1; + -+ unsigned char preconnetting = drv_priv->drv_connetting ; ++ unsigned char preconnetting = drv_priv->drv_connetting; ++ ++ drv_priv->drv_connetting = 0; + -+ drv_priv->drv_connetting = 0 ; -+ if(preconnetting == 1) ++ if (preconnetting == 1) + { + driv_ps_sleep(drv_priv); + + } -+ +} ++ +static void -+drv_connect_start( struct drv_private *drv_priv) ++drv_connect_start(struct drv_private *drv_priv) +{ + drv_hal_add_workitem((WorkHandler)drv_connect_start_ex, -+ NULL, (SYS_TYPE)drv_priv, 0, 0, 0, 0); ++ NULL, (SYS_TYPE)drv_priv, 0, 0, 0, 0); +} + +static void -+drv_connect_end( struct drv_private *drv_priv) ++drv_connect_end(struct drv_private *drv_priv) +{ + drv_hal_add_workitem((WorkHandler)drv_connect_end_ex, -+ NULL, (SYS_TYPE)drv_priv, 0, 0, 0, 0); ++ NULL, (SYS_TYPE)drv_priv, 0, 0, 0, 0); +} + -+static void drv_set_channel_rssi_ex( SYS_TYPE param1,SYS_TYPE param2,SYS_TYPE param3, SYS_TYPE param4,SYS_TYPE param5) ++static void drv_set_channel_rssi_ex(SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, ++ SYS_TYPE param5) +{ -+ struct hal_private* hal_priv = hal_get_priv(); ++ struct hal_private *hal_priv = hal_get_priv(); + + hal_priv->hal_ops.phy_set_channel_rssi(param1); +} + -+ -+static void drv_set_channel_rssi( struct drv_private *drv_priv, unsigned char rssi) ++static void drv_set_channel_rssi(struct drv_private *drv_priv, unsigned char rssi) +{ + static unsigned char pre_rssi = 0; + + if (pre_rssi != rssi) { + pre_rssi = rssi; -+ drv_hal_add_workitem((WorkHandler)drv_set_channel_rssi_ex, NULL, (SYS_TYPE)rssi, 0, 0, 0, 0); ++ drv_hal_add_workitem((WorkHandler)drv_set_channel_rssi_ex, NULL, ++ (SYS_TYPE)rssi, 0, 0, 0, 0); + } +} + -+static void drv_set_tx_power_accord_rssi_ex( SYS_TYPE param1,SYS_TYPE param2,SYS_TYPE param3, SYS_TYPE param4,SYS_TYPE param5) ++static void drv_set_tx_power_accord_rssi_ex(SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, ++ SYS_TYPE param5) +{ -+ struct hal_private* hal_priv = hal_get_priv(); ++ struct hal_private *hal_priv = hal_get_priv(); + + hal_priv->hal_ops.phy_set_tx_power_accord_rssi(param1, param2, param3, param4); +} + -+ -+static void drv_set_tx_power_accord_rssi( struct drv_private *drv_priv, struct hal_channel *hchan, unsigned char rssi, unsigned char power_mode) ++static void drv_set_tx_power_accord_rssi(struct drv_private *drv_priv, ++ struct hal_channel *hchan, unsigned char rssi, ++ unsigned char power_mode) +{ -+ drv_hal_add_workitem((WorkHandler)drv_set_tx_power_accord_rssi_ex, NULL, (SYS_TYPE)hchan->chan_bw, (SYS_TYPE)hchan->channel, (SYS_TYPE)rssi, (SYS_TYPE)power_mode, 0); ++ drv_hal_add_workitem((WorkHandler)drv_set_tx_power_accord_rssi_ex, NULL, ++ (SYS_TYPE)hchan->chan_bw, (SYS_TYPE)hchan->channel, ++ (SYS_TYPE)rssi, (SYS_TYPE)power_mode, 0); +} + -+static void drv_cfg_txpwr_cffc_param_ex(SYS_TYPE param1,SYS_TYPE param2,SYS_TYPE param3, SYS_TYPE param4,SYS_TYPE param5) ++static void drv_cfg_txpwr_cffc_param_ex(SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, ++ SYS_TYPE param5) +{ -+ struct hal_private* hal_priv = hal_get_priv(); ++ struct hal_private *hal_priv = hal_get_priv(); + + hal_priv->hal_ops.hal_cfg_txpwr_cffc_param((void*)param1, (void*)param2); +} + -+static void drv_cfg_txpwr_cffc_param(struct wifi_channel * chan, struct tx_power_plan * txpwr_plan) ++static void drv_cfg_txpwr_cffc_param(struct wifi_channel *chan, ++ struct tx_power_plan *txpwr_plan) +{ -+ drv_hal_add_workitem((WorkHandler)drv_cfg_txpwr_cffc_param_ex, NULL, (SYS_TYPE)chan, (SYS_TYPE)txpwr_plan, 0, 0, 0); ++ drv_hal_add_workitem((WorkHandler)drv_cfg_txpwr_cffc_param_ex, NULL, ++ (SYS_TYPE)chan, (SYS_TYPE)txpwr_plan, 0, 0, 0); +} + -+ -+static void -+drv_set_channel( struct drv_private *drv_priv, struct hal_channel *hchan, unsigned char flag, unsigned char vid, unsigned char opmode) ++static void drv_set_channel(struct drv_private *drv_priv, struct hal_channel *hchan, ++ unsigned char flag, unsigned char vid, unsigned char opmode) +{ +#ifdef RF_T9026 + struct hal_private* hal_priv = hal_get_priv(); @@ -53081,7 +53416,7 @@ index 000000000000..abeda5f1221a + drv_priv->drv_curchannel = *hchan; + + DPRINTF(AML_DEBUG_SCAN, "%s (%d): channel_freq %d pchan_num %d cchan_num %d chan_bw %d\n", -+ __func__, __LINE__, hchan->channel, hchan->pchan_num, hchan->cchan_num, hchan->chan_bw); ++ __func__, __LINE__, hchan->channel, hchan->pchan_num, hchan->cchan_num, hchan->chan_bw); + } + driv_ps_sleep(drv_priv); +#ifdef RF_T9026 @@ -53089,7 +53424,8 @@ index 000000000000..abeda5f1221a +#endif +} + -+static int drv_set_bssid(struct drv_private *drv_priv, unsigned char wnet_vif_id,unsigned char *bssid) ++static int drv_set_bssid(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned char *bssid) +{ + int err; + struct hal_private* hal_priv = hal_get_priv(); @@ -53102,7 +53438,8 @@ index 000000000000..abeda5f1221a + return err; +} + -+static void drv_set_mac_addr( struct drv_private *drv_priv, unsigned char wnet_vif_id, unsigned char *macaddr) ++static void drv_set_mac_addr(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned char *macaddr) +{ + driv_ps_wakeup(drv_priv); + drv_hal_setmac(wnet_vif_id, macaddr); @@ -53113,7 +53450,7 @@ index 000000000000..abeda5f1221a +drv_bcn_init( struct drv_private *drv_priv, const unsigned char wnet_vif_id, + unsigned int _bperiod) +{ -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + driv_ps_wakeup(drv_priv); + drv_hal_beaconinit( wnet_vif_id, _bperiod); + driv_ps_sleep(drv_priv); @@ -53122,37 +53459,40 @@ index 000000000000..abeda5f1221a +drv_set_bcn_start( struct drv_private *drv_priv, unsigned char wnet_vif_id, + unsigned short intval, unsigned char dtim_count,unsigned short bsstype) +{ -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + driv_ps_wakeup(drv_priv); + drv_hal_set_bcn_start( wnet_vif_id, intval, dtim_count, bsstype); + driv_ps_sleep(drv_priv); +} + +static void -+drv_put_bcn_buf( struct drv_private *drv_priv, unsigned char wnet_vif_id, -+ unsigned char *pBeacon, unsigned short len,unsigned char Rate,unsigned short Flag) ++drv_put_bcn_buf(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned char *pBeacon, unsigned short len, ++ unsigned char Rate, unsigned short Flag) +{ -+ //printk(" %s %d \n",__func__,__LINE__); ++ /* pr_debug(" %s %d \n",__func__,__LINE__); */ + driv_ps_wakeup(drv_priv); -+ drv_hal_put_bcn_buf(wnet_vif_id,pBeacon, len, Rate, Flag); ++ drv_hal_put_bcn_buf(wnet_vif_id, pBeacon, len, Rate, Flag); + driv_ps_sleep(drv_priv); +} + +static int +drv_hal_set_p2p_opps_cwend_enable(struct drv_private *drv_priv, -+ unsigned char vid, unsigned char p2p_oppps_cw) ++ unsigned char vid, unsigned char p2p_oppps_cw) +{ -+ + DPRINTF(AML_DEBUG_HAL, "%s %d vid=%d p2p_oppps_cw=%xTU\n", -+ __func__,__LINE__,vid, p2p_oppps_cw); ++ __func__,__LINE__,vid, p2p_oppps_cw); + return drv_priv->hal_priv->hal_ops.phy_set_p2p_opps_cwend_enable(vid, p2p_oppps_cw); +} ++ +static int -+drv_hal_set_p2p_noa_enable(struct drv_private *drv_priv, -+ unsigned char vid,unsigned int duration, unsigned int interval, -+ unsigned int starttime, unsigned char count,unsigned char flag) ++drv_hal_set_p2p_noa_enable(struct drv_private *drv_priv, unsigned char vid, ++ unsigned int duration, unsigned int interval, ++ unsigned int starttime, unsigned char count, ++ unsigned char flag) +{ + unsigned char lflag = 0; ++ + DPRINTF(AML_DEBUG_HAL, "%s %d vid=%d count=%d\n", __func__,__LINE__, vid, count); + if (flag & P2P_NOA_START_MATCH_BEACON_HI) + { @@ -53163,7 +53503,8 @@ index 000000000000..abeda5f1221a + lflag |= P2P_NOA_END_MATCH_BEACON; + } + return drv_priv->hal_priv->hal_ops.phy_set_p2p_noa_enable(vid, duration, -+ interval, starttime, count, lflag); ++ interval, starttime, ++ count, lflag); +} +static unsigned long long +drv_hal_get_tsf(struct drv_private *drv_priv, unsigned char vid) @@ -53173,118 +53514,120 @@ index 000000000000..abeda5f1221a +} + +static int drv_send_null_data(struct drv_private *drv_priv, -+ struct NullDataCmd null_data , int len) ++ struct NullDataCmd null_data, int len) +{ + DPRINTF(AML_DEBUG_HAL, "%s %d vid=%d, ps=%d\n", __func__,__LINE__, -+ null_data.vid, null_data.pwr_save); ++ null_data.vid, null_data.pwr_save); + + return drv_priv->hal_priv->hal_ops.phy_send_null_data(null_data, len); +} + +static int drv_keep_alive(struct drv_private *drv_priv, -+ struct NullDataCmd null_data,int len, int enable, int period) ++ struct NullDataCmd null_data, int len, ++ int enable, int period) +{ + DPRINTF(AML_DEBUG_HAL, "%s %d enable=%d, vid=%d, period=%d\n", -+ __func__,__LINE__,enable, null_data.vid, period); ++ __func__, __LINE__, enable, null_data.vid, period); + + return drv_priv->hal_priv->hal_ops.phy_keep_alive(null_data, len, enable, period); +} + -+static int drv_set_beacon_miss(struct drv_private *drv_priv, -+ unsigned char wnet_vif_id,unsigned char enable, int period) ++static int drv_set_beacon_miss(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned char enable, int period) +{ + DPRINTF(AML_DEBUG_HAL, "%s %d vid=%d, enable=%d, period=%d\n", -+ __func__,__LINE__, wnet_vif_id, enable, period); ++ __func__,__LINE__, wnet_vif_id, enable, period); + return drv_priv->hal_priv->hal_ops.phy_set_beacon_miss(wnet_vif_id, enable, period); +} + -+static int drv_set_vsdb(struct drv_private *drv_priv, -+ unsigned char wnet_vif_id,unsigned char enable) ++static int drv_set_vsdb(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned char enable) +{ + DPRINTF(AML_DEBUG_HAL, "%s %d vid=%d, enable=%d\n", -+ __func__,__LINE__, wnet_vif_id, enable); ++ __func__,__LINE__, wnet_vif_id, enable); + return drv_priv->hal_priv->hal_ops.phy_set_vsdb(wnet_vif_id, enable); +} + +static int +drv_set_arp_agent(struct drv_private *drv_priv, unsigned char wnet_vif_id, -+ unsigned char enable, unsigned int ipv4, unsigned char *ipv6) ++ unsigned char enable, unsigned int ipv4, unsigned char *ipv6) +{ + DPRINTF(AML_DEBUG_HAL, "%s %d vid=%d, enable=%d, ipv4=0x%x\n", -+ __func__,__LINE__, wnet_vif_id, enable, ipv4); ++ __func__,__LINE__, wnet_vif_id, enable, ipv4); + return drv_priv->hal_priv->hal_ops.phy_set_arp_agent(wnet_vif_id, enable, ipv4, ipv6); +} + +static int +drv_set_pattern(struct drv_private *drv_priv, unsigned char vid, -+ unsigned char offset,unsigned char len, unsigned char id, -+ unsigned char *mask, unsigned char *pattern) ++ unsigned char offset,unsigned char len, unsigned char id, ++ unsigned char *mask, unsigned char *pattern) +{ + DPRINTF(AML_DEBUG_HAL, "%s %d vid=%d, pattern len=%d mask=0x%x\n", -+ __func__,__LINE__, vid, len, *(unsigned int*)mask); ++ __func__,__LINE__, vid, len, *(unsigned int*)mask); + return drv_priv->hal_priv->hal_ops.phy_set_pattern(vid, offset, len, id, mask, pattern); +} + -+static int drv_set_suspend(struct drv_private *drv_priv, -+ unsigned char vid, unsigned char enable, -+ unsigned char mode, unsigned int filters) ++static int drv_set_suspend(struct drv_private *drv_priv, unsigned char vid, ++ unsigned char enable, unsigned char mode, unsigned int filters) +{ + DPRINTF(AML_DEBUG_HAL, "%s %d vid=%d, enable=%d filters=0x%x\n", -+ __func__,__LINE__, vid, enable, filters); ++ __func__,__LINE__, vid, enable, filters); + + if (enable == 1) + drv_priv->dot11VmacPsState[vid] = DRV_PWRSAVE_FULL_SLEEP; + else + drv_priv->dot11VmacPsState[vid] = DRV_PWRSAVE_AWAKE; ++ + return drv_priv->hal_priv->hal_ops.phy_set_suspend(vid, enable, mode, filters); +} + -+int drv_hal_tx_frm_pause(struct drv_private *drv_priv, int pause) ++int drv_hal_tx_frm_pause(struct drv_private *drv_priv, int pause) +{ + DPRINTF(AML_DEBUG_HAL, "%s %d pause=%d\n", __func__,__LINE__, pause); + return drv_priv->hal_priv->hal_ops.hal_txframe_pause(pause); +} + +static void -+clear_staid_and_bssid_ex(SYS_TYPE param1, -+ SYS_TYPE param2, SYS_TYPE param3, -+ SYS_TYPE param4,SYS_TYPE param5) ++clear_staid_and_bssid_ex(SYS_TYPE param1, SYS_TYPE param2, SYS_TYPE param3, ++ SYS_TYPE param4,SYS_TYPE param5) +{ + struct drv_private *drv_priv = (void *)param1; + unsigned char wnet_vif_id = param2; + unsigned short sta_id = param3; -+ unsigned char bssid[6] = {0}; + struct wlan_net_vif *wnet_vif; + + wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; + if (wnet_vif == NULL) + { -+ return ; ++ return; + } + + driv_ps_wakeup(drv_priv); + hal_phy_unregister_sta_id(wnet_vif_id,sta_id); ++ + if (wnet_vif->vm_hal_opmode == WIFI_M_STA) { ++ unsigned char bssid[6] = { 0 }; ++ + drv_set_bssid(drv_priv, wnet_vif_id, bssid); + } ++ + driv_ps_sleep(drv_priv); -+ return ; ++ return; +} + +static int -+drv_clear_staid_and_bssid(struct drv_private *drv_priv, -+ unsigned char wnet_vif_id, unsigned short sta_id) ++drv_clear_staid_and_bssid(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned short sta_id) +{ -+ drv_hal_add_workitem((WorkHandler)clear_staid_and_bssid_ex,NULL, -+ (SYS_TYPE)drv_priv,(SYS_TYPE)wnet_vif_id, -+ (SYS_TYPE)sta_id,(SYS_TYPE)0, (SYS_TYPE)0); ++ drv_hal_add_workitem((WorkHandler)clear_staid_and_bssid_ex, NULL, ++ (SYS_TYPE)drv_priv,(SYS_TYPE)wnet_vif_id, ++ (SYS_TYPE)sta_id,(SYS_TYPE)0, (SYS_TYPE)0); + return 0; +} + +static void -+drv_wnet_vif_disconnect_ex(SYS_TYPE param1, -+ SYS_TYPE param2, SYS_TYPE param3, -+ SYS_TYPE param4,SYS_TYPE param5) ++drv_wnet_vif_disconnect_ex(SYS_TYPE param1, SYS_TYPE param2, SYS_TYPE param3, ++ SYS_TYPE param4, SYS_TYPE param5) +{ + struct drv_private *drv_priv = (void *)param1; + int wnet_vif_id = param2; @@ -53292,20 +53635,19 @@ index 000000000000..abeda5f1221a + driv_ps_wakeup(drv_priv); + drv_hal_wnet_vifdisconnect(wnet_vif_id); + driv_ps_sleep(drv_priv); -+ return ; ++ return; +} + +static int -+drv_wnet_vif_disconnect(struct drv_private *drv_priv, -+ int wnet_vif_id) ++drv_wnet_vif_disconnect(struct drv_private *drv_priv, int wnet_vif_id) +{ + drv_hal_add_workitem((WorkHandler)drv_wnet_vif_disconnect_ex, NULL, -+ (SYS_TYPE)drv_priv, (SYS_TYPE)wnet_vif_id, (SYS_TYPE)0, (SYS_TYPE)0, (SYS_TYPE)0); ++ (SYS_TYPE)drv_priv, (SYS_TYPE)wnet_vif_id, (SYS_TYPE)0, ++ (SYS_TYPE)0, (SYS_TYPE)0); + return 0; +} + -+static int -+drv_open( struct drv_private *drv_priv) ++static int drv_open(struct drv_private *drv_priv) +{ + struct wifi_mac *wifimac = NULL; + int error = 0; @@ -53331,80 +53673,87 @@ index 000000000000..abeda5f1221a +} + + -+static -+void drv_get_sts( struct drv_private *drv_priv, -+ unsigned int op_code, unsigned int ctrl_code) ++static void drv_get_sts(struct drv_private *drv_priv, unsigned int op_code, ++ unsigned int ctrl_code) +{ + int i; + struct wifi_mac *wifimac = wifi_mac_get_mac_handle(); -+ struct drv_txlist *txlist = NULL; -+ struct drv_tx_scoreboard *tid; -+ struct wifi_station *sta = NULL; -+ struct aml_driver_nsta *drv_sta = NULL; + struct wlan_net_vif *connect_wnet = wifi_mac_running_wnet_vif(wifimac); + -+ if(connect_wnet != NULL){ ++ if (connect_wnet != NULL) { ++ struct wifi_station *sta; ++ struct aml_driver_nsta *drv_sta; ++ + sta = connect_wnet->vm_mainsta; + drv_sta = sta->drv_sta; -+ printk("\n--------drv statistic--------\n"); -+ for(i=0; i< WME_NUM_AC;i++) ++ pr_debug("\n--------drv statistic--------\n"); ++ ++ for (i = 0; i < WME_NUM_AC; i++) + { -+ txlist = drv_txlist_initial(drv_priv,i); -+ printk("queen %d ac_queue_buffer_in_drv %d\n", i, txlist->txds_pending_cnt); ++ struct drv_txlist *txlist; ++ ++ txlist = drv_txlist_initial(drv_priv, i); ++ pr_debug("queen %d ac_queue_buffer_in_drv %d\n", i, txlist->txds_pending_cnt); + + } -+ for(i=0; i< WME_NUM_TID;i++) ++ ++ for (i = 0; i < WME_NUM_TID; i++) + { ++ struct drv_tx_scoreboard *tid; ++ + tid = &drv_sta->tx_agg_st.tid[i]; -+ printk("tid %d tid_queue_buffer_in_drv %d, msdu_count %d\n", i,WIFINET_SAVEQ_QLEN(&tid->tid_tx_buffer_queue), wifimac->msdu_cnt[i]); ++ pr_debug("tid %d tid_queue_buffer_in_drv %d, msdu_count %d\n", i, ++ WIFINET_SAVEQ_QLEN(&tid->tid_tx_buffer_queue), wifimac->msdu_cnt[i]); + + } -+ printk("tx_buffer_queue_in_drv %d\n",WIFINET_SAVEQ_QLEN(&connect_wnet->vm_tx_buffer_queue)); ++ pr_debug("tx_buffer_queue_in_drv %d\n", ++ WIFINET_SAVEQ_QLEN(&connect_wnet->vm_tx_buffer_queue)); + } + -+ if((ctrl_code & STS_MOD_DRV) == STS_MOD_DRV) ++ if ((ctrl_code & STS_MOD_DRV) == STS_MOD_DRV) + { + if ((ctrl_code & STS_TYP_TX) == STS_TYP_TX) + { + for(i = 0; i < HAL_NUM_TX_QUEUES; i++) + { -+ printk("txlist_idx %d, mpdu_to_hal %d,mpdu_pend %d, " -+ "mpdu_bkup %d,last_time %ld\n", -+ drv_priv->drv_txlist_table[i].txlist_qnum, -+ drv_priv->drv_txlist_table[i].txlist_qcnt, -+ drv_priv->drv_txlist_table[i].txds_pending_cnt, -+ drv_priv->drv_txlist_table[i].txlist_backup_qcnt, -+ drv_priv->drv_txlist_table[i].txlist_lasttime); ++ pr_debug("txlist_idx %d, mpdu_to_hal %d,mpdu_pend %d, " ++ "mpdu_bkup %d,last_time %ld\n", ++ drv_priv->drv_txlist_table[i].txlist_qnum, ++ drv_priv->drv_txlist_table[i].txlist_qcnt, ++ drv_priv->drv_txlist_table[i].txds_pending_cnt, ++ drv_priv->drv_txlist_table[i].txlist_backup_qcnt, ++ drv_priv->drv_txlist_table[i].txlist_lasttime); + } + -+ printk("--**--tx_retry_cnt %d\n", drv_priv->drv_stats.tx_retry_cnt); -+ printk("--**--tx_short_retry_cnt %d\n", drv_priv->drv_stats.tx_short_retry_cnt); -+ printk("tx_ampdu_mutil %d\n", drv_priv->drv_stats.tx_pkts_cnt); -+ printk("tx_ampdu_uniq %d\n", drv_priv->drv_stats.tx_ampdu_one_frame_cnt); -+ //printk("tx_ampdu pend %d\n", drv_priv->drv_stats.txds_pending_cnt); -+ printk("tx_normal mpdu %d\n", drv_priv->drv_stats.tx_normal_cnt); ++ pr_debug("--**--tx_retry_cnt %d\n", drv_priv->drv_stats.tx_retry_cnt); ++ pr_debug("--**--tx_short_retry_cnt %d\n", drv_priv->drv_stats.tx_short_retry_cnt); ++ pr_debug("tx_ampdu_mutil %d\n", drv_priv->drv_stats.tx_pkts_cnt); ++ pr_debug("tx_ampdu_uniq %d\n", drv_priv->drv_stats.tx_ampdu_one_frame_cnt); ++ //pr_debug("tx_ampdu pend %d\n", drv_priv->drv_stats.txds_pending_cnt); ++ pr_debug("tx_normal mpdu %d\n", drv_priv->drv_stats.tx_normal_cnt); + -+ printk("tx_ampdu_fail %d\n", drv_priv->drv_stats.tx_end_fail_cnt); -+ //printk("tx_drops %d\n", drv_priv->drv_stats.tx_drops_cnt); ++ pr_debug("tx_ampdu_fail %d\n", drv_priv->drv_stats.tx_end_fail_cnt); ++ //pr_debug("tx_drops %d\n", drv_priv->drv_stats.tx_drops_cnt); + -+ printk("tx_end_normal %d\n", drv_priv->drv_stats.tx_end_normal_cnt); -+ // printk("tx_end_ampdu %d\n", drv_priv->drv_stats.tx_end_ampdu_cnt); -+ // printk("tx_ampdu %d\n", drv_priv->drv_stats.tx_ampdu_cnt); ++ pr_debug("tx_end_normal %d\n", drv_priv->drv_stats.tx_end_normal_cnt); ++ // pr_debug("tx_end_ampdu %d\n", drv_priv->drv_stats.tx_end_ampdu_cnt); ++ // pr_debug("tx_ampdu %d\n", drv_priv->drv_stats.tx_ampdu_cnt); + } -+ /*drv rx */ ++ ++ /* drv rx */ + + if ((ctrl_code & STS_TYP_RX) == STS_TYP_RX) + { -+ printk("rx_indicate %d\n", drv_priv->drv_stats.rx_indicate_cnt); -+ printk("rx_free_skb %d\n", drv_priv->drv_stats.rx_free_skb_cnt); -+ printk("rx_ampdu %d\n", drv_priv->drv_stats.rx_ampdu_cnt); -+ printk("rx_bar %d\n", drv_priv->drv_stats.rx_bar_cnt); -+ printk("rx_nonqos %d\n", drv_priv->drv_stats.rx_nonqos_cnt); -+ printk("rx_dup %d\n", drv_priv->drv_stats.rx_dup_cnt); -+ printk("rx_ok %d\n", drv_priv->drv_stats.rx_ok_cnt); -+ printk("rx_bardrop %d\n", drv_priv->drv_stats.rx_bardrop_cnt); -+ printk("rx_skipped %d\n", drv_priv->drv_stats.rx_skipped_cnt); -+ printk("--**--rx_ack_rssi %d\n", drv_priv->drv_stats.rx_ack_rssi); ++ pr_debug("rx_indicate %d\n", drv_priv->drv_stats.rx_indicate_cnt); ++ pr_debug("rx_free_skb %d\n", drv_priv->drv_stats.rx_free_skb_cnt); ++ pr_debug("rx_ampdu %d\n", drv_priv->drv_stats.rx_ampdu_cnt); ++ pr_debug("rx_bar %d\n", drv_priv->drv_stats.rx_bar_cnt); ++ pr_debug("rx_nonqos %d\n", drv_priv->drv_stats.rx_nonqos_cnt); ++ pr_debug("rx_dup %d\n", drv_priv->drv_stats.rx_dup_cnt); ++ pr_debug("rx_ok %d\n", drv_priv->drv_stats.rx_ok_cnt); ++ pr_debug("rx_bardrop %d\n", drv_priv->drv_stats.rx_bardrop_cnt); ++ pr_debug("rx_skipped %d\n", drv_priv->drv_stats.rx_skipped_cnt); ++ pr_debug("--**--rx_ack_rssi %d\n", drv_priv->drv_stats.rx_ack_rssi); + } + + } @@ -53412,9 +53761,7 @@ index 000000000000..abeda5f1221a + drv_priv->hal_priv->hal_ops.hal_get_sts(op_code, ctrl_code); +} + -+ -+static int -+drv_stop( struct drv_private *drv_priv) ++static int drv_stop(struct drv_private *drv_priv) +{ + driv_ps_wakeup(drv_priv); + drv_priv->drv_config.cfg_rtcenable = 0; @@ -53422,9 +53769,9 @@ index 000000000000..abeda5f1221a + return 0; +} + -+int drv_reset( void * dev) ++int drv_reset(void * dev) +{ -+ struct drv_private *drv_priv = ( struct drv_private *) dev; ++ struct drv_private *drv_priv = (struct drv_private *)dev; + int error = 0; + + driv_ps_wakeup(drv_priv); @@ -53439,9 +53786,9 @@ index 000000000000..abeda5f1221a + return error; +} + -+static int drv_suspend( void * dev) ++static int drv_suspend(void *dev) +{ -+ struct drv_private *drv_priv = ( struct drv_private *) dev; ++ struct drv_private *drv_priv = (struct drv_private *)dev; + driv_ps_wakeup(drv_priv); + + drv_hal_disable(); @@ -53462,71 +53809,75 @@ index 000000000000..abeda5f1221a +} + +static void -+drv_set_chan_bw_mode_orig( SYS_TYPE param1, -+ SYS_TYPE param2,SYS_TYPE param3, -+ SYS_TYPE param4,SYS_TYPE param5) ++drv_set_chan_bw_mode_orig(SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, ++ SYS_TYPE param5) +{ -+ struct drv_private *drv_priv =(struct drv_private *)param1; -+ int chanbw = (int) param2; ++ struct drv_private *drv_priv = (struct drv_private *)param1; ++ int chanbw = (int)param2; ++ + driv_ps_wakeup(drv_priv); + drv_hal_set11nmac2040( chanbw); + driv_ps_sleep(drv_priv); +} + +static void -+drv_set_chan_bw_mode( struct drv_private *drv_priv, -+ enum wifi_mac_chanbw bw) ++drv_set_chan_bw_mode(struct drv_private *drv_priv, enum wifi_mac_chanbw bw) +{ -+ drv_hal_add_workitem((WorkHandler)drv_set_chan_bw_mode_orig, -+ NULL,(SYS_TYPE) drv_priv,(SYS_TYPE) bw,0,0,0); ++ drv_hal_add_workitem((WorkHandler)drv_set_chan_bw_mode_orig, NULL, ++ (SYS_TYPE)drv_priv, (SYS_TYPE)bw, 0, 0, 0); +} + +static int -+drv_get_scn_chan_busy( struct drv_private *drv_priv) ++drv_get_scn_chan_busy(struct drv_private *drv_priv) +{ + int ret; ++ + driv_ps_wakeup(drv_priv); + ret = drv_hal_get11nextbusy(); + driv_ps_sleep(drv_priv); ++ + return ret; +} + +static unsigned int -+drv_low_reg_behind_task( struct drv_private *drv_priv,void *func) ++drv_low_reg_behind_task(struct drv_private *drv_priv, void *func) +{ + return drv_low_register_behind_task(func); +} + +static unsigned int -+drv_low_call_task( struct drv_private *drv_priv, -+ SYS_TYPE taskid,SYS_TYPE param1) ++drv_low_call_task(struct drv_private *drv_priv, SYS_TYPE taskid, ++ SYS_TYPE param1) +{ -+ return drv_low_call_register_task(taskid,param1); ++ return drv_low_call_register_task(taskid, param1); +} + -+unsigned int drv_low_add_worktask( struct drv_private *drv_priv, -+ void *func,void *func_cb,SYS_TYPE param1,SYS_TYPE param2, -+ SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) ++unsigned int drv_low_add_worktask(struct drv_private *drv_priv, void *func, ++ void *func_cb, SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, SYS_TYPE param5) +{ -+ return drv_hal_add_workitem(func,func_cb,param1, param2,param3, param4,param5); ++ return drv_hal_add_workitem(func, func_cb, param1, param2, param3, param4, param5); +} + +static unsigned int -+drv_phy_reg_sta_id( struct drv_private *drv_priv, -+ unsigned char wnet_vif_id,unsigned short StaAid, -+ unsigned char *pMac, unsigned char encrypt) ++drv_phy_reg_sta_id(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned short StaAid, unsigned char *pMac, unsigned char encrypt) +{ + unsigned int ret; ++ + driv_ps_wakeup(drv_priv); -+ ret = hal_phy_register_sta_id(wnet_vif_id,StaAid,pMac, encrypt); ++ ret = hal_phy_register_sta_id(wnet_vif_id, StaAid, pMac, encrypt); + driv_ps_sleep(drv_priv); + + return ret; +} + -+static unsigned int drv_phy_unreg_all_sta_id(struct drv_private *drv_priv, unsigned char wnet_vif_id) ++static unsigned int drv_phy_unreg_all_sta_id(struct drv_private *drv_priv, ++ unsigned char wnet_vif_id) +{ + unsigned int ret; ++ + driv_ps_wakeup(drv_priv); + ret = hal_phy_unregister_all_sta_id(wnet_vif_id); + driv_ps_sleep(drv_priv); @@ -53534,24 +53885,25 @@ index 000000000000..abeda5f1221a + return ret; +} + -+int drv_add_wnet_vif(struct drv_private *drv_priv, -+ int wnet_vif_id, void * if_data, enum hal_op_mode vm_opmode, unsigned char *myaddr, unsigned int ip) ++int drv_add_wnet_vif(struct drv_private *drv_priv, int wnet_vif_id, ++ void *if_data, enum hal_op_mode vm_opmode, ++ unsigned char *myaddr, unsigned int ip) +{ + struct wlan_net_vif *wnet_vif; -+ int ret = 0; + + if (wnet_vif_id >= DEFAULT_MAX_VMAC) { + return -EINVAL; + } + -+ if ((drv_priv->drv_wnet_vif_table[wnet_vif_id] != NULL) -+ && (drv_priv->drv_wnet_vif_table[wnet_vif_id]->vm_wmac->recovery_stat == WIFINET_RECOVERY_END)) { -+ ERROR_DEBUG_OUT("Invalid interface id = %u, recovery %d \n", wnet_vif_id, drv_priv->drv_wnet_vif_table[wnet_vif_id]->vm_wmac->recovery_stat); ++ if ((drv_priv->drv_wnet_vif_table[wnet_vif_id] != NULL) && ++ (drv_priv->drv_wnet_vif_table[wnet_vif_id]->vm_wmac->recovery_stat == WIFINET_RECOVERY_END)) { ++ ERROR_DEBUG_OUT("Invalid interface id = %u, recovery %d \n", wnet_vif_id, ++ drv_priv->drv_wnet_vif_table[wnet_vif_id]->vm_wmac->recovery_stat); + return -EINVAL; + } + + driv_ps_wakeup(drv_priv); -+ printk("%s(%d) macaddr "MAC_FMT"\n",__func__, __LINE__, MAC_ARG(myaddr)); ++ pr_debug("%s(%d) macaddr "MAC_FMT"\n", __func__, __LINE__, MAC_ARG(myaddr)); + + if (vm_opmode == WIFI_M_HOSTAP) { + /* copy nostabeacons - for WDS client */ @@ -53575,15 +53927,16 @@ index 000000000000..abeda5f1221a + drv_hal_setopmode( wnet_vif_id, vm_opmode); + drv_hal_setdhcp(wnet_vif_id, ip); + driv_ps_sleep(drv_priv); -+ return ret; ++ ++ return 0; +} ++ +/* -+TxBufLock -+*/ -+static int drv_delete_wnet_vif(struct drv_private * drv_priv, int wnet_vif_id) ++ * TxBufLock ++ */ ++static int drv_delete_wnet_vif(struct drv_private *drv_priv, int wnet_vif_id) +{ + int flags; -+ int ret = 0; + + driv_ps_wakeup(drv_priv); + @@ -53603,21 +53956,23 @@ index 000000000000..abeda5f1221a + + drv_hal_wnet_vifStop(wnet_vif_id); + driv_ps_sleep(drv_priv); -+ return ret ; ++ ++ return 0; +} ++ +static int -+drv_change_wnet_vif(struct drv_private * drv_priv, int wnet_vif_id, -+ void * if_data, enum hal_op_mode vm_opmode, unsigned char *myaddr, unsigned int ip) ++drv_change_wnet_vif(struct drv_private *drv_priv, int wnet_vif_id, void *if_data, ++ enum hal_op_mode vm_opmode, unsigned char *myaddr, unsigned int ip) +{ + struct wlan_net_vif *wnet_vif; -+ int ret = 0; + -+ if (wnet_vif_id >= DEFAULT_MAX_VMAC -+ || drv_priv->drv_wnet_vif_table[wnet_vif_id] == NULL) ++ if (wnet_vif_id >= DEFAULT_MAX_VMAC || ++ drv_priv->drv_wnet_vif_table[wnet_vif_id] == NULL) + { + ERROR_DEBUG_OUT("Invalid interface id = %u\n", wnet_vif_id); + return -EINVAL; + } ++ + driv_ps_wakeup(drv_priv); + wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; + @@ -53630,16 +53985,17 @@ index 000000000000..abeda5f1221a + drv_hal_setopmode(wnet_vif_id, vm_opmode); + drv_hal_setdhcp(wnet_vif_id, ip); + driv_ps_sleep(drv_priv); -+ return ret ; -+} + ++ return 0; ++} + +static void * -+drv_nsta_attach( struct drv_private *drv_priv, int wnet_vif_id, void* sta) ++drv_nsta_attach( struct drv_private *drv_priv, int wnet_vif_id, void *sta) +{ + struct aml_driver_nsta *drv_sta; + -+ drv_sta = (struct aml_driver_nsta *)NET_MALLOC(sizeof(struct aml_driver_nsta), GFP_ATOMIC, "drv_nsta_attach.drv_sta"); ++ drv_sta = (struct aml_driver_nsta *)NET_MALLOC(sizeof(struct aml_driver_nsta), ++ GFP_ATOMIC, "drv_nsta_attach.drv_sta"); + if (drv_sta == NULL) + { + ERROR_DEBUG_OUT(" drv_sta is NULL \n"); @@ -53648,6 +54004,7 @@ index 000000000000..abeda5f1221a + + drv_sta->net_nsta = sta; + drv_sta->sta_drv_priv = drv_priv; ++ ERROR_DEBUG_OUT(" drv_priv->drv_ratectrl_size == %d\n",drv_priv->drv_ratectrl_size); + drv_sta->sta_rc_nsta = ZMALLOC(drv_priv->drv_ratectrl_size,"drv_sta->sta_rc_nsta", GFP_ATOMIC); + + if (drv_sta->sta_rc_nsta == NULL) @@ -53658,7 +54015,8 @@ index 000000000000..abeda5f1221a + } + + DPRINTF( AML_DEBUG_INFO, " %s %d drv_ratectrl_size = %d sta_rc_nsta = %p\n", -+ __func__,__LINE__,drv_priv->drv_ratectrl_size, drv_sta->sta_rc_nsta); ++ __func__, __LINE__, drv_priv->drv_ratectrl_size, ++ drv_sta->sta_rc_nsta); + + /* set up per-nsta tx/rx state */ + drv_txlist_init_for_sta(drv_priv, drv_sta, wnet_vif_id); @@ -53669,30 +54027,31 @@ index 000000000000..abeda5f1221a + drv_tx_withdraw_init(drv_priv, drv_sta); +#endif + -+ DPRINTF( AML_DEBUG_INFO, " %s %d \n",__func__,__LINE__); ++ DPRINTF(AML_DEBUG_INFO, " %s %d \n",__func__,__LINE__); + + return drv_sta; +} + +static void -+drv_nsta_detach(struct drv_private * drv_priv, void * nsta) ++drv_nsta_detach(struct drv_private *drv_priv, void *nsta) +{ + struct aml_driver_nsta *drv_sta = DRIVER_NODE(nsta); + + drv_txlist_free_for_sta(drv_priv, drv_sta); + drv_rx_nsta_free(drv_priv, drv_sta); + -+ printk("%s drv_sta:%p\n", __func__, drv_sta); ++ pr_debug("%s drv_sta:%p\n", __func__, drv_sta); + FREE(drv_sta->sta_rc_nsta, "drv_sta->sta_rc_nsta"); + FREE(drv_sta, "drv_nsta_attach.drv_sta"); +} + +static void -+drv_nsta_cleanup( struct drv_private *drv_priv, void * nsta) ++drv_nsta_cleanup( struct drv_private *drv_priv, void *nsta) +{ + struct aml_driver_nsta *drv_sta = DRIVER_NODE(nsta); + + drv_sta->sta_cleanup = 1; ++ + if (drv_sta->sta_isuapsd) + { + drv_sta->sta_isuapsd = 0; @@ -53709,55 +54068,56 @@ index 000000000000..abeda5f1221a + +static void +drv_nsta_update_pwrsave(struct drv_private *drv_priv, -+ void * nsta, int pwrsave) ++ void *nsta, int pwrsave) +{ + struct aml_driver_nsta *drv_sta = DRIVER_NODE(nsta); ++ + if (pwrsave) + { + drv_sta->sta_powesave = 1; -+ drv_txlist_pause_for_sta(drv_priv,drv_sta); ++ drv_txlist_pause_for_sta(drv_priv, drv_sta); + } + else + { + drv_sta->sta_powesave = 0; -+ drv_txlist_resume_for_sta(drv_priv,drv_sta); ++ drv_txlist_resume_for_sta(drv_priv, drv_sta); + } +} + +static void -+drv_key_rst_ex(SYS_TYPE param1,SYS_TYPE param2, -+ SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) ++drv_key_rst_ex(SYS_TYPE param1, SYS_TYPE param2, SYS_TYPE param3, ++ SYS_TYPE param4, SYS_TYPE param5) +{ + struct drv_private *drv_priv = (struct drv_private *)param1; + unsigned char wnet_vif_id = (unsigned char)param2; -+ unsigned short key_index = (unsigned short )param3; ++ unsigned short key_index = (unsigned short)param3; + int staid = (int)param4; + driv_ps_wakeup(drv_priv); + -+ printk(" %s %d wnet_vif_id=%d\n",__func__,__LINE__,wnet_vif_id); ++ pr_debug(" %s %d wnet_vif_id=%d\n",__func__,__LINE__,wnet_vif_id); + if (staid == 0) { + drv_hal_keyreset(wnet_vif_id, key_index); -+ + } else { + drv_hal_keyclear(wnet_vif_id, staid); + } ++ + driv_ps_sleep(drv_priv); +} + +static void -+drv_key_rst( struct drv_private * drv_priv,unsigned char wnet_vif_id, -+ unsigned short key_index, int staid) ++drv_key_rst(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned short key_index, int staid) +{ -+ drv_hal_add_workitem( (WorkHandler)drv_key_rst_ex,NULL, -+ (SYS_TYPE)drv_priv,(SYS_TYPE)wnet_vif_id, -+ (SYS_TYPE)key_index,(SYS_TYPE)staid, ++ drv_hal_add_workitem((WorkHandler)drv_key_rst_ex, NULL, ++ (SYS_TYPE)drv_priv, (SYS_TYPE)wnet_vif_id, ++ (SYS_TYPE)key_index, (SYS_TYPE)staid, + (SYS_TYPE)0); +} + +static int -+drv_key_set(struct drv_private * drv_priv, unsigned char wnet_vif_id, -+ unsigned short key_index, struct hal_key_val *hk, -+ const unsigned char mac[WIFINET_ADDR_LEN]) ++drv_key_set(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ unsigned short key_index, struct hal_key_val *hk, ++ const unsigned char mac[WIFINET_ADDR_LEN]) +{ + int status; + struct wlan_net_vif *wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; @@ -53770,23 +54130,26 @@ index 000000000000..abeda5f1221a + } + else + { -+ if (hk->kv_pad == WIFINET_M_HOSTAP) //ap mode , send staid ++ if (hk->kv_pad == WIFINET_M_HOSTAP) /* ap mode, send staid */ + { + sta = drv_priv->net_ops->wifi_mac_get_sta(&wnet_vif->vm_sta_tbl, mac,wnet_vif_id); -+ status = drv_hal_keyset(wnet_vif_id, key_index, hk, (unsigned char *)mac,sta->sta_associd); ++ status = drv_hal_keyset(wnet_vif_id, key_index, hk, ++ (unsigned char *)mac,sta->sta_associd); + } + else + { -+ status = drv_hal_keyset(wnet_vif_id,key_index, hk, (unsigned char *)mac,1); ++ status = drv_hal_keyset(wnet_vif_id,key_index, hk, ++ (unsigned char *)mac,1); + } + } ++ + driv_ps_sleep(drv_priv); + return (status != 0); +} + +static int -+drv_rekey_data_set(struct drv_private *drv_priv, -+ unsigned char wnet_vif_id, void *rekey_data) ++drv_rekey_data_set(struct drv_private *drv_priv, unsigned char wnet_vif_id, ++ void *rekey_data) +{ + int status; + @@ -53801,26 +54164,27 @@ index 000000000000..abeda5f1221a + * Set the 802.11D country + */ +static int -+drv_set_country(struct drv_private * drv_priv, char *isoName) ++drv_set_country(struct drv_private *drv_priv, char *isoName) +{ + unsigned int wMode; + int tmpi; + + tmpi = find_country_code((unsigned char *)isoName); + if (tmpi == 0xff) { -+// printk("%s can't find country code \n", __func__); ++ /* pr_debug("%s can't find country code \n", __func__); */ + tmpi = 0; + } + + drv_priv->drv_config.cfg_countrycode = tmpi; + drv_priv->drv_config.cfg_txpoweplan = wifimac_get_tx_pwr_plan(tmpi); + -+ printk(" %s %d %d\n",__func__,__LINE__, drv_priv->drv_config.cfg_countrycode ); ++ pr_debug(" %s %d %d\n",__func__,__LINE__, drv_priv->drv_config.cfg_countrycode ); + wMode = drv_priv->drv_config.cfg_modesupport; + + if (drv_priv->net_ops->wifi_mac_setup_channel_list) + { -+ drv_priv->net_ops->wifi_mac_setup_channel_list(drv_priv->wmac, wMode,drv_priv->drv_config.cfg_countrycode); ++ drv_priv->net_ops->wifi_mac_setup_channel_list(drv_priv->wmac, wMode, ++ drv_priv->drv_config.cfg_countrycode); + } + + return 0; @@ -53831,7 +54195,7 @@ index 000000000000..abeda5f1221a + */ +extern struct country_chan_mapping country_chan_mapping_list[]; +static void -+drv_get_curr_cntry( struct drv_private * drv_priv, unsigned char *iso_name) ++drv_get_curr_cntry(struct drv_private *drv_priv, unsigned char *iso_name) +{ + if (drv_priv->drv_config.cfg_countrycode != 0xff) + { @@ -53848,19 +54212,17 @@ index 000000000000..abeda5f1221a +} + +static int -+drv_set_quiet( struct drv_private *drv_priv, -+ unsigned short period, unsigned short duration, -+ unsigned short nextStart, unsigned short enabled) ++drv_set_quiet(struct drv_private *drv_priv, unsigned short period, ++ unsigned short duration, unsigned short nextStart, ++ unsigned short enabled) +{ -+// -+///we not support this -+// ++ /* we not support this */ + return 0; +} + +void -+drv_set_tx_pwr_limit(struct drv_private * drv_priv, -+ unsigned int limit, unsigned short txpowerdb) ++drv_set_tx_pwr_limit(struct drv_private *drv_priv, unsigned int limit, ++ unsigned short txpowerdb) +{ + drv_priv->drv_config.cfg_txpowlimit = (unsigned short)limit; + @@ -53868,156 +54230,158 @@ index 000000000000..abeda5f1221a +} + +static short -+drv_get_noise_floor(struct drv_private * drv_priv, -+ unsigned short freq, unsigned int chan_flags) ++drv_get_noise_floor(struct drv_private *drv_priv, ++ unsigned short freq, unsigned int chan_flags) +{ + return -85; +} + -+static void drv_write_word (unsigned int addr,unsigned int data) ++static void drv_write_word(unsigned int addr, unsigned int data) +{ -+ struct hal_private* hal_priv = hal_get_priv(); ++ struct hal_private* hal_priv = hal_get_priv(); + -+ hal_priv->hal_ops.hal_write_word(addr, data); ++ hal_priv->hal_ops.hal_write_word(addr, data); +} + +static unsigned int drv_read_word(unsigned int addr) +{ + struct hal_private* hal_priv = hal_get_priv(); ++ + return hal_priv->hal_ops.hal_read_word(addr); +} + -+ -+static void drv_bt_write_word (unsigned int addr,unsigned int data) ++static void drv_bt_write_word(unsigned int addr, unsigned int data) +{ -+ struct hal_private* hal_priv = hal_get_priv(); ++ struct hal_private* hal_priv = hal_get_priv(); + -+ hal_priv->hal_ops.hal_bt_write_word(addr, data); ++ hal_priv->hal_ops.hal_bt_write_word(addr, data); +} + +static unsigned int drv_bt_read_word(unsigned int addr) +{ + struct hal_private* hal_priv = hal_get_priv(); ++ + return hal_priv->hal_ops.hal_bt_read_word(addr); +} + -+ -+static void drv_pt_rx_start (unsigned int qos) ++static void drv_pt_rx_start(unsigned int qos) +{ -+ struct hal_private* hal_priv = hal_get_priv(); ++ struct hal_private* hal_priv = hal_get_priv(); + -+ hal_priv->hal_ops.hal_pt_rx_start(qos); ++ hal_priv->hal_ops.hal_pt_rx_start(qos); +} + +static void drv_pt_rx_stop(void) +{ + struct hal_private* hal_priv = hal_get_priv(); ++ + hal_priv->hal_ops.hal_pt_rx_stop(); +} + +static void drv_set_bmfm_info(struct drv_private *drv_priv, int wnet_vif_id, -+ unsigned char *group_id, unsigned char * user_position, unsigned char feedback_type) ++ unsigned char *group_id, unsigned char *user_position, ++ unsigned char feedback_type) +{ + drv_hal_set_bmfm_info(wnet_vif_id, group_id, user_position, feedback_type); +} + +static void drv_interface_enable(unsigned char enable, unsigned char vid) +{ -+ struct hal_private* hal_priv = hal_get_priv(); ++ struct hal_private *hal_priv = hal_get_priv(); + + hal_priv->hal_ops.phy_interface_enable(enable, vid); +} + +static void drv_cfg_cali_param(void) +{ -+ struct hal_private* hal_priv = hal_get_priv(); ++ struct hal_private *hal_priv = hal_get_priv(); + + hal_priv->hal_ops.hal_cfg_cali_param(); +} + +static void drv_init_ops(struct drv_private *drv_priv) +{ -+ drv_priv->drv_ops.drv_open = drv_open; /* drv_open */ -+ drv_priv->drv_ops.drv_stop = drv_suspend; /* drv_stop */ -+ drv_priv->drv_ops.add_interface = drv_add_wnet_vif; /* add_interface */ -+ drv_priv->drv_ops.remove_interface = drv_delete_wnet_vif; /* remove_interface */ -+ drv_priv->drv_ops.change_interface = drv_change_wnet_vif; /* change_interface */ -+ drv_priv->drv_ops.down_interface = drv_wnet_vif_disconnect; /* down_interface */ -+ drv_priv->drv_ops.alloc_nsta = drv_nsta_attach; /* alloc_nsta */ -+ drv_priv->drv_ops.free_nsta = drv_nsta_detach; /* free_nsta */ -+ drv_priv->drv_ops.cleanup_nsta = drv_nsta_cleanup; /* cleanup_nsta */ -+ drv_priv->drv_ops.update_nsta_pwrsave = drv_nsta_update_pwrsave; /* update_nsta_pwrsave */ -+ drv_priv->drv_ops.new_assoc = drv_assoc_proc; /* new_assoc */ -+ drv_priv->drv_ops.reset = drv_reset; /* reset */ -+ drv_priv->drv_ops.set_channel = drv_set_channel; /* set_channel */ -+ drv_priv->drv_ops.scan_start = drv_scan_start; /* scan_start */ -+ drv_priv->drv_ops.fw_repair = drv_fw_recovery; /* fw_repair */ -+ drv_priv->drv_ops.scan_end = drv_scan_end; /* scan_end */ -+ drv_priv->drv_ops.connect_start = drv_connect_start; /*connect_start */ -+ drv_priv->drv_ops.connect_end = drv_connect_end; /* connect_end */ -+ drv_priv->drv_ops.set_channel_rssi = drv_set_channel_rssi; /* set_channel_rssi */ -+ drv_priv->drv_ops.set_tx_power_accord_rssi = drv_set_tx_power_accord_rssi; /* set_tx_power_accord_rssi */ -+ drv_priv->drv_ops.tx_init = drv_tx_init; /* tx_init */ -+ drv_priv->drv_ops.tx_cleanup = drv_txlist_cleanup; /* tx_cleanup */ -+ drv_priv->drv_ops.tx_wmm_queue_update = drv_update_wmmq_param; /* tx_wmm_queue_update */ -+ drv_priv->drv_ops.tx_start = drv_tx_start; /* tx_start */ -+ drv_priv->drv_ops.txlist_qcnt_handle = drv_txlist_qcnt; /* txlist_qcnt */ -+ drv_priv->drv_ops.txlist_all_qcnt = drv_txlist_all_qcnt; /* txlist_all_qcnt */ -+ drv_priv->drv_ops.txlist_isfull = drv_txlist_isfull; /* txlist_isfull*/ -+ drv_priv->drv_ops.rx_init = drv_rx_init; /* rx_init */ -+ drv_priv->drv_ops.rx_proc_frame = drv_rx_input; /* rx_proc_frame */ -+ drv_priv->drv_ops.check_aggr = drv_aggr_check; /* check_aggr */ -+ drv_priv->drv_ops.aggr_tid_query = drv_aggr_tid; /* aggr_tid_query */ -+ drv_priv->drv_ops.check_aggr_allow_to_send = drv_aggr_allow_to_send; /* drv_aggr_allow_to_send */ -+ drv_priv->drv_ops.set_ampdu_params = drv_set_ampduparams; /* set_ampdu_params */ -+ drv_priv->drv_ops.addba_request_setup = drv_addba_req_setup; /* addba_request_setup */ -+ drv_priv->drv_ops.addba_response_setup = drv_rx_addbarsp; /* addba_response_setup */ -+ drv_priv->drv_ops.addba_request_process = drv_rx_addbareq; /* addba_request_process */ -+ drv_priv->drv_ops.addba_response_process = drv_addba_rsp_process; /* addba_response_process */ -+ drv_priv->drv_ops.addba_clear = drv_addba_clear; /* addba_clear */ -+ drv_priv->drv_ops.delba_process = drv_rx_delba; /* delba_process */ -+ drv_priv->drv_ops.addba_status = drv_addba_status; /* addba_status */ -+ drv_priv->drv_ops.drv_txrxampdu_del = drv_txrxampdu_del; /* drv_txrxampdu_del */ -+ drv_priv->drv_ops.set_addbaresponse = drv_set_addba_rsp; /* set_addbaresponse */ -+ drv_priv->drv_ops.clear_addbaresponsestatus = drv_clr_addba_rsp_status; /* clear_addbaresponsestatus */ -+ drv_priv->drv_ops.set_slottime = drv_update_slot; /* set_slottime */ -+ drv_priv->drv_ops.set_protmode = drv_set_protmode; /* set_protmode */ -+ drv_priv->drv_ops.set_cfg_txpowlimit = drv_set_cfg_tx_power_limit; /* set_cfg_txpowlimit */ -+ drv_priv->drv_ops.key_delete = drv_key_rst; /* key_delete */ -+ drv_priv->drv_ops.key_set = drv_key_set; /* key_set */ -+ drv_priv->drv_ops.rekey_data_set = drv_rekey_data_set; /* rekey_data_set */ -+ drv_priv->drv_ops.awake = drv_pwrsave_awake; /* awake */ -+ drv_priv->drv_ops.netsleep = drv_pwrsave_netsleep; /* netsleep */ -+ drv_priv->drv_ops.fullsleep = drv_pwrsave_fullsleep; /* fullsleep */ -+ drv_priv->drv_ops.set_country = drv_set_country; /* set_country */ -+ drv_priv->drv_ops.get_current_country = drv_get_curr_cntry; /* get_current_country */ -+ drv_priv->drv_ops.set_quiet = drv_set_quiet; /* set_quiet */ -+ drv_priv->drv_ops.set_bwmode = drv_set_chan_bw_mode; /* set_bwmode */ -+ drv_priv->drv_ops.GetSecondChanBusy = drv_get_scn_chan_busy; /* GetSecondChanBusy */ -+ drv_priv->drv_ops.drv_get_config_param = drv_get_config; /* drv_get_config_param */ -+ drv_priv->drv_ops.drv_set_config_param = drv_set_config; /* drv_set_config_param */ -+ drv_priv->drv_ops.get_noisefloor = drv_get_noise_floor; /* get_noisefloor */ -+ drv_priv->drv_ops.drv_set_txPwrLimit = drv_set_tx_pwr_limit; /* drv_set_txPwrLimit */ -+ drv_priv->drv_ops.get_amsdu_supported = drv_get_amsdu_supported; /* get_amsdu_supported */ -+ drv_priv->drv_ops.process_uapsd_trigger = drv_process_uapsd_nsta_trigger; /* process_uapsd_trigger */ -+ drv_priv->drv_ops.uapsd_qcnt = drv_tx_uapsd_nsta_qcnt; /* uapsd_qcnt */ -+ drv_priv->drv_ops.set_macaddr = drv_set_mac_addr; /* set_macaddr */ -+ drv_priv->drv_ops.Low_register_behindTask = drv_low_reg_behind_task; /* Low_register_behindTask */ -+ drv_priv->drv_ops.Low_callRegisteredTask = drv_low_call_task; /* Low_callRegisteredTask */ -+ drv_priv->drv_ops.Low_addDHWorkTask = drv_low_add_worktask; /* Low_addDHWorkTask */ -+ drv_priv->drv_ops.RegisterStationID = drv_phy_reg_sta_id; /*RegisterStationID */ -+ drv_priv->drv_ops.clear_staid_and_bssid = drv_clear_staid_and_bssid; /* clear_staid_and_bssid */ -+ drv_priv->drv_ops.UnRegisterAllStationID = drv_phy_unreg_all_sta_id; /* UnRegisterAllStationID */ -+ drv_priv->drv_ops.phy_setchannelsupport = NULL; /* drv_set_channelsupport */ -+ drv_priv->drv_ops.Phy_beaconinit = drv_bcn_init; /*Phy_beaconinit*/ -+ drv_priv->drv_ops.Phy_SetBeaconStart = drv_set_bcn_start; /*Phy_SetBeaconStart*/ -+ drv_priv->drv_ops.Phy_PutBeaconBuf = drv_put_bcn_buf; /*Phy_PutBeaconBuf*/ ++ drv_priv->drv_ops.drv_open = drv_open; /* drv_open */ ++ drv_priv->drv_ops.drv_stop = drv_suspend; /* drv_stop */ ++ drv_priv->drv_ops.add_interface = drv_add_wnet_vif; /* add_interface */ ++ drv_priv->drv_ops.remove_interface = drv_delete_wnet_vif; /* remove_interface */ ++ drv_priv->drv_ops.change_interface = drv_change_wnet_vif; /* change_interface */ ++ drv_priv->drv_ops.down_interface = drv_wnet_vif_disconnect; /* down_interface */ ++ drv_priv->drv_ops.alloc_nsta = drv_nsta_attach; /* alloc_nsta */ ++ drv_priv->drv_ops.free_nsta = drv_nsta_detach; /* free_nsta */ ++ drv_priv->drv_ops.cleanup_nsta = drv_nsta_cleanup; /* cleanup_nsta */ ++ drv_priv->drv_ops.update_nsta_pwrsave = drv_nsta_update_pwrsave; /* update_nsta_pwrsave */ ++ drv_priv->drv_ops.new_assoc = drv_assoc_proc; /* new_assoc */ ++ drv_priv->drv_ops.reset = drv_reset; /* reset */ ++ drv_priv->drv_ops.set_channel = drv_set_channel; /* set_channel */ ++ drv_priv->drv_ops.scan_start = drv_scan_start; /* scan_start */ ++ drv_priv->drv_ops.fw_repair = drv_fw_recovery; /* fw_repair */ ++ drv_priv->drv_ops.scan_end = drv_scan_end; /* scan_end */ ++ drv_priv->drv_ops.connect_start = drv_connect_start; /* connect_start */ ++ drv_priv->drv_ops.connect_end = drv_connect_end; /* connect_end */ ++ drv_priv->drv_ops.set_channel_rssi = drv_set_channel_rssi; /* set_channel_rssi */ ++ drv_priv->drv_ops.set_tx_power_accord_rssi = drv_set_tx_power_accord_rssi;/* set_tx_power_accord_rssi */ ++ drv_priv->drv_ops.tx_init = drv_tx_init; /* tx_init */ ++ drv_priv->drv_ops.tx_cleanup = drv_txlist_cleanup; /* tx_cleanup */ ++ drv_priv->drv_ops.tx_wmm_queue_update = drv_update_wmmq_param; /* tx_wmm_queue_update */ ++ drv_priv->drv_ops.tx_start = drv_tx_start; /* tx_start */ ++ drv_priv->drv_ops.txlist_qcnt_handle = drv_txlist_qcnt; /* txlist_qcnt */ ++ drv_priv->drv_ops.txlist_all_qcnt = drv_txlist_all_qcnt; /* txlist_all_qcnt */ ++ drv_priv->drv_ops.txlist_isfull = drv_txlist_isfull; /* txlist_isfull */ ++ drv_priv->drv_ops.rx_init = drv_rx_init; /* rx_init */ ++ drv_priv->drv_ops.rx_proc_frame = drv_rx_input; /* rx_proc_frame */ ++ drv_priv->drv_ops.check_aggr = drv_aggr_check; /* check_aggr */ ++ drv_priv->drv_ops.aggr_tid_query = drv_aggr_tid; /* aggr_tid_query */ ++ drv_priv->drv_ops.check_aggr_allow_to_send = drv_aggr_allow_to_send;/* drv_aggr_allow_to_send */ ++ drv_priv->drv_ops.set_ampdu_params = drv_set_ampduparams; /* set_ampdu_params */ ++ drv_priv->drv_ops.addba_request_setup = drv_addba_req_setup; /* addba_request_setup */ ++ drv_priv->drv_ops.addba_response_setup = drv_rx_addbarsp; /* addba_response_setup */ ++ drv_priv->drv_ops.addba_request_process = drv_rx_addbareq; /* addba_request_process */ ++ drv_priv->drv_ops.addba_response_process = drv_addba_rsp_process; /* addba_response_process */ ++ drv_priv->drv_ops.addba_clear = drv_addba_clear; /* addba_clear */ ++ drv_priv->drv_ops.delba_process = drv_rx_delba; /* delba_process */ ++ drv_priv->drv_ops.addba_status = drv_addba_status; /* addba_status */ ++ drv_priv->drv_ops.drv_txrxampdu_del = drv_txrxampdu_del; /* drv_txrxampdu_del */ ++ drv_priv->drv_ops.set_addbaresponse = drv_set_addba_rsp; /* set_addbaresponse */ ++ drv_priv->drv_ops.clear_addbaresponsestatus = drv_clr_addba_rsp_status;/* clear_addbaresponsestatus */ ++ drv_priv->drv_ops.set_slottime = drv_update_slot; /* set_slottime */ ++ drv_priv->drv_ops.set_protmode = drv_set_protmode; /* set_protmode */ ++ drv_priv->drv_ops.set_cfg_txpowlimit = drv_set_cfg_tx_power_limit; /* set_cfg_txpowlimit */ ++ drv_priv->drv_ops.key_delete = drv_key_rst; /* key_delete */ ++ drv_priv->drv_ops.key_set = drv_key_set; /* key_set */ ++ drv_priv->drv_ops.rekey_data_set = drv_rekey_data_set; /* rekey_data_set */ ++ drv_priv->drv_ops.awake = drv_pwrsave_awake; /* awake */ ++ drv_priv->drv_ops.netsleep = drv_pwrsave_netsleep; /* netsleep */ ++ drv_priv->drv_ops.fullsleep = drv_pwrsave_fullsleep; /* fullsleep */ ++ drv_priv->drv_ops.set_country = drv_set_country; /* set_country */ ++ drv_priv->drv_ops.get_current_country = drv_get_curr_cntry; /* get_current_country */ ++ drv_priv->drv_ops.set_quiet = drv_set_quiet; /* set_quiet */ ++ drv_priv->drv_ops.set_bwmode = drv_set_chan_bw_mode; /* set_bwmode */ ++ drv_priv->drv_ops.GetSecondChanBusy = drv_get_scn_chan_busy; /* GetSecondChanBusy */ ++ drv_priv->drv_ops.drv_get_config_param = drv_get_config; /* drv_get_config_param */ ++ drv_priv->drv_ops.drv_set_config_param = drv_set_config; /* drv_set_config_param */ ++ drv_priv->drv_ops.get_noisefloor = drv_get_noise_floor; /* get_noisefloor */ ++ drv_priv->drv_ops.drv_set_txPwrLimit = drv_set_tx_pwr_limit; /* drv_set_txPwrLimit */ ++ drv_priv->drv_ops.get_amsdu_supported = drv_get_amsdu_supported; /* get_amsdu_supported */ ++ drv_priv->drv_ops.process_uapsd_trigger = drv_process_uapsd_nsta_trigger;/* process_uapsd_trigger */ ++ drv_priv->drv_ops.uapsd_qcnt = drv_tx_uapsd_nsta_qcnt; /* uapsd_qcnt */ ++ drv_priv->drv_ops.set_macaddr = drv_set_mac_addr; /* set_macaddr */ ++ drv_priv->drv_ops.Low_register_behindTask = drv_low_reg_behind_task;/* Low_register_behindTask */ ++ drv_priv->drv_ops.Low_callRegisteredTask = drv_low_call_task; /* Low_callRegisteredTask */ ++ drv_priv->drv_ops.Low_addDHWorkTask = drv_low_add_worktask; /* Low_addDHWorkTask */ ++ drv_priv->drv_ops.RegisterStationID = drv_phy_reg_sta_id; /* RegisterStationID */ ++ drv_priv->drv_ops.clear_staid_and_bssid = drv_clear_staid_and_bssid;/* clear_staid_and_bssid */ ++ drv_priv->drv_ops.UnRegisterAllStationID = drv_phy_unreg_all_sta_id;/* UnRegisterAllStationID */ ++ drv_priv->drv_ops.phy_setchannelsupport = NULL; /* drv_set_channelsupport */ ++ drv_priv->drv_ops.Phy_beaconinit = drv_bcn_init; /* Phy_beaconinit */ ++ drv_priv->drv_ops.Phy_SetBeaconStart = drv_set_bcn_start; /* Phy_SetBeaconStart */ ++ drv_priv->drv_ops.Phy_PutBeaconBuf = drv_put_bcn_buf; /* Phy_PutBeaconBuf */ + /* drv_hal_set_p2p_opps_cwend_enable */ + drv_priv->drv_ops.drv_hal_set_p2p_opps_cwend_enable = drv_hal_set_p2p_opps_cwend_enable; + /* drv_hal_set_p2p_noa_enable */ + drv_priv->drv_ops.drv_hal_set_p2p_noa_enable = drv_hal_set_p2p_noa_enable; -+ drv_priv->drv_ops.drv_hal_get_tsf = drv_hal_get_tsf;/* drv_hal_get_tsf */ -+ drv_priv->drv_ops.drv_hal_tx_frm_pause = drv_hal_tx_frm_pause; /* drv_hal_tx_frm_pause */ ++ drv_priv->drv_ops.drv_hal_get_tsf = drv_hal_get_tsf; /* drv_hal_get_tsf */ ++ drv_priv->drv_ops.drv_hal_tx_frm_pause = drv_hal_tx_frm_pause; /* drv_hal_tx_frm_pause */ + drv_priv->drv_ops.drv_p2p_client_opps_cwend_may_sleep = drv_p2p_client_opps_cwend_may_sleep; + drv_priv->drv_ops.drv_txq_backup_send = drv_txq_backup_send; + drv_priv->drv_ops.phy_stc = phy_stc; @@ -54058,15 +54422,16 @@ index 000000000000..abeda5f1221a + +void aml_set_mac_control_register(void) +{ -+ unsigned int read_tmp = 0; ++ unsigned int read_tmp; ++ + read_tmp = drv_read_word(MAC_CONTROL); -+ read_tmp |= BIT(20); //enable qos null frame not update bitmap ++ read_tmp |= BIT(20); /* enable qos null frame not update bitmap */ + drv_write_word(MAC_CONTROL, read_tmp); +} + -+int aml_driv_attach( struct drv_private *drv_priv, struct wifi_mac* wmac) ++int aml_driv_attach( struct drv_private *drv_priv, struct wifi_mac *wmac) +{ -+ int i ; ++ int i; + int error; + char *country_code = NULL; + int country_index = DEFAULT_CONTRY; @@ -54077,17 +54442,17 @@ index 000000000000..abeda5f1221a + + drv_priv->wmac = wmac; + drv_priv->net_ops = &wmac->wmac_ops; -+ drv_priv->drv_not_init_flag = 1; ++ drv_priv->drv_not_init_flag = 1; + drv_priv->drv_connetting = 0; + drv_priv->drv_scanning = 0; + drv_priv->is_mother_channel[0] = 1; + drv_priv->is_mother_channel[1] = 1; -+ drv_priv->drv_config.cfg_cachelsz = DEFAULT_CACHESIZE; /* convert to bytes */ ++ drv_priv->drv_config.cfg_cachelsz = DEFAULT_CACHESIZE; /* convert to bytes */ + drv_priv->wait_mpdu_timeout = 1; + drv_priv->add_wakeup_work = 0; + drv_priv->stop_noa_flag = 0; + -+ drv_hal_attach(drv_priv, (void *)get_hal_call_back_table()); //attach hal ++ drv_hal_attach(drv_priv, (void *)get_hal_call_back_table()); /* attach hal */ + + drv_priv->hal_priv = hal_get_priv(); + @@ -54096,72 +54461,72 @@ index 000000000000..abeda5f1221a + + country_code = aml_wifi_get_country_code(); + -+ printk(" %s %d insmod country: %s\n", __func__, __LINE__,country_code); ++ pr_debug(" %s %d insmod country: %s\n", __func__, __LINE__, ++ country_code); + + country_index = find_country_code((unsigned char *)country_code); + if (country_index != 0xff) { + drv_priv->drv_config.cfg_countrycode = country_index; -+ + } else { + drv_priv->drv_config.cfg_countrycode = 0; + } + -+ drv_priv->drv_config.cfg_txpoweplan = wifimac_get_tx_pwr_plan(drv_priv->drv_config.cfg_countrycode); -+ drv_priv->drv_config.cfg_ampduackpolicy = DEFAULT_AMPDUACKPOLICY; -+ drv_priv->drv_config.cfg_htsupport = DEFAULT_HT_ENABLE; -+ drv_priv->drv_config.cfg_vhtsupport = DEFAULT_VHT_ENABLE; -+ drv_priv->drv_config.cfg_burst_ack = DEFAULT_BURST_ENABLE; -+ drv_priv->drv_config.cfg_txpowlimit = DEFAULT_TXPOWER; -+ drv_priv->drv_config.cfg_aggr_prot = DEFAULT_TXAGG_PROT; -+ drv_priv->drv_config.cfg_disratecontrol = DEFAULT_RATECONTROL_DIS; -+ drv_priv->drv_config.cfg_haswme = DEFAULT_WMMSUPPORT; -+ drv_priv->drv_config.cfg_dynamic_bw = ~DEFAULT_SUPPORT_DYNAMIC_BW; ++ drv_priv->drv_config.cfg_txpoweplan = wifimac_get_tx_pwr_plan(drv_priv->drv_config.cfg_countrycode); ++ drv_priv->drv_config.cfg_ampduackpolicy = DEFAULT_AMPDUACKPOLICY; ++ drv_priv->drv_config.cfg_htsupport = DEFAULT_HT_ENABLE; ++ drv_priv->drv_config.cfg_vhtsupport = DEFAULT_VHT_ENABLE; ++ drv_priv->drv_config.cfg_burst_ack = DEFAULT_BURST_ENABLE; ++ drv_priv->drv_config.cfg_txpowlimit = DEFAULT_TXPOWER; ++ drv_priv->drv_config.cfg_aggr_prot = DEFAULT_TXAGG_PROT; ++ drv_priv->drv_config.cfg_disratecontrol = DEFAULT_RATECONTROL_DIS; ++ drv_priv->drv_config.cfg_haswme = DEFAULT_WMMSUPPORT; ++ drv_priv->drv_config.cfg_dynamic_bw = ~DEFAULT_SUPPORT_DYNAMIC_BW; + drv_priv->drv_config.cfg_wifi_bt_coexist_support = DEFAULT_SUPPORT_WIFI_BT_COEXIST; + + /* 11n Capabilities */ + if (drv_priv->drv_config.cfg_htsupport) + { -+ drv_priv->drv_config.cfg_ampdu_limit = DEFAULT_TXAMPDU_LEN_MAX; -+ drv_priv->drv_config.cfg_txaggr = DEFAULT_TXAMPDU_EN; -+ drv_priv->drv_config.cfg_rxaggr = DEFAULT_RXAMPDU_EN; -+ drv_priv->drv_config.cfg_txamsdu = DEFAULT_TXAMSDU_EN; ++ drv_priv->drv_config.cfg_ampdu_limit = DEFAULT_TXAMPDU_LEN_MAX; ++ drv_priv->drv_config.cfg_txaggr = DEFAULT_TXAMPDU_EN; ++ drv_priv->drv_config.cfg_rxaggr = DEFAULT_RXAMPDU_EN; ++ drv_priv->drv_config.cfg_txamsdu = DEFAULT_TXAMSDU_EN; + drv_priv->drv_config.cfg_ampdu_subframes = DEFAULT_TXAMPDU_SUB_MAX; -+ drv_priv->drv_config.cfg_40Msupport = DEFAULT_11N40M_SUPPORT; ++ drv_priv->drv_config.cfg_40Msupport = DEFAULT_11N40M_SUPPORT; + drv_priv->drv_config.cfg_ampdu_oneframe = DEFAULT_TXAMPDU_ONEFRAME; -+ drv_priv->drv_config.cfg_ampdu_livetime = DEFAULT_TXAMPDU_ONEFRAME; ++ drv_priv->drv_config.cfg_ampdu_livetime = DEFAULT_TXAMPDU_ONEFRAME; + } + + /* set short retry 100, long retry 100, firmware try more times to send out */ + drv_set_config((void *)drv_priv, CHIP_PARAM_RETRY_LIMIT, 100 << 8 | 100); + -+ /*11AC capabilities*/ ++ /* 11AC capabilities */ + if (drv_priv->drv_config.cfg_vhtsupport) + { -+ // T.B.D -+ } -+ -+ drv_priv->drv_config.cfg_txchainmask = DEFAULT_TXCHAINMASK; //chainmask: not support yet -+ drv_priv->drv_config.cfg_rxchainmask = DEFAULT_RXCHAINMASK; -+ drv_priv->drv_config.cfg_txchainmasklegacy = DEFAULT_TXCHAINMASKLEGACY; -+ drv_priv->drv_config.cfg_rxchainmasklegacy = DEFAULT_RXCHAINMASKLEGACY; -+ drv_priv->drv_config.cfg_bw_ctrl = DEFAULT_BWC_ENABLE; -+ drv_priv->drv_config.cfg_aessupport = 1;/*aes support*/ -+ drv_priv->drv_config.cfg_tkipsupport = 1;/*tkip support*/ -+ drv_priv->drv_config.cfg_wepsupport = 1;/*wep support*/ -+ drv_priv->drv_config.cfg_wapisupport = 1;/*wapi support*/ -+ drv_priv->drv_config.cfg_tkipmicsupport = DEFAULT_HW_TKIP_MIC;/*tkip mic support*/ -+ drv_priv->drv_config.cfg_rtcenable = DEFAULT_RTC_ENABLE; -+ drv_priv->drv_config.cfg_retrynum = DEFAULT_TXRETRY_MAX; -+ drv_priv->drv_config.cfg_uapsdsupported = DEFAULT_UAPSU_EN; -+ drv_priv->drv_config.cfg_modesupport = DEFAULT_SELECT_MODE; -+ drv_priv->drv_config.cfg_checksumoffload = DEFAULT_HW_CSUM; ++ /* T.B.D */ ++ } ++ ++ drv_priv->drv_config.cfg_txchainmask = DEFAULT_TXCHAINMASK; /* chainmask: not support yet */ ++ drv_priv->drv_config.cfg_rxchainmask = DEFAULT_RXCHAINMASK; ++ drv_priv->drv_config.cfg_txchainmasklegacy = DEFAULT_TXCHAINMASKLEGACY; ++ drv_priv->drv_config.cfg_rxchainmasklegacy = DEFAULT_RXCHAINMASKLEGACY; ++ drv_priv->drv_config.cfg_bw_ctrl = DEFAULT_BWC_ENABLE; ++ drv_priv->drv_config.cfg_aessupport = 1;/* aes support */ ++ drv_priv->drv_config.cfg_tkipsupport = 1;/* tkip support */ ++ drv_priv->drv_config.cfg_wepsupport = 1;/* wep support */ ++ drv_priv->drv_config.cfg_wapisupport = 1;/* wapi support */ ++ drv_priv->drv_config.cfg_tkipmicsupport = DEFAULT_HW_TKIP_MIC; /* tkip mic support */ ++ drv_priv->drv_config.cfg_rtcenable = DEFAULT_RTC_ENABLE; ++ drv_priv->drv_config.cfg_retrynum = DEFAULT_TXRETRY_MAX; ++ drv_priv->drv_config.cfg_uapsdsupported = DEFAULT_UAPSU_EN; ++ drv_priv->drv_config.cfg_modesupport = DEFAULT_SELECT_MODE; ++ drv_priv->drv_config.cfg_checksumoffload = DEFAULT_HW_CSUM; + drv_priv->drv_config.cfg_eap_lowest_rate = DEFAULT_MCAST_EAPOL_NULLDATA_RATE_11G; -+ drv_priv->drv_config.cfg_dssupport = DEFAULT_DSSUPPORT; ++ drv_priv->drv_config.cfg_dssupport = DEFAULT_DSSUPPORT; + drv_priv->drv_config.cfg_eat_count_max = DEFAULT_EAT_COUNT_MAX; + drv_priv->drv_config.cfg_aggr_thresh = DEFAULT_AGGR_THRESH; + drv_priv->drv_config.cfg_no_aggr_thresh = DEFAULT_NO_AGGR_THRESH; + drv_priv->drv_config.cfg_hrtimer_interval = DEFAULT_HRTIMER_INTERVAL; -+ drv_priv->drv_config.cfg_mfp = DEFAULT_MFP_EN;//support mfp ++ drv_priv->drv_config.cfg_mfp = DEFAULT_MFP_EN; /* support mfp */ + drv_priv->drv_config.cfg_mac_mode = DEFAULT_AUTO; + drv_priv->drv_config.cfg_band = DEFAULT_BAND_ALL; + @@ -54179,15 +54544,16 @@ index 000000000000..abeda5f1221a + if (error != 0) + { + driv_ps_sleep(drv_priv); -+ ERROR_DEBUG_OUT(" error!!!\n"); ++ ERROR_DEBUG_OUT(" error!!!\n"); + goto bad; + } + -+ wifi_mac_set_tx_power_coefficient(drv_priv, NULL, drv_priv->drv_config.cfg_txpoweplan); ++ wifi_mac_set_tx_power_coefficient(drv_priv, NULL, ++ drv_priv->drv_config.cfg_txpoweplan); + + drv_priv->net_ops->wifi_mac_rate_ratmod_attach(drv_priv); -+ printk(" %s %d drv_priv->drv_ratectrl_size = %d\n", -+ __func__,__LINE__,drv_priv->drv_ratectrl_size); ++ pr_debug(" %s %d drv_priv->drv_ratectrl_size = %d\n", ++ __func__,__LINE__,drv_priv->drv_ratectrl_size); + + /* + * Setup rate tables for all potential media types. @@ -54206,7 +54572,7 @@ index 000000000000..abeda5f1221a + return -ENODEV; +} + -+void aml_driv_detach( struct drv_private * drv_priv) ++void aml_driv_detach( struct drv_private *drv_priv) +{ + int i; + @@ -54224,25 +54590,23 @@ index 000000000000..abeda5f1221a + drv_hal_detach(); +} + -+ -+static int drv_read_manu_cfg(void * drv_priv, void* cfg) ++static int drv_read_manu_cfg(void *drv_priv, void *cfg) +{ -+ printk("maybe involve nand/nor flash operating function,to get manufactory cfg\n"); ++ pr_debug("maybe involve nand/nor flash operating function,to get manufactory cfg\n"); + return 0; +} + -+static int drv_get_default_cfg(void * drv_priv, void* cfg) ++static int drv_get_default_cfg(void *drv_priv, void *cfg) +{ -+ return drv_read_manu_cfg(drv_priv,cfg); ++ return drv_read_manu_cfg(drv_priv, cfg); +} + -+ +static void -+drv_mic_error_event(void * dpriv,const void* frm, -+ unsigned char* sa,unsigned char wnet_vif_id) ++drv_mic_error_event(void *dpriv, const void *frm, unsigned char *sa, ++ unsigned char wnet_vif_id) +{ +#if 1 -+ struct wifi_station *sta = NULL; ++ struct wifi_station *sta; + struct wifi_frame *wh = (struct wifi_frame *)frm; + struct drv_private *drv_priv = (struct drv_private *)dpriv; + struct wlan_net_vif *wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; @@ -54252,7 +54616,7 @@ index 000000000000..abeda5f1221a + sta = drv_priv->net_ops->wifi_mac_get_sta(nt, sa, wnet_vif_id); + if (sta == NULL) + { -+ printk("mic_error_event find not error! \n"); ++ pr_err("mic_error_event find not error! \n"); + return ; + } + rsn = &sta->sta_rsn; @@ -54260,12 +54624,13 @@ index 000000000000..abeda5f1221a + if (WIFINET_IS_MULTICAST(wh->i_addr1)) + { + if(rsn->rsn_mcastcipher == WIFINET_CIPHER_TKIP) -+ drv_priv->net_ops->wifi_mac_notify_mic_fail(wnet_vif,wh, (int)wnet_vif->vm_def_txkey); ++ drv_priv->net_ops->wifi_mac_notify_mic_fail(wnet_vif, wh, ++ (int)wnet_vif->vm_def_txkey); + } + else + { + if(rsn->rsn_ucastcipher == WIFINET_CIPHER_TKIP) -+ drv_priv->net_ops->wifi_mac_notify_mic_fail(wnet_vif,wh, 0); ++ drv_priv->net_ops->wifi_mac_notify_mic_fail(wnet_vif, wh, 0); + } +#endif +} @@ -54277,9 +54642,11 @@ index 000000000000..abeda5f1221a + + if (drv_private != NULL) { + DRV_TX_TIMEOUT_LOCK(drv_private); ++ + if (!g_hr_lock_timer_valid) { + drv_private->wait_mpdu_timeout = 1; + } ++ + AML_PRINT(AML_DBG_MODULES_TX, "waiting_pkt_timeout:%d\n", drv_private->wait_mpdu_timeout); + DRV_TX_TIMEOUT_UNLOCK(drv_private); + } @@ -54295,20 +54662,20 @@ index 000000000000..abeda5f1221a +} + +static void -+drv_intr_rx_ok(void * dpriv,struct sk_buff *skb, unsigned char Rssi,unsigned char vendor_rate_code, -+ unsigned char bw, unsigned char channel, unsigned char aggr, unsigned char wnet_vif_id, unsigned char keyid) ++drv_intr_rx_ok(void *dpriv, struct sk_buff *skb, unsigned char Rssi, unsigned char vendor_rate_code, ++ unsigned char bw, unsigned char channel, unsigned char aggr, unsigned char wnet_vif_id, ++ unsigned char keyid) +{ + struct wifi_mac *wifimac; + struct drv_private *drv_priv = (struct drv_private *)dpriv; -+ + struct sk_buff *skbbuf = (struct sk_buff *)skb; + struct wifi_frame *wh; + struct wifi_mac_rx_status rxstatus; -+ int rate_index =0; ++ int rate_index; + + wifimac = drv_priv->wmac; + -+ rate_index= drv_rate_findindex_from_ratecode(drv_priv->drv_currratetable, vendor_rate_code); ++ rate_index = drv_rate_findindex_from_ratecode(drv_priv->drv_currratetable, vendor_rate_code); + + rxstatus.rs_flags = aggr; + rxstatus.rs_channel = channel; @@ -54320,7 +54687,6 @@ index 000000000000..abeda5f1221a + rxstatus.rs_wnet_vif_id = wnet_vif_id; + rxstatus.rs_keyid = keyid ; + -+ + wh = (struct wifi_frame *)os_skb_data(skb); + if (!list_empty(&wifimac->wm_wnet_vifs)) + { @@ -54335,15 +54701,16 @@ index 000000000000..abeda5f1221a +} + +static int pmf_encrypt_pkt_handle(void *dpriv, struct sk_buff *skb, unsigned char rssi, -+ unsigned char vendor_rate_code, unsigned char channel, unsigned char aggr, unsigned char wnet_vif_id, unsigned char keyid) ++ unsigned char vendor_rate_code, unsigned char channel, ++ unsigned char aggr, unsigned char wnet_vif_id, ++ unsigned char keyid) +{ -+ + struct wifi_mac *wifimac; -+ struct drv_private *drv_priv= (struct drv_private *)dpriv; -+ struct sk_buff *skbbuf = ( struct sk_buff *)skb; + struct wifi_frame *wh; ++ struct drv_private *drv_priv = (struct drv_private *)dpriv; ++ struct sk_buff *skbbuf = (struct sk_buff *)skb; + struct wifi_mac_rx_status rxstatus; -+ int rate_index = 0; ++ int rate_index; + unsigned char pkt_type; + unsigned char is_protect; + @@ -54357,11 +54724,11 @@ index 000000000000..abeda5f1221a + #if 0 + unsigned char i; + -+ printk("pmf pkt, not drop\n"); ++ pr_debug("pmf pkt, not drop\n"); + for (i = 0; i < 32; ++i) { -+ printk("%02x:", ((unsigned char *)wh)[i]); ++ pr_debug("%02x:", ((unsigned char *)wh)[i]); + } -+ printk("\n"); ++ pr_debug("\n"); + #endif + } + @@ -54379,7 +54746,6 @@ index 000000000000..abeda5f1221a + if (!list_empty(&wifimac->wm_wnet_vifs)) { + drv_priv->drv_stats.rx_indicate_cnt++; + drv_priv->net_ops->wifi_mac_rx_complete(wifimac, skbbuf, &rxstatus); -+ + } else { + drv_priv->drv_stats.rx_free_skb_cnt++; + os_skb_free(skb); @@ -54408,6 +54774,7 @@ index 000000000000..abeda5f1221a + if ((p2p->HiP2pNoaCountNow == 0) && (p2p->noa.count == NET80211_P2P_SCHED_REPEAT)) { + p2p->HiP2pNoaCountNow = (p2p->noa.count << 1); + } ++ + HiP2pNoaCountNow = p2p->HiP2pNoaCountNow; + + if (P2P_NoA_START_FLAG(HiP2pNoaCountNow)) { @@ -54415,15 +54782,16 @@ index 000000000000..abeda5f1221a + AML_PRINT(AML_DBG_MODULES_P2P, "noa start HiP2pNoaCountNow=%d\n", + HiP2pNoaCountNow); + /* -+ check power save precedence of GO as follow: -+ 1. Highest: Absence due to a non-periodic Notice of Absence (Count = 1). -+ 2. Presence from TBTT until the end of Beacon frame transmission. -+ 3. Presence during the CTWindow. -+ 4. Lowest: Absence for a periodic Notice of Absence (Count > 1). -+ */ -+ if ((p2p->noa.count > 1) && (p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI) -+ && (!(p2p->p2p_flag & P2P_OPPPS_CWEND_FLAG_HI) || (wnet_vif->vm_pstxqueue_flags & WIFINET_PSQUEUE_OPPS))) { -+ /*noa count != 1, opps is already start and sleep, just return; */ ++ * check power save precedence of GO as follow: ++ * 1. Highest: Absence due to a non-periodic Notice of Absence (Count = 1). ++ * 2. Presence from TBTT until the end of Beacon frame transmission. ++ * 3. Presence during the CTWindow. ++ * 4. Lowest: Absence for a periodic Notice of Absence (Count > 1). ++ */ ++ if ((p2p->noa.count > 1) && (p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI) && ++ (!(p2p->p2p_flag & P2P_OPPPS_CWEND_FLAG_HI) || ++ (wnet_vif->vm_pstxqueue_flags & WIFINET_PSQUEUE_OPPS))) { ++ /* noa count != 1, opps is already start and sleep, just return; */ + return; + } + wnet_vif->vm_pstxqueue_flags |= WIFINET_PSQUEUE_NOA; @@ -54446,7 +54814,7 @@ index 000000000000..abeda5f1221a + { + /* if noa end */ + DPRINTF(AML_DEBUG_PWR_SAVE, "%s %d noa end HiP2pNoaCountNow=%d\n", -+ __func__,__LINE__, HiP2pNoaCountNow); ++ __func__, __LINE__, HiP2pNoaCountNow); + + wnet_vif->vm_pstxqueue_flags &= (~WIFINET_PSQUEUE_NOA); + @@ -54474,9 +54842,10 @@ index 000000000000..abeda5f1221a + { + /* retry trigger. may drop response to last-time trigger */ + struct wifi_station *sta = wnet_vif->vm_mainsta; ++ + if (sta->sta_flags_ext & WIFINET_NODE_TRIGGER_WAIT_NOA_END) + { -+ drv_priv->net_ops->wifi_mac_pwrsave_sta_trigger(wnet_vif); ++ drv_priv->net_ops->wifi_mac_pwrsave_sta_trigger(wnet_vif); + sta->sta_flags_ext &= ~WIFINET_NODE_TRIGGER_WAIT_NOA_END; + } + } @@ -54511,7 +54880,9 @@ index 000000000000..abeda5f1221a + if (sta->sta_flags_ext & WIFINET_NODE_UAPSD_FLUSH_WAIT_NOA_END) + { + int uapsd_len = wifimac->drv_priv->drv_ops.process_uapsd_trigger(wifimac->drv_priv, -+ sta->drv_sta, WME_UAPSD_NODE_MAXQDEPTH, 0, 1); ++ sta->drv_sta, ++ WME_UAPSD_NODE_MAXQDEPTH, ++ 0, 1); + + if (uapsd_len <= 0) + { @@ -54527,27 +54898,26 @@ index 000000000000..abeda5f1221a + if (HiP2pNoaCountNow == 0) + { + /* noa need to be canceled */ -+ + if (wnet_vif->vm_opmode == WIFINET_M_HOSTAP) + { -+ vm_p2p_go_cancle_noa(p2p); ++ vm_p2p_go_cancel_noa(p2p); + } + else if (wnet_vif->vm_opmode == WIFINET_M_STA) + { -+ vm_p2p_client_cancle_noa(p2p); ++ vm_p2p_client_cancel_noa(p2p); + } + } + + if (drv_priv->net_ops->wifi_mac_pwrsave_is_sta_sleeping(wnet_vif) == 0) + { -+ drv_priv->net_ops->wifi_mac_pwrsave_fullsleep(wnet_vif, SLEEP_AFTER_NOA_END_DUMMY); ++ drv_priv->net_ops->wifi_mac_pwrsave_fullsleep(wnet_vif, SLEEP_AFTER_NOA_END_DUMMY); + } + } + while (0); + } +} + -+static void p2p_opps_ctw_start_irq (struct wifi_mac_p2p *p2p) ++static void p2p_opps_ctw_start_irq(struct wifi_mac_p2p *p2p) +{ + if (p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI) + { @@ -54557,11 +54927,11 @@ index 000000000000..abeda5f1221a + /* wakeup and tx */ + p2p->wnet_vif->vm_pstxqueue_flags &= (~WIFINET_PSQUEUE_OPPS); + /* -+ if noa count == 1 and noa started, so we remain NoA ps state. -+ And we need clear flags of Opps for subsequent NoA (count == 1 or periodic). -+ if noa coun > 1 (periodically), the precedence of opps is higher than noa, so -+ we clear noa ps flag to send frames. -+ */ ++ * If noa count == 1 and noa started, so we remain NoA ps state. ++ * And we need clear flags of Opps for subsequent NoA (count == 1 or periodic). ++ * If noa coun > 1 (periodically), the precedence of opps is higher than noa, so ++ * we clear noa ps flag to send frames. ++ */ + if (p2p->wnet_vif->vm_p2p->noa.count > 1) + { + p2p->wnet_vif->vm_pstxqueue_flags &= (~WIFINET_PSQUEUE_NOA); @@ -54575,47 +54945,53 @@ index 000000000000..abeda5f1221a +static void drv_intr_bcn_send_ok(void * dpriv,unsigned char vma_id) +{ + struct drv_private *drv_priv = (struct drv_private *)dpriv; -+ struct wlan_net_vif *wnet_vif = NULL; ++ struct wlan_net_vif *wnet_vif; + struct wifi_mac *wifimac; + struct sk_buff *skb; -+ unsigned char rate = 0; + unsigned short flag; + -+ wnet_vif = drv_priv->drv_wnet_vif_table[vma_id]; -+ if((wnet_vif== NULL)||(wnet_vif->vm_state != WIFINET_S_CONNECTED)) ++ wnet_vif = drv_priv->drv_wnet_vif_table[vma_id]; ++ if ((wnet_vif == NULL) || (wnet_vif->vm_state != WIFINET_S_CONNECTED)) + return; ++ + wifimac = wnet_vif->vm_wmac; + + if ((wnet_vif->vm_opmode == WIFINET_M_HOSTAP)|| + (wnet_vif->vm_opmode == WIFINET_M_IBSS)) + { ++ unsigned char rate = 0; ++ + drv_tx_get_mgmt_frm_rate(drv_priv, wnet_vif, -+ WIFINET_FC0_TYPE_MGT | WIFINET_FC0_SUBTYPE_BEACON, &rate, &flag); ++ WIFINET_FC0_TYPE_MGT | WIFINET_FC0_SUBTYPE_BEACON, ++ &rate, &flag); + + WIFINET_BEACONBUF_LOCK(wifimac); ++ + skb = wnet_vif->vm_beaconbuf; + if(skb) + { -+ drv_priv->net_ops->wifi_mac_update_beacon(drv_priv->wmac, vma_id,skb, 0); -+ drv_hal_put_bcn_buf(vma_id, os_skb_data(skb), os_skb_get_pktlen(skb), rate, wnet_vif->vm_bandwidth); ++ drv_priv->net_ops->wifi_mac_update_beacon(drv_priv->wmac, vma_id, skb, 0); ++ drv_hal_put_bcn_buf(vma_id, os_skb_data(skb), os_skb_get_pktlen(skb), ++ rate, wnet_vif->vm_bandwidth); + } + else + { -+ printk("Enter %s Function ERROR \n",__func__); ++ pr_err("Enter %s Function ERROR \n",__func__); + } + WIFINET_BEACONBUF_UNLOCK(wifimac); + +#ifdef CONFIG_P2P -+ if ((drv_priv->net_ops->wifi_mac_pwrsave_is_wnet_vif_fullsleep(wnet_vif) == 0) -+ && (wnet_vif->vm_p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI)) ++ if ((drv_priv->net_ops->wifi_mac_pwrsave_is_wnet_vif_fullsleep(wnet_vif) == 0) && ++ (wnet_vif->vm_p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI)) + { -+ //drv_priv->net_ops->wifi_mac_pwrsave_networksleep(wnet_vif, NETSLEEP_AFTER_BEACON_SEND); ++ /* drv_priv->net_ops->wifi_mac_pwrsave_networksleep(wnet_vif, NETSLEEP_AFTER_BEACON_SEND); */ + } + + p2p_opps_ctw_start_irq(wnet_vif->vm_p2p); -+ if (wnet_vif->vm_p2p->p2p_flag & (P2P_NOA_START_MATCH_BEACON_HI|P2P_NOA_END_MATCH_BEACON_HI)) { -+ p2p_noa_start_irq(wnet_vif->vm_p2p, drv_priv); + ++ if (wnet_vif->vm_p2p->p2p_flag & ++ (P2P_NOA_START_MATCH_BEACON_HI | P2P_NOA_END_MATCH_BEACON_HI)) { ++ p2p_noa_start_irq(wnet_vif->vm_p2p, drv_priv); + } else if (wnet_vif->vm_pstxqueue_flags & WIFINET_PSQUEUE_NOA) { + drv_priv->net_ops->wifi_mac_pwrsave_fullsleep(wnet_vif, SLEEP_AFTER_NOA_START); + } @@ -54623,69 +54999,66 @@ index 000000000000..abeda5f1221a + } +} + -+ -+static void drv_intr_dtim_send_ok(void *drv_priv,unsigned char vma_id) ++static void drv_intr_dtim_send_ok(void *drv_priv, unsigned char vma_id) +{ + +} + -+ -+static void drv_intr_ba_recv_ok(void *drv_priv,unsigned char vma_id) ++static void drv_intr_ba_recv_ok(void *drv_priv, unsigned char vma_id) +{ -+ printk("Enter %s Function \n",__func__); ++ pr_debug("Enter %s Function \n",__func__); +} + +static int -+drv_get_sta_id(void * dpriv,unsigned char *mac, -+ unsigned char wnet_vif_id,int * staid) ++drv_get_sta_id(void *dpriv, unsigned char *mac, unsigned char wnet_vif_id, ++ int *staid) +{ -+ -+ struct wifi_station *sta = NULL; ++ struct wifi_station *sta; + struct wifi_station_tbl *nt; -+ struct drv_private *drv_priv= (struct drv_private *)dpriv; -+ struct wlan_net_vif *wnet_vif = NULL; ++ struct drv_private *drv_priv = (struct drv_private *)dpriv; ++ struct wlan_net_vif *wnet_vif; + + wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; + ASSERT(wnet_vif); + nt = &wnet_vif->vm_sta_tbl; + -+ sta = drv_priv->net_ops->wifi_mac_get_sta(nt, mac,wnet_vif_id); ++ sta = drv_priv->net_ops->wifi_mac_get_sta(nt, mac, wnet_vif_id); + if (sta == NULL) { + return -1; + } + + if (sta->sta_wnet_vif->vm_opmode == WIFINET_M_STA) { -+ *staid = 1; ++ *staid = 1; + } else { -+ *staid = sta->sta_associd&0xff; ++ *staid = sta->sta_associd & 0xff; + } + + return 0; +} + -+/*rtc tmp wakeup*/ ++/* rtc tmp wakeup */ +static void drv_goto_deep_sleep(void * dpriv) +{ + +} + -+static void drv_goto_wakeup(void * dpriv, unsigned char wnet_vif_id) ++static void drv_goto_wakeup(void *dpriv, unsigned char wnet_vif_id) +{ + struct drv_private *drv_priv = (struct drv_private *)dpriv; -+ struct wlan_net_vif *wnet_vif = NULL; ++ struct wlan_net_vif *wnet_vif; + + wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; + -+ //if vmac not exist, may sta irq mistake ++ /* if vmac not exist, may sta irq mistake */ + if (wnet_vif) + { -+ struct wifi_mac_pwrsave_t *ps = &wnet_vif->vm_pwrsave; ++ struct wifi_mac_pwrsave_t *ps = &wnet_vif->vm_pwrsave; + -+ //wifi_mac_pwrsave_show_state(wifimac); ++ /* wifi_mac_pwrsave_show_state(wifimac); */ + if (drv_priv->net_ops->wifi_mac_pwrsave_is_sta_fullsleep(wnet_vif) == 0) + { + WIFINET_PWRSAVE_LOCK(wnet_vif); -+ //wait for beacon timeout ++ /* wait for beacon timeout */ + ps->ips_sleep_wait_reason = SLEEP_AFTER_WAIT_BEACON_TIMEOUT; + os_timer_ex_start_period(&ps->ips_timer_sleep_wait, ps->ips_ps_waitbeacon_timeout); + ps->ips_flag_waitbeacon_timer_start = 1; @@ -54700,18 +55073,17 @@ index 000000000000..abeda5f1221a +} + +static void -+drv_p2p_opps_cwend_sleep (struct wlan_net_vif *wnet_vif, -+ struct drv_private *drv_priv) ++drv_p2p_opps_cwend_sleep(struct wlan_net_vif *wnet_vif, struct drv_private *drv_priv) +{ + wnet_vif->vm_pstxqueue_flags |= WIFINET_PSQUEUE_OPPS; + drv_priv->net_ops->wifi_mac_pwrsave_fullsleep(wnet_vif, SLEEP_AFTER_OPPS_END); +} + +int -+drv_p2p_go_opps_cwend_may_sleep (struct wlan_net_vif *wnet_vif) ++drv_p2p_go_opps_cwend_may_sleep(struct wlan_net_vif *wnet_vif) +{ + struct wifi_mac *wifimac = wnet_vif->vm_wmac; -+ struct drv_private * drv_priv = wifimac->drv_priv; ++ struct drv_private *drv_priv = wifimac->drv_priv; + int ret = -1; + + DPRINTF(AML_DEBUG_PWR_SAVE,"%s(%d) opmode %d vm_ps_sta %d " @@ -54722,13 +55094,13 @@ index 000000000000..abeda5f1221a + !drv_txlist_all_qcnt(drv_priv, HAL_WME_MCAST), + !drv_txlist_all_qcnt(drv_priv, HAL_WME_UAPSD)); + /* -+ * go goto sleep when no frames are going to send or are sent, -+ * all gc are in sleep state. -+ */ -+ if ((wifi_mac_pwrsave_if_ap_can_opps (wnet_vif) == 0) -+ && !drv_txlist_all_qcnt(drv_priv, HAL_WME_MCAST) -+ && !wnet_vif->vm_legacyps_txframes -+ && !drv_txlist_all_qcnt(drv_priv, HAL_WME_UAPSD)) ++ * go goto sleep when no frames are going to send or are sent, ++ * all gc are in sleep state. ++ */ ++ if ((wifi_mac_pwrsave_if_ap_can_opps (wnet_vif) == 0) && ++ !drv_txlist_all_qcnt(drv_priv, HAL_WME_MCAST) && ++ !wnet_vif->vm_legacyps_txframes && ++ !drv_txlist_all_qcnt(drv_priv, HAL_WME_UAPSD)) + { + drv_p2p_opps_cwend_sleep(wnet_vif, drv_priv); + ret = 0; @@ -54739,12 +55111,12 @@ index 000000000000..abeda5f1221a +int drv_p2p_client_opps_cwend_may_sleep (struct wlan_net_vif *wnet_vif) +{ + struct wifi_mac *wifimac = wnet_vif->vm_wmac; -+ struct drv_private * drv_priv = wifimac->drv_priv; ++ struct drv_private *drv_priv = wifimac->drv_priv; + int ret = -1; + -+ //for sta, if unicast trigger is in process, transfer to unicast -+ if ((wnet_vif->vm_opmode==WIFINET_M_STA) -+ && !wnet_vif->vm_pwrsave.ips_flag_send_ps_trigger) ++ /* for sta, if unicast trigger is in process, transfer to unicast */ ++ if ((wnet_vif->vm_opmode == WIFINET_M_STA) && ++ !wnet_vif->vm_pwrsave.ips_flag_send_ps_trigger) + { + drv_p2p_opps_cwend_sleep(wnet_vif, drv_priv); + ret = 0; @@ -54752,16 +55124,17 @@ index 000000000000..abeda5f1221a + return ret; +} + -+static void drv_intr_p2p_opps_cwend (void * dpriv,unsigned char wnet_vif_id) ++static void drv_intr_p2p_opps_cwend(void *dpriv,unsigned char wnet_vif_id) +{ + struct drv_private *drv_priv = (struct drv_private *)dpriv; -+ struct wlan_net_vif *wnet_vif = NULL; ++ struct wlan_net_vif *wnet_vif; + + wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; + if (wnet_vif) + { +#ifdef CONFIG_P2P + struct wifi_mac_p2p *p2p = wnet_vif->vm_p2p; ++ + if (p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI) + { + wnet_vif->vm_p2p->p2p_flag |= P2P_OPPPS_CWEND_FLAG_HI; @@ -54775,12 +55148,12 @@ index 000000000000..abeda5f1221a + } + if (drv_p2p_client_opps_cwend_may_sleep(wnet_vif) == 0) + { -+ break;; ++ break; + } + if (wnet_vif->vm_pstxqueue_flags & WIFINET_PSQUEUE_NOA) + { -+ //if has trigger in process, just sleep. after noa end, trigger again -+ drv_priv->net_ops->wifi_mac_pwrsave_fullsleep(wnet_vif, SLEEP_AFTER_NOA_START); ++ /* if has trigger in process, just sleep. after noa end, trigger again */ ++ drv_priv->net_ops->wifi_mac_pwrsave_fullsleep(wnet_vif, SLEEP_AFTER_NOA_START); + break; + } + } @@ -54794,15 +55167,15 @@ index 000000000000..abeda5f1221a +drv_intr_p2p_noa_start (void *dpriv,unsigned char wnet_vif_id) +{ + struct drv_private *drv_priv = (struct drv_private *)dpriv; -+ struct wlan_net_vif *wnet_vif = NULL; ++ struct wlan_net_vif *wnet_vif; + + wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; + if (wnet_vif) + { +#ifdef CONFIG_P2P -+ if (drv_priv->net_ops->wifi_mac_pwrsave_is_wnet_vif_fullsleep(wnet_vif)==0) ++ if (drv_priv->net_ops->wifi_mac_pwrsave_is_wnet_vif_fullsleep(wnet_vif) == 0) + { -+ //drv_priv->net_ops->wifi_mac_pwrsave_networksleep(wnet_vif, NETSLEEP_AFTER_NOA); ++ /* drv_priv->net_ops->wifi_mac_pwrsave_networksleep(wnet_vif, NETSLEEP_AFTER_NOA); */ + } + p2p_noa_start_irq(wnet_vif->vm_p2p, drv_priv); +#endif @@ -54812,9 +55185,9 @@ index 000000000000..abeda5f1221a +static void drv_intr_fw_event(void *dpriv, void *event) +{ + struct drv_private *drv_priv = (struct drv_private *)dpriv; -+ struct wlan_net_vif *wnet_vif = NULL; ++ struct wlan_net_vif *wnet_vif; + struct fw_event_no_data *fw_event = (struct fw_event_no_data *)event; -+ struct wifi_mac *wifimac = NULL; ++ struct wifi_mac *wifimac; + + wnet_vif = drv_priv->drv_wnet_vif_table[fw_event->basic_info.vid]; + if (wnet_vif == NULL) { @@ -54822,7 +55195,7 @@ index 000000000000..abeda5f1221a + } + wifimac = wnet_vif->vm_wmac; + -+ //printk("%s, vid:%d, event:%d\n", __func__, fw_event->basic_info.vid, fw_event->basic_info.event); ++ //pr_debug("%s, vid:%d, event:%d\n", __func__, fw_event->basic_info.vid, fw_event->basic_info.event); + + switch (fw_event->basic_info.event) { + case DHCP_OFFLOAD_EVENT: @@ -54855,8 +55228,8 @@ index 000000000000..abeda5f1221a + { + struct tx_error_event *error_event = (struct tx_error_event *)fw_event; + -+ printk("%s:%d, frame type %x, error type %x \n", __func__, __LINE__, -+ error_event->frame_type, error_event->error_type); ++ pr_debug("%s:%d, frame type %x, error type %x \n", __func__, __LINE__, ++ error_event->frame_type, error_event->error_type); + +#if 0 + WIFINET_FW_STAT_LOCK(wifimac); @@ -54877,12 +55250,11 @@ index 000000000000..abeda5f1221a + case COEX_EVENT: + { + struct coex_info_event *coex_event = (struct coex_info_event *)fw_event; -+ AML_OUTPUT("coex state = %d\n",coex_event->coexist_state); ++ AML_OUTPUT("coex state = %d\n", coex_event->coexist_state); + + if (coex_event->coexist_state == TRUE_RSSI) { + wifimac->bt_lk = 1; + wifi_mac_set_channel_rssi(wifimac, (unsigned char)(wnet_vif->vm_mainsta->sta_avg_bcn_rssi)); -+ + } else if (coex_event->coexist_state == OPTIMIZE_RSSI) { + wifimac->bt_lk = 0; + wifi_mac_set_channel_rssi(wifimac, (unsigned char)(wnet_vif->vm_mainsta->sta_avg_bcn_rssi)); @@ -54891,77 +55263,66 @@ index 000000000000..abeda5f1221a + } + + case FWLOG_PRINT_EVENT: -+ drv_priv->hal_priv->hal_ops.hal_set_fwlog_cmd(3); //3: print fwlog ++ drv_priv->hal_priv->hal_ops.hal_set_fwlog_cmd(3); /* 3: print fwlog */ + break; + -+ + default: + break; + } +} + -+static void drv_intr_tx_null_data(void *dpriv, struct tx_nulldata_status * tx_null_status) ++static void drv_intr_tx_null_data(void *dpriv, struct tx_nulldata_status *tx_null_status) +{ + struct drv_private *drv_priv = (struct drv_private *)dpriv; -+ struct wlan_net_vif *wnet_vif = NULL; ++ struct wlan_net_vif *wnet_vif; + + wnet_vif = drv_priv->drv_wnet_vif_table[tx_null_status->wnet_vif_id]; + -+ //if send nulldata with ps=1 successfully, enter sleep -+ //else wakeup -+ //printk("%s pwr_flag:%d, status:%d\n", __func__, tx_null_status->pwr_flag, tx_null_status->txstatus); ++ /* if send nulldata with ps=1 successfully, enter sleep ++ * else wakeup ++ * pr_debug("%s pwr_flag:%d, status:%d\n", __func__, tx_null_status->pwr_flag, tx_null_status->txstatus); ++ */ + if (tx_null_status->pwr_flag == 0) + return; + + if ((tx_null_status->qos == 0) && (tx_null_status->ps == 1)) { + if (tx_null_status->txstatus== TX_DESCRIPTOR_STATUS_NULL_DATA_OK) { + if (!(wnet_vif->vm_wmac->wm_flags & WIFINET_F_SCAN)) { -+ drv_priv->net_ops->wifi_mac_pwrsave_fullsleep(wnet_vif, SLEEP_AFTER_TX_NULL_WITH_PS); ++ drv_priv->net_ops->wifi_mac_pwrsave_fullsleep(wnet_vif, ++ SLEEP_AFTER_TX_NULL_WITH_PS); + #ifdef USER_UAPSD_TRIGGER + os_timer_ex_start(&(wnet_vif->vm_pwrsave.ips_timer_uapsd_trigger)); + #endif + } + drv_priv->net_ops->wifi_mac_notify_ap_success(wnet_vif); -+ + } else if (tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NULL_DATA_FAIL) { + if (!(wnet_vif->vm_wmac->wm_flags & WIFINET_F_SCAN)) { -+ drv_priv->net_ops->wifi_mac_pwrsave_wkup_and_NtfyAp(wnet_vif, WKUP_FROM_PSNULL_FAIL); -+ ++ drv_priv->net_ops->wifi_mac_pwrsave_wkup_and_NtfyAp(wnet_vif, ++ WKUP_FROM_PSNULL_FAIL); + } + drv_priv->net_ops->wifi_mac_notify_ap_success(wnet_vif); + } + } +} + -+static void drv_intr_beacon_miss(void * dpriv, unsigned char wnet_vif_id) ++static void drv_intr_beacon_miss(void *dpriv, unsigned char wnet_vif_id) +{ + struct drv_private *drv_priv = (struct drv_private *)dpriv; ++ + drv_priv->net_ops->wifi_mac_beacon_miss(drv_priv->drv_wnet_vif_table[wnet_vif_id]); +} + -+ -+ -+static void drv_trigger_send_delba(SYS_TYPE param1, -+ SYS_TYPE param2,SYS_TYPE param3, SYS_TYPE param4,SYS_TYPE param5) ++static void drv_trigger_send_delba(SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, ++ SYS_TYPE param5) +{ + struct drv_private *drv_priv = drv_get_drv_priv(); + unsigned int vid = 0; -+ struct wlan_net_vif *wnet_vif = drv_priv->drv_wnet_vif_table[vid]; /*vmac 0*/ ++ struct wlan_net_vif *wnet_vif = drv_priv->drv_wnet_vif_table[vid]; /* vmac 0 */ + struct hw_interface* hif = hif_get_hw_interface(); -+ struct wifi_station* sta = NULL; -+ struct wifi_station* sta_next = NULL; -+ struct aml_driver_nsta *drv_sta = NULL; -+ unsigned int reg_val = 0; -+ struct wifi_mac_action_mgt_args actionargs; -+ //struct hal_private *hal_priv = hal_get_priv(); -+ struct wifi_mac* wifi_mac = wifi_mac_get_mac_handle(); -+ unsigned int tid_index = 0; -+ struct drv_rx_scoreboard *RxTidState = NULL; -+ struct wifi_station_tbl *vm_sta_tbl = &(wnet_vif->vm_sta_tbl); -+ unsigned int i = 0; -+ unsigned int j = 0; -+ -+ memset(&actionargs, 0, sizeof( struct wifi_mac_action_mgt_args)); ++ unsigned int reg_val; ++ struct wifi_mac* wifi_mac = wifi_mac_get_mac_handle(); ++ unsigned int j; + + reg_val = hif->hif_ops.hi_read_word(RG_COEX_BT_LOGIC_INFO); + if (reg_val & COEX_EN_ESCO) { @@ -54973,34 +55334,61 @@ index 000000000000..abeda5f1221a + wifi_mac->wm_esco_en = 0; + } + -+ /*two vid need consider*/ -+ for (j = 0; j < 2; ++j) { -+ vm_sta_tbl = &drv_priv->drv_wnet_vif_table[j]->vm_sta_tbl; ++ /* two vid need consider */ ++ for (j = 0; j < 2; ++j) { ++ struct wifi_station_tbl *vm_sta_tbl; ++ unsigned int i; ++ ++ vm_sta_tbl = &drv_priv->drv_wnet_vif_table[j]->vm_sta_tbl; ++ ++ /* traverse all hash value */ ++ for (i = 0; i < WIFINET_NODE_HASHSIZE; i++) { ++ struct wifi_station* sta = NULL; ++ struct wifi_station* sta_next = NULL; + -+ /*traverse all hash value*/ -+ for (i = 0; i < WIFINET_NODE_HASHSIZE; i++) { -+ /*traverse all staion in one hash value*/ ++ /* traverse all station in one hash value */ + WIFINET_NODE_LOCK(vm_sta_tbl); + list_for_each_entry_safe(sta, sta_next, &vm_sta_tbl->nt_nsta, sta_list) { ++ struct aml_driver_nsta *drv_sta; ++ unsigned int tid_index; ++ + drv_sta = DRIVER_NODE(sta->drv_sta); + -+ /*traverse all tid */ ++ /* traverse all tid */ + for (tid_index = 0; tid_index < WME_NUM_TID; tid_index++) { ++ struct drv_rx_scoreboard *RxTidState; ++ + RxTidState = &drv_sta->rx_scb[tid_index]; + + if (RxTidState->rx_addba_exchangecomplete) { ++ struct wifi_mac_action_mgt_args actionargs; ++ ++ memset(&actionargs, 0, sizeof(struct wifi_mac_action_mgt_args)); ++ + actionargs.category = AML_CATEGORY_BACK; + actionargs.action = WIFINET_ACTION_BA_DELBA; + actionargs.arg1 = tid_index; + /* -+ The Initiator subfield indicates if the originator or the recipient of the data is sending this frame. It is set to 1 -+ to indicate the originator and is set to 0 to indicate the recipient. The TID subfield indicates the TSID or the -+ UP for which the block ack has been originally set up. -+ */ -+ actionargs.arg2 = BA_INITIATOR; /*reference protocol 802.11-2016.pdf chapter 9.4.1.16 DELBA Parameter Set field*/ -+ actionargs.arg3 = 1; /* reference hornor v9 phone, reference protocol 802.11-2016.pdf chapter 9.4.1.9 Status Code field*/ ++ * The Initiator subfield indicates if the originator or the ++ * recipient of the data is sending this frame. It is set to 1 ++ * to indicate the originator and is set to 0 to indicate the ++ * recipient.The TID subfield indicates the TSID or the UP for ++ * which the block ack has been originally set up. ++ */ ++ ++ /* reference protocol 802.11-2016.pdf chapter 9.4.1.16 ++ * DELBA Parameter Set field ++ */ ++ actionargs.arg2 = BA_INITIATOR; ++ ++ ++ /* reference hornor v9 phone, reference protocol 802.11-2016.pdf ++ * chapter 9.4.1.9 Status Code field ++ */ ++ actionargs.arg3 = 1; + wifi_mac_send_action(sta, (void *)&actionargs); -+ printk("%s:%d, tid_index %d ->sta_macaddr=%s\n", __func__, __LINE__, tid_index, ether_sprintf(sta->sta_macaddr)); ++ pr_debug("%s:%d, tid_index %d ->sta_macaddr=%s\n", ++ __func__, __LINE__, tid_index, ether_sprintf(sta->sta_macaddr)); + } + } + } @@ -55009,47 +55397,48 @@ index 000000000000..abeda5f1221a + } +} + -+/*when BT logic link information change or BT alive status change -+WIFI need to change aggregate number -+and notify each other that our receiving window has become smaller -+*/ -+static void drv_intr_bt_info_change(void * dpriv, unsigned char wnet_vif_id,unsigned char bt_lk_change ) ++/* When BT logic link information change or BT alive status change ++ * WIFI need to change aggregate number and notify each other that ++ * our receiving window has become smaller. ++ */ ++static void drv_intr_bt_info_change(void *dpriv, unsigned char wnet_vif_id, unsigned char bt_lk_change) +{ + struct drv_private *drv_priv = (struct drv_private *)dpriv; -+ struct wlan_net_vif *wnet_vif = NULL; ++ struct wlan_net_vif *wnet_vif; + struct hw_interface* hif = hif_get_hw_interface(); -+ unsigned int reg_val = 0; -+ unsigned int reg_val2 = 0; -+ struct wifi_mac* p_wifi_mac = wifi_mac_get_mac_handle(); + + wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; -+ printk("%s:%d, vid %d \n", __func__, __LINE__, wnet_vif_id); ++ pr_debug("%s:%d, vid %d \n", __func__, __LINE__, wnet_vif_id); + -+ /*not open coexistence function*/ ++ /* Not open coexistence function. */ + if (drv_priv->drv_config.cfg_wifi_bt_coexist_support == 0) { + return; + } + -+ if ((wnet_vif->vm_opmode != WIFINET_M_STA) || ( drv_priv->drv_config.cfg_txaggr == 0)) { ++ if ((wnet_vif->vm_opmode != WIFINET_M_STA) || (drv_priv->drv_config.cfg_txaggr == 0)) { + return; + } + -+ if (bt_lk_change == 1) {/*BT link info change*/ ++ if (bt_lk_change == 1) { /* BT link info change */ + drv_trigger_send_delba(0, 0, 0, 0, 0); -+ + } else { ++ struct wifi_mac *p_wifi_mac = wifi_mac_get_mac_handle(); ++ unsigned int reg_val; ++ unsigned int reg_val2; ++ + reg_val = hif->hif_ops.hi_read_word(RG_BT_PMU_A16); + reg_val2 = hif->hif_ops.hi_read_word(RG_PMU_A16); -+ printk("drv_intr_bt_info_change reg addr=0x%x,value=0x%x reg addr=0x%x,value=0x%x ", RG_BT_PMU_A16, reg_val, RG_PMU_A16, reg_val2); ++ pr_debug("drv_intr_bt_info_change reg addr=0x%x,value=0x%x reg addr=0x%x,value=0x%x ", ++ RG_BT_PMU_A16, reg_val, RG_PMU_A16, reg_val2); ++ + if ((reg_val & BIT(31)) && (reg_val2 & BIT(31))) { /* coex is work */ + drv_priv->drv_config.cfg_ampdu_subframes = DEFAULT_TXAMPDU_SUB_MAX_COEX_ESCO; + p_wifi_mac->wm_bt_en = 1; -+ printk("coex change to work\n"); -+ ++ pr_debug("coex change to work\n"); + } else { /* coex is not work */ + drv_priv->drv_config.cfg_ampdu_subframes = DEFAULT_TXAMPDU_SUB_MAX; + p_wifi_mac->wm_bt_en = 0; -+ printk("coex change to not work\n"); ++ pr_debug("coex change to not work\n"); + } + } +} @@ -55057,17 +55446,17 @@ index 000000000000..abeda5f1221a +static int +drv_dev_probe(void) +{ -+ struct vm_wlan_net_vif_params vm_param; ++ struct vm_wlan_net_vif_params vm_param = { 0 }; + struct hal_private *hal_priv = hal_get_priv(); + struct drv_private *drv_priv = drv_get_drv_priv(); + struct wifi_mac *wm_mac = wifi_mac_get_mac_handle(); -+ int ret = 0; -+ int vif0opmode = -1; -+ int vif1opmode = -1; -+ char * vmac0 = NULL; -+ char * vmac1 = NULL; ++ int ret; ++ int vif0opmode; ++ int vif1opmode; ++ char *vmac0; ++ char *vmac1; + -+ /*2 init hal, download fw, host init */ ++ /* 2 init hal, download fw, host init. */ + if ((hal_priv->hal_ops.hal_probe != NULL) && (!hal_priv->hal_ops.hal_probe())) { + wifi_hal_probe_done = 0; + ERROR_DEBUG_OUT("init hal error\n"); @@ -55081,24 +55470,24 @@ index 000000000000..abeda5f1221a + wifi_mac_init_ops(wm_mac); + + aml_wifi_set_mac_addr(); -+ printk("%s(%d) mac_addr set done."MAC_FMT"", __func__,__LINE__, -+ mac_addr0,mac_addr1,mac_addr2, mac_addr3,mac_addr4,mac_addr5); ++ pr_debug("%s(%d) mac_addr set done."MAC_FMT"", __func__,__LINE__, ++ mac_addr0, mac_addr1, mac_addr2, mac_addr3, mac_addr4, mac_addr5); + -+ /*3 init driver */ ++ /* 3 init driver. */ + if(aml_driv_attach(drv_priv, wm_mac)) { + ERROR_DEBUG_OUT("init driver error\n"); + goto err_ret; + } + -+ /*4 init wifimac */ ++ /* 4 init wifimac. */ + if (wifi_mac_entry(wm_mac, drv_priv) != 0) { + ERROR_DEBUG_OUT( "init wifimac error\n"); + goto err_ret; + } + -+ /*5 create vmac 'wlan0' and 'p2p0' */ ++ /* 5 create vmac 'wlan0' and 'p2p0'. */ + vmac0 = aml_wifi_get_vif0_name(); -+ memcpy(&vm_param.vm_param_name, vmac0, IFNAMSIZ); ++ strscpy(vm_param.vm_param_name, vmac0, sizeof(vm_param.vm_param_name)); + + vif0opmode = aml_wifi_get_vif0_opmode(); + if ((vif0opmode >= WIFINET_M_IBSS) && (vif0opmode <= WIFINET_M_P2P_DEV)) { @@ -55106,10 +55495,10 @@ index 000000000000..abeda5f1221a + } else { + vm_param.vm_param_opmode = WIFINET_M_STA; + } -+ ret = drv_priv->net_ops->wifi_mac_create_vmac(wm_mac, &vm_param,0); ++ ret = drv_priv->net_ops->wifi_mac_create_vmac(wm_mac, &vm_param, 0); + + vmac1 = aml_wifi_get_vif1_name(); -+ memcpy(&vm_param.vm_param_name, vmac1, IFNAMSIZ); ++ strscpy(vm_param.vm_param_name, vmac1, sizeof(vm_param.vm_param_name)); + + vif1opmode = aml_wifi_get_vif1_opmode(); + if ((vif1opmode >= WIFINET_M_IBSS) && (vif1opmode <= WIFINET_M_P2P_DEV)) { @@ -55117,15 +55506,15 @@ index 000000000000..abeda5f1221a + } else { + vm_param.vm_param_opmode = WIFINET_M_P2P_DEV; + } -+ ret = drv_priv->net_ops->wifi_mac_create_vmac(wm_mac, &vm_param,0); ++ ret = drv_priv->net_ops->wifi_mac_create_vmac(wm_mac, &vm_param, 0); + -+ /*6 init station */ ++ /* 6 init station. */ + drv_priv->net_ops->wifi_mac_sta_attach(wm_mac); + ret = register_inetaddr_notifier(&aml_inetaddr_cb); + ret = register_inet6addr_notifier(&aml_inet6addr_cb); -+ //should not be here ++ /* should not be here. */ + drv_priv->drv_ops.drv_set_bmfm_info(drv_priv, 0, 0, 0, 0); -+ drv_hal_enable_coexist(drv_priv->drv_config.cfg_wifi_bt_coexist_support ); ++ drv_hal_enable_coexist(drv_priv->drv_config.cfg_wifi_bt_coexist_support); + + return ret; + @@ -55134,12 +55523,11 @@ index 000000000000..abeda5f1221a + return -ENODEV; +} + -+ +int drv_dev_remove(void) +{ + struct hal_private *hal_priv = hal_get_priv(); -+ struct drv_private* drv_priv = drv_get_drv_priv(); -+ struct wifi_mac* wm_mac = wifi_mac_get_mac_handle(); ++ struct drv_private *drv_priv = drv_get_drv_priv(); ++ struct wifi_mac *wm_mac = wifi_mac_get_mac_handle(); + + hal_priv->hi_task_stop = 1; + drv_priv->net_ops->wifi_mac_mac_exit(wm_mac); @@ -55185,10 +55573,10 @@ index 000000000000..abeda5f1221a +} diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_main.h b/drivers/net/wireless/w1/vmac/wifi_drv_main.h new file mode 100644 -index 000000000000..227dbda0a0e8 +index 0000000000000000000000000000000000000000..245fdd1408b465c27c496fe26a1785888130e61d --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_main.h -@@ -0,0 +1,616 @@ +@@ -0,0 +1,624 @@ +/* + **************************************************************************************** + * @@ -55241,6 +55629,8 @@ index 000000000000..227dbda0a0e8 +#define DRV_RXTID_UNLOCK(_rxtid) OS_SPIN_UNLOCK(&(_rxtid)->agg_tid_slock) +#define DRV_RXTID_LOCK_IRQ(_rxtid,flag) OS_SPIN_LOCK_IRQ(&(_rxtid)->agg_tid_slock,flag) +#define DRV_RXTID_UNLOCK_IRQ(_rxtid,flag) OS_SPIN_UNLOCK_IRQ(&(_rxtid)->agg_tid_slock,flag) ++#define DRV_RXTID_LOCK_BH(_rxtid) OS_SPIN_LOCK_BH(&(_rxtid)->agg_tid_slock) ++#define DRV_RXTID_UNLOCK_BH(_rxtid) OS_SPIN_UNLOCK_BH(&(_rxtid)->agg_tid_slock) + +#define DRV_TXQUEUE_VALUE(drv_priv, i) ((drv_priv)->drv_txqueue_map & (1<tid; + struct drv_rx_scoreboard *RxTidState = &drv_sta->rx_scb[tid_index]; + -+ DRV_RXTID_LOCK(RxTidState); ++ DRV_RXTID_LOCK_BH(RxTidState); + + if (!drv_priv->drv_config.cfg_rxaggr) + { @@ -56179,7 +56575,7 @@ index 000000000000..62e2b78d9694 + RxTidState->baparamset.amsdusupported = WIFINET_BA_AMSDU_SUPPORTED; + RxTidState->baparamset.tid = tid_index; + -+ DRV_RXTID_UNLOCK(RxTidState); ++ DRV_RXTID_UNLOCK_BH(RxTidState); + return 0; +} + @@ -56247,13 +56643,13 @@ index 000000000000..62e2b78d9694 + tid_index = (bar->i_ctl & WIFINET_BAR_CTL_TID_M) >> WIFINET_BAR_CTL_TID_S; + seqnum = le16toh(bar->i_seq) >> WIFINET_SEQ_SEQ_SHIFT; + RxTidState = &drv_sta->rx_scb[tid_index]; -+ DRV_RXTID_LOCK(RxTidState); ++ DRV_RXTID_LOCK_BH(RxTidState); + index = DRV_BA_INDEX(RxTidState->seq_next, seqnum); + + if ((index > RxTidState->baw_size) && + (index > (WIFINET_SEQ_MAX - (RxTidState->baw_size << 2)))) + { -+ DRV_RXTID_UNLOCK(RxTidState); ++ DRV_RXTID_UNLOCK_BH(RxTidState); + drv_priv->drv_stats.rx_bardrop_cnt++; + os_skb_free(skbbuf); + return WIFINET_FC0_TYPE_CTL; @@ -56288,7 +56684,7 @@ index 000000000000..62e2b78d9694 + CIRCLE_Add_One(RxTidState->baw_head, DRV_TID_MAX_BUFS); + CIRCLE_Add_One(RxTidState->seq_next, WIFINET_SEQ_MAX); + } -+ DRV_RXTID_UNLOCK(RxTidState); ++ DRV_RXTID_UNLOCK_BH(RxTidState); + os_skb_free(skbbuf); + return WIFINET_FC0_TYPE_CTL; +} @@ -56304,7 +56700,6 @@ index 000000000000..62e2b78d9694 + unsigned char type, subtype; + int b_mcast, tid, index, desc_id, rxdiff, is4addr; + unsigned short rxseq; -+ unsigned long lockflags; + struct aml_driver_nsta *drv_sta = (struct aml_driver_nsta *)nsta; + + wh = (struct wifi_frame *)os_skb_data(skbbuf); @@ -56349,10 +56744,10 @@ index 000000000000..62e2b78d9694 + } + RxTidState = &drv_sta->rx_scb[tid]; + -+ DRV_RXTID_LOCK_IRQ(RxTidState,lockflags); ++ DRV_RXTID_LOCK_BH(RxTidState); + if (!RxTidState->rx_addba_exchangecomplete) + { -+ DRV_RXTID_UNLOCK_IRQ(RxTidState,lockflags); ++ DRV_RXTID_UNLOCK_BH(RxTidState); + drv_priv->drv_stats.rx_nonqos_cnt++; + return drv_priv->net_ops->wifi_mac_input(drv_sta->net_nsta, skbbuf, rs); + } @@ -56368,7 +56763,7 @@ index 000000000000..62e2b78d9694 + + if (index > (WIFINET_SEQ_MAX - (RxTidState->baw_size << 2))) + { -+ DRV_RXTID_UNLOCK_IRQ(RxTidState,lockflags); ++ DRV_RXTID_UNLOCK_BH(RxTidState); + os_skb_free(skbbuf); + return WIFINET_FC0_TYPE_DATA; + } @@ -56397,7 +56792,7 @@ index 000000000000..62e2b78d9694 + + if (pRxDesc->rx_wbuf != NULL) + { -+ DRV_RXTID_UNLOCK_IRQ(RxTidState,lockflags); ++ DRV_RXTID_UNLOCK_BH(RxTidState); + drv_priv->drv_stats.rx_dup_cnt++; + + os_skb_free(skbbuf); @@ -56442,14 +56837,15 @@ index 000000000000..62e2b78d9694 + { + os_timer_ex_cancel(&RxTidState->timer, CANCEL_NO_SLEEP); + } -+ DRV_RXTID_UNLOCK_IRQ(RxTidState,lockflags); -+ ++ DRV_RXTID_UNLOCK_BH(RxTidState); + return WIFINET_FC0_TYPE_DATA; +} + -+static int drv_rx_sort_timer(void *context) ++static void drv_rx_sort_timer_ex(SYS_TYPE param1, SYS_TYPE param2, ++ SYS_TYPE param3, SYS_TYPE param4, ++ SYS_TYPE param5) +{ -+ struct drv_rx_scoreboard *RxTidState = (struct drv_rx_scoreboard *) context; ++ struct drv_rx_scoreboard *RxTidState = (struct drv_rx_scoreboard *) param1; + struct aml_driver_nsta *drv_sta = RxTidState->drv_sta; + struct drv_private *drv_priv = drv_sta->sta_drv_priv; + int nosched = OS_TIMER_NOT_REARMED; @@ -56457,9 +56853,8 @@ index 000000000000..62e2b78d9694 + int count = 0; + unsigned long diff; + int bawhead; -+ unsigned long lockflags; + -+ DRV_RXTID_LOCK_IRQ(RxTidState,lockflags); ++ DRV_RXTID_LOCK_BH(RxTidState); + bawhead = RxTidState->baw_head; + while (bawhead != RxTidState->baw_tail) + { @@ -56497,18 +56892,18 @@ index 000000000000..62e2b78d9694 + } + + if (RxTidState->baw_head != RxTidState->baw_tail) -+ { -+ nosched = OS_TIMER_REARMED; -+ } -+ else -+ { -+ nosched = OS_TIMER_NOT_REARMED; -+ } -+ DRV_RXTID_UNLOCK_IRQ(RxTidState,lockflags);; -+ -+ return nosched; ++ os_timer_ex_start(&RxTidState->timer); ++ DRV_RXTID_UNLOCK_BH(RxTidState); +} + ++static int drv_rx_sort_timer(void *context) ++{ ++ drv_hal_add_workitem((WorkHandler)drv_rx_sort_timer_ex, NULL, ++ (SYS_TYPE)context, (SYS_TYPE)0, (SYS_TYPE)0, ++ (SYS_TYPE)0,(SYS_TYPE)0); ++ ++ return OS_TIMER_NOT_REARMED; ++} + +static void +drv_rx_flush_tid(struct drv_private *drv_priv, struct drv_rx_scoreboard *RxTidState, int drop) @@ -56647,7 +57042,7 @@ index 000000000000..62e2b78d9694 +} diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_recv.h b/drivers/net/wireless/w1/vmac/wifi_drv_recv.h new file mode 100644 -index 000000000000..03e2e849ec7e +index 0000000000000000000000000000000000000000..03e2e849ec7eb0108126c6d7697bdee4e3e04b12 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_recv.h @@ -0,0 +1,24 @@ @@ -56677,7 +57072,7 @@ index 000000000000..03e2e849ec7e + diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.c b/drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.c new file mode 100644 -index 000000000000..f5e3700a3b15 +index 0000000000000000000000000000000000000000..bafc3125538650cf2b20110de0d8239216c90e04 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.c @@ -0,0 +1,525 @@ @@ -56685,7 +57080,7 @@ index 000000000000..f5e3700a3b15 + +#define I2C_CLK_QTR 0x4 //old parameter 0x82 + -+void write_byte_8ba(unsigned char Bus, unsigned char SlaveAddr, ++static void write_byte_8ba(unsigned char Bus, unsigned char SlaveAddr, + unsigned char RegAddr, unsigned char Data) +{ + struct hw_interface* hif = hif_get_hw_interface(); @@ -56721,14 +57116,14 @@ index 000000000000..f5e3700a3b15 + + cnt++; + if (cnt == 1000) { -+ printk("-------[ERR]-----> i2c[W] err\n"); ++ pr_err("-------[ERR]-----> i2c[W] err\n"); + break; + } + } while (tmp & (1 << 2)); + +} + -+unsigned char read_byte_8ba(unsigned char Bus, unsigned char SlaveAddr, unsigned char RegAddr) ++static unsigned char read_byte_8ba(unsigned char Bus, unsigned char SlaveAddr, unsigned char RegAddr) +{ + struct hw_interface* hif = hif_get_hw_interface(); + unsigned int tmp,cnt = 0; @@ -56765,7 +57160,7 @@ index 000000000000..f5e3700a3b15 + + cnt++; + if (cnt == 1000) { -+ printk("-------[ERR]-----> i2c[W] err\n"); ++ pr_err("-------[ERR]-----> i2c[W] err\n"); + break; + } + } while (tmp & (1 << 2)); @@ -56776,13 +57171,13 @@ index 000000000000..f5e3700a3b15 + + +//void write_rdaddr_32ba(U8 Bus, U8 SlaveAddr, U32 TkData0, U32 TkData1) -+void write_word_32ba(unsigned char Bus, unsigned char SlaveAddr, ++static void write_word_32ba(unsigned char Bus, unsigned char SlaveAddr, + unsigned int StartToken, unsigned int Data) +{ + struct hw_interface* hif = hif_get_hw_interface(); + unsigned int tmp,cnt = 0; + -+ // printk("%s(%d) token 0x%x data 0x%x\n", __func__, __LINE__, StartToken,Data); ++ // pr_debug("%s(%d) token 0x%x data 0x%x\n", __func__, __LINE__, StartToken,Data); + + // Set the I2C bus to 100khz + tmp = hif->hif_ops.hi_read_word(I2C_CONTROL_REG); @@ -56825,7 +57220,7 @@ index 000000000000..f5e3700a3b15 + } while (tmp & (1 << 2)); +} + -+unsigned int read_word_32ba(unsigned int SlaveAddr, unsigned int RegAddr) ++static unsigned int read_word_32ba(unsigned int SlaveAddr, unsigned int RegAddr) +{ + struct hw_interface* hif = hif_get_hw_interface(); + unsigned int tmp,cnt = 0; @@ -56925,7 +57320,7 @@ index 000000000000..f5e3700a3b15 + } else if (((address >> 24) & 0xf0) == 0xf0 ) { +#ifdef USE_T902X_RF + rf_i2c_write( address & 0xffffffff,data );//access t902x rf reg -+ printk("%s(%d) 0x%x\n", __func__, __LINE__, data); ++ pr_debug("%s(%d) 0x%x\n", __func__, __LINE__, data); +#endif + } else { + HalPriv->hif->hif_ops.hi_write_word(address, data); @@ -56945,7 +57340,7 @@ index 000000000000..f5e3700a3b15 + } else if (((address >> 24) & 0xf0) == 0xf0 ) { +#ifdef USE_T902X_RF + *data = rf_i2c_read(address & 0xffffffff); //access t902x rf reg -+ printk("%s(%d) 0x%x\n", __func__, __LINE__, address); ++ pr_debug("%s(%d) 0x%x\n", __func__, __LINE__, address); +#endif + } else { + *data = HalPriv->hif->hif_ops.hi_read_word(address); @@ -57208,7 +57603,7 @@ index 000000000000..f5e3700a3b15 +} diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.h b/drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.h new file mode 100644 -index 000000000000..b2b12665c2eb +index 0000000000000000000000000000000000000000..b2b12665c2eb040e9ddb24b575dee9251c8bad22 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_reg_ops.h @@ -0,0 +1,41 @@ @@ -57255,7 +57650,7 @@ index 000000000000..b2b12665c2eb +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_statistic.c b/drivers/net/wireless/w1/vmac/wifi_drv_statistic.c new file mode 100644 -index 000000000000..96c3323e7e28 +index 0000000000000000000000000000000000000000..e0c5449f25a4ff39b0bf5f8b13f0f3f6bc47155f --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_statistic.c @@ -0,0 +1,1259 @@ @@ -57333,10 +57728,10 @@ index 000000000000..96c3323e7e28 + + for (i = 0; i < sts_hst_sw_max_idx; i++) + { -+ //printk("idx[%d] -->val 0x%x \n", i, sts_sys_idx_val[i]); ++ //pr_debug("idx[%d] -->val 0x%x \n", i, sts_sys_idx_val[i]); + for (j = i+1; j < sts_hst_sw_max_idx; j++) + { -+ //printk("val1 0x%x, val2 0x%x \n", sts_sys_idx_val[i], sts_sys_idx_val[j]); ++ //pr_debug("val1 0x%x, val2 0x%x \n", sts_sys_idx_val[i], sts_sys_idx_val[j]); + if(idx_val[i] == idx_val[j]) + { + rpt = 1; @@ -57350,7 +57745,7 @@ index 000000000000..96c3323e7e28 + + if(rpt == 1) + { -+ printk("mapping err !the repeat val is 0x%x, i %d, j %d\n", idx_val[i], i, j); ++ pr_err("mapping err !the repeat val is 0x%x, i %d, j %d\n", idx_val[i], i, j); + break; + } + } @@ -57706,7 +58101,7 @@ index 000000000000..96c3323e7e28 + break; + + default: -+ printk("%s,%d, statistic address 0x%x not supported\n", __func__, __LINE__, addr); ++ pr_err("%s,%d, statistic address 0x%x not supported\n", __func__, __LINE__, addr); + break; + + } @@ -57732,7 +58127,7 @@ index 000000000000..96c3323e7e28 + if(idx_val[i] == val) + { + ret = i; -+ //printk("idx_val[%d] is 0x%x, val is 0x%x\n", i, idx_val[i], val); ++ //pr_debug("idx_val[%d] is 0x%x, val is 0x%x\n", i, idx_val[i], val); + break; + } + else @@ -57743,7 +58138,7 @@ index 000000000000..96c3323e7e28 + + if(i == sts_hst_sw_max_idx) + { -+ printk("%s,%d: no find the item in statistic system: val = 0x%x max i = %d \n", __func__, __LINE__, val, i); ++ pr_err("%s,%d: no find the item in statistic system: val = 0x%x max i = %d \n", __func__, __LINE__, val, i); + } + return ret; +} @@ -57798,13 +58193,13 @@ index 000000000000..96c3323e7e28 + + for(i = 0 ; i < sizeof(sts_man) / sizeof(char*) ; i++) + { -+ printk("%s\n",sts_man[i]); ++ pr_debug("%s\n",sts_man[i]); + } + -+ printk("-----------the default configuration is-----------\n"); ++ pr_debug("-----------the default configuration is-----------\n"); + for(i = 0; iaddr[i], + cfg_data->cfg_ie[i].x&0xff, (cfg_data->cfg_ie[i].x>>8)&0xff,(cfg_data->cfg_ie[i].x>>16)&0xff,(cfg_data->cfg_ie[i].x>>24)&0xff + ); @@ -57832,19 +58227,19 @@ index 000000000000..96c3323e7e28 + ASSERT(cfg_data) + ASSERT(len != 0); + -+ printk("input: \n"); ++ pr_debug("input: \n"); + for (i = 0; i< len; i++) + { -+ printk ("0x%x ",*(data+i)); ++ pr_debug ("0x%x ",*(data+i)); + } -+ printk(" \n"); ++ pr_debug(" \n"); + + iw_cfg_if = (struct sts_iw_if*)data; + + iw_cfg_if->addr = ntohs(iw_cfg_if->addr); + iw_cfg_if->val = ntohl(iw_cfg_if->val); + -+ printk("addr: 0x%4x val: 0x%x \n", iw_cfg_if->addr, iw_cfg_if->val); ++ pr_debug("addr: 0x%4x val: 0x%x \n", iw_cfg_if->addr, iw_cfg_if->val); + + /*avoid the error address to result in system crash*/ + for(i = 0; i < sizeof(sts_reg_chk_pool)/sizeof(sts_reg_chk_pool[0]); i++) @@ -57861,14 +58256,14 @@ index 000000000000..96c3323e7e28 + + if(i == sizeof(sts_reg_chk_pool)/sizeof(sts_reg_chk_pool[0])) + { -+ printk("%s,%d: the statistic address 0x%x error, check it please...\n", __func__, __LINE__, iw_cfg_if->addr); ++ pr_debug("%s,%d: the statistic address 0x%x error, check it please...\n", __func__, __LINE__, iw_cfg_if->addr); + return; + } + -+ printk("-----------the previous configuration is-----------\n"); ++ pr_debug("-----------the previous configuration is-----------\n"); + for(i = 0; iaddr[i], + cfg_data->cfg_ie[i].x&0xff,(cfg_data->cfg_ie[i].x>>8)&0xff,(cfg_data->cfg_ie[i].x>>16)&0xff,(cfg_data->cfg_ie[i].x>>24)&0xff + ); @@ -57894,10 +58289,10 @@ index 000000000000..96c3323e7e28 + cfg_data->cfg_num++; + } + -+ printk("-----------the current configuration is-----------\n"); ++ pr_debug("-----------the current configuration is-----------\n"); + for(i = 0; iaddr[i], + cfg_data->cfg_ie[i].x&0xff, + (cfg_data->cfg_ie[i].x>>8)&0xff, @@ -57994,7 +58389,7 @@ index 000000000000..96c3323e7e28 + break; + + default: -+ printk("%s,%d, statistic address 0x%x not supported\n", __func__, __LINE__, addr); ++ pr_err("%s,%d, statistic address 0x%x not supported\n", __func__, __LINE__, addr); + break; + } + @@ -58081,7 +58476,7 @@ index 000000000000..96c3323e7e28 + break; + + default: -+ printk("%s,%d: statistic address 0x%x not supported\n", __func__, __LINE__,addr); ++ pr_err("%s,%d: statistic address 0x%x not supported\n", __func__, __LINE__,addr); + break; + } + @@ -58189,10 +58584,10 @@ index 000000000000..96c3323e7e28 + prt_idx2 = val_to_idx(sts_sys_idx_val,addr << 16 | sts_cca_cnd23_cond3_idx); + break; + default: -+ printk("%s,%d agc addr 0x%x err:\n", __func__, __LINE__, addr); ++ pr_err("%s,%d agc addr 0x%x err:\n", __func__, __LINE__, addr); + return; + } -+ printk("[%s]: %s=%d, %s=%d\n", ++ pr_debug("[%s]: %s=%d, %s=%d\n", + func_code==SYS_STS_STOP ? sts_tag[SYS_STS_STOP]:sts_tag[SYS_STS_READ], + sts_info[prt_idx1], agc_rd1,sts_info[prt_idx2], agc_rd2); + @@ -58214,7 +58609,7 @@ index 000000000000..96c3323e7e28 + + if(sts_info[prt_idx] != NULL) + { -+ printk("[%s]: %s=%d \n", ++ pr_debug("[%s]: %s=%d \n", + func_code==SYS_STS_STOP ? sts_tag[SYS_STS_STOP]: sts_tag[SYS_STS_READ], + sts_info[prt_idx] ,hal_priv->sts_hst_sw[i].cnt); + } @@ -58277,7 +58672,7 @@ index 000000000000..96c3323e7e28 + sts_read_reg_array(&rd_data0,&rd_data1,&rd_data2,&rd_data3, + RG_MAC_IRQ_STATUS_CNT0,RG_MAC_IRQ_STATUS_CNT1,RG_MAC_IRQ_STATUS_CNT2,RG_MAC_IRQ_STATUS_CNT3); + -+ printk("[%s]: %s=%8d,%s=%8d,%s=%8d,%s=%8d\n", ++ pr_debug("[%s]: %s=%8d,%s=%8d,%s=%8d,%s=%8d\n", + func_code==SYS_STS_STOP ? sts_tag[SYS_STS_STOP]:sts_tag[SYS_STS_READ], + sts_info[prt_idx0],rd_data0, + sts_info[prt_idx1],rd_data1, @@ -58297,7 +58692,7 @@ index 000000000000..96c3323e7e28 + sts_read_reg_array(&rd_data0,&rd_data1,&rd_data2,&rd_data3, + RG_MAC_FRM_TYPE_CNT0,RG_MAC_FRM_TYPE_CNT1,RG_MAC_FRM_TYPE_CNT2,RG_MAC_FRM_TYPE_CNT3); + -+ printk("[%s]: %s=%8d,%s=%8d,%s=%8d,%s=%8d\n", ++ pr_debug("[%s]: %s=%8d,%s=%8d,%s=%8d,%s=%8d\n", + func_code==SYS_STS_STOP ? sts_tag[SYS_STS_STOP]:sts_tag[SYS_STS_READ], + sts_info[prt_idx0],rd_data0, + sts_info[prt_idx1],rd_data1, @@ -58316,7 +58711,7 @@ index 000000000000..96c3323e7e28 + + rd_data0 = hif->hif_ops.hi_read_word(addr); + -+ printk("[%s]: %s=%8d\n", ++ pr_debug("[%s]: %s=%8d\n", + func_code==SYS_STS_STOP ? sts_tag[SYS_STS_STOP]:sts_tag[SYS_STS_READ], + sts_info[prt_idx0 ],(rd_data0 << 6 ) >> 6); + break; @@ -58335,12 +58730,12 @@ index 000000000000..96c3323e7e28 + rd_show = (rd_data0 << 2 ) >> 2; + } + -+ printk("[%s]: %s=%8d\n", ++ pr_debug("[%s]: %s=%8d\n", + func_code==SYS_STS_STOP ? sts_tag[SYS_STS_STOP]:sts_tag[SYS_STS_READ], + sts_info[prt_idx0],rd_show); + break; + default: -+ printk("%s,%d, statistic address 0x%x not supported\n", __func__, __LINE__, addr); ++ pr_err("%s,%d, statistic address 0x%x not supported\n", __func__, __LINE__, addr); + break; + } + @@ -58421,7 +58816,7 @@ index 000000000000..96c3323e7e28 + break; + + default: -+ printk("%s,%d: statistic address 0x%x not supported\n", __func__, __LINE__, addr); ++ pr_err("%s,%d: statistic address 0x%x not supported\n", __func__, __LINE__, addr); + break; + + } @@ -58441,10 +58836,10 @@ index 000000000000..96c3323e7e28 +void sts_show_cfg( struct sts_cfg_data* cfg_data) +{ + int i = 0; -+ printk("-----------the current configuration is-----------\n"); ++ pr_debug("-----------the current configuration is-----------\n"); + for(i = 0; icfg_num; i++) + { -+ printk("addr 0x%4x: data_a 0x%x data_b 0x%x data_c 0x%x data_d 0x%x\n", ++ pr_debug("addr 0x%4x: data_a 0x%x data_b 0x%x data_c 0x%x data_d 0x%x\n", + cfg_data->addr[i], + cfg_data->cfg_ie[i].x&0xff,(cfg_data->cfg_ie[i].x>>8)&0xff,(cfg_data->cfg_ie[i].x>>16)&0xff,(cfg_data->cfg_ie[i].x>>24)&0xff + ); @@ -58462,7 +58857,7 @@ index 000000000000..96c3323e7e28 + unsigned int i = 0; + char **tag ; + char **info; -+ printk("%s\n--------function code is 0x%x--------\n", func_prt_info[func_code], func_code); ++ pr_debug("%s\n--------function code is 0x%x--------\n", func_prt_info[func_code], func_code); + + if(func_code == SYS_STS_SHOW_CFG ) + { @@ -58501,7 +58896,7 @@ index 000000000000..96c3323e7e28 + } + else + { -+ printk("%s, %d: ptr err: tag %p info %p\n", __func__, __LINE__, tag, info); ++ pr_err("%s, %d: ptr err: tag %p info %p\n", __func__, __LINE__, tag, info); + } + break; + default : @@ -58520,379 +58915,379 @@ index 000000000000..96c3323e7e28 + diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_statistic.h b/drivers/net/wireless/w1/vmac/wifi_drv_statistic.h new file mode 100644 -index 000000000000..9d4228ac5bf0 +index 0000000000000000000000000000000000000000..d306fffb868f14753da35c4b296ac172b54309d8 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_statistic.h @@ -0,0 +1,366 @@ -+#ifndef __DRV_STATISTIC_H -+#define __DRV_STATISTIC_H -+ -+/////////////////////////////// global statistic defination//////////////////////// -+ -+#define SYS_STS_CLEAR (0) -+#define SYS_STS_START (1) -+#define SYS_STS_READ (2) -+#define SYS_STS_STOP (3) -+#define SYS_STS_SHOW_CFG (4) -+ -+#define IDX_TXSTART_IT (0) -+#define IDX_TXEND_IT (1) -+#define IDX_TXENDERR (8) -+#define IDX_ACKTO_IT (9) -+#define IDX_TXCOL_FLAG (10) -+#define IDX_RXSTART_IT (11) -+#define IDX_RXEND_IT (12) -+#define IDX_RXMPDU_OK (13) -+#define IDX_UNICAST (14) -+#define IDX_SRAMBUF_FULL (18) -+#define IDX_SWIRQ (19) -+#define IDX_TX_FRAME_TYPE (20) -+#define IDX_ABSCOUNT_INTR (30) -+#define IDX_FIQ_ENABLE (31) -+ -+#define IDX_FIAC_FW_TIMEOUT_ERR (32+0) -+#define IDX_HW_TIMEOUT_ERR (32+1) -+#define IDX_TX_WD_TIMEOUT_ERR (32+2) -+#define IDX_TXINVALIDLEN_ERR (32+3) -+#define IDX_TX_KEYMISS (32+4) -+#define IDX_TXIMSTOP_ERR (32+5) -+#define IDX_TX_PHYERROR (32+6) -+#define IDX_TXCOL_QUEUE (32+10) -+#define IDX_TX_NOT_GRANT (32+19) -+#define IDX_SRAMBUF_FULL_ERR (32+22) -+#define IDX_FCSERR (32+23) -+#define IDX_RXFIFOOV (32+24) -+#define IDX_RX_WD_TIMEOUT_ERR (32+25) -+#define IDX_SHORT_LENGTH (32+26) -+#define IDX_LENGTH_ERROR (32+27) -+#define IDX_RX_PHYERROR (32+28) -+ -+#define IDX_QOS_DATA (0x28) -+#define IDX_RTS (0x1b) -+#define IDX_CTS (0x1c) -+#define IDX_ACK (0x1d) -+ -+ -+#define STS_MAX_CFG_FILE (0x40) -+#define SYS_STS_PRT_TAG (0x1) -+#define SYS_STS_PRT_INFO (0x0) -+ -+#define IS_MAC_STS(addr) (((addr) == RG_MAC_CNT_CTRL_FIQ) ||\ -+ ((addr) == RG_MAC_FRM_TYPE_CNT_CTRL) ||\ -+ ((addr) == RG_MAC_TX_STT_CHK) || \ -+ ((addr) == RG_MAC_TX_END_CHK) ||\ -+ ((addr) == RG_MAC_TX_EN_CHK) ||\ -+ ((addr) == RG_MAC_TX_ENWR_CHK) ||\ -+ ((addr) == RG_MAC_RX_DATA_LOCAL_CNT) ||\ -+ ((addr) == RG_MAC_RX_DATA_OTHER_CNT) ||\ -+ ((addr) == RG_MAC_RX_DATA_MUTIL_CNT) ) -+ -+ -+#define IS_AGC_STS(addr) ((addr ) == RG_AGC_STATE||\ -+ (addr ) == RG_AGC_OB_IC_GAIN||\ -+ (addr ) == RG_AGC_WATCH1||\ -+ (addr ) == RG_AGC_WATCH2||\ -+ (addr ) == RG_AGC_WATCH3||\ -+ (addr ) == RG_AGC_WATCH4||\ -+ (addr ) == RG_AGC_OB_ANT_NFLOOR||\ -+ (addr ) == RG_AGC_OB_CCA_RES||\ -+ (addr ) == RG_AGC_OB_CCA_COND01||\ -+ (addr ) == RG_AGC_OB_CCA_COND23) -+ -+#define IS_HOST_SW_STS(addr) ((addr & MOD_VADDR) == MOD_VADDR) -+ -+ -+enum sts_sys_idx{ -+ sts_mac_irq_txstart_idx, -+ sts_mac_irq_txend_idx, -+ sts_mac_irq_txenderr_idx, -+ sts_mac_irq_ackto_idx, -+ sts_mac_irq_txcol_flag_idx, -+ sts_mac_irq_rxstart_idx, -+ sts_mac_irq_mac_rxend_idx, -+ sts_mac_irq_mac_rxmpdu_ok_idx, -+ sts_mac_irq_unicast_idx, -+ sts_mac_irq_srambuf_full_idx, -+ sts_mac_irq_swirq_idx, -+ sts_mac_irq_tx_frame_type_idx, -+ sts_mac_irq_abscount_intr_idx, -+ sts_mac_irq_fiq_enable_idx, -+ sts_mac_irq_fiac_fw_timeout_err_idx, -+ sts_mac_irq_hw_timeout_err_idx, -+ sts_mac_irq_tx_wd_timeout_err_idx, -+ sts_mac_irq_txinvalidlen_err_idx, -+ sts_mac_irq_tx_keymiss_idx, -+ sts_mac_irq_tximstop_err_idx, -+ sts_mac_irq_tx_phyerror_idx, -+ sts_mac_irq_txcol_queue_idx, -+ sts_mac_irq_tx_not_grant_idx, -+ sts_mac_irq_srambuf_full_err_idx, -+ sts_mac_irq_fcserr_idx, -+ sts_mac_irq_rxfifoov_idx, -+ sts_mac_irq_rx_wd_timeout_err_idx, -+ sts_mac_irq_short_length_idx, -+ sts_mac_irq_length_error_idx, -+ sts_mac_irq_rx_phyerror_idx, -+ sts_frm_type_qos_data_idx, -+ sts_frm_type_rts_idx, -+ sts_frm_type_cts_idx, -+ sts_frm_type_ack_idx, -+ sts_mac_tx_start_chk_idx, -+ sts_mac_tx_end_chk_idx, -+ sts_mac_tx_en_chk_idx, -+ sts_mac_tx_enwr_chk_idx, -+ sts_mac_rx_data_local_cnt_idx, -+ sts_mac_rx_data_other_cnt_idx, -+ sts_mac_rx_data_mutil_cnt_idx, -+ sts_agc_st_idx, -+ sts_agc_gain_rx_ic_gain_idx, -+ sts_agc_gain_fine_db_idx, -+ sts_agc_wtc1_pw_sat_db_idx, -+ sts_agc_wtc1_prm20_db_idx, -+ sts_agc_wtc2_prm40_db_idx, -+ sts_agc_wtc2_prm80_db_idx, -+ sts_agc_wtc3_rssi0_db_idx, -+ sts_agc_wtc3_rssi1_db_idx, -+ sts_agc_wtc4_rssi2_db_idx, -+ sts_agc_wtc4_rssi3_db_idx, -+ sts_agc_ant_flr_snr_qdb_idx, -+ sts_agc_ant_flr_ant_flr_qdb_idx, -+ sts_cca_res_rdy_idx, -+ sts_cca_res_cond8_idx, -+ sts_cca_cnd01_cond0_idx, -+ sts_cca_cnd01_cond1_idx, -+ sts_cca_cnd23_cond2_idx, -+ sts_cca_cnd23_cond3_idx, -+ -+ sts_hst_irq_tx_error_idx, -+ sts_hst_irq_rx_error_idx, -+ sts_hst_irq_rx_ok_idx, -+ sts_hst_irq_tx_ok_idx, -+ sts_hst_irq_beacon_send_ok_vid0_idx , -+ sts_hst_irq_beacon_send_ok_vid1_idx , -+ sts_hst_irq_goto_wakeup_vid0_idx , -+ sts_hst_irq_goto_wakeup_vid1_idx , -+ sts_hst_irq_p2p_oppps_cwend_vid0_idx, -+ sts_hst_irq_p2p_oppps_cwend_vid1_idx, -+ sts_hst_irq_p2p_noa_start_vid0_idx , -+ sts_hst_irq_p2p_noa_start_vid1_idx , -+ sts_hst_irq_beacon_recv_ok_vid0_idx , -+ sts_hst_irq_beacon_recv_ok_vid1_idx , -+ sts_hst_irq_beacon_miss_vid0_idx , -+ sts_hst_irq_beacon_miss_vid1_idx , -+ -+ sts_hal_agg_start_tid0_idx, -+ sts_hal_agg_start_tid1_idx, -+ sts_hal_agg_start_tid2_idx, -+ sts_hal_agg_start_tid3_idx, -+ sts_hal_agg_start_tid4_idx, -+ sts_hal_agg_start_tid5_idx, -+ sts_hal_agg_start_tid6_idx, -+ sts_hal_agg_start_tid7_idx, -+ sts_hal_agg_start_tid8_idx, -+ sts_hal_agg_start_tid9_idx, -+ sts_hal_rx_fifo_full_idx, -+ sts_hal_rx_up_skb_idx, -+ sts_hal_rx_vif_id_err_idx, -+ sts_hal_rx_dcrypt_err_idx, -+ sts_hal_tx_num_idx, -+ sts_hal_tx_mpdus_idx, -+ sts_hal_tx_pages_idx, -+ sts_hal_dw_mpdu_idx, -+ sts_hal_cur_mpdu_idx, -+ sts_hal_cur_agg_page_idx, -+ sts_hal_allc_txds_idx, -+ sts_hal_free_txds_idx, -+ sts_hal_send_null_idx, -+ sts_hal_keep_alive_idx, -+ sts_hal_beacon_miss_idx, -+ sts_drv_tx_total_bytes_idx, -+ sts_drv_tx_pkts_idx, -+ sts_drv_tx_drops_idx, -+ sts_drv_tx_normal_idx, -+ sts_drv_tx_end_normal_idx, -+ sts_drv_tx_end_ampdu_idx, -+ sts_drv_tx_ampdu_idx, -+ sts_drv_tx_ampdu_on_frm_idx, -+ sts_drv_tx_end_fail_idx, -+ sts_drv_rx_ampdu_idx, -+ sts_drv_rx_bar_idx, -+ sts_drv_rx_no_qos_idx, -+ sts_drv_rx_dup_idx, -+ sts_drv_rx_ok_idx, -+ sts_drv_rx_flush_drop_idx, -+ sts_drv_rx_bar_drop_idx, -+ sts_drv_rx_skipped_idx, -+ sts_drv_txlist0_qcnt_idx, -+ sts_drv_txlist1_qcnt_idx, -+ sts_drv_txlist2_qcnt_idx, -+ sts_drv_txlist3_qcnt_idx, -+ sts_drv_txlist4_qcnt_idx, -+ sts_drv_txlist5_qcnt_idx, -+ sts_drv_txlist6_qcnt_idx, -+ sts_drv_txlist_qcnt_idx7, -+ sts_drv_txlist0_pend_qcnt_idx, -+ sts_drv_txlist1_pend_qcnt_idx, -+ sts_drv_txlist2_pend_qcnt_idx, -+ sts_drv_txlist3_pend_qcnt_idx, -+ sts_drv_txlist4_pend_qcnt_idx, -+ sts_drv_txlist5_pend_qcnt_idx, -+ sts_drv_txlist6_pend_qcnt_idx, -+ sts_drv_txlist7_pend_qcnt_idx, -+ sts_drv_send_skb_idx, -+ sts_vif_ip_pkt_total_idx, -+ sts_vif_ip_pkt_to_drv_idx, -+ sts_vif_ip_pkt_drop_idx, -+ sts_vif_tx_list_full_idx, -+ sts_vif_tx_ok_idx, -+ sts_vif_tx_cmp_idx, -+ sts_vif_tx_free_page_idx, -+ sts_vif_in_amsdu_idx, -+ sts_vif_out_amsdu_idx, -+ -+ -+ -+ -+ sts_hst_sw_max_idx, -+}; -+ -+/* -+ iw dev wlan0 vendor send 0xc3 0xc4 op_code func_code hw_addr obj_0, obj_1, obj_2,obj_3 -+*/ -+#pragma pack(push ,1) -+struct sts_cfg_data{ -+ unsigned short addr[STS_MAX_CFG_FILE]; -+ union sts_mac_reg_u cfg_ie[STS_MAX_CFG_FILE]; -+ unsigned char cfg_num; -+}; -+ -+struct statistic_cmd -+{ -+ unsigned char op_code; // 0x99 -+ -+ unsigned char iaddr_high; // hardware reg high part, -+ unsigned char iaddr_low; // hardware reg low part -+ unsigned char iobj_0; // obj_0 to work -+ unsigned char iobj_1; // obj_1 to work -+ unsigned char iobj_2; // obj_2 to work -+ unsigned char iobj_3; // obj_3 to work -+ -+ unsigned char faddr_high; // hardware reg high part, -+ unsigned char faddr_low; // hardware reg low part -+ unsigned char fobj_0; // obj_0 to work -+ unsigned char fobj_1; // obj_1 to work -+ unsigned char fobj_2; // obj_2 to work -+ unsigned char fobj_3; // obj_3 to work -+ -+ unsigned char func_code; //(0x0, stop); (0x1, start) ;(0x2, read) -+ -+}; -+ -+ -+struct sts_iw_if -+ { -+ unsigned char op_code; -+ unsigned short addr; -+ unsigned int val; -+ }; -+ -+#pragma pack(pop) -+ -+void sts_sw_probe(unsigned int sts_idx, unsigned int unit) ; -+void phy_stc(void); -+int get_snr(void); -+void get_phy_stc_info(unsigned int *arr); -+ -+unsigned int cca_busy_check(void); -+void sts_prt_info_map(void); -+void sts_default_cfg(struct sts_cfg_data* cfg_data, unsigned char sts_sys_type); -+void sts_update_cfg(struct sts_cfg_data* cfg_data, const char* data,unsigned int len); -+char** get_tag_info(unsigned short addr,unsigned int tag_info); -+void sts_clr_cnt(unsigned short addr); -+void sts_start_cnt(unsigned short addr, -+ char obj_0,char obj_1,char obj_2,char obj_3); -+ -+void sts_read_cnt(unsigned short addr, -+ unsigned char obj_0,unsigned char obj_1,unsigned char obj_2, unsigned char obj_3, -+ char* sts_tag[], char* sts_info[], unsigned int* idx_val, char func_code); -+ -+void sts_stop_cnt(unsigned short addr); -+void sts_show_cfg( struct sts_cfg_data* cfg_data); -+void sts_opt_by_cfg(struct sts_cfg_data* cfg_data, unsigned char func_code); -+void sts_prt_agc_field(unsigned short addr, -+ char* sts_tag[], char* sts_info[], char func_code); -+ -+unsigned int val_to_idx(unsigned int idx_val[], unsigned int val); -+ -+/////////////////////////////// layer statistic defination//////////////////////// -+/* -+ iw dev wlan0 vendor send 0xc3 0xc4 op_code(B) ctrl_msg3, ctrl_msg2, ctrl_msg1, ctrl_msg0 -+ bit31~bit28: sts module: bit31 wifi_mac layer; bit30 driver layer; bit29 hal layer; bit28 hw interface -+ bit27~bit24: sts type: bit27 tx; bit26 rx; bit25 allocate resource; bit24 free resource -+ bit23~bit0: the detail message by sts type and sts module -+*/ -+ -+#define STS_MOD_WMAC BIT(31) -+#define STS_MOD_DRV BIT(30) -+#define STS_MOD_HAL BIT(29) -+#define STS_MOD_HIF BIT(28) -+ -+#define STS_TYP_TX (BIT(27)) -+#define STS_TYP_RX (BIT(26)) -+ -+// RF capture -+ -+#define INBUFFER_LEN_VALID_BIT (256-2) -+#define INBUFFER_LEN (256/8) -+#define ADC_WIDTH 24 -+#define BLOCK_RAW_LEN INBUFFER_LEN -+#define BLOCK_REAL_LEN (INBUFFER_LEN_VALID_BIT/ADC_WIDTH*4) -+#define BLOCK_REAL_COUNT_WORD (BLOCK_REAL_LEN/4) -+ -+#define TESTBUSSRAM_LEN 0x200000 -+#define INBUFFER_LEN (256/8) -+#define INBUFFER_LEN_VALID_BIT (256-2) -+#define INBUFFER_LEN_VALID ((INBUFFER_LEN_VALID_BIT)/8) -+#define TESTBUFFER_LEN (256-8) -+ -+#define SELFTEST 1 //LG -+#define DA 0 //LG -+ -+#define SW 9 -+#define FCS_OK 6 -+#define FCS_ERR 3 -+#define FCS_ERR_OFDM 5 -+#define FCS_ERR_DSS 4 -+#define LSIG_PARITY_ERR 8 -+#define HTSIG_CRC_ERR 7 -+#define CCA_FSM_TRIG 2 -+#define AGC_FSM_TRIG 0 -+#define CCA_AGC_FSM_TRIG 1 -+ -+ -+#define SDIO_BASE_A 0x00a0b000 -+#define CAP_SRAM_SWITCH_BASE 0x00a0d000 -+ -+#define TBC_OFFSET_100 (0x100 + SDIO_BASE_A) //0x2d00 -+#define TBC_OFFSET_104 (0x104 + SDIO_BASE_A) //0x2d04 -+#define TBC_OFFSET_108 (0x108 + SDIO_BASE_A) //0x2d08 -+#define TBC_OFFSET_10C (0x10c + SDIO_BASE_A) //0x2d0C -+#define TBC_OFFSET_110 (0x110 + SDIO_BASE_A) //0x2d10 -+#define TBC_OFFSET_114 (0x114 + SDIO_BASE_A) //0x2d14 -+#define TBC_OFFSET_118 (0x118 + SDIO_BASE_A) //0x2d18 -+#define TBC_OFFSET_11C (0x11C + SDIO_BASE_A) //0x2d1C -+#define TBC_OFFSET_120 (0x120 + SDIO_BASE_A) //0x2d20 -+#define TBC_OFFSET_124 (0x124 + SDIO_BASE_A) //0x2d24 -+#define TBC_OFFSET_128 (0x128 + SDIO_BASE_A) //0x2d28 -+ -+#define TBC_RAM_SHARE (0xe4 + CAP_SRAM_SWITCH_BASE)//INTF SRAM SHARE ENABLE BIT31: 1-> CAPTURE BUF -+ -+void batch_dump_reg(struct wiphy *wiphy,unsigned int addr[], unsigned int addr_num); -+ -+#endif ++#ifndef __DRV_STATISTIC_H ++#define __DRV_STATISTIC_H ++ ++/////////////////////////////// global statistic defination//////////////////////// ++ ++#define SYS_STS_CLEAR (0) ++#define SYS_STS_START (1) ++#define SYS_STS_READ (2) ++#define SYS_STS_STOP (3) ++#define SYS_STS_SHOW_CFG (4) ++ ++#define IDX_TXSTART_IT (0) ++#define IDX_TXEND_IT (1) ++#define IDX_TXENDERR (8) ++#define IDX_ACKTO_IT (9) ++#define IDX_TXCOL_FLAG (10) ++#define IDX_RXSTART_IT (11) ++#define IDX_RXEND_IT (12) ++#define IDX_RXMPDU_OK (13) ++#define IDX_UNICAST (14) ++#define IDX_SRAMBUF_FULL (18) ++#define IDX_SWIRQ (19) ++#define IDX_TX_FRAME_TYPE (20) ++#define IDX_ABSCOUNT_INTR (30) ++#define IDX_FIQ_ENABLE (31) ++ ++#define IDX_FIAC_FW_TIMEOUT_ERR (32+0) ++#define IDX_HW_TIMEOUT_ERR (32+1) ++#define IDX_TX_WD_TIMEOUT_ERR (32+2) ++#define IDX_TXINVALIDLEN_ERR (32+3) ++#define IDX_TX_KEYMISS (32+4) ++#define IDX_TXIMSTOP_ERR (32+5) ++#define IDX_TX_PHYERROR (32+6) ++#define IDX_TXCOL_QUEUE (32+10) ++#define IDX_TX_NOT_GRANT (32+19) ++#define IDX_SRAMBUF_FULL_ERR (32+22) ++#define IDX_FCSERR (32+23) ++#define IDX_RXFIFOOV (32+24) ++#define IDX_RX_WD_TIMEOUT_ERR (32+25) ++#define IDX_SHORT_LENGTH (32+26) ++#define IDX_LENGTH_ERROR (32+27) ++#define IDX_RX_PHYERROR (32+28) ++ ++#define IDX_QOS_DATA (0x28) ++#define IDX_RTS (0x1b) ++#define IDX_CTS (0x1c) ++#define IDX_ACK (0x1d) ++ ++ ++#define STS_MAX_CFG_FILE (0x40) ++#define SYS_STS_PRT_TAG (0x1) ++#define SYS_STS_PRT_INFO (0x0) ++ ++#define IS_MAC_STS(addr) (((addr) == RG_MAC_CNT_CTRL_FIQ) ||\ ++ ((addr) == RG_MAC_FRM_TYPE_CNT_CTRL) ||\ ++ ((addr) == RG_MAC_TX_STT_CHK) || \ ++ ((addr) == RG_MAC_TX_END_CHK) ||\ ++ ((addr) == RG_MAC_TX_EN_CHK) ||\ ++ ((addr) == RG_MAC_TX_ENWR_CHK) ||\ ++ ((addr) == RG_MAC_RX_DATA_LOCAL_CNT) ||\ ++ ((addr) == RG_MAC_RX_DATA_OTHER_CNT) ||\ ++ ((addr) == RG_MAC_RX_DATA_MUTIL_CNT) ) ++ ++ ++#define IS_AGC_STS(addr) ((addr ) == RG_AGC_STATE||\ ++ (addr ) == RG_AGC_OB_IC_GAIN||\ ++ (addr ) == RG_AGC_WATCH1||\ ++ (addr ) == RG_AGC_WATCH2||\ ++ (addr ) == RG_AGC_WATCH3||\ ++ (addr ) == RG_AGC_WATCH4||\ ++ (addr ) == RG_AGC_OB_ANT_NFLOOR||\ ++ (addr ) == RG_AGC_OB_CCA_RES||\ ++ (addr ) == RG_AGC_OB_CCA_COND01||\ ++ (addr ) == RG_AGC_OB_CCA_COND23) ++ ++#define IS_HOST_SW_STS(addr) ((addr & MOD_VADDR) == MOD_VADDR) ++ ++ ++enum sts_sys_idx{ ++ sts_mac_irq_txstart_idx, ++ sts_mac_irq_txend_idx, ++ sts_mac_irq_txenderr_idx, ++ sts_mac_irq_ackto_idx, ++ sts_mac_irq_txcol_flag_idx, ++ sts_mac_irq_rxstart_idx, ++ sts_mac_irq_mac_rxend_idx, ++ sts_mac_irq_mac_rxmpdu_ok_idx, ++ sts_mac_irq_unicast_idx, ++ sts_mac_irq_srambuf_full_idx, ++ sts_mac_irq_swirq_idx, ++ sts_mac_irq_tx_frame_type_idx, ++ sts_mac_irq_abscount_intr_idx, ++ sts_mac_irq_fiq_enable_idx, ++ sts_mac_irq_fiac_fw_timeout_err_idx, ++ sts_mac_irq_hw_timeout_err_idx, ++ sts_mac_irq_tx_wd_timeout_err_idx, ++ sts_mac_irq_txinvalidlen_err_idx, ++ sts_mac_irq_tx_keymiss_idx, ++ sts_mac_irq_tximstop_err_idx, ++ sts_mac_irq_tx_phyerror_idx, ++ sts_mac_irq_txcol_queue_idx, ++ sts_mac_irq_tx_not_grant_idx, ++ sts_mac_irq_srambuf_full_err_idx, ++ sts_mac_irq_fcserr_idx, ++ sts_mac_irq_rxfifoov_idx, ++ sts_mac_irq_rx_wd_timeout_err_idx, ++ sts_mac_irq_short_length_idx, ++ sts_mac_irq_length_error_idx, ++ sts_mac_irq_rx_phyerror_idx, ++ sts_frm_type_qos_data_idx, ++ sts_frm_type_rts_idx, ++ sts_frm_type_cts_idx, ++ sts_frm_type_ack_idx, ++ sts_mac_tx_start_chk_idx, ++ sts_mac_tx_end_chk_idx, ++ sts_mac_tx_en_chk_idx, ++ sts_mac_tx_enwr_chk_idx, ++ sts_mac_rx_data_local_cnt_idx, ++ sts_mac_rx_data_other_cnt_idx, ++ sts_mac_rx_data_mutil_cnt_idx, ++ sts_agc_st_idx, ++ sts_agc_gain_rx_ic_gain_idx, ++ sts_agc_gain_fine_db_idx, ++ sts_agc_wtc1_pw_sat_db_idx, ++ sts_agc_wtc1_prm20_db_idx, ++ sts_agc_wtc2_prm40_db_idx, ++ sts_agc_wtc2_prm80_db_idx, ++ sts_agc_wtc3_rssi0_db_idx, ++ sts_agc_wtc3_rssi1_db_idx, ++ sts_agc_wtc4_rssi2_db_idx, ++ sts_agc_wtc4_rssi3_db_idx, ++ sts_agc_ant_flr_snr_qdb_idx, ++ sts_agc_ant_flr_ant_flr_qdb_idx, ++ sts_cca_res_rdy_idx, ++ sts_cca_res_cond8_idx, ++ sts_cca_cnd01_cond0_idx, ++ sts_cca_cnd01_cond1_idx, ++ sts_cca_cnd23_cond2_idx, ++ sts_cca_cnd23_cond3_idx, ++ ++ sts_hst_irq_tx_error_idx, ++ sts_hst_irq_rx_error_idx, ++ sts_hst_irq_rx_ok_idx, ++ sts_hst_irq_tx_ok_idx, ++ sts_hst_irq_beacon_send_ok_vid0_idx , ++ sts_hst_irq_beacon_send_ok_vid1_idx , ++ sts_hst_irq_goto_wakeup_vid0_idx , ++ sts_hst_irq_goto_wakeup_vid1_idx , ++ sts_hst_irq_p2p_oppps_cwend_vid0_idx, ++ sts_hst_irq_p2p_oppps_cwend_vid1_idx, ++ sts_hst_irq_p2p_noa_start_vid0_idx , ++ sts_hst_irq_p2p_noa_start_vid1_idx , ++ sts_hst_irq_beacon_recv_ok_vid0_idx , ++ sts_hst_irq_beacon_recv_ok_vid1_idx , ++ sts_hst_irq_beacon_miss_vid0_idx , ++ sts_hst_irq_beacon_miss_vid1_idx , ++ ++ sts_hal_agg_start_tid0_idx, ++ sts_hal_agg_start_tid1_idx, ++ sts_hal_agg_start_tid2_idx, ++ sts_hal_agg_start_tid3_idx, ++ sts_hal_agg_start_tid4_idx, ++ sts_hal_agg_start_tid5_idx, ++ sts_hal_agg_start_tid6_idx, ++ sts_hal_agg_start_tid7_idx, ++ sts_hal_agg_start_tid8_idx, ++ sts_hal_agg_start_tid9_idx, ++ sts_hal_rx_fifo_full_idx, ++ sts_hal_rx_up_skb_idx, ++ sts_hal_rx_vif_id_err_idx, ++ sts_hal_rx_dcrypt_err_idx, ++ sts_hal_tx_num_idx, ++ sts_hal_tx_mpdus_idx, ++ sts_hal_tx_pages_idx, ++ sts_hal_dw_mpdu_idx, ++ sts_hal_cur_mpdu_idx, ++ sts_hal_cur_agg_page_idx, ++ sts_hal_allc_txds_idx, ++ sts_hal_free_txds_idx, ++ sts_hal_send_null_idx, ++ sts_hal_keep_alive_idx, ++ sts_hal_beacon_miss_idx, ++ sts_drv_tx_total_bytes_idx, ++ sts_drv_tx_pkts_idx, ++ sts_drv_tx_drops_idx, ++ sts_drv_tx_normal_idx, ++ sts_drv_tx_end_normal_idx, ++ sts_drv_tx_end_ampdu_idx, ++ sts_drv_tx_ampdu_idx, ++ sts_drv_tx_ampdu_on_frm_idx, ++ sts_drv_tx_end_fail_idx, ++ sts_drv_rx_ampdu_idx, ++ sts_drv_rx_bar_idx, ++ sts_drv_rx_no_qos_idx, ++ sts_drv_rx_dup_idx, ++ sts_drv_rx_ok_idx, ++ sts_drv_rx_flush_drop_idx, ++ sts_drv_rx_bar_drop_idx, ++ sts_drv_rx_skipped_idx, ++ sts_drv_txlist0_qcnt_idx, ++ sts_drv_txlist1_qcnt_idx, ++ sts_drv_txlist2_qcnt_idx, ++ sts_drv_txlist3_qcnt_idx, ++ sts_drv_txlist4_qcnt_idx, ++ sts_drv_txlist5_qcnt_idx, ++ sts_drv_txlist6_qcnt_idx, ++ sts_drv_txlist_qcnt_idx7, ++ sts_drv_txlist0_pend_qcnt_idx, ++ sts_drv_txlist1_pend_qcnt_idx, ++ sts_drv_txlist2_pend_qcnt_idx, ++ sts_drv_txlist3_pend_qcnt_idx, ++ sts_drv_txlist4_pend_qcnt_idx, ++ sts_drv_txlist5_pend_qcnt_idx, ++ sts_drv_txlist6_pend_qcnt_idx, ++ sts_drv_txlist7_pend_qcnt_idx, ++ sts_drv_send_skb_idx, ++ sts_vif_ip_pkt_total_idx, ++ sts_vif_ip_pkt_to_drv_idx, ++ sts_vif_ip_pkt_drop_idx, ++ sts_vif_tx_list_full_idx, ++ sts_vif_tx_ok_idx, ++ sts_vif_tx_cmp_idx, ++ sts_vif_tx_free_page_idx, ++ sts_vif_in_amsdu_idx, ++ sts_vif_out_amsdu_idx, ++ ++ ++ ++ ++ sts_hst_sw_max_idx, ++}; ++ ++/* ++ iw dev wlan0 vendor send 0xc3 0xc4 op_code func_code hw_addr obj_0, obj_1, obj_2,obj_3 ++*/ ++#pragma pack(push ,1) ++struct sts_cfg_data{ ++ unsigned short addr[STS_MAX_CFG_FILE]; ++ union sts_mac_reg_u cfg_ie[STS_MAX_CFG_FILE]; ++ unsigned char cfg_num; ++}; ++ ++struct statistic_cmd ++{ ++ unsigned char op_code; // 0x99 ++ ++ unsigned char iaddr_high; // hardware reg high part, ++ unsigned char iaddr_low; // hardware reg low part ++ unsigned char iobj_0; // obj_0 to work ++ unsigned char iobj_1; // obj_1 to work ++ unsigned char iobj_2; // obj_2 to work ++ unsigned char iobj_3; // obj_3 to work ++ ++ unsigned char faddr_high; // hardware reg high part, ++ unsigned char faddr_low; // hardware reg low part ++ unsigned char fobj_0; // obj_0 to work ++ unsigned char fobj_1; // obj_1 to work ++ unsigned char fobj_2; // obj_2 to work ++ unsigned char fobj_3; // obj_3 to work ++ ++ unsigned char func_code; //(0x0, stop); (0x1, start) ;(0x2, read) ++ ++}; ++ ++ ++struct sts_iw_if ++ { ++ unsigned char op_code; ++ unsigned short addr; ++ unsigned int val; ++ }; ++ ++#pragma pack(pop) ++ ++void sts_sw_probe(unsigned int sts_idx, unsigned int unit) ; ++void phy_stc(void); ++int get_snr(void); ++void get_phy_stc_info(unsigned int *arr); ++ ++unsigned int cca_busy_check(void); ++void sts_prt_info_map(void); ++void sts_default_cfg(struct sts_cfg_data* cfg_data, unsigned char sts_sys_type); ++void sts_update_cfg(struct sts_cfg_data* cfg_data, const char* data,unsigned int len); ++char** get_tag_info(unsigned short addr,unsigned int tag_info); ++void sts_clr_cnt(unsigned short addr); ++void sts_start_cnt(unsigned short addr, ++ char obj_0,char obj_1,char obj_2,char obj_3); ++ ++void sts_read_cnt(unsigned short addr, ++ unsigned char obj_0,unsigned char obj_1,unsigned char obj_2, unsigned char obj_3, ++ char* sts_tag[], char* sts_info[], unsigned int* idx_val, char func_code); ++ ++void sts_stop_cnt(unsigned short addr); ++void sts_show_cfg( struct sts_cfg_data* cfg_data); ++void sts_opt_by_cfg(struct sts_cfg_data* cfg_data, unsigned char func_code); ++void sts_prt_agc_field(unsigned short addr, ++ char* sts_tag[], char* sts_info[], char func_code); ++ ++unsigned int val_to_idx(unsigned int idx_val[], unsigned int val); ++ ++/////////////////////////////// layer statistic defination//////////////////////// ++/* ++ iw dev wlan0 vendor send 0xc3 0xc4 op_code(B) ctrl_msg3, ctrl_msg2, ctrl_msg1, ctrl_msg0 ++ bit31~bit28: sts module: bit31 wifi_mac layer; bit30 driver layer; bit29 hal layer; bit28 hw interface ++ bit27~bit24: sts type: bit27 tx; bit26 rx; bit25 allocate resource; bit24 free resource ++ bit23~bit0: the detail message by sts type and sts module ++*/ ++ ++#define STS_MOD_WMAC BIT(31) ++#define STS_MOD_DRV BIT(30) ++#define STS_MOD_HAL BIT(29) ++#define STS_MOD_HIF BIT(28) ++ ++#define STS_TYP_TX (BIT(27)) ++#define STS_TYP_RX (BIT(26)) ++ ++// RF capture ++ ++#define INBUFFER_LEN_VALID_BIT (256-2) ++#define INBUFFER_LEN (256/8) ++#define ADC_WIDTH 24 ++#define BLOCK_RAW_LEN INBUFFER_LEN ++#define BLOCK_REAL_LEN (INBUFFER_LEN_VALID_BIT/ADC_WIDTH*4) ++#define BLOCK_REAL_COUNT_WORD (BLOCK_REAL_LEN/4) ++ ++#define TESTBUSSRAM_LEN 0x200000 ++#define INBUFFER_LEN (256/8) ++#define INBUFFER_LEN_VALID_BIT (256-2) ++#define INBUFFER_LEN_VALID ((INBUFFER_LEN_VALID_BIT)/8) ++#define TESTBUFFER_LEN (256-8) ++ ++#define SELFTEST 1 //LG ++#define DA 0 //LG ++ ++#define SW 9 ++#define FCS_OK 6 ++#define FCS_ERR 3 ++#define FCS_ERR_OFDM 5 ++#define FCS_ERR_DSS 4 ++#define LSIG_PARITY_ERR 8 ++#define HTSIG_CRC_ERR 7 ++#define CCA_FSM_TRIG 2 ++#define AGC_FSM_TRIG 0 ++#define CCA_AGC_FSM_TRIG 1 ++ ++ ++#define SDIO_BASE_A 0x00a0b000 ++#define CAP_SRAM_SWITCH_BASE 0x00a0d000 ++ ++#define TBC_OFFSET_100 (0x100 + SDIO_BASE_A) //0x2d00 ++#define TBC_OFFSET_104 (0x104 + SDIO_BASE_A) //0x2d04 ++#define TBC_OFFSET_108 (0x108 + SDIO_BASE_A) //0x2d08 ++#define TBC_OFFSET_10C (0x10c + SDIO_BASE_A) //0x2d0C ++#define TBC_OFFSET_110 (0x110 + SDIO_BASE_A) //0x2d10 ++#define TBC_OFFSET_114 (0x114 + SDIO_BASE_A) //0x2d14 ++#define TBC_OFFSET_118 (0x118 + SDIO_BASE_A) //0x2d18 ++#define TBC_OFFSET_11C (0x11C + SDIO_BASE_A) //0x2d1C ++#define TBC_OFFSET_120 (0x120 + SDIO_BASE_A) //0x2d20 ++#define TBC_OFFSET_124 (0x124 + SDIO_BASE_A) //0x2d24 ++#define TBC_OFFSET_128 (0x128 + SDIO_BASE_A) //0x2d28 ++ ++#define TBC_RAM_SHARE (0xe4 + CAP_SRAM_SWITCH_BASE)//INTF SRAM SHARE ENABLE BIT31: 1-> CAPTURE BUF ++ ++void batch_dump_reg(struct wiphy *wiphy,unsigned int addr[], unsigned int addr_num); ++ ++#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_timer.c b/drivers/net/wireless/w1/vmac/wifi_drv_timer.c new file mode 100644 -index 000000000000..1a2c330deb88 +index 0000000000000000000000000000000000000000..1a2c330deb88a0330429dbf459a66bad4b18c634 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_timer.c @@ -0,0 +1,180 @@ @@ -59078,7 +59473,7 @@ index 000000000000..1a2c330deb88 +} diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_timer.h b/drivers/net/wireless/w1/vmac/wifi_drv_timer.h new file mode 100644 -index 000000000000..8d1bd88a86e8 +index 0000000000000000000000000000000000000000..8d1bd88a86e89223a55f97cecd48309a48d64f64 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_timer.h @@ -0,0 +1,73 @@ @@ -59157,7 +59552,7 @@ index 000000000000..8d1bd88a86e8 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_uapsd.c b/drivers/net/wireless/w1/vmac/wifi_drv_uapsd.c new file mode 100644 -index 000000000000..c52e9e64c3eb +index 0000000000000000000000000000000000000000..3939f92f57d4e5091361d4aebf1a0a712cf4a9dd --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_uapsd.c @@ -0,0 +1,611 @@ @@ -59175,7 +59570,7 @@ index 000000000000..c52e9e64c3eb + **************************************************************************************** + */ + -+ ++#include "wifi_drv_uapsd.h" +#include "wifi_mac_com.h" +#include "wifi_drv_xmit.h" +#include "wifi_pkt_desc.h" @@ -59466,12 +59861,12 @@ index 000000000000..c52e9e64c3eb + txn_real = maxsp; + } + -+ printk("before tx uapsd\n"); ++ pr_debug("before tx uapsd\n"); + DPRINTF(AML_DEBUG_PWR_SAVE, "%s %d flush=%d uapsd_qqcnt=%d\n", __func__,__LINE__, flush, uapsd_qqcnt); + for (count = txn_real; ((count > 0) && (eosp_flag==0)); count--) + { + -+ printk("tx=%d\n", count); ++ pr_debug("tx=%d\n", count); + +#ifdef DRV_SUPPORT_TX_WITHDRAW + if (drv_sta->sta_txwd_uapsd_qqcnt) @@ -59774,7 +60169,7 @@ index 000000000000..c52e9e64c3eb + diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_uapsd.h b/drivers/net/wireless/w1/vmac/wifi_drv_uapsd.h new file mode 100644 -index 000000000000..cacc7bb163df +index 0000000000000000000000000000000000000000..cacc7bb163dfecec70a591105e613db1fd25c352 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_uapsd.h @@ -0,0 +1,32 @@ @@ -59812,10 +60207,10 @@ index 000000000000..cacc7bb163df +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_xmit.c b/drivers/net/wireless/w1/vmac/wifi_drv_xmit.c new file mode 100644 -index 000000000000..30f30b0ecc6a +index 0000000000000000000000000000000000000000..8c48bf32c4b849b6226f4741ce7cabe0cafbae20 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_xmit.c -@@ -0,0 +1,3243 @@ +@@ -0,0 +1,3326 @@ +/* + **************************************************************************************** + * @@ -60048,7 +60443,7 @@ index 000000000000..30f30b0ecc6a + + } else { + if (print_cnt++ == 200) { -+ printk("%s, queue_id:%d full\n", __func__, queue_id); ++ pr_debug("%s, queue_id:%d full\n", __func__, queue_id); + } + } + @@ -60056,7 +60451,7 @@ index 000000000000..30f30b0ecc6a + return 1; +} + -+void aml_prepare_agg_tx_priv_param(struct drv_private *drv_priv, ++static void aml_prepare_agg_tx_priv_param(struct drv_private *drv_priv, + struct hi_agg_tx_desc *agg_content, struct drv_txdesc *ptxdesc, struct wifi_station *sta) +{ + struct wifi_mac *wifimac = drv_priv->wmac; @@ -60334,7 +60729,7 @@ index 000000000000..30f30b0ecc6a + } + + if (hal_priv->bhaltxdrop || hal_priv->bhalPowerSave) { -+ printk("%s hal_priv->bhaltxdrop:%d\n", __func__, hal_priv->bhaltxdrop); ++ pr_debug("%s hal_priv->bhaltxdrop:%d\n", __func__, hal_priv->bhaltxdrop); + } + return 0; +} @@ -60612,12 +61007,12 @@ index 000000000000..30f30b0ecc6a + + ptxdesc->rate_valid = 1; + txinfo->seqnum = *(unsigned short *)wh->i_seq >> WIFINET_SEQ_SEQ_SHIFT;//seqnum -+ //printk("%s ptxdesc:%p, skbbuf:%p, vid:%d, sta:%p, tid:%d, sn:%04x, ampdu:%d, qos:%d, rate_code:%02x, frame_control:%04x, mcast:%d, data:%d, dhcp:%d, eap:%d\n", ++ //pr_debug("%s ptxdesc:%p, skbbuf:%p, vid:%d, sta:%p, tid:%d, sn:%04x, ampdu:%d, qos:%d, rate_code:%02x, frame_control:%04x, mcast:%d, data:%d, dhcp:%d, eap:%d\n", + // __func__, ptxdesc, skbbuf, wnet_vif->wnet_vif_id, sta, txinfo->tid_index, txinfo->seqnum, txinfo->b_Ampdu, txinfo->b_qosdata, + // ratectrl->vendor_rate_code, *((unsigned short *)&(wh->i_fc[0])), txinfo->b_mcast, txinfo->b_datapkt, mac_pkt_info->b_dhcp, mac_pkt_info->b_eap); + + if (txinfo->b_pmf) { -+ printk("%s vid:%d, sta:%p, sn:%04x, frame_control:%04x, mcast:%d\n", ++ pr_debug("%s vid:%d, sta:%p, sn:%04x, frame_control:%04x, mcast:%d\n", + __func__, wnet_vif->wnet_vif_id, sta, txinfo->seqnum, *((unsigned short *)&(wh->i_fc[0])), txinfo->b_mcast); + } + @@ -60698,7 +61093,7 @@ index 000000000000..30f30b0ecc6a + //if p2p ps frame, backup + //if ps4quiet frame, backup; but if probereq, just send out + if ((wnet_vif->vm_pstxqueue_flags & WIFINET_PSQUEUE_MASK) && -+ !(((wnet_vif->vm_pstxqueue_flags & WIFINET_PSQUEUE_MASK) == WIFINET_PSQUEUE_PS4QUIET) && (WIFINET_IS_PROBEREQ(wh)))) ++ !(((wnet_vif->vm_pstxqueue_flags & WIFINET_PSQUEUE_MASK) == WIFINET_PSQUEUE_PS4QUIET) && (WIFINET_IS_PROBEREQ(wh) || txinfo->b_dpp))) + { + if (wnet_vif->vm_state != WIFINET_S_CONNECTED) + { @@ -60719,7 +61114,7 @@ index 000000000000..30f30b0ecc6a + //for ap/go, if peer sta is in powersave, backup + if (sta->sta_flags & WIFINET_NODE_PWR_MGT) + { -+ //printk("ap buffer queue\n"); ++ //pr_debug("ap buffer queue\n"); + drv_priv->net_ops->wifi_mac_pwrsave_psqueue_enqueue(sta, skbbuf); + error = 0; + break; @@ -60793,10 +61188,6 @@ index 000000000000..30f30b0ecc6a + && (p2p_pub_act->action == WIFINET_ACT_PUBLIC_P2P)) { + switch (p2p_pub_act->subtype) { + case P2P_GO_NEGO_REQ: -+ case P2P_GO_NEGO_CONF: -+ ret = TX_P2P_GO_NEGO_REQ_GO_NEGO_CONF; -+ break; -+ + case P2P_GO_NEGO_RESP: + case P2P_PROVISION_DISC_REQ: + case P2P_PROVISION_DISC_RESP: @@ -60804,7 +61195,9 @@ index 000000000000..30f30b0ecc6a + case P2P_INVITE_RESP: + ret = TX_P2P_OTHER_GO_NEGO_FRAME; + break; -+ ++ case P2P_GO_NEGO_CONF: ++ ret = TX_P2P_GO_NEGO_CONF; ++ break; + default: + break; + } @@ -60817,6 +61210,13 @@ index 000000000000..30f30b0ecc6a + ret = TX_P2P_GAS; + } +#endif ++ if (p2p_pub_act ++ && (p2p_pub_act->category == AML_CATEGORY_PUBLIC) ++ && (p2p_pub_act->action == WIFINET_ACT_PUBLIC_P2P)) { ++ if (p2p_pub_act->oui_type == OUI_TYPE_DPP) { ++ ret = TX_MGMT_DPP_STATUS; ++ } ++ } + + if (WIFINET_IS_PROBEREQ(wh)) { + ret = TX_MGMT_PROBE_REQ; @@ -60836,10 +61236,11 @@ index 000000000000..30f30b0ecc6a + } else if (WIFINET_IS_ACTION(wh)) { + if ((p2p_pub_act->category == AML_CATEGORY_BACK) && (p2p_pub_act->action == WIFINET_ACTION_BA_ADDBA_REQUEST)) { + ret = TX_MGMT_ADDBA_RSP; ++ } else if (p2p_pub_act->action == WIFINET_ACT_PUBLIC_CSA) { ++ ret = TX_MGMT_CSA_ACTION; + } + } else if (mac_pkt_info->b_eap) { + ret = TX_MGMT_EAPOL; -+ + } else if (mac_pkt_info->b_dhcp) { + ret = TX_MGMT_DHCP; + } @@ -60892,7 +61293,7 @@ index 000000000000..30f30b0ecc6a + if (txinfo->b_uapsd && (wh->i_fc[0] & (FRAME_TYPE_MASK | FRAME_SUBTYPE_MASK)) == MAC_FCTRL_QOS_DATA) { + drv_tx_queue_uapsd_nsta(drv_priv, &txdesc_list_head, drv_sta); + DRV_TXQ_UNLOCK(txlist); -+ printk("%s uapsd\n", __func__); ++ pr_debug("%s uapsd\n", __func__); + return 0; + } + @@ -60911,7 +61312,7 @@ index 000000000000..30f30b0ecc6a + //mcast backup also use txlist_backup_qcnt + if (txinfo->ps) { + drv_tx_mcastq_addbuf(drv_priv, &txdesc_list_head); -+ printk("%s mcastq\n", __func__); ++ pr_debug("%s mcastq\n", __func__); + return 0; + } +#endif @@ -61057,6 +61458,7 @@ index 000000000000..30f30b0ecc6a + sta->sta_inact_time = jiffies; +} + ++extern char dpp_pub_action_str[][50]; +static void drv_tx_complete_mgmt_handle(struct drv_private *drv_priv,struct drv_txdesc *ptxdesc, + unsigned char status, struct wifi_station *sta) +{ @@ -61064,14 +61466,17 @@ index 000000000000..30f30b0ecc6a + int txok = (status == TX_DESCRIPTOR_STATUS_SUCCESS); + int mgmt_arg; + static int deauth_fail_time = 0; ++ struct wifi_frame *wh = (struct wifi_frame *)ptxdesc->txdesc_ddraddr; ++ struct wifi_mac_p2p_pub_act_frame *p2p_pub_act = NULL; + ++ p2p_pub_act = (struct wifi_mac_p2p_pub_act_frame *)((unsigned char *)wh + sizeof(struct wifi_frame)); + wnet_vif = sta->sta_wnet_vif; + + if ((ptxdesc->txdesc_frame_flag == TX_P2P_OTHER_GO_NEGO_FRAME) -+ || (ptxdesc->txdesc_frame_flag == TX_P2P_GO_NEGO_REQ_GO_NEGO_CONF) ++ || (ptxdesc->txdesc_frame_flag == TX_P2P_GO_NEGO_CONF) + || (ptxdesc->txdesc_frame_flag == TX_P2P_PRESENCE_REQ)) { + -+ printk("%s, txdesc_frame_flag=%d, status=%d\n", __func__, ptxdesc->txdesc_frame_flag, status); ++ pr_debug("%s, txdesc_frame_flag=%d, status=%d\n", __func__, ptxdesc->txdesc_frame_flag, status); + if (txok) { + sta->sta_wnet_vif->vm_p2p->tx_status_flag = WIFINET_TX_STATUS_SUCC; + sta->sta_wnet_vif->vm_p2p->send_tx_status_flag = 1; @@ -61079,7 +61484,7 @@ index 000000000000..30f30b0ecc6a + sta->sta_wnet_vif->vm_p2p->raw_action_pkt, sta->sta_wnet_vif->vm_p2p->raw_action_pkt_len, txok, GFP_KERNEL); + + } else { -+ if (ptxdesc->txdesc_frame_flag == TX_P2P_GO_NEGO_REQ_GO_NEGO_CONF || ptxdesc->txdesc_frame_flag == TX_P2P_PRESENCE_REQ) { ++ if (ptxdesc->txdesc_frame_flag == TX_P2P_GO_NEGO_CONF || ptxdesc->txdesc_frame_flag == TX_P2P_PRESENCE_REQ) { + sta->sta_wnet_vif->vm_p2p->action_retry_time = DEFAULT_MGMT_RETRY_INTERVAL; + + } else { @@ -61092,7 +61497,7 @@ index 000000000000..30f30b0ecc6a + +#ifdef CTS_VERIFIER_GAS + if (ptxdesc->txdesc_frame_flag == TX_P2P_GAS) { -+ printk("%s, txdesc_frame_flag=%d, status=%d\n", __func__, ptxdesc->txdesc_frame_flag, status); ++ pr_debug("%s, txdesc_frame_flag=%d, status=%d\n", __func__, ptxdesc->txdesc_frame_flag, status); + + if ((sta->sta_wnet_vif->vm_p2p->action_code == WIFINET_ACT_PUBLIC_GAS_REQ && sta->sta_wnet_vif->vm_p2p->p2p_flag & P2P_GAS_RSP) || + (sta->sta_wnet_vif->vm_p2p->action_code == WIFINET_ACT_PUBLIC_GAS_RSP && txok) || @@ -61111,15 +61516,69 @@ index 000000000000..30f30b0ecc6a + } + } +#endif ++ ++ if (ptxdesc->txdesc_frame_flag == TX_MGMT_CSA_ACTION) { ++ AML_OUTPUT("channel switch announce action frm status=%d, channel:%d\n",status, sta->sta_wmac->wm_curchan->chan_pri_num); ++ } ++ + if ((ptxdesc->txdesc_frame_flag >= TX_MGMT_PROBE_REQ) && !txok) { + drv_priv->drv_ops.cca_busy_check(); -+ printk("%s, txdesc_frame_flag:%d, status=%d, rate:%02x\n", ++ pr_debug("%s, txdesc_frame_flag:%d, status=%d, rate:%02x\n", + __func__, ptxdesc->txdesc_frame_flag, status, ptxdesc->txdesc_rateinfo[0].vendor_rate_code); + + } else if (ptxdesc->txdesc_frame_flag == TX_MGMT_ADDBA_RSP) { + ; + } + ++ if (p2p_pub_act && (p2p_pub_act->category == AML_CATEGORY_PUBLIC)) { ++ if (p2p_pub_act->action == WIFINET_ACT_PUBLIC_P2P && p2p_pub_act->oui_type == OUI_TYPE_DPP) { ++ unsigned char dpp_action_subtype = *((char*)wh + sizeof(struct wifi_frame) + 7); ++ ++ if (dpp_action_subtype < 19) { ++ AML_OUTPUT("DPP->%s, tx_status:%d, vm_flags_ext2:0x%x, %d\n", dpp_pub_action_str[dpp_action_subtype], status, wnet_vif->vm_flags_ext2, sizeof(dpp_pub_action_str[0])); ++ } else { ++ AML_OUTPUT("subtype:%d\n", dpp_action_subtype); ++ } ++ ++ if (txok) { ++ sta->sta_wnet_vif->vm_p2p->send_tx_status_flag = 1; ++ sta->sta_wnet_vif->vm_wmac->wm_p2p_connection_protect = 0; ++ cfg80211_mgmt_tx_status(sta->sta_wnet_vif->vm_wdev, sta->sta_wnet_vif->vm_p2p->cookie, ++ sta->sta_wnet_vif->vm_p2p->raw_action_pkt, sta->sta_wnet_vif->vm_p2p->raw_action_pkt_len, txok, GFP_KERNEL); ++ if (wnet_vif->vm_flags_ext2 & WIFINET_FEXT2_DPP_CONNECTION_STATUS_RETRY) { ++ wnet_vif->vm_flags_ext2 &= ~WIFINET_FEXT2_DPP_CONNECTION_STATUS_RETRY; ++ } ++ } else { ++ if (dpp_action_subtype == 12) { ++ AML_OUTPUT("retry dpp connection status frame\n"); ++ wnet_vif->vm_flags_ext2 |= WIFINET_FEXT2_DPP_CONNECTION_STATUS_RETRY; ++ os_timer_ex_start_period(&sta->sta_wnet_vif->vm_actsend, 1000); ++ } else { ++ sta->sta_wnet_vif->vm_p2p->send_tx_status_flag = 1; ++ sta->sta_wnet_vif->vm_wmac->wm_p2p_connection_protect = 0; ++ cfg80211_mgmt_tx_status(sta->sta_wnet_vif->vm_wdev, sta->sta_wnet_vif->vm_p2p->cookie, ++ sta->sta_wnet_vif->vm_p2p->raw_action_pkt, sta->sta_wnet_vif->vm_p2p->raw_action_pkt_len, WIFINET_TX_STATUS_FAIL, GFP_KERNEL); ++ } ++ } ++ wnet_vif->vm_flags_ext2 &= ~WIFINET_FEXT2_DPP_SEND; ++ if (wnet_vif->vm_flags_ext2 & WIFINET_FEXT2_MGMT_RESTORE_CHANNEL) { ++ AML_OUTPUT("dpp frame restore chan\n"); ++ wnet_vif->vm_flags_ext2 &= ~WIFINET_FEXT2_MGMT_RESTORE_CHANNEL; ++ wifi_mac_restore_wnet_vif_channel_task(wnet_vif); ++ } ++ } else if (((p2p_pub_act->action == WIFINET_ACT_PUBLIC_GAS_REQ) || (p2p_pub_act->action == WIFINET_ACT_PUBLIC_GAS_RSP))) { ++ sta->sta_wnet_vif->vm_p2p->send_tx_status_flag = 1; ++ cfg80211_mgmt_tx_status(sta->sta_wnet_vif->vm_wdev, sta->sta_wnet_vif->vm_p2p->cookie, ++ sta->sta_wnet_vif->vm_p2p->raw_action_pkt, sta->sta_wnet_vif->vm_p2p->raw_action_pkt_len, txok, GFP_KERNEL); ++ wnet_vif->vm_flags_ext2 &= ~WIFINET_FEXT2_DPP_SEND; ++ if (wnet_vif->vm_flags_ext2 & WIFINET_FEXT2_MGMT_RESTORE_CHANNEL) { ++ AML_OUTPUT("gas frame restore chan\n"); ++ wnet_vif->vm_flags_ext2 &= ~WIFINET_FEXT2_MGMT_RESTORE_CHANNEL; ++ wifi_mac_restore_wnet_vif_channel_task(wnet_vif); ++ } ++ } ++ } ++ + if (ptxdesc->txdesc_frame_flag == TX_MGMT_DEAUTH && txok + && sta->sta_wnet_vif->vm_opmode == WIFINET_M_STA) { + wifi_mac_add_work_task(wnet_vif->vm_wmac, wifi_mac_sm_switch, NULL, (SYS_TYPE)wnet_vif, WIFINET_S_SCAN, 0, 0, 0); @@ -61402,7 +61861,7 @@ index 000000000000..30f30b0ecc6a +#endif + + if (ptxdesc == NULL) { -+ //printk("%s: callback txds is null\n", __func__); ++ //pr_err("%s: callback txds is null\n", __func__); + return; + } + @@ -61412,7 +61871,7 @@ index 000000000000..30f30b0ecc6a + + DRV_TXQ_LOCK(txlist); + if (ptxdesc->txdesc_sta == NULL) { -+ printk("%s pkt has already freed\n", __func__); ++ pr_warn("%s pkt has already freed\n", __func__); + DRV_TXQ_UNLOCK(txlist); + return; + } @@ -61491,9 +61950,11 @@ index 000000000000..30f30b0ecc6a + if (drv_priv->drv_config.cfg_txaggr) + { + drv_txlist_push_pending(drv_priv, txlist, vid); ++ DRV_TXQ_UNLOCK(txlist); + drv_priv->net_ops->wifi_mac_free_txamsdu_queue(drv_priv->wmac, vid); ++ } else { ++ DRV_TXQ_UNLOCK(txlist); + } -+ DRV_TXQ_UNLOCK(txlist); + + drv_txq_backup_drain(drv_priv, txlist, vid); +} @@ -61519,7 +61980,7 @@ index 000000000000..30f30b0ecc6a + txlist->txlist_qcnt--; + ptxdesc->txdesc_sta = NULL; + -+ printk("free qid:%d, drv_sta:%p\n", ptxdesc->txinfo->queue_id, drv_sta); ++ pr_debug("free qid:%d, drv_sta:%p\n", ptxdesc->txinfo->queue_id, drv_sta); + DRV_TXQ_UNLOCK(txlist); + drv_tx_complete(drv_priv, ptxdesc, 0); + DRV_TXQ_LOCK(txlist); @@ -61569,7 +62030,7 @@ index 000000000000..30f30b0ecc6a + +void drv_set_is_mother_channel(struct drv_private *drv_priv, unsigned char vid, unsigned char enable) +{ -+ //printk("vid:%d mother channel is:%d\n", vid, enable); ++ //pr_debug("vid:%d mother channel is:%d\n", vid, enable); + drv_priv->is_mother_channel[vid] = enable; +} + @@ -61583,7 +62044,7 @@ index 000000000000..30f30b0ecc6a + ptxdesc = list_first_entry(&drv_priv->drv_normal_buffer_queue[vid], struct drv_txdesc, txdesc_queue); + list_del_init(&ptxdesc->txdesc_queue); + drv_tx_complete(drv_priv, ptxdesc, 0); -+ //printk("%s\n", __func__); ++ //pr_debug("%s\n", __func__); + } + + drv_priv->drv_normal_buffer_count[vid] = 0; @@ -61598,50 +62059,66 @@ index 000000000000..30f30b0ecc6a + struct list_head txdesc_list_head; + struct aml_driver_nsta *drv_sta; + struct wlan_net_vif *wnet_vif = NULL; ++ signed char status = 0; + + INIT_LIST_HEAD(&txdesc_list_head); + -+ DRV_TX_NORMAL_BUF_LOCK(drv_priv); -+ while (!list_empty(&drv_priv->drv_normal_buffer_queue[vid])) ++ while (1) + { -+ ptxdesc = list_first_entry(&drv_priv->drv_normal_buffer_queue[vid], struct drv_txdesc, txdesc_queue); -+ list_del_init(&ptxdesc->txdesc_queue); -+ list_add_tail(&ptxdesc->txdesc_queue, &txdesc_list_head); ++ DRV_TX_NORMAL_BUF_LOCK(drv_priv); ++ do { ++ status = 0; ++ if (!list_empty(&drv_priv->drv_normal_buffer_queue[vid])) { ++ ptxdesc = list_first_entry(&drv_priv->drv_normal_buffer_queue[vid], struct drv_txdesc, txdesc_queue); ++ txlist = &drv_priv->drv_txlist_table[ptxdesc->txinfo->queue_id]; + -+ drv_sta = ptxdesc->txdesc_sta; -+ txlist = &drv_priv->drv_txlist_table[ptxdesc->txinfo->queue_id]; ++ ASSERT(txlist->txlist_qnum == ptxdesc->txinfo->queue_id); ++ if (aml_tx_hal_buffer_full(drv_priv,txlist->txlist_qnum, 1, 1) == 1) ++ { ++ status = -1; ++ break; ++ } + -+ ASSERT(txlist->txlist_qnum == ptxdesc->txinfo->queue_id); -+ if (aml_tx_hal_buffer_full(drv_priv,txlist->txlist_qnum, 1, 1) == 1) -+ { -+ list_add_tail(&ptxdesc->txdesc_queue, &drv_priv->drv_normal_buffer_queue[vid]); -+ DRV_TX_NORMAL_BUF_UNLOCK(drv_priv); -+ return; -+ } -+ DRV_TX_NORMAL_BUF_UNLOCK(drv_priv); ++ list_del_init(&ptxdesc->txdesc_queue); ++ drv_priv->drv_normal_buffer_count[vid]--; + -+ if (drv_sta == NULL) { -+ continue; -+ } ++ drv_sta = ptxdesc->txdesc_sta; ++ if (drv_sta == NULL || drv_sta->net_nsta == NULL) { ++ AML_OUTPUT("drv_sta:0x%x\n", drv_sta); ++ status = 1; ++ break; ++ } + -+ if (drv_sta->net_nsta != NULL) { -+ wnet_vif = ((struct wifi_station *)(drv_sta->net_nsta))->sta_wnet_vif; -+ } ++ wnet_vif = ((struct wifi_station *)(drv_sta->net_nsta))->sta_wnet_vif; ++ if (wnet_vif == NULL || wnet_vif->vm_state != WIFINET_S_CONNECTED) { ++ status = 2; ++ break; ++ } + -+ if ((wnet_vif != NULL) && (wnet_vif->vm_state == WIFINET_S_CONNECTED)) { -+ ptxdesc->txinfo->b_Ampdu = 0; -+ if (drv_tx_normal(drv_priv, txlist, &txdesc_list_head, vid)) -+ { -+ ASSERT(0); -+ return; ++ list_add_tail(&ptxdesc->txdesc_queue, &txdesc_list_head); ++ } else { ++ status = -1; ++ break; + } -+ } else { ++ } while(0); ++ DRV_TX_NORMAL_BUF_UNLOCK(drv_priv); ++ ++ if (status < 0) { ++ break; ++ } else if (status > 0) { ++ AML_OUTPUT("drop buffer txdesc, reason:%d\n", status); + drv_tx_complete(drv_priv, ptxdesc, 0); ++ continue; ++ } ++ ++ ptxdesc->txinfo->b_Ampdu = 0; ++ /* coverity[LOCK:SUPPRESS] */ ++ if (drv_tx_normal(drv_priv, txlist, &txdesc_list_head, vid)) ++ { ++ ASSERT(0); ++ return; + } -+ DRV_TX_NORMAL_BUF_LOCK(drv_priv); -+ drv_priv->drv_normal_buffer_count[vid]--; + } -+ DRV_TX_NORMAL_BUF_UNLOCK(drv_priv); +} + +unsigned short drv_tx_pending_pkt(struct drv_private *drv_priv) @@ -61742,7 +62219,7 @@ index 000000000000..30f30b0ecc6a + tid = DRV_GET_TIDTXINFO(drv_sta, tid_index); + + if (tid->cleanup_inprogress) { -+ printk(" %s %d \n", __func__, __LINE__); ++ pr_debug(" %s %d \n", __func__, __LINE__); + return 0; + } + @@ -62003,9 +62480,9 @@ index 000000000000..30f30b0ecc6a + desc_id = (tid->baw_head + index) & (DRV_TID_MAX_BUFS - 1); + + if (tid->tx_desc[desc_id] != NULL) { -+ printk("desc_id:%d, sta:%p\n", desc_id, tid->drv_sta->net_nsta); -+ printk("new seqnum=%d new tid_index=%d\n", ptxdesc->txinfo->seqnum, ptxdesc->txinfo->tid_index); -+ printk("tid->seq_start=%d", tid->seq_start); ++ pr_debug("desc_id:%d, sta:%p\n", desc_id, tid->drv_sta->net_nsta); ++ pr_debug("new seqnum=%d new tid_index=%d\n", ptxdesc->txinfo->seqnum, ptxdesc->txinfo->tid_index); ++ pr_debug("tid->seq_start=%d", tid->seq_start); + } + + tid->tx_desc[desc_id] = ptxdesc; @@ -62251,9 +62728,10 @@ index 000000000000..30f30b0ecc6a + ptxdesc = list_first_entry(txdesc_list_head, struct drv_txdesc, txdesc_queue); + wh = (struct wifi_frame *)os_skb_data(ptxdesc->txdesc_mpdu); + -+ if (!drv_priv->is_mother_channel[vid] && !WIFINET_IS_PROBEREQ(wh)) { -+ printk("%s vid:%d not mother channel, buffer\n", __func__, vid); ++ if (!drv_priv->is_mother_channel[vid] && !WIFINET_IS_PROBEREQ(wh) && (!ptxdesc->txinfo->b_dpp)) { ++ pr_debug("%s vid:%d not mother channel, buffer\n", __func__, vid); + ++ list_del_init(&ptxdesc->txdesc_queue); + DRV_TX_NORMAL_BUF_LOCK(drv_priv); + list_add_tail(&ptxdesc->txdesc_queue, &drv_priv->drv_normal_buffer_queue[vid]); + drv_priv->drv_normal_buffer_count[vid]++; @@ -62618,7 +63096,7 @@ index 000000000000..30f30b0ecc6a + unsigned char hal_co_get_cnt; + + if (!drv_priv->is_mother_channel[tid->vid]) { -+ //printk("%s not mother channel vid:%d\n", __func__, tid->vid); ++ //pr_debug("%s not mother channel vid:%d\n", __func__, tid->vid); + return; + } + @@ -62792,7 +63270,7 @@ index 000000000000..30f30b0ecc6a + + tid->seq_next = tid->seq_start; + tid->baw_tail = tid->baw_head; -+ printk("%s baw_head %x\n", __func__, tid->baw_head); ++ pr_warn("%s baw_head %x\n", __func__, tid->baw_head); +} + +static void @@ -63054,14 +63532,14 @@ index 000000000000..30f30b0ecc6a + break; + + default: -+ printk(" %s %d vm_mac_mode =%d ERROR\n",__func__,__LINE__, wnet_vif->vm_mac_mode); ++ pr_err(" %s %d vm_mac_mode =%d ERROR\n",__func__,__LINE__, wnet_vif->vm_mac_mode); + break; + } + return 0; +} diff --git a/drivers/net/wireless/w1/vmac/wifi_drv_xmit.h b/drivers/net/wireless/w1/vmac/wifi_drv_xmit.h new file mode 100644 -index 000000000000..af08e05786f7 +index 0000000000000000000000000000000000000000..af08e05786f7fd1790f10c06d32786693b8f834d --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_drv_xmit.h @@ -0,0 +1,101 @@ @@ -63168,10 +63646,10 @@ index 000000000000..af08e05786f7 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_hal.c b/drivers/net/wireless/w1/vmac/wifi_hal.c new file mode 100644 -index 000000000000..8e11ef3dbdf0 +index 0000000000000000000000000000000000000000..52798e53bb066b6b7b3222d2c8c2effb4f7f8b2b --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hal.c -@@ -0,0 +1,3540 @@ +@@ -0,0 +1,3590 @@ +#ifdef HAL_SIM_VER +#ifdef FW_NAME +namespace FW_NAME @@ -63222,12 +63700,13 @@ index 000000000000..8e11ef3dbdf0 + +unsigned char hal_set_pn_win(unsigned long long *pn_win) +{ -+ unsigned char i = 0, offset = 0; ++ unsigned char i, offset = 0; + unsigned long long win; + unsigned long long tmp; + + for (i = 0; i < 2; i++) { + win = *(pn_win + i); ++ + while(win > 0) { + if ((win & 1) == 0) { + break; @@ -63235,52 +63714,51 @@ index 000000000000..8e11ef3dbdf0 + win >>= 1; + offset++; + } -+ if (offset < MAX_PN_WINDOW/2) { ++ ++ if (offset < MAX_PN_WINDOW / 2) { + break; + } + } ++ + if (offset == 0) { + offset = 1; + } + -+ if (offset > 0 && offset < MAX_PN_WINDOW/2) { ++ if (offset > 0 && offset < MAX_PN_WINDOW / 2) { + pn_win[0] >>= offset; + tmp = pn_win[1] & ((1 << offset) - 1); -+ pn_win[0] |= (tmp << (MAX_PN_WINDOW/2 - offset)); ++ pn_win[0] |= (tmp << (MAX_PN_WINDOW / 2 - offset)); + pn_win[1] >>= offset; -+ -+ } else if (offset >= MAX_PN_WINDOW/2 && offset < MAX_PN_WINDOW) { -+ pn_win[0] = pn_win[1] >> (offset - MAX_PN_WINDOW/2); ++ } else if (offset >= MAX_PN_WINDOW / 2 && offset < MAX_PN_WINDOW) { ++ pn_win[0] = pn_win[1] >> (offset - MAX_PN_WINDOW / 2); + pn_win[1] = 0; -+ + } else { + pn_win[0] = 0; + pn_win[1] = 0; + } -+ return offset; -+} + ++ return offset; ++} + +unsigned long long hal_check_dup_pn(unsigned long long *pn_win, unsigned int repcnt_diff) +{ -+ if (repcnt_diff > 0 && repcnt_diff <= MAX_PN_WINDOW/2) { ++ if (repcnt_diff > 0 && repcnt_diff <= MAX_PN_WINDOW / 2) { + return pn_win[0] & (1 << (repcnt_diff - 1)); -+ } else if (repcnt_diff > MAX_PN_WINDOW/2 && repcnt_diff <= MAX_PN_WINDOW) { -+ return pn_win[1] & (1 << (repcnt_diff - MAX_PN_WINDOW/2 - 1)); ++ } else if (repcnt_diff > MAX_PN_WINDOW / 2 && repcnt_diff <= MAX_PN_WINDOW) { ++ return pn_win[1] & (1 << (repcnt_diff - MAX_PN_WINDOW / 2 - 1)); + } else { + return 0; + } +} + -+ -+unsigned char hal_chk_replay_cnt(struct hal_private *hal_priv,HW_RxDescripter_bit *RxPrivHdr) ++unsigned char hal_chk_replay_cnt(struct hal_private *hal_priv, HW_RxDescripter_bit *RxPrivHdr) +{ + int staid = 0; + unsigned char wnet_vif_id = 0; + unsigned char *PN = NULL; + unsigned long long *repcnt_my[2]; + unsigned long long *repcnt_rx ; -+ int ret =0; ++ int ret = 0; + struct aml_hal_call_backs *AmlmS_opt = hal_get_drv_func(); + HW_RxDescripter_bit *RxPrivHdr_bit = (HW_RxDescripter_bit *)RxPrivHdr; + struct drv_private *drv_priv = (struct drv_private *)hal_priv->drv_priv; @@ -63302,14 +63780,15 @@ index 000000000000..8e11ef3dbdf0 + return 1; + + ASSERT(AmlmS_opt->get_stationid != NULL); -+ wnet_vif_id = RxPrivHdr_bit->RxA1match_id;//address 1 always be rx_end's mac address. ++ wnet_vif_id = RxPrivHdr_bit->RxA1match_id; /* address 1 always be rx_end's mac address. */ + ret = AmlmS_opt->get_stationid(hal_priv->drv_priv, &RxPrivHdr->data[10], wnet_vif_id, &staid); + + if (ret < 0) + { -+ //dump_memory_internel(&RxPrivHdr->data[10],6); -+ //PRINT("staid %x error !\n", staid); -+ //if we are sta, we should disconnect from the counterpart. ++ /* dump_memory_internal(&RxPrivHdr->data[10],6); ++ * PRINT("staid %x error !\n", staid); ++ * if we are sta, we should disconnect from the counterpart. ++ */ + return false; + } + wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; @@ -63322,7 +63801,7 @@ index 000000000000..8e11ef3dbdf0 + case RX_PHY_CCMP: + repcnt_my[is_group] = (unsigned long long *)PN; + repcnt_rx = (unsigned long long *)RxPrivHdr->PN; -+ //not require "+1", just require increase ++ /* not require "+1", just require increase */ + if (*repcnt_my[is_group] < *repcnt_rx) { + if (*repcnt_my[is_group] == 0 && *repcnt_rx > 0) { + *repcnt_my[is_group] = *repcnt_rx - 1; @@ -63345,14 +63824,14 @@ index 000000000000..8e11ef3dbdf0 + repcnt_diff = (int)(*repcnt_rx - *repcnt_my[is_group]); + } + -+ if (repcnt_diff > 0 && repcnt_diff <= MAX_PN_WINDOW/2) { ++ if (repcnt_diff > 0 && repcnt_diff <= MAX_PN_WINDOW / 2) { + wnet_vif->pn_window[is_group][0] |= (1 << (repcnt_diff - 1)); + if (repcnt_diff == 1) { + offset = hal_set_pn_win(wnet_vif->pn_window[is_group]); + *repcnt_my[is_group] += offset; + } -+ } else if (repcnt_diff > MAX_PN_WINDOW/2 && repcnt_diff <= MAX_PN_WINDOW){ -+ wnet_vif->pn_window[is_group][1] |= (1 << (repcnt_diff - MAX_PN_WINDOW/2 - 1)); ++ } else if (repcnt_diff > MAX_PN_WINDOW / 2 && repcnt_diff <= MAX_PN_WINDOW){ ++ wnet_vif->pn_window[is_group][1] |= (1 << (repcnt_diff - MAX_PN_WINDOW / 2 - 1)); + } + } + @@ -63363,10 +63842,11 @@ index 000000000000..8e11ef3dbdf0 + } + break; + case RX_PHY_WAPI: -+ if (hal_wpi_chk_pn_increase(RxPrivHdr->PN,PN) == true) { -+ memcpy(PN,RxPrivHdr->PN,MAX_PN_LEN); ++ if (hal_wpi_chk_pn_increase(RxPrivHdr->PN, PN) == true) { ++ memcpy(PN, RxPrivHdr->PN, MAX_PN_LEN); + return true; + } ++ + return false; + break; + case RX_PHY_WEP64: @@ -63374,6 +63854,7 @@ index 000000000000..8e11ef3dbdf0 + default: + break; + } ++ + return true; +} + @@ -63381,7 +63862,7 @@ index 000000000000..8e11ef3dbdf0 +#if defined (HAL_FPGA_VER) +{ + HW_RxDescripter_bit *RxPrivHdr_bit; -+ unsigned char wnet_vif_id = 0; ++ unsigned char wnet_vif_id; + static unsigned char print_count = 0; + unsigned char pkt_drop = 0; + @@ -63396,23 +63877,31 @@ index 000000000000..8e11ef3dbdf0 + if (wnet_vif_id >= WIFI_MAX_VID) + { + PRINT("hal_soft_rx_cs wnet_vif_id %d \n", wnet_vif_id); -+ //dump_memory_internel(RxPrivHdr_bit->data, 32); ++ /* dump_memory_internal(RxPrivHdr_bit->data, 32); */ + os_skb_free(skb); + return; + } + -+ if ((RxPrivHdr_bit->mic_err) || (RxPrivHdr_bit->keymiss_err) || (RxPrivHdr_bit->icv_err) -+ || (hal_priv->hal_call_back->intr_rx_handle == NULL)) ++ if ((RxPrivHdr_bit->mic_err) || (RxPrivHdr_bit->keymiss_err) || ++ (RxPrivHdr_bit->icv_err) || (hal_priv->hal_call_back->intr_rx_handle == NULL)) + { + if (!(print_count++ % 100)) -+ PRINT("mic_err = %d, keymiss_err %d wnet_vif_id %d\n",RxPrivHdr_bit->mic_err, RxPrivHdr_bit->keymiss_err,wnet_vif_id); ++ PRINT("mic_err = %d, keymiss_err %d wnet_vif_id %d\n", ++ RxPrivHdr_bit->mic_err, RxPrivHdr_bit->keymiss_err, ++ wnet_vif_id); + + if (RxPrivHdr_bit->mic_err) { -+ pkt_drop = hal_priv->hal_call_back->pmf_encrypt_pkt_handle(hal_priv->drv_priv, skb, RxPrivHdr_bit->RxRSSI_ant0, -+ RxPrivHdr_bit->RxRate, RxPrivHdr_bit->RxChannel, RxPrivHdr_bit->aggregation, wnet_vif_id,RxPrivHdr_bit->key_id); -+ -+ hal_priv->hal_call_back->mic_error_event(hal_priv->drv_priv,RxPrivHdr_bit->data, -+ WIFI_ADDR2(RxPrivHdr_bit->data),wnet_vif_id); ++ pkt_drop = hal_priv->hal_call_back->pmf_encrypt_pkt_handle(hal_priv->drv_priv, ++ skb, RxPrivHdr_bit->RxRSSI_ant0, ++ RxPrivHdr_bit->RxRate, ++ RxPrivHdr_bit->RxChannel, ++ RxPrivHdr_bit->aggregation, ++ wnet_vif_id,RxPrivHdr_bit->key_id); ++ ++ hal_priv->hal_call_back->mic_error_event(hal_priv->drv_priv, ++ RxPrivHdr_bit->data, ++ WIFI_ADDR2(RxPrivHdr_bit->data), ++ wnet_vif_id); + } else { + pkt_drop = 1; + } @@ -63435,8 +63924,8 @@ index 000000000000..8e11ef3dbdf0 +#endif + } + -+ if (RxPrivHdr_bit->RxTcpCSUM_err && RxPrivHdr_bit->RxTcpCSUMCalculated -+ && RxPrivHdr_bit->RxIPCSUM_err && RxPrivHdr_bit->RxIPCSUMCalculated) ++ if (RxPrivHdr_bit->RxTcpCSUM_err && RxPrivHdr_bit->RxTcpCSUMCalculated && ++ RxPrivHdr_bit->RxIPCSUM_err && RxPrivHdr_bit->RxIPCSUMCalculated) + { + skb->ip_summed = CHECKSUM_UNNECESSARY; + } @@ -63445,50 +63934,58 @@ index 000000000000..8e11ef3dbdf0 + skb->ip_summed = CHECKSUM_NONE; + } + -+ // push to upper layer -+ hal_priv->hal_call_back->intr_rx_handle(hal_priv->drv_priv, skb, RxPrivHdr_bit->RxRSSI_ant0, -+ RxPrivHdr_bit->RxRate, RxPrivHdr_bit->Channel_BW, RxPrivHdr_bit->RxChannel, RxPrivHdr_bit->aggregation, wnet_vif_id,RxPrivHdr_bit->key_id); ++ /* push to upper layer */ ++ hal_priv->hal_call_back->intr_rx_handle(hal_priv->drv_priv, skb, ++ RxPrivHdr_bit->RxRSSI_ant0, ++ RxPrivHdr_bit->RxRate, ++ RxPrivHdr_bit->Channel_BW, ++ RxPrivHdr_bit->RxChannel, ++ RxPrivHdr_bit->aggregation, ++ wnet_vif_id,RxPrivHdr_bit->key_id); + } +} +#elif defined (HAL_SIM_VER) +{ + HW_RxDescripter_bit *RxPrivHdr_bit; + RxPrivHdr_bit = (HW_RxDescripter_bit *)OS_SKBBUF_DATA(skb); ++ + if (STA2_VMAC1_RX_FRAME_DUMP) { + hal_show_rxframe(RxPrivHdr_bit); + } ++ + OS_SKBBUF_PULL(skb,sizeof(HW_RxDescripter_bit)); -+ if ((RxPrivHdr_bit->mic_err) -+ ||(RxPrivHdr_bit->keymiss_err) -+ ||(RxPrivHdr_bit->icv_err) -+ ||(hal_priv->hal_call_back->intr_rx_handle == NULL)) { ++ ++ if ((RxPrivHdr_bit->mic_err) || ++ (RxPrivHdr_bit->keymiss_err) || ++ (RxPrivHdr_bit->icv_err) || ++ (hal_priv->hal_call_back->intr_rx_handle == NULL)) { + Test_Done(0); + + if (RxPrivHdr_bit->mic_err) { -+ PRINT("%s RxLength= 0x%x, mic_err, dump\n",__FUNCTION__,RxPrivHdr_bit->RxLength); -+ dump_memory_internel(RxPrivHdr_bit->data, RxPrivHdr_bit->RxLength); ++ PRINT("%s RxLength= 0x%x, mic_err, dump\n", ++ __FUNCTION__, RxPrivHdr_bit->RxLength); ++ dump_memory_internal(RxPrivHdr_bit->data, RxPrivHdr_bit->RxLength); + } + OS_SKBBUF_FREE(skb); + return; -+ } -+ else { ++ } else { + unsigned short frame_control = READ_16L((unsigned char *)RxPrivHdr_bit->data); +#ifdef BEACON_TX_TEST + if ((frame_control & 0xfc) == MAC_FCTRL_BEACON) + { -+ /*counter frames without beacon frame*/ ++ /* counter frames without beacon frame */ + PRINT("Host receive beacon!\n"); + } + else +#endif +#if (STA1_VMAC0_SEND_TYPE == TYPE_PS_NULLDATA_TX || STA1_VMAC0_SEND_TYPE == TYPE_PS_PSPOLL_TX) -+ /*STA1 acts as STA, so only STA1 can send ps-poll. */ ++ /* STA1 acts as STA, so only STA1 can send ps-poll. */ + if (hal_mac_frame_type(frame_control, MAC_FCTRL_PSPOLL)) + { + PRINT("Host receive ps poll++++\n"); + } -+ else if (hal_mac_frame_type(frame_control, MAC_FCTRL_NULL_FUNCTION) -+ || hal_mac_frame_type(frame_control, MAC_FCTRL_QOS_NULL)) ++ else if (hal_mac_frame_type(frame_control, MAC_FCTRL_NULL_FUNCTION) || ++ hal_mac_frame_type(frame_control, MAC_FCTRL_QOS_NULL)) + { +#ifdef DOT11_PS_TEST + if (frame_control & FRAME_CONTROL_POWER_MANAGEMENT) @@ -63509,16 +64006,16 @@ index 000000000000..8e11ef3dbdf0 + } + +#if (STA1_VMAC1_PARAM2 == 1) -+ if (((rxframenum == STA2_VMAC1_SEND_FRAME_NUM)) -+ &&(STA2_VMAC1_SEND_FRAME_NUM != 99999)) ++ if ((rxframenum == STA2_VMAC1_SEND_FRAME_NUM) && ++ (STA2_VMAC1_SEND_FRAME_NUM != 99999)) + +#else + if (STA2_VMAC1_SEND_FRAME_NUM < STA1_VMAC0_AGG_NUM) { + PRINT("frame num < agg frame num : frame num is not enough for agg frame num\n"); + Test_Done(0); + } -+ if (((rxframenum == STA2_VMAC1_SEND_FRAME_NUM)) -+ &&(STA2_VMAC1_SEND_FRAME_NUM != 99999)) ++ if ((rxframenum == STA2_VMAC1_SEND_FRAME_NUM) && ++ (STA2_VMAC1_SEND_FRAME_NUM != 99999)) +#endif + { + Test_Done(1); @@ -63529,55 +64026,56 @@ index 000000000000..8e11ef3dbdf0 + } +#endif + if (RxPrivHdr_bit->data[1]&IEEE80211_FC1_WEP) { -+ //dump_memory_internel(RxPrivHdr_bit->data, RxPrivHdr_bit->RxLength); ++ /* dump_memory_internal(RxPrivHdr_bit->data, RxPrivHdr_bit->RxLength); */ + RxPrivHdr_bit->data[1] &= ~IEEE80211_FC1_WEP; + } + if (RxPrivHdr_bit->RxDecryptType != RX_PHY_NOWEP) { + } -+ if (STA2_TCPIP_CHECKSUM ) { ++ if (STA2_TCPIP_CHECKSUM) { + if (RxPrivHdr_bit->RxTcpCSUM_err && RxPrivHdr_bit->RxTcpCSUMCalculated) { -+ PRINT(">RxStatus = TCPCHSUM ERROR !\n"); -+ Test_Done(0); -+ } -+ else { -+ PRINT(">RxStatus = 0x%x TCPCHSUM ok \n"); ++ PRINT(">RxStatus = TCPCHSUM ERROR !\n"); ++ Test_Done(0); ++ } else { ++ PRINT(">RxStatus = 0x%x TCPCHSUM ok \n"); + } + -+ if (RxPrivHdr_bit->RxIPCSUM_err && RxPrivHdr_bit->RxIPCSUMCalculated) { -+ PRINT(">RxStatus = 0x%x IPCHSUM ERROR \n"); -+ Test_Done(0); -+ } -+ else { -+ PRINT(">RxStatus = 0x%x IPCHSUM ok \n"); ++ if (RxPrivHdr_bit->RxIPCSUM_err && RxPrivHdr_bit->RxIPCSUMCalculated) { ++ PRINT(">RxStatus = 0x%x IPCHSUM ERROR \n"); ++ Test_Done(0); ++ } else { ++ PRINT(">RxStatus = 0x%x IPCHSUM ok \n"); + } + } -+ hal_priv->hal_call_back->intr_rx_handle( hal_priv->drv_priv, -+ skb,RxPrivHdr_bit->RxRSSI_ant0, -+ RxPrivHdr_bit->RxRate, -+ RxPrivHdr_bit->Channel_BW, -+ RxPrivHdr_bit->RxChannel, RxPrivHdr_bit->aggregation, -+ RxPrivHdr_bit->RxA1match_id,RxPrivHdr_bit->key_id ); ++ hal_priv->hal_call_back->intr_rx_handle(hal_priv->drv_priv, skb, ++ RxPrivHdr_bit->RxRSSI_ant0, ++ RxPrivHdr_bit->RxRate, ++ RxPrivHdr_bit->Channel_BW, ++ RxPrivHdr_bit->RxChannel, ++ RxPrivHdr_bit->aggregation, ++ RxPrivHdr_bit->RxA1match_id, ++ RxPrivHdr_bit->key_id ); + } +} +#endif + -+void hal_write_word(unsigned int addr,unsigned int data) ++static void hal_write_word(unsigned int addr,unsigned int data) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); + +#if 1 + /* just for power save debug */ + if ((addr & 0xff000000) == 0x11000000) -+ hif->hif_ops.hi_bottom_write8(SDIO_FUNC1, (addr & ~0xff000000), (unsigned char)data); ++ hif->hif_ops.hi_bottom_write8(SDIO_FUNC1, (addr & ~0xff000000), ++ (unsigned char)data); + else +#endif + hif->hif_ops.hi_write_word(addr, data); +} + -+unsigned int hal_read_word(unsigned int addr) ++static unsigned int hal_read_word(unsigned int addr) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); -+ unsigned int regdata = 0; ++ struct hw_interface *hif = hif_get_hw_interface(); ++ unsigned int regdata; + +#if 1 + /* just for power save debug */ @@ -63586,43 +64084,45 @@ index 000000000000..8e11ef3dbdf0 + else +#endif + regdata = hif->hif_ops.hi_read_word(addr); ++ + return regdata; +} + -+void hal_bt_write_word(unsigned int addr,unsigned int data) ++static void hal_bt_write_word(unsigned int addr,unsigned int data) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); ++ + hif->hif_ops.bt_hi_write_word(addr, data); +} + -+unsigned int hal_bt_read_word(unsigned int addr) ++static unsigned int hal_bt_read_word(unsigned int addr) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); ++ + return hif->hif_ops.bt_hi_read_word(addr); +} + -+ -+void hal_pt_rx_start(unsigned int qos) ++static void hal_pt_rx_start(unsigned int qos) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); ++ + hif->hif_ops.hif_pt_rx_start(qos); +} + -+void hal_pt_rx_stop(void) ++static void hal_pt_rx_stop(void) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); -+ hif->hif_ops.hif_pt_rx_stop(); ++ struct hw_interface *hif = hif_get_hw_interface(); ++ ++ hif->hif_ops.hif_pt_rx_stop(); +} + +unsigned char hal_wake_fw_req(void) +{ + struct hal_private * halpriv = hal_get_priv(); -+ unsigned char fw_ps_st = PMU_PWR_OFF; -+ unsigned char fw_sleep = 0, host_sleep_req = 0; ++ unsigned char host_sleep_req = 0; + unsigned int loop = 0, wake_flag = 0; +#ifdef PROJECT_W1 + struct hw_interface* hif = hif_get_hw_interface(); -+ unsigned char host_req_status = 0; +#endif + + POWER_BEGIN_LOCK(); @@ -63635,7 +64135,7 @@ index 000000000000..8e11ef3dbdf0 + if (atomic_read(&halpriv->drv_suspend_cnt) != 0) + { + POWER_END_LOCK(); -+ printk("%s:%d, suspending, does not wake, fw st %d\n", __func__, __LINE__, ++ pr_debug("%s:%d, suspending, does not wake, fw st %d\n", __func__, __LINE__, + halpriv->hal_fw_ps_status); + return 0; + } @@ -63643,12 +64143,17 @@ index 000000000000..8e11ef3dbdf0 + // check fw power save status + while (halpriv->hal_fw_ps_status != HAL_FW_IN_ACTIVE) + { ++ unsigned char host_req_status; ++ unsigned char host_sleep_req; ++ unsigned char fw_ps_st; ++ unsigned char fw_sleep; ++ + fw_ps_st = halpriv->hal_ops.hal_get_fw_ps_status(); + fw_sleep = ((fw_ps_st & FW_SLEEP) != 0) ? 1 : 0; + host_req_status = hif->hif_ops.hi_bottom_read8(SDIO_FUNC1, RG_SDIO_PMU_HOST_REQ); + host_sleep_req = ((host_req_status & HOST_SLEEP_REQ) != 0) ? 1 : 0; + -+ //printk("fw ps st 0x%x, fw_sleep 0x%x, host_sleep_req 0x%x\n", fw_ps_st, fw_sleep, host_sleep_req); ++ //pr_debug("fw ps st 0x%x, fw_sleep 0x%x, host_sleep_req 0x%x\n", fw_ps_st, fw_sleep, host_sleep_req); + // fw/pmu st + fw_ps_st = fw_ps_st & 0xF; + if (fw_ps_st != PMU_ACT_MODE) @@ -63697,7 +64202,7 @@ index 000000000000..8e11ef3dbdf0 + { + POWER_END_LOCK(); + host_wake_w1_fail_cnt++; -+ printk("fw ps st 0x%x, fw_sleep 0x%x, host_sleep_req 0x%x\n", fw_ps_st, fw_sleep, host_sleep_req); ++ pr_debug("fw ps st 0x%x, fw_sleep 0x%x, host_sleep_req 0x%x\n", fw_ps_st, fw_sleep, host_sleep_req); + return 0; + } + } @@ -63710,13 +64215,15 @@ index 000000000000..8e11ef3dbdf0 +{ + struct hal_private * halpriv = hal_get_priv(); + int loop_count = 0; -+ unsigned int fw_ps_st = 0; -+ unsigned int host_sleep_req = 0; -+ unsigned int fw_sleep = 0; + + POWER_BEGIN_LOCK(); ++ + while (halpriv->hal_fw_ps_status == HAL_FW_IN_SLEEP) + { ++ unsigned int fw_ps_st; ++ unsigned int fw_sleep; ++ unsigned int host_sleep_req; ++ + POWER_END_LOCK(); + fw_ps_st = halpriv->hal_ops.hal_get_fw_ps_status(); + fw_sleep = ((fw_ps_st & FW_SLEEP) != 0) ? 1 : 0; @@ -63731,7 +64238,7 @@ index 000000000000..8e11ef3dbdf0 +#endif + ) + { -+ //printk("%s:%d, fw is not active mode, st = 0x%x\n", __func__, __LINE__, fw_ps_st); ++ /* pr_debug("%s:%d, fw is not active mode, st = 0x%x\n", __func__, __LINE__, fw_ps_st); */ + } + else + { @@ -63743,6 +64250,7 @@ index 000000000000..8e11ef3dbdf0 + } + POWER_BEGIN_LOCK(); + } ++ + POWER_END_LOCK(); + return 1; +} @@ -63750,7 +64258,7 @@ index 000000000000..8e11ef3dbdf0 +unsigned char hal_get_fw_ps_status(void) +{ + struct hw_interface* hif = hif_get_hw_interface(); -+ unsigned char fw_ps_st = 0; ++ unsigned char fw_ps_st; + + fw_ps_st = hif->hif_ops.hi_bottom_read8(SDIO_FUNC1, RG_SDIO_PMU_STATUS) & 0xFF; + return fw_ps_st; @@ -63769,7 +64277,7 @@ index 000000000000..8e11ef3dbdf0 + struct hw_interface* hif = hif_get_hw_interface(); + unsigned char tmp = 0; + -+ // clear ++ /* clear */ + tmp = hif->hif_ops.hi_bottom_read8(SDIO_FUNC1, RG_SDIO_PMU_WAKE); + hif->hif_ops.hi_bottom_write8(SDIO_FUNC1, RG_SDIO_PMU_WAKE, (tmp & ~BIT(0))); + return 0; @@ -63862,10 +64370,10 @@ index 000000000000..8e11ef3dbdf0 + hal_priv->hal_ops.phy_get_rw_ptr = phy_get_rw_ptr; + hal_priv->hal_ops.phy_get_tsf = phy_get_tsf; + -+ // beamforming ++ /* beamforming */ + hal_priv->hal_ops.phy_set_bmfm_info = phy_set_bmfm_info; + /*enable or disable WIFI/BT coexist*/ -+ hal_priv->hal_ops.phy_set_coexist_en = phy_set_coexist_en; ++ hal_priv->hal_ops.phy_set_coexist_en = phy_set_coexist_en; + + hal_priv->hal_ops.phy_set_coexist_max_miss_bcn = phy_set_coexist_max_miss_bcn; + hal_priv->hal_ops.phy_set_coexist_req_timeslice_timeout_value = phy_set_coexist_req_timeslice_timeout_value; @@ -63961,12 +64469,11 @@ index 000000000000..8e11ef3dbdf0 + host_suspend_req = NULL; + host_resume_req = NULL; +#endif -+ +} + +int hal_set_suspend(unsigned char enable) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); + + if (hif->hif_ops.hif_suspend != NULL) + return hif->hif_ops.hif_suspend(enable); @@ -63974,9 +64481,10 @@ index 000000000000..8e11ef3dbdf0 + return -1; +} + -+struct aml_hal_call_backs *hal_get_drv_func(void) ++struct aml_hal_call_backs *hal_get_drv_func(void) +{ + struct hal_private *hal_priv = hal_get_priv(); ++ + return hal_priv->hal_call_back; +} + @@ -64002,93 +64510,105 @@ index 000000000000..8e11ef3dbdf0 +void hal_pn_win_init(enum aml_key_type type, unsigned char wnet_vif_id) +{ + unsigned int LoopCnt; -+ struct hal_private * hal_priv =hal_get_priv(); ++ struct hal_private *hal_priv = hal_get_priv(); + struct drv_private *drv_priv = (struct drv_private *)hal_priv->drv_priv; + struct wlan_net_vif *wnet_vif = drv_priv->drv_wnet_vif_table[wnet_vif_id]; ++ + for (LoopCnt = 0; LoopCnt < 2; LoopCnt++) { + wnet_vif->pn_window[type][LoopCnt] = 0; + } +} + -+void hal_urep_cnt_init(struct unicastReplayCnt *RepCnt,unsigned char encryType) ++void hal_urep_cnt_init(struct unicastReplayCnt *RepCnt, unsigned char encryType) +{ + unsigned int LoopCnt; ++ + if (encryType == WIFI_WPI) + { -+ unsigned char AP_upn[MAX_PN_LEN] = {0x37, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36,0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c }; -+ unsigned char STA_upn[MAX_PN_LEN] = {0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36,0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c }; ++ unsigned char AP_upn[MAX_PN_LEN] = {0x37, 0x5c, 0x36, 0x5c, 0x36, ++ 0x5c, 0x36, 0x5c, 0x36, 0x5c, ++ 0x36, 0x5c, 0x36, 0x5c, 0x36, ++ 0x5c}; ++ unsigned char STA_upn[MAX_PN_LEN] = {0x36, 0x5c, 0x36, 0x5c, 0x36, ++ 0x5c, 0x36, 0x5c, 0x36, 0x5c, ++ 0x36, 0x5c, 0x36, 0x5c, 0x36, ++ 0x5c}; + + /* Tx replay counter init value = 1*/ + if (wifi_conf_mib.dot11CamMode == MODE_STA) + { -+ memcpy(&RepCnt->txPN[TX_UNICAST_REPCNT_ID][0],STA_upn,MAX_PN_LEN); ++ memcpy(&RepCnt->txPN[TX_UNICAST_REPCNT_ID][0], STA_upn, MAX_PN_LEN); + } + else + { -+ memcpy(&RepCnt->txPN[TX_UNICAST_REPCNT_ID][0],AP_upn,MAX_PN_LEN); ++ memcpy(&RepCnt->txPN[TX_UNICAST_REPCNT_ID][0], AP_upn, MAX_PN_LEN); + } + } + else + { -+ /* Tx replay counter init value = 1*/ ++ /* Tx replay counter init value = 1 */ + for (LoopCnt = 0; LoopCnt < MAX_TX_QUEUE; LoopCnt++) + { -+ memset(&RepCnt->txPN[LoopCnt][0],0,MAX_PN_LEN); -+ RepCnt->txPN[LoopCnt][0] =1; ++ memset(&RepCnt->txPN[LoopCnt][0], 0, MAX_PN_LEN); ++ RepCnt->txPN[LoopCnt][0] = 1; + } + } + for (LoopCnt = 0; LoopCnt < MAX_RX_QUEUE; LoopCnt++) + { -+ /* Rx replay counter init value = 0*/ ++ /* Rx replay counter init value = 0 */ + memset(&RepCnt->rxPN[LoopCnt][0], 0, MAX_PN_LEN); + } + +} + -+void hal_mrep_cnt_init(struct hal_private *halpriv,unsigned char wnet_vif_id,unsigned char encryType) ++void hal_mrep_cnt_init(struct hal_private *halpriv, unsigned char wnet_vif_id, ++ unsigned char encryType) +{ -+ struct multicastReplayCnt *mRepCnt = &halpriv->mRepCnt[wnet_vif_id]; ++ struct multicastReplayCnt *mRepCnt = &halpriv->mRepCnt[wnet_vif_id]; ++ + if (encryType == WIFI_WPI) + { -+ unsigned char gpn[16]= {0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c}; ++ unsigned char gpn[16]= {0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, ++ 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, ++ 0x36, 0x5c, 0x36, 0x5c}; + /* Tx replay counter init value = 1 */ -+ memcpy(&mRepCnt->txPN[0],gpn,MAX_PN_LEN); ++ memcpy(&mRepCnt->txPN[0], gpn, MAX_PN_LEN); + } + else + { -+ /* Tx replay counter init value = 1*/ -+ memset(&mRepCnt->txPN[0],0,MAX_PN_LEN); -+ mRepCnt->txPN[0] =1; ++ /* Tx replay counter init value = 1 */ ++ memset(&mRepCnt->txPN[0], 0, MAX_PN_LEN); ++ mRepCnt->txPN[0] = 1; + } -+ /* Rx replay counter init value = 0*/ ++ /* Rx replay counter init value = 0 */ + memset(&mRepCnt->rxPN[0], 0, MAX_PN_LEN); +} + -+void hal_wpi_pn_self_plus( unsigned long long *WpiPN ) ++void hal_wpi_pn_self_plus(unsigned long long *WpiPN) +{ -+ if ( WpiPN[0] == 0xFFFFFFFFFFFFFFFFull ) ++ if (WpiPN[0] == 0xFFFFFFFFFFFFFFFFull) + { -+ WpiPN[0] =0x0ull; -+ WpiPN[1] +=0x1ull; ++ WpiPN[0] = 0x0ull; ++ WpiPN[1] += 0x1ull; + } + else + { -+ WpiPN[0] +=0x1ull; ++ WpiPN[0] += 0x1ull; + } +} + -+void hal_wpi_pn_self_plus_plus( unsigned long long *WpiPN ) ++void hal_wpi_pn_self_plus_plus(unsigned long long *WpiPN) +{ + -+ if ( WpiPN[0] == 0xFFFFFFFFFFFFFFFFull ) ++ if (WpiPN[0] == 0xFFFFFFFFFFFFFFFFull) + { -+ WpiPN[0] =0x1ull; -+ WpiPN[1] +=0x1ull; ++ WpiPN[0] = 0x1ull; ++ WpiPN[1] += 0x1ull; + } -+ else if ( WpiPN[0] == 0xFFFFFFFFFFFFFFFEull ) ++ else if (WpiPN[0] == 0xFFFFFFFFFFFFFFFEull) + { -+ WpiPN[0] =0x0ull; -+ WpiPN[1] +=0x1ull; ++ WpiPN[0] = 0x0ull; ++ WpiPN[1] += 0x1ull; + } + else + { @@ -64096,10 +64616,11 @@ index 000000000000..8e11ef3dbdf0 + } +} + -+unsigned char hal_wpi_chk_pn_increase( unsigned char *RcvPN, unsigned char *SavedPn ) ++unsigned char hal_wpi_chk_pn_increase(unsigned char *RcvPN, unsigned char *SavedPn) +{ -+ int i=0; -+ for (i=(MAX_PN_LEN-1); i>=0; i--) ++ int i; ++ ++ for (i= (MAX_PN_LEN - 1); i >= 0; i--) + { + if (RcvPN[i]>SavedPn[i]) + { @@ -64109,28 +64630,27 @@ index 000000000000..8e11ef3dbdf0 + { + return false; + } -+ else -+ { -+ -+ } + } ++ + return false; +} + +void hal_free_txcmp_buf(struct hal_private *hal_priv) +{ -+ +#if defined (HAL_FPGA_VER) -+ FREE(hal_priv->txcompletestatus,"hal_priv->txcompletestatus"); ++ FREE(hal_priv->txcompletestatus, "hal_priv->txcompletestatus"); +#elif defined (HAL_SIM_VER) + FREE(hal_priv->txcompletestatus); +#endif +} ++ +unsigned char hal_alloc_txcmp_buf( struct hal_private *hal_priv) +{ -+ //alloc tx agg descriptor ++ /* alloc tx agg descriptor */ +#if defined (HAL_FPGA_VER) -+ hal_priv->txcompletestatus = (struct tx_complete_status *)ZMALLOC(sizeof(struct tx_complete_status), "hal_priv->txcompletestatus", GFP_KERNEL); ++ hal_priv->txcompletestatus = (struct tx_complete_status *)ZMALLOC(sizeof(struct tx_complete_status), ++ "hal_priv->txcompletestatus", ++ GFP_KERNEL); + if (hal_priv->txcompletestatus == NULL) + { + ERROR_DEBUG_OUT("alloc_err\n"); @@ -64214,7 +64734,7 @@ index 000000000000..8e11ef3dbdf0 + return 0; +} + -+unsigned char hal_get_free_tx_id_num(struct hal_private * hal_priv) ++static unsigned char hal_get_free_tx_id_num(struct hal_private * hal_priv) +{ + unsigned char bit_num = 0; + unsigned char i; @@ -64265,7 +64785,7 @@ index 000000000000..8e11ef3dbdf0 + } + else + { -+ printk("free id:%d, %lx, %lx\n", id, hal_priv->tx_frames_map[0], hal_priv->tx_frames_map[1]); ++ pr_debug("free id:%d, %lx, %lx\n", id, hal_priv->tx_frames_map[0], hal_priv->tx_frames_map[1]); + ret = -1; + } + COMMON_UNLOCK(); @@ -64298,7 +64818,7 @@ index 000000000000..8e11ef3dbdf0 + COMMON_UNLOCK(); + + //if (id == TXID_INVALID) -+ //printk("%s alloc fail\n", __func__); ++ //pr_err("%s alloc fail\n", __func__); + return id; +} + @@ -64401,7 +64921,7 @@ index 000000000000..8e11ef3dbdf0 + } +} + -+void hal_tx_complete(struct sk_buff * skb_buf) ++static void hal_tx_complete(struct sk_buff * skb_buf) +{ + if (aml_wifi_is_enable_rf_test() && (skb_buf != NULL)) { + os_skb_free(skb_buf); @@ -64426,7 +64946,7 @@ index 000000000000..8e11ef3dbdf0 + + if (hal_priv->bhaltxdrop || hal_priv->bhalPowerSave) { + if (print_cnt++ == 200) { -+ printk("%s bhaltxdrop:%d, bhalPowerSave:%d\n", __func__, hal_priv->bhaltxdrop, hal_priv->bhalPowerSave); ++ pr_debug("%s bhaltxdrop:%d, bhalPowerSave:%d\n", __func__, hal_priv->bhaltxdrop, hal_priv->bhalPowerSave); + } + return; + } @@ -64438,7 +64958,7 @@ index 000000000000..8e11ef3dbdf0 + POWER_END_LOCK(); + AML_TXLOCK_LOCK(); + if (print_cnt++ == 200) { -+ printk("%s %d hal_drv_ps_status:%02x\n", __func__, __LINE__, hal_priv->hal_drv_ps_status); ++ pr_debug("%s %d hal_drv_ps_status:%02x\n", __func__, __LINE__, hal_priv->hal_drv_ps_status); + } + return; + } @@ -64453,7 +64973,7 @@ index 000000000000..8e11ef3dbdf0 + AML_TXLOCK_LOCK(); + + if (print_cnt++ == 200) { -+ printk("%s %d hal_drv_ps_status:%02x\n", __func__, __LINE__, hal_priv->hal_drv_ps_status); ++ pr_debug("%s %d hal_drv_ps_status:%02x\n", __func__, __LINE__, hal_priv->hal_drv_ps_status); + } + return; + } @@ -64656,7 +65176,7 @@ index 000000000000..8e11ef3dbdf0 + return howmanypage(mpdulen+FW_TXDESC_DATAOFFSET, PAGE_LEN); +} + -+int hal_calc_block_in_mpdu (int mpdulen) ++static int hal_calc_block_in_mpdu (int mpdulen) +{ + return (mpdulen + (PAGE_LEN - 1)) / PAGE_LEN; +} @@ -64748,7 +65268,7 @@ index 000000000000..8e11ef3dbdf0 + frame_control = *(unsigned short *)(&pTxDPape->txdata[0]);//(frame_control & 0xff) == 0x88 + if (g_dbg_modules & AML_DBG_MODULES_HAL_TX) + { -+ //printk("pTxDescFiFo->SN:%04x, frame_control:%04x\n", pTxDescFiFo->SN, frame_control); ++ //pr_debug("pTxDescFiFo->SN:%04x, frame_control:%04x\n", pTxDescFiFo->SN, frame_control); + hal_show_txframe(pTxDPape); + } +#endif @@ -64889,7 +65409,7 @@ index 000000000000..8e11ef3dbdf0 + + COMMON_LOCK(); + if (hal_is_empty_tx_id(hal_priv) < 0) { -+ printk("set bhaltxdrop to 1, tx_frames_map:%lx, %lx, page:%d\n", ++ pr_debug("set bhaltxdrop to 1, tx_frames_map:%lx, %lx, page:%d\n", + hal_priv->tx_frames_map[0], hal_priv->tx_frames_map[1], hal_priv->txPageFreeNum); + hal_priv->bhaltxdrop = 1; + } @@ -64905,7 +65425,7 @@ index 000000000000..8e11ef3dbdf0 + if (!((pTxDescFiFo->pTxDPape->TxPriv.vid == vid) || (vid == 3))) { + id = hal_alloc_tx_id(hal_priv,pTxDescFiFo); + if (id == TXID_INVALID) { -+ printk("%s warning, please handle this situation!!!\n", __func__); ++ pr_warn("%s warning, please handle this situation!!!\n", __func__); + break;//how to handle this situation + } + pTxDescFiFo->pTxDPape->TxPriv.hostcallbackid= (unsigned char)id; @@ -64951,7 +65471,7 @@ index 000000000000..8e11ef3dbdf0 + + if (hal_priv->bhaltxdrop == 1) { + hal_priv->bhaltxdrop = 0; -+ printk("recover bhaltxdrop to 0, tx_frames_map:%lx, %lx, page:%d, vid:%d\n", ++ pr_debug("recover bhaltxdrop to 0, tx_frames_map:%lx, %lx, page:%d, vid:%d\n", + hal_priv->tx_frames_map[0], hal_priv->tx_frames_map[1], hal_priv->txPageFreeNum, vid); + } + return 0; @@ -65025,27 +65545,27 @@ index 000000000000..8e11ef3dbdf0 + struct hw_interface* hif = hif_get_hw_interface(); + struct _CO_SHARED_FIFO * tx_share_fifo = NULL; + -+ printk("\n--------hal statistic--------\n"); ++ pr_debug("\n--------hal statistic--------\n"); + + if((ctrl_code & STS_MOD_HAL) == STS_MOD_HAL) + { + if ((ctrl_code & STS_TYP_TX) == STS_TYP_TX) + { -+ printk("en_beacon[0]=%d\nen_beacon[1]=%d\n", hal_priv->sts_en_bcn[0], hal_priv->sts_en_bcn[1]); -+ printk("dis_beacon[0]=%d\ndis_beacon[1]=%d\n", hal_priv->sts_dis_bcn[0], hal_priv->sts_dis_bcn[1]); ++ pr_debug("en_beacon[0]=%d\nen_beacon[1]=%d\n", hal_priv->sts_en_bcn[0], hal_priv->sts_en_bcn[1]); ++ pr_debug("dis_beacon[0]=%d\ndis_beacon[1]=%d\n", hal_priv->sts_dis_bcn[0], hal_priv->sts_dis_bcn[1]); + -+ printk("hal:tx_free_page %d \n", hal_priv->txPageFreeNum); -+ printk("hal:tx_ok_num:%d, tx_fail_num:%d\n", hif->HiStatus.tx_ok_num, hif->HiStatus.tx_fail_num); ++ pr_debug("hal:tx_free_page %d \n", hal_priv->txPageFreeNum); ++ pr_debug("hal:tx_ok_num:%d, tx_fail_num:%d\n", hif->HiStatus.tx_ok_num, hif->HiStatus.tx_fail_num); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0) && !defined (LINUX_PLATFORM) -+ printk("hal:send_frm:%d, done_frm:%d, free_frm:%d\n", hif->HiStatus.Tx_Send_num, hif->HiStatus.Tx_Done_num, hif->HiStatus.Tx_Free_num); ++ pr_debug("hal:send_frm:%d, done_frm:%d, free_frm:%d\n", hif->HiStatus.Tx_Send_num, hif->HiStatus.Tx_Done_num, hif->HiStatus.Tx_Free_num); +#else -+ printk("hal:send_frm:%d, done_frm:%d, free_frm:%d\n", ++ pr_debug("hal:send_frm:%d, done_frm:%d, free_frm:%d\n", + atomic_read(&hif->HiStatus.Tx_Send_num), + atomic_read(&hif->HiStatus.Tx_Done_num), + atomic_read(&hif->HiStatus.Tx_Free_num)); +#endif -+ printk("hal:gpio irq cnt %d \n", hal_priv->gpio_irq_cnt); -+ printk("tx_cmp: tx_done_frm %d, tx_mng_frm %d, tx_page %d\n", ++ pr_debug("hal:gpio irq cnt %d \n", hal_priv->gpio_irq_cnt); ++ pr_debug("tx_cmp: tx_done_frm %d, tx_mng_frm %d, tx_page %d\n", + hal_priv->txcompletestatus->txdoneframecounter, + hal_priv->txcompletestatus->txmanageframecounter, + hal_priv->txcompletestatus->txpagecounter); @@ -65053,7 +65573,7 @@ index 000000000000..8e11ef3dbdf0 + for(i = 0; i < HAL_NUM_TX_QUEUES; i++) + { + tx_share_fifo = &hal_priv->txds_trista_fifo[i]; -+ printk("txds_trista_fifo[%d]: make %d, set %d, get %d\n", ++ pr_debug("txds_trista_fifo[%d]: make %d, set %d, get %d\n", + i, + CO_SharedFifoNbElt(tx_share_fifo, CO_TX_BUFFER_MAKE), + CO_SharedFifoNbElt(tx_share_fifo, CO_TX_BUFFER_SET), @@ -65062,7 +65582,7 @@ index 000000000000..8e11ef3dbdf0 + + for(i = 0; i < hirq_max_idx; i++) + { -+ printk("%s, %d\n", hirq_prt_info[i], hal_priv->sts_hirq[i]); ++ pr_debug("%s, %d\n", hirq_prt_info[i], hal_priv->sts_hirq[i]); + } + } + } @@ -65079,7 +65599,7 @@ index 000000000000..8e11ef3dbdf0 + + to_sdio = 0x00000000; + hi_clear_irq_status(to_sdio); -+ printk("%s(%d) hal_priv->bhalOpen 0x%x\n", __func__, __LINE__, hal_priv->bhalOpen); ++ pr_debug("%s(%d) hal_priv->bhalOpen 0x%x\n", __func__, __LINE__, hal_priv->bhalOpen); + return 1; +} + @@ -65128,6 +65648,8 @@ index 000000000000..8e11ef3dbdf0 + + drv_set_config((void *)drv_priv, CHIP_PARAM_RETRY_LIMIT, 100 << 8 | 100); + wifi_mac_set_tx_power_coefficient(drv_priv, NULL, drv_priv->drv_config.cfg_txpoweplan); ++ ++ drv_priv->net_ops->wifi_mac_rate_ratmod_detach(drv_priv); + drv_priv->net_ops->wifi_mac_rate_ratmod_attach(drv_priv); + + drv_rate_setup(drv_priv, WIFINET_MODE_11GNAC); @@ -65173,7 +65695,7 @@ index 000000000000..8e11ef3dbdf0 + hal_priv->bhalProbelok = 1; + hal_priv->beaconaddr[0]=0; + hal_priv->beaconaddr[1]=0; -+ printk("%s(%d) hal_priv->bhalOpen 0x%x\n", __func__, __LINE__, hal_priv->bhalOpen); ++ pr_debug("%s(%d) hal_priv->bhalOpen 0x%x\n", __func__, __LINE__, hal_priv->bhalOpen); + return true; + +__exit_err: @@ -65230,13 +65752,13 @@ index 000000000000..8e11ef3dbdf0 + unsigned char chip_id_buf[23]; + + chip_id_l = efuse_manual_read(CHIP_ID_EFUASE_L); -+ printk("efuse addr:%08x, chip_id is :%08x\n", CHIP_ID_EFUASE_L, chip_id_l); ++ pr_debug("efuse addr:%08x, chip_id is :%08x\n", CHIP_ID_EFUASE_L, chip_id_l); + chip_id_h = efuse_manual_read(CHIP_ID_EFUASE_H); -+ printk("efuse addr:%08x, chip_id is :%08x\n", CHIP_ID_EFUASE_H, chip_id_h); ++ pr_debug("efuse addr:%08x, chip_id is :%08x\n", CHIP_ID_EFUASE_H, chip_id_h); + + sprintf(chip_id_buf, CHIP_ID_F, chip_id_h & 0xffff, chip_id_l); + if (aml_store_to_file(WIFIMAC_PATH, chip_id_buf, strlen(chip_id_buf)) > 0) { -+ printk("write the chip_id to wifimac.txt \n"); ++ pr_debug("write the chip_id to wifimac.txt \n"); + ret = true; + } +#endif @@ -65805,7 +66327,7 @@ index 000000000000..8e11ef3dbdf0 + /* free skb allocated by hal*/ + if (hal_free_tx_id(hal_priv, txstatus, &callback, &queue_id) < 0) + { -+ printk("free tx_id error \n"); ++ pr_err("free tx_id error \n"); + tx_status_node_free(txok_status_node,txok_status_list); + txok_status_node = NULL; + continue; @@ -65825,7 +66347,7 @@ index 000000000000..8e11ef3dbdf0 + } + } + -+ printk("%s(%d) =====> exit TXOK Thread <=====\n",__func__,__LINE__); ++ pr_debug("%s(%d) =====> exit TXOK Thread <=====\n",__func__,__LINE__); + WAKE_LOCK_DESTROY(hal_priv, WAKE_LOCK_TXOK); +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) + complete_and_exit(&hal_priv->txok_thread_completion, 0); @@ -65863,7 +66385,7 @@ index 000000000000..8e11ef3dbdf0 + sched_set_fifo(current); +#endif + -+ printk("%s(%d) =====creat thread hal_rx_thread<=====\n",__func__,__LINE__); ++ pr_debug("%s(%d) =====creat thread hal_rx_thread<=====\n",__func__,__LINE__); + + WAKE_LOCK_INIT(hal_priv,WAKE_LOCK_RX,"rx_proc amlwifi"); + while (!hal_priv->rx_thread_quit) @@ -65910,7 +66432,7 @@ index 000000000000..8e11ef3dbdf0 + { + /*if RxLength error, discard all data in host rx fifo*/ + rx_fifo_fdh = rx_fifo_fdt; -+ printk("%s(%d)(RxLength:%d,rx_fifo_total_len%d)\n", __func__,__LINE__, ++ pr_debug("%s(%d)(RxLength:%d,rx_fifo_total_len%d)\n", __func__,__LINE__, + pVRxDesc->RxLength,rx_fifo_total_len); + continue; + } @@ -65926,7 +66448,7 @@ index 000000000000..8e11ef3dbdf0 + skb = os_skb_alloc(pVRxDesc->RxLength + RX_PRIV_HDR_LEN); + if (skb == NULL) + { -+ printk("Couldn't allocate RX frame"); ++ pr_err("Couldn't allocate RX frame"); + break; + } + @@ -65967,7 +66489,7 @@ index 000000000000..8e11ef3dbdf0 + WAKE_UNLOCK(hal_priv, WAKE_LOCK_RX); + } + -+ printk("%s(%d) =====> exit RX Thread <=====\n",__func__,__LINE__); ++ pr_debug("%s(%d) =====> exit RX Thread <=====\n",__func__,__LINE__); + WAKE_LOCK_DESTROY(hal_priv, WAKE_LOCK_RX); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0) + kthread_complete_and_exit(&hal_priv->rx_thread_completion, 0); @@ -66046,7 +66568,6 @@ index 000000000000..8e11ef3dbdf0 + init_completion(&hal_priv->txok_thread_completion); + hal_priv->txok_thread_quit = 1; + up(&hal_priv->txok_thread_sem); -+ kthread_stop(hal_priv->txok_thread); + wait_for_completion(&hal_priv->txok_thread_completion); + hal_priv->txok_thread =0; + } @@ -66056,7 +66577,6 @@ index 000000000000..8e11ef3dbdf0 + init_completion(&hal_priv->rx_thread_completion); + hal_priv->rx_thread_quit = 1; + up(&hal_priv->rx_thread_sem); -+ kthread_stop(hal_priv->rx_thread); + wait_for_completion(&hal_priv->rx_thread_completion); + hal_priv->rx_thread =0; + } @@ -66066,7 +66586,6 @@ index 000000000000..8e11ef3dbdf0 + init_completion(&hal_priv->work_thread_completion); + hal_priv->work_thread_quit = 1; + up(&hal_priv->work_thread_sem); -+ kthread_stop(hal_priv->work_thread); + wait_for_completion(&hal_priv->work_thread_completion); + hal_priv->work_thread =0; + } @@ -66076,7 +66595,6 @@ index 000000000000..8e11ef3dbdf0 + init_completion(&hal_priv->hi_irq_thread_completion); + hal_priv->hi_irq_thread_quit = 1; + up(&hal_priv->hi_irq_thread_sem); -+ kthread_stop(hal_priv->hi_irq_thread); + wait_for_completion(&hal_priv->hi_irq_thread_completion); + hal_priv->hi_irq_thread =0; + } @@ -66148,7 +66666,7 @@ index 000000000000..8e11ef3dbdf0 +{ + PRINT("%s+++\n", __FUNCTION__); + PRINT("%s dump rx PN\n", __FUNCTION__); -+ dump_memory_internel((unsigned char *)RxPrivHdr->PN, 16); ++ dump_memory_internal((unsigned char *)RxPrivHdr->PN, 16); + PRINT("RxRSSI_ant0=%d RxRSSI_ant1=%d\n", + RxPrivHdr->RxRSSI_ant0, RxPrivHdr->RxRSSI_ant1); + PRINT("RxChannel=%d\n", RxPrivHdr->RxChannel); @@ -66183,11 +66701,11 @@ index 000000000000..8e11ef3dbdf0 + void hal_show_rxframe (HW_RxDescripter_bit *RxPrivHdr) +{ + PRINT("%s dump HW_RxDescripter_bit, len=%zd\n", __FUNCTION__, RX_PRIV_HDR_LEN); -+ dump_memory_internel((unsigned char*)RxPrivHdr, RX_PRIV_HDR_LEN); ++ dump_memory_internal((unsigned char*)RxPrivHdr, RX_PRIV_HDR_LEN); + show_rxvector(RxPrivHdr); + + PRINT("%s dump body, len=%d(0x%x)\n", __FUNCTION__, RxPrivHdr->RxLength, RxPrivHdr->RxLength); -+ dump_memory_internel((unsigned char*)RxPrivHdr->data, RxPrivHdr->RxLength); ++ dump_memory_internal((unsigned char*)RxPrivHdr->data, RxPrivHdr->RxLength); + show_macframe((unsigned char *)RxPrivHdr->data, RxPrivHdr->RxLength); +} + @@ -66321,12 +66839,12 @@ index 000000000000..8e11ef3dbdf0 + PRINT("%s---\n", __FUNCTION__); +} + -+void show_tx_option (struct HW_TxOption *TxOption) ++static void show_tx_option (struct HW_TxOption *TxOption) +{ + PRINT("%s+++\n", __FUNCTION__); + PRINT("KeyIdex=%d\n", TxOption->KeyIdex); + PRINT("%s dump tx PN\n", __FUNCTION__); -+ dump_memory_internel((unsigned char *)TxOption->PN, 16); ++ dump_memory_internal((unsigned char *)TxOption->PN, 16); + PRINT("%s---\n", __FUNCTION__); +} + @@ -66343,9 +66861,9 @@ index 000000000000..8e11ef3dbdf0 + PRINT("%s---\n", __FUNCTION__); +} + -+void show_macframe (unsigned char *start, unsigned char len) ++void show_macframe(unsigned char *start, unsigned char len) +{ -+ unsigned char* cursor = (unsigned char *)start; ++ unsigned char *cursor = (unsigned char *)start; + unsigned short frame_control; + unsigned short duration; + unsigned char ra_mac_address[6], ta_mac_address[6], bssid_mac_address[6]; @@ -66379,9 +66897,9 @@ index 000000000000..8e11ef3dbdf0 + sequence = READ_16L(cursor); + cursor += 2; + PRINT("fragment number=%d, sequence number=%d(0x%x)\n", -+ sequence&SEQUENCE_CONTROL_FRAGMENT_MASK, -+ (sequence&SEQUENCE_CONTROL_SEQUENCE_MASK)>>SEQUENCE_CONTROL_SEQUENCE_SHIFT, -+ (sequence&SEQUENCE_CONTROL_SEQUENCE_MASK)>>SEQUENCE_CONTROL_SEQUENCE_SHIFT); ++ sequence & SEQUENCE_CONTROL_FRAGMENT_MASK, ++ (sequence & SEQUENCE_CONTROL_SEQUENCE_MASK) >> SEQUENCE_CONTROL_SEQUENCE_SHIFT, ++ (sequence & SEQUENCE_CONTROL_SEQUENCE_MASK) >> SEQUENCE_CONTROL_SEQUENCE_SHIFT); + + if ((frame_control & MAC_FCTRL_QOS_DATA) == MAC_FCTRL_QOS_DATA) + { @@ -66392,16 +66910,17 @@ index 000000000000..8e11ef3dbdf0 + + if ((len - (cursor - start)) >= 8) + { -+ if ((cursor[0]==0xaa) && (cursor[1]==0xaa) && (cursor[2]==0x03)) ++ if ((cursor[0] == 0xaa) && (cursor[1]== 0xaa) && ++ (cursor[2] == 0x03)) + { + PRINT("LLC SNAP\n"); + } -+ PRINT("LLC type =0x%x\n", READ_16B(cursor+6)); -+ if ((cursor[6]==0x08) && (cursor[7]==0x06)) ++ PRINT("LLC type =0x%x\n", READ_16B(cursor + 6)); ++ if ((cursor[6] == 0x08) && (cursor[7] == 0x06)) + { + PRINT("ARP\n"); + } -+ if ((cursor[6]==0x08) && (cursor[7]==0x00)) ++ if ((cursor[6] == 0x08) && (cursor[7] == 0x00)) + { + PRINT("IP\n"); + llc_type_ip = 1; @@ -66411,21 +66930,24 @@ index 000000000000..8e11ef3dbdf0 + + if ((llc_type_ip==1) && ((len - (cursor - start)) >= 20)) + { -+ unsigned char ipv4 = 0; -+ unsigned char ip_header_len = 0; -+ unsigned short fragmentation = 0; ++ unsigned char ipv4 = 0; ++ unsigned char ip_header_len; ++ unsigned short fragmentation; ++ + if (((cursor[0] & 0xf0)>>4) == 4) + { + ipv4 = 1; + } ++ + PRINT("IPv%d\n", ((cursor[0] & 0xf0)>>4)); + ip_header_len = (cursor[0] & 0x0f)*4; -+ PRINT("IP Header Length=%dB\n", (cursor[0] & 0x0f)*4); ++ PRINT("IP Header Length=%dB\n", (cursor[0] & 0x0f) * 4); + PRINT("IP type of service =0x%x\n", cursor[1]); -+ PRINT("IP Total Length=%dB\n", READ_16B(cursor+2)); -+ PRINT("IP ID=%d\n", READ_16B(cursor+4)); -+ fragmentation = READ_16B(cursor+6); -+ PRINT("IP fragmentation flags=0x%x offset=%d\n", ((fragmentation & 0xe000)>>13), fragmentation&0x1fff); ++ PRINT("IP Total Length=%dB\n", READ_16B(cursor + 2)); ++ PRINT("IP ID=%d\n", READ_16B(cursor + 4)); ++ fragmentation = READ_16B(cursor + 6); ++ PRINT("IP fragmentation flags=0x%x offset=%d\n", ((fragmentation & 0xe000) >> 13), ++ fragmentation & 0x1fff); + PRINT("IP Time to live =%d\n", cursor[8]); + PRINT("IP transfer protocol type=%d\n", cursor[9]); + if (cursor[9] == 6) @@ -66438,13 +66960,13 @@ index 000000000000..8e11ef3dbdf0 + udp = 1; + PRINT("UDP\n"); + } -+ PRINT("IP Header checksum=0x%x\n", READ_16B(cursor+10)); ++ PRINT("IP Header checksum=0x%x\n", READ_16B(cursor + 10)); + if (ipv4 == 1) + { + PRINT("Source IP address\n"); -+ IPv4_address_print(cursor+12); ++ IPv4_address_print(cursor + 12); + PRINT("Dest IP address\n"); -+ IPv4_address_print(cursor+16); ++ IPv4_address_print(cursor + 16); + } + if ((len - (cursor - start)) >= ip_header_len) + { @@ -66457,24 +66979,24 @@ index 000000000000..8e11ef3dbdf0 + } + } + -+ if ((tcp==1) && ((len - (cursor - start)) >= 20)) ++ if ((tcp == 1) && ((len - (cursor - start)) >= 20)) + { -+ unsigned char tcp_header_len = 0; -+ unsigned short tcp_flags = 0; ++ unsigned char tcp_header_len; ++ unsigned short tcp_flags; + + PRINT("TCP source port=%d\n", READ_16B(cursor)); -+ PRINT("TCP dest port=%d\n", READ_16B(cursor+2)); -+ PRINT("TCP sequence number=%u\n", READ_32B(cursor+4)); -+ PRINT("TCP ack number=%u\n", READ_32B(cursor+8)); -+ tcp_flags = READ_16B(cursor+12); -+ tcp_header_len = ((tcp_flags & 0xf000) >> 12)*4; ++ PRINT("TCP dest port=%d\n", READ_16B(cursor + 2)); ++ PRINT("TCP sequence number=%u\n", READ_32B(cursor + 4)); ++ PRINT("TCP ack number=%u\n", READ_32B(cursor + 8)); ++ tcp_flags = READ_16B(cursor + 12); ++ tcp_header_len = ((tcp_flags & 0xf000) >> 12) * 4; + PRINT("TCP Header Length=%d\n", tcp_header_len); + PRINT("TCP flags URG=%d ACK=%d PSH=%d RST=%d SYN=%d FIN=%d\n", -+ !!(tcp_flags&0x20), !!(tcp_flags&0x10), !!(tcp_flags&0x08), -+ !!(tcp_flags&0x04), !!(tcp_flags&0x02), !!(tcp_flags&0x01)); -+ PRINT("TCP window size=%d\n", READ_16B(cursor+14)); -+ PRINT("TCP checksum of header and body=0x%x\n", READ_16B(cursor+16)); -+ PRINT("TCP urgent pointer=0x%x\n", READ_16B(cursor+18)); ++ !!(tcp_flags & 0x20), !!(tcp_flags & 0x10), !!(tcp_flags & 0x08), ++ !!(tcp_flags & 0x04), !!(tcp_flags & 0x02), !!(tcp_flags & 0x01)); ++ PRINT("TCP window size=%d\n", READ_16B(cursor + 14)); ++ PRINT("TCP checksum of header and body=0x%x\n", READ_16B(cursor + 16)); ++ PRINT("TCP urgent pointer=0x%x\n", READ_16B(cursor + 18)); + if ((len - (cursor - start)) >= tcp_header_len) + { + cursor += tcp_header_len; @@ -66522,19 +67044,18 @@ index 000000000000..8e11ef3dbdf0 + +} + -+ -+void hal_show_txagg_desc( struct hi_agg_tx_desc* HiTxDesc) ++void hal_show_txagg_desc(struct hi_agg_tx_desc *HiTxDesc) +{ + PRINT("HiTxDesc->RateTableMode %x\n", HiTxDesc->RateTableMode); + PRINT("HiTxDesc->TxPower %x\n", HiTxDesc->TxPower); + PRINT("HiTxDesc->StaId %x\n", HiTxDesc->StaId); + PRINT("HiTxDesc->KeyId %x\n", HiTxDesc->KeyId); + PRINT("HiTxDesc->EncryptType %x\n", HiTxDesc->EncryptType); -+ PRINT("HiTxDesc->TID %x\n", HiTxDesc->TID); ++ PRINT("HiTxDesc->TID %x\n", HiTxDesc->TID); + PRINT("HiTxDesc->CurrentRate %x\n", HiTxDesc->CurrentRate); + PRINT("HiTxDesc->TxTryRate1 %x\n", HiTxDesc->TxTryRate1); + -+ PRINT("HiTxDesc->TxTryNum0 %x\n", HiTxDesc->TxTryNum0); ++ PRINT("HiTxDesc->TxTryNum0 %x\n", HiTxDesc->TxTryNum0); + + PRINT("HiTxDesc->FLAG %x\n", HiTxDesc->FLAG); + PRINT("HiTxDesc->FLAG2 %x\n", HiTxDesc->FLAG2); @@ -66544,7 +67065,7 @@ index 000000000000..8e11ef3dbdf0 + PRINT("HiTxDesc->MpduNum %x\n", HiTxDesc->MpduNum); +} + -+void hal_tx_priv_desc_show(const struct hi_tx_priv_hdr* const HiTxPrivDesc) ++void hal_tx_priv_desc_show(const struct hi_tx_priv_hdr *const HiTxPrivDesc) +{ + PRINT("HiTxPrivDesc->DMALEN %x\n", HiTxPrivDesc->DMALEN); + PRINT("HiTxPrivDesc->MPDULEN %x\n", HiTxPrivDesc->MPDULEN); @@ -66560,49 +67081,55 @@ index 000000000000..8e11ef3dbdf0 +void hal_txinfo_show() +{ + struct hal_private *hal_priv = hal_get_priv(); -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); ++ int i; + -+ struct _CO_SHARED_FIFO* pTxShareFifo =NULL;// -+ int i =0; + DBG_ENTER(); + -+ for(i=0; itxds_trista_fifo[i]; -+ PRINT("TID = %d,hal_get_priv_cnt %d\n", i,hal_get_priv_cnt(i)); -+ PRINT("TID = %d,CO_TX_BUFFER_MAKE= %d\n", i, CO_SharedFifoNbElt(&hal_priv->txds_trista_fifo[i],CO_TX_BUFFER_MAKE)) ; -+ PRINT("TID = %d,CO_TX_BUFFER_SET= %d\n", i, CO_SharedFifoNbElt(&hal_priv->txds_trista_fifo[i],CO_TX_BUFFER_SET)) ; -+ PRINT("pTxShareFifo->IdxTab[0] %d,%d,\n", pTxShareFifo->IdxTab[0].In,pTxShareFifo->IdxTab[0].Out); -+ PRINT("pTxShareFifo->IdxTab[1] %d,%d,\n", pTxShareFifo->IdxTab[1].In,pTxShareFifo->IdxTab[1].Out); -+ PRINT("pTxShareFifo->IdxTab[2] %d,%d,\n", pTxShareFifo->IdxTab[2].In,pTxShareFifo->IdxTab[2].Out); ++ PRINT("TID = %d,hal_get_priv_cnt %d\n", i, hal_get_priv_cnt(i)); ++ PRINT("TID = %d,CO_TX_BUFFER_MAKE= %d\n", i, ++ CO_SharedFifoNbElt(&hal_priv->txds_trista_fifo[i], CO_TX_BUFFER_MAKE)) ; ++ PRINT("TID = %d,CO_TX_BUFFER_SET= %d\n", i, ++ CO_SharedFifoNbElt(&hal_priv->txds_trista_fifo[i], CO_TX_BUFFER_SET)) ; ++ PRINT("pTxShareFifo->IdxTab[0] %d,%d,\n", pTxShareFifo->IdxTab[0].In, ++ pTxShareFifo->IdxTab[0].Out); ++ PRINT("pTxShareFifo->IdxTab[1] %d,%d,\n", pTxShareFifo->IdxTab[1].In, ++ pTxShareFifo->IdxTab[1].Out); ++ PRINT("pTxShareFifo->IdxTab[2] %d,%d,\n", pTxShareFifo->IdxTab[2].In, ++ pTxShareFifo->IdxTab[2].Out); + } + +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0) && !defined (LINUX_PLATFORM) -+ PRINT("HiStatus.Tx_Send_num %d \n",hif->HiStatus.Tx_Send_num); -+ PRINT("HiStatus.Tx_Free_num %d \n",hif->HiStatus.Tx_Free_num); -+ PRINT("HiStatus.Tx_Done_num %d \n",hif->HiStatus.Tx_Done_num); ++ PRINT("HiStatus.Tx_Send_num %d \n", hif->HiStatus.Tx_Send_num); ++ PRINT("HiStatus.Tx_Free_num %d \n", hif->HiStatus.Tx_Free_num); ++ PRINT("HiStatus.Tx_Done_num %d \n", hif->HiStatus.Tx_Done_num); +#else -+ PRINT("HiStatus.Tx_Send_num %d \n",atomic_read(&hif->HiStatus.Tx_Send_num)); -+ PRINT("HiStatus.Tx_Free_num %d \n",atomic_read(&hif->HiStatus.Tx_Free_num)); -+ PRINT("HiStatus.Tx_Done_num %d \n",atomic_read(&hif->HiStatus.Tx_Done_num)); ++ PRINT("HiStatus.Tx_Send_num %d \n", atomic_read(&hif->HiStatus.Tx_Send_num)); ++ PRINT("HiStatus.Tx_Free_num %d \n", atomic_read(&hif->HiStatus.Tx_Free_num)); ++ PRINT("HiStatus.Tx_Done_num %d \n", atomic_read(&hif->HiStatus.Tx_Done_num)); +#endif -+ PRINT(" hal_priv->txPageFreeNum%d,\n", hal_priv->txPageFreeNum); -+ PRINT(" hal_priv->bitmap[0]=%lx,\n", hal_priv->tx_frames_map[0]); -+ PRINT(" hal_priv->bitmap[1]=%lx,\n", hal_priv->tx_frames_map[1]); -+ PRINT(" hal_priv->HalTxPageDoneCounter=%d,\n", hal_priv->HalTxPageDoneCounter ); -+ PRINT(" hal_priv->HalTxFrameDoneCounter=%d,\n", hal_priv->HalTxFrameDoneCounter ); -+ PRINT(" hal_priv->txcompletestatus->txpagecounter=%d,\n", hal_priv->txcompletestatus->txpagecounter ); ++ PRINT(" hal_priv->txPageFreeNum%d,\n", hal_priv->txPageFreeNum); ++ PRINT(" hal_priv->bitmap[0]=%lx,\n", hal_priv->tx_frames_map[0]); ++ PRINT(" hal_priv->bitmap[1]=%lx,\n", hal_priv->tx_frames_map[1]); ++ PRINT(" hal_priv->HalTxPageDoneCounter=%d,\n", hal_priv->HalTxPageDoneCounter ); ++ PRINT(" hal_priv->HalTxFrameDoneCounter=%d,\n", hal_priv->HalTxFrameDoneCounter ); ++ PRINT(" hal_priv->txcompletestatus->txpagecounter=%d,\n", hal_priv->txcompletestatus->txpagecounter ); + -+ PRINT("HiStatus.Tx_Done_num-- %d \n",hif->HiStatus.Tx_Done_num); ++ PRINT("HiStatus.Tx_Done_num-- %d \n", hif->HiStatus.Tx_Done_num); +} + +void hal_dpd_memory_download(void) +{ + unsigned int reg_tmp; + struct hw_interface* hif = hif_get_hw_interface(); -+ unsigned char * d_ptr = NULL; ++ unsigned char *d_ptr; + unsigned int addr = DPD_MEMORY_ADDR; -+ int len = 0, offset = 0; ++ int len, offset = 0; + + d_ptr = (unsigned char *)MEMDATA; + /* 1024 words */ @@ -66611,7 +67138,7 @@ index 000000000000..8e11ef3dbdf0 + ASSERT(len > 0); + ASSERT(len <= DPD_MEMORY_LEN); + -+ //set ram share ++ /* set ram share */ + hif->hif_ops.hi_write_word(0x00a0d0e4, 0x8000007f); + + /* @@ -66625,7 +67152,7 @@ index 000000000000..8e11ef3dbdf0 + if (!(reg_tmp & BIT(23))) + { + reg_tmp |= BIT(23); -+ hif->hif_ops.hi_write_word(RG_SDIO_IF_MISC_CTRL , reg_tmp); ++ hif->hif_ops.hi_write_word(RG_SDIO_IF_MISC_CTRL, reg_tmp); + } + /*config msb 15 bit address in BaseAddr Register*/ + hif->hif_ops.hi_write_reg32(RG_SCFG_FUNC5_BADDR_A, addr & 0xfffe0000); @@ -66633,8 +67160,8 @@ index 000000000000..8e11ef3dbdf0 + /* len <= DPD_MEMORY_LEN, just for exception */ + do + { -+ unsigned char* sdio_kmm = NULL; -+ int databyte = 0; ++ unsigned char *sdio_kmm; ++ int databyte; + + databyte = (len > SRAM_MAX_LEN) ? SRAM_MAX_LEN : len; + @@ -66643,8 +67170,8 @@ index 000000000000..8e11ef3dbdf0 + + memcpy(sdio_kmm, d_ptr + offset, databyte); + -+ hif->hif_ops.bt_hi_write_sram(sdio_kmm, -+ (unsigned char*)(SYS_TYPE)((addr & 0x1ffff) + offset), databyte); ++ hif->hif_ops.bt_hi_write_sram(sdio_kmm, (unsigned char*)(SYS_TYPE)((addr & 0x1ffff) + offset), ++ databyte); + + len -= databyte; + offset += databyte; @@ -66674,7 +67201,7 @@ index 000000000000..8e11ef3dbdf0 +#endif +} + -+unsigned char fwlog_buf[SRAM_FWLOG_BUFFER_LEN] = {0}; ++unsigned char fwlog_buf[SRAM_FWLOG_BUFFER_LEN] = { 0 }; +void hal_get_fwlog(void) +{ + struct hw_interface *hif = hif_get_hw_interface(); @@ -66698,11 +67225,12 @@ index 000000000000..8e11ef3dbdf0 + reg_tmp |= BIT(23); + hif->hif_ops.hi_write_word(RG_SDIO_IF_MISC_CTRL , reg_tmp); + } -+ /*config msb 15 bit address in BaseAddr Register*/ ++ /* config msb 15 bit address in BaseAddr Register */ + hif->hif_ops.hi_write_reg32(RG_SCFG_FUNC5_BADDR_A, addr & 0xfffe0000); + + hif->hif_ops.bt_hi_read_sram((unsigned char*)fwlog_buf, -+ (unsigned char*)(SYS_TYPE)(addr & 0x1ffff), databyte); ++ (unsigned char*)(SYS_TYPE)(addr & 0x1ffff), ++ databyte); + + drv_priv->drv_ops.drv_print_fwlog(fwlog_buf, databyte); +} @@ -66714,7 +67242,7 @@ index 000000000000..8e11ef3dbdf0 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_hal.h b/drivers/net/wireless/w1/vmac/wifi_hal.h new file mode 100644 -index 000000000000..314b377866db +index 0000000000000000000000000000000000000000..314b377866db377827014a5b4a56395a21d301d8 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hal.h @@ -0,0 +1,123 @@ @@ -66843,10 +67371,10 @@ index 000000000000..314b377866db +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_hal_cmd.c b/drivers/net/wireless/w1/vmac/wifi_hal_cmd.c new file mode 100644 -index 000000000000..88e06181ef00 +index 0000000000000000000000000000000000000000..cacb769e8667e0a9e1a73a6667bca666ec6e3ea5 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hal_cmd.c -@@ -0,0 +1,2225 @@ +@@ -0,0 +1,2223 @@ +/* + **************************************************************************************** + * @@ -67132,7 +67660,7 @@ index 000000000000..88e06181ef00 +unsigned int phy_set_preamble_type( unsigned char PreambleType) +{ + struct hal_private *hal_priv = hal_get_priv(); -+ printk("%s(%d) %x \n\n",__FUNCTION__, __LINE__,PreambleType); ++ pr_debug("%s(%d) %x \n\n",__FUNCTION__, __LINE__,PreambleType); + wifi_conf_mib.dot11PreambleType = PreambleType; + hal_priv->sta_con_msg.PreambleType = PreambleType; + return 1; @@ -67148,7 +67676,7 @@ index 000000000000..88e06181ef00 + unsigned int BcnAddr = hif->hw_config.beaconframeaddress; + struct TxDescPage *pbeacon_s = (struct TxDescPage *)buffer; + struct OtherTxPage *other_page = NULL; -+ int total_len = len + sizeof(struct TxDescPage) -1 + FCS_LEN; ++ int total_valid_len = len + sizeof(struct TxDescPage) - 1; /*not include fcs len*/ + /* beacon len per page */ + int firstpagelen = 0, otherpagelen = 0; + @@ -67161,7 +67689,7 @@ index 000000000000..88e06181ef00 + memcpy(pbeacon_s->txdata, pBeacon, len); + + /* build page flag */ -+ if (total_len <= PAGE_LEN) { ++ if (total_valid_len <= PAGE_LEN) { + /* set firstpagelen and otherpagelen to 0 to be flag */ + firstpagelen = otherpagelen = 0; + pbeacon_s->BufferInfo.MPDUBufFlag = 0; @@ -67288,7 +67816,7 @@ index 000000000000..88e06181ef00 + if (otherpagelen == 0) + { + hif->hif_ops.hi_write_sram((unsigned char*)(SYS_TYPE)buffer, -+ (unsigned char*)(SYS_TYPE)BcnAddr, total_len); ++ (unsigned char*)(SYS_TYPE)BcnAddr, total_valid_len); + } + else + { @@ -67307,7 +67835,7 @@ index 000000000000..88e06181ef00 + phy_set_param_cmd(Reset_Key_Cmd,wnet_vif_id,ALL_KEY_RST); + //life time + phy_set_param_cmd(MaxTxLifetime_Cmd,0,512); -+ printk("%s(%d)\n", __func__, __LINE__); ++ pr_debug("%s(%d)\n", __func__, __LINE__); + return 1; +} + @@ -67416,7 +67944,7 @@ index 000000000000..88e06181ef00 + hal_dpd_memory_download(); + } + -+ //printk("%s:%d, channel %d, bw %d, flag %d \n", __func__, __LINE__, channel, bw, flag); ++ //pr_debug("%s:%d, channel %d, bw %d, flag %d \n", __func__, __LINE__, channel, bw, flag); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&channel_switch, sizeof(struct Channel_Switch)); + HAL_END_LOCK(); @@ -67480,7 +68008,7 @@ index 000000000000..88e06181ef00 + + to_set = 0; + to_set = hif->hif_ops.hi_read_word( RG_PHY_BW_REG); -+ //printk("%s(%d) check: reg_0x%x is 0x%x cchan_num %d, chan_bw %d, cchan %d\n", __func__, __LINE__, ++ //pr_debug("%s(%d) check: reg_0x%x is 0x%x cchan_num %d, chan_bw %d, cchan %d\n", __func__, __LINE__, + //RG_PHY_BW_REG, to_set, chan->cchan_num, chan->chan_bw, chan->cchan_num); + return 1; +#else @@ -67773,8 +68301,7 @@ index 000000000000..88e06181ef00 + struct hal_private * hal_priv =hal_get_priv(); + unsigned int wme_acparam = aifsn|(cwminmax<<8)|(txop<<16); + -+ /* Removed verbose AC param log to reduce noise */ -+ /* PRINT("%s-->wnet_vif_id:%d, aifsn:%d, cwminmax:%02x txop:%d\n",__func__, wnet_vif_id, aifsn, cwminmax, txop); */ ++ PRINT("%s-->wnet_vif_id:%d, aifsn:%d, cwminmax:%02x txop:%d\n",__func__, wnet_vif_id, aifsn, cwminmax, txop); + + if((cwminmax ==0)||(aifsn==0)) + { @@ -67839,7 +68366,7 @@ index 000000000000..88e06181ef00 + return phy_get_param_cmd_ull(GET_TSF_CMD, vid); +} + -+unsigned long long phy_get_pn(unsigned char vid) ++static unsigned long long phy_get_pn(unsigned char vid) +{ + return phy_get_param_cmd_ull(GET_PN_CMD, vid); +} @@ -67931,7 +68458,7 @@ index 000000000000..88e06181ef00 + if (ipv6 != NULL) + memcpy(arp_agent_cmd.ip6_addr, ipv6, IPV6_ADDR_BUF_LEN); + -+ printk("%s:%d, set arp agent, enable %d \n", __func__, __LINE__, enable); ++ pr_debug("%s:%d, set arp agent, enable %d \n", __func__, __LINE__, enable); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&arp_agent_cmd, sizeof(struct ArpAgentCmd)); + HAL_END_LOCK(); @@ -67955,7 +68482,7 @@ index 000000000000..88e06181ef00 + memcpy(add_pattern_cmd.pattern, pattern, add_pattern_cmd.pattern_len); + memcpy(add_pattern_cmd.mask, mask, mask_len); + -+ printk("%s:%d, wow len %d, mask 0x%x, pattern 0x%lx\n", __func__, __LINE__, len, ++ pr_debug("%s:%d, wow len %d, mask 0x%x, pattern 0x%lx\n", __func__, __LINE__, len, + *(unsigned int *)mask, *(unsigned long*)pattern); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&add_pattern_cmd, sizeof(struct AddPatternCmd)); @@ -67987,7 +68514,7 @@ index 000000000000..88e06181ef00 + cnt++; + if (cnt > 10) + { -+ printk("%s:%d, haltxdrop = 1 0x%lx, 0x%lx\n", __func__, __LINE__, ++ pr_debug("%s:%d, haltxdrop = 1 0x%lx, 0x%lx\n", __func__, __LINE__, + hal_priv->tx_frames_map[0], hal_priv->tx_frames_map[1]); + break; + } @@ -68001,7 +68528,7 @@ index 000000000000..88e06181ef00 + cnt++; + if (cnt > 10) + { -+ printk("%s:%d, no resume cnt 0x%x\n", __func__, __LINE__, ++ pr_debug("%s:%d, no resume cnt 0x%x\n", __func__, __LINE__, + atomic_read(&hal_priv->sdio_suspend_cnt)); + return -1; + } @@ -68009,7 +68536,7 @@ index 000000000000..88e06181ef00 + /* in case */ + if (hal_priv->bhaltxdrop == 1) + { -+ printk("%s:%d, haltxdrop = 1 0x%lx, 0x%lx, pagenum %d \n", __func__, __LINE__, ++ pr_debug("%s:%d, haltxdrop = 1 0x%lx, 0x%lx, pagenum %d \n", __func__, __LINE__, + hal_priv->tx_frames_map[0], hal_priv->tx_frames_map[1], hal_priv->txPageFreeNum); + hal_priv->bhaltxdrop = 0; + hal_priv->tx_frames_map[0] = 0; @@ -68123,7 +68650,7 @@ index 000000000000..88e06181ef00 + + if (hal_priv->HalTxFrameDoneCounter != hal_priv->txcompletestatus->txdoneframecounter) + { -+ printk("%s:%d, txdoneframecounter:%x, HalTxFrameDoneCounter:%x\n", __func__, __LINE__, ++ pr_debug("%s:%d, txdoneframecounter:%x, HalTxFrameDoneCounter:%x\n", __func__, __LINE__, + hal_priv->txcompletestatus->txdoneframecounter, hal_priv->HalTxFrameDoneCounter); + } +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0) && !defined (LINUX_PLATFORM) @@ -68134,7 +68661,7 @@ index 000000000000..88e06181ef00 + || (atomic_read(&hif->HiStatus.Tx_Done_num) != atomic_read(&hif->HiStatus.Tx_Send_num))) +#endif + { -+ printk("%s:%d, free %d, done %d, send %d\n", __func__, __LINE__, ++ pr_debug("%s:%d, free %d, done %d, send %d\n", __func__, __LINE__, +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0) && !defined (LINUX_PLATFORM) + hif->HiStatus.Tx_Free_num, hif->HiStatus.Tx_Done_num, hif->HiStatus.Tx_Send_num); +#else @@ -68153,7 +68680,7 @@ index 000000000000..88e06181ef00 + atomic_set(&hif->HiStatus.Tx_Done_num, atomic_read(&hif->HiStatus.Tx_Send_num)); +#endif + } -+ printk("%s end, wow enable %d, mode %d, filter 0x%x, ret %d\n", ++ pr_debug("%s end, wow enable %d, mode %d, filter 0x%x, ret %d\n", + ((enable == 1) ? "suspend" : "resume"), enable, mode, filters, ret); + return 0; +} @@ -68214,7 +68741,7 @@ index 000000000000..88e06181ef00 + coexist_cmd.coexist_id_bitmap = COEXIST_EN_CMD; + coexist_cmd.coexist_enable = enable; + -+ printk("%s:%d, phy_set_coexist_en, enable %d \n", __func__, __LINE__, enable); ++ pr_debug("%s:%d, phy_set_coexist_en, enable %d \n", __func__, __LINE__, enable); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&coexist_cmd, sizeof(struct Coexist_Cmd)); + HAL_END_LOCK(); @@ -68232,7 +68759,7 @@ index 000000000000..88e06181ef00 + coexist_cmd.coexist_id_bitmap = COEXIST_MAX_MISS_BCN_CNT; + coexist_cmd.max_miss_bcn_cnt = miss_bcn_cnt; + -+ printk("%s:%d, miss_bcn_cnt, %d \n", __func__, __LINE__, miss_bcn_cnt); ++ pr_debug("%s:%d, miss_bcn_cnt, %d \n", __func__, __LINE__, miss_bcn_cnt); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&coexist_cmd, sizeof(struct Coexist_Cmd)); + HAL_END_LOCK(); @@ -68249,7 +68776,7 @@ index 000000000000..88e06181ef00 + coexist_cmd.coexist_id_bitmap = COEXIST_REQ_TIMEOUT; + coexist_cmd.req_timeout_value = timeout_value; + -+ printk("%s:%d, req_timeslice_timeout_value %d \n", __func__, __LINE__, timeout_value); ++ pr_debug("%s:%d, req_timeslice_timeout_value %d \n", __func__, __LINE__, timeout_value); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&coexist_cmd, sizeof(struct Coexist_Cmd)); + HAL_END_LOCK(); @@ -68269,7 +68796,7 @@ index 000000000000..88e06181ef00 + coexist_cmd.coexist_id_bitmap = COEXIST_NOT_GRANT_WEIGHT; + coexist_cmd.not_grant_weight = not_grant_weight; + -+ printk("%s:%d, not_grant_weight %d \n", __func__, __LINE__, not_grant_weight); ++ pr_debug("%s:%d, not_grant_weight %d \n", __func__, __LINE__, not_grant_weight); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&coexist_cmd, sizeof(struct Coexist_Cmd)); + HAL_END_LOCK(); @@ -68289,7 +68816,7 @@ index 000000000000..88e06181ef00 + coexist_cmd.coexist_id_bitmap = COEXIST_MAX_NOT_GRANT_CNT; + coexist_cmd.max_not_grant_cnt = coexist_max_not_grant_cnt; + -+ printk("%s:%d, coexist_max_not_grant_cnt %d \n", __func__, __LINE__, coexist_max_not_grant_cnt); ++ pr_debug("%s:%d, coexist_max_not_grant_cnt %d \n", __func__, __LINE__, coexist_max_not_grant_cnt); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&coexist_cmd, sizeof(struct Coexist_Cmd)); + HAL_END_LOCK(); @@ -68311,7 +68838,7 @@ index 000000000000..88e06181ef00 + coexist_cmd.coexist_id_bitmap = COEXIST_SCAN_PRIORITY_RANGE; + coexist_cmd.scan_priority_range = coexist_scan_priority_range; + -+ printk("%s:%d, coexist scan min priority is %d,max priority is %d\n", __func__, __LINE__, coexist_scan_priority_range&0xffff, coexist_scan_priority_range>>16); ++ pr_debug("%s:%d, coexist scan min priority is %d,max priority is %d\n", __func__, __LINE__, coexist_scan_priority_range&0xffff, coexist_scan_priority_range>>16); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&coexist_cmd, sizeof(struct Coexist_Cmd)); + HAL_END_LOCK(); @@ -68334,7 +68861,7 @@ index 000000000000..88e06181ef00 + coexist_cmd.coexist_id_bitmap = COEXIST_BE_BK_NOQOS_PRI_RANGE; + coexist_cmd.be_bk_no_qos_priority_range = coexist_scan_priority_range; + -+ printk("%s:%d, coexist be/bk/noqos min priority is %d,max priority is %d\n", __func__, __LINE__, coexist_scan_priority_range&0xffff, coexist_scan_priority_range>>16); ++ pr_debug("%s:%d, coexist be/bk/noqos min priority is %d,max priority is %d\n", __func__, __LINE__, coexist_scan_priority_range&0xffff, coexist_scan_priority_range>>16); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&coexist_cmd, sizeof(struct Coexist_Cmd)); + HAL_END_LOCK(); @@ -68362,7 +68889,7 @@ index 000000000000..88e06181ef00 + return -1; + } + -+ printk("%s:%d, coex cmd\n", __func__, __LINE__); ++ pr_debug("%s:%d, coex cmd\n", __func__, __LINE__); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&coexist_cmd, sizeof(struct Coexist_Cmd)); + HAL_END_LOCK(); @@ -68397,7 +68924,7 @@ index 000000000000..88e06181ef00 + hif->hif_ops.hi_write_word(RG_AGC_EN, reg_data | BIT(28)); + } + reg_data = hif->hif_ops.hi_read_word(RG_AGC_EN); -+ printk("%s:%d, enable %d, agc 0x%x \n", __func__, __LINE__, enable, reg_data); ++ pr_debug("%s:%d, enable %d, agc 0x%x \n", __func__, __LINE__, enable, reg_data); +#endif + struct Phy_Interface_Param phy_interface; + memset(&phy_interface, 0, sizeof(struct Phy_Interface_Param)); @@ -68409,7 +68936,7 @@ index 000000000000..88e06181ef00 + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&phy_interface, sizeof(struct Phy_Interface_Param)); + HAL_END_LOCK(); -+ printk("%s:%d, vid %d, enable %d\n", __func__, __LINE__, vid, enable); ++ pr_debug("%s:%d, vid %d, enable %d\n", __func__, __LINE__, vid, enable); + + return 0; +} @@ -68420,7 +68947,7 @@ index 000000000000..88e06181ef00 + struct hw_interface* hif = hif_get_hw_interface(); + struct Fwlog_Mode_Control fwlog_mode; + memset(&fwlog_mode, 0, sizeof(struct Fwlog_Mode_Control)); -+ printk("%s:%d, mode %d \n", __func__, __LINE__, mode); ++ pr_debug("%s:%d, mode %d \n", __func__, __LINE__, mode); + + fwlog_mode.Cmd = FWLOG_MODE_CMD; + if (mode == 0) @@ -68459,7 +68986,7 @@ index 000000000000..88e06181ef00 + return 0; +} + -+unsigned int process_cali_content(char *varbuf, unsigned int len) ++static unsigned int process_cali_content(char *varbuf, unsigned int len) +{ + char *dp; + bool findNewline; @@ -68635,7 +69162,7 @@ index 000000000000..88e06181ef00 + return 1; +} + -+unsigned char parse_tx_power_coefficient(char *varbuf, int len, char str_pwr_coefficient[]) ++static unsigned char parse_tx_power_coefficient(char *varbuf, int len, char str_pwr_coefficient[]) +{ + unsigned short pwr_coefficient[57]; + memset(pwr_coefficient,0,sizeof(pwr_coefficient)); @@ -68667,14 +69194,14 @@ index 000000000000..88e06181ef00 + return 0; +} + -+unsigned char parse_tx_power_band(char *varbuf, int len, char str_pwr_plan[]) ++static unsigned char parse_tx_power_band(char *varbuf, int len, char str_pwr_plan[]) +{ + unsigned short band_pwr_table[4]; + memset(band_pwr_table,0,sizeof(band_pwr_table)); + + get_s16_item(varbuf, len, str_pwr_plan, &band_pwr_table[0]); + -+ printk("======>>>>>>%s: %d\n",str_pwr_plan, band_pwr_table[3]); ++ pr_debug("======>>>>>>%s: %d\n",str_pwr_plan, band_pwr_table[3]); + + if (memcmp(str_pwr_plan,"ce_band_pwr_tbl",strlen(str_pwr_plan)) == 0) { + update_tx_power_band(TX_POWER_CE, band_pwr_table); @@ -68683,7 +69210,7 @@ index 000000000000..88e06181ef00 + return 0; +} + -+unsigned char parse_cali_param(char *varbuf, int len, struct Cali_Param *cali_param) ++static unsigned char parse_cali_param(char *varbuf, int len, struct Cali_Param *cali_param) +{ + unsigned short platform_verid = 0; // default: 0 + unsigned short cali_config = 0; @@ -68725,24 +69252,24 @@ index 000000000000..88e06181ef00 +#endif + cali_param->platform_versionid = platform_verid; + -+ printk("======>>>>>> version = %ld\n", cali_param->version); -+ printk("======>>>>>> cali_config = %d\n", cali_param->cali_config); -+ printk("======>>>>>> freq_offset = %d\n", cali_param->freq_offset); -+ printk("======>>>>>> htemp_freq_offset = %d\n", cali_param->htemp_freq_offset); -+ printk("======>>>>>> cca_ed_det = %d\n", cali_param->cca_ed_det); -+ printk("======>>>>>> tssi_2g_offset = 0x%x\n", cali_param->tssi_2g_offset); -+ printk("======>>>>>> tssi_5g_offset_5200 = 0x%x\n", cali_param->tssi_5g_offset[0]); -+ printk("======>>>>>> tssi_5g_offset_5400 = 0x%x\n", cali_param->tssi_5g_offset[1]); -+ printk("======>>>>>> tssi_5g_offset_5600 = 0x%x\n", cali_param->tssi_5g_offset[2]); -+ printk("======>>>>>> tssi_5g_offset_5800 = 0x%x\n", cali_param->tssi_5g_offset[3]); -+ printk("======>>>>>> wf2g_spur_rmen = %d\n", cali_param->wf2g_spur_rmen); -+ printk("======>>>>>> spur_freq = %d\n", cali_param->spur_freq); -+ printk("======>>>>>> rf_count = %d\n", cali_param->rf_num); -+ printk("======>>>>>> wftx_pwrtbl_en = %d\n", cali_param->wftx_pwrtbl_en); -+ printk("======>>>>>> platform_versionid = %d\n", cali_param->platform_versionid); -+ printk("======>>>>>> wftx_power_change_disable = %d\n", g_tx_power_change_disable); -+ printk("======>>>>>> initial_gain_change_disable = %d\n", g_initial_gain_change_disable); -+ printk("======>>>>>> digital gain = %s min_2g:0x%x max_2g:0x%x min_5g:0x%x max_5g:0x%x\n", ++ pr_info("======>>>>>> version = %ld\n", cali_param->version); ++ pr_info("======>>>>>> cali_config = %d\n", cali_param->cali_config); ++ pr_info("======>>>>>> freq_offset = %d\n", cali_param->freq_offset); ++ pr_info("======>>>>>> htemp_freq_offset = %d\n", cali_param->htemp_freq_offset); ++ pr_info("======>>>>>> cca_ed_det = %d\n", cali_param->cca_ed_det); ++ pr_info("======>>>>>> tssi_2g_offset = 0x%x\n", cali_param->tssi_2g_offset); ++ pr_info("======>>>>>> tssi_5g_offset_5200 = 0x%x\n", cali_param->tssi_5g_offset[0]); ++ pr_info("======>>>>>> tssi_5g_offset_5400 = 0x%x\n", cali_param->tssi_5g_offset[1]); ++ pr_info("======>>>>>> tssi_5g_offset_5600 = 0x%x\n", cali_param->tssi_5g_offset[2]); ++ pr_info("======>>>>>> tssi_5g_offset_5800 = 0x%x\n", cali_param->tssi_5g_offset[3]); ++ pr_info("======>>>>>> wf2g_spur_rmen = %d\n", cali_param->wf2g_spur_rmen); ++ pr_info("======>>>>>> spur_freq = %d\n", cali_param->spur_freq); ++ pr_info("======>>>>>> rf_count = %d\n", cali_param->rf_num); ++ pr_info("======>>>>>> wftx_pwrtbl_en = %d\n", cali_param->wftx_pwrtbl_en); ++ pr_info("======>>>>>> platform_versionid = %d\n", cali_param->platform_versionid); ++ pr_info("======>>>>>> wftx_power_change_disable = %d\n", g_tx_power_change_disable); ++ pr_info("======>>>>>> initial_gain_change_disable = %d\n", g_initial_gain_change_disable); ++ pr_info("======>>>>>> digital gain = %s min_2g:0x%x max_2g:0x%x min_5g:0x%x max_5g:0x%x\n", + (cali_param->digital_gain_limit.enable == 1 ? "enable" : "disable"), + cali_param->digital_gain_limit.min_2g, cali_param->digital_gain_limit.max_2g, + cali_param->digital_gain_limit.min_5g, cali_param->digital_gain_limit.max_5g); @@ -68759,7 +69286,7 @@ index 000000000000..88e06181ef00 + return 0; +} + -+unsigned char set_tx_power_param_default(struct WF2G_Txpwr_Param *wf2g_txpwr_param, struct WF5G_Txpwr_Param *wf5g_txpwr_param) ++static unsigned char set_tx_power_param_default(struct WF2G_Txpwr_Param *wf2g_txpwr_param, struct WF5G_Txpwr_Param *wf5g_txpwr_param) +{ + unsigned char wf2g_pwr_tbl_dft[2][16] = {{0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0xC0,0xB5,0xA1,0xA1,0x84,0x7C,0x6C,0x6C,0x63,0x58}, + {0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0xA6,0xA1,0x94,0x94,0x7C,0x75,0x6C,0x66,0x5D,0x58}}; @@ -68771,7 +69298,7 @@ index 000000000000..88e06181ef00 + memcpy(&wf5g_txpwr_param->wf5g_pwr_tbl, wf5g_pwr_tbl_dft, sizeof(wf5g_txpwr_param->wf5g_pwr_tbl)); + return 0; +} -+unsigned char parse_tx_power_param(char *varbuf, int len, struct WF2G_Txpwr_Param *wf2g_txpwr_param, ++static unsigned char parse_tx_power_param(char *varbuf, int len, struct WF2G_Txpwr_Param *wf2g_txpwr_param, + struct WF5G_Txpwr_Param *wf5g_txpwr_param) +{ + get_s8_item(varbuf, len, "wf2g_20M_pwr_tbl", &wf2g_txpwr_param->wf2g_pwr_tbl[0][0]); @@ -68783,12 +69310,12 @@ index 000000000000..88e06181ef00 + memcpy(&g_wf2g_txpwr_param.wf2g_pwr_tbl, wf2g_txpwr_param->wf2g_pwr_tbl, sizeof(wf2g_txpwr_param->wf2g_pwr_tbl)); + memcpy(&g_wf5g_txpwr_param.wf5g_pwr_tbl, wf5g_txpwr_param->wf5g_pwr_tbl, sizeof(wf5g_txpwr_param->wf5g_pwr_tbl)); + -+ printk("======>>>>>> %s ===>>> aml_wifi_rf txt => 2g 20/40 5g 20/40/80\n", __func__); ++ pr_debug("======>>>>>> %s ===>>> aml_wifi_rf txt => 2g 20/40 5g 20/40/80\n", __func__); + + return 0; +} + -+unsigned char set_tx_power_param_enhance(struct WF2G_Txpwr_Param *wf2g_txpwr_param, struct WF5G_Txpwr_Param *wf5g_txpwr_param) ++static unsigned char set_tx_power_param_enhance(struct WF2G_Txpwr_Param *wf2g_txpwr_param, struct WF5G_Txpwr_Param *wf5g_txpwr_param) +{ + unsigned char wf2g_pwr_tbl_dft[2][16] = {{0xea,0xea,0xea,0xb6,0x9e,0x7e,0xea,0xae,0x9b,0x78,0x84,0x7C,0x6C,0x6C,0x63,0x58}, + {0xBA,0xBA,0xCB,0xCB,0xB5,0xB5,0xda,0xae,0x9b,0x78,0x7C,0x75,0x6C,0x66,0x5D,0x58}}; @@ -68863,7 +69390,7 @@ index 000000000000..88e06181ef00 + if (!g_tx_power_change_disable) { + + if (power_mode == 2) { -+ printk("\n*** %s, change power enhance,bw %d channel %d \n", __func__, channel_switch.bw, channel_switch.channel); ++ pr_debug("\n*** %s, change power enhance,bw %d channel %d \n", __func__, channel_switch.bw, channel_switch.channel); + set_tx_power_param_enhance(&wf2g_txpwr_param, &wf5g_txpwr_param); + memcpy(&wf5g_txpwr_param.wf5g_pwr_tbl, g_wf5g_txpwr_param.wf5g_pwr_tbl, 32); + @@ -68880,7 +69407,7 @@ index 000000000000..88e06181ef00 + + if (power_mode == 1) { + if (g_wftx_pwrtbl_en == 0) { -+ printk("\n*** %s, change power default,bw %d channel %d \n", __func__, channel_switch.bw, channel_switch.channel); ++ pr_debug("\n*** %s, change power default,bw %d channel %d \n", __func__, channel_switch.bw, channel_switch.channel); + set_tx_power_param_default(&wf2g_txpwr_param, &wf5g_txpwr_param); + + HAL_BEGIN_LOCK(); @@ -68889,8 +69416,8 @@ index 000000000000..88e06181ef00 + HAL_END_LOCK(); + + } else if (g_wftx_pwrtbl_en == 1){ -+ printk("\n*** %s, change power mode 1,bw %d channel %d \n", __func__, channel_switch.bw, channel_switch.channel); -+ printk("\n*** %s, change power mode 1,0x%x 0x%x \n", __func__, g_wf2g_txpwr_param.wf2g_pwr_tbl[0][0] , g_wf2g_txpwr_param.wf2g_pwr_tbl[0][1]); ++ pr_debug("\n*** %s, change power mode 1,bw %d channel %d \n", __func__, channel_switch.bw, channel_switch.channel); ++ pr_debug("\n*** %s, change power mode 1,0x%x 0x%x \n", __func__, g_wf2g_txpwr_param.wf2g_pwr_tbl[0][0] , g_wf2g_txpwr_param.wf2g_pwr_tbl[0][1]); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&g_wf2g_txpwr_param, sizeof(struct WF2G_Txpwr_Param)); + hi_set_cmd((unsigned char *)&g_wf5g_txpwr_param, sizeof(struct WF5G_Txpwr_Param)); @@ -68910,7 +69437,7 @@ index 000000000000..88e06181ef00 + +} + -+unsigned char get_cali_param(struct Cali_Param *cali_param, struct WF2G_Txpwr_Param *wf2g_txpwr_param, ++static unsigned char get_cali_param(struct Cali_Param *cali_param, struct WF2G_Txpwr_Param *wf2g_txpwr_param, + struct WF5G_Txpwr_Param *wf5g_txpwr_param) +{ + @@ -68944,20 +69471,20 @@ index 000000000000..88e06181ef00 + default: + sprintf(file_name, "w1/aml_wifi_rf.txt"); + } -+ printk("aml wifi module SN:%04x sn txt not found, the rf config: %s\n", chip_id_l, chip_id_buf); ++ pr_info("aml wifi module SN:%04x sn txt not found, the rf config: %s\n", chip_id_l, file_name); + } else -+ printk("aml wifi module SN:%04x the rf config: %s\n", chip_id_l, chip_id_buf); ++ pr_info("aml wifi module SN:%04x the rf config: %s\n", chip_id_l, file_name); + + error = request_firmware(&fw, file_name, dev); + if (error) { + // sn txt not found, the rf set default config + memset(file_name, 0, 100); + sprintf(file_name, "w1/aml_wifi_rf.txt"); -+ printk("aml wifi module SN:%04x sn txt not found, the rf config: %s\n", chip_id_l, file_name); ++ pr_info("aml wifi module SN:%04x sn txt not found, the rf config: %s\n", chip_id_l, file_name); + error = request_firmware(&fw, file_name, dev); + if (error) { -+ printk("default txt not found again, Please ensure that txt file include in (vendor/)lib/firamware/w1 \n"); -+ printk("Is there a missing mandatory patch here, %s not used again, Please call Aml FAE\n",conf_path); ++ pr_info("default txt not found again, Please ensure that txt file include in (vendor/)lib/firamware/w1 \n"); ++ pr_info("Is there a missing mandatory patch here, %s not used again, Please call Aml FAE\n",conf_path); + goto err; + } + } @@ -68996,7 +69523,7 @@ index 000000000000..88e06181ef00 + cali_param->rf_num = 2; + else + cali_param->rf_num = 1; -+ printk("rf_cout is: %d\n", cali_param->rf_num); ++ pr_debug("rf_cout is: %d\n", cali_param->rf_num); + } + release_firmware(fw); + return 0; @@ -69046,12 +69573,12 @@ index 000000000000..88e06181ef00 + wf5g_txpwr_param.Cmd = WF5G_TXPWR_PARAM_CMD; + err = get_cali_param(&cali_param, &wf2g_txpwr_param, &wf5g_txpwr_param); + -+ printk("calibration parameter: version %d, config %d, freq_offset %d, tssi_2g %d, tssi_5g %d %d %d %d tx_en %d\n", ++ pr_debug("calibration parameter: version %d, config %d, freq_offset %d, tssi_2g %d, tssi_5g %d %d %d %d tx_en %d\n", + cali_param.version, cali_param.cali_config, cali_param.freq_offset, cali_param.tssi_2g_offset, + cali_param.tssi_5g_offset[0], cali_param.tssi_5g_offset[1], cali_param.tssi_5g_offset[2], cali_param.tssi_5g_offset[3], cali_param.wftx_pwrtbl_en); + + if (err == 0) { -+ printk("%s:%d, set calibration parameter \n", __func__, __LINE__); ++ pr_debug("%s:%d, set calibration parameter \n", __func__, __LINE__); + HAL_BEGIN_LOCK(); + hi_set_cmd((unsigned char *)&cali_param, sizeof(struct Cali_Param)); + hi_set_cmd((unsigned char *)&wf2g_txpwr_param, sizeof(struct WF2G_Txpwr_Param)); @@ -69066,7 +69593,6 @@ index 000000000000..88e06181ef00 + return true; +} + -+ +#ifdef HAL_SIM_VER +#ifdef FW_NAME +} @@ -69074,10 +69600,10 @@ index 000000000000..88e06181ef00 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_hal_cmd.h b/drivers/net/wireless/w1/vmac/wifi_hal_cmd.h new file mode 100644 -index 000000000000..a456580b3e1b +index 0000000000000000000000000000000000000000..97b6cbc6191a30b533dfed779455fa54f802737e --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hal_cmd.h -@@ -0,0 +1,91 @@ +@@ -0,0 +1,93 @@ +#ifndef __AML_PHY_H__ +#define __AML_PHY_H__ + @@ -69167,14 +69693,16 @@ index 000000000000..a456580b3e1b +unsigned int hal_cfg_cali_param(void); +unsigned int hal_cfg_txpwr_cffc_param(void * chan, void * txpwr_plan); + -+ ++unsigned char get_s8_item(char *varbuf, int len, char *item, char *item_value); ++unsigned char get_s16_item(char *varbuf, int len, char *item, short *item_value); ++unsigned char get_s32_item(char *varbuf, int len, char *item, unsigned int *item_value); +#endif //__AML_PHY_H__ diff --git a/drivers/net/wireless/w1/vmac/wifi_hal_com.h b/drivers/net/wireless/w1/vmac/wifi_hal_com.h new file mode 100644 -index 000000000000..4f8744ce7123 +index 0000000000000000000000000000000000000000..3dd045e7a0c758f4f82f8c4d5fe08edaad595af3 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hal_com.h -@@ -0,0 +1,1372 @@ +@@ -0,0 +1,1376 @@ +#ifndef _TOTAL_H_ +#define _TOTAL_H_ +#define __INLINE __inline @@ -69205,7 +69733,7 @@ index 000000000000..4f8744ce7123 +#include +#include +#include -+#include /* printk() */ ++#include /* pr_debug() */ +#include +#include +#include @@ -69245,6 +69773,7 @@ index 000000000000..4f8744ce7123 +#include "fi_sdio.h" +#include "opt_all.h" +#include "fi_cmd.h" ++#include "patch_fi_cmd.h" + +struct hw_interface; + @@ -70270,7 +70799,7 @@ index 000000000000..4f8744ce7123 +#define TEST_WIFI_EFUSE BIT(16) + +#define HAL_TEST_DEFAULT (0) -+#define TEST_PRINT printk ++#define TEST_PRINT pr_debug + +#define INBUFFER_LEN_VALID_BIT (256-2) +#define INBUFFER_LEN (256/8) @@ -70546,13 +71075,16 @@ index 000000000000..4f8744ce7123 + +struct hal_private* hal_get_priv(void); +struct hw_interface* hif_get_hw_interface(void); ++ ++void print_driver_version(void); ++ +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_hal_platform.c b/drivers/net/wireless/w1/vmac/wifi_hal_platform.c new file mode 100644 -index 000000000000..395e351a1cf6 +index 0000000000000000000000000000000000000000..b260316b6c72061f3932d92d7f1b24a868f67036 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hal_platform.c -@@ -0,0 +1,1083 @@ +@@ -0,0 +1,1111 @@ +#ifdef HAL_SIM_VER +#ifdef FW_NAME +namespace FW_NAME @@ -70599,15 +71131,15 @@ index 000000000000..395e351a1cf6 +extern int wifi_irq_num(void); +#if (USE_GPIO_IRQ==1) +#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,14,29) -+int platform_wifi_request_gpio_irq (void *data) ++int platform_wifi_request_gpio_irq(void *data) +{ + unsigned int irq_num = wifi_irq_num(); + int ret = -1; -+ int irq_trigger_type, irq_flag; ++ int irq_trigger_type; + -+ irq_flag = IRQF_DISABLED; + amlhal_gpio.gpio_irq_mode = wifi_irq_trigger_level(); + amlhal_gpio.irq_num = irq_num; ++ + switch (amlhal_gpio.gpio_irq_mode) + { + case WIFI_GPIO_IRQ_FALLING: @@ -70628,10 +71160,13 @@ index 000000000000..395e351a1cf6 + } + do + { ++ int irq_flag; ++ + irq_flag = AML_GPIO_IRQ(irq_num, amlhal_gpio.filter_num, irq_trigger_type); + msleep(10); -+ printk("irq_num %d irq_trigger_type %d irq_flag 0x%08x\n",irq_num,irq_trigger_type,irq_flag); -+ ret = request_irq(irq_num, hal_irq_top, irq_flag, "WIFI_INT", data); ++ pr_debug("irq_num %d irq_trigger_type %d irq_flag 0x%08x\n", irq_num, ++ irq_trigger_type, irq_flag); ++ ret = request_irq(irq_num, hal_irq_top, irq_flag, "WIFI_INT", data); + if (ret < 0) + DPRINTF(AML_DEBUG_ERROR,"%s(%d) request_irq err, ret=%d\n",__func__,__LINE__, ret); + } @@ -70642,11 +71177,11 @@ index 000000000000..395e351a1cf6 + +#else + -+int platform_wifi_request_gpio_irq (void *data) ++int platform_wifi_request_gpio_irq(void *data) +{ -+ unsigned int irq_num = 0; ++ unsigned int irq_num; + int ret = -1; -+ unsigned int irq_flag = 0; ++ unsigned int irq_flag; + + irq_num = wifi_irq_num(); + @@ -70656,11 +71191,11 @@ index 000000000000..395e351a1cf6 + irq_flag = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL | IORESOURCE_IRQ_SHAREABLE; + + DPRINTF(AML_DEBUG_INFO, "%s(%d) irq_flag=0x%x irq=%d\n", -+ __func__, __LINE__, irq_flag, irq_num); ++ __func__, __LINE__, irq_flag, irq_num); + + do + { -+ ret = request_irq(irq_num, hal_irq_top, irq_flag, "WIFI_INT", data); ++ ret = request_irq(irq_num, hal_irq_top, irq_flag, "WIFI_INT", data); + if (ret < 0) + DPRINTF(AML_DEBUG_ERROR,"%s(%d) request_irq err, ret=%d\n",__func__,__LINE__, ret); + } @@ -70672,7 +71207,7 @@ index 000000000000..395e351a1cf6 +} +#endif + -+void platform_wifi_free_gpio_irq (void *data) ++void platform_wifi_free_gpio_irq(void *data) +{ + DPRINTF(AML_DEBUG_ANDROID,"%s(%d)\n", __func__, __LINE__); + @@ -70689,43 +71224,42 @@ index 000000000000..395e351a1cf6 +static void clk_source_select(int IS_SSV_CLK) +{ + int gpio_clk_sel = amlhal_gpio.clk_sel; -+ int ret = 0; -+ int gpio = 0; ++ int ret; ++ int gpio; + -+ ret = gpio_request(gpio_clk_sel, OWNER_NAME); ++ ret = gpio_request(gpio_clk_sel, OWNER_NAME); + if (ret < 0){ + gpio_free(gpio_clk_sel); -+ ret = gpio_request(gpio_clk_sel, OWNER_NAME); //retry -+ printk("%s(%d) again request gpio_clk_sel ret=%d\n", __func__, __LINE__, ret); ++ ret = gpio_request(gpio_clk_sel, OWNER_NAME); //retry ++ pr_debug("%s(%d) again request gpio_clk_sel ret=%d\n", __func__, __LINE__, ret); + } + + if(IS_SSV_CLK){ + ret = gpio_direction_output(gpio_clk_sel, 1); + gpio = gpio_get_value(gpio_clk_sel); -+ printk("%s(%d) gpio_clk_sel set 1, now=%d##########\n", __func__,__LINE__, gpio); ++ pr_debug("%s(%d) gpio_clk_sel set 1, now=%d##########\n", __func__,__LINE__, gpio); + } + else{ + ret = gpio_direction_output(gpio_clk_sel, 0); + gpio = gpio_get_value(gpio_clk_sel); -+ printk("%s(%d) gpio_clk_sel set 0, now=%d##########\n",__func__,__LINE__, gpio); ++ pr_debug("%s(%d) gpio_clk_sel set 0, now=%d##########\n",__func__,__LINE__, gpio); + } + + gpio_free(gpio_clk_sel); -+ +} + +#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,14,29) -+static void reset_wifi (void) ++static void reset_wifi(void) +{ + /* use gpio reset */ -+ int ret = 0; ++ int ret; + int gpio_wifi_reset = amlhal_gpio.gpio_reset; -+ int gpio = 0; ++ int gpio; + -+ ret = gpio_request(gpio_wifi_reset, OWNER_NAME); ++ ret = gpio_request(gpio_wifi_reset, OWNER_NAME); + if (ret < 0){ + gpio_free(gpio_wifi_reset); -+ ret = gpio_request(gpio_wifi_reset, OWNER_NAME); //retry ++ ret = gpio_request(gpio_wifi_reset, OWNER_NAME); /* retry */ + ERROR_DEBUG_OUT("request gpio fail ret=%d\n", ret); + } + @@ -70735,11 +71269,11 @@ index 000000000000..395e351a1cf6 + ret = gpio_direction_output(gpio_wifi_reset, 0); + OS_MDELAY(20); + gpio = gpio_get_value(gpio_wifi_reset); -+ printk("######gpio_wifi_reset set 0, now=%d#########\n", gpio); ++ pr_debug("######gpio_wifi_reset set 0, now=%d#########\n", gpio); + + ret = gpio_direction_output(gpio_wifi_reset, 1); + gpio = gpio_get_value(gpio_wifi_reset); -+ printk("######gpio_wifi_reset set 1, now=%d#########\n", gpio); ++ pr_debug("######gpio_wifi_reset set 1, now=%d#########\n", gpio); + + gpio_free(gpio_wifi_reset); +} @@ -70783,12 +71317,14 @@ index 000000000000..395e351a1cf6 + +void hi_change_sram_concurrent_mode(void) +{ -+ unsigned int regdata = 0; ++ unsigned int regdata; + struct hw_interface* hif = hif_get_hw_interface(); + +#ifdef SRAM_CONCURRENT +#if (SRAM_16KMODE == 0) -+ //2014 3.4 later FPGA version,need to add the register,because SRAM is used both wifi mac and test bus ++ /* 2014 3.4 later FPGA version,need to add the register, ++ * because SRAM is used both wifi mac and test bus. ++ */ + + regdata = hif->hif_ops.hi_read_word(RG_INTF_RTC_CLK_CTRL); + regdata &= ~BIT(31); @@ -70806,21 +71342,21 @@ index 000000000000..395e351a1cf6 +#endif +} + -+void set_wifi_baudrate (unsigned int apb_clk) ++void set_wifi_baudrate(unsigned int apb_clk) +{ + unsigned int data, uart_div; + unsigned int wifi_dig_timebase; -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); + -+ //set uart baudrate -+ uart_div = apb_clk/(UART_BAUD_RATE*4)-1; ++ /* set uart baudrate */ ++ uart_div = apb_clk / (UART_BAUD_RATE * 4) - 1; + PRINT("for uart baudrate0x%x\n",apb_clk); + + data = hif->hif_ops.hi_read_word(RG_UART_WORK_MODE); + wifi_dig_timebase = hif->hif_ops.hi_read_word(RG_INTF_CTRL_CLK); + + PRINT("uart mode 0x%x=0x%x\n", RG_UART_WORK_MODE, data); -+ data &= (~(0xfff<<0)); //baudrate, bit0~11 ++ data &= (~(0xfff << 0)); /* baudrate, bit0~11 */ + data |= uart_div; + hif->hif_ops.hi_write_word(RG_UART_WORK_MODE, data); + @@ -70829,14 +71365,14 @@ index 000000000000..395e351a1cf6 +} + +/* -+All valid bits are R/W, the default value is 32h8000_0003 -+[0]: soft reset0, which reset the whole MAC. Its set by software,auto cleaned by -+ hardware when soft reset timer0 times out. Active low. -+[1]: soft reset1, which reset MAC except sd2wifi sub-module. -+Its set by software, auto cleaned by hardware when soft reset timer1 times out. Active low. -+[30:2]: reserved -+[31]: soft_arc_reset, which reset ARC625 core and arc_11n_ram_loader sub-module. -+ Its set and cleaned both by software. Active low. ++ * All valid bits are R/W, the default value is 32h8000_0003 ++ * [0]: soft reset0, which reset the whole MAC. Its set by software,auto cleaned by ++ * hardware when soft reset timer0 times out. Active low. ++ * [1]: soft reset1, which reset MAC except sd2wifi sub-module. ++ * Its set by software, auto cleaned by hardware when soft reset timer1 times out. Active low. ++ * [30:2]: reserved ++ * [31]: soft_arc_reset, which reset ARC625 core and arc_11n_ram_loader sub-module. ++ * Its set and cleaned both by software. Active low. +*/ +int amlhal_resetmac(void) +{ @@ -70857,11 +71393,11 @@ index 000000000000..395e351a1cf6 + hif->hif_ops.hi_write_word(RG_WIFI_RST_CTRL, to_sdio); + + sdio_kptr_val = hif->hif_ops.hi_read_reg8(RG_SCFG_RX_EN); -+ printk("reg0x74 0x%x\n", sdio_kptr_val); ++ pr_debug("reg0x74 0x%x\n", sdio_kptr_val); + sdio_kptr_val &= ~(BIT(2) | BIT(3)); //keep pointer + hif->hif_ops.hi_write_reg8(RG_SCFG_RX_EN, sdio_kptr_val); + sdio_kptr_val =hif->hif_ops.hi_read_reg8(RG_SCFG_RX_EN); -+ printk("reg0x74 0x%x\n", sdio_kptr_val); ++ pr_debug("reg0x74 0x%x\n", sdio_kptr_val); + + hif->hif_ops.hi_write_reg8(RG_SCFG_SELECT_RST,1); + // reg_tmp = 0; @@ -70900,87 +71436,88 @@ index 000000000000..395e351a1cf6 +#if defined (HAL_SIM_VER) +unsigned char hal_set_sys_clk_Core(unsigned int addr, unsigned int value) +{ -+ unsigned int tmp,tmp1; -+//divide config for clock -+ tmp=MAC_RD_REG(addr); -+ tmp=(tmp&~(0xffffffff))|(value); -+ MAC_WR_REG(addr,tmp); ++ unsigned int tmp, tmp1; ++ ++ /* divide config for clock */ ++ tmp = MAC_RD_REG(addr); ++ tmp = (tmp & ~(0xffffffff)) | (value); ++ MAC_WR_REG(addr, tmp); + OS_MDELAY(10); -+//switch clock from osc to real ++ /* switch clock from osc to real */ + tmp=MAC_RD_REG(addr); -+ tmp1 = tmp |(1 << 4); -+ MAC_WR_REG(addr,tmp1); ++ tmp1 = tmp | (1 << 4); ++ MAC_WR_REG(addr, tmp1); + OS_MDELAY(10); +} + +unsigned char hal_set_sys_clk(int clockdiv) +{ -+ unsigned int tmp,tmp1,tmp2,tmp3; ++ unsigned int tmp, tmp1, tmp2, tmp3; + + PRINT("hal_set_sys_clk \n"); -+ /* reset bpll , write 1 for bit0 firstly, then write 0 again*/ ++ /* reset bpll , write 1 for bit0 firstly, then write 0 again*/ + tmp = AON_RD_REG(RG_DPLL_A3); -+ AON_WR_REG(RG_DPLL_A3, (tmp | BIT(0))); ++ AON_WR_REG(RG_DPLL_A3, (tmp | BIT(0))); + OS_MDELAY(10); -+ AON_WR_REG(RG_DPLL_A3, (tmp & ~BIT(0))); ++ AON_WR_REG(RG_DPLL_A3, (tmp & ~BIT(0))); + -+ //select CPU clock by digital divider for 80MHz ++ /* select CPU clock by digital divider for 80MHz */ +#ifdef TX_TIMEOUT_ERR -+ hal_set_sys_clk_Core(RG_INTF_CPU_CLK,TEST_CPU_CLOCK); ++ hal_set_sys_clk_Core(RG_INTF_CPU_CLK, TEST_CPU_CLOCK); +#else -+ //riscv -+ hal_set_sys_clk_Core(RG_INTF_CPU_CLK,0x4f670031); -+ //arc, cpu clock 0x4f070031 ++ /* riscv */ ++ hal_set_sys_clk_Core(RG_INTF_CPU_CLK, 0x4f670031); ++ /* arc, cpu clock 0x4f070031 */ +#endif -+ //select BTCPU clock by digital divider for 48MHz -+ hal_set_sys_clk_Core(RG_INTF_BTCPU_CLK,0x940011); ++ /* select BTCPU clock by digital divider for 48MHz */ ++ hal_set_sys_clk_Core(RG_INTF_BTCPU_CLK, 0x940011); + -+ //config mactxdelay -+ tmp=MAC_RD_REG(RG_MAC_COUNT1); -+ tmp= tmp | (0x7000000 ); -+ MAC_WR_REG(RG_MAC_COUNT1,tmp); ++ /* config mactxdelay */ ++ tmp = MAC_RD_REG(RG_MAC_COUNT1); ++ tmp = tmp | (0x7000000); ++ MAC_WR_REG(RG_MAC_COUNT1, tmp); + OS_MDELAY(10); -+ //config agc gain not use lut -+ tmp=MAC_RD_REG(RG_AGC_GAIN_SEL); -+ tmp= tmp & (~(1<< 24 )); -+ MAC_WR_REG(RG_AGC_GAIN_SEL,tmp); ++ /* config agc gain not use lut */ ++ tmp = MAC_RD_REG(RG_AGC_GAIN_SEL); ++ tmp = tmp & (~(1 << 24)); ++ MAC_WR_REG(RG_AGC_GAIN_SEL, tmp); + OS_MDELAY(10); -+ //switch share 64k ram to mac -+ tmp= 0x00000001; -+ MAC_WR_REG(RG_INTF_SHARE_64K_CAP,tmp); ++ /* switch share 64k ram to mac */ ++ tmp = 0x00000001; ++ MAC_WR_REG(RG_INTF_SHARE_64K_CAP, tmp); + OS_MDELAY(10); -+ //reset mac time rise pulse -+ tmp= 0x81080100; -+ MAC_WR_REG(RG_INTF_MAC_TIMER_CTRL1,tmp); ++ /* reset mac time rise pulse */ ++ tmp = 0x81080100; ++ MAC_WR_REG(RG_INTF_MAC_TIMER_CTRL1, tmp); + OS_MDELAY(10); -+ //gpioB pin mux input -+ tmp= 0xffdfffff; -+ MAC_WR_REG(RG_INTF_PIN_MUX_REG1,tmp); ++ /* gpioB pin mux input */ ++ tmp = 0xffdfffff; ++ MAC_WR_REG(RG_INTF_PIN_MUX_REG1, tmp); + OS_MDELAY(10); + +#ifdef B2B_TEST -+ //pin mux config for b2b -+ tmp= 0x9c03330a; -+ MAC_WR_REG(RG_PHY_BT_CTRL,tmp); ++ /* pin mux config for b2b */ ++ tmp = 0x9c03330a; ++ MAC_WR_REG(RG_PHY_BT_CTRL, tmp); + OS_MDELAY(10); -+ //tx out format -+ //tmp= 0x00000004; -+ tmp= 0x00000002; //bit[1] reg_tx_negate_msb is set to 1 in compliance with FPGA environment -+ //bit[0] reg_tx_iq_swap -+ //bit[1] reg_tx_negate_msb -+ //bit[2] reg_tx_rotate_en is not exist now -+ //bit[5:4] reg_tx_signal_sel -+ MAC_WR_REG(RG_PHY_TX_CTRL,tmp); ++ /* tx out format */ ++ /* tmp= 0x00000004; */ ++ tmp = 0x00000002; /* bit[1] reg_tx_negate_msb is set to 1 in compliance with FPGA environment */ ++ /* bit[0] reg_tx_iq_swap */ ++ /* bit[1] reg_tx_negate_msb */ ++ /* bit[2] reg_tx_rotate_en is not exist now */ ++ /* bit[5:4] reg_tx_signal_sel */ ++ MAC_WR_REG(RG_PHY_TX_CTRL, tmp); + OS_MDELAY(10); -+ //add config for rx enable -+ tmp= 0x00000001; -+ MAC_WR_REG(RG_OFDM_RX_FSM_EN,tmp); ++ /* add config for rx enable */ ++ tmp = 0x00000001; ++ MAC_WR_REG(RG_OFDM_RX_FSM_EN, tmp); + OS_MDELAY(10); + PRINT("B2B_TEST \n"); -+ //add ap/fs config,will delete sw ok -+ if(STA1_VMAC0_SEND_40M==2) ++ /* add ap/fs config,will delete sw ok */ ++ if (STA1_VMAC0_SEND_40M == 2) + { -+ tmp= 0xa1000000; ++ tmp = 0xa1000000; + MAC_WR_REG(RG_PHY_BW_REG, tmp); + OS_MDELAY(10); + } @@ -70995,7 +71532,7 @@ index 000000000000..395e351a1cf6 + return 1; +} + -+unsigned int bbpll_init(void) ++static unsigned int bbpll_init(void) +{ + RG_DPLL_A0_FIELD_T rg_dpll_a0; + RG_DPLL_A1_FIELD_T rg_dpll_a1; @@ -71029,29 +71566,29 @@ index 000000000000..395e351a1cf6 + return 0; +} + -+unsigned int bbpll_start (void) ++static unsigned int bbpll_start (void) +{ -+ //RG_DPLL_A0_FIELD_T rg_dpll_a0; -+ //RG_DPLL_A1_FIELD_T rg_dpll_a1; ++ /* RG_DPLL_A0_FIELD_T rg_dpll_a0; */ ++ /* RG_DPLL_A1_FIELD_T rg_dpll_a1; */ + RG_DPLL_A2_FIELD_T rg_dpll_a2; + RG_DPLL_A3_FIELD_T rg_dpll_a3; + RG_DPLL_A4_FIELD_T rg_dpll_a4; + RG_DPLL_A5_FIELD_T rg_dpll_a5; -+ //RG_DPLL_A6_FIELD_T rg_dpll_a6; ++ /* RG_DPLL_A6_FIELD_T rg_dpll_a6; */ + -+ printk("bbpll power on -------------->\n"); -+ printk("1, start inter Ido \n"); ++ pr_debug("bbpll power on -------------->\n"); ++ pr_debug("1, start inter Ido \n"); + + rg_dpll_a4.data = aml_aon_read_reg(RG_DPLL_A4); + rg_dpll_a4.b.rg_wifi_bb_bt_dac_clk_div = 0x1; -+ rg_dpll_a4.b.rg_wifi_bb_bt_adc_div = 0x5; //for bt adc clock ++ rg_dpll_a4.b.rg_wifi_bb_bt_adc_div = 0x5; /* for bt adc clock */ + aml_aon_write_reg(RG_DPLL_A4, rg_dpll_a4.data); + udelay(50); + rg_dpll_a4.b.rg_wifi_bb_bt_dac_clk_div = 0x3; + aml_aon_write_reg(RG_DPLL_A4, rg_dpll_a4.data); + udelay(10); + -+ printk("2, start pll core \n"); ++ pr_debug("2, start pll core \n"); + + rg_dpll_a3.data = aml_aon_read_reg(RG_DPLL_A3); + rg_dpll_a3.b.rg_wifi_bb_pll_bias_en = 1; @@ -71064,15 +71601,15 @@ index 000000000000..395e351a1cf6 + udelay(80); + rg_dpll_a2.data = aml_aon_read_reg(RG_DPLL_A2); + rg_dpll_a2.b.rg_wifi_bb_pll_reve |= BIT(6); -+ rg_dpll_a2.b.rg_wifi_bb_pll_reve |= BIT(4); //bit18 need pull up ++ rg_dpll_a2.b.rg_wifi_bb_pll_reve |= BIT(4); /* bit18 need pull up */ + aml_aon_write_reg(RG_DPLL_A2, rg_dpll_a2.data); + -+ printk("3, check \n"); ++ pr_debug("3, check \n"); + udelay(10); + rg_dpll_a5.data = aml_aon_read_reg(RG_DPLL_A5); + if (rg_dpll_a5.b.ro_wifi_bb_pll_done == 1) + { -+ printk("bbpll done !\n"); ++ pr_debug("bbpll done !\n"); + return 1; + } + else @@ -71082,13 +71619,12 @@ index 000000000000..395e351a1cf6 + } +} + -+unsigned int bbpll_stop(void) ++static unsigned int bbpll_stop(void) +{ -+ + RG_DPLL_A3_FIELD_T rg_dpll_a3; + RG_DPLL_A4_FIELD_T rg_dpll_a4; + -+ printk("bbpll power down -------------->\n"); ++ pr_debug("bbpll power down -------------->\n"); + rg_dpll_a3.data = aml_aon_read_reg(RG_DPLL_A3); + rg_dpll_a3.b.rg_wifi_bb_pll_bias_en = 0; + aml_aon_write_reg(RG_DPLL_A3, rg_dpll_a3.data); @@ -71107,14 +71643,15 @@ index 000000000000..395e351a1cf6 + return 0; +} + -+//0x4f070031: switch to bbp clk -+void wifi_cpu_clk_switch(unsigned int clk_cfg) ++/* 0x4f070031: switch to bbp clk */ ++static void wifi_cpu_clk_switch(unsigned int clk_cfg) +{ -+ struct hw_interface *hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); ++ + hif->hif_ops.hi_write_word(RG_INTF_CPU_CLK,clk_cfg); + -+ printk("%s(%d):cpu_clk_reg=0x%08x\n", __func__, __LINE__, -+ hif->hif_ops.hi_read_word(RG_INTF_CPU_CLK)); ++ pr_debug("%s(%d):cpu_clk_reg=0x%08x\n", __func__, __LINE__, ++ hif->hif_ops.hi_read_word(RG_INTF_CPU_CLK)); +} + +#endif @@ -71128,12 +71665,12 @@ index 000000000000..395e351a1cf6 +{ + unsigned char *bufferICCM; + unsigned char *bufferDCCM; -+ int len =0; -+ int offset =0; ++ int len; ++ int offset; + int offset_base = 0; + int rd_offset = 0; + SYS_TYPE databyte = 0; -+ unsigned int regdata =0; ++ unsigned int regdata; + struct hw_interface *hif = hif_get_hw_interface(); + unsigned int to_sdio = ~(0); + RG_PMU_A22_FIELD_T pmu_a22; @@ -71142,38 +71679,37 @@ index 000000000000..395e351a1cf6 + bufferICCM = fwICCM; + bufferDCCM = fwDCCM; + -+ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC,MAC_REG_BASE); -+ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC,MAC_ICCM_AHB_BASE); -+ hif->hif_ops.hi_write_reg32(RG_SCFG_REG_FUNC,MAC_REG_BASE); -+ hif->hif_ops.hi_write_reg32(RG_SCFG_EEPROM_FUNC,MAC_REG_BASE); ++ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC, MAC_REG_BASE); ++ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC, MAC_ICCM_AHB_BASE); ++ hif->hif_ops.hi_write_reg32(RG_SCFG_REG_FUNC, MAC_REG_BASE); ++ hif->hif_ops.hi_write_reg32(RG_SCFG_EEPROM_FUNC, MAC_REG_BASE); + -+ // close phy rest ++ /* close phy rest */ + hif->hif_ops.hi_write_word(RG_WIFI_RST_CTRL, to_sdio); -+ PRINT("RG_SCFG_SRAM_FUNC %lx \n",hif->hif_ops.hi_read_reg32(RG_SCFG_SRAM_FUNC)); ++ PRINT("RG_SCFG_SRAM_FUNC %lx \n", hif->hif_ops.hi_read_reg32(RG_SCFG_SRAM_FUNC)); + +#ifdef EFUSE_ENABLE + efuse_init(); -+ printk("%s(%d): called efuse init\n", __func__, __LINE__); ++ pr_debug("%s(%d): called efuse init\n", __func__, __LINE__); +#endif + +#ifdef HAL_FPGA_VER -+ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC,MAC_REG_BASE); ++ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC, MAC_REG_BASE); + + rg_dpll_a5.data = aml_aon_read_reg(RG_DPLL_A5); -+ /*bpll not init*/ ++ /* bpll not init */ + if (rg_dpll_a5.b.ro_wifi_bb_pll_done != 1) { + bbpll_init(); + bbpll_start(); -+ printk("bbpll init ok!\n"); -+ ++ pr_debug("bbpll init ok!\n"); + } else { + ERROR_DEBUG_OUT("bbpll already init,not need to init!\n"); + } + + hal_set_sys_clk_for_fpga(); -+ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC,MAC_ICCM_AHB_BASE); -+ len = ALIGN(sizeof(fwICCM),4); -+ printk("%s(%d): img len 0x%x, start download fw\n", __func__, __LINE__, len); ++ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC, MAC_ICCM_AHB_BASE); ++ len = ALIGN(sizeof(fwICCM), 4); ++ pr_debug("%s(%d): img len 0x%x, start download fw\n", __func__, __LINE__, len); +#else + hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC,MAC_REG_BASE); + hal_set_sys_clk(10); @@ -71201,18 +71737,19 @@ index 000000000000..395e351a1cf6 + } + + hif->hif_ops.hi_write_sram(bufferICCM + offset + offset_base, -+ (unsigned char*)(SYS_TYPE)(0 + offset), databyte); ++ (unsigned char*)(SYS_TYPE)offset, ++ databyte); + + offset += databyte; + len -= databyte; + } while(len > 0); + +#ifdef ICCM_CHECK -+ offset_base =0; ++ offset_base = 0; + offset = ICCM_ROM_LEN; + len = ICCM_CHECK_LEN; -+ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC,MAC_ICCM_AHB_BASE); -+ //host rom read ++ hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC, MAC_ICCM_AHB_BASE); ++ /* host rom read */ + do { + databyte = (len > SRAM_MAX_LEN) ? SRAM_MAX_LEN : len; + @@ -71223,7 +71760,8 @@ index 000000000000..395e351a1cf6 + } + + hif->hif_ops.hi_read_sram(buf_iccm_rd + rd_offset, -+ (unsigned char*)(SYS_TYPE)(0 + offset) ,databyte); ++ (unsigned char*)(SYS_TYPE)offset, ++ databyte); + + offset += databyte; + rd_offset += databyte; @@ -71233,7 +71771,6 @@ index 000000000000..395e351a1cf6 + if (memcmp(buf_iccm_rd, (bufferICCM + ICCM_ROM_LEN), ICCM_CHECK_LEN)) { + ERROR_DEBUG_OUT("Host HAL: write ICCM ERROR!!!! \n"); + return false; -+ + } else { + PRINT("Host HAL: write ICCM SUCCESS!!!! \n"); + } @@ -71254,16 +71791,16 @@ index 000000000000..395e351a1cf6 + } while(len > 0); + + /* Starting run firmware */ -+ //set baseaddr to sram ++ /* set baseaddr to sram */ + hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC, MAC_REG_BASE); + len = SRAM_LEN; + memset(bufferDCCM, 0, len); + PRINT("set sram zero for simulation, total=0x%x\n", len); + hif->hif_ops.hi_write_sram(bufferDCCM, (unsigned char*)(SYS_TYPE)MAC_SRAM_BASE, len); + -+ //configure sram space ++ /* configure sram space */ + hi_cfg_firmware(); -+ //set func2 baseaddr ++ /* set func2 baseaddr */ + hif->hif_ops.hi_write_reg32(RG_SCFG_SRAM_FUNC, MAC_REG_BASE); + + regdata = hif->hif_ops.hi_read_reg32(RG_SCFG_REG_FUNC); @@ -71276,25 +71813,25 @@ index 000000000000..395e351a1cf6 + wifi_cpu_clk_switch(0x4f0700f3); +#endif + -+ /* arc cpu domain power save for t9026 */ ++ /* arc cpu domain power save for t9026 */ + if (0) { -+ //cpu select arc -+ //enable cpu ++ /* cpu select arc */ ++ /* enable cpu */ + regdata = hif->hif_ops.hi_read_word(RG_WIFI_MAC_ARC_CTRL); + /* start firmware chip cpu */ + regdata |= CPU_RUN; + hif->hif_ops.hi_write_word(RG_WIFI_MAC_ARC_CTRL, regdata); + } else { -+ //cpu select riscv -+ regdata = hif->hif_ops.hi_read_word(RG_WIFI_CPU_CTRL); -+ regdata |= 0x10000; -+ hif->hif_ops.hi_write_word(RG_WIFI_CPU_CTRL,regdata); -+ PRINT("RG_WIFI_CPU_CTRL = %x redata= %x \n",RG_WIFI_CPU_CTRL,regdata); -+ //enable cpu -+ pmu_a22.data = hif->hif_ops.bt_hi_read_word(RG_PMU_A22); -+ pmu_a22.b.rg_dev_reset_sw = 0x00; -+ hif->hif_ops.bt_hi_write_word(RG_PMU_A22,pmu_a22.data); -+ PRINT("RG_PMU_A22 = %x redata= %x \n",RG_PMU_A22,pmu_a22.data); ++ /* cpu select riscv */ ++ regdata = hif->hif_ops.hi_read_word(RG_WIFI_CPU_CTRL); ++ regdata |= 0x10000; ++ hif->hif_ops.hi_write_word(RG_WIFI_CPU_CTRL, regdata); ++ PRINT("RG_WIFI_CPU_CTRL = %x redata= %x \n", RG_WIFI_CPU_CTRL, regdata); ++ /* enable cpu */ ++ pmu_a22.data = hif->hif_ops.bt_hi_read_word(RG_PMU_A22); ++ pmu_a22.b.rg_dev_reset_sw = 0x00; ++ hif->hif_ops.bt_hi_write_word(RG_PMU_A22, pmu_a22.data); ++ PRINT("RG_PMU_A22 = %x redata= %x \n", RG_PMU_A22, pmu_a22.data); + } + +#elif defined (PROJECT_W1) @@ -71312,19 +71849,19 @@ index 000000000000..395e351a1cf6 + hif->hif_ops.hi_write_word(RG_WIFI_IF_RXPAGE_BUF_RDPTR, 0); + hif->hif_ops.hi_write_word(RG_WIFI_IF_MAC_TXTABLE_RD_ID, 0); + -+ //cpu select riscv ++ /* cpu select riscv */ + regdata = hif->hif_ops.hi_read_word(RG_WIFI_CPU_CTRL); + regdata |= 0x10000; -+ hif->hif_ops.hi_write_word(RG_WIFI_CPU_CTRL,regdata); -+ PRINT("RG_WIFI_CPU_CTRL = %x redata= %x \n",RG_WIFI_CPU_CTRL,regdata); -+ //enable cpu ++ hif->hif_ops.hi_write_word(RG_WIFI_CPU_CTRL, regdata); ++ PRINT("RG_WIFI_CPU_CTRL = %x redata= %x \n", RG_WIFI_CPU_CTRL, regdata); ++ /* enable cpu */ + pmu_a22.data = hif->hif_ops.bt_hi_read_word(RG_PMU_A22); + pmu_a22.b.rg_dev_reset_sw = 0x00; -+ hif->hif_ops.bt_hi_write_word(RG_PMU_A22,pmu_a22.data); -+ PRINT("RG_PMU_A22 = %x redata= %x \n",RG_PMU_A22,pmu_a22.data); ++ hif->hif_ops.bt_hi_write_word(RG_PMU_A22, pmu_a22.data); ++ PRINT("RG_PMU_A22 = %x redata= %x \n", RG_PMU_A22, pmu_a22.data); +#endif + -+ printk("fw download success!\n"); ++ pr_debug("fw download success!\n"); +#ifdef SDIO_BUILD_IN + wifi_in_insmod = 0; +#endif @@ -71332,7 +71869,6 @@ index 000000000000..395e351a1cf6 + return true; +} + -+ +#if defined (HAL_FPGA_VER) +int mac_addr0 = 0x00; +int mac_addr1 = 0x01; @@ -71343,12 +71879,12 @@ index 000000000000..395e351a1cf6 + +static int vif0opmode = -1; +static int vif1opmode = -1; -+static char * vmac0 = "wlan0"; -+static char * vmac1 = "p2p0"; ++static char *vmac0 = "wlan0"; ++static char *vmac1 = "p2p0"; +static unsigned int con_mode = ((1 << WIFINET_M_STA) | (1 << WIFINET_M_P2P_DEV)); +static int en_rf_test = 0; + -+static char * plt_ver = NULL; ++static char *plt_ver = NULL; +struct version_info version_map[] = { + {"gva", VERSION_GVA}, + {"gva_mrt", VERSION_GVA_MRT} @@ -71356,9 +71892,9 @@ index 000000000000..395e351a1cf6 +}; + +int aml_debug = AML_DEBUG_LEVEL; -+const unsigned char BROADCAST_ADDRESS[WIFINET_ADDR_LEN] = {0xff,0xff,0xff,0xff,0xff,0xff}; -+static char * mac_addr = "00:01:02:58:00:CC"; -+static char * country_code = "WW"; ++const unsigned char BROADCAST_ADDRESS[WIFINET_ADDR_LEN] = {0xff,0xff,0xff,0xff,0xff,0xff}; ++static char *mac_addr = "00:01:02:58:00:CC"; ++static char *country_code = "WW"; +unsigned short dhcp_offload = 0; +static int sdblksize = BLKSIZE; +unsigned char aml_insmod_flag = 0; @@ -71381,15 +71917,13 @@ index 000000000000..395e351a1cf6 +#ifdef CONFIG_MAC_SUPPORT + u8 addr[ETH_ALEN]; + u8 cbuf[50]; -+ unsigned int efuse_data_l = 0; -+ unsigned int efuse_data_h = 0; -+ +#if defined(NOT_AMLOGIC_PLATFORM) + memset(addr, 0xff, ETH_ALEN); +#else + memcpy(addr, wifi_get_mac(), ETH_ALEN); +#endif -+ if (addr[0] != 0xff || aml_read_macaddr_from_file(WIFIMAC_PATH, addr) == true) { ++ if (addr[0] != 0xff || ++ aml_read_macaddr_from_file(WIFIMAC_PATH, addr) == true) { + mac_addr0 = addr[0]; + mac_addr1 = addr[1]; + mac_addr2 = addr[2]; @@ -71397,8 +71931,12 @@ index 000000000000..395e351a1cf6 + mac_addr4 = addr[4]; + mac_addr5 = addr[5]; + } else { ++ unsigned int efuse_data_l; ++ unsigned int efuse_data_h; ++ + efuse_data_l = efuse_manual_read(0x1); + efuse_data_h = efuse_manual_read(0x2); ++ + if ((efuse_data_h != 0) && (efuse_data_l != 0)) { + mac_addr0 = (efuse_data_h & 0xff00) >> 8; + mac_addr1 = efuse_data_h & 0x00ff; @@ -71408,9 +71946,10 @@ index 000000000000..395e351a1cf6 + mac_addr5 = efuse_data_l & 0xff; + aml_retrieve_from_file(WIFIMAC_PATH, cbuf, 48); + -+ sprintf(cbuf + 21, MAC_FMT, mac_addr0, mac_addr1, mac_addr2, mac_addr3, mac_addr4, mac_addr5); ++ sprintf(cbuf + 21, MAC_FMT, mac_addr0, mac_addr1, mac_addr2, ++ mac_addr3, mac_addr4, mac_addr5); + if (aml_store_to_file(WIFIMAC_PATH, cbuf, strlen(cbuf)) > 0) { -+ printk("write the efuse mac to wifimac.txt\n"); ++ pr_debug("write the efuse mac to wifimac.txt\n"); + } + } else { +#endif @@ -71421,29 +71960,31 @@ index 000000000000..395e351a1cf6 +#ifdef CONFIG_MAC_SUPPORT + aml_retrieve_from_file(WIFIMAC_PATH, cbuf, 48); + -+ sprintf(cbuf + 21, MAC_FMT, mac_addr0, mac_addr1, mac_addr2, mac_addr3, mac_addr4, mac_addr5); ++ sprintf(cbuf + 21, MAC_FMT, mac_addr0, mac_addr1, mac_addr2, ++ mac_addr3, mac_addr4, mac_addr5); + if (aml_store_to_file(WIFIMAC_PATH, cbuf, strlen(cbuf)) > 0) -+ printk("write the random mac to wifimac.txt\n"); ++ pr_debug("write the random mac to wifimac.txt\n"); + } + } +#endif + + if (mac_addr0 & 0x3) { -+ printk("change the mac addr from [0x%x] ", mac_addr0); ++ pr_debug("change the mac addr from [0x%x] ", mac_addr0); + + mac_addr0 &= ~0x3; -+ printk("to [0x%x] \n", mac_addr0); ++ pr_debug("to [0x%x] \n", mac_addr0); +#ifdef CONFIG_MAC_SUPPORT + aml_retrieve_from_file(WIFIMAC_PATH, cbuf, 48); + -+ sprintf(cbuf + 21, MAC_FMT, mac_addr0, mac_addr1, mac_addr2, mac_addr3, mac_addr4, mac_addr5); ++ sprintf(cbuf + 21, MAC_FMT, mac_addr0, mac_addr1, mac_addr2, ++ mac_addr3, mac_addr4, mac_addr5); + if (aml_store_to_file(WIFIMAC_PATH, cbuf, strlen(cbuf)) > 0) -+ printk("write the random mac to wifimac.txt\n"); ++ pr_debug("write the random mac to wifimac.txt\n"); +#endif + } +} + -+char * aml_wifi_get_country_code(void) ++char *aml_wifi_get_country_code(void) +{ + return country_code; +} @@ -71458,12 +71999,12 @@ index 000000000000..395e351a1cf6 + return vif1opmode; +} + -+char * aml_wifi_get_vif0_name(void) ++char *aml_wifi_get_vif0_name(void) +{ + return vmac0; +} + -+char * aml_wifi_get_vif1_name(void) ++char *aml_wifi_get_vif1_name(void) +{ + return vmac1; +} @@ -71473,12 +72014,27 @@ index 000000000000..395e351a1cf6 + return con_mode; +} + -+char * aml_wifi_get_bus_type(void) ++void aml_wifi_set_con_mode(void *wifimac) ++{ ++ unsigned int concurrent_mode = 0; ++ struct drv_private *drv_priv = ((struct wifi_mac *)wifimac)->drv_priv; ++ struct wlan_net_vif *main_vmac = drv_priv->drv_wnet_vif_table[NET80211_MAIN_VMAC]; ++ struct wlan_net_vif *p2p_vmac = drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; ++ ++ concurrent_mode = BIT(main_vmac->vm_opmode) | BIT(p2p_vmac->vm_opmode); ++ if (con_mode != concurrent_mode) { ++ con_mode = concurrent_mode; ++ AML_OUTPUT("con_mode = 0x%02x",con_mode); ++ } ++ ++} ++ ++char *aml_wifi_get_bus_type(void) +{ + return hif_type; +} + -+char * aml_wifi_get_fw_type(void) ++char *aml_wifi_get_fw_type(void) +{ + unsigned int regdata = hi_get_fw_version(); + if (regdata == FW_VERSION_W1) { @@ -71496,15 +72052,17 @@ index 000000000000..395e351a1cf6 +unsigned int aml_wifi_get_platform_verid(void) +{ + int i; ++ + if (plt_ver == NULL) + { + return 0; + } ++ + for (i = 0; i < sizeof(version_map)/sizeof(struct version_info); ++i) + { + if (strcmp(version_map[i].version_name, plt_ver) == 0) + { -+ //printk("%s(%d) version name: %s\n", __func__, __LINE__, version_map[i].version_name); ++ /* pr_debug("%s(%d) version name: %s\n", __func__, __LINE__, version_map[i].version_name); */ + return version_map[i].version_id; + } + } @@ -71528,8 +72086,8 @@ index 000000000000..395e351a1cf6 +#endif + + print_driver_version(); -+ printk("driver version: %s\n", DRIVERVERSION); -+ printk("%s(%d) dhcp_offload %d set done.\n\n", ++ pr_info("driver version: %s\n", DRIVERVERSION); ++ pr_debug("%s(%d) dhcp_offload %d set done.\n\n", + __func__,__LINE__, dhcp_offload); + +#ifdef DEBUG_MALLOC @@ -71552,13 +72110,13 @@ index 000000000000..395e351a1cf6 + } + + if (aml_wifi_is_enable_rf_test()) { -+ printk("---Aml drv---:Before calling %s:(%d) \n",__func__,__LINE__); ++ pr_debug("---Aml drv---:Before calling %s:(%d) \n",__func__,__LINE__); + Init_B2B_Resource(); + } + + aml_insmod_flag = 1; + -+ printk("%s(%d) start...\n",__func__, __LINE__); ++ pr_debug("%s(%d) start...\n",__func__, __LINE__); + return 0; + +insmod_failed: @@ -71577,20 +72135,22 @@ index 000000000000..395e351a1cf6 +#ifdef SDIO_BUILD_IN + wifi_in_rmmod = 1; +#endif -+ printk("===================aml_rmmod start====================\n"); ++ pr_debug("===================aml_rmmod start====================\n"); + hal_exit_priv(); -+ printk("===================aml_rmmod end====================\n"); ++ pr_debug("===================aml_rmmod end====================\n"); + aml_insmod_flag = 0; + +#ifdef DEBUG_MALLOC -+ printk("kmalloc_count:%d\n", kmalloc_count); ++ pr_debug("kmalloc_count:%d\n", kmalloc_count); + for (i = 0; i < kmalloc_count; ++i) { -+ printk("malloc name:%s, count:%d\n", m_pn_buf[i].name, m_pn_buf[i].count); ++ pr_debug("malloc name:%s, count:%d\n", m_pn_buf[i].name, ++ m_pn_buf[i].count); + } + -+ printk("kfree_count:%d\n", kfree_count); ++ pr_debug("kfree_count:%d\n", kfree_count); + for (i = 0; i < kfree_count; ++i) { -+ printk("free name:%s, count:%d\n", f_pn_buf[i].name, f_pn_buf[i].count); ++ pr_debug("free name:%s, count:%d\n", f_pn_buf[i].name, ++ f_pn_buf[i].count); + } +#endif +#ifdef SDIO_BUILD_IN @@ -71613,19 +72173,19 @@ index 000000000000..395e351a1cf6 +module_param(en_rf_test, int, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + + -+/*Added for pass mac address when load wifi driver -+ *Usage: insmod ***.ko mac_addr=xx:xx:xx:xx:xx:xx -+ *Default: 00:01:02:58:00:12 -+*/ -+module_param(mac_addr,charp,0644); -+MODULE_PARM_DESC(mac_addr,"A string variable to describe wifi mac address"); ++/* Added for pass mac address when load wifi driver ++ * Usage: insmod ***.ko mac_addr=xx:xx:xx:xx:xx:xx ++ * Default: 00:01:02:58:00:12 ++ */ ++module_param(mac_addr, charp, 0644); ++MODULE_PARM_DESC(mac_addr, "A string variable to describe wifi mac address"); + +module_param(dhcp_offload, ushort, S_IRUGO); -+MODULE_PARM_DESC(dhcp_offload,"A short variable to control dhcp offload function"); ++MODULE_PARM_DESC(dhcp_offload, "A short variable to control dhcp offload function"); + -+/*Usage: insmod ***.ko country_code=xx*/ ++/* Usage: insmod ***.ko country_code=xx */ + -+module_param(country_code,charp,0644); ++module_param(country_code, charp, 0644); +MODULE_PARM_DESC(country_code,"A string variable to describe country code"); + + @@ -71638,7 +72198,7 @@ index 000000000000..395e351a1cf6 +#endif //#ifdef CONFIG_GXL diff --git a/drivers/net/wireless/w1/vmac/wifi_hal_platform.h b/drivers/net/wireless/w1/vmac/wifi_hal_platform.h new file mode 100644 -index 000000000000..0cd4514c8a00 +index 0000000000000000000000000000000000000000..a8fb3f8de4b6a7a0c7afeec875697693343df03e --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hal_platform.h @@ -0,0 +1,53 @@ @@ -71693,14 +72253,14 @@ index 000000000000..0cd4514c8a00 +extern char *aml_wifi_get_fw_type(void); +extern unsigned int aml_wifi_is_enable_rf_test(void); +extern void aml_w1_fw_recovery(void); -+ ++extern void aml_wifi_set_con_mode(void *wifimac); +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_hal_txdesc.c b/drivers/net/wireless/w1/vmac/wifi_hal_txdesc.c new file mode 100644 -index 000000000000..89c7df978490 +index 0000000000000000000000000000000000000000..6ea3f583cf2275b7baefc4767d4ab79db996be3d --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hal_txdesc.c -@@ -0,0 +1,1129 @@ +@@ -0,0 +1,1130 @@ +/* + **************************************************************************************** + * @@ -71721,6 +72281,7 @@ index 000000000000..89c7df978490 +#endif +#endif + ++#include "wifi_hal_cmd.h" +#include "wifi_hal_com.h" +#include "wifi_hal.h" +#include "wifi_hal_txdesc.h" @@ -72082,7 +72643,7 @@ index 000000000000..89c7df978490 + return ( IS_OFMD_RATE(rate) ? 20: ((preambletype==PREAMBLE_SHORT)?96:192) ); +} + -+unsigned char Hal_TxDescriptor_GetAckRate( unsigned char data_rate ) ++static unsigned char Hal_TxDescriptor_GetAckRate( unsigned char data_rate ) +{ + if (IS_HT_RATE(data_rate) ) + { @@ -72103,7 +72664,7 @@ index 000000000000..89c7df978490 + } +} + -+unsigned char Hal_TxDescriptor_GetRtsRate( unsigned char data_rate ) ++static unsigned char Hal_TxDescriptor_GetRtsRate( unsigned char data_rate ) +{ + if (IS_HT_RATE(data_rate) ) + { @@ -72192,7 +72753,7 @@ index 000000000000..89c7df978490 +} + +/*get ht frame tx time ,don't contain Signal Extension*/ -+unsigned short hal_txdescriptor_ht_gettxTime(unsigned char mcs ,unsigned short pktlen, ++static unsigned short hal_txdescriptor_ht_gettxTime(unsigned char mcs ,unsigned short pktlen, + unsigned char shortGI,unsigned char bw,unsigned char green) +{ + unsigned int nbits = 0; @@ -72221,8 +72782,8 @@ index 000000000000..89c7df978490 +} + +/*get vht frame tx time ,don't contain Signal Extension*/ -+unsigned short Hal_TxDescriptor_VHT_GetTxTime(unsigned char mcs ,unsigned short pktlen, -+ unsigned char shortGI, unsigned char bandwith, unsigned char green) ++static unsigned short Hal_TxDescriptor_VHT_GetTxTime(unsigned char mcs ,unsigned short pktlen, ++ unsigned char shortGI, unsigned char bandwidth, unsigned char green) +{ + unsigned int nbits = 0; + unsigned short duration,nsymbits,nsymbols; @@ -72232,10 +72793,10 @@ index 000000000000..89c7df978490 + * find number of symbols: PLCP + data + */ + nbits = (pktlen << 3) + OFDM_PLCP_BITS; -+ nsymbits = vht_bits_per_symbol[mcs][bandwith]; ++ nsymbits = vht_bits_per_symbol[mcs][bandwidth]; + + if (nsymbits == 0) { -+ printk("Hal_TxDescriptor_VHT_GetTxTime warming nsymbits=%d, bw=%d, mcs=%d\n ", nsymbits, bandwith, mcs); ++ pr_debug("Hal_TxDescriptor_VHT_GetTxTime warming nsymbits=%d, bw=%d, mcs=%d\n ", nsymbits, bandwidth, mcs); + nsymbols = 1; + + } else { @@ -72275,7 +72836,7 @@ index 000000000000..89c7df978490 + return duration; +} + -+unsigned short Hal_TxDescriptor_GetDuration( unsigned char rate, unsigned short length ) ++static unsigned short Hal_TxDescriptor_GetDuration( unsigned char rate, unsigned short length ) +{ + unsigned short duration =0; + length *= 8; @@ -72295,7 +72856,7 @@ index 000000000000..89c7df978490 + return duration; +} +/*get legacy frame tx time*/ -+unsigned short Hal_TxDescriptor_GetLegacyTxTime(unsigned char data_rate, ++static unsigned short Hal_TxDescriptor_GetLegacyTxTime(unsigned char data_rate, + unsigned short pktlen,unsigned char preambletype ) +{ + return Hal_TxDescriptor_GetPreamble( data_rate,preambletype )// data frame @@ -72317,7 +72878,7 @@ index 000000000000..89c7df978490 + +} + -+unsigned short Hal_TxDescriptor_GetAckTimeout( unsigned char data_rate,unsigned char preambletype) ++static unsigned short Hal_TxDescriptor_GetAckTimeout( unsigned char data_rate,unsigned char preambletype) +{ + if (IS_HT_RATE(data_rate) || IS_VHT_RATE(data_rate)) { + return 80 + PHY_TEST; @@ -72328,7 +72889,7 @@ index 000000000000..89c7df978490 + + +/*+SIGNAL_EXTENSION_VALUE+TXTIME(pclp+data+signalextension)*/ -+unsigned short Hal_TxDescriptor_GetAckTime( ++static unsigned short Hal_TxDescriptor_GetAckTime( + unsigned char data_rate , + unsigned char preambletype, + unsigned char b_shortGI, @@ -72357,7 +72918,7 @@ index 000000000000..89c7df978490 + } +} + -+unsigned short Hal_TxDescriptor_GetBATime( ++static unsigned short Hal_TxDescriptor_GetBATime( + unsigned char data_rate, + unsigned char preambletype, + unsigned char b_shortGI, @@ -72391,7 +72952,7 @@ index 000000000000..89c7df978490 + } +} + -+unsigned int Hal_TxDescriptor_GetTxTime(struct hi_agg_tx_desc* HiTxDesc) ++static unsigned int Hal_TxDescriptor_GetTxTime(struct hi_agg_tx_desc* HiTxDesc) +{ + //fixme :need to add signal extern + if (IS_HT_RATE(DESC_RATE)) { @@ -72415,7 +72976,7 @@ index 000000000000..89c7df978490 + } +} + -+__INLINE unsigned int Hal_TxDescriptor_GetTxTimeBA(struct hi_agg_tx_desc* HiTxDesc) ++static __INLINE unsigned int Hal_TxDescriptor_GetTxTimeBA(struct hi_agg_tx_desc* HiTxDesc) +{ + return Hal_TxDescriptor_GetTxTime( HiTxDesc) + +Hal_TxDescriptor_GetBATime(DESC_RATE,DESC_PREMBLETYPE,DESC_IS_SHORTGI,DESC_RIFS, DESC_BANDWIDTH); @@ -72476,7 +73037,7 @@ index 000000000000..89c7df978490 + } else { + PN = (unsigned long long *)hal_priv->uRepCnt[vid][sta_id].txPN[TX_UNICAST_REPCNT_ID]; + } -+ //printk("zy:pn=0x%x\n",*PN); ++ //pr_debug("zy:pn=0x%x\n",*PN); + switch (encrypt_type) { + case WIFI_TKIP: + memcpy(&tx_page->TxOption.PN[0],(unsigned char *)PN, 8); @@ -72513,7 +73074,7 @@ index 000000000000..89c7df978490 + struct wifi_qos_frame *wh = NULL; + unsigned char is_bc; + -+ //printk("%s(%d) bw 0x%x\n", __func__, __LINE__, bw); ++ //pr_debug("%s(%d) bw 0x%x\n", __func__, __LINE__, bw); + + tmp_dot11_preamble_type = (DESC_RATE==WIFI_11B_1M) ? PREAMBLE_LONG:wifi_conf_mib.dot11PreambleType; + @@ -72765,7 +73326,7 @@ index 000000000000..89c7df978490 + } + + max_data_field_tx_time = 4095 - preamble_time; -+ // printk("preamble_time =%d\n", preamble_time); ++ // pr_debug("preamble_time =%d\n", preamble_time); + if( !short_gi ) + { + max_symbol_number = max_data_field_tx_time>>2; /*long gi every symbol time is 4 us*/ @@ -72775,7 +73336,7 @@ index 000000000000..89c7df978490 + max_symbol_number = max_data_field_tx_time*10/36; /*short gi every ofdm symbol time is 3.6us*/ + } + -+ //printk("max_symbol_number =%d\n", max_symbol_number); ++ //pr_debug("max_symbol_number =%d\n", max_symbol_number); + mcs = GET_MCS(rate); + if ((mcs > 9) || (bw > 2)) + { @@ -72785,7 +73346,7 @@ index 000000000000..89c7df978490 + + if ((mcs == 9) && (bw == 0)) + { -+ /*vht 20M bandwith have not mcs9 rate*/ ++ /*vht 20M bandwidth have not mcs9 rate*/ + mcs = 8; + } + @@ -72799,12 +73360,12 @@ index 000000000000..89c7df978490 + mcs = 7; + } + -+ //printk("mcs =%d, bw=%d, NDBPS=%d\n", mcs, bw,ht_bits_per_symbol[mcs][bw]); ++ //pr_debug("mcs =%d, bw=%d, NDBPS=%d\n", mcs, bw,ht_bits_per_symbol[mcs][bw]); + return ht_bits_per_symbol[mcs][bw]*max_symbol_number >> 3; + } + else + { -+ //printk("mcs =%d, bw=%d, NDBPS=%d\n", mcs, bw,vht_bits_per_symbol[mcs][bw]); ++ //pr_debug("mcs =%d, bw=%d, NDBPS=%d\n", mcs, bw,vht_bits_per_symbol[mcs][bw]); + return vht_bits_per_symbol[mcs][bw]*max_symbol_number>>3; + } +} @@ -72832,7 +73393,7 @@ index 000000000000..89c7df978490 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_hal_txdesc.h b/drivers/net/wireless/w1/vmac/wifi_hal_txdesc.h new file mode 100644 -index 000000000000..4053c19a8cdd +index 0000000000000000000000000000000000000000..4053c19a8cdd8d9b2fac8778756ed2b8b90d15d2 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hal_txdesc.h @@ -0,0 +1,25 @@ @@ -72863,10 +73424,10 @@ index 000000000000..4053c19a8cdd +#endif//_AML_TXDESC_H_ diff --git a/drivers/net/wireless/w1/vmac/wifi_hif.c b/drivers/net/wireless/w1/vmac/wifi_hif.c new file mode 100644 -index 000000000000..1727d4a3ea37 +index 0000000000000000000000000000000000000000..826e20a0b44d91f57b0b320079f9293678e3b1c9 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hif.c -@@ -0,0 +1,1860 @@ +@@ -0,0 +1,1944 @@ +/* +* +* Copyright (C) 2008 Amlogic Inc. All Rights Reserved. @@ -72899,11 +73460,11 @@ index 000000000000..1727d4a3ea37 +#include +#include +#include -+ #endif ++#endif +#include "wifi_common.h" + +static struct hw_interface g_hw_interface; -+struct hw_interface* hif_get_hw_interface(void) ++struct hw_interface* hif_get_hw_interface(void) +{ + return &g_hw_interface; +} @@ -72912,7 +73473,8 @@ index 000000000000..1727d4a3ea37 +{ + struct amlw_hif_ops* ops = &g_hw_interface.hif_ops; +#ifdef SDIO_BUILD_IN -+ memcpy(&g_hw_interface.hif_ops, &g_w1_hif_ops, sizeof(struct amlw_hif_ops)); ++ memcpy(&g_hw_interface.hif_ops, &g_w1_hif_ops, ++ sizeof(struct amlw_hif_ops)); +#endif + +#ifndef SDIO_BUILD_IN @@ -72963,23 +73525,20 @@ index 000000000000..1727d4a3ea37 +#endif +void b2b_rx_throughput_calc(HW_RxDescripter_bit *RxPrivHdr) +{ -+ static int rx_count=0; -+ static unsigned long length_start=0; -+ static unsigned long length_end=0; -+ unsigned int throughput = 0; ++ static int rx_count = 0; ++ static unsigned long length_start = 0; ++ static unsigned long length_end = 0; + static long start = 0; -+ long end = 0; -+ long time_cost = 0; +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0)) + struct timeval t_start; -+ struct timeval t_end; ++ struct timeval t_end; +#endif + + /* + * Update with the dst mac address later to void broadcast or multicast, + * get from RxPrivHdr->data + */ -+ if ( RxPrivHdr->RxLength > DATA_PACKET_LENGTH_MIN ) ++ if (RxPrivHdr->RxLength > DATA_PACKET_LENGTH_MIN) + { + rx_count++; + if (rx_count == 1) @@ -72988,39 +73547,42 @@ index 000000000000..1727d4a3ea37 + start = ktime_to_ms(ktime_get_boottime()); +#else + do_gettimeofday(&t_start); -+ start = ((long)t_start.tv_sec)*1000+(long)t_start.tv_usec/1000; ++ start = ((long)t_start.tv_sec) * 1000 + (long)t_start.tv_usec / 1000; +#endif -+ printk("Rx side:Got the first packet and the start time is :%ld ms.\n",start); ++ pr_debug("Rx side:Got the first packet and the start time is :%ld ms.\n",start); + length_start += RxPrivHdr->RxLength; + length_end += RxPrivHdr->RxLength; + } + else + { ++ long time_cost; ++ long end; ++ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0)) + end = ktime_to_ms(ktime_get_boottime()); +#else + do_gettimeofday(&t_end); -+ end = ((long)t_end.tv_sec)*1000+(long)t_end.tv_usec/1000; ++ end = ((long)t_end.tv_sec) * 1000+(long)t_end.tv_usec / 1000; +#endif + time_cost = end - start; + length_end += RxPrivHdr->RxLength; -+ if ( time_cost >= THROUGHPUT_GET_INTERVAL ) ++ if (time_cost >= THROUGHPUT_GET_INTERVAL) + { -+ throughput = (length_end-length_start)*8/time_cost; ++ unsigned int throughput; ++ ++ throughput = (length_end - length_start) * 8 / time_cost; + start = end; + length_start = length_end; -+ printk("---B2B debug---Rx side: Current throughput: %d kbps.\n\n",throughput); ++ pr_debug("---B2B debug---Rx side: Current throughput: %d kbps.\n\n",throughput); + } + } + } +} + -+ -+ +unsigned int hi_get_device_id(void) +{ + struct hw_interface* hif = hif_get_hw_interface(); -+ unsigned int regdata = 0; ++ unsigned int regdata; + + regdata = hif->hif_ops.hi_read_word(PRODUCT_AMLOGIC_ADDR); + @@ -73029,8 +73591,8 @@ index 000000000000..1727d4a3ea37 + +unsigned int hi_get_vendor_id(void) +{ -+ unsigned int regdata = 0; + struct hw_interface* hif = hif_get_hw_interface(); ++ unsigned int regdata; + + regdata = hif->hif_ops.hi_read_word(VENDOR_AMLOGIC_ADDR); + @@ -73039,8 +73601,8 @@ index 000000000000..1727d4a3ea37 + +unsigned int hi_get_fw_version(void) +{ -+ unsigned int regdata = 0; + struct hw_interface* hif = hif_get_hw_interface(); ++ unsigned int regdata; + + regdata = hif->hif_ops.hi_read_word(FIRMWARE_VERSION_ADDR); + @@ -73049,10 +73611,10 @@ index 000000000000..1727d4a3ea37 + +unsigned int hi_get_irq_status(void) +{ -+ unsigned int regdata = 0; + struct hw_interface* hif = hif_get_hw_interface(); ++ unsigned int regdata; + -+ regdata = hif->hif_ops.hi_read_word(RG_WIFI_IF_HOST_IRQ_ST ); ++ regdata = hif->hif_ops.hi_read_word(RG_WIFI_IF_HOST_IRQ_ST); + + return regdata; +} @@ -73066,9 +73628,10 @@ index 000000000000..1727d4a3ea37 +#ifdef HAL_FPGA_VER +#ifdef PROJECT_W1 + /* -+ * just sometimes, clearing host req by clearing irq status operation after sending ps -+ * cmd to firmware. add host req to avoid firmware can't power off. -+ */ ++ * Just sometimes, clearing host req by clearing irq status operation ++ * after sending ps cmd to firmware. add host req to avoid firmware ++ * can't power off. ++ */ + if (0) + { + struct hal_private * halpriv = hal_get_priv(); @@ -73079,11 +73642,11 @@ index 000000000000..1727d4a3ea37 + POWER_BEGIN_LOCK(); + if (halpriv->hal_fw_ps_status == HAL_FW_IN_SLEEP) + { -+ unsigned int tmpreg = 0; ++ unsigned int tmpreg; + + POWER_END_LOCK(); + tmpreg = hif->hif_ops.hi_bottom_read8(SDIO_FUNC1, RG_SDIO_PMU_HOST_REQ); -+ // set host sleep req ++ /* set host sleep req */ + tmpreg |= HOST_SLEEP_REQ; + hif->hif_ops.hi_bottom_write8(SDIO_FUNC1, RG_SDIO_PMU_HOST_REQ, tmpreg); + POWER_BEGIN_LOCK(); @@ -73094,36 +73657,30 @@ index 000000000000..1727d4a3ea37 +#endif +} + -+static SYS_TYPE hi_get_next_up_fifo(FIFO_SHARE_CTRL * pFifiShare) ++static SYS_TYPE hi_get_next_up_fifo(FIFO_SHARE_CTRL *pFifiShare) +{ -+ return (pFifiShare->FDB + pFifiShare->FDT*pFifiShare->FDL); ++ return (pFifiShare->FDB + pFifiShare->FDT * pFifiShare->FDL); +} + -+static unsigned char bFifoFull(FIFO_SHARE_CTRL * pFifiShare) ++static unsigned char bFifoFull(FIFO_SHARE_CTRL *pFifiShare) +{ + unsigned int FDH = pFifiShare->FDH; + + CIRCLE_Add_One(FDH,pFifiShare->FDN); -+ if (FDH == pFifiShare->FDT) -+ { -+ return true; -+ } -+ return false; ++ ++ return (FDH == pFifiShare->FDT); +} + -+static unsigned char bDownFifo_Up(FIFO_SHARE_CTRL * pFifiShare) ++static unsigned char bDownFifo_Up(FIFO_SHARE_CTRL *pFifiShare) +{ + unsigned int FDH = pFifiShare->FDH; -+ if (FDH == pFifiShare->FDT) -+ { -+ return true; -+ } -+ return false; ++ ++ return (FDH == pFifiShare->FDT); +} + -+static unsigned char hi_down_fifo_full_up(FIFO_SHARE_CTRL * pFifiShare) ++static unsigned char hi_down_fifo_full_up(FIFO_SHARE_CTRL *pFifiShare) +{ -+ //updata cmd down fifo fdt ++ /* updata cmd down fifo fdt */ + struct hw_interface* hif = hif_get_hw_interface(); + + pFifiShare->FDT = hif->hif_ops.hi_read_word(pFifiShare->FCB + 12); @@ -73132,9 +73689,9 @@ index 000000000000..1727d4a3ea37 +} + +/*if full return true,else false*/ -+static unsigned char hi_down_fifo_pull(FIFO_SHARE_CTRL * pFifiShare) ++static unsigned char hi_down_fifo_pull(FIFO_SHARE_CTRL *pFifiShare) +{ -+ //updata cmd down fifo fdt ++ /* updata cmd down fifo fdt */ + struct hw_interface* hif = hif_get_hw_interface(); + + pFifiShare->FDT = hif->hif_ops.hi_read_word(pFifiShare->FCB + 12); @@ -73142,54 +73699,56 @@ index 000000000000..1727d4a3ea37 + return bFifoFull(pFifiShare); +} + -+/*return next cmd down fifo address*/ -+static SYS_TYPE hi_get_next_down_fifo(FIFO_SHARE_CTRL * pFifiShare) ++/* return next cmd down fifo address */ ++static SYS_TYPE hi_get_next_down_fifo(FIFO_SHARE_CTRL *pFifiShare) +{ + return (pFifiShare->FDB + pFifiShare->FDH*pFifiShare->FDL); +} + -+static unsigned char hi_push_down_fifo(FIFO_SHARE_CTRL *pDownFifo, -+ unsigned char *pdata,unsigned int len) ++static unsigned char hi_push_down_fifo(FIFO_SHARE_CTRL *pDownFifo, ++ unsigned char *pdata, unsigned int len) +{ + struct hw_interface* hif = hif_get_hw_interface(); + + if (!hi_down_fifo_pull(pDownFifo)) + { + hif->hif_ops.hi_write_sram((unsigned char *)pdata, -+ (unsigned char*)hi_get_next_down_fifo(pDownFifo),len); -+ CIRCLE_Add_One( pDownFifo->FDH ,pDownFifo->FDN); -+ //trigger host cmd irq for firmware -+ hif->hif_ops.hi_write_sram((unsigned char*)(&(pDownFifo->FDH)), -+ (unsigned char *)(SYS_TYPE)((pDownFifo)->FCB + 8), 4); ++ (unsigned char *)hi_get_next_down_fifo(pDownFifo), ++ len); ++ CIRCLE_Add_One( pDownFifo->FDH, pDownFifo->FDN); ++ /* trigger host cmd irq for firmware */ ++ hif->hif_ops.hi_write_sram((unsigned char *)(&(pDownFifo->FDH)), ++ (unsigned char *)(SYS_TYPE)((pDownFifo)->FCB + 8), ++ 4); + return true; + } ++ + return false; +} + +static unsigned char hi_push_down_fifo_up(FIFO_SHARE_CTRL *pUpFifo, -+ unsigned char *pdata,unsigned int len) ++ unsigned char *pdata, unsigned int len) +{ -+ //insert data ++ /* insert data */ + struct hw_interface* hif = hif_get_hw_interface(); + -+ if (hi_down_fifo_full_up(pUpFifo)) //insert data ++ if (hi_down_fifo_full_up(pUpFifo)) /* insert data */ + { -+ CIRCLE_Sub_One(pUpFifo->FDT ,pUpFifo->FDN); //here back to the filled again ++ CIRCLE_Sub_One(pUpFifo->FDT ,pUpFifo->FDN); /* here back to the filled again */ + hif->hif_ops.hi_read_sram((unsigned char *)pdata, -+ (unsigned char *)hi_get_next_up_fifo(pUpFifo),len); -+ //updata cmd down fifo fdh -+ CIRCLE_Add_One( pUpFifo->FDT ,pUpFifo->FDN); ++ (unsigned char *)hi_get_next_up_fifo(pUpFifo), ++ len); ++ /* updata cmd down fifo fdh */ ++ CIRCLE_Add_One(pUpFifo->FDT, pUpFifo->FDN); + return true; + } + + return false; +} + -+ -+ +#if defined (HAL_FPGA_VER) + -+static struct tx_status_node tx_status[WIFI_MAX_TXFRAME*2]; ++static struct tx_status_node tx_status[WIFI_MAX_TXFRAME * 2]; +int tx_status_list_init(struct tx_status_list *tx_status_list, int num) +{ + int i = 0; @@ -73199,50 +73758,59 @@ index 000000000000..1727d4a3ea37 + INIT_LIST_HEAD(&(tx_status_list->free_list)); + spin_lock_init(&(tx_status_list->status_list_lock)); + -+ if (node_num > WIFI_MAX_TXFRAME*2) ++ if (node_num > WIFI_MAX_TXFRAME * 2) + { -+ node_num = WIFI_MAX_TXFRAME*2; ++ node_num = WIFI_MAX_TXFRAME * 2; + } ++ + while (i < node_num) + { + INIT_LIST_HEAD(&(tx_status[i].list_node)); + list_add_tail(&(tx_status[i].list_node), &(tx_status_list->free_list)); + i++; + } ++ + return node_num; +} + -+struct tx_status_node * tx_status_node_alloc(struct tx_status_list *tx_status_list) ++struct tx_status_node *tx_status_node_alloc(struct tx_status_list *tx_status_list) +{ + struct tx_status_node *txok_status_node = NULL; + + if (tx_status_list == NULL) + return NULL; ++ + spin_lock_bh(&tx_status_list->status_list_lock); ++ + if (!list_empty(&tx_status_list->free_list)) + { -+ txok_status_node = list_first_entry(&tx_status_list->free_list, struct tx_status_node, list_node); ++ txok_status_node = list_first_entry(&tx_status_list->free_list, ++ struct tx_status_node, ++ list_node); + list_del(&txok_status_node->list_node); + } + spin_unlock_bh(&tx_status_list->status_list_lock); ++ + return txok_status_node; +} + +void tx_status_node_enqueue(struct tx_status_node *txok_status_node, -+ struct tx_status_list *tx_status_list) ++ struct tx_status_list *tx_status_list) +{ + if (txok_status_node == NULL || tx_status_list == NULL) + return; ++ + spin_lock_bh(&tx_status_list->status_list_lock); + list_add_tail(&txok_status_node->list_node, &tx_status_list->status_list); + spin_unlock_bh(&tx_status_list->status_list_lock); +} + +void tx_status_node_free(struct tx_status_node *txok_status_node, -+ struct tx_status_list *tx_status_list) ++ struct tx_status_list *tx_status_list) +{ + if (txok_status_node == NULL || tx_status_list == NULL) + return; ++ + spin_lock_bh(&tx_status_list->status_list_lock); + list_add_tail(&txok_status_node->list_node, &tx_status_list->free_list); + spin_unlock_bh(&tx_status_list->status_list_lock); @@ -73254,27 +73822,31 @@ index 000000000000..1727d4a3ea37 + + if (tx_status_list == NULL) + return NULL; ++ + spin_lock_bh(&(tx_status_list->status_list_lock)); + if (!list_empty(&(tx_status_list->status_list))) + { -+ txok_status_node = list_first_entry(&(tx_status_list->status_list), struct tx_status_node, list_node); ++ txok_status_node = list_first_entry(&(tx_status_list->status_list), ++ struct tx_status_node, ++ list_node); + list_del(&(txok_status_node->list_node)); + } + spin_unlock_bh(&(tx_status_list->status_list_lock)); ++ + return txok_status_node; +} + -+ -+//static unsigned char g_rx_fifo[RX_FIFO_SIZE + 2 * FUNC6_BLKSIZE]; ++/* static unsigned char g_rx_fifo[RX_FIFO_SIZE + 2 * FUNC6_BLKSIZE]; */ +unsigned char *g_rx_fifo = NULL; +void hi_rx_fifo_init(void) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface* hif = hif_get_hw_interface(); + +#ifdef CONFIG_AML_USE_STATIC_BUF + g_rx_fifo = wifi_mem_prealloc(AML_RX_FIFO, RX_FIFO_SIZE + 2 * FUNC6_BLKSIZE); +#else -+ g_rx_fifo = (unsigned char *)ZMALLOC(RX_FIFO_SIZE + 2 * FUNC6_BLKSIZE, "hi_rx_fifo_init", GFP_KERNEL); ++ g_rx_fifo = (unsigned char *)ZMALLOC(RX_FIFO_SIZE + 2 * FUNC6_BLKSIZE, ++ "hi_rx_fifo_init", GFP_KERNEL); +#endif + if (g_rx_fifo == NULL) + ERROR_DEBUG_OUT("rx fifo alloc failed\n"); @@ -73290,12 +73862,12 @@ index 000000000000..1727d4a3ea37 +/* page num after initializing sg list */ +static unsigned int send_page_num = 0; +int hi_sdio_setup_scat_data(struct scatterlist *sg_list, struct hi_tx_desc **pTxDPape, -+ unsigned int sg_num, unsigned char func_num) ++ unsigned int sg_num, unsigned char func_num) +{ -+ int i = 0; ++ int i; + struct sdio_func *func = aml_priv_to_func(func_num); + struct mmc_host *host = func->card->host; -+ unsigned int sg_data_size = 0, blkcnt = 0, sg_total_len = 0, page_tmp = 0; ++ unsigned int blkcnt, sg_total_len; + + /* we still check if total len in a mmc request is greater than max req len. */ + unsigned int max_sg_size = min(func->cur_blksize * SDIO_MAX_BLK_CNT, host->max_req_size); @@ -73309,9 +73881,13 @@ index 000000000000..1727d4a3ea37 + /*Init sg table with specific num. */ + sg_init_table(sg_list, sg_num); + remain_mpdu_num = sg_num; ++ blkcnt = 0; ++ sg_total_len = 0; + + for (i = 0; i < sg_num; i++) + { ++ unsigned int sg_data_size, page_tmp; ++ + /*every mpdu length.*/ + sg_data_size = HW_MPDU_LEN_GET(pTxDPape[i]->MPDUBufFlag) + HI_TXDESC_DATAOFFSET; + page_tmp = pTxDPape[i]->TxPriv.PageNum; @@ -73331,15 +73907,17 @@ index 000000000000..1727d4a3ea37 + sg_total_len += sg_data_size; + send_page_num += page_tmp; + -+ /*Init every sg with specific mpdu. */ ++ /* Init every sg with specific mpdu. */ + sg_set_buf(&sg_list[i], pTxDPape[i], sg_data_size); + remain_mpdu_num--; + } ++ + return blkcnt; +} + -+/* for fpga ver*/ -+int hi_tx_frame(struct hi_tx_desc **pTxDPape, unsigned int mpdu_num, unsigned int page_num) ++/* for fpga ver */ ++int hi_tx_frame(struct hi_tx_desc **pTxDPape, unsigned int mpdu_num, ++ unsigned int page_num) +{ + struct scatterlist sg_list[SG_NUM_MAX] = {{0}}; + unsigned int sg_remain = 0, sg_num = 0, offset = 0, blkcnt = 0; @@ -73351,7 +73929,7 @@ index 000000000000..1727d4a3ea37 + + do + { -+ /*Support wifi host fill many mpdus in sg_list. */ ++ /* Support wifi host fill many mpdus in sg_list. */ + if (sg_num > SG_NUM_MAX) + { + sg_remain = sg_num - SG_NUM_MAX; @@ -73362,9 +73940,12 @@ index 000000000000..1727d4a3ea37 + sg_remain = 0; + } + -+ /* one mpdu will fill in sg item, so mpdu_num is sg_num. But when mpdu len is greater than 'max_seg_size', -+ * there are many mpdus will be remained*/ -+ blkcnt = hi_sdio_setup_scat_data(sg_list, &pTxDPape[offset], sg_num, SDIO_FUNC4); ++ /* One mpdu will fill in sg item, so mpdu_num is sg_num. But when ++ * mpdu len is greater than 'max_seg_size', there are many mpdus ++ * will be remained. ++ */ ++ blkcnt = hi_sdio_setup_scat_data(sg_list, &pTxDPape[offset], sg_num, ++ SDIO_FUNC4); + if (remain_mpdu_num > 0) + { + sg_remain += remain_mpdu_num; @@ -73376,8 +73957,11 @@ index 000000000000..1727d4a3ea37 + ret = -1; + break; + } -+ /* addr (0x0) is flag for FUNC4 and addr is not a actual phy or virtual address. */ -+ while ((ret = hif->hif_ops.hi_scat_rw(sg_list, sg_num, blkcnt, SDIO_FUNC4, 0x0, SG_WRITE)) != 0) ++ /* addr (0x0) is flag for FUNC4 and addr is not a actual ++ * phy or virtual address. ++ */ ++ while ((ret = hif->hif_ops.hi_scat_rw(sg_list, sg_num, blkcnt, ++ SDIO_FUNC4, 0x0, SG_WRITE)) != 0) + { + if (loop > 4) + { @@ -73385,25 +73969,32 @@ index 000000000000..1727d4a3ea37 + break; + } + loop++; -+ } ++ } + + if (ret == 0) + { -+#if (SDIO_UPDATE_HOST_WRPTR == 0) //if enable host update sdio write pointer, we need set bit9 in SDIO MISC CTRL ++#if (SDIO_UPDATE_HOST_WRPTR == 0) ++ /* If enable host update sdio write pointer, we need set ++ * bit9 in SDIO MISC CTRL. ++ */ + unsigned int page_tmp = 0; -+ unsigned int reg_tmp = 0; ++ unsigned int reg_tmp; + struct hal_private * hal_priv = hal_get_priv(); + -+ /*sdio process success, update SDIO write pointer and interrupt FW to read data. */ ++ /* sdio process success, update SDIO write pointer and ++ * interrupt FW to read data. ++ */ + page_tmp += send_page_num; + if (page_tmp > page_num) + { -+ printk("%s:%d, update host wr ptr failed. page_tmp :%d, all page num%d\n", -+ __func__, __LINE__,page_tmp, page_num); ++ pr_err("%s:%d, update host wr ptr failed. page_tmp :%d, all page num%d\n", ++ __func__, __LINE__,page_tmp, page_num); + } -+ hal_priv->tx_page_offset = CIRCLE_Addition2(send_page_num, hal_priv->tx_page_offset, TX_ADDRESSTABLE_NUM); ++ hal_priv->tx_page_offset = CIRCLE_Addition2(send_page_num, ++ hal_priv->tx_page_offset, ++ TX_ADDRESSTABLE_NUM); + send_page_num = 0; -+ /*Bit30 enable TXPAGE TABLE REG flag. */ ++ /* Bit30 enable TXPAGE TABLE REG flag. */ + reg_tmp = hal_priv->tx_page_offset; + + hif->hif_ops.hi_write_word(RG_WIFI_IF_MAC_TXTABLE_RD_ID, reg_tmp); @@ -73412,43 +74003,42 @@ index 000000000000..1727d4a3ea37 + else + { + /* theoretically, sdio shall not transmit failed, if fail and fix it. */ -+ printk("%s(%d):SDIO try re-transmit %d times, but fail\n",__func__, __LINE__, loop); ++ pr_err("%s(%d):SDIO try re-transmit %d times, but fail\n",__func__, __LINE__, loop); + } -+ /*offset for mpdu in pTxDPape list and continue. */ ++ /* offset for mpdu in pTxDPape list and continue. */ + offset += sg_num; + sg_num = sg_remain; + } + while(sg_remain > 0); ++ + return ret; +} + +#elif defined (HAL_SIM_VER) + -+unsigned int print_cnt = 0; ++static unsigned int print_cnt = 0; +static unsigned int tx_page_offset = 0; + -+/* for simulation ver . */ -+int hi_tx_frame( struct hi_tx_desc * pTxDPape, unsigned int blk_num, unsigned int page_num) ++/* for simulation ver. */ ++int hi_tx_frame(struct hi_tx_desc *pTxDPape, unsigned int blk_num, unsigned int page_num) +{ -+ unsigned int tmpreg = 0; -+ -+ struct hw_interface* hif = hif_get_hw_interface(); ++ unsigned int tmpreg; ++ struct hw_interface *hif = hif_get_hw_interface(); + + if (0) + { + hal_show_txframe(pTxDPape); + } + print_cnt++; -+ if( print_cnt == 2000) ++ if (print_cnt == 2000) + { -+ PRINT("tv_tx_rate=0x%x \n", pTxDPape->TxVector.tv_ht.htbit.tv_tx_rate); ++ PRINT("tv_tx_rate=0x%x \n", pTxDPape->TxVector.tv_ht.htbit.tv_tx_rate); + PRINT("tv_Channel_BW=%d\n", pTxDPape->TxVector.tv_ht.htbit.tv_Channel_BW); + print_cnt = 0; + } + hif->hif_ops.hi_send_frame((unsigned char *)pTxDPape, 0, blk_num); +#if (SDIO_UPDATE_HOST_WRPTR == 0) -+ tmpreg = 0; -+ /*Update tx page table ptr. */ ++ /* Update tx page table ptr. */ + tx_page_offset = CIRCLE_Addition2(tx_page_offset, page_num, TX_ADDRESSTABLE_NUM); + tmpreg = tx_page_offset; + @@ -73461,30 +74051,32 @@ index 000000000000..1727d4a3ea37 + +void hi_cfg_firmware(void) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); ++ + hif->hw_config.txpagenum = DEFAULT_TXPAGENUM; + hif->hw_config.rxpagenum = DEFAULT_RXPAGENUM; -+ hif->hw_config.bcn_page_num = DEFAULT_BCN_NUM; ++ hif->hw_config.bcn_page_num = DEFAULT_BCN_NUM; + + if (aml_wifi_is_enable_rf_test()) + hif->hw_config.flags = PT_MODE; + +#if defined (HAL_SIM_VER) -+ if( STA1_VMAC0_SEND_RATE <= WIFI_11B_11M) ++ if (STA1_VMAC0_SEND_RATE <= WIFI_11B_11M) + { + hif->hw_config.txpagenum = 16; + } +#endif -+ hif->hif_ops.hi_write_sram((unsigned char *)&hif->hw_config, -+ (unsigned char *)HW_CONFIG_ADDR,sizeof(HW_CONFIG)); ++ hif->hif_ops.hi_write_sram((unsigned char *)&hif->hw_config, ++ (unsigned char *)HW_CONFIG_ADDR, ++ sizeof(HW_CONFIG)); +} + -+//asynchronous -+extern unsigned char wifi_sdio_access; -+unsigned char hi_set_cmd(unsigned char *pdata,unsigned int len) ++/* asynchronous */ ++extern unsigned char wifi_sdio_access; ++unsigned char hi_set_cmd(unsigned char *pdata, unsigned int len) +{ -+ struct hal_private * hal_priv = hal_get_priv(); -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hal_private *hal_priv = hal_get_priv(); ++ struct hw_interface *hif = hif_get_hw_interface(); + FIFO_SHARE_CTRL *pCmdDownFifo = &hif->CmdDownFifo; + unsigned int loop = 0; + PowerSaveCmd pscmd = *(PowerSaveCmd *)pdata; @@ -73501,8 +74093,8 @@ index 000000000000..1727d4a3ea37 + } + + POWER_BEGIN_LOCK(); -+ if (((hal_priv->hal_drv_ps_status & HAL_DRV_IN_SLEEPING) != 0) -+ && (pdata[0] != Power_Save_Cmd) && (pdata[0] != WoW_Enable_Cmd)) ++ if (((hal_priv->hal_drv_ps_status & HAL_DRV_IN_SLEEPING) != 0) && ++ (pdata[0] != Power_Save_Cmd) && (pdata[0] != WoW_Enable_Cmd)) + { + POWER_END_LOCK(); + return false; @@ -73521,7 +74113,8 @@ index 000000000000..1727d4a3ea37 + { + if (loop++>10000) + { -+ printk("err-> f_fdh: %d, f_fdt: %d, d_fdh %d \n", hif->hif_ops.hi_read_word(0x00a10038), ++ pr_err("err-> f_fdh: %d, f_fdt: %d, d_fdh %d \n", ++ hif->hif_ops.hi_read_word(0x00a10038), + hif->hif_ops.hi_read_word(0x00a1003c), pCmdDownFifo->FDH); + PRINT("hi_set_cmd err, cmd=0x%x, vid=0x%x\n", pdata[0], pdata[3]); + @@ -73530,17 +74123,20 @@ index 000000000000..1727d4a3ea37 + POWER_END_LOCK(); + return false; + } ++ + OS_UDELAY(20); + } + aml_wifi_sdio_power_lock(); + POWER_BEGIN_LOCK(); -+ if (((hal_priv->powersave_init_flag == 0) && (pscmd.Cmd == Power_Save_Cmd) && (pscmd.psmode == PS_DOZE)) -+ || ((hal_priv->powersave_init_flag == 0) && (suspend_cmd.Cmd == WoW_Enable_Cmd) && (suspend_cmd.enable == 1))) ++ if (((hal_priv->powersave_init_flag == 0) && (pscmd.Cmd == Power_Save_Cmd) && ++ (pscmd.psmode == PS_DOZE)) || ++ ((hal_priv->powersave_init_flag == 0) && ++ (suspend_cmd.Cmd == WoW_Enable_Cmd) && (suspend_cmd.enable == 1))) + { -+ unsigned int tmpreg = 0; ++ unsigned int tmpreg; + + tmpreg = hif->hif_ops.hi_bottom_read8(SDIO_FUNC1, RG_SDIO_PMU_HOST_REQ); -+ // set host sleep req ++ /* set host sleep req */ + tmpreg |= HOST_SLEEP_REQ; + hif->hif_ops.hi_bottom_write8(SDIO_FUNC1, RG_SDIO_PMU_HOST_REQ, tmpreg); + } @@ -73552,12 +74148,12 @@ index 000000000000..1727d4a3ea37 + return true; +} + -+//synchronous ++/* synchronous */ +unsigned char hi_get_cmd(unsigned char *pdata,unsigned int len) +{ -+ struct hw_interface* hif = hif_get_hw_interface(); ++ struct hw_interface *hif = hif_get_hw_interface(); + FIFO_SHARE_CTRL *pCmdDownFifo = &hif->CmdDownFifo; -+ unsigned int Cmd = pdata[0] ; ++ unsigned int Cmd = pdata[0]; + + if (!hi_set_cmd(pdata,len)) + { @@ -73565,8 +74161,8 @@ index 000000000000..1727d4a3ea37 + ASSERT(0); + return false; + } -+ //get return data -+ while (!hi_push_down_fifo_up(pCmdDownFifo,pdata,len)) ++ /* get return data */ ++ while (!hi_push_down_fifo_up(pCmdDownFifo, pdata, len)) + { + OS_UDELAY(20); + } @@ -73579,12 +74175,12 @@ index 000000000000..1727d4a3ea37 + +void hi_soft_tx_irq(void) +{ -+ struct hal_private * hal_priv = hal_get_priv(); -+ struct hw_interface* hif = hif_get_hw_interface(); -+ struct txdonestatus * txstatus = NULL; -+ unsigned int hw_txc_addr = 0; -+ struct tx_complete_status *txcompletestatus = NULL; -+ struct tx_nulldata_status* tx_null_status = NULL; ++ struct hal_private *hal_priv = hal_get_priv(); ++ struct hw_interface *hif = hif_get_hw_interface(); ++ struct txdonestatus *txstatus = NULL; ++ unsigned int hw_txc_addr; ++ struct tx_complete_status *txcompletestatus; ++ struct tx_nulldata_status *tx_null_status = NULL; + +#if defined (HAL_FPGA_VER) + struct tx_status_node *txok_status_node = NULL; @@ -73598,28 +74194,33 @@ index 000000000000..1727d4a3ea37 + txcompletestatus = hal_priv->txcompletestatus; + + hif->hif_ops.hi_read_sram((unsigned char *)txcompletestatus, -+ (unsigned char *)(SYS_TYPE)hw_txc_addr, (SYS_TYPE)sizeof(struct tx_complete_status)); ++ (unsigned char *)(SYS_TYPE)hw_txc_addr, ++ (SYS_TYPE)sizeof(struct tx_complete_status)); + -+ ASSERT(((hal_priv->txcompletestatus->txdoneframecounter - hal_priv->HalTxFrameDoneCounter)&0xff) ++ ASSERT(((hal_priv->txcompletestatus->txdoneframecounter - hal_priv->HalTxFrameDoneCounter) & 0xff) + <= WIFI_MAX_TXFRAME); ++ + AML_TXLOCK_LOCK(); + hal_priv->txPageFreeNum += + (hal_priv->txcompletestatus->txpagecounter - hal_priv->HalTxPageDoneCounter) & 0xff; + AML_TXLOCK_UNLOCK(); ++ + hal_priv->HalTxPageDoneCounter = hal_priv->txcompletestatus->txpagecounter; + + if (hal_priv->bhaltxdrop) { -+ printk("page:%d, txdoneframecounter:%d, HalTxFrameDoneCounter:%d\n", -+ hal_priv->txPageFreeNum, hal_priv->txcompletestatus->txdoneframecounter, hal_priv->HalTxFrameDoneCounter); ++ pr_debug("page:%d, txdoneframecounter:%d, HalTxFrameDoneCounter:%d\n", ++ hal_priv->txPageFreeNum, hal_priv->txcompletestatus->txdoneframecounter, ++ hal_priv->HalTxFrameDoneCounter); + } + +#if defined (HAL_FPGA_VER) -+ AML_PRINT(AML_DBG_MODULES_TX, "txPageFreeNum:%d, HalTxPageDoneCounter:%d\n", hal_priv->txPageFreeNum, hal_priv->HalTxPageDoneCounter); ++ AML_PRINT(AML_DBG_MODULES_TX, "txPageFreeNum:%d, HalTxPageDoneCounter:%d\n", ++ hal_priv->txPageFreeNum, hal_priv->HalTxPageDoneCounter); +#endif + -+ while (hal_priv->txcompletestatus->txdoneframecounter != hal_priv->HalTxFrameDoneCounter) ++ while (hal_priv->txcompletestatus->txdoneframecounter != hal_priv->HalTxFrameDoneCounter) + { -+ txstatus = &hal_priv->txcompletestatus->tx_status[hal_priv->HalTxFrameDoneCounter%WIFI_MAX_TXFRAME].txstatus; ++ txstatus = &hal_priv->txcompletestatus->tx_status[hal_priv->HalTxFrameDoneCounter % WIFI_MAX_TXFRAME].txstatus; + hal_priv->HalTxFrameDoneCounter++; + +#if defined (HAL_FPGA_VER) @@ -73627,39 +74228,43 @@ index 000000000000..1727d4a3ea37 + if (txok_status_node != NULL) + { + memcpy(&(txok_status_node->tx_status.txstatus), txstatus, sizeof(struct txdonestatus)); -+ /*enqueue status list to wait for txok analyse */ ++ /* enqueue status list to wait for txok analyse */ + tx_status_node_enqueue(txok_status_node, txok_status_list); + + tx_null_status = &(txok_status_node->tx_status.tx_null_status); -+ if (!((tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NULL_DATA_OK) -+ || (tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NULL_DATA_FAIL) -+ || (tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NEW))) ++ ++ if (!((tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NULL_DATA_OK) || ++ (tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NULL_DATA_FAIL) || ++ (tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NEW))) + { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)) && !defined (LINUX_PLATFORM) -+ __sync_fetch_and_add(&hif->HiStatus.Tx_Free_num,1); ++ __sync_fetch_and_add(&hif->HiStatus.Tx_Free_num, 1); +#else + atomic_add(1, &hif->HiStatus.Tx_Free_num); +#endif + } + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)) && !defined (LINUX_PLATFORM) -+ if ((tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NEW) && (hif->HiStatus.Tx_Free_num < hif->HiStatus.Tx_Done_num)) { ++ if ((tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NEW) && ++ (hif->HiStatus.Tx_Free_num < hif->HiStatus.Tx_Done_num)) { + __sync_fetch_and_add(&hif->HiStatus.Tx_Free_num,1); +#else -+ if ((tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NEW) && (atomic_read(&hif->HiStatus.Tx_Free_num) < atomic_read(&hif->HiStatus.Tx_Done_num))) { ++ if ((tx_null_status->txstatus == TX_DESCRIPTOR_STATUS_NEW) && ++ (atomic_read(&hif->HiStatus.Tx_Free_num) < atomic_read(&hif->HiStatus.Tx_Done_num))) { + atomic_add(1, &hif->HiStatus.Tx_Free_num); +#endif + } + } +#elif defined (HAL_SIM_VER) -+ // free skb allocated by hal ++ /* free skb allocated by hal */ + if (hal_free_tx_id(hal_priv,txstatus,&callback, &queue_id) < 0) + { + continue; + } + -+ /*to processes drv_Intr_Txok*/ -+ hal_priv->hal_call_back->intr_tx_handle(hal_priv->drv_priv, txstatus, callback, queue_id); ++ /* to processes drv_Intr_Txok */ ++ hal_priv->hal_call_back->intr_tx_handle(hal_priv->drv_priv, txstatus, ++ callback, queue_id); +#endif + } + @@ -73669,31 +74274,32 @@ index 000000000000..1727d4a3ea37 + return; +} + -+void hi_soft_fw_event(void) ++static void hi_soft_fw_event(void) +{ + struct hal_private *hal_priv = hal_get_priv(); + struct hw_interface *hif = hif_get_hw_interface(); -+ struct fw_event_to_driver *event = NULL; -+ unsigned int hw_event_addr = 0; ++ struct fw_event_to_driver *event; ++ unsigned int hw_event_addr; + + hw_event_addr = hif->hw_config.fweventaddress; + event = hal_priv->fw_event; + -+ hif->hif_ops.hi_read_sram((unsigned char *)event, -+ (unsigned char *)(SYS_TYPE)hw_event_addr, (SYS_TYPE)sizeof(struct fw_event_to_driver)); ++ hif->hif_ops.hi_read_sram((unsigned char *)event, (unsigned char *)(SYS_TYPE)hw_event_addr, ++ (SYS_TYPE)sizeof(struct fw_event_to_driver)); + + if (aml_wifi_is_enable_rf_test()) + return; + -+ while (hal_priv->fw_event->event_counter != hal_priv->hal_fw_event_counter) ++ while (hal_priv->fw_event->event_counter != hal_priv->hal_fw_event_counter) + { -+ struct fw_event_no_data *normal_event = NULL; ++ struct fw_event_no_data *normal_event; + + normal_event = &hal_priv->fw_event->event_data[hal_priv->hal_fw_event_counter % WIFI_MAX_FW_EVENT].normal_event; + hal_priv->hal_call_back->intr_fw_event(hal_priv->drv_priv, normal_event); + event->event_data[0].data[28] = hal_priv->hal_fw_event_counter; + hif->hif_ops.hi_write_sram((unsigned char *)&event->event_data[0].data[28], -+ (unsigned char *)(SYS_TYPE)(hw_event_addr+32), (SYS_TYPE)(sizeof(unsigned char)*4)); ++ (unsigned char *)(SYS_TYPE)(hw_event_addr + 32), ++ (SYS_TYPE)(sizeof(unsigned char) * 4)); + hal_priv->hal_fw_event_counter++; + } + @@ -73702,76 +74308,79 @@ index 000000000000..1727d4a3ea37 + +void hi_soft_rx_bcn(struct hal_private *hal_priv, unsigned char vid) +{ -+ struct sk_buff *skb = NULL; -+ struct hw_interface *hif = hif_get_hw_interface(); -+ unsigned char bcnpage = hif->hw_config.bcn_page_num; -+ /*beacon buffer address in sram */ -+ unsigned int bcnaddr = hif->hw_config.beaconframeaddress -+ + (vid * (bcnpage/WIFI_MAX_VID) * PAGE_LEN); -+ unsigned int buflen = bcnpage / WIFI_MAX_VID * PAGE_LEN; -+ unsigned long bcnctl_reg = 0; -+ unsigned int rx_bcn_page = 0; -+ HW_RxDescripter_bit *RxDesc = NULL; -+ -+ /*Protect operation for receiving beacon by check bit31 is 1 in bcn ctrl register.*/ -+ -+ bcnctl_reg = hif->hif_ops.hi_read_word(RG_MAC_BCN_CTRL_REG); ++ struct sk_buff *skb; ++ struct hw_interface *hif = hif_get_hw_interface(); ++ unsigned char bcnpage = hif->hw_config.bcn_page_num; ++ /* beacon buffer address in sram */ ++ unsigned int bcnaddr = hif->hw_config.beaconframeaddress + ++ (vid * (bcnpage / WIFI_MAX_VID) * PAGE_LEN); ++ unsigned int buflen = bcnpage / WIFI_MAX_VID * PAGE_LEN; ++ unsigned long bcnctl_reg; ++ unsigned int rx_bcn_page; ++ HW_RxDescripter_bit *RxDesc; ++ ++ /* Protect operation for receiving beacon by check bit31 is 1 in ++ * bcn ctrl register. ++ */ ++ bcnctl_reg = hif->hif_ops.hi_read_word(RG_MAC_BCN_CTRL_REG); + -+ if ((bcnctl_reg & BCN_READABLE) == 0) -+ { -+ PRINT("RecvBcn: bcnctrl_reg = %lx\n", (SYS_TYPE)bcnctl_reg); -+ return; -+ } ++ if ((bcnctl_reg & BCN_READABLE) == 0) ++ { ++ PRINT("RecvBcn: bcnctrl_reg = %lx\n", (SYS_TYPE)bcnctl_reg); ++ return; ++ } + -+ skb = os_skb_alloc(buflen); -+ if (skb == NULL) -+ { -+ PRINT("RecvBcn: alloc skb failed\n"); -+ return; -+ } -+ /*Get received beacon page number. If beacon page number is 0 -+ * indicates to read whole beacon buffer. */ -+ rx_bcn_page = (bcnctl_reg & BCN_LEN_MASK) >> 17; -+ if (rx_bcn_page != 0) -+ buflen = rx_bcn_page * PAGE_LEN; ++ skb = os_skb_alloc(buflen); ++ if (skb == NULL) ++ { ++ PRINT("RecvBcn: alloc skb failed\n"); ++ return; ++ } ++ /* Get received beacon page number. If beacon page number is 0 ++ * indicates to read whole beacon buffer. ++ */ ++ rx_bcn_page = (bcnctl_reg & BCN_LEN_MASK) >> 17; ++ if (rx_bcn_page != 0) ++ buflen = rx_bcn_page * PAGE_LEN; + -+ hif->hif_ops.hi_read_sram((unsigned char *)os_skb_data(skb), -+ (unsigned char *)(SYS_TYPE)bcnaddr, (SYS_TYPE)buflen); ++ hif->hif_ops.hi_read_sram((unsigned char *)os_skb_data(skb), ++ (unsigned char *)(SYS_TYPE)bcnaddr, ++ (SYS_TYPE)buflen); + -+ RxDesc = (HW_RxDescripter_bit *)skb->data; ++ RxDesc = (HW_RxDescripter_bit *)skb->data; + -+ /*Discarding beacon frames when RxLength is greater than buflen.*/ -+ if ((RxDesc->RxLength + RX_PRIV_HDR_LEN) >= buflen) -+ { -+ PRINT("RecvBcn: RxLength =%lu\n", (SYS_TYPE)RxDesc->RxLength); -+ os_skb_free(skb); -+ return; -+ } -+ os_skb_put(skb, (RxDesc->RxLength + RX_PRIV_HDR_LEN)); /*beacon len and RXVector len */ ++ /* Discarding beacon frames when RxLength is greater than buflen. */ ++ if ((RxDesc->RxLength + RX_PRIV_HDR_LEN) >= buflen) ++ { ++ PRINT("RecvBcn: RxLength =%lu\n", (SYS_TYPE)RxDesc->RxLength); ++ os_skb_free(skb); ++ return; ++ } ++ os_skb_put(skb, (RxDesc->RxLength + RX_PRIV_HDR_LEN)); /* beacon len and RXVector len */ + +#if defined (HAL_FPGA_VER) -+ skb_queue_tail(&hif->bcn_list_head, skb); -+ up(&hal_priv->rx_thread_sem); ++ skb_queue_tail(&hif->bcn_list_head, skb); ++ up(&hal_priv->rx_thread_sem); +#elif defined (HAL_SIM_VER) -+ hal_soft_rx_cs(hal_priv, skb); ++ hal_soft_rx_cs(hal_priv, skb); +#endif +} + -+/*Rx packets to static FiFo */ ++/* Rx packets to static FiFo. */ +void hi_soft_rx_irq(struct hal_private *hal_priv, unsigned int rx_fw_ptr) +#if defined (HAL_FPGA_VER) +{ -+ unsigned int rx_total_len = 0, rxmax_offset = 0; -+ struct hw_interface* hif = NULL; -+ unsigned char hal_open = 0; -+ unsigned int rx_fifo_fw = 0; -+ int remain_len = 0, read_len = 0; ++ unsigned int rx_total_len, rxmax_offset; ++ struct hw_interface* hif; ++ unsigned char hal_open; ++ unsigned int rx_fifo_fw; ++ int remain_len, read_len; + int host_remain_len = 0; -+ unsigned int fifo_empty_size = 0; -+ unsigned int rx_fifo_fdt = 0; -+ unsigned int rx_fifo_fdh = 0; ++ unsigned int fifo_empty_size; ++ unsigned int rx_fifo_fdt; ++ unsigned int rx_fifo_fdh; +#if (SDIO_UPDATE_HOST_RDPTR != 0) -+ int host_wrapper_len = 0; ++ int host_wrapper_len; +#endif + static unsigned char print_cnt = 0; + @@ -73780,36 +74389,43 @@ index 000000000000..1727d4a3ea37 + rxmax_offset = hif->hw_config.rxpagenum * PAGE_LEN; + rx_fifo_fw = rx_fw_ptr * 4; + -+ /*if slave rx fifo is empty or hal not open*/ ++ /* if slave rx fifo is empty or hal not open */ + if ((hal_priv->rx_host_offset == rx_fifo_fw) || !hal_open) + { + if (print_cnt++ == 200) { -+ AML_OUTPUT("rx_host_offset:%d, rx_fifo_fw:%d, hal_open:%d\n", hal_priv->rx_host_offset, rx_fifo_fw, hal_open); ++ AML_OUTPUT("rx_host_offset:%d, rx_fifo_fw:%d, hal_open:%d\n", ++ hal_priv->rx_host_offset, rx_fifo_fw, hal_open); + } + return; + } + -+ rx_fifo_fdt = hif->rx_fifo.FDT; ++ rx_fifo_fdt = hif->rx_fifo.FDT; + rx_fifo_fdh = hif->rx_fifo.FDH; + -+ /* write packets to FDT, and rx process get mpdus from FDH. The buffer space from FDT to FDH is empty.*/ -+ fifo_empty_size = CIRCLE_Subtract2(rx_fifo_fdh, rx_fifo_fdt, hif->rx_fifo.FDN); -+ rx_total_len = CIRCLE_Subtract2(rx_fifo_fw, hal_priv->rx_host_offset, rxmax_offset); -+ /*pulse FUNC6_BLKSIZE is preventable_sdio_bottom_read over write rx fifo data that not handle*/ ++ /* Write packets to FDT, and rx process get mpdus from FDH. ++ * The buffer space from FDT to FDH is empty. ++ */ ++ fifo_empty_size = CIRCLE_Subtract2(rx_fifo_fdh, rx_fifo_fdt, ++ hif->rx_fifo.FDN); ++ rx_total_len = CIRCLE_Subtract2(rx_fifo_fw, hal_priv->rx_host_offset, ++ rxmax_offset); ++ /* pulse FUNC6_BLKSIZE is preventable_sdio_bottom_read over ++ * write rx fifo data that not handle. ++ */ + + if (fifo_empty_size <= rx_total_len + FUNC6_BLKSIZE) + { -+ //printk("host rx buf full\n"); ++ /* pr_debug("host rx buf full\n"); */ + up(&hal_priv->rx_thread_sem); + return ; + } + remain_len = rx_total_len; -+ /*HalPriv->rx_host_offset is host maintain pointer of sram and point to next frame. */ ++ /* HalPriv->rx_host_offset is host maintain pointer of sram and point to next frame. */ + do + { + read_len = (remain_len > (READ_LEN_PER_ONCE + READ_BUFFERABLE_LEN)) ? -+ READ_LEN_PER_ONCE : remain_len; -+ /*check if host rx_fifo wrapper around. if yes, just read remain of host rx fifo. */ ++ READ_LEN_PER_ONCE : remain_len; ++ /* check if host rx_fifo wrapper around. if yes, just read remain of host rx fifo. */ + host_remain_len = hif->rx_fifo.FDN - rx_fifo_fdt; + if (read_len >= host_remain_len) + { @@ -73822,9 +74438,10 @@ index 000000000000..1727d4a3ea37 + read_len = host_remain_len; +#endif + } -+ /*Read rx packets. but during suspend, we can't get packets by this function, ATTENTION */ ++ /* Read rx packets. but during suspend, we can't get packets by this function, ATTENTION */ + hif->hif_ops.hi_rcv_frame((hif->rx_fifo.FDB + rx_fifo_fdt), -+ (unsigned char *)(SYS_TYPE)hal_priv->rx_host_offset, read_len); ++ (unsigned char *)(SYS_TYPE)hal_priv->rx_host_offset, ++ read_len); + +#if (SDIO_UPDATE_HOST_RDPTR != 0) + if (host_wrapper_len > 0) @@ -73838,7 +74455,8 @@ index 000000000000..1727d4a3ea37 + if (host_wrapper_len > remain_len - read_len) + host_wrapper_len = remain_len - read_len; + -+ memcpy(hif->rx_fifo.FDB, (hif->rx_fifo.FDB + hif->rx_fifo.FDN), host_wrapper_len); ++ memcpy(hif->rx_fifo.FDB, (hif->rx_fifo.FDB + hif->rx_fifo.FDN), ++ host_wrapper_len); + read_len += host_wrapper_len; + + host_wrapper_len = 0; @@ -73847,17 +74465,18 @@ index 000000000000..1727d4a3ea37 + + rx_fifo_fdt = CIRCLE_Addition2(rx_fifo_fdt, read_len, hif->rx_fifo.FDN); + -+ /*Update host read pointer*/ -+ hal_priv->rx_host_offset = CIRCLE_Addition2(hal_priv->rx_host_offset, read_len, rxmax_offset); ++ /* Update host read pointer. */ ++ hal_priv->rx_host_offset = CIRCLE_Addition2(hal_priv->rx_host_offset, ++ read_len, rxmax_offset); + + remain_len -= read_len; + } + while (remain_len > 0); + +#if (SDIO_UPDATE_HOST_RDPTR == 0) -+ /*if 1, update host read pointer by sdio instead of host.*/ ++ /* if 1, update host read pointer by sdio instead of host. */ + { -+ unsigned int write_data = 0; ++ unsigned int write_data; + + write_data = BIT(31) | (hal_priv->rx_host_offset >> 2); + hif->hif_ops.hi_write_word(RG_WIFI_IF_RXPAGE_BUF_RDPTR, write_data); @@ -73866,14 +74485,15 @@ index 000000000000..1727d4a3ea37 + /* during suspend, we can't get pkt by sdio and just skip update rx_fifo.FDT */ + if (atomic_read(&hal_priv->drv_suspend_cnt) == 0) + { -+ hif->rx_fifo.FDT = CIRCLE_Addition2(hif->rx_fifo.FDT, rx_total_len, hif->rx_fifo.FDN); ++ hif->rx_fifo.FDT = CIRCLE_Addition2(hif->rx_fifo.FDT, rx_total_len, ++ hif->rx_fifo.FDN); + } + up(&hal_priv->rx_thread_sem); +} -+#elif defined (HAL_SIM_VER)/*End HAL_FPGA_VER*/ ++#elif defined (HAL_SIM_VER)/* End HAL_FPGA_VER */ +{ -+ static unsigned char rx_buffer[DEFAULT_RXPAGENUM * PAGE_LEN] = {0}; -+ /*shijie.chen add, test host recv block data via function2 one time. */ ++ static unsigned char rx_buffer[DEFAULT_RXPAGENUM * PAGE_LEN] = { 0 }; ++ /* shijie.chen add, test host recv block data via function2 one time. */ + HW_RxDescripter_bit *RxPrivHdr = NULL; + struct hw_interface *hif = NULL; + unsigned char hal_open = false; @@ -73893,36 +74513,45 @@ index 000000000000..1727d4a3ea37 + return; + } + -+ rx_total_len = CIRCLE_Subtract2(rx_fifo_fw, hal_priv->rx_host_offset, rxmax_offset); ++ rx_total_len = CIRCLE_Subtract2(rx_fifo_fw, hal_priv->rx_host_offset, ++ rxmax_offset); + remain_len = rx_total_len; -+ /*HalPriv->rx_host_offset is host maintain pointer of sram and point to next frame. */ ++ /* HalPriv->rx_host_offset is host maintain pointer of sram and ++ * point to next frame. ++ */ + do + { -+ read_len = (remain_len > READ_LEN_PER_ONCE) ? READ_LEN_PER_ONCE : remain_len; -+ /*check if wrapper around. if yes, just read remain of rx fifo. */ ++ read_len = (remain_len > READ_LEN_PER_ONCE) ? READ_LEN_PER_ONCE : ++ remain_len; ++ /* Check if wrapper around. if yes, just read remain of rx fifo. */ + if (hal_priv->rx_host_offset + read_len > rxmax_offset) + { -+ /*for stimulus, we may read X without initializing. And when rtl support wrapper around addr, -+ * we shall read by block mode to avoid sending cmd53 with a address beyond the rx buffer.Sdio -+ * rtl can't do wrapper around with this address automatically*/ ++ /* For stimulus, we may read X without initializing. And when ++ * rtl support wrapper around addr, we shall read by block mode ++ * to avoid sending cmd53 with a address beyond the rx buffer. Sdio ++ * rtl can't do wrapper around with this address automatically. ++ */ +#if (RTL_WRAPPER_AROUND_ADDR == 0) + read_len = rxmax_offset - hal_priv->rx_host_offset; +#endif + hif->hif_ops.hi_rcv_frame((unsigned char *)rx_buffer_tmp, -+ (unsigned char *)(SYS_TYPE)hal_priv->rx_host_offset, ALIGN(read_len, PAGE_LEN)); -+ /*herer, HalPriv->rx_host_offset will equal to 0 after CIRCLE_Addition*/ ++ (unsigned char *)(SYS_TYPE)hal_priv->rx_host_offset, ++ ALIGN(read_len, PAGE_LEN)); ++ /* Here, HalPriv->rx_host_offset will equal to 0 after CIRCLE_Addition. */ + } + else + { + hif->hif_ops.hi_rcv_frame((unsigned char *)rx_buffer_tmp, -+ (unsigned char *)(SYS_TYPE)hal_priv->rx_host_offset, read_len); ++ (unsigned char *)(SYS_TYPE)hal_priv->rx_host_offset, ++ read_len); + } -+ /*Update host read pointer*/ -+ hal_priv->rx_host_offset = CIRCLE_Addition2(hal_priv->rx_host_offset, read_len, rxmax_offset); ++ /* Update host read pointer. */ ++ hal_priv->rx_host_offset = CIRCLE_Addition2(hal_priv->rx_host_offset, ++ read_len, rxmax_offset); +#if (SDIO_UPDATE_HOST_RDPTR == 0) -+ /*if 1, update host read pointer by sdio instead of host.*/ ++ /* if 1, update host read pointer by sdio instead of host. */ + { -+ unsigned int write_data = 0; ++ unsigned int write_data; + + write_data = BIT(31) | (hal_priv->rx_host_offset >> 2); + hif->hif_ops.hi_write_word(RG_WIFI_IF_RXPAGE_BUF_RDPTR, write_data); @@ -73933,18 +74562,20 @@ index 000000000000..1727d4a3ea37 + } + while (remain_len > 0); + -+ /*Update host read pointer*/ ++ /* Update host read pointer. */ + while ((rx_buffer_tmp != rx_buffer) && (frame_offset != rx_total_len)) + { + RxPrivHdr = (HW_RxDescripter_bit *)&rx_buffer[frame_offset]; + framelen = RxPrivHdr->RxLength + sizeof(HW_RxDescripter_bit); ++ OS_SKBBUF * skb; + + if (RxPrivHdr->upload2host_flag != 1) + { + frame_offset += ALIGN(framelen, 4); + continue; + } -+ OS_SKBBUF * skb = OS_SKBBUF_ALLOC(framelen); ++ ++ skb = OS_SKBBUF_ALLOC(framelen); + if (skb == NULL) + { + PRINT("Couldn't allocate RX frame"); @@ -73955,11 +74586,11 @@ index 000000000000..1727d4a3ea37 + if (aml_wifi_is_enable_rf_test()) + b2b_rx_throughput_calc(RxPrivHdr); + -+ /*SKB PUT one by one */ ++ /* SKB PUT one by one. */ + OS_SKBBUF_PUT(skb, framelen); + hal_soft_rx_cs(hal_priv, skb); + -+ /*cursor for rx_buffer*/ ++ /* cursor for rx_buffer. */ + frame_offset += ALIGN(framelen, 4); + } + memset(rx_buffer, 0, frame_offset); @@ -73969,13 +74600,12 @@ index 000000000000..1727d4a3ea37 +void hi_irq_task(struct hal_private *hal_priv) +#if defined (HAL_FPGA_VER) +{ -+ unsigned int intr_status =0; ++ unsigned int intr_status; + unsigned char loop_count = 0; + unsigned char int_loop_num = 0; -+ unsigned int gpio_en = 0; -+// unsigned char i; -+// unsigned char rx_loop_num = 0; -+// unsigned int intr_status_tmp = 0; ++ //unsigned char i; ++ //unsigned char rx_loop_num = 0; ++ //unsigned int intr_status_tmp = 0; +#ifdef POWER_SAVE_NO_SDIO + unsigned int ptr = 0; +#endif @@ -74012,7 +74642,7 @@ index 000000000000..1727d4a3ea37 + if (hal_priv->hal_fw_ps_status == HAL_FW_IN_SLEEP) + hal_priv->hal_fw_ps_status = HAL_FW_IN_AWAKE; + POWER_END_LOCK(); -+ hal_priv->hal_call_back->intr_gotowakeup(hal_priv->drv_priv,1); ++ hal_priv->hal_call_back->intr_gotowakeup(hal_priv->drv_priv, 1); + } + + if (intr_status & GOTO_WAKEUP_VID0) @@ -74026,13 +74656,14 @@ index 000000000000..1727d4a3ea37 + if (hal_priv->hal_fw_ps_status == HAL_FW_IN_SLEEP) + hal_priv->hal_fw_ps_status = HAL_FW_IN_AWAKE; + POWER_END_LOCK(); -+ hal_priv->hal_call_back->intr_gotowakeup(hal_priv->drv_priv,0); ++ hal_priv->hal_call_back->intr_gotowakeup(hal_priv->drv_priv, 0); + } + + + if (intr_status & RX_OK) + { -+ unsigned int rx_fw_ptr = (intr_status & FW_RX_PTR_MASK) >> FW_RX_PTR_OFFSET; ++ unsigned int rx_fw_ptr = (intr_status & FW_RX_PTR_MASK) >> ++ FW_RX_PTR_OFFSET; + + hal_priv->sts_hirq[hirq_rx_ok_idx]++; + hi_soft_rx_irq(hal_priv, rx_fw_ptr); @@ -74066,12 +74697,12 @@ index 000000000000..1727d4a3ea37 + if (intr_status & BEACON_SEND_OK_VID1) + { + hal_priv->sts_hirq[hirq_bcn_send_ok_vid1_idx]++; -+ hal_priv->hal_call_back->intr_bcn_send(hal_priv->drv_priv,1); ++ hal_priv->hal_call_back->intr_bcn_send(hal_priv->drv_priv, 1); + } + else if (intr_status & BEACON_SEND_OK_VID0) + { + hal_priv->sts_hirq[hirq_bcn_send_ok_vid0_idx]++; -+ hal_priv->hal_call_back->intr_bcn_send(hal_priv->drv_priv,0); ++ hal_priv->hal_call_back->intr_bcn_send(hal_priv->drv_priv, 0); + } + + if (intr_status & P2P_OPPPS_CWEND_VID1) @@ -74082,7 +74713,7 @@ index 000000000000..1727d4a3ea37 + hal_priv->hal_fw_ps_status = HAL_FW_IN_SLEEP; + POWER_END_LOCK(); +#endif -+ hal_priv->hal_call_back->intr_p2p_opps_cwend(hal_priv->drv_priv,1); ++ hal_priv->hal_call_back->intr_p2p_opps_cwend(hal_priv->drv_priv, 1); + } + + if (intr_status & P2P_NoA_START_VID1) @@ -74093,7 +74724,7 @@ index 000000000000..1727d4a3ea37 + hal_priv->hal_fw_ps_status = HAL_FW_IN_SLEEP; + POWER_END_LOCK(); +#endif -+ hal_priv->hal_call_back->intr_p2p_noa_start(hal_priv->drv_priv,1); ++ hal_priv->hal_call_back->intr_p2p_noa_start(hal_priv->drv_priv, 1); + } + + if (intr_status & FW_EVENT) @@ -74130,7 +74761,7 @@ index 000000000000..1727d4a3ea37 + if (intr_status & COEX_INFO_BT_LK_INFO) + { + PRINT("--->BT link status change\n"); -+ hal_priv->hal_call_back->drv_intr_bt_info_change(hal_priv->drv_priv, 0, 1); ++ hal_priv->hal_call_back->drv_intr_bt_info_change(hal_priv->drv_priv, 0, 1); + } + + @@ -74150,28 +74781,35 @@ index 000000000000..1727d4a3ea37 + + if (loop_count > int_loop_num) + { -+ /*Enable Interrupt. */ ++ unsigned int gpio_en; ++ ++ /* Enable Interrupt. */ + gpio_en = SDIO_FW2HOST_GPIO_EN; + hi_clear_irq_status(SDIO_FW2HOST_EN); + return; + } -+// goto int_loop; ++ /* goto int_loop; */ +} +#elif defined (HAL_SIM_VER) +{ -+ unsigned int intr_status = 0; ++ struct hw_interface *hif; ++ unsigned int intr_status; ++ + intr_status = hi_get_irq_status(); -+ struct hw_interface* hif = hif_get_hw_interface(); + if (intr_status == 0) + { + return; + } + ++ hif = hif_get_hw_interface(); ++ +#ifdef STA1_VMAC0_PARAM2 -+ if(STA1_VMAC0_PARAM2 == 1){ -+ int loop=5; -+ while(loop-->0){ ++ if (STA1_VMAC0_PARAM2 == 1) { ++ int loop = 5; ++ ++ while (loop-- > 0) { + unsigned int data1, data2, data3; ++ + intr_status = hi_get_irq_status(); + + data1 = hif->hif_ops.hi_read_word(RG_MAC_RX_WPTR); @@ -74179,11 +74817,13 @@ index 000000000000..1727d4a3ea37 + data3 = hif->hif_ops.hi_read_word(RG_MAC_RX_HRPTR); + data2 = (intr_status & FW_RX_PTR_MASK) >> FW_RX_PTR_OFFSET; + hi_soft_rx_irq(hal_priv, data2); -+ PRINT("===1============>intr_status %x,%x,%x,%x\n",intr_status,data1,data2,data3); ++ PRINT("===1============>intr_status %x,%x,%x,%x\n", ++ intr_status, data1, data2, data3); + } -+ hi_clear_irq_status(SDIO_FW2HOST_EN|intr_status); ++ ++ hi_clear_irq_status(SDIO_FW2HOST_EN | intr_status); + intr_status = hi_get_irq_status(); -+ PRINT("===========********===>intr_status %x\n",intr_status); ++ PRINT("===========********===>intr_status %x\n", intr_status); + if(intr_status & BIT(1)){ + Test_Done(1); + } @@ -74197,16 +74837,16 @@ index 000000000000..1727d4a3ea37 + static int resettest = 0; + unsigned int to_sdio = 0; + -+ if (intr_status&RX_OK){ -+ if(resettest <1){ ++ if (intr_status & RX_OK) { ++ if (resettest < 1) { + resettest++; + } -+ else if(resettest == 100){ ++ else if (resettest == 100) { + } + else { + resettest = 100; -+ int loop=1; -+ unsigned int data1,data2,data3 ; ++ int loop = 1; ++ unsigned int data1, data2, data3 ; + struct hw_interface* hif = hif_get_hw_interface(); + /* while(loop-->0)*/ + { @@ -74356,73 +74996,72 @@ index 000000000000..1727d4a3ea37 +static void hif_get_mac_sts(void) +{ +#if defined (HAL_FPGA_VER) -+ unsigned int rd_data = 0; -+ int i = 0; ++ int i; + struct hw_interface* hif = hif_get_hw_interface(); + struct hif_reg_info rd_info[HIF_RD_MAC_REG_MAX]; +/* -+ char* irq_prt_info[IDX_TXSTART_IT] = "TXSTART"; -+ char* irq_prt_info[IDX_TXEND_IT] = "TXEND"; -+ char* irq_prt_info[IDX_TXENDERR] = "TXENDERR"; -+ char* irq_prt_info[IDX_ACKTO_IT] = "ACKTO_IT"; -+ char* irq_prt_info[IDX_TXCOL_FLAG] = "TXCOL"; -+ char* irq_prt_info[IDX_RXSTART_IT] = "RXSTART"; -+ char* irq_prt_info[IDX_RXEND_IT] = "RXEND"; -+ char* irq_prt_info[IDX_RXMPDU_OK] = "RXMPDU_OK"; -+ char* irq_prt_info[IDX_UNICAST] = "UNICAST"; -+ char* irq_prt_info[IDX_SRAMBUF_FULL] = "SRAMBUF_FULL"; -+ char* irq_prt_info[IDX_SWIRQ] = "SWIRQ"; -+ char* irq_prt_info[IDX_TX_FRAME_TYPE] = "TX_FRAME_TYPE"; -+ char* irq_prt_info[IDX_ABSCOUNT_INTR] = "ABSCOUNT_INTR"; -+ char* irq_prt_info[IDX_FIQ_ENABLE] = "FIQ_ENABLE"; -+ char* irq_prt_info[IDX_FIAC_FW_TIMEOUT_ERR] = "FIAC_FW_TIMEOUT_ERR"; -+ char* irq_prt_info[IDX_HW_TIMEOUT_ERR] = "HW_TIMEOUT_ERR"; -+ char* irq_prt_info[IDX_TX_WD_TIMEOUT_ERR] = "TX_WD_TIMEOUT_ERR"; -+ char* irq_prt_info[IDX_TXINVALIDLEN_ERR] = "TXINVALIDLEN_ERR"; -+ char* irq_prt_info[IDX_TX_KEYMISS] = "TX_KEYMISS"; -+ char* irq_prt_info[IDX_TXIMSTOP_ERR] = "TXIMSTOP_ERR"; -+ char* irq_prt_info[IDX_TX_PHYERROR] = "TX_PHYERROR"; -+ char* irq_prt_info[IDX_TXCOL_QUEUE] = "TXCOL_QUEUE"; -+ char* irq_prt_info[IDX_TX_NOT_GRANT] = "TX_NOT_GRANT"; -+ char* irq_prt_info[IDX_SRAMBUF_FULL_ERR] = "SRAMBUF_FULL_ERR"; -+ char* irq_prt_info[IDX_FCSERR] = "FCSERR"; -+ char* irq_prt_info[IDX_RXFIFOOV] = "RXFIFOOV"; -+ char* irq_prt_info[IDX_RX_WD_TIMEOUT_ERR] = "RX_WD_TIMEOUT_ERR"; -+ char* irq_prt_info[IDX_SHORT_LENGTH] = "SHORT_LENGTH "; -+ char* irq_prt_info[IDX_LENGTH_ERROR] = "LENGTH_ERROR"; -+ char* irq_prt_info[IDX_RX_PHYERROR] = "RX_PHYERROR"; ++ char* irq_prt_info[IDX_TXSTART_IT] = "TXSTART"; ++ char* irq_prt_info[IDX_TXEND_IT] = "TXEND"; ++ char* irq_prt_info[IDX_TXENDERR] = "TXENDERR"; ++ char* irq_prt_info[IDX_ACKTO_IT] = "ACKTO_IT"; ++ char* irq_prt_info[IDX_TXCOL_FLAG] = "TXCOL"; ++ char* irq_prt_info[IDX_RXSTART_IT] = "RXSTART"; ++ char* irq_prt_info[IDX_RXEND_IT] = "RXEND"; ++ char* irq_prt_info[IDX_RXMPDU_OK] = "RXMPDU_OK"; ++ char* irq_prt_info[IDX_UNICAST] = "UNICAST"; ++ char* irq_prt_info[IDX_SRAMBUF_FULL] = "SRAMBUF_FULL"; ++ char* irq_prt_info[IDX_SWIRQ] = "SWIRQ"; ++ char* irq_prt_info[IDX_TX_FRAME_TYPE] = "TX_FRAME_TYPE"; ++ char* irq_prt_info[IDX_ABSCOUNT_INTR] = "ABSCOUNT_INTR"; ++ char* irq_prt_info[IDX_FIQ_ENABLE] = "FIQ_ENABLE"; ++ char* irq_prt_info[IDX_FIAC_FW_TIMEOUT_ERR] = "FIAC_FW_TIMEOUT_ERR"; ++ char* irq_prt_info[IDX_HW_TIMEOUT_ERR] = "HW_TIMEOUT_ERR"; ++ char* irq_prt_info[IDX_TX_WD_TIMEOUT_ERR] = "TX_WD_TIMEOUT_ERR"; ++ char* irq_prt_info[IDX_TXINVALIDLEN_ERR] = "TXINVALIDLEN_ERR"; ++ char* irq_prt_info[IDX_TX_KEYMISS] = "TX_KEYMISS"; ++ char* irq_prt_info[IDX_TXIMSTOP_ERR] = "TXIMSTOP_ERR"; ++ char* irq_prt_info[IDX_TX_PHYERROR] = "TX_PHYERROR"; ++ char* irq_prt_info[IDX_TXCOL_QUEUE] = "TXCOL_QUEUE"; ++ char* irq_prt_info[IDX_TX_NOT_GRANT] = "TX_NOT_GRANT"; ++ char* irq_prt_info[IDX_SRAMBUF_FULL_ERR] = "SRAMBUF_FULL_ERR"; ++ char* irq_prt_info[IDX_FCSERR] = "FCSERR"; ++ char* irq_prt_info[IDX_RXFIFOOV] = "RXFIFOOV"; ++ char* irq_prt_info[IDX_RX_WD_TIMEOUT_ERR] = "RX_WD_TIMEOUT_ERR"; ++ char* irq_prt_info[IDX_SHORT_LENGTH] = "SHORT_LENGTH "; ++ char* irq_prt_info[IDX_LENGTH_ERROR] = "LENGTH_ERROR"; ++ char* irq_prt_info[IDX_RX_PHYERROR] = "RX_PHYERROR"; +*/ -+ rd_info[0].addr= RG_MAC_IRQ_STATUS_CNT0; -+ rd_info[1].addr= RG_MAC_IRQ_STATUS_CNT1; -+ rd_info[2].addr= RG_MAC_IRQ_STATUS_CNT2; -+ rd_info[3].addr= RG_MAC_IRQ_STATUS_CNT3; -+ -+ rd_info[4].addr= RG_MAC_FRM_TYPE_CNT0; -+ rd_info[5].addr= RG_MAC_FRM_TYPE_CNT1; -+ rd_info[6].addr= RG_MAC_FRM_TYPE_CNT2; -+ rd_info[7].addr= RG_MAC_FRM_TYPE_CNT3; -+ -+ rd_info[8].addr= RG_MAC_TX_STT_CHK; -+ rd_info[9].addr= RG_MAC_TX_END_CHK; -+ rd_info[10].addr= RG_MAC_TX_EN_CHK; -+ rd_info[11].addr= RG_MAC_TX_ENWR_CHK; -+ -+ rd_info[12].addr= RG_MAC_RX_DATA_LOCAL_CNT; -+ rd_info[13].addr= RG_MAC_RX_DATA_OTHER_CNT; -+ rd_info[14].addr= RG_MAC_RX_DATA_MUTIL_CNT; -+ -+ rd_info[0].prt= "irq_cnt_0"; -+ rd_info[1].prt= "irq_cnt_1"; -+ rd_info[2].prt= "irq_cnt_2"; -+ rd_info[3].prt= "irq_cnt_3"; -+ -+ rd_info[4].prt= "rx_rts"; -+ rd_info[5].prt= "rx_cts"; -+ rd_info[6].prt= "rx_ack"; -+ rd_info[7].prt= "rx_qos_data"; -+ -+ rd_info[8].prt= "tx_stt_chk"; -+ rd_info[9].prt= "tx_end_chk"; ++ rd_info[0].addr = RG_MAC_IRQ_STATUS_CNT0; ++ rd_info[1].addr = RG_MAC_IRQ_STATUS_CNT1; ++ rd_info[2].addr = RG_MAC_IRQ_STATUS_CNT2; ++ rd_info[3].addr = RG_MAC_IRQ_STATUS_CNT3; ++ ++ rd_info[4].addr = RG_MAC_FRM_TYPE_CNT0; ++ rd_info[5].addr = RG_MAC_FRM_TYPE_CNT1; ++ rd_info[6].addr = RG_MAC_FRM_TYPE_CNT2; ++ rd_info[7].addr = RG_MAC_FRM_TYPE_CNT3; ++ ++ rd_info[8].addr = RG_MAC_TX_STT_CHK; ++ rd_info[9].addr = RG_MAC_TX_END_CHK; ++ rd_info[10].addr = RG_MAC_TX_EN_CHK; ++ rd_info[11].addr = RG_MAC_TX_ENWR_CHK; ++ ++ rd_info[12].addr = RG_MAC_RX_DATA_LOCAL_CNT; ++ rd_info[13].addr = RG_MAC_RX_DATA_OTHER_CNT; ++ rd_info[14].addr = RG_MAC_RX_DATA_MUTIL_CNT; ++ ++ rd_info[0].prt = "irq_cnt_0"; ++ rd_info[1].prt = "irq_cnt_1"; ++ rd_info[2].prt = "irq_cnt_2"; ++ rd_info[3].prt = "irq_cnt_3"; ++ ++ rd_info[4].prt = "rx_rts"; ++ rd_info[5].prt = "rx_cts"; ++ rd_info[6].prt = "rx_ack"; ++ rd_info[7].prt = "rx_qos_data"; ++ ++ rd_info[8].prt = "tx_stt_chk"; ++ rd_info[9].prt = "tx_end_chk"; + rd_info[10].prt = "tx_en_chk"; + rd_info[11].prt = "tx_enwr_chk"; + @@ -74432,26 +75071,28 @@ index 000000000000..1727d4a3ea37 + + for (i = 0; i < HIF_RD_MAC_REG_MAX; i++) + { ++ unsigned int rd_data; ++ + rd_data = hif->hif_ops.hi_read_word(rd_info[i].addr); + + if(rd_info[i].addr == RG_MAC_RX_DATA_LOCAL_CNT) + { + rd_data = (rd_data << 3 ) >> 3; + } -+ else if(rd_info[i].addr == RG_MAC_RX_DATA_OTHER_CNT || ++ else if(rd_info[i].addr == RG_MAC_RX_DATA_OTHER_CNT || + rd_info[i].addr == RG_MAC_RX_DATA_MUTIL_CNT ) + { + rd_data = (rd_data << 2 ) >> 2; + } + else if (rd_info[i].addr == RG_MAC_TX_STT_CHK || -+ rd_info[i].addr == RG_MAC_TX_END_CHK|| -+ rd_info[i].addr == RG_MAC_TX_EN_CHK|| -+ rd_info[i].addr == RG_MAC_TX_ENWR_CHK) ++ rd_info[i].addr == RG_MAC_TX_END_CHK || ++ rd_info[i].addr == RG_MAC_TX_EN_CHK || ++ rd_info[i].addr == RG_MAC_TX_ENWR_CHK) + { + rd_data = (rd_data << 6 ) >> 6; + } + -+ printk("%s, %d\n", rd_info[i].prt, rd_data); ++ pr_debug("%s, %d\n", rd_info[i].prt, rd_data); + } +#endif +} @@ -74460,91 +75101,95 @@ index 000000000000..1727d4a3ea37 +{ +#if defined (HAL_FPGA_VER) + struct hif_reg_info rd_info[HIF_RD_PHY_REG_MAX]; -+ int i = 0; -+ unsigned int rd_data = 0; -+ struct hw_interface* hif = hif_get_hw_interface(); -+ -+ rd_info[0].addr= RG_AGC_STATE; -+ rd_info[1].addr= RG_AGC_OB_IC_GAIN; -+ rd_info[2].addr= RG_AGC_WATCH1; -+ rd_info[3].addr= RG_AGC_WATCH2; ++ int i; ++ struct hw_interface *hif = hif_get_hw_interface(); ++ ++ rd_info[0].addr = RG_AGC_STATE; ++ rd_info[1].addr = RG_AGC_OB_IC_GAIN; ++ rd_info[2].addr = RG_AGC_WATCH1; ++ rd_info[3].addr = RG_AGC_WATCH2; + -+ rd_info[4].addr= RG_AGC_WATCH3; -+ rd_info[5].addr= RG_AGC_WATCH4; -+ rd_info[6].addr= RG_AGC_OB_ANT_NFLOOR; -+ rd_info[7].addr= RG_AGC_OB_CCA_RES; ++ rd_info[4].addr = RG_AGC_WATCH3; ++ rd_info[5].addr = RG_AGC_WATCH4; ++ rd_info[6].addr = RG_AGC_OB_ANT_NFLOOR; ++ rd_info[7].addr = RG_AGC_OB_CCA_RES; + -+ rd_info[8].addr= RG_AGC_OB_CCA_COND01; -+ rd_info[9].addr= RG_AGC_OB_CCA_COND23; ++ rd_info[8].addr = RG_AGC_OB_CCA_COND01; ++ rd_info[9].addr = RG_AGC_OB_CCA_COND23; + + for (i = 0; i < HIF_RD_PHY_REG_MAX; i++) + { ++ unsigned int rd_data; ++ + rd_data = hif->hif_ops.hi_read_word(rd_info[i].addr); -+ if(rd_info[i].addr == RG_AGC_STATE) ++ if (rd_info[i].addr == RG_AGC_STATE) + { -+ struct sts_agc_state* agc_state = (struct sts_agc_state*) &rd_data; -+ printk("agc-state=0x%x,\n", agc_state->state); ++ struct sts_agc_state *agc_state = (struct sts_agc_state *)&rd_data; ++ pr_debug("agc-state=0x%x,\n", agc_state->state); + } + -+ if(rd_info[i].addr == RG_AGC_OB_IC_GAIN) ++ if (rd_info[i].addr == RG_AGC_OB_IC_GAIN) + { -+ struct sts_agc_ob_ic_gain* agc_ob_ic_gain =(struct sts_agc_ob_ic_gain*)&rd_data; -+ printk("r_agc_fine_db=0x%x, r_rx_ic_gain=0x%x,\n", ++ struct sts_agc_ob_ic_gain *agc_ob_ic_gain = (struct sts_agc_ob_ic_gain *)&rd_data; ++ pr_debug("r_agc_fine_db=0x%x, r_rx_ic_gain=0x%x,\n", + agc_ob_ic_gain->r_agc_fine_db, agc_ob_ic_gain->r_rx_ic_gain); + } + -+ if(rd_info[i].addr == RG_AGC_WATCH1) ++ if (rd_info[i].addr == RG_AGC_WATCH1) + { -+ struct sts_agc_watch1* agc_watch1 = (struct sts_agc_watch1*)&rd_data; -+ printk("r_pow_sat_db=0x%x, r_primary20_db=0x%x,\n", -+ agc_watch1->r_pow_sat_db, agc_watch1->r_primary20_db); ++ struct sts_agc_watch1 *agc_watch1 = (struct sts_agc_watch1 *)&rd_data; ++ pr_debug("r_pow_sat_db=0x%x, r_primary20_db=0x%x,\n", ++ agc_watch1->r_pow_sat_db, agc_watch1->r_primary20_db); + } + -+ if(rd_info[i].addr == RG_AGC_WATCH2) ++ if (rd_info[i].addr == RG_AGC_WATCH2) + { -+ struct sts_agc_watch2* agc_watch2 = (struct sts_agc_watch2*)&rd_data; -+ printk("r_primary40_db=0x%x, r_primary80_db=0x%x,\n", ++ struct sts_agc_watch2 *agc_watch2 = (struct sts_agc_watch2 *)&rd_data; ++ pr_debug("r_primary40_db=0x%x, r_primary80_db=0x%x,\n", + agc_watch2->r_primary40_db, agc_watch2->r_primary80_db); + } + -+ if(rd_info[i].addr == RG_AGC_WATCH3) ++ if (rd_info[i].addr == RG_AGC_WATCH3) + { -+ struct sts_agc_watch3*agc_watch3 = (struct sts_agc_watch3*)&rd_data; -+ printk("r_rssi0_db=0x%x, r_rssi1_db=0x%x,\n", ++ struct sts_agc_watch3 *agc_watch3 = (struct sts_agc_watch3 *)&rd_data; ++ pr_debug("r_rssi0_db=0x%x, r_rssi1_db=0x%x,\n", + agc_watch3->r_rssi0_db, agc_watch3->r_rssi1_db); + } + -+ if(rd_info[i].addr == RG_AGC_WATCH4) ++ if (rd_info[i].addr == RG_AGC_WATCH4) + { -+ struct sts_agc_watch4* agc_watch4 = (struct sts_agc_watch4*)&rd_data; ++ struct sts_agc_watch4 *agc_watch4 = (struct sts_agc_watch4 *)&rd_data; + -+ printk("r_rssi2_db=0x%x, r_rssi3_db=0x%x,\n", -+ agc_watch4->r_rssi2_db, agc_watch4->r_rssi3_db); ++ pr_debug("r_rssi2_db=0x%x, r_rssi3_db=0x%x,\n", ++ agc_watch4->r_rssi2_db, agc_watch4->r_rssi3_db); + } + -+ if(rd_info[i].addr == RG_AGC_OB_ANT_NFLOOR) ++ if (rd_info[i].addr == RG_AGC_OB_ANT_NFLOOR) + { -+ struct sts_ob_ant_nfloor* ob_ant_nfloor = (struct sts_ob_ant_nfloor*)&rd_data; -+ printk("r_ant_nfloor_qdb=0x%x, r_snr_qdb=0x%x,\n", ob_ant_nfloor->r_ant_nfloor_qdb, ob_ant_nfloor->r_snr_qdb); ++ struct sts_ob_ant_nfloor *ob_ant_nfloor = (struct sts_ob_ant_nfloor *)&rd_data; ++ pr_debug("r_ant_nfloor_qdb=0x%x, r_snr_qdb=0x%x,\n", ++ ob_ant_nfloor->r_ant_nfloor_qdb, ob_ant_nfloor->r_snr_qdb); + } + -+ if(rd_info[i].addr == RG_AGC_OB_CCA_RES) ++ if (rd_info[i].addr == RG_AGC_OB_CCA_RES) + { -+ struct sts_ob_cca_res* ob_cca_res = (struct sts_ob_cca_res*)&rd_data; -+ printk("cca_cond8=0x%x, cca_cond_rdy=0x%x,\n", ob_cca_res->cca_cond8, ob_cca_res->cca_cond_rdy); ++ struct sts_ob_cca_res *ob_cca_res = (struct sts_ob_cca_res *)&rd_data; ++ pr_debug("cca_cond8=0x%x, cca_cond_rdy=0x%x,\n", ++ ob_cca_res->cca_cond8, ob_cca_res->cca_cond_rdy); + } + -+ if(rd_info[i].addr == RG_AGC_OB_CCA_COND01) ++ if (rd_info[i].addr == RG_AGC_OB_CCA_COND01) + { -+ struct sts_ob_cca_cond01* ob_cca_cond01 = (struct sts_ob_cca_cond01*)&rd_data; -+ printk("cca_cond0=0x%x, cca_cond1=0x%x,\n", ++ struct sts_ob_cca_cond01 *ob_cca_cond01 = (struct sts_ob_cca_cond01 *)&rd_data; ++ pr_debug("cca_cond0=0x%x, cca_cond1=0x%x,\n", + ob_cca_cond01->cca_cond0, ob_cca_cond01->cca_cond1); + } + -+ if(rd_info[i].addr == RG_AGC_OB_CCA_COND23) ++ if (rd_info[i].addr == RG_AGC_OB_CCA_COND23) + { -+ struct sts_ob_cca_cond23* ob_cca_cond23 = (struct sts_ob_cca_cond23*)&rd_data; -+ printk("cca_cond2=0x%x, cca_cond3=0x%x,\n",ob_cca_cond23->cca_cond2, ob_cca_cond23->cca_cond3); ++ struct sts_ob_cca_cond23 *ob_cca_cond23 = (struct sts_ob_cca_cond23 *)&rd_data; ++ pr_debug("cca_cond2=0x%x, cca_cond3=0x%x,\n", ++ ob_cca_cond23->cca_cond2, ob_cca_cond23->cca_cond3); + } + } +#endif @@ -74555,27 +75200,29 @@ index 000000000000..1727d4a3ea37 +#define RG_MAC_RX_FRPTR (WIFI_MAC + 0x200) +#define RG_MAC_RX_HRPTR (WIFI_MAC + 0x204) + -+void hif_get_hst_int_status(void) ++static void hif_get_hst_int_status(void) +{ + struct hal_private *hal_prv = hal_get_priv(); + -+ printk("fw2hst_int_status 0x%x rx_dbuf_fw_rptr 0x%x\n", -+ (hal_prv->int_status_copy>> 16) & 0xffff, -+ hal_prv->int_status_copy & 0xffff); ++ pr_debug("fw2hst_int_status 0x%x rx_dbuf_fw_rptr 0x%x\n", ++ (hal_prv->int_status_copy>> 16) & 0xffff, ++ hal_prv->int_status_copy & 0xffff); + +} ++ +void hif_get_sts(unsigned int op_code, unsigned int ctrl_code) +{ +#if defined (HAL_FPGA_VER) -+ struct hw_interface* hif = hif_get_hw_interface(); -+ unsigned int buf_rd = 0; -+ unsigned int mac_wt = 0; -+ unsigned int fw_rd = 0; -+ unsigned int sdio_rd = 0; + -+ if((ctrl_code & STS_MOD_HIF) == STS_MOD_HIF) ++ if ((ctrl_code & STS_MOD_HIF) == STS_MOD_HIF) + { -+ printk("\n--------hif statistic--------\n"); ++ struct hw_interface *hif = hif_get_hw_interface(); ++ unsigned int buf_rd; ++ unsigned int mac_wt; ++ unsigned int fw_rd; ++ unsigned int sdio_rd; ++ ++ pr_debug("\n--------hif statistic--------\n"); + buf_rd = hif->hif_ops.hi_read_word(RG_WIFI_IF_RXPAGE_BUF_RDPTR) ; + mac_wt = hif->hif_ops.hi_read_word(RG_MAC_RX_WPTR); + fw_rd = hif->hif_ops.hi_read_word(RG_MAC_RX_FRPTR); @@ -74583,28 +75230,26 @@ index 000000000000..1727d4a3ea37 + + if ((ctrl_code & STS_TYP_RX) == STS_TYP_RX) + { -+ printk("rx_fifo: head %ld, tail %ld, total %ld\n", -+ hif->rx_fifo.FDH, hif->rx_fifo.FDT, hif->rx_fifo.FDN); ++ pr_debug("rx_fifo: head %ld, tail %ld, total %ld\n", ++ hif->rx_fifo.FDH, hif->rx_fifo.FDT, hif->rx_fifo.FDN); + -+ printk("rx by word: free %d, fw_to_do %d, sdio_to_mv %d, buf_rd_ptr 0x%x, mac_wt_ptr 0x%x, fw_rd_ptr 0x%x, sdio_rd_ptr 0x%x \n", -+ CIRCLE_Subtract2(sdio_rd, mac_wt, DEFAULT_RXPAGENUM*PAGE_LEN/4), -+ CIRCLE_Subtract2(mac_wt, fw_rd, DEFAULT_RXPAGENUM*PAGE_LEN/4), -+ CIRCLE_Subtract2( fw_rd, sdio_rd,DEFAULT_RXPAGENUM*PAGE_LEN/4), -+ buf_rd,mac_wt,fw_rd,sdio_rd); ++ pr_debug("rx by word: free %d, fw_to_do %d, sdio_to_mv %d, buf_rd_ptr 0x%x, mac_wt_ptr 0x%x, fw_rd_ptr 0x%x, sdio_rd_ptr 0x%x \n", ++ CIRCLE_Subtract2(sdio_rd, mac_wt, DEFAULT_RXPAGENUM * PAGE_LEN / 4), ++ CIRCLE_Subtract2(mac_wt, fw_rd, DEFAULT_RXPAGENUM * PAGE_LEN / 4), ++ CIRCLE_Subtract2( fw_rd, sdio_rd,DEFAULT_RXPAGENUM * PAGE_LEN / 4), ++ buf_rd, mac_wt, fw_rd, sdio_rd); + + } + -+ hif_get_hst_int_status(); -+ hif_get_mac_sts(); -+ hif_get_phy_sts(); ++ hif_get_hst_int_status(); ++ hif_get_mac_sts(); ++ hif_get_phy_sts(); + } +#endif +} + -+ +void hif_pt_rx_start(unsigned int qos) +{ -+ +#if defined (HAL_FPGA_VER) + unsigned int chg_data = 0; + struct data_rx_local_cnt_bits* data_rx_local_cnt =NULL; @@ -74689,7 +75334,7 @@ index 000000000000..1727d4a3ea37 + //hif->sts_snr.snr_run = 0; + //hif->sts_snr.snr_avr /=hif->sts_snr.snr_num; + -+ printk("rx_ucast=0x%x,rx_other=0x%x,rx_mcast=0x%x,rx_fcserr=0x%x,\n", ++ pr_debug("rx_ucast=0x%x,rx_other=0x%x,rx_mcast=0x%x,rx_fcserr=0x%x,\n", + (rx_ucast<<3)>>3, (rx_other<<2)>>2, (rx_mcast<<2)>>2,rx_fcserr); + + chg_data = hif->hif_ops.hi_read_word(RG_MAC_RX_DATA_LOCAL_CNT); @@ -74729,212 +75374,212 @@ index 000000000000..1727d4a3ea37 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_hif.h b/drivers/net/wireless/w1/vmac/wifi_hif.h new file mode 100644 -index 000000000000..8f08e00371e6 +index 0000000000000000000000000000000000000000..8918c7e2782809b5259d10724f1ac0f71ed34273 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_hif.h @@ -0,0 +1,196 @@ -+#ifndef _HI_SDIO_H_ -+#define _HI_SDIO_H_ -+ -+#include "wifi_sdio.h" -+ -+#define HIF_RD_MAC_REG_MAX (15) -+#define HIF_RD_PHY_REG_MAX (10) -+ -+ -+//irq -+#define COEX_INFO_BT_LK_INFO BEACON_RECV_OK_VID0 -+#define COEX_BT_EXIST_INF0 BEACON_RECV_OK_VID1 -+ -+ -+/*shijie.chen add, need add to register define file */ -+#define BCN_READABLE BIT(31) -+#define BCN_LEN_MASK (BIT(17)|BIT(18)|BIT(19)) -+ -+struct hif_reg_info{ -+ unsigned int addr; -+ unsigned char* prt; -+}; -+ -+enum hif_suspend_state -+{ -+ HIF_SUSPEND_STATE_NONE, -+ HIF_SUSPEND_STATE_WOW, -+ HIF_SUSPEND_STATE_DEEPSLEEP, -+}; -+ -+/*1 is rtl support addr wrapper around, else 0 is not support. */ -+#define RTL_WRAPPER_AROUND_ADDR 1 -+/*sdio max block count when we use scatter/gather list.*/ -+#define SDIO_MAX_BLK_CNT 511 -+/*enable sdio update host rd/wr pointer by enable corresponding bit in -+ SDIO MISC CTRL or SDIO MISC CTRL2 */ -+/* when 1, wrptr is updated by sdio rtl(func4). when 0, is updated by host via send cmd53 */ -+#define SDIO_UPDATE_HOST_WRPTR 0 -+/* when 1, rdptr is updated by sdio rtl(func6). when 0, is updated by host via send cmd53 */ -+#define SDIO_UPDATE_HOST_RDPTR 1 -+ -+#define SG_NUM_MAX 16 -+#define SG_WRITE 1 //MMC_DATA_WRITE -+#define SG_FRAME_MAX (1 * SG_NUM_MAX) -+/* max page num while process a sdio write operation*/ -+#define SG_PAGE_MAX 80 -+#define FUNC4_BLKSIZE PAGE_LEN -+#define FUNC6_BLKSIZE PAGE_LEN -+#define BLKSIZE PAGE_LEN -+ -+#define HIF_READ 0x00000001 -+#define HIF_WRITE 0x00000002 -+#define HIF_SYNCHRONOUS 0x00000010 -+#define HIF_ASYNCHRONOUS 0x00000020 -+ -+#define SDIO_MAXSG_SIZE 32 -+#define SDIO_MAX_SG_ENTRIES (SDIO_MAXSG_SIZE+2) -+ -+#if defined (HAL_FPGA_VER) -+struct amlw_hif_scatter_item { -+ struct sk_buff * skbbuf; -+ int len; -+ int page_num; -+ void * packet; -+}; -+ -+struct amlw_hif_scatter_req { -+ -+ /* address for the read/write operation */ -+ unsigned int addr; -+ /* request flags */ -+ unsigned int req; -+ /* total length of entire transfer */ -+ unsigned int len; -+ -+ void (*complete) (struct sk_buff *); -+ -+ bool free; -+ int result; -+ int scat_count; -+ -+ struct scatterlist sgentries[SDIO_MAX_SG_ENTRIES]; -+ struct amlw_hif_scatter_item scat_list[SDIO_MAX_SG_ENTRIES]; -+}; -+#endif -+ -+struct amlw_hif_ops { -+ int (*hi_bottom_write8)(unsigned char func_num, int addr, unsigned char data); -+ unsigned char (*hi_bottom_read8)(unsigned char func_num, int addr); -+ int (*hi_bottom_read)(unsigned char func_num, int addr, void *buf, size_t len, int incr_addr); -+ int (*hi_bottom_write)(unsigned char func_num, int addr, void *buf, size_t len, int incr_addr); -+ -+ unsigned char (*hi_read8_func0)(unsigned long sram_addr); -+ void (*hi_write8_func0)(unsigned long sram_addr, unsigned char sramdata); -+ -+ unsigned long (*hi_read_reg8)(unsigned long sram_addr); -+ void (*hi_write_reg8)(unsigned long sram_addr, unsigned long sramdata); -+ unsigned long (*hi_read_reg32)(unsigned long sram_addr); -+ int (*hi_write_reg32)(unsigned long sram_addr, unsigned long sramdata); -+ -+ void (*hi_write_cmd)(unsigned long sram_addr, unsigned long sramdata); -+ void (*hi_write_sram)(unsigned char*buf, unsigned char* addr, SYS_TYPE len); -+ void (*hi_read_sram)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); -+ void (*hi_write_word)(unsigned int addr,unsigned int data); -+ unsigned int (*hi_read_word)(unsigned int addr); -+ -+ void (*hi_rcv_frame)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); -+#if defined (HAL_FPGA_VER) -+ int (*hi_enable_scat)(void); -+ void (*hi_cleanup_scat)(void); -+ struct amlw_hif_scatter_req * (*hi_get_scatreq)(void); -+ int (*hi_scat_rw)(struct scatterlist *sg_list, unsigned int sg_num, unsigned int blkcnt, -+ unsigned char func_num, unsigned int addr, unsigned char write); -+ int (*hi_send_frame)(struct amlw_hif_scatter_req *scat_req); -+#elif defined (HAL_SIM_VER) -+ void (*hi_send_frame)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); -+#endif -+ -+ /*bt use*/ -+ void (*bt_hi_write_sram)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); -+ void (*bt_hi_read_sram)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); -+ void (*bt_hi_write_word)(unsigned int addr,unsigned int data); -+ unsigned int (*bt_hi_read_word)(unsigned int addr); -+ -+ void (*hif_get_sts)(unsigned int op_code, unsigned int ctrl_code); -+ void (*hif_pt_rx_start)(unsigned int qos); -+ void (*hif_pt_rx_stop)(void); -+ -+ int (*hif_suspend)(unsigned int suspend_enable); -+}; -+ -+void hi_clear_irq_status(unsigned int data); -+unsigned int hi_get_irq_status(void); -+unsigned char hi_set_cmd(unsigned char *pdata,unsigned int len); -+unsigned char hi_get_cmd(unsigned char *pdata,unsigned int len); -+ -+unsigned int hi_get_device_id(void); -+unsigned int hi_get_vendor_id(void); -+unsigned int hi_get_fw_version(void); -+ -+void hi_top_task( unsigned long data); -+void hi_soft_tx_irq(void); -+ -+ -+void hif_init_ops(void); -+ -+void hi_soft_rx_irq(struct hal_private *hal_priv, unsigned int rx_fw_ptr); -+void hi_soft_rx_bcn(struct hal_private *hal_priv, unsigned char vid); -+ -+void hi_cfg_firmware(void); -+void show_macframe (unsigned char *start, unsigned char len); -+void set_wifi_baudrate (unsigned int apb_clk); -+ -+void hif_pt_rx_start(unsigned int qos); -+void hif_pt_rx_stop(void); -+ -+#if defined (HAL_FPGA_VER) -+struct tx_status_list { -+ struct list_head status_list; -+ struct list_head free_list; -+ spinlock_t status_list_lock; -+}; -+ -+struct tx_status_node { -+ struct list_head list_node; -+ union -+ { -+ struct txdonestatus txstatus; -+ struct tx_nulldata_status tx_null_status; -+ }tx_status; -+}; -+int hi_tx_frame(struct hi_tx_desc **pTxDPape, unsigned int mpdu_num, unsigned int page_num); -+int hi_sdio_setup_scat_data(struct scatterlist *sg_list, struct hi_tx_desc **pTxDPape, -+ unsigned int sg_num, unsigned char func_num); -+ -+/*txok status process */ -+int tx_status_list_init(struct tx_status_list *tx_status_list, int num); -+void tx_status_node_free(struct tx_status_node *txok_status_node, -+ struct tx_status_list *tx_status_list); -+void tx_status_node_enqueue(struct tx_status_node *txok_status_node, -+ struct tx_status_list *tx_status_list); -+struct tx_status_node * tx_status_node_dequeue(struct tx_status_list *tx_status_list); -+struct tx_status_node * tx_status_node_alloc(struct tx_status_list *tx_status_list); -+void hi_irq_task(struct hal_private *hal_priv); -+void hi_rx_fifo_init(void); -+ -+#elif defined (HAL_SIM_VER) -+int hi_tx_frame( struct hi_tx_desc* pTxDPape, unsigned int blk_num, unsigned int page_num); -+int hal_calc_block_in_mpdu (int mpdulen); -+#endif -+unsigned int MAC_RD_REG(unsigned int addr); -+void MAC_WR_REG(unsigned int addr,unsigned int data); -+ -+void b2b_rx_throughput_calc(HW_RxDescripter_bit *RxPrivHdr); -+ -+#endif //_HI_SDIO_H_ ++#ifndef _HI_SDIO_H_ ++#define _HI_SDIO_H_ ++ ++#include "wifi_sdio.h" ++ ++#define HIF_RD_MAC_REG_MAX (15) ++#define HIF_RD_PHY_REG_MAX (10) ++ ++ ++//irq ++#define COEX_INFO_BT_LK_INFO BEACON_RECV_OK_VID0 ++#define COEX_BT_EXIST_INF0 BEACON_RECV_OK_VID1 ++ ++ ++/*shijie.chen add, need add to register define file */ ++#define BCN_READABLE BIT(31) ++#define BCN_LEN_MASK (BIT(17)|BIT(18)|BIT(19)) ++ ++struct hif_reg_info{ ++ unsigned int addr; ++ unsigned char* prt; ++}; ++ ++enum hif_suspend_state ++{ ++ HIF_SUSPEND_STATE_NONE, ++ HIF_SUSPEND_STATE_WOW, ++ HIF_SUSPEND_STATE_DEEPSLEEP, ++}; ++ ++/*1 is rtl support addr wrapper around, else 0 is not support. */ ++#define RTL_WRAPPER_AROUND_ADDR 1 ++/*sdio max block count when we use scatter/gather list.*/ ++#define SDIO_MAX_BLK_CNT 511 ++/*enable sdio update host rd/wr pointer by enable corresponding bit in ++ SDIO MISC CTRL or SDIO MISC CTRL2 */ ++/* when 1, wrptr is updated by sdio rtl(func4). when 0, is updated by host via send cmd53 */ ++#define SDIO_UPDATE_HOST_WRPTR 0 ++/* when 1, rdptr is updated by sdio rtl(func6). when 0, is updated by host via send cmd53 */ ++#define SDIO_UPDATE_HOST_RDPTR 1 ++ ++#define SG_NUM_MAX 16 ++#define SG_WRITE 1 //MMC_DATA_WRITE ++#define SG_FRAME_MAX (1 * SG_NUM_MAX) ++/* max page num while process a sdio write operation*/ ++#define SG_PAGE_MAX 80 ++#define FUNC4_BLKSIZE PAGE_LEN ++#define FUNC6_BLKSIZE PAGE_LEN ++#define BLKSIZE PAGE_LEN ++ ++#define HIF_READ 0x00000001 ++#define HIF_WRITE 0x00000002 ++#define HIF_SYNCHRONOUS 0x00000010 ++#define HIF_ASYNCHRONOUS 0x00000020 ++ ++#define SDIO_MAXSG_SIZE 32 ++#define SDIO_MAX_SG_ENTRIES (SDIO_MAXSG_SIZE+2) ++ ++#if defined (HAL_FPGA_VER) ++struct amlw_hif_scatter_item { ++ struct sk_buff * skbbuf; ++ int len; ++ int page_num; ++ void * packet; ++}; ++ ++struct amlw_hif_scatter_req { ++ ++ /* address for the read/write operation */ ++ unsigned int addr; ++ /* request flags */ ++ unsigned int req; ++ /* total length of entire transfer */ ++ unsigned int len; ++ ++ void (*complete) (struct sk_buff *); ++ ++ bool free; ++ int result; ++ int scat_count; ++ ++ struct scatterlist sgentries[SDIO_MAX_SG_ENTRIES]; ++ struct amlw_hif_scatter_item scat_list[SDIO_MAX_SG_ENTRIES]; ++}; ++#endif ++ ++struct amlw_hif_ops { ++ int (*hi_bottom_write8)(unsigned char func_num, int addr, unsigned char data); ++ unsigned char (*hi_bottom_read8)(unsigned char func_num, int addr); ++ int (*hi_bottom_read)(unsigned char func_num, int addr, void *buf, size_t len, int incr_addr); ++ int (*hi_bottom_write)(unsigned char func_num, int addr, void *buf, size_t len, int incr_addr); ++ ++ unsigned char (*hi_read8_func0)(unsigned long sram_addr); ++ void (*hi_write8_func0)(unsigned long sram_addr, unsigned char sramdata); ++ ++ unsigned long (*hi_read_reg8)(unsigned long sram_addr); ++ void (*hi_write_reg8)(unsigned long sram_addr, unsigned long sramdata); ++ unsigned long (*hi_read_reg32)(unsigned long sram_addr); ++ int (*hi_write_reg32)(unsigned long sram_addr, unsigned long sramdata); ++ ++ void (*hi_write_cmd)(unsigned long sram_addr, unsigned long sramdata); ++ void (*hi_write_sram)(unsigned char*buf, unsigned char* addr, SYS_TYPE len); ++ void (*hi_read_sram)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); ++ void (*hi_write_word)(unsigned int addr,unsigned int data); ++ unsigned int (*hi_read_word)(unsigned int addr); ++ ++ void (*hi_rcv_frame)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); ++#if defined (HAL_FPGA_VER) ++ int (*hi_enable_scat)(void); ++ void (*hi_cleanup_scat)(void); ++ struct amlw_hif_scatter_req * (*hi_get_scatreq)(void); ++ int (*hi_scat_rw)(struct scatterlist *sg_list, unsigned int sg_num, unsigned int blkcnt, ++ unsigned char func_num, unsigned int addr, unsigned char write); ++ int (*hi_send_frame)(struct amlw_hif_scatter_req *scat_req); ++#elif defined (HAL_SIM_VER) ++ void (*hi_send_frame)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); ++#endif ++ ++ /*bt use*/ ++ void (*bt_hi_write_sram)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); ++ void (*bt_hi_read_sram)(unsigned char* buf, unsigned char* addr, SYS_TYPE len); ++ void (*bt_hi_write_word)(unsigned int addr,unsigned int data); ++ unsigned int (*bt_hi_read_word)(unsigned int addr); ++ ++ void (*hif_get_sts)(unsigned int op_code, unsigned int ctrl_code); ++ void (*hif_pt_rx_start)(unsigned int qos); ++ void (*hif_pt_rx_stop)(void); ++ ++ int (*hif_suspend)(unsigned int suspend_enable); ++}; ++ ++void hi_clear_irq_status(unsigned int data); ++unsigned int hi_get_irq_status(void); ++unsigned char hi_set_cmd(unsigned char *pdata,unsigned int len); ++unsigned char hi_get_cmd(unsigned char *pdata,unsigned int len); ++ ++unsigned int hi_get_device_id(void); ++unsigned int hi_get_vendor_id(void); ++unsigned int hi_get_fw_version(void); ++ ++void hi_top_task( unsigned long data); ++void hi_soft_tx_irq(void); ++ ++ ++void hif_init_ops(void); ++ ++void hi_soft_rx_irq(struct hal_private *hal_priv, unsigned int rx_fw_ptr); ++void hi_soft_rx_bcn(struct hal_private *hal_priv, unsigned char vid); ++ ++void hi_cfg_firmware(void); ++void show_macframe (unsigned char *start, unsigned char len); ++void set_wifi_baudrate (unsigned int apb_clk); ++ ++void hif_pt_rx_start(unsigned int qos); ++void hif_pt_rx_stop(void); ++ ++#if defined (HAL_FPGA_VER) ++struct tx_status_list { ++ struct list_head status_list; ++ struct list_head free_list; ++ spinlock_t status_list_lock; ++}; ++ ++struct tx_status_node { ++ struct list_head list_node; ++ union ++ { ++ struct txdonestatus txstatus; ++ struct tx_nulldata_status tx_null_status; ++ }tx_status; ++}; ++int hi_tx_frame(struct hi_tx_desc **pTxDPape, unsigned int mpdu_num, unsigned int page_num); ++int hi_sdio_setup_scat_data(struct scatterlist *sg_list, struct hi_tx_desc **pTxDPape, ++ unsigned int sg_num, unsigned char func_num); ++ ++/*txok status process */ ++int tx_status_list_init(struct tx_status_list *tx_status_list, int num); ++void tx_status_node_free(struct tx_status_node *txok_status_node, ++ struct tx_status_list *tx_status_list); ++void tx_status_node_enqueue(struct tx_status_node *txok_status_node, ++ struct tx_status_list *tx_status_list); ++struct tx_status_node * tx_status_node_dequeue(struct tx_status_list *tx_status_list); ++struct tx_status_node * tx_status_node_alloc(struct tx_status_list *tx_status_list); ++void hi_irq_task(struct hal_private *hal_priv); ++void hi_rx_fifo_init(void); ++ ++#elif defined (HAL_SIM_VER) ++int hi_tx_frame( struct hi_tx_desc* pTxDPape, unsigned int blk_num, unsigned int page_num); ++int hal_calc_block_in_mpdu (int mpdulen); ++#endif ++unsigned int MAC_RD_REG(unsigned int addr); ++void MAC_WR_REG(unsigned int addr,unsigned int data); ++ ++void b2b_rx_throughput_calc(HW_RxDescripter_bit *RxPrivHdr); ++ ++#endif //_HI_SDIO_H_ diff --git a/drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.c b/drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.c new file mode 100644 -index 000000000000..ac86b467ebee +index 0000000000000000000000000000000000000000..4014bd213ad5b1fecfd4259151912b1659324dab --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.c -@@ -0,0 +1,2001 @@ +@@ -0,0 +1,2014 @@ +#include "wifi_mac_com.h" +#include "wifi_iwpriv_cmd.h" +#include "wifi_cmd_func.h" @@ -74946,7 +75591,7 @@ index 000000000000..ac86b467ebee + + +extern void print_driver_version(void); -+extern char **aml_cmd_char_prase(char sep, const char *str, int *size); ++extern char **aml_cmd_char_phrase(char sep, const char *str, int *size); +extern struct udp_info aml_udp_info[]; +extern struct udp_timer aml_udp_timer; +extern int udp_cnt; @@ -74966,7 +75611,7 @@ index 000000000000..ac86b467ebee + +void wifi_mac_pwrsave_set_inactime(struct wlan_net_vif *wnet_vif, unsigned int time); + -+struct wlan_net_vif *aml_iwpriv_get_vif(char *name) ++static struct wlan_net_vif *aml_iwpriv_get_vif(char *name) +{ + struct wlan_net_vif *wnet_vif = NULL; + struct drv_private *drv_priv = NULL; @@ -74979,7 +75624,7 @@ index 000000000000..ac86b467ebee + for (idx = 0; idx < 2; idx++) { + wnet_vif = drv_priv->drv_wnet_vif_table[idx]; + if (strncmp(wnet_vif->vm_ndev->name, name, sizeof(wnet_vif->vm_ndev->name)) == 0) { -+ printk("%s, %s, %s\n", __func__, wnet_vif->vm_ndev->name, name); ++ pr_debug("%s, %s, %s\n", __func__, wnet_vif->vm_ndev->name, name); + return wnet_vif; + } + } @@ -74990,7 +75635,7 @@ index 000000000000..ac86b467ebee +static int aml_ap_set_amsdu_state(struct net_device *dev, + struct iw_request_info *info, union iwreq_data *wrqu, char *extra) +{ -+ printk("%s, %s\n", __func__,extra); ++ pr_debug("%s, %s\n", __func__,extra); + aml_set_mac_amsdu_switch_state(extra); + + return 0; @@ -74999,7 +75644,7 @@ index 000000000000..ac86b467ebee +static int aml_ap_set_ampdu_state(struct net_device *dev, + struct iw_request_info *info, union iwreq_data *wrqu, char *extra) +{ -+ printk("%s, %s\n", __func__,extra); ++ pr_debug("%s, %s\n", __func__,extra); + aml_set_drv_ampdu_switch_state(extra); + + return 0; @@ -75008,14 +75653,14 @@ index 000000000000..ac86b467ebee + +static int aml_ap_get_amsdu_state(void) +{ -+ printk("%s\n", __func__); ++ pr_debug("%s\n", __func__); + aml_set_mac_amsdu_switch_state(NULL); + return 0; +} + +static int aml_ap_get_ampdu_state(void) +{ -+ printk("%s\n", __func__); ++ pr_debug("%s\n", __func__); + aml_set_drv_ampdu_switch_state(NULL); + return 0; +} @@ -75036,7 +75681,7 @@ index 000000000000..ac86b467ebee + int val = 0; + char addr[MAX_MAC_BUF_LEN]={0}; + -+ printk("%s(%d), %d, %d, %d, %d, %d, %d, %d\n", __func__, __LINE__, ++ pr_debug("%s(%d), %d, %d, %d, %d, %d, %d, %d\n", __func__, __LINE__, + param[0], param[1], param[2],param[3],param[4],param[5],param[6]); + + snprintf(addr, MAX_MAC_BUF_LEN, "%02d:%02d:%02d:%02d:%02d:%02d",param[0],param[1],param[2],param[3],param[4],param[5]); @@ -75054,7 +75699,7 @@ index 000000000000..ac86b467ebee + unsigned int reg_val = 0; + + usr_data = set; -+ printk("%s: Reg addr: 0x%08x\n", __func__, usr_data); ++ pr_debug("%s: Reg addr: 0x%08x\n", __func__, usr_data); + + if (((usr_data >> 24) & 0xff) == 0xff ) { +#ifdef USE_T902X_RF @@ -75068,7 +75713,7 @@ index 000000000000..ac86b467ebee + reg_val = wnet_vif->vif_ops.read_word(usr_data); + } + -+ printk("Drv info: Reg data=&0x%08x\n",reg_val); ++ pr_debug("Drv info: Reg data=&0x%08x\n",reg_val); + + return 0; +} @@ -75082,7 +75727,7 @@ index 000000000000..ac86b467ebee + usr_data = set1; + usr_data_ext = set2; + -+ printk("Cfg80211: Reg addr: val:0x%08x,val:0x%08x\n",usr_data,usr_data_ext); ++ pr_debug("Cfg80211: Reg addr: val:0x%08x,val:0x%08x\n",usr_data,usr_data_ext); + if (((usr_data >> 24) & 0xff) == 0xff) { +#ifdef USE_T902X_RF + rf_i2c_write( usr_data & 0x00ffffff,usr_data_ext );//access t902x rf reg @@ -75121,7 +75766,7 @@ index 000000000000..ac86b467ebee + if (bcn_intvl == 0) { + bcn_intvl = WIFINET_BINTVAL_DEFAULT; + } -+ printk("%s:%d, bcn intvl %d\n", __func__, __LINE__, bcn_intvl); ++ pr_debug("%s:%d, bcn intvl %d\n", __func__, __LINE__, bcn_intvl); + wnet_vif->vm_wmac->drv_priv->drv_ops.Phy_beaconinit(wnet_vif->vm_wmac->drv_priv, + wnet_vif->wnet_vif_id, bcn_intvl); + @@ -75138,7 +75783,7 @@ index 000000000000..ac86b467ebee + +static void aml_iwpriv_enable_fw_log(struct wlan_net_vif *wnet_vif) +{ -+ printk("%s: fw log enabled from iwpriv cmd\n", __func__); ++ pr_debug("%s: fw log enabled from iwpriv cmd\n", __func__); + set_reg(wnet_vif, 0x00f00004, 0x0ffbf0ff); + msleep(100); + set_reg(wnet_vif, 0x00f00008, 0x00040f00); @@ -75154,10 +75799,10 @@ index 000000000000..ac86b467ebee + if (aml_wifi_is_enable_rf_test()) { + if (1 == set) { + gB2BTestCasePacket.ldpc_enable = 1; -+ printk("Enable tx LDPC\n"); ++ pr_debug("Enable tx LDPC\n"); + } else if (0 == set){ + gB2BTestCasePacket.ldpc_enable = 0; -+ printk("Disable tx LDPC\n"); ++ pr_debug("Disable tx LDPC\n"); + } else { + ERROR_DEBUG_OUT("Invalid parameter\n"); + } @@ -75167,11 +75812,11 @@ index 000000000000..ac86b467ebee + if (1 == set) { + sta->sta_vhtcap |= WIFINET_VHTCAP_RX_LDPC; + wifimac->wm_flags |=WIFINET_F_LDPC; -+ printk("Enable LDPC, if need to change, the action must be executed before connecting to ap or creating ap\n"); ++ pr_debug("Enable LDPC, if need to change, the action must be executed before connecting to ap or creating ap\n"); + } else if (0 == set) { + sta->sta_vhtcap &= ~WIFINET_VHTCAP_RX_LDPC; + wifimac->wm_flags &=~WIFINET_F_LDPC; -+ printk("Disable LDPC, if need to change, the action must be executed before connecting to ap or creating ap\n"); ++ pr_debug("Disable LDPC, if need to change, the action must be executed before connecting to ap or creating ap\n"); + } else { + ERROR_DEBUG_OUT("Invalid parameter\n"); + } @@ -75189,31 +75834,31 @@ index 000000000000..ac86b467ebee + usr_data2 = set2; + + if (usr_data2 > 4) { -+ printk("support max spatial is 4 !\n"); ++ pr_debug("support max spatial is 4 !\n"); + wifimac->max_spatial = 4; + } else if (usr_data2 <= 0) { -+ printk("min spatial is 1 !\n"); ++ pr_debug("min spatial is 1 !\n"); + wifimac->max_spatial = 1; + } else { + wifimac->max_spatial = usr_data2; + } -+ printk("%s:%d, set spatial %d \n", __func__, __LINE__, wifimac->max_spatial); ++ pr_debug("%s:%d, set spatial %d \n", __func__, __LINE__, wifimac->max_spatial); + + if(usr_data1 < 4) { + if (((usr_data1 & 0xF) & BIT(0)) == BIT(0)) { + wifimac->wm_flags_ext2 |= WIFINET_VHTCAP_SU_BFMEE; -+ printk("%s:%d, enable su mimo\n", __func__, __LINE__); ++ pr_debug("%s:%d, enable su mimo\n", __func__, __LINE__); + } else { + wifimac->wm_flags_ext2 &= ~WIFINET_VHTCAP_SU_BFMEE; -+ printk("%s:%d, disable su mimo\n", __func__, __LINE__); ++ pr_debug("%s:%d, disable su mimo\n", __func__, __LINE__); + } + + if (((usr_data1 & 0xF) & BIT(1)) == BIT(1)) { + wifimac->wm_flags_ext2 |= WIFINET_VHTCAP_MU_BFMEE; -+ printk("%s:%d, enable mu mimo\n", __func__, __LINE__); ++ pr_debug("%s:%d, enable mu mimo\n", __func__, __LINE__); + } else { + wifimac->wm_flags_ext2 &= ~WIFINET_VHTCAP_MU_BFMEE; -+ printk("%s:%d, disable mu mimo\n", __func__, __LINE__); ++ pr_debug("%s:%d, disable mu mimo\n", __func__, __LINE__); + } + } else { + ERROR_DEBUG_OUT("initial parameter!\n"); @@ -75351,7 +75996,7 @@ index 000000000000..ac86b467ebee + struct wlan_net_vif *wnet_vif = netdev_priv(dev); + memset(&mask, 0, sizeof(struct cfg80211_bitrate_mask)); + mask.control[band].legacy = (1<vm_opmode, band); ++ pr_debug("%s %d, opmode %d, band %d\n", __func__, __LINE__, wnet_vif->vm_opmode, band); + +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0) + vm_cfg80211_set_bitrate_mask(NULL, dev, NULL, &mask); @@ -75377,7 +76022,7 @@ index 000000000000..ac86b467ebee + band = NL80211_BAND_2GHZ; + } + -+ printk("%s %d, opmode %d, band %d\n", __func__, __LINE__, wnet_vif->vm_opmode, band); ++ pr_debug("%s %d, opmode %d, band %d\n", __func__, __LINE__, wnet_vif->vm_opmode, band); + mask.control[band].ht_mcs[0] = (1<vm_opmode, band); ++ pr_debug("%s %d, opmode %d, band %d\n", __func__, __LINE__, wnet_vif->vm_opmode, band); + mask.control[band].vht_mcs[0] = (1<vm_fixed_rate.rateinfo = 0; + wnet_vif->vm_fixed_rate.mode = WIFINET_FIXED_RATE_NONE; + wnet_vif->vm_change_rate_enable = 1; -+ printk("%s %d, enable autorate\n", __func__,__LINE__); ++ pr_debug("%s %d, enable autorate\n", __func__,__LINE__); +} + +void aml_iwpriv_set_uapsd(struct wlan_net_vif *wnet_vif, unsigned int set) +{ + if ((unsigned char)set != 0) { + WIFINET_VMAC_UAPSD_ENABLE(wnet_vif); -+ printk("%s(%d) enable ap uapsd\n ", __func__, __LINE__); ++ pr_debug("%s(%d) enable ap uapsd\n ", __func__, __LINE__); + + } else { + WIFINET_VMAC_UAPSD_DISABLE(wnet_vif); -+ printk("%s(%d) disable ap uapsd\n ", __func__, __LINE__); ++ pr_debug("%s(%d) disable ap uapsd\n ", __func__, __LINE__); + } + wnet_vif->vm_flags |= WIFINET_F_WMEUPDATE; +} @@ -75440,32 +76085,32 @@ index 000000000000..ac86b467ebee +{ + struct drv_private *drv_priv = drv_get_drv_priv(); + drv_priv->drv_config.cfg_band = set; -+ printk("%s(%d) band %d\n ", __func__, __LINE__, set); ++ pr_debug("%s(%d) band %d\n ", __func__, __LINE__, set); + return 0; +} + -+unsigned char aml_iwpriv_set_initial_gain_change_hang(unsigned int set) ++static unsigned char aml_iwpriv_set_initial_gain_change_hang(unsigned int set) +{ + g_initial_gain_change_disable = set; + + if (g_initial_gain_change_disable) { -+ printk("%s(%d) initial_gain_change invalid\n ", __func__, __LINE__); ++ pr_err("%s(%d) initial_gain_change invalid\n ", __func__, __LINE__); + + } else { -+ printk("%s(%d) initial_gain_change valid\n ", __func__, __LINE__); ++ pr_debug("%s(%d) initial_gain_change valid\n ", __func__, __LINE__); + } + return 0; +} + -+unsigned char aml_iwpriv_set_tx_power_change_hang(unsigned int set) ++static unsigned char aml_iwpriv_set_tx_power_change_hang(unsigned int set) +{ + g_tx_power_change_disable = set; + + if (g_tx_power_change_disable) { -+ printk("%s(%d) tx_power_change invalid\n ", __func__, __LINE__); ++ pr_err("%s(%d) tx_power_change invalid\n ", __func__, __LINE__); + + } else { -+ printk("%s(%d) tx_power_change valid\n ", __func__, __LINE__); ++ pr_debug("%s(%d) tx_power_change valid\n ", __func__, __LINE__); + } + return 0; +} @@ -75476,13 +76121,20 @@ index 000000000000..ac86b467ebee + return drv_priv->drv_config.cfg_band; +} + -+unsigned char aml_iwpriv_set_mac_mode(unsigned int set) ++static unsigned char aml_iwpriv_set_mac_mode(unsigned int set) +{ + struct drv_private *drv_priv = drv_get_drv_priv(); + drv_priv->drv_config.cfg_mac_mode = set; + return 0; +} + ++void aml_iwpriv_set_wfa_mode(struct wlan_net_vif *wnet_vif, unsigned char is_enable) ++{ ++ struct wifi_mac * wifimac = wnet_vif->vm_wmac; ++ wifimac->wm_wfa_enable = is_enable; ++ AML_OUTPUT("vid:%d, enable_wfa:%d\n", wnet_vif->wnet_vif_id, wifimac->wm_wfa_enable); ++} ++ +static int aml_iwpriv_send_para1(struct net_device *dev, + struct iw_request_info *info, union iwreq_data *wrqu, char *extra) +{ @@ -75498,7 +76150,7 @@ index 000000000000..ac86b467ebee + int len = 0; + + -+ printk("%s, sub_cmd %d, value %d\n", __func__,param[0], param[1]); ++ pr_debug("%s, sub_cmd %d, value %d\n", __func__,param[0], param[1]); + + wifimac = wifi_mac_get_mac_handle(); + wnet_vif = aml_iwpriv_get_vif(dev->name); @@ -75515,7 +76167,7 @@ index 000000000000..ac86b467ebee + /*e.g '-80' need 3 char in string, added '\0', so need + 4 */ + len = strlen("set_roam_thr_2g ") + 4; + snprintf(buf, len, "set_roam_thr_2g %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_roaming_threshold_2g(wnet_vif, buf, len); + break; + @@ -75523,77 +76175,77 @@ index 000000000000..ac86b467ebee + /*e.g '-80' need 3 char in string, added '\0', so need + 4 */ + len = strlen("set_roam_thr_5g ") + 4; + snprintf(buf, len, "set_roam_thr_5g %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_roaming_threshold_5g(wnet_vif, buf, len); + break; + + case AML_IWP_ROAM_MODE: + len = strlen("set_roam_mode ") + 4; + snprintf(buf, len, "set_roam_mode %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_roaming_mode(wnet_vif, buf, len); + break; + + case AML_IWP_MARK_DFS_CHAN: + len = strlen("mark_dfs_chan ") + 4; + snprintf(buf, len, "mark_dfs_chan %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_mark_dfs_channel(wnet_vif, buf, len); + break; + + case AML_IWP_UNMARK_DFS_CHAN: + len = strlen("unmark_dfs_chan ") + 4; + snprintf(buf, len, "unmark_dfs_chan %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_unmark_dfs_channel(wnet_vif, buf, len); + break; + + case AML_IWP_WEAK_THR_NARROW: + len = strlen("set_weak_thr_nb ") + 4; + snprintf(buf, len, "set_weak_thr_nb %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_signal_power_weak_thresh_for_narrow_bandwidth(wnet_vif, buf, len); + break; + + case AML_IWP_WEAK_THR_WIDE: + len = strlen("set_weak_thr_wb ") + 4; + snprintf(buf, len, "set_weak_thr_wb %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_signal_power_weak_thresh_for_wide_bandwidth(wnet_vif, buf, len); + break; + + case AML_IWP_EAT_COUNT: + len = strlen("set_eat_count ") + 4; + snprintf(buf, len, "set_eat_count %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_eat_count_max(wnet_vif, buf, len); + break; + + case AML_IWP_AGGR_THRESH: + len = strlen("set_aggr_thresh ") + 4; + snprintf(buf, len, "set_aggr_thresh %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_aggr_thresh(wnet_vif, buf, len); + break; + + case AML_IWP_HEART_INTERVAL: + len = strlen("set_hrt_int ") + 4; + snprintf(buf, len, "set_hrt_int %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_hrtimer_interval(wnet_vif, buf, len); + break; + + case AML_IWP_BSS_COEX: + len = strlen("send_bss_coex"); + snprintf(buf, len, "send_bss_coex"); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_sta_send_coexist_mgmt(wnet_vif, buf, len); + break; + + case AML_IWP_WMM_AC_DELTS: + len = strlen("wmm_ac_delts ") + 4; + snprintf(buf, len, "wmm_ac_delts %d", set); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_wmm_ac_delts(wnet_vif, buf, len); + break; + @@ -75602,7 +76254,7 @@ index 000000000000..ac86b467ebee + str[1] = "on"; + len = strlen("set_short_gi ") + strlen(str[set]) + 1; + snprintf(buf, len, "set_short_gi %s", str[set]); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_short_gi(wnet_vif, buf, len); + break; + @@ -75611,7 +76263,7 @@ index 000000000000..ac86b467ebee + str[1] = "on"; + len = strlen("set_dynamic_bw ") + strlen(str[set]) + 1; + snprintf(buf, len, "set_dynamic_bw %s", str[set]); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_set_dynamic_bw(wnet_vif, buf, len); + break; + @@ -75620,16 +76272,16 @@ index 000000000000..ac86b467ebee + str[1] = "reset"; + len = strlen("get_txaggr_sta ") + strlen(str[set]) + 1; + snprintf(buf, len, "get_txaggr_sta %s", str[set]); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_get_drv_txaggr_status(wnet_vif, buf, len); + break; + + case AML_IWP_GET_REG: + if (set == 0x7fffffff) { -+ printk("******************************************************************************\n"); -+ printk("You are using a legacy iwpriv tool, strongly suggest using a latest iwpriv one\n"); -+ printk("You also can using the legacy tool as below:\n iwpriv wlan0 get_reg 0xff000c80 -> iwpriv wlan0 get_reg_legacy 0xff00 0x00c80\n"); -+ printk("******************************************************************************\n"); ++ pr_debug("******************************************************************************\n"); ++ pr_debug("You are using a legacy iwpriv tool, strongly suggest using a latest iwpriv one\n"); ++ pr_debug("You also can using the legacy tool as below:\n iwpriv wlan0 get_reg 0xff000c80 -> iwpriv wlan0 get_reg_legacy 0xff00 0x00c80\n"); ++ pr_debug("******************************************************************************\n"); + } + get_reg(wnet_vif, set); + break; @@ -75647,7 +76299,7 @@ index 000000000000..ac86b467ebee + wnet_vif->vm_scan_time_idle = (unsigned char)set; + wifi_mac_set_scan_time(wnet_vif); + } -+ printk("%s, vid:%d set scan_time_idle = %d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_idle); ++ pr_debug("%s, vid:%d set scan_time_idle = %d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_idle); + break; + + case AML_IWP_SET_SCAN_TIME_CONNECT: @@ -75655,16 +76307,16 @@ index 000000000000..ac86b467ebee + wnet_vif->vm_scan_time_connect = (unsigned char)set; + wifi_mac_set_scan_time(wnet_vif); + } -+ printk("%s, vid:%d set scan_time_connect = %d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_connect); ++ pr_debug("%s, vid:%d set scan_time_connect = %d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_time_connect); + break; + + case AML_IWP_SET_SCAN_HANG: + wnet_vif->vm_scan_hang = (unsigned char)set; -+ printk("%s, vid:%d vm_scan_hang:%d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_hang); ++ pr_debug("%s, vid:%d vm_scan_hang:%d\n ", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_scan_hang); + break; + + case AML_IWP_EN_BTWIFI_COEX: -+ printk("%s, coexist en= %d\n ", __func__, set); ++ pr_debug("%s, coexist en= %d\n ", __func__, set); + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_en(set); + break; + @@ -75674,12 +76326,12 @@ index 000000000000..ac86b467ebee + + case AML_IWP_SET_COEXIST_REQ_TIMEOUT: + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_req_timeslice_timeout_value(set); -+ printk("%s, set req timeout value= %d\n ", __func__, set); ++ pr_debug("%s, set req timeout value= %d\n ", __func__, set); + break; + + case AML_IWP_SET_COEXIST_NOT_GRANT_WEIGHT: + wifimac->drv_priv->hal_priv->hal_ops.phy_set_coexist_not_grant_weight(set); -+ printk("%s, set coexist_not_grant_weight= %d\n ", __func__, set); ++ pr_debug("%s, set coexist_not_grant_weight= %d\n ", __func__, set); + break; + + case AML_IWP_SET_RATE_LEGACY: @@ -75704,7 +76356,7 @@ index 000000000000..ac86b467ebee + + case AML_IWP_SET_BURST: + wifimac->drv_priv->drv_config.cfg_burst_ack = set; -+ printk("iwpriv set burst %d\n", set); ++ pr_debug("iwpriv set burst %d\n", set); + break; + + case AML_IWP_SET_UAPSD: @@ -75729,19 +76381,19 @@ index 000000000000..ac86b467ebee + + case AML_IWP_SET_FETCH_PKT_METHOD: + wnet_vif->vm_mainsta->sta_fetch_pkt_method = (unsigned char)set; -+ printk("iwpriv set pkt method %d\n", set); ++ pr_debug("iwpriv set pkt method %d\n", set); + break; + + case AML_IWP_SET_FRAG_THRESHOLD: + if ((unsigned short)set > 0) { + wnet_vif->vm_fragthreshold = (unsigned short)set; + } -+ printk("iwpriv set frag thr %d\n", wnet_vif->vm_fragthreshold); ++ pr_debug("iwpriv set frag thr %d\n", wnet_vif->vm_fragthreshold); + break; + + case AML_IWP_SET_PREAMBLE_TYPE: + phy_set_preamble_type((unsigned char)set); -+ printk("iwpriv set preamble type %d\n", set); ++ pr_debug("iwpriv set preamble type %d\n", set); + break; + + case AML_IWP_SET_FIX_BAND: @@ -75763,6 +76415,9 @@ index 000000000000..ac86b467ebee + case AML_IWP_SET_MAC_MODE: + aml_iwpriv_set_mac_mode(set); + break; ++ case AML_IWP_SET_WFA_MODE: ++ aml_iwpriv_set_wfa_mode(wnet_vif, set); ++ break; + } + + return 0; @@ -75782,7 +76437,7 @@ index 000000000000..ac86b467ebee + int legacy_set = 0; + + -+ printk("%s, sub_cmd %d, value %d %d\n", __func__,param[0], param[1], param[2]); ++ pr_debug("%s, sub_cmd %d, value %d %d\n", __func__,param[0], param[1], param[2]); + + wifimac = wifi_mac_get_mac_handle(); + wnet_vif = aml_iwpriv_get_vif(dev->name); @@ -75790,10 +76445,10 @@ index 000000000000..ac86b467ebee + switch (sub_cmd) { + case AML_IWP_SET_REG: + if ((set1 == 0x7fffffff) || (set2 == 0x7fffffff)) { -+ printk("********************************************************************************************************\n"); -+ printk("You are using a legacy iwpriv tool, strongly suggest using a latest iwpriv tool\n"); -+ printk("You also can using the legacy tool as below:\n iwpriv wlan0 set_reg 0xff000c80 0xff000c80 -> iwpriv wlan0 set_reg_legacy 0xff00 0x00c80 0xff0 0x00c80\n"); -+ printk("********************************************************************************************************\n"); ++ pr_debug("********************************************************************************************************\n"); ++ pr_debug("You are using a legacy iwpriv tool, strongly suggest using a latest iwpriv tool\n"); ++ pr_debug("You also can using the legacy tool as below:\n iwpriv wlan0 set_reg 0xff000c80 0xff000c80 -> iwpriv wlan0 set_reg_legacy 0xff00 0x00c80 0xff0 0x00c80\n"); ++ pr_debug("********************************************************************************************************\n"); + } + set_reg(wnet_vif, set1, set2); + break; @@ -75830,7 +76485,7 @@ index 000000000000..ac86b467ebee + int legacy_set2 = 0; + + -+ printk("%s, sub_cmd %d, value1 %d, value2 %d, value3 %d\n", __func__,param[0], param[1], param[2], param[3]); ++ pr_debug("%s, sub_cmd %d, value1 %d, value2 %d, value3 %d\n", __func__,param[0], param[1], param[2], param[3]); + + wifimac = wifi_mac_get_mac_handle(); + wnet_vif = aml_iwpriv_get_vif(dev->name); @@ -75861,7 +76516,7 @@ index 000000000000..ac86b467ebee + unsigned int efuse_data_l = 0; + unsigned int efuse_data_h = 0; + -+ printk("%s, sub cmd %d\n", __func__, param[0]); ++ pr_debug("%s, sub cmd %d\n", __func__, param[0]); + + wifimac = wifi_mac_get_mac_handle(); + wnet_vif = aml_iwpriv_get_vif(dev->name); @@ -75882,7 +76537,7 @@ index 000000000000..ac86b467ebee + + case AML_IWP_UDP_INFO: + for (i = 0; i < udp_cnt; i++) { -+ printk("%s streamid=%d tx is %d, rx is %d\n", __func__, aml_udp_info[i].streamid, aml_udp_info[i].tx, aml_udp_info[i].rx); ++ pr_debug("%s streamid=%d tx is %d, rx is %d\n", __func__, aml_udp_info[i].streamid, aml_udp_info[i].tx, aml_udp_info[i].rx); + } + aml_udp_timer.udp_timer_stop = 1; + aml_udp_timer.run_flag = 0; @@ -75891,17 +76546,17 @@ index 000000000000..ac86b467ebee + break; + + case AML_IWP_COUNTRY: -+ printk("country code: %s\n", wifimac->wm_country.iso); ++ pr_debug("country code: %s\n", wifimac->wm_country.iso); + break; + + case AML_IWP_GET_DEV_SN: -+ printk("aml module SN is:%04x \n", efuse_manual_read(0xf)); ++ pr_debug("aml module SN is:%04x \n", efuse_manual_read(0xf)); + break; + + case AML_IWP_GET_WIFI_MAC: + efuse_data_l = efuse_manual_read(0x1); + efuse_data_h = efuse_manual_read(0x2); -+ printk("aml WIFI MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", ++ pr_debug("aml WIFI MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", + (efuse_data_h & 0xff00) >> 8,efuse_data_h & 0x00ff, (efuse_data_l & 0xff000000) >> 24, + (efuse_data_l & 0x00ff0000) >> 16,(efuse_data_l & 0xff00) >> 8,efuse_data_l & 0xff); + break; @@ -75909,7 +76564,7 @@ index 000000000000..ac86b467ebee + case AML_IWP_GET_BT_MAC: + efuse_data_l = efuse_manual_read(0x2); + efuse_data_h = efuse_manual_read(0x3); -+ printk("aml BT MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", ++ pr_debug("aml BT MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", + (efuse_data_h & 0xff000000) >> 24, (efuse_data_h & 0x00ff0000) >> 16, + (efuse_data_h & 0xff00) >> 8,efuse_data_h & 0xff, + (efuse_data_l & 0xff000000) >> 24,(efuse_data_l & 0x00ff0000) >> 16); @@ -75919,14 +76574,14 @@ index 000000000000..ac86b467ebee + WIFI_CHANNEL_LOCK(wifimac); + for (i = 0; i < wifimac->wm_nchans; i++) { + c = &wifimac->wm_channels[i]; -+ printk("channel:%d\t frequency:%d \t bandwidth:%dMHz \n", c->chan_pri_num, c->chan_cfreq1, ((1 << c->chan_bw) * 20)); ++ pr_debug("channel:%d\t frequency:%d \t bandwidth:%dMHz \n", c->chan_pri_num, c->chan_cfreq1, ((1 << c->chan_bw) * 20)); + } + WIFI_CHANNEL_UNLOCK(wifimac); + break; + + case AML_IWP_CHIP_ID: + snprintf(buf, 21, "get_chip_id 0x%x 0x%x",0x8, 0x9); -+ printk("%s: buf %s\n", __func__, buf); ++ pr_debug("%s: buf %s\n", __func__, buf); + aml_get_chip_id(NULL, buf, 0); + break; + @@ -75960,7 +76615,7 @@ index 000000000000..ac86b467ebee + + case AML_IWP_PRINT_VERSION: + print_driver_version(); -+ printk("driver version: %s\n", DRIVERVERSION); ++ pr_debug("driver version: %s\n", DRIVERVERSION); + AML_OUTPUT("=============bus type:%s fw_chip:%s=============\n",aml_wifi_get_bus_type(),aml_wifi_get_fw_type()); + break; + @@ -76108,9 +76763,9 @@ index 000000000000..ac86b467ebee + return -EFAULT; + } + buf[40] = '\0'; -+ printk("%s: %s\n", __func__, buf); ++ pr_debug("%s: %s\n", __func__, buf); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + wifi_mac_set_udp_info(arg); + kfree(arg); + @@ -76124,7 +76779,7 @@ index 000000000000..ac86b467ebee + + int i = 0; + for (i = 0; i < udp_cnt; i++) { -+ printk("%s streamid=%d tx is %d, rx is %d\n", __func__, aml_udp_info[i].streamid, aml_udp_info[i].tx, aml_udp_info[i].rx); ++ pr_debug("%s streamid=%d tx is %d, rx is %d\n", __func__, aml_udp_info[i].streamid, aml_udp_info[i].tx, aml_udp_info[i].rx); + } + aml_udp_timer.udp_timer_stop = 1; + aml_udp_timer.run_flag = 0; @@ -76137,21 +76792,21 @@ index 000000000000..ac86b467ebee +static int aml_set_country_code(struct net_device *dev, + struct iw_request_info *info, union iwreq_data *wrqu, char *extra) +{ -+ printk("%s, %s\n", __func__,extra); ++ pr_debug("%s, %s\n", __func__,extra); + wifi_mac_set_country_code(extra); + + return 0; + +} + -+void aml_iwpriv_set_dev_sn(char* arg_iw) ++static void aml_iwpriv_set_dev_sn(char* arg_iw) +{ + char **mac_cmd; + int i,cmd_arg; + char sep = ':'; + unsigned int efuse_data = 0; + -+ mac_cmd = aml_cmd_char_prase(sep, arg_iw, &cmd_arg); ++ mac_cmd = aml_cmd_char_phrase(sep, arg_iw, &cmd_arg); + if (mac_cmd) { + efuse_data = (simple_strtoul(mac_cmd[0],NULL,16) << 8) | (simple_strtoul(mac_cmd[1],NULL,16)); + for (i = 0; i < 16; i++) { @@ -76159,13 +76814,13 @@ index 000000000000..ac86b467ebee + efuse_manual_write(i, 0xf); + } + } -+ printk("iwpriv write module SN is: %02x %02x\n", ((efuse_data & 0xff00) >> 8), (efuse_data & 0x00ff)); ++ pr_debug("iwpriv write module SN is: %02x %02x\n", ((efuse_data & 0xff00) >> 8), (efuse_data & 0x00ff)); + } + kfree(mac_cmd); + +} + -+void aml_iwpriv_set_mac_addr(char* arg_iw) ++static void aml_iwpriv_set_mac_addr(char* arg_iw) +{ + char **mac_cmd; + int i,cmd_arg; @@ -76173,7 +76828,7 @@ index 000000000000..ac86b467ebee + unsigned int efuse_data_l = 0; + unsigned int efuse_data_h = 0; + -+ mac_cmd = aml_cmd_char_prase(sep, arg_iw, &cmd_arg); ++ mac_cmd = aml_cmd_char_phrase(sep, arg_iw, &cmd_arg); + if (mac_cmd) { + efuse_data_l = (simple_strtoul(mac_cmd[2],NULL,16) << 24) | (simple_strtoul(mac_cmd[3],NULL,16) << 16) + | (simple_strtoul(mac_cmd[4],NULL,16) << 8) | simple_strtoul(mac_cmd[5],NULL,16); @@ -76188,14 +76843,14 @@ index 000000000000..ac86b467ebee + efuse_manual_write(i, 2); + } + } -+ printk("iwpriv write WIFI MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", ++ pr_debug("iwpriv write WIFI MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", + (efuse_data_h & 0xff00) >> 8,efuse_data_h & 0x00ff, (efuse_data_l & 0xff000000) >> 24, + (efuse_data_l & 0x00ff0000) >> 16,(efuse_data_l & 0xff00) >> 8,efuse_data_l & 0xff); + } + kfree(mac_cmd); +} + -+void aml_iwpriv_set_bt_dev_id(char* arg_iw) ++static void aml_iwpriv_set_bt_dev_id(char* arg_iw) +{ + char **mac_cmd; + int i,cmd_arg; @@ -76203,7 +76858,7 @@ index 000000000000..ac86b467ebee + unsigned int efuse_data_l = 0; + unsigned int efuse_data_h = 0; + -+ mac_cmd = aml_cmd_char_prase(sep, arg_iw, &cmd_arg); ++ mac_cmd = aml_cmd_char_phrase(sep, arg_iw, &cmd_arg); + if (mac_cmd) { + efuse_data_h = (simple_strtoul(mac_cmd[0],NULL,16) << 24) | (simple_strtoul(mac_cmd[1],NULL,16) << 16) + | (simple_strtoul(mac_cmd[2],NULL,16) << 8) | simple_strtoul(mac_cmd[3],NULL,16); @@ -76218,7 +76873,7 @@ index 000000000000..ac86b467ebee + efuse_manual_write(i, 2); + } + } -+ printk("iwpriv write BT MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", ++ pr_debug("iwpriv write BT MAC addr is: %02x:%02x:%02x:%02x:%02x:%02x\n", + (efuse_data_h & 0xff000000) >> 24, (efuse_data_h & 0x00ff0000) >> 16, + (efuse_data_h & 0xff00) >> 8,efuse_data_h & 0xff, + (efuse_data_l & 0xff000000) >> 24,(efuse_data_l & 0x00ff0000) >> 16); @@ -76229,7 +76884,7 @@ index 000000000000..ac86b467ebee +static int aml_set_dev_sn(struct net_device *dev, + struct iw_request_info *info, union iwreq_data *wrqu, char *extra) +{ -+ printk("%s, %s\n", __func__,extra); ++ pr_debug("%s, %s\n", __func__,extra); + aml_iwpriv_set_dev_sn(extra); + + return 0; @@ -76243,7 +76898,7 @@ index 000000000000..ac86b467ebee + return -EFAULT; + } + buf[18] = '\0'; -+ printk("%s: %s\n", __func__, buf); ++ pr_debug("%s: %s\n", __func__, buf); + aml_iwpriv_set_mac_addr(buf); + + return 0; @@ -76258,13 +76913,13 @@ index 000000000000..ac86b467ebee + return -EFAULT; + } + buf[18] = '\0'; -+ printk("%s: %s\n", __func__, buf); ++ pr_debug("%s: %s\n", __func__, buf); + aml_iwpriv_set_bt_dev_id(buf); + + return 0; +} + -+int aml_iwpriv_set_debug_switch(char *switch_str) ++static int aml_iwpriv_set_debug_switch(char *switch_str) +{ + int debug_switch = 0; + if(strstr(switch_str,"_off")!=NULL) @@ -76328,7 +76983,7 @@ index 000000000000..ac86b467ebee +static int aml_iwpriv_set_debug(struct net_device *dev, + struct iw_request_info *info, union iwreq_data *wrqu, char *extra) +{ -+ printk("%s, %s\n", __func__,extra); ++ pr_debug("%s, %s\n", __func__,extra); + aml_set_debug_modules(extra); + return 0; + @@ -76338,7 +76993,7 @@ index 000000000000..ac86b467ebee + struct iw_request_info *info, union iwreq_data *wrqu, char *extra) +{ + struct wifi_mac *wifimac = wifi_mac_get_mac_handle(); -+ printk("country code: %s\n", wifimac->wm_country.iso); ++ pr_debug("country code: %s\n", wifimac->wm_country.iso); + + return 0; +} @@ -76352,7 +77007,7 @@ index 000000000000..ac86b467ebee + WIFI_CHANNEL_LOCK(wifimac); + for (i = 0; i < wifimac->wm_nchans; i++) { + c = &wifimac->wm_channels[i]; -+ printk("channel:%d\t frequency:%d \t bandwidth:%dMHz \n", c->chan_pri_num, c->chan_cfreq1, ((1 << c->chan_bw) * 20)); ++ pr_debug("channel:%d\t frequency:%d \t bandwidth:%dMHz \n", c->chan_pri_num, c->chan_cfreq1, ((1 << c->chan_bw) * 20)); + } + WIFI_CHANNEL_UNLOCK(wifimac); + @@ -76371,23 +77026,23 @@ index 000000000000..ac86b467ebee + return -EFAULT; + } + buf[40] = '\0'; -+ printk("%s: %s\n", __func__, buf); ++ pr_debug("%s: %s\n", __func__, buf); + -+ arg = aml_cmd_char_prase(sep, buf, &cmd_arg); ++ arg = aml_cmd_char_phrase(sep, buf, &cmd_arg); + wifi_mac_ap_set_arp_rx(arg); + kfree(arg); + + return 0; +} + -+int iw_standard_get_stats(struct net_device *dev, struct iw_request_info *info, ++static int iw_standard_get_stats(struct net_device *dev, struct iw_request_info *info, + union iwreq_data *wrqu, char *extra) +{ + struct wlan_net_vif *wnet_vif = NULL; + struct iw_statistics stats = {0}; + unsigned int arr[8] = {0}; + -+ printk("%s\n", __func__); ++ pr_debug("%s\n", __func__); + + wnet_vif = aml_iwpriv_get_vif(dev->name); + if ((wnet_vif->vm_opmode != WIFINET_M_STA) && (wnet_vif->vm_state != WIFINET_S_CONNECTED)) { @@ -76407,7 +77062,7 @@ index 000000000000..ac86b467ebee + return 0; +} + -+void sap_change_channel(struct wlan_net_vif *wnet_vif, unsigned int channel) ++static void sap_change_channel(struct wlan_net_vif *wnet_vif, unsigned int channel) +{ + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + struct wifi_channel *c = NULL; @@ -76435,10 +77090,10 @@ index 000000000000..ac86b467ebee + WIFI_CHANNEL_UNLOCK(wifimac); + } + -+ wifi_mac_set_wnet_vif_channel(wnet_vif, channel, wnet_vif->vm_bandwidth, center_chan); ++ wifi_mac_set_wnet_vif_channel(wnet_vif, channel, wnet_vif->vm_bandwidth, center_chan, CHANNEL_CONNECT_FLAG | CHANNEL_RESTORE_FLAG); +} + -+int iw_standard_sap_set_freq(struct net_device *dev, struct iw_request_info *info, ++static int iw_standard_sap_set_freq(struct net_device *dev, struct iw_request_info *info, + union iwreq_data *wrqu, char *extra) +{ + struct wlan_net_vif *wnet_vif = NULL; @@ -76446,7 +77101,7 @@ index 000000000000..ac86b467ebee + struct wifi_channel *c = NULL; + unsigned int set_chl = 0; + -+ printk("%s, freq.m:%d, freq.e:%d\n", __func__, wrqu->freq.m, wrqu->freq.e); ++ pr_debug("%s, freq.m:%d, freq.e:%d\n", __func__, wrqu->freq.m, wrqu->freq.e); + + wifimac = wifi_mac_get_mac_handle(); + @@ -76477,7 +77132,7 @@ index 000000000000..ac86b467ebee + set_chl = c->chan_pri_num; + wnet_vif = aml_iwpriv_get_vif(dev->name); + -+ printk("%s, opmode:%d, nrunning:%d\n", __func__, wnet_vif->vm_opmode, wifimac->wm_nrunning); ++ pr_debug("%s, opmode:%d, nrunning:%d\n", __func__, wnet_vif->vm_opmode, wifimac->wm_nrunning); + if ((wnet_vif->vm_opmode == WIFINET_M_HOSTAP) && (wifimac->wm_nrunning == 1)) { + sap_change_channel(wnet_vif, set_chl); + } @@ -76493,7 +77148,7 @@ index 000000000000..ac86b467ebee + return; + } + -+ printk(" %s %d, time %d\n",__func__,__LINE__, time); ++ pr_debug(" %s %d, time %d\n",__func__,__LINE__, time); + + if(time == 0) { + wifi_mac_pwrsave_set_mode(wnet_vif, WIFINET_PWRSAVE_NONE); @@ -76503,7 +77158,7 @@ index 000000000000..ac86b467ebee + wnet_vif->vm_pwrsave.ips_inactivitytime = time; + + if (wnet_vif->vm_state == WIFINET_S_CONNECTED && wifimac->wm_syncbeacon == 0) { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_beacon_sync(wifimac->drv_priv->wmac, wnet_vif->wnet_vif_id); + } + @@ -76516,14 +77171,14 @@ index 000000000000..ac86b467ebee +} + + -+int iw_standard_set_pwr(struct net_device *dev, struct iw_request_info *info, ++static int iw_standard_set_pwr(struct net_device *dev, struct iw_request_info *info, + union iwreq_data *wrqu, char *extra) +{ + struct wlan_net_vif *wnet_vif = NULL; + unsigned int time = 0; + wnet_vif = aml_iwpriv_get_vif(dev->name); + -+ printk("%s, disable:%d\n", __func__, wrqu->power.disabled); ++ pr_debug("%s, disable:%d\n", __func__, wrqu->power.disabled); + if (wrqu->power.disabled) { + wifi_mac_pwrsave_set_mode(wnet_vif, WIFINET_PWRSAVE_NONE); + if (wnet_vif->vm_wdev) { @@ -76533,14 +77188,14 @@ index 000000000000..ac86b467ebee + } else { + if (wrqu->power.flags & IW_POWER_PERIOD) { + time = wrqu->power.value / 1000; -+ printk("%s, pwr perio value: %d\n", __func__, wrqu->power.value / 1000); ++ pr_debug("%s, pwr perio value: %d\n", __func__, wrqu->power.value / 1000); + } + + switch (wrqu->power.flags & IW_POWER_MODE) { + case IW_POWER_UNICAST_R: + case IW_POWER_MULTICAST_R: + case IW_POWER_ALL_R: -+ printk("%s, pwr mode value: %d\n", __func__, wrqu->power.value / 1000); ++ pr_debug("%s, pwr mode value: %d\n", __func__, wrqu->power.value / 1000); + break; + + case IW_POWER_ON: @@ -76781,6 +77436,9 @@ index 000000000000..ac86b467ebee + AML_IWP_SET_MAC_MODE, + IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_mac_mode"}, + ++{ ++ AML_IWP_SET_WFA_MODE, ++ IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, 0, "set_wfa"}, + +/*iwpriv get command*/ +{ @@ -76938,10 +77596,10 @@ index 000000000000..ac86b467ebee +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.h b/drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.h new file mode 100644 -index 000000000000..d914be608da6 +index 0000000000000000000000000000000000000000..fa426813e2956a98d7249980c1bec6f63a49def1 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_iwpriv_cmd.h -@@ -0,0 +1,88 @@ +@@ -0,0 +1,102 @@ +#ifndef __WIFI_IWPRIV_CMD_H +#define __WIFI_IWPRIV_CMD_H +#include @@ -77024,18 +77682,32 @@ index 000000000000..d914be608da6 + AML_IWP_GET_BT_MAC = 72, + AML_IWP_SET_TXPW_PLAN = 73, + AML_IWP_SET_MAC_MODE = 74, ++ AML_IWP_SET_WOW_TCPPORT = 75, ++ AML_IWP_SET_WFA_MODE = 76, +}; + +extern unsigned char aml_iwpriv_get_band(void); +int aml_set_debug_modules(char *debug_str); + ++unsigned int get_latest_tx_status(struct wifi_mac *wifimac); ++int aml_beacon_intvl_set(struct wlan_net_vif *wnet_vif, unsigned int set); ++int aml_set_ldpc(struct wlan_net_vif *wnet_vif, unsigned int set); ++int aml_iwpriv_set_lagecy_bitrate_mask(struct net_device *dev, unsigned int set); ++int aml_iwpriv_set_ht_bitrate_mask(struct net_device *dev, unsigned int set); ++void aml_iwpriv_set_rate_auto(struct wlan_net_vif *wnet_vif); ++void aml_iwpriv_set_uapsd(struct wlan_net_vif *wnet_vif, unsigned int set); ++int aml_iwpriv_set_vht_bitrate_mask(struct net_device *dev, unsigned int set); ++unsigned char aml_iwpriv_set_band(unsigned int set); ++unsigned int get_reg(struct wlan_net_vif *wnet_vif, unsigned int set); ++unsigned int set_reg(struct wlan_net_vif *wnet_vif, unsigned int set1, unsigned int set2); ++ +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_mac.h b/drivers/net/wireless/w1/vmac/wifi_mac.h new file mode 100644 -index 000000000000..575649add528 +index 0000000000000000000000000000000000000000..68f9a2d63dd2e1de87696b31219edf88709176bc --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac.h -@@ -0,0 +1,1660 @@ +@@ -0,0 +1,1689 @@ +/* + **************************************************************************************** + * @@ -77052,7 +77724,6 @@ index 000000000000..575649add528 +#ifndef _NET80211_IEEE80211_H_ +#define _NET80211_IEEE80211_H_ + -+ +enum wifi_mac_phytype +{ + WIFINET_T_DS=0, @@ -77061,14 +77732,14 @@ index 000000000000..575649add528 + WIFINET_T_VHT, + WIFINET_T_MAX +}; -+#define WIFINET_T_CCK WIFINET_T_DS ++#define WIFINET_T_CCK WIFINET_T_DS +/* XXX not really a mode; there are really multiple PHY's */ + +/* shorthands to compact tables for readability */ -+#define WOFDM WIFINET_T_OFDM -+#define CCK WIFINET_T_CCK -+#define HT WIFINET_T_HT -+#define VHT_PHY WIFINET_T_VHT ++#define WOFDM WIFINET_T_OFDM ++#define CCK WIFINET_T_CCK ++#define HT WIFINET_T_HT ++#define VHT_PHY WIFINET_T_VHT + +enum wifi_mac_macmode +{ @@ -77135,8 +77806,12 @@ index 000000000000..575649add528 +enum sta_connect_status +{ + CONNECT_IDLE, ++ CONNECT_CONNECTING, ++ CONNECT_CONNECTED, + CONNECT_FOUR_WAY_HANDSHAKE_COMPLETED, + CONNECT_DHCP_GET_ACK, ++ CONNECT_DISCONNECTING, ++ CONNECT_DISCONNECTED, +}; + +enum @@ -77218,13 +77893,13 @@ index 000000000000..575649add528 + +struct wifi_channel +{ -+ unsigned short chan_cfreq1; /* center frequency1 for 20/40/80/160, in Mhz */ ++ unsigned short chan_cfreq1; /* center frequency1 for 20/40/80/160, in Mhz */ + //unsigned short chan_cfreq2; /* center frequency2 for 80P80, in Mhz */ + unsigned short chan_flags; -+ unsigned short chan_pri_num; /* primary channel number */ -+ int8_t chan_maxpower; /* maximum tx power in dBm */ -+ int8_t chan_minpower; /* minimum tx power in dBm */ -+ enum wifi_mac_bwc_width chan_bw; /* bandwidth */ ++ unsigned short chan_pri_num; /* primary channel number */ ++ int8_t chan_maxpower; /* maximum tx power in dBm */ ++ int8_t chan_minpower; /* minimum tx power in dBm */ ++ enum wifi_mac_bwc_width chan_bw; /* bandwidth */ + unsigned char global_operating_class; +}; + @@ -77269,44 +77944,48 @@ index 000000000000..575649add528 + struct country_na_freq_info na_freq_info[10]; +}; + -+#define MAX_P2PIE_NUM 4 ++#define MAX_P2PIE_NUM 4 + -+#define WIFINET_CHAN_MAX 256 -+#define WIFINET_CHAN_MAX_NUM 165 -+#define WIFINET_CHAN_BYTES 32 -+#define WIFINET_CHAN_INVALUE 0 -+#define WIFINET_CHAN_ERR NULL -+#define WIFINET_MAX_SCAN_CHAN 64 ++#define WIFINET_CHAN_MAX 256 ++#define WIFINET_CHAN_MAX_NUM 165 ++#define WIFINET_CHAN_BYTES 32 ++#define WIFINET_CHAN_INVALUE 0 ++#define WIFINET_CHAN_ERR NULL ++#define WIFINET_MAX_SCAN_CHAN 64 + -+#define WIFINET_CHAN_2GHZ 0x4000 /* 2.4 GHz channel. */ -+#define WIFINET_CHAN_5GHZ 0x8000 /* 5 GHz channel */ -+#define WIFINET_CHAN_DFS 0x2000 /* DFS */ -+#define WIFINET_CHAN_AWARE 0x1000 /* chan aware */ ++#define WIFINET_CHAN_2GHZ 0x4000 /* 2.4 GHz channel. */ ++#define WIFINET_CHAN_5GHZ 0x8000 /* 5 GHz channel */ ++#define WIFINET_CHAN_DFS 0x2000 /* DFS */ ++#define WIFINET_CHAN_AWARE 0x1000 /* chan aware */ + -+#define WIFINET_CHAN_MODE_MASK 0xff ++#define WIFINET_CHAN_MODE_MASK 0xff ++ ++#define WIFINET_IS_CHAN_ERR(_c) ((_c) == WIFINET_CHAN_ERR) + +#define WIFINET_IS_CHAN_2GHZ(_c) \ -+ (((_c)->chan_flags & WIFINET_CHAN_2GHZ) != 0) ++ ((!WIFINET_IS_CHAN_ERR(_c)) && (((_c)->chan_flags & WIFINET_CHAN_2GHZ) != 0)) ++ +#define WIFINET_IS_CHAN_5GHZ(_c) \ -+ (((_c)->chan_flags & WIFINET_CHAN_5GHZ) != 0) ++ ((!WIFINET_IS_CHAN_ERR(_c)) && (((_c)->chan_flags & WIFINET_CHAN_5GHZ) != 0)) + +#define WIFINET_IS_CHAN_11N_HT40(_c) \ -+ (((_c)->chan_bw == WIFINET_BWC_WIDTH40)) -+ -+#define WIFINET_RATE_SIZE 8 -+#define WIFINET_RATE_MAXSIZE 57 -+#define WIFINET_HT_RATE_SIZE 77 -+#define WIFINET_RATE_BASIC 0x80 -+#define WIFINET_RATE_VAL 0x7f -+#define WIFINET_GET_RATE_VAL(_rate) ((_rate)&WIFINET_RATE_VAL) -+#define WIFINET_RATE_MCS 0x80 -+#define WIFINET_RATE_VHT_MCS 0xC0 -+#define WIFINET_AMPDU_LIMIT_MAX (32768)// (16 * 1024 - 1) ++ ((!WIFINET_IS_CHAN_ERR(_c)) && (((_c)->chan_bw == WIFINET_BWC_WIDTH40))) ++ ++#define WIFINET_RSNXE_SIZE 3 ++#define WIFINET_RATE_SIZE 8 ++#define WIFINET_RATE_MAXSIZE 57 ++#define WIFINET_HT_RATE_SIZE 77 ++#define WIFINET_RATE_BASIC 0x80 ++#define WIFINET_RATE_VAL 0x7f ++#define WIFINET_GET_RATE_VAL(_rate) ((_rate)&WIFINET_RATE_VAL) ++#define WIFINET_RATE_MCS 0x80 ++#define WIFINET_RATE_VHT_MCS 0xC0 ++#define WIFINET_AMPDU_LIMIT_MAX (32768) /* (16 * 1024 - 1) */ + +struct wifi_mac_rateset +{ + unsigned char dot11_rate_num; -+ unsigned char dot11_rate[WIFINET_HT_RATE_SIZE]; ++ unsigned char dot11_rate[WIFINET_HT_RATE_SIZE]; +}; + +enum wifi_mac_state @@ -77349,11 +78028,11 @@ index 000000000000..575649add528 + WIFINET_PUB_MAX, +}; + -+ -+#define PHASE_CONNECTING 1 -+#define PHASE_DISCONNECTING 2 -+#define PHASE_TX_BUFF_QUEUE 4 -+#define PHASE_DISCONNECT_DELAY 8 ++#define PHASE_CONNECTING 1 ++#define PHASE_DISCONNECTING 2 ++#define PHASE_TX_BUFF_QUEUE 4 ++#define PHASE_DISCONNECT_DELAY 8 ++#define PHASE_WAIT_DISCONNECT_RESULT 16 + +enum wifi_mac_recovery_state +{ @@ -77364,10 +78043,10 @@ index 000000000000..575649add528 + WIFINET_RECOVERY_END, +}; + -+#define WIFINET_F_DOSORT 0x00000001 -+#define WIFINET_F_DOFRATE 0x00000002 -+#define WIFINET_F_DOXSECT 0x00000004 -+#define WIFINET_F_DOBRS 0x00000008 ++#define WIFINET_F_DOSORT 0x00000001 ++#define WIFINET_F_DOFRATE 0x00000002 ++#define WIFINET_F_DOXSECT 0x00000004 ++#define WIFINET_F_DOBRS 0x00000008 + +struct wmeParams +{ @@ -77379,9 +78058,8 @@ index 000000000000..575649add528 + unsigned char wmep_noackPolicy; +}; + -+#define WME_NUM_AC 4 -+#define VENDOR_IE_MAX 3 -+ ++#define WME_NUM_AC 4 ++#define VENDOR_IE_MAX 3 + +struct chanAccParams +{ @@ -77402,13 +78080,14 @@ index 000000000000..575649add528 + struct chanAccParams wme_wmeBssChanParams; + struct chanAccParams wme_chanParams; /*this param is set to self chip*/ + struct chanAccParams wme_bssChanParams; /*this param is set beacon use to let sta set to it's chip*/ -+ unsigned char wme_nonAggressiveMode; ++ unsigned char wme_nonAggressiveMode; + + //int (*wme_update)(struct WIFINET_MAC *,struct WIFINET_VMAC *); +}; + +struct wifi_mac_beacon_offsets +{ ++ unsigned char *bo_ssid; + unsigned short *bo_caps; + unsigned char *bo_rates; + unsigned char *bo_channel; @@ -77429,9 +78108,11 @@ index 000000000000..575649add528 + unsigned char *bo_vhtcap; + unsigned char *bo_obss_scan; + unsigned char *bo_extcap; ++ unsigned char *bo_ch_sw_wrp; + unsigned char *bo_vendor_ie[VENDOR_IE_MAX]; + unsigned short bo_chanswitch_trailerlen; + unsigned short bo_extchanswitch_trailerlen; ++ unsigned short bo_chswwrp_trailerlen; + unsigned char bo_initial; + /* beacon sequence number */ + unsigned short bo_bcn_seq; @@ -77691,9 +78372,24 @@ index 000000000000..575649add528 + WIFINET_STATUS_REFUSED = 37, + WIFINET_STATUS_INVALID_PARAM = 38, + WIFINET_STATUS_INVALID_PMKID = 53, ++ WIFINET_STATUS_ANTI_TOKEN_REQUESTED = 76, ++ WIFINET_STATUS_SAE_H2E = 126, //0x7e + +}; + ++ ++enum wifi_mac_sae_message_type { ++ WIFINET_SAE_COMMIT = 0x1, ++ WIFINET_SAE_CONFIRM = 0x2, ++}; ++ ++#define WIFINET_SAE_H2E_ONLY 0xfb ++enum wifi_mac_h2e_status { ++ WIFINET_H2E_NONE, ++ WIFINET_H2E_PEER_SUPPOR, ++ WIFINET_H2E_VALID, ++}; ++ +#define WIFINET_COUNTRY_MAX_TRIPLETS (83) +struct wifi_mac_ie_country +{ @@ -78145,6 +78841,8 @@ index 000000000000..575649add528 +}; + +#define WIFINET_CHANSWITCHANN_BYTES 5 ++#define WIFINET_WIDEBANDCHANSW_BYTES 5 ++#define WIFINET_EXTCHANSWITCHANN_BYTES 6 + +struct wifi_mac_tim_ie +{ @@ -78455,7 +79153,10 @@ index 000000000000..575649add528 +/* + * 802.11ac Wide Bandwidth Channel Switch Element + */ -+ ++enum wifi_mac_new_channel_width { ++ NEW_CHANNEL_BANDWIDTH40 = 0, ++ NEW_CHANNEL_BANDWIDTH80 = 1, ++}; + +struct wifi_mac_ie_vht_wide_bw_switch { + unsigned char elem_id; @@ -78698,7 +79399,7 @@ index 000000000000..575649add528 +#endif /* _NET80211_IEEE80211_H_ */ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_acl.c b/drivers/net/wireless/w1/vmac/wifi_mac_acl.c new file mode 100644 -index 000000000000..4dfd52fdf65a +index 0000000000000000000000000000000000000000..4dfd52fdf65ac3e98dbd45db363f911dc20d3c5b --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_acl.c @@ -0,0 +1,253 @@ @@ -78957,7 +79658,7 @@ index 000000000000..4dfd52fdf65a + diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_acl.h b/drivers/net/wireless/w1/vmac/wifi_mac_acl.h new file mode 100644 -index 000000000000..c05ea664c7ca +index 0000000000000000000000000000000000000000..c05ea664c7ca6adfc0ea447d807df67d39b1c149 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_acl.h @@ -0,0 +1,10 @@ @@ -78973,7 +79674,7 @@ index 000000000000..c05ea664c7ca +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_action.c b/drivers/net/wireless/w1/vmac/wifi_mac_action.c new file mode 100644 -index 000000000000..49276a7b0864 +index 0000000000000000000000000000000000000000..b896d536be22e52d83a102d27953373b5e8cc535 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_action.c @@ -0,0 +1,164 @@ @@ -78998,7 +79699,7 @@ index 000000000000..49276a7b0864 + selected_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_MAIN_VMAC]; + } + } else { -+ printk("%s, no sta connected\n", __func__); ++ pr_warn("%s, no sta connected\n", __func__); + return -1; + } + @@ -79015,17 +79716,17 @@ index 000000000000..49276a7b0864 + + for (i = 0 ; i < ETH_ALEN ; i++) { + if (aml_char_is_hex_digit(buf[i * 3]) == false || aml_char_is_hex_digit(buf[i * 3 + 1]) == false) { -+ printk("%s invalid 8-bit hex format for address offset:%u\n", __func__, i); ++ pr_err("%s invalid 8-bit hex format for address offset:%u\n", __func__, i); + } + + if (i < ETH_ALEN - 1 && buf[i * 3 + 2] != ':') { -+ printk("%s invalid separator after address offset:%u\n", __func__, i); ++ pr_err("%s invalid separator after address offset:%u\n", __func__, i); + } + + temp[0] = buf[i * 3]; + temp[1] = buf[i * 3 + 1]; + if (sscanf(temp, "%hhx", &selected_wnet_vif->vm_mainsta->sta_macaddr[i]) != 1) { -+ printk("%s sscanf fail for address offset:0x%03x\n", __func__, i); ++ pr_err("%s sscanf fail for address offset:0x%03x\n", __func__, i); + } + } + } @@ -79052,7 +79753,7 @@ index 000000000000..49276a7b0864 + selected_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_MAIN_VMAC]; + } + } else { -+ printk("%s, no sta connected\n", __func__); ++ pr_warn("%s, no sta connected\n", __func__); + return -1; + } + @@ -79082,7 +79783,7 @@ index 000000000000..49276a7b0864 + selected_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_MAIN_VMAC]; + } + } else { -+ printk("%s, no sta connected\n", __func__); ++ pr_warn("%s, no sta connected\n", __func__); + return -1; + } + @@ -79125,7 +79826,7 @@ index 000000000000..49276a7b0864 + selected_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_MAIN_VMAC]; + } + } else { -+ printk("%s, no sta connected\n", __func__); ++ pr_warn("%s, no sta connected\n", __func__); + return -1; + } + sscanf(buf, "%d", &tid); @@ -79143,10 +79844,10 @@ index 000000000000..49276a7b0864 + diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_action.h b/drivers/net/wireless/w1/vmac/wifi_mac_action.h new file mode 100644 -index 000000000000..7e4e9d44cb42 +index 0000000000000000000000000000000000000000..0e9bbcf4ab9ce2e5099ee1cf64c93f0e2afe499e --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_action.h -@@ -0,0 +1,320 @@ +@@ -0,0 +1,335 @@ +/* + **************************************************************************************** + * @@ -79290,12 +79991,27 @@ index 000000000000..7e4e9d44cb42 +enum WIFINET_PUBLIC_ACTION +{ + WIFINET_ACT_PUBLIC_BSSCOEXIST = 0, ++ WIFINET_ACT_PUBLIC_CSA = 4, + WIFINET_ACT_PUBLIC_MP = 7, + WIFINET_ACT_PUBLIC_P2P = 9, + WIFINET_ACT_PUBLIC_GAS_REQ = 10, + WIFINET_ACT_PUBLIC_GAS_RSP = 11, +}; + ++struct wifi_mac_ie_csa ++{ ++ unsigned char chan_switch_mode; ++ unsigned char new_operation_class; ++ unsigned char new_chan_num; ++ unsigned char chan_switch_count; ++}__packed; ++ ++struct wifi_mac_action_csa_frame ++{ ++ struct wifi_mac_action ac_header; ++ struct wifi_mac_ie_csa csa; ++} __packed; ++ +#define OUI_TYPE_P2P 0x09 +#define OUI_TYPE_DPP 0x1a + @@ -79469,7 +80185,7 @@ index 000000000000..7e4e9d44cb42 +#endif//_WIFI_MAC_ACTION_H_ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_amsdu.c b/drivers/net/wireless/w1/vmac/wifi_mac_amsdu.c new file mode 100644 -index 000000000000..83633b1d39a9 +index 0000000000000000000000000000000000000000..5063025bf8f6f6d4d078f92696b3bf2e8e8e96f8 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_amsdu.c @@ -0,0 +1,689 @@ @@ -79495,7 +80211,7 @@ index 000000000000..83633b1d39a9 +/*avoid use kalloc to allocate mem. */ +static struct wifi_mac_msdu_node g_msdu_node [(MAX_MSDU_CNT + 4) * WME_NUM_TID]; + -+int wifi_mac_msdu_list_init(struct msdu_list * msdu_list, int num) ++static int wifi_mac_msdu_list_init(struct msdu_list * msdu_list, int num) +{ + int i = 0; + int node_num = num; @@ -79519,7 +80235,7 @@ index 000000000000..83633b1d39a9 + return node_num; +} + -+struct wifi_mac_msdu_node *wifi_mac_msdu_node_alloc(struct msdu_list *msdu_list) ++static struct wifi_mac_msdu_node *wifi_mac_msdu_node_alloc(struct msdu_list *msdu_list) +{ + struct wifi_mac_msdu_node *msdu_node = NULL; + @@ -79535,7 +80251,7 @@ index 000000000000..83633b1d39a9 + return msdu_node; +} + -+void wifi_mac_msdu_node_free(struct wifi_mac_msdu_node *msdu_node, struct msdu_list *msdu_list) ++static void wifi_mac_msdu_node_free(struct wifi_mac_msdu_node *msdu_node, struct msdu_list *msdu_list) +{ + if (msdu_node == NULL || msdu_list == NULL) + return; @@ -80146,7 +80862,7 @@ index 000000000000..83633b1d39a9 + sta->sta_amsdu->amsdu_max_length = MIN(sta->sta_amsdu->amsdu_max_length, AMSDU_SIZE_3839); + } + -+ printk(" %s (%d) amsdu_max_length=%d\n", __func__,__LINE__, sta->sta_amsdu->amsdu_max_length ); ++ pr_debug(" %s (%d) amsdu_max_length=%d\n", __func__,__LINE__, sta->sta_amsdu->amsdu_max_length ); + + for (tid = 0; tid < WME_NUM_TID; tid++) + { @@ -80164,7 +80880,7 @@ index 000000000000..83633b1d39a9 + diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_amsdu.h b/drivers/net/wireless/w1/vmac/wifi_mac_amsdu.h new file mode 100644 -index 000000000000..f25270d6f6b1 +index 0000000000000000000000000000000000000000..f25270d6f6b182ec1f4885985412e4237e1f2cd7 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_amsdu.h @@ -0,0 +1,84 @@ @@ -80254,78 +80970,78 @@ index 000000000000..f25270d6f6b1 +#endif /* _IEEE80211_AMSDU_H_ */ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_arp.h b/drivers/net/wireless/w1/vmac/wifi_mac_arp.h new file mode 100644 -index 000000000000..7914aa34e188 +index 0000000000000000000000000000000000000000..8a48beb8fdb428b5382c9613c0c23fa693e9a70b --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_arp.h @@ -0,0 +1,62 @@ -+/* -+ **************************************************************************************** -+ * -+ * Copyright (C) Amlogic 2010-2014 -+ * -+ * Project: 11N 80211 mac layer Software -+ * -+ * Description: -+ * wifi_mac layer interface function/interface use by driver layer -+ * -+ * -+ **************************************************************************************** -+ */ -+ -+#ifndef _WIFI_MAC_ARP_H_ -+#define _WIFI_MAC_ARP_H_ -+ -+#define WIFI_ARP_GET_AP_IP BIT(0) -+ -+#define IPV4_LEN 4 -+#define ETHERNET_HW_TYPE 1 -+#define ARP_HW_ADDR_LEN 6 -+#define ARP_PROTO_ADDR_LEN 4 -+#define ARP_REQUEST 1 -+#define ARP_RESPONSE 2 -+ -+typedef struct wifi_arp_pkt { -+ unsigned short hw_type; -+ unsigned short proto_type; -+ unsigned char hw_len; -+ unsigned char proto_len; -+ unsigned short op; -+ unsigned char src_mac_addr[WIFINET_ADDR_LEN]; -+ unsigned char src_ip_addr[IPV4_LEN]; -+ unsigned char dst_mac_addr[WIFINET_ADDR_LEN]; -+ unsigned char dst_ip_addr[IPV4_LEN]; -+} wifi_arp_pkt; -+ -+typedef struct wifi_mac_iphdr { -+ unsigned char version; -+ unsigned char tos; -+ unsigned short tot_len; -+ unsigned short id; -+ unsigned short frag_off; -+ unsigned char ttl; -+ unsigned char protocol; -+ unsigned short check; -+ unsigned int saddr; -+ unsigned int daddr; -+} wifi_ip_header; -+ -+typedef struct wifi_udp_pkt { -+ unsigned short src_port; -+ unsigned short dst_port; -+ unsigned short len; -+ unsigned short checksum; -+ unsigned char data[0]; -+} wifi_udp_pkt; -+ -+ -+#endif//_WIFI_MAC_ARP_H_ -+ ++/* ++ **************************************************************************************** ++ * ++ * Copyright (C) Amlogic 2010-2014 ++ * ++ * Project: 11N 80211 mac layer Software ++ * ++ * Description: ++ * wifi_mac layer interface function/interface use by driver layer ++ * ++ * ++ **************************************************************************************** ++ */ ++ ++#ifndef _WIFI_MAC_ARP_H_ ++#define _WIFI_MAC_ARP_H_ ++ ++#define WIFI_ARP_GET_AP_IP BIT(0) ++ ++#define IPV4_LEN 4 ++#define ETHERNET_HW_TYPE 1 ++#define ARP_HW_ADDR_LEN 6 ++#define ARP_PROTO_ADDR_LEN 4 ++#define ARP_REQUEST 1 ++#define ARP_RESPONSE 2 ++ ++typedef struct wifi_arp_pkt { ++ unsigned short hw_type; ++ unsigned short proto_type; ++ unsigned char hw_len; ++ unsigned char proto_len; ++ unsigned short op; ++ unsigned char src_mac_addr[WIFINET_ADDR_LEN]; ++ unsigned char src_ip_addr[IPV4_LEN]; ++ unsigned char dst_mac_addr[WIFINET_ADDR_LEN]; ++ unsigned char dst_ip_addr[IPV4_LEN]; ++} wifi_arp_pkt; ++ ++typedef struct wifi_mac_iphdr { ++ unsigned char version; ++ unsigned char tos; ++ unsigned short tot_len; ++ unsigned short id; ++ unsigned short frag_off; ++ unsigned char ttl; ++ unsigned char protocol; ++ unsigned short check; ++ unsigned int saddr; ++ unsigned int daddr; ++} wifi_ip_header; ++ ++typedef struct wifi_udp_pkt { ++ unsigned short src_port; ++ unsigned short dst_port; ++ unsigned short len; ++ unsigned short checksum; ++ unsigned char data[0]; ++} wifi_udp_pkt; ++ ++ ++#endif//_WIFI_MAC_ARP_H_ ++ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_beacon.c b/drivers/net/wireless/w1/vmac/wifi_mac_beacon.c new file mode 100644 -index 000000000000..40d5fbf94970 +index 0000000000000000000000000000000000000000..be831b1bb067092eab410a42dc51c5df1a32fe04 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_beacon.c -@@ -0,0 +1,917 @@ +@@ -0,0 +1,1112 @@ +/* + **************************************************************************************** + * @@ -80348,11 +81064,11 @@ index 000000000000..40d5fbf94970 + struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; + struct wifi_mac *wifimac = sta->sta_wmac; + unsigned short capinfo; -+ struct wifi_mac_rateset *rs = &sta->sta_rates; ++ struct wifi_mac_rateset rs = sta->sta_rates; + unsigned char index = 0; + + KASSERT(wnet_vif->vm_curchan != WIFINET_CHAN_ERR, ("no bss chan")); -+ printk("%s(%d)\n", __func__, __LINE__); ++ pr_debug("%s(%d)\n", __func__, __LINE__); + + memset(frm, 0, 8); + frm += 8; @@ -80380,6 +81096,7 @@ index 000000000000..40d5fbf94970 + *(unsigned short *)frm = htole16(capinfo); + + frm += 2; ++ bo->bo_ssid = frm; + *frm++ = WIFINET_ELEMID_SSID; + if ((wnet_vif->vm_flags & WIFINET_F_HIDESSID) == 0) { + *frm++ = sta->sta_esslen; @@ -80391,7 +81108,10 @@ index 000000000000..40d5fbf94970 + } + + bo->bo_rates = frm; -+ frm = wifi_mac_add_rates(frm, rs); ++ if (wnet_vif->vm_sae_h2e_only == 1) { ++ rs.dot11_rate[rs.dot11_rate_num++] = WIFINET_SAE_H2E_ONLY; ++ } ++ frm = wifi_mac_add_rates(frm, &rs); + + /*VHT mode ,non-support DSSS Parameter Set*/ + *frm++ = WIFINET_ELEMID_DSPARMS; @@ -80432,16 +81152,24 @@ index 000000000000..40d5fbf94970 + *frm++ = WIFINET_PWRCONSTRAINT_VAL(wnet_vif); + } + bo->bo_chanswitch = frm; ++ bo->bo_extchanswitch = frm; ++ bo->bo_erp = NULL; + -+ if (WIFINET_INCLUDE_11G(wnet_vif->vm_mac_mode)) { ++ if (WIFINET_INCLUDE_11G(wnet_vif->vm_mac_mode) ++ && (wnet_vif->vm_curchan->chan_pri_num >= 1 && wnet_vif->vm_curchan->chan_pri_num <= 14)) { + bo->bo_erp = frm; + frm = wifi_mac_add_erp(frm, wifimac); + } + -+ if (wnet_vif->vm_flags & WIFINET_F_WPA) ++ if (wnet_vif->vm_flags & WIFINET_F_WPA) { + frm = wifi_mac_add_wpa(frm, wnet_vif); ++ if (wnet_vif->vm_flags & WIFINET_F_H2E) { ++ frm = wifi_mac_add_rsnxe(frm, wnet_vif); ++ AML_OUTPUT("added rsnxe ie\n"); ++ } ++ } + -+ frm = wifi_mac_add_xrates(frm, rs); ++ frm = wifi_mac_add_xrates(frm, &rs); + if (wnet_vif->vm_flags & WIFINET_F_WME) { + bo->bo_wme = frm; + frm = wifi_mac_add_wme_param(frm, &wifimac->wm_wme[wnet_vif->wnet_vif_id], WIFINET_VMAC_UAPSD_ENABLED(wnet_vif)); @@ -80483,11 +81211,14 @@ index 000000000000..40d5fbf94970 + frm = wifi_mac_add_vendor_ie(frm, wifimac, index); + } + } ++ bo->bo_ch_sw_wrp = frm; + bo->bo_appie_buf = frm; + bo->bo_appie_buf_len = 0; + wnet_vif->vm_flags_ext |= WIFINET_FEXT_APPIE_UPDATE; + bo->bo_tim_trailerlen = frm - bo->bo_tim_trailer; + bo->bo_chanswitch_trailerlen = frm - bo->bo_chanswitch; ++ bo->bo_extchanswitch_trailerlen = frm - bo->bo_extchanswitch; ++ bo->bo_chswwrp_trailerlen = frm - bo->bo_ch_sw_wrp; + bo->bo_initial = 1; + bo->bo_bcn_seq = 0; + return frm; @@ -80549,21 +81280,59 @@ index 000000000000..40d5fbf94970 + struct wifi_mac *wifimac = sta->sta_wmac; + int len_changed = 0; + unsigned short capinfo; -+ struct wifi_channel *main_vmac_chan = NULL; ++ struct wifi_channel *switch_chan = NULL; + unsigned char concurrent_set_channel = 1; + + if (bo->bo_initial != 1) + { -+ printk(KERN_CRIT "%s %d, bug to fix\n",__func__,__LINE__); ++ pr_crit("%s %d, bug to fix\n",__func__,__LINE__); + return len_changed; + } + ++ if (wnet_vif->vm_p2p->go_hidden_mode != (wnet_vif->vm_flags & WIFINET_F_HIDESSID)>>WIFINET_F_HIDESSID_TO_BIT0_OFST) { ++ unsigned char *frm; ++ ++ DPRINTF(AML_DEBUG_BEACON, "%s(%d), GO_HIDDEN_MODE[%d], HIDESSID[%d], CHANNEL_SWITCH[%d]\n", ++ __func__, __LINE__, wnet_vif->vm_p2p->go_hidden_mode, ++ (wnet_vif->vm_flags & WIFINET_F_HIDESSID) >> 27,(wifimac->wm_flags & WIFINET_F_CHANSWITCH) >> 31); ++ ++ if (!((wifimac->wm_flags & WIFINET_F_DOTH) && (wifimac->wm_flags & WIFINET_F_CHANSWITCH))) { ++ if (wnet_vif->vm_p2p->go_hidden_mode) { ++ wnet_vif->vm_flags |= WIFINET_F_HIDESSID; ++ } else { ++ wnet_vif->vm_flags &= ~WIFINET_F_HIDESSID; ++ } ++ } ++ ++ WIFINET_BEACON_LOCK(wifimac); ++ os_skb_pull(skb, sizeof(struct wifi_frame)); ++ os_skb_trim(skb, 0); ++ frm = os_skb_data(skb); ++ if (frm == NULL) ++ { ++ WIFINET_BEACON_UNLOCK(wifimac); ++ ERROR_DEBUG_OUT(" ERROR\n"); ++ return 0; ++ } ++ os_skb_put(skb, wifi_mac_beacon_init(sta, bo, frm) - frm); ++ os_skb_push(skb, sizeof(struct wifi_frame)); ++ WIFINET_BEACON_UNLOCK(wifimac); ++ ++ if ((wifimac->wm_flags & WIFINET_F_DOTH) && (wifimac->wm_flags & WIFINET_F_CHANSWITCH)) { ++ if (wnet_vif->vm_p2p->go_hidden_mode) { ++ wnet_vif->vm_flags |= WIFINET_F_HIDESSID; ++ } else { ++ wnet_vif->vm_flags &= ~WIFINET_F_HIDESSID; ++ } ++ } ++ } ++ + if ((wifimac->wm_flags & WIFINET_F_DOTH) && (wnet_vif->vm_flags & WIFINET_F_CHANSWITCH) && + (wnet_vif->vm_chanchange_count == wifimac->wm_doth_tbtt)) + { + unsigned char *frm; -+ struct wifi_mac_ie_vht_opt *vhtop = (struct wifi_mac_ie_vht_opt *) bo->bo_vhtop; + int center_chan = 0; ++ unsigned char channel_switch_flag = CHANNEL_CONNECT_FLAG | CHANNEL_RESTORE_FLAG; + + if (wnet_vif->vm_bandwidth == WIFINET_BWC_WIDTH20) + { @@ -80571,7 +81340,7 @@ index 000000000000..40d5fbf94970 + } + else if (wnet_vif->vm_bandwidth == WIFINET_BWC_WIDTH40) + { -+ if (wnet_vif->scnd_chn_offset == WIFINET_HTINFO_EXTOFFSET_ABOVE) ++ if (wnet_vif->scnd_chn_offset == WIFINET_HTINFO_EXTOFFSET_BELOW) + center_chan = wifimac->wm_doth_channel + 2; + else if (wnet_vif->scnd_chn_offset == WIFINET_HTINFO_EXTOFFSET_ABOVE) + center_chan = wifimac->wm_doth_channel - 2; @@ -80580,7 +81349,9 @@ index 000000000000..40d5fbf94970 + } + else if (wnet_vif->vm_bandwidth == WIFINET_BWC_WIDTH80) + { -+ center_chan = vhtop->vht_op_ch_freq_seg1; ++ if (wnet_vif->vm_curchan != NULL) { ++ center_chan = wifi_mac_mhz2chan(wnet_vif->vm_curchan->chan_cfreq1); ++ } + } + else + { @@ -80588,67 +81359,123 @@ index 000000000000..40d5fbf94970 + } + + if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode())) { ++ if (wnet_vif->csa_target.switch_chan.chan_pri_num != 0) { ++ switch_chan = &(wnet_vif->csa_target.switch_chan); + -+ if (wifi_mac_is_others_wnet_vif_running(wnet_vif) == true) { -+ main_vmac_chan = wifi_mac_get_main_vmac_channel(wifimac); -+ -+ if ((main_vmac_chan) -+ && (main_vmac_chan->chan_pri_num == wnet_vif->vm_curchan->chan_pri_num) -+ && (main_vmac_chan->chan_bw == wnet_vif->vm_bandwidth) -+ && (center_chan == wifi_mac_Mhz2ieee(main_vmac_chan->chan_cfreq1, 0))) { -+ ++ if (wnet_vif->vm_curchan ++ && !memcmp(switch_chan, wnet_vif->vm_curchan, sizeof(struct wifi_channel))) { + concurrent_set_channel = 0;//no need set channel again due to bw ++ memset(&(wnet_vif->csa_target.switch_chan), 0, sizeof(struct wifi_channel)); + } + } else { + /*no other vmac running, no need set concurrent channel*/ + concurrent_set_channel = 0; + } + -+ + if (concurrent_set_channel) { /*need think if system want to change channel*/ -+ struct wlan_net_vif *main_wnet_vif = wifi_mac_running_main_wnet_vif(wifimac); ++ struct wifi_station *sta_entry = NULL, *next = NULL; ++ struct wifi_station_tbl *nt = &wnet_vif->vm_sta_tbl; ++ int update_band_to_2g = 0; ++ int update_band_to_5g = 0; ++ ++ /*sta connect to 5G ap, softap need update channel/band/mac_mode as sta*/ ++ if (switch_chan) { ++ if (wnet_vif->vm_curchan) { ++ if ((wnet_vif->vm_curchan->chan_pri_num >= 36) ++ && (switch_chan->chan_pri_num <= 14)) { ++ update_band_to_2g = 1; ++ } else if((wnet_vif->vm_curchan->chan_pri_num <= 14) ++ && (switch_chan->chan_pri_num > 36)) { ++ update_band_to_5g = 1; ++ } ++ } + -+ /*sta connect to 5G ap, softap need update channel/band/mac_mode as sta*/ -+ if (main_wnet_vif && main_vmac_chan) { -+ wnet_vif->vm_curchan = main_vmac_chan; -+ wnet_vif->vm_bandwidth = main_vmac_chan->chan_bw; -+ wnet_vif->vm_mac_mode = main_wnet_vif->vm_mac_mode; -+ sta->sta_chbw = main_vmac_chan->chan_bw; ++ wnet_vif->vm_curchan = switch_chan; ++ wnet_vif->vm_bandwidth = switch_chan->chan_bw; + + if (wnet_vif->vm_curchan->chan_bw >= WIFINET_BWC_WIDTH40) { + wnet_vif->vm_htcap |= WIFINET_HTCAP_SUPPORTCBW40; + } + -+ if (main_vmac_chan->chan_pri_num < wifi_mac_Mhz2ieee(main_vmac_chan->chan_cfreq1, 0)) { ++ if (switch_chan->chan_pri_num < wifi_mac_Mhz2ieee(switch_chan->chan_cfreq1, 0)) { + wnet_vif->scnd_chn_offset = WIFINET_HTINFO_EXTOFFSET_ABOVE; -+ } else if (main_vmac_chan->chan_pri_num > wifi_mac_Mhz2ieee(main_vmac_chan->chan_cfreq1, 0)) { ++ } else if (switch_chan->chan_pri_num > wifi_mac_Mhz2ieee(switch_chan->chan_cfreq1, 0)) { + wnet_vif->scnd_chn_offset = WIFINET_HTINFO_EXTOFFSET_BELOW; + } else{ + wnet_vif->scnd_chn_offset = WIFINET_HTINFO_EXTOFFSET_NA; + } + -+ wifi_mac_set_wnet_vif_channel(wnet_vif, main_vmac_chan->chan_pri_num, main_vmac_chan->chan_bw, wifi_mac_Mhz2ieee(main_vmac_chan->chan_cfreq1, 0)); -+ printk("set ap %s(%d) chan %d, mac mode %d, band %d\n",__func__,__LINE__, -+ wnet_vif->vm_curchan->chan_pri_num, wnet_vif->vm_mac_mode, wnet_vif->vm_bandwidth); ++ wifi_mac_set_wnet_vif_channel(wnet_vif, switch_chan->chan_pri_num, switch_chan->chan_bw, wifi_mac_Mhz2ieee(switch_chan->chan_cfreq1, 0), channel_switch_flag); ++ pr_debug("%s(%d) set ap chan %d, mac mode %d, band %d slot %d\n",__func__,__LINE__, ++ wnet_vif->vm_curchan->chan_pri_num, wnet_vif->vm_mac_mode, wnet_vif->vm_bandwidth, wifimac->wm_vsdb_slot); ++ ++ list_for_each_entry_safe(sta_entry, next, &nt->nt_nsta, sta_list) { ++ if (sta_entry->sta_associd != 0) { ++ if (sta_entry->sta_chbw > switch_chan->chan_bw) { ++ sta_entry->sta_chbw = switch_chan->chan_bw; ++ } ++ ++ if (update_band_to_2g) { ++ sta_entry->sta_flags &= ~WIFINET_NODE_VHT; ++ sta_entry->sta_vhtcap = 0; ++ } ++ } ++ } ++ ++ if (wifimac->wm_vsdb_slot != CONCURRENT_SLOT_NONE) { ++ wifi_mac_set_vsdb_task(wifimac, wnet_vif, DISABLE); ++ wifimac->wm_vsdb_slot = CONCURRENT_SLOT_NONE; ++ wifimac->vsdb_mode_set_noa_enable = 0; ++ ++ if (wifimac->wm_vsdb_slot == CONCURRENT_SLOT_P2P) { ++ /*sta need notify ap*/ ++ wifimac->wm_vsdb_flags = CONCURRENT_SWITCH_TO_STA_CHANNEL; ++ } else { ++ wifimac->wm_vsdb_flags = 0; ++ wifimac->wm_vsdb_slot = CONCURRENT_SLOT_NONE; ++ } ++ ++ if (wnet_vif->vm_wdev->iftype == NL80211_IFTYPE_P2P_GO) ++ { ++ if (wnet_vif->vm_p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI) ++ { ++ vm_p2p_go_cancel_opps(wnet_vif->vm_p2p); ++ } ++ if (wnet_vif->vm_p2p->p2p_flag & P2P_NOA_START_FLAG_HI) ++ { ++ vm_p2p_go_cancel_noa(wnet_vif->vm_p2p); ++ } ++ } ++ } ++ wnet_vif->csa_target.start = 0; ++ wifi_mac_add_work_task(wifimac, vm_cfg80211_chan_switch_notify_task, NULL, (SYS_TYPE)wifimac, (SYS_TYPE)wnet_vif, 0, (SYS_TYPE)&(wnet_vif->csa_target.switch_chan), 0); + } + } + } else { -+ if (wifi_mac_set_wnet_vif_channel(wnet_vif, wifimac->wm_doth_channel, wnet_vif->vm_bandwidth, center_chan) == false) ++ if (wifi_mac_set_wnet_vif_channel(wnet_vif, wifimac->wm_doth_channel, wnet_vif->vm_bandwidth, center_chan, channel_switch_flag) == false) + { + return 0; + } + } + WIFINET_BEACON_LOCK(wifimac); ++ wifi_mac_ap_set_basic_rates(wnet_vif, wnet_vif->vm_mac_mode); ++ wifi_mac_set_legacy_rates(&wnet_vif->vm_legacy_rates, wnet_vif); ++ sta->sta_rates = wnet_vif->vm_legacy_rates; ++ sta->sta_htrates = wifimac->wm_sup_ht_rates; ++ sta->sta_vhtrates = wifimac->wm_sup_vht_rates; ++ wifi_mac_build_country_ie(wnet_vif); + wnet_vif->vm_chanchange_count = 0; + wnet_vif->vm_flags &= ~WIFINET_F_CHANSWITCH; + wifimac->wm_flags &= ~WIFINET_F_CHANSWITCH; ++ wnet_vif->vm_flags &= ~WIFINET_F_DOTH; ++ wifimac->wm_flags &= ~WIFINET_F_DOTH; + os_skb_pull(skb, sizeof(struct wifi_frame)); + os_skb_trim(skb, 0); + frm = os_skb_data(skb); + if (frm == NULL) + { + WIFINET_BEACON_UNLOCK(wifimac); -+ printk(" %s %d ERROR\n",__func__,__LINE__); ++ pr_err(" %s %d ERROR\n",__func__,__LINE__); + return 0; + } + os_skb_put(skb, wifi_mac_beacon_init(sta, bo, frm) - frm); @@ -80687,7 +81514,7 @@ index 000000000000..40d5fbf94970 + struct wifi_mac_wme_state *wme = &wifimac->wm_wme[wnet_vif->wnet_vif_id]; + if (wme == NULL) + { -+ printk(" %s %d ERROR!!\n",__func__,__LINE__); ++ pr_err(" %s %d ERROR!!\n",__func__,__LINE__); + } + + if (wnet_vif->vm_flags_ext & WIFINET_FEXT_WMETUN) @@ -80802,9 +81629,15 @@ index 000000000000..40d5fbf94970 + bo->bo_tim_trailerlen); + bo->bo_tim_trailer = tie->tim_bitmap+timlen; + bo->bo_chanswitch += trailer_adjust; ++ bo->bo_extchanswitch += trailer_adjust; ++ bo->bo_ch_sw_wrp += trailer_adjust; + bo->bo_wme += trailer_adjust; -+ bo->bo_erp += trailer_adjust; + bo->bo_appie_buf += trailer_adjust; ++ if (bo->bo_erp) ++ { ++ bo->bo_erp += trailer_adjust; ++ } ++ + if (timlen > bo->bo_tim_len) + os_skb_put(skb, timlen - bo->bo_tim_len); + else @@ -80868,33 +81701,40 @@ index 000000000000..40d5fbf94970 + WIFINET_BEACON_LOCK(wifimac); + if ((wifimac->wm_flags & WIFINET_F_DOTH) && (wifimac->wm_flags & WIFINET_F_CHANSWITCH)) + { ++ if (wnet_vif->csa_target.switch_chan.chan_pri_num == 0) { ++ ERROR_DEBUG_OUT("error primary channel number:%d\n",wnet_vif->csa_target.switch_chan.chan_pri_num); ++ } ++ switch_chan = &(wnet_vif->csa_target.switch_chan); ++ ++ if (((wifimac->wm_vsdb_slot == CONCURRENT_SLOT_P2P) || (wifimac->wm_vsdb_slot == CONCURRENT_SLOT_NONE)) ++ && !(wnet_vif->csa_target.start)) { ++ wnet_vif->csa_target.start = 1; ++ wnet_vif->csa_count = wifimac->wm_doth_tbtt; ++ DPRINTF(AML_DEBUG_BEACON, "%s(%d), channel switch announce start, vsdb_slot:%d\n", ++ __func__, __LINE__, wifimac->wm_vsdb_slot); ++ } + -+ if (!wnet_vif->vm_chanchange_count) ++ if (wnet_vif->csa_count > 0) { ++ static struct cfg80211_chan_def chan_def = {0}; ++ if (wifi_mac_get_chandef(switch_chan, &chan_def) == true) { ++ wifi_mac_add_work_task(wifimac, wifi_mac_csa_send_action_task, NULL, (SYS_TYPE) wifimac, (SYS_TYPE) wnet_vif, (SYS_TYPE) &chan_def, 0, 0); ++ } ++ } ++ ++ if (!wnet_vif->vm_chanchange_count && wnet_vif->csa_target.start) + { + wnet_vif->vm_flags |= WIFINET_F_CHANSWITCH; -+ -+ memmove(bo->bo_chanswitch + WIFINET_CHANSWITCHANN_BYTES, -+ bo->bo_chanswitch, bo->bo_chanswitch_trailerlen); -+ -+ bo->bo_chanswitch[0] = WIFINET_ELEMID_CHANSWITCHANN; -+ bo->bo_chanswitch[1] = 3; -+ bo->bo_chanswitch[2] = 1; -+ bo->bo_chanswitch[3] = wifimac->wm_doth_channel; -+ bo->bo_chanswitch[4] = wifimac->wm_doth_tbtt; -+ bo->bo_chanswitch_trailerlen += WIFINET_CHANSWITCHANN_BYTES; -+ bo->bo_tim_trailerlen += WIFINET_CHANSWITCHANN_BYTES; -+ bo->bo_wme += WIFINET_CHANSWITCHANN_BYTES; -+ bo->bo_erp += WIFINET_CHANSWITCHANN_BYTES; -+ bo->bo_appie_buf += WIFINET_CHANSWITCHANN_BYTES; -+ -+ os_skb_put(skb, WIFINET_CHANSWITCHANN_BYTES); ++ wifi_mac_beacon_update_csaie(sta, bo, skb, switch_chan); + len_changed = 1; ++ wifi_mac_add_work_task(wifimac, vm_cfg80211_chan_switch_notify_task, NULL, (SYS_TYPE)wifimac, (SYS_TYPE)wnet_vif, 1, (SYS_TYPE)&(wnet_vif->csa_target.switch_chan), 0); + } -+ else ++ else if (wnet_vif->vm_chanchange_count && wnet_vif->csa_target.start) + { + bo->bo_chanswitch[4]--; ++ if (switch_chan->chan_bw == WIFINET_BWC_WIDTH80) { ++ bo->bo_extchanswitch[5]--; ++ } + } -+ + } + if (((jiffies - wifimac->wm_time_nonerp_present) >= WIFINET_INACT_NONERP * HZ) + && wifimac->wm_nonerpsta == 0 && (wifimac->wm_flags & WIFINET_F_USEPROT)) @@ -80904,13 +81744,17 @@ index 000000000000..40d5fbf94970 + wifi_mac_update_protmode(wifimac); + wifi_mac_set_shortslottime(wifimac, 1); + } -+ if (wifimac->wm_flags_ext & WIFINET_FEXT_ERPUPDATE) ++ ++ if ((wifimac->wm_flags_ext & WIFINET_FEXT_ERPUPDATE) && ++ (wnet_vif->vm_curchan->chan_pri_num >= 1 && wnet_vif->vm_curchan->chan_pri_num <= 14)) + { -+ wifi_mac_add_erp(bo->bo_erp, wifimac); -+ wifimac->wm_flags_ext &= ~WIFINET_FEXT_ERPUPDATE; ++ if (bo->bo_erp) { ++ wifi_mac_add_erp(bo->bo_erp, wifimac); ++ wifimac->wm_flags_ext &= ~WIFINET_FEXT_ERPUPDATE; ++ } + } + -+ if ((wifimac->wm_flags & WIFINET_F_DOTH) && (wifimac->wm_flags & WIFINET_F_CHANSWITCH)) ++ if ((wifimac->wm_flags & WIFINET_F_DOTH) && (wifimac->wm_flags & WIFINET_F_CHANSWITCH) && wnet_vif->csa_target.start) + { + wnet_vif->vm_chanchange_count++; + if (wnet_vif->vm_chanchange_count == wifimac->wm_doth_tbtt) { @@ -80957,7 +81801,7 @@ index 000000000000..40d5fbf94970 + && (wnet_vif->vm_p2p->p2p_enable == 1) + && (wnet_vif->vm_p2p->p2p_flag & P2P_NOA_START_FLAG_HI)) + { -+ printk("%s(%d) noa_len %d\n",__func__,__LINE__, ++ pr_debug("%s(%d) noa_len %d\n",__func__,__LINE__, + wnet_vif->app_ie[WIFINET_APPIE_FRAME_BEACON].length); + vm_p2p_update_noa_count_start(wnet_vif->vm_p2p); + } @@ -80980,7 +81824,8 @@ index 000000000000..40d5fbf94970 + bo->bo_appie_buf_len = wnet_vif->app_ie[WIFINET_APPIE_FRAME_BEACON].length; + bo->bo_chanswitch_trailerlen += diff_len; + bo->bo_tim_trailerlen += diff_len; -+ ++ bo->bo_chswwrp_trailerlen += diff_len; ++ bo->bo_extchanswitch_trailerlen += diff_len; + len_changed = 1; + } + if (wnet_vif->app_ie[WIFINET_APPIE_FRAME_BEACON].ie != NULL) @@ -81051,7 +81896,7 @@ index 000000000000..40d5fbf94970 + return ; + } + -+ printk("%s %d \n",__func__,__LINE__); ++ pr_debug("%s %d \n",__func__,__LINE__); + wifi_mac_beacon_alloc(ieee, wnet_vif_id); +} + @@ -81123,7 +81968,7 @@ index 000000000000..40d5fbf94970 + { + /* FIXME: Remove, Beacon lock in drv_main.c bcn_tx_ok irq */ + WIFINET_BEACONBUF_UNLOCK(wifimac); -+ printk(" %s %d beacon_realloc\n",__func__,__LINE__); ++ pr_debug(" %s %d beacon_realloc\n",__func__,__LINE__); + wifi_mac_beacon_alloc(ieee, wnet_vif_id); + WIFINET_BEACONBUF_LOCK(wifimac); + } @@ -81135,8 +81980,7 @@ index 000000000000..40d5fbf94970 + struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)arg; + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + -+ /* Keep beacon miss count log for debugging disconnects */ -+ printk("WiFi beacon miss: vid=%d, beacon_miss_count=%d\n", wnet_vif->wnet_vif_id, wnet_vif->vm_bmiss_count); ++ pr_debug("%s vid:%d, vm_bmiss_count:%d\n", __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_bmiss_count); + + if (wnet_vif->vm_opmode != WIFINET_M_STA || + wnet_vif->vm_state != WIFINET_S_CONNECTED) @@ -81154,7 +81998,7 @@ index 000000000000..40d5fbf94970 + /*if not in roaming mode, triger roaming */ + if ((wifimac->wm_roaming == WIFINET_ROAMING_BASIC) && (wnet_vif->vm_chan_roaming_scan_flag != 1) + && (wnet_vif->vm_bmiss_count >= 2)) { -+ printk("WiFi roaming triggered: beacon_miss_count=%d\n", wnet_vif->vm_bmiss_count); ++ pr_warn("Miss beacon trigger roaming\n"); + wifi_mac_roaming_trigger(wnet_vif); + } + return; @@ -81164,19 +82008,15 @@ index 000000000000..40d5fbf94970 + * when 2 beacons lost: 1) sta is in roaming, then do asso + * otherwise 2) sta lost ap totally then do scan again + */ -+ printk("WiFi disconnect: Beacon lost, max_miss_count=%d reached\n", WIFINET_BMISS_COUNT_MAX); + wnet_vif->vm_bmiss_count = 0; + if (wifimac->wm_roaming == WIFINET_ROAMING_FAST) { + DPRINTF(AML_DEBUG_WARNING,"roaming bcn lost...\n"); -+ printk("WiFi: Fast roaming mode, attempting reassociation\n"); + wifi_mac_top_sm(wnet_vif, WIFINET_S_ASSOC, 1); + } + else { + DPRINTF(AML_DEBUG_WARNING,"bcn lost...re-scan\n"); -+ printk("WiFi: Beacon lost, restarting scan\n"); -+ ++ wnet_vif->disconnect_reason_code = 4; + wnet_vif->vm_chan_roaming_scan_flag = 0; -+ + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); + } +} @@ -81225,13 +82065,12 @@ index 000000000000..40d5fbf94970 + return; +} + -+int wifi_mac_set_vsdb_ex(struct wlan_net_vif *wnet_vif, unsigned char enable) ++static void wifi_mac_set_vsdb_ex(struct wlan_net_vif *wnet_vif, unsigned char enable) +{ + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + -+ printk("%s, vid:%d, enable:%d\n", __func__, wnet_vif->wnet_vif_id, enable); ++ pr_debug("%s, vid:%d, enable:%d\n", __func__, wnet_vif->wnet_vif_id, enable); + wifimac->drv_priv->drv_ops.drv_set_vsdb(wifimac->drv_priv, wnet_vif->wnet_vif_id, enable); -+ return 0; +} + +void wifi_mac_set_vsdb(SYS_TYPE param1, SYS_TYPE param2,SYS_TYPE param3, @@ -81243,12 +82082,84 @@ index 000000000000..40d5fbf94970 + wifi_mac_set_vsdb_ex(wnet_vif, enable); +} + ++void wifi_mac_beacon_update_csaie(struct wifi_station *sta, ++ struct wifi_mac_beacon_offsets *bo, struct sk_buff *skb, struct wifi_channel *switch_chan) ++{ ++ memmove(bo->bo_chanswitch + WIFINET_CHANSWITCHANN_BYTES, ++ bo->bo_chanswitch, bo->bo_chanswitch_trailerlen); ++ ++ wifi_mac_add_chanswitch(bo->bo_chanswitch,sta); ++ bo->bo_chanswitch_trailerlen += WIFINET_CHANSWITCHANN_BYTES; ++ bo->bo_tim_trailerlen += WIFINET_CHANSWITCHANN_BYTES; ++ bo->bo_appie_buf += WIFINET_CHANSWITCHANN_BYTES; ++ bo->bo_ch_sw_wrp += WIFINET_CHANSWITCHANN_BYTES; ++ bo->bo_extchanswitch += WIFINET_CHANSWITCHANN_BYTES; ++ bo->bo_wme += WIFINET_CHANSWITCHANN_BYTES; ++ if (bo->bo_erp) ++ bo->bo_erp += WIFINET_CHANSWITCHANN_BYTES; ++ ++ os_skb_put(skb, WIFINET_CHANSWITCHANN_BYTES); ++ ++ if (switch_chan->chan_bw >= WIFINET_BWC_WIDTH40) { ++ int chswwrp_len = 0; ++ if (switch_chan->chan_bw == WIFINET_BWC_WIDTH80) { ++ /*add extend channel switch ie*/ ++ memmove(bo->bo_extchanswitch + WIFINET_EXTCHANSWITCHANN_BYTES, ++ bo->bo_extchanswitch, bo->bo_extchanswitch_trailerlen); ++ wifi_mac_add_extended_chanswitch(bo->bo_extchanswitch,sta); ++ bo->bo_chanswitch_trailerlen += WIFINET_EXTCHANSWITCHANN_BYTES; ++ bo->bo_tim_trailerlen += WIFINET_EXTCHANSWITCHANN_BYTES; ++ bo->bo_extchanswitch_trailerlen += WIFINET_EXTCHANSWITCHANN_BYTES; ++ bo->bo_appie_buf += WIFINET_EXTCHANSWITCHANN_BYTES; ++ bo->bo_ch_sw_wrp += WIFINET_EXTCHANSWITCHANN_BYTES; ++ bo->bo_wme += WIFINET_EXTCHANSWITCHANN_BYTES; ++ if (bo->bo_erp) ++ bo->bo_erp += WIFINET_EXTCHANSWITCHANN_BYTES; ++ ++ os_skb_put(skb, WIFINET_EXTCHANSWITCHANN_BYTES); ++ } ++ ++ /*add CHAN_SWITCH_WRAP ie*/ ++ chswwrp_len += (2 + WIFINET_WIDEBANDCHANSW_BYTES); ++ memmove(bo->bo_ch_sw_wrp + chswwrp_len, ++ bo->bo_ch_sw_wrp, bo->bo_chswwrp_trailerlen); ++ wifi_mac_add_chansw_wrapper(bo->bo_ch_sw_wrp,sta); ++ bo->bo_chanswitch_trailerlen += chswwrp_len; ++ bo->bo_tim_trailerlen += chswwrp_len; ++ bo->bo_chswwrp_trailerlen += chswwrp_len; ++ bo->bo_extchanswitch_trailerlen += chswwrp_len; ++ bo->bo_appie_buf += chswwrp_len; ++ os_skb_put(skb, chswwrp_len); ++ } ++} ++ ++void wifi_mac_set_vsdb_task(struct wifi_mac *wifimac, struct wlan_net_vif *wnet_vif, enum VsdbState state) ++{ ++ if (wifimac == NULL) { ++ ERROR_DEBUG_OUT("wifimac is null\n"); ++ return; ++ } ++ ++ if (wnet_vif == NULL) { ++ ERROR_DEBUG_OUT("wnet_vif is null\n"); ++ return; ++ } ++ ++ if ((state >= VSDB_STATE_MAX) || (state < 0) ) { ++ ERROR_DEBUG_OUT("state:%d error\n",state); ++ return; ++ } ++ ++ wifimac->wm_vsdb_sate = state; ++ AML_OUTPUT("vid:%d, enable:%d\n", wnet_vif->wnet_vif_id, state); ++ wifi_mac_add_work_task(wifimac, wifi_mac_set_vsdb, NULL,(SYS_TYPE)wifimac, 0, state, (SYS_TYPE)wnet_vif, 0); ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_beacon.h b/drivers/net/wireless/w1/vmac/wifi_mac_beacon.h new file mode 100644 -index 000000000000..d4362c3c65c4 +index 0000000000000000000000000000000000000000..3955c1ba0694677a75b2505bf1a3b8ac8ededc5e --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_beacon.h -@@ -0,0 +1,30 @@ +@@ -0,0 +1,33 @@ +/* + **************************************************************************************** + * @@ -81277,14 +82188,17 @@ index 000000000000..d4362c3c65c4 +void wifi_mac_process_beacon_miss_ex(SYS_TYPE arg); +int wifi_mac_set_beacon_miss_ex(struct wlan_net_vif *wnet_vif, unsigned char enable, int period); +void wifi_mac_set_beacon_miss(SYS_TYPE param1, SYS_TYPE param2,SYS_TYPE param3, SYS_TYPE param4,SYS_TYPE param5); -+void wifi_mac_set_vsdb(SYS_TYPE param1, SYS_TYPE param2,SYS_TYPE param3, SYS_TYPE param4,SYS_TYPE param5); -+ ++void wifi_mac_set_vsdb(SYS_TYPE param1, SYS_TYPE param2, SYS_TYPE param3, SYS_TYPE param4, SYS_TYPE param5); ++void wifi_mac_beacon_update_csaie(struct wifi_station *sta, ++ struct wifi_mac_beacon_offsets *bo, struct sk_buff *skb, struct wifi_channel *switch_chan); ++void wifi_mac_set_vsdb_task(struct wifi_mac *wifimac, struct wlan_net_vif *wnet_vif, enum VsdbState state); ++void wifi_mac_set_vsdb_task(struct wifi_mac *wifimac, struct wlan_net_vif *wnet_vif, enum VsdbState state); diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_chan.c b/drivers/net/wireless/w1/vmac/wifi_mac_chan.c new file mode 100644 -index 000000000000..5b909b551fac +index 0000000000000000000000000000000000000000..08f9f30ebef168e85826bf6e2667c3158f5791e5 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_chan.c -@@ -0,0 +1,1493 @@ +@@ -0,0 +1,1697 @@ +#include "wifi_mac_com.h" +#include "wifi_hal_cmd.h" + @@ -81614,7 +82528,7 @@ index 000000000000..5b909b551fac +}; + +struct country_chan_plan country_chan_plan_list[] = { -+ /* 0x00 */ {17, {81,82,83,84,115,116,117,118,119,120,121,122,123,125,126,127,128}, 0xff, DFS_5G_B2|DFS_5G_B3|DFS_5G_B4|PASSIVE_2G_12_14, TX_POWER_DEFAULT}, //Worldwide ++ /* 0x00 */ {17, {81,82,83,84,115,116,117,118,119,120,121,122,123,125,126,127,128}, 0xff, DFS_5G_B2|DFS_5G_B3|PASSIVE_2G_12_14, TX_POWER_DEFAULT}, //Worldwide + /* 0x01 */ {13, {81,83,84,115,116,117,118,119,120,125,126,127,128,0,0,0,0}, 0x00, DFS_5G_B2, TX_POWER_SRRC}, //China + /* 0x02 */ {16, {81,83,84,115,116,117,118,119,120,121,122,123,125,126,127,128,0}, 0x01, DFS_5G_B2|DFS_5G_B3, TX_POWER_FCC}, //United States of America + /* 0x03 */ {14, {81,83,84,115,116,117,118,119,120,121,122,123,125,128,0,0,0}, 0x02, DFS_5G_B2|DFS_5G_B3, TX_POWER_CE}, //Europe @@ -81893,6 +82807,35 @@ index 000000000000..5b909b551fac + {"ZW", 0x16} /* Zimbabwe */ +}; + ++struct country_chan_mapping southamerica_country[] = { ++ {"AR", 0x14}, /* Argentina */ ++ {"BO", 0x0E}, /* Bolivia */ ++ {"BR", 0x0C}, /* Brazil */ ++ {"CL", 0x01}, /* Chile */ ++ {"CO", 0x07}, /* Colombia */ ++ {"EC", 0x0C}, /* Ecuador */ ++ {"FK", 0x04}, /* Falkland Islands (Islas Malvinas) (UK) */ ++ {"GF", 0x04}, /* French Guiana */ ++ {"GY", 0x00}, /* Guyana */ ++ {"PY", 0x02}, /* Paraguay */ ++ {"PE", 0x10}, /* Peru */ ++ {"SR", 0x00}, /* Suriname */ ++ {"UY", 0x0A}, /* Uruguay */ ++ {"VE", 0x0E}, /* Venezuela */ ++}; ++ ++unsigned char if_southamerica_country(unsigned char *countrycode) { ++ unsigned char index; ++ ++ for (index = 0; index < (sizeof(southamerica_country) / sizeof(southamerica_country[0])); index++) { ++ if ((southamerica_country[index].country[0] == countrycode[0]) ++ && (southamerica_country[index].country[1] == countrycode[1])) { ++ return index + 1; ++ } ++ } ++ ++ return 0; ++} + +static int wifi_mac_get_pos(struct wifi_channel in[], int a, int b) +{ @@ -81932,7 +82875,7 @@ index 000000000000..5b909b551fac + return i; +} + -+void wifi_mac_chan_order(struct wifi_channel in[], int a, int b) ++static void wifi_mac_chan_order(struct wifi_channel in[], int a, int b) +{ + int pos = 0; + if (a < b) @@ -81984,7 +82927,7 @@ index 000000000000..5b909b551fac + return 0; +} + -+void wifi_mac_select_chan_from_global(int country_code, int sub_set[], int num,struct wifi_mac *wifimac) ++static void wifi_mac_select_chan_from_global(int country_code, int sub_set[], int num,struct wifi_mac *wifimac) +{ + int i = 0; + int j = 0; @@ -82052,17 +82995,17 @@ index 000000000000..5b909b551fac + wifi_mac_chan_order(wifimac->wm_channels, 0, wifimac->wm_nchans - 1); + +#if 0 -+ printk("wifimac->wm_nchans:%d\n", wifimac->wm_nchans); ++ pr_debug("wifimac->wm_nchans:%d\n", wifimac->wm_nchans); + for (i = 0; i < wifimac->wm_nchans; ++i) { -+ //printk("chan_cfreq1:%d\n", wifimac->wm_channels[i].chan_cfreq1); -+ //printk("chan_bw:%d\n", wifimac->wm_channels[i].chan_bw); -+ printk("chan_pri_num:%d\n", wifimac->wm_channels[i].chan_pri_num); ++ //pr_debug("chan_cfreq1:%d\n", wifimac->wm_channels[i].chan_cfreq1); ++ //pr_debug("chan_bw:%d\n", wifimac->wm_channels[i].chan_bw); ++ pr_debug("chan_pri_num:%d\n", wifimac->wm_channels[i].chan_pri_num); + } -+ printk("i is %d\n", i); ++ pr_debug("i is %d\n", i); +#endif +} + -+void wifi_mac_mark_dfs_channel_ex(int country_code, struct wifi_mac *wifimac, int chan_num) ++static void wifi_mac_mark_dfs_channel_ex(int country_code, struct wifi_mac *wifimac, int chan_num) +{ + int i = 0; + int chan_pri_num = 0; @@ -82078,28 +83021,28 @@ index 000000000000..5b909b551fac + || ((IS_5G_BAND3(chan_pri_num)) && (dfs_chan_flag & DFS_5G_B3)) + || ((IS_5G_BAND4(chan_pri_num)) && (dfs_chan_flag & DFS_5G_B4)) + || ((chan_pri_num >= 12 && chan_pri_num <= 14) && (dfs_chan_flag & PASSIVE_2G_12_14))) { -+// printk("%s mark channel %d \n", __func__, chan_pri_num); ++// pr_debug("%s mark channel %d \n", __func__, chan_pri_num); + wifimac->wm_channels[i].chan_flags |= WIFINET_CHAN_DFS; + } + } + } else { + for (i = 0; i < wifimac->wm_nchans; i++) { + if (wifimac->wm_channels[i].chan_pri_num == chan_num) { -+// printk("%s mark channel %d \n", __func__,wifimac->wm_channels[i].chan_pri_num); ++// pr_debug("%s mark channel %d \n", __func__,wifimac->wm_channels[i].chan_pri_num); + wifimac->wm_channels[i].chan_flags |= WIFINET_CHAN_DFS; + } + } + } +} + -+void wifi_mac_unmark_dfs_channel_ex(int country_code, struct wifi_mac *wifimac, int chan_num) ++static void wifi_mac_unmark_dfs_channel_ex(int country_code, struct wifi_mac *wifimac, int chan_num) +{ + int i = 0; + + for (i = 0; i < wifimac->wm_nchans; i++) { + if (( chan_num == 0 && (wifimac->wm_channels[i].chan_flags & WIFINET_CHAN_DFS) ) + || (chan_num != 0 && (wifimac->wm_channels[i].chan_pri_num == chan_num)) ){ -+// printk("%s UNmark channel %d \n", __func__,wifimac->wm_channels[i].chan_pri_num); ++// pr_debug("%s UNmark channel %d \n", __func__,wifimac->wm_channels[i].chan_pri_num); + wifimac->wm_channels[i].chan_flags &= ~WIFINET_CHAN_DFS; + } + } @@ -82113,7 +83056,7 @@ index 000000000000..5b909b551fac + + for (i = 0; i < wifimac->wm_nchans; i++) { + if (wifimac->wm_channels[i].chan_pri_num == chan_num && (wifimac->wm_channels[i].chan_flags & WIFINET_CHAN_DFS)) { -+// printk("%s is dfs channel %d \n", __func__,wifimac->wm_channels[i].chan_pri_num); ++// pr_debug("%s is dfs channel %d \n", __func__,wifimac->wm_channels[i].chan_pri_num); + WIFI_CHANNEL_UNLOCK(wifimac); + return 1; + } @@ -82146,7 +83089,7 @@ index 000000000000..5b909b551fac + + if ((wnet_vif->vm_opmode == WIFINET_M_STA) && (wifimac->wm_nrunning == 1)) { + if (wifi_mac_if_dfs_channel(wifimac, wnet_vif->vm_curchan->chan_pri_num) == 1) { -+ printk("current channel %d is dfs channel \n", wnet_vif->vm_curchan->chan_pri_num); ++ pr_debug("current channel %d is dfs channel \n", wnet_vif->vm_curchan->chan_pri_num); + wnet_vif->vm_chan_roaming_scan_flag = 0; + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); + } @@ -82333,20 +83276,20 @@ index 000000000000..5b909b551fac + return false; +} + -+struct wifi_channel * wifi_mac_scan_sta_get_ap_channel(struct wlan_net_vif *wnet_vif, struct wifi_mac_scan_param *sp) ++struct wifi_channel * wifi_mac_scan_sta_get_ap_channel(struct wlan_net_vif *wnet_vif, ++ unsigned char chan, unsigned char *htinfoie, unsigned char *htcapie, unsigned char *vht_optie) +{ -+ unsigned char *htinfoie = sp->htinfo; -+ unsigned char *htcapie = sp->htcap; -+ unsigned char chan = sp->chan; -+ struct wifi_mac_ie_htinfo *xhtinfo = (struct wifi_mac_ie_htinfo*)htinfoie; + struct wifi_mac_ie_htcap *xhtcap =(struct wifi_mac_ie_htcap *)htcapie; ++ struct wifi_mac_ie_htinfo *xhtinfo = (struct wifi_mac_ie_htinfo*)htinfoie; ++ struct wifi_mac_ie_vht_opt *vht_opt_ie = (struct wifi_mac_ie_vht_opt *)vht_optie; ++ + struct wifi_mac_ie_htcap_cmn *htcap = NULL; -+ int htcapval = 0; + struct wifi_mac_ie_htinfo_cmn *htinfo = NULL; -+ struct wifi_mac *wifimac = wnet_vif->vm_wmac; -+ struct wifi_mac_ie_vht_opt *vht_opt_ie = (struct wifi_mac_ie_vht_opt *)sp->vht_opt; ++ ++ int htcapval = 0; + int center_chan = 0, bw = 0; + static struct wifi_channel *apchan =NULL; ++ struct wifi_mac *wifimac = wnet_vif->vm_wmac; + + if (xhtinfo != NULL) + { @@ -82358,8 +83301,8 @@ index 000000000000..5b909b551fac + htcapval = le16toh(htcap->hc_cap); + } + -+ DPRINTF(AML_DEBUG_BWC, "%s(%d) %s, chan %d htinfo %p,chwidth %x, htcapval 0x%x \n", __func__, __LINE__, -+ ssidie_sprintf(sp->ssid), sp->chan, htinfo, htinfo?htinfo->hi_txchwidth : 0, htcapval); ++ DPRINTF(AML_DEBUG_BWC, "%s(%d), chan_num:%d, htinfo:%p, txchwidth:%d, htcapval:0x%x\n", ++ __func__, __LINE__, chan, htinfo, htinfo?htinfo->hi_txchwidth : 0, htcapval); + + if ((htinfo != NULL) && (htinfo->hi_txchwidth == WIFINET_HTINFO_TXWIDTH_2040)) + { @@ -82497,7 +83440,7 @@ index 000000000000..5b909b551fac + support_num = country_chan_plan_list[support_index].support_class_num; + support_ptr = country_chan_plan_list[support_index].support_class; + -+ printk("%s(%d) country code 0x%x, support num %d\n", __func__, __LINE__, countrycode_ex, support_num); ++ pr_debug("%s(%d) country code 0x%x, support num %d\n", __func__, __LINE__, countrycode_ex, support_num); + wifi_mac_update_chan_list_by_country(countrycode_ex,support_ptr, support_num, wifimac); + + for(i= 0; i < wifimac->wm_nchans; i++) { @@ -82538,8 +83481,9 @@ index 000000000000..5b909b551fac + struct wifi_mac *wifimac = (struct wifi_mac * )param1; + struct wifi_channel *wnet_vif_chan = (struct wifi_channel * )param2; + struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param3; ++ unsigned char channel_switch_flag = (unsigned char)param4; + -+ wifi_mac_ChangeChannel(wifimac, wnet_vif_chan, 3, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); ++ wifi_mac_ChangeChannel(wifimac, wnet_vif_chan, channel_switch_flag, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); +} + +struct wifi_channel * wifi_mac_get_wm_chan (struct wifi_mac *wifimac) @@ -82555,12 +83499,13 @@ index 000000000000..5b909b551fac + } +} + -+int wifi_mac_set_wnet_vif_channel(struct wlan_net_vif *wnet_vif, int chan, int bw, int center_chan) ++int wifi_mac_set_wnet_vif_channel(struct wlan_net_vif *wnet_vif, int chan, ++ int bw, int center_chan, unsigned char switch_flag) +{ + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + struct wifi_channel * c = NULL; + -+ printk("%s(%d)\n", __func__, __LINE__); ++ pr_debug("%s(%d)\n", __func__, __LINE__); + c = wifi_mac_find_chan(wifimac, chan, bw, center_chan); + + if (c == NULL) { @@ -82569,11 +83514,14 @@ index 000000000000..5b909b551fac + return false; + } + ++ wnet_vif->vm_curchan = c; ++ + DPRINTF(AML_DEBUG_ERROR, "%s(%d),chan_pri_num =%d, chan_cfreq1 =%d,chan_flags =0x%x\n", + __func__,__LINE__, c->chan_pri_num, c->chan_cfreq1, c->chan_flags); -+ wnet_vif->vm_curchan = c; ++ + wifi_mac_add_work_task(wnet_vif->vm_wmac, wifi_mac_set_wnet_vif_chan_ex, NULL, -+ (SYS_TYPE)(wnet_vif->vm_wmac), (SYS_TYPE)c, (SYS_TYPE)wnet_vif, 0, 0); ++ (SYS_TYPE)(wnet_vif->vm_wmac), (SYS_TYPE)c, (SYS_TYPE)wnet_vif, (SYS_TYPE)switch_flag, 0); ++ + return true; +} + @@ -82598,6 +83546,7 @@ index 000000000000..5b909b551fac + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + struct drv_private* drv_priv = wifimac->drv_priv; + struct wlan_net_vif *selected_wnet_vif = NULL; ++ struct wlan_net_vif *p2p_vmac = wifimac->drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; + + if (wifimac->wm_nrunning > 1) + { @@ -82631,7 +83580,16 @@ index 000000000000..5b909b551fac + if ((selected_wnet_vif->vm_curchan != WIFINET_CHAN_ERR) && (wifimac->wm_curchan != selected_wnet_vif->vm_curchan)) { + DPRINTF(AML_DEBUG_SCAN, "%s vid:%d, prichan:%d, bw:%d\n", __func__, selected_wnet_vif->wnet_vif_id, + selected_wnet_vif->vm_curchan->chan_pri_num, selected_wnet_vif->vm_curchan->chan_bw); -+ wifi_mac_ChangeChannel(wifimac, selected_wnet_vif->vm_curchan, 1, selected_wnet_vif->wnet_vif_id, selected_wnet_vif->vm_opmode); ++ if (wifimac->wm_flags & WIFINET_F_SCAN ++ && IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) ++ && concurrent_check_vmac_is_AP(wifimac) ++ && (wnet_vif->vm_opmode == WIFINET_M_STA) ++ && (p2p_vmac->vm_state == WIFINET_S_CONNECTED) ++ && concurrent_check_is_vmac_same_pri_channel(wifimac)) { ++ wifi_mac_ChangeChannel(wifimac, selected_wnet_vif->vm_curchan, 1, selected_wnet_vif->wnet_vif_id, p2p_vmac->vm_opmode); ++ } else { ++ wifi_mac_ChangeChannel(wifimac, selected_wnet_vif->vm_curchan, 1, selected_wnet_vif->wnet_vif_id, selected_wnet_vif->vm_opmode); ++ } + } + + wifi_mac_set_channel_rssi(wifimac, (unsigned char)(selected_wnet_vif->vm_mainsta->sta_avg_bcn_rssi)); @@ -82651,9 +83609,10 @@ index 000000000000..5b909b551fac + tasklet_schedule(&wifimac->drv_priv->ampdu_tasklet); +} + -+void wifi_mac_restore_wnet_vif_channel_task_ex(void * data) ++static void wifi_mac_restore_wnet_vif_channel_task_ex(SYS_TYPE param1, SYS_TYPE param2, SYS_TYPE param3, ++ SYS_TYPE param4, SYS_TYPE param5) +{ -+ struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)data; ++ struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param1; + wifi_mac_restore_wnet_vif_channel(wnet_vif); +} + @@ -82717,7 +83676,7 @@ index 000000000000..5b909b551fac + struct drv_private *drv_priv = drv_get_drv_priv(); + + if (txpoweplan == drv_priv->drv_config.cfg_txpoweplan) { -+ printk("not need to update tx power plan(%d)\n", txpoweplan); ++ pr_debug("not need to update tx power plan(%d)\n", txpoweplan); + } else { + drv_priv->drv_config.cfg_txpoweplan = txpoweplan; + wifi_mac_set_tx_power_coefficient(drv_priv, wifimac->wm_curchan, txpoweplan); @@ -82778,12 +83737,171 @@ index 000000000000..5b909b551fac + + return 0; +} ++ ++unsigned char wifi_mac_p2p_home_channel_enabled(struct wlan_net_vif *wnet_vif) ++{ ++ struct wifi_mac *wifimac = wnet_vif->vm_wmac; ++ ++ return ((wnet_vif->vm_p2p->p2p_role == NET80211_P2P_ROLE_GO) ++ && (wifimac->wm_p2p_home_channel != 0)); ++} ++ ++bool wifi_mac_get_chandef(struct wifi_channel *vmac_chan, struct cfg80211_chan_def *chandef) ++{ ++ unsigned int index = 0; ++ ++ if (vmac_chan == WIFINET_CHAN_ERR) ++ { ++ ERROR_DEBUG_OUT("vmac_chan is WIFINET_CHAN_ERR\n"); ++ return false; ++ } ++ ++ if (vmac_chan->chan_pri_num >= 1 && vmac_chan->chan_pri_num <= 14) { ++ chandef->chan = &aml_2ghz_channels[vmac_chan->chan_pri_num - 1]; ++ } else if (vmac_chan->chan_pri_num >= 36) { ++ for (index = 0; index < AML_5G_CHANNELS_NUM; index++) { ++ if (aml_5ghz_channels[index].hw_value == vmac_chan->chan_pri_num) { ++ chandef->chan = &aml_5ghz_channels[index]; ++ break; ++ } ++ } ++ } ++ ++ if (!chandef->chan) { ++ ERROR_DEBUG_OUT("not find ieee chan pri_num:%d\n", vmac_chan->chan_pri_num); ++ return false; ++ } ++ ++ if (vmac_chan->chan_bw == WIFINET_BWC_WIDTH20) { ++ chandef->width = NL80211_CHAN_WIDTH_20; ++ } else if (vmac_chan->chan_bw == WIFINET_BWC_WIDTH40) { ++ chandef->width = NL80211_CHAN_WIDTH_40; ++ } else if (vmac_chan->chan_bw == WIFINET_BWC_WIDTH80) { ++ chandef->width = NL80211_CHAN_WIDTH_80; ++ } else { ++ ERROR_DEBUG_OUT("station chan_bw do not support\n"); ++ } ++ ++ chandef->center_freq1 = vmac_chan->chan_cfreq1; ++ ++ return true; ++} ++ ++unsigned char wifi_mac_get_operation_class(struct cfg80211_chan_def chandef) ++{ ++ unsigned char vht_opclass = 0; ++ unsigned int freq = chandef.center_freq1; ++ unsigned char ret = 0; ++ ++ if (freq >= 2412 && freq <= 2472) { ++ if (chandef.width > NL80211_CHAN_WIDTH_40) ++ return ret; ++ ++ /* 2.407 GHz, channels 1..13 */ ++ if (chandef.width == NL80211_CHAN_WIDTH_40) { ++ if (freq > chandef.chan->center_freq) ++ ret = 83; /* HT40+ */ ++ else ++ ret = 84; /* HT40- */ ++ } else { ++ ret = 81; ++ } ++ ++ return ret; ++ } ++ ++ if (freq == 2484) { ++ /* channel 14 is only for IEEE 802.11b */ ++ if (chandef.width != NL80211_CHAN_WIDTH_20_NOHT) ++ return ret; ++ ret = 82; /* channel 14 */ ++ return ret; ++ } ++ ++ /* 5 GHz, channels 36..48 */ ++ if (freq >= 5180 && freq <= 5240) { ++ if (vht_opclass) { ++ ret = vht_opclass; ++ } else if (chandef.width == NL80211_CHAN_WIDTH_40) { ++ if (freq > chandef.chan->center_freq) ++ ret = 116; ++ else ++ ret = 117; ++ } else { ++ ret = 115; ++ } ++ ++ return ret; ++ } ++ ++ /* 5 GHz, channels 52..64 */ ++ if (freq >= 5260 && freq <= 5320) { ++ if (vht_opclass) { ++ ret = vht_opclass; ++ } else if (chandef.width == NL80211_CHAN_WIDTH_40) { ++ if (freq > chandef.chan->center_freq) ++ ret = 119; ++ else ++ ret = 120; ++ } else { ++ ret = 118; ++ } ++ ++ return ret; ++ } ++ ++ /* 5 GHz, channels 100..144 */ ++ if (freq >= 5500 && freq <= 5720) { ++ if (vht_opclass) { ++ ret = vht_opclass; ++ } else if (chandef.width == NL80211_CHAN_WIDTH_40) { ++ if (freq > chandef.chan->center_freq) ++ ret = 122; ++ else ++ ret = 123; ++ } else { ++ ret = 121; ++ } ++ ++ return ret; ++ } ++ ++ /* 5 GHz, channels 149..169 */ ++ if (freq >= 5745 && freq <= 5845) { ++ if (vht_opclass) { ++ ret = vht_opclass; ++ } else if (chandef.width == NL80211_CHAN_WIDTH_40) { ++ if (freq > chandef.chan->center_freq) ++ ret = 126; ++ else ++ ret = 127; ++ } else if (freq <= 5805) { ++ ret = 124; ++ } else { ++ ret = 125; ++ } ++ ++ return ret; ++ } ++ ++ /* 56.16 GHz, channel 1..4 */ ++ if (freq >= 56160 + 2160 * 1 && freq <= 56160 + 2160 * 6) { ++ if (chandef.width >= NL80211_CHAN_WIDTH_40) ++ return ret; ++ ++ ret = 180; ++ return ret; ++ } ++ ++ /* not supported yet */ ++ return ret; ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_chan.h b/drivers/net/wireless/w1/vmac/wifi_mac_chan.h new file mode 100644 -index 000000000000..cd88cb392dbc +index 0000000000000000000000000000000000000000..6e0d710d9fda67f47db69a649d3ee5cbc0e51ba4 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_chan.h -@@ -0,0 +1,39 @@ +@@ -0,0 +1,43 @@ +#ifndef __NET80211_CHAN_H__ +#define __NET80211_CHAN_H__ + @@ -82796,10 +83914,11 @@ index 000000000000..cd88cb392dbc +int wifi_mac_chan_overlapping_map_init(struct wifi_mac *wifimac); +unsigned char wifi_mac_chan_num_avail (struct wifi_mac *wifimac, unsigned char channum); +int wifi_mac_recv_bss_intol_channelCheck(struct wifi_mac *wifimac, struct wifi_mac_ie_intolerant_report *intol_ie); -+struct wifi_channel * wifi_mac_scan_sta_get_ap_channel(struct wlan_net_vif *wnet_vif, struct wifi_mac_scan_param *sp); ++struct wifi_channel * wifi_mac_scan_sta_get_ap_channel(struct wlan_net_vif *wnet_vif, ++ unsigned char chan, unsigned char *htinfoie, unsigned char *htcapie, unsigned char *vht_optie); +unsigned int wifi_mac_mhz2chan(unsigned int freq); +struct wifi_channel * wifi_mac_find_chan(struct wifi_mac *wifimac, int chan, int bw, int center_chan); -+int wifi_mac_set_wnet_vif_channel(struct wlan_net_vif *wnet_vif, int chan, int bw, int center_chan); ++int wifi_mac_set_wnet_vif_channel(struct wlan_net_vif *wnet_vif, int chan, int bw, int center_chan,unsigned char switch_flag); +void wifi_mac_set_wnet_vif_chan_ex(SYS_TYPE param1,SYS_TYPE param2,SYS_TYPE param3, SYS_TYPE param4,SYS_TYPE param5); +struct wifi_channel * wifi_mac_get_wm_chan (struct wifi_mac *wifimac); +struct wifi_channel * wifi_mac_get_connect_wnet_vif_channel(struct wlan_net_vif *wnet_vif); @@ -82821,11 +83940,14 @@ index 000000000000..cd88cb392dbc +int update_tx_power_coefficient_plan(int tx_power_plan, unsigned short pwr_coefficient[]); +int update_tx_power_band(int tx_power_plan, unsigned short pwr_value[]); +int wifi_mac_find_80M_channel_center_chan(int chan); -+ ++unsigned char if_southamerica_country(unsigned char *countrycode); ++unsigned char wifi_mac_p2p_home_channel_enabled(struct wlan_net_vif *wnet_vif); ++bool wifi_mac_get_chandef(struct wifi_channel *vmac_chan, struct cfg80211_chan_def *chandef); ++unsigned char wifi_mac_get_operation_class(struct cfg80211_chan_def chandef); +#endif//__NET80211_CHAN_H__ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_com.h b/drivers/net/wireless/w1/vmac/wifi_mac_com.h new file mode 100644 -index 000000000000..1b778634f583 +index 0000000000000000000000000000000000000000..aa63500e28683b47ea798f7c0315ed3dc9787530 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_com.h @@ -0,0 +1,91 @@ @@ -82908,24 +84030,24 @@ index 000000000000..1b778634f583 + +#define WIFINET_DPRINTF(_m, _fmt, ...) do { \ + if (wnet_vif->vm_debug & (_m)) \ -+ printk("<%s> %s %d "_fmt"\n", wnet_vif->vm_ndev->name ,__func__, __LINE__, __VA_ARGS__); \ ++ pr_debug("<%s> %s %d "_fmt"\n", wnet_vif->vm_ndev->name ,__func__, __LINE__, __VA_ARGS__); \ + } while (0) +#define WIFINET_DPRINTF_MACADDR( _m, _mac, _fmt, ...) do { \ + if (wnet_vif->vm_debug & (_m)) \ -+ printk("<%s> %s %d mac[%s] "_fmt"\n",wnet_vif->vm_ndev->name , __func__, __LINE__,ether_sprintf(_mac),__VA_ARGS__); \ ++ pr_debug("<%s> %s %d mac[%s] "_fmt"\n",wnet_vif->vm_ndev->name , __func__, __LINE__,ether_sprintf(_mac),__VA_ARGS__); \ + } while (0) +#define WIFINET_DPRINTF_STA( _m, _sta, _fmt, ...)do { \ + if ((_sta)->sta_wnet_vif->vm_debug & (_m)) \ -+ printk("<%s> %s %d mac[%s] "_fmt"\n", (_sta)->sta_wnet_vif->vm_ndev->name , __func__, __LINE__, ether_sprintf((_sta)->sta_macaddr),__VA_ARGS__); \ ++ pr_debug("<%s> %s %d mac[%s] "_fmt"\n", (_sta)->sta_wnet_vif->vm_ndev->name , __func__, __LINE__, ether_sprintf((_sta)->sta_macaddr),__VA_ARGS__); \ + } while (0) + +#endif //_NET80211_COMMON_H_ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_concurrent.c b/drivers/net/wireless/w1/vmac/wifi_mac_concurrent.c new file mode 100644 -index 000000000000..09415c51cf04 +index 0000000000000000000000000000000000000000..b4d82d92c2a8548cf66256c351ff2ac4f9a6d438 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_concurrent.c -@@ -0,0 +1,263 @@ +@@ -0,0 +1,387 @@ +#include "wifi_mac_com.h" + +#ifdef CONFIG_CONCURRENT_MODE @@ -82934,6 +84056,7 @@ index 000000000000..09415c51cf04 + wifimac->wm_vsdb_slot = CONCURRENT_SLOT_NONE; + wifimac->wm_vsdb_flags = 0; + wifimac->vsdb_mode_set_noa_enable = 0; ++ os_timer_ex_initialize(&wifimac->wm_csa_trigger_timer, 10000, csa_trigger_timeout, wifimac); +} + +static void concurrent_change_channel_timeout_ex(SYS_TYPE param1, @@ -83038,7 +84161,13 @@ index 000000000000..09415c51cf04 +void concurrent_vsdb_do_channel_change(void * data) +{ + struct wifi_mac *wifimac = (struct wifi_mac *)data; -+ wifimac->wm_vsdb_flags &= ~CONCURRENT_NOTIFY_AP_SUCCESS; ++ ++ if (wifimac->wm_vsdb_flags & CONCURRENT_NOTIFY_AP_SUCCESS) { ++ wifimac->wm_vsdb_flags &= ~CONCURRENT_NOTIFY_AP_SUCCESS; ++ } ++ if (wifimac->wm_vsdb_flags & CONCURRENT_AP_SWITCH_CHANNEL) { ++ wifimac->wm_vsdb_flags &= ~CONCURRENT_AP_SWITCH_CHANNEL; ++ } + wifi_mac_add_work_task(wifimac, concurrent_vsdb_do_channel_change_ex,NULL,(SYS_TYPE)data,0,0,0,0); +} + @@ -83052,6 +84181,12 @@ index 000000000000..09415c51cf04 + + DPRINTF(AML_DEBUG_CONNECT, "%s, slot:%d\n", __func__, wifimac->wm_vsdb_slot); + ++ if (wifimac->wm_vsdb_sate == VSDB_STATE_DISABLE) { ++ DPRINTF(AML_DEBUG_CONNECT, "slot:%d flag:%x\n", wifimac->wm_vsdb_slot, wifimac->wm_vsdb_flags); ++ wifimac->wm_vsdb_flags &= ~CONCURRENT_CHANNEL_SWITCH; ++ return; ++ } ++ + if ((wifimac->wm_nrunning > 1) && (wifimac->wm_vsdb_flags & CONCURRENT_CHANNEL_SWITCH)) { + if (wifimac->wm_vsdb_slot == CONCURRENT_SLOT_STA) { + wifi_mac_scan_notify_leave_or_back(main_vmac, 1); @@ -83064,8 +84199,17 @@ index 000000000000..09415c51cf04 + wifimac->drv_priv->drv_ops.drv_set_is_mother_channel(wifimac->drv_priv, p2p_vmac->wnet_vif_id, 1); + wifimac->wm_vsdb_flags |= CONCURRENT_NOTIFY_AP; + } ++ else if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) && !concurrent_check_is_vmac_same_pri_channel(wifimac)) { ++ if (drv_priv->hal_priv->hal_ops.hal_tx_empty()) { ++ concurrent_vsdb_do_channel_change(wifimac); ++ } ++ else { ++ wifimac->wm_vsdb_flags |= CONCURRENT_AP_SWITCH_CHANNEL; ++ } ++ } ++ } else if (wifimac->wm_vsdb_slot == CONCURRENT_SLOT_NONE) { ++ wifimac->wm_vsdb_flags &= ~CONCURRENT_CHANNEL_SWITCH; + } -+ + } else if ((wifimac->wm_nrunning < 2) && (wifimac->wm_vsdb_flags & CONCURRENT_CHANNEL_SWITCH)) { + wifimac->wm_vsdb_flags = 0; + } @@ -83081,6 +84225,16 @@ index 000000000000..09415c51cf04 + struct wifi_mac_scan_state *ss = wifimac->wm_scan; + struct drv_private *drv_priv = wifimac->drv_priv; + struct wlan_net_vif *p2p_vmac = drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; ++ ++ AML_OUTPUT("vm_nruning:%d slot:%d vsdb_flag:%x p2p_role:%d noa_enable:%d nego_state:%d\n",wifimac->wm_nrunning, ++ wifimac->wm_vsdb_slot,wifimac->wm_vsdb_flags,p2p_vmac->vm_p2p->p2p_role,wifimac->vsdb_mode_set_noa_enable, ++ p2p_vmac->vm_p2p->p2p_negotiation_state); ++ ++ if (wifimac->wm_vsdb_sate == VSDB_STATE_DISABLE) { ++ DPRINTF(AML_DEBUG_CONNECT, "slot:%d flag:%x\n", wifimac->wm_vsdb_slot, wifimac->wm_vsdb_flags); ++ return; ++ } ++ + if ((wifimac->wm_nrunning > 1 && wifimac->wm_vsdb_slot == CONCURRENT_SLOT_P2P && p2p_vmac->vm_p2p->p2p_role == NET80211_P2P_ROLE_GO) || + (wifimac->wm_vsdb_slot == CONCURRENT_SLOT_STA && wifimac->vsdb_mode_set_noa_enable == 1)) { + if (p2p_vmac->vm_p2p->p2p_negotiation_state != NET80211_P2P_STATE_GO_COMPLETE) { @@ -83106,7 +84260,7 @@ index 000000000000..09415c51cf04 + return; + } + -+ //printk("%s\n", __func__); ++ //pr_debug("%s\n", __func__); + if ((wifimac->wm_nrunning > 1) + && (time_after(jiffies, wifimac->wm_vsdb_switch_time + (WIFINET_SCAN_DEFAULT_INTERVAL * HZ / 1000)) + || (wifimac->wm_vsdb_switch_time == 0))) { @@ -83116,7 +84270,7 @@ index 000000000000..09415c51cf04 + wifimac->wm_vsdb_switch_time = jiffies; + + } else { -+ //printk("not right time\n"); ++ //pr_debug("not right time\n"); + } + + if ((wifimac->wm_vsdb_slot == CONCURRENT_SLOT_P2P) @@ -83125,6 +84279,48 @@ index 000000000000..09415c51cf04 + } + } +} ++ ++//the func is not used yet ++int csa_trigger_timeout(void *data) ++{ ++#ifdef CONFIG_ROKU ++ struct drv_private *drv_priv = NULL; ++ struct wlan_net_vif *p2p_wnet_vif = NULL; ++ struct wlan_net_vif *main_wnet_vif = NULL; ++ struct wifi_mac *wifimac = (struct wifi_mac *)data; ++ struct wifi_channel *switch_chan = NULL; ++ ++ if (wifimac == NULL) { ++ ERROR_DEBUG_OUT("wifimac is NULL\n"); ++ return OS_TIMER_NOT_REARMED; ++ } ++ ++ drv_priv = wifimac->drv_priv; ++ p2p_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; ++ main_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_MAIN_VMAC]; ++ ++ if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) ++ && (main_wnet_vif->vm_state != WIFINET_S_CONNECTED) ++ && (p2p_wnet_vif->vm_opmode == WIFINET_M_HOSTAP) ++ && (p2p_wnet_vif->vm_state == WIFINET_S_CONNECTED)) { ++ AML_OUTPUT("channel switch to p2p_home_channel:%d\n",wifimac->wm_p2p_home_channel); ++ ++ if (wifi_mac_p2p_home_channel_enabled(p2p_wnet_vif)) { ++ switch_chan = wifi_mac_find_chan(wifimac, wifimac->wm_p2p_home_channel, WIFINET_BWC_WIDTH20, wifimac->wm_p2p_home_channel); ++ } else { ++ if (wifi_mac_if_dfs_channel(wifimac, p2p_wnet_vif->vm_curchan->chan_pri_num)) { ++ if (if_southamerica_country(wifimac->wm_country.iso)) { ++ switch_chan = wifi_mac_find_chan(wifimac,149, WIFINET_BWC_WIDTH20, 149); ++ } else { ++ switch_chan = wifi_mac_find_chan(wifimac,36, WIFINET_BWC_WIDTH20, 36); ++ } ++ } ++ } ++ channel_switch_announce_trigger(wifimac, switch_chan); ++ } ++#endif ++ return OS_TIMER_NOT_REARMED; ++} +#endif//CONFIG_CONCURRENT_MODE + +unsigned char concurrent_check_is_vmac_same_pri_channel(struct wifi_mac *wifimac) @@ -83189,12 +84385,62 @@ index 000000000000..09415c51cf04 + return NULL; +} + ++void channel_switch_announce_trigger(struct wifi_mac *wifimac, struct wifi_channel *switch_chan) ++{ ++ unsigned int delay_ms = 0, csa_count = 0; ++ struct drv_private *drv_priv = wifimac->drv_priv; ++ struct wlan_net_vif *p2p_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; ++ ++ if (switch_chan == NULL) { ++ ERROR_DEBUG_OUT("switch channel is null!\n"); ++ return; ++ } ++ ++ if (switch_chan->chan_pri_num == 0) { ++ ERROR_DEBUG_OUT("err chan_pri_num is zero!\n"); ++ return; ++ } ++ ++ while ((wifimac->wm_flags & WIFINET_F_DOTH) && (wifimac->wm_flags & WIFINET_F_CHANSWITCH) && (delay_ms < 1000)) { ++ mdelay(1); ++ delay_ms++; ++ } ++ ++ if (p2p_wnet_vif->vm_curchan ++ && (p2p_wnet_vif->vm_curchan->chan_pri_num == switch_chan->chan_pri_num) ++ && (p2p_wnet_vif->vm_curchan->chan_bw == switch_chan->chan_bw)) { ++ AML_OUTPUT("channel:%d, bw:%d, no need trigger csa!\n", switch_chan->chan_pri_num, switch_chan->chan_bw); ++ return; ++ } ++ ++ if ((p2p_wnet_vif->vm_dtim_period > 0) && (p2p_wnet_vif->vm_dtim_period < 5)) { ++ csa_count = p2p_wnet_vif->vm_dtim_period; ++ } else { ++ csa_count = CSA_COUNT; ++ } ++ ++ os_timer_ex_cancel(&wifimac->wm_csa_trigger_timer, CANCEL_NO_SLEEP); ++ ++ AML_OUTPUT("chan_pri_num:%d, bw:%d, csa_count:%d, delay_ms:%d\n", ++ switch_chan->chan_pri_num, switch_chan->chan_bw, csa_count, delay_ms); ++ ++ if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) && concurrent_check_vmac_is_AP(wifimac)) { ++ p2p_wnet_vif->vm_wmac->wm_flags |= WIFINET_F_DOTH; ++ p2p_wnet_vif->vm_wmac->wm_flags |= WIFINET_F_CHANSWITCH; ++ p2p_wnet_vif->vm_wmac->wm_doth_channel = switch_chan->chan_pri_num; ++ p2p_wnet_vif->vm_wmac->wm_doth_tbtt = csa_count; ++ p2p_wnet_vif->csa_target.switch_chan = *switch_chan; ++ if (p2p_wnet_vif->vm_p2p->go_hidden_mode) { ++ p2p_wnet_vif->vm_flags &= ~WIFINET_F_HIDESSID; ++ } ++ } ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_concurrent.h b/drivers/net/wireless/w1/vmac/wifi_mac_concurrent.h new file mode 100644 -index 000000000000..8e9f9781de0c +index 0000000000000000000000000000000000000000..87e0d76a98a7c1bb76fb1512d3834b79d563f610 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_concurrent.h -@@ -0,0 +1,59 @@ +@@ -0,0 +1,60 @@ +#ifndef NET80211_CONCURRENT_H +#define NET80211_CONCURRENT_H + @@ -83247,16 +84493,17 @@ index 000000000000..8e9f9781de0c +void concurrent_vsdb_prepare_change_channel(struct wifi_mac *wifimac); +void concurrent_vsdb_do_channel_change(void * data); +void concurrent_vsdb_init(struct wifi_mac *wifimac); ++int csa_trigger_timeout(void *data); +#endif +unsigned char concurrent_check_is_vmac_same_pri_channel(struct wifi_mac *wifimac); +unsigned char concurrent_check_vmac_is_AP(struct wifi_mac *wifimac); +struct wlan_net_vif *wifi_mac_running_main_wnet_vif(struct wifi_mac *wifimac); +struct wlan_net_vif *wifi_mac_running_wnet_vif(struct wifi_mac *wifimac); -+ ++void channel_switch_announce_trigger(struct wifi_mac *wifimac, struct wifi_channel *switch_chan); +#endif //NET80211_CONCURRENT_H diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_encrypt.c b/drivers/net/wireless/w1/vmac/wifi_mac_encrypt.c new file mode 100644 -index 000000000000..87b40bc035da +index 0000000000000000000000000000000000000000..d2a45e78676b4b90d588ca1544c5bd9ce906af52 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_encrypt.c @@ -0,0 +1,1032 @@ @@ -83314,7 +84561,7 @@ index 000000000000..87b40bc035da + + if (cipher >= WIFINET_CIPHER_MAX) { + wnet_vif->vif_sts.sts_key_type_err++; -+ printk(" %s cipher:%d\n",__func__, cipher); ++ pr_debug(" %s cipher:%d\n",__func__, cipher); + return 0; + } + @@ -83397,13 +84644,13 @@ index 000000000000..87b40bc035da + + if (!cip->wm_setkey(key)) { + wnet_vif->vif_sts.sts_key_drop++; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + return 0; + } + + if (key->wk_keyix == WIFINET_KEYIX_NONE) { + wnet_vif->vif_sts.sts_key_id_err++; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + return 0; + } + @@ -83753,7 +85000,7 @@ index 000000000000..87b40bc035da + int hdrlen; + struct sk_buff *skb; + size_t data_len; -+ uint8_t mic[WIFINET_WEP_MICLEN]; ++ uint8_t mic[WIFINET_WEP_MICLEN] = { 0 }; + + wnet_vif->vif_sts.sts_tx_tkip_sw_mic_err++; + @@ -83824,8 +85071,8 @@ index 000000000000..87b40bc035da + wh = (struct wifi_frame *) skb0->data; + + wnet_vif->vif_sts.sts_rx_tkip_sw_mic_err++; -+ // printk(" %s %d \n",__func__,__LINE__); -+ //dump_memory_internel(k->wk_key, WIFINET_KEYBUF_SIZE+WIFINET_MICBUF_SIZE); ++ // pr_debug(" %s %d \n",__func__,__LINE__); ++ //dump_memory_internal(k->wk_key, WIFINET_KEYBUF_SIZE+WIFINET_MICBUF_SIZE); + michael_mic(k->wk_rxmic, + skb0, hdrlen, pktlen - (hdrlen + k->wk_cipher->wm_miclen), + mic); @@ -84294,7 +85541,7 @@ index 000000000000..87b40bc035da + diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_encrypt.h b/drivers/net/wireless/w1/vmac/wifi_mac_encrypt.h new file mode 100644 -index 000000000000..d854a154b4be +index 0000000000000000000000000000000000000000..d854a154b4bec51115ad284875328846b22a2311 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_encrypt.h @@ -0,0 +1,161 @@ @@ -84461,10 +85708,10 @@ index 000000000000..d854a154b4be +#endif /* _NET80211_IEEE80211_CRYPTO_H_ */ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_if.c b/drivers/net/wireless/w1/vmac/wifi_mac_if.c new file mode 100644 -index 000000000000..76baca821132 +index 0000000000000000000000000000000000000000..ee39572d11457f078d4529bbb1f024cc97b9fbf2 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_if.c -@@ -0,0 +1,4444 @@ +@@ -0,0 +1,4603 @@ +/* + **************************************************************************************** + * @@ -84519,12 +85766,12 @@ index 000000000000..76baca821132 + return &wm_mac; +} + -+unsigned char wifi_mac_get_host_wake_status(void) ++static unsigned char wifi_mac_get_host_wake_status(void) +{ + return host_wake_w1_fail_cnt; +} + -+unsigned char wifi_mac_clear_host_wake_status(void) ++static unsigned char wifi_mac_clear_host_wake_status(void) +{ + host_wake_w1_fail_cnt = 0; + return 0; @@ -84664,7 +85911,7 @@ index 000000000000..76baca821132 + return chan; +} + -+void wifi_mac_rate_nsta_update(void* ieee, void* nsta, int isnew) ++static void wifi_mac_rate_nsta_update(void* ieee, void* nsta, int isnew) +{ + struct wifi_station *sta = (struct wifi_station *)nsta; + @@ -85206,6 +86453,10 @@ index 000000000000..76baca821132 + wh = (struct wifi_frame *)os_skb_data(skbbuf); + is_robust_mgmt = is_robust_management_frame(wh); + ++ if (wifi_mac_is_dpp_frame(skbbuf, sta) == true) { ++ txinfo->b_dpp = 1; ++ } ++ + if ((sta->sta_flags_ext & WIFINET_NODE_MFP) && is_robust_mgmt && sta->pmf_key.wk_keylen) { + if (WIFINET_IS_MULTICAST(wh->i_addr1)) { + if (sta->pmf_key.wk_key_type == WIFINET_CIPHER_AES_CMAC) { @@ -85507,7 +86758,7 @@ index 000000000000..76baca821132 + } +} + -+void wifi_mac_roaming_check( struct wifi_mac *wifimac, struct wifi_station *sta) ++static void wifi_mac_roaming_check( struct wifi_mac *wifimac, struct wifi_station *sta) +{ + static int roaming_cnt = 0; + int roaming_threshold = wifimac->roaming_threshold_5g; @@ -85518,7 +86769,7 @@ index 000000000000..76baca821132 + + if (sta->sta_avg_bcn_rssi < roaming_threshold) { + if (++roaming_cnt > ROAMING_TRIGER_COUNT && time_before((wifimac->wm_lastroaming + (5 * HZ)), jiffies)) { -+ printk("Rssi[%d] < Threshold[%d] trigger roaming \n", sta->sta_avg_bcn_rssi, roaming_threshold); ++ pr_debug("Rssi[%d] < Threshold[%d] trigger roaming \n", sta->sta_avg_bcn_rssi, roaming_threshold); + roaming_cnt = 0; + wifimac->wm_lastroaming = jiffies; + wifi_mac_roaming_trigger(sta->sta_wnet_vif); @@ -85615,7 +86866,7 @@ index 000000000000..76baca821132 + && !WIFINET_ADDR_EQ(sta->sta_bssid, wh->i_addr3)) + { + /*sta send auth to other ap, we shall free this sta buffer, if we have allocated. */ -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + return wifi_mac_input_all(wifimac, skbbuf, rs); + } + @@ -85805,7 +87056,7 @@ index 000000000000..76baca821132 + if (wifimac->wm_curchan != WIFINET_CHAN_ERR && wifimac->wm_curchanmaxpwr == 0) + wifimac->wm_curchanmaxpwr = wifimac->wm_curchan->chan_maxpower; + -+ printk("%s(%d) \n",__func__,__LINE__); ++ pr_debug("%s(%d) \n",__func__,__LINE__); + + chan_dbg(wifimac->wm_curchan, "X8",1332); + if (wifimac->drv_priv->drv_config.cfg_txamsdu) { @@ -85835,7 +87086,7 @@ index 000000000000..76baca821132 +#define AMLWL_IPV4 1 +#define AMLWL_IPV6 2 + -+int aml_notify_ip(struct wifi_station *sta, u8 vif_ctx_id, u8 ip_type, u8 *ip_addr) ++static int aml_notify_ip(struct wifi_station *sta, u8 vif_ctx_id, u8 ip_type, u8 *ip_addr) +{ + if (ip_type != AMLWL_IPV4 && ip_type != AMLWL_IPV6) + return -EINVAL; @@ -85901,7 +87152,7 @@ index 000000000000..76baca821132 + + + -+void wifi_mac_set_ipv6_addr(SYS_TYPE param1, SYS_TYPE param2,SYS_TYPE param3, SYS_TYPE param4,SYS_TYPE param5) ++static void wifi_mac_set_ipv6_addr(SYS_TYPE param1, SYS_TYPE param2,SYS_TYPE param3, SYS_TYPE param4,SYS_TYPE param5) +{ + struct wifi_station *sta = (struct wifi_station *)param1; + unsigned char vif_id = (unsigned char)param2; @@ -86249,7 +87500,7 @@ index 000000000000..76baca821132 +} + + -+unsigned char wifi_mac_tx_init(struct wifi_mac *wifimac) { ++static unsigned char wifi_mac_tx_init(struct wifi_mac *wifimac) { + struct list_head *head = &wifimac->txdesc_freequeue; + struct drv_txdesc *ptxdesc; + int i, bsize; @@ -86279,7 +87530,7 @@ index 000000000000..76baca821132 + return wifimac->drv_priv->drv_ops.tx_init(wifimac->drv_priv, DRV_TXDESC_NUM); +} + -+void wifi_mac_tx_cleanup(struct wifi_mac *wifimac) { ++static void wifi_mac_tx_cleanup(struct wifi_mac *wifimac) { + struct list_head *head = &wifimac->txdesc_freequeue; + + wifimac->drv_priv->drv_ops.tx_cleanup(wifimac->drv_priv); @@ -86335,79 +87586,79 @@ index 000000000000..76baca821132 + + if((ctrl_code & STS_MOD_WMAC) == STS_MOD_WMAC) + { -+ printk("\n--------mac_statistic--------\n"); ++ pr_debug("\n--------mac_statistic--------\n"); + /*vif tx path*/ + if ((ctrl_code & STS_TYP_TX) == STS_TYP_TX) + { + list_for_each_entry(wnet_vif,&wifimac->wm_wnet_vifs,vm_next) + { -+ printk("\n--------vif_id %d--------\n", wnet_vif->wnet_vif_id); ++ pr_debug("\n--------vif_id %d--------\n", wnet_vif->wnet_vif_id); + -+ printk("tx_total_msdu %d\n", wnet_vif->vif_sts.sts_tx_total_msdu); -+ printk("tx_total_out_msdu %d\n", wnet_vif->vif_sts.sts_tx_out_msdu); -+ printk("tx_total_drop_msdu %d\n", wnet_vif->vif_sts.sts_tx_drop_msdu); ++ pr_debug("tx_total_msdu %d\n", wnet_vif->vif_sts.sts_tx_total_msdu); ++ pr_debug("tx_total_out_msdu %d\n", wnet_vif->vif_sts.sts_tx_out_msdu); ++ pr_debug("tx_total_drop_msdu %d\n", wnet_vif->vif_sts.sts_tx_drop_msdu); + -+ printk("\ntx_total_tcp_msdu %d\n", wnet_vif->vif_sts.sts_tx_tcp_msdu); -+ printk("tx_total_udp_msdu %d\n", wnet_vif->vif_sts.sts_tx_udp_msdu ); -+ printk("tx_total_arp_msdu %d\n",wnet_vif->vif_sts.sts_tx_arp_msdu); -+ printk("tx_total_ns_msdu %d\n\n",wnet_vif->vif_sts.sts_tx_ns_msdu); ++ pr_debug("\ntx_total_tcp_msdu %d\n", wnet_vif->vif_sts.sts_tx_tcp_msdu); ++ pr_debug("tx_total_udp_msdu %d\n", wnet_vif->vif_sts.sts_tx_udp_msdu ); ++ pr_debug("tx_total_arp_msdu %d\n",wnet_vif->vif_sts.sts_tx_arp_msdu); ++ pr_debug("tx_total_ns_msdu %d\n\n",wnet_vif->vif_sts.sts_tx_ns_msdu); + + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_tid_in_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_tid_in_msdu[i]); ++ pr_debug("tx_tid_in_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_tid_in_msdu[i]); + } + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_tid_drop_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_tid_drop_msdu[i]); ++ pr_debug("tx_tid_drop_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_tid_drop_msdu[i]); + } + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_tid_out_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_tid_out_msdu[i]); ++ pr_debug("tx_tid_out_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_tid_out_msdu[i]); + } + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_tid_drop_bf_in_amsdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_tid_drop_bf_in_msdu[i]); ++ pr_debug("tx_tid_drop_bf_in_amsdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_tid_drop_bf_in_msdu[i]); + } + + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_amsdu_in_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_amsdu_in_msdu[i]); ++ pr_debug("tx_amsdu_in_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_amsdu_in_msdu[i]); + } + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_amsdu_drop_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_amsdu_drop_msdu[i]); ++ pr_debug("tx_amsdu_drop_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_amsdu_drop_msdu[i]); + } + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_asmdu_pend_msdu[%d] %d\n", i, wifimac->msdu_cnt[i]); ++ pr_debug("tx_asmdu_pend_msdu[%d] %d\n", i, wifimac->msdu_cnt[i]); + } + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_amsdu_out_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_amsdu_out_msdu[i]); ++ pr_debug("tx_amsdu_out_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_amsdu_out_msdu[i]); + } + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_non_amsdu_in_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_non_amsdu_in_msdu[i]); ++ pr_debug("tx_non_amsdu_in_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_non_amsdu_in_msdu[i]); + + } + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_non_amsdu_drop_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_non_amsdu_drop_msdu[i]); ++ pr_debug("tx_non_amsdu_drop_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_non_amsdu_drop_msdu[i]); + } + + for(i = 0; i < WME_NUM_TID; i++) + { -+ printk("tx_non_amsdu_out_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_non_amsdu_out_msdu[i]); ++ pr_debug("tx_non_amsdu_out_msdu[%d] %d\n", i,wnet_vif->vif_sts.sts_tx_non_amsdu_out_msdu[i]); + } + } + } @@ -86417,108 +87668,108 @@ index 000000000000..76baca821132 + { + list_for_each_entry(wnet_vif,&wifimac->wm_wnet_vifs,vm_next) + { -+ printk("\n--------vif_id %d--------\n", wnet_vif->wnet_vif_id); -+ printk("rx_bad_ver %d\n", wnet_vif->vif_sts.sts_rx_bad_ver); ++ pr_debug("\n--------vif_id %d--------\n", wnet_vif->wnet_vif_id); ++ pr_debug("rx_bad_ver %d\n", wnet_vif->vif_sts.sts_rx_bad_ver); + -+ printk("rx_too_short %d\n",wnet_vif->vif_sts.sts_rx_too_short); ++ pr_debug("rx_too_short %d\n",wnet_vif->vif_sts.sts_rx_too_short); + -+ printk("rx_wrong_bss %d\n",wnet_vif->vif_sts.sts_rx_wrong_bss); ++ pr_debug("rx_wrong_bss %d\n",wnet_vif->vif_sts.sts_rx_wrong_bss); + -+ printk("rx_dup %d\n",wnet_vif->vif_sts.sts_rx_dup); ++ pr_debug("rx_dup %d\n",wnet_vif->vif_sts.sts_rx_dup); + -+ printk("rx_wrong_dir %d\n",wnet_vif->vif_sts.sts_rx_wrong_dir); ++ pr_debug("rx_wrong_dir %d\n",wnet_vif->vif_sts.sts_rx_wrong_dir); + -+ printk("rx_mcast_echo %d\n",wnet_vif->vif_sts.sts_rx_mcast_echo); ++ pr_debug("rx_mcast_echo %d\n",wnet_vif->vif_sts.sts_rx_mcast_echo); + -+ printk("rx_not_assoc %d\n",wnet_vif->vif_sts.sts_rx_not_assoc); ++ pr_debug("rx_not_assoc %d\n",wnet_vif->vif_sts.sts_rx_not_assoc); + -+ printk("rx_no_priv_ac %d\n",wnet_vif->vif_sts.sts_no_priv_ac); ++ pr_debug("rx_no_priv_ac %d\n",wnet_vif->vif_sts.sts_no_priv_ac); + -+ printk("rx_uncrypted %d\n",wnet_vif->vif_sts.sts_rx_uncrypted); ++ pr_debug("rx_uncrypted %d\n",wnet_vif->vif_sts.sts_rx_uncrypted); + -+ printk("rx_decap %d\n",wnet_vif->vif_sts.sts_rx_decap); ++ pr_debug("rx_decap %d\n",wnet_vif->vif_sts.sts_rx_decap); + -+ printk("rx_mng_discard %d\n",wnet_vif->vif_sts.sts_mng_discard); ++ pr_debug("rx_mng_discard %d\n",wnet_vif->vif_sts.sts_mng_discard); + -+ printk("rx_ctrl %d\n",wnet_vif->vif_sts.sts_rx_ctrl); ++ pr_debug("rx_ctrl %d\n",wnet_vif->vif_sts.sts_rx_ctrl); + -+ printk("rx_bcn %d\n",wnet_vif->vif_sts.sts_rx_bcn); ++ pr_debug("rx_bcn %d\n",wnet_vif->vif_sts.sts_rx_bcn); + -+ printk("rx_elem_miss %d\n",wnet_vif->vif_sts.sts_rx_elem_miss); ++ pr_debug("rx_elem_miss %d\n",wnet_vif->vif_sts.sts_rx_elem_miss); + -+ printk("rx_elem_too_long %d\n",wnet_vif->vif_sts.sts_rx_elem_too_long); ++ pr_debug("rx_elem_too_long %d\n",wnet_vif->vif_sts.sts_rx_elem_too_long); + -+ printk("rx_elem_too_short %d\n",wnet_vif->vif_sts.sts_rx_elem_too_short); ++ pr_debug("rx_elem_too_short %d\n",wnet_vif->vif_sts.sts_rx_elem_too_short); + -+ printk("rx_elem_err %d\n",wnet_vif->vif_sts.sts_rx_elem_err); ++ pr_debug("rx_elem_err %d\n",wnet_vif->vif_sts.sts_rx_elem_err); + -+ printk("rx_sta_all_fail %d\n",wnet_vif->vif_sts.sts_rx_sta_all_fail); ++ pr_debug("rx_sta_all_fail %d\n",wnet_vif->vif_sts.sts_rx_sta_all_fail); + -+ printk("rx_ssid_mismatch %d\n", wnet_vif->vif_sts.sts_rx_ssid_mismatch); ++ pr_debug("rx_ssid_mismatch %d\n", wnet_vif->vif_sts.sts_rx_ssid_mismatch); + -+ printk("rx_auth_unsprt %d\n", wnet_vif->vif_sts.sts_auth_unsprt); ++ pr_debug("rx_auth_unsprt %d\n", wnet_vif->vif_sts.sts_auth_unsprt); + -+ printk("rx_auth_fail %d\n",wnet_vif->vif_sts.sts_rx_auth_fail); ++ pr_debug("rx_auth_fail %d\n",wnet_vif->vif_sts.sts_rx_auth_fail); + -+ printk("rx_ps_uncnnt %d\n", wnet_vif->vif_sts.sts_rx_ps_uncnnt); ++ pr_debug("rx_ps_uncnnt %d\n", wnet_vif->vif_sts.sts_rx_ps_uncnnt); + -+ printk("rx_ps_aid_err %d\n",wnet_vif->vif_sts.sts_rx_ps_aid_err); ++ pr_debug("rx_ps_aid_err %d\n",wnet_vif->vif_sts.sts_rx_ps_aid_err); + -+ printk("rx_assoc_err %d\n", wnet_vif->vif_sts.sts_rx_assoc_err); ++ pr_debug("rx_assoc_err %d\n", wnet_vif->vif_sts.sts_rx_assoc_err); + -+ printk("rx_assoc_unauth %d\n",wnet_vif->vif_sts.sts_rx_assoc_unauth); ++ pr_debug("rx_assoc_unauth %d\n",wnet_vif->vif_sts.sts_rx_assoc_unauth); + -+ printk("rx_assoc_cap_mismatch %d\n", wnet_vif->vif_sts.sts_rx_assoc_cap_mismatch); ++ pr_debug("rx_assoc_cap_mismatch %d\n", wnet_vif->vif_sts.sts_rx_assoc_cap_mismatch); + -+ printk("rx_assoc_rate_mismatch %d\n", wnet_vif->vif_sts.sts_rx_assoc_rate_mismatch); ++ pr_debug("rx_assoc_rate_mismatch %d\n", wnet_vif->vif_sts.sts_rx_assoc_rate_mismatch); + -+ printk("rx_assoc_wpa_mismatch %d\n",wnet_vif->vif_sts.sts_rx_assoc_wpa_mismatch); ++ pr_debug("rx_assoc_wpa_mismatch %d\n",wnet_vif->vif_sts.sts_rx_assoc_wpa_mismatch); + -+ printk("rx_deauth %d\n", wnet_vif->vif_sts.sts_rx_deauth); ++ pr_debug("rx_deauth %d\n", wnet_vif->vif_sts.sts_rx_deauth); + -+ printk("rx_dis_assoc %d\n",wnet_vif->vif_sts.sts_rx_dis_assoc); ++ pr_debug("rx_dis_assoc %d\n",wnet_vif->vif_sts.sts_rx_dis_assoc); + -+ printk("rx_action %d\n", wnet_vif->vif_sts.sts_rx_action); ++ pr_debug("rx_action %d\n", wnet_vif->vif_sts.sts_rx_action); + -+ printk("rx_buf_full %d\n",wnet_vif->vif_sts.sts_rx_buf_full); ++ pr_debug("rx_buf_full %d\n",wnet_vif->vif_sts.sts_rx_buf_full); + -+ printk("rx_decrypt_err %d\n", wnet_vif->vif_sts.sts_rx_decrypt_err); ++ pr_debug("rx_decrypt_err %d\n", wnet_vif->vif_sts.sts_rx_decrypt_err); + -+ printk("rx_auth_mismatch %d\n", wnet_vif->vif_sts.sts_rx_auth_mismatch); ++ pr_debug("rx_auth_mismatch %d\n", wnet_vif->vif_sts.sts_rx_auth_mismatch); + -+ printk("rx_unauth %d\n",wnet_vif->vif_sts.sts_rx_unauth); ++ pr_debug("rx_unauth %d\n",wnet_vif->vif_sts.sts_rx_unauth); + -+ printk("rx_tkip_mic_err %d\n", wnet_vif->vif_sts.sts_rx_tkip_mic_err); ++ pr_debug("rx_tkip_mic_err %d\n", wnet_vif->vif_sts.sts_rx_tkip_mic_err); + -+ printk("rx_acl_mismatch %d\n", wnet_vif->vif_sts.sts_rx_acl_mismatch); ++ pr_debug("rx_acl_mismatch %d\n", wnet_vif->vif_sts.sts_rx_acl_mismatch); + -+ printk("tx_no_buf %d\n", wnet_vif->vif_sts.sts_tx_no_buf); ++ pr_debug("tx_no_buf %d\n", wnet_vif->vif_sts.sts_tx_no_buf); + -+ printk("tx_no_sta %d\n", wnet_vif->vif_sts.sts_tx_no_sta); ++ pr_debug("tx_no_sta %d\n", wnet_vif->vif_sts.sts_tx_no_sta); + -+ printk("tx_unsprt_mngt %d\n",wnet_vif->vif_sts.sts_tx_unsprt_mngt); ++ pr_debug("tx_unsprt_mngt %d\n",wnet_vif->vif_sts.sts_tx_unsprt_mngt); + -+ printk("tx_key_err %d\n",wnet_vif->vif_sts.sts_tx_key_err); ++ pr_debug("tx_key_err %d\n",wnet_vif->vif_sts.sts_tx_key_err); + -+ printk("tx_headroom_err %d\n",wnet_vif->vif_sts.sts_headroom_err); ++ pr_debug("tx_headroom_err %d\n",wnet_vif->vif_sts.sts_headroom_err); + -+ printk("tx_sta_aged %d\n",wnet_vif->vif_sts.sts_tx_sta_aged); ++ pr_debug("tx_sta_aged %d\n",wnet_vif->vif_sts.sts_tx_sta_aged); + -+ printk("tx_tkip_sw_mic_err %d\n",wnet_vif->vif_sts.sts_tx_tkip_sw_mic_err); ++ pr_debug("tx_tkip_sw_mic_err %d\n",wnet_vif->vif_sts.sts_tx_tkip_sw_mic_err); + -+ printk("tx_ps_no_data %d\n",wnet_vif->vif_sts.sts_tx_ps_no_data); ++ pr_debug("tx_ps_no_data %d\n",wnet_vif->vif_sts.sts_tx_ps_no_data); + -+ printk("rx_tkip_sw_mic_err %d\n", wnet_vif->vif_sts.sts_rx_tkip_sw_mic_err); ++ pr_debug("rx_tkip_sw_mic_err %d\n", wnet_vif->vif_sts.sts_rx_tkip_sw_mic_err); + -+ printk("key_drop %d\n", wnet_vif->vif_sts.sts_key_drop); ++ pr_debug("key_drop %d\n", wnet_vif->vif_sts.sts_key_drop); + -+ printk("key_id_err %d\n", wnet_vif->vif_sts.sts_key_id_err); ++ pr_debug("key_id_err %d\n", wnet_vif->vif_sts.sts_key_id_err); + -+ printk("key_type_err %d\n",wnet_vif->vif_sts.sts_key_type_err); ++ pr_debug("key_type_err %d\n",wnet_vif->vif_sts.sts_key_type_err); + -+ printk("rx_msdu %d\n",wnet_vif->vif_sts.sts_rx_msdu); ++ pr_debug("rx_msdu %d\n",wnet_vif->vif_sts.sts_rx_msdu); + -+ printk("rx_msdu_time_stamp %ld\n",wnet_vif->vif_sts.sts_rx_msdu_time_stamp); ++ pr_debug("rx_msdu_time_stamp %ld\n",wnet_vif->vif_sts.sts_rx_msdu_time_stamp); + } + } + } @@ -86537,7 +87788,7 @@ index 000000000000..76baca821132 + return wifi_mac_cap_detach(wifimac); +} + -+void get_legacy_sta(void *arg, struct wifi_station *sta) ++static void get_legacy_sta(void *arg, struct wifi_station *sta) +{ + struct wifi_mac *wifimac = arg; + @@ -86551,7 +87802,7 @@ index 000000000000..76baca821132 + } +} + -+void get_ht20_sta(void *arg, struct wifi_station *sta) ++static void get_ht20_sta(void *arg, struct wifi_station *sta) +{ + struct wifi_mac *wifimac = arg; + @@ -86888,7 +88139,7 @@ index 000000000000..76baca821132 + } +} + -+int wifi_mac_check_main_sta(struct wlan_net_vif *wnet_vif) ++static int wifi_mac_check_main_sta(struct wlan_net_vif *wnet_vif) +{ + int return_val = 0; + if (!wnet_vif->vm_mainsta) { @@ -86990,7 +88241,7 @@ index 000000000000..76baca821132 + return -1; + } + -+ printk(" %s %d dev = %p\n",__func__,__LINE__,dev); ++ pr_debug(" %s %d dev = %p\n",__func__,__LINE__,dev); + return wifi_mac_initial(dev, 0); +} + @@ -87005,7 +88256,7 @@ index 000000000000..76baca821132 + return -1; + } + -+ printk("%s wm_nopened %d, wm_dev_flags:%08x\n", __func__, wifimac->wm_nopened, wifimac->wm_dev_flags); ++ pr_debug("%s wm_nopened %d, wm_dev_flags:%08x\n", __func__, wifimac->wm_nopened, wifimac->wm_dev_flags); + preempt_scan(dev, 100, 100); + cancel_work_sync(&wifimac->wm_scan->timeout_work); + @@ -87073,13 +88324,43 @@ index 000000000000..76baca821132 +{ + struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param1; + struct wifi_mac *wifimac = wnet_vif->vm_wmac; -+ printk("%s vid:%d, act_pkt_retry_count:%d, token:%d\n", -+ __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_p2p->act_pkt_retry_count, wnet_vif->vm_p2p->action_dialog_token); ++ struct wifi_mac_p2p *p2p = wnet_vif->vm_p2p; ++ ++ pr_debug("%s vid:%d, act_pkt_retry_count:%d, token:%d\n", ++ __func__, wnet_vif->wnet_vif_id, wnet_vif->vm_p2p->act_pkt_retry_count, ++ wnet_vif->vm_p2p->action_dialog_token); + + if (wnet_vif->vm_p2p->tx_status_flag == WIFINET_TX_STATUS_SUCC) { + return; + } + ++ if ((wnet_vif->vm_flags_ext2 & WIFINET_FEXT2_DPP_CONNECTION_STATUS_RETRY)) { ++ if (wnet_vif->vm_p2p->act_pkt_retry_count < 10) { ++ int delay = 0; ++ ++ if (p2p->action_chan && (wifimac->wm_curchan != p2p->action_chan)) { ++ if (wifi_mac_is_wm_running(wifimac) == true) { ++ wifi_mac_scan_notify_leave_or_back(wnet_vif, 1); ++ while ((!wifimac->drv_priv->hal_priv->hal_ops.hal_tx_empty()) && delay < 500) { ++ msleep(10); ++ delay += 10; ++ } ++ wnet_vif->vm_flags_ext2 |= WIFINET_FEXT2_MGMT_RESTORE_CHANNEL; ++ } ++ wifi_mac_ChangeChannel(wifimac, p2p->action_chan, 0, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); ++ } ++ wnet_vif->vm_p2p->act_pkt_retry_count++; ++ AML_OUTPUT("dpp status retry pri_chan:%d delay:%d flag:%x retry_cnt:%d\n", wifimac->wm_curchan->chan_pri_num, ++ delay, wnet_vif->vm_flags_ext2, wnet_vif->vm_p2p->act_pkt_retry_count); ++ //need a lock ++ vm_cfg80211_send_mgmt(wnet_vif, wnet_vif->vm_p2p->action_pkt, wnet_vif->vm_p2p->action_pkt_len); ++ } else { ++ AML_OUTPUT("dpp connection send fail\n"); ++ wnet_vif->vm_flags_ext2 &= ~WIFINET_FEXT2_DPP_CONNECTION_STATUS_RETRY; ++ } ++ return; ++ } ++ + if ((wnet_vif->vm_p2p->tx_status_flag == WIFINET_TX_STATUS_FAIL && wnet_vif->vm_p2p->act_pkt_retry_count == DEFAULT_P2P_ACTION_RETRY_TIMES)) { + wnet_vif->vm_p2p->send_tx_status_flag = 1; + cfg80211_mgmt_tx_status(wnet_vif->vm_wdev, wnet_vif->vm_p2p->cookie, wnet_vif->vm_p2p->raw_action_pkt, wnet_vif->vm_p2p->raw_action_pkt_len, WIFINET_TX_STATUS_FAIL, GFP_KERNEL); @@ -87094,7 +88375,7 @@ index 000000000000..76baca821132 + || wnet_vif->vm_p2p->action_code == WIFINET_ACT_PUBLIC_GAS_REQ || wnet_vif->vm_p2p->action_code == WIFINET_ACT_PUBLIC_GAS_RSP +#endif + ) && (wnet_vif->vm_p2p->act_pkt_retry_count < DEFAULT_P2P_ACTION_RETRY_TIMES)) { -+ printk("%s p2p retry pri_chan:%d\n", __func__, wnet_vif->vm_p2p->work_channel->chan_pri_num); ++ pr_debug("%s p2p retry pri_chan:%d\n", __func__, wnet_vif->vm_p2p->work_channel->chan_pri_num); + //need a lock + wnet_vif->vm_p2p->act_pkt_retry_count++; + vm_cfg80211_send_mgmt(wnet_vif, wnet_vif->vm_p2p->action_pkt, wnet_vif->vm_p2p->action_pkt_len); @@ -87102,6 +88383,11 @@ index 000000000000..76baca821132 + return; + } + ++ if (wnet_vif->vm_p2p->tx_status_flag == WIFINET_TX_STATUS_FAIL) { ++ wnet_vif->vm_p2p->send_tx_status_flag = 1; ++ cfg80211_mgmt_tx_status(wnet_vif->vm_wdev, wnet_vif->vm_p2p->cookie, wnet_vif->vm_p2p->raw_action_pkt, wnet_vif->vm_p2p->raw_action_pkt_len, WIFINET_TX_STATUS_FAIL, GFP_KERNEL); ++ } ++ + if (wnet_vif->vm_state == WIFINET_S_SCAN) { + return; + } @@ -87113,39 +88399,37 @@ index 000000000000..76baca821132 +{ + struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param1; + -+ printk("vid:%d, mgmt_pkt_retry_count:%d, token:%d\n", ++ pr_debug("vid:%d, mgmt_pkt_retry_count:%d, token:%d\n", + wnet_vif->wnet_vif_id, wnet_vif->mgmt_pkt_retry_count, wnet_vif->vm_p2p->action_dialog_token); + + if (wnet_vif->mgmt_pkt_retry_count++ < DEFAULT_MGMT_RETRY_TIMES) { + if (wnet_vif->vm_state == WIFINET_S_AUTH) { + /* swap the auth type between open and shared when auth timeout after sending auth frame to a wep AP */ -+ if (wnet_vif->mgmt_pkt_retry_count == DEFAULT_MGMT_RETRY_TIMES -1) { ++ if (wnet_vif->mgmt_pkt_retry_count == DEFAULT_MGMT_RETRY_TIMES - 1) { + if ((wnet_vif->vm_flags & WIFINET_F_PRIVACY) && !(wnet_vif->vm_flags & WIFINET_F_WPA)) { + if (wnet_vif->vm_mainsta->sta_authmode == WIFINET_AUTH_SHARED) { + wnet_vif->vm_mainsta->sta_authmode = WIFINET_AUTH_OPEN; -+ + } else { + wnet_vif->vm_mainsta->sta_authmode = WIFINET_AUTH_SHARED; + } + } + } + wifi_mac_top_sm(wnet_vif, WIFINET_S_AUTH, WIFINET_FC0_SUBTYPE_DEAUTH); -+ + } else if (wnet_vif->vm_state == WIFINET_S_ASSOC) { + wifi_mac_top_sm(wnet_vif, WIFINET_S_ASSOC, 0); -+ + } else { + wnet_vif->mgmt_pkt_retry_count = 0; + return; + } + -+ //printk("wifi_mac->mgmt_pkt_retry_count:%d\n", wifimac->mgmt_pkt_retry_count); ++ //pr_debug("wifi_mac->mgmt_pkt_retry_count:%d\n", wifimac->mgmt_pkt_retry_count); + os_timer_ex_start_period(&wnet_vif->vm_mgtsend, wnet_vif->mgmt_pkt_retry_count * DEFAULT_MGMT_RETRY_INTERVAL); + return; + } + + wnet_vif->mgmt_pkt_retry_count = 0; + if ((wnet_vif->vm_state == WIFINET_S_AUTH) || (wnet_vif->vm_state == WIFINET_S_ASSOC)) { ++ wnet_vif->disconnect_reason_code = WLAN_STATUS_UNSPECIFIED_FAILURE; + vm_cfg80211_indicate_disconnect(wnet_vif); + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); + } @@ -87155,7 +88439,7 @@ index 000000000000..76baca821132 +{ + struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *) arg; + -+ printk("%s vm_state %s, vid:%d", __func__, wifi_mac_state_name[wnet_vif->vm_state], wnet_vif->wnet_vif_id); ++ pr_debug("%s vm_state %s, vid:%d", __func__, wifi_mac_state_name[wnet_vif->vm_state], wnet_vif->wnet_vif_id); + if ((wnet_vif->vm_p2p_support == 1) || (wnet_vif->vm_state > WIFINET_S_CONNECTING)) { + wifi_mac_add_work_task(wnet_vif->vm_wmac,wifi_mac_tx_timeout_ex, NULL,(SYS_TYPE)arg,0,0,0, 0); + } @@ -87169,7 +88453,7 @@ index 000000000000..76baca821132 + struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param1; + enum wifi_mac_state state = (enum wifi_mac_state)param2; + -+ printk("%s state:%d\n", __func__, state); ++ pr_debug("%s state:%d\n", __func__, state); + + if(state != WIFINET_S_INIT) { + wifi_mac_top_sm(wnet_vif, state, 0); @@ -87191,7 +88475,7 @@ index 000000000000..76baca821132 + struct wifi_station *sta = NULL; + struct wifi_station *sta_next = NULL; + -+ if (wnet_vif->vm_p2p_support == 1) { ++ if (wnet_vif->vm_p2p_support == 1 || (wnet_vif->vm_flags_ext2 & WIFINET_FEXT2_DPP_CONNECTION_STATUS_RETRY)) { + WIFINET_DPRINTF(AML_DEBUG_WARNING,"vm_state %s", wifi_mac_state_name[wnet_vif->vm_state]); + wifi_mac_add_work_task(wnet_vif->vm_wmac,wifi_mac_tx_act_timeout_ex, NULL,(SYS_TYPE)arg,0,0,0, 0); + } @@ -87204,7 +88488,7 @@ index 000000000000..76baca821132 + os_timer_ex_start_period(&wnet_vif->vm_actsend, 100); + + } else { -+ printk("sta not get pmf sa query rsp, just disconnect\n"); ++ pr_warn("sta not get pmf sa query rsp, just disconnect\n"); + wifi_mac_add_work_task(wnet_vif->vm_wmac, wifi_mac_sm_switch, NULL, (SYS_TYPE)wnet_vif, WIFINET_S_SCAN, 0, 0, 0); + } + @@ -87220,7 +88504,7 @@ index 000000000000..76baca821132 + os_timer_ex_start_period(&wnet_vif->vm_actsend, 100); + + } else { -+ printk("sta:%p not get pmf sa query rsp, just disconnect\n", sta); ++ pr_warn("sta:%p not get pmf sa query rsp, just disconnect\n", sta); + wifi_mac_sta_disconnect(sta); + wifi_mac_rm_sta_from_wds_by_addr(nt,sta->sta_macaddr); + list_del_init(&sta->sta_list); @@ -87240,7 +88524,7 @@ index 000000000000..76baca821132 +{ + struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)arg; + -+ printk("wifi_mac_RocTimeout\n"); ++ pr_debug("wifi_mac_RocTimeout\n"); + + cfg80211_remain_on_channel_expired(wnet_vif->vm_wdev, wnet_vif->remain_on_ch_cookie, + &wnet_vif->remain_on_ch_channel, GFP_KERNEL); @@ -87293,6 +88577,7 @@ index 000000000000..76baca821132 + int mgmt_arg; + + prestate = wnet_vif->vm_state; ++ wnet_vif->vm_state_pre = wnet_vif->vm_state; + wnet_vif->vm_state = nstate; + + if (prestate == WIFINET_S_CONNECTED && nstate != WIFINET_S_CONNECTED) @@ -87338,7 +88623,7 @@ index 000000000000..76baca821132 + break; + + case WIFINET_M_HOSTAP: -+ wifi_mac_func_to_task(&wnet_vif->vm_sta_tbl, wifi_mac_sta_disassoc, wnet_vif,1); ++ wifi_mac_sta_disassoc_in_task(wnet_vif); + goto reset; + + case WIFINET_M_IBSS: @@ -87377,7 +88662,7 @@ index 000000000000..76baca821132 + break; + + case WIFINET_S_MAX: -+ printk("need to check twice\n"); ++ pr_err("need to check twice\n"); + break; + } + break; @@ -87422,9 +88707,17 @@ index 000000000000..76baca821132 + case WIFINET_S_AUTH: + case WIFINET_S_ASSOC: + /* if (wifimac->wm_roaming == WIFINET_ROAMING_AUTO) */ -+ { -+ WIFINET_DPRINTF(AML_DEBUG_STATE,"%s(%d) sm:scan/connecting/auth/assoc:", __func__,__LINE__); -+ ++ if (sta->connect_status == CONNECT_DISCONNECTING) { ++ struct vm_wdev_priv *pwdev_priv = wdev_to_priv(wnet_vif->vm_wdev); ++ ++ pr_debug("%s, cancel connect and indicate disconnect\n", __func__); ++ os_timer_ex_cancel(&pwdev_priv->connect_timeout, CANCEL_SLEEP); ++ wifi_mac_notify_nsta_disconnect(sta, 0); ++ wnet_vif->vm_des_nssid = 0; ++ wnet_vif->vm_curchan = WIFINET_CHAN_ERR; ++ memset(wnet_vif->vm_des_ssid, 0, IV_SSID_SCAN_AMOUNT*sizeof(struct wifi_mac_ScanSSID)); ++ } else { ++ pr_debug("%s, sm:scan/connecting/auth/assoc:", __func__); + wifi_mac_chk_scan(wnet_vif, WIFINET_SCANCFG_ACTIVE| WIFINET_SCANCFG_FLUSH |arg, + wnet_vif->vm_des_nssid, wnet_vif->vm_des_ssid); + } @@ -87445,12 +88738,12 @@ index 000000000000..76baca821132 + } + else + { -+ wifi_mac_func_to_task(&wnet_vif->vm_sta_tbl, wifi_mac_sta_disassoc, wnet_vif,1); ++ wifi_mac_sta_disassoc_in_task(wnet_vif); + goto createibss; + } + break; + case WIFINET_S_MAX: -+ printk("need to check twice\n"); ++ pr_err("need to check twice\n"); + break; + } +#ifdef INTER_BEACON @@ -87475,6 +88768,11 @@ index 000000000000..76baca821132 + wnet_vif->mgmt_pkt_retry_count = 0; + } + ++ if (sta->connect_status >= CONNECT_DISCONNECTING) { ++ wifi_mac_add_work_task(wnet_vif->vm_wmac, wifi_mac_sm_switch, NULL, (SYS_TYPE)wnet_vif, WIFINET_S_SCAN, 0, 0, 0); ++ break; ++ } ++ + switch (prestate) { + case WIFINET_S_SCAN: + case WIFINET_S_CONNECTING: @@ -87546,6 +88844,11 @@ index 000000000000..76baca821132 + wnet_vif->mgmt_pkt_retry_count = 0; + } + ++ if (sta->connect_status >= CONNECT_DISCONNECTING) { ++ wifi_mac_add_work_task(wnet_vif->vm_wmac, wifi_mac_sm_switch, NULL, (SYS_TYPE)wnet_vif, WIFINET_S_SCAN, 0, 0, 0); ++ break; ++ } ++ + switch (prestate) + { + case WIFINET_S_AUTH: @@ -87563,7 +88866,7 @@ index 000000000000..76baca821132 + + default: + wifi_mac_add_work_task(wnet_vif->vm_wmac, wifi_mac_sm_switch, NULL, (SYS_TYPE)wnet_vif, WIFINET_S_SCAN, 0, 0, 0); -+ printk("need to check twice\n"); ++ pr_err("need to check twice\n"); + break; + } + break; @@ -87586,7 +88889,7 @@ index 000000000000..76baca821132 + } + break; + case WIFINET_S_MAX: -+ printk("need to check twice\n"); ++ pr_err("need to check twice\n"); + break; + default: + break; @@ -87617,22 +88920,20 @@ index 000000000000..76baca821132 + } + wifi_mac_set_channel_rssi(wifimac, (unsigned char)(wnet_vif->vm_mainsta->sta_avg_bcn_rssi)); + -+ printk("****************************************************\n"); -+ printk("sta connect ok!!! AP CHANNEL:%d, CENTER_CHAN:%d, BW:%d, SSID:%s, BSSID:%02x:%02x:%02x:%02x:%02x:%02x\n", ++ pr_debug("****************************************************\n"); ++ pr_debug("sta connect ok!!! AP CHANNEL:%d, CENTER_CHAN:%d, BW:%d, SSID:%s, BSSID:%02x:%02x:%02x:%02x:%02x:%02x\n", + wnet_vif->vm_curchan->chan_pri_num, wifi_mac_Mhz2ieee(wnet_vif->vm_curchan->chan_cfreq1, 0), sta->sta_chbw, + wnet_vif->vm_des_ssid[0].ssid, wnet_vif->vm_des_bssid[0], wnet_vif->vm_des_bssid[1], wnet_vif->vm_des_bssid[2], + wnet_vif->vm_des_bssid[3], wnet_vif->vm_des_bssid[4], wnet_vif->vm_des_bssid[5]); -+ printk("****************************************************\n"); -+ /* Reset statistics on new connection for tracking */ -+ wnet_vif->vm_devstats.tx_dropped = 0; -+ wnet_vif->vm_devstats.tx_errors = 0; ++ pr_debug("****************************************************\n"); + g_auto_gain_base = 0; ++ wnet_vif->disconnect_reason_code = 0; + } + + wifi_mac_sta_auth(sta); + break; + case WIFINET_S_MAX: -+ printk("-------------error: need to check twice-------------------\n"); ++ pr_err("-------------error: need to check twice-------------------\n"); + break; + + default: @@ -87647,17 +88948,25 @@ index 000000000000..76baca821132 + wifi_mac_set_scan_time(wnet_vif); + #ifdef CONFIG_CONCURRENT_MODE + if ((wifimac->wm_nrunning > 1) && !concurrent_check_is_vmac_same_pri_channel(wifimac)) { -+ if (wnet_vif->vm_p2p_support == 1) { ++ if ((wnet_vif->vm_p2p_support == 1) || (wnet_vif->vm_opmode == WIFINET_M_HOSTAP)) { + wifimac->wm_vsdb_slot = CONCURRENT_SLOT_P2P; + } else { + wifimac->wm_vsdb_slot = CONCURRENT_SLOT_STA; + } ++#if 0 + if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) && concurrent_check_vmac_is_AP(wifimac)) { + /*softap and sta concurrent as scc, no need vsdb*/ + wifimac->wm_vsdb_slot = CONCURRENT_SLOT_NONE; + } else { + wifi_mac_add_work_task(wifimac, wifi_mac_set_vsdb, NULL, (SYS_TYPE)wifimac, 0, ENABLE, (SYS_TYPE)wnet_vif, 0); + } ++#endif ++ if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) && concurrent_check_vmac_is_AP(wifimac)) { ++ struct wifi_channel *main_vmac_chan = wifi_mac_get_main_vmac_channel(wifimac); ++ ++ channel_switch_announce_trigger(wifimac, main_vmac_chan); ++ } ++ wifi_mac_set_vsdb_task(wifimac, wnet_vif, ENABLE); + } + #endif + } @@ -87670,8 +88979,7 @@ index 000000000000..76baca821132 + wifimac->wm_vsdb_flags = 0; + wifimac->vsdb_mode_set_noa_enable = 0; + wifi_mac_restore_wnet_vif_channel_task(wnet_vif); -+ -+ wifi_mac_add_work_task(wifimac, wifi_mac_set_vsdb, NULL,(SYS_TYPE)wifimac, 0, DISABLE, (SYS_TYPE)wnet_vif, 0); ++ wifi_mac_set_vsdb_task(wifimac, wnet_vif, ENABLE); + } + #endif + } @@ -87700,17 +89008,17 @@ index 000000000000..76baca821132 + wifi_mac_add_work_task(wifimac, wifi_mac_beacon_alloc_ex, NULL, (SYS_TYPE)wifimac, + (SYS_TYPE)wnet_vif->wnet_vif_id,0, (SYS_TYPE)wnet_vif, (SYS_TYPE)wnet_vif->wnet_vif_replaycounter); + -+ printk("****************************************************\n"); -+ printk("start bss ok!!! AP CHANNEL:%d, BW:%d, SSID:%s, BSSID:%02x:%02x:%02x:%02x:%02x:%02x\n", ++ pr_debug("****************************************************\n"); ++ pr_debug("start bss ok!!! AP CHANNEL:%d, BW:%d, SSID:%s, BSSID:%02x:%02x:%02x:%02x:%02x:%02x\n", + wnet_vif->vm_curchan->chan_pri_num, wnet_vif->vm_curchan->chan_bw, wnet_vif->vm_des_ssid[0].ssid, + wnet_vif->vm_des_bssid[0], wnet_vif->vm_des_bssid[1], wnet_vif->vm_des_bssid[2], + wnet_vif->vm_des_bssid[3], wnet_vif->vm_des_bssid[4], wnet_vif->vm_des_bssid[5]); -+ printk("****************************************************\n"); ++ pr_debug("****************************************************\n"); + + } + wifi_mac_sub_sm(wnet_vif, nstate, arg); + -+ printk("%s(%d) wm_running=%d, wnet_vif_mode %d vm_bandwidth:%d\n", ++ pr_debug("%s(%d) wm_running=%d, wnet_vif_mode %d vm_bandwidth:%d\n", + __func__, __LINE__, wifimac->wm_nrunning, wnet_vif->vm_mac_mode, wnet_vif->vm_bandwidth); + break; + @@ -87718,7 +89026,7 @@ index 000000000000..76baca821132 + wifi_mac_sub_sm(wnet_vif, nstate, arg); + wnet_vif->vm_des_nssid = 0; + if (opmode == WIFINET_M_HOSTAP) { -+ printk("%s(%d) interface down\n", __func__, __LINE__); ++ pr_debug("%s(%d) interface down\n", __func__, __LINE__); + wnet_vif->vm_curchan = WIFINET_CHAN_ERR; + memset(wnet_vif->vm_des_ssid, 0, IV_SSID_SCAN_AMOUNT*sizeof(struct wifi_mac_ScanSSID)); + wifimac->drv_priv->drv_ops.down_interface(wifimac->drv_priv, wnet_vif->wnet_vif_id); @@ -87752,18 +89060,13 @@ index 000000000000..76baca821132 + if (VM_WIFI_CONNECT_STATE(nstate) && !VM_WIFI_CONNECT_STATE(prestate)) { + wifi_mac_connect_start(wifimac); + if ((opmode == WIFINET_M_STA) || (opmode == WIFINET_M_P2P_CLIENT)) { -+ printk(" connect_start: %d\n",__LINE__); ++ pr_debug(" connect_start: %d\n",__LINE__); + } + + } else if (VM_WIFI_CONNECT_STATE(prestate) && !VM_WIFI_CONNECT_STATE(nstate)) { + wifi_mac_connect_end(wifimac); -+ printk("%s(%d): connect end =%d, wnet_vif_mode %d\n", __func__, ++ pr_debug("%s(%d): connect end =%d, wnet_vif_mode %d\n", __func__, + __LINE__, wifimac->wm_nrunning, wnet_vif->vm_mac_mode); -+ /* Log TX statistics on disconnect for debugging */ -+ printk("WiFi disconnect stats: tx_packets=%lu, tx_bytes=%lu, tx_failed=%lu, tx_dropped=%lu, tx_errors=%lu\n", -+ wnet_vif->vm_devstats.tx_packets, wnet_vif->vm_devstats.tx_bytes, -+ wnet_vif->vm_devstats.tx_dropped + wnet_vif->vm_devstats.tx_errors, -+ wnet_vif->vm_devstats.tx_dropped, wnet_vif->vm_devstats.tx_errors); + } + + return rc; @@ -87872,7 +89175,7 @@ index 000000000000..76baca821132 + wnet_vif->vm_wdev->wiphy->addresses = (struct mac_address *)(wnet_vif->vm_myaddr); + + wifimac->drv_priv->drv_ops.set_macaddr(wifimac->drv_priv, wnet_vif->wnet_vif_id, wnet_vif->vm_myaddr); -+ printk("%s change mac_addr to:%02x:%02x:%02x:%02x:%02x:%02x\n", __func__, wnet_vif->vm_myaddr[0], ++ pr_debug("%s change mac_addr to:%02x:%02x:%02x:%02x:%02x:%02x\n", __func__, wnet_vif->vm_myaddr[0], + wnet_vif->vm_myaddr[1], wnet_vif->vm_myaddr[2], wnet_vif->vm_myaddr[3], wnet_vif->vm_myaddr[4], wnet_vif->vm_myaddr[5]); + return ret; +} @@ -87895,7 +89198,7 @@ index 000000000000..76baca821132 + wnet_vif->vm_tx_stbc = GET_VHT_CAP_TX_STBC(wifimac->wm_flags_ext2); + wnet_vif->vm_rx_stbc = GET_VHT_CAP_RX_STBC(wifimac->wm_flags_ext2); + -+ printk("vht cap init: sgi 0x%x, ldpc 0x%x, tx_stbc 0x%x, rx_stbc 0x%x \n", ++ pr_debug("vht cap init: sgi 0x%x, ldpc 0x%x, tx_stbc 0x%x, rx_stbc 0x%x \n", + wnet_vif->vm_sgi, wnet_vif->vm_ldpc, wnet_vif->vm_tx_stbc, wnet_vif->vm_rx_stbc); + + if (wnet_vif->vm_opmode == WIFINET_M_HOSTAP) @@ -87937,7 +89240,7 @@ index 000000000000..76baca821132 + hw_if->hif_ops.hi_write_word(MAC_RXPKT_CONTROL45, reg_val | (bw << 17));//bit17 & bit18 set ap's bw + + } else { -+ printk("%s, No vaild reg addr\n", __func__); ++ pr_warn("%s, No valid reg addr\n", __func__); + } +} + @@ -87963,7 +89266,7 @@ index 000000000000..76baca821132 + wnet_vif->scnd_chn_offset = WIFINET_HTINFO_EXTOFFSET_NA; + wnet_vif->vm_bandwidth = WIFINET_BWC_WIDTH80; + -+ printk(" %s %d opmode=%d\n",__func__,__LINE__,opmode); ++ pr_debug(" %s %d opmode=%d\n",__func__,__LINE__,opmode); + switch (opmode) + { + case WIFINET_M_STA: @@ -88022,7 +89325,7 @@ index 000000000000..76baca821132 + wnet_vif->vm_flags_ext &= ~WIFINET_FEXT_SWBMISS; + wnet_vif->vm_flags = wifimac->wm_flags; + -+ printk(" %s %d opmode=%d\n",__func__,__LINE__,opmode); ++ pr_debug(" %s %d opmode=%d\n",__func__,__LINE__,opmode); + switch (opmode) + { + case WIFINET_M_STA: @@ -88056,10 +89359,21 @@ index 000000000000..76baca821132 + struct regulatory_request *request) +{ + struct wifi_mac *wifimac = wifi_mac_get_mac_handle(); ++ struct wlan_net_vif *wnet_vif = wiphy_to_adapter(wiphy); ++ unsigned char source_code[5][10] = {"core", "user", "driver", "countryie"}; ++ unsigned int delay_ms = 0; + + if (!request) + return; + ++ while ((wifimac->wm_flags & WIFINET_F_DOTH) && (wifimac->wm_flags & WIFINET_F_CHANSWITCH) && delay_ms < 1000) { ++ msleep(50); ++ delay_ms+=50; ++ } ++ ++ AML_OUTPUT("vid:%d, regdom set by %s, country <%s>, wiphy alpha2 %s\n", ++ wnet_vif->wnet_vif_id, source_code[request->initiator], request->alpha2, wiphy->regd->alpha2); ++ + switch (request->initiator) { + case NL80211_REGDOM_SET_BY_CORE: + break; @@ -88193,7 +89507,7 @@ index 000000000000..76baca821132 + return 0; +} + -+void ++static void +wifi_mac_build_country_ie_2G(struct wifi_mac *wifimac) +{ + struct wifi_channel *c; @@ -88222,7 +89536,7 @@ index 000000000000..76baca821132 + wifimac->wm_countryinfo.country_len += 3; +} + -+void ++static void +wifi_mac_build_country_ie_5G(struct wifi_mac *wifimac) +{ + struct wifi_channel *c; @@ -88244,27 +89558,72 @@ index 000000000000..76baca821132 +} + +void ++wifi_mac_build_country_ie_2G_and_5G(struct wifi_mac *wifimac) ++{ ++ struct wifi_channel *c; ++ int i = 0 ; ++ int channel_num = 0; ++ int first_channel = 0; ++ int max_power = 0; ++ int triplet_index = 0; ++ ++ WIFI_CHANNEL_LOCK(wifimac); ++ for (i = 0; i < wifimac->wm_nchans; i++) { ++ c = &wifimac->wm_channels[i]; ++ ++ if (WIFINET_IS_CHAN_2GHZ(c) && (c->chan_bw == WIFINET_BWC_WIDTH20)) { ++ if (!first_channel) { ++ first_channel = c->chan_pri_num; ++ max_power = c->chan_maxpower; ++ } ++ ++ if (max_power < c->chan_maxpower) { ++ max_power = c->chan_maxpower; ++ } ++ channel_num ++; ++ } ++ } ++ ++ if (channel_num != 0) { ++ wifimac->wm_countryinfo.country_triplet[triplet_index++] = first_channel; ++ wifimac->wm_countryinfo.country_triplet[triplet_index++] = channel_num; ++ wifimac->wm_countryinfo.country_triplet[triplet_index++] = max_power; ++ wifimac->wm_countryinfo.country_len += 4; ++ } ++ ++ for (i = 0; i < wifimac->wm_nchans; i++) { ++ c = &wifimac->wm_channels[i]; ++ ++ if (WIFINET_IS_CHAN_5GHZ(c) && (c->chan_bw == WIFINET_BWC_WIDTH20)) { ++ if (!(c->chan_flags & WIFINET_CHAN_DFS)) { ++ wifimac->wm_countryinfo.country_triplet[triplet_index++] = c->chan_pri_num; ++ wifimac->wm_countryinfo.country_triplet[triplet_index++] = 1; ++ wifimac->wm_countryinfo.country_triplet[triplet_index++] = c->chan_maxpower; ++ wifimac->wm_countryinfo.country_len += 3; ++ } ++ } ++ } ++ WIFI_CHANNEL_UNLOCK(wifimac); ++} ++ ++void +wifi_mac_build_country_ie(struct wlan_net_vif * wnet_vif) +{ + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + struct _wifi_mac_country_iso country; ++ + memset(&wifimac->wm_countryinfo, 0, sizeof(wifimac->wm_countryinfo)); + wifimac->wm_countryinfo.country_id = WIFINET_ELEMID_COUNTRY; + wifimac->wm_countryinfo.country_len = 0; + -+ wifi_mac_get_country(wifimac,&country); ++ wifi_mac_get_country(wifimac, &country); + + wifimac->wm_countryinfo.country_str[0] = country.iso[0]; + wifimac->wm_countryinfo.country_str[1] = country.iso[1]; + wifimac->wm_countryinfo.country_str[2] = 0x20; //environment: Any + wifimac->wm_countryinfo.country_len += 3; + -+ if (WIFINET_IS_CHAN_2GHZ(wnet_vif->vm_curchan)) { -+ wifi_mac_build_country_ie_2G(wifimac); -+ -+ } else { -+ wifi_mac_build_country_ie_5G(wifimac); -+ } ++ wifi_mac_build_country_ie_2G_and_5G(wifimac); + + DPRINTF(AML_DEBUG_INFO,"INFO::Country ie is %c%c%c\n", wifimac->wm_countryinfo.country_str[0], + wifimac->wm_countryinfo.country_str[1], wifimac->wm_countryinfo.country_str[2]); @@ -88309,6 +89668,15 @@ index 000000000000..76baca821132 + if (!(wnet_vif->vm_pstxqueue_flags & WIFINET_PSQUEUE_NOA) ) { + wifimac->drv_priv->drv_ops.drv_hal_tx_frm_pause(wifimac->drv_priv, 0); + } ++ ++ if (wifimac->wm_vsdb_flags & CONCURRENT_SWITCH_TO_STA_CHANNEL) { ++ wifimac->wm_vsdb_slot = CONCURRENT_SLOT_NONE; ++ wifimac->wm_vsdb_flags &= ~CONCURRENT_SWITCH_TO_STA_CHANNEL; ++ /*switch to sta channel,we need notify ap*/ ++ wifi_mac_scan_notify_leave_or_back(wifimac->drv_priv->drv_wnet_vif_table[NET80211_MAIN_VMAC],0); ++ AML_OUTPUT("channel switch complete and sta notify ap back done\n"); ++ } ++ + WIFI_SCAN_LOCK(ss); + if (ss->scan_StateFlags & SCANSTATE_F_WAIT_CHANNEL_SWITCH) { + ss->scan_StateFlags &= ~SCANSTATE_F_WAIT_CHANNEL_SWITCH; @@ -88322,7 +89690,7 @@ index 000000000000..76baca821132 + return; +} + -+void wifi_mac_set_noa(struct wlan_net_vif *wnet_vif) ++static void wifi_mac_set_noa(struct wlan_net_vif *wnet_vif) +{ + struct wifi_mac *wifimac = wifi_mac_get_mac_handle(); + unsigned long long tsf; @@ -88367,7 +89735,7 @@ index 000000000000..76baca821132 + if (ss->scan_StateFlags & SCANSTATE_F_WAIT_TBTT) { + ss->scan_StateFlags &= ~SCANSTATE_F_WAIT_TBTT; + -+ //printk("%s start timer\n", __func__); ++ //pr_debug("%s start timer\n", __func__); + if (ss->scan_chan_wait <= 60) { + os_timer_ex_start_period(&ss->ss_scan_timer, + (WIFINET_SCAN_DEFAULT_INTERVAL - ss->scan_chan_wait - WIFINET_SCAN_CHANNEL_COST - WIFINET_SCAN_INTERVAL_LEFT)); @@ -88402,7 +89770,7 @@ index 000000000000..76baca821132 + WIFI_SCAN_LOCK(ss); + if (ss->scan_StateFlags & SCANSTATE_F_WAIT_TBTT) { + ss->scan_StateFlags &= ~SCANSTATE_F_WAIT_TBTT; -+ //printk("%s start timer\n", __func__); ++ //pr_debug("%s start timer\n", __func__); + os_timer_ex_start_period(&ss->ss_scan_timer, WIFINET_SCAN_MOTHER_CHANNEL_TIME); + } + WIFI_SCAN_UNLOCK(ss); @@ -88423,7 +89791,7 @@ index 000000000000..76baca821132 + ifa_v4 = in_dev->ifa_list; + if (ifa_v4 != NULL) { + ifa_v4->ifa_local = *(__be32 *)(&fw_event->local_ip); -+ printk("local ip: %08x\n", ifa_v4->ifa_local); ++ pr_debug("local ip: %08x\n", ifa_v4->ifa_local); + } + } + @@ -88460,7 +89828,7 @@ index 000000000000..76baca821132 + return -EIO; + } + -+ printk(" %s %d cp.vm_param_opmode=%d vm_param_name %s vid = %d \n", ++ pr_debug(" %s %d cp.vm_param_opmode=%d vm_param_name %s vid = %d \n", + __func__,__LINE__,vmparam.vm_param_opmode,vmparam.vm_param_name,vid); + + switch (vmparam.vm_param_opmode) { @@ -88580,7 +89948,7 @@ index 000000000000..76baca821132 + return out; +} + -+int wifi_mac_get_ap_mode(unsigned char rates[]) ++static int wifi_mac_get_ap_mode(unsigned char rates[]) +{ + int i = 0; + int j = 0; @@ -88778,7 +90146,7 @@ index 000000000000..76baca821132 + wifimac->recovery_stat |= WIFINET_RECOVERY_UNDER_CONNECT; + } + //hi_get_irq_status(); -+ //printk("get irq status done\n"); ++ //pr_debug("get irq status done\n"); + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); + wifi_mac_fw_recovery(wnet_vif); + hi_get_irq_status(); @@ -88795,7 +90163,7 @@ index 000000000000..76baca821132 + return 0; +} + -+void wifi_mac_connect_repair_task(SYS_TYPE param1,SYS_TYPE param2, SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) ++static void wifi_mac_connect_repair_task(SYS_TYPE param1,SYS_TYPE param2, SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) +{ + struct wifi_mac *wifimac = (struct wifi_mac *) param1; + static unsigned int free_page = 0; @@ -88832,7 +90200,7 @@ index 000000000000..76baca821132 + count++; + if (count == 2) { + -+ AML_OUTPUT("last send %d, current send %d, last done %d, current done %d, last free %d, current free %d, count %d\n", ++ pr_emerg("last send %d, current send %d, last done %d, current done %d, last free %d, current free %d, count %d\n", +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0) && !defined (LINUX_PLATFORM) + send, hif->HiStatus.Tx_Send_num, done, hif->HiStatus.Tx_Done_num, free, hif->HiStatus.Tx_Free_num, count); +#else @@ -88841,10 +90209,11 @@ index 000000000000..76baca821132 + free, atomic_read(&hif->HiStatus.Tx_Free_num), count); +#endif + -+ AML_OUTPUT("last free page %d, current free page %d, tx_ok %d, last tx_ok %d, tx_fail:%d, last_tx_fail:%d\n", ++ pr_emerg("last free page %d, current free page %d, tx_ok %d, last tx_ok %d, tx_fail:%d, last_tx_fail:%d host_wake %hhu\n", + free_page, hal_priv->txPageFreeNum, tx_ok_num, hif->HiStatus.tx_ok_num, tx_fail_num, hif->HiStatus.tx_fail_num); + + count = 0; ++ pr_emerg("will repair connection!\n"); + wifi_mac_connect_repair(wifimac); + } + @@ -88890,7 +90259,7 @@ index 000000000000..76baca821132 + + if (wifimac->recovery_stat & WIFINET_RECOVERY_UNDER_CONNECT) { + wifimac->recovery_stat = WIFINET_RECOVERY_VIF_UP; -+ ++ wnet_vif->vm_mainsta->connect_status = CONNECT_CONNECTING; + os_timer_ex_start(&pwdev_priv->connect_timeout); + wifi_mac_chk_scan(wnet_vif, WIFINET_SCANCFG_ACTIVE| WIFINET_SCANCFG_FLUSH, wnet_vif->vm_des_nssid, wnet_vif->vm_des_ssid); + @@ -88900,7 +90269,7 @@ index 000000000000..76baca821132 + +} + -+unsigned char is_in_recovery(struct wifi_mac *wifimac) ++static unsigned char is_in_recovery(struct wifi_mac *wifimac) +{ + if (wifimac->recovery_stat & WIFINET_RECOVERY_START) { + ; @@ -88909,12 +90278,49 @@ index 000000000000..76baca821132 + return 0; +} + ++extern char dpp_pub_action_str[][50]; ++unsigned char wifi_mac_is_dpp_frame(struct sk_buff *skb, struct wifi_station *sta) ++{ ++ struct wifi_mac_p2p_pub_act_frame *p2p_pub_act = NULL; ++ unsigned char *buf = (unsigned char *)os_skb_data(skb); ++ bool is_dpp_frame = false; ++ ++ p2p_pub_act = (struct wifi_mac_p2p_pub_act_frame *)(buf + sizeof(struct wifi_frame)); ++ ++ if (p2p_pub_act ++ && (p2p_pub_act->category == AML_CATEGORY_PUBLIC) ++ && (p2p_pub_act->action == WIFINET_ACT_PUBLIC_P2P)) { ++ if (p2p_pub_act->oui_type == OUI_TYPE_DPP) { ++ unsigned char dpp_action_subtype = *(buf + sizeof(struct wifi_frame) + 7); ++ if (dpp_action_subtype == 11) { ++ concurrent_channel_protection(sta->sta_wnet_vif, 2000); ++ } ++ ++ if (dpp_action_subtype < 19) { ++ AML_OUTPUT("DPP->%s %d\n", dpp_pub_action_str[dpp_action_subtype], dpp_action_subtype); ++ } else { ++ AML_OUTPUT("subtype:%d\n", dpp_action_subtype); ++ } ++ is_dpp_frame = true; ++ } ++ } ++ ++ if (p2p_pub_act ++ && (p2p_pub_act->category == AML_CATEGORY_PUBLIC) ++ && ((p2p_pub_act->action == WIFINET_ACT_PUBLIC_GAS_REQ) ++ || (p2p_pub_act->action == WIFINET_ACT_PUBLIC_GAS_RSP))) { ++ AML_OUTPUT("gas frame action:%d\n", p2p_pub_act->action); ++ is_dpp_frame = true; ++ } ++ ++ return is_dpp_frame; ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_if.h b/drivers/net/wireless/w1/vmac/wifi_mac_if.h new file mode 100644 -index 000000000000..348c7ff4a8c8 +index 0000000000000000000000000000000000000000..1c06b3d017819ee53a49a646c838f77219f0bd09 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_if.h -@@ -0,0 +1,386 @@ +@@ -0,0 +1,390 @@ +/* + **************************************************************************************** + * @@ -89300,10 +90706,14 @@ index 000000000000..348c7ff4a8c8 +void wifi_mac_fw_recovery(struct wlan_net_vif *wnet_vif); +int wifi_mac_connect_repair(struct wifi_mac *wifimac); + ++void wifi_mac_tx_lock_timer_attach(void); ++void wifi_mac_tx_lock_timer_cancel(void); ++ ++unsigned char wifi_mac_is_dpp_frame(struct sk_buff *skb, struct wifi_station *sta); +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_monitor.c b/drivers/net/wireless/w1/vmac/wifi_mac_monitor.c new file mode 100644 -index 000000000000..24e3f0e9d97e +index 0000000000000000000000000000000000000000..07458e1572a2cef7564fad89847c8fab9ddb6474 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_monitor.c @@ -0,0 +1,448 @@ @@ -89436,7 +90846,7 @@ index 000000000000..24e3f0e9d97e + + DPRINTF(AML_DEBUG_ANY,"<%s>:<%s>:%s\n", wnet_vif->vm_ndev->name,ndev->name,__func__); + -+ dump_memory_internel(skb->data,32); ++ dump_memory_internal(skb->data,32); + return wifi_mac_hardstart(skb, wnet_vif->vm_ndev); +} + @@ -89757,7 +91167,7 @@ index 000000000000..24e3f0e9d97e + diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_monitor.h b/drivers/net/wireless/w1/vmac/wifi_mac_monitor.h new file mode 100644 -index 000000000000..a3ebe1b57218 +index 0000000000000000000000000000000000000000..a3ebe1b5721853c86879005b51bf5524a5b45af6 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_monitor.h @@ -0,0 +1,32 @@ @@ -89795,10 +91205,10 @@ index 000000000000..a3ebe1b57218 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_p2p.c b/drivers/net/wireless/w1/vmac/wifi_mac_p2p.c new file mode 100644 -index 000000000000..41cc92dbb381 +index 0000000000000000000000000000000000000000..49574e1a9641a699b77c138a8317b61f80f15fa7 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_p2p.c -@@ -0,0 +1,2647 @@ +@@ -0,0 +1,2650 @@ +/* + **************************************************************************************** + * @@ -90085,7 +91495,7 @@ index 000000000000..41cc92dbb381 + return 0; +} + -+int vm_p2p_client_cancle_opps (struct wifi_mac_p2p *p2p) ++int vm_p2p_client_cancel_opps (struct wifi_mac_p2p *p2p) +{ + union type_ctw_opps_u ctw_opps_u; + @@ -90097,14 +91507,14 @@ index 000000000000..41cc92dbb381 +} + + -+int vm_p2p_go_cancle_opps (struct wifi_mac_p2p *p2p) ++int vm_p2p_go_cancel_opps (struct wifi_mac_p2p *p2p) +{ -+ vm_p2p_client_cancle_opps(p2p); ++ vm_p2p_client_cancel_opps(p2p); + vm_p2p_update_noa_ie(p2p); + return 0; +} + -+int vm_p2p_client_cancle_noa (struct wifi_mac_p2p *p2p) ++int vm_p2p_client_cancel_noa (struct wifi_mac_p2p *p2p) +{ + struct p2p_noa noa = {0}; + @@ -90114,9 +91524,9 @@ index 000000000000..41cc92dbb381 + return 0; +} + -+int vm_p2p_go_cancle_noa (struct wifi_mac_p2p *p2p) ++int vm_p2p_go_cancel_noa (struct wifi_mac_p2p *p2p) +{ -+ vm_p2p_client_cancle_noa(p2p); ++ vm_p2p_client_cancel_noa(p2p); + vm_p2p_update_noa_ie(p2p); + return 0; +} @@ -90237,10 +91647,10 @@ index 000000000000..41cc92dbb381 + } + else if (!(p2p->p2p_flag & P2P_NOA_INDEX_INIT_FLAG)) + { -+ AML_PRINT(AML_DBG_MODULES_P2P,"GO cancle noa ie\n"); ++ AML_PRINT(AML_DBG_MODULES_P2P,"GO cancel noa ie\n"); + p2p->p2p_flag |= P2P_NOA_INDEX_INIT_FLAG; -+ vm_p2p_client_cancle_opps(p2p); -+ vm_p2p_client_cancle_noa(p2p); ++ vm_p2p_client_cancel_opps(p2p); ++ vm_p2p_client_cancel_noa(p2p); + } + + return 0; @@ -90329,7 +91739,7 @@ index 000000000000..41cc92dbb381 + if (p2p_noa_start_time_cond(next_tbtt, p2p->noa.start+P2P_NOA_START_TIME_WRAP) + & P2P_NOA_START_IN_PAST) + { -+ printk("%s(%d) noa_len %d, count=%d\n",__func__,__LINE__, ++ pr_debug("%s(%d) noa_len %d, count=%d\n",__func__,__LINE__, + wnet_vif->app_ie[WIFINET_APPIE_FRAME_BEACON].length, p2p->noa.count); + wnet_vif->vm_p2p->noa_index ++; + p2p->noa.start += P2P_NOA_START_TIME_WRAP; @@ -90341,7 +91751,7 @@ index 000000000000..41cc92dbb381 + +#ifdef CONFIG_WFD + -+int vm_wfd_initial(struct wifi_mac_p2p *p2p) ++static int vm_wfd_initial(struct wifi_mac_p2p *p2p) +{ + int res = true; + struct wifi_mac_wfd_info *pwfdinfo = &p2p->wfd_info; @@ -91108,7 +92518,7 @@ index 000000000000..41cc92dbb381 + return false; +} + -+unsigned char vm_get_p2pie_oper_class(struct wifi_mac_p2p *p2p) ++static unsigned char vm_get_p2pie_oper_class(struct wifi_mac_p2p *p2p) +{ + int i = 0, j = 0, k = 0, index = 0, mark = 0; + struct wifi_mac *wifimac = p2p->wnet_vif->vm_wmac; @@ -91175,7 +92585,7 @@ index 000000000000..41cc92dbb381 + return 0; +} + -+void vm_get_p2pie_device_info_addr(struct wifi_mac_p2p *p2p , const unsigned char *frm, unsigned int *len) ++static void vm_get_p2pie_device_info_addr(struct wifi_mac_p2p *p2p , const unsigned char *frm, unsigned int *len) +{ + const unsigned char *p2p_ie; + unsigned int p2p_ielen; @@ -91202,7 +92612,7 @@ index 000000000000..41cc92dbb381 +} + + -+void vm_get_p2pie_listenchannel(struct wifi_mac_p2p *p2p , const unsigned char *frm, unsigned int *len) ++static void vm_get_p2pie_listenchannel(struct wifi_mac_p2p *p2p , const unsigned char *frm, unsigned int *len) +{ + const unsigned char *p2p_ie; + unsigned int p2p_ielen; @@ -91674,14 +93084,14 @@ index 000000000000..41cc92dbb381 + unsigned char *ie = (unsigned char *)frm; + for (i = 0; i < len; i++) + { -+ printk("%02x:", *(ie + i)); ++ pr_debug("%02x:", *(ie + i)); + if (i % 10 == 0) -+ printk("\n"); ++ pr_debug("\n"); + } +} +#endif + -+void vm_get_p2pie_channelList(struct wifi_mac_p2p *p2p, const unsigned char *frm, unsigned int *len, unsigned char tx) ++static void vm_get_p2pie_channelList(struct wifi_mac_p2p *p2p, const unsigned char *frm, unsigned int *len, unsigned char tx) +{ + const unsigned char *p2p_ie; + unsigned int p2p_ielen; @@ -91752,7 +93162,7 @@ index 000000000000..41cc92dbb381 + return; +} + -+int vm_check_p2pie_channelList(struct wifi_mac_p2p *p2p, const unsigned char *frm, unsigned int *len) ++static int vm_check_p2pie_channelList(struct wifi_mac_p2p *p2p, const unsigned char *frm, unsigned int *len) +{ + const unsigned char *p2p_ie; + unsigned int p2p_ielen; @@ -91809,7 +93219,7 @@ index 000000000000..41cc92dbb381 + return false; +} + -+unsigned int vm_get_p2pie_len(struct wifi_mac_p2p *p2p, const unsigned char *frm, unsigned int *len, enum p2p_attr_id id) ++static unsigned int vm_get_p2pie_len(struct wifi_mac_p2p *p2p, const unsigned char *frm, unsigned int *len, enum p2p_attr_id id) +{ + const unsigned char *p2p_ie; + unsigned int p2p_ielen; @@ -91842,7 +93252,7 @@ index 000000000000..41cc92dbb381 + if ((wnet_vif != NULL) && (wnet_vif->vm_p2p_support)) { + p2p = wnet_vif->vm_p2p; + p2p->p2p_negotiation_state = status; -+ printk("%s p2p_negotiation_state:%d\n", __func__, p2p->p2p_negotiation_state); ++ pr_debug("%s p2p_negotiation_state:%d\n", __func__, p2p->p2p_negotiation_state); + } +} + @@ -91858,7 +93268,7 @@ index 000000000000..41cc92dbb381 + && (p2p->p2p_negotiation_state < NET80211_P2P_STATE_GO_COMPLETE)) { + return 1; + } -+ printk("%s p2p_negotiation_state:%d\n", __func__, p2p->p2p_negotiation_state); ++ pr_debug("%s p2p_negotiation_state:%d\n", __func__, p2p->p2p_negotiation_state); + } + + return 0; @@ -91896,7 +93306,7 @@ index 000000000000..41cc92dbb381 +} + + -+void vm_p2p_switch_nego_state(struct wifi_mac_p2p *p2p, struct wifi_mac_p2p_pub_act_frame *frm, unsigned char tx, int *len) ++static void vm_p2p_switch_nego_state(struct wifi_mac_p2p *p2p, struct wifi_mac_p2p_pub_act_frame *frm, unsigned char tx, int *len) +{ + unsigned int chanList_len = vm_get_p2pie_len(p2p, (const unsigned char *)frm->elts, len, P2P_ATTR_CHANNEL_LIST); + struct wifi_mac *wifimac = p2p->wnet_vif->vm_wmac; @@ -91955,7 +93365,7 @@ index 000000000000..41cc92dbb381 + { + p2p->p2p_negotiation_state = NET80211_P2P_STATE_GONEGO_CONF; + if (vm_get_wfd_ie(frm->elts, *len - 8, NULL, &tmplen)) { -+ printk("invite rsp set is_miracast_connect 1\n"); ++ pr_debug("invite rsp set is_miracast_connect 1\n"); + wifimac->is_miracast_connect = 1; + } + }else { @@ -92037,7 +93447,7 @@ index 000000000000..41cc92dbb381 + memset(p2p->peer_dev_addr, 0 , MAX_MAC_BUF_LEN); + if (0 == *(frm->elts + 9)) { + if (vm_get_wfd_ie(frm->elts, *len - 8, NULL, &tmplen)) { -+ printk("conf set is_miracast_connect 1\n"); ++ pr_debug("conf set is_miracast_connect 1\n"); + wifimac->is_miracast_connect = 1; + } + } @@ -92076,7 +93486,7 @@ index 000000000000..41cc92dbb381 + is_p2p_frame = true; + buflen += sprintf(printbuf+buflen, "%s>%s dialog_token=%d", tx?"tx":"rx", + p2p_public_action_tmp[p2p_pub_act->subtype], p2p_pub_act->dialog_token); -+ printk("%s\n", printbuf); ++ pr_debug("%s\n", printbuf); + + } else { + AML_PRINT(AML_DBG_MODULES_P2P,"p2p_public_action not p2p action\n"); @@ -92291,7 +93701,7 @@ index 000000000000..41cc92dbb381 + cfg80211_remain_on_channel_expired(p2p->wnet_vif->vm_wdev, p2p->remain_on_ch_cookie, + &p2p->remain_on_ch_channel, GFP_KERNEL); + -+ DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s> cancle WIFINET_F_NOSCAN\n", ++ DPRINTF(AML_DEBUG_CFG80211, "%s %d <%s> cancel WIFINET_F_NOSCAN\n", + __func__, __LINE__, VMAC_DEV_NAME(p2p->wnet_vif)); + } + @@ -92331,7 +93741,7 @@ index 000000000000..41cc92dbb381 + int index = 0; + struct wlan_net_vif *wnet_vif = p2p->wnet_vif; + -+ printk("%s\n", __func__); ++ pr_debug("%s\n", __func__); +#ifdef CONFIG_WFD + vm_wfd_initial(p2p); +#endif //CONFIG_WFD @@ -92430,6 +93840,9 @@ index 000000000000..41cc92dbb381 + if ((p2p->p2p_role == NET80211_P2P_ROLE_CLIENT) || (p2p->p2p_role == NET80211_P2P_ROLE_GO)) + { + vm_p2p_set_enable(p2p, 1); ++ if (p2p->p2p_role == NET80211_P2P_ROLE_GO) { ++ p2p->p2p_negotiation_state = NET80211_P2P_STATE_GO_COMPLETE; ++ } + } + return 0; +} @@ -92448,10 +93861,10 @@ index 000000000000..41cc92dbb381 +#endif //CONFIG_P2P diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_p2p.h b/drivers/net/wireless/w1/vmac/wifi_mac_p2p.h new file mode 100644 -index 000000000000..a2211c15700b +index 0000000000000000000000000000000000000000..866e7ee1a00fa0f6c0f1494366a9167758aa1627 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_p2p.h -@@ -0,0 +1,510 @@ +@@ -0,0 +1,512 @@ +/* + **************************************************************************************** + * @@ -92832,12 +94245,14 @@ index 000000000000..a2211c15700b + unsigned int raw_action_pkt_len; + enum wifi_mac_tx_status_mode tx_status_flag; + unsigned long long cookie; ++ struct wifi_channel *action_chan; + struct channel_list peer_chan_list; + struct channel_list self_chan_list; + unsigned char peer_listen_channel; + unsigned char peer_dev_addr[MAX_MAC_BUF_LEN]; + unsigned char ap_mode_set_noa_enable; + unsigned char wfd_session_id[MAC_WFD_SESSION_LEN]; ++ unsigned char go_hidden_mode; +}; + +static inline void vm_p2p_set_enable(struct wifi_mac_p2p *p2p, int enable) @@ -92918,14 +94333,14 @@ index 000000000000..a2211c15700b +} +#endif + -+int vm_p2p_go_cancle_opps (struct wifi_mac_p2p *p2p); -+int vm_p2p_go_cancle_noa (struct wifi_mac_p2p *p2p); -+int vm_p2p_client_cancle_opps (struct wifi_mac_p2p *p2p); ++int vm_p2p_go_cancel_opps (struct wifi_mac_p2p *p2p); ++int vm_p2p_go_cancel_noa (struct wifi_mac_p2p *p2p); ++int vm_p2p_client_cancel_opps (struct wifi_mac_p2p *p2p); +int vm_p2p_opps_start(struct wifi_mac_p2p *p2p, const union type_ctw_opps_u *ctw_opps_u); +int vm_p2p_noa_start(struct wifi_mac_p2p *p2p, const struct p2p_noa *noa); +unsigned char is_need_process_p2p_action(unsigned char* buf); +int vm_p2p_parse_negotiation_frames(struct wifi_mac_p2p *p2p, const unsigned char *frm, unsigned int *len, unsigned char tx); -+int vm_p2p_client_cancle_noa (struct wifi_mac_p2p *p2p); ++int vm_p2p_client_cancel_noa (struct wifi_mac_p2p *p2p); +void vm_change_p2pie_channel(struct wifi_mac_p2p *p2p , const unsigned char *frm, unsigned int *len); +int vm_p2p_update_noa_ie (struct wifi_mac_p2p *p2p); +void vm_change_p2pie_listenchannel(struct wifi_mac_p2p *p2p , const unsigned char *frm, unsigned int len); @@ -92964,7 +94379,7 @@ index 000000000000..a2211c15700b + diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_pmf.c b/drivers/net/wireless/w1/vmac/wifi_mac_pmf.c new file mode 100644 -index 000000000000..fc4665878dba +index 0000000000000000000000000000000000000000..e50ef8252c9a037a111a9bb534e3ce34187a9f9c --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_pmf.c @@ -0,0 +1,676 @@ @@ -92980,7 +94395,7 @@ index 000000000000..fc4665878dba +void wifi_mac_disable_hw_mgmt_decrypt(void) { + unsigned int reg_val; + -+ printk("%s\n", __func__); ++ pr_debug("%s\n", __func__); + reg_val = fi_ahb_read(0x0a000308); + fi_ahb_write(0x0a000308, reg_val | BIT(28)); + @@ -93003,7 +94418,7 @@ index 000000000000..fc4665878dba + fi_ahb_write(0x0a000354, reg_val | BIT(28)); +} + -+unsigned char _bip_ccmp_protect(const unsigned char *key, size_t key_len, ++static unsigned char _bip_ccmp_protect(const unsigned char *key, size_t key_len, + const unsigned char *data, size_t data_len, unsigned char *mic) +{ + unsigned char res = 1; @@ -93011,24 +94426,24 @@ index 000000000000..fc4665878dba + if (key_len == 16) { + if (omac1_aes_128(key, data, data_len, mic)) { + res = 0; -+ printk("%s : omac1_aes_128 fail!", __func__); ++ pr_err("%s : omac1_aes_128 fail!", __func__); + } + + } else if (key_len == 32) { + if (omac1_aes_256(key, data, data_len, mic)) { + res = 0; -+ printk("%s : omac1_aes_256 fail!", __func__); ++ pr_err("%s : omac1_aes_256 fail!", __func__); + } + + } else { -+ printk("%s : key_len not match!", __func__); ++ pr_warn("%s : key_len not match!", __func__); + res = 0; + } + + return res; +} + -+unsigned char aml_calculate_bip_mic(unsigned char gmcs, unsigned char *whdr_pos, int len, ++static unsigned char aml_calculate_bip_mic(unsigned char gmcs, unsigned char *whdr_pos, int len, + const unsigned char *key, const unsigned char *data, size_t data_len, unsigned char *mic) +{ + unsigned char res = 1; @@ -93036,40 +94451,40 @@ index 000000000000..fc4665878dba + if (gmcs == WIFINET_CIPHER_AES_CMAC) { + if (_bip_ccmp_protect(key, 16, data, data_len, mic) == 0) { + res = 0; -+ printk("%s : _bip_ccmp_protect(128) fail!", __func__); ++ pr_err("%s : _bip_ccmp_protect(128) fail!", __func__); + } + + } else { + res = 0; -+ printk("%s : unsupport dot11wCipher !\n", __func__); ++ pr_err("%s : unsupport dot11wCipher !\n", __func__); + } + + return res; +} + -+void wifi_mac_dump_pkt(void *pkt, unsigned short pkt_len) { ++static void wifi_mac_dump_pkt(void *pkt, unsigned short pkt_len) { + int pp; + int len = pkt_len; + unsigned char *frm = (unsigned char *)pkt; + -+ printk("pktlen = %d\n", pkt_len); ++ pr_debug("pktlen = %d\n", pkt_len); + for (pp = 0; pp < pkt_len; pp++) { + if ((len > 6) && (pp < 4)) { -+ printk("%02x:%02x:%02x:%02x", frm[pp], frm[pp + 1], frm[pp + 2], frm[pp + 3]); ++ pr_debug("%02x:%02x:%02x:%02x", frm[pp], frm[pp + 1], frm[pp + 2], frm[pp + 3]); + len -= 4; + pp += 3; + + } else if (len > 6) { -+ printk("%02x:%02x:%02x:%02x:%02x:%02x", ++ pr_debug("%02x:%02x:%02x:%02x:%02x:%02x", + frm[pp], frm[pp + 1], frm[pp + 2], frm[pp + 3], frm[pp + 4], frm[pp + 5]); + len -= 6; + pp += 5; + + } else { -+ printk("%02x ", frm[pp]); ++ pr_debug("%02x ", frm[pp]); + } + } -+ printk("\n"); ++ pr_debug("\n"); +} + +int wifi_mac_parse_mmie(struct wifi_station *sta, struct sk_buff *skb, unsigned char subtype) @@ -93102,7 +94517,7 @@ index 000000000000..fc4665878dba + + #ifdef PMF_PKT_PRINT + /* dump the packet content before decrypt */ -+ printk("before parse:%d\n", skb->len); ++ pr_debug("before parse:%d\n", skb->len); + wifi_mac_dump_pkt(frm, skb->len); + #endif + @@ -93158,11 +94573,11 @@ index 000000000000..fc4665878dba + memcpy(bip_aad + 8, wh->i_addr2, 6); + memcpy(bip_aad + 14, wh->i_addr3, 6); + -+ printk("%s bip_add before\n", __func__); ++ pr_debug("%s bip_add before\n", __func__); + for (i = 0; i < ori_len; ++i) { -+ printk("%02x", bip_aad[i]); ++ pr_debug("%02x", bip_aad[i]); + } -+ printk("\n"); ++ pr_debug("\n"); + + if (aml_calculate_bip_mic(sta->pmf_key.wk_key_type, frm, + pkt_len, sta->pmf_key.wk_key, bip_aad, ori_len, mic) == 0) @@ -93178,7 +94593,7 @@ index 000000000000..fc4665878dba + + #ifdef PMF_PKT_PRINT + /* dump the packet content before decrypt */ -+ printk("after parse:%d\n", skb->len); ++ pr_debug("after parse:%d\n", skb->len); + wifi_mac_dump_pkt(frm, skb->len); + #endif + @@ -93188,7 +94603,7 @@ index 000000000000..fc4665878dba + return res; +} + -+int aml_aes_decrypt(struct wifi_station *sta, struct sk_buff *skb, unsigned char key_index) ++static int aml_aes_decrypt(struct wifi_station *sta, struct sk_buff *skb, unsigned char key_index) +{ + unsigned char *frm; + unsigned char *key; @@ -93225,7 +94640,7 @@ index 000000000000..fc4665878dba + return 0; +} + -+int aml_pkt_decrypt(struct wifi_station *sta, struct sk_buff *skb) ++static int aml_pkt_decrypt(struct wifi_station *sta, struct sk_buff *skb) +{ + int res = 0; + unsigned char hdr_len = sizeof(struct wifi_frame); @@ -93287,7 +94702,7 @@ index 000000000000..fc4665878dba + frm = (unsigned char *)&wh[1]; + is_bmc = (WIFINET_IS_MULTICAST(wh->i_addr1)); + -+ //printk("%s recv :%d\n", __func__, subtype); ++ //pr_debug("%s recv :%d\n", __func__, subtype); + switch (wnet_vif->vm_opmode) { + case WIFINET_M_STA: + if ((is_bmc) && (subtype != WIFINET_FC0_SUBTYPE_BEACON)) { @@ -93297,7 +94712,7 @@ index 000000000000..fc4665878dba + if ((subtype == WIFINET_FC0_SUBTYPE_DEAUTH) || (subtype == WIFINET_FC0_SUBTYPE_DISASSOC)) { + if (!(sta->sta_flags_ext & WIFINET_NODE_MFP_CONFIRM_DEAUTH)) { + reason = le16toh(*(unsigned short *)frm); -+ printk("%s recv deauthenticate (reason %d)\n", __func__, reason); ++ pr_debug("%s recv deauthenticate (reason %d)\n", __func__, reason); + + wifi_mac_send_sa_query(sta, WIFINET_ACTION_SA_QUERY_REQ, sta->sa_query_seq++); + os_timer_ex_start_period(&wnet_vif->vm_actsend, 100); @@ -93388,7 +94803,7 @@ index 000000000000..fc4665878dba + + #ifdef PMF_PKT_PRINT + /* dump the packet content before decrypt */ -+ printk("rsn_ucastcipher:%d\n", sta->sta_rsn.rsn_ucastcipher); ++ pr_debug("rsn_ucastcipher:%d\n", sta->sta_rsn.rsn_ucastcipher); + wifi_mac_dump_pkt(frm, skb->len); + #endif + @@ -93408,12 +94823,12 @@ index 000000000000..fc4665878dba + + #ifdef PMF_PKT_PRINT + /* print packet content after decryption */ -+ printk("after decrypt\n"); ++ pr_debug("after decrypt\n"); + wifi_mac_dump_pkt(frm, skb->len); + #endif + + if (is_bmc) { -+ printk("parse mmie for broadcast mgmt pkt\n"); ++ pr_debug("parse mmie for broadcast mgmt pkt\n"); + if (wifi_mac_parse_mmie(sta, skb, subtype) != 1) { + goto fail; + } @@ -93447,7 +94862,7 @@ index 000000000000..fc4665878dba + ERROR_DEBUG_OUT("bip alloc fail\n"); + return 1; + } -+ printk("%s len:%d, frame_body_len:%d\n", __func__, skb->len, frame_body_len); ++ pr_debug("%s len:%d, frame_body_len:%d\n", __func__, skb->len, frame_body_len); + + { + /* broadcast robust mgmt frame, using BIP */ @@ -93471,7 +94886,7 @@ index 000000000000..fc4665878dba + + #ifdef PMF_PKT_PRINT + /* dump the packet content before decrypt */ -+ printk("before add aad:%d\n", skb->len); ++ pr_debug("before add aad:%d\n", skb->len); + wifi_mac_dump_pkt(frm, skb->len); + #endif + @@ -93501,7 +94916,7 @@ index 000000000000..fc4665878dba + + /* dump total packet include MME with zero MIC */ + #if 0 -+ printk("bip_aad:%d\n", ori_len); ++ pr_debug("bip_aad:%d\n", ori_len); + wifi_mac_dump_pkt(bip_add, ori_len); + #endif + @@ -93513,10 +94928,10 @@ index 000000000000..fc4665878dba + /* dump calculated mic result */ + if (0) { + int i; -+ printk("Calculated mic result: "); ++ pr_debug("Calculated mic result: "); + for (i = 0; i < 16; i++) -+ printk(" %02x ", mic[i]); -+ printk("\n"); ++ pr_debug(" %02x ", mic[i]); ++ pr_debug("\n"); + } + + frm_end = frm + skb->len; @@ -93527,7 +94942,7 @@ index 000000000000..fc4665878dba + memcpy(frm_end - 16, mic, 16); + + #ifdef PMF_PKT_PRINT -+ printk("after add mic:%d\n", skb->len); ++ pr_debug("after add mic:%d\n", skb->len); + wifi_mac_dump_pkt(frm, skb->len); + #endif + } @@ -93540,7 +94955,7 @@ index 000000000000..fc4665878dba + return 1; +} + -+int _aml_ccmp_encrypt(struct wifi_mac_key *key, unsigned char *pn, unsigned int hdrlen, unsigned char *frame, uint plen) ++static int _aml_ccmp_encrypt(struct wifi_mac_key *key, unsigned char *pn, unsigned int hdrlen, unsigned char *frame, uint plen) +{ + unsigned char *enc = NULL; + size_t enc_len = 0; @@ -93600,7 +95015,7 @@ index 000000000000..fc4665878dba + + #ifdef PMF_PKT_PRINT + /* dump the packet content before decrypt */ -+ printk("before encrypt rsn_ucastcipher:%d\n", sta->sta_rsn.rsn_ucastcipher); ++ pr_debug("before encrypt rsn_ucastcipher:%d\n", sta->sta_rsn.rsn_ucastcipher); + wifi_mac_dump_pkt(frm, skb->len); + #endif + @@ -93620,11 +95035,11 @@ index 000000000000..fc4665878dba + + PN = (unsigned long long *)pn; + (*PN)++; -+ //printk("PN is %016x, pn[0]:%02x, pn[7]:%02x\n", *PN, pn[0], pn[7]); ++ //pr_debug("PN is %016x, pn[0]:%02x, pn[7]:%02x\n", *PN, pn[0], pn[7]); + + #ifdef PMF_PKT_PRINT + /* dump the packet content before decrypt */ -+ printk("after encrypt:\n"); ++ pr_debug("after encrypt:\n"); + wifi_mac_dump_pkt(frm, skb->len); + #endif + @@ -93638,7 +95053,7 @@ index 000000000000..fc4665878dba + arg.action = action; + arg.arg1 = seq; + -+ printk("%s sta:%p, action:%d\n", __func__, sta, action); ++ pr_debug("%s sta:%p, action:%d\n", __func__, sta, action); + wifi_mac_send_actionframe(sta->sta_wnet_vif, sta, &arg); + return 0; +} @@ -93646,7 +95061,7 @@ index 000000000000..fc4665878dba +#endif//AML_WPA3 diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_pmf.h b/drivers/net/wireless/w1/vmac/wifi_mac_pmf.h new file mode 100644 -index 000000000000..9c051dc0dd93 +index 0000000000000000000000000000000000000000..9c051dc0dd93d5f37f0361ba0475685ea11a3f09 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_pmf.h @@ -0,0 +1,91 @@ @@ -93743,10 +95158,10 @@ index 000000000000..9c051dc0dd93 +#endif//_WIFI_MAC_PMF_H_ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_power.c b/drivers/net/wireless/w1/vmac/wifi_mac_power.c new file mode 100644 -index 000000000000..65cbcf63b6d2 +index 0000000000000000000000000000000000000000..6c2fb338fc064daffaf48a3b60a2aa9e0a3c4951 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_power.c -@@ -0,0 +1,1861 @@ +@@ -0,0 +1,1903 @@ +/* + **************************************************************************************** + * @@ -93793,7 +95208,7 @@ index 000000000000..65cbcf63b6d2 + + if (wnet_vif->vm_mainsta == NULL) + { -+ printk("%s:%d, vm_mainsta is null, cancle sleep this time \n", __func__, __LINE__); ++ pr_err("%s:%d, vm_mainsta is null, cancel sleep this time \n", __func__, __LINE__); + os_timer_ex_start(&wnet_vif->vm_pwrsave.ips_timer_presleep); + return; + } @@ -93858,7 +95273,7 @@ index 000000000000..65cbcf63b6d2 +{ + struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param1; + -+ wifi_mac_pwrsave_sleep_wait_cancle(wnet_vif); ++ wifi_mac_pwrsave_sleep_wait_cancel(wnet_vif); + wifi_mac_pwrsave_wakeup(wnet_vif, WKUP_FROM_TRANSMIT); + + if ((wnet_vif->vm_opmode == WIFINET_M_STA) && (wnet_vif->vm_state == WIFINET_S_CONNECTED)) @@ -93866,7 +95281,7 @@ index 000000000000..65cbcf63b6d2 +#ifdef CONFIG_P2P + if (wnet_vif->vm_p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI) + { -+ vm_p2p_client_cancle_opps(wnet_vif->vm_p2p); ++ vm_p2p_client_cancel_opps(wnet_vif->vm_p2p); + } +#endif + } @@ -93964,7 +95379,7 @@ index 000000000000..65cbcf63b6d2 + return OS_TIMER_NOT_REARMED; +} + -+void wifi_mac_pwrsave_sleep_wait_cancle (struct wlan_net_vif *wnet_vif) ++void wifi_mac_pwrsave_sleep_wait_cancel (struct wlan_net_vif *wnet_vif) +{ + WIFINET_PWRSAVE_LOCK(wnet_vif); + if (wnet_vif->vm_pwrsave.ips_flag_waitbeacon_timer_start) @@ -94079,7 +95494,7 @@ index 000000000000..65cbcf63b6d2 +#ifdef CONFIG_P2P + if (wnet_vif->vm_p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI) + { -+ vm_p2p_client_cancle_opps(wnet_vif->vm_p2p); ++ vm_p2p_client_cancel_opps(wnet_vif->vm_p2p); + } +#endif + } @@ -94123,7 +95538,7 @@ index 000000000000..65cbcf63b6d2 + + if (wnet_vif->vm_state == WIFINET_S_CONNECTED && wifimac->wm_syncbeacon == 0) + { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_beacon_sync(wifimac->drv_priv->wmac, wnet_vif->wnet_vif_id); + } + @@ -94456,7 +95871,7 @@ index 000000000000..65cbcf63b6d2 + unsigned int qlen_real = WIFINET_SAVEQ_QLEN(pstxqueue); + + if (qlen_real) { -+ printk("%s qlen_real:%d\n", __func__, qlen_real); ++ pr_debug("%s qlen_real:%d\n", __func__, qlen_real); + } + + while (qlen_real) @@ -94494,13 +95909,30 @@ index 000000000000..65cbcf63b6d2 + +int wifi_mac_buffer_txq_send(struct sk_buff_head *txqueue) +{ -+ struct sk_buff *skb = NULL; ++ struct sk_buff *skb = NULL, *tmp; + struct wifi_station *sta; + struct wifi_mac *wifimac; + unsigned int qlen_real = WIFINET_SAVEQ_QLEN(txqueue); + if (qlen_real == 0) { + return qlen_real; + } ++ ++ WIFINET_SAVEQ_LOCK(txqueue); ++ skb_queue_walk_safe(txqueue,skb,tmp) { ++ sta = os_skb_get_nsta(skb); ++ if (!sta_find_in_sta_tbl(sta)) { ++ AML_OUTPUT("not find sta: %p free skb\n",sta); ++ aml_skb_unlink(skb,txqueue); ++ wifi_mac_free_skb(skb); ++ } ++ } ++ ++ qlen_real = WIFINET_SAVEQ_QLEN(txqueue); ++ WIFINET_SAVEQ_UNLOCK(txqueue); ++ ++ if (qlen_real == 0) { ++ return qlen_real; ++ } +#ifdef CONFIG_CONCURRENT_MODE + skb = WIFINET_SAVEQ_GET_TAIL(txqueue); + if (skb) { @@ -94638,7 +96070,7 @@ index 000000000000..65cbcf63b6d2 + + if (send_trigger == 1) + { -+ printk("%s:%d, send uapsd trigger\n", __func__, __LINE__); ++ pr_debug("%s:%d, send uapsd trigger\n", __func__, __LINE__); + wifi_mac_send_qosnulldata_as_trigger(sta, qosinfo); + } + return OS_TIMER_REARMED; @@ -95066,7 +96498,7 @@ index 000000000000..65cbcf63b6d2 + { + wifi_mac_send_nulldata_for_ap(sta, 0, 0, 0, 0); + wnet_vif->vif_sts.sts_tx_ps_no_data++; -+ printk("tx null for pspoll\n"); ++ pr_debug("tx null for pspoll\n"); + } + qlen = 0; + break; @@ -95187,7 +96619,7 @@ index 000000000000..65cbcf63b6d2 + "ps-poll %s","unassociated station"); + wnet_vif->vif_sts.sts_rx_ps_uncnnt++; + arg = WIFINET_REASON_NOT_ASSOCED; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_send_mgmt(sta, WIFINET_FC0_SUBTYPE_DEAUTH, (void *)&arg); + return; + } @@ -95199,7 +96631,7 @@ index 000000000000..65cbcf63b6d2 + "ps-poll aid mismatch: sta aid 0x%x poll aid 0x%x", sta->sta_associd, aid); + wnet_vif->vif_sts.sts_rx_ps_aid_err++; + arg = WIFINET_REASON_NOT_ASSOCED; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_send_mgmt(sta, WIFINET_FC0_SUBTYPE_DEAUTH, (void *)&arg); + return; + } @@ -95290,7 +96722,7 @@ index 000000000000..65cbcf63b6d2 + DPRINTF(AML_DEBUG_PWR_SAVE, "%s %d rx nsta trigger tid=%d ac=%d\n", + __func__,__LINE__, tid, ac); + */ -+ printk("rx uapsd trigger\n"); ++ pr_debug("rx uapsd trigger\n"); + + frame_seq = le16toh(*(unsigned short *)qwh->i_seq); + if ((qwh->i_fc[1] & WIFINET_FC1_RETRY) && @@ -95404,7 +96836,7 @@ index 000000000000..65cbcf63b6d2 + return 0; +} + -+int wifi_mac_pwrsave_wow_suspend(SYS_TYPE param1, ++void wifi_mac_pwrsave_wow_suspend(SYS_TYPE param1, + SYS_TYPE param2,SYS_TYPE param3, + SYS_TYPE param4,SYS_TYPE param5) +{ @@ -95415,12 +96847,12 @@ index 000000000000..65cbcf63b6d2 + int listen_interval = 0, connect = 0; + unsigned int filter = 0, cnt = 0; + -+ printk("%s:%d\n", __func__, __LINE__); ++ pr_debug("%s:%d\n", __func__, __LINE__); + WIFINET_PWRSAVE_MUTEX_LOCK(wnet_vif); + if (wifimac->wm_suspend_mode == WIFI_SUSPEND_STATE_WOW) + { + WIFINET_PWRSAVE_MUTEX_UNLOCK(wnet_vif); -+ return 0; ++ return; + } + + DPRINTF(AML_DEBUG_PWR_SAVE, "<%s>:%s %d scan abort when host suspend \n", @@ -95437,7 +96869,7 @@ index 000000000000..65cbcf63b6d2 + wnet_vif->vm_ndev->name); + wnet_vif->vm_scan_hang = 0; + WIFINET_PWRSAVE_MUTEX_UNLOCK(wnet_vif); -+ return -1; ++ return; + } + } + @@ -95456,7 +96888,7 @@ index 000000000000..65cbcf63b6d2 + */ + wnet_vif->vm_scan_hang = 0; + WIFINET_PWRSAVE_MUTEX_UNLOCK(wnet_vif); -+ return -EINVAL; ++ return; + #endif + } + @@ -95485,7 +96917,7 @@ index 000000000000..65cbcf63b6d2 + listen_interval = wnet_vif_tmp->vm_bcn_intval * wnet_vif_tmp->vm_dtim_period; + else + listen_interval = wnet_vif_tmp->vm_bcn_intval; -+ wifimac->drv_priv->drv_ops.Phy_beaconinit(wifimac->drv_priv,wnet_vif_tmp->wnet_vif_id, listen_interval); ++ wifimac->drv_priv->drv_ops.Phy_beaconinit(wifimac->drv_priv,wnet_vif_tmp->wnet_vif_id, (1<<16) | listen_interval); + + /* change beacon miss timer period */ + wifi_mac_set_beacon_miss_ex(wnet_vif_tmp, ENABLE, WIFINET_BCNMISS_TIME/* period, ms*/); @@ -95505,7 +96937,7 @@ index 000000000000..65cbcf63b6d2 + if (wnet_vif->wnet_vif_id == 1) + { + WIFINET_PWRSAVE_MUTEX_UNLOCK(wnet_vif); -+ return 0; ++ return; + } + wifimac->drv_priv->drv_ops.drv_set_suspend(wifimac->drv_priv, wnet_vif->wnet_vif_id, ENABLE, + WIFI_SUSPEND_STATE_WOW, filter); @@ -95518,10 +96950,10 @@ index 000000000000..65cbcf63b6d2 + wifimac->wm_suspend_mode = WIFI_SUSPEND_STATE_WOW; + + WIFINET_PWRSAVE_MUTEX_UNLOCK(wnet_vif); -+ return 0; ++ return; +} + -+int wifi_mac_pwrsave_wow_resume(SYS_TYPE param1, ++void wifi_mac_pwrsave_wow_resume(SYS_TYPE param1, + SYS_TYPE param2,SYS_TYPE param3, + SYS_TYPE param4,SYS_TYPE param5) +{ @@ -95531,12 +96963,12 @@ index 000000000000..65cbcf63b6d2 + int connect = 0; + int ret = 0; + -+ printk("%s:%d\n", __func__, __LINE__); ++ pr_debug("%s:%d\n", __func__, __LINE__); + WIFINET_PWRSAVE_MUTEX_LOCK(wnet_vif); + if (wifimac->wm_suspend_mode == WIFI_SUSPEND_STATE_NONE) + { + WIFINET_PWRSAVE_MUTEX_UNLOCK(wnet_vif); -+ return 0; ++ return; + } + + list_for_each_entry_safe(wnet_vif_tmp, wnet_vif_next, &wifimac->wm_wnet_vifs, vm_next) @@ -95579,7 +97011,7 @@ index 000000000000..65cbcf63b6d2 + WIFINET_PWRSAVE_MUTEX_UNLOCK(wnet_vif); + wnet_vif->vm_scan_hang = 0; + netif_wake_queue(wnet_vif->vm_ndev); -+ return 0; ++ return ; + } + wifimac->drv_priv->drv_ops.drv_set_suspend(wifimac->drv_priv, wnet_vif->wnet_vif_id, DISABLE, + WIFI_SUSPEND_STATE_NONE, 0); @@ -95595,7 +97027,7 @@ index 000000000000..65cbcf63b6d2 + WIFINET_PWRSAVE_MUTEX_UNLOCK(wnet_vif); + wnet_vif->vm_scan_hang = 0; + netif_wake_queue(wnet_vif->vm_ndev); -+ return 0; ++ return ; +} + +int wifi_mac_pwrsave_wow_check(struct wlan_net_vif *wnet_vif) @@ -95608,12 +97040,37 @@ index 000000000000..65cbcf63b6d2 + } + return 0; +} ++ ++unsigned char sta_find_in_sta_tbl(struct wifi_station *find_sta) ++{ ++ unsigned char vid; ++ struct wifi_station *sta, *sta_next; ++ struct wifi_station_tbl *vm_sta_tbl = NULL; ++ struct drv_private *drv_priv = drv_get_drv_priv(); ++ ++ for (vid = 0; vid < WIFI_MAX_VID; ++vid) ++ { ++ vm_sta_tbl = &drv_priv->drv_wnet_vif_table[vid]->vm_sta_tbl; ++ WIFINET_NODE_LOCK(vm_sta_tbl); ++ list_for_each_entry_safe(sta, sta_next, &vm_sta_tbl->nt_nsta, sta_list) ++ { ++ if (find_sta == sta) ++ { ++ WIFINET_NODE_UNLOCK(vm_sta_tbl); ++ return 1; ++ } ++ } ++ WIFINET_NODE_UNLOCK(vm_sta_tbl); ++ } ++ ++ return 0; ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_power.h b/drivers/net/wireless/w1/vmac/wifi_mac_power.h new file mode 100644 -index 000000000000..8e4b6ad3dc5a +index 0000000000000000000000000000000000000000..be4ef3db4c956b7db1a558333423572fbd188395 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_power.h -@@ -0,0 +1,252 @@ +@@ -0,0 +1,253 @@ +/* + **************************************************************************************** + * @@ -95819,7 +97276,7 @@ index 000000000000..8e4b6ad3dc5a + +void wifi_mac_pwrsave_set_tim(struct wifi_station *sta, int set); +void wifi_mac_pwrsave_restore_sleep(struct wlan_net_vif *wnet_vif); -+void wifi_mac_pwrsave_sleep_wait_cancle (struct wlan_net_vif *wnet_vif); ++void wifi_mac_pwrsave_sleep_wait_cancel (struct wlan_net_vif *wnet_vif); +int wifi_mac_pwrsave_wkup_and_NtfyAp (struct wlan_net_vif *wnet_vif, enum wifinet_ps_wk_reason reason); +int wifi_mac_pwrsave_fullsleep(struct wlan_net_vif *wnet_vif, enum wifinet_ps_sleep_reason reason); +int wifi_mac_pwrsave_wakeup(struct wlan_net_vif *wnet_vif, enum wifinet_ps_wk_reason reason); @@ -95850,10 +97307,10 @@ index 000000000000..8e4b6ad3dc5a +void wifi_mac_pwrsave_eosp_indicate(void* nsta, struct sk_buff * skbbuf, int txok); +void wifi_mac_pwrsave_send_pspoll(struct wifi_station *); + -+int wifi_mac_pwrsave_wow_suspend(SYS_TYPE param1, ++void wifi_mac_pwrsave_wow_suspend(SYS_TYPE param1, + SYS_TYPE param2,SYS_TYPE param3, + SYS_TYPE param4,SYS_TYPE param5); -+int wifi_mac_pwrsave_wow_resume(SYS_TYPE param1, ++void wifi_mac_pwrsave_wow_resume(SYS_TYPE param1, + SYS_TYPE param2,SYS_TYPE param3, + SYS_TYPE param4,SYS_TYPE param5); +int wifi_mac_pwrsave_wow_usr(struct wlan_net_vif *wnet_vif, @@ -95865,13 +97322,14 @@ index 000000000000..8e4b6ad3dc5a +void wifi_mac_pwrsave_sleep_wait_ex(SYS_TYPE param1, + SYS_TYPE param2,SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5); +void wifi_mac_send_nulldata_retry(void * data); ++unsigned char sta_find_in_sta_tbl(struct wifi_station *find_sta); +#endif /* _NET80211_IEEE80211_POWER_H_ */ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_rate.c b/drivers/net/wireless/w1/vmac/wifi_mac_rate.c new file mode 100644 -index 000000000000..b529c92bc06a +index 0000000000000000000000000000000000000000..b3fc8b7e59c72e6e0ae200258c54178fa2587be2 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_rate.c -@@ -0,0 +1,914 @@ +@@ -0,0 +1,929 @@ +#include "wifi_mac_com.h" + +void wifi_mac_ap_set_basic_rates(struct wlan_net_vif *wnet_vif, enum wifi_mac_macmode macmode) @@ -96229,7 +97687,7 @@ index 000000000000..b529c92bc06a + return 1; +} + -+int wifi_mac_mcs_to_numstreams(int mcs) ++static int wifi_mac_mcs_to_numstreams(int mcs) +{ + int numstreams = 0; + @@ -96786,9 +98244,24 @@ index 000000000000..b529c92bc06a + } + return 0; +} ++ ++unsigned char wifi_mac_find_rate(unsigned char rate_value, struct wifi_mac_rateset rate_table) ++{ ++ unsigned char i = 0; ++ ++ for (i = 0; i < rate_table.dot11_rate_num; i++) ++ { ++ if (WIFINET_GET_RATE_VAL(rate_value) == WIFINET_GET_RATE_VAL(rate_table.dot11_rate[i])) ++ { ++ return 1; ++ } ++ } ++ ++ return 0; ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_rate.h b/drivers/net/wireless/w1/vmac/wifi_mac_rate.h new file mode 100644 -index 000000000000..8dd7675fa733 +index 0000000000000000000000000000000000000000..dabe2e7f243b470ed453f8c0fe241b0c0dc67f40 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_rate.h @@ -0,0 +1,57 @@ @@ -96847,14 +98320,14 @@ index 000000000000..8dd7675fa733 +void wifi_mac_set_legacy_rates(struct wifi_mac_rateset *rs, struct wlan_net_vif *wnet_vif); +void wifi_mac_sta_set_basic_rates(struct wlan_net_vif *wnet_vif, char *si_rates, char *si_exrates); +void wifi_mac_ap_set_basic_rates(struct wlan_net_vif *wnet_vif, enum wifi_mac_macmode macmode); -+ ++unsigned char wifi_mac_find_rate(unsigned char rate_value, struct wifi_mac_rateset rate_table); +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_recv.c b/drivers/net/wireless/w1/vmac/wifi_mac_recv.c new file mode 100644 -index 000000000000..541580dba475 +index 0000000000000000000000000000000000000000..9328efda8b64fa74ea9c60d0f69722b90293dc50 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_recv.c -@@ -0,0 +1,5041 @@ +@@ -0,0 +1,5180 @@ +/* + **************************************************************************************** + * @@ -96870,6 +98343,7 @@ index 000000000000..541580dba475 + */ + +#include "wifi_mac_com.h" ++#include "wifi_mac_scan.h" +#include "wifi_hal_com.h" +#include "wifi_mac_action.h" +#include "wifi_mac_sae.h" @@ -96999,7 +98473,7 @@ index 000000000000..541580dba475 + KASSERT(sta != NULL, ("null nsta")); + sta->sta_inact = sta->sta_inact_reload; + sta->sta_inact_time = jiffies; -+ //dump_memory_internel(os_skb_data(skb), os_skb_get_pktlen(skb)); ++ //dump_memory_internal(os_skb_data(skb), os_skb_get_pktlen(skb)); + KASSERT(os_skb_get_pktlen(skb) >= sizeof(struct wifi_mac_frame_min), + ("frame length too short: %u", os_skb_get_pktlen(skb))); + @@ -97057,7 +98531,7 @@ index 000000000000..541580dba475 + + if ((wnet_vif->vm_state == WIFINET_S_CONNECTED) && (!WIFINET_IS_PROBERSP(wh))) { + if (wnet_vif->vm_bmiss_count) { -+ printk("received pkt from ap, vid:%d\n", wnet_vif->wnet_vif_id); ++ pr_debug("received pkt from ap, vid:%d\n", wnet_vif->wnet_vif_id); + } + wnet_vif->vm_bmiss_count = 0; + } @@ -97155,7 +98629,7 @@ index 000000000000..541580dba475 + } + + if (wnet_vif->vm_bmiss_count) { -+ printk("%s, vid:%d vm_bmiss_count set to 0\n", __func__, wnet_vif->wnet_vif_id); ++ pr_warn("%s, vid:%d vm_bmiss_count set to 0\n", __func__, wnet_vif->wnet_vif_id); + } + wnet_vif->vm_bmiss_count = 0; + } @@ -97225,7 +98699,7 @@ index 000000000000..541580dba475 + } + else if (!WIFINET_ADDR_EQ(temp_nsta->sta_macaddr, wnet_vif->vm_myaddr)) + { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_sta_disconnect_from_ap(temp_nsta); + wifi_mac_add_wds_addr(&wnet_vif->vm_sta_tbl, sta, wh4->i_addr4); + } @@ -97248,7 +98722,7 @@ index 000000000000..541580dba475 + { + WIFINET_DPRINTF( AML_DEBUG_ANY,"data invalid dir 0x%x", dir); + wnet_vif->vif_sts.sts_rx_wrong_dir++; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + goto out; + } + @@ -97257,7 +98731,7 @@ index 000000000000..541580dba475 + WIFINET_DPRINTF( AML_DEBUG_RECV,"data %s", "unknown src"); + if (wnet_vif->vm_state == WIFINET_S_CONNECTED) + { -+ // printk(" %s %d \n",__func__,__LINE__); ++ // pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_send_error(sta, wh->i_addr2, WIFINET_FC0_SUBTYPE_DEAUTH, WIFINET_REASON_NOT_AUTHED); + } + wnet_vif->vif_sts.sts_rx_not_assoc++; @@ -97306,7 +98780,7 @@ index 000000000000..541580dba475 + temp_nsta = wifi_mac_get_sta(nt,wh4->i_addr4,wnet_vif->wnet_vif_id); + if (temp_nsta) + { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_sta_disconnect_from_ap(temp_nsta); + } + } @@ -97677,7 +99151,7 @@ index 000000000000..541580dba475 + return eth->h_proto; +} + -+void wifi_mac_tcp_pkt_retransmit(struct wifi_station *sta, struct tcphdr *th) ++static void wifi_mac_tcp_pkt_retransmit(struct wifi_station *sta, struct tcphdr *th) +{ + struct drv_txdesc *ptxdesc; + struct list_head *txdesc_queue; @@ -97725,7 +99199,7 @@ index 000000000000..541580dba475 + } +} + -+void wifi_mac_recv_pkt_parse(struct wifi_station *sta, struct sk_buff *skb) { ++static void wifi_mac_recv_pkt_parse(struct wifi_station *sta, struct sk_buff *skb) { + struct ether_header *eh = (struct ether_header *)((unsigned char *)os_skb_data(skb)); + struct iphdr *iphdrp = (struct iphdr *)((unsigned char *)eh + sizeof(struct ether_header)); + struct tcphdr *th = (struct tcphdr *)((unsigned char *)iphdrp + (iphdrp->ihl << 2)); @@ -97770,7 +99244,7 @@ index 000000000000..541580dba475 + } else if (iphdrp->protocol == IPPROTO_UDP) { + if (((uh->source == 0x4400) && (uh->dest == 0x4300)) + || ((uh->source == 0x4300) && (uh->dest == 0x4400))) { -+ //printk("%s source:%04x, dest:%04x\n", __func__, uh->source, uh->dest); ++ //pr_debug("%s source:%04x, dest:%04x\n", __func__, uh->source, uh->dest); + if (sta->connect_status == CONNECT_DHCP_GET_ACK) { + return; + } @@ -97994,7 +99468,7 @@ index 000000000000..541580dba475 + case WIFINET_M_STA: + if ((wnet_vif->vm_state != WIFINET_S_AUTH) || (seq != WIFINET_AUTH_OPEN_RESPONSE)) { + wnet_vif->vif_sts.sts_rx_auth_mismatch++; -+ printk(" %s %d seq0x%x \n",__func__,__LINE__, seq); ++ pr_debug(" %s %d seq0x%x \n",__func__,__LINE__, seq); + return; + } + @@ -98002,11 +99476,11 @@ index 000000000000..541580dba475 + if (status != 0) { + WIFINET_DPRINTF_STA(AML_DEBUG_DEBUG | AML_DEBUG_CONNECT, sta, "open auth failed (reason %d)", status); + wnet_vif->vif_sts.sts_rx_auth_fail++; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); ++ wnet_vif->disconnect_reason_code = status; + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); -+ + } else { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + /*authentication success and change SM to send assoc req. */ + wifi_mac_top_sm(wnet_vif, WIFINET_S_ASSOC, 0); + } @@ -98029,8 +99503,10 @@ index 000000000000..541580dba475 + unsigned short seq, struct wifi_frame *wh, unsigned short status, unsigned int channel) +{ + struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; ++ unsigned char *frm = (unsigned char *)&wh[1]; ++ unsigned int msg_type = le16toh(*(unsigned short *)(frm + 2)); + -+ printk("%s WIFINET_AUTH_ALG_SAE\n", __func__); ++ pr_debug("%s WIFINET_AUTH_ALG_SAE status:%d\n", __func__, status); + + switch (wnet_vif->vm_opmode) { + case WIFINET_M_HOSTAP: @@ -98045,6 +99521,13 @@ index 000000000000..541580dba475 + return; + + } ++ ++ if ((wnet_vif->vm_flags & WIFINET_F_H2E) && (wnet_vif->vm_flags & WIFINET_F_WPA) ++ && (status == WIFINET_STATUS_SAE_H2E)) { ++ sta->sta_use_h2e = WIFINET_H2E_VALID; ++ AML_OUTPUT("sta:%x support h2e\n", sta); ++ } ++ + sta->sta_flags |= WIFINET_NODE_AREF; + memcpy(sta->sta_essid, wnet_vif->vm_mainsta->sta_essid, wnet_vif->vm_mainsta->sta_esslen); + sta->sta_authmode = WIFINET_AUTH_SAE; @@ -98058,10 +99541,21 @@ index 000000000000..541580dba475 + } + + if (status != 0) { -+ WIFINET_DPRINTF_STA(AML_DEBUG_WARNING, sta, "sae auth failed (reason %d)", status); ++ if ((sta->sta_use_h2e == WIFINET_H2E_VALID) ++ && (status == WIFINET_STATUS_SAE_H2E) ++ && (msg_type == WIFINET_SAE_COMMIT)) { ++ //h2e status notify uplyer ++ } else if ((status == WIFINET_STATUS_ANTI_TOKEN_REQUESTED) && (msg_type == WIFINET_SAE_COMMIT)) { ++ //Anti-Token-Requested ++ } else { ++ WIFINET_DPRINTF_STA(AML_DEBUG_WARNING, sta, "sae auth failed (reason %d)", status); ++ wnet_vif->disconnect_reason_code = status; ++ vm_cfg80211_indicate_disconnect(wnet_vif); ++ wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); ++ } + } + -+ vm_cfg80211_notify_mgmt_rx(wnet_vif, channel, os_skb_data(skb),os_skb_get_pktlen(skb)); ++ vm_cfg80211_notify_mgmt_rx(wnet_vif, channel, os_skb_data(skb), os_skb_get_pktlen(skb)); + break; + + default: @@ -98133,7 +99627,7 @@ index 000000000000..541580dba475 + WIFINET_DPRINTF_MACADDR( AML_DEBUG_CONNECT, + sta->sta_macaddr, "shared key auth %s", " PRIVACY is disabled"); + estatus = WIFINET_STATUS_ALG; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + goto bad; + } + if (sta->sta_authmode != WIFINET_AUTH_SHARED) @@ -98142,7 +99636,7 @@ index 000000000000..541580dba475 + sta->sta_macaddr, "shared key auth bad sta auth mode %u", sta->sta_authmode); + wnet_vif->vif_sts.sts_rx_auth_mismatch++; + estatus = WIFINET_STATUS_ALG; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + goto bad; + } + @@ -98162,7 +99656,7 @@ index 000000000000..541580dba475 + #endif + wnet_vif->vif_sts.sts_rx_auth_mismatch++; + estatus = WIFINET_STATUS_CHALLENGE; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + goto bad; + } + if (*frm == WIFINET_ELEMID_CHALLENGE) @@ -98179,7 +99673,7 @@ index 000000000000..541580dba475 + sta->sta_macaddr, "shared key auth %s", "no challenge"); + wnet_vif->vif_sts.sts_rx_auth_mismatch++; + estatus = WIFINET_STATUS_CHALLENGE; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + goto bad; + } + if (challenge[1] != WIFINET_CHALLENGE_LEN) @@ -98188,7 +99682,7 @@ index 000000000000..541580dba475 + sta->sta_macaddr, "shared key auth bad challenge len %d", challenge[1]); + wnet_vif->vif_sts.sts_rx_auth_mismatch++; + estatus = WIFINET_STATUS_CHALLENGE; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + goto bad; + } + default: @@ -98201,7 +99695,7 @@ index 000000000000..541580dba475 + case WIFINET_M_WDS: + WIFINET_DPRINTF_MACADDR( AML_DEBUG_CONNECT, + sta->sta_macaddr, "shared key auth bad operating mode %u", wnet_vif->vm_opmode); -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + return; + case WIFINET_M_HOSTAP: + if (wnet_vif->vm_state != WIFINET_S_CONNECTED) @@ -98216,7 +99710,7 @@ index 000000000000..541580dba475 + case WIFINET_AUTH_SHARED_REQUEST: + if (sta == wnet_vif->vm_mainsta) + { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + sta = wifi_mac_bup_bss(wnet_vif, wh->i_addr2); + if (sta == NULL) + { @@ -98275,7 +99769,7 @@ index 000000000000..541580dba475 + goto bad; + } + arg = seq + 1; -+ printk("%s(%d) tx_auth 8\n", __func__, __LINE__); ++ pr_debug("%s(%d) tx_auth 8\n", __func__, __LINE__); + wifi_mac_send_mgmt(sta, WIFINET_FC0_SUBTYPE_AUTH, (void *)&arg); + break; + @@ -98298,9 +99792,10 @@ index 000000000000..541580dba475 + "shared key auth failed (reason %d)", + status); + wnet_vif->vif_sts.sts_rx_auth_fail++; ++ wnet_vif->disconnect_reason_code = status; + goto bad; + } -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_top_sm(wnet_vif, WIFINET_S_ASSOC, 0); + break; + case WIFINET_AUTH_SHARED_CHALLENGE: @@ -98308,8 +99803,8 @@ index 000000000000..541580dba475 + goto bad; + memcpy(sta->sta_challenge, &challenge[2], challenge[1]); + arg = seq + 1; -+ printk(" %s %d \n",__func__,__LINE__); -+printk("%s(%d) tx_auth 9\n", __func__, __LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); ++pr_debug("%s(%d) tx_auth 9\n", __func__, __LINE__); + wifi_mac_send_mgmt(sta, WIFINET_FC0_SUBTYPE_AUTH, (void *)&arg); + break; + default: @@ -98335,7 +99830,7 @@ index 000000000000..541580dba475 + { + if (wnet_vif->vm_state == WIFINET_S_AUTH) + { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); + } + } @@ -98521,7 +100016,7 @@ index 000000000000..541580dba475 + } + + if (w != rsn->rsn_mcastcipher) { -+ printk("WPA mcast cipher mismatch; got %u, expected %u\n", w, rsn->rsn_mcastcipher); ++ pr_err("WPA mcast cipher mismatch; got %u, expected %u\n", w, rsn->rsn_mcastcipher); + return WIFINET_REASON_IE_INVALID; + } + frm += 4, len -= 4; @@ -98587,7 +100082,7 @@ index 000000000000..541580dba475 + rsn->sa_valid = 1; + rsn->gtksa = frm[0]; + rsn->ptksa = frm[1]; -+ printk("%s add gtk/ptk sa\n", __func__); ++ pr_debug("%s add gtk/ptk sa\n", __func__); + } + + return 0; @@ -98763,7 +100258,7 @@ index 000000000000..541580dba475 + } + + } else { -+ printk("not pmkid\n"); ++ pr_err("not pmkid\n"); + rsn->rsn_pmkid_offset = 0; + } + @@ -98784,7 +100279,7 @@ index 000000000000..541580dba475 + unsigned char pmkid_offset = frm[1]; + + if (len < 10) { -+ printk("RSN too short, len %u\n", len); ++ pr_err("RSN too short, len %u\n", len); + return WIFINET_REASON_IE_INVALID; + } + @@ -98812,7 +100307,9 @@ index 000000000000..541580dba475 + frm += 2, len -= 2; + if ((n <= 0) || (len < n * 4 + 2)) { + ERROR_DEBUG_OUT("RSN ucast cipher data too short; len %u, n %u\n", len, n); -+ return WIFINET_REASON_IE_INVALID; ++ if (is_judge) { ++ return WIFINET_REASON_IE_INVALID; ++ } + } + + w = 0; @@ -98834,7 +100331,9 @@ index 000000000000..541580dba475 + frm += 2, len -= 2; + if ((n <= 0) || (len < n * 4)) { + ERROR_DEBUG_OUT("RSN keymgmt data too short; len %u, n %u\n", len, n); -+ return WIFINET_REASON_IE_INVALID; ++ if (is_judge) { ++ return WIFINET_REASON_IE_INVALID; ++ } + } + + w = 0; @@ -98889,7 +100388,7 @@ index 000000000000..541580dba475 + } + + } else { -+ //printk("not pmkid\n"); ++ //pr_err("not pmkid\n"); + rsn->rsn_pmkid_count = 0; + rsn->rsn_pmkid_offset = 0; + } @@ -99027,11 +100526,11 @@ index 000000000000..541580dba475 + +static int +wifi_mac_parse_dothparams(struct wlan_net_vif *wnet_vif, unsigned char *frm, -+ struct wifi_mac_scan_param* sp) ++ struct wifi_mac_scan_param* sp, struct wifi_station *sta) +{ + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + unsigned int len = frm[1]; -+ unsigned char chan, tbtt; ++ unsigned char chan, csa_cnt; + + if (len < 4-2) + { @@ -99041,69 +100540,32 @@ index 000000000000..541580dba475 + } + wnet_vif->vm_mainsta->sta_channel_switch_mode = frm[2]; + chan = frm[3]; ++ csa_cnt = frm[4]; ++ + if (wifi_mac_chan_num_avail(wifimac, chan)==false) + { + WIFINET_DPRINTF(AML_DEBUG_ELEMID | AML_DEBUG_DOTH, + "channel switch invalid channel %u", chan); + return -1; + } -+ tbtt = frm[4]; + -+ if (tbtt <= 1) ++ if (csa_cnt > 0) + { -+ struct wifi_mac_ie_htinfo *htinfo = (struct wifi_mac_ie_htinfo *)sp->htinfo; -+ struct wifi_mac_ie_htinfo_cmn *ie; -+ struct wifi_mac_ie_vht_opt *vhtop = (struct wifi_mac_ie_vht_opt *) sp->vht_opt; -+ int bw = 0, center_chan = 0, center_chan_vht = 0; -+ unsigned char ret_char = false; + int ret = -1; ++ unsigned char ret_char = false; + -+ if (!htinfo) -+ return ret; -+ -+ ie = &htinfo->hi_ie; ++ sta->sta_chan_switch_chan = chan; ++ os_timer_ex_cancel(&sta->csa_timer, CANCEL_SLEEP); ++ os_timer_ex_start_period(&sta->csa_timer, csa_cnt * wnet_vif->vm_bcn_intval); + -+ if (ie->hi_extchoff == WIFINET_HTINFO_EXTOFFSET_ABOVE) -+ { -+ center_chan = chan + 2; -+ bw = WIFINET_BWC_WIDTH40; -+ } -+ else if (ie->hi_extchoff == WIFINET_HTINFO_EXTOFFSET_BELOW) -+ { -+ center_chan = chan - 2; -+ bw = WIFINET_BWC_WIDTH40; -+ } -+ else -+ { -+ center_chan = chan; -+ bw = WIFINET_BWC_WIDTH20; -+ } -+ if (vhtop) { -+ if (vhtop->vht_op_chwidth == VHT_OPT_CHN_WD_80M) -+ { -+ center_chan_vht = wifi_mac_find_80M_channel_center_chan(chan); -+ if (center_chan_vht) { -+ center_chan = center_chan_vht; -+ bw = WIFINET_BWC_WIDTH80; -+ } -+ } -+ else if (vhtop->vht_op_chwidth > VHT_OPT_CHN_WD_80M) -+ { -+ ERROR_DEBUG_OUT("not support bandwidth %d yet \n", vhtop->vht_op_chwidth); -+ } -+ } -+ ret_char = wifi_mac_set_wnet_vif_channel(wnet_vif, chan, bw, center_chan); -+ -+ if ((wnet_vif->vm_mainsta->sta_channel_switch_mode == 1) && (ret_char == true)) { -+ wnet_vif->vm_switchchan = wifi_mac_find_chan(wifimac, chan, bw, center_chan); -+ wnet_vif->vm_chan_switch_scan_flag = 1; -+ wifi_mac_start_scan(wnet_vif, WIFINET_SCANCFG_USERREQ | WIFINET_SCANCFG_ACTIVE | WIFINET_SCANCFG_FLUSH | -+ WIFINET_SCANCFG_CREATE, wnet_vif->vm_des_nssid, wnet_vif->vm_des_ssid); ++ if (csa_cnt == 1) { ++ AML_OUTPUT("start_csa count:%d target_chan:%d\n", csa_cnt, chan); + } + + ret = ((ret_char==true)?0:-1); + return ret; + } ++ + return 0; +} + @@ -99546,6 +101008,7 @@ index 000000000000..541580dba475 + struct wifi_mac_ie_vht_ch_sw_wrp* vht_ch_sw_wrp = (struct wifi_mac_ie_vht_ch_sw_wrp*) ie; + unsigned char sub_ie_id = 0; + unsigned char sub_ie_len = 0; ++ unsigned char sub_ie_ofst = 2; + + if ((vht_ch_sw_wrp == NULL) || (sta == NULL)) { + return ; @@ -99555,31 +101018,30 @@ index 000000000000..541580dba475 + return; + } + -+ sub_ie_id = vht_ch_sw_wrp->new_country_sub_ie[0]; -+ sub_ie_len = vht_ch_sw_wrp->new_country_sub_ie[1]; -+ if ((sub_ie_id == WIFINET_ELEMID_COUNTRY) && (sub_ie_len <= SUB_IE_MAX_LEN - 2)) { -+ memcpy(sta->sta_new_country_sub_ie, vht_ch_sw_wrp->new_country_sub_ie, sub_ie_len + 2); ++ memset(sta->sta_new_country_sub_ie, 0, SUB_IE_MAX_LEN); ++ memset(sta->sta_wide_bw_ch_sw_sub_ie, 0, SUB_IE_MAX_LEN); ++ memset(sta->sta_new_vht_tx_pw_sub_ie, 0, SUB_IE_MAX_LEN); + -+ } else { -+ // nothing, just a tip -+ } ++ while (sub_ie_ofst < ie[1] + 2) { ++ sub_ie_id = ie[sub_ie_ofst]; ++ sub_ie_len = ie[sub_ie_ofst + 1]; + -+ sub_ie_id = vht_ch_sw_wrp->wide_bw_ch_sw_sub_ie[0]; -+ sub_ie_len = vht_ch_sw_wrp->wide_bw_ch_sw_sub_ie[1]; -+ if ((sub_ie_id == WIFINET_ELEMID_WIDE_BAND_CHAN_SWITCH) && (sub_ie_len <= SUB_IE_MAX_LEN - 2)) { -+ memcpy(sta->sta_wide_bw_ch_sw_sub_ie, vht_ch_sw_wrp->wide_bw_ch_sw_sub_ie, sub_ie_len + 2); ++ AML_OUTPUT("sub_ie_id = %d, sub_id_len = %d\n", sub_ie_id, sub_ie_len); + -+ } else { -+ // nothing, just a tip -+ } ++ if (!(sub_ie_len <= SUB_IE_MAX_LEN - 2)) { ++ ERROR_DEBUG_OUT("sub_ie_id[%d] : sub_ie_len[%d] is error\n",sub_ie_id,sub_ie_len); ++ break; ++ } + -+ sub_ie_id = vht_ch_sw_wrp->new_vht_tx_pw_sub_ie[0]; -+ sub_ie_len = vht_ch_sw_wrp->new_vht_tx_pw_sub_ie[1]; -+ if ((sub_ie_id == WIFINET_ELEMID_VHT_TX_PWR_ENVLP) && (sub_ie_len <= SUB_IE_MAX_LEN - 2)) { -+ memcpy(sta->sta_new_vht_tx_pw_sub_ie, vht_ch_sw_wrp->new_vht_tx_pw_sub_ie, sub_ie_len + 2); ++ if (sub_ie_id == WIFINET_ELEMID_COUNTRY) { ++ memcpy(sta->sta_new_country_sub_ie, &ie[sub_ie_ofst], sub_ie_len + 2); ++ } else if (sub_ie_id == WIFINET_ELEMID_WIDE_BAND_CHAN_SWITCH) { ++ memcpy(sta->sta_wide_bw_ch_sw_sub_ie, &ie[sub_ie_ofst], sub_ie_len + 2); ++ } else if (sub_ie_id == WIFINET_ELEMID_VHT_TX_PWR_ENVLP) { ++ memcpy(sta->sta_new_vht_tx_pw_sub_ie, &ie[sub_ie_ofst], sub_ie_len + 2); ++ } + -+ } else { -+ // nothing, just a tip ++ sub_ie_ofst += sub_ie_len + 2; + } +} + @@ -99636,7 +101098,7 @@ index 000000000000..541580dba475 + } +} + -+int wifi_mac_parse_timeout_ie(struct wifi_station *sta, unsigned char *timeout) { ++static int wifi_mac_parse_timeout_ie(struct wifi_station *sta, unsigned char *timeout) { + unsigned char ie; + unsigned char ie_len; + unsigned char timeout_type; @@ -99667,7 +101129,7 @@ index 000000000000..541580dba475 + return; + } + -+ //printk("parse vht cap ++\n"); ++ //pr_debug("parse vht cap ++\n"); + if (sp->vht_cap) { + wifi_mac_parse_vht_cap(sta, sp->vht_cap); + } @@ -99733,7 +101195,7 @@ index 000000000000..541580dba475 + return; +} + -+void wifi_mac_pkt_parse_element(struct wlan_net_vif *wnet_vif, ++static void wifi_mac_pkt_parse_element(struct wlan_net_vif *wnet_vif, + struct wifi_station *sta, struct sk_buff *skb, struct wifi_mac_scan_param *scan, unsigned char *invalid, unsigned char *drop) +{ + struct vm_wdev_priv *pwdev_priv = wdev_to_priv(wnet_vif->vm_wdev); @@ -99751,6 +101213,7 @@ index 000000000000..541580dba475 + wh = (struct wifi_frame *)os_skb_data(skb); + frm = (unsigned char *)&wh[1]; + efrm = os_skb_data(skb) + os_skb_get_pktlen(skb); ++ scan->frame_len = os_skb_get_pktlen(skb); + subtype = wh->i_fc[0] & WIFINET_FC0_SUBTYPE_MASK; + snprintf(sa, MAX_MAC_BUF_LEN, "%02x:%02x:%02x:%02x:%02x:%02x", + wh->i_addr2[0], wh->i_addr2[1], wh->i_addr2[2], wh->i_addr2[3], wh->i_addr2[4], wh->i_addr2[5]); @@ -100021,7 +101484,7 @@ index 000000000000..541580dba475 + } else if (wifimac->wm_curchan != NULL) { + //no channel info in beacon or probe rsp, use current channel.(wifi51_5G,tkip or wep) + scan.chan = channel; -+// printk("no channel info, use mac_chan:%d cur_chan:%d, rx channel:%d\n", wifimac->wm_curchan->chan_pri_num, scan.chan, channel); ++// pr_warn("no channel info, use mac_chan:%d cur_chan:%d, rx channel:%d\n", wifimac->wm_curchan->chan_pri_num, scan.chan, channel); + } + } + @@ -100049,8 +101512,15 @@ index 000000000000..541580dba475 + WIFI_SCAN_SE_LIST_LOCK(st); + list_for_each_entry_safe(se, si_next, &st->st_hash[hash], se_hash) { + if (WIFINET_ADDR_EQ(se->scaninfo.SI_macaddr, wh->i_addr2)) { -+ WIFI_SCAN_SE_LIST_UNLOCK(st); -+ return; ++ if (vm_p2p_is_state(wnet_vif->vm_p2p, NET80211_P2P_STATE_SCAN) ++ && (se->scaninfo.SI_frame_len < scan.frame_len)) { ++ list_del_init(&se->se_list); ++ list_del_init(&se->se_hash); ++ FREE(se,"sta_add.se"); ++ } else { ++ WIFI_SCAN_SE_LIST_UNLOCK(st); ++ return; ++ } + } + } + WIFI_SCAN_SE_LIST_UNLOCK(st); @@ -100058,7 +101528,7 @@ index 000000000000..541580dba475 + wifi_mac_scan_rx(wnet_vif, &scan, wh, rssi, NULL); + } + -+ //printk("%s %02x:%02x:%02x:%02x:%02x:%02x, assoc_id:%d\n", __func__, wh->i_addr2[0], wh->i_addr2[1], ++ //pr_debug("%s %02x:%02x:%02x:%02x:%02x:%02x, assoc_id:%d\n", __func__, wh->i_addr2[0], wh->i_addr2[1], + // wh->i_addr2[2], wh->i_addr2[3], wh->i_addr2[4], wh->i_addr2[5], sta->sta_associd); + + if ((wnet_vif->vm_opmode == WIFINET_M_STA) && (sta->sta_associd != 0) @@ -100124,9 +101594,9 @@ index 000000000000..541580dba475 + } + + if (scan.doth != NULL) { -+ wifi_mac_parse_dothparams(wnet_vif, scan.doth, &scan); ++ wifi_mac_parse_dothparams(wnet_vif, scan.doth, &scan, sta); + } -+ wifi_mac_pwrsave_sleep_wait_cancle(wnet_vif); ++ wifi_mac_pwrsave_sleep_wait_cancel(wnet_vif); + + if ((scan.tim != NULL) && (wifi_mac_pwrsave_is_sta_sleeping(wnet_vif) == 0) + && ((wnet_vif->vm_pstxqueue_flags & WIFINET_PSQUEUE_PS4QUIET) == 0)) { @@ -100267,7 +101737,7 @@ index 000000000000..541580dba475 + } else if (wifimac->wm_curchan != NULL) { + //no channel info in beacon or probe rsp, use current channel.(wifi51_5G,tkip or wep) + scan.chan = channel; -+// printk("no channel info, use mac_chan:%d cur_chan:%d, rx channel:%d\n", wifimac->wm_curchan->chan_pri_num, scan.chan, channel); ++// pr_debug("no channel info, use mac_chan:%d cur_chan:%d, rx channel:%d\n", wifimac->wm_curchan->chan_pri_num, scan.chan, channel); + } + } + @@ -100304,9 +101774,22 @@ index 000000000000..541580dba475 + } + } + } ++ ++ /* Need to update existing entry. List is locked, and as ++ * 'oldse' is not NULL, 'wifi_mac_scan_rx()' recognizes ++ * it as updating entry and won't take lock on list. ++ */ ++ if (oldse) ++ wifi_mac_scan_rx(wnet_vif, &scan, wh, rssi, oldse); ++ + WIFI_SCAN_SE_LIST_UNLOCK(st); + -+ wifi_mac_scan_rx(wnet_vif, &scan, wh, rssi, oldse); ++ /* This will add new entry. 'oldse' is NULL, we release ++ * lock on list, 'wifi_mac_scan_rx()' will allocate new ++ * entry, will lock this list to insert new entry. ++ */ ++ if (!oldse) ++ wifi_mac_scan_rx(wnet_vif, &scan, wh, rssi, oldse); +} + + @@ -100361,8 +101844,7 @@ index 000000000000..541580dba475 + } + + if (temp_wnet_vif != NULL && temp_wnet_vif->vm_curchan != NULL && temp_wnet_vif->vm_curchan->chan_pri_num != channel) { -+ DPRINTF(AML_DEBUG_WARNING, "%s %d ignore, probe req %d, %d\n",__func__,__LINE__, temp_wnet_vif->vm_curchan->chan_pri_num, channel); -+ return; ++ DPRINTF(AML_DEBUG_INFO, "%s %d ignore, probe req %d, %d\n",__func__,__LINE__, temp_wnet_vif->vm_curchan->chan_pri_num, channel); + } + if (WIFINET_IS_MULTICAST(wh->i_addr2)) + { @@ -100519,7 +102001,7 @@ index 000000000000..541580dba475 + } +} + -+void wifi_mac_status_code_handle(struct wifi_station *sta, unsigned char subtype, struct wifi_mac_scan_param *scan) ++static void wifi_mac_status_code_handle(struct wifi_station *sta, unsigned char subtype, struct wifi_mac_scan_param *scan) +{ + struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; + unsigned short timeout = 1000; @@ -100551,11 +102033,11 @@ index 000000000000..541580dba475 + timeout = wifi_mac_parse_timeout_ie(sta, scan->timeout_ie); + } + -+ printk("wait %d to reconnect\n", timeout); ++ pr_warn("wait %d to reconnect\n", timeout); + os_timer_ex_start_period(&wnet_vif->vm_sm_switch, timeout); + return; + } -+ ++ wnet_vif->disconnect_reason_code = scan->status_code; + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN,0); + } + @@ -100596,6 +102078,13 @@ index 000000000000..541580dba475 + return; + } + ++ if ((wnet_vif->vm_opmode == WIFINET_M_STA) && (sta->connect_status >= CONNECT_DISCONNECTING)) { ++ pr_debug("%s, %d, ignor auth frm, connect_status:%d\n", __func__,__LINE__, sta->connect_status); ++ os_timer_ex_cancel(&wnet_vif->vm_mgtsend, CANCEL_NO_SLEEP); ++ wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); ++ return; ++ } ++ + if ((wnet_vif->vm_aclop != NULL) && !wnet_vif->vm_aclop->iac_check(wnet_vif, wh->i_addr2)) { + WIFINET_DPRINTF( AML_DEBUG_ACL, "auth %s", "disallowed by ACL"); + wnet_vif->vif_sts.sts_rx_acl_mismatch++; @@ -100625,6 +102114,7 @@ index 000000000000..541580dba475 + && status != WIFINET_STATUS_SUCCESS) { //maybe the password is wrong, not the auth type + AML_OUTPUT("auth reject:%d\n", status); + os_timer_ex_cancel(&wnet_vif->vm_mgtsend, CANCEL_NO_SLEEP); ++ wnet_vif->disconnect_reason_code = status; + vm_cfg80211_indicate_disconnect(wnet_vif); + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); + return; @@ -100682,7 +102172,7 @@ index 000000000000..541580dba475 + int reassoc, resp; + struct wifi_mac_ie_vht_opt_md_ntf *vht_opt_md_ntf = NULL; + -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + + wh = (struct wifi_frame *) os_skb_data(skb); + frm = (unsigned char *)&wh[1]; @@ -100733,6 +102223,9 @@ index 000000000000..541580dba475 + if (reassoc) + frm += 6; + ++ sta->sta_assoc_req = frm; ++ sta->sta_assoc_req_ielen = efrm - frm; ++ + rsnie = NULL; + /*frm[1] is length field */ + while (((frm+1) < efrm ) && (frm + frm[1] + 1) < efrm ) @@ -100760,7 +102253,7 @@ index 000000000000..541580dba475 + break; + + case WIFINET_ELEMID_TIM_BROADCAST_REQ: -+ printk("ELEMID_TIM_BROADCAST_REQ, frm:%02x:%02x:%02x:%02x\n", frm[0], frm[1], frm[2], frm[3]); ++ pr_debug("ELEMID_TIM_BROADCAST_REQ, frm:%02x:%02x:%02x:%02x\n", frm[0], frm[1], frm[2], frm[3]); + break; + + case WIFINET_ELEMID_HTINFO: @@ -100803,9 +102296,9 @@ index 000000000000..541580dba475 +#ifdef CONFIG_WAPI + else if (iswaioui(frm)) + { -+ printk("ASSOC_REQ is waioui \n"); ++ pr_debug("ASSOC_REQ is waioui \n"); + wai = frm; -+ dump_memory_internel(wai, wai[1]+2); ++ dump_memory_internal(wai, wai[1]+2); + } +#endif //#ifdef CONFIG_WAPI + break; @@ -100815,8 +102308,8 @@ index 000000000000..541580dba475 + + case WIFINET_ELEMID_WAI: + wai = frm; -+ printk("ASSOC_REQ is WIFINET_ELEMID_WAI \n"); -+ dump_memory_internel(wai, wai[1]+2); ++ pr_debug("ASSOC_REQ is WIFINET_ELEMID_WAI \n"); ++ dump_memory_internal(wai, wai[1]+2); + break; + +#endif //#ifdef CONFIG_WAPI @@ -100857,11 +102350,11 @@ index 000000000000..541580dba475 + + if (wpa != NULL) { + if (wpa[0] != WIFINET_ELEMID_RSN) { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + reason = wifi_mac_parse_wpa(&sta->sta_rsn, wpa, 0); + + } else { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + reason = wifi_mac_parse_counterpart_rsn(&sta->sta_rsn, wpa, 1); + + if (wnet_vif->vm_mainsta->sta_flags_ext & WIFINET_NODE_MFP) { @@ -100871,14 +102364,14 @@ index 000000000000..541580dba475 + } + + if ((sta->sta_authmode == WIFINET_AUTH_SAE) && !(sta->sta_rsn.rsn_caps & MFP_MASK)) { -+ printk("sae auth, but no pmf\n"); ++ pr_warn("sae auth, but no pmf\n"); + reason = WIFINET_REASON_IE_INVALID; + } + } + + if (reason != 0) { + arg = reason; -+ printk(" %s %d reason=%d\n",__func__,__LINE__, reason); ++ pr_debug(" %s %d reason=%d\n",__func__,__LINE__, reason); + wifi_mac_send_mgmt(sta, WIFINET_FC0_SUBTYPE_DEAUTH, (void *)&arg); + wifi_mac_sta_disconnect_from_ap(sta); + wnet_vif->vif_sts.sts_rx_assoc_wpa_mismatch++; @@ -101030,7 +102523,7 @@ index 000000000000..541580dba475 + wnet_vif->vif_sts.sts_rx_assoc_cap_mismatch++; + return; + } -+ printk("%s warning:WIFINET_NODE_HT clear\n", __func__); ++ pr_warn("%s warning:WIFINET_NODE_HT clear\n", __func__); + sta->sta_flags &= ~WIFINET_NODE_HT; + sta->sta_htcap = 0; + } @@ -101058,7 +102551,7 @@ index 000000000000..541580dba475 + + if (vht_opt_md_ntf) { + wifi_mac_parse_vht_op_md_ntf(sta, vht_opt_md_ntf->opt_mode); -+ printk("****** %s--vm_bandwidth = %d, sta_chbw =%d\n", __func__, wnet_vif->vm_bandwidth, sta->sta_chbw); ++ pr_debug("****** %s--vm_bandwidth = %d, sta_chbw =%d\n", __func__, wnet_vif->vm_bandwidth, sta->sta_chbw); + } + + } @@ -101098,6 +102591,13 @@ index 000000000000..541580dba475 + return; + } + ++ if (sta->connect_status >= CONNECT_DISCONNECTING) { ++ ERROR_DEBUG_OUT("ignor assoc rsp frm, connect_status:%d\n", sta->connect_status); ++ os_timer_ex_cancel(&wnet_vif->vm_mgtsend, CANCEL_NO_SLEEP); ++ wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); ++ return; ++ } ++ + wifi_mac_pkt_parse_element(wnet_vif, sta, skb, &scan, &invalid, &drop); + AML_OUTPUT("%s assoc status code:%d\n", __func__, scan.status_code); + @@ -101249,14 +102749,13 @@ index 000000000000..541580dba475 + vm_cfg80211_notify_mgmt_rx(wnet_vif, channel, os_skb_data(skb),os_skb_get_pktlen(skb)); + + WIFINET_DPRINTF_STA(AML_DEBUG_WARNING, sta, "recv deauthenticate (reason %d)", reason); -+ /* Always log disconnect reason for debugging */ -+ printk("WiFi disconnect: Received DEAUTH from AP, reason_code=%d\n", reason); + + switch (wnet_vif->vm_opmode) { + case WIFINET_M_STA: + if (wnet_vif->vm_state != WIFINET_S_INIT) { + wnet_vif->vm_chan_roaming_scan_flag = 0; -+ ++ wnet_vif->disconnect_reason_code = reason; ++ sta->connect_status = CONNECT_DISCONNECTING; + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); + } + break; @@ -101307,24 +102806,21 @@ index 000000000000..541580dba475 + vm_cfg80211_notify_mgmt_rx(wnet_vif, channel, os_skb_data(skb),os_skb_get_pktlen(skb)); + + WIFINET_DPRINTF_STA(AML_DEBUG_WARNING, sta, "recv disassociate (reason %d)", reason); -+ /* Always log disconnect reason for debugging */ -+ printk("WiFi disconnect: Received DISASSOC from AP %02x:%02x:%02x:%02x:%02x:%02x, reason_code=%d\n", -+ wh->i_addr2[0], wh->i_addr2[1], wh->i_addr2[2], -+ wh->i_addr2[3], wh->i_addr2[4], wh->i_addr2[5], reason); + -+ /* Removed redundant BSSID prints - already shown above */ -+ /*printk("%s %d source bssid: %02x:%02x:%02x:%02x:%02x:%02x\n", __func__, __LINE__, ++ pr_debug("%s %d source bssid: %02x:%02x:%02x:%02x:%02x:%02x\n", __func__, __LINE__, + wh->i_addr2[0], wh->i_addr2[1],wh->i_addr2[2], + wh->i_addr2[3], wh->i_addr2[4], wh->i_addr2[5]); + -+ printk("%s %d connect AP bssid:%02x:%02x:%02x:%02x:%02x:%02x\n", __func__, __LINE__, ++ pr_debug("%s %d connect AP bssid:%02x:%02x:%02x:%02x:%02x:%02x\n", __func__, __LINE__, + wnet_vif->vm_des_bssid[0], wnet_vif->vm_des_bssid[1], wnet_vif->vm_des_bssid[2], -+ wnet_vif->vm_des_bssid[3], wnet_vif->vm_des_bssid[4], wnet_vif->vm_des_bssid[5]);*/ ++ wnet_vif->vm_des_bssid[3], wnet_vif->vm_des_bssid[4], wnet_vif->vm_des_bssid[5]); + + switch (wnet_vif->vm_opmode) + { + case WIFINET_M_STA: + if (wnet_vif->vm_state == WIFINET_S_CONNECTED) { ++ wnet_vif->disconnect_reason_code = reason; ++ sta->connect_status = CONNECT_DISCONNECTING; + wifi_mac_top_sm(wnet_vif, WIFINET_S_SCAN, 0); + + } else { @@ -101367,7 +102863,7 @@ index 000000000000..541580dba475 + struct wifi_mac_action_mgt_args actionargs; + struct wifi_mac_action_sa_query *sa_query = NULL; + struct wifi_station *remote_sta = NULL; -+ ++ struct wifi_mac_action_csa_frame *csa_frame = NULL; + unsigned short statuscode; + unsigned short batimeout; + unsigned short reasoncode; @@ -101408,14 +102904,11 @@ index 000000000000..541580dba475 + mdelay(50); + } +#endif -+ /* Remove P2P action frame logs (category 127) to reduce log noise */ -+ if (ia->ia_category != 127) { -+ printk("recv_action_frame subtype 0x%x, category %d\n", subtype, ia->ia_category); -+ } ++ pr_debug("recv_action_frame subtype 0x%x, category %d\n", subtype, ia->ia_category); + + switch (ia->ia_category) { + case AML_CATEGORY_QOS: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + WIFINET_DPRINTF_STA(AML_DEBUG_ACTION, sta, "%s: QoS action mgt frames not supported, vm_state %d \n", + __func__, wnet_vif->vm_state); + wnet_vif->vif_sts.sts_mng_discard++; @@ -101503,30 +102996,55 @@ index 000000000000..541580dba475 + switch (ia->ia_action) + { + case WIFINET_ACT_PUBLIC_BSSCOEXIST: -+ WIFINET_VERIFY_LENGTH(efrm - frm, sizeof(struct wifi_mac_action_bss_coex_frame)); ++ if ((wnet_vif->vm_state == WIFINET_S_CONNECTED) && WIFINET_ADDR_EQ(sta->sta_bssid, wh->i_addr2)) { ++ WIFINET_VERIFY_LENGTH(efrm - frm, sizeof(struct wifi_mac_action_bss_coex_frame)); + -+ iabsscoex = (struct wifi_mac_action_bss_coex_frame *) frm; -+ WIFINET_DPRINTF_STA(AML_DEBUG_ACTION, sta, "%s: Element 0 inf request = %d, 40 intolerant = %d " -+ "20 width req = %d, obss exempt req = %d, obss exempt grant = %d\n", __func__, iabsscoex->coex.inf_request, -+ iabsscoex->coex.ht40_intolerant, iabsscoex->coex.ht20_width_req, iabsscoex->coex.obss_exempt_req, iabsscoex->coex.obss_exempt_grant); ++ iabsscoex = (struct wifi_mac_action_bss_coex_frame *) frm; ++ WIFINET_DPRINTF_STA(AML_DEBUG_ACTION, sta, "%s: Element 0 inf request = %d, 40 intolerant = %d " ++ "20 width req = %d, obss exempt req = %d, obss exempt grant = %d\n", __func__, iabsscoex->coex.inf_request, ++ iabsscoex->coex.ht40_intolerant, iabsscoex->coex.ht20_width_req, iabsscoex->coex.obss_exempt_req, iabsscoex->coex.obss_exempt_grant); + -+ if (iabsscoex->coex.ht40_intolerant || iabsscoex->coex.ht20_width_req -+ || (((skb->data_len - sizeof(struct wifi_frame)) > (sizeof(struct wifi_mac_action_bss_coex_frame))) -+ && (wifi_mac_recv_bss_intol_channelCheck(wifimac, &iabsscoex->chan_report)==true))){ ++ if (iabsscoex->coex.ht40_intolerant || iabsscoex->coex.ht20_width_req ++ || (((skb->data_len - sizeof(struct wifi_frame)) > (sizeof(struct wifi_mac_action_bss_coex_frame))) ++ && (wifi_mac_recv_bss_intol_channelCheck(wifimac, &iabsscoex->chan_report)==true))){ + -+ sta->sta_flags_ext |= WIFINET_NODE_40_INTOLERANT; -+ sta->sta_chbw = WIFINET_BWC_WIDTH20; -+ sta->sta_htcap &= ~WIFINET_HTCAP_SUPPORTCBW40; ++ sta->sta_flags_ext |= WIFINET_NODE_40_INTOLERANT; ++ sta->sta_chbw = WIFINET_BWC_WIDTH20; ++ sta->sta_htcap &= ~WIFINET_HTCAP_SUPPORTCBW40; + -+ sta->sta_wnet_vif->vm_curchan->chan_bw = WIFINET_BWC_WIDTH20; -+ sta->sta_wnet_vif->vm_bandwidth = WIFINET_BWC_WIDTH20; -+ sta->sta_wnet_vif->scnd_chn_offset = WIFINET_HTINFO_EXTOFFSET_NA; -+ sta->sta_wnet_vif->vm_htcap &= ~WIFINET_HTCAP_SUPPORTCBW40; ++ if (sta->sta_wnet_vif->vm_curchan != NULL) ++ sta->sta_wnet_vif->vm_curchan->chan_bw = WIFINET_BWC_WIDTH20; + -+ wifi_mac_change_cbw(wifimac, 1); ++ sta->sta_wnet_vif->vm_bandwidth = WIFINET_BWC_WIDTH20; ++ sta->sta_wnet_vif->scnd_chn_offset = WIFINET_HTINFO_EXTOFFSET_NA; ++ sta->sta_wnet_vif->vm_htcap &= ~WIFINET_HTCAP_SUPPORTCBW40; ++ ++ wifi_mac_change_cbw(wifimac, 1); ++ } ++ } else { ++ AML_OUTPUT("addr1:%s\n", ether_sprintf(wh->i_addr1)); ++ AML_OUTPUT("addr2:%s\n", ether_sprintf(wh->i_addr2)); ++ AML_OUTPUT("addr3:%s\n", ether_sprintf(wh->i_addr3)); + } + break; + ++ case WIFINET_ACT_PUBLIC_CSA: ++ if ((wnet_vif->vm_opmode == WIFINET_M_STA) ++ && (wnet_vif->vm_state == WIFINET_S_CONNECTED) ++ && (WIFINET_ADDR_EQ(sta->sta_bssid, wh->i_addr2))) { ++ csa_frame = (struct wifi_mac_action_csa_frame *) frm; ++ sta->sta_channel_switch_mode = csa_frame->csa.chan_switch_mode; ++ sta->sta_chan_switch_chan = csa_frame->csa.new_chan_num; ++ AML_OUTPUT("csa action frame:0x%x 0x%x 0x%x 0x%x\n", csa_frame->csa.chan_switch_mode, csa_frame->csa.new_chan_num, ++ csa_frame->csa.new_operation_class, csa_frame->csa.chan_switch_count); ++ os_timer_ex_start_period(&sta->csa_timer, csa_frame->csa.chan_switch_count * wnet_vif->vm_bcn_intval); ++ } else { ++ AML_OUTPUT("addr1:%s\n", ether_sprintf(wh->i_addr1)); ++ AML_OUTPUT("addr2:%s\n", ether_sprintf(wh->i_addr2)); ++ AML_OUTPUT("addr3:%s\n", ether_sprintf(wh->i_addr3)); ++ } ++ break; ++ + default: + vm_cfg80211_notify_mgmt_rx(wnet_vif, channel, os_skb_data(skb),os_skb_get_pktlen(skb)); + break; @@ -101550,7 +103068,7 @@ index 000000000000..541580dba475 + break; + + case WIFINET_ACTION_HT_SMPOWERSAVE: -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + WIFINET_VERIFY_LENGTH(efrm - frm, sizeof(struct wifi_mac_action_ht_smpowersave)); + + iasmpowersave = (struct wifi_mac_action_ht_smpowersave *) frm; @@ -101841,6 +103359,11 @@ index 000000000000..541580dba475 + } + + skb_subfrm = skb_clone(skb, GFP_ATOMIC); ++ ++ if (!skb_subfrm) { ++ pr_warn("AMSDU: failed to clone sub frame\n"); ++ goto err_amsdu; ++ } + os_skb_pull(skb, roundup(subfrm_len, 4)); + + wifi_mac_amsdu_subframe_decap(skb_subfrm); @@ -101896,12 +103419,101 @@ index 000000000000..541580dba475 + return; +} + ++void wifi_mac_csa_wait_task(SYS_TYPE param1,SYS_TYPE param2, SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) ++{ ++ struct wifi_mac *wifimac = (struct wifi_mac *)param1; ++ struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param2; ++ unsigned char ret_char = (unsigned char)param3; ++ struct wifi_channel *vmac_chan = (struct wifi_channel *)param4; ++ ++ /* ++ unsigned int delay_ms = 0; ++ while ((wifimac->wm_flags & WIFINET_F_DOTH) && (wifimac->wm_flags & WIFINET_F_CHANSWITCH) && delay_ms < 1000) { ++ msleep(10); ++ delay_ms += 10; ++ } ++ AML_OUTPUT("delay time [%d]\n", delay_ms); ++ */ ++ ++ if ((wnet_vif->vm_mainsta->sta_channel_switch_mode == 1) && (ret_char == true) && concurrent_check_is_vmac_same_pri_channel(wifimac)) { ++ wnet_vif->vm_switchchan = vmac_chan; ++ wnet_vif->vm_chan_switch_scan_flag = 1; ++ wifi_mac_start_scan(wnet_vif, WIFINET_SCANCFG_USERREQ | WIFINET_SCANCFG_ACTIVE | WIFINET_SCANCFG_FLUSH | ++ WIFINET_SCANCFG_CREATE, wnet_vif->vm_des_nssid, wnet_vif->vm_des_ssid); ++ } else { ++ wnet_vif->vm_mainsta->sta_channel_switch_mode = 0; ++ } ++} ++ ++ ++int wifi_mac_handle_csa(struct wlan_net_vif *wnet_vif, struct wifi_station *sta, int chan) ++{ ++ struct wifi_mac *wifimac = wnet_vif->vm_wmac; ++ struct wifi_mac_ie_vht_wide_bw_switch *bw_chan_switch = (struct wifi_mac_ie_vht_wide_bw_switch *)sta->sta_wide_bw_ch_sw_sub_ie; ++ struct wifi_channel *vmac_chan = NULL; ++ int bw = 0, center_chan = 0; ++ unsigned char ret_char = false; ++ ++ center_chan = chan; ++ ++ if (bw_chan_switch->elem_len != 0) { ++ center_chan = bw_chan_switch->new_ch_freq_seg1; ++ if (bw_chan_switch->new_ch_width == NEW_CHANNEL_BANDWIDTH40) { ++ bw = WIFINET_BWC_WIDTH40; ++ } else if (bw_chan_switch->new_ch_width == NEW_CHANNEL_BANDWIDTH80) { ++ bw = WIFINET_BWC_WIDTH80; ++ } else { ++ ERROR_DEBUG_OUT("not support new_ch_width %d \n",bw_chan_switch->new_ch_width); ++ } ++ AML_OUTPUT("station channel switch chan:%d bw:%d center_chan:%d \n", chan, bw, center_chan); ++ } ++ ++ sta->sta_chbw = bw; ++ ++ vmac_chan = wifi_mac_find_chan(wifimac, chan, bw, center_chan); ++ if ((vmac_chan == WIFINET_CHAN_ERR) || (vmac_chan == wnet_vif->vm_curchan)) { ++ if (vmac_chan == WIFINET_CHAN_ERR) { ++ ERROR_DEBUG_OUT("null chan:%d bw:%d center_chan:%d\n", chan, bw, center_chan); ++ return ret_char; ++ } else { ++ wnet_vif->vm_mainsta->sta_channel_switch_mode = 0; ++ } ++ } else { ++ ret_char = wifi_mac_set_wnet_vif_channel(wnet_vif, chan, bw, center_chan,CHANNEL_CONNECT_FLAG | CHANNEL_RESTORE_FLAG); ++ wifi_mac_add_work_task(wifimac, vm_cfg80211_chan_switch_notify_task, NULL, (SYS_TYPE)wifimac, (SYS_TYPE)wnet_vif, 0, (SYS_TYPE)vmac_chan, 0); ++ } ++ ++ if ((wifimac->wm_nrunning > 1) && !concurrent_check_is_vmac_same_pri_channel(wifimac)) { ++ if (wifimac->wm_vsdb_slot == CONCURRENT_SLOT_NONE) { ++ if ((wnet_vif->vm_p2p_support == 1) || (wnet_vif->vm_opmode == WIFINET_M_HOSTAP)) { ++ wifimac->wm_vsdb_slot = CONCURRENT_SLOT_P2P; ++ } else { ++ wifimac->wm_vsdb_slot = CONCURRENT_SLOT_STA; ++ } ++ wifi_mac_set_vsdb_task(wifimac, wnet_vif, ENABLE); ++ } ++ ++ if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) && concurrent_check_vmac_is_AP(wifimac)) { ++ channel_switch_announce_trigger(wifimac, wnet_vif->vm_curchan); ++ } ++ } ++ ++ wifi_mac_add_work_task(wifimac, wifi_mac_csa_wait_task, NULL, (SYS_TYPE)wifimac, (SYS_TYPE)wnet_vif, (SYS_TYPE)ret_char, (SYS_TYPE)vmac_chan, 0); ++ return ret_char; ++} ++ ++int wifi_mac_csa_handle_timeout(void *arg) ++{ ++ struct wifi_station *sta = (struct wifi_station *)arg; ++ wifi_mac_handle_csa(sta->sta_wnet_vif, sta, sta->sta_chan_switch_chan); ++ return OS_TIMER_NOT_REARMED; ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_recv.h b/drivers/net/wireless/w1/vmac/wifi_mac_recv.h new file mode 100644 -index 000000000000..85ff9f94bd9a +index 0000000000000000000000000000000000000000..109dcf46621516702e0e0eafae6172915d8487b7 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_recv.h -@@ -0,0 +1,93 @@ +@@ -0,0 +1,97 @@ +#ifndef __VMAC_WIFI_INPUT_H__ +#define __VMAC_WIFI_INPUT_H__ + @@ -101994,10 +103606,14 @@ index 000000000000..85ff9f94bd9a +int wifi_mac_send_arp_req(struct wlan_net_vif *wnet_vif); +int wifi_mac_set_arp_rsp(struct wlan_net_vif *wnet_vif) ; + ++unsigned short wifi_mac_eth_type_trans(struct sk_buff *skb, struct net_device *dev); ++int wifi_mac_handle_csa(struct wlan_net_vif *wnet_vif, struct wifi_station *sta, int chan); ++int wifi_mac_csa_handle_timeout(void *arg); ++void wifi_mac_csa_wait_task(SYS_TYPE param1,SYS_TYPE param2, SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5); +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_rx_status.h b/drivers/net/wireless/w1/vmac/wifi_mac_rx_status.h new file mode 100644 -index 000000000000..761e53224e6f +index 0000000000000000000000000000000000000000..761e53224e6f6e8ccc61ae74cd4db633d58e1101 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_rx_status.h @@ -0,0 +1,22 @@ @@ -102025,7 +103641,7 @@ index 000000000000..761e53224e6f +#endif//__WIFI_MAC_RX_STATUS_H__ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_sae.c b/drivers/net/wireless/w1/vmac/wifi_mac_sae.c new file mode 100644 -index 000000000000..16e05117cc59 +index 0000000000000000000000000000000000000000..c9935373fff3877223ff9e7f9765419c157f6b5a --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_sae.c @@ -0,0 +1,198 @@ @@ -102211,7 +103827,7 @@ index 000000000000..16e05117cc59 +{ + struct cfg80211_external_auth_params params = {0}; + -+ printk("%s\n", __func__); ++ pr_debug("%s\n", __func__); + params.key_mgmt_suite = 0x00; + params.key_mgmt_suite |= 0x0F << 8; + params.key_mgmt_suite |= 0xAC << 16; @@ -102229,64 +103845,65 @@ index 000000000000..16e05117cc59 +#endif//AML_WPA3 diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_sae.h b/drivers/net/wireless/w1/vmac/wifi_mac_sae.h new file mode 100644 -index 000000000000..09c730e54d84 +index 0000000000000000000000000000000000000000..135cd7a5dfb2c6fe6aa3a81224a37813b7f096e8 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_sae.h @@ -0,0 +1,47 @@ -+/* -+ **************************************************************************************** -+ * -+ * Copyright (C) Amlogic 2010-2014 -+ * -+ * Project: 11N 80211 mac layer Software -+ * -+ * Description: -+ * wifi_mac layer interface function/interface use by driver layer -+ * -+ * -+ **************************************************************************************** -+ */ -+ -+#ifndef _WIFI_MAC_SAE_H_ -+#define _WIFI_MAC_SAE_H_ -+ -+#include "wifi_mac_if.h" -+ -+#define MAXPMKID 16/* max # PMKID cache entries NDIS */ -+#define WL_NUM_PMKIDS_MAX MAXPMKID -+ -+typedef struct _aml_pmkid_cache { -+ unsigned char in_use; -+ unsigned char bssid[6]; -+ unsigned char pmkid[16]; -+ unsigned char ssid[33]; -+ unsigned char *ssid_octet; -+ unsigned short ssid_length; -+} aml_pmkid_cache; -+ -+struct aml_pmk_list { -+ unsigned char pmkid_count; -+ aml_pmkid_cache pmkid_cache[MAXPMKID]; -+}; -+ -+unsigned char wifi_mac_pmkid_vattach(struct wlan_net_vif *wnet_vif); -+void wifi_mac_pmkid_detach(struct wlan_net_vif *wnet_vif); -+int aml_cfg80211_set_pmksa(struct wiphy *wiphy, struct net_device *dev, struct cfg80211_pmksa *pmksa); -+int aml_pmkid_cache_index(struct wlan_net_vif *wnet_vif, const unsigned char *bssid); -+int aml_cfg80211_del_pmksa(struct wiphy *wiphy, struct net_device *dev, struct cfg80211_pmksa *pmksa); -+void aml_del_pmksa_by_index(struct wlan_net_vif *wnet_vif, const unsigned char *bssid); -+int aml_cfg80211_flush_pmksa(struct wiphy *wiphy, struct net_device *dev); -+void wifi_mac_trigger_sae(struct wifi_station *sta); -+ -+#endif//_WIFI_MAC_SAE_H_ -+ ++/* ++ **************************************************************************************** ++ * ++ * Copyright (C) Amlogic 2010-2014 ++ * ++ * Project: 11N 80211 mac layer Software ++ * ++ * Description: ++ * wifi_mac layer interface function/interface use by driver layer ++ * ++ * ++ **************************************************************************************** ++ */ ++ ++#ifndef _WIFI_MAC_SAE_H_ ++#define _WIFI_MAC_SAE_H_ ++ ++#include "wifi_mac_if.h" ++ ++#define MAXPMKID 16/* max # PMKID cache entries NDIS */ ++#define WL_NUM_PMKIDS_MAX MAXPMKID ++ ++typedef struct _aml_pmkid_cache { ++ unsigned char in_use; ++ unsigned char bssid[6]; ++ unsigned char pmkid[16]; ++ unsigned char ssid[33]; ++ unsigned char *ssid_octet; ++ unsigned short ssid_length; ++} aml_pmkid_cache; ++ ++struct aml_pmk_list { ++ unsigned char pmkid_count; ++ aml_pmkid_cache pmkid_cache[MAXPMKID]; ++}; ++ ++unsigned char wifi_mac_pmkid_vattach(struct wlan_net_vif *wnet_vif); ++void wifi_mac_pmkid_detach(struct wlan_net_vif *wnet_vif); ++int aml_cfg80211_set_pmksa(struct wiphy *wiphy, struct net_device *dev, struct cfg80211_pmksa *pmksa); ++int aml_pmkid_cache_index(struct wlan_net_vif *wnet_vif, const unsigned char *bssid); ++int aml_cfg80211_del_pmksa(struct wiphy *wiphy, struct net_device *dev, struct cfg80211_pmksa *pmksa); ++void aml_del_pmksa_by_index(struct wlan_net_vif *wnet_vif, const unsigned char *bssid); ++int aml_cfg80211_flush_pmksa(struct wiphy *wiphy, struct net_device *dev); ++void wifi_mac_trigger_sae(struct wifi_station *sta); ++ ++#endif//_WIFI_MAC_SAE_H_ ++ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_scan.c b/drivers/net/wireless/w1/vmac/wifi_mac_scan.c new file mode 100644 -index 000000000000..e53232e88420 +index 0000000000000000000000000000000000000000..d4d5e9ba835d96bdf003fa1e3d96e03183a6af2d --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_scan.c -@@ -0,0 +1,2290 @@ +@@ -0,0 +1,2353 @@ +#include "wifi_mac_com.h" ++#include "wifi_mac_scan.h" +#include "wifi_mac_rate.h" +#include "wifi_iwpriv_cmd.h" + @@ -102352,45 +103969,45 @@ index 000000000000..e53232e88420 + fail = 0; + if (wifi_mac_chan_num_avail(wifimac, wifi_mac_chan2ieee(wifimac, scaninfo->SI_chan)) == false) { + fail |= STA_MATCH_ERR_CHAN; -+ //printk("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); ++ //pr_err("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); + } + + if (wnet_vif->vm_opmode == WIFINET_M_IBSS) { + if ((scaninfo->SI_capinfo & WIFINET_CAPINFO_IBSS) == 0) { + fail |= STA_MATCH_ERR_BSS; -+ //printk("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); ++ //pr_err("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); + } + + } else { + if ((scaninfo->SI_capinfo & WIFINET_CAPINFO_ESS) == 0) { + fail |= STA_MATCH_ERR_BSS; -+ //printk("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); ++ //pr_err("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); + } + } + + if (wnet_vif->vm_flags & WIFINET_F_PRIVACY) { + if ((scaninfo->SI_capinfo & WIFINET_CAPINFO_PRIVACY) == 0) { + fail |= STA_MATCH_ERR_PRIVACY; -+ //printk("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); ++ //pr_err("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); + } + + } else { + if (scaninfo->SI_capinfo & WIFINET_CAPINFO_PRIVACY) { + fail |= STA_MATCH_ERR_PRIVACY; -+ //printk("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); ++ //pr_err("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); + } + } + + if (!check_rate(wnet_vif, scaninfo)) { + fail |= STA_MATCH_ERR_RATE; -+ //printk("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); ++ //pr_err("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); + } + + if ((wnet_vif->vm_fixed_rate.mode == WIFINET_FIXED_RATE_NONE) + || (wnet_vif->vm_fixed_rate.rateinfo & WIFINET_RATE_MCS)) { + if (!check_ht_rate(wnet_vif, scaninfo)) { + fail |= STA_MATCH_ERR_HTRATE; -+ //printk("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); ++ //pr_err("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); + } + } + @@ -102398,18 +104015,18 @@ index 000000000000..e53232e88420 + if (!(wnet_vif->vm_flags & WIFINET_F_IGNORE_SSID) + && ((ss->ss_nssid == 0) || (match_ssid(scaninfo->SI_ssid, ss->ss_nssid, ss->ss_ssid) == 0))) { + fail |= STA_MATCH_ERR_SSID; -+ //printk("%s(%d) fail 0x%x, ss->ss_nssid:%d\n", __func__, __LINE__, fail, ss->ss_nssid); ++ //pr_err("%s(%d) fail 0x%x, ss->ss_nssid:%d\n", __func__, __LINE__, fail, ss->ss_nssid); + } + + if ((wnet_vif->vm_flags & WIFINET_F_DESBSSID) + && !WIFINET_ADDR_EQ(wnet_vif->vm_des_bssid, scaninfo->SI_bssid)) { + fail |= STA_MATCH_ERR_BSSID; -+ //printk("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); ++ //pr_err("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); + } + + if (se->connectcnt >= WIFINET_CONNECT_FAILS) { + fail |= STA_MATCH_ERR_STA_FAILS_MAX; -+ //printk("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); ++ //pr_err("%s(%d) fail 0x%x\n", __func__, __LINE__, fail); + } + + if (!(fail & STA_MATCH_ERR_SSID)) { @@ -102568,6 +104185,11 @@ index 000000000000..e53232e88420 + return 0; + } + ++ if (wnet_vif->vm_mainsta && (wnet_vif->vm_mainsta->connect_status != CONNECT_CONNECTING)) { ++ ERROR_DEBUG_OUT("connection stop, connect_status:%d\n", wnet_vif->vm_mainsta->connect_status); ++ return 0; ++ } ++ + KASSERT((wnet_vif->vm_opmode == WIFINET_M_IBSS) + ||(wnet_vif->vm_opmode == WIFINET_M_STA) + ||(wnet_vif->vm_opmode == WIFINET_M_P2P_DEV) @@ -102662,7 +104284,7 @@ index 000000000000..e53232e88420 + return 0; +} + -+void get_ovlapping_chan_index(struct wifi_mac *wifimac, unsigned char center_chan, unsigned char bw, ++static void get_ovlapping_chan_index(struct wifi_mac *wifimac, unsigned char center_chan, unsigned char bw, + unsigned char *low, unsigned char *up) { + unsigned char step = 0; + unsigned char is_2g = 0; @@ -102741,7 +104363,7 @@ index 000000000000..e53232e88420 + +} + -+void wifi_mac_update_chan_overlapping_map(struct wlan_net_vif *wnet_vif) { ++static void wifi_mac_update_chan_overlapping_map(struct wlan_net_vif *wnet_vif) { + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + struct wifi_mac_scan_state *ss = wifimac->wm_scan; + struct scaninfo_table *st = ss->ScanTablePriv; @@ -102841,17 +104463,14 @@ index 000000000000..e53232e88420 + + if (wifi_mac_is_in_noisy_environment(wifimac)) { + wifimac->scan_noisy_status = WIFINET_S_SCAN_ENV_NOISE; -+ printk("WiFi channel status: NOISY environment detected\n"); + + } else if (wifi_mac_is_in_clear_environment(wifimac)) { + //clear environment, set to max gain + wifimac->drv_priv->drv_ops.set_channel_rssi(wifimac->drv_priv, 174); + wifimac->scan_noisy_status = WIFINET_S_SCAN_ENV_CLEAR; -+ printk("WiFi channel status: CLEAR environment detected\n"); + + } else { + wifimac->scan_noisy_status = WIFINET_S_SCAN_ENV_MID; -+ printk("WiFi channel status: MODERATE environment\n"); + } + } + @@ -102879,7 +104498,7 @@ index 000000000000..e53232e88420 + WIFI_SCAN_SE_LIST_UNLOCK(st); +} + -+void update_roaming_candidate_chan(struct wifi_mac_scan_state *ss, struct wifi_channel *apchan, int rssi) ++static void update_roaming_candidate_chan(struct wifi_mac_scan_state *ss, struct wifi_channel *apchan, int rssi) +{ + int i =0; + struct wifi_candidate_channel * worst_chan = NULL; @@ -102926,7 +104545,7 @@ index 000000000000..e53232e88420 + int nssid = sp->ssid[1]; + static struct wifi_channel * apchan = NULL; + -+ apchan= wifi_mac_scan_sta_get_ap_channel(wnet_vif, (struct wifi_mac_scan_param *)sp); ++ apchan = wifi_mac_scan_sta_get_ap_channel(wnet_vif, sp->chan, sp->htinfo, sp->htcap, sp->vht_opt); + if (apchan == NULL) { + DPRINTF(AML_DEBUG_INFO, "%s(%d) apchan = %p\n", __func__,__LINE__,apchan); + return; @@ -102935,7 +104554,7 @@ index 000000000000..e53232e88420 + if ((sp->ssid[2] != 0) && ss->ss_ssid->len && nssid + && !(memcmp(sp->ssid+2, ss->roaming_ssid.ssid, nssid))) { + update_roaming_candidate_chan(ss, apchan, rssi); -+// printk("\n\n[Roaming ssid:%s] len:%d chan:%d\n\n", ssidie_sprintf(sp->ssid), nssid, apchan->chan_pri_num); ++// pr_debug("\n\n[Roaming ssid:%s] len:%d chan:%d\n\n", ssidie_sprintf(sp->ssid), nssid, apchan->chan_pri_num); + } + +} @@ -102965,7 +104584,7 @@ index 000000000000..e53232e88420 + AML_PRINT(AML_DBG_MODULES_SCAN, " %d %s chan %d \n", sp->ssid[1], ssidie_sprintf(sp->ssid), sp->chan); + } + -+ apchan = wifi_mac_scan_sta_get_ap_channel(wnet_vif, (struct wifi_mac_scan_param *)sp); ++ apchan = wifi_mac_scan_sta_get_ap_channel(wnet_vif, sp->chan, sp->htinfo, sp->htcap, sp->vht_opt); + if (apchan == NULL) { + AML_PRINT(AML_DBG_MODULES_SCAN, "ssid %s ,apchan = %p\n", ssidie_sprintf(sp->ssid), apchan); + return; @@ -102982,6 +104601,7 @@ index 000000000000..e53232e88420 + } + + ise = &se->scaninfo; ++ ise->SI_frame_len = sp->frame_len; + if (sp->rsn != NULL) { + saveie(&ise->SI_rsn_ie[0], sp->rsn); + @@ -103065,7 +104685,9 @@ index 000000000000..e53232e88420 + saveie(&ise->SI_htinfo_ie[0], sp->htinfo); + saveie(&ise->SI_country_ie[0], sp->country); + saveie(&ise->SI_wpa_ie[0], sp->wpa); -+ saveie(&ise->SI_wps_ie[0], sp->wps); ++ if (sp->wps != NULL) { ++ saveie(&ise->SI_wps_ie[0], sp->wps); ++ } + + if (se->connectcnt && ((jiffies - se->ConnectTime) > WIFINET_CONNECT_CNT_AGE*HZ)) { + se->connectcnt = 0; @@ -103087,12 +104709,15 @@ index 000000000000..e53232e88420 + + hash = STA_HASH(macaddr); + -+ WIFI_SCAN_SE_LIST_LOCK(st); + if (oldse == NULL) { ++ /* Need lock here, because when 'olsde' is NULL, this ++ * function was called with unlocked list. ++ */ ++ WIFI_SCAN_SE_LIST_LOCK(st); + list_add(&se->se_hash, &st->st_hash[hash]); + list_add_tail(&se->se_list, &st->st_entry); ++ WIFI_SCAN_SE_LIST_UNLOCK(st); + } -+ WIFI_SCAN_SE_LIST_UNLOCK(st); + + for (i=0; iss_nssid; i++) { + if (sp->ssid && sp->ssid[1] > 0 && sp->ssid[1] <= WIFINET_NWID_LEN) { @@ -103110,15 +104735,16 @@ index 000000000000..e53232e88420 + return; + +fail: -+ WIFI_SCAN_SE_LIST_LOCK(st); -+ if (WIFINET_ADDR_EQ(se, oldse)) { -+ list_del_init(&se->se_list); -+ list_del_init(&se->se_hash); -+ printk("[Micro]%s_%d,delete oldse\n", __func__, __LINE__); -+ } -+ WIFI_SCAN_SE_LIST_UNLOCK(st); ++ if (oldse) { ++ /* We failed to update some existing entry. Remove it from ++ * list before freeing memory. We don't need lock here, ++ * because list is locked by caller! ++ */ ++ list_del_init(&se->se_list); ++ list_del_init(&se->se_hash); ++ } + FREE(se,"sta_add.se"); -+ printk("[Micro]%s_%d\n", __func__, __LINE__); ++ pr_debug("[Micro]%s_%d\n", __func__, __LINE__); + return; +} + @@ -103192,7 +104818,7 @@ index 000000000000..e53232e88420 + if (wnet_vif->vm_chan_switch_scan_flag) { + ss->scan_chan_wait = wnet_vif->vm_scan_time_chan_switch; + } -+ //printk("%s change scan time to:%d\n", __func__, ss->scan_chan_wait); ++ //pr_debug("%s change scan time to:%d\n", __func__, ss->scan_chan_wait); + return; +} + @@ -103246,11 +104872,11 @@ index 000000000000..e53232e88420 + ss->ss_chans[i] = wnet_vif->vm_connchan.conn_chan[i]; + ss->ss_chans[i + wnet_vif->vm_connchan.num] = wnet_vif->vm_connchan.conn_chan[i]; + ss->ss_chans[i + (wnet_vif->vm_connchan.num * 2)] = wnet_vif->vm_connchan.conn_chan[i]; -+ printk("add scan connect chans:%d\n", wnet_vif->vm_connchan.conn_chan[i]->chan_pri_num); ++ pr_debug("add scan connect chans:%d\n", wnet_vif->vm_connchan.conn_chan[i]->chan_pri_num); + } + + } else if (wnet_vif->vm_chan_roaming_scan_flag && !wnet_vif->vm_wmac->wm_scan->roaming_full_scan) { -+ printk("scan roaming_candidate_chans \n"); ++ pr_debug("scan roaming_candidate_chans \n"); + WIFI_ROAMING_CHANNLE_LOCK(ss); + ss->scan_last_chan_index = wnet_vif->vm_wmac->wm_scan->roaming_candidate_chans_cnt; + @@ -103264,8 +104890,7 @@ index 000000000000..e53232e88420 + ss->ss_chans[0] = wnet_vif->vm_switchchan; + + } else { -+ /* Removed verbose scan log to reduce noise */ -+ /* printk("scan all chans \n"); */ ++ pr_debug("scan all chans \n"); + + /*clean roamin candidate channel*/ + WIFI_ROAMING_CHANNLE_LOCK(wnet_vif->vm_wmac->wm_scan); @@ -103343,7 +104968,7 @@ index 000000000000..e53232e88420 + unsigned char j; + + os_timer_ex_cancel(&ss->ss_probe_timer, CANCEL_SLEEP); -+ //printk("%s, ss->scan_StateFlags:%08x, ss->ss_nssid:%d\n", __func__, ss->scan_StateFlags, ss->ss_nssid); ++ //pr_debug("%s, ss->scan_StateFlags:%08x, ss->ss_nssid:%d\n", __func__, ss->scan_StateFlags, ss->ss_nssid); + + if (ss->scan_CfgFlags & WIFINET_SCANCFG_ACTIVE) + { @@ -103361,13 +104986,13 @@ index 000000000000..e53232e88420 + } +} + -+int wifi_mac_scan_send_probe_timeout_ex(void *arg) ++static int wifi_mac_scan_send_probe_timeout_ex(void *arg) +{ + struct wifi_mac_scan_state *ss = (struct wifi_mac_scan_state *) arg; + struct wlan_net_vif *wnet_vif = ss->VMacPriv; + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + -+ //printk("%s, ss->scan_StateFlags:%08x\n", __func__, ss->scan_StateFlags); ++ //pr_debug("%s, ss->scan_StateFlags:%08x\n", __func__, ss->scan_StateFlags); + + WIFI_SCAN_LOCK(ss); + if (ss->scan_StateFlags & SCANSTATE_F_SEND_PROBEREQ_AGAIN) { @@ -103413,20 +105038,20 @@ index 000000000000..e53232e88420 +} + + -+void wifi_mac_scan_chk_leakap_hrtimer_attach(struct wifi_mac *wifimac) ++static void wifi_mac_scan_chk_leakap_hrtimer_attach(struct wifi_mac *wifimac) +{ + hrtimer_init(&wifimac->wm_scan->scan_hr_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); + wifimac->wm_scan->scan_hr_timer.function = wifi_mac_scan_chk_leakap_done_process; +} + + -+void wifi_mac_scan_chk_leakap_hrtimer_start(struct wifi_mac *wifimac) ++static void wifi_mac_scan_chk_leakap_hrtimer_start(struct wifi_mac *wifimac) +{ + wifimac->wm_scan->scan_kt = ktime_set(0, 2000000); + hrtimer_start(&wifimac->wm_scan->scan_hr_timer, wifimac->wm_scan->scan_kt, HRTIMER_MODE_REL); +} + -+void wifi_mac_scan_chk_leakap_hrtimer_cancel(struct wifi_mac *wifimac) ++static void wifi_mac_scan_chk_leakap_hrtimer_cancel(struct wifi_mac *wifimac) +{ + hrtimer_cancel(&wifimac->wm_scan->scan_hr_timer); +} @@ -103446,7 +105071,7 @@ index 000000000000..e53232e88420 +} + + -+void wifi_mac_scan_channel(struct wifi_mac *wifimac) ++static void wifi_mac_scan_channel(struct wifi_mac *wifimac) +{ + struct wifi_mac_scan_state *ss = wifimac->wm_scan; + struct wlan_net_vif *wnet_vif = ss->VMacPriv; @@ -103454,7 +105079,7 @@ index 000000000000..e53232e88420 + struct wifi_channel *chan; + enum wifi_mac_macmode last_mac_mode; + -+ //printk("%s, ss->scan_StateFlags:%08x\n", __func__, ss->scan_StateFlags); ++ //pr_debug("%s, ss->scan_StateFlags:%08x\n", __func__, ss->scan_StateFlags); + if (!(ss->scan_StateFlags & SCANSTATE_F_CHANNEL_SWITCH_COMPLETE)) { + return; + } @@ -103535,13 +105160,13 @@ index 000000000000..e53232e88420 + DPRINTF(AML_DEBUG_SCAN, "%s OS_SET_TIMER = %d next_chn\n", __func__, ss->scan_chan_wait); +} + -+void wifi_mac_switch_scan_channel(struct wifi_mac *wifimac) ++static void wifi_mac_switch_scan_channel(struct wifi_mac *wifimac) +{ + struct wifi_mac_scan_state *ss = wifimac->wm_scan; + struct wifi_channel *chan; + struct wlan_net_vif *wnet_vif = ss->VMacPriv; + -+ //printk("%s, ss->scan_StateFlags:%08x\n", __func__, ss->scan_StateFlags); ++ //pr_debug("%s, ss->scan_StateFlags:%08x\n", __func__, ss->scan_StateFlags); + if (ss->scan_next_chan_index >= ss->scan_last_chan_index) { + DPRINTF(AML_DEBUG_ERROR, " %s (scan_next_chan_index >= scan_last_chan_index) drop!!!\n", __func__); + return; @@ -103577,7 +105202,7 @@ index 000000000000..e53232e88420 + } + + if (!((wifimac->wm_nrunning == 2) && (!concurrent_check_is_vmac_same_pri_channel(wifimac)))) { -+ //printk("%s\n", __func__); ++ //pr_debug("%s\n", __func__); + os_timer_ex_start_period(&ss->ss_scan_timer, ss->scan_chan_wait); + } + @@ -103631,7 +105256,7 @@ index 000000000000..e53232e88420 +} + + -+int wifi_mac_scan_buff_and_chk_tx(struct wifi_mac *wifimac) ++static int wifi_mac_scan_buff_and_chk_tx(struct wifi_mac *wifimac) +{ + struct wlan_net_vif *tmpwnet_vif = NULL, *tmpwnet_vif_next = NULL; + struct wifi_mac_scan_state *ss = wifimac->wm_scan; @@ -103656,7 +105281,7 @@ index 000000000000..e53232e88420 +} + + -+void wifi_mac_scan_notify_ap(struct wifi_mac *wifimac) ++static void wifi_mac_scan_notify_ap(struct wifi_mac *wifimac) +{ + struct wlan_net_vif *tmpwnet_vif = NULL, *tmpwnet_vif_next = NULL; + struct wifi_mac_scan_state *ss = wifimac->wm_scan; @@ -103670,7 +105295,7 @@ index 000000000000..e53232e88420 +} + + -+void wifi_mac_scan_timeout(SYS_TYPE param1,SYS_TYPE param2, ++static void wifi_mac_scan_timeout(SYS_TYPE param1,SYS_TYPE param2, + SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) +{ + struct wifi_mac_scan_state *ss = (struct wifi_mac_scan_state *) param1; @@ -103727,7 +105352,7 @@ index 000000000000..e53232e88420 + } + } + -+ //printk("%s, ss->scan_StateFlags:%08x, scandone:%d, need_notify_ap:%d\n", __func__, ss->scan_StateFlags, scandone, need_notify_ap); ++ //pr_debug("%s, ss->scan_StateFlags:%08x, scandone:%d, need_notify_ap:%d\n", __func__, ss->scan_StateFlags, scandone, need_notify_ap); + if (wifimac->wm_nrunning != 0) { + if (ss->scan_StateFlags & SCANSTATE_F_RESTORE) { + wifi_mac_restore_wnet_vif_channel(wnet_vif); @@ -103811,7 +105436,7 @@ index 000000000000..e53232e88420 + struct wlan_net_vif *wnet_vif = ss->VMacPriv; + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + -+ //printk("%s, ss->scan_StateFlags:%08x\n", __func__, ss->scan_StateFlags); ++ //pr_debug("%s, ss->scan_StateFlags:%08x\n", __func__, ss->scan_StateFlags); + + WIFI_SCAN_LOCK(ss); + if (ss->scan_StateFlags & SCANSTATE_F_WAIT_TBTT) { @@ -103890,7 +105515,7 @@ index 000000000000..e53232e88420 + WIFI_SCAN_LOCK(ss); + if ((wnet_vif->wnet_vif_replaycounter != (int)param5) || (wifimac->wm_scanplayercnt != (unsigned long)param3) + || (ss->scan_StateFlags & SCANSTATE_F_START) || !(wifimac->wm_flags & WIFINET_F_SCAN)) { -+ printk("%s scan_StateFlags:%04x, wm_scanplayercnt:%ld\n", __func__, ss->scan_StateFlags, wifimac->wm_scanplayercnt); ++ pr_debug("%s scan_StateFlags:%04x, wm_scanplayercnt:%ld\n", __func__, ss->scan_StateFlags, wifimac->wm_scanplayercnt); + WIFI_SCAN_UNLOCK(ss); + return; + } @@ -103910,7 +105535,7 @@ index 000000000000..e53232e88420 + + //set up scan channel index to 0 + ss->scan_next_chan_index = 0; -+ printk("%s wm_nrunning:%d\n", __func__, wifimac->wm_nrunning); ++ pr_debug("%s wm_nrunning:%d\n", __func__, wifimac->wm_nrunning); + os_timer_ex_start_period(&ss->ss_scan_abort_timer, WIFINET_SCAN_ABORT_TIME); + + if (wifimac->wm_nrunning == 0) { @@ -103959,6 +105584,7 @@ index 000000000000..e53232e88420 + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + int find_roaming_node = 0; + static int before_conn_scan_times = 0; ++ unsigned char vm_scan_before_connect_flag = 0; + + if (!(wifimac->wm_flags & WIFINET_F_SCAN)) { + ERROR_DEBUG_OUT("not in scan status\n"); @@ -103975,7 +105601,7 @@ index 000000000000..e53232e88420 + if (connect_wnet->vm_opmode == WIFINET_M_HOSTAP && + connect_wnet->vm_p2p->noa_app_ie[WIFINET_APPIE_FRAME_BEACON].length && + connect_wnet->vm_p2p->p2p_enable == 1) { -+ printk("%s,%d, clear noa ie\n", __func__, __LINE__); ++ pr_debug("%s,%d, clear noa ie\n", __func__, __LINE__); + connect_wnet->vm_p2p->ap_mode_set_noa_enable = 0; + wifi_mac_rm_app_ie(&connect_wnet->vm_p2p->noa_app_ie[WIFINET_APPIE_FRAME_BEACON]); + vm_p2p_update_beacon_app_ie(connect_wnet); @@ -103983,6 +105609,7 @@ index 000000000000..e53232e88420 + if (P2P_NoA_START_FLAG(connect_wnet->vm_p2p->HiP2pNoaCountNow)) { + p2p_noa_start_irq(connect_wnet->vm_p2p, wifimac->drv_priv); + } ++ connect_wnet->vm_p2p->HiP2pNoaCountNow = 0; + } + } else { + wifimac->drv_priv->stop_noa_flag = 0; @@ -104023,8 +105650,11 @@ index 000000000000..e53232e88420 + before_conn_scan_times = 0; + + } else { -+ if (wnet_vif->vm_scan_before_connect_flag) { ++ if (wnet_vif->vm_scan_before_connect_flag || (ss->scan_CfgFlags & WIFINET_SCANCFG_CONNECT)) { + before_conn_scan_times++; ++ vm_scan_before_connect_flag = wnet_vif->vm_scan_before_connect_flag; ++ } else { ++ before_conn_scan_times = 0; + } + } + } else if ((wnet_vif->vm_opmode == WIFINET_M_HOSTAP) @@ -104093,7 +105723,7 @@ index 000000000000..e53232e88420 + } + + if (before_conn_scan_times == 1) { -+ wnet_vif->vm_scan_before_connect_flag = 1; ++ wnet_vif->vm_scan_before_connect_flag = vm_scan_before_connect_flag; + wifi_mac_start_scan(wnet_vif, WIFINET_SCANCFG_USERREQ | WIFINET_SCANCFG_ACTIVE | WIFINET_SCANCFG_FLUSH | + WIFINET_SCANCFG_CREATE, wnet_vif->vm_des_nssid, wnet_vif->vm_des_ssid); + @@ -104107,7 +105737,7 @@ index 000000000000..e53232e88420 + before_conn_scan_times = 0; + } + -+ printk("%s---> scan finish, vid:%d, clean vm_flags 0x%x\n", __func__, wnet_vif->wnet_vif_id, wifimac->wm_flags); ++ pr_debug("%s---> scan finish, vid:%d, clean vm_flags 0x%x\n", __func__, wnet_vif->wnet_vif_id, wifimac->wm_flags); + os_timer_ex_start_period(&wnet_vif->vm_pwrsave.ips_timer_presleep, wnet_vif->vm_pwrsave.ips_inactivitytime); +} + @@ -104137,7 +105767,7 @@ index 000000000000..e53232e88420 + wifi_mac_ChangeChannel(wifimac, p2p_vmac->vm_p2p->work_channel, 0, p2p_vmac->wnet_vif_id, p2p_vmac->vm_opmode); + p2p_vmac->vm_p2p->p2p_flag &= ~P2P_WAIT_SWITCH_CHANNEL; + } else { -+ //printk("still have pkt in hal, wait\n"); ++ //pr_debug("still have pkt in hal, wait\n"); + p2p_vmac->vm_p2p->p2p_flag &= ~P2P_WAIT_SWITCH_CHANNEL; + p2p_vmac->vm_p2p->p2p_flag |= P2P_ALLOW_SWITCH_CHANNEL; + } @@ -104149,7 +105779,7 @@ index 000000000000..e53232e88420 + wifi_mac_ChangeChannel(wifimac, sta_vmac->vm_remainonchan, 0, sta_vmac->wnet_vif_id, sta_vmac->vm_opmode); + sta_vmac->vm_flags_ext2 &= ~WIFINET_FEXT2_SWITCH_CHANNEL; + } else { -+ //printk("still have pkt in hal, wait\n"); ++ //pr_debug("still have pkt in hal, wait\n"); + sta_vmac->vm_flags_ext2 &= ~WIFINET_FEXT2_SWITCH_CHANNEL; + sta_vmac->vm_flags_ext2 |= WIFINET_FEXT2_ALLOW_SWITCH_CHANNEL; + } @@ -104163,7 +105793,7 @@ index 000000000000..e53232e88420 + if (drv_priv->hal_priv->hal_ops.hal_tx_empty()) { + concurrent_vsdb_do_channel_change(wifimac); + } else { -+ //printk("still have pkt in hal, wait\n"); ++ //pr_debug("still have pkt in hal, wait\n"); + wifimac->wm_vsdb_flags |= CONCURRENT_NOTIFY_AP_SUCCESS; + } + } @@ -104207,7 +105837,8 @@ index 000000000000..e53232e88420 + + if (wifimac->wm_nrunning == 2) { + #ifdef CONFIG_CONCURRENT_MODE -+ if (wifimac->wm_vsdb_flags & CONCURRENT_NOTIFY_AP_SUCCESS) { ++ if ((wifimac->wm_vsdb_flags & CONCURRENT_NOTIFY_AP_SUCCESS) ++ || (wifimac->wm_vsdb_flags & CONCURRENT_AP_SWITCH_CHANNEL)) { + if (drv_priv->hal_priv->hal_ops.hal_tx_empty()) { + concurrent_vsdb_do_channel_change(wifimac); + } @@ -104225,7 +105856,7 @@ index 000000000000..e53232e88420 + if (wifimac->wm_flags & WIFINET_F_SCAN) + { + ss->scan_StateFlags |= SCANSTATE_F_CANCEL; -+// printk(" %s %d wnet_vif_id = %d\n",__func__,__LINE__,wnet_vif->wnet_vif_id); ++// pr_debug(" %s %d wnet_vif_id = %d\n",__func__,__LINE__,wnet_vif->wnet_vif_id); + if (ss->scan_StateFlags & SCANSTATE_F_START) + { + os_timer_ex_cancel(&wifimac->wm_scan->ss_scan_timer, 1); @@ -104269,7 +105900,7 @@ index 000000000000..e53232e88420 + } + } + -+ if (c->chan_cfreq1 != request->channels[j]->center_freq && !vm_is_p2p_connect_scan(wnet_vif, request)) { ++ if (c->chan_cfreq1 != request->channels[j]->center_freq) { + continue; + } + @@ -104295,7 +105926,7 @@ index 000000000000..e53232e88420 + return 0; +} + -+int wifi_mac_scan_before_connect(struct wifi_mac_scan_state *ss, struct wlan_net_vif *wnet_vif, int flags) ++static int wifi_mac_scan_before_connect(struct wifi_mac_scan_state *ss, struct wlan_net_vif *wnet_vif, int flags) +{ + /* if roaming find node to connect ,don't scan*/ + if (wnet_vif->vm_connect_scan_entry.se_valid) { @@ -104305,8 +105936,15 @@ index 000000000000..e53232e88420 + } + + if (wifi_mac_scan_get_match_node(ss, wnet_vif) == 0) { -+ printk("%s not found bss in former scan results\n", __func__); -+ ++ if (wnet_vif->vm_des_channel != NULL) { ++ wnet_vif->vm_scan_before_connect_flag = 1; ++ wnet_vif->vm_connchan.conn_chan[wnet_vif->vm_connchan.num++] = wnet_vif->vm_des_channel; ++ WIFINET_ADDR_COPY(wnet_vif->vm_connchan.da, wnet_vif->vm_des_bssid); ++ WIFINET_ADDR_COPY(wnet_vif->vm_connchan.bssid, wnet_vif->vm_des_bssid); ++ AML_OUTPUT("add connet scan, chan_pri_num:%d, count:%d \n",wnet_vif->vm_des_channel->chan_pri_num, wnet_vif->vm_connchan.num); ++ } else { ++ AML_OUTPUT("no connect bss in former scan list, vm_des_channel is null\n"); ++ } + } else { + wnet_vif->vm_scan_before_connect_flag = 1; + } @@ -104357,7 +105995,7 @@ index 000000000000..e53232e88420 + wifimac->wm_flags |= WIFINET_F_SCAN; + + if (wnet_vif->vm_opmode == WIFINET_M_STA) { -+ printk("%s vm_scanchan_rssi:%d \n", __func__, wnet_vif->vm_scanchan_rssi); ++ pr_debug("%s vm_scanchan_rssi:%d \n", __func__, wnet_vif->vm_scanchan_rssi); + if (wnet_vif->vm_scan_before_connect_flag) { + if (wnet_vif->vm_scanchan_rssi > MAC_MIN_GAIN) { + wnet_vif->vm_scanchan_rssi = MAC_MIN_GAIN; @@ -104384,7 +106022,7 @@ index 000000000000..e53232e88420 + + ss->VMacPriv = wnet_vif; + -+ printk("%s vid:%d---> scan start, CfgFlags is:%08x, ss->ss_nssid:%d\n", __func__, wnet_vif->wnet_vif_id, ss->scan_CfgFlags, ss->ss_nssid); ++ pr_debug("%s vid:%d---> scan start, CfgFlags is:%08x, ss->ss_nssid:%d\n", __func__, wnet_vif->wnet_vif_id, ss->scan_CfgFlags, ss->ss_nssid); + wifimac->wm_scanplayercnt++; + wifi_mac_add_work_task(wifimac, scan_start_task, NULL, (SYS_TYPE)ss, 0, (SYS_TYPE)wifimac->wm_scanplayercnt, + (SYS_TYPE)wnet_vif, (SYS_TYPE)wnet_vif->wnet_vif_replaycounter); @@ -104403,13 +106041,23 @@ index 000000000000..e53232e88420 + AML_OUTPUT("vid:%d, wm_flags:0x%08x, scan_CfgFlags:0x%08x, ss_flag:0x%08x, next_chn:%d, last_chn:%d\n", + wnet_vif->wnet_vif_id, wifimac->wm_flags, ss->scan_CfgFlags, ss->scan_StateFlags, + ss->scan_next_chan_index, ss->scan_last_chan_index); -+ ss->scan_StateFlags |= SCANSTATE_F_CANCEL; -+ wifi_mac_scan_timeout((SYS_TYPE)wifimac->wm_scan, (SYS_TYPE)ss->VMacPriv, 0, 0, (SYS_TYPE)wifimac->wm_scanplayercnt); -+ ss->scan_StateFlags = 0; ++ return 0; ++ } ++ ++ if (wnet_vif->vm_opmode == WIFINET_M_STA) { ++ if (wnet_vif->vm_des_nssid == 0) { ++ ERROR_DEBUG_OUT("scan not trigger as vm_des_bssid is empty\n"); ++ return 0; ++ } ++ ++ if ((wnet_vif->vm_mainsta != NULL) && (wnet_vif->vm_mainsta->connect_status != CONNECT_CONNECTING)) { ++ ERROR_DEBUG_OUT("scan not trigger as connect_status:%d\n", wnet_vif->vm_mainsta->connect_status); ++ return 0; ++ } + } + + ss->scan_CfgFlags |= WIFINET_SCANCFG_CONNECT; -+ printk("%s flags:%08x\n", __func__, flags); ++ pr_debug("%s flags:%08x\n", __func__, flags); + return wifi_mac_start_scan(wnet_vif, flags, nssid, ssids); +} + @@ -104437,7 +106085,7 @@ index 000000000000..e53232e88420 + { + os_timer_ex_cancel(&ss->ss_scan_timer, CANCEL_SLEEP); + wifimac->wm_flags &= ~WIFINET_F_SCAN; -+ printk("%s(%d):-->clean vm_flags 0x%x\n", __func__, __LINE__, wifimac->wm_flags); ++ pr_debug("%s(%d):-->clean vm_flags 0x%x\n", __func__, __LINE__, wifimac->wm_flags); + } + wifi_mac_scan_flush(wifimac); + } @@ -104453,7 +106101,7 @@ index 000000000000..e53232e88420 + wifimac->roaming_threshold_2g = DEFAULT_ROAMING_THRESHOLD_2G; + wifimac->roaming_threshold_5g = DEFAULT_ROAMING_THRESHOLD_5G; + -+ printk("wifi_mac_scan_timeout is %p\n", wifi_mac_scan_timeout); ++ pr_debug("wifi_mac_scan_timeout is %p\n", wifi_mac_scan_timeout); + ss = (struct wifi_mac_scan_state *)NET_MALLOC(sizeof(struct wifi_mac_scan_state), + GFP_KERNEL, "wifi_mac_scan_attach.ss"); + if (ss != NULL) @@ -104518,7 +106166,7 @@ index 000000000000..e53232e88420 + } + + wifimac->wm_flags &= ~WIFINET_F_SCAN; -+ printk("%s(%d):-->clean vm_flags 0x%x\n", __func__, __LINE__, wifimac->wm_flags); ++ pr_debug("%s(%d):-->clean vm_flags 0x%x\n", __func__, __LINE__, wifimac->wm_flags); + + FREE(wifimac->wm_scan,"wifi_mac_scan_attach.ss"); + wifimac->wm_scan = NULL; @@ -104576,12 +106224,43 @@ index 000000000000..e53232e88420 + AML_OUTPUT("simulate scan end\n"); + } +} ++ ++struct wifi_channel* ++wifi_mac_connect_get_target_chan(struct wifi_mac_scan_state *ss, struct wlan_net_vif *wnet_vif) ++{ ++ struct scaninfo_table *st = ss->ScanTablePriv; ++ struct scaninfo_entry *se = NULL; ++ struct scaninfo_entry *se_next = NULL; ++ struct wifi_channel* target_chan = NULL; ++ ++ WIFI_SCAN_SE_LIST_LOCK(st); ++ list_for_each_entry_safe(se, se_next, &st->st_entry, se_list) ++ { ++ DPRINTF(AML_DEBUG_CONNECT, "se:0x%p, st_entry:0x%p\n", se, &st->st_entry); ++ ++ if (WIFINET_ADDR_EQ(wnet_vif->vm_des_bssid, se->scaninfo.SI_bssid) ++ && match_ssid(se->scaninfo.SI_ssid, 1, wnet_vif->vm_des_ssid)) ++ { ++ target_chan = se->scaninfo.SI_chan; ++ ++ if (target_chan != NULL) { ++ AML_OUTPUT("pri_chan_num:%d, center_chan_num:%d, bw:%d",target_chan->chan_pri_num, ++ wifi_mac_Mhz2ieee(target_chan->chan_cfreq1, 0), target_chan->chan_bw); ++ WIFI_SCAN_SE_LIST_UNLOCK(st); ++ return target_chan; ++ } ++ } ++ } ++ WIFI_SCAN_SE_LIST_UNLOCK(st); ++ ++ return target_chan; ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_scan.h b/drivers/net/wireless/w1/vmac/wifi_mac_scan.h new file mode 100644 -index 000000000000..9c76ba2f7765 +index 0000000000000000000000000000000000000000..ac893c46919f9477169fb1d4b4cfbf28fc887e2b --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_scan.h -@@ -0,0 +1,304 @@ +@@ -0,0 +1,305 @@ +/* + **************************************************************************************** + * @@ -104749,6 +106428,7 @@ index 000000000000..9c76ba2f7765 + unsigned char *vht_ext_bss_ld; + unsigned char *vht_quiet_ch; + unsigned char *vht_opt_md_ntf; ++ unsigned int frame_len; +}; + +#define SCANINFO_IE_LENGTH 260 @@ -104803,6 +106483,7 @@ index 000000000000..9c76ba2f7765 + unsigned char ie_vht_ext_bss_ld[sizeof(struct wifi_mac_ie_vht_ext_bss_ld)]; + unsigned char ie_vht_quiet_ch[sizeof(struct wifi_mac_ie_vht_quiet_chn)]; + unsigned char ie_vht_opt_md_ntf[sizeof(struct wifi_mac_ie_vht_opt_md_ntf)]; ++ unsigned int SI_frame_len; +}; + +#define WIFINET_SCAN_AGE_NUM 3 @@ -104883,15 +106564,14 @@ index 000000000000..9c76ba2f7765 +int wifi_mac_scan_chk_11g_bss(struct wifi_mac_scan_state *ss, struct wlan_net_vif *wnet_vif); +void is_connect_need_set_gain(struct wlan_net_vif *wnet_vif); +void wifi_mac_scan_chking_leakap(void * station, struct wifi_frame *wh); -+ -+ ++struct wifi_channel* wifi_mac_connect_get_target_chan(struct wifi_mac_scan_state *ss, struct wlan_net_vif *wnet_vif); +#endif /* _WIFI_NET_SCAN_H_ */ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_sta.c b/drivers/net/wireless/w1/vmac/wifi_mac_sta.c new file mode 100644 -index 000000000000..a603026f0e19 +index 0000000000000000000000000000000000000000..9b93e5a2b4ba51c2c0f04cdadd590ccbc193a70e --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_sta.c -@@ -0,0 +1,2330 @@ +@@ -0,0 +1,2460 @@ +/* + **************************************************************************************** + * @@ -104909,6 +106589,7 @@ index 000000000000..a603026f0e19 +#include "wifi_mac_com.h" +#include +#include ++#include "wifi_mac_rate.h" + +void wifi_mac_station_init(struct wlan_net_vif *wnet_vif) +{ @@ -104982,6 +106663,7 @@ index 000000000000..a603026f0e19 + struct wifi_station *obss; + int canreassoc, cnt = 0; + struct hal_private * hal_priv = hal_get_priv(); ++ struct wlan_net_vif *p2p_vmac = wifimac->drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; + + WIFINET_VMACS_LOCK(wifimac); + @@ -105010,9 +106692,10 @@ index 000000000000..a603026f0e19 + memcpy(wnet_vif->vm_mainsta->sta_txseqs, obss->sta_txseqs, sizeof(obss->sta_txseqs)); + } + ++ wnet_vif->vm_mainsta->connect_status = obss->connect_status; + wifi_mac_rm_sta_from_wds_by_sta(&wnet_vif->vm_sta_tbl, obss); + -+ printk("%s, obss:%p\n", __func__, obss); ++ pr_debug("%s, obss:%p\n", __func__, obss); + WIFINET_VMACS_UNLOCK(wifimac); + wifi_mac_free_sta_from_list(obss); + WIFINET_VMACS_LOCK(wifimac); @@ -105031,7 +106714,15 @@ index 000000000000..a603026f0e19 + } + DPRINTF(AML_DEBUG_CONNECT,"%s bhalPowerSave %d, cnt %d\n",__func__, hal_priv->bhalPowerSave, cnt); + -+ wifi_mac_ChangeChannel(wifimac, wnet_vif->vm_curchan, 3, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); ++ if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode()) ++ && concurrent_check_vmac_is_AP(wifimac) ++ && (wnet_vif->vm_opmode == WIFINET_M_STA) ++ && (p2p_vmac->vm_state == WIFINET_S_CONNECTED) ++ && concurrent_check_is_vmac_same_pri_channel(wifimac)) { ++ wifi_mac_ChangeChannel(wifimac, wnet_vif->vm_curchan, 3, wnet_vif->wnet_vif_id, p2p_vmac->vm_opmode); ++ } else { ++ wifi_mac_ChangeChannel(wifimac, wnet_vif->vm_curchan, 3, wnet_vif->wnet_vif_id, wnet_vif->vm_opmode); ++ } + + is_connect_need_set_gain(wnet_vif); + if (wnet_vif->vm_opmode == WIFINET_M_STA) { @@ -105129,7 +106820,7 @@ index 000000000000..a603026f0e19 + is_forbidden = 0; + } + } -+ //printk("chris wpa count:%d, id:%02x, len:%02x, version:%04x\n", count, ap_wpa_ie->wpa_id, ap_wpa_ie->wpa_len, ap_wpa_ie->wpa_version); ++ //pr_debug("chris wpa count:%d, id:%02x, len:%02x, version:%04x\n", count, ap_wpa_ie->wpa_id, ap_wpa_ie->wpa_len, ap_wpa_ie->wpa_version); + } + + if (ap_rsn_ie != NULL) { @@ -105143,7 +106834,7 @@ index 000000000000..a603026f0e19 + is_forbidden = 0; + } + } -+ //printk("chris rsn count:%d, id:%02x, len:%02x, version:%02x\n", count, ap_rsn_ie->rsn_id, ap_rsn_ie->rsn_len, ap_rsn_ie->rsn_version); ++ //pr_debug("chris rsn count:%d, id:%02x, len:%02x, version:%02x\n", count, ap_rsn_ie->rsn_id, ap_rsn_ie->rsn_len, ap_rsn_ie->rsn_version); + } + + if ((ap_wpa_ie == NULL) && (ap_rsn_ie == NULL)) { @@ -105172,6 +106863,7 @@ index 000000000000..a603026f0e19 + } + + AML_OUTPUT("%s sta:%p\n",__func__, sta); ++#if 0 + if (IS_APSTA_CONCURRENT(aml_wifi_get_con_mode())) { + struct drv_private *drv_priv = wifimac->drv_priv; + struct wlan_net_vif *p2p_wnet_vif = drv_priv->drv_wnet_vif_table[NET80211_P2P_VMAC]; @@ -105186,13 +106878,13 @@ index 000000000000..a603026f0e19 + p2p_wnet_vif->vm_wmac->wm_doth_tbtt = 10; + } + } -+ ++#endif + wifi_mac_connect_start(wifimac); + + if(aml_wifi_get_platform_verid() == 2) { -+ /*this is for gva_mrt version, fix 2.4G on 20M bandwith*/ ++ /*this is for gva_mrt version, fix 2.4G on 20M bandwidth*/ + if (WIFINET_IS_CHAN_2GHZ(se->SI_chan)) { -+ printk("%s %d set bw 20M\n", __func__, __LINE__); ++ pr_debug("%s %d set bw 20M\n", __func__, __LINE__); + work_channel = wifi_mac_find_chan(wifimac, se->SI_chan->chan_pri_num, + WIFINET_BWC_WIDTH20, se->SI_chan->chan_pri_num); + } else { @@ -105214,9 +106906,9 @@ index 000000000000..a603026f0e19 + + /*then, sta != vm_mainsta */ + if(aml_wifi_get_platform_verid() == 2) { -+ /*this is for gva_mrt version, fix 2.4G on 20M bandwith*/ ++ /*this is for gva_mrt version, fix 2.4G on 20M bandwidth*/ + if (WIFINET_IS_CHAN_2GHZ(se->SI_chan)) { -+ printk("%s %d set bw 20M\n", __func__, __LINE__); ++ pr_debug("%s %d set bw 20M\n", __func__, __LINE__); + sta->sta_chbw = WIFINET_BWC_WIDTH20; + } else { + sta->sta_chbw = se->SI_chan->chan_bw; @@ -105240,10 +106932,12 @@ index 000000000000..a603026f0e19 + +#ifdef AML_WPA3 + if (wnet_vif->vm_mainsta->sta_flags_ext & WIFINET_NODE_MFP) { -+ printk("ap pmf:%04x, before set rsn_caps:%04x ", se->si_rsn_capa, wnet_vif->vm_opt_ie[sta->sta_rsn.rsn_caps_offset]); -+ wnet_vif->vm_opt_ie[sta->sta_rsn.rsn_caps_offset] |= (unsigned char)(se->si_rsn_capa & 0xc0); ++ if (!wifimac->wm_wfa_enable) { ++ pr_debug("ap pmf:%04x, before set rsn_caps:%04x ", se->si_rsn_capa, wnet_vif->vm_opt_ie[sta->sta_rsn.rsn_caps_offset]); ++ wnet_vif->vm_opt_ie[sta->sta_rsn.rsn_caps_offset] |= (unsigned char)(se->si_rsn_capa & 0xc0); ++ pr_debug("after set rsn_caps:%04x\n", wnet_vif->vm_opt_ie[sta->sta_rsn.rsn_caps_offset]); ++ } + -+ printk("after set rsn_caps:%04x\n", wnet_vif->vm_opt_ie[sta->sta_rsn.rsn_caps_offset]); + if ((se->si_rsn_capa & 0xc0) != 0) { + sta->sta_flags_ext = (wnet_vif->vm_mainsta->sta_flags_ext & WIFINET_NODE_MFP); + if (sta->sta_flags_ext & WIFINET_NODE_MFP) { @@ -105306,6 +107000,13 @@ index 000000000000..a603026f0e19 + { + wifi_mac_saveie(&sta->sta_wps_ie, se->SI_wps_ie, "sta->sta_wps_ie"); + } ++ if (se->SI_rsnx_ie[1] != 0 && (sta->sta_use_h2e == WIFINET_H2E_NONE)) ++ { ++ if ((se->SI_rsnx_ie[2] & BIT(5))) { ++ sta->sta_use_h2e = WIFINET_H2E_PEER_SUPPOR; ++ AML_OUTPUT("connect ap support H2E\n"); ++ } ++ } + + wifi_mac_reset_vmac(wnet_vif); + wnet_vif->vm_bcn_intval = se->SI_intval; @@ -105320,7 +107021,7 @@ index 000000000000..a603026f0e19 + else + wifimac->wm_11dinfo = NULL; + -+ printk("%s start connect to ssid:%s, pri_channel:%d, center_chan:%d, bw:%d, BSSID:%02x:%02x:%02x:%02x:%02x:%02x, mode:%d\n", ++ pr_debug("%s start connect to ssid:%s, pri_channel:%d, center_chan:%d, bw:%d, BSSID:%02x:%02x:%02x:%02x:%02x:%02x, mode:%d\n", + __func__, se->SI_ssid+2, se->SI_chan->chan_pri_num, se->SI_chan->chan_cfreq1, se->SI_chan->chan_bw, sta->sta_bssid[0], + sta->sta_bssid[1], sta->sta_bssid[2], sta->sta_bssid[3], sta->sta_bssid[4], sta->sta_bssid[5], sta->sta_bssmode); + wnet_vif->vm_phase_flags |= PHASE_CONNECTING; @@ -105364,7 +107065,7 @@ index 000000000000..a603026f0e19 + wnet_vif->vm_curchan = work_channel; + sta->sta_chbw = chan->chan_bw; + -+ printk("%s(%d): pri_chan %d, bw %d, chan_cfreq1 %d\n", __func__, __LINE__, ++ pr_debug("%s(%d): pri_chan %d, bw %d, chan_cfreq1 %d\n", __func__, __LINE__, + chan->chan_pri_num, chan->chan_bw, wifi_mac_Mhz2ieee(chan->chan_cfreq1, 0)); + + WIFINET_ADDR_COPY(sta->sta_bssid, wnet_vif->vm_myaddr); @@ -105408,7 +107109,7 @@ index 000000000000..a603026f0e19 + } + wifi_mac_build_country_ie(wnet_vif); + wifi_mac_start_bss(sta); -+ printk("<%s> L:%d, mac mode %d dot11_rate_num %d\n", ++ pr_debug("<%s> L:%d, mac mode %d dot11_rate_num %d\n", + __func__,__LINE__,sta->sta_bssmode,sta->sta_htrates.dot11_rate_num); +} + @@ -105437,11 +107138,12 @@ index 000000000000..a603026f0e19 + } + + sta->sta_flags &= ~WIFINET_NODE_AREF; ++ os_timer_ex_del(&sta->csa_timer, CANCEL_SLEEP); + + if (wifi_mac_pwrsave_psqueue_clean(sta) != 0 && wnet_vif->vif_ops.vm_set_tim != NULL) + wnet_vif->vif_ops.vm_set_tim(sta, 0); + -+ printk("----------%d assoc id \n",sta->sta_associd); ++ pr_debug("----------%d assoc id \n",sta->sta_associd); + if (sta->sta_challenge != NULL) + { + FREE(sta->sta_challenge,"sta->sta_challenge"); @@ -105489,9 +107191,10 @@ index 000000000000..a603026f0e19 + wnet_vif->vm_change_rate_enable = 1; + wnet_vif->vm_scanchan_rssi = MAC_MIN_GAIN; + -+ printk("wifi_mac_sta_leave:%d, sta:%p, main_sta:%p\n", wnet_vif->wnet_vif_id, sta, wnet_vif->vm_mainsta); ++ pr_debug("wifi_mac_sta_leave:%d, sta:%p, main_sta:%p\n", wnet_vif->wnet_vif_id, sta, wnet_vif->vm_mainsta); + if (wnet_vif->vm_opmode == WIFINET_M_STA) + { ++ sta->is_disconnecting = 1; + wifimac->drv_priv->drv_ops.drv_set_pkt_drop(wifimac->drv_priv, wnet_vif->wnet_vif_id, 1); + wnet_vif->vm_curchan = WIFINET_CHAN_ERR; + if (wnet_vif->vm_flags_ext & WIFINET_FEXT_SWBMISS) { @@ -105531,11 +107234,13 @@ index 000000000000..a603026f0e19 + wifimac->is_connect_set_gain = 1; + wifimac->drv_priv->drv_ops.set_channel_rssi(wifimac->drv_priv, 174); + ++ os_timer_ex_start_period(&wifimac->wm_csa_trigger_timer, 10000); ++ + if (wifimac->recovery_stat == WIFINET_RECOVERY_END) { + wnet_vif->vm_des_nssid = 0; + memset(wnet_vif->vm_des_ssid, 0, IV_SSID_SCAN_AMOUNT*sizeof(struct wifi_mac_ScanSSID)); + } -+ ++ sta->is_disconnecting = 0; + } + wnet_vif->vm_phase_flags &= ~PHASE_DISCONNECTING; + @@ -105569,20 +107274,26 @@ index 000000000000..a603026f0e19 +nsta_free(struct wifi_station *sta) +{ + int index = 0; ++ struct sk_buff *skb = NULL, *tmp = NULL; + struct wlan_net_vif *wnet_vif = NULL; ++ struct sk_buff_head *txqueue = NULL; ++ struct wifi_station *txqueue_sta = NULL; ++ + ASSERT(sta); + + if (sta) { + wnet_vif = sta->sta_wnet_vif; + -+ if (sta == wnet_vif->vm_mainsta) { -+ printk("free vm_mainsta:%p\n", sta); ++ if (wnet_vif && sta == wnet_vif->vm_mainsta) { ++ pr_debug("free vm_mainsta:%p\n", sta); + wnet_vif->vm_mainsta = NULL; + } + } else { + return ; + } + ++ wifi_mac_rate_disassoc(sta); ++ + wifi_mac_sta_free(sta); + if (sta->sta_wpa_ie != NULL) + FREE(sta->sta_wpa_ie,"sta->sta_wpa_ie"); @@ -105614,8 +107325,21 @@ index 000000000000..a603026f0e19 + FREE(sta->sta_wai_ie,"sta->sta_wai_ie"); +#endif /*CONFIG_WAPI*/ + ++ txqueue = &wnet_vif->vm_tx_buffer_queue; ++ WIFINET_SAVEQ_LOCK(txqueue); ++ skb_queue_walk_safe(txqueue,skb,tmp) { ++ txqueue_sta = os_skb_get_nsta(skb); ++ if (txqueue_sta == sta) { ++ AML_OUTPUT("as free sta: %p so free skb\n",txqueue_sta); ++ aml_skb_unlink(skb,txqueue); ++ wifi_mac_free_skb(skb); ++ ++ } ++ } ++ WIFINET_SAVEQ_UNLOCK(txqueue); ++ + WIFINET_SAVEQ_DESTROY(&(sta->sta_pstxqueue)); -+ printk("%s free %p\n", __func__, sta); ++ pr_debug("%s free %p\n", __func__, sta); + FREE(sta,"alloc_sta_node.sta"); +} + @@ -105649,7 +107373,7 @@ index 000000000000..a603026f0e19 + } + + wifi_mac_alloc_amsdu_node(wifimac, wnet_vif->wnet_vif_id, sta); -+ printk("%s vid:%d, sta:%p\n", __func__, wnet_vif->wnet_vif_id, sta); ++ pr_debug("%s vid:%d, sta:%p\n", __func__, wnet_vif->wnet_vif_id, sta); + return sta; +} + @@ -105669,9 +107393,10 @@ index 000000000000..a603026f0e19 + return NULL; + } + sta->sta_tmp_nsta = 0; ++ os_timer_ex_initialize(&sta->csa_timer, 0, wifi_mac_csa_handle_timeout, sta); + + WIFINET_ADDR_COPY(sta->sta_macaddr, macaddr); -+ //dump_memory_internel(macaddr, 6); ++ //dump_memory_internal(macaddr, 6); + hash = WIFINET_NODE_HASH(macaddr); + sta->sta_authmode = WIFINET_AUTH_OPEN; + sta->sta_txpower = wifimac->wm_txpowlimit; @@ -105843,7 +107568,7 @@ index 000000000000..a603026f0e19 +{ + struct wifi_station *sta; + -+ printk("%s\n", __func__); ++ pr_debug("%s\n", __func__); + + sta = alloc_sta_node(NULL ,wnet_vif); + if (sta != NULL) { @@ -105926,11 +107651,11 @@ index 000000000000..a603026f0e19 + const unsigned char *macaddr) +{ + struct wifi_station *sta; -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + sta = wifi_mac_bup_bss(wnet_vif, macaddr); + if (sta != NULL) + { -+ printk(" %s %d NI_RATE....................\n",__func__,__LINE__); ++ pr_debug(" %s %d NI_RATE....................\n",__func__,__LINE__); + sta->sta_rates = wnet_vif->vm_mainsta->sta_rates; + wifi_mac_new_assoc(sta, 1); + wifi_mac_sta_auth(sta); @@ -105976,12 +107701,14 @@ index 000000000000..a603026f0e19 + } + else if (vhtop->vht_op_chwidth > VHT_OPT_CHN_WD_80M) + { -+ printk("%s:%d, not support bandwidth %d yet \n", __func__, __LINE__, vhtop->vht_op_chwidth); ++ pr_debug("%s:%d, not support bandwidth %d yet \n", __func__, __LINE__, vhtop->vht_op_chwidth); + } + } + -+ if (wifi_mac_set_wnet_vif_channel(wnet_vif, sp->chan, bw, center_chan) == false) ++ if (wifi_mac_set_wnet_vif_channel(wnet_vif, sp->chan, bw, center_chan, CHANNEL_CONNECT_FLAG | CHANNEL_RESTORE_FLAG) == false) ++ { + return NULL; ++ } + + sta = wifi_mac_bup_bss(wnet_vif, wh->i_addr2); + if (sta != NULL) @@ -106176,6 +107903,11 @@ index 000000000000..a603026f0e19 + WIFINET_NODE_FREE_UNLOCK(wifimac); + + sta = del_nsta->nsta; ++ /* Clear 'sta_wnet_vif', since this function is called ++ * only during driver unload and both interfaces are ++ * released, so we can't touch them in 'nsta_free()'. ++ */ ++ sta->sta_wnet_vif = NULL; + nsta_free(sta); + FREE(del_nsta,"del_nsta"); + @@ -106223,10 +107955,10 @@ index 000000000000..a603026f0e19 + } + WIFINET_NODE_FREE_UNLOCK(wifimac); + -+ printk("%s sta:%p, new:%d\n", __func__, sta, new_delete); ++ pr_debug("%s sta:%p, new:%d\n", __func__, sta, new_delete); + if (new_delete) { + if (sta == wnet_vif->vm_mainsta) { -+ printk("free vm_mainsta:%p\n", sta); ++ pr_debug("free vm_mainsta:%p\n", sta); + wnet_vif->vm_mainsta = NULL; + } + @@ -106249,7 +107981,8 @@ index 000000000000..a603026f0e19 + wifi_mac_free_sta(sta); +} + -+static void wifi_mac_sta_table_rst(struct wifi_station_tbl *nt, struct wlan_net_vif *match) ++static void wifi_mac_sta_table_rst(struct wifi_station_tbl *nt, struct wlan_net_vif *match, ++ bool rst_mainsta) +{ + struct wifi_station *sta = NULL, *next = NULL; + @@ -106260,11 +107993,11 @@ index 000000000000..a603026f0e19 + if ((match != NULL) && (wnet_vif != match)) + continue; + -+ if (sta->sta_associd != 0) { ++ if ((wnet_vif->vm_opmode == WIFINET_M_HOSTAP) && (sta->sta_associd != 0)) { + vm_StaClearAid(wnet_vif, sta->sta_associd); + } + -+ if (sta != wnet_vif->vm_mainsta) { ++ if (sta != wnet_vif->vm_mainsta || rst_mainsta) { + wifi_mac_rm_sta_from_wds_by_addr(nt,sta->sta_macaddr); + list_del_init(&sta->sta_list); + @@ -106282,7 +108015,7 @@ index 000000000000..a603026f0e19 + + WIFINET_NODE_LOCK(nt); + list_for_each_entry_safe(sta, next, &nt->nt_nsta, sta_list) { -+ if (sta->sta_associd != 0) { ++ if ((sta->sta_wnet_vif->vm_opmode == WIFINET_M_HOSTAP) && (sta->sta_associd != 0)) { + vm_StaClearAid(sta->sta_wnet_vif, sta->sta_associd); + } + @@ -106302,7 +108035,7 @@ index 000000000000..a603026f0e19 + struct wifi_station *sta = NULL; + struct wifi_station *next = NULL; + -+ printk("station list==========>: \n"); ++ pr_debug("station list==========>: \n"); + WIFINET_NODE_LOCK(nt); + list_for_each_entry_safe(sta, next, &nt->nt_nsta, sta_list) { + if (wnet_vif != sta->sta_wnet_vif) { @@ -106310,13 +108043,13 @@ index 000000000000..a603026f0e19 + } + + if(sta->sta_associd != 0) { -+ printk("station staid %d, ",sta->sta_associd&0xff); -+ printk("mac addr %s \n",ether_sprintf(sta->sta_macaddr)); ++ pr_debug("station staid %d, ",sta->sta_associd&0xff); ++ pr_debug("mac addr %s \n",ether_sprintf(sta->sta_macaddr)); + wifi_mac_dump_sta(nt,sta); + } + } + WIFINET_NODE_UNLOCK(nt); -+ printk("=========end================\n"); ++ pr_debug("=========end================\n"); +} + +static void wifi_mac_TimeoutStations(struct wifi_station_tbl *nt) @@ -106596,7 +108329,7 @@ index 000000000000..a603026f0e19 + + if ((sta->sta_wnet_vif == wnet_vif) && (sta->sta_associd != 0)) { + wifi_mac_send_mgmt(sta, WIFINET_FC0_SUBTYPE_DISASSOC, (void *)&mgmt_arg); -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + + wifi_mac_sta_disconnect(sta); + wifi_mac_rm_sta_from_wds_by_addr(nt, sta->sta_macaddr); @@ -106612,11 +108345,52 @@ index 000000000000..a603026f0e19 + + if (sta->sta_wnet_vif == wnet_vif) + { -+ printk(" %s %d \n",__func__,__LINE__); ++ pr_debug(" %s %d \n",__func__,__LINE__); + wifi_mac_send_mgmt(sta, WIFINET_FC0_SUBTYPE_DEAUTH, (void *)&mgmt_arg); + } +} + ++static void wifi_mac_disassoc_cb(SYS_TYPE param1, SYS_TYPE param2, SYS_TYPE param3, ++ SYS_TYPE param4, SYS_TYPE param5) ++{ ++ struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param1; ++ struct wifi_station *sta = (struct wifi_station *)param2; ++ struct wifi_station_tbl *nt = &(wnet_vif->vm_sta_tbl); ++ int mgmt_arg = WIFINET_REASON_ASSOC_LEAVE; ++ ++ wifi_mac_send_mgmt(sta, WIFINET_FC0_SUBTYPE_DISASSOC, (void *)&mgmt_arg); ++ pr_debug(" %s %d \n",__func__,__LINE__); ++ ++ wifi_mac_sta_disconnect(sta); ++ wifi_mac_rm_sta_from_wds_by_addr(nt, sta->sta_macaddr); ++ ++ wifi_mac_free_sta(sta); ++} ++ ++void wifi_mac_sta_disassoc_in_task(struct wlan_net_vif *wnet_vif) ++{ ++ struct wifi_station *sta = NULL, *sta_next = NULL; ++ struct wifi_station_tbl *nt = &(wnet_vif->vm_sta_tbl); ++ ++ WIFINET_NODE_LOCK(nt); ++ ++ list_for_each_entry_safe(sta, sta_next, &nt->nt_nsta, sta_list) { ++ if ((sta->sta_wnet_vif == wnet_vif) && sta->sta_associd) { ++ /* Remove 'sta' with lock from global list here. So ++ * nobody can access it later. 'wifi_mac_disassoc_cb()' ++ * will free it later. ++ */ ++ list_del_init(&sta->sta_list); ++ ++ wifi_mac_add_work_task(nt->nt_wmac, wifi_mac_disassoc_cb, NULL, ++ (SYS_TYPE)wnet_vif, (SYS_TYPE)sta, NULL, ++ NULL, NULL); ++ } ++ } ++ ++ WIFINET_NODE_UNLOCK(nt); ++} ++ +void wifi_mac_func_to_task(struct wifi_station_tbl *nt, wifi_mac_IterFunc *f, void *arg,unsigned char btask) +{ + struct wifi_station *sta = NULL, *sta_next = NULL; @@ -106814,11 +108588,11 @@ index 000000000000..a603026f0e19 + { + if (wnet_vif->vm_p2p->p2p_flag & P2P_OPPPS_START_FLAG_HI) + { -+ vm_p2p_go_cancle_opps(wnet_vif->vm_p2p); ++ vm_p2p_go_cancel_opps(wnet_vif->vm_p2p); + } + if (wnet_vif->vm_p2p->p2p_flag & P2P_NOA_START_FLAG_HI) + { -+ vm_p2p_go_cancle_noa(wnet_vif->vm_p2p); ++ vm_p2p_go_cancel_noa(wnet_vif->vm_p2p); + } + } +#endif @@ -106884,7 +108658,7 @@ index 000000000000..a603026f0e19 + wnet_vif->vm_curchan->chan_pri_num, sta->sta_chbw, sta->sta_essid, + sta->sta_macaddr[0], sta->sta_macaddr[1], sta->sta_macaddr[2], + sta->sta_macaddr[3], sta->sta_macaddr[4], sta->sta_macaddr[5]); -+ printk("****************************************************\n"); ++ pr_debug("****************************************************\n"); +} + +void @@ -106953,16 +108727,16 @@ index 000000000000..a603026f0e19 +{ + struct wifi_mac *wifimac = wnet_vif->vm_wmac; + -+ printk("%s, wnet_vif->wnet_vif_id= %d\n", __func__, wnet_vif->wnet_vif_id); ++ pr_debug("%s, wnet_vif->wnet_vif_id= %d\n", __func__, wnet_vif->wnet_vif_id); + -+ wifi_mac_sta_table_rst(&wnet_vif->vm_sta_tbl, wnet_vif); ++ wifi_mac_sta_table_rst(&wnet_vif->vm_sta_tbl, wnet_vif, false); + wifi_mac_reset_erp(wifimac, wnet_vif->vm_mac_mode); + wifi_mac_reset_ht(wifimac); + + if (!wnet_vif->vm_mainsta) { + wnet_vif->vm_mainsta = wifi_mac_get_sta_node(&wnet_vif->vm_sta_tbl, wnet_vif, wnet_vif->vm_myaddr); + KASSERT(wnet_vif->vm_mainsta != NULL, ("unable to create vm_mainsta")); -+ printk("%s add vm_mainsta:%p\n", __func__, wnet_vif->vm_mainsta); ++ pr_debug("%s add vm_mainsta:%p\n", __func__, wnet_vif->vm_mainsta); + } + + wnet_vif->vm_ps_sta = 0; @@ -106972,7 +108746,7 @@ index 000000000000..a603026f0e19 +{ + struct wifi_station *sta = wnet_vif->vm_mainsta; + -+ printk("%s, wnet_vif_id= %d, main_sta:%p\n", __func__, wnet_vif->wnet_vif_id, sta); ++ pr_debug("%s, wnet_vif_id= %d, main_sta:%p\n", __func__, wnet_vif->wnet_vif_id, sta); + + if (sta) { + sta->sta_associd = 0; @@ -107013,8 +108787,8 @@ index 000000000000..a603026f0e19 + +void wifi_mac_sta_vdetach(struct wlan_net_vif *wnet_vif) +{ -+ printk("%s, vm_mainsta:%p\n", __func__, wnet_vif->vm_mainsta); -+ wifi_mac_sta_table_rst(&wnet_vif->vm_sta_tbl, wnet_vif); ++ pr_debug("%s, vm_mainsta:%p\n", __func__, wnet_vif->vm_mainsta); ++ wifi_mac_sta_table_rst(&wnet_vif->vm_sta_tbl, wnet_vif, true); +} + +void wifi_mac_sta_attach(struct wifi_mac *wifimac) @@ -107134,8 +108908,34 @@ index 000000000000..a603026f0e19 + +void wifi_mac_notify_scan_done(struct wlan_net_vif *wnet_vif) +{ -+ vm_cfg80211_inform_bss(wnet_vif); -+ vm_cfg80211_indicate_scan_done(wdev_to_priv(wnet_vif->vm_wdev), false); ++ bool scan_abort = true; ++ struct wifi_mac* wifimac = NULL; ++ struct wifi_mac_scan_state *scan_state = NULL; ++ ++ if (wnet_vif == NULL) { ++ ERROR_DEBUG_OUT("wnet_vif is null !\n"); ++ return; ++ } ++ ++ if (wnet_vif->vm_wmac == NULL) { ++ ERROR_DEBUG_OUT("wifimac is null !\n"); ++ return; ++ } ++ ++ if (wnet_vif->vm_wmac->wm_scan == NULL) { ++ ERROR_DEBUG_OUT("wm_scan is null !\n"); ++ return; ++ } ++ ++ wifimac = wnet_vif->vm_wmac; ++ scan_state = wifimac->wm_scan; ++ ++ if (!(scan_state->scan_StateFlags & SCANSTATE_F_CANCEL)) { ++ scan_abort = false; ++ vm_cfg80211_inform_bss(wnet_vif); ++ } ++ ++ vm_cfg80211_indicate_scan_done(wdev_to_priv(wnet_vif->vm_wdev), scan_abort); +} + +void wifi_mac_notify_mic_fail(struct wlan_net_vif *wnet_vif, const struct wifi_frame *wh, unsigned int key_index) @@ -107222,12 +109022,22 @@ index 000000000000..a603026f0e19 + return 0; +} + ++void aml_skb_unlink(struct sk_buff *skb, struct sk_buff_head *list) ++{ ++ struct sk_buff *next, *prev; ++ ++ next = skb->next; ++ prev = skb->prev; ++ skb->next = skb->prev = NULL; ++ next->prev = prev; ++ prev->next = next; ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_sta.h b/drivers/net/wireless/w1/vmac/wifi_mac_sta.h new file mode 100644 -index 000000000000..9a6a50762bf3 +index 0000000000000000000000000000000000000000..00c0da965443230b70997ab71ce57b952a1ccc16 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_sta.h -@@ -0,0 +1,587 @@ +@@ -0,0 +1,594 @@ +/* + **************************************************************************************** + * @@ -107417,6 +109227,8 @@ index 000000000000..9a6a50762bf3 + unsigned short sta_flags; + unsigned short sta_flags_ext; + ++ unsigned char *sta_assoc_req; ++ unsigned int sta_assoc_req_ielen; + unsigned short sta_associd; + unsigned char sta_txpower; + unsigned short sta_vlan; @@ -107461,6 +109273,8 @@ index 000000000000..9a6a50762bf3 + unsigned char sta_uapsd_ac_delivena[WME_NUM_AC]; + + unsigned char *sta_rsn_ie; ++ unsigned char *sta_rsnxe_ie; ++ unsigned char sta_use_h2e; + struct wifi_mac_Rsnparms sta_rsn; + struct wifi_mac_key sta_ucastkey; + struct wifi_mac_key pmf_key; @@ -107497,6 +109311,8 @@ index 000000000000..9a6a50762bf3 + unsigned char sta_wide_bw_ch_sw_sub_ie[SUB_IE_MAX_LEN]; + unsigned char sta_new_vht_tx_pw_sub_ie[SUB_IE_MAX_LEN]; + unsigned char sta_channel_switch_mode; ++ int sta_chan_switch_chan; ++ struct os_timer_ext csa_timer; + + //ext bss ld element + unsigned short sta_mu_mimo_sta_cnt; @@ -107655,6 +109471,7 @@ index 000000000000..9a6a50762bf3 +void wifi_mac_sta_disconnect_from_ap(struct wifi_station *); +void wifi_mac_sta_deauth(void *arg, struct wifi_station *sta); +void wifi_mac_sta_disassoc(void *arg, struct wifi_station *sta); ++void wifi_mac_sta_disassoc_in_task(struct wlan_net_vif *wnet_vif); +struct wifi_station *wifi_mac_find_mgmt_tx_sta(struct wlan_net_vif *wnet_vif, const unsigned char *mac); + +void wifi_mac_list_sta( struct wlan_net_vif *wnet_vif); @@ -107779,7 +109596,7 @@ index 000000000000..9a6a50762bf3 + +#define MY_MOD_INC_USE(_m, _err) do{\ + if (my_mod_use>2) {\ -+ printk(KERN_WARNING "%s: try_module_get failed\n",__func__); \ ++ pr_warn("%s: try_module_get failed\n",__func__); \ + _err;\ + }\ + my_mod_use= 1;\ @@ -107813,14 +109630,14 @@ index 000000000000..9a6a50762bf3 +void os_skb_set_amsdu(struct sk_buff *skb); +int os_skb_is_amsdu(struct sk_buff *skb); +int os_skb_is_uapsd(struct sk_buff *skb); -+ ++void aml_skb_unlink(struct sk_buff *skb, struct sk_buff_head *list); +#endif /* _NET80211_IEEE80211_NODE_H_ */ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_var.h b/drivers/net/wireless/w1/vmac/wifi_mac_var.h new file mode 100644 -index 000000000000..58c774685641 +index 0000000000000000000000000000000000000000..8b85c145551bf60d4de8cb767bbd5c5cdeb68cd5 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_var.h -@@ -0,0 +1,973 @@ +@@ -0,0 +1,1016 @@ +/* + **************************************************************************************** + * @@ -107954,10 +109771,11 @@ index 000000000000..58c774685641 + +#define WIFINET_BINTVAL_DEFAULT 100 +#define DEFAULT_MGMT_RETRY_TIMES 3 -+#define DEFAULT_P2P_ACTION_RETRY_TIMES 5 ++#define DEFAULT_P2P_ACTION_RETRY_TIMES 3 +#define DEFAULT_MGMT_RETRY_INTERVAL 512 +#define DEFAULT_P2P_ACTION_RETRY_INTERVAL 50 +#define DEFAULT_AUTH_RETRY_INTERVAL 512 ++#define DEFAULT_DEAUTH_TOT 5000 + +#define WIFINET_PS_MAX_QUEUE 100 + @@ -108149,6 +109967,27 @@ index 000000000000..58c774685641 + CONCURRENT_CHANNEL_SWITCH = BIT(0), + CONCURRENT_NOTIFY_AP = BIT(1), + CONCURRENT_NOTIFY_AP_SUCCESS = BIT(2), ++ CONCURRENT_AP_SWITCH_CHANNEL = BIT(3), ++ CONCURRENT_SWITCH_TO_STA_CHANNEL = BIT(4), ++}; ++ ++enum DisconnectionReasonCode { ++ DISCONNECT_SYSTEM, ///< Disconnection initiated by higher layer. ++ DISCONNECT_DRVINIT, ///< Generic Disconnection initiated by Driver. ++ DISCONNECT_NETDEVDOWN, ///< Disconnection initiated by driver when the network interface is down. ++ DISCONNECT_DFSDETECTION, ///< Disconnection by Driver when DFS is detected on the serving channel. ++ DISCONNECT_UNSUPCHAN, ///< Disconnection by Driver when AP switched to an unsupported channel. ++ DISCONNECT_DFSCHAN, ///< Disconnection by Driver when AP switched to a DFS channel. ++ DISCONNECT_APLEAVE, ///< Disconnection by Driver when connection to AP is lost. ++ DISCONNECT_APROAMFAIL, ///< Disconnection by Driver when Roaming Failed. ++ DISCONNECT_RCVDEAUTH, ///< Disconnection initiated by AP and Deauth Received. ++ DISCONNECT_RCVDISASSOC, ///< Disconnection initiated by AP and Disassoc Received. ++ DISCONNECT_GENERIC ///< Uncategorized Disconnection Reasons. ++}; ++ ++struct chan_switch_target_t { ++ unsigned char start; ++ struct wifi_channel switch_chan; +}; + +struct wifi_mac_chan_overlapping { @@ -108156,6 +109995,12 @@ index 000000000000..58c774685641 + unsigned short overlapping; +}; + ++enum VsdbState { ++ VSDB_STATE_DISABLE, ++ VSDB_STATE_ENABLE, ++ VSDB_STATE_MAX, ++}; ++ +struct wifi_mac +{ + unsigned char wm_mac_exit; @@ -108234,10 +110079,12 @@ index 000000000000..58c774685641 + +#ifdef CONFIG_CONCURRENT_MODE + struct os_timer_ext wm_concurrenttimer; ++ unsigned char wm_vsdb_sate; + unsigned char wm_vsdb_slot; + unsigned short wm_vsdb_flags; + unsigned long wm_vsdb_switch_time; +#endif //CONFIG_CONCURRENT_MODE ++ struct os_timer_ext wm_csa_trigger_timer; + + enum wifi_mac_protmode wm_protmode; + unsigned short wm_nonerpsta; @@ -108272,6 +110119,7 @@ index 000000000000..58c774685641 + int msdu_cnt[WME_NUM_TID ]; + struct msdu_list msdu_node_list; + ++ unsigned short wm_p2p_home_channel; + unsigned char wm_p2p_connection_protect; + unsigned long wm_p2p_connection_protect_period; + unsigned char is_miracast_connect; @@ -108296,6 +110144,7 @@ index 000000000000..58c774685641 + enum wifi_mac_recovery_state recovery_stat; + struct os_timer_ext wm_monitor_fw; + spinlock_t fw_stat_lock; ++ unsigned char wm_wfa_enable; + +#if defined(SU_BF) || defined(MU_BF) + int max_spatial; @@ -108383,6 +110232,7 @@ index 000000000000..58c774685641 + unsigned char wnet_vif_id; + enum wifi_mac_opmode vm_opmode; + enum wifi_mac_state vm_state; ++ enum wifi_mac_state vm_state_pre; + unsigned char remain_on_channel; + struct ieee80211_channel remain_on_ch_channel; + unsigned long long remain_on_ch_cookie; @@ -108459,6 +110309,8 @@ index 000000000000..58c774685641 + unsigned char vm_chanchange_count; + unsigned char vm_bmiss_count; + struct wifi_mac_rateset vm_legacy_rates; ++ struct chan_switch_target_t csa_target; ++ unsigned char csa_count; + + struct wifi_mac_wmm_ac_params vm_wmm_ac_params; + struct wifi_mac_wmm_tspec_element tspecs[WME_AC_NUM][TS_DIR_IDX_COUNT]; @@ -108523,6 +110375,9 @@ index 000000000000..58c774685641 + struct wifi_mac_p2p* vm_p2p; + int vm_p2p_support; +#endif ++ unsigned int disconnect_reason_code; ++ unsigned char vm_sae_h2e_only; ++ struct wifi_channel *vm_des_channel; +}; + +#define WIFINET_PSQUEUE_PS4QUIET 0x0001 @@ -108556,8 +110411,10 @@ index 000000000000..58c774685641 +#define WIFINET_F_WPA1 0x00800000 +#define WIFINET_F_WPA2 0x01000000 +#define WIFINET_F_WPA 0x01800000 ++#define WIFINET_F_H2E 0x02000000 +#define WIFINET_F_COUNTERM 0x04000000 +#define WIFINET_F_HIDESSID 0x08000000 ++#define WIFINET_F_HIDESSID_TO_BIT0_OFST 27 +#define WIFINET_F_WMEUPDATE 0x20000000 +#define WIFINET_F_DOTH 0x40000000 +#define WIFINET_F_CHANSWITCH 0x80000000 @@ -108591,6 +110448,9 @@ index 000000000000..58c774685641 +#define WIFINET_FEXT2_SWITCH_CHANNEL 0x80000000 +#define WIFINET_FEXT2_ALLOW_SWITCH_CHANNEL 0x01000000 + ++#define WIFINET_FEXT2_MGMT_RESTORE_CHANNEL 0x00000001 ++#define WIFINET_FEXT2_DPP_SEND 0x00000002 ++#define WIFINET_FEXT2_DPP_CONNECTION_STATUS_RETRY 0x00000004 + +#define WIFINET_FEXT2_PUREBGN (WIFINET_FEXT2_PUREB|WIFINET_FEXT2_PUREG|WIFINET_FEXT2_PUREN) +#define WIFINET_FEXT2_PUREBG (WIFINET_FEXT2_PUREG|WIFINET_FEXT2_PUREB) @@ -108796,10 +110656,10 @@ index 000000000000..58c774685641 +#endif /* _NET80211_IEEE80211_VAR_H_ */ diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_xmit.c b/drivers/net/wireless/w1/vmac/wifi_mac_xmit.c new file mode 100644 -index 000000000000..787bcf1e6bee +index 0000000000000000000000000000000000000000..ee538a7a28b911ae5103f00212e4dba17343b396 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_xmit.c -@@ -0,0 +1,3747 @@ +@@ -0,0 +1,3956 @@ +/* + **************************************************************************************** + * @@ -108819,7 +110679,7 @@ index 000000000000..787bcf1e6bee +#include +#include "wifi_cmd_func.h" + -+int wifi_mac_classify(struct wifi_station *sta, struct sk_buff *skb) ++static int wifi_mac_classify(struct wifi_station *sta, struct sk_buff *skb) +{ + struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; + struct ether_header *eh = (struct ether_header *) os_skb_data(skb); @@ -108878,7 +110738,7 @@ index 000000000000..787bcf1e6bee + if (v_wme_ac > d_wme_ac) + { + cb->u_tid = v_pri; -+ printk(" %s %d cb->u_tid = %d\n",__func__,__LINE__,cb->u_tid); ++ pr_debug(" %s %d cb->u_tid = %d\n",__func__,__LINE__,cb->u_tid); + os_skb_set_priority(skb,v_wme_ac); + } + @@ -108910,7 +110770,7 @@ index 000000000000..787bcf1e6bee + } + + txinfo->tid_index = os_skb_get_tid(skb); -+ //printk("%s tid_index:%d\n", __func__, txinfo->tid_index); ++ //pr_debug("%s tid_index:%d\n", __func__, txinfo->tid_index); + + return 0; +} @@ -108926,7 +110786,7 @@ index 000000000000..787bcf1e6bee +} + + -+void wifi_mac_get_rtsp_session(char* rtsp, struct wifi_mac_p2p* p2p) ++static void wifi_mac_get_rtsp_session(char* rtsp, struct wifi_mac_p2p* p2p) +{ + char *buf = rtsp; + char id_buf[8]; @@ -108945,7 +110805,7 @@ index 000000000000..787bcf1e6bee + strcat(p2p->wfd_session_id, id_buf); + buf++; + } -+ printk("wfd_session_id=%s\n", p2p->wfd_session_id); ++ pr_debug("wfd_session_id=%s\n", p2p->wfd_session_id); + } +} + @@ -109109,7 +110969,7 @@ index 000000000000..787bcf1e6bee + pending_cnt = wifimac->drv_priv->drv_ops.drv_tx_pending_pkt(wifimac->drv_priv); + + if (qlen_real + pending_cnt > 200) { -+ //printk("qlen_real:%d, pending_cnt:%d\n", qlen_real, pending_cnt); ++ //pr_debug("qlen_real:%d, pending_cnt:%d\n", qlen_real, pending_cnt); + wnet_vif->vm_devstats.tx_dropped++; + wnet_vif->vif_sts.sts_tx_tid_drop_bf_in_msdu[os_skb_get_tid(skb)]++; + return NETDEV_TX_BUSY; @@ -109119,7 +110979,7 @@ index 000000000000..787bcf1e6bee + return 0; +} + -+unsigned short wifi_mac_checksum_calc(unsigned short len_udp, unsigned char * src_addr, ++static unsigned short wifi_mac_checksum_calc(unsigned short len_udp, unsigned char * src_addr, + unsigned char *dest_addr, unsigned char type, unsigned char *buff) +{ + unsigned short padd = 0; @@ -109171,7 +111031,7 @@ index 000000000000..787bcf1e6bee + return 0; +} + -+int wifi_mac_tcp_csum(struct sk_buff *skb) ++static int wifi_mac_tcp_csum(struct sk_buff *skb) +{ + struct iphdr *iphdrp = (struct iphdr *)((unsigned char *)os_skb_data(skb)+sizeof(struct ether_header)); + struct tcphdr *th = (struct tcphdr *)((unsigned char *)iphdrp + (iphdrp->ihl << 2)); @@ -109191,22 +111051,23 @@ index 000000000000..787bcf1e6bee + struct ether_header *eh = NULL; + struct iphdr *iphdrp = NULL; + unsigned char hw_calculate_flag = 0; -+ struct wifi_mac_tx_info *txinfo = (struct wifi_mac_tx_info *)os_skb_cb(skb); ++ struct wifi_mac_tx_info *txinfo; + struct drv_txdesc *ptxdesc = NULL; + unsigned char error = 0; + -+ if (aml_wifi_is_enable_rf_test()) -+ goto bad; ++ if (aml_wifi_is_enable_rf_test()) ++ goto bad; + + if (skb != NULL) { + eh = (struct ether_header *)os_skb_data(skb); + os_skb_count_alloc(skb); -+ + } else { + error = 1; + goto bad; + } + ++ txinfo = (struct wifi_mac_tx_info *)os_skb_cb(skb); ++ + if (NET80211_IF_RUN_UP(wifimac) == 0) { + error = 2; + goto bad; @@ -109389,7 +111250,7 @@ index 000000000000..787bcf1e6bee +} + +static void -+wifi_mac_mgmt_output(struct wifi_station *sta, struct sk_buff *skb, int type) ++wifi_mac_mgmt_csa_action_broadcast_output(struct wifi_station *sta, struct sk_buff *skb, int type) +{ + struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; + struct wifi_mac *wifimac = sta->sta_wmac; @@ -109402,6 +111263,40 @@ index 000000000000..787bcf1e6bee + + wh = (struct wifi_frame *)os_skb_push(skb, sizeof(struct wifi_frame)); + wifi_mac_send_setup(wnet_vif, sta, wh, WIFINET_FC0_TYPE_MGT | type, ++ wnet_vif->vm_myaddr, BROADCAST_ADDRESS, sta->sta_bssid); ++ ++ if ((cb->flags & M_LINK0) != 0 && sta->sta_challenge != NULL) ++ { ++ cb->flags &= ~M_LINK0; ++ DPRINTF(AML_DEBUG_CONNECT, "recv addr is [%02x:%02x:%02x:%02x:%02x:%02x]\n", ++ wh->i_addr1[0], wh->i_addr1[1], wh->i_addr1[2], ++ wh->i_addr1[3], wh->i_addr1[4], wh->i_addr1[5]); ++ wh->i_fc[1] |= WIFINET_FC1_WEP; ++ } ++ ++ if (WIFINET_VMAC_IS_SLEEPING(sta->sta_wnet_vif)) ++ wh->i_fc[1] |= WIFINET_FC1_PWR_MGT; ++ ++ WIFINET_NODE_STAT(sta, tx_mgmt); ++ wifi_mac_tx_mgmt_frm(wifimac, skb); ++} ++ ++static void ++wifi_mac_mgmt_output(struct wifi_station *sta, struct sk_buff *skb, int type) ++{ ++ struct wlan_net_vif *wnet_vif; ++ struct wifi_mac *wifimac; ++ struct wifi_frame *wh; ++ struct wifi_skb_callback *cb = (struct wifi_skb_callback *)skb->cb; ++ ++ KASSERT(sta != NULL, ("null nsta")); ++ ++ wnet_vif = sta->sta_wnet_vif; ++ wifimac = sta->sta_wmac; ++ cb->sta = sta; ++ ++ wh = (struct wifi_frame *)os_skb_push(skb, sizeof(struct wifi_frame)); ++ wifi_mac_send_setup(wnet_vif, sta, wh, WIFINET_FC0_TYPE_MGT | type, + wnet_vif->vm_myaddr, sta->sta_macaddr, sta->sta_bssid); + + if ((cb->flags & M_LINK0) != 0 && sta->sta_challenge != NULL) @@ -109419,17 +111314,21 @@ index 000000000000..787bcf1e6bee +} + +static void -+wifi_mac_mgmt_probe_resp_output(struct wifi_station *sta, -+ struct sk_buff *skb, unsigned char *macaddr) ++wifi_mac_mgmt_probe_resp_output(struct wifi_station *sta, ++ struct sk_buff *skb, ++ unsigned char *macaddr) +{ -+ struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; -+ struct wifi_mac *wifimac = sta->sta_wmac; ++ struct wlan_net_vif *wnet_vif; ++ struct wifi_mac *wifimac; + struct wifi_frame *wh; + struct wifi_skb_callback *cb = (struct wifi_skb_callback *)skb->cb; + unsigned char * bssid = NULL; + unsigned char * sa = NULL; ++ + KASSERT(sta != NULL, ("null nsta")); + ++ wnet_vif = sta->sta_wnet_vif; ++ wifimac = sta->sta_wmac; + cb->sta = sta; + + wh = (struct wifi_frame *)os_skb_push(skb, sizeof(struct wifi_frame)); @@ -109473,13 +111372,17 @@ index 000000000000..787bcf1e6bee + unsigned char pkt_len = 0; + unsigned char subtype = 0; + int error = 0; -+ struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; -+ struct wifi_mac *wifimac = sta->sta_wmac; ++ struct wlan_net_vif *wnet_vif; ++ struct wifi_mac *wifimac; + struct wifi_mac_tx_info *txinfo = NULL; + struct wifi_frame *wh; + struct wifi_skb_callback *cb = NULL; + + KASSERT(sta != NULL, ("null nsta")); ++ ++ wnet_vif = sta->sta_wnet_vif; ++ wifimac = sta->sta_wmac; ++ + if (qos) { + pkt_len = sizeof(struct wifi_qos_frame) + FCS_LEN; + subtype = WIFINET_FC0_SUBTYPE_QOS_NULL; @@ -109718,7 +111621,7 @@ index 000000000000..787bcf1e6bee + return &wnet_vif->vm_nw_keys[wnet_vif->vm_def_txkey]; +} + -+unsigned short calculate_checksum(unsigned short *buffer, int len) ++static unsigned short calculate_checksum(unsigned short *buffer, int len) +{ + unsigned int cksum = 0; + unsigned short *p = buffer; @@ -109733,7 +111636,7 @@ index 000000000000..787bcf1e6bee + return (unsigned short) (~cksum); +} + -+void calculate_checksum_for_fragment_pkt(struct sk_buff *skb, struct ether_header eh, char hdrsize) { ++static void calculate_checksum_for_fragment_pkt(struct sk_buff *skb, struct ether_header eh, char hdrsize) { + unsigned short is_hw_calculate = M_FLAG_GET(skb, M_CHECKSUMHW); + unsigned char ip_pkt_offset; + unsigned short *ip_hdr; @@ -109749,7 +111652,7 @@ index 000000000000..787bcf1e6bee + struct tcphdr *th = (struct tcphdr *)((unsigned char *)iphdrp + (iphdrp->ihl << 2)); + struct udphdr *uh = (struct udphdr *)((unsigned char *)iphdrp + (iphdrp->ihl << 2)); + -+ //printk("chris ip_pkt_offset:%d, hdrsize:%d, iphdrp->ihl:%d\n", ip_pkt_offset, hdrsize, iphdrp->ihl); ++ //pr_debug("chris ip_pkt_offset:%d, hdrsize:%d, iphdrp->ihl:%d\n", ip_pkt_offset, hdrsize, iphdrp->ihl); + iphdrp->check = 0; + ip_hdr = (unsigned short *)((unsigned char *)os_skb_data(skb) + ip_pkt_offset); + iphdrp->check = calculate_checksum(ip_hdr, iphdrp->ihl * 4); @@ -110386,6 +112289,19 @@ index 000000000000..787bcf1e6bee +} + +unsigned char * ++wifi_mac_add_rsnxe(unsigned char *frm, struct wlan_net_vif *wnet_vif) ++{ ++ ++ KASSERT((wnet_vif->vm_flags & WIFINET_F_WPA) ++ && (wnet_vif->vm_flags & WIFINET_F_H2E), ("no WPA/RSNXE!")); ++ *frm++ = WIFINET_ELEMID_RSNX; ++ *frm++ = 0x1;//len ++ *frm++ = 0x20;//h2e ++ ++ return frm; ++} ++ ++unsigned char * +wifi_mac_add_wpa(unsigned char *frm, struct wlan_net_vif *wnet_vif) +{ + @@ -110649,42 +112565,42 @@ index 000000000000..787bcf1e6bee + return frm + htcaplen; +} + -+void print_ht_opt_information(unsigned char* ht_opt) ++static void print_ht_opt_information(unsigned char* ht_opt) +{ + if (ht_opt[0] != WIFINET_ELEMID_HTINFO) + { -+ printk("%s(%d), Not HT OP IE:%d.\n\n",__func__,__LINE__,ht_opt[0]); ++ pr_warn("%s(%d), Not HT OP IE:%d.\n\n",__func__,__LINE__,ht_opt[0]); + return; + } + + /*Print Primary Channel*/ -+ printk("%s(%d),primary channel:%d.\n",__func__,__LINE__,ht_opt[2]); ++ pr_debug("%s(%d),primary channel:%d.\n",__func__,__LINE__,ht_opt[2]); + + /*Second channel offset parsing*/ + switch( ht_opt[3] & 0x03 ) + { + case 1: -+ printk("%s(%d),Secondary Channel is ABOVE the primary channel.\n",__func__,__LINE__); ++ pr_debug("%s(%d),Secondary Channel is ABOVE the primary channel.\n",__func__,__LINE__); + break; + case 3: -+ printk("%s(%d),Secondary Channel is BELOW the primary channel.\n",__func__,__LINE__); ++ pr_debug("%s(%d),Secondary Channel is BELOW the primary channel.\n",__func__,__LINE__); + break; + case 0: -+ printk("%s(%d),No Secondary Channel is present.\n",__func__,__LINE__); ++ pr_debug("%s(%d),No Secondary Channel is present.\n",__func__,__LINE__); + break; + default: -+ printk("%s(%d),Reserved value.\n",__func__,__LINE__); ++ pr_warn("%s(%d),Reserved value.\n",__func__,__LINE__); + break; + } + + /*STA Channel Width parsing*/ + if ( ht_opt[3] & 0x03 ) + { -+ printk("%s(%d),HT_OP:Allow use of any channel width in the supported channle width set.\n",__func__,__LINE__); ++ pr_debug("%s(%d),HT_OP:Allow use of any channel width in the supported channel width set.\n",__func__,__LINE__); + } + else + { -+ printk("%s(%d),HT_OP:20M channel bandwidth.\n",__func__,__LINE__); ++ pr_debug("%s(%d),HT_OP:20M channel bandwidth.\n",__func__,__LINE__); + } + + return; @@ -110931,25 +112847,25 @@ index 000000000000..787bcf1e6bee + return frm + vht_cap_len; +} + -+void print_vht_opt_information(unsigned char* vht_opt) ++static void print_vht_opt_information(unsigned char* vht_opt) +{ + if (vht_opt[0] != WIFINET_ELEMID_VHTOP) + { -+ printk("%s(%d), Not VHT OP IE:%d.\n\n",__func__,__LINE__,vht_opt[0]); ++ pr_debug("%s(%d), Not VHT OP IE:%d.\n\n",__func__,__LINE__,vht_opt[0]); + return; + } + if (vht_opt[2] & 0x3 )/*Channel Width,1:80M;0:20M or 40M BSS bandwidth*/ + { -+ printk("%s(%d),Channel bandwidth: 80M.\n",__func__,__LINE__); ++ pr_debug("%s(%d),Channel bandwidth: 80M.\n",__func__,__LINE__); + } + else + { -+ printk("%s(%d),Channel bandwidth: 20M or 40M.\n",__func__,__LINE__); ++ pr_debug("%s(%d),Channel bandwidth: 20M or 40M.\n",__func__,__LINE__); + } + + /*Print vht_oper_centr_freq_seg0/1_idx*/ -+ printk("%s(%d),vht_oper_centr_freq_seg0_idx:%d.\n",__func__,__LINE__,vht_opt[3]); -+ printk("%s(%d),vht_oper_centr_freq_seg1_idx:%d.\n",__func__,__LINE__,vht_opt[4]); ++ pr_debug("%s(%d),vht_oper_centr_freq_seg0_idx:%d.\n",__func__,__LINE__,vht_opt[3]); ++ pr_debug("%s(%d),vht_oper_centr_freq_seg1_idx:%d.\n",__func__,__LINE__,vht_opt[4]); + + return; +} @@ -111204,7 +113120,8 @@ index 000000000000..787bcf1e6bee +#endif//#ifdef CONFIG_P2P + + sizeof(struct wifi_mac_ie_htcap) + sizeof(struct wifi_mac_ie_htinfo) + sizeof (struct wifi_mac_ie_obss_scan) + + sizeof (struct wifi_mac_ie_ext_cap) + WIFINET_APPIE_MAX + sizeof(struct wifi_mac_ie_vht_cap) + sizeof(struct wifi_mac_ie_vht_opt) -+ + sizeof(struct wifi_mac_ie_vht_txpwr_env) + sizeof(struct wifi_mac_ie_vht_ch_sw_wrp) + sizeof(struct wifi_mac_vendor_ie) * VENDOR_IE_MAX; ++ + sizeof(struct wifi_mac_ie_vht_txpwr_env) + sizeof(struct wifi_mac_ie_vht_ch_sw_wrp) + sizeof(struct wifi_mac_vendor_ie) * VENDOR_IE_MAX ++ + (((wnet_vif->vm_flags & WIFINET_F_WPA) && (wnet_vif->vm_flags & WIFINET_F_H2E))? WIFINET_RSNXE_SIZE:0); + + skb = wifi_mac_get_mgmt_frm(wifimac, pkt_len); + if (skb == NULL) @@ -111297,6 +113214,11 @@ index 000000000000..787bcf1e6bee + if ((wifimac->wm_flags & WIFINET_F_DOTH) || + (wifimac->wm_flags_ext & WIFINET_FEXT_COUNTRYIE)) + { ++ if (wifimac->wm_countryinfo.country_len == 0) ++ { ++ AML_OUTPUT("country ie should init\n"); ++ wifi_mac_build_country_ie(wnet_vif); ++ } + frm = wifi_mac_add_country(frm, wifimac); + } + @@ -111310,8 +113232,12 @@ index 000000000000..787bcf1e6bee + if (WIFINET_INCLUDE_11G(wnet_vif->vm_mac_mode)) + frm = wifi_mac_add_erp(frm, wifimac); + -+ if (wnet_vif->vm_flags & WIFINET_F_WPA) ++ if (wnet_vif->vm_flags & WIFINET_F_WPA) { + frm = wifi_mac_add_wpa(frm, wnet_vif); ++ if (wnet_vif->vm_flags & WIFINET_F_H2E) { ++ frm = wifi_mac_add_rsnxe(frm, wnet_vif); ++ } ++ } + + if (wnet_vif->vm_flags & WIFINET_F_WME) + { @@ -111372,7 +113298,10 @@ index 000000000000..787bcf1e6bee + if(wifi_mac_is_vht_enable(wnet_vif)) + { + frm = wifi_mac_add_vht_cap(frm, sta); -+ frm = wifi_mac_add_vht_opt(frm, sta, WIFINET_FC0_SUBTYPE_PROBE_RESP); ++ if (!wnet_vif->vm_p2p_support || (wnet_vif->vm_p2p_support && wnet_vif->vm_curchan != NULL)) ++ { ++ frm = wifi_mac_add_vht_opt(frm, sta, WIFINET_FC0_SUBTYPE_PROBE_RESP); ++ } + //frm = wifi_mac_add_vht_txpw(frm, sta); + //frm = wifi_mac_add_vht_ch_sw_wrp(frm, sta); + @@ -111480,7 +113409,7 @@ index 000000000000..787bcf1e6bee + return 0; +} + -+int aml_rsn_sync_pmkid(struct wifi_station *sta, int pmkid_index) ++static int aml_rsn_sync_pmkid(struct wifi_station *sta, int pmkid_index) +{ + struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; + struct wifi_mac_Rsnparms *rsn = &sta->sta_rsn; @@ -111563,18 +113492,19 @@ index 000000000000..787bcf1e6bee +void wifi_mac_check_opt_ie(struct wlan_net_vif *wnet_vif) +{ + unsigned char *frm = wnet_vif->vm_opt_ie; -+ unsigned int i = 0, j = 0; ++ unsigned short ie_len = 0; ++ unsigned int ie_oft = 0;//ie addr offset + -+ while(i < wnet_vif->vm_opt_ie_len) { -+ if (frm[i] == WIFINET_ELEMID_SUPP_REG_CLASS) { -+ j = i + frm[i+1] + 2; -+ if (j < wnet_vif->vm_opt_ie_len) { -+ memcpy(&frm[i], &frm[j], wnet_vif->vm_opt_ie_len - j); ++ while (ie_oft < wnet_vif->vm_opt_ie_len) { ++ ie_len = frm[ie_oft + 1] + 2; ++ if (frm[ie_oft] == WIFINET_ELEMID_SUPP_REG_CLASS) { ++ if (ie_oft + ie_len < wnet_vif->vm_opt_ie_len) { ++ memcpy(&frm[ie_oft], &frm[ie_oft + ie_len], wnet_vif->vm_opt_ie_len - ie_oft - ie_len); ++ wnet_vif->vm_opt_ie_len -= ie_len; + } -+ wnet_vif->vm_opt_ie_len -= (frm[i+1] + 2); + return; + } -+ i += frm[i+1] + 2; ++ ie_oft += ie_len; + } +} + @@ -111728,7 +113658,8 @@ index 000000000000..787bcf1e6bee + pkt_len = sizeof(capinfo) + sizeof(unsigned short) + sizeof(unsigned short) + 2 + WIFINET_RATE_SIZE + sizeof(struct wifi_mac_ie_timeout) + + 2 + (WIFINET_RATE_MAXSIZE - WIFINET_RATE_SIZE) + sizeof(struct wifi_mac_wme_param) + sizeof(struct wifi_mac_ie_htcap) + + sizeof(struct wifi_mac_ie_htinfo) + sizeof (struct wifi_mac_ie_obss_scan) + sizeof (struct wifi_mac_ie_ext_cap) + WIFINET_APPIE_MAX -+ + sizeof(struct wifi_mac_vendor_ie) * VENDOR_IE_MAX; ++ + sizeof(struct wifi_mac_vendor_ie) * VENDOR_IE_MAX ++ + ((sta->sta_use_h2e == WIFINET_H2E_VALID)? WIFINET_RSNXE_SIZE:0); + + skb = wifi_mac_get_mgmt_frm(wifimac, pkt_len); + if (skb == NULL) { @@ -111781,9 +113712,14 @@ index 000000000000..787bcf1e6bee + WIFINET_VMAC_UAPSD_ENABLED(wnet_vif)); + } + -+ printk("%s %d sta flags: 0x%x, assoc success :%d.\n",__func__,__LINE__,sta->sta_flags, *(int *)arg); ++ if (sta->sta_use_h2e == WIFINET_H2E_VALID) { ++ frm = wifi_mac_add_rsnxe(frm, wnet_vif); ++ AML_OUTPUT("add rsnxe ie\n"); ++ } ++ ++ pr_debug("%s %d sta flags: 0x%x, assoc success :%d.\n",__func__,__LINE__,sta->sta_flags, *(int *)arg); + if (sta->sta_flags & WIFINET_NODE_HT) { -+ printk("%s %d will add ht cat and op for assocresp\n",__func__,__LINE__); ++ pr_debug("%s %d will add ht cat and op for assocresp\n",__func__,__LINE__); + frm = wifi_mac_add_htcap(frm, sta); + frm = wifi_mac_add_htinfo(frm, sta); + @@ -111794,7 +113730,7 @@ index 000000000000..787bcf1e6bee + } + + if (wifi_mac_is_vht_enable(wnet_vif) && (sta->sta_flags & WIFINET_NODE_VHT)) { -+ printk("%s %d will add vht cat and op for assocresp\n",__func__,__LINE__); ++ pr_debug("%s %d will add vht cat and op for assocresp\n",__func__,__LINE__); + frm = wifi_mac_add_vht_cap( frm, sta) ; + frm = wifi_mac_add_vht_opt( frm, sta , WIFINET_FC0_SUBTYPE_ASSOC_RESP); + } @@ -111863,7 +113799,7 @@ index 000000000000..787bcf1e6bee + return 0; +} + -+void wifi_mac_get_bsscoexist_channel(unsigned char *chan_list, unsigned char *num_channels, unsigned char *num_intol) ++static void wifi_mac_get_bsscoexist_channel(unsigned char *chan_list, unsigned char *num_channels, unsigned char *num_intol) +{ + struct wifi_mac *wifi_mac = wifi_mac_get_mac_handle(); + struct wifi_mac_scan_state *ss = wifi_mac->wm_scan; @@ -111909,7 +113845,7 @@ index 000000000000..787bcf1e6bee + *num_intol = intol_count; +} + -+void wifi_mac_build_wmm_tspec_ie(struct wlan_net_vif *wnet_vif, struct wifi_mac_wmm_tspec_element *ie) ++static void wifi_mac_build_wmm_tspec_ie(struct wlan_net_vif *wnet_vif, struct wifi_mac_wmm_tspec_element *ie) +{ + struct wifi_mac_wmm_tspec_element *tspec = ie; + char uapsd = 0; @@ -111941,7 +113877,7 @@ index 000000000000..787bcf1e6bee + +} + -+int wifi_mac_up_to_ac(struct wlan_net_vif *wnet_vif) ++static int wifi_mac_up_to_ac(struct wlan_net_vif *wnet_vif) +{ + int ac = 0; + if (wnet_vif->vm_wmm_ac_params.up == 0 || wnet_vif->vm_wmm_ac_params.up == 1) { @@ -111956,13 +113892,13 @@ index 000000000000..787bcf1e6bee + return ac; +} + -+unsigned char wmm_ac_get_tid(const struct wifi_mac_wmm_tspec_element tspec) ++static unsigned char wmm_ac_get_tid(const struct wifi_mac_wmm_tspec_element tspec) +{ + return (tspec.ts_info[0] >> 1) & 0x0f; +} + + -+unsigned char wmm_ac_find_tid(struct wlan_net_vif *wnet_vif, unsigned char tid, unsigned char *dir) ++static unsigned char wmm_ac_find_tid(struct wlan_net_vif *wnet_vif, unsigned char tid, unsigned char *dir) +{ + unsigned char ac; + unsigned char idx; @@ -112064,7 +114000,7 @@ index 000000000000..787bcf1e6bee + + wifi_mac_addba_rsp_setup(sta, tid_index); + *(unsigned short *)&addbaresponse->rs_baparamset = htole16(*(unsigned short *)&baparamset); -+ //dump_memory_internel(&baparamset,sizeof(struct wifi_mac_ba_parameterset)); ++ //dump_memory_internal(&baparamset,sizeof(struct wifi_mac_ba_parameterset)); + addbaresponse->rs_batimeout = htole16(batimeout); + addbaresponse->rs_statuscode = htole16(statuscode); + @@ -112148,7 +114084,7 @@ index 000000000000..787bcf1e6bee + switch (action) { + case WIFINET_ACT_PUBLIC_BSSCOEXIST: + wifi_mac_get_bsscoexist_channel(chan_list, &num_channels, &num_intol); -+ printk("%s:%d, num_channels=%d, num_intol=%d.\n", __func__, __LINE__, num_channels, num_intol); ++ pr_debug("%s:%d, num_channels=%d, num_intol=%d.\n", __func__, __LINE__, num_channels, num_intol); + + frm = os_skb_put(skb, sizeof(struct wifi_mac_action_bss_coex_frame) + num_channels); + bsscoex = (struct wifi_mac_action_bss_coex_frame *)frm; @@ -112238,12 +114174,20 @@ index 000000000000..787bcf1e6bee + +int wifi_mac_send_mgmt(struct wifi_station *sta, int type, void *arg) +{ -+ struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; ++ struct wlan_net_vif *wnet_vif; + int ret; + unsigned char retry_count; + + KASSERT(sta != NULL, ("null nsta")); + ++ wnet_vif = sta->sta_wnet_vif; ++ ++ if (wnet_vif->vm_curchan == NULL && !wnet_vif->vm_p2p_support) { ++ ERROR_DEBUG_OUT("vm_curchan is NULL, just return\n"); ++ ret = EINVAL; ++ return ret; ++ } ++ + switch (type) { + case WIFINET_FC0_SUBTYPE_PROBE_RESP: + ret = wifi_mac_send_probe_rsp(wnet_vif,sta,arg); @@ -112329,7 +114273,7 @@ index 000000000000..787bcf1e6bee + memset(&ipv4, 0, sizeof(ipv4)); + ipv4 = ifa_v4->ifa_local; + -+ printk("wifi_mac_send_arp_req, ipv4:%08x\n", ipv4); ++ pr_debug("wifi_mac_send_arp_req, ipv4:%08x\n", ipv4); + for (i = 1; i < 15; ++i) { + skb = os_skb_alloc(pkt_len + 64 + HI_TXDESC_DATAOFFSET); + if (skb == NULL) { @@ -112361,7 +114305,7 @@ index 000000000000..787bcf1e6bee + return 1; +} + -+int wifi_mac_send_udp_pkt(struct wlan_net_vif *wnet_vif) { ++static int wifi_mac_send_udp_pkt(struct wlan_net_vif *wnet_vif) { + struct sk_buff *skb = NULL; + struct ether_header *eh = NULL; + wifi_ip_header *ip_hdr = NULL; @@ -112455,7 +114399,7 @@ index 000000000000..787bcf1e6bee + memset(&ipv4, 0, sizeof(ipv4)); + ipv4 = ifa_v4->ifa_local; + -+ printk("wifi_mac_set_arp_rsp rx, ipv4:%08x\n", ipv4); ++ pr_debug("wifi_mac_set_arp_rsp rx, ipv4:%08x\n", ipv4); + for (i = 1; i < 3; ++i) { + skb = os_skb_alloc(pkt_len); + if (skb == NULL) { @@ -112547,12 +114491,137 @@ index 000000000000..787bcf1e6bee + wifi_mac_free_skb(skbbuf); + } +} ++ ++unsigned char * ++wifi_mac_add_wide_bandwidth_subie(unsigned char *frm,struct wifi_station *sta) ++{ ++ struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; ++ struct wifi_channel *switch_chan = &(wnet_vif->csa_target.switch_chan); ++ ++ if (WIFINET_IS_CHAN_ERR(switch_chan)) { ++ ERROR_DEBUG_OUT("NULL chan\n"); ++ return frm; ++ } ++ ++ *frm++ = WIFINET_ELEMID_WIDE_BAND_CHAN_SWITCH; ++ *frm++ = 3; ++ if (switch_chan->chan_bw == WIFINET_BWC_WIDTH80) { ++ *frm++ = 1; ++ } else { ++ /* for 40m bw*/ ++ *frm++ = 0; ++ } ++ *frm++ = wifi_mac_mhz2chan(switch_chan->chan_cfreq1); ++ *frm++ = 0; ++ return frm; ++} ++ ++unsigned char * ++wifi_mac_add_chansw_wrapper(unsigned char *frm,struct wifi_station *sta) ++{ ++ ++ *frm++ = WIFINET_ELEMID_CHAN_SWITCH_WRAP; ++ *frm++ = WIFINET_WIDEBANDCHANSW_BYTES; ++ return wifi_mac_add_wide_bandwidth_subie(frm,sta); ++} ++ ++unsigned char * ++wifi_mac_add_extended_chanswitch(unsigned char *frm,struct wifi_station *sta) ++{ ++ struct wifi_mac *wifimac = sta->sta_wmac; ++ struct wlan_net_vif *wnet_vif = sta->sta_wnet_vif; ++ struct wifi_channel *switch_chan = &(wnet_vif->csa_target.switch_chan); ++ ++ *frm++ = WIFINET_ELEMID_EXTCHANSWITCHANN; ++ *frm++ = 4; ++ *frm++ = 1; ++ *frm++ = switch_chan->global_operating_class; ++ *frm++ = wifimac->wm_doth_channel; ++ *frm++ = wifimac->wm_doth_tbtt; ++ return frm; ++} ++ ++unsigned char * ++wifi_mac_add_chanswitch(unsigned char *frm,struct wifi_station *sta) ++{ ++ struct wifi_mac *wifimac = sta->sta_wmac; ++ ++ *frm++ = WIFINET_ELEMID_CHANSWITCHANN; ++ *frm++ = 3; ++ *frm++ = 1; ++ *frm++ = wifimac->wm_doth_channel; ++ *frm++ = wifimac->wm_doth_tbtt; ++ return frm; ++} ++ ++void wifi_mac_csa_send_action_task(SYS_TYPE param1,SYS_TYPE param2, SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5) ++{ ++ struct wifi_mac *wifimac = (struct wifi_mac *)param1; ++ struct wlan_net_vif *wnet_vif = (struct wlan_net_vif *)param2; ++ struct cfg80211_chan_def *chan_def_ptr = (struct cfg80211_chan_def *)param3; ++ struct cfg80211_chan_def chan_def = {0}; ++ ++ ++ memcpy(&chan_def, chan_def_ptr, sizeof(struct cfg80211_chan_def)); ++ wifi_mac_csa_send_action(wifimac, wnet_vif, wnet_vif->vm_mainsta, chan_def); ++ AML_OUTPUT("target_chan:%d, cur_chan:%d, wnet_vif->csa_count:%d\n", chan_def.chan->hw_value, wifimac->wm_curchan->chan_pri_num, wnet_vif->csa_count); ++ ++ return; ++} ++ ++int wifi_mac_csa_send_action(struct wifi_mac *wifimac, struct wlan_net_vif *wnet_vif, struct wifi_station *sta, struct cfg80211_chan_def chan_def) ++{ ++ struct sk_buff *skb; ++ int ret = 0; ++ struct wifi_mac_csa_data* csa_data_p = NULL; ++ ++ skb = wifi_mac_get_mgmt_frm(wifimac, MAX_ACTION_LEN); ++ if (skb == NULL) { ++ wnet_vif->vif_sts.sts_tx_no_buf++; ++ return -ENOMEM; ++ } ++ ++ csa_data_p = (struct wifi_mac_csa_data*)os_skb_put(skb, sizeof(struct wifi_mac_csa_data)); ++ csa_data_p->extend_csa.ac_header.ia_category = AML_CATEGORY_PUBLIC; ++ csa_data_p->extend_csa.ac_header.ia_action = WIFINET_ACT_PUBLIC_CSA; //ACT_PUBLIC_EXT_CHL_SWITCH ++ csa_data_p->extend_csa.csa.chan_switch_mode = CSA_BLOCK_TX; ++ csa_data_p->extend_csa.csa.new_operation_class = wifi_mac_get_operation_class(chan_def); ++ csa_data_p->extend_csa.csa.new_chan_num = ieee80211_frequency_to_channel(chan_def.chan->center_freq); ++ csa_data_p->extend_csa.csa.chan_switch_count = wnet_vif->csa_count--; ++ csa_data_p->csa_wrapper.ie = WLAN_EID_WIDE_BW_CHANNEL_SWITCH; ++ csa_data_p->csa_wrapper.len = 3; ++ /* New channel width */ ++ switch (chan_def.width) { ++ case NL80211_CHAN_WIDTH_80: ++ csa_data_p->csa_wrapper.info[0] = IEEE80211_VHT_CHANWIDTH_80MHZ; ++ break; ++ case NL80211_CHAN_WIDTH_160: ++ csa_data_p->csa_wrapper.info[0] = IEEE80211_VHT_CHANWIDTH_160MHZ; ++ break; ++ case NL80211_CHAN_WIDTH_80P80: ++ csa_data_p->csa_wrapper.info[0] = IEEE80211_VHT_CHANWIDTH_80P80MHZ; ++ break; ++ default: ++ csa_data_p->csa_wrapper.info[0] = IEEE80211_VHT_CHANWIDTH_USE_HT; ++ } ++ /* new center frequency segment 0 */ ++ csa_data_p->csa_wrapper.info[1] = ieee80211_frequency_to_channel(chan_def.center_freq1); ++ /* new center frequency segment 1 */ ++ if (chan_def.center_freq2) ++ csa_data_p->csa_wrapper.info[2] = ieee80211_frequency_to_channel(chan_def.center_freq2); ++ else ++ csa_data_p->csa_wrapper.info[2] = 0; ++ ++ wifi_mac_mgmt_csa_action_broadcast_output(sta, skb, WIFINET_FC0_SUBTYPE_ACTION); ++ ++ return ret; ++} diff --git a/drivers/net/wireless/w1/vmac/wifi_mac_xmit.h b/drivers/net/wireless/w1/vmac/wifi_mac_xmit.h new file mode 100644 -index 000000000000..aff1a9ae9a5b +index 0000000000000000000000000000000000000000..36e4ade75d5cc94060d30633832cd8eb25a91051 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_mac_xmit.h -@@ -0,0 +1,80 @@ +@@ -0,0 +1,100 @@ +#ifndef __VM_WIFI_OUTPUT_H__ +#define __VM_WIFI_OUTPUT_H__ + @@ -112579,6 +114648,21 @@ index 000000000000..aff1a9ae9a5b +#define EN_AP_MODE_IN_QUIET_IE (1) +#define DIS_AP_MODE_IN_QUIET_IE (0) + ++#define CSA_COUNT 1 ++#define CSA_BLOCK_TX 1 ++ ++struct wifi_mac_csa_wrapper{ ++ unsigned char ie; ++ unsigned char len; ++ unsigned char info[3]; ++} __packed; ++ ++struct wifi_mac_csa_data { ++ //struct ieee80211_header mac_header; ++ struct wifi_mac_action_csa_frame extend_csa; ++ struct wifi_mac_csa_wrapper csa_wrapper; ++} __packed; ++ +void wifi_mac_complete_wbuf(struct sk_buff * skbbuf, int errcode); +void wifi_mac_send_setup(struct wlan_net_vif *wnet_vif, struct wifi_station *sta, struct wifi_frame *wh, + int type, const unsigned char sa[WIFINET_ADDR_LEN], const unsigned char da[WIFINET_ADDR_LEN], const unsigned char bssid[WIFINET_ADDR_LEN]); @@ -112598,6 +114682,7 @@ index 000000000000..aff1a9ae9a5b +unsigned char *wifi_mac_add_rates(unsigned char *, const struct wifi_mac_rateset *); +unsigned char *wifi_mac_add_xrates(unsigned char *, const struct wifi_mac_rateset *); +unsigned char *wifi_mac_add_wpa(unsigned char *, struct wlan_net_vif *); ++unsigned char *wifi_mac_add_rsnxe(unsigned char *, struct wlan_net_vif *); +unsigned char *wifi_mac_add_erp(unsigned char *, struct wifi_mac *); +unsigned char *wifi_mac_add_wme_param(unsigned char *, struct wifi_mac_wme_state *, int uapsd_enable); +unsigned char *wifi_mac_add_country(unsigned char *, struct wifi_mac *); @@ -112631,11 +114716,15 @@ index 000000000000..aff1a9ae9a5b +int wifi_mac_send_mgmt(struct wifi_station *, int, void *); +int wifi_mac_udp_send_timeout_ex(void *arg); +void wifi_mac_check_opt_ie(struct wlan_net_vif *wnet_vif); -+ ++unsigned char *wifi_mac_add_chansw_wrapper(unsigned char *frm,struct wifi_station *sta); ++unsigned char *wifi_mac_add_extended_chanswitch(unsigned char *frm,struct wifi_station *sta); ++unsigned char *wifi_mac_add_chanswitch(unsigned char *frm,struct wifi_station *sta); ++int wifi_mac_csa_send_action(struct wifi_mac *wifimac, struct wlan_net_vif *wnet_vif, struct wifi_station *sta, struct cfg80211_chan_def chan_def); ++void wifi_mac_csa_send_action_task(SYS_TYPE param1,SYS_TYPE param2, SYS_TYPE param3,SYS_TYPE param4,SYS_TYPE param5); +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_phy.c b/drivers/net/wireless/w1/vmac/wifi_phy.c new file mode 100644 -index 000000000000..9a252d436b49 +index 0000000000000000000000000000000000000000..ad50b5e90c393a3fd65262ae5a1989079eec4216 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_phy.c @@ -0,0 +1,346 @@ @@ -112774,11 +114863,11 @@ index 000000000000..9a252d436b49 + avg_num[2] = reg[6]&0xffff; + avg_num[3] = (reg[6]>>16)&0xffff; + -+ printk("phy statistic(dec): \n"); -+ printk("0) CP1 detect:%8d avg:%8d min:%8d max:%8d \n", trig_num[0],avg_num[0],min_num[0],max_num[0]); -+ printk("1) L-SIG SNR :%8d avg:%8d min:%8d max:%8d \n", trig_num[1],avg_num[1],min_num[1],max_num[1]); -+ printk("2) data CRC err:%8d avg:%8d min:%8d max:%8d \n", trig_num[2],avg_num[2],min_num[2],max_num[2]); -+ printk("3) data CRC OK:%8d avg:%8d min:%8d max:%8d \n", trig_num[3],avg_num[3],min_num[3],max_num[3]); ++ pr_debug("phy statistic(dec): \n"); ++ pr_debug("0) CP1 detect:%8d avg:%8d min:%8d max:%8d \n", trig_num[0],avg_num[0],min_num[0],max_num[0]); ++ pr_debug("1) L-SIG SNR :%8d avg:%8d min:%8d max:%8d \n", trig_num[1],avg_num[1],min_num[1],max_num[1]); ++ pr_debug("2) data CRC err:%8d avg:%8d min:%8d max:%8d \n", trig_num[2],avg_num[2],min_num[2],max_num[2]); ++ pr_debug("3) data CRC OK:%8d avg:%8d min:%8d max:%8d \n", trig_num[3],avg_num[3],min_num[3],max_num[3]); + +} + @@ -112808,7 +114897,7 @@ index 000000000000..9a252d436b49 + { + v2 = hif->hif_ops.hi_read_word(RG_AGC_OB_CCA_COND01); + v4 = hif->hif_ops.hi_read_word(RG_AGC_OB_CCA_COND23); -+ printk("cca: ts 0x%x, ts_num %d, cond0 %d cond1 %d cond2 %d cond3 %d \n", ++ pr_debug("cca: ts 0x%x, ts_num %d, cond0 %d cond1 %d cond2 %d cond3 %d \n", + data3->cca_cond_ts, data3->cca_cond_ts_num, + v2 & 0xffff, (v2 >> 16) & 0xffff, v4 & 0xffff, (v4 >> 16 ) & 0xffff); + } @@ -112923,15 +115012,15 @@ index 000000000000..9a252d436b49 + + if (data != wifi_fpga_regtable[i].regdata) + { -+ printk("%s(%d): --Error------write reg=0x%x failed dataori=0x%x, dataread=0x%x\n", ++ pr_err("%s(%d): --Error------write reg=0x%x failed dataori=0x%x, dataread=0x%x\n", + __func__, __LINE__, + wifi_fpga_regtable[i].regaddr, wifi_fpga_regtable[i].regdata, data); + }else{ -+ printk("wifi reg 0x%04x data 0x%08x, ori_data=0x%08x\n", ++ pr_debug("wifi reg 0x%04x data 0x%08x, ori_data=0x%08x\n", + wifi_fpga_regtable[i].regaddr, wifi_fpga_regtable[i].regdata, ori_data); + } + } -+ printk("%s(%d)-- \n",__func__,__LINE__); ++ pr_debug("%s(%d)-- \n",__func__,__LINE__); +#endif //PHY_TEST_FUNC + +#ifdef HAL_FPGA_VER @@ -112960,7 +115049,7 @@ index 000000000000..9a252d436b49 + bt_prd = 7500 * 10;//us + bt_act = 1500 * 10;//us + bt_offset = 3500;//us -+ printk("%s(%d)\n",__func__,__LINE__); ++ pr_debug("%s(%d)\n",__func__,__LINE__); + + /*bt wifi switch no channel conf*/ + hif->hif_ops.hi_write_word(RG_COEX_RF_STABLE_CTRL, 0x03002000 | (testbus_num << 26)); @@ -112975,7 +115064,7 @@ index 000000000000..9a252d436b49 + hif->hif_ops.hi_write_word(RG_COEX_BT_OWNER_CTRL, 0x1001003f); + set_reg_fragment(RG_COEX_HS5W_MANUAL4,0,0,1); + -+ printk("%s(%d) BT priority=%d (%dus %dus %dus)--\n", ++ pr_debug("%s(%d) BT priority=%d (%dus %dus %dus)--\n", + __func__,__LINE__,hif->hif_ops.hi_read_word(RG_COEX_PRIORITY_M6), + bt_prd,bt_act,bt_offset); +} @@ -112987,7 +115076,7 @@ index 000000000000..9a252d436b49 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_phy.h b/drivers/net/wireless/w1/vmac/wifi_phy.h new file mode 100644 -index 000000000000..939a1c5826fa +index 0000000000000000000000000000000000000000..939a1c5826faaf114450b722323017ff67adb44f --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_phy.h @@ -0,0 +1,15 @@ @@ -113008,7 +115097,7 @@ index 000000000000..939a1c5826fa +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_pkt_desc.c b/drivers/net/wireless/w1/vmac/wifi_pkt_desc.c new file mode 100644 -index 000000000000..6cdf99577005 +index 0000000000000000000000000000000000000000..1f60f9e7423ee8e646259b13f8512c374c95dc75 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_pkt_desc.c @@ -0,0 +1,92 @@ @@ -113041,7 +115130,7 @@ index 000000000000..6cdf99577005 + } + + if (free_page_hold_count >= 50) { -+ //printk("free_page_hold_count lager than 50, maybe we can reboot here\n"); ++ //pr_debug("free_page_hold_count lager than 50, maybe we can reboot here\n"); + } + return NULL; + } @@ -113061,7 +115150,7 @@ index 000000000000..6cdf99577005 + + wifimac = wifi_mac_get_mac_handle(); + -+ //printk("%s ptxdesc:%p, txinfo:%p\n", __func__, txinfo->ptxdesc, txinfo); ++ //pr_debug("%s ptxdesc:%p, txinfo:%p\n", __func__, txinfo->ptxdesc, txinfo); + INIT_LIST_HEAD(&tx_queue); + + if (txinfo->ptxdesc != NULL) { @@ -113106,10 +115195,10 @@ index 000000000000..6cdf99577005 +} diff --git a/drivers/net/wireless/w1/vmac/wifi_pkt_desc.h b/drivers/net/wireless/w1/vmac/wifi_pkt_desc.h new file mode 100644 -index 000000000000..1a647af6fa30 +index 0000000000000000000000000000000000000000..9adf11fd2d9e441835f30c2e36d7b69524c225ae --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_pkt_desc.h -@@ -0,0 +1,148 @@ +@@ -0,0 +1,151 @@ +#ifndef _WIFI_PKT_DESC_H_ +#define _WIFI_PKT_DESC_H_ + @@ -113131,7 +115220,7 @@ index 000000000000..1a647af6fa30 +enum tx_frame_flag +{ + TX_OTHER_FRAME = 0, -+ TX_P2P_GO_NEGO_REQ_GO_NEGO_CONF = 1, ++ TX_P2P_GO_NEGO_CONF = 1, + TX_P2P_OTHER_GO_NEGO_FRAME = 2, + TX_P2P_PRESENCE_REQ = 3, +#ifdef CTS_VERIFIER_GAS @@ -113145,6 +115234,8 @@ index 000000000000..1a647af6fa30 + TX_MGMT_DHCP = 10, + TX_MGMT_DEAUTH = 11, + TX_MGMT_DISASSOC = 12, ++ TX_MGMT_CSA_ACTION = 14, ++ TX_MGMT_DPP_STATUS = 15, +}; + +struct wifi_mac_pkt_info @@ -113175,7 +115266,7 @@ index 000000000000..1a647af6fa30 +struct drv_txdesc +{ + struct list_head txdesc_queue; // drv_priv->txdesc_bufptr->txdesc_queue : to queue all descriptors -+ //-> drv_tx_descr_1->..->drv_tx_descr_n. ++ //-> drv_tx_descr_1->..->drv_tx_descr_n. + struct drv_txdesc *txdesc_queue_last; + struct drv_txdesc *txdesc_queue_lastframe; + struct drv_txdesc *txdesc_queue_next; /* next subframe in the aggregate */ @@ -113244,7 +115335,8 @@ index 000000000000..1a647af6fa30 + b_hwtkipmic:1,/* need hw tkip mic add*/ + b_amsdu:1, + b_tcp_saved_flag:1, -+ b_pmf:1; ++ b_pmf:1, ++ b_dpp:1; +} ; + +#define TX_DESC_BUF_LOCK_INIT(_sc) spin_lock_init(&(_sc)->tx_desc_buf_lock) @@ -113260,76 +115352,76 @@ index 000000000000..1a647af6fa30 +#endif//_WIFI_PKT_DESC_H_ diff --git a/drivers/net/wireless/w1/vmac/wifi_pt_conf.h b/drivers/net/wireless/w1/vmac/wifi_pt_conf.h new file mode 100644 -index 000000000000..5b55e26f0c0f +index 0000000000000000000000000000000000000000..62c34128983e355381fcf290b707dc8429723c4c --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_pt_conf.h @@ -0,0 +1,59 @@ -+/***************************************************************************************** -+ * -+ * Copyright (C) Amlogic 2010-2014 -+ * -+ * Project: 11N 80211 driver layer Software -+ * -+ * Description: -+ * Storage to save configuration when init test for hal layer throughput -+ * Author : Boatman Yang(xuexing.yang@amlogic.com) -+ * -+ * Date: 20160901 -+ **************************************************************************************** -+ */ -+ -+#ifndef _DRV_HAL_THR_CONF_H -+#define _DRV_HAL_THR_CONF_H -+ -+#define STA1_VMAC0_KEY_LEN 32 -+ -+#define STA1_VMAC0_IBSS 0 -+ -+#define DP_SEC_KEY_AUTH 1 -+#define DP_SEC_KEY_SUPP 0 -+ -+#define TYPE_COMMON 1 //send common packet, mpdu->ack->mpdu->ack...,every mpdu need catch the channel -+#define TYPE_AMPDU 2 // send ampdu packet -+#define TYPE_AMSDU 3 // send amsdu packet -+#define TYPE_AMSDU_AMPDU 4 // send ampdu packet with amsdu packet included -+#define TYPE_COMMON_NOACK 5 //mpdu->mpdu->mpdu... -+#define TYPE_BURST_ACK 6 //send common packet until one txop used up -+#define TYPE_BURST_BA 7 -+#define TYPE_STOP_TX 8 -+ -+#define TYPE_MANAGE 0 -+/*The following 1 item modified by xman for hal thr test*/ -+#define STA1_VMAC0_SEND_TYPE TYPE_BURST_BA //TYPE_AMPDU, Boatman modify for hal lay throughput test. -+ -+#define STA1_VMAC0_SEND_RATE 0x85//0x85 for mcs5, 0x84 for mcs4,original 0x87 -+#define STA1_VMAC0_SEND_40M 0 //0: 20M,1:40,2:80M channel bandwidth -+ -+#define STA1_VMAC0_AGG_NUM 2 -+ -+#define WIFI_IS_GREENFIELD BIT(5) -+ -+#define STA2_VMAC1_SEND_TID_CTRL 1//use STA2_VMAC1_SEND_TID value ,if 0 ,send frame form all tid 0~7 -+#define STA2_VMAC1_SEND_TID 3 //send frame for which tid, 5 for video and 6 for voice -+#define STA2_VMAC1_SEND_FRAME_NUM 1500//send frame num for test,original 100, xman modified. -+#define STA2_VMAC1_RX_FRAME_DUMP 1//dump rx frame data -+#define STA1_VMAC0_SEND_LEN 1200//need 10~1500 -+ -+//reserve param 1 -+ -+#define STA2_VMAC1_TKIPMIC_HW 0//if tkip txmic key rx frame data -+#define STA2_TCPIP_CHECKSUM 0 -+ -+ -+ -+ ++/***************************************************************************************** ++ * ++ * Copyright (C) Amlogic 2010-2014 ++ * ++ * Project: 11N 80211 driver layer Software ++ * ++ * Description: ++ * Storage to save configuration when init test for hal layer throughput ++ * Author : Boatman Yang(xuexing.yang@amlogic.com) ++ * ++ * Date: 20160901 ++ **************************************************************************************** ++ */ ++ ++#ifndef _DRV_HAL_THR_CONF_H ++#define _DRV_HAL_THR_CONF_H ++ ++#define STA1_VMAC0_KEY_LEN 32 ++ ++#define STA1_VMAC0_IBSS 0 ++ ++#define DP_SEC_KEY_AUTH 1 ++#define DP_SEC_KEY_SUPP 0 ++ ++#define TYPE_COMMON 1 //send common packet, mpdu->ack->mpdu->ack...,every mpdu need catch the channel ++#define TYPE_AMPDU 2 // send ampdu packet ++#define TYPE_AMSDU 3 // send amsdu packet ++#define TYPE_AMSDU_AMPDU 4 // send ampdu packet with amsdu packet included ++#define TYPE_COMMON_NOACK 5 //mpdu->mpdu->mpdu... ++#define TYPE_BURST_ACK 6 //send common packet until one txop used up ++#define TYPE_BURST_BA 7 ++#define TYPE_STOP_TX 8 ++ ++#define TYPE_MANAGE 0 ++/*The following 1 item modified by xman for hal thr test*/ ++#define STA1_VMAC0_SEND_TYPE TYPE_BURST_BA //TYPE_AMPDU, Boatman modify for hal lay throughput test. ++ ++#define STA1_VMAC0_SEND_RATE 0x85//0x85 for mcs5, 0x84 for mcs4,original 0x87 ++#define STA1_VMAC0_SEND_40M 0 //0: 20M,1:40,2:80M channel bandwidth ++ ++#define STA1_VMAC0_AGG_NUM 2 ++ ++#define WIFI_IS_GREENFIELD BIT(5) ++ ++#define STA2_VMAC1_SEND_TID_CTRL 1//use STA2_VMAC1_SEND_TID value ,if 0 ,send frame form all tid 0~7 ++#define STA2_VMAC1_SEND_TID 3 //send frame for which tid, 5 for video and 6 for voice ++#define STA2_VMAC1_SEND_FRAME_NUM 1500//send frame num for test,original 100, xman modified. ++#define STA2_VMAC1_RX_FRAME_DUMP 1//dump rx frame data ++#define STA1_VMAC0_SEND_LEN 1200//need 10~1500 ++ ++//reserve param 1 ++ ++#define STA2_VMAC1_TKIPMIC_HW 0//if tkip txmic key rx frame data ++#define STA2_TCPIP_CHECKSUM 0 ++ ++ ++ ++ +#endif \ No newline at end of file diff --git a/drivers/net/wireless/w1/vmac/wifi_pt_if.c b/drivers/net/wireless/w1/vmac/wifi_pt_if.c new file mode 100644 -index 000000000000..f0881ef6d47e +index 0000000000000000000000000000000000000000..fd61d0526aee176675c7f5acc85f46019fa824bf --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_pt_if.c -@@ -0,0 +1,361 @@ +@@ -0,0 +1,367 @@ +/***************************************************************************************** + * + * Copyright (C) Amlogic 2010-2014 @@ -113352,98 +115444,99 @@ index 000000000000..f0881ef6d47e +static void *our_txpriv_pool_buffer[HI_TXPRIVD_NUM_ALL_TID + 1]; +unsigned char our_txpriv_descriptors_buffer[DRIVER_TXPRIV_DESC_LEN]; + -+int send_frame_num =0; ++int send_frame_num = 0; +int recv_frame_num = 0; + -+void Do_make_amsdu_header(struct _WIFI_htframe *htframe,unsigned char *buffer, int len) ++static void Do_make_amsdu_header(struct _WIFI_htframe *htframe,unsigned char *buffer, int len) +{ + unsigned char tmp[1000]; + unsigned short msdulen = len; + -+ ///buffer is body, len is bodylen ++ /* buffer is body, len is bodylen */ + + htframe->QosCtrl[0] |= BIT(7); + memcpy(tmp,buffer,len); + memcpy(buffer,htframe->Address1,6); + memcpy(buffer+6,htframe->Address2,6); + WRITE_16B(buffer+12,msdulen); -+ //memcpy(buffer+12,&msdulen,2); ++ /* memcpy(buffer+12,&msdulen,2); */ + memcpy(buffer+14,tmp,len); +} + -+ -+void Driver_intr_tx_handle(void *drv_priv, -+ struct txdonestatus *tx_done_status, SYS_TYPE callback, unsigned char queue_id) ++void Driver_intr_tx_handle(void *drv_priv, struct txdonestatus *tx_done_status, ++ SYS_TYPE callback, unsigned char queue_id) +{ + unsigned char *buffer; + -+ buffer = (unsigned char*)(unsigned int*)OS_DMAA2DDRddress((void *)(unsigned long)callback); -+ //Here,do not need destroy it now, ++ buffer = (unsigned char*)(unsigned int *)OS_DMAA2DDRddress((void *)(unsigned long)callback); ++ /* Here,do not need destroy it now. */ + if (buffer != NULL) + //TxBuffer_Destroy(buffer); + + send_frame_num++; + -+ if((send_frame_num>STA2_VMAC1_SEND_FRAME_NUM) && (STA2_VMAC1_SEND_FRAME_NUM != 99999)){ -+ //printk("send complete> %d status %d \n",status, STA2_VMAC1_SEND_FRAME_NUM); -+ //Test_Done(1); ++ if ((send_frame_num > STA2_VMAC1_SEND_FRAME_NUM) && (STA2_VMAC1_SEND_FRAME_NUM != 99999)) { ++ /* pr_debug("send complete> %d status %d \n",status, STA2_VMAC1_SEND_FRAME_NUM); */ ++ /* Test_Done(1); */ + } -+ // -+ ///if one frame send fail ,end test -+ // ++ /* ++ * if one frame send fail ,end test ++ */ + if (tx_done_status->txstatus != TX_DESCRIPTOR_STATUS_SUCCESS) { -+ //printk("send complete status %d \n",status); -+ //Test_Done(0); ++ /* pr_debug("send complete status %d \n",status); */ ++ /* Test_Done(0); */ + } +} + -+void Driver_mic_error_event(void *drv_priv, -+ const void *wh,unsigned char *sa,unsigned char vmac_id) ++void Driver_mic_error_event(void *drv_priv, const void *wh, unsigned char *sa, ++ unsigned char vmac_id) +{ + DBG_HAL_THR_ENTER(); + DBG_HAL_THR_EXIT(); +} + -+void Driver_intr_rx_handle(void *drv_prv,struct sk_buff *skb, unsigned char Rssi, unsigned char RxRate, -+ unsigned char bw, unsigned char channel, unsigned char aggr, unsigned char wnet_vif_id,unsigned char keyid) ++void Driver_intr_rx_handle(void *drv_prv, struct sk_buff *skb, unsigned char Rssi, ++ unsigned char RxRate, unsigned char bw, unsigned char channel, ++ unsigned char aggr, unsigned char wnet_vif_id, unsigned char keyid) +{ + recv_frame_num++; + -+ Net_Receive( (unsigned char*)os_skb_data(skb), os_skb_get_pktlen(skb), Rssi); ++ Net_Receive((unsigned char*)os_skb_data(skb), os_skb_get_pktlen(skb), Rssi); + os_skb_free(skb); + return; +} + -+void Driver_intr_dtim_send(void *dev,unsigned char vid) ++void Driver_intr_dtim_send(void *dev, unsigned char vid) +{ + DBG_HAL_THR_ENTER(); + DBG_HAL_THR_EXIT(); +} + -+void Driver_intr_bcn_send(void *dev,unsigned char vid) ++void Driver_intr_bcn_send(void *dev, unsigned char vid) +{ + DBG_HAL_THR_ENTER(); + DBG_HAL_THR_EXIT(); +} -+void Driver_intr_ba_recv(void *dev,unsigned char vid) ++ ++void Driver_intr_ba_recv(void *dev, unsigned char vid) +{ + DBG_HAL_THR_ENTER(); + DBG_HAL_THR_EXIT(); +} + -+void drv_intr_bt_info_change(void * dpriv, unsigned char wnet_vif_id,unsigned char bt_lk_change) ++void drv_intr_bt_info_change(void* dpriv, unsigned char wnet_vif_id, unsigned char bt_lk_change) +{ + DBG_HAL_THR_ENTER(); + DBG_HAL_THR_EXIT(); +} + +int Do_HI_AGG_TxPriv_TYPE_AMSDU(struct _HI_TxPrivDescripter_chain* HI_TxPriv[], -+ unsigned char* skbptr[],int length[],int packetNum) ++ unsigned char* skbptr[], int length[], int packetNum) +{ + int i; -+ int headerlength,total = 0; ++ int headerlength, total; + struct _WIFI_htframe * htframe; -+ int msdulen =0; ++ int msdulen = 0; + unsigned char **buffer; + + htframe = (struct _WIFI_htframe *)os_skb_data((struct sk_buff *)skbptr[0]);//? not right. please change it @@ -113455,40 +115548,44 @@ index 000000000000..f0881ef6d47e +#if STA2_VMAC1_TKIPMIC_HW + if(i != packetNum-1) + { -+ length[i] -= 8;//tkip mic ++ length[i] -= 8;/* tkip mic */ + } -+#endif //STA2_VMAC1_TKIPMIC_HW -+ //printk("length[%d]= %d \n ",i,length[i]); ++#endif /* STA2_VMAC1_TKIPMIC_HW */ ++ /* pr_debug("length[%d]= %d \n ",i,length[i]); */ + + buffer = &os_skb_data((struct sk_buff *)skbptr[i]); + -+ Do_make_amsdu_header(htframe, *(unsigned char **)((unsigned long)buffer + i) + headerlength, length[i] - headerlength); -+ msdulen = ALIGN(length[i] - headerlength +14,4); ++ Do_make_amsdu_header(htframe, *(unsigned char **)((unsigned long)buffer + i) + headerlength, ++ length[i] - headerlength); ++ msdulen = ALIGN(length[i] - headerlength + 14, 4); + total += msdulen; -+ memcpy(os_skb_data((struct sk_buff *)skbptr[0]) + total, *(unsigned char **)((unsigned long)buffer + i) + headerlength, msdulen); ++ memcpy(os_skb_data((struct sk_buff *)skbptr[0]) + total, ++ *(unsigned char **)((unsigned long)buffer + i) + headerlength, ++ msdulen); + } ++ + length[0] = total; -+ Do_HI_AGG_TxPriv_TYPE_AMPDU(HI_TxPriv,skbptr,length,1); ++ Do_HI_AGG_TxPriv_TYPE_AMPDU(HI_TxPriv, skbptr, length, 1); ++ + return 1; +} + -+ -+void Do_HI_AGG_TxPriv_TYPE_AMPDU( -+ struct _HI_TxPrivDescripter_chain* HI_TxPriv[], -+ unsigned char* skbptr[],int length[],int packetNum) ++void Do_HI_AGG_TxPriv_TYPE_AMPDU(struct _HI_TxPrivDescripter_chain* HI_TxPriv[], ++ unsigned char* skbptr[], int length[], int packetNum) +{ -+ int i=0; -+ unsigned char FLAG=0; -+ unsigned short headerlength; -+ struct _WIFI_htframe * htframe; -+ unsigned int frame_control ; -+ unsigned int datalen =0; -+ unsigned char *buffer; ++ int i; + + for (i = 0; i < packetNum; i ++) + { ++ unsigned int datalen; ++ unsigned short headerlength; ++ unsigned char FLAG; ++ struct _WIFI_htframe *htframe; ++ unsigned char *buffer; ++ unsigned int frame_control; ++ + buffer = os_skb_data((struct sk_buff *)skbptr[i]); -+ frame_control = *(unsigned int*)buffer; ++ frame_control = *(unsigned int *)buffer; + headerlength = MacFrame_GetHeaderSize(frame_control); + htframe = (struct _WIFI_htframe *)buffer; + datalen = length[i]; @@ -113506,53 +115603,48 @@ index 000000000000..f0881ef6d47e + } + HI_TxPriv[i]->HI_TxPriv.DMAADDR = (SYS_TYPE)skbptr[i]; + HI_TxPriv[i]->HI_TxPriv.DDRADDR = (unsigned long)buffer; -+ //printk("HI_TxPriv.DDRADDR %p length=0x%x\n",buffer[i], length[i]); ++ /* pr_debug("HI_TxPriv.DDRADDR %p length=0x%x\n",buffer[i], length[i]); */ + HI_TxPriv[i]->HI_TxPriv.DMALEN = length[i]; -+ HI_TxPriv[i]->HI_TxPriv.MPDULEN = length[i]; ++ HI_TxPriv[i]->HI_TxPriv.MPDULEN = length[i]; + HI_TxPriv[i]->HI_TxPriv.Delimiter = 0; -+ ASSERT(HI_TxPriv[i]->HI_TxPriv.DMALEN >0); -+ HI_TxPriv[i]->HI_TxPriv.Flag= FLAG; -+ HI_TxPriv[i]->HI_TxPriv.Seqnum = (*(unsigned short *)htframe->SeqCtrl)>>4; -+ HI_TxPriv[i]->HI_TxPriv.HTC =*((unsigned short *)htframe->HtCtrl); ++ ASSERT(HI_TxPriv[i]->HI_TxPriv.DMALEN > 0); ++ HI_TxPriv[i]->HI_TxPriv.Flag = FLAG; ++ HI_TxPriv[i]->HI_TxPriv.Seqnum = (*(unsigned short *)htframe->SeqCtrl) >> 4; ++ HI_TxPriv[i]->HI_TxPriv.HTC = *((unsigned short *)htframe->HtCtrl); + HI_TxPriv[i]->HI_TxPriv.FrameControl = htframe->FrameCtrl; -+ //PRINT("htframe->FrameCtrl %x,fc %x \n",htframe->FrameCtrl,frame_control); ++ /* PRINT("htframe->FrameCtrl %x,fc %x \n",htframe->FrameCtrl,frame_control); */ + HI_TxPriv[i]->HI_TxPriv.TX_STATUS = TX_DESCRIPTOR_STATUS_NEW; -+ HI_TxPriv[i]->HI_TxPriv.ShortRetryNum =0; -+ HI_TxPriv[i]->HI_TxPriv.LongRetryNum =0; -+ HI_TxPriv[i]->HI_TxPriv.ACKRSSI =0; -+ HI_TxPriv[i]->HI_TxPriv.TimeStmp =0; ++ HI_TxPriv[i]->HI_TxPriv.ShortRetryNum = 0; ++ HI_TxPriv[i]->HI_TxPriv.LongRetryNum = 0; ++ HI_TxPriv[i]->HI_TxPriv.ACKRSSI = 0; ++ HI_TxPriv[i]->HI_TxPriv.TimeStmp = 0; + HI_TxPriv[i]->HI_TxPriv.hostreserve = (unsigned long)OS_DDR2DMAAddress((unsigned int*)buffer); + #ifdef UNO_B2B_SUPPORT + HI_TxPriv[i]->HI_TxPriv.PrivDmaAddr = (unsigned long)OS_DDR2DMAAddress(&HI_TxPriv[i]->HI_TxPriv); + #endif + HI_TxPriv[i]->buffer = buffer; -+ //OS_DCACHE_WRITE_TO_DEV((unsigned int*)buffer[i],length[i]); ++ /* OS_DCACHE_WRITE_TO_DEV((unsigned int*)buffer[i],length[i]); */ + } +} + + -+void Do_HI_AGG_TxPriv_TYPE_COMMO( -+ struct _HI_TxPrivDescripter_chain* HI_TxPriv, -+ unsigned char* skbptr, -+ int length,int packetNum) ++void Do_HI_AGG_TxPriv_TYPE_COMMO(struct _HI_TxPrivDescripter_chain* HI_TxPriv, ++ unsigned char* skbptr, int length,int packetNum) +{ -+ //int i=0; -+ unsigned char FLAG=0; ++ unsigned char FLAG; + unsigned short headerlength; -+ struct _WIFI_htframe * htframe; -+ unsigned int frame_control ; -+ unsigned int datalen =0; -+ //int privnum = 0; ++ struct _WIFI_htframe *htframe; ++ unsigned int frame_control; ++ unsigned int datalen = 0; + unsigned char *buffer = os_skb_data((struct sk_buff *)skbptr); + + DBG_HAL_THR_ENTER(); + + frame_control = *(unsigned int*)buffer; -+ headerlength = MacFrame_GetHeaderSize( frame_control ); ++ headerlength = MacFrame_GetHeaderSize(frame_control); + htframe = (struct _WIFI_htframe *)buffer; + datalen = length; -+ FLAG = 0; -+ FLAG |= THR_WIFI_MORE_AGG; ++ FLAG = THR_WIFI_MORE_AGG; + FLAG |= THR_WIFI_FIRST_BUFFER; + FLAG &= ~THR_WIFI_MORE_BUFFER; + FLAG &= ~THR_WIFI_MORE_AGG; @@ -113560,31 +115652,34 @@ index 000000000000..f0881ef6d47e + HI_TxPriv->HI_TxPriv.DMAADDR = (SYS_TYPE)skbptr; + HI_TxPriv->HI_TxPriv.DDRADDR = (unsigned long)buffer; + HI_TxPriv->HI_TxPriv.DMALEN = length; -+ HI_TxPriv->HI_TxPriv.MPDULEN = length; ++ HI_TxPriv->HI_TxPriv.MPDULEN = length; + HI_TxPriv->HI_TxPriv.Delimiter = 0; -+ HI_TxPriv->HI_TxPriv.Flag= FLAG; -+ HI_TxPriv->HI_TxPriv.Seqnum = (*(unsigned short *)htframe->SeqCtrl)>>4; -+ HI_TxPriv->HI_TxPriv.HTC =*((unsigned short *)htframe->HtCtrl); ++ HI_TxPriv->HI_TxPriv.Flag = FLAG; ++ HI_TxPriv->HI_TxPriv.Seqnum = (*(unsigned short *)htframe->SeqCtrl) >> 4; ++ HI_TxPriv->HI_TxPriv.HTC = *((unsigned short *)htframe->HtCtrl); + HI_TxPriv->HI_TxPriv.FrameControl = htframe->FrameCtrl; -+ //PRINT("htframe->FrameCtrl %x,fc %x \n",htframe->FrameCtrl,frame_control); -+ HI_TxPriv->HI_TxPriv.TX_STATUS = 0;//TX_DESCRIPTOR_STATUS_NEW -+ HI_TxPriv->HI_TxPriv.ShortRetryNum =0; -+ HI_TxPriv->HI_TxPriv.LongRetryNum =0; -+ HI_TxPriv->HI_TxPriv.ACKRSSI =0; -+ HI_TxPriv->HI_TxPriv.TimeStmp =0; ++ /* PRINT("htframe->FrameCtrl %x,fc %x \n",htframe->FrameCtrl,frame_control); */ ++ HI_TxPriv->HI_TxPriv.TX_STATUS = 0; /*TX_DESCRIPTOR_STATUS_NEW */ ++ HI_TxPriv->HI_TxPriv.ShortRetryNum = 0; ++ HI_TxPriv->HI_TxPriv.LongRetryNum = 0; ++ HI_TxPriv->HI_TxPriv.ACKRSSI = 0; ++ HI_TxPriv->HI_TxPriv.TimeStmp = 0; + HI_TxPriv->HI_TxPriv.hostreserve = (unsigned long)THR_OS_DDR2DMAAddress((unsigned int*)buffer); + HI_TxPriv->buffer = buffer; + + DBG_HAL_THR_EXIT(); +} + -+ +struct _HI_TxPrivDescripter_chain * Driver_GetTxPriv(void) +{ -+ struct _HI_TxPrivDescripter_chain *HI_TxPrivDp = ( struct _HI_TxPrivDescripter_chain* )Pool_GetBlock( &our_txpriv_pool ); ++ struct _HI_TxPrivDescripter_chain *HI_TxPrivDp; ++ ++ HI_TxPrivDp = (struct _HI_TxPrivDescripter_chain*)Pool_GetBlock(&our_txpriv_pool); + if (!HI_TxPrivDp) + return 0; -+ memset(HI_TxPrivDp,0,sizeof(struct _HI_TxPrivDescripter_chain ));// ++ ++ memset(HI_TxPrivDp, 0, sizeof(struct _HI_TxPrivDescripter_chain)); ++ + return HI_TxPrivDp; +} + @@ -113606,10 +115701,10 @@ index 000000000000..f0881ef6d47e + "driverTxPriv"); +} + -+void Driver_FreeAGG(struct _HI_AGG_TxDescripter_chain * HI_AGG_TxDp) ++void Driver_FreeAGG(struct _HI_AGG_TxDescripter_chain *HI_AGG_TxDp) +{ + DBG_HAL_THR_ENTER(); -+ //OS_DEL_HEAD(HI_AGG_TxDp->workList); ++ /* OS_DEL_HEAD(HI_AGG_TxDp->workList); */ + new_list_del(&HI_AGG_TxDp->workList,&HI_AGG_TxDp->workList); + FREE(HI_AGG_TxDp,"getagg"); + HI_AGG_TxDp = NULL; @@ -113617,14 +115712,13 @@ index 000000000000..f0881ef6d47e +} + +extern struct hal_layer_ops *FiOpt2Driver; -+unsigned char Driver_FillAgg(struct _HI_AGG_TxDescripter_chain * HI_AGG_TxDp) ++unsigned char Driver_FillAgg(struct _HI_AGG_TxDescripter_chain *HI_AGG_TxDp) +{ + int i = 0; + struct thr_list_head *head; + struct _HI_TxPrivDescripter_chain *HI_TxPrivDp; + struct sk_buff *Hi_Agg_Txd_Is_Over = NULL; -+ -+ struct hal_private *hal_priv = hal_get_priv(); ++ struct hal_private *hal_priv = hal_get_priv(); + + DBG_HAL_THR_ENTER(); + @@ -113635,20 +115729,22 @@ index 000000000000..f0881ef6d47e + + if (i == 0) { + Hi_Agg_Txd_Is_Over = FiOpt2Driver->hal_fill_agg_start(&HI_AGG_TxDp->HI_AGG_TxD,&HI_TxPrivDp->HI_TxPriv); -+ if(Hi_Agg_Txd_Is_Over == NULL){ ++ if (Hi_Agg_Txd_Is_Over == NULL) { + AML_TXLOCK_UNLOCK(); -+ goto AGGFREE; ++ goto AGGFREE; + } -+ Pool_PutBlock(&our_txpriv_pool, (void *)HI_TxPrivDp ); -+ } -+ else { ++ ++ Pool_PutBlock(&our_txpriv_pool, (void *)HI_TxPrivDp); ++ } else { + Hi_Agg_Txd_Is_Over = FiOpt2Driver->hal_fill_priv(&HI_TxPrivDp->HI_TxPriv,HI_AGG_TxDp->HI_AGG_TxD.TID); + if (Hi_Agg_Txd_Is_Over == NULL){ + AML_TXLOCK_UNLOCK(); -+ goto AGGFREE; ++ goto AGGFREE; + } -+ Pool_PutBlock(&our_txpriv_pool, (void *)HI_TxPrivDp ); ++ ++ Pool_PutBlock(&our_txpriv_pool, (void *)HI_TxPrivDp); + } ++ + i++; + } + AML_TXLOCK_UNLOCK(); @@ -113657,14 +115753,16 @@ index 000000000000..f0881ef6d47e +AGGFREE: + Driver_FreeAGG(HI_AGG_TxDp); + DBG_HAL_THR_EXIT(); ++ + return 0; +} + -+ -+struct _HI_AGG_TxDescripter_chain * Driver_GetAGG(void) ++struct _HI_AGG_TxDescripter_chain *Driver_GetAGG(void) +{ -+ struct _HI_AGG_TxDescripter_chain *HI_AGG_TxDp = NULL; -+ HI_AGG_TxDp = (struct _HI_AGG_TxDescripter_chain *)ZMALLOC(sizeof(struct _HI_AGG_TxDescripter_chain ),"getagg", GFP_ATOMIC); ++ struct _HI_AGG_TxDescripter_chain *HI_AGG_TxDp; ++ ++ HI_AGG_TxDp = (struct _HI_AGG_TxDescripter_chain *)ZMALLOC(sizeof(struct _HI_AGG_TxDescripter_chain), ++ "getagg", GFP_ATOMIC); + + if (!HI_AGG_TxDp) + return NULL; @@ -113672,28 +115770,28 @@ index 000000000000..f0881ef6d47e + return HI_AGG_TxDp; +} + -+void Driver_ListInit(struct _HI_AGG_TxDescripter_chain *HI_AGG_TxDp ) ++void Driver_ListInit(struct _HI_AGG_TxDescripter_chain *HI_AGG_TxDp) +{ -+ OS_LIST_INIT( &HI_AGG_TxDp->workList ); ++ OS_LIST_INIT(&HI_AGG_TxDp->workList); +} + +int Driver_IsTxPrivEnough(int num) +{ + if (our_txpriv_pool.min_count > num) + { -+ //printk("---xman debug: the min_count is :%d.\n",our_txpriv_pool.min_count); ++ /* pr_debug("---xman debug: the min_count is :%d.\n",our_txpriv_pool.min_count); */ + return 1; + } + else + { -+ printk("---xman debug: the min_count is :%d.\n",our_txpriv_pool.min_count); ++ pr_debug("---xman debug: the min_count is :%d.\n",our_txpriv_pool.min_count); + return 0; + } +} + diff --git a/drivers/net/wireless/w1/vmac/wifi_pt_if.h b/drivers/net/wireless/w1/vmac/wifi_pt_if.h new file mode 100644 -index 000000000000..d01048477177 +index 0000000000000000000000000000000000000000..a917f6913ab40b0e3b8a43e6375852ff2b8fcc9a --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_pt_if.h @@ -0,0 +1,470 @@ @@ -114161,7 +116259,7 @@ index 000000000000..d01048477177 +void Driver_intr_tx_handle(void * drv_priv,struct txdonestatus* tx_done_status,SYS_TYPE callback, unsigned char queue_id); +void Driver_ListInit(struct _HI_AGG_TxDescripter_chain *HI_AGG_TxDp ); +struct _HI_TxPrivDescripter_chain * Driver_GetTxPriv(void); -+int Do_HI_AGG_TxPriv_TYPE_AMSDU(struct _HI_TxPrivDescripter_chain* HI_TxPriv[],unsigned char* buffer[],int length[],int packetNum); ++int Do_HI_AGG_TxPriv_TYPE_AMSDU(struct _HI_TxPrivDescripter_chain* HI_TxPriv[],unsigned char* skbptr[],int length[],int packetNum); +void Do_HI_AGG_TxPriv_TYPE_AMPDU(struct _HI_TxPrivDescripter_chain* HI_TxPriv[],unsigned char* buffer[],int length[],int packetNum); +void Do_HI_AGG_TxPriv_TYPE_COMMO(struct _HI_TxPrivDescripter_chain* HI_TxPriv,unsigned char* buffer,int length,int packetNum); +void Driver_CreatTxPriv(void); @@ -114169,10 +116267,10 @@ index 000000000000..d01048477177 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_pt_init.c b/drivers/net/wireless/w1/vmac/wifi_pt_init.c new file mode 100644 -index 000000000000..dd3d05a2eb4d +index 0000000000000000000000000000000000000000..ff04efc2b368a31c7c5db3d0015189d4556f2e1a --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_pt_init.c -@@ -0,0 +1,1041 @@ +@@ -0,0 +1,1040 @@ +/* + **************************************************************************************** + * @@ -114187,6 +116285,7 @@ index 000000000000..dd3d05a2eb4d + * Date: 20160901 + **************************************************************************************** + */ ++#include +#include "wifi_mac_com.h" +#include "wifi_pt_init.h" +#include "wifi_pt_network.h" @@ -114269,7 +116368,7 @@ index 000000000000..dd3d05a2eb4d + + + -+unsigned char Queue_HasObject( struct _Queue* my, void* object ) ++static unsigned char Queue_HasObject( struct _Queue* my, void* object ) +{ + void** start = my->start; + void** end = my->end; @@ -114286,7 +116385,7 @@ index 000000000000..dd3d05a2eb4d + + + -+unsigned char Queue_IsFull( struct _Queue* my ) ++static unsigned char Queue_IsFull( struct _Queue* my ) +{ + void** front = my->front; + void** back = my->back; @@ -114337,7 +116436,7 @@ index 000000000000..dd3d05a2eb4d + +#if 1 + -+void TxDescriptor_Destroy( struct _TxDescriptor* my ) ++static void TxDescriptor_Destroy( struct _TxDescriptor* my ) +{ + + DBG_HAL_THR_ENTER(); @@ -114395,7 +116494,7 @@ index 000000000000..dd3d05a2eb4d + WIFI_11N_MCS0 +}; + -+void thr_list_add(struct thr_list_head *new_head, ++static void thr_list_add(struct thr_list_head *new_head, + struct thr_list_head *prev, + struct thr_list_head *next) +{ @@ -114405,7 +116504,7 @@ index 000000000000..dd3d05a2eb4d + prev->next = new_head; +} + -+struct _HI_TxPrivDescripter_chain* ++static struct _HI_TxPrivDescripter_chain* +Do_HI_AGG_TxDP(struct _HI_AGG_TxDescripter_chain *HI_AGG_chain, + struct _HI_TxPrivDescripter_chain* HI_TxPriv[], + int length[],unsigned char TID, @@ -114464,7 +116563,7 @@ index 000000000000..dd3d05a2eb4d + ERROR_DEBUG_OUT("not support, bw in flag 0x%x\n", (HI_AGG_TxDP->FLAG >> 8) & 0x3); + } + -+ //printk("%s (%d) bw in flag 0x%x\n",__func__, __LINE__, (HI_AGG_TxDP->FLAG >> 8) & 0x3); ++ //pr_debug("%s (%d) bw in flag 0x%x\n",__func__, __LINE__, (HI_AGG_TxDP->FLAG >> 8) & 0x3); + + HI_AGG_TxDP->FLAG2 = TrcConfMib.dot11RDSupport ? TX_DESCRIPTER_RD_SUPPORT : 0; + HI_AGG_TxDP->FLAG2 |= TrcConfMib.dot11RDSupport ? TX_DESCRIPTER_HTC : 0; @@ -114515,7 +116614,7 @@ index 000000000000..dd3d05a2eb4d + for (i = 0; i< MpduNum-1; i++) { + HI_AGG_TxDP->AGGR_len += ALIGN(length[i]+exlen,4)+4+4+0; + HI_AGG_TxDP->aggr_page_num += howmanypage(length[i]+FW_TXDESC_DATAOFFSET, PAGE_LEN); -+ //printk("HI_AGG_TxDP->AGGR_len 0x%x ,length[%d] 0x%x\n",HI_AGG_TxDP->AGGR_len,i,length[i]); ++ //pr_debug("HI_AGG_TxDP->AGGR_len 0x%x ,length[%d] 0x%x\n",HI_AGG_TxDP->AGGR_len,i,length[i]); + } + + if (IS_VHT_RATE(HI_AGG_TxDP->CurrentRate)) { @@ -114527,7 +116626,7 @@ index 000000000000..dd3d05a2eb4d + } + + HI_AGG_TxDP->aggr_page_num += howmanypage(length[i]+FW_TXDESC_DATAOFFSET, PAGE_LEN); -+ //printk("current vht rate 0x%x\n",HI_AGG_TxDP->CurrentRate); ++ //pr_debug("current vht rate 0x%x\n",HI_AGG_TxDP->CurrentRate); + } + else { + HI_AGG_TxDP->AGGR_len += exlen; @@ -114541,10 +116640,10 @@ index 000000000000..dd3d05a2eb4d + HI_TxPriv[i]->HI_TxPriv.MPDULEN -= DP_SEC_TKIP_MIC_LEN; + } + } -+ // printk("HI_AGG_TxDP->AGGR_len %x ,MPDULEN %x\n",HI_AGG_TxDP->AGGR_len,HI_TxPriv[0]->HI_TxPriv.MPDULEN); -+ // printk("---xman debug---: Before OS_ADD_TAIL, HI_TxPrivNum: %d.\n",HI_TxPrivNum); ++ // pr_debug("HI_AGG_TxDP->AGGR_len %x ,MPDULEN %x\n",HI_AGG_TxDP->AGGR_len,HI_TxPriv[0]->HI_TxPriv.MPDULEN); ++ // pr_debug("---xman debug---: Before OS_ADD_TAIL, HI_TxPrivNum: %d.\n",HI_TxPrivNum); + for (i = 0; i < HI_TxPrivNum ; i ++) { -+ // printk(" Do_HI_AGG_TxDP +HI_TxPriv =%p DMAADDR =%x\n",HI_TxPriv[i],HI_TxPriv[i]->HI_TxPriv.DMAADDR); ++ // pr_debug(" Do_HI_AGG_TxDP +HI_TxPriv =%p DMAADDR =%x\n",HI_TxPriv[i],HI_TxPriv[i]->HI_TxPriv.DMAADDR); + //OS_ADD_TAIL(&HI_TxPriv[i]->workList,&HI_AGG_chain->workList); + thr_list_add(&HI_TxPriv[i]->workList,(&HI_AGG_chain->workList)->prev,&HI_AGG_chain->workList); + } @@ -114553,7 +116652,7 @@ index 000000000000..dd3d05a2eb4d + return HI_TxPriv[0]; +} + -+int HostSendTYPE_AMSDU(unsigned char* buffer[],int length[], ++static int HostSendTYPE_AMSDU(unsigned char* buffer[],int length[], + int packetNum,unsigned char TID,unsigned short FLAG) +{ + //int i; @@ -114579,7 +116678,7 @@ index 000000000000..dd3d05a2eb4d + +} + -+int HostSendTYPE_AMPDU(unsigned char* buffer[],int length[], ++static int HostSendTYPE_AMPDU(unsigned char* buffer[],int length[], + int packetNum,unsigned char TID,unsigned short FLAG) +{ + int i; @@ -114587,7 +116686,7 @@ index 000000000000..dd3d05a2eb4d + struct _HI_TxPrivDescripter_chain **HI_TxPriv = NULL; + int privnum = packetNum; + if (!Driver_IsTxPrivEnough(packetNum)) { -+ printk("warning: no tx desc\n"); ++ pr_warn("warning: no tx desc\n"); + return 0; + } + Hi_TxAgg = Driver_GetAGG(); @@ -114610,7 +116709,7 @@ index 000000000000..dd3d05a2eb4d + return 0; +} + -+int HostSendTYPE_COMMO(unsigned char* buffer,int length,unsigned char TID,unsigned short FLAG) ++static int HostSendTYPE_COMMO(unsigned char* buffer,int length,unsigned char TID,unsigned short FLAG) +{ + + int privnum =1; @@ -114639,7 +116738,7 @@ index 000000000000..dd3d05a2eb4d +} +#endif + -+void HostSendDataPacket(int type, int packetNum, unsigned short FLAG) ++static void HostSendDataPacket(int type, int packetNum, unsigned short FLAG) +{ + int i; + struct _TxDescriptor* descriptor = NULL; @@ -114669,7 +116768,7 @@ index 000000000000..dd3d05a2eb4d + } + packetNum = i; + if (packetNum ==0) { -+ printk(" HostSendDataPacket packetNum=0\n"); ++ pr_debug(" HostSendDataPacket packetNum=0\n"); + goto end; + } + } @@ -114684,7 +116783,7 @@ index 000000000000..dd3d05a2eb4d + goto end; + //if (TrcConfMib.dot11FragmentationThreshold < descriptor1->len ) + // FLAG = WIFI_IS_FRAGMENT; -+ //printk("---b2b debug ---Common type before HostSendTYPE_COMMO, FLAG is : %d\n", FLAG); ++ //pr_debug("---b2b debug ---Common type before HostSendTYPE_COMMO, FLAG is : %d\n", FLAG); + HostSendTYPE_COMMO((unsigned char *)descriptor1->skb,descriptor1->len, descriptor1->Tid,FLAG); + TxDescriptor_Destroy(descriptor1); + break; @@ -114696,17 +116795,17 @@ index 000000000000..dd3d05a2eb4d + goto end; + //if (TrcConfMib.dot11FragmentationThreshold < descriptor1->len ) + // FLAG = WIFI_IS_FRAGMENT; -+ //printk("---b2b debug ---Common type before HostSendTYPE_COMMO, FLAG is : %d\n", FLAG); ++ //pr_debug("---b2b debug ---Common type before HostSendTYPE_COMMO, FLAG is : %d\n", FLAG); + HostSendTYPE_COMMO((unsigned char *)descriptor1->skb,descriptor1->len, descriptor1->Tid,FLAG); + TxDescriptor_Destroy(descriptor1); + break; + case TYPE_AMPDU: -+ //printk("----length: %d, packetNum: %d, TID: %d, FLAG: %d.\n",*length,packetNum, TID, FLAG); ++ //pr_debug("----length: %d, packetNum: %d, TID: %d, FLAG: %d.\n",*length,packetNum, TID, FLAG); + FLAG |= WIFI_IS_AGGR; + HostSendTYPE_AMPDU( buffer,length,packetNum, TID, FLAG); + break; + case TYPE_AMSDU: -+ printk("\n---xman debug---,length:%d, packetNum:%d, TID: %d, FLAG:%x.\n",*length,packetNum, TID, FLAG); ++ pr_debug("\n---xman debug---,length:%d, packetNum:%d, TID: %d, FLAG:%x.\n",*length,packetNum, TID, FLAG); + HostSendTYPE_AMSDU(buffer,length,packetNum, TID, FLAG); + break; + case TYPE_AMSDU_AMPDU: @@ -114748,7 +116847,7 @@ index 000000000000..dd3d05a2eb4d + } + + hal_full = 0; -+ printk("pt max tx: %d\n", gB2BTestCasePacket.send_frame_num); ++ pr_debug("pt max tx: %d\n", gB2BTestCasePacket.send_frame_num); + + TrcConfMib.tid = STA2_VMAC1_SEND_TID; + loop = 0; @@ -114757,14 +116856,14 @@ index 000000000000..dd3d05a2eb4d + if(gB2BTestCasePacket.send_frame_num > loop) + { + if (FiOpt2Driver->hal_get_priv_cnt == NULL) { -+ printk("===>>> %s ==>> hal_get_priv_cnt is NULL\n", __func__); ++ pr_err("===>>> %s ==>> hal_get_priv_cnt is NULL\n", __func__); + break; + } + if ((FiOpt2Driver->hal_get_priv_cnt(TrcConfMib.tid) < TrcConfMib.testmpdunum ))//+1 + { + if(hal_full == 0) + { -+ printk("%s %d: hal buffer full.\n", __func__, __LINE__); ++ pr_warn("%s %d: hal buffer full.\n", __func__, __LINE__); + hal_full = 1; + } + msleep(10); @@ -114772,16 +116871,16 @@ index 000000000000..dd3d05a2eb4d + } + + HostSendDataPacket(TrcConfMib.testtype,TrcConfMib.testmpdunum,TrcConfMib.testflag); -+ //printk("test flag = 0x%x bw =0x%x\n", TrcConfMib.testflag, (TrcConfMib.testflag >>WIFI_CHANNEL_BW_OFFSET) & 0x3 ); ++ //pr_debug("test flag = 0x%x bw =0x%x\n", TrcConfMib.testflag, (TrcConfMib.testflag >>WIFI_CHANNEL_BW_OFFSET) & 0x3 ); + loop++; + }//tx max pkt + else + { -+ printk("**** pt send pkt %d done ***", loop); ++ pr_debug("**** pt send pkt %d done ***", loop); + break; // quite into to thread to sleep + } + }// start/stop loop -+ printk("**** stop : when pt send pkt %d done ***", loop); ++ pr_debug("**** stop : when pt send pkt %d done ***", loop); + }// thread loop + +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 17, 0) @@ -114789,7 +116888,7 @@ index 000000000000..dd3d05a2eb4d +#else + kthread_complete_and_exit(&b2b_tx_struct.b2b_thread_cmplt, 0); +#endif -+ printk("**** exit b2b_tx_thread_function ***"); ++ pr_debug("**** exit b2b_tx_thread_function ***"); + return 0; +} + @@ -114867,13 +116966,13 @@ index 000000000000..dd3d05a2eb4d + // 8 + case TYPE_STOP_TX: + TrcConfMib.testtype=TYPE_STOP_TX; -+ printk("send stop!\n"); ++ pr_debug("send stop!\n"); + break; + default: + break; + } + -+ printk("%s(%d) test flag =0x%x, test type = 0x%x\n", ++ pr_debug("%s(%d) test flag =0x%x, test type = 0x%x\n", + __func__, __LINE__, TrcConfMib.testflag, usrtesttype); + + DBG_HAL_THR_EXIT(); @@ -114891,7 +116990,7 @@ index 000000000000..dd3d05a2eb4d + wait_for_completion(&b2b_tx_struct.b2b_thread_cmplt); + b2b_tx_struct.b2b_tx_thread =NULL; + /* -+ printk("======> Remove b2b tx thread\n"); ++ pr_debug("======> Remove b2b tx thread\n"); + b2b_tx_struct.b2b_tx_quit = 1; + kthread_stop(b2b_tx_struct.b2b_tx_thread); + b2b_tx_struct.b2b_tx_thread = NULL; @@ -114919,7 +117018,7 @@ index 000000000000..dd3d05a2eb4d + { + if ( TrcConfMib.the_bssid[i] != TrcConfMib.the_mac_address[i] ) + { -+ printk("\n\nb2b_compare_local_and_bssid: NOT the same\n"); ++ pr_err("\n\nb2b_compare_local_and_bssid: NOT the same\n"); + ret = 1; + break; + } @@ -114934,7 +117033,7 @@ index 000000000000..dd3d05a2eb4d + DBG_HAL_THR_ENTER(); + + -+ printk("********* b2b debug enter driver_open ***************\n"); ++ pr_debug("********* b2b debug enter driver_open ***************\n"); + + callback.mic_error_event = Driver_mic_error_event; + callback.intr_tx_handle = Driver_intr_tx_handle; @@ -114986,7 +117085,7 @@ index 000000000000..dd3d05a2eb4d + + if ( 0 != b2b_compare_local_and_bssid() )//Tx side + { -+ printk("\n---B2B debug---: Tx side\n"); ++ pr_debug("\n---B2B debug---: Tx side\n"); + TrcConfMib.dot11EncryptType = gB2BTestCasePacket.encryp_type; + TrcConfMib.dot11EncryptLen = STA1_VMAC0_KEY_LEN; + if(STA1_VMAC0_IBSS) @@ -115010,7 +117109,7 @@ index 000000000000..dd3d05a2eb4d + } + else + { -+ printk("\n---B2B debug---: Rx side\n"); ++ pr_debug("\n---B2B debug---: Rx side\n"); + TrcConfMib.dot11EncryptType = gB2BTestCasePacket.encryp_type; + TrcConfMib.dot11EncryptLen = STA1_VMAC0_KEY_LEN; + if(STA1_VMAC0_IBSS) @@ -115039,18 +117138,18 @@ index 000000000000..dd3d05a2eb4d + + if(BSS_BW_80M == 2) + { -+ printk("\n---B2B debug---: 80M bw\n"); ++ pr_debug("\n---B2B debug---: 80M bw\n"); + //amlhal_SetChannel_BW(SW_CBW80,SW_COFF_U30M); + } + else if(BSS_BW_40M == 1) + { + //amlhal_SetChannel_BW(SW_CBW40,SW_HI_CH_OFF_20U); -+ printk("\n---B2B debug---: 40M bw\n"); ++ pr_debug("\n---B2B debug---: 40M bw\n"); + //PhySetChanSupportType(WIFINET_BW_40PLUS); + } + else + { -+ printk("\n---B2B debug---: 20M bw\n"); ++ pr_debug("\n---B2B debug---: 20M bw\n"); + //amlhal_SetChannel_BW(SW_CBW20,SW_HI_CH_OFF_20); + //PhySetChanSupportType(WIFINET_BW_20); + } @@ -115066,11 +117165,11 @@ index 000000000000..dd3d05a2eb4d + + if (IS_ERR(b2b_tx_struct.b2b_tx_thread)) { + b2b_tx_struct.b2b_tx_thread = NULL; -+ printk(KERN_INFO "B2B: Create b2b tx task failed!\n"); ++ pr_info("B2B: Create b2b tx task failed!\n"); + goto b2b_tx_thread_create_fail; + } + else { -+ printk(KERN_INFO "B2B: Create b2b tx task success!\n"); ++ pr_info("B2B: Create b2b tx task success!\n"); + return; + } + @@ -115100,7 +117199,6 @@ index 000000000000..dd3d05a2eb4d + // + // Enforce (at least) word alignment of all the blocks + // -+ int i; + ASSERT( ( unsigned int )(unsigned long)buffer % 4 == 0 + && size % 4 == 0 && count != 0 ); + @@ -115111,8 +117209,7 @@ index 000000000000..dd3d05a2eb4d + my->size = size; + my->max_count = count; + my->min_count = count; -+ for ( i =0; i<16; i++) -+ my->name[i] = name[i]; ++ strscpy(my->name, name, sizeof(my->name)); + // + // Important: queue_buffer[] size must be at least count + 1 + // @@ -115138,7 +117235,7 @@ index 000000000000..dd3d05a2eb4d + return skb; +} + -+void TxDescriptor_Initialize(void) ++static void TxDescriptor_Initialize(void) +{ + Pool_Create(&our_tx_descriptor_pool, + TX_DESCRIPTOR_SIZE, @@ -115216,7 +117313,7 @@ index 000000000000..dd3d05a2eb4d + diff --git a/drivers/net/wireless/w1/vmac/wifi_pt_init.h b/drivers/net/wireless/w1/vmac/wifi_pt_init.h new file mode 100644 -index 000000000000..e0d6133dc052 +index 0000000000000000000000000000000000000000..96c1ea6056fd0a811a9b7de2d68aa2d6f45bd942 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_pt_init.h @@ -0,0 +1,249 @@ @@ -115253,7 +117350,7 @@ index 000000000000..e0d6133dc052 +#include +#include +#include -+#include /* printk() */ ++#include /* pr_debug() */ +#include +#include +#include @@ -115471,7 +117568,7 @@ index 000000000000..e0d6133dc052 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_pt_network.c b/drivers/net/wireless/w1/vmac/wifi_pt_network.c new file mode 100644 -index 000000000000..82d76ab3e315 +index 0000000000000000000000000000000000000000..2954c66a96c889250277e32a38859dff9e12390a --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_pt_network.c @@ -0,0 +1,508 @@ @@ -115557,7 +117654,7 @@ index 000000000000..82d76ab3e315 + return MacFrame_IsType(frame_control,FRAME_TYPE_MANAGEMENT); +} + -+void B2B_Net_RequestTransmit(struct sk_buff *skb, ++static void B2B_Net_RequestTransmit(struct sk_buff *skb, + unsigned short len,unsigned short Tid) +{ + struct _TxDescriptor *descriptor = TxDescriptor_Create(); @@ -115679,12 +117776,12 @@ index 000000000000..82d76ab3e315 +} + + -+void RcvFrameTestSeq(unsigned char *packet,unsigned char tid) ++static void RcvFrameTestSeq(unsigned char *packet,unsigned char tid) +{ + return; +} + -+void RcvFrame(unsigned char *packet,int length,unsigned char tid) ++static void RcvFrame(unsigned char *packet,int length,unsigned char tid) +{ + int i; + static unsigned char sendPacketseq[MAX_TID]= {0};//256 is one test peri. @@ -115698,7 +117795,7 @@ index 000000000000..82d76ab3e315 + sendPacketseq[tid] ++; + return; +} -+void Net_Send( unsigned char type, unsigned char* input) ++static void Net_Send( unsigned char type, unsigned char* input) +{ + unsigned int header_length; + struct sk_buff *skb = TxBuffer_Alloc(); @@ -115774,8 +117871,8 @@ index 000000000000..82d76ab3e315 + B2b_Net_WriteSimcheck( cursor,gB2BTestCasePacket.pkt_length,TrcConfMib.tid ); + cursor = buffer + gB2BTestCasePacket.pkt_length; + -+ //printk( "---aml debug--: pkt len: %d.\n",pkt_len); -+ //dump_memory_internel(buffer,48); ++ //pr_debug( "---aml debug--: pkt len: %d.\n",pkt_len); ++ //dump_memory_internal(buffer,48); + B2B_Net_RequestTransmit(skb,cursor-buffer,TrcConfMib.tid); + //Net_RequestTransmit(buffer,pkt_len,TrcConfMib.tid); + @@ -115783,7 +117880,7 @@ index 000000000000..82d76ab3e315 + else { + my_network.tx_pool_error_count++; + ASSERT(0); -+ printk( "NULL TxBuffer_Create\n" ); ++ pr_debug( "NULL TxBuffer_Create\n" ); + } + DBG_HAL_THR_EXIT(); +} @@ -115799,7 +117896,7 @@ index 000000000000..82d76ab3e315 + //DBG_ENTER(); + // + // if(STA2_VMAC1_RX_FRAME_DUMP) -+ // dump_memory_internel(packet,len); ++ // dump_memory_internal(packet,len); + + frame_control = *(unsigned int*)packet; + headerlength = MacFrame_GetHeaderSize( frame_control ); @@ -115972,11 +118069,11 @@ index 000000000000..82d76ab3e315 + DBG_HAL_THR_ENTER(); + if ( usrtesttype > 11 || usrtesttype < 1 ) + { -+ printk("Warning: Not supported testing type.\n"); ++ pr_warn("Warning: Not supported testing type.\n"); + return; + } + -+ printk("b2b_init: test type 0x%08x\n", usrtesttype); ++ pr_debug("b2b_init: test type 0x%08x\n", usrtesttype); + + Task_Schedule(usrtesttype); + @@ -115985,7 +118082,7 @@ index 000000000000..82d76ab3e315 + diff --git a/drivers/net/wireless/w1/vmac/wifi_pt_network.h b/drivers/net/wireless/w1/vmac/wifi_pt_network.h new file mode 100644 -index 000000000000..4b68997223b7 +index 0000000000000000000000000000000000000000..4b68997223b74d7af85c20288fa9fba80196c70b --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_pt_network.h @@ -0,0 +1,90 @@ @@ -116081,7 +118178,7 @@ index 000000000000..4b68997223b7 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_rate_ctrl.c b/drivers/net/wireless/w1/vmac/wifi_rate_ctrl.c new file mode 100644 -index 000000000000..e111d077cbed +index 0000000000000000000000000000000000000000..e111d077cbed3db9e3fef4fd6f140b35426515b6 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_rate_ctrl.c @@ -0,0 +1,78 @@ @@ -116165,7 +118262,7 @@ index 000000000000..e111d077cbed + diff --git a/drivers/net/wireless/w1/vmac/wifi_rate_ctrl.h b/drivers/net/wireless/w1/vmac/wifi_rate_ctrl.h new file mode 100644 -index 000000000000..e870072a8a74 +index 0000000000000000000000000000000000000000..e870072a8a74acc9d8d8e9d3658655ddf6d0026c --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_rate_ctrl.h @@ -0,0 +1,127 @@ @@ -116298,7 +118395,7 @@ index 000000000000..e870072a8a74 +#endif /* _DRV__RATE_SAMPLE_H */ diff --git a/drivers/net/wireless/w1/vmac/wifi_sdio.c b/drivers/net/wireless/w1/vmac/wifi_sdio.c new file mode 100644 -index 000000000000..f4ce6a176552 +index 0000000000000000000000000000000000000000..b7e48a1ddb4de1c5f22139975ba6bb52ee76aa51 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_sdio.c @@ -0,0 +1,2137 @@ @@ -116413,7 +118510,7 @@ index 000000000000..f4ce6a176552 +#if defined(DBG_PRINT_COST_TIME) + getnstimeofday(&now); + -+ printk("[sdio byte]: len=1 cost=%lds %luus\n", ++ pr_debug("[sdio byte]: len=1 cost=%lds %luus\n", + now.tv_sec-before.tv_sec, now.tv_nsec/1000 - before.tv_nsec/1000); +#endif /* End of DBG_PRINT_COST_TIME */ + @@ -116476,7 +118573,7 @@ index 000000000000..f4ce6a176552 +#if defined(DBG_PRINT_COST_TIME) + getnstimeofday(&now); + -+ printk("[sdio buffer]: len=%d cost=%lds %luus\n", ++ pr_debug("[sdio buffer]: len=%d cost=%lds %luus\n", + nbytes, now.tv_sec-before.tv_sec, now.tv_nsec/1000 - before.tv_nsec/1000); +#endif /* End of DBG_PRINT_COST_TIME */ + @@ -116866,7 +118963,7 @@ index 000000000000..f4ce6a176552 + sdio_release_host(func); + + if (mmc_cmd.error || mmc_dat.error) { -+ printk("ERROR CMD53 %s cmd_error = %d data_error=%d\n", ++ pr_err("ERROR CMD53 %s cmd_error = %d data_error=%d\n", + write ? "write" : "read", mmc_cmd.error, mmc_dat.error); + ret = mmc_cmd.error; + } @@ -116879,7 +118976,7 @@ index 000000000000..f4ce6a176552 + struct hw_interface * hif = hif_get_hw_interface(); + struct amlw_hwif_sdio *hif_sdio = aml_sdio_priv(); + -+ printk("[sdio sg cleanup]: enter\n"); ++ pr_debug("[sdio sg cleanup]: enter\n"); + + ASSERT(hif != NULL); + ASSERT(hif_sdio != NULL); @@ -116892,7 +118989,7 @@ index 000000000000..f4ce6a176552 + /* empty the free list */ + FREE(hif_sdio->scat_req, "sdio_alloc_prep_scat_req"); + -+ printk("[sdio sg cleanup]: exit\n"); ++ pr_debug("[sdio sg cleanup]: exit\n"); + + return; +} @@ -117055,7 +119152,7 @@ index 000000000000..f4ce6a176552 + return SDIOH_API_RC_FAIL; + } + memcpy(kmalloc_buf, buf, len); -+ //printk("%s, buf:%p\n", __func__, kmalloc_buf); ++ //pr_debug("%s, buf:%p\n", __func__, kmalloc_buf); + + result = _aml_sdio_request_buffer(func_num, incr_addr, SDIO_WRITE, addr, kmalloc_buf, len); + @@ -117138,7 +119235,7 @@ index 000000000000..f4ce6a176552 +#endif//HAL_FPGA_VER +#endif//SDIO_BUILD_IN + -+void aml_sdio_scat_complete (struct amlw_hif_scatter_req * scat_req) ++static void aml_sdio_scat_complete (struct amlw_hif_scatter_req * scat_req) +{ + int i; + struct hw_interface * hif = hif_get_hw_interface(); @@ -117233,7 +119330,7 @@ index 000000000000..f4ce6a176552 + sg_data_size = ALIGN(packet_len, blk_size); + if (sg_data_size > (max_req_size - ttl_len)) + { -+ printk(" setup scat-data: (%s): %d: sg_data_size %d, remain %d \n", ++ pr_debug(" setup scat-data: (%s): %d: sg_data_size %d, remain %d \n", + __func__, __LINE__, sg_data_size, max_req_size - ttl_len); + break; + } @@ -117267,14 +119364,14 @@ index 000000000000..f4ce6a176552 + } +#endif + /* -+ printk("setup scat-data: offset: %d: ttl: %d, datalen:%d\n", ++ pr_debug("setup scat-data: offset: %d: ttl: %d, datalen:%d\n", + pkt_offset, ttl_len, sg_data_size); + */ + } + + if ((ttl_len == 0) || (ttl_len % blk_size != 0)) + { -+ printk(" setup scat-data: (%s): %d: ttl_len %d \n", ++ pr_debug(" setup scat-data: (%s): %d: ttl_len %d \n", + __func__, __LINE__, ttl_len); + return result; + } @@ -117311,7 +119408,7 @@ index 000000000000..f4ce6a176552 + sdio_release_host(func); + + /* -+ printk("setup scat-data: (%s) ====addr: 0x%X, (blksz: %d, blocks: %d) , (ttl:%d,sg:%d,scat_count:%d,ttl_page:%d)====\n", ++ pr_debug("setup scat-data: (%s) ====addr: 0x%X, (blksz: %d, blocks: %d) , (ttl:%d,sg:%d,scat_count:%d,ttl_page:%d)====\n", + (scat_req->req & HIF_WRITE) ? "wr" : "rd", scat_req->addr, + mmc_dat.blksz, mmc_dat.blocks, ttl_len, + sg_count, scat_req->scat_count, ttl_page_num); @@ -117360,7 +119457,7 @@ index 000000000000..f4ce6a176552 + unsigned char reg = 1; + struct hw_interface* hif = hif_get_hw_interface(); + -+ printk("aml_sdio_reset \n"); ++ pr_debug("aml_sdio_reset \n"); + ASSERT(hif != NULL && hif->hif_ops.hi_bottom_write8 != NULL); + + hif->hif_ops.hi_bottom_write8(SDIO_FUNC0, SDIO_CCCR_IOABORT, reg); @@ -117372,17 +119469,17 @@ index 000000000000..f4ce6a176552 + unsigned int ck_reg = 0; + struct hw_interface* hif = hif_get_hw_interface(); + -+ printk("%s: b_gpio=%d \n",__FUNCTION__, b_gpio); ++ pr_debug("%s: b_gpio=%d \n",__FUNCTION__, b_gpio); + + if (b_gpio) + { + regdata= hif->hif_ops.hi_read8_func0(SDIO_CCCR_IEN); + -+ printk(" SDIO_CCCR_IEN=0x%x \n", regdata); ++ pr_debug(" SDIO_CCCR_IEN=0x%x \n", regdata); + regdata &= ~0x3; + + hif->hif_ops.hi_write8_func0(SDIO_CCCR_IEN,regdata); -+ printk(" SDIO CCCR IEN=0x%x \n", regdata); ++ pr_debug(" SDIO CCCR IEN=0x%x \n", regdata); + + regdata = hif->hif_ops.hi_read_word(RG_WIFI_IF_FW2HST_CLR); + @@ -117390,16 +119487,16 @@ index 000000000000..f4ce6a176552 + hif->hif_ops.hi_write_word(RG_WIFI_IF_FW2HST_CLR, regdata); + + ck_reg = hif->hif_ops.hi_read_word(RG_WIFI_IF_FW2HST_CLR); -+ printk("%s(%d) ck_reg 0x%x\n", __FUNCTION__, __LINE__, ck_reg); ++ pr_debug("%s(%d) ck_reg 0x%x\n", __FUNCTION__, __LINE__, ck_reg); + } + else + { + regdata= hif->hif_ops.hi_read8_func0(SDIO_CCCR_IEN); -+ printk(" SDIO_CCCR_IEN=0x%x \n", regdata); ++ pr_debug(" SDIO_CCCR_IEN=0x%x \n", regdata); + regdata |= 0x3; + + hif->hif_ops.hi_write8_func0(SDIO_CCCR_IEN,regdata); -+ printk(" SDIO_CCCR_IEN=0x%x \n", regdata); ++ pr_debug(" SDIO_CCCR_IEN=0x%x \n", regdata); + + regdata = hif->hif_ops.hi_read_word(RG_WIFI_IF_FW2HST_CLR); + regdata &= ~SDIO_FW2HOST_GPIO_EN; @@ -117433,7 +119530,7 @@ index 000000000000..f4ce6a176552 + + reg5c = hif->hif_ops.hi_read_word(RG_WIFI_IF_FW2HST_CLR); + -+ printk("%s(%d): -----------0x5C register=0x%x\n", __FUNCTION__, __LINE__, reg5c); ++ pr_debug("%s(%d): -----------0x5C register=0x%x\n", __FUNCTION__, __LINE__, reg5c); + reg5c |= BIT(31); + + hif->hif_ops.hi_write_word(RG_WIFI_IF_FW2HST_CLR, reg5c); @@ -117459,7 +119556,7 @@ index 000000000000..f4ce6a176552 + + //reg = hw_if->hif_ops.hi_read_word(RG_WIFI_IF_GPIO_IRQ_CNF); + -+ printk("SDIO GPIO IRQ CONFIG REG=0x%x\n",reg); ++ pr_debug("SDIO GPIO IRQ CONFIG REG=0x%x\n",reg); + + aml_sdio_irq_path(1); // 1: GPIO LINE PATH. 0: SDIO DATA LINE PATH + } @@ -117484,7 +119581,7 @@ index 000000000000..f4ce6a176552 +} + +#endif //USE_GPIO_IRQ -+void aml_sdio_interrupt(struct sdio_func * func) ++static void aml_sdio_interrupt(struct sdio_func * func) +{ + struct hal_private *hal_priv = hal_get_priv(); + @@ -117531,7 +119628,7 @@ index 000000000000..f4ce6a176552 + } +} + -+void aml_sdio_calibration(void) ++static void aml_sdio_calibration(void) +{ + struct hw_interface *hif = hif_get_hw_interface(); + int err; @@ -117558,10 +119655,10 @@ index 000000000000..f4ce6a176552 + if (err) { + //msleep(3000); + hif->hif_ops.hi_bottom_write8(SDIO_FUNC0, SDIO_CCCR_IOABORT, 0x1); -+ printk("%s error: i:%d, j:%d, k:%d, l:%d\n", __func__, i, j, k, l); ++ pr_err("%s error: i:%d, j:%d, k:%d, l:%d\n", __func__, i, j, k, l); + + } else { -+ printk("%s right, use this config: i:%d, j:%d, k:%d, l:%d\n", __func__, i, j, k, l); ++ pr_debug("%s right, use this config: i:%d, j:%d, k:%d, l:%d\n", __func__, i, j, k, l); + return; + } + } @@ -117615,12 +119712,12 @@ index 000000000000..f4ce6a176552 + switch (onoff) + { + case WLAN_POWER_OFF: -+ printk("%s: call customer specific GPIO to turn off WL_REG_ON\n", __FUNCTION__); ++ pr_debug("%s: call customer specific GPIO to turn off WL_REG_ON\n", __FUNCTION__); + break; + + case WLAN_POWER_ON: + platform_wifi_reset(); -+ printk("=========== WLAN placed in POWER ON ========\n"); ++ pr_debug("=========== WLAN placed in POWER ON ========\n"); + break; + } +} @@ -117652,7 +119749,7 @@ index 000000000000..f4ce6a176552 + struct hw_interface * hif = hif_get_hw_interface(); + + wifi_pmu_status = halpriv->hal_ops.hal_get_fw_ps_status(); -+ printk("%s wifi_pmu_status:0x%x\n", __func__, wifi_pmu_status); ++ pr_debug("%s wifi_pmu_status:0x%x\n", __func__, wifi_pmu_status); + + if (is_power_on) { + host_req_status = 0; @@ -117670,7 +119767,7 @@ index 000000000000..f4ce6a176552 + value_pmu_A22 = hif->hif_ops.hi_read_word(RG_PMU_A22); + value_pmu_A24 = hif->hif_ops.hi_read_word(RG_PMU_A24); + -+ printk("%s power on: before write A12=0x%x, A13=0x%x, A14=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x\n", ++ pr_debug("%s power on: before write A12=0x%x, A13=0x%x, A14=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x\n", + __func__, value_pmu_A12, value_pmu_A13, value_pmu_A14, value_pmu_A15,value_pmu_A17,value_pmu_A18,value_pmu_A20,value_pmu_A22,value_pmu_A24); + + // open bg ldo @@ -117715,10 +119812,10 @@ index 000000000000..f4ce6a176552 + msleep(20); + + wifi_pmu_status = halpriv->hal_ops.hal_get_fw_ps_status(); -+ printk("%s wifi_pmu_status:0x%x\n", __func__, wifi_pmu_status); ++ pr_debug("%s wifi_pmu_status:0x%x\n", __func__, wifi_pmu_status); + + while ((wifi_pmu_status & 0xF) != PMU_ACT_MODE) { -+ printk("%s wifi_pmu_status:0x%x\n", __func__, wifi_pmu_status); ++ pr_debug("%s wifi_pmu_status:0x%x\n", __func__, wifi_pmu_status); + wifi_pmu_status = halpriv->hal_ops.hal_get_fw_ps_status(); + } + @@ -117728,7 +119825,7 @@ index 000000000000..f4ce6a176552 + value_pmu_A20 = hif->hif_ops.hi_read_word(RG_PMU_A20); + value_pmu_A22 = hif->hif_ops.hi_read_word(RG_PMU_A22); + value_pmu_A24 = hif->hif_ops.hi_read_word(RG_PMU_A24); -+ printk("%s power on: after write A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x\n", ++ pr_debug("%s power on: after write A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x\n", + __func__, value_pmu_A15, value_pmu_A17,value_pmu_A18,value_pmu_A20,value_pmu_A22,value_pmu_A24); + + } else { @@ -117740,7 +119837,7 @@ index 000000000000..f4ce6a176552 + value_pmu_A22 = hif->hif_ops.hi_read_word(RG_PMU_A22); + value_pmu_A24 = hif->hif_ops.hi_read_word(RG_PMU_A24); + value_aon30 = hif->hif_ops.hi_read_word(RG_AON_A30); -+ printk("%s power off: before write A12=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x, AON30=0x%x\n", ++ pr_debug("%s power off: before write A12=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x, AON30=0x%x\n", + __func__, value_pmu_A12,value_pmu_A15,value_pmu_A17,value_pmu_A18,value_pmu_A20,value_pmu_A22,value_pmu_A24, value_aon30); + + // switch rf dig to dvdd09_ao @@ -117794,7 +119891,7 @@ index 000000000000..f4ce6a176552 + value_pmu_A24 = hif->hif_ops.hi_read_word(RG_PMU_A24); + value_aon30 = hif->hif_ops.hi_read_word(RG_AON_A30); + -+ printk("%s power off: after write A12=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x, AON30=0x%x\n", ++ pr_debug("%s power off: after write A12=0x%x, A15=0x%x, A17=0x%x, A18=0x%x, A20=0x%x, A22=0x%x, A24=0x%x, AON30=0x%x\n", + __func__, value_pmu_A12,value_pmu_A15,value_pmu_A17,value_pmu_A18,value_pmu_A20,value_pmu_A22, value_pmu_A24, value_aon30); + + hif->hif_ops.hi_write_word(RG_PMU_A22, 0x707); @@ -117819,11 +119916,11 @@ index 000000000000..f4ce6a176552 + struct hal_private * hal_priv = hal_get_priv(); + struct sdio_func *func; + -+ printk("SDIO_BUILD_IN %s\n", __func__); ++ pr_debug("SDIO_BUILD_IN %s\n", __func__); + aml_customer_gpio_wlan_ctrl(WLAN_POWER_ON); + + if (!w1_sdio_after_porbe) { -+ printk("sdio not probe, need set power \n"); ++ pr_debug("sdio not probe, need set power \n"); + set_usb_wifi_power(0); + msleep(100); + set_usb_wifi_power(1); @@ -117867,7 +119964,7 @@ index 000000000000..f4ce6a176552 + if ((hal_priv->hal_call_back != NULL) + &&(hal_priv->hal_call_back->dev_probe != NULL)) + { -+ printk("hal_priv->hal_call_back->dev_probe\n"); ++ pr_debug("hal_priv->hal_call_back->dev_probe\n"); + /*call driver probe to create vmac0 and vmac1 eventually*/ + ret = hal_priv->hal_call_back->dev_probe(); + if (ret < 0) @@ -117877,11 +119974,11 @@ index 000000000000..f4ce6a176552 + } + hal_priv->powersave_init_flag = 0; + -+ printk("%s(%d): sg ops init\n", __func__, __LINE__); ++ pr_debug("%s(%d): sg ops init\n", __func__, __LINE__); + hif->hif_ops.hi_enable_scat(); + + aml_sdio_enable_irq(SDIO_FUNC1); -+ printk("aml_sdio_probe-- ret %d\n", ret); ++ pr_debug("aml_sdio_probe-- ret %d\n", ret); + + if (aml_wifi_is_enable_rf_test()) { + mib_init(); @@ -117899,7 +119996,7 @@ index 000000000000..f4ce6a176552 +void aml_disable_wifi(void) +{ + wifi_sdio_access = 0; -+ printk("aml_disable_wifi start sdio access %d\n", wifi_sdio_access); ++ pr_debug("aml_disable_wifi start sdio access %d\n", wifi_sdio_access); + aml_sdio_disable_irq(SDIO_FUNC1); + config_pmu_reg(AML_W1_WIFI_POWER_OFF); + msleep(50); @@ -117911,14 +120008,14 @@ index 000000000000..f4ce6a176552 +{ + struct hal_private * hal_priv = hal_get_priv(); + -+ printk("aml_enable_wifi start\n"); ++ pr_debug("aml_enable_wifi start\n"); + aml_customer_gpio_wlan_ctrl(WLAN_POWER_ON); + + hal_recovery_init_priv(); + config_pmu_reg(AML_W1_WIFI_POWER_ON); + aml_sdio_enable_irq(SDIO_FUNC1); + wifi_sdio_access = 1; -+ printk("aml_enable_wifi start sdio access %d\n", wifi_sdio_access); ++ pr_debug("aml_enable_wifi start sdio access %d\n", wifi_sdio_access); + hal_fw_repair(); + + hal_priv->txcompletestatus->txdoneframecounter = 0; @@ -117926,7 +120023,7 @@ index 000000000000..f4ce6a176552 + hal_priv->txcompletestatus->txpagecounter = 0; + hal_priv->HalTxPageDoneCounter = 0; + -+ printk("aml_enable_wifi end\n"); ++ pr_debug("aml_enable_wifi end\n"); +} + + @@ -117973,7 +120070,7 @@ index 000000000000..f4ce6a176552 + } + + atomic_inc(&hal_priv->sdio_suspend_cnt); -+ //printk("%s:%d,wifi suspend %d, suspend cnt 0x%x, func num %d \n", __func__, __LINE__, ++ //pr_debug("%s:%d,wifi suspend %d, suspend cnt 0x%x, func num %d \n", __func__, __LINE__, + // hal_priv->hal_suspend_mode, atomic_read(&hal_priv->suspend_cnt) , func->num); + + /* we shall suspend all card for sdio. */ @@ -118022,7 +120119,7 @@ index 000000000000..f4ce6a176552 +// return -1; + + atomic_dec(&hal_priv->sdio_suspend_cnt); -+ //printk("%s:%d, func num %d, no resume 0x%x \n", __func__, __LINE__, ++ //pr_debug("%s:%d, func num %d, no resume 0x%x \n", __func__, __LINE__, + // func->num, atomic_read(&hal_priv->suspend_cnt)); + + return 0; @@ -118052,7 +120149,7 @@ index 000000000000..f4ce6a176552 + else + sdio_set_block_size(func, BLKSIZE); + -+ printk("%s(%d): func->num %d sdio block size=%d, \n", __func__, __LINE__, ++ pr_debug("%s(%d): func->num %d sdio block size=%d, \n", __func__, __LINE__, + func->num, func->cur_blksize); + + if (func->num == 1) @@ -118062,14 +120159,14 @@ index 000000000000..f4ce6a176552 + hwif_sdio->sdio_func_if[0] = &sdio_func_0; + } + hwif_sdio->sdio_func_if[func->num] = func; -+ printk("%s(%d): func->num %d sdio_func=%p, \n", __func__, __LINE__, ++ pr_debug("%s(%d): func->num %d sdio_func=%p, \n", __func__, __LINE__, + func->num, func); + + sdio_release_host(func); + sdio_set_drvdata(func, hwif_sdio); + if (func->num != FUNCNUM_SDIO_LAST) + { -+ printk("%s(%d):func_num=%d, lastfuncnum=%d\n", __func__, __LINE__, ++ pr_debug("%s(%d):func_num=%d, lastfuncnum=%d\n", __func__, __LINE__, + func->num, FUNCNUM_SDIO_LAST); + return 0; + } @@ -118093,7 +120190,7 @@ index 000000000000..f4ce6a176552 + if ((hal_priv->hal_call_back != NULL) + &&(hal_priv->hal_call_back->dev_probe != NULL)) + { -+ printk("hal_priv->hal_call_back->dev_probe\n"); ++ pr_debug("hal_priv->hal_call_back->dev_probe\n"); + /*call driver probe to create vmac0 and vmac1 eventually*/ + ret = hal_priv->hal_call_back->dev_probe(); + if (ret < 0) @@ -118103,11 +120200,11 @@ index 000000000000..f4ce6a176552 + } + hal_priv->powersave_init_flag = 0; + -+ printk("%s(%d): sg ops init\n", __func__, __LINE__); ++ pr_debug("%s(%d): sg ops init\n", __func__, __LINE__); + hif->hif_ops.hi_enable_scat(); + + aml_sdio_enable_irq(SDIO_FUNC1); -+ printk("aml_sdio_probe-- ret %d\n", ret); ++ pr_debug("aml_sdio_probe-- ret %d\n", ret); + + + if (aml_wifi_is_enable_rf_test()) { @@ -118137,9 +120234,9 @@ index 000000000000..f4ce6a176552 + return ; + } + -+ printk("\n==========================================\n"); -+ printk("aml_sdio_remove++ func->num =%d \n",func->num); -+ printk("==========================================\n"); ++ pr_debug("\n==========================================\n"); ++ pr_debug("aml_sdio_remove++ func->num =%d \n",func->num); ++ pr_debug("==========================================\n"); + aml_sdio_disable_irq(SDIO_FUNC1); + hal_priv->powersave_init_flag = 1; + hal_free(); @@ -118441,10 +120538,10 @@ index 000000000000..f4ce6a176552 +#endif /*end HAL_FPGA_VER */ diff --git a/drivers/net/wireless/w1/vmac/wifi_sdio.h b/drivers/net/wireless/w1/vmac/wifi_sdio.h new file mode 100644 -index 000000000000..a8883c97bdf4 +index 0000000000000000000000000000000000000000..3952753e7d76b78f7aaccd8ad5aae955c62a86e2 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_sdio.h -@@ -0,0 +1,194 @@ +@@ -0,0 +1,193 @@ +#ifndef AML_SDIO_H +#define AML_SDIO_H + @@ -118533,7 +120630,6 @@ index 000000000000..a8883c97bdf4 +#define SDIOH_API_RC_FAIL (0x01) +#define SDIOH_API_SUCCESS(status) (status == 0) + -+struct sdio_func *aml_priv_to_func(int func_n); + +int aml_sdio_bottom_write8(unsigned char func_num, int addr, unsigned char data); +unsigned char aml_sdio_bottom_read8(unsigned char func_num, int addr); @@ -118626,8 +120722,6 @@ index 000000000000..a8883c97bdf4 + extern unsigned char (*host_wake_w1_req)(void); + extern int (*host_suspend_req)(struct device* device); + extern int (*host_resume_req)(struct device* device); -+ extern void aml_wifi_sdio_power_lock(void); -+ extern void aml_wifi_sdio_power_unlock(void); + #define AML_W1_WIFI_POWER_ON 1 + #define AML_W1_WIFI_POWER_OFF 0 + @@ -118638,10 +120732,12 @@ index 000000000000..a8883c97bdf4 + int aml_sdio_pm_resume(struct device *device); +#endif + ++ struct sdio_func *aml_priv_to_func(int func_n); ++ +#endif //AML_SDIO_H diff --git a/drivers/net/wireless/w1/vmac/wifi_share_fifo.c b/drivers/net/wireless/w1/vmac/wifi_share_fifo.c new file mode 100644 -index 000000000000..d3d5eee1a007 +index 0000000000000000000000000000000000000000..b4f3bc8f7e5f8863a579412ac868edd6b8e892f5 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_share_fifo.c @@ -0,0 +1,517 @@ @@ -118690,7 +120786,7 @@ index 000000000000..d3d5eee1a007 +{ + struct _CO_SF_BLOCK_IDX *BlockOutIdxPtr; + BlockOutIdxPtr = &SharedFifoPtr->IdxTab[ BlockID ]; -+ printk("b%d I%d,O%d\n",BlockID,BlockOutIdxPtr->In,BlockOutIdxPtr->Out); ++ pr_debug("b%d I%d,O%d\n",BlockID,BlockOutIdxPtr->In,BlockOutIdxPtr->Out); +} + +void qfifo_mng_info_dump(struct _CO_SHARED_FIFO* const SharedFifoPtr) @@ -119164,7 +121260,7 @@ index 000000000000..d3d5eee1a007 +#endif diff --git a/drivers/net/wireless/w1/vmac/wifi_share_fifo.h b/drivers/net/wireless/w1/vmac/wifi_share_fifo.h new file mode 100644 -index 000000000000..8bb71efa847e +index 0000000000000000000000000000000000000000..8bb71efa847e7b6d180e838ac18b6abe63805b17 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_share_fifo.h @@ -0,0 +1,160 @@ @@ -119330,75 +121426,75 @@ index 000000000000..8bb71efa847e +#endif //CO_SHARED_FIFO_H diff --git a/drivers/net/wireless/w1/vmac/wifi_skbbuf.c b/drivers/net/wireless/w1/vmac/wifi_skbbuf.c new file mode 100644 -index 000000000000..cc91ac6543af +index 0000000000000000000000000000000000000000..5e9e3a9bcceba8e461c95b54031ed7ccc2d8f376 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_skbbuf.c @@ -0,0 +1,9 @@ -+#include "wifi_skbbuf.h" -+ -+#ifdef SKBBUF_DEBUG -+ -+int skb_alloc_time = 0; -+int skb_free_time = 0; -+ -+#endif -+ ++#include "wifi_skbbuf.h" ++ ++#ifdef SKBBUF_DEBUG ++ ++int skb_alloc_time = 0; ++int skb_free_time = 0; ++ ++#endif ++ diff --git a/drivers/net/wireless/w1/vmac/wifi_skbbuf.h b/drivers/net/wireless/w1/vmac/wifi_skbbuf.h new file mode 100644 -index 000000000000..5feb8e7975d2 +index 0000000000000000000000000000000000000000..cc41998d6292a707915e1b8855c5af9f2191f534 --- /dev/null +++ b/drivers/net/wireless/w1/vmac/wifi_skbbuf.h @@ -0,0 +1,50 @@ -+#ifndef _WIFI_SKBBUF_H_ -+#define _WIFI_SKBBUF_H_ -+ -+#include -+ -+//#define SKBBUF_DEBUG -+ -+#define OS_SKB_CB_MAXLEN (48)//kernel skb -> cb len = 48 -+#define os_skb_data(_skb) ((_skb)->data) -+#define os_skb_cb(_skb) ((_skb)->cb) -+#define os_skb_get_pktlen(_skb) ((_skb)->len) -+#define os_skb_get_tailroom(_skb) skb_tailroom(_skb) -+#define os_skb_get_priority(_skb) ((_skb)->priority) -+#define os_skb_set_priority(_skb, _p) ((_skb)->priority = (_p)) -+#define os_skb_hdrspace(_skb) skb_headroom(_skb) -+#define os_skb_next(_skb) ((_skb)->next) -+ -+#define os_skb_push(_skb, _len) skb_push(_skb, _len) -+#define os_skb_trim(_skb, _len) skb_trim(_skb,_len) -+#define os_skb_pull(_skb, _len) skb_pull(_skb, _len) -+#define os_skb_put(_skb, _len) skb_put(_skb, _len) -+ -+#ifdef SKBBUF_DEBUG -+extern int skb_alloc_time; -+extern int skb_free_time; -+ -+#define os_skb_count_alloc(skb) AML_OUTPUT("%s skb:%p, skb_alloc_time:%d\n", __func__, skb, skb_alloc_time++); -+#define os_skb_count_free(skb) AML_OUTPUT("%s skb:%p, skb_free_time:%d\n", __func__, skb, skb_free_time++); -+ -+#define os_skb_alloc(len) dev_alloc_skb(ALIGN(len, 4)); \ -+ AML_OUTPUT("%s skb:%p, skb_alloc_time:%d\n", __func__, skb, skb_alloc_time++); -+#define os_skb_copy(ori_skb, priority, skb) skb_copy(ori_skb, priority);\ -+ AML_OUTPUT("%s skb:%p, skb_alloc_time:%d\n", __func__, skb, skb_alloc_time++); -+#define os_skb_copy_expand(ori_skb, header_len, tail_len, priority, skb) skb_copy_expand(ori_skb, header_len, tail_len, priority);\ -+ AML_OUTPUT("%s skb:%p, skb_alloc_time:%d\n", __func__, skb, skb_alloc_time++); -+ -+#define os_skb_free(skb) consume_skb(skb);\ -+ AML_OUTPUT("%s skb:%p, skb_free_time:%d\n", __func__, skb, skb_free_time++); -+ -+#else -+ -+#define os_skb_count_alloc(skb) -+#define os_skb_count_free(skb) -+#define os_skb_alloc(_len) dev_alloc_skb(ALIGN(_len, 4)); -+#define os_skb_free(skbbuf) { consume_skb(skbbuf); skbbuf = NULL; } -+#define os_skb_copy(ori_skb, priority, skb) skb_copy(ori_skb, priority); -+#define os_skb_copy_expand(ori_skb, header_len, tail_len, priority, skb) skb_copy_expand(ori_skb, header_len, tail_len, priority); -+#endif -+ -+#endif//_WIFI_SKBBUF_H_ ++#ifndef _WIFI_SKBBUF_H_ ++#define _WIFI_SKBBUF_H_ ++ ++#include ++ ++//#define SKBBUF_DEBUG ++ ++#define OS_SKB_CB_MAXLEN (48)//kernel skb -> cb len = 48 ++#define os_skb_data(_skb) ((_skb)->data) ++#define os_skb_cb(_skb) ((_skb)->cb) ++#define os_skb_get_pktlen(_skb) ((_skb)->len) ++#define os_skb_get_tailroom(_skb) skb_tailroom(_skb) ++#define os_skb_get_priority(_skb) ((_skb)->priority) ++#define os_skb_set_priority(_skb, _p) ((_skb)->priority = (_p)) ++#define os_skb_hdrspace(_skb) skb_headroom(_skb) ++#define os_skb_next(_skb) ((_skb)->next) ++ ++#define os_skb_push(_skb, _len) skb_push(_skb, _len) ++#define os_skb_trim(_skb, _len) skb_trim(_skb,_len) ++#define os_skb_pull(_skb, _len) skb_pull(_skb, _len) ++#define os_skb_put(_skb, _len) skb_put(_skb, _len) ++ ++#ifdef SKBBUF_DEBUG ++extern int skb_alloc_time; ++extern int skb_free_time; ++ ++#define os_skb_count_alloc(skb) AML_OUTPUT("%s skb:%p, skb_alloc_time:%d\n", __func__, skb, skb_alloc_time++); ++#define os_skb_count_free(skb) AML_OUTPUT("%s skb:%p, skb_free_time:%d\n", __func__, skb, skb_free_time++); ++ ++#define os_skb_alloc(len) dev_alloc_skb(ALIGN(len, 4)); \ ++ AML_OUTPUT("%s skb:%p, skb_alloc_time:%d\n", __func__, skb, skb_alloc_time++); ++#define os_skb_copy(ori_skb, priority, skb) skb_copy(ori_skb, priority);\ ++ AML_OUTPUT("%s skb:%p, skb_alloc_time:%d\n", __func__, skb, skb_alloc_time++); ++#define os_skb_copy_expand(ori_skb, header_len, tail_len, priority, skb) skb_copy_expand(ori_skb, header_len, tail_len, priority);\ ++ AML_OUTPUT("%s skb:%p, skb_alloc_time:%d\n", __func__, skb, skb_alloc_time++); ++ ++#define os_skb_free(skb) consume_skb(skb);\ ++ AML_OUTPUT("%s skb:%p, skb_free_time:%d\n", __func__, skb, skb_free_time++); ++ ++#else ++ ++#define os_skb_count_alloc(skb) ++#define os_skb_count_free(skb) ++#define os_skb_alloc(_len) dev_alloc_skb(ALIGN(_len, 4)); ++#define os_skb_free(skbbuf) { consume_skb(skbbuf); skbbuf = NULL; } ++#define os_skb_copy(ori_skb, priority, skb) skb_copy(ori_skb, priority); ++#define os_skb_copy_expand(ori_skb, header_len, tail_len, priority, skb) skb_copy_expand(ori_skb, header_len, tail_len, priority); ++#endif ++ ++#endif//_WIFI_SKBBUF_H_ -- -2.39.5 +Armbian diff --git a/patch/kernel/archive/meson64-6.6/jethome-0010-wifi-fix-scan-rx-uaf-on-rsn-parse-failure.patch b/patch/kernel/archive/meson64-6.6/jethome-0010-wifi-fix-scan-rx-uaf-on-rsn-parse-failure.patch deleted file mode 100644 index f87e78d4b..000000000 --- a/patch/kernel/archive/meson64-6.6/jethome-0010-wifi-fix-scan-rx-uaf-on-rsn-parse-failure.patch +++ /dev/null @@ -1,99 +0,0 @@ -From: ThirdReality -Subject: [PATCH] fix(wifi): don't free a listed scan entry when RSN parsing fails - -wifi_mac_scan_rx()'s error path corrupts the scan table and takes the box down -with a NULL dereference inside the scan list walk: - - Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP - pc : wifi_mac_scan_rx+0x59c/0x83c [vlsicomm] - Call trace: - wifi_mac_scan_rx <- wifi_mac_recv_probersp <- wifi_mac_recv_mgmt - <- wifi_mac_input <- wifi_mac_input_all <- wifi_mac_rx_complete - <- drv_intr_rx_ok <- hal_soft_rx_cs <- hal_rx_thread - -The function takes one of two entries: an existing one from the scan table -(oldse, already linked into st->st_hash[] and st->st_entry), or a freshly -kzalloc()ed one that is not linked anywhere yet. The "goto fail" taken when -wifi_mac_parse_counterpart_rsn() rejects an AP's RSN IE then has to unlink the -entry only in the first case. It gets that test wrong: - - if (WIFINET_ADDR_EQ(se, oldse)) { - -WIFINET_ADDR_EQ() is memcmp(a1, a2, 6), meant for MAC addresses. Applied to -two struct scaninfo_entry pointers it compares the first six bytes of the -structs instead of the pointers, and dereferences oldse - which is NULL on -every newly allocated entry. So: - - - oldse == NULL: memcmp() reads through a NULL pointer. Both operands are - kmalloc'd from the same 128-byte-aligned bucket and the leading bytes are - list_head pointers into the same slab, so the comparison is junk even when - it does not fault outright. - - - oldse != NULL: if those six bytes happen to differ, the list_del_init() - pair is skipped and the entry is kfree()d while still linked, leaving - st_hash[hash] and st_entry pointing at freed memory. The next walker - - wifi_mac_recv_probersp()'s hash lookup, wifi_mac_scan_flush(), or - wifi_mac_scan_rx() itself - follows the dangling se_hash into the freed - slab. That is the Oops above: faulting address 0, x0 holding the stale - entry, and the faulting insn b9400300 loading from it. - -Reproducer is simply an AP in range whose RSN IE this parser refuses (it only -accepts RSN_VERSION with recognised cipher/AKM selectors, and rejects WPA3 -suites among others, all of which log "RSN akm cipher wrong" / "RSN bad -version" first) whose BSSID is already in the scan table. Hence the crash at -~12.9s, right as NetworkManager kicks off the first scan. - -Fix both halves: - - - compare the pointers (se == oldse), which is what the code meant; - - free only an entry that was never published, so the table can never point - at freed memory. A listed oldse is left in place with its previous, still - coherent contents: it was already there before this probe response arrived - and the ageing path will retire it normally. - -The unlink-then-free that the old code attempted was itself wrong for a listed -entry, because callers of wifi_mac_scan_rx() keep using the table right after -it returns. Not touching a listed entry is both simpler and safe. Dropping -the WIFI_SCAN_SE_LIST_LOCK() section with it is fine: the remaining work no -longer touches either list. - -This path runs from hal_rx_thread under GFP_ATOMIC, so it must not sleep; -nothing here does. - -Applies on top of jethome-0004. ---- ---- a/drivers/net/wireless/w1/vmac/wifi_mac_scan.c -+++ b/drivers/net/wireless/w1/vmac/wifi_mac_scan.c -@@ -821,17 +821,23 @@ - - return; - - fail: -- WIFI_SCAN_SE_LIST_LOCK(st); -- if (WIFINET_ADDR_EQ(se, oldse)) { -- list_del_init(&se->se_list); -- list_del_init(&se->se_hash); -- printk("[Micro]%s_%d,delete oldse\n", __func__, __LINE__); -- } -- WIFI_SCAN_SE_LIST_UNLOCK(st); -- FREE(se,"sta_add.se"); -- printk("[Micro]%s_%d\n", __func__, __LINE__); -+ /* -+ * Only a never-published entry may be freed. When se == oldse it is -+ * already linked into st_hash[]/st_entry and callers keep walking those -+ * lists after we return, so freeing it left the table pointing into freed -+ * slab memory. Leave it linked with its previous contents instead; -+ * ageing retires it normally. -+ */ -+ if (se != oldse) { -+ DPRINTF(AML_DEBUG_WARNING, "%s %d RSN parse failed, dropping new entry\n", -+ __func__, __LINE__); -+ FREE(se, "sta_add.se"); -+ } else { -+ DPRINTF(AML_DEBUG_WARNING, "%s %d RSN parse failed, keeping listed entry\n", -+ __func__, __LINE__); -+ } - return; - } - - static void quiet_intf (struct wlan_net_vif *wnet_vif, unsigned char enable) From 92b55b6c5f805948691c2707aee622816f8b2079 Mon Sep 17 00:00:00 2001 From: "guoping.liu" Date: Sat, 10 Oct 2026 12:55:52 +0800 Subject: [PATCH 2/9] feat(uboot): Use ThirdReality FIP for trhubv3 Sign trhubv3 u-boot with thirdreality/amlogic-boot-fip branch hubv3 (Amlogic SDK 2025r1 bl2/bl30/bl31, HubV3 DDR4 acs.bin). Other trhub boards still use jethub-j100. --- config/sources/families/trhub.conf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config/sources/families/trhub.conf b/config/sources/families/trhub.conf index 3512ca158..1bb82ed8d 100644 --- a/config/sources/families/trhub.conf +++ b/config/sources/families/trhub.conf @@ -39,10 +39,14 @@ elif [[ "$BOARD" == "trhubv3a" ]]; then OFFSET=126 fi +function fetch_sources_tools__thirdreality_amlogic_fip() { + fetch_from_repo "https://github.com/thirdreality/amlogic-boot-fip" "amlogic-boot-fip-thirdreality" "branch:hubv3" +} + uboot_custom_postprocess() { display_alert "uboot_custom_postprocess:" "${BOARD}" "info" if [[ "$BOARD" == "trhubv3" ]]; then - uboot_axg_postprocess_ng "$SRC/cache/sources/amlogic-boot-fip/jethub-j100" + uboot_axg_postprocess_ng "$SRC/cache/sources/amlogic-boot-fip-thirdreality/thirdreality-hubv3" elif [[ "$BOARD" == "linuxbox" ]]; then uboot_axg_postprocess_ng "$SRC/cache/sources/amlogic-boot-fip/jethub-j100" elif [[ "$BOARD" == "trhubv3b" ]]; then From f56745564c5fd94fccd5b19c7726d515b488d44d Mon Sep 17 00:00:00 2001 From: "guoping.liu" Date: Sat, 10 Oct 2026 15:24:07 +0800 Subject: [PATCH 3/9] feat(burn): Use own SDK 2025r1 USB loaders for hubv3 Replace bins/hubv3 DDR.USB/UBOOT.USB with u-boot.bin.usb.bl2/.usb.tpl built from Amlogic SDK 2025r1 board axg_hubv3_v1 (HubV3 DDR4 acs, bl30 v1.1.3545, bl31 v1.3.2), drop the JetHome .default copies, rename amlogic-dt-id to axg_hubv3_v1 and point convert.sh v3 at bins/hubv3. v3a/v3b still use bins/j100. --- amlogic-tools.repo/bins/hubv3/DDR.USB | Bin 49152 -> 49152 bytes amlogic-tools.repo/bins/hubv3/DDR.USB.default | Bin 49152 -> 0 bytes amlogic-tools.repo/bins/hubv3/UBOOT.USB | Bin 959488 -> 605184 bytes .../bins/hubv3/UBOOT.USB.default | Bin 590336 -> 0 bytes amlogic-tools.repo/convert.sh | 2 +- .../dts/meson-axg-thirdreality-trhub-v3.dts | 2 +- 6 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 amlogic-tools.repo/bins/hubv3/DDR.USB.default delete mode 100644 amlogic-tools.repo/bins/hubv3/UBOOT.USB.default diff --git a/amlogic-tools.repo/bins/hubv3/DDR.USB b/amlogic-tools.repo/bins/hubv3/DDR.USB index de5f9fc7d4e61417ad3f4718a2999ff8e17b7e57..ff7a8bef49135acac31a7d61ebb4dfb670a7c95e 100644 GIT binary patch delta 11876 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ȨlN?6h^?#rD7D;P4V*2Toffgu&UVn|Egh63?FJ#Q*n^|$zqmb)BAAEcBq;o&$ zz#`;F)~ZbIh2<{%S6<@XqnFV4Bz_RS({X&KX;XIb2r@5>9_y1m-o>YHaj@?^EW zlyPqCgULPRCFU=X=~M6O<-5joZP)0>&F>G^s&QoHm8y%(@%6l85j3lINxXpY4D9F& z++`tt&kLOGlBYupbDr~Vk(_B2KS6vekuly^#fHop_zmA{k$W+WX=?G;#NV5X@0YKh zcoy3y^`Qq%Tk_5Eci){j?CVbs`zEPzgZAZ&vN8)B6nCNR<9mjW^BqGuW4rGLHNJxW z@4JEZIDaylyhHZAN<;Gg>b?Ydd0*DLDLsZJlTl5^2);Gvj-mKDoPQ1a^J_i=j?#}f z{gC#CpfmT5PJbbwTEqKzck}Iurh4*hnP!eJ^{FTJg720Y=J{N5gP8kjQga~ z-z^pRI@afTH&LYqPfZ-QE=vw8`oWbjQNdsM(pQTPPhxLnyP4u$^w7tV59{>ABB2e3 zr%HW~QilG<3t3N;vXrZX|D02D`dvz&Re3T>KBvz?Y-py>&}1F`R`lDU3-_Ziww}{( z?oQ#3r7SH}$~hx!xVQ$PL6G(}+KmUyacLWSj8Kv-$@v_L1ck`SUg20r9OF=^}^$! zdygYHV$;*-`qFwSebM+%WSLswoTc>iE6jXN?%@4;&Vb&}_XxdbwP;s*^sb=)Gcxr4q|lo*ZNB&-rJ;s2y$$F+6WHj- z%<&Vq^8Nz!jZ85cBL1Zfk=6I?sVg>Zv5{gApTTB0G`=!<%H`(_?tn`U-$3007h2Ok z^e+v4E?s{T`zf@QcR!WLd3mM%4}1gbJUU-4bNHVgtl*ttcobR!4F^v!CxyTN#`9u$ zJoF##oypy2CJu{VAijY31n2q#SBeguyI+*9U&j9b(pR|Qi>|Nm1NwtM;ra?Wb4X;g z{S|1*SZ<~7m=qt};Qpho=DL<;GCr&XH*Aptu5MF-k{I{cq+#y7c8HtN9s4JKX}`!5xLt++OW=QqaaXXmV`Xm|4kbauZ^5O#Lj8M!`bbJ+lB}GziHzG z7ihzhHm+Ts>4#UJ+eUGqMDDrzZ_ujv0=!5HFZAFAcu^i`*O{;Xm-V}T;UAGTQ~b4b z-bxu)E)W*ps9D{PU#(bo4Z`nW4EvqVt5Hs2qrLYo)uZmbcdYh4XN*>R({pPh9p9Z! z=bO7y)*@b4&siqsU3Khx3CxwroV(@mJ;l$K`*$tuKKF;eGKOyy$F9+K;Ny$|I(vfL z!(#8^+bI7?-z@Y}+v$E=SLgd6lJ=l{H-%^4GUwYt`1>XJHanv?lAp0Lg&!WZR=R$5 z9q-S66S&-~8H*_UB(%~tbvxf9UQ|$@>ZhKL!qR7Z119gwsTHyha1VZ_B99MSA%3UK zMI@hZe)81kaV*mFsDSuJu}`vwjZG{B_l{|%-P=>^)Fb)VQIFs$bqMZ%4c?Bg#h7V+ zerHro9%$?4d&!2-4?A&m=NF^Wmi9{eo<`n7cH;BXeo{JKO8z$)LyzbsuOzX_?igEw zU$-;*)bFrGw2ANN+-n@BP4NpHJA)tY-93M1tGoW_`M1s(f!{5Aox&sT7ZRTUUim@= z7qMmtt-U(uQRfet52!rmT(_u)XUs9j8=cnr{xyy;o$Ln+u8my&z;A1a*nY?yOML7&T;VrbgFN4^Uuc3i%5 zIcq@j32!RXyb=GUuK?QlJ;tD+EBGEYu*Z($kc@oE^8^!Z@7_l zeEM>@MB3$h-#TkZ*r?L`k4@(6fm$KB{ww{EdAZ;!c>Wwb1t*2v=38gBx@Q(-{9^11$=H>LzI3U) zmI!wJlJ(7l3D!FIEB~%M!rcG+>^$x++HpE|f23I1a!0Z26xcLGsa^NYnrxeJ@J=H z4?cXr4DQ;=w=?pNRt~;K`{H+zuc7-h^9H33jqfqLvQ|3a-Piy3@K^3um;3nTP6_cF zvO0G5JXhwAGoYR5*hdRy>=K<5-4a@SY|4yXGPjiZq~Ncs!GK4X2zz_n0az4NYK6Qv zRXs&b=f3LDi+8SFdh*W1(nQQ3LKmk?oOOulV|T`vCOG#UXa7Ol>d@2vPw% z-%NO=uKM39dIJxB9lz^N13G(jl654x(~G&o17e@vqO8m%#P6ql>KB+A_$@dz!!wb~ zNXNY+;`dHLHVxuKy38HRC?jiB()NsjjnpUf8HEn`go}`whJClj2AlbHakeBu|8C?g zP5`+!NPFUc7`tS?f?Xdr^mniBzcV3n)=}i8yaHT%;cw5U@7*J|d*5tr`~_^)zS(umpQP_T=euvx_s4(A`!;-!7XKhBK0?ULLN@7>K#zT*jSYi3^#8+BMgD>dJ+f2i{=Dfq>d z8rSBqPHte!in}Yc`BE>xd7kf+wS8}5LnG7|p}t1ylY1V-E_CVY6-W2sSw^<7DbkjF zcTcS{?1yPDcBz?i>>^`q8Q+0}S1V!>V;2}Prj~^op|9lO8zn2`TQ#vuStlS~i@eoQ z_hED;_I+hHe_y_(&HIMP(q3I_?IPb!$YSK6 zG~|_)b>$tDm-~El%KZ{POWkASlR4D_aOt4l-2P<0A(&n3Mfi{R_Dr_7vlk_{P-J(= z(FuCB#jyWc`UJj$TYMhp4G-zIf$mnGcFzDf{74$M^j-F*V-77!oVAAAoc_uBL&<>P z;qmm$*6(EA8N?3_$-SFF{8iD{Bg|RexV)l9zDM@>p8G3w_}Yc636F(eb*kIBdm!o4 z>`v-u-H&^W%335YIyZJ~5&bU-^^n%9mlXA}4^Yc@h1#pSE9ASFM}fBcBvcQtyHZ&Jq;HhUY$1VsmM*{ z8?)&(bt$i~eU+RM5#L2+;I+?Ze1ECCAZVWfKibLE@xO=%*?+yCCwK5Y@H>7#U_F6_ zq24vX4e0S6`>Vw-Og!)ccaJzY4hHR4&Z);o{Ry?uPJl~df!W~0PGQgS<*;*3Ud#Em zt=N_7ZF_xjaU7JYcM-W*gazes$CTG`{@cJD|WcpdK? zPX>QE6Pu22kv)l8eB5p~eNg5>+(%uMYr}N#^7+}K$y%m>{ ze*QkImf2^GSFoQq7aIZ1@Nrl(VJv_z2KI69|DJeYlfy&#_7-F5#oXV{Ge((8@(+Rk z5VnZDh*r+tHI34y?4L`0@hUUbf$g!85BbhlEQCE2oQkp8-AqA9Uz1-(xz69Ll+-z4+~MFW=HC`zG?W zZz>K*{q4GYM?3vVeUm=kOBtc#+4!V&Fh4mwOxZ`-+ZFxz(#sPw^?KFD+%Gf+K7xnH zvsznai;pIEt90;giYrf9`!6!&;LJU#Zz99u3(NkC?89(3jrigN^h?e%9BR)G+I{IU zz&WGe0sq18lcY->viIk}?{nd+({RB$oIZnTxJhQnXjgCku%WuQ2+Dbb&_z#KC?HQdk37$Uzdi?UNF8rdU8narcpdq zakay;i`vbB7c3A^tYLFW+TF4npg}MfQl_rTrx3Wti*DE-G z*u{DJI{{^%O4oT8^<8jJ!dc^Vzkz3p|2JBXFQ$(B7?-M&_=5Q4)yc_W6Te*OEV?E( zQFK&%6{n2kdnUeA((z}8!R-}`G;MwL(ggml%xxs?Mff4si6zRn|`KV7HDdm5jCD$Zp!WGFq13aI_8W))=nQj4Y4<70 zU&3!M^X3@!St@Tu0ru%B%1Zldl<$=>&bbSIVjD+&{*cro>jJ+>x96RA@y^yvVGr13 zEubsp+CoeFd}bXtIq}`Am2%^K_`e!9?$4!*{S)4K=SrmAbJ`ks{Uvw5CdOGU3!FtR ze+{pNzJl`w%OdZ{8*++&MR|*}hh4QNzHZ1q!@Tr2fQC5dDr3TJ+VrQX zSNx>2?QqtHN}c~qeX|SStAp=EarURO?CZ z1=`CVtlV>fe|e|iBs{Bw=5f}r`nNL=THh?+BX4+=_Ph8#d>!*g7YEN)X3q(Tu1o#w znT5o5zk$zk5S$eJ=wOZ@^V{!IkL(S63VIzUj9o6(*b5SSH{#^U-YqHT0r_TE#?E-> z0~Ph%`nx^i3hL6M0{ zbSx(EQpIsTS6`HWsneEOT<$z0pW3jo!??z{YQZ&&7G6_RbA@qpywj*zV$>|Cx#~(I zzU2<%j+&*-;YACtGCpYBxo%U-hE46}J@Jhj*Da{|VEcN92K-m*n^ZV;I%^quGm8Rz zB5Kp^#>TtjYmE(e-C^7w->|VzwXglqy1VX57>T>q8p?>b-C-=)qKx*Ac*m#OjZA9u z-FJ5wYu9~xLt>q=uC49vwnF8UYQJYg$9l?bj<)JB$y0vSmq&*Y=c-w}Kb(vUH=qU`lK#eWyI*m=Rr*mD0vAON;JKExR-L-D5aw~8U zq?vVFHg9MH+UPR&I^m&1%%%-@t-JeE9mYNJ4ILXc-C-o+ZEGF&b>^@*Aw0gjrBK~L z8$uH!Q?FDcoQkZhx#p}Sr}mrcmbvm`&~=AmMzvZN-z4}tG7?>NbHupE>1(>m!knt0 zvqATqs-Tb29{=>ZwFuiC2!h(w+}xqs6LBhT?l9IR66u!K$2V_Yx9OTfm;%ux^O`t? zuThA8qQyw8U&sIHh>&#M+90^l)Rk9WS*Vt+`lylE*m8|gv*_mKpD9$0f7NKLTDdX{ zSJ&UT+JP81fL(jMExtCvR6*9cMBzNtT&Je7N(W@EWe-g!g%Hm zmE!+JO08Vw#++x3Qc?P{z_@Bj^9Du%Cz5_#epNbfm6xh|_n&s`cwhQ?F#Y^q`q>ES z9f4@aPHf(Mm%3`ff(3=D#`%At^M9Hd!c*`tHgDW$GAH0hHq$}#?h?*b&RL9*PP>u{3 zt8QqFE^y@b%ILa|woXU3>Q^twg42+zG7vZQ|Fm~)u~8La_&>X+d-m$mrO-laJ*$wE zJG(8RAmSF-(n=}KauF|Nd)dVTEhX%>X&NzGASzKwi5fs&fRGr7F}z4(B4iCO1`~ru zi4VqzA=>z0j1NW)7r$@L?y}`#zz3gpHhca#Gyj?S{(sI~&ipgypcbJvt=i1+yq{Oq z7lr5ikcusyY8U1f-NNqfZK-rTolK=IxVW8JHLMJA5vn|EdOip>q7TyHZij?sN7MTC zZhD%VTH7oY6*5UCm`1EnSJ-B)KsTYX%2lOc&@B_fsd9v^vO14DS&M^noV?YCbLIR> zj_%LVH*?gTN}!iXB)bP+LQ~I*mPn?PJ!!NK;@&x6{#$f37F!n!nkxs?LvdI2=DHoA7z#46+}dHbKO=WUq&+zVe5u}n z!M=pqoiuxsyO|<*uy?_73quQi4p--^En3p9+q5##O-A4*T$<|bTIA0A8VbJpf-h9? zh27%b5CuH98`6Z7PzwPFc z=40>9>iGQp^K#|#ukT;~<(oB!_a1Hdz2V%oTX57t@ZFJAXka+^}eI1RgW@+V{xb6WuuFpJ-@)(K9Y|lF@2sk+b6Whm;`jJG z~<;l~v-x_AK*bc{klg{xo*=w~~^R1qYY}P8olBNkmRv~#B@L7`P|`q210@YSj0VtoR**ld$>yv0Kj>WKJGtw| zKDPShe4ZJs38hVQ6np4I+h3SV*E(H+2#FZg<6t3;jLk}8lvJfrf%i36g$sG$yWz)GdbjaG_Av}sVk zTBBG9gPoXRkEJd9Y+`=|--WZ**I{5({x{}hVgHQD%X{8l0p2F8iOb-9|FoCpc~4^Q zmb^@Z?=&j#BR`AZ(htT`SWldZ;aLsq11_9~F2`=z<&YeoiG8Z_R~u|UnFDHV<5=p- z%tITLEokzYX3)_CzyKL8VLqJK$@t7e5rk)lGG9HD<68#$=};zSf-kH1@Qx->o^$OA z?G72Np%}$q?H$UmV;>F#Oxir|6({!aedF+5mHWrpRa|}z39(;AH4}YiKrL)N1@-yV+-1bmS~v!w>dAqcM5h5+BzZ``!S3+%gx>yjoiB$gzdw2>()nHXC~SDH)!_|i8p?M zJPNiC=r(VMc+l@Gi*hxB7pY*JU5$_Jaa=uJmV?@5nzVrGQYG9}Tqc$BBB%o+^sS(V zOp#rn*w!o~pe}5#+7F7C5z9eP52pB!fO;`nKMCp+zkC4t2!7{4{Rqi|P6Edz&~jYC zdBy-z_#SjJQsh%)1#;lVt0~CwI_Oj&aNwD^5{M>&RskVD;4=+~u_h4cZ89IU8WJ^v z)TioWxH#iJx*3KjkET%1Qi`llUno@l#IXr<}x3 zIflr&J%KuH574g6mk_y_BkK&Lx_B%MHq1PO$ZPIq!h(t)6;qln{4!sGCg24?*5 zF+&iXK}7{Y2LWdy=nTFI8YM{R2gqyX(EHYFE{+UAuN22>Itf3|aWf3 z5@P=u(NO4f-{1e(-*(3R+eeZ{mHZ6#ckTW$!25zT(Ehl zI*I?MY^3y#za0C^qu<57eAA5I#{9PK@3Lkv{a^F_bE*GzDF4OMLr1oL7x(m!FC9Lg z_$AjI^Y8IJb=T+j{OpPE;*K=PUv_L<^IV4M-{<>BO~!vF*gq16eZv$Orob=-{+lRZ z9O8gv$h{V}1Hbvdsg7YZ!xR{%!2jD6un+Ncy-rob=- zhAA*ifnf>^Q(%|^!xR{%z%T`dDKJcdVG0aWV3-2K6d0z!Fa?GwFie4A3Jg@cipd4pLlCw^Wg`!{c72_ukNkApBUpe1jcK`M#CSX40l*7@8`J(f{Eto`#^(WV0RDIQetAP1 zFT?*L;KQM~Gh+wKMx%Y7CJp+x6%ymifJVTlfd3ut|39SVS>iscTDRoh`*SDePRyH< zKP6{!P5#s=lNZ%Yo_1}V7vEm|S*1)!ZD;&uZ|AC~W6O-?aUzY;mFdd2IS+Y@6h5-| zd}QgPf<{()LIENlZzSH@HN<%5lY_7Y?m~n;v%*-7`X5Luonw5tNpi^}IFo2v>gsB> znyNgr;*sWQ;Du-*zBD46@33<&&nV#oFW+9w8Oz5O`V#))^)F!7ZCvME7hS56<9dHt zf4ef?7zux5Z)9nto0mDB%TDkn2u+tf4vqX{qYi1`_s9X-p4Y31QMs2GLn1LAxQ`fh za0$TJz)8Gds^^gR^B$|j>)6nqb=WKxuOy1-hBglL4f3QZ4hWp;yysYKw@~`|eiKJ(KF0{c3QFT7Xen+`~*U z=ltDICTh;n*bV9gwDs;D57C^V;Rn<-gy;3t>juNC)l`JtJtUnOKdw?6#;cFj`e@!7 z^`}ZY(a1A^Qxd>;~UN^>Vm`@+B9EV9CHT}*##7F%fiVl~(iqO|!; z*|+YTZo(Ps@Qc@DtvQNkPbA?ij z$eT)mkSj6y8u=B)nEiKu(5WQ1>AK?FhIOpE)wJ1`)X1%us#X^`G7P)Hoy+} z2>l-ba8;Pkt;Bd0er@SRC8e1NKXyiJ__0&-$a10fQmFE8f*M@m-3ol00nq}FaGOfk zCW}5rHmbpIyq;NfeWKh(gJiud#~!>S$8zE$oe`Uvj(BziXvoAyd07i*`LQ#8BPa8m ztBvJ0f=75}MVD8~EXQ^fv)~d8ErVIgQrUR<#^56uGE-Dl#eK*^D#jomclV;4Lk1= zS?{_;Qn$$@R`JiQCpqjFW|WBREfBZ^auZ|D70AV#g-aNR1>hmCz542_n?ax3Fc(iO zB*vw1HvnjBn>+R4{_ySuiFY?A0gQLLnh&Cn;j*+GEuUav-E1GR^LEcH8V4TZ(g=@X zEH0?4-=*}4%y3pj`e{!BJ?M$`#O0fizL`5K@$v?>NVus~4MwU=j@!RhBDQiLW951yIv$b|T@Q$vjX~?A za(kJ*l$W1Ye<>xTHuOH){b9#AjU@bVkm=KuXyiZA`kPN*cBY=beDmd$c9wOtGt9yE z7`CcCf;oZs&o8r+Pb!OKrdRvh5qWQ%Xu4lY1P$ zCzTVEZS}ky%QM-G@7U#=m#_zXO|&kp`xMd&>xmpom<-NGQuP>{Y^)68rRhpTLRuo` zBHu^yV}#K{eq&`<qsm5ul5HVA|F%nHrmIcM6<;EgpTW$!>Q{rm4SDJrbF7>6 zYPvD&COO+Q?6sM9)lbYyQ>HMf9;@F0E@;P|aFkr^4AA;$ANfVZ*aTMu9Z0Gg{KZj1 z^bKn8Pa&O~6}a|V?!1&>)|Bz`_<_Ol->bctvy@gJp&TcWj6>M5#&J$3E01G|JdWJy zo$F*QcgO7}T!-l5x~p7lFOd^Ox+X~mC;a>TG!I*TcbpTP6TIRpaGd|sykC=6#vR7* zB|nnZoXc`0F*8D~Ae0Lg7nOn!0AB&N0bXRgC*Pm`*r=*E^rhg+3B@t(4%@t{V~X)W zRJ+4EK{AQss;5`#Gw-c&_>U_Eb(M1ML&udF2TV&xOYb|2PBFQLOl|w4TD~KSXFC$u z7XKu-y)?OM-_?ROliZWajwuB*>3%b@JW{Mp`T*;y+2|HOQ25*@@T<@L1iw+akyRfk z#@y<6NxE+Qeka?ZXA>^aol4VD>oOJ|Q{rp2m{soubeSw|#n$%&+RP|#Qsolq_caZH zk(Dlmf9T!72u1hs2t_|bHz~ubo50B&!^!>JAk`PT{zOtFO|G_==}&8m;&r`DN2)7P zWTt$C@uTB!#@N3Rfjtg<@&M!)x(+Da6X4g^VPE`|7;8Vl9D$zzbPbZg%YRlW=g^im zUoN&X)@DVvlkQv(ci>GfQq5CyWvX zOEKwWs{Zu*PHh<9{iL#pK}b1C%qhY_=aC}z)HBKN7iGBmb@%Jn>&LrR>aY00b1T%~ z@B0Z6vA(gVS8fpUXCr?Hxi{PUjPR=PHhdZ0F~THwjIb4Lvs)4b!|yLD?;Oy`FDZ>3 zB(}^qSttV+s8KlKSji^}Z|8kQ!dziGqml0d@3**(6L*QJ_4{6S^5A*qaE)e#n6a*(UWJYHy?{RT9LBZQJfISQodSk$26bC&)X8v- za7_(N8nc7nLw2aaU#jc@W0SGLHI|viOgAY^Y@EVWvOax%o%5=XBtupu>l=)zk^uR; zf2BaulIG+Jqs=1~#>V9HvaZjVebtXJxC7J2TgNDz`H@B@&uHuM$6?=pyCdq}*i)m; zu}JUejYZ7eM0YwA;4IN)(H+r54St|H8b_NANdKzWKqdFC+O;N;Kj3NFiMdH-X){}^ z{to^HaD8x(0%pKZd5O{xU161WHd?z#4M~rzw2I@UP7-s*U}mQ9a#Uzx&egM%g=qqB z=H>ccIp9LRwt&*K=YtycH1OzA<6WBDy;htPtX;J=VSrS3rx)$0F;RZyrFl7;k1X)I znt|E-6wY*>tvj4=_$vZE?`4BhclM6)-xGV z-pZ~$Yl(GVcM7+!yVix0(majZ+uX^xh|F=#otn7-BWoia4AJ^EZeWu=vnsnjTl;N* zu|ZODv+k}y^PUeTkU#G#Bsbm1NdE?JvXrdhwA)c4ui&VU+h_EP?SS>@e3om;%T znZq2?J6O5mh&oZaE9Y|Otcyy;BOBbCOA5T3g=9%9>@3Of?!->@SJhEM?~uwzntxeVs26LNNq{MNv4o(KhC|a7`JX$M$}$>nBYv2 zuBySGs;g#SRK9<)vaK{@CZ8=WH1ll+zPK#{pyy|}ie)k{TeOL3GP#YHGX^TV9`t03 zylfq?LDu;090NRz%A0?Nx|PzB%HC z+YDA5=>8vM0&RU|xx4I--6%X_Ol)``Q zcUIV6DVq$mu3|yk3i|%XsQ_d@gHK@6T!IBP%q;s;uwrmTx7 zYugOq(O*M+v0Ph2(&!w%sJy=QqS8`p6K&FYl1Jw;R@wgkh1plnmg5{}ljuyY==pJ| z7B=k@_!z@S;a}R0ZumGu1AckK!LYv*zY&Jl18IDw{L2SW-))&)Mbidpz1iiGd24eZ z2J-oDL(_pjzKqt8+;dwXOw->G??NgUV16xFLX6*H&8X+&XV7_k1%9JMj94HO)P06Y5o&9a1^J^4|z(+fT61NWXP{dzQ&>4Mew))HM%`c0cZn^v@gn1h7O3#1dcj zk+Q|U0b`?1zJL-RkXmV{^Y1N8ZX0-b3h25Bw4%I^)INE4cnlWKoX!857#~OcZvn3Y zngFK&>YsKM{s33sK&iUXI@+u$rxM##><{`T9#ZFKLS?qBA-ojNVBROM=S{tycS|^L z-VJ#@4N({`s`+qSc^)NV$|*J zsEEJQiJc+bDy%Qp2M40V@=Ik`?HYP&;pLM4BFtws__eCT_9pa8V>;*@b#_IuMIcspNw$AYGBcS#${E4%@_{~Gdj$7; z=XigEGxO}nf>(JXe^bRgxhf#;CuWJdrQFY8@W8No_ z&zax&{?ti0Z7 zawQ+OLi-qH(Uw7KmD#?_fhY@ybv)2Z%vSm# zz=t$rgU+ohOL=&-*&=YVKBOs&l&q-5)yBIbsb&*-9!GmAE@BC5WvCt`_S$Jw@nh9k zutVOW!z$c-D5KtlHO`mwSmR$cF&5696qdQ30}jgnc4B?fv7hMH3fmQjXJ&n-HM=}# zaL1U%$^Y3@fcPSZ8vJr#lam$LvsPhz*^hx#p#ZeKFmO@XS*O9;+=*RvXDxXfl+7DA z`_Bpy|D+Jl$5@{>Q4PMU=13%Gz^^lhfFuwSGF=PH06;Aw~v zG(tg`!_EgqV#|%7$em5l4GhG%dExkFvS=st<7!^iY}(>`ZfLOvHI;>1O!>1K%*6TY zy`lPO9kf2W=SD%FKL-&-=QODVXO}%9N{yf` zj|tO=+(4uKDD!?UX6AqN_3r^y3Ce5p7c^e zNe9tn2+#|s&TV7Zb4>XUyVT5}`X_91-c{T}qhf|J#n<&M}M#kW$@gnP#%|mHMxQxh3I(NP~N!%q8 z%Q?_}o|;cro|m@!TD`gk#?p`)-Jv7Uy$!se=%AOO+|$($Kei(W37^9Iz6K2o8Z?-z z->D>H6;5c=FrV!GOin>XR?BGfRD?47r=tHBnbuBQI1cVFa2A`4wB&v(=)9hTmK#(g zYh7|W`~^*;&DlteqN!cYE~`8au@))AZF2n>7;T<_v{2u8dWw@(P~NmGe2S{3y6xl` zi!IXsVP`FCcBjj{=GFRfWr^Zw^Ej0GwvWw;MH}Pc|FVzb?wfbL=C1uU9|V}xOTZtE z^v}ZSA=f|Bcev^Ubc~4n>qFh>cQI3|j#^5L{h(Vq+#GSpu#BlcG9}SRG>W{ftaVmwGZ~Z6D^8C+@ol{4y})X zfBjJF|AsUz!v8VU+AqKdXuEDfeHj2dpbB7Wh%b+?FiCs6A6a9SnYGXuZDVa;{ z@)Yep80liRTQQTFSFAYUgQ5~KyX0v2h`bgn$truolwfv2{#|Po>1p1Kdg%GsK&h@V zo*8S2aOYxP>C5Mf{N!DLbAY5OO}R^{$PNX^9reu0K>n>LN0_);kuXe(MT92s-21%c zVYr{aFE_k+U^-6P#HKkvIF}54snB6hb*EU8C6dZ)zsarHkNVzVx97W|zmd4@d8nV? z4k=M#UW@(Y(Mz#p9By_#SIz11ucTP@g67rH>zG1DVIIQ1wH%rst36foDv?(XFhBXh zABDU})D(;6m8kukyiILsv`Xf3oWEcz#nHYH*4AY#;-Aj+yGV03EAeV|;4iZUSruYyr^uBjG%> z2WjsC2Km61el>XC5FdzX`d{sP1r4L!qbs&6=DFLIRP%Pl0D~xhh>K_U0XVisK24upBay58w56RYkVZl9QfkRWKE#>4f-U9Fmy3dd=0T+l- zPhC6RuiazE*$l$i7Ngr(fqEEPPi$Fisa51;275HElh$$!HRd%^-xqyNmyFm)c6*W6 z9tw8%cLeC2CB;ke>wg1)-$;2}c|v$Uh^sKcCAScZ)@&6+!QH^NJdEw#J~ep1S`E#W z;R}jaU#3TkPaGY@{h$49*KzaL@DH_J-(W^-eEq5T{j}eL-#_;g%;h9;K6vCgF{x^P z)vl^@RY}$Jt9MnOt4^w+S`0>hA8kDVT0mAQceF9)c}t<4=b1d{M!9)aj8zm(R8k4& zAr_5$ehu0(nFn6R;!?7+DG#UR?I&s=d@~a^y2qNwN*i&S={oqxY)*c%=Y#B3H6L~A z@A##!HJiw7wK9HRsWn?3F4J@r5Kg{5^l^4-i#J=_!e@{7>9ezZ2Fv|!PiylGeRfX^ zvu~b~CKK;t7Gk`dN{l}MUWR|bJP2!t{OjS$Gq~*57B2hCmW!8o`Qcyv`Vm?KBj@&$ zw9M9Ll>!Hq#6-+)XAhHY^g~ZNUXMBa1eH)G-{rOoW5v7BGxV#1$R`KB36Sis{EQsa zuT5RPbdsoP-^dP9W_i_Y_bp8}mxxb3LmR8sSz!Kil(Pfdr9HYYb%IhG|{TV}Y#F-oSYHOM5m3(%?FJ z)}w}LMv5t&mJZ|jXDmy5Rt9o~1ms@Q%M05B#?+DUZ|hZPNe4=jc$^kj_WwG-WUueK z^DPx??zTV_Rt6*A-{TD!D)gnP0`n^K94BWe`g*h25McJK0w2%Dy!aE=KAj_EI&`fC z1M2q()A>TzAWy?^m4;GxX;}(1HdIz#qkMbNY$+)dF#AgeMr4=Fj%bO_jy@YRgU>dE zM|VtA#Oy+1&z@Q7m~)RWH+u2tE{8EYP9=roLGOe;P0L?}}s<>ZT9 z=+Qc|6Y06-CXoUizg*;NUrKClAHDY(96KIk_t{~M)mE(roxO~;z3Oscdb@F(TjAPoT{t76atH zB=PkCF&oQ>Y#ofX8mxsPZTs7Sn6UKbabfqec0mh^JrOh;0PV<418N5NN|>hk18NH5 zdAOx;$1WSx_bLru=w?{?Q}w9ZY#A#xl^reZKFGrc-)Qt?rzZo*GmqH@?4gXOT> z@Ky9r5^@IDS~}L+s&w3^rv2Z+rzmqC@Z-Ofb&V&+djO9C)&kxJyaD(y=Y=`>EpO!< zJ$v9MBXiyluX9@Wk4TH1K#b!6lK`g>z6|)kZO^s*e?)sYl>a>EG5-elXmgUZq0A{0 zCzaw@`DXC+2i=ETcPMw78LOrKKQJFCu&tcMQu9qUog4RKl)hO;Y(zc{sr%aO;4nM9 zjXRXP2+G=BZN$1mnNQ%lb|`mKS7hZ%m5$_vKvgM`UsM^32ux=JG(Ro3pbWXpMBcA< zT#x(dP~1Ce0CD#q-vT4eThzv-?ofV)@V#^4FQPaq%CFU0)TXJrv1Wohrw;;@=b9%% z%gLQkc8c3tX7aPTYX4(G&GrB+GE6kp)ux+8(-`Z7n#}>$JOlIaBDmAw?94}NUqUSE zM;mA#8QRD2Y(^i4X7dld-vv1H#Imo@-oboac;5eO&dUMboCf@FUB{mS{PzVkkZC&u z<7SUGXGvqrSos&Bv2I&<1!PGnkUdy=MW`?^I-EWV>5D=M?!O02;qVBA?+J}`e;0@i zhhq@FJw&WuVzrcD9TZ?akjXfsUt245k4Ib@ep}1coZqLAA+}=YDfaS+P21lF{GX8EIzZJ3<8l`rW&4>39(qFhe`c9pb*K)_`_WCv;gqf{)U* zt_M!joNOUuS!ul{gTr06ULoL5#QF_(>O8S#nbxN9<0OewG9iE|PwH(~5CTg>S- z=H*g7mtjQx*?p+H8gk+C*PJQPuoZ$=S*e78Iy_2SVB^8JyKC3;{?p1%qZ+L23(&bY zV!QJjl)b;N6>TWpJjBPC2ojdT&>qh$`j_5U5!eg0PN>AZ)d(>{MCmjk9^Ch@%4Aq` zX|bwW6du2YJ-vDcx-GgoIXUNW1;!g^_{v8QXko)PTG%O=8aHbla$W7axUtL=#-FT& zv`uWV9J9=JM|l}bp70)0m}m0gCl>aZvhr+iBh{b5VkrB?*PXGa*xkgo-d6@qiNk%j zv}@T(y@u+!DxtA$B$kT-X4ggK(gBjS*moY9VUktt&q_Yn{qU*`+@CyLogm~Ua?fz` z#U4)Jb~)wRxw&O#d6mQ5^(&$m-SnP&>v@H5jxWBTWRO;R+a>E_DrIfV=5_aV>WrH` z7Zfwurf|&%dTV7zgxE=3E&hAdebU z!3UOCpGD8g>S^quM8-<-s=+Hq1>s7-kv;lsygXB{2c;eQm)iAwq;Mz^dSv7sU#tc% zhKiwOY)qusAPe`bsAgJ8cDElmenb1Q9el#m5MMz$Ue_#^e(mJ^tC!{C)U_6^$Pj8o ztLSNRkDX}?wlG#`ZNqJ92+4uBm$hPzra-Hh0XgTtlt6&4kZ=8F=nugeycG9g;QlW_ zgxgS_C~aP~)tMx4{y(kKxu17xeZ)%4ani?g`Mg?NFVzrwSKy4bq{PbXJbWQ!Y>0s! zO0pDPx@XlUXPp1Ss;JUU&S?L*EbUo(bIi&o`c}c-%h)tevDk?@QtY7`R6D&NxDk(n z`i%|aGFX9@i$uBoL**je5wOam*b}@vmt0t-1O5bW%MzTm6^rrjz%yz&G2Vy^_$Nc# zv^v@yQ%cVx&x1>FqD$N;9uwKBqN>U+$6S3`B-X)Z@z3Had3})<_xJNejav)L0MD#u zoF)GP_!iIw=m!uL|AHsIN&_RW9*A%=|XL0_t`h?t!qju$6UElpP~q_c$jg_J{y?V?CXwo?I}zWTLN0k&Ddj!WxiNgzDvw2KPOHp-&HlG z{9M(wl1bH*%jZ{Dc5M!q`Z-E*C_S-!Pu`a(J#nbC4W+FposQD!|5V!gZ%SKG+8g)> z73cI(&6}lhOn5hcw0BD&HtX@0@~d@erybwA;&E!)=(h^6*)p$y%=C+1s@Y=Y)xBCv z4C-GXdINEgF3eaLR2P-K6=QGCCI(_)40HD%HzFLB)XqhbErgsPQ6f#7yZ>Vz@m26o z!CVvp4*{M6P}|h!sBR{+z*ozWF2!u^QmhFsv-k}3d!K85<_*uAHA&*r2#?fqr>VBD zmQ513%${|{{?m!L^}UnNJ8i?vAugLptpvTDl}{TWsVv8RyQ!EUC{Dbt>S+M68RCQnVJ9P&x8Jjxbm)JS{tTQ2dpwx`(Ijl^H+gYn5SEXkRf>mo1;arL##u$&q1fN<;O`xMYDxK$GLvK!j(2LTk>VoUH<-HC#m@H` zrAW!#_3$mbam%r8UL?*Gus3t>5`Q)udWZ;{bWi0j7P}4mGjF(GCL1(8yZN7aq0j6h z&@SGAk+`Egsd~C(fgR~|aXM&n&E*k}NB_R>FO=w=l}T=`yvf(tu`ssNZ-cFZ71jwh zu@KrPhAYGfxAf;p#btwiek@>ut~1@n`KUX=_Pl=z`p3xwT!d{)V6b0N_Zm(`BDLA3 z^+TWC_3%7bmpsoT)&;n5h!b}QXl)<+Cb`E*6T&;Y{(M?lGHZ}HDoo@6RJ-nk)< z%BcxG>EL~Ier|<4=>X8V`7-7lows!U<|FI@ueKu`1wR4Mc^bt|r-HXva-l=nKu+4`L zt+m|&J#QXzKB3SssO+O|y3OQ&L5XpolsOF+9qhsvlqhqeIo|bx5^c^XLrj_l60t|g z7d6nFjJ=_U88`IM(z87<8flS)_Bs?y>iK$U)iMsf90}iGe~mqqGL%B0paB#y*iEv7 zP4ez0Pr?r{-yet$ueWK+>c9-~)c_qEiH_IMn9W^*eID=|0No?rgzE>G0mcTSJ4Ld_ zq{WQ#)n$+NL8Hw&vP?eQxv-k)Y*x(Kh(gvDc~%#uxgHi2iMWAaWlo`M8(KBo6Vmz= z;2O1(>edaoy&5B7UxP(;qFGnQ$UlT{&kLGthICI(3~R3O{LMpc(XW-GHp}!4z*p)E z3Xc)g*iEi`eYurQ3U4fwKIkkPML9#El;M4sP`eOD9v4yB_Eo+HW1zD;Y*hX+MpViM zJxNc69Xxci10+Gy)jR7ARLIL8&TGSJElk>3Ram$*i$5; zzo8J9!=2@Gw7#e^(i#<}L03rM8d?4=Z<6?~b-cA}9hc&Y7YAp4wu{bYwV$T@7U!yot&P;KURE=8$`9@Q26mPjMqlLnvRE;Hfkq}%vSN+siYVWD-Wh$CLwvKE6&?qBC=xaf z1Htnlu9a9W2T0ZxfBNk73ZsSEKCp6LUlvNo#U#hP-9BPf&PfS#b1yVLnUW=p6X$2= zHYazMuFmKF5ub{93yr63czh`SPX|vP+%{Bytx7o(Bg+F(;re&e`mLt|#CFB6fqY23 z85r+{fPBDQjJpUo8{mPTQkl{@%IbD;Br$r%R#quypv1NwQttKwbC}}eG6fwaC7<1VQwNBzUd3!>sRTtbF^g`5N)-z+_>pIR{+ki~fmHwp)wW z6CZVQNqqa`5$@t-CRswrIjYMu$x;a$MjNx8JX6{Bn8xN01ylNvcGI2EqYU&@%XDs{ z-aAXlGXJFbp?cQZ*ull_@ZOX^E8i?E7yEISHpH_l`-3lf2UGcun+V@Ai!2|cFH&Cj z;ysgkm%sqahYDW{e6``eRfd8m5Bo7Mw*t0+{s-Zn0KiBs*4PkHQG;8?C`ez|`ihxG z275aly{!rJPg>5{ps(16ypcEL)eq4n9Xa(YO% zpBu{C+s9a~Rg@=Eyj1VkAKU>OhL^&3m;J#5M+f5`N8Ev-xIYZV)gtcjP~4uOxcd?J z(NNqoM~Q_=)j|TNH*=cuyTnA1o<-NrbIEp&o<|4ktifE>hPBq3GG;RF+~mLEzESTW za_%AGtwX!oKuaPEhm8%anMpI08zBGF*Kc`^QNT!j8k^$B&S+!&da*meVaJaYI|Aly z(0y)&el#QA%i>)ES7wkbGRIO$Im{~{zfv9AV+Tf?-@rV3rSA>*8x_gY8?)K%Z_s@v z$|@#n?$+0cuh9_f6&&)(4X@031*f04oesHW1DU|2|Iz)&Ipc7q+&nKsctO}n zDENd*eeZ^zbw4*dS-PlP*t<{M;RerohK5c*azZ&`--fX7Ya0H`u@lP2cANB6rM2oQ z_fvC{rKiek;CmVxjD2vErEkK&*6JtWuL=KtQ@sU#YYqLasd)mw`@+B9)I3h(7t-IF zg^$tr@b5PZH`Dk<^tWaaG-vjGi@?Y1-z=i%4C`W8y4h)jW4m*;7AC&~DXjBUh$v z7;RpKF}c{g3U!`PcG&L=yF2YG-M7HDXK~pHWsiNin=#YWI{VUa>PvPh?7nVa5_S*R z7l++6^f_PU+pdz-X`J%x|`XRj5+@> z&T?w-{ZPD_k^elfZ-&5ZaofN=>x0xShALmq_V z5spWgz)#?Jp#ECqbpSS@t{s4v0Gk0j0s8^*D4T%%3CN#-vIz*&HIEZDbPJ4}H()SN zgga><*_~WAR{V0YONn2xuUoTrte6ny8tm?qNsRnS&q8xVSX<4=iA|i}FwP>~KFjdmL6`-6K2Z?5Kb?V5v*?IJ3lRxONw2j(P9W z$>LW_pMth5b=fUq)v|3O?c0a_bmbA-x97fI_88Xl!bg(Ceaj4Hl(1v{_gj`f>V9-i zl32a`(b>n9y0pE^k1H>weZ8E!vZID-!YnI}EB)qb`kT6!{#w3Xf&2EAut80&roWcG z^w;|JNuVpX&wSIkH0<>Y4RpIzm`?|lVNfP(2^5nUc71>{}aw%dq=Cb*? zvMCL#2lhgzm91v3yJ+67n$yY_a{=;2A;%8$zV3;yfx3jwb zGk3Xn2}#mP_;5pFzQawzn2y+QFSlY1=Aqo{Sd9*s3BCh^zN*v8JA=OJ)5;#R8`w@O zb><|*zhq9TE(K;Q?0ih(Ebx_7nXFC}D>%GFVyv+Cv?GQPS%-I*JvhzN)k{aEx6cOb)X!eab-i4kG?wamYOM4nGTb~7 z+LN%$z)lVJLs-LnxKBsyc^FGNlBboA&EwDmXouGvS1wFqS;}Q4kwhI zOs1N9MqYwFZ^h8Oqid9|MY^`>T1)_3TZeS*@^r0YJ?GPP374)jy0++AGa@b?K=(ho z#(xEzbd6J9pfsE~NHX(%OnOx!)2orWRQnuFFMlOZnpA0WPo7WbgNC5Ho=HV1qK70i~M5rMRI|R>{^#&ye)p z5hGtZO!NP(7w2%uc=0$p?(2S$o2U4)eT4@*;$|lLjCe1d;D_~tM13QDT=y*;*G+16 zIpe+2mPkt^^p>2gnsBFG14}(Cl}HSh&Oo%K12)({1}ZlA)ZDnZIO9(S)P=bVt0_+( zwAttn;x>*%lo{LxNso64#8L#^_$^9Q)SY4xR%C?qyvUd7r54cuoSS5ysys%Fn+9c_ zS=qC5=H%f0>k*uPj=%=`NUg1sWK8qfmVRu`8?^0&E|ih~qj&kz%C1rm_CNb;OX+H9 zUrJ}QZCRnXe3>us}?_e0KBph}lOl+6W z(K{wsgwb0#`|>I(OT1Q4#^RiU?{wge+4&LJABg;1$RbgTK_YJpO_yTB zzAd52QcT$Qn-JY?fV(IXmH@R!pQU?7Gu9mXPz<*ePyu)y@y&pffWHA0fDyW%b&ZU` zL3@!CN)=eRnQ-aNb~;>YvEsH6sccp4JR@r@EGVb1QT z-8{`l{f-hI$3{7nn`hyjRvaaV@aC8UC4CWboL!Rk}CSK1| zess_EJW)5~$v8CWdY*!#bwhdjg1yicU8`%9B%4I9(_GzTD-y1;szJ@fRa<;Q=XT$iRYxjR~uoz z1O7vKkEfvyT%5xzmCBZ7jf`bNDcj3k)kx`WT8&23VDHdt4?413F|ABin&13yQ`6g6 zmKAlD#M0jpjYM;^;^^|2Tq9maGT3)G%xSaG7yJR|c{l*}b5q0l7UU5Xa@?2{gnbf+Du`GjK&E%@0`d{M4k%4IVb{{#Qjz3X z8i|ph`iTm!rvcjKT#Yc!4cll~V{Ui$LADuN@uu`m&2ni!^m=?pDX}hGypWNLdtgnC zx4COvG!7aYd_@R)`F_4*hNgOjb;Uuau_Z~%o?*;=!I7$U#oapgOcwmH_|668Dh$@S zr>RXcIXNHj5c+P0xhZ7|wRxfIlAH!#!+Lc<->Ec=svzTE0_I7=@)d6bGqvFPGGtqE zt%m+kA!-yZh|m{+K}Zg^ebo>ZPd~; zZw4@4!}nSk9|L?;ziD^p&4#pJ%XKqrlcf*w9SSx02-dh=4F%_@6x&bxv&*xgUm0!2 zp1#&3;`Q_D%-MJ)DkniM9$!Y^7udl0k=~|TYZGZobf0<3G`xzVx^bHXjWL}WF0(-2 zC7ng<`a&}r6U*(`QLJ5_8j~0b-q%m}T_P8Uimp7CkC)9l{b>ecG$X{!2;xR97JKK{ zy>u64%>BXS_hD~=F}gOVc+4yEIqn1yM`=#?hZ6Yd-Bk+4b1wXNBpLi$zg%ye^Evc? zCRd^_wz5!qyPnRFwIRgil3k~hnBCK*ns!DL;ojTFSzmDKy*uzdim+DCp$31`M6H@( zN00d>1L(LyuZk~5_`qTMf~yC50)ufn+_t;w^UV?1*$(tOuNXaj!Rmpou-3jO(1o(N zr;C6#pz8hkG1*T>*A~(h-F>M?{{|`^|$z`W9WOw@4;M83MSY zhR8Sd(zFS^-#k#HKX*MXeGHK^!zoF<->fUrpVwswgXM@krq_%TF}+24$`R>{nE1m~ zk4x>wVqr5zvWk5y{VI(xGGbaOwEi+tN%l{$ni)f7n<4R)?y1xA=e*K=*II3dF>-gw zWPi+VTfNbeAiUBot|s#3kj9c=G-sWW5HBt1H z>v(@{ab5RRdtJBaxvf6F7_T4;jd%&U*SQfV4ZH{`?1ttaBmVTO!UusrfGZg-_A%Uc zBEJ{1qYtn56s1so?mIm{6S&>)1uE}~k&L;&a!}m}Y`Q#u>JZlD%6Tw4GcPYm8c$Kc&Lz3rfN90}3;lo6PFzYO7|qSK{Y*R?y&>9{jX z@yb;Vj={}OtX&e$>tfER!3hWv`$qXI+&<&H{*y~5nfyOGzeO)(yr4@^y8{)d1GIKg z8@(uDq@WX00uoFW5I=w4~vTmWJZ}15r8S{8^}j@5o2EYk*ic zDK2r7;;?U0iU3Z#(UMfQIf2OE4I~2Bd8H_2G~92X?+_Q&Ez*Gww4TB8F`-P{YrxOq zdqOI^Kg@0AGfErb_k-`sKE+6Lvh>Dik?Iex9QsCzjuRcT1#s5^JkX~{3soz%LTaPY z!gnk{+gb9Hu2SYZ>YSF-z0qJ|C1-jy~1UlG_(K*jC#Cn#r*nt_;#F9h}KyRe&s!V$BmbE_=JXZ9Q{}F&kQq_acXw0`K4ah}bs6GTO!R3H4`+Un_jwe*!njz+i7X!|9+&X#! zePmrTbzL}-isZ0oR%8t4iHvf2A`KfoA9y^o5@Q%oVpNgmxF^wIis4q9qFk#@h7F#L ztBcZ9jmVpEn@ztD z#2ujW%wXO;SQ}_y*%!vdjrPTqK}JxuukeBldJ@b~VllkW{E#c&!d<8$~Rm1(SQ8Vz1@eoAH${e(NjkdhJ!?d(PPN z)Z*nX=|v}dZkzLCZZRhaa5W+2KXCocucbDkBx0diH={Fc(RzJq~#ai%fv(6-TJJLDuMe7%r zS!Qba6WFsJaq=hWw;8t~AG?I&XZwIri#n{6$}TDgnu`+nZNSY4kXtm{zPQZa@ixj) zt5;&C@i%)(cbA!TZ}rqBF?+T+^S&S%`@iVF#4fp`O~=RievjPGIme%BNYXyLq@B~~ zo~>+aec+4B+LGC5CvLD$9!O$xzY6GgbL}59e(bonws9oV_dd!Ubm~rGgUtf^xhZe7|Hy9b}559*yKPp5v^+v${U^J+5l)fj%8P2ZK zm$A4L4-Et#4&N~K1?vv?W85MzPdu|=L68|Gz;*z8c#k>&`vH>C=W9JU5bVPmqu)fr z{wx>vF*D-vsy;ES4H^i(2MSWllrHex*mtHjXkWig;qS&S-Dky@3}6XR%IqL=mNI~Q zb1GNZ9r%(F=KIrk&_40Fp*@8&DsHn zd~X`^)P%oRC0A}gut9hn{B5i-ZCym8UKr7uo~iN86+WINHa?s(LFf$pa@~=X^c>z|7+LekhSKY!DAft(!9+qAAfg_%Gm*mHO<`g->)nbl?G zSp0V={QETges}FEa^=wlMiG<2$MmwvjDtpT2!1lzVb!`5jFgDwUJYj9lSiFRO-p$`cvh?00!6=Yth`ghh?9vES zmqX-G?eUWR-s8e(nT?J2+EdM`I>?%TZOx-!d(?j!kaE({i^06?hB4CqVtiSmaIWxs zTVxVgl)$0}*+8Kj;XEeBZZ z?d3b1MBY_fB#g`4?;QtIBxYN5$1LVaWflzPndcvOrub?2@g&-F);BSgnI7jsy$s{Z z_S>!aj+f^l$cs5vN~K~iUf0fGJJiW@0!FJZU`W;O=eDz;^zvS^o84u%a|#npwlkBt z-M&Dgpxw_r14|@%K`*l_A_F;4QhUK}HxAYCgWnf$9K16p$~)EmQ+sD%uJGig7&1uZ zPu_e1erC!&B@Fu3;hQ&hYq7R&zSG?_Ue;-^USh-aUzjtq%l+2O;LNwG;al<+f8jQ` zH@$Ud&Qm^Z#lzpxko7IRJ-$f`zNy>(9rlQOu!a@_NU3MmID9jhO5gp#@rnk&R>hUP z&)ItxZ)n5kxQMJ;Ar`MPG-n^Tj>MN2M`6|GgqZOoXaB)rlSYBl*@P6oru_te;xhZ2 z+r!^m)UqW*U;4c2e|6iiMqBP3@DcdBJ&Z}2Vf6{>~Qn)?FF&=v;mcmS>p z{BFVDfBZ{c9_kyw?`t{8#|Ue^H>4*q1mX13tNz9gbtb-m(5{8GTVJq5wYu5;DI&f5M}B-iMep6~Jb!XfoT8Q;;rr7iLXiiI`ZMa>6$gX=@g?yR;* z!_fewcyh?8#W!^Hq|VuOl79Q8BOsqe*!)cLR(y|at8h8+584qkTT!>DFX&WT7a7BS z9pvzOAJtymg16r14?geILlLxC7hWAut_&T(ks8Tbobcd4@Z0{HFzy=hJG^A3W$D~X7r;l7 zGwX>t9n#og)YR=82sZcI*3tJroH_h8p9U7Tb9n889Vl*q$9eidzgaLgtzJOu*HsMG z%njA};E~?oKD-1!s9qUrBZsdi`jY7PWk@D{HGywU3vBT&CxiD@npUi{NPNrBO_IBP z#wPmhYhvbv?M~wNH2rPCXA79TUpO*cS7BMWp^b2C@opV#B{b>&<0)1d0taLT6V6I8 z0@peUFZA)Xo`?21ds{MGp)@O6p=*(w zOu`qG?>|%wxE!FZ0k3h(0Z+px2UB1t%cZ5b@VoGM3S0b-TD1ag$?u$Tr#3nZyd3tr zH=Qx3{%~szaG6r?Im+A~NVsRIy)pQ!un?w2^I5ItPIa#U*$hsAIEpueY>Kqo30j72`-+ zsc(cWc}d$}eu39ZQQ!H2<*9ne5%~=6CGjVh9ds>2?*Cx#UBIKN&b{%q_e?G%0YYws z5Xqig5C)J40Rn>TOt=RHlAxa2HZz$769eRmVxckttk(3xXsi}JCzAjzjtheo^zh(`<^G!&DwkIb$Qo&U+-Fbjm=0E zBb{!fxkft8NT(WUw9!tKkq$D_NF$wWq!WyEqLJQUq;?~fj5IJ9dMO@oDS8?xs;60Q{x?G?#-CV_ck7(Ra|^}N!X^20i;6_l ztXZ>^ta@ec9r<&Y7B5_K>kK6;d(v73*?hBhX;C3_a{z##JuV{ zcX^po;i@ZBR=C!zY!J7VyBn(Olm=Jn%5tT2O}&vlUMXGSs#DOMPv!dKo-atmwZlGw<<@h7Oeu+S0mecX@riQq;jzD6u?t!z;0%4^q@*Ea}9UAe2Orn(a2nd543DfhY>+!fmM#D+STyWAX; zoB3ky+J^GF)vlFFnT7|mk%g=48|v1$8!D?;D=xPN)jgHfD_zXcoBdkua#SJQE9$CO zDdlV3_QF*)SATI0DEdivRVeyj zFJE0&zM^t9xS+Bh1@&U#>U&%(E6WrNv7x;0X=%Q=wOVmk*XV=;xXXdc%DYfq%&EMm zvJ5;NwPjsEZLcwUWbJ+23@c*hbyL7wj_`DPn2Xm^=g_mtPISXq59 zP)I>!JGLmnq`m~qS#}@ly2~q3N)#hg$tqLEWYv!a(^NK;m)QjHY@4MN=M@!{ESyua z@YdV%7B8Hm7cFFUiS2fZu$xSg>SCL6In4c+1>E0w5MIx&4;Bg^L|a z?hp$W&R<~O7tPH#ZUl&@F=30_^@00FLpY}^37S6oq9ui*c=MOvXKvG|revADXr zrgHUNlg2CAYqQpZcJ<@S>L75+tSnHe{=RypX5~tS160bYSC>bLvinw-KoOLzS_5sK zRW@FGuC8ymETgRQ9<4rFQ`kdE3HbT0@!%NtqC|lkU1clBR8+1hDRlwRanR~x(HsEK zbkGdt-n#15ccIHwE^u@uG{jniwZXYjqGrO)?&>wG8&EAul&)EEXI9y_ZlI!o5+mGZ zRt35#ue+>NbxqBk+26XM;yafWWbP{0+6g!Iz0td#fbJ?+S2ieR_pGRg4MW=y#X6Vb zX6I$&P0;jiHNe2}XI*e(IKh4@Rt zOgotGW@A?Xf%6d(PvvCUGg#+ZeOI}1XVx0!h8vWuHQ$O7OO_VR0w=-80FRnI!=l_L zDk|@)D52i#>mVenACmrJeR&O~D}^RDB{lb!l&_v)2*mAqg|{xeb-v9IsnSX)J_u1+ zWj!4fP;~BU%~QE$va+Z+4_}l3?z|;YS~_=b-|M_7=6mXeLr5-c2~>T9Qsb(xzqh&$04`lwP8n;cyH9c51#yZJ zt4iUzXy!nvFL$r0D+e1J)@@y4G(~NZ_1669E#={pq0amy>&35*M42Pa&q+>Os%K8Y=LtKC-{y3%l8O}WN)Bv%OA%`Gfkg8AEJgbJmjR`F^rMwt!_QrD`LB}NNlB&v4Tp@T~n#q33oj#Z}q+9btU?2!!X-$z2Ri&!bnX{Ra911XIgd4 zWN*nY$;WKCq^P*aG#JcVzBIphF*5Ut&0MM^&C2Qe(dYo~RDW~Y8{&OUeQ0O8r=XWK zyar0BS+E|HW%v=8hBCdYCYughlrV00*fzcSGGu%_*WA)|WHs>sgb( zo|U6zxmLRBRzd$2>2%lh%)PFv@-;O|ef1jHt9nB+6nM$NnlWBvx>wwF;}o<3>bPJN z3An2cxPifl67%zKnV}RzU9GCDU&YCCl(;jiSOLfIw@pr8adqSQfAccex0v3!aFy#W zBE25&$3kdZxB&2nMO0K_d1-ZZ0~qXv8^BUgc}19zFb1N`!z2bX5#{=<`s;P395YsN z!ELP9v}Kgtt}M;FbzwdmjS^#SUA}nnSfL40F2TU_*Ts_`4Heu-j@5jYWp*2%tc>dLhWm}d^1YfPv$-qUj-Y33XZ0TqS|R#)E}m4|4CnUp;#XF~SW3E7jC z?5Q)ROr0?)2iE!q*P4dv(lwPU%hY>aD_53hPnv+Ap&Ixbz`y_o1~4#yfdLE*U|;|P z0~i>lmn06w&bj zegoQqk>IzYvBOGuX7jfz@Ph)vBf7rbquqDB+^wbjXYQ?YaQel--v9;%Fff3D0SpXa zU;qOH7#P6700ssyFo1yp3=Cjk00RRU7{I^)2L1;z(4DYXbg#hmo4v9kY~sC|`LYsb zq*f!fXerO_N+}q*B(*|x2YON#;Eb!F=)N1j&HG-D(}QaZet+kl3};rwcc06}IZdDS zC^nv!Ck0jf``4auoOI->;3uof4-#u zs<3ic;6TVBhqqM>y(M&LME7I(b)H-`26(uC@1QX;hof+JAI9uMzYq3= zwqio{jU1J~!IOZ}BV=8N=quXAW4)DmFVTozmp%#+^T$nz5{BGR|dAamK#ffN@zB z{FYV05S%lsp0#JEcPsccR{YA$xf(eNzeSMV9h=VIJvH*u^*sJEJI}1o#95`uxU^r2 zb@AlZO|Ap3$P7!VoDrLzUn*tncW!ddO#3r-$a@fv>bvj%6uitcxj&(laVx|Ix+#R=^AZG&?)mT~w!G@b_f z%5O{R{R3QNSqKovV!zU z!1(X*czTO*o&G3y&zM`rE*e)cwqWdHoNS*l7Qa(pCR#vQiI8@@2TBCdPw2HPQJT;ky^7e4DI%pO1ih;Z&1e}7rJ`P5<3 zYTZ}-ckNf;qU78uu#Uu6Ivd+O4=J&y71;9Tar}{ccn03Xy<^7w0H@(m z0&(I_-mC(}mR!+$Uj6DO7LR@2lKfr!RT0C!uk2g?-$_Ln3o3&U_zkx8heC zdnctha|$BcqcT$}HuU9WBgcZA9Q#n5V$3qV=Rd*kBptvhN)r!BQ~vh6JR!0@JQKf7 z-#Z#@McPLn662>F;+ePIjg%|?rbTMR>ql>@zzLN@`5OZV4qvzEQOA%&srWZq`#18? z9jW1mQt)iSzi}0hI-WZ$XYTqaY+ff%BSo)?;Mt$bhu=v+x>bJrXgtz8<=5Y_X1@MW z@A-eb_!IC(GWa+F7tfd{U++Z9v(mTY;u-GJSFwM$UYPTe^wr?A)(a^gP%kf-gWm+e zwG>78aD6Fis&EnuV%az!6z_ez^xq~~J;A4_ zpga`|+Q$))xx$o^YRpdk6p`MrIkWT!fjZ-ezwaklSOz`#4Us5yh;59#$2sH zoHap8l!jZ9r4dq!G|HMTR$eY3LL`bBq>&;)d0lh!`7BcWAgTB@(xJ%dKpKk@Zy+6p8t)*DLks_j zG#)LUMw);g<}jj~9_90fKNGCN>-p#Uf1xgegcz0OCxfDHy>GNJnBsxkytnW(U#* zkj3s_ir6P`<>K1;3!I^cYwfcD0XlYzbWXA&eNBv)B9Sf?KM^rV$A|?Y7HPcrGMlot9A!HPX(UFl0BN*H6N`~10-~iz+F!X;dcu0r;&GEAR z|1G#Di76VLMu2aKj}$RVqti4oOUFmYw{$us?6YcgdQ_(q&+;QamWVqw`nW}PAAJZf z`G$CY1N_W($xUJkNhPg!)31zkMC`MaNV7uBV<5Z*0A(gDK7wqTKWB zAj&t-23pMY|Ej-KO$Sm}QU_93a!k~f920dVbs%*m$3|UA9Y|eC9Y|eC9Y|eC9Y|ft zu~S!42U1s32U1rO7u1#1fz*}Mfz*}Mfz*}65p^YXAax~mAa!LXQtC?TKf`4u z!vDEN^5;n#J4NixM}@FGEMi9;eQ&nqXxf8Aj;5`NJlcYLKKs6ki4`6CyOLtj++Rn+ z7j1g}GUSW-o=!1r6x!O-sl@uuD)G2aMcz{*kM_>B994&*pS9RZw>BDAVw{Sy9qR_i zwq7WWwF&X&tII`mhb-p~Di-ZLMP0zDONmOH;My1qS*&=ljPv z`WjNd6qq2jID|Id+5M0 zZG5uo2xJIPVJ6ZNVXayzi{d6+*rQncKKisCEA7d`)h?`OHsSeWA&O(Ly^;ADxLSne zOa<~!As=;?l~~1%w%*=i3)<|mSnM5^l6P?*XWp|f^S(EK&|!I@r}NUfm!H055#G<^ zMUXsq0=(xtCA^;%Nl*WF0qD2R5%9?(=N#x7kNRzCY7lL9ZcGxnZ7A1ek^Pe7DXb3{ z!=^~0xeet{e$_kWgeBhIg*x|HMf2zJYVfn7yr(a%JFpY|dI=ZXI^Wwnoc+%hX;p-Q zeG-n((B|9WqBu>+XFdl!=PZ)lhcOa1!rWzv_diD19F9Osim1Y#&Egh0t;+KiwuJ6# zPH9XMaconp505WH8H?4EvH|$@qm2#6GkV-sF^tcxz?B^7DRdoo_JA}6vhX}oocYdH zn@D)rbzJEwlSIyD;MIA&tOxz?9s=C6tV_dAUqcJKu8QQ{S~Zw&_B@!TS% zRsC&OuTaQ&bsN3SjKvEEnS^D6E)3(GUFtbhHj)FWWK|A0KwtUT-92r9Ck3>%K&DQ~V$UZQ*^V;H(9e`Kl*3pHEpy}m z_3~$sk+|O8$I~Ed*e+arQqy_ye(FA*$M^399liI5i-gc;@Z5)ueq8g@?;eR3QB8JS2hsP(7OS2384DVP zBmH>jpf}x>r9H2Tydx`w`p7A3zCXVbcvHmT5;5qE4P#G}Vye<(!kUO93&!XcF;~S= z7~sspm{$Tv%CWK@6+GXC{;(}Nfx5?{Jp8*H=&KJ#)-7^ic2zEuZq&OYA3|(5cUy~nG9w-aMeGc$)6gtJ}fIP^e>KB?! zD?I{ykR}o|nKtoGI4-X*`-@TkU&8+R`qYz}elql=rlanZ0gFr zOR4`E66$8*pnpcTo@a+ zrWa>|uSbKf&_NmuuP8^iMnrl#U%~T79aG*c8)9vG8+0548gxN-kryHtk9qSU5!vJs zYH+Ud>Q+nU(XBFmaJXEA`5)Mv23d>L_@EJVwQ0J|)zbkusiR%=qZLiU%+BIp!i%00k^ zg1Ro~Pw@FN+Mrg@Azq`Gt4D^;>H;rHct=?bwMUVo?-i@i$12*Nf6U$k-X8V|Z0l?( zT$AmRW23da_rxGgw(kbtqWrSFV>%AVv-!tdhCb@YK?&gn&Il{@0NXe3p(_hdW8AV( zgT(7eNleX;6yCXj-!1NcL?AEUYH2EKmY>|T-ty#?X({qcFUn7*3lU`7y%FkR>WNG1 zexup$V3qZ0I7xm5xH|8)0RQl7z%LiZi68*=e+j&*!`j zxVR2B$?yq$2PE&WEeYN|`J=tN-4ngz!CNnG%Jo{JH+F8%hrKh)or>~4DlAQzcyH!W z-{33VzGq*?b>7sFXZmKzmpv!=6E1rm?vK6fIo=KHDj zuwUl;0Lu+1=X(MCC3>d$Zc>BL1JisL<^-I4F3AfjNn$F;rq>Z@E6E=OUQBpf(S`}H z4KyLF)zF=k6+W-Ty)S=$KpBDdHaUV_$zmGYpgz5k?~W7%(!ie+Y>>e>=LEYHG4&+c zV7qK<5#ZMC_6SV}R73uBeSo=()(__~3I0(=KOcfuNQY3|nlyQJ?louve3K^ac;8k}AXC3EB{(tX#9szxIo%aZy+kZSLpyQJEB+>r|qf9H_ zQ^&o5XA^hV8Tj$Yz#VX-%EVowHg7w53Al4F)o}MW$fYlSK4}Ns4cBnng)|emVtNAC zyDSe}cUKl1$po4AxeQwaBwW;IqZI*eau&>Q+(-s7&`%K%HkM@UZ_@@sQ@85^= z+t8L9ys`~#9k>)Rm9!v?KNF&vewPP&hx9b_dol0OVPqS_{TJ{|xVn0Jr|A5X;C~u* z$*UOe6yL83138d6v{fs?eiFBYiTxjdjcLVu%A*QBrQ?UHv>fe(j(@_E;!g(tx1oKLpH}ts7W=?Y zN>9Ypy~u9^EIMDw{_kjTlTV5F;r@HHXX2f_6z{LY^B>q2c#XPZa2MJFzjeG9G4=DW zU>l&jW!RcL*thhulp+Z>rV%#Rb}{dW12$@3Z!c`Ftj)1y*u_)OUnSs~F38PB*lZi} z$U}<8UlxDZ#opn}LmN4q$6_At7svyi;%K{RM_lx+&@b#!4%=jV9@MuWFCF~0LC95a zp?x9L;A|nzoO-n78%#@;jVXPwpgo*u4!)^XrFEO6&D&{{XrC_BhduoT zY|@v2=_cq0z?@_HbS6(bV4eBc4eMzW*|e_vD`> z|A7k{ool-y%(;{914n>oSavUTH1R{8Jf+#0WItss5&ZN3_<3f&BQPAc=BWs=3}-YX zO!@Qr9^Sw3)rKRqO%1Zzxd;ALebn$Ln{iS0dcj+5)9B-|uLS>SJex9d`m%TN{xm$V zix9P%Ekk>GmwJm^BE*d&5hrNHoYZVb8#l_fq6~3C{;a{6uZ1`I6rf2T?o4@dqt1TN zi@xRipw9;wJ7Xc&gZ`us>DCKA_yV+nE-p6PXMEv7)N2kChlnrF#+$tGMg8sIhtDil zKV(spodUGqjCYg+;)3IUhk5~g7}^&3Z^Jwpe4K=Glz&~`SHnNvASa#i!S}Rb3@((p z(nqvGMmR@WMP5Z2xx>~pSE$q7kP|CXz7IYa}Mxh zj(0_@C&8bBF>Jv6C4D=*fY>qBYf``lqan{z!ULn z&SRauy*YzW=I@{x+w@>=b7dKqHqS}$zibuFj0ad%>J{N{0p1XYDSi;AqV!^nw_t1^ zpe@e#KD31ScVKLakfWXOiJfMgM1-AjVLUA&qUwYt!af*vHXO6{fEL4M3qAIA7kuIm z(av3vch|8MJzbV?dn?8^6k{uezT2qH@%w%14JgmCISrq>1+YkXUJMywOv8!yPVlYy z-qaEI=ZggP^%2Tk84Do2*#_rq4f&#ZveYw;c$f_uP}eDd*8_Yh7;C(8Wb32HZ9SoQ zHRoiMmC@)s2^VGNJ@7;a>fZ)fL;2im6$z9R#uC_P%a^*{p`QLVXco%*p?n@Ci-h+u zcjEi5;VmgXlr?QhXgPs$k)YdXTw^fi2&AOh4-wZTy~u->wWU2};Jxj_>d!RjReo{9 zkzVNc@t_%abs70peyC2K)g<{!6?R$kwliF6Rs9U|P1<1-T2zKGnv)$HSa z=rA|ts`JqHdqVyMyjTny_i5K4QM^!e9A_+c?68jG4)kNme0{5;?B6;TDNYvfzYE@B zdrIVizV!PTw2=*2erd~;^^*~n;#&Ezy7%>;@%nE_=_lSp3h8JR7<2XJkx?p0M zq}5g66ZKvawF{7bY#D3k_%czKZR`NeI7W^YX9#=>-hIR+q^%L)VZR7NT-DmN=+Z*} z=8JRv9x3X~X~^F7!g^eh1~q+jal@mlr0Av(h5Yb;3CqKCrSLO@E*AJViy_DVj#%F_ zQluY8AH~53E_O=M&y1A@ZS4{Qx>%=?6FAav3V4;wj;&tcs^`!8u|bT{Vif51gJWALs} z9$Jue|92n#6nGSfIg7U@zS$xTt*Qb~q{&07qQu~)Q3S(1@y#m7q3@@ZK-LDMu7ffJJ2>{%^f%u}?0OLJPZ%r@l=L_rPmo%X2gM% zV-4DR0%I5H(AhHLZO}z_58fgEtHn}hLuO}-#4{eqzV2Tn`tJaKLv@+CmhuT~b%jhk z#V{URSP7h53pa}qHzQt%6XN47(4KI8fRu5|c=W;89(juS9f%bj!TqIm?OJSO27CuO zQpBZE_os?s$}W$F^Am{ODlwkuOY8P&aa%ne5)zlAF9Tjm1Wz$8LVuI-GmgzCi|Eh6 zQ{*l3Q{th=z*|XYJW*WNNjjq2ZT+9zrZ=^ZEl%hD+hkY(gvxG1X@lO?h~0FJkK_z#F62 zj_(2Oy)Dv^GcNdwo9Dq6;+g_HZWdxuCTOZ4b`E{Mo3zgW?K7Zru@+!g!LJ()+Cw%9 zS$4Jn4*KYy)oT~4a%g57CDJe4#gUEl7}?I_m=eR#JV@PFMt9^9FWar0gO zI1cW77B-W1+Vna5?didt<5B)=yriuWYU_fGzxv5D8XsX?Zj6ufyKT6KEWo}c`0v0R z6foLhjzHWTgs+Rb_RC_w#(E`jX3F6`=!0cgmg5Lr*Q7qS zfxn}1Ex<{-9~)LhKQ>K*&j{Wr>GSy_ zwfHFD<_1HadbpTb8dR6!T|2aKPppuhP{_=)$wfKPfY6Ax$M-i&|J_aUE{ z^Gn7n;8cURJZZWvWWT;sviGzq znqQc&21yq!FMpKR?QjI#ID~B51v$`#_w5^m78}#vyRY~D8F?&EUh`REycW=McfQ_+ zFC!82qy+z0toP%HKqGjCd8J6(=Z6JKgj7X6*SbywdN7Zb)~ChWFb~10anV@WkK?I@ zY4Ag!7mEY=bG5oJHq8&@V19Z6GS#|G1Rj&60?ftiSifubZOZn>zcr<)zHP!`YzRnj z%W4qz%nKhWxCnZ-6@3%N)B2qG#x~qDk8AF&-~}DtMEe(*hx)du+IpA|{r&zN^6-LhxJMp-3K!SVE?AQ75uhQS zs3QY=(~*N>`R&3A$_sY;B-(K2qYr zg|gfJXbI+nC$_(732r+wC~zd$`}lt3w}Ren=dD2>%9rAO``@j>_Rp-rwvjP`*7JHC z!Uugvc-Uql;RJs70M1s_--mV(2eY&O9iW$nf84X*lf?P_xmpZSO#p6y_g0LN_B|Q& zo{np_7+G~5&u7lTpTm6H2VSK=?gKCRmZ(7w{P5Nbj(`pOD{RmWI(}_U0=OeiX(yfn zK6tOhbDk;N)BDP$YvpXP8SUV8(4+7LwAl)|Al|n1g8#we1;APBIyJy~yRQH^3&)xy z`DlZR_cGU@J70x-`5*&r7=us|7ZtLmUo=|2r8L>V2Le6?^PxAjy#ncg*%1m0%NQ`% z88CMZrfrk#d41(DHk3;z%=uv&%!G;XwgRSYz)Kq7g^n!z0x`H&;EV4WzMTi0)#&xLWhx;iGQ^9 z2z^rlUeI_Ow2&}nzPlD5|Mg?cv*DBc0CM-w@bPZ|Ydd(AJWReL4-*!XkIBR7;63u| zRr%Q9;qEVV9_|1SFTofzJW^+%&9~8q$-9hwhw^R|VtnLp@+|lcye@*vP`?#?w5`_> zK+I=&8|bqQ{QU&(Tfz~?#J&*f1oFfw@YU3}rfamcK_5_VCxfoOo5a`U7P#9sO$5IS zc(x%1$MHU3$nG4ZF7V8D$nPA`a0hU*9b-QQer&_K5#{&y8l0n`FVvs|Whu{;jB(f!hI?33nUd_5sE#bWhB>o8-VqihW3kho|?9@Mv2F$j<^cEjPofCjJ$-w26a8UP6035^{ zVIVAofqX-~r{N7aB;PaxmOh>V41}fa!Mr}ak*CP{BZfgAac|E7Emo)N&_?K> zG_+6MAsIf7b&#i!aVPeB67!K&kgJaYo5XU^+h#fL&5A%-!kmw*MMPCS?0Yz61J<+e zI`m))*UGt<>TmG*7Qok{j{VpY>E{|b)}FOB@-VECXX4t7IRxjN@cEvZW2}?^Ea!o( zTqoz80PnRXiUUEz^_Q6DGz8>G*4P4|M zt3+&XkQUqf@A`ZCm?Em)1Wq`Y;QD$mY&rbb!tu!a6nSPWj=mq~1X$O=UN?PT;j_?Z z3GkPi?@uX$yC2=^a0DFmnSf{Py{l@D^Q6p1oO=Rj-2=LYe9 zJP#WKoeduf?PGoPbA8^SuZQV*D)?m-{E-$}s?7rqHJ>wNPo52UWZeY7{wMGvX>87K z)8V6T5~8~i7i>L(BO^i0-N5-oHpW0- zDOD7?z=!5sSc`LGZ2fU=%=H0dy(A9Rx5Z*EAQH6u^r2q*+;gxNlD13KwxSGmFJa9C zjbk*s>M7(tn6wV)Wc0!ExqN<0)G|iz3|E8jvCcT-TDIzQlm2~FY5zZ9z`V3MtqbcQ zAuvdoBV*2VNc7|dvkX{9u-q}gh`tF+BA@?)y$r_lFg~Bgd&IQ(elVY3!+Ya-5TCp8 z9z4YNVSGM^_r|ltXT%)45QpIVOIRyTvr4s2JYy}xn1Aix`E$_l%JG``CNFZH`T^?7 z>Jx=h$M>*g`Mu6`;j7y>!B;1`+s|&pe$p2Z8zt>ej`S3|J$CG85eZINot_q>ujBEZ zoQikf9OpIp!*=^L_!i#Ka$Vs#Q;)_5A$zXFE=v zI18U!+Z&~oyN>OR_fn=@QEHI*m80Q*_+q_(L7T3)kUV9m_ur96JiJ6actq_g#Fd>X zYH%agf%4RF@DgmoYa%FH)nK|+X!#-%{$nKkHea~cIZDOW6qI?Vzl`~w@RLVA2CumQ zM`=2EDN@v?cj4D!kmnq2^wSll_w(DYx8ccnth3Y(`?UPov#uLp3+Eg>E5iSNwgf($ z1XxdC-;Z1{DTJa2{A>GJ7cNug;kO3F+VD6<2(E8*I))y>dFi5gN?Dh)$oV~`?+MX5xNC&QpC}+!o`-8 zy}gGV0(*3ES;Iy50c>+8Oq=oS#?>n1H)+e?z`DexbuVi17V1x~%fb=f^@I?IjQvD* zacZ=;b+!mfz+Efm#;{$TjVD#?mk!rrwDe;XyraLheXIEJ^sZNPC^+kod7(HJ>{wX70QZNTI?=$I(irqfcRWQ~K zvItH$+O_0jy>K+D{ zqgR6(yw|L|R@yZZm021TCcy`H$rdM>|65a`4aMpGX-t`-mJ5^A1>)3qyBKn z1mt~ISB5?bD@9xmCvhH=pd&!!o$wgjNznn6TuJMe}-<1x6oC7Y7k8KO= zp`K@yu}11;=0sj0SB8v!ZuAooqnC?_(96xUsGY>^2WXS{eV;mjeV~2rBW3?mtX>DS z2cIVT`*<-~&u_(=Dq&Jk=g&r+gjD_AJBS0li1wbrJ{jLc5&SvQZ4=p#z7IzCbs;zM z?030dqxGlc1>ZregZE)$@`4W>2cJM!yboV7ln;F9&%_b+mn8==#=rDJ6?qNS)0Zx}FI#zTi5>)n%V(kojHp1c4)KpQMeS}~T)@d#_bPN6L_aVcW@WtTpSK%GAt zb)=^N|L5AcI^Qtz~Uig>IPS8fd9C{P%J?zdQ*v>=lj+?wE!!SRx&h!e;P2P($bpQ0TXnq5w&pkY2 zw{*gv+$FwjKMQ&WL~3M_ve~MwE0}&1V0#>XmF62ssfE*dFFmA};rbZ(wXg(!_(PbF zuq~Ss=fzsu-VO`*5w$-p!r_y_{}b@3_DmJco(G=L{5XL|^RZ#8kv)zjygN6CT2Xb@<1H`e3K8m%gUHF4}&x<)~OH z*%_ben=b>;oTIc3hdiQ=TvL2R++m4ppJh4PI$X2UyVC_|0lh4V2RmEQo(r<8<5=I< zui*giWDmaSL*Ib6ko~rR9_*WPVtxzb8z};l>*C;1ghvqNfw< ze~-V6i!|i?*gZ40s5D!)=P8n1j={V=X6+*x0^dGdoO8s3zOVZz`7;)sk07kv0r5r z`W4&j?qk0Pgx9xCcz?=!;9gc4D@gF)2RveqseLQLHk|my4i)`2vR`ct@SxVO^v&eS zA{j9`0~eH)lJ1C4NfR?J;_MoYZAkFTfDgu+`TY>#c@43THpEL>G0pv^%*7Y10|9E*WZ z-V>kkz-K+~q5tiTzzcC|15Csz@mbI}E)$txN<2U85QZdHpF~ptK!o<#9lO*$vb0wb@<)A z$3MkId7;13Cu{MLwc#Sr2ARY6M}ea#V?~?3cr~ycZGy+}4m5@gdeEnb?~pIyUgYWb zGV_gl_|zJ%oWzylt9uLW9Wnatg?%#DV99HYc{GA%oJ(>pr+`*6Xw?QEL&n(JL9>mr zHdl({T5bC{5iA)mYWa=I>xeh{(e6*MC&z;_lI-bBQ$=kD`n8FlZ2be?wdO-cGbAtX z_l#46?GEuNbaOGww5U*r%Oa+E%@>g zQ~t(4#_(O3ow)Hq-_~**kaOy3#1QSo{r%{d&s-zo^MB3N_AlG`$E zdLgbIbNLqriJTI|ThC+f;f5J%Z6$D};NAI1F@^c(ur9qJu0KBq`GBQR|JIFbT}l3j zFb~Iu^PD>XC-zPUCD7KH;wiin&kkJt#)e~7k+%l-yYa0A@gQ5VJ_kAz7t;*fNXX;! z&w(4lDo|%3>hNB{{XE?Jkn%Yn_ZUZEDrkzHy$=|0c+ltd=#P6%_W;M7v$R5AYkn>C zT4E@#jHHk9s=+J2d3qybGlrg~JkVxv&zlOlA+0ppfF>GkqQs{{<~OV|d{^*1Y!~(` z1X|;DnHU9q1UlP2z+pSeJ{|{u0p)!28Q&7MkjrAqfeg8d#8@{@(f2Trm!8kn&LSw> zsL3AM1nwyh$Br5rJfy7 zU%NtZzSo3Ji@_Uqat!ndVvQ1FuQup*7uvT8G0BQH)7PeH`^)k~V~RjI#%CoV41ckI zPZ@Df+sW8OKJd@@)OOg<9gyqUh!<{@K8#0h!15%vck)`rCx{ z&B=I&@f{M*2=61f-;K+ZVUDYN7Ur2rh_~U=-~mjUFMG%EI0dkYj_(zAAeKzM^8w2i z=;gFBsq>F8pYyp!tY3=-z%lC^ZDe5ljf?cW6*KQSl7(lcf=W~c4r+P^%rhI=IA zT4Loh8=+TQMA#Y1jeGslBiqJUnp&_I2y0x(m(HA=)`GQ&v@`ss8nM^AyHM^G@c%v` zHEC_2Ojm{{1-2!D<0E`|NP*|+k`-5^n6B$k-Bz{^6~XT#<}6mG7PStAzTBlQlZAB| zW0!dtzwM&)NS+lole`8S*gA*tOrtLB-gnHpuyb17E=ylsvre;ChcVryM=WJ`93juz z^!diFM(`f#6C&FK}Ue3V2eB+aLyySkjbqj3*uAiNF|X z@3_XC2^;Q!4c~zELqFF~W{Nl!=T(^gxj7&4iQJ>IsCY!WxZnu%>lr21vz2GAKt2jl zr|5Oa_o{sQ*7_K!$FEjLdgCE&zL79feWa_my^y@pXyox;dQ*R|<%ir0^e<-4Ig*x; z^C|FK+>LlLd8*OiEAo##46uMV#5ZF#9`soHc@BPP++_OaGZ!D3t?27GC(`~cE?!7c zz~e6Ax!GGU%XU9}Bi6&X9w9%*118Eo_9DXGCU9?E+>dZi9vOr+wGRFJCA-$fJ2!i` zqCVH9jIx~#C`%mi*@JuHY=dGss+C_m+xsJwkHz;Kp?GV>STlg@bl`dea2=m4;__k} zw{FB(bAUIFSsO3lqpq-FyyUq?!i_x2M;^xOz*tK#)_Pg8lONKu;g2A#mq$#}=JgnN z{p#2_ee5G9RrQZOE_CdLfE&D2_%`Rt~PJOdZD>Chxv7JXg&9K*}HL~$?r40nbf^F zt4Fe?O_Fd%56=KHag12kBRu1$pO+0?2|t&<&Xss3jwb`Z?fBlr2Yu+mnB_=yI^r+W zOR(;9D!ws=>p%3h&ADc}Xi51lzFRZruBII!|Fivc&`~jDMne0T$8TXD(qaenZM^@l zuqmV`?@7BH(5@bPt8D07C}NmR>A<&a@%|i9;CQaU@gdTs)MnrqYfW#0hSY29^N(7e=J@yTeCCS&u7y(xc!ciC38Cd7 z_jrp}PBi*atlsC)59D_`VN%Jb;3deJw*GV{XmSUxe%$ZJr>q00-= z2Xsul|2Xynv{MG4W2mEao2|#4;Ll<0EevadB8Yj(7G<$ae_FG3W}np0&`n#k^+4Dg zfw&I&NTGiDC-n4)7}C&Fcstd@O6T~-UQM}h>e{hyJaiK znYLN3g>Pi{fsScU$+b*p`{Y{0S~`K>;@KX#)+2nKg7;=!(Q=%=nAq;?l$o~qI@uQ6 zy*z!Yv#Zs2R?qvlkbC6s2+23@)0MeL9N0UU-Y_aI!z$uRwqV}^aJCctUjqE)0T(Ks zsjo|7rCJ5|C9!gCBl5cdA90rt8)OrsCZ(gkBU13(t6I(zK*vL(JKFm>l!puDPQk7} zbphYq;vT;2lpgS3sEuUIlyIANM6)d`Q{%9Y*KX#K56m*q(VtRhnQiFh6XMcE@+A7I zlo_)u=x~^2L8DJu?lfR0y&%NJX5v{zl=%q``b=|lROsZAtkKCn&1Pa@uJ zV%Q|JKeK&_K4he|i0x}I)JSm>U>3|ro>>lf`ScWINI)LP0FPyVZGXhN>qlqH@J&k# zY$I`|YI2-y zeRz=~lxU7uY-#xh%ZRxlyc;{`$k*~}zWMdMvVYO?`eKT(F}tz1;!)UCGp51$%Vt^C zzLjmk{;w}E7mzrI#+(|w(zy@gfqWs}B6*iUMz_c3P2Vhw0A#Vd4cB|J2s#vPKYn4D zRSod0ER3gE7$&7%{|}8$;%9TKvL{xm^~++(KQ?@oM8U z=4u|`f-y^>Bzb=go!N@HUnBhdoLDt5B?0R_fO9!uF280h&RmX2s7GvLq(l@6XuXP9eo14-_keN1g}V#JHtN2V#T8J>TDlxKt4IxNHf^-Ju-L0{y%f40tnkUC~vGd1IEj1&9>W5yl| zdk5g9{nF@T#0mIKGvnAY;w7J9uKE(@!k!pUX9D(Nw_|S?##+4GDsm7bs1<|p%?|ch z5htxlzzOQL>EEZ;Ix!Ys7QO)mJ)OXx58o5}PN~y7aCVIX{Gpxc^ut5zK5EqE9yrz! zIPb@Is$;t6tKMnYgEXD>oWM25bYOnK`X>WPz)3M=wn z6w_VcQ`Y+dVC5M2j=0rg5XKsT8TWbIfbG&cUA9nO(_Kj8G#&O6J=Q9q_eAz$P4C#& zhZW)1t-ZF2`;XxF?)S1>Xr5eQ3(2!;l#LNqw z7cnNt7!=lu9tT|!--x$6lp~n4r$^D}GJPGcC-c2S*_ZMkxMx2nP}hNZ1=`Ie+^QtH z&AF{u>Ied-T*uqxz}`l8b29d&60d#hd%H@RzhHzHx@4CJmrW#NeJ{yt1&vOm!T-Ws z-!_YWmlfEWxO}d`MJk#yb=}LWM;#@||zL5{P~P0g{44oJxz777i~+dOXeVOwH5tAZPi`E3^|srXe`VXA zRPQ{toouw7DKwpNt+utjpI4D72ls@2t?lc)6WKQW4O5PE{OI4?+Cq4|jeA9nc5NYY zw4eD`w(A__9f5Y0Skc$65DT#OE{b%1>7PT!!|zFePBrK9^>HGO=egG3J+erP)q{qJ z^YYu`IL^PDH;Q4u!(5E#nX+DJnUe>kNm`jWG3?+q%AlP>t&BqqYd6Y}mpNB7?YjBx zDeWnJJ=$6N4(DM{9gtbb&=j7(m;}AQR#v=RTOgk`;-bECccgjugXe5c#f$Tiz3)yE z&F8*z&)$~%MeQKiT#kqH$L;9f7#m=U_dkbcrr00xIB~^yqRN(Qmj4;vzl$^c-ov-= zjaa|X;O<*@(qr4#f*os4b`5^$KgeUwmGH`3TO+(`n%56_iEsKwgol1-l?H2~UB@wC z1df^4z7g{#_?VvqR^o&E+H-LcMkjot6BzgG^`iDQ&{1UUgZ;pngtE}a&vhP-hx>a@ zT5_~J_BjvvT%%#%=J&Yz+S)-(VK4{N;t)EIUJqQQog1p{&A@s=Ezif`+CbXHq1t@T ziSh#TBa^=;p)bVE5JPHznsZh924ex|W%%&eyrrby_H@k2ZQd2Yhk|yfPtF0hG^}~4 zY&W5$uU))5Box{EGGMz*HnB%n1<(8t^=fbtj+rQfvyO%r;Q|gXTQ_}F^HC5(gpWhM zy9a!L7=3UXd^*G*I==w#@r+^cU=DdrbYys+0DMz0=H<|BSnCb?;GcgdLul*M`v51_ zc!Rzrny*#ZR)qCjhnU=U8|-j_2&iK)*YH?sy9_+Fj?0@a#iUMF6~sC*&utwiP3L$8 z)|*ZOw;0Rh4moYIaE_SdnbcPEY_3>aaZZrsh)?AwB_r?M-~=a0}qq<}2{?oFVg-IoJv>*y*MYBFP-cTHX*%N`oXyJbRo=z7DlAto zCl#7rTZZDz@C;E;>KT;;v+jq&{bi{s2E{fWxL&}{+Ir?@PfEO_M zi3{xae7xm0IY`+i4CX$qOY5HH9*-@E!E5Jn6Ze?c__@ae^J=>`uW2#X2tiMwfS$3Q z6!O=$*&GkQ`>|q8PWG=yAJ}`wIiz;3>VtS@xz~_xo2>>~k664L5x>ueEXm+E`m;X3 zS_YZ(wUD;`^W&WpLiz2T%kgByd>N~Bir8uOlZ5vYbc=%VBBoU*fxj8svw^>%bEgQz ziWoC9`5t2mXgGa8!+RIz2%-7vS1pD3_VjKAd>5LpmEV%-eG>2r=;%n`*ExjWe&kMV z#QGQUdI9T)7XSy|7n<=o(pR3j;E06%Z#JhIE!M{t*;F}Nq$U?BLPYEI-_!REKm+0v zW}L%g=pvq*Ap6wV#eIxq*ucbj`oNnSZz zpJ&tVrU332F^4Bl>T!!ie;)F%*JAfE$WDi>2Dtyr_jAZ+xEjFuANal;_fcx#5bs-X zKST|@&HE=sfV!UR*xU>0+bFy@psje!AASvbQ#Lx{F#iP}R>+Cb4+1}t&|_oqJR5w* z@4XK2+dlZS`B+@tb2Jp3FM*P>KWb7Mm)TiEQEBzG1Pc!-VcJObA zzU&#_&%e42ebeCKy?y&a)_~SuKz8)_w`6ZcJEVONVg{P+nXTKN?HI!*PkS7{3270Q zs?V@KeBKgn4}uRQ;4~8F?zD}A{ei7IZWGP;27~)w3b9Wv*oHki9ncNEm{(IDIC0N+ zpbco3V24~h{+(|OuPaR#arid9Sluv4Yf}QA$;Yj35l}3tllR^w0xb?v`|B#`an8Yi zEP?m2?pz8#1kVaC3HILClsCNuG(H8JrNExG{x}aZI%=}7Nt%8leAHx{7&*xXdbOgy z4Be|*lB0d~u!okU=(cJR@ZGE1OZLhBeC^V7!Tzr3i@rtcOS;YUwdYOOZ01YS^e*(F z*+|sey-D&)&^OdG=fRV~nfjidE}Sv=Mc;jr|1;cQN&7FMziCT7puM?wl~mf{$V1l{5kFI-|%d=%3H5I~}~D%U+Vd8-3P+R+JU)S;2P>c7A)%3LeTc z_T$}k1rO=xjJ~Gv5zn3)jccXmQ|UZKKBE4h9^n4ItMSr#@EduFJVm&u?@hk?9DMbK z!B;z>Lrk8U3pn4q3QxUvRi28sbAQ@zz*BAi1W#=sjlm0~@r&Rs(s@G&Pib@x;VJq^ zKJb(aJk<)G>L9(rQyR?;o+2NScgaI{fWL0H438!s?FFB)zZc1422XvhudDEs)(8DA zwDCe8PsRJoufaFe8!qsT>66hmn0({Bf^Q0dt8RsSkZ7kKG5Me|gbzL#ceyUP8Xs)X z_`vWZu4NxjZZ7;MZQ~Y^kmdEk=L@xg|G+kG5gl3HcP3ujHs%0VSF??wF;(hAT^Gv! zHiLhC86wzgi9D>r{!zbCu5eaNAXgD_)7B3vYK4FOS+DRu1sv9Y_?<^um#BdX*q&_# zY5@Ce3w;^<2EbEzj~wo8f=zg%w>=K~B6A)@j5sL_{^-86z58K@KUyFCq%4U*uN+lX zDMvJY@W{g{n_+t*Z^ZY7gVpH{@L2j_F}?KeyY{w0HrmAr=dq9Nl}tIBaS&{}%Grp%9{?<`pkMYecYWBCrE*vkzWWZ` z7AXR2@6OuG^DxTM=BdG+xVhMulOH3dqwKOxs8rxe82bc!YqvE{oY^IwPVd? z0p$L>zz_YQ0~kBk?XKhva}T9yFX6{=-?X;o(}ngL@!fb=gs+Zzk2(#0TorkT{Lup+ zDu^>Xq5tgUlbtxXV<^V(4Sd%*0yHsgx@w8{{tGaNbt{!JG0oU*Q8 ze4vjrN=#>rdP5Y}&Orm7Y1DYXI_y;1@JY6d(}vOac@1@Jkq59=DB&CTB>Py5oBY@= zq$>C(#ciNti)^WS_>oO1_5pX{|TLD^2$`yf!{fW_%(TD8}R!= zS}6Y{`~MAjE{xYIKh%kJ z&a<20>s!}m>~&-R7h_iz->|kf-S;#z4sQ(XN*|EAv0D`4IFSU`#!*M)mXvC|G8K}GU(vL zJfA+_VScYeUl%sev{6@$8=!wlxpv&Z0r;;LE0_+NnKEz23NEeF_d|zmR|DZY)d1y_ z=YtWS^g$@I@mtiuh-NjA@`M@~`IH(+^{Ig!@Ckkfdwws@8KKYPi4r-=f`oq zo&LHV_(qa@iTB~mm)RD~y)kbqK{^KM2BfD!*A}EZkwV^TE0Dg2)R-@C5wBhE{SbcE zEXajtvA$j%58e>Qef|B(MYApORSC#5-!~&KF{I3%Z!bNP6!QEoo`;7#pTBv*kz_n4 zr-`^t8hi;=`5JtQRTiWzmZYi!8hpd6HfiuBS8=S6anAj>{0uk{TgG^I01qz#)}LX_ z%-;bVyl+XhpTe2+CoL(M*Nw1?rDMI%qYU4Fh;zC=unf1q51n%g{sm)u^fyJ%Snty) z^Qsoxjj)@v;yi`2rJwu#s^({Me{IJKPvJg%%p`y?{l#Yi&GZ)usBN`<6hd*^e!6P_TU}|l z0=5!=@p-=Pok@mhclYysJidR-(YNUxWTB}QAKV||qI*5;3PHgj%3 z+TV!$n~2lbd4rb>-*L7MJ+{ft>TGf|`uC?KY#**_Lt)o|xZ)(c^i)%iu%Xb$x% zU3L?FQ~JH6M=4)m3UXt|E^(^q$0q2#Y}XdHcJlHZQw_8)iUJ5tw8`bXrKFYay{}^``dMn?JxSlwm-G&+WuzDcG$4~KeGMhXzng#J^v4Ee-FdA{=eA% z)==)hvi-dR4F0z5Z^RBtT$uQZYyZ55`S$cT_Kjp;my|5i%$n)8uS;$r-+tMlc^*A> znPcY6c4IsC*<+HQ7oL!|pE8!ueu3Dc&Y#eJAMbs9e-!(u`YJz)SsfjSux8_vSeN{_ z_&@k&SN$88lw9FQeo#C6psn~9>h}z6E_w5c+46z3)PYZ)pP(pV9k{adMa~KCL_UmR z8^vbZvUwm{qBBrh=}U;R;rx*`GO}Oi18twXT-zsnCvE$5ac$vj=Znaa|CR02&G)(4 zPAmCF+dijgUOV1z`#f7ahx-yzdl%tDg1>l?VE=ji3Lg9|YzHRME%+Tv#o=6*?aG|u zVWmF1#cB&}Y6d36k3wVZ;LEmQ{bu2RwmM_B>69M7hw_EKLe8W%g~#1|mS_v~rzoL3 z^51-#d@<%X#N75WS5fArrh_=9ab|v)K7F13+2%U=U+1;+-#>S@6By)S_t{p<-hp;^&Q#}KXqWo4 zmpwLL)4VprFHR~p=Mu-FeLIUY;JHmM?KvSvzG|op>(xNEJkO%yv!NL zx0?0X@ZbqvnKCEV9CUo7A0s`AjH&wnK)kx@7w)~te8n%jeyAULGJs7*@x5)}Vl{Tq zyjdeMN}BH}P6V8AW7^Ih$UD@5eRDYGS$F|XJjEC#vj|UP!}wsk_z?41P6QgYr+J(c z=)2JQ4{*^ArR_h{5=q{rbA19>TEJJ|WEa{^y2{B;5ZFB1xsEaU$8tV@I_=xDoe*i! zyo|J;&vvd>zRa{g&UUUOZE$i%z6qB)m#b`M+RRIx*(#fvw(wHtBGURMWt3fZsZ&N8 zdd)~*)?MnHud`)^zw%W=3cn{)ZCoD zQ}KJND`TzI#3z|x{J!c+#bd_Xyr=8GX5Ix4?Q06W!?`o)_zrM0vGoHT@JGq9@zVx; z!KZ~^B8r{mOMDMsK>WAgI%zoTwDcy+J$Jq|$2wUJkJ?wuzDn{M=3*wl(n7N`fE=mv z;lzUj(dFAu`7eC#ls{+i6f)+C!8~~12c$2jZqxG6fSRr&aRNW}b4F<1p#bo< z(4Wih_bmxFhZwp7|cj3qECYF;Aps` zBY#l(PocSj=ji-l-wfl+oZArJ)W+!aXsV6T>D8w>mznF6)21)J%H~8rR^*UlQeR!JoelT_&&U6uzF)xTxbEo@sgBJ)`;d*Q>6pvygq?E`&fm!CZ0x5g(;2t6!& zOfrm|7K4_CS(nEDVQ2Hjp8VWF{lW%u#Z z&(j+>m58^Ce)nbc`A+&Q|FQOqsn1u^*VtO<0_Q#J9BJwQ`|P3?{L{!h-k#dP0nhLI zQTl%r|8kWnXlX6;_@~AuJMQ!1L-4SE{I&8o+yNYWp7eY~!0Y)CefXyfNAVzRmG9nn z#MQgn&+Z!tJ+$8CKW1Fwlq=h>|JfM6zThz}tbp122iOaC>{#@)a*%AQ%< ztjF)5{f-5RkI=ThDTXio4LUhAm2}N%BwxDi-c^z@+qpv{G7Y>!&x@kxDJ=%x1<>6J zFTsC@?uMPM0bHvu`ZF;Z-|+Ue$|ll!>xUg5aCHCIeb|Y;Qw;(M1zx>xZ3e=D_+m{2sZ3ai8jFM-Lw?cF<-wTmQ(t+L`Gl$3cVL489Hs-v=fW zSYrgYqdDZI>i9Ukw&fi($Sev`saWQbj*IpbU(=H0XK>8tPbSMhD|<6!3g z6;Hn$@vo5gAm<$fU7s~`5Cx8`zajM{PQ0^hJGyi9ObPN2dYbHoiUG-jP8j0GW1sT) z&DKwvr0j>X_r*Si{{#B56}$F!(zfDr>#}oJ#@U}0lkQI**FMBI-CMey*pNS9bKFNv z$@a^v%B_t&8?DMXK05i?w&Mrs#@Eq4CffD5Em&{x;?mP}S+vQug+bp!?5maTp?wW*EIGdZ&~2+v6>LKOox+}ksLqJe z{e0dzKR-Z5mpmHIGkbeZBh!x$ZH!JpX8>2x;SQR+E_BSINCj}p^QZQl%-s?lxP*S3 zVO@yc3nxUUHbe6#vrY=fidK8|&*R%0(EaV~3E%*Sq}tN@gU@m`?+4fM9&7J|>UcDx z4(USaHvXA()hpdCo%UVQ z66@(Z>szwo!7zE;Z!ops{K$r85L}uxHC!c$(-lOe3yMH4WE<1N9#8IeiM7hRDL(-Z32T0 z>3J=Mr?GAh3g^GZyhv^lOhv2b{x8n-cj=xN7c^QwKkK_39oe%{2q*6){^~gVEp4}5 z2L0PwmF=Esvm_^UO0nzM77|g`!3`2c{L!izLcKo6bMe2?Z} zZ?Uo4rRKU+J_C4V8W;2)=6&}z_$>3Uxj*gO#8zojxbMBOCr@vW4ty5AX+ul2)}*WM zwsUToN8Pf?N)PNN?EvFy-#@q04gsU%7dy;T{jY%2C&;IFPsg5%j$N3T#yOZ#bnI4i z?6$OyO&;w5DL~#l4GyWjczFox?&jMZzG>}vWiH_? zrZQ(qB03Nxo%x)v_9vz4eiIzfdW%KR6h8z0!f-x_6D7ksLC`%+s1kuC<(dR;)P_t0jKv z;~fLSwHjkwo5pR-jnXaB1EdK~I-}zlx>z6k8`EW!zr9`bbZVlt%s7%0Kd9WVC)LYz-nD+8HPA4}=|?tP3hp4!?-4HGw@JjBZAWGFT+2Lghno6a|8(MtQJc6IfduwY7gm6iVxdy`}S-YdV6^4t@Xdbc{ass5;O zwmyyQN*?b{%ff^)V>&m`k2vX)&Cd`YFQ4x2AEC>n+x^Dn&h4}dJ_ieqqia8W!|+)q z?cnr-#Ka2Df?-;>a&1PgypGMtm+PeO{dMmJKVZP|kyv}-xa4)$UkI+3K{LBA%W?O{ zS$*h@V><>Q%CFa$^E-8}&3@>((&Bcp({tQ7O4oWPkIwB4wx{Rm%;oMpT}j{n!ur&B z+Mi*bfaB$)MfopUuXN4bY|;$laQ8}GwrF^aTDLbb#xG8R zi`cjImikIh$dBX42F_llPU2P{e+eF{elV|lwO_Nf!*b8z#y^o5Vm>qHH@$Bxb3c&m zqG9-}`k&@6;<>*9wlU2?5d6cxUy5JljfcB9*I?wla_JH-e)x26yk~b7JmHVK#7_lJ z*%W10ek-lpeq@9O&IZm}rIXiw_vX^z$Zu{X0=)%H@S?lZLpF$4*(oR=~ISTK#u|>G_0^aeMJG+*~IQRej??5+A1 zZyw_q=sM?W>(20%?bwZAAoE1?MLz;_DjD;|E{)krfAl|o{9^7lkqkC1@eu1SPP*vC ze-bmU|EgE-yJ_!tv?p2?Crx(&FJr9W!u$%_@Zd!(Ebux_-cR!_3O*3ORzC>L3xJhJ z!_@za9j#fx(vt-&=L+6Me_UJNM{XFl^;NSrZ!bHSr+V=ZqC4Y;*XY@`@5d>vQQ?)= zt8ny9e2l^`o%JT$K>U-I%U=iKQOMJ~w3as`Pah-RPqLW$rnR_+Z3%E>Ad>>f%;g1Nj9t!^q?U{FllaJ1}5nNGT=4Y2HOT}#V66QJIC4Y>4`RQ+7 zUE>`So9;ZRy57zBhRzn~o5WroZ2f#2d}s7G>O`jfI^WFuzU4T8-`U7F|J$R>kwp<^UfT!w{ za8*1vMtYJw>3O>QFOo6lIy-28mfHV8XbrS;UL3hXI2t=X&iOw1x6+okHW)8yapa62 zQMYsu&9~V#*V#fH-Q<%kN9*L&$^Ug%; zAEvx?WbV(J(u%B&Jn!D$VUt$)2KWbVYE7&KCxwrKzs7b4_4RzR+Fd6R*SAv`)LMC* ze3>*{G~M;MT8om}MkcLZCl zrG2cc>uFzo@z%)HL=ErK!&JBOt>E2-5jgl!#;CIpt<<-v(ClgOpr`1so9Aouo$JUG z(p;2tw&H8h8TexSxX+PK>66s8n{gN;oelo|*Vc`@=|k(ahNZ^)wMMbP19wI@L7Po5 z3mdW4?;?|xyW{!g6|XY4-Pq)tu{rPe_dVWd#=aH@U$NO2q;2+bzSq#Ft*+fZD;URa zFS=fXeYr8jy(GH3L-8D(gLxFb+iD8Nw-K|}2d`iZyB-_YK47l7(kWmZvab};p9=b5 z%Kx|H^sW7u5{4XXq3k8a1b` zPEnh-YkP4;qI1Yu8`A!B?O~Bl;m#j=0rNB<`WB(DS{L%qsog-BSW)bC@6qol_sq(^ zR%!}Q90xve_LBprJypD~r~h$c>9L2NSfp>rrTxs`@VB|%x8>xU*$^GL4H)d}FegLk z|Dp~180!K2MEmN@$({Hb_I<{j^pk#z^4a#uFzbGwopll#!_zt$!NxI_Z>~*j!H7*P zI?n7BO&+n8|76FJGxD`Fo{W5Lc{>YSI*wb9G;dN&9zX*3m_hpd1lYgr(zviqL)vq#&kBI|=NCxgaMvP~g9*ms( zxHEGP#)iLQClX(Daph?bSJHe_ve-h#fQ*&sgBH!LXdft{&fYxT2T+`_%RG8?`l|MU ze*lO4*asv_`Rfv{EESO-a6J1ckabLGmz&m)zb|$t=a;Sca(!UY_EoYSpp!Sa@9Vwy zXzG3U)$Id;SzeljEEhWvTBEem5a;6%!z!6rvW4I_@-1s+ocR4Uq%Ywo`a1G0XJtQl zm?V7@KluIz(TXkbeUFwECGNG-Hi@Fd&p5+RwuHIho$dyZtSVFHB)nm*md>4#HrIE{?$!9n&{=!swe zeQo_n`+)F6yz1A)MaG|ocBJr7{NO0G;hEDxGVzPD%XTyZ8O8>jTo> zJo$anv~8H4b$K}Y%|E#^MZ#AH?d5C{XupS#J;r&Sx?T8R;=$i{lQ%E@tX048@v;$o z3@A-_i$76wbv%_f!d$rNwIg%b5B$6T%sFGsq2|I5EwvYxan~nw^de*qgL`K+Rx%yW3pZ-Bks56o$#h+_?F_4JYUWT-*hFc$O_BZC-CxQ#>6|s#cca(=7cIS~7u#p@&g_NB+j-Bj zwmv}}0}tIF+W5--S?B$sc-s@VQ^ul>=dkBfms4fNv^>cFCi=SW3*p|#>ToZ2!FA5e z+wnw%_X~@keB!y#%+B`lrt?Df!O0)R+}!dEdDeX)(7TSZS@0w2U&5&#d`;c(t{)*! z=v<#}c$akABb0M#9{#7aFZJw!^M-X!;S(~?2KJG;v1aamPw-ZGsc*o9sKTzPjht8sXpxB~z58c6 zJ+vV^SHxc6e*aGT`&cu-oBVOUt6%rL1Z;SZWQW}P0)FA0FY)L9?;drR~H@ z($nP?FLcdOPu^7>lHnpvlCgaWC)J*3ub7(H%LW9|$v$wQjrfl*fkTIF&aMYO;^P{_ zx5?w_?Nbvw`CsKTEy!*4^7YG3Ay}%6Xv24bpUQNRFTCIXg5@)vdY}B;vs<#s=gCUh z!FX5gIkM7kFBsu>=h&zYoR^9N7_m#G@juG_CHR?wiV3tYTbyVho($@I zrf1OMx3R9`_yenqy)w+)RhcaIHKK1FFwRWc-kM{Q5$<-9t?5$MoA`{Mbn%%m&t}$7 zya?Jwdx|xyhIZYnx!_#+k@GG7|Lx~K`iLx4pYEscf7s8P-`CF{?DU!5e8EvPp$Hl) znj!s2@{nu^4LL=fveOT-Mm{;AsMA3EmbvsZtEC3Mz`f?V>x{W^9eXU0Q>N@E=7n>Y zgZ(_K!&a~Zy10%zyZ1}q2%(p7k3qoCIsf;$bl3S4G%Re_B&AD=e}9EJk&bBYw+i0j zTXTMnyPmyu%Y8Q7cl{UW!Byl}9B+m1%mQNGp+8gM(;mHSCp|))#B-bomH)bAZ~oVb ztFhd@-kzV$yG!yo^?aVZ;!kf-Ui48kOLshT-UewVp?fcyMBiyoGEvRl4;=0fz;k(5 z`9aokX4_5F7bZVET6c2JPxtAgq>Cp8pz~{Qjr2D0gLk%o&kaAruO+@EK4fPQ>wTI$){mUFjy19ye4n zijBk~j!br_7%=30SDbhb*|X#~b>E3mGUg)Pv*NvP;(hRZbimYm5AS|>V^!*XxAM<+ zIIrHze_G$Mhkh*e?z7NO{*Ha@srLfj2QP49jj8u?-utNkPWSy_e6I43bBGmj>uaZv zCUlj<{%!Z&<}51XuW({*-uqf$X8H=9*u&m?&l1`XUF*dDIrV;6{ln+D#eF~6U2Cvs zDUZ+TK46jo|5Z-+apGILh_&$}Gt^qi_>)HG9_|X5OP%=ly#LsSk^#fs)dPHgI+b?Z zN(!a{|9l5Oz7yY@MI}&Tp;_y}_TBu#UD%0U2ET)F>0;VdTTAhoZ8T|fS>r|rA@uHGfckCPycH; zYn0f@I^S)J4;#+aC|}y#>t7n~ZJv>nPnO1r%U*Fw!{Lj>dLw$9sKg9U-)DOCz zFvzm~$Ps1e1!2B563407tH#?n=aFyUfrd5S&wpRE{$|lkVz2zhgOlpWv`LDNi1!Yj zZ}uGEH*@uj{4VTp;4x?Snw7Uxf8c!NMrd#raas@ZK6An|CF|g|jagYO)iVrdLlGaz zH*8NU-+<=EC-rkih%fPZtr_wKR+lb`3|dL(JLmtSV_(DBBw_9xU=MKsTOoK=DV_}6 zl6D?>3N!M|NaZO`(ee z@be)H2X(H@{*D>Kv*a;&-<$Bhv)wvl*RB%|0>iopw)QYFr0|Zq$Ta8$-y$XK6F0?m zt1mFxOVQ8@eLW$58VXhJYl0px%;?8WseUX<^@IIYN6|&B#i2@MkO8}az0|;`2HC~B zP5Y{OE)7+N{8lhr$o@oPCXoYzx1{>oOkb^*rrzQL44*oBp@P*E(u^jD;Bfy0FGV|C<6hH;T5y^mPnv$LMF6{>JEIn7+p7V|YJL z`Y5_LhBdGK;FW_$6c(A8Ya-S*ss`p6D*N z?7~oGb2uxQ#rk}X_Z-$zGdfHb>-4(8>SVK@|E#||&Dc6$UZ`>%dA4y@_Qkh+sPhIh zuJgIDFX)>=S=#ay^Yr_IwOJu_R9~HswYyH=S+mIQK_6>&oxa0cc(3!#qb=%d4(9}O zt|1PtLT%>+7cJ&aV?TO1`wfv<>-yR!IIlr#C-gV==2ROe*J|t?zjQ_K#OlW0N38L6 zE1;!Q+8cXIt#K!m{z&Bcy62&}?*G8^bzg?2PbU3&>QGt>WnQC<`=7jDPUUSO?+Wtf zk>|_g6`fX|Ea-HCGQZ&cIlfO^`VYNzkzdsP1LbsHkluaJ`?|m{>i)#{S4c0neRa*@ zXX^AVYw4Z64_E)P&Mdv7_m1j=bR&#({u!zI^HTK}di6i3`io7aV3%&=+0ktj zdu=Qq)yAu%+nAkd!=Gwnrq{;pYGanE^Z}RKfsv2-SvUh+p`9M^igU^9j#IbIoYcU( z*Fr1yQ@5Ss^-HJ0`CPsjvXC)sKIXKlU0`=T>0-UofDwdJmb*MUW9J-KUwHTE-W zT<0rVH>|5yv~E~euV~%85lZr2=VLv3>n1yx&Dv@14}+9GXuZDj|q z&&%@G);r$X8f?GD=>Qf#?`!ORE@Ye+Ok=O$^oV8G9Rr^3|H%HjCKsNh2lm(5f2TFl z)O(C_`rblb`+TjHrrwTJz82Qi_%9YO$@%o+!!49)0{&V{Q^>PF)Yw~R#@97bzqfv< zi*i~+s!waHjxrsT5gtucnP_A0OJ>{&t;JekaExzvRv&WLSQhKRkY|zB6l-gp*4X>j z*7?r}t0p|y44f3voH%xUJ@(p+fX zBuD?huB}Y@RK8Z(4_j+0IcL!XWkZ*}^eAVn9P?!b@5m=^k8?Svf6~E>(`u<=@{mx2k<4)oS@#)-4 zUst2UOn{c0%del^v5arTKoQfCBd0-$6g*gM7(kwM;~=xScZt z`mtxNV=OV~isZaFW0DUe2E1gqmi?#aBJ7fdA?zZ>i6}6_k2JprpEI(>fX3E^zu+rw zT`2oKd-r(H9J{K0#fkknm=Q8?IELco+Vc{o6xd$J+ z;HtjsjG#XegAf6>re#@08E_3DZ*&9aGGH>eVx|jk#j?u=D%iXXj8cB#VEo<@zfv`} z*}Ul^y61?U{Ff=e+Yfd=Im4_<+dtE`Pkg|fA9OCBHvk9pqlUGNbvqC31>Om*i*S3Jh(G2G$ecFpzt8u%-;?kXsvAH z?!d#Wm0z<~Udl1a7bh6^yc4aNe%8#f)S4+p_gyKtSF(6|&Quyz`;3X5&` z940rW5t%IvEqPq3d{z5IiqCYG=6$#>S*0+&p?EE7OZLembcj# zApKYN=BhIm`m0I24em;R6|es(`cVYgv8Tq~uUtydzdH@*RQ4t!t9(`SLFKs^i#BpHSl)L}&Wyt%So02#VUW#^UK9*5F zO!+S8RRq0IIzbE^m5!#^C%-9h;rAMK{4Mx-_^!1-J>g5O`>^UK=2hoMO$29EA9UlE zF6N?>xrpqa`9An6MoxJIU+F3LjWvhbSA3zuX1?$hb(+OBl}*&=XMMz0Tvc)FSmWR$ z9HFNfw&1skX-S{a^9}OI=X@P>Lb%_J59P^b}!`_)QkPu zX^f)#5yzu%JF#WrbEyoFUVgB#!jpZnf-~_0OIMjW$P+!KcKO9#S!12VF5eJ1YMfa| zeNH*Lj>=vbx~+F+^fSF>(c5~TA&%*eg=-6*yXipPfmyY6=t{W@XLJ;-TZG&(p{5Rd zP;MD(gtJOcXfMdO7U-^)=)hKd-{?;pzJsrO$6W5)<<8yhrJ>}v%R|Xs7lo4jfxmOg zKD(l~`m>SVx+#pq$~swXtlW;`bpgU?z;8Z0F`m?{3OjTTnCaK;7%U3Bj7B2i&{?@|^(x4LJ8lUv}_S-^Ab_;E{iV zM;^yM^RjPpQ0H&OxhvSB&pQ^Fhp!a+P;QdnzDV~#Tb;+alS1&p z26S>6bI?J5nxG2-;J=Oef@ajm@uA0=vp~uZb)-ml&Ut=wi?tK=;Y0rUH|k4gQLg$s zt1QaL4?c>Y#S9(&+|#QpXiW7#ezU&+D^ISnpjFjRezX4Q&ONIv>;c%z-eErApaMJddprftlTE%%+JK*6(_!L&tuQ!lcy52J<1&1#Qe((YL>eYAX{1#w6UohBfTh3H2@0qEVS+9=#t;`zmT!C!$aC;Yy|vj~Bkgi@dlP*mk!Gt60nTN_6kXh;Ll*6dtDiblue5%3LB}Y}w4S zn|k4aC-AX0cyp6Ji)r_8Y#IFMpyot8O}y;s{biksBSUuH)kmLO%jD~#-*V3|2|8o0*T>-6>&=Frdu=FmIS z%%M8rjgPzg@OAmYBV)R5T|-)^C{(f8W^KIVTNzXA<<+5~r?_7ko7jmRti7Y052Lx1 z9JcLFlU(8}?EF4s*1WOLjQgP3KXHv&lFcvvuz~&%&s3m2?$Z*#wX^5?xY!<^iV{q_iLN;Z$xawa%+WangehUjmfZ7M@!d1jl+ zXQQ9)4dwEGJZEaM4>~lN|C3B*U-VPGxB5(HAFxn=|5@!3Lw)Ok552I@KJUb{%+IUv zXnjLAPOPWTUBqARgg(e8TU~CPz8Yc|NGEou@(aYGcHf`1MD}{kLFCP|4R3%Gd%?$- z@D-n?9*gzk`G{5L)Wj;<3;`Qsif=3juF4;tb}nq6rM%aNX^C5D^A6hkHEH|o87J0b z|J-M$pU}Ai>3%BSWgGDO4EeSJyAS!syl|@z8x!f!f`K@+kl4@@pMC3WLv>5IBEH=3 z>Pym~1 za+irsyuEy%`lfYuJ}`~m&{-e9I+TpwvBQm(tY#kFv@IiPar^@T6B{tIV*^(hV(r>O zYyAB0Mpo8&SGm;FP0X6=RQh?qGtM{YP)iKBYYa{F2|n0>&2m>{hwVH{A8HPIeKj}v zoTJ6mOC9oA6Qr}*(<7z^iQ^oOFD0gJ&wEqdvyt8U+JTE(-^;e+V~pv#Ykp|EcjTnM z$$p>KG2gxK=PCG)+yNlk?gWMi^#QPRnpL$=P<@zm6DAx&(=L~u7_Gy}AhC1-e7fj$TJmg>G*`b0Q zGZgM%FG#i-`YQ8u_lkLE!mLxmblo@{cq_7^ch6>kw*9llCHs8rY4YVBa%IMheZs}) z4KeUgcqIBayr;9x^M7;J2)dLH8apNdo!rAX=Yv!E;9lVY_B?Lo7lL+#xzpLkw~uU8 zA1lvwmeVi6CTrFWZoHVq`tiXZyZL76EQ97;C+GL@muxfdkHEQ$yGA19VQx}!-?@(R zbWo3*rnmv_HdNi^wB5lvcH25W-np4PdT&?TykGN@x4&Arzx3aUU;8O_GaqebW~EKp zwkx=E85^<6#L2IA)L*sJp>{&FvnkhUPSxw?q1{F=&j!)Kz#w^+9Rh? z)lFS-@~Z7`zU}ePZhRj-04_gx|UkRnKVZJ(_wq@l<;HiLPNnweFgD_r5(lJ2?AYa*E&uj_)F#_@Lm4 zF6-VK=<@y)U5!#lTHh7V|1R`r0dQCP*QmFE=QoJ4T;@ydgNd#i7-TNCl20%M4>y<_ zeaXN<_KaLH5xP~7mE9?y%bDOt?+RR!eDTE@QQ*=bmHp9F^I+ z+hU*HRLM5TBFMAIfFa^@wALhl5wGE_6wT!+{(3#*)ZVOa;>Yc`&d#g3#!MM3opwbH zceTo9_^M6}Rm4Ad6agOpP;xpVnZhm0;6D7z1 z;@=C@U-bBD;#j-cM-^f}haG;zzb=DpGDTn&NX_La~PZIy0 z<}{Rp5q;Y=SwRpE2bg$Y_72# z?xj0%6g%-$){~)M=iq;8FQ90-?jh56_3d`z(n}xlVr$+!c6Lj^Aj>0I#qP4)3 zm}2e^OP5m_;sD?$>=P8-TUg7vG-l->YgM#W&k*`;mD2F-%dV&YS$guFd2HbQa^-WM z@F?h5!>?&uGr0b;y%tG*5e= zgB8pNaW(Ztz-_a)2Y*8ov{yVsd5RBs^zUlEyEvO~lFx`gOf&BO<+bq5!M3jYFz2g* z|1Gn?qqERO;j3a_xP#*f3;xf%Uul8+N5L2IT;kiD2cTKdr{rd6S*y*SSmshOzT$27 zUTdbj`HwU5kJ@=tOs#0RX_2lL7Hnf#j%4iVz)pOEvDPaNUgLQbn*K6+&B!>hVer1Y znYpJP@qOYIlgfW1?fZboR{G+DA5jLKV=8vrX#HZwMO!*cBOe=Bp)Wd;Pq@|&td#G1 z@*$fCS=003jROW-xM6Krv}MB|#W!v07T*k*oLdf&U-ME%St|!VhK*A8Ln{Z{Ec0j2 znV97MmM!98{zbl|@`{dsml#m(W9x^O%ZA6?1gnAN@%&Nr+{Ndgr0_E7(k$U-rW_%h z5bnGUuCnhtcq@IG#lEpSupd9jT^KLnW71tOLt4MkL7lVm0R1-EXRf>kd|7+h4aqia zYyZG}e1Wns??ULohI^nDpGeWXF#JpNviAY|i70&YSN7D-9?lSx?sPx%af}$QqrUUd zn+p?LdH-5HdkGuR=zy?dvkSGe~^7m9`z(nr?GhRqLHPwa(H%FglY8f-3O z73V*_h4tHDO$J{l5M#CafsIw6xhM96)7+mPWPUaXKWt=P!T&e(tB-ySzIk?!`lPm3 z(ssdQ;#8@(k9KRIi8{w*3GmBjUbU9rVl7K|OP5hT+0i(M_Z)e5^ttP49^}$a*Up8$ z%{nWhZpDC)<_9h>(AryFn$JD*L2JE9o`k-u52xva#*j&$U7TC!6OD9bTj8Ub^A%Ti zb^i~}b9I7a;Eiad`e8j2>RkvPD`vX=oR{kCwQvNJcos@r|ocw+G zPtik?$Las*GRWu&Lq4|+VjITN@Bc23&dU1l@>Ks1^7u#PiJDmb6!y1De*99J1~rUv z{*4pPb4gFbV$rB_EPs*O{=X*Oo3B`U#Dkd^tcBjXOzCX;rw8rO>Pd+oP^;Ubnb0zQcow>9C_`Zcq zB|FQD&`q6p^fteKc&%(Ai&zIQ%O}Nm>wv$r&6KpPU>)eLsC6ORIR?%)8tX(m`1i(V zLRt^l2sw{t5xG!B}YNgHAFFdfZ@2Z=*`@jTm$Db@%y$Y;!KEL24SRKAf zu*%|GZS0_we*@aKn>hiWgFfyp?&JIB2g;w=!`h89Cc_*UXaKzF1?6wWw%BG@pIo1s z1Jx~wLa zip3nZA#e0ChPK&!Xa0PwuX5Vg{J8(=SIr#b-mlj<$6PM|8RM_FJ-Fq2;~F_5UGpMe ztnOIo#&0eB(%r06O|^51XBYR+)}UKM@{vz6MBA$ zcX`*|pmFGrrsea!rNx|kfDWlXa4uQ82z#oPwlpCwOFL7 z?Kkj;sO=8)Dec7yvqt>*UYfu+@sFdl7qu;5V@`aQ`5at9o3ofV{zrjNDRJI$=1}r> zJ1`5w<9?+wLB9FfE6IGeU%`5WCn6rKiog>kJ6WVhuO!b*$}{)TYk?a)RP!nsG{iFu zFXcTyjnAGf$n(o1lP1f^QzqQt=>zA=^N3jh*UEBSn}5A!bvGWZ|T`CrJO?Uad+ z=j>_bEIvv5stmqU?`(pIO_@3P{HP~RzEa>U8B^(gV{)Yv9e{qVRlEssSDpRji&9@Z z-&A*dwn=Wj0zV!9!;~}Br*e{4_ESdp_`R=A=7M>tuLcInhrZ|1mS)PgLp#E$wtal> zyA@f7dz(6_-w*uC1vlW6*;d~t=r6D<2cBiXTHmbHxS%_^&{Se0xGx*ueVX>1J&<#V zIyuW^#CDARlru0g?Dp*2vd9zL&6?v5^<4HZ#nIUZw?0-M9<$rEvB!iX?>toRU+$ex zAi1boWy&pQ0k(YEF12qfcEC9Ez`p?JICLL|pU19tt|#UKTyO&GjI)saSJz+56oF4>>AdKjnqfDlgcTQm1fJa*|)?R94g`2a&PE6NsTf z9*(m|i}`eAVQ^zlAkUM7Ws3#|uAEXvIUo3(hDA+Its6_SA09i8Z^R@dJ0{f)DPJj0{&~9_X=27e5VdqS9kU344>;+-`qnrz_u2fcGa%wE7QKhW!P4?-s_!z zSx$YfybbM#cO}|F6O*JJ+{0cdovqzA$CngcVhpcKmkC6(o!c0@?154CE!z{cPmQy7 zI78~U^v4dNhj#$?9_}*GJ9i^6m-U*5?YuWN)g-&G&Ps-ibxY~$>8s+<9qmJmY-C>+ zd45Ko?yDCjBi&P+@Er@2`WBmOCu4^>V~%g(71u+znCAsq*h+)W<(zBL-NPAMz+La( z`rD5-X=|b;m{8u|q(w62m zK;Nx-zNGv_ZvYd~q6T=e&9ktOHO^dv55ewxuV=1DY}VU2KlNX!D%68U-)|X(Zy`;kVTWPbWYQ%S~F$njY(y&kr4}1R8=ORl^Kkf?z zW9Jb^0S{ddj+^e-Ks9nYJmG}oqrtOX1A|?$Q_$WMpXFV33icuHb@piW$XPmk!JJ`Un4d1S8ID5~J)_)1UDgB528C(3|v;J#5zu_JFHD7DA zlArdLhUU~JW30{j;E|tx^j+agUMZYvx;YuR$>c})CcjUA4SOD&EoU0=7*AjQwG*6= zUjWUfPD7l6_G1kDhsZaGj_kEtjLcgQydRibwdRoW1WZY1ANBdD>-T(nnZ7B;tDABb zv|M%1KJMX2y6+EBUVY-8<(5|4%H7>GF*(%_J{3G#;_bo5Cy1`zo~Gh9Pj8u;(AlPUG7izC$ZTY%d9~a> z?4AG0njpT7y>!$iI;Aq3fP4GJ;0Nve0eowRrZusTJ-(u~LVhfK>~#VBoz2DywgF#L z7=660!<_7AT{i${CZ7Xmv=%gnd%MLKrzU%f(MjzomR}#72zGsRMsFs3 zMHgLp23i@1-lgRP=_iscN6QNR;NCtvZ>5<-OeX6;BHkw69-8Q`Tj@6!(Qh|hYp{>> za?2@m*J)uweboBCAoHE?@a$ci%dT;XNmtvyM>l#ISwXbcVy&voKF;PC1ip4OE!VTp ze+qu7%cJ$@2_I8DXX*r>_!E1oU3-Unx0&1Lx!A&xuhmu){Z@Nnp6Rw~=&RZ?jAbir zMTxu2Z0lLt3eQW)C@ESkdtEhj`pm>kp5>igf3|i4`|Uj)Q8QSYZv>_dwlL% z9p~ad@lfE6`u8aC)_RE6;8R5w5bg-~B@cgfisHAP+Nr$hHihew{XAHEa)Icei|-%v z=!xJbd<=vq;y;+^+)o>-*Yy>HW2<>r9+!XgfxBxhr!_Or0n7O(-WLMfb+2bTTfujo zL-rDB#ONp1(x0v1FZ;Wlv8;>j$7Lh*xqj#q*c3Y^B5&d=Q2lYfX`O$HvU-=F)xzc= zTJQ;_F`r%>iXDXRog)+9mN6gi-uHaUp0aB=re`kw6R#O!{1N8V<>74}4@cfl*gE&I z+&Ao-DWtD^h{>;@U5)wo#1qIair(b)mAtXFwj-YXB6Hb$z;-SruV|S1?%8yU6MKQ_ zMQ$CoBe)h3pQAaHTo53AE$wV;ww$fdr*7(V;ZA#kO)at^abxpkYl`zd*6efM0(W~z z4jk)RYULs@M4$x;H|ZZ4zVg*4)9I$ss5@jIzRLk>T~mIee&~z^X@x%?#-un{pMsE&*y1wk;^zU*p<^nD}?ji#00wY{IECAiYwTI+;#^1 z)4q*2ePa?gK(noP)(-4LH+vOX1Nyf&8~OD6?31~k=jVwd-CJ%u)ejrzhaKqORR%j1 zcgTS=4aAiX`ex{S)B$Kz{dvsgw;Ai8J^cmv;uP_{ZNR~7c;fL`EjInyET@$iK!Y6i z41T-gz~>m{Wq&D%POnfbB7O$GwIM@q&WGpn{6@i}j}O8V{{XH^{>Y|Zl0Tk<%fp-D`|LZEy;F=tu~>1V8mDd0!)ts&j+F1is2grOtu{$en)E_ndM37!qy4r zpV?XtZ)1#4LKC*buMN1;!`%MfH#YIIFWcpB-ufs^JOn{BJb&$>qGqfvW)@tH7zF z;OtZ2q|F`XTI-^jds)jz(TyZ4rDHC~fgdAzrY3%K&UemZ<-6p){oL!_&psM_b9MbI zyqHSteD0nG@Oq#<7kL9&Py5hgE9SZ~Uz_cH7oAg^vGOeEsq!(-AKf;z$3r&7X^B^P z@9u%-+tw82d5k&r`iO6m_d&i3ujAxV{@?Mgbj5;75C1ax4d25)H_pkGALBncSKs)z z+)=bbxa;og_>GIZ<~n?nukSl$uz{G+;=|(6=cHA9^!;hG>fWD5Oozwcy?tex!z+br z*w(%IwiEloxmxC`=U#8WNLk3-BK<}*NjT8hXI7?l&!w!(nZ)?v8=1eG@ryPJHc!d_ zNLmANsGIA@0++%>E_3xJG)H=_@KbX6y}+sunQYC9dwW;gMV(g{m?`(&SGuINinE0A zC%17|>Cr7+CAzAUvzGDLD0Sb^4<|Yvglm>-^3Mf@7r0 z-uWT>8lKni4Dk%{T*z}F&qX{J@w|!WO*|L#T+Fk9X9LfrJeTskjpuDV!#u-0m+@T2 zb2-oDJU_?tb3E_jc^A*SdEU))HP6*N@8@|x&ka1IJRjk?&J0O5lCL`O^XegM!${0= z+P3>AY|`kkNqnh1@pHT}dF3MTOY!KU=jj+_`D870fEwT~-W}L5+wt@N*YIEPQTot9 z`L4~fvCi!ir9XHvKAI=yc8cHMS7Hrv9^x6%&hxMEo3u~k$2&{8%S&})r)rQ4X#Lz8 z0$&HB%$wmJ?`W2uj}HtI3lcSEC?eN=x0m1Pu=?7 zkc$n(>zmsr;;G-H?mr+ah*rJ}&Z}-uSKGhCXA9Op-br1ryD}B)WC`V4ubn`Qz(vqq z&cdX;zUzM=dXe)kb$#XF*)9K0T}LD%0&^fT#8~ziQ}v?al+y7HpFhZXdVKdEw1&L( z_`{unnfpuBmgFJ=&GV09+Z1e&jSv16X53e2ZfT@1IqU&qpHon62&Qfv6KzU{Q%s4?S`fW0#BZfJ z{0?x|vn-X)y{=kw`1CUOr~PQ>%are-?Q~xRcfr}h*423T1*`fQzha7AJ5To{2YoBQ zl{lUD6|HBEf_s`D?azOK`lWZ$=lPGWn0rQknGra9d#*I56dxH7FHpUMl;Nz%Cj`R) zGq7hebCBm;&m2@Ay!Hs^ew`UvSNnEW{jE8qe9hQYdG0B@ zlJYf_4=oL3lqa_IgUjz~1_$hMsq%x9oC_%*ht4%CE*d%~`e2quQsemXPR(BiF709s z?gCD3Jss=^amNvz2^TJ5PXw7pk#GKIq+@rvnZF|6+{2B84-JCOytzg6E z{TDkn`+h8JTA~e~q`$52U3d5tdEfkgzH{U)Ylt|Nfxfq@hk9ST@33WxzZJs9SjL$x zX8Gz0*{pwxKfRHdwDmmwoX=7U9As|79j@y2jH=? zJ^TlJJ&*5dr;Iv$rnu9h{u)!VBura@LX(ef7$kZmzlJqdMZ1qM_D7!&R0Ob9=?qeQ zH~8+^tI2*W`7Q-}v%0_;pza1@@7?u3Y#)0zMFW1k(>A+??P40w8|Z!Xt>M^M>k7T= ze+l)$tGH9)uHD7_r)r(6exg?VhIHxMq@7Zl_HYiKeRv@K9;Q6s^CdsNNi1iSweu&Q zk}XdoTecFzzR8w+u6m;zku`xyVdC6143C?2-YV_icku!meVTqosQcw?)kXgXyXsAJ z*Q!#BTl?rkIO9Epd}lJ=t9cJ$7n(x3kl(P5)G<2|X_m;_Sx3Lg!=P zo7VK(+2`*2l$@)5pW0uNs^j4Bx(a1EW$1!|a1r*VV&_`wxRQR`3tfEX&J&X#BF&z1 z?UBJ)d%kV#@lj$!YRt5t$y<21+Dv19OIxDZ#8jIOruYJIY^s}v?iVb}>nK^mIe$8P zwu$pimCp*r2G&xCF{Sw`8>XH>Uf1KA(=5|IkX5q%l;D!(~62{U{V~Ve6&(?VpzF>EU=6-4-zL9e&n>fS$tH@#K)oI+7%)4O1`{i2K zf1Z*DUZB6ov%~YDJGRB&Wh2sjXl@NWSM(=FUeO-Wo$ge=G~JPJ>uY?6PkbQkyGv5A z=dPfaSYut-d*ZBn6AfWU30)cKCiZi6cD|L}ULP;szRF_#T6r^$hz?lDKvfe~pK^6F zGmW{44hWv02ywh!kDDnoj#N*%=7{2(2jBgk%8sulEvz+objFdU!5K#kvb-@fj!34D z@igDK`bc#&R&TDk@vwNXpZs=!GW)Zf9@g8wYIB4*X=h)^965JwdGVB=W~?8CW8J~j zI78E%ZH!ZRYWlLAPh&hy#~+3$9OpUT&ve2)~n=l0vouXMI%?x<-k>o2J_<>R@3CRh-K zCb={qz4zLKtKvsLXj~l?>2XbWK1O?*ALy7nKO_8oB-U*%{7-x~$J$)q}Utf5hW1=O_9NN};Ck8AynV5sH?%xX-l(1-pIR<2=@?6s_;hwJL8>3_ahT;@M5?vD$-na>lIX_~CJacMbgQ*t=(u ziK7D{(j;?*-#t4|ZK=(C+H1vj9YQW?7jB1*vm0F1dw_N~#p$-CKK#!0Hy)w|BQF#@m;>b>Y-X>Ov4^g$*48{!zGq~A?LnW zE85{v%iuMQCTqnYc-9PEa$^voAwKdqM;9j75@)KjJ#BwhQgiQ)8<=X`CeM{2T)uJ) zKG1w{2G;;^4mkPldEoxTHD->pm)Nhp#FB}oUIu(5E1xEo&2Zk=ATbTD{0%RZ%pxAC zai-TobKwQfe(@-c$scf#eTzcy@sBb7yIpx{YNE`ovoKgk8U~Vl*@lEa2K-_D?Xj2x z^;I&Ca6;`b1r7uBp_sYV`!CfW=3VnYkGWOa^Qk_Tn&K9N-AetVK5s1&tJ8eue5Z%D zly_f7T|dmIE0C(|>2zK2o^&1d6zYgx;B2IhG)&WdB+l}3(f&T#BmX>i?(y+7KT_&o z11|!Zi6v3IUqP^uwf*B%KmHf(q;Xc?zMj#S_khzL@}>FMo2k97eLn5|NyQ|(c6&FT z!u7$n0>?efqw!zw+Fa1n6Iw&ZsrR)keAxCJorlq>SV7548mFE=;;HqbIoABL{?DD) z#eVi1r{*_)9Bo?WHe+jiG-TEbTkxH|ERX74y%y<3XqN zGpFLs$U5*^?;IuRv-6-?iXV|Z7J(@dl@EY*CcJ=FyL9Uw#;J9uy&m|2f^)I0{uTJg zw8qnY!PfLXIu zyqM;CJ^$aL9l@&LE>kJpi1`}`-DRAO%-1X4&O}UN)){I8}yfqby8Le-Y=fX z-I~a3%u~Dw{YCglf719^MgMO-e+hk+-8qoL z$^FFPG#6etLO(T^p)#kFxr|VU^yUC`PUBWTBZ4t=C45Ws+D)l_5Sg?~GF)?Xmb0Ju zv%ssfpvf0GpQldAEBm|l)uY#}P@bdoL-ewSG1bh(-ZxrKUwARGA*njTA9ikc>*(JR z;=D5YKzyfXql-{SS{4dWS70{$XLMbI)P+CR?a$zco%&Q=e(K7!kF{b`7LOGTYO@Pl z0@77d>$#6Pk}tC@9~fdQ5gaBnH<@E^{#wxKo|bCIf00u`JHq{Yi0y=DCaa*OgStOY zFwC%%_!)yu9B4J^W^l4|`M3;S#FekSwPHA%*>6mxaA6UBHTT17us?6bwjrLQxkg9r zTo>c4F8G`HUL$c~Il#J^yquTS8Ro1}|Dv*r8gy5k-KDb#8^Js2^Hr&I>9pxN?(;Ri zSSuSh<(p|kZG}^9_#`(_$L-XG-?-&f>IiYylJbJnoz27p>$}=eJ;Sh0jj4z+2+yi@ zFDt(Q_17?d;(9y1F_})udm2xGdfHNB2~dCILQ~Ps9#qg^>bu&}e8ESO?(=TW zkl|fpv4F2@H-X=+nJV~tF^-~%qJg55lHDYOhSO~0&k56_gd%Ur9*}fB- zz^5=c_B-~TXiOb{ecO-()Q>s}K$~u~#k7!kJ%-=5<=+S@Jx4 z@reT>UbwOczi=Gdv2=nJ88}XZ#-}~5W1=}Yk8pJr4{8B zji#t&2lI9uJKHlWnk)9>N6E$3Cb;$6p-L+SL(yk*H)s1Zwu_-VJLFrT&oO*oao4tH z@WV>KBOmjAmc19pskeqa2k@zu5x-K)Jk_M;DU%eiyKSM zTu3JT3H72Ay7qIMd<<^B+EE+Fd>tjSdFa2!*G0^!n_ket{yprW!}euQ-w_QE{)h%B zuB;loOY73Y@43KyFLU%1Kj|v-XivDl7d`*QZiA1qsAU#?Y(>rhU#1-9uGa8Xp~~1K zLyQi3!uU{9XABO{nJdRXld@xt$ngMom*AxNP@HfXvPL)Y4vddDAan!t6ZI$Em&OUD zXVQJpSzv99^Jevf7>^iv%}?ic8q?U@mv1@^=ZvdAKIAXmh2!#FVke>*eD{35rTduP zCza+6e?Q>)RGII5vnz97^@yHF-xDEVsXmGhh~K(&0s3Ig3K28KeQ5BOBJ4W8yow_w z*a^la#H6_ca#ZiM1IDGdFiH`}@P+MSof|$qaqcUVPc`=&iwJ~Hp<$L@J7!+J4u&Nv3Tus82(HfvZ% z!F?}qPB*fO=!)dyH_(@*Tf|u}qNnDEmpBh$Pt1W=Do?>(p-PQ~7?_~$%xTS!x_eiz zW8KJ?E1I|foJrTGG|5k_tspRJ7>A6gHMrH46$^q9@~VvL+XQabQ%^Ve69#{1|9O6U zz5=eh;~nLz(OOE$z$5hkw%JbiXVdb@WzOF*PvT?#nb|{<85!3et;_1gH{mNg?~3Zh z6OxSE)y>>|q?@dgEBvIVWf`TX@il-RcND);fHHBO!YNC<4jOR-YXrGtq%X^7J7xcn z>Pz2+P6>Ts?uKO~Z@!)$j?K}0A>$<6yUL(-5$OaU@#YNwz|dS^0}aa$LzB9ZDYV}s z4ov2gE+0$`UgOO{VPaA$9#Fmk(YN?Vkk^4}AQewlk%H;}W$(QMqB_3*;n`gj5eote zBFe=I*g#Ri#?nL-0RekimZeH{cR{cOEHN5OT*MMfM694uV~HA#6noTIF(#Ub##n+T zwy0R&&$;(5ET~DI=l6Y{=a1K;m)Se@%$YN1X3m_M`)bm0QC{q-#6vGHgf)m@vqpA6 zyxbTj$c@#lVBfnCJcK@3*k0oP1naCsv?2)4Yz-QM_resZm+F(EOJl&+UtxF;{ihod6F~nqEwiI|Ypo{Kj z%ezGKDj6=B@;gdepV@u(f%8vw^gpxv(|3wgX6 zJJH%A8#Lr~WUv*Y^%D90gz}3ZLkQ<$p0+p-GpxF9w38=5zgyuA*YM>aM4L|WzITm{)iv_m{{aVPK+>SJhsp8urQ zprKn={+?&d4{$dY({&Ql>gnu7ahzSN)49xDHy(6eT`r96`urj&Zb~=0ThWTfP<-b} zM|ce&yG_t84DBrNndMt{uV09?sIqx2%qRIleYgG#zAasV6OXsP%~k2$bza!F=Gz|M ztO@{5`o5^|hu|+)4&{<;KZbp0$SjvE%>T2X>mxZ<6~F4tvLVfRdh>M0e)4ptGe#dm zeeu0C+JD7Zg!>pswMzF(b)_~5NBmsWlR@rNJx>Amn)!62e5&bb|2ZGxMSh$BZO{(c+=8rSB$Eg~ z%yYg&eRkUYO};dylWzJo@j7Tp`e~X!)&Y%qx}xur9Za4`(+Ee%M`E0IueSb;UdibJT4iRHg^^_GBdg!Jl%>|EIG1-Q`wu zF%IXdRgBebsU3bEVde^)clJb?E%9vtDP&E{$#$V7G}pv_+*I^IPw2rjq0cO{ST$0R z@rC(xA3W^;vx)D^`2I}xsj`B0#;kiklui9g#T~Xeg7Pz2?QxiMgtd{~?;*?D8iIS0 zvhghrQ+v3XZfrd61I+G^Jy##d$Qfmwb<_K++#+GGHhosBIdpG$JMc2`4eqDrzw^!E zcLw}kq5n36zQGkw3Es(G%_wV+`5IJUQpL@*Il1=&k?`>F66xPH^wQ zrGBP`I~(t`o;iwmzrtG{J~wZ z;A5Kq)0~gie}=Ns3S)2)hj}dcj!AR*{Z=K~pbYzG=+C=oOrd=#73-y24t&ah=Lpby z5A0}g@yGprn0wy>FIs~Bm>com>ZY?%^C! z?VvArRbpN*N1jTo8@szQ_pbO}N*ma5a9EEaU(1^qk2d12oZ`Ea&#%QjIUM3`=)o%1 zO@eI|Y{zRMF8DEtW9=!QNw+#G6ay{UC$S>$RA$xZ5ynwThs(O8@^FmQi-4xWD+JeRp56~X+=8XL` zv=8Q)N~DL41KlOMGY@`J_`#l{0y1T1OX&Kh!IeTTc)`Yv4}(s18u-2?#vCuWB(oxz zoe%~+TOQ(ju~{Lwcijm(qB9YcA8Zk;^05};a)y3Zyq`T}E@aqF3G&1}HC+fl`Zgd# zz3EKLYJ>4-19Yy2^PDPuf&P3;m7S$8ASHHyP(N;8I;98lv1QSW9O~bP$p`Mw2toE5}8q+xPZ754yNge0^LM z?yGHyeKkHlhcnUOC4007*6$(8ajnxOa8)BC(!J0hR7mfEJNxXp={Ed0g*g%R6B**P z#P#BTz2g(}Fu3L-XDk_wbr52?ecO@r@9tRp^7@!!QLWD_zUv z88eVS_UGbhuBAf0nHURKLw72Ssd`(bs&=RLmi-I5w1kbazP@}tiKuInF+Pm4~c!74WN$1I;s`gT{EvmdbFSHOm|sdOQrp-WN%xF=0y{i2tg)eUC?-GX9B96jh2J#xGd9&mC1vgstdlVI<69WaJr}wH z=pZtnJFE!9{34um0$Bf(4ubj}?Jw!iPkbt)@v}PJK`)^WwDxkX#ozx-`wytwPO959 z@}FF*dfl>&bt$MD_4nq$Svd{gGJp*e^5S`z-&e&Q5|2<F_)Y18h zxKi3|;1XUJG74$+Wl%p;Ev>DiJH7S;H$xhY!9D=+;dO>D5ApX3h7^G|QpnzEL?g%o zA3QUPTy)CVdV6L4v(Bl^Wy_N>hhU%|+tx`Jh;x|K#+cJpyT40+j#RI=T+MjLr~{kB`!KA zeouorSxmOTG$$)W3mWF&p0~}&dll}l(YIeqT3;KP^7mbnY?U}ejv~H2_;t@??ByI7URF+OZ7-W`b?zP z^UZbIuS0z+`G)8S8{XZJ2UP!Muw@_`*yC<6Daz2(gJ^0i(!o@8gW(#X{4#TS#f+gw z%d=pZef2ww^Eun3SWXY!39 zBW27~(Ta`lkNcD4#8a>xXZ0PWw%H`-3LVwJW+~KaubvoO3=h zTAn*jyNB*s0*`jd9p}1-&zG~*b;Z0zf-=0Qy^A=0On-$lWRN%d{riH(Ja1=(w5ZVz zQk)-GS=Q5S5&Qja^iygtOT;tm(|HtcX+0g?r$*uX#ds3XZW8pR8ITR>kY{O9Rzde} zQXE;0Jf?LK^1!)%K95ae9{1tW+V92SVIQZtoC>_A0c~hctCIF8_sv0m z&Ckoo>$szd5=2Sa>^_T|g+!XB-Pnen(p#Nu0UM$B9Ry@Z~pBPe{2SrsmB zu;(qZ&`E)dJ^BLmgG8|o`Y|zsw?n8JA6onu@F^kv&)?v4ox*G46KsqE7G(Qcf&TO@V98%KnGn%74EoK?h*P9?ORDi+*`bbyIq&R#T|NP zqWiLciFZrPm;VlLvaf#&Z`MFJO2pgVndy#*IA5SO0qFez`w=|7F~$(R314cT>hu=$ zu=W%Bu>5wE&8qC9u>Xa3{*WX}XfO!+{m6z(eA#H9u%$qT1=uW>6VsC-&1%^G;F0aPAvf5eZ z7o|=3GY+}XhlESz?papQ)#l)S!X_*%9Oo@*4kpDn%q)!9S+50>!HVIyn+IWeSQn|F z8;jW3at_(3cp@GH4M>;mf&LbN`b%K{v>G~(T-Zpi#(bb9#~S6K90lx;zohWquno9B zC7aGF$Ux8B_Ml0T{TwUMhHOp#Hf@LZrOn#AggyH@7wg@pGOH79KzC2<0g??A_NM&UAMn z;Z1o(f=B5b6UlMPGneEU@(UMnC;Qu)xYuTq6S$kU;40#KBmOPKp>HPAy}o6#R=D2> z=R{#Ag?ZOmT9XkiR>wxTDPi*?eb532g6v@CV&nvIg(h8q!$Tm~_|YzQVe&@T$xmbALBF4_Jh86>Fv(?9sTOQFWeZ z58CSx_UUlHRc7_Q8q#UNgD(}_Lvz4R>uIr=*1oMn@XJUEJ<(nObwF_ZsoW~0l+ zIJzI@TFPt(KE)j@Go`ksSZlh`n8!i3q3_`8bUJ@qn{P{d;7t2&k|?&*6Kx4SX*Nw9dpjb{ zZq$i%M;Dmwz=t@4+Xa5qr#QIyCLnJsXko>65w5wwX&-REjq?zDVOvw&iD3=bq@X+G zF6oTyTfy!Eym$(HaY78k{Yg$~52j>OopVdv=g>R)*`Zx8OP;J-*=wIn~q&_3T~~ z2dX#WK=mF89B_XM_SrGdBAWDNI>L!?Z;CN0w}iu;JOb_%rl*%Jcy!%S+|dLbz61EC z@SxOvD(=3pN1vv9hKxO%>T1;~UY46BSzd;FVauS4q;K>6hW2G|-s~b7QwG^m%q$1e zcM8HWHl7!GY(4f{h|ktzuf>qpAa~AETmN*2>?I^lE6}DiPow>{C7Aat!&)JW?%%+f z4)n{xdBBaeDzc$?*z;Uy$E3eA><3dDmzgiKc^^-soJN$7T^1Wpc4~hYkMgFupFME6 z23Mc%IKJCMVKmk~gZwN*pOD;mxl6lFI-8hzVgV)SW zbO?@c%i%i1y#x1Cgm=Jil25v zJ{I#-vNMoDCK7M>qfSroPBM$(u>}uYL)k>L&ygp-KZm<%nmX;rctvp%5q1ZB_CEeT zh`N`_ObXJ#hc?JN*8}4(>=;K{WG%xufV^x9R%8A`GC~R+#Y^Boa$>bc&fiIjvE`hd z#5n#XzQK%vKdeqI>IZe^Fw7(6m^<{qIPnJdr(a^sBl&$xX5}QucyJ5+`UZ2GT=e&@ zm@Cj&NBY(EC~Jc#k2av3^(cq>yH*_kXdmDbvod`uGj_U#ed^jM|0**sFG4=@_-Ho^ zF|Q5SUtjMh@+H>n8?aYy$eYBMlo#Pmu&Ec=LGmJbAt* zp6tWdr%6FM>O?fCWAIM(qxuqm(%43E-dA6e#hXgnSB{58sBbya(E2M*QoX)!#RYCv zakHw`_wVD%E9?9B@v`{4gsIIqJo(TCWI=Y_k(rzznMLzul3_GXZ^pPyeeAPL`9f!$ zA8UkpQG+_CmzjGt)olik7ENuqTn=0Qa-=t(AsHNkJNy*m*!V78R@vZK_duGrXEkQf z|1>DTx#V3Q61(zT@HBn-(9r_aZD{=ONzUM^a9?65+2!l+FpNFy^iSr4{i)0n$ zK{ASDOSD*Dk{vYWk!-;kx^quaXDi4EYO|YCn}IBLq8o>LFMQ7&AL-AM%%gUo`F+t! z=xfjp)}T4%Sq%^PVQpG%E|MrCpO;bI;n>xh?f7qY!4k=9UOQDrZpzc;h$oTLT#ob;O!q=$r##Ru|fE!M}h zCX`}by&Ag0Tp4{|T2}BB>mAJH?ysE=U0ZGo9j!~qju-N_;1lRbNH?P-T0xiNfjJwk zfnjf0&6e^p_NNH9SCjPT0r%x+!ghn#IY75e>plJYkIrR2hD~)o`UmC(XG+>ZUyO6( zG*%knY(aP6_{<~gTw~ZdMNT$q279wJyGnZMW~^Y1+@Zs`*z(Xa>sE)B$*>oXbItsI zGi-H4eS@St5BW0e<3uAr*hrltSpYY?HrALuS(7>5Xy2<$R^A`qU%3uG!(Eo$h6ZdKiJ;WaE~{Y|Sk|?-{K2iJ43?CldI~Fj}=tfw>3#3N+@cmgTYL<_noc z0r?r>?wA`EGnVDmVQP)kh;&O~(~3}sI%N;7Q4bmVWg(M|Lwkg2q-ooUS7ceZ(;ML$ zsjNVO{Tn{4cKUW2`>>Yh_j8EO_INlvDl=Q%H0Bz=$I_C7D zM)K{M(6xxPKlez=VDDv9@U$h_Ls{yfXmY^fqT9g4_4QvhQ8|O;Ad$7jk$B{qj=k#&I5zav_UvhJQ9%DL*1d%6d(e-MB2R{LGeCPfdy|U2V@a4_g~|px z6q%&lALUqw8ROnjwm=f>SMf$F_*n%TSG&W$g1?(r-><9oKnceP;9P=oRW|ayO4Kd9 zw%4;oXm_fQp?<4!zmM0M(p|DrC&4Zs`YM!$ZkjA3Gu8B@+5gjdPC?cDpuPGIzct?knnj!kGKYRzd+~L60+1DwyakWmWwj% zdIvuQZ}9D@=VcY+bkzR#Ih>AVwbI$5AKBFld$<~XcPirA84Z0n6~FEI-@_j&@w*tb zw5vDzp(lPT`QPCWuNmXs6_hU-ZCp{7Dc`;t=gS~J%k_Pzvb+xVIxpNoz?a9h(uLzL zN0PC$e-v(@uU?LQR)MB^+Y#YD5Kk|+QhVHmgEKS_Kp(y?s^KkpJ1hxorhsR6;#bwI zmX&-TLFe_Uensg2DDT=T)U8hLLrGqXQoBzYloH*fYiFL5nr(Y%KiaRtQ!Xj+*ppbR`q{y&QTb>L6upD2!r z7>Cx-4DdVRHHUt<2)xhG_oWgxT*7AI+^}Rh$z=2iyf5J2c+A40%eN)RT&{kBl(f~Ibz5*C{cK6(%i zny{Ds&y)O<*vhk+ZF)9mEuTYlA(}{f`<(Y^?K=J%;(2a!FZIG@W8Qe|nXE4E0(SD; z*0hwhp#6l8wzF&2Jk2TXGD4KSe8W2*{(PXoe}DpIGCMjK$;&4@PFDJ^hqv#17M-n^ z72)VptO#<$TUPqUN02pgoKa=z%$%j0;%RIyZ`7i+<2Llk+(vx=dRM;W_aCUjhb%r& z-~$CdP~ZavK2YET1wK&V0|h=%-~$CdP~ZavK2YET1^$5oS%Pl*e)us7z8%K+@5r=- z4UFe8Pu?y7IyT<^u*|qH|8-_z{@EhvwUOp^X7R={W8vBF%vxs&eyUJYGW zOWeDD{ms@MdDzE78GH5bocMhchW#F1mq@xw`02|ogq}cwNAglJs~ENuye@OHbQalQ zR>pt1Y8L$tuXVpinK8@1-cXW%!%CWe(@vIuyPZ+~@11Mq-|bO5{|^u2{QG`&@*f77 zwyQXdg6}BW6~Jy&XNLPR8ctT6H?wJ2 zU@DiI{ox;Kb~-M_?c^+Z#a4-1k3!tD{d-)q&}9E{&&+VH&;^e<^dV;sHOfDi#jt-R z-?2&pdlHGq#YPeaGrKHvDDf;`PlE0ozsqE+F4CRQsB;d!)09Ix%)8M2LRX8ssalkh zp0apAs2OL?cpW0?R{uaa>~Zi7FL}jl>^*p)P3Rl|(SW}X2>WJqFBC^-1J2-E67-I{ zo#?$E-iz>_%h)a|3kc;D)ssAXEvw7h|MGWSA)MiX9`u2n^qEKpT+dPdmEkzU|E}=X zy`*M`drQqIz7+aS+3Qv3WMzd9y`bO3K3#bc@|!xt`x)swJ#aUP5_>3FW$Y~FP5S^f z+gmzWGHbQi)^=h$(|tLQLh(%v#>R&uKkTXSds^U+C7GZN?SWiF+ew(@L>XLboEb3G z(eia79c^!UHq!45HqTRvJq>d4qgy5l=Y( z3|+0LGuNjfJ$WYhb|K<8TJ$aTki3P#;vqL?^^l6@Y9`fD>d_}o$r69SLrxBCJx5=^|c5OcPp*$RwuvVVC0Xdq1+_j z1#wM^+>n3Wd{f+AAK%>Pd}b}^2Z48c@7|>Wcubv5^XtP+!c*U^UVcO8-lfjLy^+3t zexuOdrH$~-C2C6(2YJ4U+#2<;Mwln+VU2oNBX2L%!y5Il0q)+Yhb`)14cvWD4{OxJ z8o2wS9!R&w8o2jEJ*-g=q;c>=J({5&%}{oK)B|zDDSv;|1Nq}=)OrBwfw)E1r8Vnd z>O3&Ny|*puVT<$usD~};VT<&GP!C(w!xs3Ib>x2bts#nKS@0X&_`$0A$i2$fUsh*M33yjXbSO@B8)7Ct2|T z{73TQ0c`RgPM25QKRP(y9Qsx>c?-y%7NrWQ{9zIJ%7u7N8i#!_7WQBX>ID9xd&6H& zC`8_cD5DT%6{5^SlwAn9SO`1{flnduDg=Ioz_So?v=F!#=F=F^9kR^|&l81NKGo}q zA{c%x;Mby*#)In(i#Oh|D&Bb0u6X0^cEuZi?_9j`Zja)Pe|Qvcyzf`M@nKN$#>c~o zH$G7mZ+sS0yzzN*@y3@EgmDCSz3CwHD&9<&oP89^V3$Dl31pj&Z}@49V8c)=AN|`3 zeO_k~JTbrV@Jabr;gj>5#!ks^mhw@4^Yl#6N5adnUm@4BEah(0w-;9kcLaqq#YOV3 zRR`b5G-GG8S|46UHl7%t9(aRBYz4!<8`FJ?__bggO!03bekR^Q&z)-qSe4+1U z&Omy)tMfH}FGriUV!cXL0m0{|LFRdJ2bV$a%z=&mS;ks@%6()CJ+~CL*OGGFWge#A zKl|G>6aO1&((1gkoP#p96L(ISeczbArEXF{cG+IF2F#JPE?H(@N1l!QsUDQ0f7eBS zAb-k-_~R&7V$)t?>@*O#-C~X63s8SYiCOsoxMXKo8UE4R;h=R@_{6uv zuOr+MxVDNLeqQw~^Zf4^uMdlU-e`w$b=X@}p{?O3Mp-kPP`BM&?Fk?`)r_TW4{-lqufGuShGj-93aU}P57^6unpyU9~G zddb<@67Y{bcxx*7MxQTm*+n!_AUe{J`gE}f9N~wu*?CIXky{oc^YY#UjfLCf< zf|l#axw!T0>eADtdj~E^rR6wxu8VV*Zk;$~dJLybOh}H2Q+14tO6!Q+xR}a3xQ<*z zLMLUaHaP;>M9L>96B44FyL8mVvXlg+RuL1WRcMuJa#AL!6&kHl8zq*Tq)JKUBXw3K zCnhE*b>@9*0FDFCv8Sb6xXK@7wj40IY{9Z(AA|{a9WgF6PKLC z_3gtA^$iL24+>PcFb9X!Bu!jQQdA_Dken35|8W$mpj0apH41$Jj+C?Kpa4E!MR0&; zm_jILs3(qKGS-x-CGB8puvh}5SRDHj0!Ax|dF$Uw$w~u1cjm%;8O3VG?AaK$j~&F@ z5#Gm%U1H_z1+$T~LijK?l3l}b#&0D>lHb@#$$81olA{JWO=8I`0UL84v8ikp%sG~@ zd2A(H%Qo&q+y^-H(-p5E{DzT_cBg7rbzjtQzPw=Vw zCA`yLd5u(6A^$tS{3IiQ0dCBFCmw^)f+HkmEKM?562O932wTkZnNkw`*1vd3q$EI+ zEc&-(Hmnn)SVpWa>j!#oX455Gc^?Z_%r3ASOeU#^a5?j4-?5nz`e!Y=GYxW&GN zrerY;hOaCG=5uLmCfaZTpI5NtbGWS}-y5W$Qkzu1Zx`bU81Jg~Mt*yEpL^^vds!pQ zgU>@JnI)Mc<~Colq%vP2zhH^uTR!@b{~gy^;sp%+Yv8UgyF1gwr6@FMs!Exnf9Lyh za*F1i@vsdQZ*4=bb>ObF7piu2@2`Saa>G#L;Wd!wK5{?bQqFL?`Yy7;c=tC}ttMvOIKt4K+n0QNE*eknSZ8a(LT zhV%x*c|GuW<3)6_TnAKzbE3cA6~Ze!06X)BPoQ@(ks`pE1`&$HaM8^YysN^q#BkBg ztr;F6hKp`i&HVLtPDY~;ncY)|`6x|}xEfd`v zqI+9(xj-SmqCtYIFJJ2^ya#v*?hVoH?@>LTKK{RT`-|n}mJ0dIxFoo@e-!h*EV#i} z1oz}Gf*V#QxSMYZ?yTE_`)|wrPsiI_E|f3941qw40U}YEpm#AT6-va!JgtiY!Y?jb z5tT%oYUm%SjzdfZ1{kg2%?#s73Su927~T7selc zBod2(tWmz@(XlV$M=Bz)`gnJk>b+skKtzktDm6u`P^#6+jCW=5RwT}YtBDkFFpQRz znurz8zlemXyE9QtpI6Nsr)#U~|CfRu@es!DIrE-5s+Rcjm}9g0*WQ+tVI(&wj%Ql+Y+6q*zi zs7g+Xj*G#oL4IO*N=lqU6N9H}K?T}Sb{bI8Ar(JTv}%Rc5%I}atw;ca&}xyrmoH+Y z5-@epfHipFsa%Plf=Hs!CL^CD0U!P1%RewIL=iS3*jEv%@C|U`CQs(x4)P7?`tE?h zP@XmP>pi|uofymz3x<137(e*I^;N5TYGRdj*(gun&@oO< zPFQiO(5zg9I!YPOC8uhgoH!auQ#Bm8BfU+!7?txGyg@Y1a}?dyAH=9TZ0`>eS~NaU6ab)wYIzQ#_6EnB#$cy&m-Ayf9E#jq9~2f>`fv zbs1(3SkA`u}VovxkQ(yr-XlNkf zW4YcrIxeL%##iUgE}gq{?#ijsl6qoFTH`-Ue5ZG1iQq(jGHcJpCGnFTE-q0S6E(`; zXAA~r5v}({@(LLE&#^d7+{7s4C6cFWuWG`Oj@4fISlVPTsxlId5Am0zOyEL7JqaHa6&0PT ziR#IzwCV(?sNxMujzVc-DEc|4N)#4u2Hwgj4Hp@u%220hIjDG&)f85p$L%SCIs*|R zQlq1z)SO0{7{w_yKqVzr+W}5wRC>?q6@$=FYl+e^P!J`ONb&7AB-FPC)x@^(haxQo zHRAIF{j^j=)T@dhVnpv$wK^(E%Y`O;b3Q@7p&Z&;KRKxJ6 zbWBW+OihUDnC9HcRgk18h?IVvBa)Ts$j(p$b{3*jY=fVWuLk-;CTbC#AyAxMoa@&% z37^?t5+yT|;#i6iM{>q2S+Mu6O~3JQqN|@r8?6=QJ@+>VZvRb!yK{};?ibx6(M9tA zRRD7^b=a#ZqxARn-|J{9XRB< zGxsDh?Mq$S$ysdzq<_8q;kTe4PBQhX*`v?9B4`NYJ+pGJf%>Nx$th4c2>;f`@-{yxW!&mT9t zBsD!_{^R(*!$1Fd{N8q72VFa0_2sPl(VMyBJ9~aV#d^S1)if8I-@>~NUgDb>8c{YO z@~atJ;`iC+PJNxzzD~vP*#0R^U-^FaNy0BVyPr)8X?0$+>AG~Fde~=nzdCIi5^d~I zzFk(btMjr+hi9&<)8qWZPaK@LuPbcz%{ZBK^t2}T+S{J~G<#>phWihVAFaL~7kKLN zPf?`@YSp%ja6S9!>-C3LhIVqz9r7rz%e7ByrItTg>wb5-X~Cc2^4hD$j~#55^linb z_I>-*{(141T77@+_wCI=yXJ-IYK=KGKKVjzqc@F%!&|>t+H}dCZ!ezomd~E>#g8%H zdfnbOYtC$Aw^2=RUH;=(hF{&utM4@QntZ&)jAzsy(`ROx^uO1>%jT3uEdtde6JES& z@M@^r#|>MQZt2s`y<_*t9~;)SUq3qbY}lyfJv()8{Z&ledJS(4TX=5qA3ML$EpHZd zxF{=+yP}L6IALTH8*|&b-z>cTn^SI)cUjBc&8?c5o7OjJ@a54t5BF~Ty5q6@7M343 zeK0J*ICbm3pFjWORe0u_Rc$3t_y46HeYjV&kLyP-Mx{A=&$)7>)rr`b_r6v=xUuKE zD=t5neXR15w_IYuH99h5O6vh1KkKvaT%#@(TM}109v#^Ei{_7>zY8iRQ@6gJLaS+^fw=Y2P~yXl3c zr>Fk4-r<*t>)OuW{nOgQFFkIo?Af7yc6#vglZtT>{XPmSv6%Pd_MS@%#y)lL^w-vd z(+*^fSv7g#nYjFprO7+Y+nnz8`Q~FArdXRLsaD*cw6E7?lk~Qy9$Sw{lI&h~cjL04 z=}}3GZhmz0O+lU0`|WSuZv5wu%Wr-2efQ)67fe?DesS_P$F1Afy12CRaB|LBccdsf zuUn7(f!g)oO?$cR%!0DUmo{`Au+-?m)1U5oHV8hI+4+giYTm^`X@j=?=^Zwx;N(@K z#W#N4b@q#9v&IGNvFlKrIXJ4H(eGndj_Ed6qS1cxypyNti;>M^c7&X}oZWS(*&PeN zi-~iUKP;PAZ*`CPmd{4a?rl;2N4xy*yB$~VzW1B$wccO(O&oFc+zJoP!yy^pTUr

|QAoN;1O%GX^=wWAaIdkx!jW}QlPWX9yl&pw|p;g5Nf zCOxVD@ZpSAcHP{xY0$E? zw7b6FefQbQY18cF$B)ncWXhE1jh{dNvwXye?Z^H6=9}KX|KjeKUwXz|xUl0@UY_Fj zty_HySFC9DbnV*E#cK79QAI_|OLp&0wSD#K+Lnb2`;2SbHeh7;?g^eA9v?}cKK(1` z6l`+6A84zCCkQ zYU=OJOiawbm_EI^wnK;EoosAeJ2q?9eS1>Ul|M#~-1#Cmchr-RkhOz)^-5D-ytw=O z9XqB>a&!#o`|GbikMG=h?2;KXEdB}&T_1b)>|W}-9q!#L4(B+z-OHE19{cL6jC-R- zeSKiuxC{MGoS66HfderE-QCr{3>c7eAs}Gs?cu|>4LE)JW8Tc=YI1;<9b~;e%G(xT*p8DIC_51p7`FDmJS)e{IcQt*s=SYo0>LB zyL|b}US(yMhj!@_8Q8O@wng2#mY4ngv+LHbT`!?^>;5-JkKQw;q-0gn`SaiYxp}kq z`iO`_8+AJOwTl+H^tf^3{G5!8hh1*nD)l~gY|e-tJ(6}OCjK;c-aJWUY3Wzz0s~i+ z<>&kFOh~x&eCW{4#*ZIAYV-T=r?*B$eK&vN#K(8GZ1JKjot!-`H9;{zK?C8#&n!!hoENON7_KC?q|GavIR(spt&aUsz0|zd?^6j_EnRDjU z|M=5S8!kvmDf8;vck-cKyT%tpN1wdZzyE?-GFffOlP6Ej8#J(8qg0kCx^){@F>KhD zGkf>O>1NKf8eUxddAsJ#d+z<>i*|0;uKj57>{0SE(30^|U?0M-La z0IdLh0Dk}i0E+;o058CEz(GJDpbh|2)lRDc(Eta)kAT*I?SM4EC_o;-ACL%`12_w4 z15g8=0iFON0W$%yfTe&YfD3@NfYE@HfH8n5z}J9mKms5I&>s*Ccm=oz*bDdxFc#1l z&<`*SumLa+uo5r>umErgunBWc0p|gA0Z#!p0K);b0DAyC0KS0QfHQy&fEIwy z0N(*T01W|BKrvt|;9GzUAOTnaJ_W=BdIEHSMgUJh5FiF{1@Jpy3E&~%G~j!{eZWq@ zO@Icl7_b?j1+)a*0(=SR2KX3o9Z&)20k{pY1*8J50+IlJfCm5@z<5A&fFs~AU^XBb zup1BoXaFbxSOX3KngLz{h64Hm1_F)%&H*w2*l6OG0WJfI0Ivb*fKz~xfX4tkz|Vk< zfUba90As*WfD7O&fH}YnFappHkOjC4PyoUKg8`X$}){w2Pr{zmeHWD(Jj z_=I?b`U|xU^((43wH3(=k_p5c#FNxlsO_mOsr{(Uh!=^L)P^J*h!08j5lyKN5f2hi z5nmF2P}`7vq_!b?QokeKBzZ?Nj`}aP1<4ZXyVUQA=ZGhXZ%FQtTqQY2{7N#C_=4ma z^=Il+)PIQ&h_6YWlAI(yAYP>YL;alk5A|i@F_JOF2gFOnv&4HOn@L7f|0kJ5vV~+f z@es)pl2s&&sNIQ=Nj8%Vr+z|xfp~#rf}W?T&y%bs-XeKTGK+YNfl~$d?xuoeVybP$!_Y4)X!+_p#DNK zfyM$FM@T-=7(_CTWC_VEk`E-`NLG-HAz4ae2+2^A{Um#+&(rur;{eH78c#@GQ6D8) zNV1>C1R7sRCX<|_@s#=}jXyNrkPN22O5+!enKUNScuKOJ#!?zHNd{9Nrg4sBD2*31 z_K~b4c|+qh$z~cSX&fV&PO^gJ5RC~WQ)tX3c|zmc($1fH>3n*OKmDR;*SgEQ?u;rK z>i(e7gAr?|d1RN4wcWI|!1$76)O7O$AG@?ZIHleY?U)1V*I)gTwW0Qv<=O|!i;Lry z-^Z&u6B&0qvgkSceiu1Z`SE$VuwK%_1!|lG3GT1k2|QdSKlto z8yIb~F=fuck~M=9jyAoWeYSP&&o6%5t-<4z+;L`2iq|%+lhC6@z=ZzocJ1Hhx}%=0 z`+$N=fkEG`81*Q*Q|uqpKGPpfADdA}dUWpdHwPA!Cj_s3x~Ag5!}Re-sNd=* zO61aH$?&0YJy5@)-}?A6{C4Toqf>X50_A2GMN|qlBchY}x2~0M2p*OfK|MNO4S263G5d&1qpmLDm_XSi{J?2d`tMsM=&GG$}fwIJe{V) z4>xyZgeo#BIwm%5Tzo=eQgX_8wMLtoHX%J@BGJevD8Oq(Xun~41XK|!+I>)Kp^J@l zc8SP{c7guhRoykdYlcf25=f0r`uTc>RgtE0bB5!$fkZQw+OTROFp~&+H`?LC9w3Ye zB6)impsAs7vYkm(YT|hVx=?R_ML&NZ#URhnfxKl3srX&=TZOcV#M>Y!uq(x@>m7KV zVw^TZ@ORW#g5zilNZexAaGsuORcv?Hj>$<08J)Ob-jb1!h4K|vhrG=T=N&d&;UDN7 zFvQ1K;YoXR;FAzvzfjtwVM$TxS_Qu~ATW;bQ@_9D=NqOV+f zqMBaIuGd@g6$J~WV5>x7kQ};MH5va9{WL1IA}XP)U>m5$RuXL&Li0+RL`vVevMCga zF^O8}R^fr|H`+6cjMAtyqv+?DPJ%U#umP;%%^_)%PfL}I$UqIDduH&bBH!|_PI0a` ztR`X5$XDOjpvm;q%#>ZCj3h z_vQw94p)SL>O;LlnS<~{;o}?XjlI7>ABtPe4`x6iVUCo#DlVc14jEKED?|R_ZJcNy zI}S!L6G_`H;snM~r^TtF_?}+bYyHLjqneS3?CQ7_bbGE%3bnOC%|PkOZFNR{LkTve zD)aq9>?iuIRq7|`GfXU9(^>3DdRN$k1+heb%7b9kf_Y}DXSe;fbS!!?)bq)8v};s? zi$as3QAfq_o4b6wYm{liek#IwJ%1&$MF=>Gd=izwvmj#$aS@$~7sdK?Rub~vU9p2I zFp}8t4lZ2p-W>9P4Uq;-00XiR1x#1b$-Vr;gpQ7`oEk-(Yxdma1M zFv_BeQzHHkB>~L=g5@z~qBqDB@Nz&GbmT-6G(98p)HBG03?ZUYs!Wi{iut`bBoQO? z#l1g@XcNf9a+T51f`sIaiTm|4Fni-O;)OHf(5NViSP}%0>3Z8a{1gn4tI`H4g3;If z1O1p#D*Mp5tJA-s)Zz|ep(jx14`PMoSpNJ}6l<74;-3f++G zBoRv_n}C}pB~pX304g9_fvR# z2G{626o^gPe~u6w;v4E42%%at2VXvY=#b#xppYcQh@DWyEyB1$VS;$o8;KDzmB{LQ892_Nt-x1AS?ro?L`&7kgM z^@vK*R5eM|588s1kbp@=^nvwcrDSBMM!-lw2nHd{0 z2VduZu0}9#wk#Mk1qTiD4e<#Y7Wl4;P!5v zV<|LfrN9$jJND&g>w;hq;#KR2)PbrusRIhYY^?t8IO5ppZcd-iF;fXh>k#TZCr+g#`!YX)r+ty^>Q>aUei%(=DDN(5j<^>EBz0 zq0I#%61{2+Xq5r_F|8Umi0LrXih}W|z*Utgs=bR*i2N)<8Ba0?d>xM=g5m9Of!LwsuzC2pRk4lU}KdKb_=xJoHq)yh7k+)#IMCt^r$dgmFQBew& zHr-$jpAy-b_trb&bQg#TvH8^>gc>H1EJg2$EGnmpm6>+zt5T>jZAKVxb&7c}(Mp_- zI|vIjUWl|cOoNFKVPxo~&ju3(*x~RYk;0r@hz0ElFHZ#ei{YA#Bvq_BIVm|618fQm zRE1S*W%`=o`sq204FR@2nv%^Sfj&Q)v{x->t5&R3sVaYs8Y%&e1D#sI>Y_TYSFM!Z zqOv%w2)RIl3c0|RL5zP$bX`SP#v8Vk)&loThl}aKoN!46>6NAs7z5PBO?_wcZFg>nC@YYGMtWl zg?V}f_$mT?hx!I!HqK93ga{bC-;UrpoF8Y>>8P@nj!tMg8~m=4<%v;=yb_M&!Jsf< z@b~oY?@NUVx%sv{-HSS>j#ZwfWKd$uMdVF4MuLIPjs3Ra#zA72p>P%vqn!~!c*bgh}9 z>w8jE)>~|8ksJ&wbCn_`HbWCfYjmopf+(nf%8S=;2YUwkdvj>rU~hCh^hOb+xHz1^ zP9gOBEH^<<{;ad$3cDAe-^bPE!tDn_xRH^Ne!Lhie zpCp&j|8f0ql>gth|Dpfm^7ZY%5AAU4%c}M_F=+pz2&4ATyZfJS{~7j1{Uvkc`Kv+fL0QzRu&WC8pa|~h|6%;}<+lZmcT-uoTh1O&*(Z(iug{TJJf^$u z&_@-x^DR?sA35$STYV03akuDSxaX0+;UvX<_ zwZHwpp#Rt9|J+~o<RFY*}tlcnRA z9esXXa6M`K%)8%cR;SJDv25B53wWMphg$FAvLL0Q`*6rc% zBd&7OPF#DXygf2>V&BClQ?4~n9OV3KE&qn|b}ib_u};qE@bUr4<H3e*YG_)OSYf(3%=T@ zU%N{;q5~ZAo7&I%qL;-En}PYWf8VwvyUC`=fPP-1d#5bU4jMUXzQfDBi$-a=PtA{7 ze7<8)#NvVji`(TieVUZfdhnU7b4?wW#7x@aa+T(}c zR#@abp42gG-^)|({(XyHHW)gmNs5utsWBmo>TX`PI^@j!8)ie>>>9E7#+`#3pY^bs z*zo(Ort2~nuKG$H^U1|2?I(|z|C9G$-(E5IYuvoY?Y83{#&-(Lx-oR@?!t@dn*z^! zn@-!>q0fNNBDV(T^mq~y*QMXL$vt=0i{GBVu1ScxbaB|xk&c#AyWAW4s&%&wF8$7a zc6)a1gE=o8Hl9pdxOHUWHxH$+Y$sf@*fBL{?DaL_q1z@`sKN($ZMOAqyXiuFi)d4` zj~m#&NpbJjukar0UG&GxuJbdbM!jMJN5vX-UjNPPz?a#-xkkDS336C`)uZv@?-DoU z`ZU${yj|3Odg#rk8`ia+`EZcLI?!+T&_8Z#PhK3cswi-1_n%7p-1$qDKin$wsHKO+ z+{po|)1eO>cg!0)E2*`WX5i_8R-2TL^(3b!s`o8f)OqIE&Bh@KBerCFJw5(wKdbTc z+b(%jYrg^pswGI$ob>>PF?fii4&{_ z6m=fI>9Y~uukJU#l4^N+x8*(W4ORhz&TCvkFMVp6+puGy+wBDpZhUO?@#$H+n@?+O zvUk#5x!2-~eoMNin7EGEQn2V)Z{5M03%~8V=FsIKHs$McXZ4f>96vM9IC|>1P-Wwf z7U|+|ybgLghkb40Ftd)i&+2iZ{*%s}SRNQscxb0_nq7LI;)$~JCp_w(+R#dV*?E)P zeV=#!v`3!?`uAA1c~jcz+O?Mb(CgNa0rp!bXC69w|F2$+?rz;U{Mqc+TSnBH==sEW z>}Au9{U1AxoW1gso3FBmZl3ey4-G43+2{Q*$kXGPV_%Ot^d$D%`8oa9ZZ}=@#m^SLJ0iXa3D~%__7f}fv5(zqH*MDCw0z;I z3gyPwrr92&&stqr+wo7kP6ukOv2C7H_G7D;QyOHRE&aS+MYE>Xi~7$0HGFqWlljx@ zDUQ!R^0>Bol#)%fkuNA*G~3hKE5ohWPyIM|O0LQFX8vdA?z(X3*$dfa%RAmyoi6{#WpYyEr*ogzx>zUw zZej7)zx=c!TORmHtMUa6CXPMe-|)r6C&#t&W~t5ZwD6sMbH~)qMbDpSq!iov8^3NG>$Yft6YcRCwCLgsHf(BEQ3olA$d z`@Wua>_Wd(tJQsyOb+f(T=*h|Y zv%h}fV&gPz)QYn)C^Zhqu5m+}k7gZ+G&W9gnLzF&uCEiiXmpYd#3Ufgiq*jsr;9uHDA!M~Qx zneP%19Wr9u#S;ngSCd9L58pK}_GI3UaH~1b)k$Z67`gbb28kzK-MFc(&X_N}_OjNj zcHUD8`yWW&5_aCXO|MO{N17e(-lwZi^tjZ|M*rR`yhvlRe$bcU`?gu%y}RMtzsC0) z@yg=DuJVGmJL>n&ex+(yf9BIIzK33STzhETd|BF$tAE}n|Et5j@4wi;c!g%`i-51g zv(x5(vLd|g#nfK@W83cTy~H^o%cRZqoUB)ot0sg+&b?c|*~V>CVjFC3vMVX4q%`~W zyk3Qq%U>PuoA>lvZT#Vh!`NTTP7j><Oja+*JrN7oxc4srMvx{1IL1gH7joMOSpgZzExxTJ@L6w^3#r-mmRu( z5#=&x$>Vvt^$qhzhsRWy?udn$Jz6Mb8h{vKfZi)TAah7aT%%Gty`_E z2v3>!+=U@Krg_FzLLFexex?gv^^!13J zEcbPpKI-YpX6v_DtaWz(bH&czM(>O}bEnQv_3tcd`*lErx|fFTFMK_rN7??VJ8G4# znfmg0_s0i6&R!Z|l$}_sXiLWD#w(4^o*OmdMStm*$jG2ii)wed?dM*S;@W!kb&drO z?s@#xQ({&SYG9iYs(HO%Z9inXJJRm)?j;)vzW%w}q$#h{=67s;s7te2lY2Im zZo3~h^H0^|8EgB3jbAR4+%?^}_x|1LAIYOf*p}J2#?W(E0H_ z26YO(t6JS#mppWQNytL=x@8MKs+HsAorhUup7OR+vs7{a|k3 zr4*mWO>+icJ@Z|QkJg{rvvtqbC4D|N={Bq|_q4~K^54#$YJV{xZ(ZWzsH_>YJKXkI zwqBO~a^3hXH_zJL8|TEnHX8aFP3D z$sYT>4t1L!wpo2VrS;QMQ(i^y2|h61to-L0MPEJ9w(9=W`BvKc@gLuBQhH%_=GVKL zd&>GZU1;HRGw4=>!|jh5rR>+uXfaTG*{j{$K_iaN_;c+2%UrWN%{yd_IN|1E|MP^> z^<$Ff^c`U4w6DR>RxL|SyQnAr@c2MOk0EhG?e6@4?7e?jRMqxBzV`Ct>Hqe|))TI^BQqrJTWU9MI~1*s_%eq_#K&5Wm&>z>)Yf4{qA&*8Pk|B^?XPv7zQpc_p~bu}M8y=JLdnzK3Tjlo&h zo+^8D)f2CM`M~9muP>SOec;^zGiLs6(fWXc9n%**GBodrOMmzOVnpOO{;t5MKfLpv zW%cVmJJeWGuHQ9y%fh&yqz6VFn)%S1{tFxvZVo&8moM&H{M4K;-pIKz^Rb$f+Cg6j ze{uZe)`>|EMz-urE*w$*OI-YJhtZZhL0qxs<eB*q> zzdvssm)BDL&y}NxOdERdJbBkU2dmHhrC{R%)8S2z&HYwiXggaxxntPX5AJV&XZP6; z&pf`c?(KHr(nDhh-~Hg_%DdBpau0s_d51Bu^ZCxL?|t+9ue&#l#Thz}j9B;NJzsD7 zwR?b{fB8yeN7ByT+!4c9Tov~XANIP#e16IcZ+i|bk2CMu_@6b}DL*~^`OCd4Kl8pd zbl;M7HC4OzZl6+VyK(1y$L+Xik9|l_+!iBlk$c?cir>w(jA`NqW-%@O}+JlSC{|AHLd!|v{8T7 z-!c1>lJl;ur8kpbv%a2N*D>jH|2_Qp=LY9rU$gmr z+!%ak;x{#dfB9U#=bw?kSm!nr=YPbdk9N!$^yvL-?;1_}|7P#~Vt}7sf35Uwp=kc< z58u5bGNkLp(E-Ngft8E8)?E+xeB^D~_kr=K?Z3AFSd;e0@I7)~c#bF2`TB&KRb2D5 z%iM)=-~T-F@caiBHdlu~{*dOb!fQX|{xa@ACqHQpS|&w)yel%Xa)YDrt>t<5Mx38> zu`l>F^NlgK_ug$d6}D&iq_oG*-hcFTxz7GU{Y$S~H=i#G{i43*tB;@UEPXN2=IUHJ zf}2zR=HB;n3MxOj?tQW0()Uw_u3gym{>sj{6YuX>_}HSEj}L#~{_I~CO{O0|`}a`) z9lr)1%zER2#cOt63ix+R^7|WJqCd^3Y#eHTe#OmkrnGqOcUNDT6R~Ia z)AxP+>%}*1eRn2r+wjsWU%&O|h97cQ)zr9^soU3$`OhC{HFqX+aYW(He}6wV*Kv5< z*s#-!QyyIV&z^gI3yyN6QLhlSZ{rY`^@apWR-Z>HTr?vYhn7@td4Nc+hm&cD7 zyW^D&Z_l2#wQ<+6`&PSew)?j%T08B#pNb#2`k#0H@@C_h2?r9t+%@d@*&kBAoA+b+ z2V>UNT%DS|WbCC;^V=7^FylnV!8>=S-q~=%K4hEloYPv?~htqYbFaF`{IiI{375dlB znTJZ&WJNjT>3@Mci;nm8ih7vqHEAyLDp=<8=RKe6jE>%}d7U#I^0)ICG5f3`Ym zx%uV9Zx3wWQuFrsF?n~a^&jlbY`J)P%O6LIOXH4}1zj>mjy5jKef{4xri{lo@3*`^ zYv1?1OZGn+l1di>ZU(P?e9lXc?a9A4D(6p&X4Ic)_{XuMW&hb1^-$BuEHs-5WQ z)PK3h=r?xdOCSDg(^zHIoqB1xf7(#^e%wQKhd=xK z^*vvPngU-HN|*Qjsj%tg6HD$+PW>i&yZCL^$g7XGTkre)*%d$ip(0@BgFoK;(#6sF zLqZyUO8L*Owf+x$acSN|Q4eHBB^qnSpDH+X{E4SmeCBuL^c33>pKR?@9QFUT9k``G z8n_#++&%XX{qRWFuL(y#eEDkjU$tNVDqk*IayIQy^S11NcD=oU4vl?o#y`WWR|<)8 zQ$g9Vmo}?eC4ATW^&^MBYx54d5Y{ti*u;T&b(afOho=72bi0qot$RFKSN-|lrs|)5 z;h~>i-!S;8wv&I_6yvpItc&|w_+Oq3J~Sm>daI}E;@2PBeqaL?9=NM{s6QTOib=Dk z&C0xgR<=t+b4TuH$Hvbl*MtX{Yf?VvN_~`f-LY73-T92hrP|1onV))Z{2Aw;{lasN z*Lc2hYC6sz6KF2Zw3>_E9_l=>ji2Vj8_)0&u#rbLPR6-}KW3=k-sRfDkurX^g#6Qy zza9B!ApcC{Kh1Z}8>gOUMs#E)&aT25!aVhyt6rQ#6-!*FqyOxz8+caFsPZ*{EE@GL z4!L!Hgt`y6@0avOJ6&(R%t%uA1Z-k)AuZ}R4DmOXf9zs-cLVLY5=1>lytg1-zBQy} zzXsUTvzV+S~io3T(B${~=aaV%W^E9dH#_|I@$&siuYjD@AEQCD))Q3pHDzB{;6t)mK~sTAAkgAwYd_Bq`vw_icO6YBj1 z&NDNiT{7a-XW*3&&U7eIDgCYd#%FxxqAk-$D+_&fF*d4oTiPG5mg|FK)mWtfaE$$3 zp6WaGS$%)2PA#s1`k?G4_3TX*Zr2KVm;7E?>d(B;*t1B$8Gag<#At#F7b+gDWckVs z_mzA9Kz&f&T?jwP;Y`jzsil>}VOMBVQJ~bL=JjMCwd~=9nNLPh%k8|}qm@*A4s#cdPy3{onZGe$9^zd+elq3wl!Ptkzwvw|H=p zg8H^QQQqeFQj`Zbj!~9h8>2L!4B%g5Bu{m*GQEp~djV6*`-4EuDY%~Gq#ie5xrdvs z0Ir~s>9gH{V}}|JQt5EI0UPGG$h?&5?r+n1;kWkugs_K?ZuI!>k&P<8|A?@!AJJdm zAdEUIeOBsf__Z$&HU!{HY$xy_VOM{;RZ0din^4W%g_&S@i{&sx$Z|R$CO3m%~h{l%((zn@^HMip<8`mMMmQ#WIyQrUY zC{w<|-NR9`50+k=@+{uT=-+3-;JimR9XtuJRrxFJO7iik+AfyCC3-w z+1D=JI3*L|m0WD+(y*87m(t0JL=EjrIjUYt9)!30!m97rO7MsuF$SsMS%7D(DJ9jH zN6a{7Jn~q2^P%J5vF%HNqZZW9x=L=3C1dASe3P+^8i$sN-GqAn3VP#EcecH%eO1NI z%W7NB#JVpRA&)=#>LtCW-v5Z}XQR|}i$@;ZNwng(fS*g*1nSiaWI z#`EjARGggSOLyzM(;GNbSjFMD@$N2MM9bb&(@gtaUXmK$y>z{LSKn>*z5Ceroimhr z{)4`ChN}H^VCP2Ee;`jU;??y3LL85_uf#YlqrI$nXi6d4s*c?%?;d#P#JjlS!W5zZ zy$Xw4y!|)YQTe*W(8uJwd{vb(z~5DRno899GiXTV@z=oXQzV>q9V@qM2UDJ?b=Oa| zQP)!(t3Hcw%sf@kC3CgQOnDqtwF74`9tw^B97o5#LY?!&q`lUO>vGQgefN@w(O+kQ zzn#EQYdIJFJ(I%(oR@7cH|Bn7rDKPq=-6iwbSz&h=Zq1^U@7-ATFRvjZ$nmTWrI57 z!zs^RzVf)UIDc;f@@ydEk&DRp(!zqW!1BQ8(+jO-4o+9S6=U-~&lz(|7MAQi&4(mx zVca4aeCs?P3>ped_z|#ZrJ&A{h}-I&pTcm>C$^{oFx#P?@#;G>)Yu8y$ve$!8h238 zkpjSYSGm^Mi2BU3AiO`ZI*WAGvAnKxTQcRfrqJTIkslVhr|w9j*{$9D;w*ggHu5~f z>l!P&VpDeX^0Tj_>}g1&#;G#lj*^&MSY=bEQDAi-`nBZIh22@j3ElUgj4Z^plCHBD zw005waTay4LT1B`wMqfbGPUA<8htR826e7N*`rA6(cpTRX+D1*XMtNp@KapfDAP&q zZ(x)C24|R7N21)Rh`_Y(buC{!>Xi@ctRRf9CdkE#BjrN&!B4 zLwTtpu2!N&7E?vNmAE4k;6#8EnMrYAjE&`~bM+|7n-3UCOiFzW<3FX5!45cK3`w1T z)qk-Hr=mDYv3L8=F7n2vsQ5Y`F!Z3^FX5dXuv76IV^L}WE;X#e&yJ&E?8rlfK{3Y2 zGZ+Jg0XNPAFGc}Bq)YSn+Ht3HO|;rhD$hNB=2@|904KKs5ABGvtLM!Ek2-xg6j)ub zaN*whq*+vfvL8lSD^cba)XA!s_KL{ggZzgfz7yry%L#cHb93`AQD#4FE`I8OrCO!Sx1;{AG+BQjrP_-z;XG*2f_9un zJ5(Rri+EP)(P@(QsxK0==sJj+L<0 z{|3EIkDxqfu>y1-^pR;2D_e8Z{P|oRo8m4}@ zi%6r!sW?cWVF}M71yu)uhO-`B)SXy7s(TUYkchb0+ceC9|4?HC@kbn>v2@UI1McU6 zE3N%B{1?zKkE@XJpRWcD@Aw@JJNjvOM?Vd>{*H#X`DmE;(eRFb8gBg^4dXp%xc_}W z4Y&5wFv?2>Y*PXIMLSH-*EbM5BL0qs(Kf)4Itzm-Z|eU>!ynDf!F1+c@or(^hJJ7O z9Zg?U`90nZ;Pwn3O$YYVw8lr%5}A&Wdt$Xp+dR?^&^73=I#x>Q1kU(q8nS^B3|==t z(<+Xr^sLhL08QV*t^ZEb*MK9|e%Pq=t$wG~DuB)Y{GT+?9iMh@-K0IM#SY-7+=r3-~y~7heL0HX$4v$m*hOh_oMFv^D6=5~~ zD#$IjWDR3uJ-$sDPlgXr7wKs!HC9WDJ?L|+{aGxduhsc?`cTRX2VByZN~!r)N==WJ zS{%bERhlY2BcSx6yZ+nrS^FFC3 zbpsh%x!6T1{3cB8kmlCBsFu3NDKDsX=gkRf-D?NhggI6P!fF}LLcj*HzViiYaXx~1 zT_iO#ozzo-J7KOW;SL={LhFarLcpiiR@^U@A9qf@1!J`zC~>^vyn}l7eJHi4_1nVJ zA}eI2hF0WTDD^mJ66TXE!Ff0JICo1ee?UYkmQqNY@ONN}UzPCu$YP73mswDdOH$2T|s_C}k-L3wNY@805tND?D_V=&ZQsL}_ zEk_facSt=+fS(Febsnqgy?nSLk5@+Bj*m%59*B33SB4?%RLj6OW7IJ6-?oiY)HLk)THvx19mLxp6HC z$%-G|57aeu;5!NPQH14{(gyV%c+{;nAiwLF)7=Spt8i26+<-DwIme0q+^XV%h_RMf zPy_nTsp5kgM!&-AFUXFts>AC<|NCHqx_C_ebxBNC&LVFW2h=hz-I_brQf0F8ts0N= z)cEfQ;!&5c2f}U1$_X_M%2d;+>3#XfO;Em6<54#?{&xD33Cdx_58(c>f%MxaC+YFHTf;BJ2TQRKIz5AURkk^X5vsigt^acu}0t}PiH_B8T;nv1OVa1lqG??WdBdKT5b-~C&;G*E8yMCA$O zrKVByEkoE>zIUPm*{IHeyw&(61M%ib3d;21eg$|A2RTE<1v_X=qN!i)fu5=dyy^<* zq3$N;&d{IUqREKH!rs1(4E@7#a=RsElH$R5^f2O7zOKf(!w7sa;s{A(P``0UP>b46 z_y7L8GW9!S;~c~th>%)_qWx3(*hO>D_a0sji=>TFD=}uNJY^N+s0Q$uRDUu=WB%6w zT2<+DI==P2Tg@pBo~zEpvyWGRS3%F$*#N$?74+hhp@))^*8jc%xINHb6`ota>T7Oz z0sIo}eh+Q+U>^0qkCnG{RA2b?C2HF(@%Of*1NO1;wAh02rGl+#S9Kq%PP?J+ok@(= zv~R^YqQ+UFPyL_XtM5?0PfxAtetqLFbmQt=+`&nyGEuUs*Eol{vpT0&b>P40W&6|j z>xswfY4%dqJ!#eOOg#-MXAY>86!foJ@;L~S8%VLIe! zC(jgej|aW}DFyYP-HdWq`cYCkWc6EZIOKyP=~FsXJp}2^9si!n`@&mrC(+!Ij*Hv+ zTl@@rO2^bB>T;q@Q!QA>sNN0KC8}fl3n3lqcWNH$*cAJM?)I}!U-^Re_On`^4)Z%5 zMfuYEQEJBlt+d__Ir;2LxxG+#*V>2m?g!8Ht!uALzH9CGm~(zAep3G;^KX1XJWxLp z_k5fQGvg^ORIFs0u|nJNcY(StqTQ9auf<(0L!FzcbxJ_~GjGg2z9>LiKNEWI|L{X# zYmnR3I@B<#&Kh>Kz6S5M1W*^8p!5C-SgB+CN=BWRke8YkCwJej|4lx$QO)1mpU?M5 zf0NhWj`Q?wX+QnDxS@1MM`3UF@j{)nUZoYgc(6W0)oakuwc?7P4ve{&ld#Th=o_`Z zYTmJnwYU4@b{`Ru9b0z$PLNHRjAJU3CMAl$J3nxYh=T^j{-Xy+7d`yc=%g{@#Ya*n zq>j&@lsqX#94!`B%CAPhxMRB@e5|6pGkN zX6X};Po|8!?w(9{-Z@3Yrh{U}eY4b!Hgm=MW+r0ixZG*JZEYq8QlhACMl+ezM59CJh#!M005oJ!xQL|i9xZqYvC%Tx4eyX)Anb}h5QsRRGV}MzRfr61Y)`Z7NSgWNW2Nfu+IW+QBb5R1hsCG!A6E@J>ZLwI9_J2nL?>)E$?x{~{ALxKT;}9kl0rCK}m)_rqKD!f5_~e*eFL zfO_68WQE(m(mQ;848iGERKSeRxt2upy33a)7bow2?z&%8fl2?@kMn0#FW7ee(MIp> z5C2c#|3Kh>fPm&-gBz!;8~ft6H(t2&74wJRfB#m=mlSR?zSntg%%(?v8HWKUrQUwgA4vV|QEtke9oJWXA5CiB5B+<= zlDOSpj$XAPPq(CH__KK_BM+C3tDjf%;h8Ou_e>GGHQ4IV6pIz`$iPPkYE871M6(S3 z)HTIDh4ksFTn8JHQT*Dyo2th%?&KcQLD>6&bkcid7}7Bx7v@}Z$rJ69^T-|3 z;aRz+T{6UU2zu%pZ|)#JXS)P(64S3bC#7_-UdM5oH}^R879U3)8r_)Q%twXt;Wi_x zQ=Y!QW^4ra)vqBi!9k=-Cgx=l5{-jR?j}FjCs)OjprbL)ltVPsNrxy5mr>Y7Ms7P% z3UL9vtIX*m#<>p#nV|`@Kvhu`th-#Cp}gpVhzX>R%uJE>FT%af-x_VunpWtk`UWcTA}aI>vI+@RWw9G#{vfQt+69$CQpU ze5>mWq+AcIm4^X_I(jblojQ_ZUs3;_Q~!$8znSXaIQ(^`4MMX2kA&#FP_O2HlA()2 zy@vlg8M>0Z;r~x$=tNrFFG4p_5(MbpP@{J`J=rfhn`n+tXf|Oo@&8g<7WKJ4Sy@N= z84kTMX|A5HWX7qLYyzevn@F!M^BeYpPEQ74r(UZkO%}CD=&)EIJTNgYw$uP}$OpQM znCh_%@ozBt88q_@Zt|;Wcbeb4O!}A(H=$ESX6ja7S~HcN&N9GDP4W3b+f?zPrVg4y`+-V+LpISZlC#1R*Y~Ev+Ls zJ*^`I=|Z=rb#OXz2`1+9i{V__INlYQD7bXV8dpe~pDQeddg9pSp`1=ansk?+XmLG%mR&XD{{7bdZiNTp7?>;}uUlW?R6)6=0QDdnJvQi@1BacG=Wb`a*JBDgIK&6M^Y%%r_VWS%&* zQtCcfN!>7acO@X7459q8ggjQts*BpuzW_l;i2HYbDpu^&Qe=UIYc8%*8eX8OqBrBg z+wH`4-NWTkU)ad_{X0k5_V4^GzGCMQTgA@NDf@SRky5d9zDc^Q`VB=F1!^ZCJBfym zPT5SB&*A})Y!XM=vWc5ZNzhfMX_8S^DQQZ`n%&fk0RC<0H^%iX~P z&=*uuDeQj-VV}B+0fUK+ERQaSu0-0Yu95L8T%&Byxju`Z;yPlx(=|G!*Y!opK35&% z;u$A1)5=7mI8>W#BgB;{P`DBdg#_hc8ZnXlkYegQ(#)mU(=rpg0xzJ;M#NCq52Am< z4-zifzj1yVbxkj2-ca*I|L3XOjvn%#Mle!qC;AVgGCO+GAI7i}N;=1DlhIx#`41-7 zb|!0?Q2ik@wzJ!Dt4t&tn6m z%llzZ(`u#5u+QYdr{Y-6jf~?w5IGK4jfT1wkns7Z;+Ah7!N6V<(ET?%(n}QLXKI z?)U{>dn5oEj2w0t83Z&|;yMFG+I$Eth5nmKzdnwCk6BEBEzvv+O-9NmwLsk^{i%ru|vH8OLkTud%52;XzIC`mo@# z!=fESvv%>++)G}qe#%Z zF6^cCcb)s2LR^)&j==Y$P&`s!iL0=;?6|{|Sx1!3G9kX?9im}&;Sg!|l2GpF4fY4z zFCL`#`cR+KfVn^Ju+QdkfcHtwwZOYkv*{=4y=laMevabTzDYvkaKL^_9g}_l%rV0J z!22IbCU1Zi(9;h46tK`X7UF_?QzWumFVdVJU_FYL+3_D?rS6og>N$XEDCj~XnbV(@ z#EfShKnUm)_soa+4vi~gNfPmHb!u&pOIb+(pcGKuM6?SSkKv7GFW_j;$P%_C;0OoE z3@u(1PuzXO0iEd-kTm>epUm|3O2*4fva66_6?OnZ@?;!2p$*gPc&QU@*7MeMjh^4g zKzOr&Yj5j$_uJ^aVsz%CXtS4H=KqnsbLV0r{q}Id=nBewd5IbNPpk0z;0@ zqn#ES#{+)MI&|Jkx$V zM4}@Pt34vpvF~9_hjMlqCm#j+kuD3aVp1Q7CyS?SqH@M9y_-pxj>{Sv)& znEV^*0qMFMy;23jkx-chn;k_toZUy(13UG+p~cM6C5}uycw6_#NwVB-%91dz z6?-VlQK)4qKo9{mCjQ;uxrG-~7>nbx8+W6f zWxV7;sWG8StRP)R1@h)D3-d_tIXUW?fc9d_kzk|6Zy_lR_hsY_aRPs+#G)M9$?85_ z5f$y&0z1}FH}F5A^FpoBI}9W>l}s1mgOQhy`ZD;p6mXG^@G)v^4WY%rG>k2)>X+jF z6-P%Zc+-Ed_s8f65~uo$5YCsuEi?W$vhv6=zv_XEH_=MfB+LL2LfszHLKt4R47 zb>rZz&B6MZ4r`^Qyd0{LeeITACF`ex8&stP*x)~4hBSkiiWz_jQVvDRf^vOsewsck zPU3^|(;{-GL7KJ1b3v=_k=t9rGxEqg$U>D-8A!{aO29q^^c++~nFesSBbi$2Nf$Vm zWTu`{jw|NGk6m#*ZQ>XPzVbLjD3jchC{-KQrDwpA zKCpud_>iB5|9Az)RxKuw5-zsY93MvUCW-K29#?7sHNt*o8?GOhHSB&1BBz>(vyt{3 zv-WAb`K!DZ(^3f+!_*Y36e9a{W^xWe)DT1s>G1ly6(_4xeVEYwd0LYUokb++r*yOl z;mFGvV}@SLOw<2-9r)&Neg68@uz#qYUO2)T`)c$>9wL@0YG_h29e(b5-$n)38)&dP zN#MK`F~mz6Gw~wR`(5ISO5c=>lXpL{J{=i0kQ|2I53C_g?od>qUN()Le7%=~ zLTX4j!6H7?Y1_f!mL3RH9GukS98t@A*$LFr)7RI=fI=AU+V+{~B=0piV=>8If>km@ zsmHmEl!g~LS1EdC1(G+6ka{vn5{W*y#oJ$fi`D71hEMjf0D&248B5dJk7qOEuZJkJ z2M`ij!i^q@3(s$6gG|jVGC!V$CUeYqbsj}u7I7C@^yOX5lwM3JWyY{#ibP0PM8=|hOpsk& z-*8AU9NfexIfzWG9dbjM>KG0I@5H$(|0_DzDjjp3^Ot%c7d5{Kem@lgRXR{`jUbvs z6Ukh8WBJ>zt-PFbiZFOrIM8_~z-hM!gl*g&KvzlL!&B3qD1&m&EY%oA9qB&u+R^J#yay?$S;d?;ZFwPX{1!l^7FI(K9iVaP22gzac_yt=xN3n*W%!WuGxl8ORg+Q9%Nx6ecKVq`YGD(5tFF4@e{Hr*( z242t}2;eTz$y}l;mTr+aC55iAc#Sf&>|qokB*Y@$A0!R!<)L7wU3?}+)jTIV?FQnp z^;PY@<&K_sCN37s1IQ*wz+dap;D&kHFe~R=g2_Q86U2bmCmT{4y@VE>M$wbGYJx zAC5&(*SNCkBCV84;-RR_;{23+K}uZ(z}r0r#S*jPxV@|hGsS|v4iW>!V(VU8VE9Ly zbQ$9Tyr$5$1UC=OUGtsFhij>>ILI4;K`ZZXa49e3mp%+c+}G>X`& z_ElxfD*$CUpcK@w6U4Hm-3+db%Yvvf_zDwg>Q}3_^2$V z-D#dkI~A5YL4u(s9z-jg}f#5o)Zqx;gNK?mVu-i8y#}ws-<;tJ$$^fih!i{eZI?TtYElx}3RgK*}r?ELV*C z{Pk@PA*s)w9D=oB#8IK30bCcp?zEs0YDNayrpk7Q_3)t z<&G7R`${h7+KnQw6$-9%8h1CiS2}1$gfJU#kX1JS7&3}6r2jOAE^}+C=L{#csO#oDE6L^Xk0D(*8Thgx zHdDgWW}OW~f|m1g62Rv{!sbyBlgYGb+tpwm-#i{)V0;~KUN!U6G zW0x+pVDS!C_p?rBOv}#X+F_K*fN>_%)yH#sHu50Dyc%ney%&hd?d*E6^I%k*h(Ax%$3f8(JViO^>JNV<;arcb`7+3Luxt6rr&{Dw9%b?2iZ}gLnQ4%nJ1uk6lpp)4s5qsA2v3Ht8${WS3;zoHl}~@ zkX|h;jiQ~0NuL`-@1ignt@l8?&?|U3Ka3Yr(-IQosEW1H$Zcmm)+fk?w+SbSNqwr5 zGnAlPW2K%05UUA8j2%;o1^~2BPkj5yDOCYUTpiN9H;Fb}$nR^@! ztAF#xuAt$6-L4a~< z=U@m^m$Km#Z5dl|6{wicL3@9clN-)Lc2-}pY;}>$X;B*%yNQz*qQ(_mcy&{N<8J_2 zPHzeySR1hJall0Ni;Uqk!Mix<2V=P!jY)sHBqB^(N3qi?8AZ=BGod_mxTJLiiZ}RT z1D8q0O@a!tD;Sjb3AK5^ub;7)_2(?(3m9qPJKx1&We(}?dsIt#yEM!? z@8&KIMD}TtKQ-?XGB8i|uO&Z``PEW(ItV+kn=3`_WDV^B{g-MfC4i(rZM@EC*%xW7 zJINa>oUDpL@#v>kTqlY1%(+K(i|sMyFpANi&>AeKv>ukg5Y0hevBc=ZMABQlTFD_L zWnilUzMXpJq`imz_ z_M|u3=|m7$MY9oN*S$u;tXnb@40e&LZ(r=e3dk@PS)*9yI=bU@h6yKPp;l|E6)NnK zMzNRWcYA3EA_z%XS$-n%ZA6*F^a+(@lV8~62sR#@3u%k={AN}wP>a(HPg2?&GS#`{ z9}dz3#1gS0D784s@=M~kJebBx<2SW$Ew9ayz!;9XmKZ)d%UG%|3UjmsA> z{KXB*3zvR*f$Eybcrq_gng&5%4)n6`QS);kj%g%MOudE)h@jUb#zKC}OBVKTA=bGc zL3RCJ3T22;piJkoUx3cib2JtLyHao{&W4*9MTwCx`$BQ*!19@MdiL5+K2crHIS?bQ z??QN(9NS&yU*K14NwElRQSaV`@*)2;V%gLsO&9qwdE(P3UdHIYwKzW>t_H+qS@>l0 z5~zJxC+qVBgK;F;{iH07vjCNSyBk8fP^nojrNV4C0TY$F!F)HlVN`3h@~{c66^P7P|?+ z(OU@X$!X-3wa#(Y`Po*P1XT;W1Ph$3Hx_u!mxmazU!yz^j#Hn$#Rv! z(ozj(2Qw+(c^1mt+BBmZN8jP%w6x^QdJI1LDRpTUeVR0y)rPN!5zRr4iLp*Tr@xYZv}k9QJ#N-KmYs+?p3|JmfKl?}-Z~El214>6AY^=^r-dq`!dPtqqkX zQDoSOXs-rBeQnuOQqP{o0A&ZJUQexpq~sqqQZR%ic)}bJjgjT7?vgHDrtXPlpg2E~Pp5#tm_Ay`FlFQ_DL+Wr zhrH?{ZQakUuZzr{0padCEI^|EOkA+C8?Ue+r&O9nEvFozKz!)uTAv!ZEV6!vG6M7k(?PV5=>fumRVi?pEFV+Ylsp0{V4*) z1U3P{7H>uS2BZ@La@F-QvKUw)f;oQD!0M*!pQ+I)Ml|+nfQ_H})hS&UYk-7onI58e zfjW+>ea$CTbBWiIOqBGMz%t%}(pzBpZap7QBr391UWysaX>4dx3is=q@k890jbRy*bK&?Dhu?*uCKFEEq3Xwx*WMzo zX^z}-6*ExtD2rmIf>_winV^l$xdVXg(Z(9~l=7uO+VE9Wr)TbM7$)2R-4l`yy*y5c3=gj&^0nI$RH*f^iXifS$NlgGe}cBwqx$kfM@p=` zIZE%*imJM(0C6I@?O3~c8pLIX#Bzyd+u?RUtBi@JMy(dSOdqnD#5wY%2$trLp_ryq ztadu-{(T2B_z2Ca!-~>NdpR!rtKPwyIDetiSehNEbffJ}VHlmMxs)n?c?psUbO9o5 zs0vYbpc&I%E#b?wp}svD^8E8NfgTxLrS@HARVMIQkA%|sJTwfa3=B3;~+iU#u^AIA@z#h(VvO5ZAT>8SS>2mA$}BK=NX`jLl!s5k+Cy`sSExz#E%j8F z__4BQyBo%18=GOyS0NmSL#%HYUu6`-8#hzsYQ#7+G@(l4P?xVhcw;YT#fp64KxE@q zyz(r35)L08SzaJf!A zGy#a#3<9nDG8Egy#NB;E)EG>nMxO92Bx$hrHjTbB&S<12uIy5%;;p2*6Xy0*$Omj0 z)b+B|Bc?@}a%#2y^CE*!Xru@X_Idu&{SddxLn)CH9R7N#NO$IBg0knHQOdXYzG8)h z@tW6m%e=v)DCW}qA;}M#mZ-CF-8l>oV75FOCor09Fs^kDa|zV za3z_Vcz9{#U?-jZmGg$DA4fY)v~sRZIRwp$jkt^pV-yTEk)PTqcCU>z8Chc#7oI=F z^Dgyy=V;}1Jimiyrwu}b2ObFJ!xRN^+YndhKpOK{<#{}B#B-JUP5Bt*89Z0xxmM>Y%G$Oe!*y7z zO1~bsYgR(1PlvIc562(LMzgyEwO7O1M5L=lJFIB+=~EiXW>ds@0hN+X$wZo~S$vo= zQxx`!SsYfj?Ig`SO~i#V~?L<0VLe20A3N!!eOB9*(h6)O3So zZPj$2wg>8~XD{y(^yy7PevMYKlxX(`VY2%`=?KNOI**0gG~Dp{;|>oOb~2*~03r#cX>(&wVNIPS`fxYdZY=*>Eyqr3OXorepo4+CcrIQSabK^NC3CaW zCMb2X91zxgYNTU=G7Z4g5lkmJF%uPW(ZUHM#WAv1R1@Y!hHWDoqGrDQAV%h{b z2wIvA%X9@FOopD#=;S1MvN9%{w~9_U3sB-6N&@oZL?`$kwP}MkSW50tZobayERLWY zhVR`a{^@O73n6-CQ}Z24ObUf@ZCctFQ!xBjEZc+vRZ2vAM9TuF25vmUt{`bJUWnv1 z{0w;xl16Rwe5M$6r0iKWNV)b`qY?o*W);>WRtXMuY2T^WFX;@CI*icx&V!*vR2>;* zbr*!Mzt*Fujo*WbQxrYmzUc(v4$rZ)qQew&a?8LF0cDqI!Hc8-U zU)27SFe^zINm;GbGCg$31z!0Cc{@Wrq*x?D+4Tx)L)2_CP^MPei6@=v9L45oa+V3o zrz;MD@Fo>$EZwgcX*89I6K*X3U^Dl~9Q3T`z-BId>}HO2C+bNQyxOKgN&~Wn9ktGl zj+&3Vy3*1#fr%vPqm);-2U#*$rco-~$m-w~aw@L2r*u_&6b!aSX_OB=TJ|cCwY&x5 zFllEzYa3Z0{V`g3an(L3w?LfX9bOi#5T1h}06M1hdSX zgv!`s23efZ`k?1eT*i2eYMCi)mzl&bFKdT!X40?1^Ikk3zPz3DNBAh>4w$k1T;GIs z8>wzBuI;qK6RqT;Qu~7A|GpFOlT1ZmQo(T>SEfNSHY+czq&gXJmn_sAxpe}*!PWtF zg92bnE8R$@>F`mL+vEK2q8PbdA5aM>@bCoK^|EskOT0=5af}K z1Z@EbJ zl1kRG_<*FO)!6nD)|2o9yGU~>z<)b|P=~E!C*c6dMZ{-mV1!B9f!T#2_skkrx6BF7 zIYxIXc<~hstI&>mf|K%xWb_V}S};}f>XV*2V|E9%?H_^#`iQ82?amW3jOJOI&X^VE zFXtGuEU&r!EE_maXk>zU7+ifbAa)bj@FNb!^m_fr;M1+%G9Tf0;QCth0gk^B$*qxilW`fx&C*i-!FqyICwzDrD+f|F#R| zRCfg5eGTYyrR+X{|MDgyXZoUcbao4vNlWi|>K4KC`K)+LkM(G@p5nx?)R>{xEe|I1 zl*t>Ucvn>iPB`&-vSMJ4}&YZ>+Q# zZ`>AxXS!AjR7z!=MuhcN@JkuO&lPOw#Y=)5+e@z4a(-kS6l6&Wd6iid@lX~8lnU63 zsx3@10U_j2$_tdOa8xUR@oTR(A1c%43eG8J8!BL(f+QENk#nvr<1v-Vwvoh)AYhq-eles9qbpJhBIJZ=v+iNGxYv=O#H1zr z_8*;|hT3N5#4Y~FkN`l6z+MZgOS1^G-q!vU<)B zq4znYe^?al7y@3RHag>7ga8b)nk=h!wZ0>nyr>j4xI-icZbTHI3U9T>*ixoDNk;g$ z){D|S;v0a><6R{8RSTg=O1YLm-)XX=kuEHiaaR!M=&DWl%5@JT)kJQ{HOu`rjDUPK zWnPZ=+(Ih%LgLo1=X!!%i4cmqauc2KPw1nV9Q0QpKV8H56@W6mcb@quS7kkavNd9O z#(NjfBVSj(dG@1=B>oJFESf%WXRhZOS1ZUdr%uFrqeHy;R5m3}bN@j29)>Km1Cs&{ms87<2EVUmE;G29j##~MB*uLZ*-v4{(n?M|cQM84V};RdRBUJ6K#SPZP1eAqcCGnf!8)+tNQu+}U1Jv@j> zoPYiPT+dVZmKVRx8R=2f2T@3Sky*>N=X5TmeBSyJHm-_IYBbV>#trgoTouC3A&qPe z*Y|0yO5*x**T7P0$H#gk>ZJ6{ZMrEEcT6wj2jV=BAnmcK1?97vuL>a-sQg=T0h!tA z&hQ7`kxq5|-s-G^3H>w>4#a2)V(jVAp3I|D@=<)wqszfa&zT4#Xw8=+Woer(Cz<4{ z2x{SG`a9FA_}_*E-V`PdHwkyRk6+AEO4Zao18KnYZn|>i#*(DspcBYeK?LP8il!h& z?KiM!-Gd$bKJcZFe;J{GR(btKR0RmV2VUZ*StzXZ>BG~AG-WV0=g+JHTl2qB>sWsD zRXiIqwTB{<;b*B8Tu3uyJw_G^#-UIcGMSiQF4eLYyj%P}9CIm7}%8nFoeQLhpxfPd4rO(iRoH0jM7AM^njXK-vRU`rn&_opmu$T_P)62 z`jA8UC0dB!_0SMeC5XQ-(m1}Kb0FGaQCL3ul)5VQ7QO3BE@SPXC?PwK^0yQhUGL8VANd7AYk8lLu;m?fgPdV!Mu zY)PX0N7UZM1^#406hw$+CX#oe2qWo!GMztb1`ygD4#i_d)@mf==L*fQdyzH23Oyo9Hk(7Lo6vLq0Iu~JOmJr~%6^K; zt&psjj(g&wo%zr^2wn~OqM=^Jne)lQ$(W=2(pdW0Gf_0UfYNyC)Kag-vkKkouPw}=ZsW!De(JtI=QxA-LU+HN za};8QpbDz9D1Unf4Shcbk(F4`+W&xD2DGvVBZ4D}k$GvQ*^T&CLibGzDOxdpXQ9E(&;~O=7@Go`~_eZdPznU^3)qv@{z3I z<>3fpd2o?+NO5vv&NNlTp&eWrGuhr(+)?tFhOP_?asskF8iq0F`JZFd`Yk-Mum(fX zv0`@rHjP|bx^i}!4#jo-4j|~vjjY@6;}?L#DMA#;&f`HFjdE0$X#8ZlVAZxZCMBfD zcR7UcPz2(gqmf7P{=>k;0tZ1RQIq4(SglIv_1BTeJ#hYSsi|L(M^S>HU{p;Lvr{^H zLI~X*0IMIEdl3q9ZokthlOH0NK7bb?>{$l0oZs+qsR6f`>C@z6c{!Dw`D6}(ot4WKoHk0igjM@DO~FLv+7cc+4gr< zwg#(M^7&_-Vu~qsJhp;C6wGTY1@KSCx7-kq=FJhtKNS*5QSiw!d|A6@L2+)9COIzV z%7~5+>RGKy2-vJaA&@V%ET~&jTdP$-A}=0eRwoIoY{mGtcs$HB9|H81svcQl|h9LwQP zB;@gM?KR8C$_)r1z*j}s!0QK;zk*5tNpaqUf@2sNCC3v$-bRqOKuTu2NRGEKngii- z(V{>sygC)KLyJFxZ^@Y+sYBc9J-F(eSgs;3nef>+sQ%x)F zaKZ7=^$Q4*h>m&lf28Sv8Z9&#VSh^#Hn~>Bv_)e&!AqW77>w#l?s+uBd{i^%07f|$ zvVgjOflx>;%rkSI2a<}9%S&(1N692!&XHgU_48?vX%eZ*Oyj1Of1yFnB|+Jn;0^w< zbyl;cUNpoFB>T)=N72W|X9ZC(Z}6Ho1%6F^gVb^n_8H6-P)>OJv(KCf7#jW?b>IGL zxldr8Q;0Q}UsNiw2r){$YN26dE4V*gPVAaaVFW6Ckm<5J8WvDVKLlKVw8LOsGFPj5GPMM2%JGcgHrw$fqAYL!elD|_ ziO*ZemkJgS6k&g=e<%NH!qdj{X9I=)=irg?nHg5MRsQ$Dluw(m06C4@1uC++U$=JC?TdV4(uYTuT#zc}!uxeRQBlGUds~{~C{|?u+ z5>J}Z)%?7Lph!!}r-Q;ZxUs%Dk*;5$S!P2!a+!IcWDB;j`io?Is!S_> zIuvQpOi}v&SJ-3(Yh~%^5MIvLEGUkrskJ#rhI3KeI4=rqYh>F`Iq6}LK&{m6(Hajn<@l;h$`$VX&JrwRYWX*4aV$<=jZ5C9Rh*ho_?-6A zRm>JwQA=;(=G8}OruPHtQ|@ckAwK+40I?CT9*DxOp*bquX?n1jRv2G;1VmV$a$53viCX=!hCsvW{=S)iN22W7! znsJ%vG%k`R(U7PWT$st3$QO5;l=%A-Cf94QQTX-tZ5ky6`DGxMs`6a3Jf%7f3N$^i zSyBU6DLKnwxZkO{%e{rzn%{ty-;O*7lJM6;^R5IhApN&N>oAAOe?mX4Cm|&)DB$Ax za7w?n7#bsqpY{~odQhI(0_5r{BHNZn$)Sb*tFKZY`8cJDv)y9A!)U;y{1Spuo(5d~ zhh!(CY&*vINP#3TOe5Br27b95P5yO|@r^eJcviSP?qKCQPZITv{>1%&JvQ}~CQbo8 zIJU6f=?xDVypHqBsV2~~E;h=7dE_3-)A5?z_ZCJHkeRJcH6?qb4r-0?T2gMEAiTX*M5`jF65l?FdzRmxLyj+>5z zuVQie{A)k~%X2EjuJy{5fEu@fvdeS{=jZ|W*R-$ zPu3S_ym3;W-)*50Rc%#_QjEHAn{0vYPQbjeko|^#2E=d>89o0BQm&(YXE4*w&WX$q ztuPg+?&(5KCQ#whHiM%H<|#)|R8D{ESKB0MKvN`1VCG{fk8B|D^`t7Vvp@5v$mq>y zS&anpgvXDyXZyr*@n5wGsDK*_<@4tOzdkBTh!lRF`UW^D@!X9tuWL0!c<~|5!#M(&$tO@1ty75Ez}!`4iYlNfGkOVah9f0@s~nxCL&H(-aP;s#rUD*5cxS zcsaxOV|>lcFOdTPQB<@GL)*s$H*>GV{aSLT;m1SnW%x;^1xuRAeIGGIEwnIkh=td( zFh2u_&BSPegLG5OzL+a{DL0ALQn3ziOpQ@VpX(oUu)j2_asDz=A7M#>*G6-wQd9dH z^xwy&C2IFAItF!))hS#IgQ+D>J%!qu{v28N@+m^?&K0tiFa%+ejWm zR~lPH{aUg_P&H3gJj!Y7nH~@-z5(rh;nRbH?dq#g@kaSw*4uL>;dLw2F@JO}k8?F; z6|Dl1X=+o()i|0IMBg|un2(1kkfBU%f(61BSTMDz2!TFd9ZFsN^VZ2tk@e}~8PB=` z=xBi=qxUd++clwbiIlD+N8r^tZB@GBeVLnK0?k+{c%1=dgpcXWWh>JMS~FuzCX==C zNN8zBPd>Y`$iC?eyKK~_rcm*SNvS_#w^Eza1#%#yjIC29<;an$B{d>ke4VWm!X#BzvSJ;3FwbkTaC9UsEjt(A2i%SRtL17T^bpAJKI@^!A z$-J_K%%T$c6vjtj>GN8>@-Qd{LAbM8&iJzLsIQ)8NZ((4@qgrFajfzB70l%(Z*FCP1IRg`Q0Ek=Wj{eP*WR&cd5(;|&rSuA{tb&fds^OwlfYGm#$-A#dT}k3%-g7Poed!~wmbyW8?#5K4SerH% z$yqd$LKIlNhlXlT%PY_s^0VrbsAV-9-I~5)o;l#a4ISBB>r#qncD4UD9G`Fh*q$bD9AaHo~H2y4~Tr(G3r zh_0w2Pz-sQI1?p4R!Ov2hE-|36(m$2Wv+(LWnTIDsyA-&2Ge4K+Sm;*@qF0qmN#6N zH^?)81QE~$)NoY$Bi&NPS4XAETHVsh_%EPa{oKcM+R{h|Thi}yF#Xxfi&ZHS8)w$( z=vIDVQ8fjwUgG4o>o)9aGZ@LH*RaXum)9w`4pXZPputWy*_cA9-+x_})+j#)=@Vr+ zC;e~nb`~*FK^2R%5-tM|FsqB}Wcn*DWH8Q3tdcG9awE*Z$&u8Wx*|O^{6Msp;&t{F zvJ1edV>Rmq7d-q#p*-`%i@=6p=zBHDd%ie|54R@UaryGYExX`tyN{^EHM=OUkY)zh zJY2@ga;ehx8#m1)KxOrAq#38mcJP!8&AZN)lcO*$nO=D93^-`6TpE|n7&c65o20KVlDYBn(SQ^bPk>~g&A7142%tU(3 z<4JFvY>ZKjt+!HFn_9XmAc~Eb=$v}&5C4K00I18ZMKm)em@VE#%D-w@Yss3YcASEI zb=B=zFU_1D$&lnrRl*h|s+>bfLMm1!ES9)3fo`bMrB<$&w1_WJhV0H&CfP3EDPlT% z(u&8w#%w!Qy+#j5TVvxm+fpCTT4iFX-AQIja%~(CdN$+JsD__+k|~W=j6%EW7(?H* zCI_yM{YAE0^H&Ur%TN8WjaQXzOZ>+m35(#lYO~2scPY*+Bl9{^Qy8b~X`**u0XPOKE~*J~TUF)2H7Hr2Gc`&@?d2oAGg1eBsH zg1pup#s^$*Wr%+Vh)f^U%3VBt)tDgP_lKMG?u4$qf2AbIrmoz7i95XU z5#SQ)lQ-!*nsW-ct_4p`R44DSu^|P+^g7x38Hh_I_lPJwT@&c*P6^yd{>a< zsV7lN@}I!u60f1H!?D}`5Kbjt^DO3RNiMgJmbQpTFx-3XoBDEiL^ zavS=jT`nwGC3aR^?NF{B8PU`9KE2Bwe~as~4yY9s8f5I7xlDJCbx+2a$^_%vj(BT(cDI2`UK4lRzp^$O z)BXT%_RNk$ zlMb)xi%S^)&b2Pan@&xyEkFS_J672w%}|D)>N1s$aLEj@q@F`wchNaOrV zppuT?@)uub#-hvYgd2~vLShLLBJ6j^QDFwFqbo(>%G0>v1<7&*w3iI!2+o4QU#|%| zULRxU&e!0AgbTMyBGoa&C6TNN-h%2>olZW3?}$Q2?K>vrVc0>ANXaJoQ+QiJJ51(+ zGq6eA!+5$4Xmogaz`|f?fK6*m7!!gUX8cEBxWtR5+9}Q0i^YK#EP}S^Ml6vugK6>w=!lTM2pEH=YH6|6**0D6>lFPb6Va#6);rrGOUE6Bo zsv-w}G0EIDog?~(`K_h#%G{GC-gG6!6V@G7132&wpcr{+yFXs}8eJ_oAJM4c${c@* z4Q;^I@V=IKr30&6kB3HnAOyW-br9FSIJY{gWUZJQpzc)|G;e|Wb7({2bS4v)iKAW> zUoUU_69)a=5s5jBzQ#nQwFX3P5=K%n$jOrIrJh9PrJ9llx3*uu%28l9mMbbN2r=Lh zHI$sF9C}|3S62Vo8w;r(Lc2OqsS-&00Oj&xqs-?8%t|-Mq%B*=SG&wwQe|4m`4S=|xI2H@=96gYb@n5c4Jud&$Ur zk^XZ}crN+X;-!|=oR$M+DFb!pKOxUNX41kVm1cg1{@8}UoKMV(`CT)Td*?GSC_aVP z=s3FN1leM`+PH><)Eh951cmw-RzhdaJt1Bqk6E#llCcnR*W47Qe1Q7_SPlF)+~67V z(6MwRJK~fqXPk7H>OIkI2~1VDf-dr&_b{RsB#Ud?5m zE%k?wVzmO!o)(rl$Ma@S`nQMF<63+B^HjG?>>fwfAEv3LT6dv8kn8H3#;7Uuc<=Hm z?A$t@8{&l2nFA`g*$SzFT-MjV22`w!EY2gTYkq>FUU|o4UMBx-5@=L~*jn`1tsafi z`cAykk6MF~y-Hv4%Y&@7>sYrozXu9r;W~Z%nAY}-gJ}si+rK6kbSy*PCpdE)y;E%t z2G+5@Z!)x5SLebmB`@^+6Q&?)TF?yzzkN5SD9{w-M5EM7{(b0-zriS)SXA=?uI`%C zl?s$h>D^CLO1UiSsHA#<3(9$k?=ia`WYb0ZK&5;qEKfOy6|xVw<=91R_PWN^C%xPC zq?Ny@N|IQQwz!*=7iw#FdWw+z56yO}%3zK~1^(g(?{p{Wk5#VbS{^((O-elykuH}| zS(0&W3YENva^3HA7Z)+*$=c2^vrQ(smnnyV(gAJzq>E$;4e-^+E#22 zQdf8(SPba7lxqC=uqVWnJ+*=5U#a~DgtLe{iMl<3zujb3^2g%N?S^S5ebF&W3#aiM z$*&s9zGYHAMz!~y-Jz(_)cS==|^*2Zjs?jy*YqvD>!o77Yu4o%IGsCCuM}~`^gHAJmF?Rut zFvUoUkfxp+B>QxhsfWN=iG$_FwGshA(_O15AXT_P&XErcBY5fL>P9;1thBhkmqgJ zK^$Nk71t|#PM)@9t?jYzO$)@!DG~Mq*sF>mIPNRnsD<+8d1>WnpLX z5qslu6}Vx;RvPA6tHma=Dz-IOrF?Km8)FYyJfq1|%+h7RbQAy<PrttZ->GB&wB{a8ts~%V{JR znU$Dx=|UQHSE`j0xPgry;=ni^fFDs<$ zOi&@TCC}p|Fa$n4IDJ*H7^T5&5IE4k=4#=VHm+74N3t@$*NCKDdjUUf8@`3nX~oFg zg%BOLq%9ucc=Fycuoo3J{6nX_7uCd38WUx=E)&fkpwpNs{LgxGq?1s`0uotI@#n0* zf1*Pnk7F8EB~kZYnNi1`qHvnfxkzj{Te+wlT|znvJXhwL3vvebzwS1d9&-V=xp0yj zA+bF9fb2CZFGBJuUF`17Up-c(DwxzL|L)~WegNS4ucMK6*yKs_#3#!$PdT*)OC__h z+G=34tg#>`4{V}q5ZJg%dB*Xe%vICO#iN*|s9)XC^BB!M!o;izVHhGUho^Vp=_a~p zmzu7RN6F=C%5Gg)@l%UAEAjhYgiL|DS@B{)&M;@MkY{crh9Wy)WvYO8+p!Y`IftJs zy0lA6HMLL3Gv4P4at0I9D^le^_3KwSrkwcf*l7e!u)EUNJVmpczv4hiDh`~XzFhzT z2Tc&tQ`{b>LZ!!gk9tJ8Q#zGa(ZRt`1-?ZOtMVi02nWK)?n$gk^0baS)2da@17^B* zPrG^89HzX6V`@S#Fm)zKn~#~6N`dE_oO<(+)^_l_p{RLtoFfG2OrUm3Ogt;9-+UzRoaZ5N9p2I|=c>%61QY3=QML z7J23z$DbNh-_cybT|bK00LL)c%fBcD7HFL{%ULxlmq}1Ii~5I+-T(ta`Kc&J^Be69!5|QJy+*mkd;SqZI7+)Os0iTTDiqf8b6ww)!)~ zK$^ymUgeJZN_PU0gUf#e-Unwf9Qo(ctn%-UcmUlgl1C7)wnYCFREnQ+DcL5njj&EJ6noQ<@FYR~ zAPnc9s_fYxtDV^&Yvk+^F4hoxXM5K8{C3vK*#N=}dNV~De_1PvKO3NOh+wsxs+!p{ zp1G{+sIUnjTM5cz&!iwEM4cG7rpOSxy~yCd22FM|Ah8K1$Dy`CaCQtVHq^oGu~1+) zXsf7KzOMm}Z0Lp3cmvi12l#u!MZSTsO=*D3``E`DXG*x&2K7oZigI`+jbg<#B8nE@ z1(-XXOtDfjZS&uob4*@b)ZGr#bUQYR`h+((t$>Uye~6E^K0t!HrUf66o|f%=1-(93 zlENmma-bU#FvGaX^)62NeN9`q$AAsx;-tj$-pgRyVsiMVwVd9aIj|mq@iri?2(Q%V zL=F^@HbZ}Jyv)mW9R;7?w{H7Q&Uj$RyKc$71@gnT<6LRF{3=L%(ppzLVgr??_0cs=HJA5D-sE1+3NNTdtVxx;PN|Qy9jYD85YJp@klGFZ8h2NC zQ3ZD+2AsOySfivR@{+Ax<%Rx(e}@0`(&CY|J<&pKEb5gesBr*I?!_EZ7hRkJ=;s^1 zQL1^!vf9L2q7ZQ9O^Yub`cDa2r`HZ|Fz)LlDd}IK0)1XH>6-KAV+!SNef<)WAb9KD z;z@c$UXQ$+INczHdosOzmlu<^sJA6*$F{h=aE|LQd2sv9xmO3)gw>KTj^I>!+lx;~ zX0gHND7K_3&wnnNlgjrGlYbyjIrJlH{b%70!;z*{O@ny@Pl^? z^$OVyO1lptR{v%jx{`%W<=IZLx-E8yHUU<#4SI6y>i-Te<=SPZcYjN zj7lTktWP&AaGT(mZ*wuq5pD^bF&64Y=DT|6Yqkkl99>Hu~Vdb4tw9F_JB8gBwZOvHnof-!$;Xjl^d;=#?g)XZqLTz zP`V;F${P{6qdX-;S>^-Kte3`%T_(j*9Y~hCsVBi6%2tv$7fGlMk2Yp~gxX4R_bhK+ zO3g=<3m4`$Tc?>%$~Nek__$3D>)gF^$+);UEmvy zQ>r1!YJaE-EpWA%mAxj4jRz%k+^kgK(2PSzyz)aF#^JCrUMa<4tciRh@ya&5I7?C| zH&zzAz(TI%1f|GMu`zfMo?8#%K@+$~0|`q0sK`3E8!Ut5Gc8co;=ap9%Li-axDLZHg*Ojn9&W8hnavu|PZRB+JTf1tjT`h;gRkaUE*?;df z8jZcin%J(zm2mYRUbmPgTc~)9d>{KZePt-Wrs9LjMPf8WA8v694?>fP4*H(NH+B+0+~Y~Bis_)o6$?=H%5#(uSM zP}7IirNw(xjmSM}<=TE~wZbN|YgJ;7HCLl}-%u<4xb~ZaVVB0Vsdlw;zuHs2MSDs9 zR@3MJK9PRqKWKEKs8p1`t&-_-sA*G6M>Ke& zXoa9hJn7dc$5Hp8aj?})LM^2i?`Cd`0L8O0T0D`q`T0(jvS~MK{ni3k?-uG#NX-Z1 z#EmPTj<8$smAUvVz4j(n=TB}Ibf?|^g;9NJHwmXMfOB;5GxH(qg*Br()?eB37Aou) z#toNl4=?PFmY22vhup{evHc4K`jcO&2(MfuxvvpcJRWvh0Ve%H+M29Y9(rQRBKEXA zOx09wb%ragpS2cwGyUjw*6M|}9*v!RjatQpBHRdfp~8plRD3y0Y5Ht7LiF1+pmJKr zv{Ut}QgTg%E6=8orj+cxn!cud`FY4*EwL##8RTnhL}PwAMb*!dn~uR#qlvHkp~W&~8u6 z878X6#yz$Y>Q*bUZrU;sro3BN7PYXyK99!3(g7=9lx+>FvOI(??B#8es#CV5e^#ot z%9>!2s4vU5>3v!q*%Rf%2vvNpXz{%TknU0nD}L9&T3s4#Vp7D3I?jhR=s2V^DtEt# z>jP!B=NqOqdQ&IQIbBTVWC&beHw$cPU5%-$3Zwj!%WF>cml!VM4^ z2>J(Cm>_a?#&V<6Ie{jAXuKb!@}qF&{ovE;ZQfJ2;c&KV=p{SsGro0VURg7Cyou1q zh}pJX-MM)omN)VLZ#&ACUOVf80jOmIRW71RW{jT)2pURVRJC{>)p+C6mJJ?M)E9hD zIoKG=3<5kj_=#@SeA=ruoESv*#hPDyI``_$-#di$`u{MmSY_NaEv+!#_y0%>SY?3Z z2Hfp$(El}%&6TCb!q$`1{_;p<(D@>u39oiyJHUd1F-KHEe z#4Fa880DdXJqDxsF?*X@8Q&;aHpc0KT5a3OFb~1Z66zGS7eREN6E0PjO6^Id3w+!u z4^kDzPD11EE{xu~8~*8RAmaq~Oh5pkKvGMQTmnZ79W2g_WSuT|dqo4Io@GsSi4Dnk zGXQzJGm-Ob5PQ<{=BJ>}ba2VSE4SzW`qJ%0NykdP8TjxyjPm-&FSjv>UkX?tzeYN)dzMz;*-H{>QvqaHiC|-Sz>+}DEpYi{r zVC0~5Wh}76kQCT~y=P@DmhNT{t6bKpaX~HiAhRhE{AJhHnK4*eMx$eYH5v{6zx#{l zS!)sf+cz**z}YeL%kF5ypSq)C&B3RlwOrI`E?Kb#5|t00)pB~d_eUF&m6yKPa?4)C zzsRA@ta7P1?h{$j7BR=f(v8mLmFlg(@}rKL)}|OY$zYDr8ERgtJW&lTq_$31O4hFN z-kpcO`W%hfpe`drav3GIVA~cWPJYm~MA?q>-hNJF%IoJ02ohl3%~Ck(-nBF^9^_&R zg7fsDJ#`4k6IhO8l*-RkxRDp+Dy*>5JoS8#v(@5J+m+?j$x!^}UX9h7cj!%_U94BE zv9D32Qg3fcq#ZtOI-Qz?_`z|5;42~Bi@I?H4nzHqaWoCvoWDM2gquR_B9_zsVt(I8 zXoIU7mZRfKu12t&Yopv9b^Q{hcpnfXoN2dW@Nsqz}CSx16%{#i%Jb*1~8Rb z*NwMo=NrKf=KHHgIB4led~u{vvBclc-L zGC!Z>!pD}7JzPD?^xXK8_6p2jF%TEuB+t|06&PVA?9zF)d5s6ai&+lje`pY3%{z}k z@`d321ppIDYn1%LN@pdwBqy3|r)2EG)~cE(D)q}D?m3ck9vs}`{MB4s_AlW=@XkoM z4@UX|5XweG0(;fWc9o?ly$5bQ!^;(rW*i5}y^(5-6-)5u&7f!V-EbS+2a@5|kdK%Z z`H(|*d09;(HJq)e-6*}N^}7OcPT}BQ=Pst*Uu8P;cUb6bcp7vx>1I$~#6b-&gdTi< z`Xz6op@7$Bo#SXKiJHiWkl56`tRxvep@9Mt{>9&z$sn3Fz}6GS*zXH&@5j2UrRMX#0kj zDQd{SX4>HWHZe^zW? z#CrA@K=uv@NmNN$^7PV5dayfH`Fn0UP3_kQL&+Q0De{3E#)f#%TQQ+J#K$&SVwCB? zLv-UA+tV)gPn=P^Z|sA53g|Ci&m`pZ5=OO2?wi68$2tS7Ky37 zhpDKPMx(@rs#t1d+j^pvoBIQgTMOjM!X-9$k*WazZ_g6=x;t}<>r#}F{h{qtwo02K z9753)6s_>t=v)@foGdoi$!z(;Wu17mu%67U;3IhXbniF#TYjFA89Y5pEdy`BWAi3c zOtWOjo<;Ch6cKWND}fD&sDmuNRbX)@fyt%=<*dif={DQGsuI{9@WK_A+qs9P)z;5` zT(#=J_1CN5Habg7=J;vS`#lENQbo4;QnIhhOFEsfEOql#?vb9VR!yn&f2?o%HIJ zjcA!GJsYXtYijS=SgfO-(?8CQxBlti;4W*Xw``wYFBaPFk+9i3X`%E9y)u+o469F~ zxpITv+bOLwD4&fVyvu(DS*9Xi?mGg&dpm^DqgrgVN11xED;2rQ=1qs4+zvFs0~7zbPQ#&?D`FJ1j~4_WJt z=g1ug0$$J7q^M&O@i)xk-*TR&fBG4FdsBMtjC zVhPJls7Qi}b|JCUEZ*(a+7UEp5)R~PPX-Wiusu$;uap~8l|y3@e$3^8=kqV^8hI%$ zu~3k)q?@K$H!SxT-X*02I(_v@s`J>!j#Mtw*8lL~BPRibmg!;!bP*!+YMry9a$~<$ zxNVAvarmRQ)}<pokaE9R@0K9Y&f*Y)-kIx z5moUA)Vzr^tw5yQJ#frczOQt9IBHPO?)9u_#4Uu4YB^>6rb!<)yEp#*&6bQu5ijg)^-+ z7Kcn8M02WHHd`n6VhtrjTlTI!+TH+S1Z2Csx_{6mmM+@{4mso&0f=x%L3fph78~|< zbJ22vs$$jCwbSR-qf20Paeus*T8Fi^{q?PJ6to#%P2MTqo%VHel=C;-Il6?LzM~95 zxYB6b*!Oc+;>Hk_A2(8#8vjxo=J^nZvjdM&pp?73H!_#EHa2*EM0HP?HdXSXRZ8W= za&ePLEy)0JMlzWxd3IiXmY&NhJev4=n>HfdWkC3#B-eH}|GA#U1VC zx_Quf(8K)Cfk8n+adKSvEbI8mdm0t91ZH+4e}=dwI&x; z(1=4hyH`@vji?>(%fJGhhK2uiQEfAlWw*G>VquPx>EX%?ofM@lGfvr^w)b|JHatGY zPiH;t)jl)aO=%IzF_i6UDy6rk*vezaR>*m|@K(1_GKpNL(s40D@!wa|2BsiMm=k~9UT00^0C9>F6vxq-+0W` zau#Ln-VHBhAq;Ly>w-22jui+OkWWJRnCO9lG84`(RR1v6@JZ3fL5QoEn`=rS({^#I zM@x=}w>3it{8~ryW%P~ehpE1bOsuFK(FDZR;E+lz)s0WY>;J6XVJAmi^G>TlDm@sC z!L%7zBq@uLMKM*5KxYvt8qWFKEPKgx)0|4J(Khqmk>$o%E!n&`hnKoOhP!CnPF_T5 zQ^n6m!#rwiJE-c3PiHkhy75egG4)naA(I|u(?^`il44JAX_1oWiLGf`MYY!~OCf*b z!yy>Hx<3YdfA2TzltWR$1j+bGJhD;;^TJiwb(XWHC-VGSr73}ZCEVFVrbIsGK*O=a zy|>@_=~-#7Gyz_@+4jXAv7S0%=Y#tsur7cMWdL}|6cgCyYm$_kd$4@OCpD9Oi|p1a zpG;cp2&0H;+)I=;|LhrRk(7_{)KpWWSYA?)9#YK=+C?E`k|jmEyE97PGaN1yZT&$U z1cBCrF}qq1s>YM#YN*(C;qpnW^j?AdFY#`TKL@+p)__tnwB3`F*TQQ0mt|~&5pKDt z8q4&qp9vJu%!q-8f1rQTz0%GpaieDNNgUNAzkr(cEoTTDi+_JO){t_AEC+!ar<t{y5KX=&v@>t6z5^5G~>Lt%c zeB|e~rdUHM$CST9QO(>7XlsqB9lJoW7tG}q zFuOId>V2vyI$fKq{QP5JV*C`n{)d0gm7FPdU5dH8eu7f={mq$_AJet{QJ=pwh}e^s zezN;>6|Ie?(26l_Pdx@UOK2|3m`nxcwaQ@WE_ROd4Y3*qr`bA^BmXh)XKtSZk+{Nt0SM@!6Z8B&W5Qr^i1VW5ehY8LayYH#LHF^F zdaRr&fc2YX(>mq1-W*ICnJv3z|6kxvhaK&D#B{#vf*TsYOMVSCVNv_N8>n}uk@P`M zx{#e_mKJ>ADKSo#fD!*}LCad@blM_YprB{FfSB5$i{fAURmIh;#;WZl`DrW;{gmH$Nzc z-xAv&_}}PitcMF0p)5N!r1xT78Ag>SreDaGof@d{*gC|P04u8ZLr6=&bz?ZQ=PTV# z-V$+$vz$8g6z2b^1*e{dtNcxF!2vSKor1p_8T|ubJ_zm~l(Oz~ti}a0!PTeXX2rGt z;m>m=H)E;hOt?0nFKLE{FxP-fZJ)U={Z`8k$9J8Lm1o}2G0?fEm@Tl=w8SNUK9>!- zzn6u!0td2R(@-ff8GDT|<8MZj{RWT_ec>W>}a zZT#_Sa@C`VHyq;0x~+i)2mSzg=sZscoZxrGwkG6~RL-VL^WzU#Sv@=m;K?3qtKHGc zXp}W>DyP<8gI^*6*+V$Yld&`%x%96;6#0;LFi$y+lI8_j&51~Vak7|y ztQ-w&@deC+zt{|K+MD5N&vTQ4^=IME2(d)>xbe*vE_7;PQj!j5$i{`zgwRM(}a| z4zx(rcGfzy@AW(hbSKbjtdEvA<;bp1>#4d1c-gJLVTQoa@?I$%mw4lWFQho3Rg*rD zt+ef@`dDVplbnif*EYaSn{L->+Z*1op2G8rzp^>1Qh)qegbx|l<$FjeK9`iSHIW|) z7i3}**@L9W8l8zu!a zNJ&1;=vY1}>nq26VVDX{3>Ncsl^!Pxk^7Cgl3NqoltQLtBZX7njV{%^r_UEvNgZ)W1POxBj zcXP_Dw&50R)&PQ9a}hStLRK9=7?E^;H|(WA&<&Ml#6`!kh~pqe`G#>yI=^f}iP)DDH)e)o*&0oW^8^MeMiYTY*D@cD#&rIggp zmvXXQtwfe`hOkoX8s)|AoZKX_QN8@7MlsdD=|*3j9;1p}wes?ADqQI6R4b>DryKh8 z)bn!_Y9N!gj!(1++w$<>-Ma9l&z6;PJwA={x7oS4jx!HlYJQHyusi&xAWvhTnAFBu z???IgtKID_k`o~sN&lfmILDWXX=@`EygoM>irf1ts()HMog>Q`z^Zmr?OC1{J zXMVE3G?y8qgRvZp%(IQlRf~oim$TeduIM$P@CT%O3dnf+G_OKf&*HyKHRqeUwuPwBUDS9nM+yDyahUQwYzvHGgTJ|@;d+9s596;t_0N4Mb)YZ*{YgICHtE6 z$n9*f2Kzqn4j{LxZEmbGcO7=?UmtCa6uZ(EQ=65^*+1(BgGA<)|E?IQj_h2;x2-XD zjYUiUA4gXo5Jk22pEEPNEbIcaI|D2q%ItuMh`Q)1V5q~gDk|y9qLQL69~lYNs;F3$ z3sO;1?dX==`8rtpx@jW%N+>9nP0WsnCn25Il9} zfleAcFKQ3-WQsna)|H)w9ai8~N|?u1i%Brzv&7B~WyhW8aGV{*XI8V)S3$mSM_ozp z&4H#=i@DZM9wyws7=O$KGB%H0&N@p0RIf3nY-gXJ{8RzDot?%Vg-CUPdZGmv$1o%e z=03H63lMLNmdf?jL$i%|e)s@)ssb&Bb1-@6|L2UW1L9qbF+}qF4~&pqqZ9M;u^Y?5 zu9EFoYD-yAk#5q*c8bZPghM&?g~Hgp90|I)0KRoPx3@<}ml-%$Y|)hF22VxMI8|^P2}%R0 zJ{=g{V4tf?ubKbTh@ng&Lmnef;PQKlrdA$>6l?N;%of_t%6?- zD`F!O#-F1~m)I5Z6)a_3L%C-saS5%irJm5{suZU-4hKv!iOQVK>gCqOjc9qn zOEG4rwL9E!F2Bq%CHq_+Z4Pbz8HY3aF#vp$g(Fp|>7aZ-m!!VidT}1KjxtE!<*li4)i2DuDJ|#ZRJ4-ChhFWRT;|^WggMda{(c}taHtC8awJ$q-v>c6dQ;~yY&E=1^D3E(99DDnZ zEMQDPOgZ_(7!XiFN;Mz^iyWg$XF3nupnrNCH7yifJX=#!PU1T_Ije69n`&AQO3=GK#=ZihObf-1)$c2C_!`)j~P@^nI$Q1feAJeJYJHr^@fy z9gD>N0!Gq#oGFIOo*`{vs{9UKUbEQPob2m`5Obc&e$EK3!%w&|5ecg(IMIi}2N~5Y z)9Vr+Ti>gsN>`=NmtVD~q_X#NGR`X~QwyFIE|Our;m_1z5W#)&@78$-GxsCLTG&dI zdbrSYpZq*N16a>xuNR;(J&9sH(&`==i*A@h$%}Emi{)pTke<3%`Qfw6Q1nJ7rv_|E z|58lav?ER4iMRi&V-EX!%XBE)>u7o|yYjzpZSN{4qkqpoQ<;74>_1VIOV3__og`<;}0 z<{Bd}>x+Nc5-d|vuDd9r*@71o;c~wlo$tnL8o4zWQGH@`ndv#OME>|Fo=sh+m9MH1 z=yS2L!qs*J?nGY{Qc~J>Ig$M3AOO_e%j-=RO;Im=E(|xNbS- z&uA~Cmqq_B>meFQ zjm1p07`TUw<~D{=A?nkHp{$oxc%mdf1xNo}v83oVX^{jsTo&m52fJ5Of)O1#^?ofD zyMF(XV7MVX&maMZhw4NEE;L#VJ?z@!7pZ<6W#}k3!OU#!_U@<6Q6&#kjp#lI1E(#2 zJz6}ezBZ%XRF7-z?_D`YbXXU0V1mt$EYypgOE9_y$cd`|V@J zrENbyZXf$)%DD)G!1GB-?>t<7BwbFQm?&yEdJWG!f@~>gD}A^o4jr-XrAbMA%7q4m zeQt)xlES|xy7m@SL!>%dBYi5BrpNB@#mqA_<05P&6H*x@9luJe5(YEZjcOvAn;wGp zow!^#J%l1Z>N+X~X!SIxKZ-p?Ea8GGq3{3Y1mrXr3_w7_sPY0f`Uq0p44_TNS3_n$ z_dooM=`o$Saq|$(Ez&1)i+ZxPzUm4sU1WrT;zE3(+m7SJ=}=Mfs(Vi=9$}uw@5o7E z*7__sd`y)wZ8KP`tB3=fd#zAXc+Wc$!1_>mC^pC#7b8n}+n0IES%Y}?VO8#FC z_PSpV%&1wK1Jf@+4j@QgzTO*dGRN#6VUm8NsWd-nFLrMfI+skb7w!(v2vV_2Co;71 zxJKz(ZxTJ1hm}wt4a0V^CQsvk{`L`^Xb=|gW6bV%Q<98abD;x_xQ|BRz$=(8LWTN? zma}XU+rLbsC2p-#r=Mh{);hD(?T=x;zay+DLk}g7ZA#3blZe5SwMo1N)=hD5e3^wp zI!0;}IPxkQIr1^u%+2b)E?URwV*d_p_pvY6s&$lV$F`Gb;LSy?J*T%0>612S)f%^B@IGrmkD3(g-PSfUlXQCt&s9PoY zqmzp+%5$S4D(%(p27HYa4d$g>Be$K(mcrK zAQ+%qXU$c~=e`=>;RMqT)P%zzu?*{?^)ivaDKR-kJDMeZ0WkOM3TQuwE4Q60ea^Z= zcjVQEE*J8lI$elGpN@e@)_OW?rg*p98Kml-<*U>}>ybUgy`up0&X&6{Xl7d_TGY4^ zhH9)4v;T6gW833b_yh)K8z34tWMNrw0vC_=hB-to`xT^oYr`t3y|O#kkwN5Ge2OU$ ziZq6OU)4X;aDzwAS0+;WD%iUEmSy>Ut3?#BFz!0QahVk$JG>1p;xjY>B?*Gr?6Q5M3kZkp}G z$D`|`M2!}q|DbsgnVD64#OTJJxonellD8I3jYv3@gR7vY2kN3&0dl=PsK?*9XVG_N zS2scz=JPZvtsPgn=DR=R2R=G6*JDFUqpa+rAo+n`>O&z)V`cQne>v1@#1j=beZ6MA zwGrGqho7JapFmglwlY+c-}?nRUzTodN53OjfByxwbnChdy#Cq%OVyQng5^QHs0fL^%_rcx zKree62Yw?@ch8V;omed(_i6;V_CfaywjuN3T>CWnlbyKFwKn>7&j{zcXOQ~oLA@tK zbejEE>%Q!B(Id+R&-Q9a+&;=DF8?P+y2U>&q%&o+l+~f)+q;{lZhHkmJzxD2j^sR? z(M*Py4TQ_jV71R8oowS#+vDy@;8hr=kMg;?xyGlpTrnN<^v2;xOeDRn@~-Eg@ZiQo zJ=NsEz!Gi9@P?o$BbT2UGJD4;n2r(m?9x#A5iCq)6zxoII8yzJ`rTa&iPe*)*>gf= zy9u(3M^UP^^C6}j$mYZ3+>O#wQXig;llkVhCJB0Qkyob!f_>6jPzX1TBG>VomUAeR zI+DcAyccnND}su$n6j{7=W>OD$*39HMcg4M(pE3GUBlhq>y~q07bSyp0~EiYs#_lO z&92%izo>ArcNfEh2bC#?7Q$Q!u{UuQLke3H14w!9^w35oLLSHz`HlJn?u&k4rQRpf zb^`Ci1U4?7NvqY;C`g~))flcC)5pBK%i{_QDx)&+iMM!Q8|s$ReW3lhBYsk-q>uce zbjokaR*G9ukLP!ph5eNjr`}72Ue7O8ve}*x^G-x&Rs?a}kWJDjOut!F8-aFgopTIg zzsfTv1y$=M*!=WmcaZH%1xFD_EhM^=p?r>CFB) z>a{3c-pW;2(wzG3U7(WCdof5N{_sU5eY=y4 zr!4*yWs|n;jv~aF=AjicJ1MUsynBl42s#v+&L-Hdc#&07v?e04ZeELG zPE<*}dx!Y@hSIH)q2!4a=O*z9KZL&g!h^jcMR3CEMm{OJoEQV4e#(wNk$eC}G+)!+ zh-Sd2jPsdF{*#;l|FM^Kc01?a|0VB=u~lDM3}saF06)*fFVuU*)N)2>B~~ z@pew4_!ZIYOuC+dG!2(5`AFw1BPK0sT6r*?=G6mqIHJX9RdDa{y#p=$}3A`^}-HL8^l z9d-@U$mx7zWOm?AGFF0iGCXb#M0xt`nA(UUV5SJ=q1g>c@p`T;_*#!)JogHW(eiSv zz`yKIhcraNYU>p=Th-i0ys*^B$iI)g2`owawTyT~HoeSXtS`ROc0V8&oac!_Ba>AH zJ=?fHOP2>2i8jhegz_8K4Z+rs4WI)Qw(NBR3}+LeNFpN#)JehC?QI)w{A_2VQeF)SDw2a4-xW zNjGHfOzEAbtLdEv{Z!>m^k8Z50U8{?Mm03w1)B%gD+}B8$-mh2{+8f^q_8->_v=#st_y+)JVC0G&$XT^GL)sEVeF66${pz zr;kMR7t0b#qi=XL*+|)7V7gy}(s+^^D5C2k2V$R*k*b1Hq1L5mD(D)>O_dFq1vNlw z+O7Fj((!^)mu|wc5SkFN9i-qd(~VlRY-YzM%jX`@FpTFcm1dDnd{=W~wmJf~3fcKvMwaT?(Gn5>8<*{dUki zm2-LxI@&Uq$NjL_m2(w?v;TwN1dmIPJ0N7>gw}3)t14AK`~b$3)>NMaA&ityG8!?z zSA+ry5&KeQ`2l^D(gVmC{_3Ui2*YQWJQ1YlBh=c&woCQ1@%|^v=F3%hzrFtr2j-O9 zhygi02`um3m^6R7TpY`;ZB3^8%@rwValxwwpmHx(C>`5E`XVbIfaV-@UY;|n|zN&2Lw0#SVlewG5$?WZMn<{a^lz;f? z=K&i9^#Rh^3B~aqIB|ADdHn2zA8x9gIQ^n1B-xFW??W?CF$);po{Tlq2SSI18naNH z3WYN+?jK8?aobGLT8N!mO1wR3as)PV2f8k+{gQT^i6|4;5GN)F7)TOy4|oY>O%;M4 zNV|`!n0#UtmKN=V8%+w(|ASjmL5L>C(6XQpiCqyqG-ATjKEx%T3<$xmiST-PEKMHI z1^0R4i)TlA!DhgaqSY3-MGVdb@=?^8J%v$n7T(rK=?Y!1XWp3wZYu(!sjMNq4TGKb z-~lOcY+n4mgW~sikZbSA)=z2!gL`2c2!5ApGXh!xdk3Vt(ymX42yd+qXRv zhi+E8G+7}2*<;$n7T~DP0mtYf*-yL0*$Y9)4g(L6Z=!?~*&Yd&_$f+El{ z-2l#J?!6+Q2ATzGe{GEQ1Qxi1Im+7OK^r9yuB950Q8b1StZu?H_EMpW$Sd&nV}+y0 zb`qntvstJcF3zoKVVOLCBL@H00^PbV=D9WQELM{j0MtmBqtU6gdmllguE;jYZ(XdxljIm6)WIH}s8F!D<@U^}Vq|sn)=!&7mT<^@nlW;w5nue35{m#o^^d z_^A}hnTDTmJw5}`6;%iqi>JUBp%jyj^+R)A=+b?7}JW&ZL2 z?ocCO9zpuH&PZ$aX~YU-5kt%xlVbJAj+wmNnWI*JE6LA3)Crc8@;5h@)u`3U++tFMnt& zg1FmX4A88{!*O2-iO3~A7gdE3{-&u^yp@xiV32P1Zc*eCU1KgGU2nmt8d)<$xKW31 zI`|l@7J0syI7An#7;VsCg7a@PaatOkNN&Y+)l|YE zn~IuJSlUS)^FqsHc{2tBJ#O*S=y}V;z6J7tCZS5%)x=%3NYbZR$WSD79!6P+sKSy` z4U#+mT&iG)=Bu?e*_AU|*jN^F%ZYW$$`rX^U7w}Uu9H&pLoCU=$^l?c1wZ%D4u&G5xs-{+ZPGa zZ=OFVtT@*0v$~zEvg-0gq4A=t-#<+i$r!t`!&I2>!pnfBNPPN>p=i(md!l9ew6M(T z5b@v>{OL{|COlun-_)!OSyzn4ek0Tc5^vxQ|8$I>ks75`0b|C}o1|2<^ERiq zNU7BwNp{j4tN0i{V}nN08ZH?28;hw`r<37MDMhvu<@4E<)0%4Im{O{&I!*o<7YtV@ zmmK>De^nrtqM%iQmWzDsM0=B9>P>k%8(l!1PPk+Kfp#|Q{Kr{Mf<5}gM}0;Z>TEq)zHE-*;Q{ysed5G zg2zAp}P# zD)opGw*cINaMR%yidzJ3lPO#e#qZV`gP`{?hS{)HMQ`lAfQ+d4_#xsy2bn*;8KV%{ zJOf{w=McIsY1leYPqOnUdFop0k=30z05@fwv)iU&N2>d*Ob!K-O8fihV_2zzXVOi? z@O*kXapb?4o|uh$N7DTvFT*IRu4vZTu#8b zyo#v^L!W~4HWGA=BUZSgXC(YAHs~xiD1=eoIg5=ti;X&qjXH~sI*W}ui;cp#Qmthw zRQuT1G{VG;g_&2Jc!y_`^@|7*9Gkl=)1bQ9^=npd1GJ63B9;b(>j-8osCkn{Pp3Azl8LIvDlWI(tr<7s#1wa)bEFvf!{;wNVGqfba~qfKusaAPp$H+(Ss` zX)`ZZXXi~#2UP!fdiP{&6^5ld zhgvUSI*zMz!e+zBLOI4tCHdAumWO0P1|I*p=NNdFlB`FKctM2?dSh83XNfLa!gW7_ z48XpoMKX(v|Ic2JwFO7PM>#G zT%x9b(RQN8om%2Bh=SzW9roGlLj~ z*qUSYMT!V-!)VsIu~bjA0I5_gZt;+6F8=Yd2~wj|aI-+_-R`W5S%_9WRQkL~2`rJK z@j9eej>bzVypBpitw4gvk=%Kti!tFc?P~-yx|D0EOnN(3R_8HL?L;LKIkL;Xxy4y^UT2rbTMXt_zWix{D>Mm!|9#)H9;N zn%j=T8w?fO5!oe2S<6{8kQ#j&*|NtHW<_frDp*QUXGK(N_op1hvrqwH%WGgY<_tL0 zp+WsSL8=LoF=wu-7O{7=F!k=LS}=Hd+`Dsc&k5KPN4i|eGrThx{V<|jaowmrYM=(-pJoIRM<@oW&h$LhPwqZk(A|aNr7@x zyix_!V+5@_e?1Bm9dp8#M$7AKil#y<`B&GV2s~I zyA)>EU}lbseJuqZzx32-rgbXYn@Ic`iP(2>v^m=omY#ZBm888>Q?MG9n@bm+$NiB4 zt(ynr(K1;;`WP!y92NaZ1!0)BcvbNa?3$G1Tk5zF`84*I59yB%qV|)o)XJ@RC7Rm= ze<<6jm4r3s5INrlDv`RIG8Kkts_7d$sNJZdx2z{^&pOTo%5yQ`(hf{FCFNs}+0o6j z+1kj<8&`EvwEG7~N2ojvufSYdZ8ItTfr1N7F&Ky91au#yJ3;yp`3;A8P5f$+4YgC6 z;(3@Z)1QektyA6U5}B-MQbf6rQSv;j)>$Q^N90*)$=C+PSWf7=mf*6hq0n0JC~4$b zZzC_>eyDV=R?|=|uDVoluu7M_>gjfZdfAkdOLl!!ar^#9E7? z-hA;f!!fE?k>vi!zwA}&Q$Aqy46mRVdkaC(EBb!~)wB z6(WA}P#?|k{FDzL;(4}*=fxkh^$zv}@b}AlfsJ=j8Fwa3Jq!apZ~HnMrSBqo=9hn2 zY3U36f#3Rf_gW9^raU_7&Gb|cRI(}Z0~kCos!zK~!kc&EOWB3nIlQ`UUo05%Quz7j zI`EfpdTIM^)YY4Qa-hlSDBjE?3wJ0ah6uHf@N0FXlUd!EB7d+FOZW1S511|S%*xVW zc5WsLxu8`_!`2=rswzH(`0h%hLh`(-kvkOPJ1Y|vlJ6Id+@^?YUfHUs8W2%%jl#IQj+a$_yc3m5{ff!A%=x@@R^xT-h(MBRH;89@9OEu`4dzt$j(i zCl3l;20m5(B9j3ttsV+gSTRs~hB(8&Wd=w`nZ(Joogw97%#)>QuP#-MC3~dUII6Tv zR4~)EB^74vjgjT7n7EpRFreu#9 z!{Yz!C=K%Mn$%Htl6x=ZAI`5|Th%^82|1a>hy?bGMDAC=Y4pxfi+ z%tv-`&DEOTh->wUzmZcSnXiegQztW3o4|5 zx70dsBl+1?#GpF?a;Ab)i21oB>Orr1EE$)rZFWSDIG!{(nQH557tRc>Mv{-Z>W<}# zkr$yU4tg#ywXpLceD1A)CG}tpfsp;a@pfp0sR2s{Vui5%jqNZH>spUjJdNzjKaNy3 zP$3sl0NMWo1uhGcI#f%*AEa|$(kjX#37R=Yg?u%SqH>DCu zTa4&(`!M0Nd;AP+Ny~fNly~w2kU70Ob0s6^t{(DCZxBpw)AH89jd}7(e@OYf~T_pjk2k2yn{BtdAG)#UY34#V8_)_fpcniaO{^Bh zcz3oGB3FK41g3cL)Xgf-bXro7(iKdDKA1#S5mbVoW0O8U3k8DAcnHMW4(>z)nH$c zeSRC}*le8Y(<2){<^@{u6+Xr{6w-@+u^dR>GeAeW70{FoSu@!$iypF{Pm&wcee9QES#(04tv$Y2Sr^OM(%o{1a$m)b{R@%R>(GZV_{{b$7OzqWy82X*At@tvFp z-X_K{qhxN!D7CyilD63FIT-PMZQ1HpQe&IugH5HZT)V3CHR#36H#K3bXF%}F0o`ZT zX}TL((}IeQuqTIu=sdy|<`MS(Os^4ZjD8}5R?@L=R|h~VsOqvQpPyvZ%f(H>*`KGU zI_dE**di8m+xsaOwCd4Yoq1(554!WQ;4IjMl+t}jw?EcnNz1&Fk!QVPMm*x$SY)Wd zWY6v&S@iMf4zOtIoKv_GWuJls6HT&2W0-8{{S=sO@4{ohnG-Xw7%-nmtI`-Qo6*R# z5T(z`ae|c9<#x=+bkCVG8ZM`-O7piud61k~2He_ykfaDXsY9n->wSXlDLY*#=c6rZ zi5t?L5%RQF5YpSbgT*S^y%S<5x%15!gc^lp?!~aOBSN0sMig#}4RTY8p$GM?V?5`o zVf}kIVTwyC(JIi*gT#cZW%=JoM?Cbra_Q_kxO4U-wBL{7`$@+)=P{+^6ljgcB&Nfn zF>7i=a@RLun|r@F5sL|zai|@{?48D-1Fe%~&((zIBI)M)#sPy5_A* z5jcQ<`v^;;xc$y1i=dIaywYYmw4`RC&rOA@UjpF&g~eno^;J-j`|Vqw7>oIM;*j_H zzY(&fMN>}6j6WxGoPL(%%CCa3yNZds>Ag_39utn?yLrjI08oJ|UVN0rn|$c<@hP)F z_-t%&gWa5psifq@pOQQo6w4kZ$TeZ#S~13aJoF?Wi9Z?|aYzc601?%=(=~-aX#rN$ z{`&+*7?n@TK6F)5!j12t?qqU0i? zd)!o{dTRF^!`2;HMEWN_XgE}~`{Dj0zaY5l2x_3Ld-1ws za}r;pP>%(eEFk_=4cd4OpzNi=Tn1$O>v)ClI`&0e`J@~|%1Bk3{C7O&R3lo#E0CTo z;`ND&?L8)qETPouLF6<9jv`OuF^@*R506|yp}GIGc}Ep54^ArBedVYf=jQl18hJKq zC{dXG_Ankenqf}G0Q-5HVefDDmaAmgvpPXGv}s1a)Y^+8ZUh9%iC7d$=OZYckF?q- z`P3Uh@>c~xj_n}C0dKBEgp4*7-O0vvI#u8MNt0JX$_Dnlm3C;t_nV!(oCwYsNlGQx z)p8A-*bCBc>BzXW+fMW+ZUDiH40tvlagB@MsXE{a>LAJ7rs-b6o9p4gXppSH=exzh z72Mv6yU>3UEOSuDwIvN97AviconYSO2C~SZ;$Zpb`w?Ps*GZ((G)PqBQu8$bLn-IXc4#9PGh>FRb%9)rmIjNjRJ~%#gpEXeK#WLRLj>`EK|9^~G zWiwg%vwOuVXZ`DL+8Q#bSB zukqs@ z8)+8^`+L?|+USZdMQL@GC#&g0Kh~2&ASF)wo(5CTH!AGq(2pE+JGha4;C|tCv(W9X z2!=kGY1+alVrFd_W=F^6LYGZ#<{k*vfe0AJ-xk7+n-dJiy*+j7VA^W~=Wu z`jFE6;b30DMV-FayXQG%M$7Ke%Gp`GT3U>AeK(FdH|bl0tVt`faAbkl`BTM|bv~p6 zw2$gG{Qe-4iH^a{8xQsnarnU;1acQ^Dlw}$LB9cs`Wy|{2Grvy6f0W4I8mYE3<#@6 zr221zW_Ja{8Cd*C>@}$`UL`HfrYnD{}vM#9q19rdl{ssDyqjoMRHVtAi zQTRznyPzEyn$PKTm!k>%uN5f-P%U@TFrLENvrdzg1X`738Rq1MIzL+!FORIqnKi=X z^779s!2S9TseKUByAM#@#o{fj)70ab_{a7b1ka}|fQq+zmf-^P6UAJ&>lXhpt>&$5 zbIhsF4(z$op&1Dfe6PZ|`HGT(OEFHXya<%n3rC;2a!k|qOi$hAkKRLa2Ep^&kF>&7 zBkX^@nqv+9hn-Aw`1qoBkGXfBW6@WyW5U?8x$o;#CJOpaaUZq-NN23)v06X1Y!NAc z?8?zr&zL@Y5wS4sThRD4C5j}(Od*vV-JW|{X0Rb#){P| zMgps`a@AP5^nF%&GtFE#VC77xXkI||qJxe(=Z`#xnV~X5n%&ie)t9NAY?yo)f9;%3s9!IPtxl)aAHC-eVlh)V*T@puO_L@B-8@_U zdZEA#-^*Hy*^x;eE#rBV0%?t->Rs1*Gq~jtZMD--sT7ak`(IdE&9WdnR0nZ;QLVJdX_+(?WHG)_>HU6b)SB zuzyROk&%vf_78{{`xjjS$H7Nks?Dl;J&UZ%lGt$rGEhOeH5S4yR?n)S_^3&J!Q|4a1WJfxgFY|RR+-2?+!Fo5tWMRwaH z`NsKSKf*%w;3WCy^B9K30{WTd|Ke_W@}*PHfD9G<;ZqbJDV6Rhn=Jo`CvGN!J!i7~ z{rQOl-_MqJ#3h2+ju+T>y%nNH#Z8T_N3H2`e>NXHk6T4wfSl13s+-jm${3%8?y8Uw zc6vB&1vpu?o_~-b;y=%OSnF{V(9HJ59Nqe2Hj)Yqo*8}ta-Y2C`+4_#QEfUhK&P1g zY4~emWIlV!^BARiHM{jV)zj(^%Q5($SCxH z)3efX6rxOFBx*Ld#5Gs9wC;StE$+yAA65MI+W+B)(A7!&d?dshkHOmIOik!a&w1xb z)+sF)1b^gN$&EjF<`|LjBfpc}S#(Z47S2<>zd92{n!(#5-COyVA@*eJT)*+o>+znZ7HWNr!sVJZg@`vAc+aC8a%oO$7&V_t1_sN9)Zp@ zR8WU8j=Svf*|aa9$*l`(a#uERaA#s)`t`a)5Wmk@!Q0T8ag39?PQ_e4&&ImUe6(DG zBhSv;Lc{DepkcP@v1CGdoV7_g8%g(eP4^)j9yF8X-(S195-}sA|1id;-(j&=Mz_rs z{N=CS5h|Vr{Y&iCB0XLinv8>~`(5W9EH%Gs%@~4g3#!(R?LJRkIyd@_u&Q82-%1tADJ*@8z1wAistO3aAZjS1H1-+lL7g@%L3! zI`@qjZH@ZMNfd8Gg@UK)ks_qq&+PZgfUk*!(`nj09cL{sb(ZdYUui*G7+K93@ zBPABNap!S5Z>BT-*EqQvf5g)+w3~Qyar@mZj{r9B_QEN$e%%z=C;H2JGcz`c4BEmL z~Gi{Oc_`N!eblTuA7nVdfyPeZ8sKHRkbGXqSJ|uFjv6gPMbKr2o;Rn z9Fn()-Iy6^+;u!%;!L$u)SQD|?fyS?6l;*?;O*J>ZpaG-ir8mD*h`JjM(LA3MyrQC8oJx z@?%%^gwev|*0OM!EX!T$*K~i_X5%4;0IiF#{b>AZI`7Q?B~H%AD%z)_5Fi%bt*((U zR_0FBr%?T2QtC#6&qm|>bIb9i{u0-+fVKHb>9Ib`SUZC8aNSsLeTN;e6T>R0X1QUc zJzmMKX4XN=!2%H(W;YM_t>3n&SV-}#lByL{8Bok4*RcENUPap&gg7rhlhyH7@}g$3jWt2E(6|(z;+Q6sP@|=^ICbbbJx98PX!;FT9^py$@2Q2S89M z+U8{Rq{<(~qPYP*+j=r-GEb;pIQl+TFWLn+mMPMnfDyG71|np>9%tnp;yM^EaSX$@ z+o6Xd;#Z=pGdjQu4ELrLrv8^$F+x5tUa#*VN8ABdPfpt;XHC<6)v%doJ!x-WlvfLd{#v!9)n*8iIBss??#$nbEf3*P3 zRJprU8uT(~(QIT$nPkEEkCJ5VtKCMBklUi2fuOFuzvQni1q&lmCvQDF&g= z-FrS_On{`}Wq=_FxpU`Cmp38m&_j7h^n2(BA)4vnJK-w8scQpLUoIU>Gf3CHmsr30 zOyL}6F)HwE!0cCOUJ)-Z>(kku%tLu~^eHQXyXCc>N0K%zl!u$x4R!BPIbTBkD#L+1 z&oeQnLiM{V&*8w_h1M=+vGII#+j!v79hkCi0yzS4Itr7*(0p4LloXB-)j!47WnJn_ zoX^5KAbLv&!1Qy_0TR~xbPDXdK*=>2=l`b$Y)|9=PeztImtoT+1gWL9a$kExX5G2l zQW_X?ve+-6>EWqVLWhFbB(>OGh-^V9G3F zRA!edX%S+_n_lFQ2F7d>v+gh{52K7%DZ-?8u;GCnisFe2UhU zVl9;w!zV!sG`4t}@cJD((C$@sq|+GkY0=6@@la1;%%Wwem8WUtZ?ZPCN%iZr_5oyU z9a?BT7Gq8wD1R$kz3lkf9XUZ5ZkA+R2E7V)rbd;4^n1Uc>Uy;}Xe6N3PyP~ZI3C14 z9>N+8Ahk__8q*VGpgtn~$0{Gg>amkY6iDFq>XGq?lxTte62-#9M++&rr%VFO@|9I! zpC}YAI>p3QxEL?NiKX;KDn5c50shL6Khk)f8MTDV~@htQ`pQS*y;{Cpdw;i2GPi@RV4=r~Mz3H9` zv^n80;tz8_#1b|iUDb6ux%O<{WXSswsz0$gu|07qIBsuFB%}ADX%lIC6#X#~Q0))i zjcn2|C^IQcPOqOVm!It%zUP;;4UVI{Qy%XLyg8Ax0X?Hr$I+~j_MsWAo=baZF5Lnn zfoS>nrvC#oN@Bk`QNMmdDcz~VXYF2ZK3y)@hy#1zkVv^1^#Wun!HaxEjS zKijs5a&7F1Y&Q6G@*2Ed_<3UZbD}DDj_g2d#PCG22K4`|hsxoJoMl*(@G@0;cyr7$ z<1~^OwC>M8Cl2MB2(o~Qi_Ug+Xm#F1LwGZW%Y1;wxnPp0(*D)rWfM#ys+O*s7*_K% z_RhMfEF*qXnKZyd$T`L|9b>&Fgwi^gUdWz;Rk)K=ubpeGfkAl=EPE>w& z4nV(7zPJQ)8RDAK{b%Mz%5E1Q%&eeXPQ;8CVA@gH}-HwM}Rr9`OXLKZ=fFmc4)Ta;ow1J*r-P~ zjsKN>YZ&=}b@Fpf00U3NKEIybgESsLe9#N&HOLmlN6-VT*kU(5%>H53WgL|r|J1iq zYqvNNUi9LU>b+FnLt1bLC2c5yyj-jA_C#_ewnzW81J`N;3L&VOcE+>5@xw-%D$(2` zQHf;|b!p2zeh(7!%Xl|gbZa8HjS${EOpJ&?MH$7HhRj*w^zBZdtqWM!$R%eHcFC(a z2bGLnt9FEK>U!8@MA*ZEv$=pq{A z?$^}eZH{jXQ77>F&iCXhm_TKV3;2h`qD;#|GDv3&oSd?xd@{P>w72WGIWP?MB<%6H zZyK+tr}?@`t&a4TP>xLDbPS`WYJRX#KcH+=whgU;u2WUv!}mjGIuxON_0qOzeDu|= zWvcJMvQ~&(;`=WpJ;Zq|k849mSfmj-Il?eaDeR&|KV?&Jk}aRa!p3GCY*+L_d{<+z ze`y`lYoomyHo-X=N$G{7R9~&pUsl#W0`6wIW-9nXxr?T3Ha{zLn+8L2k#VSaDxI>6 zi%r}NuBhO|&8lD*M6f@WX*Ubu@{b!`u!1yA(yFD%07p%zs&=-xWphd-xG)Bdj(utnaX&~3$a6QeVm`V%T)cEg>e(cO$oR7NAhsuW*_jFL5Ke1QK-yubF&7rcqc)$~zZ%%~OVRG$asE*?#*PH0nM06(J zj5#{1(MhqA1#nJfop>}G%ZU${D;5vN(RhI;TrS6>>v2~fA(!FqCfs#J$PU~sz+FwG zT#CC}aJME>F2>!hEUagu; z!9z&za7ug5NJ2Ox5f?A!qrpv%0ydjirFJT>9*!H(s1N^~pWF}x?Id4l1-y>lv1uQJNJqWyGrv8jdoZ~G#pU8#IO5}uVbXSrD?>2;u593F5 zGy~d?w&vRBU}W|+i2d;0Jx3Sek$oWl`@10l(o(4=Ri;k9YbkyqfZZf6v8S0;-h+Oc z{mjUJ$k5x;T(mXCe!ulLN|X^x;}zmBmJ!ee4!vn;zUkbd4HGtSACIR&)&Xk)4s@uS z4c#wbdhb)lBt=681G=*mU2=}}bP$&W-OrscU}-{>bf93XeV_q6W9%=z2poK0pll;~ z{GYYn>=dQkWr+{Xeh@$DzM@P14k8qsj}KE0w4ha9sG`~R`Pe2K?6I#f&cZx6Z%4h9 zN0yFEk>AWC8vTogUpMCwWvj!u&;L@+qiXAXqG@EmvEHx0Q2zi=5_KepH#Bx6rjfj? zBt#CTl#6y!1JD=ee9?l4s|x`#yLsNxS?PM^2tg3zXQ*+XT53ss4;O<&jY0W$0iTT;04KPYq5pK1FP! z;f$#w`j0Ghv- z$S??FFOk+J{)aK5bP&gEtjx*78TD@n+tXcG;0Z}5Ct8XgG)>-qm4|8{Cr`yIu9V%q z2Sx&iS$AtBkkmd%dH#>2uMdc#-2Ok$%G8 zsFW*GQE_jWlvLbYl!~t0E~A^0Qm#maL^n!INXpf?MMXtQMoEQA#ZB(7RY}oEe#h_q zV|U(Xo_S{GJm=+eK1XKaB;5r)0#pQK)Ib!A9ogF^?^~#oE=?6NE+Q+V0*V!iazaLr z$}0#}62q%|ZL6ueR^h=P$L@u0CF2KHGcqn-&&^1-1-gZyaMU$15P1*8U8UM=Y<#a= zn8@vJY-#y8H)Dp&dDumqe}Rena(~K2lBw)~UNTyX5nKyCj~rGPe^MFOW(#dkOAk<1 z5tGuOBup!q#UEKz_h;Pj@G4t$g;Dw0#Na_Dz`SG z64nk!Njt%hkvV_d?QQUkVMPsZq-(nKol_HGOh3_24M^e2$gd0f01bSLt{X_xc z4@d7EpzePhSy{E;+YWHaV?)SibeSHeIP|Iu{0z=`hbb7M3hVI}t{RIRYcGPw!Q}bz z>m8&LpU#E!C*JPXJ2H+%I5JEPY}-jw-*NA`vXp8WpO!tXTiL}*9~@UM4YBLM+0RNn z$6YTgbZ~l5k@I%jSFW>co-T zjq8rN_L5(rEsgc}dIec-r-S`Xq%c9E^AckR?XL(I^Z{S1g1=JDaZF||_qq?(|78SW zYF-e=a=f7IT)eUu&nXV%x?-iDa?sfr4b!*HUSZzx8VzR}iqkzXM1Xx$D`VGT<#9Da z^el1G*EyKBsu62m*2LKsGEM}S5h3h&{~9ja30$EQgi$o`47lKEijyV~mOK=9JBR_p z^RTEED@Sx@$u2U{!~M`*O6Oy)XC64zbENO`Ky=KJzG)1E-s?7$Avknar3tU+lx$-; z*ZXvRGO>ZFDAFFn9x#xQY=8VL_1x%t#*83qRnI?9TLKlrq7uyPVMYKk4O;M$n3|ln z3}N+!4wCTe1)DHG`T?6jv5htXGASh+m~TRlwOxg*y(wFM)v`6*@0stL!+zDRB4g_c zBc+-DK*@s?TfP18doz1S(STOYN{*D)cA`0Vt{*f=tBnkUVC{UE~raocB?F$IHH#x9{}Oz%mC#2qokNF z5D%O~3P^)^YYY=2WA)!ViTD^6glWWjyY?hg_o6!BM!Qs;uOXfB(u^)!WA0VS$4t%> zIJjMP&k1GhpF`yy^F1Za@tPp_9@6=TP+U@Cq`K7Ey!2Syl`t>9=eqP}Q8Cm~amn&yAWI{sL6PplB-#90r&GW*FGo`h^%3 zvc#6ORmgQ92qk%&gqEvqD+GGX3+iUDDDFwm2x^9u8Co^2AY!&1Lu6w`?9KifC~plF ztB#VPuVqDArZ_+((z`vy0VsGB0{6XpQsW(7Q>B&;V&hU9>tK3kbXIm#(WZkz(Dh?U z_k7!zIT<<`)XYli%>|`j2a}&_xPb?$&W|)|gUT)J7kjD{@Ks#D=v}ioqa?$R!69+i zp#zQ#sA<{14G_YY&+X^f-TPdDnDsot?f1#8@AJBylXIxfPrb9G7gcBW9etYH&r*$# zV;i#ZWZpO%q(4;Y3zqCf+{zZ=ywnPu+$lMMdB#4I1bM!d0I4(L`rxsUnI zU61a~r+$6vjQ0t)M7Pclm^8lbDUH;;BTRB3_^{(?%^b^G@plu8?TxNPd?oP$RZTH%<*$7a_A1^c%uqiL0>OdO-3gHcqx&)Bb#jv4JF zGoQUw9Oy=@^x!6BQ!~iepFM67E3;XO*NMk#3(ilc6}W>XWp?%75bFlr43n%x!UwelChr{*^ae?NBFidADFH`c&OCiJoCTcp)vsHF?gs9sSoF5uyXttr;iKKVl)cfG z%vfhZ++5|r3K+O=yMSZyDKMl~e7A*{aGdod*Kj2BdDQpPa@SH$z^Mz=x;juzm=MEU(-CAuL?iASlN?Li)O1h4zRG zvEeRVffjFtDQ`=R|NFPo)9g_to%0ADw-?h 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%0AISbGKnvX1zoLCuE07by6tO?9UryA)`I~+Vsx3 zC!h3?^fM{XF7i!GlO1My61>A&eR$z|rC`BL3MIM(}5I+s#zq{Z!p$PA{A zZG6e4x$PUUTscghdP!FXMaNvtFBWDj^Ye}4dqdN z+5+_)gjz6i?kjtPk*1SHcT(_$%tIWjEtK!Y{Rz5E^Q0#2Pxe3`6kpvf(W&sSc&Df4Z9CSU;KJDs{s1VL(9q&Rgk z7N;(4<5H(?mF1|Z6@ZNP#I6JlKIhDKM$J3=gHu=bOWew#yDfz|=_ff)*X?g4V91rX zXPgbcL@s-BS6EDZSJ+#d(J1gssK_^pX2qq$J5$zMSdd+P#l{s!n4hj-M*VQu+=l0> z=#Gly;V`kZk{*0cDVTR-ILu@muMvG-E_NH#u%cu|qY;GfdGD?9+olv)FsR2cmyUtx zm5uY4g@>^N)?1$i@@_L!$)}C-G#6sAxkob{obq7u#mCa_*|66qc+Ajgvr$;YeF{fVCJluG$AX?!6gFcegK9wU$uk*Sxh= z5K8Fv^*D0$cQaY6poHfBJE?@ypSl64?t&6Beq2HnGQ^!PAzhXBTN-nyg=p;i42>&M z`1?!=Jvf@77TwGyokK&}P};{^W2DI?wOTT-emwa1nWFO>^T1c0NB8@0R|6M2w8pg%+479KXjT;cJ#CUm{Q`i#X+HMo*6mAAKPDH!XWF9Y zh0CHbElNIRC$;1~Dt?%<1I_EejJ|vY)%a+sLn-aO*e0&t^=vnM=)QmWCJ#LULo?2H zZg0h9GS3tHJaOc_9Zz$cyoY#Y$i0aUNKfR>uaA(QLg>3Ui^l2+-s8}zXx~;1tGr{s zgK9cO=pk!{b4Yi{{{CKPf8m9=g9$Trzq+;fii85>4JXkemlD#=*- zl@4^0@p9GwiBrwx_M>~pV&g8EDdjhNyPpm-)4l+_Y+QYE;RQ394#1?j@HgeZbA6oh zbNf$SB`XE}cGF>NMP{*!)mk0}d*G$doRqv43ufFJCnXMI!*gq6nUfy9@W#P}9v3BN zq0XJf;i5HvKA7-2w$rd3XLnKJakNfEYfDTO$sZg{*a=wR^YRfd7%%>p`NcR%d4?VR ztz7?L=9j7CGnknkktexcJ(yw>j8A4v?Bu53CK6CGE;o>(aU{Sw@?9#mBdB&*X z#r9Huc#&8-Y^fCwCe&fs^nvDY5ltVLN1<<(cvwZ&Ezo(@>qecP7{0ZAz!&{doYj

JO=c3D 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
P_ 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%0D76xp}9o1lCEIe>xV0ipQk1dy^ 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
B&YtE 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%0DpegoTNbB|IbjRej>ZeUZM* zJ@EhGEi+9!F%Vq!!co)Se8RNfdeB|_{P4c|{;YZ4u04yvy@FNg+?(7_e1AgSb3KEs z=bF8~VqGg5Mm9S#Pj6B)*ixXX$zYc4#_l3t_{sHqSBbT-Fgj^XlIOuG(A$ zk2D_2=b82!z||U1iP6d`LYGdNZIEN4B_FNwC6s>(yj<$E#&QyP$DrwLWV?iQqv@2F z7;P-IeT;kQqhP!sT*C37XX|peQI4*?0etC=+7?n?jx79p zwfie`WQ%s6F-Jb_!EB8!*k>k&`(Cqb)r-Kn&rGt`E;8*+qLnrk;A#cG_wua9LSi5) zd=lOr1crEbYoLuY&N3NqXQ?lzAEIpwa9rF`R%_-gYOB8X2H)Rkw-i~mWIm%d%Xy|Z zILg5xIv;mzK`TqVSPLG(yCu-tk_*O!=~bdC~F;a(Qees zj+BA(A?l7|pV_0cPIzT%U&h?8JF$p(D7-oN=3)bDVx3rpZyO?!1 z*S@-AMQz3e62n)5zYM#y3A?1{%V@hF-5X6^Vj#(}N3vBaF9e?SU3RDq<5RY0DscNS z#>=61F|vIPI;FFl(09o?G0-L~TcGDRVRtm zc)QnIUp-|ege#~&g&lYkS|ra>@Jxs2pTR3VgC7Y$#&cRzJ`Ug9Hc3_+Z(bleqk*4< z9ed29QS|kfjIkw>T?PK$r*A5Jc6rgp+6xY+|LDSNz`lxSmVhhQ;k`Q#Qaq+Hxh#+n zKE}Se;K^rc{8eDDG>`CYu=pe!EZ)clM>DR~z6AKfUt%O#NsMd#UXI?q&3=3yJQoeJ z!ON(Z4c-Nw9Qf|)cY^iT`L2D~3@>C)DzIZm=fCdh<%Kp_GH~_P^*ge`x$w%j!BgOs zYlE@(-?7105I2@##}+rS!Eb?Eaq08K@~?qYGLa2li!SuUhwEN8Si12keyb<_I)<;( z9Ll%BOU&qS4!r0_`*LhsK0NSkaP)vjRy|7J^_+A^{d)~Kag_I9e`zPMghPCug3XO1 zHdef=d)eSe%@*N2d`uj1*IMl1WPFV5W}N82ccfucWgqp7%H&U8!nmlk_YQ}_jgI9f1ncA<%uI4hAkq;2w-INzFhZ%vMV~@id zvB3pqaMe22NG#S0MlEn{aOjdo8~oGv169Rc8*T8P-wQO@;FgN}Vj695JT~}M_9Ul( zHk@d-)E{iPj-2*}^^WKzvb|N}MCEWYIsfGB$-gk5p-*g$ey^b-pmhp1} zTI2Ce#nAE*zYCQ6!tYpO-Ko@5&%0@>82e!}HmtZr�^bIHE)GNItNn+lnh<(f5aW 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%0Dk%=+sp`;pnq(|9tAHi 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≥Ye+$ITDq{d@79&C7c~6nFI6 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�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ĽQTzR3Vh0549DR@M zT}0mP^dC6~oiXG5re&JX`FLoj`~{R1O}rg^X)R801j+lUdd~6Qp(EC^9$2Ar_$4Z^ zNmi&X#UU&yi+8sW2eg&B+P0yss@{Z_MI+=vPMNyEd8Yfc(@dFbbH90Q(B}sR-wbE{ z%tROKUtAM*W5YqcjC(j?_Z~YO=*{h{@248oYIW-EOT!1=0Mt#-DDB1Y*wJCWq@GLDaNnQ+( zr~Hff`;%kkLoLmWrar@ca$USTd5f!)CeM*y)748`V}Wj+!z5X&y7kR2c&x79qaJi7 zTTiF*55hxb%jfPfYZ}JW7yLGS*JJS8R7b|Gh|fe;vmYe)QCA1u1PWTEM<#b$aL-@$|E&2w09tOJf~cxS%{4z=+zZN4&4I5j{$N%OFyr0_c;fzZrb-yyutu z$-MyWVc#@LHtAg-dm88RUhOwuioW6by!TSJI(_DI_d%bsHY_gW*Up^l*M=ka`E0j>EU!_YfpfjOr8v*5+T z&ou(=wN^nVvY}Q@aNhX2>53!6@_kJzD_WT?y@dVc7S2D0>STXJ=bDm099;3yMP*&%`Kds#mS>}Z3(=$k-xjP>hfN2eMe;p`^O*DPZzylMZhWVznmiO*g+&ov&x zk92CqQPl!tSNk{zdEAd4_M2RV?3~1oAUW-#apN$CHcv(hnhHTT&(goKjM;)ex_Q*o z$R6!U3b0p5eB@#Js{iKvq534>2K{Yz?ZfwN4y~a9H@SncyJXv=AIPp1ulO+Vz4Fkx zPVNJuzd%N3c|sSN{jB${E-dS8IGK=s^&6dGx0Lah{+=i{zY*?!Tf)2z4XxR_`pP5L zCU$Mt@tLxH-kjq6#f!u%ZmHb^ejMpv>5_Q2yVg1crw^ZCbK{6OuMHpHSsq->q5gHh zw*H6R8h^zZh;#2NUuqWTYAZ!mMC&WoJgS3y15>l$_h*T=i-iuP}Q zg*XqzwY*ZefAbo~K@3B&ikpykK@{C`5I?t1B34a5G+T5VH^0; z*lZ1!AIk;s^UBAvbe5B-49efJ+19tD%(>Wu>wCcUOt9>j_NG1re8gI^MO}05yF)fI z^$F*`+>jn=QqV1Vu1gI%dKG-A30@Dq{DiSg{&8MijvQyQvs#%?X?Sm({>n#?<0>D6 z=Cki3I6>T5>Qd(a415Q~bSK*b&bw8Q_f7I}e2u=bJP}(Z-!~!Lem?|1oC`07=OxLz zo2zbElZ3ZLJimn6lpo_%_2~O===+Pwf3W_lsf&Y!Q~U00oZ39LXzItQFKq5>+-o?i zhjY*8uezoez2mB_#Eag?n$si7X_30Xx%cWNt8G4#``mmacD#|{vN3X;xt0o<j+uTeffd_KD0?%vPgKDGIMb{#3T`3&Z1-aZ9CPS&1#_oSVBTBm4*Cnt%wR$WKg zuV@&*_knl8s%PSD`*@zd2;5TMSYBV2nNJz<`lau3dHouF1I-w4B{^uzdNM}+&{(i0 zUJ;H{w(9mYc}F%?;SNt?SO%(YnI)%QjA~E86iX=C1)(bQ|=m zg5~lV*#Fe|dGwcL0zH8>_6WRAwsRYBi#D~kAUYjb@A|%2x9-aE&ickYU)o#I;Opej zL7#DL<2$U}DM{jE&^X*9dHXh(K0ZpFf%D_`c_(8d8cR<>7K6WiQ=omyKcunbnKAeF zthQ?kho8^QV4k91y~w)8A?UVC_EyLg9-2POsa#fG@=@U5hrOlo0xwn7rt*6EY7fZ?2YGq#`BBZFJbKO;M&2Jwc`piFM#tin!kr6KvU~`pxV?8_vTN(;pZb;nvM%A@U$05SyR))gk;~QC z#MiB{e${U?#;nQ6@0zRLxgsK7@g3D?ewe!iT4WtYYcMa$U+b;ItP+is;yZ)K8?Cvp zo>XlnEZbM&wwGkCB*#Gu>!43;qh|DE3nz05`m{Rnf1-m+Keadn7E6z`)6RR*@+<4h zEdDl%hOiCN;-QoiTrZATA8JvZ{u@l*FGIi zc-;XW*;~Fwe2%pz{80EoXt(-!U`5+lbT4FK_0iyp!@52mUQrVc7TITa7pzDW1l;?% z#VaH;8^#2RBE_aCRfCO6JxR{s&{@w>cw6+vVkcFIU-K?+?xIIb z*C)Q;P?wq&a2B^W)TwOCb@cDO z9k%WkndC&TPVQO3^8oMh)m4a&gfG#N=tsO+{P<(g&^6e?izdSto*8H=qO8>`!e=^D zfJy#j@g?cs4Zu~yx6<7gv#u#$y!^vSd~bhwexQjtVs$jL^h`%*4n-*&FyCL%Oj%Pr zuP#{=K<*UGst%vMf^lp@A0DT7&G5CTIcvJ^sl#1+40D#P-U0Vh(9r7kcTfF2SFMe_ zvi$-_{O+2`lbl;Civ2lHjB~0HeDzGFPkkf!Uz)sC;+2Q?S2;RwE64kNC2@S5*h1n- z^7~_V<=|=JoyPLC!1YP?B|Z#YTfXA^{Z^k>F@&Wjs?&J1; zyS>lnG2;U0e|%GaKJ%J&42$nwXFAQ`dKJH)9dPx`kZ|p_Sw?#rvp3nyjGpOzw z-*~3FpMZa;ujE3VDO^kr7S9&`#G}%(9sdg+^)uw1>TtX|*y%8Hj90JUw}12NC$4-y z??lT>furH0$vyJliiTxB$e;TY_P@!N{3!o#=pU%~COTD=c{Y#VH*>}K;yJ$vokO;A zmO9Y!oUQk|{3?Z?QTE^Akh|`=m+$lUh)6GesFbGi1P?%GKy&!%{W z|FSV6!1PYWb06z{__Q)B(f>cfGjd9Fwpm>1Rp1Izx^ns}BziI4hy{8nBc!@&C$`qS3futR-R|F)r{cG0gW{Zjw7 zp{sVi+S>az(Kll*dq(|IxhQc+dY@wdY5P0!`Zul6F;9>i_hE%%7h5BnEkN0*;$*RHo7oHP=de!`TVQcV z8Tl7mDAQ7DbB|CaWcPsQml>?5?5*n=ETeogZ_(CZ8TJ(CmrnmQ#L(Z!+r;7)18m* z{$t_FpKppQP^`P!&@=g4^W*g2)E4u}Z%b|T(uUeJw8=X5Tes!WzS`0l+4l41!|-;n zXRWaMo9Vj#>X1qy?hf(LT{;2 z@u{4H-UYmFd{SP!@;8ZYwRUvE;~~3>q4wek#j++v(j`i@)=ap?J(XY%*p;2*@tr?T3!FaEgyD1Jq3 zd9||(x#{QF(f?t&ppiKmGd~VRW8Xyo(zFry^SrvUIRSjRruL`Eb3dn!)~I|rWMvS% zWEQ{OH;r=+RZX_-&j2rdliB}+pNz$=62bRNe1OT9G>NXUv%^ka4VLK`yTC2 z%;)WXE*hUtY~xI=@E7F=3udCgQo~RE_|p+$evV^TvoPq$O( z+adZ$E*bWV)1`7<>v5{{D0-rs8jjiI7hmn^#6}g zr~GCAQt09#eUe<1l#|Z&DRRwa;SaW*1LK^(?K549xt6~xS)=ur$Sl#TeScnwbCmbu zb=upi91e>|HS9>7MBm}}L;6z9e5jeI96KhKFkjm|_-(4h`7Pfn-X?!fL@o2y!s6*H zmnrw1XaU|VJcBiD@1WzbcKPw31tFU3b%fT7xij{SxCz&cmI^^0StnO#Lrhlj%? zcIA4?D{juv*0Z*M?tZPOh@;5y9(p=%zBtagnQtg_m%o2Y>o9K2>0ar)$IYV!R_Fc2 zi0?l6mfsDnRS1uo-{Qf3>|mHVzJxixl{p^8e(Ye5N0{SVy*b{&95>AIt==5(SQ{?I z7c*`vbG(l^zMeTAW{$Tq$2-b8s^pUvkGguwfz30{JFq!C`M~B6nebye??lhv4;>zX zmfif}rI}3^o33Y=>nM5|QyPD@0X~yzk9V&OR(4MNg}dLyC{LmK9vSPrW5js*aUZ^% z&{!&GwdVX$=<)a5Z>B!A{SMpqc=QI&^mBXHP=R zkIyGYV#|E!UHof3<*JEil+Weg?O3{JIf#Fp3df4i%*S)X|0SLS;N-u;^CfwB-ib7|It)a@!L-a@V9`W(an#^yr!{>#MXE&$38=os&AI!tG zZ1Bz0srH|=?Mp|SXmNcO?Mto<;kz_*Q69dvPTc3=TRI1^V_W|GkmaM9eO_IzZaXpa zK5yJqF3s3g`}IV|JCe&2^TtQ;Nj{5jNguNE4gR(JkL6Y`(RgW02U;noxY{6IWTuojqxnwp5j;C?pLI-ef;`LO4;bWESB`RC zCoihLH$2A=KNv&r#~2@e7<~=BK=}JLv?|^T?`R6Zcg5pXmtZ|cJ@k8~c&_-Z@%U(8 z(YzhP$r!#BFD|$I+WqF=M}DJyHSp)JqRRpIPILPx=W52h86K^1%-3nO=Zk$S8EpFF zQTUImBPc&pIOE!_uFn1lZ7_dk2IBJHqkF&~(F=Bo=Y_#pAOEAKz&*Rv*YWafOZ9u> zX|h{QChPj*ERUY<(;{%02)?aAWLAp48~P3&+&HHV<<5DO)86X{JUY$#XcicBR_oqi z=-3hPsB<*E@u1!cXAE>|V^7 z>x-%Tm;CqjUVrXuPIxv=hWyn1f5a9}l9NUA>nQr;5yscI(M&GrD6e*ou{?~vr?Klp zAHEyflWZ1$v2w}UF|O{Q`dxp*kc^uFow#i>hv5~9wY67r8`) zmfbbWIY3!MJl0SjTw7)a-->T8#Yho@?dJK(mtX8{&(lwZ z3*q=n;5hy!9G5fJthIyV_tB56hvOsAm~bpy*J+-3beJzcM&egILb>A9p4)x^+7D$u zL%TWj`zPTMT_G~V%1^{xY}_rLtx9G9-;&q5E~DIK(RfApC2q!i_|qBGXU zYgq$Kpi6@94d(F@XC*k)*(8Iske7GXuiNSz^lPXu58wAg@F{p-;F>>|Ev*dVki1DY zA47;dX)fK^D|BP8Bj|>BqhWNjg+7TsnxPw4rfXf8ec#B|yFA)~e-6@4d<5-ux;S|= z?SyALGxKRjIVJP>gy=_fBl;2Dh<<*@HJ^SI!|&=@F8z3X|M>28p+UZ{G3|qX#BZz& zAP-I#InI3<@Cr7HbaWH8GT@*=2JATC%7AkCnZ`^!LjJqk_)aoF^Ta+wF0}DXG9ZFZ zZ=WF-SZ(Zz49SHJ2DxxE&omd=M=?S!xO3j}A@KSs${F~pc!gptd|b~4*OC!hvp5Wo z@ny)R;vwat&ZY9q zb*{V|CUY7_emh*|Y%q}u=SM$vWsdyj!+Ghc=lWfYNyPOR95ks)=R16F>3qaI9?oxv zc){h&`7}BHT=<80!JWYG`Z0$1>RZkG<-qV(^Zu*6%b)i(bN&bOeovY6S^D)qnfKba zGBodp^wJj?*Okz|`sB-R&HX-T-lhN2%m8^-pL}qL{%6w{tqDZ(=>IPdpPK%E#&;v> ze;?0A(*KWnHj@4ywQ~R-E!YwfQ|U;l#*1eIKXJl>`4wy|Uv@vlbLkMhjC&LEX65y>oUW>%(-z$5#$7#G>^%Jw z(}k>Q6z)~mxqOrKaB-BngkRP7ZLhAuZ|9G5e#N(vH@rvRkzR+tQRmxp9Y0%n`X3yO z*^=KtH0Q2Md3)A~+sYM<-VvevzsNQuwxDbjb||`w!9LoG46;{G26dsktbvbK!C&j@ zqs}$0b&hg-l$|M=R6eN7ygVyUmnnJ=XG>ICdGr@gpHBPo=-S!N-Sk0ls}F+vPkhT< zc(Xj3a*5+m*7&-NZcEyO_>#Xp=3JV!3DqBhpon%`he8=N+?ZfuUu zb|!Lv>#ysaNnD%gbF<<*xHri;&XxLK?)^V7$9XUR<%_lN&#QA5@c*TGZVrW3Q?aa> zal{7jzQ5Rs>-#qv-2d5&ow@wa&5rk9#`sH~)c_;#_WYJ{(43a6Wk1TeE_A|Y& zk|CFIcR;YGpfmEtEE#Wo;k#A8>ht}ps(&;2D;29e&>GyK`T8H|8G5dBg;K~^-5&&I zwHYO*ej_>raYF~Y@Odg9P7+;M>k|f@If)LeK8{1?;Paf>SCqh(Ez8^ouWXiH4Nq*Q zjBGIIggI-vYw%qKr*ZAzTFaGnwcs4n9laXa5J9dD3>=SMd7cxPYmgOYL-gP%hd65Y zerLH8nD5;$g%?yn3ufor|;2d6lJ zr1$*z8BSn{cb}W!1eSVb@ZDEO0(F5Ky#L2*oWPB&UEB4(p?p?xY|`7vSEjM~AY-F( zk?c-RU%)oS-dF6mEx+?z=fjkD?Vq9b-Bq40FPVjWlRm#wGSIwuu5*Rz=RSXJ_Xuz< zVo&Hk>;mWp+dtJzLCl55i|SuAaD7;wqYi2kjec)3?N! z>zgS11yxV9BhjmPo&SKAmJo-TfR`B)W+?&qp-<_*`L>Sc7xr$CH@{+%7p}b%%sfL* z$0FM3D%rYObmq^Md^k1bSy;c> za`3La1P8PHqUj)U6%(DsONg7mFR8tU`7&u2ajkxzfYa`WOTG4Ut&BgP#-FQou+$%nvzUH-l>Qp_!8HSa>I!1M#*{hRdHzA3;}fXuppM|j z*%w8)U`0+hH5A9|>c`Lr&WU(8b$|ZTleaWb zzt)6g3mz)}YSqtZ>u1S8Q3Gx5iv)_^O?Z!hi~DJ_@qVtpt|=dBzK$6wK-Qv1 z{tDWVAFz+O8~Fe?!k<*%qr0#n*J;(bH?Vf{*d z(|e2S^tsO0crHAEyOKy*+co+8E)J~jzL23@dsg4YzS5rmDg0XDZ&CUYgpN<+T#9#7 zkMdx)(m&}g;uYeNTuXu<%%hLF(8q>K=Q;ezZ}?;f4tJf?TlY2R_(?!TK;kPoL(&m1S=HnOFa5 z&`8$C_ku&oOwRa=Qr}2=(f7(_s_M-yEMMC-8iftFKF_;Jk%o3BK+-$Dcb zfZo7;=rix`zlXIa(=x;P0sry2#d54kzJM+90%MzmPb9g1b00CJ@GA9tJNLup!!Ud7 zF}u#5WNcdth!^(w;4I*q!x$Oi8UNfa#z?Z}3*YwE84JwrI5vVg(b_u>J}Q12_r^fq zL=U2GoSf?{j;0#V04MOMo)mD*WZr(5y0nI=?chcfv~Brbe%m!Qsm8x+orQ0kX&v-MamMpX@T%|M&o}S#@qq1^ z)7}y6$oF~Uk$z!d<^*t1x9OeMR(*}JSwf$!d}8iZpR9Q9yfLN;9jK%|?$VHj`-|}F zAHUPt2h4qZQ^UNgnTkEkn7>qEcHK|?)DcTgFtueolO6ni>eX7I$)%~J2QOC7bBp>FoPmu-AuVAn(7qnLi=zC#?)Wu|r#b+V7XX9BuI6?``pVmxLL zTgCg&7r~c<6PLY@ae84PeBc9BTizvK$_(XHuiJusNd9&+E>&dUVVXOkOprSEGk@6M zWzV~Y_sCv!TGtb!i<}A2o@8d^ukz&*$439sFAdbP22rsxRC>kA57li^9Dw9Nh@aZ{ zBXXb`Iq)UMdp+=}t!F2mId$Hcsx3!4M_~trGJpRe{Ic`iJD#2RfvMu#aqKI7`wTKx z`bX%sf!#gSE1WI%a2A1f6AgJd(^!DBT5$GH;OuV7?*P6kzUiVrqR}!_#=gReOc(nK zuYpb%b9Ra=6Uv~~s?2w$yL4)4)KoqP%{4VqUrk~}I|nay=6iJdV3xeHw1w~H;59Av z_?D}{CHY+G|9<*q#~<3|3<~5=Rc7(L5p~^I@2sMYY1BuoV@0yWIA;R4@}!dIa+d#H zV*ZHlj@LU~f{pK_4_t>Y?;32+{eDcq*+qM!_+I{OXr=KwXeY^-?q6H8rH^`MKs)jS zNH$EVjKA7E)}C+rTnOA?cOPu|+gvC5^jwFzb9^#+-Ob$r$Lb*Lzdbycd=U85CqiS= z3I7aUHBWNouAI;}(Ua&4Ukf=kH>4VmQnu17`)^*^Qea{(^q_rro3%5xJjL@gJT(As z4Du|&Gw}z}+ulNa0XzfW*k@+hd)Xg#KhI1&)uVIal^5yfe6RVbI@9QFi$Z4EU(ppc zzCp^V-ak-RvTC&R&}1`H>nYlMrLvNL&{V9NJq+ex8~ePfmfgUfs&t|Ds^hnMb#xu~ zCCN8N*NGbhI=TnVo z@FBQLZJ*=)9Gn?rbdQF8d`!DAEZs=TeBz<%oeGm;Y50`%zdewX? zqi$2n{g(rq zv~Q$E-?mQLvIKq-NCh3}-$`OWwGoddxikqlqz~Lfx#YSDTf$yB@`(;BS3=^if>A!_|)7Do<)uo7y&hD?CBfgwgTcHVC0`f6?K4oi=$njgM@*ri9+mBz z7j&}0VCO{Uz%%XDa~82Dc^k4YtvUS5(RIy~LDn^Hr_Ou9c>?=69;aTD{Eh0=nHYvL zTiNsSI5ay?Iy7*p9o3)w{b=V|=(?{Z=p_F-+CEd?4<*Y}>7KTy{OZ)t8Mmlpdrn?Dq&YtZ!?p3`^Xpt*2#UBKMl(|3jG zFK7JK{x;zLQ0uHMQBzKiXV?GUC-~_1ULUTQ3)heMKhS#mjySw&o29S7vO@F=;iC28 z(RInoN7o(N?w+@%dS|K51;qVhJK+O)Om$kE(0-P=1&-YRw3obQv~!Q&-t}&KTlp`3 zna?YCgAdg$-Vz@j*;2_ER)&(lsl4a1-c7uNA02FmryYn0H#gwSJESuI^4A4%ZLq#z~(0B=Z>?CQuB|1ed<8m%q-`MBWE$ zciUVHy-PB{_m$=Q&|bgQUDw%8Zbb0~oxhQ# z?SGnv|Lcu`+0A!|Cvq0gyl7_*eiuexGEWD$wC93b;PaV?-H#Etq6M9*#RTsF?>k$7 zF<~n2FjH!sldMaiQ}3+XGE?!tJr{>lja&Hb4OSdmjBlwK`gu7x{;}rKCuSw@LZ>8; zfyU^WMC90qB44$66w|~>PNL4cL*I52ZJc_sBez<$}&$wQJlF;J`i%XgLp zr`4wXSowypZhq9#*HHdT&yNdV^w0Ym%73}FcVJTm;|uK2R7LD|+D;Nf25tAe4ZhSq zIEEE=4FC2H(-j$D3~jt(X{G`=(&*IasQ7BjGuPaDiSr}ylw={`TVyAQf4+(4 z-Yy@8o1?Rfcw^Q=pIdx3?Ggueg7s08)VdV=q^WBWWBcOzu~QGEkw=I7Kzx@NX_jx>EKJD|Z^=BNp$2e9WIZlivzL6{0d&2xdS9f#Nkn70#D|=TW zjLjMFFUeCqdzNQrLaL{LXS6dcXY}M0d8Xl8_u z0epXg)%V+Q=-05dH~B=qLH`2h5j#%#ZTPcIs-v+CIgvU$y+Zn~$==rZmG-Sw*$dJu z%Hm&dY+Cv46ia93x7lR1kcJP+P_TyS;LTz+9X-y4UUg> zk?YLnf)`KU#rZM@yTH2-%=hw=pTj=lRcDu|F7VzYy%;<;MOhz9Sm^~384 z%y;?W5dU<2GbWC1&Ddz2w3)i1rh2;KTbTRa*|9@wO`0?R3f_bV*{lz`{rN#w{doYo zV|-MY(Yu)-O&Tnw_uky@|1MqvsSYv?R$NJvZMvVjOel`!jp6Ne1k-GhR07XnRyzE@$iq0$loM=s3zw}K^by$RJ{8@FutZ^Qo%yv?`Ory^VwmFrpGyVx5Jck zEuP(B#!M$hZ&&&O*5EzZ7vE4>(n38gb{|jiie~K17S==zysdRo!3xoaazvX5`Hjbf z-TyaCQX5ybhJ!1jXRwCPc^aVtb5&m`8f#hGa0N2#s(HmBOV23}Zz1rJL|%#R8>q9x zoH0E~o`eqQRkWDWSw6ZqUvD(z2iLvu>3<)-(sY+{M%e21hN+dUW}>Z&dC*2~o22Ez zCKd>pq8zw9JZ)f8{-^Mvk41AM`==j(yipzW*U5!^qyfG4L-Zpdj_5M zYD_&G3GeBL;{7)w6MeYzX;Lz5khVPErXQo)VTz~U##}bY-aEM}HUS$r_BHOm4t%fL zT!K~Dlc}ETf9l0>{fIRll7N3(~Uqy>Cm$yt> z*Smgc%bsK;etC*D2bB+iXKaM$ZU+aGV5GXA3a@-uIDXeX)R7>ER}1xof&ZMnANwZtf77db^3o-9{JMQu@9|)b zdTY_*eIwWA{~7*P7LOChZ896jE|85Ei(u0-#~xc?b=Z8KIy^2!=Y_fFM0|CwDPgZ}{|&ThXmfnQ{C?3(S4q{vX6Eq5 z3rk}UKyU14kFC6v9GbklU$H^p?)C4xd!{4@U**2~=?kAzTzeWC_i4+I=SagNEFH2h zISwB_7y5W!v_St|-ZiwQxvIEo;l>L&BMTWS*xu#A76l$34j)b*mfz>W@{|Y5Cp}n3 zK?8pKIpX=#_}B!Cg)wg}RB#1=OL8n9U#?yl%uEIj=?B77*_Z|0sf2NAE6X|~jETnK ztA+Esd*3mzX=9Kp`J-0ebY-t(Qu7;TTr_gaU9#^U<9&*9X=I4iL1dTY#n~*xC-bUp zKR=hH&fyL2_~1!1PHQ2)&C!R>_6GTUD}hJr|7ArBx~tBd-~aV>xAc~q37rOA;}5}r zvwLh7eQjdqX?TO+$pAy{`ZarYUstv82=P&0d3a`L3O{F7K905LIDf~7$hZuS;c%Pf z=T-(Sv1bp4@VkVO>BL1Tz7D*%{@pA;N}cDU`>kgW?qXAVMJf~qKk`GxHy;0<>C*ET zpg&iKos{_k@MPhMf-xC0GdN3RdUlj(Y-eNc`no-Wd7bccBd#1^*n{-nj5 zYtQWgFB+#1^c);BzrWeIV;)^K$5U6j{L~1JGLeYx)Z6e{K7kKkHZQ?K0TviVe!H zi)^|5+xTD44)@1P%r1PkJ@~bHe#9Q&#b?j&pVV4~Us}0m$7d2|QfJ%a@=KkVo#dV2 z|At@Lbubx(Lk$Aqovou*S#kovtBHlN5Q%7@RLAU<@knbbJkl1qJ zbDVn0oyB}l@}9i5{lM(x)$C^U5D6ntWVd@9iQpNw%0i3 z9wrw*_kEmg(OekrkA~w;^Vo2Iq!fR6u%J6q!F5zY_XFsj7qH$WTFYW@3Z_-?2(#gB zPMCIo3eD$;Lo>yfI4PZjrTYzYoK%e=Cb%4$#8wIuXN!+Gal>fmTlmxrv1;bV)10qV zvB&fr@u9NJ6t|67{H1}JY1;hHZy{4+;r^E30(=m5&qc}miB}YzXNeyS#PLlm!sa)@ z!ay9~j?aAdoN)iA`KB8fA0@U_K6EoMP@9a+=bWALSd2DxALjZ+ z%6tetK(S)#pY(UFg4beT{qc z#TuvJY2G2v?EguV?b*Tyd8T-`dzi1tfJWJxdf!1V+LlzriLRP#Z9Ubqo4FWgj<&ax zn;u%1Pf2CfPIQ-Y5x6mo)1JmQf?gVsL5A-}%9=ENb^T96ad4gVM{_ZG4m|527dL%& z9On1`h^tTYzRmf<<9YU}w>R{I;K#SKZl*r*z~*z}bwT)GlHA%Y)5*mj2^1w`#2&>> zQ4+sJBuNhaS@F7No?9NscegDk+LLe2=P?hCo!|dJ;r#ww z(B-eto3(9nL2MuTX6B&BqkCt0-@ux#+A?OGEdyuYzw(I?vaiz0 zk^|oN3riV;LSM#xy)lA)BmCv6Je-EdxHv`c_n$SG4s4%*wR>_r7p_xbtE0v4)jjrU z3SVu2yfK!y{Wfm>f(~E%schtHt;Te?w^t4_oL6*@^?p_Kl#2BPjB&c z1K)Pg+R;wFRUGwxZ~Rl!lsmx89M<-=HBKL8*5e;(O`o~kutpLvU5%|90?Py8^oltB zh!)4kHR#GbOr6i#2fm`H8E^Z&Pq;t;9p-0F);n#yPyD&wd6>D_vNY=8Us>K(%QMb% zh{OBpSu<#(Ewj|l+s(E=T{X`A^yhKlXrS*#_@nJ8wxjk7YwiS?HwIn6&V%f zKik3)F`|c*)!|dDBeDnVO zNV`CF{gYRhWR<=<7x~Rx`hj?Vgt5}IBh330yq&st<=6dPeDUHtr>x(LF?yGB_tH+# z({tjc{?H(d#F~f?{25=q&x1z7==!8T*DT(D72_b-l%hQ`hBN8rEFkA->tsQzE< zhXL+3`VpWXl8Yl@*8W4E_6A}1#?gRN#%(w6hvfkeQzvmXyPDr0@0QMoOe;w-#yQp- z!mG!Zn0R}md?!h4_zu~I_=!)8#QPuN>=1o(96MKIuWv;Q`udqVRpoYaojARkc+6~p>swMka{VqIzsXg2^xI5> z`$+%5?3utIoTpE?ur1-La+C95Bfs+OY$!fU<&v+s<)(18< z^&ZK?V+2}ozn|!RKZ)yVzAxme`irJx^FiaKh3MJcsY^LSlKYKT|1GmQtJTL}+ddA( z?uw5~f0DkWzA`r~33@Y`6UN>1yXBzKqv*TiK&C%xd*~mFDZ?5$8^xw@x?Rh456(FYSe|eow&ei%_{; z$b55m#5qPCDmT);@pDSpGidlWJ@%=pJ=o{tpRAbpSu4}ZGf(raXeNTaARHgXKQ^*| z*b^~x{nvW#$(XM3C*Lv4!d@J8e#N&D`jw<@=?V0)+PdsoI)F}yx)jI2NV zM#XHwuWwIfPYC}xeA<=R_us_Cm<=P5OA$CVkvK-zRE?<#^HyYM1@r86ZL$9{47rJ_eZ>#Pa&A*AM)awjcNKy+5yI>qbpkVSRYQ ziY)RwHO7Z6J_uVRf^8Hug?oeH<@<;iwC#H1zJ#lAlRvkr$CRx|k%Luhw9WKWx*vHl zuHVKPxIc6IQ=(XU`cb0s-*h7xmOcL?tSqz z=CyoZ{=O^MC$$V+oUuJ_vQ-Yg&rK@h#~B3U@KW||NG2xmMFr!gJ0iUaS(%1^*Pn+B z<-hU`YuppzNz+wEc6c;=_H^0c?!B@1s@tXcA-;o7WBrJ-;dSP=IfESMtf$>P$&~!Z z1Fqd@h?8c$`MGTg*2%P{+rhpx)3#apJna9Sh0Y&c|I^U=a$fF)Aa#oNUcQfgr$M{6 zM||CBQ-SBMWC=Pd?~<3ZmIEGIFE-t)-cL-}hI#!49Nu(|>ArbIppLcW%pzlsC77FS z^u2|$E#ORk+{wwnZ>EHAntC7@zMOcT>$jmJwv58=FT-B~-?dkGak7~I?`HmB?=(Xn zl0y;b9URtf!$+^aM6;tD!@s~yLPQOa98}6EcCeRiQ3MM z=q(TPemD;aVJEu0d>;Mc9Fds#h;Xa9#d$TeQqY;5vw1#Vl+!w&H2SikYx4eOf37O|)1W&B{Q$@I*ozTe-nX3t9+W8j@glDXU`O!o&z6Qjs` zawI$T6U}pdTI--}(->1rEPrh4rDnxGc;fnX#iccNy^mZS8ZUBsCCKU3nwPgPK~Aq$ z)@I!I!P116(<@QdUX@_IuZHstx`H)@${}$C*z4z-6#;n7Wb%dmzt(MjUDIjKW6uR~ z=k2r;H8q7<+Nq&0f8~0VG1#lVprhVPUnbL+t@wiktMZez(3h=w`N>-7%T}*19poo# zp)Xs>Po`K?)ypld0*{JiAOJggU>k)juhd+VO4El@TXiBQh#APYw^Pk-B zte*(uu~;y|l&-ZvJVEHHd03C$FS*a(^g`EHIFnWqmkY! zj~{2E>8;ne`$t2uU(&vKOPux(hbrI`<(VgWCO$DZ?so;~+;=X1cLbv5aO z(K0trmY@Gvc+7?t9kTC6mg%PqhBo9K+b36JD4g0#Su zr-K~u^ot|Ja|NLVf2>7Y_p-j2qb*B^T&>RFl}j_0mi|0F>VU6Pz(f6dtgc2q9si&n zeA9z#-~Rff=u)w*(x=?@zahEl>+61hG)9}?&FWXg>(|l$*M2e1>h~jFzmGEJ`0s7s z{J#IAehtnK<&Vgt4fXBc>D$m)4cBx2&&fPLl&9y+d@CQ1?_Yq2@wihmmyPm-p)%*=Be|o0{u?V6VT$iPxtrG|&GM z`Su3+hTk92=*WJI;DMI@MwC&z^Sr)T*cPLA1Pd%)avrVTdkUT3gvU=0d-nIpzE1XR z1HZ3&Z|xJ0HvINd%n9|AeZr^gr}X8)etLfT0OJ-7R?gDgo(!K1ok^|``q0cTNqx=Y zYxsf6fNcsgGt3#qlJ#oGFQ;}-g^Q6g<5XqB+uGhl8@Y0?e_S=^C+E>d^Tn@)o)*qLV z^fHnLPu2g9^qc!XvYw;w_+n#dL_bEB8QGS`r`o53JfBGodU4;Pc6>7U;Y`i-=)z4& zPv(Cf`ml6`%$Mw4EII&38sBx|7b9qW3GeS2L7OAX2(E|!L764y_BYj&dd>C2%;)NV zuk$s0_=QWs-vIoPzq!7uXO9i+Voz}_A9jt+NB)0?J^d#ao{w`CJU;x=*~D)?;9c>% zzG*&cEzA%bSIzo_&MU??*$~aW)2Y2WxB67{a}@lJ>kC7sDj%3+cnZ5C z#dwzoY-}}g5%P_xo~^W< z(|>$c52@ZMT|GJ0E&ubI*!r{H*PFukuyRyMNoz@bc@n=)YYl!;V3dEtn6|1EzK?u; zBwuc0mzMk-eCaCPBpJKBSACVuBA>;`d?bUo#4c2RE#VUV#KmRaTvi{KEEvv*gol(z zBlEec%)C4r5gvr=0KeJbqMSYmmKTT%ttS^#AAPfU057XOyd=lY^ZGxjq%}eABkZfz zcKjIsRsV^d@O_Kwx7NcVV-8i#A%-K+Q9iNR8^iZ`WB3*DEZF1p&+>V$r-EIvB)|1= zslEHcpZrRO{$xW|FBo=}zRP$WG^w-g9{k&&P5a-}IP3lU>|_VN*4yFzCgXk80(Aj;TVJgeV~>1q8USdrQt;9Db3F*cM6A6j$}tk=?~Ql%7ooXR_C*nziCo&t=~rCxdt@;}KYEb_jpl zDc2A-{lTWdj%~Cz=sUOTSMHvl$zxcX#z!!@*mP@sK>cDJce&!`QuzCGA3%>BW%?xp zTe<#$t8n%oTz9cfDtlOQGB)Stf_VQo_@6(vvRPilk7jts9wIldN@}9>W8s4HBjwZ8 znF#8iKgRMe`S&gz4Uc^T2fG5`Of=KReU$qd;L-M-|L*}$!i}MC)r^VV*TtBm#}a!D zeH7zkP+8fq5pXS@qVaA6U(~(R+&9rty_3;R*>jE0S+KkNR)4X>+p{sk{|!xTP+6_x z>N`8;tmkTNFhZMZTXClO_Ni=qlh+q$eW)+ccOUwZ-~~6XotU@oI5w}3_(Wn-}Yfj)}gy;Yx1@NO^tkzagdf8KIz*ejs+fYlwFf)Qg= zm^U_*eao?#a@Jdp&Eo&**wFU>)!3B(*JJbTygt5ZY`nIbsUyFS!^Q?5^jnS1)c?-d z(1trUKUUt#9-kkU!UI=kMtgb9-8d=5>(&>rw#EF@9E~wAfo1oJD*DJXeQ&N{pEu95 z@E+0QHs*-tN%X`ejyb=|3FqToHh-S%JQ1qM=zG;A-t6<SkHhbqHFbt$4S4E&oWV5-uVo;xAPg^b(lGB-)T-C zt#W=(U5B9AbYZ+3eGK_hZeudj;OlYrs)_%tgqQuw()EyTD7{c^xjr%0W8eobsZHu( z58tu^;K#SYJRP}D=76_Pro2<_JppX$bA5{ZfxEV{}az+40;5U)?3SgC1v3#UG^yRKVOIQeM;Gq(oXG-#&5ofwXv9ZQob+n zf2)7W+jz?U9XQLm^%VV^0uTG&>|ZhU4fW5%89I&uM<3!$1IZ%YAHJVhRB)#_$HVV% z_qiub;q=4rV7&%s*Re#mA~Vu8kidw@EUrbD}FUpCm_* zKUdPkGk2754l6Xbb$Y=?X|CKKGzWmns+6Y%BE{?OlV(YAZn{x(rO4e&mX+1Ze-)kLD_#E)^y;|Jfc>xaXEXNIB_m@z4p*ORBIsmYylb7=5rw@6a1A z+D2YM>0ej!PWpcw-m3f~>KlHPo<7=)?i}Mh`*YQ&HEdI>wSIkb$g8ixtK$Ox3oiK_ z(&&dzaFu>LPkQd{=$gdW25&dS9igl8tc~lByt2~u)OR;_F@N95kZmqprNbv4lrE`t z5(``98P0jMtG!{Imp-d+UckoF9%4U$o-yv?0d-0A`~bRgj`zr+DnT@*al@RN*{?Vy~Uhv|#vRSr0wAg_i2 z2H|0_{2X%F(S90!qV??j^53F-8W}a52HpKOej64Zuk9$;X8Pf;>!?mwZy$`LyuyWOsg1onX?!6*{rmQw>eJi_(@qE9cR&M6YJu-1h`DUYKcIU{Q@zfOUn(~XS#aoMK|9|XC>vp)eHnX;ST}usA3RiL4o`O9cioog?WK&?$+Hv8uA3N} z3TTOa_RBtn?(qz~GD|$wGw@0Ba5X){x~1l&>NrBK40r8qLS`Lx`E5aS?fnlEBu& zd!1RN_lH}Mk(7}f(|)U98XnxjIC;T@ zE713T+Erd7tqrK0aPIdr3hw9gO`0=^hxHR#+ebWNlH75MPdpX8#3nYi@cymfJ+#$> z_tk+~wJ(2#+6dgr=@j5nb2b>!Ty*D>VzLjLd-!Px%eHa4SQbffv-j2ZXsv{Z}bha~?S`@yVODYkTLBe}^2NcJFWl^ClMxXO5Dy z?Fca(ZNPVwoNY(ytzTp2JnZfSJZk&v1G95?!Xxo1O9vq5TXzfi6@CP_#W!$=r(s|G zRp2Qmg3EIlPlKa`I}I?l7?R#zUD zec00AKhKVKb#uwM=h0hj-}$DG^3so0kEE2p1$CqJamvk=9OW+_&zSV z!Jj!T-rXDw6m2D+%u@O+n9Jc8N#cJ@Ww7%!@UoZuKezMlH1MSR#oRMCj%YE(JPf|K zwsT%FxMDy0!$H%XVC}^49ebRLqQ+by{fZjghq{me^S9{<%5&Ma5_!v24T9+?A4U~LJO7m=T! zd)vCnTdE5pF|{HOeSr;MoA#`FeaOWJtW8?zmHc|UU_BHnQc`REFn?@N<=v?rmj9-hKDn<@J?8)Hf=4Ol;uO9S~d zrS^vC-)+;-ru3!ZZI;It)8<9eiD~n2#e1f1CDw$TSlZjz6OBBwc|G~jTTHYtTD-NY znY}e_OKbLwq`#4E=lAunYZHxVcYG{CyQQ=n{|9}|g(ArRf85{vHXr#f+I$%vVrcUS zeXXI79rQIpKik-6&%C97limIe!|hOB5zEJ{y%>zSeg+r6_tB>8#gxVr-Tnx=rOu*I zKmU)~)Sl5ZFPl1pHuuq{%Cyuxyt#()oo6N&PF@<>qp{F;szcvC#&^Qc;nK^d?qysa z=DU?O2R1h|CQ&n^aAnEXsu`RKvodc?T>J46>(B7_-udx;4fq_TYgu}P=LmkSjV~al zMhgC6uDrl83!3MkBNj()k8~PSZQ})&dwmnk;s=5;2&@(GQO%)E!HO#c?^X}qzM{*f z*3!?t=td9YBW$nPzd6c0U9z-!Pdl-6i|s%y-`ej%egSRf6BQpuc^ZXY_p=G`NR$ zgk$lh8m^K#7S`lBj%*RZ${9Y^=RFp9CBMEy86RG~^I?`u9zI6{G1*7H-$U`IE-i;* zFXNN2yj-|~XF^|{N%m#Qev+J&Ogmk25*t|gvK5mWSiOp|8lRCp)WV!bHjc1Kd>%Dq zXJ{UY7yjPM4J-NnC+?fkIb^2RGrFS&k`zX8AS?d<@fv)HbUQB@$M6zOs-rx#`($T z-F=exV~gNVDpBke`<_K_u>k&C<-;EZU0}EWAc=jD8fCPy@#7_$}W6mVCFqs1K9I?-}Bf1kG6M@kGi_^|IcS;fCz{oH!vuf38*k) zRS1_@x0wu9t=O#%(OTFCWC>iYpVetxRuJh)Zm{Ou)9* z+7^Lgx9hHxNV{#ZT@WqATfWcN`FuXfBw)Au`|a+YSQ;LrA794HUS+@A{blm{ql{W7YUg@{mDWtI_$a?Z|1+?bzQSTfS z?jw&A-B*Y}+p|FQhl8knxdM)@i;ZpPAzR4BJ=G z?r=L&9$Um>=2@8jM361_gu)99a?hHg@EB8e*%*V|Ip3EL7Bg>_Ons(u$yie&TM+k8 za29hUur+7ZW^(LQ_et7QJX=DtT3KW*IOzL|k$f9&?f?&?sDA|I`^^Z8zcoG%ipXDd z`zLpPh4(6_qS?WZdsUU)7#>&N-!i>0-nA&7eGDvO4=$ep>Nl(TnUUUj#on z#XO?})YD(iZCOxHpJx@7j;RNxC7d=kt8C$z4)C#T<>ZCcH!btzBH|)8j58&%=$^`Y z_~(Y|J;a53dzzKE=B8N#YfTU*P-ssS9ToDzr+`gk*n~V=N}qva?MlV<4&#AEJ`dbY z+^`aTcXRJ+Q0y_NGFuE6SyLT6Jle4KrZ|$Sf zCF!e}ckrgzjJW#}cC1u|=~BAV^euK@+&!rD%3EgU#Bmoo6hV7xp% zXPE5Ix-^L~Q-4z6t6O~i#+mN@z^r}O20QMT8F$Ttr#BIM?#&JSR>b5>FJ>LeGcVG} zD}}rwpl8+j6Thz9JN=zn>&V@`fZ%_P-2aDFJmSb9FqY*n#-cUl%=^+d#8#)mJw|!t;&=(H$$6m(2p(1fm?Wb zywHo+S3iP%d$uou++y_-&rg!U-s<_WhT{3Cc#81M`2OYn8l+j#sraJgDalvj*OIZ+ zx4)%t(sK;Fxv($KV_(bp^DOA!`J{b}Sh+lW*znB7IWv|sR#eY^_#`$~cz;=TCI2OR z^^#BT!b1Yv5^%`xI(s+ez)y{IpvX@WcO<~uGVaTgeQnuw58SYfb#+;?TE5d4QloPZ z>)xhGkH`j4;O8yyb-zLV*j5`fcNH5W8`}J{c$uV-`1 zs=e<%BiUsT9-rrAH5arF>8xM*wqj3AbFZcDpW=g&pH4jZGGr0u=`2}O8Dky%q5mzx z*mZ`^nyGzby3;1``)O_bCUI)?sYYl2bf7P)o?y+4y*|zT?T_sm(G{fWd#rJ~+pBce z?Yw*pg=OYVcmK`*W~e`)i$D(Hj8pue$XM{Z$v^dCo;*G~*k|=sbNpIpK1yEj**Tm2 z;PRUn(ppfb_3v5Trz|^>^R-0Rz*W=De6~6fI58WhyG!vw$mdlKt+UqXT!k9hv@U{% z6{9LTmENA_jA7~71N<5q)19pvi|LHFd>XO|h+hZm?%u-ue!S#lKd;Rf*dc8`-`2-> z(W~kcZ;pv)BOi1?Uy8L2VjwfDXY#)UcF}2tX_j-bEZn0fs;4gO=0nFX(Sh0bRlKBmH*#&r&Oe1|rJ z_J08^;&Ey8hc7cO^EgLJhpm%@TdHct*IzJN*j!^erFvTfjFwtup~ksj!(78t3hU&hIhq_J8DF zTCIi1ZXxvMqYq(g;7)=(_2*~F7D8-`8R2RVul>KS$kpCm`#(xL_axc>i4pPxWVL@+ z^)C8`{L9v=nFPOOH{W*YytFsE*9>e$VFm$Xs_Lyg;@g@q$If#Rl<@;sa59?2A@S zzBOiLA;pk{zwhU zZyDLnxj*3>eAn3|cQJn#mY6R1(?-3o;{6T$*i#+{pEca;1Mflpl|6TzdE^53QOark z^JviH>3{!S(Fb-=_`3W*)uzav9~N6Rsw7loY?{N7tZIrT> z*>MThUFKH;`Ez(38q1ntb#yqHxplyn7u~_5h&$St*4kH4SI}<*3~z!v)$Q52J^WQs zr+9AE$6u&uw8fvfWmHMEkH4tJUzv9J2DCD7vJ7n#*egkd`V@n6Q_H*Cf4)V9tZ16fJf1ba4xxCBcGO`bl7ts*O)oMVhcgVBlU1}ii0 zlx{B?SKV4)%p*zWtM(&9)8F&{3+Dk%2lL?)@Q8ePRI>Eox1s$P-bGvTpS_R#>W_GY znMW)qJk~$2#qx|L$ghI=h~iP~dheYx*Ho~FLVh!I?jZdHa<(}qh*v(jef$u_w}j&3 zXg^9^X~3gYZsn~u(@o1Pj7zXd1~3a2 zD+5nI8NNJevO{I!oQ29Wbw2l+Tf7hIJ)#$l)1h}goy!?J2m@nr5)VyWFl@a+UJUBk zAJl=29`u7cEdTcC!rS*2=(O; zyUH*h*}v05+-aZI8jV|(N0%+fpi9;Vmh$vI;l2YMTYZQv9p#Rqjwo`c%H9u8SsAL| zD*mOsz1YQs$6Y1VtMkdAlVD!5PhsD$_zn%>r!0+ox@biKoH446E=n!ecWeGoq2!}JGY|CaxC{Z{(9&JYuG zd8Y3c+Wi6bFdj#g$IQFH-8(!V`}gi8A2Nd0H80;o7rQ?sUxvG#2I?c<-;q!L%K=;^ zM!DZ3A9KXw>VjkajVlUpwb93wS4X*pX#sVl7@uBz_#S@Bvz4S-{7_F1=^BR*KwCR$ z>)2)KhNrwXJzQ+N*xjr?{8#_%Uy(=UzQy<3?3|pCeVT9OZ`bcP>H7U;$cq}QC_2nB z>?^XRcx_I|evq=c*S$MkS2Gr~;9-wY&!Qs6725hc(F<`&4{(NS6aO{#vSGmMY|QU> zNgwLh^kcW}8BtEQZ;I*L8$zDN#(6vAB>Qje>ZvX^#eK0mSDw(?tGzX!0bcdNVC&T0 znU_n$BtCPf$l5zBG__XuNwJX$jJVOQpw(O5Bf< zrn#7)ubn07O8Iq5iJR6rL5lJ0Q9tp$+j(&54EKZN&%ND08@g^N51X!+gdgOZpK?xA zq5VN}0{Vruk4Q$5Z&x@(?qO>J@!`1&cLDxy#(l?X_GBz(&yRe%qWy^FW8CorPd^fl z;Ct}+r0^WfjR8LH@%8gEOMErq>a>c@uZjq&24!GhB0h(<;WjIQoPa$FmDt!LG}(t&BE}ZQxULboEun z@*K%M?Z`dEZP!la4ifG*x!F)xBr^D(=4{ePQKEM9Z@s&qBBpG?=6R;&bkfaOe8MJt z*nwXO&T8nUsth_rhm#yB-WBCO%M377!-qt}#f)9YV_v^j($56{q#$zLhz-NLulQ0Va2smoiVCS=c|+#>49V3!bo%dGa~vkYf_caAe|<_k_O zY3{DIPVM8^7$u_-z~6YRT(nt{?cBoI+sFhb(P{H#TMN&|%H2F`p5#pJso#!lf0XAe z})U}?V``U#I)NzW#HlA z>=hhHlfW+iy{}e-C@j{O1P7jd|#9KyDLW`opFcpGfWe=4Hri z<M1r&cZ({`laqf%dTWC@+6F#bspo-cx}l2a_kpvJxBT!Ok1uI0E1m4E z<;0O-Zy4l1Ymw^$-lg=lk znp-Y*Kfb}v`Pl(4yp8t?cp+mIe}S>m9RRdRe%XJumvBNh46M)&e1bSH@(Rfd2 z!C+n&%GUL7*UdG^^^(=KUI%OHNa&8XWFx4lN+epIfc{dzA$k>0ewQ&(pYoLZ6YYz} z#5+Vg`44%vhSXJ_A7{93FW%8e|CwJk-Z&51!=L0lru>|tdTF7~pt9D_Y-J&2`PNa> z(JM9zPl`R|S<^#os&JwCX?eW95r=Bj7uFg2#9Z`f?rxuEWIxbcPb1R}%&US}%D;zh zq8no6X0$deW(Hc{tHdtqJ(Mr z9ed(>mUwl2m~R>6m)=ikeV2Yzo;}O&b5!XUCi)h^ui&lJCwpC4_D1MT_}kQRDp~1= z*53D`=JZ#`*>!a@b2(2vFXN}biaGk&%`2JL@)t=LD`O8C`;D+ANwzMX=DO)W$w*Kq)-1WorRC9Et^_;@e$+doboci7x;P2JN?$ixcTPjJm%0o*||zXLoMCejW2coxbG z19Z6^9?gE#Gew8;J6?#7oB0vYR1ffqUj#Bhex9e3q-s4~Rk&4LBJf(dOwYpnYSZEb znKqac%b!oMFRCniI{h}ZDIclEoB7an9GWM8O_V;#evk|JAhNSV{=~5Snm_V;Gk@$E z40-e%@uGAfOCz5jTTi*Skfnom(A~M?cw-*fN`6*kvZKTI<%>2_$WM}OB!5*rd%1YZ zk#>8(;`_4f*%tP-*Cu^5x zW6z9pdp>9HBaA1`KQVVXZEvcc*btvYj)IT`ZsQP z?w+m?wzQY%o9;^A@cGar@s=*WiPuJ3N8+nvzC%x%J0^36^|Pgy@x;gWCj07M4plb4 z3ZEx#uwg3eh57(*9{&TsAA2;PNaGyb@i{;3Inva>AM@-%metv>`6(fH1%4UbE3W*l z{y3O3Ps|m}Wt@!+FYOa<8^dLr)PLoB{w}jYd)tuFcf1cct1g8?E z-Gc8ciLN~J^R&f$)cYIAK}l>4-d?Z?+4K1Zj%zwOGryPbN>5%ok~Sw~rw)9ZJaYoL z_wM&9&AuO6d-3ygH{A@5?)>`M?jh*n687jMUcAV~&)F9le`3yN=stlRXG18>dACF3 zdHN)$FZ&?8_2+gi4Ix+bu-7q7T;S*EgV%TH_Yh+T-qiQc(f258k#Ii0g8S5gRpXpI za-nOAirx1!9@59wK zsXsnx_7YmUf4tb;LR~rbHAkU=^mV3d0JiVx9v~04>nN8hGM&hy>tY8ka?`tw`x(j& zKL;c_4k6{n@W#^!?o;y9Bm;M{( zFmaG+>hbffv*Sv>r%uXOW%Ko-V=Ax4_nY24tnuoZ?A60QQ}%4Sc+I@E72^EUYW89rSljki zt{TZ)jezgc>~Yqi?%Q>T*;#SX^@oAC2EFJbf}f|}U!Rt4Sio~R_R|mXlzbo9(zVt@ zm)m4d*PYcn=9>*4DFQ#>PO|uIT7SdX-wJ$U+asPG(g3Ho*8TI4^}x#f;K0^<{diY? zR@oolBEp}v*@{iFd*A81#w_;Gc=yBjO!B;oC$7aFW!GOT&wJ-m4eErY*=gAEJwJhG z_w8ARY*fWQ7}5nd@)$J6S>5muQ@j~Jl4qv{UTd4uI%?Ns+E)J!FdhIl@tjlH;RE=C zedM-(tff_^+@AF!+jbxy48pzViAzqyW`LevnC9W@`?mc+&e9rMh^y}aOGfyY&C~Za zSC8`eKRn;+7w2vEZFcZi^+os*Jt*EWfu1RyPx9t2&P$ld|h&u%1ckuI7@a@y#Igle;U6r*l*xP#3*xyj~TIG$yuiK=IKAEByN9v zD7L$Dk&}2WN!sNm%-+B1(LY3<;JswNxuvdd{Mfx|)Bb*OK|`b>TQ2(-2_ zk1hdSuJil>)zMHEnYT8XaI*M^YU@)@Hk8OT)Uii9#@MU?4$oc`&dvw6%xC9wueyLSvSqQ&i7w&Bzf!*c-_HG|`;X-&A$O9g19`L|Ai+m@$MOpTB)(+87As-X`(X+gM zB+mBwk??JQi7Kxjxm$vD#f!0c7yClm*PjAUL~@LR&>!T z!Hsi~WOBt9lx6?;e^{@ywifVt;RpMGfA7m+z2aZ5IA%^8a!hPSt=o%!Z^!4Xa`y?@ zaYc`xDR;lZf8g2|%ZX5q)N7+powrjTNr^dph^+KX`5m>E7ePu`xbGH z3-9;NU4k~?PXleJ3~juFt@6FvSd5QjApcIUA4kcrc~{tvuNCy88h^-;GPH5%q&B{{ z)sEejv=2{|9QOb;yX>C1*4Dd{vDW+$Kl}w{bKm0LALgyfD9zk8-mS*}_cI?B(N_ML zaf^W?_pPw*;^QaVq`O`Xar`Ep9OKu!yu|$`^=@B$wu_z!pR34j0al$)5nH#RvT3yJBTjq= z<*P0VwItv-QRvCS^ve?WQOah>ABuW0z}x@9+e3*Tf!MHg!)pe9M8AH;vx&3}eaq8M z9kJ^9@a7wSYH9m>Tcv{tkB<2;XO4LLp%oWYj}3eU-(u9|nA5v5%y|QDm|rCWd`>b) z!QPR@^c#DcVsF-2`34-6UULO~E6e^f&H###9VxzRu)daI?>w9npR;Kfo2W1 zG6!2(9veyBjKpgl$o@I(1#JzZy38-nbI%sM4Oetcc*L_yYAl^KBW+v^xaw?A7R;x# z$Ipu?(?%K9V{V$}j^$lzpJ+Rnmx0em>y-Q-s#kp~jX)#xLp0Hd&)kWe-nF59k}Ep9 zj(2EFI@^u|pM}o>e(7oNS3`g6R?uN|Y_pxqymo*}+c@R<89C(gm6BdsU9NSCa`J|lP;d%m#i zso(Ouo??8qNgvV}IkY34NIdX3@y~)uFc8DCF%!Ume5*D~*Imvym1pCeb+BrtJx?Z^ zYB1ApgZGr)l~`}}diLx8GvDRol)hxbrE9nIo*3)F^C0yGe9_ZCys;Kuq<;jk3O4D+ zYS*JHZY|;Ju*$-X3_C@(H(k zR#q_n(<#*KDk8SHK#Q0o!lLVZK(NbXfIS|rk6&IOKcMNVnxt@MraQNvPo$+Yhm~1 zvEI8aJSX2%CEuF|PvM@VkYt#w_7{0JG$(!yF(?DJJkmd9V^Ubh{r}KwfxhVN5n7}> zy5WKPCLTYKXP7Ke$T!qS#Ve&KBiTf8m{IuSapq61fw+5t$t(T?f#mwYw)$qL^md$vm2Xsy<*2gWeeCR*79M_ zR>>r5*6t?%maA$wg9v}ZOzdH6%=8}e=vyyodnoq|b^N1fnmsKWLT1b}*l~kAVRY*x z@yV{fv%lp5zUM=wwv7w8_c4>4wYK{P_P&v4%T=>%J8C0ETgO9YLI3;Mck`$I#*Sok z?VjrrT~o>T_*K!Jsl{geG7em=zRyhGKGJl38-7*Bx953^?>HBI*!nQFZaEj7ZsS~q z?}2Z`Y6SePith>5Z_!g(=4`ig2lgy$Yf$`DnZ2jM^7sNfO;aebH5$<#HPhGnd9#(X z5&AyMS#Y8&;tsRT{O@GHnsh!-HX7V3uJP0wWjuLupDiQ3dBBF{ts#mZT+JDFjLQ*h z^YPih#u=RJ=Kvr6;KNbuj=9B&uKh{bIwv;63mOm7rg*pfa-K{%AzKTb<71tzc!3~( z(W5CRtMy#{j)5=1REKX}zE5BijSk5CS|8*)3StpucjyDYXDSnK=72-%Z996T*4&T1 zJ8JH=zzxjANjojiLX&x7wRS-R;tNsaLWBRfN_UzNYny_GbXHP`Hl;&62JR$x8SX4h zL0c1fUoq44>Hl(kF2P#-0&Of7tx-n$LmBmJKJBNUrZm0J_3O!TAGqqhpLcw8*rrUU z(PDp&0 z2Yu@F@Wt6E;7dARif<1C1NRax*v0zrWA1kDh2I^zDz!6-kMatwZ)Q|;m~^9iQWZzW zT;B|z&hbnbGltlV3Ccf}m|e-u_CK^>ZL4;CCe2h__&i{H1bVmU+m27~n;5QG;LwLx zpqHvDVpBB-@#$42=BzbWuH5;tQHieO)nRzJc_tMBl;CgfVAAM{T`|GYeU}rh$$U>{HVBvEb8# z^K6UbM+EC=f3Gk;)hFm{`$E>c`Losv54(7Og*>+XPtbnw|6|6|kxgIZ-8&)Js?w$f z{gOVw4I)1`qD6scHWhT7{LjG>o*(wH*Qni@biF=)WApD;3H-5 z5z$c#-8cA) zJX}xQUzD^|DAbkEb9Bi1epBN@oX-^MGMxKa4=pXGAE}XiW6rKD33V;5;2ZP2X>zEm z9X=!8^QSqd^WB>poAGCUlr#vEM>|-cMtTHuxl)SbG)A7UMkOCSo}~8|)9PZA9^#nwP=) zEB`b$-K^?dH1W3AdXQbiiFCsf6I#&9UfQO0Z4bk@j^0H26#5px@XDBx(+k_alD2c` zw`w=_9&Lh~eUfK+u9vU5KYZE?@7!qye2T2y$Se-BGCC=3dGf9GHM#%(MdW(=)r(AP zydvl;_KI(>t^vE z03Ws_zbxxhP*$)>{?*xWYCDwh<}$Rou9G%5Y?))z#7hPLHqr!}r+YZ=j|ScaXIXX+ z@0pYORF;(ttGO?^FhxDmG4iaXd1xsv{|9)s@J>71{rmvD-hR45dEK9r?924_7*5E1 zz%@^Nq^oLYxCOdse0`+uFL$zbJszpGqP+QD)|n)B>?YQf6mf)#WidCN>n^1o;azFw z^>f`6?=OmHN>4T{%l`OY##b>&#B6NX zV%(SL{{hjF#lz582-_cI#6X6*@fO+jPRy}zth$Ij9{AQ-%L75HgrLnNe%_$HGi`el z;%{MZ?15fvdpjn(rKG3Gr*kJrXDB@%iH+~MsLK7|GPB`Kc!14+b(LE?CU*m}V0;AS z4E!kCn%VU3m;Ez8pxL19E$sgY+I|!Jvn{`^%015i9N(U$y}yH|UT1D7Hq3s{SGnJ% zPvW0>)``?BQ5!4wa_G!vN4)y654aT((^by8ki(~F=r{ACp;NH4hS(VXJ&yY}bS#^9 zFaHbUsY>We8W@w_;#r=6;=b@sG*iIEmk68E`MV z<04nEi%tdm7V_wSMl>{aiu)+<;uqMth#M@+{uk$ID#ofOJSm>!EI#!|^1g1cH}iA|TTH;eBf@@GT~x18fn;+yt)!*}D!wALvnE_zx5 zY-!H@2w>Yyxd5(lK3vC0Grv8@9nJf{TAU8{SNtxBv+3CbZd=1!?7L$t6Mf9gQLsayR%L><13$K;hb4B)u=E5t&gQpiqfLS`0;-R}~M?Tr%?L4P;eEbUj z?c_1sz4;93Kc^jHWSgZ>^ts3Zs?~CZ*L894(%B9@M_{A2gYNYM>8L@{o_nUwf|7W zUC4Wae8bnMI+pKw!CDTvgRik*PMJ_oJ}#4^oQvC=F!2q6drBPAid+}<@014*g$O8G~Q)1 zOT)V?j)<4efTP5C4@W=!V}Ii>3UG8M`K6l(M=^AeU)ud@6SJL^(LOls2|nY&;4H?8 z*>96hKfLuAniB3}pPA`~h@VLLJaQCu+Wssb;YRpx^MKnV`+tHw?_yK4d4TUN{-^jR zeqV^oM#^F%i>Ej%N;tX(x=a)I(oS0gV@BJW=fC&sV~vZOog>`e@ZL*(yYHx4*vC4l z_*wjL&3lj&7XxRK{ikVUj9J8iEn_cL1+l}}(f9Q?J9b|ua_~OGe#ZO~r#7dvH$KhT z8_?;6z$81i_I3UkeC>{%49kxOU@426*GIatrG$uQ8V>XK2lBCw7mswMQ_X*N**x~O z-rT`F2}MsXvrYY?kLr(yzmcwdFkhoA(52!-2~rx9r|DoDCM-T zt2}#yKj)X{t!*!R#s=mCb%2A0ciE>M_)aC4V_UO+YuPz9_JJH*fe$@|&m)eJ5u422ZCQ^qB?v-F)_Eix!N0`N&9V_&|d5%Z0;% zb*ohS&pp{7M*4`u9v{F?P-E#ZH^c2fpGj%%Drru|)+*=sOR9LPoC|B&2n;Ddw`De=c<3GahH}rfY zbrteXBJNImim}~dYL(W$m>7qL;#P+IApK3)c;nKn{Mh&~b-rp%lh^0H#+>iIh3#oH zb6elAy<8k)FTd(-=R9fZ+Z%f(?#}O|e)=T2^w&>#c-J@Ee)@d3NbP^s)V8;ybCSoF z`{nuWIkc~O0~lmO*L$uI2KKK13K&iU2DM*5y#2@wcZ%8%a5E&_<}kVy{*c?={8U z4s03rfCuy(&{N@fO2^+!TX|@}M6502r18&i)}?1d8H}4#IRtI59B`(PTkYH_h;1A! zSJ+qYOdrjK*RsC90b2~^cPwFjlkBu)=OuP5s_EZT;63Bh!3F%+cqos?Y74dm_3fnd zhk@7jxnK?r$m~8X;v=v!^$P(E$U{S5Fz>f8NZxp`0EV%{VF34kIShj`uI9fl=i0Lr zh(pN!75LPglsxnG050OCZ&MtVjnUUW^0KV(B-|{y`u*-_frm2OQHT#QTyVxo!5PA= z)A7gPZ{8gUUL7gpo#|VZfNrrpW>~k*8NqmRUc^Su#Ze2b`YRiMUJT6+bv|ph26wrjSxcIvY08tpEOwBN9T zbv_3^+TX|h6r2N|hvy{kDxI{2c|KUbhZlSS@!|0yh3$MHXy@^h+xgp|otgiWb_VB> z$2-|OLoArLzJ{{I&FQQp|GqZP>)}03UwXn6e&27ur!I|s85{Cl zrJG_!yC3cd`e}KHr!OnkO18=Cp?8OM-&yMMyuvt%AU?v*6L{Q}^gWocQl$eq3mDJ!x-$!XYPvbFu7R@vZcPyrl}83lmH7Ns{^}uoZ4ej1+&rH) zWw%v37YJ73GSqIGwQ<{byt$V~2H%qOaL}Q(^7**?Y0hX7F9ELETY3w=<>PM3|CWRQ z0%u9)Q`qC7f3;!DvmRgnJFh%Ex`z26J#4SJ=zMoPeu6^Y6v$Mf+v?w18jN#CEpvf* zJb1e;_sIEfm~zO4idXK-jWc}*-W@Srv5}(Zu(`LvVZH_U7LI%Ifg9G6n%*@HPdy0@ zz|)>tgN`7ZGkyf+pF+B|*_%~!(0f{}-x1m$I?o4rhj2QJ`c&6QKF!tBRRaxx1beK6Y)L5U$o zp68oz+9qEX=?BoEmQZFfxLXoEQ0V|uGJ4?QkEpN2kW8`PIFFC?CDB}^%ILe!PPv>s zdbfDXXByhbTkogs8Er~>c~{z{e%k8MUjN&GckV#inc#$cq|GGl5CcQ2(Jv@sY{V0{cfus$!f zukjEJpZ3SgnRoU6mx~Yn@oI)q+V?P{mzdGkLEZ_9{PVT4Co$;}$ zyB~&cj&AyFy35Q+tT%T#o181}-Phw}UNd96A8xvtb0iSR%{7}VsAcp%M9eZCCC@e zkk2dIOj`dH#BW&mD9@a6m@}UY@)na9-lDWu$hXK(Z?9k7u=sPCTiZlyq+d$9@b-}U zioGhu`tozmvN8Hk-4(zT`T%u6e-8cq6J@Rr+AwPx+HCwwIDSQt76EShD?B7g%fLsj zSq(pDZR(=l#8Izai!bI2e#iJcm4%jL)IR}w7CbwFM?A2evf@=5j~>2%k95|_cs_Ds zZWHgy`%ORZ9OY&H1bM&X=S_z>3xc~5@fA0J2s@5=af;s>e#z*Im4@FE*7D@oXV_cd z#Ft=Skk85R9)ZpdL1PAAv$^Z>O=j$#hedDlQAh7GL*`V1n3NQ;Pl8FX>OR3af9SV- zz&td=z0~>-(NKYkxiMnc}v}agsg3$$d5L*&7QO8*+VDp|HsN@@AKQY{qglpe~o&> zKVz_H6XRK(s7=8aRd@cMpfOESm!r769_UOs-;SJ@K%dHUKiU9pbyu2?TgK{e!p7;9X20+E&!C5kk9LDQVy^mT zz%PYY`ebo=DY(pV#*N?`z-0md7Y@CcLr*sJ?M`;Brw?|op692~9>VhYt?;?3tIfsm z%|`lSbr%y&)aJo2>-qR)JQK{p^X_MUBa1!vF!wH!E*~WRi5AXNF4#{S$jY7!C4EbN zvX9dSJU5;LkJ7Q6ixRbU*g|=4e2V%QNB?{PPp6m#oq0ON5cyVTG}}0d6|9GymlHpT z3@ZH%T*MQn>Idz}=BjqQeC64{!?&P*yh9vf&<~5pA+mk}{QlZC&F=$vu{Ma5?EG)n zxgS@3^yzohXZtZkXB?Cz)qkyll-sL$wSaQMk8jV27yIx>CMGX&H1^83+_?4ROZe+p zV8h7}SE@FjSDQSI-%riYd}+E;_P!8uV3KX@@ljGH%qxp$EN$KZFO z&G(w8zqL3hw5x@(2cUxteNBPGzz$pY75uCPwza^9*So}Mf2(J^I3v;b4PXgmCC1i2 ztHP&2FZL-enj`LRW12QZJDL|OcrWxv7uq@)s{z}68FZ2cu8GiUJiRnwR;e4Duj@UqEN60T4;EV%wHJ$xdVfU*`7h)U_!*d&7;s3AsuCmCf zS(U$s@+vog!vfpZj)=EsMzJ2pEiMQ7g=Edwfk!;TES)iS{Z|1 zRuP}q4UG()>)v`J`uGDfVK5Kd$ftRTEv0$cmUQI?)*wBm0nD|0vTF zj>gSh^zn}Qaj?pLPzVeFBRy~V3FbO+NW%jRF(*;)opEUbr`<|vR6O8Hl3VY{! zjyW@T8Rz%C{~4Ou!`ULcOz8K$JgcIn_RKQ&5JW;_dVd}vkC$Fu6dKcUN14V%E5*6U)+4=b{3fgM|podeoy(18y<%2*&P*t7KTImdg5+hz?Th6Q=5QNgEmM0O)DcCKq6zLIZ&jXm4VeY>9g ztFem2HCBfh8~kH?!`NVwt0uaA;SupS8M`+a%lv%DE#YopJ!7rx@5BC%{|A0zvi}L) zi|_x2ar-sC(L?wbb#9CJnRIxIGi#48%l_!TL75=fXX5SW_>t{LhPn0&)=BZ1Wy9~h z^JUc>JY99Bth`&6oq^mQ;3weq>^)xhd-7au!o*gO$R2)ne&2s4CcD20kIBAlMjifv zLFSTtM?RBhF9qWfBQDng@1k+Z0?*>dS>zNoJJ9R1_MWh!<_>fm{`YM*MK;#>S>%XC z{D)6B{uCczk#qXmDrf9re7%jW&d9@2+UN$Kl{O~LE3twwjhIsWp*8evADtFSRd@thF+P8L`y5Td; zMf6*^Dt(@FTZZj9N>i?hdoY2^-XoU6e=D0vm6>$7ow*>H{X>jrNi@T+|~)ATf_Xqz@ntXR5Z0H$JjfvTXdE<;UT2*{N88sODjlQya(bW-!@NBe z&U+~<86tr%()9PwHO=1H<%(lKekk$y`Jg-(%g=5 z8u`-fqv%!|`4Z{UNg?Xcx5N4d&3ByQ+aY~pKDC|V+rR4@HkzhWd^@Ob#K_e9-xkuI z+FD!^ivOH%1LHZw55;+aT-n}3EWSroqgwS)LOu5ENCRZqHXe=TV%KOdgnT5Y;M zzSNl%nsC|viKJm`o_>AGnbccx+5Y2{|JaSrq-5!3`&a#qGacD)(qjCF?UOItulwgE zhcsS8**CE}|ABESZm*1)vN6Hh(o_-fDbH3e93mszHKLHttzHEW79S9wi4t>u$d_Z& zz8y*F(j{2)`gX(1k+*gPv5lJdN_#(O|V4%QH@1&ZsE+>(LD(<6}~(4DZm?GPTL zlozkqj=rGS#dq%PLZ)-H&!B(?L)l-iHg1RTd?kGFmJ8i2{7+tbp?mNf_MCjhKVi?o zjz~WCGWmM2C!hUyb*e7asrq)GqQ33J>a+Y9oScd$3(vW*?oi`rNf-)Nn6*XhgdSs@h;t!YoM8nIU8E^u!4EgOH72)w!izq{hcMIWZBBe3zxm- zjF-Kq2_52QZxH$1AGZUKdNC9m zfg78AXCYjL{=JOoUiLxmcO*vnsP0)i4XiY?Rhkv!pS4bMPvrcgnXX200{qpq%vQ99+5{#P{JLkoYJWibk z-@A013m#FMUiza2=^>lW`L2rPd;5Zc^Tsq+&i}f#Uk&!VU=6+&d$i!~?44?3lGShI zm&Oi!8tU&1&S7q{a*droaqf1dBiZ||)44QcO;{}1gI|Jn8ieLI?$H~-StakXv$ zYp4I7w{yKL`@7(~uLJMpJ(yzwt~Gw_Q_Kc)UVVF)eBgxnTAJO%f5y{KDO( zjDyBrG;Q+6)%|TL{Fr+G8RMM7?vR3JQ`kRFqrTJ}|9y+&j?nuD{P$jBBJ^I6|I059 z&A(pn1^NGhclBNK%)+0{`H|9a4y|AIlj8|j|-O8X|x zH*W0|?3Urm!)?sN-RqIJsRtgiH#U#c5SC7IpG$LQ`eL06&Y2BL-!aJ@nWsM1p`gBm zZCYe;Ur=~7&J?yrd>=S=nl_{)8Xy(G|H8d_EVMZaH# z9&^yE(sIyiJ!u_Eg9f9cOlOWYBOJ{%gzAVr;M*q|Ynuj*wDA*7q=GbJ0fMwo1Znxr z18LWh*8LBj|NSGZhZ^(pG3kBJfp=o1TLhnpu%7(`aNfM)L5KhejgJG|8v0ixxliR@t#oA@)&8v>&QX5-KYZU?z+afRk}JIRY3Q1(^;YvW zn8UI|%%A41*XVEiq#Lt8CVM>$W8#!Lw^Dmz&Zs}JY_WMEwOF?LGY=z6O0MAy@d0^m zhwimf9@#rLj!V=YA8Bq)DQ+IxLl&*A+u+!kJcqND>vnL)H#WPrl0Z=IJ1QuY zyfKFdU?|i<0=beoH(UG;ywo=788Nlc;_dZCrq(b9iLs_OO}g}{GUV~)&_5s0j!&mWXEi0uOi2vcyxK&@B>A@J?Wz`?QIV(a`Rw0P{xg8D9$dC* zUvPijoGC?Y*=0(U5lpDa42Rx})nBx_Y?{n*6%rQ}J5=FO>&I&Si} zckXY$Y4J|AZHkh$$yK9E;5{ETz-ReAb0lf-(eXV+xfo?)lnLDw+o^i1Q~xjOpp4d= zh!0aWu(pjgC7%>r(eBC^KJI72^X5#Ytu?gu_)SYKd{aZK=H9)0Y)J$-AHOmZzx$f< zlF0Rm+f8J5?HXur1bXiX^VqHWpXQv2;V?&lS$!~Pc{oqPSA#sEvx@B4Oa->WHj|eY zFYNWl-S(gF(z!zTbwfp_FBvg?^25P5+@`TccXjtU>9EV0KV2q0)~#Dpw{=P)M0ZrD#1V(mcB zD6qe34N$-Jl>I!#S{Y*eUSU0HLw}83eX$GgJj}Y*s55rk@B841df?D{^TGQrW4(zS zu179vB@g)|w zEYUTqh_x_Ly>?kBv;cZ)Y-1g5C4PF@`nJlZcg^?*ZZ%!8rIjV=4?w56*xLL1-re{B zcY7*d3K`E7byqTG!&BpB+C;u`08= z|H8RzkURB%KJdx*)H&|X{i(k;@g=5w?EpXHn|R6!(!^IXC8u?zZfdggJ^Y!GC287A zUC$XT@Hq3C@z{#O9-pIJg89rid-m4?dxFMtFL)b{FX`15XYdT+d>89PjIl^vj(#Ki z7Uw=`+!YVi4epw5W=%3hbJOQy%VIvOUb|)%wDq3)BXO#w{@5&IY-$*rId*Jn)*j?M z%ould?2sH6s%XwI7GGZf<;tfR8^scEM&cbQx@4}Uy)na-L{zc z*8jSq@A&WU+<)dxw^>|u+=_n~e8XeLYkW1f<&3S;GzKB^H<_ma&c*a9oQ{q5Mie^QO5wg^xf^uyW&+!TY7lh+P(*YsjPX3W7LZ>CUxhCDu!h znNX76H#a9 z-{OqL8>cug3r9DmE?9zm*dme?1l~j=vt;|4ydCVLdiJzjZ{b$ezMuH+iG1$9Zs+ZXeu(7Rcb< z-D+MOvF=sNBQu7``-F5Na96X?Y-$5X%wc( z7(}-{ZC`3gF-B$ZwhZfvxkx%KbVZ!F@-=Dv#xnOKp3GoOm4(HoM~bkUr}usQHu_6G z6XaPnxn!U$dGuf3+YEGqY-c`~-gh-+2GhU59*J$YIunh}tGbQZ+8}u`s7LD>u`6-W zQq$r(SLq4lqzL^#2VN+d<*}QlS{w*Z$R*>ak}ljVf`(UvuO@6cDyQ|LceR-*nMd!{ zyl3#+CCUchBWd1?i@F{ICyUdUPhWB=F*e{OS-gh5GQ!WA%2u9{i`WCjf7P=TxIdUM z@%E`+KlFb0G}CqWHQt)=ICXtx`3?J#yT*J0Ss?=cH=7a7F>DGdFC2xi*Mt}g!D#%o zB-4N1+yL$naOwNN`w0H=Gd>%*BtnK4tXGqOrcmSVv2T5MV{qs&6*|L zvDAv)B!^rO*vv;@%WHGy&6$tBF8T$J_T2mr;zN;bugZjK%Q%aWc&LH9e6;o?NXJeb zzlgO^`tc+p~XVCAW=u}nQ zA79V^JzA&G->OWwxf|YxOja8$Lx03(v75Cra;Yg@6pc134rw>Cca%OYf=^~xBNt&4 zOYzj%lRb=Mgczk9JSH>`Two(IQP!o1&Q9L7wVHcE#f!Sn!XG+~7^@n7^hs^S)F$oa zt~a;WGj~()g(>JLqGi!=?51FTkFfJk^IJSX{3cKA+oRw_&%@jWY)A`aDdD$JhKdsZ zAY7%8`}B+zOEw(j5mrWEjRKy&wlk0qp@(`skpWh~(>OQ$aQ8UY=5fTAg5Pd*X~}`` z(RG0g*nK+pmV$$}ORx=*udSLGh|^6?avXba!S&*5VsL>g#Q47)3LWkq&Dkf+hxXBC zcHP*-YxUTGxIW+E^#2pG$_05`@@S376v+00tP|KoL?_zMAzIN-YpU9{Ybr8L z%@Niv<~#PXt~%!V-y$pUzmGgSoHFEI#a2U09Xt>46HRnuTS{Mo{7pXjO`^s-(;x@` z*-UyM(+0jC<-uOUSu&1$HFCk`YR+;8CdChE3>NZ~&UnoC!4}3wNrn>MC3lqqt7Ni; zBg~HF{8GT8^NAhibqX3?0iE4eJ;t5K*uzU&6sz&&lFbjd0@Kcrcn{|=gOAQ+$bE=; zwktH@u+9$oGHZW#h5Axz`=aMOzPDjBElkr~?S2dTqh8Je=xVJVQ~P!LC7KKHF1aYM zuO;Z0bS;gKcwM0mHw&6xwk7JOq{o0?_0f5C6gb7ki@new0~?(&{iLbYx6&h{fW^t) zdUyXuOLwo2viI|(#TVCAxL@W@(-im%Z!C>K4Ua;4db&sRJ+b`Heq&LWT2E#Wt? zIZL)>?CqLk<${Ucf9BQA`47Q+DO1K+=v(_mlbvR~C zgHy)bE%IcPsz}wXX?RdQb%=KU0M0wjHG}!ntbyb&4_!aU!snOMywJO2+U)la~N<4meI~=d7XS zSA~euDu-XTdU*^w3$gDl(ktk9BWK0V ze)Y}%ja%TiO^nrp(747u2doGAFC0w(KGi)B*wD?69RGkRnK%pB=GR%+(BvC7a*x7` z#U6Yw0bhE`AbjBh_ym6f_`<+PjMkhs;K+Uc=}mRO1b=GG(YDrtpf5exI34stJGXqE zZO5&^zFDa2SeY1Et75dNSxlcspubE?huuw~No((3IAYV|x1h&_Bi6Q&EIVthiE=(S zetkDW+#?KY!0+c?y`cwKvC(u^9@o~zpVC+>G{2ku4iTIO-% zDCT7v`$fiw-RLZJzF`AztPUq?9blM$*VCJl*EpL}w6_F!R)@lC)owlT)Dd3|Z8s*T zK2sY5ju3aLe-%2x588Dxeb9O3-F%l$HlK9SQY&Nj8^&i5@{<%BW^%&HZ^C_^G|@>D`$YqtIDsz5{^6O3{#JhTXz{eJy0qy! zAAAb0=YnrN-!J&s`>4Ja)}4BXebb|owOc~DTF0C@Q}YQqw8doFDpR9EwHf>uZRaki zt%^*#RrjyT?r&HFoQRp#cJ7#3$6!*@6xAg=P-I8zQj___|?0{&wc&fjVI4%&$pm4t5<*6 z>-}E#3~!DjpP?^`R}j}Wp>T`@(-Z82xnWXbz3dk^V82LAxvW<9p~8G=e0N`^&klDA z1b=P|c-PX(vYlIrX^*59~=G0EV2O`s>FjuA(IEIn$hxs~y? z^!As~+Pc2}jrReIa1h9$>USW6+W*db%b)?>=D|}G+P(dMu`cN^Uj{xsyLd9+t?VKi z88L#)WdWn0LxxI7138hDj(+41|KxJ(e6 z5(Sr4=pM-Oe-@X)`0t|c*ia`_16wt4u7yYZIl6+T-qS`F)G3^1sCO#$rVjPj=v)NN zqu(;K2qOS%m&6omh8Q*TLKBnIB7x;cNx%=K@CT@k!&n zAe+-YV=p_g85?^Cc_inZ!*|6O$q$`eQ(t>GGS3!MJa;$wU`h$|@chlO;qy@|9 zVoB4qgRHqTDOhM_A*qNg+B*qqrS59l0{yjQ(pCk7YcGwIrR+BoSe1_Z{mQPbkX5(S zg03#?Zb_jkx-w}&T&%qXHoEg5Hn+nyNt{#dtDXrx7yF_b8!?R@?T|kKevg?q z(9h71`eZ|#L>}OeN}n`m#ZIcQOY#3drSDRqkZWwqMfW^ykTogfRLaxMd|iE0l6A|p zD?CS#SEso@xBZEBBf+9>Q!Fs>HACUnRU@frCIEXGFm zmJNIw%L&__dmmq=_PZA=^71aPBeu-?sF;K7bBZx*ZF;fwKcmh7Q+Ysh+P3$gqV`CjWxy%&2*owF`175eCyKNht``>i(nPt^Miw2&~9 z=T;?5=&5x(%zCT%& zrmz<{9e(gsL4Ec5M*lR{>YIbTE*$4(VRx9Fp3gbF6Fl&3it-WglAkI3Fh}N%8>ujb zR`991stomF8#tBZXuXM@)k+)SJw*LGi*^aH`t9(1>lt)6%E^ul>{Z&1ndxK8^*o7> z*D8aCLY8ay7|tSKZ19UY3#_;U59Y~BA;%h9Yx1n5fNl&i+U}j~fAX+XnRLs}F7g2W$wzBB&QtWr-Q|Nz=YpE|yG=QD{vi$CwcD|GIvB6sl z`E(jP`4YhWGR}m6&b{1OjjQPRWn^fuCxg~&ZGwI!hfC#>M_<%4A?v8CRMrh4+XtZ) z)ff0tQq5<}oZhQ|E9sxPHc>Y*jjDGu){?oSZwlMbS$JaJ8KR(osEkvv*87Xt^ z>zyswW)*f(-#rXn3?-TKKf3C8_wD7KhP9!MD>!qBXWlp0y!9Kc`xgH+;)}B1Z^dn7 z3-s#ogxzSxb4`BSjLqZLnlAY4^JZ&A@de&x7^lIjh$G-jQ^}_#zYkml7Dt{}>qfcAi;zkz$JF=vlqk zcm{s&Js+D1y`>RbW;<=a9^T)ul06g>-IluvyG?$pmH6=u@M|82{?^L(w~YRJ-?Bbl zYcJ~2R|b*s*dc2}pHIYl>#$w%ha}&uYkhUPStcCJr;Z3Po>8pv9ff zeGI#%j_W^hoyYYFJ8qo0&FMz&|4s1$;H@5PNG~+;5V;W#;NMq{?&zC+9WB50^HH@f z{&)O8b2QR_L)fgId;aBP@o?y=2URn}Bn#7){{#O+h4Ys`%2jR4R#xAo%Qg|?ksdM1 z*%*R#MiI{38{^9bpWuwQlfzw7XA}F8NJnd;kHYIFV(>#;wMV^KGSE;3&0fd<9Sh9H zN1$inSapXYe*E+PPvc7zeN9E)7j-t|ttU@L$urvsy}bWRmyhZGMaC?TUB>wyr=!5D zT;S2~FYOo4E6!qL>!i`okMr9_n|b)mM*gIz-2o#Ev)z8J9! zs#m!@W{O|_gOo2%__`kbnbZ5G)pG>7u6w7Uu`|!yr0ZZ)WJ9_+-N1UXI{OqbgiPz; zx5GV=nfA6Lz-Pm^UfE**61!MaLO+gj#^6@^ZGW5jFbSVfZu|=4*}A1TFzBtF^nDY0 ziRM%FJM$lY9{P=osPmIo0|MFITfBCJ6YV<9UWw!X!489jU&KY z`fhv4JFU4l(7uBXSkG8XUnwp7nPS;LLKoB=mMhAyPd55;<3jp+l3$oURlz?Q?j7)z zhmRb_*!w@j#CvD+tEBI=#oSKJjrTl{RCCrV&+$*j7a~Ivd`}G0lQS0b26>=ZTpXW_ zFJBfF*3 z0Tyzh<5kQ%tfSxHG!Haf2F}v#kN1lQt$6-NW~+E+N(J%;KKc+c54<0=yNz4He6dvi zP-JF3_E>$GeNxDGXu=+oTFmvO!R zd{c0?Zyn1ci$)o@Hs-q_=u|$Kg!%ZLIv18R4m-kC-NbgIW(1dCrB(8 zjOg5+k4NJon699nj}v413jQj=mj}0p@jYa~-$FnAI)-?5P z;=|~(O-ryP=pVdIT$VE>v9YC-hQU$IyLmsW{J<@SYs4-bB^Idu$QO0xL z_15ycz5GDm=MwQD^333Kj~=4f^nIVR;{J29ybE1abP~mvIr+R|Is9LIzQB9#*{mfw z4TgS5)@9HYa$!GrQE@}%C~(e6T)FZ;07valM*364;w|JyB8~n=S>(5u>v^u-t2L+# zp~X|vOpE%fcscV_!GS(x4_NSZ6ke4dWF>svXhPopE1MS(%SPVcmLxX897Zgt;7l!J z-CI?*6u<1mw0_CTCE~(q+iT&ThrnkPJVxf5N;`KpE|~|lC)HUo;ZnO} zDQi+v*qc#gmWAxHidLny1%xx>(6v960vE~mU6zfUy%ky`~`1$SNkVz(-PG5U9P_V}g9 z#bQ~9eNI*8`1_duTG1Jj2DvGFvom(uEZ{49{C34y=P1Jb|?;# zYxZ@4Tq}BsXczf+^mp>r)Oa?V4PQxDQeL-@|9?DSflrNb?Euj{#-@`ou8?W{e8|0Y~v7sx$} zo2TvJk1-AgKSC7WMh3kgjm|0>HLRO-h&>AjHvLKigCQU5mtNmX^YfWgcrRJmW~w|{ zMcl%}rPE;-J_%gtp@sjml`FJyKUYr%6>0I_t>bmb&6ebjP-pja_BXyhG^daAJb@v; zviz}zop*%i;RB2BB-cH$hy6tG14thiO(u3!bhhuP?+jDc;&}qSTJKa|xgVmdCU{b` z9PCM2N&fm6nc*b&%-zG%C)>f1=v_4Jz*p#U%J+VIS`7FBTw>4eYkar4 z1YE8a4VChNBNylS}1l3vzp)vdr6eN!?Go{XS8x0 zkZ}!Z^$(xO5#Y{IMzWkaaM>t!0M{0N$Ban~-$krz6qvpGaDl-w#RJ;-HS6qhdATPP~SJNHv3K5|K9nn z@pD}nw|jei!#}T>%;0@d7PqBt4-XHJL$RGU66l@nKG4W| z>`r`t5oDg8w=YDF-AMfJLDmoQ9sOdzI#bB;?f)eAe#QJL-%zQKI-rNz$ZWUf$IKz{ zc6tUm5UlP04SJ;dkgB{oeu#0({FeQy$|{yimT6B)Xuj~k&0pw9uFq}^!Q)-q+J})P z!(HGj1TL&4CO(8Mo@O3Hh79*{J-1Kj1qbzfSCikToevoISMUcgczrU^c^Nb%{beS7 zjesLh&-Y?H{=PAi)!NVGf9m`HrSHPGY;)}m6rx{&UKik?)IVJdE{=vm`|VtNJZ+V? zn*8pLJY#4>Cr;3@$c34tyY9>MG%-YTB26&w7;oeYYa#;iWam zn}Ci|Ik4r9*2bg{vzSX!ykvCIV({QNI#W7enIhsRHuc$B`|%3Xe~#qHh*5C0&w0(?B2XDp&C7P+VJZ>FFv zhcTzEo~tq=7IgmGH&s#&pNxY~Fk;dp_)G8wnHclxhEMUmmO8GiNc z+t67?%$9kT!e<`a_-WqXbhEQ!5&cN9UY9uf&6?wn7RC<-bD3RjhX0vzhM1wR-%ZZJ zrSbD%4z6YXt*>a0*CBUKY@6@#p~m|+*ZK3~bYx%y^Ye#$r*_^@XDZw9{~r;&L7B+s zy*W7ZznDYUjhi0r-SY-97uj4PeAgEJ{(qnJX{>Pr`it5Hf8-H&5(BA>k|Vvh(zvg4 zrd4_d_9ko3R?b|t?TBO+G9EeZ`CWzAB=un*V6&$?{)#%=rupX(r}@uwXcPMnAFP89 z)@kB*A-@>Ei%on}vvFG~w<%Qp#EFpU=nc)=z_n8GFxgwJrZ#rnnek7sw_aF+0*D z_cE8?56qGc8FCIx#nth-z`8{+V_x`I@=pC^NMzI8J_ARW%NTZi9mW4?B#yEWK z#j$q)i}=;XpHS`lD~`3aHxu7&jw^py{Mkoa;Ns9``4dDJ9}f>}?cXPX+i9{3pU^dF z7e1z|^hV;Ak1wm%9F zK8GLOtSR3gf~J$mrx5bs7sx-Yt-pf!>Qw%xk_7Nr_o+;hF&Y~`cM$}eyY z)|v)u&&AK8X%fSZ)$=>kbctKvw#2h}0vR(8JpVR4FSdmRaDHVGkYX>1z4;U&*l!*lcO=R)32yQY7!CYKv}b{f8h+80m%y{8ISm|#x|ZONvM1{SoLI=EyCMGJCcp6KLhWO%Xu&j3~K+Zcj)x#UymOg0#?hILPmPDuIO+z_}%qi*F&O5 za+n$_coteWHW;osJ(qj=_x*Wxp2xrF(35^)$%73mvHvb7Kg74KL{s9aKrgP^jf^;F zU5E2=&E=-&19KP;XedK`U^6syi(~6`UrFEX7tw7HuS5T?cuI}K)+$Vaw?17WI{91OW#F1%=OjTspM@F?{6{SvlqVk zr0h@Hw;oCoUo@=&9MMISzOc#n==DW7&Uz0VPAGgpeI-X`xc3Xj%c-}S>pphE9{%`9 z*xh_{`>^Cr8FJ?^dh#8->qUkc_6}(zUUmm@uPC}x^yT?(WYyVzgS_THPu^8!{~Gu` zoJPzg%0E&a%A06nfAif43qpyt|{B!j_m42muW{<$&OP$a@d4T$@f0?v|d5Ap3nd>1ADu{{}NP@qqDF=zj6vHk#m z^7#Zbt2k1MF_S$0IePUF|8*~XJj;Lj=gIT^szb8dTD;t0Johs%pI$ z_(S-dO&fzVe0xrQ=nqo|dSuH#(gr+HsOKYAIR4v ze!mr5+=@MxqrN<2FWTus-#44*dvn0L@4#2+q3c$%b^-l=9k#X3a_hzBV0@2Bc16*T z%xB8nN3jP}*bt)2Q|PSnJN_fQCcPw$k1z0T$gg3H?|+i+yvg%5RA*m?Pjc97FA)<> ztTNZOZ6;QTJdME9rs5s0xjwZeRkCivdu|r+yz8vz>(*L5_W5S*L%_LimeqrPw{~5H z)srE&V%^ikGRR33{DO1Wa`{Tx#|nLVZxL2|1vYx6xy1a0TV)u zhqxxVuD5!IeuE9)+#Y|7b?wf@(v{L35#}<%B-;)HsapO#<$~zH-V634Tt6P*mpu-j zM&`?|(AY|DNLJtTaWfF$o%ubE4gGKk+xdBPB8`J==*&^Zd;L7m=18Nv+k7i~LpnWv zO?*k%3DhYY`>4;?$C5XeyHRwfFnUWG8(@Gn?kgC7&+Y^_L+q7ygt=0-r)Yj(Wvp&8H=tDT~Dt0zvWpXD{!-b*kMKVwxWKL8Lbmio(1X!=J0x36;ruV; zg2z9nb%tG4_GW0wiy@0%pxtxnMZQzvPChp$Mw#ApN2*9u7CAf)-$muiYHg24@MZNu zV+P-F@SWzk8lK%!#Q&~$`Y?(XpD4l-d2xJM7k;)B{;_WA%YnZHb*ulq@JH0x zO%CVzKsQP1{{gZ`b4NGpBXk~*av?l<%6LZC`1W=Ne952vX<)$5!1K`lC_e8XS1F1d zwTOuzXX8!8OcoYnCLv-bO~gzR;1VBb+#;u`8hAe<9MJw;k7nk2wzd6iW2?t&=ip8_ zQy+z63|bH8`RB%$Z7KFsevD`6r?t?^ZlRwIrm<3f;;3Dp-9leiIQ3p%>u2U}aL~u1 zYv%4(4p^LPxo&& zzfsBu@)u-|`+aI(aW*}a_UXoApX{GNyYwXmZOo+)Tg2D&Lwy78Ws-0IQG~PpPbSC3 zoH4`GY1;zFf^8@H>Ak>d!yiZZWsn;Y-er&*8RW(geufOWULR(EJ;{^9_#6)7bI9Ox zV7&k|Ls`X(XQV4L#L|Tq(fhY4YbxZ+R#Fiuk?YcP;qb z4{U)vlZ*}I*^i2FWqvRTR{)RoOkFEye{|ec@@<&^!M8u)+e0PqB#ZP;JamM2xo3Rd zk>5eS_-){QE4qeRXgvN&{E4;S6nUo}-id&7@eXTXPsd)whJr?`x6IoJO|F%HZyDo# z3vx{It0uy}UXP8p9J-;dv;L>VrPxXnnD ze;~)3===X9$9EKQZGYF78qT;|DVxcHw%)(~GH5wyqpo41HsW=aC)66iwaCNE-c_|0dl&oI&Pkorxh9 zcMWwpcaAUXLl@Tj6z7K4QYH}Hxqp> z#t`*CgAbybx>e@@IIXTX1rHwTt~Ir*TY=|iz@Tx;yf)tA;m_22zPHt^6S`11U4WjB zzWyQ6Dt*F#zRV%+6JehKjV<^ZHt5*5@C+YQi)?vDn zbNvTxPT-&VYD~>)d=0~bVH7wuN2H*C@*{@jZ%AQ37}=`86~ca6hi#q`-(p`m_z9xm zM)tMhiD#%ghaL9H>wZjB@-6Uv$nT+bE5@Wpj&5_ts>x|H*x^mkOmtTDO!)!_H~aq5 zJifE)H7)%$ls&@U*ADwrLq~@ijq!B3bK{js!+t;bFF@-081Fhg|#om9|>9Drq?|S&q`!r7I`g|(>=>+R4t$h&S%h0Io!pD6pQM)$UJ%QD|a*&{$@1w(1R zm+b#`aH%~8`luT{czN%vxf_qr-v`Z#)|KE$dr}S3kEr*|Ze6*8XY^0cgo6jos@9d4 z@r)cNJrfSX)-|n>ayy>1?fAO?5eJj&RnbMfe3ZSjwFfzCBD%CDqT0)OI+t&pFTlgV zs&ld>XMc-+ocqfw#%gw7KX&M(^^}#@I^SAve+}ynV!4$4H_pBudY^2nn(VT?<>jxM zhgO0+bexe)KNsHbV1F~#^wea9zZby6^XRLJh3Fgx@vd}=)Kq8@KRNUy`iZyQ zg{hcI~P z2F8zv&H~a8P@^7zoi^9ue4k+R&Oa6dHZr_ zwTVCY?dnqASpGbJ9+)`qmhpKHc=y)CvJNTVXcxBgU-N_RC(eiGzVy851i1dQPq2>x zxXdFH8_jvh`pMkvAYUsAf6CT746QaoZ}|7OjXq}FYV&2qJhRK$V=_;ELIxboE0$qS z-8Mk{-QxxJMilQ5L!6W^#r(N%@{Q`alR6r|WAzL%#`<5HL$`@JSNV|RyDoa__uI|H z-cGOfhTToS*mk!+7lvY?C4I%SSjhzgX3?nVZ;V_&<&ml0UgnYcU9uTjo2~gFTUMBX zjJtIzewMG6d25=Dv4?LPi= zyrk_L%iL|DGIx~qQTleg%@qEN^7(f3D$bp7vMUQapks3v{=ZLiUJ0&QoT6_Ic*et;}EW9D5bo>;--HStN?DfLB*@0rGm}N$@1B?3dHOl@S_qU;cil*fg`Y?L%Qg?h` z{2S-FT2n%vNH+Z2@kg}x-ATT|KF*$E51tcyI9G-}c+z~E--X@C8J>C0EKs>W;(L87 zyWvO3g}ml4%6;E9?pJv>>dC5x>U9}*rYduFGu6JSpW|C(ENi-(-7BDrQx6*ItjZ>7L;Ue> z=wJOpKE+hl{A!7N8Re$pW09O4rGMV@gUxO$&;2>t&uR0XmoF`@`~LO;VDWO)M;Ee( z0(lDJ$z`-r!<-~}rP%M(JIMt^@6NxI^_;Xf2A!Yz=n}U+d>*nS-ElSVHNJWu$gENB zHRm=lCXK9B0oJuknad*}M&wyv)PG@{u$WjnD$HPl{iM#t#oa2HX zAUOYx@ydW_@7>c&+*5q7`AOw#!X_@+Cfy;A?x=cy0c{xc8wVKm{|?4Ubv;J8pzrEO zsVq-({zqvY&rH_QqB?FX)*)Ii)z>}!hV@cEp}c5EG&i)%n@h4*HL+3b1j$7`$ENq> zWu^%|$CHc2GfT+%l&=2Q9~HlHCMR|{#>ZKnRXQx;d zW>_!;x&6>;OBv?|49+j#m_mOnn_u1;w$dGgv&uH6n16PEYJO*Tg}HXHEad;+yr8q2 zxasrZMX~N3D_3{pTkXYe>yGrvH@m@M|1-5#}4U?e}?-PhUeX zd6itZz>ZU{+Z5zLb*`oVF=*J^<1G}P;q8YF4tmkE!Nb}&z$>wd)8FG+P;Qf{nxS+5 z(#3K%v9=*_L4IIEK*xbC6+tf5(2mwesZNzOX0SmtSgQMLOiY;%2kkC*iZB^+C4AVJ zFUhxRqHm%N=DJw;*ylS~m%J}R-kHTc^!~8<*&O$s;uq#1!4mBCFi{`=j-bA9<$csu zmF>o##9Y*o;3pf-ep7xRWGe4fhu*6mmC;^^iiv0qeqzUhPULSEo${4FaCI`wne*s& zKcDWeckC@0kj&L~rDeqXQ3*g5x|my%ikGrXdHgSZyBA1Ikh>& zHxD!?;$6s|XxX%8i~k|`EA_rBhZBzWsP_DB!_aL@vQztm9c_prXS!%-9X8Ss^emi4 z%PKk(TI+y6i5w$zGcT{fm#^BB0XL6@B@<$$E@w0gbUHkMS&} z6UJig1dY9Xo;MaJ+1uWuD`;$P$yhvv+=D+^=TP67xq|)rkq75f-w@-h`|mOi$gEg~ z^{5_gT|eD@@MiV~q`z8Eqny~^Z$C6?JJ8S9kPVW*ey-(&P3zeT%iz!FZ&N=xpPIQ* zx4eb@-NSY@a*8!9r)Z_utf+waVdGM?MibnQPZAGCg^&UVVFN z+;;GPjpFfMd9xuweGN+jy@Q2 z8~6r)ZCvdT8;C{NrwQL|Pox$f1AJ!aPa|y|L6@}938T(ZH@d{QHgh{kJ=GEArcnNu zjJ;t`oKa(5ZbFxhrWd-&n=W>vTbwa_eSXEx2K=M!xw)1-gP5;346x@+8~OCRv5UV5 z-glBCs=WV!kD3AevK_tmlod8#I(-;DtgTiIro^cd)%t<3I;=xQQ8ee`GaYbw{+Jo>c|>xRmU-|^r3 zZeC?u+VabJ^)2w8r}5kS^}nO|KT`ZZzxaPut6wked-dMYI{Nh@JYQEkdy4;Q$NQft z{--|g|3j^L${T!=dG9}Xrtf~83!0w^?#mjRwdOWy>Y6|4UFSD{f@{>HRcnG)cZ1J` z(5q-C4869S@QgmuDm3cA?~2=tPIV9N_87ayWsPQC+e&hCpsO}=ny!QgqPDrV3EHuk z7o+xKXr}AYl=06av7l?K$Q#P3Z(0KnUdBGE)O#g)tn$e({O({!(7tr1FyGwC^HFSK zk6yPJH$uLI_DIk(gG|=*KjnWKzHWqH$xzeUL2obCp_nf}e#~AQw;)d?$Guqklgs*B z(J8d{`3K0?+zh+$XI$maa-f%!_=;{S%KHfOm*g-sK758t-&i+JmAaeU~S0d0U z_H<{?b9Z(S`xM_W|3-u>b}_pKhTK%SOhR<(Tg+WUIkfuq9*$j__aaF9j!e5}yqC_*L-SxQI1qT_XtdYE$W)IKjotcL22Yfo;(APz3vX^_~CLN_FJDYpyC7P$3 z)|<-IH1?JFlze77!@Axpqwk`WGsGUZyfoD{nLl>NSwAEng`Szu{IQ#FHwC}_`5T^O zEYv^Ak+pswWBIzG&HLkeH@Du?-+NOvQA|?`Fg~iVlOV@ ztTy`hL-3e9-;S?G2fE6zZ|W3yfmmtd9CBmuv88+My=*?Y_HpEwnN_wwoKD84?oP(H zN2YpyI7{p=-TN1NRj0{a*6%QHS_fCg7Xzn!aliah}-)r2PxW4p$a&MuH(WQ3b^j>mCj=ihjInNaA z8Rp;Jtf(MQ3!!w9b>P2isj%uf69gUwXe?xXF~oy2-7u%B|Qg zCmd_H%<#g`yrZ*yiW#=SX9C=6ZcW+jg~YRHq&%kj^u6XO2RLlbg3m)w(K2%PDARQw zzOuz$tTtxDUxxj9>?y#-ce2AI!=+Dp>M6weK~{1N#$qNnXe*whcrO>bul-pu%a8M!T+y=GQTe+E0J z791XdZ*s_}4_JXsf^UX;=0g|v+>RV0&e+HvtI}2VjoJw9mc7Hdf0WTPm1hrqdrlbEL;1R{B|f^;zc)A5J?6;@w`+!p{|?*lNTpvUYDHQdbmuPSeVbfU zqrJ_cLu~H2L4R~AiDg>#UYQhSB3>EumNMSFvSg0?7oQ;J7b@0`ZY4O>H~CM5Z)>G_ zG|E-`!+U+jChYX>hwMI{3D56mZmK}Wq+7{d;CuLLc;cS1I8v-%Z7w4xtLesTj+=ow z-W>TDef#pIa~Q+Pz5D|IkoHgU*8@)O_we_7r-aUH4>W@f&whN+{Z$j(%!A_^(Cx@8io6I@A(2nTnb?$|?Qab$Ydi<_8*au!K zDfcS!^JV^P&v$5A=QVlz>dB`lUiV-s^I zTpRxVP577nT;A}{zYFLe*kgu#jivaE&+5CG;rG3MvhQn4+L%QfI(JO`V}a9;|Ec)A zI;Q?Ug*~dP`a6l|e>}k4hsIK4qV{~Bt`&=(+g^I6-@j#(?aeP~?`hhrfo{}4^r(sR#v0A-zqWuu>z^f? zovCK{@C-k8d~P}LihSbdl|$ySHbdnd`2Vlfhp9e&cyv+X%lLz1zp6-&Q_mjz|H3~J z(BxNv``od=?`InO$#bREr@;4M7TJY1!4k6zf2`|O_yLI3J56>0I12g?PkFy9q0Qj` z6~+6NqTj37qpK^VILgRxwrw8!An|v7|E(_LKH607HvYI}EC&v4;;q`l=tNR$4(m^o zx3%_L@b9;Hjw~%)LS3G}i|e=eA3T3o@%csGwI=&cuH)NU#)x6CCaUZeaM7R}wmhJ=c?HlBi{q6xXb#k8re-5x>*CEUA;roC#yMH;u4Uto;st{nV=5AA~==PR;%+f)CT2KJI#UAPU}Dfyg4z=t;JYN$-WY$ z^whHBFOCN^Rb#6A5&!SJ##f{T)><6 z-IFuir#=QgnHPQyj3LTsELY!P25ut{>=11zCZ_ocTZ?_rO(7k8d;Lt$525!7-WTvs zWoDGTpXKi#BfV7LtB>eA`>=-!L(rb+C|U+SwzQ5}(*O7m%KPu59z%I#5Ii-xZe9IX z97%E^&?n^E^VXNXi#qwvX`+4RmyGP<^%d@Y#lB78Bv^O&F3nH=xrksd9s%4}i{4_!<4=tpK0L470}K3X7kn-GPfYJ_@_EolLg)~jt%;5s4eBQ6(5rg^ z^LVZQo!NZ*-Dz}w^o&AZvCioF?RQH@U@c-l@t48?@#oF0rV!vy^ypj&EZ7+2%c>9Gs=lUK_BVs_O~mF@Pox_7M%c@~Snu+nesmX8 zF|V@jQy+>wQf^wX14h1t{-ii@guODgZn?1W9oR#2V;2E`E(Gnu(LO>}h*pp{x8RfT?$JB`h`Dy4 z*~}4tn#j`)hMefvo1Sj?9Y5s<*!VujfH5y#2-$_7e%zOgXmS{zbWaYwNP5gfAD=Jw@dN%`7WDJICH;IAJ~!~7bastjgnQ`6 zTiX?(zJ&f4$GVMqIYd5#=qg&V^FHXiU*9dHyz1x$hGaEoMPct7zFEjK!RpQD%+rQ> zI?A4T$sN`_hcmME?ThfUa#3C&UMkp$GkWofll;dQwohkyD}POUk!TN5_MY0;M|;rs zaG&pE&=tQ8JVcv{1qU%deXDq35HBXT*~ z+RDNguP??f7`s%69OP-{+I9FkhC3ihj$=* zR}qt958E5|-rsgw&b382&=&Bi)hXx(c6iBWqV50**XC;ppfmnODKnBdVipR81G*5kIpkzuDu6mmk+1%a~j#-Tx%!QFJosms&6^qF!-8v zA7%etDVo!qSeyO%8@?{D|8JS6itFQ_k)5r!$}=0i{nvDF zWi~3_H+99eTfc%%^&I)M@=;IAtQ!8jV*18fZFbD)6rW8Yf9nE#Z{!uUDAtpPJ`Cj? z{44q{nPxvN#e=-H&Ec8JS&uiEa(*VXTI-7pwD@0KOLY?V+QT*pd%PeT{S7*X^b)N@ zIK%(7w24j4K4qcU=Gp$7YB3i*K!4GT=H&2cjL!CDL>?Py*_Ozo6a6p7IR(2z9m-2! zo*Wi!EQCk9Z#0!FO?dSn`58Np?Q96Gm_8gOCmK0=ZQBz3@%TJK(0THj7B{gf<nr)F81;1NHMNCf!lNT zVzC(8Ma)8M0Jo`!MEzS@}*>BNWKNOw&ZdPg+d!jJCdv-mkamm%uW_Z~i=-2gwrm&P>pHuy=E;3rkYj{|Tm&&JkycEL6V0b3Isbemyr8^Ox><5@ZS2IQ=Gs$X%ayEr4m*FK zlJh^|k0f$fely9BWO|@seCG6vG&f#Eo0+2Az<&1j@APa>PiB12i?v&e*rS#4DdXC7 zSK;v#s8AgH$gAR5ijSz2^iKvb6&pvV*J*;Lx%+xuCq)bOnt21 zD70~IT>?KcPYR+uCphdh>Yyva61_vFBL?T5h|8*c$zVCcT^t`Sor7Yn;0un&zI2 zuUCfK!)N>PbcRyt`ruQ<2n)@yRZka7zVt@79@qNmZ zBF8ZHJoB&gCu>bpe{>CU=ooQO@B)8~*uZ5mx2paJxEHScoGIIzGrj)LFL#s4xAy;I zCH;Q~{WsU(lVv_SOnyLyd0F3f@m)9HD+Z-DuA_};vAxf6ADU<{xnYQJO!*}KgF2ep z{W|i+IxgqCpl>;3LK)+JWU9uUH6+IOvl9oIXy;S^+jds^?R@_nd`mtq=GpJJf6JTW zd>kViphbWENEpAQb-fgd>pa9@=F@{Njy;>TP1pJR@>&}2G(7Fn^n zugz?{X@58-<&w-z)%&pE`{GO-uJGl}KRXT4072mg!jnRC&Xu=TXpO1V|rtUYJU zo<6URzIIc2@<)RWk(DNPs$F^S4cXUMn?inJ)kW&VFZgczW0&>6_?~Mo$`h}BH#p$z zi)&vr^Jne|OE)@IEv&K;G zRPNo-%3<>Q_m_T(;Y&xzXhoWFrSR)I_HF;i~MYn};ibZ?NA zCyCi2V^8Oy?}+FdU2YTmU#LHK1A}~J$f@CzjQ=`kg71!X-(T)Nu+HPVJw>^5O!Ld< zvDJ|~#|(0(4S5pq9dmHNcgK$MoxT^}>HH1#@6YMG+Pp>m-Y!{HpWViI4&8%oV;&x9 z6O2`ZH()11>yu}W2Yxu#B*aAXW6X!5@dEZ)_3HCGwHDvdyWO4~FTn)Ub30|nlz5_n+ zXwp`Yxn-}?6B=AUOSSu~2?9{K%v>u>4r>&THjGKBbj&(NjUZWS!jXN-x? zX~SMv&)5wSpS8##+DWYSIrPK-%QLI2qIsR!`fFp(Z&rSCAMZ{*Mh+4&**xcb3#O(> zDBDLII%!+kKH|URM`m{tQywKJqL28p_g?W*y>Im2kCLm0j@=ELq+gBU zt-tr; z4)va5O$q)Rp8N5Zqu^EV#4Gcm7wPf&IjlQ{PDek1o(i2h%$vygW8KHf-KN{#N~ixW zUrUirzkHn;NQZNAoy&YfxT5(K>vvA_(^;s@L(D%l*)PzhWI`YhjwDTG0k|a#^57s( zf5-=jy&sxVuGx#=SL@K#M?WU*=LGya^{B1a$b5kjgB!OA5D_2Ue_;ple z|EAdYuY(tIR|?SKD?{Yt3D1vl=0`x|eb8*CnCoIHtbXCH7TRSVKW08P+x=_$-{sB0 z!f8$RamG_~Za4KtJsDJ!{T}zqClb#zI*AGX?c#i+?y+g^*MUvn-a)ybuD74_YO)_F zsrMV)Yi>O#XuLZGB$z=RB`Sl&_g|Ex_5|ME-vIpGh2>&7MJmz32fFEz+#V2J_mGR-Y* zywiVRZ^7;v&M-D>ys?>#&6n!0{(AZ9?2U|Nzy_E?(y^8zdP&QTyH%}RXF6Wqx?Y;pUUM; zfs=_k7gx9s7QX{8-t(VO7Wi7!=U#YsQ|+LqyQz=wqmM^J%aKw37?#eBvL&uLBN~`I z<3zT^`rCZJt8lp~X}fE{v(su7^58^pB!rjpI=2rvoM)%Uz5h3|cP{UC=-G+sanYFC z3g|Y2U%_9OU%GY(dV}BB(4Oc_?On;eu{BP}Q}#R195MS*e>@}j*`SX-X3boeAm_op z8TNrFdR79T6*BrQdHhMr3by3+^WEs~`L5=BwXuXYEZT@-;|`$%ev>{Py?}GMS`&qc zy%PQp%`m3EIbxR$XLx7w(_Q(?4Q-K#zt4N-F!yXiCUqf)E@qt{aQ-F#e@+|K)IHGT zuY3H#H+;BrGj}-qq?0tCLatGrc zVLo|=|7WN}W%%DAnFHQO?s?1iT8~$q-E+?O-z$EvaWcq4jTQRCuMc-BrakE&3G7Sh zfYSf+$cA9N{*(JCZ6jmjYU3yTucQBGSnDXh^yk*2Lhhbnm&=?SAM)v0vu_Ls4$_vG-^$>5r>rc6XRnRh4}&9oQ)UL|?=k*A8=h zx`)fpQExr<*3rhR_!K-^IDTb3O?}o+uZ%mPSx~GL_7IGprw78Bfq(W5Qlpudb_# z?U%iyvN1x=GBFM15*|UH8LjGT5Nx9}pg+Eq+%=A#qoY!{^iI_w`EWNl@$~y@j!_W8075OP&w%A*r`XtZAPwPFs8DDpiAEfhq<{8o6-0YoPMVk)$sh(lX z&zzj@jxrbJnTrN^=g|~hx_a}M2j`b%gbNO)8l%Y3-np0-V@F+g<0^ez` zqXOT&di(ah$3s=*@LtZi&YfY(Ld2J*cyeb8?fp)2i+6&beaV5bA-k~%qhdCK>uW_A z;g^{FetG<(jp4ct!b7f@GZ4Yv$|YBN_2i7R{K%BFN1M3pJ(|oV%Z3j!KZpmva|=2z zd?NW7#rH&P$BiDG=kej|-(o&O&S)N!oN}7%!Zx1epzky?z=Hp2>t%Cqz55MpYPETs zxxla%RdayaF*n~kvQ4<;-4OL0Qe7F#J@mj7SLIYj>&-%p7qlM-mpzT9EDo++Z)|Pj z9>%{dTn7D16OS^h?ik5inO}EPw_wm5ViwJHzX%*h$-(Vp&dhNw)sfXlo&99MW6|fA zZQy&!TKO=AcPCWNd{LXN=6R#t_{u}*55oJE{1&D2DpUCYJZ83h{OTt^9cB*dr0ViDT=i(!`e(|6g{)dbNUNz5bNj;kX z67r4xOwo5XY`Qz$FiM{C$uDs>)Qo2uqVwl;Cg;!YR1SWI@>+wCdvn$C6L0>>aZ^8| z^Tg~L;-IxL$tCvP6wEc;q%< zT~ihF`du|;cq{Yf1>?vm@)^D|E7y<*zhB{uiq9Uspg%WLdo3upfW2l%-rT2eHrM&M z%8!4(!> zraw-j{nQ6enb9g6iJ|=xf2Hs*JT!*qZn)u{^7quwl%F;j1I@O|;)M^H!Xxzig%8QUsoeZ2*%t6ZE-2@- zr#rr*^3;VqY%$j230w#VZ}2=1&E+T~IKG8#BU;oqHzE&M`(F13w*U9ImihyIUM43b zTvqf4hREZX66~SmtvCHJ_E`gbFP+hPFMDQgN-DOwA+Z3yp^Y5z-siwiJw8J6BVHLo zHc9SzGI&Xi`^!JoynD9IIJtkm@54J8!p9TBkH#9Xoz-KlZS}-#7*lWk8vJQhnPpX5 z>MMJ9vK|s&@RPK$7u#VIeAhdby{(IF!e3k0()MA_mp(W$(BR#6Ieo*7)fUlc(5y8y&l6%wxUy{ql??3r(qpw-EPkRw!PYL!!(>VqSvx4ga zt`V;9;A(T7&(+~t-`rGoKC!Tbcb+_Z7B)ATcd#~3d-3jSNU#<$Nq$;_J<*bUYwVED zxEnr6d(0KfkY~-WaX-p>P5Qo(b4TJWtl2~#S}Qzg&wKV_?TJJ`+p!3L)ZdKkZWvSy zj6Dbjjtw;AyZv)3^Mh7gbiET?jP9~r^$Tk$p4XY%=tB+A+(EU&`hYy^2;1Kvrb!yo4yAYuY% zm5of6)m~%)R(MzmFkc#5*qoeMGq#ZOA$Uj>H#3l-K(so^E5!5WUGBKKEIgZ>8_N zkN$Y|ZK>1#40VZ3q2cGbiih*NtoRGecc-9_$+dZ$5dmFkJhx(@&U{KjdWHf6M?N%j1KIOPk_fcAhox4vJM)^q8V!<+#)^APcq_+ycNn|hD` ze0(8TO37%#Al>74w7nN%#`=3}w`mGh@{u1?tQ zRr(E0aW@QE?o2bYf0~)mf6DaVM~tFQdROn4{T!RKbvv!)4;5p%VK4V!3N|qNF%d)a z_l(gR)?luYuBNrWXWQ!NTEOht12Hnrsy~<+B$N35QIA8n|Gf>~NbEFUbikz}n zENHks+;?BSsYmpsM?TAYFJ4W5Q{sqnUU5Z=vA` z@uH>EjBB&+tiQfX=UmrjtEfB8yqv!ImKE#~?a79gnZ`Stv;gju(?V_;dS`vMk9|-# zg{&vKu%p(oFIaNVzJ`bSzBg32fjG_DJoBD>BKTrrjT<5>B8-X2UF>dR{5044`7o2~ zq-0~Lk7?d}aZ+Fo*2a8mg+DghZ;-LwqkN?3(-H41XYacQjk{Feag}|VT>;OL(;4I~ zuwNnLWU@)}HXa~eY-5iFdl$+^F2e_#&RoiN>}tm!n|9)J?V%N|`QEYvCr=qyGA2K5 z<$?S(>%b{s$WOccK)18P%})y*AU5pzg66KIZ|t>X(}p3I9^}9$PKMnOa{zw2eY(e9 z>xpnSpyX&NFTO_q^74)Fz51p8{I&X3XOk0Cby{|U^e&BcU^7klQCX8Dnmxw%;@9^z zcsU|*i#%=e1moCg%(0Y<$;&+ITk&3iTiK(HG=WDLgV4V{J6)XX2LH!>4%i=#(W}K>8(2vy-3eC z@1EoSg1R)WejP`>Iwtx}Yy)`6l?-LkS7l=#RPF*kkCCAKvbCoAt>63mT%ivO{(}a7 zYkVAA2HMrRR2Dqmc$3w`SgdWkhAZ*eAYWPhro6-mxbbP`@B!dGW@cUN?_ETl(iKX- z@$;{tLB?P78-^Z?8&5wtVWM}KT%>RVN~V!8OkYj0qQI|yzp>dAqxn?kkC zQR*|$CHWE~nt!J73-e31_Kl=2Hv_i(pPZQ$jIp(Zy`7MQOjCm8@?TJZev{2rj{syqpyr@SlSmWNbQq2>$Lu zr~Uo*M<(odjeQ_kutC+6cy}~8$dqjSv!4P(+;=Sxmrr5c1HYBS~E|gte#lDv{ zu`@}07w8n}*){!&(LaK$-DQmSKFD@I{BFwm=PUj&VFo^gtXA9VJNP^nH5a>P)&;Ik{nke`0spv1rI+iO4cXgk9`nAi>Ozks9s`#oE^@c0@t(15=z zPo9hRHTxH0OL_7tIB$5S)*-Lq|Nd>u#(v`YjOS%f%r@6-!K-4Wg&W*uPE zEZmRXd%6!kGmK3@`(fwc`EWKPJgNN2<_*gX;{t&+v z?+V7WouCe#5xET7d)ZVha*y)vgVe$JPmW_rPIco$=8_cs!S1_cQ{|T%l#l(>68Hu0 zQsDLH{;C){;D}%sU5W-HT)$p~-4H8!g!Og3GdM#`I4a5vyGgma*aUoQUkELi+OH+B zq-*J;<|Fz6e@TWcQ=gOcJwv~>mdcKqg6cm){crb9e9QX#Im}zHY^uDc;YajEenOq$ zGQMm2S^LWRb3>p{`gvRl5&U7vo-V@M(mgu?%?9x5^D3dQU=Y3STzA47r!kXT3XD?-Wf)7tFCf zOSG#s{j6I-H>%F|u^;23z@j)>v4`24D1#wOIDvI$)O^g--nQH%n=>B$reD z`WW9z)+MH~Zh(8Wmw{GPZ)3GtvHA-CnaZr<9=vB&&c|Oh`n2+(>a)2}kw?J2%6=Lg z$VX6bs?j;C{q+!%gTVLSyc2wp*T)am7kz1xNvo*0_vRHVe#Upu^@!>@i0rwM^2^4? z56MQBJd{oR1lK?oh?hc)XCA-2=8pf**}KO_Rb7qW`AOABAtb* z<7s3`cpuu2XhSxdrC+hrq@4qV2HclZkG!+x8kePn{rC+1B;&lutjuwNGkgH{!n$TB zH)Vj!4%A~a)MGQO3mMv*3o} z@~kC1D`RXBefnHy_Q+y*Rs0U@+ubBQC(p$e0B=2(Ci3w`*3xOGv~^C2pZLH9ksGl= z#r`uzFNm(#e`!SGaq>*sE6-=}U*IO}qXhf}Tn<96F6 zj($u>UgSPObD_3-y!k0*pMj1UZq--*lgIm5yJD<6l@lqN650xV z{0*#272llfDKGsed)o+}dd*$6iin@Bh~E$8+cdH9dz~m^3~GaS7-vru%REZ#Quu5; zJkkcAiEWBMs&65DCcIQ6?=zjbTH!m4%{+tleS3jGGxIxllIrs<_^B|LI0N%s>6b*G z^^_s$8__+j(DGC4!wl?$&N*sc^QGgPI!~wobq$xkQo{#F{y@&!;Y(AS8rGEo74eg8gmn9FE)~M_Tw36f4wSjHr!8tWVqk?sAxd*8rxJOrH)qG@eVjj zK6Q6{-0T}$R~d`rTBzJwPYKSQvi1+29KDtK4D}QV51iz2eWwmc7=F6@4uF(mSz)Lldy+JPnS8}M0oeYbo_M08Q}r=y4sXXtZTh2KN) z#l!H$oLP$YID7Qywzw~fTnju$XJ$rsUW?pw{*8>)o6F_8|0YOpIyWyzT4-j^1P(%8W*-L$RMyD|VKwKRZl(;6iL)u^VK( zmw1db*Zlt(2Wm%iUg8yzgUnsd8V3q4jz~Ux&vD=g|D`Qwj{{BT=+q=fr($1qUWSh$ z?q?AHhxUCW^y@N5ryd#&t-j^x)Q_RB+$U(}%pITCa~#o`4?1nu`gAjVAiC8+X5||L zI)6;tzg)0+li3em2G4|?_s~`Q(N$YI7h9V|U*SKBd;-kok>i`<`f7`68x#ru1AR3T zef10U)i21q#~YoOe&WB3(agJanH^dl zuxHwsSC@__)@9a!>tyC!#J^pUF)PPy9nIWHv5wps+c)%>V>@d~Sx<^>Y3hB$>zEtJ z90xtF&%ap@l%$q(O>znks(00y_rEALI*Ya7M2ZAp_p52DMk&qqve?HH# zcTY5c&s`Qdq2MYpth@2;B70r)r7st}scDyJ-@khmy+0t%3wr)U|F@PWMYM00`_pC; z`J-ms-#ecoY6I2CH%cY^EoA^%>8G#J7aF&#Qc?Uy=y(C z*xS+u;bGZBMCO2vwB<*#mPB;IbjNNjV!susOV2cU#u*Cj-f%dm{`{s_(HmO@=Rvjwiz3L!V^_an$K3QvD#COQC|L-FA zVsHN&-YybYY=$jv*% zX$0Q+e0P*HfjpdFbHwV!m?&p`Bt>n*fy>zTHE{p3N$`0aI0>C5ydd<_`~YmB8S6l! zNqjG7h4dSK(xj2ma_z#;aT`skJ-{^GFEE2dps-h7(RJol@1PK)1I{l&R;ft zT|dcQ$Y`(*a|rzPr1;cbn*W7P_W}!BdAQ*Ev6WttK9qCO(Q8isIb)iv|Hf*y7KlDcGFsf@ydnk3`>Wk?&oMae^;?)V8mjeUXqc z6)ka%+d2)~$3Vx3KS=#1BQlh}k^253aQ@lJd_Fx&T!jA4#HW$r*L^r6Gcu5J(6|y= z(dS;s+1N|aui^_S&E*`{wmhnOQK=#2gZAZ_D?IiNj0M7}ZC1OV!&y0-77x)piy&IoDJM$-pCxmxo z?kx2Q9TI%M9(sh>H}MmAUd|j?PJL3g8J&C?cxsvK5$~uIeGE_bf=<{=qa-$>Xp7oY z9Qknv{yysH)?0tvWaHn(m(f+99y1spr2oXXJQ$l3`<^*m_t{N4rbrAe5x+^`b{N|< zgneT3O_kg3_)l<^JTdAg--WsP@Pmqsp{)cM#Ua1y_u;FrXA;@3Ic58g!QbM};e z-bp)zA4Ikb$2mEcn$O{hHtZZWyo@^jH^~DM-$HhD0REG=cqh44He=-l%#DtXF(T)d zYk-HO%q-|9xthIzFLkxDUQ2v=8duI`nh6frh1u;Fif+|yJEi`7S!BB4#(a`?tx~Io zMb3~dvU-vIP#fi{Xn*k+Ln0aOm)A&+MBO6w#2q&BBfb#M=y{*A;I>Nb8Wnk$d%<1T zS8!3}_!<5Kga4YJj`Dv#^`{p#9EfriJ)-%EwSo!$#pmRg{mf;r4&mQ*aUN-i^N6fL zDq>t-N1vAQEJUA|((Xd+03B=7yzPve(jUUV;J07xO3`Zvpue^qir^_nZ}yCt;_qV4 z`zPvXz^^O%BQcI%LVkhhjKqIOhanF+$OEyd1pdx=6PE|#^iPx1B=VSO&r`srZ$uXj z7vEb?8&1oKj=k^Jww$z0+HfcRBYZc{EEl`?zz_K^JhlxUt77gQiu2fQJl8x+nft%( z*pbJO58)T#19$|!%8d?>%bECc7gA2XY5WJWkL(CvfZHln-!Jk8K4IozU3^hX|IQJ< zpj?74(%lC&UxeU`zcW`+alZI|55AbeJ^mc+hs3^+{G7f!bpQWllbv!7{m_-;u-AlU zVt0zJz{ghk9q0z0{)V_sCc2cM;bW3BBzn3SUJ!lIIkfY!r+J>xb3Jt??K-7ao*(&d z+9i5K^qS<)h+Y&vnTB4I@kIDicu)FN_njV7t>_5g+Q?z({<2N?_vE?w*d{z7{3Tc6 zug`TG|GWvBkoQ^`N$`l+&0;ePuP~;pYW(x`Enw?deGm+z2@Dxz0%XJ);g%J zm-e?GW!$Z{%Q~u6GCmdSL>*(I_*QJLEt3-Cc6^QwO~j_D!&m$<--(}C{BKp|WyCp? zBR3^!zod@;g3}hYvNSRde8p}7?z4$<#5^7oT6xjKj(t;i06)(G@vA~FT|QA3J?peX z)7u#b6ShcuwQ}kdJ)mRDjt(GTOH8zQML>97DrzJ>k;w+73W5!aDJe2sh6ZLPm|Y6Zq@gxe;Fe<91O^Q(EzK0hbk0k3sQ>bGs+ z?AUiXesXoA6NT@tRJ9@Y=#Us~I`*>QPi~^-9r8J{+p5Vk=UF?ncrVSnDVhD=bw5{d zR_HHPQ%QJc-sLFg`F3>2 zZZo-}UL{uuZda2p*MQ$~8+k&-yldPsAY4D_wY&v82ZZ0UQrJf}xq>|iBJVN3IlY5i zZt#L;eS{98FOOlfij69H2V(#9Y^UT7AA3eMz5OThR%vq^Yg^v_6Z?EWL;v4ocN`)% z^awwx?@!GG!bj2nUr>+480ERVmv>@AhM;9n*hhi=Hn6{B&;7T7C-giD%;uBOl)hX7 z-a;pI$KIp2Xx}jVA!J9Vk#AkTe@UM3eL3)Ny_)Z#ANdRq9lgcw*hO6l{^l%Hd@E%g z$e+ZTR;dAH;wO0aC^)j-F&mlEdi3nPILVW-qV4?+tvj7Px?NG3=gatb6ZnR(rDd$s zdaz(rQeBxzm#0gRKd^ zA@s87NSQy#TE9YkN5~v=31UXTSugUy9)yQ)6kV>UOGRzwP(p9f<3g(^!CPzsCB8Dg z`$XGuJ$*ZluH#(Lj=Nb)B>F)7uQFc9_*FcJvz~#gnDdQRE1tjUdyw++w+WfjQo0~ydjleag=_lD{5X-ywJ>_1pVq*i@6E?qW3PyK~`nwXae-$?)eihkQpd;Z|ro_D&{$X}m& zFz>YIVBTdfr{|wGW!*7rY8P4g=K-@>>eTjCy5IESlca9eR8_Q*3vdy5iCy|JIbhD* z(Ak$m^fsF$E?M};lKy1g#(Fk%&}fxZvjRREyUX6np2{`&ia1|~y{5>ukz61v;C*1b(n{*rcNU=z#2X7pvLiR84+4 zHauJhKZyTac=bMhb4m{7NgtlZo}QliTwc+Ipy_Od%T zp~)XAKTr`=-8`ke#61#iJQu|MpoF%I63C-5G6zTSgl66IwcEcj)D zTjs$u_WUU8XiutpX!xGtVKwuvtxxiPtlP{V!?}Mq%lHGmWG%rjIV)6JL`Q5*w*Z0n*SKT+zs~mbE3l6o`Oc7(I?H9G7g^8?n&pg`yt>Qy0k~TuPch&)wA6* z<9zaRTGQjHudX3iZ;Q~s>~9mA@=q^1sAewMn&6oRXt0wy&*d4TCk+M^NAL?eJX7QF zj1AAcz}mQ;JaZVF4C>T8Q{(W=fOBY29mjo&(10?+CxV;cB)oFt-_n{g4(2`~bWn5e z+M3JzvZ6!my=&$dr#zQ81zssumY02|yLd!!5dM^U-I`YUQOWfd{{J@heNNx3N$_Y} zab$2$TJ?}Ap;Pm8yQ!>)OnnoNG;zjA7msW$iDUrtAM{^U51FcmJ_~!uR5yI?p z>J4mv!IgcrG`{(9eE$f2<|KFooPN)M#rOx zcHh-Mast0amo7PrM-HtaH$n5r_SOkaIhsf2p2Z_$sPkMNncI^F*A0jq1iq$04;~qF z4h^P(lfxs>AkHICfV<$GpuuazR|WU)2o28Sk-1xi4$ZA;O^m&(+Ab&Oi*avmSO4ck zmuouYbkX5?V10JE(ec@7a!dF|>(RM!`8br;R7Sf*mp+P|n6FQ0Dw=zbu0w3MHpZW3 zo{KI$N?qzu?i2Z+EIL>;H?%dOTSq|yb*6K;^htt;Gha_@di6l=6M~4NMwn* z>07{G4Bsc(T-bxpnWL`?iF{G+bt#A3c9rYF7rLCZfpRZNIdJSM*Mo*V=gM99h|imP z1V-IJ$F`TbJGSw&;uCm>xbeDyMn{NeV(T{v{BlFbejyglw^$pasp8Vme6|4njeMUoPS)fSrOdn8sFSK^-lBs-mnE0Y$onoAsM$C3SSH4}P4*dr?JSv0tr&LC1WEZ}Z zD(rR90S(NdoB1zx-(|uVw7cOS_B>?X+d!F4)`(C4uoJ&tFeEp(fpx-?n=A8$#w%n!iHZ!Qj7i>( z#1zr3kvH+BhsX&m{4+Uc%p04r$6qzosX%`Z{mz^eUtk*F$h?fcL!UWiZOS&V2Ke_^ zF#p7VuJ|u=Er~zNys|g+aCqly*5T?ok7Mf+qmH!E&IaHBqeJZ5kN7WkyFBmAQl;WE z5L!R^j1k!Y?FD`oc0TR#w=wU6--b1y-vl4w#r5nfQe@dp&j?K9t_YqkEaEw~w1Z!I z^ey%Rd>OdHSIx-D0{U3wjC}b%q7T!NHyPU!^UO+UFc}+(zB(Yd3Y?dLao3s7XY1lL zX$QXGChuP4T{Cpd!pG2RCPxyuC-zWUk-(pRc#J&?(pe*rpxyuSt>jQup;v_0>7R~E z;Ptl8*-wV&YKNB5XpQtG@7B#KDwX-eQ}C$FQ>7o#83)|Lqw374 z27Fk}IzE{ZolD)4f19X#9d$Ej(fv%0)QCjC2yN-}rpGDU6=U=YPjTiQeRlK`)wGlL zE?#cR{F_vaM6AN`9UOf|MXsmKHaSs}8zy~$AHPX-h4@P)79zP~=xXOVJSG0?BH$$U zQr`i5@gqn+pu{uFpsn~PB`0`0e&CmRFFs1q^+%2}A4Avo=X?73F@taW z%YBO7v>x4AM>&nJ_@{g1xf#nj699jp!q>7-XeWD$@m<0nJQ-T?T|B3v+gBs_1$k%G z5&uDMgs&E3yPNzM9WMI&f9b1-(ZA9+uYmV=6t*3FSXGPuc=zYBw?<7ddMh;E=Bynx zLNT|mOI7&ixcb#RoBk|P%^yuKNsdf!$=*~3%uq68CGegC*EZVt3}agn&-GkWx6A2^ z(C_Sd0xN`#7gD7oL;ozBCpnk`Tjpt6H@O3mh2)3}ypz`>%fO zWF4I0m-fkeyyD5kHtYf6+HKe|%HjGef0CManx#_RU%7nxuxPzQh%>+c?Kq zaDDo8yv=-@X!9KIFH`9iuV@LQXPEbXfP1$dj@30MpHyLw8)=nw+ z1(D5HIeytstaVexMxOJK(=TG@>M}zvh&)9ZWLMkEJqkj66pfp||DYTol?~jLgYe%xcaY3;7vmsRz89n&A!3s0tLrmzs~n7bLti zeEvf#m?wm=A405sdRVT08LN%K`nt#*T*O#Wm#R9}^;I1QsjDqq7C7>gvVaZ!6#J$r z_wF^-=rmpDKV5^x&h4_TuxrGQ5Zi#gcsm*@o$*vb=W^;VM-RvzWu4U}d(A%B73h#% z@Pg`7ryS<7Li>ox9FWV#!ek~#ZFG>mBjk@ zYIL^5n5PrVBCn+BE_CVAMP_~jwowS5y4Lez7Xhbw05&P~o36}?b*5Rf`k|$HcVlZy zt{w5MXbEj^{-SeK2$;rDdtULvjC{sY4VQKDO;zx@ja@jM_jVk1Gju9uyr?41WmC5S z582cssXT`uB4S%)4gQIOV+x+Lc zO5>kPINNI}=ffB^Vt2JOR({!&UfQn4P6U1#x~3i5S;oBvY=_10lH>buY&mjfnu-@D zO#(~^9it(4_xA9RGrefNQu1>#D-4v&u8d}%r@5NGM*Ja z#d&g!X<`F1R_L|2@R7Fd7w0*4TjCtcj-Gi#ob{*WJ~?Ty;1Z%NV{u^GYHM}__P`SM zfi839j4b9%fzekwd1^<#7&S5*oJCjV4z~j)ymWegZeP}^-q6Xq+wIsabu!NahAZdl z`N-Vl={rio2IYj$r?sho$yjf*U)s`HRi(5wGJ1&m&{kyBVUHC{{D{5K)-w*R?&y3r zbcA`;f2)prj=1z(_)|SDWodo=(SOLk7fFHj)Yq2p>~m+ZHofjrJ5Z-`My@xrDrC%C zfUjpsNp~4^!Q|8MT{Cm$CCuAIPTH8iN^JW7fa!c+#F~}tXcg~j_!k4E3Qw`-{lQ!25-r*6bAG@)^LEv9f_Yf5ivAb)OT16!cf?yGPsOj~&t?~r3$^4-=VY5T2O-+Noo78`@d6f@>UYjfOGcWm6;3E7|2d?7VaQSYYUx#eV82#3j=q~2+e@JoGVkLBtwrzBtsAJoZ zg zP1Zv4;rK@Es%vY(v^qT5qzEf{So{K-bQSu4U zuk99orDepikx6(5uk8-eWsW$DVr^Iv(M^y#gCh>e!PS={%_dozslK zZ-6WF#V;2$Z8C;pcd{39!VYu%7LGq)0dwjG?0eC7?MGGQ;ds5ki~E7t@0d1@L1qLW z@jLVmN)ACr)XQ}-`BCCG(Y&k2aAzHs;u~jOSyPYmX2>N67m0TWK4Qm+&YubnZLFzJ z;7}XKp-sjdtq(JzCBQ3*-yU57yNR8gL@r(Df1@i(jjA(oWJhavyHkfj+{Gfk-QOUOJeMjHi>;9IzarP za=wW8=!q>VE7$=7ZCJN&1gr>YTE(6enBd%}OKY~GRn zW%CM=i_4Ia5#UyZOu^gp6!O7%($Q&Vo(T5F&upm=f65sDxtSND|X8q z<}?M2_pQW>K8L2Ayjy{-In~PA+i2$PJ~EtT|A{|PVH0Woo0%5rqh+BWS`Tf-#=9E3U3fwKfQfHT;};TMlKG*D z9r85z>hBBEA_m`!j7qzuy=}acxpiIoQqIFsH9N3pz&Wh**RWTF#{~bWR`y=WD_CM> zhh^`8{>X;p!A%E`B8&c1dEp}HGy*d)sM=#gc z?s;QE_d9tQd-dE_d>HMTeg&H5{{zkjHq<)H(0d?^iSNIXXxCAE_Cn*M#1d@m%0%C6 z0*26h(LMpt?4N| zu&f6S|4M8kK|_J9`wrMbyCdvBD6|t@DKQsmm%zRY`P#-+{CTo|srx+HB)!f~^g?l5 zjvE|(=&ajK`H#rm_`|jCJ?xIqQ5biARp&^q+?DWkGyYnW_fiM*vX2aS^)b^O znR|s=y`(%D-I5(0Pd^I37Io>C?5OCL#NL3-Vu!@+j_1cYdgVE;CVY?IL~PcswTV5? z_7+h1hv5$f;O%Z{CHFo%~ph1PH6(TQFwLQWn1)-ykt@nH{poa;7q=l?%2E|LH2 z?60K9EXE+we?r5yG3+HB=LezJTl-jBPM-I%gW$L7KO#r}hMkJ;J@UF8cmv;af<9j^ zaOThF&ILZPTz=`t&n$97#kYlCb@psBq7CRHC4Lq0M`hT*(=klqO%lUQPpnOOwol|e z>JfU35FbJ>c!4(m7@uEAWq6g$MS1~a(BJZG_7P?-bmAyFXS?jtEH>12LnA8GH}X0# z#J@S8-1;-<#k(n=bA0|oQ#rTm#^w>>sg^Y>gbt`eP9zVGc8NYez!|>bLD&Jv-G`#f z&Vu_!-^g>o75~>f;EF9T_NTG)@^FA0=FwJ0P2k|_ywzrI#g)i7XNHC)M))3mJ{j85 zZ+hRDbL~b)cXY3v5S-B473C^pme__uFY)Dx4^Qx8kG6>5>coEWpV7Y4%-d?3)JsP3O|dek}q=+WbD{JMjr46KA(|czWbHzF|JrfxTbx zn9A_1HV4dVV;QUVJ_k+w77PNjCG>p-c02V<#l1 z*iA8&R58skYR1uyEC3|JGZLFu-lP=>qSRivG$KCim^c!n%joFwbtvT(k5*GWN3vzDSx|wyB-C zD>|cZpDA|Jz@puGZ(9TXZ!b_y$=IJ6tSfz*@u-;R?N+frHRbBT?d(_9YxuQ;*B4zH z@m(1l{LZ&otI2%*>7vUb$!**EzEhz(mM5#1-XRbD9pc}g{;*)uVI#RF%SiFK`8AsE zaN}o-4sM-!_txdmVqAt@+VY<{ldNLPzvo`>B=@~J`Gtm6GnoCnZ#Qx(aj>*c0judFGEAsh$s>DGPKE_iHU_$$NlY`j$SAugO7= z@#oV{v zyXasccsH3@;jOdo(YSsGT;1Thv&8aefosdW!bt+_uxZs?i_FZ__>S|w!~UhE#2*iT zY0dsCK7^I*gVItnp!5UF?XRa_-ytTu&T^elOUgfg=d;eq<4l!-tsrM-a;9EZMYYPJ z-BT)B_)g}VIq=~+`=S#M*ca`6^wM=}Qmxc*C+jeCir8oD2ltc;?ydY-p4Rfxu(YMM{EBcB?d}+(I-2JHt2X62ZDMSmY2;SqSXX!g*-pDY8)J7! zyNJ6t{T*NUUwhyj$i7+Qe1`MYM1M*fr0>owTy(I-a04eLQq88P!VgU|=YB)~=Q{nL zuO`o;?oX{g{^R68erTon1KC0ENz3Pdx5Dl?W%c$q%`Dw|y@3q~JmIDBiT;6?Ql)?H z?VW!ZUi#~|q#eC0HfN6WUT>(T7i$+B++0kI*XSJ~JO zEOPK{L6&s;2arFkdGkBotv?8C&5gG+@vZRnH?{G<`ggan>)U^`-fK(#-|IcE`2W4$ zzZRZduiG$gD1`n$z+Pv)O5fi18k1Vh!b=NBaGp42H?t2<=6C82JY7C$?<*xQ=4Be0 z;XPbOLTk}g*rWc&zUrkv1xJP*-d&(+J|#{!tH0$xB>lyik2#CsUkiOuAo%B21khg} zSUK?O6 zx%Mtc_P3S$Puy7iNS^2d(E}@uOfUK(95ga3vdTt;W#3524R5tv;U_PYGfG{1UomsS z_2h9Mnl-cZP?jp)#{2d7gAS8(C-N#XB(f=T`3|~uP~2wtdV9g~TjXKOIdqu+FJ<`e z=vJXYqnQ>dgy)48O*1dwn$Z1Ul~;#f2gh}(v{Q6v4!TF$zsGWiMV~xE+dIjf`4;qY z|KRS@J?K`^t22du(C%s4_AYwDZKPI+o~TBrzi)Z`34J8r&Z4a7mR?*%w;Uh3BJU(+ z-(?+?d@;^aq z2i7;~KnK=&=-+NwrCX&A>&Um^NV=x{wc zM(7~@@UL{G#NoSiB|65@m2O8@LaRn-BX9*)ZV_jdY1pdi`eI+iLrm}2yl?3-hPmm# zKk_UwrZEOrh#uUhpQY+?PRg{HsTHsGC@0UP?9s0&_x{(EJN-4~3~11T-m6wQ$l=Wu zvcHkr$n&4CX`^nCJ~&tJwuo*(j-`E4UgUMpy~{kUi`gorFFm$*cbLkw4pWYdhhkLxe2}f`;{r2!I4~Z@k~c=i|);t7Pl!D zdnawy<4dX@e+MH!bD?ib<`nP6GXq8~8e5b-~s7nt4_eZqn1?VXK+LAfG0y;t4 z!b`KPES-NK^b>h=p7*;{`d7}16Bq*1ZJd8;qHhY5u#5lJIr)9~J9w?DkMKBS{tYLQ z&kxaQ26p9P>}=_)vN)~#7g>I>b4{P>NKHu^JX)pHxUi{Hu)BK=KX0(_O3&avgS>;s z@r{9Pj^87igg?!|Mwb1o4eb6Syc641_TQaGEMYqTM~`*Q-n5bU%Q)BUA4q*Ab(ID- zyvz;%1RXj}cgs{h*Ojv2jo= zZ=-U1-68To7rOJ0yOY9)v7?`cZ)C2i=K$jH4A2e&8bxBI|N%`KcH z-!EqE)G~BVJ#(pQe$2J|6mkyn-x(tXo&{ajDXV5ruG7xF%+HTmNm{?T!9AIIn&9g( zl27aahh%VW;Oqe}-??YrR;qC-Vw^xWSWoGXDYs{%JutjZd22S>{_uNqZ{3=p;Zp3C zug5b*<7tBDZsqq#{et5Uz)^gbtT{a(an+t}cpDupI=Df(XqT&E7dCJbIMu5Z){7_A zyghS9SG_wpD@N*7arz`dpN$KXb)8G`*S^i%%7zxK6Rz|CV;A$dZJfoBzYV%>eRvzNH!6=;aNWk-YU8T= z^9IT@&NJHBoE&*t)8A8bV(!c?8f?f?lLy7?wWxPF_3nm8-1mB^*IiT1IXCr;bu!-V zhDQ#6q4eBpw=!-xOdWsyfVzpP9v+Sz#Tix5rmyg{=p+xe-8E$c_qvOp%S$$r!^hqH zeCj2!`31)lQ)WVgZhDqe*T6U~JK@*+!A1CI_d>xXxn?J8uw>mbYyT@`oT8rD?a+XH zr0iqNw^f{%rN5=G?;mP6CHiVQ=URPJUvGea--UOT(2W@W*zIGwzS{sF6vg}40;dLW zA}NA|sl&@jLY7?IVnV z-^ANH(0vYXyB*%9ZPx-%VC^aLMV{iCj7^eMR987x`o{A5C+n-*f2Y)&0e{fub?{fB z&FtNIR^QjdQ_{b;0c-a{cmST-&3S>+_hr}u$MJ*Q7pLVhD_Qoa$`;y6yijqKxHs{= z-?6uA2YKBcg^VS}P_92DUkCq>#NHAyH}PRP{^%s~!JJs}8RA2y@h5frG&z4>*&XzI z#|`*Uw=oY7eUCXX<5e+y5F*DZgnz0?>Xvu>FH~ywC#|LM^74*U1bwKi2_UJLI`9Nr(_~6y=s7vQ6gr}@N@yhgu@xMxI%1`Bi?FuR>-dkADGib|TAS4;#RhSYaJ7mQGSHO}EVO zhul}y%qTTxI&-2D%jKQM+;S#;Ec3}??2u!`ex%On;5Z+AZTF=4GvRwD_MRSnEgp9~ zCb1#rgVGKcdd)?BEx>1A9KQ=1s%C?He-%F7qYY)inGgOFXG^qUANkYv`<)}IBxVY% zVwDH}xfS@7!@@^vEn{!UGQz?SVpINs^WdaEg?3g&?UrGu(gx{c z^2np@{1?7{hGz}vkal9r!~#0nv$+xn>Y2;+<$~XK>8(Tzt*1|V0Xph(exuP-qN^6C zs}DOC*d3eD=MpEDb^D)yPdoJ#BOH@bAaJ71AmWm|t-Vzz&cMbcoufOyBN!Uss?nX!LLC+{+0gOA5 zZADH#lvT$bAndiSe0hefiE z2>Pw#I5@CRN_6Q+>F3O-w#mTp=!NXHQEf!R(4w97PSWRJE-2gd@uc!ipXS>gv{UbS z#F!VB@w$y~&T!o&_>c!%uddR0UCg04?nCJ{1{bjIpc?!)7TLl34&6Gpp@`|2gl1Zf&fP;?#vmOR zw+>Hd{I*v3A24ZLqB_oEn@lRc-`BXb#?DfkR) zj6UW$G!EFrab+DC^SD0b!_D4~54_IPJXLZdmk=lZ8k`O|xim&}5@T%wr)$7Ta{U@+ z4KMvV_>#}XDV-mRzu{}})$7hgmk1A;v}pkPU>$bKa`bP1Y?cd%=?s{=_@OFSQvPV3 zi(c*=qh3-oXOwoPkq>>D3bduMRuH}|SITSCH>SPRTh6b|D)CES34GVg>ba6{SFT)M z(evL_PWE~d-9ld2V}+%KwUY0X*ypL|IXj{&dg_T`&|382Q1stbMckK|(P8Mukwfjk z2-^;n+kK+L(2+NU`b0~h^N|P9i5Yfa822V+hvrBbUvy}J9heyMMNKKgS)U~X?0}E^ z9sSMdRfD8Vzvxv%?7;Uz{h}r0Y(D30p86)g9l#h_D(|zRBd@dr-w9$_!a9Wm2L;R@#By|}7xvaF*>4Bta9>`O936N_%5Z&yYlv%`9k_+>%lYjtaz_WfV+VHIT;H<; zdqVDLGWfjB8OH-Zu>)@Ij|+@5cHp?c_<}1i+WEF!Vw*m@={WZT7v@hg@SnV#K~7dq z`KEy?IcDHDVE(wmU|-+u%81=he7g9u2M=W6S16nK%a2YPM!1C^dntrBbKR{n!YjEB zG?T-9a)^)eeGUJIEixws1Ab>``)`TFpM;mlo$w8kW^BI+7S>1lYsD?A2`-%`Hc{C?3_fW6A>7i-MQiu%l~6^%Rx*Vs#ZKXQInG?}*VR%zia zl-p-z#e7+r(UV5z3VD9g=oi~Uxy<>Q(NByF=$0DZM;lwr%-G4y5hg*@MEWX2u@-Y4@iqQ583(Q2lIU!+Yh(1y*K z{h}+4ekzhBKp4chYu6##gH^6Td__QlX zo8;LFshc*(XeYR=pq|)`;O~LQ8l|j;ofVa5G1~n-+P#9df(KlH~m&ne{4SUb?Nspy{xG4 zLlrQD9~$YS?a)o$T{X8~wEeP)g9j*Aa0xV=VY*`MtrYV^w}<(DMzSlqMD-4Tpj@#s zXpo?#$oqEc9|;}X$weU7BKQJy!+)!BUJZ|w@qLMleeTJlyABvD!Fe+DTb<>J7F$Me zHUEXrgs)NzD>g)>XnyZ7bAwCnEu1vOmBM<_Oz`o*($ zH1yBqJPdF!fO)Y>jcw=Ki(RSY+j#gkBPQ~5hhfG>vS(DlN{ej=POGLt{-jG57Xqta zv?D1uIsy90zEUE`pF*2UkV|5B;Y;BClbJ?zB)l%q_d&aV!gD9d?`WNGM9h)*i<0u+oCp{;4p_ki8gMV^kY4qVcN$xluvm83oZxf(nHxH(T_d$!#&}aK-$8l&u zOeJ;_dK^#c6&3xAZjOo0JqbNl(}oGq@noh)>*wF_?WgeGC00H(NQ(um?ARUDdm_o( zMayC60HNm{n)jsL@;z$@RUiGli>8)4_BMKIHgyk6wxT(f5!=T-eu~)J=!674)6oe+ z(|zF63O@Ug=ac9?_O8>*gipVg zrcXR}U>Ur4$I;(@M64<{3%Tx3e+CUJ{3LCu&d7|)vz^f59%OkZG^>X9?t;&%HSbyB zG0?0U-jiofQtobeui8qYkFD4Ot5<9ccuhyncfx2`Qa_-!ZO z-j1A)ffm*1=@^+4{Z=%>Qv&ZP@D!R^z+=y{ z@M(0b&~hVf5PBX%*5v&dBQyFKa!>!P7|R$e-wrTyH64%AuRZBljGQKDSq&`*K>H;w zBU*1-jDgmQdd97K<%!NRb7GG|%K_Lbt;E}QLCbn*>4VPlyq-3#hMpd9*u|XqMJt2v ztQA3Izh3o@4l~WzBhYdz^42KdL%;frtmqswML*vKjeh}+$0GX+ELZGBXe%;516n-c z%8x>8;0Vm#(PhdC&wvIq6nPnOo}-PxG$%a@&(&+Wcf~eCPmz5W{kq)cjzV8x^wTg_ zLnjxwupvr#2Ku-@!-~qYr-1PY{J0Cf_Y>7C_9NOaI^Y;|`H8DnbcV_VMwW*03;6OF z^mvo}kb2!7#$le#K(8;GYeffWJ>ZJ{6grA7m;oMP>;a*zL)YF>q1_Dd=t#iPPw!h8MUFX7E6wT$;Z zOUB2b&*lgW_;U+D=DY8R&_nj0daC-YY~` zjHMk*(G~S(?>J3;nxH@|$(Ny$`=n`leeHgm>%*+*{ zOMGT}v>rW@#e8QK^xR0BTbWz!NA`W#jQTlk$zUEd6#Y`He6fSjRAhZ9{bD3@hBbWZ z(=gMcnaq!d0!QqfEx-|*=ML-!Y?+wMlVpxmO?xIl%SPV6o8;*lulHa6_<@PnHGT9x zI(dTOgQnf~k336^+Y^wL1=vkJ?S-D>_8rU_W!(M^v^<&F`>b(W?1gvWy`J`hV*~Zp zV>5ORH0&O;WgPzveEI&o-q;JCuh%LO;k{VI^&p`9gx8*oz4soCQuB;khyN#YSu&a?4|lj4StP zdM1URLq0b$Udwna&!0nv|CjMv#%7u4EdajE^HQMAMd-a^`d@rJ>-nx2z1Kp0@;oue zlR1a*+H!1iv8iSLAvBb}?@2?MuQ6``c5gjrb3@~HWOot1n&OPKDEa03`FiB=BF2Xg zXvcbZ=@b6TT;_S~_K}RS56(}EN^YmjImB-zbKX7V&L5{OL#cB;I*0?I!@YoAO#6># zxPfhichFApYkiNl`pjP8LF9b+ii}P8!Sp&GnLmoZOV+|)f^L(1sD4+Po20G1iBX@u zwk)yUrsrNVvOfpsT;j*g;#}Fpn&yuF5|gky*sJ9seB@qYYaJa{w!hWPt|+uiPAtW@ zUYG2|j_ZgevHs)39epRwf0~%?9MiZ#Vrq}G&Ry03H=@5Uv(mkab$aYEcOY=FoF^#j zWip~aB9{0WW#^ii-X!AG5@Td8OFSbZdK>SQl~qwlZV2nQCr@9LJgKc$UEiwPoHZ=v z*Qxvx)*RPSk5buZ?`zy&_EmcB>3$chjI&}v@#o?TFAmioC|syEt$*iNoNcK(if2D^ zV1375J~C3+(`(%m2g4*6JxPx^b=e{nL zE9-A`*}jQ;%4Q|*DVyiq*Y)EnFu6EsTP_gtI(uiz{?2ab-L#o@^P*>L{2>DPBXQTgkUf2kFGWDU=`F_2Op zagPi;aK%vK9*X@W`kT?x96K_X+lu(Y2VeBe#MMt{r zz!xP2(NTklAM@Q6rJM&Xv5XWuuy#y#bkq>}K0kWJm3H7!VjDTcJS3j+Sao*vmJsWS z$J&9@{9nNHa=yQOoRrUtUVa@hmJt5_JMF;KP+nBx6<5`9Pq`7R;&Gap#BCagm28o3 zh|~Pg4h)}Y2QFxi$7}Ag1A)m-tVYKI<`R!6;Y^(=Ql6N=Lf((bhz|d*6C03N#_($P ziwB?8{B-PQxs)Y#voapLS#1X-ZlmKdkIOsaFl*!Sm#6H2#9d6{4nv=ocf^H$<-~;~ zmLc(=BgMpIw#qwVGJkerG7_(lSj>hZGkU=ud6yKu;00nm`-%0m*@3G=Nzsy*iS?Ya z0~?V?D}_B&fpgIzJK*A8$7SAd;xZ-2dc}y-iya$KCuH`v6wURj#$hWtbHVw zAn_Qp$ZnEY%)lW_(s$=<5AL3^J!r6wn|OXu_NM3Rkuv)K0K19Uh1dA_zRI#2o~|w9 zUjCcxHM3o1d0Wws_?EpUIi}YPUz)z#y(74L%8npD3%^CIfvd;j9rGZMenvZXD^tTT z++*;En!)0SmRDkHdD;j5y0%_$pl;R@c%?2A81-DsE?SXZj7eNPBNkl3|6RlHPro@{ zZ@qgr^(Fi3r^q!?U$U+bcwYHl>T-ief8_~Qt6UHIE!aM9U1hb(_8MD%uiIsU8_&JP zm;8*nUZt*AgZOg2%ZAsdf1B$Lg%cTtDivxoLnPto^&{BYiKBNw=mFVV{*bS|f! za+U904nFuwsb8L@dOsNQlk}F{=YuV`J|7&<|LMb*rC-T)3G^y=?+mg}qo-K8{pC}3 z@;$g%y?9pOS$@gdbaGjO?%X$m_>8?(6^~bL_y13AnFVbO!|T5F4a%o_8Hc?s{BBdG ze-`~HIb`_e{blscyQ&~qO#cLpR8KK|6f^{OviD{q*Sq_o2h#mlEv?+0(-QPw^~>57 zrpN2IJl@?iS}5c8;_LVRjIv{u;UA|A4|8mOZohx{lJw2cpI*HmCz-Y-;vcju7%)BoqSaAkGQ?%+?V8*9IB_F|2S%li|nm$!Px z?%;O~x96y`yuC&&Pan&*+;IDkyY~o9J>{yve|*Xw;F;bME1735&v7XOeJ!JxU-|`a zN97Uqr`jEs>1{Dg@6sXl>E$`Qf(1q|Px*{p^tH#cgXh)2LQcGI;MXT^=J{awPtu90 z1zXO0KKL^$*L!6sT-kE-^TCA^H`M;wEC80}4Oj)$zdV0q z!~^L^RH|pKw}m>~p0&5g)$|AHqh*%mU8uM!L)ZW6A6CJ?u3+H)r)tTW@aCGi;FIgU z8CePB$AUYI0)OE9vEXi_z$4FpHfn8pz$<*x%M-XouF3uq+9x!Jy2Yk+TFv>Y1j2`(cqt9-_uV7-;=*+JU}j`|sL|0+18Qjg2Od&;Xp z{L@~cugE&I*LC){lKmnV1FU3^$oA4-hbwp7^y}IUlo1*pK{m>Bo(E0=G?uH&Pn^TM z9a%3%#)V$R$hho{Cgn}|7oPX*f+vy5U_EjjL^gJeezbB&{+8Meln?UT0dJSX*X8hX zIsb)cm(gzF**D+^;n{lnQF!(kJSMy?-_@&L!7J(KAA8AFz( z*XQgE*3Z}(6do3Sl^nPLd@MX0ppEpWU-%Ze(BJGbEMS|So8iTJ>Jc8rm*%a%_!pHk zF56l=131T__t+szfxQD5$k`0J7Wj|xTzFY{7@77u{7au+zcO9EaaBB?9{BbP!TN$j z!N7&r1?y9$KxdaX7kc)Hch@lH|6z%e{u&{sK@32e8=f|n1ST3&hR^j~TZQHJ@Lw-lMkK^~;NImpDq ziYL+nXdcWv4&TywmSUss==^X*;1(`K4C=fbhUR}ITk zfGiy{EdN?7+xs_o8Q>_wt-J1(#g^5!3YkZR^98qt2|aeT*{Yi~~0zH>dMr!39>5 z_w;SC;7vRe{VaOfZBRz*5aW-)q5~3%?UQojNs`4XjdlJcl-( zHuJr-J2+37{$wlJ`*>h=<>O19sy#z{cY}8h@|2UmC%6Ef$oc*r+MVh-#Ph^B8en~^ zjHSnUwp-+P!rFBC?(yJi=>0}8r|@Oy{oPuVm4hC41EZH`s?{4EBRJ$Sei+`4 zpWas)_{+xHT=WrRh_?ed3*) zs$4yOQ|)ld5I^?5j9jkHYvFyqfAwuG!C|J?JDKMqpCX&Y47?(nK_kzbH{tPg`R1Yox^ojNHv8F-f?cdN}l-Vc#0{IQ-ZklSHqFJLEoWXy?N@knK#M}Jux zp^V$;mGL7&R`#&i42SEmMh9=xy{pMU#j>;`mla)2B#vo!&1K&yal4StKU>4yAB<*>uQuAR-hv$Fb_E%mU?3_ANjq??B|V)UrpUFQzz~8 zPmb4}<$cqlZOA%#7u0P9FGj|1@UN(Rsn;{LFY&I0cD{s+4@1U>A>S|YzgxC>uVov0 z2Uj86z#9KB^+4;w{lTee6NAJ2lY%!|nciWHWy7%jZbY_;b9+8V*4Zl|_zz_KNz?K+ zzW8|Mh~&mvazBvmOz#L}yD@J&c)C4}x5+i%e>cy&Wt(!ycD2gW31{?j~3;xl}_GX%S-u=inu@=v3$hr^No(lh)$hNPezVc4> z`&#*~T=~2ck!>HcE%o}4?TI|=mTk&t+0N5tw~V_l-PiBA;C$rPmwL69&op$)(D9LU z-!zo=!?mwLUH%_K9)yJh?%)cp!|TGV}GyzX4@M!uPd z+~b3xZW*==@12X5RQlf7TDygJ_@2F|kau6+^VI!(a47#1a^3=N2^p7itFB#1-7f@1 zj(w@u1x0>)o4viKu78la_fe-w-4o(UA@@}dy>CP9oxGDi zorrw77sMAB;*Tw7ZgH1xa zkZ*XMx~*U;^1Wr^lFCz`JypAkchaZ(k#8UJ?L)rz^S@iZc^{W=DYvR(Ep@*U6xsEq zepkybu?z2=jO)H@_EIPO?5~K|oylB}b|LTZICYyr3pw|F3pv}lv35W2s;Pe{a_&RU zeaQHo{O^`;-gn72eTU89!(PyGi@hLnUVu(n#aQmUhQ2_Keg3iWy3@S**f->yb;Z6eBZ(~ zhc>5RLwr@f@4RVA<-`|%T|1O_|DJqj>vDH8Zu=OsM``(<6vRgIWSAM=i4)dP_iNNC z@;xJ7otjGtHbV=Q0ASngviKXcQwwLZr3Y{qzUA{omy{r!g=UhuFU+S`I`x8x$* zX12fO*4-M`8Eo?$uh{0P-ke*W$L{k{XR7zt*bXh{zk>eB@wfE8F?d?#cx1f4oiV-T z>Vv>=ds+rha$p%Uo~L@pBj4nrdYEekcQP-${jV!4$6JlHVn;B)^Ik0T*4*v*FSZBC z5Aj-~9>+F6gpJ1gDTf%pp&R40l>LA)yyg6TK_6pwOYaFmALI5b>?P5{nB8Ka*RYSt z)ujGRugs-WZ;w>oe(ly;(P`q#7|)p9k{b(VTI@A)YYf}k@+5pFVv{#A<~2eGXY7_e zDxB|r&G_AN{&T^*k=>TwR|k<{&pso~dokm8%hfOOT@LNOfh#n`wmivq7c+jdX9Ddu zm@g-LZy&y*@`3la)_%ad-QbeS_}!Abhj#Phf46+|UXS0Iy4QCJ8DM+apA6xO~Y3sI`tghd~qzoRdMN zHDlXDD=4wHBoUQ1)*@JHwLMM(UTW+SDoQ{!zxU^P<_UpfzvuV*{r<@7nLL-h*Is+w z_u6ZtzhC;?Z^gG6FOB|E^>eON-x*h9OMP*7^-EK(W&GoOKgI6(B077sNzcH3Dq#;R zuy`^y;S-GJ?+;2mF z2PV8&{d<#I63Dy?K2ObHy~Wpu{tnFg9c{QX0+X+?+rqYH9m?lIe+QroVmww{scmPt zHn8{UMVoj=?xD|h!9(=_DzUIvs}*O8mwpG^{5j^C=U;t}c_;qI{d)9wU_x*8HuyV` zSyTNK{7s&rulq~?M&B>dCvmOGS10?H{&xBLOaXm+=sUeyajQ*R?yl`_`_-a0o>5E1 zSC9S<;A02oJxdp^5&E0wmj2e9Gj8;EV8YJoFT>w~%vs{|jPs1ow+a0nnDtxwOr`HH zCHt2CW?b+jF$DT9s6H1T+;zs<+RD)nFRJGm>s!7`^mhOsJb?e*$NwkvH_t8oool_< zjs6Zy*k|!3V#=jf8K(%;FjmB_09qKdzJSE=DEPP>V_9+C)f7?x_cYCTXE8D z=z{xF5g$Z9X>izay_uf_eK_a)bDtoeDCcKuB$D0@Q0`Ky@@sK zs$K>yjP$+9waQpZ9Kz=9@yxaDvzMc{3yS_&{dMND;LNX97vf`Y$2Kpx;`hV=@XyfW zHvkVlB5{Ot+Q_KB37cZ+gKf1NCjMxVVBJhy_+$8bDL(j8{O@1zzj%5**IAMW@U|Ua zols))cZzQnx_i}xSD=CMzEzoXiCd*+`~aW*06zJuS%0WrHTf%iBb^N$!PBcuVFvNp z>U)WY&ARe|+LYHj7AYPyix^Y&1?#h`$GuivebZ~!^GD(7rM&kna$}WOysa4Q1mfw> z2@YQ)y1Q}0UVdlz8Z+lqKLc%%)8zBulQ+&n=1;zXZ=|z1v%nPcdpzH#SI>v1_h0#g z+Lg_ZFIven5Bg;O1sk%x<6f`!-t@ZlT(R|P-g_AOwPWjw+fOL5X^q$&y1Qz^f77Pd zSC#pVYU1f7b2xvv7~Nep>yOozhhk31< zJcn3YclDRyLpOeU)r8&E-Dgx*S7lyXeI4?q3Y|($dj@+gfFq;&QuvZQ2w%S`EPpS##)r8+w&&GGI%Dkrf z&KVmlTe=55Uo{JVJmYn6@D1i5Jwq|G9+OI&Dd>0cHSvKPc@FK|>;CuJj2~=SBtOym zpO|{}xSiGc=*Q}th~Hhl+j_6sGd{!X$|%vg%47I-)6v^*?1Nob{#&;9bLbL$aPR1= ztABX=x}c(XYW1qvqj`Cp_{$F`REhxxM!;uc-$r4 zo1U#+h(D|QvsoMQj_N_i6|&Bt>)4VESBCE~bh#H@&iaGTi!MJ{a&0wrh_t3-ja9ZY zv0&nj<9w;;>)Au?wY&0J`^4iK8?xv=cwO)OT^gq0;_GD*hE$(gP6?O;q54HgNnaO48)cXEJ z@>{SIBM&{SoQ%AZz4$nJ?Ac^rb7aNYCvsapJfbt@N9MNV$MJ!z+?N008Tl~(*W8x1 z$v%MZr2LjomhOD)ma|XJZP7jDq4d4Dv6j4+DS^tLEE3K)?S7!P@3yBFk=N2$`K|w~ z?f(9c7LnJ|S^1;?tnKUAx`@1%&c18zt?drP7m?S}**5n3wVOguEOJdSo%Pc<)Ycz- zWRc5nIs=dVpw_kQ@kK81t$vjI^1~6iFXXoj*EJoH|1zcOjy7WZ$-Ec#MF+q+c5MxL zFAGQHy=X10hP;=;HqNIF++Go-Ui3+MFUrNBPQ*-bq1=qhbw2YSnrhBzpeb1Z}85A{I7GD%DCnw z-?`ZSZRNFmi+8H{zl?V-=c;oV)K|6rTlp-Z<-AkN^$WanJ=e36@7!qr4u6B|zwu53 z*UNe5X0FA_cNW;c!{6fipS-h(>(#t-7uR!=?<}!@hnJt4JM+|M=FWWkl$@9E3)jh< z7yY(#UhI4^KW9;|z0lq#@8jy!IPs7lru-M>Bq#@l{oyZPK@Aq|2foFmKkn2xQ4Od4 z@Kqh>YN$5J+n$Lf>ColdyvutL@&S&19{%yc+vC{h{L-aYPYD=bO%?6^=2Fg~F|OV} zlm=0yFA!A2c4jOp+610RM>rOu=BqHzbkx+`j7APcMScf zz1=m&7pW*$Jw`Kko|iqYe$FOg5A-VkuJ!W|)|Gn$-RqIR5%vs4s9Q32rz`c|d#KAb zDI+B^nL3NBQ^@m3;S3)$re^b`-Rtk64#8C^W+w1Osl}5sxyWC3z>`_x9c>oH=%d1T zn|c`MJigPO`Bnbz^#S@+`;#W_Dty#T%2nXWH`k0^m1D-PTzyX=`RKhK=z@JNHLFrm#?~3%KqJ=%|EfYa^5?lp z#8ZCw#$da!&D=Py@-+T zF`is%KC!pMS4wW;gSXyMe*OH?a_!gO!T8(AJESJmb^Nhs-b<};lT!yC9_G6*vmS=7 zt9gKS)ZVYD^B~*(V~^II?e?Bra7THoCuhKE(`m2HmD1$2*}y#UT@5r9^#VhV=JnRe zR^2)ErEjWCcI2wy)ZTW^CY?_`2{Lr=>t_$YmPO( zGcmZ zXISr1ONsiPQSrrW;Ft^l-b3wzBFPp>b+x% z&yRSi3A@`j#^R@(wBXFlwBX|Nc^4e-UUfre^m2Yr=DWxE&Y}f)&>J{Ek_jJ9%J3p1 zZYx*4%K2t;**x+yFLl1%k{O-B?@yL)>quklpOr88HuX4$TFz;q7FG0(pgE-Z*86oP zt?3=`_7>0Iqum!S4KDsJwNsw=nwP=zLcJG42BXWP;DB>}sBLJ>;-VC@Sof)=$T?8l zPu}yxmtlC-aJ?KlKDXuOmUn3TUH;Vf+nnR%z4ewB#yEENt>?BRfc;$H&^vE=(o4LH zZ)tf9+4nZ@4gqH+{pjI;!8r2Ky^>R!tj2=eidE4{i96XPWnyZe7qq-P~y1Vsoeoe}Dwx#V*HM9=U+jkEEx$MEHBX&ovc_VER=CGBO+;oF8T)F`Lx#B;yfswbb!({Q7lGcw!}yFp z3;e$D5V~;LIWKSxcCt=i6GcW%hrX{HH8yg?t<%eAq?wuiG_yEoXlOb(yDk>!(m5Rq zx`j)|Mt|3_=AL2j{r4_w-Ft}nILzOFb2jy~1(B7q$EhS^5U}4M3wc z)IQ0?rWUSEx|uHe^Uj_ep-$4#70_HGV=myC&N3DK6=a5M_vknBL3H**#(WO+s5!co zxy&KQh}y?ZhTlWb%m<<^&aJDy@{&j|xM{xpoXF1@_nr7CJKUK~4(aOT*>IVB5$>wfAxeT42iZ^1?7`hS``J5mf@^qa9qu5*p;o%U(f{R_d9 z>JI5ls3zun8g*n3@H?HHa~JScn7pPK{c0|cczh+)!70%kx+c9)csBM!;;Aw0`wUwK_4L{%9Mopcy zXP7M2<|>^^EgbCF3O_mG$@5{ha6iVk@>z6s?(6>${~zah0^APcAX$sdfb$Ud8yV9? z&4HgepmvZojwDJ`5x*7s@O;|7hPZvikBwYp+ylDD*-2~gS0nx)=g|VcE6;4LyVNZF3+?EP zy0K5L;M}jV5$T#wx2;$+l{T$&Cbq4p9nMo{Z^uM)7UxK0TQamii<)r3bk5!3401>I zjo2sA4_&J+5%r)3>X{eLM^e2#3m$$0k1H~Xdwt%W>jN88HkhExf^AZ=W|YD1eVg$~ z|5g#xfM2MQW}-KbsVlE`naDhUUHRgvb>*sULF_&ibL3m$y7Kp31(BOp*Oilp7WrnZuKXoee&nt#b>-}XV$V-%$<(@OCw4*vCx!B#K zBVo6XYi1;prmHW~%GgzVS7$wYyt~&6-=XlB4g2|h%f>Mqbmr0~#<-a={&Y-Tx#sp! zzu=_q%v8a4M&wt)x^nHy{PDGQ<*JwRWJqwG6?y!2!J8S`7OpF&&PgP`TJZTITVr+Q z3GmGNK;*G4b>%zxR&`8L!0i)VYU?bxpX(JHT^pLf!{^GuaZ}^(eA^b(nZ@vJ zr=I1&i_<3tJ6mdloyU;nWz;MDaOLPJGtRW+)WN0jw%J`0O;C$2CRujyyeM_bjxM9U z_GYv2owc0Xcp2~9u&kvXjyM2)VPjE) z&w}ae)bP58TCc#+hfapSn+*R?r~X(BxoEy)woQcBkm_ zwlF@H#&ZXK-t96u^%=ZF`_4F}Q=k5LsI)6DSgx~)jQ`d31ryEKrNpC(D$K$u*i7AS zZ&{)-x~Em=HzF%Ecap7=Rq;Z_tV~J$8Q6*&|1GPEdwmzV7WXx}qmS^6T5}~Ko-tRo zgRIqz=Uc(^6#WttIog^*7HB5MOBk->Cmjb_25L$4SuZfCta_13bGmN z?DVM4R0#lEtLNK)^ZUCBL!56Zx)RLw(1M?udVa1t&uusF-uSnFjH{&@PmvAJCTiQZ z`kMbX4A(>HQQ0jTcZjjnPxQ`lVc&$Zh{d>Omnr@uya|UNgTpx^@E7EsY#;}JMXj7+ z!8x01D@a@8Q^3b5?W|Bc8%$^Ah;~A!w!<8cLO-jWF2Mxsitp7A&EBhfitnA;t^?nB zBiaq0(ysMQ>a}H}p}$}ss;#BhQwvkD`aiqPyb*0W;~j_IUjNqV@%}6D`ShEofA(vh zy>{UA&t6N;gW#baB>ZdhiQrD8Tw7LueXz66<7)c){cVMp;wQ`le$EFhNpQx|0qO~c zi8~Rm*}7uttSMhKu9`3Lw~Dm^t&6u~*Aj28(fM}sdmpL)K(Y_`9=75g}t{q-fPDXRATNjh|3 z+fV(xpC#ejAE6!i!h)~r(#ZZl4oy#-3Qt<7?BYLu20X}M3!dQrH+a7P8Spgzp0nhW z@>^pGdS=`7hmNVgFu1tFj2}Su*fQdHdh~t#Zqa3ebCrv7%+cQ_X(I6n|6}_~@4U8W zsI)sN8w10#(G_`@XAXS|@7>UmnRMk||14tN!U^{z&)ob*w(T)o>qgA8)&YE8<=qW8o|I?M?`WVjqAw(B#-=Cj8Z@|dg;Yb7Bcu^!@6G3H10S*@#lbLch3Se6c5wzuF+bDjEz zR`X-hw}Tnc(1l6e%h`vaGD}wPiJ7jyg)RmM_|ewcpnNa;F(KV?m3LTo3~+BG%oe_( zmC(?&d+RHLYp}8R6!|Y12yxH)_91Vyfxa*9IsKT_M;CoLbRk&9XUpKdXATaP?r=|N zdS=bW!gfz#)5iPP7ard+RO;}V&W-Fxwz!JSTJcvuXU}YNPpA>!?jwdp-d}|J(KX9x z?;XyIDE!swVJMoBq?v5+dT#2Rh8Y>0v7R#4!1GmO%-DvsGp8&ax_WPDh3PD~#9UX= zl48{(E^09gzvt-B%u!L{*nmHcq4jRl*{}qjy<0NG-P9;~uHUoy1|K_Am21sI=yGaj zLt~*urt_w%%;-GoNjDa|qxGCS*+5%{XID|fnl-hOn9k(Yd~6&Q9Zg^BpE^CC6(#A! zl3Bpf$62VN1OE-7mU`$-bYc9iX#Em@%d6mjHY&sur*3eWr_#?!dsnkgyR9MAE0 z6@QJ!_y}C&Y$ARnyLC2WEby2b(Q**nHC$dC3DJM0-?g}bv8%pq5AW133U+?$LVP>y zE}e__dGacLJ8EO6f}L0Sn1PSPCr*40#ikh+Op{J(VSDh!&T7a1)om8D>w(% z!jZ`srdiELNcQS&@Wzj|ubp{G;(r-<)*Sf7`^h;F{xuKiqPQRYzX^>Eus2?F@Fp}C z^d{$Fen#|h=<3GDPd^Vja}qpo_N8noS2Vym>Pv^J_7?ceb>CbPYEfQ?aB>gl-3EA1 z^g-NWT8uO8+~6;Cxj)hX{zij8*=7~9>@&MZ(~ibH8@|68Tz9h$ptfH>e%aoz%hZ4i z-)P|0`LClV*zamR)q1ypchA?mSL}@$QzLxdxcT((t6uGrM^FDua^L`df9P`TGGs^> z{e`be-yY;zfA2L@+R~}JnZ#L`xC?W#+Ps<(tpi_@F`APdX(!6KM(9dh_r-$hcSjLaaRzpDZoPoWMR*GgoJ$1R8AVL!!n-b*5jIoHEc_AQJ`?sHa`oYkgIL-h?NmM89)a4V6l_vW|3J zBF~gdcF6biV=MWSKC}LZeoHM|lCvLz$@`_qg)y{ytnKu3=-6!}EOv220y17X`{SZ!AM zqT|7d)6O>9h%vWa@c*U@HTU7#9cLL!9>&VB9~t`$WY#0RlW+2ChTNW}0J19vT}(tD z_LEN@2u|$%esm!>E-GaXt8@cmbyrT*q%=MDVN{i6k@AfmR* ziNogc%*K7*2;ApIgnP{``la;S{8{*;Z{eQ3v%NiO2D>c3r1_LN2&F+U?1;!VWJ|=#oI_Lfg#^?W<>3l$XLN+qzJ-9eStetg*F!E(>R=98ya_>=iA`qO> z+h9@{ySvE*Cq<5}Sy9-}UzjnoN2SRycfyHa5nlBEVxBz(KAsVNX=4+338EwA+nF)# zg)!j@zGm*5I?%m0^6Y8w_H*7>JGV36FY+52&T<1s)iT%k;H74)Ax2kHf{pBP#WzjS zy5kNj|3h&#>RQY+tc@$iQqO$1d&e(IaAj@}nvLg0pFWp-B-(RoywCECDGN=e2Fdw+ z$9b*B@Ae%q1!eAK!TWD!T{kFO6kdG}KHkh)(gEYQo{?8D{OqRWvsuPlX0VMay8HuP zY$>ZxbAD9kSOl?i#LK#V_gtM-AN*UJ1J{qIMURo#p!gvAHqLiC*8+b#Rlg6K-P59f z({ueUy)gPdzyJOm3(ng~o*{meHgt~oW%&KM_|!UUC6@8*`UJdbUh!-Q5l?J2xdWq+ zy})o#?e?>F9(eVVs9Ae{^bY~E79TxJ{{2a@^5Gl=`+SMJz=6)+p#I;xv@zV4)y|~P zTk)#KWx+KeANW1fo|CoSXV+_9>X?_9Gk)e}F7qNheZZI-n3I@|GYk9$ z3l&qKkR{FweEFa~HWu zMz-6S&qWh;%$t5+`?;v+%y4ZF?{^cMuKLpj(L^J%dA}=qCHB=3>}1+1RgBYW^Y8`H zd9+EMQ+~^{<&jOFnrMJ?(Tz8}XOP(MF>3W+c>d73LFl6pnU`3J+#=q365QdbQS@4E zE$y_r^9CwMp(~MLMW(RnxTpQbGw?&ye(VDgBY#643 zY0(PW+D{t?JcZ;jWXBa(60KD-=7gsp{^QA9Y4gjBsSemb-XPnu5Pm3#|H3`KhO>rB zX5^Z+`+6>kDAv8B2fr8E_#Qf1GUyWMQZahPg_rue*H;m%H~c2f)r;L!Th9C?Zs8oo zWZy?P6Jvsv7e<|0`p{WMvSqifA6mB-9i0npCcvwO)78_W9p?k}ABOn*Crf{8 zC^H|8c9p%Lke zrMA6Mkz=NXp=0%L;fMKsL49*JWghzJNw*DaKd{O!B@Q#qARFaZjjSW4I#-9mgN-Lw ziO!y>XYC`w{d+hUC*&HO@g}g?XXaQmQ=+qACIPD>qf|@lQQ95(zhvq}d<)|@QPrUe zaGmE*iBDvmX;qN3AXsBs8KQi4p)G%v<;)|6It@tpOel?mo2TvR^qcxZ1* zS5f&*$8X=8nkXt?b*Xnw%5Ltn&dHgOa~k>Iv%07}CB`%UPuWsbo_esTybhW04)Jw+ z{l}&Ud#>$s(;T@inH^%xeZI7gAZuw_t4WZj)@nHChPmM^wnH79j~vbl&b&Lgs&*wg zJU<-u$fCA9YHy91wYMLdTEST_sX1TVo056i-pl-+_=*hsoTe3LAcI5HW?PmvNBK4( z=F>F=A1ejF^!9OC*kdJKlg;#-CY#cfRD7C3YJNfA$b#LHwSj9(qJ3X6*8hRsInlna z5&r?NdF0->!RvnDEcUxq2X1B+>!Rd8&#Vl&;yv!1-svsDHIrHl>n*w1e4c@OCX&}R z3A=^$Ci1;{1Mb1H9d7r4&aAt^ep$es3h1Ls+CM(*RqToc58j?*=EDm+M?+U43Sc=xB2+{^m=q=}PyTiq!Gv-5%DKW6V`p?ju3 z-OL>Nf;m*-BX8qOGgIrEm5g0u)R^Dl%*-Qhf5aJMg(v^fqSzW?bO-Ep+Wp;C<_Yt2%^Z;aB)`HQij^LjKk~aPQzdIPQvL!uhR- zSyuz^!jaAlqpsl|>6QcNbgfk!sM9(_c#n+}cjU*(d;ZImhZ)|}#@hOixF?(o--`PS z_je=5+Q75R?}`i0_+N7vVEzL9A7K89i_FX)(0?~}SD?vXF1heS{_g^wA@bz9 zlkjvU;px)615bAnp6(<(T}gPl9C#)s;o)p23!Y1o@XR;`o^!c>UJ{-QfTzODoWeY6 zuR=HY5YE1Xu2=<39#3BHe)6v`;5TuHtUhEJ`x$!s&`TE~PaPd`a{imG8=;?C#k9h{ zaMnl3@AW@&ZptHnZm)gB_4Fd;^9T4-9I+mHbmvfyP5&cjIwWTbh!yaE5wXK5Jolrw zeaMr`iaA5^)6I+Yos0Ws67QkE6W=bnP<~JXJ?dW_w$48_e51UjF76%YYS~hJqqPUV znX9&4so_206y(y>w)N64Vb-Dbjp3fYF~B7_l!HJXd#CH^w%YC;zg$FaN0VZ?DLn5- z*RJ9n$;d0Y=K^+(O>xg%thcuF?nA zywK{(C5^yYN#1<&y{0$6+g_-?-9-E@b>2a4vuKU2M93;B0W2PUL4THqyEf{@JU$`AD^j*JnTNsde*ZYJPRKm+WI`P?C0+|E9++ZN_f&s9Gs~wy(jp#@~;15tDVj& ziY2>pZTiyurqP$yBPI*~6Tk~+%++~=e~WQ_p7k90cTVnEUyt_8XnPpv|mLlHa_~82!wb#;9@GV>vTUyv(xc{m{8^3XLuNE%ZB#XXe0Z z4`0cWJ15)eCSD3n%PyC#t}{s&FD#k119^EF^MU-rH%!4E zNQ-|YSTydX-IkvdWDMdvT|cI6H}YvB=hI78u!sJnrw|oemxpb7KwP@}G`cbN9>P{4nLG${$Rg!)W=(G3aG3^cH3vM{tcoMkqcg8E?9# zM?(0kAYiMDF^MPJc+b*x+4B9KwQzFsIPkTsc{H5e?2canj$>(qGoD~AUiED6XU|^| zu?n4k>M_|hZvJA#5I3O*H=zeD9fz!~$M;^FGB_iaXTws2T$JA1MC?^?w7bdY;GI(T z@3fknrYpfwKe@?IR9zH-&T2&?JDIy6XHnjz`~>`hE?_?$?Np*eE775n@d5gH1)Rj_ zN4d3vhxlcaWKW1WcY~iWxWAq@)t=~4YiJ3F9{B&6Q}Aw|g=+hv@oO@KiMx84GJF7AbxCIG_7%4{OL)J-$;8g z9F&DyfUuw8^IdNok&DLyeJJFHuFXCSKGv-3N$)QK#R&q`G zxf+-42GVIdMdZWcB_+x&2!;Ya?1r>^>aq7GiLJjv}PO+lFQt84QGWyd+*U!KYoB>O{vfsW1Jpd&{7`! zM0pMJyYlc|!?hE67G@sw4EkCagpSm1|3vL)&5hp4kmf=Nvn-yK6)}2yPWnd`OY^M?Gsy+JVuA*kIc1p^nzU@+{7>bjPLgT z-FHu0bE7?rOOVxy6>FZH_|%6U&aATLs1TniHBO#_HD1Y`FGCMcKnFR@b0K`Cn6ZuX zyf^~V!g&b(Z9^XQHw#~Raq<2Eo>{bQ(PUoyW!e-E_SM;QL)?$K(Yf2>;{OTGx;`D6 z&Kk+qY>)Uqi8Ci(n;7&bOP{yq{(fjrdrZ=>#h#}h`E{b@d3-DTj(N0Xr066Sn7jYc zoLTWXcplz+lGx$_VAs6aF~SjZ2ON^4wk>1x;+yCIXC5A7Y+dkAJ^ZGz%N}|R+UvU@ z+!>gP|B5~2=YK~&vv0xn7x44!`L$&#Ss-VJVIWn&ZB1iDZU6COJ9WP z`zz3Wz2*R(aOPko&!PEkcZ#RsiC9t=S~TY5!*gb`!&eDpSeGNq8N+N~UW>eF&j|i4 z0ggkgFIlo5_;2O^<|-3a4qEetCaSspOx_rQ=db@S@cg4>TRqshRgZb1k}La#@8tds z?az1TGNqJ`2bEyjudVn5bz$qY+H+bAxV;Bct!^nI0*6hMYI-0qG0%w~u*5 zP9Mq}^8m5CY+`=dHHu@A?<`w09%lcG{{H};nh4Cu=8{%-?m!PV^hdnkMcZmK0nQ$F z=k?m{=Eb{`?P~tAXH~6@M~EdE(jdm1M9jeQ=NUk15 zzkPfjdxyv$ldcG3uU8O5zl!nAvGn^1x)_c>oTs^Z!GiO(H1jgFRx5Z#XCH&-p(b+M z(2JpmZ&>mkzIdVu{$|d-jJ=I{DaF6QMtJ$Mruy<$aM^}Tt>T_?4t)G(ZNDk7yPezw z7xr9k(^DtR=H=Rbxr~p}ml`l$tkwQ(BG>k}uxre?;;r zKfVDv6P|W)zctNFW07QTYnGYT&6@BWyD?^3B|e$#8~J0hBPy_i_pv5kg#Fsb zyV8f?(YoJ@ouC>S$Rfsu-mqkEetaHddxv`=;P`I~{$F(+W9%5vu$~_w@5o_Vhn$(=W_}&nrhQAc4C{Fe`^Q=Xas0TEvc&Nvpq1+? zGR-tEwv%Z8$|S8Oz?)=PtIewgFFR2aT?FrhE zPxtqAN?h=k?L#_x?A2_uHdl5o_}d0ev)?&hTj>IqYD;VQ9}%~k`^nHYM+a(;pHnLa{cxRh+*=mRwqCdF2+Qua z)?9a2rJNPr1I#gCO8Z@#`5AwrpH@pNRd_hEHEX>_j%*3iwEIm{9Pd$oEAX4iAl>_aO5jzjY+Nj`Ta_ zA1D1fbYMz}XgI977wrm{z&y;C)H`x)OzDd@=?if3$1K)WcuzL>oA9}88OPVgmZ@be zeVuYQ1&i#=VVRcnn}#mHS744LO9S|h(joGrN6w*QHKL6n=0!4EF@3#%A24)@{%4zM zz1DZ+AhJ#$2wxoazZx3sVhsGLbV$?#&04=VW<)ht*6-UhqKdnv5L>ch!W*%P(IJX0 z6TkK;rc^<^e;0kY6uUN@H^IF+;un*-$GSqN@!RVMvZ({)IaZ*z6YJWobpSu(S4@9c z7bM60C)Vc^=z*KC(-ouM5w!OcH=HAxksWuDQ>ZwXVw*wy-5s;A9~hs@|1kS+hzlis zON~SRl5E}(*JBzBa4P=h0xpe7@U9~7F{Nu#q>6Y#cUN&_HnO9_qzvq0tZ%T!y^<^W zKKI{3O_lGO^vDqR_A@>whMsCtxtBU{5BJ#r+N&7I3f`4X-^IFJdXoN}*hh%D7Hpbx zU5Dq~(uE%A+{7D+<=J%ZE~(=8p5$2DGAgGuvqxTVTk8U2vVC*-)BlQVwO#F+V$tLX zT{g0P+aC0kIBh>eyJ2v+lDJp{?Y4nq&8yl|o~kpa>TAUr#J0~lUEJ-2y=}K|+uZ(` ziC!NwW827$#IGxnjU^qRw*TPv_}V!0ybJy?W^-*Q%XG>P5A~Eq8rt)z~! zczqE0cEpnscWNJHz*EG^N{n}K#$x(Y9?yZXW-a+S@p{^y$=O$n-Qyy5tYw@P7g)eI zVQeUBAk>V5#uZao#=Gq899vHt`^ov)z;_$@)A&TwoLv+_{?*nqj;}B$;IYI{ydcDP zstr*^9+1{;#Ye;veY$E~e$Rvmi=wr28FwlEjQrzg&!Bz|>m63Ryw^znUw{~@(|#X5 z@KXBFxPsUmGqp}f+dpMo8k1m>9RHxsQrC={1H9- zwmUDdgKN1SP8+cvI>KKX$q#nl=r!!4T;$xJWuGMbeUW}; z6MqxF-b9}kK6jT!ut}|XD&{(p*Un&k2A&>y&*txwMF=NVRUi4dWnOHKu`yS&^`>g5AJwSYLzXzWNd(5`U^W#&&wfxOf_49%K zj&8=@c zB0q_T?D#VAd72#;X(Mi+*r4OLJVRdCV4V{$R9;s>$y3~8UakYT)}F$<;MJ{JtS{YV z^Q!22ZLt}xCJuy5m9J2hY1;r* zhnKG@eYP|*9sEk3iZ_I#tN7mpW3}O)qV4ed$-Hdk&pmJ9#1H+Rx?W?;bT{pshygz` z<{!s^J1qJ*5r=U2EOo>j3a*{lQz3NyJaFMQImAG+(Nme$bI?YdS?60 zIq@=RK`FDg3*@hgBp*tmu`-p9j$7aPhevB+CV9rDMIIIT^u)aQ5 zbn_sz@`gLxTAS>07ewk6&mw=}d)P&?Gu~!C6qDM|c$9-~`#w4GvCN0ycGeJt|JRvY zLq0_p`4pk+%@l)O6~eAEhHD{u^(=BE&(i!y{SoNW%RodeiUjH2V4KdNx zRfn-vvA3vcX89F*A6g!Mf23S-Y@q#;R~Em!O0-7!Jzzg@iM3w>+dgHOM;yDM9k>Is ze;JExq-MA0yaxJFY^R>9As^=h@FBS>KQXx$Y|+sN_;_y-b5IO9#(c=HlO9qYpR=Z< zbyvaW*k;zahz)C9L4INda>Gmi@|7fuM2FTp#Da-24ZrgausHFHbD%f*Q}W3)UngXs z?f)fd+G-2`cb&lxcD|j&x5}^iWa;+d*r53M1kOCrk64%>0<|R3Aj~x6V}7AffXj@+LMxKmFv+`Hxra-T$oK zXYBtfnWFTl)sJM>P9anps5M;5m?%?eTDqfy{_n`%$fM9l6-eBG~P$P z`p2}Zd)@Gut_gCa`>0pabSAmn!22fO9q>?xUH2`VXUFdbk6&djSrebuMSQFv-9*u; zC-g9Ue8N83Wyw|cd74`1aU|{>m8JujwxgPJhEy^$Q&tBl+U2 zi72+=_&Gx#+WtUdlyqfw{Nv>RA^z{X$c^oo6JNymwf7;GfiC>_pzVvp3oik;e2Lgp zGyS9F{cgn>ylK%tC%^H-_ZmaDSMiJNxb^(nG%FWBxu0TMTk@IgnOFJ#$VWr#3U;JL z6*t|NKUnq$-TPY_a@DqJ^xl`j%^=Sc`0n<7J9c^v_w}9CXA++pgTA45ruFQ}^Ax`- z;M?ptiTmsRMEhzhOrMEMu=}t}_Fv|X_BXnr0sFl@ym$P5=o37~^31lcL-WYhENruX z;3L`f2es}ZzEyvMBM#m)_Aq-aoHjm0)`V$GK2m6C$g*23T)meTy%${4uQev$Ig;@c zthUZh;=upWkPYw36Y&0!XBK@C>k-`S<(L*A|9B&`p|##4SP4GVJ*CmzIg*Nzu#uU~h?l+x5{MZCB)CBvk^lc{J#JpC{$jpj&%)(0MaXjBw zQOl^+<8JCA_Y(gvO09qFyS%vJeLpqpT;%NO{chHMTT$YdFrF?uTEtfD3&yElIE84{Scuy$5MWx*&ufqx~-r@UHgiIJWiv zR@1qkcQlv#TW#4;56vA1$M^EC|IpA3*$eyE@m{lROZ3VdH+n_;gtSM<)+sxYiE2aZ zQb2&`Yj?BIoJ`t_Y;Qg)~@j)K2*>)Z`PAMw{syX7COB zpOovae2GSAP5mZV8x(Ge8MpRBg+D~rUZOb`zh}p<=YHZaG!MOtPMtAVF(&azA`@8# zO@uQPtIdf&f7qgjk`VVrC(LDSKl7kxeazt-;IWVS>tBa#6U|`Le0~4Wj3e-wV*1J} z7W^v&|Ms-#6v0oe%<(RB&`(=Sn@sd~;Ede6Qnh&nv}D0b>?lE-@X*+e#BRiQUq?U8 zQ2*Dk4}i5qtu5}~x32I2G_QGOjl-ul4x#%*6Xp$MfyRFn~&@Sfk38ri`d zIy_Pct|c3Pfe$u``=UeH{>Q~{TpO^}l>h&8p2@~#@7Z;-aRvLY`9{|ltZQD$bJlfS z$+Om#yw=EuX|L!OJ1_}2Km1bH8<1`+J5Gaj(+Zmm!wCl z?id|iPP+zsM)VMvG&=grOensHJ^owT z>A%djIh1p%`I-q`g8R7o(*MepNVjDh?c~Ha^IW!!| z<8l6nmZcNpt^BrhzhX*!GZ{H8o$Hs+XXQElecaH=a}s=lYbEgShE`5qhmlQW<0y~u z*tVQ2{vG;@3f==3TDx}a){$$B7H+b^4fdU2_!Hk*`UpAJ z4eWhagz;~wfgpS&<7M{xRet;`;R9We!0vmG*!~;jyX<>7OzjzaJl7;)c!Mz+a+ZeI zH%_c|TYG2&$3Gu^APM`(92bku@QvU62zhR;5A3k)x5@?RKID?F^ncKlkB&ZU#m`Ud z`_{7xd?v}}Aiq05z&Bvef&9{uJYuh>dEy7)k;c2unxl0l#ZWDu;{yEqq(9^2_gvOe zzg;?P<&wbm0CV3;?%{3N{K_|hx2!!G&NvkZcoG~ykB78B-|_QD=9sXSXZew=sgm=R z3cs^HY~|-E-y~(&mwc3Vprx%x|21r_O;cm5cIJ`gYsOI@wADS%T3h`PJM9u^WHdA% zx;(hO5IDQ27stFDn&h@YnJ8PSD3me%lL{-*&xnEqUM8 z)A@=`W&Iv`D;hW8xW3xYJ~-FFBg9HuJ-JOT_(-)JOPMFZsvHT~42rqQhtY4tef?JK z$<11pd-aOKjTvSNvA-zKsMBhirl{>Dq3r?2(ze9EUHqo?t7iIJiv4Bh{Mqrf1K_(0 znEHsh2-g+J0rKaq9Pd8-A^9xwJM6Zp_X%H!uI9BgY_FnS#oEGQ6Sw1jCu9|S)`>?9 z&l5f)YoN^|=ZU-^?cb$#v}_Py-1;zUuzhvm&H!=9s%3fO-Mfm(KX*m0-!(nb{hNy{ zyWv@47&D1m+qxw`{vWB-zW~OqlJyo3k#`9#Vh3Yip02K~9jmncad%v6s9Gn)C zVL|+IaI3uR&3UFHlu^i9$+!}H>e?mXY%_at(e*EHW}W19z9)|)!W@p3-c}!u?D4zN zhh1Z>_*!s*!TyFu-=#(g{*noPE?WCb=8Cz~voPNUc}9M&?oF32lpNBUf}CAz{`+nfD<4f*%1N|iP&RF;AS+Dgv#RHUs)|{3d(b*v6@DDtO9C~7T_J*ZA zD_fSkL9vz`Y|XK!G|z9RVIC*ViCP}$T_9$wH;-bM|ZV3S?PMtgNDX)8>= z%UXASul9P3f>sMWx$HkEAiin_X2a(pcWy6!`k`#^>+2sQ{&VVFer)Bu*)%GBuXu%U zX$-L@{(hcea-84J^(WjrSw359V##${SKQBc8w*$;N(&xc&vgfJST{BsbAj*4p7-U& z8(i~Cw})6?R4%0A#Ua)}N7_3l$3WdyY{jN~<=v9&z&cbu^S8sD-DK;|{1bFKV*RXb zN%LSg^DSSlHG`aU=2^CE`;vp>|%py;3p%Z&h+<|zZa(T(gNwM-Gu|pQ( zAE2kRpukae*cPwdOpLC(>hB2P|} zY%KAR;``l8?if@}frsc*HdsvSQ!^@$(&s_*jyw7^eTv^dSsLs(l}>=c%C-0^-y9>( z-9uaZX{(Pp#?C7FFL)H0F`b;HsMgztpEKWj{v)0fe=5BQSQIzggnS9XtKH}n*Hn)c zpBLSodT(TYgrl?VJZ~54(Cm%>bO?Jn_;c*95_quI$tF92R%=c*jdwVbO}&zeyPT#)D0bS3)o6`o=D9d+>R*e<8? zRSxiJ&asng-v^G9?M_epB4Br9kV6mBb8j)n_}TGs@Lia`wSP#lcHy_4wj7-A0EV&9 zM$7Wf4PoGOQ4h(?Z?VSod1yVrm>heelQ!Xp>3YxTJ;oa2d(n(Djw8|$)*9V&mQ4bW zja58xq&>x&vSm-%@Um`c>8+F!#p6F_9>;}(9rDk%(VuuCpgc)z7#Fc1;SrqF=6bse zx2gw>fFnqMuOT01{ZTwPaMqUMP_rYN3Lpaz#BOnrt{A`MBDbe zy1(UDL+e<>JbGX(=L>LOIUe$l&^5JcPw#|H#lFNCQ(Dh+$u7n3sdW_z@C=^Q`tFwT zNxmI|1}=eyifii2gJXV3M2kQa4y7T-H?s~>$Yn8V5MBv+L4>U?9s&5=BEGpz9x#4CVnA3C>d z7?1SLJA5xb-y;5(9MktX^eGu8oA>Ytp0#LwxE_;jgCFO;Tlh}21l`mu;N-MhjWzbXNE%~*3w?I#*!5m;@Wgu>%P$zOJ%0sp z&0QZcP#5FwBaZ6#o}eGS8yXz4=A)hUL5Bts7H{X2bp2&$?z4kA1GgX1Ux(GU*&-RWg5O%t+m9|*{-Jbp z;v&gRog3opm9X|qmL$?I??|M3I;{9X`W5_6=}0_lqAtF}zqE9d=2h)V_R;T%H6nZ6 zOLQq4c@^VPd_eKlhEFHm zLSE}IkHx_a?biM=IrdiU&y<4TF~=^Ete4y@$B%K=L*V<)9}^F=A0e*! z418+GF~{LIOo(r$X3IWcuR{i!U7T@*?ufwyn_07rfwvg)zz_>B+RnZe&u#SQ2e#Ppp;E1RGS731 zZg(vVb5(l*aH2e8!J!zLYPqpzuOw(bmxbSjJ(?0fX8E5Mz3m|eR4dy*hECbb`yUX8 z`VbnyP}yq7vU9C9m2Wdf(bl7^S$xNbouN1dxRJa?XU$aXUbdp2cV5F@NWdS8iG{Fv z6oU#csULJ3@C%HW0YCe&r$5SfE4Y6dI3RNhnUtRW{@?#?mg%5(l?=~m1Bl#YIV+5fp;Jm}CO@zr>!!bC-n<~`A# zzjrh7@INGFsY8FVLrW0g+Q&t_I=)0S>`5V?A&nSldOQeRxyUTR2JVODuwZ1p7#%br z{zY)MW5K26_`K1r?g^16p)Gs8TQ+q;{GWM#iE4zyyH;!vymz_TOG@2mS5W%RHMYoj z7ntg(E+JaMK#wCJ$L69o|;*k7#Fg_ zqPq&7wIMI`KKHd(-)h4R>@i?zrQYg3YO4(5)wAq{jExoS}7JrVa5!8}N`DJ`?o=^M6z2y&bV(+*v8W4L4(}TxHbMu8Mljj3C1E= zzr^>FQRGuK{TRQZ!5Vu`T=BQh@+HVSh|8aljjR1aq9?=unc%w~TJ~e_1n_IX(Zc(9 z=J+s*R~h7fm%Cyg>%GG{Bqw~AXF8}kvM7Z$Ch053FL@A}+_&eSqfT7B9-i~K%sN)n@LF#CVcx5nf1a~vJ^mcAYw_g}vC&mo!6lz(-k_5j3)jT|S7RYWF=$oJNzWN;2g(G4HR=qNC1dZ?M zwea}!4)?flEpphhLHZgkUvizUUBGN^OOFoFo^bfd(w8jRAlxgCcQ)%aj_#J+Q@&Kg zvefaj4pO&e($4kx!CRlh=ilrfAKf;)u^b)2+J$1cIdR(FVs?(R^)+!4;rZoElhX*# zwidwC#CH@ofX~-77w=r3Z7zB@1dgiSGh=~ukK5m~K8RjKZ*6EkXXpCXbIc*FOEs6U zE{d$R+HV;feFoT{z^2sy(l_RwvC*fvr~d_qVwdLNxTu}WGBQ7d+#Ku?(Nh~fx9k$- z&QmMV^64swmq=gynzhty_VqVs^b|J3$Jy9F%^9y0)-TT)A0Yqr4X>-|GW;{e^Si-? zJPm%?m(+BGdAoDX1BDwn7w_mJuIP<3W<-%UC5oTzU=ItmeCBGe0dug& zl|uX1WRGX=n{@u{+U2?9*^hoOL7fZjcU*Pp=VTY|Nu`$E^Vn_e=v}Y9-n%7mPj<9! zS84f|=o|Vt*{>az|8|aq)+N|GnBSgd*QS5gP2Ts?^6mS?34iobR_jU|Pz= zpU`scfmADYXUnsstkAgX;hzBXj-5EOm>S7dX7UW(H}L<*jALX>4cu65e}%TBb6mu? zLwv7TzM&2F-VXGDFJdv+hwO15v3IFhb|&o?4_#1(Y;m>=F6P*z`9C!&&?^7 zgKw}O37DjB)(DOR*v~husvKN}z51w0iLBy%?Pq#;b=9#^*b9PFb_O-Lj-Crl=Tjdj zHE5#WPc<*&6Ygm@=>xK3R9m7D9J;)&jsU-1#vJwd4e^`s9xwMFD+qQx&Yp=PmusNQ zR2^#rhE|uSDdA~h*sG6w?KUAm|J>#5Xm<2>mNKg6Hggs)5uugDKM_vvifdkYxf z07l8Rdx6i(yMLwbBLRdBSG&9${`K>f9WTzT>^SK1McQ3steWTdxz30TCHvs~?+vqg z?_NJ=T?g=IICr@oKZSE=BN6&o6+)kz(bk?WE`d_akfd`O10q~waKX~*! z+RX@iqMGMN(BIm_Hj<8Jj|+DEn0Bh`!529CE$_FwMh}En&p!4DFme|4fZtqxOm?OV znCSE6O~$n$0IqgGL(c+F`h5Ie+SmHeo1RQ-pK9^#)Ks0vIjDDV<$3WzYmCw2S52q< z618iBo~VmHG*-?m+)xj0L(q-exO*GGuWUulQH4okKXB>>*0|?3fCuW^_0HpYBXrPX zT)kKDp4$3i@+v%3@p~kXiuaXkK>hySS?G>cLEfUAieTRGV zcu!}-KgzhpUz5Q@JM!;J#yyLBtBmOtPp>d(5olmtCGl&Q>xMGjbA2+jMZ6v`_`j^# zR#gR$z6x9;`Cqc@4955_@HzI*+rT*>{}`JmhjCHwtv46G_d+jcLZ@EW85@2FJ!QM( z*Q5`ugaIMh!*Y4-6$YytXZ?k*!z3A~np{%Qptz=C7_=(Q?3AOi#Lk>Qvd&%{b z+K;#wG=opd_pxNuDfKqmUA}=T=8E^{sB-K=Yc&desatlh4?Y&3q3b=cce$ z_P$`OH!q8?9N8?t*RkVN|D`7>GrREpV#rE6?;ULE%_bk z5_E{xHJ$)|^50LuKSIWOz^~$7o(Y}}2H3P#-H=k*q4O^S%prPuplWsS*kpKCXOr7_ zN{@dN7{i|oJtexvPC{?(=qLsT^{JWx6rT^%wS`l+ zRhN~uO6yGEBJb#qVraGjJr{s}wZ~4lyyMt5lRd?*LUqD}9nPfyu*b7Ei5 zVdl$&JxngV-ACr=jyIF-ek0lLYoF2X-(n}X>o!%Lb<`dH3FF>`%^KK#P84}|RO7k~ z``lyPovvNQ<=W5dPC4-|a(heQ#e$RHO>uV`_VT(+%1r5G7kDiOcWz^>xKz<@*TTun zMbTE*La(k@xfaIcFRxBsyX^DN)VF)P>$*C81FbV7AK5>BZZt5vLB8*p%6kG4Kj(?c zrjl&-bCqs2iMCqFGGkU)F$?2gQ7fC1xvG`yit(O&QOy_gUE<=t!{d@i?1wDT-rV}0 zNs$J3RcDyEoY5X-lTs7HUaLZ0AM%*BdN$YO`0jAKlWV>9nyIs{o{a03l+wQKS7@!* zsfFbx*T&9qAf~bUDEjcm#`B}{FMa{vEzJ%@yMNPMjx9h;Bv~&)Ir1mv$=K`Me%6zU zg49zQZ{`NS#<^f4&RTuO&Dk@oCmg^xq-HU;X?~nFl(AYrM*mtl6k){-h+RHIj^3&7 zcK;?+u6F~RX-+=7^?oSBjP2sS{L{nazOy!4E19DEuW&y`pDxbaQGVY7=t<8b z(d|x&Ch!@a{Y^vpinD@ibZ*O&;4(p6MBnk6Pxyi!I-7x0e!4s2WacI3E`AK2x2@wLRUa94bBC_y33Q1&0H} zzyE`_?n<_0i1D1REsW^3qFdobaoh#)NI&>xek~g~fPLESnp|e!&taU=_l6PQ{097= z`c2!X7nEsEgafB-Vm5#GUf-wrW#SX(odw8Y=@sYyYU(7{(_aI)IRISUzo{?Ryh`2% zj(ei)>xm$Dn?@hB>IOy62HqVerK#SwgU8-IqOEuT=YQAMmw-WXcw}4ihubj=50k&J zWBC7qCdn&|pskvdO>T0ifk|^iTz4<^rU!{7j6H{USf8-o(KEN6Wt&Kh_luhv1{3f+ zbv%1nW9pP&OUxTO8Xtd{*la%kkK}jxHOhareNcOEo4qb<^ZHEYO1|ez@{BHF?fxO7 zGb^+=P|!<*VuZ|!Nq2W)}P72}Z{aPpSg7A!7T8%v-QryZR; z<+SrB+9@LTRp41)xP4+<=v7bt0|QEH-Fm*@Z_fO)F8elsYFXDR*@e zFO^+RA=;GWbYa|Ft=woc7dlO|?*mC`i10C8UMe;(ih z$Z*J+(X0dILoVWJi+$wX{+R*1!dl zGu{Z?urCQ`&GOvMW9M@AMBZf>Yb&u{@4+5_=KT-!(dN7{<{F(Nu=TV|uFp8S#WDMa zGe#ZrVV(|o(0O}byAeV3?yx>ND3A7)uyd z-vSzrweVe?&fjU@?}ayM9E*l7ob-& zPckpks*~iGC=i>s7x~-dG;;0=8UG{w_ssf5{Yt&&SM?)kKsyL%Guj`ovZzyp`(2sy z?r8UR)->Ez+&do;n;V>iyZCnZx9qPm*9cojC>V-z$&cZCwZnb|`txk0?RR!ZH3ax@oqfNL?ocnh{Vj)xJGuF33uny}fl}=5(I*X$N~ZG!y|G^n~8>48rb?OD)g2LPA4(=c9LgLOIh31={V0&E=A zn@X|HM?Cl)@UFWXIHcmYLb*ozx~c>}bYbFif#5^`W9Fy72hNaf1+*VNjr_agw;43> z%Xcj2E$HFQ-wV3Y#yUY+Qy|~9O&N2p423jo8{|{R{zN-5ZKZfOzyq6${uXKYjyS^C zMUQ`+UqRobU-CS*i5`E@exxJv+y*|_e?9d=d@(wDMT zh41r_KFWD7aUIZ3^J$e|&#e=xpyy&th&ayHOZqU5xU)RskdOOFuaE0; zw7mx9-!1fI8PucQh@-y(zhyq;%^K8)IOgLW?0*B8_7|jujlGKW8S26s4*W*EI%26i);*8u$$$02N9Z%Z6?+^zIBn|mMJa@? zHb>|~yASF-)~&3nVmaH`@cRVi-oFv=SReGi-%MWlD1RBs$6TPfd@sr-4iSK~2b_j} za<}wX&hbb;mPK1ncjdxdMeV0Og8G`F%~zUVj?u$Hx(0Wu<`J~#wh8#A5Z@a*O$6Wc znB>WH)>NFnN4q4`fHw*v(f3xO-+Az3eZiMg6mVvJh!1U6PWgc7Grie1;6vCUA!{S6 zdLX=2shHe5VUw^TN2aJYQ-I9amb_7~ZHSRo@W)!@Ltl9dWsw(P!=1;zopKB(&97{S ziSPwjhW;J^J|W0^+O>!?aXa3&rK)ZzJ*wAMZUVIKWdBiVQ}42t`f+C=s`wuDrDN+u zVzWZuoG9P<`Q5O&`n!6o@}T+lcpL1o?>O#`k#GEWsipkJq*b_=??gBbm$In)U~E}L ze=O+fb{^ufroMkO>Ulh#$IfPEd7N)_tes!iF`@Dx&yt)r|B)rkYmd$=QOjek7lzFP zNXHtCTi0ORiuTN@Tcy{k0(BnH@gA%h_d;Ko8&`R7BE}Z@S(OJ_Vh3`?1W;{`!PxX78?T>Gg@cu)#3w$4Gt1^D!+TNFE*|%cO zSba-h@d0tcFU+a}&UNrXXx{HYn-qQAIe)$aI^V9@md!NmgUhkk=n?Qzb!u<>RlM&! zd$7ICrSExN+bQnRCEko)2$voVV%@(wzHA9}r@ETS)4*FDs~RTLc8BvtBjD$bIWF${ zD_KoBG*a7;n(y_YA0YHGds(jf(F;8+oKBAKyWFUH&uF+OYe*B^}+GIxsc%|}SD%za7j01iYX{f<|(-(LN^R%`0>uwNTKvh|>IJ?K{-i95MQV$ClPYxB@E zcP)rq)6hN-KMTKn{9J3kUK+LLo1v<)8))*S&Tj*3!1{dZ3gV@DpJji8_}*Rfw^JAJ zoH1;B&sni!pbNxo25xiu<;1|pBmM%^V@`y-%X0Y9%*GwU*UgF<2u9QQ1Dm*QDbW3G*kJl!8?)kPsK-e>9jaP}D2K{g^kFY-HWajPz?@cx2W{eA%a z*KOK+y!<9n**S4o>qhwd?G<%xK>xm=e;R)8qi(BFm!T-{S^ToGUONo{Ho5eU7ng1-Q^zOF)`L1^X9@R zjY})sS$Vf=7n2|D0xd|7Rxx)Y-72J85#fq?sv=6$i}zsW&x!$EqQ=aQcE^;@jp~vM zyj`^^nMFvSi}ZO9IB}$x8~0_p;PVMNhJIJQ<_C9V3t0zW4d;w0oK4dzjdnQVZ){q$ zlRWI|H;{IV!;q(qR+spHTV3NX#@)X^%t(npt9A6ijn;23V;`qJ>v=u;*yq&6(xCI; zoQ)&!y`f*;U%@X5c93@9*Uwe5zGLab$hd(RYerAUHy98znsOn>vA)hY3;wPu67$2A zR+a~J=eZkR$gx(Hk0v)+*5rw67kQqN4_VMG2`zmEKP z9y9CR9ev1)c;a{s#_JQ|NSlXqw>9ttUew3AritKL zDY>=FmRN`{hy48-_|wM@^WUmM+$)*_I?*noKr5D)TjQC>bB};$$pz4niDLloC`WyG zXY8EE&ZTnvtx8cxwqsAsX)({u;@kpxY=itsf*+%xi@y>eH@#l6rYf2c;v5w@- z+gqh=!oIFU7(*7m8*i5ZXO886ga0LT%d|nQJOinV@5Ef@LimQbX8Go`F1eMPQvTP`_{}x8-&~*#0Tbw5dRa# z{&C=8-^#)IETRB>fPM6(hQBiACF@FEU349>j-Q2f1-ley;gDBLe@cN}vGd4g`W$B~ zblN;+p>w8}$-|F4sFUtO-=d#=Yrt&ie3i&Ay9ROw`ryYdmF_}3{O;1Rf4-_L%9j;@ z?_KtD&fbH$7_+kj&OLIp`orZdXc}&asK86@FVTv zyCf~wVy{Db&RyzpR|Lc43)Ckb<2QVOTwUm!JqLJ{p`AQ{it`)bL!8+cA46Yc8(RG= z2UpZ#HTFNJs=3fPRvb+AY(1FMW8)GlN)0RrZOiEEz1GraBTWE=3?2J8>JVrRd5e6q zL(aN&_FSuEFZxk7+O)DSpx-KqfgA@USL1&DZ%89N zlTUE|aXkDvk^l>802RWu`kkfy+r1B1qqE0?7OsTvI<9SNE+%Xs{x>W7M9+(qTGe^qt zqKpJ(%_Bd#L8lYZ*|Envbf%on7W{hvf8eg~fye+Zq}84lwE7yfa(wH#Ke0>I9?%JP z&qaGcBhrdz?0*Bjo%-25XycvI#>|T}XP^C9+IT;nS!eU^YqUoIyo>R=DrJsU;s<~C zM!!$Vuu1}iW33Y0myCNR@eX>z1f1Ko5q#Pcv`7ZezU7Kc>yP#bpxhLc`&aN5^TwP} zw>RfD?0+nuakNwHLR`vIR!I%|0DU2WZF1gmoDjsCrM}WsT=XP!|vP*>8aPluA}8% zAjX&VG4rj3{`70p*nP+oeqHu{_&?&l%(@Stzb&7118{9y^)>c{9mZIyRNMEy#y&6$ z<7)%b0mp6dA=PJJj>y5;ux-_kKGb1UN0s>i{1BIQP(Rj#HsS5x;Et)nz1>*`zt+-U zQX+gWM1R102C>!%+W}?03v}b&5Ax*%*u!WCCZ8NZ8(fNdJbis(<`CHK=+DmjP8E<)dFNGMNk1^Yxj>Pa8Wv8WI6;#y3~`&P+ve8YIw^9 z%KZI~ceTG>_<0+SY<14RApW7^)OpvT4!dS^OmO_|>hJKq$aPHWZsv?tbM|gS`&OtQ z&bf=heq7L^0k}1^3dA=6H`*Cm+87#uFY(!v619eQ{NL|z_M$e;?y!yJo3k&>{eHwJ z5BN~`B~GF4mR(jJsCyjW0{1k?f(*u0;yfA1GOVZIJPWM%AwO+P`2Wf#0v}l5`i`bw z4)&0FRa?+URe3MLdJ_B$=_j8b{U&UnR@Lmet(I~Q-u+NYCg(+%e^r(CP(MaPHqpMp z@A<6K<<%YP8fN^4phx=UC=Wp)Hu2?_x9yM zmK4*Disxd?7mKmhmm5$Ww0;X+%nO;Npf|bDcT-`5O2yb;gt3HrD8tN?ak*H7aY-C` zKNtDtB3}#oqHn7|vm9dx=7EzT>nMK*dQk>-Tk64{@z9la!`2!o*Y~F=&$0Vc;Nzif z_4U{z(SZFC(6RJcwR>1|K{9Y>RHsz3j`o$nVa& zIOI3atZL*Qhydmfpifo<_zZr2@98lYe&AduodDYi`qkKgOVKZ)fcj4a($X$%fljo~ zan3;7+24_8$gP@vW`jt(m$VTZUNzpkEa;gW8$frii{;_xMVl6a-p%W^&%vJqG%AHo z5g>dVejOM$)Q;P>^OuA2P6i~-KT9dj&r6Nnl-wiw?d06(vKaW>#^hi; zy(czMFfsP660P_B%)Y#3*Idj}ytj;P(zNU=e+?9Kr5!Uw>tzaGxoMmSN zr~G05%;n(4*}x+;dUJ9vzQy|iZs5%@^TPW9^y#1v2KY9Hc{1lueW;fmh6gzb|Tr#cJ^L@&MI_1q4t9#8AwkKLH894Gvj*+8t}v4G)=pJrusvOie&BDDyM}9_mG~Y!^PYvW zYS1@$MtET-?6u!Bb3XSAPi=s0?g)O^yEYW-ht#$IfGgJv!RvvU{{@a=YljO^9_~h; zH#He&o&isvD|(>64Qx*E4JeBDHEx0q4*Y}J9_%Ye{fR3sj9XNQG<@#?Zs6~E22U^Q z(-pV^fBOsITL@aQ-o5b+^=B&%whZ(g&}{6A6V=DizAMhG08IkpoO->F^nql|SvkfW zPvbtDFoqCE?nxw_z1Vvl>(CkJp1QOT1?W6d(>d2OZ{M$)&cT{%h0f)g&KD_OO8NC(9de*M&L^uJ$a)L zcP89ma2& zYmZmr8^=#srDZ-3e=^XNYoNz$%&xTMn3HZ&Wd+^~yV`j;cPC-9XC8eYQ{MAr(k4Kh z;3uE85fD0m)+Y3Y(so#fg3nnQ-*r-1#I-aT^ZK}RZQNs$<;Obi9MI_3t013>E!&SZ z=yHCCIQVT=`9~5}!QxLxftRf{*mpF7bA@c>o;()sJ>WNfr`{hGgnSs_V;hC~ z+i$qAe;3~c-e?^xe`9!%bn(}X3VMG_Ic{(JYP3%|(wKHq>xc6k>I~{2Xk)!!iF1H8 zs0YU2weFJgx||*P@VT|#0}lJ&K_4H3_`(;52fdKPg)g?&cS1afc#X^440|bXDMdW+ zJWvQ4TNB#`*$&1xg7Vn6Bcc&L@r%T7OOJK*4VZ9)YCa#3c2#39zd`cX^Ye=ScDWm8 z+`&!|PG7TrPJcbFX?v*0K|i-VR+?v4^cX_#V3mM5LrD&F1N5~l^qoJxSDum_=$HO@ z*e$R=T@PPioD-6jg1axu@O(My|4Z(GRivj1Z4r2O4@7DpO)i354J7W1}wCTx3MXs5WL5E7W3tKQ=75Au9Z z3wu+^zqf&Bab{zcr#8P4{c;`obQ8X*!#58{sfF~f+6~(Vc<6w(J)u3Y?E!RF79Z^PE!6Vpnz`o`~ zUhGG=0~huqo~L2@%2d?jdC~>*N%mpZ=UIg5i$OeD2ll_G5w{S1hj=gzab1qM+favJ zP=|8td!iq~<2o?`I2Q7wQiVykunK!^K{tOL)@0!4>~BcPEIyc$34e^W)oEwL z_SLcKn`h9EdCnZ>SqyK2&&7qSNjK*_@9(glQG<0<=I@vMJ%q@gat$(JZ7J%aaMs1` zos_*D`LRD#Vw^q-nyJ<*!-M+Y4xaV1t|-TkdKIG0N>OK)=|X;;(Et6&ORYZJ-h@0T zgAlHsinyu2^urw-JR>HdY8B41W&Q!sjP{nAo(gusgsPuWZ?;W3%G`*1dPAT|&Ex@@ z#5EOub{^PKiN6Ov0X2m10SG{DdlDU-Je^q=gfRzK(0$>rk%e|m%msaG*j{Hk^bMq= zoj~8fK*G3$1w*hVat@!P69VVsoTglrwFJDe5%sJTy7`drRQMLL9UvEUI~1ZFs*sMn zg?d(~v1i*K!q&)rI}>2X^r^)6QjVw}v95m17bR@1@p#{5M@Q7Y%UJ8X9r;~>->;Dw zcITHm>OBz{+bVGH^Zs&-p@lB!JlJzlkLPfC7QXjnS|rlstCH4`|JgUI5)bAdp7+&g z7i<9&e5&L=j>Tw`6~H+jbV@GpKsIS%=a`>7Y_|5YrT_e4C6awkj~kXes>9zppmW7$#IA|d~Oj*|S)_nPzj zvcJx6Vsn1IweJbPrS9I0^V(jzUYKV{9At4#udKJ5!>D_$lV&60JlkhxDV+6(F}b3; zF3m2-zCZ`Zj#YO8#|^mOeLd1a$BXA$KjjSNl^M%Bu65hwCC6@w{p3F>`!D#8cPRNU ztiXMJ&)veY!2+EilPmn2+;(9>ti5bgudEv}E(SJT2l=6JUl#cBMa!Pl92Y&X5Mlp| zIM)YpnqRcO?$}hQKV`>R&10zUx1bm0onQH8QlH|PBVO>&vgh3Tt~)>YkNR90aPfoB zIA8Sg8RH|zzm1^%4D=V)k9QA-pz{nyT}azqS7Ckw=vBRJS1oi2q?v$v?L8qcJGzg8 zt)xe^nm4Cr!unFI`^|BT8 zn|CpOjCpNHW9}RJK6uF8gsN|GH;4;k8=uQ)8-jlMEY261ihZI+uLPc1{@Wb+<(~VlA zwks}Bpy^thW5@6ndN}a;rv>N{gvcZOF1$tgng9R zJHR_wzf;lRmqh4Rh$G!@El~D3pgDQi;QBY@$+oM(oD4YE@|_9{(Diu6sYmT5luds4 z2>s4lID~VETIC;rGrnB&o|L+(8uSlK4VsF+z_Q$kR~X|+2URs>qOO7QED$Id z3>wzdO=f(CA7hvl>75bdvFXlG~`PG0|0^k#!C)#v3;%Gl+zQ_aR zoNW(*jU4o>Bj0C&kM2Y{u<0f-9r|}kURPgcF>Qj%Jx|4zFL@E~^tXX@+~aq2(I725 z;DZPpC_7SWo$^xlw$^>=ZInqq;M~jeot{rs@$IoN;dD-YrO|JYYnIDI7r>DXtQ=Ugu; zI~j4!;Z07ujxE!nuf;JP)>X(`>}#pz~l(;PGQ`26U1T@FEXfg?tZzzZYU3x^Fw^iMweI;T_IHDCq+|zdoMh zT#`PAp%v0Hje>3J5bktfJ*r=HcQE~Y7w+m{-!=V~e2KP;k7M6udvQFa3_FnD_!xXg z{lHnF-4%ILwX?CwVW9_YwNd)`#jY0fQN6cSWb$(l*3AMh9vY|bmgwNy-a7bY3*Mw$ z>kgc?T=HE2JH6V^bpy>GV^i&J;AisbDG@4>X8H)@>70P{mPekz_$kP z8-O3vUyO1_>9XEf6N0Y5eo$Ym>`S^p7e+r0wf8kXfoHQOK|0fZ8SekjaW1QqJ`14A z?}B|Q18d>1&yi*x%x?mzj(i3E3T^>ik%#uZHhG5U1)Y5z^HXy%#zd-tCO?I$VFrTxrk1~X@)|6+VJcB>SoRr1tY>sRA(H_(oU^~wmXrG2P7Pb}RT+pp`{O$pE z3gXvc-G#av?F|b43#6^1lep68j|h6yJ&1G-EA{zWX(7r?%i|6y zgvXZ7JoT21Xm1N;(1-7g4UpwX^8#f2F?u?8DY2iC)(UAmf!*&E^=+f87EukozzdLC2FXQuJyJHGXO5KnuSFB)f& zf(J0Ks;GV=&DOlo75spEzsk@~zv7!;SHxq@lw(Iy6=dYX`m=JfLZ|0sHT25K!r3cn z_1$xH`!o!aaDOMvcPVHmh4HTNOkb8i4Q<@hr@tvob=tIOpoG(%u=&OhovL1!>CCaa zfi5+eGnSdQJk;NQ5q3#u&wa@tNPMLmBoOgv0as>>%0!v_n7A?Qk~q zf6{^TFSf%ryeDpjzeWuz0=|CWjk5#Nh&TD}WcY@DZW{XtX}Aw~q5W6}`_l8|HROjr z{$J%+1KuJ1oxPVyRhY{x#F}4HbNz1~VBdneRhqRzo-Ly1Sa0g}LiSNhnmdMS!%7?Qf4W`6G?#yUl$ccCVe#nJn7sLBEa2 zQ|k~Y)7Y-A=!(6|=pTOY7y9}-6Yq@0$Iij|hxpE*Kd)2B5B;Z_V=ULx*)KxK^IOQY z!2NB4mC#8{IX?D1#7#y1tPl136XB_luLb!ecn(?#c|)1&ncIfrbw&c(9cPs;N>ErI zJ4s#n?MkE}e%yOhi1wju-DCRmao>fl^P>MuMgO5*fw58B0h-W{SD+md;oHHwI6e#= ztL{czC3u{+aQKqObG?^!|LhdlNnzI}o~E9T-QJnUP;Yw(-*PQ574w62n1j}DcH~YW z+K_q${d_`LFHXQYUsH>$ZG0{)LLc$LKMP}%2R1zBJs!02gCE2Bdu8{z7I4Bz^-;L;Ic%}4D!j?!%dn1-qj!t+XZ|$ z@Lk9o6IM3cVqlw3 zx35ANytQs4=O{JVb_(hQ-Wc!`@@C!VBY)jS;J=s9uc9FvE|WMP;>I8j^{Q2|r`nio zLyjD~XTq#g4TQ~*bF7b3(`=@nhP9u-{TLfvYG43-s^u$q$jArq74Op;#PEHfK@Mnu zcGh&z^nk4gJeIWGg**^nXsLx~11F9NkoWs7w41Y*b*w-2!TS*E$u!esjPSE>#X$!H ze>LNw$9zXl(GKQ8{(g)h;r)o;v5mZz8fe;X0`f#Z(CxsvFxN}jr-`4_w~y_^(_@!D z_rpqa3tsF?@I%l%?FUWh(?ESw-@OA}1ZM*@_vZufUm|Ul3-%Zz>%!LDDF3*RF5I_* z>jQhyS3S7ff#rXQvQ#UT(Gh)#G-dr8(6`tY*cYqY!Vg)^wn)J|ACv;yz=&@W2QRA=WvRm(iIMW z*MKgcfIg&+AJ5fzei~)mhIF^%_i<6W{pXpH;e@=kNRB*JTMiqK`rpw+gTps zE%ZnD^?-(*sy;y6N9;?8r;I2>y{R*7m9)2Deqi!aO2tow-cNgdvec;t=R7We4r}W4 zD!%i<&gnaHRNu)A{;H#Fybt&~dYZGh?CAvb8`wFmI6bduUV97ohok<6a}vbghH}`d z`a8~8gKcnt|5VDj#Ht+#S7M*Q9IXAp4tQWCWM6LRZ1`|O?n0hkzpYOG=3 z0F5e1-~4{|DmQozVc7A5PM!%>ZzIoRcBi+s-16fLX2Y|)u-;z^o};cg5&6uiI9s2) zM_f5C1`Q8**TLRB8#*3*4o3n9J^mp)2JPvLSH_<8I`5|Vuksrdmfw|s$j_ngw0+K8 zW$;ivS5G5O6M(Zflx}O@dM+LE9r_0FV?9E7SOX@l0FN#|(Org4zD?i<&~DxDTr&j^ z8M*EwPfv2&v`IGW8(7~1?;V(Wn703fs=dfp^Dp8k+jk>e107@^@?zgOgnZF9bus9N z8%aaR`;|YS9LzbwUD z!GU*Vdw_$ON#AC~~fbxYa={Ucg6 zG97rhTEByQSb%p5JY9?O@y$A(S#ykcH?MvIWwQ@bUcHTXlvmKB)+*|Yq3*V4YhCBkYGW`qT z>EHkJ^sB<7AK91_%COz4vz_;NWTQ*_hBpTNwwNGt=p~ z^&WdO;=orK47->w%B}nvbOVkaJmai`q`>5hXyfS+nA|q_9%)NDcrF4TJ9>r}_2YR) z?00-;b-gI)#Thp#=o^}Lua6?swA6fA3BCj$vW^?j9-78mB5BK8Yc%Swr(j zl6g^9BrcTt_iGz$jXfl(;K9@I+takHV0Tklfp5HTM(*o4qvZ`GT~^;XBO1cL(yL?*-4~Eo=iD0qmU~&V-9@vw6;TVY-u+->gLX!erobD*S-)O*lR&8NP!X ze*rGAVVL!*LbORX@PJ-F){k~!{BqbZ3X8N&tX9Q&>~XMP(g()T&$&JTI~HvA^l3-| zJ-vsJXOS;!;n?2&0=+zF z#~jdE^BD9=rONbtr3TMO@jb`W?#P3E%h>yhkXJGCV!vUZDe}0|cA<<*k#DIdbxH&J zNp*aAGUa{sncx%9pU-Tw0QTY1KjVDF6`en9`_xlAkHOyDv<*kIOZ?~i=1;u~bpqW3 z=~xc~4hsh2ewk)}Z^tHB9a%GOBYZK+kY*X)KZ14oYUK6E`B=-xIz8q>1z5k&I;inK zHuodGJP(YxoO%qWT7%Omh$};%Ek<4e^xJSgDFmL{?utId{$7f9@?g)47i~}vI+}9J zP;R(xGhua7$r`?w`ji1*>IR^6Rt@khyG&)#AD(nBj;I-@=`80w)t?TVCDv3bvDSut z8Mu>DWqEdt3Kqjhqj>PJ?JkT3sXN*QEj;@>DeX%F8*5fE{5Q%`$HI855zdBxLNeaL z9zeege=2_H8xwoN&m#>#_&j(m37Azate zyrAtkE`2uz^!0%}S2*Qn;EXyf0L_ZAe$WGTcA?L*zih^MwQMr{Vz5tWGum_oese&B z*`N*UHygAmAE&Z%@mzkj%9>MzAD-u2i*~XAgFuGzFi**N}#^qwf*0Lk^pC&`GlRJ=413_u}yQhBZ0x?_nLu=L&1m zPka|X2XbszDVaFCQ{UmdVT~6$lJ~$_S~v5+PaQZkpY7s<+*7_GoO^R#yjD%@YCrTF z=B=og(JPUrLisNW)^Pm?bwfHQ?SZcPY%}7bz>m%GH*~Xq0F6-Y0lxDd=xbA7Wn1Q< zJ^YvhdqG?1vuPY_kndQ`3o`KiTD9X;dk1XfQJ7chaHyM&`BRd99)GHR9dMgSy$$$% zig>h30d-J9M=v?17is=Gr;DD?O?y(?gVvRim&SLoGeNUTuB+g?YVsTCuFJTgi@grz zv(ANh*BW>jeQFEV(#V%zATOjJz%)5XL;cmHAr5}TRXTKX^4!tI=Ddn&_>Ma6+fh8b zCb))UwHX&^lcwHj>@w_cORl{r$a4w&pb^Sjo8pTMdXdNFNXznJ53FrUZ5y;EwGHlk z19A+s=?L0B41Y{aq!#^(^9s0T%Dd4AA#Emj;gR_R>|Yzsu{-zgXT!!9{2FQ5FSPv= zx~(3=p;x()&#QQUDR|xmIy50a*n-paSi<#yx|5o%v`Y_J~&R+l@ z-DYD`?D}7iE?RPJ+aP(OJ@i+mO~E|xA9$vHvrSlBCp>dbfc+&4IVa%xM_&PYHe=k! zT#MzukMaxO9s<4IdarE55ZIfXb5ocmdvhe>vp=qc&6I1&IjG|X;G@H^SAv(vGQI{h z)U<>zX+6${@Oat=pF%m9L)VT#`W3H^3c_a}>kY0nU5{xgc1Q5ua>V;+ci8H+pL;^{ zT7{LL58gpP?Aq6U264FCss!JRT>=_ZBR%I3Ie4bM`e)1o(~XPEq!#yV!eR&G|HE``yE@JANFO&eg6vV{Gd$;_|~9pxu&ojzU=G| z^hwJ_dbWKjeD|99Bg`i+0NVz?pF;ZdtBQ)|WRKHBi zh7fcr^N#(r<(wb;^%p_cbNoB5P&0@l(;3(@{TJcs$Nw>X)9m;V=K?piI^J6}q9+CJaP(T@aTzv1yAZ;st`rtP25slYl6w+&(VN)J)<{lx~F!Q*s z;@rc&(%_qLJifbN%jS8_p{Tq*4W~P}*7rghtYs2!w40Wblvyt9ZMBZH4c5P;Y#;i( z@(;8hM83q8_@Hc!3-RMTm^cyNli_sNNpPACe0mE`nufrKutspvc%aM_;9~H&&sHpQ{p|f&;db@mhGnH#;jC(`7cKuS-548{Un}AyPrWj5AsmR!w=hf z=|5G;aFoINb5F5_GuU+fLjrT(1DHoz}Z;qI+^w`FVGBCL|!et{)S>-r629n!Fk zC^MVf3EP_KpzQz__QhbWMavud2|8=vlsWN+K6x#82zp91*6>47!}~PAUq`pu$0yk56lgcJapPp175_S9HrfdC=YV%htevzE;|ku52Bgg7GyP&I zyRbJXM%4_Qw^P!jZ0(OB)#2Z8xd*zKex>yk^ZhpS-J}7T)F;_awE2>r)R~%XzcPR6 zhxDl5Hb3@Pab0*N`a0zxab~~AJJ|D&t)DY3^-1I7Vu%Qpw-qSQ3Y23X<;G++*XmM<{5TH?T?{-y zuaohc7rwLo!D~$8!86OZupjjjkY&p9H1?L zZR+dlhW`-w8}eXNT;(mH(#Sr!{)9B;t1Jkei}5#G1&c5qr0Vg&HDx2}13OzqF8ap= zF?mkc=rN&$=sweC-L+sgbX@HVfHkqR99kY&2zyLN*!A9qp2a>?&bEMD zV0|jVbEhGl9%ll{=x>s*0`gN8noC7nPA@ZtgT@c=%fo|GwG zMt9r_mi_>;Ik#kqL@unHDq4?D+F`hRRh z-z}b#yPf0eVvOg+p&3WzxIs0ToQJ}_+s_Q)T;DCh$YdJiM+yyiUo3zQK;yqb2` z{BqDO4}K5JCVSRjwnO!q5Q{S^(EhQJPW=?>N4yp4NW4uwL#6IDtRw5D`>XWRCe*KK zj3PY;E{M16fYj>^lnLES>H>X?b-Bl>%QdVE%4@C*)`U$xxQ4R;^;i*JkIPw)gsL^j zb0y-7QIDxE_dJdV25*BWabug%mmwPIIp=4cSRdBGk3K-0OCx;;iFXKjSL*&2D4<`Z zzgtD{6_x|uJ7KDybhtxu)TCxfVx!bHcG@E(SX)_ietAYZ+^G?ykhMC zV4I!MvW{pkQ%CZi0&jAD83NyWNbe&T>2;7;*RghJ$io~Ocz1`L%+#+8<%LS27o&Xg zMN_G3O;djrjAMEDmNYfxkS}7}IQg0H4ShIv{G4am+Rq<*DF43KSyMblt5&+bn@S_s zXnsJuH%(Q+#gWi~p&LC0IxYfzaIY`#tR7e??d}7e8W*YHdOc?i6f6WiL&YvT<r!$42*xS;?vpPEAT8^|@u#@m#^l+WejPRaj6V4}*1K7UW?nIKJM57(^;GI9t-pnC zM_Yn-Qi#LS7C1~59MX@+ArWb33l4>V#qBm9hX?&jbbFmKMEl=zpTk^jyLgSZi?!aH z`<>8s!M@Ujc4B`CLBCNRoNc>y-9hCE9Sl*9dREkha2JCjAEBLb7g_kA!(UrCZqk1*{qny+GqHo|v&5zpKy0%RH;A2GCX2Ev?w zGHk_Rk0SebKVR@oln+}<67P9q{mDnmRD8+a4mfK8X^SC0OEFFrA{=fb90R^CI&(;n z1P)WE8-a_aYb{TdsV1|IejT2jdlMVayaFHb+!lkkPr0m zpBc%0@!C(3Ji)UvnXXpSh0uTeNJqWmH;MBhj(v;c4#rXRH81=jse=XzNQX*5(xC(F z5iF|)>6pGh>Q;|u=I6(JUF%F?{x&+VxnBGGpP(R3B>Hyl6OhTPQz<(j)cHqtv(kBODOSKEGKpc4} zTz@35_|tWt>fle045mz1CEpvm_3LFX1dWaE`0#Jq##W);?`1!P_@eZCg2az_5=Wm> zOLxI;V$vs~JlYnB1N#)`-^7Dq%0IR$*cy`Jv&1+W3+!xoSSn?Nq+{wrWZEJPa3D~r3^TWM27 znC;OIbPhyDHBLvEdt1*ym~Ai}Wz58S9{Ym+ZdecdReVRCeg*cM=(q=Z*wu(b9oAad zSEu)NL;q!1VGpJZ@WYJ>S(n+aGm!?#W!n0uPNN^nE{*Oo^LjuAcWWsHAu zL@)<=c&|trqszObr~Me>{fOU48|@^FMR@nukY2|=K%0+F_gqi=VWcx{!FCCtEfjgE zrjtDl&py%^?LZrAO20@)_c|le;q5!YBZ;sL;yv4ky4b>RWNlMqJoS-lX0Z&?Fwt2< zSZm1|!aG7M@G#c5VaLN-0(}M#{y=(#-@E0Uoj(xzzZvtrm%wI)Hs?7J0m#heIU;SR zVP_B&ro)y7eW)DmHw@+ZP%n#idCZ4l7n;I7^1#pO?`R92VMlzjeCOI+zs=!&X|Of@ z3jVe_^9+fyf_Tt~d%(G7H68hLt&02Nxn4zDvn;Mvoq_Tex;n-%toIZmO)tceMqEEm z2c5##uS!AddRpR8}9P!Mt13vIb%LictUIe1d%}0r~N~0H&{it@jNr zKc3QOyU~8KoxUBjm7N3M$=u1l#_9(2mm&F$jC&Z*=zHtf)}Da7k+k7EYnHoFp}icL z^kuWpE^S8~Gf6LFTc;f2Jm*31BIaJ$tKrOZay&zW>!7cDu@;k!HRZWD1M?Tm&r&g- z=2o0z=g8h%bC;;)!Fi99J<~5m9@U#pfqkQ6)dIa=Hlga@Uz27XtMc~fIXm|1s(I|! zq$B#g{S)3}9g%w}YQ0<2>>m*3IE3(8@AM8f_vO2Kz!wt!8L+$H9JPe1>tKf_JX7-I z8AQyN-?{M2{M|QWUHaxEZHv7M>8GN<)T9oj?psnOW1>6Yn^B5zYlN8}^D*ChS0~vQ z$#)Z7i6iNkNgBIjhiWgqtN^H42MC_kVXE?R&wmNce}&}$$q&U@kbN?NhqnCBe) zJhd0j@IG~AmIrN3dF<5@4F=XY0zjQc(6addRXY_t{%g-fyYm;&qq{~0J6VCcQxLz*)oIEkltn%`QGOQ6 zn+NlRApZb{CKGYTYD6A)%e9mJ&z{`a`U!%Q~V*&C5zd8B! zIK_@8URc}H`QaRiKFCkgYgoG(Q?cHGOOkA?x$|5zoco1#hyOxopt~`Xbwt}SZ7S-l zA?ln1S}sQ!45!R<;=doPCB{>x|j`+>HUWv&Jp1qkZO&M;Dc$jdgffN4o;J z>gU>yb}zg;5uHDuMo8G|# z(D#9-LcPHMwI9c;(biyXGpx1p73Vs&mewERY=yQM1D&D)WuAuoSE9T^^zll-T;+am zHu6~&Kwh}ZLeGC@`*RUC zwA%@s^mAe-`%666{iJn|+CsF$P|R_1M?*Y9Z>dn4v(q@N#grVsh!+s){Q^nUb9)&u={h6_GCESr5&t?Oi`qTT$6 zFBJbR^mVLFIWl1`_HH|PCfOe&p9tWBvMYvz|NL0b!}_T{1N`<^+XYFZomlh1TIg8n zxWj=@;L*Isl}HH1$}9dX(WE`Jef4zx#6F1A6)m)xMG*@B;gkHy`Vr=$CEL-`Qt~zju9CTg7&>zk!{Q>uorX zAxYn$woNPad z?{^}eG-o@K*B&bZ{V-3O3SAG?3cTo_GZ2cbEVRBl{E`#2Eq4^b0I%@0dt|-5$Dc37q+8Q zxYy2U+lgIlHNA^{Gu{E`iWYOC3Nt4nZnKkz{$Wm}^TwRWkMDh;@17ryqRfOU^0}r- z@2>Whco#k|(%)cSGzRf9FIsEnMb~}hhUxm-H=F7fKn(8?U`35rdE2N>E zWI5c+hT9XMlN+7;&D9_Ma5M?u9H3rdLDpz|;QKOw<&q{iL*sqq!88e;D6B~Z>fYWh zW5Gg4-m!ft=PJP~mdLqe@Hgx_2UN{qyPfd*a-Q=5na{jZ(3hCkI^^XFlxbPyr7Xg` zO^ElZxDHmVlNS6~kdonU)Hq=L(cg#K64p`&>yA8FNA@w+(emNUH`LL(LCtXH7H_UT z|M#Y(8^%NfJ*B1#oFnjNfwKh875L$vD4l+{z+VMMedEM;5ZFy%FM&e^UMcXe6;65+ z9xw5Q0U)tI-?IfS-sgOOo7;I``j8Vg_*@|0 zwcqc=zasT3AM1n%9C6^G+gv)|e1VVO>V!$l6aB@VkCr&W-vJ2C6GZ>lQMxbc=Nmym*bas z15ft7iJx?me9U_T&z|kz`#}r(9TvVb=@Nv$Ot^Q8@Sql9lg_}3E8UuJc3kYhu>!YT zCL{}Jc?KP0?U;12?u1imKuZV{Ll?c~2z z!aL)fe4_u4a?sGzz^%(1zTGR(#GeeF`X}XQ{#iaP-hcX}Q~qj!Co9*)xBk|lg9*2U zJ@y{|{;U?^mg#@^lYX=FfRo=|fj?N?Dz$}4z0xuGHxxhk! z-w58{3p^z7bCF;FmT-#n|6T&m5;#a;w!onRFBW*YzzG7c6ZjW_(*>3ayhq@J0v8Hg zDsY9sH3HWPd_~|J0^bt&fxwRi{!`!{f&UWti@>7-BY$(~-A-U9fu{=WDez2z0|jOa z942tIz;ObL1>PX=R)Kd3yjNg_z{dnG7q~{?3j%`zHwt`5;5LDu39J|Rt-yl<|1B`0 z(W!4+ft>`V2<$EJY=P$p%oBK_z)J;QE$~`_HwnB=;9Uam5%`e6M+H79@M(d66Zne2 z8iDT!tP}W!z_{iP2(S777k~F3a_F%@;MD@J7dTB|slarB=LsApaE!n`GR_1H&+P!!S>pdk!Vv0<>BmiOZ&?2~+EN%(Pri2}O{%oljGlrzheBk>PN zd=Cj9lJ{pwI78rCiN8?7qy_(${@}FNGXh@{xIy5vG9JAwaHGKY1zvc+^S$Ah(GoU% z@}h(de~cRIq>puqSC`BCwi3Qt!iH}qN*I3X`tO(d&iBz0o+9sKB>cLBjdZzH!dQsc zf3qaqPQr5}++M=P4GzDU@Wb-n$gL+@grAad2l;-jgySXrs)Q3HyjjAD68=EK9VKi) zCwT~%2trfo@VGyD?)Wcm5-@_-ZW z_n-qO&U4@nftSeplNETm)WgWHi4rECF|I_yVN2AC;v%v9oYQ+NgnzwIB~jn{=^=$ z|4-hxEG~M4Q_kF>CoZpL`j+9oLf4k@Cfr-}`F*1tzC2gL-%9wB7UAn8{DizW`53rv z@9}n?)!!T+Ht7tk+UJyO!W$%P#>yRLX-@PP zc-r}Xut1aM%T>phW8zN+J3s2w-}Kv&&pUK6$Y(Bc-W&Psm-nXqG8a4VP5No_-i%kn zsBkxT=oi6Xqc(qvGoAE63F(-fXeuKO>Ez0}XVk6i22Z}35f zZwFuC&})3217i~$IJpJiwxr*KfAT&w#L4GQ=}&V7E)!TS@O^>*6nH?OOY-k1u$RDd z1&$DSrNIBI-D|7ZzqSedT;MK&2Lv7wI7r}m0`mk87kG)lD+L<<*uC1JKlKkYc96Ea zB%XRmc)V|#lb-Dt9{-J`Cm)2ze=6~8|M2*o5>GuQJib=q$zS2|2PB?)Q+WIiiKl)O z9{;VxQ?FsX`D^&-SpP6I;JdY3oqDk!g~wme*@+L&o9SPY^z1jL?=k+Z_D*{Cm+<(P zB|ZBszcKYRX$)OW*woA5Zs=>mhOWp;|9vU-HDNF3|edlNSF zH*(^Tyf@(|{zT4S67R_Q$~XtE?%+U!@5$heqIcgWuvFk&fwsUW1tyFA^8>N-{zKsS zy-vGaBJe7K_X;c$_`amSPQo_}yhGqU0_O>QRA9Zp6#|zFd`9520@n$AUEpSc?+E-* z;70;?3Vc@V^wk147`wg5Cquu*w>kAR;g?#3O}v52q`uDxd_mxA0t>%)^4s%+1Ah|u zp1@B9&XRQZ%6AV7TqJOcz*_~D3cOrkp}-#`A9bHoUK@cO1SSjg3QQ9?P++>t`OYWd zO9YzwUMAr}fj0?kuiEQ=zg76Sooc7Un_hDAYm1qE88UfK!m%n=zyCtQF)Buf_ei*n zYNNwHO1L#HwqajulyEdAHw-_2m6Lyziqhd$>zpwA9ei!nMj0OseqIS1{LYndTh&&7 zf0=|0et(g$!S6l^8~j#DxHa&hY%%3g?lN-4M z!ni+7ho6)%lIrkt66QG41cKZo^=XgxW&4dFgf!ze2Ch$ywZSHsa8QX+^?IrBd zA>5cGVXuUfC7deZQzhJ8!l@GOA>m#UK25@>OSq?m`$@Q$ga=5tw}j7;a32Y0OW4?5 z@+5qQyuVB2uBnel;%A4&n?A%>_l3nX?EyyO?_r5I^)~U3gvAGt&crVbi?0leUmg}; z6BhqWSbQif{%>LN{lencg~hK8i+@$(O?%*#{@Wn&Y==1f44zxU;yq#U??^n`X%K!* z`0?+$2G44e1%s-on@fV&C@ig%fE%@m-om#0+esuatgTQ|YJS;Hkpz}UaphsX|f#(Vw zF7O{eJLx|b7!tTo;7OT6JLvyM7l;tgM!b<}$${?G6?{ph9&hc66$W=QxUfu>xu zzP3{0O?}r$c&$LwUav^_HG!tRwn+G0fo45yn}k0RXxb(7VF$mjB;N4bza{LFb~pX8 zwS+qeG<s1`8aXgp!s7%QeRi6J z?-F>L&}V^!pA=~Nh2g7p5^wlLZ_*Q|YpU#)?69SDqTr1(AK*Lw>NqC1q!_VJK_&0$@9=3hR z!81vqk%y;AINiJ#JTH*&MFNd{E0plH0!{zDQ^K z9)YG`G)cI%^viCNe{Tu*6__INrvDC>c#p*UC48emGcUPY!uJbImGtW+yjfrmiEohb zcLL44D^~hfyg)Pm>LKB?1e$r+a0!nUc(VTP7Q3kw{|8{k3FC)zx!50z1U@MH1^)1% zL_GZ`?~inL)_)c!pLqT9+C>h3O%`~Qz^MXf3JeIGBk;68sh4A=XK(i5NACA%yA2)` zc{_&>_{(*G$`hC`@B)DZL*#j=z+nQ13mhSkePg6NUnuY*fujUoERf(5c^)mWK;RgG zV+C@Ix>TMo6L`76D+FFCkU(6b)KwBUUZC-Px>~{<<0i*#-7-!1_mnT;;s5l^eEGg*el5e~ zKFTLT^CK?&*5DKl5#5~5q(2el_mpoe&*0G#nsOM=Kf?dbkMhx^W7*8dlw)w^d&cq4 z#GMQ>9pCYfvYpQ-suSawFW(dL&*0G#8hi-(qwHpy@c8g>_%o8}bSFz|;+f9F|M17} z`NwzsGxZ_P{4+WdpUwDg^eLk!8GVNOiRNR=Y;$h) z5&pjnzXR$X^%wm3#DBMi{ZIb>IXXHe8h__SpAsDnA$X4Zwu%34R`;v<_{V3bPMus| zTaQ{U*Npnzkm16HTPdU-b(!J zhREXL^V%Q&xoz}=TRk_Odv)CP7w*pSe{@U9bt`aS~Z>~sA->v@j)=jg!bPqua{tldz3 zXq~tFmX|Jj?2%VLY`^O7>z`cj>K#3|)r1#6i+!udw=pl=JL@lJb+~ZS70-4n+<0E! zYhSL&`SP~Nk}s^+J#~xI;y(J}zPn#2NvVE0a@Fn)%lhwFzjwtuQPVRTRr`llw|=zq z;&%0~wVhnr_q-dU7u_(?w#FClIW&68l%m2Lx_;X4n!87-qJ!T*5_!WNtE?^?4@H+> zzNP)oZ+*7*noGWYC4S%fH|EWn8$7bJ+gC-y`+nZ>r&-${xaPtg|GuK|#fv@|U470p z_4>+&ey{DwS+#S-Cy#u3-i=$fJ@xNHA8()h?e%#_KD#Mn$lUAxTD#u=`P9A<`CoT) z_n&ZKo2qwawf$;vNvlh$a$LRQ;$q&o#}oU`Y1NZ1f9dYOcv|ncHn?ne;Ro#+|9SP| zcRuTry0~`jy49b&opjzySC+M1cjmd{|NhEfZ+NxFGkg8_FTb>5No>Q*?j?0EOv@Vj z(Z1(zuY00n&o3foclvT_d`$7KIpd%Y+pZord1lOq?RG!W)Ota$zo|AaJQ;Oo z{(|-g>Q+YIJL#Zx>d{S+*Z;|K61!e|*=1ZOgZ8`ZTlP;LeMGyzaGa*IoYl(_cka zXOA5C;;_$8Z~N(mUD`bV%Lw;C|ICP-%|G~eUb^$T)jvFR)7dlLxPHh3FBQI*Jp0<$ z{~zYw1w5{+y!T#m?8H*ykdTl-2(WEO@g*8rk`v=7c4FOZE3sr%k{#z_CZm~=GXpioL%pp>?h(jHn$52vNHr?eC(1qu`>r>7SVEtgVCTMlsOjkZ83rT3iQ|6ObE z*(1wI%J)6r^U2<`_qy(NdDnYiYrp9e)!uzyT%LX1xvPHfvLjc%?>#qc*tX}^O(#BZ z*Ly#@^UC-C$`3#I&f7LV{~Zs%<+0Cvc<|%D|E^cP@w0u;dfT5p^vfSEyy4cr&;QL& zy!rX9p4YBycnz|IA;#>J2~e zi67qbflq(=-CzBaN4I|db60-q6QBH^(Jy}L>;LqQKV7c8?2n)Gu^T?{(uZz+&p&?Q z+%H$p9eMZD|NOzt-&cG7Qy%-ByDndR_{y$pAA4i*HKn&L{L?2NJCmFEc=?9aFZR6Y z?>@2RGxIOoIQ`*wTy|&f)}^<6>xM^uf9gnS@^j}Zci;Q`KX}`pJoty7UA*%1hrV{# zA3b;OZNL83kG}DJfA*ap|CJ+u_1L=xZvOlCzyFmVe(&!Ly!IV)Kl|o)-m+=m@4xr8 zmw)DCyYBz9`429Ac6BE zLyU$E4@iFCETPAQ7DPKl6ZYKXZra+nb?Z%Aw+?Lu*+1*h*x1 zyr$>It8auVJmvalJbU}DePiE|Engtpb2o0>xOpc(8;3S-q@`+?+N3|V@7ZA0t2v5O zv{E+ftFgmhjrMCBVbLqSUOb)nFY!v^Ys7yDmquJ$xi(z6?e>#nJn$!)AsQy$UVOLs zZ1LgZyVXDO+o!pvxWsdd&lk@vKL0^3@!Ah_Nmj^m9pQR}E626KrFxC;-gw>R*Ijqr zW`c**r@${ndJcTVAs(%d+#)?IjX$x!_IC}Pd(-!HxkIB*aWDDNAH$#ey3JqX&njJg zQP)e}`~6)n`P#p1aII%trt6U66#l|DH`)DD#jD(hzj9@KJ@wOrpS}ZvdYAkBW1r_x zPW|fNE8OpP>Hhj8<|Tyx&_W;NcW^_T^9x;{>iX3YtEnEvZ%I|CaIEu5MPKx&e3Dgk7aU&dZ=7_&weHCTUn=we58~%( zr+CEz<1P7-?^&4r{Xg5ZLln5;aSHulNWVOa+{TEN`;Y(lk5_HnfOm$&L&v$NaY-(o z=2AN(S3jLgJl+h~FxPi*i9ZyNH^3#HQ9P3PP1U1*XwJpfY3*s=6>n@Fck!HB^TLg) zPj~T&x{Ke`pZGiR#V_PK$0go)^HXkm%69JhW4LTB>#je&GrpeVS{#D-W)2Vf3-{En zeO(W9y|U{KU2pGtXV;gy{;liA4VewO4d2{w)TO;$79gF)m@7A9Szh{zKrv*SVi_A9BCr-s?W#4l!m&z)OQ1==5UuedO59 z<@xqaPkGu+&w2RahjX{wato1p{o{`T`!&kG-+j>DN6I65H-ELzubK~Xn)X#!U40FI zwCs@U;^Kq0?lP{88xM7HxlLSd6KP!h2_I|DghN-k)Z%w>eTwTFT-Wk~0j_DT?S!{+ zscAd7ZspS0-#9SPeWT;LcHmlm+_N@pa8KX1;TG3(-E#(WK*$YSdw1M6=pyp&2ADrAlkmmedDojaDeU>-n$=|`9|{ZbFR<*We9za?Eg@yxJsq+>}Lm}>B>uz|)&CeOUW?S#z&fEIEj3OA^&n5XpaHamc zYqne?SbQ#*;CGhmdM=H#i67jBhm=Qfs`7$w!J+Co%B3|h$)z=6^LgFVZoKXqXe@tM z6X!0!FL?*F5j|w%a$!Ymy<=Xq`!#k5Z6n%5+D|^ zsR7JxlHn1aU&8epTp{BIJ^CeQ_fdYwxCEPm(L-D#T<-cCZ_=gl5DdoaRDF`1myXw1 zJcUbAmtL>2RX)YT9@tp)ao5=0#-*`fxNR%|U!&8a-J;jJ>$)#o_j1>@mrL&zo)F$x z8y+G~*I>BxUcE#04{)swt3A5Z9$oIf6OY_?pL@Q>N0)Gz=2w?+Sr?bqweXn!G~73G zX>K*w>bK@sebiVS;Zi>}7Kgbs?;0O>^|cyV)>hA!n{U4P8bA=d=Ko#q?&=ZlA?;*=^plf3L)+2i7&mfoHggpB)o__+IB}jihzxfS}Rs<;SRQI=DGaBUw zzWdP6%>0i>{-U<|rMrIU-k(16_V54DFaE**`odSgKKRsYHZ+E2x4mojM@GL@|HFkl zU;Ffzz3?3mzWM#1{E3e|_KiRL(!wocw?`YhuK)AGZ#Dnh_{-;?|1>A8LNTd%!g;PTI${l~@EoqXrvhu(eREzfxU{_p+#xBlZVe)2QF{#(C! z^vkEdXZbCwhc@S)zG3I~{lE9yfBV@V_^V&~=cBJE{dmt?Z+p)-ANQmtQ^kldpgAuU0<&ynmR!?(U)f?|63Y>YsY-17H2q&;Q%UpZUSz zUwYuDR$uddKlIj@{?6OK^3zxSLFPl#U$1`QCD;74`|!Y*qKz}XhYr`49(m8pe(bgX z`sP1=$H9->{K@b9((}IY_6Bhz8k-{zWo5nx)mVbHokALs4y*~RFFaFlEe(S(zK6&fk@B5+4 zfBA;{7tfx3+Tq(z9{cRdZ(se-d;aQw{`gR73IRi6UYARftU6D@0&k#)pNdj_hY9&{^;l5@JsLg;Ada+ zPd{~IW#5ZWOgEqR+Wud;`wy=E+OxZW=*xiEO<<62Fx9niKU-NTBT$-`LVLQpUfR{Q zq3g1)ja`>>6vS0s*K|F-E9x5PI@I+Dpag9Df6}Eqm4Daqk8`0}BTr*(+`u}xk#+HO zYJCQz`Ddv7)34ohh00(4 zv`smcf8?4?8&&?Y>o*Om{J>K;ZBhBFZrJo8EARV$IlbRZ|9jvewy;L8r588S(&s>D zZUdj(1scT|AxEfiXNUH z;fe^qiM#T@gzFID|4ll$d-EwSa7XtKy6dihrfgp2+E4iR-L+SM7d9_*?Iirm+^Jym z_i-I1{58shYc|hwG2)xQM0xPl<|Y>_y!(Grehbe9u3HHI9CzjaZmw~{e@S`O_b}JZ zgn!Ikf5jZnk8**-yZ?y(fX6nMxxk0rzsCJ4uJ7kMM);p74-VWs%k@;=|7PC5o##3i z__q5udHFK}%m{NK25;QB7EQNsU+@(kc+c!&(Z zHUIF+o8e8n|4W$v7ZHZ0cmHvi{}sZ}$nN)Y7d*Y1Yl`r{P+s#dn7NMred*aLH>T$Q9O37Z{=dTfFA?5B_-)+vzVGEaLiq0}ukp-sv2MHH80P;w3ExBb z&%*py3GX5N0q%mQ*Ki#t{2x!S{y#+hn*T?*BJ%$sK)UAt6xY)U|4^9! zRl@rT|3R4lWx_iNzn#10>-)Hl68<{nHUF1d|GypPzd)W_$p2RE%KzP5#3_@61S`MlKn|7e*11@deo|IcvW!1Y~R zqlCXqdCkXzTsIMZU6}t1gog=#I?Vs`3GXKSF76u7S90A;_?wj1{9kJQe=N-ZB6)5l z|1Waacz+MqVZwh)dCmXxxSmb;C&T=|nDE_%|1`{hg>XON_jA9R>j$`|3IF>OtpATt zzuKGQ+DiU6bMNAMDc1<$FOjbHJizq~!mnMk{y!P!zeM^j(%->d?R^E;B;jvRUh{dW z_5ZtJ{)^=4CI2sQ*Lc00Yl84sD6jcH&Gjt8ZwT}MBEkm=e=f}b3gHal_i^9C^=hsu z!v9Kn&Hts=|8Ir)&y#06`QO4_`CrC0M))r%ulaw7>zRaKALjpsgzqB!nK1un2;WBd z-Q2I_dKK4wgug|3_2*LS|Knl)m&mh&{J+Fq@B3b^BZR+7d5veh{(maWf4u%bALhSG zo;~FMAor(my@u;J;l~p0C(Q-LoKVaS#T-%06^S#t#{IVYO@75QQJL{xm&1K*g8$fv z+;|yW$OiOcUGO4TUv>fsWfUt@)j`>JUv>(?Vhn*I;$DR%Y4SA2Q-!BG_cH&A5@lW2 zhRZf?y8MdG-91-cwdLxkTn5v!Y2y`_$6<2luS$ys!oNE@dxk8~{Y&2YNW4O099C3?A8jWJTS*li| zM|vAOqQzXPTrBjvVzE}Qu4L=yvJ2&E{)}r?N{i>u6whZ%&EiUym(_ChM$s)cvW4Q= zdNEgU#l=>mm~A!c*<7uZEmcZQvMspmQn8uMFD_-RaAh&OaK4gTDXz($&eSMfSetyV z&TCb}nqqpfMK2duv$;mTRLVB1*@f1kD^#s1zEL#DHJa6WG25UqG`N&6h6ug5dA^no z`t$22S|Bxeh`W-c88Xe(yvg73ys zu~Mv;^4Z$*d4uVNR{4y}=5yt|;GCBf^Jf~Z6_-6rw#D;nB9+CDjh@25=uxBM;?!(o zxms`LTTR!h@$#ZoQmQOg<8Y~RHdihc6dy-b%RU&_VU>j!EanLE44P*QjDN4mc5WGgQnsTy=^q>tvo=kvJ2<4D+|D@O_7hXa2R9D zqX>alfH|9$Y<97+lr1%cH3WXv)%LQXTEk><%GpxA*~*pME!2xGN2nBxy1>#ep7j+m z1noesUaZjEbX+T6&NUjHakYBsY*HxBkdC8yR*~Waso~XmV6RzptIPRP_64nCtC-DK zS5|VBf@?Jv)ISJEq1edR8P96n=R21Jg)g$Iif5_PK{#0X#hS}40HfJvftY-?Uhw2) z5j07TR=Md5YjtFst3Hr#*2_s?vD|7b0|d;5Pc@iMN7PG|CE%r4v>6dX@{nk)2YWEn zNs32smeMFLt*Gyv8Eny6x>f5Feg1qs*UT^1AR(z(dt`Jf&0L8EpUuae5G0o>wHEk< z#Co;dnN+M4YSj|2=PK4&rJ?K9%3^7$1?h=1G<<>|^FWYu3*}-~@T2+i=^-Udpvzj5 zedGL``fLG)ms<;Q&ceC;5YsdeNW{7PURVOH)umNdVYQwwdU{5_bc!w1`0TvWph(hiG_cyc+M|UF2w7zjScP}fIK_z7Dfa-yghi`!OGS(8ae6WJ!uKQ@ zljikNli^@X>gZCdUTOELx6o&`8r$LlIMn{oeN(3=>h)@Uc=4g$#_3}Wi1S@DFpnC= zJn*9Gdz_DnTN{Uc)71VrrnCLag?w$OoF5$8@9dHCF27RPBTNO7>(9H<6Gx&Pa{wP$ z*rRD-1c}>f{mE#Gn$>Dl&ea){1mi_b!KuwAEfk)Kid5GZL7wZ2ka*xpI=@iA6}sWUP$RK5N>v_%$x3di zl#c+JmIuj!q19fl9`pm@Z>Rp^K>PkC+4xd_a@6pDA#%k2y4Lyg8Ak1I!#aOTN1A;6 zzqRiVZ%uCNyjM}zg!pw{Yf;z43EQ_vei=lp!{Sm7Y_XiHvw~UKI}YwBRT#8-$v{p3 z5^d{kZ0m898Z$iL34s>=M_<0yUAQvSdY)TKb}5yPl#NiWj z6Ip_%7kBnHb{RsMDL29!O7%vwzsCzsLMj?dWwYf7Df8qBm>(GI9~kN%7_f%{J#1g9 zm8uyb@`mf_eh7RzaQo`%;qGoH2#!D&x^rVBhokw@N>Srft1=|WlST;Ztr}P&(8g3h zD^+5vt)=D2%d0k~$$AX5!Xtf_ow0ZsBHoqo;AgYDD>ov$PQ7fvYn`G;J&OOd#UI!g=TgHp(rbPTdXx zC_UocSc-_jgbcIBJ+>D#SZ{Pwi-5JQf<9A^D_57Q&KDFv;)QdKhe9bb6)&pl8K*~2 z;U`YbXUFEo4Ou+YTR1I@EQnq`ZEYH#9hn-ABDVlDP%c)Mn#+3o0e%dz+@GuCf3P$h z0c6EtSIr zV4g*6M7gsJfMAZc`IKah1!|tk(cj-68JRv8#U#$xL*b-O4U77lDyKwoQHHrtttg9U zQ9xDYR*bg<0D6V%Er;~Dn1Di+7`O9n)S`0DVufL&qTRcV{q!woWfk+K#Zn&J07~K= z{NKGh$#wMp6x>`YucpLTr^=_RVRYlV0Rq*i$%|j!9^^~axu%uys}P-z=JB3(HGToF z$uSui(RMZlK6H-Keg!9qB3mseQOIy{VX48OnEiW)8r!0s#Z^YG8Erd}8KwK%b}>Vf z;}db$g(Y0ixM|XuZUU`9M`MTytdth;N^Vt@vbP1wZ`Mo2MhF>G+V2@iaH9^n4 zt)7(<8cF{cvioQ%@dfrM`g{^;l4M-7#j+4UAtKBTNiY>bWGx^XalMvA%ue_LxB)YMEwdOh-`Sb^UCykn!};RjQelT+Od+2~0{A`alGWNv1?DfZC(G$nBKKcu-t$ zq*wZ<#d2<`ajL*V!8E7NfcpKU%K6Z!$PX5 zh6IPB@sdYSMly2|a!(mSe*LaL(V(oL&nSsCtW_&OUFYbW>TyvNX?18`T1N7k%M2&& z2g;x=H9vlujcDt^sAOYn;Bd);NuRd+@n_PGp@h~OOe&qttrSX)GmkT8!m&M$^?$5X zX{`#U#AR$|dfff>Dz$Y)Mu(-Ag@8To>(-9Ox*+3UzjHBnrWn;*Kqo{B0|eT@rCqLP zE~bKKigi@7$_&o#afip}Bhyi}0eY)NqN0jM=0}dqMdHCwJQ?xPjL1&GnDn?kVa3q) z`$uM{C#R1L!*gQ_iPwo=ATTBxK@?WYrKM$84+EJI2VV{J0fbPk+qA}m9uJfF5X}fe z1TC^hPt5$Jc7Qto;NRhKA>C(@t@ob85NA5!K_@OHyxsCrc50Cd)J_7 zCRx4~+6L5-IqpC@yE>8N^34~pO1&Pih+)7&v79^a{0wD+j#eSz7grZC1Onp(g)O1C z!Bi#;iq}ngX^K|DgA`F##KIPMSxkap!%_kpBU+X1U3KS{tL38W4|LZ}K@qe76mB#N zfd=(>Yz;u65o)*zqgRY3L$OjtHlzMfK?6YwE-ltlkVhh&rDlEc@cuctbg_AHL5m)? z#e_|*7)J*tBP@KqM9L4}SF2fU$SBb-%g#Vl9M86rOdJa0F_zh7Nm;24jM*5jftN z$I`_xFlV0kD4_QDPeRt=5oNBiK_~%@L6HUk(-(_siApj)lC=kgTN}MLoI&cK?5Z$& z5qG8W2Z=)i5j> z!DYmO11x5{L}?@?O`8PYj*g>FRM_d5 zgIxu4`CJY6X#ewW*?rqRJ9i=cK`h?e#X!gi0C)zCTyXF4b#>Fok z)@UA%q}^*PU`q`q47Lk}`VI)70Rq%vsa}O_ibLrUC$lzp(2siNL&ySFlT!YP+4S#3 z6V&-mu|E*VP=GZc!L=d%9b9D-l`B8R)Vn)#_C-C7s^w^R!)sF(=vlogSW4dQ`@0}P zCx;LYerXr7-o~BvB*3fJLnREm^}jEE-`Z5G*4L^Ar)v&P?u%F-=w^Jc;&HKhvf(Z1 zey$yq9;cB5V%t@Bv>}wOv{n{)2c?+-R?+z_?tv}te6hiOVs4A;MY-uzjpz;_E%eaa zPuygsf#IZ-FNv2$;SrQ>F#IN8n#F`Ez1w=T+8@o7i_+4RDq_ueP_K=d1z$pRv2;SB ztf;}=&Ry=Xw2c@(u+b_u>A+ce!{9?t26r*QOBGBsMZe#3DRK;KWI`U>lIG^Afj9e`yc_-rKu3J6^A_YB_nOkoOZI-s=~m2H7l@Y zK2`HUi|K$RiHlSxd;zkngt-L3C0k0md*0w1ciJj%SD&uNzqhtpT!dpyyrpE8Xkd6yVyIdb4>#ff z)=m@Ho6Ds-4o~1W6vXk2^~-mHvIY|eON&+yNHx0Uh5WL%UUZjWS7hp}F!(|8-esap z1GFP6s~N=wNoMN53xG7Z%2rqsW=@xobC4&GK+VLi?Cq$#BHpVEkM~~EpWJ)lk+dcn z2lqsK^qxJwIeu~*2Nl&%pudGzQ51*Ld9sD&e62H|PY%rWLAaPaG6^FwsGk9~eINoH zB9%mIs=;WSZy;&6R%IVw)HGRWPyEoYXrD8VI!F-}^+T`0eo=cChMAA{;uS`Gkts}X zd0`uBmEHILMYp{0;zqp4bxc|ES_U63rWs|5Px{S||DFIb#r$#=QCeEIC(19}WDSlR zbysAi=f-9yXXc~BBa_D_#)nZoRM0N8K#&msHl*dUehd!ULNLI65~Fv?k@J-S_g?iy z<5NT2Ifg!=aZrfZKZ|*e2jBch8dQW8;{VwoCrz@Ym>O8GkBr})8s?-#GPLn1J;|X} zt1I~VtzG2@{lvtw;gcL~KVOWJhtJd~#mm(XlUm#H$~Hh;loSTvH}tNHTWa{|pq5Hx z=E?P%8f64_W`+X!)Rd3$shmZ4;?bC8i;Nz9RAgK!alU8}2ox>vT$a9Tai(PQ7aIb} zC%wSbDqkclri*&799jaQ`)gZgs0A7?HzbgiFuRFj=CczG4y3A8P0A@Ob{7>UMTOuF z(i5n_K{~4@5M`7ioo67RE>A)f%&(8HA=?znSlh*cFkxiEORT%5LeBQL1WgLEjN|0)T zTCx~TjZYp&fkhwM?_m6G3CqY~?;>?<=7jOecr!4Rh(66#BsD}_KSY%ld4UrQbUltH zAtmmLP8z3btoTg5TIjc@+2UE`tfekv}RW)or8|ILG6usqGmKiEdY9fdW= z0MIz&#>S)B<5Nfx=$cRx`1iZ{9G>17B?pF1McZ9mkM3hROz^OYyrtagm#K1UG&-0B zj*Lb-6^TB*++s4DOunJzjpVKg}@7 z@45T$92p%OpE%sYIkYbtZ83&qXtH zvsYsl8z4|0EmMP4AC1X**uZqMQYfxQTAT~W&C$52Lel`OXN^#g%Y6HP4F9?nqv8X$ zOXh;mn;9DD9~!_DCp^$0(9D5KHT2}}OH`s30vsWiLa9Fwxzt0gck~b40bFGE_V2|? z6TgL&I|lpj7_=8#7JF%>h_Yb)R;&6E4`r!(51HKubFq15GXWZErSC08z4*yAJ7Uu(( zhR$QXOoeLEds!MUN2a+dT5(@P>}jL*Be&h4kj9N$iw#{wwopHdmslygvQ#%tMOe!c z^^kSQYHa;6?h#n)toj`8NZwu`;iqlq85ti7fN2Azpr0*|moTlwdiLO^iN)Cr!tEgL zTv|}AllXfzq-nQDseofd8@1meJz(r3Ed7&GOg&GV+9|5s7}<-Hq>94Dm2DWY*D^YG zh*1OF(7=xrmEP(uH3B~>s7T>7&p5bfDbm1pl$@Y2C5jg?>+sro{c07&!~?+NPW1ZT z9|4k8f|F<+X`|*>!e{ zptpnsRqzz|&iQ)sIu|0NmcS&Xm=w!boSGUlMzb$^K8|b96ln=f?LL4*Ou4Kwp$cWS z^t6AYDS5({o`BSMf=W^KNi4(`&M zlSCurk+{9LvAx~&9WnXv{u6!XH^E+wW)Xicud{`iOd!O^8NFSpv8JBBo!&MIo8U|J znQk-=QHRwDnK8aVuG6eNn*x@mpNc2&N{hh+LpSuwQ%dhYCu}g>2@Qvhy%+`#X!@lz z$c%Wi72|>crREi>Hk!)>?-Uz74jjQuA@y4G8RQOCbj+)?Uxy2pC}Bq~&**vfgD%Ug z%la2MAy&ndti6(Zgbq_p*AAkXYm#GOD5T{kZ*4Vsp$J0~gaQ$3WeFaH47Q=K0sjk& zozDXi9`Ox?dVOfnvJ7@+8BDU^ABnajE^eW?PZ}h9sr7r!jHof1sAw?w!>N>SqaUWu zc+e{z4%jVR4P|#d%T_9s;Ox>tUGHQ$mUtvqW1AtDZ483Mi#m4yMr=9-fp+9PTzbKi z$~Rema{1=YSMtj^kW>Mp5p4vzRPD18unhM}E3?D+lJ!zYd% z>*>&+YmH~?9Z_1w9T7fH1jbA2P7+p&uHuP|`) z+VjgE8EtwpEg~D1RCK!79A#~T29}DMp~xfWXlJm$8&jpZOHF@r& zy+TzdR$ZVrvgI@`C$+Iz4#^8|Ae9um0;AftM^yyI1sh5X)GLiN3?c)f@R|(Z4BGv zF80(p87lSzo5C1?eFxH>U~F+uX+~2cV+jwXfyh^DCDx44&`H^!JxPcWOkBS)jdIyk zf-sVeVTUtJI%_OotjVQXggzXD)*NP}{6pMThktCt4byP;u`Kf(xh4Bmb~(tnX2rtQ z=CZ27%glUs{In!Z+o*?_d z3J%#9o9lhuAQ7|gx9g5Ek;E*`gt3yd^JC@~Wm~R{A&7`FUI2*o{HmZq)gksVs4aV`Na&&Q+$&!v%v9@VKf=20YX>n@oV8 z;{>Cq5|2vZn3GZ$xk`lBgxxhsZK@rd=VvS^jA>M+;(8_~X3&mChs0u>BHOU7HG#4% zWB_l`0=L77uxho3SDQAB9)h_Lue_*-6iFO^my$(;ycXm$Es=C_cB93`p*GCCZ7$Mo zSL2$+@(TwHEcqQz7HeIyt0=Tgq=k0sq=rDnESqurympl#sz|_(z0MNy2(G9}-6vkj zicBIoiAJ+s-5hGX+YU{>(DID)g;VLOVH;ee=7*inl22%w37YBh6YUZ0 z%+xtpOvtx8LX+*T#L_tE%yxcuYHNGaZBc(%25fN#de>|d4Zf5@Rt!J%hB;}On;{*9 z$|HInuq}*>xH{e)J%o?Z*@uQDSD(K7G(JaYlTY~Vd`uZKp;nt&RgAHUtI%#6(PO68 z?b#hoBY$|FO3-d9qTPEOC2?Y*p;~=-48p{u_n?_JPq2|hG8Ieg-y@D)ais+cs{)R8 zDOPm;Ky_!JN7J|?jL*k@@G(6VS8rz$u=_E%cqLKh_op&(=Ch?-v`sHiM06lT-@Pqn zXZw3h45TTnxRq+U@c_~(R4QwmuV|>Eghxt&I#$l4JAuk-nNy2&G6<%V#MM=}Bh^*f z5ufxDcNQ6pJw4*cqz4tkU1X0Pj4o#LaL@xyoWn`_d|xyvv<6UU`sqB}CwrZ2gYk)q z-}(fjf^H5!Od+Nnz4;v-@27QoU;OUSG95f)RoYf7i~vHYr<_gnaMY@Bdhy0?i$VkZ zt1gO8w=1|)hBhP(pl&1pOefvlqCTQ}_7sq8Y5SbasN=9T!*@(kFW-rGGWk~=G_9zyyH~>w*L7cFZ9V#TJS@cTH^Q6KU+qQUE zU6w|yK4IY?cbmT7nBGLTSXWyUy!AouPpGW{@G?1fWM=aCuos|=RrEFkIb@jST|e6K zW`~b3e`3G1c`znBKHVbGnJYxuprsXiDKM$cve1?D9%b)LhVaDT=BUB^FnT0V(;H)D@)#coU}TtjF9Fj8{%q zWwE}(=;(z@)af&YDrd*`4jB!;ZZcqbz_=g>|W@r^g%C?pTV+FWI>?sP3 znusPgCM*fUg6wtfShY2Pue#XZn{4G=re$KH-<=d@Q{djk_FNmfEQH~kgEuA{tZm^%G zBK&(IsYZbC)=6ep&+N5Lo)tfmiVx4ZGTY$MYgT-cFtG)8M^IrYss$;k%XHQpaT5ar zvRn?sO@SR)elkna{BVGuW5J{QHgn)(x#wqpu#WPmE#vUvIZP8rgoTJ%@hH)sQV{!)hxNI@ z#wzVt^h&RZ>G_FSFV1W3O?^4b)SF&QMp$i8*m+(fv?8YETt(Sb74!;L@RV)qgK@1j zOvD1ij$W#eF$6`Ri%f>D&3p}{@@Ez))d%t61*VU^xE-tCPCG6tly1kx??APPTH!z0 z*NY0J-!b=O=3#Ek&q90EGTA{kfCoe@+OENoLs?=%U(T^9QX&^D0JsTVrU)zG1`x#_ zSs)%WcdMhq1BSs2*^y7RrIcj7t7vXak^{0hU=w7L(LBRNjml~|;+0)yV)kOda<061 z4voHJn}AqGdlo!`2U6NSc&_aOyQQ*ci}Cs?*bc;~iI7PU;=Cu0e=(cA@V$;?>TwSi z>-f<5lP~VM=N{O9;=j-&X!ky0Hvoto_T_NfMciXq?Z3-s^TUQqc7dwfeXi<0x9_ZNYi* z=NXLlZb$>QDKL{GUoTsWkhHv}7Uie;1;lvQFfM2ugDs3_yz_6nsD2h!C;)=QHDJL` z91Gj0#DTO;xyo-_{$z$X=T0-EvW$3dKBzR~cVc+$E$mbgh_-3y*XHP1*B`;uRl%hq zsJ#Nsx5>pHUn+ZE*kR@Nhvxvxa$Dd$3wc4vX$5e^)D{b)@&5IsBY+g@r^+&}0Ci3$ zU8;%N`96w#n}}}QJcy(FgiO#A@{82=K*R88t=2}Hy2EvYqNvwrHEXreT+KmTQ__gg z6B&*!~E z#EMP|C~}^k`Qm#1)70g7|LprsbV>Bf0dn0Ulvid>PHj@%wN$);WkQ z9(mq7B!b{sAZ84l-6+G%2s4X|C}3MxF?+N1^*{S+6@rfVfff0{6((?giF*H1%1jM{ zkd8m_N1~m`w5eL;3m`CKnIw#&-T__lI$yPZ-Ll^8+2Pj3_*jwN+LVXaL%9#`310gaa*F+Z;%#h`9YQYpw*FwTgjUKN<)SOd&S{S}zj#g(R8!ZMjM z3=2RwV^0TTAn79NRXIDNhxU8d4)xlwH!WjJodL?u_$ZkP^Fgq+ZM%MqSM`hw6Q44d z#GtMj@bp7$Dxi>>DX+4J)A4TYg*HG7W*~U@EP(~1-QYDTGY~Cy2Z7(@6y%*i0Zdfc z-IhAUJh+t+*E)$umx>lJpW%XvB*AHDI&(7qQJ8k65*?`=!)19$Al(#BCdc6qbV2N! zxoU)yGW#Sq`Dk!QP_|(6M9~7#@I&0^ZO{iKZy~PBbr3B;4_ieMJ(gIErg&!YHHrpk z-Hi*{1rZy1yMy{mtCmshp2TMe$A&mK2LTYZR_abMm(=ayDc1coYd9bY$aUT#5>|0V z`UtBG3p5U@{``yb(5gR0NDFqMw6p~Ev7OqSO}+}1J}-w8anS5*KsP6)0mom1Yll|* zkfFVG2oKlBvdKd_t^n?H5sjgCR{9|B(2|wHIC=lVa5$RUr9;|!Z`WB-QU!aFC^fti z*#zDGCAHjnlby8IXoM+VE>0x{kJAob0jTnz@0T$_PJ>LKDPZZ6{7wz6F;H6fkTW}> z4tn8JP%*Qz5*?ET&BIsYH^|6twWu~4C#J`|7yVFGb&?UwtOuNhzR0j7=Dww3F2t5`;iR$KXgpOu~(L5;h(m@79)zO*sR_3`rhN*$FT6W~b;ZaKOUTAoE0RWr6f6kYW8oHT63+zJ$1r(0Qf!4EdC z%F(J_oNkF8>1DAL!}|IHl{dc)-MQ9j7#TS8%8ix%2PPaGhq{{ zON-B)z`G8rdWMGSc{nvTLh z1R`K3r6yU8gNP54>F*f}>R(_~2i|Ux2a}ACYBf{dKZMSw-)&L-My%TP&>1xX?)q_G z?!D$^urc**ICpny?#O9e7K9B@s^m2?U}#I3bBcOi+g6LdpXJJVOwk^^VMqerWS(o%`TI5?z; zvxg_}_Av&1Sd5ctp6s9x5oI-*1wuJ9R1`T=XO-io_?(K!4zIkFgb_<8Cpljihf>6n z%%ZFYV5QhfpJ-oIc*x-cY8)cNX8Br$ShS_nWcO_ z+IeL9L^NNmmg$5T0|p*S8I5F6JDA3|!&mdp{vlYs!8`j0hj2fwuVi={*tIJnzJD-M z%HY7z9X(E!qNnV>)d+h(FUR+2veCxU3hBuNTHSV%mmE)sb-92<@1KkTLOW(npgDamdT1Ur_y&;?EmtoC+V zU|l`0ZhTTI)r`LaCIko3lB8JR=x`1iYDda8?=48@Fy_N}yObDYe90jBR0?;ZKvP6jr9xd3Mt;u41j1o1U zmgb3^iEAQ`XQdXG3QU`vRoVFcV=&_#nSBE;%57|`aT++GuzyU)mceNk)uz4CI7i!Q zbEN8GGm4o5R0ZumD(!*+$NRNIE7N}8QYedYV2)UK(i`pG z<#x)w$J&vW_m#o0QO?Z28l$#*w*j>V*uGRHKO%O)>!@3uX)htc3F>90i};9^P&6NE zVg}@q<7F;Sb0be+_E@$NZSzfpY z4#zN;8bmf)s3W?yj=ZMHUKGZ`-qJz!^e#FOEOVAOM76170qV%0#cv2gUq>~mWD(nT zSy9%WSWfg}Z*-eU2vG>#ZDZ<>`!?i;Uu))|tCt?@-W+K;JZ%vbbm_&*ikTStv=Y*DvW8!fvfVpy_CqBs5x!!bqQ3 z3mRKBfO#~{t~c9YI@0XLJ)50SsJ+A4jtbPm*I|{r;t3AWqk$Fy(1BjeBX5*O)VMwC zsp;C=VR~Rbm;lNI8JSH!B-YO#F;^y1 zbF4^AIa@+3!Y3et&qmlv@BOi!bYW8=CuJu5Xj%jO4z>15k}$2okS|zt;Gn zr4>75+(bRoM6Iwt^IUkscS^t*LiWfw>RWg$`C!LBZQx)h?^!2}21}IptveQ+9nv0@ zX42$nSNT1(d&jCbmh>X$ST9kA88zK!A2?0;cs=J^z^pb9s|wxbh)T zGiVBQwNonV!(I%a3_2N|jAvVH5Fcg36-yz6e_(ua7B8X$a}P}E7Tp8Vl!~-vsi+fJ z7QSkfHtn+gYu;e2uI%f0D$yA4Y-T)d+*f#RzEUF6jpp0bTfu^7Hi@fduiX zEmLiOR?WEd_S&;T9sp=)V2CffJlD0%YSR~3;+T)sF=MeWtjc!g@-+mK=2+8Du!)M- zi4*e|r*k78pdfB&J=v}xzc$q=yiuSG9CM$~gg#nHaUu5gQc=lRjKmYSAPUCUIkYo{ zBpeCQ?btcs-d>|)y_un@iK*kW4`fG2rth1}PK}(xmBDi+{yU$^7PHPi3vx74CQ|l= zgL}kf*#{cyhF;=Szb`D~@$e<;^Yx^2rt1&!+FABw%4Sx1bW zbsnBYaL~?YvwM`1gcN9;UsJ)SqZ+ilm%4Qt4Fl!m!m#K;yRC}n}VEZ!y9!;GQdWnhsw z*&AZX`fnom;nJeeiif&mS*8ZyR$q>Z;}K7j_`4NfJ;V9xNNT>J9yk8-WJ(T;2o2M=RIoGs0T7X89Jw|$eG%aW{3`!&U?)S zT!+UchU)P|37pUi9K2giF&2Tp^bEyLsW1*iLxZ5XfkEM~)l2@k_|(@lDU4Y?4Pg-jQ+8tzu-4ci)s7%93qHsf6dK+2Gd<7| zQ+&8%_6-RsO4xIV33MM{{JMSBO=+`{G9oWThl6ii;s_uwuFgEMLKp@!t=8f@4aRaH zNZG{Dinap5v<+>R#1y$kRDuFRpQ(!E^`H2&8zi)&18+l(?OG&hQ?bSyCSUY(yUu0v zpE%Q#xIug!L=A?$!lPZ-#G#}Kp8dBttI^)RPAPMD5jL_a)9RBoJq#JeHfkWiI{p<& ze0WVPCZ*Mx$=IU=H|JAy*-6~-x#ZFOpB>#Fm3{%kl_b(20Bece(0;!GJfkqaL?IW=!-5|_F(1KnnZRtjsPtt5BE&39X_D+o(2N8O zh#4kX+6E8k(?KTE7G0dfzLe}2b@)~h%b>T^$H`=%%@XBeq$w+mebCFKK-qFJG4cVh zn7xb9Oo9)C4<^Fxo&=RNoE{A_^x#ju_Gk1(9AJZ%#AoHq9I1tzKLXkW2p^$jl(_4t zQ9_Ca8ntF0vQ?}F3BC3twq`mMmKMrSToKq&GPq9%uyd!S;`g#S$f>Aw!@t+um<~ob zSFRV0iNTWw6>DK=aRsSqN_l+J%<3G1cBrU%-eD?-6XAovdRd$+6~!2=VzTB4;C}QM zdl(URg(fpsm1_*U?OPy}?qe zLbRxju%{_tko7!6V3X*D1i9UaWaeO)`HB#0L)ncYsgcG#3N2`E9w+aUc&Rg?#42Ak zhD`wEg&OVV)+zhw2@ps)-qq{(wHHn6RdOcXv+`;~%xwq2Q+$uZUeUid9u?eEIHf^vo7?Is(jEqJ}J?uknzUx?x8iZV)B2zqlF5MV<=%EC#H z1Zfxx*55W-E z>GyAuBo6}bOb1NkI#XU^lPB5>^LFDb!;!h85^1vIlSd}z=CgB?4^D(RlQ;~bHmW8s zthKv-+Q$**7Wjn3qBa2GG>%i0PX4uRy>N8;sIu0cadb3YAMdjd9LkH1kUrC9dw{cO zBR!(>A6pe`$sV$8tUXA9HQx3)rsPvQtFlt0JG_Ji!vTxtYlP)mL0>PgfhB}aBw~>- z#yVP)M{+vkMpVhZ5`9^aT1!Lu@M)q9tUm`zaTsbTudfP`!iU#=P^iHUyn}I`9O4i& zStsmMFB-^=8&j3BgenbrOme8a!J#`fIpcz^One=~E?D8I?f#)=De^=mWzR7ZsU@dn zVZ_L@JAPBrG@J+Qe1ON^#uyAMs$xa)$K?8K^QMZl2><3pO){>HHFGRkD?$OavAwUr zFPq-Rgq`a$qi>Z3%&6JV`}rz;TbM;=LrSz@sChk+J4rvnZ@f zd(c7tNese;0G|zg5Dk+S8EB56NgM$}ayZ?@=LmeY=MIw^Wct+^zV<;!6SVwizT#|Q z(nOuGH7`0*8fX=o11}?6L|AMR)2wt-yJfs|^?o5g8TE(XY35Chp3C+zoH407H2a_fRM%I>%|(YBuT-49mQoi2>qR<;`hX{ z@mTq3u#svHU}&Dn`bq6^4Td5Yb9J;-3~xM!NvhhN#CEm_3_x1EY0P$GWl|!r1a7S* z_Iqn>YUzPgVb{@r`~N|d8IJBZzquK|p+fjXY(%^eU}KQLhTR@^(Jh|GI>Wi1aN?O* z@3#k!h_fZ3A*IEcXi1(=Z8h7)_K=)~BjRR)kx+s7^*C%V>@&92tb`fQH~6<%DT4@Q z*Fkpd=W9Qb*G}VbC}T0Y1df$i_C_ut)f#Fg4qtED?Hpfm^P#$rSVj zSdTT+a+-)<#}1KvJJ@kJlFk!#QK`lRvkBY(caaXNn>>8b*m=~q$v5jbxTA1ed<~*< z=b7D0FsGHEnoJ!G8tpthnH=DNAOx<9ThF7E0s15jqnaEgN{MmwMx;o{pokda_}`Q1 zGQ~|%H9LJI$ZF!*gE|Q>f83b7UD)J(_F#DC*}E#Vv#NLu#AkAiay=veeW<7jB*B=` zPLP+K*M(c{9!1l|M5T$6nX~<30q>#|n|b*SYq~=rK;^JC5}vsu!JsIvDr6?E4Q5F} z+G)zvxXLxT;_1-5$X|<7g$z!Bf^I=7aO|0PF>~IfB=CP?*^#$#qH*J1EhpzruRD=5 ziVd;fylPyw_Ly4VQnfHhKu#dKp{HuFU_mAyxMjFUV|3UsA-Ta~&_?j}HM3Ouy@X;k zKvDd~j5ZIwL9t++7&|uEc0vi~e<#$11q6!yCbz z0#fGK4cxJbiW4>^R?^y4PB9O()B@%eX>SdBxafk;{qaYF*~fD|AThi_q?Yc)4unp_ ziZH4Y5>Gkn576KzA3KBBU-(bY%gad}O$I5+ogO&xKRV*YYiH0f&_{JmTD~mX3s=s2 zfzH*mvr|7{e=RcUoJ`Rx>z$pB;9-Yxw9hKp2@SLUYz8Js{({1|@#xzguB}ezE+3ve zd|Z-%fCA21E=_WRKwfBq7$mHjCMd~DIwnSe9H)aoVw1XiTj@gTfkzR_V@h2%uu8ht za*5kx0zO~`k>^X!IBw<3XWUu7lN7u3c;Q7upNjQsW8EaLMerHc?S5bbw&D@P5guXS zV_X(%D#949W^#NM+UOpT6>CA&A2sOGnKjjGa|1P){=?>F``U#QFpW%yZ(qcrT!9a{ z_;f#NzHRKmh(9Z;{ksJRA#rh|J2a(KnrW)Fz5zgeY5^9uf zB8?l=5m4)V#3dRxI50XgH<5wL7+(oQcy0n_(w@OmgB-Yz!Vx79T!!KeIE;}%+oB_0 zJ7c%=r9-0Ozl?bTV+aikv7~dtf+Qp$Xx&^8C(`$jZj+bsM?6j>1<&Q)#b z071)~<~?J)3ZJcL!PS;YHw61)`$gw3E4MEYLk}_81>o222sgaWMnTGV>!TzdQ7aaB zSQ-qI-xx3DqD2;>&bU<0pvU*Ng7xZB9CpyfYClKZWMvyPegblZF(Bw3Et&D_*C5(% z;a0ho6aax1BD~fxfLfBEgPKrg`MG!^q8u-yMIk>zIlPcO})j($IbvDVeQy} z$jsO^>@7g?2`x4wiB1d~zP!oUXz%ApBdsNC$87_Y?ATtR7n;6cbqTyqq0w|~PGRi^ zH(pSzr&Y#(70roTj%R3J@DrIjmYp9NJvPzKZ$guH9BEuiO*@4ksSG1Xs3G`$3Junp z3w%DHfge|r&j7{Z&83IL1gxiK=G*za+^WvW=8QRtPbo0^Nj+hR15B-#BNm8!YbBdt zYS#&Zj80NbJR_kV1{POc{igE76^RiR1SEw!6Eb%vZ%SucGitOWo$9B^#zSNzH5$oV z)*acBiey(7n5iVAuPZh;OpVTlk=@Gbl)1a0lNs_-w{#4FFP6%FQI$%op3&~HRFWc3 z*g;M@ZJNcFq5Gb^yMSnlsqUNwAY-C;_64cHn6|RVmVFo)K5=hnkDT?s{J^!oe7rSm zEtHxPRGN&m*BN6>!Q+uLB8_3hXG#|1yAMXU_uo$6U(mvH$XnVjxgFiNBK~egU~1a0 zfiagEOf8M`AUEo8*rQ|7{WGbLsiJE`(DLf|?h-0-{h&0GBYwa>lXE%82= z&fM9OxV7!qHPIcTFGYppndBrz*eZ=lN-H?I?1ZyHl9ON1`W4&u=pZ7%g{GS6VJEfc zUL;J)P+;8ZioX|<^sLD0Yg^s?tD}l_;cPxOG$fXoaMhg*P)DuS|)-8Y7P<{iioVGhica!w{K$yZS29hl4k) zV(4o4@`msilVqRm@T4R@DMILL&VPErB(t`O(Slw+kQ91SD@cIFt}oyHpyM(36d02> z5HLyOr3T}rGd0#t)@rYvV=M6s=oSEy5%=EkT_mDS0oG~SDFErj>}+J8QIcH}X30Js zVd5TW+6F4b=?q=j!_Eaeab7D{8SpKk5pmJRInR{XOvI6V<5gJSR9~Q6D=IxD@<9BR zj5K=IkTXzD2PB1a%rIjJqIA25)48P5)^CVjb*|^CEl;`r8PDFnGc)wu1BYiOX6BDf z-N(nOt74km^x?T!>WSmL(TW7ECX!gR7%8?B$Hg(?GzPS>`Tid>#98#vVU3qL}t_pVK)`{O&&NSi}| z89VgZ0N~ric?4bU1_MR;zi4u7YR2!ZnC0kPJKcwcU|-^rT1)z~^ZFLGtD@6&Qu@ox z<_eVt8ZgdNU~5*o#bJ2O9TXLV_YO$)NG>U8Vyb6?#h|0RbLUsg^+v0*BY~Mq_Wg7S z%a{!#x2Lk$P{a11B{d(*_}hpzr>ZH&ars%dk-7`xaXsRYxEN3n7Bqs6FR-G}6CRM4b8Bfi3OYld+@tDab;TYI zDeHG;@R9g!xW`W-UL8Hhfb6(>LpJCm6i3~|(eBNTo#7I{a|m$gDqJ#Q=_C@dg~~vjjV$CdH@1(oP?rofgT)N= z6+LM%D}^}lt$Zcgk&Rk872wr*Gg(W#w z*!izyNTT0p0EK$Ey`N$@*;&!|u-{NIZ1$SI*u*d#KlBNVrQjWoANo9=8TPlnL^(a2 zJVEA6O+6g$eKF!1jvx9eXZiZau>JPgqkj6pGY=Pbo46JblD%GfyoSBsp8AA+EmQo^ zXWvI3W-c0hDM%rRN;(K)Y6rassoH`kX{Fldth9b9r5m~BY#cXbrJ8g()!S0i%Tl|4 zL|ShOzEg!hLtn#|LvE|X4PGbzYU~yM1``gJLm3l1$P#A*R1CJ}yqm#PZq-=73j4gZ z%uNLvFF*V`!>P_6S%whm@R)6GZHHLLV1uVuTDFcjFoH>SmK*QG7W)Y zv8w5!OYj)x-KwVWaa7zxQ{HQ!V{PTk!OUW|1EgtK?jhv~G8WruEFvYC&^qfe!w%Rdq#tnp-39;lrfzeBWcHA6mq1Quu z74O8Pj}7m%#W50FzF7%B$!w(H&Wt2}7Us!%Rq2&{^Pq zeUmJLk3J(4L@XP$0nQf_<~Bmt)2@9ghYtf?c9Y{1Zf<0L#Bt3`%3aa%Xr%Gbf|bW5>ttvu`#|9(NOm$u)i7^zr+r@rO+Ot0PY3<1?K}Pv_0k18_&VOJp}p zI=Z|$+q=>|&5--YM)!#mljGgp%I;T2;91(8xWr(oR^I6A<-scC6Ss2`R(*By2bHTb zyL;?spR_{#dxuzqtE((*WH)`!E47JF=UyGdY81BYBhf*Li+i+_+omEu)F!NPi;FEF z8cu1rMHHCPfH}k{KoWF9L(!xz9Q7jnqC=cuO&lmq+G*c7#+PSTY{MfVv1~~L9Y#C6 z$iIS1fs(Sm`OWEJmZ!{JVcp9Pk})WHpo z(DWyWT1vBC4s=5K6k-?+x25;uc-)t7mT9&3h>BYEc*l4c3*SV>rHBncPE&~tranRe z`32~UHI0$9&K%JLb06}e@>f0Zoc5ikz6i5etEdj2m>uPGrt_RU1U5I>2CG>xt%cm6 zSQ!lMJ-l3IO?0HPF4dgAdVwE3D6FlHbw|x!(opT z3AR2yG36horA)T3=6Iz8YTva{9CL>-gge+={2_5FMM>hTH|aFbsfcz~Vu|*69ZfoB z79*(bSU6^9{uvl2(ug^7xT9=U0?)>WE2`mo<^4JpnHLo@xVR{C!VCvT5Cv+%v&(tq zR7aF4zS_09=>FN+2|jaY*gF+JJHt1vQ(;Rt6Db$KlP9 z(`O0MQlz56{#qEeBOyc!WgDE}AUCnvWG3}i$EmH|I#I3MN^UVl#i$_2Q1{V~nM4D0 zFlnVx?&b_0pOoxRXKICpMR3bY}1-WZ4B1tC6Vii8{u z?&?r6`JIr^*~c$4{OuHyFjHh_Tp)$xkJGB5OSbEYO8uu^GIWW~KmJRGcCC5I{I}JU zCo1)ydda1F^7t?5>8IGP{FE*>~{COquZLn3bqf@B!NGdgfDiK)NiXc8fwJ*&%r zy#x%76nS26;}-Ly5YpEvKVj#*@zz?}UUSZphF%+Gzze;#0P7kgb~&}^aDZWiZ#h7t z^D{-KCzCiTX#-@l$sQpoDL6QlB@sWuBja=xhrBOA#-B5q(Z)>VF}RHur;HTYpO|Si zVwssmmcg?&iT2#5yx9_e2q{8wJky6Bnph0goFomWh>CZNkli93pIcowUINm(2}wnG z6RcNHXS6^5o|dPwE`ZrOW3bDF9;dQFF!M#*h$~0sRD$8j3}(DkoQ8)UHd%{G4a=&wkc!`Vm|j8z-Hc zJ9+|N^y%Z-iIeDcV!k=Zspd@s=O+!*4kW_b4xJB&2V%4XukRhPIE$48t5OHS2?m|8 zISu%SW5B?~2VW7dq3Cu7rNsdR#-t6K<~up}4EI`&8M3$qSu!Mj;c9{sI(E4kHYbb3 z++i5Aoi=uCWNt3IFRLTSSbvfkcMR-U(@1EW^i5iyfg-dk=s?@+_0VJqF-dWlfxtNroeJf=O$+kp*tW)h?Eb2rwS)`?(2u9y&UgW!u{1^pVr%vy{9J zu9-QJ#Ltw7w%c*+F>Xzot=Dw|a`5Mheh?vh1Qs^ zHE#;JlWxUB*;yvVkAb^&4p-c?j{G{CTLQ!5b|x+{le8#R`?uMPHRBb(LY+vyi@l~* zYdfG-(%J4fhZpDMKFJa1zyWBK^F&Qx(7Xci=4qIwjENb~?}~Xm+BhRe9FKENjA8^u zZfQDS+I2N#Bn531^|+S=L&~>%3#isf!CW@U#Lkn!yjV5g@sSmDK&5;%C3ij1O*Od)l->KtE0G?hGv5OEEG>$$5D7A?`IKw8+_4Ajv+Q!$-(1% zLr9!PDqq%29$uC;h3Pt3R$8l?*tMCYkTOYv&*snMc6{Fo%wwFBzkqumj08Z9I7IoA^;= zs$)?2+Cmw9GQ1<1v6SR&d%DYqO)K3ls8`Ziw zl%B+6hn=b&$#$H$(dRV@YqWWxG7af4`+ap@oS_t922HE8I+$n(Fuvj5Rn1e9BxvB% zPW6Xhnl)6A??EU41H%kWW)B;fUoa6IIa1(44iO{pZ90P=jmpKxeRK?y=_%?f#y&E5 zp>M1NQ?$eRtT+_IGFVJi=?jeJnBQaoPb5oO`x~Bc=++R#*+L5Jzh0Fhiysqm6_qXvvXlonEX@+{U#(e(?3~7F3$lke($?KZJ9EL zdD%i`{&+4vkIDt%OrJ4j$1Eq?ARe>nX1RrJ@?3@82zr;R*H#v4oZ`t=U#~R{JB@0& z3cK*n>5Rofbt%q0cjv$zPCrNOcglXp?e~=Z-fzFh?00I&&Fvq!g9LsbAZl>P-MMe* zlzt}M$l&1KQ}*l2kCU5>gb*9skTM^257@-u(ZZVFGi z`BTSqQSYfEMDQ?w>gc#TGB`A%pHVkAHAr!H!TK(ne?$Njrz-V5BiFU;YSDsz&%sGxNR8#IN)z6%(R?&@%p81;i)S^#3OcVGN4?;<)f9lklEc<<)=~FY7 zx_@o*%9`}4bcV^W!_~jgPGWFVI*%b^t~x#%ucUVOk57%vSl91ot2$d?qOqf{h84&U zXwuM`(PQcNgzbfHc4TT?$F2K{{T5#Bwp*+%<$M(*m|W^?)UJ*lo;flSjh);xauRxl ztBE*?j=b5kteDR1BZDwg?acNmFm}uoMbpuC=rNk9SC?pyM9LH0Tb=Yp^%C-F7q17<2$7c8x z>8XwhPzr z0-ttD^51IoAQ5XbARAi4Qd#hHOSMk5tkf1ti|$fcqMfAfa++&rlRIfOHd$Zub)6qr zzy<uOjR4D^(a=hL3NwDyyX|Cj(W0+%o&hId35<9yvap9!a06S3DX&C9MI>#DnBUW~V@1epHjL9@FVF@EOSy{FR09oPQpTzWbe$ng=J?eZd}-hR2GB*NGY?t*0LB6*W^(QnlMzlE0I6b1%Rf6GxA^Z~ z!N`bohkg5el&8Pgk7B-6iFPP~-A_Aw4sCvp8)?`ixQW@h^fqhNh9f&83m*kH0zs?6 zJfC5!rVa}=1&6mAaOgz2MmjvaSRVABl6d?vVT=K1^ozIX>DImh<$($m^<|y-2c;yZh4&X|Uiv4HqkfYelX>WfhJe&^gT=8NT z#}%2r5&WlC)7k&a+}i+Fd6swMPg_*TP_tT@UuCne=2f<_$>#re z-Pi9r=R8-=IiVl={?l^q=e~aTb$@?MXZgZi zePpjDCXtD_OcyqVB0Xu=4I=c|xIc)Ch3M5KNURj)aXHox0J`EX(B57A`u-vP`Nau6XFi6}DcaYuC$R@Kpef2RX15MTk+>&yc=; zts-?XW*v9E7%u)Tfl+8x`s?`U6^$?Vus7Tg5qXai_|nDR*r%~pK8PYm@c z&#$aQc_xSzb$8Y^j#H6A((*ayF3438fq(`zklD4mZjdGQN+l$H&@XCr8 zR^W<%*z!e2LC{{$AoYVMIHhJvTab6#BBn)KXD@an>00*cA!v zAvwk$B5c8G#PN(qCgY>s5X5Q4&gclgG&J;v{436{?)p{FDLO_uIM0X&p)GXJ?E&3k z5-}3GdlYb2q_K)L4xD?(0}&!%KAB4x2{=cX?a~r*knOF9+gIn$jRWaTCdj0b{^g% zmMJgKOiH?B*64=Oa@|+ygclW*6cIL7IvGl5%-Enzbdx9UgsG#$-ZAao_Uhb8do|3) z)@@wRwFz=VcP3?nNyhl>Fo$YrY+2{aLWj}|)zsQ+O6QU9oossQjt{areV`h;<+A?E zxDf)#`X+;F77p(>kh`*&qI^Fbr&Onx;t`1)Xv^~sxg{)vu?j~L828lVnzY`P)~*}h zBP%4JF!+g74mp;V+xSerT#Z^02%N0cV=z+*zpLYRDZTbpvfa7^HXY=JIqYG!tEi54 zXxG^xe;oBgvho9}Fb?#yl1CNr6vy%yyt6@7a2|jyHpmOxoQFkYszFs`c`HH|%SIyFA#x61y0g_UF4C4aN+0;dw&i3rm$BhjpcAPG(zEmiO=tt4 z@$wMvg@m<)WPq#_B-@O217^#C8wU|Xko1Ka1>W<^Sro4Q;6|c?d=s9*ib0+mRv0&} zc|l9#k>djiYgsJ5D~I@)lFruxu|5m4E^&(}4&j6u{hC~t!GIxYuwdW~L)L8EaNA~?;7LCR8F=QH_vf&93lc3wuPeE6 zD<;%y_$VC&X3Sx>D&p>f_ScNwE&wsi8$)WPGKU^ZHfyo$1uyz)Q85)JZrDA-Ej)R; z7nVaJQxESx0s{tFZ0>eoVlxU&DLI==bAnY)hw+#e+nv~MhcZr?q;ycCLl{Rpy3=yj zDPpxF@si#J5Ay8d{jQAcgJ+_R(p_h-DCSlEAmS2zL~sXznL~F$B_=y%PLRV+dVbF! zL&NG-^)lA2F0(~lt~~`W%hboX7++kE>p3zuiVrfg&O3t2-HJrr^8Q8xdm@#(iCC&M zLd@=E;g;xG62li7gq(qiBMCATJJ$S|d|~n7e3ANGp$xcDCKFm&D}+(J!aR^6nRUks z9l4x8NM~o_I)pDv#4XXY=68D5>xI$^36~)>+bO~?)AE8C?8+Slqv4_~9z(1$xI&6u z9^509&?Mq)HJkk{SXS4!)URE8wOy~bJ^J$fwJx9Gy5C>~SjOuArCD=bh!=et{(ZA*7M zGGyHOoo%8s3>7NmHv$ztbRU|Uuqu__ds)#rXs$Vws!~tjur+5nsgT^f39766p;qZy z;W3m{7%r@&^0T(cNR!Ciu)4zKC6NJyMvTG6e0VfPE54K(NsAY52tUkQ@=6v5_?UJ} zo#WPzUYeGxR#K$6-*W){;eqf5=)lO(?%e}&?he>yzQIk{LJ4k`tDBHQ+pfeQ*1xAL zT*j8QE$)xCS9f7eRWB-gR>ud_KimOB-zytV?bv-=j&(auVj**1B+6wXk+__9e9>?X2j-j2e#QGfD*SKHAJw(j3WKLjS>HY-N zN8-=s8%ZqeMl;$r=PDBqF;4Cx-)tWXaY=Vo0j3I-CnK+Bapv7UifNwgURtnvDKf0{ zt?EeqhFGC^?N*$pLUJ76+_s0ohP7q~w$#ypw4{nO2+gCKkb1e1fDSCjk={Q$OLfx@ zms`UuC&8ebK$TKIQ0J2kFIN_!<;CrRbBBe63MTg&E741#B4FE|NiXh?=M-@)co%_r zmYh$7ilpNJ6kBQz-~b2PbOn-R+1!4;OmtX7c0?lGaMskCQ!ws+6*91aB=g^{tTuUN z$&?L3c{bT)eiP=SvpvuWs)-I$_kmT`!EnyjHJedtE0Y*Y)a6mC@C4>CIAodYaf@%Y z^MNXqo7 z2KFy4TO)Hu^qb4k%OG`__lZPPy{U_P)V<4gFNdMnI4E7Qxmiejd6{5 z7m6mh0;M)bS%b!quZ#!6GETeZO(=R!l&%R~N`6x%UDsMA8lgN6Lhxy2& z3{iQOX9i?`j^yDiDOMrhg%E6H<01~mC3J!ay1O@=Y0%FtFOAT)A=;`Ck{1QYd>Nq7 zQX~Web{>`|&{Q$p?AF(*OY@!eL&7gFj)!ilcQ}$6M;Hbp%-l!itS>)h`c$DH6uP@8 zTr*lOXQ}X6bZZ2?t#U}!9k(`am7z@5d$=OCZx1djjEQbBoH&N~<0yU4&_2B4#2kb< zpjp_36)8@j<-jT3C2y%Lxmr*wlJ>T^P|m2+Hgn1%F5r?#2*T=#%8VNtj(kiajSsU0 z1z^Dx_c$&TJq8+U^tNo<5b{ojMk$5tt8R%8MRX>C;oiN=46sapL1u}|iYFuHnHFWaF54TmWVZrH`Q9!Tbl=8of(_@skSQLi}8*kE;8 zUJj34X4JB|Jy#q{cvvukm*H_X#X8umk}0X2<#EQLLscNk%qOh$>T!`J>^rS4vyn{m z9nzq&c+|WvG;F%WVS zqA+>F=NYN=!&u0Gs#eKXXlSX*3Bz4F^jwerjZY<_{82`?_R8J#W{@NEz%U0++5)9Hcg)aH(z0$5R+JK6>ms+ZLR+!2RH{;87kW_4BScVbMsgT;oZ;`Qcc*I(>`vF>-wpV;;x$=sHK>A~2Yp(Y zAEif!v2mG~IPq7~AAAlAR^58SLRN+_jha+1y(T5JP#g1eCp+Nvz&DX?gXg(W%9)pc zQa8J_i16@UbO`AiITRc$^5O}{u&Co$c*}}dLXmB{aQ89p-rtS!6Y9fcXrZiPIFv01 zJd=^_+-zhJ$}U+J&GJj?3y3`#ESbXG&#p-|wrtG}SOJ0Vv|L4rlquT0t~GxrEU$Lv zbqQ8EMRd?^aH8P`DV*!pHf`zHy6$D$pbJith-*_sfGu&pw&#wEG)4x!W^sXE0Dq6+yQs=}y8Yl?{@GCIJdnEJAGWe&z>b4p3z?k8mCAsHaV+H*XxVr|y>ZAyomkFF zC+1zqV)Q`SqrACuQR1lHap=zm7DEz`^`#*P<*qAAkWuEDaLzf!PhcF)qsi%B;0h-_ zPh5cXg)+RlGMz4t1-{G>UoK56OVT0yXc@-W7Z=?eGKknXbQ>h=#8#V{AAJ*Th$I{3! zal&S!UZ=&=iXgj9Zl~!2%7?1_Wn@Q{NJF9&F2PScD-mSl|%5SE|+&LMiFOiVgj7nb3kC?f8-o zo(jVxkvYFZ2^%+7VM(`8MxZL)s^z@~E=5DE&&Y5eE;;YLVK$Uc!9$F0Ji`cwLOdTX zT4W*P^eS_9&J1=bCAkw^#&0}P6*&a6{|e8Mb3OzQbXAJQoXmk_mpr@KDaEF%0pz+Z zLFzReUMtDOX=vPv`VVijo`LT-Zs>x%AceLRz=pY}Gj1f_F}@ zLmU%6G36FX^C_G1QVUlX%FP73>7-Vd1ATEO3nZaJX zL)fz$J52ICBup!Dn4|m6!B&g)ge{s`L^5&HE5ns9Tw2C5$jeBViOjTcSlOjPU`mWU z5{pU{Gfy=4cjF{C#?&}&AF<=A_2|074RJtP7qNkg*UZu+G^=;x&x^ z84&U)t{+(qS-#>;|A?G`2|K;4&q&U<=8CT0CM5EXg}1okdMRXah)WajOtRACjSS!< zpi1ti1z+(@he3y&lh#X?Mq~28|c5QH;9|w3;8cyBg`ooqM*z*#3@{OL~;w> zES5yEBJ#W!uM|dcSr@C8p%JMVQpzU9ePBQCz~P8L0gHOOJO{YpE1N~S3mI~MInLIX zXZj*}040~{qw1lk`fi-=<25#(P~(O63P?GSb)d8d)Mqvj*|S660u@aX!x-wC%#=o0 zws}kIx>X_#6tA_kB=Nimy?Z#cRW&$}N~TLq+~(`=?#GEF${ZCOR};!m_LvxlY8xIv z=(S)7jJ-SbwTPQM2A45h`(8#0`K3>LbX-f^$dR%}iAyY3nWqw+L@Z$))fG0!!Tw5s@jU%!q@^he}cJAhlh?*Sm~m3l>O}FwTz3>ou9!^~f$Y zqNST#p?{LTtfi$fQ?@_?HSZB{5CtB#j0He@vTf59$M2-S}-M6%@z53o$#4TV3sXNe<Dv4A(={7 z4G=a94&47mH5A#ZL1C%XXl*1|2Sa8LB8%r5;!wxZHQ8yRcn2v^FR6-OirvWeb*YZc zYhJno;-A}bB+@&Aul4Pc@Q!ss73Pi*Ut~fMNW+BbBS8$uyFyeA)d*+`@y!I12lY-0 z#P(w)iAlZ?P+0s}Ci-0mUGE@JdEXEJWMPo+59Yb~QP3Hx)Fs=5wrMLL?TF;5Jx4Sek0VRegSqlVrx>naz{I)J0>u-#ahVmw=SSHB7m93C zK~Slvzhwd82_F_X&e<<1GL&+J<};NaCNl|HCTxLf(gRWW;2jd1>Zso3Znw#gX}Nen(??ky}tqn(Q+YS z6fu=%CCmA2@~Y$kKHSJYEy@J5P|@#z3=n6l0t0qna&p$7ei*X!DwbEEiB;fYqCC`u zr{OLnC9R1Q#8y_fy%@^08w>H*nwd)gt}Lea?_d%NH@`wDVCR`lgKo;P2SWcVU*UxX zyPz1_u5@{jl`Ej$BI;PFBE1l_0NJwALx)&|p-PGq@x!zH;+cWKkQ>WI)S&!~El0@6 zljX>qkT($PDN9ooT^2H3IC7bTm2r@2h8T*9lu?0}VTpzKNQ4o)Zd`&bThJgGwF>nV z3u!E;!#;04UPtYzL`ZAX`!|mcR>ijt)aoZz$MiP4FwX4=i%&@RuCPK^@90<(9EPEg zXz50gB>9JJOQbEXT?MFhHYjIn1k)Q%O%xpv7GOMtQ6dq#FH$9Wjk8FoWh30tE0=NqC%p+F0q6^BqxMPs3D zT|&qeyOsAWuR`IoW0gjj7eBiS5S%~+35EhBU*0CDCDc>Pm~iZ=PsFvQhW3HZEO;7) zR6(~lq%-Y~LN^rR7J)rlhnoyCwWKhK2pOiGtfWx;rCyoP3SD!@0h&y}Wx<_Vk@add zS%n4t%z_0yh93pFgzg!zk&_t-DU+I&vjumeXg&B8K9mIUsxlFW&On#`P&4&hFwF3R zRN&RPTRRxeDnj+^kS&dHKPP;Zsb{QG;Yjh(vTCl)VwJ2e5?Eo5<+3P|H=H<(TW#^u zm3dgN0P4txr0FIAEa1ZWAls%x!;?Fu*m9F8EhOACx#8@j_#GFzlEw#xQ+9?S)|}ru zLo*MlFP%vU@zjC{oupiO2+<8KLdD|Z@{JUFP1s%?&ibQAVF`bDoRaBTuC-Zn2~$iQ zni(Iq9fNM-1Y^CFwS*lihT~t?*4nWa0_4Jr>K&KkPwx7LR^gH!>I%WUMKMBoHWsXj z__>J5ds~@`$jt-Up$Q!3LvAHo(vLi6vS}%ot<8rJ=??3gX4O|*4Z;L*C5Pq+odr zammdQ#9!GbxU4wIU73!3X}pLIXRx!fCETU4B-0VvQa0t5Ht$dI#1-@rf?Fu;D=W*y z`y6&7O2;oaDHS{Q<1*u>zLkhscmasao89FG#MhSsxt8;xc$^CQRUlR)mSMOqD$R_Y z5awB{L+z!2Bia3vOA`h}(v`67<$YDhiX}8^amp4 z%;PYF&5wb6+tmYfD9ACW?}WILFptaeu{DIpomqC{V+s+nIg@>OOmBDOg&gL!V%Lh6geff@94oJIum*)9n`$*~&_rbOxNwG4==NBIGugO3Puiczi_?V?FNuW3nmka>is43X>p5;^W@%gjO9d)+;S>3c zATl!u4Z-lV*?wT8` zySpJ7A-YwzzEElLYF=&&2c-rPUf3?rzOPl1No&O;1ng?;7BvUmy#sim1*x)G5i?P% zJaCsY%cx~&czAzReD@|CHw}i}fZS==ekhCvKNf&0t1p~gMtwaJ>mDSqyGPzPWO|@M zwk3j6;AmI>SZ_}UhLc|W?Ca>3IFp$FEsvvyhV$WSB~`1da2pHoT^(IxyCbXsWaGLD z-@xzcjuLQ3*HG4l-r^E>T|>d;FlP0U{B-Du8|}fXeaMo=-RcfJI^kz^-sj-1o}dvu zR93vg?%NM#Z?Y7MGP?)+`>ShLLLBU?!gqw{=l#)eAVWW+ehiOgKS#pn2qf&vD?gb} zR*yx(&(GnpuF?J|197|IW(1y#07cY692>yzil`gEwc&R~w0UiH%Le$gJ8)z4&WuUO z;KlKEq@6Kpp6o+KqP;c3wYH#VGU~7Gu9l5d`RE8&;348qzC(5;Gw;S~07+8y?y-Wz zojVJVCGW)tSq%^L?(XW|A3lQy(U$OvtFrdSO-*+%jj-Iwr>;x|s_-SqwOO*fq^ON6 zS1JY1Ebv4F4>01&+Lgf#DYYx%Mm-~CWh$;j31l6GCmG%mUS`0jR9$e@)PlzuVpXQ5 z7QD}J)^#m8LY}N%)Rk)45Wv5V^gi5Ec~yrj6vbYx_G-1ueZ!93V;uro1=s3}?4C`O ze4S0r4Aul{5D45Ww}|A;MuhP}MOjxtboEXB)m^oz>fM7~E}$E$d-e%2GXmB15V>vE zJ?TspWGSn)`i5mUrMjZvQtM0I&ROwAO;E2~LTYNe3IdWCWw;IUqU4Dv-nT_tp|DRx zcyDdpSXY~>Ss&M=mP@h8`^I(XYlra&AnB;4X1ymgZuXRQo^UJskKJPf9q7kuMSRq( zBn?yxR4q`hQxP#D(N2i`t>#2YEotnyRYS6TK!PPaM+`jrSx^9*sj562c&`W zYiH;X(3MKR038W<@pMjdxcWK!}|BR{qBbAx&vel0JP4Pgx( zGO+0v1b&A&^rA2Cfw&eKRCcP-9gXxr6$XBG%1^NF?8v}HpoK4F#9p=GQHr?i*oCp% zXpn}JQfd!Ew9o!MH94Yv_V2095$&^o&kZ?Z`0UPxuU{5cH^LRCV&-TTes@PUe0(x| zC5G?=F$Aha`(*e^4B>ZW!`CkhtBc`_nWI_wT^fGJSj`HFWX`%WXAKbnBC%tw=ztEC zyzimxw-iCv4P@T4I!Vo}%eU09It+E}1XOE~SZYFb!3ScC_x(uLT~dGY2t8d{Lib%A zE3%fJu8x&i3y`|31<1`=3y_*nIfIvgYHG4|cVrB8%qsG5z6Ii4@}YzcT)74buAD`< za<<`M6WK&-wsfQ-e$?1Ut$o~JA1mx*rG4CJA2-=YoqgPFA4r{fo%I{JYBcq|qZO~Y zIyOt&lA=x7M~!`;P!vK@$%nMRE>x2|%gtKWP&U*tW}p4`DejFrn8BwtYjh9UPnj`? zcHh6JqwA);@0y$QEVa_QK~q$|ZX!)P z$DIgHT<=8u)nunhdKWlYu{*{XMi)w4#`WQ`p4yHuw>0Yw`Bs?&cA(}+lM&}5N$0TU zJBKxeIM88D_Oo{nKSMwWGfckKAtGQr_%t3k>Dfyrc^aSnMC#4|RL6e%tjT^ND5WNX zB1wYEej1MkrQ{HleRjjGj0qhXG`}urpa|b+n5Y9ey7mNcBmjDhJS4PcBFJ_iwZYjK zKjCfOXXr1~LHMi*Zo?>rPq?*D1Qghm8a`9j0pSB3kM#}GQGm^?NNK(`bQbxrbQfmN zXU*qJFiBUD`#R{9zG-pB|)s|kbZ%|KIlA?sSOj1jvgRVMSB1Q)95#- z9m*Z}fkuS8QXM_v_f_GyTYvE^6#(uQD7G&h$vhsXdf2ju|9O_0d`oS<<%WFAihRq; ze9MjbmYcBMf*`tkQ~Cj|Q>56(KC~!l{lOh3n>f_u_fEzu^bHbQNoa^^PbT!^cX0T) zqeFZ6J36#~zoSEY_d75wN`HR`MnpAr;JBkh$BjEMI4WI74fvA^lTG+5b53|0j9N8r zP-BG}E7iDBjhob{Q{!ee%r|tl>K#2oD^@#4HX8+*j5SQg8YW{6ld*=$SkuArkI7iW zWURsP9)>qb20u9Tb=b()fv^c#;58gpJ8H~ZbpLe2VYLGTky6mj$VVHa+{P%kG0JU> zavP)E#wfQj%598t8>8IDD8nD~7@4IZFv@^5%J|SI<3pp24~;TDG|KqUDC0w;jF_3v zwdQlJR+H^a#C9fPI}@>;iP+9WY-b|2GZEXFi0w?ob|wP;Xi)gjpzvWqF%h6>BJi;i z3lbh2bm-2L)O1J7*`bUHyHng^%DPf2c8*0rVxcXOYU!Qb8VzgoK*jkCG*Rx_FE;{k z#a^CVq;u1BUpD9dX@& z$~n@rPk>>ITcn%C^+BK^yspN(w|;1f3cLa>lZOQ{)cjS4-Bfvr6*zDssw>kCv2R$R z=DZH4)A>GE%V8M3FOy{AL^#?OQYx_%>DAeHJ@ z`^Aa;sAqntFwaD|8YCW4EJxfFPbOI|*@PPu>TePxpYE53a8=M~NIs;6;`F5#(yrhG z(;3_V9f1Z|>{_Z0O>7N7vX<)Ml+PFnrm*cA;;G>w>DYV&S2iU$XhHS|nrAG_56~XN z1n2U2N^&wdzzLUXvU8(6x|KKH5bYUDSJ`*i5W>YG zoG{JmW{{{tfW)H^eHa`5qa%a;;iqFCL)+kS zPxKo&!OCC{MO3PhnDCs_ZsOp`cpw@Y*^QmS?i=`e8XIb};ve?WstfFL?H(JH zEjER0uPr493t`s{YiWLA29>VCoAaHcvcgH%VjX7RH-L+9~v4kUJyGP2tlzVK5k`+?EU;qJkzo!x`AbvLY(DCP(^rRoB~m})U6 z#Jx)FxZ+@b1vcNaZ~vq9jjbKf3EqL{cZr%bVb!*pU?YFLJ z+_HXs%evNlO7oi5ri8s|&F03938t3THLW>9>(*_X*Mg7>7XEHpbK8cs`QE&I-PV>3 zTQ=vDTEMxsb=%gQS76+@X8V?Hxd?68+`4Y-<~1Ah`8Kazw{c@GRbYDgnvL5MzHC8o z@F~l+c}uemhJ3bY}d^uRfmU1 z9*~J~f>u+zqIwJ^Ta9Oe-6I1DthOeVz%pHf*hJrrOX&NdtSnSn*%VHaSK?Ghpc}%5 zaT2Q@860)au@{_1{gX9J(syi%BVDiT#jCw4EOe@|wowW5EtTJ)hp zgk&P(1N%zC!dD9y1$hIQ>A@LjY7V?+4ji(r3dBv48X_(!OvE~50tSRxM9B}C8<;*u zxp64RMc9l%4TOr%s9xT2td6d~UQc%+49i}U%dJVO?J#xpkZ8Am&j_^Gg=1f_WiWdP zb1s>8MeEm~$*yUIsB%1#lMxuIIx)23!4>Rbwo!S@66jIOlBs=KCJBPXka-i81;Iuk zgjMh|yb0H*cXHhyZ;#Yc6IU)75WiZoq9mX{cuyHL-Vg7WiG;lVfs|LBlgPj|ycfeh z9~IzoMlzs^CD7|q86vkCVTdpg@kOpPL_>IN3t>!}q$S-;dX_-`M!5}txU$1TRfE$MI*bu(1ILVQ;EULVvcMnT|{oLh%H6I;&v0GgKW zkTsTRlKyxQH&jBXLy+k%*Gq5!52bZ-`U?!10nf+~gjGNXVU+MCQ1R$~Oi~}bgP>f* zZZG7HiGRq(R9Pe!$CYmh9z{x44#!K<8&&kMBxu^DJQRVBexhB41V&B3znitvM710&;iJrGg*GO30;Vy;D1FEDS8^*1I zUee@U4YrLis5FgY4HIuL9FJ>9cLqLG@y&8+<5slHIC^RC{+&Y*g9r77SO8!dskJuB zf7)3UM_X@Q8%Hhc*H_o2YE%7j<(k$t%^Q|RFWa!Tx@P4~ab;^)8dCPRt=~XLH>IGw zw`)%(y)157ixd5|ddYVAtunvKw=72tBcXebgIm=cRJ$ySIYze9`fi-y zB=cL*y5V8r#AO=kHK8b=CzhEvR+X~;!E6Uo8022O%t~r(!H+WU&6P%|9M~UFeY(CD zN6jMY8%x&w>Ip|XqqU7|<3?GXtQnQlR!xKiEc$%AF>BSkeJaMobkPnCL;knKIbJf* zCPJKobnF}&`Z-*n!nOa(tO$f9{Z%pg(|Acgh621eklTs4eKXKotyl7KlO_mDx)SC3Bk5e;$PK2BB{+w{if0LS?30Th+<1a+Y0#j0Q=H%mQ?~wveFH7i zQN8<%@#U`mG^T318Le2V^eXv53kkjRsu+tIiBQMdEt}VGxUHjc9n@n>!y|0-3yJgE z^|zU<4;{!0xY@8i=|uQI%d2EI*Fh7}*$>LU6~j9E@BJZbLY0?JJ_Dpc5bK&}2Laj~ zL1a6se0R_fi1s-&jF*@QE8B-ijgzT`jQb&4=p(d8EEXfV7$uj!Im3}uuWJ@*zp8x` z6{AqHy^~~gw8F~#K&A<%$TCsF5-K8#g4Wjspv>wzgU};urujC?jqaNpk5ja6?88=0u19s;Ny%(4|P% za|@z~j-;kmg_6vFQFVmOj->fiE`fdm8M1(jUH*mt%c2F1nBt1p5_(9D3@aEz`z&wy)h<~{d+|E>wYAhJp(c#%v?~iD*Qw97deEz zn!YaV&`NexpfAw5Tm>{7E<;aCPf zia96@h?j@Zag#J(KRiZ9y>=>37etIJ(vWqR-9*{-zfjX^FI7D(Hw!#uAxRSO9&n5eDq-5J;36vMs}GltsQRV!*&;p$*@ z3O6<}uNTpPkPNssyb4WJ{IRCB8$xfydL6dcu|JBb0k)bk6ulh#e^Ti+cL#<>+Lz#Z zf7d{$0x)&N!#JW#5NSF_gx22S5mD)&eiw9t9kFbylkyW5abM6eDv%6d(n6DN*U7%C zOz+kzjFfUOIy=cTZPCzUzjL|B*4 z?zc(#%N#USi`v+Pdfl!{_rGK$4u_b`M`BlmkC7NKxnVkdPF`6;J0vfl{- zoKXE&DGzwi8ICRufD|86GYe}CuQRkSkvsG{WloJL?mYA?4Ucp|*r_x-1sH zVxspS14FI}BA@jvCJqhU#`UsL2)Tj97tyv{P@!V(*OyQ!MFGE0?6|#xTjs z|G@|oSZq@PZAQ7n>$lKOAjKezx==tPvjj_Fyeb}pcsX<=oVzl^gpOV&0a%%Z0VVoH z(Z9bx^pvo|zLLxAa~)R(`{AWgFrO36PnfnE|0nVV5Jcl^eqm|8ACb?N_{MjtqBP&X zIldXj^F(E7K8tUjIWFJjS7j+P{4%pVi$tBd&mv#(BF!JbAuDh?63jzmYM$Ds=8=q= z5A9X6{?%%h->qinel;h^N0sW>*^-AzSrzKC(ulj#=>aYfIbh0Qj$R1ezAmUl9t-46 zqKUzSQBg+*^~Ut8;>9Z8L%a$uVjV1@Xm1bpn;{ti4ugCXk!~Vgp|v~AjIpI6yPLxZ z3tMau!*IKZ3MuRrg6Z$>LwgT$>_xbtC=X_Ph7{gjuy-MVe)wk5l-;bX;Ctl<#YF;E z6Dt(FksYU<%i>muCzR|7k`FaCI3*u}xIkoCGTulfc6$(`ifSm5N7o`DXs?}(O3?5u z$CbKCg=sN%I~ZSy_|6_&nTFC1odc*e6l56HQb4`s2_F5j46fmu)(EF zF2Xeh^9ULn7KB|smA#4IY~5NQN0~#IVB;mIY#VNAvEs$nI&Q(=1pudpx@6b#M?Z(2 z8&AksALKdn@W^rnF{t;HE!fpF5~iMcym=KsCG{=9WE-!=AfjCYwe5=R1S3G0J!0u6 zwOO=)id3GRS)cQntUz+^(F`E+R3ee|K2Ue|qTppJ9?}&g77Sx!qin%$QF0e}G`sNX zDT*U~6hg3g#&d+XsYpB< z=HS~_gl~KfzU@W$v=@w`V(EKDF+L7p#rWQEu5iBCUUMI|8tk#@+yhb|db&~b z(fm~&FDlq=Xb(9T0SvD6M9kdPcjL_&`dLT^#A8RyvHG$29?kh;`S8BaDxaSx zoPJAbzKN@JeDve}Lx)Q9{q156?<&?Ki|5HX_+*`noCpJfN;l4K`~~7JbeLuEvzY&n zyuEb1r~(zL!{k-7ZszEMJB+0|nJojnMvmC9Nuev+K8yu8z+qn=i?m-1%7{nJyOZtQ z<~66^Svnp!lF#zT_?qY7GoA}{Ix^GF!zik=NLLC2>mtcl1!r!Wx4iMu|Wp@ zim-nm3m?;!TehH8rV5;Hh$eHHCRE6Po|PhoBYNxOdlRF2kerw|M%z3FgSw1$;TR9g zW4SK?b%V&riV*XPu!7zPfnz#y=qV&PBw5mky5g;CZs!QKtZc#BQ79t{f{=rtFPpZ6 z^Mc)XpNOHyd_2WR?HDzbrHU6=ipmWgm2y)d{QAG ziJ@D>X}k(zZpAK=Z>6q6?5zw+7~7=kK$>0H(%2Ep#4tPQLbIXP2qDYT1_}(+7oCPB ze$lT67qTqIagsD1@w>6LOt`~IZkQt`n6j4YxKSD@j(g?aTR0gD(^$+Yg?$jd!fidi zArS~$)fx@Cb&H*R5$m)T!T>{n;yfGk&`<|)E-O+IMJeFk-ryg4OzDT(MfCk}m*q${ zHt=t&x}a~t^^4HU_1Nynin~IKi(jPb3$qrdsY{4TcJ1OB&IE%!VJG3xi0|SeV>=gpsmJQ(tk7S2l_nt&? z5;9h!rZGdbboLXh&=3sO0AZAn1uZ)6ploS%)}L^{A?Zy}{3mKf)Suu2z0)4qhJ-Q# zXay|kqZF|QGAm;AQ5ON?PHtPk>&uI3D9l7ubA_Q%4KCoH(nH!IKWA7r?n3m@L(6zM zJ11o2g}-D*wu`VZEop6YdC_c_sv6*slY`h0l-yxKh$T;#jO656Y$supSX8p@)2!4D z&b(qB9+WtkC%Lo*Dt^$`R8oqx&k!DxmWxw}2xmp@Qbm|m*uTK8C2K7FP>t!hj2z}q zK^~BWP}&qftHbe-&Ao!paXmxG&s;e|%ByKIaCWChQGI$6`CDfpQ_1{$g0m?RGq;cG~rXt}@*Dr+$n^T-x1*e=-@uT)YbkexbA>9vXzC6`Rlu zpkm24M4RF!fapTc^`f}57vvG7mPN}Ws0%Ln$9cw!&KI61%zUNvc;9wH`L3crHZOU2 zsx;q%sBn0xFO}wdMUn81{$**tYyP8fJnw&?G+#Hv^XtbmUoXwKt4KUg{zYlN{vzQ` z%n{E4^4YY}%Aw~}>F~~6q51M8SAGxvd1=0HkK5S89_scbc-8m z*J1@BPn00_7tecRNL0F^Hi#9s1xx!fNdH_0(Vxp|cVImR*-hw>WvwOpn;>5)IPb-E z(9yx*16C*{^<^-~;8qlv7Z0rcdYLl}?R+I9?m{`3?65*!GW7%Me>GX9bAeQjHIWoMQ3ODIF&D z$V*9<-uiX^;*rdNdbQ`#M+)l&3@s=r&b`zlOlYyo9=0(sACr)S&i8OWDAOgW5SlEx zynw?s8D#Q{E96_zWbxJx21@(?a;J`W(DW@TKco!}_lE24*<4<$i#*($3(m02!X{CB zFoMTYJn&hVt=R_9`jrNL*nXq+8`dwTue>6VitSTcKkWA#o1Rpf@0#x>`zZ@={v6?1 z|83zJUus_I@Or+b;n{d^d@HUh&G!xNi~4@Q{O6_n;eoFw(`Vz_nK{yD^9!H8zNmCO zi|sS_{afjHHhfXzc`fUKDx#?%NOH&=s!z`CkNval#j3Rk1Z&jPRkz)*Yfqm z)us7-c*ZyV^wNAg{#f(Jhd24_rTKocu5kGuc~)t@|DGru-r{RY^Ii96%2!Wwvze_* zXYq!c3DVQ*p(s>MWwII@!>$P~USrWI>x(edskAw6s$=h&J4Lck7DWwVPe%M$ZT=tT z{KMDZw#}vE-^TXh`A%&s&3Ee_O`mVqO>0Z@J@-Y*XY)s^e~&bk=Cgj}(ehb8>F1r} zx0Mdh`a5i`hChqvHS0_BZDoJwpOl zeemU_!(0D-y$4{G-0~%wBVWE#uHpG|n3{v{;Uf7ml_?$1pOVkV^ITtPzAHG7^?Y?* zrTLy#gs<^nX})W@ALPTU8ZXWF`M=Y0@cDUeur%L;+%NIr9ea0azP~HNcg=fC^I1RP z>*uN0mgZZ@@yEyW$ooq3tu4YA9V^YZwFuwCbMzDKMfk?&D2HP6-upjLI-b^_*&t@~ z-g$HI*?Q3Gi}8*9e(CV6Kl6MW|DZJA^`B1mFBV?ihfDMQ&C0@jEAB1LciXaL|6<|w z952oH9j*s_eqQ>}9DIzY=Q}b7-)7F=jnDee!=ES}-tYf!O<&Augz-fuO7nf3d{%zO zcg?3u^L>hZzWp7agYUEC^Yhe4K3+P!FS+zt`7NA-ukZWGd@;WH+w>lGv3-uyTa$d2 zFAbBWJS7Xd8DviKZ>Y!xQKJV|9099th(bQtbr#vV z!?AIFsP&WZTLTcnbIYL*ucP+Qt#Lu9=1Fpo5 zeR4c{gpwQCeJrf=BSc&_^>Ru%viFO_r0L$)3DF`AV1#sA&qlmTbT{dCPuJ*A{;~SMknxKc;mMyU zeSy&#v2priHj_hnP+G>bDDNDXJ|JwdMVRSv)q|6?PjKEH?x6u zGn;8Qvy*l+)3lp8PP>^Cw3~UHb~7hwH*<=1Gtba&<}~eQ&d_dVw2|qjS?j_hnP+G>bDDNDXJ|Jw+QjtJEO%y1 zyO}B4&1|6E%x2on?4;eyH0@@N({APj?PeaQ-ONea&77j$%rmr`IZeBnGqjr-ZD#su zmOC@1-OLp2W;W1nW;5+(cG7NUnszhCX*Y9%b~BIDZssKIW=_#=<{8?}oTlB(8QRT^ zwlMuP%bgk1Zf1&hGaG0(vzc}?J83sFO}m-nw3|6WyP3ynH*=D9GpA@b^9=1~PSbAY z4DDt{%}hVda%aZ0o0+2B%m&)cY^L4JPTI{(({AQC?PgBUZsu{?&77p&%qiNorrpeO+RdDx-OS^(n>k6lnNzfz zd4_f~r)f8HhITXUp=-p6+2=U_x`q>kzO7H<6ikhoEjoXBkmf;}r^pwR@6ORAUo+iR z(R_Hb`tw!t**x}vo05FvbT>)!;Z4eC_rGjDyKyGT*G%`<(!8I1#|L!&^bwk$pqZTy z75O+lq2YSC;q6MVqd9(Mv|#+o1y35kvi!=US4K}edS!W-;vU2IF@7J%_i=tlS49h= zs}?*dx~kl=AOvyborS~m;hX&g-8cNM@+~-@oF|Gq++P)GRmKv1eA~yjso=LPDf$Ke z!##-}2vf`cHEv$B^($Ze{OA7ok3RjWPyFG>KKcju{r-pVJ@)?JIeh4zHywQA>KE6o zSn^xf#lQLd=RND!%b!jzx$P-$BYTIp5CjrtUKCts;6-5>W zji4{LDC(qtiu*D|=_hc=nWo*027YMvXH|a7D+HV@M^Url%paVOK~N~47X@ToaV`MQ z-Ky)RdqBPkEg;v=sI$xcz3)d_kMsF|VU-M?Oud5Zvu-snwX1o#{(E=v?K&QqImz&! zb^2OKLva2#$b-gF4X0;7%@obY8~%bvG`&}UEf?M|5MCwyUooiRO%AL1c*FYv(|3&v z&+_Go4(}qvd!`F-BlGkAS3R-$`FB=+F1&h%ckLeLVE*|h^yQ?d-lTNf z|GAO$PSV*8L~BVOd!M?uc(sr|?&w|S|GSdzUrBl$>E?fi^d?6?Kzf_==S`$Xhmz^~ z&Wz@7^Cy$xw$Xl`_?-^#r2YRA?{Rn^?f*r5z~O1yulm0l{)ofJXkSSDfWr^c{!HSB z9DbPg=M$fB_z~JGh#z(MG1^nak30N6+HWR)!r_y&uOl_|^O8t8Y@kWQwCw@Ee zl*1Pi?wbzR}@}h+99@_@!j}uO)8%QIo@C;?^&nJ(c8NO#BDj zuby^zCGnpTKj-i&;$J6z-r*~VpC$gV!|RA!fA@&P>xsXg{1;sQG!XwN@rw>`B>u<5 zXB^%{{42ySIea7WM>ub}c!$oP&Td!pC`}oso`!!f!aq3+uyJDMEt=maJJo%maS+a< zee$4&Yx#Vd^eNIUzy6B!X-EGi>5-cs zotUTjbDsJ3Z06@b(0w`QDdzt_k={wVmDl%4A9M77A$@{$i~mnZKTf)p|G$$ypZT9H zf1bxpe?arW=nF`X-Ms17NuT_^WO+T){9*gGaIYo(yrW-F`e|1mDoHPA`C7ZHCOz%w zzsdVki$AXMv2ZJCuOR;LA13kRpHTa9;?3;0jQ;@bHxWPK@P}ysZQ{{n(*G*jZzEpi z;@3v|7UBmTK1uuS#Lqc=KGV}de1%J2C+)k5A9naj+J}grclb5;YkJ0rH_&eRGeG<6 zh#z(M1GL{me8%C|GXLLByoq-6e}wiU#P4(X8QR}Z{F1{fIgj};@mAW+|8d$sM*Mz< zpQU}0_&itsDcV10{yV&l_Ae8^)8U=8|2gp&wc`%j6FIDCxupA$de@NwGb{in9yLk>So z`%{TeIQ$6h&mw-*;m2tIP2$HLejn|X#7{W zBk>0veunmK#2<3_S=wJgeA?j;)4q%Nd51qj`yS#m4!=PAUg8%Weu?(i5|7;YKaci% zh%a<_IqmNtevQKy(f)4Y*E&3={e#38JG_$ij}WhNc#8H<60dW3J?)<(-r(>?+NX#& zIea7SUnAb^@K)NtNxaSBchdfk#CsgxM|+* z&BSAej}bpYe6hn15WkmrrNhUGf0B5W!w(YwBJq^N4-tP7=Lhp0K0*9x#1}gJ2=QkV zFL(G+;-?w@`7b8(_ZabS5P#U=$BBQN_#+O#kNEeAUv&5h;xoiAIQ)L%mx#|ee3E!G z@s!)=`3&)!h*vrM6!BY#uWCAo0KYH?7|fyM4AZ z#Q&c7BMyIv_%!kJ4nIr$Uy08+{2cM05x?N@Y2ufNUv&5*#NT>B<3IEHWc`^T{(HnP zIQ#|^sh<*m*x~btf1CLHuO#{B6aNA6OOAgb z@eln})Blhw-*Vz_CVtW3i-`Y&?bEyby_Wbj899~EKnZ)mRcs=pw5ubE;Bk^U#k2$=F_!8pB z9lnwH2-A1b)xT!quOlA0`qxUlmiR)4w-LXE_%#l{llTs6zb=0}iEkx-&fz`8R}+t1 z{p};(MEru|PZO^p{)odzh%Y8S?eH<;3yIHj;U6Hri1K z@I%D^lz8Ou!^9sXzR=+l#QPY($i?pn@eJ{DhaV&UI^y#kew_H*h%a*ZeZ)V?_Whvi zA5IYeH1RVIzn}Q;5WnE?N#b`Ak6iu#4DnIo^BjJX`0d2!JNy*!F5(LvK1ICzXWBm= za`TVV#Ggxi!r>1Re*y914nIS@hWMQhe~5S^@wCIw65m36%;D#V-$A_3;nT!-5pQ+) z!^B@je51q96R+htQN61lj}WgX-r(>H#9u;ug~Klr-%7mB;g^WNf_Uuki2H?o#48;> zkN7^~RSus|{2t;dhc6`lPU4FlUQYbg%)i4f|E@9ri63$JBJ-d4eGZR_A0yuB@WsSG zMSR5JmBhb5{D8x&i2pC*0}f9S{|50khp!-hj(D@f>xh4q?Qh)S^~AqP{Gh`dh<}%O zkHZ^@|CIPqhi@c)1><+j;myQj@}G76Lo4xW;%6M*M*PLZA9DDe#5WK>=kQMA-(&wj z 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 YU;W~79YU;Ui`QS`)BgY6Pm%@x59+_@WB>pF diff --git a/amlogic-tools.repo/bins/hubv3/UBOOT.USB.default b/amlogic-tools.repo/bins/hubv3/UBOOT.USB.default deleted file mode 100644 index dd894577441c9b4bbe41e1456d87c662f73c4fc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 590336 zcmeFa3wTu3xi`M{WiFXalF0?g4YD(nK<-Q~Km?S@B-tdHKoHOZVwq$ToN&t!0>&PD z2#PIKt0-6zvmI{4u2Ysm>eA60U?kv~lv<{jZ#_eeUMY$863! z5{WGmGjJtE_`UR9{nq->Ve#mLxhwwIw~mlxCLD2y{YFBK@00zjK1f{p!) zC(m%-h`-|bv+s*vObou~c<7FY%PyAv=CiNT-Ke>eM17CUO!~neAN*VV-hF%X^O--C z?~7FH=D(4Q)ZF;?Yj5B6xA-ULFMcTYp<`djkz&4`?wh&(YhT%8H7~q;;BWEw{o`jZ zzMt|DcPciV_S@y%yY|mFfA{Xc#lPGme>8k&`%iKb|9QHvYcfT8@O8+PYYGEX7?{Gq z|11VfR~TvJeZ_A@HNyXFRa2!+VPFaa|CeIG8sRVBeiI0WwkcWX|5B=$>h=@{{)aIz z#Y_H&5js`e6b7a+Fol6B3`}8Q3IkIZn8Lsm2Bt7Dg@GvyOkrRO15+57!oU;;rZ6yt zfhi13VPFaaQy7@Sz!V0iFffIIDGW?uU~NZ)@5$BbEz-#7V2(y>`5AIf`jPM~UbmaRGWU-DjA@Wyjv^`@IFkbOA64h%f)|%l_}`{r^i`sX6{njh(k_ z*i~FqTvS?GGQY6d+SKTBmD9nD{5IZD^`{1zkgiKf`@EOh?u)B6)x|q$h^|&wcfb7w zZ$*%g9(zB!<}OhqFB}b>BXa%=#7nw}$#f(PRe0BXh{>~5E!3p{oJf?$G>%laT~1|F zou*Q_MkI5p6KT9jG+vG)Ob+LZ%1QDPfe~olkAvx_G&My0$EBz}|G1>NW3$+GKGg6Z zB9X1V2Rn@LkVf47B^FBahm#w_a3Axyb!47MeR(o zSqbb{p6p!fm?krtwYAA!ez;7d6G@KVn3Qc@fV-H%X1+z3L8#VE59*rOC9Pqd%}ZdY={95lp5`K*pr!EDdm zZsxcW_>oeM(f?(TnI{x}?k7c>vov(Kl7pWAG&o)EYS8#-$Sx%dArB&ijSGitRWcEB zPmpAXOV-Ef)Rc`%IxU}QrAG(WpFJNqj0i%E_Kn}*D3?KsDfd6K^ zTLC)(cL44K90hoKuBpGqA#AqX(qZ{@WBVePhgoC+JmLA&qXdqJ^xdDjiR5x8${d^I ze}1@YLwtWx?cMg+fuh<~L9?x4@D3wW(paU>n^RNo9P!`TSt&Ezot`-kOMRMK5M3>^ zL9I`;WaIg%`m}7!g4?A&pV+7b{uVOV@N%#6L}#MR#F>4<=8bM8usKxTYuU<;kR2r7 z=oKtkmM@b@R*GZZ%t!5s14%L$$N8t%6pOt4h%yaS&8IVEy!;czRKWX+#KCj%DDysr zQZp~V?*(msOiU}bxiTfZUk2o0E|vqz09k+nfEDm_-~_YO^k=+31bhm>yu8!kwp@_o zPM(+JIOiRgqV_SvNo;~U0WCIy$~f~sE+yT`$vjs%$Z~grr+Aje)HTQ~#|~GqplpWb zX^x}FKiYYoEU6r1INNzr@_g4vy^uvyLrc{RDfws<*Ac2PZH)c&G+*Avv{mDm2l!FX%9LWd0FKQcn-PJbO?_x@s%=j_x zQliSsY~`dp1MKtvB(L-TMc!kPyo@7RZ3p=Wkvu*2dLr1D{cJeMGGb3qFC{f@82o9h z(a%`O5NBM~xY*G!SU>wx@}lK7_6I4`8?_R#tZIC2*u?QecXE5h9CxBKxv8v1pS#Az z_)BYak}j9=m(*~QHrMDau5r5$yBg#!&wwkjm6eKWDucYy*9k-;B3fL-kL)mWggKD7#!SC7x4w3xt1wCg{RihA6z|mVYgO} z(=tWr-q(X`HoP8O-*7wlKP^|+?YRHjO!R95Wf?Jj_mQz9J+*3g}K(><0 z9nK^xcjD$CKZKe73e8t|;ZlX!VOciIZE@^O``mPMB`?N_pPy6$_lB(988sQTLS4hi zGdp|}Zyqn34sd>z%1jZ(b(05+mGq0PLnTeLk z6-uDhn~AiUp&aVpL%i82zbeu`OkTPMH)w!8C2)Ci`)??ZiOz}jQ;eBajEN5Ja!1o^ z7qm=&&@-1Qc^yx?Bi(IjO?6i|j@aXT*Dbd>exCNF>ARIn9JU&6=m*@x=-Ii6>%ei9 zK<_wH$oPnb$GXrz%y8viVu|i$3ypqjT}kcZsi#eKm6TVo7YiM0-I;?dyUxj26329b zT*o^1jLHqpxxEE7g|&rsmn^(|dcv~Y<32IgC7&A3Ag3_m`zJM^MPB}6D82T>AnE!r z$RA)X?{YGiJ6!!2v`_mkXe|jtdbV;XiaR-EU|mDe+$n^;dx1r`0pZb{?*e)HO5Bt7 zHxP5`0@-i$`GZ|c1d%Cy74KYeo|8KP95yI{m_F5YAEiY)_H>?5UP;HV2>5N>`0PjZ zc(0D&S)B(<7Ij~d=OD`gGj=MGsq;YJ!^l5Ytlr6U;IH|!{Uk5dM{-kqau1U|BVGG$ zubuDTN_GB9Dy;PA?IicI7->sir zxmADBFZVI^O5pV|LY(LqrOgbnO?Fluv1=heCW*|Mf3xcbW(Z}qynJYk(jKL>2HC17 znRan5*4AerW95m3aCIsL4nZL1HQO6x6Jse)-F|p`YWuqOBkgC~*Lj*Q-NCTdu9Am6 zXFUVk&4xQMp2pI3+s(!!+ZP(rw`a6x#ja~#Xj~He!S*BVAGd3dBrs-qx7|GQuWY;_ z)stX6;xU;Yw68^e#;?!jq~t=QH!9nZZE_sxJk!~7NtbZ?q+RCOBOXS+#MR? zh=a@>RVOS;b?P8(ko<99cqYArF(ksIVg)RwZ^@;U;O*&26b-#55ggQfL-O=wW|7vn zcYRiOe2_iGlr&e5_^h4zou^U}PcnK;nQlnu^Cn2v3}I%F7gB1e^r4KJ3cmEu5T*lb zqocfKW{?w(^fINU{84`bT9FoO&W}1XLogx!!l(%$kn|deKXh(}pp#;TV~DYqgKXNX z*m`GJ4M_Fp(I~o?80l(Hb!PNkM%$_UEwEk6INa;;E^H>IG{9oG=~^B|OC9NI<9(Kq zE|*2taT>`oB3Y=f62R1j*Y8JObtyc`PCyHIFR*40?@`F>Ux%lA&EE)*awKP_xua^% zYEH-0RjxHKat4!TJUKpmk&`*D1hT=JN=pB<44XZUn0gyV{heBQz4JC+S{>AH__3Wm z&6M705B4+VciPL*uT9;M(}o%2s^DVl-FEg2c&xL$Z?PBiwUoMOyWNrU13kntO=J%8 zVh(CqRJ#bZtg>vAl)!hDYaBW;&7EpwWtkQ7;{9o{8TqmPP40YABdrSR<4S7x+1UZ6 z?2tY1zO}B{vBjC{wAPc^vz__wP3|-vGOxwu+~n2_>zUJpAJ!9I-a46EyUEQ9yxb9- zQ(GchRQI-EHry`N?G9StenNFO1vk4h;aeRnwbDH6s9*K%Grti$V9mj5P&J8l{3$C& zvsGb^Fyb4)VnVkS^N^b$z#EI0^@^b`zV=&Xt39=sX)nStiH|zYOt?!}fc;yue{qH`!SEi(aM3 zy%w_1(%T*1$A0NCdydyAK7wbucnA7(Ahg#`u}SZcb*9({W4EOzKsc3S?)pwsz4uxZ5uL6=SIXCo+U)4oAb9Am^-bEUkLPF3Mf499oqvGPCm}5j|thkSv2#Mf-S$LHKNOmSl$yG!9>^ zWK+{{S@F_!s*BGuO4q8XIrNR4t&m*r=D9_$tjEwoc zW6cGZ&nyBBXVy+f&qARu&QT07km}b@((v?JJE-AeXobj9Nnr=!4~du3Amw3{ z-k6QVv==n0yq~m~@*2uR$*Bn?4&mjLCc(czOmmdxcV;drJd?Ql9WR*bjrAXq5*F=z|#}EYz1^gZIitC+u$Lh1d=9a2!>j-Xpr6u9>N-k^*=d#CUHAvvmd5PL-Edp+B^a=TZKj0H$2_43#lFOAU?` z%qw-heqWC_r>@?W>hn&g79p=Y3Duc-dE!z8Ko%eePyqP49M)}cRE%^Lr#kI!zBJW& zhx&X?eI_qTaq^Km!eyC|mzG!FL$Wktj+iMjWlG@JifNvyAmFE5_?t0*yedWsyx~=H zbOV*M)+Q^t+`v9i9W6E7AMDI}bdDK9`t4d3M_)`*-Jp47H)|i{tJ0~~Z1JQr031-> zr0*&3j?2}Y;c880UVeMbgw=ws7(S%Y_v}Au%H_m#KO;t)AHQ5|CATpP_1l@^lf%lA zFa6PV32qZ4CNctXe1A6IKcxyQz6nY2D0s8t+YbC2Bl3`m<5JmlVK@JE5m98jt=fx32LjI6vPTTqwXW# z&wxMlW9g~?)Q`21eiW(wXjA*4f2m<`TB;kZrTqx^p?XX=WSF6q%EjwZ>%WH#!;HbS z;5D@m8i}^-^!g}BbK%x~vn4!QVxukjA#De-fY))*;AC9U-UR)6(X%wCTT`pS97?os z^3cn?gE5EYExJaVZh=1P5cbXj@?K9hmgirfGI_p3E6(g(-a z2nAkv#d66s`ma2wXRUxOL-95q^|2_sOw5S6lX^4uyvxKVl20=!=jUv0QXPumHToiaC69l zahT;!b%p|KL!>b2L&2dzfB4dH-)B0s3u!w_m9(pR??gL{3K1y2Jd>nw+Svp(mu4a5 zG!)x$4o1y4;~QA3LOv`I0dq*>m=(d zQ%|}S6J!%5Frv`ijg;E(rLyBNq=sY>x<4nsh@L;tw5Gn*NV@{y5t*J4ZMR$wjWGlK z{qzOs(A<=l(lq*>M70JUxoGYv^_?J_*l2%>J5zQt6|%sjI8)pe*yW`-_2{b(IdqOA z&eTR?Ue^d&TPXuw4NR7SztA?)a%tP?xS&48g!CrIBkukSJd>2BO{o|rx^nQHYsE5g z#UP_Q()juXzWRt$>no$$Q4RGm0+I9)8qb9u_ezV=Fr`=fq$Jp7b3%B&)$j2sNobc6N8*UB%66d2r5M#z4E9*jI1Nd0o7{{X z#|R@H8@On3Jn&(b<05#8!JFbtV7ioaltcGjrXD7T7gMlbPJt9OF;>+(Lzn?qU~Gn3 z@^01)&NU4oUyLQxCAuvmrz$OS2A7EOp}Rp&{_7Z9p!d`DnUg;lqkBH{$oNVfa_JD# zKNem!LUuZ$#M=RSc^^=PHhhZrUVyHrCzCP94C{yzxD6{kU;AiKhZVSI3~xeY8;R|E z5b45n95Lcd>N$mEO?x)~X686|1F_`az?7v! zJ7LXaO7lc!K9TDtgrd*=G0)K*)gy`(=WbMr+Z{UJo34%$9h)%r=o^{<_|xm+G5-}N z-YJy8HPY3n&W@2?O?GtzQlzB%8A1|TeH+dN+5A}06dkel$SI-rtCE$#Mg{v3fsubR zCY)>mz0?FK0|r) z2Y`>DO9$uy#5#$&@0gX5ZxCk=#8J*$n&OP5br+{NV`^g1^9z$opj+W2gjqv@zfMpY zmgEQ2+82$}T_DzMFDNrowjOU#6KT4aH$iKo1b+NgIj>AaUscWw^kRoX zc^%2qe5ga)X}O&IbYHk!{;GD@ICEfAos7BBxvr7UlND$K zkJbH1BV-k>D%V`6759T}#$Ek2ud_T}gGGZA@)i*L0-mY*VUhos0I1 zkqci6w@=@b;8?SHpqtBKvESmA80n6aCogyH=KK%i^tnXQNVbbi;t@ODjeSSa)#1#? zmFUs}ms)jo4Ub9k#QW#M<*DO|zL|Qa)jKz>>DJ_M$hmNwSX@mwPdBIH$&{ozW9pyS zw5VH~ufg6xgR_A9k>ZIaef_7AP(}^?0YX1*3fJ+s@%JKiq^sqpQab>iDbV_ffoMn! zBfqW)A}eVNSd_`iRTBo(ccyh+BR8~%FvX0_F?Q#fMvdcaE5?gk<0d&D`kC?&bnzqS z=$M2h$57ypFA+l5TVB{&%gVn|w$yKR@WbnMGu?u@T-*$bJT`$j!4(;@^0l&}-Q}A; zke*-V(+;HO&-X1Hh{?CfzwDYVW#-@L;|2uy9`CA<%=zE-S>S%8YmM|g^mIS$G7g-` z-;5O52))1SdZ{~qi|-`dcXxTDp8S=*hWUJwels-;&QQz=1J04 zR&K=Xuc;yOI}?n#L;7`aJ*loG@>3ImbJT6GW#p>h@HuJgZSEy?L^ezeohyv_T=RL1 zQ23;a8<@|FBVD^^+y|Fo1XWoXZ9mGrO~Z!D&jCW4e^7`UUu7luSpg zG*k7b!>>_hIkZxW>Q9D$GDIvEXQE19W;c}sSou;&BgLpCM=gY`fml!l=t$#8+idBk zx*#ea&GO>CXDN6b9nW&m2`QOWuFxb;=PlN(Cd8kpTG`MII0e`R|6)2Hdlonr)X#** zAy1r-I(tKu^9g2t_;yl?QGaqgzOc~855yKu_r(=f`L&X@Fwa+9IM0_*c&&dHM(B2% zv70gHN`e>)JU%%`l_S%g7D;L|$qK9*vQ%7Kfa`oogBd|jY7UJ8!%Y_OaSh;;HX`pF z<0K*^1FMI}OuaLJRaP>Xr=i!7P9(hDX4zxMT1@AYlPTe(*a&7~kVfU5Va#l@bo0Or zmGtii2d+XNDPH!|HDLav!j}Oz06L$j3|52pjvlvTmN3(O3-*YAKS}9f<8oFm3w<8L zSY9o7zA@S-6-4>u0-aAgyqGv^1v4k7j4z%~q??z&UO?o#x?%@T6>Rru2Ka(xpT58* z-`kZey;`uu_Zr;$Fb|}HTY0BBa^@2r$n2t05h1kouBvRn?GxCDbMGmc?@?z#|Uc9dH z8b^&Y-B~PIXBNBjGL%40keBAy6uaADA@PGC$zeVq=Ec%njMXC49tu3ITq70KgaSvD zd1{_e;8!@|$Q9=x>?5T>GG%7L^+#onROZHc1(a+_vcgj?cWDf*l9+-NxE~suj?z*w zhNmauB=#wLkiXd~P6t($Oq#lrFs9J9AJ$-8>6%LC5fP#tM_Vhq!{bLZsZN{Bkb*_Y zpz)hp6T3A6OoWmfT$D8u5U!NfPNzh_T`i7CNPUcti zOsZV0z_}E``7}Lu!mdI7Ymh#F8*CUHz^T6g*`;)>jPAqtfWx~hdnKIQOH`+^-Q?WU z#5GkmQF-g{prP>js8PIMJSwL3#>-3MC=a9OU$u3QLO=VI_<(qimzWvz!`0Oe=7D>> zZ;6L#h=s9`gJe#TxJhD;B=pV^v&CrXKhk`B>yHm(A#hdZ}i(wPo>P6vfk9}F`DXRm_u5@F7GUQ+drYeY`^g*|LrHp9_Ub*9sK zse(D&*)~|w*fw~5qfO??8P8!)f+G&{bwaHGZP>J?h)m@Bh5dnka&%RA1Zz-7&- zYtyr7M^ju)3&h4vw%jQH%;$0TjPm&5XILeWjPhJfw!+vm)8r*uz1KGT*);u-j^v6o zo}fmZvO9&5s=J{DMlQrLwA}R3jZKtV!ZZ=(Fw~{FA8xzf&iT)_>2V6KqbJ;T&{Dbm zEBMl`{2;7wh&Kze=q=S2=J1OjgiJjdIaCib0~%0PCKGL-c~c+ukTq%UN80wP`GS^pbvctLcUpwo(ESIr1Kau1gqjp5v2ae_dIeaxDKJiBZNrFd zMYNMIrl1EHocg*pd3QxT_Aro_>L9tR``%NK$=?Qi1{eVlMIjS-D}gt?x;ni>Uz>

{)-k2c`3deZ|3A(NNXL<5x&pkZKEpm@OQ5Av{!MieB-XPutOuPTu;}e~ z#%b^LeREssSzS16*;Qc+paY2(nfs@SDMFgcZ?7BY3o-^iJ`an=I9*&Knc-lLr?^?H zJIwKi-Rr*PWDx-OdNKr(WpI{)>M`vM8Taf zP70W_1`9YHX!knc`zEwWrnHZ??}7VS0OUqkQDnsmzGDTMK3hSC?^MA|pQa$qr!7eF z=?Z4}q6((@3?*XX=4`dPV_pR-+*P&468hxvTzS>=dRWW+Xgl3;+U2g5 zyQSrI)u76&%W$Y=*wm-J&IsDCP~G8YI2>iPFL5}f3WpXF2 zRY*9z*wHYuuN`Nfbv7xiYl+Vc1zww=y-k3Iq_FlHNs|}l)8*-WF?kwaTpsLv^B7-r z-dsN5?_$SRZ&y5(1p8$RXcn3gvCFPMLaL?F` zvp%>@Jx0eg&~oC!bxu>s5ht_oY@<;$ElkQ>i{0}PXl9d@6lerl`MDt7olu@a%f1fz z%X@0Ozvm!w2BA8~pxHjyWleT!rJYn#r~Z*Hl)MAJ1mJ-4Q?5;|QQE-ilH@KviiW`E zhMtZ$7jXU*VN>nB63J?XBmk^6#QO8yl_R7w-%0Jzyq6m8(|}$tj)!A4z9gKTv-040 zOTov$H%FL)z1HQLdYrj zu%Uj1!|YzMEWyCaOAt=W?~F70%jDi*vkH5&bxnyV^S2Y`9K(nC z&_15Z*ZM8c%ig}KaztKbfqc72?f>m7!5P#!x~L8sOJ^1|>msk(}#3oS)3hdka|nbj(nA(I3}aF3!g&T^!FS|H=5}%le$z zSlNlJ(HIQL85xEQQkZ5C+?8fayp-f9OuK1QTDL){u6)=ME5!>Bj?0%d!)aui6i#*2 za$x+D%)u9Lc@VBNs~&trSIbB`a8O3hRPjSCKcU+P4k%9EMt}bSNQCW-Q6%7iT}rFS z9MGGgtC1(hv1Zr85=G{)0>;BGi=HZ5dg&9CA2;Ts@?!FX#ALM6IZD^ zty104=RS&3(@<*Jw@Rfnd>`VHuEZJC8qKsu+L}Fxi;2Yj{^aSC*cY6kE!nBIM6b3) zhn5&KCj*m8MjzGVHvAphaJ!&uRahpc|EDsYmn2&U z3uD}6Ic(~tr}w`HO%r{U$Q-A>KPk*%f;G#xNR$8h0Q30DphYI$wYc-u0$2vPFdy?9 z@4ErNzPw_?+0&ZKWXB`+KM$0rq+^Fb+F5ze7=M{`I04 zF*Z{ogGnf<)ElH1uvdNBM_Y9(DEV&O)4;sT zVh+=gZ3wwT`5EYu>Ic#>e-;C9ZdJoU*GkjUd2%bx0?D!P+010%Sdhr=s?K>bQ1T+x zLr(^Ng0R(*u$)L3?&HYwBVn^5VRs-bITDuiq7Hhgu;7gsR!#Srn(i#@ zGOnaM@~w0@9f5|!r=~k{Rl0TGN(b9x)cdlUZe1jusb{`05wI!?@GMly@yt`Mfj-S- zn+Rlkv7W+yz3{?t1LuZ~LDV!kPNVl#)mGzdzR|)^ElL9;KlCyOEp?h95tm+AAD7?Z zPmw}_k?|7n==k6)!7MI>o_6oVHCTnN-~hJOXv?mNGTa;3%QF_2bFD;E79(Zb#GhgP zYlU7Ud4?V(>*P2cKlDTGrDTLS(wHaG{mYxbQvZ9{n5cyZV#Op!Y-yN8-kz|lyAn_j1A|gbhaC@ZhNp7J_vmNZu}tRhl9%wI-Y_I z;;Be+o_F70YnQEdy)&nk?&IC+^SJsvuRc?q%~2uT8 z@6&MgIk@$98orG_H*NbD8m>MEw|$R>x2ff~(Y@MW+pRRVZ5N*J1@{S%LGj)z7_mou zFL;m8uKIs1Y{z>$EXB4v;;*4ky2dbAZ`;0dEq83K?GGLxW?9SXoh`LQFgW{zKQpz~ zRme8zH2Q0+j>8ZWkdY zf7)@vOr^DKXu&WaLaQ7+xIuknTsc^OH>j)eQmW&Sb-4dI>aT!&TnXFCeBgX@DBsPR z!HwaoLT%Sxm2>{GSwcSQCN2xTU50l)WLxT|IhP|RBUB!Cwn`&Xi4w*hBXR zPYER`tHc5A4_e2_F>fmZho`;-pQE%AT`0m*=L z`rhMGx|}!{Z^7BvEdV#56|l*rB*C8qe-ivj@F&Bc41Y5G$?y~S3H2kt5&8GwO+e#a zaCdD)J@D({FQet-ZKG)r{xg6HVMzcwAF|L6(&bWQw3F(HX9#Z00CDUV%z#_Ke{OLk z7+(**B_wE8>R%7OEi?m%)T#ixaEbP`5vk{nH98t$-*LbFvOh`M?%*- z$eav}F*AFXlWOySI=R+y{jyZIRm^Lmaz5Qz+z49uZE&CU22jFpgL_RgoEgCG{>hbS zMS?1Y>+r90 zPdn*z$XShNej|NuZmgo=>T{^El7=+V=hIDgJcrb0zN>_edf1NI@_#1pKhTx2Se&Jf8!$RR-gH|Pzmm7^*MCQH8lN3`h0q0Ii5`ZPMq&A zKrinYrFICv4c=p&r@jwZw@AdR+Zv`R8{{EMS5&S}Mc7*yM@3lz)nOc=V@k)L(io+S z5sWpZgCeA(cL>~fhv`Hef6xG>OFh5{FaeSPlt!=6XV(7#jZ)f72TFJwywZ>lIDIh_=t5m@bG5v zXVzuv`?!^IgExcESRI&?f5tqmbJ)R~Qk}Jqx;kq0HWRM@J=n3Wa>NF?M1WlK{I=@4 zuYDJ{Ribpd)4bSL0T*34Y@kj%_Q8}-`6saJmaP+|ZHwzHBmc@-M)s9fj&!X`bYA1Q zW_haHAlT(o_EhHrw1{8yOk#V9y&TN$vt4GyCzBleXz&e1H>7xcyeV%xKMbFNG~yzH_casl>{m zuHtVD>)8hgO<^icaU06Rp-Ip!=+t;dZW`x@P3&}}(3kz(mhaB6368n2r!rLH9uTlN zy>gZ_*thq22In9qCUJ}zPR4$K!<|$CcE9n?#4&z&dY#E#q23LRgNvz*cYc!mu+50H z#yaD$5ou`{+QRH7G*n;qgw0eE4%K4klZkdGq88$H;ts=SkUN@1;0beBQe}`B6;D3^ zp0p#ocl|VFKEsRp`C&}4QPhE}LXwI{%NxU55ZF7yX76^?SsWi9PkD&Yt$twvdMNB1ferJB4J({y zX$RVQ#isGCpM>`Y6M+Yysr0F~Cli6Jm+9VMA^@vn=uD|S%0wVF685hM`*kGD6bb7< z*v}(j+DO&D1AA9nMQ zVa~Xz7Cp6<1IO_!rTEw@`;@)v*yY!goW(xNro82O%Ss_nyagE|EQ@51HEo&=9dnH* z)%o})Dx3Xv6Seg;t8$=gb42=3<(9ayQtXYoF!NLD>1~kQ_bqNZH)vTFZ~+BYU(|1j z_yh2h{PSl$eK_lPH@S?kS#N5h&&Qi|c$%9Gc>c91in?7??(G5>^7PTR-$UmqU@u@F z-~fQmUDehFyT%8>ooD03`r6QJ$34BXft80{*|kybGwL&?IScN!&8ievnFw8ryywW~ z^ajf37CO&vPFtR~ti+kRC9OWsxo!(>v)Q>2^^=uHTno{YBcqGZ@)TI)C8Cb#&_XIZ z!KDqAz-5Aq3FW~R2iL@;*&Pf00P3h9^5wqp8Dj_d3+;yuyrv3J1E>ewjqra1bOYW1 z`~|R}C$65DiRFz82^P$3JQMRLm_*Hj)2rGD@H| zDS^+FtIHWgn^^3+GKpTGdZ(^_V%jZaU^hPEjTU&kWv@Y?yYs($qXZW3^Ikpnq$tN* zDn#Qgc?$(C-XD193VOT;yhVZz?{~d@}6vNdDI3HqIb`azD#tX$X2 zSdIndv@N7^iE_GQVv?E82M|pf5 zg6@*t$@O8&W`c9le76Qt5R0`PCkJw96;2NlEwJm^3ky@qyQuv%-Q$H*R3b&Cnxd!| z@_#1963#AOqIHj8uF~}t$`NI+$)~Qb)K0szm&2WZ+}jvu)!PPt9B0(`@5Tl7uE*=+ z391!UyxKOiD(A(iJJoP&5}lOK+SQi8?jLs}6Wwit2P@kK@5Fdfdr`Y;r%lg;=siW+ zhAZ{cHqrJ_{@PIgYqJJ+`q1sjCxXks+lah>ydDw8 z8OtKbo-E`?T0^N*pE(|QYO=^N%gq#x`{$~CwmOP&U((g61l-tDeTKaAagMD70u%K4 z#rQ3)dG&d<)B=ylrI6d^)LLW@PJb*2sT|bZI>%|oUVQer8MePTnZbB5ES0YC4F=q7 znV7t`ccue2P>?M=P1IW3H9=PeB0m@+xNC^{Bp(PdWfd3qmp)?WRl9UZjbl8l*}~e0 z&p~x`1(*mde3|^2m@b2dUZJtLZ8$3ct?>w_yqccrWg(2pR`gE6T)6eH&rNfec9#iJ z;ET3N`$dz7k*IckJm3w<=hDH$7T`|l564MPrY~XHd*J9R!I#o}CalG;chmdn`5}Zd zl-DPux`r4o(`~4!sU-An1#^de#}H%W`>9Qj6_hvw-#@T|4ooOF89>(#`hAOc6t-qO z@Pp7O^szJy=NRJ3Ais!rueWg`=B}g4UF+Tpsk6el-o3(|GIKBZ#TsXg`=GlE5~PEk zHbPHN^UK05;Nf)od&T|YEb+sj^#rWP@^<=IXgZUk7S=S1 zv`wi>Oz$y~k@#UoKfeKZF_@%ZK%zFmRu=2Lf=}GwrhY}bZrDhO{EyKq_rm_(Ppz$@ zd<}#8_{T2KFJ2=)c3EzuB@Txyby+pqDG#PZ2{+@cfqfa_nxExM=eU-sk6Q1^AgF6#hb0AniSOy7i=Y!vmF&CsldraS&F z#{H4ZrgsK1rKfKmx6u*dz)M>(i=q^I;_Vh`m;tAd8SoRKO`gTwfsy@jkXTuXp0Ok< z%o6D|Gv8Fi_;hpLKc_h%_f4R_!VAh$GDm|mi6pUMFg~?QG)Wb()Po!l3fJ%(%=}h$ zByI@lhfVqmBD3H-)qn5T3>o5|OS#vcd}dc_iMSPa4q;~=dJ}shtOzMY-WtjOLgf9x zSLGCk`pzpqq+>5v{NRL8PqLdf#|-QBr%68Uh1t*+A}5YMz8UvckDtbv#*ErTQzk#W z7?xzeP+%#|@x%4dBQFLGw78yhkq2Qjgj#Y%oMXtvp?utQjIQ&qA6w6qQe01~d>)vN z>BYBWaGt28@?Vh7QZ3ap<1CTlz3ebCRbWobJwH4l_l*q=j2 zyvdm?DS?_0`&=$8B#{Drx)xlK%97Z#1o`8bns6NqTGc+&_(CPRo*&*~L~1U4cZ47A z1YWiUE7HTR4ve|eb7%!Y)wN?Y(|}ADESE&?LnzX4#2iG6pEBz-ZM>PJB=bIR=Bx5 z4yV4X%*Rff$z%zzEGTfomXL+4MviV$0yikrBVl?%@9f4&>pE#%p3{t)UQ@IZ^}Vmh(g#D?QPMJ3X&@JWEqz8BdC_!t=T( z#gG`wZBH~-ZcjAq@!Yxnwe9q5kM2FM=;aG=b{_j{F3h#Ddo$srmiO_$0tNmE{&ui(D`FF$~#|%ZLC^GX-^y^qjdKhwj`P18NVPVNXA+v;8V1} z(;;-sh4SM?P+0* zy|J1*yGX=J)G>6f?|ksC^(dc8-S6NmiT)_RtyeYO^>{0(UQ_*YI&;sBofOF<%%k)) zGD$icS*fCZk7Ete7UN}Jt7%&v8_TKBsU_L8L~8f>N#|92$&o&|{T#{J9r)g_#si;@?K=0X zOQb8~F`bI9C0I}CZw>f^^}Atk!Yv@)3R*DX#%A>BMBrEBp}_9Z@xa}1|8Zh6P&+;z zh{A2O;<2&7??aP;aY!t4aEh5WrdMzBV9YK6 zDE-F$dO?r&nbkr5CL*_vlgvEPBJwrNAtK)xoD3YsN$Yhs9yGi41}baZD;~lP-gMYO zRD<9fY&!1Ji&`BEI~8GeV;J%vU3?9dsr(?3o@Iti->Q2FMBvU^Vm|7 zL*(1`eE$MZ1S!>{DQ5Y6c!o0G(D99a7t~k7V)aTPG${xMVv36%1u!Q z=`T2)r0Mtt2FZ}gj7R0-n{8Wuj&ExM&JN|ytL4HAV z(KMg-gEd7)UsF+xZ*`H@KVRBeROagh-aL>BHZJRf>}oO=;>jBGqz{pMe>ch7F-(k^ zXNdqTRjjbBwc!@9u}UldiAfS9#^d4KE5@R7)O;UUt-Q3Ri19D5 z66rfueULHYTczd5%b+Lh>*8nrRGHT^e(oWSRA@ns*HU`m9$Ev+e{EDN(i%D6tJTN7 zui~pFHPz2}yTrG|D9IqR411X5CV8!y0_awFiJ8B=nt7kh(P1>0xG#L8=ja$S3ts3= z3+hZ2-7kP=UVe|4*uylvvzMl4&(gG){oKFhc9PuPBRihMN`o6viBvYh*>(-)l8w%% z8k{TRJGS_0!GHShB);{EZz~GUiNF^@CuI5K;7^_&{W4xGa*GK4Fo;#v{Zl*d%Xhor ze-C~EU(urJ%6l}}=e-@|@%(*|q#d`9oq=643HC(gX(5G96E$ZNYm#b{>V5=Ukv~l` znZL9pG`zGm#m@M&La+?ecY?+fML1_&bL<9jp42mTSKxQU89Hw0cU=Dk zcK?SLSjJYpeJF}~2j7~D>EAH+Lue|;`f!t#QaLe?fghTrv+i}(djAo(_UI9N z)M@O|_M^7_yu_V3>OPwGgq`$TM8=$eZ|0?o*@HR_?n@QE=|8%)bkM-{`E^I1$5%fX z|IbsjKhZu)HDdvM*-v|m-oYQA=~Mzm@bQ+DSYLHf51o#RjQ16Mn0lgcUtM!XQ$xRF z^$2ipnq-7yHp*qOpY~E5Hb-z6=Ht8{D;_v`Q1SFqy}?@Gip43(kL+4siu<#ZzfU%{ z6IctKfBGy@0e$sDJn0hloodN%3 z;OPmWlUhA+f@=2;{vU-e45pc3XkFRkWZSg@PVHOIhMto%pH#1@LWeXhQTr(an&@&gnKoN+m5prtgTTM zgDfl@5~7R}Qtzi+>b7Bq(Vu={{NgY>9^ZwVB<6L{RDz3Sf~RBwXVqjjnZpn24VuBI zXd78K7;Q}U+EC8{JNtfD>g>w7l}vHCPFwDvANAfs^OwP>v6v-90AvEpfcbz0fO5b! z00wFD07ZbgfI>hiKo5ul7y!|L+E|?7B@(i8Ix)dZ?#~SSXXb_9Hy4KA+vkPj_g6v( zgLE;FZ)m<}Q^Rit@zmd5Y;7+tZZ9s`;Ssj93m%t1$lo^*Q2Cx4 zI|26qo&>xJ2*-q<{{jC5z|e?0I)JO=s5=W`MgJuHO1g!JTMAeSa07M%vR(9VA=q^I zM^>zCsH|SKiquprud1(JNetIsd##YYL#SR;S-oO)ZNu_~LbkP}Q$R3{>0GgDB@HQ8 zLky&2xYj?FY3+~4DW?^IF&Mh6}#uiscTf5NF*tDfZXxh0W5?mlO zZES28P){c*5Vn5hHf-IxafcdQAdnqy*N$)+c-$Mmb~j&fS%Or7Ao7eb)Zow?&}{h(1xS)^hFHz#%95@!$WGf?dWLV>FQ{0+a}=C@3f3vt!-Nx zX#lBe>}dSYp*J84tz~0-+g72a)79cpbAO#J+=%}&`sykvURv7Q+uF&B_7+#`juxSr z*7yO}OPD_{rUUjaV?JP3FU@Eo8Iuwlck zjjbIUT6T4yojW^PIyY=-b8RN1qjAUP4Le$B44oci$1c|fcjLC^EiLV2HR6PoEsf2$ z3CkO|wp^KxLN!ggBkWz>iin&YxdKRf^9?&%nhhkotXar*3E73k^LK=2VRmtG(flpV zf{JQrXfnXTJ40O261ot};jE;hXdRgb6%RW$fD)Q-Ba0Uctw4Zq-F2jKneZ ztfIEw-mr$$)Gn>L;$Bro}OxZJIt0-la6av?ytR5u0`5ET#<)Yd=( zD5xMtv0_hvBoG=Pk&9rtn3mwB8!KQCW%oIv5I~j@NE1jTiY*AXDgts*+f!`;u~G{n zNS3!e-`~04^NpssgQPH&Yt^&wkKb*M-^XSLj;#*5E63{p9+Lt8@)*%bm5i;r(>| z&Doo-*0pZpi2k}>xqsvUT{-9S8eLbF-*&C8`#O&vsB6s6Zy%)V4RvF#({;wAtm}2% zaPZC>bp7LyvESD_e>N8j9yU*;MI|KU{`o3xr zLkKa1G_WCmdS1Md`@r;U>~i+B*|@^)xxJnH!kM!!D9D|1zw`|Qw_ zSBARJ{!u*gYtT)+#{=BwPnn#b-C*EcZEh@U)b@W+Hftj4JR)oG@X#a$458d96J`=0 zz|ko)oj~E%t3#@8xF0;gD{uy5cF~;dyy@3@Vj4Sm%xyQ{HoU7hP$y2ocrr9SP;hJL z^b26Bn}bKi8@di1+ECqq0+!F7iS1Nq;_=6Khf}5(&7Rf3wVS77N-==5LPZm1&YV*? z16-r0=1GXNW;_s@Fc}SxH>OR*6*@)|)sb2B%ra(VVjkVk3*l;Kqh#R208N-A)E5*r zfgoNsf^ZlBoF)xs=H<)=WCIqz3EDd=Z(1m4n%sm;*qj*{aQyoew0Rme6N!YJ(TK7_ zhLrN3*G`x=HG5Wm-i&DzkfZl+;?%4AT;~<~%!dzCrgiP=F(oHIFQ=euSD-g-o1H@l zF)=jjfucMOLnrca$D`9~=$J912sb^zUgIWK+j;OGLAm$^WX&NGKuN!;8mxBb`A$?k5uG0q(wW_@KeZE7DV|k$D!eX~~ zj8vk|Y(;=qI^LzJlllj&YtsI@kfCn42CTR9vuU?3U}BTU`nW^M?|o?a-M9Fjtx=M0 z$Nv+8`(6miLl~O*!1SC8pS&)FOLPS?ix{VH_ADQ}_Y97Lh$=*EI%Q^lXy$}zMT89h zq^Vcy4jQ=H6}DX`3n+o}<3iLSN8#M=yK#1-AVgI*1Er`zK zD6H={J=;Wt=EheHn0O;&^qm?x6KCL9LbHn)-CjxIq)FU(?t?fG$Lgx8te)&lZte`M zlbi^)x8b+LXKD28nN1sdaG3GknvtEsY%%+etUG)wtg<^tXJp+%;ovO4R0GwCfgF&& zBXe>2UQI&vkO}}iGF%7$ShpQ-#YR;KZkT<(1G_!Cv4r->SoFO7}xaLt#Va}wvf?lOwP0^GpA{G6K{;`o)wb4)b~_E?BO*1>%slM^3UHh z(skU;(}-C zUS5%3hFEj*98Z$v=z``x*sVT&ubDbGgbrpZLSmBYXq8*ac=M+{EGcLTKD}^G{9tDA z_q%3d#?0$*@u4i{Sl#>K^cvtbKFPFXW&tDVhK8w5#;7}Q%VL%^ZCc^e_?rk-BvL|GT=FD`NIf;JXogZ|Ez1 zYxI*7<`rM=9}l!^fRQ%-Jx)*DRcDOZRTtIoZ=9_;a3kk`@^=$|_wbj=A7`0!a<{QV zzoUCZ?+=a~m;ZD=-+n)xyItjaW+3Ni#g2@-=|_}4Ue|kkkNgm4?0#I|d;Dv4#*q5+ zPt>0~p?1^wORP#B8SD|skJ}$SXU+(o3*2{izD`UrPQSSQXB8FaiXTkcZ?uZ;(Pn>( zTO#=_Zb}<(oX)EY<%c*cvVbonC8kHihkL7aUaVmLlD`M}6TLni|0};YPmQQ^>Db*s z#~mIWkI)LyYLL;>ct7#w{$KJfxBY!WoR?OA_Jn)N zSm};Fea7}VN4q#q+D;l4IJq+_H@}3hgqc@=@AC8eyQJM-cXf!906F{SUHTRkDz0xm zvJIzdr=RK7=aSQ*OFE5@*D11r`0>uEz?Tf++ofLFC2pB9q|^Al=s-8leof_1U+K-5 zzzIZGFPgA(LR?yKVjwN?l8lLF+Hb}$8b9=sQD?tDGcX|o-56Na_LlTBTRDGmQ+--~ zu1;~!kktPCWmwaJ?(5!8fPD#K1{hzl1)1uN^?(X=UXyoi#Wsh<&OuZ z8>e@_#s(a1vW~eIjQ7*PqX;Z^hl+&KL6%Uyi@YI9X!stNXZ5 z+|_YcbH-`!+q;;Y7nJxir<-<38h`dg)FxL)#2?PJ9bts{rq=1=nQf8K+nmg!ZzAg} zNO8zGh5p}NTwI^U-^V8gR`s~G=ZMSmdyedROQ-QhT2H>0bjSD}BcuAMU%&dSE_>iR z&z(ycGWR-8c0c=SPTTQ1;k`bXaXKZ~mM|MM11~lJ`Y?|H6*a(H=jQmC{8u6e(!{F`G4?D zX3^S>KhdslJa+M9#aA$pia6Y3M~j=|M_#@oK3}IH7tgqaQ~7)EKy#(fXN_cOiOU1^ zPv47-tI~;nKd-R^7x~AsWpC9(^_1>?+-x}Td9?rJ|ZyPk~gSwQT zUY+0T@~ie4-LBz;sSdrOIJd2y6S?}2jN1|4tyBJk4JCaj2~yIZbIaW}oD%qL{rR1o zF?iKJbHJw+fh*#6#PBW3U)Em=thip6?lXE1;8a^q9Qvuo)z#y#&+iiZ+e6noUygbg zTfB4s_c(*R&Au-Dzoqm4xP5nbiP_hQ`yl^M&VORami>Wln@>a!JD{%|LRmX>_UXX> zgDG5B1>QQ;mg~5{Zx2Rw`|SzNGyD2UbR!i#PT{YV^Tnmt8@PVW-&+1k_%pvvJQej- z=63Vj)@P!=>U3N-^`=a|4Zz=M{xlBw+Qs+yzUqj3_*=zarwRO?P&9lsZKphEB)-Gn zyfP#4d9DFy=sYF3C6%u|s=kPC3B(Lb<9w{(mZyfN;gNoyuWR(MarrH`^clu!o9M}m zZ+Z;Vx%_j#iRP|=JNJC@S84_0GEXPsN4(C+O*{K-kdeX|3oyo>JNLnmSNZQma{wB7r`0e966=#v}b#JN7k=^xd7cH*u&PSM6fzs@<5bs5I#JE~tE zV*W?)`=6ZXKI~&;G?)H~mVvrLS6$WXX$iL^-kLK$F0EDn%(|!>5{9+s#N=YW`)Qo+ zUYGDz!Y==B1t%w$@b^f!XujO7NFcth|M1yk_m^QUhnBvxfy6rZ_lh_OHMWqi;` z&gvR<{zPzCAoB^ziiYd#F3#9C{O^}!8GI|9Z=rO`AJge)L%w=XV@zd(Lk2G|=1rJ5 z#W36RGdjaP{N>iGjhOh@TU!JM_iJp>;~zChj!H4xnH_?uW=FG=c~R6Q=HO7{BmZqM z{|jXNzxs&23t+s<-yhs_hP)#gbW(=SQ<|YS-Mtf(I7?~TG>!w}bSoX~aAA`T-)&9R;~$@ zyvj9^7Qf?~#1jX(CIjJ*T-yTiW3DM+IK#Ca7{BJ)9tvVOc&!5zC2~!L!cJT}LUA{) zo#?@pTszaFfn2-5l_6YTc+p7A;_vHnVo&~B@i*%QBk>OwBw#0(nrF=@uCE)t%{Z>3 zjVFy(TzeQd8Hrrm8ejI2JvQvR&BPWGBvIQ=?m`1hxC(Xt!G6(6;cy)g3L z`kw5?tH1p9WwH~-?^a#^s;-BGuGB5M{y+7vi(><2D`f*^E7d32O7%&$ zQZ`VwQhk%Hlns=vlns=vlns=vlns=vRNrMQWdmg^Wdmg^#S7U=*+AJ!*+AJ!*+AJ! z@kq8(Hc+-wHc+;*8&}y%*+ALKfm~%PWdmg^#Z%eJySU0$j^`>{`D3oKm9w}u|7+$z zGY6VE(9D5m4m5M1nFGxnXy!mO2bww1%zp~0IB?)cKV1LU zO<&Ir-GBHerE}`cX|1~tzV+*vOS*ji@|yp3@9p;4pt12>(A@ayj^sq+)r$^&aAWY$ zvrCN9!RF5n7>PePLbHtLF4YIUjT<|SN=?X??^Wey&0xHn6mLt z!FC&qCK#n#`1@==?Y>G*e0D`!2gXytD1Ne2;-9|xH|M^T``aEPJ&=FJceGV1t#Nuu zoGyk@)Wx|U=-wHxRyX!<%0KDfxc|%kiSB=g?vPP@;FC#4>A0U7rM;jhkUpd)%_ttz zjcc|MRWLPRWQF-7SMk1MrjZr(?!>z8{OvHJPA=m9FNTrTiZn-+r}6iU5j>es`BBPw z=JxC;qi@&x`m7)@KMV$Yy&B9u%oZ#H58PaQ;G20bKmSe8Saz~3~V&b;xRL0 zjHJ<~QTiP1|NL$JfIkJ>_WF=#9=h8oJ=Zqf{``)?&wn#-=LYaD6J3IJzP`SL@ZV@$ zTp${RQ*?X|%(r5Utc#7n$#c+iHfZ)*O&>*@X#OzRc4LZY8#1KknNCIlxtm$f1THQp z{+86x&83}w+TKVOOk;jb+g#cNql!B{2!A&MT;rtB;7v?uL5z!Vp>^79Grhw5@oqkjo}9shoA9r!ETza4&f<~`m>PqVC2Rt|= zP=jWT89yvgqkgKt>Z|&hOWpWkL--5S*z{MlH|2-=WAf~qi;a}}V2l0V%zMR=M=x|j z{K#Hr-1lZ{T;*hw~(>yK_mL) zPwCsyV5?q3&G?qw7tl7T6}qx^QHy0IZ>EJyj28P{K13IgVr~zneKzoKZE0lP3j8)^ z@qxX!UJ)*jc5!?hY`Jk->(=2GX1W~>ZsEUqev8PZbMxw=9>}ZP!|xI!XziZ=+sM&t zpIKF6#9C1gbgvVQIY!K?Y%{vxg>UP#UNhsu=xgO#Bi+t5qQYxS3`dXCfR_Ueab1mN z7n`k5{`%|stb(_CF&rp=U}9Zx?j?2T__Ay>Q1Ek))*;V6(P%{Mi2HyQ~-E+{>3E2i2Q%3_v z)hEF~FWTG=o&gurj=qiwW(I0x13zbsB-hukyqK{@+HlsN9b43Pqim9^6i6clHqR3bYIFGM>06nZzeE*+i!5PYOZr^xmMo%=wq z0ArvSKHUhN=*1X4qrQf?_kT;L9b4m#amMpT>HO#Lpv_{Vl(BnqR=}`7jD4ol_#y5X z`exp5objV)kJ3)|LH1H(BGU-8lpLN3nfLXljF07IWv3hWy+xm}JIErq@wRbB>G&ax znSfDH?u`3Toq?`gY@|5j-j|JN-C|&);Ja`g2iHfy7QQH8r+GLZHiF;`Y^(=o7G*C8 zCN?BzbxEfO!TqVD3vIEVG2oBhxb^=6|MZJo{Ibc8E%a=%V-Lp#o)=zhbFVL;?JRwJ zEY8UC?S^di%Oyr>B|0p7j9U5XB2?;IL-hYqcZjVnH|oBI>54tOKCO;lL??SZ^M#7;`@;%@2j#v?{t zxY$Uyhlcj73U)iRD!>P_^Ni??i%TwMT*o;&_fvGJt7Ate)V&IwvWIxzl!@5YOQMXb zKLw+Dk+*+4HtPagsy>PKXX%&5*Gg!2?CZE87x)tSiSPP{CF04q_0IFsH9bG`pFBTd zh-;&dq65z^jA<)AeRP*m>hq`T`TDH49sSth*yb4O0&zz2#rPPri;)!CT-+&}-+w}X zL#>Kielzdaj_%ekl0A3*tMA+VI7%`VUFzTJG;`USiw%1u^gYLK#Wte%UhK>o{H=6a zZT^hxqwf8VKgFI)hwFoF!1a! zKf9>qvgo*U`?7`mBeUlxMGEHckDM^tSy8Rh?MVZ|tIqMeT;=?ZO-#2pQ(s`lSS?c1 z?T_&p1!ilj)iq03#iXR$KR4s7gdXYk-zc9(c_QU;UDE9b<_9CK0`XSMP`X_-e`lnQ z`WmyNRSI0SNe#9MF9&X7pp_NhE#3Z<`outrb;~u&scRih4Ysn{^iH?Gq&$W4t-u>Y zU90}-cI!UrcH+Qv+XyCG6~Mmd+EuGc1MRK5sjr!5+NnmWRW--7ZJt%Ro~wM&w3BIn zPq1US4jRsZ`z-Zi0;!axgtuL@V%6AS2TM97oGO13oK=*Ug5zAEoh3YDfVc9R(p6P~ z4h{FE+;5#99jS!Q>iMrlzH**#Zyf?p#Ukjr_Ni58fc2Dvt8@4Z;2i<~*R-n$B*T;F z$l+_ATy<}-OZYHwR{-O@10%%}{wi>uzh))4ldUg2+SI-Zn%)Dh`mvQZ0~RDjL`%iP zru}}Pi*-KGA$$N_Pf=DA=t%wk$QR%eKeBlCj7RH$pv$8%&_C8BJhgmlKuVA(+>P|z}uO!KL#$cZdefQ;JGK*DZCXpcLzI%`z?4aQuDa!=-Ye2 zF4hrf5ufe^#sQCxYtRpsjRD74=sHZDXgCON(I7ra=T!g2{8)z%(xbZhdz{}-(tb9y z-2+XcPx8s4-VSsO&w$3U&?w!xhd!o4qi}6~!nDUg;~;2k4~=epsw0uV9Sz%B4rT7w;tBv(WA9k$9(i(N%@abfrJxK?`D$VQRQ? zrD?xAe|O~I{FulM3-&~63QW5)+q55mhAe2U9%tHjLtj;)Y1d9R?TQ@Jo)2A>cbInd zDAP^>PR&T_hMV@l1-m1a8K&KTK}@9bdg`wQ7Ce~?+%Ek65SW!$Q=VYjvv{r=p4HxH z+BKbd9v*enb8V^r+yF)kp4%N61FqVuXw%ZPyKr9vKP!W@d0TCM8%bTrSnR;_v8FwP z=kEn>WxZk7oHFbzaCQVv^-jZnO1OS+*p){N;QTgHN#82oq1_vXy&T+61Gjp+VOP`F z+C7F{ah`VA(dE!zvyJC|Wx$gbky$)jy~(gs7sN#>zB26E9fo~?e$}j`%@c;*alz}6 z>c@c_28LzWXP}|t8C`cpx-1MvDn3yAJ(1dnsW0Gp%FocR+L_$v81^5aV+OGQP4r#{ zzsDK&*U)+fI>u60nA@c;+gdo- zZU-*c-gI*G>7|0fcCFewHmH;J(&WK*DRAy&3{*Y{Z4GtF&Um;BJ*q$tf5|vXS-8^~ z-@lZt&KYcLJUBHJymnFpPWiTA)?S!mdY(d~ouuUdRtZ`fZ3I#I{7 zmz(xk`gl}zbKv0#!+sZfY+$V!D_#t?GsORshAn-s)AMUwd^XRo$z~2s-!tG%^-;rS zyoGBnHtnqu(|!;Bt%(@+nz4g{xj&K?3|dup&|lfmkz5(C)uRU6XLvpbKk1B@;e+jz zV2bt1<%1o3IYvjTT6R0bE#H2bU*68Dx^XaiJlJ;XuXpRKuWhUsJi!v(In2{U=X|4! zwFY>lj8~1@(m>E!bM;_bGAqUA);?o8ziY1=Z08skSub5Y*q)6&*q%1nu0l2%$C7o9 z(b>8i{v)4oJ8Vovhry0sh+g^5inhp}^6CV?JlU#gIoR=EDzA<8%R5?6Vee~BrMvAv zPxs&iE%9ZR;nFYvq&a34a;ykKTmMClpOTFAyHw@%>Gsh;FkHFDwC{w5ZRgXGJAC>o z-IiZ_XoDE_6nZa{z1A!tIBJCpKhy8<&{VL z@-CJm$2Z*emG8LawR_STD=Ajx+v)a8R=Oi=`4QI!cC=Q|*V-NFw*0$i7oD*qJwL;k zkX+nYBiZp&72AO!8SPBB<+rx3H<1f{-Ii`|{S`Qa_)qn9z3_IiIuese&N)VVYwMuS4orQa6VPo&%T zV4Hl{Tj%+8L5H7`o8LdlO}?x8@pMOSKg1_ggx%j71EL@Kh6ia}KL~Fu(_VudC9|qU z>GpEUtLM1=sGaG`RI+nzPO4Q3Pvs9Q3tioD_+J2T7Dh)_FxDz3!z=2)c5Du^$w{|Y zVi%mcY`5;gVSyUO9rrK>oVaJ47}pp}~(c-1|q4@6rL{P0%nvih0Im=G^(HktMzY{?Po4nm#4U_>JyT7)JCV_H=oQ}&Bg3eLyYP)MPF%1p&>@@| zh_crF%CyU%Td>vUAT+!5MOnL`TeuFxtCIdDtIk6EVrV=H-LmlqDZdlCG@f&zF#~$k zZ;c<75kyYwyl7U)P=DT*)+9V3=QIEj^XOBco@5IPh^`%kNUNq^(w|) zxD2{PZwF$s10Fvsx0$x;cR`zIK7(A(LYwd{ru>-4E9sibN}yNmfNM#fW8k%9Q35T; zxi4Wn3||oM@S+4+-L>F%&hO!YSgRD8IxLKdXbgzvC#kOpM28ncm&VR{aKtPm&hcmi zcDT%lvDR-l?X}P++SNvM>~dhVSg81>rPC+%qs(Yw5d((Tf?v=2d|J1| zv=2hVqtLet8U)9$V|~(rCm#OAc_wJ}9Pp^aL-ADg#}_0xI$namJh$L&=l4*?%A?>; zT^Q%-SNre^>JJ1`!X@Ar4^x9Jthj}*N1g|_`ZX3FmKbqX*-mT?bO?SjZN!V;f+HWf z?eyT^9B|8XXfK)eG+Q`4>S4BP;8DAUEs5LW8~EhwUJ0;&OCKxfQ_F>KM4l8);I9Nn ziP6$J9B2`?z~lBe#nL=^!yeNvFr%#g^!>ZMC@@<(e!Ku0b}eY*^tZrlZ~b<`Ugx*Q zVEcvf(2@`l?~rF$Z5c!1Mc|2F_&aZGCOdsyL3ssma*TLu?Hi`O5jdjd0Q8O+@bgt8 z%%GL#(IFn)9BAp-lo4h;@mNCSBxPgFWGi9e+s+(+1Y=cwU`&QbnCO<#GJJBtUFD}JD+TXz@D&;f&e&0T2IKt{IHimJy|tiqL}hChycJPQFajP(PQ(J?mJ8cN zj#9Vr9n)^JaIYgr;W;qi7ppeW_fya&x(g^<4xGJ||IKV;EdrKgSwMXuu=bh>)+x2) zUa(683E||0v^B`c_p1NE z8Uw79h13J<#owEDaN(Pgzw%r;^}>BipjCJY_|-R+>6!8mOgmv=Vq^)=NPktIxNu*j zFLMw4e|XDG(@qQoSG{o5v^SqH?YACu*FHbIuf9KPp0{hyVsNiuRXX=3_Y>crQ1@KV zAnUniudi6wiq{%Wo5nSqSk`ccqN_#o<0I4NW1EabD~2_kwe*RjzO27duKq={hEtAi z#<5;=jCO86+E`(9T5CGv%~sYM>mT>Yi|HwdZV_5l$Rq5 z|6c9>${g9E-Dk{^PkS(1V+;0~iQ&H2EL-&=aPBjcthI|wdy{CTO$E4G!SB61tFe$6 zhzg&CcL#wX-rX8#XETiuU#0!^0kJjU$H7q*dXE=&@K{`?Z&(ff4liA9#e=h(>dq-Qs*k9lXegXZL z?#q9_30&Daw>;75v;2HF@JMbs^!YMiOD8oBbzK5%J&O*6KkfhUD(i964#NZCXWt2a z#Y9d}KG}?gN4q0S1}s^%i18{tI-%#d&*5HuE@xfo1pHXbnv!^-aVz&S?y z@+VCDQsB6H6twpAe+ZgeV{c;}oa$dJbIIM5Ph!n8$b3;av`6ns#^EOILPNzlL}&*NkF}xb{G0imPIs7%JL|!Y8YrD!-gE(fY8dI3dbf$6T}< z^|B*n;CzU>qu6Km=&Tc7nc9~z_v=n9A|48F4nDd&F~~6aOd~eD4x6*qh+4IV`PEwH zA)6PvHYfeIMw|0&Ot5P8t&KJ(!2Ja_C$acIl(%ji#O4e`KObjYKE`<5jT~EGbIOqA z+x(vH*_;^cO1T+r#bJB$XeXX&tiGWBV~3WYCoNeg*4R_I_+kW#$NYkIH|;I0X521j z-OaVH?pRTqF@ePJmEbSKE^Wdt>G?9+?nn1VQa_o_8mC6f&Cw-S4YQy-H?U@SP zK8*2l=v|C#UxQBR>?ZVGvQ7-N3CkAf`Aygzjd|6Vp-+!f51g>?dsL=pu3-MKm$A^B zIf`t9%9m2Um+|P|tKBs0%A2&CjZKk{Q@hh9b6R|70x)E=R}iC=VRxc|^(nklJKQ7+@-h>v(vlKkj;rVCqO3&a&!jJKs)|8LKH@8ia)yA6_h|Xx> zCt=4P^Jo-({Uu{;iDXxSzxU~z3ZGqGw6XSr!|6Y|@EWkM;+ZAj%5`|}&Vv+>X-qB) zB!rK#Z!UQ9SsH&8*elH=d>br2$p(uzvcb`eYqc){zVMeANmdf$TECa0cW<*Fp9jxH zgKY3J>Scp>fhPyPyZW7A{dK-;A2!1a*^>(F*wOi~dwO}H4VDaCeRchgY;Z2T@@?=G zc;(t)?EQCa@D;?3W!SOBO>FR6;8tAvJhA+1;FL^cgV&-9J@MhXmkpL~e2U-dNxzQa zt2Br5ZSWE^I-CP9y3xKI+m;Uxd>b4+;E`32(sw;4-BJHu15O;}J=kB`2`u3dpQm7R z%BfA+VI`AE7*i_j^J)<)Dlh^QNld-!y@ngcN z@?3m`5AOstY`|vb;440&UcM#|T$h?L;oaa>-&Cgd>#?i3%w^;Qgm*XP1-Z*@$1#@n2Q>%R*jSJ49P03((Kjhx zodj*n;~ISvwr(vprG>|r@f{oa^6UM9s#jAR`Em*OzHe$FzOeTl-NZLthHkH8Os!@7 zoPgGNd{Z&Be8lep<-YJcmRNTx^(F8{^KH?rIO<_^Y#sdim_CbNu72WsDHpFS;)^}v z9r1;D6Xuzl7*~oF6u)GGTfW?aKjQOl+A79=*o+M;F3~e8D*%q@P&|?kEa|r5idgjh zVV-y6hnAM~e~B3t9!Y$0LUyS;;_(C$glzv|jUtpWpVhf)l$4~hj z=`9;&`0UO=)#~_083wrbW$4Ul;)@T&crw(!^sT_(gTK<8q8we;zI2Y_JAP|EpjfX3 zaRp<_N=KG!XeZtO5V{qQmLtQ-=)Pq5F*26yWDiyM7UN#yVlw>n$G-Nn9|5k)@iW*8 zSB4J*SA5mjIEl@8!PK0ur6s-4xUhhAl=4N;u^u}jTN+3GUnwJB$B{`(?qzSvdA5f$ z7J!W$FQbo&i3D5iE#gSg=i2Bv=b1-jqv-Pz54PHd(Up_P)3x7mj?QjCpA^5Y_w-V< z`8XB#3dRQHt+?0Klc4oFx?n+50ru4|djvRs+`GurOX*$HxL5b$lj7bUUfjDL{ZQQN z>y6@GaH8|RJ#4fs$I;7&J=>zOa5=U`v_9g*y|LCh^r%~dZE@q?pre=HiF?tt|D(7U zKdHF<%sf{wi@*4`VXpnB7tzCW-!{y(hv?p$Ys=<7if+ZCmw{I3Cwi&8iRswTW7yok zVsrQ6%c9ZEMaV?I-=bV&ISSp>8bCa8?oQfCFBLE3!?!8uX$#Y^UPMRb+f{xFUnibQ zU-R*?($}N-Jn4eg5S|CF>R-h7O9x)SzH9)lt1B(6R@jNRus`USZ9~BP4MmHY;wyXCooc6@4=sk4uOb)PL^nCLYbY}yw z73*kjC)iFq@7{rp4y)Z;=&<@bopv{4|4-8w>G0#gdJNbvqMwfdOZMn0`g}8d)_hYi zSThOB=lgTczd*P6A$m3E)Y_hC>nR!?+(GPJtP>k)o;jR&K>g2Qeyi&e`lDxw^PD;7 z^XRW=P@gq+9tE#-ay{c_5p+wY!aoh1C*Ym#TW~KL+&L$)0^>zC<_h3wUr}^F3Ve;1 za&&r_H|Nxt(Aa}k;+?-Ad&C#ubbW%JRlKtsp36u3V^4ngCV%WP4u*bb>|OSMIQDM- z?$~3jH2U=xj$glU?6q+Gy5hrs?$?{lIf?TWkG1v2-s<-o$Da8_pvvIhU+0>*ym9OW z8GGr(HyRItK=A?Dc8$GU{8|n^P2*!NG1VHz(APh4$Mvg68ew-`8mJ0!@5BDtliH z8phCJk1pe#M!F`116AV>G}85(pEuH#EV@F)2NJP2>T3e_CS&0N_H&XWt+;A$P<~MJ z)%*GV>4IcOFN4^clM4{_>~q;9+vDyfthOcW}Z?NXdSL3Z>vQQH$Q7G zRV1XdPjnO#FBETit!Ir{*U{lv}i7{yrzqMte-k=Q>PV z?Z4{&JZtNkV;`d37p$p&OMgnKe;0gncwTG&mDnKVzzhmr6rKeveo zLuxPhFt}>Kp>pk;i5B*?!n47t{kVDHa{JrP(!Rb!qth=xAHdDiVh_j3(-Pfkqdiad z_{d{(^Rq-_6||(HJ5GPGOJ6zt?HI0v2JyNBdv5K}r+1t5m;DCo8u)(@I+Uw*9)2!F z=hbi3%>urgr*%=oeye-$=4dH@%ipK+bF@06FXGqJ;Qs=iq@Ww;;DO41Py1RAzjCym z1jpU*snWwgkGzs?*gfG_p4JLr9Q0_oA9=a*xG+aceDrBhAH?U`jBC*;{g}&m)^Eve z9Q?7xCumWwg7Wsx2Ren%!J{mAqvsz$c7mt;tj_4xR^+Vwly>Nr)@#Vua_YB3-!|y0 zf}Q-GkT3^{4~4WF^^32YlHp*RB>A((h{QvDPS*d-X29 zs~vW|G|(}uJgoQdU$x+H^RpNO1>`{GxVc+3W66)Y!?b@0%{8M;a*}pNYHlQN61a8H zor2G*Nz?t#$k)(cJ(B#Yi^*qXE>VMzs_bBrJ4OD{aNuMB7u?n0t4RPpc~Lg^Dfp?{ z>#4uiwC{zkyNT_Tb5%*s&I9nd6uH-4PW@%d+tTyVks5NJD#^Ke8eW&8C$*iaZ;P!5 zb}GJ3xmh)_*IclE~%(tCfrT*#%xmT6s4&4BqXNg;C$=|9R ztNS4PsN|pR;r-iy&!*!JgjPRoN5XUTRB_<@dZxW4IJ7gKu3@ip>qzB*rC3jbdmHe#UXPri*p@;6$O~Jku|Pi9wi^w58+x(rTKFcI(AuA|Swp^;>_;WJ zW3ulmuOwgW-)JkkUST}S{?s{j?JVUuRnn%4+%VUlkPAhA*elQ|*~(|S<>Ul|N4g=n zvJZ#pllr6lD8ZJE*hjy%YaDU^NAi5N*Rz$}vCin0^2P*1!suONm^-&*=+aKkfH9p_b+4t{He=CJ3nP(sZX4ny__ryL z;MgK)a{8ot$N&9`{!8EFf1EycaoTONwAbCd&cdv z@?ff1Ti+Bx2DDS3Us=gB$ZPu(v@tta${}<0{vszQv{3zd+^yU6aJv0_#2B* zi_+~m$aZ_U@j1m~P8s&kZHqo(YhGHg+sXY>om-w@MHnxYb6gm1S$k)WxsU#fF5f?& zhcBBRbo1QKGX^(ra%H!9p7e}<6~b5aMPsX!XKN?BdtQ$G3miFyt8?5uJdJzl-6^w+ z)sC_8E;hok1=;G~ZfBoXx~qO@jJR#lqjBUJV*j?wK432|sKXYH!RI-3!^w$kcrL*i zhvKdJhy0xW$rh=9Pa?a@v91iHhmuj{9qIPAUyWj5K8H7t zOn38JuT|WSjkq!0v9lF3u{ZEw^Y!U=a+Ev2Qy*q9ze@zKV15N0 z#Xe}Pe97|zu<HfQ7h$&tkt-+r zC!0DK{So|10AV-DuXzXrPb+@hsiHMjpA9s1sb_QzRA*$Le$S1x5At!uJQkqf>w=ux@) z>8{a4Ir=5Lp>^#9`lWtqPihWy$Tn+j`8smxqM%7R)kV;vHt^cIlpMO1&?0)(r*?rD z`VNLQV|4(oe5dHB zf)~Qm$m>K)>)bA{Q|ae#o!{%AVJUG}-N_$a;mP_- z*08iDziub{h0rJ3HP;dyRnVt8<+KUcIp`7Zj(|It@|_;uZP4xWRPCfAlIv-BD}8tO z`C=V8ijM=xt;_S|q#WWN&f~233x?IoEaB>iagbJ zrg-}}o*}&Gmk91FKb;>!-1$HlT?R2j^-Ic)BGvZSTxpqB*ap9kXN8>~~ zq+Gl8Z=3cA)_yzC7x6;0NsokE`F3hMf_0U(51*v6*^gq%(8;+#$A{l zoOcqGYuEJt=j7C>O!;&!zIcara(TnO$j#eH-SfXU?JLO5)0&iW7^_$ZZo~V4d%>yx z{+P1aUTz-i+Exy*WM@Uwboiir5k0GW@#Q>gRRg?Sy^SB3c5ia^GzQD5{{`!1N1ePs z_ZgLG{dP8M&{Nr?$zh#YI91*Vi*XMPykT$5&-dHw=!kN;w8z()HNlPWw-sxG z%7G}PyomX}^jz<1E~ZZJV=CWI^812Z2GvyslEV9duRV9Y@A(?|^?V6-Z#8yc3-x_j zx2u?AI`7uV9-alR?9A4A;z6{tZg(8G(mB2Bsr-R%i~+&Xz1nVm(9Ne1zV3{Re)Lzi zS$MO^ZK)y_k-wHdSJ`23DCcD#aFwsCxInqu$^{{JrQ!ZK^L5$k+p(2;A5VERdS34+ zCW6NqkBfLW4ZF?z0O4-L1I~IFV<{0D_Vc{>KwN|!$Cm)ZwY^CWe*|lb)2~D)H$d@> z`XhU&vAFqRaw>$6eno+Evxjplv?{+w_&dOh&EV>b&k%2fNAZDZJxyPPe+#xjxYTF) zRPn)&)rHH?Ti1JfF8(Cen07nA#p7k*tpq3J6NodbPI=+xGgrmZ+YdL-UG>CvS%LeW+NZPKSNz_rEmxuQ)z z-x*t;?unwz#RiEr=j1|i*PBqXV`@BQ0Nj* z6XDBI`hl)EdUqc*uEAGpy(bs?gfGdXW2wVC`52eJKFC;hcni35p>Yj(-SLs+l*`Av z_ihZTaUk7MEO0w`&O)2?QSEjibHz?W!MTDqrQkdPjrV!FqH$A3Y{5Ie#4GMQD9b#$ zHnX0x6dE3eh7xGd`d4>o6E4LsOOa0*b=spT1Gn}V#k)25SJ#%tdOFHGRrp%zmfB^3 z`vi1)eF!hd?xUwpzKQ(J33&Mt^xg+<;Yz{ZDJP_iHIp3Z5Pwe~=cS4r;L{{!0 z!&AVc=hQ|qigKltGj^%-9Qj#JUC_a$IAsxjU;I%U@u#Q!5B^`jE8xXwa4Z7HZX+gq z47wDbuqPMJ0MEzJ2o-ocpi9ar2adPR=U(j!qt$+n*qK+}wjV ziD~o>mT;(_li!?IGq6KkPExoMkutuOg+2WaAe$mI@G~{tSyV|T;ed3#j{oVlg z7sODhjk$BmU*3(aEG3o+6T|FAj}zHf&7+S8`90N(p<nuF;NV0xSlU# zY#u_tIG-Y{vjbWZe`(Baq5OW}N%!K3xyCT>Oz6!S9l+IC?TcM~jXLdz>U}D~QkmLs zA&!zx>V2D!=+jv*UQ<~GwnOhx-U%+*J(YD}Ekw3Ci8YT(?4x{N8FQk3j8nZI>EBNx z-qQGAj?H_3m`ky)m;8{m3rFn&Xt;;+2y=CFj9)<8Evp1r(DACoPeG&bZuTBBC-oX-I z^ge{*IL+T;ph4?4KZJ)B&@d36C;GI1xF2}ky%?e&>se>nWAy3!EYKNV?Q`U+ck6s! z$cNx_oW9@X$yW49KSYz>jh8NLqmPR1)`4H|XVp-qShkagUvZ4^ufXRk-rP#uB)PO_ zp52dq1D}rW>=#H6_Jh->!SmT3kK8jbe0hjRXNZl}$1?opIpSjd7LT5Uwg;d|^a+0z z^`(Ir-bdZVx`aEA9>kiQ{2F^CyjQEZlsK9=Y8^C6URtwDfj+?${n5}Tnem>WLtlS< zx8&O$AFcAHymRke-bvS88lx?pS>fybFi(b+tU=rdT|=SkePsF`F{#dikgiLv{h;d$ zWcZLr*C6C4cvZw!)zBx}%AoBWG+axa;%1+x(arVdbs8Ekj9C-^Va&RYc8otkYkg zM+X=)K97d~r!gye@Bbe$t7074SH-Lq#CM8EKO&}*PXCX^ti*l)vY3^)PyPFs#jM1E z|FW2s_)#&d;!MS%TK{t6Ol0Jh`7x{BA^t}(EAIxdjz_#ojCqvURnI9t)jJ-aP&Wd& zF}#wbz0bXMC(oL{Ck%ZVXn zM_Utno&~?V#uQ^ci5(^GB%W<=wIM!LtosmflF9!ormh3Fld}Pxv)B}KXpKuYQ}ZC5 z(^kUTgko3u2bJGRKO7%J?3xAr!Wk26AJ&?>_Qehx9m5X+cQ>|EG?w97s#zEk`z zpHc!W#p%Qv4fiqF1HoR5zwCsK7p^Zutr2 z+OGotykO^WDKto56p!5x4FjM-^v@yR@hRfY^TZh4p+$L<%2Bur+b(`8Zpy^}ynF4x z6OXv(PjE!8)gD<$*s19oIekd)6vXURvK< z2fV}hSNSJ5zUjo7a_)L8`8tj~x_Le@rinb%$3`BxIWh8GW0|+QI_$=f^7~oX0QE_l-bn7+CsqA68AEYwfE=fGtVnt zk#6ezI`LuvG)TVPz^iiQBl>!D$hqg;OyFogUNA)WyU^t7J@aXJr{`8e??>=X>sG13 zXlpC<%10l9&Q9$AMYHFpv)c|LXYoCicz?D>*Wo}EbFdWT;O>`dAE^|&eBIN2pyaWR z7}2Lq_u{GMN8**njcC(3Y%WhbdGxlouEW2&JWXLApFBb6S9|TJtzvv!6O0ZYg!Z-2 zs`2>8E8yvSjKz=Osd)YrxkByPJ5>MFpJ?qBGUk*|G8?*mUTYswy?dCf6AbD9J=a`C-S$TQ)B2U<^{UWgV&kp>w6x(8rP!t ze4tBsx2FU1&;il<5^<}}CKJua;kD%Z0ChU^!>2ileMjl5<~y^X*O!6T7#%%sA_L6{ zB?H%Py7{4^*|lly89S{UTPr*GBBxrJyx55Lz@cMM)@9H?A0chFfg&=zFxQnp%ihgsfQTrT5Z zdwGKGpKYV~^&t0tT&4Mr;N$?i8ajT64omiGCs}E2b{({6o~1e1P3ZT#&?1sYK^IR1Bh8rB-HtM_92^($5-=7aOmvuD3 z7O!U!lj!%m*u-tnGz?u8Z?wm)^={rVWe?+bPVAtuGaUWZ9>4nAo_CydMo~5K?=I-m zTHhhssO}^9r#0oH@J{c_D*qskvuhNS!>@z8jPUw z>a<_3d&yOPMeEp-k@Pgknu@!YNk8b1{J7Ru^jqyVf^!&pBt1O~4cdQsI1mT#+@JO#X?n1M{(7&z7%jVvT9y&I@2GIV0) zGUDPG_Lg2C{^qyyu5S)7*Mn1gPV2z8nYo$dsQimvJj)p=7u+i+L}j~Js}R0CXcG@( z%$RTndA3p1jUrdqeZQMM5^|Y%|A}!O>)_M7;p>5+94DPOp}db4jt<2-Yu%^dyQ^EV z)-cvw#giV4zuQ=A)pXQ`{Cr=>Fgk#{Ue+@`)3Tf=6Z*fwg0fru;NUxRYRF$ zXk9yxIm24!51W`XyvUrP{2k7*Jc2El=Dpw4r*ZDk^)E(MhGyQ7ika@HCjV|`KUN;)HGJ@W?}`(DnwKy8>iEMu)#wpw$CgTQsy&Jx0hfZI3F(rV2dLAext z@nxH^v**dBQ2t~~<_q#&{V8w793z4EhE`LrweNFYPQeUd%a1AFUF$iTKWt%*NAm~8 zA}X%|r`8*E*0a_hJCL)d_gXaH(K@o`E9aTZoTsgPr^*h2LpEAx{GJ8BY))U|hOxlW z`$7J_;Oc!5=0d!WOd(d)+|vR}$|mVNTqrYo602%q8%z2Bj=W6^XSF-sEbXF9(#Lj76#Tjk*r zo-N=}3^S_ z@|0}*fk*zGnBUpEKMXI#Bdvq?2lqJoFF4BY&~w^r(E6wHw;cg6CA`QI z-Sqi0c%gM~>Dv9o!R^>n6zrMx|PlZ|xqJ`Ckw(8j0RKR;4%^nQS^N0N_ZD}5gT-w?o4p>1XXY%0{YeXJiX~ zewSx!$4XcAehc+Eye|YFYw7p(Ja;Yay6`T6c+eMF-2)EEP-l^U4XqW0?)x2M$N|-J zebMiV;ciZ~4d2f&4_BWmGO&-lBjC2_XuU$-v-ou{b#9rvwmyLVN~iSxiFD?d!6a)7 zdGNxicR`d>sxw^4H?p>n7q9)fD&`)C=&#1AepYTjW-N+_&!#PJ7em2x)G}cKEZV(L)oMdMVWueC^7awE~ z#fN3cM?BNKOV@c$*{;Y|WTdvzUD+4yA*#Qc&nPEdIxF5|%dE<0kTq@f{>ELvsDQUB zcgx6QfTw3!e-Qk8Bun0hX{h5Jmv8C2>c&tv(1Fw0nWxT&PR%tn=C|Z*RY^ABu2eXL!>d!zL0e)RA>yi;HQ2*029##$%jt9Le^^2XU8>C+baB%SGq zUD_tO!?!;I_W*L2o@iclSaPTQJ;ts2-w)XzVGQ*}-YOqRx%#C%murB3J98A3cks%! zFT0g{?6<>z<#nsyvL`wdUi&2O_;k;I72jt;quO+Ye(jMw1)b`vvlc>}#QE6lrMbD? zn&+tPw)M){jmBm~(Jz-~&CNvH5ongJ+vU-$xtYI?vW!^3Uqd-V8#ji>CPA}gAo)v1 zf}5wbeRLJcGR1 z8cTaT?)MM$o|W+F4Ap+rt%YvESGnjr2(LxAa?w?uOu1sO{?L>QZE4K4KBIgL{ZYAM zd5vfFM=}3h$V6~7*PJU^Q>He@p!+`2z_XffDz`?zm8ZM{T11oj)Q@@C%0LGv7u}s3 zyL*gVH<`B14b~poT4m5Wq{mv< zlZ-Xj)S33K{4~saUb*tD&(lfZI|pr|UG4JV zg=p4XQ@J|&T?G#{XQtoq(alBghhCR}Up`iIUG41&rq1{EbJ1U83~GPK<(-?0uKBL! zL^_Abos+w{rJDcjWX|B~ZZdi4Nzr}nATUh{PIojf0ShweDAlAV1jl?m4} zXj!veYq^{a0WZ`y?eU36isRRT$InMs|NMPE&4+aF&&gi{kI$zQ(4f6K$w7P)e|0{E z)_(N+GvF(~<`H1)8T6O=W<2|OF-|_Zp1X`Wx#p#1JKTKq#mp;o&IEIKXI`RnCj?75 z>FU=A<~zzs7avA&HrhJoJNkVL{AZwLGPu-UJQ+q?^09`9=4I>laIO-35&SgDf9%cIlwHWj3DX8ob)(|wenG7us zu0V^ha=l)sZv7jktz0kVmMgz&BlDu3oZ;cn=9T>zIGQi%oDZ#K>D<9MXxBL%<@CpW zHlDpjH~;KPa?`aBrn%sTx82+*wfi}113R5_ZRj_!Ri^cVDXcsAdFkq>%0Hn@`qdX$ zPF^~5!=tQ4s2^G{P+t1w^h0^)ewo_8aKyAfVQ$`-mmY6vzbcWrKJp50p6TvaS-)rA z`2lkJv6r9z^4ATyRllBXRJ~gJb;Dfq67K!ErgL^va^pUge;)09I-`lRla$w_xu*8# zl*^>E4Ydx@nz^R-)LJpm)OoZTv!eYGbX(`qMzi;(Gb=RLoKCrPUb*SYQ!i%RWRer6 z@AYZyDNkKzEb6@8*MP6KTjrSd+rZWNUN6pb&)Ja;_>eUNogX=dIi<#`^jPJmfvfcd z%_T=MAJtxxV&h-1mZ80>W6&yEI2+cpRSDr2Wh;4B`RZkiP1Wm6*Uhxoxwty}*3DaY z&rH-ggQw`%Yrxi8iP~O1i+dHS)D#XP4Rb@kD&6TR{gdJk2!eZhODF77DKYK-@M4150Ik*(6+ zREZaZ><7Ni-Q48)5cxmhSdJ}{j}yEr;hkvE*%rbj*#23RdbdM7R_x%eTk$?=LykJ% z`S5bo4?|Nw@VA2=(W=}5t(_(YqS=4i8A*T!jSGEKLi|d?Ml6M<7g-D18g~7e^n&*U z99lNx%SEU1uhpkbUb*Pgy?7yd&SG<8V>S&8;?(d{WyITkHo*d4Z7g-C=uV++FM^v zW)I>m=l6cK1NU@j^yKOA2>o)-?$x=G;(^A6@Sic0!+jh+aCYw#ywl>vV5)yywi{cK z3oU+rh0YUInS7CASkb3==^#83JjF|iz|)zFl7-s2wl>+x!`B&_WsDu2!+0g|^^E2c z@|jy08<)`!^|uV3X#G+9Q#wnr4f;|B9m1t`U_B?Fp`2iiFSU^lDVJF}!TP<$p~cM! zhEDu8XE#wsAHqTKxVn~TO`^~H;E(#%UA7q?q}-@W1qaxYh5VgjhvS}}$}Wp$tqIC+ z=g=3er|yRCX}}ik%0=)CPH=4aMf`)#J#zX-d&L>@88Px5xQqDZ_k4^@dCez5B73`ndeLej?U%LnyAhN+HJIk1~A5Lm*g ze*UwZ;5@a*PwAZCDYRGYsQij<_*42o9(7}Wg?zitHq}{UL1H;~4O?eu#yR?={0jN* z7l`MT&!c`Qher7oA5*9EHYFRCNhZpn))|`eyTThs`9C^Ca|1D}MI5*=-}P0-BaOal zLb_2k{^3Sn^_v?TeN}6NbS;pjdV`Jj*Rg%5(2#P3|ekl)Fc3ZwG zk9P8}vZu-~Xo;`dOaHYls&Sxl*$}OZE@ho;9eSd5QRM;4MswyFd35f0F2;vx4PEa! z#XyIDexcT9s{%&&FuJJRW9_ML#)rv{Z=&u#;7U*Bzcv#a%V#McSZhA=CCUemCdWbJ z>oe}vRzB|({SiLp1%E_8-0_#-#O|Z1*LyGOLm75V&*&`TMBpo*RbyM_2PoHj8vec7 z72?-oXg3GHCYz&n%Gpv3uQ}6a(0hdWiq13s2s$74#$-G2xwJ)xldxktM_Tq({oG8Q z_$YckAK=i|fq9IJI~x1j+Oe~WF|>{$yR7x>#n7wY=jeMOxa8XfOa5vdI9Mkp&(=N5 zUcNwe+wfPyCD^`i)Hev^zhsZ3yRv6`w?#CUp&!Z<)NlDvy^}Bl8bqsNR?UI>5}Qwg z7Oiu&gJ+|mMeWJS4eR}S-ojjU82DwskI>IP;J;sdh6ed7;b#qnb8}s}Y5h>|t_YX>m1xj6 zLxl5fk57W_`%LMNAGT=bQUpi?{&e(^~2mp;%a{%ZYmKQ!J6 zjpDoN)b~yJE9HzzH+43XV9$n5(XU(!$?Op2iUCBsOZOh9+?Vg)%ho+RL3AH%;G1~l zu31Zux`T6<$3LChAlQ=aXmGE?4l2&d1i$E7O1S_u?qjZ_ z-+KS24>)!~k9Z5M;Uw8OBZ2e%-)!*pd+75%{IU9__hK~nuE1Xo7aaN^A1Gg_IKlVz z?w(wfG`D(# zy9^(xa`T``H?*-29z;kDgG znc&ISD=*T*H*0-Jxb#lEeEnaj)4AUA^(s^QjrebU2S@RN@G1t_%iO;l`=C6^@|mX1 zJLIdhhyCIX-ua*8T_+^_p{eTVv;mo$8HSKo=& z_oDTk-)D?qLFwv6ofgIX{r7htQH(w6Caz{cG|`oN>Jley`35)ZD@u*V6YF18uC;cVybq$=Tp|Olv2WjZU_<){o6}zRRog@MViW<;>FC76gb*6DsY6 z^|QeHSH@^r=S-XLg;?t@7JT=-41H5a@V8CQv`fMNDfQd0%Cwh*U;a_^3i*|n3N!5& z@Vn*XGVL?aA$!BRcDS6rm!AsS%e}f(_FASg*Z&1L%i%%!$)Nq|eCRr%>u)0EM}zh> z>}B}}y6%jW|2}9xM*H$3y8bTm!dF4|*Ms&8&{7VJ7tizibIRW451Py02--UHzI>0a zuSd#vQl9<4d3*opDywVncV|DykA&X>3E+4wU`2i?QmaUL?}6-%Qo%}vYAn3>MU0h7 zRH_J3gG9lW>c(;`Xw=6$$PYq7p8O^|d+&rhP^nTy!Inz2^c|?Qhf_Ii&N)=$BfXdV z`L6XmA@H6t&iltZ?jL*Xz32Kh=Uj8mwbop7%{AZu623&#j_}#5lh=W%ZE6L_&M zJ7Vr_8Js#P108E=>;OYrS?gZB8`;gmEMH%6~ zQ{TkHc7+pkm+AW*_u>8#|Fkot?t9oY)JK`?gby)x&c@9-(xXEo_yiC4+9u66@s#q2 zZPnCc)AS}z)2X|B@q9_sO{bJU&@pAPY?=;`qLBe;&L{+VQyGvOn&dv@V+_x$I3p3NFkuCjH1o zWe>#-{)&g(bTDq#!=}yyapFvkN<20u(wi=s-^#qu(y6pz3Eg39DV*<*WF6L=q8^hD zkM_p>>o+3r;Kv%7*iB&@{PyDh%#ClHPpj#ZRz2JTwlx*`I5#nUsx$J?uY9R*)UdaazM~MNTxw%ch}mBsh}+jE$oWCLt*{+RFCFb z-Lam@+NB9Ro=2zmtxNSt?iDY2M|5za9^NXRpK$&qxW5FxqOXCqRX1y>t>D|ty09MI z)xg+mV!Smo-kK#ptP$S_x8eAt)icJM8M~sZnL0JDpD$&s9j6@sw=z!+$A__=aow!( zOMA_x9op8|<^OQ*FK*>5TVG5b+7+J7TO4RQ=+>_RHW^yLUwCX~ZaxeRAK>Frk3M*y z^c}ZxGxe4@exveHzJ9qa(+y4Hb5kiakTx8j!^2NPLjvBhCL4^dYFz+;->GlTn`C-c zo}rw@rfJ8((PJUJ5xw>A8>7ZY%cP;NdehKTKcJ5!(``%PtLj8gDZP!lRBt1??xj-4 zLa*+?XHsL=q@nwI)6jW$A)iW1pG7XEL(z3%TVWade~hO!y~%@avoIUK zP%(1UZ^Bz;9=bB(H=^^DH_*BG!NF&AA9^~`R2ug`fR8POasMBoseZfF+meI&ZR$(= zzRz&!vP9hfE566lGe#~b$2&}B|6fo3hAnabkq=|f49(;>eO(my{{l`; zE2Q($PbFa*zl+h!rRWICnzXfj($;`~2wxS#t&VOiuyxrsa=feIOUo?eU-d6XmQ36B z9W&|j=C$+9{4abSm>Tg16VqC_YmRF`2ETF!*J=Dne%6#Sr=wpqR(F)5Q_iuTU{5)n zv8Z**)r|S3ql`Ipiq;{G$N3ba?^6zMj5~fSI-pIuqV!j;^vsftql{kCJTKk57&&ji z7TVN_ULbu3eyh?+(lgSN-Pl8$&|zCyb4$lJ0B?1vS7U`Uq9(qV;Gf)9=8$)Q`)Fyz zt=|qV=(Yz+Uw5wt|0Z-yD>`fj{jvla+R#xy0H1nvQ9}vs7E6Egemc6N4ZZTqQuOZ} z@GB7xlr111xQUj(>8;d7{3p(-XlMoAuz>&2vSj1$+&1ACrwsph;D;%E+vZZQa3{X0 z!Fvw*`7d6y&T^0!-c+CF(D&fb6Xp9YxAjaEJo>w>-THppZ9N^eyoBC=$7i$kl>NU0 zAI}F%c_aQh>YU;D--iCHp}TD||0g-*#g}s~IFy3d$*Av%4sa^xdkKEJttWs9XZ{y~ zpLd*k!QG>sB53rwNH@PpJIZhHZjF;xn&Wy$?Ej+DL#}ry>Q4g?@1VX9y551PzX<%j zZTf!O^%CTrG~Z9C+?Mb+!1_D_S0R~r5XUcztFZp8J9qkcKRg?ogxrU!ne{k7yV zzk#jcH@Hnx{YBw#;H&seyNd+BF8mFA2ES?7;4>}!4SX`cO}n|SH!1wx<$9O%oAyn+ ze*+)JZ|XPgp1>Ategi+wZ|XPgc7?xzALZ?(QrbMCZ`$LGH^JQN zogxqIn)(k4*3VU}E(@dF0l^Nq-rS&V@sYh~0-fc>Lm2tkqbAVjo*U)+64%4NkzkJU zcIy9I!1ezP*K-_$pTT>JU|Fs=AcRp5_R*r!%jhe8|ABtW0ypr+2CTi7e7rqu7}G=p z`(q0OreDAs}A}t*%QzTfn>zx5cKkDA3_UVh5XDsQvC;)OC5NETrbvt@W|DF{HdT#6jzV7%+iv9wJSy#p*w zp7JdZ;W@6C6TX zC|VaYR^fRabk;46`cvU`9c#Qg=&bYfe-LjP^J$9uQ^e!TNn7jqd-n5z);&26@PY20 z1N>)<)k16SFo$@5@3?#7S^gfzMJ>FjLw={A;|D^+p3_0z6ORAg(&KLJEbh9H=UKJ0 zAj`jnb>egA`~lEcx1HE3l&v}G_>+;jT4bQ+I^NEvt%a;R>$)BPIh~`iPpvD<;`du_ z%_(p^$-70!W}QR(;R3; z1K|3$tNh8FftfEDbICJ~|Dx=yv!ZQ&uG3wx^!RwD9eYiC&UZ5}vL9i8zA$+%>L0^CvOX5gjAlHx zgRktLY4DI;`7zE@WQ#~Hjr(cvO+%yJA5T+H`fS{nFL0VN%G-X{G5_1ilkO3W_}$K! zx_0u(26qf!_tQ>ZUHXh|L+@s!yW_s>Xz<3Xqg}ythQ?dc-k#GoEqN;L-;cjX`efXf zZ_2U2r{^ks^7l|Cc|vUs@)l6fK+4x0kNbj~I=bS%>_hTJQN4AnHx2x#g{N67>J6Jc zN1z4$q&)9XSNs0+wkY&Z=>(-a)`zA7PjR}+-hX88kyRS z{O;!a63SL1|8F51)yU(okPW5pLSA<9-JiNtPB!`i9Y6>0co~ zA0abUjDzRc2fc)?$bp`!gzS`A?i>7<4RSYY&k5gt`qf?Z`>9BlSJ4Tt(CPMkac{<#hStzI$1-WopHZH zeY#fVsH-aO%QiZJdiSsce)pdrRE6c58mKX6}WT_JNo5fft{L+q|Q_E0Gu3A!Xa003Rf4E58-N?rrb0d##d!M=Lc2Jd|x)}%1G4Mw7G9;cp1Y+y%JiFMWMUU%6d#ZSP}QH5HFWYcEh~D z3*!Fn#kP-X#w!ijqOe?lPyF3|c>rHv;nlfu-_#kW4=%N3O}V*oU+-eo4hz!f^huj# zd0@(2*9ShM4}4l5_+$&u2lvWJ)c5U8&=fT`?g{YfGk8>!BfLV`CEh0Nxo`4cX9eP; z?qhMLl8C8)2Y{;+_gCH!@x@QU#82JduQ(U;bvCf;T-;Y57#z>W{HhZ%BfHh$pgxXq z?)S8@8N;KqwjXa1Z+qf?WzYG%Z;*FNR@AFJ6Ek>M(?^xvHr>Ea_ko}413ww_z2i15 zor?MD+v@#cx?|#pd0nJ)4${6igy(qP(U_mCiJ5o&ydyTfuBuP^p_pH@Ge|#Z)77t2 zxSQr32;kc+ys9%SXU{XLoBHO@^A4b&)P9wBVLrj^dBbRP&M^s}hWVVoRk|@>V_m); zD>;8qKUS4dRy^4rrcvK%+sF5RC*n^et>TOwr_YGL-BvEtFB*gLzoUqT6p{75I)+=XRg_^$iizEgm9aGcRXlkPRzu7(;dt##@4<65V2!# zZp;tP_mFS=e35hYY5T00Um@C0hO%t?to=AV6yHu*xi#_+|Gewe7sS=ci5Wc>L$|bd z#aUCteD(Dn$EMew%Ma3_cSayH(`=d@8^9+A@JScJFAw13FM{U=@Jla(53_LLW$Pa8 z#o^WY|M7}yYmf?V#uE6hw@VvUUfR(zb6*qy|I3Y&y23n zz0YVOeH8sg-zQJz`<&Bx-idr8yAv4qm6}hEpp%fz^dT#o6Y$}SvUW)xwD8@jd?OQr zCl8=+_U8L4S6-EG%1L%7NM4T9zT~v)BKXk&e&izfp#XmHBKUy-zW*Y4X8_;X7vA6K z$K6d9w#y4~wQ$i@S!4O7vAOc*h#!R)k}IX{D$6%|Q}s(OGy_$7Dg;yi*35}p5|R| zk=mRoOl?r`67~{igN=7tH3Po*DW6l^eUjJo7)wEwJyx@!4 z_$hL#GV`HH>9K$&(Y*_tS$~*$?A|32Gp>J1zD>#lU6K{8B_<#zszWquJc(}cME)(J zS#-Vi;`gmj$$0 znnU=mfac18X5p@SZt6=HIEyavwU@3tZGVb((IuMhqfdSczA7);EKSEvntUZh(_2rD zHT1ms&T6#Wv^7jV5oAIK&)d4+~PyV5|9>H&B z|7-iB%e8Cb{w6i3IP3^QYXK z3vvF8dv1Mkt_X0h3~<)k(BfwMAcowj?cMN8aJBo>pg-^X@51e4u%c{3hf>@EG!;J`LeNrHyB}E3dS|dm{b| z#8#0kYW!{H4#Nc5-Xl@sY-fSP5wkbbSQdU&;4qUlbtO2+UthXOaK$tbT=5K4m*n^v z>d4{@Wz)uC?zPlacwfZdM!W&($KmAtlrw~F5hqcJ|4+B}c=-N=X&QGiVhRYZcmm>s z%Dll@1?#=UChXFGCG97xBbpOuHt!{rdEk+V|I6seS07m)@gKqGrDAeEekJ&@L?WXmJ+tDgNWaMKg=Lo{ zKXW2epE`H$`cmv0`>|=1WBa%po5q=?`Fp-t9^2DX7~kU;&EIo&?M-|BpOUw0@rili zb!Ub3T^VkDSN8m$_^$A~ukXq(U`c#a_T=EZ@}~1b-J<#ar`S=-uZ#HQ!{+-1*rY14 zXSHD?b2enV6-ANEXYix~o7W|rDT`+X@crlHk-qjWMQEwn_kN5mO?BzKcOvz*p#N85YZD)9DSvN-@lJZ2c5b3x$x-9w zp^mrn*(UmaGkQhq$|mNBXV4ppi6psL_2g(*bNhU7TlwUNChn2^##HAP+TH~GXS639 zk?sy@o|kV*K4Yko^h#_8nlCEJQ;Cg)SWJm1xKv^ziGoihc8iI$U5PDYBJEaUFNtBZ zt;9YO!){rL{bSRUqufgDADf>1om+{Wq!OGev5{1QPbD^$H`NYyjyKf?_LNHW^Odx5 z1NF!738}>Xai#D9E?>cX+LLce3_p=dY$;K-k9{Oc`}2iEr*Hv>l;i&x-xclECxVOC z1eJRo-aZ`VZsM#$I2`|2ku&UKiUxPTDM5X@4*j6a>HC;@b2Nh%?<3c6!$G3{|woC;`mhbL~Xnj*;2F~ zy9D_;g{>xv+-R-$7QW|K!aMcH9~py_&~;;g%XU-oTv%&JreUfF^$TK#y#d zwT#nC(DA>fPb(O!S?GT0fE44kg0Wi7IDJEM!Z@v9Tz*RX6^y;=wY0~lVutD-MBV5r z^kg+-rG%@l@5-z!jJ@q)m$HsSdH3|=Y5V#Q|1?_!>=E~UN_{!gYpJ~}r@ZJ|ECC-63J z^@iV3AMX=0M^zM4UyA%|N$=#FJcbs&bLpqr>r`g6Td|6Zhc*CF09oPKjZvabw0znyWl1EW*(*}$ zJHe~bsTLmfPNIh@(R+f|qUS=m>=l(pUprn39cSSKJ)^JDZJJjz=rs$^^|XITqt~!$ z;&&Xv$9h@VCouVD@W=c=M0t<RG+5YNyo1)q3j9A?>vqULGNj8QgzVrcTvagRiyEG2EEjYp4!Jp zdZv=kE_Bu|+JBq(33^yhpJng%clJ{g@Oz69$LJYi&F)6mq!_!M=)HX&_192;74=ij z;0)g4-M&7!?{aP1g~YFY8~xRTuSQAfDEGC}-%+>p_XMM<+1xK82rxXfwEgTY4vTKuZZe6rC>Rfz{wY^(tej1RshN_;zxZ zESWU)@IS>_a}TnpI?~%nqaVKF-HcS6y5>@U&?lm=hy7!o_>-{tQk+|-Im4E$2+tDe z>)aCHxPZE^BTcxHo=5xX8T=QX;I8&l((Pz>plMYU4Xfo-ONEeR$H|dv?4t}E1 zq>m?^|5~${^jy(0jQ7xwxTzz&QE-U3Fv1@kO#Xww_%EDH{sW{7cW^N2`$^}&a5U+i zqzfPLGwCVPg-?htJ|za95MO*K3_c;g_*fYF)&7QD@cPJ2;fJAj=?z|Cy9L06SJ*E8 zA*Nk$G3_o6+U38&Yf;c{h!?&Nrri)P{3S$l8Dk}NDZgpAtaJ$H*b&AF|7oYJ^gUPa zv8c_jHXz$Q5pe8sUoIW&rg&RDT^is3UU|q<8FNOuoARe9FCGBz+4vFpb67i)|1|l* zPk7k;uX7Gg{uT5QaPi6JkGQFmZViVI~es}#t*QVF_Y>f{ZQ0@OnPH~ zgnWnH$4Yqjx=L2b-BeqE&O*<2lzjRzDv2}+pK(}kU84kVremSmRUL< zL${~4ldqdJXbJHyE*%a1S^g|!D7}q3y$E=`>&`;1(yNfaCjHOm|6w;>#Qz-l0d1;7 zeKU)(lp02z^o8Dtzma>VUD72b5$dE5){<77MIFPT^#kgp4c>vj5&fJ#kp&NEXNCU5 z?*e#7Kh8pbr|?6$QFIn44c_jzW221mm|6}UO5?5f8(G_>Cpml%0+$>&J=yB%)N*j8 zu8)+jRJbr6SAq9Z{iaV2kj^;z2w6!Vr9RRMgm;nf3(9o?=XU|JoLUp%`vX_`QwQ{W zxSKji`gK|SM(>d?HA%lmxT(qd{w;YK^9lW?|7O95ZTd}r_2_$)n>wp+`ejX&Z~9@a zzTagm>pR;`9R)}F^CQ|#yOamNk7zf&liv#>z<&d;KXlUr$aft+7iycnN#{iQ{afhP zH*=$C->l!i!#9Jxb5(W}W#6R__`eyRsZZg-SKwTx{BiiOR{6jSczPCj=<_o1qB!E` zJqaJ6IXy>tvfcC+hqCY6vMK63Wcm1&WS|q-SGgm|HngOsW$_LFX6PIF->z?PFVpvL z(Ho4_bNUV6#xvJBQR*H{-Qa&Y|BLmXH$Ca|bcx!{Ax>AWmo8=9xAKg3+q9li>ub64_T^j3*H9kkG zL*>6>O+8ulf3=L3R z>*18|XYlsPw@SKz_LaA$2>&qJFzvJdJVigMKE*2g*x^YU&ZTeKOOg1Aw#NHHm&wk@Df^0+DS{3fuHCDKYkuA9*g&5*kfj6_fffG z{D$O{mFHxexJ0v^?8IthvhFzVlObmWgW-Fy@!?yIOx2xs{A~8%BiReLp25EuS!#vn zBiUDvU{Bq0+#!bIaNZOBz-=BDHTNy*dhl63!5s=@y7^qh*S(h2$mAo)-*ECa*YK_; zeb59?n^qBrXO-^003+Wp?A}dtfx**8c+}X%eMsc5>8Q;&6uWoh34HM3OXGs5NmJXy zu#XSbeM-@S{I$|QEti5%73Jno$8qj!EQliDKFb*E(dk^2@#~Scyg!ZPz z5nsMyO@&8cV zAA+yB{Noz7L~Ndep}!gF2jbjsd(Wnybo^=5A^cRw6z&)3-iY2`t51bx_`NsokHO|3 z8@fqjPiga$=Hcgtt*AGxrcYXxaCzUPHEfO$i-`O?ZMyCmOwoTgjy+@4`SN9b%5RVR zqp)A}*3G`Kx7~!jGhyo7Y~eQ$BS5}}MfiT{p4Tz%3OoK8w7w=5Skozin!$kkfIloyb86J;+CT(rSk21p9`$FFJ z8w8*9f6uVEZ(;n-vA7xdfIe_1&VDIo_>n#ngLmXT7c=F&9%$A7voXK*j4j{MW%D#2 zvU$SxnhpkKyDdC(AZE*+#>Z#BtzUOEP5q~Ao|ev-e+%{3os6-+B0u9Q-K2W54K354 zZy_?*+O2Z*+X-8)NWYKU{Nk}_EXsn%1#$ltcx!Mz8Z&oViiH1>m|ui{)ZobAg!)Wv z%9m8{cz%wIJe8Hho#||^{$$+5f}TQO$e%PDm~_JwK=bpX){Fi&T|(L7#bHIeyo~*biEI8cx`H>oDT}cN2>86# z=4oGZVcBF+P&Q%VZL5N^TVj4=p)H$=2YE`vvfLp$&RCfn^IMF3jR@!(?2V9LN3rsw z4_1WviSrD+W2uE(o{aT=1MieiaxLFd#VxxZ|0}_Yka6i1^bEfTCFJ)d9nw}1BcAtQ zd_iL7ez)FH4`p3zhP z5qw$zpL`K~QUJgFBKY_Ko_is@<5CN6&k5n+Jq$m?0Wtsk;4Z(gt;k)bCqKZSSUU2N zI+t(Yt!F|wZ`DeFp0)6n?(^_#Sz~yoExhA+exN@_dV2SEb&Pv|)L(Zh-{|iK_`MY# z5wkDRdNSXPu{y>~%ZYp=>(Z6qpxmA=(%@I>NWPKnt?>I3);sA#7OuWEWA|vj{|&~F z@>*EH*Ml}+`aoDdfbS3BofpAV0etU8@TLInoribS&RiI%);BZUkGpBV&P4jL%5Z@-Jh40DD_gCWs)_}g1U%qKC zD?8CR3|?c;Zy5j{=;nqT%i{_7rF58F=bU2p`~O zBPZz|3$Hm5!t=b(sXyHv_Excw+2+#9A5l_l2JhlBI_%;i#FFg-W zC+7L7l6htVq72}NVd|8z#ExOEtuy& z#GQKe!9v#Xx>Kz)JoSf#<#~Tq{YP1-529^rkhhq$TS(Kmt6_f?Ar@blru)qIbIMWku{c8k))t3GLh7eVj+;ssD9{Gy6%2Y1?LA$8gX+;6YYYF7SXM^ zEGk#W{j)Ib7HG)^R*w9CF;F?fV>8z?*OB)f-avQ?8v3R^&)5>p&r%Ri!0@G7p$BL|w>?WJ>#Fi~EqoR$?otY|(uY|L4S2kiKCb;Y|aF2xpt$ zWnDE8en>{9fQxVpacN&OFOwjSj_$ZUOB|iP_$&fX!RLXe)dKR(-3$#psPxJq#t@tOVx=X%0Z{tBw|yWk-B zJaCYlhwvYB2VL+VaR*)b|C#*doS!4Fi7nine~Yvq;|KT*_vh_7_Wq9Pn~g7Uk!W{qmieU zDF1)vmzbojXqNR${FHm0o0dj)v|(>J4;xjd*jgKaSLSfy89AjBMbfAAKAbU)!PHE6XCi1nsp!RZT?@v7?e-I#H{`c zBaB1I!UWO_8BdW&fBe2JJ@-P-N__V2#ve~{*TvI$Uz|%;+}1C7FZ5OY?OfZp$@^%K zw(H!v+z!z&Af#bj-PPcl5e>btv4)1p0S&t+6O#blUk7hLgob?XNVlL9!ulE>@ujhIdz`7!K5=SaSq;K5bom5hC#u`Iud%31UMTd|`O!_BK2Ki|Iz zd#d#2U~E(Jp(*F=UGa)*k--XlIKN5#(iMs!@-lo-9<4{@H(JXX_f~LI`9|!|H*oJ- z^Q=d@bjz&^VwtPCn=L=PkFdjO?!N}u4YdCt`jHqd3#ZAqiM59A4r|_62XDWkecJGT z0*_DAzVw6c`QAbM%F`1aOsta}Z$129MEgote3XC0{;%|ZAzivjcUBXe5y<|mI9wlO zJ+(yXKcQcgel51+Y1ocs*H-!$;HC73=uf4e1~;2F+Tw;T6ub!irD|dR}MHSeJeC8op{uVJHTx?cas-^kNBb3TuOTpyRYC0Y`@||2>$}y1V0Uag1;2x ze}Jn(!LS;K1P3$>^CT0ddVu<&ey!&LBY2Yx*`4=4ZU z+!0qDDR5S7(^ha6zhwU#4zFYz9)nL^D{;P7;~O^!A41_q{Bbjvf-|zfn|$2w9t{qn zOK+Xrk6vu0Ud19?hkjJw>5jPCnj-vY>s#Qax3_dRTn2m&81k59%b^n#tNobJ(@4i^Plh;3a;y z&|V>NJ1c2Rbt=y4aPEFfM=gO*_n>RMse~=C+9~;Bos4Ey11M=m39wl z(sTD*6Y;-+ZmU378~=0kbOc@XqsWNF+l)cpFL?F7D7qQD{*SOdUlJu&<)nVedoJsj z-1T4jC1;H5mwbos?92NlbC@@$U)3-9AiwV(I?sPf-`Vs0*I$gZJsRk5>4N`ke(IEN z9~kQP@pbLDM|N~bxA(%v8QtCtyd52`IZA$)DRlcA=qR+iU< zZvP|q^hNVE@Zr1UlTTzb`djOcI&{0{0r{7`7_5IDLU;c2#xbr#{$1$tPd6SjcQtB> zWuW!N9`yYe=+pwZh=>GCJYhvb_3Uu%3Cy$v}v3Z<_-bTC99kmP0e$A7g>7rn6 zQT#)t5pT=r?HuBBzbIXgp4K`!0e_?yiEot{P5a9G7`k6`Kn^%4kJA4w(BFbfciX+A zwe8*xeu6IoC&6F9MtgmLli>M28 zb~tMY#66#4YrS!U-SF*;H7&6}yl$Y6ZVhz0&hKsybh_$zg*i+3tRv4>=B*rbcLV1c zH$sQnYhhlT4lTm90r^~qJ{NpC@Q2aq7Czd$5js?lkq2lA^Gh#leiF|$KiM@#UT~H; zIFZNQIi)?w9FWWXIi=5J-W(0S((UvcvXRT2YUcpuy(?IsyeJvaI)HpCGoATV?P^Y) z#+)j+@O+GOYr#F>dLLA9WX{Y1H$snSpBbzJ1kVJtNPgO(Mf}|gPrib;ns;-VGp=VY zdLWoHl&<%w#(TITuhfS{uX~su%bD*gm}93SPf=vtW6rt)IdYKiP25##V9z%hd6Mt> zt*l?<_fpHedk?ax_~Zvjzn8Mw2cBY1Rp0TJ)WV7M4Rem>kA^myUQHu1sOJaS~#(De1w z$dTHN(}v{eQ?=V?4Q`Uoy$#WJ$y+hFS&L9ep@hB zdtp{y{snkD{cP65$cti2H6k;ISkFAg`bK{6Z?Q&un*Ta;lwIf7tkbkk&0&1Wwybrj z&Hx5Vrs#j!m^EGovqpHIc~!Q^+8M;;Brbb3a`_JPtN188^CQgf((Qi%hpEhaMaYco ztkSDGFV-4M=`+!tI=^~9I%MHU>X+?P=lwII*$K@x3-J%TmU-d>gky`6ToX40Iq8oAN=gVLEVO*(TG z^P=8#ALI=S+SQ&_drj4;{ofkoM(riZBbfG@!slAr7km$Jvo{70&3!H4AXzc=fxqU) zk@&jlJ&^m6Gx@fOKiZdSZL4{4gqatK&l}8(+LvAf4ysr0k6a55niqMGFW47qZsvVA za1cFud&|y?!+Yn&hmg_#?eik?{2$GWO?}3R@VSRM(~J{j|397=hhMnYoXEU*C3m7e zJeT~W(Me9Mb&`Kagu-j-MQrFyPf3pHYa(=bCNgne+Xkm_D{)1#s3?Om;UF+ z%a!4H>4n+x@(tiU;do)Jv@kyQFkX%!lM~p#=|0alwZCKErgz5P#73xnq+*ra$#{`{ zx{|T56}i@)xr*_ky_Ix;Z2ebZbJBXV{JQ!6k2IbbFH^BUNmp&n8ps=w{q1;~#okTh zi81>*?MU7gcXtWeo6`J_JixhiX0fJi7Ax$mx2<+b_|TT1zQ? z5%PFAD|g{vz+)t9Lyafdzf|UXq_0Otp9^ewi%4G$4_60crUBc?NZM8V*m+pTa<0Uf z$)T{x8|E&=vo&Ub)DIH5I*bO~n6G(YfU7KX;O`XV5Er z&v@2JPWeYCnGHO_@Avs^U4721pI_&9|L2_K&_KsX#=n2|T&~WKqB&N_Ji00R!jSI~ zZ-W074(sILt(1Yls^;(?`-{$XDj4Uj=$BpmuIBfZ^!ZBk`c1@~d;|Tl8`!<{w`@t$ z-#RO)ChvE#TeYBfZqeBv^K%7$+PXVm5$C*tb3mP==}b^(3C+3WBVOcg)@*8HJ~1N0 zbk*6ofb&M$(|UUs=~}O;?7_%@#BSQUf>@Zf_&_Uf6Z+~ZWL{@F^^1h>+h#5B4C_U$ z5C6m(`Mc~vYpAOM-E~v24^{e=;2?bT7L1ASNLx36O9$gc@rJawRLtek;PNN#b+(hP z_!Z9(%d2+je18nKwms-$<=b6=jc*#USIJji)IX!Kt$WwI@JHXZe7>Iq?>XS{Uupj% ze5gOvy?X2bY1+D;_@Ii*dOa~PllYI12CpQ(@1wybiT`(!cE6xZ5d=?e7oWPdK~#5F1XCyA~f}ze#fU;(Eqo@`%3CtA|uC?H$xN?HzEaoA&nWoAx?w z8%foh3V+kyUfaeUf;WY~fqRMzOM5l?roAe)OM5%@O?$4|$s&%dzTa?@+tm*3Z__vJ zC#Xy9Z_zjHZ+84UoUw^yG&hmL&p8Q?6oVp#|FQ0C6f-}Fx5uL6J=p_a z>wr&IN5WV9YBvyF45Fm-SqFqXMh@$h`ge&UR)6F%+e(d1Fup+9F+MseY6d;C7s2Y#>*`~Wnm z|GA%$-XFsG-D&Toq@g{Tiu-3n-1dSSy1OSj-r%M;&eKgHZj|$=L->hiWTU;t;wb#| zu3>vs+#mO3p0Sy5H^Xb+Y1=euE^Ts;NV06w%KD^jxA!`@L*r$(h48UnCK31N;H#F| zLOT5+dc~v6W(z+KOyea<-;9B0>(Ke@sG}!3HX)jl_>PMfoy{ymhQ5N{JCUKk2Wi6P zRb)x`OkP2j)YmGbdnmuh<|iBTaqN8|ykwU9>euX#@*HqMH-~WH)nVci=X&kPTnJbF zPau1$e?79-7p}8O@huO$%ADMU?)tn&n=jMea&XzlI8_YZeegL=o1Ki`G-L8CYi03% zEOc}-UQ1|i88p1M;W9Ua&icd|U+1&79#0)FbFZia{g7ddKLLIjaNfsw{cp6BVN7>0 zhR0I&Rcv^Qx7*2>y^Ho;&VKeWZue17hVh(c>}F`UgR$GmnBB)%%`irV$G#QwsXNQ< zV4S{In&);1Uts$ffBP6OdBjT7xJfe(@1mWK4g6<}E~AZ(wT}NC@J|=+o_Ng<29_U;ny54h3L}wBIS2_M{_%w&Mmf;uCxt#PW@Q4e~%iO;+ zS4lqhEp^QODAE2AGS$wv-c0#|c8_s4y?u^D?3bw9UckLE_#qu7{rMVqJNM0Xe97N2 z?5cl{UY6)U=jdLaeU(OrrFYAjO7LkIlkZ@FkLiyuphbACXZ>Q=h0ucDl78!v{zGpu9*ll@mH9$CrsJIB|Cavx+Tj=rE(B(QDF4CD645J#+_o zq_4ErZI^CS8f!Jxu_T&nbW>^#@3|mHt>`)NK(u^Idanq*2aocckp@5MIoX}}m57JX zRBG{RC;u-MqogqIj|84Bj{9o2W3BXNo_CjiFVP1mRp;Sl zs%udIUmn8qj7+5$1n{LH+|GNd!`3^_Q~8d#&9`r^<%jSn0FU*oKTUgc!g*zEVhMC* zqGJ+YNtVyWecdONZ0TM13Um`=At8$_Ddd5c{v<6-DcqX!`Pcc zxZ0QnA8vGXR{35pTr?z=LP?eIWnBQ5YCY*+Q^v8mDv6IX96FSC2lu^Xzj>InGU&kuX6W1uJvwuij`@H)j%s5z@pwMs9;E7G zf9;LHhA5gQnZ7<`;Ibd7FJ?mLW7K^;bSl5#!u#K_Mdm`!NoV=o((QQ+XE4|XV-fj>48x8&0=w7|V_#4#m>0lTHZY~fu<@wh%D`LwHi5iH zut5t)#jE)c+q2roCd!%OKqEH=to3K|Mudgud7lMmkY7MUH)jeK9yNBhO6Y09&ejAy zec@5)844}JTQ)!OTJeJv$56a>z)^7whk%#taJJC%cW( zk6=fbL?3fD;r#|%g6yLQuxDNatQ$WG*~kBipM>CRphtGQDsVUNMS-{ACn-AuoRu~h zoQ0p#g#+?o&Twa7A07%0_1IQ(g7#(ikcZv9SVNg;3hoOo@`J>)Fs;p`N3llwxDcp5bcN$ zx`QFRMFn^~j~!?N{-VM|{%Nv{%f7S+JXH4tY+d!>@jkT54_L54;4u&!)ZTQ`RYv~I zim44B64})GbNXcf_35lvZ#}4f#Y?KgrdpFVn0INhnXw-Z)5X_p+U!qTs#ocvLuKW2 z2wl{B3BHMMxvJ}*NY~!?ZG4s$=k}-gk`AD5#Y@teRzK=4XZ{wwI^)oucL01++*XyZ zrVX{dD$02Pe5he>e+l(}K0lVxp11}ZfbyK;zuLU#I}v|D)_{e&16zU3|0g%dr<60S zf8btj3|sik5&y>vBmRB2MSR7wU3sVV<6L!fG*e!5bEYB^X&Xo^%%^{5V_{}RoeN@N z4!{PXy#H`Ius;m8_J_ZI7uy5B``RA<46GB}8lm&U>V|E){b&OmAh5Qe8FJ0OIh}yc5e@rS~6yg}>7}<{hQ)I!jz0+TTH(zCv)*`5ijN z)W0LzFQGm54s=raEQd2FJ8vjm{q+g_O|tHNg&1Pxh5a+FtdX@|xr6i=?Z3oF>mU=O zlD5Ci8bNU?U*`8`&?jF`#j9*(K56Z7{Li3Ix>m6(C$c~IC3A@4SKbJ&6WLd^u};@K zsaTfFoCs%+%(v9hc7`>+@*Z{k9pG~h^U))eFJOPu)=g}pBdo8PuQpM>_Ht|;%vse- z@ms%KYr%QJCeS28d2QLId(XK7b{ zbBd3tIY4{*82r$lS+O#c-FAN&g(o|JS9UtAM~JBoFBCUZ_mL~%iQ;9>c1CeVcGzt@ zZP#UrnaO?R#Aoz{Vr4FgjzV9i^He2c_1n}TyTM1yPvVpK(0~$-njQLoBu;Dy;$4L4hitk@J81c9${pwf z-*4fv<+gU(_1q4vsZ(+PQS1fm$rF;V-vVpjYu^Mkbu>{&bX20vV~<07;hsTswAEm1 zfVbjzkN#KL_DtH&xakK2cl*H0Ec|cePi+t3tX;Q(6LV}TK{_&}em85(Ef)R?ur_2z zGOGF?!A>xWeT{5D--2gauWM~AI>eVW{j0TnTQJU)COj42 z9>#SV95Ue0dXRC;*!y?pkX+h6hHf?X1IF1$%<~^J$Lr0*6yry}F)8wOAm<&l-P%Mw zHF{TYD6x)y<7)5S&Ukp7y4O>8YAyNJIQT{laDUGn-O5-{9GFLlrIg26NT!7R#g6|m z^Y}}&r8sUKD;(BiZ@90j-Oc1*1-^yoKGC)uJY4b=0N?5O^7Vb0PkUT3UZ4&Biw}~C z$JpP$giK`kzk~ML<}ePY@x~xJ@e$@m`PJ`0@9TX2B$?B>M4{V866O|IuSMZJZe+28QnH&5w?H6~4Etof8^M z=nHgBm@Ymf(Jz9BFzxM?UogF?rE#ZywRj~Og(H0AuDbX`Y#L&MCxNGs3&E6MHY(B3 zfi9B#x1pmR!G0i_*MIi9i61Z?I?yenpwZX>h$n8-?RZyQN<$AiteDt2iWMuJq&Sw^ zd+S^&g&q=~)+WH+0`N?uhYX$QGQl&_L*%(r?V(ppT9Zu^+|+|k`k(5N&gxUQ$tQi) z3yavY=qV-?}0!7uaeR#WiPnsih&@o(Z&EAL>P9tNpab^gHeyv>|;ro3ZzjV#sx&t7xZyaVA|RJ$M&m=2c{<^{mxxse|Z; z1L!>B$2~@DxsDWiX0L;7hWAHVJGZSuo~64y;OLXbXkR)rT_rtp(0v@7)7wc0-`}%# zE`!En#8=MLP`_wE_oUDpqNPB3X)}7AxNLdEkV}ybYp5MF})2= zyzPdrk{$Fh_7<-oQ|U$gUqc({HR-SKqoWivD;1~hxwN&GI6=jH!0iQe)GyF$!+GaW ze!G&@<^spO#oWxEAw%pe*);Pw!*6EKkc>tW; zM=kr~{t@=$4V@a3!xKuEzo>q9q=>x)-CB$N1-esBakED3ro6$)Bb~i%rpB(Jy74JC z?N?cNBYYNbJ9eVm-MIf7>?)1)VXBO{L6mDQ22W!fuy&Sicw=ImY*+aa<_t&W)t=&+ zbZoKk_RZ(pGx-x1o+=IDK|LiwJ*z@^P|u2>p5-At*S1?2)Pw%f9$S7u&1=aM9hz9f zK6C_q+`Pu-X)3aLbT>=s>gOi<*zz~%hsBmo$%c3?o{4VrezbvM`=IXyvw7&NMRC7l zLD091N2R6Wyf+=xF&aJ4GMBa~r+dif%Z~6G;g$S0{z{n<=qOu8ej7Q)CaAY@ja4SWc?VK8vDD<3(P*@n$i_Liry zd&=%1xg3s88H#?Cy+ZV2Loqgyzrc6dgNCC6XHfT0_@Xiu0bI0x4_=5rx4{dgscx0Y zN2d#}w{u00-rm3#WZpjd1@{C`^Z!BY56^KwP&Sc=$g4M@p2HXNdFWcG{Lp1>TsBs~ zgWL;NEU5>$6D(Z02Vw9Wf{o->W0S%@0-a%+>{7aKkqyl`vhzZlO|$WihCsLOU1SHe zt3KJ6REK<+9>7kcdmmG2Oa7R8x9K)w*eAg47T$f3twm!KoDvhTJ#9sw-Y>eapZpws zF2ASg;3XTMdZw7vLu*8sw)XJC?b7%^joxq^-vO^E3Q7 zF)K8N@1~SKr z4wDBwb#GgBC{I3gD9=?vy|>_RA^1(aNh-g~LD=ME8`B%7Kj;0=w@8zn>KXh%Rm0B6+aaNUG{3VD_r|!Ii_9N2v=dJdz!pT*FAMh zr^6lg%M3m74fgFJrK!G~H;(6?y5r5~JtXy|;IdI+r=(8Z-RtN52)o}Vd_y!2?&XC%IE25+@jh>b8GTw=UeAUyPzj_&b2LVx^{w{%u6<1L;49=xYB zE6$tkH(&6c&gK=-3v7sa*bucAxcZ+08{!aaL;N3cY>52sYeW19nBsspVmG`y>by{& z!~N+vYnx&7dAs#JH=n(K(*oYgVeJ#+|I^^9H*xy29+F*8{c?&tk_GuJ$%a_5Xg=?l zyw__Z6yF-K8xBB+$%ZIj_b56{cKo;KlScy^;cjeYvLV(k)_nr&6TB-j%AB_>iH=Bo zn|-ouh~>nBoy2}wauOq5^)JD$_%~x4bG&b`t~!bRNc+wokiL#}laYlp{W5o9W0Wnj z6PV78w2$cQ)*5`YSA)%N4!9)wX#Vd!?ePDwJCd`c&Qq)l`F$K5v~HJg!V8pX>2dty z;G(tC51p}z+u6U!MpUudBYXj{<2}Ns^N8I?cVfr;H`bAg=h=D4G3%H)(4u?WdjGkSaUq)YhOqn{ zv`2oFGFn4wzpZ_!d`R=O$L@~%tpN{avJch%P_bUk+3RWSSJ@H2y+>#2@4C7-E*f;- zNU`oZ4>;`8$0W{TYx@D^I`^~xKdG{#ytCN7I$1}%@Jjv^x(lejcHxsb>vcvXI`?89 zVNI#?&z2MHqp*K=Hd$NWap=wy&pp=R$K&`s`tbv6UXpH%LccwJ-LG-*}xKf*Q^rtR#L=E4u)#zt8d z!m)2`$6l&+{WkH-+WBVEUVFmAWzV+#I@VKvJdEvd1bx9CJ|TK$BCn!F>s@23L5_Y& z|7Z*-O>K4|%R19PhV07zEx2qcI=7WgA%saTXVFjcG5I!q6v8EwJ=mqNrFx40F1W@? z2mK>EjC|Ny=^MenrmWg*qrD~I@gi+&A1fNZ#W`b=@u)HN1^dia#%OCHYkkIFlJDD* zwJvOYI(K~uT$iwhY&plcX8h0Oyi#Z2@<~by7uJ+|Bcp|Jen(U zy)T)Qf6E$9d*ycOm))|gH$j}~ZMf*wsF zkDoXr>J%Sad*d%zkG3MO?Q1Rm?X>f<$yU$)@a%8&3G)E) zQrV9qGqQRAhW|Pz32oo98$O1t7@MKmmAwreCjBhi`0tQQ14H+PFr9zQX1|~^CJp`8 zn}$wX#vYU&P zQ>HnmmG2$WE$FRv*a&s@Vg941BxBgQ5_#}Pd6Vd&9`dTM^`?t-EMwJc??J!8>vr^) zv3H@jlwWqaG&;+qp@WP~3teT?>^)uiLmHcwbe1V|-li4SAvcDh~wZ#giyElKMuUd;O zOuj;b>z=WAl`a(A+7m6D-{6>B9>9yj{OEYHlzIPM#Ly)^D$ zPkU{PM4Pq2OLlbjCHuFrC!-Uzo-y*txP1(rFq`uUojb}F{3v7B*bGlI2cBZAGCm(g zrZZiPBjn~`Y=~_~8NUnSew*Y-zQpXY^LVphHnzYU;FaFQDT8l!s?C!Q_U!lFb;y4D zxV0g^3=gHlGJB;*2Dm?DpC{cbeV9(sZWFkmkJ{KdwmiLoCVOVu1zv#t4!R52r)3hfTPk}X zwmkBu&?5!x+hmu|tRU~)K!@;Ow#FUoHD?n$tB3ts8Xfi+c(!dP4?3)kwjKxP^c>1v zXZa^QGqXr1Z3q17VQ-hmK6^HM?6xiBn?b&5!ad7vn?v5oz$WSc8*b`yeuL91=ADc| zlpTQ0p0@-coM}sQ)hzL&5IXl;`U_}#F>N%B zcl;*9*Eij3;Zq)a^UM}v%^%<_kv{&u>`t7&>5YlZe!;;%mokg_IK+8^htuI*&rPvR z6Lwd{5>h|Omh?mL`ciQ5BRXc`o$N#OE<-oxgtFTTUd+C%n{z?geHTMpQ;EfAA^hlO zZ8rp2z6)9vqx^6dzH(=SZ}|KHHl)UQ+^luvBV=rvJ=ox|pDto-YR#p%#^yd+x8ONu z9VUC1Y-zGP>3(C=p*XQQY0*>`2jo9#rr!OUOfdo5h^SO_m~ z!p2z~#GdzTdOdxt^!ByrZfCHG>)%*n(|XI*1ZAo&g6|CAWqsj!-eB=*yM^iOtGAwQ zLH50N;Ee+|aSy!s^$A^;mze^isjIjZfBWXPk*yE}tyH>WZw5SbXVNWnZWX12SD~tzmjK_JI6*m1{;0=q3wT`{Ah<-4#SD@JB*x46_@Q9}vr{xPQ+~ytP zT|@sVpZyO#bK|_VVr|KpSvGI^bzvQOCVzTbQ1|2zPPrLzziE76gPvs5J95KxTdw(1 z3vYKqIOQ&cLntv>|4)RBj=ez7S_B!%nuy-YwQf_*&D(w?&VDu zUY`nMt=oR<7QN848vC>5Q6Bg7ha|G8tHF!;pCcdjH8FEOp*JEjRhGZyJH>Bwq#N^P z>pg$e#%EZwcX&2mB6=Yz;Q{bHzd%#vJ|=<~WUgy$3HF z_k+xHw(a5GV%7i}Z_;}US$hb+27CVV=>0|5vDKeXGY?3|{DnNSV-s^PQO{ho5*lTv z-otz)JGFcw6*Kd2R!(9X^ZPrbPi0OQf8^6CyLf`RQ1{xOV;)z#(|`}gcB`}rz_YR4 z?g1{|hIaI+_%hZrS5)wk4SFy(hR}xn0QqDy%*Wn5gmps>bHDO%24M9*G(X6kHl22g z0^4|gkhYL@kBOzkI!0yGj%4_0cp`Xcf7dyJ-lLEW-h-~62e$1RXp=oThrF_VPtM9t zOvTnLA5FcLI)ycWY@X6F1}D}4ib47;@jiuf2+wBiD)=DQtb)tNuD-kqoc2JoVvyGI zt+YYRS@JQJ&#CP5_Y)^nc3#CJT}7Nwk*+ko_bS|E$NdrUUiDV1V!MidwL72uDyO<* zsxy!u`S}X|Q-f>N+Z42?zSNn-H?grRUB0>%K_20xHpMTcDZb1%vHP3Ydf;#cwtxBa ziyt>*(-+NG(9TWR^%sy|Z$FE7_H5%4Pv;u;O;h01BN{%7M2VY1tXgdURn({c5I#za znX`fs#@3yWPeh38X4(>;byl#6w(L2HV{nAOi7MWq5{~zBUeL-tEzw}k8`x{MLc?Z! zE0*93{{nR?P4C5OkGztz1?_>K=G{~i8*k%>*o(8gA5f+(I_lMj?}_-2-p7ZSCKaVI zzx>Sn3(g-V{a;xZoIm7p{-Aa4kWYg1he7uI;s5?WIDg=G-}8qwu(lj*t;pn0qR|%` zu)BT(e_zEk`3~nGdaK=I|9AjD+X~(=it+Y(J?9T^;X^B4EQ5x}$s>O6VGpM9p*Vl{ zkXJNjB4fR`u|ujKYv$VX1^L&$!CG5q%2)6fy6UMN&t8o-#INc&?}}5u&SGAn{I{rI zdAJ9V5Pu)XE21#Rh*%efrru+v*jh) z*L@oKJKaUQT5s#z$&Up-@xk*{Ee4^ zli-(euV=jcnpqdMgI_MV$QJw>_d=84B0Cpn6bWotgeT*S09=IY7vT0aw!iVh6MFuR z{ck<>TDv&+jj$2A(5$0II?;PN{ayc7I?kDXS&z`8s2F}BthfzvnUF50W$th-Jx2RI9U z1Gol!NPIUe;G0(*j><)0)8j7 zsP6?=Y}DEG{au`6N*12L#=D#`EIE}8pM6L|@^&LM&4D((!zupbKM9@eslo4YXp}Fk z_?8EM_CbeaX%_iAp+)0B_s+($N7sGjFX8z(d}A%#+7sm;dmOsD*yDz9)%^-|K0*Dm z{fBVX{X^(1p#D2$8>jxU+*kWL7?WRO3+oBwU;8N41HOr6?9t^D{Wvz-+t~NZb}1fz z$a-?9lbg`HpYr9p9$IXFSvzVm^aw5+wfHGH?O;758TgR(t9<*kU(&l^AG2-{era$} zyc(@lbx%~VSD;by@gg*a@VlT-_)ACJ0gV=J?WzACYi}N3Rdx0M?{jWQ!k`2a2m&=X z0T}|01Oc(-BtcPdBBZsy>g(Z#pdxW7LtFcx)TRPFN+pw=O66-4D$G~f5z=drwD#I-uf6tKYwvT6dGtE) zzc7#FD-o|rA0-y7_FC*2n~0UUV}#*;(ih#cU%w(|>Oyc;EX|ADH7I>~JUA;Z#lPe5 zhv2O{M1KIzURz#V$-38Y;cku|68jM-{9eXP;e8@+vuP6d$(dw zbmL*LKMDsQ{!?%kyf%rm=%Kr^q#vsu#k45@M)C;u7v_=RA25%!7ZCo^d9@d~5`9|d zpl-odaT$9I>C9)7K9;t7qPsqC_2Rn#`u@VRZdu*UDc%1;_60iU^Z z@!gAO>hGOpFbe&!Ycc1`cXVdb;2r+@+Y3%$9fWdd7{x5L|2S<^fV}nYgQKbqTPF67uUDm$9ecektd+O6+*$rFMKv^1POnJg=2M z^JHBofUcu_|Li_M_b!>!Jw0g2Wb`1OQ}v)90+a1jcgTcF0+Ds-AiDRr5k2TL_ILr# z?dxpS2zWA$I|ZK6`A+npv*AnWpVF_3$fNnR_KN^2dQ|Z66`nq!~nw=JZ z3Ead#nmd{wE%5(X#zyB3<##xn@zMIPefUD!*EgH=UHV($bHxMCr+wW+tGnY=cS{%k zLGWlHUB0pvw6D4UFzFj-d3M(M*g=K!3i=zN&TDv&k@ol}_#4y*+K;^#NVu?%fL%*m z7kI=D1roo7zaN1nvHg19L!7W(AA2X@evk42MX z_5XZ*44ZijJ#Q~O{t|pWow*ppt}fVO^us%;YdZ5XhFw`PX}Y&@A$r?%aE@V<7VJUl ziPFF6!sjVqv~xbZegvG{KK#mqxwt>cGku)SoQZAmpZCa!G9&sU8RZdAWJ{w8^XUFr~Cf;*2calP3RuT*yoB7#TNL9 zciu_%SdFh@IOX%KvWB{{TQPp#yZ61I*hhTZld<0P9_1M$?fGRR(tTbnou%$~sT7Y{ zM+~RrXPwPm=4W2J+iU)tGylFQS(Q(WVP?v z`mmQjrS#KkKgOoy+TefX*_d71;FI)|F;m;J!*AZ=*eb|JDW{ zPE2n-ws1H0l;>3`@RcXvqMhcF)(7#>UTAm=IwSGEwORugGEZ1HYOi7r$j;aTPpOaM zA@#S6Hr4;z;3Ic@;i>NDb5Q~OtOpPOQgXKyjqZDx`S4H z{}T9Aai88M@QWcQHZ$KfCt8^6n`yTSd(bB4ZwqsG6J=DN?pleVx4Z<7Rg}}cGx{#_ zj=P?%pN}nR6XiA|3;v4DL~>v=^Sgz)y&0TTUUPC2eXFAFmskU*v;J*Dj{F6C%O+$( z3v+%mb6hyO^BR1F%SIP}?$6b{7B0YFqRq|B-RbBvSK(WWX?{!oFh@5tZ>Qr|`z!0G z=I-YENTcn|DocG2()LTld2L?e)hGN!ix%X+}4{LcSkmzI$Z>fcD)zq_yHf~2IvJZ{%+r;ld-D3zHByXnU zCyZT39^f0RynHj5iyyK+%xCTGh0ilq>7{Ri?wgQJl8;y7W7Hjen`YC#c!}~qg)d&j z#@H#Ix;BvL!`Tn=0{HXu#L#6$H7hcAHUjbPieQp`}!ud=C1m8I^)m$tL?>@Ywf+YfVF{n>3+)= z*(TZJJ|ov;XIEM)GEH-~wTtgfGk$ksUsYZD4&{z7JeqDo_GvC{M&^0-G3StZ`qs64 zWuo&|o8TTS ztK}~)y{H>m*B{>T;KZ$9m(pF48bA3nRo^WmOhVtXR{5m-b^Q(-k%!3S+D+A^iJw8+ zEtRE-t0)sgHcGCEFJcdA96j5*>&L1sO^n6%ELl?pjWj0M@?D#kY|btBl_qvDk8gn& z1>d;bi%W6Gw5rtgD{h+2_(QXnC4L&uKLS6u49|;F;J2s1Z}Q=utloI7SC4R+j=!`M znz;2|=jZe6_k!uXx^U2)>KkW)2XnU$+;wNwZ_&dx^Zs$5S4{J-FTRZ}?*tNxACz2a z0roO`jxETrD(pe0;|q~|dx<^C?f3&E-*zBVZo^05%FU+&i5bk-EyyCt51lJ&*@rws z9=7b{E+=e`l5H;$L%D;wzlA(I$kU0hy@h%G(OrM2*BY~fcBNlUXZ}7)49UjZksA|$ zy-B^z$bv=G-9X#*)Jt^KDOZZ^NCv*dU00i@ zktRHV&kzlffsYc4wWE~$>JPt{@$(3ep|sU?C7okXXo@GQ6C3pZ zBfV$VuNVG{fbCHkz84Cf>z4$$yZgENbv&<+NF;-3!ibcNxsqSkDmax;iEv} z1Ne0zd*vt2wG-|1=ZP_P;#vB71b$ZB`C}vP#1qi;Mr7+_pYtA|9efW@x8bPkrmJ?8Nz;Nk57X`1p0iYCUBq4x`W3v6p(hFLC(npK{n6Y#lc>F8P{e zo9T)Zef(8J`o+$=Sy&J<})M z8$1G;sc&c3aaY&lpOm`(yfQnzB^^Ckb!`2p)b-Jpad+>A_q=q~A)84V-w=|W<32m1 zMKPuw=;ZgKqeSVq($*jH^7}TH4KE89;QPUw{<}63>?rHs;mikg4nrT+8)Xc_&`o)x zjQRREy?VmvbJ6$U1tW4H}3AQbyVle0nUN+tc}8( zA2T)|Fivh;@UR13mw@})LxF_8XLKLq_%P!t-|N~TcH#!^SX`TH^Nqc<`l*yFp}g+F zT?=2zj}qMTGT)g$~$a)|I+- zJc~`Lx!Ei4!W&ZH^(pXG9()h^)t36W=AlyePF|fMT2t%i<@vr8I66vq{_4`iV@tfW zwLhXh%00fwPv`Dm>~rgG_u%4Z`NKq;ckzjr;MKE3gw9-zCI&!u#l|YdYh|=FO{3rN)M)g#`{3!vhInuf#<{hdN)sco#Whxz zCNjw14WEsUCiu0C5A}QSel0F+mIr%$q+d7n%<%Fn@77_Z3B@Fg);N}yBFntK>N_D# zQ%YUGwVO6M1wJ7KJ}w1*ZVG(N3ApTsqoI)v4YuYAAG_u8zJA`!mfg(f_1UEf{I~9z zGJQik1DrSq#rzDPQ(k$PS%PTmMC=OK0U#A0Gd_)b&-~jLlT@v4s1= zBwyALmy}PLb;SM1m)Y3co39&)-*N4k8KsG>#O~-!+2bFn4)`rlnh;)(5fh~ISj}A} zE-$)iUzE7~;=+l2(mZG;&sySw#7DA)uKB3s1mAV0z=>6oZPDdNVwAe`?@xihlL99W z$5NN1jhSi!`fNc$b3r z)=rO(`YxXQUzKL4D`WLdpRMneCWbO@g6$x#Np!ti&%`wOd3O-2)D0(IsT)qbQa8LI z1y0e(pa zOA}A?-t-Q@N1LsS*O6S zPQquL0-u(ImwNEVDJ8CK7VR|O)Mn#kA7;7p;{+Z(TZ$FGFvctU*vOKE7kkm)9rxB@ zf^!~pA9Ak5Xuj5J4Y-?ge|(Rqw&`VLhSu}FrHKQy^F*GTy)H;h!rZlZn`tFV5Or9rwm(o~!MGM6%t)<_? zpyj+vk>{k>Q0F1#VeM0%eCk#nwb?}4RPvN6oi$kg0oALtdx6WZvYa&WiD>KMN#E8k z9pt7pFMZ4Pv-t5UmsAgN;ic8@oCJSn=^6E!v%8o6z8fwXu$J$@xje@=;Joqg;jV## z-9YqTA3itP=Q+tf3wPD?OlrRv3-wEM?e5oA-gv4l^-FzHoYW=YtMclb*QdAK zG{s42yzb%dcJ*f&_d!c0t3S%Wix?jd@7I%lqhyTJU0#2h?s~_CKgL{9{u`40nRD0g zPpaqHWPf(kAIT#>zKeNV`zLTy8#)Jl5PB-z!+Efaa}9YsoZmhL=YdI_-{@|uk^Az6 zhw5wM&VSF><>6M5#Cc8dck2S7;qzxB`?+FL*d!v%s zJ`Pjy)eDCbeD#`}e%f4c5PS|eJjUGg;ZK8u;Jd*gH9uocTV7q2|3=&{^@;D@xsGjE z_oHqyHs6J|sPngOS;-CIv4^%cp=Z5FTjDwO{UHAM8thP&bFfQM20pEoZ(j2DLGo5$ z6RS0W+TGM$Mfz{4(@&Gl@0J@Cch$FEwm0FSIMbIok9!qm^xb-VORI0Y&0vH7+qTBO z#F=HE9B0;igXxYlTlhvYwyc-uQyo!+PnG9XpK3m^r|_rBw-v&-t8a7geX@wY5B@6i zb{KaDte?y`Ef|ji?hhD-PgUOspURks1`C)or^937xyPpPy$)!+E_Z684`V9)S8>0G zY>I12vHzeiFPC0AP5uqsVJ~ecYxOx;M>`^$tSagz2WV^WP97PN6&B6Z`lcahJ3*9)VI<0M~uamrvk2z zOz>;iXTJ(AuDzczkqz@|;rOKf!EuXl1;-ZsgX22km0rK4S^wDl8mJ$fx76z&o9QaG z3;rwh56%y9mJ465VtXE9|9=bqTiF-nQ_vmE(!VESOHoXad|ry-k#9lY3E#%L>%%vq z*YBV|;+0n5S)3UXt#zM~bi~KeX|uQ^{C0e#vW2^Kqs!`>?VrORThJxlcF|=H)2_ze zJ;#G?SI4)DKW7}bpx^1-wa&t8?A>&9x*dFD#Z5;)^3QAcg%?(V%SLn}!M0ruEh(cu zY(yX0#@ukz_mn0kkpB2no)6ef-zi*kTwkgB^Jn_v+3%spuapM9PnISwfKHE7Z-35B z$~G+?+qi}HST|QtPPP^KA>^}h?=xCQS#)<7-t3*-aN!LeTx0!2y$|R70*E`P)tv#KGrv~A`yVm4 zG)EMtcNn_ryH|anxxVA7*eacwts}-jb0{@=B#=I4sK;PLF?&6tk@We*ws&T&_Jbo^`!CBw#5e^-J zp)vW+u16QytwSrT(OPjIKPJPk6xc;u&bL5=+v$Hl`g1Mt72@|~Kh?Hy(%d+TJot$D z13$GKQ95wZVJtL0A{j~^+4WSn;y*MGui#AU=T>g*M&#BO=rFeWjruh1&n^p}fbJkweUHLFq7&avYuU=Y{|H;H2hZZW#XVdeDI;b}-}Uw2gIcbp zFFJQB*h1*$!}U$xLC~!~bdyf5Hcw8=biV_f1@HLqzO)^sj~C#()IDzJ;S-df=uvoF zX$x6%bYJ={$@NC?2OnkDM8#R>GUE_V}kKbq6hJafx<~4K zx!~7}{`aBJ>Ysn+MrrEzpOFU^G!T3`ZJmohOt`9l4}wQNekm`l zuiJ;)nJq2m;OHo`?&Tv zvJXgSO|z`p=T6yED!r0)?SH&IhTSrix=Vx)cnKeWFEJ9h+7mAN#)8_tiLz?*X6mg- z?ya#OyY^4{E_9!k`Xajowz?MCCZzY5Fs`a!Y0J^^NAVpa^>sMkOcG8?SH1HnH<$V< zDJR~%47m2N1@z?w_H#NX6V09$-;>DJuHGCubV89fHySm0N0j_UZD<;%`zIlHk$IPU-x^B2d-y*FW>^6gOt&?zvbh) z)_k_i{?&m-CzM*zw*|`Ia}&Gp5?{ z{U)#KcRft`^J!)#@y6|$Jxqk}M6_ofzH49Fyvk$uAouP@mPuY+GH=+i%Akqd$GoaG znVnWwS9ykITK5O71#QNZJ3UN4hx(_zRe0>#G}G@x_;!kwUbTs|*>8<-Vf#(bsz%Dq zw@eZFXBNK|I_7`3qV%nbV*$>Abp)(J3w*@$vxP7H5Uy>3*>9+R|2ZA_`_SvlCI7V{ z&)A(`22A9WS=NT50Xy~ybwp|RK)}T8%fs#3yA+*g>Z-po3;JZ3@*9`tWrs^j;?LeW zc-A62z4xMlrvHt0dX<3|dC(*?GhCKwrO)_jnkml!mjjglAdnGzFU>@HK%e_g&!`=4 zoW%0rv+{Y=4!heNyJz_GtEZTZ&SLuaF7r5VsI_1tIMA1VH6?cZp0|U?KG0l#`{rW@ z0zHLaYZl+@xclwOV{7R5fk2>e7;V+i?*{T4`WI$iDgOJ*CA-(F|Dmp~qMqdWh<>Zi zF!%qSnx|rEdbawT*UQvBOFkPsHGdCU=EBlU6S)NZE6vh}Rexz(pmuH@@$jtGr~c0Y zKIgcN3^WO~-Id|I+Ev=~)i0O)dV^@4s7l+AfWASeB>s72V1sD?>2>yoFUD|&EMUd{ z#yEseJ2t@zIEmuZ%miy%NqkD0SrGaLyz&iGq;avpA-czk{4$Ue*;YCt(pq_LCShkS7ar$-b}g=>ma^3mhv7Q_KnD6DewB`X46UUIk8`y^qw1A zebRe&>_2#K0;dCf_d$1OmuHx|FBrGBTr*zn3LXWQDEXpKmc%>Eu?f-1PJ;2A5dC6m zJf!#8#fjiRbD{d?l`+&cFqVKW4=3AeR2|^^Gv4zV6X7~1*0ri5kR8+eY@VZ~)8fH1 zs1F}e#~?F7bsXR~Txt7e#Ko&;=bQ5A-l>U>pt}0kUF9_{?f%02Wc}CJLAzX+wjKOGZ>cW5=f+-8erVnHW!Ht#Ay>uQROd&RB*Jc; z9u3=+r=_gB&gKc1B@Qx<8Y|&cO8rk#=K-Ge-b(&v>Z*iSnyG8gml+poEQI4@#?GG5qw2_wHSjLHI*xUX_xL9#HWiq7mHv*8ZYhfwG3Tgjfn`Y+4vGmU zwLcc#Xe3?p(Lr8$bXD5m*oWtsy7Fmu+(tG{cE@u_;TL0^#Hr^{zFhL`dgMU_xe$?j z@OVx9l@q(e#Z~>!b=%{7Z{6$gmp4{cY;npM{4UcQgK(xd1|I+B#sV(?st)mQcC3;* zy!vuub1CoBvO;y$Uhd61Y&{*vGcNSn85oX`o;n%qMiMGOTK6A zzH61nHZ`BtQIGz@WpL~P=-*8JK0n=htgAcyxX=vVa(d4=m>@;36Xev79*J=@g%Bf3csNTr=W2i~X5Zg}U*CBND5N5rJELE9l_US${mG}-m4KJ@ zr9G~`Q~@uG$I*R?#J}R*FuWQ7RzR6*V^_ThKE^nSDd2Z#WyAOMKPR|sa5vw>yI<0u zeCEg$=FqJwPg%PyzxER2OsZs_r17ux9yw-WwXv$E9?hFLhIuXA(`f4ubZ7v+37LMM zv1W8p&z0zw?^4EwfBqEc5nGFH88mk95IS+_j)G&%zsPLUqqBl~8casjfj~y#X_Tpc zEB_d6^_ybSTwVGmbmBiz&rS5P;;kExbp+B28|imncyJE$dD$sCbv5}l=Aooc-2g5Y z?^nQ2f1#ft(nHY7Pxt4}HD{X~we?<-C&UZlgAwE%$WQ#RA04_4dVYtxQ^#;!hRG2R zpqIyvLW{pX=E*_HjbC1B$5Y2Obqs?&OwN8guS)41xebG(yas+UbyVt z3{y1ayTiBN4UIB^g1a&N!K>ThPvpuYA|lqoc6wKwz2;P>qD&_4D_{igSD;_sz7@zMNWQgcb|p9XEL zKWo6I`e&W9YDdhY{VeuUZu=Qk0eF-$Gc!M3x=-bw313os*1S>M*YbRiZCcaFH{3Qw z>}lGyzZibUjoY6S{`|`qdbi2kJN%9j+wVCZTFKrj;`J+|>Urv|0+(tlv#K=V@te|o zSTk$K7mQaXbspruYtIm5?+#ag_hsy-jK^n;%Q41Be4z1;R$7tInb&KsHtx870)M_T z_JkabF7FjtTw)@7Q(?{7k>_|vJ{D?DtB%Xk&@=eg-2OiDJCC(b@^#JCPP~D+7-jsM zN!R?ZnA4Mdf!H6($3CoE27F#w%6xu$J-EB_{Rd4$BF(ffo~Sr@c0}#GNty6hUE_ba zdw8T7JS3wl>>A%hzDCl7`!&dpigYL9wLKt~&%Rb|JIGDvxR=*oW7n}R z_+_;={dYjRVNPr`c?aC-tn9EIuJbdUJ#AC|scqtI(9q}oQ*l2P-iAHM@0a?KL!FH(G>o9xdLU*i3EN}lF_57gl3|F@nZ1Fi~#6yfldCJ&^80%|N-eP^7U)OW__V%|T^b`l}RK|JTnZQ)=TkD{?A2YK81N9O%({iQn{M z-uB7x!l%$mboR^qZ|!398;^e7nohg>lkM*Rns&8bs$I1yxwMNmchcsKw0S0Nes)Tm zUoLrS!@KZThS}cVA2W@Y#!|YF=Ih*EQ{$Sa+Iz3MbLl?DGWP!&?u6i8h`Gp*1IElS z$PMB!deV^XE=%nm=dau8>uj?*t0-gLYx#RI^=m z=dq?7VjT$C$aLDxV{O=UI_u+|R`wg|re7PjiOT+&%&$SL!=7&cMlUn7kvXyv#%-wpJ zQ>s_>38!1BGerKjfGM(ATQ!EuzE`omlAm;jQQ$ia*>#Y)bP#=owR+~=-=r_GSM*cl$kzLx_K3;E3lndzbzD@a?6@^ShDfY770SY7hMjBYzBZ z3bM}}Mw;}4@Na{)hk6J0TJz>?-`3wmO0vwWjYsk(4!?8Ith4USnzd$k-o)7^&^i3h z%vo#O^Cqr2m^YCz>DI|4hZ0p&k)zMJdeNz4c$B^;pv$@R`opl4CsFry2t)B$K4nBGEO>}c$f07+z!8#AD`fHd)V zD$dd~e4M{rveT8H|AFm9efe_9E|-3>$2_`B>0=i7>!~Yap~vS#Oyc<*_Ov;sRcotk zk+zexbp@=*uaKp`MCKiZ-d_}&x;ILCMwT11!ph>l2d5y?JdE#^@NT2mSBAz!nz5(p zJxbY1r&pwTocG?e#9%*2k2FtCzSr{Z1S8F*$@hA__l-2qNWQn|JulKcEBXEu@1YTq z=IfI0U+^BxWKB%I_qM2?_p0Rk5Z=Q@k>*9o_c6RX`H|)&$@j^6AI#e9y|X`DQ5ilv z(p>AkmxM+}@D)XxS0?i}6Ibcr)Lo}DJq)XDo7{CeB*#v%O1@J;6-R-$n-eirl#$;FCg zvyask^o%Tme~z%PZ(#3}53fs}rL*Qo)1|8wvrd%2gHA%SPI?ovtI+4?)byGQ|2{pF zy~+rFqtNp+`0rwF{1jOx86>?laL1fubCF-fBF2U%_b4|UuinS{TQwG3u#eA_joh_= zf5Tc3Wi2kCT)`b9k4a}%y?OWq3SJyl+Y9-LE<1CN$(&J1nbJOi+S%CACC9KklpFRG z!Q>w0UF7dBd|{;l)5<(-@5v7vdQAJPPUMLlFxw8LnbtObbJNVL$lwn{eN6e>thTpD z^TT&Hqv4oYFbbLYK}NXjA!PArD{V%P;V-Wq5qx3waQ=JpPpoNd60%qIo6Oy-{WkuH zoMPSIb}4nU=6{&aK8(HO;f|ijdDHf`=IZEvZEu&*PGI;8tAoMat4H&1Od$3KGF0^i zGxv1YcM@L5&4PL8?!u|dvKEBVkA-78I0;AgEbV8d;7IIcOn!sQ>DL(b&+0wn+#Z%& zHprf(>r1oXGX6gZj4o9FhErB`5HB24AJx|@z#aa0xPtGDXTT>hcaM=)JN?VcV|O3F zBo?-Mb-o|SC>&|h-VW;CpX1dlZ?$^Y{>j)6{M7^=xWr2D?0I}f>~3@V+aIx)YOyk7 z?-|p7mvjft8IQJluI?~~wbUD<5HxaW3ckVNZL1^D zM!+{!R?itdhd;aetl-|&z4?u{dc@A+UA8UxB&0w3Yn0@04!rB?y2#_Oozq)-lKe48 z8K<0A>IPTa13EQ7q_4>S_kTvq4m2Rvz+UrgV7Hf)#4jNIG;k7bf3^Dd{+RvSOZy?488uis$>yL9d#PPpssXpGe28I*qc@CEmkMGWx25y?+e!j`f88!Xbc9xa1z^ z*p0+PR1y!d+hnxdfUkO*N!NUAQGD)f{P;RMHk{VM#@6~x$&(3`Keyn9C@cr=Y zId9K7R!SWu)WJCh*SAkzH=guCXgzY?*~c2JoT^RvCZhgUz?((P+d6cx;9HB2F{j<{ z%okv%u+z*o^sT}$X?5s^Q^+@kIXlG+=nOOWH7=s>x1p~ud!!f0ZmhZcA#46TTXgDE zh>R(_8Jhef+FZdNNOTcRM2{C4d*Ssi|ItGxGKw}D`4>+K-u6XT`MxB7r1FMz7V*Xa zctpM{*%yz(AMU=_HoZTEN5m`Qj{&bd0+U8lDBVhLS&l#U z2GhfhZ|X8VI}b3{BkmY`jIoR~Sf_VZU>m&q(vo)spO}xV`=OLur6H4PxE}IJ+P{Sb)+fJBs7K^*K3GeNBhAQm@Up~G5OWWkgcIDd`Q}f?Ne(gbBSrhQ~)Y9$5C)#t|Pk+W)$0o@C zItBibT`>qhhfAO}G{_F_TfOq_{9|g*-)El6m+Av{GH-9LJu&qzq~4u&&jl~A=0xqD zGY4E2F00!etlb7}E~IV#BahevYUSIph%b;HJ^5JIs$~P6i50fPx#W^~1M;rG*s(db ztDB71w*$bbtO8y!jCaM`o*zD&KF)c&;+V}^C%wTUEetPIli!d(g#GOVO*|W`=D%(mSWlJL}k5Y#NoO z*V{WyMrWmQ9^M7*d$@J>sFE&}hOHLcMrUc#zI$k71Mvhss*2Ht@+@q}@YC#W+i#|8 z`^9iu6hc-MGk+VA%e@)De-uZd@pIs9$z6v&ILsmcUHFUce_-so0_VPZ7SFz)U;1G8 z-Ud5_Y!C9wTnhdDx#RCIeP2vRpa(kVxvq@Y{-fz?lZZ~^9^_J!xV_PvpW!@jeNem6 zLw02QNK^OZG$)~PabcxrMk?W{N^BR+UvS2r^qtl03HCgX+JajW_s40(^UgDPhRqeER5k8#*%)Q2D6Mw|EW}r6|K8-#eU4C99`^E9Ki<-`U zwFl!+X*&tl_y~GqqUdkf=xAFwoZ}w_ zCB$EtJ_Bn_c=)T9aS~IAl`*-<64K0z6J5B*|5Ng-tb8HE@x!Endn0-B`wXbfkDmQ% z&@hI)XY(%n)KBf51;h4~xOJe`$h@jP#CHs&y*HK(f7ON#bD_iC=*`{Z#<(i~#f;0{ z;MT-@DgUB_y?Vx9{j6)%Zs3iKchl!-i75H!kiPSyw8YL&(h^NW z`o!Okx-?x7Wz7&is&jzwgudIrvyt*UsRx@?p~`=k@p9?Uv)X-8G@o{f>nnG(cZcqc z^iev`AjW$VzbR%&)#to-9!1t+^NGT%+M`6_rRdcT_d%G}#xIEb!w#2^Z1CutUu&S9 zXc}dHJ_Mov*;n$9``7PI#U1D0`AR8<`iPTXUDq9xyu=fM$(LoVa4~ zqBEdbx@mR$QLR0q9n&}tVf~9T2b$=EaZ0f1*{*zX$MVHsZ9aT}%FN^DuvK|qB9BYIshe7cprca z6EBPY)b+6RbptQByv!pL0sc1l_(A5~zrx24fa^|pRXi-d6Aud)pO3}E zLGTj4ek~s-d3bb^huh%ctLcMFN68H8yoWY?-rd0Zm&&_w=BoHxJPY5!>)g3c`9}DN z^ZIf8q`6IuPc!`ebDkU0@z?jprpp`^PaJ};E_`v4JC^y#1I^oUjB9kV`TKbb?V2Z; z#FgOFjNe-Qy(c+$r}AF`&#YnoPGt<&LX$Q0{lKS;5%E!)zt6aMYW_Qk67p(3Yc8*a zHfxe}c(1{m%exMAm8*@po?CEzT)o4`8?j;G3;r=d$;a;$`_ zaNh+U8Y>@X;kzvbU*ReG3paed3HjKCYbx%NKfg}mod1We@~0_t0DK1~X?ZFhl6_yE zW$HvX;UHXugZM^r&!rnQ6yH1yF5Nr>4#K7BzT$4WiKo>5YQO!ry2^#~p?}i;f78Br z)~AEdv##7tw!Mh9PvY6HXXV zNl%8>AcOL#U$VnW>NsgV!)4OL)$T#|bhk3EJ^(jM`Hsq0+})FSrPeb6)W3=SlQwHbiP{qaGh|^(mujFEo+9KHF_S51U1}Y%H+Dz*6@n+J~?oh<%#PcO&^f zf;`JXU#eR=cotix-i;+C@e=7w(3$TdSJm|o51xX5_iV<#X0X*;Ygc}nHB;;9mg6U4 zTzKzy2;B%B%Jsdx{|iqy@?z&am;=9@iHvKotp&x<(A7E7*ZmleeCVk9bHKenGE`%% zwanq2{|Nh@+F|$#sF5Go?bfNip=aKc;_A7cZx2f0e z%^F1A+046&{wXlpI31V~uGEzmHVbaW-WnRrI@-gmD30cW4|3tCov^{BAkDaNlZg(I z$=YoOMM7sfxXL6u0^NE1^iO(=PG0P=@5|ViNh}_}D``*ujK|YWj@P%H8&dnCex~+k zG5t~gXEROCJ>XW-)wQAoyZTywb9=aU_E+wfotPKL@{q*mXmv zb3PBdg7!3`qhcYn$2lHIV=tZ_EB&r%wV=19|12l5>stN?If)wmGbY9Sr}c3XY5LD` z5>I~z8}(51LH?UqhmNt=dyd%akeTuZv6*gr8Xv>^-~4y#)jI>}rBnZD@L@2u3~iiL zhPF;BLz{Y6%vCfUor$%|I9nHLPtZ0Nofeq?zP`U?%!&8lnv$5YbtucSQVU{*MZe?y=|Q_>vDroNA+>?@YZ z38mm4noRkW_xq8d!IbwXWm4bo=Uwet8=VB}NKP~*Z+HsrrM%B8PUhX=B;F=(N7@Ox zgvLOZl=peayHLuz8FlhIai!RVPLz)hIr;tO!KVB}#yy&nCp;2-Qr<_8Fy$A4he;Vv z#nh+1i~emrPPC)(OMPF@c$t*+e7}#cIf-?mZA#ri_UWnb>xFYlx;ev?<7~RnKibcfzb2eg zU>#?JQ_B0Ob9fgIgq#HHYEH1%iSi-(l=|-SGdhA_e>jWwQu2q{Pq(Gi-FRWL?xRj( ziRN(%Ey9d(>ic@yGAZf1ioCM+_npL>lntGBqFr+)X({jT!*3laWgW&Q^WH`}7C~$(!;ndYRKtq>D#PN_r4^ z6i#U?Ut^=OFvW?u`ka#2i2qXF1JEFx@*d*7BQK>bY#-m&*i+vf_zVp)`ey1h$o895 zw+~02vR36t7FQ(U_E;yedz5J<_6s{mxQzA8%`do}ga?5yO~S47oWxK4=OVYBR{R5n zlG{6NlOXonEgzUjTj;Cj`tKJziEmJjHrnqv%WM-)fvMUD42m5ZZd$$gnStzShs1J| z`6doe=DW&Wzn@IAf=*(B|2*7D6#37ioW%M5^IRu!R`NM8FWLSO_0OVx z*@4e+`?oKd$G+tRzV;nn{$*zv#_J51Rxc#;nLC}tZ~QW0_~CGu`ovfaEEG*2K)=*@ z*>`(&%*j<9mRrYm%872f272}Wd$Jzun3EXoKOgtXH4ZSXLF#Mq$~-)AKysYYibeZ} zn~5LsVkrmHpCN8vqRBeUgHEE(udmMICE;X#?j(NZ!+Ac?+0|+ubrKKx<<>Zfd;RCA zlUVNOUGF3mn_e5Ev@GnSO59NBz^jLb(j0?zry@_w@dRYCc2IC$Kfq6e?f1T z_o3Bbw>|AcMaMgOdF@$$@bVq#sj(UC*71(&U~dt|o+q5F4kyuz_9_KqPkA%{4*$i# zzN2UCWNyCqy}D{LRF{X(B=TIDQkVTlC(#$!HOac%^3-(>uo=KOPc(j}()br|e2Zrz zd%k$<&&-Searut^c=Y=-wyollzZpO7pk zd^*s7Pv`#vVDOXMp2;juP{+1?v=P)5_Y>?jJ~`9Wh41-!d+5(zdr|u9?;R}Q6~O6J z{M0@vKijEm?%ro&P)E4+P<~i{u@#E=I(_T^g=gNz-X3aUzE-VfbyVi$&eV;oX9%k@M9-q1|Ok2c_6nbZGJwINQ z`d3rlQva!6I79PEZvXK~8aul1KS{@DLj1LfsI4e_c=3nI;>%y9a{iwFR9Y=3U3CS| zq%N~&Au_nTu9%*w%XU0Fz(vr2b5g5P>1AC%Xq*`oE_=$Q%Z?4RKh8KTJC11Q`nIrZ ztVfr^woxcw?kDUGZ=?>5r%&4f(5hglvvRh{?zGXX!ldP6M;G0f6Hl8z)MS^=3r>W$ zb1R6^4ANd$xE-R;drU;n&^(b%pI7jV-4)pwz^3B+C!cobk9^(2&&4gtE6j)X=fSTD zJR8q7@hOxKXe`flu<`CZ(nK8<8cV@=hkxRtmjezaE4uJoDR}&wp24F4JervQ2k}GX zb5=n%l+GZw_#}=ukq=m*M@JvGBu{~tcMK7O|!wn{y?OSi@Fj@tVUI-Z*s96mr6dU>T^4Ty!w z`y=wo?sXhIh!HGQ+@CL-{a9bkrP(HP0sQ{3&+nt)C3qZOw_;J`Pz&WHd&KY9-U>y> zdDO3W`BwBk2j7#P&Cqb!Z^{2SKglQM7tbk1@jA-<9=PU~d-gBoESBQi)xH~lqu7n= z0Kc>iq9gp>zpt*O4bQ@5pdcmYhrG>YZ7z! z4bGcz=CP9_dVQ076(=sC#qPk4^V-Au(LU{lv7whJY3k$>{pEqrkVb@Z8=`O zTA!+i?T^J%PF3-Df-3?5jq1 zQon=HOS&F%emrN2#~09E0qb%GFdM#=pKds^xdho`54d>(xFy$$x4rn;ZO5>MlCV8~<)``Zx_zUs1n_Gs?YV3=A z+3L(RCT%A9yY12kTs_dspFg|=J;$@He*|A@euJmxSeba^ZFJV1!b3O!JK4USY?HO( zUcXJ&2DiEK==Tr!$mr}cXaJ66F>TMRXDOAdqsR%L%Oe9TYFDD*Q7j$ z!9{%Qm;B1-@&tZW)?iuhTg-RE_CGcnK~k} zhw|G0CiAxIe4tO0`8@l4@8*AhMC4cGuS?R&U(-0Z7xVl3ZR*uH?mOM|x9Fb_&!_L= zLm$^1_1*1rPGJ*uE`ttr^t++JELddQh3fnM3(VoDM}w`4Zp(6Mu!_81x$MF^p8fh# z`riLy@Miv(<(}H#ts^7%QAV=d?<0HfRhrjs|E?busV4n;w|_}qrZ4gVDu0FTOp*%D}4;*7>8#a+Lg=?D(DWhW`~<&F4N`1|~7+R*KhC2IR$;njmZytO2Re^P$9 zzo46al4f3!{8`kL8^LcE52ZVam%M%R_&L05&Is0%wMlskl-C~Aop;aIlpI?X8)BIa<`WKi%7ibN&Qt}#N zPn4Iw99F*f(R0-=2De;emw!uE|B~pr5$Ced#5o2_;Qhf`WAfg}#}uKpIp1VoV7veQ zF7Vs)>$iv#GMQ1-o-o0QZY-iTbWs2NJJV+c zO|Z9cGb)YgdmoSH`P};S6j3_CcTGe5L9T%z?jV8AtnyvTHM)crW^1 z$$qlLfp6h`@BDFg>~;914S6MB`J#oyblbUAx?8}Zo+o7&V7^GllJ1|XXOX^DvdK6T zBieVXZ_hH%rRUdRTNsz+#EWvAxNNxP;4ll_MP-!NgeFGVE3axMFE+x~IpnQO<{d`f zCRZoQVgHK!fd;-lzd}@@n26OCLUwCyn}vvAkvJJ|EVtKe#g2 zvq$_7^pR}Q-lZhCZ?J6&dP)EFWu@$xN-qiS8vNfptDOVvhf0WZpx%kX8~S~GKz@=@ zB?U!ule$xbu*Fw{?+kalJ%qPgx?1rf6By7 zpVEDQ2Ok7{xN*nNn9Hy~npw)@>sguy*__?Z!Kdo$T#Ndf{);rf<`0?W?%m)qV$F3X z1-)%RtZtd3JP*yyuwC#r=NmZZE4;5t;-~ZZ z2LnYeOzq|Y*Zx|0{PPGt-bx=ze&5#oV;3*(B0So60rR>HJ*9lg@xBW}JQwpbtYf~t zR%N84Tm;5VAzd2XKH zY|uGn)h(Lp{Kz5QqeSdfBQoC6TIEcN3>#|d&Sh?CK1D}j0~=$QZ|E8&W?Xcbi7z{+ z1RV%@J&H9Y99Yni>_=m*Gs)^Rbet1poi=A)&{%6G33u)N4`NrL{&69bH_n94xFGtF zndDGzI{Q=8P$tFZUKAaJK7`HW zNWqEyt$1iReJCAU;;tip|2l_ow*z=PW9@{6J;@G2TeEC1`hMIRW#W0m{XO{!{*%2* zb!lz>oHbeeSWdmfw{#l#D0LlFJ39L+TE0SC;So+8zAJ;@iU#1PZ?esda0&XyR_sym z@*;b{jEzH(PvqlVc<=BCbVi=17;8Zz^J^vd0BAj5_Jkb?KVc$2V|*LPQ%y{o=HCwo znuUgX-yrTy`4-s&XDF}abw|ng+HH1r?@#a_$_6Z5N9E=b%eK$8zh)Pz&I9DD1&5W? zo7xxk!<&mI%UR7ijY%H%=r;J&r)?c|glId9cC6t}JbSAhDIgwhHfI^c`+mL$$R`_= z)^o+%i5A~gzs|7}npghX;flV?ki(Z1`msr)fC=jvX6SZ+QIGnJ5x4Zq6t;O8K+$5g9VEs?ZhM_ktyLtV>C@|S5 zYM{3ZKkmT=JHYrC^l^SH-S>Vyr#V0FxECK1c2C`XS8%lW$9iUtl?Tyd@_2UcXYOY; z4EFl>FU-r}MUhE^|H-_(@c+MgIhT2)IVB$Y2G9S}9HssLZH{_l>idxX$=oXXCv)qv ziz1(%@vqIT*P+|LI=AE}`hS^Q4^i%an_I2m@Q>%#30e>%xYa$2hJ5+KvOy88dB@<% zX!<3{15;HA|25f{#B<4qJSrl#aqEF)LnG#uL6H`4*lG8O|B!MWz;;u{3fOzu?x`SGEZCE>jr<` zJ}9!^9#AzMzV_C@+?ciJ!rC`D=UhwsQDhG?v8t{;JXrqqMc^ViAL{R}A?`gp?tbB< zb^avT@`@{4;H4DVvci1-qR5ZW_@}aEh57kKk=x04s%#mlalP>GWlLA!Jnk3qd;_j- zMt>9dTO{8_f9=6E29o(r?ikor`RM<|)0AUVE0q6=*#5oP6(cp=+l_8it9jZ=-lKL7 z=jTn%Avd2D3z0|rD&>(baxVFzj3qL$=vRzOn0tVih1gH@G~+|GJqTQEbBXIGvv@Z9 z21WA2LnE@6XpBDf$B4Q_^D{_)r2Ub>U3N}#dO$lx08k}%;R zkq*Xd_l@kO@d3E--RM4nUXizf&$)>>b`!dTA{%cw58`I z(87W~DyRN$1YV5(rFA5~?V?C;=n>?Ow{F;57e&&6g|bp$$1aLkz)UJ^(B#N*>T2to zl5gVV$mhU9sjzD%M~(n9sj%-)j{F5!^z@XnD<((Y2j-;0woZ;5QrT44^OGb0qq3)^ zlzo44_-@Xjqkp9-V4<2AI6`g=x@&Xf?PrAx1)BQPZ zlOj4xdjqi0na;y`LF=$XEN9*o*5RQ3Gp)nqE#EmA-zw$dx3b~<@^Y|e5knk`-P0bP z_t=r(h-Z%kGdqq{qpLZ@PJSKydFnG&_qGS=TadmfZ?Ny*!*1q&3}^k{*Bd^Kyc_-= z-o`mD=lA&Npj|fU;?-G{{{*~pcwPjKUm_=0LRb7BxymEitUSuA^p)i8$#XXNHU5J< z*;R}Q{TxR>iG|2@X@Z{(`+II9b2R^X&fbNxUd@Nr=p;o2cLrwVXJWH!v-{PsZ+Bw| zxZA8|e!)cMYCml8xnXchrALS}C><#GKvcUUXQ-y=Be(<`93fY<~X4W1=nj#=*ZoFg5Ls6VTJK7j2}>l(A;P`|x9^VAtwA zGvLFp^gVn}Vb06H`Z;SOc~z%){fPQS9j>mO+=nBVT>0eh#r^e2dyd7(Hh-AXE29x{2>`eI%^81?h3)gv-L|J>ntssVKHIM|;LAE{;5w>)GIK ztt&xnH|P)HZ<+XE_=ZN z)~9^*hi&*|_p{#Y0w-UW(f&OMKCY}~4cqtd%E4_ZxK)Fj)<^jXh1+;=igF**&Pska znYip1+=o$B0?pPE`blvUR$iBpOb^qMhHPFhX zeYeeFUvi)Gn+?KsS=Y{X?Kgtpp|v3xN{biYdw;vtGj^l|+t9B2UpQiQzJEl0;4F9N z;y<|bGXGwFpseQ7riFQ&0cT8HpXcIH z$Sv97nPc!p*}rkdDeqCUpoa8WjM<`lFUF>eT+s6mFOHZ?PT26nCODx4cuA|5$9?|! z#pqpTh5W?km5U>V(6l2>`o#UjR1Aoj@SsRvXkdMtdWbO-zRPNO4)=)k6#TXt!MAq9 zqeYQ`;P9;Yc79J&#~!SZwYf;`NEdY5a=sbqOIxlCOX8|I!0T?pR3=cx@N=xYz= zq-d?XfEt*8&tXH5-N9gsj*j!>`dZ?S+5~^f-~+|ajU8ewaz9$?rLV)*p!E0p5+{Sb zVjcE{wal}1JI$m<mrX4AJa%Q52` zNmCoqJd69^@Ka60hX$NG1h^loc#?yyqJX?>@b${x5zQ-}>1I$oYyHY{`q2TAzmF*A|dYM{5Eg{+^su{{0{lKm-A}i4l$-~e!+v2BO&hRyc~F# zy9Q6dzZnT}PiLv>=dQdH@JW#n_jP_#^#iX=cOu*t@#@PjOKtAm z4wp>;7F}h>ZAbSr=qw-ivBQ@Q=%%vi@7`U69;^En?bvW=5?xgi$L`l#yc(sBufEV3 zLuch{+8c2eUoxa=Wbuz1ZL7AJdKz1Z|8nC^2E@2agEQ}*Y_T}+r?{3e|0NBmO^nT&_n6pxyV2)5xI>J!@WV!EHSEqnwseI`bcIIJE1^pp zcX{TMZ`b@`6E#OFS=ZzrX(Z;T1YIBB$>9T>j9dsW+MRTk^DY_GaA=2!Hqt>E>+ z?C<7>k#F>`u%rKg+Dv4g?7=&UQ?uA7sIUJ?UqzF}FL>+R$uVZ!%NsbS`x^j~R~B+@ zSe6s7&cde4T}JTHiu~_SisWBbIk6JQM8*C2gt_It5d@c#Oy^;neum&nc>Tlh{BZl} zv?bYyA0pmX6>gsrF6nGUKT%%%o3GB!F^3humQVQt$~Ll|Apbw?$PTa0PAMC_)hoLT z`l&228;3*mb#@m1NnnzpTHllwx{W&Ub(*lZmvL_Qd`kY_MDtnu(WK3bb>EIX1Fw9- zyl>;)q#$!~S1;#bvtm-jTvjo$f_?^*{!Q_Y7vGl?`;awIWn3A~9Xr~aD$V1soY+Cq zGlBWf*1ud}|d zp=*!!+$U@vu5BN=H7nCOB3UN;hxno`*~cpC)7Y{{rHvkuTxb_%kKU$zDlw66j3Y3~ zx{moF%q4t>86KPxHis)i*G%Hh)4~e)X&JU|JCqfval&P<(bvxlOr%S^ru$F!a9=&V z7Ja99QaF$`0p9-D-M7r0f{YvxTT8zj=5sgv{wa~DofTR6<8ZrVrS_wrWUpN9fUEMj zGIJw&kh%Y%vg{4buWQO0ZTM>EZx*inclZOH;C%Ai@Q~;jEwv&m?aZ02dwNE4DC631 zX}byddg(8_$JI)nNzP@H|8@F*Ciz_1v`72!akZy^NFUgTFJd2Feab%EI%OZOcC`mr zyH73+w|_N&wJCKEzTA$?st&gw1FpV%`4v+dh@%4-7dU7)0G zt^7DA(tNv@R=I*ZL>HMv0N$uXM``|%`@FRhK51U!t%WXsVZ&K-TJS>Yo;qVIK4zk~ zZ>KMh%)jGU6XP$w5G{3%LVeXY40ONccJ-gL7jB*!FHar3qjM0c`8JDw$j}DcI$VJq z)V$1Dft|N)O60dWrtWIS`UhQIt=^iXJA=~PwQ3XP^jyJNbSIPY$u-IySMDCEV6FQ3 z2i~~WF|Jypq-&`jmHW?R`I(fLPS(iy!-p%(ScCs}$gCFHZe?5rYkdTK=97w{sXryGhX&J)#v*39yO7NsZaaCXzvnt zy_4+L+|-)qu2IAvFH%|l^(}=pdBxmS$DLte6Im+W=3Q&_JbX`*ALVu7GW}~U|G&Jw z30&0G{{Mew1`)vp0Tq#C2CNZqo%ea4b2M)| zQCEb`cRO`SpA7Mp(Apb#bwU^?Nt4798_Ja2##3;CLwh=ace{X*AsHwb(t zcu$QD{Ffg|$mXc|c!p4btNvof!upn+Cyos< z3z_ZW%xf3vI7jh2FS5#;HL4o=Pb;#Is!nnw?L*hEa+=r@mx(W7&1G?9u-qcr$Ht%5 zrNuVi_ZIJGFFW?QQ^)CTYo4`-e$_*VWuwp&=$rP!`>AUse1ERnY%N1xuH;>Ik1}IB z09}nJGxh_(U_=>weH~9b-&*{3yxoQPJ<4{1UvfL=j{(^k(33ke_9y*nHII8A9b?16 zz}a@S(Pp)iHJ&_pvNOACTK~fVo@@*5ugwd0GY45UO?)~JTaX7BWlor%;~KQWn!7pC zX{`5ofp>54-SIPeZkIq@Id&mWjQbA7aYo2g7w>7nT((x}8YjPnP0hqsG@baX_>*pM z@>|5zJkHEnP5h($NzPgF0-QbT8|(avRLQ`Z;H`skbFk;^R`GS>q+d#YUqQOvzk0V} zH|uHjnR%%CJm)0_`<+n z&%MT1%=xSL^&PZ5%b1+GqwoPX;S)I!YDAO$x#`PU|69x4whQp-JZMb%IP{Yy_jfMw zqleu?zUAZ*KiPZi((M}4y~nb)D~><;TW3foAwENC3O98saZ`8yCPmw*H=_-41?ZlJ zyXAI+1M2e$_;4=cmtVs-Ig3$zsz(Su>}yb52sYusMsjRv)1qy=9dj02_=-(NdkCbn z9Cvg+LBFAO{dDkXCpc^(i?-!839c0ai)3KxjVjuvb-{A%V9D&$?u0IB2agnIQ=HZn z;{s_t%>!wn$v`~*BPzqn54<{E?#`GE{0H$nd9J}$>do21Uy^Z5oDWT00({qcZI+#2 zK#H+!ce0N-H#$o)NoSjDGW;!zEL$RZw}pHMGT~u%&Tn@)d;5|{=2!PmG%R69p{stXb$V$h|sO=5HmJkavxW4sqQ$d^SqVU(wGUEXkCfAS0% zIhs5sW-fm!BZc=lo(22m&^T)AUYwZY}$U+2gZ1WkzC5 z8FLsf`OqDwju!mb|GkU#nI_En=kngU`P&K0xz`{!tjR@=W=3J8h{R+L#$lnz%-35`$^t zgK5G@<0MT=qcrCR({u@@i6Bi^(xf#?(>ItVJ(#9BzE|KI{D0d>#_M+Y8uB7_CVbpJ z=S-a;RRJ?AAPZq6hmQ>p{*#^cZPI!_W*Z>>N^1gaNB~xpkTYAY5P#xK7#iUoJIxHj0~oU zGc~utyU-O`MzuMAxdHFStGUj5+Cf#HUAI#lIfwpqZ{>iQn0_{g8hvL zCR0c=y-}K3!89|1X%c}+#{f(ui+2_WU}Bq?R~;YAx?AC2z=Zw-`)m*W$Hy=`ADDPj z1HV1z^Mv0Rr#H3`J%hX27UkJU#mygJAB@QM!w87-d}ivSKeQFQor{PQ{&y0Y3U)~LDQa=xz*Aq zzLtHZrL9_dbU%+jJdlqwt(fZs@_u2ZF*Wn&tRRpFON|$z`0eyvgH8bwKl* zn6EmZ`AtsllR$Rxp6!6{=juE3&e^W14(NTZzDKw@Qst~J3p9qB55a(Hkvf^Nh=<&G-2@g zD)M~D`zF4(7y_!}BhH9M7m3K8N4a=M^{teh1+obzIMMht&j zaS2<^h>KJ!g9p9W@ z$GO2eoWVL$0(Fd09bHU@1GtO(IzZ=H)Y!ylPu)^9C*cg%C-mf z1P|}hBa*wC3_Gw%PScY;_kB$UD~TBfIuxx*HjA#%vrgQp6rw9fg6X*vx^h5QSJpaw zVbGQ6t10w^AL4$|Nq7kVp{=iZA9U2h`&37ewk%rM4=jT8WYGjP_MYw!5ZypmoHuXL z)z_k%!`z=Hx`7@8bQ7K$4sCI#NoqK>Rp8_a{f+}4PSO@}Cul1?_0nkW-4JaZ3(!`5 zQMj)dSbR{MTfK?3i_IptT5x*6X3yRQJgwh(>$CGMcoOegpKZTLG?HJvi+uWyp)}im zhG-?fx;U6_B6JmbSN!mZ8-{M5NS=J)FIs9%n)UA7>TDC4olp4z`k^fHiH203Xe*mM z#pDqlwNM^!ZZ&sd?-MO@Zd>*)zTK3$)uOR5=)jO>kZ20pnkyRn6K$R4Ti?1#iSSc+ zxdOatjQiXXk$tH}TjAMbX-hb?x(VFjev9mI`Wtu`ZG~rxwpLIMb6B3y!_S1aR)9Zy z6&Iu}mEQ!IglN|)-=eMX?0Ziue=L1DrF>}1Dj(Xi%7?a8eiPt%CbSi5{}^C%O8FLD zg=c?tTKV?|;dn|N(3VvPv}M%+ZK)2?)|vkc+Hx?ajcH3`p>dNA{=Z9GA$ywa2|b`2 z&36m49Qc?TbW@#6qjPH=sk@MQV>t(KsnhOT&K#-M^xIL3eQ!B)BItEnKKfM!y5<^m z(p=_&AEFPJ8&fg|UmgR0?L%gy9hSu{&BfHcV`DPX~2MpQaa*x@# zw=-bp>!bzs=W-`cJ~9-;R#FFFOrBhd8grZ}mBFr<&F0c=b8X>a!EOq53TN zsf}xa;Sbn0^MGMJFiZx1ZuE*`>o;q#6H+X={tSLd2NMji^{_^Nx}LSkvI8BT6SkH4 z`ZfpaW(DXnyC)`BXK@}xE;b(7?Dg$i>}M&+1{d+2w&bP<_;pxn3UgoSS1I*8(XINA zJ3Elq*bWq7(|7GOzB6|^e4WtGl((~cRCS8?#_DA6sOn{$4?AYSoY>`;Z^&NSrGGYO z-$xBdERLN!2wvGdE1UUmR5CQs&xG&O`oK4=;j%uxZ4c)^T#nASkMkeC;{1o*4tLGo zrtX^WqTDqd$erSt`B0e=gVoq#U+J@{OIg>SOYjZI_KUugaF8I{Q$cCmFwd=&-PY`y$YLG)Bp_ zN$Ga{%agb81h2D@Gs*S*9^kG{-k+2%pV@NoRpTbw6KuqLLi?H;%ZLy^mW>(v1?z73 z<#49EO@BeS_A|DrE8#os@ROQByAH!o%l=?36FA&2_`wqc>w~dXEod{a?kO0ovDJAy*J1zJeW}fGyPSv6D2$layP#!hzbI1?$q-=VtQZ}S4XhJ;KKhyZGq(07?xFZA~ z+0HL(rF~^5?Z$$S@JeH$HdJs9Lm^`Wk6Wa5pbGXWa+bzE2lNtvb;!s4+o?^-jFeLr-^#aXmX-~Aix*km|InD;d7@b$@N>mlIb z?`IksI-0HZ-ObixZH;wi`ehn(2Ya2dXF9ub0tu`JOX(4CQ2JKB^CBF>K=gz|<(gq3*h z$PS0e@P_kjYBKIIH&%Ni`5lGt4*p)=mi%tTcQdNG6rX9g!(O5>*hxLhCvrc+`p%pE z7rGk;biz)BzvegCRs&-cR;4{3*x?RTLf68tBF4$x-}vSee=GIQ#LuAO?y%vqA8K5R zxZmk8WB&?xl*=8Uhk%6*yw_Ss2re6_*8^;fi67hvnEp(95BJ=xX$04eM+esjIUd5UhKdo~02pnMqgXM3emcp!Wi?;MQ{+=D(9N1XO}u@|x7 zW!5CE^+fz2wCC!6`sux_B&WQSyT&_qrM3Pcd1}SYJ{h+YJ-}uB+l<@4&B4|>EB^f=hly+pLH)kDz^HF$LyRt5CZmnfe z=6;u_xz9{*?z^)E6Jn%~ki z6c?LevCY|UjZTIAsv(v$v9&HYJ=`>;(D&&R(vEtdF`L=HO?(0Q!hXxZ86fD>`;3pyg_$&+w}x-Z)I8EqpXHbDs*Um~ zO;gIT;^d3%Z*H9<7Ee2hZNf{+nPc-E#?LCLE9WYJpNcOhPI-?qUdmgnyxg;?{pyE^ zJCTOA{1i$9p1bNv!xyY3$?m9RQ{pGqnkPJ%v6` z%A!|J$Oh^68avIC%JFktq4jX+L~*-lk9b84a!)j>xHp6S4B@`<`?sl|W?A6r4ZeGW z@1{H$AAAOIxxa;bzt3D#S*-IIfNzLL(4JH;X+!#fC6CVG?j-uC_*a12NXGWx{B@2s zrLn}J#Ft(r{PE7U%BlsP1*8`oT%Tm=(!zIhb5lB) zvbWPN8)e*{pX^imWslgncch*CCoH^j!k6T8C>YqmVgFK_FOBlbd1@W~75Y|-e_;hO zr})?7Y5vLX8eo{lys5^Y)t`38O?0u&QAqh&ec8v&d094ZplyM=Vym*Ob1v``P+jOq zYiQ@|l=m@kY7f3$N8M{53aeSuJ;pZ^x_s5{t*M}$;&(^xZoedsJGO-f&#EoV$%<}d zj*hi?utd;3f4V=M>%n&cDpZ%_SeHZoRsU0G&O!Z@I}A%+XJ@m#frO$H4pT# znGQ2pYo{K{ZajX6fM1B7acLfIy=c;H4Ztv9NWV( z{BW0o&w_6_JQCl-oO>NddzaJqru5m#-M34@^X06yzGIp$sULxCF{alt`22mW{ifJW zZ$mm4>6CX}m|5b)9^hg9FJ+XwCPltBtb+W6#} zI#afde&o%vE%7tAw9}Vl#z}pt2X^I(15aK40B+yHIE7J$Wgj@@zKGW=Ri@w);!A1R zHCz#Hi%*AqWu!Z|WnR?78RL^rg%>=pg-?5nZ#e1&PZkxAs+LY$lx*LMZ)xi__I6R& zcT%};Jaq_l*V@~cd^sT_y)AOTG|SHUCb9dZ*R)~oY$)#({KuCi5fG7Gb9jPDRos2K<-IUIHA|s0Uz5mC6A45H76`ri`^-A&V5DdlB#joqA zS1_z;jc*uy%kB=y0MXK`z`ZSfE5)biV3a960*`VLmk)2WcsOa|8RO%8vv4!U)VxoB zv=)dw&3O;`R6n~c$HV>)@O)wy@a4-t*c(H;wQg%h#V@fTPhE_Y4ZPS1UWm6<#M*rS z;ao94{`RHtr9!)j()!;I@TO~M?`;>G);l<(YMnj0bv=AnJ}T1howUuo+roDs(v-Fb zM&jY(<^E1KpZfMF{J563p6p|rsyBFlnY{oiN4kW62>g)rE2!TAESAw02eN`ZIr^@C zK1RPh&^>*O!QK()@SaS^93!;|cq!cjlF!Ic`N<=*wi#^U1{&B&U3Q%lM)`KimOR6j zGwgTLYmAb~Ym0ER*AhO44aOE>YHI1XeL+OcG~k=bZ|5LKjnWQh-2SXv1bnMxR}}xz zm}|U4@>~0Ir1xmte}ir$bKYg`do1?GdycP-`4W5PAl{EUu+_oSuefE>FU-a?u*=6$jydVsfJ6qrlJ zRZZdju^dywnR>m|k5xL0r8~Bo-;b{@n(vlxVCv&n3l64x(R^%2?SPG0J+0_Eej}4r z-Xk|M4@K^w7o|!LCTL9HL2&@6o zCT4+~s(%6X`&EC#@zttZbqu5q&QPmKCcmHZv*1~(%LhzS84u|vzd~!8TZHl`oopS< zi&K9?R-VE?n4A4RGhp`&$q0)sk(ir>pF{`C-Z!;4IzMVL$rQo!D7LRY#heu9>&C`tY-S`|<^2Dx` zDp=#2l(xanIbh9!&5XMjj(&U)xEz++8T@_7dsu zicjLb@tj5Us&$-LU_AnVqQL#U;JtOW5&9~;g0Z)3claWL3WYb#s7@C9N$57*-T~mblQ}+5!)b9ZQt>5ThbKK4n`Cw39PM{xwz4ff^p6chy9Y?eA35=tB^-cA=utTM@ z_fGAUJCz8!DSF{<{FP{7BvD28rr|x@@Ux^?7 z5=GnWks;aErs`r~QIX>g?rm&S)q(F;TKGy~cXWX6W|;2uw&LJFzlDCoYqUP}CB8sK zz(_hwV1HzSWuGmrFvBjSY|b)o=SMf61+IvnAgfnb@UFBy_S4o8=14lIMzd8WSZwa|3*G4r@=fz(!@R zBc0|cz}70eDBRRA7QUUtd&p-fPx(~-dh(?IRhfY~P);T=P`V39qjnXLzXy-e0twI&+WZe_mC_H}&H| zbP|id2krQeaA%6-hl@NR`O$-V3m?J<+>>I>8J{PwzKaLAYEyhwyq8h#EtItwSy#(` z3o~?p>{_c0YnyezDs=wilY5T0TgP|j(6EL;Ki;TxrL0d-UE)POnVV_ zJd0=JNCzT_Xyl+1Mn1?cfS}YHA$#qVaeQ znCY1ujK_Ao2pYEL3?Vz8))DrQe<^i`+9DWAKeU1WxzjsNLuQPyp%?y(I!l4moG@=p z;oY_+MH32-?!2k91kTLu+m2tQ#J{23XG8r}|??=AHT-y`_RQ-;jp; z?rX}?KWrnDkDl!N$#Yf2Ytq0`aA(V!T^)R-`5m!SwAn0Olyl?`yvN$WATwa_K(2fBgw6Ob$5m}FxT5wd*^_L>hET5x0(27+{l1r{D#c9 z8LWZXC%%gfLTiHacslVBg6^hv3H)yG0#he8T(|Bp0!HPm^NR+`S?BhH7cOk#vip3_ zU4hYjS3Sv;;V|(fHpK5l)^<}3Ph?{%_T`B>AM)1sUFj}tEyv*T)_z8N z+`e+`qtX+d^u^S-_HClymXqS2Fu`+9(s*X;`n@Qzc;XTYJJVWwzXSi%bS zLf}j4;CH;{b758Gi;Zxsr>A+=cG080d$8HFW-;bWH0 zF4!B=={$7SC>ND;p15d~^P;SDA-*KL?{D;7cQnJFs`8*0XY_VybSeMzlZ=Gxc^}oNM zypfs2c}Qn=Cf4QGC)OFxV>TwSPUkZFd739LtTTNFZ+DW;?jmh*nC}|+%-T#-hfTq^ z)@@Fl-yFho^t}-?S`hTcAuPEHQI}S zOc4Bk#3m*A13sg_$ECK#CR-0*G#mRjKyz!dsJnc(d=fabdpGA9d~GtYN90s+zQLoi zo$!ryi_%wR|5d(P?v;vwuMzKr$5}D~{_X1#ZuGsB?n`Th&(RrQWv(E8*@HCTN~&-$c8bZ6{sJ7gxu+Q4 zzfbQ2_^&>Q#|OqfzDoD6==}%kR)1yhv}lF?s(huBuBY~lpsrr*q5Oq(N6-&y*F#f5 z91o>6)H&Pfs0-!kLY{K$iOPSC^ljzAmrypw5dPgud?@{er2i{jfVOd#Xkfmk_UTOd za{N#1mS19EO#ek6TCvZ~((~#&)G_v}Je%Mb=+}n68=mF(s0au4Qm4}8@!bVps4aqF z9{slgM~z*Ghuy*WtuI@fgZ?q09J#fNa_aIyFpeKG8n0VgvAr^VE7X3g5Jwx@7Ube1{8Cs?4bmCS|K`=gsA zQ(i8%zzFEOfVB7mmU!^}b`G-cCTT6(hUWgc@RoVBzh5w3`dtWCg2Qg=P+bMop}IW5 zIvnDmlraXKa4o(M-%y5oMyG0}^^&H5wFiAy9V+Jp{DOTNPaia9f^!8ha8Z61{m1@M z66ljDkxWv5T$D3A*cTV&=MFIG*qT&F>waBLhQ6yFjd>D$&w5Tb8G5QOHf-mXu1{G_ zS_r1Sg` zdJ z`6XeTP5ve4m;4fh$2$CiY(ZGKG-lJW2hpDm;AKP*kG%LHx#*J%_}GD^@HdHiggaUE zV?(wlJsEqRp^pB*oAW&^csHi)lRi2DTQKrDqaU~hz2buy_$^t3%*yakzP^cW48LVB zf{rcUV%05tQGOfiMapYEgZapl7Ruu$t>y=zJfa7|UGyNIz)Z#}qz8&O_n_T9>1Qwg zB$w03ukl`kO=t&ts_p@R$BihIYzFq*?Xe}EK5q7!nv&HLoq{kHB0I92Y; z$HSTngHNhU^qa<0{mXqI>8Nb&rPQ~E`Z&XS(QJFt#4A*1xEbaruX(peiD54T_NWr= zck)vA8`Q1wwCZhSI|%84W$;PqrobV_tU7g_EYyG6QB@Co1P9@H1AFqtdmE5dq5)eM zYt3p+JLVaV==8dy_8AM?p(8t@`_^er6Vfq^)^Kg!n9js`%uNf?U8EQ9(-@SuEnCby zC&LrY9+@c4R10Ta9=)IUJ8XQvEu6U${hmJh+U>2m8|03brlGfOXs^e9Z`xaX@ZF?g zXMBQdhGoA>^%}?=alahjXFrj?@ij#-$dRHmL=qGvqxnE?U<= zWnJ^6-{WBHed60|hnqXrJ`>;((z7&|hVJ0q@H=;`FP8b@e&|CyBz6iudz3G^HoGPF z$Z#gL=ve-3{VKor8wzq(r5E1^8?lrgr`}Se2z_hlV?aqY7I>74%yno z51ktwmRzMhtA*2<3kEVL>d-xNLDL$_*L;4pm5z85meAcv{0W(bPF=)z7wIy2N_GJo zOQr?*@T&nIod6%MDo4kvK&Hsw0)89gf#xcZCDL=t!L`Z6%RWP$Jp(#=Y}G*eqqvjn z>hA@0-+=#52*=97XYp0+Db_q-?HphpWy^5Vf6;}r34D$;rCCF_hf$Btij%&F-KBxP z2gbq^=Uatt_n>$ccQN^CUp+9ffxAxh-+KA_J2EX@$qk=#5$7}k`JcplG@0Vavs-fu z>e75b`ikWDL-Zqp@7DRX#HDF0)Ym_br)j);01u6A2(LoENx#nw!jQg!OI5>3C%Jq? zYeuYHk zOEQjq^ejdyINwg# zME#s6F#+B2*jwh$PS-ev%^!pfFa@48w?5W4hx5KhbI!z^ zd7Vl;(De*pC_GK(8HU{q-W69acq1#M6CdDjJ@4}Q5A#;XEHz|& zWMldfuL$X2%zdhk0wd{PY;M~B6Ls`KcJA5BxplzpE53_vd-Hb{fANkpd>M`u-*w>A z5`19TkI$LW9k7L=gAJOVJ{OsKpCdMEw!P`ZV&K>l+RQ_?yGfUc-qkbBWb|M^X9~7& zr}Rkru@@SA`X<(RzMr*yMQ>yz>6XnjI+w8_jCA0|Lhk#(P92+?%XyIwbSCH|$By3V z;VE6y6OCNqw{b=$D_Rp4)|{NL~IZEd*e1`ik^eMxXQ?C6ln__mXNv9>?!sl=5cU&T{Y zenltlEP${0A4VqKC*J_uM3v*ekA9#hJu<;r?I#|sp#(jv#)W=oW4*{ zp7_vQ=k$D;>}e>(Rw;h5lX1NaI9etVOoJZH;<0?2c@T|pl zC|>y~_#zl;-kt!=>dE6O2Cm4sJm#C&tmXf_x`H@6aoES_>x=X3Xl^^JL51?jWQyd3sLrS7Jle3h5jxSaSvT4&?9c2=AVo&yh9 zZKF)xv!(VK`Vx{ACwvPFFG044GEAfg8d;vciK{s72JVhMvSJc{0XCHjKRMj zKhfb8$D8)fnq?a<|2X#PrIvwnjL(Q%>vLZ(b3Rb z*C`IYRl1Is-{Q-POaV)`xPCHm5UC`9`X7KEHWYnMh zJVUT&E_$M#DC*%nQsLhMLwPRB21ZLZQf8<>wT{3%-$}bdWeg$DEx~f?$!psJZu8v* z-yFd={k}Z-WIxEFWHwHtOj$(kwCVl{py>6V{g%F5C>EQkQ6-kcKMi-0{a zV3%xLb)AJP-kdL?87JSX_%8a=@A_ce?>z5h4mTsxG~5n-+-f%s(x;W?sYdDl6-AW)JM2GLET)=ug<(`h0A)HJ^J~pPE&3{z} z_SF~vOBqpC87KLS@GKTMOJ8}F@}%EjFIo^gD|U(6Rto$d#dZ*C<0~~V`H!m*7Hu(AzU+z->G$+oHNNj5(oUo z1z{%|jKi-{uoLbIb~;Dc4h=)uPnt`8dj1Z6$xgj2SbvicESaIvrnPX@jIy<1bY~UAfqqp40cf*gf~(wXmE%IDnBKKLbsuNb6_(?Wc{u z6L=fOP&lmdm!FBN)>-1D-7WS0clj9mzsXmlv5rUXKwG}cX|taA@0DK0?-R1ZvbhHK zM~aST8~Z-5@DchHZE9>q=j^}OR>n6c{c?;8oQu)fgq19Z9&}f%6aAAjE(Tll9h5bp z^8A#SGETPiK$-HFRGHz%ws{Zq`z7V}C(U8vb;g7IVCx;7kZay;v_-b~t+d-}SNXX7 z^gQhTDntAuz=NJYu}^L_G#^X8^4nPh<4gk4lYDo|=Qw<#>vDL(PVoW8iGBXtDrR#3 z`)qhZs{xf2t?c|=!k?p3{?AM21lEw3&4EYU2ahO$M?4IVz<#!Nwj%>s!#$O;skO+2 zX22EuOE6@%iT#nsV_~NN3yDlVS)hEHu4$K5M>G$Qp zN8^#to=(XE!P#xX1}iOfRV8E3&!-*WC$8t5?P$zqebXFY=_}AlTm$SE8F-Yt;Ze$Z0-Ku`en8t77JiaM74=>XF#^sMdv+U3K%@LOR zD|_kV*mJ7=Vy*aV&0jQs&G>7{Uj%Y>ct$(m8$T@4er#^0rSEt~e>Pf_%c;2Ps$Iw155=>eM-RnkU4OZX7o5 zxNvWdY%Wo>eWK0LK{&ty?=X03M!Q-w?D(13&nTmUc<9_$0i3ipqr5vgv*b;Ff6cQC z`SGQM=G&*z&t9juLH$-6)bHzP!%p^Alq1i*g2~0kr#7kW?Zu z!{uMwef}ZthA!aI+THeyBF;&0L8nI?O{$ufC-|B~tXu5&+LqLh^Q6}^x8>ZPs=bUa z>p0pkzpZ}4^zVe;5__T0rS&4Ltemj<73u=sO*rc{wzp)szHS)A~9I4#?k%1PqP zQmv2uw{$97x{Hf8?Bp5B_ug;EN9dbm!f(v0bmq~{J;&2t4)(E@wyKY^r>*0+@RNB_ z#uDm2gFKL{1$)O%X=!%-8?lu3!po6^`6=My+Hla zRg83%M)WS43DH_6aJm;fJQJDFi7~pLJby`_r{%$3en&gfKlDFOpCNwsKP=ngL0qj5df* zloz^d&?|5yXHD4FbmB2bL@L63L_`zOK}3l`_j02T^hQn`XWjcb?1$ptUpv~Rx{(K8 zgRjTYN&L_|^C*iCX$^H5bv+&AM^97FGU^e%#|7n|_NFZ{?V^r2nx=m3NQ7_7|F-GA zTFP-x9Ge~+EbD3JQ7f1`S$H|n-S9N__{O*?yi{3g+e}Ad)Poy1Q-=2aO8cA}j;CGM z6rcL0rkj&;Lp((7Q+b;6h1w%|Fw@a4syVRl2E5aQxGLC>LcX>DMuPo0ybE3z@VuZ= znncowCn=5cXgpVe-w*INHHhnz{{|1=3*jxeA-r%>&iKDe82Eqf{ck{;eW zHEl*DY5xj0PfKUvwQy4QEy=BY^hq#?X!NfBslUR{P@2E%uXyn@>(4nM4{Pb~KFZac zV!Z9t{{AT~eK?ucdrE)*ds_F2{{HuLUTd$B#>~lIC39IXyz5&>v(4gJ(t*XpB&VN6 zZi~hqW}hi*)caeb7qyJ|XmLzMg6~;yw6>_#5;te#>?427T-&f5&K=5~V5WBOUWR*e z%wU6z_qH+EBwAKoi9Mp9EomQnj2pCfvtqa1cb%ifgm%WhS+K8%2FtJ^s!gdK%sZ$()G zvSip2W1>nqPb(W74AGY#okHaZKlEEN)f`GnmmK+oJH*wmyhikB(BDGo^}BKU7|KxJ zv2Bb9@q|!%>D8uHAaB5TFTTn~ejDe{+laT}mvxl6iR7O6K{(&wi4z~B?n6O+LS?N8 z_Im~W7HI{9DEIG!DNx!c+ZE z9Zx&LI3xgbm3c}#h+7fVMOKhr?MMi=;|Oq8I|TPq+VCl3y9*x!FK20mU?TYW(QlX7 z6QjyFORE#}L%|=t&6;nB*9n*WkC>Y6iiLSFAqD~o4u_K$MHX^Fo`j-z;Lb!-+V9YA){%}+_196x#$kWRTajREv_(U z#BfhpmEywKceE#V?&75pW*X;*RuxfKaV>q|URBv@?9kO({9%Fbh(h~qFKMjp-oW=l zyS-{Q{ucI3&cD$2@EI?u?^b-cc~P`Cmpz2L(V2_UbLY;QzP;Ga-a8 z!fM-gyT&@9YDY5XGMf1B{FK)TSnQfP`=!~~RL(veIBTvk9)?y$Ejna%xSx6=Sbt_064v8~E%C<}gzTV*?C|NKdx_fyvmIqTnA*DgrlTz~rH3C}uO3oL&H7aH4L zPW2UbRLL(i;CFP zdY@_OTh^bwJOu%Nhh6$cUO%|kulb0BMZmjX*wqKUyt}O5BM*A`y$*QvYd-3ro8Q8p ze$71x>zkHw$DG+>`TV?LvurUt%Q$~4!hg_K(XlS+zLs_RZeMoqHhc7{gRVC+8#3Lt zs!V4`D_(7}@muS`U-D;TO&471<(zRwj0?VGv-ziq=h3zt!*A`MG|?Tcw8A5$cOAWJ zp{-Gz^I%4uIeN!J=fUmsWxbLUH;vOMew-^Ay%hHm4YCX+a0p)=lHqCTs?w!Qz}Z@BKRR|{2=+Gm6}l@*wo?4DwmF$UV-uJF zZjU$}Ztf;#Bx}HRU-oy@9Ul-FYd8L>W`>C|Gotuw6XR~(k+Dy&`{FaJe+SlqdsaR5 z_i?ZE+JmwIVv9YXw$8?P;5hI+{kzsclED=R^TsUahJ>}G%jFL_Fmg2h=tY!)%sJpu z8%aCL?maHJnts0ro+ATr_A)-5u)}y(+N`tr1g~V?GgoF>^9;r{M{)4X)!H{#PMeb1 zPq^#&3%x6lcciTey*v3GfVVeBPuiSgBQ8`%sExK`x%1XBr*i50Ec-m!TTi4vRyI$+ z-A(rQu5W58ceS!r?rCSQ{3^*&`OR5jmET>^r1JaT;gvu3Yg)N~U_|A?Aowe*B!*>yw{Ob^%XKQ8vnRfvvRjbC$y^Cca|->W#Sdl zAB~@q{=r;#!wa_b-fP*%_TBgn!zW)h;b=7L`Q7-7VcfP1XkEF@YmkZVm&U>J zd<&j|sWJcN`NvFn5x?slWjnODjQ*A`U_DLve*^dnP2-Q-u}(N%e#RBi&UjsFrh30+&c_F_jJ_7!}OPnPp3=>k46&~A_) zhVqC9&V~*yU<{hM)9X_CYu3e7w!%NWD}Sxrw#s2Vo0&d!tyAokk(qt#qH@yfBF}YH zHg~4ioyTAEw6MyS6{KC7Ue~g3lggpQ`L?9jMGpwCyll&bbrbk&)}?7>i|Ks#q}R1b zkEm=ljPm(wn`Uns%unb3!b;|*CM@nWvi}z>$(o@OZpa- zt%vumYds}k-*48%UD?bXPrKv!mPxzgX?HwjWzp_<+MPgK`_t}3+8s|@2hi?#+8s|@ zFQMJ!TN+PWFQwh_w3|F#2GZ^hw7Ua!52D?q^{D*IXgB5a*E%Jec9XU?p0*CA-HEh2 zk@T0-?nK(1Nct;icOvahq`mHj*25DmnezXFPK9^%P2JEt=W~J+d)j3|^ZlXu0nq#< z(EO#){6OgaGUz=UdLInEUk<%r0li;Y`NzN^m8~=5>-G;ER4H0K0KSMG53r_maE`lS z|G;6DG4S1JcSmTuW1aj#@dx)opAE<7*tQ-TZkP+`OeUSv#JNm`Vfer`sgxcIe*0pF z-dWjZ`Uc$K6%gVanZ=XUv#QT{er}c0+^SICr}6T4&?@PCk!eFB0)h@U>bV zZMJ$--d-#lC4BTif9ShPO;ghd(1?&;@L%)X`G1h- zwury1X9H)G|I=Zj|JlZr$X=jzg{&soCAO6Hi(TBai!bzneaO5>aM{v@Ohz3(k_)r& zT}tWNfBQYrwb$K`zj3td?S#v0%~H>t)M9vR*ZKsjAGV|&+0Be^wu#&~2_L*9%22$@ z5e~iMT%T}`t!e6D+V-_+J+X@ZpKXiYm(5dlvJ>C${_}TWee(OAfBudxgq=5|uG9FD z+Y64)-u@l33v)fNNV`lQ_sm8p3xr)%WTh|uh%{=!GvW;~$@pC8O0 ze0onW|5)&Q=z040KzV=ne-mRz1)`M|0l0n~e0~so?g>68?FoFJ9(>LUKIaCX4+Nj3 z!RM2~=l)>+h^2x2iNWXJwdalHfpq(W&y*E`_j7|!=R1LSZ}9o?dx3X%u-qqq47|S^ zd>#uvoj(QQ2Lzwvg3kwn&(h%Y+2C_y@cDP`{QoR%|Z_|ecYI7H|I?XJ#QN`El?wKRSQ>}@f1z44rZG3$GV5X z-efFd<9W%nX?+UEYPa&AECwwhX z0*8t+M>&W2O zk@|YY<(VS~b~`UrZ5ox09B4+295lcbjw!fx+8A@oWD7P|4jFM-|4ZP}S(o?d*2meo zQ2)f=U6JOrZx%Oq>HDRZ4RsD0kmH;(ZF0ew!a_?pIJ=CQHtnL$qt7N|-p!MolP2GU zXepeYH*LDo-83!l=9|aga+C9tORpM!$@%BQ!cV4>aB)tbOrE^a&hfWQA2aQiyh+ZS z;hD~fWA325%qs`v47qH8OZ^&tN&l-{#?7x#0euh+O6VLr`PN%TJ5MV+r}JpzEEqSY zV4`zMUST1n1>dYnZy!H>oRf|@FLHJs{ih~bU&(*6r8(#Ent3yw8((l<0FvhkTIbz7 zdGxK5#+-Ls*YnfNlu3EhFCdQ+U64OHZ`$Y!@@Cw0K_IzOH~M*gfoUvs1ERQ_q_ZaG zfq6TA7DgQ08GMHL_~V-ccwhTb;2E!7tAs(p_@Tk)h~QJ-{{IYlV+zf*@e^(toi~Oh zaASr(eR$aLF`0L7Sk^A#u^Z3ovw7k(7aq9eA4$)Q{Po#K9J>c!^=nt>FE`)zobR>| z=5@Z@{`0Ya?;Y~*&8csD2lPDi;idU&F1zl!&YRbMa&69|=goQRU)x>NN1i>t{;~n@zW30C``6z( zsy3arFiqHPCptxJYUQdr(ce5(bpZ#4-|%1_%m|Bn?L|1tdhH2+nHD!T8S-{jVPzbwo6eoj=?Pab!8+0+|{ zMc?vf!+h7p7lnWR*z-*;{`}H6zq(@0gCl%RZrC_=^1s5vj<*@=N%`&Z_KUuKbH@k$ z-S^-A)PHVzGwYjG^Gfb-ntpxzuRs0q-8%+G&MN=5Ro1NcI?g?+@tAY3x7nZ{&guT_ zl-3=uoOa!$-;THZ{p$34T6L^@{-U!o&g(V$KdmBND@KjmI^y~zea`Qd^5RXA&0Bqa z%_G|$`*HPCz9k)oyj|<9aDJ9Ie(>$rwM~dgjC}2pU3*jgwf*ap`<~IRLrheQW-Xt4 zr{rMG%2&>Nx3Xj0J?#%%b9vKSUwHlVCw~0hGka;-nYJTu{5);c+ZT=x-*fb$*SEFq-thd*u#Ua_T_V)sF_mv>!8xs$)mp=xbcBwD--(d_kVouU046K zphxmMS6+7Cx~=K|`J>|f2YN;Q>+z3@eqPb#i#wN}`OvGMEL;0rzdirxb8d@;Glnkt zAa_FkrFV~5AN$}h-&B9R;Km~v=l}e|hT^xpH>K6}Mfn>ZkrAuBiIp%dp4x>|V3=sSfidTwa}Y?z-8- z##|cq-Hrdaq2~j(!s++@dVXfqZ`Yl1)5|&AK3&-3>gaD{2kyA}fxLe&zO#9G?}y@! zUVDGv*nK~qRr$}J@8!Mv!`{T5eP0}S=e1vMd$M2Q!K?20XI%W+-tQEC_u-M@*H`_X z8#no)FYoK0pFT8*8#&I?0rlq9kx|gn>w&9Gn%{%XUqvW!_T{0hSaeS(6WyTjT zH;;I7&+3mCth;)2-rUVIr@Yd=Zu+Q6gR-uv-m<))VAI@LvyMJ-`|UqIICJJNEe;+$ z{^rDqJ6@bT`HK;6zwH~^wX4Trv)L}W>->NJd(BtRJafh3+iv^* zlK0<#_#ef^N$&UFyZ^qs?)tUOufP7Z@7il$dT-#shobiH|Lyzdp3A)HU;ldf_lk<# z?_PM}lC@7h+3Co#Wy2qvHf_)KwY5vuzxwK}iNF88^Z7>}xoELAC|Uv@79O|2O1ukI(1j!#~(j4yj!>Yer?*MHV+Gn$a&|T zN5^#Pbm@&7HvFSYe0&r9u?fY>2 zS!Z4O;Y%;gF1z*C?>aPV7W34cIcH2i_uP@^CnThu*P%nNmu|V`vmdX!ZuM_||MkD* z#3!oM!vy!pZZy!F;igEKOweUY7A`mf6`fBc(~BUfdA z^wB*Nw`_Sm^{1cS-dj~Qr0s9N{qT1G{`da-iYpdh)uYGQ(tGY{{m~_t%#Utp_%_^b z4=b8I`;YxYhx!Nf?K|VOva-&*SFRjzhP%??pqa$7WMpKz<_xf?b@Ax&Bl$79DMretBUWw``EyXF1qvC(WBq} z`i2``JEwj7?vEB0e&zRgY9B8uYQJ^Jkf&yU_Sw?0$;kumPE8&0%z_0M&Y3qa>itVE zectf8MJ5AsOlTmuP?i0`}Q|~diL4=EAsOI}r9SK8 zi)U?Ivu0}5*s&jcJZR8@CJslq?U!GU#I$UgxHK*I9gtQt@r->o3(4v zBH@#@YsYl^>Z^Zm%F3EsJ#O5V4Vjt6tDbn`?Ay;f@4D8lT6NsKYSqkRBSx&;@%rmG z_i5YqT+mkYSxxq&pliArQfu7&_VU+(zg{_nW`qfZIzm@MFT!#{I$1O2{X)BvcXN32zZP5RMV9CR|JyOxQ%&M!183G0eG`@F}5|@CRWA;X}f8 zgu{d+!smpQgdT)>grQ@!VAG&V<3JYoDoi_9>Gww zFMJhk3ExEb>XXV7Z3<2rSK*3qK{O=#6CSGHq9@Uv#zbQ)nh{*oUhy8`ukc>#N$N28Vm6f(XQxTI47JG-iYsruZqtJU&SMZ7vg84XVH}C zS9l=27C#lA6dni{ML(i*(T`|ZI3^w=JP&EnCbfAJ*o7V&Q3ka&rBm3WcH zU3e_sEFLa85iJN8#1ld|Et(gv7H)}Oi)RV9#E-=z#RG-sqJQDPWP z5%CxCcJWrpG06teqxiGeNES$rh(AdNiN}eTh-ZmEh`)(f zh{uSRN`{Dsiua56h~_1KBnQN2B~Qe!M5E$`;{B2dk}u-P;&YOxqEE>m$s6%t(W>N^ zWTs@I;xEa#C_kJYBp(d`L1uJVi2B{6zBY z@eAf>`3Cf!`q6K-YnFey=G*JnU!8HF^?_@b757_McVpr+k5@JQ*mnJ#n78ifma^fl z=2uO>;jL+Zy!eIp>G02%Oh2$>-MaBh_S`%0t)DjiV_mBc%A2Q5KKI-6s^(75{;YD< zs88lK+?F%!;>T~^)NSRvXE|2AGyB@Lhob5?4fH)-H>}|O@SDy)JMNyySI^dUw41_CaT@d1F=D%gqxrva3G6a>)BnUVmuv`Qv^pet7!i zg5@*fX1qH$!v4+!zaD>U!M;gDmmOK!@YcZ@Q#XljLyD4~QkEM3>3b-MZuC2po;6O> z?fl;VAA4^e*W}Uljn8!@K!5;&ghfC}0xBYESOtr6v1qlTBH(T{VNnEBHWd|1P-<0N zh+^foS_3Wxsx7Thp<0PcTdZ0UH`>|?xKxFFQNP`LRnq}tUa%PWafd37aJF|ba8SjW#A1=1Cy)V20~>l4 zlotPbWW9&9FKYTyF#c$CM8O|V>|`pk`77tKVII=7Wy#4)Q`6I=K|!f8@xI=}mM%$J zIb0g9Khcun%tsoHqpVo{sgpD$YUcb2lS9I$g^ryc6ciCM-pg}-#Mn0@!QxZ=GZbi< zhE#L{fA@(<&p&(BDllzvLbYhgqVz?oq(!SJ`!aRelJrH3<4|bo@NU?EgF{z7^0Y>S-WN;Z%7tdFrAw7p{>9P7Z%Ab?BMHJI<|IJT^>7GvydeZbN z-)T$YGLqwB(&J*Kss#&ZeO97Y3zky$YI+=zvBcW8pMissz}VTjzZ3b*90w%kh7{G! z1!&-_eERAKrtCrhEqUn*^ifjW^0*}MPE!HqwB$H&P+uL2QQ*)?*v3UndD}~q)8pb$ z+w|Bz=K@t)I?l5sJ$%Y~>z;Rd?>oSz=ew&n99ii9l6t=@d*A83ZyqV>{qJ$D==~b4 zf4kv#rQS6Szw}Rm!*L84@bG!P|K>Ol;}Ih=4!>T+_n-dz;=TSp|0?zCzW?n0p803L z@#GjWWqbTB8B^94ar)tLVy-Yz%tB@nvxKQ(zSF0?!C0`DDVpM#*3-+|$9JTkzbZN= zHg3Vf_(chcNsE^(O-@NoOJBBpMaIfiG@k2%#p%)|%aW3Ym=IU}n}i2Vo)98crAxy@ zz+LYF0AV3;NB_e8d*Hp{y&gWWU_;NlXLi6jW>inOJ~Dm+I(owS{GRj`z2O^r{k6Ss z&%mA(%4vU}KHsY6+cU5yePVBTre%+RU$~;yB8cW78qwn)(EE<+efQ-4|Ngu83Dwu~ zpZi<$A1?px|8V)E|HI|?{|}en{rEpS{(k-sm;cp&xO^&u`vUq021Jax_Dk06E4QYQ zHtCTUQMcxkHiGxg|Ka-el|Pb>L&%iM@H7}%mNdPm*X5+QLogrmWz(-f78r8d9OR-> zpeGZ=TRHTKmQp($)Q(0F;jT~{=(izrq{UsA@lUATs(=62SHA7PDc|?C@~8e6%6I)Q zmOuJ`7{31w0)6fOyZ+zX+y8i5{}0!%ul!@Qoc~MzU$6VC|J$HD^56A;&Ex-G|L^)Y z<$v*7`Ir9-H`tScW{EYu@>2Q^L-r7s1FaL~sKgMs(?hAw8 zIF&v}bM8>vw*HS+E~t2OLGsAh`jkP#BlCtRZptifE_`->eg4h7`w7-2C6OKJGbHD? z{Bdc*Ve9^dAze4$Gj>_N#&yT$?{~G$=JB0QdR2@Wxnb|=;43A@V?%a5^9zmm-0GWc z9?e&croK6r47pahX6zS{>O3pILn}Mh7A=~onfGgvF0gG`TKMgT+^rsA3nFHfT|b}1 zb+4YIm|3wU{zB1FrETuB)Fqd1%zpo|`Qi)Se$s5`TB{w6T?QKlhped{e{$(3QCAcL z-}pHG8;7rbM|*`XNLaRQ?!z~fx-{cMla45lm)W(neDu}hlyS4V#k#d0kVSV_RVg=R z#M++~ts3aG>1w)>awCcQtYZ7E6*oJdri(>qf0-ih+%Qk1@KIM5To`E65jrVgX5LcQ zpa1x^>g?|A70+9YjvIVUW*RNAUy?Cf5$^Zv+_3EhZAH%#BbQB|b3bwG+A(jRxhT5v zL94N7Y3_z0o>qB#trJ)0ZM(4RkA>G_)35(Iao~V)pUjQeWF2!dqQJYud#2l0KP3Cg za!=NT&u}<3;1}hD1;_WjJ?=^9ozp)a&F^ye`Y_HTcUSus&5kYa-}q>2;jfWvH*eNy z0uO8({>OB(j%^A}v56_Zb#FwZvc_|SRbz_Z>`gxuAIm=6bk<8*f5~FBY2)50eE#32 z0*~~B=pl=uxypr|rbpxBI@}M{7`a`U)_CsR{HC?G>&89z81nhu1$7T&SLmW{&Em-n zPE9!SG|J3k`9`m-dl8+d@7>wZdFefibL3fAo!_{o_Mg68yU6uy!pdcz+d1#;R3>kE zCM#Yv`0mk7%`x>K=1#G%`6Jz7P9QV(Lio>1v`yE)`}!Ev^)e$T(y{F5JiDSR#%f&X z)v?Y6LW@UV<#ly^?bSTwM%MRJGnT%wZ2AJ59Y?1h5W8F$`B_?##~#ylbK5pgu1^lN z?w3FHR_%8K-Z@lT`Dx{+yGFlj>@%ZUdnxb_?(XG_L$8Mw9bEi=oH}Qt`~AS(hj`n& z4yJr^@3PZxZ!cde*vTahGHM#P<;+K?qF?f~X+fP$U+vv->*UApeBCsA*1d^kZx;+$ z67OyCW6H>j>)!l{)P1$^`j1jo-1e5?D$nF^es8?uCgP1h?Y5>dv*Ggz`x4am@9BP7 zy?@M=rtIJ$#Ovyboo_9=6S&HF{_eV2rIW6tjGQz)vL&W4K(lmu%ISz5sRwuGy|e5?AvJwsWqf@_ zZs)fJ*T;SO)|vIeM}NK<@`1JMPy4#(TLz5$?KgjcX{q1j%%jpzM%V|RY1lT!pWXHC z*Ormjq#=hAwI-=KtEFR)IZXF$8e@Frr^N5S3k!T}5dY$Z%U3I!O9ve_3)tQrV_~-b z=_g~)z8H4kY{FLF@*fI+KF&RM|Lyw^PrSb;?bGLBUnsXP-}>Gj<)G`!-k30N(6NAB ziX^r1z@~h4ckI3uQL&p_%p8i#*2J41wy9W>fBM??7hB$_&TQ^JH>T+6SLumgubM#~ z@4hr~{SUc|PHcBLeezL?R`qzHbJWt7Z;UPuw*Aql#ALi-gfS6X;P->aQ}S? zF28fLhMt}H_93GMN}m@4FMND)O3LyX7e9>Xp162(y`bL>vx`^ii+nw1+g6?Mjv1W! z#KrZfQmlydk-oEj=P>5>jG{=DorBl2sfWz`_E?-sUDRUGZX7p%edF_k;Q=$=N!#+( zXfA4u&jUww+ADd58Pc>VusYJN+}6N?DP+N&m0y z3(qCHJe{+qdqHLR$rMrZ&pEo!o}@ebK2`j>{7}lftv1)LZp`|kqJI!?e7_yy(0fyU zHUD~O4L|vWCTGCJ^q+zUZ=N*k+nhhPGuXi@<4%raL{zX*~b|n>()dX~ue(qa@#Dq@x8k@tJ3GgdX%DwV z^#Aa*K=^=-Fv#7MdiCvnZ@X`wVX@@=j1+?jD>TmQ7XCh>3T!FPiWF6q}@ zmL}YMe8u`SJ8s4v`w#nvJzbu0XzkJuzMu8zzrJzKx$n0VDZxA}H5;UeqYwDsEGf2_SI+4Rv)3rVxu;GvUO zZtm5wh2x7Sj{Mv5Pp>-8+jPpu?q`=S3qN+6+H3HLgYWM+GIeZG>EX*$*6Ci<8C4~2 z8vD!d@w3|h`1IpLrNezryMKRp;Fa6I`u#HZLFSjkw{30@3{M@=GIW03g7+p|4LLLV zsQ>7~tHA^I^VewQn`={)h0$qO_Q!iZJgu6P^UJ4~g(u(p{l`1^Miu*65BdIm+iM=h zU6F$az0)o|F=*gkrQO{z?;UA4z1qd@@UB1B3&#Au;=7$)S?5|maz2r|ZS#i1l?TS; zD7r__R~}t3ws3FMd*{BioE37df4cTd%Rg(9|1g}b+duZ;uZDrsq}z*Mw%e%`bFW$fQa_m{RUy6VI=w$Aj zXSWU#n~iq=aWmg2b0)9z2iqs|nT7GHuh^hr$_f1zP1`hX7&-MtaM#6MZ%qDV^Oor@ z4mKBV{@LC2tnxiy|sY&`mf7P(>dFdhi%<+b|_;$S{*gn=I)G#FU>x% z>mIK7{IkNFRuzLr1}wfk?LuRwF!;;eTlUKL+>N!kxV!55$yLqC8{HKp&1r+#8JUMF zk3~f1eEqC-V`0m^G0vM3+Ky#4yIehXFkx}x#3h4fO$&dL*tZUjA`i~payB~n+~iEy zhqF@F7q=MSs`5UzV+)x#A*a+i_}zD2cuE3(n6mP3lG(q1@=N>sGi)l3u9$N2`NKns zm!rM+S44Viw|z9^SjniH&)fF7*9~}l!D>)h?EJwy-2*R0AFqj?He#f7py9k*F$)KO zcf0B3(3RF!-xxm>%^UgMhOSwQW*jII2?kW{GbMf}@`rkqI`0bqlBe9guq&z1jEQEX{v#camw$^IgNQSKiPr?{{E9l+mTcPo@WX zty6Q;rTkvwkxA*f`tAXr{9?I^+tP( zPxge?WVKX0x|`NHZMS>zghFF;(>sDcgZ)kHKiz4>c%_9Z%kSSf{rj4g?g^J~^!sdz z|0Ln5V`P-DM&vZPJY`peUQ*auS@ zJ5Lql`%igt!EECf&pqtj*3Q{;d11n*+skYBFB}mb5%#I6;?B3{F0R^pan&qM>yhCz zD*o1ZWb30%Lq45jZJ!_bSud;j^tap4}`*8BGUS@+Rq zxnZEVPj<4meiw(|6C^JPu5{(mJWt zB!zu3>qp6P&vkR2?sYiyiTHrR|BpT8cjuNbs(m2%(d@y_L0^QKo77J~QT<}Y$c7Wy zM-8s+&+aFygm=0p4xAOUC7}EBv!=&lo!XD>`l$4apM6%Zd9i%!FqgBQ4hET{ z`mtrLi`M@U)1Gr+G|z3Hm(8Hl1{;c|>XznTZ{2VA{g%ytj{j7x8Wh&r{bj^(YlBaj zH!jT`l~tf5?x9w+z+PjN4d)mOt_@x3ueRom%Wcd36shm9xr}^}Ty^`yva`@C=ABK|(99QA1=daJ7 zzKN*!UW>HnP45BFKi4t6eCy%KiwCwHx$HWo!?RmE;GWD*p2s&W{=Q4 zd$uz9l+y&G7ccrXsw-pihAA!Y-1+6%qlFtEyO-X6JYBdwaEvBxy1!wz^w99ji8al- zz^Okqh`mMPI099 z03V-64`&D5r@9qIJs;4UGG?rX;WO^zZGcx^>>Ru(uVd+A9Y_hbY0}Vrym`3 zS^sDfV>kKDW7B`XpMK%`tbMx4(|v!uHu}Nin39>cS>H+m#hWw3VlG9t4LQ1H`i3Pg zwrLYDO|<=3HAKiPVZ^fEAR^%Sq~X666>tX$K7=HeB$Z|O#)e7tQ|NO!CC&1I5H z$0Wand}JFo=}MYMWc?CTz}&6#^Uz8bUt>`&9|n-6I>jAFvh)ow9bkev{zvVLc$Ch^XTDNl3B7sjsZ1y-Sj z36T?4*Pj1iazypna--!=8KY0F;(hqDc1+{?CC4-EUmY4}Nl{f_chY6QAS6n^Y@wL6(^*1x?)7+P}xbHZ3 z>yZDIrp&pI!xyz|d|-IFVrFINuFo&M8Gg%h+~E2<3&LDW`pGtY_=fnX{lt=u56g~j zxA{0WY+Uf%faLeLPnkVut7})$b^dbgQ>$;qe>*xU`u)scfy?^Jync|L-wyP|@e`!Vw)oDVd+_>nXBlj38}|9D8r+CMiF3Gbq9Ict z;U5cjOT8AH9@DXO2Q zSC3I?U=Z#r^T|vZ9-Ox4Q~N1Ymp|2ecpEwz2jdR^gAkf_T**F`XuPI!$Ug}A2P6Lw zCg3R9eeIW(z{;zKaUUV$TR2}fsPM+moZm`dYu*w{JUW% zgFzV8*F*R84xt0Gs!s-)0SwhexIy)}rVx9g}K ztVuM09tr!u%2RV%E5tQn;77}WTVHnHyPPvj zZawuU<%2b8=EN!-cwY@}jO;qB3JnHFo0&kq1xWT58cccjVX8?2P z*(f9Vu9_QPxM|G(s-K&UzD~BK(D#_Hgsns^bVcG#btF|$y>2vZI&>wG7FP}QJmxE* z+lbbm#;5w!pTVykZNk03GTgN-gFUCZet4)pWwl{Yhh5ANjTZXwZ=&4UyM}0#=CBLO zBZ(|*daLT*$dy8ehconP6^?`*Yv|#oclK2{1EP9g_j|!U8^sBf(Ff0ma5q5L@=d(= zdqMvP(q%z!w@jbLz7&SeO0VhTNc3?2r8j;p-cFZ=)`mz2Eopl(OROj7MeCq(G zgLpeRleSaPg$pFbm~d)djC=C5PeGSq*r6}O+%!-m1X%R6^FVLf_wiPue$+106pRDd zThQC+BxM29nlHs4lINz$K|cC&xIvoiUN_Y-Ldx7U zYxvY=&TBTa#d=$TrTd+z?PsR6$bodWpls;R-9_gJnoku`oar_YGQiBX&aOJ{B=V$Z@==l{ww~?p&Im0ei3xd_rZC7Uz)C=nsB)H z!$x6G7_W3DzG-=H^~G^?*TAMsz8d`sSnI<=@O=WhC}=u5FVnnfU8rq9J#6;4YraG{ z&BqUM7a-m1w#6r*uey6}CimLKE~Rrx0xidoj68vNDjo*okHWxNt*(nsXG+-&SqIhx zO`w2l%ZAfJTonExD+ZpS;KNR;hH%huP&Z_zr)3*E1IK7saJ@xNM+fLs!EK?uWqyJ26K{~14EUg9C zN#{*1>QBcu%@evSchUGi!Hmj8hG`Ob_n{yv2rcsUHX3NlxlIL4Oh@73g-u26EeS*ge0EG#zB8G>|#PEtGHC2$vWJF9z{O% zF9m0cBfpiC%Qg1o@;MuFStWpOX6W{lWg3cQ(4Bk)IykDCe$B41B@zt#U)p$8r5o}r zgs!}Y$hRdSI>RK>#Gx@ko}pxgxkVUbZ>z6OSN2;F15q0O;ZG;H88i%@O3;#1oe0v^n`5?BY#*hO);Z z4)vpS*g?<%*eUyuB__Eh=+~r02_0eaZXIu-j4=3B6Jc{a@aQ4><2LFdhb|J_ve87l zkPJEA)ZSwt>DRm#Wems|NM5N6bh$U=speZFq#_M z>ZG?{F&{9b_SCi@EEuqh0X)HDpmrSmshh$t7}x!Skq3oAJl18Zi*O*u#$Akyp%@=r z%lt~JQ;}pEIM8;I%*ZQEtE3ryW3mY2Fc^NpR3{9^QL}ywndC+%Bvj5P28r1yI}T-G zo%Y`cILbv_r4;!$Ape2zZ$^2+nFM)=BO?(0C(l%GZ;H}d*IDuTQ>S^Bx_7u8pcyC* zMF4;7Il!b3E@$K<>eeWdg84*4$4>)rq7k$S!u?N=Aya|RRum4HPc)O92(_D0$^(2T zJm^@`Epd#baXSEuUffJsep;4G@$!iMKjY-?(|)0;Hsv9{DL!f? zTqVWH*YS~LG7cm&>dMPi(pPP#cr8P_WtoylCGgb@_)37UwBJ8L`)&bW$HOj=HeQK% z?_3#*vYPd{s;V^2GfjDPr&l;kZL^ZnLc%)_`c@MJ94^HBF2+iAFAjeU{N>?^ zVR+xI0}da24TqJzIDD`dhpS)1;r)6X=IL?xU@s0=zlOsI2M+g!_u_DMFAk$Tf56rs zuunWFd3SdqbiPSn!(p@yFeJ?}X3(ek4>&CA#o@qS91aBz%Yeh7y*M1G$6;2F!!p2* z13W_kD~b;c-V}Z^;BXLdn8M&baG1`y&KNJZFEq4D<3An&L~I66_ZQHlQH^Um7sbxeke}Uddx@pAE4h0U&HB#biPMe-`Jjj z@IRrKk3~KIL>R?sj!4cEoo_D1Z64zG;Wh9u*NO9M#+cFLG-x^v)mPnz({zkbe5QEa zhtoY{>+f;;DaMGr7d8~XX*#;Erg~xNzU2vPlY5nwOf&!<6Xe$pyAAo6W8jV`XNg|- zqXceB|NJA}+^65Rd-c&0IkkgK_rsv;{&7#H^Mw6U=!#tDNxbP?M)wgcbO6)!U3-Sr zV4oCWgXd@1d))<^oj|?C(S_JMj31`oGtuuqqlv}=dqXw$O}AK*2zi4jy61V!vvKqD zB9^7gyer8<gcU}!PswG;6^3R^+2 z<#^&4=xyRSaSxB3xQ`c}avyLir1fy&s(ernBI2fMVN=EsZB&mCTFK~qLxQGO(0t%e z>s$!k+{9Hs_v-Zx>-}M)p$K(S!~P@75qsgDG2lI1V+A+$!=BmAq0c{kxJF3h(|i$TP2I?I z|9)0O>(PY04xhpm`He++)K&zAC)qPx^8$Mu?TnsuMo35Zw*Yp20Bn=dIM%==QaN1H zPUH2~ryFj4`Xo2a?{L#H)zG2;6mFXS0p6nlI|>V0C#u&y81tDH{ZoWKCD8GTJ%ec> z`aw(kl)BM3gxHw|!%g+bHKRXi8PjO_4Z}58ktgjxTGr2S>&y2Wq4}Qrqa5mg18!RW zxxVn65t?skILe{nm-_tcM`(1^AN8UBui{G;nlGvUn?3M2(-(iHLQ@Vmwg1z=Q(IY+ zo%VDe{}^@@`tf0x4Q?OQQwO`&;IZWD>vmY7*#W-GA*7>a&^_g+efgDnXtZ#vdwDM< zeg0P!n%!_~F>lc{`}_P`6dE)*A4>9ks@D>aCZ2k`(wsy^q1-G{?e}BBS6RE9f z*nWQ{pM~lyro6FirbkCK<<}NMcQMr& zU4(g@@)YFYG5)J?8iw-qJXp$K)vt4UdjO|9V=ba${vrTQHIk$>8^F4A?+ zOGKuoF&!h<4!W|N6A~+GuM>S9MRb4J>#RdQX;x$^wZ%f)_ZQ#u1azXR>q4-8_0@qD zoY{R~9oAhQPJAtPTRb`pWhv zndgW4Pc28e)GlZcXyTqW^w-i--1`)v^*j9QNmu`pfG2B?R2kh z(A!zC2`wDADGvHU@4Vbrm*YKd(>?6%zLkExdn031`kwUk?jd-qpf6$q^ncQMW&-ql zegoTj57BP$^x8JzP0OHrAX+Ck;oJ@^CqS3v{S(K>8qNN(7`3%fTX zY@ab{12Z`42f&H|u2~FeZb4o&F0?GZs{aeXd2_U3aB@n7&nulyQb?yGBj%}=kB zwJZEe4D`ZM9HP2hLn!~?|Dwm$DMj!K?tOjq4|+Sj|4wh`a4B?+Nf%O`pTkD_4O{5Z zqwZ5WOqvk4ByrJ_G;W0|DJf3jIV=rhQvWB7!i~mJQUcALCgkt6dy>(k$4DcBCP_o4 zObU+}8yP8`GSOWc927ZL8Wb8DG0KFvOCu-D9y^NANc4cnT?+pmKU_~6wfE60q&YcMg@gTl#U-8 z6goD7W|3;rd{oo<6_{;qFrC|NDC{+R6HeeQE!S_xC=i0`9%` zAm|k2+r~>~~*&@r$Cfcl-mV zw_MO3cX^fYe;xk|fqwykA^qQNxwGu|qs|coqsh#*#$p6d+ig`&!?=q8{c7o3-b~u+<-zxdPJZ#5fBf* zNtRH9K1Mf&h=M5Xg!2$BrJ1C#*#Vj&1bS?lXKOUG+`5qarlca0co>o|~XW^_wIVEUv>d4GvCe)E~ZyvZji%Kl69L3551mPP7N}1hKx+o-vjGrgaPw1+n|GM&B}_yB+yU2kLh_R52dCe) zCSEm^_!G@Xh9p0SEOy$SLz11=(4Tnv6G?x@(4QgrnIb_fEq_9r-~UfEs=}hx;9rrb zoJFhUzavp|NUQaKg+z5HDZLbG8SwypT5ln49Z#0^Ql=6zLr;@RK&$^ZiP0{LNIfYk zB%%ocBC&_J$VyhjRJ=y^7Z8yk%5dO&LJ_gV=oAS=#2}1BbLcB4g@hG3g;@d@R2b`0 z?4_6x=@;s{@s^oWQYuff(L2?84E##}2CJtoqXAh}_}VGJIadQcLv zR!JPxO7g^lGzMG)X9yO39Is_HI0EPVt`*|Jy(_#ATl!>KIu=`Mah43CJq8G+AY67G zvENL@cAJS333LJ1ye*~L449C1LON7XaNr@Y&64iiZUCb&(DTi}Iij2k?CkR~J4Mh_**iqm z@J13t!iiWaB+FJ|6NrsODB)7DT~Ls-loOkQX9XTeZ-g@7ak7z=U#XH>$wYo-JQpXx z*DAmjO29g-T6tt-3{oQct`IO+gLiYCl|<*FhRrIRZwKLg`vTi$=hS<~t_lSob3Ax@ z`g5gvUmniPp+_TEi8FH^DH6ikqyESo$L92?Jh1nOB^Jl^p}oiT;6)xF>TFC}9LkDk z+pOqDQCGB~PDyl+IJgN4SK|=90SD*=n@9T^BJ?I=M{hDmiwJm&9E-)yk|1|-j51^y zFuq|l%bPghu^e!LF+MAlOM*g3PL=K#nWT}MPMdlX_v`ZV=5IpDhL}( zEDkgFBggRGPiGmqmQB3548Dgt=(%&MM43H_pgv_8#FYfciUn-eaV-~%G z88CM_@*trYsNf+m;5kI`A6d#X?IJlx;w8@%MFuB1T49vHEr6fMODg1hDH+SJ!b#gS zJue+HB?NXf0s~0OIe?*%Pg?1HaLSX%j)w00OXcd|Di-oe3~Z4SoYzp^H^!=)5_T~; z#8a+it5mFsM$h*_IAmc;Hv?>t;c%-ZO=!8Eiz23y0%zL!R^uy?OC^y7jBkNaWpEE_ z<(w5P8-{}0!z4-=jsw#*49z0Mh5Tul4f9=V@yH;mCdY#@QI#zs=O~Ls2Jy5Yd}G;g zB!Lp*=|~Jmq?`E>Be~MRk?`%%gJ5E7BZ3IyCJiTUcBBy9P^CtG(r5L=SV%amOCv=@ zoGl^FvS(eyBg4YVkJvEoB#mTZ#R(fHgN>?JELNjzq z*%(b>T7#j~%B+iN72-&-FpyMjM^0eT)D{Lpgi33r38`0g%%!VnG*OPx*vxVMRSi55iM(Z8RGg(#5F#0p)5FlG0(s-A8BTGuk4wp&ZQL5Oq7R&4n%X z1%!31Bv+ZC?9hREN|?16p=disC-xgvSOSY})O1|yK=9LjgTa95Fk<2AbIU}nK4r79Ogj^Lc*2e{m`U~XL3Cp6O zx{Rpw43(&{1D8}69n`7C=`G>c7(Zgl9<^cE=%Sg<3dGkgaKtL%h_#8@2huKJU>lLE zlE9WLQh2+tx+pk-e^K6eqj!uYTv_T$u$@0bC`L`6Vz?9?3K#3MRBcyl=LWQ9h*tbzGJH`)1ow^21vS8%P^iD}f8)yEEJ!v{6VxsS(x;e$KD>x`+8p z&DY)q`|=K0dJRtZO{7Mp97$<{!6OK*1fbH4?i4Y|ZGgv2oXUjq1snLH#!AL0gYa97 z)Er8{$!J|Xi3a2$l;77YDFIOIb(?=GPI#iNKK|Yg*|3cL>R3juG;)8mk2SD5hPT%A^yEB*GVjV;K|DQ6!Q{i2~$CtkAakf>3m)ow4xs2A{K(gMK5(0zS-*wk`1Q4S5T*H$utuANQqEF1WKdRS|_X&@J2sb zwHPQ!Rr_3{9o+gltrKO=pCz1~I^rJ3_FEf9IB&A9pn#QF#T!BZ&={121F0%RdI+)Z zVxx!}XDmgqnaCX`;mD!TX*^M5#pUB9)GppQP@8%oo`^VVJ<^YmWXx3MEOF#p@mhJF z#I>NqkYIhy%!?qGOH%JJHm07$j*x7U%bFyddN2uJbj+Dbg6OQ$kuz zB0$7Num+b;V!oXa%ys_4GtT9PbDdU1aQP_)D-1st;$exxAWDCnl5VMOfW^)r#5rnK zYvfD>8{}eUgPai%eh2eN)PQwU1<`$D!Za%})dj=t=6kg%Xc%pgp78oR{X zcsTy4;?Nwf1HyFM1BIft>{@<1YLG*WbNPh8UL~*jHu&LExmYKaTjF7HvaVgo5 zt)*d<@H7q+AONW(N?)gC?pDzaMnNTU&!dEVKZdV#_StYlARvMU+_)lqKH)d89?nE9 z<+oY}q1|#&r$wl45l%d0pi+Z2J9QL>5RIpl;<>3C`En_t?-) zGRRi11c8kS3?o-$r|B}ps#u<9rx5_~3s5(up?STKolDw4hT2+Lrz0Jft{~Vk#j56m zQB*67H3=u#DlF)-sD7H6q}8RYpXO0A`c0yaz)5C)9*paP=y)T8WdcZ@#9nh736)zzAa&qpqKjUOBk$JiI^}Y%^QsA3V{qq8@q*_sZI$r9 z15&NkguP?va;CV!Fief@xwn}pw9K+q1aN?6(a8AREep?(x59X@ui0q@6^+r~18BG5(8H`$@<~pOWEY4(z8WgWgX|E|n5^4!=2Ve>! z$*mAc!-eVx<3Vha4qqW7TGGN7lNKgjZLfJ3Ku|Ds!_ia*5GTk^Dl`{Is9E%mFb8la z+)S2fFfS80XqEx;X>y{eH$Sx!=_*z^XjH4X&ScUm;2bpR@QMYn*WvUt8q)TV`gW@^ zf5haQ5X;2~+qVjv2+W!J42T!9hioG`!!&WpL~@noDIGNP5aj|JRFB3=NS4k~W446J z$Ic-{*k2Q&Ahs72(AuXU1|h}$HRJHDQ;-pl7b^%qBy@mg6g6?}P{j-Sy@ zBn^CSG_0ia$!+3DBDKIEH3WCE`NT@n8ZNT34;R_;m6ln=)KiF&qaZel3==C?;>NT> zx#UeDkun@`CaS|+%ygMcR40r)lK57wMsqeox_6@^krR8Nz-E)eB1laXzG{O(dD6`W zT(VT7yJe?*~S}as>$mDD7L~*hEf>)r6Cs zT^o@@m|}}z#T!Hz%EpE#h*kd+BteQvSz1s}@WGM8COa#4|7Y(%n} za_Z7BYF!8`Ck`3p5xWM4{NQm4Skdrnb)C#eXf9~67E5!CIC`NVUu-$4g*6XgRuh8U znSyv?m~K2$O$xM((Pm@Dn;3+%{j8)yBO=Hf{u!O%v2cZ%B&%IDJRERSEF;>1n(9_e z?KsdKiL&aRz1-Cy=A3SllmH8dAHk;SUj5|-o|u_SJV2!u@Iv>kBl&jd;mvZ*2XrMy zF3f#r%`SLLdBocbgtxNY;7TxGL*}|bpjTY_d`SQ)lWHS~V4&tHCdG8Nm0|HM8$VE^ z#WcDu3HxVi<0>)-ndtHjJutb3Vh@rxQ1f6(0n6^;4fv*3lGc)Wg}5heuOY@Y{5Iq2 zEViUNi-(7g$DoA6Y{cYoReZkY!az+O%BgymA$E3?oh3VDYShMMkmh_D5ozZd*ToOg zEQ@3EcYyFNT(`&EBPEW(bT7iHTsBCvDUnEx8FwDPm>8s6SV?9wkvLM{wIh_#5x>Ej z50Xf}8VTbqNxZOV0&47Fj9J7u)>NLeF4;0vhsDy{U>tFT)p(+?Ds2`Rix&tCrgFZT zpaq=0tg}I3U^NiCNxq24wS(XQt3x%slGkF+TVgcdAvsH!+F_Ah4aT0hdT!=Un;aX2b9G`=n%ta(U40V9D>`>wy z6pp~WAqb3WA>x?=BA$y!i6<6MynslPNT{K)oxO}NP}r%gvIsx%Jl{mhltx*Q`!==@ zG7QYiOtlOI0jVG<&#lZVCp;D_A&5^APjJUntiEcgE5yRT0Fz@OZV`m>y`-QFS*O!V z!df$Xh>}Tc2IZSf2o~w)d5qL(;Hjl*o^d^~YS=@VGAp7b?lNr8!+ zOTKRu{lz>cztGm5H^qx!xiB$Uhh2MKJC=>P)~8CBvqLm0`Pk0mvCLs1cWMAO8Yb#v zsM%UmwNK)<5RWlZ*C}~QaTxQ#4%X4sg>}0i7NnEVV35igl+5F>ldnxD zx+hrkLcooo65TB(;T+IJth1_}IarfF-CA>MF_^g~LXlRSco7Xcm5}C_Y)UF^w|=%nPkwL_3IT-b2YghZ`?yum(DJ4%zQ)S#Y;5z~F#NqSa%Kv&Yk;d}4Py8pMl2-MieeZ|3~rA#Lh`2p(w%Ao zX*i_Z5C10IAZvu*VHCz;0GrBJE+)3E23km#et|go*vqZp34GO5lEqB!RGjBfn-6A& zHS)%)TU#-cX%$ha!`qC8@Y!4{i3+kXkxIfA@^~6Kr1iR-l)>s*evcCF3l+Ad?b3cK zh?y4NX1IRbpajf0GQNZXnbGJ70Gu{aR~4dO)v*n%$nAo);HGs@_v#D9f_~uwQspE` z;z=RW=ZUQ&FU&5yQ;y<_MdPKADQ>rxV!O<`bN*mMGW#)~VuR&h1mML=Ei~;;k=gNb zzvrQrj60K#YkI>M6A3nU^yY~pD}O%pf+639Z8hwN3Ekd6UH68NSf&|}a%)T({p=h? zY!2IMX`Ofk%hea}*nhABDZ#w0YlnbrL&EY7kWb}mD;E-Mhd~m`7LkmM4tiOwW(n8> zu7vv+^AV>$kV!20Ju#URZ5g_jLyjD z0Epdm`thY%CY2;vQu-Nuug@j3u^E3pG>KVBFR68}{>I&a8;Pa)gefCo!d-@F9we#x zu0*0Xb|(Cpd?m7nG**E9%}xljb~@Psn2w~Xz{#yUIf~d^jUvYBd~%cF*NU_fj2Uoy z%H_g#i*Q`-Ae^6}qCA@ovsV(!Y)k=I4y+AuQ%=nzb|hSu>GMI8(n5hsLL-G7UreaW zBa?V}htdsVntak3D8wU$h%1XIF0}@{a*-gPZ+tzJ6FrrR@X{%WzJfsjXRll_G^})PSaoSCDOwQL7VugxjTaCkG zuoV#yA1$D+=FRjahU&U^kr6iiIuafTE`>5&tWb~?T|djw?V@CxQfKrASnvu&6q;~X zkRDWTJ^3gLsj_e-RB70X;b=uVvj&i=E%00px2eub0Wn2C`&PCP$fF#?|@!tG$yqM3`;&*-t>G6%d!MW^J2ep1zFw9AixmL^%yanV-z0 z5N}q2+chVgIj|8b&h}R?M+2#xxX@9iW7YiD0Ts6}g0ER&6ApU10yOj~d{=s&_dRH8WUlxTJ`S1}Zg>+s4 zolc{Q*yr40`z4lQ zG5V4tL00)oL$Jzf4TTB=A6!=THX!u^HHQgFhWS}(sFO7qY2@IqhJY@2Bpl?$y^}EM z@X+a4+Do0|WBg(S#0tkiKJzn~6xucO+rd)9V6iji)$}(2pwbzV!xUwkkqR4tBf}tB zQacK;xn4R%BRS)&QHC3qo01A8L`7GbkgEEDOgN*M>88QaRXvYWfDnt4p`QpwLzX*H zZQxZ|pK-n*Z#9mKX7YnD+zY>xVuMdCtG|=^b)uc&{fPpm%80rHA1jcph~&LABq>g{ zhE;{>*4VCc{#B?+1)e|%Z&u1$4P?0?RY71!(o4Nsxmd$P-tmJ#%Bf$fnEa8syecg) z(H1#WAaof9=mm_40|GUb{ses-HIsPwIExPuML;wI>Bm-9>L1-N08@kKrN3 z((8>}QPZg`#A>ytrMX3@F-VC!C?d>A4O%@y>MZux5w03SiB}1y1b&CHSl(Jqf)U6_ z#Tr&B_Q$m7pN=XNqY49(h~n|f@^b8KU98Ll3^^4BRTQ7p3;=5b7uyi6)e1R`U;F5# zcbULkZPfqk4AUSMmnQPW3QUDU3}YNUxY(D$rkU zr%4SXa+}NN7xxc>5UOn~TZgO47twG6*???QHD7dogOL|d&z+coHLS(K)LiI}Hx?Dn zWw+;%6mQ@Q!|q}KWHD{|i#c;mU>CZSGxwL-5nT|lN>=NpVRa!@@kBl~-rbD&jV7(U zpmvb-E_{+?os6=S7^YGIzd&e`N0LsI$T7x+LXY4EBdsYp!3z(@Xb!&0<4lS769J<@ zf;~c6ZhXDK5`6yJn{Jv9L2>lM99U=sBGkHcBVtg=*CL5kgJj=sJHY!XXx^x#5Jz)w ze{Z&!OvUwS6%)$?bVSd(SjNw=!LC$^WI8_ap%*noLU{}C4y%3xK=nq>n~g~^k)2B_ z9waJN8WJhl@i)X)qZhRzmK%XsuEesfp0Bhk{c}l3rz6AdGbf$y#!c^I9^D72YM>G3 z&H_e7&Aq3aNA(MjxDA)igp+o?^l>Mm=TKPy>FRO=$XDpdecbg%qi|Ahi#^ol`zA6g zZZn@-jQL?R%c+s+O~RR?*bRhRN^3%Fe@!+p-)v}E<;|+^dy#HeGI)U6Fk~)zpo|`B z-~fV(p*WgzAb%qAO}RZG?i!sFlP9!N6`Qp(92lgxSZE!@Si8YW&ik>2K0I5~LaYH% z-Nj~krA=@Voqw)3Ke-cE>u)Lp6 zOgw&DNR;N54L2F3P3cf92_k|^blgwa`r`8QTxQ23C0dWMYTacJ`8(Vleg;j=coSS< zB)FESotDHxhR{F7V}l zcI7Z&t|wzwZUE`GfyqKCOd0PQpJcQLw1Z#mJ11nx*RB7zyS^`ovxG^ zu~+%Bd}X=-$0j0wJ`X2kcBL~qURLBeZOdYvn$_%%-QEIb*?ljr8#)l?8c&d;m~_6_ zp{pP0z4COvh$RE943qgdY%Rp$W@|g1bfqg_R33)02gv7>!ipxLCO=iES*~m`4cBY| zdt(C&7Pe^c38Db{N{v60f#K$XdRB}ec7|=H*pRs4YEc!g8C78-)|3w=oyTza#j>te zmTul88H+*_PE{LR1wgoT!uKO2oDenPjv^LBD{z<&2K!aPz^4xB=0-{8R!3`jiou49 z3Bx@cVYHafa4jPRi)(l(zXuvG#ugyn#H!uf{_}Fi5ri11-#~@JSQOY{!eI>z@-|bv zeCeIeQ=8M92Ot`2jnrRb!@{D=P_Q@Q8oMDbKA4O*=d!zBme&sP3F>|+CF+K*mr=M) zZ_5$+3BGIpRzvL!(%H-duJJ514|xkeq*t~c2#AR9;&8y6UcjnTVTowr>HGj?8$7mn z>_nUv*PDbqk-AH$up?95okZh9En9KsQ?+#w^flm7dJ&%hqANU)>nR|*sCo~M)b0RT zX@^Q?u}tEr@dhG$i9pJ@g&DN69gy>X4^7CzL8;1wOl=S`kE}8Vq^g)f17?e}?PsG| zy5Yp<8Ti{-R-kr=lc+57`KsUL?qua+IFG< zIo0#A$vojm6j+>rby~pWzREOea&}p3cK8`Z+J%tI4O*gOPz@~}On0UYX02vl zqk7r|zm6bg!H4sawKgH6;}qNpaA)wb2e&O{v6|WuE*UWzT&Ut;yNeme7l?hWzpsa8iR!iIhmSEgN$`QRGbpXG1L0q3rBW1jSyNw|Bu>y4S z5O?SYm;NM$d}=QvVBCZdUGp`G33I-vjFj|-1th{(8!vypQ-@xP0F05iXY zyf!(E#+-Pfd0k2WiT$Al$g)K#<@|Eu9zPN)98dQ#_ns7TsN>0C^Q!~*mZJ=f=gvHZ z(E#mRPKFB?K{h^4#@I8+an!AGcfc>z*G`6Lr`ElkspMx)F{nldosXjtl)6&Wb}aN$ zM4x@29#05rl84SCGV>>xC+C+VBkOamjWs=Sxa#3@8Xg@ee0auPaO&)`L)C|pyrP0{`K0?V_=$Aou6-En| zx>H|ahKwJh>1I}-I!kflf&avOrmifS zGqnUTDbSQR)9v`|PABLLJ{@^Y!1p%H!P5kTVvcnneU z3~Gby9WGja54PDf97J-4X4=b4|D%*Em)4Z0ZRjx}2(;dXfP4HbhO=Fi{qOsPnp#IX! zH1^cj*C?0H(b&%*GDfhRT*8331PR{+e7{jcqg;^pBOY!!PWKWPh~@a)C%>3x#Ysci z2YjOb4KxG7mPduj6&?`f{=$~{Kw7l&J@nQk4Oi&viKdwq3eOe#c}`(p=n~A+wXW2X zHOiNZA~9F$?Qs7ZWpNSCqQ4X`7DMuUj^A_YR70v3%3mhbA38a*M)?dE>M^qsUpr&c4Ap;TXYXx_KtHlYDw^87Ojho!sTCDpQ<%4pH4TI`>a;*|9mX8Iol#i5z8g+vxq`Ue&oX05_1cWfBVMxo1HoG2u7# zUtn!5{RtzH!Eiqs91w@;+;gz?;Ojj1Jg!ht)vruc`6-fx7#;M$58wujcaZoD>^$}u zpb*%E=Wer>IYiBliYDo_JRhUao5OUbJS_v)QTBg!ugb;By!fhS@^VC;4lXUMOiQ%D z{)n~YJPvKtP_~Q;WkSqQ*))z8ff|0EXjr<>76JWXb;?DXmgOD#1} z{~46-$BdDri8Yd5a>ge{RRa#P4qGr=!&s)%~98m)&DqxOabloAD746Iea9?jZ>^RPU6PF z{N@kuRsA!B(Y+Fk2ZL%UR_rmwQLk>9VQjcG!>3;lUDRQ$)CKSe|0R0@jjQFiAgfx* z{6C@AL}|?Db5eDLr)jMs988X*fYAaSE{ysT$g83zRq^j}cl4{4nzzV{!?@C~q8=4) z(*cQIbyr0NlU(z?d($+hQ`$7y=J)UE3SRm#E(%<^mzVBjE)VKoBh(e*Yh+I#j+&yV zEzigr_2-9C3PiSSGw0%r&vlaVd!2B4fuRto^boa?xt2Alq~Vw*m1lB|GId}iIRMBZ z`|{$wDjz6HnauqTnl#3(wqu!}P*Z~@+8@Wq{0>PAn#fq(6b;2W#}5sYJjll9H)^A4 z7+6)d-~SdVsk#-RlCLt?ro1(5K7Sgw^TJXMFjwAf?M=L;_iOwj?Db*LZx_w}wafW6 zL<)#BW}d-6Kzz+-#Z;3M#(9X?Su)RMH<0I8J@w{F>YR}hR+O6kN*(KoX2gA|(dH|Y}9l(8pu@$MU)Pi|j zW%l{5aA|=vaKqg$Cid|HmhX+g1l~Zl!y6gCW?a62^ca2TZg%TC(D)HVz075V zUg>BR^)cO|Z!;e8|CT3;#`h$CIv^*4VX53iBBuDt?SJ?Nnc_(+WvXk|ET~~8q16kRg@i?WA;IsYJFZ_Yo$3e`L7iJfEG)B07z$TqgczmQ@j>v0j(Tw z#@j%k6rZ6*P-9E-L9g;sxPuJ$J7~BBd?2#=pC|IUbMHST-#-X!C!53^0W73qoGji9 z9ZB9R*=2-}@0~*6yS_HC7Ynq$YeP@tQ_stFcxYWS@jWEnPoRmKsPJK0Y#_4?!32e( z5CkM}B-YPUl#7LpY&1M9WTP=G#d{m6!dU}cPlP75xU{Ne?p)(*=-rUDxMZ!oD6l{Y zOu0uMHSAdgZlBX87ehm~vQEwjUZ0nHuYp;Lx%Mc^T($Dg`=(ch zO=ViH@v}TxiDt9w2&|Z&J%}b;SVPIY`}GDm+6Sy+84Tm`E8|h_N3eVpi-|>L0N+S} zb$OGnRRUK_bRenJzkNzq^n1 zR;q>QpG@yx0mTtX8@gnt=y1HS*Oi<4fmR3?eclabZ*lE1RAS#%s!?BjogAklbn6ZuEIn#KL^m75B=B zB=C9YvXrZk%zC5tvfk@14i;a4b7+bc%PF) z4FC|XWu;SNA`@bY9m@CXdydGPu#1hy6{mp}SRvaY{kEDVSh^+G+NODYmD8x5CaoS+bm0%m=8EM!tnI%lSio z7)Vlji*NJi5O>}w`p)=^I>4kCJ~>5GVMvfxsMKPyR0lLtf-Ni2eFE(L7p{u2YCl=x zyyXU&%zjUKgm@i*yWM|fdm(=6frq} zPWb}FldrrW!(U7iW13c#aO;$cG7@1YW*A~_O z{i%Wbnxl|q?m<|KMo$?;?B{l-eIS7_lv84dCmo;@jQt*U`B%*Op(61tXCF?vy#JP`QLeI+vb8 zq{4G6Li;gTT(|DM)WFHsPfxNn&Q`{W!Lv1&_d{_*0snq^Y`!URtzfG$ zTPFvr(&EyalV~!+HP5SU@ex7o0~n)Ez%|wSW|Fd;Hu0~(d5{8GND*zOEMv%&C0_vt zW6;Rvv$H$5EY3x0LaT$i1{l}AV{pgeDr?!Zo`LUNe9Qz&oo~II%v+E6llfsPQo7K5 zYtTup2`Z$}q_!gE1dfp8zv2t0MNvI>5SRPl%&>w=c)4|wmxNP}NGdA76@3D}z(6Z4 z3K%IzQOe7ylv>agEuuVjc4Oaa60;Dt)o&|6<)C}#y)^sKfX}m>7tZ@EUwDH!ch=g3 zp`O*!uLg@)r7-97JnxT=vQpH9#dK#*u-orbTx%_|cfv?rDr$^j?Oa9meM;toelx3L zuZQ>70J)0Z~Fy2pjMUi^H&|*mQGB%;dIWq(hiV6 zfM^S73&AhocK@M2Rq6DlDsLf5<^iAqpnggb4-)v z>!QSr$X2ao_pODsT|e0dJq|d%SL?sW^Y4B66npi{QW)+vv3AX)U(5;aqT;c;_2W!N zkj1{n%v+rL)sIVoGm&5e%4PExvDU<3WC-GM5kqk~W7!{h%Ezlsb8g?2H_#MTj!mtn z`7QFBk`k5-K3keRZBmx53ikDEY*2J}-_Lq~+n{fOr91X!ENeoG#6$)UH^sT-rlL^uROwAxyf|rk*afCF_{q zW_(&&R*kaZ5ARanqE`4d{*9^fTrC9KyXpni!MbXwaeT8%l)4k`7dWLy?|u;#f4<#n z*cA|iVOLT6U){!xL~f>c8o}8(LW}2sY!#(Kd&vIpMw;0n&%wI!#uxiR?U6Dok+80R zS61Zh@ByZL4bOQ4S6;TA^qk#LJk~!q@R*;oM$y1FQy?ICnmDDpHdH2h-5GRIm5t{# zYFuc5z(qsJ2&e3<=G=w{Fcmw^#+Ngx{@vxaVLr~IZZM=mY4 z#q@LlpZ6Vs_CLBM=PgbF-9RHK#oZ5w&ZBG3m(pSas(Kz4Qn`gX6YX0MQ{T#4VR<8H zqm!t{3H)`So$67SlDQQ{+2Vi1OB5ex_`Qy+_;3&F)jCxCMJBsd3U6o4kv_u~ykdj3 z_YdeM|6xe7a&_rdmGVDLX~uP6XvzX{X@C{DJ5hS7@;xaR`k&zoeNW^21il}`H{^~l zDp|ZjaF7Dn@N}bLrWKr{yM)^AKpS(=%3Y18xu&od^2a(df zQ|?Edi%5J9JVcFyrmMBeY1~7`JwCcMx3+{#{)6Q_mGSA2TRhEW8f)y#dUn5^4%*C&+&!+gFrXg@|+oEMt^6qSlb&``n0!@Utse0f%r`` zX!Yn|nqe@|#7BW8*Ig6>-^3|!53evfe>+$z7PqC?v24yUF;K4ZG=Wdl8ZgmKE$3%; zt&-`gpimSA)t>Is!u?*C-M1fcoc%Dx9PIRRezg*Bs#2RthF^Db_G~Zj=gpz~a)OrI z>hN+_;G#62#xy96FjsYtMgE5g-q!6CT2!{K9U z-(Uvsi#(mBg&Un$%MeJ`04^R@L)HW(9GZF~`98p~nt`nYM{XwTIf|9}JjT%eSxyEZ zbXkT=k135#qu<0+lT!@uPC|+`AQV-TP?=LZ`3)IpQ=C*EgD3m^ZQ zytv~aQS^cu_-qT|MPI}tK>}*=p*^x??lvVyC^L}3=YdqE!C;-xE>O%+EZSfMM@A4e zmxaOH8=?FLg?dzo)=C;;KL1rs-X|Ma7Ntpomh*)ol-F@Oro3PTGK75oD_+EJlu^$G z2$2gAB5%0K4jCdu(u9hd6Eqn)f(dq>gJX|kD*bAP}ISckg$^~E&8h#e# z&Y#EXe;uk3=ks}zBg}p_qMftV5RLrhQ{X{Sl-)m4je&0X&!BU&H^z1d;$b)e_IaQ~ zM^)FMEP&BzbFK``@rgrK|GM|m!zj?m$zVvuweNQK;q^Z0NwK3($8~`d9DC<$Mc~G8 zQvR^(Ck=IiQuj16!j=di=Z7|#4;@nd=GBDaDC7bgMjlcazJhgHHGaW>mu(-*GPX2poA;@riVGjryqJ z|C2}I&+vU`H;h00?Ap*bji0?(KkmpneNxDya_aI@No+KVMsXFjr??@iaw(Wz3Qu`! zkePi3F-v|6)w)qup+Qf`H}kC)j+xtF%C3PlzqOGh19-MKrQ}t@}fP5rc-);1bOm0Z1gzi{bn`Q ztPZlH@W=%YKM}eMyKEy~p*+ubk28K!2&#qMO~az)l(*9$^8lGg)>2k-(yks>X~uB8 z(`xJmUwZoJ!EmLwhnag#ZqB%_hgpvP%gxCj;Y>3xmo$VcZd;shfJKqs^md~mjPx>f zf`^N!IHAR#L5q)bf>)4>LH@P!C%+Bl>wFqhdYCkX?KGZOQ(g(wPw$D@)RvO*809M` zD+*(MYBrf*4;47v1=%ogYqmA-!#iT5ho-8Y$DxBSRI%QbzBo6oypTGXuBal+qcPxK zo0>F|sB@_*Liz25EEFZO?r_##dd;BFY>aXft8+A_Z(oZ2pO8vSUW4wN-ws_ssy)`3 zToS8%^w7kXiYlCxqZDdM8RPqT+|v-2SJ zeDfXl+B|Fq%=Y-IT63}{=|_(*#j7TGYTR{#W)qat%PI+%o1lD4M>M|OcH$vj0=V(T zJy+H2(`HdHMeDbAZ)Q5m9(OJ3JPtgrU0)*MA2Eq*Yk4Xg0_gbv2(F}aFv46fdm>!-~)w0uIHywK%`5}O7APl*e-xT34>tRgM;H;IhGTVom#QDmGj(4R{FO%c33u7Id*VedeDK-=CR%{NOO{f z^51hJ%+0B1fw&-xPf<#6@hj-fHvtv!MRii6dMcX57yC?LQs0lOCM%40oe0{Qjtc4q zQWOV@e}r&t7qmTJ`^d{r;=SmSu;|WJdC4=KqSzjq7sVIbHFgy0;REnL_SE379_6)~ zxw9LgMB=iqW8}?oOI9;_MR%e#Y|Og>L1j1Bdd3>zGo>i6@yI`b{g%he{(4SX2$TC^ z#KVz&9{*kA69e=>H0l=Up?(`xuTa#e)sgl{X?cl*c2jW$C;x3_66LwWJL;mqZ#VFLRrL=e7JqPXalJG5uZE+*2rB4kn};2mr&ohT9b$;B(;+}h{KCh+HB0wYPND} zV=~>=`~%1S26Dg*^g8~MYmtGI?=N*nx$C3Y%NN{6L*+$gx_}WkQF;=u_(~}@ByfIZC{N;;x18+0u(1)f_{=~N-<&SSc(bHSE@_k5c6m;yWkWl$ zBG}11j<9Q?d$q1RO!|03mLvJMJz-pTn9yBfM_kI1v2FxTkPcP*%A7|l871jSFr+*jTs@k>75sDrW@3DGLG0m$V7zt&HKe`T?y2X z-Hal~59c{ej0Bzp^-pHNK8r<7e){iw^KoL_u)&}ijJ(1#MgLI7ro zap+BtyU@P5l8xM#HgauHZJMJ9^OyH-II_Qbh}?T4T;XAvOj}jVx?*TB(hxDSPye`< za^%9#=fliHcN(aI9DwJXPGP|4eit>7mcs0yUcwyv;%c50^U1g-ZNG7sZao{posnQR!v^hD2dbh*jE1Sr;-D@Hf8U7q#X4{E) zPH(IdzPAl8_~CCI&MH}DN!7Mnbg(2Kx2A*pg=U?v_oD>mXkC(0&fG`ArHs*q+rM(X zUlj)gS&W$F?T2eaOBfiNq?bH!US#Fnp_n86$lv`U@@DJs_|KenZD+o=RToFr3@pxU zX`9`frYz62=G|$eq zL_;UU`8h9ZF^k_iqk`Z`lhaQ9a89E<1Npy^_=~wzMDBsc24|qlU?<`5i0FG0N_a8R zqBU9`xEGfnDm5->%Pgt!Gb^JdE_~(O8i^BgB`*C$j>J81)1vf#C2?5_KB7kVU_${K z6nZomP<}|X+?k!V7*j{z31!^9q}U<<|K zErH8Me&1Q%m+KE#IzXUqAnC)3%rMEg9W*Etaed*HY0Ad{+KZA{b+mqTp3_QE!aSGl z&js?7eW`$!bcmR5@oToAO9ia&OH2fkA+8JQ`5T;hoh+9LZMyWgDu8Z`KtV%j$V)MZ z3=m12oOg-*MSdz=F;{y>{T#FT5+}E$Ov)PZ&dmelE}+pQ$KR=NiSu3hgbGP}6l~H% z{_9j2_)Cbp%gtF8gvIxM_!o5QZ_%m04RQMGa~umX$@|r0G#BE~pK1HP3US`+q`sNs zYMrpDMX5_VMV-|mU#2l%VB?~g7}#PcsIrQgE-i`cGzh^o0A`$3*A*j!cx|}5hT=^Y zFE^7P3^&6Tt3wx+V5F5`q`?KyvVbfo?#8fY^t*(^)!8|zZZ=}|G=N~D(Z$G?097~u z^u$RYy)=pS`tWq5K{fq|J2jrQbPR|FwNwsv(z(5pspLx&O(qka-IN21b(%^NhyM1} zFa`Ew=ZpZ{RG^c$fB@l(-)b0j#IYN61upSku#OWUV$T`QZq%=9$dimiU3nz1n9^#> zH4RNygEtsMLawnx%PeM=waKzE&=;R{0uJ)=;~D$oI>~UO6W-FiVEAP?!}o$wY{KpK zCxJl<2^s~-Xu4QJ&AIY&j_9T1z)FH2^$O-dxL0)Zjcrazn;I0BtjYo=w;iP&e5&Ca zq|G-mF>5Z(ppK9B!3XEK2TJPP7BRhbTPHec?yJ;%=|=HeODmNHKF;e(gdY4J`|ieIi3S%bP#@Xrxr{7%1{gG3Av9=OcC9;CVSIPjk|8g?ioO3lRnpyV+BpAYP++)fce|z%zMrNt0?u|W7IClOH zDNHIU{ypa5#aNLa-UKuP=!Tp|_AI)wv!@l$nRs3vyDlUcHtK3`C7dpjVO0q4m`ONw z^s9|X|3L2@<+x|DSJJab!za!ZYbVZ3yao&rp>6oDxtF*)L=UjLWu?VRDBvtg{ z6^>5QLp-X$Pg2jok1_ee-#Q}&!|ljLUY)L+CX0{e?UvJf%HoXX*_`yZ_skk}6I4P_ zuO<&Xvs#fYK;qJGgp*4vbaR!wecRaaiz(F1i6@pKct4Zsw5_Y2SgnwI75v(q;990G ziNy_>8YIW!A^>6soFsi!-DF7k#gc}3_ohvoq(@5F(1tw|>uH9}tGv2xV#{FKGC9R6 zHDks+i1Apo%NGD(?*~}lC{j(L=tB~eiCwuiMO~xI9(b70S@Gn-?hIF|n?>X2OQquQ zLX;p;^F`bLZG6=#(P+5}Al1B0=_?=v3BCZJaO7dS8FRfqoKE>H@?s2B&OD8a%+}T8 z_nBVksHjMcZcT25xq6;w3P7m;YH&-;O6JKdJM;CY$%}7b z`39F`oWKWsraG7_>dTVB2{5OUDaP`Lz0+IBp|$j<4kw=u$J99o{jj)~tNax3%$+H= zrC=`r<}E^RhH4_KfF%EDwZsoKW{BU-RI`hza76eYDd!=bmv?*o@z=|i1MM+@ZAI}yaJ#xXLYf#HuE$h!Uqw*XXCkL|#v%P_YNRG2&DO1 z)vVr<8hv(;7Ot;DRjg)3_Hiz5_ECyYk^c)y*LV%ps9Vh50tGP@$rY6u=$g-*!cY1! zR;aH)sR5|Aj;ifZv_0WhQ`(hd?)AL+R6Ofd%Y^Dhs~NSeVS@)BH&bN_sDrdGLp{m2BF$f zn*zfvHMvPG4!K&WCziR$)8?FXjw)xALzE8klABb?x?#q&e>egms^d|J_i z@)OWz90iuYJupMj)(3TLUL^>1(vRpW6h+R{01Lxh)n?i*@}lde+HPV{n~Y;xsJ=1G zRKCJ;X8HfuwIt=n%rxp>Yas1KjX2d1!JG$jBb9Fr!cxel?)&R5K>PBlyHmyU)q49k z5T%e*d|@^AxQ*`TLIr-nME%#XzfF*x2Y_@fh4r2XWP~IHW6c_|wmgrS4j+wF9!0&S zz)|a;Bzr;1yTe?zk>u`paH5T`4Qlt^o0mM>Skc+M4363U;;mh$v+sBt)1 z@!;eo8)esaZ#2X%WzcN1aWDwGrt^u@p=6~DXKNEBGP|hraZ7EioG4nXWUo$9lF5Ak z17f{69jZCG0i|HEE(Q#dRwT1}j2bOLf^ty`;(R^!WILXTKUM7DE zj2VXCqjuTS;$L_|ETpZ1luOX1=Nv%;`$g@T6< zJ5ho8xSn_M;12+r`X&(HdV*Kt<5pld=s@B(0LxxNg=|j!wI?4R-N?rrdGpFkXAq7o zq>vErzJ%-UhT>Vn6Z*uF2v;{Y;%y>*0b;yYD2*hy;c^(v4b%hZHaLvJm$De04Qs}I zIu1YX^paaDU7@@|Z8FY<8Xsal>$)hVyOr%ahgTYCRf)B(_4XtVf0tL)m1^0M?iFZWUHosriJ6JsPS#Sap{bp(6>jWdE!W_hsnmwPDSAh7i_MEY zDY69ogtmyr%xHtUONW#z)J~h8swBuR8E$Xu*>&(BEKWHCIk3|D;e(QNDWOrMewa3r zzeEPY^t+{fBz8l1{el1^Odpa71h!6#dXb$$PEruK&BwZ>HC0lZH=55KMZ12*(^ zJ9N+^n?u|t>N-Mn~tA=1+;DbC%_NEv)BQ*wk@ zQvP^ll|@-mo>klf==pdwwX8{=)u;!l<=+)pFW*&n<%(1GZHPp1Op@hJg-L5UZtSh} z1#mwe6$_?{;&5K9A&ataRDdu{XKB9$$4j95_`DV+9(DOcId4bti}mE)X|dZ!5|dsA z=oN;ba@zv;g$kyLI*on*SjT$F8_Ivm2k23!2~w(8yN?>F;@G?c_0Ou7UKY(2Qkf zZ(uWx`b#@wrTBN;8;lprMe*9OySdD&{0wnb5(zaa#@d<`q+Sre2ql*`Et_OWK!|l= zkSb^J^f=dc8l(&H*ELEfAOwG@yy0{!Yk?J1z6-hUSQU5xmGj+B#p&f}-%Y1rXpPee+?Q3Nxr$b& zU5P7WB$4~c?Z_*csW+6`(}IW`~TI{w>3lNhKb4#5IFyGlu?d z;wf`AO+VyYg6CI?P8lt?f`TA~)>^zaHwop$8Y^RC=XgudU6UpnX{{SZYX8ZGHTJ|K z-|b5sCex9lv8NM{b4f><<9HWRfh7wKSXr9XhSgS9RsGsrp;zphi&W@@yiTy6(1H63UI#bHYr$TLBe@Y%h?w{_};$`6wtJdS1V9fLc zuF;`I{s}nXT5G(1c4DhoHE578!40o9N`5Z0it96p=NR%CRL&o69j#HzB$!T32|-n_0YPsV6vsK!ku0=oKhG&Xs{bJ#^mi7(h)h>nOksvj zD--+u@z{9Eel;I;bbE2lZ7Gae1?kg!p$r*T)indT=!w>!duk(8>(gOg_V~&vu8!4N#yYI4E=_Xt9N?2+=lJx4fG4e2!WstuS<&Vm7jEiXTs;JDt?*&QxGIm=LeCmW*bd%ugJ<*4QH)Vj)n*J&Uv6p5`y}D@p`yxb zSnK~6$}QYKy1rUwi1L$aJe*GdATdJUu>> z%(~T?B>xgO^@pd0@grDbdx?`sd;@>seg~S-B=!B@ksnF)Knb;kF?U27v%-XyvaBQz z;L>3PDXkh{Ts5DQrThTSreR-H-OD&JNP#f1Zi#uY`TP@G5iAwRN%w^}M_3-%HKVm- zfuH%hWz0Vx6FVFVtH@Uxx3a)S?Nqqs;;zo^+CaGFKX=Kz0ijPhLt$K?t!wEU8C&xP?KP> zMUe(sUNLbg5L3AW#qLh7PXBOC6E}SaRtsgWRotj`z0+*i7>qFvOe2mG`>fkauo1{# zLGbLvcaLD%|S|sSd)>rHn$Aq(irF- zBVRZFut4xtEWU>vq=7_!Fwv4>>!w@6>o9kISO8yQE;cO(!g8IDt+6pViFb*@Oq{$j zij*<(yDSz&XgCH%4s;gJJ5{InyRTg7yTsE5cI#tjxA zvhJz0{;YD9fmv0S>@`xEd=2RV?M(bgoArG%D)_DVE83I7%5o|6babDM85i2WXQ-7T zB+opGW3>q*Snk$p7wBZN>N zZDR2sbdtF{+gc=lfD4+*^3!$W8S)1xR7LVnQLcwr4XrH8sUc%u6=mllj*=2CgT|Gk zzS4dlCTufvo?$mCg(cEG! zdU7z=j$A@lBZQuB8V^lSH5{M$N-LH5auq&6iN^8*ZEpqzInflq6Yfew)&$4hfUmBc zgxQR4K-0>nZZb{TN{?|X%w741;75+6-J#`e z(%;7_+)4cQqsKNNV$?WKmJe;6Yp81#xmg0>;pId6Z_Lv=lWjDg&;0e^>b(l{9I7es42aFUE8y1o-H%shIP{#%V6eo zuKCF@6JI=i^wWG3ZzVh99Xqi|fK690g^-jeF)uzg$f63AQMAUb&44Jd zK>HiD9t^k4ovrEe`F$W&9H6d9YTQO6QE9)~;muw77W3v>3Nq(&^wPr9B|gvlbh9wK z{{r)oe5)MMgK>V}VW;zTcmQ87xM<_tnetKf=`*8x-?>D(Wrj-a6J!1Fk?let!A688e z-)1oL1hCd&Uh?p9+GQR6- ze5C-P{#j5ES=A$LTUhUfQeJ6Lop0@45&9!^J^y}(CgwZ6))&;u5blG722GFs#DH?G zpshR(bl^x}FT^wbyu%Z?^vlN@A2M|mA-RS|`AcS`mX~yXmo_6o$|Rlx;16A z`1cJzQD;OoE*x4)2%N76gK{`b=|^q{UxHM%YqY+^cjauwycOBTVYD9lK_80x4(El2 z8{|v4!~6z18!aUhJtCd+6v-vJ<+LEo5urpPPO3G$>0m%cdWckP*Db-$aM$tPXZ#)& zcItjbHlN}%_XSOu|8BBjoPLEOPsC@6W1{ z(gsb}arhgde&oqXZ2U&3wb*idlc+{27yw_{f84~1is9s!KiPz2EVVu#O5VUvD^c~% zTm0SFml6xpKpCv3TeTom--{ady05%p=u5<6bfSupmFjZPKO5@@nTV}MPrx`li*!ss zs5#)i;zJHk9cSrrw;rhY5N%#Ndf%LB=oHMVxqIh4mymp5>0!P%qsK;)PMLzh3BjAr zsJu>&qqtLEnt9`CN}4Cw;oTp&;gW zq$y(-#Ohh~QrCA%9LjL{0B6qb7%!-De3bUYYjfEhQK;v&<)7>Ae?p{#8ak?E8iHl} z@t@nmAQ$*~ZBQNLQsC<%;D?QoiZR7!P*5*R+jFpdd6(? zPMYc+%Kf;5U87y9U=1m{nG(yIn1Kv_ayNo%&5sMo`^2h1G>IuK=D{e1HnGW7l}8a_ z8E20s$zFN1j+BCCRpn6-0Ql+zDuXfdC?{;5%Ta0FO zM(&#^%LU#qTiWmSWXk?6^4PRm47b*a8MDz=lMQ3suQxo_-qjNaXlcw#+Jf1agK9tO z??jb)g<;RD*^{-9)wNLc;?AA%Z|`lWOhFr-M>>M*zR35fI$BY700S?fY;O@2{$-NN&xGGxZ~E0zSY%(d z;de7?<}1}NEPdTa)0ObC)l1WR^>S;RY@Xwk##Nb)1C6Wn#>Q2=BQhMH-Dfl=Qp*o| z+$TMkQysdd0Qn#5dsmw&jlb&Ug(Xo46p1mWcoPj&^WIg4ZNuS|%r57H4Rn{!vr)G} z8Rw|oH2gP%a`)-f$_=R7Ot>h!9?>(WH^)}}u5T?j5w4Hz2>8P99FI|T zXPTM!tDjFcDO6-qCd+%%S?3vf|F^E((VBK)GJFzf7t|&e6;c_!j+cz9CRp5^c=l2& z?jHkQj5nTHzP`0L2Fj(ePe43R^q!j#-QFx_Ik44fiSrU$>D>x~hs~AB*O;s}^G!HE zL~!HC&=(|QH=vj$KCJJXsoL>Q-t{Oz{~36HhcyWAgdJzR|0>hYQe`0?w`iicx~r_P zTtIf-ATwdrUyH-3GPRg`dJ}I77W!u3aJttZ@RciZA}_!P-Z*1YKDghc7%`<069od% zpotGWm}9#(MF<=-@%k8Tv}ITMXjthHyzI?yrWzWzXukgQS7nhZ@H))jEIu;N_)w)* zgb^pQeP6&jiNC?pKPwYi+zOE;O~Fo{I&}VH9QPk*h38@e1=I4XeHV^1L{cO~#Iv}WcqW{UX$dQb8nyphrmdA$)a73bTvStf z%-eoFbye_lo5&T-s-g>#>~`XK=MuQiUx1S>@;%2P3Z4Kf`k43WThaLb2hxz;d1c2~ z!pUQWfB5l^vESnV4rDIB!y9`K=uOkR^>VVuGJc>dKV8;n*(?31cmjG-jzC`evt?}p zy3+EiuOI?KsvaHi>H;K0S?>%B(wk|@2E5PSUzn7qR>vsuQCxF`H*x6g?SS|;k(=Xs zQY|sIkg6oXRz4-aKr++0d1-X}z(G#52F}5$%An#x{4O@ASSHmjVXx8|lijuX92i6K zbkzMmAVEd2CQxR+k90B00PZ~Mv^-Sbu73Y>Z25r*RL9Xb9jDS4o{{_0IAw}_`%!!D zY~%X~R0vofHH1$UQcoJVXZG>t_cI@WuY~XkcRH|AFLaa=qIW(Qk_zAiFJK3aOV|dX)O_DeajmdP&ojHPK&Bc7XziqxVDBf z-U;xQ52M;yoPUxpU4#;@)4xAGUW#ZdXN-~$CDJPvPm?>wE8YnsOb|%omOotaCDMH? z3VY4iu7k#X)3(v}<9FIPjU{pWpcfKdOcIewhKbvoZ2BbEPG857r<_kA_4!1!9F6vn z5k()GMSe%=bSln&hzqlJ`atCQsF(~ zfLz{#1R|?UHDuS28tjzte;Z&qD;il7UQ-R+clIYdiCFU2RQN`N(bF|E@3f!FTs2Al z!+bUbyCkIVe}AMd6@-PzyVi0a)iR+iGG>?*h&a-l6vB~pMn=)3NRZaGD};}J_7l}i zO+Zjh4spULp?#sLtl7;9vu&t4sF0cYu9;#3at^+3maTP%LniXJk%8-?ZHFxxymT2 z*G5$vMfCm=r-3qAOj6Q1WdmKcSglszpwL5OJczt1q+iL4`%R&Ab4|J?cHKldm|qZg z#})~RVY&R3WBSSW63J^Q9~2xCc62nz7@UKUqg%O-Xm&JJKbzipi!dpsN%USl12eT~ zqh^p+_lKhG4PYgP?vvDbVt#~cn`f}495qZucV3&O&1xl>DkUB?i-)osztZtZC3|=JL zj{$@_#NY>c?p3@qp^Q)BYU7GL4B8BrsvF!uk1tY16}Lbo#4DIeNP&z>q!ZGL-=VL= z$S$CWyLM_cNPqS2iD(u6d~+f?6n{QF5gm+CCl^jcJ6&#+GJ88^!<4h+%48|=Q#3XARtM#17S=PD7-%5L;e+enIBT`&`=Tv z$_Sw>wD>ic4&+`;Y*q1zraZ0WUEfVJ^}7RoE>phsIujmN|65!kgJB>_q+Cdn%P@1z zw=cge#}q38zyB+C3)Nr?cX(+eFJLj|50$r2>AywN{e~J^I)sCzKAQWY75F{0>j>so z+Vl5R>A-qFqZU1fvCS&E5>@9W_5~l%%Jj0D^++=!?~+bFjpfF9;NC=py}rze54jT6 zxm-PN^s1*xPmDzHnT??s_}1% z%`JQ4q}MTY#y5>(-dLRUy$nMQ)%0Y2U%7Nq7PD8)5uQBk$w z!nj>)2R}qUhxO#)V2xfHwWF(VlHLz9dTGQCW3Xn*V@tsH#0&dtT zvPsg8HC-*TX}O6Nvw4!b1D%c0Wf*Cgy+dhC*-dG2qmgu+(et9uDc*V&-?>a#Z-AO{ z5k*f^)8|;Qhz@k(kGQUeY!`02BJfvP`v#xQvoQz`%|6h@o=Jdgy_c6V>(LgnwglPNUK4EgdT)$?c%;(a51=Bd&;Z#~B4S$O z_%SfWnE`f`Wg|sYc93C-+mC8{Hf2tP{8bWVNrZ)y;}TH^I+9Zn6?JV;3LSh6_)2!V z>jC*NL+TkZ8ml-&kp_nDh!Cuct#r7rfl+Y{j5^FoYt>a76{Ezi_k>83z&+avTx%=D z@vVsB)<%=@$5km~-NN_lno;qCGS`6+>5-hto%ye!jaB!wtQ&TMdx^Aaaiba|ll1{2 z1ZYJ7L+#FSxht|22JVA^$U|OZ@`h?P_}4QEiq?tEU2}78)#Q=tTBM zVq1ij!fvQU{6_6EDXI$nt@z$79E#W27-_o~$F`g@z!J zHAzAf1WcVpS_g2;nSKnYTNAD5iW1&a^rM~QHJD?CNtejk&5D^U$1`bu3@zRopbZng z$RFCw-kLF~g`RYnlc2hK@d*qGQT4G99)vc-{Wx*f>IiyWg{}}v5zj+seTXlIfioTi zDCC1U+rg`TazI!j1f}=ou_!SH@uADP!$we~?ax!-V^lD}Y!ZEV`a}pbzkQLb}^mr zp_hC>Q`Sa7mXE3@T%(5|>+v>p75U_?%RSHLljc$^gx%DH#DcRN@-_LiD*~E{uruEp zQN*CsdxYIedQaynhokSzb>EX~lD>W^>iA8HJ1oag`J#&>!U$Iu0XD4%od4+!yn{HE@R%c1gVFYCg zbW`BEYfH*nFcz8$v!q694Wh!DN=)zMKwmP}b@=vLUW?9`!(M9NV*LO0?X@kcyokfz z(5ZOOBHZyV=7*lqL5=bDwhZD4GRp~&-Sste;@!UR(oKJ*VRkJhj{d7cy&La;hYm>U2~=g- z9uU&kx~qt$)U@DUTIKk!1>mE51#J!>T@Mr*EmGoIgeBO^!z{Xx?R&5>e;U(W{hvIH zgS;)DExo;VwmLY^B5`Y(AZ715F;@v&riijP8oK2PcDaS&rspW(zjusQfJK8QR(lG9 zy&8Y#xr_zmB3=#$9;Tr&ki)fUf-ZkFx@aDGD0ttZK+x&)Nc-m8lSpaQb;g9l&yvnv zu4EjU=*S9E#)S(k=x61+IN8FO9i|&_f3_aGs$UyA60N#49;Tdwq}+fBs;CV^ZGV`c zgy-ZYnazne?SZ0$c>lTv3UK1}PQrl~@$Ug_OAlqB4l5(Led9n6Z)Tf%pA*{FOe@%! z>ezgW`(gmC>hbng7{)=Ft5!Esn3O8@F@PRw@m~bYV=(*wZwKM_{(ol$4pgK zo4LPhh|+38zHYEu@@;7FGN0qSAG5449Ztk>W#TmoUw&heG2QVgI}}|hvI0>(;_%DA5#duUm|f#nAqX`ae$ zz#%)lNUb!`3Wp-$X?i9WCf2ZM@5)DEcG|CFG?3PxOKNK{8%qR=jo*h{zyk-+V|9+= zgYuF5;}k_F9YmA%LEP6E_K2O9{$}g>DAZI$w>}Sz5}9D!19Isr85>8K+ zR5Z1A7Li+b$7+nw@>VG-5$~=f{qbO5%*{HNa+GbYQi*}(1^F&KnV*u6zsS#uy84Vs z`E1Wa5y{i-0<%uDjP;GCaLLLfl~wu3gR=;0pY?QwPM@HykNV%DF&oh$SzXP17q49lSHnTqMN2F)>+CZt*rs?NJrfUVCCADwoIcBDp(iMuOSX%9AlsFy2 zrHBJK51)wjbxflS@39HL@FKXl5`rMy1pGI82AR8oP+A<&GReF}*QbR~c+hFe_AVelAe^SPn%_24$BN~`2#U>$G%&K6>#^7}xI3v<~?L||O_ zvOWsY@U*Z@VElkytEq$R_Iyoyv=P3)CJHO8?XW1up8uv95*F(qujFr9ysRce}0q zMD$q43Gh8q*dq2(t!{cJOod5GTg`T+SKAzR5~=khiV$%iNkUagLS# zg7WC@0l48%N%|7|%|GL@vga1k3YA{X&4y}~WV70D=9f5buECb&p?mMT1-Mr%Ao^6& zpYYn(QI-X@^qCEIC5e3ppdpJ1*Eh25L1;bHPbb-sjJt9D4ZB*(Gum%n!qQ!2 z&~%wlM?&KsTODR=QcGv2L&Ujo>9iRaEOFMX1;f$uJ4kg(ELu}gm^ zYj_cKtegsZEfSn>zx3i;rD(A8p;2M&3e+f2ZadIuq9=aEHS=x0C|a}e0`C5b3O_u7 zfH+-VJtrwJuST~&K@(_+(|1_Ci+nF*JjVvq;h)FC#-$&^E>h8ly-z+rW5g=~Op;TmUJBZ ztUg6ufIfXc4{uHp=`B2UOvz)mH^czg8nxGZIjJ)bF@f)jeIg=1_1&DY*sYQFypkfF z!ceMH2<;6m8rgUAR#t0NZmmXYwSXKc>i?WY5NBvLsG6_LV1QHvwfR))C&2biJ{v(OsieoCyt3RhDihv(E2G)`lNPGGaj zYFu@iy2*V%Iy;#4KBd}W><=;*2}f5~=s1n}NoGum zf?*<>b%MA?BP5)P!_qra`Bzq#Y@=F|xjz+$vbT6r>eEVnxiEd2)AOS30Jh(Ah;en$ z6~*OA>Q7Ll^eiRKqRQ>QECq72wgaQ^3KXaT6!ke9}#NZzNo)zu{vg~VOgELm_Gg$&Z0)-;k;i$!zdk} zuzKt%+D;2ge>NSHL{+}Bxf!##}Xd7=6RH`ENyd&1z7i9F3R2>~ zU8N<_p<0qOh8x12IW10PRdI{vkjpY8cZ%f)KJ@QaY0+4B+x96J+3r$lh9S6L48ce^ zn})=-jSx6KjLkT|3jLbH5PxRX%(BQ(_gZdM^Ag$*><5)6X@hd>Hz*s`O(Gpo((S|- znlRApKSgLBe}4#6;TE7QOH~m=NVC-wYkGL!%_ddZt3&fgPf(uHuu&4^sEU;a#HzI_ z&b>9P0NsA)7!p=-G8|_)ji;XE_s2>Y>A`(v+9-Blp$$aXd`%{ z{{Cb|Z-1~*vZ^}CH-;h8UKDSM71W97+u7)VT9!*ULYi)YZ=qhn?Gex-sKiZ%+k;^$ z1U)*r6t^d6Fc7(ywoS|SpescLZz0NmTXcyxqsOu$(%4pi-OCUo;-?w2i$!T=zFJWQ zV>zm1gf9g#$%O4w#o1OO?xfnxOJRr~vhj*jF!9*QT8tV$L2K@wQW^<6$2xYkpm7b` zVuW0$UV6kxR7#|GgNX-K+G-{Ee+vyK?kq*(pvP$47nc!TTCT1p`DUc9 z>rp;KgpV$0z8J^&lM?hyDHd!{9ng*0d^*tKQ&${W#MZI5jcffj=sh@p;zqpQ`>#Bf z59aB+Ln~O1_2GZ980hYr|6n(*_ujymfnX1w#p7Aov@STCCc(8?UZyh&wZnF#JM00R zR_N5b?M2pLz0)(fK@~Y6Op$ujdtYo&_s?qIItQ47hM_F(hQ;tt2TrNm6hzx zi5I4jgs!J9{^qe)#`fRT&*k0hVm@zp$=`YB8!t-`fN7E^z7Yx~ArxEk`l5Ht(+(OK)7j0gWDjo&%hB7}Oqi zGwYwk6tPyYktsksXYbb(39iGI>h)gt0fJ2AMuIEgTp?XiLHK@?UV38$v#uc{;}InP za0mO2p)>q=KgK4c6kW~1X{cqH>*N2M@A>w94W*Lxz=9978IhmZMLyt97mek#$?oPN zxC{83$Gl7`w$dEbhK*#fkw~24|4KYmQ`&1y67xV7+#b%>^^CZ&VVO0q-pPE2>+kc< zZ$==@aUvq&iw@n`XyhXz9HIyRyj&U}l}CflN=p4a1M_+3PKLB$!;%U;Sv4@Ugl`y9ukon#|a2>N}Q z_GbudbA;d_zUk@0cyV@1=8&8yx2wfkb5Mai6f=_f%_^RKQk6LsAw*}k6BX}%&Xg%d zp#NpT===&uLvP(9%`b7sSu6z%AZZ+2j1da7SrYo%MG;L$8YI;Oy40F!WC1E?2KFCDJN3yFg2Sw{e+6C&Snc0c2D0mB1Mm(4Eiji zF{Wxtp~)c*@#+kF8;(EgkU69E`Q(9`lP7!5Fa4k|(gZ+h1**2}J8L#-iR>Tq)g zh9ms~+31F8l!?fA@P-CFFOh8TS=2H_@RcFe+)YYyy-B179ry$)dmk#!FU!Rb{5));*Zer#kPgSqJ)~Un{d;a))KzR$jr$G9< z871pTBqOHvV_7vxLb{dTp_tm3kN1cI}0W)(sQdT0wnAnuw_fTR~w9MlfmeC7BAdW(-PcX z7f_uQXo_UUo(9{O(9jK9QP`FN9QTCvIcmC4m2D)uEcgt(zsye_7YZ_z`*Hz8oSk0v z&o#djsxq2s6~(i;(36+Z_-Oofp*jyxR(! z+>DaAcd=PrHp&13tem7%byjFS1J!Q9ODUuIZ*x3I$=TZ#Fcuc`37Z?*w8P`Yr-43# z9@i4WQ|k5sJIs(bv#=XK!S1&Bg3>xqGKxg@ho0UW&t*&6H?pN~@Ic!(C#C<)-2J-O zAC6;HgS~&ErpAmmKkv4t-(Uy(@FYQ#NGq>3eTthN?Dtz0Z@aNa^J?KZ!w830qC=&v zeAv!kGHX7>r-M+dM6l@xvLz$Lc#Pou5U(TNC&Za-=@igV4eGaeDC)$$S9*YNHIE%c zd(&5~7P)4y=CZ8jrQHn(utlIutA$MV7(9i(_`PkLVfIIw8hOk&i4^E_2%Y&Y8v8vt z(D-Xs)*hmcZ-`<4r@NMJqDmh_3N|&dWU^D9_e%Ae6;j1774Hzox>7IWx$#Smzk;0| zc^<*i8}ymP9m;ZMc=Hq`m2S(D{@2W}0mTk=ZpU-EX77Vy$2%~-HuZ{`pwfdcd@;_> zW*qL3?0;E6T{Qd_>Cd=kT_Lrsg67lM`IGJ!Zg*g#)*v}7#6pj^$nYYD%^=%RrwJ{? z2=G;`R!`d2?ux6_Tf9Z0Uq+#b*}Bzn3kyY&OV|#*Mea%1^>xIN=)oBFN)KNc?z!=J z?&z61@&0@d=O$7!=$%hTo7RF)c|B*Zw@pe4~{Cr{fF+TPIP(9#$tVC zLlvfl%15e0N(dQsF}ml4Q<;uhuoC0Hez6j23Qj(bb&hL-d%uUS-RvzLtJkia+XNMz zP#i>T75a428|<9Nm!ZvWDx5J(|NOZIO&S#RR6^VchOuy)Dna{MCA`|PQcB0JsH=h^ z*Ab9zSAlvQ!_k}Ye}_&Q{<*zF9a;r(m#Tna)2d)^E!?ZbFyms#SCi{Q#i0EXH<6R@ zj~Ko*7L0VP?-m0z*q{W;^af7)pLF+2xi4Rhp0POe+tEnFQs!lDRFlz6-f8bD1DtS5 zX+=}nX~mW3(>p3x0B;wv(%V31SX5fub7X@~V+L zNr&SSH-ulWu321kFC9hM(KGnuN%clmX0KM|ZHQN;+oMtR0Lx3@)q(?3X)_VGFcWGR zixQ9G6_xuqeMh0A?Kt#d@XbP^HN~%q@w5q(r@MFD*mIJS=8@L6ZDQWJUVFvVS-F~J z^2FJltDDbnsleJjRxj7e+9N_bUgjtBZFbGjP(eWR>d>Kb;MalgJUap5ZX`KsL%fhF z1qN}JXUn#tF5R}#^=D2$N`ox~OsC7hp_g8@I(fFySt4A9mRzQSF`2E>@RDr?N{iP`JIEk~-dCPmZ6~Q_MiKaP$|a8~7+D z5uvmL?o_KJ^Zg|NS3k=t2_0k2EiCp*d_%Gp?giAZlD6ZnV)U$?D$mRIqP61WgQEE@ zF5I{p{EQH^x;d;=fz2%-U3DtI55v(ll91kb+;JXHz1rOC4))w=M~g@=u=j1THxyTo zox<9jn2WJo-dxZH#zP{dppFlr*pxSi`5nfee-pzkr1>)83;$c5>3O8Y!l@y#TJ@bW z8>2SmrhR2FwMt5{^2>#j2L~P%+8*zQxTrZaxCr<)Q35~`>=ckKF<9-;;bJ~7dnOTj zROyqw@bl}{$pu^&xzvFq)^-z}k&(+dLX?*4ssll@Qu)i>zVm6MByW2?E zTa7yeI&R=~Qx26~^X1?6VR$zp$1)HBb?ycllzosRy_<%HD`YCLH=i?MQDckwlWE;L zRKkhvQ;~Wc$*eYT*KmXz7T_9eO9SL$GVx23(OFTQy*^~yK+9eeR%hrei0jKv=D_Uy zD#yOmlR2U(v}ipZcpt45zoaRC3m7w2|FeR=y$55E&mrG*dk!U?DmT(pb5%un=MXl_ zP%LE4)pq-~V$WiN)Konhr3wPXE%hvqJb)T2mI+;eA4Nhy{7K z9OFfsK$j!Eie0$a_Xw@DveC*buj1N;!O@b!#X)Q0uH*UC^;@*IWWUNW418oKDuy^p ztiT4Ab1a|7Xv0;axRdb{4eKX4 znCxMQkjRIIh%oRIe%-d>*A*JS{s*^Gkr8cr5e#b?FO~L}au|7-9)&U(1u1%^-KFZr zDJrT{)k;y?OK%ln6A%&^9WYQpO(kAM$U0W@8GL4^e)9iDxPrV$!ey&D3MTaj`f)@L z%s`Dkfaso~q-CauGHy!6uwS2Xk(q4uMQSF3!K!6GSc^i|DP6 z^EAN&ahGbAQjg!loE|RB>4%9j)S4cKDufl%Z&u)PDlSXQxdbLP^j<)Zby2i9%Oy@G znWjP|WpeJXS74rwGBQ|Y3X^_?2KP{uQ)T5lEG)gGYnCMy{z=Y z3Jt|BYt(Di;NC(kiQ%NjR!k}v z&aLI7Qr!D6ZccO3Be?k}ZdPgj4R0yK%?ZuF;VnCHvm*T8@Rlc$+-xjd+O(oFDdJk? za?v7*29L$jghXPvy176E0n}RLx%AB#n6@u`T-gx%E+cg0#82-J2*9#x@ z+pdB=Zp{PNK%+T=ZwGk?qetK<$G?5K?ikXtg1C_wHCELK|DLk1E`&kPl{ukS3c~0qo^-Yn| zumiY(i4%E>>y+593f9y>D-zQ#BZuTaZM0#q<{*Ej$m(>;~ z=?dd|&hSv?WGQNQtkV%evkwa9{^>}Woh?M0;S1S_VAI8^uZ|V5x6EqwrMW<{?DM@A z3wbji>snr!DAD#uDyGVjfD~L?F=3ZfjnzES-WyP33K@rxDhrK>Pm{oZXi9Wb%-yt( zOHlO)n)))*i}!SYlb`JphNBU>9@O;&AmK(m5HFM893>T*D0Yz{c<;OU*z#3zF+DRa2%R1pFx&55zZIny>{}C}Bl*!)l@JT`Tn@l<1_4Y!^e% z0MnHfsL?0oQZDBBBq}doUPS)(7Q%+N5ZZlMc;u=}!`M2 zw7lv<7vIRx{W?AA!;AI5-ZD4ev-WDMQk&!g?rm$9a(W*W)H8$h9HsBd%ht28Y5|kf z)de9jashdWjg|gsVb_M*L0?4rqq*s-S77XHoq(qv0BxoX^gXftD$i|(&q66TtrE&L zm(UZ2G$DoVMbg)nQDqTeDwnXy_;6wefzPZARq-Q)JusF=)o}3{+;p}IJ@338CoV31 zCYntLl?k|~P&TGmk*>OF@Dc@;CrG^(r#?Y|rZ?FO2CeY(JaSk8FHHu8i7iC6WBgnq z-8m8lM4rfl&(qouv-?UV*)Yg#Q?LhpkZ zx%C_{uR-F+LR)@&6m(Gcm~$B9+k=%qi_^zhjEzeD2z0B6KM$CF#FWn)qyZh&f3+nD z8&T)~S{3g9nw7T@wc56w>6Qz`qL6bJMi|ERsqt)f^UlamhpEuv_xW2)3o=GgMSF4C z=r%Ni8(BLwg_Db={$=$`U@nY!&9;wFu+kB_=WA%91b(tvvn(4^i9$5AAiy-(pD(Z9Mpwn4OpxGi%xJ!p*_;?Q z2|-b9y}?w+I&SZDM8P(^&k&sYZ59SipiuVhLOQ9$1nE?keKjUcdsu^Eu9;T+l$N_VLw8Ts4y$Q}!G6$?1LW+2t7;_yE<9C1-e{CZP66XMe zW=WT*YH~nP!z$^4Wy;5(F^9&p`W>K&D}cg+CDKz_mSD=S7MDnmXW1B&CP_XM$%QJ? z^wR+FpH_C0=?2ph=|^)C z-LMYE0!`B?q~4;>fXUMIB~nxkB>Vb`Dffg)!Zo~ETMZ2xnq-X&v{x_RywpW<#QA8cwvzkq;#0lsx3_|iW_zW|Q|Uii0T zfLCw>Wd`B@`2|plR0-%8;3=+t(4AeSA zl%)8LvL91$xjX2S2~!{WU!~lU`lZs`2exPPvV9uFr!JFzmpO^4Jn}&skTz~XV$=W( zSG+%AnqrQKeP{36vQOsNvaevSD@1z4_+Tn99mSJ96dGEBZXSCZ-|2nZqK<=~J3hkZ zpF_x;7>qe3+m}k`@bEdbWwtLfP1E7s>tJAry>0+9e7d_jS=zUa9N(Xb0U<{Uedri@ zr~haFmMi$?+{QRFy}@^^`T}%aoDPaYi)J(~axeV-g`3&SQzUeKTz~k%aAf~sOjSmy zX(u(5pwjvR+z+E%>6w|=+#sVX+3*QP897NuI;^(=4hP10y$*rM*-e7iIR0Y<&siGPX7^n=U$GAX# zrKmvwnFzkUA7dH{3~oJ*M(K_d!pRt89Ox+2m=gY!;dldwD4%-^723n43B$+o48z9` zK<|TRX7&8=F+^2;aT6>@h&f-T$kA%MxX{KJ;flUej;J{3`3Cxd_`az|AYm@UW_sk? z-Kf?~4<;{rDs5tW{O4(-!2ziLe4N%V7pK)TS#z8q_9h0x@RM7HQS@pbOW`7io>E0L zonlHT?i23@pT0dt!cagY>p`%EF?IRJVBe!?g6-?D+_@%*eP%^r4~y2MF-xjq8nJ9v4^sk(U_TL&dAru zn!hkb+|`?xvu_rxemCOqX`D9pBek+6c()%KQl+gK!xZ~oe?HMJLxAg8yuu0WPmqp$ zVD|=t^6HR3T>L?$?G4#=Wj8tAZ6r-V`QC_%X+mT;V?iC>9{;aQW{cjIHhJjHf8c=I zK}Xzu#(Ib}edBbgz)U%sMFZ?ws?;&H&CvK3sZpv30u(HN;3|vJ*YXsMA7RY}NA$=A zp!Z)!)%P3U{L#J0vNq#;HNO*O(!uTgKazVgDO2nAO9SX^9wghpLecg|{54~L%?=W7 zc`+p(L86yYjQr84|1fbZHR;_8{y<9myHZ2|-|CdJ@8;RCSrG9%)*SzD@CRFpDnm&A02s^pPKKfpCoLgD3^5;G8C$&nhG_CdWblY zD($UJPREXN0}*9Vp+b~2X)waD{QMn!^-d9~9bFgv?{|fF{wLa7{shsyHfb`3_>|?9 zF~{{rGKzlPT3Xo%h{eiShk=OYR%%IyxgaF8E0?KxB)EnN?KrwzA5+5wM3Ne2Sz&4o z6Td07f{9c&r7lXHpoMo+c}g&|H7G1!0L`$ehv}LIO@!4Q=w>26bTef(FxEQr&w1EQ=7m(2vbaxn78S!#HrZ@O>`?+f<&D4-(e=^m`ml;!QaxhU zc?J-eKNSKaYu5bkJT#Bwpv2fSvPOI-o|5dO@H9S}_KBCs+}DEQmysXC6Pt)C(h^75 z?dp7%A#Nj^GZ&|ayNR*vy2{)9LdHIq0bAOaGbvEU*FJv^Tdb$aVIKXcjU+t0k#N4A z2NDiuC>ZXIF@~|9D}$1#FhiT4RyTpUO;y_hD{tO#yJ#_ySXYrdN&={>I%nLfK-f+%~o03t7kzno7@Xf zmAd));kN?|)B*k+dDA-Dve&bozM!v;VV0-kV~^|4 z%30+W{~jvhu*bu;cfaWR>e!x_!jCH$es{X>A21`>FwB#fO?fh@EvsT%d|48^O`YYs zC9F%TPY@FJl=#oA4aR(Qc#B-E*cI0J98`2qy@SNz&lGd_7)$XS%>$X){q}+6W zWN535`?Mii73kLnkG_vHFHt_v3~d8%iuhs@a>i{V?dtFg(;?}8a88G)|2Z8(>E!9l zB>e<-Y|4St*CzJ`D+B7sbM#aTb<5wguoe~w9HQ(|J9FPKBO39dSldqx@gTo zU3Bcl0uug%F4}+-ObWj=$q-H1!Xo1wL}m+%_`re0W?{mg(h$g*W(!-&WlSb${I)Pa z2ggjnLQGik`*Z~kIwZY3dNy609s7AcBNE5u=&SdbS(F~`FH4cMD79q2itw`KqR-S+ zj_&hvMAW@Jm7%8k9Zb_s_7w9c{-^okClPn2(i8`~P?JEyh+%hq(abmRNN z@6v|f-?}FP4*yM=5~^vm%^y@q9`&Olg6bKwf_SF+j)1ucdHXZq+9EusDA*?$uNvg> z;najIcRX8)89W@QE9GxwG=@el_pVSQOv~`w<;wrb4Nr{o^Hmfq{bz0!#iij# zJK(K5eFt!&2Z{X+Z3oY#@3+*`dy5=UW$nKb^B(vs!oKYOsSg`qc09e-lhgVD*0A`Z4J z3h+eB#;e%x8)_96f^%Ro(FC!Wp+z2GB>^lIXeHeHR>Ec$FPb8k^Rs;@g5N}u{Nz4c zcAak#+6&cO0TSke89h%POOJ1&Xxn0|Q@+v-26} zTFUfPxQi2(&bzqKVLq&Z;o>SA7{$_{D-8_W-N3{}H89LF&$0$4;RXB>?w_q<6doq! zUuQjd+`}a0r+S!WFMotz-(fGMJUj1UUhamLmC|xN5FoFmG#6_r*XU4!cjn9(*aX#aD z>;zN5ng2vxh7W-2s3cgC4sNOE+aKnSj$!zLEkN|(tmCUr{eh0M{RqGRAb zgm+fVU?KDK=8HH*HCq|mLBx0(;PJ8%?)bwqRwmT(V8A35chUMx5Ib0$6v0kXz?YQm zLo>r(B@-+>;OkdKJ~u@PUQ>@I#x_H7k)~(1UquaWW`+_k;qS;lxY?=rSj!xhlbMu0 zM==TY$Ye^`c~xJ*c6IkSyT>XOEkSPhiW4%-U4dSMla%f)ekTcsSQNy_Jj8FKR(IJm7|8SC}hl4oLDNlIh!(uwpTTBOv1><4LW|{?GHAer)`C`ciyjxIpGVW!2RvO= z3v3&;N)5~Xi>O5TldGhISezj#_F}_Uu%z%_QXFf_-QUA9>hgBMp|`R{Uhl6=7}H?I z)Fw+(e|-jqQ=#Bpe;tUKyfRW92bNv>O6n%tP{?1tygLWrNg#~e;X+^N^5P+rM;$x< zgd6EHDsbKG&P5ltScA{GY6M0;+=9NcKB(V>=Q>U6Z&n$E!sV3)&5%>>Hm#O6Va57a zv4K4_+U$t&BeNwFS_&Ng)sk(w?NdcZO5Dc=qdcb6$s2x3HW;Z29Ijk~X}Q5De0`=^ zk>Di;BP8PNW)v1L=YezxH7}w)9@jx_L2zXsGtLlx7kV%$MHIhEs`*^a&m7|m6I<)} z?l_Y{J?n154A;G%DO>tP-$$6!axIwTMO|l5wjTYKFI5iwE)UMNQT^%#p3;aUN{8%M zo|P!e!HO)y2$mew~wYJ`J);&3#+^O=>&*OOMA#o%r9SaX=qc=S?H z!k>@zP;A`R4weS!B`;(T!m&{K|h`&k~TGw$Q*BBG=_*)Q^f1I$pMNB71DaG2{DH;t6uIoD>?k?u&L94;n$I2>t zyO9p~7AmL*(2&#hJb&=KKZAEkJlf9ic=t6762n=D?s$>Z5bpbqC!u3W>cR73cQYdM zVJ?Ha(zA(MHvKEcABF~KK7W~gPh1?cK@r#6xSOGzZNjZ+EhD0-Y^pJeX^7g=hUja*COp#&E#{b;}t_MIxQzLZBvgO`fwaxrNp>*MaKVRsVrJcP|u zMsn+_2^oHxDR?Y`sU|OffXbOK5tU9kd)tj!3*yAV45__1S-r#vU|f<~eqQts3T1^D zU0O>5JS4o_L)M0)6QX(mnUy&F7s7*vct~D&(wDysH8So%Ko8rU6x%YjSxZ#iTJq*3 zCG}v<#sYMS@dvvr1M&sviBu3lc7HGegE$C+TP|rA6Y;@3TKZE;70=2_o@N!3v(za1 zs|~|^G`L>l(lPG98cz38Y?F<|KYGciDO`jpGnFObQxs;cxa-0vL$e2um7{V{R%2Ha zC6aK?Jx}*j;pP3*mf>Sq5(*b6U=YztP2OQUJ!c~CSqQBI(zGk_9wKqpAu33>P)XrpObobL`q855SJKsasUBGpc!*@#Y zl=^2t`ij4>5zMJlWQMr%(UO6HqDQg)z8*P3gx&%JBh{op^9MCc)50%7qtX-(JtfFY za#PGQ+&so;(E^?8|GHCVRtaTD{Lb`-2oG~VusCHj zfqQOz8<=Cu?#JWW8eooPKj}>k?vGiPm((9)Sd}!H>e3|jeSlHmvBK&f42)n_Aa&~5 z54s5WVnKt-xN+O>6TUw71AZ{?>=dw(6Hc|!w_0yKKfO}jGcAt_9|veaVD7i6M-e{) z3Xz&JQa6$<+Ls(S~jg?w>DBi{c*Bto#QS(im!&{bYh0^nQ7j~;*4Sl^{^rU%sJs9B!@Lt2sOQS#sjxYndj?Y};0dgX=^>F{ zR)vLDuL(ata98|^CP`if8br_-ODhqp*S45ztl(j2 zMSOjbKI8-2Znn@5LQHRKK;ch;V1BSZi0ww4kR@7mW6esJE>f4$AejBTu08K26_1a?CM38E_`9p7!WbheQf2`Wp*vj6&_ zNEgxwgTH0DrcN4v0CS;QgE)^Ogjj>#tPhlm5ZxDRL{rfq@ItaBNTt;+O^7s_gA(d~ zG6yB??Jf~Q%|B>99}8iei%3fiHDZhm5Vh%~^Z&GI3>zTcL``iRxwC^NWRAb0{5zxL zVb1Rv%aW*>O??&ovhU=W9wZ;g#v|wwiI>e}zDqHO$KH1>21jWs?y8qe-_IXK(vnk@ zAx@8EuOswyV*CO3bmE&Mfzp2^WAU#e!g$P1FdgzaOgeYVm>FgVxhmWa31z$NaF6;7 zPip=}lsrFf?t`B~`r?NkbW6y&-4v6@$16+sjMyHoFuFaEmzVUtc)0~+gVc0#Yu!BUR)yWz+T#Be$s=h zcp_$j{(AVzwRkZ*5I4u=E!z3|)CD%LF-a)h4ZCc*B1Uv5ZI$RDv7F>&_0;#S;xsjb^WlkV1gfCC74>}-b zi?KMxhB+2P#lL~~Ut>Yla#4<@RDtl$x)M0aVkz%nDc+c3u>BP+NhLT!%S$kMR19sn24G)?9`ImltE7)9>Ub9{KdsObI^ou|mS{x>C5};&VepV@XAebu zV9+H`uX2ZXmZP+A$F1$A5&iveU7`0d^dZM=)q1@;**9I+clxl{cNxImE_%M(+}Dsi zMIFF?_x!ZEPprx8&BK|1@3mTZ$Zn!`-JxTW(C{?!E984rO1~tbG(w3kI^uBRb7lV@ zN$(#JRhj*dpXc5?KY#)5{D2t{nLC#OM?xKNfEgpXz-Xwn4FeS!uX7F4Uv@z2Pi1G(bU0~;(-+Usm=v#1Kf1lyJ*M*(M@!%13HINDPzWRUSBDVl znH$qhOlNi?P`%;>-`BYJ7{0q?7#$1pyCQHQJWYihUlT0%w2b&&rFH z)GbfWI2o23qd7xQIWqn{o5pW;GGzmJ{|A9qd)k@13_Yn)f0`uP)^U<7xB!u*@%1Ip zd>juEadbvj_ThkdaE!$3(ZP1T%tOj}8WFBG($E_%b>LxUnlvFG6!v*jt;*1=K498F zTiu2T1yrvxzo88ys5Q1nsULFzX@%xiJjIV!b}eYqS^*kgg6SOQ%I~;_UwuBgYjy18 z-e`q6Rc6a3V_kZsH_eI$gjdJ^<<~KtGO(Iaw(75U%2f@|+_MJ9Wc_FRt*ymA`z2h`Pg4Q}{FH~5Yy16z0g92@lf7&}J0wx7wD;@Rh`a5?n+ z8rylfum(j(m|#82ukELVC!5_Q3|4Qfgi6T>sgA|#w!}8v0@JB5Qal}V`f=(|Ar7$# z|G4*rxzDdI97LyYx`^IeeG?VJYl*va26kY97^|M*CiiR_a@dq{*Hwi%bHxghif%a6%}fw*O!LZY<~l9*cSx$DV8$F zn3US$XpC6fW;9Yb@@>-uBY{OH9bD?UP3cNzFpNF|BbpXY1NQRs-I%!1%shQA84+o*+W2!&r=p7g;XHdL;9qDKIk6vIx?&Dar zbcj*NiX*C@L8^+?PyZJ0YCxjuYYib;J0)`TFH`H^D}EGKCdEbmEk z9#)n#=?@F}3WGhmgD|ec%Rl`+vcbeHor&Tec(<=o?jzipH?5Is{KD&(4#()1c944r zwtl9A2;UB%?@z0FdZeBN`h|X^6UoD|Fc$AxNrItaIp!`}pfL36abq_r#eycUa&TC! zMgD1Bpf#1c`30`LjlGkO8@p`ruaC*i-&?wD5lK?4m&7kWp6Vq=2Ca|8H@zgH?LRjO zkKgJ;qG5v-Yogkc?wr7q!m~(0)BYASvmZD&neY&<*ldyfkFRJHruU~sV_d2Aw`uqH zBWCblDA9)tpyRihU|m0OLnBU5oDW7$vdd==?#-2;cBSOEG~VOxTPaDFJPsO@7$E77 zQ8P^0Z&HbWq~lH&x(3m6Xu~qP{E7HB=?4Ec>%|D22}Fn69s= z-dQcJj)^8Y2&f?1AW$d*bh7;t=B`&pALlkT@o7)d9WiDa>uWIt|`(0B{1 z7I0Why0?5R(gR|Vh7i^I_~P8*VbUox`Qw@jnf9BCvvBlQ(cO-Om;yQ4oV7j(4cSt< zrJvTZV=^mbOV(JJkKFP!-qbXa?R+@%om656(%JE#AxBEGK>5R#xAXiRai1i`q*0Xl z4`^KTpP3sDvZS?spa}5_4LQ;w94{rUJu-kU^yQ}hoW`y!BMX7WOyI*RCRdUW++4;I zj>3vzR%@-~E4yNH|B0K-}l0FKN zw54me5Clhqi?d5x^FT%0e<^jDrN{GHIf_+oFSbjcEdjq3cGTLXhY(QP6uJ0h-G-%a z$vXrx@lg;lI-$U5R=3bhwTGC6q{*EbtbgkUf zt?8w29#3#;jA*3LV<0FF@HjULQBU90OACmo=nGK!Tyb?T9fMPXKa+}Q6ctn2D*Vi! zAo}}zX&4|*Bt7lHZ=Fk0KEm6YiU{5+6K{oq64TjR#}#Ds2gcmUf1lE==bIyE0V;@a zV=?h3y+_TzRvd@H!ui+Kar3Y7oBPMq+Ml~3$d%Q^^H8Bf(k;O-T2^?CsK;PC`rCcA zP~~~uA$_%YqD*IF|A(gny8q$t?l-qL12VW9f%#!-vl}_wk3e5kfeGUF4LobZktu=9 z@M4lNMJoSg{rkefwsF_Nc?=dAw2ESR+U4{~k}`#~N`1~%(!Y>5u?LlPRIPRF&-TxeEs`GmXU%^w{XQ4iA5AHw<2~!o$aMKHB4)6> z*HDH4rNShaLF_=HX>>@X)IHq7oq2T=B>h;Ra$A2q0!pyLkDkt+s?i-6S}8CeDJ#Tp zEjYnV*85VI;K~Y3Cs^@Hg=We8+vbscbP@iDH8^9I@MaBDS4ffy)l5!dBM zBiEZeg3ZlXEFcm%Uzet*8|78XTcu0LgX-arEvZ**If^J6ll|5ZoqaKd^w9_Yz6#Nz z7=!Av0DBAzPIcW{l86{c{U;f~j^bU zUzw#+J8xqt{q5*|K+C#F3AS%p%Gk_O$~7~11WPUBSL6Q73ShGasVE<5KZjEomH%la zrBAVg-mIh;0b-R@v|cNKQKzK9xLZl7^t1q4MoAgZE2)^p{S~iiPuab~Da3}_*K2>* zA0g-Fs4JD)B!+TUwSeUBsllwd((S+67!AWvvd#!4Llum#mJFQ{NabR+=1W*DrWcu9 zhWO*gdBSxqnk`Prmnz;RW*h%!ei~4EbHff@Oe7X^T3$;j`Xcb~#Vae`HI67r{EB5r zmQAnt+=TyiE1T{&$drWgEn@~C^;JjtooXNFTY-hqh>kMLh=D9^#qauN17TY{fE?fa zq#3`GBxT4{1M|IKp1l-I+eOz>+=Vxl#pQY2rCr_erHZb~GSob>3e}Q;-Zt z8KT(fy5FgP@@+tmAS)UcA$L#=WcMyh_mC@xGQmXZTiHNZrsy)Qxz1r!MXso0sCIwu zYU#CFd3ra+5dH(Zj{+rGNr6}yyOv0OrV<(dj$Ic6op(FG2hdfbA|}^7V~>T|5UGg4 zwCUTuGAV#>=n=b9eiJUn$k|5EGTLVr{DrHeS>!#EvxeE2%*RA`5^oxn`Q*aI>oTcc zE*kRX(p(BEqdT={%$P@2X~&H=xxTpx_!fJcyb6Pu=wC2AfU1|i(G2(P!hs0|ApOgf zdikQS>gD=6OiX&jLYc2EV2on?HjTj2>ae%YWiv=e6T3*HPAQ03mus431toeNW0ifZ z&?%S78cE8`!gP#UTb`m#$MoSNSCPJvVvF0$&5 zjhUUNQZ^+vy_^_T3r7hScRYbHhR-5>ef*O5oR*Z-*DK<$${6Sm_M**(zOAFUP!%AO zHpSa;t`KpwDTt#L5J&6ze+(NnNC_mUSl}4#)Z6BpIH+byTZ1gkWzbdPa&H4|RL4a? zqOv|K>fpIQqtt7+uov4cbYmL7DlzaiKS2$$FvjrZDV8y<#cWKOe%Eh7+y}BBS3s2C zf`tVv>9-~NEz5cQ$L~GaVWIsNrM;2MuAXd4o8l{XI5A-Z+UMLT{gdBAwF7@<9HDaWW08CRIau~c2WaD@kdqZ-3D(423-d*b&-TK-E|4lJA9{{>IdD&A*E_c zrR%B7V`plggPUN>O`Zhl2;QgHq3obh3zIcyt48F~ZxaZUDR_8ce?=D43EbtVazb^& zniug z5Cqx&VDzF+)weEnenBMY;}a-WL}#Yq?mASNvG{otiQ)8h{cqyb^_d%-g%b*Cb`nNt zQaNz|>wgqPusQYw-GMErK5VB1M;`*pY5yVN#2EzlBFmusp^N*Iq>qfc)!A97Aw;GO z<@g^~ z((N<3e_x_B*sQ=;>#X36!ZR=?IP^ieWC^$f#1Ab2@+vPfSN7#4CwabH&sN^wel+ zI9Zx7wN^w~W8y}D(bu$BmZGaJ`)V6_NYA!25txS#Q#2W)O%~(ON(j?wmBw*8?f#r0 z%8=@cFm)LF75pB?6`{R)1!n`KnWjoWzpeysS)WrGVG=k`EZ9L!_nnU8P=~nH4s0G< zqMz?q-g||Uj+*kA=xK&ACxeCI51LxLW9LD}UY?Sf?4~hBzqk?j@?WJ!LYdv?iu~liZrP z=-Wy-cm%CRRHCJlN-Q;zi1A(7s0k_gQ~Of-2=}+-DNF(T`-7t?(kc@={f#5TXcCsJ zP0k#Kh|p5@Oz{m3bES(6-|a+ONj`daCfe6JGbE*Z8*(Ll-_pB)j8LWu^EBvtror_4 z?5V_9^B0kKG$Wec{6(s`()`7WKiSP+ELwUM|3{1(L2Of&lR{I!S(<&Jh}zd|@ckc4 zl>emWG4J;}t&8EBS60pynx#uz-$NKQBbe2nDvfjCFKB2{z!OnoaskqKyft}T9^Oml zztT|R`_6ZhZ%P5aeQ|pNdx`y13Kb}S%^KhHZC5?r&+?~n9#mh=5#1kf-3(Z@Fub!C z+ES$xT;Sr$xSmtJ@r+W#H|OR-&3n0``}f?i#Vw>s-JBth>(^A)3C=B#P7GBKX@?bGplqc>ba#}%8X74;`ZG7RrAhla`;g4|o?%q3eXR0jHKUYK zz4z%KF%!OMaeWrsX3JHK18*wx!991CiSCAR2yek2mZBh=MeTD}_^^p0&WlG4-z||G z{~IAq#CJT&QxUFjN$0oI7{czUiWJZlMtZ7Z@Dr!)>GZwsBNJU)$5ON&TWpG{yaBxB zqWd1ar~twl-0MWX#EQ#E{n(u8FbQ_v>M(iQ|3-N$T^sPATV|5_asG<}XD1l8=N#K9K z5gptaD#N?&c4mYSguBfmDs~q>@X=&4P7+n)B<;t=6v0p)9EiZ3Y4gNJq&itg`>X6mj<-1}jp z0%?zImHY?s0nELEyV@<-n00m#cc))+hJR#*ZK7k8KNO7Z5|h-6lVe?KxEg!4ueA@kT|I ztUO+`t{uv9*NJX-Ek$|T3ztg2F>PGKTWbw(21$Y(|mVn;NBNs!i0nd{2MZo@PoYz2MPK>^3exE#`FR@K~A$j z`~b*e3TRIUG{qQ+;ne11Y}$zl48GF`%ic0cGu_lmCHv%&fA_8Nz0)WXXZ#PNfN2I%Vt&22!+0bhox=JbXG8kSw$zLW4XM z+SWW!SG5`XG9(du62L=t^wFAa#gA$47C+W`#$_5L1X{8^xq%K%WJp`^7!Sg+9-hi` zr3t}?#F3|Gl=OxNBk?=vqH3`(nD1HYr^urPtU;4p0=jB5wZ98XRpXgl^0-5+MbQ0& z$QV|y`GFiq)wC5ekdNSBGo~VSm0Ck7`|`H6ASv{|oj7h8#H#PvKC_h>j-ZhSe;ul= zL-ESI2)4)oMaiPuVP#AlZF`?gKIWQvbK&6L2AZ=5%H_nDlJe~DXMe}A5gN_|ahWXP z;?l(p)yuFM0yjm;EX3WtTw0P`yUJAd>F8UMF(qcR=Wa@eh>Qnf^ ztMw^5A)wIkIGwf0mL*V|lEx-ad_dKuU=_L){)M=@lvrOgZT!%dK$V@k6M{eM{@1v( zGKx_LdSR_i`eM--#h*wVq*Q$jG<=?7|9wA0x1XujVVTA+V{Bh5N7t7r(E^?AjG_#; ztK;&@QWvfRofW>c1PFg&F_7%bw7xS+`gAeQS&Qg)m8`7N?XyvEqFZT06E}PU%5Nba zi)LvtXiwu`b?Cd(P`*MM#1pusqB|tltkkX3?XTnLn@eT70P1(p3atH@ur&J?T25Fr ztMt7)h2YhW&Qx6#THTW?q^`wd%RNK*oG)m6%Q$93@3e3LZ6#JeO>Lv-NDoG4FW{4} zl`~NX+D=VJ;cr^3M7xJ_Zg~#9g*CWBQ?ye$LOEy5L{O!k_b7` z;civT9gcK$@rPrSH~7Qy%EMI?5u&E+Z4p>a#U94|J1}dilJVdM`M?udJp(Dlt4$kp zS5n!11NXAcs`sJml7QEUZP2kS_ZnsISJwYdt7=0D1DRZ_!tyW|Qi!9cv!sK!q4xr7 zSnhp$aA#J!W%XbJ+h4MJ3nrRB`8F1UxEETJaKpU|H}b&LdI$40jHYHDyN%Qn(s6c6 zN51q^0tRj&UO+I@t7fcv6UvvS@TW5hByJOOBth6wl7>p|3_X!AeT_RVE1<8yW0eGt z7wOffRr$JqRziFQhX4287GgCiW5&48%n(lz;e581TUXg4Eim&>Di?_+XWAa z*^(e`Zv#;TX%H{kuiV~%ZMI=EI}jS!&Ne$+!mYQ@1-cP|iS5sLyY(5WuQ2854_v$4 zm^>y#jxT;u#2qPkM#VXq_EN*w?EOiYYqt?=7=Z0D%{^BF@{p!a4|5)rlUTJqIL~@i zc=R!2I3IMt3Bih5?fRkEHWBwTxTCcpCU9KdHlWuf{V`PY3-~W#Pq_+Ju-?T6Dppx> zq+2QI-AzqqqOSaUQr#{l5Pgq@NJo;U55+XuD9ePVd(sQO4a)GzvWf&Gq~qRVtQ^?i z*F@UiPjM)P_gOhQl8XO8WxNgoY*?2-bd~Dpk^Q^}u6)E`^&MybAE>4v)zni+rQea0 z)QeawFh8n2H~Sh)oG<(ylNVu4kZN^TL)oFXSBL);+UKI#MlqYk4%jS zY}rx(+8*OHVz=3-uEkig`S}yU&+mNLTv~q+Zu%Bw}14PS=eV)N3 zG`$pe)_aWcWii9|W8VG1ve=S`WKdG@gYq#X%t5eg-v{WraMXZw9}3oO92Bde`!-hJ z`y@1=Doa%z$d%A*G=wEo_ih^4gLQ=e+WL00Fz5N)GkZm&i)FL9zh<6zN(iBuDThPz zk>L}lIPIb1Hvb!-{E%)Z4F7uwuYL-v#T~&g&&vbct5(>eM0QYN10Z%;miZqInQdb# zW!itSC@FLg!r1R@XEh}B(UQc6450pl0jQ+KdXE9P_ccw!xyG{lbjW>_0cuBiKrY^q za@An5DO5X6|21$=ReW~^b)*b1PNJ7d`xTPBeTf_YcXMMb1MZu_s$I4=FrKrbsyqsNcYSSdmUrYo@_JsJ5IJ#>T;b5mm^=j)1@9ngz(8eOh3%&?ef zf6mLnmJqfAYY8C3bps&Ry0mx^Itwu7dstqZK@9>}k8%1%9si_sIob=X3AIZ`najs6 zvZa}ki~`i^&I9P8S;xUUk!Kp7IMS7J-{6b_uEyu_xFK1MpE zO60CW&$~}E@t#ia0{3a08x6CAgtHffaB{bgJz;NW*at~|YnO8_aEI%n{BYu2J7YTPoUL_HwspZ=Hkw>nqNc>pF3}^VeKmO49?*Vg zBEq95)hYNA?g46Z53VTgqJ@QieZOQ@|6n6xl2&R<1iwD?57(LOeT13WW;5EE;b;Mo zY+^ThQA*zMg<(o2HQ`ah52E;SwjFb$)fPESoJOLw`GeC@2byCM%E-1PHsj6?3icg- zl(T!DaXQouz7)9-SV{FhbapSwgc^ZJ)fHF>e5-%Da9$(TJnD2z#{H<+!Gl!OXe@&a zt+bsd($1qOHxm0=Or`3|XV`uVP`4{w@25|8$FKqslOWdWonIihLHGFfvyBwMGG8n%h!T1f;;ZcTBvxi+$QgA}eQ z)=6CmF{)QtXLZv2ny*^1_rKuE7)TTx9BEVa^~FmVNAn-SZ69HWCRSgKMr!!0_|tWq zDL3#>*cOLKItc&cZALN}UI;yLHcsl?7B2-5-Xy*f>Ooia0i)=i!PClzGPQeFhTjcU z?RGjQ@EX-EPDfH%b=6Z&$9RJ8E%tNtlfU3}R6Xx>cqsnOU#-H9Q9R7E-`NF6y5pt4 z;YQWX4gS!A1^AB>=403yUAeVYC(S$qQ_m0^IDNXC?|kNPyfm>!eA(&PghKt_%sbv6 zH`yt~mI{Yl0@!nT<#8y9P$$?<)i_KHX!65Je7>qfX3A&$^Hk+7lUc8mQC(`A{$`b; zxF(%U3`2unI)c_nw&W1yf`f1*-2la%dg)Ld#Hni2xo~rb!8@v#4q!9e2>6~A{b?Y* zh+D0hF#D?LxQc{)_>%S(0V*ZEMX^owGE;NHAlDf-u?Fdbm7uGr#+tI;R;ObI*%dnJ zvK=@D^|sN18hPO^Km15NBMcx0Myf@rRnw#_t4}E3ZK`G))7XA9D7?R6d%9E2H3VS^a}+=Q z3yUF7B-JuV>ztHnt#gvPT$Su}fHy&M;)ykhgYZ#xeBmxoB}!GA!dcQPzi_zHR&;OfSvWXP2DQF$ zqGZA=cgxBhaqJ#0Sbk>Kg+t{?)7x|xKr=HiUGu*5={CB{@wC$17 z_p#VZS(1{v@*J2``Ckp@D*MUJ31k}Ats zB)yi<524~k(u@K8pAe){G=I-BSK_Pgbp&oKWOHx?3pO?&${zww>jBb!zlJHVNy}k9 z53acd-8Bu0LZpKJV)~Z2@a&Z`f0FcJY{PDi%m>gvKsqM1wClyyzoi#X-O~c0b6`^{^Y#`!A4mLG&Qo66-IXMrGPIictG`?s(uw5_!hDi+XBaZ^ z0?sJfQ?JRX2V&4Yd^a}fG}TU={RXLh5D>GIt;}`&=f4Y~z5F9_R;BjuQ%AJ{F9r+a zP2R;_yVJxNcqZlkIFHhrvo7eoH4_VEF(1op@Xq*R=>_b27G7}ZBWnrSV(38cpS{RJ zkdQmpx5+@Z0MgNB1nfvEkfh4oBoKcjy9Bw;dM&Z+a0a~7LAC^N)!fugwqPYSG!sJj z!>^_hGQ(&SM;NuOt!G=Z^cdbGK?g!Ph;DACtPVGII$#@+cExIxY7DA1WOSz$cebaN zJ%BqSb)fFIUT82%_u`h!D%;!0Nq6Dbx$%72JnS7cNq6EFV*!{yJ+T45o_Q2q1}f2g znwnZXVcc8{Bx{0(U=1U>hbz_2ypq1XNa83a9_MxG3a1{t4iF39o(0fA`L?^?XEXV(XpXhcynZVI{T@AnX;EIn_Mn2v7KMB%s55Wt~8yXlJ0Z4 zPoQMOido9Y3@0nhc)1LLd!4iq()bLmYT(rdO9UUes()1d;}oTU$?ZDg|2YEfQ)-)N zmfBGfn{FcAt6eu7NM+m6SNP>Z_O&)T#V3xxD1>9M(&SHIf3`G)m_ZT43&`DLmUfqH zBi#PTw#ob6#fx22jo$Ybe*RSXFJzl<&1bI~?kU5=Cn$K_TbU|-p}$EaA^sWf$=HQC z1dvScSQ6J$yo)p)D;q+=-O^r;p20FCSeu~cBZ{~*X=UdMtvIoN(W_%1c;*&zM_|#B z5isrn97@ZCduHK0}ny#;?=)|4qbK-7hbZ_UJ*zZ;oh7*9EMUdu)l+s4rhex5CzRFj%B* zdhQ82N=itRF0ysHqYfX(fykWoBes6yYqk{n_t@3jhyc1Moo1`g8}2t8#PTj;O>BW z;|d5St;hW0uV8c(N*=h6JB|XbF92o*)A*i?u=hHSG~T9R2D6VE*#rkK$b%0uj041I0i)^BMhy(t2QR|v{FAvhR2Ex&@r=#@m4{xrUv zU&V?Vqzn$8@#v`#T4@{EgHDRE6JcR5IaiqyBX%tP%R=@M7Q6hV*Y}z1_v8kDo(4Tih8zzEaoIIZ>sluVr7{ zavH6&Q#9y)A@aPZ5{=e)(T3N)D+$W_mMZhU6h^RjekJDJL-~kY(f=&d8_gS)s@qCx zF~rD$dQbrQgkEdXeaMAxvGuq>l59pP9Q#%hG@Qm(W@^7n3$G3@=uMF|j_4z3$nq&MIN8-yNYk$}$db zZ1nvgxJRh2UgXR+A7k)SJnu zWEbCgVU~hnrPz`xx{p)Z^clz`CQ^5v%;P~?SNdr(o7-k%O`{v8WAuk#HF2LMUZPFu zVkEVXYCu{t^mI}UNO@V`aH*C=l6nYEABd^Av+ECUeuW`(GeJK|vh!|yV3vnK=>?UR zEto2{;$yp_gZ5%yFQQ$~VAqe#;6k+SuF4$g>$q^l$vzXFh|qp%B5r8?573ICr~??5 z+Qu{Kdnje`RZW%CrtTZPc7#KtY%o{45C@b0fQHBD&^;;X1>U*^@;$E92O`0-ZFTX5 z12KT5=+QG+yW581qn-#%h0`%q8hQw2%JX>Rhe38|^oICtqtmefWHVAk{`~ezA?rV%oBJR5yAA8o`)%}#~D}0plk~d-eH!MoI!pQW4zajx79X_0h zO!Ua}Ed5U$)csqdnU%BjV2}}akdZ3a*N7I)&v=OR1?vaj>;fje*DSoZK%@?WNm6bU ze%Un{|K&BAJ}2v7zt;TRvBB3v=8J=;v0Sx*A(mgDJl6W_Lhj_BU?4to-LDInQ5yJF z86387RgvbUFmJ4i2p*x(?qg`{_tWG&4hFuv>0eW`xo43=r81p$`jA#ZbYtbr&Ejcw z^?=h#f46sd%(~uWM_*7>xvdo6iK<8I6H9I4qrAQI)HJNGwKwC}R-E{S3`p~*W6O8Q zP#Gvi9OL=RmTS`rhlDw$htLnZuK-zTu###fu!mp8g`PwFvLX|K6ro+!1*+c!^F_;h zNUjK1y7=4Tx<3R)G3{XRDm*?A9MS0|c=O^W=FmgnkW5YHLmz{3pP5UQOt`-Nxy~{$ zgoyi1*%86hc&o#$FnbutcW6MD*WmG;kokrx#$UFjKt&F5i0#;QdwzhK3ov9}QnWsz zo%Y6ur*(Lj#2<)xAviz_RFm#dKPmP+$`1_D zPc9Tiocra8VEM+j88k#sE>Kb}R)HEl>n(zF7tz#n#k2OdU4jywr}gECd*ssi?mveg zpnH|!KGd+K|LVa12`rDJyB>vL)l>NQM+kDfShZ?h z@aPR9HQga%kjXE~XLGyMj2ZZRp+XDA@z8gjJ>owo;8{__t2JVtfzO94pYppN?Tg?W zA60(O3KcbO-1`Jo_lMTUaS{m3Y)%6}*G&O@G!m~F!WmH|&xjFGVD37KRL3s4cETl( zLfm9my6`&kP0#+Z}W z^p2sI|-zvFk^C`)MSl2i2{Tq~rPtCj-xTXz*640O3vh@PO=r znWnjuBhfBv?EkY>jyn8CAL1^`FJlDMKOJSoDPixqN+SW4w5VKg z>?wjR%aC`O*u(LqKuH^P>}~Gz9VkG&w*>@8Gty{K3c=A>#CnP!cZbkZ71_6i8oY-? z3;TaVV`m)uJn4nIObSpBBnW7ml=prYF$KcVYH8V6tR}^bu~Y*Txbh{JcNr4+afzE- z7yEZUj-o0Vw!CGA{>gj^X@vY^Xq%2g2-E!39_&*&HnSUnFR0M8y@R1%sTI3iP3ea2 zn*P92-&KjpAt>aS4dFYsNtSQ!L{lhX~3%CecOkm`?^klQe+Khn|<|oZs@M zMFSv2A+E0cJ~pMR<_MN+s=~G--Zvvt@W<%(>6+NftrOFW3mK^aBl%)ANFKbkxI=KX zY{fJ|4$@Ia(u!MAv%$iT;tp`U-2i%nN^k0*gr}F9^ckce3>JFoj`I6pHuwDsRveD|$9M9dooUJ#@(TJT5Q? ze`7clUqM^ZU(uQ+{2PbZqNIv1bJ`wd7G%7pnN@LYur3lxu%r+z)IM<2en%)Hsfe`Q zY%Ig`2%jH1j*)CMsIqsWpGmkN?s*(*!EA+~FA*~ItqtgKnvKMwIT*%VX~QpuIIKz* zn#ONctDKG_7+>&gVe+;;OyM-HT8;bx{WLq@z{D3CfSG!|>}Pz%NHN1lQ93=j67NDC zt}3gI*~UmuW545Sm67%JG4oH^Py)>~L=X0uejAuf;ihMOcR+<2-Mr6}+3y9EW$~j& z51=3;sCm8(#ktcud;%28x_)fP%a3Lc5P0^ypIRcBAn@a1ihOtJ=6qvyKP$C;$uenM z7FLbAIh|^ck^FU(&5LIb{RMGS`yZJ7iK!=#?!yQHB+2 zVQN;mj(w>6FPn?6@cgGvifqQfo!cvymT9M6(SAAkieLi$hR%c zCG9U{;gY9JEL2E~wG)w1)6uf_NXU!KLH$$IDG)Y~v|w0NqdXEOV@OCx6-Ta+&0kSP zu{z8DT*A80S{v#HyNzXmoOR>>qy4v22Q!Bl7fJc&f|9l$ja7rH;7>Oe^wubrou@o~ zTfad>Umxh7ML9U2x+x7iVp*zok(*#`TorEiLH%CD)_s1XJvL?*jQlJXko$89C0QY@`N8hY?zyK>I4X-Sg2g_H>DiJ0Zm5o!$(+l-c(6~c9 ziB@tpE^YM=hO1!PDl1(H=p(#gTNJ0QoMnIC*+GjjY>Y3(i^BNtSdlRU%Ia<`9K4vp zva`iM#ZxZW_b#eVNXoUV`xa%zdRg}^!b#K{&~1SM!Y=Co+uT(wernriLI-a_>wi(m<#a>sYP{Fc8+G5SwYpbe z+9K=FyC)UWBbvt5V1=VuxYzTMb1wN8AqhOVq%-D*Om+*`ZOb%l3DgF8vP-h{t?c7?B?!c`h2(b~9C$isF<9>&^iPj!w z%pV^U(SaK%L{Uh)mP{+Lv9O0b)PihxYs`X!$3)#~OwAMBM^MAryv7NRjD`6`ox`JG zpY4otR z*qo6(#)Ur9$p`0r<35)FDAH;GvF@ z7oePW@x_8;)6gEAff@lrJLoL2)`cA7YO|@ni=$c>v(|oKl(&@noO2{;^lFyPnB>ur zTDtKpoNK|Hfmuyj3ezV`xvCZZ3d(cVEWvT5&8fupwnwm3FQz9b)7Rh-V@V$SQmiEH zoSQxU4z0`$X~gq-{M`U7+f4}rTd6vX#g|YV7Pm2ks&mj+kw>L-_)=LhvS>-k|@~(@c+CH3Z{Lz zGDCZ3DjI5Cx(IC~I+)Q_)CW8kQB|b=-(0yOA|o}M2cfgkTjXCC#7Wa9Cw+H7FD>mw zVu3gi95WfHP2M|AAe1Q`NiMo@A`&zw@iiTlhX4`4%~%IC&hlAe20I;rdB>VMOw$r@ z7%R}MGAO7lLkgsKt(uk_@*zF&=<{x&u6rv+!h#|L;W^iDMO8`gj2wbR1BxGXYlS&l zr3wbB6Uxp+LNJ7Horu*(Lpk6G;oEn56*vrOUc8}EN&FSW^E5ulu5Ecft=O5r(vbdO z2L)|3zh+@HOMAz>-Q~d&wE@F49U|0#GBB`p2R@w#5t%p=k80g?L@WA9PJM;920Fb4 zt+gF_@#%Z931KbFFVimW_?msGa>E6Dc23;coF_|fS?`C^y|h$xJ*<^+w9tGbHpf7L z$_VB!s|wiW#I}XXr`0)4C*r9RS}ON@+)r-849lq5W%1SiQ zB$7hs9>GDmJbaC<%N;*QHeb57P;QDX30{^9wVR-1(Ut=I;Zl|`UyqdeU3vqKlP#~mlf(7LUPxv6c^Bow ztjKf`wY1Nt1iB)vdLve2o``UL!G2Sb?~W~WFo3?@FwIf}iBTD}mdZ#JG{{R>63usz zR^rp)3*=WQb4YmwAQt9&fXgg8rRE zIqxmIhRq!np<0i(3A{LtxyC7|{y{(QJV>})e1ko+3ap;Z?8K!eL(-J-I9930bU&;X~f6yw1U*TUT3dYHqS zsnC?h4E|W~3~B;nOK30Q0x~b5W|YuTn$`gU@QL_d)kGFJ_7;C?eO1`iu}y0lUssLu zt9*}gvij&kI&7K61uUAhYkz30j5R+O3-DFB}lI~b*vO=3(izRYlKA?Gb$M673XG*v?6^@|E#LiyAf zvy#e`#@;y6vtzw5SB<^&RH&_)4x!>7oCaSc-}&muLWc*tR(wkEVDB2pF%R~)5W8P3 zAChbMdRMi81GZ!R)crBVYZFfTGZf=fR0l;s;;5ePHcfS1B6ogMpDK*E)1sKZcp1}G zG}bRXh;ZBphdQH7FU|F-y#1%s1P29UpHW@MGYvjxEmjsE6o!%8B%lb;xF*4bS!!lN z@0`n&5cGCvDbf&Ov=WNkf|7D9vA1yQ!^IXW`dyXpLT?J=Bu95)dxbr4$g{TV51++h z-*(1>Ly(DXPZ#Ae^wcH8ZC%uKga;pEpa^@3Ubg^^pXhZ9oGoxv61td>iEqRv9vl>= zoucMH;X5Bd0eX>2{O%f+IPy8W&$~oK$zAp(#r@D)z&HU3t~}utpSVX^hHSxQO4px(TV{gHj-BA!H7$Drr^yp2YzpQU%JKF81fqnX&B#Mk zc@*DttwbdY{5Hle#)ipSqbW>SV|kbq^G9T1VuUd1Fe<`CWmJYqtZeouW<#%}lqI!U zYRYd4x1bo}&@okrBS#v@N{l>&HM+i$tYV@p3EGpPA{i#IGT@`rl@&s>ptUTd|WszybK=aqU> zf~@|>aBv5%hTAdYc+Yxp*ud*S?Na=WV3B1xjLi6Da9LeOfowTq%Xw#EVH!Ld$;0F8 z1|~6bXa%ZAX%lG%n1*n)P?rj{nrA2)KHGH*%_Ix6?s&D)`ga#)_;HHx|6bFtCiZg(F#y z5=?6ae62=qKQ?iF!B&M*kz*?fy5wEGWEk9?DrsBv&$vFO zLylZ0THzo*;La$b#E_|io;{t3I!>p+I3vIs!|p&Xax*vv1f5_J9QWE3p-9T{Dh4tS zA**v|r;@mo#p{9|-Kg?_w&z)f_?u!V595jJIm#n$jbV2+FdF&H)Rx^S8=qJUPK4L$ zwi<9&BWMpnB4Ce}(r^a-4sDe&v{lL%SA!NbMq7op%-955s>bhUB_T2s2Q#qUit}Lb zc2V4q3K2fDE8u+vSI0dJX(}o>FXj*f_@2NPoNfWB#WFjie4a=<@PHlo+hOeg;T^0V4oD&nun+maYugZt}=kA&)Dq%$h;LtV2wq(f3i5kbKa#0Cy( z!6$<-68kS_LxV9$E3~ol22?Bt3%r9k#jU4Nscepfh7VlLF)(+@6PT7=p|*A`2S*`$ zIMF!5Y~_K9Y7VKfiw8QDTQSBFMF51G+wQ{_idkdd3*^5GW5) zLuSbLk&B{%(hrO)#9e3N2lf=|?c%EG$VRu`-ndn7-*IN~?DoRsSu9FeegG%$OM^R2 zrzj>Lx!|ybc>`~i_C%_JhHrQ8_eHsAoc`C7R_s+me+wlB6J}&$VR^!#&1iB>Z-m~Z z5UNf&EgymA%2;U)HaL5@!XpNk;IlUGg05KCS#*UYjW6~#B^>$?XWj4@9L0JK7+!pE zrQm2tzg790tK@m}mRgVHkTEAVihUev4#n;Q137nw!= z*h+8ca-oVj)P)rt?zMp9<6nJCeO*|W;TRH?H;*WwI|({90zO%Xk9&ts+WZ);5*li)vS7y@eUr zl$uom_@gub^A^~DfsqIJ->O{q@aZ4?e=NOwTvT=bKmK~3b7mM|fHN0hxCmzkR7BF@ zqGFPs0aQxN5lE>h2c)E=!o;GY9F&TJildaQvFm_TM6^qV1sj{A(nd*rP}yS3-N>kD zrEO5unT_Q4#Bg`iMw z9AntBm_xY2c?TS~#z)5Q?A-==TuHvO_k!P%$m+&Cndlb2G~fp1=Yj>HpE-|cibQfO z<-0eEiCr%n9D~UuC0l%PWiK=~a)@3C$REx=C3G({SFR9O+MmOBV~$(&959Is?N{Y~ zowDCVVIoZ1eI}A;bjp(^iVC;VD^|VoC^mLPnMf*OqgQ3UvWxRXNR(EQ&3aj$ORv-i z7Ca)R8+pT_@=9aV(!WGWtHP}zQYhuyF8s1EcYzb9va))h! z1hOL-0wn30X=_Si+m4Pm^gjDCUE|E-2bvAa{ejf<<4sa_N)w_JDznk3wIsWC$ODgB z7O_T>TTvk^;a{0|VJi`1{3RSyn30TuNo2Y?iE`>fmAoYKs1m}ITd@fO!{O=Sl!jJ6 zz-AKp?2U1UxQ74e502bnslI76)$pDCRf_9QO6TRFFy*f!_mOEepTu+*jH9XH%JK>b zy=~Xs*7&y0RQ{g32^^7QnHkCw9JqH(mzkT9N_t2C{H*|>noiWcXOGA0)ln@o=7rr5 zza}p!QkfT+!y8`LT(tax^x3(fMisMs;|IoZww}s2$b{8k*!CMKrT9r#0%ZyKm_Ttgx&$oH zq%Ss7+=*hmM*&G^b16)$Rvg=*TV7*v)=}}9#d{=;P7) z?MB*MhtekDqW{FMumz=}{2W3kC`aWU&zxe&1)>SFQV2d$E3#|cBX?LWN`Z^`hR57B zu-}U@1Djz2HU^0f(UYCA>D(9qxAe8=8h_ozUY-%o7i88I#2llWb`}@KDRuM6eJ9JMJ#}%)uNveV(PlATan9>5HK(}; z)@Q~mKWT*3n&De49V+csRTCZX&R7104flqLH-Y0ImCs8!%-hM_AMaeEl4!qmzEX;$ zpy<*mvL43u%7ycl7$H)>ykVC?mqsTjdVz8Z`@=Bt6r@=}&1(P3yh+`>n00?8+27ScOkhrcZ(_^}3l2a{0; z*4e_}W=dgmuM3f-kNdiIc=1`k+zU7g>f^y z)`~Jv8s{c|6D_L}^=ZWSUI~%N-|58Ufr+ANI-R;-q=_KWoxb%e=RAcf5|oG0i=&%_ z8c|(!Rc!~0pz4ihbIwU+Tpz9TkhLiPoQ8{cs%usAWQpD|m+JLWJSEns8%dD=W|f2b z61ceE4_1?0hq_X|8KThrxM5?)BLNNMBy3FD@RSCve>uHfZOVrq0m|a6mDJS~-0as_ zgAwQ~cIGiF*)qgb$>^uaW$R=03?i73)QjqokPM3f%8_(IQwLU#oHHMHkwo@bjqtED zJf9;R}6-X zhKXj+Z&rM2VREL?lwTWf-={usmNWWo!N_A=0_`xP0XZzda(eE$HPP>FNy4LH&D=7c zJ;0?bxsOekg{cPV3^K~{ z&1FGo6_%)mq)-nBD%`zh3QlpVay6oNcA2asKkbcsk_)8gM&sP{J+D^$xj z`C(dj4kaoZaIllw4cTdn6}5@7n-?oNbZ9<_PlZ9uCG&jYd%Y@cMOng zhbT54l?*%Uc>VvH{-V>BMODBGkIR;O(@A{5d874fsdqTSw&$s*4mzV~FxDd=N_$KX zVJD=E{u7YK3C^$~;kY&}0u~?)QUkN{e9w+2&C)`Js*}?8oaoull;0pXdK`sCJ5uyq zM@sQJG)2oyX^I_XE)iHAYi!MDifcEFF>!@~Tz+|;Bqat=hG^*8BFi@@KiMg4Tb+uE z$j6Su&SKd?eRQGr?C&^^E8sr#6r$kv0MS~-TklWptqLpI%dsij^$9;+YTnjMUGsG1;th}C<987S1na>Ln=fVwt*F4sN>D8%2bGoJNp8p# zxxmc9sLi`ME>NcL?!!%(RZjix;1iL>nMEgzM#ykD!=1E=_uLcXBzEL>Z1J7o)CXeK z3@a=r!>#3Xs2H1@Wzwl7L0mt{c+*GJ9xYww-4(hc9fEreumEx|QBsEwM&^(?Lp}VF zm{^8FYSULOYpOFsk&utVR;hNPp?gT;c`*DsJsh3q9THVxpC{tUsZ~+my^z4$G_dZJ@-&LzaW$}xSMR9j)6G7YjhI5Zig4b<(Q+OfZb zw_3-z4H)!+nCJqfYR+K&R0NL8((ZCCRX)dM9ER08O;eip?nE-X9tA3OvoK7{v~A{9>@l7D~Vcy+O1Y$7YMmAX97m%!Khw*uEXDB`#$DEn=g zTG^xp=A6fs2QwopNJ>@eR2jj+3Crb!Xi>rcJ;#5;l`F_Exff!N8=cNPryup~n#rI{ zrkwEWS}!}))KkSJ@0_99?=75WhRZ$-t9aVEriXU5V!CX8h-$YEvuHW} zJHTLTkhk#VL~I&n1?_T-G_u|2_ltMcP?zZH3?FI7gup^N}cgJ2aej==u zK`N}wv3W9mZs}C*3Ppu$y7*SZTN>|g!O<_(evUbO9BLraONg4v`IzGez~rd-kI1T@ zl0ubcTKbph_?K=d?R#?v5MEP=<#=4ncd~0S`AoaAk1r)(!!D1iEoAMRZ6O@~*5QwT z^Lsf;(cWm8xtes3NIm~`@(3tFZNxbQ7)kgUDiwbh>K>wmHNx;3Q5e`E^Gvagtjfb) z3Et5kXp%GhGPqxU8w;FQ<9`Vo^U(WX;Qj(OO>(W@~T4fe-;(WsPwI~h9>@HXlWXzuo-^W zzS$$7_N7~C^RqZzQ0`)Ga*y1O)n{m)rI>3*b*otWQ~2e}qFehhTYt-i?tE+Rx$My- z-3KOO(8gl0aN^(Koihfbv{Vewz1hs14i7c2YrFyQ^vM@xZ`POtk@j8k7p}EEaM>C^$BTL@$`f+0g}a@lmPzvH^--RNl(fBSierV8nZ8n)f8J|9>%4z=dQ+iT z1LE0SAuSGGp)-d}8f*3x8w}v>_fpQ-E)gxWJAk}koJ6zILPfYy3BXrdxzRGQvpa@5 z0^2aToN2M_qdiCpU&aTwQMFX z`FJy%u!A{9s7_t5iaKu5AMMsYJWSfv%0kW>YuMIxySTp}wKGceT<)JJL3K-a6d7~; z7Jl$%(=Nffm1%F5n=!n{SX(*9gAU~amjsKn1C z>_;zZLXX;=q&BoBsl!K;)cRYqUl+T}ISs0JK0uS3Q1Vh=T==dn(JV&|mSy)|rKXHq zX{?O8_V0Qn6T1e}$WQiz!G`+j{*x8Y$liz1uw6w|ZYS-Z2%NFfO!G%7s6BZfHKWqJ zS3EXMEc&Ossx?YEZ`8{+qnzIShzq`YIt-0vUs{q@J80#%oZ;g10{J8-`>cufy%156 z8}v?3Z2GZP5R|TmPoZPrzRe{#0+8%OAJwy;5FS;)jW* zb;XQIWF0^2{j&Q+u9D;JJ2tGt)6RKERgj|FmSEL!4be0hXLzpc61C-Zpd9Yz7z8EnJd14C zqJj5HDrHidXQkVy(NDexHeeUZBJ~H-`PW&K9gK~$=T$WGFpa6=KIX&@eoTcre?kGt zweW@p25qk(C{XwiWqjU^XMaxsZGHxQO2di&u&b!$9E~4`5Q-Jj4>N)}^6K<@@qMr0 zjC&aJF^&YKER2wU7IWs&Q)OgfFj6eDSDd`134WsGXk`VsHXK!|{K{309_k{cZjNc)D*m(aOy2B~ zykh;tN^_UDL6G{K19t-6Z=@yn%?jngnva781GSVH9Ob!&(4N(l$~d>Q=&g863#u`*sm#x%~ZZ1E_Pa8yp#_W0E&K?zC=}}5j4HY z*Lco&J=r&VBs-M2%|T!@_PtV8|ppe%*TUXgF({5 z_}&WSfps$_ma|7|$xrKipe+kMcsqyCR2*WK=`WEx0rLk-8=WSXO)zqR<|-pr_$ zmrYYs>4-?p3!ETgNLV-h+Evy}UKuSmbamv-St64A$YIYBzP*wqWDEUMtV+dWnXeF% zd#=;?rTT41Tt^MVf^56rm>_a>e-Zntj!@n9?AE1F_sJlH@G8F0U$<`1G-TA+5Pp*e z9qF{ixki0!kCczS10gA}9>|q<4HMncjsQ{adR3UbTlQ#`_qAC<`c`LMfbwl9B%0FI zeENQk7wX2108fIbfh_l5>AI7~_RIaXfdS$(1 zB_FwAx4Kco4F$Wefx5lIi_bc+u!d<6ozF8&telqBU($*&}!%B=+q22bi-!pj|HqQQ<^D@*at5BgJV)9W@{F z5ELQI&TU@gDI7a;opwc^-0tN``Gr*l-E!%6(V*@LGG3 zHGF3f{c-aXk9vz)`4#3oW+)nETtk8s(OK}sh0|!;h$mKf(S-Ha)RXU^PjO=c1W1nO zd}70b@_r8K!p3q90oD-v5zer4qxh2ZiQQh;tb3AwjNhjQ2Zg9tdd<>TE%0qjj5f` z(yBmis0(_0jwe&wLb9g~y0y~=vCUnt{~eYCMC1o5R4nP!zH2IVEU!vR* zq|q?FQNzd^YWe0>Eu#rW_KyTNJ1C7hyiCHJ+-qcYnmp`tg6t$aNCRw$s){Wiy^6$1 z6z7VKhB}zx-5e5nZ=(deRtnyaI7j_;Scwe{tnOt)2<8zjMLR_{Kg-|s;93XxQ{o;G2T7AIu3gCLG%C~i#W{=%a9hr=Bq7m$D6FX8B!y>9lDiO!+At3P!)Ale9at{e|Rk z<=;>*nBZ*3E+b#u#M&R)Tpq4`bv>b&MHiu$3)z%=elFN&mu5qHBe>Ebz0v-Vc+s8d z(Z|W`jD_y(Z9)wq_(=LA6uYyD+kf~VK4%KHbK8<4D)13jMo&B#AtrIkt7h?>&S1^9 z)Lw5{D$405s@{->-_!jMJc(=HgFCA9yyZH344y(0Jj4$BY{mV1ypH=Tz1DE*rwfmP zfxWkcrfe`3WOZ72GSS}b0Lv9ai(aD**nrVE+~H~LT-LSDXM~Dhu9$s+r_+To=AW+g z{sGhQ@H)UE2dw$}?;V1D*gUw-Cz4n;cG~=Bwc{~uQMSDVM-ZxSwGOL6va)0kVz|j& zYG1BiWY(X##z2*3U>E4CjmO%eTv(?1J;7BdX+!lIW%n1A2X?FFGkdSE znF_Kd(9n76{ujCX`Np$m8`pE6<@7+gBjugBD1*Zdo1raWR9(TH1_(G6H2gX1Z=Uv( z-?a(wTdLQ?9pF!I$0a$+g8HP_$oMDBT$(WtZ#dn=$?qDml~lH|&p?I^Lo7EH8_kdt z9L63s)(8iALd#rH3MbQ<6W+ZC{!a3NY-CpW`OChianVP}@8WCIPaUAuj#hlFX2YT< zV4D}_|7kN)8L~AX|7n4MXvrsNh|W9S#gyuE6g||9gOYQ-uS7$>7S6Ii*s79gXr0gT zjs0nC;WwJf7eF)0hDC%VSz~-#ry1DSwhqTq<5+HupcfZ;rNYqGcR;YglxBD##7k}W@ zoyE~lCvyg=puq-MSr|N)(&-Qi{A*srCdaYK`9D2~#@Z*Q6c^>t?UyLinlG)<6XW^O_W$?++GtYpJ`wj16`K{O2oipP#77fW< zEH!qn6;pHPzQcR8Vd|#;|M$?T6E5a#y`Fc@jP~n?-Ay5GVq!qywq?xwLCXm{Zr!5k z02W@~Jx{ciKfq6rICj3$Gxw0U<0?ui^z;!7s2c!SCCcznvpSGb3Hos=iL>G*QECYIAW|NH?I9d8Q@*XGn(ODi9S`!)MouxQO z33M^C@Pzpho^R$2jwC)jJBi<#g)X-}iI3W!#NU}UlRNhw-))+EHJoZ-|H+!kJGULp zfAY51=zWO@J%kvX|nV7U3pLl#S@|$VKWrDHLjxRGrxOXd_GBMtl;V+@_UB z$fDAWlEtOfM7(3cUYv9?(%lwS*T^PEbOF7uOaD1h)nToS(RWXn&0_Ao!~emWTkr`Q zF%IW76_WVK@OJd(?YN=uwS4_VS+_nYK_z3oE@%?QYSFIG;2C_2XRwj0?3CnpC+F-1 z`l>TwUD)tVaTj2_`0Va8?*;FlNdF<<~^g0nnML4U<%fO*bN4ZOShaPbl9{_C1Oj z{sI?zdK>O&D5zY$y_;dilSlsSeh=wi3{y1{=--)0q4eiO!5ZDImXQiiO6pMM0Y|9i z-@iBevATbG1aKHmpb2C?ynY+cF8&6(m}9>iQ*OaGn8Y5#2!?lL-np^Q41>eGGpG+R zPBS&`=ECcDqi<66FEYB$3a7r}sr9~XIOFgfT_w*{?dKC5t;44!qCg3|QHXpAl>|EG zP3epX{x@N5GV#WG18=Bza)#5D*ViabSf`9gSEk$fZmN(0{NlVx$u>;>#s+Y<=AtQ7 zZ_->y$6z-4k?%vG&$CZSzsnNZ#2QGT3Pw(9PoQxwm(ZEr|E)e?9?bOk$p`j6MNo>PV{s5#tX9uNacvSO4 zX~iCHoA)0W6}@P1)3v7#B=GX~VCrdvS04_$z7?y34GC_uXz{mD2&j4k4YvuyEc-;T z&09qAWx{!83+r6OdzM4fJ=uk%Zb0T}-nwXiD_VFcNH6v;W0OpFp`kUh&4qR@T5CQ@ z%`Z@881=vB-i_7=CCcaGm@-Ypt+0}dxdDBOuUI|FiN(|4iE_e3gZ$YgYLeMO7aHIK z7kN5UX2~4-MFve{250tGJmdGJ(mb^E2DQxmGEhY$Xi;l$uL>2E3^_9t;-&ixycbKw zrJ;F{g-*)#-^)i{yoh1bPyVrW{TM>iz!Hi$!%YKZFT&}5tFq~TkAGpxU;ci!rvz=x zV2EYnS)Js#`ZdH|bUkB*nN}%Khl=ETw4>lgj*@}HpL&$6nZQIFP5Mz114fCPA%k-U z@Wq=3|51{Qao70dp@Su1vab!T!u68bLJgrdAEH*JT%uXi!Ym6ewF{PtnZ}K}$ng|M ztH2DKl@#q^S;v*Lrql_Wq?nkiyV!k7Mj}=)=eMy>d7f{dtS) zmBX%mqBNxms~^O{-M>SpP4kb#2DF9Q8Tx8*i6Rg;)MP}tNd=U~YI2;4l5wdOUm+thq4|DDqiob=L zqjh7h2SWcoVBCc;wh~9K>8LDDEB6%;Yk!HdN!*-GF_FkU>@XTGB!xO{8X!8d+?VhG z4Mk9N0AG=)DGg<19?Jcdnim_U&kiS$`ETctSkd>8H-!i{7px=h*=Ww}6RU zUklcJDMUj@ADAoQMA6y`9C16azi4vSYDrgH`P6}lzlmOZC^=&e;EV)=Tb|?7?!{iy zQ2~|lsmI@RH?|hjSh(`}wdzE%2aYNA>#mkA46*_&T^oA>FP7i0Iu63MH}_p@N)yjc zM3O|7t5+RiHW{IpfoL(u!Qa467ty9PlhRoPPxHqH68}9|W=2V;1=*{n$T-Z%u~;(_ zrgPhKGfm2$eeI#PVj!GD%vyVcGQi|-|BGybboqN=+C$4&)oP1I)&}Yw?U8d8)*WQ$ zqACBx7~)-_Wd9rzGoZkkr~yig(412);%#&U-Y!ypfbU&^w_|Z**;KYq;+@@PYR49N z4^Ea52OCB1`C6p_cS@SpMU-t?`zVqVjbK+tD7!UxSRY1e`2y-5vO6A;SAM0X?o`b5 zkIO5+hR2pW-|2WtUimM)6)#iO=Xk24ZA)RH%aKYe81BV|Bv(f&cNHSXMD8o!D86Q| zO@lZ+7U#Nas8GM70H-PmgWib=#BJ&yqiRY4|HSz#jr=(o7S!Z@XMqxag}*Ofk5ZCm z69(X5#Z^QllypZaH(}=^T*Sq(E?NBE^rPB-`{rKU$o#H`cw^$gw1**haLDz9-1j)H z&j{9q6Rbc}cMVm10hco~ymO&%q&W8H^3MYz{x--{tqh>ryTVaw7FnHYAJ^H2Sk=W} z%i;*C-T<|P!9_QhkTN}P3O$t}s5G3pA<+&78kRev4v57;^LH7(C`$0RlDR1k&j-?? z`bs;eA8APN?+9n5XRs;_OYwH+GwXf2idw3@%ZhgWPDiaYLKPZZVUPV*%#EvcACZ9dAVoTi#|#i*?22nMp??8(pj-LQH59Iq&~*MVlh< zM+KXB$0nxfkTMg>!kpx*LO*Lu9q!c$3B%57ysGm!hDzNtR2D8yo8}7zk;U-_<-uQR zGFJ>JkChE{%t7<_>+o{7?E9oW%EKIbD!}ZOclJ3@X%~|ZvG90}|92_ytASANS%Q3s z{UGuRbw89qHm%7mn0gJz#40xUx?WWl<+NeNbZuu!VX{01ORDEjx}S^-UF1{4y}SoO z+m6MEed~{AG)pO(>JF=SMXUA?)*H#!yx3g4S_&@ib1g;;a(X_~BCYc@RlTk=4i-sd ztgTB9tzGY$N<4bB3u*h%MgHF`jG=T5N-Q>I#8C5E0w&a;lCz_g4c_mZxPzB)2ggiw z7Ug4h-)QS|p{ZNB;my?Wpy(crW<@upa7rpz*80UAdFJ1L&yChC0}r={Qx<#scZvF> zhp2hRQuUlEKzs|@JTnLi)FU`#_QL36*JZL-@=BDq@-wcYimSXOWq}fABqi@2oYaMJ zm~(v2Cgy7Q*xXoc%RTz*wF}r7+2iLa2Cwl@rBlBZTP`j?yuWdt!g;ZPb-ihE9PYVW z{tjt8ga5MRKIc5Bb2o3zjKR-C+merNXJbE6w2sC^`4I5>LXO5((L}$fnwanYWp-h+E`>^4P_e0FGwI5!A>;i09kux_|G5_*QPAV%+xBF0_yjgl6 z8O0~i0eSL0DiSyPr!n6tAb+L!cDp-DDc0UAMvm=}g$<6{{@`L3Sd1xt=njdv$(G_k zlH=>mBDoCpNKXrJRKae2Bi`XmN)2vo5aI>ay!C8higE;Noe&SIucqv<%!zVe5sBt* zxdJpwGw}hrsi1*eQi1r~XU6d|@fC0c{KVBaQam3}u-HP{-s*f6_WaSf*zp=>`&044 z6Ao44fCha3KVAx~#r9)7zXAIN@N!(e8}gc1hkR?{;IT=R8Eva^%Nb=d&AP3)^Tgq47U}I$^>7HOib+d)!6;cxCTpWHl2YHlV7x>~} z;PfYv<6ih>`8HsdR|^LZ>?ZDXYU9Df|2lvD-JY@S^1BdDyNFWt&o&~J^-w4oPmgt_ z=3ue9oWbQ)rzo#qo$D>43VGu>smfbdXAceXg2!mS_Dk9^V`px_zJ++i=Qzajxm!|| zBUh`IhL}=RlEha(k{PVjT`e1up1C@f%oRWj%53jVRcfv_`-gp)tKt(xO^&K$!4R?o zcvqh7A6Qu3H|E`%rab?7-J;sPT-eS;I7qJJLPe(K{?E@_QrZ^ErG|%*{ak^o04fkJ zlI4YS4bKGkJQ4Bn`OurPNY0*TPXqTNtg92QaL<@1qzj@?OwBrtq%*BT% z#`{|m&lG*2bDARk#z(75plamX;hHE7sn)CRoz3FT ztkH}HB0%xXEr#O8Z^hEzvS}K(+&! zi|rbjq0pelkHLwt-qaXm`T7ckr0Rl1Th1XX5dZFL+d+-$d2bagjD*#~LdzFdjJ)*F z>E0imwpRp*UQ-G(UelT` z8&uGq8`M}X&LjkGZv`mRy0n%Kq^B!?#{IpwwD2BrL9?D|m!$H_ADe+((C%cwGgive zu2lSIg=*d6{ujCNAj|H3GD)jXR~z|3W|o$f2XW~ntx=}GvKXmqjToKQ*NsVGJFLKC zcp|yiY};X|r>(Mqt|T>Fr0jBu>AI#%j&uCQqrs(NPpdIA9RopefU+7glqUyB=y^N& zGDlbeWPkF4DFLNB{XuvZ0kEj^?sI4@4svM4zl^MejnzF6sOuUC^vAN2p<3DGyfP3- zWua{Pyzcef6I}NW!z$~OlJ&R3b$lAjs$QwQ*I}mt&a(cBCnPRb8o!Hmbz4^|o$dhf zsj3z5ij!|tUaPF7K`kfVX8G~6q}3_X)!BH;th`Zase4Q6{Ck;}>Xzhvj{+%6y;|yD zMn!St)jqf`(3z)VUafN)ygJ8W>Pw@Ci`T(NUnS3I({3T?*{I4{t!b5FL36i`vYOsi ziUDt{O9T1Bam(P1rGa^9g+ZY-P-J2}39rDsw9aL2aAIL4W2Kk#3>R;nn$@uVqcEt2K zip=E#vyc#3a^(zY6wfE{C2cRtzU4<9yyf#*dIEKqZla7nSk0eev=1zcVi}8q2bYVs zNs|@X)dNQT)j=yOJR0}L#g;CTR*9_q0V(YCbcpfu=-2q1Zn+Z9WsixfmWWakt-*{} zNxCIAzeGoR`z}(|7ee$^%kd%4o%v&MuP#jUnu4rbj-4i>Yhkd9FiVifMf)XAxeIfp zt1z9$b_n9<=39PqsEjMCZ6T8sys4Kdx8x#4@upld#&LWzZStlmE9SnjHq*RKLrjUE z`w)kpjU`rgTY^f_4HeyB*0(w{IA;irv5+PtFw8Jz_H+)Rq)9rB8<40@6(3sRHQFh8 z@-#J`HaN>egfZIUTI%d`lzkS`&4p|;a>_qXgQpIa8De#0?)I;v$j|C1tgnt1%YD(y zf~H?*T9C+iemszjYi$?65^n!cpCCU?qrvjqSk^siekPkW2|_ohhI(-ot=2DX&ZdqQ z8HI%pb&$wU9GvgQFt!{yO@b<#!o1OBX+G`wNcWyKM40{%Q^JeRV4XYnZjZn#&ts?E zV0t@{bowmbf9E-tmCBU19-qP3{DR@ifQcX8-QGz>yz&Hoei;*-i*Ialzl^7IY)h!( zLRy}*jY(_8#c7X@oP7FnQR&1B`VxC#~18l)0)cXRi<*J!xo~Nk7XJHE0@JTZU~&Jv)J}e-fF+Aaf2xQUesMjQZ75YMLxp4- zgoCsS!HQGyG@s`tP=zLP3blr*@t^qn_SSj5*WOhtrf<~BO5U&KUCR%Hp1Oyx2pITV zW%*Bf!PTa#aW9UCzA1FKKkFJ}Vo2Q2RB=)l?!71ZnV%{86_#9so4C0f^*|kpyLo=iG1U zgz^v?6!P<1xMYeS?d7-!Xv_wrSK)SyWD%k_%_43E`DxG;$!g zpfh3)sOr$__ty!0%i}7$OldEO>owp^?cqJZZv5S^pnJbK2+lN`YB0e0<&6PKQ-F7c z7INZpeBGx5KQA+M#*8!Qa}Lmc9+!_LeOYO=F448t2{5D&Y|J$klm{)&)>Ylbmhejn z>ODt!PRVoyARi?3v#Jdxt^4J^HFG@iQoGSLqjio1D4I*NhZgiqio1ISbvc>St~EnGt+ zIZjg!KpV%nY7>_EfC5zgy{(ZFVsFpDG+B7c=#g)SH#A>nEk?`3p8~t+keNF;uNez* zctwb1+e89p3JZAp;-^CJgHj>`v!sk7KCH|H3v_;OP>Yx4WFX7fcS`}1i5rX-*QcW3 zPQ{8>i4>C(0AwCbc4p;GO83JHZvGUEPuDwo_2m4x#0y5F<%Pj)@@sh|$T@$((f1ld zEz3SdVtsZ1dDhc;ihp;ea(&Dx`E_21<TeN09lA+nr%Z2<;%6u0F*}9wcH&xQfIJpl_rRyE z2$450in+O7jPAMBy!umDp`9!OD*wF+k(pB&37pr6Gp! zqs8!PcQDmHot=Zlv4>d82Ip{~(uWp^9^HMVym*z&Kx zw}fTC5528!PN?1y=lZFG4TmlbaCzBscMqF~>Aw6f;2%h~V{{xBl z>L>jIHyNsnfbpC0lB9T={X--AYi*0*x04?~MurbyoPJ%X=ermdF2PFSPj@jWnc5pd zlqWo((1n9(7M@b*bqUUAh=&RJ%YOt7MW;q zvouaU@7f;;uT%Ij^qBRrQ{a=fuCMGZ!>G%qzy)5)GH)og-&#SsO*N2r)Wq6@Ntatw$n++! zqW{esBreE#5>A1xRMKTjWRB>piql`meEyGVgS|tiT>Q0&B-4h1wHi-=Wz#2u%HYf9 zk||A}1QvOKE2{Gk0QTHLC}3FAA7JUaUbW;M%XDRji5EoX!5~g6DNY z^}}2fqsa#if66B57iSlw7Yp)Hd~pu1@hV_Ss^sWe;?V9Xa>FOl)~;+4suxYqSuVfOPz<;KwM_b}b3{ya>dS^m&X~h89db(y z>5T04cb&NB{hZRa-4SGY^tZZtRTr0)7OIp)Gr1nXTn^d$^JO3F&)&01_FW%9MnQnH zKUB#@+jLjoXSa~*n;rFyCkjS1h==)=l29vFJ{i7QVJ0 zsi_^Wun7jK)qy*9-6{Lp*C!>qe5ix$iv~b*hg~r9lbDh^reLa&7NrvNKJuOlFge^B zLcX8j$Y(<5-tAgT(R;gb`b_s~r8NZM{lIs!1=*JcHUy#?(%*I=i^8`biDtQ!V@B{) zD4e4lQemQyzy=w1WC=)@#x@P_hjBBdtmrfI*&mv=+Z$cmNg01rO8TL9q0CZT25l%g zVx?52dJ&9?ecMoG@CS{M&Ao-A|5Y zuCuv*_Le~RVV|@pO_U#_0FQcG1?@_NaGx!M@|W?f{yBbO%zakB#tJ%f46!>)$mB-~ zohIU*k0s9et7sPDQ8DQqM~Ff_;mXbbMVLd#DljQSwY(T^T-`lnQlb$1TaF)!`gL;U zB}axbfn&P=EJ@+R_h5X*CtTPEF;ppBe(e1eQev%A`4qvv$TwS2`T*y=F+>(TavQXP z2V$mlSyp-T;p)G>x?Nbjd9Rjs6$YL-Jc!su32L}y7H+RXeV2~0VrMJl!{j)rzHEtV zAX-X@Fy1X1EB@!G;Y=7C9qV+67DX=_r|jMcMH~nFH&Qt$pGeUo2Jwy2RAJ#uUzbc5 zTPj)O90$Hzew#r>U^-Hn{l)%vW^R#>9-=Mcc6nF~h`+xQj{%{~ zZCG+mw_8ystnmT+UiKYUYDXd5k$R_?F6LppnMJgE{Yh%}RV zPGI?MkDGhVWANV?B;CBT1*(kKDo)M6_$Fd)&FT_?S8dp#Z~U)(glMN1fWUBq;(l#E z^*sZIQ~R^jH_%S@tMV8WA9JtD?a!haY|htUvt9s6WLPUiGx7WAg~|QVN<3R{oTt1W z&n!C+&>Q*pVc4&*vi#Rb2>fQGPW}=pNg2#3g~)w(ppSq{0zJjRyRcPM(kXpd1r?kS2pPuu45Ma{(a0j>3+#RnBGfgAyR&49T@pa5^f~z zF3Mo!3C3Jxxuhh)Na)fIEt0-e1{X!VJ-CP}0w|s(Q_`woCn312`Kg3Ud@vZ*MLX3} zm$`-seY)=RWmH-`%}7!*Q9Ru|9*bI`7Dd%dvd5yd6b0xll}XZfst-mWyvM zm(-MgG8~d#O_^g%v53d}x-(W{@aqj12GW@Q4}zKGXD_r&SmwC-19$?eT%h(%1QwUf zoPgOUvYV)~H^I|L(w*_mo47_`^u#xksjY^&TzJmWQ9DwJjg!l=K+ST$ZyuWdXmbso zE)a;7)}APg^Q=iwPlOcEqH%rLcv0nnilK11KkVNn{lLW?Wjg>T@UCZpH?|Gti3JvvhRnPdUEf< zZUf2tA{#K3P@1~F9-4p(8d*VoI`SJ>Wt}l=P)9}ZD65Q62Obywp2SHGt1k5}QriGx z*8?VRMq(@=&yXikm-pzivuQ?rYs=_2rk6tj;Qn zqKiCD@tb$ff>1xs3q7xyTE}_$gba*=3BXeDx96p+`iXJgbG(t79FFSaa`D@K2XH1&p zZ;<4W5&*Se%-0G{R+P ze*u}F*yl+XY1rX4pNz#?<^v%48qPL%?-KRsWej^)9cS>4q!`S7VdU2eLqy_gVVIIj z7u0d?p(W~zL!T&q;{qC}kPrbKs`pTR$V!CMZ{T7k11WlLY zEn~{?E|V)0(HuLd@J4PzpTVc;dyaRLL9SUIawAw;DF2%;g{r_LsKK(?MqggPI7Y9~ zw8J(cg(}ujQ3_>tP~kQDpw<<0~pbg(008v-a++{o94_wq}km1eH^bwz;&%d}(wO<~% zfvQE*+qw71O>$~6^%m#jhki8^SJXqx{@Jbz08~1tzrNR7%_` zzR64V{@TK=ev>yAm||FR-yCxSS|Dwo8oP;sO@IjP}C{_jk` zA6bvl+8beo{Z)+=g3f(+x$K}k>e;Sy;=cWf6`++n@%5~j%xN7b8%T&_4z-uJ4i zAz}bWBxQrRI(Vl7ThFTQPNpmL$ER8DjZpvFmZ?q@Q@vp*2rYsiamO0PcY3@z#`sp| zBGFpD>3R+~eVLeUin;V z!_#t)*725j-b{fCR@J(e3SRu2ISZtxfj7NEFG&l>l=;~)m-qc}k(L?1VS}rDJ7MA9 ziOcjX5|NpXh65tk{0mmI%Ucj!1n8-jyy8SM!t*-)5%FUCZ>ULIC9QyGg14q@CtvNO z#O91vo@=<9ihjW+PuYA)4joehs}Yrz9;w5mm8AH$c^#Dj(b+tYDw}-ifX#s)f9@~< z8osr`f>=Z1xzxozgt_Y$Q^C3BH;l;zrIXro7J#pV)jNX9=McFO6hV7CCd21aff3HQ z=L)FG3uhZ0*tv6=R24`?+=c@53lsJoRAq(l?MpCKRG6O<>j81&MU_bZhRF!?xoK9V zAOZckX}*d;e;_iyc!4>q9pXzxQ8a#ovYdLb)QFdawTyW2lzy%8ngqkUlSU*lDR=#2 zU(XbH@laqBSkWUwDrG2FXYwc^DvwMJd1N@6OTL)P9HhRZT8q&|mwha83&HhwM4^Ti z#TyY*+P11POziH}PzUcTftmOC7vKYA>$hJBvCHzOzL-YZ7251Wyr`#vgl@8(_;RM4 zNgMq=;Z$SEsn1Zmp?&=H3xzYcc93-q*-1&g9*F&OT`tw_y*yI@ec=8)L`0J5d4&!R zK>Bn7=wdU}%W%SBOaA?Z2XTOqy1tl!{Q>6A=Vw2+eh`AmdVjjti#&c``EEb!mVgEc9_y<;S>V5_CyCRS09t)Xdg~O3? zu_}lwScAEe7s*2>54oa`74!Xn76bho$=2A7QE4724o$)9hGJ=G9n0(^$A4>Xt@p2)%H%3@JSA{TD`~hH&~z7>DW#d&{Hv(2$71ed zra8GRDZh{D5-;QdugOgfo=RNwZTNim31YC|)$1=I1t0_mM^k8e2lfA&GKuR&xb{<3 z%?xV#_h)LhNJmO1c1X0b_EyqG%KlXYwv#-jk0Y2GUd4ra1>T;rN1LX{D*fV*^|5=q z+div5Mt*qH_SBSwo<4_$ewKTzgMG~<JT2EUD~Rh7{DL&@$;_?$9>F z#UX9uP%A34)aYY0N38c~T|4Ml%*4`+o`G{VE%VxjPF$QhRERLWqmR(BsfM`IZzZc{ zJQ9b2y(LwDQkTE`-W{wp@v$Y`&7KwJUO zg(9H7O|uG($=1)r!(EF#%}7RaF%)JqZM<8&kw@hH&!E72M5%b&^rbr>AG(<7VncsW zaPLr8hH*zPiD$-{xMOlR7r0LxuStu2t0v9#U`Igq@2E-2_%bvz94;sMrUIt70M{>t zW)$K~B``J}8|1EXJ79E}3ac8#%n*lpZ)Sei-84i(?FwPih3NC?Fr{aQ@0j?i@-lid zSn_P)F3~t~i+Es4YxZIR!b*sh!vHm`PGBW}KEj*?=6sU*fiUvsOPDF~st$4FER3LD zViMW#F00o9w#)M*&OBK`Sr@XMK8{)M`=MspmV7Nf=0v~1xwj%i*jKGtfn=vOkgOj5 zq2D#DF4FkzND@n#6uj}G?2hsvlsoyH`xRF#9DBTHO{qRe57ikV-sIRW9vykj_Ne?^ z3KMrvg|UIxS@i{$%VgnPR}`hkN|tjK4;!d!h4LLVzHW@`jmE3N*QBc8 z>KsT#)b5jFj(+E)&M&B?K|l`>J6SUAK6v44_Qw((m*76B&s$BYw^PB-kasS>JwyHR zb4fAyg~M2IzyEwdH7L5z7|>=z8S16aXAY%ntQSAmXWy5fif5MsrEPs}z z++n&FN};m9Ad;*JF;(3?(65+A9#mdjrmh?Lxl;SfgWs3mcLn-Jm1&Vq7|!KeO68N> zz)Ux(Z*tsr;59t=o1SRf!*VDTMfG{g>wrG#{ud24)A$ndJt!WkIdE0`aCPXrtG_%W zL8JW0HUy=EHh(gn1L;h8CR9d#5#I3Ys=KFR47c&1TysGa|*$e#h{OI&# zjj|41v;AJ*dBhsO1$c_4xzaq!GfHGnhf%iIJr9h%exK|XyqCOn!R0Ei&=o^Odw8}6 zp_COdd|#TaRbv_?tqvegz-ZRc~`{yS_%%FkoG5l^V}>n zC1vawTSS`tD<327(Eksv*9u1|=V8Sl6m2wtG`1#dR0z8E>PD@tCOL%kRqdIE%_gvN z{!D|_OBJ~+(?FSTh)H$>>^D~$;ciQw+u(KQ)*ZhZ(T2Q;=!|$&~Vn7?{4z|MT9xKCZK*#u_S05dTwC*>)TIx=8X?!jt;3CdCSy$5&R$5pFRLRtq* zVU8LtUN_!iHd(>W<`V6bNMsaBSyoF+NJ^OeuxIj z#M^rR*ga_9e{?UeHp#kEL;N3Faqk{zu$xXuf!lq*!`?XXM|v%7UxE!giW5h5zOUtH zKCVskwY|luN}UoaFtfV;N+cRQ0(sG)Qv`S#2H4OG*n0up2Z65Jsr!B##cUM+>fVej zRgK68K|(#X?Z)NHINErafP>UTMpJc_c)EoqXEh;$C!5U&@S-Vl6&xLBz74DDf_m@l ziOl`zB!jPruQWchZ(FhB#5SwLTA=}(A~JVz(0@3-|3u3EZ=gKNB2(il1TD974W8`&vf1@Aq8U#q}r6!M-iPXWZH&4~lWpCA|GUVbD^ zDa3(pDtnB#_-e;b}RlX8+aU;_|pv2*hc^Vq65Wft04q}XQ!7Yw0z3KC9c-fUc z#Z}KXl^>^$2sT_u6Z5HO_oG2*$;-zad5dHE(tk%~P|BFX25VWxVJb5d9hblQA?Pv% zC(WXN)RZ4uu7*AxCsESPHR?uRGJQEA@G09h4LaZFKg`5EjaO?6m(P9Nvf5o10o%r# zB>i4!l&IW5(Al*-XBq}^m@5xMlJ-U^=58^fd>P9V;-|$Wg#qXPD8#VoB!n(iCP7Co&x4dL#7oY*6`i?1*#%Ii1X8nFw z`6|)uZugia|LJd2$fz9(#sw!Ik}JpjbEtj0=}SNXuz^j~l4wH`Y0*~aq$zl-tuN0IEH+!FaK}5QhE6m zBWHqlK5d)4Yu|;Z*M^Mrq7|8aGECX z4k!&;mkP0xuzwmp$e{{b#9Pk_>`(hRe*Z%dv&Z<^=H#r|mk~2hjcf2v1vmWbko9_F ze%VBF#YDm1<>L%VQUCJwFco+WK4Wzg`OIrn36)=SYd0Bu`SOqx_zJ-$YLeSGFn1#dc^xl68y6_fQN zwlv@RiKp0j6}ev>TAO#~Pw+cByqcIkmC{2>YMvO=MoPvDpE>y_v&Qeq0%u=1D zT0vT})VX@f8O>4?0+$P{P%l}qn@MVn9(GT!*@!y5q(1>^2-v` z@Q-rS075CQ?jt^t$j=lG=RHYsHYffF&{)q8AHs3pOF0^{pBH3wThDhmvd2qy9H~o2 zw6Nz24xF#~+z#xbBIuBr_c9K&Qo$KuN7DfFe2U%UUW&z{iCytr4P_(Q4I02%rfHao zAJo9(Ef9;aChRF^P+KhKeT&s@8bQ|S3p0lVW@L?bi(E~G$Jc%JhN=m>Zgg9e{eoez zk#Q-%qTEfJ$5Bn2_$v(+8iUgjc!jKz&xf<%hZhRx>dHuO{=f7!RjH59|I5pvYg|ea z`Gv++=oh>9(v_);pK${P*#+O6FjhY;9_jbk9^MghCn`;7NdM&$fTyoGyw`GqbC)Z!)M` zK5RySF}_!qLA~?C^k}0sSTOgl%5P@>&HR{oDhRIgt>p$ate=_Ax<56ZNna**hdy?1 z$IbM$$?^kIxQW#s66=Q}xON|mE<%IGni3q?E2fc_OOHc7lRI;XZ~0>BbI`Z3m^a%= z*Fu7q6JHZ6!1~w-8VCHYTBbpTL3KLzrR|+6Q zOnzS&#?>qeleBT21tXg2$D+%ZFq8k{b?Z=E4V5IIQNEihnncq?{rnBS$tE7-!vh>C zI^GT@mts=zo)#9}{+A~|_E_j&ayQx=e{!_1Z zR$`;c+(61f{4s?N)!ZJtxe4{+nrTxEIBO+z2r)>fgAJR^0k=87JYF3it7Fnq*7XI~ zw1f)hNlQL#T*5bBv5v$`-?+CyJ0MZ=_V1(xZ2IjD391w8h-oh5SN~wa`sxJrXPIPy z2%VFdsHTBIqCM2`gWM4uPGJFUekf5r@IfML6ZWwagDI>cwS4|WQ zD?UI$O=oYAM$j77QFXCfYwV3RbznSOaY`fkrS%DOnUo+ zz$$~8!l}!L++XglG?fp9S?d<{u=zhg4>$kEZ*kFz1LBs)RD)r{Tm>w*ld9h+JKUz<&p zCmjEov3qFKE{;~*0vA$?{!JESoH@dtr1ItnYmGDlzpXM7AL|ABe;Fy&R`v6K>w96`M`t;|S4BRbTD@IT!Qq;bgPl>$L{#ld)X)Vk2Lk zW97NQhPpRl0Xv$^)Pm%;H=)#g9uq%Mi|P-S+y@OK%%KJDr#CghiMiE{&_ef%RR>XF zw~H>SqRAd@0~T+hxS0gg{_`mqY|umPc4gis`lsQDM3s|v_0~_IN{W|eG5-@>_iw2A zW4HSgIH-*%pN{|#U$67ONEbh~?mR!bB+~YJ?0_XIRu>94c_&^*%swG9U{AN+SmwCP zx_V@AapMaAQaZNq0q`YR;;epVzku<7T$VoZoTcDGs$E6>zZ2QWvHV&}2!EhY8`KhA1DxT-KxEa=~(=K)>UZ_}!PZ*42p&5~D z*zJA&K^|*F>SERrLjwk`CnCEM!frrsdD%?)eNJ`Zd9%oM?XOs^&co#=zl_^rz9Wtr zZ#DbOx_RyPkxco=PuyBjnQ}qR&~xz)q33z!ZajHU3JsFvKO(+{`Ka+Fa(azGitZ0u zxRE)?TV>$f5p$iP4YPZ?71LPvovaV3kalHE@qAxM+)3lbxWv(SVj7LCMZ2djQ}w|W zOA&wWTCSe@q_2qTZ)X;kKb@&w2&T%(AG~kAk+;l|c8uuHBOb>ymj>e6tbR#-9qZAn z?>p8Tl-j+pNJmWaTngE4P+yctC^F{M-=K1tOC?`*f4Y|p$2Z)dS{{*a|D*L_ z=~d)eX#Mbp)bxbcVRrS5)UAgY&pHlRyKd;?ZYh5s4;g75%#6^IFmLLH(Nt|;QMRVD zJvcaj&m@=r)UhoTqu)=dl2O-SGfY593SM*l2^ycK{I0JM&vW_p*>?v5Q-XEMfWSlHE#HOznrc0#0zcx>Cseo58Ys&NTJJzbj!Jcf> zj-IDX2Q70@NEFd zm5*qriRf+tb|yP9`JMOE?=0~l6m$33&`OVlkYJbX;Z5Yv*Ssm1c_9ojE9s-$rZM!M zI6)rDzOol}OAhRP7D?lWZ)PE%{N(%YmGa2>@jI4Z;7vWN46|$Kw(P%Rnu3bm;$U3Q zx_$jwstM0k;A@l5aAgmgs-cT-ax+0W8WngZ>Fr$etT~Oj=6RHrYhK#(U9LG{@ffzV z%4aFn@Mf*1jHVM|7wufZXg1e*>TCnk^xP?Jf4>?S$Sh`7=KVLubng3W9W!(*wtWqx z{_7lO2L0o#JYa{ltI`wIvKWYUy(wIK`HnSe>uypHcf7B(?pB;#np}wv$M?8(wN(aR z!9{VAeho`q0wqTVl_jLE5xto?fZ{9;gsB+WEfxxeWl&${G#%fJcG)39?1)&dHsu&U zwrS#~Y?}N-xOH}-z?zJkx1EK~yQ55g=;Og;HaMT`3GS^C&@eqJnORrVH`M*7u{G*< zkkx;M|8P;Bqs+_X-Nu5w25Q`!6Qvf<73s7uLA6dssa~Lw6w4{g!4SUR9j98wXw?h2 zjpF$LA)bs;tz=NWfFCJN(;=+`UDZy_SFL_o-MtLQmLRL=O1hT!@qpIaHq(+LBJx2# z|GifuFF#ugaL->GKg|%rG7Pp9N9-@l{(U87}s znL8R+4*Z9pMSSKfPeWAsp{0L$c_f-4>zZQ1*Jytxe+L((em8Z9bs0DB0@BI1HNWyb z1fRbe*ib9WQ!c&N!W&|{dC$A=;mh>@hANx}zFceW%$z5Nk36M7Q}&I%pJi590hch_ z#%G-^`&c`Y5;ffrIq;R(DKcgr@B{_*?N9ogHpHBWU%6n$yV$hy*OPUGDK59PAPy>S zt4%W)%e6-vKn%W~Eq0@7M8=o`&2?D^>K~k}V@6G3CF|K@5X+3*xXG?jG0W!rHEQc8 zL+g-~$=vNVkbRT#!Y4Cv!H9(C8|Mk5E6jWPjW$oDTJ$qO@l$9MNmY!zZ2YbbE8scQ z@=bP0nt~+tUxy=`?>$J&S+w3s`}+LaDvA=IJV+->rv8%*QaYYcnNK0)(B5yIe-lux`1q;*D&4<=1?-ONO&m zP*kY_0H(OJzkU@HXC?4Z11G1GG7+g-hG8YF!+|@#K$1Qsos#8w>Ez4PtFur)V2hxk z0M+WUWO5ckCtdb$D8e&E|Ii$h#rqAV|D8tW2t~Kobm`TknVCcNO*by$$qd_BpI*g_ zTrf8RzX$bdG`Q;hk#0`tEvX*Wt7kr*i5rP)+fvD#yrejHn`;&&@3tVJx~|(U$Mb=E zJue~49VcutMUFfZ!+ZY`XB@5yPuyTSKAB|t&RZf3-bDR3$z8*hPFZ53zfOLC*q#V` z>dBB_PnJ~cHmUs+F_dyIKmH>XMKi}H8>G2lD(lKKE*<*b6iAGq(QxMZlQnNvVw3VG zMEg5Ps6Hc=eK`6g3qCl{c^>1`WT%|*S!#6A6I>uqnw^#sAvWlT90Jk8MY8#DKQ_0E?i`(q>)_tSQ7TftH(vB@3Wi+~ym4C%g6>we55EF_# zNR!cOA{u5&-ykmU&9lJ*)c$MgUvr{3j8*{s=-S^g4>`yf?|_&f+7L(dJ29{OmrkM; zU|2^E@m09_xeZT#!y}$BODSnQJ6^(iMOZ?pDPmkycY9kk>Rb?N% ztkcT_rN~o@(EUh0c=$ACV=0{3;k*bRv2@DFth_3b9bVY!Bym#8o1C6={R;11ZU%mN!YTT;lsSC#QYWp64d$KgtX=J)6AGY(6YWtRt(M5Wm}9fy}9IHqNLz62;XJA zsbx*?E8n6bnu=UO9eP)6TEcMsIWA;ztx|tK+I%0h@=6o>1_4Lu1|sAKZ*iN>T#Vy; z3(0=-mFVYj|GjusJYKMZcSU$Xdw%=d(^k+Dy?c*%NvEYQ<(%lubbijMhVTbjXuUJ5fEBFe zQ~%w_rm@q(Rqbhf${JeNw|$eTimtnnvSh( zG%(4Myz@_j-%I;Ci>c$QVfy*N7lf`BAuegiv}~V87mb2#-hu#0DaANWUK1^5-k-(J zOh-?$k{{PY!d>r#Qb=8d_ZA2jS9)%_68WEX&WA3ob2_uc&CXJa^nQll$)IEFDua`{ zo!@KKK5*zADF3}~`TagjZ8>5d;J%LR)ZJuKAAw8IR!9w75$wJa2EqW|L(*WDd@i$l z83j!Q5v|9%GR4i!$T95l;x1UmO0kbcHnQ*U)4RXOcP7?0X5V`P^nw%gx?Tc}rTys*c}zXQ#oZy=oMaHGA&a zlzXTmICkkH#M!PwxHPaDEn$r>yTMu+>lGylo;Q?4UA2^wQFk6z96z2Q1@`q6;+ob{ z&3?*sQczFnOR4%lG`{pY{)mq}FUgAYLLg2>d#z}pe|}&@j2z*{=2KYYaf*+W>DlK=B5DaZb6IU=RWeOc6{eG3M<_6G=GS)1ms%vD={Fx$8!LUr-{G}8i?ovo_{?wMGv9^Jd>1~mAD{Uy zd}jX`C{K|`@SR)nZNKJu^Et2cyN4|gW+$$;al-Zj*pv6sq_7_EZc8uo?LmOzY<%ey ziVI3)@?kvLA7Xj!2G?Mxcv$0TYTnip_EIIwodsP957?LcI<7GQU#lb*Qiu1;fo{6(ZJ8;ns~ z?i})AmGM1@tXQa+-CatR>x=ykwK%sp<@ZW)y>3`k*vDtDh)nLR3p&JU~xP3~y4mc&#TrFNia?5zh0&3dmB9~F!T1d^>WL4V^oU5O2BT2>TV*SpLDDaYZCV3+vSaqTRh@gJ~AWi`^3Zrv4KzjePWs5r;)(R1LSy05&{QA*l~={L>; zlG`Od9)HAtgDRINdzKom_TNf9-Un__lNyn4p4g_?ctZbdd+kPVV z=Mqb=61V#_O!6?@+|F1Pt~Tn<4`&YL9*k-@Z2EejT;T}_Phk{zvG`5+rj|newn)|NOm2Ne(!q;CAM_fDzWWj@IdhChQ?{Xd+droGhtnxf)INDF^Q zr?|`(#)d!3?kriWC@h=va%n?{d_$03U{TuJ^1N|*DEyu0QN0b}`$rI1Wn+*Hk!nm` zh-b@g3ai?RhL*qqnVGhs+>i1g$}SiW9u^q&S3FaU=4VmtWq+M+Qzxa*R_*t1dJ*HW zZIbtPdOH=TwSbgYe%G6+;|( zg@}SfQOasgeA7#vDN44pIib<&&UW5|{#IAPZ$kI0Q*!4t9;owbI#Uvb{i3F=4gmyD z3uJg>rs=YHe0&27{Be1LddSVhkK5T(w`V&`^0S>lc?_ee^Q@fUp3XBtfDgcI4Wevk zz49(nTxRB;Dc;JQtjKf5Tf&^h+wi-#@Qlclp3f-0pILb5#^u#Y85!2*MldswtK4K= zM{c5mQ=(jRlXU~ZRNLRPktTvv$;4Y~&c<*7jrd*eZMJJO1*vOb0fOwzB_=M9>CA3m zG?Hx#A*gU@S%G(JJAbeY9p#=!6=z*8zj^EPpn1IM|5L=ec5aeAhT}m^=RJEBXW3qI zzMzougyMW5lawcaA_x9QDxU%IQ)kPAliC*o)cHbC+j&n3IsJG_?^e(WQnrDlv&mWa zgSL3jcpn7qD?j7i1v*-J2GC(npN*8qej-o&M4tSK9QYrZ6rTY_-MZysT;c58vvfa0UWi*{eIZMp=A(+T%daw>2 zKxHy(CVBq#P1^O%lIxpg*jQI$qj*;{r^tzQEtIvEIrW@Ip8f8~%4DxAM5c8is@#A( z;Ij=707j5LhYAfV%5I@DfryJP7iJp+d7qfo;R5;iXA&n~DBEwtTTh+CkYOo>Gg+no zUok*gpe-Ww5#xBvqG-ofAv*DHjnMZII?olr*9mDW{fhIy2t%^AD|$hx!DBnZCk>Ar zv8!igOn?}_XI-Eez-LQ9F@n$TWt|0QCO4mL!#>9F*%P1`#AnAqF={Qzp#K8R0euIw z6!bLcKG3tEM?gOWeGBvx#rY80|FE3xv|PacR`d$=^m{OMJCmowe2Q}?W^-o_K;{&u zGmn%9eHeYYS#=|ab`~~OIQKySAVF0EUPPV z*9hFz`w6ALgOq6t=FV`5+qW4fPRXs>rs|TF@RR3B%2ZYoFk9D z{?;U0$TVglc?%CF(KqylAt5z>(#D~q??u<;Fr4?I?{er9d(nA0^z^;xy&QVFZ!bCb zq6c&6!GzxHL+@1(>$vw>s{4;7F|33#6IFR+SYy1mE5mct3vZyh+o*DlP#?CePBwOYOrMtvQ@6d~ZHxv377yjjOyu=N=c5e-wGkuvoRPue?zxAR|goNa%WP(Z;^rv&x&`_!VB6W$%nAl(PdU2ChOD;HN# z<>Qmo245|omiD`f6elN<<5tm`db9XlS=K&|Q;)WB>V1y3s1avW{Rcw9x5@h=2g+C-5^_nd4|VG|A+~M28G7DGbk3vOm#L_c*0%6uCRm5&XR(HO_U|H32z* zI{1&|pX+GRc;ul(2iOx^_gqK2W>PB$6CHaID3;=z>nN?qRVGo}@3aNxI{Gw|8Cf*P zktNP?$P%ax#e?ESsl+jwi*qOviVa0U@t}B7D(5<+p}CHb#w!KqIuv2bIhl~;@S;~q zjiBgNk{=YkO6ms1HAY=nt|RdWNrH>m zxA$o}v&1Ca9>s>DpmCEG&vE(^OHhyGYx($OWR#Kfi~%Xj{WUIjlC3yHS}*YK(9<-d%S(=EqF0L?rv%AdT+ zgjr(B@*7HgIn}gZ*dQ$1i;OOan+H5qcS*BOn66K)Y%?c`j?V~&Yk&?%kHue0w@9fR>F14m3rg%!F;h` z@E6E#XAddd!<#w!XhK3=534!~2jzKLN|S4|Wrz8>x&TvpB8H!>=1g@1 zjDokA>LAxWi@apj@us?ACf5a0unEG6<~*!b?FAcHUwB6RGZG&atO=BaUS}SxR!Z8~fZVCFKBO9L1m!ULrwO?aHSvG!qvA3Z(q*a%P!kWU(!NBb% zSK#*8nZWJ(zB2b%mhW_547D4mC+0yHMhOYZ=#MrGlHnL(x;T0uW{&CKz6MY(s@$L{ zGl)vVT`RyWH?X(-X(~-7sTF5B-v-ElIg{+tf|^dfHbYsj0ZOwM^r4 zp=vQY!u0IT!}zDw%pd57BC0?){49Pm-Oa3e37^QDtp9H*1ZHhwcyE-I%#K!rukhzC zs~Y}ZL%Q|Nvj7b^UA{m!lr<}O%KQ!8%!|7cl~F`(l`;9saO!+XaF}_C>(q0)Q7xNZ zB{b5eL96=da6QTSmb^0awY)9z1K+pkR!B25@WrdsnaJ$sQ-99f@bQw>;bBZC4y5e; z9uQ^MT*|e_&erh8uXFF$_5LlK7Me;Y!cE+Gc*fBjmio9-syp$leF+UAe+MzkpzX<| z&?u)M{@}SD#Iv}dx^Y2PaX}}S<&{rbM>!hd#4&p#*Uz!gY133Xt7?+xt0W}n9w>QX zc;?XYh{3!0mJi9|pLgo;G#6{OF;88x`rBb;8IV7w6PTG=r4+RZRT00LI}7OH?!Etp zck`=ZQxx9&Ahoa?etcZW15CWB zgc5@Rgp$k-qfG}9CV4Jp`Tzphf?%)CyM!3i`JW2)tuwcJS$FucK8f7GzK%aI#YQcs<<#N9 zNaN~@zmlBAjXG1?Nc10`fN=6R#kr5$5(-9}o+QoUhbP*V2o zy*s3I)5H-5OH0q+_SMZ-zdkc_=ww|GQJ>yTo zTi6JH#}Tyc!C_uLeCDFd@J#K!(gJm;j8%HxDoItFaqhd*sj9EO%+!<)r}K#gs;Vd6 zQdaULPWkg&cALIvfd+Bxp)+|}az82iXYwA0GS;&OBRbz7B`#{3uOfkUo#K>z%0##< z)lY|28EKnbWLhkoXP%RyexHG-*jEybYI`}T;KEt z9bo1EVpfL6jks zVU&^47;$tohHLz#eB&AECaVlB0kg1-Wq`!`D-+?0wouK4ow&8M%Ltj5d@YvLRQg-) zLUkFgjvVE2HJaH2mN_!7pZrz~)&4RAoJc`Wj_$2zzjOa6zqw%gZY3F!9JN}d6r-CG z45ek-l;o5398J7ImNzYfivq_M>xDb`gUY{T2X z#}Bo8pE5ej)Pd54(v8wHI?LEQI!g&+dJfK_0ZDvex`e#i10?>wc6q2=d+kEL*@8 zopy0mtv}KhA$@Ul%a`!9OD{DEO`GMzmc&BSRQo<)W9J=}6b-^PJzj#{cCm04lBrBPjPP|dSk;c_p0 z^uvKh#?iPy{ZBQ155XU{pU!K&_nih7PCFtr{lGe8Mq!71?!AE(BpjUNz6Sc(&J#@a z?q%vupz$9~?eM@EgaliM3rExR@ZLl|`?67SK6izDE3q)(!cXH*)vGC`U5){8bh3pTD!0MCuy>Z+ z%9?*^l4!LoF~@a~?&=J3e9kvMo-d@Uk8y=I)7PmEHu#;mx_lQ)*}}vZnE0iNX1<9l z{^Cq-OmyB-Au4Yj`8N6N@O(RBqHBmtc%CvJB3(6r@LLrVK&HwfTFaGVUM8;ml;oR!*8BiIf1-t<*;V%LLI7N-1W+;HpM25J#(-&sgZz*>3k8OC+i2y^$|5%K;9f$2&J= zRULCH$Bskkt&p-A|H-^kBK?R{u~UsA)xS_#i11)U!I{Z)s%4cd>DqV7@3SH183q_% zrv5aaN92K(B3fKqK&R)!;Qim39^_-{X-g`q^1Tko%L&X^1#rm3H>tec+B&zaTRs{& z{9p0f=rL#U%=M%RHQB&2B>y3rdQxcx)R9*ta7NJg!5Cj_*O^K3aSp~hK4M)Qn|_QB zP)T5F#*VN0k&sC8Vy;=EfY%+W)UL(Hl9mE4VqvaIbNL-U;oYN9b;zI<+Z5QAH9Cng-kg; z_kDCV8-a4euYY;fx92ED`SR_x=I5Fom4ZbgidCyrpQpMzSjAQ2KiXI4>_FeOOv$G? zH=E^u{aeC}19&iKx{y_|RGJ$ovVG3|u{K)d3-8}loBW(ic^#}#FD2`0=E138@J_43 z)bGnEopnwLqN!zTH~zb$#G*Eh%~sv71AD{Q^rZWs6Mf695ufobwi(U)6E$K?`XJ^* z>#K{QnhcCtOPTPXkoqf=&a;rZ?O${r5fep3`Wn?;PndYQun)=s`Hr2&4hc(Tg>zjd65i-8lUBm+aFkLDz z>&z82nyPEiN;w-WVK!qY^PL)k>qfSIL&)l*Q^~%jG;aD&%-+F|GtoEBjG}Fjn{J%V za;w8KtHrbd1}z1VB7RmKu_=s>&TzdNDGfOV_?`r_ui_ThgiX~s-ja+f+m{%%quTkY z!=u_sX3|p6aTihsV7%|#OKNq8Zzqytx$uy9;k%|^w&p8X&Q_%V{yPnhw_#i#kB8KN zhqnUUQ=hA`8iu`(FT3XdAy<=Ngr;EEXuw~&`2nzYhxBf!kki~^}O zsp1teyGP7E#Vaf~UG(J!8|#!~Z*oc7xq3&(=DqQ|$uuyOLf7;^ko^dtG_-;cRhcMf zQM-`}2gvdd^0_GUF^>!j-SU>#jGQ1SI{+{@MOOEZLyz9L;vff`nNEu1GA~i?I<9|Z z374o`Gp7!$lU&MlELY8KZbJR9eTr#m0baI0df*Wz^NC(@tOVCIqqCMl`%ta#d4$T> zQO_e)O@v;eQ~DnM^6n)qFH;dmzFCpNn@qVgJky_#)*U%Aovjo|5u#=ZsfI zR*xaLYs>H-vM>d6tzAz-Wmr_X$M~9CndIVpH?%%L$V@G$tqGt>`s?$6+L}z)&Li}z zbt4@+k3`aaKq!83lC|xiYe)VM-7Pxj<+f<{^1zA7Iqi?owHJ2NwHNo%wU-{pB@%o$ zv?cj&IFjtUp?!hxh8Gt3Zg_F2?}nF_`)-&zA?<#5=*6T{fi*mho;7(SK|!zm`v?Jz z@>;o0^i7By|I(!%tOXP35>^c;ve7>hS|J+_J&qK z2R23VMG^VPGQjyVpKW&OXk{FPsb?#)6?px8YfihuN39FR2zQ2#o?xd~0Ford`grk+ zTrEse#?>Q=XGMUW3JHIveiq9OL@x4i_HdgNuTDR2dZs+nw5ytUeOOdF<+s??{WBx8 z2ocP%ZUh=4e#TOiYsGf`(jY-|mZM*;K8%kwPC_Q98xJ>L9Q}QCgGI=G`DJcamzf)V zViTk8qhk{{3Aw}BY4H0LcLsPsw(gznJKfsG)X6Dj=I_)r5bYx{sXI>l;?w``-_3Cu zJKB8lhqwC6Is4{GO%sk25C74vlmWrX(1eryL?eYX^t@-!J5c9!ZJpF_B?FuG{Y#qm zooszequK}T`=tSCKLv$To+l?GypK`>UmIrfahrR0Plr|Qz`pm zBE(peFsLpGGNT6*E+t|07U&F~)Ex93OaNE5y@jx5x_|XUtFeOry{CUB1-hz$Yi?Ca zLfs`m4m*0>*(W@42|Q6+jFy~cfxD0VL~3;1u$lo;4P{Npz{J4(`<%O7D!K!ia6tXS6C@N(_(rd(jI&7e%*gnlZ{3|}fZbr@r_APWNB z&EWn7UqJh-ysM9{Lagj;7*yYBh;TU4dta-%p#7%uS(5Vs!(0#}u`gM-XLMbKg+`|I z1MNF5hV&&0oiwWzm*TxzO4+T{k5@s2z1<8asuO_^l4^&$I!EsM7)5ZLqAfRcWc<^A zXCW$Kcm4+XDGxTIFzCSX9+=69Bf7S{1X^uH8&gpzqz_dja%Xy% zb6w35B8BRp+VE=Fc@>!#80I!o6;Acf;Ig06sKd42Q30f>=m@_-7BMTI&K#kLe=FD& z7CLX*t!OP2E_Ka|jvFXJR-@N_-;|cG2Ep=iMXKQMnbiQ!Knq0&F$%woc<6xwJ7`D;7!xEp`+Vf12LC6FD#FEwuU-Uo6=a1(DhF}#wCac27O zL)H>1ZYRn;9#;{Rwso1%B=!TXJF(+p&m*h5Xw(YdJ<*LGSlH_%1d^|SCeVG1C-slJ zp&I1d9Gi$|5#~+`FC9a&ZI_xA5eFF|g5h1HP9Fw2+j6gl=JGYhCd%2588IY9z|dse zNf8+H?!G!AzlKG=9cAa?znO|J42LwMj{D2Z>*dRI!Z;)y9S0Do$TrZmBaUH2M(Boq z92CY5tDci5fs~Y61&qr9+;6)f!iBa$7Z{pc;I5@)X~ZW0uM~H8A^fk2sNeDrCiRyk zivjeDj_~YH{gU+2u~BnSR*eNHPtBn?zZF_xhLUNt{q0~VZS<@O{51C~MlGQP8N)!p zFx&55BDsSHsv>mJ>|yB!PTsqPD0xarCMgX!%yK6x!EjeUt_!s69`P}3_sR(0%BVUd zor-F_0CFzIu=|9~kFkv-qkR8LY8>?IM<{WamhHH-$2ieW9+?bg>#I@hk?{UDnz@PV zeBxV(xHAQ#<-yoi63178v;>QMITlT6=zbe3ie?Oh@lxDWJ*ml$L$q};x(CWNn8X*S zFA^wo6QU0~4o2XGGQ6#sYBS|ab*G3iog;>|cI?&YuR|G-Ch^CQPy@<*U;aJ*H5m+_ zt7lIt`oifMMD!$U5{HdD)6OB|+EXEfttMEpzI~7~{ZR;7FJpQ>L2}<(N?H@en>s9y zp33>#TK&!s=OC^N{TIhYP;_iR(9Xzz!L-4IqT`KyG`be^VxYdot4otm$?I1+V=o{z zQljv~kHhiY+{h<5L{bJ5adZUmAy=#-U3-94$bEP+mDoFpF#|b_P^%IlrQ9e&%xk@1 z(xnB%#94*ht%q1+lS}2f8fKqnt2Pxs&WJawTz4ZM1?Z(27w=3Q$R$0yga-$E+`^G? zTOQq;!;LXfTy**+upc(1nbX;nst?&ykE2`G*aIIz)xY>n!_H+&-|^xNxJ%sNxkWcq z^(MhFhdt3bXenu3eIyEM9!Frk{Yu%3 zbr>7bGvgrkYvs%mz@WQ8`SF|S1jxzPgs%Gq%6i;1V0O+ij(0_A zxA%n!KmOF>QS@Rs>p5DZ=_R@iy@Z+st4dzSLA6D4_v4^qUtvc7s1t|4z}MUpy-$#w&b*~q z+M%~m*$@gAl_cOvOEo!w^sck#p)JT6NcPG9E$T`6lUVmlAIv`_9MSeH5gw0nMoWvB zLcfrAsW;rT<>MfFl7evayx}(JHz>Rew=_MB3R32q7kg>1O8)jD5}hZoXmfb`gMr6t zf(whb8+44Pi~Gg+XV$tT?T9VTYe0Sq5C)f4GPE7$l}?MEh7d#yLaO z>W;j{MW-T`pMjKf7d;HsMCG&cI~UEpNY1$zd{hYbBBJXeZ(l^ZpYQR7y+Oyhog`Z# zR^N`=ru%BLeHg15ZKyg|w(nt*-F~0==m*eN7X?)$`@|z_JQV{ECG(s1hW~;1H73*89+1QS_w9Tpb$CuNZrj&n3#x%gGO4WEGTSU^ge1-}g<F_H{!ma-NFfXNv z0}_|&q3}W<##EY{mLE6MP%x?-Y0=L)gvc~MZ(6b*s8v73A z3NaT?flO3cPsX*kr@+3jeo;skIZm{zvfs$ zvUl^eHI-yHn}lQU^Jp(%R=rbr3P5 zi!y}M!B@fjZx?R%&p^Ad+hUfRKR}-Qh?rJ?l*yYg58F@cB=?~Y4bkput=#tE!WO1U zvHdRGHCWmDJMHLtIH0ONjiT{nn7NQ={7iLPB(m1Wps?fAfN5n2eLFXSL1bY#SjA??H=9Y9#QYRIJKmdM0-;ibw@IBWhV)x1bAUNtI#ZM1w-2;h-{qP+5+0;MR% zWJDcQ2ics4RW_0&U;6zjHNTToc7#n)+=^P3s)oc$KfF?bZ=70ziPY3`iKQ<4R1bw`)SRw-n<7bM>rRX~iHyIdJzKdhkdV^)=FttIUVE*Epwz8XsQt9b(2K zXzxFS^Fu9rNbL)Bs4V&YpVD7f;Xv=QPbxHmjhO%YfrU23q_rJ!HyPwFKPcM6ogRNu z8|x2ubzna~72L)2;Yy4y(5OLS{ZRff!W|BV*S`uCQ9@gk#b!Erw)&v3x-lp1 zs*P*9m#ATNWgG@Ha!c{@=?{i&hG)F+>U_N1bQYIW7Kcq1cFQO)=<_**>$c8lTX|BT zm4A8G{70?QOwvv&#!30_uo*l8|Ya}hMU2$r`px~^Ppy4Z#o!Sqi8^r|_k*!19)4|^Mrgm`ZoE0#JNG11qy_;^^ zat*qGY;Lp+CUgO;Dd*1{{NOYGtcl}5#7#u_{OvG{kqTELZWmBO8?WXcg`7_)@oSh% zh9WA(^W#D&wv*ox7?@dQ*w%uT^hqIq<-N+Sy+tA_;Kzdw$&KspHy`ig|tmWsu)yzahbi8Cb^2FKJmUS zQJm!E-9h5V<@#4BId>i;GBTX*G3Zze6L-Y{$q&76QIEPz@^)+r$dcSo5Ggs|H}=|a z@62fD!$`J?p(Tcqmlv$jk0AXNl$4eJme?NE7Un#qs00#<(#DT71*o#yTm?Fz<5(*U znB+pttR%gu3>zMWI%gYc+e3@dqg}YZQz)n9qMSC>|5B`y!_K)$x4PuvxR^qux_X7;w3zSfexNW?T71eFsSjCkj0xQI~MOpFCo z(sy2vbr{qq1}~?Q{%=M#XQI$YY6rwNTla!L8pm~XB9A~kidHrDQ-9ZE$B&i^GKgxbN2b3SgsNes3ui{0858Q2L`ETzbNom*Gg{xiL zFs;`Jp02fwh5rp*uQj2iniKaSjGceLuR_FdG|0YRk!<5k`MKvw_6vhvF77o6B^Rv( z#aUXU9vcSmqma_!dI#S>Qp#C(WZ7q;xvR})C@li1#p;Hdj^;QF7s?9>vy|3oh%UfA z-U$~FiIR$z$$!A-)~OS#-LSPEAuBnzF}9QP;r!Ll|K%j=FU8w5hS~=N>$@Ev9sB|L zFc&YtCvz;mb4T8{c$&Vy8l|8`8nVY96_R&$a7^{@waoKuV)=0E#aeCHK>)R1ypOAh=B4gGJa&1M?skn(Qd3!L!gF;sxQ>g>(wWo4IE! zWK(QZ&9E86d7GmIpQ#cynk9ExC0vJ?wDZ-dvYbqjOYym1ayNHn$A~_61C_pBXb5LE z3k^}`^=Jo7#oChCWu+h$+S=Dr+dqNP*KL+xmcrA(4^Xmvg@HW7xik4bYZ^PCW}Mc7{s1 zlF|;vx>N+YijdjJNWTA7Pg~?9%+?sjlz?k+CqCG+Mqg?v~>eFHK5hpn$DQ6&Go5NRwmZsf$cXi`OTqTz-1VOxuM|G z>^w<6_d}@@?C<4bFK+$~8*bgDRZqn$XJRPdiqEbUrg&MlRs@Xq3e%- zLKze3HupsF>!e{kiNUR2It!y_Q|t#VKsP_BgOW%@)4ce-IwA$ahZ#QK(-Wmh34!kH zEUpz1?qHhy&d_9Pa`pSpHB2*H7|N7?gBbzly4xCEd>oIjj7~z%E>|9i+2`jTur21U zsY1FgR9W0rt=)KZXz|blxU0~Ed8lH)F3S?qq)bmJ+aiVg&rihb<|<+pL5RIO2)Y+N z2+Faf%g?Jpyc_k`tt*y`;ye>KXoJ*-p>9SjO_!g+<^OK`QnoZfck6U4+S#Xj7*B-m zOQTYF97?u3mSM|a7_~W$iR}GUSpGxzr;wh>&V94--#;M68aRiK(Jbo&ou?0|`iJt< zW!Dh@?44eR&7KL^Zbt_4@ycxp|8u7M>>wa{{ zS*TBgwud?5f817$aV%G9RMuTM88uMD=}c(Z<{cOmYxrz<)iDeLRHK?H;Hfn07&gbKy)%2&x%==S!)ZUk<4_U(9F&6?v*R7JY9sLlAU z@_@QW#idn7YLi>QgR=D#7m(mJu1DpTR>`|AR6GbqB{Pm*EIB1gL$I2OT~P!N-9YiW z;(`a&gdpWuF(nG*>+t=U^6u4`GRneY0P25+Sy-w=rl$LFDka*L zlZ9j^Y{fr^s_)b!j$T!9s&Ej%jA2`Ghvxj&inh?wWEhBsB8~G7jEk*bEFM1xZF9Uv zfg6P)4@J!?JiCi9zOzU-4p?OhUzAt-B$o1uh5DuK{W0@ADEX))J z2ZwawCD)RMrp@#+nuKCqxg$yaTe{;S7@Twpdl;%)Dg1G;l8_dyIGrgU=OCjHze#mM zu2UH|Xou9_4?2|xDzoIn7y@UiP_Jbi$GG(_Dk^6+S$Ik*T`ClB?q+S~nC%M~vaUzp zb#DOLB%G!?FQ9*Gw_X=N4sqV`pB1&KvT$D?8^329GO}cTUO|oOxpE+;@hm*(Lg~K( z=~LM^fc?g^Xh9<+rerK507`eXQwgOdf6 z?J#LOO*M;T#9SAHh46j5*ao@t|NT)CFsBC4bRhx&98c zLf))gAJxW=+#BQ3d6EE@F=7on+*)tw*zbKOj~ zeB(TZ?0HOcS-nep*7(1yy1W1r1I_=_uSVgY3NKY_^vG*=wFumvb@J4CkAgcZqR}oM zm7V!|xhuSiaG&Db=SOJAI(h6oBJbyU?M1WQU_(Cy0Wr3QVLOnpc!^xh=~N@Ajd zKy_b^2m;@wo@cZ%6Zg#?9$nhTF^ zfq2cJv_ccx0&%#X*1gaI+|CwQ9t7-V_*^-rNZi)~Nqdo`7&^Xz{#pjz*PWlnH8i8r zfU~J6pDFH_&G-~g(e+Pe5JsFi!t+M^n@WsUHZ{3hmuH!ed80d=_S_#ttg)t}O!$YeS zArfmYh4N4Ffi>p`RKnSg^yM0F#UC5i%T|2s9#UuJ{Cc|Z(4a!DdRLoMAJizTvNBFA zKOD;C`-o>X>08v~46NLLSqXuq_=Fu|bNYhiNc0g%Jk0-%yIcWu%SR$#O#-;&)`9{R zH`R6w-;KO7k%tX?^?f$rr=t2QHF==eh)#|k7Zsa23){a%`Q?Y;2&wM7Ri4LiU=@dv zzA5fw8>Hl0Y*4lbg^&LRt4#TRQk{pS`nC=7mzb)qn@gzrR#QB5n(ynFdEL6JAuy^J z>#>*4$x_FK4Kmd05@#qb#h|to!%fdmqNN{QRZ*O>l2#{wtDIwno?FD5$U`7G#S>_A z;ZwQGMS<#MjJSn+YZj8vzl}_gcsgCFIc$C@HSLEPqPfyy(#AU|7ixwEf-}UPnC6(l zfL*!rTUe%lbUf?E$deGsz5veCkn@13yAxhP5%Z1qwlt`JN$h$Xf#N&jUa%2Od9|7f z8gyM1gmmwgs&eI5F@yezWHLKyjXUA>eZCrtJ4v{SwhT?8o-!S3A8;g}8APSjcGSD| z=fMm}u#hW1kB^OpVDfcNY6j~7)U>0Sm|}-eR}|X{!n45<<@T#|eA*QSL`qd4*J1ht zvEdI`E@0gso>%gt$sDR|JdHTzor0Vmxjuhe6|} z^G$Nr+tbfz_(=sdKoj5X1*pSFN5j4d(Hi1ds)^G-BP@G+?l9*?A0AJ9#$6bx6qc1x z9l+hzfnDVPh@P=dWXooaLQTaQaA{iCgFAM@4Kw3epiiGb=S&j!pCXddn2-bIE3mvr zb6IxdG!mi=?5(axj&{7nCZjA0mj7-1^IK@=Aj^z&FF2WY3|6N?;ol2Jor6?6X*mkh z2LBbJ5*aZNhnCL04?tiq&DOj&k!VGB0}B!2-v(MQFmGAWwqn5TR{KO}viE@jM-8Uz zLJNo)Otovx5dQ@_5hj`8XFmhHG*08Cf8nL2W_a&OH(LA9Sy7L6{Zd7&sg^GP6g$Xg z=SF`vV)&TRe_rsZGyf9@)v z#s<-e`|$+v3LFUg{gyv)(>)iM>8ZQZ8TrV$X5H>4Mt%j$BDE<>%)55maZe!HZ1=Gq zhEp~xC^eh%!nxLPB0X{;#K>)Ep#Bvm7JH24pQ^z2);^n^yX{`%|;BT5uzOuH|ofJ2nswC)YHlR8=>>5I$dPc&~h~X#4tT+@vmSio`~_F!uPlfi|so z=pu62b+oW@^v^99HTmHHZ1v6<1)35Ot35;3ZqT?sEEO;nnM0th&x4bY7?hW++;C>bmh~ z3Pq?Yh-(}on#NwWHVG`TXNL&bR|$P*`)^6R5m6FJhJfxvN+U>VIMeM>Rh28-W68Le za^y3^TVSAAcVoQIGy}cw619>IMW^_#I~Dw(wg}{7O>4 zRG8wys_X#GiD|}Ui3lAlF2jULe75e&&;{MwO|eR#l}@ny;_N~kA0dY{#V))b(e^&o z-%%a&^;hUJc!__=x})5VkjeB^D-IAon)I*SO(7o!eyN#{B5j2l-jPmQqD?Ndo#H9rK>Z3sg|AXngQpn<}+mrhxWCr47ck`ZlV)#;V1spFmZgSsGKrHHOgA7@0YDJxDdUac_wF z(p{YP zXyBdA?kVEiWdJJ!HR#M~vSJG?%UD#cZECb$X+oEN;ng!-gJS%`uNcWqxP&ZV$esL^ zCO2B!_*H8Mi15Oh4#IYXpoeiigJXg8eQ&iX11zE?pUuk>m4V8X%ay-&OJTlUJf87l zA==5Ho)q&|WdK??fLhr%gGbQpKBY$oXW0Bn6zI*jDAehlydK$tI5B$-JNXMF+UM0` z_G$yV*9(xw8^!E1EILB>e07vpE#O_pqJpYY;h9nYlQTr zw0A@-L$yC+<~CZbA^aY#XAbO7K%#E>am1MTo4K8#_^l~WqhN|uno%B>c~v}O4=Hvo zMuPb$dBeLu$G#%4G=!m)OX-5)Xj$igUEcD%Y(#eUMQF-PPLBGMu#KPAAq_hAPWFwh1mo3st@k!Y%m2lZ zAThq9$=~%EC~FS{niNbONp7I6u+_@RHwO$~nEZmC-D;F6FqZ7*%Id*}4KRZaKC5Q{ z_+e>wVDZrBbWECI7@F$DMl_>KrpQ{d*Tcz|2NvU6k!Rnvhc2PI*5J26R=n&Xp@d3a z!Un*dAFkxum4T!jWx$6yBspyp5~@IJuBgCcQ6LDM%D;kcTb6sM`6j6B z5o>VY-$F@%*REn^X3vNs61{pTaLA&BAJ~V0Crzh>p-7T~Xjh7G-JhvX8gcnK+71n) z7}yO}4EI;Yq9mdruK)e@B{4SQQ#2Isi9$&d0gP(8rVMjIl#l=XhU!aaD5KoC0g6q$ z`S~euZt8=!aNMAhh;)F~J&+E}zypW=c^cXt$LBZHg4l`KS1v!WCldk{Yaoy@zuM~G zlWC{&jmQkCry2ga*tvgQ>~!OZw0Qr6|5}O)KO^GxKv&U*=1I<+z74~gq$YK?QRL1djhut0F!#P_MvSbQ5(Sj2 z>fJZOO+j(qf=&E6?(2?Ct&x3Bul+&9fcXpzvN%zag3~g;Kab#?a-hN+0Rnp45-)mR zAo$ak=E{fU@b8P>L77ShJfwh1`^Kyy69!X2)iJA~*t&zsb>9Acb$mZGy+(W>lE$%y zQdakUj!LUFvYrMlPJ(9E#85UB(!*`jQI)JdWVubNH^Mk`V2t1o7S3HK3r2V>JQHf; zwLB<=x-c~QaCn=`fmI|E0mE9(!FBN*GEHre#{P9$ii8njqO8pqHBdnH70;Y!{p3XuRqs>P)Kq&X7cmO{sV%*YX*nB)lODrY7*x>jX+ z&fQGP*l1kSVvEAHrd~>)RvC_NcMn6uSOYZ7Ab~LzZ3LyMZfQM<%AtryN9@3Q>`aIf z2x8P>lo9`0h)5pbZk?bZsAi`KChqqUJ+9lZ8Z+qwW$gm)ijnYecW=3nshfXa`Zrsx`_C8%}YZg*U& zK%*kh6OC<0DAr3fP?=bq@5I#wVKn%mw>IHVi9=yO{;r^pN)mB>=RK0J409?C-@42k znHAZ7*aus$02Ps^zL21YATF@BMWA=?K%u7&IA+#djqqtxJ)M|?yS@GR!QTgE=KDZ0 zm3TZ;_aIR(Q@7Kagf>D9l#y;Dn#4B3PGyto-)i;UE4hX_mdxRJ-Dr)M5x;WK8mT1) zoH>kYkc{{jYiOE}a5Iqo=3z_&J3hG($2U(FQpD-+jo6CYpsi%{HlJQMKSZ^tT{8RWymFC}1W2}Uts z#-ik7>j_5tSC^3y5eK7ywHELZ3=&H5n2JU3Tbx-17B8!3D*W+UWOm3D)R28^E5$pc zK4WW51%?DOVTi=h^9YWBn-Ait5#hre_B?!n0$*Nk6$3Qpx)EQFE-Zng_?O1)5o1d= zVJNFM!2LgkGH07BTY-g>;1?9W5f{M_otR1C+bH~~<$zCPO~?_}vR z?5F#{hvsh+_RdoF6M@vNWza&S~Kh~$?U3=dHY zk)~t(LZqU08e9>1mAG7&_T=%wmrZjIU(@tl$HnA&5|FPtarN^mn%}~n(Ylu++1?;4 z?=7sQM+0T+AdtI|TSMXJRlhN4E{W6T0$U^T4GF{GYjk^YiRIHl>v2nFgey)RLPqg7 zM}d(NwqqV(&5Q6tgd0)6Cp80xE+pd)ATf7f@466W^12y@YZWgE5QGtE{zh2(Mvg); z`4yC)B)3Gny)OJ3eJm9MN6|`yzWIUUfyG0|QsB;$ah-v<`s z`rc>E4T_N%E#o`vs2${F^9}B^T7x!sVanq32VWNTC+7T)tH5-53j;~RP@@JH!6m0` z{wcBY{F79Ut{T6G(2lwWsG*?IZE6=w3D;r%KdC6E;#^cA_K_W6`g@6sN zDRg?cDX0e%OxOe{HU;v>8xw3)C)1dKt(#435Gps#{nVz9od1$bD(Y*k#I1z6!Ce5L z@irthg3moo<&|@d2~A(oGt_lP!cO63qOt&c1YnQAbnPmpiY5JQ7D;OeQB1vxweMjo zcvAPCb_KhAN{1af7QbGiLkt*-EJ_@Fho1{R=>ylxw~K-Aq#6l#ZR0rN4_mitwwS|w zt3NAL1_lcY12J{)VcZVuAS=&IgYP$_<2M;*y{!J{)`ui_-&>xCc)xePU<^-8{dyVn zQSy>N?JcfE{1|I2YVq~plk~V=J1`+bRU%|VWFT3{ z@Imk*dJ9!$|E3eudY^AVR+ThUTa0Wwv#C;YA8bOaa%B?;3;j)y_kBOEDTg$L!T-H+ zVwDDwI9OPTVNYuP>D_KfGd0Iffb$W_{pvV-Hx1 z-+cS{zJw{iRL<;6$i)uf2M3ClfdvMtN@2nZm0P1{npIK#8(c{^fb|QE+lDhx;ruyL z&u|+?7@Ujp4R60u2wPE%46FufGq2FLjJI>i!<(-W9KhQ_8rw&LIC|-?8tOLr*tfjs z$}6E3sqX%}gD7@>W&ZGIsntsdfr*o!>tBpJ_fu{S;&@upAO7UtIPE!#t>JyYOYmk^ zl!q04BsBaq$}poR%AghbA^V55UVr&IF;F&yG}Q*V8k_caxR_ulKoR4BBMu;N;! zt|Mbm<0}f9E+TVa8cy(w)zDT|Nj$Wa&V6!>f1jEZo@4LpisZf2{ofht{~oi6W8%!#|LHGaMy7@ z#@uZ<;Zb6YAxV#er49ELQ;M2jor1RAgY5V<&pSV%Vq*07wM>Gn$12-*3;$F$DY-rM z7oaZ;{R>OLS(poj(X^uj%hq$7wsCE^B^2b?oKi$v1paC(;+Pa-;U8^zr zRs3GJq~JFNY_Ga_+z5~kRRPY&NfpX#=xq^)8Ys5Lp|Eoj_4$Nt=naM! zwCO}NjW;ATDRH2b&eOv+cwdJn0Ywq>`x)qn!9gR=pNI#2 z@=En6H`cNQ&|j(}8Uv1fhWQKLbu+N4cFPQ`uz1&?yzjUbIg0XW`N!9R5?=ao`b+Le z>#T->54l!5n_)s<-)`~7>p1jFiT9vsVuKz`+h6a6%+(Jqcqy*azO{NhUao%|)u#Yv zIDlI=*`dT}fF50zKd*F>wc_wD(Frwg=Rp3k^+Z>x!C77%ca15-yFAXQ6bes*mt>dUD;7N>K@_{D z>!_H`YRV8;72pxn!?o5%mJNb^4b4m(;4&A~oY-NZ9gz$d$$1?OH7NURV-k0jmj67R z*lncZMe%zK0hqq(;BhfK7o({+D}1n$&u;lWu85k;6-%q3pQzzx-Uy3Ji+-Ey46xh8?1B27h zVYKkt?}h$#8M_B5V>(iCVw`F)7fU7-xB-7o9T(vpwc?As1kB3?_QxE%&ZP&!3~Vie zY~ES*DrfUGfCZqp0s0z*BR~1Khz?ATQ@w-2a?YUB%!8Q$p6T63oVo&(h8PdE1F90_ z&)%|q`7@`Fw=<-0;JZ|aVJXMIM}XRS5yjjV6!3uA%rtQ@@l+_XsYqX(*SasEY2mT0 zD9&l}Yo9%E6{zR0(5e%`S{RKE={7RrfsN?&U5K*=3e3pI$rT^tm1%{zRX7ItS8cDx zQ!XMzHi8)VHxfwXb0EKmlGMmg&<4Q*e0?%WCPH1Jwk4dZilHn(YTr2M-g@a^6t4Sh#X+5+SqXFW)->ZTUqt^P z*Xju4keo+SNMmK;3@wIQN{#xWJD8o$7j z9Ys5=Ov7Y7W(KyE(74v{R?<8Uyita;L4Wr1?*%rq$ zpjWxEcz+!XF6WLL`Ra0HZ^g;X&H(77-9o(VD<|30`WxX{Mes`5QZc||`{_X+(QrFt zl`Vz9`5Klu+%NSg_Iu>hmMu-ohdxe^GsKLIByE*lTYAjbR zl8W_~iQtKSCFf3YiojaSGSd-l|0if@1N+iAG!-+opdMYkMo{56CNBD}qagG=%shRm zBG&ig;+isil4nJ`B2$~Bp2LNl$E^Tvz_dQ}c-dYN`^w7?#lF(Ke$zF(AG#p}~ibq|d`xgGB|;jbLW0cy9?ktPW97k0F}D}l=& ze#*75=-ICr7@VSaDzK~cV^>MTOA@+0{zLOG&jb~UQB<#jW}1ueKf+s((<83|SxdNk zip`1gTW2~VAHb0+FAkqX0&ED4(&d7^Fz{Vs(++0XD3xQ--y3+@m3aVhfg$gP!a%V9 zbVxDQhA6_|Q}oR#yqYwx3D> zYfL$&?Ru)P=h~ua^N>yqSO|BSiCB@|#6Q z1~sp_G>VD%h*pD?2lHzvoGGdd82^Z>j<=GpO%ok3ikiVrcbh7ORQOb>q*4tDRrQ?X z`R|YbB_7SW#h3R%Cb7rUB@y8z@v7N)1L29u8#4f0?!Xz6qf2b8Vsz(Ald0CTfZ7%D z?+3)dX&l}ML7b+#h7#o;`xXzK#;|eV@*3rveU|SqxF0o4>vSU!)@Rnzb#YLc!&DG@ zf+1?f=GE8<>I%X8+BL-v?-KBwMs>H27}m_;hmgK1?4Kj`fCFHO{CCXv$X7~y8NVho zeHQ9h^XQw2gfZnjUsQTDs+qm6dItMPF<930pe%HHgY!}`@N4!i>VYd+_?L@oU4zzK zN`o9Bt|!q#_td=CiZ4kY(ImDXixE4>8`+1J$oH;TB7Y~uTPeq<6oi)~-2LeWluV`* zGA=J3=_kQ8k!b5w!)SL3N)WSON!gkq#YC1&Qc6Qz);P=P_B7w z(1h^=KMRJf;QbCI1ynuGJmGU2lH=tzpl)x&*p@(P&H>eG!vWieO@-$M9Agza400$2 zoXE*xcHBk7nrTx06gF94p-v}?+lj`Bit)trdDw1%jRV*?W&%xLRbv%QUg{P7W2R(d z#cKZM_TEG>2Y3FhPtyK`LwP8-lw!N=86t7`n+w|mhBY17Pp}IF?!}t4VNFJ{Cexsc znWLje3g{*8w^!*tAGt&OeLrW6Fk?suaPYRmK=ljQP78TukT&*5Xq%x;*21B`=KUJc zDi|hdrZ8Y4My7gpiG1la!d|(!%S8%JG{&SY$dR|RCjYgo)!=SCVPACf(w@_1Wo5SUFBCPgT_OR_mX+w+Emo&EdB963TBxP$D z%nwqb_bRB@GEP9-&t2pelv|1tu^x4-I0(KmG!=XzFUBG1+a7=VMz+~2)c9u}UA09 z>65)Z1%?yZ{)MevYRN^vnC(C}Ky-iF+BDv;ZJ)~@U50ztZhq+HBVfFKnMJ5g!u19g ztZ+RzbgX)O&!x6c_gu=s?Kn=)|4swC2}s{AEAqCn?~$t4+%}Wk;P0v9QreMSpjE`u zaDNn#{9_Y0P9h{@zDYa~8CJXon~x$wzXizlXLert|L%{T8+FrA*lL z35NfeTbuqqUG)oeD94FC`I%Gx&s82us5@0lyh+ihB%*R=DFewf^_b+IT#a8H&$oJO zi($6Nt}3rj`%!=TNm9AnNW}DRn8INhu7x_%PWL$UpL;SVw5!}KunR--t38k z`2y12Pnxo<7@c(d-8VchLt7jA7Z&-&2WWdE41-it+wbm)%vIWRGE3R=&fc`d#e0v zYMk4(dWeZuB+VNiDM0a->H(n zZ8d(4?#)OOWF-FX(;JH;pPJvmB1qt6qE)e1yp12OlD=ndmBj2A^kQONrrkF z9iojYA@`#ZG>H^#qUYC2_D=-i^(qBae&+>V8aoL&4=d3Kk%0RE219XO9r;0{tK1|u zsV^n;fcxwpFdz-;?M5oub%$T~m`ROl{rE0{W7 z(kGl#4vnSw*7q~Vhf!31k%qRNC?&dKrF`jl$7J$9uXhuzSx=XkoGazXba3~rl!uQS z&vN`+n42@mi#X>bOQ<3=&95A1xw<|CX@I-(7CCU-dyWk4(i|<_T$%PHNcS%DXc-^QWj2h_#<*NC1{tK_?m zm)_6vlqh1$FtPM7+Rrm|Z2W zn*uQ(&5UUHg!|h~2-laEg52aFqS`92LWLL0ZQFMcFR4+4;DOleU8WJMd@vp1fhR{0 zrwPdqpA_e4#7m-4M|aZlE9(bG5^N^or`>qKL)~82IVyJNii#dh?(|i6s0*V_?_r6z>XYb}4`KSZ!q8CPF-1R^dNUkF#qZ#)!gM$YeQ9#k>*)RZ^niER$e+;rPAo|7vtMS&G&K7c5I~=o+f?FL1UIYeQNR0LBcc3O0t62Eua1& zcpaH-3Xh|U!A{|klj90bS7cn4zQPKL7p=gpvnrU1+ue0p^2JkV9*&ZTt2Ir2{Un=- zj6^n~n7KrpL$g`(4XpGXSn0pv9A;Cl#sL^Q?wqD!wC;kfkza`@*R;9|zC6SP6?5Xv zTz&5y|I|G{jA5{XIAcL@edwJl4g90o62DT;4N^7dfq9&nGKmW>EFN0OD9#BCt=2(Qepd!}y@Zok*}b-L)oLuxEL&E9 zmWvkKEZbF&75Cn2lb<@3qu75A;|Lu@Np3hS){zd&YEB{L%n9Em;n7pgJjwyw6=sbM zH7jl4`X!Gs;0KsZKY1^CU1$LX;mXDq%5Xmt+tjU*?>RNHQzs$mhgf-sQUcvpE6@`) zdrrXg8oB6Hy;CC&7e9sZt?}J_&tId&_h`Rr^+93fNS$~{cr@F|xgL)av&D)A7`hMm z-y+E*%Q`ts-MZPzdl7bDLBDk3E~SSVWqqc8`#_2R*fbj0U17< zmj6GJ-aRg=I{zPkoy!aZ3~=VcFkF%|!-zzr0}cvGd4SQ_q#BWwip>F0DcKE`3O81d zN<~7&!BI)s7!V7ITH3Ifmfc2Wi;`_gS>vTy^Eh8gj8``xk?p(_b6=m8(m_eV0P81_1@aFrHaCYHW2nZz8%BO$Dc z(e(VB)mbFNbFKP4xZZKSAwGLKydtEOxlFalyzn|}V z7h=SxC;OYIxS0H3q)CsdogwS}Hf7_<%DeO-JurMZRk@ui#RVqO@!-ljm0Oitw?g>^ z);)i)tPkp2p$oXFU~I9HbF%S6nL=c}+j@Iu-4^RcR;1LMZ>*4ngv^utP$ll(_?Q~L zcitT$Nal4W7aYbL-3;d@|G)}mJ>GxZB^Qi96c|~T3(3z`O{8IHyhg~tXArJ@zdkZt^&tITKmf_30qKnsMnKDH7C0D`(O_v)fY z_*&MqevB51Zw&D4V5#I@sl-aGR45m;$VfZB<-ll~g2*tBR|e6cn}Qwa())`@0Hp&5 zgIj05pdMqT`vGfC+Mu^KhnCKQ0CT3pyGppytZ6z+N;w#`5Tn3b%C&VR#$kb#hftkA zlpL_cXxO$7a3tcW?VR6;G_BUw`hjdATO1-J!Q9YH)`{1fiA~b=WGUmXqenI%eAK;= z#*19C;CY z*sVl+u@EUQ# z>6`Ft&$F>t&-^rBhiD3Y9hqMr1Kre}%Bk0jpORJu(VKip@+uB+;8I-{8D7q!UC1NR zb%l$r-js8P()@biW2w8Wx7RLQGr^g=%Fc_CU0G_KlvkO(O4%Fky7|QH6Cfx)_tC-(B>$R?WA_2BSivT;r4zK-Q7RYYy*?ZvcQDFo6fJk|a)AaSPwfe&?i}(2 zNADU~#Mk8OO@*{CaB0~Bg=UznqfQ6z9S^a-f2Kd8)LI5jo~_9j|5mTL%TA89qmf)Q zmwxFiD^Zk9BH?Wb-gmY0$`-j`fOtO%(f!0#|AH;vn8PZ@*W>Kuk6rz5Y&tV!+BQSm zzTGP8LtY;ZEvVuY_3L83%y4UcyY3X$Pav7Oky5OMOAVpEHkk?V*U+42 zR?o^D^_Da1ZNCJGPGQLKk^Ml5t6@aa_#e#a%+Sb8)OMNKfq>sh6dKyH!MQ^DcX!q- z6;i<#3>JR+VWxT!4Qz_&9pa+?g5aaFyVBx?(DG5_*iru0UA;W#nfm#t>3S~XpBC}< z;#klj5A(#Yp$@0js`;71)PDN|eqMR6d*J&pcc=c_ah4f;DZS5nyXa*#M|ZMaQ9;t| zucU42>3=<5tx{IN8qmX=eqm;;C%Uy!0ysJ=L#0d~7J2{1brd0GGGjC9iSS{|uu4h7 z%~#SP&}i;#Gy($)GLW;(*iFpuoFaF1<-7jUPHVjc{uRp~*>%Os6FS4k+1p(!JCfJE zg$4Nw>295=_Fm~GIF?51ET24ARUYZ+C6ld}5}xSJ<8tEE$|<=`Og>k3NmNVHNA7yJ znr07=Ji!*L(~?Uo7!)za)HL=|pEw(RFs zeScWZvop*5tjXFz?H!xQmw}2qHg%GC;<3DY^~MIS(yUQZank>LfT9EH+L|W;IiUJ7 zH1sWC6%Mh6wWTBKTdzkF<0hO z!jG>_Fxhj#ioNpOlTr11S>z#X0H0Epoov@$^YVI=99AHOC{wRh{N2@tPeA>Q-A`cI zv;L{QOwTtG>_9a4xHbPoUj)<7G>P5|)Doin^R+pZWT;imLVy>bTvj?Ph0EuJUvGxu z-hQV;WgU90n6rNLnwe!X2GU`sKs@%{ep-JTkMLuHH3MjVcj+H7CH^|+E|R>EEDCer zga8hb>Y_`%z}Nm|uBu2?9AsKsM8?Cj^TL>OQ|RrsJzcoq^*5l%4|pHgqA*sr=~Mm4B4Zp(;z<7 z?*0`EnEHYJ(7w%N>C}2cw;sYl*r{HA(b@g@iUX7#)m8Oc^97gjI5wB5H`k9N7491T zSr9h;EBHIL@0QB{JSA zQO;DDVk~2ONs1HCRRW^j`SixK12nCrGs36)w6EgYefcG5OB{w79eH-~2{$YJprL_i+ z1evN^K$|gQF?4xJ?u$?YUGqnO89H+L>3EFhSv&er(5y>_iTHczqaY(=-d#;OG0A`La(*R9og01z0+MC#{xl&ZiG@kxx|- z)6XsH>#9^2j0j3^*GQ;vrKQsHjW=sSiRWzk`I;snK{(xeyDmDecG7(f$moK@O>)db zobmh=z@41y8+h91CBIaI2vwsyHo0WpeQ}!B9YV`4O$gXPZP75s zkB(rtKa37&#fu%9U`+=gM7(uCE~qVpb8&CMKHPr094z!ys!BbjDN3%Y>_cH+-{Jy{ zfJ>^*ah0Sp)w*c?u38XzL3OD4(E6*clt-A_TWB&)*EXiIII?SdN{q-Y72Q?I>s{3w zw(fdbF1Yq;C7+n{G-xdz#A$0$*Z4Zt6ML^gDeUU~L%3#x`HvGT*@igEQo|n|ZgDOt zSIOo!@*KjFIA>8+8|_mD#r1gm5g5NbuzE(cRYf=-g{@$u&3ykrbb%S*v#qQ;wGpn+Pd3bKxSr_AK%b3l%Btd`LkMr{0WZ9@4EQW#hB70HY> z=Y@*kgxOQJ@Fpoz`R)|BiC%~^P+bR=5t+|n+&PfC%oEOblA}P!rN5{~k{`^Sxd3b5;Ulb5<() z(43)HPoyEUx>cg2Q0v>@*LckCVlo|qiS>9fj2{|n^C^3HM4m^b8_zmmUF&n-N>%Ae zp}xG&qDZ@D;cu=wlXMO@x#~>HzoC0CJiMjyWS_=>Q~@xJ5ekMZ9;S7 zs7ZP6Rm!Y7Wn@?*(b%UOSK_iX2s!rnAQ>M)q(^>~vK1{ATlN;zg(x@w)IgdnT7)1_ zp3kCBhN6^>xJuxy-qltshE7~R;5!vx$?ZU7!d*0WkG?zq@4}V7TP$^KQc&X+?0GrR zQL-~GdJwB*ahR10uS{Ns%lhJ-%mU=;=(SfF5W(^ZC94#vhuOFZ^?KF_)!!W!IN6z>mf#+Ea7Og_mpoRX9JN{>i-K z_hehSZmlnVW@SpDLGYR==_}r$@IP;!T@8%&X6FflnJ(3`t+n3_I)Yw-p)D=ypA^-gPEqL?nxFZIhPT)5o-`8s`^($hKvV5%6V$xG%l z!l>$>^37-Fqe}E<#ZK0a)~qP4_DMsVbH8L2)ryy-gaK)`KZxmTQTu~ad#u6IK4zK{ z-t8P`a_zS$?*xd^)ah-)?V;`wraH>-L*7PaXu0UOH9o@(y}@}t=Q1v)s*=AidUL-z z`G}Nw{>j#%@9l^SGd|;T7+_x>Q1Mlf>rX=${k4rLdCRI++#$8!F1z{*whvlIcpn)W z`Y5{;5Q3qC+`ui$J??tGH*(*DtysE$oOjfGew_jI0HI~;cCn^V2*Y|u+{4I<`HwWk zXH^>`t@pO(sfGRHJk#7~m1E{YpD}h>!IizH)$tHz-CnmeLh@x}g)AcE^nd}HAph(a zv}%JJ!cCto*Rwz=2Jy&1xPJvOSG{Q8KD4E1M!LMHHKs=&^;|Cl{b!C0_vBOdeq8Ei zvs2;~P?xcg@{!Rg>I&xH&qRcY8B{p{4^`*!pgB{!M&1>2Cgu<>_rcJq1($+!+3$zt=E*zB_vB*o zX$nd*V4E#XE)!hCB|x`j^jc#&JzTgaQthaaJJ82pbJSJC)jW-FdxhgB-`tseTEzaR zZMh?$drJT?2WF0>n$yR^?j-p|>WtjCOCU zSg11%=Z*V!x53f)Ik;YS?SCdlW^~-RY%y%lIH|6PTGn$m20Gz|N>XVW4~kahudiZF zsM{Ad*LmPAyvt^M3x4!Oav9#h4NTvbvA+r5PlW4*k+-F&;*R5eT!5KpRaZ|_)cMm* zt*{xzY;TAV+#L4AU;R~rd!%wBMQ(dt`u&Uf@-Vs?5pN-O4$;1HVZB)D9(G}pzNGoPtF8ow~G;0!y;DKG{eAi zQ;ilt*O{GX>FT*Uu+!yJ>2`Di7f}()yMi0xfl#*Kcq(HqkImchTpk;Q`iko)jpe;& zuOuu~K5I-{t|on@Zdp%hf`bz7d$n72V0599k75^R_6GF(a+lS+a~xT{z}SEMU4dN7&#;n&LE|ND@6-9KDrm=Oz}%^21@-7A zU80Lg_~8{nrRN%qRQ(6*cdvB+Qeef*%Kx+$oay+}&T?YpmHXg!gFAZnsyGWPRmht$ zP4^?#v@e9jzeb5Y;4;*J6mGl%IMb~rY4;YrwEFW@hg|E=Ev>&TE8NaTZZE#WHQjVL=8E{e z1nS^@9YJ>46VuE{X8_@;bufdsX&N|_;ARYUZboHavTia-Iq-_ZzE2+vXAs&UzXbAQ z<65^lMMoNPlaGVTVZHb+-QMg>&s^CG6eJlctQ3(4jQ)gTx2~=-92DmYwTa} zX57xU3oxE7_>Eyn#|HuC%tvc|e)JWC_?}DnpGU6G(KF_;jD5IChLz?&l`dxDzQ*(@ z4OX2c(BS`ijlYSU5RZUDzl4=`TkO(03xC^~St^HaU-W@CPIlpQ`o_y5o&_yKykxmL zZiMa`X=J2a2oqkG^YZrOeT?~6*|#cpyfSrE)Sv6U#ZKn!-KW4+FJS{(H$ZZFmY~1P zMy}PallCRvA1bXoblOOc(lkPFX$)0dr=CSm!v|UDeGwpc-V`NMX#%Q0@uEzOHdgc| z_Xo8n--0vlC|Q4^d5Pfb-mu84>)=dgCne}#ndW;cZ&M<0gWoLcT7ynr6T6J3!&?+6@Jb>$Wv;uTkscecA>31XOg_xf}#Dz&bv3KyFWnp4_$>|vkwFr z%IBz4q+AY*Uf`5P;)?EZIW}?R(-QnQLi@l6Kq#&6*u$>ps`gxDJZU`?SFZw(J?8E9 z-VfK8R$KZkaSurMqsYtyl=PQCY%4`>ALmrb&omy6Ve#oNbL!-dXUX?UJ^4RM zcHhZLXSYC8r^PPwNsQQX3Xo*Gr`7R;shNWI$M_P3J`JeaW@}T%jgd~ z5Y}%=kuv*#Zy~0$n+DaCztsQ7j`^dzP;Rqc@@1*0|4Z4eIg9vJCe*w}E?JBwG_bLf zMkmdDnX^QBqhsPrD*IRFDuT(|_G*XS8J_W}YQQK~$M-pnI({GZAV1!H3QjxxbOFoEma;RKj=nWP!2kg3KbGPdv^Y7xvJdzIP zpF#%>wb;I*36CwZ%m15%;P!D(#PqHFb#5Uhdm=E}mWrAt9?GSoBC=cQVtM;oEQMC5mkCX+SF&eVm%-O!_;Hn-+|%;ymj%8b$r)exM&~ttExBm zZ3a9khg6}Gs?oylx%dnapr1*t#8&$4qwF%jbHFry9 ztuInE`Nwx(+-xMphC2U3ZzaTW`Sfi#Q{Rr~FsLLOC77h_*<4hbjgp)#8{j1;o|?-S zlH^4#v>-|w;B=*9ak^9+TNs27Be|Lj8q*Z6W8A3q8#Lt`>`QmHRcWa#imBaT_zq6d zqU3_yeh}IuTs|?x%YiiI zvlFm2_b~be%@X6^D1;Pevt?%vi70UZfTUYz{%xJ)=gg};NV_q?n?j3e^+zaC_;P`J zsq+4bh7*Ff@1Isl?m!Nl=PyLoJzroPWPJU>;`i!7y)M$2rb!8ox>7`jUiiNR4_w^c zhNVJ+Gz{!RF90))-=BP-!24at&XSNEpTI}CUH`uWSxW|k7r&DL4~=tFoU^NQeEE73 zO|j2qK(`9Rk^z$hrGOOvDeDU-**|?w zGMjUJ!y-Smhac&ul%(2L*1Y{ANYyE=21DF$$aYerWelv*X1H&VSi7)vnR3hIA;w&< zKjx3MmY9kf4_309ZOU72pG??w{g~HX66I@05*eWun z$;>&-ehMs87Nf7#GNYQ9E+}8FB%P?>bcU1^R`4!!&&?OJrszgSyye7baL|ydscxBK z#_fUmG0Ex;nRqL7GApRpiSu>traXok7n5HI1fPMm^dc7Qf0UB)ci5$$gqD1hjeJzRpB*PX=QM*9q+^IREzDwUAGaee+@Ps0 zp~(#8!*=0RTi0F;aX0vC@9qATJ8G?ki>(g;xRoFsZ8{Xghs$%Q{Z{m&oh-XLs?)}| zv-kvW>y$q9KEjZxdX`+t?MO^Iywhs?sdpz6 zxWQ?Tt46e@B{C&H+&;hw5B4+qB{q{4hEgud560jedloIeuRVh+y&HA8?d8p)TVL}V zcJdE8cjXUZDZ7Gk)6E|n_NY=AQyR$dm%_@hqWGOehR7xu{U4O0Wf0xAX`9c*< zKTF1E7dFk4C^m}Ksit&1X12|BjU>DBT^n41>GFkJGT!HE>Lsw9`I|-kl46y0pjk}S ziB(rw86jQG5^4We;LTF{n`ge}08gdws4AT5VoL9wfqC-B-U=Fakymx^C)nTPrqvW( zxgRJOB+lsDOwQ6YM?%ejSJ<3UBFTstDb!-E%$P}f#CeXV;TFd=+A_Un7V9ipMRL*g8q_?$}Ho{l~to+-+=i!6J?Y-p4MB<8{})~A?PWYqhFGDEtM5V zx$|HmniJ%ViiJo^{F6adm7**0=tNoX_=(rv#XGqLFAJr*{^u!cb`10_Oj2u;^qjG6Ag!OrwZyPk=Ro!TPp zPm^}f-Jq#BM7>J8r!Eg$ilWx%)&v{&BNOl5GVpy+Yzabr4(I=snZGJMnnwVJif$kSwDpGSk0i$7873xDH>nFsS!ga`Y|R)wf7XVzte=r4rAFwNGCd zwl4?5%K_9s=h26^Y_;xHcXqv*Q?>V^yS%g-+l%uXNy3pPLd>Z)(+}jXE&-)G)o9m~ zz$Ax@lwDHpuFgWlj2U4d*~uM@%0+2e&WoC|Z~>-`@EajKB#5UGeCH(Dw-7OCPLg~J z2g@?H_#p?{zWSEe0Imm9(cUDw219|b1PW^wEkLZ=>ea~X4Qbf!Aak387F2@!`Q)5~ zi~@9lnsE)O^HuonygI;~%zE-7B&GWI;Mm=Q$i9iS^2zFG{Yl8S;$f=p3WOjA(6JSx z_kEmxAE!Sj)%G)Bp*R^AV&4yjb9i4O$WE?lj_;c75vd`R%5Kj^sPKIgf0K6Yr%#d= z3BMZLMDF;4O>t@Q@&E%;)PS1#36c6gwH8Sf0z^sC{O?YtzFHXX~7+23HK(znN z?$lTUn4hPGaT>dRYHfjYr-do~9us)q;-s$*KBwFybakYq)u9e=rgr)KwtovmvB#2RnJipR7u=zXn?DWTsn^@QyZG;|y ze1#tx&7>6!6X$eNlB)znqG(}_Ab-sGK1YG284)ycsl;kfyvO;5)z%k|%R=bdL@cGuHHR1gd!aMS@^cmy}wGqxy6tZW@sxQ)%Xvpc^3{`XO3!}K>1J+c9 z3)0?0`BAdXz#Z?!*q7EG@?dp32Bh8td1`CP)>_V5(Ha-ZG^WWJKvUsWbaCo{2FQTJ zcFA`X(8?>whrWtpt{#UV)5kK^tbUsWgC}&;KpflA3l)CjC=9pFvG%B|p7JpPK+6EO zlo-ThM4?TH^1QHo6CD=@ZdS4@4@#V|UUmqNI8NLJ5x%e`0-+#KTJYTKBQNP9hdhSJ z@pk`%xN8$nooxC->VuBJ9T4(ff5u=EB(1(qMIfr0skYepSEGpx6F{<9i z7{1EW3SyO~^w)BMrI(>NsLo_xp>o%rZDtiMipjVVJ@}E(o5Bb)y?jr|$g!v~T<@Xl5ZkoQ!zh}STsu;tZX_z|LRyoQ0E#?L@Sqlgw;m}{O}_(|K~ZskH1%BS)N)O+?{RMC9v?ftJSm=fHI$J}2xAG>b~3{g&9rn8^4mKyt`+`@lY5muXtRk6jKlWlj0|a^^EdV zJ1O5I%<8{vVI5}-)^F%!5_~UrGLoB9?rIJ;YP`q2#;yfN$RjV7b{FfZVneElV{fR=DL^I+6QT7waP&cj^Rcu(~B=-3EL>cM3bEH^IQ|lHt|Z1 z2=`;SmDoywndJ1pjAM*D)uRQj$sJ3Q58ArzLKcm8VrTk@0q18WEn~WH7{S!%K zEJ>nuF17OT%YDiArd`b30=6-(^eb-Bf_Qm!579xvTd_h+l!`!H-LhC3sG(X$ii2gx zNY{e*Es%DXSZVhYFc!)=Ql^PF#Xeyo-$-8|cp0*BETi4ne>1a-&Fl9smNL=6&>Ull zJ&kr3(;2^-U+Z2#zJo9_SN&hp-JrF}W8I*UA=V)=?0ab~_(CGROa55>4uR;AaTo_s269JSG<=Rzg-M8Z3R7Dy^Iwl*`r42&+?iap~@zZJF#+W zh$8XS6Stiv?jnau{^L1}bc~w(X-Mgb3(AlTEker0E@1~OR1&1|`zx^n?MK@twc@jL zz0UEO<;QTe`T!D=a@$_6R8b3WJ+pU&NtpUwibmp9%0A62ZS-))d%0ZZD&)I-RCeS3 zlQJpTB0OB98zRiRGJR4qY!S0oHF* zpE9UX{9!(Q2FR8t#U=Ze03`kOqGf*fZ*@%X@xoEf}9~+xZ0U(U{3wN_CY5M}kbT!8HSdFYo`ZWTWd=h0+c` zjO>|)2BvX*d20;an0JT`0sV7s#^`Y~t{Rnc>wMNzyoWD|?V3gFY=7eN)BWEE%`ATa zv6QWkW@c2g&X?He`UY0;&(-MqjW-!Pi}=2Vq*CwE?A@#6zL0^w`t052Rl<5RnL{-U zY(v{#-i&6|h3XKziM=#b(08&ufi}Q^*=RSB328VY)}g?+Vw3F%_ZWPx}Tc8Eshhf$!!E2N(ks zaNX~;sY1XN8esc=nve4SFDG;S(jo*XM|b_T@7H$VZ!3e=ox_&VYkmxx=p0E0!s+r zf=WzaWtuCz_|!6(I!9E>Q)%S;u_a?^fVRFIHJ+v%eb{t-93No5<4-O~XHsj!5vJ%Y z(?3ZaIeZN#uJYJ(4JLtpAJw%IFMa?Gm##8vrk3aZ%4rfm>>OH~iv0l?xw#jpoTZKs zJB_EMJjqmtIDuL{UKJx;E*~dezaN5r2~14l*cKtVh}mXok_(1f2DO_S)XHE>?{`e} z>CrPx$^pTUv_;1a{civ=LQfRl#=S>8-l7q{n^-4)kv4P0RUe7?k0A}!H5#THVOd1< z6O5~kb`T+q@d1kBqmH}xq#yq~y7RO(b!bUK{rXD) zv)(jtqEK|b_xEtHbIeu5;O4XXBNCM~w!nO9s<=(xXmpN8cfoe69K@+#5gEr+0cIt{ zmKCA@Joey!VvoOzwC?URsg_2m?3Y$QD~B@jlE#K0r3Uw3Su-?->C*Ol$>)gG|1h!C z(spbzM;Cx%)(38q5dC9ijM#Jz;mZ!{X(FGSi#d~o%R)|#YC zY#d;%^1CSJ#XI*>>M9Pj^r`J{u~~v8b7$;NO|y|Pd5FP-S+Z#Sepd3)PSEOVN?y^cnfE)zr>pB zcftSN%F%Xgyp(#G_%0sklI=x#p&&|y}fQ*We}~4hh$I=VFwxQnmCt>I!T@Z ztJiMzMXfJoIvL7*P%dRjk&G@v^_bKqtN%US~vi*7O}A8QFd&X+1Y4jDpvR_ zP}1^>Tp)do^`0d!tGmJ<1dEc`*b%BT*Ey6H$Y;0W6H4}nbcShAA4OD(A<8>wd}T8A zAEqh|rErv_l5W9GW|Fr34k^p9nC0!-l-!R9ggHLKcz#qDJRU6@FnC8Wy<~&y5Hqvf zUo<8JxwgX)olp7O2fhHgBSc>_$spNW*eQOZK@CW$ZFuh@ZS{z5e@7&TvIC zQ{ZwbNukQd<7Q3>nvN3~jcaS0(-g$SJGJULUsfOO93`RW!+QqKK!k0Pk*HjtL)hrMi`48BReqH#GVEz19KCc>D z>Z*%S{&B3cpDibCS%#*8MVuCmECV~(K!*b8d%}}{a3cy`yJKNZwKmJrD0&rjHDZv4 zz|57wG~`?VbWC&Hz{!7c<{*T`cw8Ij)AU&lH~M19c943PFa3^V3*FgV@?OPui{L0` z48wUtf_v!l1~Oa?VFe~}zt9Xcpun8j2e{D$XGq?R|0xTa<{}i&vH7EI!qk9k8X#U? z0+(E{lBLprp;^!LEwWy}+S#E&Oj4;1YV7_p;wS%b&Mzo?P-veHf!mI#bzfozsVehz zhOs;N;e`nU*PQPM6~P$|V5HuhkWg{VtZB{DDUYCtML%{26FD&BOuiC?F7N4Q-TeD| zGJ*ch^nSo7uPScddPj3hyw%V27m)Ww>%<#XK+ZpytyZkc)E)N5j;Qg-G~{Nfz(~yL z(a9hfp%JrQu}tX{FC@<4qpl{2RX%w`h)=G6A(6G_pBzOnE zlqf@SOHajrQ^z2Wj;R~0#mCCDhw2PU5T3zA)iLJK&hf~12EWfOha9EZoY*zq_iL&% zu(sba!{7I?T^)M?cD{>dcaK^ednI3;kIEhr#A3ZE8X-DgVZMmcI;JT5@W1iX9W599 zW?Iq3HAW=fHec3*(D+0)CXa+q^N1hHFDN%E7hlR4G?Z(TtpEPrZW|7U?BS!CfO8vIDd1%vS~GDCM^=Ngs><{857l$Mo){)Xf`AUgph1@T8x^K;7H|>Kq{Z*uB*ycP#vXge<`4jXgMEb{E&iF)30#0J2>ssLh9n*uwzITWmtq#S;3zw@lUxwS(cm(lSaMNzWrZz$qY}1{HH5YA2x0SCk z4m5+Ek4gWT zF^^hemf zznj!ox(u&*lhLlS&L-3b192)C`}w87cDO$`CU@G(--CPYQFW(Hh#dNrs?(NS{+*j) z+%*auraq#euMvIi$HD{i(dNS%x!~pIG3G#pO*xLob7e>G13JW$G|q>0T;TGzn*&Lc!cB92 z?ubpf;tcsg{oY>nsrU8<;ZK9V;8U^R&L915K$Xabw$P&L<|I{9z@}88DsM=VYT=XL z4r|IC@e{P;zkO_wlh)sWFMewttxkYQJDgO|xKMF750x-O`-7TW9x6j!H;Pn=?OIHy zf@UgkCo1}nD=BYuHwQ5z4`>jY6y~PL z6>cO40};%!Io1#+26LJ=!ELW!Fx3e!aX1D+(kLU%Br0&)8NLjV1biJ8?|@c##{{m&&u|&S`cHu!8z13!EQir^{H#qjv5shX9?wl1R}0C; znbbL807llEdRk+?=sw4IO*HA_=jL?OUDg=*W6m;Iypk2sM0|9V!KO)UH+EC9?`XBA z@iZFaH_8QVEx}w|5Q(}*zm_~tAsrH#b14W@W>T!!QNcyTJ=Ra<^*;C;~Szm zSzB&x`d>x)YA@tXfj60|vH4Ylcpujt8uwAudZJbObev1x0IlIBNan^M=1&VW2lI!# zOv=f)`kh0i8D^uRkozi1E_nLrsLEijO@Z)E`L`;2k0R)8#6Avn9@64(P+j{*X*QqX zE1A+9Y1#Qb)BOO2Fe(RQ0#ejaQATir!Qf;X4wI8^Q?{bOBI!PR&a$gTnQSpdnu|#+ zpB}qC#o1AJ8TBv}dH%u+;Dk8G4oAO`T>C#bR&UJblRgGn z>vQt~XbZNkI-0cDl0EIZE7CE|n&L(&YFQsEAgNrQEk#KkVhc34D_HC)L*$+xrW}C!TI6V zYuv%ssoa*#e2hj#xJNWn9%};UfRLd1vyMqpQ%|@PQ#n23o!HP34RB%tW4(T)8Ft=Z z%KyX4N)`;U1R8%r@DwIXdQu{dB^o)@WWiE-MFP3R66NzFErW*WluI;ur?rc|(mkVrX8j zxrdOa#D4cWGTW86hhMb5cWNSnp{2}_lZ+9BR5yozY6uIiWc3RxS>vly)MU3S9cbp| zg$-fa0XN@aDx?;>a?C-JHdQ%_$mjA~#I|@_TV<-!g!|ftqN(q7N~tY`E2iwfaV3Vc zwU#8!C*>JfY>gUKU#bi32>GyoD_2djBTcD6A#3?&%RpMS3Np+Nz(FkMf|SYca&KU9 z8Q3a_4iipjFN?oEV%D&uA6s|aDAbt!lG>Eg!5BCH9LT#=aUbcqUoJ%nH^5xw7Jfjm zuDvlJ82o0Y-HhlZ8eXcbKhk@Txc)|f)af_tmNmBDT}wiwpN%@g<7Lv7i+3YS+~N77Z;-{66Qq302&3vsQ3lIiW=_;@XM4>aU>)3?rGdk_sRt?4Co~MJT#MU`9oCs z^UN4oK2}c`Nfsn!^n@jzzt*7PYbf!`eKoY`%;7m|(k@pF2!`)JT>g$Vb-sCNDqKbx z*}O!H&bkVNa&f5#LeW(Ef!FaQHx?k&&DM&Wt8_cTxJjrts9Z%bUk9nYoTTI zKV#i@IPV#zh2+Y@Oc_~^j)<9z>mpWw7~$Otm8O|YMJ{q(Ec$;@V0?8+Q$wawf%=b3 zc6dbZs*!AV&X~~iQ{AJQ7BW4AB#aMZ$IDuwJao7&YVq(@B}9iVn7mJ3`NRN!5q z+;iB>zv;ne`a5LCeR^kOG->yQPM!{%S?U5HvuC<*bq+)=vC+VcMp&Z0_b*CF7i-3V z_Okw@jJ5MErqvc`<8IF6_LAY&7N8R&DiYBozkArE`*Y`RRrgT~FBNu|e0~WM{pRlU zosMzPmL0qbDr4K$gDaIz#Qe-?`i}zmz*qdJt;(dqNR1H9^gUtEvt&RSradC7seJN) zVf!;MSSGPkEI;;{Rl1}1VS7ByR(;`__P}1ST=I#6E5PL4iC_yp`5T-&5iiZ&UVDc= zsX_98?f_{s+=8#dfo#0pH4n_Chxk0;RivL>RvH?lebFi304hnW2d|f$dPA$BF~=|#?Q{JFs9F;-;rp2 zZbf3_&)G|dHq-C|n)qeZxn4f8-JHT$YdzI!RYi1x3yJkSb-cmpk71hCm6N3G#>?=$ z^Z9R)_V*4=EqDQ7K7Oo_*#1$b;tuO}&*a*i>OE4E^JASkKi1NIbMzjz>aid%fH*Pu zkCc;w{mIV)c~9P-lG{AZ{moT@uEu^#TLSgA1=q```=dK%xE}i--1w28KG}xZj4bLJP@utwQ_;u7y9p}{@}Vg z4usZBn8a6C&)BlRumw@?Qhb12Ac@%fT_bDR!!)vK?q`_tqf!~|_{vsoPzxkg(vC;K z?D%%wQ9p*zS3k}dBC24AS3?2Ke%j&2F@m3m9q?$M1`mVB6s~Ch#A|=M==vcibEHV6 zd~*o)OHm}l*C5F_qjeRGs+2De*|gG4tR|Jq&g`|)H5p8sUc8+X00@UE&PO+JYA)_7ZS4y<#n-gK4Xs2N%gIs*(Q=?Am2U5@{v4+j|63G|$M zBH2>G41LCqzb?jf#r@Tqe6XfMs=^$0?_%sbQ_-ix2O9&MGUBV49hOkAkr`5w>|(g9*Ks)Q=+k8y;BoATESzt#wB7WnQd$^@Ug&aD-0@~fImQbq}u zi&fL+ASs?ew!#wMKq=;RH}$Q@)XOEVC@0Sv8D?U&lnsfudt|+TVm@6kzW4M$ zo&#md7xU>F)|B4IEShVYVWnzb0r{mJc&6@TIPna(lmXw8teIdIFPsl73Ym_M{MSHy zXoCh{k7TuU7_)6sO|}dniKeRdYZV6Lwc?+N-OrV8pyHs2%D+=YRwv7kM69PmwKClj zFTBJv>3T|cn%2o`#q(Ss+m`O>3+D^}&)T65gyurFgdLZL{jAV!KA`!M4x`$RAl2SqX(-Ll60)>J%fZKpWq`aM}7G4)PRC*nqVP%rE45AV6v+5Scm92tk z>O8-2catW9nOJCjylL3?t?KPWWS%=q>pq9deK+h9-@*Ulq^LwEZGggG-c)7GVPVT2 z9;ggaO7WEWM)oumXwh~l#>>#MDkdtiipj&R8|z4hA$C3P35em05Gq`1{>8TB%TTU+ z`@iROqmDcu;+%ieCp}u_CmbO|TDpmPE6u&ro2*~HFxs!T6dquT zp0ZxA>w8Kk+cu2@Kj3y{o>9?q4=At1Hjhce`xv*7X_=~7Go)4i4JcKQgO*x&je~OH z(@a{NV9Mz}Hz}i7nU?Nj1qbCWNHYnrXXI^KKc`jB*EOG$zM4nR0K8=Vc_{qF{ zWOBaOb@I?MBku#xede=0p#q@#k@5M+uDiAHiUPZhxAL?jO!*8ypTdhYMl>~sDLr@* zuclC7I~FbtQ(lun5yT0HHCIkUbn)(lw1lp%Ad^r*n-2+c!3RoRSmkh-GJr}dDrth_ z?X>8M&_YfaLjP!|0~O&)AFkb>p>lb53QDPmEISLU4oAlE3qYNdWK5{7qu<^(K99u( zQ*zOMeLv@frtPf&i%o>`J0)Mv@q9MlTS@79WlbgRicjqt^cZH#?vKHdIB-6gcwpS;>V5uXl`rqpAn{M9kj1%T4L6kl@1);? znMZxm$_)U-T0+Ei%2*;(q!}MR{en&@StIq4U8k(AAgJhy2K~U~=W4 z=9`qqN&AxTR4N~eKxTW5BTBcdc&S(NfnY+3gkTD`1vBsTWlkOqXw=ykFU8n_jQ#&O z`X0C_>h%BTGc&s^u)ypeU8s^w2c9hVD|k#dEIhDEs`DkT-8 zl$>$7AQgGs9d}_tap!8((ZzKn&37$yEC8pd}cm>p6C5M z&-)4AwiVKq6f=fAHKwiQEh;w)Tj_)!OfKVMzpd9Pkto`=vLY%w6rhpaZMk&71E~WN za01l2;AVCxSFZ%(963SQ4GSdoJQ)Hrq}q9J*lSHonYh3YKae!)@N?c<5-5L+D6Z;X z&O7jsKR?U*OV1RhNz`2T1BY;Cq2E!tSYLX^m{wZqOdFT3sEjA}V2C-8N3FC}Oe;la z*%K^MC0>^W(5d~bW*izp@;JqeH;)q%Ju9CyLz}R<^9!v@wl6IBE?^ru==3Ek4tLzG z4pLg@D~u{A^0r(O-^(SzvqP>mD5ss21zsGv(qG)Cy$!LU%Q{lP!trJ!y*p`8-awgN z{G8MyNT0A4^N+kyIr;V?r56+G@9|s9{+krL>NJMzt2inNzywmg!-{O_kUdaa*&3?6 zj9oo;n?jYN*o8Sc-xsR9*j%l@tp(QtE$LN8USl`pCjGn+uDP2o{asU$!J>k}UQirMoo|DyMZVSq>hrhBYoN|p z9OrnxLZH*DhCfyIN#-v16;)hD(0pt_Q>4Vj*I-48{#6a=U>*~e8bXDo;X8$;WW)>x zXMHNQsmM3hL`;@M}Nmame@Z~qnTi{>^V5r!@aeC zGX(d&9QBtoHux*^cw{+?{lDj3OtVGx5LRZnl09Phlo@UHFL?W@chlAaFpy zhh_YE_)X2kil5v#o{7zT0}|;>EI;|ZdL|ZR*0JXB69bdsKhDHz61cEnU`>B3C;b-_ zW)L^9nb`Qg=VxMr?J8s6*j+5wroY+{lRaWKEo;;Y8oet0Z#1Ab@7~`uk(ttd|FRj2 zymLQDTW!bd^prOVNGASbuVh92Z3fal+I$q6+ggaF>3x5(c92qG|MUGZQOXnB;*_@k zi<3eHC&?waenJetwZUK4VI9yfqlA1k@H{sZ%340I?^>=riNo8nS10Kv!*Y_v3k|Q! zhc?-{n*Z}9)NiuaI5yc&TIhtUW0QUJU$F1Mem*`+`4ha>eby9%D+~+(9omH*BaE?2L2Ab06su$mYNjv&qda z59(ASsxadqcoAzjy2MzeoL?TVOs!DXKJQ*i zT{hmnL`<#muSBTGk6h?MUj(^I1eYkSdcLS$XY#$F`wI4*+D|0aMN?7UYw%Z_O5bt? z7&eF_H=K_<9nnsdnkfxN#2^9Y=I+k{k{{ko=70u)@{VTiyzhSM9QIlf0R3tEI$AQ+BN(<8J6y6{&S=>a1 zzc$gKcbcxrvda2|@EcVA6{(gNr(qmaUuz;&#vkesjL{AaA6 zlk-{RisB~rhEi{>BT}i}C*Nt&5A_J^o@PKwp`n@1)T8(a*th4&C98w$Czi^-WFm&=|zX*@N>e%#7xhG|`_op**P8M$ZO0 z>H+HBCJOU6yIl!N!&tJSs?C%^X^?HC63`Dflm!&~>%JJD)7@N7^5+L3FcGuAqJbkv z#m&kR8;b_>dEmV^$dVrc@8@E=;7ivzA7@m0LoO}t`XHBdJ-K8_U)A%B z0~*YcT#|Z7lN7cT+7PVJBiEmWDhY|`mD}MM-v%1JFOlus*(_kNH$mIc0>aR%o0)ke zd)zFoRD8gAne){Ra=$s-50qYpky<**fol{^{1C;&MjY~3mHr06#C~Iy)Br{o#>?(i zeY=K8xOWVa=z~L8#Fh_{<)deZ=$>KRzQ@Qm7*7O!h-wa6!NUMqG~dX=5FTWB2hr61 zI3*`scY7;mv}u{DmGjduzgAAy)5=+j6FZ;Yhg%~BJtg1Xzr$h=TLanY^Y^#!|X5(YXsqwW#_Inp1aJA z;mpU;jA(E2#TmXOqO4G4ZH&3ETJjraj##`Z8!x`u+~U_p{&xO$ps&=1_n6Q|hKJjz z;2{*dp|Ck`GgxykbbqT)YH{kHsZC}>cZ9WTpBE=PGpq-(zP(6xVu&#qvr)kmbiCD0 z(6Onk#$+Y^Dfu&eG4q6`DN2fN@ZHOmb5sKpw0h<2kdd>vla1WH0A&C9jFAhwd6*2T z!(_2N8>O>!EZ4G3vuIPwG*o8NFP|QjXOJ7cCP~#t7TM;aoK^1plP(HdIC#vkk7k(t9Gx0*_KP+~5`5KyHwUy~<$}r0F{mzg!9c2FKo9tz5K9W_} ztpoNvQ@BiQb}qA=YMNeRIrWV*!OO|E4?Somdn;8bI*yS>Wf7!h*&%}JKGzmZ~8 zV1-81rtx*ap1w5Y)h4(kcYzGj-KV0fLMaszD9EJ+3_NPw-a_wIu2mjE^B7c)MdOrJ@C>9VKJ$cmV(q21%YJ(L z(%P7-o>}rMMrVYMWVpYW0Hx_J*uT9!UAd>pY1ai-tXB^o7HU5z=t@^kEi|tP?4y|a zFiH^m=;irzMMmlEVa+RUMuwa80vRv2!O9{Ro1jc;2gtb6MT1SZC~-K;t99r5H$J!1 zbgL4BL%I2Z?pu{!k5tOpxy)OYriHS$puum*W}@MUAI);Eoc1GP0PoF_(`EstUd2i; zJLR;iSmotHe3sIQe?Ju-xrf5H)x#?c5tdOs)VzRk;=W5x`y$~>D_oyz&CL3xA>aC? zexvnEHlxWeBjw7$mi?5|MI%j?wC6lL{MW)gorr!1>=66a!NFzqO!)$(9A0p7;_~u+ zPDF?^lk}!5EYK(;3ERVXywpS?jYQIklGZ}^19DpZ{fIP^NG|>VAL5qWey&?Dl`b25 z#m6HR8%nEz*XHqne@8$V$s1r|P3?ATZFr>Ivk>$c_T@#q-H4s= z?cBKrsd>K(a%V!Aw7@b}lg!GHk$f2qT{PS64KFai+k@o8$lh-kuPW z-ePSl$)zsLV#;@oEswp(l7o1olOw)t6Xs-lUsWlgXoogCOm`u-xJRW#;fi4xOqR+9eNxnV zi_4O;hq_KCe$IuaGiO;UvSC#xSmA}5uHI7Wko#Y5Z1WS3+491#=c>c3eMpy{&h*%v z3mAfbnqHA*MG|SNKC?OkBvTFMc~z8V)q%#`-?BwRM&8XqqYy;UPTfiH&f3(n&B6&* zr|3T|S~Y_a70hL86e2lO&GzkZPyk?kp<%y~=8Hob!u;w)wK9r(?5O_gZo`Sjrs9WK z=-UarWi>aIpLq2dwRWAR#UP((TsYEY7n&D4&z(~%Db`Tkfw)h&xG$_fs}~ z#5Le1tAA!j6Z)_fapWha?hc>D*W6lsz3Z9cm4;tiDO4)|AApQUpUFu8!=Y+k6_yUP zvRK1%YE%`#b7h3A(+e&<2@$U?R>PZ3@xzA7aX;lgd`FpF)H+?H_}@}Drls`jm1>h* zp$@yHl43SIQ=v|Z(OUrOtl}H*FGa_#Iu@=kl9xSf7AT& z(?qs96!Pu$SwC}OMoSnsebZKr@)E)WvfE;{AHy3bqWu7yYv%)$j)QFO`15S8^Dvux z4zg!}C zBDP1CogHcCwMu&o&7D`f_3hI-YlvGv;3uBf-sa;%vR>~9Vc4>KWp zzi5DL3-4;PH~JU9>USxQjh!W}F+ON<*{ha6>^Jh#v4FPh0N1O{uR;-e5A85mV-A6t zX-7x8a@VAlxwlL}vc=j@+sPALu(>QixiGnkYRXrPemSrP0%KVsHTs)v{&>3|Jl)KM zw#L$AJfXp-%W4e=dJaNy5AU$k=23k2_S3^GZvg(UPnRzd&pL++j^cjPyvkJWtT@Ya-;k9e~pC>9`aYy1#+!( z{uU>f&PVG52ELOW6s<4cZm|S5Jc0ZuD<-Zr2Bh{}2yR65D-zu_0yC)5D*JFjHA*i^ z5vmUroC2!znD2KQtkGvea;fABPTcvlJw)`STP;;j=a?<$17~C9xArncv-rXa^s$qv zCWYfXXU|919N71kn_3p0i=Is|SC4CzQWV`#Uut*=bDH3}1*SfC8iXbjHsO%y@Va_d z(H!LlDQ48adYLC}wZCEt4_5M?b|-@jw`Y-%oni58nRim_J?^VqHi)`&E=$J^p{)&; zdOzE1qQk_v@*=KrOXYNsatrR3{-{6<4k{q98uGs_72kNt*%GWIJ?%P#2~umKLH4Vf zA0Ye7%xp2pOl3b{SSmw?w^}SuYaH=MK1U1;x_uV>cTDK{lU7UU)7pKOOl>u@d~|J4 zWjXp~&391V$kR~pUo_u5@s;J_A8J+ln}kF*^!oGH5CiHBbLWo>s$3ras~UI!E{<^t z<#j1?&kuvkdCfVu1Q9h9v3Tx(Ku#3DuaJ2Y6&S&~;V~ggnCB)OQg5qa65j#>J2C~2 zVRm7U{FhT4cQFRn3Iff|ESHbr5OPoV12l63eL=L=X{;A1$B4VwC>b(mzETON>>>iF zmfT^+RTGP?m|L?E=JAd+v@n#;X5TN|j%5=}L*{{ns1UI~oe;W8bCN1HgmW*}AJfd5 z&h}~Km>~CAdzphr{l)dk{E0u!pD@I_NtoK4HIn;K zw19XiCrd;;qs;W$!3&l9_fSi#ng$oMOA}1AIW45j?3oYa;CuB9Y`_Dn1+SQA$(H*r z*f3GWf3rs}jE*0gRYh9TS*DCTwFJ}9Ha?q?eG@{^NOX!B-J^Q02P$0;S;DkEzl*D%go5KZ$b`p%p(mVsVsFvHigMl)4FrkQmBRK@uRHJ<&$k$KJwf15Rz;AAd!5`dMFmmQ(XD+i>5F3%UFe0n{O zV)(h7wPMf2XPob8{Pxm;vZg< z4^}g^)Dhyjz*V!zZPhH{^7U%QcdpR8s#(OQYUW=YXl`7XPmk97m_Kt(nPq(~S#l2) z>ES>U9pz)BzhEU+OA&G{1vKBHDI+mLevB(4OY#91oW!sZRo0W`s za#@vO%JLRcyC`^&q%(^}L_R~ei$qaQryvG2d&86tJXGU>%KzhfKLb#AhX&@#-v0vr zdOFYct{#rS$<`X$ZjQKD8voJ3M}TI8EHGJRkpb4~czNfUg; z9Kp|E^}{w$&)x3`5Wav zRa&RRu9QQi7Y+m`Sz_ZxSjBfnO(m05Np?o#ob2Y@`9<%r9A0dvC!R9GugO#Jz9aej|GKYBi7 zJB`#eeik(4RJUn-;OCm!_X*m}u7CkiGnR2bjH_8y=0xk4b0J_3PXk z8uu5gE@^2XnoCcQ$*<25R6^#aII(W}x7Ie=9tE-E zK}r~>L87UCk_Ad2b(x?GoB^?qFWHKR(?jxE4Eb(mnSat{42(Ul@;)aGUH7iY1{NmO z2)P01_)Q0Oe;qh4c=6oEOp4b|Lmb7e@UaxsU>7v~mL-dnGy4Es@tJ$V=<@WQL^M+5 zL~ZOl^=iGj*bvXOIh^y8Ct*DwzlpkxlpeLhqHndyf5KH0Yc*pU{l~t*poH@@2yU2s z-l|DDapt7`7HD24M;{$Q2d^2}eQ)Yw@%rPF=L?EKyw^Gd1&1s>WR?ciC<(R>M+iPvI7=( zK*9>L_D~-p5!O)k_woYzOBW+em3e;ukkP+!*znI;E}YpG%LZIDu}NC?bdw-K;`l#m zB-M}~MO8$xq6b3Xp5CHKR~fEO)X?m+;+%AXTJEFfY8pzUrtLD!)2298HKNJA$e`N% z1}nU%t4lZN;-^hI=I&2En{v`xAg=6u%tgJ?ew3(Xy7taNX8XFdm#amX^n4Q=d{kyU z+mNFp*JkGh1QmVGv|wZ*a)uFxn>~f8WIrLbHSdd zTiJU}JXs?i_TZhs-#Q{__)Rx--Z>;h?REcbk@-$u{txz>Aixq0n{<+iLK;LaXz)I{ zW0aK65W&vt;+^+#rrFKy@Kg(x`rfkEl+1Q=neaM08TF(7iP&1|Vq*2BBf4mxYGlrA zmFHqeo&$#63;DYcf>pZyie0a>4XxJix9UVy8Ltm0r**~}^K6_PJbt~j<1i`h$7N2( zYO6R6pWnV*?k_;%(mB4UWY$A&y^n8~Q6!;g9)2U@Nn{-_^mC#f`TJ`)_?xVYMq$n_ z9oJ15djTe1|F;G@RDfbPgQfGjYn5ne+vp9K`#s>vbreP@*EM>oc`YmiUKHi<3L%|5 zRlOJqrD>d~tb`^={4g#8T@HY&=!v_}S{tDlL)l=3Ib0sNtSY}Dkm0dWNDui(pX?!a zcUOdR7N1K*jBG-mDc_;9nEYbpxfy}Povi7RJT$=1U31W4v|yJ0HLG-T;*j zoNVxO>p?RgG06+LlHm)_i{hu%Z<6zEKB~pPXeBcdDq|JQMOGGUIFGB>$_7A zN8piHmdkSw;(kkE(0D~$&Ug1Gnxi5+;}Uk($|Qy>(2~wi7oTY+@l|ZL*#>GRu89&kl53vjTIg!e=``56#xcFQ6pJMGq_}hD0b!sPc0TzgB;foDz5N-Lbe)i^8UQ$&5~6a$~x2#snB$!lDD@j zQpX7;9(Itgl+&c@B?Yy+-5C;H-Yj_|%D=!8n5B;xL{OoIrbB{fpWthWriBnUsW*aR zuVaOqE+p=S^cx}1l|+!fPF-X00$sw|Z_;y+0kkA%3M`&J3Ynp08$GL(3lY^M8*vFN z1RV3}2BS69k33xct}0TRGUX1e1z}Yai<-~&%Eb)#`ehtNKwd&(L-)NVf`ohz~dvy!vOU-6sw4q z(;1w&dYt^$B`TI^CrO*?VT&Dn*-DG`Lt35NE+!v~5RCcam(>C3L2ms_X2=MsLN0OY zjjmNneP}JFsCuWD6;_J22FgqUD$_G#eLGq)ontO8YbHub?W7o{L2@_eVkOZ?1}%1b z7b^+a6|rktqAbU*5xedsiUqqS>`pIH78}Wkj4_EQ%0r@Y{uC27$Q(Lh4yGqOh-2^? zoe=VN;EhPtk4lnK?3M!Si`SUtG<#HIjs!5vF{(Bqz8||n<|s3gG%lsDx9aEXy4LXc zK{6}msM|-c8tG6uc1`O>f2bRB>nP_hl{hTS9sLfqQOA+hWKsHjy6HIL@JgFrEHX!B zkA8vW2n00ttkKVmWH!b0lIcI#DZ`FstWN$+Fp)4A1f=Ux^2R8`b*5}iCB|C9Rk^n^ zO=NN@FpyX{IZ!7eoI-dTCylTgB%ur0D5olCQf!>%jk?0c@^cXFnyW-%Y=cadtEK5I z>a^&q%Fd0rcTrjq0t**m(u?rs``EjP+dmMg+z=Ybz&g7#Q{L;X*I& zIP}6%H-J$0MbVS{g7r-7!Km7T%t}i8#kodIHU{#=yz~K8?gC-NK$ehuuXM0ZxXMXt ziu%;KM^BeKjsI~Usz3TJ2jVaxm^@9F`K=Gyk5?`(fTOoUn9|HdHQzexMarW~0Z#m& zW@U;beAsix_6HB`KYEOyfG0j!UgjHhy&|27a7Y@BRTY0VoqF&JPa=8nInW8khFWCf zcp_!H*leW!x`w3BuJ=Yrv#H}%26dlRUV{gc%k=%TAxq9i1xLR(!qm}MM%bc_t`x;` z^9ZwK)V19tMqu7uCOygxGmERrG%maFv?Q{8axIQ5U!YKVIf|JTEO+iUCP=SepZ^m$ zW3+UKAHIbFee*ms_&1n4PI5-n$$0Qz*J~mTYjbF17TDlDc(|v~^^7$?SP!)v6*4gL?GLLtHBv{)FwX*ci6u7*Tt#mz8l9OrK)=&Z9J_>EmcJUUb_ISAy(0vjUk( z*1Jz}#)}OQ#)dme%Q)d+4pors#=B`yX=}J;j+h$G@}1j@G}WBAztvx7%2~mRmr&6v z!?8v#Z!aG1=|;}VUp&+FSr49jX6)&sr?)P(H*toa8aUZZ!iNo<_ZaS4|Isfag7Uqe?l(7DC$O8OKJ7Af4k*Ac&r)o!2 zz~a-cmUq`J1A%f_f`8$hc^jDYg7rV;-s?)~0Be3nda4yC6g?)p;j02qBwmwX#w|z` z_38>TxYEI$`D^hDr$NR&5wJ%!UsLrGnifIoUoTN=Edvz9v}&^}wl?L42y49)>DG3{ zDtDsR;g!ACt1rg-lEvNLm2|^7Y{aaCK-WCS(D&QbpvT@1^hnOYxp7$}Z(!~_d1JON zZHPHc@w>P(KpVfS?2J{CaY8ql$po&-6pbwrRCStvQiW!FwN2T9inWq8cB#_&qLOR#mX=g3$R3tDHqD@G!SMh?_b>v5eCH=XwFBmxjsTNzsZV`)&j&&bcBWw!og_ z*-!mtk-{*=sNFfSdGpH@-d&mI8L2OD=Wq7HvQ!ugq|4rJp0q0DkMBVg4Jzj${z`^`xY+JD<#gY7o+`kyRT5M~u)nmIAU+;%&CU)VG zZCHoxD7N)+l=!mTuSuejj|^e4I3Fs0L@av5RH;;pe6{u3&EmB4(+pf|WmwG;mD0sl zR@#K>x75$u%}3{l9+GTz#UyHq1Eq+h>c5gGuyS{Xi=|2X7_$muc=3kH%rvTPe~E!M zJkF^tJh%~9!GMD(LMRKq9Grtr{2&0sSDb0eD>~_Q{_v{(xL~~Dc)^SSHXy~xHR#VW9boL!G}fF9o#}k$YL$3%uMdmynzWa3r(Y2!t4`uJ!k5%wG?`f;M%a zEnGtn^3u7FW8k2wW)WyF#t#cGNnp$0Ul zt2qqS7*;3t@+?XvwXcf%N{;Sxg?gyud6H&b6UbSn}wol9-#s|kMAj3}DzEV@lz`Nn*gJja~Xeu?Ci8!DSQq^v7>4y61IekGdI5uR`w z)PU4j-c^mX>L!M4YfpiNKPIp7>GOAJ?&^13_glRgG<$VeYD>Xv3uxz{=YDJBwS|VC#e?I0 zJ`NtPAMXLz$QSbqg~vFc7k#hrTQiw2^C5t%zC zhtQmPTmZLdf7kat?aQgZVZgZs6k=n68wOY-AyVSPW3vjp4 zOpEkx;1Kpjuxtho>{JF`cSM;A%u!;u>aau5BxMqdf4A86)p0cKIFCqqw5ok?5tEOj zY4f{C2(+*#2Qy;dTp0c`Y_RAqe$edZ-I@KsfKnQFSvq1S8Iu;}h2yF$dt1!eC(6v+ z>h@cqgfdCu(Rl^KqVeu-I^WasPP_Z8ZJq8Nk88qdbK{2U~Nc`|poflFVk z_DZ2A=c@$I9h#9O-OoLbOmZjYdHzHxP?68^HU^V)R2ocu-$~$BcQCN-&o#$sd2x@T^kYU0U4Et z8?OU|LAhro&)!O=?*$X1a%gBzpGt1@+KD+ABO27d#_v#LuHN1&^tCj<@GdBdllL^KtUP<`4-m)W(2+3y{;eFRD(dETa+_T8^P)xB5V@zvvp zh7!bQ8}vSnfl^#gInqiWcccLmDR9UX=-TB-Yd)3B zoJ4d+YHe3C8N+3x5?32%Jdaw(JJL!lI8~xRlg%n~fkHi%8!}6_-|(w+)*6+l+P+2g zI4KDy!>cBVFj%M6(%_y-edss}DdH6@>XX zMgnEzyI&b)qWR6%TuK~ll4mfc1(jyjV7cp>)T*7T)eiod%0Nh6iTsy-N&###CBcp~ zG6{*sZQjQH)sD1iNTH{@g#6jn%F|D@2zqtfy=>q;@uOaUO5e05m`j`X51#a2`Qo)n z|7h)`Ke(0ORF|g&re|d{Bi}y~XttQfPQ~PxrpJiq+bs4lzJFkgAO(nJz4M}}Eykx3 zwwaq7A~J~IW|sCwuxzArnzyzlhkcycr4f4HQ(0R z>-W_EfM>0)pjC6>Z2KDsa5}@3SE~SCHOl$BU0CvL0ai|-34g=y3;p!3xfY9e$>hw# zxQciCooP(K(biv=oZT7O<^vgS;ax?`EWEqc?{Z=m9R6b<8*Yw=RS8D7+e}%bo8=6}p&|Vi z+&;+UY)oaxvc>pHWvD#R34U@wF@1CEaBfyQF|>GULtJcaNGi1kE+VbNXl| z@PZ!sY5=r0tt}vix-VMkYq+dOtF7RNk@(idY*NcUrocl|w=MhKk zKy<1PkA4c2GFtM6wln+sQHs57lmyQSF|v@v_GWTFla-c<)z3Bi>}ByI%$fllsCge9 zb>TI2tmBl;9Itpf9BG}qI0ZBF1Jsn{Go(4Rq{!Y)_E&bH?N~wpu>@xJY=Uc!aFK`w zwhvGbk`+;{>LphL&6a809-L{$JUZW$Sh9o{*>;zOOT&x+j*XG(Q~FgV&Q&5drcSDj zcc{ySsy*w`=XpMt(|?%Db-V@P@~yvvcYHoU=y2UcDQ_+aic1a6{v6(3Hi<_@?sI-f z{Rj;C7(IS|h(Pw!76htOn(N<-WTK#w>w5wSKrZp(-(*C}Z146HpV8hWay?7k-uuzm z{?lq_r|iAIs%5!m2E4T0El`gHtbJ)(jeebf}{a;i6n}~5Y1xa80(sZ8# zN#B=DQK{$J^Q*nVT431zjj3Zvyl|OSwCcQ3^}LTy#U(X}YXQ7lnY+sKlACy{A?f{J zn!lAOMc&AUn+-zo1^xQLB#UeP@G7bdA}uYO+*1R80UL8YNNp+Rg^(cz$1-xJ#q|C% zUL-H36pL#kc#ZhHf9tc-0=pIRR>C=R>L3C9FcjaztO}n_BOp>p@qXn@nJ|c|PB>%2OqOsrQ%JvVmWGpZFG; zun0#N&}D+1U4l>QW9y;gZ*%p@n*$XdbLC?c9{uTTu5mXGQAkVu_tKwuncYG3)92fF(SO!Y=;!6G3}UVyc`^XYC@?- zuy}!KQ?)?TW;XjOX%1Fa!U-AW_~4YGH3SY9<+VWmf55x7U6V?l=kle^5NiK$-gzY7 zo#?4@Vd^f~FT?$<{hF0ATPf?BbOJfeWUuP* z*QTkW@|6Y#_po&M73t9qbf*qi0PA<<%X6N+y`gY=+{~bUx9{xCNCszlr)E>%4r;bq0b_Sf`e230I4qvPVt5!Xmj89}{}nf{#M8d;z3q&Z}|WOdhQwcYE(RL%tY|rk^Tf6uAeO&KL8|lXR0J_X3YR1j=+TUmWG?At;!RUONfv zL}7N2b^Vda2{dr41}Qh1Hv~_;%GtGs|AC>ZK}($}`bkr?*i(M3loB$OyKCBP;?CKK z#5HpNh;3&urF;V|b3hxWks=CQL6l;yE|g0g)IV~yqkR*S4a~vdxCt~v=jS`k(r

    `O98?ext=gB3Kn7Troy1WRM?4Ld31a(5&KhUZbaf9i+~zpy;_ zt@3H)&m1n4KLP$#L5ZdDGX8@BsOv4wm>*>NyTB!0^T6mHNN28Fp`><8dM^FH1;_59 z#M8bCi|OZXd#3AxDlI$9noo(C3=yyRl`74}xwGvdHJkV)Lls|fy^YNNS~k?#9!;@m zFd0hxsO8-L4C_$U1;o>3%{!z;W{#JR3$3!{g-1O1WgZ8?P?Deh%f z`%TtQPmMaFmRlx%)Aap1_txY-?Q6jkbHdmnYW@JMXcKS9EtvMEIJxER<%-oMK4<@u z_q`_X#NC7w%cgdNYQ&|g^kgV6JO(P|Lx`HmuETE?UzL{QV=SOJ#@Pqt%RBH7nd1+B zQN7U`Fn)A^N==&aqZ0Z4C1w6xU6N$F_~S^JxsbF4NO|()V>6tTyxYUL$+FBdXbdv% z_3Q&V12OaOelwpd#h+=3=$U!yP$?pZAp-PSU9l2BW&jCFadmb%>e0A~X7Y^Z8~#D9 z$H{b67g+sg>Ef&@m#UE?+MW*sVrf@dBc>j6n<@7!MUBgaxC$#3Ccn5`TN&&#RNz3# zxr5~9c7s5X553ru7*ZYMx9DwY8Rdiu>HEB^9>uW!>bA6MOr}WlQ{%6{ZsnXS0clw<9<$AO}16;Mdk~tOTU9ZmW#@M&^H-ulIQN(n{;fT z+Rad(Xiv!H*fZ3WB`?EK1y-{8h18aM))Tb!Zn>L}b=_J9!qDCS0?gaPTlTDxP0U2z zHPpWc9n1(tGP5j#l{cNa6|gy{T;2sF;`>&Mp}qH<=x}A6w+8fUL2392^f*tzT~h&> zo`B%~91TFz#ccjleL$syqOe|S3aJln8QEz-h@4FMN(~3P>kBE8=LJbftA&o}TJmBw zr<`+0%E!A3{fTZ#I-O7B0*02Y1Ad10(Da{!3-8mvUmT&cxBMKF@?^ytt;S$1aX&_l zyq-Em%aw(q4-zq{RwrsI_Xvetz|7yx6i;h-1Zq1^T0DDmO6bz<FWWx1aO|wN)l|tV&*HcJ-p%>GzO$T6 z2~CkYEaGaef)1?HaT_VV2W;_j<$EHKfYb zS(^nVE>iGz@S0=h_{T*-7cQlfSEI@mDyIeI9uzV7XUznKdnPERa(2MtK-@KfrDyEs zx`P(ffmJRZG$EnN>4<1l!Z8di9#N=`8pKU)~ynRGE3X6Zv*+xQd}k*$Rq9DiI|55bH&;D>^$_&V)dm*<*#?bvo=3w z>B7uE`R3aME3CG20BF5xCAsep`kj-XQiYev59jwpD}Shn+AMqShZkkK2_i=2aJ2GD z1+_H4PUE8?t{hfsPNxFqY)lavBvr!;>F}Fz2l!Yh=2y(I&5uFuD*(2Xvy zW995))T@$OcFq<9pq+kD+pVUC6^I$8$`zR}?1cH{bUN1S$pnL;#^x%LhmF;PiPw7w)DcsvJMppeZ?nJGgl4X?{5 zyPvXQC*7UE;-}v*OipZrDI|GPC9aZA`gM~fR8>pdrPX`2aYOL`4 zGDRRYm{UN$x(7Ws`*g0o`CHZ@eR-ItssVmyy)b!wPP7e<3;oA}VUmbdo4xyOahcwm zJXJ%XX8E^W<+8lvwJJ}RImR^op=X-|^Z4d<)Nig?WJN&@uZedEIX@7-DZybVM9Je3 zT>O;5$2zJ?iHoo2s6U3e^WEzT*K_W>d>p}$Suap>sWvJZK@4dZfS_wBxn4u{QOTaG zunbbedW(CVRb|E2e^OO5ni3DOIB;J)sHt$Qjc zENUu(GEdp& z*qqVWNZC>79Gwi5daJcj;r&BztEajX4Fe>k$o;GSXWuqG__|$nXHPv!{k0LU z@Rjo158IsOC34!E$Rpj5;uBnpk|3NUdjjPCl3+@6;n5}t^5c;2D$XPEyQ35ynq{1a z(n_I$nJF?!OL9G#QfpGEcc)aMhTtx)E(s7x7bV@0*SGINb@8~HX>u*Z~M8&qxHK25LxV+;RXZ5x@MJ?6O{>=(z^IorgJreE5god$vL@j zAb+wqOlK$(oyu3&uOFERq2U15wbS|rON*kBc8HlY?-*s(OOjn}cjx29Oy&>VY?-`& z_-3DK60q4URK&=PoYDU+tV$)|wlZ|DZaF-wKedv9x3f4y8baa46z%aV%Y7P&Ed^#!h>jH{BXAOJQ|;sz>^%~6M)xG zZk78zc<+;2@TmvlXX}7pNB`slIE?7iLQE5b%Na$@OQzIv&hpgGW`p?Rz{fHly-l8s z&fwe;c8Op7_i44&V3K3kvgx~>JMk*-xpb#4sq-maemFIZR~P6XCVW1jWjDqrX8OGU(faWYoZ1{5@6N8ny;GfU~IqdDZj105Wq`TdH6| zF1Z!m0pNhA+RxnTDB_uIofsj!Ad|vG-$@DfTrzk&<7sNp5ISVkr_}ye5S^NVJk}74 zfFTH0=-&-qma8Hu zNd7HG9;W@D;z5+Nm0IZc8oO$d+pgNP=tKf)Rc}{Wqj%d?g5{*YO=W?;Bv7A5e)> z+5G!#fMQ$$xhw@EV@TEhP-LVT^9JS%2z;Wd1kRJT9gZB2@oewI6!(&xfr@l~%&N7^ z%5_Fley2{Eu0mq#^xsp3TAQO1y}k&&K1XF~xt62KIgf{wtCGza6RpN8!SK{g_Fz!_ zKa##bAc{Ku|9Q{ME($HrJ~|;Kq^W; z-HuXHa=D;aoX2&P*g;XQMt5}a=}@WY@^iNu-Fd|oD%oNr-xuHeV|Hg}=jVIg@8|ve zcs;Mj4|DQ!jD)MJi_ZKFBO$PeHbpx$TL=Ro%b_te)n#{cNt;ey6?W1XPc^deyDy9CVwpP-2herq~6 z8$sn+OghILYh|0dMwCHr5bRmul6<7v#*^~RG*gf^BSome*eQ+!_Z=7F+ra^4bRKE} z=h)~)hdqf7%UMRR@7+^UP>j_C8aO%4U*fz#q)6Bc&X)I3WQHtt8*GU>p%)V|wd=&M zUA&QrKZrtkR|T;LzTv2P!0)R@y?IcJ+MZmgF0$1EM;Wf)Qfpw7C%1<@21V zHYOc_PFtSLQhw5Sh7IHy7V?H4nd3uG{ru#>#CpR_0%H`$T*>K2k8|VTx4TX#ihT1k z*kzw%`Dv%7G)=SwqWH08V!~9~D6-=}Lv_s`!%S-OAIvZAG#!z?hZlV`p7XxVDevkW zQF1{AJaF&3sM)MW)u3|ALhIF=(*8(wBd)4zH|1J|Wclh%xiqocRB5NinrM~B>)Fuy zgW)ExMeNkK7X;QAW<+I8>M5S8yK zo!7kbr=PK-OXoZ!$zt8NQ{i0gxp`iNr&10u&~G|Z`iwn;3!nKa?eA0+Q-M%@?zX}I}$sD+z@!|e`YX`q{fh*kbA3RNF9 ziE=K(JBw(|&B#hLkKB1VM8=5=aV;mVwH+7O?xt`#dHhW~Pz9w1e*py2HVXOn#LQgj z;d{XG&(B_UHGo%~OW1xKQU9+l%^lku4(CgJ*o}Os+G6K?Coqp49z7mUGsyCssYGS= zZRI&K9<8%OV>ePR{A)s0flK1lq@o14noo_TQ}G7`5nXyW)%;E7n+t-v_vWYW!yM5f zP(P--ZHU<9UqLgP$@o>y|Kv9!zU{{7Z%HPPcBAz`=OGHzh_dcKc4(Os8M2IYjhuOV zoIG9Rf>R1^^I?0l8`AF|I7`Q0LoTccmC|kG%jvhhwR6PGOGasw%65wzYhDFm4Vhz9 zckPhF5a-YqDyLuD>4^@3d0;ECQ^{bAT3Rd1*07yrTFIzyHJN>0ZMFGG2TttMdQh38 zt&XFisDzob8Bsa=IId?yQmVNHRWfFi?q|gSWHp{-#eP_6y^_*jtCD$q!V%3)(0!vy-sIklc5>h zqft(;MM_e;MevhUd21PM#M^Q&NIvO$(}M*1_Hb7Ne_#pqrc-_VRFrAY8Q_?ng^T1K zEOVs&_E|WD?!j_}e>x7`qx=E#%cjrz-QFKzL7xLFb4p%+Auf>Rq5NaEELC}(FWN1g zyt!&oW1PAVm#7L8;x~GC<8)QOLMN5m0BoBO%K*wn7uCdo4uuRewiP#)SN^;0Kx?owM5%RA3pIWQCV_AgZ_ zkfJV~v%f@>cd_A>S$fP?9|F-l1@O$wA*3Fi_nSqXb6KW56L&UW5V@ptZ0zFV!|{5~ zmU8dZ{p8cKi6p~Z@l(>b%$1iXpspn6{0b*1a#*VrU+Jh3W2|pCn)z;^AVhMlLD6a* zGPpH||3H(XJ?X%1;Z{2o;t^NvcAfu~LcHv&>9P(ZOP1Y8E&1!lFYf`HNHUA&$z@x9 zweDslZ^buW=!S`j2&3sAXRntI#h#V4K|yLd(SBEB9x`MS)ELirLPYBk6e|<}quJcM zTRv8~Or2d++Xpmzfaeb*Ltbk;drxy0iOmGB-!4v*aJRoaX`|D&`%3R+Yk2=7Rg~y&HkJOqF4Dbo^ zO{;}6g6@Az2U(2#A7l&eGJ3G|i8Xt6T6 z)bN5(oU!Nd8@|x40^NyM5KVZ+_g$}FIRqCckACZ+^j!j~FKZ^X(bj6x1lQVD7%#k` zf&C3Zmz=0};M6I!Db|SCaLtN+8)`xGf%TsTx0~)LBHPWio^1IhY&1VDhhTfkazz52 z^nN^~CqjzT3~z?dpgqie6tViR!p3(QOirDA6s1S%DqNWx=zx&(+7$7o^*f(>=fF;Y zlnNodTjNmEf~G!@CxAi9`xH)7kfC!qUi}00&PX ze55rg&UZW4?52y2n0OkS&dTCIL#YNlKff8~-dv^9c%oW_w)nf9854SMvc{9{R~j7` z{W_GXG0m1d{B>G_yzZ8$SCQ0s6c}}2Ti;&W(9a#*We$+)EWBdxzh^o7=--XCJ5U;79@}e#I7W+g_AfDXB8Aoc7k))J>2u*B+W}bbSEF zP*d;`>+~}F!=`fys_pZ;6VzC_A9Xj%`b;+#(Ow}*-HE*?A8L4=hMEXdgypwrepEg~ zmO<0%9NOEQr0&BWe}8D&BVV5P&$lhOxhS;Ilxkap+terLG27{finkZcR+2h(kHM7C z=&lDY;H#M63WY$P&kw(ufm1Y_jx80N5Pm$A_Bm%Z40d9xYsl%vt+lwdwXi zLM1{VXlozt)XLOqcyS`b)UiBQ{B0hsI`F-nx zBi^SCKkFD9`oQ-6!!mjQgZ*9xE{X4E)`mqFjL`SfOBbniWO|^EMtf4!R6NNSKh8P! zHMNFjfagSCoZ)@QBSw&55#w6kl{tAP))R5r09dhtVP;i;`H_{=jku=eP_CLgm!fXn zbDiooGf)`8PJ7IK9maR%FUxK)Scck^NSwYI=g85JKU8p^u9z@#2fBXgSn-zn3{s2663F}=z&HKF@Y1bbQ z#O_*oU@%H#j;+>v$(+p&ZA%?*9QjVTUi?bWP&4A`98x;(MR3-Rr16(7Y4HMPI=_?$ zUWvrp zl7^el__h^CQgte|aFrd~p%-uSiUA+a(zzW_w73xUc$J(4{8^JL#*-SNzKa)IM^a;$ z>qZnzJC0LTuN8G;U#71L$xYi(aZ5<SqAOU7+btQ)K{xY+ryHX?eJStn9cW{-_&eH!E6f(cMqAwA7^da zVUyU~Dv8NKv)EFqY06cpdzqT>Acdi3o!FShth*!+e`W#tdM@uil{R0M-5Onwfajmfx*2O;2X;l(U0pi6u!pbK9@tOe7> zx)!oFEbZ3X{!}xhQ5tafrMRErNN97yaAf4!^9w)G-~0HB5N*d!hLl|~1%-MLAry4r zY`y=;puW76lhT`4#v%=DEY&}Y&(Nw-}*z*XHuV&*Rp>e5p{O0%;!APKCaFSjc5r=mp?@8#>Nl>G7j0Vb9XP|>Y1*N6N6kmx z-cFAn#gPW+CVdq)zc9P5nW(qKhi!HzR5c-oOd30AUkog5$wqmF`q=|R(Th)iDz7Ur zA6fF9=-m(qIrs`a9megIXVM}z!tw6AQ|rF#TV^af`v!BGmc0BQ?^;{M-pO>^ zmhZf4#jD*5>=3)|(~VoV+0`fatWd|6UeZ1Vc)uhM%psR^8kwQ(c<@Aib}dc6OFo`x zUCHksKmiWlMzODFvqbzvI^|@uwqJ^mpIv3G+B<%sHtWTP=y)I3cbj!U?!Oh(B)*-& zTy8k~5`SzD4GgTLnZCz>^?wp1o&S*m6#YBZy&&(!Nvp{0>s}kncdw0kwumZ^WAE4g zdg;KYix5h&5KMzj$zqPHRYEV z#P{76(azH#7`I+@ReAw;mdKzC3T$5k-*()!GefA1sLhIKI zjh(}MbnJA@foS|Z&XGTst7|lv^^mM{Ex&7S!<*a5MT6m4RDfsH6%lg6$$Eh-FKYl3 ze`#*^8AEi#q~SA1h8!~za{#9EPE>`23;fJ1CQ+lvgkSHps~7KwYS!(MuRxr3Gr58@ zhdU^>X>OQ@6MrG-^|{_V3i%_=|DhEnFkO#w;2Aw{c^fX1wmbm-^V!zWKf;#w8?60o$HL7lhm9oE+)z9 zVu|di9O1Y}UWJl2u%VjY#3eI)oG_Adkrv|Mg9TLEmT@r79Ios6KB^-#f{kTa)8z6; zsGrh5FOX|y1k$=LYl{YcDo^)EI%n#idg9C&>d?R3PrUx4lXKJ8_WSRz@Ao6GvR=C` zLoK|&EL`y9j_7pq0pxOs$$- zET;OGQ$L)$;Wk~R`+8Ou;=!m(JiGj2{bIg9$^oKo5UZ=-SW#>j@AEF4`A2~HT* z{dsd_kT$r>DLY-fzXrY{Y7XAkUO5wN{dI*9^1Xf6HsmvfB0=E7y2g?YXel z5NVpV-fGWKO~Fw$BU2r|52YktDAtRqzA(z;T@0s@O4B?}BtIeWTcj79W`6A99fo(X zRjo>2PHL`>Rb2qqzOF_+Uo8pT5f8pf%HMg%g1TzD5?f}$dsA- z??__7GFp$iB^_mCyXziH37K;Q|A+D&u+GQLhDI>8Mvs$_#!QQA$Q$4_M_z+p!QYW$ zeL-%)>`GDSuT1VoU{B6epSUlX=Vl9ajzsC9#Bcoe0P#JG9)*=9%@8w& z3^5BEV%B=cP~7<|XtK6%9O~_O4*v_Y0;;wO`PDo7&n5iR!1XcmyzTk{yA=1cdkWaa z&TDhUWKGEeA$Qv=S*laygd&PYT@eigQJzfJN@j^S*@MgsALRP6EY;y-t}75afjm}= z(^y;OnHHvC_}Qx6{mg0PCs@+CADy(mEL%--(w$#pU)1Be6cND6c^uJ*x^{&)YCBr5 z635Ba*8U!5H1{x1dzKo7yHuxT?dg@ z&fFBpR;Q{*NZU`Yw{U*075xdRX0yOdvpKZh2|j=vN<1tuk`H1pI8&M) zed-L{DK63lY5A#Y`F1$}i-wfBSf|z&oz}fL>sW!TyCwZ-q_b=r4JK^=W0-Ts&3Oy? zv0b(|+`4^qp{f?{1S5he&P-dk8-b+m(5l>xe|J;cj~5~g3xX9Fb&eJC%uA3M2MT29 zu#)-;g0ClRa&gG1hA8LEotF{ewux}|zEaT(d5n4{_lbd`?RLpv%e!A3)-9dleLIqr z#D1GUu|H9g(bbvSz-nLlBxE3;7kl1IFS-nT^^}H5zLHm>Xy7GWXIHpxU^lKs%IFsm zB^=L(TX@O9xid~A$+cX73=C)E+V6KWHBpI2Zfb4YC;UJoC+3BS8D*4jqJe*mXpJvV z-XwC}<#ae+(r47COBHb=dgggdN_E%WRTATzd7SSTOAcWrkQ{0stiQk@154jW@74LNFgwJwhGW(ok3s~uczXl@Z~iQby8GXZv**wfTeLV|Bc zW%6hZ#Cvo`@q<)T@`WX1~$1z1?vQ+!%EucO*dp#12(doT^YYAJ&^yyeE+;aJ zWaIRMCSUnBbUR(+Y4;2EJ8_7a^0#1%^pWxT$(_AcbFR7%J?^XL<>7q0x9WwK9aE8J zwJMEfn$i6q!JPD>PMA5SmDSy%F!Q2bDB3N~hy|qdCAmQhyUCTKx-IxdKAby2PbHpg z)h$iti(g!LiAF<=&(~=TogH5{>5!e~oJmS5jzFK}5fU67+GqRnUiUAl13|^*Nxnr; zYXtvl)n|jBpn%lvxT&|}XhwHviX~yh;n{XV#C~f-AwQ`4=twPwOCf#B0osZaX4>$( zi7OgV;sE30dH`h(k(GG~B)Tyvv{kI?ABFuqvW|jzHg~o^U)>iY%={Jq*xaUtT*r$- z&VRJ}6(AbkK@M9U8Kn!ixw5PcC@>dV0OvjmEHxu7Q6hs41eMK#2`|rJgW&RVCPMm< z72tqvVoA*{I$xxwh%<&4as1&(Tj~|LIXiXizG=x8V9C8*op>(Tv+C}9g$VIFU$iki zhf_Yei`pK`0660@3WRjkt)qdv-FDTzq}eW4>DSHVt)|g+%A+NqpNCsVUoAun3do6 ziDOSaTa!vNd66t?WV4R-tb(J5r4~I+^Kk0r)_qJ$zC@`n1F55dw@3M8F)}FH5?mHL z4XiCq^w>U(+sQ2s8(J#H^sG_fQH-ZSV_tDpKEEJ!f4xD9P4y}j(KxbsQTbwPYGG-< zAr1uHO7$P?&`_Wnnh=VVD1JLkl#wsJ0@}NYOsSQ{nW~43i4^|;G1tAUIh6JOhSh&9 z$#0IV5EEMer6heC_am1T_V<*h(!r1C+hmM!t}408$E1F)XkDpp+;8yvqyXzU>e4ec z0T!yvpBT+PD)uEv#vDEFd;rC2Uh~3@==xeI%Ca_?*%zc|ApxrrM(A-lat80 z=z&o8lVV-qDYEB_oWdd-NP#xEk||9kt&eO<6y#b)|BmvNGE-7Lr|DSD>$%v*dhSg( z$nhA6wM@aroIBoRQ;j8=v@Z^iE&q?Zf?Jr8DdP6$A8r0|A<|5VaCSx;D>%~6qexuD z%h^iNBIZ)DY$-_^qeeJ~tPhVG{Sn?aPtx z*_TZN`EzH(Lj0)_!~{Jr=rkII=gaS7RjzcLBF*Xw5mz!zdH6{dwnn1bP7Re-L^gy% zOByw>iGx$Z{?(|*vUQ<4bNAf-7$Ifl!Dm*dWOIYz9y6z2#-g3ja@O?$_;Yl=W*@I+xF4eczrqbAe@B1YlJRrQU2~s_!;wS88%fWW(w3_Pa!5G3kq;KnXS>VMH(~Dg9!lUZ@SV zXKxemhHnJF9G_TN4AVPkt}y$MHp4jy+zC2~l*TX$lL1hitfIX06>Ef;9RV7LP!kcv z)s>AvRSq$&o~Fdz(?m>HB64}l5E5-3{0nx~j*tBWv^C`z`Mfv=>-t zj?m@fgDXvB$WSugcME~-8VkjV7LSFnkO7mjrjD$#R;;dC`53g*K!e^}DyZ{zQ9#gLtdeJ>xw$?_ zq~-&u0U^yf9bqQ&Mq@E~<(ap?BDJl+q#oOWGKIjLwgGT-pYzI{@a6u>y%AqW*C-Fk z`b(-XPLUSl?2>lwBxpxC~xmcx?#y?wueu znoyb(KMFj-*#ZL0nN4V);qUUd;Oym#OiS{%mk8v|Y;#FAAJ@T!S3SpCTdC%H8m^Sz zL5mh~N`xjA6AcIc?-*%SbFEqZkvkR{{~inkEI98@30)f@>?w3SYF5S z8kXN+8IBVV&B_#P2VML3V{I7Z3YTncb5*ZW z;EGknwZ#2BRh2K`ud6ivk{dS{D{C!WP5oOkT$8<=_((68A)=1R{^-OBGgWb#!yD~D z&b9skZV+c9A}nL3%0nw?;Cpv|?+XMqvT7p1xL~Yb9PRE^D5z0& z=yT)j={j0u{0gGPL6@|4jmofixAH5-h=YCfq{!SeEz>a*t znryyJ6KdwfRLtJyG^VTO#bgUbTPzfj&`Nbxd_QmyrFTV4YD6QL2Bbh?cnWD78e~M} zE?2i3Q~Td@bwb<(t5rLIJ1L$@|J)x|)^X0~iUMJ~v$^@Ha6_PG z6OH_jAu??>E**=}8WX0cB*E-1L}mm-+NUloLjqJg#F)?A4V+>SpPgkPj+?@y=MB#! zXHyTwf9BRQ<-iRft#s5g@3Sh9z?uxoi47t7KcOoZAyAC7G&Lxw%v~-qO^C z%Hxq#D+}bg#CIavm$((e0;BSH7|0)>|GGGxoO^ESVe1HUd`r@&B)=f9X@OTmLl$ze z5GvKQ+`$(=vP8R;PPjNfZ7lF!e=#JPYCl5Sn>E~@o7m54^C4vuN11!dFm8X|z!J7~ zv3+uGBgi!>N)CS`CP~e9{7!hmTL5DLOUcdEsS1eib_vltEFFJ#yYN zU^?g(P28Y0%DzY=vg+quZaQUi58Ys(@p`Iy&Suq*YiU;NNVK!knyk zedOd>+yUYrqP zoor#^UkpOsMVA7GmWm7dORPR|Q>T`4eH?-NBGH&pzJt8)pKx>vIoXmf9?CdB%}s^7 z(Y)IQIoArOTcr?Z+(uk219oG(xk>^HAI56H6#(;v*`m zqlu;RiA#w&)t3QL(WL4~Z;6)|Pw{HY4)=L<%tEj@1lSQL$&Xhdnp#NoxP7s_jWpj* ze3*U^)r^^~KsWI-jsMwnvFe&$uT{(`00qsz`Dj)aCiYJ6VtGC0zLa%h}dh?qqG7xrW9@4nO&2Yt~ALl@2^vuD7RD_sgUFssz*6#{gMj!32n$v z%9-C|q7dGxs5a7w3aWHuw82N(@U>8*cWs92((SfG!1RrCo}K6#Ybg3`Ii3BGT9I!# zVOp7!Ov;4we{j{7u*kYSmiNcT%rkXamCf6sHAYr1mpF6Ya*6t;IHBi>sFB+!%oS@) zNJ-e3$aLXbwAKqFm@M4wJ&6PUnKTl1QlMS(r@FIC`{h98omH<@#Z|5$QAu2L^K6sjFGc3 zz^7B)uQd{vXb#*<5pB_l0}Zhn*8dM_Wr9#J1>s{xPDqwn&W(jdC;^;m)62Opp&v#| z(W$NV{zHh&aR{FH3*=n?`V2q%bGeIFtNzH=aF`8#AQ~v7>_!CnCGVdvh6?dJ&ZPj* zh;G}-kXpcPB0)QKdUvOjLJQ0;{! zc3R}MW176sHKkccwaPk{i`2i8%X|01nqsQIX3rE`O`AH)z%vi6_Qe<01`Bj09*&*z z;qMOD6cDy|gz`DRC?%RpQM}m!hN)jHagiT*-v*lX9*U zi|;?-J09PE87-=m60!10;Lqe+=8}?-=3|$rKf-#gafD0SaINj!6kQiw`O~$=lD3nX zdq60)9^y_U-#d|OgIf==Q}Q7n9JKZ7#saXdbF&eKc%8+x8vTFg(%{NGBCKs)39>m+ zZsQhw-2ER}!87%TOhqu{rCXyY*SsXSvTZdP=U}w$v+a+I#Lk1fL;3iC@ ze?#o~3n1!_BI&dJ6*lpav8?nyw~R-Vj*drhE!<^oemJQ<0HgMyneN2;PPCJ|jKRt` z@x$NH;l<)hzHDke=8ak#Jcc3V>q;TRg1Q@GefVx|=|X0Pj9|qKXgt zHuS6ZOq1XKjcYO5A4k>pZTPsuqhk zc&@WYF4&Wz>5>HMD@X!_Mb}zRX|_xJc4~a30z>!&WQ7e~ew#V@mx>ilV{m2 z#HueyVIM569hZuZ59rz@;=04Mo>lqw--KrSzc2}7klm+ z?fOK{RbU3?qbaxP3kpRgj!#IZ!>{{fAi_B4rziCn1VfxzYuN5MW#D}O>uQ9&^plx{ zKYRQDnG@xvJw^2&i;Kb2BaEGeL_kegO|?bf6XEqqd(MO_Mz;gUB~m|CU>0}m z*1MsOk^xTp!g;uWOr~%djtUv^De43qL3yLzWYgt)Dg8_bkJ?vOdMPysfe z8F#VGzOe+x<9V)K1dUyJ!c>%S#K$c#9*ZO_a%!c1ZSXh7!ZXLf1tt5~sk4jT+$?<> z$N3nL?)>23C`Xz-1%dqBZ4`aK)pN5QcbG=vkL8?0$njucJR3CW0bb}gDJIyLySUf~EL!)u*AK>>3G0oL5;G;OjY9Msxj89G zR2D|Z^zS3^?EC{+)H;d131xZCCOxndFnqW71^Q4P}-zLRiZQzx?vZ4cK-Z9>ZO4fkomKZS$XVNjdG+8O7@T$(7rE zH@Ow#(Gcn@zX?3YOzlZ*b1#RDCjeJePe$E^hYfODJa2wM)ObUsrqg3K>&I2*%f^|} zOg4So+$ZR45@t-RiS#Y}_*kMX9NW519z1>M*e(r%HUQ&%>K< z=Z6=_$Do}fykEc}N2<4XBeH<*S~F2;CUi}bT(JkVE#7C=M-y-lgs(67$>e7)!7$f*XEltMMoQI^*;Ri|`aJ zVSZxiYo>XxD8u+M*z3~s{j9f|cNxV#JC}bB?V{f~uiJQetF5;qR6Hg}l2T3n_gw|` zT9q55{9erE{_S#>TBsk;R6G}rh-M&hQ=Ep@ic&3UO&mVMAj5mxNdsyVjk&*gWL zPDk|Z@h5x^i?xAjYoME#X4%dNZY5*qd7*g)InKm>bxxhGar?z3|__Zqbc zw3qG1h62j{P<%w{J5ptlvk|l?CEnX4eqL|3E>wVO_ib;>pb4FgTc|K{Gx3~|a}MnN z);_I@l6$$09F4#cxWKENq+F|CP~pxoM&|vLuKbC5Y4P&8sv0qCxY+Q13mpw+`$t-h zNcnv{;Ezn^*jePQofS;N^mo6iL!@ZUJg)1v8tACw^~q~<^|Ut8t;y}a95TBs-wY5~ zS|F=SQ1z!a2DIwcUrhD%c};EF8S**Q{5j8SobLxs8kM+0)bD>Wa?<4nxX0u$mZZh2 zXYMRxv8A)qA!qwVZz);Uc=sB@#a~N(`JS7Mu{omcRB10~>x}g>&1iz5bkx4c=z4{l z>=gR6Iz`LnJqG=?SWAkQ%42ApNvYcpZ!?h3fXYFW_lPEVO((lGsAyOjR{Z)+0$%e7 z2Py&^XEt;9qwLMhPo?G;onr!xS~hg;dmAkbGmM$bI8zurwG|x#qGx?Y=p1j;%)d*i z&FcK9#GRv7L<$LA)ElB&p&(blQOIdQrL@K-u zCWB9RPaO7guk-0_6}RCRLIpE!kZ_A2<&G`*FCllrEf&qfK@X$xXKZq*oGy0yZ!o+~ z%hFR#MfyA5n)yAR;1OuT%G+gOYe@#6AdGiE1LwEt+!XihJawVt7f48uLOndqG8-!@ zU6xLgI0VI>sHKlQu@T91o!gL1#=j;=RxfLNv_Pl6Q9HC8(>a?h#+aLFpS7BPF*Q9p z&!MeayLIY&o2U(*lHg!SM<3ulPt&kY{i%GuP+5r>s_w6K{!S1!GYfnv>+>eB!F6Jv zp1d~w9CN|zX+o8jP&EeTNJFakD;#w4nVV+L^>EgN$5KLc)()t*7TPQg{l+f zdabyiG{LB!wiwS{SS^iKdPpfGqcA5sZ4OiWxY%%TN`(KV-2Hnopg&H*jKZ-n^+SR234a+&rLu6-UWJ9-^2Q{fG^x=a_Po2~q%d@P)2HZW$tkzHlJew% z>Ew~Z9C_eM`6|R`luZr!1HK*k1A#;2NMNH>5)4<{%R9c6cY$+j@+SYzy}RRhJgr-n z_V{xPXVIiNbRzud4mPm!DZ{2+>*RzK(cfC=!ae1O7RUQe#F<7|{7x9L4G1b@YYxdL zLH%+eO5P1@7Hkkdt3?sq#0EBSm@7mn8O3XYyGijSF;#$z0lHXHo_XUa^W+coQb~?p zttodOb3^lb;4lq7kMKN-O%#kOXJ2C}UwBI7$D7cvT*YF6FBx@hc=Ow~gR7f|t%%!S zWX*h7674b1#z|Wc65{JFKp|7E-#SJL-7$_JL6s?&$OM-QE`^sW(4&(Y;M(( zMMI+|x7D{&ZL&3&Nx8Xo5$a_yLih^M`8_{zHKkI;qEanitg!}Gj-`wLP9elRXFvhd zCs9~KW+Ysmt&yV5U0(r}Z<~%%wlK*+vv-l6c%MH>t8MvDp*KlcztxTuy z(9DuaE{!nzdbyI62=&~Z#T)3XMvV8|YR8c6on;c)TO(9Q0X1mJ{NWQ!k7p@Bpu^}Z zBg=Fda=jwdkMG1d%p*I(Yu7sJFqQkuNO47~A7FdmVaB_Ojo)FDbAe1;hf7y$O>We9 zRKUm*TxGlUS|B2FLTh+0CF5V78u76IFP(|OUL0Nl;cHpjn`~0QDFKWaeRAp^ z)*mAE$#Pf0F3o zz_pEWHA0v-qOg!tuQb5uCy|7W?nt#UGCtTM7@K>^Fq(6p-LhCs3z6O{8RfP0Sx@J~ zI98rw13_(|G)g^=&in}Ouj#3L^BzN1ijY4VrH0LJm%2*CPpo5e^a&g1@wf!9#z7oq zO%YW)&~-QoahO4INyS%z?E; zSj_N@u}!05K6Hmsdqgd#Rjuu!+A!R(5jY;iW)dRqZVFLOU)v}}M3s^e8yUSjJ%y-K{S4?Xq|ALS9sN=Ul`25mQIu0r`tO%s#9Ch$xUt{sp(-+Yp=@(j96TAcIzXf2jf^B z8yM5x4$1oAT;Pi7_fBmIkyibcpHXRMq&p08A@9yN1ZMkqqeY)|LTLW$X8iq!jR^r^ zMdS7U?!|l=xwhlzg5C|yIG9F_>b_EvYfNfE_v40DV_Pz^ z`sO-br<~WsbJAABYR3+-#NRDUm~6b*QA2rF!H)u@O;PPH8Elz3Q$MG7#!`C}wMS43 zye$!8AElwskJHOdm>BNo)%A zfM&IHYt^efLctwo)wT6P==`b>trl<1`C@+69jz8^9qHmQ;U}lr1JP;%ms+sZyi9Df zykULK(I+lRE_3@CX3Jty>tfWMB{8aFYmuMn*R;*vjzT94m{afnxrSrZw5?}1=PRe{ z$^%hsq>6eDSs&dvxt!|XvTszl?kXNrW`DH_!3cy-a@{fbj=^^vn8f0cq9naDH#V68 zC}4Anl&a)~iZPajoKz7u%S*?8oAZC#el4Q2f>#%-R=f}!D)kIDwqD~( z$)M}Yg{&)`jZ>eRb%sQL?B`e4Y`lb_U+ z?PKI@k5}IU+|!ky`oc{Q>KN{9Nz=a%S5D8kLM8gRKf?CuhAEvOG+ZQ9LhVgK`~MJW44#Nv zOm~P^M3#<>WIw$)vPkVKgUrjEVliGnR|syW{6Xf_C8|fJ$={u*evFy}oj5_Ixx`hJ zrZ#V=iDUZD?A}iW`LBkXr)ylkCmIKsquqs`(68ye+ig&-_3ogDWGC*aDw+}qMg8(z z(ZCtlZrmVi#B=TkJ1-=vdvMvVC-SSV+t>938`wsc2lfoI^u&6mWU{k=&B8QsmiDGd z>Wi2g8p_PTkb8BWH8>|8q5e zPW0cLZtaz3%QeX)`z5u>ybCVD&-GSS!HJV_>{AGG6!%%x$6REcu(?Si=SZVly*7305arm^aTmD;ZR*CW zuJVu^Dh}Gz;v6c%4(Hq=+BnscG`=?(4S}KN0^fmKS0|`pKb}7+3a~H4BNVI z3szApRUUg3YAhRmoW@TX|KcGwy`kWK2>wYO7#*c^m9N}JZN5BWWyhXhtzK%O-BpX# zFL6#E0#eO)mi=+d-2S^QpbA-{o}NJx(hx8B`J~2h(iD|1QA_Pq)V@UhlbwtT=p7hx z%8JI9s6}?#kg!yJ2l|*<=cb&cY96-uma1>q344Xu>E-~~Ed8`5MeV{)^T{$r)hTK+ z_UcVhUz*<}U{f$f1t4yN^E&nU`Ar;-Yq(C;S99`p>Qgf{+Hh!h45_b^*QvK}@l~;A z?vb(^)gO?NRmDrQNmc%&*iQjgI<_R$mBm~UrrVrx#uY(5c{I(*cx=C(vL-Zs@SaRH z;OA$Maxzec+N4!m(n5@xz+vuuk(tlt`{P*uzk z4GxwBQ5lcg?M_wm;q3oxkg`7e3~~E-LmpYL-0Ha~X88>yHIT<>yX`iw=1}J$rhffT zqyeu)H9=vS8oH(LS#NI_T;Ntut~ymrX=FR}&zz4XH(%|XcQI~3{}|KjCP@10t^QbE z&o|{QQ>QU|`h(9IPQgCxU8c5V%im#3HOc38q(ekVUsHgkwE{Gn|~V6a&-bb zObWLn!>+b;Qm{O1=3L!r>P)bO*P6L9N~A1pGHn&FSEqs=&?@|G=|k5>dAs|1wc#o9 z&uSH|e7$-;IAsb!DMQP0_5WaZ$YzAsm#gE!!#1rM@%>+yoxxTZzb@Sh^^@S32K$zj zuTVbk&fM9mDH_jJZ6Yf!wW~dDbT7NQ z0J5RSt{(CeU=a>S2RAKbE>K_1A=?eJIU2f9VJSzgxS(BqF*wGXGO)J-$6z()I=;*Y zF=D7^`3dRjbM=gKhk+oJ9N|m4ZgqvyNL-N{%`wd{ITzv7h^TBNP$_8uzB)=<``7c{bxp;q`d(N&_k0wa;-kcOd_*S6N9mvaFz2tLvx4RK-B7JE)s?}%Uxsy4ybDWYH|U!A zZUTgaVnVtpf7Du^*-gfM-DJk5CD%50lgZl+VACe9>{Z_?^~z>Q={tc~5l~g3(uY3P zv}us11|eU;5OE zTGz-g;LRzF9qoJl`MxtKs?H)z6nv>#^nkWC8m$3@^QHU2$`j?S*3L z*7U9qm?woAV4p|3WPM^VP~H_?EOO##xz+mo=59Uf{Vl2w{M&Hrbeq^%y$%8FsT1w& zp6z~2r%(3ltqq&|_2Ov1-W059QLZ53HIAopER|#b(G_p%1eLr z=v|dDNXBvs_U%j^;^n|Q^YRHd)Q*;4|^4E7F=mJP;?~jXC4YEzc=q=MdwQ(CLQrPEkNo&>LtoMa-gPgol{Y&XE$B#_P)j8^&;~NWM4J@-T zxBoSVdhW_p2nu3~zS&7+$3I=LN5uPsjEuU7+!+d{FoSZAsiM!Dl*0CJ5$|&cy39?qs zt*p9gEE$DIMWc{DSA8Bgi#~jTN=r6EI44Aul;*0tON9@v&-}4QqxpXveS1J0)%E|m zGqcMA3(P)v1Tf4_2q6TM<&gvohS_CfP*9hLhA1}6L!|~Q38+M=SqMfHYIhSfG@)i8 zL?hCQN|d#<*+jHasbWHvT3R;|D^by}(Rir$!P*ZFFHp+m`t|FJWe zu3Mxax5tUJdyc+^7bk|f#nkj7pblj5>~>Uxw;R-hLB%%amP^NPl0CCS>DxTGbzdrz zV@u<0l$lND^*%1xc@FlQ-j4*-fky(Ys);+|fDOI(bbBWzOKc2eG2)<{%GbXpR zS?@f@26APAgV^kRK+j2}f?j@Yx=siO&M|DXh!Yl}wTGme-;a<;EjI?oQ@Mz}Vh*ii z>G8y|@(*4LnVkF4k`B($JH1`nUC-%6= zep|7hd3Gl=nvTdvyC#K-7diLcC4<*{E}$qLU2HvfXTkI?v-4a}8#B%j^Kj{sHY%f; zInP071<1TRn2nK%ngK#ipn+TE=5v|E$1omdMKkCiSv*l|7XD@;201}2waKZajpS=S z$C7UrfGPmF4>bUp=_z(~uVSh;3?1nfU8l&c2l_FU3|s?6^BzKb`h-S~wW3*x#N5u0 zq9s5E9oS@SmDm!oRbxxSb|1E6Y&Fo_)SIp)Bt}W1s-00)8!hJm$%C8pB3i3d4*JGk& z{H-(Gskda2w_;kz%OP*>j8I&Kft)z}+KL5yp;Dp|)h-@`c%PA<5yV#i<9QgvN3mJPplYBHg~}t9v%=l$N*Cx@8*28!22Pj z=BV&v#K^T@h^*_?KuR_$6!7kMp-v01h1onJyjr%PR-DC5WDA@}<7O^y;rJNuW*(zk zT_@~eXAzDyvhrnth+I*&}pv3tShsAjIIDQCw*esEh72vncH8BzfwpKS+0> z`(<@kfpQ^&hPt;XoQ8^GFu~&F{D|apb`HPF!yC=vG^9y&w%{MUn6CLl0j^#Sa##LG zS-2QRCmoea_FU5z(|;)WHjxJRiJSd=AR=DxsDwXhKV-Z)OkaWG07y_OAz`^50ikT0 ziDuiHD}Dry4|`9PR#+8pMZX0xj``Bl4giu&IIyChWy8z*dkg+LTfhYJB7PswszXvq zDeryISU~j^+BjA=fw+oO@evcL>i;7KH#z| zP}9fJi~a9ep?_9<#Chmg#YZ5ze-FQX;Gn3F98~4_0JIqAjLdWcFECfdvk+tF01h*T zra6P%b|QLG|EGyvqZQ9mcGVd!d+(d%?LKC&e1@`j3`^9#DeWQv&uj6-`u}*2=zclK zg?BsX>_?gyv+WH8pl4VS@M7Pd?%b-zXtYyA;!UjLbxebxnA*}nke3JkW;$Ov&k4$& zC-W&o1(L;@$-Aj-wJ*zdz6u5JOcII@dTtwcFrBF;uH@@{gkqGoZGqsrqACd3BmxB+ zwyzP~Nni;(CF=MBnax}5sBIjUp$!diTS3V9H4w#LYtF=eh2Lr#+NgRB4ARoVA=sMA z)U#qiD>?6lG@gM|6ck!5P3lOlQ>}}Q`Rh)C4#x5EWCn?HJe_%u)amab!#fE_&kvaC z6B_f=*yf5Lgjv?n*anv*T$kZrgOM_Hpcn`=s%%s@UkC+H1N@2}wccSQgeQV(G<-Qp zJ;Lk*nC9gw;lvZv8cd5Wv1R@_>Tb|w8GrFfwiSa-#`KmEAk&fqGhA*}THlm1Jelhc zw4!ZKkoz}FZEJ1kpz{w2P)zBpO7MhI-OZ%o!HF8+ zq457WWpw35ES5Mgp3+#3A`wGeC})~;n&`T8%;W4@1UgCgs4>{=EDlc&QCgu3CGWRD zP#YRF>du>~50vs520=Q6t0%p^WLpzF`h;HSTW@1xY)1EAlZeaFSWFjNi>2U9fp!6I zqKqdiOY1gDO?&EZrcMKlva*oKVq0(y4pM?er7+37v}z+nwbVDBueq6wT0RY{cHvFb z@JSIe^mNvNa8q2#7>N$7sUA$i_)w9R-REPC8+nMFie$>j8&qE+Av^=M$kR==YP|`$ zDq`qeeDk?xzA#v)blek3eFv!45v^WqA_UsIZ*(RZn`3?8&Y#jcz?yud#Oc{}S;e() zfzS0Is1Ub8W3iy?dbA!v?$M4Q=|ecylSSF@K{a=3r2WVts+TSVwcW&Nz6U0as^3bZ zd8_fyfII!s(3-hL-)i5Q=G0K#6T6*wBh6Wgmh5;Z4$TSv0&B7S7(;^!c}2#2>CP=W z0S7gWhhLW^f|d{>T=Bf705*r4!j|2qwkGCTsh8*Or*Gd~&X%pj7hFu@m7p^jfv9431emY3R4Ge3ANj;Lakh2y}1)KYPu zpj?(toDoZn4^f|>6K5@wuydsGGOxz9)X)jv!}GpalQ`TemKQwzltB8YAf~}a(>Y2x zbXp7KkQEIJ&`^B0Tq2EdBoB9TFYd%c6dK^`aH(sWjqTv=7EG0L#>o^v7#>RM@i)Sg zH=M+yzJ={?oek2(py`GHf9?k?^)YBJyFlgs3fZe~#w#>*##|nAWI`Qa{!rR*0Z?}n zzMC+i%k;v`39-2`M<3%6P*VkEvvuYr&*hp1i)rTZ^O;4(!SfrOsy?zD#~F$)K)AhL z02L(Mq6J%ysPt>7wB{GPJT_$yW!W^KsBk%B3Cc0vjgCY!%pKPev8XeKx^G(FqH@kM zpAF@!65-L>E6FtDxSNCA=tX~f=6+UZYVYA_;Vs|NCu(w^ zl$jfKPA{3hbG*J0_Q(WFQ#&>+@=dcUcN~Unp9oH!my0>-LG*QMrPSQO+mVT~fp3b~ zWo|yl5$CmW=<)F_GF!6WQ~395MKZ({PF@qTbswcOmw599sO&=`Yl;xG6eNY19FZN6 z8g1WzvnZ-%g3{r6Gg4%;kl$wHtJot*m6( ziXb=Tu=`>$c%6KW-gXyHA!TH_D;J9+6Ka@g>1Yi(4~J3ak6Hqor1JaIfxvZQAuP)og$r)kR7#vI6Q38o+K+QVFT!)Y6R?`56DT@GL*C zWpgaTsN&WMadQlHQ($`uj3Z`M9bv8hgCfG!M%G3)Kp#0RFW6;5|EQZr{ckO=<&&xc;+34v{IW2d~ zr%#9_S}x;MF`Li_R8gqe6bF~UohsVU%r&2jM)%f`{ePU|H4O#TaV+Fvl*2?JgDFr( z$Myb*zCHO^yng>rb&#(;24-VsKOYx=Ts$(*UgObuRp_}DIg}Nq@aV8f=Ba{e#iO@! zvnClg9xa?jgvx7p7_0hBP0=0bo5gFk#RjzOAm^t~u#y-&*z7-r>1#;ZQAdRF=bG@w zWu9u>(NTfY6fW~VB$!X1B7oQ@%V{!{W;Yq6((TS;E696k3w7pfmwMM|o27)Ej?a}@ z0O6%`qTo~Ufvpia{|vSmMnNPKpXR#RJD#JIk$Xe;>7vIR^O2gq4@9rB)p?yjonIh1 zy!ufZ{=n6TsnT-bW^ZfRExh1V9!J5i>OHI}&yEjHVe#(QP;ni*a~;;5&V~dwbG>;` zV%qyn5RGl7DRun&rlYs^{YwnQzc1Mfd?5dSUP2vD1I=#NKkvNGGH7zCXUz=he}!sy zG7@oE!%vXX2!s6UR?rrdt(Tt+s`;Cs6ot*%oX9FLL9REC=aCp>)+Ur_LTL2PB_`pc z3G~hvcoWK_S_%sP!s&#vo#`7LoJ&pdwP_7{a)y@h<4+Y|=z2(gaw)M=^i5uO0N+WY zaaY|s_=;$7g)%?qOi1VThl?vX@|!%n`)=jSnf_tl*V1~wF=wUzaI#*2KcZZHD{!dM zg&Q@~)(UiH%j@~WAY5>g@2~nb+CPiu#z;;?nud`t`?G4CS&aSn2l*e;4b5#gqlREp zM%Xy~fT3>r=5ZFiW}Hb=w~WtH-xEbKC5{8Z{wjHS(A0JEZ-vwc4P4h*IOa&&XcBKV zCbA9%5Fj4!HjI+=I`(qs;Kke z>$dFXH*MLZ?I%MtY@ ziXp`yzy_PptNMN|vM~=Q3QSv~9youqv-r9tPhGIR+?Uw&v-4l^TtCL8aCN)8hT#ast92D?8lw8yiu<>3e;YHe`6blK?EK(PByHi~?6x`Xn=#4AI& zIcROZ*q*DQOLGk!gLMB3-}6HM&uP{2azXTr$FdwLz=ybBDqK3W8J1n;>uuhOP5I}u z&PW&J&M-;IZu_Ous0PbYRmDC)%bqkg>5r9GNUD@vGjbR6i3aWt0Hhh>?nDb~(83wD zk_~yc5lX0Ixl-w9Ek2uT_v@(igjTl?`Hl)QP~;c{S`6bszFnqRD)ogc*{4Ax{3l0> z<8_U9d`@dhR@&-mG2eWeT-73EWJTd8c0(_!%Tvi-MfsKfxtlNbJN8FL(j_z!qjHvZR{O%ODp(pW8EgVse#<1jrvUF@c5s%_@a#(`Xnmro-8W=!<7>Uy7lDYNe zqFm5ENaNEwX$T_kerxuaz?xQ=?zc8-jBvId6B5#Ua1|$M?BI2P*EmiO?7K6J15$o@ z3}rYe1|ZpM{1y_nc<|ZeZ>WX{D5Jc#4Lv)N=ZwwZ!Uj?Z1FS3^j&(Y;CpMrwQ+9Q@ z-LsR+-Z2*y;BuPI^E_*>2;_OCpNOrSxH3X$ar*F{E#`yHiQh>j3s_j~BM+I762<#P?o}Jx}h{>)R!PR+LaGq z=UgB2Tt=PYZ!Y97c5bZXkw^K*qs0n|an*1FQc)KIJWqnSD5=7g-(7OE68~#rT%)H@NN&L2YZh`FD$%13mE3Z0fw(meBFk;1b9@9 zze)YsW$qPz7ej(^6r_sdqYdqmWwx7XRFn8ezEceg*tL?c7UXC$S}PyNJw`Eqfx=;( zP;$2YmIp7-1TY=L!8%J{5X%ap#a||6t2Du;->Ax}T_@kdWq4esyrS}pO3O|UgGZqXNN ze^wdV! z#v+pcgTD!pHWroiEj}Ik5`EVo(t4kb?fwYn{b{wLc{UB#s%a-X3ka)d7qZJr$@R4N z5WxLi&)c%QLVZnGrVocI3(o~93qyA(&=@+CU#9qVEX$-{+1>40NzURde)!0;`IW`U zSZ!RHA-4edVyuF79;)db4`PpxKWq~|HAcMI)0ip_nT@+pIy7GZ<}G6 z>xH zpt=}>A}38jB^M!Mtyt=<8X+a~Z!Q_MfmVo_3));!Z~U!;rC1e~5<~KZ*sf|t;z5z5 zal$%JG4b#xzHk2_iQJB9aISp`EK0uwhgsG-!FG@M>U0~gxs9?^mPe6TL0qv-bXVRo zk)#MH=2G|Mt`#h4`2{}CalHv_y{}VkOGM+-Y9X^#V|$HSo0T81%yoXF8LDy`;Jler zQ|IifRQk<|$wlWCcw5#}O!K+nP9=>`cGtEkAcVbBv&vi}&8L#$Q`5rOh21a^^qzH! zUxZaycA2#<>a&_&mV4I?wDn?H>XeYQ;#o7wDMpT5bL9ICx5+IxmYt_@(LG#QdHpT0 zLDndL>XncbWHKN&7LgUCm}ptLHcB={Oif(op)zJGEM~(#oLPYd(4p;PX(r$$NUqQ( zBZ*AB=4g|K)@jW^jRxN`(2rfn`=i=0rU^6KXgHNKtTuaTl1dH&S9eFwM@kHy2k4yo zN;*<+|4gU0KL?Eqw!4gbxhVPuQY&C%QkQO=e{TNfr9=1fAQGZ1kW#RlaBkx!GL(*Z~hCA=&ir+s-0Z!0wbZ?u(JN6#Z~5nUc2VtYv1q?UX{D zQ)dmIbj5335pZIb|99Q*3hGF>)2DG;C4i*2*U^CxTnkG?@kf0hi3@Y~knuI)L$4zq zMKKQ<+;wp8u4{UkYoJ{hS3?jvf?dISsVzp{^>jl}x=T(0jZGH`E{b07BKco8b)tl? zC~>0kYiYUOL)>D$qq*3M{891cl1epVJW?Iky&C)GquJCBy~f!tSE%FvEj!f40qMCV zFm3orBjrZKa3OaRI$52=qC)@|_`^*x9A7wm{%W*i5W0q7JX-n48P2_7Y4$4``|HIF z5P3`h#$E~<8izdG=}eehKkwwC+ncHgvGkPIBNbM1FP#a>|ImI2Xri}Lql)o%etXOK zy8Dh`=pRxeP6xhj`MFy}-gywee1V}>*7Mq@$iP3v3A-$dOU}P59oW%C$}{*U-p0yb z&BCm7y&y8*o=plFQy<@uLh97VY1Uu}h23c6c5#X5GbwoD7DptE!Q!R(Qf_QJ)!Jo+ zLyq&AWD1wKq~GN?Fze3{zV5hDjM5mGg7N#ygA+)}MdEelrh)Esq&~Pf{Yr!izZJ^` zxW(q@#5WPQu*aGf^HL2Kw#a)+_dr7=EzgEt;TrEGr9gJ1)M&y_91YLW3zDJt%_n|& z{va3C?zpSmK|l`A1s9d;-H+yH#Y*~=$uI@582{vnq- z>+eDy$K8h5an9&7Q(cF_y)A#~kgc3G{gcOIh_>3GGBPPf?L|QdmO7RuFLLH`*(sNm zI$7EJd7`NHiCDwyT2llqQRvJcFlqbl<{N%3d9RjoK_1Er7~SijG?l$XeVwv1y>6M( z4ALzZNk3omPa?aY=C-HBLYg-Qgyo1?r6>zlqjF$HGR*Jk#}4G*ElC)!64wtU-1D;3 zygap;j1N{kalnJhMUFYLfd=F81Mma2k23OHN2ygbQ*LC&gvNR%@`ZC}V08*1h&OyJ$CxFLt^2TV9R zCj{CSvyoo3@3YHBOp(4?QR<4XmoDX&!NJ}gzx8MoJY4sLNDXXcfoqHmo)hj=LfvO9 zb3)QzwmSLyp4fsJEY$SUa6g$jHu<_9;Raps2~pjpqO!X={B`|CYB}8a9Nd+p{kxdg zF-Bcxnot!BEwL+v#rH(hyh<;4&Xcf)>MEa>P;b!zOvB(_y`j&gyD*q4@hKf#+Ob@+ z7Z_$xv1+ac3$f0aNGmTc&CZBkpzV{@pvKWxj9wHM{G~MXs=DpYa3Kh2DdjX~XT!~W zwU4!8xk$aXCiv7Mo2|=(L|{|@C9vz7GeR{*nkIx+?*_<*lx5TxR`Lk6k~i~JE~_2W z2uf_yqR3B{Fwb%Q(%JR$>5yTS;Rr~-SpFrQs_{uweWn95^ zG6I~Y=d7-XQ}+}LVz<7h;RCbKQ#@XWmB`%FYwNp5JlS_I>mprA7ljS0qI0u2C1AUj zjg=;QY+@YBsfytLGGDCD?nI#WOT_|xz|81u5Y7KrtcgJsCi3UfjczI5k-w5vAG9c* z-Rk5bYCFz1{8=zuoRkA#X{asuAJfgHTCI$zlPaPwDrpkTTe}e;Yt5-E7eKl`vqAPhZ>D~wyKb2 zpXRBMY14>Ri)opnSdyc<6g!kh-bBd8&Z~~| zrwYj1>WE4i0*85Pa%4&?@hQi6=I*lZ3>9^zMW5i z%vP##|D6oUb3)-xQ9pctj}{`>7^Oc-s={Nsu<9(XJOUy|?5TOdjLXewJr|>o#>&a$ ztrR>9MJO*xN~TDqucpbMx?Z61CMi+d2#&rSlB|^YbDbD-RTPwC*V?tBT~PAakr@IA z2g_6z9CME+{_=H~hB`E1+NXHmyS6uh%$VcspWYecp409xs%ts-hZ~)Gd%p+6be0(m zG53kDRG%-#H${8)l1WK6a-x1HiK@3tmErz)^DXCh)O~UenUigK@w!l}Lir}o5CA4}~9JiMbUTAIHSe+M`1Q0mXEZ_j@r zpe}+r`9L@dP{HX@FJ~73&a&Gwa+YSd(13|I&KTkfKUbas{$Vk($fPK`Me{?5ndm|~ zUvTxq8nq&(_^nf8H_mVD-G@d#-08shcV@@2w&{@>dSonxz5-vSHJ^^GG^cM%lZe}3%{eXjDW5`S6TQ=kf(Sp z?(Sb0_IpvZ=v|6We-8kQcL$%0wGBBvv^-rUqRe0(qog_jarT4FMDus)EX^JB3k9uB zAtfzY5hX_(Y1d>#$=)E^#pRs2WT@tZlu^W+Pix0wEj%lbaZD}<3aqYQ#X5d+ocFvG zct+G`B6QTa>o`TF_r3z@UwQGfqp`>KX)jd#ekXZ<_fTdMI`GAM@(!T*#R(L@c;y&2 z80uL}IsPgn{XL!+>lOT>Ec||FO|xH}vh#FC`$0}!u-B^Wf}cQLf9~1XFUYv_#N!GY z!TbPw%>y|_(G`CnyUc-sp68Hu84!StUWhyQnO!2^o^ zix^l^nLIqkTVncOyGp$7Wuzn{hROtFFbEsAR0VZ2uO<(Q69q^KkTju3%p^7?B?q-F z#fPGThWLt5T&_9DY-7$I)4hugKT-Z~n6rrLcwI#P<&60agHtPA^uy92NRJHzA~jJ-!j-7Yh7}j?|lkbpSCovA@`qE6xOqP7N|+H>btA!;JcX`b6<_fXq78 zLEgi9f^Xk-F zypx;Lop4+Kwg`7*N~E8$__qd6e;~D+%!*s~S?3&JRXT~G@PEnhc%B}}*Ybr_0 zHu-+bIjwe&nj5}M%S9op*ra&RPV~U5!=cy_(xdaQQxs!ZM(JwO9=bgaPcuW|x!?{0 zAXhd?W{S3&X>bKuy%&EtT6}To)!MTNl@mAcKdK|k(hZ0$GIOI*U(J-}n=H_DO{VIB zDbDP_g~^H=IX`&xE>vh-=zT9m6ymo>tisp8ByoS6w~^sV6RLJv@%wk9sc0{b(iceiNxL zT<14-_%e3(G;pSKmcA`wMW&i+{{+|>U-KZFvL8URm3SX=SM5r$tuc4q!_V|Ut@#?u zy|yNN&M3bjXm`;piEoT(4I0w|}_Mymi^T?4{%ZZ+@?dGmLud_{KYaoRT z{dFBMx+4?{rkreiB7nXI9_G*ff}17V8uE4lvWL=KVH4qeKCz)H=6_D&`;qE~h+ON4 z`1p9I-KZ?|Cit2yQT;t}2NmIwQ%c-wl_O=4Y})n2$+P2=0*%GThcR>+=IN zcNA=>ze8-H1GZBkP2VR!y*cMIBxO*ti4xZ<3i@*93QB3|zAjWDh!-V!&H-TM_T&!S zV;qw1H|#;+CrG>qG<{tk=2SxifLspb;lw)`|DnyYR5< zT|Y|LcS^yM+P z>nCokJR`dQ7cR!;2H?D@Y*<{{*t5oWJxy*@vd69->cpdB)%H~mUgvJYrM?4Oljkgd z00mFTyxd)DnUop*vrby=HlUc)__I{D!t~MxYCh(o_z0x;B5^MMM`Z{8mx25RdNGrW zH)rPRV{8wK=VpJQvOgN0FEb5iLtr;W%MpnE>e_BU0pnW^uWlaA^G z%Ye9HUBN8BFk`vv5$0x<;k&_QviGXyc1?pMe|L369enmv8{;O%;=qmk#j|A(&H|v5P{7-K1gNvNfcRwv8 zeooRG)Unn!yHWGtK%g}QE3pT{EGAeHVt`pb<51wlZ%u9-bWlM!b`Hl^#7LvD9&Pu} z?cXZn&cls2C?;Q4yYf4w=OJ2XdtH<~0H}_bHIuOb%w~OaDLN*_Q^mWFS3wcmNS(*4 zlm*X2a7W_kFa)Iiu-LTtKfUwzkjYq27T!fl7D@Z~=}Y4W)>)+Gu^?5O;qQOJXef#6 z*fGCsej*SSiW442MMDWU7e&#b4nDHL^A6BY66!O*=JFu^5cT)CIGQRH?;f6~_&6yt z6fwb5$cC{ZESLGZy>}akziN^L0!pI(3$*gR+mwYk>GWaG-Pedg$jH%ThVq`iD|U>s zo$S6*GH6Cgd{Ge1XxmP`^Bbu1#g_mn+a@qEXi?_pZ@r}Q<97ZG1?fEsD%c^=Yk!Ap zwrRDAi<^%6pW1>eb)HFTzk;xbFZpzA{TZo!HGL)-Q<_4RmtG?8^qLDVzCzv{1k_%9 zMe)A$k`g4YcLa%Pfi;)4IC%n5k_Bu(^6~vO=#cZtzS#PAGTP7nMBPuzK?Q@W9P#}x zp#|mEsW@^T_$zw*B{UR@72}mgawec*IKvDG^g#_<-*(X##0M3e1V-#rE~X&xuCx1{ zRqe+h1E+~8)zbY+SB&%%&8b2$s^Nyc7T$II4y7|R!yi!=09i)w*Dvg z<_8BNB0p+UN3$%eiFnOTCRd*Mca-%>vvt9QF?p9DrWkiksVkw8xo=Sffpw_#(G!0Z zxsF@l_%b5|1{xkuw4%_mC`U)QaQl5dpk4Zz;CMio{15Rsg`X%5krbKI9 zvwph!7F~Y>g*ZMBj(N}YqTnA%_dXu$pIOFkGn)Qfh)*t02>> z>ouhhlqOm4DeDk7EcZ!$hAERYzaf=aeo66Yf}51?5HSc2ri8X-l?mTogdSYBvu5An zvoJ6n%Ofug3i?xhon}lo$gyMg{bmnyXGYxek1Q7@sJRkCDY#)5Q5-GmOcX7*kQe6sqFXY|WcPCYGNu&<-Nxs89z|`L> z|EbRZP?Pn61-LKQbU3A+ei%hiqzLPRz0(w<%zZ-BD#L?X=Il%%-FbN;){nuVzep<( z{0-^aP!B)^N&=rMp0}a;;$j7Bc)<5Lriz0(4?Jf1u1(Pa%u68*AUr49*y;gZ1Oi|V9Pwq^zDmjV%n7O z$^Rh`E{rO}OPsK?YW!&^-NP%)h>V?0q?~ueF9Tn^CMtVO0=n2q?a6nfNfU=bG`tB_ zOZ_GPz(`NbC*83=QwEp9)ggQUP;06}T`fv8U|J2|UJ@$c5UxahEJ>s6`HtfX_Hx%k zEB?7r3xxglx(-R%GyAU6iN<57cM*fj33l4|SYI&BSIfD%8lC(^h8e z_+yWt7vGHH7Ct3SNRdNwn{u0Y>Ad+e$!Rt@W4$xGD_f5RI1^5zuR-1Q< zpu5(Q^F!R+DV*MbZ~;T)AWixrV*D{`qC;O;1#bi1){jo=yb~9B8%G^>lF4kE^#-`} z*h?5ArY~;ya?(WXj`{VJxsHtc+o#Ptf1{a*RfW|WJp$K%;ZG2-YE zavE_%->aMl2FUZ-2OHa|=F#B?Sk3Ao7MBfKhWx4mvavcKgrLh7rIPXk$A!AqCphhl z;uJUqWmJ57ew_9W%Wf1Zh|XuK=pXZ$!I94r_5j}yr{uG3GH(A$Bb^p-`+vagKfbs$ zl*6{}0Hi*Lt@E=S#;?fdeN%wd{?oC--Hdi}o`BNkBHW{d8ywD2=O$Peh_N^#cK^lo z)ER~9LHUJ=?pm-In2G8A#KbGaqSA>`4Ly*J{!G9js~levyDMGrUd+qqT%$NKHi27s zj949h`#$_{hYQ(Q#h15xKmY!T^HlTLa6Xs9CumuWO3U&RSGqS3<2H=f1PKZxnfwuD zqspiMTy|uT#81X~bCV&?jEoLU*(mL&u}$=am7)s1M+a?0*L@1eNZjCAT618%$lvZ? z>5j(_hPUCSSMn5Y?Z0ysF501Rhj!!%-UG0G78|Lq0rxi&#d%s^9V)@kRE4OFf`rOp zE|ZlEC%G?ORX76@(RdI+DQIq69ZsBYqXWe_u?!E^Ma(`(4XfN;MO&RfhT>$G!r8m< z@ycXaRL1}BoE$Wwxk^gnmyJ2W4GL&0*?uVrz4Kqj@ z1`Y@BbGZHwBacMM8b;;x!2P&>La2r%`9IgN2TsX?SIo-?a_DjKs!bbmhoce>#6K;B#YBh)?S=ZNxscXX zxVgO;q?t@kP%;^68nR^4FHa`%IuIb@zp9#pmZ}fIF9!UA|LRs2JZKE|)kFLtNK@fV zvM%^YT3~JEz(o0$!LA1`(*)Xb&AbQw73_;O<{zoYW3MAF?3*M-7|`}1+n0nMDfPt zt){C>t!M4MS1j3_@9VlN%AOzKKa~DKWxu`v?YOk>9p*mvC3Aysa|1(G#mJYYxhqsF zZs=Sm{z44Ly6&FO63xb@1DRBpP$hk6jYkXxL=1A%AM6V}x&PIAxmb&;NBYK=6}8rp zO1*yQde?1uVTMo|a&|mJoqxO>4!@iScTn*Rs@pDEvX^#(jSKPOz0Z>OsHRjW-q{^W zf10X&SnMEq&*ng|&_>c1AyYZ1V&0G^f3e&iE`OmG;$%Mw z_ZZYUJdHkZEp%1awc7proTWqdB;=hgYrQ1*=k%?X9Gly|agh5d2(2N8K$YnfpLr@m zvr&_L_C(BogBD{|vm;zi7$oRSAnXdy_wUbuo`?QExrr78L|gsn-2_MChrTV8`8Q7C z^2yzlF}(-ifXs}pN92T&QAQ`aX&$y4qigdX4^v$!cFo*WV$iuSsIva6&#0U`*>W1$!(;sR<-bQH-9f$|Q z4C@>6dB>1LQa#2GHRv}@j?2kc;+req#JRp_YgVQGEnI0-DJCG&$Bvj@x6E*CE?#8D zH=TGQ1Ncm1x>GAKD9^~`KX_mpM!j@(X}x}KHr=};plK(^kbL?~;Wx^^(;;mltbG`c zts`&+PDPMCGAaCuWHfzw|BcjFCB zAbX6-4t~Ncq;91yE+S@zkHmP1wz+ig^udMDiWz*=CU|R4nTmDQGrJL*dV}2d`RMe_ zy=u%w^D<$eQ4H!>0rKx%PGXCSe% zf=M2L0UG^-(hO~TPGvg3Tr=}Ax)Scl@hfN{fhuBE^#^4w~7LRN&%%Ed62Sld{d zeEy2j$CCB>gk-(k@#FNF5ZkX3Mxj$VpTGk$r}JDNPcCkSXsJ`_opmbta(bdpt{3VK zQMpF^%%3&LQ)b0(Wsl>V-xhZ-7n|uh!)=055BR9!cwN~u^>@(%<`&0bNel0;|3&Ne zbCt~7a38X`9-xKZDbkqLj1C%$#CR`AIC&)=KXu>lYEB{_H{+R zE$Lc-Kn?r`TiF^5-)~zd=_v6}yHhS=UOcBA9q}EzO74|wtP52DRwVwCP6YXPI97ak z1bD_3h+fPuxw;3DQt#Pgxo%QXuC*){t)3N~n0~cAa#2I$}aPA=7a?u5gPZ%To@%^82@$GFGd zNND%j7^kTTt))BtYuumS;Ch=Iqvn`?ABt+{q|ZJpri=&?g+Ub7opYJ@M9{(^P+W1a zqXdk|V-fZcrv;C_1#c-oHW0R7bNa9|`Q2E8W^~%c;pqnQPjaNo2FK5S^rM=-0<1OQb2x!?U0}+}_R?#W z_16FN_-W*+B=4um9C=3_y=B-@8$@C&mB!KVI>QeQe+=pnm{cgZ1bK&2SSassPHHZ( z9l*+8fbcVzl|A*3EHBY~V#lX*^_#U+(biL+$>>N*RvDA3RUcWyw z&VPc@e6uNB>G=09o>-_2gDcIxPXz&D( zg9*5*1!4Q3oRB+NS^e-TElG`ui>waUsaGQ%N^Q3`aV7g|j!?}qP?GQRYe=tlUFWnm z>^)ymQ`zY66QkOAGrncrCs`X~=n6R+9W|9%rY3EPNu-o;i7bv9M`I3(*Ts~WBn5$e zM6>g9Z0EVmH4(;NF(L68m#vAFw18bwNJP5B73}4(S4t$2 zOGE)3_Z?=#)N<{rIRzoF>>^6cCRRT&?CwQJFkD6>DRxev(mY|FtBuD_M6o$V&G2yrDmy#4}2RPBrCFRFxZCfi{F%{28gyO!(&~T2p09u7pePQ(yX8{5NvOfr#9#4iU`q_izjSc{-Av3 zs+dS+vLUr?CslJSUa2#~Bd}K4lN?I4vGNUMPdI@caMd3mH!kYEATm8)8d_0*3(_{s zHM!|tj?KiRCpf8Zkm^C||+-jy|pSvFF{{;>0C0Hq&N zQ)1dtj?27KbP$>K&JIqutOGt=-qgc#!tF(!E#$_%B-T+f>WMMA{Av?lR0yUJ$Mhep zn^7pcF<#jU@i6yJJr4b(x1M$EwHo{Tmd5H}uYM*iZQS75;q-n1wZ}KZUH8QdM-$)b zXyjMbM!2Flp@~B(Yr45E6imVgLlp1D9r5Y8&e6gP3S#uAyTh&?Ek=Z^(GXC5fU=Z5 zcqU-%#*blCNAr>HRH0-=6CZaW^<(9K(1jf3VpqJZEG(@rsnLeUu(S*FOEJuFGKT4X znCmKv?2q9iv*yH`B~mXE*ZB19(6JV@bEH-703Oo#W!K7Lj4D}0UC9q~o z_Obdc*`9iC&qwRcTc2#*y$?-?=pSaK#Jo?F8=B>)1lH*Ttd#w4^1qhy!WBa&0 zvnx;mTPwPzUZk4yhNJ*j+02nK*C|GfA6KgiPQf*Pd@J*Yl!@l{E!jr89NzoXmTa3O zgtpoqKi{J99qz>;y|_v*4m&-_EP77?n-MPy6>vU4Sw7GReav$RR2hp)<>Kl(Hm-wl zM8F6Mfzlcn|R8L#rO2Tv_SKuz(~(=?tiP_gVKiF-911?WuTi8}VLC z!BP$cNurPnS6o(r-EBox>paT*FMR2D?jyuJeV=3I_~GEU=4?4X!UAC}sM<5i{VeNL zo;v$zC%>!j7i3^1egUmFNq=M4Zd^O zk*9WxE9@<3GrWPTJBC;{VgzPEJ{mHz!Rf=Pev&o}t&}dR8pb5GJD^7nwwO2=QI~g9 zwg-ii#FZsHg2BBK?)d^WJW8nRBEZD7tgQoQZmW4bXRX_WCZFE8bm$Y7np1(B!`CdA zPSrNg;y;%^`l$^*{0j&+oyOHXD{R>oq&r9gWg@1RN`SFfdJy|)*x2}wBxLs^fMpb5 zKAr{+uzF?U0~=j>-LhKFbmQ8Q|3}i-2Sin+|3By6JHx;XaOZ^=f#lABhD16j;9!&& zL?fUYMrz5}7+y3ADnM#6DF>t?hb=~_SYs1kD4KAWHr${n$Jbb73&YCY_-$yUY_K&b z7HlNHkKg^{a=3TS>vNuS&U2pgJfBl5CX9jq$(X!6PB16du&IDTIa!X8l4P@aVV^Ay zoz0{#>&2UKbCLPsH(t%|;0(JcW?CE`7KoN=pE>ueHnsafF*1**w(!Ci(zfm3>Cii@ zM9ZjNyVL=_Bq#OGhsGHxM=;|UFARK|kinK4O%2QxvpS<%Y^R&io2!2TICxOr z1<}?jh{5N`c4yi)%yLT4UvEp>_T?QSu&IO98b&I<4yRZ)4Nkn8wi{K;ML=Z%(8=mJ z2*%gHRJ(J+40Px&?M3u=w7(s>T|6$&<)*w$F zfOTLhFDK7(jZ=n0k7*}75)UJ2`^;W2<)Rc(JNza9NHegt8`*oqG zH-HkGIQhS@=bG?s-1?VS_SOX40NOR(w*36c)I{v1J2~^r!s-Na1VK>V@o1vOv-CGl zLKbiD6vB^m3bG-J66~-6WsqR@g_Uy6*pV9yCQ94`lSoeq02UzT!bk9!(wrpYV0Da_ z58yCuoCn&QUW1@BDgO1J7S3~6t_{*C@6*rggGTuVJ6N#|TmDgA3^9lCUA$cP(?YJm z$(t}H^MRab)sd9vlS@mA`CKaUfRs&1Jvk4z7q7#~Ts~Fca4|I!K1;l5XHrZ)*TjPe z_k#%1%tAsb?0RvP0%YoC+NT_=rQq0eWSaa%QjsHgX(tW%$`v3mbP_{c_*ky5j&gn3 zcqRd$yZHNs+$#;ij(gLS?bA1}Uf)UDw=(jr2{MYxkJom@ZOZ{1|1GkC_bPJnZ9nQI z;|BNq)j*S=ePJb>mtRYU$%A0?zk(C|^pv~5Any)y{7~v1=7P_>!s*ZG;Y87{Xp*JiN!d^C`TW(rUSCT1 z3zd+(69+b>Wb&Jr>b3S5XBu`{YugRZ zi(tk3pqRtLd4Z33{Vvg26M?xq)Zw8pKM(2KJyb|&1$VtO8;D`@ML=!9XJiKG2#e6b zaQt-so~65#q0IE?FP%2lzTQX?GitKlnc)lZhB&>QxKv61dRW3GoidtH#!_ufzaEFB zq5(g9I8b{4HfLi$FC@;iQ#m%PsH%7=bruzyxqk`iM@fGdmg~{wEB?*ZkWV25%d(3M zP;||)d**QtKZFh9K?lVnCo73>hu%~%gRJ0BlkkOUhHLm2)hy5$XY5UEVO6&F*W|g! zR!0Pg;vudA9eNRC6mF2`{Jcy+Eud5vO;)TD^=SQbgn?S^W-Yd zkF$ug2@01leymlPZ(@Quy-9TOO|(v0;VNo^?PP|X7yqgMt%1b8?s_vcPzi64w_f_{ zmy|`k=P}m4J#B@{me~D-s4*C5e6ul6d^?n?S1C zxZ6+7FI3+v$T~I(Ty3+f=dOzf!-0hsNpqoS{GrI`MEybUJv0P7DNb;N0YZdKf11yG zl4c(g=ATLjD2&^)NPqF3D1ce3_GdVlZu|&~zs>vK>pQM`psAH#J?c zvT~A-gUOc9nKwldOY*m|lzRzVki+owAHx-fO(OIzkLWLrKcd4!mRF=?}k)3omr92*+w?6?77B=cz_lf1@#S*37Zh8m|4?QOvA zoWli{GHp3s)u>_{y9=;NAsj2P>_cBg~k0v(;@iga+3#5l)C{$`UW=Ce=}0a-k%24#dDzDIIna=xn}{UT$SAmgRcnMc&YleZsANMNWtGkxl#tl z&yeR^z!Z4Uj0NQ6VW$0t^l8}xLd0;QA_7}@HrdhY@5Qzu_vk!L--Z3qn_}8XC&?51 zQg<&1^%l~t|kZbnXJcTeL7;uEXr4a zx@sq{|0T)ij3b0{zZ6lu`^?`xW zKY<=JS4mzw~yTt+R_OJvJrG+9mq%?>;iQL*lk63eCWC-nOgC}*4m z=e@Zf#B*-jScfDhn;B&bqQjAXLxa%FPg5S2nNuK)2Mqljtg?7{Bfbp4q~WUulIRT0 z^Jk~n?MhNiF%iBkhLkCmrgVOEJ@g~%cNk`!mXehSB*E@K*$Hps1fmQ<`uTc0%?c85z@T4JdyEwp?y+)q+&m~6-g!7gn7HfHA znze8&w#6jG_FzolO7SzmxSM^4HN1z}SD$?xc9h9NsHeYO+-S7JvIEy&wOVB(YF2vZ zRb>V)=r+zRBoJTl= z^M>vGm${qxv9A|9&V8nsUrfz5lQl8_x%&Qug%BT-=OPwQ(}!pqxokJ2lxI zbmNlTpmzT4U$zQw!w+6^fK7BPU>@Jr5RG_@&+1up!zncR#Kew@Fe#}+ zLsij7tl#s>SWnC1Zl)+Zj_v9=(!>ZeK@BKFg)(*`-|vm5!c2tHf4rUEeI8K-L_H*(1cPf&g8cxV;Ed*YzXsF>pe@elABC3A2N#CHJ}CPJg8CKy zl3q&s8m=$j@v7KJ7G8Fojj22eWOJ0l%T6Q9DXJ_+h0r;rYSSfE4SAKPq*Hr~u@EWH z=u5`0!vN)uUE93YIk`PPX zz8M;g@UkLHnlN$99z6LWdLhG4E`q=DNd*LY(k$7S2IV@46bDme%Q|3d^)8}XfBAbLLPld-K;nj4GNTDVme6>tn-TFh=1;nj z7dmzIX5tIp#r``V~}TrPyN&DI`A%jIo|$Gy{t!%y~w~7G_?3$#^;}fonz&?m8_+J5RUz zIXESFW{c%H$44G8@O_wl>tHWFZXWeg+)5VIT+bVdCra@mYr)+yxV4GMW%II?+;Vv-733M@7H7m|jJ4Y?%#w|Y$l7NjDuNQ=;X z@SBBP_6)!A+Z6v{u+dtKf0aL<6-5~j8VAB=m>u~?1JHS=G?%U-8TZo_neRwt>;IgJtjjU#U(v&KU011LH!!QOmx&6b)8Ty=MP z0Dc1sALj(+*QgYvouG)CYEFE<+~HMy$XpXJhx?x7ZEnoB__-3Z$60KeuFbMkQkC7+ z_Ee=RHiM%?`xx%x-AQo`tiMo7HrB>f2(*oXRbZd3z-q8L0s;wKK}eLuXJjbWM-Abr z*hJjizR0UmyR(_RZ3snRoN6u5p*f)nGPrnKw|^3QEz@Scl^)oC?1~fKdLb@@G!rDoc$$DIWM48@Xc}aQ->}^IDM%2{Az!A=+J|&g5Cpr7pW*m2Fg6Y4dx%IW)<$gM z8dJQ2;c={x<X=}5zHMxJP@QH=^80(i1=M_;OW9_pe3LtH%%ZwI=j(874qRx0M>?npu zyIHi$y}H^4g4>t81U2a@r;}e(emZOCcV?KJm`vuLr>8_kjGnjr@Y3lE3yFcKM}?sK z8}3B5H=1#_IDD!S8r~kbr#8pZ=#zTR`ax8rs{eN|akQVTBb?Xg(LdgPW9o|Ax2!g{b{j8$G}<8Y^Q zk!eR**S~1^Lvcq;f!%6$*-g~h2ZVSo=3mS{S~pj0lIJ*g1FVRQH5_%GG6Qs0{J`D< zT+v8X%x}$xET2$i#j}Eb-^WyGcTt|P+?^ty zEk3#SYzd?f^ULC025mjQG~mm=A+mmcOiw+ni^Uf!eyuxFZ%ah7yJnZtz`f*s2#(XY z#4jne+ja4fFJ!oS_yod+bj*lI4j3ssk0~&LdcXI+MXn^Vz!EPNSgOh3G@A=7uR?9N zLN2h3a9ZbbYk{Sb69GkNaNcS!fQxk?d{y<%xQYTxAQ#}QM4Ve31(qL}ztfC(vCRdR zzhf8$B3?{;fu)P7ojiZ z&Ls#$8Tft4Sb-(VTVV0Q@2BwX684}6A-%1okV)Xlb;N1BJ__eCNYZxI7kl}ppw}G; zh325w6Ap@h%ZQy80WrB+kX>n>;GCb22fI#yVJ|`Hb{Sfq<0_b6GZ_rEB)!olQ;wuE z+%TyvS|S!$HdDJV9b)3abNV!Mfu*5Wz1k^ZWel<6vE!-09uJ;jJYyO- z&1#6vGI3}?e7C%I_i2s1`vSI45FkAt1(~9`ATFAl@s-dQg*fzzYNFTc5JorC>kw1i z{X*i^jVGGj)GG+%QNsBsO?SPQO|7F}?Qc+zJ_3%}2s^Qp?YC#(Xy7%f?vR!)&H%RW zA1N^g1|M;jNKZXh%OZ~Y7D1|?SYr&=G#{Vlyo5W#s=>_5knTwvjPvKHEp-3vY8O=U zvB7MqJ<oBNnj+h4eQe?njy`<4R*N+k1Uq zeSs1#1k08$A@duhFZLcWkrsO+=fnwdSwyP2*!8*iTd^?xwso8;iA$*>jbOZUNx~Lm zY++n~x5KvoAeUT+izw3Kq}^|E$#`|$v7}-Gx6ODri?lFh8s|43jiH|Ng?-jY;lrb`UNls-MN&T0AY(W|9QV+<`ay?_D2Q>J1bS~4%-e}x{ zp*Li|y5gsrb`o^Ywv)*oJYOmqgvN&{{V^|}k>o&%cBF7zw~n;G!zI_!qWW6;UEWB~ zpSk40T8gyS60Hb+GJ>g*cJvdu4pr2YIO>p&VLEPvrR5B6$?U43a7PV*fJ$T|Z%x83 ze&RnXeyYGGOg~%7QmgL=1RJ{-;@*X7#D2LNVucDV1lFbICBQA|+o8_2d-{e2Yf{nu za^E)`S9W4|&E{j2P=f9gFd;fL*4GMq>cEW+!i2WF2f zHP`JOxUaH%3AG%2UCt-H)J3pD<;U-%1k!Ig1j_?rP%{ZA<4f#weol*W@`Sw$>SrLU zTuO4NQ5*6~ccC3Sv)A37@8?;qO5P1wZx{QIc%Yz3mH zXGoT~Qn4iBW$a;1AK)UYZql{Dh>`f{N7sfV zZS03-vtK_|aHMOwo;p(VxXGbxe^Ih?{o6Se31jirc1%3_p*5`e-#K9}`$`)9G{;_r zVH@3FsC3zra3d3Mdy4vGF5)TE7(1_F&1{(`p;S50ay@P2NC4$51vS80N1vTyEAGF$ z8c0UDii)~B;0Bo@*XAi_SgIz`b$7!d2&p*ol>}iN>~T(YfF zp@L?FQ)JVMq}ACJ==m0qNH~Pese@IZm8BXraBtuX{U~Si)ApGp)6w)sUWV3N+Z(=A zp((+fmQX_K^f96=cxL4j#RRW-Y9(%e!ns^(6x18(f|XHLU6_Ts?;J740Z|v80*cN- zGx2H%GyJ=iTUMQPp4a&`Tg04*Y`Oi)LN5GBcr%cMS;Yp)sX%4hh}qQ@N~E&cP~G>CWKd3)8rsH4xIlW^djLi((ipzj?1bm(8tzD+|IS z=Ne6NWr6mE&z}5NbkoN$S&uhL3`g2U=!1SAoLf2^**?96O6HvPz2&9^-Zwjm-e+jLgg~33&R6D)lyh&zkn67d=A(A+7a#Dm2g+gUp!4S9N)#xFP*Iwyb zrscdL4m*!MtR|w$T&9aEz5l9SZ3i##=%hmMf-(9yRDepg5h}6gh#{*&%l-s@@=e}$;xaE zD_!5sXWz2X{t)%q^O&*lp~lBoCIG)Ff5lTb%`1GE^+)mknGESzSoIBAnw-ywehtJX zXdSY5J9DI>ksHv+rt{Qzo9OGH$VCn?OV?+>M1x1P zGB%$@O8G2$#r?tgEKtZ}3Yo2gX66-{$(uJ}fnbsC=}cI0zdoI5A~&Tol^I{f*Nugn z+AmsRLAWR@Vuhkfxw9wUwG|}y)Kbn|ASD#X0b?PnjZs6s_;&A$@!(f)zt%KXwyNwA zXd%`m$$gaa7?o6}mH^d*Cc4)}of(IWx{nr>wfK4(n*R`%MnYCHY^pt98H?_(NOQS3 zP`U`4xbAWoFgF>g-N&&VtAJd;kl4-dzZ<0|V;^q6zxNqy4!STolx{%0yLxbe${|kj zlV??iglg4_zxpOH9|wiVbE*8Ith}3P+}B7UQ~u(dhN$*QxF1qNx1U_dvorRaNu@Sz zG+O=iyyn3)6=swn+^1N{vfs483@F`Cko_crJ%dy_BI4$|O+xDzvL>8F<%axKW|Q1kDp9$TRLhtC_ZL|$%6Y_hCF}E} zao031<54L4vA?YrNWq2=u?fW$E}tp~aG+nnFDi2&G(>uy6lGzpHmQ?}66+x3NpzaE z;&zNRV2mX2-Xem-RNgK*3Ybrgn`E$%-TS#@BKjukh@*|f5_6!JFo0e`r`*p6XE6+@ z-fzTjdpVsc^bv11UO$3b#TqSV_aiTI^XBhr^# z5ItsMfvvy8K!@<+xCtL$y@UEr(nbd=YSWrZYFf!T4N0u3)Q|tBhVd?+i z;?@fj8Eh&})1I0>wNC!E?O~eT!tD2Z{vWJ1Rh~`l?1QQTVLed@u9j-g@obWqqckzf zm+Jux9)mJRRJ{Lxo36Jqa=D-XqDa(mRq>eeZ#$z znq={=-fzvssb>u2xJO)Pc}R@5Uom+$8OSJ<&6{y?2P}U)MyDN9RBwU!lj9c3i_nI5 z-NmM!q^XNy{ZI+tcnhh%kPLK4%X-!f_r0gX2FA~`2}@B<{tHs0;Ekbi9nH2bDr~)# z;@0X+hGEuqoea-V!~^7c2yA7Q78VlytWPlS7Og(z5#1@(omZ4SdIITJl6EUHgY}EL z2#yqEf7gZ>o}%HqP!l~Lkvg=i@(0mQ(Z@$>iyU^ z)&Uc!eXTs@M=I!%ANYKR=t!hQ@i4pEB&Z(N#pc}=*gxiT-~jBS3Wg$k|GrT1E>ybI zkF5hS19s{AHjO?DW4w=P_*Qo4rgfi2_Fl}$(tilkLB?iRA6U^^X*x`Y;>{PXFU-`a zS}0K3u8be!xgl9jz^U>OCqE(KYGFp!L~P4~&QwDOF*HWdK=v#ZdQ&#y#HgjcRSuu+ z{Z4IN8{lDlFRmpT&|h!;m&1WsX{S=|%N>x5!C5#5Z4O~wf&4^~d=8nGkZ~i8{v)vU zE?+iGSL`3jvpx>m2t zX1)o<6!$2_DdbeJWt=LomXy3E-}Kh?&JTy{Fjx=hahEqLeNgpVuWERe6Jym`_h{j) zQRDe%D%5awz@dcsMIo%<(kcHDF^UwVc_dY2&hb1ho^u+lta94wIg&hfLW4;n^w!e}xL+%4B( zBycfgqcM<4kZ~b%SqgyR9rWf%+UVFtE*Q%4} zVn0}@T_+lvm+|QU^;gPCsBTlN>9*_VKB30dtYPa_1u8Fth0diVI19lPtDw|>rRUp? z&mp7s^mTe+Y`5_~YP6HNRNcS_oLe0A`|GnuEEpIQMH}wMzP)pCfQ2GovOs(o`yw#! zQ=e!S+g_`GR)#Gq)9ueLHGh79b>Z&kF1u-`9|?Q5dR95>p!OP@dB`LQjXp-1#z=_U z=|B57?UMt7R=`b9y&&Vy!XT@T*b@p+kU0Qsd}Q8itp-Iej_u~FE22ggx*Bwx(1LXz zctb|hf;Ep-bMiV=J37mBj6{WCzukB=vWYV!;86T8B_v)R_t!E*^edmgies*G7?v@L zfV@Wqv%2~|!zr8DhLfEiF62K?-P2^a74WP(Byrzf zI1ZJPZpGB%QVP^x9_36Isdnhmvu;Cr&kcxj>S9&OL;y*g2)FkYnG^DM<0pJukS ztdGW9A^bHhD3A1Ar4>1T|J5~cBj#n}%VVjFBS z1c8=3-gt1Wa5t-c+;mN!@+h5LF61ip-RG4)rAprl&ZlWX>mFT9Vws`Ql~tZ zF7MBh`)X6;!J(%xKgZ&Z&H+r|Ai zM~{dz9)TZC)N|5BW?Aom^a`NH$%_^RD=AZUZj4G3==QV;I2q0U-kNX>BB>W!hf@8@ zMy%eY=>}w;;kR)ozB}7}>35N*9JLDOwNrTw4PljDp%no1G+N^6LDwF^ zG0q;~&LbyMlKELNuKn2x4%6Gca-X-Na;vT`Y%K-1w@q{KPwj!hVjsLK%Iu%-+oU;f z(gt-sWvcl#S0JmF0JEC!r`u)t;q|gKWGIRCVWW2`?f;LTSY31w)BmRnGi$_xh&zA> zlEWPKJe>@%xAOv>-0d^0qWN(#zLt~UyRnyZ0Q<@`Fb~PhdXy6Z7CNTCJAzAJg&`xU zv}R3~HmI%Q#$1h+pW^+-Rf|s;O86dLIQfG9s=e5H{U&&~S3E(&g$CGV?%;yU$~?Y& zUY}#nVhk`yh4y;|@9#|?Ego>`$@{VlmBX3g4X&-|6$6Z1ez58SBQ(5K5aG=-^~^A) zvVCn-c^CFAysBxz#MHySc2;%}XDN*vDR(^$^Eqp=#Pj8$)UM-3RWRyTNle}1FMW4& z_ao7Y*wQETmnQyT5;VX&YcSt%rxw&R%yH5a?K}Wl3lCSu;5<5#2^I13DM9XwNi{!A zT=Z|MbR8)C1&WD=w%e#;O>N?tJmo|^ac3^@Dx4$oPRrual7QKbG@t9a2C=)iJYr)S zo@N&H`!&+f5O(PUOSxe|UWFCC&0o96u`?joFCak;A78jj zeUy8~npn3KQ>i}(>^(feOYKBs*io~vdOHOGS*IjLD|$bpL+4ox4)i$^*Hqr$4$Z;= zYCSUc700Wu!7%d*dZEtmyx!GeJAiJm>mVP>_Tx#;@tlz_Ay6E_Gl4iydC6lxzS>z2 z3HoPzi=+4_my&41d9>$W`2BYQ5P$Jo9$amh^mF*k+`KPtB8*VME=7)|2vKK5%_TU_ z*-fhFB0uPyQULCdc^=#|i(1UV_UPV}W@_NAulUTa9xMIc5g_-)Bi}Du0&fWI=ay=J z&dAe-Lrf^il>RawaYsdP7V&gs?*L32N&8$t?iOoozS^@XLl8T_bR{3c$QGap8#@(r z$S>zP;(LD!MqIIrut4*Oog-Um|*C()RpDJK}nfO}u z1CWdptApjfYE1He)_rMI`F7k6acPr|lQywlp0kQ86ZdVXk&Bpgz*ZPsOH1s`zRZ8N zLXqynnU$<1QTo?H^BAXkLmX?aUx#Hos{48UUK*Du2CxhU2?m0OBHvM^m(X!yEE3n54!VX*j3oDpvOW3+>0HgZhXhZE)vyHt?OaxKLW;hMQ#A=5{$)szJ|`Jtv`XOtOGYpI}&A|O1SjGKx2{D*R*L~ zQi)Qn&8(PBidIp!pIB#cFWJgE1K;z*cJqA*C-5d49*+-+Rb&INubCT--17>?=Sj#Y z4Q;%5#G|N?pyt6)$YbVKE+~d$aT?>x*K=Q*W{D@kiX^q$9FHdU8uT=Ogr$F_)ASS! zr_DUOTYqAevowNQjyoVjlI+00)xA6H$0K{k_>k5B(~4ihTLXM3ZYa=uD>GfcF7U#H zOKPT3jWoM@z8+!_W7lXQg3wO2>dP%-m7|Led0wvSkj2OvqFLoC7u*+XvQLxrl*t> zN^9X#>RTD{qZI?r-k!Tn3RSB(If#PPb`|A?%2_yvul04jmbThyhr>nrBAP0sv8SYq z)cv2zAZH+bPQko%`!0Vs(@!Q8qdMG}vKcz=)x_91ljLt<;=&KUI4Y#8eDFNCGmIrth(+QS0 z#QjZyTJx|vAeW5o=3EL{lS|>Lxuidq3rj~Fi@;-RiONbBQ{hG7hwV*VaJW7OenN3j1!Jtk-ctQ0g(jtYmN;K9$l`yW`2>5` zHwjy6loqKIUTo=rrf{EU$>fBc9w=Sw>WcDgXKfEs%ywP#gy>uTCL8W#?SG2LQGes} zD|K!|=TlWlxoPs8UC4cpJX3=FH9!jV-*&O)G)NmXzt*+48jfNsDQ-?bIh>%H=V;(| zIvGX=poC(Ju4$NdlmdQa97@`n^{_VLoQmk>6@YUsf`wDL1}MNTtvnZi^X{e~d9Hv3Ov)HwyKugJl=)5OAENGC z$r~fCYIwpNLDLaW46AS!Z5Mr<-vF}DAvc+Yg4vl!@p#X>4w2?gqd1}F2cv5$>2&RxKBej#6;!yM(h6DRy@$!Br^HctgiHQ9&|R`TtkGz4{n1)3bF zSmf_vh?JKm8k+;J`3y%nGqL$(qTqy$+*zZPm=kx;5=o@LyGFHNgDBtg+?ikb zbL+)9kIJj)L}3b0SH;b~{~q??Z^ELe{ea9Sk?9#2L+s$x z!<^$A7C3nT6JsR}?E+9rV7LFeUl!gU>k0V-Z0OE*$aMBpN=U$bAa~NWj(5Me zFg3)@WEq;_S$pWT=|$6cap0kcn0~6$PUj-D-+HG2*i)F19ww*4I%EDX*7W8A%ewRg zuOPvmvb(^7o`|gj`d4amWN*gPWWI^(P3rpaZSmz6n~w^(_qThQN+b7K|MNjrEa6=2 z`&Vt_kzVz;p&wN#u}oT-s1^Y¸vOi+HS1&i6P%3Oh@q2vv^NXkrcOSAr4$jBn6 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

    LpwG|EjKlx~yX{+&PNj>sdHo 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%0DEU6pVIPqH z=COIIZ+UOT^R5 z)2ADY8$dVkrj+8LC4V!{~lSy%8?H7{guP@`#;vGBDDUXnQ zEXbSy-Ch)XK5T^RUr64`yl7+4E>4)_3*=8-$A7P=!*6X4_v57P`VNMWT z-%)q6HCGFp%ZnPmN<({&F=d8=IliDSwb}&f_}L%oNkce!tAeJ6^QA_>;m9|)x! zeI+dTg_a^y=1Lwp8m>&s3|p2d?AoQBn#tecpl+%VBN7T^-QRR(?z(35BDJ6uxKkkt zOZLSK{0iKT@j4Y}k=xvF&y4Q9rI1GUED?;L+=4)RP@*fPsgb3Ow#%}t#AOJhtFn|> z+63%@-cBc{58hlyqDN_P-8>q`Y@@@l+6gSkPe5`UrYpWZlsSLG0*H+!@OQgn?p}GI z_`*m_Rm(4pB}S4i}Vc z$$wltV>rFMtdg4VP)4*osbG|7-lm2WwQT7_`+QvfS<029pv_OrB3dp5h_%JcV5A&J?YIG~#=Sb9bvM`-~ zd(?sN@UsoVrUJ2M8~m^eJs~_hS{HH0rmHoHnE1(E7nT1l!Uk>Hh!N?`z-^Mn8_IaE zXA4(@Yh%+`Udaxb^c63N+;trcc}*JKDM}S_Ld0AwtRtUNf32l|?+R-pW`EBO6^jj{ zfyLan*Vvml;A!5B!gB1cy-O4aw&-QlOkI%R?k)5yiM(p&9?}!+OT4DzZ;jMDFM)WI za1nZo3P$e0dJ5~^Rju6hX_#UwTmfXU!SyiimoV~Qw5}N^#T_A1E>P1@p_S1oX>Hv> z+&%^;5cT31l7}0Esi68Q+1b|{n5LoQ7b_M(QE_8k_5QEJdvEI9H4{)1kv~O(6FRNd zV3IwOHD9%l@Xv3(BSkLl^#yN(#T~$zWQ$JU{)sMp%r&4}n%E7>mNLa#;jAbs!QWLL zg(^uns}e_*kb4;UR!>(Fbnqm|{zL=Y&4e#0c|sz0-6K?hx)g}dNrps`q65OnWW}wG z+z%VUj-9xxwa74P#v2YcuL^%RHlyRj0ue34HnDh!D41QLcxgMfto?1fBWZNH)gSuk zbMD$IeC`d9+l)1L#;3@mZJeD)?8EdQ#*EfL=%;;$Z?eYC&PWZ44ZUeIj^ z4e48pPlERKVAw%IpE^M9B*L#7<9pjqGE^B^ULvgNY3#|yS?WP#JRxY?*MP1Ghk!VS zNyg8Q;^T$yt$NS1l%J5uZv!|GMO#eDKNxj!WbE&J#t?2V74dD}D~U}*6r#i89{4L+ z`JljVa5QNoLhi**#$Diq8dG+DK|=$fEzz8l@jq9nUg2>1qPt&sxM?QOJBFRRSwH z0|bNv;bdBhZhyE+F%F9JgI-Sugz6hhO3Lc%+ahRemZ9v!?F8Ko+9~UMdmOH^>XQFU zheCbpWv%u-YG{r_jJO?*tdz|*v38(utKu`{$%o*M>EX%%p@No0jT{^B$oUVvqx@H) z+88bVDhO%AObzGFIW?7~Z^p2D3IC5-iwdHMySQC{7R%LTO>3U!pZj}iD(+s)M;L!h zAzUFWD~6=3*1#2S7Nw56dq0?5d^XgZ1Q6DB8@takqiyWVm}9y zZHbn<4dk0|48i~AsZvGuD=)cPunozaN~Upz;@6EaAnp z_ZRUr!wE(O(9H(=P9nW}g(&uOE4$--7)on24<%0D0Nlk9R0FK!SR6`kL0CkT2e^bm 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 Date: Sat, 10 Oct 2026 16:35:50 +0800 Subject: [PATCH 4/9] feat(board): Add ThirdReality HubV3L (trhubv3l) HubV3L (LinuxBox-Lite MB0.5) has the HubV3 pinout and software; only RAM differs (2x DDR3, 2 ranks, 1GB). - config/boards/trhubv3l.conf, BOOTCONFIG trhub_v3l_defconfig, BOOT_FDT_FILE meson-axg-thirdreality-trhub-v3l.dtb - u-boot board_trhubv3l: board_trhubv3 patches + v3l DTS/defconfig - kernel dt/meson-axg-thirdreality-trhub-v3l.dts: v3 with /memory = 1GB - FIP thirdreality-hubv3l (DDR3 2-rank acs.bin) - burn: bins/hubv3l from SDK 2025r1 axg_hubv3l_v1, dt-id axg_hubv3l_v1, convert.sh v3l - release info, factory-reset, supervisor prefix and BSP same as trhubv3 - make-armbian-build-release.sh -b hubv3l --- amlogic-tools.repo/bins/hubv3l/DDR.USB | Bin 0 -> 49152 bytes amlogic-tools.repo/bins/hubv3l/UBOOT.USB | Bin 0 -> 605184 bytes .../bins/hubv3l/image.armbian.cfg | 10 + amlogic-tools.repo/bins/hubv3l/image.haos.cfg | 17 + amlogic-tools.repo/bins/hubv3l/platform.conf | 9 + amlogic-tools.repo/convert.sh | 3 + .../dts/meson-axg-thirdreality-trhub-v3l.dts | 319 + config/boards/trhubv3l.conf | 19 + config/sources/families/trhub.conf | 4 +- lib/functions/rootfs/distro-agnostic.sh | 2 +- make-armbian-build-release.sh | 17 +- .../bsp/thirdreality/common/factory-reset.sh | 4 +- .../trhubv3a/supervisor/configuration.yaml | 1 + packages/bsp/thirdreality/trhubv3l | 1 + .../dt/meson-axg-thirdreality-trhub-v3l.dts | 17 + ...001-HACK-mmc-meson-gx-limit-to-24MHz.patch | 26 + ...change-clock-phase-value-on-axg-SoCs.patch | 54 + ...amlogic-2019-aml-partition-keyman-co.patch | 63704 ++++++++++++++++ ...amlogic-2019-aml-partition-keyman-co.patch | 505 + ...5-Add-usid-serial-mac-read-from-emmc.patch | 102 + ...efi-options-for-JetHub-D1-H1.patch.disable | 67 + ...rt-JetHub-D1-eth-mac-generation-with.patch | 54 + ...jethub-j100-fix-common-config-header.patch | 28 + ...-thirdreality-hubv3-linuxbox-support.patch | 1658 + .../0011-fixed-led-and-other-pin-ctrl.patch | 119 + ...0012-add-thirdreality-hubv3l-support.patch | 116 + 26 files changed, 66849 insertions(+), 7 deletions(-) create mode 100644 amlogic-tools.repo/bins/hubv3l/DDR.USB create mode 100644 amlogic-tools.repo/bins/hubv3l/UBOOT.USB create mode 100644 amlogic-tools.repo/bins/hubv3l/image.armbian.cfg create mode 100644 amlogic-tools.repo/bins/hubv3l/image.haos.cfg create mode 100644 amlogic-tools.repo/bins/hubv3l/platform.conf create mode 100644 amlogic-tools.repo/dts/meson-axg-thirdreality-trhub-v3l.dts create mode 100644 config/boards/trhubv3l.conf create mode 120000 packages/bsp/thirdreality/trhubv3l create mode 100644 patch/kernel/archive/meson64-6.6/dt/meson-axg-thirdreality-trhub-v3l.dts create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0001-HACK-mmc-meson-gx-limit-to-24MHz.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0002-mmc-meson-gx-change-clock-phase-value-on-axg-SoCs.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0003-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0004-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0005-Add-usid-serial-mac-read-from-emmc.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0006-HACK-force-disable-efi-options-for-JetHub-D1-H1.patch.disable create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0007-ARM-amlogic-revert-JetHub-D1-eth-mac-generation-with.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0008-board-amlogic-jethub-j100-fix-common-config-header.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0010-add-thirdreality-hubv3-linuxbox-support.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0011-fixed-led-and-other-pin-ctrl.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3l/0012-add-thirdreality-hubv3l-support.patch diff --git a/amlogic-tools.repo/bins/hubv3l/DDR.USB b/amlogic-tools.repo/bins/hubv3l/DDR.USB new file mode 100644 index 0000000000000000000000000000000000000000..46cd15398b3ac8f120a7fcda3b8cf6861f7da7d8 GIT binary patch literal 49152 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 z�UGJKQn*bML7BLq_MaZ+VW&H8LvSCVLlKU}t0*Uo~(6Z4P8)Ie`rSs8Y^s%K7Q} zyze``Z-{RViJeH`8+RigZSRj97@{vsWJLIs2(XriT*$a5vQh;<_*PuVgs=3ad^4eM zxyS-_@*a*puPx=t-P7}rh3=b<(1<ZJj!^gZqRAbn`aGzzOt2=v3;Vf$nL$%I`;( z6=^aS$TxSsEB%NM-OpaqG~mx%j%-%j!#`RU2)t8mPuZ)c|Fn0W?L>GRMr@ME(_ZFd zz08lEhG)IZd*qv*)OYeYJeRqR)F*h&)U}s+SCDdt;8_oTh}5|go@u`wncvN`4IKyu)rq$j!^AczCgD$_n$X(4C@99p1-!FCwzh^WVmwWs!r~T7L`8`kg zO`0)R{E*U6G{bKTeoqHB^hta8_>J5*fWMI%Qpv z2|uJg_!6$4koBQTkkO5=!%N;VNMzod)V|c+Wpy29X;Y=_#nDde&{4JT5_Gymzsb=! z>r!VGbd9FXy_7V$1H-;CW2f-M;ytAT?1NhA+HLVO)lDi;65~yr49uOgoP92LEPcy8 z`abHGk{75tkG>#jc80#h82a)9C3Z>3gZ-b-XLBm|K^{|zwXP%@b6d9FxtPxmye$*yes0+T?pNlD12}qr-2{QvEF{@!9(PYFqS~-|}6W0CyVUNn)it zud3nBa~0*tJFBsXa!$Z|L!jC#+mb{)~Tz37e z5`6n@Q5zmeoy;HfJJ&XK;%~Wcjx!JQzD3}zKYQ~V?I&=Lu7f>p=_B5n62FkX@`awC z%$hO0_R743GJnK;P~|b_zCk@QZI(U!bLthjp7G_x!0_EO9*LVXwg-=nlkalr?+R6u zN5fW)cTCpJQcoGqWx%A|9>R>r^kb>^2kI#6hx|#OC8W>B(`S@>>IUPH_TOKdmhUq> zTrlIOVa}ojeQuvkf!D1&$2-zzvQ8o2p%6Ujvx-cgiErDJkAD*>a1KWbYIVBsN%{%g zg5~u!XxZd=>tb5aQ;NC5L$mlJ7m2^XcfLP zfNMWoAy2t&k~z#jft%Z=XEL}?X#cycF9{Ehz=H#?Aup8Y_3Z)h#1A*ATXb@a55zqD z%x3r8iugA8H6ih9^3bCWmDd!(_nNc5;b0?c;OxV0&m+t}>Q86$##Ptp*aMMb<;b@b zTz@6It|n^$p3G5aG+wYw&Nno5!oyuRTJl!bls}PAz6lZ|?GSHkHsDt#OgsJ2)ps3? z{A{QT^LQij1d#$8z} z?eo6t@VD4xd4pfR+aPa)h)=0`sC94b`iHD5OoMl#d!NXkwq0~lbWV8j$)ai7#c!AI zU<>`GIvDWy62X7tt;oWlQY+-{TvZWwM_G$}`L?x-Pu$kHxKZzy0V5t{5Bb<_@x_g{ zKNM$A%Gj*=>HIfz#mq>02K8O99i3Rb$2^BQYPQlc)h0TU(34#4}Be<{5A_ddwi1h#S@glyb}LlD)yxm zTO;eLrG3;-`2tgYuR%iteI{}lX}fz+=0x({0E>9Psn-?ABWssZ_q4tZlqdWdf)C6W z79caVyKjsgY~Zg$nflu^ALBe$0J*kEd-5Nx?J}3e-Va#jyI1z!)+lmTyNrAGv)Q*= zwxzgkHfJ7|v41-|U+Hr$jjXQ*k)gLn`7^ceBh-7G_!vFmjF)#8cVub)FV6msp7gJ* z8^>7JP_$=0H2IN(T?yU{6q#2>Gim&q`d()@ecbukyLXCR-#yb9ehGWEdu9#uYiU2< z#Rc939Zx*Ry(_+-j6W0=pQyW2)wbdvOB)k6s$X<4KdPiJWNfNYzU{$$?!|Df>XTD zXJ!4VeYD-lotrdL#|iAuY|e`B(PKXMboxK+{GR+cVx=kG$`^iEd@mryT8Az3lZ1PZ z2mMN$bM5rgq_0W%nve4<=NI;@u*1vvW`Jq2kINmFHPG=2bYMTDy-Lk*P!;p}23&RT zUvj2`?*i;up~ABNae^}dOBqM^EXC&Y{Q!Y&Wp6@YQWj?*3k?f;$Rj?D!p5-9w7`4E zAH1WD(AK~iH0;y?1+Ua=A9j9ha;F&jVw_tuX0eB2Vb6+_<;Gkom%rJrk2Q8*L7&4u z8lk*8%9D3H#5Q!8>UFLE^x3F*gaVi$6EoA?sstcJ3&`3qt{P)@@SOvWSbogz!SOryC2ylu## zoKccE3oZ3uo2FV6b-Wlzly{rcRt!ZJA_t`*FR$!5bdg`)XEMq6OZr*LJ_er5x#vMk z8|CJ>RNk{&sgxaJI5fDf%L^+Yc?8&x_~DnAjbIUZE{Mn{%i8O~*oiD^9y- zLo{A&p7Sa25~9TkzcZS$N8+NXFAS?)54 zj4qM5q^0ILWuxH&XKE%aa|QL2c@F*(-@M3_mDz8R{0jS5!Pz14U(_gk$%~_N3@Q8h zd3=LX*E3qie?afo*;{{rU-^dAZ~6Nni>xdhcK-^v1wTH=?~VUC^5CaG*TlIgOjp-$53;Qnke_IgV`b&62*LUj<&qR~7pq zV>EMwD-yKfv1Rr_rN$MC|FDGpuf{ER55|GlaQA!y^~%}kOnj57WkaMbR6OrJeZ5%=(hW+$S50bUSZ1ULC=g}xYNyv91F=3)O8j=7xi zosW(*Y^&UEtBMyBq<@$^!i#cv{t!fneU6p0e?^*7yUH&j{oFlxV{{KbUd~?c1;`UT z!_Q$&jkg}?7YqCN+y5AO@Hg_t2<1G8a&|<{yY0evk9&CUUg6vTUh5sj0V%)Lbl>x*J?RSM z^d0yo?Ho%_MsLQY1~`|}Jrf^V^kd{VoH<^mT4Y_}81x7o$n$jfd&fi>*#C0QZmJzVnr8#;mEg#o&ME-FFW*-X`B5 zH@A1FX-x^rko8$9^C11z{rQSInJ>IUoOR~?tTXTb9A(K_q+!awad)+|`N!4HOO%&l zF8(XZYrkzV<;mDKy{Vt_8VU1mZC|{gv{2rh=%rktMQBK!LxY<~z76NnG80-<^;a{r z$XWQ$QT~h2b%OAyeP-WYzv-vfhrRF0x;*rFho0=0eM7~sI_mbpZq}fLzaCE)!EffM z1Ao9~c0fan`NMJA5dS0oFYgN@2ch-QBIgI*rGEL|vy3yso4+B?FuarR9^N>4zH>Em zHz{KiWem~IDj)AVs4~qH&5zGsz}t{zq0dkr{&y(mD_LP(r*s{E3G5VUGUt&xW>Ee; zln-su#grSan$O!f)0)un`V;WiB(M0`DcyfF`r?$mJX5aFe6>sSly?HkIhiT5net>^ zB6q*%Y#!R!95u8IUyQYC#-+*>z94>iRcb=m#y1x|5?vFUC^{;>iq0c=&&L-_I{wT6 zw7s4n%~)TxxDkI><~Ne|GW{Xxl2>pP?YWR~;U4}3?-`YM{a$=l#koS^cW!yo*4g0s zGi8drXXxpxhsP*dFQT@udv4^>j9Z>Sj(7hn~SgP2)VW~ zVce_tTLqpP`QDXEx$z$SVQf6#<2Zl1*hA?{?+lXAaaP@Z4N^D$eT;K`3ECiX`YZZg z_$_TXZ(igd`9p4vP?Y=$&aCpS>e@Qv-7Aw94u0K|eW}@*???4>9$LnTn~W((C|CTZ zv35DTrXXd0gz}gRE;QgZXO{;O1xLPKdenTRDxsY2BWg<9`oCB#couX2iY==71aCme ze!aYZg1>p2&?J3WBX>?%@9N#kyomcMw5wL^2z%sL)G()XY4B`k_DqTBzLd`%Ye;PQ zDSVh2(4^>}Hs%a6=lve#$X?Q2@argH>~yKY-l5pPL5-7rJ5;_k#rNJu?T+{DDaAkd zy}E)2ccfn=uI8N?(ZAQ&JAuE+-0bU;=KWQvt6ykbxoWUecw;^Fb3K@IAootiilaef7I|vqtj$Z}WUM|Gar<&o6nGZu?Snpu<*gHX-K~Tax=kCMwXm zn8ZufV$l;#yMM8+%Pua{zgJv7@A7$8`ue{W%x$73IdXZH< zuX^F-R(#VfR{Zu2ciwVq<7I2teb&0Ax_VK3-OUYGSeIE18!nIE)plnCC9JhS7vHd9 z-Ms3{TGwmd@L#EKe8I#itb61YPMyUh_>P;c4R^-ZTDRVQi*0GU!yR~gS`8LK| z+C~e!^-im09hIz&x5YESXzORyx{rT+sk))&hGnX5)yEW94?a;BQJ=VB#SMS?sTNVr7pEvTNvEp;<(DA46vx88AU8-!7h zr3tnzsmi+HFQb{H*0wua;(|}Uc57q2?bbW*7zHntoaTq#I;F0!)vsxe8r z^pDppb>+vR>6&9!m0B9VL+I5q6J7Q3i1j($)=ZHFIYq%|i{|N~;E&ZB|LnT82;VIT zhPtDnp-r_m#woa=&05#kn5k)feB;J-cU)CKr@%BpUK1ztRSH#TY_b~HujBtrL|D3R zZ4g?h>hjAkFHlQYeZp$o&~%kmz2M`^KVP8gK3!+6TDdX{S0DY@|7!1QW81pQ@O$lR zUw>sulWfVFH9J{{l(tD4J1L9GTAVaVQ{|(Ula}&PId<%kj5x7kC(Amfxlsq5fT~3A*{AQH_F4Bg`&7TT&*)qBS$xJmo#2KO+~ou}o!~wvc%2hmIl-e&@Z#Vg&40M} zij2kVCru+Fap=;m!XHh|p|#Kt4%riS9O2Six%|ovUEhDtp+9u!+YX%s^g2W2QE%jO zSqXP{cLyY*?>+kNBnHzI@ld(>d6jxHmqZcEEF@D%b=!Y_@d=e%e1b)!(%XJeOX<`c z^2FFEYHLxQ2bGq^{6Ga{d_dY+9q*FP$W*83md+G1GX>NN5?EMN@ArBr9zPmy zQ-_w(DrAw~D4MK>vdO~CEMgfQ9~vJ#HXf7IeB=}|RRQ%QTPEEK$;45G8txSM9$(Jp zRAEs+?nfO{SYBFio&#*+RCY0)0pIYEm>L1(hek%3clwzLbv@a$>iCgkYFu-n&g%)6 zg2+T>1@X(zE-uffRVt%qGfR{Ro>k4$A0Ke4F(TigASiL@_{0H3m+uqfbc4HF-OWi) zn^n6?jNz>q!)3;BSz=@>#z>hlQfBPgim|86*kdyuor)z8#RGD5Y3{QMu}Oq0+>rz5 z_l3J_y#DDgj2IcW=`uWG>Z%YWZGV0?xi7#nM^|sz)l+tb%dSX30#idshCl$RNWxTB z$pyeW9|@y1%jVD!pgV+?ZZ2PuFWTA^IvYdBhvI5rNR14|htPq*;cC^AnBHh3J~x+B z%lQ=2s0K;g`H4^CesVu<9dX_V`=|Pa89?76`rd;WEf&yEm_!C+#uz?^T7@@Mm2&a1 zn+Klz(Z-QiPp*C|I=$B5dFT3blfP{^{FObi!04%ieTRSH%Z}Z;H2l)ncEx`7=BMOW z@BHoMguQ$Kz9o8j{ZL-*8ft8cuw zsd;-#`>s75U3RtQN~TN`bp&xX^w ziTJ&i-{0bGGefQ5$1g?A@0~FHAxoNU{hxoW)Ocy@q z${1>f|KjG2Nnq8%R816p8}9Fm**Yxh4jKPh{Ks2=ZK+{#T}-?y(;HXT|Jb^&z8IF` zBQ873-68HnJix}Pj~3MJpM1e1C*O1HYX^+;OU8QbPmE3`zZiS%B5Bmx-z7%$x3F== zeZ&g`58M-twHANI}f9MS4XEvaweZhJZwOw zeV{eWCtO9NlumdqB#fAG_Pchvq4$wU7*T0=o@Je%tR7VastEiq5I|vSq?~m_PF%~dO)%QWVGaqI`OrVQiEwE@`s_@A>b>`9_vYm{j}3<$2>3U)*T<1Boq z{keaz`2e~Y7!$+)W`BeBFYKfLe&J8MD#JG-d~<}hYURX1VJ#eGeHpTz4at|#0-gUh z#_Zn0oT3@TZzi_m{J`g*{%R5X(J4+yu}5%0{(c>E2-mPL z25r}O%foNeshM|`Bkzos_m`3!_*cqlgB_7_IDdq;Q($)vD}m16bPLvY%6nM%a$)@` zJ@4xr#s;w`{0@uDTkns=N>zvsgGO7YsGpycZ!-%2sA!1t!+ zE5=_0{SbHPxNZF151-b2ZYjb;%*_FM?e^SdIjnMYwerVX$(E=?QwpAhe9 zyu;j!eWfvIVrOvg1K4zl-DTKiPlq1tqn+2~`|*oAu?90*^t^;NW1E_NxQ}Z#X~%tN zbMps9*xRo`CS+fI24lphVc#t2R{D?OozMd|{5SC5t)mI7&BK42=>Ha`ab;x&wh;W7 z5tUtmU5!5JbS9&{un)F;1{uhZ7I_TRCEFzj>X!TE6sRf9at72RP4Yab7p?6jP)qKW zmqD>SQN9D}mj-zq6dUi#I%p8)$)AFT(DKsOQ6shTJJ5S@vZq%IA1*4Y1IG=}Z3y8- zzqK9`>OdPHQU93?zJNJR_?jhMp!XpLeV|Q<(Ew;OVmJnRKVp0wbUQSd25o^xkAq^( zniN3k+Kul}&t6dKc@UI(j(}3nI4Jcb9@LX~P*37PJ&6bPBp%e0cu-H`K|P5F^&}qD zlXy^1;z2!$2lXT#)RTBnPvX&tFAxvvNj#`0@t~f>gL)DV>PbAPC-I=3#DjVgkLpoH Rpo%~hfhq!31peO;_%|v!A#nfz literal 0 HcmV?d00001 diff --git a/amlogic-tools.repo/bins/hubv3l/UBOOT.USB b/amlogic-tools.repo/bins/hubv3l/UBOOT.USB new file mode 100644 index 0000000000000000000000000000000000000000..a1228bd8b0c44bec0d49404c491f799ee4767512 GIT binary patch literal 605184 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%0A1XrFR|}BOABPYW4eAM{Poea=|IVWA&7kQdP|9u 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�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
    _BE!QFTftt;R=5|l745}r#d|SZ$zIHs+^e_2 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 +#include "partition.dtsi" + +/ { + compatible = "thirdreality,trhub-v3", "amlogic,a113x", "amlogic,meson-axg"; + model = "ThirdReality TRHub-V3L"; + amlogic-dt-id = "axg_hubv3l_v1"; + + aliases { + serial0 = &uart_AO; /* Console */ + serial1 = &uart_AO_B; /* External UART (Wireless Module) */ + serial2 = &uart_B; /* Bluetooth */ + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + /* 2048MB RAM */ + memory@0 { + device_type = "memory"; + reg = <0x0 0x0 0x0 0x80000000>; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + linux,cma { + compatible = "shared-dma-pool"; + reusable; size = <0x0 0x400000>; + alignment = <0x0 0x400000>; + linux,cma-default; + }; + }; + + emmc_pwrseq: emmc-pwrseq { + compatible = "mmc-pwrseq-emmc"; + reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; + }; + + vcc_3v3: regulator-vcc_3v3 { + compatible = "regulator-fixed"; + regulator-name = "VCC_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vddao_3v3>; + regulator-always-on; + }; + + vcc_5v: regulator-vcc_5v { + compatible = "regulator-fixed"; + regulator-name = "VCC5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + vddao_3v3: regulator-vddao_3v3 { + compatible = "regulator-fixed"; + regulator-name = "VDDAO_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vcc_5v>; + regulator-always-on; + }; + + vddio_ao18: regulator-vddio_ao18 { + compatible = "regulator-fixed"; + regulator-name = "VDDIO_AO18"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vddao_3v3>; + regulator-always-on; + }; + + vddio_boot: regulator-vddio_boot { + compatible = "regulator-fixed"; + regulator-name = "VDDIO_BOOT"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vddao_3v3>; + regulator-always-on; + }; + + usb_pwr: regulator-usb_pwr { + compatible = "regulator-fixed"; + regulator-name = "USB_PWR"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vcc_5v>; + regulator-always-on; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; + clocks = <&wifi32k>; + clock-names = "ext_clock"; + }; + + wifi32k: wifi32k { + compatible = "pwm-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ + }; + + efusekey: efusekey { + keynum = <5>; + key0 = <&key_0>; + key1 = <&key_1>; + key2 = <&key_2>; + key3 = <&key_3>; + key4 = <&key_4>; + + key_0: key_0 { + keyname = "mac"; + offset = <0>; + size = <6>; + }; + key_1: key_1 { + keyname = "mac_bt"; + offset = <6>; + size = <6>; + }; + key_2: key_2 { + keyname = "mac_wifi"; + offset = <12>; + size = <6>; + }; + key_3: key_3 { + keyname = "usid"; + offset = <18>; + size = <32>; + }; + key_4: key_4 { + keyname = "serial"; + offset = <50>; + size = <32>; + }; + }; //End efusekey + + unifykey { + compatible = "amlogic, unifykey"; + status = "ok"; + unifykey-num = <6>; + unifykey-index-0 = <&keysn_0>; + unifykey-index-1 = <&keysn_1>; + unifykey-index-2 = <&keysn_2>; + unifykey-index-3 = <&keysn_3>; + unifykey-index-4 = <&keysn_4>; + unifykey-index-5 = <&keysn_5>; + + keysn_0: key_0 { + key-name = "usid"; + key-device = "normal"; + key-permit = "read"; + }; + keysn_1: key_1 { + key-name = "mac"; + key-device = "normal"; + key-permit = "read"; + }; + keysn_2: key_2 { + key-name = "mac_bt"; + key-device = "normal"; + key-permit = "read","write","del"; + key-type = "mac"; + }; + keysn_3: key_3 { + key-name = "mac_wifi"; + key-device = "normal"; + key-permit = "read","write","del"; + key-type = "mac"; + }; + keysn_4: key_4 { + key-name = "serial"; + key-device = "normal"; + key-permit = "read"; + }; + keysn_5:key_5 { + key-name = "deviceid"; + key-device = "normal"; + key-permit = "read","write","del"; + }; + }; //End unifykey +}; + +/* Internal I2C bus (on CPU module) */ +&i2c1 { + status = "okay"; + pinctrl-0 = <&i2c1_z_pins>; + pinctrl-names = "default"; + + /* RTC */ + pcf8563: pcf8563@51 { + compatible = "nxp,pcf8563"; + reg = <0x51>; + status = "okay"; + }; +}; + +/* Peripheral I2C bus (on motherboard) */ +&i2c_AO { + status = "okay"; + pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; + pinctrl-names = "default"; +}; + +&pwm_ab { + status = "okay"; + pinctrl-0 = <&pwm_a_x20_pins>; + pinctrl-names = "default"; +}; + +/* wifi module */ +&sd_emmc_b { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + + pinctrl-0 = <&sdio_pins>; + pinctrl-1 = <&sdio_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + + bus-width = <4>; + cap-sd-highspeed; + sd-uhs-sdr104; + max-frequency = <200000000>; + non-removable; + disable-wp; + + mmc-pwrseq = <&sdio_pwrseq>; + + vmmc-supply = <&vddao_3v3>; + vqmmc-supply = <&vddio_boot>; + + brcmf: wifi@1 { + reg = <1>; + compatible = "brcm,bcm4329-fmac"; + }; +}; + +/* emmc storage */ +&sd_emmc_c { + status = "okay"; + pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 = <&emmc_clk_gate_pins>; + pinctrl-names = "default", "clk-gate"; + + bus-width = <8>; + cap-mmc-highspeed; + max-frequency = <200000000>; + non-removable; + disable-wp; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + + mmc-pwrseq = <&emmc_pwrseq>; + + vmmc-supply = <&vcc_3v3>; + vqmmc-supply = <&vddio_boot>; +}; + +/* UART Bluetooth */ +&uart_B { + status = "okay"; + pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>; + pinctrl-names = "default"; + uart-has-rtscts; + + bluetooth { + compatible = "brcm,bcm43438-bt"; + shutdown-gpios = <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>; + }; +}; + +/* UART Console */ +&uart_AO { + status = "okay"; + pinctrl-0 = <&uart_ao_a_pins>; + pinctrl-names = "default"; +}; + +/* UART Wireless module */ +&uart_AO_B { + status = "okay"; + pinctrl-0 = <&uart_ao_b_z_pins>; + pinctrl-names = "default"; +}; + +&usb { + status = "okay"; + phy-supply = <&usb_pwr>; +}; + +&spicc1 { + status = "okay"; +}; + +&audio { + status = "disabled"; +}; + +&efuse { + status = "okay"; + compatible = "amlogic,meson-gxbb-efuse", "amlogic, efuse"; + read_cmd = <0x82000030>; + write_cmd = <0x82000031>; + get_max_cmd = <0x82000033>; + key = <&efusekey>; + clock-names = "efuse_clk"; +}; + diff --git a/config/boards/trhubv3l.conf b/config/boards/trhubv3l.conf new file mode 100644 index 000000000..4de577d50 --- /dev/null +++ b/config/boards/trhubv3l.conf @@ -0,0 +1,19 @@ +# TRHub V3L (LinuxBox-Lite MB0.5) Amlogic A113X quad core 1GB DDR3 (2 ranks), eMMC 8GB; same pinout as V3 +BOARD_NAME="TRHub-V3L" +BOARDFAMILY="trhub" +HOST="linuxbox-hubv3l" +BOOTCONFIG="trhub_v3l_defconfig" +BOOT_FDT_FILE="amlogic/meson-axg-thirdreality-trhub-v3l.dtb" +KERNEL_TARGET="current,edge" +KERNEL_TEST_TARGET="current" +# WiFi modules (aml_sdio + vlsicomm) are loaded by amlogicw1.service +# (w1_start.sh) after boot, not via systemd-modules-load. Loading them early +# races the SDIO power-on/probe and can block ~90s on a cold-boot timing +# failure, so no MODULES_CURRENT override is set here. +#PACKAGE_LIST_BOARD="libubootenv-tool apparmor rfkill bluetooth bluez bluez-tools dbus-broker libprotobuf-lite32 python3-pip python3-dev python3.11-venv python3-aiohttp python3-gi python3-dbus python3-gi-cairo gir1.2-gtk-3.0watchdog ca-certificates cifs-utils libnfs13 curl dbus jq libglib2.0-bin lsb-release network-manager nfs-common systemd-journal-remote systemd-resolved udisks2 wget systemd-timesyncd ipset iputils-arping iputils-ping libturbojpeg0 libcjson1 tzdata libjemalloc2 libavahi-client3 libavahi-common3 libflac12 libogg0 libopus0 libsoxr0 libvorbis0a libvorbisenc2" +PACKAGE_LIST_BOARD="libubootenv-tool apparmor rfkill bluetooth bluez bluez-tools dbus-broker libprotobuf-lite32 python3-pip python3-dev python3.11-venv python3-aiohttp watchdog ca-certificates cifs-utils curl dbus jq libglib2.0-bin lsb-release network-manager nfs-common systemd-journal-remote systemd-resolved udisks2 wget systemd-timesyncd ipset iputils-arping iputils-ping libturbojpeg0 libcjson1 libjsoncpp25 tzdata libjemalloc2 avahi-daemon libavahi-client3 libavahi-common3 libmosquitto1 mosquitto mosquitto-clients" + +PACKAGE_LIST_BOARD_REMOVE="chrony resolvconf openvpn network-manager-openvpn unattended-upgrades" +PACKAGE_LIST_RM="armbian-zsh" +DEFAULT_CONSOLE="serial" +HAS_VIDEO_OUTPUT="no" \ No newline at end of file diff --git a/config/sources/families/trhub.conf b/config/sources/families/trhub.conf index 1bb82ed8d..e0bcc05a6 100644 --- a/config/sources/families/trhub.conf +++ b/config/sources/families/trhub.conf @@ -25,7 +25,7 @@ BOOTSIZE="128" # MiB - must match the 'boot' size in partition_arm.dtsi SUPERVISOR_VERSION="2.5.8" -if [[ "$BOARD" == "trhubv3" ]]; then +if [[ "$BOARD" == "trhubv3" || "$BOARD" == "trhubv3l" ]]; then CPUMAX=1416000 OFFSET=126 elif [[ "$BOARD" == "linuxbox" ]]; then @@ -47,6 +47,8 @@ uboot_custom_postprocess() { display_alert "uboot_custom_postprocess:" "${BOARD}" "info" if [[ "$BOARD" == "trhubv3" ]]; then uboot_axg_postprocess_ng "$SRC/cache/sources/amlogic-boot-fip-thirdreality/thirdreality-hubv3" + elif [[ "$BOARD" == "trhubv3l" ]]; then + uboot_axg_postprocess_ng "$SRC/cache/sources/amlogic-boot-fip-thirdreality/thirdreality-hubv3l" elif [[ "$BOARD" == "linuxbox" ]]; then uboot_axg_postprocess_ng "$SRC/cache/sources/amlogic-boot-fip/jethub-j100" elif [[ "$BOARD" == "trhubv3b" ]]; then diff --git a/lib/functions/rootfs/distro-agnostic.sh b/lib/functions/rootfs/distro-agnostic.sh index 9cb4c6fc6..14a607ee6 100644 --- a/lib/functions/rootfs/distro-agnostic.sh +++ b/lib/functions/rootfs/distro-agnostic.sh @@ -100,7 +100,7 @@ function install_distribution_agnostic() { echo "${VENDOR} ${IMAGE_VERSION:-"${REVISION}"} ${RELEASE^}" > "${SDCARD}"/etc/issue.net if [ "${RELEASE}" == "bookworm" ]; then - if [[ $BOARD == trhubv3 || $BOARD == linuxbox ]]; then + if [[ $BOARD == trhubv3 || $BOARD == trhubv3l || $BOARD == linuxbox ]]; then cat <<-EOF > "${SDCARD}/etc/t3r-release" PRETTY_NAME="LinuxBox Dev Edition" NAME="LinuxBox/HubV3" diff --git a/make-armbian-build-release.sh b/make-armbian-build-release.sh index 8b2de436c..c7434c5eb 100755 --- a/make-armbian-build-release.sh +++ b/make-armbian-build-release.sh @@ -27,7 +27,7 @@ check_command() { # Directories setup current_dir=$(pwd) print_info "Working directory is '$current_dir'" -echo "Usage: $0 [-b board:hubv3|hubv3a|hubv3b|linuxbox] -d [cn|us|kr] -r [revision]" +echo "Usage: $0 [-b board:hubv3|hubv3a|hubv3b|hubv3l|linuxbox] -d [cn|us|kr] -r [revision]" # Public release names are hubv3*, while Armbian retains trhubv3* internally. @@ -39,8 +39,8 @@ r3version="v2.14.01.51" usage() { local status="${1:-1}" - echo "Usage: $0 [-b board:hubv3|hubv3a|hubv3b|linuxbox] -d [cn|us|kr] -r [revision]" - echo " hubv3, hubv3a and hubv3b are the supported public board names." + echo "Usage: $0 [-b board:hubv3|hubv3a|hubv3b|hubv3l|linuxbox] -d [cn|us|kr] -r [revision]" + echo " hubv3, hubv3a, hubv3b and hubv3l are the supported public board names." exit "$status" } @@ -56,6 +56,10 @@ while getopts ":b:d:r:v:h" opt; do board="trhubv3a" board_label="hubv3a" ;; + hubv3l) + board="trhubv3l" + board_label="hubv3l" + ;; hubv3b) board="trhubv3b" board_label="hubv3b" @@ -258,6 +262,9 @@ case ${board} in trhubv3a) BOARD_NAME="hubv3a" ;; + trhubv3l) + BOARD_NAME="hubv3l" + ;; *) BOARD_NAME="${board}" ;; @@ -289,6 +296,10 @@ case ${BOARD} in ./convert.sh ../${IMG} v3a armbian compress output/usr/lib/linux*/u-boot.nosd.bin SUPPORTED="V3,V3A,V3B" ;; + trhubv3l) + ./convert.sh ../${IMG} v3l armbian compress output/usr/lib/linux*/u-boot.nosd.bin + SUPPORTED="V3L" + ;; jethubj100) ./convert.sh ../${IMG} d1 armbian compress output/usr/lib/linux*/u-boot.nosd.bin SUPPORTED="D1,D1P" diff --git a/packages/bsp/thirdreality/common/factory-reset.sh b/packages/bsp/thirdreality/common/factory-reset.sh index 8701edbf9..460ef8392 100755 --- a/packages/bsp/thirdreality/common/factory-reset.sh +++ b/packages/bsp/thirdreality/common/factory-reset.sh @@ -613,7 +613,7 @@ remove_otbr_agent remove_matter2mqtt # remove zigbee2mqtt -if [ "$trhub_model" == "trhubv3" ] || [ "$trhub_model" == "trhubv3a" ]; then +if [ "$trhub_model" == "trhubv3" ] || [ "$trhub_model" == "trhubv3a" ] || [ "$trhub_model" == "trhubv3l" ]; then remove_zigbee2mqtt remove_linuxbox_bridge else @@ -630,7 +630,7 @@ remove_openhab remove_music_assistant print_info "Purging remaining thirdreality packages (start)" -if [ "$trhub_model" == "trhubv3" ] || [ "$trhub_model" == "trhubv3a" ]; then +if [ "$trhub_model" == "trhubv3" ] || [ "$trhub_model" == "trhubv3a" ] || [ "$trhub_model" == "trhubv3l" ]; then debs=$(dpkg --list | awk '/^ii/ && $2 ~ /^thirdreality-/{print $2}') if [ -n "$debs" ]; then print_info "Found thirdreality packages: $debs" diff --git a/packages/bsp/thirdreality/trhubv3a/supervisor/configuration.yaml b/packages/bsp/thirdreality/trhubv3a/supervisor/configuration.yaml index 897536d5a..1611b8c0b 100644 --- a/packages/bsp/thirdreality/trhubv3a/supervisor/configuration.yaml +++ b/packages/bsp/thirdreality/trhubv3a/supervisor/configuration.yaml @@ -53,6 +53,7 @@ system_info: trhubv3: "3RHUB-" trhubv3a: "3RHUB-" trhubv3b: "3RCARE-" + trhubv3l: "3RHUB-" default: "3RHUB-" diff --git a/packages/bsp/thirdreality/trhubv3l b/packages/bsp/thirdreality/trhubv3l new file mode 120000 index 000000000..b3395ff29 --- /dev/null +++ b/packages/bsp/thirdreality/trhubv3l @@ -0,0 +1 @@ +trhubv3 \ No newline at end of file diff --git a/patch/kernel/archive/meson64-6.6/dt/meson-axg-thirdreality-trhub-v3l.dts b/patch/kernel/archive/meson64-6.6/dt/meson-axg-thirdreality-trhub-v3l.dts new file mode 100644 index 000000000..a6ee05e58 --- /dev/null +++ b/patch/kernel/archive/meson64-6.6/dt/meson-axg-thirdreality-trhub-v3l.dts @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * ThirdReality HubV3L (LinuxBox-Lite MB0.5): same pinout as HubV3, + * 2x DDR3 16bit 2 ranks = 1GB. CMA is size-only and ramoops sits at + * 0x07000000, so both still fit below 1GB. + */ + +#include "meson-axg-thirdreality-trhub-v3.dts" + +/ { + compatible = "ThirdReality,trhub-v3l", "amlogic,a113d", "amlogic,meson-axg"; + model = "ThirdReality TRHub-V3L"; + + memory@0 { + reg = <0x0 0x0 0x0 0x40000000>; + }; +}; diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0001-HACK-mmc-meson-gx-limit-to-24MHz.patch b/patch/u-boot/v2023.10/board_trhubv3l/0001-HACK-mmc-meson-gx-limit-to-24MHz.patch new file mode 100644 index 000000000..43cd435b1 --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0001-HACK-mmc-meson-gx-limit-to-24MHz.patch @@ -0,0 +1,26 @@ +From 24ba56015b1ce831639f482d26aeec11ac523906 Mon Sep 17 00:00:00 2001 +From: Neil Armstrong +Date: Mon, 2 Sep 2019 15:42:04 +0200 +Subject: [PATCH 1/8] HACK: mmc: meson-gx: limit to 24MHz + +Signed-off-by: Neil Armstrong +--- + drivers/mmc/meson_gx_mmc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c +index fcf4f03d1e2..6ded4b619bf 100644 +--- a/drivers/mmc/meson_gx_mmc.c ++++ b/drivers/mmc/meson_gx_mmc.c +@@ -279,7 +279,7 @@ static int meson_mmc_probe(struct udevice *dev) + cfg->host_caps = MMC_MODE_8BIT | MMC_MODE_4BIT | + MMC_MODE_HS_52MHz | MMC_MODE_HS; + cfg->f_min = DIV_ROUND_UP(SD_EMMC_CLKSRC_24M, CLK_MAX_DIV); +- cfg->f_max = 100000000; /* 100 MHz */ ++ cfg->f_max = SD_EMMC_CLKSRC_24M; + cfg->b_max = 511; /* max 512 - 1 blocks */ + cfg->name = dev->name; + +-- +2.43.2 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0002-mmc-meson-gx-change-clock-phase-value-on-axg-SoCs.patch b/patch/u-boot/v2023.10/board_trhubv3l/0002-mmc-meson-gx-change-clock-phase-value-on-axg-SoCs.patch new file mode 100644 index 000000000..4e69e9237 --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0002-mmc-meson-gx-change-clock-phase-value-on-axg-SoCs.patch @@ -0,0 +1,54 @@ +From d2c54d518b8b3f362a8395d2a81a2e7cef7a1ae0 Mon Sep 17 00:00:00 2001 +From: Vyacheslav Bocharov +Date: Thu, 2 Dec 2021 13:10:24 +0300 +Subject: [PATCH 2/8] mmc: meson-gx: change clock phase value on axg SoCs + +Amlogic AXG SoCs seems doesn't work over 50MHz. When phase sets to 270', +it's working fine over 50MHz on Amlogic AXG SoCs. +Based on 0dbb54eb3257c243c7968f967a6b183b1edb56c8 by Neil Armstrong + + +To distinguish which value is used adds an u-boot only axg compatible. +--- + drivers/mmc/meson_gx_mmc.c | 5 +++-- + drivers/mmc/meson_gx_mmc.h | 1 + + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/drivers/mmc/meson_gx_mmc.c b/drivers/mmc/meson_gx_mmc.c +index 6ded4b619bf..5e32c386caa 100644 +--- a/drivers/mmc/meson_gx_mmc.c ++++ b/drivers/mmc/meson_gx_mmc.c +@@ -68,7 +68,8 @@ static void meson_mmc_config_clock(struct mmc *mmc) + * Other SoCs use CLK_CO_PHASE_180 by default. + * It needs to find what is a proper value about each SoCs. + */ +- if (meson_gx_mmc_is_compatible(mmc->dev, MMC_COMPATIBLE_SM1)) ++ if (meson_gx_mmc_is_compatible(mmc->dev, MMC_COMPATIBLE_SM1) || ++ meson_gx_mmc_is_compatible(mmc->dev, MMC_COMPATIBLE_AXG)) + meson_mmc_clk |= CLK_CO_PHASE_270; + else + meson_mmc_clk |= CLK_CO_PHASE_180; +@@ -322,7 +323,7 @@ int meson_mmc_bind(struct udevice *dev) + + static const struct udevice_id meson_mmc_match[] = { + { .compatible = "amlogic,meson-gx-mmc", .data = MMC_COMPATIBLE_GX }, +- { .compatible = "amlogic,meson-axg-mmc", .data = MMC_COMPATIBLE_GX }, ++ { .compatible = "amlogic,meson-axg-mmc", .data = MMC_COMPATIBLE_AXG }, + { .compatible = "amlogic,meson-sm1-mmc", .data = MMC_COMPATIBLE_SM1 }, + { /* sentinel */ } + }; +diff --git a/drivers/mmc/meson_gx_mmc.h b/drivers/mmc/meson_gx_mmc.h +index 8974b78f559..53201ceddae 100644 +--- a/drivers/mmc/meson_gx_mmc.h ++++ b/drivers/mmc/meson_gx_mmc.h +@@ -12,6 +12,7 @@ + enum meson_gx_mmc_compatible { + MMC_COMPATIBLE_GX, + MMC_COMPATIBLE_SM1, ++ MMC_COMPATIBLE_AXG, + }; + + #define SDIO_PORT_A 0 +-- +2.43.2 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0003-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch b/patch/u-boot/v2023.10/board_trhubv3l/0003-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch new file mode 100644 index 000000000..1639ed179 --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0003-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch @@ -0,0 +1,63704 @@ +From cc245241593c097c03d73caad7e7900392603b5b Mon Sep 17 00:00:00 2001 +From: Vyacheslav Bocharov +Date: Wed, 29 Jun 2022 09:26:35 +0300 +Subject: [PATCH 3/8] Copy and update amlogic-2019 aml partition/keyman code to + mainline + +--- + cmd/aml_mmc.c | 3542 ++ + cmd/storage.c | 1503 + + common/aml_dt.c | 600 + + common/partitions.c | 206 + + disk/part_aml.c | 110 + + drivers/amlogic/Kconfig | 14 + + drivers/amlogic/Makefile | 5 + + drivers/amlogic/keymanage/Kconfig | 21 + + drivers/amlogic/keymanage/Makefile | 32 + + drivers/amlogic/keymanage/key_manage.c | 689 + + drivers/amlogic/keymanage/key_manage.h | 61 + + drivers/amlogic/keymanage/key_manage_i.h | 65 + + drivers/amlogic/keymanage/key_unify.c | 610 + + drivers/amlogic/keymanage/km_dts.c | 392 + + drivers/amlogic/keymanage/km_efuse_key.c | 156 + + drivers/amlogic/keymanage/km_provision_key.c | 102 + + drivers/amlogic/keymanage/km_secure_key.c | 263 + + .../amlogic/keymanage/km_secure_key_2015.c | 118 + + drivers/amlogic/storagekey/Kconfig | 2 + + drivers/amlogic/storagekey/Makefile | 3 + + drivers/amlogic/storagekey/normal_key.c | 672 + + drivers/amlogic/storagekey/normal_key.h | 49 + + drivers/amlogic/storagekey/securestorage.c | 389 + + drivers/amlogic/storagekey/storagekey.c | 587 + + drivers/efuse/Kconfig | 4 + + drivers/efuse/Makefile | 9 + + drivers/efuse/aml_efuse.c | 123 + + drivers/efuse/bl31_apis.c | 474 + + drivers/efuse/efuse.c | 141 + + drivers/efuse/efuse_usr_space_api.c | 379 + + drivers/mmc/aml_emmc_partition.c | 1715 + + drivers/mmc/mmc_aml copy.c | 3299 ++ + drivers/mmc/mmc_aml.c | 416 + + drivers/mmc/storage_emmc.c | 946 + + include/amlogic/aml_cec.h | 86 + + include/amlogic/aml_efuse.h | 79 + + include/amlogic/aml_gpio.h | 54 + + include/amlogic/aml_hdmirx.h | 19 + + include/amlogic/aml_irblaster.h | 29 + + include/amlogic/aml_is31fl32xx.h | 9 + + include/amlogic/aml_led.h | 68 + + include/amlogic/aml_mmc.h | 105 + + include/amlogic/aml_mtd.h | 31 + + include/amlogic/aml_nand.h | 24 + + include/amlogic/aml_rsv.h | 106 + + include/amlogic/aml_tlv.h | 157 + + include/amlogic/aml_v2_burning.h | 31 + + include/amlogic/aml_v3_burning.h | 14 + + include/amlogic/amlkey_if.h | 85 + + include/amlogic/anti-rollback.h | 40 + + include/amlogic/asm/bl31_apis.h | 166 + + include/amlogic/asm/clock.h | 41 + + include/amlogic/asm/cpu_config.h | 101 + + include/amlogic/asm/cpu_sdio.h | 264 + + include/amlogic/asm/efuse.h | 62 + + include/amlogic/asm/io.h | 118 + + include/amlogic/asm/register.h | 98 + + include/amlogic/asm/regs.h | 32964 ++++++++++++++++ + include/amlogic/asm/romboot.h | 53 + + include/amlogic/asm/sd_emmc.h | 136 + + include/amlogic/asm/secure_apb.h | 4235 ++ + include/amlogic/auge_sound.h | 24 + + include/amlogic/blxx2bl33_param.h | 27 + + include/amlogic/canvas.h | 68 + + include/amlogic/color.h | 51 + + include/amlogic/cpu_id.h | 90 + + include/amlogic/enc_clk_config.h | 1 + + include/amlogic/fb.h | 399 + + include/amlogic/instaboot.h | 24 + + include/amlogic/jtag.h | 61 + + include/amlogic/keyunify.h | 56 + + include/amlogic/media/vout/aml_cvbs.h | 13 + + include/amlogic/media/vout/aml_vinfo.h | 148 + + include/amlogic/media/vout/aml_vmode.h | 98 + + include/amlogic/media/vout/aml_vout.h | 25 + + .../amlogic/media/vout/hdmitx/hdmi_common.h | 655 + + include/amlogic/media/vout/hdmitx/hdmitx.h | 11 + + .../amlogic/media/vout/hdmitx/hdmitx_ext.h | 6 + + .../amlogic/media/vout/hdmitx/hdmitx_module.h | 106 + + .../amlogic/media/vout/hdmitx/hdmitx_reg.h | 1041 + + include/amlogic/media/vout/hdmitx/mach_reg.h | 625 + + include/amlogic/media/vout/lcd/aml_lcd.h | 168 + + include/amlogic/media/vout/lcd/bl_extern.h | 88 + + include/amlogic/media/vout/lcd/bl_ldim.h | 118 + + include/amlogic/media/vout/lcd/lcd_extern.h | 116 + + include/amlogic/media/vout/lcd/lcd_vout.h | 520 + + include/amlogic/media/vpp/vpp.h | 24 + + include/amlogic/media/vpu/vpu.h | 11 + + include/amlogic/saradc.h | 103 + + include/amlogic/secure_storage.h | 46 + + include/amlogic/sound.h | 180 + + include/amlogic/spicc.h | 44 + + include/amlogic/spifc.h | 44 + + include/amlogic/storage.h | 501 + + include/amlogic/storagekey.h | 57 + + include/amlogic/store_wrapper.h | 56 + + include/amlstorage/emmc_partitions.h | 271 + + include/amlstorage/emmc_storage.h | 76 + + include/amlstorage/partition_table.h | 72 + + 99 files changed, 62896 insertions(+) + create mode 100644 cmd/aml_mmc.c + create mode 100644 cmd/storage.c + create mode 100644 common/aml_dt.c + create mode 100644 common/partitions.c + create mode 100644 disk/part_aml.c + create mode 100644 drivers/amlogic/Kconfig + create mode 100644 drivers/amlogic/Makefile + create mode 100644 drivers/amlogic/keymanage/Kconfig + create mode 100644 drivers/amlogic/keymanage/Makefile + create mode 100644 drivers/amlogic/keymanage/key_manage.c + create mode 100644 drivers/amlogic/keymanage/key_manage.h + create mode 100644 drivers/amlogic/keymanage/key_manage_i.h + create mode 100644 drivers/amlogic/keymanage/key_unify.c + create mode 100644 drivers/amlogic/keymanage/km_dts.c + create mode 100644 drivers/amlogic/keymanage/km_efuse_key.c + create mode 100644 drivers/amlogic/keymanage/km_provision_key.c + create mode 100644 drivers/amlogic/keymanage/km_secure_key.c + create mode 100644 drivers/amlogic/keymanage/km_secure_key_2015.c + create mode 100644 drivers/amlogic/storagekey/Kconfig + create mode 100644 drivers/amlogic/storagekey/Makefile + create mode 100644 drivers/amlogic/storagekey/normal_key.c + create mode 100644 drivers/amlogic/storagekey/normal_key.h + create mode 100644 drivers/amlogic/storagekey/securestorage.c + create mode 100644 drivers/amlogic/storagekey/storagekey.c + create mode 100644 drivers/efuse/Kconfig + create mode 100644 drivers/efuse/Makefile + create mode 100644 drivers/efuse/aml_efuse.c + create mode 100644 drivers/efuse/bl31_apis.c + create mode 100644 drivers/efuse/efuse.c + create mode 100644 drivers/efuse/efuse_usr_space_api.c + create mode 100644 drivers/mmc/aml_emmc_partition.c + create mode 100644 drivers/mmc/mmc_aml copy.c + create mode 100644 drivers/mmc/mmc_aml.c + create mode 100644 drivers/mmc/storage_emmc.c + create mode 100644 include/amlogic/aml_cec.h + create mode 100644 include/amlogic/aml_efuse.h + create mode 100644 include/amlogic/aml_gpio.h + create mode 100644 include/amlogic/aml_hdmirx.h + create mode 100644 include/amlogic/aml_irblaster.h + create mode 100644 include/amlogic/aml_is31fl32xx.h + create mode 100644 include/amlogic/aml_led.h + create mode 100644 include/amlogic/aml_mmc.h + create mode 100644 include/amlogic/aml_mtd.h + create mode 100644 include/amlogic/aml_nand.h + create mode 100644 include/amlogic/aml_rsv.h + create mode 100644 include/amlogic/aml_tlv.h + create mode 100644 include/amlogic/aml_v2_burning.h + create mode 100644 include/amlogic/aml_v3_burning.h + create mode 100644 include/amlogic/amlkey_if.h + create mode 100644 include/amlogic/anti-rollback.h + create mode 100644 include/amlogic/asm/bl31_apis.h + create mode 100644 include/amlogic/asm/clock.h + create mode 100644 include/amlogic/asm/cpu_config.h + create mode 100644 include/amlogic/asm/cpu_sdio.h + create mode 100644 include/amlogic/asm/efuse.h + create mode 100644 include/amlogic/asm/io.h + create mode 100644 include/amlogic/asm/register.h + create mode 100644 include/amlogic/asm/regs.h + create mode 100644 include/amlogic/asm/romboot.h + create mode 100644 include/amlogic/asm/sd_emmc.h + create mode 100644 include/amlogic/asm/secure_apb.h + create mode 100644 include/amlogic/auge_sound.h + create mode 100644 include/amlogic/blxx2bl33_param.h + create mode 100644 include/amlogic/canvas.h + create mode 100644 include/amlogic/color.h + create mode 100644 include/amlogic/cpu_id.h + create mode 100644 include/amlogic/enc_clk_config.h + create mode 100644 include/amlogic/fb.h + create mode 100644 include/amlogic/instaboot.h + create mode 100644 include/amlogic/jtag.h + create mode 100644 include/amlogic/keyunify.h + create mode 100644 include/amlogic/media/vout/aml_cvbs.h + create mode 100644 include/amlogic/media/vout/aml_vinfo.h + create mode 100644 include/amlogic/media/vout/aml_vmode.h + create mode 100644 include/amlogic/media/vout/aml_vout.h + create mode 100644 include/amlogic/media/vout/hdmitx/hdmi_common.h + create mode 100644 include/amlogic/media/vout/hdmitx/hdmitx.h + create mode 100644 include/amlogic/media/vout/hdmitx/hdmitx_ext.h + create mode 100644 include/amlogic/media/vout/hdmitx/hdmitx_module.h + create mode 100644 include/amlogic/media/vout/hdmitx/hdmitx_reg.h + create mode 100644 include/amlogic/media/vout/hdmitx/mach_reg.h + create mode 100644 include/amlogic/media/vout/lcd/aml_lcd.h + create mode 100644 include/amlogic/media/vout/lcd/bl_extern.h + create mode 100644 include/amlogic/media/vout/lcd/bl_ldim.h + create mode 100644 include/amlogic/media/vout/lcd/lcd_extern.h + create mode 100644 include/amlogic/media/vout/lcd/lcd_vout.h + create mode 100644 include/amlogic/media/vpp/vpp.h + create mode 100644 include/amlogic/media/vpu/vpu.h + create mode 100644 include/amlogic/saradc.h + create mode 100644 include/amlogic/secure_storage.h + create mode 100644 include/amlogic/sound.h + create mode 100644 include/amlogic/spicc.h + create mode 100644 include/amlogic/spifc.h + create mode 100644 include/amlogic/storage.h + create mode 100644 include/amlogic/storagekey.h + create mode 100644 include/amlogic/store_wrapper.h + create mode 100644 include/amlstorage/emmc_partitions.h + create mode 100644 include/amlstorage/emmc_storage.h + create mode 100644 include/amlstorage/partition_table.h + +diff --git a/cmd/aml_mmc.c b/cmd/aml_mmc.c +new file mode 100644 +index 00000000000..db9927e9120 +--- /dev/null ++++ b/cmd/aml_mmc.c +@@ -0,0 +1,3542 @@ ++/* ++ * (C) Copyright 2003 ++ * Kyle Harris, kharris@nexus-tech.net ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of ++ * the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "../drivers/mmc/mmc_private.h" ++#include ++#include ++#include ++#include ++#include ++//#include ++#include ++#include ++ ++/* info system. */ ++#define dtb_err(fmt, ...) printf( "%s()-%d: " fmt , \ ++ __func__, __LINE__, ##__VA_ARGS__) ++ ++#define dtb_wrn(fmt, ...) printf( "%s()-%d: " fmt , \ ++ __func__, __LINE__, ##__VA_ARGS__) ++ ++/* for detail debug info */ ++#define dtb_info(fmt, ...) printf( "%s()-%d: " fmt , \ ++ __func__, __LINE__, ##__VA_ARGS__) ++ ++#define fb_err(fmt, ...) printf("%s()-%d: " fmt , \ ++ __func__, __LINE__, ##__VA_ARGS__) ++#define CONFIG_SYS_MMC_ENV_DEV 1 ++struct aml_dtb_rsv { ++ u8 data[DTB_BLK_SIZE*DTB_BLK_CNT - 4*sizeof(u32)]; ++ u32 magic; ++ u32 version; ++ u32 timestamp; ++ u32 checksum; ++}; ++ ++struct aml_dtb_info { ++ u32 stamp[2]; ++ u8 valid[2]; ++}; ++ ++#define stamp_after(a,b) ((int)(b) - (int)(a) < 0) ++/* glb dtb infos */ ++static struct aml_dtb_info dtb_infos = {{0, 0}, {0, 0}}; ++ ++#define CONFIG_SECURITYKEY ++ ++#if !defined(CONFIG_SYS_MMC_BOOT_DEV) ++ #define CONFIG_SYS_MMC_BOOT_DEV (CONFIG_SYS_MMC_ENV_DEV) ++#endif ++ ++#define GXB_START_BLK 0 ++#define GXL_START_BLK 1 ++ ++/* max 2MB for emmc in blks */ ++#define UBOOT_SIZE (0x1000) ++ ++ ++extern int mmc_key_write(unsigned char *buf, unsigned int size, uint32_t *actual_lenth); ++extern int mmc_key_read(unsigned char *buf, unsigned int size, uint32_t *actual_lenth); ++ ++/* move this out to storage */ ++//int info_disprotect = 0; ++ ++ ++int mmc_read_status(struct mmc *mmc, int timeout) ++{ ++ struct mmc_cmd cmd; ++ int err, retries = 5; ++ int status; ++ ++ cmd.cmdidx = MMC_CMD_SEND_STATUS; ++ cmd.resp_type = MMC_RSP_R1; ++ if (!mmc_host_is_spi(mmc)) ++ cmd.cmdarg = mmc->rca << 16; ++ do { ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (!err) { ++ if ((cmd.response[0] & MMC_STATUS_RDY_FOR_DATA) && ++ (cmd.response[0] & MMC_STATUS_CURR_STATE) != ++ MMC_STATE_PRG) ++ break; ++ else if (cmd.response[0] & MMC_STATUS_MASK) { ++ printf("Status Error: 0x%08X\n", ++ cmd.response[0]); ++ return -18; ++ } ++ } else if (--retries < 0) ++ return err; ++ ++ udelay(1000); ++ ++ } while (timeout--); ++ ++ status = (cmd.response[0] & MMC_STATUS_CURR_STATE) >> 9; ++ printf("CURR STATE:%d, status = 0x%x\n", status, cmd.response[0]); ++ ++ if (timeout <= 0) { ++ printf("read status Timeout waiting card ready\n"); ++ return -19; ++ } ++ if (cmd.response[0] & MMC_STATUS_SWITCH_ERROR) { ++ printf("mmc status swwitch error status =0x%x\n", status); ++ return -21; ++ } ++ return 0; ++} ++ ++bool emmckey_is_protected (struct mmc *mmc) ++{ ++#ifdef CONFIG_STORE_COMPATIBLE ++#ifdef CONFIG_SECURITYKEY ++ if (info_disprotect & DISPROTECT_KEY) { ++ printf("%s(): disprotect\n", __func__); ++ return 0; ++ }else{ ++ printf("%s(): protect\n", __func__); ++ return 1; ++ } ++#else ++ return 0; ++#endif ++#else ++#ifdef CONFIG_SECURITYKEY ++ //return mmc->key_protect; ++ return 0; /* fixme, */ ++#else ++ return 0; ++#endif ++#endif ++} ++ ++unsigned emmc_cur_partition = 0; ++ ++ ++static int get_off_size(struct mmc * mmc, char * name, uint64_t offset, uint64_t size, u64 * blk, u64 * cnt, u64 * sz_byte) ++{ ++ struct partitions *part_info = NULL; ++ uint64_t off = 0; ++ int blk_shift = 0; ++ ++ blk_shift = ffs(mmc->read_bl_len) - 1; ++ // printf("blk_shift:%d , off:0x%llx , size:0x%llx.\n ",blk_shift,off,size ); ++ part_info = find_mmc_partition_by_name(name); ++ if (part_info == NULL) { ++ printf("get partition info failed !!\n"); ++ return -1; ++ } ++ off = part_info->offset + offset; ++ ++ // printf("part_info->offset:0x%llx , off:0x%llx , size:0x%llx.\n",part_info->offset ,off,size); ++ ++ *blk = off >> blk_shift ; ++ *cnt = size >> blk_shift ; ++ *sz_byte = size - ((*cnt) << blk_shift) ; ++ ++ // printf("get_partition_off_size : blk:0x%llx , cnt:0x%llx.\n",*blk,*cnt); ++ return 0; ++} ++ ++static int get_partition_size(unsigned char* name, uint64_t* addr) ++{ ++ struct partitions *part_info = NULL; ++ part_info = find_mmc_partition_by_name((char *)name); ++ if (part_info == NULL) { ++ printf("get partition info failed !!\n"); ++ return -1; ++ } ++ ++ *addr = part_info->size >> 9; // unit: 512 bytes ++ return 0; ++} ++ ++static inline int isstring(char *p) ++{ ++ char *endptr = p; ++ while (*endptr != '\0') { ++ if (!(((*endptr >= '0') && (*endptr <= '9')) ++ || ((*endptr >= 'a') && (*endptr <= 'f')) ++ || ((*endptr >= 'A') && (*endptr <= 'F')) ++ || (*endptr == 'x') || (*endptr == 'X'))) ++ return 1; ++ endptr++; ++ } ++ ++ return 0; ++} ++ ++/* ++ erase bootloader on user/boot0/boot1 which indicate by map. ++ bit 0: user ++ bit 1: boot0 ++ bit 2: boot1 ++*/ ++int amlmmc_erase_bootloader(int dev, int map) ++{ ++ int ret = 0, i, count = 3; ++ int blk_shift; ++ unsigned long n; ++ char *partname[3] = {"user", "boot0", "boot1"}; ++ // cpu_id_t cpu_id = get_cpu_id(); ++ struct mmc *mmc = find_mmc_device(dev); ++ ++ /* do nothing */ ++ if (0 == map) ++ goto _out; ++ ++ if (!mmc) { ++ printf("%s() %d: not valid emmc %d\n", __func__, __LINE__, dev); ++ ret = -1; ++ goto _out; ++ } ++ /* make sure mmc is initilized! */ ++ ret = mmc_init(mmc); ++ if (ret) { ++ printf("%s() %d: emmc %d init %d\n", __func__, __LINE__, dev, ret); ++ ret = -2; ++ goto _out; ++ } ++ ++ blk_shift = ffs(mmc->read_bl_len) -1; ++ /* erase bootloader in user/boot0/boot1 */ ++ for (i = 0; i < count; i++) { ++ if (map & (0x1 << i)) { ++ if (!blk_select_hwpart_devnum(UCLASS_MMC, 1, i)) { ++ lbaint_t start = 0, blkcnt; ++ ++ blkcnt = mmc->capacity >> blk_shift; ++ if (0 == i) { ++ struct partitions *part_info; ++ /* get info by partition */ ++ part_info = find_mmc_partition_by_name(MMC_BOOT_NAME); ++ if (part_info == NULL) { ++ printf("%s() %d: error!!\n", __func__, __LINE__); ++ /* fixme, do somthing! */ ++ continue; ++ } else { ++ start = part_info->offset>> blk_shift; ++ blkcnt = part_info->size>> blk_shift; ++ if (1) { //cpu_id.family_id >= MESON_CPU_MAJOR_ID_GXL) { ++ start = GXL_START_BLK; ++ blkcnt -= GXL_START_BLK; ++ } ++ } ++ } ++/* some customer may use boot1 higher 2M as private data. */ ++#ifdef CONFIG_EMMC_BOOT1_TOUCH_REGION ++ if (2 == i && CONFIG_EMMC_BOOT1_TOUCH_REGION <= mmc->capacity) { ++ blkcnt = CONFIG_EMMC_BOOT1_TOUCH_REGION >> blk_shift; ++ } ++#endif/* CONFIG_EMMC_BOOT1_TOUCH_REGION */ ++#ifdef CONFIG_AML_GPT ++ if (i == 0) ++ continue; ++#endif ++ printf("Erasing blocks " LBAFU " to " LBAFU " @ %s\n", ++ start, blkcnt, partname[i]); ++ n = blk_derase(mmc_get_blk_desc(mmc), start, blkcnt); ++ if (n != 0) { ++ printf("mmc erase %s failed\n", partname[i]); ++ ret = -3; ++ break; ++ } ++ } else ++ printf("%s() %d: switch dev %d to %s fail\n", ++ __func__, __LINE__, dev, partname[i]); ++ } ++ } ++ /* try to switch back to user. */ ++ blk_select_hwpart(mmc->dev, 0); ++ ++_out: ++ return ret; ++} ++ ++/* ++ write bootloader on user/boot0/boot1 which indicate by map. ++ bit 0: user ++ bit 1: boot0 ++ bit 2: boot1 ++*/ ++int amlmmc_write_bootloader(int dev, int map, unsigned int size, const void *src) ++{ ++ int ret = 0, i, count = 3; ++ unsigned long n; ++ char *partname[3] = {"user", "boot0", "boot1"}; ++ struct mmc *mmc = find_mmc_device(dev); ++ lbaint_t start = GXB_START_BLK, blkcnt; ++ //cpu_id_t cpu_id = get_cpu_id(); ++ ++ /* do nothing */ ++ if (0 == map) ++ goto _out; ++ ++ if (!mmc) { ++ printf("%s() %d: not valid emmc %d\n", __func__, __LINE__, dev); ++ ret = -1; ++ goto _out; ++ } ++ /* make sure mmc is initilized! */ ++ ret = mmc_init(mmc); ++ if (ret) { ++ printf("%s() %d: emmc %d init %d\n", __func__, __LINE__, dev, ret); ++ ret = -2; ++ goto _out; ++ } ++ ++ if(1) //(cpu_id.family_id >= MESON_CPU_MAJOR_ID_GXL) ++ start = GXL_START_BLK; ++ blkcnt = (size + mmc->read_bl_len - 1) / mmc->read_bl_len; ++ ++ /* erase bootloader in user/boot0/boot1 */ ++ for (i = 0; i < count; i++) { ++ if (map & (0x1 << i)) { ++ if (!blk_select_hwpart_devnum(UCLASS_MMC, 1, i)) { ++/* some customer may use boot1 higher 2M as private data. */ ++#ifdef CONFIG_EMMC_BOOT1_TOUCH_REGION ++ if (2 == i && CONFIG_EMMC_BOOT1_TOUCH_REGION <= size) { ++ printf("%s(), size %d exceeds TOUCH_REGION %d, skip\n", ++ __func__, size, CONFIG_EMMC_BOOT1_TOUCH_REGION); ++ break; ++ } ++#endif /* CONFIG_EMMC_BOOT1_TOUCH_REGION */ ++#ifdef CONFIG_AML_GPT ++ if (i == 0) ++ continue; ++#endif ++ printf("Wrting blocks " LBAFU " to " LBAFU " @ %s\n", ++ start, blkcnt, partname[i]); ++ n = blk_dwrite(mmc_get_blk_desc(mmc), start, blkcnt, src); ++ if (n != blkcnt) { ++ printf("mmc write %s failed\n", partname[i]); ++ ret = -3; ++ break; ++ } ++ } else ++ printf("%s() %d: switch dev %d to %s fail\n", ++ __func__, __LINE__, dev, partname[i]); ++ } ++ } ++ /* try to switch back to user. */ ++ blk_select_hwpart(mmc->dev, 0); ++ ++_out: ++ return ret; ++} ++ ++static int amlmmc_erase_in_dev(int argc, char *const argv[]) ++{ ++ int dev = 0; ++ u64 cnt = 0, blk = 0, n = 0; ++ struct mmc *mmc; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ blk = simple_strtoull(argv[3], NULL, 16); ++ cnt = simple_strtoull(argv[4], NULL, 16); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) ++ return 1; ++ ++ printf("MMC erase: dev # %d, start_erase_address(in block) # %#llx,\ ++ several blocks # %lld will be erased ...\n ", ++ dev, blk, cnt); ++ ++ mmc_init(mmc); ++ ++ if (cnt != 0) ++ n = blk_derase(mmc_get_blk_desc(mmc), blk, cnt); ++ ++ printf("dev # %d, %s, several blocks erased %s\n", ++ dev, " ", (n == 0) ? "OK" : "ERROR"); ++ ++ return (n == 0) ? 0 : 1; ++} ++ ++static int amlmmc_erase_in_card(int argc, char *const argv[]) ++{ ++ int dev = 0; ++ u64 cnt = 0, blk = 0, n = 0; ++ /*sz_byte =0;*/ ++ char *name = NULL; ++ u64 offset_addr = 0, size = 0; ++ struct mmc *mmc; ++ int tmp_shift; ++ ++ name = argv[2]; ++ dev = find_dev_num_by_partition_name (name); ++ offset_addr = simple_strtoull(argv[3], NULL, 16); ++ size = simple_strtoull(argv[4], NULL, 16); ++ mmc = find_mmc_device(dev); ++ ++ tmp_shift = ffs(mmc->read_bl_len) -1; ++ cnt = size >> tmp_shift; ++ blk = offset_addr >> tmp_shift; ++ /* sz_byte = size - (cnt<= part_info->size) { ++ printf("Start address out #%s# partition'address region,(addr_byte < 0x%llx)\n", ++ name, part_info->size); ++ return 1; ++ } ++ if ((offset_addr+size) > part_info->size) { ++ printf("End address exceeds #%s# partition,(offset = 0x%llx,size = 0x%llx)\n", ++ name, part_info->offset,part_info->size); ++ return 1; ++ } ++ get_off_size(mmc, name, offset_addr, size, &blk, &cnt, &sz_byte); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ ++ ++ if (!mmc) ++ return 1; ++ ++ printf("MMC erase: dev # %d, start_erase_address(in block) # %#llx,\ ++ several blocks # %lld will be erased ...\n ", ++ dev, blk, cnt); ++ ++ mmc_init(mmc); ++ ++ if (cnt != 0) ++ n = blk_derase(mmc_get_blk_desc(mmc), blk, cnt); ++ ++ printf("dev # %d, %s, several blocks erased %s\n", ++ dev, argv[2], (n == 0) ? "OK" : "ERROR"); ++ return (n == 0) ? 0 : 1; ++} ++ ++static int amlmmc_erase_by_add(int argc, char *const argv[]) ++{ ++ int ret = 0; ++ ++ if (argc != 5) ++ return CMD_RET_USAGE; ++ ++ if (isdigit(argv[2][0])) ++ ret = amlmmc_erase_in_dev(argc, argv); ++ else if (strcmp(argv[2], "card") == 0) ++ ret = amlmmc_erase_in_card(argc, argv); ++ else if (isstring(argv[2])) ++ ret = amlmmc_erase_in_part(argc, argv); ++ ++ return ret; ++} ++ ++static int amlmmc_erase_non_loader(int argc, char *const argv[]) ++{ ++ int dev; ++ u32 n = 0; ++ int blk_shift; ++ u64 blk = 0, start_blk = 0; ++ struct partitions *part_info; ++ struct mmc *mmc; ++ ++ dev = 1; ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) ++ return 1; ++ ++ mmc_init(mmc); ++ ++ blk_shift = ffs(mmc->read_bl_len) -1; ++ part_info = find_mmc_partition_by_name(MMC_BOOT_NAME); ++ ++ if (part_info == NULL) { ++ start_blk = 0; ++ printf("no uboot partition for eMMC boot, just erase from 0\n"); ++ } ++ else ++ start_blk = (part_info->offset + part_info->size) >> blk_shift; ++ ++ if (emmckey_is_protected(mmc)) { ++ part_info = find_mmc_partition_by_name(MMC_RESERVED_NAME); ++ if (part_info == NULL) { ++ return 1; ++ } ++ blk = part_info->offset; ++ // it means: there should be other partitions before reserve-partition. ++ if (blk > 0) ++ blk -= PARTITION_RESERVED; ++ blk >>= blk_shift; ++ blk -= start_blk; ++ // (1) erase all the area before reserve-partition ++ if (blk > 0) ++ n = blk_derase(mmc_get_blk_desc(mmc), start_blk, blk); ++ if (n == 0) { // not error ++ // (2) erase all the area after reserve-partition ++ start_blk = (part_info->offset + part_info->size + PARTITION_RESERVED) ++ >> blk_shift; ++ u64 erase_cnt = (mmc->capacity >> blk_shift) - start_blk; ++ n = blk_derase(mmc_get_blk_desc(mmc), start_blk, erase_cnt); ++ } ++ } else { ++ n = blk_derase(mmc_get_blk_desc(mmc), start_blk, 0); // erase the whole card ++ } ++ return (n == 0) ? 0 : 1; ++} ++ ++static int amlmmc_erase_single_part(int argc, char *const argv[]) ++{ ++ char *name = NULL; ++ int dev; ++ u32 n = 0; ++ int blk_shift; ++ u64 cnt = 0, blk = 0; ++ struct partitions *part_info; ++ struct mmc *mmc; ++ name = argv[2]; ++ dev = find_dev_num_by_partition_name(name); ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) ++ return 1; ++ ++ mmc_init(mmc); ++ ++ blk_shift = ffs(mmc->read_bl_len) -1; ++ if (emmckey_is_protected(mmc) ++ && (strncmp(name, MMC_RESERVED_NAME, sizeof(MMC_RESERVED_NAME)) == 0x00)) { ++ printf("\"%s-partition\" is been protecting and should no be erased!\n", ++ MMC_RESERVED_NAME); ++ return 1; ++ } ++ ++ part_info = find_mmc_partition_by_name(name); ++ if (part_info == NULL) { ++ return 1; ++ } ++ ++ blk = part_info->offset >> blk_shift; ++ if (emmc_cur_partition && !strncmp(name, "bootloader", strlen("bootloader"))) ++ cnt = 0; ++ else ++ cnt = part_info->size >> blk_shift; ++ n = blk_derase(mmc_get_blk_desc(mmc), blk, cnt); ++ ++ return (n == 0) ? 0 : 1; ++} ++ ++static int amlmmc_erase_whole(int argc, char *const argv[]) ++{ ++ char *name = NULL; ++ int dev; ++ u32 n = 0; ++ int blk_shift; ++ //u64 cnt = 0, ++ u64 blk = 0, start_blk = 0; ++ struct partitions *part_info; ++ struct mmc *mmc; ++ int map; ++ ++ name = "logo"; ++ dev = find_dev_num_by_partition_name(name); ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ mmc = find_mmc_device(dev); ++ if (!mmc) ++ return 1; ++ mmc_init(mmc); ++ blk_shift = ffs(mmc->read_bl_len) -1; ++ start_blk = 0; ++ ++ if (emmckey_is_protected(mmc)) { ++ part_info = find_mmc_partition_by_name(MMC_RESERVED_NAME); ++ if (part_info == NULL) { ++ return 1; ++ } ++ blk = part_info->offset; ++ // it means: there should be other partitions before reserve-partition. ++ if (blk > 0) ++ blk -= PARTITION_RESERVED; ++ blk >>= blk_shift; ++ blk -= start_blk; ++ // (1) erase all the area before reserve-partition ++ if (blk > 0) ++ n = blk_derase(mmc_get_blk_desc(mmc), start_blk, blk); ++ if (n == 0) { // not error ++ // (2) erase all the area after reserve-partition ++ start_blk = (part_info->offset + part_info->size + PARTITION_RESERVED) ++ >> blk_shift; ++ u64 erase_cnt = (mmc->capacity >> blk_shift) - start_blk; ++ n = blk_derase(mmc_get_blk_desc(mmc), start_blk, erase_cnt); ++ } ++ } else { ++ n = blk_derase(mmc_get_blk_desc(mmc), start_blk, 0); // erase the whole card ++ } ++ map = AML_BL_BOOT; ++ if (n == 0) ++ n = amlmmc_erase_bootloader(dev, map); ++ if (n) ++ printf("erase bootloader in boot partition failed\n"); ++ return (n == 0) ? 0 : 1; ++} ++ ++static int amlmmc_erase_non_cache(int arc, char *const argv[]) ++{ ++ char *name = NULL; ++ int dev; ++ u32 n = 0; ++ int blk_shift; ++ u64 blk = 0, start_blk = 0; ++ struct partitions *part_info; ++ struct mmc *mmc; ++ int map; ++ ++ name = "logo"; ++ dev = find_dev_num_by_partition_name(name); ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ mmc = find_mmc_device(dev); ++ if (!mmc) ++ return 1; ++ mmc_init(mmc); ++ blk_shift = ffs(mmc->read_bl_len) -1; ++ if (emmckey_is_protected(mmc)) { ++ part_info = find_mmc_partition_by_name(MMC_RESERVED_NAME); ++ if (part_info == NULL) { ++ return 1; ++ } ++ ++ blk = part_info->offset; ++ // it means: there should be other partitions before reserve-partition. ++ if (blk > 0) { ++ blk -= PARTITION_RESERVED; ++ } ++ blk >>= blk_shift; ++ blk -= start_blk; ++ // (1) erase all the area before reserve-partition ++ if (blk > 0) { ++ n = blk_derase(mmc_get_blk_desc(mmc), start_blk, blk); ++ // printf("(1) erase blk: 0 --> %llx %s\n", blk, (n == 0) ? "OK" : "ERROR"); ++ } ++ if (n == 0) { // not error ++ // (2) erase all the area after reserve-partition ++ part_info = find_mmc_partition_by_name(MMC_CACHE_NAME); ++ if (part_info == NULL) { ++ return 1; ++ } ++ start_blk = (part_info->offset + part_info->size + PARTITION_RESERVED) ++ >> blk_shift; ++ u64 erase_cnt = (mmc->capacity >> blk_shift) - start_blk; ++ n = blk_derase(mmc_get_blk_desc(mmc), start_blk, erase_cnt); ++ } ++ } else { ++ n = blk_derase(mmc_get_blk_desc(mmc), start_blk, 0); // erase the whole card ++ } ++ map = AML_BL_BOOT; ++ if (n == 0) { ++ n = amlmmc_erase_bootloader(dev, map); ++ if (n) ++ printf("erase bootloader in boot partition failed\n"); ++ } ++ return (n == 0) ? 0 : 1; ++} ++ ++static int amlmmc_erase_dev(int argc, char *const argv[]) ++{ ++ return amlmmc_erase_whole(argc, argv); ++} ++ ++static int amlmmc_erase_allbootloader(int argc, char*const argv[]) ++{ ++ int map; ++ int rc; ++ char *name = NULL; ++ int dev; ++ map = AML_BL_ALL; ++ ++ name = "bootloader"; ++ dev = find_dev_num_by_partition_name(name); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ ++ rc = amlmmc_erase_bootloader(dev, map); ++ return rc; ++} ++ ++static int amlmmc_erase_by_part(int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ ++ if (argc != 3) ++ return ret; ++ ++ if (isdigit(argv[2][0])) ++ ret = amlmmc_erase_dev(argc, argv); ++ else if (strcmp(argv[2], "whole") == 0) ++ ret = amlmmc_erase_whole(argc, argv); ++ else if (strcmp(argv[2], "non_cache") == 0) ++ ret = amlmmc_erase_non_cache(argc, argv); ++ else if (strcmp(argv[2], "non_loader") == 0) ++ ret = amlmmc_erase_non_loader(argc, argv); ++ else if (strcmp(argv[2], "allbootloader") == 0) ++ ret = amlmmc_erase_allbootloader(argc, argv); ++ else ++ ret = amlmmc_erase_single_part(argc, argv); ++ return ret; ++} ++ ++static int do_amlmmc_erase(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ ++ if (argc == 3) ++ ret = amlmmc_erase_by_part(argc, argv); ++ else if (argc == 5) ++ ret = amlmmc_erase_by_add(argc, argv); ++ ++ return ret; ++} ++ ++static int amlmmc_write_in_part(int argc, char *const argv[]) ++{ ++ int dev; ++ void *addr = NULL; ++ u64 cnt = 0, n = 0, blk = 0, sz_byte = 0; ++ char *name = NULL; ++ u64 offset = 0, size = 0; ++ //cpu_id_t cpu_id = get_cpu_id(); ++ struct mmc *mmc; ++ ++ name = argv[2]; ++ if (strcmp(name, "bootloader") == 0) ++ dev = CONFIG_SYS_MMC_BOOT_DEV; ++ else ++ dev = find_dev_num_by_partition_name (name); ++ addr = (void *)simple_strtoul(argv[3], NULL, 16); ++ offset = simple_strtoull(argv[4], NULL, 16); ++ size = simple_strtoull(argv[5], NULL, 16); ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ mmc = find_mmc_device(dev); ++ if (!mmc) ++ return 1; ++ ++ if (strcmp(name, "bootloader") == 0) { ++ cnt = UBOOT_SIZE; ++ if (1) { //(cpu_id.family_id >= MESON_CPU_MAJOR_ID_GXL) { ++ blk = GXL_START_BLK; ++ cnt -= GXL_START_BLK; ++ } ++ else ++ blk = GXB_START_BLK; ++ } else ++ get_off_size(mmc, name, offset, size, &blk, &cnt, &sz_byte); ++ ++ mmc_init(mmc); ++ n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ //write sz_byte bytes ++ if ((n == cnt) && (sz_byte != 0)) { ++ // printf("sz_byte=%#llx bytes\n",sz_byte); ++ void *addr_tmp = malloc(mmc->write_bl_len); ++ void *addr_byte = (void*)(addr+cnt*(mmc->write_bl_len)); ++ ulong start_blk = blk+cnt; ++ ++ if (addr_tmp == NULL) { ++ printf("mmc write: malloc fail\n"); ++ return 1; ++ } ++ ++ if (blk_dread(mmc_get_blk_desc(mmc), start_blk, 1, addr_tmp) != 1) { // read 1 block ++ free(addr_tmp); ++ printf("mmc read 1 block fail\n"); ++ return 1; ++ } ++ ++ memcpy(addr_tmp, addr_byte, sz_byte); ++ if (blk_dwrite(mmc_get_blk_desc(mmc), start_blk, 1, addr_tmp) != 1) { // write 1 block ++ free(addr_tmp); ++ printf("mmc write 1 block fail\n"); ++ return 1; ++ } ++ free(addr_tmp); ++ } ++ //printf("%#llx blocks , %#llx bytes written: %s\n", n, sz_byte, (n==cnt) ? "OK" : "ERROR"); ++ return (n == cnt) ? 0 : 1; ++} ++ ++static int amlmmc_write_in_card(int argc, char *const argv[]) ++{ ++ int dev; ++ void *addr = NULL; ++ u64 cnt = 0, n = 0, blk = 0, sz_byte = 0; ++ char *name = NULL; ++ u64 offset = 0, size = 0; ++ struct mmc *mmc; ++ ++ name = argv[2]; ++ dev = find_dev_num_by_partition_name (name); ++ addr = (void *)simple_strtoul(argv[3], NULL, 16); ++ offset = simple_strtoull(argv[4], NULL, 16); ++ size = simple_strtoull(argv[5], NULL, 16); ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ mmc = find_mmc_device(dev); ++ if (!mmc) ++ return 1; ++ ++ int blk_shift = ffs( mmc->read_bl_len) -1; ++ cnt = size >> blk_shift; ++ blk = offset >> blk_shift; ++ sz_byte = size - (cnt<write_bl_len); ++ void *addr_byte = (void*)(addr+cnt*(mmc->write_bl_len)); ++ ulong start_blk = blk+cnt; ++ ++ if (addr_tmp == NULL) { ++ printf("mmc write: malloc fail\n"); ++ return 1; ++ } ++ ++ if (blk_dread(mmc_get_blk_desc(mmc), start_blk, 1, addr_tmp) != 1) { // read 1 block ++ free(addr_tmp); ++ printf("mmc read 1 block fail\n"); ++ return 1; ++ } ++ ++ memcpy(addr_tmp, addr_byte, sz_byte); ++ if (blk_dwrite(mmc_get_blk_desc(mmc), start_blk, 1, addr_tmp) != 1) { // write 1 block ++ free(addr_tmp); ++ printf("mmc write 1 block fail\n"); ++ return 1; ++ } ++ free(addr_tmp); ++ } ++ //printf("%#llx blocks , %#llx bytes written: %s\n", n, sz_byte, (n==cnt) ? "OK" : "ERROR"); ++ return (n == cnt) ? 0 : 1; ++} ++ ++static int amlmmc_write_in_dev(int argc, char *const argv[]) ++{ ++ int dev; ++ void *addr = NULL; ++ u64 cnt = 0, n = 0, blk = 0; ++ struct mmc *mmc; ++ dev = simple_strtoul(argv[2], NULL, 10); ++ addr = (void *)simple_strtoul(argv[3], NULL, 16); ++ blk = simple_strtoull(argv[4], NULL, 16); ++ cnt = simple_strtoull(argv[5], NULL, 16); ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ mmc = find_mmc_device(dev); ++ if (!mmc) ++ return 1; ++ ++ //printf("MMC write: dev # %d, block # %#llx, count # %#llx ... ", ++ //dev, blk, cnt); ++ ++ mmc_init(mmc); ++ ++ n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ return (n == cnt) ? 0 : 1; ++} ++ ++static int do_amlmmc_write(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ int ret = 0; ++ if (argc != 6) ++ return CMD_RET_USAGE; ++ ++ if (isdigit(argv[2][0])) ++ ret = amlmmc_write_in_dev(argc, argv); ++ else if (strcmp(argv[2], "card") == 0) ++ ret = amlmmc_write_in_card(argc, argv); ++ else if (isstring(argv[2])) ++ ret = amlmmc_write_in_part(argc, argv); ++ ++ return ret; ++} ++ ++static int amlmmc_read_in_dev(int argc, char *const argv[]) ++{ ++ int dev; ++ void *addr = NULL; ++ u64 cnt =0, n = 0, blk = 0; ++ struct mmc *mmc; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ addr = (void *)simple_strtoul(argv[3], NULL, 16); ++ blk = simple_strtoull(argv[4], NULL, 16); ++ cnt = simple_strtoull(argv[5], NULL, 16); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ ++ mmc = find_mmc_device(dev); ++ if (!mmc) ++ return 1; ++ n = blk_dread(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ return (n == cnt) ? 0 : 1; ++} ++ ++static int amlmmc_read_in_card(int argc, char *const argv[]) ++{ ++ int dev; ++ void *addr = NULL; ++ //u32 flag =0; ++ u64 cnt =0, n = 0, blk = 0, sz_byte = 0; ++ char *name = NULL; ++ u64 offset = 0, size = 0; ++ int blk_shift; ++ struct mmc *mmc; ++ void *addr_tmp; ++ void *addr_byte; ++ ulong start_blk; ++ ++ name = argv[2]; ++ dev = find_dev_num_by_partition_name (name); ++ addr = (void *)simple_strtoul(argv[3], NULL, 16); ++ size = simple_strtoull(argv[5], NULL, 16); ++ offset = simple_strtoull(argv[4], NULL, 16); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ ++ mmc = find_mmc_device(dev); ++ if (!mmc) ++ return 1; ++ ++ blk_shift = ffs( mmc->read_bl_len) - 1; ++ cnt = size >> blk_shift; ++ blk = offset >> blk_shift; ++ sz_byte = size - (cnt<read_bl_len); ++ addr_byte = (void *)(addr+cnt*(mmc->read_bl_len)); ++ start_blk = blk+cnt; ++ if (addr_tmp == NULL) { ++ printf("mmc read: malloc fail\n"); ++ return 1; ++ } ++ if (blk_dread(mmc_get_blk_desc(mmc), start_blk, 1, addr_tmp) != 1) { // read 1 block ++ free(addr_tmp); ++ printf("mmc read 1 block fail\n"); ++ return 1; ++ } ++ memcpy(addr_byte, addr_tmp, sz_byte); ++ free(addr_tmp); ++ } ++ return (n == cnt) ? 0 : 1; ++} ++ ++static int amlmmc_read_in_part(int argc, char *const argv[]) ++{ ++ int dev; ++ void *addr = NULL; ++ u64 cnt = 0, n = 0, blk = 0, sz_byte = 0; ++ char *name = NULL; ++ u64 offset = 0, size = 0; ++ struct mmc *mmc; ++ void *addr_tmp; ++ void *addr_byte; ++ ulong start_blk; ++ ++ name = argv[2]; ++ dev = find_dev_num_by_partition_name (name); ++ addr = (void *)simple_strtoul(argv[3], NULL, 16); ++ offset = simple_strtoull(argv[4], NULL, 16); ++ size = simple_strtoull(argv[5], NULL, 16); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ ++ mmc = find_mmc_device(dev); ++ if (!mmc) ++ return 1; ++ ++ get_off_size(mmc, name, offset, size, &blk, &cnt, &sz_byte); ++ mmc_init(mmc); ++ n = blk_dread(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ ++ //read sz_byte bytes ++ if ((n == cnt) && (sz_byte != 0)) { ++ /*printf("sz_byte=%#llx bytes\n",sz_byte);*/ ++ addr_tmp = malloc(mmc->read_bl_len); ++ addr_byte = (void *)(addr+cnt*(mmc->read_bl_len)); ++ start_blk = blk+cnt; ++ ++ if (addr_tmp == NULL) { ++ printf("mmc read: malloc fail\n"); ++ return 1; ++ } ++ ++ if (blk_dread(mmc_get_blk_desc(mmc), start_blk, 1, addr_tmp) != 1) { // read 1 block ++ free(addr_tmp); ++ printf("mmc read 1 block fail\n"); ++ return 1; ++ } ++ ++ memcpy(addr_byte, addr_tmp, sz_byte); ++ free(addr_tmp); ++ } ++ return (n == cnt) ? 0 : 1; ++} ++ ++static int do_amlmmc_read(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ int ret = 0; ++ if (argc != 6) ++ return CMD_RET_USAGE; ++ ++ if (isdigit(argv[2][0])) ++ ret = amlmmc_read_in_dev(argc, argv); ++ else if (strcmp(argv[2], "card") == 0) ++ ret = amlmmc_read_in_card(argc, argv); ++ else if (isstring(argv[2])) ++ ret = amlmmc_read_in_part(argc, argv); ++ ++ return ret; ++} ++ ++static int do_amlmmc_env(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ printf("herh\n"); ++ env_relocate(); ++ return 0; ++} ++ ++static int do_amlmmc_list(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ print_mmc_devices('\n'); ++ return 0; ++} ++ ++static int do_amlmmc_size(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ char *name; ++ uint64_t* addr = NULL; ++ int dev; ++ struct mmc *mmc = NULL; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ name = argv[2]; ++ addr = (uint64_t *)simple_strtoul(argv[3], NULL, 16); ++ if (!strcmp(name, "wholeDev")) { ++ dev = CONFIG_SYS_MMC_BOOT_DEV; ++ mmc = find_mmc_device(dev); ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ mmc_init(mmc); ++ ++ *addr = mmc->capacity >> 9; // unit: 512 bytes ++ return 0; ++ } ++ return get_partition_size((unsigned char *)name, addr); ++} ++ ++static int amlmmc_get_ext_csd(int argc, char *const argv[]) ++{ ++ int ret= 0; ++ u8 ext_csd[512] = {0}; ++ int dev, byte; ++ struct mmc *mmc; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ byte = simple_strtoul(argv[3], NULL, 10); ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ mmc_init(mmc); ++ ret = mmc_get_ext_csd(mmc, ext_csd); ++ printf("read EXT_CSD byte[%d] val[0x%x] %s\n", ++ byte, ext_csd[byte], (ret == 0) ? "ok" : "fail"); ++ ret = ret || ret; ++ return ret; ++} ++ ++static int amlmmc_set_ext_csd(int argc, char *const argv[]) ++{ ++ int ret = 0; ++ int dev, byte; ++ struct mmc *mmc; ++ int val; ++ ++ if (argc != 5) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ byte = simple_strtoul(argv[3], NULL, 10); ++ val = simple_strtoul(argv[4], NULL, 16); ++ if ((byte > 191) || (byte < 0)) { ++ printf("byte is not able to write!\n"); ++ return 1; ++ } ++ ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ ++ mmc_init(mmc); ++ ++ ret = mmc_set_ext_csd(mmc, byte, val); ++ printf("write EXT_CSD byte[%d] val[0x%x] %s\n", ++ byte, val, (ret == 0) ? "ok" : "fail"); ++ ret =ret || ret; ++ return ret; ++} ++ ++static int do_amlmmc_ext_csd(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ ++ if (argc == 4) ++ ret = amlmmc_get_ext_csd(argc,argv); ++ else if (argc == 5) ++ ret = amlmmc_set_ext_csd(argc,argv); ++ ++ return ret; ++} ++ ++static int do_amlmmc_switch(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ int rc = 0; ++ int dev; ++ struct mmc *mmc; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ ++ mmc_init(mmc); ++ printf("mmc switch to "); ++ ++ if (strcmp(argv[3], "boot0") == 0) { ++ rc = mmc_switch_part(mmc, 1); ++ if (rc == 0) { ++ emmc_cur_partition = 1; ++ printf("boot0 success\n"); ++ } else { ++ printf("boot0 failed\n"); ++ } ++ } ++ else if(strcmp(argv[3], "boot1") == 0) { ++ rc = mmc_switch_part(mmc, 2); ++ if (rc == 0) { ++ emmc_cur_partition = 2; ++ printf("boot1 success\n"); ++ } else { ++ printf("boot1 failed\n"); ++ } ++ } ++ else if(strcmp(argv[3], "user") == 0) { ++ rc = mmc_switch_part(mmc, 0); ++ if (rc == 0) { ++ emmc_cur_partition = 0; ++ printf("user success\n"); ++ } else { ++ printf("user failed\n"); ++ } ++ } ++#ifdef CONFIG_SUPPORT_EMMC_RPMB ++ else if(strcmp(argv[3], "rpmb") == 0) { ++ rc = mmc_switch_part(mmc, 3); ++ if (rc == 0) { ++ emmc_cur_partition = 3; ++ printf("rpmb success\n"); ++ } else { ++ printf("rpmb failed\n"); ++ } ++ } ++#endif ++ else ++ printf("%s failed\n", argv[3]); ++ return rc; ++} ++ ++static int do_amlmmc_controller(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ /*int dev; ++ struct mmc *mmc; ++ struct aml_card_sd_info *aml_priv; ++ struct sd_emmc_global_regs *sd_emmc_reg; ++ ++ if (argc != 3) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) ++ return 1; ++ ++ aml_priv = mmc->priv; ++ sd_emmc_reg = aml_priv->sd_emmc_reg; ++ ++ printf("sd_emmc_reg->gclock = 0x%x\n", sd_emmc_reg->gclock); ++ printf("sd_emmc_reg->gdelay = 0x%x\n", sd_emmc_reg->gdelay); ++ printf("sd_emmc_reg->gadjust = 0x%x\n", sd_emmc_reg->gadjust); ++ printf("sd_emmc_reg->gcalout = 0x%x\n", sd_emmc_reg->gcalout); ++ if (!mmc->has_init) { ++ printf("mmc dev %d has not been initialed\n", dev); ++ return 1; ++ } ++ printf("sd_emmc_reg->gstart = 0x%x\n", sd_emmc_reg->gstart); ++ printf("sd_emmc_reg->gcfg = 0x%x\n", sd_emmc_reg->gcfg); ++ printf("sd_emmc_reg->gstatus = 0x%x\n", sd_emmc_reg->gstatus); ++ printf("sd_emmc_reg->girq_en = 0x%x\n", sd_emmc_reg->girq_en); ++ printf("sd_emmc_reg->gcmd_cfg = 0x%x\n", sd_emmc_reg->gcmd_cfg); ++ printf("sd_emmc_reg->gcmd_arg = 0x%x\n", sd_emmc_reg->gcmd_arg); ++ printf("sd_emmc_reg->gcmd_dat = 0x%x\n", sd_emmc_reg->gcmd_dat); ++ printf("sd_emmc_reg->gcmd_rsp0 = 0x%x\n", sd_emmc_reg->gcmd_rsp0); ++ printf("sd_emmc_reg->gcmd_rsp1 = 0x%x\n", sd_emmc_reg->gcmd_rsp1); ++ printf("sd_emmc_reg->gcmd_rsp2 = 0x%x\n", sd_emmc_reg->gcmd_rsp2); ++ printf("sd_emmc_reg->gcmd_rsp3 = 0x%x\n", sd_emmc_reg->gcmd_rsp3);*/ ++ return 0; ++} ++ ++static int do_amlmmc_response(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ /*int dev; ++ struct mmc *mmc; ++ struct aml_card_sd_info *aml_priv; ++ struct sd_emmc_global_regs *sd_emmc_reg; ++ ++ if (argc != 3) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) ++ return 1; ++ if (!mmc->has_init) { ++ printf("mmc dev %d has not been initialed\n", dev); ++ return 1; ++ } ++ ++ aml_priv = mmc->priv; ++ sd_emmc_reg = aml_priv->sd_emmc_reg; ++ ++ printf("last cmd = %d, response0 = 0x%x\n", ++ (sd_emmc_reg->gcmd_cfg & 0x3f), sd_emmc_reg->gcmd_rsp0);*/ ++ return 0; ++} ++ ++static int do_amlmmc_status(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ int rc = 0; ++ int dev; ++ struct mmc *mmc; ++ ++ if (argc != 3) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) ++ return 1; ++ if (!mmc->has_init) { ++ printf("mmc dev %d has not been initialed\n", dev); ++ return 1; ++ } ++ rc = mmc_read_status(mmc, 1000); ++ if (rc) ++ return 1; ++ else ++ return 0; ++} ++ ++static int do_amlmmc_part(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int dev; ++ struct blk_desc *mmc_dev; ++ struct mmc *mmc; ++ ++ if (argc != 3) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ mmc_init(mmc); ++ mmc_dev = mmc_get_blk_desc(mmc); ++ if (mmc_dev != NULL && ++ mmc_dev->type != DEV_TYPE_UNKNOWN) { ++ part_print(mmc_dev); ++ return 0; ++ } ++ puts("get mmc type error!\n"); ++ return 1; ++} ++ ++static int do_amlmmc_rescan(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int dev; ++ struct mmc *mmc; ++ ++ if (argc != 3) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ ++ if (dev < 0) { ++ printf("Cannot find dev.\n"); ++ return 1; ++ } ++ ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) ++ return 1; ++ mmc->has_init =0; ++ return mmc_init(mmc); ++} ++ ++#ifdef CONFIG_SECURITYKEY ++static int do_amlmmc_key(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ struct mmc *mmc; ++ int dev; ++ ++ //char *name = "logo"; ++ dev = CONFIG_SYS_MMC_BOOT_DEV; ++ mmc = find_mmc_device(dev); ++ if (!mmc) { ++ printf("device %d is invalid\n",dev); ++ return 1; ++ } ++ //mmc->key_protect = 0; ++#ifdef CONFIG_STORE_COMPATIBLE ++ info_disprotect |= DISPROTECT_KEY; //disprotect ++ printf("emmc disprotect key\n"); ++#endif ++ return 0; ++} ++#endif ++ ++static int set_write_prot(struct mmc *mmc, u64 start) ++{ ++ struct mmc_cmd cmd; ++ int err; ++ ++ cmd.cmdidx = MMC_CMD_SET_WRITE_PROTECT; ++ cmd.cmdarg = start; ++ cmd.resp_type = MMC_RSP_R1b; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (err) ++ goto err_out; ++ ++ return 0; ++ ++err_out: ++ puts("Failed: mmc write protect failed\n"); ++ return err; ++} ++ ++static int set_us_wp_en(struct mmc *mmc, u8 *ext_csd, u8 wp_enable_type) ++{ ++ u8 index = EXT_CSD_USER_WP; ++ u8 user_wp = ext_csd[index]; ++ user_wp = user_wp & (~WP_ENABLE_MASK); ++ user_wp = user_wp | wp_enable_type; ++ int err = 0; ++ err = mmc_set_ext_csd(mmc, index, user_wp); ++ if (err) ++ printf("Failed: set write protect enable failed\n"); ++ return err; ++} ++ ++static int mmc_set_us_perm_wp_dis(struct mmc *mmc, u8 *ext_csd) ++{ ++ u8 usr_wp = ext_csd[EXT_CSD_USER_WP]; ++ u8 perm_disable_bit = US_PERM_WP_DIS_BIT; ++ ++ int err; ++ if (usr_wp & perm_disable_bit) ++ return 0; ++ ++ usr_wp = usr_wp | perm_disable_bit; ++ err = mmc_set_ext_csd(mmc, EXT_CSD_USER_WP, usr_wp); ++ if (err) { ++ printf("Failed: set permanent write protect disable failed\n"); ++ return 1; ++ } ++ return 0; ++} ++ ++static int mmc_is_us_pwr_wp_dis(u8 user_wp) ++{ ++ return user_wp & US_PWR_WP_DIS_BIT; ++} ++ ++static int mmc_is_us_perm_wp_dis(u8 user_wp) ++{ ++ return user_wp & US_PERM_WP_DIS_BIT; ++} ++ ++static int check_wp_type(u8 *addr, u8 wp_type, u64 set_protect_cnt) ++{ ++ u8 type_mask = WP_TYPE_MASK; ++ u64 cnt = set_protect_cnt; ++ u8 times = 0; ++ u8 index = 7; ++ u8 cur_group_wp_type = addr[index]; ++ ++ while (cnt != 0) { ++ if (wp_type != ((type_mask)&(cur_group_wp_type))) { ++ return 1; ++ } ++ if (times == 3) { ++ times = 0; ++ index--; ++ cur_group_wp_type = addr[index]; ++ } ++ else { ++ cur_group_wp_type = cur_group_wp_type >> 2; ++ times++; ++ } ++ cnt--; ++ } ++ return 0; ++} ++ ++static int set_register_to_temporary(struct mmc *mmc, u8 *ext_csd) ++{ ++ int err; ++ u8 wp_enable_type = WP_TEMPORARY_EN_BIT; ++ err = set_us_wp_en(mmc, ext_csd, wp_enable_type); ++ if (err) ++ printf("Failed: set temporary write protect failed\n"); ++ return err; ++} ++ ++static int set_register_to_pwr(struct mmc *mmc, u8 *ext_csd) ++{ ++ int err; ++ u8 user_wp = ext_csd[EXT_CSD_USER_WP]; ++ u8 wp_enable_type = WP_POWER_ON_EN_BIT; ++ if (mmc_is_us_pwr_wp_dis(user_wp)) { ++ printf("Failed: power on protection had been disabled\n"); ++ return 1; ++ } ++ ++ err = mmc_set_us_perm_wp_dis(mmc, ext_csd); ++ if (err) { ++ printf("Failed: set permanent protection diable failed\n"); ++ return 1; ++ } ++ ++ err = set_us_wp_en(mmc, ext_csd, wp_enable_type); ++ if (err) { ++ printf("Failed: set power on write protect enable failed\n"); ++ return 1; ++ } ++ return 0; ++} ++ ++static int set_register_to_perm(struct mmc *mmc, u8 *ext_csd) ++{ ++ int err; ++ u8 wp_enable_type = WP_PERM_EN_BIT; ++ u8 user_wp = ext_csd[EXT_CSD_USER_WP]; ++ ++ if (mmc_is_us_perm_wp_dis(user_wp)) { ++ printf("Failed: Permanent protection had been disabled\n"); ++ return 1; ++ } ++ ++ err = set_us_wp_en(mmc, ext_csd, wp_enable_type); ++ if (err) { ++ printf("Failed: set permanent write protect enable failed\n"); ++ return 1; ++ } ++ return 0; ++} ++ ++static int set_wp_register(struct mmc *mmc, u8 *ext_csd, u8 wp_type) ++{ ++ int ret = 1; ++ if (wp_type == WP_POWER_ON_TYPE) ++ ret = set_register_to_pwr(mmc, ext_csd); ++ else if (wp_type == WP_PERMANENT_TYPE) ++ ret = set_register_to_perm(mmc, ext_csd); ++ else if (wp_type == WP_TEMPORARY_TYPE) ++ ret = set_register_to_temporary(mmc, ext_csd); ++ return ret; ++} ++ ++static u64 write_protect_group_size(struct mmc *mmc, u8 *ext_csd) ++{ ++ int erase_group_def = ext_csd[EXT_CSD_ERASE_GROUP_DEF]; ++ u64 write_protect_group_size; ++ int wp_grp_size = mmc->csd[2] & WP_GRP_SIZE_MASK; ++ int hc_wp_grp_size = ext_csd[EXT_CSD_HC_WP_GRP_SIZE]; ++ ++ if (erase_group_def == 0) ++ write_protect_group_size = (wp_grp_size + 1) * mmc->erase_grp_size; ++ else ++ write_protect_group_size = hc_wp_grp_size * mmc->erase_grp_size; ++ ++ return write_protect_group_size; ++} ++ ++int is_write_protect_valid(u8 *ext_csd) ++{ ++ u8 class_6_ctrl = ext_csd[EXT_CSD_CLASS_6_CTRL]; ++ if (class_6_ctrl == 0) ++ return 1; ++ return 0; ++} ++ ++static int compute_write_protect_range(struct mmc *mmc, char *name, ++ u8 *ext_csd, u64 *wp_grp_size_addr, u64 *start_addr, u64 *end) ++{ ++ int blk_shift; ++ struct partitions *part_info; ++ u64 cnt; ++ u64 start = *start_addr; ++ u64 align_start = *start_addr; ++ u64 wp_grp_size = *wp_grp_size_addr; ++ u64 group_num ; ++ u64 partition_end; ++ ++ wp_grp_size = write_protect_group_size(mmc, ext_csd); ++ ++ blk_shift = ffs(mmc->read_bl_len) -1; ++ ++ part_info = find_mmc_partition_by_name(name); ++ if (part_info == NULL) ++ return 1; ++ ++ start = part_info->offset >> blk_shift; ++ printf("start:%d wp_grp_size:%d",(int)start,(int)wp_grp_size); ++ if ((start % wp_grp_size)) { ++ align_start = (start + wp_grp_size - 1) / wp_grp_size * wp_grp_size; ++ printf("Caution! The partition start address isn't' aligned" ++ "to group size\n" ++ "the start address is change from 0x%llx to 0x%llx\n", ++ start, align_start); ++ } else { ++ align_start = start; ++ } ++ if (emmc_cur_partition && !strncmp(name, "bootloader", strlen("bootloader"))) ++ cnt =0; ++ else ++ cnt = part_info->size >> blk_shift; ++ if (cnt < wp_grp_size) { ++ printf("Caution: The partition size is 0x%llx sector smaller than " ++ "the group size 0x%llx sector, \n" ++ "so the partition can't be protect\n", cnt, wp_grp_size); ++ return 1; ++ } ++ ++ *start_addr = align_start; ++ *wp_grp_size_addr = wp_grp_size; ++ partition_end = start + cnt - 1; ++ group_num = (cnt - (align_start - start)) / wp_grp_size; ++ *end = align_start + group_num * wp_grp_size - 1; ++ ++ if (partition_end != *end) { ++ printf("Caution! The boundary of partition isn't aligned with write " ++ "protected group,\n" ++ "so the write protected boundry of the " ++ "partition is 0x%llx, rather than 0x%llx\n", ++ *end, partition_end); ++ } ++ ++ printf("write_protect group size is 0x%llx sector\n", wp_grp_size); ++ printf("The %s partition write protect group number is %lld\n", name, group_num); ++#ifdef WP_DEBUG ++ printf("the start address is 0x%llx, group size is 0x%llx, end is 0x%llx\n", ++ *start_addr, *wp_grp_size_addr, *end); ++#endif ++ return 0; ++} ++ ++static int send_wp_prot_type(struct mmc *mmc, void *dst, u64 blk) ++{ ++ struct mmc_cmd cmd; ++ int err; ++ struct mmc_data data; ++ ++ cmd.cmdidx = MMC_CMD_SEND_WRITE_PROT_TYPE; ++ cmd.cmdarg = blk; ++ cmd.resp_type = MMC_RSP_R1; ++ ++ data.dest = dst; ++ data.blocks = 1; ++ data.blocksize = 8; ++ data.flags = MMC_DATA_READ; ++ ++ err = mmc_send_cmd(mmc, &cmd, &data); ++ if (err) ++ goto err_out; ++ ++ return 0; ++ ++err_out: ++ puts("Failed: mmc send write protect type failed\n"); ++ return err; ++} ++ ++static int is_wp_set_failed(struct mmc *mmc, u8 wp_type, u64 start, u64 group_cnt) ++{ ++ u8 *addr = NULL; ++ u8 err = 0; ++ ++ addr = malloc(sizeof(u64)); ++ if (addr == NULL) { ++ printf("Failed: malloc failed\n"); ++ return 1; ++ } ++ ++ err = send_wp_prot_type(mmc, addr, start); ++ if (err) ++ goto err_out; ++ ++#ifdef WP_DEBUG ++ int i; ++ for (i = 0; i < 8; i++) ++ printf("write_protect status is %x\n", ((u8 *)addr)[i]); ++#endif ++ if (check_wp_type(addr, wp_type, group_cnt)) { ++ printf("Failed: Write Protection set failed\n"); ++ goto err_out; ++ } ++ return 0; ++ ++err_out: ++ free(addr); ++ return 1; ++} ++ ++static int send_part_wp_type(struct mmc *mmc, char *name) ++{ ++ int err = 0; ++ u8 ext_csd[512] = {0}; ++ u64 wp_grp_size, start, part_end; ++ u64 group_start; ++ void *addr = NULL; ++ int i; ++ int ret; ++ ++ ret = mmc_get_ext_csd(mmc, ext_csd); ++ if (ret) { ++ printf("Failed: get ext_csd failed\n"); ++ return 1; ++ } ++ ++ if (!is_write_protect_valid(ext_csd)) { ++ printf("Failed: CLASS_6_CTRL isn't '0' " ++ "write protect process is invalid\n"); ++ return 1; ++ } ++ ++ addr = malloc(sizeof(u64)); ++ if (addr == NULL) { ++ printf("Failed: malloc failed\n"); ++ return 1; ++ } ++ ++ err = compute_write_protect_range(mmc, name, ext_csd, ++ &wp_grp_size, &start, &part_end); ++ if (err) ++ return 1; ++ ++ group_start = start; ++ ++ while ((group_start + wp_grp_size - 1) <= part_end) { ++ err = send_wp_prot_type(mmc, addr, group_start); ++ if (err) ++ return 1; ++ printf("The write protect type for the 32 groups after 0x%llx is: \n0x", ++ group_start); ++ for (i = 0; i < 8; i++) ++ printf("%02x", ((u8*)addr)[i]); ++ printf("\n"); ++ group_start += 32 * wp_grp_size; ++ } ++ return 0; ++} ++ ++static int send_add_wp_type(struct mmc *mmc, u64 start, u64 cnt) ++{ ++ u8 ext_csd[512] = {0}; ++ u64 wp_grp_size = 0; ++ u64 part_end = 0; ++ u64 group_start; ++ u64 mmc_boundary; ++ int blk_shift; ++ void *addr = NULL; ++ int i; ++ int ret; ++ ++ ret = mmc_get_ext_csd(mmc, ext_csd); ++ if (ret) { ++ printf("Failed: get ext_csd failed\n"); ++ return 1; ++ } ++ ++ if (!is_write_protect_valid(ext_csd)) { ++ printf("Failed: CLASS_6_CTRL isn't '0' " ++ "write protect process is invalid\n"); ++ return 1; ++ } ++ ++ addr = malloc(sizeof(u64)); ++ if (addr == NULL) { ++ printf("Failed: malloc failed\n"); ++ return 1; ++ } ++ ++ wp_grp_size = write_protect_group_size(mmc, ext_csd); ++ ++ if ((start % wp_grp_size)) { ++ group_start = (start + wp_grp_size - 1) / wp_grp_size * wp_grp_size; ++ printf("Caution! The partition start address isn't' aligned" ++ "to group size\n" ++ "the start address is change from 0x%llx to 0x%llx\n", ++ start, group_start); ++ part_end = group_start + (cnt - 1) * wp_grp_size - 1; ++ printf("The write protect group number is 0x%llx, rather than 0x%lld\n", ++ cnt - 1, cnt); ++ } else { ++ group_start = start; ++ part_end = group_start + cnt * wp_grp_size - 1; ++ } ++ ++ blk_shift = ffs(mmc->read_bl_len) - 1; ++ mmc_boundary = mmc->capacity>>blk_shift; ++ ++ if ((part_end + 1) > mmc_boundary) { ++ printf("Error: the operation cross the boundary of mmc\n"); ++ return 1; ++ } ++ ++ while ((group_start + wp_grp_size - 1) <= part_end) { ++ ret = send_wp_prot_type(mmc, addr, group_start); ++ if (ret) ++ return 1; ++ printf("The write protect type for the 32 groups after 0x%llx is: \n0x", ++ group_start); ++ for (i = 0; i < 8; i++) ++ printf("%02x", ((u8*)addr)[i]); ++ printf("\n"); ++ group_start += 32 * wp_grp_size; ++ } ++ return 0; ++} ++ ++static int set_part_write_protect(struct mmc *mmc, u8 wp_type, char *name) ++{ ++ int err = 0; ++ u8 ext_csd[512] = {0}; ++ u8 group_num = 32; ++ u64 wp_grp_size, start, part_end; ++ u64 group_start; ++ u64 check_group_start; ++ u64 set_protect_cnt = 0; ++ ++ err = mmc_get_ext_csd(mmc, ext_csd); ++ if (err) { ++ printf("Failed: get ext_csd failed\n"); ++ return 1; ++ } ++ ++ if (!is_write_protect_valid(ext_csd)) { ++ printf("Failed: CLASS_6_CTRL isn't '0' " ++ "write protect process is invalid\n"); ++ return 1; ++ } ++ ++ err = compute_write_protect_range(mmc, name, ext_csd, ++ &wp_grp_size, &start, &part_end); ++ if (err) ++ return 1; ++ ++ group_start = start; ++ err = set_wp_register(mmc, ext_csd, wp_type); ++ if (err) ++ return 1; ++ while ((group_start + wp_grp_size - 1) <= part_end) { ++ err = set_write_prot(mmc, group_start); ++ if (err) ++ return 1; ++ group_start += wp_grp_size; ++ set_protect_cnt++; ++//check write protect type every 32 group ++ if (set_protect_cnt % 32 == 0) { ++ check_group_start = group_start - group_num * wp_grp_size; ++ err = is_wp_set_failed(mmc, wp_type, check_group_start, group_num); ++ if (err) ++ return 1; ++ } ++ } ++ ++ group_num = set_protect_cnt % 32; ++ check_group_start = group_start - group_num * wp_grp_size; ++ ++ if (group_num) { ++ err = is_wp_set_failed(mmc, wp_type, check_group_start, group_num); ++ if (err) ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static int set_add_write_protect(struct mmc *mmc, u8 wp_type, u64 start, u64 cnt) ++{ ++ int err = 0; ++ u8 ext_csd[512] = {0}; ++ int group_num = 32; ++ u64 wp_grp_size, part_end; ++ u64 group_start; ++ u64 check_group_start; ++ u64 set_protect_cnt = 0; ++ u64 mmc_boundary = 0; ++ int blk_shift; ++ err = mmc_get_ext_csd(mmc, ext_csd); ++ ++ if (err) { ++ printf("Failed: get ext_csd failed\n"); ++ return 1; ++ } ++ ++ if (!is_write_protect_valid(ext_csd)) { ++ printf("Failed: CLASS_6_CTRL isn't '0' " ++ "write protect process is invalid\n"); ++ return 1; ++ } ++ ++ if (err) ++ return 1; ++ ++ wp_grp_size = write_protect_group_size(mmc, ext_csd); ++ ++ if ((start % wp_grp_size)) { ++ group_start = (start + wp_grp_size - 1) / wp_grp_size * wp_grp_size; ++ printf("Caution! The partition start address isn't' aligned" ++ "to group size\n" ++ "the start address is change from 0x%llx to 0x%llx\n", ++ start, group_start); ++ part_end = group_start + (cnt - 1) * wp_grp_size - 1; ++ printf("The write protect group number is 0x%llx, rather than 0x%lld\n", ++ cnt - 1, cnt); ++ } else { ++ group_start = start; ++ part_end = group_start + cnt * wp_grp_size - 1; ++ } ++ ++ blk_shift = ffs(mmc->read_bl_len) - 1; ++ mmc_boundary = mmc->capacity>>blk_shift; ++ ++ if ((part_end + 1) > mmc_boundary) { ++ printf("Error: the operation cross the boundary of mmc\n"); ++ return 1; ++ } ++ ++ err = set_wp_register(mmc, ext_csd, wp_type); ++ if (err) ++ return 1; ++ ++ while ((group_start + wp_grp_size - 1) <= part_end) { ++ err = set_write_prot(mmc, group_start); ++ if (err) ++ return 1; ++ group_start += wp_grp_size; ++ set_protect_cnt++; ++//check write protect type every 32 group ++ if (set_protect_cnt % 32 == 0) { ++ check_group_start = group_start - group_num * wp_grp_size; ++ err = is_wp_set_failed(mmc, wp_type, check_group_start, group_num); ++ if (err) ++ return 1; ++ } ++ } ++ ++ group_num = set_protect_cnt % 32; ++ check_group_start = group_start - group_num * wp_grp_size; ++ ++ if (group_num) { ++ err = is_wp_set_failed(mmc, wp_type, check_group_start, group_num); ++ if (err) ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static int do_amlmmc_write_protect(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ struct mmc *mmc; ++ int dev = 1; ++ char *name = NULL; ++ char *wp_type_str = NULL; ++ u8 write_protect_type; ++ u64 start, cnt; ++ ++ if (argc > 5 || argc < 4) ++ return ret; ++ if (argc == 4) { ++ name = argv[2]; ++ wp_type_str = argv[3]; ++ dev = find_dev_num_by_partition_name(name); ++ if (dev < 0) { ++ printf("Error: Cannot find dev.\n"); ++ return CMD_RET_USAGE; ++ } ++ } else { ++ start = simple_strtoull(argv[2], NULL, 16); ++ cnt = simple_strtoull(argv[3], NULL, 0); ++ wp_type_str = argv[4]; ++ } ++ ++ mmc = find_mmc_device(dev); ++ ++ if (IS_SD(mmc)) { ++ mmc = find_mmc_device(~dev); ++ if (IS_SD(mmc)) { ++ printf("SD card can not be write protect\n"); ++ return 1; ++ } ++ } ++ ++ if (!mmc) ++ return 1; ++ ++ mmc_init(mmc); ++ if (!mmc) ++ return 1; ++ ++ if (strcmp(wp_type_str, "temporary") == 0) ++ write_protect_type = WP_TEMPORARY_TYPE; ++ else if (strcmp(wp_type_str, "power_on") == 0 ) ++ write_protect_type = WP_POWER_ON_TYPE; ++ else if (strcmp(wp_type_str, "permanent") == 0) ++ write_protect_type = WP_PERMANENT_TYPE; ++ else ++ return ret; ++ ++ if (argc == 4) ++ ret = set_part_write_protect(mmc, write_protect_type, name); ++ else ++ ret = set_add_write_protect(mmc, write_protect_type, start, cnt); ++ ++ return ret; ++} ++ ++static int clear_write_prot_per_group(struct mmc *mmc, u64 blk) ++{ ++ struct mmc_cmd cmd; ++ int err; ++ ++ cmd.cmdidx = MMC_CMD_CLR_WRITE_PROT; ++ cmd.cmdarg = blk; ++ cmd.resp_type = MMC_RSP_R1b; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ return err; ++} ++ ++static int set_part_clear_wp(struct mmc *mmc, char *name) ++{ ++ int err = 0; ++ u8 ext_csd[512] = {0}; ++ u8 group_num = 32; ++ u64 wp_grp_size, start, part_end; ++ u64 group_start; ++ u64 check_group_start; ++ u64 set_protect_cnt = 0; ++ u8 wp_type = WP_CLEAR_TYPE; ++ ++ err = mmc_get_ext_csd(mmc, ext_csd); ++ if (err) { ++ printf("get ext_csd failed\n"); ++ return 1; ++ } ++ ++ if (!is_write_protect_valid(ext_csd)) { ++ printf("CLASS_6_CTRL isn't '0' write protect process is invalid\n"); ++ return 1; ++ } ++ ++ err = compute_write_protect_range(mmc, name, ext_csd, ++ &wp_grp_size, &start, &part_end); ++ if (err) ++ return 1; ++ ++ group_start = start; ++/* ++ if (!is_wp_type_temporary(ext_csd)) { ++ printf("The write protect can't be clear\n"); ++ return 1; ++ } ++*/ ++ while ((group_start + wp_grp_size - 1) <= part_end) { ++ err = clear_write_prot_per_group(mmc, group_start); ++ if (err) { ++ printf("Error: The write protect can't be clear\n"); ++ return 1; ++ } ++ group_start += wp_grp_size; ++ set_protect_cnt++; ++//check write protect type every 32 group ++ if (set_protect_cnt % 32 == 0) { ++ check_group_start = group_start - group_num * wp_grp_size; ++ err = is_wp_set_failed(mmc, wp_type, check_group_start, group_num); ++ if (err) ++ return 1; ++ } ++ } ++ ++ group_num = set_protect_cnt % 32; ++ check_group_start = group_start - group_num * wp_grp_size; ++ ++ if (group_num) { ++ err = is_wp_set_failed(mmc, wp_type, check_group_start, group_num); ++ if (err) ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static int set_add_clear_wp(struct mmc *mmc, u64 start, u64 cnt) ++{ ++ int err = 0; ++ u8 ext_csd[512] = {0}; ++ u8 group_num = 32; ++ u64 wp_grp_size, part_end; ++ u64 group_start; ++ u64 check_group_start; ++ u64 set_protect_cnt = 0; ++ u8 wp_type = WP_CLEAR_TYPE; ++ int blk_shift; ++ u64 mmc_boundary; ++ ++ err = mmc_get_ext_csd(mmc, ext_csd); ++ if (err) { ++ printf("get ext_csd failed\n"); ++ return 1; ++ } ++ ++ if (!is_write_protect_valid(ext_csd)) { ++ printf("CLASS_6_CTRL isn't '0' write protect process is invalid\n"); ++ return 1; ++ } ++ ++ wp_grp_size = write_protect_group_size(mmc, ext_csd); ++ ++ if ((start % wp_grp_size)) { ++ group_start = (start + wp_grp_size - 1) / wp_grp_size * wp_grp_size; ++ printf("Caution! The partition start address isn't' aligned" ++ "to group size\n" ++ "the start address is change from 0x%llx to 0x%llx\n", ++ start, group_start); ++ part_end = group_start + (cnt - 1) * wp_grp_size - 1; ++ printf("The write protect group number is 0x%llx, rather than 0x%lld\n", ++ cnt - 1, cnt); ++ } else { ++ group_start = start; ++ part_end = group_start + cnt * wp_grp_size - 1; ++ } ++ ++ blk_shift = ffs(mmc->read_bl_len) - 1; ++ mmc_boundary = mmc->capacity>>blk_shift; ++ ++ if ((part_end + 1) > mmc_boundary) { ++ printf("Error: the operation cross the boundary of mmc\n"); ++ return 1; ++ } ++ ++ while ((group_start + wp_grp_size - 1) <= part_end) { ++ err = clear_write_prot_per_group(mmc, group_start); ++ if (err) { ++ printf("Error: The write protect can't be clear\n"); ++ return 1; ++ } ++ group_start += wp_grp_size; ++ set_protect_cnt++; ++//check write protect type every 32 group ++ if (set_protect_cnt % 32 == 0) { ++ check_group_start = group_start - group_num * wp_grp_size; ++ err = is_wp_set_failed(mmc, wp_type, check_group_start, group_num); ++ if (err) ++ return 1; ++ } ++ } ++ ++ group_num = set_protect_cnt % 32; ++ check_group_start = group_start - group_num * wp_grp_size; ++ ++ if (group_num) { ++ err = is_wp_set_failed(mmc, wp_type, check_group_start, group_num); ++ if (err) ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static int do_amlmmc_clear_wp(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ struct mmc *mmc; ++ int dev = 1; ++ char *name = NULL; ++ u64 start, cnt; ++ ++ if (argc < 3 || argc > 4) ++ return ret; ++ ++ if (argc == 3) { ++ name = argv[2]; ++ dev = find_dev_num_by_partition_name(name); ++ if (dev < 0) { ++ printf("Error: Cannot find dev.\n"); ++ return CMD_RET_USAGE; ++ } ++ } else { ++ start = simple_strtoull(argv[2], NULL, 16); ++ cnt = simple_strtoull(argv[3], NULL, 10); ++ } ++ ++ mmc = find_mmc_device(dev); ++ if (!mmc) ++ return 1; ++ ++ if (IS_SD(mmc)) { ++ mmc = find_mmc_device(~dev); ++ if (IS_SD(mmc)) { ++ printf("SD card can not be write protect\n"); ++ return 1; ++ } ++ } ++ ++ mmc_init(mmc); ++ if (!mmc) ++ return 1; ++ ++ if (argc == 3) ++ ret = set_part_clear_wp(mmc, name); ++ else ++ ret = set_add_clear_wp(mmc, start, cnt); ++ ++ return ret; ++} ++ ++static int send_write_prot_status_group(struct mmc *mmc, u64 blk) ++{ ++ struct mmc_cmd cmd; ++ struct mmc_data data; ++ int err; ++ void *addr = NULL; ++ int i = 0; ++ addr = malloc(4*sizeof(u8)); ++ ++ if (addr == NULL) { ++ printf("Failed: malloc failed\n"); ++ return 1; ++ } ++ ++ cmd.cmdidx = MMC_CMD_SEND_WRITE_PROT; ++ cmd.cmdarg = blk; ++ cmd.resp_type = MMC_RSP_R1; ++ ++ data.dest = addr; ++ data.blocks = 1; ++ data.blocksize = 4; ++ data.flags = MMC_DATA_READ; ++ ++ err = mmc_send_cmd(mmc, &cmd, &data); ++ if (err) ++ goto err_out; ++ ++ printf("The write protect type for the 32 groups after 0x%llx is:\n0x", ++ blk); ++ for (i = 0 ; i < 4; i++) ++ printf("%02x", ((u8 *)addr)[i]); ++ printf("\n"); ++ ++ free(addr); ++ return 0; ++err_out: ++ free(addr); ++ return 1; ++} ++ ++static int send_part_wp_status(struct mmc *mmc, char *name) ++{ ++ int err = 0; ++ u8 ext_csd[512] = {0}; ++ u64 wp_grp_size, start, part_end; ++ u64 group_start; ++ ++ err = mmc_get_ext_csd(mmc, ext_csd); ++ if (err) { ++ printf("Failed: get ext_csd failed\n"); ++ return 1; ++ } ++ ++ if (!is_write_protect_valid(ext_csd)) { ++ printf("Failed: CLASS_6_CTRL isn't '0' " ++ "write protect process is invalid\n"); ++ return 1; ++ } ++ ++ err = compute_write_protect_range(mmc, name, ext_csd, ++ &wp_grp_size, &start, &part_end); ++ if (err) ++ return 1; ++ ++ group_start = start; ++ ++ while ((group_start + wp_grp_size - 1) <= part_end) { ++ err = send_write_prot_status_group(mmc, group_start); ++ if (err) ++ return 1; ++ group_start += 32 * wp_grp_size; ++ } ++ ++ return 0; ++} ++ ++static int send_add_wp_status(struct mmc *mmc, u64 start, u64 cnt) ++{ ++ int err = 0; ++ u8 ext_csd[512] = {0}; ++ u64 wp_grp_size, part_end; ++ u64 group_start; ++ int blk_shift; ++ u64 mmc_boundary; ++ err = mmc_get_ext_csd(mmc, ext_csd); ++ if (err) { ++ printf("Failed: get ext_csd failed\n"); ++ return 1; ++ } ++ ++ if (!is_write_protect_valid(ext_csd)) { ++ printf("Failed: CLASS_6_CTRL isn't '0' " ++ "write protect process is invalid\n"); ++ return 1; ++ } ++ ++ wp_grp_size = write_protect_group_size(mmc, ext_csd); ++ ++ if ((start % wp_grp_size)) { ++ group_start = (start + wp_grp_size - 1) / wp_grp_size * wp_grp_size; ++ printf("Caution! The partition start address isn't' aligned" ++ "to group size\n" ++ "the start address is change from 0x%llx to 0x%llx\n", ++ start, group_start); ++ part_end = group_start + (cnt - 1) * wp_grp_size - 1; ++ printf("The write protect group number is 0x%llx, rather than 0x%lld\n", ++ cnt - 1, cnt); ++ } else { ++ group_start = start; ++ part_end = group_start + cnt * wp_grp_size - 1; ++ } ++ ++ blk_shift = ffs(mmc->read_bl_len) - 1; ++ mmc_boundary = mmc->capacity>>blk_shift; ++ ++ if ((part_end + 1) > mmc_boundary) { ++ printf("Error: the operation cross the boundary of mmc\n"); ++ return 1; ++ } ++ ++ while ((group_start + wp_grp_size - 1) <= part_end) { ++ err = send_write_prot_status_group(mmc, group_start); ++ if (err) ++ return 1; ++ group_start += 32 * wp_grp_size; ++ } ++ ++ return 0; ++} ++ ++static int do_amlmmc_send_wp_status(struct cmd_tbl *cmdtp, ++ int flag, int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ struct mmc *mmc; ++ int dev = 1; ++ char *name = NULL; ++ u64 start, cnt; ++ ++ if (argc < 3 || argc > 4) ++ return ret; ++ ++ if (argc == 3) { ++ name = argv[2]; ++ dev = find_dev_num_by_partition_name(name); ++ if (dev < 0) { ++ printf("Error: Cannot find dev.\n"); ++ return 1; ++ } ++ } else { ++ start = simple_strtoull(argv[2], NULL, 16); ++ cnt = simple_strtoull(argv[3], NULL, 0); ++ } ++ ++ mmc = find_mmc_device(dev); ++ ++ if (IS_SD(mmc)) { ++ mmc = find_mmc_device(~dev); ++ if (IS_SD(mmc)) { ++ printf("SD card can not be write protect\n"); ++ return 1; ++ } ++ } ++ ++ if (!mmc) ++ return 1; ++ ++ mmc_init(mmc); ++ if (!mmc) ++ return 1; ++ ++ if (argc == 3) ++ ret = send_part_wp_status(mmc, name); ++ else ++ ret = send_add_wp_status(mmc, start, cnt); ++ ++ if (ret) { ++ printf("Failed: send partition write protect status failed\n"); ++ } ++ ++ return ret; ++} ++ ++static int do_amlmmc_send_wp_type(struct cmd_tbl *cmdtp, ++ int flag, int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ struct mmc *mmc; ++ int dev = 1; ++ char *name = NULL; ++ u64 start, cnt; ++ ++ if (argc < 3 || argc > 4) ++ return ret; ++ ++ if (argc == 3) { ++ name = argv[2]; ++ dev = find_dev_num_by_partition_name(name); ++ if (dev < 0) { ++ printf("Error: Cannot find dev.\n"); ++ return 1; ++ } ++ } else { ++ start = simple_strtoull(argv[2], NULL, 16); ++ cnt = simple_strtoull(argv[3], NULL, 0); ++ } ++ ++ mmc = find_mmc_device(dev); ++ ++ if (!mmc) ++ return 1; ++ ++ if (IS_SD(mmc)) { ++ mmc = find_mmc_device(~dev); ++ if (IS_SD(mmc)) { ++ printf("SD card can not be write protect\n"); ++ return 1; ++ } ++ } ++ ++ mmc_init(mmc); ++ if (!mmc) ++ return 1; ++ if (argc == 3) ++ ret = send_part_wp_type(mmc, name); ++ else ++ ret = send_add_wp_type(mmc, start, cnt); ++ ++ if (ret) { ++ printf("Failed: send parittion write protect type failed\n"); ++ } ++ ++ return ret; ++} ++ ++static int set_driver_strength(struct mmc *mmc, int strength) ++{ ++ int ret = 0; ++ u8 ext_csd[512] = {0}; ++ u8 strength_type = 0; ++ u8 driver_strength; ++ u8 hs_timing = 0; ++ ret = mmc_get_ext_csd(mmc, ext_csd); ++ if (ret) { ++ printf("get ext_csd failed\n"); ++ return ret; ++ } ++ strength_type = 1 << strength; ++ driver_strength = ext_csd[EXT_CSD_DRIVER_STRENGTH]; ++ if (0 == (strength_type & driver_strength)) { ++ printf("Failed: This device didn't support strength type %d\n", strength); ++ return 1; ++ } ++ ++ hs_timing = ext_csd[EXT_CSD_HS_TIMING]; ++ if ((hs_timing >> 4) > 0) { ++ printf("Failed: The driver strength has been set already, \ ++ please reset the device\n"); ++ return 1; ++ } ++ ++ hs_timing = hs_timing | (strength << 4); ++ ++ ret = mmc_set_ext_csd(mmc, EXT_CSD_HS_TIMING, hs_timing); ++ if (ret) { ++ printf("set ext_csd hs_timing field failed\n"); ++ return ret; ++ } ++ ret = mmc_get_ext_csd(mmc, ext_csd); ++ if (ret) { ++ printf("get ext_csd failed\n"); ++ return ret; ++ } ++ printf("The ext_csd[HS_TIMING] has been set to 0x%x\n", ++ ext_csd[EXT_CSD_HS_TIMING]); ++ return ret; ++} ++ ++static int get_driver_strength(struct mmc *mmc) ++{ ++ int ret = 0; ++ u8 ext_csd[512] = {0}; ++ u8 support_ds_type = 0; ++ u8 cur_driver_strength; ++ u8 hs_timing = 0; ++ ret = mmc_get_ext_csd(mmc, ext_csd); ++ if (ret) { ++ printf("get ext_csd failed\n"); ++ return ret; ++ } ++ ++ support_ds_type = ext_csd[EXT_CSD_DRIVER_STRENGTH]; ++ ++ hs_timing = ext_csd[EXT_CSD_HS_TIMING]; ++ cur_driver_strength = hs_timing >> 4; ++ ++ printf("current strength type is: "); ++ int strength_type = 0; ++ while (support_ds_type) { ++ if (support_ds_type & 1) { ++ if (cur_driver_strength == strength_type) ++ printf("[%d] ", strength_type); ++ else ++ printf("%d ", strength_type); ++ } ++ strength_type++; ++ support_ds_type = support_ds_type >> 1; ++ } ++ printf("\n"); ++ return ret; ++} ++ ++static int amlmmc_set_driver_strength(int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ int dev, strength; ++ struct mmc *mmc; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ strength = simple_strtoul(argv[3], NULL, 10); ++ mmc = find_mmc_device(dev); ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ mmc_init(mmc); ++ if (!mmc) ++ return 1; ++ ++ ret = set_driver_strength(mmc, strength); ++ ++ return ret; ++} ++ ++static int amlmmc_get_driver_strength(int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ int dev; ++ struct mmc *mmc; ++ ++ if (argc != 3) ++ return CMD_RET_USAGE; ++ ++ dev = simple_strtoul(argv[2], NULL, 10); ++ mmc = find_mmc_device(dev); ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ mmc_init(mmc); ++ if (!mmc) ++ return 1; ++ ++ ret = get_driver_strength(mmc); ++ ++ return ret; ++} ++ ++static int do_amlmmc_driver_strength(struct cmd_tbl *cmdtp, ++ int flag, int argc, char *const argv[]) ++{ ++ int ret = CMD_RET_USAGE; ++ ++ if (argc == 3) ++ ret = amlmmc_get_driver_strength(argc,argv); ++ else if (argc == 4) ++ ret = amlmmc_set_driver_strength(argc,argv); ++ ++ return ret; ++} ++ ++static struct cmd_tbl cmd_amlmmc[] = { ++ U_BOOT_CMD_MKENT(read, 6, 0, do_amlmmc_read, "", ""), ++ U_BOOT_CMD_MKENT(write, 6, 0, do_amlmmc_write, "", ""), ++ U_BOOT_CMD_MKENT(erase, 5, 0, do_amlmmc_erase, "", ""), ++ U_BOOT_CMD_MKENT(rescan, 3, 0, do_amlmmc_rescan, "", ""), ++ U_BOOT_CMD_MKENT(part, 3, 0, do_amlmmc_part, "", ""), ++ U_BOOT_CMD_MKENT(list, 2, 0, do_amlmmc_list, "", ""), ++ U_BOOT_CMD_MKENT(switch, 4, 0, do_amlmmc_switch, "", ""), ++ U_BOOT_CMD_MKENT(status, 3, 0, do_amlmmc_status, "", ""), ++ U_BOOT_CMD_MKENT(ext_csd, 5, 0, do_amlmmc_ext_csd, "", ""), ++ U_BOOT_CMD_MKENT(response, 3, 0, do_amlmmc_response, "", ""), ++ U_BOOT_CMD_MKENT(controller, 3, 0, do_amlmmc_controller, "", ""), ++ U_BOOT_CMD_MKENT(size, 4, 0, do_amlmmc_size, "", ""), ++ U_BOOT_CMD_MKENT(env, 2, 0, do_amlmmc_env, "", ""), ++ U_BOOT_CMD_MKENT(write_protect, 5, 0, do_amlmmc_write_protect, "", ""), ++ U_BOOT_CMD_MKENT(send_wp_status, 4, 0, do_amlmmc_send_wp_status, "", ""), ++ U_BOOT_CMD_MKENT(send_wp_type, 4, 0, do_amlmmc_send_wp_type, "", ""), ++ U_BOOT_CMD_MKENT(clear_wp, 4, 0, do_amlmmc_clear_wp, "", ""), ++ U_BOOT_CMD_MKENT(ds, 4, 0, do_amlmmc_driver_strength, "", ""), ++#ifdef CONFIG_SECURITYKEY ++ U_BOOT_CMD_MKENT(key, 2, 0, do_amlmmc_key, "", ""), ++#endif ++}; ++ ++static int do_amlmmcops(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ struct cmd_tbl *cp; ++ ++ cp = find_cmd_tbl(argv[1], cmd_amlmmc, ARRAY_SIZE(cmd_amlmmc)); ++ ++ if (cp == NULL || argc > cp->maxargs) ++ return CMD_RET_USAGE; ++ ++ if (flag == CMD_FLAG_REPEAT && !cmd_is_repeatable(cp)) ++ return CMD_RET_SUCCESS; ++ ++ return cp->cmd(cmdtp, flag, argc, argv); ++} ++ ++U_BOOT_CMD( ++ amlmmc, 6, 1, do_amlmmcops, ++ "AMLMMC sub system", ++ "read ram_addr addr_byte# cnt_byte\n" ++ "amlmmc write ram_addr addr_byte# cnt_byte\n" ++ "amlmmc erase addr_byte# cnt_byte\n" ++ "amlmmc erase /\n" ++ "amlmmc rescan \n" ++ "amlmmc part - show partition infomation of mmc\n" ++ "amlmmc list - lists available devices\n" ++ "amlmmc env - display env partition offset\n" ++ "amlmmc switch - part name : boot0, boot1, user\n" ++ "amlmmc status - read sd/emmc device status\n" ++ "amlmmc ext_csd - read sd/emmc device EXT_CSD [byte]\n" ++ "amlmmc ext_csd - write sd/emmc device EXT_CSD [byte] value\n" ++ "amlmmc response - read sd/emmc last command response\n" ++ "amlmmc controller - read sd/emmc controller register\n" ++ "amlmmc write_protect \n" ++ " - set write protect on partition through power_on or temporary\n" ++ "amlmmc write_protect \n" ++ " - set write protect on specified address through power_on or temporary\n" ++ "amlmmc send_wp_status send protect status of partition\n" ++ "amlmmc send_wp_status send protect status on specified address\n" ++ "amlmmc send_wp_type send protect type of partition\n" ++ "amlmmc send_wp_type send protect type on specified address\n" ++ "amlmmc clear_wp clear write protect of partition\n" ++ "amlmmc clear_wp clear write protect on specified addresst\n" ++ "amlmmc ds set driver strength\n" ++#ifdef CONFIG_SECURITYKEY ++ "amlmmc key - disprotect key partition\n" ++#endif ++); ++ ++/* dtb read&write operation with backup updates */ ++static u32 _calc_dtb_checksum(struct aml_dtb_rsv * dtb) ++{ ++ int i = 0; ++ int size = sizeof(struct aml_dtb_rsv) - sizeof(u32); ++ u32 * buffer; ++ u32 checksum = 0; ++ ++ if ((u64)dtb % 4 != 0) { ++ BUG(); ++ } ++ ++ size = size >> 2; ++ buffer = (u32*) dtb; ++ while (i < size) ++ checksum += buffer[i++]; ++ ++ return checksum; ++} ++ ++static int _verify_dtb_checksum(struct aml_dtb_rsv * dtb) ++{ ++ u32 checksum; ++ ++ checksum = _calc_dtb_checksum(dtb); ++ dtb_info("calc %x, store %x\n", checksum, dtb->checksum); ++ ++ return !(checksum == dtb->checksum); ++} ++ ++static int _dtb_read(struct mmc *mmc, u64 blk, u64 cnt, void * addr) ++{ ++ int dev = EMMC_DTB_DEV; ++ u64 n; ++ n = blk_dread(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ if (n != cnt) { ++ dtb_err("%s: dev # %d, block # %#llx, count # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ } ++ ++ return (n != cnt); ++} ++ ++static int _dtb_write(struct mmc *mmc, u64 blk, u64 cnt, void * addr) ++{ ++ int dev = EMMC_DTB_DEV; ++ u64 n; ++ n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ if (n != cnt) { ++ dtb_err("%s: dev # %d, block # %#llx, count # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ } ++ ++ return (n != cnt); ++} ++ ++static struct mmc *_dtb_init(void) ++{ ++ struct mmc *mmc = find_mmc_device(EMMC_DTB_DEV); ++ if (!mmc) { ++ dtb_err("not find mmc\n"); ++ return NULL; ++ } ++ ++ if (mmc_init(mmc)) { ++ dtb_err("mmc init failed\n"); ++ return NULL; ++ } ++ return mmc; ++} ++ ++static int dtb_read_shortcut(struct mmc * mmc, void *addr) ++{ ++ u64 blk, cnt, dtb_glb_offset; ++ int dev = EMMC_DTB_DEV; ++ struct aml_dtb_info *info = &dtb_infos; ++ struct partitions * part = NULL; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ dtb_glb_offset = part->offset + vpart->offset; ++ /* short cut */ ++ if (info->valid[0]) { ++ dtb_info("short cut in...\n"); ++ blk = dtb_glb_offset / mmc->read_bl_len; ++ cnt = vpart->size / mmc->read_bl_len; ++ if (_dtb_read(mmc, blk, cnt, addr)) { ++ dtb_err("%s: dev # %d, block # %#llx,cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ /*try dtb2 if it's valid */ ++ if (info->valid[1]) { ++ blk = (dtb_glb_offset + vpart->size) / mmc->read_bl_len; ++ cnt = vpart->size / mmc->read_bl_len; ++ if (_dtb_read(mmc, blk, cnt, addr)) { ++ dtb_err("%s: dev # %d, block # %#llx, cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ return -1; ++ } ++ } ++ } ++ return 0; ++ } ++ return -2; ++} ++ ++static int update_dtb_info(struct mmc *mmc, void *addr) ++{ ++ int ret = 0, dev = EMMC_DTB_DEV; ++ u64 blk, cnt, dtb_glb_offset; ++ struct aml_dtb_rsv * dtb = (struct aml_dtb_rsv *) addr; ++ struct aml_dtb_info *info = &dtb_infos; ++ int cpy = 1, valid = 0; ++ struct partitions * part = NULL; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ dtb_glb_offset = part->offset + vpart->offset; ++ ++ while (cpy >= 0) { ++ blk = (dtb_glb_offset + cpy * (vpart->size)) / mmc->read_bl_len; ++ cnt = vpart->size / mmc->read_bl_len; ++ ret = _dtb_read(mmc, blk, cnt, addr); ++ if (ret) { ++ dtb_err("%s: dev # %d, block # %#llx, cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ } else { ++ ret = _verify_dtb_checksum(dtb); ++ /* check magic avoid whole 0 issue */ ++ if (!ret && (dtb->magic != 0)) { ++ info->stamp[cpy] = dtb->timestamp; ++ info->valid[cpy] = 1; ++ } ++ else ++ dtb_wrn("cpy %d is not valid\n", cpy); ++ } ++ valid += info->valid[cpy]; ++ cpy --; ++ } ++ return valid; ++} ++ ++static int update_invalid_dtb(struct mmc *mmc, void *addr) ++{ ++ int ret = 0, dev = EMMC_DTB_DEV; ++ u64 blk, cnt, dtb_glb_offset; ++ struct aml_dtb_rsv * dtb = (struct aml_dtb_rsv *) addr; ++ struct aml_dtb_info *info = &dtb_infos; ++ struct partitions * part = NULL; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ dtb_glb_offset = part->offset + vpart->offset; ++ cnt = vpart->size / mmc->read_bl_len; ++ ++ if (info->valid[1]) { ++ blk = (dtb_glb_offset + vpart->size) / mmc->read_bl_len; ++ if (_dtb_read(mmc, blk, cnt, addr)) { ++ dtb_err("%s: dev # %d, block # %#llx,cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ ret = -2; ++ } ++ /* fixme, update the invalid one - dtb1 */ ++ blk = (dtb_glb_offset) / mmc->read_bl_len; ++ if (_dtb_write(mmc, blk, cnt, addr)) { ++ dtb_err("%s: dev # %d, block # %#llx,cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ ret = -4; ++ } ++ info->valid[0] = 1; ++ info->stamp[0] = dtb->timestamp; ++ ret = 0; ++ } else { ++ dtb_info("update dtb2"); ++ blk = (dtb_glb_offset + vpart->size) / mmc->read_bl_len; ++ if (_dtb_write(mmc, blk, cnt, addr)) { ++ dtb_err("%s: dev # %d, block # %#llx,cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ ret = -2; ++ } ++ info->valid[1] = 1; ++ info->stamp[1] = dtb->timestamp; ++ } ++ return ret; ++} ++ ++int update_old_dtb(struct mmc *mmc, void *addr) ++{ ++ int ret = 0, dev = EMMC_DTB_DEV; ++ u64 blk, cnt, dtb_glb_offset; ++ struct aml_dtb_rsv * dtb = (struct aml_dtb_rsv *) addr; ++ struct aml_dtb_info *info = &dtb_infos; ++ struct partitions * part = NULL; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ dtb_glb_offset = part->offset + vpart->offset; ++ cnt = vpart->size / mmc->read_bl_len; ++ if (stamp_after(info->stamp[1], info->stamp[0])) { ++ blk = (dtb_glb_offset + vpart->size) / mmc->read_bl_len; ++ if (_dtb_read(mmc, blk, cnt, addr)) { ++ dtb_err("%s: dev # %d, block # %#llx,cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ ret = -3; ++ } ++ /*update dtb1*/ ++ blk = dtb_glb_offset / mmc->read_bl_len; ++ if (_dtb_write(mmc, blk, cnt, addr)) { ++ dtb_err("%s: dev # %d, block # %#llx,cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ ret = -3; ++ } ++ info->stamp[0] = dtb->timestamp; ++ ret = 0; ++ } else if (stamp_after(info->stamp[0], info->stamp[1])) { ++ /*update dtb2*/ ++ blk = (dtb_glb_offset + vpart->size) / mmc->read_bl_len; ++ if (_dtb_write(mmc, blk, cnt, addr)) { ++ dtb_err("%s: dev # %d, block # %#llx,cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ ret = -3; ++ } ++ info->stamp[1] = dtb->timestamp; ++ } else { ++ dtb_info("do nothing\n"); ++ } ++ return ret; ++} ++ ++int dtb_read(void *addr) ++{ ++ int ret = 0; ++ int valid = 0; ++ struct mmc *mmc; ++ ++ mmc = _dtb_init(); ++ if (mmc == NULL) ++ return -10; ++ ++ if (dtb_read_shortcut(mmc, addr) == 0) ++ return ret; ++ ++ valid = update_dtb_info(mmc, addr); ++ dtb_info("total valid %d\n", valid); ++ /* check valid */ ++ switch (valid) { ++ /* none is valid, using the 1st one for compatibility*/ ++ case 0: ++ ret = -1; ++ goto _out; ++ break; ++ /* only 1 is valid, using the valid one */ ++ case 1: ++ update_invalid_dtb(mmc, addr); ++ break; ++ /* both are valid, pickup new one. */ ++ case 2: ++ update_old_dtb(mmc, addr); ++ break; ++ default: ++ dtb_err("impossble valid values.\n"); ++ BUG(); ++ break; ++ } ++_out: ++ return ret; ++} ++ ++ ++int dtb_write(void *addr) ++{ ++ int ret = 0; ++ struct aml_dtb_rsv * dtb = (struct aml_dtb_rsv *) addr; ++ struct aml_dtb_info *info = &dtb_infos; ++ u64 blk, cnt, dtb_glb_offset; ++ int cpy, valid; ++ struct mmc * mmc; ++ struct partitions * part = NULL; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ dtb_glb_offset = part->offset + vpart->offset; ++ ++ mmc = _dtb_init(); ++ if (NULL == mmc) ++ return -10; ++ ++ /* stamp */ ++ valid = info->valid[0] + info->valid[1]; ++ dtb_info("valid %d\n", valid); ++ if (0 == valid) ++ dtb->timestamp = 0; ++ else if (1 == valid) { ++ dtb->timestamp = 1 + info->stamp[info->valid[0]?0:1]; ++ } else { ++ /* both are valid */ ++ if (info->stamp[0] != info->stamp[1]) { ++ dtb_wrn("timestamp are not same %d:%d\n", ++ info->stamp[0], info->stamp[1]); ++ dtb->timestamp = 1 + stamp_after(info->stamp[1], info->stamp[0])? ++ info->stamp[1]:info->stamp[0]; ++ } else ++ dtb->timestamp = 1 + info->stamp[0]; ++ } ++ /*setting version and magic*/ ++ dtb->version = 1; /* base version */ ++ dtb->magic = 0x00447e41; /*A~D\0*/ ++ dtb->checksum = _calc_dtb_checksum(dtb); ++ dtb_info("new stamp %d, checksum 0x%x, version %d, magic %s\n", ++ dtb->timestamp, dtb->checksum, dtb->version, (char *)&dtb->magic); ++ ++ for (cpy = 0; cpy < DTB_COPIES; cpy++) { ++ blk = (dtb_glb_offset + cpy * (vpart->size)) / mmc->read_bl_len; ++ cnt = vpart->size / mmc->read_bl_len; ++ ret |= _dtb_write(mmc, blk, cnt, addr); ++ info->valid[cpy] = 1; ++ info->stamp[cpy] = dtb->timestamp; ++ } ++ ++ return ret; ++} ++ ++extern int check_valid_dts(unsigned char *buffer); ++int renew_partition_tbl(unsigned char *buffer) ++{ ++ int ret = 0; ++ ++ unsigned char *temp = NULL; ++ if (!buffer) ++ return 1; ++ temp = malloc (AML_DTB_IMG_MAX_SZ); ++ if (!temp) ++ return 1; ++ memcpy(temp, buffer, AML_DTB_IMG_MAX_SZ); ++ /* todo, check new dts imcoming.... */ ++ ret = check_valid_dts(temp); ++ free(temp); ++ /* todo, check new dts imcoming.... */ ++/* ret = check_valid_dts(buffer);*/ ++ /* only the dts new is valid */ ++ if (!ret) { ++ free_partitions(); ++ get_partition_from_dts(buffer); ++ if (0 == mmc_device_init(_dtb_init())) { ++ printf("partition table success\n"); ++ ret = 0; ++ goto _out; ++ } ++ printf("partition table error\n"); ++ ret = 1; ++ } ++ ++_out: ++ return ret; ++} ++ ++int do_amlmmc_dtb_key(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int dev, ret = 0; ++ void *addr = NULL; ++ u64 cnt = 0, n = 0, blk = 0; ++ //u64 size; ++ struct partitions *part = NULL; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ ++ switch (argc) { ++ case 3: ++ if (strcmp(argv[1], "erase") == 0) { ++ if (strcmp(argv[2], "dtb") == 0) { ++ printf("start erase dtb......\n"); ++ dev = EMMC_DTB_DEV; ++ struct mmc *mmc = find_mmc_device(dev); ++ if (!mmc) { ++ printf("not find mmc\n"); ++ return 1; ++ } ++ blk = (part->offset + vpart->offset) / mmc->read_bl_len; ++ cnt = (vpart->size * 2) / mmc->read_bl_len; ++ if (cnt != 0) ++ n = blk_derase(mmc_get_blk_desc(mmc), blk, cnt); ++ printf("dev # %d, %s, several blocks erased %s\n", ++ dev, (flag == 0) ? " ":(argv[2]),(n == 0) ? "OK" : "ERROR"); ++ return (n == 0) ? 0 : 1; ++ }else if (strcmp(argv[2], "key") == 0){ ++ printf("start erase key......\n"); ++ dev = 1; ++ struct mmc *mmc = find_mmc_device(dev); ++ if (!mmc) { ++ printf("not find mmc\n"); ++ return 1; ++ } ++ n = mmc_key_erase(); ++ printf("dev # %d, %s, several blocks erased %s\n", ++ dev, (flag == 0) ? " ":(argv[2]),(n == 0) ? "OK" : "ERROR"); ++ return (n == 0) ? 0 : 1; ++ } ++ } else if (strcmp(argv[1], "cali_pattern") == 0) { ++ ++ if (strcmp(argv[2], "write") == 0) { ++ dev = EMMC_DTB_DEV; ++ struct mmc *mmc = find_mmc_device(dev); ++ if (!mmc) { ++ printf("not find mmc\n"); ++ return 1; ++ } ++ vpart = aml_get_virtual_partition_by_name(MMC_PATTERN_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ addr = (void *)malloc(vpart->size); ++ if (addr == NULL) { ++ printf("cali_pattern malloc fail\n"); ++ return 1; ++ } ++ mmc_write_cali_mattern(addr); ++ blk = (part->offset + vpart->offset) / mmc->read_bl_len; ++ cnt = vpart->size / mmc->read_bl_len; ++ if (cnt != 0) ++ n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ printf("dev # %d, %s, several calibration pattern blocks write %s\n", ++ dev, (flag == 0) ? " ":(argv[2]),(n == cnt) ? "OK" : "ERROR"); ++ free(addr); ++ return (n == cnt) ? 0 : 1; ++ } ++ } ++ case 4: ++ addr = (void *)simple_strtoul(argv[2], NULL, 16); ++ if (strcmp(argv[1], "dtb_read") == 0) { ++ /* fixme, */ ++ ret = dtb_read(addr); ++ return 0; ++ ++ } else if (strcmp(argv[1], "dtb_write") == 0) { ++ /* fixme, should we check the return value? */ ++ ret = dtb_write(addr); ++ ret |= renew_partition_tbl(addr); ++ return ret; ++ } ++ return 0; ++ default: ++ break; ++ } ++ return 1; ++} ++ ++/* update partition table in reserved partition. */ ++__weak int emmc_update_ept(unsigned char *buffer) ++{ ++ int ret = 0; ++ ++#ifndef DTB_BIND_KERNEL ++ dtb_write(buffer); ++#endif ++ ret = renew_partition_tbl(buffer); ++ return ret; ++} ++ ++/* fixme, should use renew_partition_tbl here! */ ++__weak int emmc_update_mbr(unsigned char *buffer) ++{ ++ int ret = 0; ++ //cpu_id_t cpu_id = get_cpu_id(); ++ ++ if (0) { //(cpu_id.family_id < MESON_CPU_MAJOR_ID_GXL) { ++ ret = -1; ++ printf("MBR not support, try dtb\n"); ++ goto _out; ++ } ++#ifndef DTB_BIND_KERNEL ++ dtb_write(buffer); ++#endif ++ ret = get_partition_from_dts(buffer); ++ if (ret) { ++ printf("Fail to get partition talbe from dts\n"); ++ goto _out; ++ } ++ ret = mmc_device_init(_dtb_init()); ++ printf("%s: update mbr %s\n", __func__, ret?"Fail":"Success"); ++_out: ++ return ret; ++} ++ ++int emmc_erase_rsv(struct mmc *mmc, char *rsv_part) ++{ ++ u64 cnt = 0, n = 0, blk = 0; ++ struct partitions *part = NULL; ++ struct virtual_partition *vpart = NULL; ++ ++ if (rsv_part == NULL) ++ return -1; ++ ++ vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ if (strcmp(rsv_part, "dtb") == 0) { ++ blk = (part->offset + vpart->offset) / mmc->read_bl_len; ++ cnt = (vpart->size * 2) / mmc->read_bl_len; ++ if (cnt != 0) ++ n = blk_derase(mmc_get_blk_desc(mmc), blk, cnt); ++ printf("%s is erased %s\n", ++ rsv_part, (n == 0) ? "OK" : "ERROR"); ++ return (n == 0) ? 0 : 1; ++ } else if (strcmp(rsv_part, "key") == 0) { ++ n = mmc_key_erase(); ++ printf("%s is erased %s\n", ++ rsv_part, (n == 0) ? "OK" : "ERROR"); ++ return (n == 0) ? 0 : 1; ++ } ++ return 1; ++} ++ ++int do_emmc_erase(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int dev; ++ u64 cnt = 0, n = 0, blk = 0; ++ //u64 size; ++ struct partitions *part = NULL; ++ struct virtual_partition *vpart = NULL; ++ struct mmc *mmc; ++ if (argc != 3) ++ return CMD_RET_USAGE; ++ ++ vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ if (strcmp(argv[2], "dtb") == 0) { ++ printf("start erase dtb......\n"); ++ dev = EMMC_DTB_DEV; ++ mmc = find_mmc_device(dev); ++ if (!mmc) { ++ printf("not find mmc\n"); ++ return 1; ++ } ++ blk = (part->offset + vpart->offset) / mmc->read_bl_len; ++ cnt = (vpart->size * 2) / mmc->read_bl_len; ++ if (cnt != 0) ++ n = blk_derase(mmc_get_blk_desc(mmc), blk, cnt); ++ printf("dev # %d, %s, several blocks erased %s\n", ++ dev, (flag == 0) ? " ":(argv[2]),(n == 0) ? "OK" : "ERROR"); ++ return (n == 0) ? 0 : 1; ++ } else if (strcmp(argv[2], "key") == 0) { ++ printf("start erase key......\n"); ++ dev = 1; ++ mmc = find_mmc_device(dev); ++ if (!mmc) { ++ printf("not find mmc\n"); ++ return 1; ++ } ++ n = mmc_key_erase(); ++ printf("dev # %d, %s, several blocks erased %s\n", ++ dev, (flag == 0) ? " ":(argv[2]),(n == 0) ? "OK" : "ERROR"); ++ return (n == 0) ? 0 : 1; ++ } ++ return 1; ++} ++ ++int do_emmc_dtb_read(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ void *addr = NULL; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ addr = (void *)simple_strtoul(argv[2], NULL, 16); ++ ret = dtb_read(addr); ++ return ret; ++} ++ ++int do_emmc_dtb_write(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ void *addr = NULL; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ addr = (void *)simple_strtoul(argv[2], NULL, 16); ++ ret = dtb_write(addr); ++ ret |= renew_partition_tbl(addr); ++ return ret; ++} ++ ++static int _fastboot_context_read(struct mmc *mmc, u64 blk, ++ u64 cnt, void *addr) ++{ ++ int dev = EMMC_FASTBOOT_CONTEXT_DEV; ++ u64 n; ++ ++ n = blk_dread(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ if (n != cnt) { ++ fb_err("%s: dev # %d, block # %#llx, count # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ } ++ ++ return n != cnt; ++} ++ ++int fastboot_context_read(void *buf, size_t size) ++{ ++ uint32_t crc_result; ++ struct mmc *mmc; ++ struct FastbootContext *fb_cont; ++ int fb_size = sizeof(struct FastbootContext); ++ u64 blk, cnt, fb_glb_offset; ++ int dev = EMMC_FASTBOOT_CONTEXT_DEV; ++ struct partitions *part = NULL; ++ struct virtual_partition *vpart = NULL; ++ ++ mmc = find_mmc_device(dev); ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ ++ if (mmc_init(mmc)) { ++ printf("%s() %d: emmc init failed\n", __func__, __LINE__); ++ return 1; ++ } ++ ++ vpart = aml_get_virtual_partition_by_name(MMC_FASTBOOT_CONTEXT_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ fb_glb_offset = part->offset + vpart->offset; ++ ++ blk = fb_glb_offset / mmc->read_bl_len; ++ cnt = size / mmc->read_bl_len; ++ ++ if (_fastboot_context_read(mmc, blk, cnt, buf)) ++ return 1; ++ ++ fb_cont = (struct FastbootContext *)buf; ++ crc_result = crc32(0, buf, fb_size - 4); ++ ++ if (crc_result != fb_cont->crc32) { ++ printf("%s %d: crc checksum ERROR!\n", __func__, __LINE__); ++ return 1; ++ } ++ return 0; ++} ++ ++ ++int do_emmc_fb_read(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ void *addr = NULL; ++ u64 size; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ addr = (void *)simple_strtoul(argv[2], NULL, 16); ++ size = simple_strtoull(argv[3], NULL, 16); ++ ret = fastboot_context_read(addr, size); ++ return ret; ++} ++ ++static int _fastboot_context_write(struct mmc *mmc, u64 blk, ++ u64 cnt, void *addr) ++{ ++ int dev = EMMC_FASTBOOT_CONTEXT_DEV; ++ int n; ++ ++ n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ ++ if (n != cnt) { ++ fb_err("%s: dev # %d, block # %#llx,cnt # %#llx ERROR!\n", ++ __func__, dev, blk, cnt); ++ } ++ ++ return n != cnt; ++} ++ ++int fastboot_context_write(void *buf, size_t size) ++{ ++ int ret = 0; ++ struct FastbootContext *fb_cont = (struct FastbootContext *)buf; ++ u64 blk, cnt, fb_glb_offset; ++ struct mmc *mmc; ++ struct partitions *part = NULL; ++ struct virtual_partition *vpart = NULL; ++ int dev = EMMC_FASTBOOT_CONTEXT_DEV; ++ int fb_size = sizeof(struct FastbootContext); ++ ++ mmc = find_mmc_device(dev); ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ ++ ret = mmc_init(mmc); ++ if (ret) { ++ printf("%s() %d: emmc init failed\n", __func__, __LINE__); ++ return 1; ++ } ++ ++ vpart = aml_get_virtual_partition_by_name(MMC_FASTBOOT_CONTEXT_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ fb_glb_offset = part->offset + vpart->offset; ++ fb_cont->crc32 = crc32(0, buf, fb_size - 4); ++ blk = fb_glb_offset / mmc->read_bl_len; ++ cnt = size / mmc->read_bl_len; ++ ret = _fastboot_context_write(mmc, blk, cnt, buf); ++ ++ return ret; ++} ++ ++int do_emmc_fb_write(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ void *addr = NULL; ++ u64 size; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ addr = (void *)simple_strtoul(argv[2], NULL, 16); ++ size = simple_strtoull(argv[3], NULL, 16); ++ ret = fastboot_context_write(addr, size); ++ return ret; ++} ++ ++int do_emmc_key_read(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ void *addr = NULL; ++ u64 size; ++ uint32_t *actual_lenth=0; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ addr = (void *)simple_strtoul(argv[2], NULL, 16); ++ size = simple_strtoull(argv[3], NULL, 16); ++ printf("enter emmc key read !!\n"); ++ printf("addr:%p size:%llx\n",addr,size); ++ ret = mmc_key_read(addr, size,actual_lenth); ++ printf("ret:%d\n",ret); ++ return ret; ++} ++ ++int do_emmc_key_write(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) { ++ ++ int ret = 0; ++ void *addr = NULL; ++ u64 size; ++ uint32_t *actual_lenth=0; ++ ++ if (argc != 4) ++ return CMD_RET_USAGE; ++ ++ addr = (void *)simple_strtoul(argv[2], NULL, 16); ++ size = simple_strtoull(argv[3], NULL, 16); ++ ret = mmc_key_write(addr, size,actual_lenth); ++ return ret; ++ ++ ++} ++ ++ ++ ++ ++static struct cmd_tbl cmd_emmc[] = { ++ U_BOOT_CMD_MKENT(dtb_read, 4, 0, do_emmc_dtb_read, "", ""), ++ U_BOOT_CMD_MKENT(dtb_write, 4, 0, do_emmc_dtb_write, "", ""), ++ U_BOOT_CMD_MKENT(erase, 3, 0, do_emmc_erase, "", ""), ++ U_BOOT_CMD_MKENT(fastboot_read, 4, 0, do_emmc_fb_read, "", ""), ++ U_BOOT_CMD_MKENT(fastboot_write, 4, 0, do_emmc_fb_write, "", ""), ++ U_BOOT_CMD_MKENT(key_read, 4, 0, do_emmc_key_read, "", ""), ++ U_BOOT_CMD_MKENT(key_write, 4, 0, do_emmc_key_write, "", ""), ++}; ++ ++static int do_emmc_dtb_key(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ struct cmd_tbl *cp; ++ ++ cp = find_cmd_tbl(argv[1], cmd_emmc, ARRAY_SIZE(cmd_emmc)); ++ ++ if (cp == NULL || argc > cp->maxargs) ++ return CMD_RET_USAGE; ++ if (flag == CMD_FLAG_REPEAT && !cmd_is_repeatable(cp)) ++ return CMD_RET_SUCCESS; ++ return cp->cmd(cmdtp, flag, argc, argv); ++} ++ ++ ++U_BOOT_CMD( ++ emmc, 4, 1, do_emmc_dtb_key, ++ "EMMC sub system", ++ "dtb_read addr size\n" ++ "emmc dtb_write addr size\n" ++ "emmc erase dtb\n" ++ "emmc erase key\n" ++ "emmc fastboot_read addr size\n" ++ "emmc fastboot_write addr size\n" ++ "emmc key_read addr size\n" ++ "emmc key_write addr size\n" ++); ++ +diff --git a/cmd/storage.c b/cmd/storage.c +new file mode 100644 +index 00000000000..98147fbe22c +--- /dev/null ++++ b/cmd/storage.c +@@ -0,0 +1,1503 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Storage interface module ++ * ++ * Copyright (C) 2018 Amlogic Corporation ++ * ++ */ ++#include ++#include ++#include ++//#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++//#include ++#include ++#include ++ ++#undef pr_info ++#define pr_info printf ++ ++#ifdef CONFIG_SPI_FLASH ++extern int spi_nor_pre(void); ++extern int spi_nor_probe(u32 init_flag); ++#endif ++ ++#ifdef CONFIG_SPI_NAND ++extern int spi_nand_pre(void); ++extern int spi_nand_probe(u32 init_flag); ++#endif ++ ++#ifdef CONFIG_MTD_SPI_NAND ++extern int spi_nand_pre(void); ++extern int spi_nand_probe(u32 init_flag); ++#endif ++ ++#ifdef CONFIG_AML_NAND ++extern int amlnf_pre(void); ++extern int amlnf_probe(u32 init_flag); ++#endif ++ ++#ifdef CONFIG_MESON_NFC ++extern int nand_pre(void); ++extern int nand_probe(uint32_t init_flag); ++#endif ++ ++#ifdef CONFIG_MMC_MESON_GX ++extern int emmc_pre(void); ++extern int emmc_probe(u32 init_flag); ++#endif ++ ++#ifdef CONFIG_MMC_MESON_GX ++extern int sdcard_pre(void); ++extern int sdcard_probe(u32 init_flag); ++#endif ++/* for info protect, fixme later */ ++int info_disprotect = 0; ++ ++static struct storage_t *current; ++static struct device_node_t device_list[] = { ++#ifdef CONFIG_MESON_NFC ++ {BOOT_NAND_MTD, "mtd", nand_pre, nand_probe}, ++#endif ++#ifdef CONFIG_AML_NAND ++ {BOOT_NAND_NFTL, "nftl", amlnf_pre, amlnf_probe}, ++#endif ++#ifdef CONFIG_SPI_NAND ++ /* old drivers will be removed later */ ++ {BOOT_SNAND, "spi-nand", spi_nand_pre, spi_nand_probe}, ++#endif ++#ifdef CONFIG_MTD_SPI_NAND ++ {BOOT_SNAND, "spi-nand", spi_nand_pre, spi_nand_probe}, ++#endif ++#if CONFIG_SPI_FLASH ++ {BOOT_SNOR, "spi-nor", spi_nor_pre, spi_nor_probe}, ++#endif ++#if 0 ++ {BOOT_SD, "sd", sdcard_pre, sdcard_probe}, ++#endif ++ ++#ifdef CONFIG_MMC_MESON_GX ++ {BOOT_EMMC, "emmc", emmc_pre, emmc_probe}, ++#endif ++ ++}; ++ ++int store_register(struct storage_t *store_dev) ++{ ++ if (!store_dev) ++ return 1; ++ if (!current) { ++ INIT_LIST_HEAD(&store_dev->list); ++ current = store_dev; ++ return 0; ++ } ++ /** ++ * the head node will not be a valid node ++ * usually when we use the list, but in storage ++ * interface module, we init the device node as ++ * a head instead a global list_head pointer, ++ * it should be traversaled. ++ */ ++ if (store_dev == current) ++ return 0; ++ struct storage_t *dev; ++ ++ if (store_dev->type == current->type) ++ return 1; ++ list_for_each_entry(dev, ¤t->list, list) { ++ if (dev == store_dev) ++ return 0; ++ else if (dev->type == store_dev->type) ++ return 1; ++ } ++ list_add_tail(&store_dev->list, ¤t->list); ++ current = store_dev; ++ return 0; ++} ++ ++void store_unregister(struct storage_t *store_dev) ++{ ++ if (store_dev == current) { ++ if (list_empty_careful(&store_dev->list)) { ++ current = NULL; ++ } else { ++ current = list_entry((current->list).next, ++ struct storage_t, list); ++ list_del_init(&store_dev->list); ++ } ++ } else { ++ list_del_init(&store_dev->list); ++ } ++} ++ ++int sheader_need(void) ++{ ++ //const cpu_id_t cpuid = get_cpu_id(); ++ //const int familyId = cpuid.family_id; ++ ++ return 0; //(MESON_CPU_MAJOR_ID_SC2 == familyId); ++} ++ ++unsigned char *ubootdata = NULL; ++void sheader_load(void *addr) ++{ ++ ubootdata = addr; ++} ++ ++/* ++ * storage header which size is 512B ++ * is bind into the tail of bl2.bin. ++ * @addr: uboot address. ++ */ ++static p_payload_info_t parse_uboot_sheader(void *addr) ++{ ++ p_payload_info_t pInfo = (p_payload_info_t)(addr + BL2_SIZE); ++ ++ if (AML_MAGIC_HDR_L == pInfo->hdr.nMagicL && ++ AML_MAGIC_HDR_R == pInfo->hdr.nMagicR) { ++ printf("aml log : bootloader blxx mode!\n"); ++ return pInfo; ++ } ++ return NULL; ++} ++ ++boot_area_entry_t general_boot_part_entry[MAX_BOOT_AREA_ENTRIES] = { ++ {BOOT_BL2, BOOT_AREA_BB1ST, 0, BOOT_FIRST_BLOB_SIZE}, ++ {BOOT_BL2E, BOOT_AREA_BL2E, 0, 0x40000}, ++ {BOOT_BL2X, BOOT_AREA_BL2X, 0, 0x40000}, ++ {BOOT_DDRFIP, BOOT_AREA_DDRFIP, 0, 0x40000}, ++ {BOOT_DEVFIP, BOOT_AREA_DEVFIP, 0, 0x300000}, ++}; ++ ++struct boot_layout general_boot_layout = {.boot_entry = general_boot_part_entry}; ++struct storage_startup_parameter g_ssp; ++struct storage_bl *g_storage = NULL; ++ ++static void storage_boot_layout_debug_info( ++ struct boot_layout *boot_layout) ++{ ++ boot_area_entry_t *boot_entry = boot_layout->boot_entry; ++ int i; ++ ++ printf("boot area list: \n"); ++ for (i = 0; i < MAX_BOOT_AREA_ENTRIES && boot_entry[i].size; i++) { ++ printf("%10s ", boot_entry[i].name); ++ printf("%10llx ", boot_entry[i].offset); ++ printf("%10llx\n", boot_entry[i].size); ++ } ++} ++ ++/* use STORAGE_ROUND_UP, y must be power of 2 */ ++#define STORAGE_ROUND_UP_IF_UNALIGN(x, y) ((x) = (((x) + (y) - 1) & (~(y - 1)))) ++#define NAND_RSV_OFFSET 1024 ++#define ALIGN_SIZE (4096) ++static int storage_boot_layout_rebuild(struct boot_layout *boot_layout, ++ unsigned int bl2e_size, ++ unsigned int bl2x_size) ++{ ++ struct storage_startup_parameter *ssp = &g_ssp; ++ boot_area_entry_t *boot_entry = boot_layout->boot_entry; ++ uint64_t align_size, reserved_size = 0; ++ uint8_t i, cal_copy = ssp->boot_bakups; ++ ++ align_size = ALIGN_SIZE; ++ if ((ssp->boot_device == BOOT_NAND_NFTL) || ++ (ssp->boot_device == BOOT_NAND_MTD)) { ++ reserved_size = ssp->sip.nsp.layout_reserve_size; ++ align_size = ((NAND_RSV_OFFSET / cal_copy) * ssp->sip.nsp.page_size); ++ printf("reserved_size:0x%llx 0x%llx\n", reserved_size, align_size); ++ } else if (ssp->boot_device == BOOT_SNAND) { ++ reserved_size = ssp->sip.snasp.layout_reserve_size; ++ align_size = ((NAND_RSV_OFFSET / cal_copy) * ssp->sip.snasp.pagesize); ++ } else if (ssp->boot_device == BOOT_EMMC) { ++ ssp->boot_entry[0].offset = boot_entry[0].offset += ++ BL2_CORE_BASE_OFFSET_EMMC; ++ cal_copy = 1; ++ } ++ STORAGE_ROUND_UP_IF_UNALIGN(boot_entry[0].size, align_size); ++ ssp->boot_entry[0].size = boot_entry[0].size; ++ printf("ssp->boot_entry[0] offset:0x%x, size:0x%x\n", ++ ssp->boot_entry[0].offset, ssp->boot_entry[0].size); ++ printf("cal_copy:0x%x\n", cal_copy); ++ printf("align_size:0x%llx\n", align_size); ++ printf("reserved_size:0x%llx\n", reserved_size); ++ if ((ssp->boot_device == BOOT_NAND_NFTL) || ++ (ssp->boot_device == BOOT_NAND_MTD)) ++ align_size = ssp->sip.nsp.block_size; ++ else if (ssp->boot_device == BOOT_SNAND) ++ align_size = ssp->sip.snasp.pagesize * ++ ssp->sip.snasp.pages_per_eraseblock; ++ printf("align_size2:%llu\n", align_size); ++ ++ boot_entry[BOOT_AREA_BL2E].size = bl2e_size; ++ boot_entry[BOOT_AREA_BL2X].size = bl2x_size; ++ ++ for (i = 1; i < MAX_BOOT_AREA_ENTRIES && boot_entry[i - 1].size; i++) { ++ STORAGE_ROUND_UP_IF_UNALIGN(boot_entry[i].size, align_size); ++ boot_entry[i].offset = boot_entry[i-1].offset + ++ boot_entry[i-1].size * cal_copy + reserved_size; ++ reserved_size = 0; ++ ssp->boot_entry[i].size = boot_entry[i].size; ++ ssp->boot_entry[i].offset = boot_entry[i].offset; ++ } ++ ++ return 0; ++} ++ ++/* use STORAGE_ROUND_UP, y must be power of 2 */ ++#define STORAGE_ROUND_UP_IF_UNALIGN(x, y) ((x) = (((x) + (y) - 1) & (~(y - 1)))) ++#define NAND_RSV_OFFSET 1024 ++#define ALIGN_SIZE (4096) ++static int storage_boot_layout_general_setting(struct boot_layout *boot_layout, ++ int need_build) ++{ ++ //struct storage_startup_parameter *ssp = &g_ssp; ++ boot_area_entry_t *boot_entry = boot_layout->boot_entry; ++ struct storage_boot_entry *sbentry = g_ssp.boot_entry; ++ p_payload_info_t pInfo = parse_uboot_sheader(ubootdata);; ++ p_payload_info_hdr_t hdr = &pInfo->hdr; ++ p_payload_info_item_t pItem = pInfo->arrItems; ++ int offPayload = 0, szPayload = 0; ++ unsigned int bl2e_size, bl2x_size; ++ char name[8] = {0}; ++ int nIndex = 0; ++ ++ if (need_build == BOOT_ID_USB) { ++ for (nIndex = 1, pItem += 1; ++ nIndex < hdr->byItemNum; ++nIndex, ++pItem) { ++ memcpy(name, &pItem->nMagic, sizeof(unsigned int)); ++ offPayload = pItem->nOffset; ++ if (nIndex == BOOT_AREA_BL2E) ++ bl2e_size = pItem->nPayLoadSize; ++ if (nIndex == BOOT_AREA_BL2X) ++ bl2x_size = pItem->nPayLoadSize; ++ szPayload = pItem->nPayLoadSize; ++ pr_info("Item[%d]%4s offset 0x%08x sz 0x%x\n", ++ nIndex, name, offPayload, szPayload); ++ } ++ storage_boot_layout_rebuild(boot_layout, bl2e_size, bl2x_size); ++ } else { ++ /* may be sdcard boot and also have to rebuild layout */ ++ if (need_build == BOOT_ID_SDCARD) { ++ bl2e_size = sbentry[BOOT_AREA_BL2E].size; ++ bl2x_size = sbentry[BOOT_AREA_BL2X].size; ++ printf("bl2e_size=%x bl2x_size=%x current->type=%d\n", ++ bl2e_size, bl2x_size, current->type); ++ storage_boot_layout_rebuild(boot_layout, ++ bl2e_size, bl2x_size); ++ return 0; ++ } ++ /* normal boot */ ++ for (nIndex = 0; ++ nIndex < MAX_BOOT_AREA_ENTRIES && sbentry->size; ++ nIndex++, sbentry++) { ++ boot_entry[nIndex].size = sbentry->size; ++ boot_entry[nIndex].offset = sbentry->offset; ++ } ++ } ++ ++ return 0; ++} ++ ++uint8_t emmc_boot_seqs_tbl[8][2] = { ++ {0, 3}, {0, 2}, {0, 3}, {0, 1}, ++ {1, 2}, {1, 1}, {2, 1}, {0, 0} ++ }; ++ ++static int _get_emmc_boot_seqs(void) ++{ ++ uint8_t ebcfg = 0; ++ if (IS_FEAT_DIS_EMMC_USER()) ++ ebcfg |= (1<<2); ++ if (IS_FEAT_DIS_EMMC_BOOT_0()) ++ ebcfg |= (1<<1); ++ if (IS_FEAT_DIS_EMMC_BOOT_1()) ++ ebcfg |= (1<<0); ++ ++ return ebcfg; ++} ++ ++static int storage_get_emmc_boot_seqs(void) ++{ ++ return emmc_boot_seqs_tbl[_get_emmc_boot_seqs()][1];; ++} ++ ++static int storage_get_emmc_boot_start(void) ++{ ++ return emmc_boot_seqs_tbl[_get_emmc_boot_seqs()][0];; ++} ++ ++#define NAND_RSV_BLOCK_NUM 48 ++#define NSP_PAGE0_DISABLE 1 ++extern unsigned char *ubootdata; ++static int storage_get_and_parse_ssp(int *need_build) // boot_device: ++{ ++ struct storage_startup_parameter *ssp = &g_ssp; ++ union storage_independent_parameter *sip; ++ static struct param_e *storage_param_e; ++ int usb_boot = *need_build; ++ ++ memset(ssp, 0, sizeof(struct storage_startup_parameter)); ++ if (!usb_boot) { ++ storage_param_e = param_of(STORAGE_PARAM_TPYE); ++ if (!storage_param_e) ++ return -1; ++ memcpy(ssp, storage_param_e->data, ++ sizeof(struct storage_startup_parameter)); ++ /* may be sdcard boot and also have to rebuild layout */ ++ if (ssp->boot_device == BOOT_ID_SDCARD || ++ ssp->boot_device == BOOT_ID_USB) { ++ /* need change the storage base here */ ++ *need_build = ssp->boot_device; ++ } ++ } ++ ++ if (*need_build) { ++ sip = &ssp->sip; ++ ssp->boot_device = current->type; ++ switch (ssp->boot_device) { ++ case BOOT_EMMC: ++ ssp->boot_bakups = storage_get_emmc_boot_seqs(); ++ break; ++ case BOOT_SNOR: ++ if (IS_FEAT_EN_4BL2_SNOR()) ++ ssp->boot_bakups = 4; ++ if (IS_FEAT_DIS_NBL2_SNOR()) ++ ssp->boot_bakups = 1; ++ break; ++ case BOOT_SNAND: ++ if (IS_FEAT_EN_8BL2_SNAND()) ++ ssp->boot_bakups = 8; ++ if (IS_FEAT_DIS_NBL2_SNAND()) ++ ssp->boot_bakups = 1; ++ sip->snasp.pagesize = current->info.write_unit; ++ sip->snasp.pages_per_eraseblock = ++ current->info.erase_unit / current->info.write_unit; ++ sip->snasp.eraseblocks_per_lun = ++ (current->info.caps >> 20) / current->info.erase_unit; ++ sip->snasp.planes_per_lun = 1; ++ sip->snasp.luns_per_target = 1; ++ sip->snasp.ntargets = 1; ++ sip->snasp.layout_reserve_size = ++ NAND_RSV_BLOCK_NUM * current->info.erase_unit; ++ break; ++ case BOOT_NAND_NFTL: ++ case BOOT_NAND_MTD: ++ if (IS_FEAT_DIS_8BL2_NAND()) ++ ssp->boot_bakups = 4; ++ if (IS_FEAT_DIS_NBL2_NAND()) ++ ssp->boot_bakups = 1; ++ ssp->boot_bakups = 8; //FIXIT?? efuse do not work now. ++ sip->nsp.page_size = current->info.write_unit; ++ sip->nsp.block_size = current->info.erase_unit; ++ sip->nsp.pages_per_block = ++ current->info.erase_unit / current->info.write_unit; ++ sip->nsp.layout_reserve_size = ++ NAND_RSV_BLOCK_NUM * sip->nsp.block_size; ++ sip->nsp.page0_disable = NSP_PAGE0_DISABLE; ++ break; ++ default: ++ /* do nothing. */ ++ break; ++ } ++ ++ } ++ ++ /* sanity check */ ++ ++ printf("boot_device:%d\n", ssp->boot_device); ++ printf("boot_seq:%d\n", ssp->boot_seq); ++ printf("boot_bakups:%d\n", ssp->boot_bakups); ++ printf("rebuid_id :%d\n", *need_build); ++ ++ return 0; ++} ++ ++int storage_post_init(void) ++{ ++ int ret = -1; ++ int need_build = 0; ++ ++ ret = storage_get_and_parse_ssp(&need_build); ++ if (ret < 0) ++ return -1; ++ storage_boot_layout_general_setting(&general_boot_layout, need_build); ++ storage_boot_layout_debug_info(&general_boot_layout); ++ ++ return ret; ++} ++ ++int store_init(u32 init_flag) ++{ ++ // cpu_id_t cpu_id = get_cpu_id(); ++ int i, ret = 0; ++ u8 record = 0; ++ ++ /*1. pre scan*/ ++ for (i = 0; i < ARRAY_SIZE(device_list); i++) { ++ if (!device_list[i].pre()) { ++ record |= BIT(i); ++ } ++ } ++ ++ if (!record) { ++ pr_info("No Valid storage device\n"); ++ return record; ++ } ++ ++ if (0) //(cpu_id.family_id == MESON_CPU_MAJOR_ID_SC2) ++ storage_post_init(); ++ ++ /*2. Enter the probe of the valid device*/ ++ for (i = 0; i < ARRAY_SIZE(device_list); i++) { ++ if (record & BIT(i)) { ++ ret = device_list[i].probe(init_flag); ++ if (ret) ++ pr_info("the 0x%x storage device probe failed\n", ++ device_list[i].index); ++ } ++ } ++ ++ return record; ++} ++ ++static struct storage_t *store_get_current(void) ++{ ++ return current; ++} ++ ++int store_set_device(enum boot_type_e type) ++{ ++ struct list_head *entry; ++ struct storage_t *dev, *store_dev = store_get_current(); ++ ++ if (!store_dev) { ++ pr_info("%s %d no current device\n", __func__, __LINE__); ++ return 1; ++ } ++ if (store_dev->type == type) ++ return 0; ++ list_for_each(entry, &store_dev->list) { ++ dev = list_entry(entry, struct storage_t, list); ++ if (dev->type == type) { ++ current = dev; ++ return 0; ++ } ++ } ++ pr_info("%s %d please confirm the %d device is valid\n", ++ __func__, __LINE__, type); ++ return 1; ++} ++ ++enum boot_type_e store_get_type(void) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return BOOT_NONE; ++ } ++ ++ return store->type; ++} ++ ++int store_get_device_info(struct storage_info_t *info) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ ++ memcpy((char *)info, (char *)&store->info, ++ sizeof(struct storage_info_t)); ++ return 0; ++} ++ ++int store_get_device_bootloader_mode(void) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return -1; ++ } ++ return store->info.mode; ++} ++ ++int store_read(const char *name, loff_t off, size_t size, void *buf) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->read(name, off, size, buf); ++} ++ ++int store_write(const char *name, loff_t off, size_t size, void *buf) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->write(name, off, size, buf); ++} ++ ++int store_erase(const char *name, loff_t off, size_t size, int scrub) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->erase(name, off, size, scrub); ++} ++ ++u64 store_part_size(const char *name) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->get_part_size(name); ++} ++ ++u8 store_boot_copy_num(const char *name) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->get_copies(name); ++} ++ ++ ++#ifndef SYSCTRL_SEC_STATUS_REG2 ++static u32 fake_reg = 0; ++#define SYSCTRL_SEC_STATUS_REG2 (&fake_reg) ++#endif ++u8 store_boot_copy_start(void) ++{ ++ struct storage_t *store = store_get_current(); ++ //cpu_id_t cpu_id = get_cpu_id(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 0; ++ } ++ if (store->type != BOOT_EMMC) ++ return 0; ++ if (0) // (cpu_id.family_id == MESON_CPU_MAJOR_ID_SC2) ++ return storage_get_emmc_boot_start(); ++ return 0; ++} ++ ++u8 store_bootup_bootidx(const char *name) ++{ ++ // cpu_id_t cpu_id = get_cpu_id(); ++ u8 bl2_idx = 0, fip_idx = 0; ++ u32 val = 0; ++ ++ if (0) { // cpu_id.family_id == MESON_CPU_MAJOR_ID_SC2) { ++ bl2_idx = readl(SYSCTRL_SEC_STATUS_REG2) & 0xF; ++ //TODO: fixme after robust devfip is finished. ++ fip_idx = bl2_idx; ++ } else { ++ /* accroding to the: ++ commit 975b4acbcfa686601999d56843471d98e9c0a2cd ++ storage: robust boot: record bootlog in SEC_AO_SEC_GP_CFG2 [1/2] ++ PD#SWPL-4850 ++ ... ++ record the bootup bl2/fip into SEC_AO_SEC_GP_CFG2 ++ bit[27-25] bl2 ++ bit[24-22] fip ++ */ ++ val = readl(SEC_AO_SEC_GP_CFG2); ++ bl2_idx = (val >> 25) & 0x7; ++ fip_idx = (val >> 22) & 0x7; ++ } ++ if (!strncmp(name, "bl2", sizeof("bl2")) || ++ !strncmp(name, "spl", sizeof("spl"))) ++ return bl2_idx; ++ else ++ return fip_idx; ++} ++ ++void store_restore_bootidx(void) ++{ ++ // cpu_id_t cpu_id = get_cpu_id(); ++ if (0) { // (cpu_id.family_id == MESON_CPU_MAJOR_ID_SC2) { ++ extern void aml_set_bootsequence(uint32_t val); ++ aml_set_bootsequence(0x55); ++ } ++ return; ++} ++ ++u64 store_boot_copy_size(const char *name) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->get_copy_size(name); ++} ++ ++int store_boot_read(const char *name, u8 copy, size_t size, void *buf) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->boot_read(name, copy, size, buf); ++} ++ ++int store_boot_write(const char *name, u8 copy, size_t size, void *buf) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->boot_write(name, copy, size, buf); ++} ++ ++int store_boot_erase(const char *name, u8 copy) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->boot_erase(name, copy); ++} ++ ++u32 store_rsv_size(const char *name) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->get_rsv_size(name); ++} ++ ++int store_rsv_read(const char *name, size_t size, void *buf) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->read_rsv(name, size, buf); ++} ++ ++int store_rsv_write(const char *name, size_t size, void *buf) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->write_rsv(name, size, buf); ++} ++ ++int store_rsv_erase(const char *name) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->erase_rsv(name); ++} ++ ++int store_rsv_protect(const char *name, bool ops) ++{ ++ struct storage_t *store = store_get_current(); ++ ++ if (!store) { ++ pr_info("%s %d please init storage device first\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return store->protect_rsv(name, ops); ++} ++ ++static int do_store_init(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ u32 init_flag = 1; ++ u8 ret = 0; ++ ++ if (unlikely(argc != 2 && argc != 3)) ++ return CMD_RET_USAGE; ++ ++ if (argc == 3) ++ init_flag = simple_strtoul(argv[2], NULL, 10); ++ ++ /*Returns a nonzero value: device index*/ ++ if (store_init(init_flag)) ++ ret = 0; ++ else ret = 1; ++ return ret; ++} ++ ++void store_print_device(struct storage_t *store_dev) ++{ ++ int i; ++ ++ for (i = 0; i < ARRAY_SIZE(device_list); i++) ++ if (store_dev->type & device_list[i].index) ++ pr_info("device type: [%s]\n", device_list[i].type); ++ pr_info("name %s\n", store_dev->info.name); ++ pr_info("id :"); ++ for (i = 0; i < ARRAY_SIZE(store_dev->info.id); i++) ++ pr_info(" 0x%x", store_dev->info.id[i]); ++ pr_info("\n"); ++ pr_info("read unit %d\n", store_dev->info.read_unit); ++ pr_info("write unit %d\n", store_dev->info.write_unit); ++ pr_info("erase unit %d\n", store_dev->info.erase_unit); ++ pr_info("total size %lld\n", store_dev->info.caps); ++ if (store_dev->info.mode) ++ pr_info("bootloader in discrete mode : %d\n", ++ store_dev->info.mode); ++ else ++ pr_info("bootloader in compact mode : %d\n", ++ store_dev->info.mode); ++} ++ ++static int do_store_device(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ if (argc == 2) { ++ struct storage_t *store_dev, *dev; ++ struct list_head *entry; ++ ++ store_dev = store_get_current(); ++ pr_info("current device:\n"); ++ pr_info("----------------------------------\n"); ++ store_print_device(store_dev); ++ pr_info("----------------------------------\n"); ++ list_for_each(entry, &store_dev->list) { ++ dev = list_entry(entry, struct storage_t, list); ++ pr_info("valid device:\n"); ++ pr_info("----------------------------------\n"); ++ store_print_device(dev); ++ pr_info("----------------------------------\n"); ++ } ++ return 0; ++ } else if (argc == 3) { ++ char *name = NULL; ++ int i = 0, ret = 0; ++ name = argv[2]; ++ for (i = 0; i < ARRAY_SIZE(device_list); i++) ++ if (!strcmp(name, device_list[i].type)) { ++ ++ ret = store_set_device(device_list[i].index); ++ if (!ret) { ++ pr_info("now current device is: %s\n", ++ name); ++ return 0; ++ } ++ } ++ pr_info("%s %d no such device: %s\n", ++ __func__, __LINE__, name); ++ return ret; ++ } ++ return CMD_RET_USAGE; ++} ++ ++static int do_store_partition(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ struct storage_t *store_dev; ++ int i = 0, partitions = 0; ++ int ret = 0; ++ char name[16]; ++ ++ if (argc > 2) ++ return CMD_RET_USAGE; ++ else { ++ store_dev = store_get_current(); ++ if (store_dev->get_part_count) ++ partitions = store_dev->get_part_count(); ++ pr_info("%d partitions of device %s:\n", ++ partitions, store_dev->info.name); ++ ++ if (store_dev->list_part_name) ++ ret = store_dev->list_part_name(i, name); ++ ++ return ret; ++ } ++} ++ ++#ifdef CONFIG_AML_MTD ++extern int is_mtd_store_boot_area(const char *part_name); ++#endif ++static int do_store_erase(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ struct storage_t *store = store_get_current(); ++ unsigned long offset; ++ size_t size = 0; ++ char *name = NULL; ++ char *s; ++ int scrub_flag = 0, ret; ++ unsigned long time; ++ ++ const char *scrub = ++ "Warning: scrub_flag is 1!!!!" ++ "scrub operation!!!\n" ++ "will erase oob area\n" ++ "There is no reliable way to recover them.\n" ++ " " ++ "are sure of what you are doing!\n" ++ "\nReally erase this NAND flash? \n"; ++ ++ if (!store) { ++ pr_info("%s %d please init your storage device first!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++ ++ if (strncmp(argv[1], "scrub", 5) == 0) ++ scrub_flag = 1; ++ ++ if (scrub_flag == 1) { ++ puts(scrub); ++ if (!confirm_yesno()) { ++ printf("erase aborted\n"); ++ return 1; ++ } ++ } ++ ++ /*store erase.chip*/ ++ s = strchr(argv[1], '.'); ++ if (s != NULL && strcmp(s, ".chip") == 0) { ++ offset = 0; ++ } else { ++ /*store erase normal, partition name can't NULL*/ ++ if (unlikely(argc != 5)) ++ return CMD_RET_USAGE; ++ ++ size = (size_t)simple_strtoul(argv[argc - 1], NULL, 16); ++ offset = simple_strtoul(argv[argc - 2], NULL, 16); ++ name = argv[2]; ++#ifdef CONFIG_AML_MTD ++ if (is_mtd_store_boot_area(name)) { ++ pr_info("%s %d please enter normal partition name except tpl area!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++#endif ++ } ++ ++ time = get_timer(0); ++ ret = store->erase(name, offset, size, scrub_flag); ++ time = get_timer(time); ++ ++ if (size != 0) ++ printf("%lu bytes ", size); ++ ++ printf("erased in %lu ms", time); ++ if ((time > 0) && (size != 0)) { ++ puts(" ("); ++ print_size(div_u64(size, time) * 1000, "/s"); ++ puts(")"); ++ } ++ puts("\n"); ++ ++ return ret; ++} ++ ++static int do_store_read(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ struct storage_t *store = store_get_current(); ++ unsigned long offset, addr, time; ++ size_t size; ++ char *name = NULL; ++ int ret; ++ ++ if (!store) { ++ pr_info("%s %d please init your storage device first!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++ ++ if (unlikely(argc != 5 && argc != 6)) ++ return CMD_RET_USAGE; ++ ++ addr = simple_strtoul(argv[2], NULL, 16); ++ size = (size_t)simple_strtoul(argv[argc - 1], NULL, 16); ++ offset = simple_strtoul(argv[argc - 2], NULL, 16); ++ if (argc == 6) ++ name = argv[3]; ++#ifdef CONFIG_AML_MTD ++ if (is_mtd_store_boot_area(name)) { ++ pr_info("%s %d please enter normal partition name except tpl area!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++#endif ++ time = get_timer(0); ++ ret = store->read(name, offset, size, (u_char *)addr); ++ time = get_timer(time); ++ ++ if (size != 0) ++ printf("%lu bytes ", size); ++ ++ printf("read in %lu ms", time); ++ if ((time > 0) && (size != 0)) { ++ puts(" ("); ++ print_size(div_u64(size, time) * 1000, "/s"); ++ puts(")"); ++ } ++ puts("\n"); ++ ++ return ret; ++} ++ ++static int name2index(struct boot_layout *boot_layout, const char *img) ++{ ++ boot_area_entry_t *boot_entry = NULL; ++ int i; ++ ++ boot_entry = boot_layout->boot_entry; ++ for (i = 1; i < MAX_BOOT_AREA_ENTRIES && boot_entry[i].size; i++) { ++ if (!strncmp(img, boot_entry[i].name, strlen(boot_entry[i].name))) ++ return i; ++ } ++ ++ return -1; ++} ++ ++static int do_store_write_bl2img(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ struct storage_t *store = store_get_current(); ++ unsigned long offset, addr; ++ size_t size, size_src; ++ char *name = NULL; ++ int ret = -1, index; ++ struct boot_layout *boot_layout = &general_boot_layout; ++ ++ if (!store) { ++ pr_info("%s %d please init your storage device first!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++ ++ addr = simple_strtoul(argv[2], NULL, 16); ++ name = argv[3]; ++ size = simple_strtoul(argv[4], NULL, 16); ++ ++ index = name2index(&general_boot_layout, name); ++ offset = boot_layout->boot_entry[index].offset; ++ size_src = boot_layout->boot_entry[index].size; ++ printf("[%s] offset:0x%lx, index:%d\n", name, offset, index); ++ ++ if (size_src != size) ++ printf("new img size:0x%lx != img src:0x%lx\n", size, size_src); ++ ++ ret = store->boot_write(name, offset, size, (u_char *)addr); ++ ++ return ret; ++} ++ ++int store_write_bl2img(void* addr, const char *name, size_t size) ++{ ++ struct storage_t *store = store_get_current(); ++ unsigned long offset; ++ size_t size_src; ++ int ret = -1, index; ++ struct boot_layout *boot_layout = &general_boot_layout; ++ ++ if (!store) { ++ pr_info("%s %d please init your storage device first!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++ ++ index = name2index(&general_boot_layout, name); ++ offset = boot_layout->boot_entry[index].offset; ++ size_src = boot_layout->boot_entry[index].size; ++ printf("[%s] offset:0x%lx, index:%d\n", name, offset, index); ++ ++ if (size_src != size) ++ printf("new img size:0x%zx != img src:0x%zx\n", size, size_src); ++ ++ ret = store->boot_write(name, offset, size, (u_char *)addr); ++ if (size != 0) ++ printf("[%s][%d]%lx bytes\n", __func__, __LINE__, size); ++ ++ return ret; ++} ++ ++static int do_store_write(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ struct storage_t *store = store_get_current(); ++ unsigned long offset, addr, time; ++ size_t size; ++ char *name = NULL; ++ int ret; ++ ++ if (!store) { ++ pr_info("%s %d please init your storage device first!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++ ++ if (unlikely(argc != 5 && argc != 6)) ++ return CMD_RET_USAGE; ++ ++ addr = simple_strtoul(argv[2], NULL, 16); ++ offset = simple_strtoul(argv[argc - 2], NULL, 16); ++ size = (size_t)simple_strtoul(argv[argc - 1], NULL, 16); ++ if (argc == 6) ++ name = argv[3]; ++#ifdef CONFIG_AML_MTD ++ if (is_mtd_store_boot_area(name)) { ++ pr_info("%s %d please enter normal partition name except tpl area!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++#endif ++ time = get_timer(0); ++ ret = store->write(name, offset, size, (u_char *)addr); ++ time = get_timer(time); ++ ++ if (size != 0) ++ printf("%lu bytes ", size); ++ ++ printf("write in %lu ms", time); ++ if ((time > 0) && (size != 0)) { ++ puts(" ("); ++ print_size(div_u64(size, time) * 1000, "/s"); ++ puts(")"); ++ } ++ puts("\n"); ++ ++ return ret; ++} ++ ++static int do_store_boot_read(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ struct storage_t *store = store_get_current(); ++ unsigned long addr; ++ size_t size; ++ u8 cpy; ++ char *name; ++ ++ if (!store) { ++ pr_info("%s %d please init your storage device first!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++ ++ if (unlikely(argc != 6)) ++ return CMD_RET_USAGE; ++ ++ name = argv[2]; ++ addr = (unsigned long)simple_strtoul(argv[3], NULL, 16); ++ cpy = (u8)simple_strtoul(argv[4], NULL, 16); ++ size = (size_t)simple_strtoul(argv[5], NULL, 16); ++ ++ return store->boot_read(name, cpy, size, (u_char *)addr); ++} ++ ++static int bl2x_mode_check_header(p_payload_info_t pInfo) ++{ ++ p_payload_info_hdr_t hdr = &pInfo->hdr; ++ const int nItemNum = hdr->byItemNum; ++ p_payload_info_item_t pItem = pInfo->arrItems; ++ u8 i = 0; ++ int sz_payload = 0; ++ uint64_t align_size = 1; ++ struct storage_startup_parameter *ssp = &g_ssp; ++ u8 cal_copy = ssp->boot_bakups; ++ ++ printf("\naml log : info parse...\n"); ++ printf("\tsztimes : %s\n",hdr->szTimeStamp); ++ printf("\tversion : %d\n",hdr->byVersion); ++ printf("\tItemNum : %d\n",nItemNum); ++ printf("\tSize : %d(0x%x)\n", hdr->nSize, hdr->nSize); ++ if (nItemNum > 8 || nItemNum < 3) { ++ pr_info("illegal nitem num %d\n", nItemNum); ++ return __LINE__; ++ } ++ if (ssp->boot_device == BOOT_NAND_MTD) ++ align_size = ((NAND_RSV_OFFSET / cal_copy) * ssp->sip.nsp.page_size); ++ else if (ssp->boot_device == BOOT_SNAND) ++ align_size = ((NAND_RSV_OFFSET / cal_copy) * ssp->sip.snasp.pagesize); ++ ++ sz_payload = pItem->nPayLoadSize; ++ STORAGE_ROUND_UP_IF_UNALIGN(sz_payload, align_size); ++ if (sz_payload > ssp->boot_entry[0].size) ++ return __LINE__; ++ if (ssp->boot_device == BOOT_NAND_MTD) ++ align_size = ssp->sip.nsp.block_size; ++ else if (ssp->boot_device == BOOT_SNAND) ++ align_size = ssp->sip.snasp.pagesize * ++ ssp->sip.snasp.pages_per_eraseblock; ++ ++pItem; ++ ++ for (i = 1; i < nItemNum; i++, ++pItem) { ++ sz_payload = pItem->nPayLoadSize; ++ STORAGE_ROUND_UP_IF_UNALIGN(sz_payload, align_size); ++ if (sz_payload > ssp->boot_entry[i].size) ++ return __LINE__; ++ } ++ ++ return 0; ++} ++ ++static int _store_boot_write(const char *part_name, u8 cpy, size_t size, void *addr) ++{ ++ // cpu_id_t cpu_id = get_cpu_id(); ++ enum boot_type_e medium_type = store_get_type(); ++ struct storage_startup_parameter *ssp = &g_ssp; ++ //struct storage_boot_entry *boot_entry = ssp->boot_entry; ++ //u8 i; ++ int ret = 0; ++ struct storage_t *store = store_get_current(); ++ int bl2_size = BL2_SIZE; ++ int bl2_cpynum = 0; ++ int tpl_per_size = CONFIG_TPL_SIZE_PER_COPY; ++ int tpl_cpynum = 0; ++ int bootloader_maxsize = 0; ++ ++ if (store_get_device_bootloader_mode() != DISCRETE_BOOTLOADER) ++ return store->boot_write(part_name, cpy, size, (u_char *)addr); ++ ++ if (BOOT_NAND_MTD == medium_type || BOOT_SNAND == medium_type) ++ tpl_cpynum = CONFIG_NAND_TPL_COPY_NUM; ++ else if (medium_type == BOOT_SNOR) ++ tpl_cpynum = CONFIG_NOR_TPL_COPY_NUM; ++ ++ if (0) { // cpu_id.family_id == MESON_CPU_MAJOR_ID_SC2) { ++ bl2_cpynum = ssp->boot_bakups; ++ } else { ++ bootloader_maxsize = bl2_size + tpl_per_size; ++ bl2_cpynum = CONFIG_BL2_COPY_NUM; ++ if (size > bootloader_maxsize) { ++ pr_info("bootloader sz 0x%lx too large,max sz 0x%x\n", ++ size, bootloader_maxsize); ++ return CMD_RET_FAILURE; ++ } ++ } ++ ++ if ((cpy >= tpl_cpynum || cpy >= bl2_cpynum) && (cpy != BOOT_OPS_ALL)) { ++ pr_info("update copy %d invalid, must < min(%d, %d)\n", ++ cpy, tpl_cpynum, bl2_cpynum); ++ return CMD_RET_FAILURE; ++ } ++ ++ p_payload_info_t pinfo = parse_uboot_sheader((u8 *)addr); ++ ++ if (!pinfo) { ++ ret = store->boot_write("tpl", cpy, size - bl2_size, (u_char *)(addr +bl2_size)); ++ if (ret) { ++ pr_info("failed update tpl\n"); ++ return CMD_RET_FAILURE; ++ } ++ } else { ++ if (bl2x_mode_check_header(pinfo)) { ++ pr_info("!!!warning bl2xx size is bigger than bl2x layout size\n"); ++ pr_info("plase check bl2x,or erase flash and turn off\n"); ++ pr_info("then turn on, and update uboot again\n"); ++ return CMD_RET_FAILURE; ++ } ++ ++ char name[8]; ++ int nindex = 0; ++ p_payload_info_hdr_t hdr = &pinfo->hdr; ++ p_payload_info_item_t pitem = pinfo->arrItems; ++ int off_payload = 0; ++ int sz_payload = 0; ++ ++ memset(name, 0, 8); ++ for (nindex = 1, pitem +=1; nindex < hdr->byItemNum; ++nindex, ++pitem) { ++ memcpy(name, &pitem->nMagic, sizeof(unsigned int)); ++ off_payload = pitem->nOffset; ++ sz_payload = pitem->nPayLoadSize; ++ pr_info("item[%d]%4s offset 0x%08x sz 0x%x\n", ++ nindex, name, off_payload, sz_payload); ++ if (!sz_payload) ++ continue; ++ ret = store->boot_write(general_boot_part_entry[nindex].name, cpy, sz_payload, (u_char *)(addr + off_payload)); ++ if (ret) { ++ pr_info("Fail in flash payload %s\n",name); ++ return CMD_RET_FAILURE; ++ } ++ } ++ } ++ ++ ret = store->boot_write("bl2", cpy, bl2_size, (u_char *)addr); ++ if (ret) { ++ pr_info("Fail in flash payload bl2\n"); ++ return CMD_RET_FAILURE; ++ } ++ return ret; ++ ++} ++ ++static int do_store_boot_write(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ struct storage_t *store = store_get_current(); ++ unsigned long addr; ++ size_t size; ++ u8 cpy = BOOT_OPS_ALL; ++ char *name; ++ ++ if (!store) { ++ pr_info("%s %d please init your storage device first!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++ ++ if (unlikely(argc != 5 && argc != 6)) ++ return CMD_RET_USAGE; ++ ++ name = argv[2]; ++ addr = (unsigned long)simple_strtoul(argv[3], NULL, 16); ++ size = (size_t)simple_strtoul(argv[argc - 1], NULL, 16); ++ if (argc == 6) ++ cpy = (u8)simple_strtoul(argv[4], NULL, 16); ++ ++ if (strcmp(name, "bootloader") == 0) { ++ return _store_boot_write(name, cpy, size, (u_char *)addr); ++ } ++ ++ return store->boot_write(name, cpy, size, (u_char *)addr); ++} ++ ++static int do_store_boot_erase(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ struct storage_t *store = store_get_current(); ++ u8 cpy = BOOT_OPS_ALL; ++ char *name; ++ ++ if (!store) { ++ pr_info("%s %d please init your storage device first!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++ ++ if (unlikely(argc != 3 && argc != 4)) ++ return CMD_RET_USAGE; ++ ++ name = argv[2]; ++ if (argc == 4) ++ cpy = (u8)simple_strtoul(argv[3], NULL, 16); ++ ++ return store->boot_erase(name, cpy); ++} ++ ++static int do_store_rsv_ops(struct cmd_tbl *cmdtp, ++ int flag, int argc, char * const argv[]) ++{ ++ struct storage_t *store = store_get_current(); ++ char *name = NULL; ++ ++ if (!store) { ++ pr_info("%s %d please init your storage device first!\n", ++ __func__, __LINE__); ++ return CMD_RET_FAILURE; ++ } ++ ++ if (!strcmp(argv[2], "erase")) { ++ if (argc == 3) ++ ; ++ else if (argc == 4) ++ name = argv[3]; ++ else ++ return CMD_RET_USAGE; ++ return store->erase_rsv(name); ++ } else if (!strcmp(argv[2], "read") || ++ !strcmp(argv[2], "write")) { ++ u8 cmd = strcmp(argv[2], "read") ? 0 : 1; ++ unsigned long addr = simple_strtoul(argv[4], NULL, 16); ++ size_t size = (size_t)simple_strtoul(argv[5], NULL, 16); ++ ++ name = argv[3]; ++ if (unlikely(argc != 6)) ++ return CMD_RET_USAGE; ++ if (cmd) ++ return store->read_rsv(name, size, (u_char *)addr); ++ else ++ return store->write_rsv(name, size, (u_char *)addr); ++ } else if (!strcmp(argv[2], "protect")) { ++ bool flag = false; ++ char *ops; ++ ++ if (unlikely(argc != 4 && argc != 5)) ++ return CMD_RET_USAGE; ++ ++ name = (argc == 4) ? NULL : argv[3]; ++ ops = argv[argc - 1]; ++ if (!strcmp(ops, "on")) ++ flag = true; ++ else if (!strcmp(ops, "off")) ++ flag = false; ++ return store->protect_rsv(name, flag); ++ } ++ return CMD_RET_USAGE; ++} ++ ++static struct cmd_tbl cmd_store_sub[] = { ++ U_BOOT_CMD_MKENT(init, 4, 0, do_store_init, "", ""), ++ U_BOOT_CMD_MKENT(device, 4, 0, do_store_device, "", ""), ++ U_BOOT_CMD_MKENT(partition, 3, 0, do_store_partition, "", ""), ++ U_BOOT_CMD_MKENT(scrub, 5, 0, do_store_erase, "", ""), ++ U_BOOT_CMD_MKENT(erase, 5, 0, do_store_erase, "", ""), ++ U_BOOT_CMD_MKENT(read, 6, 0, do_store_read, "", ""), ++ U_BOOT_CMD_MKENT(write, 7, 0, do_store_write, "", ""), ++ U_BOOT_CMD_MKENT(write_bl2img, 5, 0, do_store_write_bl2img, "", ""), ++ U_BOOT_CMD_MKENT(boot_read, 6, 0, do_store_boot_read, "", ""), ++ U_BOOT_CMD_MKENT(boot_write, 6, 0, do_store_boot_write, "", ""), ++ U_BOOT_CMD_MKENT(boot_erase, 4, 0, do_store_boot_erase, "", ""), ++ U_BOOT_CMD_MKENT(rsv, 6, 0, do_store_rsv_ops, "", ""), ++}; ++ ++static int do_store(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ struct cmd_tbl *c; ++ ++ if (argc < 2) ++ return CMD_RET_USAGE; ++ ++ c = find_cmd_tbl(argv[1], cmd_store_sub, ARRAY_SIZE(cmd_store_sub)); ++ if (c) ++ return c->cmd(cmdtp, flag, argc, argv); ++ ++ return CMD_RET_USAGE; ++} ++ ++U_BOOT_CMD(store, CONFIG_SYS_MAXARGS, 1, do_store, ++ "STORE sub-system:", ++ "store init [flag]\n" ++ " init storage device\n" ++ "store device [name]\n" ++ " show or set storage device\n" ++ " 'store device' command will list\n" ++ " all valid storage device and print.\n" ++ " 'store device [name]' will set the\n" ++ " [name] device to the current device\n" ++ "store partition\n" ++ " show partitions of current device\n" ++ "store read addr [partition name] off size\n" ++ " read 'size' bytes from offset 'off'\n" ++ " of device/partition 'partition name' to.\n" ++ " address 'addr' of memory.\n" ++ " if partition name not value. read start with\n" ++ " offset in normal logic area,if tpl area exist\n" ++ " read offset at end of tpl area\n" ++ "store write addr [partition name] off size\n" ++ " write 'size' bytes to offset 'off' of\n" ++ " device/partition [partition name] from\n" ++ " address 'addr' of memory.\n" ++ " if partition name not value. write start with\n" ++ " offset in normal logic area,if tpl area exist\n" ++ " write offset at end of tpl area\n" ++ "store erase partition name off size.\n" ++ " erase 'size' bytes from offset 'off'\n" ++ " of device/partition [partition name]\n" ++ " partition name must't NULL\n" ++ "store scrub partition name off size.\n" ++ " erase 'size' bytes from offset 'off'\n" ++ " of device/partition [partition name]\n" ++ " includes oob area if the device has.\n" ++ " partition name must't NULL\n" ++ "store erase.chip\n" ++ " erase all nand chip,except bad block\n" ++ "store scrub.chip\n" ++ " erase all nand chip,include bad block\n" ++ "store boot_read name addr copy size\n" ++ " read 'size' bytes from 'copy'th backup\n" ++ " in name partition, 'copy' can't be null.\n" ++ " name:\n" ++ " in discrete mode: 'bl2'/'tpl'(fip)\n" ++ " in compact mode: 'bootloader'\n" ++ "store boot_write name addr [copy] size\n" ++ " write 'size' bytes to 'copy'th backup\n" ++ " in [name] partition from address\n" ++ " 'addr' of memory. when the optional 'copy'\n" ++ " is null, it will writes to all copies\n" ++ " name:\n" ++ " in discrete mode:\n" ++ " 'bl2/bl2e/bl2x/ddrfip/tpl(fip), only update part\n" ++ " 'bootloader', update whole uboot.bin, in this case\n" ++ " @copy:if used, must < min(tplCpyNum, Bl2CpyNum), update only the specified copy\n" ++ " if not used, update all the copies of bl2 bl2e bl2x ddrfip tpl!\n" ++ " in compact mode: 'bootloader'\n" ++ "store boot_erase name [copy]\n" ++ " erase the name info from 'copy'th backup\n" ++ " when the optional 'copy' not value, it\n" ++ " will erase all copies.\n" ++ " name:\n" ++ " in discrete mode: \n" ++ " 'bl2'/'tpl'(fip): erase bl2/tpl partition\n" ++ " 'bootloader':erase bl2 + tpl partition\n" ++ " in compact mode: 'bootloader'\n" ++ "store rsv read name addr size\n" ++ " read 'size' bytes 'name' rsv info\n" ++ " to address 'addr' of memory\n" ++ " 'name' could be key/dtb/env etc...\n" ++ "store rsv write name addr size\n" ++ " write 'size' bytes 'name' rsv info\n" ++ " from address 'addr' of memory\n" ++ "store rsv erase name\n" ++ " erase 'name' rsv info\n" ++ " name must't null\n" ++ "store rsv protect name on/off\n" ++ " turn on/off the rsv info protection\n" ++ " name must't null\n" ++); +diff --git a/common/aml_dt.c b/common/aml_dt.c +new file mode 100644 +index 00000000000..a6888999d44 +--- /dev/null ++++ b/common/aml_dt.c +@@ -0,0 +1,600 @@ ++/* ++* Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++* * ++This program is free software; you can redistribute it and/or modify ++* it under the terms of the GNU General Public License as published by ++* the Free Software Foundation; either version 2 of the License, or ++* (at your option) any later version. ++* * ++This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++* more details. ++* * ++You should have received a copy of the GNU General Public License along ++* with this program; if not, write to the Free Software Foundation, Inc., ++* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++* * ++Description: ++*/ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++//#define AML_DT_DEBUG ++#ifdef AML_DT_DEBUG ++#define dbg_printf(...) printf(__VA_ARGS__) ++#else ++#define dbg_printf(...) ((void)0) ++#endif ++ ++#define AML_MULTI_DTB_API_NEW ++//#define AML_MULTI_DTB_CHECK_CMD //command for multi-dtb test ++ ++#ifdef AML_MULTI_DTB_API_NEW ++ ++/*for multi-dtb gzip buffer*/ ++#define GUNZIP_BUF_SIZE (1<<20) /*1MB is enough?*/ ++ ++/*magic for multi-dtb*/ ++#define MAGIC_GZIP_MASK (0x0000FFFF) ++#define MAGIC_GZIP_ID (0x00008B1F) ++#define IS_GZIP_PACKED(nMagic) (MAGIC_GZIP_ID == (MAGIC_GZIP_MASK & nMagic)) ++#define MAGIC_DTB_SGL_ID (0xedfe0dd0) ++#define MAGIC_DTB_MLT_ID (0x5f4c4d41) ++ ++/*amlogic multi-dtb version*/ ++#define AML_MUL_DTB_VER_1 (1) ++#define AML_MUL_DTB_VER_2 (2) ++ ++/*max char for dtb name, fixed to soc_package_board format*/ ++#define AML_MAX_DTB_NAME_SIZE (128) ++#define AML_DTB_TOKEN_MAX_COUNT (AML_MAX_DTB_NAME_SIZE>>1) ++ ++typedef struct{ ++ unsigned int nMagic; ++ unsigned int nVersion; ++ unsigned int nDTBCount; ++}st_dtb_hdr_t,*p_st_dtb_hdr_t; ++ ++/*v1,v2 multi-dtb only support max to 3 tokens for each DTB name*/ ++#define MULTI_DTB_TOKEN_MAX_COUNT (3) ++#define MULTI_DTB_TOKEN_UNIT_SIZE_V1 (4) //v1 support 4bytes for each token ++#define MULTI_DTB_TOKEN_UNIT_SIZE_V2 (16) //v2 support 16bytes for each token ++ ++/*v1 multi-dtb*/ ++typedef struct{ ++ unsigned char szToken[MULTI_DTB_TOKEN_MAX_COUNT][MULTI_DTB_TOKEN_UNIT_SIZE_V1]; ++ int nDTBOffset; ++ int nDTBIMGSize; ++}st_dtb_token_v1_t,*p_st_dtb_token_v1_t; ++ ++typedef struct{ ++ st_dtb_hdr_t hdr; ++ st_dtb_token_v1_t dtb[1]; ++}st_dtb_v1_t,*p_st_dtb_v1_t; ++ ++ ++/*v2 multi-dtb*/ ++typedef struct{ ++ unsigned char szToken[MULTI_DTB_TOKEN_MAX_COUNT][MULTI_DTB_TOKEN_UNIT_SIZE_V2]; ++ int nDTBOffset; ++ int nDTBIMGSize; ++}st_dtb_token_v2_t,*p_st_dtb_token_v2_t; ++ ++typedef struct{ ++ st_dtb_hdr_t hdr; ++ st_dtb_token_v2_t dtb[1]; ++}st_dtb_v2_t,*p_st_dtb_v2_t; ++ ++ ++/*to get the valid DTB index with matched DTB name*/ ++static int get_dtb_index(const char aml_dt_buf[128],unsigned long fdt_addr) ++{ ++ int nReturn = -1; ++ ++ if (!aml_dt_buf) ++ goto exit; ++ ++ p_st_dtb_hdr_t pDTBHdr = (p_st_dtb_hdr_t)fdt_addr; ++ char sz_aml_dt_msb[10][MULTI_DTB_TOKEN_UNIT_SIZE_V2]; ++ memset(sz_aml_dt_msb,0,sizeof(sz_aml_dt_msb)); ++ ++ /* split aml_dt with token '_', e.g "tm2-revb_t962x3_ab301" */ ++ //printf(" aml_dt : %s\n",aml_dt_buf); ++ ++ char *tokens[AML_DTB_TOKEN_MAX_COUNT]; ++ char sz_temp[AML_MAX_DTB_NAME_SIZE+4]; ++ memset(tokens,0,sizeof(tokens)); ++ memset(sz_temp,0,sizeof(sz_temp)); ++ strncpy(sz_temp,aml_dt_buf,128); ++ int i,j; ++ int nLen = strlen(sz_temp); ++ sz_temp[nLen]='_'; ++ sz_temp[nLen+1]='\0'; ++ nLen +=1; ++ tokens[0]=sz_temp; ++ for (i = 1; i < sizeof(tokens)/sizeof(tokens[0]); i++) ++ { ++ tokens[i] = strstr(tokens[i-1],"_"); ++ if (!tokens[i]) ++ break; ++ ++ *tokens[i]='\0'; ++ ++ tokens[i]=tokens[i]+1; ++ ++ if (!(*tokens[i])) ++ { ++ tokens[i] = 0; ++ break; ++ } ++ } ++ ++ //for (i=0;i<10 && tokens[i];++i) ++ // printf("token-%d:%s\n",i,tokens[i]); ++ ++ int nTokenLen = 0; ++ ++ switch (pDTBHdr->nVersion) ++ { ++ case AML_MUL_DTB_VER_1: ++ { ++ nTokenLen = MULTI_DTB_TOKEN_UNIT_SIZE_V1; ++ }break; ++ case AML_MUL_DTB_VER_2: ++ { ++ nTokenLen = MULTI_DTB_TOKEN_UNIT_SIZE_V2; ++ }break; ++ default: goto exit; break; ++ } ++ ++ ++ for (i = 0;i> ((3-m)<<3)) & 0xFF; ++ ++ /*replace 0 with 0x20*/ ++ for (m=0;mnVersion) ++ { ++ case AML_MUL_DTB_VER_1: ++ { ++ p_st_dtb_v1_t pDTB_V1 = (p_st_dtb_v1_t)fdt_addr; ++ for (i=0;i< pDTB_V1->hdr.nDTBCount;++i) ++ { ++ if (!memcmp(pDTB_V1->dtb[i].szToken,sz_aml_dt_msb, ++ MULTI_DTB_TOKEN_MAX_COUNT*nTokenLen)) ++ { ++ nReturn = i; ++ break; ++ } ++ } ++ ++ }break; ++ case AML_MUL_DTB_VER_2: ++ { ++ p_st_dtb_v2_t pDTB_V2 = (p_st_dtb_v2_t)fdt_addr; ++ for (i=0;i< pDTB_V2->hdr.nDTBCount;++i) ++ { ++ if (!memcmp(pDTB_V2->dtb[i].szToken,sz_aml_dt_msb, ++ MULTI_DTB_TOKEN_MAX_COUNT*nTokenLen)) ++ { ++ nReturn = i; ++ break; ++ } ++ } ++ ++ }break; ++ default: goto exit; break; ++ } ++ ++exit: ++ ++ return nReturn; ++ ++} ++ ++unsigned long __attribute__((unused)) get_multi_dt_entry(unsigned long fdt_addr) ++{ ++ unsigned long lReturn = 0; //return buffer for valid DTB; ++ void * gzip_buf = NULL; ++ unsigned long pInputFDT = fdt_addr; ++ p_st_dtb_hdr_t pDTBHdr = (p_st_dtb_hdr_t)pInputFDT; ++ unsigned long unzip_size = GUNZIP_BUF_SIZE; ++ ++ printf(" Amlogic Multi-DTB tool\n"); ++ ++ /* first check the blob header, support GZIP format */ ++ if ( IS_GZIP_PACKED(pDTBHdr->nMagic)) ++ { ++ printf(" GZIP format, decompress...\n"); ++ gzip_buf = malloc(GUNZIP_BUF_SIZE); ++ if (!gzip_buf) ++ { ++ printf(" ERROR! fail to allocate memory for GUNZIP...\n"); ++ goto exit; ++ } ++ memset(gzip_buf, 0, GUNZIP_BUF_SIZE); ++ if (gunzip(gzip_buf, GUNZIP_BUF_SIZE, (void *)pInputFDT, &unzip_size) < 0) ++ { ++ printf(" ERROR! GUNZIP process fail...\n"); ++ goto exit; ++ } ++ if (unzip_size > GUNZIP_BUF_SIZE) ++ { ++ printf(" ERROR! GUNZIP overflow...\n"); ++ goto exit; ++ } ++ //memcpy((void*)fdt_addr,gzip_buf,unzip_size); ++ pInputFDT = (unsigned long)gzip_buf; ++ pDTBHdr = (p_st_dtb_hdr_t)pInputFDT; ++ } ++ ++ ++ switch (pDTBHdr->nMagic) ++ { ++ case MAGIC_DTB_SGL_ID: ++ { ++ printf(" Single DTB detected\n"); ++ ++ if (fdt_addr != (unsigned long)pInputFDT) //in case of GZIP single DTB ++ memcpy((void*)fdt_addr,(void*)pInputFDT,unzip_size); ++ ++ lReturn = fdt_addr; ++ ++ }break; ++ case MAGIC_DTB_MLT_ID: ++ { ++ printf(" Multi DTB detected.\n"); ++ printf(" Multi DTB tool version: v%d.\n", pDTBHdr->nVersion); ++ printf(" Support %d DTBS.\n", pDTBHdr->nDTBCount); ++ ++ ++ /* check and set aml_dt */ ++ char aml_dt_buf[AML_MAX_DTB_NAME_SIZE+4]; ++ memset(aml_dt_buf, 0, sizeof(aml_dt_buf)); ++ ++ /* update 2016.07.27, checkhw and setenv everytime, ++ or else aml_dt will set only once if it is reserved */ ++ extern int checkhw(char * name); ++#if 1 ++ if (checkhw(aml_dt_buf) < 0 || strlen(aml_dt_buf) <= 0) ++ { ++ printf(" Get env aml_dt failed!\n"); ++ goto exit; ++ } ++#else ++ char *aml_dt = getenv(AML_DT_UBOOT_ENV); ++ /* if aml_dt not exist or env not ready, get correct dtb by name */ ++ if (NULL == aml_dt) ++ checkhw(aml_dt_buf); ++ else ++ memcpy(aml_dt_buf, aml_dt, ++ (strlen(aml_dt)>AML_MAX_DTB_NAME_SIZE?AML_MAX_DTB_NAME_SIZE:(strlen(aml_dt)+1))); ++#endif ++ ++ int dtb_match_num = get_dtb_index(aml_dt_buf,(unsigned long)pInputFDT); ++ ++ /*check valid dtb index*/ ++ if (dtb_match_num < 0 || dtb_match_num >= pDTBHdr->nDTBCount) ++ { ++ printf(" NOT found matched DTB for \"%s\"\n",aml_dt_buf); ++ goto exit; ++ } ++ ++ printf(" Found DTB for \"%s\"\n",aml_dt_buf); ++ ++ switch (pDTBHdr->nVersion) ++ { ++ case AML_MUL_DTB_VER_1: ++ { ++ p_st_dtb_v1_t pDTB_V1 = (p_st_dtb_v1_t)pInputFDT; ++ lReturn = pDTB_V1->dtb[dtb_match_num].nDTBOffset + pInputFDT; ++ ++ if (pInputFDT != fdt_addr) ++ { ++ memcpy((void*)fdt_addr, (void*)lReturn,pDTB_V1->dtb[dtb_match_num].nDTBIMGSize); ++ lReturn = fdt_addr; ++ } ++ ++ }break; ++ case AML_MUL_DTB_VER_2: ++ { ++ p_st_dtb_v2_t pDTB_V2 = (p_st_dtb_v2_t)pInputFDT; ++ lReturn = pDTB_V2->dtb[dtb_match_num].nDTBOffset + pInputFDT; ++ ++ if (pInputFDT != fdt_addr) ++ { ++ memcpy((void*)fdt_addr, (void*)lReturn,pDTB_V2->dtb[dtb_match_num].nDTBIMGSize); ++ lReturn = fdt_addr; ++ } ++ ++ }break; ++ default: ++ { ++ printf(" Invalid Multi-DTB Version [%d]!\n", ++ pDTBHdr->nVersion); ++ goto exit; ++ }break; ++ } ++ ++ }break; ++ default: goto exit; break; ++ } ++ ++exit: ++ ++ if (gzip_buf) ++ { ++ free(gzip_buf); ++ gzip_buf = 0; ++ } ++ ++ return lReturn; ++} ++ ++#else //#ifdef AML_MULTI_DTB_API_NEW ++ ++#define AML_DT_IND_LENGTH_V1 4 /*fixed*/ ++#define AML_DT_IND_LENGTH_V2 16 /*fixed*/ ++ ++#define AML_DT_IND_LENGTH 16 ++#define AML_DT_ID_VARI_TOTAL 3 //Total 3 strings ++#define AML_DT_EACH_ID_INT (AML_DT_IND_LENGTH / 4) ++ ++/*Latest version: v2*/ ++#define AML_DT_VERSION_OFFSET 4 ++#define AML_DT_TOTAL_DTB_OFFSET 8 ++#define AML_DT_FIRST_DTB_OFFSET 12 ++//#define AML_DT_DTB_HEADER_SIZE (8+(AML_DT_IND_LENGTH * AML_DT_ID_VARI_TOTAL)) ++#define AML_DT_DTB_DT_INFO_OFFSET 0 ++//#define AML_DT_DTB_OFFSET_OFFSET (AML_DT_IND_LENGTH * AML_DT_ID_VARI_TOTAL) ++//#define AML_DT_DTB_SIZE_OFFSET 16 ++ ++#define AML_DT_UBOOT_ENV "aml_dt" ++#define DT_HEADER_MAGIC 0xedfe0dd0 /*header of dtb file*/ ++#define AML_DT_HEADER_MAGIC 0x5f4c4d41 /*"AML_", multi dtbs supported*/ ++ ++#define IS_GZIP_FORMAT(data) ((data & (0x0000FFFF)) == (0x00008B1F)) ++#define GUNZIP_BUF_SIZE (0x500000) /* 5MB */ ++#define DTB_MAX_SIZE (AML_DTB_IMG_MAX_SZ) ++ ++//#define readl(addr) (*(volatile unsigned int*)(addr)) ++extern int checkhw(char * name); ++ ++unsigned long __attribute__((unused)) ++ get_multi_dt_entry(unsigned long fdt_addr){ ++ unsigned int dt_magic = readl(fdt_addr); ++ unsigned int dt_total = 0; ++ unsigned int dt_tool_version = 0; ++ unsigned int gzip_format = 0; ++ void * gzip_buf = NULL; ++ unsigned long dt_entry = fdt_addr; ++ ++ printf(" Amlogic multi-dtb tool\n"); ++ ++ /* first check the file header, support GZIP format */ ++ gzip_format = IS_GZIP_FORMAT(dt_magic); ++ if (gzip_format) { ++ printf(" GZIP format, decompress...\n"); ++ gzip_buf = malloc(GUNZIP_BUF_SIZE); ++ memset(gzip_buf, 0, GUNZIP_BUF_SIZE); ++ unsigned long unzip_size = GUNZIP_BUF_SIZE; ++ gunzip(gzip_buf, GUNZIP_BUF_SIZE, (void *)fdt_addr, &unzip_size); ++ dbg_printf(" DBG: unzip_size: 0x%x\n", (unsigned int)unzip_size); ++ if (unzip_size > GUNZIP_BUF_SIZE) { ++ printf(" Warning! GUNZIP overflow...\n"); ++ } ++ fdt_addr = (unsigned long)gzip_buf; ++ dt_magic = readl(fdt_addr); ++ } ++ ++ dbg_printf(" DBG: fdt_addr: 0x%x\n", (unsigned int)fdt_addr); ++ dbg_printf(" DBG: dt_magic: 0x%x\n", (unsigned int)dt_magic); ++ ++ /*printf(" Process device tree. dt magic: %x\n", dt_magic);*/ ++ if (dt_magic == DT_HEADER_MAGIC) {/*normal dtb*/ ++ printf(" Single dtb detected\n"); ++ if (gzip_format) { ++ memcpy((void *)dt_entry, (void *)fdt_addr, DTB_MAX_SIZE); ++ fdt_addr = dt_entry; ++ if (gzip_buf) ++ free(gzip_buf); ++ } ++ return fdt_addr; ++ } ++ else if (dt_magic == AML_DT_HEADER_MAGIC) {/*multi dtb*/ ++ printf(" Multi dtb detected\n"); ++ /* check and set aml_dt */ ++ int i = 0; ++ char *aml_dt_buf; ++ aml_dt_buf = (char *)malloc(sizeof(char)*64); ++ printf("Multi dtb malloc aml_dt_buf addr = %p\n", aml_dt_buf); ++ memset(aml_dt_buf, 0, sizeof(aml_dt_buf)); ++ ++ /* update 2016.07.27, checkhw and setenv everytime, ++ or else aml_dt will set only once if it is reserved */ ++#if 1 ++ checkhw(aml_dt_buf); ++#else ++ char *aml_dt = getenv(AML_DT_UBOOT_ENV); ++ /* if aml_dt not exist or env not ready, get correct dtb by name */ ++ if (NULL == aml_dt) ++ checkhw(aml_dt_buf); ++ else ++ memcpy(aml_dt_buf, aml_dt, (strlen(aml_dt)>64?64:(strlen(aml_dt)+1))); ++#endif ++ ++ unsigned int aml_dt_len = aml_dt_buf ? strlen(aml_dt_buf) : 0; ++ if (aml_dt_len <= 0) { ++ printf(" Get env aml_dt failed!\n"); ++ if (aml_dt_buf) ++ free(aml_dt_buf); ++ if (gzip_buf) ++ free(gzip_buf); ++ return fdt_addr; ++ } ++ ++ /*version control, compatible with v1*/ ++ dt_tool_version = readl(fdt_addr + AML_DT_VERSION_OFFSET); ++ unsigned int aml_each_id_length=0; ++ unsigned int aml_dtb_offset_offset; ++ unsigned int aml_dtb_header_size; ++ if (dt_tool_version == 1) ++ aml_each_id_length = 4; ++ else if(dt_tool_version == 2) ++ aml_each_id_length = 16; ++ ++ aml_dtb_offset_offset = aml_each_id_length * AML_DT_ID_VARI_TOTAL; ++ aml_dtb_header_size = 8+(aml_each_id_length * AML_DT_ID_VARI_TOTAL); ++ printf(" Multi dtb tool version: v%d .\n", dt_tool_version); ++ ++ /*fdt_addr + 0x8: num of dtbs*/ ++ dt_total = readl(fdt_addr + AML_DT_TOTAL_DTB_OFFSET); ++ printf(" Support %d dtbs.\n", dt_total); ++ ++ /* split aml_dt to 3 strings */ ++ char *tokens[3] = {NULL, NULL, NULL}; ++ for (i = 0; i < AML_DT_ID_VARI_TOTAL; i++) { ++ tokens[i] = strsep(&aml_dt_buf, "_"); ++ } ++ //if (aml_dt_buf) ++ //free(aml_dt_buf); ++ printf(" aml_dt soc: %s platform: %s variant: %s\n", tokens[0], tokens[1], tokens[2]); ++ ++ /*match and print result*/ ++ char **dt_info; ++ dt_info = (char **)malloc(sizeof(char *)*AML_DT_ID_VARI_TOTAL); ++ for (i = 0; i < AML_DT_ID_VARI_TOTAL; i++) ++ dt_info[i] = (char *)malloc(sizeof(char)*aml_each_id_length); ++ unsigned int dtb_match_num = 0xffff; ++ unsigned int x = 0, y = 0, z = 0; //loop counter ++ unsigned int read_data; ++ for (i = 0; i < dt_total; i++) { ++ for (x = 0; x < AML_DT_ID_VARI_TOTAL; x++) { ++ for (y = 0; y < aml_each_id_length; y+=4) { ++ read_data = readl(fdt_addr + AML_DT_FIRST_DTB_OFFSET + \ ++ i * aml_dtb_header_size + AML_DT_DTB_DT_INFO_OFFSET + \ ++ (x * aml_each_id_length) + y); ++ dt_info[x][y+0] = (read_data >> 24) & 0xff; ++ dt_info[x][y+1] = (read_data >> 16) & 0xff; ++ dt_info[x][y+2] = (read_data >> 8) & 0xff; ++ dt_info[x][y+3] = (read_data >> 0) & 0xff; ++ } ++ for (z=0; z 1) ++ loadaddr = simple_strtoul(argv[1],NULL,16); ++ ++ check_valid_dts((void*)loadaddr); ++ ++ return 0; ++} ++ ++U_BOOT_CMD( ++ dtb_chk, //command name ++ 2, //maxargs ++ 0, //repeatable ++ do_test, //command function ++ "multi-dtb check command", //description ++ " argv: dtb_chk \n" //usage ++ " do dtb check, which already loaded at .\n" ++); ++#endif //#ifdef AML_MULTI_DTB_CHECK_CMD +diff --git a/common/partitions.c b/common/partitions.c +new file mode 100644 +index 00000000000..25ad5e447d8 +--- /dev/null ++++ b/common/partitions.c +@@ -0,0 +1,206 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifdef CONFIG_MULTI_DTB ++ extern unsigned long get_multi_dt_entry(unsigned long fdt_addr); ++#endif ++ ++struct partitions_data{ ++ int nr; ++ struct partitions *parts; ++}; ++ ++struct partitions *part_table = NULL; ++static int parts_total_num; ++int has_boot_slot = 0; ++int has_system_slot = 0; ++bool dynamic_partition = false; ++bool vendor_boot_partition = false; ++ ++int get_partitions_table(struct partitions **table) ++{ ++ int ret = 0; ++ if (part_table && parts_total_num) { ++ *table = part_table; ++ ret = parts_total_num; ++ } ++ return ret; ++} ++int get_partition_count(void) ++{ ++ return parts_total_num; ++} ++struct partitions *get_partitions(void) ++{ ++ return part_table; ++} ++ ++void free_partitions(void) ++{ ++ if (part_table) ++ free(part_table); ++ part_table = NULL; ++} ++ ++#ifndef IS_FEAT_BOOT_VERIFY ++#define IS_FEAT_BOOT_VERIFY() 0 ++#endif// #ifndef IS_FEAT_BOOT_VERIFY ++ ++/* ++ return 0 if dts is valid ++ other value are falure. ++*/ ++int check_valid_dts(unsigned char *buffer) ++{ ++ int ret = -__LINE__; ++ char *dt_addr; ++ /* fixme, a work around way */ ++ unsigned char *sbuffer = (unsigned char *)env_get_hex("loadaddr", 0x1000000 + 0x100000); ++ /* g12a merge to trunk, use trunk code */ ++ //unsigned char *sbuffer = (unsigned char *)0x1000000; ++ ++ if (IS_FEAT_BOOT_VERIFY()) { ++ memcpy(sbuffer, buffer, AML_DTB_IMG_MAX_SZ); ++ flush_cache((unsigned long)sbuffer, AML_DTB_IMG_MAX_SZ); ++ ret = aml_sec_boot_check(AML_D_P_IMG_DECRYPT, (long unsigned)sbuffer, AML_DTB_IMG_MAX_SZ, 0); ++ if (ret) { ++ printf("\n %s() %d: Decrypt dtb: Sig Check %d\n", __func__, __LINE__, ret); ++ return -__LINE__; ++ } ++ memcpy(buffer, sbuffer, AML_DTB_IMG_MAX_SZ); ++ } ++#ifdef CONFIG_MULTI_DTB ++ dt_addr = (char *)get_multi_dt_entry((unsigned long)buffer); ++#else ++ dt_addr = (char *)buffer; ++#endif ++ pr_debug("start dts,buffer=%p,dt_addr=%p\n", buffer, dt_addr); ++ ret = fdt_check_header(dt_addr); ++ if ( ret < 0 ) ++ printf("%s: %s\n",__func__,fdt_strerror(ret)); ++ /* fixme, is it 0 when ok? */ ++ return ret; ++} ++ ++int get_partition_from_dts(unsigned char *buffer) ++{ ++ char *dt_addr; ++ int nodeoffset,poffset=0; ++ int *parts_num; ++ char propname[8]; ++ const uint32_t *phandle; ++ const char *uname; ++ const char *usize; ++ const char *umask; ++ int index; ++ int ret = -1; ++ ++ if ( buffer == NULL) ++ goto _err; ++ ++ ret = check_valid_dts(buffer); ++ printf("%s() %d: ret %d\n",__func__, __LINE__, ret); ++ if ( ret < 0 ) ++ { ++ printf("%s() %d: ret %d\n",__func__, __LINE__, ret); ++ goto _err; ++ } ++#ifdef CONFIG_MULTI_DTB ++ dt_addr = (char *)get_multi_dt_entry((unsigned long)buffer); ++#else ++ dt_addr = (char *)buffer; ++#endif ++ nodeoffset = fdt_path_offset(dt_addr, "/partitions"); ++ if (nodeoffset < 0) ++ { ++ printf("%s: not find /partitions node %s.\n",__func__,fdt_strerror(nodeoffset)); ++ ret = -1; ++ goto _err; ++ } ++ parts_num = (int *)fdt_getprop(dt_addr, nodeoffset, "parts", NULL); ++ printf("parts: %d\n",be32_to_cpup((u32*)parts_num)); ++ ++ if (parts_num > 0) ++ { ++ part_table = (struct partitions *)malloc(sizeof(struct partitions)*(be32_to_cpup((u32*)parts_num))); ++ if (!part_table) { ++ printk("%s part_table alloc _err\n",__func__); ++ //kfree(data); ++ return -1; ++ } ++ memset(part_table, 0, sizeof(struct partitions)*(be32_to_cpup((u32*)parts_num))); ++ parts_total_num = be32_to_cpup((u32*)parts_num); ++ } ++ dynamic_partition = false; ++ env_set("partiton_mode","normal"); ++ vendor_boot_partition = false; ++ env_set("vendor_boot_mode","false"); ++ for (index = 0; index < be32_to_cpup((u32*)parts_num); index++) ++ { ++ sprintf(propname,"part-%d", index); ++ ++ phandle = fdt_getprop(dt_addr, nodeoffset, propname, NULL); ++ if (!phandle) { ++ printf("don't find match part-%d\n",index); ++ goto _err; ++ } ++ if (phandle) { ++ poffset = fdt_node_offset_by_phandle(dt_addr, be32_to_cpup((u32*)phandle)); ++ if (!poffset) { ++ printf("%s:%d,can't find device node\n",__func__,__LINE__); ++ goto _err; ++ } ++ } ++ uname = fdt_getprop(dt_addr, poffset, "pname", NULL); ++ //printf("%s:%d uname: %s\n",__func__,__LINE__, uname); ++ /* a string but not */ ++ usize = fdt_getprop(dt_addr, poffset, "size", NULL); ++ //printf("%s:%d size: 0x%x 0x%x\n",__func__,__LINE__, be32_to_cpup((u32*)usize), be32_to_cpup((((u32*)usize)+1))); ++ umask = fdt_getprop(dt_addr, poffset, "mask", NULL); ++ //printf("%s:%d mask: 0x%x\n",__func__,__LINE__, be32_to_cpup((u32*)umask)); ++ /* fill parition table */ ++ if (uname != NULL) ++ memcpy(part_table[index].name, uname, strlen(uname)); ++ part_table[index].size = ((unsigned long)be32_to_cpup((u32*)usize) << 32) | (unsigned long)be32_to_cpup((((u32*)usize)+1)); ++ part_table[index].mask_flags = be32_to_cpup((u32*)umask); ++ printf("%02d:%10s\t%016llx %01x\n", index, uname, part_table[index].size, part_table[index].mask_flags); ++ ++ if (strcmp(uname, "boot_a") == 0) { ++ has_boot_slot = 1; ++ printf("set has_boot_slot = 1\n"); ++ } ++ else if (strcmp(uname, "boot") == 0) { ++ has_boot_slot = 0; ++ printf("set has_boot_slot = 0\n"); ++ } ++ if (strcmp(uname, "system_a") == 0) ++ has_system_slot = 1; ++ else if (strcmp(uname, "system") == 0) ++ has_system_slot = 0; ++ ++ if (strcmp(uname, "super") == 0) { ++ dynamic_partition = true; ++ env_set("partiton_mode","dynamic"); ++ printf("enable dynamic_partition\n"); ++ } ++ ++ if (strncmp(uname, "vendor_boot", 11) == 0) { ++ vendor_boot_partition = true; ++ env_set("vendor_boot_mode","true"); ++ printf("enable vendor_boot\n"); ++ } ++ } ++ return 0; ++ ++_err: ++ if (part_table != NULL) { ++ free(part_table); ++ part_table = NULL; ++ } ++ return ret; ++} +diff --git a/disk/part_aml.c b/disk/part_aml.c +new file mode 100644 +index 00000000000..828a1b2d5c3 +--- /dev/null ++++ b/disk/part_aml.c +@@ -0,0 +1,110 @@ ++/* ++ * (C) Copyright 2001 ++ * Yonghui.yu , Amlogic Inc, yonghui.yu@amlogic.com. ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifdef CONFIG_HAVE_BLOCK_DEVICE ++extern int get_part_info_from_tbl(struct blk_desc * dev_desc, ++ int part_num, struct disk_partition * info); ++int get_part_info_by_name(struct blk_desc *dev_desc, ++ const char *name, struct disk_partition *info); ++#define AML_PART_DEBUG (0) ++ ++#if (AML_PART_DEBUG) ++#define PRINTF(fmt,args...) printf (fmt ,##args) ++#else ++#define PRINTF(fmt,args...) ++#endif ++ ++#define AML_SEC_SIZE (512) ++#define MAGIC_OFFSET (1) ++ ++/* read back boot partitons */ ++static int _get_partition_info_aml(struct blk_desc * dev_desc, ++ int part_num, struct disk_partition * info, int verb) ++{ ++ int ret = 0; ++ ++ if (UCLASS_MMC != dev_desc->if_type) ++ return -1; ++ ++ info->blksz=dev_desc->blksz; ++ sprintf ((char *)info->type, "U-Boot"); ++ /* using partition name in partition tables */ ++ ret = get_part_info_from_tbl(dev_desc, part_num, info); ++ if (ret) { ++ /*printf ("** Partition %d not found on device %d **\n", ++ part_num,dev_desc->devnum);*/ ++ return -1; ++ } ++ ++ PRINTF(" part %d found @ %lx size %lx\n",part_num,info->start,info->size); ++ return 0; ++} ++ ++int get_partition_info_aml(struct blk_desc * dev_desc, ++ int part_num, struct disk_partition * info) ++{ ++ return(_get_partition_info_aml(dev_desc, part_num, info, 1)); ++} ++ ++int get_partition_info_aml_by_name(struct blk_desc *dev_desc, ++ const char *name, struct disk_partition *info) ++{ ++ return (get_part_info_by_name(dev_desc, ++ name, info)); ++} ++ ++void print_part_aml(struct blk_desc * dev_desc) ++{ ++ struct disk_partition info; ++ int i; ++ if (_get_partition_info_aml(dev_desc,0,&info,0) == -1) { ++ printf("** No boot partition found on device %d **\n",dev_desc->devnum); ++ return; ++ } ++ printf("Part Start Sect x Size Type name\n"); ++ i=0; ++ do { ++ printf(" %02d " LBAFU " " LBAFU " %6ld %.32s %.32s\n", ++ i++, info.start, info.size, info.blksz, info.type, info.name); ++ } while (_get_partition_info_aml(dev_desc,i,&info,0)!=-1); ++} ++#define AML_MPT_OFFSET (73728) /* 36M */ ++/* fix 40Mbyte to check the MPT magic */ ++int test_part_aml (struct blk_desc *dev_desc) ++{ ++ ALLOC_CACHE_ALIGN_BUFFER(char, buffer, dev_desc->blksz); ++ if (blk_dread(dev_desc, AML_MPT_OFFSET, 1, (ulong *) buffer) != 1) ++ return -1; ++ if (!strncmp(buffer, "MPT", 3)) ++ return 1; // FIXME: return negative result for AML partition for normal u-boot bootsequence ++ return 1; ++} ++ ++ ++U_BOOT_PART_TYPE(aml) = { ++ .name = "AML", ++ .part_type = PART_TYPE_AML, ++ .max_entries = AML_ENTRY_NUMBERS, ++ .get_info = get_partition_info_aml, ++ .print = print_part_aml, ++ .test = test_part_aml, ++}; ++ ++#endif +diff --git a/drivers/amlogic/Kconfig b/drivers/amlogic/Kconfig +new file mode 100644 +index 00000000000..ff94c4b85e2 +--- /dev/null ++++ b/drivers/amlogic/Kconfig +@@ -0,0 +1,14 @@ ++menu "AMLOGIC Drivers" ++ ++config AML_DRIVER ++ bool "AML drivers Support" ++ select SHA1 ++ select SHA256 ++ help ++ Enable support for the Amlogic drivers. ++ ++source "drivers/amlogic/keymanage/Kconfig" ++ ++source "drivers/amlogic/storagekey/Kconfig" ++ ++endmenu +diff --git a/drivers/amlogic/Makefile b/drivers/amlogic/Makefile +new file mode 100644 +index 00000000000..544cc608b58 +--- /dev/null ++++ b/drivers/amlogic/Makefile +@@ -0,0 +1,5 @@ ++# SPDX-License-Identifier: GPL-2.0+ ++ ++obj-$(CONFIG_UNIFY_KEY_MANAGE) += keymanage/ ++ ++obj-$(CONFIG_SECURE_STORAGE) += storagekey/ +diff --git a/drivers/amlogic/keymanage/Kconfig b/drivers/amlogic/keymanage/Kconfig +new file mode 100644 +index 00000000000..0c77689ae4b +--- /dev/null ++++ b/drivers/amlogic/keymanage/Kconfig +@@ -0,0 +1,21 @@ ++menuconfig UNIFY_KEY_MANAGE ++ bool "Amlogic unifykey" ++ depends on OF_LIBFDT ++ help ++ This enables support for keyman (Amlogic key manage), ++ A driver providing APIs for flash key and efuse key ++if UNIFY_KEY_MANAGE ++ config AML_SECURITY_KEY ++ depends on SECURE_STORAGE ++ bool "Amlogic flash key" ++ default y ++ select SHA256 ++ select SHA1 ++ help ++ "security key wrapper for APIs bl31" ++ config KEYMAN_PROVISION_KEY ++ bool "Amlogic burn provision key" ++ default n ++ help ++ "provision key wrapper for burn tool" ++endif #if UNIFY_KEY_MANAGE +diff --git a/drivers/amlogic/keymanage/Makefile b/drivers/amlogic/keymanage/Makefile +new file mode 100644 +index 00000000000..08dd44eaec6 +--- /dev/null ++++ b/drivers/amlogic/keymanage/Makefile +@@ -0,0 +1,32 @@ ++# ++# (C) Copyright 2000-2007 ++# Wolfgang Denk, DENX Software Engineering, wd@denx.de. ++# ++# See file CREDITS for list of people who contributed to this ++# project. ++# ++# This program is free software; you can redistribute it and/or ++# modify it under the terms of the GNU General Public License as ++# published by the Free Software Foundation; either version 2 of ++# the License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++# MA 02111-1307 USA ++# ++ ++obj-$(CONFIG_UNIFY_KEY_MANAGE) += aml_key_manage.o ++ ++aml_key_manage-y = key_unify.o ++aml_key_manage-y += key_manage.o ++aml_key_manage-$(CONFIG_OF_LIBFDT) += km_dts.o ++aml_key_manage-$(CONFIG_EFUSE) += km_efuse_key.o ++aml_key_manage-$(CONFIG_AML_SECURITY_KEY) += km_secure_key.o ++aml_key_manage-$(CONFIG_KEYMAN_PROVISION_KEY) += km_provision_key.o ++ +diff --git a/drivers/amlogic/keymanage/key_manage.c b/drivers/amlogic/keymanage/key_manage.c +new file mode 100644 +index 00000000000..f8e0700b0a1 +--- /dev/null ++++ b/drivers/amlogic/keymanage/key_manage.c +@@ -0,0 +1,689 @@ ++/* ++ * \file key_encrypt_decrypt.c ++ * \brief encrypt a key before burn to target deive, ++ * decrypt a key after read from target device ++ * ++ * \version 1.0.0 ++ * \date 15/07/17 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2015 Amlogic. All Rights Reserved. ++ * ++ */ ++#include "key_manage_i.h" ++#include ++#include ++#include ++#include ++#include ++ ++ ++#if defined(CONFIG_AML_SECURITY_KEY) ++extern int _burn_key_in_type_hdcp2(const char* keyname, ++ void* databuf, const unsigned bufLen, char* decryptBuf); ++extern int _read_key_in_type_hdcp2(const char* keyname, ++ void* databuf, const unsigned bufLen, char* decryptBuf); ++extern int _km_hdcp2_size(void); ++#else ++static int _burn_key_in_type_hdcp2(const char* keyname, ++ void* databuf, const unsigned bufLen, char* decryptBuf) ++{ ++ KM_ERR("CONFIG_AML_SECURITY_KEY undefined\n"); ++ return -__LINE__; ++} ++static int _read_key_in_type_hdcp2(const char* keyname, ++ void* databuf, const unsigned bufLen, char* decryptBuf) ++{ ++ KM_ERR("CONFIG_AML_SECURITY_KEY undefined\n"); ++ return -__LINE__; ++} ++int _km_hdcp2_size(void) ++{ ++ KM_ERR("CONFIG_AML_SECURITY_KEY undefined\n"); ++ return 0; ++} ++#endif// #if defined(CONFIG_AML_SECURITY_KEY) ++ ++enum _KmUsrKeyType{ ++ KM_USER_KEY_TYPE_MAC = 0 ,//key format is all ascii, and splitted by : ++ KM_USER_KEY_TYPE_SHA1 ,//key format is end with 20 bytes sha1sum ++ KM_USER_KEY_TYPE_HDCP2 ,//special case, can only identified with name ++ KM_USER_KEY_TYPE_RAW ,//raw format which can burn to target directly ++}; ++ ++static const char* _cfgKeyTypes[] = { ++ [KM_USER_KEY_TYPE_MAC] = "mac" , ++ [KM_USER_KEY_TYPE_SHA1] = "sha1" , ++ [KM_USER_KEY_TYPE_HDCP2] = "hdcp2" , ++ [KM_USER_KEY_TYPE_RAW] = "raw" , ++}; ++#define _SUPPORTED_CFG_TYPES_NUM ( sizeof(_cfgKeyTypes) / sizeof(char*) ) ++ ++ ++static int km_get_user_key_format(const char* srcKeyName, int* key_type) ++{ ++ int ret = 0; ++ int srcKeyType = 0; ++ const char* cfgType = NULL; ++ ++ cfgType = keymanage_dts_get_key_type (srcKeyName) ; ++ if (NULL == cfgType) { ++ KM_ERR("Fail in get keytype cfg in dts for key[%s]\n", srcKeyName); ++ return __LINE__; ++ } ++ ++ for (srcKeyType = 0; srcKeyType < _SUPPORTED_CFG_TYPES_NUM; ++srcKeyType) ++ { ++ ret = strcmp(cfgType, _cfgKeyTypes[srcKeyType]); ++ if (!ret) break; ++ } ++ if (srcKeyType == _SUPPORTED_CFG_TYPES_NUM) { ++ KM_ERR("prop key-type[%s] unsupported in key[%s]\n", cfgType, srcKeyName); ++ return __LINE__; ++ } ++ ++ if (KM_USER_KEY_TYPE_RAW == srcKeyType) ++ { ++ do ++ { ++ ret = !strcmp(srcKeyName, "mac") || !strcmp(srcKeyName, "mac_bt") || !strcmp(srcKeyName, "mac_wifi"); ++ if (ret) { srcKeyType = KM_USER_KEY_TYPE_MAC; break; } ++ ++ /*ret = !strcmp(srcKeyName, "hdcp") ;*/ ++ /*if (ret) { srcKeyType = KM_USER_KEY_TYPE_SHA1; break; }*/ ++ ++ ret = !strcmp(srcKeyName, "hdcp2") ; ++ if (ret) { srcKeyType = KM_USER_KEY_TYPE_HDCP2; break; } ++ ++ }while(0); ++ } ++ ++ *key_type = srcKeyType; ++ return 0; ++} ++ ++#if 1//START MAC ++const int _UsrMacKeyLen = 17; ++ ++//key manager user interface: mac format check and change format if needed ++static int _burn_key_in_type_mac(const char* keyname, const char* srcKeyVal, const unsigned srcKeyLen, void* decryptBuf) ++{ ++ int ret = 0; ++ int index = 0; ++ ssize_t targetKeyLen = 0; ++ char* dstKeyVal = (char*)decryptBuf; ++ ++ if (_UsrMacKeyLen != srcKeyLen) { ++ KM_ERR("mac len %d is invalid, must be %d\n", srcKeyLen, _UsrMacKeyLen); ++ return -EINVAL; ++ } ++ ++ for (index = 0; index < _UsrMacKeyLen; index += 3) ++ { ++ int k = 0; ++ const char* p = srcKeyVal + index; ++ for (k = 0; k < 2; ++k) { ++ const char c = *p++; ++ if (!isxdigit(c)) { ++ KM_ERR("mac str(%s) fmt err at index[%d]\n", srcKeyVal, index + k); ++ return __LINE__; ++ } ++ } ++ if (':' != *p && index + k < _UsrMacKeyLen) { ++ KM_ERR("mac str(%s) fmt err at index[%d], must be :, but %c\n", srcKeyVal, index + 2, *p); ++ return __LINE__; ++ } ++ } ++ ++ enum key_manager_dev_e keyDev = keymanage_dts_get_key_device(keyname); ++ if (KEY_M_MAX_DEV == keyDev) { ++ KM_ERR("Fail get key dev for key[%s]\n", keyname); ++ return __LINE__; ++ } ++ if (KEY_M_EFUSE_NORMAL != keyDev) { targetKeyLen = _UsrMacKeyLen; } ++ else ++ {//efusekey, check configure size ++ ret = key_unify_query_size(keyname, &targetKeyLen); ++ if (ret) { ++ KM_ERR("Fail at get key size, ret=%d\n", ret); ++ return __LINE__; ++ } ++ ++ if (6 != targetKeyLen && targetKeyLen != _UsrMacKeyLen) { ++ KM_ERR("efuse key[%s] len %zd err\n", keyname, targetKeyLen); ++ return __LINE__; ++ } ++ } ++ ++ if (_UsrMacKeyLen == targetKeyLen) {//say its target not efuse ? ++ ret = key_unify_write(keyname, srcKeyVal, srcKeyLen); ++ return ret; ++ } ++ ++ KM_DBG("targetKeyLen=%zd\n", targetKeyLen); ++ for (index = 0; index < targetKeyLen; ++index) { ++ char theByteStr[4] ; ++ theByteStr[0] = srcKeyVal[index * 3 + 0]; ++ theByteStr[1] = srcKeyVal[index * 3 + 1]; ++ theByteStr[2] = '\0'; ++ unsigned byteSum = 0; ++ ++ byteSum = simple_strtoul(theByteStr, NULL, 16); ++ KM_DBG("byteSum[%d]=0x%x\n", index, byteSum); ++ if (byteSum > 0xff) { ++ KM_ERR("theByteStr=%s err\n", theByteStr); ++ return __LINE__; ++ } ++ dstKeyVal[index] = byteSum; ++ } ++ ++ ret = key_unify_write(keyname, dstKeyVal, targetKeyLen); ++ return ret; ++} ++ ++//Return value: key size that user wanted, ok if > 0 ++static int _read_key_in_type_mac(const char* keyname, char* databuf, const unsigned bufLen, char* decryptBuf) ++{ ++ int ret = 0; ++ int index = 0; ++ ssize_t keyDevSz = 0; ++ ++ if (_UsrMacKeyLen > bufLen) { ++ KM_ERR("mac len %d is invalid, must be %d\n", bufLen, _UsrMacKeyLen); ++ return -__LINE__; ++ } ++ ++ ret = key_unify_query_size (keyname, &keyDevSz) ; ++ if (ret) { ++ KM_ERR("Fail in get key sz, ret=%d\n", ret); ++ return -__LINE__; ++ } ++ ++ ret = key_unify_read (keyname, decryptBuf, (unsigned)keyDevSz) ; ++ if (ret) { ++ KM_ERR("fail in read key[%s]\n", keyname); ++ return -__LINE__; ++ } ++ ++ if (_UsrMacKeyLen == keyDevSz) { ++ memcpy(databuf, decryptBuf, keyDevSz); ++ return 0; ++ } ++ ++ databuf[0] = '\0'; ++ for (index = 0; index < keyDevSz; ++index) ++ { ++ const unsigned byteSum = decryptBuf[index]; ++ ++ sprintf(databuf, "%s%02x:", databuf, byteSum); ++ } ++ ++ return ret; ++} ++#endif//END MAC ++ ++#if 1//Start sha1sum ++//key value which end up 20 bytes sha1sum ++//check the sha1sum and remove it after checked ok ++static int _burn_key_in_type_sha1(const char* keyname, void* databuf, const unsigned bufLen, char* decryptBuf) ++{ ++ int ret = 0; ++ const unsigned srcKeyLen = bufLen; ++ const char* srcKeyVal = (char*)databuf; ++ const unsigned shaSumLen = 20; ++ const unsigned licLen = srcKeyLen - shaSumLen; ++ const u8* orgSum = (u8*)srcKeyVal + licLen; ++ u8 genSum[shaSumLen]; ++ ++ if (srcKeyLen <= 20) { ++ KM_ERR("Err key len %d for sha1 fmt\n", srcKeyLen); ++ return __LINE__; ++ } ++ ++ sha1_csum((u8*)srcKeyVal, licLen, genSum); ++ ++ ret = memcmp(orgSum, genSum, shaSumLen); ++ if (ret) { ++ const unsigned fmtStrLen = shaSumLen * 2 + 2; ++ char org_sha1Str[fmtStrLen + 2]; ++ char gen_sha1Str[fmtStrLen + 2]; ++ int byteIndex = 0; ++ ++ org_sha1Str[0] = gen_sha1Str[0] = '\0'; ++ for (byteIndex = 0; byteIndex < shaSumLen; ++byteIndex) ++ { ++ sprintf(org_sha1Str, "%s%02x", org_sha1Str, orgSum[byteIndex]); ++ sprintf(gen_sha1Str, "%s%02x", gen_sha1Str, genSum[byteIndex]); ++ } ++ KM_ERR("sha1sum, orgSum[%s] != genSum[%s]\n", org_sha1Str, gen_sha1Str); ++ ++ return __LINE__; ++ } ++ KM_MSG("Verify key with sha1sum OK\n"); ++ ++ ret = key_unify_write(keyname, srcKeyVal, licLen); ++ return ret; ++} ++#endif//END sha1sum ++/* * ++ * APIs of key manage ++*/ ++ ++int key_manage_init(const char* seednum, const char* dtbaddr) ++{ ++ int ret = key_unify_init(seednum, dtbaddr); ++ ++ return ret; ++} ++ ++int key_manage_exit(void) ++{ ++ return key_unify_uninit(); ++} ++ ++int key_manage_write(const char* keyname, const void* keydata, const unsigned dataLen) ++{ ++ int ret = 0; ++ int srcKeyType; ++ char* decryptBuf = NULL; ++ const int DecryptBufMaxLen = 64<<10; ++ ++ ret = key_unify_query_key_has_configure(keyname); ++ if (!ret) { ++ KM_ERR ("There isn't cfg for key[%s]\n", keyname) ; ++ return __LINE__; ++ } ++ ++ ret = km_get_user_key_format(keyname, &srcKeyType); ++ if (ret) { ++ KM_ERR ("Fail in get user key type\n") ; ++ return __LINE__; ++ } ++ ++ decryptBuf = (char*)malloc(DecryptBufMaxLen); ++ switch (srcKeyType) ++ { ++ case KM_USER_KEY_TYPE_MAC: ++ { ++ ret = _burn_key_in_type_mac(keyname, (char*)keydata, dataLen, decryptBuf); ++ } ++ break; ++ ++ case KM_USER_KEY_TYPE_SHA1: ++ { ++ ret = _burn_key_in_type_sha1(keyname, (char*)keydata, dataLen, decryptBuf); ++ } ++ break; ++ ++ case KM_USER_KEY_TYPE_HDCP2: ++ { ++ ret = _burn_key_in_type_hdcp2(keyname, (char*)keydata, dataLen, decryptBuf); ++ } ++ break; ++ ++ case KM_USER_KEY_TYPE_RAW: ++ { ++ ret = key_unify_write(keyname, (char*)keydata, dataLen); ++ } ++ break; ++ } ++ ++ free(decryptBuf); ++ return ret; ++} ++ ++int key_manage_read(const char* keyname, void* keydata, const unsigned bufLen) ++{ ++ int ret = 0; ++ ssize_t keysize = 0; ++ int srcKeyType = 0; ++ char* decryptBuf = NULL; ++ const int DecryptBufMaxLen = 64<<10; ++ ++ ret = key_manage_query_size(keyname, &keysize); ++ if (ret) { ++ KM_ERR ("Fail in query key size for key[%s]\n", keyname) ; ++ return __LINE__; ++ } ++ if (keysize > bufLen) { ++ KM_ERR ("keysize %zd > bufLen %d\n", keysize, bufLen) ; ++ return __LINE__; ++ } ++ ++ ret = km_get_user_key_format(keyname, &srcKeyType); ++ if (ret) { ++ KM_ERR ("Fail in get user key type\n") ; ++ return __LINE__; ++ } ++ ++ decryptBuf = (char*)malloc(DecryptBufMaxLen); ++ switch (srcKeyType) ++ { ++ case KM_USER_KEY_TYPE_MAC: ++ { ++ ret = _read_key_in_type_mac(keyname, (char*)keydata, (unsigned)keysize, decryptBuf); ++ } ++ break; ++ ++ case KM_USER_KEY_TYPE_HDCP2: ++ { ++ ret = _read_key_in_type_hdcp2(keyname, keydata, (unsigned)keysize, decryptBuf); ++ } ++ break; ++ ++ case KM_USER_KEY_TYPE_SHA1: ++ case KM_USER_KEY_TYPE_RAW: ++ default: ++ { ++ ret = key_unify_read(keyname, keydata, (unsigned)keysize); ++ } ++ break; ++ } ++ ++ free(decryptBuf); ++ return ret; ++} ++ ++int key_manage_query_size(const char* keyname, ssize_t* keysize) ++{ ++ int ret = 0; ++ int exist = 0; ++ int srcKeyType = 0; ++ ++ ret = key_manage_query_exist(keyname, &exist); ++ if (ret) { ++ KM_ERR ("Fail in query key exist\n") ; ++ return __LINE__; ++ } ++ if (!exist) { ++ KM_ERR ("key[%s] not programed yet\n", keyname) ; ++ return __LINE__; ++ } ++ ++ ret = km_get_user_key_format(keyname, &srcKeyType); ++ if (ret) { ++ KM_ERR ("Fail in get user key type\n") ; ++ return __LINE__; ++ } ++ ++ switch (srcKeyType) ++ { ++ case KM_USER_KEY_TYPE_MAC: ++ { ++ *keysize = _UsrMacKeyLen; ++ } ++ break; ++ ++ case KM_USER_KEY_TYPE_HDCP2: ++ { ++ *keysize = _km_hdcp2_size(); ++ } ++ break; ++ ++ case KM_USER_KEY_TYPE_RAW: ++ case KM_USER_KEY_TYPE_SHA1: ++ default: ++ ret = key_unify_query_size(keyname, keysize); ++ } ++ ++ return ret; ++} ++ ++int key_manage_query_exist(const char* keyname, int* exist) ++{ ++ int ret = 0; ++ ++ ret = key_unify_query_key_has_configure(keyname); ++ if (!ret) { ++ KM_ERR ("There isn't dts cfg for key[%s]\n", keyname) ; ++ return __LINE__; ++ } ++ ++ ret = key_unify_query_exist(keyname, exist); ++ ++ return ret; ++} ++ ++int key_manage_query_secure(const char* keyname, int* isSecure) ++{ ++ int ret = 0; ++ int exist = 0; ++ ++ ret = key_manage_query_exist(keyname, &exist); ++ if (ret) { ++ KM_ERR ("Fail in query key exist, ret=%d\n", ret) ; ++ return __LINE__; ++ } ++ if (!exist) { ++ KM_ERR ("Key[%s] not programed yet\n", keyname) ; ++ return __LINE__; ++ } ++ ++ ret = key_unify_query_secure(keyname, isSecure); ++ ++ return ret; ++} ++ ++int key_manage_query_canOverWrite(const char* keyname, int* canOverWrite) ++{ ++ return key_unify_query_canOverWrite(keyname, canOverWrite); ++} ++ ++static int do_keyman_init(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ const char* seedNum = argv[1]; ++ const char* dtbAddr = argc > 2 ? argv[2] : NULL; ++ ++ if (argc < 2) return CMD_RET_USAGE; ++ ++ ret = key_manage_init(seedNum, dtbAddr); ++ return ret; ++} ++ ++static int do_keyman_exit(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ return key_manage_exit(); ++} ++ ++//read keyname addr ++//fmt can be hex/str, if str, env keyname will be setted ++static int do_keyman_read(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ const char* keyname = argv[1]; ++ char* dataBuf = NULL; ++ const char* dataFmt = argc > 3 ? argv[3] : NULL; ++ ssize_t keyLen = 0; ++ if (argc < 3) return CMD_RET_USAGE; ++ ++ dataBuf = (char*)simple_strtoul(argv[2], NULL, 16); ++ if (!dataBuf) { ++ KM_ERR("Fail in parse argv[2] to dataBuf\n"); ++ return __LINE__; ++ } ++ ++ ret = key_manage_query_size(keyname, &keyLen); ++ if (ret) { ++ KM_DBG("Fail get sz for[%s]\n", keyname);//here occure in booting if key not burned yet! ++ return __LINE__; ++ } ++ ret = key_manage_read(keyname, dataBuf, keyLen); ++ if (ret) { ++ KM_ERR("Fail in read key[%s] at sz %zd\n", keyname, keyLen); ++ return __LINE__; ++ } ++ if (dataFmt) ++ { ++ if (!strcmp("hex", dataFmt)) ++ { ++ _keyman_buf_to_hex_ascii((uint8_t*)dataBuf, keyLen, NULL); ++ return 0; ++ } ++ else if(!strcmp("str", dataFmt)) ++ { ++ int i = 0; ++ ++ dataBuf[keyLen] = '\0'; ++ for (; i < keyLen; ++i) { ++ ret = isascii(dataBuf[i]); ++ if (!ret) { ++ KM_MSG("key value has non ascii, can't pr\n"); ++ return CMD_RET_FAILURE; ++ } ++ } ++ env_set(keyname, dataBuf);//setenv for bootargs ++ KM_DBG("env:%s=%s\n", keyname, dataBuf); ++ return 0; ++ } ++ else KM_MSG("Err key dataFmt(%s)\n", dataFmt); ++ } ++ ++ return ret ? CMD_RET_FAILURE : CMD_RET_SUCCESS; ++} ++ ++//argv: 1 2 3 ++//write keyname size addr ++//write keyname hex/str value ++static int do_keyman_write(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ const char* keyname = argv[1]; ++ const char* databuf = NULL; ++ char* tmpBuf = NULL; ++ const char* inputFmt = argv[2]; ++ unsigned dataLen = 0; ++ if (argc < 4) return CMD_RET_USAGE; ++ ++ if (!strcmp("hex", inputFmt)) ++ { ++ databuf = argv[3]; ++ dataLen = strlen(databuf) / 2; ++ ++ tmpBuf = (char*)malloc(dataLen); ++ ret = _keyman_hex_ascii_to_buf(databuf, tmpBuf, dataLen); ++ if (ret) { ++ KM_ERR("Fail in change hex argv[3] to bin, err=%d\n", ret); ++ free(tmpBuf); ++ return CMD_RET_FAILURE; ++ } ++ databuf = tmpBuf; ++ } ++ else if(!strcmp("str", inputFmt)) ++ { ++ databuf = argv[3]; ++ dataLen = strlen(databuf); ++ ++ const char* p = databuf; ++ for (; *p; ++p) { ++ if (!isascii(*p)) { ++ KM_ERR("inputFmt is %s, but argv[3] contain non ascii\n", inputFmt); ++ return CMD_RET_FAILURE; ++ } ++ } ++ KM_DBG("str:%s, len=%d\n", databuf, dataLen); ++ } ++ else ++ { ++ dataLen = simple_strtoul(argv[2], NULL, 0); ++ if (!dataLen) { ++ KM_ERR("dataLen err\n"); ++ return __LINE__; ++ } ++ if (dataLen > (64*1024)) { ++ KM_ERR("keylen 0x%x too large!\n", dataLen); ++ return __LINE__; ++ } ++ databuf = (char*)simple_strtoul(argv[3], NULL, 16); ++ } ++ ++ ret = key_manage_write(keyname, databuf, dataLen); ++ if (tmpBuf) free(tmpBuf) ; ++ return ret ? CMD_RET_FAILURE : CMD_RET_SUCCESS; ++} ++ ++//query: 1 2 ++// exist keyname ++// secure keyname ++// size keyname ++static int do_keyman_query(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ const char* cmd = argv[1]; ++ const char* keyname = argv[2]; ++ if (argc < 3) return CMD_RET_USAGE; ++ ++ if (!strcmp("exist", cmd)) ++ { ++ int exist = 0; ++ ret = key_manage_query_exist(keyname, &exist); ++ if (ret) { ++ KM_ERR("Fail in query key exist, err=%d", ret); ++ return CMD_RET_FAILURE; ++ } ++ KM_MSG("key[%s] is %s Exist\n", keyname, exist ? "" : "NOT"); ++ ret = exist ? CMD_RET_SUCCESS : CMD_RET_FAILURE; ++ } ++ else if(!strcmp("secure", cmd)) ++ { ++ int isSecure = 0; ++ ret = key_manage_query_secure(keyname, &isSecure); ++ if (ret) { ++ KM_ERR("Fail in query key secure, err=%d\n", ret); ++ return CMD_RET_FAILURE; ++ } ++ KM_MSG("key[%s] is %s Secure\n", keyname, isSecure ? "" : "NOT"); ++ ret = isSecure ? CMD_RET_SUCCESS : CMD_RET_FAILURE; ++ } ++ else if(!strcmp("size", cmd)) ++ { ++ ssize_t keysize = 0; ++ ret = key_manage_query_size(keyname, &keysize); ++ if (ret) { ++ KM_ERR("Fail in query key size, err=%d\n", ret); ++ return CMD_RET_FAILURE; ++ } ++ KM_MSG("key[%s] size is %zd\n", keyname, keysize); ++ ret = keysize ? CMD_RET_SUCCESS : CMD_RET_FAILURE; ++ } ++ else return CMD_RET_USAGE; ++ ++ return ret; ++} ++ ++static struct cmd_tbl cmd_keyman_sub[] = { ++ U_BOOT_CMD_MKENT(init, 3, 0, do_keyman_init, "", ""), ++ U_BOOT_CMD_MKENT(exit, 2, 0, do_keyman_exit, "", ""), ++ U_BOOT_CMD_MKENT(read, 4, 0, do_keyman_read, "", ""), ++ U_BOOT_CMD_MKENT(write, 4, 0, do_keyman_write, "", ""), ++ U_BOOT_CMD_MKENT(query, 3, 0, do_keyman_query, "", ""), ++}; ++ ++static int do_keymanage(struct cmd_tbl * cmdtp, int flag, int argc, char * const argv[]) ++{ ++ struct cmd_tbl *c; ++ ++ if (argc < 2) return CMD_RET_USAGE; ++ ++ c = find_cmd_tbl(argv[1], cmd_keyman_sub, ARRAY_SIZE(cmd_keyman_sub)); ++ ++ if (!c) { return CMD_RET_USAGE;} ++ ++ return c->cmd(cmdtp, flag, --argc, ++argv); ++} ++ ++U_BOOT_CMD( ++ keyman, //command name ++ 5, //maxargs ++ 0, //repeatable ++ do_keymanage, //command function ++ "Unify key ops interfaces based dts cfg", //description ++ " argv: \n" //usage ++ " init seedNum \n" ++ " read keyname addr \n" ++ " write keyname size addr \n" ++ " write keyname hex/str value\n" ++ " query exist/secure/size keyname\n" ++ " exit \n" ++); ++ +diff --git a/drivers/amlogic/keymanage/key_manage.h b/drivers/amlogic/keymanage/key_manage.h +new file mode 100644 +index 00000000000..ab482f45a05 +--- /dev/null ++++ b/drivers/amlogic/keymanage/key_manage.h +@@ -0,0 +1,61 @@ ++#ifndef __KEY_MANAGE_H__ ++#define __KEY_MANAGE_H__ ++ ++enum key_manager_dev_e{ ++ KEY_M_UNKNOW_DEV=0, ++ KEY_M_EFUSE_NORMAL, ++ KEY_M_SECURE_KEY, //secure nandkey/emmckey ++ KEY_M_NORAML_KEY, //non-secure nandkey/emmckey ++ KEY_M_PROVISION_KEY, //provision key ++ KEY_M_MAX_DEV, ++}; ++ ++/*key data format*/ ++enum key_manager_df_e{ ++ KEY_M_HEXDATA=0, ++ KEY_M_HEXASCII, ++ KEY_M_ALLASCII, ++ KEY_M_MAX_DF, ++}; ++ ++enum key_manager_permit_e{ ++ KEY_M_PERMIT_READ = (1<<0), ++ KEY_M_PERMIT_WRITE = (1<<1), ++ KEY_M_PERMIT_DEL = (1<<2), ++ KEY_M_PERMIT_MASK = 0Xf, ++}; ++ ++enum key_manager_type_e{ ++ KEY_M_TYPE_NORMAL = 0 , ++ KEY_M_TYPE_MAC , ++ KEY_M_TYPE_SHA1 , ++ KEY_M_TYPE_HDCP2 , ++ ++ KEY_M_TYPE_TOTAL_NUM ++}; ++ ++#define KEY_UNIFY_NAME_LEN 48 ++#define KEY_UNIFY_TYPE_LEN_MAX ( 16 - 1 ) ++ ++struct key_item_t{ ++ char name[KEY_UNIFY_NAME_LEN]; ++ char keyType[KEY_UNIFY_TYPE_LEN_MAX + 1];//mac/sha1/hdcp2/normal ++ char encType[KEY_UNIFY_TYPE_LEN_MAX + 1];//mac/sha1/hdcp2/normal ++ int id; ++ unsigned int dev; //key save in device //efuse, ++ unsigned int datFmt; //data format ++ unsigned int permit; ++ int flag; ++ int reserv;//reserve and align to 64 ++}; ++ ++struct key_info_t{ ++ int key_num; ++ int efuse_version; ++ int key_flag; ++ int encrypt_type; ++}; ++ ++ ++#endif // #ifndef __KEY_MANAGE_H__ ++ +diff --git a/drivers/amlogic/keymanage/key_manage_i.h b/drivers/amlogic/keymanage/key_manage_i.h +new file mode 100644 +index 00000000000..73404c1dbf1 +--- /dev/null ++++ b/drivers/amlogic/keymanage/key_manage_i.h +@@ -0,0 +1,65 @@ ++/* ++ * \file key_manage_i.h ++ * \brief common included files for key manager ++ * ++ * \version 1.0.0 ++ * \date 15/06/30 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2015 Amlogic. All Rights Reserved. ++ * ++ */ ++#ifndef __KEY_MANAGE_I_H__ ++#define __KEY_MANAGE_I_H__ ++ ++#include ++#include ++#include ++#include ++#include ++#include "key_manage.h" ++#include ++#include ++ ++#define KM_DBG(fmt ...) //printf("[KM]Dbg:"fmt) ++#define KM_MSG(fmt ...) printf("[KM]Msg:"fmt) ++#define KM_ERR(fmt ...) printf("[KM]Error:f[%s]L%d:", __func__, __LINE__),printf(fmt) ++ ++int _keyman_hex_ascii_to_buf(const char* input, char* buf, const unsigned bufSz); ++int _keyman_buf_to_hex_ascii(const uint8_t* pdata, const unsigned dataLen, char* fmtStr/*pr if NULL*/); ++ ++int keymanage_dts_parse(const void* dt_addr); ++enum key_manager_df_e keymanage_dts_get_key_fmt(const char *keyname); ++enum key_manager_dev_e keymanage_dts_get_key_device(const char *keyname); ++const char* keymanage_dts_get_key_type(const char* keyname); ++const char* keymanage_dts_get_enc_type(const char* keyname); ++char unifykey_get_efuse_version(void); ++int unifykey_get_encrypt_type(void); ++ ++int keymanage_efuse_init(const char *buf, int len); ++int keymange_efuse_exit(void); ++int keymanage_efuse_write(const char *keyname, const void* keydata, unsigned int datalen); ++int keymanage_efuse_exist(const char* keyname); ++ssize_t keymanage_efuse_size(const char* keyname); ++int keymanage_efuse_query_can_read(const char* keyname); ++int keymanage_efuse_read(const char *keyname, void* databuf, const unsigned bufsz); ++ ++int keymanage_securekey_init(const char* buf, int len); ++int keymanage_securekey_exit(void); ++int keymanage_secukey_write(const char *keyname, const void* keydata, unsigned int datalen); ++ssize_t keymanage_secukey_size(const char* keyname); ++int keymanage_secukey_exist(const char* keyname); ++int keymanage_secukey_can_read(const char* keyname); ++int keymanage_secukey_read(const char* keyname, void* databuf, unsigned buflen); ++ ++//provision key ops ++int keymanage_provision_init(const char *buf, int len); ++int keymanage_provision_exit(void); ++int keymanage_provision_write(const char *keyname, const void* keydata, unsigned int datalen); ++ssize_t keymanage_provision_size(const char* keyname); ++int keymanage_provision_exist(const char* keyname); ++int keymanage_provision_query_can_read(const char* keyname); ++int keymanage_provision_read(const char *keyname, void* databuf, const unsigned bufSz); ++ ++#endif//#ifndef __KEY_MANAGE_I_H__ ++ +diff --git a/drivers/amlogic/keymanage/key_unify.c b/drivers/amlogic/keymanage/key_unify.c +new file mode 100644 +index 00000000000..069fff08dd2 +--- /dev/null ++++ b/drivers/amlogic/keymanage/key_unify.c +@@ -0,0 +1,610 @@ ++/* ++ * Unify interfaces for read/write nandkey/emmckey/efuse key ++ */ ++#include "key_manage_i.h" ++#include ++#include ++#include ++#include ++ ++#define KEY_NO_EXIST 0 ++#define KEY_BURNED 1 ++ ++#define KEY_READ_PERMIT 10 ++#define KEY_READ_PROHIBIT 11 ++ ++#define KEY_WRITE_MASK (0x0f<<4) ++#define KEY_WRITE_PERMIT (10<<4) ++#define KEY_WRITE_PROHIBIT (11<<4) ++ ++typedef struct _devKeyOps{ ++ int (*pInitFunc) (const char* buf, int len); ++ int (*pUninitFunc)(void); ++ int (*pWriteFunc)(const char *keyname, const void* keydata, unsigned int datalen); ++ ssize_t (*pGetSize)(const char* keyname); ++ int (*pKeyExist)(const char* keyname); ++ int (*pKeyCanRead)(const char* keyname); ++ int (*pReadFunc)(const char* keyname, void* dataBuf, unsigned buflen); ++ ++ //Fields: ++ int can_overwrite;//is OTP ++ ++}KmDevKeyOps; ++ ++static KmDevKeyOps _SecukeyOps = { ++ .pInitFunc = keymanage_securekey_init , ++ .pUninitFunc = keymanage_securekey_exit , ++ .pWriteFunc = keymanage_secukey_write , ++ .pGetSize = keymanage_secukey_size , ++ .pKeyExist = keymanage_secukey_exist , ++ .pKeyCanRead = keymanage_secukey_can_read , ++ .pReadFunc = keymanage_secukey_read , ++ ++ .can_overwrite = 1 , ++}; ++ ++#if defined(CONFIG_EFUSE) ++static KmDevKeyOps _efuseKeyOps = { ++ .pInitFunc = keymanage_efuse_init , ++ .pUninitFunc = keymange_efuse_exit , ++ .pWriteFunc = keymanage_efuse_write , ++ .pGetSize = keymanage_efuse_size , ++ .pKeyExist = keymanage_efuse_exist , ++ .pKeyCanRead = keymanage_efuse_query_can_read , ++ .pReadFunc = keymanage_efuse_read , ++ ++ .can_overwrite = 0 , ++}; ++#endif//#if defined(CONFIG_EFUSE) ++ ++#if defined(CONFIG_KEYMAN_PROVISION_KEY) ++static KmDevKeyOps _provisionKeyOps = { ++ .pInitFunc = keymanage_provision_init , ++ .pUninitFunc = keymanage_provision_exit , ++ .pWriteFunc = keymanage_provision_write , ++ .pGetSize = keymanage_provision_size , ++ .pKeyExist = keymanage_provision_exist , ++ .pKeyCanRead = keymanage_provision_query_can_read , ++ .pReadFunc = keymanage_provision_read , ++ ++ .can_overwrite = 1 , ++}; ++#endif//#if defined(CONFIG_KEYMAN_PROVISION_KEY) ++ ++#define _KM_DEV_INDEX_SECUREKEY 0 ++#define _KM_DEV_INDEX_PROVISION 1 ++#if defined(CONFIG_KEYMAN_PROVISION_KEY) ++#define _KM_DEV_INDEX_EFUSE 2 ++#else ++#define _KM_DEV_INDEX_EFUSE 1 ++#endif//#if defined(CONFIG_KEYMAN_PROVISION_KEY) ++ ++static KmDevKeyOps* _km_devKeyOpsArr[] = { ++ [_KM_DEV_INDEX_SECUREKEY] = &_SecukeyOps, ++#if defined(CONFIG_KEYMAN_PROVISION_KEY) ++ [_KM_DEV_INDEX_PROVISION] = &_provisionKeyOps, ++#endif//#if defined(CONFIG_KEYMAN_PROVISION_KEY) ++#if defined(CONFIG_EFUSE) ++ [_KM_DEV_INDEX_EFUSE] = &_efuseKeyOps, ++#endif//#if defined(CONFIG_EFUSE) ++}; ++ ++static const int _KM_DEVCNT = sizeof(_km_devKeyOpsArr) / sizeof(_km_devKeyOpsArr[0]); ++ ++int _keyman_hex_ascii_to_buf(const char* input, char* buf, const unsigned bufSz) ++{ ++ int ret = 0; ++ const char* tmpStr = input; ++ const unsigned inputLen = strlen(input); ++ int i = 0; ++ ++ if (!inputLen) { ++ KM_ERR("err input len 0\n"); ++ return __LINE__; ++ } ++ if (inputLen & 1) { ++ KM_ERR("inputLen %d not even\n", inputLen); ++ return __LINE__; ++ } ++ if (bufSz * 2 > inputLen) { ++ KM_ERR("bufSz %d not enough\n", bufSz); ++ return __LINE__; ++ } ++ for (tmpStr = input; *tmpStr; ++tmpStr) ++ { ++ char c = *tmpStr; ++ ret = isxdigit(c); ++ if (!ret) { ++ KM_ERR("input(%s) contain non xdigit, c=%c\n", input, c); ++ return __LINE__; ++ } ++ } ++ ++ for (i = 0; i < inputLen; i += 2) ++ { ++ char tmpByte[8]; ++ tmpByte[2] = '\0'; ++ tmpByte[0] = input[i]; ++ tmpByte[1] = input[i + 1]; ++ ++ const unsigned val = simple_strtoul(tmpByte, NULL, 16); ++ if (val > 0xff) { ++ KM_ERR("Exception: val 0x%x > 0xff\n", val); ++ return __LINE__; ++ } ++ buf[i>>1] = val; ++ } ++ ++ return 0; ++} ++ ++int _keyman_buf_to_hex_ascii(const uint8_t* pdata, const unsigned dataLen, char* fmtStr/*pr if NULL*/) ++{ ++ if (NULL == fmtStr) //Only print ++ { ++ int i = 0; ++ KM_MSG("key len is %d, hex value in hexdump:", dataLen); ++ for (; i < dataLen; ++i, ++pdata) ++ { ++ if (!(i & 0xf)) printf("\n\t[0x%04x]:\t\t", i); ++ printf("%02x ", *pdata); ++ } ++ printf("\n"); ++ } ++ else ++ { ++ int i = 0; ++ ++ *fmtStr = '\0'; ++ for (; i < dataLen; ++i, ++pdata) ++ { ++ sprintf(fmtStr, "%s%02x", fmtStr, *pdata); ++ } ++ } ++ ++ return 0; ++} ++ ++/* ++ * function name: key_unify_init ++ * buf : input ++ * len : > 0 ++ * return : >=0: ok, other: fail ++ * */ ++int key_unify_init(const char* seedStr, const char* dtbLoadaddr) ++{ ++ int err=EINVAL; ++ int i; ++ uint64_t seedNum = 0; ++ ++ if (!dtbLoadaddr) ++ { ++ dtbLoadaddr = (char*) env_get_ulong("fdtcontroladdr", 16, CFG_SYS_SDRAM_BASE + (16U<<20)); ++ } ++ ++ if (keymanage_dts_parse(dtbLoadaddr)) { ++ KM_DBG("Fail parse /unifykey at addr[0x%p]\n", dtbLoadaddr); ++ return err; ++ } ++ ++ seedNum = simple_strtoull(seedStr, NULL, 0); ++ if (!seedNum) { ++ KM_ERR("Seed is 0 err\n"); ++ return __LINE__; ++ } ++ ++ if (amlkey_if_init(dtbLoadaddr)) { ++ KM_ERR("amlkey interface init fail\n"); ++ return __LINE__; ++ } ++ ++ for (i=0; i < _KM_DEVCNT; i++) ++ { ++ KmDevKeyOps* theDevOps = _km_devKeyOpsArr[i]; ++ err = theDevOps->pInitFunc((char*)&seedNum, sizeof(uint64_t)/sizeof(char)); ++ if (err) { ++ KM_ERR("Device[%d] init failed, err=%d\n", i, err); ++ return err; ++ } ++ } ++ ++ return 0; ++} ++ ++/* function name: key_unify_uninit ++ * functiion : uninit ++ * return : >=0 ok, <0 fail ++ * */ ++int key_unify_uninit(void) ++{ ++ int err=-EINVAL; ++ int i; ++ ++ for (i=0; i < _KM_DEVCNT; i++) ++ { ++ KmDevKeyOps* theDevOps = _km_devKeyOpsArr[i]; ++ err = theDevOps->pUninitFunc(); ++ if (err) { ++ KM_ERR("device[%d] unini fail\n", i); ++ /*return err;*/ ++ } ++ } ++ ++ return 0; ++} ++ ++static const KmDevKeyOps* _get_km_ops_by_name(const char* keyname) ++{ ++ KmDevKeyOps* theDevOps = NULL; ++ ++ //step 1: get device ops by configured key-device ++ enum key_manager_dev_e theDevice = keymanage_dts_get_key_device(keyname); ++ ++ switch (theDevice) ++ { ++ case KEY_M_EFUSE_NORMAL: ++ { ++ theDevOps = _km_devKeyOpsArr[_KM_DEV_INDEX_EFUSE]; ++ } ++ break; ++ ++ case KEY_M_NORAML_KEY: ++ case KEY_M_SECURE_KEY: ++ { ++ theDevOps = _km_devKeyOpsArr[_KM_DEV_INDEX_SECUREKEY]; ++ } ++ break; ++ ++ case KEY_M_PROVISION_KEY: ++ theDevOps = _km_devKeyOpsArr[_KM_DEV_INDEX_PROVISION]; ++ break; ++ ++ case KEY_M_UNKNOW_DEV: ++ default: ++ KM_ERR("key %s not know device %d\n", keyname, theDevice); ++ return NULL; ++ } ++ ++ return theDevOps; ++} ++ ++int key_unify_query_key_has_configure(const char* keyname) ++{ ++ return _get_km_ops_by_name(keyname) ? 1 : 0; ++} ++ ++/* funtion name: key_unify_write ++ * keyname : key name is ascii string ++ * keydata : key data buf ++ * datalen : key buf len ++ * return 0: ok, -0x1fe: no space, other fail ++ * ++ * Step 1: Get burn target from dtb ++ * Step 2: check whether can burned, OTP can't burned twice ++ * 2.1)check is programmed yet, burn directly if not programmed yet. ++ * 2.2)if programmed yet, check if OTP ++ * Step 3: burn the key to the target ++ * */ ++int key_unify_write(const char *keyname, const void* keydata, const unsigned datalen) ++{ ++ int err=0; ++ const KmDevKeyOps* theDevOps = NULL; ++ ++ theDevOps = _get_km_ops_by_name(keyname); ++ if (!theDevOps) { ++ KM_ERR("key[%s] no cfg in dts\n", keyname); ++ return __LINE__; ++ } ++ ++ if (!theDevOps->can_overwrite) { ++ KM_DBG("can't overwrite\n"); ++ int ret = theDevOps->pKeyExist(keyname); ++ if (ret) { ++ KM_ERR("OTP key[%s] already existed, can't program twice!\n", keyname); ++ return __LINE__; ++ } ++ } ++ ++ err = theDevOps->pWriteFunc(keyname, keydata, datalen); ++ ++ return err; ++} ++ ++/* ++ *function name: key_unify_read ++ * keyname : key name is ascii string ++ * keydata : key data buf ++ * datalen : key buf len ++ * reallen : key real len ++ * return : <0 fail, >=0 ok ++ * */ ++int key_unify_read(const char *keyname, void* keydata, const unsigned bufLen) ++{ ++ int err=0; ++ const KmDevKeyOps* theDevOps = NULL; ++ ++ theDevOps = _get_km_ops_by_name(keyname); ++ if (!theDevOps) { ++ KM_ERR("key[%s] no cfg in dts\n", keyname); ++ return __LINE__; ++ } ++ ++ int ret = theDevOps->pKeyExist(keyname); ++ if (!ret) { ++ KM_ERR("key[%s] not programed yet\n", keyname); ++ return __LINE__; ++ } ++ ++ ret = theDevOps->pKeyCanRead(keyname); ++ if (!ret) { ++ KM_ERR("key[%s] can't read as it's secure\n", keyname); ++ return __LINE__; ++ } ++ ++ const ssize_t keySz = theDevOps->pGetSize(keyname); ++ if (keySz > bufLen && bufLen) { ++ KM_ERR("keySz[%lu] > bufLen[%d]\n", keySz, bufLen); ++ return __LINE__; ++ } ++ ++ err = theDevOps->pReadFunc(keyname, keydata, keySz); ++ ++ return err; ++} ++ ++int key_unify_query_size(const char* keyname, ssize_t* keysize) ++{ ++ const KmDevKeyOps* theDevOps = NULL; ++ ++ theDevOps = _get_km_ops_by_name(keyname); ++ if (!theDevOps) { ++ KM_ERR("key[%s] not cfg in dts\n", keyname); ++ return __LINE__; ++ } ++ ++#if 0 ++ int ret = theDevOps->pKeyCanRead(keyname); ++ if (!ret) { ++ KM_ERR("key[%s] can't read as it's secure\n", keyname); ++ return __LINE__; ++ } ++#endif ++ ++ *keysize = theDevOps->pGetSize(keyname); ++ ++ return 0; ++} ++ ++int key_unify_query_exist(const char* keyname, int* exist) ++{ ++ const KmDevKeyOps* theDevOps = NULL; ++ ++ theDevOps = _get_km_ops_by_name (keyname) ; ++ if (!theDevOps) { ++ KM_ERR("key[%s] not cfg in dts\n", keyname); ++ return __LINE__; ++ } ++ ++ *exist = theDevOps->pKeyExist(keyname); ++ ++ return 0; ++} ++ ++int key_unify_query_secure(const char* keyname, int* isSecure) ++{ ++ const KmDevKeyOps* theDevOps = NULL; ++ ++ theDevOps = _get_km_ops_by_name (keyname) ; ++ if (!theDevOps) { ++ KM_ERR("key[%s] no cfg in dts\n", keyname); ++ return __LINE__; ++ } ++ ++ int ret = theDevOps->pKeyExist (keyname) ; ++ if (!ret) { ++ KM_ERR("key[%s] not programed yet\n", keyname); ++ return __LINE__; ++ } ++ ++ *isSecure = !theDevOps->pKeyCanRead (keyname) ; ++ if (!ret) { ++ KM_ERR ("key[%s] can't read as it's secure\n", keyname) ; ++ return __LINE__; ++ } ++ ++ return 0; ++} ++ ++int key_unify_query_canOverWrite(const char* keyname, int* canOverWrite) ++{ ++ const KmDevKeyOps* theDevOps = NULL; ++ ++ theDevOps = _get_km_ops_by_name(keyname); ++ if (!theDevOps) { ++ KM_ERR("key[%s] no cfg in dts\n", keyname); ++ return __LINE__; ++ } ++ ++ *canOverWrite = theDevOps->can_overwrite; ++ return 0; ++} ++ ++int do_keyunify (struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int err; ++ char *cmd; ++ int ret = 0; ++ ++ if (argc < 2) return CMD_RET_USAGE; ++ ++ cmd = argv[1]; ++ //keyman init seedNum ++ if (!strcmp(cmd,"init")) ++ { ++ if (argc < 3) { ++ return CMD_RET_USAGE; ++ } ++ const char* seedNum = argv[2]; ++ const char* dtbLoadaddr = argc > 3 ? argv[3] : NULL; ++ err = key_unify_init(seedNum, dtbLoadaddr); ++ return err ? CMD_RET_FAILURE : CMD_RET_SUCCESS; ++ } ++ ++ //keyunify write keyname addr ++ //keyunify write keyname hexascii ++ if (!strcmp(cmd,"write")) ++ { ++ if (argc < 4) return CMD_RET_USAGE; ++ ++ const char* keyname = argv[2]; ++ const char* keyData = (char*)simple_strtoul(argv[3], NULL, 16); ++ unsigned len = argc > 4 ? simple_strtoul(argv[4], NULL, 0) : 0; ++ char* dataBuf = NULL; ++ ++ if (argc == 4) ++ { ++ const char* hexascii = argv[3]; ++ ++ len = strlen(hexascii) / 2; ++ dataBuf = (char*)malloc(len); ++ if (!dataBuf) { ++ KM_ERR("Fail in malloc len %d\n", len); ++ return CMD_RET_FAILURE; ++ } ++ ++ err = _keyman_hex_ascii_to_buf(hexascii, dataBuf, len); ++ if (err) { ++ KM_ERR("Fail in decrypt hexascii to buf, err=%d\n", err); ++ free(dataBuf); ++ return CMD_RET_FAILURE; ++ } ++ keyData = dataBuf; ++ } ++ ++ KM_DBG("write key[%s], addr=%p, len=%d\n", keyname, keyData, len); ++ err = key_unify_write(keyname, keyData, len); ++ if (err ) { ++ KM_ERR("%s key write fail, err=%d\n", keyname, err); ++ return CMD_RET_FAILURE; ++ } ++ if (dataBuf)free(dataBuf) ; ++ ++ return CMD_RET_SUCCESS; ++ } ++ ++ //keyman query size/secure/exist keyname ++ if (!strcmp(cmd,"query")) ++ { ++ if (argc < 4) return CMD_RET_USAGE; ++ ++ const char* subCmd = argv[2]; ++ const char* keyname = argv[3]; ++ ++ ret = CMD_RET_FAILURE; ++ if (!strcmp("size", subCmd)) ++ { ++ ssize_t keysize = 0; ++ err = key_unify_query_size(keyname, &keysize); ++ if (!err) { ++ ret = CMD_RET_SUCCESS; ++ KM_MSG("key[%s] is %u bytes\n", keyname, (unsigned)keysize); ++ } ++ } ++ else if(!strcmp("secure", subCmd)) ++ { ++ int isSecure = 0; ++ ++ err = key_unify_query_secure(keyname, &isSecure); ++ if (!err) { ++ ret = CMD_RET_SUCCESS; ++ KM_MSG("key[%s] is %s Secure\n", keyname, isSecure ? "DO" : "NON"); ++ } ++ } ++ else if(!strcmp("exist", subCmd)) ++ { ++ int exist = 0; ++ err = key_unify_query_exist(keyname, &exist); ++ if (!err) { ++ ret = CMD_RET_SUCCESS; ++ KM_MSG("key[%s] is %s existed\n", keyname, exist ? "DO" : "NON"); ++ } ++ } ++ else{ ++ return CMD_RET_USAGE; ++ } ++ ++ return ret; ++ } ++ ++ //keyman read keyname memAddr ++ if (!strcmp(cmd,"read")) ++ { ++ if (argc < 4) return CMD_RET_USAGE; ++ ++ const char* keyname = argv[2]; ++ void* keydata = (void*)simple_strtoul(argv[3], NULL, 16); ++ ++ ssize_t keysize = 0; ++ err = key_unify_query_size(keyname, &keysize); ++ if (err) { ++ KM_ERR("Fail in get keysz, err=%d\n", err); ++ return __LINE__; ++ } ++ ++ err = key_unify_read(keyname, keydata, (unsigned)keysize); ++ if (err) { ++ KM_ERR("%s key read fail\n", keyname); ++ return CMD_RET_FAILURE; ++ } ++ _keyman_buf_to_hex_ascii(keydata, (unsigned)keysize, NULL); ++ ++ return err; ++ } ++ ++ if (!strcmp(cmd,"uninit")) ++ { ++ return key_unify_uninit(); ++ } ++ ++ return CMD_RET_USAGE; ++} ++ ++U_BOOT_CMD( ++ keyunify, CONFIG_SYS_MAXARGS, 1, do_keyunify, ++ "key unify sub-system", ++ "init seedNum [dtbAddr] --init the drivers\n" ++ "keyunify uninit - init key in device\n" ++ "keyunify write keyname data ---- wirte key data. len non-exist if data is ascii str\n" ++ "keyunify read keyname data-addr \n" ++); ++ ++ ++#if !defined(CONFIG_AML_SECURITY_KEY) ++int keymanage_securekey_init(const char* buf, int len) { return -EINVAL; } ++int keymanage_securekey_exit(void){ return -EINVAL; } ++int keymanage_secukey_write(const char *keyname, const void* keydata, unsigned int datalen){ return -EINVAL; } ++ssize_t keymanage_secukey_size(const char* keyname){ return 0; } ++int keymanage_secukey_exist(const char* keyname){ return 0; } ++int keymanage_secukey_can_read(const char* keyname){ return 0; } ++int keymanage_secukey_read(const char* keyname, void* dataBuf, unsigned buflen){ return -EINVAL; } ++#endif// #if CONFIG_AML_SECURITY_KEY ++ ++#if !defined(CONFIG_EFUSE) ++int keymanage_efuse_init(const char *buf, int len) { return -EINVAL; } ++int keymange_efuse_exit(void) {return -EINVAL;} ++int keymanage_efuse_write(const char *keyname, const void* keydata, unsigned int datalen) { return -EINVAL; } ++int keymanage_efuse_exist(const char* keyname) { return -EINVAL; } ++ssize_t keymanage_efuse_size(const char* keyname) { return 0; } ++int keymanage_efuse_read(const char *keyname, void* dataBuf, const unsigned bufsz) { return -EINVAL; } ++int keymanage_efuse_query_is_burned(const char* keyname) { return -EINVAL; } ++int keymanage_efuse_query_can_read(const char* keyname) { return -EINVAL; } ++#endif// #ifdef CONFIG_EFUSE ++ ++#if !defined(CONFIG_OF_LIBFDT) ++int keymanage_dts_parse(const void* dt_addr){ return -EINVAL; } ++enum key_manager_df_e keymanage_dts_get_key_fmt(const char *keyname){ return -EINVAL; } ++enum key_manager_dev_e keymanage_dts_get_key_device(const char *keyname){ return -EINVAL; } ++char unifykey_get_efuse_version(void) { return -1; } ++#endif//#ifdef CONFIG_OF_LIBFDT ++ ++ +diff --git a/drivers/amlogic/keymanage/km_dts.c b/drivers/amlogic/keymanage/km_dts.c +new file mode 100644 +index 00000000000..d2a2186147a +--- /dev/null ++++ b/drivers/amlogic/keymanage/km_dts.c +@@ -0,0 +1,392 @@ ++#include "key_manage_i.h" ++//#include ++#include ++ ++#define UNIFYKEY_DATAFORMAT_HEXDATA "hexdata" ++#define UNIFYKEY_DATAFORMAT_HEXASCII "hexascii" ++#define UNIFYKEY_DATAFORMAT_ALLASCII "allascii" ++ ++#define UNIFYKEY_DEVICE_EFUSEKEY "efuse" ++#define UNIFYKEY_DEVICE_NORMAL "normal" ++#define UNIFYKEY_DEVICE_SECURESKEY "secure" ++#define UNIFYKEY_DEVICE_PROVISIONKEY "provision" ++ ++#define UNIFYKEY_PERMIT_READ "read" ++#define UNIFYKEY_PERMIT_WRITE "write" ++#define UNIFYKEY_PERMIT_DEL "del" ++ ++static struct key_info_t unify_key_info={.key_num =0, .key_flag = 0, .efuse_version = -1, .encrypt_type = 0}; ++static struct key_item_t *unifykey_item=NULL; ++static struct key_item_t* _defProvisonItem =NULL;//keyname start with "KEY_PROVISION_" and device is "provison" ++#define _PROVSION_DEFAULT_KEY_NAME "KEY_PROVISION_XXX" ++ ++static int unifykey_item_verify_check(struct key_item_t *key_item) ++{ ++ if (!key_item) { ++ KM_ERR("unify key item is invalid\n"); ++ return -1; ++ } ++ ++ if (!key_item->name || (key_item->dev == KEY_M_UNKNOW_DEV) ||(key_item->datFmt == KEY_M_MAX_DF)) { ++ KM_ERR("unify key item is invalid\n"); ++ return -1; ++ } ++ ++ return 0; ++} ++ ++static struct key_item_t *unifykey_find_item_by_name(const char *name) ++{ ++ struct key_item_t *pre_item; ++ int i = 0; ++ const unsigned cnt = unify_key_info.key_num; ++ ++ for (pre_item = unifykey_item; i < cnt; ++pre_item, ++i) ++ { ++ if (!strcmp(pre_item->name,name)) { ++ return pre_item; ++ } ++ } ++ ++ if (!strncmp(_PROVSION_DEFAULT_KEY_NAME, name, strlen(_PROVSION_DEFAULT_KEY_NAME) - 3)) { ++ return _defProvisonItem; ++ } ++ return NULL; ++} ++ ++enum key_manager_df_e keymanage_dts_get_key_fmt(const char *keyname) ++{ ++ struct key_item_t *key_manage; ++ enum key_manager_df_e keyValFmt = KEY_M_MAX_DF; ++ ++ if (!unify_key_info.key_flag) { ++ KM_ERR("/unify not parsed yet!\n"); ++ return KEY_M_MAX_DF; ++ } ++ ++ key_manage = unifykey_find_item_by_name(keyname); ++ if (key_manage == NULL) { ++ KM_ERR ("%s key name is not exist\n", keyname) ; ++ return keyValFmt; ++ } ++ if (unifykey_item_verify_check(key_manage)) { ++ KM_ERR ("%s key name is invalid\n", keyname) ; ++ return keyValFmt; ++ } ++ ++ keyValFmt = key_manage->datFmt; ++ return keyValFmt; ++} ++ ++//which device does the key stored in ++enum key_manager_dev_e keymanage_dts_get_key_device(const char *keyname) ++{ ++ struct key_item_t *key_manage; ++ ++ if (!unify_key_info.key_flag) { ++ KM_ERR("/unify not parsed yet!\n"); ++ return KEY_M_MAX_DEV; ++ } ++ key_manage = unifykey_find_item_by_name(keyname); ++ if (key_manage == NULL) { ++ KM_ERR("%s key name is not exist\n",keyname); ++ return KEY_M_MAX_DEV; ++ } ++ if (unifykey_item_verify_check(key_manage)) { ++ KM_ERR("%s key name is invalid\n",keyname); ++ return KEY_M_MAX_DEV; ++ } ++ ++ return key_manage->dev; ++} ++ ++const char* keymanage_dts_get_enc_type(const char* keyname) ++{ ++ struct key_item_t *key_manage; ++ ++ if (!unify_key_info.key_flag) { ++ KM_ERR("/unify not parsed yet!\n"); ++ return NULL; ++ } ++ key_manage = unifykey_find_item_by_name(keyname); ++ if (key_manage == NULL) { ++ KM_ERR("%s key name is not exist\n",keyname); ++ return NULL; ++ } ++ ++ return key_manage->encType; ++} ++ ++const char* keymanage_dts_get_key_type(const char* keyname) ++{ ++ struct key_item_t *key_manage; ++ ++ if (!unify_key_info.key_flag) { ++ KM_ERR("/unify not parsed yet!\n"); ++ return NULL; ++ } ++ key_manage = unifykey_find_item_by_name(keyname); ++ if (key_manage == NULL) { ++ KM_ERR("%s key name is not exist\n",keyname); ++ return NULL; ++ } ++ ++ return key_manage->keyType; ++} ++ ++char unifykey_get_efuse_version(void) ++{ ++ char ver=0; ++ ++ if (!unify_key_info.key_flag) { ++ KM_ERR("/unify not parsed yet!\n"); ++ return 0; ++ } ++ ++ if (unify_key_info.efuse_version != -1) { ++ ver = (char)unify_key_info.efuse_version; ++ } ++ return ver; ++} ++ ++int unifykey_get_encrypt_type(void) ++{ ++ return unify_key_info.encrypt_type; ++} ++ ++static int unifykey_item_dt_parse(const void* dt_addr,int nodeoffset,int id,char *item_path) ++{ ++ struct key_item_t *temp_item=NULL; ++ char *propdata; ++ struct fdt_property *prop; ++ int count; ++ ++ temp_item = unifykey_item + id; ++ ++ propdata = (char*)fdt_getprop(dt_addr, nodeoffset, "key-encrypt", NULL); ++ if (propdata) { ++ count = strlen(propdata); ++ if ( count > KEY_UNIFY_TYPE_LEN_MAX ) { ++ KM_ERR("key-encrypt [%s] too long\n", propdata); ++ return __LINE__; ++ } ++ memcpy(temp_item->encType, propdata, count); ++ } ++ ++ propdata = (char*)fdt_getprop(dt_addr, nodeoffset, "key-name",NULL); ++ if (!propdata) { ++ printf("%s get key-name fail,%s:%d\n",item_path,__func__,__LINE__); ++ return __LINE__; ++ } ++ ++ count = strlen(propdata); ++ if (count >= KEY_UNIFY_NAME_LEN) { ++ KM_ERR("key-name strlen (%d) > max(%d) at key_%d\n", count, KEY_UNIFY_NAME_LEN - 1, id); ++ return __LINE__; ++ } ++ memcpy(temp_item->name, propdata, count); ++ temp_item->name[count] = 0; ++ ++ propdata = (char*)fdt_getprop(dt_addr, nodeoffset, "key-device",NULL); ++ if (!propdata) { ++ KM_ERR("%s get key-device fail at key_%d\n",item_path, id); ++ return __LINE__; ++ } ++ ++ if (strcmp(propdata,UNIFYKEY_DEVICE_EFUSEKEY) == 0) { ++ temp_item->dev = KEY_M_EFUSE_NORMAL; ++ } ++ else if(strcmp(propdata,UNIFYKEY_DEVICE_SECURESKEY) == 0){ ++ temp_item->dev = KEY_M_SECURE_KEY; ++ } ++ else if(strcmp(propdata,UNIFYKEY_DEVICE_NORMAL) == 0){ ++ temp_item->dev = KEY_M_NORAML_KEY; ++ } ++ else{ ++ KM_ERR("key-device %s is unknown at key_%d\n", propdata, id); ++ return __LINE__; ++ } ++ ++ propdata = (char*)fdt_getprop((const void *)dt_addr, nodeoffset, "key-type",NULL); ++ if (!propdata) //prop 'key-type' not configured, default to raw except special names ++ { ++ strcpy(temp_item->keyType, "raw"); ++ } ++ else ++ { ++ const int keyTypeLen = strlen(propdata); ++ if (keyTypeLen > KEY_UNIFY_TYPE_LEN_MAX) { ++ KM_ERR("key[%s]cfg key-type[%s] sz %d > max %d\n", temp_item->name, propdata, keyTypeLen, KEY_UNIFY_TYPE_LEN_MAX); ++ return __LINE__; ++ } ++ strcpy(temp_item->keyType, propdata); ++ } ++ ++ prop = (struct fdt_property*)fdt_get_property((const void *)dt_addr,nodeoffset,"key-permit",NULL) ; ++ if (!prop) { ++ KM_ERR("%s get key-permit fail at key_%d\n",item_path, id); ++ return __LINE__; ++ } ++ ++ temp_item->permit = 0; ++ const int propLen = prop->len > 512 ? strnlen(prop->data, 512) : prop->len; ++ if (fdt_stringlist_contains(prop->data, propLen, UNIFYKEY_PERMIT_READ)) { ++ temp_item->permit |= KEY_M_PERMIT_READ; ++ } ++ if (fdt_stringlist_contains(prop->data, propLen, UNIFYKEY_PERMIT_WRITE)) { ++ temp_item->permit |= KEY_M_PERMIT_WRITE; ++ } ++ if (fdt_stringlist_contains(prop->data, propLen, UNIFYKEY_PERMIT_DEL)) { ++ temp_item->permit |= KEY_M_PERMIT_DEL; ++ } ++ ++ temp_item->id = id; ++ ++ KM_DBG("key[%02d] keyname %s, %d\n", id, temp_item->name, temp_item->dev); ++ ++ return 0; ++} ++ ++static int unifykey_item_create(const void* dt_addr,int num) ++{ ++ int ret = 0; ++ int i,nodeoffset; ++ char item_path[100]; ++ ++ for (i=0;i= 0) { ++ fdt_for_each_subnode(child, dt_addr, provisionOffset) { ++ provisionNum++; ++ } ++ } ++ unify_key_info.key_num = unifykeyNum + provisionNum; ++ KM_MSG("key_num: %d\n", unify_key_info.key_num); ++ ++ unify_key_info.encrypt_type = -1; ++ encrypt_type = (char*)fdt_getprop((const void *)dt_addr, nodeoffset, "unifykey-encrypt",NULL); ++ if (encrypt_type) { ++ unify_key_info.encrypt_type = be32_to_cpup((unsigned int*)encrypt_type); ++ } ++ ++ if (unify_key_info.key_num <= 0) { ++ KM_ERR("unifykey-num is not configured\n"); ++ return __LINE__; ++ } ++ if (unify_key_info.key_num > 256) { ++ KM_ERR("Cfg key_num is %d > 32,pls check!\n", unify_key_info.key_num); ++ return __LINE__; ++ } ++ ++ if (unifykey_item) { ++ free(unifykey_item); ++ } ++ const unsigned keyInfBufLen = unify_key_info.key_num * sizeof(struct key_item_t); ++ unifykey_item = (struct key_item_t*)malloc(keyInfBufLen); ++ memset(unifykey_item, 0 , keyInfBufLen); ++ ++ ret = unifykey_item_create(dt_addr,unifykeyNum); ++ unify_key_info.key_flag = ret ? 0 : 1; ++ ++ if (provisionOffset >= 0) ++ { ++ KM_DBG("dts: in find /provisionkey.\n"); ++ ++ int defPermits = 0; ++ const struct fdt_property *prop = fdt_get_property(dt_addr, provisionOffset,"key-permit-default",NULL) ; ++ if (prop) { ++ const int propLen = prop->len > 512 ? strnlen(prop->data, 512) : prop->len; ++ if (fdt_stringlist_contains(prop->data, propLen, UNIFYKEY_PERMIT_READ)) { ++ defPermits |= KEY_M_PERMIT_READ; ++ } ++ if (fdt_stringlist_contains(prop->data, propLen, UNIFYKEY_PERMIT_WRITE)) { ++ defPermits |= KEY_M_PERMIT_WRITE; ++ } ++ if (fdt_stringlist_contains(prop->data, propLen, UNIFYKEY_PERMIT_DEL)) { ++ defPermits |= KEY_M_PERMIT_DEL; ++ } ++ } ++ ++ int node = 0; ++ int id = unifykeyNum; ++ int szlen = 0; ++ fdt_for_each_subnode(node, dt_addr, provisionOffset) { ++ int len = 0; ++ const char* keyName = fdt_get_name(dt_addr, node, &len); ++ KM_DBG("provisionkey[%s] len %d\n", keyName, len); ++ ++ struct key_item_t *pItem= unifykey_item + id; ++ ++ szlen = strnlen(keyName, KEY_UNIFY_NAME_LEN - 1); ++ memcpy(pItem->name, keyName, szlen); ++ if (szlen < KEY_UNIFY_NAME_LEN) pItem->name[szlen] = '\0'; ++ ++ strcpy(pItem->keyType, "raw"); ++ pItem->dev = KEY_M_PROVISION_KEY; ++ pItem->permit = defPermits; ++ pItem->id = id++; ++ if (!strcmp(_PROVSION_DEFAULT_KEY_NAME, keyName)) _defProvisonItem = pItem; ++ } ++ ++ if ((node < 0) && (node != -FDT_ERR_NOTFOUND)) { ++ KM_ERR("in parse /provisionkey, err(%s)\n", fdt_strerror(node)); ++ return __LINE__; ++ } ++ } ++ ++ return ret; ++} ++ +diff --git a/drivers/amlogic/keymanage/km_efuse_key.c b/drivers/amlogic/keymanage/km_efuse_key.c +new file mode 100644 +index 00000000000..c5c1e53baf7 +--- /dev/null ++++ b/drivers/amlogic/keymanage/km_efuse_key.c +@@ -0,0 +1,156 @@ ++/* ++ * \file km_efuse_key.c ++ * \brief efuse key ops for key manage ++ * ++ * \version 1.0.0 ++ * \date 15/06/30 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2015 Amlogic. All Rights Reserved. ++ * ++ */ ++#include "key_manage_i.h" ++#include ++#include ++ ++#include ++#include ++ ++#define SECURE_BOOT_KEY_NAME "secure_boot_set" ++ ++extern int efuse_usr_api_init_dtb(const char* dt_addr); ++extern int efuse_usr_api_get_cfg_key_size(const char* keyname, unsigned* pSz); ++extern int efuse_usr_api_write_key(const char* keyname, const void* keydata, const unsigned dataSz); ++extern int efuse_usr_api_read_key(const char* keyname, void* databuf, const unsigned bufSz); ++ ++int keymanage_efuse_init(const char *buf, int len) ++{ ++ char ver; ++ int ret = 0; ++ ++ const char* dtbLoadAddr; ++ dtbLoadAddr = (char*) env_get_ulong("fdtcontroladdr", 16, CFG_SYS_SDRAM_BASE + (16U<<20)); ++ ++ ret = efuse_usr_api_init_dtb(dtbLoadAddr); ++ if (ret) { ++ KM_ERR("efuse init failed\n"); ++ return __LINE__; ++ } ++ ++ ver = unifykey_get_efuse_version(); ++ if (ver == 0) { ++ KM_DBG("efuse version not cfg\n"); ++ return 0; ++ } ++ ++ //TODO: program the efuse version ++ ++ return ret; ++} ++ ++int keymange_efuse_exit(void) ++{ ++ return 0; ++} ++ ++//must be hexdata if stored in efuse ++int keymanage_efuse_write(const char *keyname, const void* keydata, unsigned int datalen) ++{ ++ int ret = 0; ++ ++ if (!strcmp(SECURE_BOOT_KEY_NAME, keyname)) ++ { ++ char _cmdbuf[96]; ++ sprintf(_cmdbuf, "efuse %s %p", keyname, keydata); ++ ret = run_command(_cmdbuf, 0);; ++ } ++ else ++ { ++ ret = efuse_usr_api_write_key(keyname, keydata, datalen); ++ } ++ ++ return ret; ++} ++ ++ssize_t keymanage_efuse_size(const char* keyname) ++{ ++ int ret = 0; ++ unsigned cfgSz = 0; ++ ++ ret = efuse_usr_api_get_cfg_key_size(keyname, &cfgSz); ++ if (ret || !cfgSz) { ++ KM_ERR("Fail at get cfg size for efuse key[%s]\n", keyname); ++ return 0; ++ } ++ ++ return cfgSz; ++} ++ ++int keymanage_efuse_exist(const char* keyname) ++{ ++ ++ if (!strcmp(SECURE_BOOT_KEY_NAME, keyname)) ++ { ++ const unsigned long cfg10 = IS_FEAT_BOOT_VERIFY(); ++ KM_MSG("cfg10=0x%lX\n", cfg10); ++ return ( cfg10 ); ++ } ++ else ++ { ++ int ret = 0; ++ const ssize_t cfgSz = keymanage_efuse_size(keyname); ++ char* databuf = NULL; ++ int isEmpty = 1; ++ int i = 0; ++ ++ databuf = (char*)malloc(cfgSz); ++ if (!databuf) { ++ KM_ERR("Fail to alloc bufsz 0x%x for key %s\n", (unsigned)cfgSz, keyname); ++ return 0; ++ } ++ ret = keymanage_efuse_read(keyname, databuf, cfgSz); ++ if (ret) { ++ KM_ERR("Fail at read key[%s]\n", keyname); ++ goto _exit; ++ } ++ for (i = 0; i < cfgSz && isEmpty; ++i) { ++ isEmpty = !databuf[i]; ++ } ++ ++_exit: ++ free(databuf); ++ return !isEmpty; ++ } ++ ++ return __LINE__; ++} ++ ++int keymanage_efuse_query_can_read(const char* keyname) ++{ ++ if (!strcmp(SECURE_BOOT_KEY_NAME, keyname)) ++ { ++ return 0; ++ } ++ else ++ { ++ return 1;//user space always can be read ++ } ++} ++ ++//data format is hexdata ++int keymanage_efuse_read(const char *keyname, void* databuf, const unsigned bufSz) ++{ ++ int ret = 0; ++ unsigned cfgSz = 0; ++ ++ cfgSz = keymanage_efuse_size(keyname); ++ if (cfgSz > bufSz) { ++ KM_ERR("buf sz 0x%x < dts cfg sz 0x%x\n", bufSz, cfgSz); ++ return __LINE__; ++ } ++ ++ ret = efuse_usr_api_read_key(keyname, databuf, cfgSz); ++ ++ return ret; ++} ++ +diff --git a/drivers/amlogic/keymanage/km_provision_key.c b/drivers/amlogic/keymanage/km_provision_key.c +new file mode 100644 +index 00000000000..954a42b28a2 +--- /dev/null ++++ b/drivers/amlogic/keymanage/km_provision_key.c +@@ -0,0 +1,102 @@ ++/* ++* Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++* * ++This program is free software; you can redistribute it and/or modify ++* it under the terms of the GNU General Public License as published by ++* the Free Software Foundation; either version 2 of the License, or ++* (at your option) any later version. ++* * ++This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++* more details. ++* * ++You should have received a copy of the GNU General Public License along ++* with this program; if not, write to the Free Software Foundation, Inc., ++* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++* * ++Description: ++*/ ++ ++#include "key_manage_i.h" ++#include ++ ++#define _CMD_BUF_LEN 512 ++static char _cmdBuf[_CMD_BUF_LEN]; ++ ++int keymanage_provision_init(const char *buf, int len) ++{ ++ KM_DBG("f(%s)L%d\n", __func__, __LINE__); ++ return 0; ++} ++ ++int keymanage_provision_exit(void) ++{ ++ KM_DBG("f(%s)L%d\n", __func__, __LINE__); ++ return 0; ++} ++ ++//must be hexdata if stored in efuse ++int keymanage_provision_write(const char *keyname, const void* keydata, unsigned int datalen) ++{ ++ KM_DBG("f(%s)L%d\n", __func__, __LINE__); ++ ++ snprintf(_cmdBuf, _CMD_BUF_LEN, "factory_provision write %s 0x%p 0x%x", keyname, keydata, datalen); ++ int iRet = run_command(_cmdBuf, 0); ++ KM_MSG("factory provision[%s], query sta=%d\n", keyname, iRet); ++ ++ return iRet; ++} ++ ++ssize_t keymanage_provision_size(const char* keyname) ++{ ++ KM_DBG("f(%s)L%d\n", __func__, __LINE__); ++ uint32_t retBuf[12]; ++ snprintf(_cmdBuf, _CMD_BUF_LEN, "factory_provision query %s 0x%p", keyname, retBuf); ++ int iRet = run_command(_cmdBuf, 0); ++ if (iRet) { ++ KM_MSG("factory provision[%s], query sta=%d\n", keyname, iRet); ++ return 0; ++ } ++ ++ return retBuf[0]; ++} ++ ++int keymanage_provision_exist(const char* keyname) ++{ ++ KM_DBG("f(%s)L%d\n", __func__, __LINE__); ++ snprintf(_cmdBuf, _CMD_BUF_LEN, "factory_provision query %s", keyname); ++ int iRet = run_command(_cmdBuf, 0); ++ if (iRet) KM_MSG("factory provision[%s], query sta=%d\n", keyname, iRet); ++ ++ return !iRet; ++} ++ ++int keymanage_provision_query_can_read(const char* keyname) ++{ ++ KM_DBG("f(%s)L%d\n", __func__, __LINE__); ++ ++ return 0;//always cannot be read ++} ++ ++//read hash instead of actual value ++int keymanage_provision_read(const char *keyname, void* databuf, const unsigned bufSz) ++{ ++ KM_DBG("f(%s)L%d\n", __func__, __LINE__); ++ uint32_t retBuf[12]; ++ snprintf(_cmdBuf, _CMD_BUF_LEN, "factory_provision query %s 0x%p", keyname, retBuf); ++ int iRet = run_command(_cmdBuf, 0); ++ if (iRet) { ++ KM_MSG("factory provision[%s], query sta=%d\n", keyname, iRet); ++ return __LINE__; ++ } ++ if (bufSz < 32) { ++ KM_ERR("bufsz %d not enough for sha256sum\n", bufSz); ++ return -__LINE__; ++ } ++ ++ KM_MSG("provision read return sha256sum, but not original data\n"); ++ memcpy(databuf, retBuf + 1, 32); ++ return 0;// ++} ++ +diff --git a/drivers/amlogic/keymanage/km_secure_key.c b/drivers/amlogic/keymanage/km_secure_key.c +new file mode 100644 +index 00000000000..f33652b1b67 +--- /dev/null ++++ b/drivers/amlogic/keymanage/km_secure_key.c +@@ -0,0 +1,263 @@ ++/* ++ * \file km_secure_key.c ++ * \brief secure storage key ops for key manage ++ * ++ * \version 1.0.0 ++ * \date 15/06/30 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2015 Amlogic. All Rights Reserved. ++ * ++ */ ++#include "key_manage_i.h" ++#include ++#include ++ ++int keymanage_securekey_init(const char* buf, int len) ++{ ++ int encrypt_type; ++ ++ encrypt_type = unifykey_get_encrypt_type(); ++ return amlkey_init((uint8_t*)buf, len, encrypt_type); //confirm ++} ++ ++int keymanage_securekey_exit(void) ++{ ++ return 0; ++} ++ ++int keymanage_secukey_write(const char *keyname, const void* keydata, unsigned int datalen) ++{ ++ int ret = 0; ++ uint8_t origSum[SHA256_SUM_LEN]; ++ const int isSecure = ( KEY_M_SECURE_KEY == keymanage_dts_get_key_device(keyname) ) ? 1 : 0; ++ const int isEncrypt= strlen(keymanage_dts_get_enc_type(keyname)) ? 1 : 0; ++ const unsigned int keyAttr = ( isSecure << 0 ) | ( isEncrypt << 8 ); ++ ssize_t writenLen = 0; ++ ++ if (isSecure) ++ { ++ sha256_context ctx; ++ sha256_starts(&ctx); ++ sha256_update(&ctx, keydata, datalen); ++ sha256_finish(&ctx, origSum); ++ } ++ ++ KM_MSG("isEncrypt=%s\n", keymanage_dts_get_enc_type(keyname)); ++ KM_DBG("%s, keyname=%s, keydata=%p, datalen=%d, isSecure=%d\n", __func__, keyname, keydata, datalen, isSecure); ++ KM_MSG("keyAttr is 0x%08X\n", keyAttr); ++ writenLen = amlkey_write((uint8_t*)keyname, (uint8_t*)keydata, datalen, keyAttr); ++ if (writenLen != datalen) { ++ KM_ERR("Want to write %u bytes, but only %zd Bytes\n", datalen, writenLen); ++ return __LINE__; ++ } ++ ++ if (isSecure) ++ { ++ uint8_t genSum[SHA256_SUM_LEN]; ++ ++ ret = amlkey_hash_4_secure((uint8_t*)keyname, genSum); ++ if (ret) { ++ KM_ERR("Failed when gen hash for secure key[%s], ret=%d\n", keyname, ret); ++ return __LINE__; ++ } ++ ++ ret = memcmp(origSum, genSum, SHA256_SUM_LEN); ++ if (ret) ++ { ++ int index = 0; ++ char origSum_str[SHA256_SUM_LEN * 2 + 2]; ++ char genSum_str[SHA256_SUM_LEN * 2 + 2]; ++ ++ origSum_str[0] = genSum_str[0] = '\0'; ++ for (index = 0; index < SHA256_SUM_LEN; ++index) { ++ ++ sprintf(origSum_str, "%s%02x", origSum_str, origSum[index]); ++ sprintf(genSum_str, "%s%02x", genSum_str, genSum[index]); ++ } ++ ++ KM_ERR("Failed in check hash, origSum[%s] != genSum[%s]\n", origSum_str, genSum_str); ++ return __LINE__; ++ } ++ KM_MSG("OK in check sha1256 in burn key[%s]\n", keyname); ++ } ++ ++ return ret; ++} ++ ++ssize_t keymanage_secukey_size(const char* keyname) ++{ ++ return amlkey_size((uint8_t*)keyname); //actully size ++} ++ ++int keymanage_secukey_exist(const char* keyname) ++{ ++ return amlkey_isexsit((uint8_t*)keyname); //exsit 1, non 0 ++} ++ ++int keymanage_secukey_can_read(const char* keyname) ++{ ++ return !amlkey_issecure((uint8_t*)keyname); //secure 1, non 0 ++} ++ ++int keymanage_secukey_read(const char* keyname, void* databuf, unsigned buflen) ++{ ++ int ret = 0; ++ ++ ret = keymanage_secukey_can_read(keyname); ++ if (!ret) { ++ KM_ERR("key[%s] can't read, is configured secured?\n", keyname); ++ return __LINE__; ++ } ++ ++ const ssize_t readLen = amlkey_read((uint8_t*)keyname, (uint8_t*)databuf, buflen); ++ if (readLen != buflen) { ++ KM_ERR("key[%s], want read %u Bytes, but %zd bytes\n", keyname, buflen, readLen); ++ return __LINE__; ++ } ++ ++ return 0; ++} ++ ++#if 1//hdcp2 rx start ++#define HDCP2_RX_LC128_LEN (36) ++#define HDCP2_RX_KEY_LEN (862) ++#pragma pack(push, 1) ++typedef struct _Hdcp2RxKeyFmt{ ++ unsigned version; ++ char lc128[HDCP2_RX_LC128_LEN]; ++ char keyVal[HDCP2_RX_KEY_LEN]; ++}Hdcp2RxKeyFmt_t; ++#pragma pack(pop) ++ ++#define HDCP2_RX_KEY_TOTAL_LEN sizeof(Hdcp2RxKeyFmt_t) ++#define HDCP2_RX_KEY_LC128_NAME "hdcp2lc128" ++#define HDCP2_RX_KEY_NAME "hdcp2key" ++#define HDCP2_RX_KEY_VERSION (0x02000000U) ++#define HDCP2_VERSION_LEN ( 4 ) ++ ++static char generalDataChange(const char input) ++{ ++ int i; ++ char result = 0; ++ ++ for (i=0; i<8; i++) { ++ if ((input & (1< bufLen) { ++ KM_ERR("hdcp2 rx len unsupported. want %d but get %d\n", keyLen, bufLen); ++ return __LINE__; ++ } ++ if (HDCP2_RX_KEY_VERSION != pHdcp2RxKey->version) { ++ KM_ERR("Version value 0x%x is error, should be 0x%x\n", pHdcp2RxKey->version, HDCP2_RX_KEY_VERSION); ++ return __LINE__; ++ } ++ ++ hdcp2DataEncryption(keyLen, databuf, decryptBuf); ++ KM_MSG("Ecnrypt hdcp2 END.\n"); ++ pHdcp2RxKey = (Hdcp2RxKeyFmt_t*)decryptBuf; ++ ++ const uint8_t* tmpName = (uint8_t*)HDCP2_RX_KEY_LC128_NAME; ++ unsigned tmpLen = HDCP2_RX_LC128_LEN; ++ unsigned isSecure = 0; ++ ssize_t retLen = 0; ++ retLen = amlkey_write(tmpName, (uint8_t*)&pHdcp2RxKey->lc128, tmpLen , isSecure); ++ if (retLen != tmpLen) { ++ KM_ERR ("Fail in write hdcp2 lc128, retLen %zd != want len %d\n", retLen, tmpLen) ; ++ return __LINE__; ++ } ++ ++ tmpName = (uint8_t*)HDCP2_RX_KEY_NAME; ++ tmpLen = HDCP2_RX_KEY_LEN; ++ retLen = amlkey_write(tmpName, (uint8_t*)&pHdcp2RxKey->keyVal, tmpLen , isSecure); ++ if (retLen != tmpLen) { ++ KM_ERR ("Fail in write hdcp2 key, retLen %zd != want len %d\n", retLen, tmpLen) ; ++ return __LINE__; ++ } ++ ++ tmpLen = HDCP2_VERSION_LEN; ++ retLen = amlkey_write((uint8_t*)keyname, (uint8_t*)&pHdcp2RxKey->version, tmpLen, isSecure); ++ if (retLen != tmpLen) { ++ KM_ERR ("Fail in write hdcp2 key, retLen %zd != want len %d\n", retLen, tmpLen) ; ++ return __LINE__; ++ } ++ ++ return 0; ++} ++ ++int _read_key_in_type_hdcp2(const char* keyname, void* databuf, const unsigned bufLen, char* decryptBuf) ++{ ++ const unsigned srcKeyLen = HDCP2_RX_KEY_TOTAL_LEN; ++ Hdcp2RxKeyFmt_t* pHdcp2RxKey = (Hdcp2RxKeyFmt_t*)decryptBuf; ++ const uint8_t* tmpName = NULL; ++ int tmpLen = 0; ++ ++ if (bufLen < srcKeyLen) { ++ KM_ERR("hdcp2 rx len unsupported. want %d but only %d\n", srcKeyLen, bufLen); ++ return __LINE__; ++ } ++ ++ ssize_t retLen = 0; ++ tmpName = (uint8_t*)keyname; ++ tmpLen = HDCP2_VERSION_LEN; ++ retLen = amlkey_read(tmpName, (uint8_t*)&pHdcp2RxKey->version, tmpLen); ++ if (retLen != tmpLen) { ++ KM_ERR ("Fail in read key[%s] at len %d\n", tmpName, tmpLen) ; ++ return __LINE__; ++ } ++ ++ tmpName = (uint8_t*)HDCP2_RX_KEY_NAME; ++ tmpLen = HDCP2_RX_KEY_LEN; ++ retLen = amlkey_read(tmpName, (uint8_t*)&pHdcp2RxKey->keyVal, tmpLen); ++ if (retLen != tmpLen) { ++ KM_ERR ("Fail in read key[%s] at len %d\n", tmpName, tmpLen) ; ++ return __LINE__; ++ } ++ ++ tmpName = (uint8_t*)HDCP2_RX_KEY_LC128_NAME; ++ tmpLen = HDCP2_RX_LC128_LEN; ++ retLen = amlkey_read(tmpName, (uint8_t*)&pHdcp2RxKey->lc128, tmpLen); ++ if (retLen != tmpLen) { ++ KM_ERR ("Fail in read key[%s] at len %d\n", tmpName, tmpLen) ; ++ return __LINE__; ++ } ++ ++ hdcp2DataDecryption(srcKeyLen, (char*)pHdcp2RxKey, databuf); ++ ++ return 0; ++} ++int _km_hdcp2_size(void) ++{ ++ return HDCP2_RX_KEY_TOTAL_LEN; ++} ++#endif//hdcp2 rx end ++ ++ +diff --git a/drivers/amlogic/keymanage/km_secure_key_2015.c b/drivers/amlogic/keymanage/km_secure_key_2015.c +new file mode 100644 +index 00000000000..5baabb88f05 +--- /dev/null ++++ b/drivers/amlogic/keymanage/km_secure_key_2015.c +@@ -0,0 +1,118 @@ ++/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ ++/* ++ * drivers/keymanage/km_secure_key.c ++ * ++ * Copyright (C) 2020 Amlogic, Inc. All rights reserved. ++ * ++ */ ++ ++#include "key_manage_i.h" ++#include ++#include ++ ++int keymanage_securekey_init(const char* buf, int len) ++{ ++ int encrypt_type; ++ ++ encrypt_type = unifykey_get_encrypt_type(); ++ return amlkey_init((uint8_t*)buf, len, encrypt_type); //confirm ++} ++ ++int keymanage_securekey_exit(void) ++{ ++ return 0; ++} ++ ++int keymanage_secukey_write(const char *keyname, const void* keydata, unsigned int datalen) ++{ ++ int ret = 0; ++ uint8_t origSum[SHA256_SUM_LEN]; ++ const int isSecure = ( KEY_M_SECURE_KEY == keymanage_dts_get_key_device(keyname) ) ? 1 : 0; ++ const int isEncrypt= strlen(keymanage_dts_get_enc_type(keyname)) ? 1 : 0; ++ const unsigned int keyAttr = ( isSecure << 0 ) | ( isEncrypt << 8 ); ++ ssize_t writenLen = 0; ++ ++ if (isSecure) ++ { ++ sha256_context ctx; ++ sha256_starts(&ctx); ++ sha256_update(&ctx, keydata, datalen); ++ sha256_finish(&ctx, origSum); ++ } ++ ++ KM_MSG("isEncrypt=%s\n", keymanage_dts_get_enc_type(keyname)); ++ KM_DBG("%s, keyname=%s, keydata=%p, datalen=%d, isSecure=%d\n", __func__, keyname, keydata, datalen, isSecure); ++ KM_MSG("keyAttr is 0x%08X\n", keyAttr); ++ writenLen = amlkey_write((uint8_t*)keyname, (uint8_t*)keydata, datalen, keyAttr); ++ if (writenLen != datalen) { ++ KM_ERR("Want to write %u bytes, but only %zd Bytes\n", datalen, writenLen); ++ return __LINE__; ++ } ++ ++ if (isSecure) ++ { ++ uint8_t genSum[SHA256_SUM_LEN]; ++ ++ ret = amlkey_hash_4_secure((uint8_t*)keyname, genSum); ++ if (ret) { ++ KM_ERR("Failed when gen hash for secure key[%s], ret=%d\n", keyname, ret); ++ return __LINE__; ++ } ++ ++ ret = memcmp(origSum, genSum, SHA256_SUM_LEN); ++ if (ret) ++ { ++ int index = 0; ++ char origSum_str[SHA256_SUM_LEN * 2 + 2]; ++ char genSum_str[SHA256_SUM_LEN * 2 + 2]; ++ ++ origSum_str[0] = genSum_str[0] = '\0'; ++ for (index = 0; index < SHA256_SUM_LEN; ++index) { ++ ++ sprintf(origSum_str, "%s%02x", origSum_str, origSum[index]); ++ sprintf(genSum_str, "%s%02x", genSum_str, genSum[index]); ++ } ++ ++ KM_ERR("Failed in check hash, origSum[%s] != genSum[%s]\n", origSum_str, genSum_str); ++ return __LINE__; ++ } ++ KM_MSG("OK in check sha1256 in burn key[%s]\n", keyname); ++ } ++ ++ return ret; ++} ++ ++ssize_t keymanage_secukey_size(const char* keyname) ++{ ++ return amlkey_size((uint8_t*)keyname); //actully size ++} ++ ++int keymanage_secukey_exist(const char* keyname) ++{ ++ return amlkey_isexsit((uint8_t*)keyname); //exsit 1, non 0 ++} ++ ++int keymanage_secukey_can_read(const char* keyname) ++{ ++ return !amlkey_issecure((uint8_t*)keyname); //secure 1, non 0 ++} ++ ++int keymanage_secukey_read(const char* keyname, void* databuf, unsigned buflen) ++{ ++ int ret = 0; ++ ++ ret = keymanage_secukey_can_read(keyname); ++ if (!ret) { ++ KM_ERR("key[%s] can't read, is configured secured?\n", keyname); ++ return __LINE__; ++ } ++ ++ const ssize_t readLen = amlkey_read((uint8_t*)keyname, (uint8_t*)databuf, buflen); ++ if (readLen != buflen) { ++ KM_ERR("key[%s], want read %u Bytes, but %zd bytes\n", keyname, buflen, readLen); ++ return __LINE__; ++ } ++ ++ return 0; ++} ++ +diff --git a/drivers/amlogic/storagekey/Kconfig b/drivers/amlogic/storagekey/Kconfig +new file mode 100644 +index 00000000000..311ab7e8ec3 +--- /dev/null ++++ b/drivers/amlogic/storagekey/Kconfig +@@ -0,0 +1,2 @@ ++config SECURE_STORAGE ++ bool "Amlogic bl31 storage key" +diff --git a/drivers/amlogic/storagekey/Makefile b/drivers/amlogic/storagekey/Makefile +new file mode 100644 +index 00000000000..6e7ccb4ba3e +--- /dev/null ++++ b/drivers/amlogic/storagekey/Makefile +@@ -0,0 +1,3 @@ ++obj-$(CONFIG_SECURE_STORAGE) += storagekey.o ++obj-$(CONFIG_SECURE_STORAGE) += securestorage.o ++obj-$(CONFIG_SECURE_STORAGE) += normal_key.o +diff --git a/drivers/amlogic/storagekey/normal_key.c b/drivers/amlogic/storagekey/normal_key.c +new file mode 100644 +index 00000000000..9e40c8fdfe9 +--- /dev/null ++++ b/drivers/amlogic/storagekey/normal_key.c +@@ -0,0 +1,672 @@ ++/* ++ * drivers/storagekey/normal_key.c ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#include ++#include ++#include ++#include ++#include ++#include "normal_key.h" ++ ++#undef pr_info ++#define pr_info(fmt ...) printf("[KM]Msg:"fmt) ++#undef pr_err ++#define pr_err(fmt ...) printf("[KM]Error:f[%s]L%d:", __func__, __LINE__),printf(fmt) ++ ++#define DBG 0 ++ ++/* Storage BLOCK RAW HEAD: fixed 512B*/ ++#define ENC_TYPE_DEFAULT 0 ++#define ENC_TYPE_EFUSE 1 ++#define ENC_TYPE_FIXED 2 ++ ++#define STORAGE_BLOCK_RAW_HEAD_SIZE 512 ++ ++#define BLOCK_VERSION_0 0 ++ ++#define ERR_HEADER 0x1 ++#define ERR_KEYMEMFAIL 0x2 ++#define ERR_KEYRDFAIL 0x4 ++#define ERR_KEYCHKFAIL 0x8 ++#define ERR_ENCHDFAIL 0x10 ++#define ERR_DATASZ 0x20 ++struct storage_block_raw_head { ++ u8 mark[16]; /* AMLNORMAL*/ ++ u32 version; ++ u32 enctype; /*from EFUSE, from default, from fixed*/ ++ u32 keycnt; ++ u32 initcnt; ++ u32 wrtcnt; ++ u32 errcnt; ++ u32 flags; ++ u8 headhash[32]; ++ u8 hash[32]; ++}; ++ ++/* Storage BLOCK ENC HEAD: fixed 512B*/ ++#define STORAGE_BLOCK_ENC_HEAD_SIZE 512 ++struct storage_block_enc_head { ++ u32 blocksize; ++ u32 flashsize; ++}; ++ ++/* Storage Format: TLV*/ ++enum emTLVTag { ++ EMTLVNONE, ++ ++ EMTLVHEAD, ++ EMTLVHEADSIZE, ++ ++ EMTLVOBJECT, ++ EMTLVOBJNAMESIZE, ++ EMTLVOBJNAME, ++ EMTLVOBJDATASIZE, ++ EMTLVOBJDATABUF, ++ EMTLVOBJTYPE, ++ EMTLVOBJATTR, ++ EMTLVOBJHASHBUF, ++ ++ EMTLVHEADFLASHSIZE, ++}; ++ ++struct storage_node { ++ struct list_head node; ++ struct storage_object object; ++}; ++ ++static LIST_HEAD(keys); ++static int blockinited; ++static struct storage_block_raw_head rawhead; ++static struct storage_block_enc_head enchead; ++static char *blockmark = "AMLNORMAL"; ++ ++#if DBG ++static void dump_raw_head(struct storage_block_raw_head *prawhead) ++{ ++ pr_info("rawhead:\n"); ++ pr_info("mark: %s\n", prawhead->mark); ++ pr_info("keycnt: %u\n", prawhead->keycnt); ++ pr_info("initcnt: %u\n", prawhead->initcnt); ++ pr_info("wrtcnt: %u\n", prawhead->wrtcnt); ++ pr_info("errcnt: %u\n", prawhead->errcnt); ++ pr_info("flags: 0x%x\n", prawhead->flags); ++} ++ ++static void dump_enc_head(struct storage_block_enc_head *penchead) ++{ ++ pr_info("enchead:\n"); ++ pr_info("blocksize: %u\n", penchead->blocksize); ++ pr_info("flashsize: %u\n", penchead->flashsize); ++} ++ ++static void dump_mem(const u8 *p, int len) ++{ ++ int idx = 0, j, tmp; ++ char buf[64]; ++ int total; ++ ++ while (idx < len) { ++ total = 0; ++ tmp = min(((int)len - idx), 16); ++ for (j = 0; j < tmp; j++) ++ total += snprintf(buf + total, 64 - total, ++ "%02x ", p[idx + j]); ++ buf[total] = 0; ++ pr_info("%s\n", buf); ++ idx += tmp; ++ } ++} ++ ++static void dump_object(struct storage_object *obj) ++{ ++ pr_info("key: [%u, %.*s, %x, %x, %u]\n", ++ obj->namesize, obj->namesize, obj->name, ++ obj->type, obj->attribute, obj->datasize); ++ if (obj->dataptr) { ++ pr_info("data:\n"); ++ dump_mem(obj->dataptr, obj->datasize); ++ } ++} ++#endif ++ ++static u32 Tlv_WriteUint32(u8 *output, s32 len, ++ u32 tag, u32 value) ++{ ++ u32 *out = (u32 *)output; ++ ++ if (len < 12) ++ return 0; ++ ++ out[0] = tag; ++ out[1] = 4; ++ out[2] = value; ++ return 12; ++} ++ ++static u32 Tlv_WriteBuf(u8 *output, s32 len, ++ u32 tag, ++ u32 length, u8 *input) ++{ ++ u8 *out = output; ++ u32 tmplen = (((length + 3) / 4) * 4); ++ ++ if (len < (s32)(8 + tmplen)) ++ return 0; ++ ++ *((u32 *)out) = tag; ++ *((u32 *)(out + 4)) = tmplen; ++ memset(out + 8, 0, tmplen); ++ memcpy(out + 8, input, length); ++ ++ return tmplen + 8; ++} ++ ++static u32 Tlv_ReadTl(u8 *input, int32_t len, ++ u32 *tag, u32 *length, ++ u32 *idx) ++{ ++ if (len < 8) ++ return 0; ++ ++ *tag = *((u32 *)input); ++ *length = *((u32 *)(input + 4)); ++ ++ if ((8 + *length) > len) ++ return 0; ++ *idx += 8; ++ ++ return 8; ++} ++ ++static u32 Tlv_ReadHead(u8 *input, int32_t len, ++ struct storage_block_enc_head *pblockhead) ++{ ++ u32 tag; ++ u32 sum; ++ u32 length; ++ u32 idx = 0; ++ u32 ret; ++ ++ ret = Tlv_ReadTl(input, len, ++ &tag, &sum, &idx); ++ if (!ret) ++ return 0; ++ ++ if (tag != EMTLVHEAD) ++ return 0; ++ ++ sum += ret; ++ while (idx < sum) { ++ ret = Tlv_ReadTl(input + idx, len - idx, ++ &tag, &length, &idx); ++ if (!ret) ++ return 0; ++ ++ switch (tag) { ++ case EMTLVHEADSIZE: ++ pblockhead->blocksize = *((u32 *)(input + idx)); ++ break; ++ case EMTLVHEADFLASHSIZE: ++ pblockhead->flashsize = *((u32 *)(input + idx)); ++ break; ++ default: ++ break; ++ } ++ idx += length; ++ } ++ return sum; ++} ++ ++static u32 Tlv_ReadObject(u8 *input, int32_t len, ++ struct storage_object *pcontent) ++{ ++ u32 tag; ++ u32 length; ++ u32 sum; ++ u32 idx = 0; ++ u32 ret; ++ ++ memset(pcontent, 0, sizeof(*pcontent)); ++ ret = Tlv_ReadTl(input, len, ++ &tag, &sum, &idx); ++ if (!ret) ++ return 0; ++ ++ if (tag != EMTLVOBJECT) ++ return 0; ++ ++ sum += ret; ++ while (idx < sum) { ++ ret = Tlv_ReadTl(input + idx, len - idx, ++ &tag, &length, &idx); ++ if (!ret) ++ goto tlv_readkeycontent_err; ++ ++ switch (tag) { ++ case EMTLVOBJNAMESIZE: ++ pcontent->namesize = *((u32 *)(input + idx)); ++ break; ++ case EMTLVOBJNAME: ++ memset(pcontent->name, 0, MAX_OBJ_NAME_LEN); ++ memcpy(pcontent->name, input + idx, pcontent->namesize); ++ break; ++ case EMTLVOBJTYPE: ++ pcontent->type = *((u32 *)(input + idx)); ++ break; ++ case EMTLVOBJATTR: ++ pcontent->attribute = *((u32 *)(input + idx)); ++ break; ++ case EMTLVOBJDATASIZE: ++ pcontent->datasize = *((u32 *)(input + idx)); ++ break; ++ case EMTLVOBJHASHBUF: ++ if (length != 32) ++ goto tlv_readkeycontent_err; ++ memcpy(pcontent->hashptr, input + idx, length); ++ break; ++ case EMTLVOBJDATABUF: ++ pcontent->dataptr = malloc(pcontent->datasize); ++ if (!pcontent->dataptr) ++ goto tlv_readkeycontent_err; ++ memcpy(pcontent->dataptr, ++ input + idx, pcontent->datasize); ++ break; ++ default: ++ break; ++ } ++ idx += length; ++ } ++ return sum; ++ ++tlv_readkeycontent_err: ++ free(pcontent->dataptr); ++ return 0; ++} ++ ++#define WRT_UINT32(tag, field) \ ++ ({ \ ++ u32 __tmp; \ ++ __tmp = Tlv_WriteUint32(output + idx, len - idx, \ ++ tag, field); \ ++ if (__tmp) \ ++ idx += __tmp; \ ++ __tmp; \ ++ }) ++ ++#define WRT_BUF(tag, buflen, buf) \ ++ ({ \ ++ u32 __tmp; \ ++ __tmp = Tlv_WriteBuf(output + idx, len - idx, \ ++ tag, buflen, buf); \ ++ if (__tmp) \ ++ idx += __tmp; \ ++ __tmp; \ ++ }) ++ ++u32 Tlv_WriteHead(struct storage_block_enc_head *enchead, ++ u8 *output, int32_t len) ++{ ++ u32 *sum; ++ u32 idx = 0; ++ ++ if (len < 8) ++ return 0; ++ ++ *(u32 *)output = EMTLVHEAD; ++ sum = (u32 *)(output + 4); ++ idx += 8; ++ ++ if (!WRT_UINT32(EMTLVHEADSIZE, enchead->blocksize)) ++ return 0; ++ if (!WRT_UINT32(EMTLVHEADFLASHSIZE, enchead->flashsize)) ++ return 0; ++ ++ *sum = idx - 8; ++ return idx; ++} ++ ++u32 Tlv_WriteObject(struct storage_object *object, ++ u8 *output, int32_t len) ++{ ++ u32 *sum; ++ u32 idx = 0; ++ ++ if (len < 8) ++ return 0; ++ ++ *(u32 *)output = EMTLVOBJECT; ++ sum = (u32 *)(output + 4); ++ idx += 8; ++ ++ if (object->namesize != 0) { ++ if (!WRT_UINT32(EMTLVOBJNAMESIZE, object->namesize)) ++ return 0; ++ if (!WRT_BUF(EMTLVOBJNAME, object->namesize, ++ (u8 *)object->name)) ++ return 0; ++ } ++ ++ if (object->dataptr && object->datasize != 0) { ++ if (!WRT_UINT32(EMTLVOBJDATASIZE, object->datasize)) ++ return 0; ++ if (!WRT_BUF(EMTLVOBJDATABUF, object->datasize, ++ object->dataptr)) ++ return 0; ++ } ++ ++ if (!WRT_BUF(EMTLVOBJHASHBUF, 32, object->hashptr)) ++ return 0; ++ if (!WRT_UINT32(EMTLVOBJTYPE, object->type)) ++ return 0; ++ if (!WRT_UINT32(EMTLVOBJATTR, object->attribute)) ++ return 0; ++ ++ *sum = idx - 8; ++ return idx; ++} ++ ++static int normalkey_hash(u8 *data, u32 len, u8 *hash) ++{ ++ sha256_context ctx; ++ sha256_starts(&ctx); ++ sha256_update(&ctx, data, len); ++ sha256_finish(&ctx, hash); ++ return 0; ++} ++ ++int normalkey_init(void) ++{ ++ if (blockinited) ++ return 0; ++ ++ blockinited = 1; ++ return 0; ++} ++ ++void normalkey_deinit(void) ++{ ++ struct storage_node *pos, *n; ++ ++ if (!blockinited) ++ return; ++ ++ blockinited = 0; ++ ++ list_for_each_entry_safe(pos, n, &keys, node) { ++ list_del(&pos->node); ++ free(pos->object.dataptr); ++ free(pos); ++ } ++} ++ ++struct storage_object *normalkey_get(const u8 *name) ++{ ++ struct storage_node *pos; ++ struct storage_object *obj; ++ u32 len; ++ ++ if (!name) ++ return NULL; ++ ++ len = strlen((const char*)name); ++ list_for_each_entry(pos, &keys, node) { ++ obj = &pos->object; ++ if (len == obj->namesize && ++ !memcmp(name, obj->name, len)) ++ return obj; ++ } ++ ++ return NULL; ++} ++ ++int normalkey_add(const u8 *name, u8 *buffer, u32 len, u32 attr) ++{ ++ struct storage_object *obj; ++ struct storage_node *node; ++ u32 namelen; ++ u8 *data; ++ ++ if (blockinited != 2) ++ return -1; ++ ++ if (!name || !buffer || !len || (attr & OBJ_ATTR_SECURE)) ++ return -1; ++ ++ namelen = strlen((const char*)name); ++ if (namelen > MAX_OBJ_NAME_LEN) ++ return -1; ++ ++ obj = normalkey_get(name); ++ if (obj) { ++ if (attr != obj->attribute) ++ return -1; ++ if (len > obj->datasize) { ++ data = malloc(len); ++ if (!data) ++ return -1; ++ free(obj->dataptr); ++ obj->dataptr = data; ++ } ++ } else { ++ node = malloc(sizeof(*node)); ++ if (!node) ++ return -1; ++ data = malloc(len); ++ if (!data) { ++ free(node); ++ return -1; ++ } ++ obj = &node->object; ++ memcpy(obj->name, name, namelen); ++ obj->namesize = namelen; ++ obj->attribute = attr; ++ obj->type = OBJ_TYPE_GENERIC; ++ obj->dataptr = data; ++ list_add(&node->node, &keys); ++ } ++ obj->datasize = len; ++ memcpy(obj->dataptr, buffer, len); ++ normalkey_hash(buffer, len, obj->hashptr); ++ return 0; ++} ++ ++int normalkey_del(const u8 *name) ++{ ++ struct storage_object *obj; ++ struct storage_node *node; ++ ++ if (blockinited != 2) ++ return -1; ++ ++ obj = normalkey_get(name); ++ if (!obj) ++ return -1; ++ ++ node = container_of(obj, struct storage_node, object); ++ list_del(&node->node); ++ free(obj->dataptr); ++ free(node); ++ ++ return 0; ++} ++ ++int normalkey_readfromblock(void *block, unsigned long size) ++{ ++ struct storage_block_raw_head *prawhead; ++ u8 *penchead, *pdata; ++ struct storage_node *node = NULL; ++ u8 hash[32]; ++ u32 idx; ++ u32 ret; ++ ++ if (blockinited != 1) ++ return -1; ++ ++ prawhead = (struct storage_block_raw_head *)block; ++ penchead = (u8 *)block + STORAGE_BLOCK_RAW_HEAD_SIZE; ++ pdata = penchead + STORAGE_BLOCK_ENC_HEAD_SIZE; ++ ++ if (!block || size <= ++ (STORAGE_BLOCK_ENC_HEAD_SIZE + STORAGE_BLOCK_RAW_HEAD_SIZE)) ++ return -1; ++ ++ blockinited = 2; ++ ++ memset(&rawhead, 0, sizeof(rawhead)); ++ strncpy((char*)rawhead.mark, blockmark, 15); ++ rawhead.version = BLOCK_VERSION_0; ++ ++ enchead.flashsize = size; ++ if (strcmp((const char *)prawhead->mark, blockmark) != 0) { ++ pr_info("mark is not found\n"); ++ return 0; ++ } ++ ++ normalkey_hash((u8 *)prawhead, sizeof(*prawhead) - 64, ++ rawhead.headhash); ++ if (memcmp(rawhead.headhash, prawhead->headhash, 32)) { ++ pr_info("rawhead hash check fail\n"); ++ rawhead.flags |= ERR_HEADER; ++ } else { ++ pr_info("rawhead hash check successful\n"); ++ rawhead.keycnt = prawhead->keycnt; ++ rawhead.initcnt = prawhead->initcnt; ++ rawhead.wrtcnt = prawhead->wrtcnt; ++ rawhead.errcnt = prawhead->errcnt; ++ rawhead.flags = prawhead->flags; ++ } ++ ++ rawhead.initcnt++; ++ ++#if DBG ++ dump_raw_head(&rawhead); ++#endif ++ ++ normalkey_hash(penchead, size - STORAGE_BLOCK_RAW_HEAD_SIZE, ++ rawhead.hash); ++ if (memcmp(rawhead.hash, prawhead->hash, 32)) { ++ pr_info("data hash check fail\n"); ++ rawhead.errcnt++; ++ return 0; ++ } ++ ++ ret = Tlv_ReadHead(penchead, STORAGE_BLOCK_ENC_HEAD_SIZE, ++ &enchead); ++ if (!ret) { ++ pr_info("read head fail\n"); ++ rawhead.flags |= ERR_ENCHDFAIL; ++ return 0; ++ } ++ ++#if DBG ++ dump_enc_head(&enchead); ++#endif ++ ++ if (size < (enchead.blocksize + STORAGE_BLOCK_ENC_HEAD_SIZE + ++ STORAGE_BLOCK_RAW_HEAD_SIZE)) { ++ rawhead.flags |= ERR_DATASZ; ++ return 0; ++ } ++ ++ idx = 0; ++ while (idx < enchead.blocksize) { ++ struct storage_object *obj = NULL; ++ ++ if (!node) { ++ node = malloc(sizeof(*node)); ++ if (!node) { ++ rawhead.flags |= ERR_KEYMEMFAIL; ++ break; ++ } ++ } ++ obj = &node->object; ++ ret = Tlv_ReadObject(pdata + idx, ++ enchead.blocksize - idx, obj); ++ if (!ret) { ++ rawhead.flags |= ERR_KEYRDFAIL; ++ break; ++ } ++ idx += ret; ++ ++ normalkey_hash(obj->dataptr, obj->datasize, hash); ++ if (memcmp(hash, obj->hashptr, 32)) { ++ free(obj->dataptr); ++ rawhead.flags |= ERR_KEYCHKFAIL; ++ continue; ++ } ++#if DBG ++ dump_object(obj); ++#endif ++ list_add(&node->node, &keys); ++ node = NULL; ++ } ++ ++ free(node); ++ return 0; ++} ++ ++int normalkey_writetoblock(void *block, unsigned long size) ++{ ++ u8 *prawhead; ++ u8 *penchead, *pdata; ++ struct storage_object *obj = NULL; ++ struct storage_node *node = NULL; ++ u32 idx; ++ u32 ret; ++ ++ if (blockinited != 2) ++ return -1; ++ ++ prawhead = (u8 *)block; ++ penchead = prawhead + STORAGE_BLOCK_RAW_HEAD_SIZE; ++ pdata = penchead + STORAGE_BLOCK_ENC_HEAD_SIZE; ++ ++ if (!block || size <= ++ (STORAGE_BLOCK_ENC_HEAD_SIZE + STORAGE_BLOCK_RAW_HEAD_SIZE)) ++ return -1; ++ ++ enchead.flashsize = size; ++ size -= (STORAGE_BLOCK_ENC_HEAD_SIZE + STORAGE_BLOCK_RAW_HEAD_SIZE); ++ idx = 0; ++ rawhead.keycnt = 0; ++ list_for_each_entry(node, &keys, node) { ++ obj = &node->object; ++ ret = Tlv_WriteObject(obj, pdata + idx, size - idx); ++ if (!ret) ++ return -1; ++ idx += ret; ++ rawhead.keycnt++; ++ } ++ enchead.blocksize = idx; ++ ++ ret = Tlv_WriteHead(&enchead, penchead, STORAGE_BLOCK_ENC_HEAD_SIZE); ++ if (!ret) ++ return -1; ++ ++ rawhead.wrtcnt++; ++ normalkey_hash((u8 *)&rawhead, sizeof(rawhead) - 64, ++ rawhead.headhash); ++ normalkey_hash(penchead, ++ enchead.flashsize - STORAGE_BLOCK_RAW_HEAD_SIZE, ++ rawhead.hash); ++ memcpy(prawhead, &rawhead, sizeof(rawhead)); ++ ++ return 0; ++} +diff --git a/drivers/amlogic/storagekey/normal_key.h b/drivers/amlogic/storagekey/normal_key.h +new file mode 100644 +index 00000000000..18772db67e0 +--- /dev/null ++++ b/drivers/amlogic/storagekey/normal_key.h +@@ -0,0 +1,49 @@ ++/* ++ * drivers/amlogic/storagekey/normal_key.h ++ * ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ */ ++ ++#ifndef _AML_NORMAL_KEY_H_ ++#define _AML_NORMAL_KEY_H_ ++ ++#define MAX_OBJ_NAME_LEN 80 ++ ++/*Attribute*/ ++#define OBJ_ATTR_SECURE BIT(0) ++#define OBJ_ATTR_OTP BIT(1) ++#define OBJ_ATTR_ENC BIT(8) ++ ++/* Type */ ++#define OBJ_TYPE_GENERIC 0xA00000BF ++ ++struct storage_object { ++ char name[MAX_OBJ_NAME_LEN]; ++ u32 namesize; ++ u32 attribute; /*secure, OTP*/ ++ u32 type; /*AES, RSA, GENERIC, ...*/ ++ u32 datasize; ++ u8 *dataptr; ++ u8 hashptr[32]; ++}; ++ ++int normalkey_init(void); ++void normalkey_deinit(void); ++struct storage_object *normalkey_get(const u8 *name); ++int normalkey_add(const u8 *name, u8 *buffer, u32 len, u32 attr); ++int normalkey_del(const u8 *name); ++int normalkey_readfromblock(void *block, unsigned long size); ++int normalkey_writetoblock(void *block, unsigned long size); ++ ++#endif +diff --git a/drivers/amlogic/storagekey/securestorage.c b/drivers/amlogic/storagekey/securestorage.c +new file mode 100644 +index 00000000000..c65fee5586f +--- /dev/null ++++ b/drivers/amlogic/storagekey/securestorage.c +@@ -0,0 +1,389 @@ ++#include ++#include ++#include ++ ++// TODO: refactor ++#include ++#include ++ ++static uint64_t storage_share_in_base; ++static uint64_t storage_share_out_base; ++static uint64_t storage_share_block_base; ++static uint64_t storage_share_block_size; ++static int32_t storage_init_status; ++ ++static uint64_t bl31_storage_ops(uint64_t function_id) ++{ ++ asm volatile( ++ __asmeq("%0", "x0") ++ "smc #0\n" ++ : "+r" (function_id)); ++ ++ return function_id; ++} ++uint64_t bl31_storage_ops2(uint64_t function_id, uint64_t arg1) ++{ ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x1") ++ "smc #0\n" ++ : "+r" (function_id) ++ : "r"(arg1)); ++ ++ return function_id; ++} ++uint64_t bl31_storage_ops3(uint64_t function_id, uint64_t arg1, uint32_t arg2) ++{ ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x1") ++ __asmeq("%2", "x2") ++ "smc #0\n" ++ : "+r" (function_id) ++ : "r"(arg1), "r"(arg2)); ++ ++ return function_id; ++} ++ ++static uint64_t bl31_storage_write(uint8_t *keyname, uint8_t *keybuf, ++ uint32_t keylen, uint32_t keyattr) ++{ ++ uint32_t *input = (uint32_t *)storage_share_in_base; ++ uint8_t *data; ++ uint32_t namelen; ++ ++ namelen = strlen((const char *)keyname); ++ *input++ = namelen; ++ *input++ = keylen; ++ *input++ = keyattr; ++ data = (uint8_t *)input; ++ memcpy(data, keyname, namelen); ++ data += namelen; ++ memcpy(data, keybuf, keylen); ++ return bl31_storage_ops(SECURITY_KEY_WRITE); ++} ++ ++static uint64_t bl31_storage_read(uint8_t *keyname, uint8_t *keybuf, ++ uint32_t keylen, uint32_t *readlen) ++{ ++ uint32_t *input = (uint32_t *)storage_share_in_base; ++ uint32_t *output = (uint32_t *)storage_share_out_base; ++ uint32_t namelen; ++ uint8_t *name, *buf; ++ uint64_t ret; ++ ++ namelen = strlen((const char *)keyname); ++ *input++ = namelen; ++ *input++ = keylen; ++ name = (uint8_t *)input; ++ memcpy(name, keyname, namelen); ++ ret = bl31_storage_ops(SECURITY_KEY_READ); ++ if (ret == RET_OK) { ++ *readlen = *output; ++ buf = (uint8_t *)(output+1); ++ memcpy(keybuf, buf, *readlen); ++ } ++ return ret; ++} ++ ++static uint64_t bl31_storage_query(uint8_t *keyname, uint32_t *retval) ++{ ++ uint32_t *input = (uint32_t *)storage_share_in_base; ++ uint32_t *output = (uint32_t *)storage_share_out_base; ++ uint32_t namelen; ++ uint8_t *name; ++ uint64_t ret; ++ ++ namelen = strlen((const char *)keyname); ++ *input++ = namelen; ++ name = (uint8_t *)input; ++ memcpy(name, keyname, namelen); ++ ret = bl31_storage_ops(SECURITY_KEY_QUERY); ++ if (ret == RET_OK) ++ *retval = *output; ++ return ret; ++} ++ ++static uint64_t bl31_storage_status(uint8_t *keyname, uint32_t *retval) ++{ ++ uint32_t *input = (uint32_t *)storage_share_in_base; ++ uint32_t *output = (uint32_t *)storage_share_out_base; ++ uint32_t namelen; ++ uint8_t *name; ++ uint64_t ret; ++ ++ namelen = strlen((const char *)keyname); ++ *input++ = namelen; ++ name = (uint8_t *)input; ++ memcpy(name, keyname, namelen); ++ ret = bl31_storage_ops(SECURITY_KEY_STATUS); ++ if (ret == RET_OK) ++ *retval = *output; ++ return ret; ++} ++static uint64_t bl31_storage_tell(uint8_t *keyname, uint32_t *retval) ++{ ++ uint32_t *input = (uint32_t *)storage_share_in_base; ++ uint32_t *output = (uint32_t *)storage_share_out_base; ++ uint32_t namelen; ++ uint8_t *name; ++ uint64_t ret; ++ ++ namelen = strlen((const char *)keyname); ++ *input++ = namelen; ++ name = (uint8_t *)input; ++ memcpy(name, keyname, namelen); ++ ret = bl31_storage_ops(SECURITY_KEY_TELL); ++ if (ret == RET_OK) ++ *retval = *output; ++ return ret; ++} ++ ++static uint64_t bl31_storage_verify(uint8_t *keyname, uint8_t *hashbuf) ++{ ++ uint32_t *input = (uint32_t *)storage_share_in_base; ++ uint32_t *output = (uint32_t *)storage_share_out_base; ++ uint32_t namelen; ++ uint8_t *name; ++ uint64_t ret; ++ ++ namelen = strlen((const char *)keyname); ++ *input++ = namelen; ++ name = (uint8_t *)input; ++ memcpy(name, keyname, namelen); ++ ret = bl31_storage_ops(SECURITY_KEY_VERIFY); ++ ++ if (ret == RET_OK) ++ memcpy(hashbuf, (uint8_t *)output, 32); ++ return ret; ++} ++ ++static uint64_t bl31_storage_list(uint8_t *listbuf, ++ uint32_t outlen, uint32_t *readlen) ++{ ++ uint32_t *output = (uint32_t *)storage_share_out_base; ++ uint64_t ret; ++ ++ ret = bl31_storage_ops(SECURITY_KEY_LIST); ++ if (ret == RET_OK) { ++ if (*output > outlen) ++ *readlen = outlen; ++ else ++ *readlen = *output; ++ memcpy(listbuf, (uint8_t *)(output+1), *readlen); ++ } ++ return ret; ++} ++ ++static uint64_t bl31_storage_remove(uint8_t *keyname) ++{ ++ uint32_t *input = (uint32_t *)storage_share_in_base; ++ uint32_t namelen; ++ uint8_t *name; ++ ++ namelen = strlen((const char *)keyname); ++ *input++ = namelen; ++ name = (uint8_t *)input; ++ memcpy(name, keyname, namelen); ++ return bl31_storage_ops(SECURITY_KEY_REMOVE); ++} ++ ++static inline int32_t smc_to_ns_errno(uint64_t errno) ++{ ++ int32_t ret = (int32_t)(errno&0xffffffff); ++ return ret; ++} ++ ++void secure_storage_init(void) ++{ ++ storage_share_in_base = ++ bl31_storage_ops(GET_SHARE_STORAGE_IN_BASE); ++ storage_share_out_base = ++ bl31_storage_ops(GET_SHARE_STORAGE_OUT_BASE); ++ storage_share_block_base = ++ bl31_storage_ops(GET_SHARE_STORAGE_BLOCK_BASE); ++ storage_share_block_size = ++ bl31_storage_ops(GET_SHARE_STORAGE_BLOCK_SIZE); ++ ++ if (storage_share_in_base == SMC_UNK ++ || storage_share_out_base == SMC_UNK ++ || storage_share_block_base == SMC_UNK ++ || storage_share_block_size == SMC_UNK) ++ storage_init_status = -1; ++ else ++ storage_init_status = 1; ++} ++ ++void *secure_storage_getbuffer(uint32_t *size) ++{ ++ if (storage_init_status == 0) ++ secure_storage_init(); ++ ++ if (storage_init_status == 1) { ++ storage_share_block_size = ++ bl31_storage_ops(GET_SHARE_STORAGE_BLOCK_SIZE); ++ *size = (uint32_t)storage_share_block_size; ++ return (void *)storage_share_block_base; ++ } ++ else { ++ *size = 0; ++ return NULL; ++ } ++} ++void secure_storage_notifier(void) ++{ ++ bl31_storage_ops(SECURITY_KEY_NOTIFY); ++} ++ ++void secure_storage_notifier_ex(uint32_t storagesize, uint32_t rsvarg) ++{ ++ bl31_storage_ops3(SECURITY_KEY_NOTIFY_EX, storagesize, rsvarg); ++} ++ ++int32_t secure_storage_write(uint8_t *keyname, uint8_t *keybuf, ++ uint32_t keylen, uint32_t keyattr) ++{ ++ uint32_t ret; ++ ++ if (storage_init_status == 0) ++ secure_storage_init(); ++ ++ if (storage_init_status == 1) ++ ret = bl31_storage_write(keyname, keybuf, keylen, keyattr); ++ else ++ ret = RET_EUND; ++ return smc_to_ns_errno(ret); ++} ++ ++int32_t secure_storage_read(uint8_t *keyname, uint8_t *keybuf, ++ uint32_t keylen, uint32_t *readlen) ++{ ++ uint64_t ret; ++ if (storage_init_status == 0) ++ secure_storage_init(); ++ ++ if (storage_init_status == 1) ++ ret = bl31_storage_read(keyname, keybuf, keylen, readlen); ++ else ++ ret = RET_EUND; ++ ++ return smc_to_ns_errno(ret); ++} ++ ++int32_t secure_storage_query(uint8_t *keyname, uint32_t *retval) ++{ ++ uint64_t ret; ++ if (storage_init_status == 0) ++ secure_storage_init(); ++ ++ if (storage_init_status == 1) ++ ret = bl31_storage_query(keyname, retval); ++ else ++ ret = RET_EUND; ++ ++ return smc_to_ns_errno(ret); ++} ++ ++int32_t secure_storage_status(uint8_t *keyname, uint32_t *retval) ++{ ++ uint64_t ret; ++ if (storage_init_status == 0) ++ secure_storage_init(); ++ ++ if (storage_init_status == 1) ++ ret = bl31_storage_status(keyname, retval); ++ else ++ ret = RET_EUND; ++ ++ return smc_to_ns_errno(ret); ++} ++ ++int32_t secure_storage_tell(uint8_t *keyname, uint32_t *retval) ++{ ++ uint64_t ret; ++ if (storage_init_status == 0) ++ secure_storage_init(); ++ ++ if (storage_init_status == 1) ++ ret = bl31_storage_tell(keyname, retval); ++ else ++ ret = RET_EUND; ++ ++ return smc_to_ns_errno(ret); ++} ++ ++int32_t secure_storage_verify(uint8_t *keyname, uint8_t *hashbuf) ++{ ++ uint64_t ret; ++ if (storage_init_status == 0) ++ secure_storage_init(); ++ ++ if (storage_init_status == 1) ++ ret = bl31_storage_verify(keyname, hashbuf); ++ else ++ ret = RET_EUND; ++ ++ return smc_to_ns_errno(ret); ++} ++ ++int32_t secure_storage_list(uint8_t *listbuf, ++ uint32_t buflen, uint32_t *readlen) ++{ ++ uint64_t ret; ++ if (storage_init_status == 0) ++ secure_storage_init(); ++ ++ if (storage_init_status == 1) ++ ret = bl31_storage_list(listbuf, buflen, readlen); ++ else ++ ret = RET_EUND; ++ ++ return smc_to_ns_errno(ret); ++} ++ ++int32_t secure_storage_remove(uint8_t *keyname) ++{ ++ uint64_t ret; ++ if (storage_init_status == 0) ++ secure_storage_init(); ++ ++ if (storage_init_status == 1) ++ ret = bl31_storage_remove(keyname); ++ else ++ ret = RET_EUND; ++ ++ return smc_to_ns_errno(ret); ++} ++ ++void secure_storage_set_info(uint32_t info) ++{ ++ register uint64_t x0 asm("x0")= SET_STORAGE_INFO; ++ register uint64_t x1 asm("x1") = info; ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x1") ++ "smc #0\n" ++ : :"r" (x0), "r"(x1)); ++ ++} ++ ++int32_t secure_storage_set_enctype(uint32_t type) ++{ ++ uint64_t ret; ++ ret = bl31_storage_ops2(SECURITY_KEY_SET_ENCTYPE, type); ++ return smc_to_ns_errno(ret); ++} ++ ++int32_t secure_storage_get_enctype(void) ++{ ++ uint64_t ret; ++ ret = bl31_storage_ops(SECURITY_KEY_GET_ENCTYPE); ++ return smc_to_ns_errno(ret); ++} ++ ++int32_t secure_storage_version(void) ++{ ++ uint64_t ret; ++ ret = bl31_storage_ops(SECURITY_KEY_VERSION); ++ return smc_to_ns_errno(ret); ++} +diff --git a/drivers/amlogic/storagekey/storagekey.c b/drivers/amlogic/storagekey/storagekey.c +new file mode 100644 +index 00000000000..646ad3f0ded +--- /dev/null ++++ b/drivers/amlogic/storagekey/storagekey.c +@@ -0,0 +1,587 @@ ++/* ++ * drivers/storagekey/storagekey.c ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++/* extern from bl31 */ ++/* ++ * when RET_OK ++ * query: retval=1: key exsit,=0: key not exsit; ++ * tell: retvak = key size ++ * status: retval=1: secure, retval=0: non-secure ++ ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#ifdef CONFIG_STORE_COMPATIBLE ++#include ++#endif ++#include "normal_key.h" ++ ++/* key buffer status */ ++/* bit0, dirty flag*/ ++#define KEYBUFFER_CLEAN (0 << 0) ++#define KEYBUFFER_DIRTY (1 << 0) ++#define SECUESTORAGE_HEAD_SIZE (256) ++#define SECUESTORAGE_WHOLE_SIZE (0x40000) ++ ++struct storagekey_info_t { ++ uint8_t * buffer; ++ uint32_t size; ++ uint32_t status; ++}; ++ ++static struct storagekey_info_t storagekey_info = { ++ .buffer = NULL, ++ /* default size */ ++ .size = SECUESTORAGE_WHOLE_SIZE, ++ .status = KEYBUFFER_CLEAN, ++}; ++ ++/** ++ *1.init ++ * return ok 0, fail 1 ++ */ ++static int32_t _amlkey_init(uint8_t *seed, uint32_t len, int encrypt_type) ++{ ++ int32_t ret = 0; ++ uint32_t buffer_size, actual_size; ++ ++ /* do nothing for now*/ ++ printf("%s() enter!\n", __func__); ++ if (storagekey_info.buffer != NULL) { ++ printf("%s() %d: already init!\n", __func__, __LINE__); ++ goto _out; ++ } ++ ++ /* get buffer from bl31 */ ++ storagekey_info.buffer = secure_storage_getbuffer(&buffer_size); ++ if (storagekey_info.buffer == NULL) { ++ printf("%s() %d: can't get buffer from bl31!\n", ++ __func__, __LINE__); ++ ret = -1; ++ goto _out; ++ } ++ ++ if (encrypt_type == -1) ++ encrypt_type = 0; ++ secure_storage_set_enctype(encrypt_type); ++ actual_size = store_rsv_size("key"); ++ printf("%s %d actual_size: 0x%x\n", __func__, __LINE__, ++ actual_size); ++ ++ storagekey_info.size = min_t(uint32_t, actual_size, buffer_size); ++ ret = store_rsv_read("key", storagekey_info.size, storagekey_info.buffer); ++ /* When the key is invalid at the first burn, it should be initialized again. */ ++ if (ret == RSV_UNVAIL) ++ ret = 0; ++ if (ret) { ++ printf("amlkey init rsv read key faill\n"); ++ /* memset head info for bl31 */ ++ memset(storagekey_info.buffer, 0, SECUESTORAGE_HEAD_SIZE); ++ ret = 0; ++ goto _out; ++ } ++ ++ secure_storage_notifier_ex(storagekey_info.size, 0); ++ ++ storagekey_info.buffer = secure_storage_getbuffer(&buffer_size); ++ if (buffer_size != storagekey_info.size) { ++ ret = -1; ++ goto _out; ++ } ++ ++#ifdef CONFIG_STORE_COMPATIBLE ++ info_disprotect &= ~DISPROTECT_KEY; //protect ++#endif ++_out: ++ return ret; ++} ++ ++/** ++ *2. query if the key already programmed ++ * return: exsit 1, non 0 ++ */ ++static int32_t _amlkey_isexsit(const uint8_t * name) ++{ ++ int32_t ret = 0; ++ uint32_t retval; ++ ++ if ( NULL == name ) { ++ printf("%s() %d, invalid key ", __func__, __LINE__); ++ return 0; ++ } ++ ++ ret = secure_storage_query((uint8_t *)name, &retval); ++ if (ret) { ++ printf("%s() %d: ret %d\n", __func__, __LINE__, ret); ++ retval = 0; ++ } ++ ++ return (int32_t)retval; ++} ++ ++static uint32_t _amlkey_get_attr(const uint8_t * name) ++{ ++ int32_t ret = 0; ++ uint32_t retval; ++ ++ if ( NULL == name ) { ++ printf("%s() %d, invalid key ", __func__, __LINE__); ++ return 0; ++ } ++ ++ ret = secure_storage_status((uint8_t *)name, &retval); ++ if (ret) { ++ printf("%s() %d: ret %d\n", __func__, __LINE__, ret); ++ retval = 0; ++ } ++ ++ return retval; ++} ++ ++/** ++ * 3.1 query if the prgrammed key is secure. key must exsit! ++ * return secure 1, non 0; ++ */ ++int32_t amlkey_issecure(const uint8_t * name) ++{ ++ return (amlkey_get_attr(name)&UNIFYKEY_ATTR_SECURE_MASK); ++} ++ ++/** ++ * 3.2 query if the prgrammed key is encrypt ++ * return encrypt 1, non-encrypt 0; ++ */ ++int32_t amlkey_isencrypt(const uint8_t * name) ++{ ++ return (amlkey_get_attr(name)&UNIFYKEY_ATTR_ENCRYPT_MASK); ++} ++/** ++ * 4. actual bytes of key value ++ * return actual size. ++ */ ++static ssize_t _amlkey_size(const uint8_t *name) ++{ ++ ssize_t size = 0; ++ int32_t ret = 0; ++ uint32_t retval; ++ ++ if ( NULL == name ) { ++ printf("%s() %d, invalid key ", __func__, __LINE__); ++ return 0; ++ } ++ ++ ret = secure_storage_tell((uint8_t *)name, &retval); ++ if (ret) { ++ printf("%s() %d: ret %d\n", __func__, __LINE__, ret); ++ retval = 0; ++ } ++ size = (ssize_t)retval; ++ return size; ++} ++ ++/** ++ *5. read non-secure key in bytes, return bytes readback actully. ++ * return actual size read back. ++ */ ++static ssize_t _amlkey_read(const uint8_t *name, uint8_t *buffer, uint32_t len) ++{ ++ int32_t ret = 0; ++ ssize_t retval = 0; ++ uint32_t actul_len; ++ ++ if ( NULL == name ) { ++ printf("%s() %d, invalid key ", __func__, __LINE__); ++ return 0; ++ } ++ ret = secure_storage_read((uint8_t *)name, buffer, len, &actul_len); ++ if (ret) { ++ printf("%s() %d: return %d\n", __func__, __LINE__, ret); ++ retval = 0; ++ goto _out; ++ } ++ retval = actul_len; ++_out: ++ return retval; ++} ++ ++/** ++ * 6.write secure/non-secure key in bytes , return bytes readback actully ++ * attr: bit0, secure/non-secure; ++ * bit8, encrypt/non-encrypt; ++ * return actual size write down. ++ */ ++static ssize_t _amlkey_write(const uint8_t *name, uint8_t *buffer, uint32_t len, uint32_t attr) ++{ ++ int32_t ret = 0; ++ ssize_t retval = 0; ++ uint32_t actual_size; ++ ++ if ( NULL == name ) { ++ printf("%s() %d, invalid key ", __func__, __LINE__); ++ return retval; ++ } ++ ret = secure_storage_write((uint8_t *)name, buffer, len, attr); ++ if (ret) { ++ printf("%s() %d: return %d\n", __func__, __LINE__, ret); ++ retval = 0; ++ goto _out; ++ } else { ++ retval = (ssize_t)len; ++ /* write down! */ ++ if (storagekey_info.buffer != NULL) { ++ ret = store_rsv_write("key", storagekey_info.size, storagekey_info.buffer); ++ if (ret) { ++ printf("%s() %d, store_key_write fail\n", ++ __func__, __LINE__); ++ retval = 0; ++ } ++ actual_size = storagekey_info.size; ++ } ++ } ++_out: ++ return retval; ++} ++/** ++ * 7. get the hash value of programmed secure key | 32bytes length, sha256 ++ * return success 0, fail -1 ++ */ ++static int32_t _amlkey_hash_4_secure(const uint8_t * name, uint8_t * hash) ++{ ++ int32_t ret = 0; ++ ++ ret = secure_storage_verify((uint8_t *)name, hash); ++ ++ return ret; ++} ++ ++/** ++ * 7. del key by name ++ * return success 0, fail -1 ++ */ ++static int32_t _amlkey_del(const uint8_t * name) ++{ ++ int32_t ret = 0; ++ uint32_t actual_size; ++ ++ ret = secure_storage_remove((uint8_t *)name); ++ if ((ret == 0) && (storagekey_info.buffer != NULL)) { ++ /* flush back */ ++ ret = store_rsv_write("key", storagekey_info.size, storagekey_info.buffer); ++ if (ret) { ++ printf("%s() %d, store_key_write fail\n", ++ __func__, __LINE__); ++ } ++ } else { ++ printf("%s() %d, remove key fail\n", ++ __func__, __LINE__); ++ } ++ ++ return ret; ++} ++ ++ ++ ++#define DEFINE_MUTEX(...) ++#define mutex_lock(...) ++#define mutex_unlock(...) ++#define PAGE_ALIGNED(a) (((a)&0xFFF)==0) ++#undef pr_info ++#define pr_info(fmt ...) printf("[KM]Msg:"fmt) ++#undef pr_err ++#define pr_err(fmt ...) printf("[KM]Error:f[%s]L%d:", __func__, __LINE__),printf(fmt) ++ ++#define DEF_NORMAL_BLOCK_SIZE (256 * 1024) ++//static DEFINE_MUTEX(normalkey_lock); ++static uint32_t normal_blksz = DEF_NORMAL_BLOCK_SIZE; ++static uint32_t normal_flashsize = DEF_NORMAL_BLOCK_SIZE; ++static uint8_t *normal_block; ++ ++static int _store_key_read(uint8_t * buffer, uint32_t length, uint32_t *actual_lenth) ++{ ++ int ret; ++ uint32_t actual_size; ++ actual_size = store_rsv_size("key"); ++ if (actual_size <= 1024) ++ return -1; ++ ++ length = min_t(uint32_t, actual_size, length); ++ ret = store_rsv_read("key", length, buffer); ++ /* When the key is invalid at the first burn, it should be initialized again. */ ++ if (ret && ret != RSV_UNVAIL) { ++ printf("amlkey init rsv read key faill\n"); ++ return -1; ++ } ++ if (actual_lenth) ++ *actual_lenth = length; ++ return 0; ++} ++static int _store_key_write(uint8_t * buffer, uint32_t length, uint32_t *actual_lenth) ++{ ++ int32_t ret; ++ ret = store_rsv_write("key", length, buffer); ++ if (ret) ++ return -1; ++ if (actual_lenth) ++ *actual_lenth = length; ++ return 0; ++} ++ ++static int32_t _amlkey_init_normal(uint8_t *seed, uint32_t len, int encrypt_type) ++{ ++ static int inited = 0; ++ int ret; ++ ++ if (inited) ++ return 0; ++ inited = 1; ++ ++ if (!normal_block) ++ return -1; ++ ++ if (normalkey_init()) ++ return -1; ++ ++ mutex_lock(&normalkey_lock); ++ ret = _store_key_read(normal_block, ++ normal_blksz, ++ &normal_flashsize); ++ if (ret) { ++ pr_err("read storage fail\n"); ++ goto finish; ++ } ++ ++ ret = normalkey_readfromblock(normal_block, normal_flashsize); ++ if (ret) { ++ pr_err("init block key fail\n"); ++ goto finish; ++ } ++ ++#ifdef CONFIG_STORE_COMPATIBLE ++ info_disprotect &= ~DISPROTECT_KEY; //protect ++#endif ++ ret = 0; ++finish: ++ if (ret) ++ normalkey_deinit(); ++ mutex_unlock(&normalkey_lock); ++ ++ return ret; ++} ++ ++static int32_t _amlkey_exist_normal(const uint8_t *name) ++{ ++ struct storage_object *obj; ++ ++ mutex_lock(&normalkey_lock); ++ obj = normalkey_get(name); ++ mutex_unlock(&normalkey_lock); ++ ++ return !!obj; ++} ++ ++static uint32_t _amlkey_get_attr_normal(const uint8_t *name) ++{ ++ uint32_t attr = 0; ++ struct storage_object *obj; ++ ++ mutex_lock(&normalkey_lock); ++ obj = normalkey_get(name); ++ if (obj) ++ attr = obj->attribute; ++ mutex_unlock(&normalkey_lock); ++ ++ return attr; ++} ++ ++static ssize_t _amlkey_size_normal(const uint8_t *name) ++{ ++ unsigned int size = 0; ++ struct storage_object *obj; ++ ++ mutex_lock(&normalkey_lock); ++ obj = normalkey_get(name); ++ if (obj) ++ size = obj->datasize; ++ mutex_unlock(&normalkey_lock); ++ ++ return size; ++} ++ ++static ssize_t _amlkey_read_normal(const uint8_t *name, uint8_t *buffer, uint32_t len) ++{ ++ unsigned int size = 0; ++ struct storage_object *obj; ++ ++ mutex_lock(&normalkey_lock); ++ obj = normalkey_get(name); ++ if (obj && len >= obj->datasize) { ++ size = obj->datasize; ++ memcpy(buffer, obj->dataptr, size); ++ } ++ mutex_unlock(&normalkey_lock); ++ ++ return size; ++} ++ ++static ssize_t _amlkey_write_normal(const uint8_t *name, uint8_t *buffer, ++ uint32_t len, uint32_t attr) ++{ ++ int ret; ++ uint32_t wrtsz = 0; ++ ++ if (attr & OBJ_ATTR_SECURE) { ++ pr_err("can't write secure key\n"); ++ return 0; ++ } ++ ++ mutex_lock(&normalkey_lock); ++ ret = normalkey_add(name, buffer, len, attr); ++ if (ret) { ++ pr_err("write key fail\n"); ++ ret = 0; ++ goto unlock; ++ } ++ ++ ret = normalkey_writetoblock(normal_block, normal_flashsize); ++ if (ret) { ++ pr_err("write block fail\n"); ++ ret = 0; ++ goto unlock; ++ } ++ ++ ret = _store_key_write(normal_block, ++ normal_flashsize, ++ &wrtsz); ++ if (ret) { ++ pr_err("write storage fail\n"); ++ ret = 0; ++ goto unlock; ++ } ++ ret = len; ++unlock: ++ mutex_unlock(&normalkey_lock); ++ return ret; ++} ++ ++static int32_t _amlkey_hash_normal(const uint8_t *name, uint8_t *hash) ++{ ++ int ret = -1; ++ struct storage_object *obj; ++ ++ mutex_lock(&normalkey_lock); ++ obj = normalkey_get(name); ++ if (obj) { ++ ret = 0; ++ memcpy(hash, obj->hashptr, 32); ++ } ++ mutex_unlock(&normalkey_lock); ++ ++ return ret; ++} ++ ++int normal_key_init(const void* dt_addr) ++{ ++ uint32_t blksz = 0; ++ int nodeoffset; ++ char *pblksz; ++ ++ if (!dt_addr || fdt_check_header(dt_addr)!= 0) { ++ goto blkalloc; ++ } ++ ++ nodeoffset = fdt_path_offset(dt_addr, "/unifykey"); ++ if (nodeoffset < 0) { ++ goto blkalloc; ++ } ++ ++ pblksz = (char*)fdt_getprop((const void *)dt_addr, nodeoffset, "blocksize",NULL); ++ if (pblksz) { ++ blksz = be32_to_cpup((unsigned int*)pblksz); ++ } ++ ++ if (blksz && PAGE_ALIGNED(blksz)) { ++ normal_blksz = blksz; ++ pr_info("block size from config: %x\n", blksz); ++ } ++ ++blkalloc: ++ normal_block = malloc(normal_blksz); ++ if (!normal_block) { ++ pr_err("malloc block buffer fail: %x\n", normal_blksz); ++ return -1; ++ } ++ ++ return 0; ++} ++ ++enum amlkey_if_type { ++ IFTYPE_SECURE_STORAGE, ++ IFTYPE_NORMAL_STORAGE, ++ IFTYPE_MAX ++}; ++ ++struct amlkey_if amlkey_ifs[] = { ++ [IFTYPE_SECURE_STORAGE] = { ++ .init = _amlkey_init, ++ .exsit = _amlkey_isexsit, ++ .get_attr = _amlkey_get_attr, ++ .size = _amlkey_size, ++ .read = _amlkey_read, ++ .write = _amlkey_write, ++ .hash = _amlkey_hash_4_secure, ++ }, ++ [IFTYPE_NORMAL_STORAGE] = { ++ .init = _amlkey_init_normal, ++ .exsit = _amlkey_exist_normal, ++ .get_attr = _amlkey_get_attr_normal, ++ .size = _amlkey_size_normal, ++ .read = _amlkey_read_normal, ++ .write = _amlkey_write_normal, ++ .hash = _amlkey_hash_normal, ++ } ++}; ++ ++struct amlkey_if *amlkey_if = &amlkey_ifs[IFTYPE_SECURE_STORAGE]; ++int amlkey_if_init(const void* dt_addr) ++{ ++ static int inited = 0; ++ uint32_t buffer_size; ++ int ret = 0; ++ ++ if (inited) ++ return 0; ++ inited = 1; ++ ++ if (secure_storage_getbuffer(&buffer_size)) { ++ amlkey_if = &amlkey_ifs[IFTYPE_SECURE_STORAGE]; ++ return ret; ++ } ++ ++ pr_info("normal key used!\n"); ++ ret = normal_key_init(dt_addr); ++ amlkey_if = &amlkey_ifs[IFTYPE_NORMAL_STORAGE]; ++ ++ return ret; ++} +diff --git a/drivers/efuse/Kconfig b/drivers/efuse/Kconfig +new file mode 100644 +index 00000000000..3ee40478a11 +--- /dev/null ++++ b/drivers/efuse/Kconfig +@@ -0,0 +1,4 @@ ++config EFUSE ++ bool "AML EFUSE Support" ++ help ++ Enable support for the Amlogic EFUSE controller. +diff --git a/drivers/efuse/Makefile b/drivers/efuse/Makefile +new file mode 100644 +index 00000000000..62ab0325baf +--- /dev/null ++++ b/drivers/efuse/Makefile +@@ -0,0 +1,9 @@ ++# SPDX-License-Identifier: GPL-2.0+ ++ ++obj-$(CONFIG_EFUSE) += aml_efuse.o ++ ++obj-$(CONFIG_EFUSE) += efuse.o ++ ++obj-$(CONFIG_EFUSE) += efuse_usr_space_api.o ++ ++obj-$(CONFIG_EFUSE) += bl31_apis.o +diff --git a/drivers/efuse/aml_efuse.c b/drivers/efuse/aml_efuse.c +new file mode 100644 +index 00000000000..a553a201f71 +--- /dev/null ++++ b/drivers/efuse/aml_efuse.c +@@ -0,0 +1,123 @@ ++/* ++ * Copyright (C) 2014-2018 Amlogic, Inc. All rights reserved. ++ * ++ * All information contained herein is Amlogic confidential. ++ * ++ * This software is provided to you pursuant to Software License Agreement ++ * (SLA) with Amlogic Inc ("Amlogic"). This software may be used ++ * only in accordance with the terms of this agreement. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification is strictly prohibited without prior written permission from ++ * Amlogic. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++/* ++ * ++ * Copyright (C) 2018 Amlogic, Inc. All rights reserved. ++*/ ++ ++#include ++#include ++#include ++#include ++ ++//weak function for EFUSE license query ++//all following functions are defined with "weak" for customization of each SoC ++//EFUSE_LICX --> AO_SEC_SD_CFG10/9 --> EFUSE mirror ++int __attribute__((weak)) IS_FEAT_BOOT_VERIFY(void) ++{ ++ #ifndef ADDR_IS_FEAT_BOOT_VERIFY ++ #ifdef EFUSE_LIC0 ++ #define ADDR_IS_FEAT_BOOT_VERIFY (EFUSE_LIC0) ++ #define OSET_IS_FEAT_BOOT_VERIFY (0) ++ #elif defined(OTP_LIC0) ++ #define ADDR_IS_FEAT_BOOT_VERIFY (OTP_LIC0) ++ #define OSET_IS_FEAT_BOOT_VERIFY (0) ++ #else ++ #define ADDR_IS_FEAT_BOOT_VERIFY (AO_SEC_SD_CFG10) ++ #define OSET_IS_FEAT_BOOT_VERIFY (4) ++ #endif ++ #endif ++ ++ return ((readl(ADDR_IS_FEAT_BOOT_VERIFY) >> OSET_IS_FEAT_BOOT_VERIFY) & 1); ++ ++ #undef ADDR_IS_FEAT_BOOT_VERIFY ++ #undef OSET_IS_FEAT_BOOT_VERIFY ++} ++int __attribute__((weak)) IS_FEAT_BOOT_ENCRYPT(void) ++{ ++ #ifndef ADDR_IS_FEAT_BOOT_ENCRYPT ++ #ifdef EFUSE_LIC0 ++ #define ADDR_IS_FEAT_BOOT_ENCRYPT (EFUSE_LIC0) ++ #define OSET_IS_FEAT_BOOT_ENCRYPT (1) ++ #elif defined(OTP_LIC0) ++ #define ADDR_IS_FEAT_BOOT_ENCRYPT (OTP_LIC0) ++ #define OSET_IS_FEAT_BOOT_ENCRYPT (1) ++ #else ++ #define ADDR_IS_FEAT_BOOT_ENCRYPT (AO_SEC_SD_CFG10) ++ #define OSET_IS_FEAT_BOOT_ENCRYPT (28) ++ #endif ++ #endif ++ ++ return ((readl(ADDR_IS_FEAT_BOOT_ENCRYPT) >> OSET_IS_FEAT_BOOT_ENCRYPT) & 1); ++ ++ #undef ADDR_IS_FEAT_BOOT_ENCRYPT ++ #undef OSET_IS_FEAT_BOOT_ENCRYPT ++} ++ ++int __attribute__((weak)) IS_FEAT_DIS_EMMC_USER(void) ++{ ++ return 0; ++} ++ ++int __attribute__((weak)) IS_FEAT_DIS_EMMC_BOOT_0(void) ++{ ++ return 0; ++} ++ ++int __attribute__((weak)) IS_FEAT_DIS_EMMC_BOOT_1(void) ++{ ++ return 0; ++} ++ ++int __attribute__((weak)) IS_FEAT_EN_4BL2_SNOR(void) ++{ ++ return 0; ++} ++ ++int __attribute__((weak)) IS_FEAT_DIS_NBL2_SNOR(void) ++{ ++ return 0; ++} ++ ++int __attribute__((weak)) IS_FEAT_EN_8BL2_SNAND(void) ++{ ++ return 0; ++} ++ ++int __attribute__((weak)) IS_FEAT_DIS_NBL2_SNAND(void) ++{ ++ return 0; ++} ++ ++int __attribute__((weak)) IS_FEAT_DIS_8BL2_NAND(void) ++{ ++ return 0; ++} ++ ++int __attribute__((weak)) IS_FEAT_DIS_NBL2_NAND(void) ++{ ++ return 1; ++} +diff --git a/drivers/efuse/bl31_apis.c b/drivers/efuse/bl31_apis.c +new file mode 100644 +index 00000000000..18f6fc69683 +--- /dev/null ++++ b/drivers/efuse/bl31_apis.c +@@ -0,0 +1,474 @@ ++/* ++ * arch/arm/cpu/armv8/txlx/bl31_apis.c ++ * ++ * Copyright (C) 2014-2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++/* ++ * Trustzone API ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static long sharemem_input_base; ++static long sharemem_output_base; ++ ++long get_sharemem_info(unsigned long function_id) ++{ ++ asm volatile( ++ __asmeq("%0", "x0") ++ "smc #0\n" ++ : "+r" (function_id)); ++ ++ return function_id; ++} ++ ++int32_t set_boot_params(const keymaster_boot_params *boot_params) ++{ ++ const unsigned cmd = SET_BOOT_PARAMS; ++ ++ if (!boot_params) ++ return -1; ++ ++ if (!sharemem_input_base) ++ sharemem_input_base = ++ get_sharemem_info(GET_SHARE_MEM_INPUT_BASE); ++ ++ memcpy((void *)sharemem_input_base, ++ (const void *)boot_params, sizeof(keymaster_boot_params)); ++ ++ asm __volatile__("" : : : "memory"); ++ register uint64_t x0 asm("x0") = cmd; ++ register uint64_t x1 asm("x1") = sizeof(keymaster_boot_params); ++ do { ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x0") ++ __asmeq("%2", "x1") ++ "smc #0\n" ++ : "=r"(x0) ++ : "r"(x0), "r"(x1)); ++ } while (0); ++ ++ return (!x0)? -1: 0; ++} ++ ++#ifdef CONFIG_EFUSE ++int32_t meson_trustzone_efuse(struct efuse_hal_api_arg *arg) ++{ ++ int ret; ++ unsigned cmd, offset, size; ++ unsigned long *retcnt = (unsigned long *)(arg->retcnt_phy); ++ ++ if (!sharemem_input_base) ++ sharemem_input_base = ++ get_sharemem_info(GET_SHARE_MEM_INPUT_BASE); ++ if (!sharemem_output_base) ++ sharemem_output_base = ++ get_sharemem_info(GET_SHARE_MEM_OUTPUT_BASE); ++ ++ if (arg->cmd == EFUSE_HAL_API_READ) ++ cmd = EFUSE_READ; ++ else if (arg->cmd == EFUSE_HAL_API_WRITE) ++ cmd = EFUSE_WRITE; ++ else ++ cmd = EFUSE_WRITE_PATTERN; ++ offset = arg->offset; ++ size = arg->size; ++ ++ if (arg->cmd == EFUSE_HAL_API_WRITE) ++ memcpy((void *)sharemem_input_base, ++ (const void *)arg->buffer_phy, size); ++ asm __volatile__("" : : : "memory"); ++ ++ register uint64_t x0 asm("x0") = cmd; ++ register uint64_t x1 asm("x1") = offset; ++ register uint64_t x2 asm("x2") = size; ++ do { ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x0") ++ __asmeq("%2", "x1") ++ __asmeq("%3", "x2") ++ "smc #0\n" ++ : "=r"(x0) ++ : "r"(x0), "r"(x1), "r"(x2)); ++ } while (0); ++ ret = x0; ++ *retcnt = x0; ++ ++ if ((arg->cmd == EFUSE_HAL_API_READ) && (ret != 0)) ++ memcpy((void *)arg->buffer_phy, ++ (const void *)sharemem_output_base, ret); ++ ++ if (!ret) ++ return -1; ++ else ++ return 0; ++} ++ ++int32_t meson_trustzone_efuse_get_max(struct efuse_hal_api_arg *arg) ++{ ++ int32_t ret; ++ unsigned cmd; ++ ++ if (arg->cmd == EFUSE_HAL_API_USER_MAX) ++ cmd = EFUSE_USER_MAX; ++ ++ asm __volatile__("" : : : "memory"); ++ ++ register uint64_t x0 asm("x0") = cmd; ++ ++ do { ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x0") ++ "smc #0\n" ++ : "=r"(x0) ++ : "r"(x0)); ++ } while (0); ++ ret = x0; ++ ++ if (!ret) ++ return -1; ++ else ++ return ret; ++} ++ ++ssize_t meson_trustzone_efuse_writepattern(const char *buf, size_t count) ++{ ++ struct efuse_hal_api_arg arg; ++ unsigned long retcnt; ++ ++ if (count != EFUSE_BYTES) ++ return 0; /* Past EOF */ ++ ++ arg.cmd = EFUSE_HAL_API_WRITE_PATTERN; ++ arg.offset = 0; ++ arg.size = count; ++ arg.buffer_phy = (unsigned long)buf; ++ arg.retcnt_phy = (unsigned long)&retcnt; ++ int ret; ++ ret = meson_trustzone_efuse(&arg); ++ return ret; ++} ++#endif ++ ++uint64_t meson_trustzone_efuse_check(unsigned char *addr) ++{ ++ uint64_t ret = 0; ++ struct sram_hal_api_arg arg = {}; ++ ++ arg.cmd = SRAM_HAL_API_CHECK_EFUSE; ++ arg.req_len = 0x1000000; ++ arg.res_len = 0; ++ arg.req_phy_addr = (unsigned long)addr; ++ arg.res_phy_addr = (unsigned long)NULL; ++ ++ asm __volatile__("" : : : "memory"); ++ ++ register uint64_t x0 asm("x0") = CALL_TRUSTZONE_HAL_API; ++ register uint64_t x1 asm("x1") = TRUSTZONE_HAL_API_SRAM; ++ register uint64_t x2 asm("x2") = (unsigned long)(&arg); ++ do { ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x0") ++ __asmeq("%2", "x1") ++ __asmeq("%3", "x2") ++ "smc #0\n" ++ : "=r"(x0) ++ : "r"(x0), "r"(x1), "r"(x2)); ++ } while (0); ++ ++ ret = x0; ++ ++ return ret; ++} ++ ++void debug_efuse_cmd(unsigned long cmd) ++{ ++ asm volatile( ++ __asmeq("%0", "x0") ++ "smc #0\n" ++ : : "r" (cmd)); ++} ++ ++void bl31_debug_efuse_write_pattern(const char *buf) ++{ ++ if (!sharemem_input_base) ++ sharemem_input_base = ++ get_sharemem_info(GET_SHARE_MEM_INPUT_BASE); ++ memcpy((void *)sharemem_input_base, (const void *)buf, 512); ++ ++ debug_efuse_cmd(DEBUG_EFUSE_WRITE_PATTERN); ++} ++ ++void bl31_debug_efuse_read_pattern(char *buf) ++{ ++ if (!sharemem_output_base) ++ sharemem_output_base = ++ get_sharemem_info(GET_SHARE_MEM_OUTPUT_BASE); ++ debug_efuse_cmd(DEBUG_EFUSE_READ_PATTERN); ++ ++ memcpy((void *)buf, (const void *)sharemem_output_base, 512); ++} ++ ++void aml_set_jtag_state(unsigned state, unsigned select) ++{ ++ uint64_t command; ++ if (state == JTAG_STATE_ON) ++ command = JTAG_ON; ++ else ++ command = JTAG_OFF; ++ asm __volatile__("" : : : "memory"); ++ ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x1") ++ "smc #0\n" ++ : : "r" (command), "r"(select)); ++} ++ ++unsigned aml_get_reboot_reason(void) ++{ ++ unsigned reason; ++ uint64_t ret; ++ ++ register uint64_t x0 asm("x0") = GET_REBOOT_REASON; ++ asm volatile( ++ __asmeq("%0", "x0") ++ "smc #0\n" ++ :"+r"(x0)); ++ ret = x0; ++ reason = (unsigned)(ret&0xffffffff); ++ return reason; ++} ++ ++void set_viu_probe_enable(void) ++{ ++ register uint64_t x0 asm("x0") = VIU_PREOBE_EN; ++ ++ asm volatile( ++ __asmeq("%0", "x0") ++ "smc #0\n" ++ :"+r"(x0)); ++} ++unsigned aml_reboot(uint64_t function_id, uint64_t arg0, uint64_t arg1, uint64_t arg2) ++{ ++ register long x0 asm("x0") = function_id; ++ register long x1 asm("x1") = arg0; ++ register long x2 asm("x2") = arg1; ++ register long x3 asm("x3") = arg2; ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x1") ++ __asmeq("%2", "x2") ++ __asmeq("%3", "x3") ++ "smc #0\n" ++ : "+r" (x0) ++ : "r" (x1), "r" (x2), "r" (x3)); ++ ++ return function_id; ++} ++ ++void aml_set_reboot_reason(uint64_t function_id, uint64_t arg0, uint64_t arg1, uint64_t arg2) ++{ ++ register long x0 asm("x0") = function_id; ++ register long x1 asm("x1") = arg0; ++ register long x2 asm("x2") = arg1; ++ register long x3 asm("x3") = arg2; ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x1") ++ __asmeq("%2", "x2") ++ __asmeq("%3", "x3") ++ "smc #0\n" ++ : "+r" (x0) ++ : "r" (x1), "r" (x2), "r" (x3)); ++ ++ return ; ++} ++ ++unsigned long aml_sec_boot_check(unsigned long nType, ++ unsigned long pBuffer, ++ unsigned long nLength, ++ unsigned long nOption) ++{ ++ uint64_t ret = 1; ++ ++//#define AML_SECURE_LOG_TE ++ ++#if defined(AML_SECURE_LOG_TE) ++ #define AML_GET_TE(a) do{a = *((volatile unsigned int*)0xc1109988);}while(0); ++ unsigned nT1,nT2,nT3; ++#else ++ #define AML_GET_TE(...) ++#endif ++ ++ AML_GET_TE(nT1); ++ ++ asm __volatile__("" : : : "memory"); ++ ++ register uint64_t x0 asm("x0") = AML_DATA_PROCESS; ++ register uint64_t x1 asm("x1") = nType; ++ register uint64_t x2 asm("x2") = pBuffer; ++ register uint64_t x3 asm("x3") = nLength; ++ register uint64_t x4 asm("x4") = nOption; ++ ++ do { ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x0") ++ __asmeq("%2", "x1") ++ __asmeq("%3", "x2") ++ __asmeq("%4", "x3") ++ __asmeq("%5", "x4") ++ "smc #0\n" ++ : "=r"(x0) ++ : "r"(x0), "r"(x1), "r"(x2),"r"(x3),"r"(x4)); ++ } while (0); ++ ++ ret = x0; ++ ++ AML_GET_TE(nT2);; ++ ++ flush_dcache_range((unsigned long )pBuffer, (unsigned long )pBuffer+nLength); ++ ++ AML_GET_TE(nT3); ++ ++#if defined(AML_SECURE_LOG_TE) ++ printf("aml log : dec use %d(us) , flush cache used %d(us)\n", ++ nT2 - nT1, nT3 - nT2); ++#endif ++ ++ return ret; ++} ++ ++void set_usb_boot_function(unsigned long command) ++{ ++ register long x0 asm("x0") = SET_USB_BOOT_FUNC; ++ register long x1 asm("x1") = command; ++ ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x1") ++ "smc #0\n" ++ : "+r" (x0) ++ : "r" (x1)); ++} ++ ++void aml_system_off(void) ++{ ++ /* TODO: Add poweroff capability */ ++ aml_reboot(0x82000042, 1, 0, 0); ++ aml_reboot(0x84000008, 0, 0, 0); ++} ++ ++int __get_chip_id(unsigned char *buff, unsigned int size) ++{ ++ if (buff == NULL || size < 16) ++ return -1; ++ ++ if (!sharemem_output_base) ++ sharemem_output_base = ++ get_sharemem_info(GET_SHARE_MEM_OUTPUT_BASE); ++ ++ if (sharemem_output_base) { ++ register long x0 asm("x0") = GET_CHIP_ID; ++ register long x1 asm("x1") = 2; ++ ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x1") ++ "smc #0\n" ++ : "+r" (x0) ++ : "r" (x1)); ++ ++ if (x0 == 0) { ++ int version = *((unsigned int *)sharemem_output_base); ++ ++ if (version == 2) { ++ memcpy(buff, (void *)sharemem_output_base + 4, 16); ++ } ++ else { ++ /** ++ * Legacy 12-byte chip ID read out, transform data ++ * to expected order format. ++ */ ++ uint32_t chip_info = readl(P_AO_SEC_SD_CFG8); ++ uint8_t *ch; ++ int i; ++ ++ ((uint32_t *)buff)[0] = ++ ((chip_info & 0xff000000) | // Family ID ++ ((chip_info << 8) & 0xff0000) | // Chip Revision ++ ((chip_info >> 8) & 0xff00)); // Package ID ++ ++ ((uint32_t *)buff)[0] = htonl(((uint32_t *)buff)[0]); ++ ++ /* Transform into expected order for display */ ++ ch = (uint8_t *)(sharemem_output_base + 4); ++ for (i = 0; i < 12; i++) ++ buff[i + 4] = ch[11 - i]; ++ } ++ ++ return 0; ++ } ++ } ++ ++ return -1; ++} ++ ++int32_t get_avbkey_from_fip(uint8_t *buf, uint32_t buflen) ++{ ++ const unsigned cmd = GET_AVBKEY_FROM_FIP; ++ uint32_t retlen = 0; ++ uint32_t ret = 0; ++ ++ if (!buf) ++ return -1; ++ ++ if (!sharemem_output_base) ++ sharemem_output_base = ++ get_sharemem_info(GET_SHARE_MEM_OUTPUT_BASE); ++ ++ asm __volatile__("" : : : "memory"); ++ register uint64_t x0 asm("x0") = cmd; ++ do { ++ asm volatile( ++ __asmeq("%0", "x0") ++ __asmeq("%1", "x0") ++ "smc #0\n" ++ : "=r"(x0) ++ : "r"(x0)); ++ } while (0); ++ ++ if (!x0) ++ ret = -1; ++ retlen = x0; ++ ++ if (ret != -1 && buflen >= retlen) ++ memcpy(buf, (const void *)sharemem_output_base, retlen); ++ ++ return ret; ++} +diff --git a/drivers/efuse/efuse.c b/drivers/efuse/efuse.c +new file mode 100644 +index 00000000000..5560bcd384c +--- /dev/null ++++ b/drivers/efuse/efuse.c +@@ -0,0 +1,141 @@ ++/* ++ * drivers/efuse/efuse.c ++ * ++ * Copyright (C) 2018 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++char efuse_buf[EFUSE_BYTES] = {0}; ++ ++ssize_t efuse_read(char *buf, size_t count, loff_t *ppos) ++{ ++ unsigned int pos = *ppos; ++ ++ struct efuse_hal_api_arg arg; ++ unsigned int retcnt; ++ int ret; ++ ++ arg.cmd = EFUSE_HAL_API_READ; ++ arg.offset = pos; ++ arg.size = count; ++ arg.buffer_phy = (unsigned long)buf; ++ arg.retcnt_phy = (unsigned long)&retcnt; ++ ret = meson_trustzone_efuse(&arg); ++ if (ret == 0) { ++ *ppos += retcnt; ++ return retcnt; ++ } else{ ++ return ret; ++ } ++} ++ ++ssize_t efuse_write(const char *buf, size_t count, loff_t *ppos) ++{ ++ unsigned int pos = *ppos; ++ ++ if ((pos & 0xffff) >= EFUSE_BYTES) ++ return 0; /* Past EOF */ ++ if (count > EFUSE_BYTES - pos) ++ count = EFUSE_BYTES - pos; ++ if (count > EFUSE_BYTES) ++ return -1; ++ ++ struct efuse_hal_api_arg arg; ++ unsigned int retcnt; ++ ++ arg.cmd = EFUSE_HAL_API_WRITE; ++ arg.offset = pos; ++ arg.size = count; ++ arg.buffer_phy = (unsigned long)buf; ++ arg.retcnt_phy = (unsigned long)&retcnt; ++ int ret; ++ ++ ret = meson_trustzone_efuse(&arg); ++ if (ret == 0) { ++ *ppos = retcnt; ++ return retcnt; ++ } else{ ++ return ret; ++ } ++} ++ ++int efuse_read_usr(char *buf, size_t count, loff_t *ppos) ++{ ++ char data[EFUSE_BYTES]; ++ char *pdata = NULL; ++ int ret; ++ loff_t pos; ++ ++ memset(data, 0, count); ++ ++ pdata = data; ++ pos = *ppos; ++ ret = efuse_read(pdata, count, (loff_t *)&pos); ++ ++ memcpy(buf, data, count); ++ ++ return ret; ++} ++ ++int efuse_write_usr(char *buf, size_t count, loff_t *ppos) ++{ ++ char data[EFUSE_BYTES]; ++ char *pdata = NULL; ++ char *penc = NULL; ++ int ret; ++ loff_t pos; ++ ++ if (count == 0) { ++ printf("data length: 0 is error!\n"); ++ return -1; ++ } ++ ++ memset(data, 0, EFUSE_BYTES); ++ memset(efuse_buf, 0, EFUSE_BYTES); ++ ++ memcpy(data, buf, count); ++ pdata = data; ++ penc = efuse_buf; ++ ++ memcpy(penc, pdata, count); ++ pos = *ppos; ++ ++ ret = efuse_write(efuse_buf, count, (loff_t *)&pos); ++ ++ return ret; ++} ++ ++uint32_t efuse_get_max(void) ++{ ++ struct efuse_hal_api_arg arg; ++ int ret; ++ ++ arg.cmd = EFUSE_HAL_API_USER_MAX; ++ ++ ret = meson_trustzone_efuse_get_max(&arg); ++ if (ret == 0) { ++ printf("ERROR: can not get efuse user max bytes!!!\n"); ++ return -1; ++ } else{ ++ return ret; ++ } ++} +diff --git a/drivers/efuse/efuse_usr_space_api.c b/drivers/efuse/efuse_usr_space_api.c +new file mode 100644 +index 00000000000..241b6d0be49 +--- /dev/null ++++ b/drivers/efuse/efuse_usr_space_api.c +@@ -0,0 +1,379 @@ ++/* ++ * \file efuse_usr_space_api.c ++ * \brief support read/write user space using keyname mode ++ * mapping keyname to offset by looking /efusekey in dtb ++ * ++ * \version 1.0.0 ++ * \date 15/07/14 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2015 Amlogic. All Rights Reserved. ++ * ++ */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define EFUSE_DBG(fmt...) //printf("[EFUSE_DBG]"fmt) ++#define EFUSE_MSG(fmt...) printf("[EFUSE_MSG]"fmt) ++#define EFUSE_ERR(fmt...) printf("[EFUSE_ERR]f(%s)L%d:", __func__, __LINE__),printf(fmt) ++ ++struct efusekey_info{ ++ char keyname[32]; ++ unsigned offset; ++ unsigned size; ++}; ++ ++static struct _efuseCfgInf{ ++ unsigned initMaigc;//magic to indicate whether inited ++ unsigned totalCfgKeyNums; ++ struct efusekey_info * pKeyInf; ++} ++_efuseKeyInfos = {.totalCfgKeyNums = 0, .pKeyInf = NULL}; ++ ++int efuse_usr_api_init_dtb(const char* dt_addr) ++{ ++ int nodeoffset, poffset = 0; ++ char propname[32]; ++ const void* phandle; ++ int ret; ++ int index; ++ uint32_t max_size; ++ unsigned efusekeynum = 0; ++ struct efusekey_info * efusekey_infos = NULL; ++ ++ ret = fdt_check_header(dt_addr); ++ if (ret < 0) { ++ EFUSE_ERR("fdt check failed [%s]\n", fdt_strerror(ret)); ++ return __LINE__; ++ } ++ _efuseKeyInfos.initMaigc = 0; ++ ++ nodeoffset = fdt_path_offset(dt_addr, "/efusekey"); ++ if (nodeoffset < 0) { ++ EFUSE_ERR("not find /efusekey node [%s].\n", fdt_strerror(nodeoffset)); ++ return __LINE__; ++ } ++ ++ phandle = fdt_getprop(dt_addr, nodeoffset, "keynum", NULL); ++ efusekeynum = be32_to_cpup((u32 *)phandle); ++ EFUSE_MSG("keynum is %x\n", efusekeynum); ++ ++ if (efusekey_infos) free(efusekey_infos) ; ++ efusekey_infos = (struct efusekey_info *)malloc(sizeof (struct efusekey_info) *efusekeynum); ++ if (!efusekey_infos) { ++ EFUSE_ERR("malloc err\n"); ++ return __LINE__; ++ } ++ ++ max_size = efuse_get_max(); ++ ++ for (index = 0; index < efusekeynum; index++) ++ { ++ struct efusekey_info* theKeyInf = efusekey_infos + index; ++ sprintf(propname, "key%d", index); ++ /* printf("%s: propname: %s\n",__func__,propname); */ ++ phandle = fdt_getprop(dt_addr, nodeoffset, propname, NULL); ++ if (!phandle) { ++ EFUSE_ERR("don't find match %s\n", propname); ++ goto err; ++ } ++ poffset = fdt_node_offset_by_phandle(dt_addr, ++ be32_to_cpup((u32 *)phandle)); ++ if (!poffset) { ++ EFUSE_ERR("can't find device node for key[%s]\n", propname); ++ goto err; ++ } ++ ++ ++ phandle = fdt_getprop(dt_addr, poffset, "keyname", NULL); ++ if (!phandle) { ++ EFUSE_ERR("Can't find keyname for key[%d]\n", index); ++ goto err; ++ } ++ strcpy(theKeyInf->keyname, phandle); ++ ++ phandle = fdt_getprop(dt_addr, poffset, "offset", NULL); ++ if (!phandle) { ++ EFUSE_ERR("Can't find offset for key[%s]\n", theKeyInf->keyname); ++ goto err; ++ } ++ theKeyInf->offset = be32_to_cpup((u32 *)phandle); ++ ++ phandle = fdt_getprop(dt_addr, poffset, "size", NULL); ++ if (!phandle) { ++ EFUSE_ERR("Can't find size for key[%s]\n", theKeyInf->keyname); ++ goto err; ++ } ++ theKeyInf->size = be32_to_cpup((u32 *)phandle); ++ ++ EFUSE_DBG("key[%02d] name=%12s, offset=0x%04x, size=0x%04x\n", ++ index, theKeyInf->keyname, theKeyInf->offset, theKeyInf->size); ++ if (theKeyInf->offset + theKeyInf->size > max_size) { ++ EFUSE_ERR("\n offset (0x%x) + size (0x%x) > max [0x%x]!\n", theKeyInf->offset, theKeyInf->size, max_size); ++ return __LINE__; ++ } ++ } ++ ++ _efuseKeyInfos.totalCfgKeyNums = efusekeynum; ++ _efuseKeyInfos.pKeyInf = efusekey_infos; ++ EFUSE_DBG("%s success!\n", __func__); ++ _efuseKeyInfos.initMaigc = 0xee; ++ return 0; ++ ++err: ++ free(efusekey_infos); ++ EFUSE_ERR("%s error!\n", __func__); ++ return -1; ++} ++ ++static int _get_cfg_key_inf_byname(const char* keyname, const struct efusekey_info ** pKeyInf) ++{ ++ int index = 0; ++ struct efusekey_info* theKeyInf = _efuseKeyInfos.pKeyInf; ++ int ret = 0; ++ ++ if (0xee != _efuseKeyInfos.initMaigc) { ++ EFUSE_ERR("Pls init first.\n"); ++ return __LINE__; ++ } ++ for (; index < _efuseKeyInfos.totalCfgKeyNums; ++index, ++theKeyInf) ++ { ++ const char* theKeyname = theKeyInf->keyname; ++ ret = strcmp(theKeyname, keyname); ++ if (ret) continue; ++ ++ *pKeyInf = theKeyInf; ++ return 0; ++ } ++ ++ EFUSE_ERR("efuse keyname(%s) not configured\n", keyname); ++ return __LINE__;//Not found the matched name ++} ++ ++int efuse_usr_api_get_cfg_key_size(const char* keyname, unsigned* pSz) ++{ ++ int ret = 0; ++ const struct efusekey_info* theCfgKeyInf = NULL; ++ ++ ret = _get_cfg_key_inf_byname(keyname, &theCfgKeyInf); ++ if (ret) { ++ EFUSE_ERR("not name cfg in dts.\n"); ++ return __LINE__; ++ } ++ ++ *pSz = theCfgKeyInf->size; ++ return 0; ++} ++ ++int efuse_usr_api_write_key(const char* keyname, const void* keydata, const unsigned dataSz) ++{ ++ int ret = 0; ++ const struct efusekey_info* theCfgKeyInf = NULL; ++ ++ ret = _get_cfg_key_inf_byname(keyname, &theCfgKeyInf); ++ if (ret) { ++ EFUSE_ERR("not name cfg in dts.\n"); ++ return __LINE__; ++ } ++ if (dataSz != theCfgKeyInf->size) { ++ EFUSE_ERR("dataSz 0x%x != cfg size 0x%x\n", dataSz, theCfgKeyInf->size); ++ return __LINE__; ++ } ++ ++ ret = efuse_write_usr((char*)keydata, theCfgKeyInf->size, (loff_t*)&theCfgKeyInf->offset); ++ if (ret < 0) { ++ EFUSE_ERR("error: efuse write fail.\n"); ++ return __LINE__; ++ } ++ ++ return 0; ++} ++ ++//usrefuse read mac $loadaddr (size) ++int efuse_usr_api_read_key(const char* keyname, void* databuf, const unsigned bufSz) ++{ ++ int ret = 0; ++ const struct efusekey_info* theCfgKeyInf = NULL; ++ loff_t offset = 0; ++ ++ ret = _get_cfg_key_inf_byname(keyname, &theCfgKeyInf); ++ if (ret) { ++ EFUSE_ERR("not name cfg in dts.\n"); ++ return __LINE__; ++ } ++ const unsigned cfgCnt = theCfgKeyInf->size; ++ if (cfgCnt > bufSz && bufSz) { ++ EFUSE_ERR("cfg size 0x%x > bufsz 0x%x\n", cfgCnt, bufSz); ++ return __LINE__; ++ } ++ EFUSE_DBG("keyname=%s, databuf=%p, bufSz=%d, cfgCnt=%u\n", keyname, databuf, bufSz, cfgCnt); ++ ++ offset = theCfgKeyInf->offset; ++ memset(databuf, cfgCnt, 0); ++ ret = efuse_read_usr((char*)databuf, cfgCnt, &offset); ++ if (ret == -1) { ++ EFUSE_ERR("ERROR: efuse read user data fail!, size=%u, offset=%llu\n", cfgCnt, offset); ++ return __LINE__; ++ } ++ ++ if (ret != cfgCnt) { ++ EFUSE_ERR("ERROR: read %d byte(s) not wanted %d byte(s) data\n", ret, cfgCnt); ++ return __LINE__; ++ } ++ ++ return 0; ++} ++ ++static int hex_ascii_to_buf(const char* input, uint8_t* buf, const unsigned bufSz) ++{ ++ int ret = 0; ++ const char* tmpStr = input; ++ const unsigned inputLen = strlen(input); ++ int i = 0; ++ ++ if (!inputLen) { ++ EFUSE_ERR("err input len 0\n"); ++ return __LINE__; ++ } ++ if ( ((inputLen>>1)<<1) != inputLen ) { ++ EFUSE_ERR("inputLen %d not even\n", inputLen); ++ return __LINE__; ++ } ++ if (bufSz * 2 > inputLen) { ++ EFUSE_ERR("bufSz %d not enough\n", bufSz); ++ return __LINE__; ++ } ++ for (tmpStr = input; *tmpStr; ++tmpStr) ++ { ++ char c = *tmpStr; ++ ret = isxdigit(c); ++ if (!ret) { ++ EFUSE_ERR("input(%s) contain non xdigit, c=%c\n", input, c); ++ return __LINE__; ++ } ++ } ++ ++ for (i = 0; i < inputLen; i += 2) ++ { ++ char tmpByte[8]; ++ tmpByte[2] = '\0'; ++ tmpByte[0] = input[i]; ++ tmpByte[1] = input[i + 1]; ++ ++ const unsigned val = simple_strtoul(tmpByte, NULL, 16); ++ if (val > 0xff) { ++ EFUSE_ERR("Exception: val 0x%x > 0xff\n", val); ++ return __LINE__; ++ } ++ buf[i>>1] = val; ++ } ++ ++ return 0; ++} ++ ++static int do_usr_efuse_api(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) ++{ ++ int ret = 0; ++ const char* subcmd = argv[1]; ++ if (argc < 2) return CMD_RET_USAGE; ++ ++ if (!strcmp("init", subcmd)) ++ { ++ const char* dtbLoadAddr = NULL; ++ if (argc > 2) ++ { ++ dtbLoadAddr = (char*)simple_strtoul(argv[2], NULL, 0); ++ } ++ else ++ { ++ dtbLoadAddr = env_get("dtb_mem_addr"); ++ if (!dtbLoadAddr) { ++ env_set("dtb_mem_addr", simple_itoa(CFG_SYS_SDRAM_BASE + (16U<<20))); ++ } ++ dtbLoadAddr = (char*)simple_strtoul(dtbLoadAddr, NULL, 0); ++ } ++ ret = efuse_usr_api_init_dtb(dtbLoadAddr); ++ } ++ else if(!strcmp("size", subcmd)) ++ { ++ const char* keyname = argv[2]; ++ unsigned keysize = argc > 3 ? simple_strtoul(argv[3], NULL, 0) : 0; ++ ++ ret = efuse_usr_api_get_cfg_key_size(keyname, &keysize); ++ EFUSE_MSG("keysize=%d\n", keysize); ++ } ++ else if(!strcmp("read", subcmd)) ++ { ++ if (argc < 4) return CMD_RET_USAGE; ++ const char* keyname = argv[2]; ++ char* databuf = (char*)simple_strtoul(argv[3], NULL, 16); ++ unsigned bufSz = argc > 4 ? simple_strtoul(argv[4], NULL, 0) : 0; ++ ++ if (!bufSz) ++ { ++ ret = efuse_usr_api_get_cfg_key_size(keyname, &bufSz); ++ if (ret) { ++ EFUSE_ERR("Fail in get sz for key[%s]\n", keyname); ++ return __LINE__; ++ } ++ } ++ ++ ret = efuse_usr_api_read_key(keyname, databuf, bufSz); ++ if (!ret) ++ { ++ int i = 0; ++ printf("efuse read data"); ++ for (i = 0; i < bufSz; i++) { ++ if (i%8 == 0) printf("\n[0x%02x]:", i); ++ printf("%02x ", databuf[i]); ++ } ++ printf("\n"); ++ } ++ } ++ else if(!strcmp("write", subcmd)) ++ { ++ if (argc < 4) return CMD_RET_USAGE; ++ const char* keyname = argv[2]; ++ char* keydata = (char*)simple_strtoul(argv[3], NULL, 16); ++ unsigned bufSz = argc > 4 ? simple_strtoul(argv[4], NULL, 0) : 0; ++ uint8_t* tmpBuf = NULL; ++ ++ if (!bufSz) ++ { ++ const char* input = argv[3]; ++ bufSz = ( strlen(input) >> 1 ); ++ tmpBuf = malloc(bufSz); ++ ++ ret = hex_ascii_to_buf(input, tmpBuf, bufSz); ++ if (ret) { ++ EFUSE_ERR("Failed in change hex ascii to buf\n"); ++ return __LINE__; ++ } ++ keydata = (char*)tmpBuf; ++ } ++ ret = efuse_usr_api_write_key(keyname, keydata, bufSz); ++ if (tmpBuf) free(tmpBuf) ; ++ } ++ ++ return ret ? CMD_RET_FAILURE : CMD_RET_SUCCESS; ++} ++ ++U_BOOT_CMD( ++ efuse_user, ++ 5, //max argc ++ 1, //repeatable ++ do_usr_efuse_api, ++ "efuse user space read write ops", ++ "init --- init efuse user space\n" ++ "size keyname --- get key size configured in dts\n" ++ "read keyname addr --- read key value to mem addr \n" ++ "write --- write key value\n" ++ " efuse_user write keyname hexstring --- write key value in hex string\n" ++ " efuse_user write keyname addr size --- write key value, U need load you key value into mem addr first\n" ++); ++ +diff --git a/drivers/mmc/aml_emmc_partition.c b/drivers/mmc/aml_emmc_partition.c +new file mode 100644 +index 00000000000..550042adb35 +--- /dev/null ++++ b/drivers/mmc/aml_emmc_partition.c +@@ -0,0 +1,1715 @@ ++/* ++ * Copyright 2016, Amlogic Inc ++ * yonghui.yu ++ * ++ * Based vaguely on the Linux code ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "mmc_private.h" ++#include ++#include ++#include ++#include ++ ++DECLARE_GLOBAL_DATA_PTR; ++/* using mbr*/ ++#define CONFIG_PTBL_MBR (1) ++#if (CONFIG_PTBL_MBR) ++ /* cmpare partition name? */ ++ #define CONFIG_CMP_PARTNAME (0) ++ /* cmpare partition mask */ ++ #define CONFIG_CMP_PARTMASK (0) ++#else ++ #define CONFIG_CMP_PARTNAME (1) ++ #define CONFIG_CMP_PARTMASK (1) ++#endif ++/* debug info*/ ++#define CONFIG_MPT_DEBUG (0) ++#define GPT_PRIORITY (1) ++ ++#define apt_err(fmt, ...) printf( "%s()-%d: " fmt , \ ++ __func__, __LINE__, ##__VA_ARGS__) ++ ++#define apt_wrn(fmt, ...) printf( "%s()-%d: " fmt , \ ++ __func__, __LINE__, ##__VA_ARGS__) ++#if (CONFIG_MPT_DEBUG) ++/* for detail debug info */ ++#define apt_info(fmt, ...) printf( "%s()-%d: " fmt , \ ++ __func__, __LINE__, ##__VA_ARGS__) ++#else ++#define apt_info(fmt, ...) ++#endif ++ ++/* creat MBR for emmc */ ++#define MAX_PNAME_LEN (16) ++#define MAX_PART_COUNT (32) ++ ++/* ++ Global offset of reserved partition is 36MBytes ++ since MMC_BOOT_PARTITION_RESERVED is 32MBytes and ++ MMC_BOOT_DEVICE_SIZE is 4MBytes. ++ MMC_RESERVED_SIZE is 64MBytes for now. ++ layout detail inside reserved partition. ++ 0x000000 - 0x003fff: partition table ++ 0x004000 - 0x03ffff: storage key area (16k offset & 256k size) ++ 0x400000 - 0x47ffff: dtb area (4M offset & 512k size) ++ 0x480000 - 64MBytes: resv for other usage. ++ ... ++ */ ++/* ++#define RSV_DTB_OFFSET_GLB (SZ_1M*40) ++#define RSV_DTB_SIZE (512*1024UL) ++#define RSV_PTBL_OFFSET (SZ_1M*0) ++#define RSV_PTBL_SIZE (16*1024UL) ++#define RSV_SKEY_OFFSET (16*1024UL) ++#define RSV_SKEY_SIZE (256*1024UL) ++#define RSV_DTB_OFFSET (SZ_1M*4) ++*/ ++ ++/* virtual partitions which are in "reserved" */ ++#define MAX_MMC_VIRTUAL_PART_CNT (5) ++ ++ ++/* BinaryLayout of partition table stored in rsv area */ ++struct ptbl_rsv { ++ char magic[4]; /* MPT */ ++ unsigned char version[12]; /* binary version */ ++ int count; /* partition count in using */ ++ int checksum; ++ struct partitions partitions[MAX_MMC_PART_NUM]; ++}; ++ ++/* partition table for innor usage*/ ++struct _iptbl { ++ struct partitions *partitions; ++ int count; /* partition count in use */ ++}; ++ ++unsigned device_boot_flag = 0xff; ++bool is_partition_checked = false; ++ ++#ifndef CONFIG_AML_MMC_INHERENT_PART ++/* fixme, name should be changed as aml_inherent_ptbl */ ++struct partitions emmc_partition_table[] = { ++#ifndef CONFIG_AML_GPT ++ PARTITION_ELEMENT(MMC_BOOT_NAME, MMC_BOOT_DEVICE_SIZE, 0), ++#endif ++ PARTITION_ELEMENT(MMC_RESERVED_NAME, MMC_RESERVED_SIZE, 0), ++ /* prior partitions, same partition name with dts*/ ++ /* partition size will be overide by dts*/ ++ PARTITION_ELEMENT(MMC_CACHE_NAME, 0, 0), ++ PARTITION_ELEMENT(MMC_ENV_NAME, MMC_ENV_SIZE, 0), ++}; ++ ++struct virtual_partition virtual_partition_table[] = { ++ /* partition for name idx, off & size will not be used! */ ++#if (CONFIG_PTBL_MBR) ++ VIRTUAL_PARTITION_ELEMENT(MMC_MBR_NAME, MMC_MBR_OFFSET, MMC_MBR_SIZE), ++#endif ++ VIRTUAL_PARTITION_ELEMENT(MMC_BOOT_NAME0, 0, 0), ++ VIRTUAL_PARTITION_ELEMENT(MMC_BOOT_NAME1, 0, 0), ++ ++ /* virtual partition in reserved partition, take care off and size */ ++#ifdef CONFIG_AML_PARTITION ++ VIRTUAL_PARTITION_ELEMENT(MMC_TABLE_NAME, MMC_TABLE_OFFSET, MMC_TABLE_SIZE), ++#endif ++ VIRTUAL_PARTITION_ELEMENT(MMC_KEY_NAME, EMMCKEY_RESERVE_OFFSET, MMC_KEY_SIZE), ++ VIRTUAL_PARTITION_ELEMENT(MMC_PATTERN_NAME, CALI_PATTERN_OFFSET, CALI_PATTERN_SIZE), ++ VIRTUAL_PARTITION_ELEMENT(MMC_MAGIC_NAME, MAGIC_OFFSET, MAGIC_SIZE), ++ VIRTUAL_PARTITION_ELEMENT(MMC_RANDOM_NAME, RANDOM_OFFSET, RANDOM_SIZE), ++#ifndef DTB_BIND_KERNEL ++ VIRTUAL_PARTITION_ELEMENT(MMC_DTB_NAME, DTB_OFFSET, DTB_SIZE), ++#endif ++ VIRTUAL_PARTITION_ELEMENT(MMC_FASTBOOT_CONTEXT_NAME, ++ FASTBOOT_CONTEXT_OFFSET, FASTBOOT_CONTEXT_SIZE), ++ VIRTUAL_PARTITION_ELEMENT(MMC_DDR_PARAMETER_NAME,DDR_PARAMETER_OFFSET, DDR_PARAMETER_SIZE), ++}; ++ ++int get_emmc_partition_arraysize(void) ++{ ++ return ARRAY_SIZE(emmc_partition_table); ++} ++ ++int get_emmc_virtual_partition_arraysize(void) ++{ ++ return ARRAY_SIZE(virtual_partition_table); ++} ++ ++#endif ++ ++void __attribute__((unused)) _dump_part_tbl(struct partitions *p, int count) ++{ ++ int i = 0; ++ apt_info("count %d\n", count); ++ while (i < count) { ++ printf("%02d %10s %016llx %016llx\n", i, p[i].name, p[i].offset, p[i].size); ++ i++; ++ } ++ return; ++} ++ ++static int _get_part_index_by_name(struct partitions *tbl, ++ int cnt, const char *name) ++{ ++ int i=0; ++ struct partitions *part = NULL; ++ ++ while (i < cnt) { ++ part = &tbl[i]; ++ if (!strcmp(name, part->name)) { ++ apt_info("find %s @ tbl[%d]\n", name, i); ++ break; ++ } ++ i++; ++ }; ++ if (i == cnt) { ++ i = -1; ++ apt_wrn("do not find match in table %s\n", name); ++ } ++ return i; ++} ++ ++ ++ ++static struct partitions *_find_partition_by_name(struct partitions *tbl, ++ int cnt, const char *name) ++{ ++ int i = 0; ++ struct partitions *part = NULL; ++ ++ while (i < cnt) { ++ ++ part = &tbl[i]; ++ if (!strcmp(name, part->name)) { ++ apt_info("find %s @ tbl[%d]\n", name, i); ++ break; ++ } ++ i++; ++ }; ++ if (i == cnt) { ++ part = NULL; ++ apt_wrn("do not find match in table %s\n", name); ++ } ++ return part; ++} ++ ++/* fixme, must called after offset was calculated. */ ++static ulong _get_inherent_offset(const char *name) ++{ ++ struct partitions *part; ++ ++ part = _find_partition_by_name(emmc_partition_table, ++ get_emmc_partition_arraysize(), name); ++ if (NULL == part) ++ return -1; ++ else ++ return part->offset; ++} ++/* partition table (Emmc Partition Table) */ ++struct _iptbl *p_iptbl_ept = NULL; ++ ++/* trans byte into lba manner for rsv area read/write */ ++#ifdef CONFIG_AML_PARTITION ++static ulong _mmc_rsv_read(struct mmc *mmc, ulong offset, ulong size, void * buffer) ++{ ++ lbaint_t _blk, _cnt; ++ if (0 == size) ++ return 0; ++ ++ _blk = offset / mmc->read_bl_len; ++ _cnt = size / mmc->read_bl_len; ++ _cnt = blk_dread(mmc_get_blk_desc(mmc), _blk, _cnt, buffer); ++ ++ return (ulong)(_cnt * mmc->read_bl_len); ++} ++ ++static ulong _mmc_rsv_write(struct mmc *mmc, ulong offset, ulong size, void * buffer) ++{ ++ lbaint_t _blk, _cnt; ++ if (0 == size) ++ return 0; ++ ++ _blk = offset / mmc->read_bl_len; ++ _cnt = size / mmc->read_bl_len; ++ _cnt = blk_dwrite(mmc_get_blk_desc(mmc), _blk, _cnt, buffer); ++ ++ return (ulong)(_cnt * mmc->read_bl_len); ++} ++#endif ++ ++ ++static struct partitions * get_ptbl_from_dtb(struct mmc *mmc) ++{ ++ struct partitions * ptbl = NULL; ++#ifdef CONFIG_AML_PARTITION ++#ifndef DTB_BIND_KERNEL ++ unsigned char * buffer = NULL; ++ ulong ret, offset; ++ struct virtual_partition *vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ ++ /* try get dtb table from ddr, which may exsit while usb burning */ ++ if (NULL == get_partitions()) { ++ /* if failed, try rsv dtb area then. */ ++ buffer = malloc(vpart->size * DTB_COPIES); ++ if (NULL == buffer) { ++ apt_err("Can not alloc enough buffer\n"); ++ goto _err; ++ } ++ offset = _get_inherent_offset(MMC_RESERVED_NAME) + vpart->offset; ++ ret = _mmc_rsv_read(mmc, offset, (vpart->size * DTB_COPIES), buffer); ++ if (ret != (vpart->size * DTB_COPIES)) { ++ apt_err("Can not alloc enough buffer\n"); ++ goto _err1; ++ } ++ /* parse it */ ++ if (get_partition_from_dts(buffer)) { ++ apt_err("get partition table from dts failed. try from internal dts\n"); ++ if (buffer) ++ free(buffer); ++ buffer = (char*) env_get_ulong("fdtcontroladdr", 16, CFG_SYS_SDRAM_BASE + (16U<<20)); ++ if (get_partition_from_dts(buffer)) { ++ apt_err("get partition table from internal dts failed.\n"); ++ goto _err; ++ } ++ buffer = NULL; ++ } ++ /* double check part_table(glb) */ ++ if (NULL == get_partitions()) { ++ goto _err1; ++ } ++ apt_info("get partition table from dts successfully\n"); ++ ++ if (buffer) ++ free(buffer); ++ buffer = NULL; ++ } ++#endif ++#endif ++ /* asign partition info to *ptbl */ ++ ptbl = get_partitions(); ++ return ptbl; ++#ifdef CONFIG_AML_PARTITION ++#ifndef DTB_BIND_KERNEL ++_err1: ++ if (buffer) ++ free(buffer); ++_err: ++ free (ptbl); ++ return NULL; ++#endif ++#endif ++} ++ ++ ++ ++ ++static struct partitions *is_prio_partition(struct _iptbl *list, struct partitions *part) ++{ ++ int i; ++ struct partitions *plist = NULL; ++ ++ if (list->count == 0) ++ goto _out; ++ ++ apt_info("count %d\n", list->count); ++ for (i=0; icount; i++) { ++ plist = &list->partitions[i]; ++ apt_info("%d: %s, %s\n", i, part->name, plist->name); ++ if (!strcmp(plist->name, part->name)) { ++ apt_info("%s is prio in list[%d]\n", part->name, i); ++ break; ++ } ++ } ++ if (i == list->count) ++ plist = NULL; ++_out: ++ return plist; ++} ++ ++/* calculate offset of each partitions. ++ bottom is a flag for considering ++ */ ++static int _calculate_offset(struct mmc *mmc, struct _iptbl *itbl, u32 bottom) ++{ ++ int i; ++ struct partitions *part; ++ ulong gap = PARTITION_RESERVED; ++ int ret = 0; ++ ++ if (itbl->count <= 0) ++ return -1; ++ part = itbl->partitions; ++#if (CONFIG_MPT_DEBUG) ++ _dump_part_tbl(part, itbl->count); ++#endif ++ ++#if CONFIG_AML_GPT ++ part->offset = RESERVED_GPT_OFFSET; ++#endif ++ ++ if (!strcmp(part->name, "bootloader")) { ++ part->offset = 0; ++ gap = MMC_BOOT_PARTITION_RESERVED; ++ } ++ for (i=1; icount; i++) { ++ /**/ ++ part[i].offset = part[i-1].offset + part[i-1].size + gap; ++ /* check capicity overflow ?*/ ++ if (((part[i].offset + part[i].size) > mmc->capacity) || ++ (part[i].size == -1)) { ++ part[i].size = mmc->capacity - part[i].offset; ++ /* reserv space @ the bottom */ ++ if (bottom && (part[i].size > MMC_BOTTOM_RSV_SIZE)) { ++ apt_info("reserv %d bytes at bottom\n", MMC_BOTTOM_RSV_SIZE); ++ part[i].size -= MMC_BOTTOM_RSV_SIZE; ++ } ++ break; ++ } ++ gap = PARTITION_RESERVED; ++ } ++ if (i < (itbl->count - 1)) { ++ apt_err("too large partition table for current emmc, overflow!\n"); ++ ret = -1; ++ } ++#if (CONFIG_MPT_DEBUG) ++ _dump_part_tbl(part, itbl->count); ++#endif ++ return ret; ++} ++ ++static void compose_ept(struct _iptbl *dtb, struct _iptbl *inh, ++ struct _iptbl *ept) ++{ ++ int i; ++ struct partitions *partition = NULL; ++ struct partitions *dst, *src, *prio; ++ ++ /* overide inh info by dts */ ++ apt_info("dtb %p, inh %p, ept %p\n", dtb, inh, ept); ++ apt_info("ept->partitions %p\n", ept->partitions); ++ partition = ept->partitions; ++ apt_info("partition %p\n", partition); ++ for (i=0; icount %d\n", i, ept->count); ++ dst = &partition[ept->count]; ++ src = (i < inh->count) ? &inh->partitions[i]:&dtb->partitions[i-inh->count]; ++ ++ prio = is_prio_partition(ept, src); ++ if (prio) { ++ /* overide prio partition by new */ ++ apt_info("override %d: %s\n", ept->count, prio->name); ++ //*prio = *src; ++ dst = prio; ++ } else ++ ept->count ++; ++ *dst = *src; ++ if (-1 == src->size) { ++ apt_info("break! %s\n", src->name); ++ break; ++ } ++ } ++ ++ return; ++} ++#ifdef CONFIG_AML_PARTITION ++static int _get_version(unsigned char * s) ++{ ++ int version = 0; ++ if (!strncmp((char *)s, MMC_MPT_VERSION_2, sizeof(MMC_MPT_VERSION_2))) ++ version = 2; ++ else if (!strncmp((char *)s, MMC_MPT_VERSION_1, sizeof(MMC_MPT_VERSION_1))) ++ version = 1; ++ else ++ version = -1; ++ ++ return version; ++} ++ ++/* calc checksum. ++ there's a bug on v1 which did not calculate all the partitios. ++ */ ++static int _calc_iptbl_check_v2(struct partitions * part, int count) ++{ ++ int ret = 0, i; ++ int size = count * sizeof(struct partitions) >> 2; ++ int *buf = (int *)part; ++ ++ for (i = 0; i < size; i++) ++ ret +=buf[i]; ++ ++ return ret; ++} ++ ++static int _calc_iptbl_check_v1(struct partitions *part, int count) ++{ ++ int i, j; ++ u32 checksum = 0, *p; ++ ++ for (i = 0; i < count; i++) { ++ p = (u32*)part; ++ /*BUG here, do not fix it!!*/ ++ for (j = sizeof(struct partitions)/sizeof(checksum); j > 0; j--) { ++ checksum += *p; ++ p++; ++ } ++ } ++ ++ return checksum; ++} ++ ++static int _calc_iptbl_check(struct partitions * part, int count, int version) ++{ ++ if (1 == version) ++ return _calc_iptbl_check_v1(part, count); ++ else if (2 == version) ++ return _calc_iptbl_check_v2(part, count); ++ else ++ return -1; ++} ++ ++/* ept is malloced out side */ ++static int _cpy_iptbl(struct _iptbl * dst, struct _iptbl * src) ++{ ++ int ret = 0; ++ if (!dst || !src) { ++ apt_err("invalid arg %s\n", !dst ? "dst" : "src"); ++ ret = -1; ++ goto _out; ++ } ++ if (!dst->partitions || !src->partitions) { ++ apt_err("invalid arg %s->partitions\n", !dst ? "dst" : "src"); ++ ret = -2; ++ goto _out; ++ } ++ ++ dst->count = src->count; ++ memcpy(dst->partitions, src->partitions, sizeof(struct partitions) * src->count); ++ ++_out: ++ return ret; ++} ++ ++ ++/* get ptbl from rsv area from emmc */ ++static int get_ptbl_rsv(struct mmc *mmc, struct _iptbl *rsv) ++{ ++ struct ptbl_rsv * ptbl_rsv = NULL; ++ uchar * buffer = NULL; ++ ulong size, offset; ++ int checksum, version, ret = 0; ++ struct virtual_partition *vpart = aml_get_virtual_partition_by_name(MMC_TABLE_NAME); ++ ++ size = (sizeof(struct ptbl_rsv) + 511) / 512 * 512; ++ if (vpart->size < size) { ++ apt_err("too much partitons\n"); ++ ret = -1; ++ goto _out; ++ } ++ buffer = malloc(size); ++ if (NULL == buffer) { ++ apt_err("no enough memory for ptbl rsv\n"); ++ ret = -2; ++ goto _out; ++ } ++ /* read it from emmc. */ ++ offset = _get_inherent_offset(MMC_RESERVED_NAME) + vpart->offset; ++ if (size != _mmc_rsv_read(mmc, offset, size, buffer)) { ++ apt_err("read ptbl from rsv failed\n"); ++ ret = -3; ++ goto _out; ++ } ++ ++ ptbl_rsv = (struct ptbl_rsv *) buffer; ++ apt_info("magic %3.3s, version %8.8s, checksum %x\n", ptbl_rsv->magic, ++ ptbl_rsv->version, ptbl_rsv->checksum); ++ /* fixme, check magic ?*/ ++ if (strncmp(ptbl_rsv->magic, MMC_PARTITIONS_MAGIC, sizeof(MMC_PARTITIONS_MAGIC))) { ++ apt_err("magic faild %s, %3.3s\n", MMC_PARTITIONS_MAGIC, ptbl_rsv->magic); ++ ret = -4; ++ goto _out; ++ } ++ /* check version*/ ++ version = _get_version(ptbl_rsv->version); ++ if (version < 0) { ++ apt_err("version faild %s, %3.3s\n", MMC_PARTITIONS_MAGIC, ptbl_rsv->magic); ++ ret = -5; ++ goto _out; ++ } ++ if (ptbl_rsv->count > MAX_MMC_PART_NUM) { ++ apt_err("invalid partition count %d\n", ptbl_rsv->count); ++ ret = -1; ++ goto _out; ++ } ++ /* check sum */ ++ checksum = _calc_iptbl_check(ptbl_rsv->partitions, ptbl_rsv->count, version); ++ if (checksum != ptbl_rsv->checksum) { ++ apt_err("checksum faild 0x%x, 0x%x\n", ptbl_rsv->checksum, checksum); ++ ret = -6; ++ goto _out; ++ } ++ ++ rsv->count = ptbl_rsv->count; ++ memcpy(rsv->partitions, ptbl_rsv->partitions, rsv->count * sizeof(struct partitions)); ++ ++_out: ++ if (buffer) ++ free (buffer); ++ return ret; ++} ++ ++ ++/* update partition tables from src ++ if success, return 0; ++ else, return 1 ++ */ ++static int update_ptbl_rsv(struct mmc *mmc, struct _iptbl *src) ++{ ++ struct ptbl_rsv *ptbl_rsv = NULL; ++ uchar *buffer; ++ ulong size, offset; ++ int ret = 0, version; ++ struct virtual_partition *vpart = aml_get_virtual_partition_by_name(MMC_TABLE_NAME); ++ ++ size = (sizeof(struct ptbl_rsv) + 511) / 512 * 512; ++ buffer = malloc(size); ++ if (NULL == buffer) { ++ apt_err("no enough memory for ptbl rsv\n"); ++ return -1; ++ } ++ memset(buffer, 0 , size); ++ /* version, magic and checksum */ ++ ptbl_rsv = (struct ptbl_rsv *) buffer; ++ strcpy((char *)ptbl_rsv->version, MMC_MPT_VERSION); ++ strcpy(ptbl_rsv->magic, MMC_PARTITIONS_MAGIC); ++ if (src->count > MAX_MMC_PART_NUM) { ++ apt_err("too much partitions\n"); ++ ret = -1; ++ goto _err; ++ } ++ ptbl_rsv->count = src->count; ++ memcpy(ptbl_rsv->partitions, src->partitions, ++ sizeof(struct partitions)*src->count); ++ version = _get_version(ptbl_rsv->version); ++ ptbl_rsv->checksum = _calc_iptbl_check(src->partitions, src->count, version); ++ /* write it to emmc. */ ++ apt_info("magic %3.3s, version %8.8s, checksum %x\n", ptbl_rsv->magic, ptbl_rsv->version, ptbl_rsv->checksum); ++ offset = _get_inherent_offset(MMC_RESERVED_NAME) + vpart->offset; ++ if (_mmc_rsv_write(mmc, offset, size, buffer) != size) { ++ apt_err("write ptbl to rsv failed\n"); ++ ret = -1; ++ goto _err; ++ } ++_err: ++ free (buffer); ++ return ret; ++} ++ ++static void _free_iptbl(struct _iptbl *iptbl) ++{ ++ if (iptbl && iptbl->partitions) { ++ free(iptbl->partitions); ++ iptbl->partitions = NULL; ++ } ++ if (iptbl) { ++ free(iptbl); ++ iptbl = NULL; ++ } ++ ++ return; ++} ++ ++#endif ++static int _cmp_partition(struct partitions *dst, struct partitions *src, int overide) ++{ ++ int ret = 0; ++#if (CONFIG_CMP_PARTNAME) ++ if (strncmp(dst->name, src->name, sizeof(src->name))) ++ ret = -2; ++#endif ++ if (dst->size != src->size) ++ ret = -3; ++ if (dst->offset != src->offset) ++ ret = -4; ++#if (CONFIG_CMP_PARTMASK) ++ if (dst->mask_flags != src->mask_flags) ++ ret = -5; ++#endif ++ ++ if (ret && (!overide)) { ++ apt_err("name: %10.10s<->%10.10s\n", dst->name, src->name); ++ apt_err("size: %llx<->%llx\n", dst->size, src->size); ++ apt_err("offset: %llx<->%llx\n", dst->offset, src->offset); ++ apt_err("mask: %08x<->%08x\n", dst->mask_flags, src->mask_flags); ++ } ++ ++ if (overide) { ++ *dst = *src; ++ ret = 0; ++ } ++ ++ return ret; ++} ++ ++/* compare partition tables ++ if same, do nothing then return 0; ++ else, print the diff ones and return -x ++ -1:count ++ -2:name ++ -3:size ++ -4:offset ++ */ ++static int _cmp_iptbl(struct _iptbl * dst, struct _iptbl * src) ++{ ++ int ret = 0, i = 0; ++ struct partitions *dstp; ++ struct partitions *srcp; ++ ++ if (dst->count != src->count) { ++ apt_err("partition count is not same %d:%d\n", dst->count, src->count); ++ ret = -1; ++ goto _out; ++ } ++ ++ while (i < dst->count) { ++ dstp = &dst->partitions[i]; ++ srcp = &src->partitions[i]; ++ ret = _cmp_partition(dstp, srcp, 0); ++ if (ret) { ++ apt_err("partition %d has changed\n", i); ++ break; ++ } ++ i++; ++ } ++ ++_out: ++ return ret; ++} ++ ++ ++/* iptbl buffer opt. */ ++static int _zalloc_iptbl(struct _iptbl **_iptbl) ++{ ++ int ret = 0; ++ struct _iptbl *iptbl; ++ struct partitions *partition = NULL; ++ ++ partition = malloc(sizeof(struct partitions)*MAX_PART_COUNT); ++ if (NULL == partition) { ++ ret = -1; ++ apt_err("no enough memory for partitions\n"); ++ goto _out; ++ } ++ ++ iptbl = malloc(sizeof(struct _iptbl)); ++ if (NULL == iptbl) { ++ ret = -2; ++ apt_err("no enough memory for ept\n"); ++ free(partition); ++ goto _out; ++ } ++ memset(partition, 0, sizeof(struct partitions)*MAX_PART_COUNT); ++ memset(iptbl, 0, sizeof(struct _iptbl)); ++ ++ iptbl->partitions = partition; ++ apt_info("iptbl %p, partition %p, iptbl->partitions %p\n", ++ iptbl, partition, iptbl->partitions); ++ *_iptbl = iptbl; ++_out: ++ return ret; ++} ++ ++ ++/* ++ * fixme, need check space size later. ++ */ ++ ++static inline int le32_to_int(unsigned char *le32) ++{ ++ return ((le32[3] << 24) + ++ (le32[2] << 16) + ++ (le32[1] << 8) + ++ le32[0] ++ ); ++} ++ ++static int test_block_type(unsigned char *buffer) ++{ ++ int slot; ++ struct dos_partition *p; ++ ++ if ((buffer[DOS_PART_MAGIC_OFFSET + 0] != 0x55) || ++ (buffer[DOS_PART_MAGIC_OFFSET + 1] != 0xaa) ) { ++ return (-1); ++ } /* no DOS Signature at all */ ++ p = (struct dos_partition *)&buffer[DOS_PART_TBL_OFFSET]; ++ for (slot = 0; slot < 3; slot++) { ++ if (p->boot_ind != 0 && p->boot_ind != 0x80) { ++ if (!slot && ++ (strncmp((char *)&buffer[DOS_PBR_FSTYPE_OFFSET], ++ "FAT", 3) == 0 || ++ strncmp((char *)&buffer[DOS_PBR32_FSTYPE_OFFSET], ++ "FAT32", 5) == 0)) { ++ return DOS_PBR; /* is PBR */ ++ } else { ++ return -1; ++ } ++ } ++ } ++ return DOS_MBR; /* Is MBR */ ++} ++ ++//DOS_MBR OR DOS_PBR ++/* ++ * re-constructe iptbl from mbr&ebr infos. ++ * memory for iptbl_mbr must be alloced outside. ++ * ++ */ ++static void _construct_ptbl_by_mbr(struct mmc *mmc, struct _iptbl *iptbl_mbr) ++{ ++ int ret,i; ++ int flag = 0; ++ lbaint_t read_offset = 0; ++ int part_num = 0; ++ int primary_num = 0; ++ uint64_t logic_start = 0; ++ uint64_t externed_start = 0; ++ struct dos_partition *pt; ++ struct partitions *partitions = iptbl_mbr->partitions; ++ ++ apt_info("aml MBR&EBR debug...\n"); ++ ALLOC_CACHE_ALIGN_BUFFER(unsigned char, buffer, 512); ++ for (;;) { ++ apt_info("**%02d: read_offset %016llx\n", part_num, (uint64_t)read_offset<<9); ++ ret = blk_dread(mmc_get_blk_desc(mmc), read_offset, 1, buffer); ++ if (read_offset == 0) ++ flag = 1; ++ else ++ flag = 0; ++ /* debug code */ ++ // print_buffer(0,buffer,1,512,16); ++ if (ret != 1) { ++ apt_err("ret %d fail to read current ebr&mbr from emmc! \n", ret); ++ break; ++ } ++ ret = test_block_type(buffer); ++ if (ret != 0 && ret != 1) { ++ apt_err("invalid magic value: 0x%02x%02x\n", ++ buffer[DOS_PART_MAGIC_OFFSET], buffer[DOS_PART_MAGIC_OFFSET + 1]); ++ break; ++ } ++ ++ pt = (dos_partition_t *)(&buffer[0] + DOS_PART_TBL_OFFSET); ++ for (i = 0; i < 4; i++, pt++) { ++ if ( (pt->boot_ind == 0x00 || pt->boot_ind == 0x80) && pt->sys_ind == 0x83 ) { ++ //emmc_partition[part_num]->name = NULL; ++ partitions[part_num].offset = ((uint64_t)(le32_to_int(pt->start4)+read_offset) << 9ULL); ++ partitions[part_num].size = (uint64_t)le32_to_int(pt->size4) << 9ULL; ++ partitions[part_num].mask_flags = pt->sys_ind; ++ ++ apt_info("--partition[%d]: %016llx, %016llx, 0x%08x \n", ++ part_num, partitions[part_num].offset, ++ partitions[part_num].size, ++ le32_to_int(pt->size4)); ++ part_num++; ++ if ( flag ) ++ primary_num++; ++ }else{/* get the next externed partition info */ ++ if ( pt->boot_ind == 0x00 && pt->sys_ind == 0x05) { ++ logic_start = (uint64_t)le32_to_int (pt->start4); ++ //logic_size = (uint64_t)le32_to_int (pt->size4); ++ } ++ } ++ } ++ /* mbr & ebr debug infos */ ++ apt_info("******%02d: read_offset=%016llx, logic_start=%016llx\n", ++ part_num,(uint64_t)read_offset*512ULL,logic_start*512ULL); ++ ++ if (part_num == primary_num) { ++ externed_start = logic_start; ++ read_offset = externed_start; ++ }else ++ read_offset = externed_start + logic_start; ++ if (logic_start == 0) ++ break; ++ logic_start = 0; ++ ++ } ++ iptbl_mbr->count = part_num; ++ apt_info("iptbl_mbr->count = %d\n", iptbl_mbr->count); ++ ++ return; ++} ++ ++static int __attribute__((unused)) _check_ptbl_mbr(struct mmc *mmc, struct _iptbl *ept) ++{ ++ int ret = 0; ++ /* re-constructed by mbr */ ++ struct _iptbl *iptbl_mbr = NULL, *ept2 = NULL; ++ struct partitions *partitions = NULL; ++ int i,j; ++ ++ iptbl_mbr = malloc(sizeof(struct _iptbl)); ++ if (NULL == iptbl_mbr) { ++ apt_err("no enough memory for iptbl_mbr\n"); ++ return -1; ++ } ++ memset(iptbl_mbr , 0, sizeof(struct _iptbl)); ++ partitions = (struct partitions *)malloc(sizeof(struct partitions) * DOS_PARTITION_COUNT); ++ if (NULL == partitions) { ++ apt_err("no enough memory for partitions\n"); ++ free(iptbl_mbr); ++ return -1; ++ } ++ memset(partitions, 0, sizeof(struct partitions) * DOS_PARTITION_COUNT); ++ iptbl_mbr->partitions = partitions; ++ ++ _construct_ptbl_by_mbr(mmc, iptbl_mbr); ++ if (iptbl_mbr->count > 0) ++ { ++ ret = 0; ++ goto _check_return; ++ } ++ ++ ept2 = (struct _iptbl*) malloc(sizeof(struct _iptbl)); ++ if (!ept2) ++ return -1; ++ ++ ept2 -> partitions = (struct partitions*) malloc (sizeof(struct partitions) * ept->count); ++ if (!ept2->partitions) ++ return -1; ++ memset (ept2->partitions, 0, sizeof(struct partitions) * ept->count); ++ ept2 -> count = 0; ++ ++ for (i=4,j=0;icount;i++) ++ { ++ apt_info("-!check partition name %s\n",ept->partitions[i].name); ++ memcpy(&ept2->partitions[j],&ept->partitions[i], sizeof(struct partitions)); ++ j++; ++ ++ } ++ ept2->count = j; ++ ++ ret = _cmp_iptbl(iptbl_mbr, ept2); ++ if (ept2->partitions) ++ free (ept2->partitions); ++ if (ept2) ++ free (ept2); ++ ++ if (partitions) ++ free(partitions); ++ if (iptbl_mbr) ++ free(iptbl_mbr); ++ _check_return: ++ apt_wrn("MBR is %s\n", ret?"Improper!":"OK!"); ++ return ret; ++} ++ ++/* construct a partition table entry of EBR */ ++static int _construct_ebr_1st_entry(struct _iptbl *p_iptbl,struct dos_partition *p_ebr, int part_num ) ++{ ++ uint64_t start_offset = 0; ++ uint64_t logic_size = 0; ++ ++ p_ebr->boot_ind = 0x00; ++ p_ebr->sys_ind = 0x83; ++ /* Starting = relative offset between this EBR sector and the first sector of the logical partition ++ * the gap between two partition is a fixed value of PARTITION_RESERVED ,otherwise the emmc partiton ++ * is different with reserved */ ++ start_offset = PARTITION_RESERVED >> 9; ++ /* Number of sectors = total count of sectors for this logical partition */ ++ // logic_size = (p_iptbl->partitions[part_num].size) >> 9ULL; ++ logic_size = lldiv(p_iptbl->partitions[part_num].size, 512); ++ apt_info("*** %02d: size 0x%016llx, logic_size 0x%016llx\n", part_num, p_iptbl->partitions[part_num].size, logic_size); ++ memcpy((unsigned char *)(p_ebr->start4), &start_offset, 4); ++ memcpy((unsigned char *)(p_ebr->size4), &logic_size, 4); ++ return 0; ++} ++ ++static int _construct_ebr_2nd_entry(struct _iptbl *p_iptbl, struct dos_partition *p_ebr, int part_num) ++{ ++ uint64_t start_offset = 0; ++ uint64_t logic_size = 0; ++ ++ if ((part_num+2) > p_iptbl->count) ++ return 0; ++ ++ p_ebr->boot_ind = 0x00; ++ p_ebr->sys_ind = 0x05; ++ /* Starting sector = LBA address of next EBR minus LBA address of extended partition's first EBR */ ++ start_offset = (p_iptbl->partitions[part_num+1].offset - PARTITION_RESERVED - ++ (p_iptbl->partitions[3].offset - PARTITION_RESERVED)) >> 9; ++ /* total count of sectors for next logical partition, but count starts from the next EBR sector */ ++ logic_size = (p_iptbl->partitions[part_num+1].size + PARTITION_RESERVED) >> 9; ++ ++ memcpy((unsigned char *)(p_ebr->start4), &start_offset, 4); ++ memcpy((unsigned char *)(p_ebr->size4), &logic_size, 4); ++ ++ return 0; ++} ++ ++/* construct a partition table entry of MBR OR EBR */ ++static int _construct_mbr_entry(struct _iptbl *p_iptbl, struct dos_partition *p_entry, int part_num) ++{ ++ uint64_t start_offset = 0; ++ uint64_t primary_size = 0; ++ uint64_t externed_size = 0; ++ int i; ++ /* the entry is active or not */ ++ if (part_num == 0 ) ++ p_entry->boot_ind = 0x00; ++ else ++ p_entry->boot_ind = 0x00; ++ ++ if (part_num == 3) {/* the logic partion entry */ ++ /* the entry type */ ++ p_entry->sys_ind = 0x05; ++ start_offset = (p_iptbl->partitions[3].offset - PARTITION_RESERVED) >> 9; ++ for ( i = 3;i< p_iptbl->count;i++) ++ externed_size = p_iptbl->partitions[i].size >> 9; ++ ++ memcpy((unsigned char *)p_entry->start4, &start_offset, 4); ++ memcpy((unsigned char *)p_entry->size4, &externed_size, 4); ++ }else{/* the primary partion entry */ ++ /* the entry type */ ++ p_entry->sys_ind = 0x83; ++ start_offset = (p_iptbl->partitions[part_num].offset) >> 9; ++ primary_size = (p_iptbl->partitions[part_num].size)>>9; ++ memcpy((unsigned char *)p_entry->start4, &start_offset, 4); ++ memcpy((unsigned char *)p_entry->size4, &primary_size, 4); ++ } ++ ++ return 0; ++} ++ ++static int _construct_mbr_or_ebr(struct _iptbl *p_iptbl, struct dos_mbr_or_ebr *p_br, ++ int part_num, int type) ++{ ++ int i; ++ ++ apt_info("!!!++++ %0d(%0d) my count:%i\n",part_num, p_iptbl->count,p_iptbl->count<4?p_iptbl->count:4); ++ if (DOS_MBR == type) { ++ /* constuct a integral MBR */ ++ for (i = 0; i< ((p_iptbl->count<4)?p_iptbl->count:4) ; i++) ++ _construct_mbr_entry(p_iptbl, &p_br->part_entry[i], i); ++ ++ }else{ ++ /* constuct a integral EBR */ ++ p_br->bootstart[DOS_PBR32_FSTYPE_OFFSET] = 'F'; ++ p_br->bootstart[DOS_PBR32_FSTYPE_OFFSET + 1] = 'A'; ++ p_br->bootstart[DOS_PBR32_FSTYPE_OFFSET + 2] = 'T'; ++ p_br->bootstart[DOS_PBR32_FSTYPE_OFFSET + 3] = '3'; ++ p_br->bootstart[DOS_PBR32_FSTYPE_OFFSET + 4] = '2'; ++ ++ _construct_ebr_1st_entry(p_iptbl, &p_br->part_entry[0], part_num); ++ _construct_ebr_2nd_entry(p_iptbl, &p_br->part_entry[1], part_num); ++ } ++ ++ p_br->magic[0] = 0x55 ; ++ p_br->magic[1] = 0xAA ; ++ return 0; ++} ++ ++static __attribute__((unused)) int _update_ptbl_mbr(struct mmc *mmc, struct _iptbl *p_iptbl) ++{ ++ int ret = 0, start_blk = 0, blk_cnt = 1; ++ unsigned char *src; ++ int i,j; ++ struct dos_mbr_or_ebr *mbr; ++ struct _iptbl *ptb ; ++ struct _iptbl *ptb2; ++ ++ ptb = p_iptbl; ++ ptb2 = (struct _iptbl*) malloc(sizeof(struct _iptbl)); ++ ++ ptb2 -> partitions = (struct partitions*) malloc (sizeof(struct partitions) * ptb->count); ++ memset (ptb2->partitions, 0, sizeof(struct partitions) * ptb->count); ++ ptb2 -> count = 0; ++ ++ for (i=4,j=0;icount;i++) ++ { ++ apt_info("-!check partition name %s\n",ptb->partitions[i].name); ++ memcpy(&ptb2->partitions[j],&ptb->partitions[i], sizeof(struct partitions)); ++ j++; ++ ++ } ++ ptb2->count = j; ++ ptb = ptb2; ++ ++ mbr = malloc(sizeof(struct dos_mbr_or_ebr)); ++ ++ for (i=0;icount;i++) { ++ apt_info("-update MBR-: partition[%02d]: %016llx - %016llx skipped:%s name:%s parts count:%02d\n",i, ++ ptb->partitions[i].offset, ptb->partitions[i].size, ptb->partitions[i].size==0? "yes" :"no", ptb->partitions[i].name, ptb->count); ++ } ++ ++ for (i = 0;i < ptb->count;) { ++ apt_info("!!!!--- update_ptbl_mbr %02d (%02d)\n", i, ptb->count); ++ memset(mbr ,0 ,sizeof(struct dos_mbr_or_ebr)); ++ if (i == 0) { ++ _construct_mbr_or_ebr(ptb, mbr, i, 0); ++ i = i+2; ++ } else ++ _construct_mbr_or_ebr(ptb, mbr, i, 2); ++ src = (unsigned char *)mbr; ++ apt_info("--%s(): %02d(%02d), off %x\n", __func__, i, ptb->count, start_blk); ++ ret = blk_dwrite(mmc_get_blk_desc(mmc), start_blk, blk_cnt, src); ++ i++; ++ if (ret != blk_cnt) { ++ apt_err("write current MBR failed! ret: %d != cnt: %d\n",ret,blk_cnt); ++ break; ++ } ++ start_blk = (ptb->partitions[i].offset - PARTITION_RESERVED) >> 9; ++ apt_info("!!!!end update_ptbl_mbr %02d (%02d)\n", i, ptb->count); ++ } ++ free(mbr); ++ free(ptb->partitions); ++ free(ptb); ++ ++ ret = !ret; ++ if (ret) ++ apt_err("write MBR failed!\n"); ++ else ++ apt_err("write MBR ok!!!!\n"); ++ ++ return ret; ++} ++ ++#ifdef CONFIG_AML_GPT ++int is_gpt_changed(struct mmc *mmc, struct _iptbl *p_iptbl_ept) ++{ ++ int i, k; ++ gpt_entry *gpt_pte = NULL; ++ size_t efiname_len; ++ struct _iptbl *ept = p_iptbl_ept; ++ struct partitions *partitions = ept->partitions; ++ int parts_num = ept->count; ++ uint64_t offset; ++ uint64_t size; ++ char name[PARTNAME_SZ]; ++ int gpt_changed = 0; ++ struct blk_desc *dev_desc = mmc_get_blk_desc(mmc); ++ ALLOC_CACHE_ALIGN_BUFFER_PAD(gpt_header, gpt_head, 1, dev_desc->blksz); ++ ++ if (!dev_desc) { ++ printf("%s: Invalid Argument(s)\n", __func__); ++ return 1; ++ } ++ ++ if (is_gpt_valid(dev_desc, GPT_PRIMARY_PARTITION_TABLE_LBA, ++ gpt_head, &gpt_pte) != 1) { ++ printf("%s: ***ERROR:Invalid GPT ***\n", __func__); ++ if (is_gpt_valid(dev_desc, (dev_desc->lba - 1), ++ gpt_head, &gpt_pte) != 1) { ++ printf("%s: ***ERROR: Invalid Backup GPT ***\n", ++ __func__); ++ return 1; ++ } else { ++ printf("%s: *** Using Backup GPT ***\n", ++ __func__); ++ } ++ //return 1; ++ } ++ for (i = 0; i < le32_to_cpu(gpt_head->num_partition_entries); i++) { ++ if (!is_pte_valid(&gpt_pte[i])) ++ break; ++ ++ offset = le64_to_cpu(gpt_pte[i].starting_lba<<9ULL); ++ if (partitions[i].offset != offset) { ++ printf("Caution! GPT offset had been changed\n"); ++ gpt_changed = 1; ++ break; ++ } ++ ++ size = ((le64_to_cpu(gpt_pte[i].ending_lba)+1) - ++ le64_to_cpu(gpt_pte[i].starting_lba)) << 9ULL; ++ if (i == parts_num - 1) { ++ if ((partitions[i].size - GPT_TOTAL_SIZE) != size) { ++ printf("Caution! GPT size had been changed\n"); ++ gpt_changed = 1; ++ break; ++ } ++ } else { ++ if (partitions[i].size != size) { ++ printf("Caution! GPT size had been changed\n"); ++ gpt_changed = 1; ++ break; ++ } ++ } ++ ++ /* partition name */ ++ efiname_len = sizeof(gpt_pte[i].partition_name) ++ / sizeof(efi_char16_t); ++ ++ memset(name, 0, PARTNAME_SZ); ++ for (k = 0; k < efiname_len; k++) ++ name[k] = (char)gpt_pte[i].partition_name[k]; ++ if (strcmp(name, partitions[i].name) != 0) { ++ printf("Caution! GPT name had been changed\n"); ++ gpt_changed = 1; ++ break; ++ } ++ ++ } ++ if ((i != parts_num) && (gpt_changed == 0)) { ++ gpt_changed = 1; ++ printf("Caution! GPT number had been changed\n"); ++ } ++ ++ free(gpt_pte); ++ return gpt_changed; ++} ++int is_gpt_broken(struct mmc *mmc) ++{ ++ gpt_entry *gpt_pte = NULL; ++ int broken_status = 0; ++ struct blk_desc *dev_desc = mmc_get_blk_desc(mmc); ++ ALLOC_CACHE_ALIGN_BUFFER_PAD(gpt_header, gpt_head, 1, dev_desc->blksz); ++ ++ if (!dev_desc) { ++ printf("%s: Invalid Argument(s)\n", __func__); ++ return 1; ++ } ++ ++ if (is_gpt_valid(dev_desc, GPT_PRIMARY_PARTITION_TABLE_LBA, ++ gpt_head, &gpt_pte) != 1) { ++ broken_status += 1; ++ printf("%s: ***ERROR:Invalid GPT ***\n", __func__); ++ } ++ if (is_gpt_valid(dev_desc, (dev_desc->lba - 1), ++ gpt_head, &gpt_pte) != 1) { ++ printf("%s: ***ERROR: Invalid Backup GPT ***\n", ++ __func__); ++ broken_status += 2; ++ } ++ ++ if (broken_status != 3) ++ free(gpt_pte); ++ return broken_status; ++ ++} ++ ++int fill_ept_by_gpt(struct mmc *mmc, struct _iptbl *p_iptbl_ept) ++{ ++ struct blk_desc *dev_desc = mmc_get_blk_desc(mmc); ++ ALLOC_CACHE_ALIGN_BUFFER_PAD(gpt_header, gpt_head, 1, dev_desc->blksz); ++ gpt_entry *gpt_pte = NULL; ++ int i, k; ++ size_t efiname_len, dosname_len; ++ struct _iptbl *ept = p_iptbl_ept; ++ struct partitions *partitions = ept->partitions; ++ ++ if (!dev_desc) { ++ printf("%s: Invalid Argument(s)\n", __func__); ++ return 1; ++ } ++ ++ if (is_gpt_valid(dev_desc, GPT_PRIMARY_PARTITION_TABLE_LBA, ++ gpt_head, &gpt_pte) != 1) { ++ printf("%s: ***ERROR:Invalid GPT ***\n", __func__); ++ if (is_gpt_valid(dev_desc, (dev_desc->lba - 1), ++ gpt_head, &gpt_pte) != 1) { ++ printf("%s: ***ERROR: Invalid Backup GPT ***\n", ++ __func__); ++ return 1; ++ } else { ++ printf("%s: *** Using Backup GPT ***\n", ++ __func__); ++ } ++ //return 1; ++ } ++ ++ for (i = 0; i < le32_to_cpu(gpt_head->num_partition_entries); i++) { ++ if (!is_pte_valid(&gpt_pte[i])) ++ break; ++ ++ partitions[i].offset = le64_to_cpu(gpt_pte[i].starting_lba<<9ULL); ++ partitions[i].size = ((le64_to_cpu(gpt_pte[i].ending_lba)+1) - ++ le64_to_cpu(gpt_pte[i].starting_lba)) << 9ULL; ++ /* mask flag */ ++ partitions[i].mask_flags = (uint32_t)le64_to_cpu(gpt_pte[i].attributes.fields.reserved); ++ /* partition name */ ++ efiname_len = sizeof(gpt_pte[i].partition_name) ++ / sizeof(efi_char16_t); ++ dosname_len = sizeof(partitions[i].name); ++ ++ memset(partitions[i].name, 0, sizeof(partitions[i].name)); ++ for (k = 0; k < min(dosname_len, efiname_len); k++) ++ partitions[i].name[k] = (char)gpt_pte[i].partition_name[k]; ++ ++ } ++ ept->count = i; ++ free(gpt_pte); ++ return 0; ++} ++ ++void trans_ept_to_diskpart(struct _iptbl *ept, struct disk_partition *disk_part) { ++ struct partitions *part = ept->partitions; ++ int count = ept->count; ++ int i; ++ for (i = 0; i < count; i++) { ++ disk_part[i].start = part[i].offset >> 9; ++ strcpy((char *)disk_part[i].name, part[i].name); ++ /* store maskflag into type, 8bits ONLY! */ ++ disk_part[i].type[0] = (uchar)part[i].mask_flags; ++ #ifdef CONFIG_PARTITION_TYPE_GUID ++ strcpy((char *)disk_part[i].type_guid, part[i].name); ++ #endif ++ #ifdef CONFIG_RANDOM_UUID ++ gen_rand_uuid_str(disk_part[i].uuid, UUID_STR_FORMAT_STD); ++ #endif ++ disk_part[i].bootable = 0; ++ if ( i == (count - 1)) ++ disk_part[i].size = 0; ++ else ++ disk_part[i].size = (part[i].size) >> 9; ++ } ++ return; ++} ++ ++ ++ ++ ++#endif ++ ++/*************************************************** ++ * init partition table for emmc device. ++ * returns 0 means ok. ++ * other means failure. ++ *************************************************** ++ * work flows: ++ * source of logic partition table(LPT) is from dts ++ * no matter MACRO is on/off ++ * 1. try to get LPT from dtb ++ * 1.1 if dtb exist, compose ept by LPT&inh ++ * 1.2 if not, go ahead ++ * 2. try to get ept from emmc rsv partition ++ * 2.1 if not: ++ * 2.1.1 when dtb exists ++ * 2.1.1.1 check ept with dtb ++ * 2.1.1.2 update rsv if needed ++ * 2.1.1 without dtb, exit ++ * 2.2 if got: ++ * 2.2.1 try to reconstruct ept by MBR ++ * 2.2.2 check it with ept ++ * 2.2.3 update MBR if needed ++ *************************************************** ++ * when normal boot: ++ * without dtb, with rsv, with MBR ++ * when blank emmc: ++ * without dtb, without rsv, without MBR ++ * when burning MBR on a blank emmc: ++ * with dtb, without rsv, without MBR ++ * when burning MBR on a emmc with rsv: ++ * with dtb, with rsv, without MBR ++ * when burning MBR on a emmc with rsv&MBR: ++ * with dtb, with rsv, with MBR ++ ***************************************************/ ++int mmc_device_init (struct mmc *mmc) ++{ ++ int ret = 1; ++#if (CONFIG_PTBL_MBR) || (!CONFIG_AML_PARTITION) ++ //cpu_id_t cpu_id = get_cpu_id(); ++#endif ++ /* partition table from dtb/code/emmc rsv */ ++ struct _iptbl iptbl_dtb, iptbl_inh; ++ ++ /* calculate inherent offset */ ++ iptbl_inh.count = get_emmc_partition_arraysize(); ++ if (iptbl_inh.count) { ++ iptbl_inh.partitions = emmc_partition_table; ++ _calculate_offset(mmc, &iptbl_inh, 0); ++ } ++ apt_info("inh count %d\n", iptbl_inh.count); ++#if (CONFIG_MPT_DEBUG) ++ apt_info("inherent partition table\n"); ++ _dump_part_tbl(iptbl_inh.partitions, iptbl_inh.count); ++#endif ++ /* For re-entry */ ++ if (NULL == p_iptbl_ept) { ++ ret = _zalloc_iptbl(&p_iptbl_ept); ++ if (ret) ++ goto _out; ++ } else { ++ p_iptbl_ept->count = 0; ++ memset(p_iptbl_ept->partitions, 0, ++ sizeof(struct partitions)*MAX_PART_COUNT); ++ } ++ ++ /* try to get partition table from dtb(ddr or emmc) */ ++ iptbl_dtb.partitions = get_ptbl_from_dtb(mmc); ++ /* construct ept by dtb if exist */ ++ if (iptbl_dtb.partitions) { ++ iptbl_dtb.count = get_partition_count(); ++ apt_info("dtb %p, count %d\n", iptbl_dtb.partitions, iptbl_dtb.count); ++ /* reserved partition must exist! */ ++ if (iptbl_inh.count) { ++ compose_ept(&iptbl_dtb, &iptbl_inh, p_iptbl_ept); ++ if (0 == p_iptbl_ept->count) { ++ apt_err("compose partition table failed!\n"); ++ goto _out; ++ } ++ /* calculate offset infos. considering GAPs */ ++ if (_calculate_offset(mmc, p_iptbl_ept, 1)) { ++ goto _out; ++ } ++ #if (CONFIG_MPT_DEBUG) ++ apt_info("ept partition table\n"); ++ _dump_part_tbl(p_iptbl_ept->partitions, p_iptbl_ept->count); ++ #endif ++ } else { ++ /* report fail, because there is no reserved partitions */ ++ apt_err("compose partition table failed!\n"); ++ ret = -1; ++ goto _out; ++ } ++ } else ++ apt_wrn("get partition table from dtb failed\n"); ++#ifndef CONFIG_AML_PARTITION ++ if (0) { //(cpu_id.family_id < MESON_CPU_MAJOR_ID_G12B) { ++ printf("CONFIG_AML_PARTITION should define before G12B\n"); ++ goto _out; ++ } ++#endif ++ ++#ifdef CONFIG_AML_PARTITION ++ int update = 1; ++ struct _iptbl *p_iptbl_rsv = NULL; ++ /* try to get partiton table from rsv */ ++ ret = _zalloc_iptbl(&p_iptbl_rsv); ++ if (ret) ++ goto _out; ++ ret = get_ptbl_rsv(mmc, p_iptbl_rsv); ++ apt_info("!!!! after call get_ptbl_rsv got %i parts\n",p_iptbl_rsv->count); ++ ++ if (p_iptbl_rsv->count) { ++ /* dtb exist, p_iptbl_ept already inited */ ++ if (iptbl_dtb.partitions) { ++ ret = _cmp_iptbl(p_iptbl_ept, p_iptbl_rsv); ++ if (!ret) { ++ update = 0; ++ } ++ } else { ++ /* without dtb, update ept with rsv */ ++ apt_info("!!!! call _cpy_iptbl from rsv to ept %i\n",p_iptbl_rsv->count); ++ _cpy_iptbl(p_iptbl_ept, p_iptbl_rsv); ++ update = 0; ++ } ++ } else { ++ /* without dtb& rsv */ ++ if (!iptbl_dtb.partitions) { ++ apt_err("dtb&rsv are not exist, no LPT source\n"); ++ ret = -9; ++ goto _out; ++ } ++ } ++ ++ if (update && iptbl_dtb.partitions) { ++ apt_wrn("update rsv with dtb!\n"); ++ ret = update_ptbl_rsv(mmc, p_iptbl_ept); ++ } ++#endif ++ //apt_wrn("ept source is %s\n", (ept_source == p_iptbl_ept)?"ept":"rsv"); ++#if (CONFIG_PTBL_MBR) ++ /* 1st sector was reserved by romboot after gxl */ ++ if (1) { //(cpu_id.family_id >= MESON_CPU_MAJOR_ID_GXL) { ++ if (_check_ptbl_mbr(mmc, p_iptbl_ept)) { ++ apt_info("!!!! after _check_ptbl_mbr, see %i ept parts, check result %i\n",p_iptbl_ept->count, _check_ptbl_mbr(mmc, p_iptbl_ept)); ++ /*fixme, comaptible for mbr&ebr */ ++ ret |= _update_ptbl_mbr(mmc, p_iptbl_ept); ++ apt_wrn("MBR Updated!\n"); ++ } ++ } ++#endif ++#ifdef CONFIG_AML_GPT ++ char *str_disk_guid; ++ int gpt_priority = GPT_PRIORITY; ++ struct disk_partition *disk_partition; ++ int dcount = p_iptbl_ept->count; ++ struct blk_desc *dev_desc = mmc_get_blk_desc(mmc); ++ disk_partition = calloc(1, PAD_TO_BLOCKSIZE(sizeof(struct disk_partition) * dcount, dev_desc)); ++ trans_ept_to_diskpart(p_iptbl_ept, disk_partition); ++ str_disk_guid = malloc(UUID_STR_LEN + 1); ++ if (str_disk_guid == NULL) { ++ free(disk_partition); ++ return -ENOMEM; ++ } ++#ifdef CONFIG_RANDOM_UUID ++ gen_rand_uuid_str(str_disk_guid, UUID_STR_FORMAT_STD); ++#endif ++ if (part_test_efi(mmc_get_blk_desc(mmc)) != 0) { ++ ret = gpt_restore(mmc_get_blk_desc(mmc), str_disk_guid, disk_partition, dcount); ++ printf("GPT IS RESTORED %s\n", ret ? "Failed!" : "OK!"); ++ } else if (is_gpt_changed(mmc, p_iptbl_ept)) { ++ if (gpt_priority) { ++ fill_ept_by_gpt(mmc, p_iptbl_ept); ++ printf("and gpt has higher priority, so ept had been update\n"); ++ } else { ++ gpt_restore(mmc_get_blk_desc(mmc), str_disk_guid, disk_partition, dcount); ++ printf("but EPT has higher priority, so gpt had been recover\n"); ++ } ++ } ++ ++ int broken_status = is_gpt_broken(mmc); ++ if (broken_status != 0 && broken_status != 3) { ++ fill_ept_by_gpt(mmc, p_iptbl_ept); ++ free(disk_partition); ++ dcount = p_iptbl_ept->count; ++ disk_partition = calloc(1, PAD_TO_BLOCKSIZE(sizeof(struct disk_partition) * dcount, dev_desc)); ++ trans_ept_to_diskpart(p_iptbl_ept, disk_partition); ++ ret = gpt_restore(mmc_get_blk_desc(mmc), str_disk_guid, disk_partition, p_iptbl_ept->count); ++ if (broken_status == 1) ++ printf("The first gpt has been restore\n"); ++ else if (broken_status == 2) ++ printf("The second gpt has been restore\n"); ++ else ++ printf("Both gpt has been restore\n"); ++ } ++ ++ free(str_disk_guid); ++ free(disk_partition); ++#endif ++ /* init part again */ ++ apt_info("!!!! init part again\n"); ++ part_init(mmc_get_blk_desc(mmc)); ++ ++_out: ++#ifdef CONFIG_AML_PARTITION ++ if (p_iptbl_rsv) ++ _free_iptbl(p_iptbl_rsv); ++#endif ++ return ret; ++} ++ ++ ++struct partitions *find_mmc_partition_by_name (char const *name) ++{ ++ struct partitions *partition = NULL; ++ ++ apt_info("p_iptbl_ept %p\n", p_iptbl_ept); ++ if (NULL == p_iptbl_ept) { ++ goto _out; ++ } ++ partition = p_iptbl_ept->partitions; ++ partition = _find_partition_by_name(partition, ++ p_iptbl_ept->count, name); ++ apt_info("partition %p\n", partition); ++ if (!partition) { ++ partition = _find_partition_by_name(emmc_partition_table, ++ get_emmc_partition_arraysize(), name); ++ } ++ apt_info("partition %p\n", partition); ++_out: ++ return partition; ++} ++ ++/* ++ find virtual partition in inherent table. ++*/ ++int find_virtual_partition_by_name (char const *name, struct partitions *partition) ++{ ++ int ret = 0; ++ ulong offset; ++ struct virtual_partition *vpart = aml_get_virtual_partition_by_name(MMC_DTB_NAME); ++ if (NULL == partition) ++ return -1; ++ ++ offset = _get_inherent_offset(MMC_RESERVED_NAME); ++ if (-1 == offset) { ++ apt_err("can't find %s in inherent\n", MMC_RESERVED_NAME); ++ return -1; ++ } ++ ++ if (!strcmp(name, "dtb")) { ++ strcpy(partition->name, name); ++ partition->offset = offset + vpart->offset; ++ partition->size = (vpart->size * DTB_COPIES); ++ } ++ ++ return ret; ++} ++ ++int find_dev_num_by_partition_name (char const *name) ++{ ++ int dev = -1; ++ ++ /* card */ ++ if (!strcmp(name, MMC_CARD_PARTITION_NAME)) { ++ dev = 0; ++ } else { /* eMMC OR TSD */ ++ /* partition name is valid */ ++ if (find_mmc_partition_by_name(name)) { ++ dev = 1; ++ } ++ } ++ return dev; ++} ++ ++static inline uint64_t get_part_size(struct partitions *part, int num) ++{ ++ return part[num].size; ++} ++ ++static inline uint64_t get_part_offset(struct partitions *part, int num) ++{ ++ return part[num].offset; ++} ++ ++static inline char * get_part_name(struct partitions *part, int num) ++{ ++ return (char *)part[num].name; ++} ++ ++int get_part_info_from_tbl(struct blk_desc *dev_desc, ++ int num, struct disk_partition *info) ++{ ++ int ret = 0; ++ struct partitions *part; ++ ++ if (NULL == p_iptbl_ept) ++ return -1; ++ if (num > (p_iptbl_ept->count-1)) ++ return -1; ++ part = p_iptbl_ept->partitions; ++ ++ /*get partition info by index! */ ++ info->start = (lbaint_t)(get_part_offset(part, num)/dev_desc->blksz); ++ info->size = (lbaint_t)(get_part_size(part, num)/dev_desc->blksz); ++ info->blksz = dev_desc->blksz; ++ strcpy((char *)info->name, get_part_name(part, num)); ++ ++ return ret; ++} ++#if (CONFIG_MPT_DEBUG) ++void show_partition_info(struct disk_partition *info) ++{ ++ printf("----------%s----------\n", __func__); ++ printf("name %10s\n", info->name); ++ printf("blksz " LBAFU "\n", info->blksz); ++ printf("sart %ld\n", info->start); ++ printf("size %ld\n", info->size); ++ printf("----------end----------\n"); ++} ++#endif ++ ++ ++struct partitions *aml_get_partition_by_name(const char *name) ++{ ++ struct partitions *partition = NULL; ++ partition = _find_partition_by_name(emmc_partition_table, ++ get_emmc_partition_arraysize(), name); ++ if (partition == NULL) ++ apt_wrn("do not find match in inherent table %s\n", name); ++ return partition; ++} ++ ++struct virtual_partition *aml_get_virtual_partition_by_name(const char *name) ++{ ++ int i = 0, cnt; ++ struct virtual_partition *part = NULL; ++ cnt = get_emmc_virtual_partition_arraysize(); ++ while (i < cnt) { ++ ++ part = &virtual_partition_table[i]; ++ if (!strcmp(name, part->name)) { ++ apt_info("find %10s @ tbl[%d]\n", name, i); ++ break; ++ } ++ i++; ++ }; ++ if (i == cnt) { ++ part = NULL; ++ apt_wrn("do not find match in table %10s\n", name); ++ } ++ return part; ++} ++ ++int get_part_info_by_name(struct blk_desc *dev_desc, ++ const char *name, struct disk_partition *info) ++{ ++ struct partitions *partition = NULL; ++ struct partitions virtual; ++ int ret = 0; ++ cpu_id_t cpu_id = get_cpu_id(); ++ ++ partition = find_mmc_partition_by_name((char *)name); ++ if (partition) { ++ info->start = (lbaint_t)(partition->offset/dev_desc->blksz); ++ info->size = (lbaint_t)(partition->size/dev_desc->blksz); ++ info->blksz = dev_desc->blksz; ++ strcpy((char *)info->name, partition->name); ++ } else if (!find_virtual_partition_by_name((char *)name, &virtual)) { ++ /* try virtual partitions */ ++ apt_wrn("Got %s in virtual table\n", name); ++ info->start = (lbaint_t)(virtual.offset/dev_desc->blksz); ++ info->size = (lbaint_t)(virtual.size/dev_desc->blksz); ++ info->blksz = dev_desc->blksz; ++ strcpy((char *)info->name, virtual.name); ++ } else { ++ /* all partitions were tried, fail */ ++ ret = -1; ++ goto _out; ++ } ++ /* for bootloader */ ++ if ((0 == info->start) && (cpu_id.family_id >= MESON_CPU_MAJOR_ID_GXL)) { ++ info->start = 1; ++ info->size -= 1; ++ } ++ ++#if (CONFIG_MPT_DEBUG) ++ show_partition_info(info); ++#endif ++_out: ++ return ret; ++} ++ ++ ++/* ++ * get the partition number by name ++ * return value ++ * < 0 means no partition found ++ * >= 0 means valid partition ++ */ ++__weak int get_partition_num_by_name(char const *name) ++{ ++ int ret = -1; ++ struct partitions *partition = NULL; ++ ++ if (NULL == p_iptbl_ept) ++ goto _out; ++ partition = p_iptbl_ept->partitions; ++ ret = _get_part_index_by_name(partition, ++ p_iptbl_ept->count, name); ++_out: ++ return ret; ++} ++ ++/* ++ * get the partition info by number ++ * return value ++ * < 0 means no partition found ++ * >= 0 means valid partition ++ */ ++__weak struct partitions *get_partition_info_by_num(const int num) ++{ ++ struct partitions *partition = NULL; ++ ++ if ((NULL == p_iptbl_ept) ++ || (num >= p_iptbl_ept->count)) ++ goto _out; ++ partition = &p_iptbl_ept->partitions[num]; ++ ++_out: ++ return partition; ++} +diff --git a/drivers/mmc/mmc_aml copy.c b/drivers/mmc/mmc_aml copy.c +new file mode 100644 +index 00000000000..66c0203dc6d +--- /dev/null ++++ b/drivers/mmc/mmc_aml copy.c +@@ -0,0 +1,3299 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright 2008, Freescale Semiconductor, Inc ++ * Andy Fleming ++ * ++ * Based vaguely on the Linux code ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "mmc_private.h" ++#include ++#include ++#include ++#include ++#include ++ ++struct aml_pattern aml_pattern_table[] = { ++ AML_PATTERN_ELEMENT(MMC_PATTERN_NAME, CALI_PATTERN), ++ AML_PATTERN_ELEMENT(MMC_MAGIC_NAME, MAGIC_PATTERN), ++ AML_PATTERN_ELEMENT(MMC_RANDOM_NAME, RANDOM_PATTERN), ++}; ++static int mmc_set_signal_voltage(struct mmc *mmc, uint signal_voltage); ++static int mmc_power_cycle(struct mmc *mmc); ++#if !CONFIG_IS_ENABLED(MMC_TINY) ++static int mmc_select_mode_and_width(struct mmc *mmc, uint card_caps); ++#endif ++ ++extern int emmc_probe(uint32_t init_flag); ++ ++bool emmckey_is_access_range_legal (struct mmc *mmc, ulong start, lbaint_t blkcnt) { ++ ulong key_start_blk, key_end_blk; ++ u64 key_glb_offset; ++ struct partitions * part = NULL; ++ struct virtual_partition *vpart = NULL; ++ if (IS_MMC(mmc)) { ++ vpart = aml_get_virtual_partition_by_name(MMC_KEY_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ key_glb_offset = part->offset + vpart->offset; ++ key_start_blk = (key_glb_offset / MMC_BLOCK_SIZE); ++ key_end_blk = ((key_glb_offset + vpart->size) / MMC_BLOCK_SIZE - 1); ++ if (!(info_disprotect & DISPROTECT_KEY)) { ++ if ((key_start_blk <= (start + blkcnt -1)) ++ && (key_end_blk >= start) ++ && (blkcnt != start)) { ++ pr_info("%s, keys %ld, keye %ld, start %ld, blkcnt %ld\n", ++ mmc->cfg->name, key_start_blk, ++ key_end_blk, start, blkcnt); ++ pr_err("Emmckey: Access range is illegal!\n"); ++ return 0; ++ } ++ } ++ } ++ return 1; ++} ++ ++int emmc_boot_chk(struct mmc *mmc) ++{ ++ u32 val = 0; ++ ++ if (strcmp(mmc->dev->name, "emmc")) ++ return 0; ++ ++ val = readl(SEC_AO_SEC_GP_CFG0); ++ pr_info("SEC_AO_SEC_GP_CFG0 = %x\n", val); ++ if ((val & 0xf) == 0x1) ++ return 1; ++ ++ return 0; ++} ++ ++#if CONFIG_IS_ENABLED(MMC_TINY) ++static struct mmc mmc_static; ++struct mmc *find_mmc_device(int dev_num) ++{ ++ return &mmc_static; ++} ++ ++void mmc_do_preinit(void) ++{ ++ struct mmc *m = &mmc_static; ++#ifdef CONFIG_FSL_ESDHC_ADAPTER_IDENT ++ mmc_set_preinit(m, 1); ++#endif ++ if (m->preinit) ++ mmc_start_init(m); ++} ++ ++struct blk_desc *mmc_get_blk_desc(struct mmc *mmc) ++{ ++ return &mmc->block_dev; ++} ++#endif ++ ++#if !CONFIG_IS_ENABLED(DM_MMC) ++ ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++static int mmc_wait_dat0(struct mmc *mmc, int state, int timeout) ++{ ++ return -ENOSYS; ++} ++#endif ++ ++__weak int board_mmc_getwp(struct mmc *mmc) ++{ ++ return -1; ++} ++ ++int mmc_getwp(struct mmc *mmc) ++{ ++ int wp; ++ ++ wp = board_mmc_getwp(mmc); ++ ++ if (wp < 0) { ++ if (mmc->cfg->ops->getwp) ++ wp = mmc->cfg->ops->getwp(mmc); ++ else ++ wp = 0; ++ } ++ ++ return wp; ++} ++ ++__weak int board_mmc_getcd(struct mmc *mmc) ++{ ++ return -1; ++} ++#endif ++ ++#ifdef CONFIG_MMC_TRACE ++void mmmc_trace_before_send(struct mmc *mmc, struct mmc_cmd *cmd) ++{ ++ pr_info("CMD_SEND:%d\n", cmd->cmdidx); ++ pr_info("\t\tARG\t\t\t 0x%08X\n", cmd->cmdarg); ++} ++ ++void mmmc_trace_after_send(struct mmc *mmc, struct mmc_cmd *cmd, int ret) ++{ ++ int i; ++ u8 *ptr; ++ ++ if (ret) { ++ pr_info("\t\tRET\t\t\t %d\n", ret); ++ } else { ++ switch (cmd->resp_type) { ++ case MMC_RSP_NONE: ++ pr_info("\t\tMMC_RSP_NONE\n"); ++ break; ++ case MMC_RSP_R1: ++ pr_info("\t\tMMC_RSP_R1,5,6,7 \t 0x%08X \n", ++ cmd->response[0]); ++ break; ++ case MMC_RSP_R1b: ++ pr_info("\t\tMMC_RSP_R1b\t\t 0x%08X \n", ++ cmd->response[0]); ++ break; ++ case MMC_RSP_R2: ++ pr_info("\t\tMMC_RSP_R2\t\t 0x%08X \n", ++ cmd->response[0]); ++ pr_info("\t\t \t\t 0x%08X \n", ++ cmd->response[1]); ++ pr_info("\t\t \t\t 0x%08X \n", ++ cmd->response[2]); ++ pr_info("\t\t \t\t 0x%08X \n", ++ cmd->response[3]); ++ pr_info("\n"); ++ pr_info("\t\t\t\t\tDUMPING DATA\n"); ++ for (i = 0; i < 4; i++) { ++ int j; ++ pr_info("\t\t\t\t\t%03d - ", i*4); ++ ptr = (u8 *)&cmd->response[i]; ++ ptr += 3; ++ for (j = 0; j < 4; j++) ++ pr_info("%02X ", *ptr--); ++ pr_info("\n"); ++ } ++ break; ++ case MMC_RSP_R3: ++ pr_info("\t\tMMC_RSP_R3,4\t\t 0x%08X \n", ++ cmd->response[0]); ++ break; ++ default: ++ pr_info("\t\tERROR MMC rsp not supported\n"); ++ break; ++ } ++ } ++} ++ ++void mmc_trace_state(struct mmc *mmc, struct mmc_cmd *cmd) ++{ ++ int status; ++ ++ status = (cmd->response[0] & MMC_STATUS_CURR_STATE) >> 9; ++ pr_info("CURR STATE:%d\n", status); ++} ++#endif ++ ++#if CONFIG_IS_ENABLED(MMC_VERBOSE) || defined(DEBUG) ++const char *mmc_mode_name(enum bus_mode mode) ++{ ++ static const char *const names[] = { ++ [MMC_LEGACY] = "MMC legacy", ++ [SD_LEGACY] = "SD Legacy", ++ [MMC_HS] = "MMC High Speed (26MHz)", ++ [SD_HS] = "SD High Speed (50MHz)", ++ [UHS_SDR12] = "UHS SDR12 (25MHz)", ++ [UHS_SDR25] = "UHS SDR25 (50MHz)", ++ [UHS_SDR50] = "UHS SDR50 (100MHz)", ++ [UHS_SDR104] = "UHS SDR104 (208MHz)", ++ [UHS_DDR50] = "UHS DDR50 (50MHz)", ++ [MMC_HS_52] = "MMC High Speed (52MHz)", ++ [MMC_DDR_52] = "MMC DDR52 (52MHz)", ++ [MMC_HS_200] = "HS200 (200MHz)", ++ [MMC_HS_400] = "HS400 (200MHz)", ++ }; ++ ++ if (mode >= MMC_MODES_END) ++ return "Unknown mode"; ++ else ++ return names[mode]; ++} ++#endif ++ ++static uint mmc_mode2freq(struct mmc *mmc, enum bus_mode mode) ++{ ++ static const int freqs[] = { ++ [MMC_LEGACY] = 25000000, ++ [SD_LEGACY] = 25000000, ++ [MMC_HS] = 26000000, ++ [SD_HS] = 50000000, ++ [MMC_HS_52] = 52000000, ++ [MMC_DDR_52] = 52000000, ++ [UHS_SDR12] = 25000000, ++ [UHS_SDR25] = 50000000, ++ [UHS_SDR50] = 100000000, ++ [UHS_DDR50] = 50000000, ++ [UHS_SDR104] = 208000000, ++ [MMC_HS_200] = 200000000, ++ [MMC_HS_400] = 200000000, ++ }; ++ ++ if (mode == MMC_LEGACY) ++ return mmc->legacy_speed; ++ else if (mode >= MMC_MODES_END) ++ return 0; ++ else ++ return freqs[mode]; ++} ++ ++static int mmc_select_mode(struct mmc *mmc, enum bus_mode mode) ++{ ++ mmc->selected_mode = mode; ++ mmc->tran_speed = mmc_mode2freq(mmc, mode); ++ mmc->ddr_mode = mmc_is_mode_ddr(mode); ++ pr_debug("selecting mode %s (freq : %d MHz)\n", mmc_mode_name(mode), ++ mmc->tran_speed / 1000000); ++ return 0; ++} ++ ++#if !CONFIG_IS_ENABLED(DM_MMC) ++int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) ++{ ++ int ret; ++ ++ mmmc_trace_before_send(mmc, cmd); ++ ret = mmc->cfg->ops->send_cmd(mmc, cmd, data); ++ mmmc_trace_after_send(mmc, cmd, ret); ++ ++ return ret; ++} ++#endif ++ ++int mmc_send_status(struct mmc *mmc, int timeout) ++{ ++ struct mmc_cmd cmd; ++ int err, retries = 5; ++ int status; ++ cmd.cmdidx = MMC_CMD_SEND_STATUS; ++ cmd.resp_type = MMC_RSP_R1; ++ if (!mmc_host_is_spi(mmc)) ++ cmd.cmdarg = mmc->rca << 16; ++ ++ while (1) { ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (!err) { ++ if ((cmd.response[0] & MMC_STATUS_RDY_FOR_DATA) && ++ (cmd.response[0] & MMC_STATUS_CURR_STATE) != ++ MMC_STATE_PRG) ++ break; ++ ++ if (cmd.response[0] & MMC_STATUS_MASK) { ++#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) ++ pr_err("Status Error: 0x%08X\n", ++ cmd.response[0]); ++#endif ++ return -ECOMM; ++ } ++ } else if (--retries < 0) ++ return err; ++ ++ if (timeout-- <= 0) ++ break; ++ ++ udelay(1000); ++ } ++ ++ mmc_trace_state(mmc, &cmd); ++ if (timeout <= 0) { ++#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) ++ pr_debug("Timeout waiting card ready\n"); ++#endif ++ return -ETIMEDOUT; ++ } ++ status = (cmd.response[0] & MMC_STATUS_CURR_STATE) >> 9; ++ if (cmd.response[0] & MMC_STATUS_SWITCH_ERROR) { ++ pr_err("mmc status switch error status =0x%x\n", status); ++ return -21; ++ } ++ return 0; ++} ++ ++int mmc_set_blocklen(struct mmc *mmc, int len) ++{ ++ struct mmc_cmd cmd; ++ int err; ++ ++ if (mmc->ddr_mode) ++ return 0; ++ ++ cmd.cmdidx = MMC_CMD_SET_BLOCKLEN; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = len; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++#ifdef CONFIG_MMC_QUIRKS ++ if (err && (mmc->quirks & MMC_QUIRK_RETRY_SET_BLOCKLEN)) { ++ int retries = 4; ++ /* ++ * It has been seen that SET_BLOCKLEN may fail on the first ++ * attempt, let's try a few more time ++ */ ++ do { ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (!err) ++ break; ++ } while (retries--); ++ } ++#endif ++ ++ return err; ++} ++ ++#ifdef MMC_SUPPORTS_TUNING ++static const u8 tuning_blk_pattern_4bit[] = { ++ 0xff, 0x0f, 0xff, 0x00, 0xff, 0xcc, 0xc3, 0xcc, ++ 0xc3, 0x3c, 0xcc, 0xff, 0xfe, 0xff, 0xfe, 0xef, ++ 0xff, 0xdf, 0xff, 0xdd, 0xff, 0xfb, 0xff, 0xfb, ++ 0xbf, 0xff, 0x7f, 0xff, 0x77, 0xf7, 0xbd, 0xef, ++ 0xff, 0xf0, 0xff, 0xf0, 0x0f, 0xfc, 0xcc, 0x3c, ++ 0xcc, 0x33, 0xcc, 0xcf, 0xff, 0xef, 0xff, 0xee, ++ 0xff, 0xfd, 0xff, 0xfd, 0xdf, 0xff, 0xbf, 0xff, ++ 0xbb, 0xff, 0xf7, 0xff, 0xf7, 0x7f, 0x7b, 0xde, ++}; ++ ++static const u8 tuning_blk_pattern_8bit[] = { ++ 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, ++ 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc, 0xcc, ++ 0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff, 0xff, ++ 0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee, 0xff, ++ 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd, 0xdd, ++ 0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xbb, ++ 0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, 0xff, ++ 0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee, 0xff, ++ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, ++ 0x00, 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0x33, 0xcc, ++ 0xcc, 0xcc, 0x33, 0x33, 0xcc, 0xcc, 0xcc, 0xff, ++ 0xff, 0xff, 0xee, 0xff, 0xff, 0xff, 0xee, 0xee, ++ 0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xdd, ++ 0xdd, 0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff, ++ 0xbb, 0xbb, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, ++ 0xff, 0x77, 0x77, 0xff, 0x77, 0xbb, 0xdd, 0xee, ++}; ++ ++int mmc_send_tuning(struct mmc *mmc, u32 opcode, int *cmd_error) ++{ ++ struct mmc_cmd cmd; ++ struct mmc_data data; ++ const u8 *tuning_block_pattern; ++ int size, err; ++ ++ if (mmc->bus_width == 8) { ++ tuning_block_pattern = tuning_blk_pattern_8bit; ++ size = sizeof(tuning_blk_pattern_8bit); ++ } else if (mmc->bus_width == 4) { ++ tuning_block_pattern = tuning_blk_pattern_4bit; ++ size = sizeof(tuning_blk_pattern_4bit); ++ } else { ++ return -EINVAL; ++ } ++ ++ ALLOC_CACHE_ALIGN_BUFFER(u8, data_buf, size); ++ ++ cmd.cmdidx = opcode; ++ cmd.cmdarg = 0; ++ cmd.resp_type = MMC_RSP_R1; ++ ++ data.dest = (void *)data_buf; ++ data.blocks = 1; ++ data.blocksize = size; ++ data.flags = MMC_DATA_READ; ++ ++ err = mmc_send_cmd(mmc, &cmd, &data); ++ if (err) ++ return err; ++ ++ if (memcmp(data_buf, tuning_block_pattern, size)) ++ return -EIO; ++ ++ return 0; ++} ++#endif ++ ++static int mmc_read_blocks(struct mmc *mmc, void *dst, lbaint_t start, ++ lbaint_t blkcnt) ++{ ++ struct mmc_cmd cmd; ++ struct mmc_data data; ++ ++ if (blkcnt > 1) ++ cmd.cmdidx = MMC_CMD_READ_MULTIPLE_BLOCK; ++ else ++ cmd.cmdidx = MMC_CMD_READ_SINGLE_BLOCK; ++ ++ if (mmc->high_capacity) ++ cmd.cmdarg = start; ++ else ++ cmd.cmdarg = start * mmc->read_bl_len; ++ ++ cmd.resp_type = MMC_RSP_R1; ++ ++ data.dest = dst; ++ data.blocks = blkcnt; ++ data.blocksize = mmc->read_bl_len; ++ data.flags = MMC_DATA_READ; ++ ++ if (mmc_send_cmd(mmc, &cmd, &data)) ++ return 0; ++ ++ if (blkcnt > 1) { ++ cmd.cmdidx = MMC_CMD_STOP_TRANSMISSION; ++ cmd.cmdarg = 0; ++ cmd.resp_type = MMC_RSP_R1b; ++ if (mmc_send_cmd(mmc, &cmd, NULL)) { ++#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) ++ pr_err("mmc fail to send stop cmd\n"); ++#endif ++ return 0; ++ } ++ } ++ ++ return blkcnt; ++} ++ ++#if CONFIG_IS_ENABLED(BLK) ++ulong mmc_bread(struct udevice *dev, lbaint_t start, lbaint_t blkcnt, void *dst) ++#else ++ulong mmc_bread(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt, ++ void *dst) ++#endif ++{ ++#if CONFIG_IS_ENABLED(BLK) ++ struct blk_desc *block_dev = dev_get_uclass_platdata(dev); ++#endif ++ int dev_num = block_dev->devnum; ++ int err; ++ lbaint_t cur, blocks_todo = blkcnt; ++ ++ if (blkcnt == 0) ++ return 0; ++ ++ struct mmc *mmc = find_mmc_device(dev_num); ++ if (!mmc) ++ return 0; ++ ++ if (CONFIG_IS_ENABLED(MMC_TINY)) ++ err = mmc_switch_part(mmc, block_dev->hwpart); ++ else ++ err = blk_dselect_hwpart(block_dev, block_dev->hwpart); ++ ++ if (err < 0) ++ return 0; ++ ++ if ((start + blkcnt) > block_dev->lba) { ++#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) ++ pr_err("MMC: block number 0x" LBAF " exceeds max(0x" LBAF ")\n", ++ start + blkcnt, block_dev->lba); ++#endif ++ return 0; ++ } ++ ++ if (mmc_set_blocklen(mmc, mmc->read_bl_len)) { ++ pr_debug("%s: Failed to set blocklen\n", __func__); ++ return 0; ++ } ++ if (!emmckey_is_access_range_legal(mmc, start, blkcnt)) ++ return 0; ++ ++ do { ++ cur = (blocks_todo > mmc->cfg->b_max) ? ++ mmc->cfg->b_max : blocks_todo; ++ if (mmc_read_blocks(mmc, dst, start, cur) != cur) { ++ pr_debug("%s: Failed to read blocks\n", __func__); ++ return 0; ++ } ++ blocks_todo -= cur; ++ start += cur; ++ dst += cur * mmc->read_bl_len; ++ } while (blocks_todo > 0); ++ ++ return blkcnt; ++} ++ ++static int mmc_go_idle(struct mmc *mmc) ++{ ++ struct mmc_cmd cmd; ++ int err; ++ ++ udelay(1000); ++ ++ cmd.cmdidx = MMC_CMD_GO_IDLE_STATE; ++ cmd.cmdarg = 0; ++ cmd.resp_type = MMC_RSP_NONE; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ ++ udelay(2000); ++ ++ return 0; ++} ++ ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++static int mmc_switch_voltage(struct mmc *mmc, int signal_voltage) ++{ ++ struct mmc_cmd cmd; ++ int err = 0; ++ ++ /* ++ * Send CMD11 only if the request is to switch the card to ++ * 1.8V signalling. ++ */ ++ if (signal_voltage == MMC_SIGNAL_VOLTAGE_330) ++ return mmc_set_signal_voltage(mmc, signal_voltage); ++ ++ cmd.cmdidx = SD_CMD_SWITCH_UHS18V; ++ cmd.cmdarg = 0; ++ cmd.resp_type = MMC_RSP_R1; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (err) ++ return err; ++ ++ if (!mmc_host_is_spi(mmc) && (cmd.response[0] & MMC_STATUS_ERROR)) ++ return -EIO; ++ ++ /* ++ * The card should drive cmd and dat[0:3] low immediately ++ * after the response of cmd11, but wait 100 us to be sure ++ */ ++ err = mmc_wait_dat0(mmc, 0, 100); ++ if (err == -ENOSYS) ++ udelay(100); ++ else if (err) ++ return -ETIMEDOUT; ++ ++ /* ++ * During a signal voltage level switch, the clock must be gated ++ * for 5 ms according to the SD spec ++ */ ++ mmc_set_clock(mmc, mmc->clock, MMC_CLK_DISABLE); ++ ++ err = mmc_set_signal_voltage(mmc, signal_voltage); ++ if (err) ++ return err; ++ ++ /* Keep clock gated for at least 10 ms, though spec only says 5 ms */ ++ mdelay(10); ++ mmc_set_clock(mmc, mmc->clock, MMC_CLK_ENABLE); ++ ++ /* ++ * Failure to switch is indicated by the card holding ++ * dat[0:3] low. Wait for at least 1 ms according to spec ++ */ ++ err = mmc_wait_dat0(mmc, 1, 1000); ++ if (err == -ENOSYS) ++ udelay(1000); ++ else if (err) ++ return -ETIMEDOUT; ++ ++ return 0; ++} ++#endif ++ ++static int sd_send_op_cond(struct mmc *mmc, bool uhs_en) ++{ ++ int timeout = 1000; ++ int err; ++ struct mmc_cmd cmd; ++ ++ while (1) { ++ cmd.cmdidx = MMC_CMD_APP_CMD; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = 0; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ ++ cmd.cmdidx = SD_CMD_APP_SEND_OP_COND; ++ cmd.resp_type = MMC_RSP_R3; ++ ++ /* ++ * Most cards do not answer if some reserved bits ++ * in the ocr are set. However, Some controller ++ * can set bit 7 (reserved for low voltages), but ++ * how to manage low voltages SD card is not yet ++ * specified. ++ */ ++ cmd.cmdarg = mmc_host_is_spi(mmc) ? 0 : ++ (mmc->cfg->voltages & 0xff8000); ++ ++ if (mmc->version == SD_VERSION_2) ++ cmd.cmdarg |= OCR_HCS; ++ ++ if (uhs_en) ++ cmd.cmdarg |= OCR_S18R; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ ++ if (cmd.response[0] & OCR_BUSY) ++ break; ++ ++ if (timeout-- <= 0) ++ return -EOPNOTSUPP; ++ ++ udelay(1000); ++ } ++ ++ if (mmc->version != SD_VERSION_2) ++ mmc->version = SD_VERSION_1_0; ++ ++ if (mmc_host_is_spi(mmc)) { /* read OCR for spi */ ++ cmd.cmdidx = MMC_CMD_SPI_READ_OCR; ++ cmd.resp_type = MMC_RSP_R3; ++ cmd.cmdarg = 0; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ } ++ ++ mmc->ocr = cmd.response[0]; ++ ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++ if (uhs_en && !(mmc_host_is_spi(mmc)) && (cmd.response[0] & 0x41000000) ++ == 0x41000000) { ++ err = mmc_switch_voltage(mmc, MMC_SIGNAL_VOLTAGE_180); ++ if (err) ++ return err; ++ } ++#endif ++ ++ mmc->high_capacity = ((mmc->ocr & OCR_HCS) == OCR_HCS); ++ mmc->rca = 0; ++ ++ return 0; ++} ++ ++static int mmc_send_op_cond_iter(struct mmc *mmc, int use_arg) ++{ ++ struct mmc_cmd cmd; ++ int err; ++ ++ cmd.cmdidx = MMC_CMD_SEND_OP_COND; ++ cmd.resp_type = MMC_RSP_R3; ++ cmd.cmdarg = 0; ++ if (use_arg && !mmc_host_is_spi(mmc)) ++ cmd.cmdarg = OCR_HCS | ++ (mmc->cfg->voltages & ++ (mmc->ocr & OCR_VOLTAGE_MASK)) | ++ (mmc->ocr & OCR_ACCESS_MODE); ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (err) ++ return err; ++ mmc->ocr = cmd.response[0]; ++ return 0; ++} ++ ++static int mmc_send_op_cond(struct mmc *mmc) ++{ ++ int err, i; ++ ++ /* Some cards seem to need this */ ++ mmc_go_idle(mmc); ++ ++ /* Asking to the card its capabilities */ ++ for (i = 0; i < 2; i++) { ++ err = mmc_send_op_cond_iter(mmc, i != 0); ++ if (err) ++ return err; ++ ++ /* exit if not busy (flag seems to be inverted) */ ++ if (mmc->ocr & OCR_BUSY) ++ break; ++ } ++ mmc->op_cond_pending = 1; ++ return 0; ++} ++ ++static int mmc_complete_op_cond(struct mmc *mmc) ++{ ++ struct mmc_cmd cmd; ++ int timeout = 1000; ++ ulong start; ++ int err; ++ ++ mmc->op_cond_pending = 0; ++ if (!(mmc->ocr & OCR_BUSY)) { ++ /* Some cards seem to need this */ ++ mmc_go_idle(mmc); ++ ++ start = get_timer(0); ++ while (1) { ++ err = mmc_send_op_cond_iter(mmc, 1); ++ if (err) ++ return err; ++ if (mmc->ocr & OCR_BUSY) ++ break; ++ if (get_timer(start) > timeout) ++ return -EOPNOTSUPP; ++ udelay(100); ++ } ++ } ++ ++ if (mmc_host_is_spi(mmc)) { /* read OCR for spi */ ++ cmd.cmdidx = MMC_CMD_SPI_READ_OCR; ++ cmd.resp_type = MMC_RSP_R3; ++ cmd.cmdarg = 0; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ ++ mmc->ocr = cmd.response[0]; ++ } ++ ++ mmc->version = MMC_VERSION_UNKNOWN; ++ ++ mmc->high_capacity = ((mmc->ocr & OCR_HCS) == OCR_HCS); ++ mmc->rca = 1; ++ ++ return 0; ++} ++ ++static int mmc_send_ext_csd(struct mmc *mmc, u8 *ext_csd) ++{ ++ struct mmc_cmd cmd; ++ struct mmc_data data; ++ int err; ++ ++ /* Get the Card Status Register */ ++ cmd.cmdidx = MMC_CMD_SEND_EXT_CSD; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = 0; ++ ++ data.dest = (char *)ext_csd; ++ data.blocks = 1; ++ data.blocksize = MMC_MAX_BLOCK_LEN; ++ data.flags = MMC_DATA_READ; ++ ++ err = mmc_send_cmd(mmc, &cmd, &data); ++ ++ return err; ++} ++ ++int mmc_get_ext_csd(struct mmc *mmc, u8 *ext_csd) ++{ ++ return mmc_send_ext_csd(mmc, ext_csd); ++} ++ ++int mmc_switch(struct mmc *mmc, u8 set, u8 index, u8 value) ++{ ++ struct mmc_cmd cmd; ++ int timeout = 1000; ++ int retries = 3; ++ int ret; ++ ++ cmd.cmdidx = MMC_CMD_SWITCH; ++ cmd.resp_type = MMC_RSP_R1b; ++ cmd.cmdarg = (MMC_SWITCH_MODE_WRITE_BYTE << 24) | ++ (index << 16) | ++ (value << 8); ++ ++ while (retries > 0) { ++ ret = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ /* Waiting for the ready status */ ++ if (!ret) { ++ ret = mmc_send_status(mmc, timeout); ++ return ret; ++ } ++ ++ retries--; ++ } ++ ++ return ret; ++ ++} ++ ++#if !CONFIG_IS_ENABLED(MMC_TINY) ++u8 ext_csd_w[] = {191, 187, 185, 183, 179, 178, 177, 175, ++ 173, 171, 169, 167, 165, 164, 163, 162, ++ 161, 156, 155, 143, 140, 136, 134, 133, ++ 132, 131, 62, 59, 56, 52, 37, 34, ++ 33, 32, 31, 30, 29, 22, 17, 16, 15}; ++ ++int mmc_set_ext_csd(struct mmc *mmc, u8 index, u8 value) ++{ ++ int ret = -21, i; ++ ++ for (i = 0; i < sizeof(ext_csd_w); i++) { ++ if (ext_csd_w[i] == index) ++ break; ++ } ++ if (i != sizeof(ext_csd_w)) ++ ret = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, index, value); ++ ++ return ret; ++} ++ ++static int mmc_set_card_speed(struct mmc *mmc, enum bus_mode mode) ++{ ++ int err; ++ int speed_bits; ++ ++ ALLOC_CACHE_ALIGN_BUFFER(u8, test_csd, MMC_MAX_BLOCK_LEN); ++ ++ switch (mode) { ++ case MMC_HS: ++ case MMC_HS_52: ++ case MMC_DDR_52: ++ speed_bits = EXT_CSD_TIMING_HS; ++ break; ++#if CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) ++ case MMC_HS_200: ++ speed_bits = EXT_CSD_TIMING_HS200; ++ break; ++#endif ++#if CONFIG_IS_ENABLED(MMC_HS400_SUPPORT) ++ case MMC_HS_400: ++ speed_bits = EXT_CSD_TIMING_HS400; ++ break; ++#endif ++ case MMC_LEGACY: ++ speed_bits = EXT_CSD_TIMING_LEGACY; ++ break; ++ default: ++ return -EINVAL; ++ } ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING, ++ speed_bits); ++ if (err) ++ return err; ++ ++ if ((mode == MMC_HS) || (mode == MMC_HS_52)) { ++ /* Now check to see that it worked */ ++ err = mmc_send_ext_csd(mmc, test_csd); ++ if (err) ++ return err; ++ ++ /* No high-speed support */ ++ if (!test_csd[EXT_CSD_HS_TIMING]) ++ return -ENOTSUPP; ++ } ++ ++ return 0; ++} ++ ++static int mmc_get_capabilities(struct mmc *mmc) ++{ ++ u8 *ext_csd = mmc->ext_csd; ++ char cardtype; ++ ++ mmc->card_caps = MMC_MODE_1BIT | MMC_CAP(MMC_LEGACY); ++ ++ if (mmc_host_is_spi(mmc)) ++ return 0; ++ ++ /* Only version 4 supports high-speed */ ++ if (mmc->version < MMC_VERSION_4) ++ return 0; ++ ++ if (!ext_csd) { ++ pr_err("No ext_csd found!\n"); /* this should enver happen */ ++ return -ENOTSUPP; ++ } ++ ++ mmc->card_caps |= MMC_MODE_4BIT | MMC_MODE_8BIT; ++ ++ cardtype = ext_csd[EXT_CSD_CARD_TYPE]; ++ mmc->cardtype = cardtype; ++ ++#if CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) ++ if (cardtype & (EXT_CSD_CARD_TYPE_HS200_1_2V | ++ EXT_CSD_CARD_TYPE_HS200_1_8V)) { ++ mmc->card_caps |= MMC_MODE_HS200; ++ } ++#endif ++#if CONFIG_IS_ENABLED(MMC_HS400_SUPPORT) ++ if (cardtype & (EXT_CSD_CARD_TYPE_HS400_1_2V | ++ EXT_CSD_CARD_TYPE_HS400_1_8V)) { ++ mmc->card_caps |= MMC_MODE_HS400; ++ } ++#endif ++ if (cardtype & EXT_CSD_CARD_TYPE_52) { ++ if (cardtype & EXT_CSD_CARD_TYPE_DDR_52) ++ mmc->card_caps |= MMC_MODE_DDR_52MHz; ++ mmc->card_caps |= MMC_MODE_HS_52MHz; ++ } ++ if (cardtype & EXT_CSD_CARD_TYPE_26) ++ mmc->card_caps |= MMC_MODE_HS; ++ ++ return 0; ++} ++#endif ++ ++static int mmc_set_capacity(struct mmc *mmc, int part_num) ++{ ++ switch (part_num) { ++ case 0: ++ mmc->capacity = mmc->capacity_user; ++ break; ++ case 1: ++ case 2: ++ mmc->capacity = mmc->capacity_boot; ++ break; ++ case 3: ++ mmc->capacity = mmc->capacity_rpmb; ++ break; ++ case 4: ++ case 5: ++ case 6: ++ case 7: ++ mmc->capacity = mmc->capacity_gp[part_num - 4]; ++ break; ++ default: ++ return -1; ++ } ++ ++ mmc_get_blk_desc(mmc)->lba = lldiv(mmc->capacity, mmc->read_bl_len); ++ ++ return 0; ++} ++ ++int mmc_switch_part(struct mmc *mmc, unsigned int part_num) ++{ ++ int ret; ++ ++ ret = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_PART_CONF, ++ (mmc->part_config & ~PART_ACCESS_MASK) ++ | (part_num & PART_ACCESS_MASK)); ++ ++ /* ++ * Set the capacity if the switch succeeded or was intended ++ * to return to representing the raw device. ++ */ ++ if ((ret == 0) || ((ret == -ENODEV) && (part_num == 0))) { ++ ret = mmc_set_capacity(mmc, part_num); ++ mmc_get_blk_desc(mmc)->hwpart = part_num; ++ } ++ ++ return ret; ++} ++ ++#if CONFIG_IS_ENABLED(MMC_HW_PARTITIONING) ++int mmc_hwpart_config(struct mmc *mmc, ++ const struct mmc_hwpart_conf *conf, ++ enum mmc_hwpart_conf_mode mode) ++{ ++ u8 part_attrs = 0; ++ u32 enh_size_mult; ++ u32 enh_start_addr; ++ u32 gp_size_mult[4]; ++ u32 max_enh_size_mult; ++ u32 tot_enh_size_mult = 0; ++ u8 wr_rel_set; ++ int i, pidx, err; ++ ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, MMC_MAX_BLOCK_LEN); ++ ++ if (mode < MMC_HWPART_CONF_CHECK || mode > MMC_HWPART_CONF_COMPLETE) ++ return -EINVAL; ++ ++ if (IS_SD(mmc) || (mmc->version < MMC_VERSION_4_41)) { ++ pr_err("eMMC >= 4.4 required for enhanced user data area\n"); ++ return -EMEDIUMTYPE; ++ } ++ ++ if (!(mmc->part_support & PART_SUPPORT)) { ++ pr_err("Card does not support partitioning\n"); ++ return -EMEDIUMTYPE; ++ } ++ ++ if (!mmc->hc_wp_grp_size) { ++ pr_err("Card does not define HC WP group size\n"); ++ return -EMEDIUMTYPE; ++ } ++ ++ /* check partition alignment and total enhanced size */ ++ if (conf->user.enh_size) { ++ if (conf->user.enh_size % mmc->hc_wp_grp_size || ++ conf->user.enh_start % mmc->hc_wp_grp_size) { ++ pr_err("User data enhanced area not HC WP group " ++ "size aligned\n"); ++ return -EINVAL; ++ } ++ part_attrs |= EXT_CSD_ENH_USR; ++ enh_size_mult = conf->user.enh_size / mmc->hc_wp_grp_size; ++ if (mmc->high_capacity) { ++ enh_start_addr = conf->user.enh_start; ++ } else { ++ enh_start_addr = (conf->user.enh_start << 9); ++ } ++ } else { ++ enh_size_mult = 0; ++ enh_start_addr = 0; ++ } ++ tot_enh_size_mult += enh_size_mult; ++ ++ for (pidx = 0; pidx < 4; pidx++) { ++ if (conf->gp_part[pidx].size % mmc->hc_wp_grp_size) { ++ pr_err("GP%i partition not HC WP group size " ++ "aligned\n", pidx+1); ++ return -EINVAL; ++ } ++ gp_size_mult[pidx] = conf->gp_part[pidx].size / mmc->hc_wp_grp_size; ++ if (conf->gp_part[pidx].size && conf->gp_part[pidx].enhanced) { ++ part_attrs |= EXT_CSD_ENH_GP(pidx); ++ tot_enh_size_mult += gp_size_mult[pidx]; ++ } ++ } ++ ++ if (part_attrs && ! (mmc->part_support & ENHNCD_SUPPORT)) { ++ pr_err("Card does not support enhanced attribute\n"); ++ return -EMEDIUMTYPE; ++ } ++ ++ err = mmc_send_ext_csd(mmc, ext_csd); ++ if (err) ++ return err; ++ ++ max_enh_size_mult = ++ (ext_csd[EXT_CSD_MAX_ENH_SIZE_MULT+2] << 16) + ++ (ext_csd[EXT_CSD_MAX_ENH_SIZE_MULT+1] << 8) + ++ ext_csd[EXT_CSD_MAX_ENH_SIZE_MULT]; ++ if (tot_enh_size_mult > max_enh_size_mult) { ++ pr_err("Total enhanced size exceeds maximum (%u > %u)\n", ++ tot_enh_size_mult, max_enh_size_mult); ++ return -EMEDIUMTYPE; ++ } ++ ++ /* The default value of EXT_CSD_WR_REL_SET is device ++ * dependent, the values can only be changed if the ++ * EXT_CSD_HS_CTRL_REL bit is set. The values can be ++ * changed only once and before partitioning is completed. */ ++ wr_rel_set = ext_csd[EXT_CSD_WR_REL_SET]; ++ if (conf->user.wr_rel_change) { ++ if (conf->user.wr_rel_set) ++ wr_rel_set |= EXT_CSD_WR_DATA_REL_USR; ++ else ++ wr_rel_set &= ~EXT_CSD_WR_DATA_REL_USR; ++ } ++ for (pidx = 0; pidx < 4; pidx++) { ++ if (conf->gp_part[pidx].wr_rel_change) { ++ if (conf->gp_part[pidx].wr_rel_set) ++ wr_rel_set |= EXT_CSD_WR_DATA_REL_GP(pidx); ++ else ++ wr_rel_set &= ~EXT_CSD_WR_DATA_REL_GP(pidx); ++ } ++ } ++ ++ if (wr_rel_set != ext_csd[EXT_CSD_WR_REL_SET] && ++ !(ext_csd[EXT_CSD_WR_REL_PARAM] & EXT_CSD_HS_CTRL_REL)) { ++ puts("Card does not support host controlled partition write " ++ "reliability settings\n"); ++ return -EMEDIUMTYPE; ++ } ++ ++ if (ext_csd[EXT_CSD_PARTITION_SETTING] & ++ EXT_CSD_PARTITION_SETTING_COMPLETED) { ++ pr_err("Card already partitioned\n"); ++ return -EPERM; ++ } ++ ++ if (mode == MMC_HWPART_CONF_CHECK) ++ return 0; ++ ++ /* Partitioning requires high-capacity size definitions */ ++ if (!(ext_csd[EXT_CSD_ERASE_GROUP_DEF] & 0x01)) { ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_ERASE_GROUP_DEF, 1); ++ ++ if (err) ++ return err; ++ ++ ext_csd[EXT_CSD_ERASE_GROUP_DEF] = 1; ++ ++ /* update erase group size to be high-capacity */ ++ mmc->erase_grp_size = ++ ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] * 1024; ++ } ++ ++ /* all OK, write the configuration */ ++ for (i = 0; i < 4; i++) { ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_ENH_START_ADDR+i, ++ (enh_start_addr >> (i*8)) & 0xFF); ++ if (err) ++ return err; ++ } ++ for (i = 0; i < 3; i++) { ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_ENH_SIZE_MULT+i, ++ (enh_size_mult >> (i*8)) & 0xFF); ++ if (err) ++ return err; ++ } ++ for (pidx = 0; pidx < 4; pidx++) { ++ for (i = 0; i < 3; i++) { ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_GP_SIZE_MULT+pidx*3+i, ++ (gp_size_mult[pidx] >> (i*8)) & 0xFF); ++ if (err) ++ return err; ++ } ++ } ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_PARTITIONS_ATTRIBUTE, part_attrs); ++ if (err) ++ return err; ++ ++ if (mode == MMC_HWPART_CONF_SET) ++ return 0; ++ ++ /* The WR_REL_SET is a write-once register but shall be ++ * written before setting PART_SETTING_COMPLETED. As it is ++ * write-once we can only write it when completing the ++ * partitioning. */ ++ if (wr_rel_set != ext_csd[EXT_CSD_WR_REL_SET]) { ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_WR_REL_SET, wr_rel_set); ++ if (err) ++ return err; ++ } ++ ++ /* Setting PART_SETTING_COMPLETED confirms the partition ++ * configuration but it only becomes effective after power ++ * cycle, so we do not adjust the partition related settings ++ * in the mmc struct. */ ++ ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_PARTITION_SETTING, ++ EXT_CSD_PARTITION_SETTING_COMPLETED); ++ if (err) ++ return err; ++ ++ return 0; ++} ++#endif ++ ++#if !CONFIG_IS_ENABLED(DM_MMC) ++int mmc_getcd(struct mmc *mmc) ++{ ++ int cd; ++ ++ cd = board_mmc_getcd(mmc); ++ ++ if (cd < 0) { ++ if (mmc->cfg->ops->getcd) ++ cd = mmc->cfg->ops->getcd(mmc); ++ else ++ cd = 1; ++ } ++ ++ return cd; ++} ++#endif ++ ++#if !CONFIG_IS_ENABLED(MMC_TINY) ++static int sd_switch(struct mmc *mmc, int mode, int group, u8 value, u8 *resp) ++{ ++ struct mmc_cmd cmd; ++ struct mmc_data data; ++ ++ /* Switch the frequency */ ++ cmd.cmdidx = SD_CMD_SWITCH_FUNC; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = (mode << 31) | 0xffffff; ++ cmd.cmdarg &= ~(0xf << (group * 4)); ++ cmd.cmdarg |= value << (group * 4); ++ ++ data.dest = (char *)resp; ++ data.blocksize = 64; ++ data.blocks = 1; ++ data.flags = MMC_DATA_READ; ++ ++ return mmc_send_cmd(mmc, &cmd, &data); ++} ++ ++static int sd_get_capabilities(struct mmc *mmc) ++{ ++ int err; ++ struct mmc_cmd cmd; ++ ALLOC_CACHE_ALIGN_BUFFER(__be32, scr, 2); ++ ALLOC_CACHE_ALIGN_BUFFER(__be32, switch_status, 16); ++ struct mmc_data data; ++ int timeout; ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++ u32 sd3_bus_mode; ++#endif ++ ++ mmc->card_caps = MMC_MODE_1BIT | MMC_CAP(SD_LEGACY); ++ ++ if (mmc_host_is_spi(mmc)) ++ return 0; ++ ++ /* Read the SCR to find out if this card supports higher speeds */ ++ cmd.cmdidx = MMC_CMD_APP_CMD; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = mmc->rca << 16; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ ++ cmd.cmdidx = SD_CMD_APP_SEND_SCR; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = 0; ++ ++ timeout = 3; ++ ++retry_scr: ++ data.dest = (char *)scr; ++ data.blocksize = 8; ++ data.blocks = 1; ++ data.flags = MMC_DATA_READ; ++ ++ err = mmc_send_cmd(mmc, &cmd, &data); ++ ++ if (err) { ++ if (timeout--) ++ goto retry_scr; ++ ++ return err; ++ } ++ ++ mmc->scr[0] = __be32_to_cpu(scr[0]); ++ mmc->scr[1] = __be32_to_cpu(scr[1]); ++ ++ switch ((mmc->scr[0] >> 24) & 0xf) { ++ case 0: ++ mmc->version = SD_VERSION_1_0; ++ break; ++ case 1: ++ mmc->version = SD_VERSION_1_10; ++ break; ++ case 2: ++ mmc->version = SD_VERSION_2; ++ if ((mmc->scr[0] >> 15) & 0x1) ++ mmc->version = SD_VERSION_3; ++ break; ++ default: ++ mmc->version = SD_VERSION_1_0; ++ break; ++ } ++ ++ if (mmc->scr[0] & SD_DATA_4BIT) ++ mmc->card_caps |= MMC_MODE_4BIT; ++ ++ /* Version 1.0 doesn't support switching */ ++ if (mmc->version == SD_VERSION_1_0) ++ return 0; ++ ++ timeout = 4; ++ while (timeout--) { ++ err = sd_switch(mmc, SD_SWITCH_CHECK, 0, 1, ++ (u8 *)switch_status); ++ ++ if (err) ++ return err; ++ ++ /* The high-speed function is busy. Try again */ ++ if (!(__be32_to_cpu(switch_status[7]) & SD_HIGHSPEED_BUSY)) ++ break; ++ } ++ ++ /* If high-speed isn't supported, we return */ ++ if (__be32_to_cpu(switch_status[3]) & SD_HIGHSPEED_SUPPORTED) ++ mmc->card_caps |= MMC_CAP(SD_HS); ++ ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++ /* Version before 3.0 don't support UHS modes */ ++ if (mmc->version < SD_VERSION_3) ++ return 0; ++ ++ sd3_bus_mode = __be32_to_cpu(switch_status[3]) >> 16 & 0x1f; ++ if (sd3_bus_mode & SD_MODE_UHS_SDR104) ++ mmc->card_caps |= MMC_CAP(UHS_SDR104); ++ if (sd3_bus_mode & SD_MODE_UHS_SDR50) ++ mmc->card_caps |= MMC_CAP(UHS_SDR50); ++ if (sd3_bus_mode & SD_MODE_UHS_SDR25) ++ mmc->card_caps |= MMC_CAP(UHS_SDR25); ++ if (sd3_bus_mode & SD_MODE_UHS_SDR12) ++ mmc->card_caps |= MMC_CAP(UHS_SDR12); ++ if (sd3_bus_mode & SD_MODE_UHS_DDR50) ++ mmc->card_caps |= MMC_CAP(UHS_DDR50); ++#endif ++ ++ return 0; ++} ++ ++static int sd_set_card_speed(struct mmc *mmc, enum bus_mode mode) ++{ ++ int err; ++ ++ ALLOC_CACHE_ALIGN_BUFFER(uint, switch_status, 16); ++ int speed; ++ ++ /* SD version 1.00 and 1.01 does not support CMD 6 */ ++ if (mmc->version == SD_VERSION_1_0) ++ return 0; ++ ++ switch (mode) { ++ case SD_LEGACY: ++ speed = UHS_SDR12_BUS_SPEED; ++ break; ++ case SD_HS: ++ speed = HIGH_SPEED_BUS_SPEED; ++ break; ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++ case UHS_SDR12: ++ speed = UHS_SDR12_BUS_SPEED; ++ break; ++ case UHS_SDR25: ++ speed = UHS_SDR25_BUS_SPEED; ++ break; ++ case UHS_SDR50: ++ speed = UHS_SDR50_BUS_SPEED; ++ break; ++ case UHS_DDR50: ++ speed = UHS_DDR50_BUS_SPEED; ++ break; ++ case UHS_SDR104: ++ speed = UHS_SDR104_BUS_SPEED; ++ break; ++#endif ++ default: ++ return -EINVAL; ++ } ++ ++ err = sd_switch(mmc, SD_SWITCH_SWITCH, 0, speed, (u8 *)switch_status); ++ if (err) ++ return err; ++ ++ if (((__be32_to_cpu(switch_status[4]) >> 24) & 0xF) != speed) ++ return -ENOTSUPP; ++ ++ return 0; ++} ++ ++static int sd_select_bus_width(struct mmc *mmc, int w) ++{ ++ int err; ++ struct mmc_cmd cmd; ++ ++ if ((w != 4) && (w != 1)) ++ return -EINVAL; ++ ++ cmd.cmdidx = MMC_CMD_APP_CMD; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = mmc->rca << 16; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (err) ++ return err; ++ ++ cmd.cmdidx = SD_CMD_APP_SET_BUS_WIDTH; ++ cmd.resp_type = MMC_RSP_R1; ++ if (w == 4) ++ cmd.cmdarg = 2; ++ else if (w == 1) ++ cmd.cmdarg = 0; ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (err) ++ return err; ++ ++ return 0; ++} ++#endif ++ ++#if CONFIG_IS_ENABLED(MMC_WRITE) ++static int sd_read_ssr(struct mmc *mmc) ++{ ++ static const unsigned int sd_au_size[] = { ++ 0, SZ_16K / 512, SZ_32K / 512, ++ SZ_64K / 512, SZ_128K / 512, SZ_256K / 512, ++ SZ_512K / 512, SZ_1M / 512, SZ_2M / 512, ++ SZ_4M / 512, SZ_8M / 512, (SZ_8M + SZ_4M) / 512, ++ SZ_16M / 512, (SZ_16M + SZ_8M) / 512, SZ_32M / 512, ++ SZ_64M / 512, ++ }; ++ int err, i; ++ struct mmc_cmd cmd; ++ ALLOC_CACHE_ALIGN_BUFFER(uint, ssr, 16); ++ struct mmc_data data; ++ int timeout = 3; ++ unsigned int au, eo, et, es; ++ ++ cmd.cmdidx = MMC_CMD_APP_CMD; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = mmc->rca << 16; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (err) ++ return err; ++ ++ cmd.cmdidx = SD_CMD_APP_SD_STATUS; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = 0; ++ ++retry_ssr: ++ data.dest = (char *)ssr; ++ data.blocksize = 64; ++ data.blocks = 1; ++ data.flags = MMC_DATA_READ; ++ ++ err = mmc_send_cmd(mmc, &cmd, &data); ++ if (err) { ++ if (timeout--) ++ goto retry_ssr; ++ ++ return err; ++ } ++ ++ for (i = 0; i < 16; i++) ++ ssr[i] = be32_to_cpu(ssr[i]); ++ ++ au = (ssr[2] >> 12) & 0xF; ++ if ((au <= 9) || (mmc->version == SD_VERSION_3)) { ++ mmc->ssr.au = sd_au_size[au]; ++ es = (ssr[3] >> 24) & 0xFF; ++ es |= (ssr[2] & 0xFF) << 8; ++ et = (ssr[3] >> 18) & 0x3F; ++ if (es && et) { ++ eo = (ssr[3] >> 16) & 0x3; ++ mmc->ssr.erase_timeout = (et * 1000) / es; ++ mmc->ssr.erase_offset = eo * 1000; ++ } ++ } else { ++ pr_debug("Invalid Allocation Unit Size.\n"); ++ } ++ ++ return 0; ++} ++#endif ++/* frequency bases */ ++/* divided by 10 to be nice to platforms without floating point */ ++static const int fbase[] = { ++ 10000, ++ 100000, ++ 1000000, ++ 10000000, ++}; ++ ++/* Multiplier values for TRAN_SPEED. Multiplied by 10 to be nice ++ * to platforms without floating point. ++ */ ++static const u8 multipliers[] = { ++ 0, /* reserved */ ++ 10, ++ 12, ++ 13, ++ 15, ++ 20, ++ 25, ++ 30, ++ 35, ++ 40, ++ 45, ++ 50, ++ 55, ++ 60, ++ 70, ++ 80, ++}; ++ ++static inline int bus_width(uint cap) ++{ ++ if (cap == MMC_MODE_8BIT) ++ return 8; ++ if (cap == MMC_MODE_4BIT) ++ return 4; ++ if (cap == MMC_MODE_1BIT) ++ return 1; ++ pr_warn("invalid bus witdh capability 0x%x\n", cap); ++ return 0; ++} ++ ++#if !CONFIG_IS_ENABLED(DM_MMC) ++#ifdef MMC_SUPPORTS_TUNING ++static int mmc_execute_tuning(struct mmc *mmc, uint opcode) ++{ ++ return -ENOTSUPP; ++} ++#endif ++ ++static void mmc_send_init_stream(struct mmc *mmc) ++{ ++} ++ ++static int mmc_set_ios(struct mmc *mmc) ++{ ++ int ret = 0; ++ ++ if (mmc->cfg->ops->set_ios) ++ ret = mmc->cfg->ops->set_ios(mmc); ++ ++ return ret; ++} ++#endif ++ ++int mmc_set_clock(struct mmc *mmc, uint clock, bool disable) ++{ ++ if (!disable) { ++ if (clock > mmc->cfg->f_max) ++ clock = mmc->cfg->f_max; ++ ++ if (clock < mmc->cfg->f_min) ++ clock = mmc->cfg->f_min; ++ } ++ ++ mmc->clock = clock; ++ mmc->clk_disable = disable; ++ ++ pr_debug("clock is %s (%dHz)\n", ++ disable ? "disabled" : "enabled", clock); ++ ++ return mmc_set_ios(mmc); ++} ++ ++static int mmc_set_bus_width(struct mmc *mmc, uint width) ++{ ++ mmc->bus_width = width; ++ ++ return mmc_set_ios(mmc); ++} ++ ++#if CONFIG_IS_ENABLED(MMC_VERBOSE) || defined(DEBUG) ++/* ++ * helper function to display the capabilities in a human ++ * friendly manner. The capabilities include bus width and ++ * supported modes. ++ */ ++void mmc_dump_capabilities(const char *text, uint caps) ++{ ++ enum bus_mode mode; ++ ++ pr_debug("%s: widths [", text); ++ if (caps & MMC_MODE_8BIT) ++ pr_debug("8, "); ++ if (caps & MMC_MODE_4BIT) ++ pr_debug("4, "); ++ if (caps & MMC_MODE_1BIT) ++ pr_debug("1, "); ++ pr_debug("\b\b] modes ["); ++ for (mode = MMC_LEGACY; mode < MMC_MODES_END; mode++) ++ if (MMC_CAP(mode) & caps) ++ pr_debug("%s, ", mmc_mode_name(mode)); ++ pr_debug("\b\b]\n"); ++} ++#endif ++ ++struct mode_width_tuning { ++ enum bus_mode mode; ++ uint widths; ++#ifdef MMC_SUPPORTS_TUNING ++ uint tuning; ++#endif ++}; ++ ++#if CONFIG_IS_ENABLED(MMC_IO_VOLTAGE) ++int mmc_voltage_to_mv(enum mmc_voltage voltage) ++{ ++ switch (voltage) { ++ case MMC_SIGNAL_VOLTAGE_000: return 0; ++ case MMC_SIGNAL_VOLTAGE_330: return 3300; ++ case MMC_SIGNAL_VOLTAGE_180: return 1800; ++ case MMC_SIGNAL_VOLTAGE_120: return 1200; ++ } ++ return -EINVAL; ++} ++ ++static int mmc_set_signal_voltage(struct mmc *mmc, uint signal_voltage) ++{ ++ int err; ++ ++ if (mmc->signal_voltage == signal_voltage) ++ return 0; ++ ++ mmc->signal_voltage = signal_voltage; ++ err = mmc_set_ios(mmc); ++ if (err) ++ pr_debug("unable to set voltage (err %d)\n", err); ++ ++ return err; ++} ++#else ++static inline int mmc_set_signal_voltage(struct mmc *mmc, uint signal_voltage) ++{ ++ return 0; ++} ++#endif ++ ++#if !CONFIG_IS_ENABLED(MMC_TINY) ++static const struct mode_width_tuning sd_modes_by_pref[] = { ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++#ifdef MMC_SUPPORTS_TUNING ++ { ++ .mode = UHS_SDR104, ++ .widths = MMC_MODE_4BIT | MMC_MODE_1BIT, ++ .tuning = MMC_CMD_SEND_TUNING_BLOCK ++ }, ++#endif ++ { ++ .mode = UHS_SDR50, ++ .widths = MMC_MODE_4BIT | MMC_MODE_1BIT, ++ }, ++ { ++ .mode = UHS_DDR50, ++ .widths = MMC_MODE_4BIT | MMC_MODE_1BIT, ++ }, ++ { ++ .mode = UHS_SDR25, ++ .widths = MMC_MODE_4BIT | MMC_MODE_1BIT, ++ }, ++#endif ++ { ++ .mode = SD_HS, ++ .widths = MMC_MODE_4BIT | MMC_MODE_1BIT, ++#ifdef MMC_SUPPORTS_TUNING ++ .tuning = MMC_SD_HS_TUNING ++#endif ++ }, ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++ { ++ .mode = UHS_SDR12, ++ .widths = MMC_MODE_4BIT | MMC_MODE_1BIT, ++ }, ++#endif ++ { ++ .mode = SD_LEGACY, ++ .widths = MMC_MODE_4BIT | MMC_MODE_1BIT, ++ } ++}; ++ ++#define for_each_sd_mode_by_pref(caps, mwt) \ ++ for (mwt = sd_modes_by_pref;\ ++ mwt < sd_modes_by_pref + ARRAY_SIZE(sd_modes_by_pref);\ ++ mwt++) \ ++ if (caps & MMC_CAP(mwt->mode)) ++ ++static int sd_select_mode_and_width(struct mmc *mmc, uint card_caps) ++{ ++ int err; ++ uint widths[] = {MMC_MODE_4BIT, MMC_MODE_1BIT}; ++ const struct mode_width_tuning *mwt; ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++ bool uhs_en = (mmc->ocr & OCR_S18R) ? true : false; ++#else ++ bool uhs_en = false; ++#endif ++ uint caps; ++ ++#ifdef DEBUG ++ mmc_dump_capabilities("sd card", card_caps); ++ mmc_dump_capabilities("host", mmc->host_caps); ++#endif ++ ++ /* Restrict card's capabilities by what the host can do */ ++ caps = card_caps & mmc->host_caps; ++ ++ if (!uhs_en) ++ caps &= ~UHS_CAPS; ++ ++ for_each_sd_mode_by_pref(caps, mwt) { ++ uint *w; ++ ++ for (w = widths; w < widths + ARRAY_SIZE(widths); w++) { ++ if (*w & caps & mwt->widths) { ++ pr_debug("trying mode %s width %d (at %d MHz)\n", ++ mmc_mode_name(mwt->mode), ++ bus_width(*w), ++ mmc_mode2freq(mmc, mwt->mode) / 1000000); ++ ++ /* configure the bus width (card + host) */ ++ err = sd_select_bus_width(mmc, bus_width(*w)); ++ if (err) ++ goto error; ++ mmc_set_bus_width(mmc, bus_width(*w)); ++ ++ /* configure the bus mode (card) */ ++ err = sd_set_card_speed(mmc, mwt->mode); ++ if (err) ++ goto error; ++ ++ /* configure the bus mode (host) */ ++ mmc_select_mode(mmc, mwt->mode); ++ mmc_set_clock(mmc, mmc->tran_speed, ++ MMC_CLK_ENABLE); ++ ++#ifdef MMC_SUPPORTS_TUNING ++ /* execute tuning if needed */ ++ if (mwt->tuning && !mmc_host_is_spi(mmc)) { ++ err = mmc_execute_tuning(mmc, ++ mwt->tuning); ++ if (err) { ++ pr_debug("tuning failed\n"); ++ goto error; ++ } ++ } ++#endif ++ ++#if CONFIG_IS_ENABLED(MMC_WRITE) ++ err = sd_read_ssr(mmc); ++ if (err) ++ pr_warn("unable to read ssr\n"); ++#endif ++ if (!err) ++ return 0; ++ ++error: ++ /* revert to a safer bus speed */ ++ mmc_select_mode(mmc, SD_LEGACY); ++ mmc_set_clock(mmc, mmc->tran_speed, ++ MMC_CLK_ENABLE); ++ } ++ } ++ } ++ ++ pr_err("unable to select a mode\n"); ++ return -ENOTSUPP; ++} ++ ++/* ++ * read the compare the part of ext csd that is constant. ++ * This can be used to check that the transfer is working ++ * as expected. ++ */ ++static int mmc_read_and_compare_ext_csd(struct mmc *mmc) ++{ ++ int err; ++ const u8 *ext_csd = mmc->ext_csd; ++ ALLOC_CACHE_ALIGN_BUFFER(u8, test_csd, MMC_MAX_BLOCK_LEN); ++ ++ if (mmc->version < MMC_VERSION_4) ++ return 0; ++ ++ err = mmc_send_ext_csd(mmc, test_csd); ++ if (err) ++ return err; ++ ++ /* Only compare read only fields */ ++ if (ext_csd[EXT_CSD_PARTITIONING_SUPPORT] ++ == test_csd[EXT_CSD_PARTITIONING_SUPPORT] && ++ ext_csd[EXT_CSD_HC_WP_GRP_SIZE] ++ == test_csd[EXT_CSD_HC_WP_GRP_SIZE] && ++ ext_csd[EXT_CSD_REV] ++ == test_csd[EXT_CSD_REV] && ++ ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] ++ == test_csd[EXT_CSD_HC_ERASE_GRP_SIZE] && ++ memcmp(&ext_csd[EXT_CSD_SEC_CNT], ++ &test_csd[EXT_CSD_SEC_CNT], 4) == 0) ++ return 0; ++ ++ return -EBADMSG; ++} ++ ++#if CONFIG_IS_ENABLED(MMC_IO_VOLTAGE) ++static int mmc_set_lowest_voltage(struct mmc *mmc, enum bus_mode mode, ++ uint32_t allowed_mask) ++{ ++ u32 card_mask = 0; ++ ++ switch (mode) { ++ case MMC_HS_400: ++ case MMC_HS_200: ++ if (mmc->cardtype & (EXT_CSD_CARD_TYPE_HS200_1_8V | ++ EXT_CSD_CARD_TYPE_HS400_1_8V)) ++ card_mask |= MMC_SIGNAL_VOLTAGE_180; ++ if (mmc->cardtype & (EXT_CSD_CARD_TYPE_HS200_1_2V | ++ EXT_CSD_CARD_TYPE_HS400_1_2V)) ++ card_mask |= MMC_SIGNAL_VOLTAGE_120; ++ break; ++ case MMC_DDR_52: ++ if (mmc->cardtype & EXT_CSD_CARD_TYPE_DDR_1_8V) ++ card_mask |= MMC_SIGNAL_VOLTAGE_330 | ++ MMC_SIGNAL_VOLTAGE_180; ++ if (mmc->cardtype & EXT_CSD_CARD_TYPE_DDR_1_2V) ++ card_mask |= MMC_SIGNAL_VOLTAGE_120; ++ break; ++ default: ++ card_mask |= MMC_SIGNAL_VOLTAGE_330; ++ break; ++ } ++ ++ while (card_mask & allowed_mask) { ++ enum mmc_voltage best_match; ++ ++ best_match = 1 << (ffs(card_mask & allowed_mask) - 1); ++ if (!mmc_set_signal_voltage(mmc, best_match)) ++ return 0; ++ ++ allowed_mask &= ~best_match; ++ } ++ ++ return -ENOTSUPP; ++} ++#else ++static inline int mmc_set_lowest_voltage(struct mmc *mmc, enum bus_mode mode, ++ uint32_t allowed_mask) ++{ ++ return 0; ++} ++#endif ++ ++static const struct mode_width_tuning mmc_modes_by_pref[] = { ++#if CONFIG_IS_ENABLED(MMC_HS400_SUPPORT) ++ { ++ .mode = MMC_HS_400, ++ .widths = MMC_MODE_8BIT, ++ .tuning = MMC_CMD_SEND_TUNING_BLOCK_HS200 ++ }, ++#endif ++#if CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) ++ { ++ .mode = MMC_HS_200, ++ .widths = MMC_MODE_8BIT | MMC_MODE_4BIT, ++ .tuning = MMC_CMD_SEND_TUNING_BLOCK_HS200 ++ }, ++#endif ++ { ++ .mode = MMC_DDR_52, ++ .widths = MMC_MODE_8BIT | MMC_MODE_4BIT, ++ }, ++ { ++ .mode = MMC_HS_52, ++ .widths = MMC_MODE_8BIT | MMC_MODE_4BIT | MMC_MODE_1BIT, ++#ifdef MMC_SUPPORTS_TUNING ++ .tuning = MMC_SD_HS_TUNING ++#endif ++ }, ++ { ++ .mode = MMC_HS, ++ .widths = MMC_MODE_8BIT | MMC_MODE_4BIT | MMC_MODE_1BIT, ++ }, ++ { ++ .mode = MMC_LEGACY, ++ .widths = MMC_MODE_8BIT | MMC_MODE_4BIT | MMC_MODE_1BIT, ++ } ++}; ++ ++#define for_each_mmc_mode_by_pref(caps, mwt) \ ++ for (mwt = mmc_modes_by_pref;\ ++ mwt < mmc_modes_by_pref + ARRAY_SIZE(mmc_modes_by_pref);\ ++ mwt++) \ ++ if (caps & MMC_CAP(mwt->mode)) ++ ++static const struct ext_csd_bus_width { ++ uint cap; ++ bool is_ddr; ++ uint ext_csd_bits; ++} ext_csd_bus_width[] = { ++ {MMC_MODE_8BIT, true, EXT_CSD_DDR_BUS_WIDTH_8}, ++ {MMC_MODE_4BIT, true, EXT_CSD_DDR_BUS_WIDTH_4}, ++ {MMC_MODE_8BIT, false, EXT_CSD_BUS_WIDTH_8}, ++ {MMC_MODE_4BIT, false, EXT_CSD_BUS_WIDTH_4}, ++ {MMC_MODE_1BIT, false, EXT_CSD_BUS_WIDTH_1}, ++}; ++ ++#if CONFIG_IS_ENABLED(MMC_HS400_SUPPORT) ++static int mmc_select_hs400(struct mmc *mmc) ++{ ++ int err; ++ ++ /* Set timing to HS200 for tuning */ ++ err = mmc_set_card_speed(mmc, MMC_HS_200); ++ if (err) ++ return err; ++ ++ /* configure the bus mode (host) */ ++ mmc_select_mode(mmc, MMC_HS_200); ++ mmc_set_clock(mmc, mmc->tran_speed, false); ++ ++ /* execute tuning if needed */ ++ err = mmc_execute_tuning(mmc, MMC_CMD_SEND_TUNING_BLOCK_HS200); ++ if (err) { ++ pr_debug("tuning failed\n"); ++ return err; ++ } ++ ++ /* Set back to HS */ ++ mmc_set_card_speed(mmc, MMC_HS); ++ mmc_set_clock(mmc, mmc_mode2freq(mmc, MMC_HS), false); ++ ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BUS_WIDTH, ++ EXT_CSD_BUS_WIDTH_8 | EXT_CSD_DDR_FLAG); ++ if (err) ++ return err; ++ ++ err = mmc_set_card_speed(mmc, MMC_HS_400); ++ if (err) ++ return err; ++ ++ mmc_select_mode(mmc, MMC_HS_400); ++ err = mmc_set_clock(mmc, mmc->tran_speed, false); ++ if (err) ++ return err; ++ ++ return 0; ++} ++#else ++static int mmc_select_hs400(struct mmc *mmc) ++{ ++ return -ENOTSUPP; ++} ++#endif ++ ++#define for_each_supported_width(caps, ddr, ecbv) \ ++ for (ecbv = ext_csd_bus_width;\ ++ ecbv < ext_csd_bus_width + ARRAY_SIZE(ext_csd_bus_width);\ ++ ecbv++) \ ++ if ((ddr == ecbv->is_ddr) && (caps & ecbv->cap)) ++ ++static int mmc_select_mode_and_width(struct mmc *mmc, uint card_caps) ++{ ++ int err; ++ const struct mode_width_tuning *mwt; ++ const struct ext_csd_bus_width *ecbw; ++ ++#ifdef DEBUG ++ mmc_dump_capabilities("mmc", card_caps); ++ mmc_dump_capabilities("host", mmc->host_caps); ++#endif ++ ++ /* Restrict card's capabilities by what the host can do */ ++ card_caps &= mmc->host_caps; ++ ++ /* Only version 4 of MMC supports wider bus widths */ ++ if (mmc->version < MMC_VERSION_4) ++ return 0; ++ ++ if (!mmc->ext_csd) { ++ pr_debug("No ext_csd found!\n"); /* this should enver happen */ ++ return -ENOTSUPP; ++ } ++ ++ for_each_mmc_mode_by_pref(card_caps, mwt) { ++ for_each_supported_width(card_caps & mwt->widths, ++ mmc_is_mode_ddr(mwt->mode), ecbw) { ++ enum mmc_voltage old_voltage; ++ pr_debug("trying mode %s width %d (at %d MHz)\n", ++ mmc_mode_name(mwt->mode), ++ bus_width(ecbw->cap), ++ mmc_mode2freq(mmc, mwt->mode) / 1000000); ++ old_voltage = mmc->signal_voltage; ++ err = mmc_set_lowest_voltage(mmc, mwt->mode, ++ MMC_ALL_SIGNAL_VOLTAGE); ++ if (err) ++ continue; ++ ++ /* configure the bus width (card + host) */ ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_BUS_WIDTH, ++ ecbw->ext_csd_bits & ~EXT_CSD_DDR_FLAG); ++ if (err) ++ goto error; ++ mmc_set_bus_width(mmc, bus_width(ecbw->cap)); ++ ++ if (mwt->mode == MMC_HS_400) { ++ err = mmc_select_hs400(mmc); ++ if (err) { ++ pr_err("Select HS400 failed %d\n", err); ++ goto error; ++ } ++ } else { ++ /* configure the bus speed (card) */ ++ err = mmc_set_card_speed(mmc, mwt->mode); ++ if (err) ++ goto error; ++ ++ /* ++ * configure the bus width AND the ddr mode ++ * (card). The host side will be taken care ++ * of in the next step ++ */ ++ if (ecbw->ext_csd_bits & EXT_CSD_DDR_FLAG) { ++ err = mmc_switch(mmc, ++ EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_BUS_WIDTH, ++ ecbw->ext_csd_bits); ++ if (err) ++ goto error; ++ } ++ ++ /* configure the bus mode (host) */ ++ mmc_select_mode(mmc, mwt->mode); ++ mmc_set_clock(mmc, mmc->tran_speed, ++ MMC_CLK_ENABLE); ++#ifdef MMC_SUPPORTS_TUNING ++ ++ /* execute tuning if needed */ ++ if (mwt->tuning) { ++ err = mmc_execute_tuning(mmc, ++ mwt->tuning); ++ if (err) { ++ pr_debug("tuning failed\n"); ++ goto error; ++ } ++ } ++#endif ++ } ++ ++ /* do a transfer to check the configuration */ ++ err = mmc_read_and_compare_ext_csd(mmc); ++ if (!err) ++ return 0; ++error: ++ mmc_set_signal_voltage(mmc, old_voltage); ++ /* if an error occured, revert to a safer bus mode */ ++ mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_BUS_WIDTH, EXT_CSD_BUS_WIDTH_1); ++ mmc_select_mode(mmc, MMC_LEGACY); ++ mmc_set_bus_width(mmc, 1); ++ } ++ } ++ ++ pr_err("unable to select a mode\n"); ++ ++ return -ENOTSUPP; ++} ++#endif ++ ++#if CONFIG_IS_ENABLED(MMC_TINY) ++DEFINE_CACHE_ALIGN_BUFFER(u8, ext_csd_bkup, MMC_MAX_BLOCK_LEN); ++#endif ++ ++static int mmc_startup_v4(struct mmc *mmc) ++{ ++ int err, i; ++ u64 capacity; ++ bool has_parts = false; ++ bool part_completed; ++ static const u32 mmc_versions[] = { ++ MMC_VERSION_4, ++ MMC_VERSION_4_1, ++ MMC_VERSION_4_2, ++ MMC_VERSION_4_3, ++ MMC_VERSION_4_4, ++ MMC_VERSION_4_41, ++ MMC_VERSION_4_5, ++ MMC_VERSION_5_0, ++ MMC_VERSION_5_1 ++ }; ++ ++#if CONFIG_IS_ENABLED(MMC_TINY) ++ u8 *ext_csd = ext_csd_bkup; ++ ++ if (IS_SD(mmc) || mmc->version < MMC_VERSION_4) ++ return 0; ++ ++ if (!mmc->ext_csd) ++ memset(ext_csd_bkup, 0, sizeof(ext_csd_bkup)); ++ ++ err = mmc_send_ext_csd(mmc, ext_csd); ++ if (err) ++ goto error; ++ ++ /* store the ext csd for future reference */ ++ if (!mmc->ext_csd) ++ mmc->ext_csd = ext_csd; ++#else ++ ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, MMC_MAX_BLOCK_LEN); ++ ++ if (IS_SD(mmc) || (mmc->version < MMC_VERSION_4)) ++ return 0; ++ ++ /* check ext_csd version and capacity */ ++ err = mmc_send_ext_csd(mmc, ext_csd); ++ if (err) ++ goto error; ++ ++ /* store the ext csd for future reference */ ++ if (!mmc->ext_csd) ++ mmc->ext_csd = malloc(MMC_MAX_BLOCK_LEN); ++ if (!mmc->ext_csd) ++ return -ENOMEM; ++ memcpy(mmc->ext_csd, ext_csd, MMC_MAX_BLOCK_LEN); ++#endif ++ if (ext_csd[EXT_CSD_REV] >= ARRAY_SIZE(mmc_versions)) ++ return -EINVAL; ++ ++ mmc->version = mmc_versions[ext_csd[EXT_CSD_REV]]; ++ ++ if (mmc->version >= MMC_VERSION_4_2) { ++ /* ++ * According to the JEDEC Standard, the value of ++ * ext_csd's capacity is valid if the value is more ++ * than 2GB ++ */ ++ capacity = ext_csd[EXT_CSD_SEC_CNT] << 0 ++ | ext_csd[EXT_CSD_SEC_CNT + 1] << 8 ++ | ext_csd[EXT_CSD_SEC_CNT + 2] << 16 ++ | ext_csd[EXT_CSD_SEC_CNT + 3] << 24; ++ capacity *= MMC_MAX_BLOCK_LEN; ++ if ((capacity >> 20) > 2 * 1024) ++ mmc->capacity_user = capacity; ++ } ++ ++ /* The partition data may be non-zero but it is only ++ * effective if PARTITION_SETTING_COMPLETED is set in ++ * EXT_CSD, so ignore any data if this bit is not set, ++ * except for enabling the high-capacity group size ++ * definition (see below). ++ */ ++ part_completed = !!(ext_csd[EXT_CSD_PARTITION_SETTING] & ++ EXT_CSD_PARTITION_SETTING_COMPLETED); ++ ++ /* store the partition info of emmc */ ++ mmc->part_support = ext_csd[EXT_CSD_PARTITIONING_SUPPORT]; ++ if ((ext_csd[EXT_CSD_PARTITIONING_SUPPORT] & PART_SUPPORT) || ++ ext_csd[EXT_CSD_BOOT_MULT]) ++ mmc->part_config = ext_csd[EXT_CSD_PART_CONF]; ++ if (part_completed && ++ (ext_csd[EXT_CSD_PARTITIONING_SUPPORT] & ENHNCD_SUPPORT)) ++ mmc->part_attr = ext_csd[EXT_CSD_PARTITIONS_ATTRIBUTE]; ++ ++ mmc->capacity_boot = ext_csd[EXT_CSD_BOOT_MULT] << 17; ++ ++ mmc->capacity_rpmb = ext_csd[EXT_CSD_RPMB_MULT] << 17; ++ ++ for (i = 0; i < 4; i++) { ++ int idx = EXT_CSD_GP_SIZE_MULT + i * 3; ++ uint mult = (ext_csd[idx + 2] << 16) + ++ (ext_csd[idx + 1] << 8) + ext_csd[idx]; ++ if (mult) ++ has_parts = true; ++ if (!part_completed) ++ continue; ++ mmc->capacity_gp[i] = mult; ++ mmc->capacity_gp[i] *= ++ ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE]; ++ mmc->capacity_gp[i] *= ext_csd[EXT_CSD_HC_WP_GRP_SIZE]; ++ mmc->capacity_gp[i] <<= 19; ++ } ++ ++#ifndef CONFIG_SPL_BUILD ++ if (part_completed) { ++ mmc->enh_user_size = ++ (ext_csd[EXT_CSD_ENH_SIZE_MULT + 2] << 16) + ++ (ext_csd[EXT_CSD_ENH_SIZE_MULT + 1] << 8) + ++ ext_csd[EXT_CSD_ENH_SIZE_MULT]; ++ mmc->enh_user_size *= ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE]; ++ mmc->enh_user_size *= ext_csd[EXT_CSD_HC_WP_GRP_SIZE]; ++ mmc->enh_user_size <<= 19; ++ mmc->enh_user_start = ++ (ext_csd[EXT_CSD_ENH_START_ADDR + 3] << 24) + ++ (ext_csd[EXT_CSD_ENH_START_ADDR + 2] << 16) + ++ (ext_csd[EXT_CSD_ENH_START_ADDR + 1] << 8) + ++ ext_csd[EXT_CSD_ENH_START_ADDR]; ++ if (mmc->high_capacity) ++ mmc->enh_user_start <<= 9; ++ } ++#endif ++ ++ /* dev life time estimate type A/B */ ++ mmc->dev_lifetime_est_typ_a ++ = ext_csd[EXT_CSD_DEV_LIFETIME_EST_TYP_A]; ++ mmc->dev_lifetime_est_typ_b ++ = ext_csd[EXT_CSD_DEV_LIFETIME_EST_TYP_B]; ++ ++ /* ++ * Host needs to enable ERASE_GRP_DEF bit if device is ++ * partitioned. This bit will be lost every time after a reset ++ * or power off. This will affect erase size. ++ */ ++ if (part_completed) ++ has_parts = true; ++ if ((ext_csd[EXT_CSD_PARTITIONING_SUPPORT] & PART_SUPPORT) && ++ (ext_csd[EXT_CSD_PARTITIONS_ATTRIBUTE] & PART_ENH_ATTRIB)) ++ has_parts = true; ++ if (has_parts) { ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, ++ EXT_CSD_ERASE_GROUP_DEF, 1); ++ ++ if (err) ++ goto error; ++ ++ ext_csd[EXT_CSD_ERASE_GROUP_DEF] = 1; ++ } ++ ++ if (ext_csd[EXT_CSD_ERASE_GROUP_DEF] & 0x01) { ++#if CONFIG_IS_ENABLED(MMC_WRITE) ++ /* Read out group size from ext_csd */ ++ mmc->erase_grp_size = ++ ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] * 1024; ++#endif ++ /* ++ * if high capacity and partition setting completed ++ * SEC_COUNT is valid even if it is smaller than 2 GiB ++ * JEDEC Standard JESD84-B45, 6.2.4 ++ */ ++ if (mmc->high_capacity && part_completed) { ++ capacity = (ext_csd[EXT_CSD_SEC_CNT]) | ++ (ext_csd[EXT_CSD_SEC_CNT + 1] << 8) | ++ (ext_csd[EXT_CSD_SEC_CNT + 2] << 16) | ++ (ext_csd[EXT_CSD_SEC_CNT + 3] << 24); ++ capacity *= MMC_MAX_BLOCK_LEN; ++ mmc->capacity_user = capacity; ++ } ++ } ++#if CONFIG_IS_ENABLED(MMC_WRITE) ++ else { ++ /* Calculate the group size from the csd value. */ ++ int erase_gsz, erase_gmul; ++ erase_gsz = (mmc->csd[2] & 0x00007c00) >> 10; ++ erase_gmul = (mmc->csd[2] & 0x000003e0) >> 5; ++ mmc->erase_grp_size = (erase_gsz + 1) ++ * (erase_gmul + 1); ++ } ++#endif ++#if CONFIG_IS_ENABLED(MMC_HW_PARTITIONING) ++ mmc->hc_wp_grp_size = 1024 ++ * ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] ++ * ext_csd[EXT_CSD_HC_WP_GRP_SIZE]; ++#endif ++ ++ mmc->wr_rel_set = ext_csd[EXT_CSD_WR_REL_SET]; ++ ++ return 0; ++error: ++ if (mmc->ext_csd) { ++#if !CONFIG_IS_ENABLED(MMC_TINY) ++ free(mmc->ext_csd); ++#endif ++ mmc->ext_csd = NULL; ++ } ++ return err; ++} ++ ++static int mmc_startup(struct mmc *mmc) ++{ ++ int err, i; ++ uint mult, freq; ++ u64 cmult, csize; ++ struct mmc_cmd cmd; ++ struct blk_desc *bdesc; ++ ++#ifdef CONFIG_MMC_SPI_CRC_ON ++ if (mmc_host_is_spi(mmc)) { /* enable CRC check for spi */ ++ cmd.cmdidx = MMC_CMD_SPI_CRC_ON_OFF; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = 1; ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (err) ++ return err; ++ } ++#endif ++ ++#ifdef CONFIG_MMC_FBOOT ++ if (emmc_boot_chk(mmc)) { ++ mmc_switch_part(mmc, 0); ++ ++ /* disSelect the card, and put it into detect Mode */ ++ if (!mmc_host_is_spi(mmc)) { /* cmd not supported in spi */ ++ cmd.cmdidx = MMC_CMD_SELECT_CARD; ++ cmd.resp_type = MMC_RSP_NONE; ++ cmd.cmdarg = 0; ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ } ++ ++ /* Put the Card in Identify Mode */ ++ cmd.cmdidx = MMC_CMD_SEND_CID; ++ cmd.resp_type = MMC_RSP_R2; ++ cmd.cmdarg = mmc->rca << 16; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (err) ++ return err; ++ ++ memcpy(mmc->cid, cmd.response, 16); ++ } else { ++#endif ++ /* Put the Card in Identify Mode */ ++ cmd.cmdidx = mmc_host_is_spi(mmc) ? MMC_CMD_SEND_CID : ++ MMC_CMD_ALL_SEND_CID; /* cmd not supported in spi */ ++ cmd.resp_type = MMC_RSP_R2; ++ cmd.cmdarg = 0; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++#ifdef CONFIG_MMC_QUIRKS ++ if (err && (mmc->quirks & MMC_QUIRK_RETRY_SEND_CID)) { ++ int retries = 4; ++ /* ++ * It has been seen that SEND_CID may fail on the first ++ * attempt, let's try a few more time ++ */ ++ do { ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (!err) ++ break; ++ } while (retries--); ++ } ++#endif ++ ++ if (err) ++ return err; ++ ++ memcpy(mmc->cid, cmd.response, 16); ++ ++ /* ++ * For MMC cards, set the Relative Address. ++ * For SD cards, get the Relatvie Address. ++ * This also puts the cards into Standby State ++ */ ++ if (!mmc_host_is_spi(mmc)) { /* cmd not supported in spi */ ++ cmd.cmdidx = SD_CMD_SEND_RELATIVE_ADDR; ++ cmd.cmdarg = mmc->rca << 16; ++ cmd.resp_type = MMC_RSP_R6; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ ++ if (IS_SD(mmc)) ++ mmc->rca = (cmd.response[0] >> 16) & 0xffff; ++ } ++#ifdef CONFIG_MMC_FBOOT ++ } ++#endif ++ ++ /* Get the Card-Specific Data */ ++ cmd.cmdidx = MMC_CMD_SEND_CSD; ++ cmd.resp_type = MMC_RSP_R2; ++ cmd.cmdarg = mmc->rca << 16; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ ++ mmc->csd[0] = cmd.response[0]; ++ mmc->csd[1] = cmd.response[1]; ++ mmc->csd[2] = cmd.response[2]; ++ mmc->csd[3] = cmd.response[3]; ++ ++ if (mmc->version == MMC_VERSION_UNKNOWN) { ++ int version = (cmd.response[0] >> 26) & 0xf; ++ ++ switch (version) { ++ case 0: ++ mmc->version = MMC_VERSION_1_2; ++ break; ++ case 1: ++ mmc->version = MMC_VERSION_1_4; ++ break; ++ case 2: ++ mmc->version = MMC_VERSION_2_2; ++ break; ++ case 3: ++ mmc->version = MMC_VERSION_3; ++ break; ++ case 4: ++ mmc->version = MMC_VERSION_4; ++ break; ++ default: ++ mmc->version = MMC_VERSION_1_2; ++ break; ++ } ++ } ++ ++ /* divide frequency by 10, since the mults are 10x bigger */ ++ freq = fbase[(cmd.response[0] & 0x7)]; ++ mult = multipliers[((cmd.response[0] >> 3) & 0xf)]; ++ ++ mmc->legacy_speed = freq * mult; ++ mmc_select_mode(mmc, MMC_LEGACY); ++ ++ mmc->dsr_imp = ((cmd.response[1] >> 12) & 0x1); ++ mmc->read_bl_len = 1 << ((cmd.response[1] >> 16) & 0xf); ++#if CONFIG_IS_ENABLED(MMC_WRITE) ++ ++ if (IS_SD(mmc)) ++ mmc->write_bl_len = mmc->read_bl_len; ++ else ++ mmc->write_bl_len = 1 << ((cmd.response[3] >> 22) & 0xf); ++#endif ++ ++ if (mmc->high_capacity) { ++ csize = (mmc->csd[1] & 0x3f) << 16 ++ | (mmc->csd[2] & 0xffff0000) >> 16; ++ cmult = 8; ++ } else { ++ csize = (mmc->csd[1] & 0x3ff) << 2 ++ | (mmc->csd[2] & 0xc0000000) >> 30; ++ cmult = (mmc->csd[2] & 0x00038000) >> 15; ++ } ++ ++ mmc->capacity_user = (csize + 1) << (cmult + 2); ++ mmc->capacity_user *= mmc->read_bl_len; ++ mmc->capacity_boot = 0; ++ mmc->capacity_rpmb = 0; ++ for (i = 0; i < 4; i++) ++ mmc->capacity_gp[i] = 0; ++ ++ if (mmc->read_bl_len > MMC_MAX_BLOCK_LEN) ++ mmc->read_bl_len = MMC_MAX_BLOCK_LEN; ++ ++#if CONFIG_IS_ENABLED(MMC_WRITE) ++ if (mmc->write_bl_len > MMC_MAX_BLOCK_LEN) ++ mmc->write_bl_len = MMC_MAX_BLOCK_LEN; ++#endif ++ ++ if ((mmc->dsr_imp) && (0xffffffff != mmc->dsr)) { ++ cmd.cmdidx = MMC_CMD_SET_DSR; ++ cmd.cmdarg = (mmc->dsr & 0xffff) << 16; ++ cmd.resp_type = MMC_RSP_NONE; ++ if (mmc_send_cmd(mmc, &cmd, NULL)) ++ pr_warn("MMC: SET_DSR failed\n"); ++ } ++ ++ /* Select the card, and put it into Transfer Mode */ ++ if (!mmc_host_is_spi(mmc)) { /* cmd not supported in spi */ ++ cmd.cmdidx = MMC_CMD_SELECT_CARD; ++ cmd.resp_type = MMC_RSP_R1; ++ cmd.cmdarg = mmc->rca << 16; ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ ++ if (err) ++ return err; ++ } ++ ++ /* ++ * For SD, its erase group is always one sector ++ */ ++#if CONFIG_IS_ENABLED(MMC_WRITE) ++ mmc->erase_grp_size = 1; ++#endif ++ mmc->part_config = MMCPART_NOAVAILABLE; ++ ++ err = mmc_startup_v4(mmc); ++ if (err) ++ return err; ++ ++ err = mmc_set_capacity(mmc, mmc_get_blk_desc(mmc)->hwpart); ++ if (err) ++ return err; ++ ++#if CONFIG_IS_ENABLED(MMC_TINY) ++ mmc_set_clock(mmc, mmc->legacy_speed, false); ++ mmc_select_mode(mmc, IS_SD(mmc) ? SD_LEGACY : MMC_LEGACY); ++ mmc_set_bus_width(mmc, 1); ++#else ++ if (IS_SD(mmc)) { ++ err = sd_get_capabilities(mmc); ++ if (err) ++ return err; ++ err = sd_select_mode_and_width(mmc, mmc->card_caps); ++ } else { ++ err = mmc_get_capabilities(mmc); ++ if (err) ++ return err; ++ mmc_select_mode_and_width(mmc, mmc->card_caps); ++ } ++#endif ++ if (err) ++ return err; ++ ++ mmc->best_mode = mmc->selected_mode; ++ ++ /* Fix the block length for DDR mode */ ++ if (mmc->ddr_mode) { ++ mmc->read_bl_len = MMC_MAX_BLOCK_LEN; ++#if CONFIG_IS_ENABLED(MMC_WRITE) ++ mmc->write_bl_len = MMC_MAX_BLOCK_LEN; ++#endif ++ } ++ ++ /* fill in device description */ ++ bdesc = mmc_get_blk_desc(mmc); ++ bdesc->lun = 0; ++ bdesc->hwpart = 0; ++ bdesc->type = 0; ++ bdesc->blksz = mmc->read_bl_len; ++ bdesc->log2blksz = LOG2(bdesc->blksz); ++ bdesc->lba = lldiv(mmc->capacity, mmc->read_bl_len); ++#if !defined(CONFIG_SPL_BUILD) || \ ++ (defined(CONFIG_SPL_LIBCOMMON_SUPPORT) && \ ++ !defined(CONFIG_USE_TINY_PRINTF)) ++ sprintf(bdesc->vendor, "Man %06x Snr %04x%04x", ++ mmc->cid[0] >> 24, (mmc->cid[2] & 0xffff), ++ (mmc->cid[3] >> 16) & 0xffff); ++ sprintf(bdesc->product, "%c%c%c%c%c%c", mmc->cid[0] & 0xff, ++ (mmc->cid[1] >> 24), (mmc->cid[1] >> 16) & 0xff, ++ (mmc->cid[1] >> 8) & 0xff, mmc->cid[1] & 0xff, ++ (mmc->cid[2] >> 24) & 0xff); ++ sprintf(bdesc->revision, "%d.%d", (mmc->cid[2] >> 20) & 0xf, ++ (mmc->cid[2] >> 16) & 0xf); ++#else ++ bdesc->vendor[0] = 0; ++ bdesc->product[0] = 0; ++ bdesc->revision[0] = 0; ++#endif ++ ++#if !defined(CONFIG_DM_MMC) && (!defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBDISK_SUPPORT)) ++ part_init(bdesc); ++#endif ++ ++ return 0; ++} ++ ++static int mmc_send_if_cond(struct mmc *mmc) ++{ ++ struct mmc_cmd cmd; ++ int err; ++ ++ cmd.cmdidx = SD_CMD_SEND_IF_COND; ++ /* We set the bit if the host supports voltages between 2.7 and 3.6 V */ ++ cmd.cmdarg = ((mmc->cfg->voltages & 0xff8000) != 0) << 8 | 0xaa; ++ cmd.resp_type = MMC_RSP_R7; ++ ++ err = mmc_send_cmd(mmc, &cmd, NULL); ++ if (err) ++ return err; ++ ++ if ((cmd.response[0] & 0xff) != 0xaa) ++ return -EOPNOTSUPP; ++ else ++ mmc->version = SD_VERSION_2; ++ ++ return 0; ++} ++ ++#if !CONFIG_IS_ENABLED(DM_MMC) ++/* board-specific MMC power initializations. */ ++__weak void board_mmc_power_init(void) ++{ ++} ++#endif ++ ++static int mmc_power_init(struct mmc *mmc) ++{ ++#if CONFIG_IS_ENABLED(DM_MMC) ++#if CONFIG_IS_ENABLED(DM_REGULATOR) ++ int ret; ++ ++ ret = device_get_supply_regulator(mmc->dev, "vmmc-supply", ++ &mmc->vmmc_supply); ++ if (ret) ++ pr_debug("%s: No vmmc supply\n", mmc->dev->name); ++ ++ ret = device_get_supply_regulator(mmc->dev, "vqmmc-supply", ++ &mmc->vqmmc_supply); ++ if (ret) ++ pr_debug("%s: No vqmmc supply\n", mmc->dev->name); ++#endif ++#else /* !CONFIG_DM_MMC */ ++ /* ++ * Driver model should use a regulator, as above, rather than calling ++ * out to board code. ++ */ ++ board_mmc_power_init(); ++#endif ++ return 0; ++} ++ ++/* ++ * put the host in the initial state: ++ * - turn on Vdd (card power supply) ++ * - configure the bus width and clock to minimal values ++ */ ++static void mmc_set_initial_state(struct mmc *mmc) ++{ ++ int err; ++ ++ /* First try to set 3.3V. If it fails set to 1.8V */ ++ err = mmc_set_signal_voltage(mmc, MMC_SIGNAL_VOLTAGE_330); ++ if (err != 0) ++ err = mmc_set_signal_voltage(mmc, MMC_SIGNAL_VOLTAGE_180); ++ if (err != 0) ++ pr_warn("mmc: failed to set signal voltage\n"); ++ ++ mmc_select_mode(mmc, MMC_LEGACY); ++ mmc_set_bus_width(mmc, 1); ++ mmc_set_clock(mmc, 0, MMC_CLK_ENABLE); ++} ++ ++static int mmc_power_on(struct mmc *mmc) ++{ ++#if CONFIG_IS_ENABLED(DM_MMC) && CONFIG_IS_ENABLED(DM_REGULATOR) ++ if (mmc->vmmc_supply) { ++ int ret = regulator_set_enable(mmc->vmmc_supply, true); ++ ++ if (ret) { ++ puts("Error enabling VMMC supply\n"); ++ return ret; ++ } ++ } ++#endif ++ return 0; ++} ++ ++static int mmc_power_off(struct mmc *mmc) ++{ ++ mmc_set_clock(mmc, 0, MMC_CLK_DISABLE); ++#if CONFIG_IS_ENABLED(DM_MMC) && CONFIG_IS_ENABLED(DM_REGULATOR) ++ if (mmc->vmmc_supply) { ++ int ret = regulator_set_enable(mmc->vmmc_supply, false); ++ ++ if (ret) { ++ pr_debug("Error disabling VMMC supply\n"); ++ return ret; ++ } ++ } ++#endif ++ return 0; ++} ++ ++static int mmc_power_cycle(struct mmc *mmc) ++{ ++ int ret; ++ ++ ret = mmc_power_off(mmc); ++ if (ret) ++ return ret; ++ /* ++ * SD spec recommends at least 1ms of delay. Let's wait for 2ms ++ * to be on the safer side. ++ */ ++ udelay(2000); ++ return mmc_power_on(mmc); ++} ++ ++int mmc_get_op_cond(struct mmc *mmc) ++{ ++ bool uhs_en = supports_uhs(mmc->cfg->host_caps); ++ int err; ++ ++ if (mmc->has_init) ++ return 0; ++ ++#ifdef CONFIG_FSL_ESDHC_ADAPTER_IDENT ++ mmc_adapter_card_type_ident(); ++#endif ++ err = mmc_power_init(mmc); ++ if (err) ++ return err; ++ ++#ifdef CONFIG_MMC_QUIRKS ++ mmc->quirks = MMC_QUIRK_RETRY_SET_BLOCKLEN | ++ MMC_QUIRK_RETRY_SEND_CID; ++#endif ++ ++ err = mmc_power_cycle(mmc); ++ if (err) { ++ /* ++ * if power cycling is not supported, we should not try ++ * to use the UHS modes, because we wouldn't be able to ++ * recover from an error during the UHS initialization. ++ */ ++ pr_debug("Unable to do a full power cycle. Disabling the UHS modes for safety\n"); ++ uhs_en = false; ++ mmc->host_caps &= ~UHS_CAPS; ++ err = mmc_power_on(mmc); ++ } ++ if (err) ++ return err; ++ ++#if CONFIG_IS_ENABLED(DM_MMC) ++ /* The device has already been probed ready for use */ ++#else ++ /* made sure it's not NULL earlier */ ++ err = mmc->cfg->ops->init(mmc); ++ if (err) ++ return err; ++#endif ++ mmc->ddr_mode = 0; ++ ++retry: ++ mmc_set_initial_state(mmc); ++ mmc_send_init_stream(mmc); ++ ++ /* Reset the Card */ ++ err = mmc_go_idle(mmc); ++ if (err) ++ return err; ++ ++ /* The internal partition reset to user partition(0) at every CMD0*/ ++ mmc_get_blk_desc(mmc)->hwpart = 0; ++ ++ /* Test for SD version 2 */ ++ err = mmc_send_if_cond(mmc); ++ ++ /* Now try to get the SD card's operating condition */ ++ err = sd_send_op_cond(mmc, uhs_en); ++ if (err && uhs_en) { ++ uhs_en = false; ++ mmc_power_cycle(mmc); ++ goto retry; ++ } ++ ++ /* If the command timed out, we check for an MMC card */ ++ if (err == -ETIMEDOUT) { ++ err = mmc_send_op_cond(mmc); ++ ++ if (err) { ++#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) ++ pr_err("Card did not respond to voltage select!\n"); ++#endif ++ return -EOPNOTSUPP; ++ } ++ } ++ ++ return err; ++} ++ ++int mmc_start_init(struct mmc *mmc) ++{ ++ bool no_card; ++ int err = 0; ++ ++ /* ++ * all hosts are capable of 1 bit bus-width and able to use the legacy ++ * timings. ++ */ ++ mmc->host_caps = mmc->cfg->host_caps | MMC_CAP(SD_LEGACY) | ++ MMC_CAP(MMC_LEGACY) | MMC_MODE_1BIT; ++ ++#if !defined(CONFIG_MMC_BROKEN_CD) ++ /* we pretend there's no card when init is NULL */ ++ no_card = mmc_getcd(mmc) == 0; ++#else ++ no_card = 0; ++#endif ++#if !CONFIG_IS_ENABLED(DM_MMC) ++ no_card = no_card || (mmc->cfg->ops->init == NULL); ++#endif ++ if (no_card) { ++ mmc->has_init = 0; ++#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) ++ pr_err("MMC: no card present\n"); ++#endif ++ return -ENOMEDIUM; ++ } ++ ++#ifdef CONFIG_MMC_FBOOT ++ if (emmc_boot_chk(mmc)) { ++ mmc->high_capacity = 1; ++ mmc->rca = 1; ++ mmc->version = MMC_VERSION_UNKNOWN; ++ } else ++#endif ++ err = mmc_get_op_cond(mmc); ++ ++ if (!err) ++ mmc->init_in_progress = 1; ++ ++ return err; ++} ++ ++static int mmc_complete_init(struct mmc *mmc) ++{ ++ int err = 0; ++ ++ mmc->init_in_progress = 0; ++ if (mmc->op_cond_pending) ++ err = mmc_complete_op_cond(mmc); ++ ++ if (!err) ++ err = mmc_startup(mmc); ++ if (err) ++ mmc->has_init = 0; ++ else ++ mmc->has_init = 1; ++ return err; ++} ++ ++void mmc_write_cali_mattern(void *addr, struct aml_pattern *table) ++{ ++ int i = 0; ++ unsigned int s = 10; ++ u32 *mattern = (u32 *)addr; ++ struct virtual_partition *vpart = ++ aml_get_virtual_partition_by_name(table->name); ++ for (i = 0;i < (vpart->size)/4 - 1;i++) { ++ if (!strcmp(table->name, "random")) ++ mattern[i] = rand_r(&s); ++ else ++ mattern[i] = table->pattern; ++ } ++ mattern[i] = crc32(0, (u8 *)addr, (vpart->size - 4)); ++ return; ++} ++ ++int mmc_pattern_check(struct mmc *mmc, struct aml_pattern *table) ++{ ++ void *addr = NULL; ++ u64 cnt = 0, n = 0, blk = 0; ++ u32 *buf = NULL; ++ u32 crc32_s = 0; ++ struct partitions *part = NULL; ++ struct virtual_partition *vpart = NULL; ++ ++ vpart = aml_get_virtual_partition_by_name(table->name); ++ ++ addr = (void *)malloc(vpart->size); ++ if (!addr) { ++ printf("%s malloc failed\n", table->name); ++ return 1; ++ } ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ blk = (part->offset + vpart->offset) / mmc->read_bl_len; ++ cnt = vpart->size / mmc->read_bl_len; ++ n = blk_dread(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ if (n != cnt) { ++ printf("read pattern failed\n"); ++ free(addr); ++ return 1; ++ } else { ++ buf = (u32 *)addr; ++ crc32_s = crc32(0, (u8 *)addr, (vpart->size - 4)); ++ if (crc32_s != buf[vpart->size/4 - 1]) { ++ printf("check %s failed,need to write\n", ++ table->name); ++ mmc_write_cali_mattern(addr, table); ++ n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ printf("several 0x%x pattern blocks write %s\n", ++ table->pattern, (n == cnt) ? "OK" : "ERROR"); ++ } ++ printf("crc32_s:0x%x == storage crc_pattern:0x%x!!!\n", ++ crc32_s, buf[vpart->size/4 - 1]); ++ } ++ free(addr); ++ return (n == cnt) ? 0 : 1; ++} ++ ++int mmc_init(struct mmc *mmc) ++{ ++ int err = 0, i; ++ __maybe_unused ulong start; ++#if CONFIG_IS_ENABLED(DM_MMC) ++ struct mmc_uclass_priv *upriv = dev_get_uclass_priv(mmc->dev); ++ ++ upriv->mmc = mmc; ++#endif ++ if (mmc->has_init) ++ return 0; ++ ++ start = get_timer(0); ++ ++ if (!mmc->init_in_progress) ++ err = mmc_start_init(mmc); ++ ++ if (!err) ++ err = mmc_complete_init(mmc); ++ if (err) ++ pr_info("%s: %d, time %lu\n", __func__, err, get_timer(start)); ++ info_disprotect |= DISPROTECT_KEY; ++ if (IS_MMC(mmc)) { ++ if (!is_partition_checked) { ++ if (mmc_device_init(mmc) == 0) { ++ is_partition_checked = true; ++ pr_info("eMMC/TSD partition table have been checked OK!\n"); ++ for (i = 0; i < ARRAY_SIZE(aml_pattern_table); i++) ++ mmc_pattern_check(mmc, &aml_pattern_table[i]); ++ } ++ } ++ } ++ info_disprotect &= ~DISPROTECT_KEY; ++ return err; ++ ++} ++ ++ulong mmc_ffu_write(int dev_num, lbaint_t start, lbaint_t blkcnt, const void *src) ++{ ++ struct mmc_cmd cmd; ++ struct mmc_data data; ++ int ret, timeout = 1000; ++ struct mmc *mmc = find_mmc_device(dev_num); ++ if (!mmc || !blkcnt) ++ return 0; ++ ++ printf("mmc ffu start = %lx, cnt = %lx, addr = %p\n", start, blkcnt, src); ++ ++ cmd.cmdidx = MMC_CMD_SET_BLOCK_COUNT; ++ cmd.cmdarg = blkcnt & 0xFFFF; ++ cmd.resp_type = MMC_RSP_R1; ++ ret = mmc_send_cmd(mmc, &cmd, NULL); ++ if (ret) { ++ printf("mmc set blkcnt failed\n"); ++ return 0; ++ } ++ ++ cmd.cmdidx = MMC_CMD_WRITE_MULTIPLE_BLOCK; ++ cmd.cmdarg = start; ++ cmd.resp_type = MMC_RSP_R1b; ++ ++ data.src = src; ++ data.blocks = blkcnt; ++ data.blocksize = mmc->write_bl_len; ++ data.flags = MMC_DATA_WRITE; ++ ++ ret = mmc_send_cmd(mmc, &cmd, &data); ++ if (ret) { ++ printf("mmc write failed\n"); ++ return 0; ++ } ++ ++ /* Waiting for the ready status */ ++ if (mmc_send_status(mmc, timeout)) ++ return 0; ++ ++ return blkcnt; ++} ++ ++int mmc_ffu_op(int dev, u64 ffu_ver, void *addr, u64 cnt) ++{ ++ int err, i, supported_modes, fw_cfg, ffu_status; ++ u64 fw_ver = 0, n; ++ u8 ext_csd_ffu[512] = {0}; ++ lbaint_t ffu_addr=0; ++ struct mmc *mmc = find_mmc_device(dev); ++ if (!mmc) ++ return -ENODEV; ++ ++ printf("ffu update start\n"); ++ /* check Manufacturer MID */ ++ if ((mmc->cid[0] >> 24) == SAMSUNG_MID) { ++ ffu_addr = SAMSUNG_FFU_ADDR; ++ } else if ((mmc->cid[0] >> 24) == KINGSTON_MID) { ++ ffu_addr = KINGSTON_FFU_ADDR; ++ } else if ((mmc->cid[0] >> 24) == BIWIN_MID) { ++ ffu_addr = BIWIN_FFU_ADDR; ++ } else { ++ printf("FFU update for this manufacturer not support yet\n"); ++ return -1; ++ } ++ ++ /* ++ * check FFU Supportability ++ * check FFU Prohibited or not ++ * check current firmware version ++ */ ++ memset(ext_csd_ffu, 0, 512); ++ err = mmc_get_ext_csd(mmc, ext_csd_ffu); ++ if (err) ++ return err; ++ ++ supported_modes = ext_csd_ffu[EXT_CSD_SUPPORTED_MODES] & 0x1; ++ fw_cfg = ext_csd_ffu[EXT_CSD_FW_CFG] & 0x1; ++ for (i = 0; i < 8; i++) { ++ fw_ver |= ext_csd_ffu[EXT_CSD_FW_VERSION + 7 - i]; ++ if (i < 7) ++ fw_ver <<= 8; ++ } ++ if ((mmc->cid[0] >> 24) == BIWIN_MID) ++ fw_ver = ((fw_ver >> 16) & 0xffffffff); ++ printf("old fw_ver = %llx\n", fw_ver); ++ if (!supported_modes || fw_cfg || (fw_ver >= ffu_ver)) ++ return -1; ++ ++ /* Set FFU Mode */ ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_MODE_CFG, 1); ++ if (err) { ++ printf("Failed: set FFU mode\n"); ++ return err; ++ } ++ ++ /* Write patch file at one write command */ ++ n = mmc_ffu_write(dev, ffu_addr, cnt, addr); ++ if (n != cnt) { ++ printf("target is %llx block, but only %llx block has been write\n", cnt, n); ++ return -1; ++ } ++ ++ memset(ext_csd_ffu, 0, 512); ++ err = mmc_get_ext_csd(mmc, ext_csd_ffu); ++ if (err) ++ return err; ++ ++ for (i = 0; i < 8; i++) { ++ fw_ver |= ext_csd_ffu[EXT_CSD_FW_VERSION + 7 - i]; ++ if (i < 7) ++ fw_ver <<= 8; ++ } ++ if ((mmc->cid[0] >> 24) == BIWIN_MID) ++ fw_ver = ((fw_ver >> 16) & 0xffffffff); ++ printf("new fw_ver = %llx\n", fw_ver); ++ if ((mmc->cid[0] >> 24) == SAMSUNG_MID) { ++ /* Set Normal Mode */ ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_MODE_CFG, 0); ++ if (err) ++ return err; ++ } ++ ++ /* reset devices */ ++ err = mmc_go_idle(mmc); ++ if (err) ++ return err; ++ ++ /* Initialization */ ++ mmc->has_init = 0; ++ err = mmc_init(mmc); ++ if (err) ++ return err; ++ ++ /* Read ffu_status, check ffu_version */ ++ memset(ext_csd_ffu, 0, 512); ++ err = mmc_get_ext_csd(mmc, ext_csd_ffu); ++ if (err) ++ return err; ++ ffu_status = ext_csd_ffu[EXT_CSD_FFU_STATUS] & 0xff; ++ fw_ver = 0; ++ for (i = 0; i < 8; i++) { ++ fw_ver |= ext_csd_ffu[EXT_CSD_FW_VERSION + 7 - i]; ++ if (i < 7) ++ fw_ver <<= 8; ++ } ++ if ((mmc->cid[0] >> 24) == BIWIN_MID) ++ fw_ver = ((fw_ver >> 16) & 0xffffffff); ++ printf("new fw_ver = %llx\n", fw_ver); ++ if (ffu_status || (fw_ver != ffu_ver)) ++ return ffu_status; ++ ++ printf("FFU update ok!\n"); ++ return 0; ++} ++ ++int mmc_set_dsr(struct mmc *mmc, u16 val) ++{ ++ mmc->dsr = val; ++ return 0; ++} ++ ++/* CPU-specific MMC initializations */ ++__weak int cpu_mmc_init(bd_t *bis) ++{ ++ return -1; ++} ++ ++/* board-specific MMC initializations. */ ++__weak int board_mmc_init(bd_t *bis) ++{ ++ return -1; ++} ++ ++void mmc_set_preinit(struct mmc *mmc, int preinit) ++{ ++ mmc->preinit = preinit; ++} ++ ++#if CONFIG_IS_ENABLED(DM_MMC) ++static int mmc_probe(bd_t *bis) ++{ ++ int ret, i; ++ struct uclass *uc; ++ struct udevice *dev; ++ ++ ret = uclass_get(UCLASS_MMC, &uc); ++ if (ret) ++ return ret; ++ ++ /* ++ * Try to add them in sequence order. Really with driver model we ++ * should allow holes, but the current MMC list does not allow that. ++ * So if we request 0, 1, 3 we will get 0, 1, 2. ++ */ ++ for (i = 0; ; i++) { ++ ret = uclass_get_device_by_seq(UCLASS_MMC, i, &dev); ++ if (ret == -ENODEV) ++ break; ++ } ++ uclass_foreach_dev(dev, uc) { ++ ret = device_probe(dev); ++ if (ret) ++ pr_err("%s - probe failed: %d\n", dev->name, ret); ++ } ++ ++ return 0; ++} ++#else ++static int mmc_probe(bd_t *bis) ++{ ++ if (board_mmc_init(bis) < 0) ++ cpu_mmc_init(bis); ++ ++ return 0; ++} ++#endif ++ ++int mmc_initialize(bd_t *bis) ++{ ++ static int initialized = 0; ++ int ret; ++ if (initialized) /* Avoid initializing mmc multiple times */ ++ return 0; ++ initialized = 1; ++ ++#if !CONFIG_IS_ENABLED(BLK) ++#if !CONFIG_IS_ENABLED(MMC_TINY) ++ mmc_list_init(); ++#endif ++#endif ++ ret = mmc_probe(bis); ++ if (ret) ++ return ret; ++ ++#ifndef CONFIG_SPL_BUILD ++ //print_mmc_devices(','); ++#endif ++ ++ mmc_do_preinit(); ++ return 0; ++} ++ ++#ifdef CONFIG_CMD_BKOPS_ENABLE ++int mmc_set_bkops_enable(struct mmc *mmc) ++{ ++ int err; ++ ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, MMC_MAX_BLOCK_LEN); ++ ++ err = mmc_send_ext_csd(mmc, ext_csd); ++ if (err) { ++ puts("Could not get ext_csd register values\n"); ++ return err; ++ } ++ ++ if (!(ext_csd[EXT_CSD_BKOPS_SUPPORT] & 0x1)) { ++ puts("Background operations not supported on device\n"); ++ return -EMEDIUMTYPE; ++ } ++ ++ if (ext_csd[EXT_CSD_BKOPS_EN] & 0x1) { ++ puts("Background operations already enabled\n"); ++ return 0; ++ } ++ ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BKOPS_EN, 1); ++ if (err) { ++ puts("Failed to enable manual background operations\n"); ++ return err; ++ } ++ ++ puts("Enabled manual background operations\n"); ++ ++ return 0; ++} ++#endif ++ ++extern unsigned long blk_dwrite(struct blk_desc *block_dev, lbaint_t start, ++ lbaint_t blkcnt, const void *buffer); ++ ++int mmc_key_write(unsigned char *buf, unsigned int size, uint32_t *actual_lenth) ++{ ++ ulong start, start_blk, blkcnt, ret; ++ unsigned char * temp_buf = buf; ++ int i = 2, dev = EMMC_DTB_DEV; ++ struct partitions * part = NULL; ++ struct mmc *mmc; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_KEY_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ ++ mmc = find_mmc_device(dev); ++ ++ start = part->offset + vpart->offset; ++ start_blk = (start / MMC_BLOCK_SIZE); ++ blkcnt = (size / MMC_BLOCK_SIZE); ++ info_disprotect |= DISPROTECT_KEY; ++ do { ++ ret = blk_dwrite(mmc_get_blk_desc(mmc), start_blk, blkcnt, temp_buf); ++ if (ret != blkcnt) { ++ pr_err("[%s] %d, mmc_bwrite error\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ start_blk += vpart->size / MMC_BLOCK_SIZE; ++ } while (--i); ++ info_disprotect &= ~DISPROTECT_KEY; ++ return 0; ++} ++ ++ ++ ++ ++extern unsigned long blk_derase(struct blk_desc *block_dev, lbaint_t start, ++ lbaint_t blkcnt); ++ ++int mmc_key_erase(void) ++{ ++ ulong start, start_blk, blkcnt, ret; ++ struct partitions * part = NULL; ++ struct virtual_partition *vpart = NULL; ++ struct mmc *mmc; ++ vpart = aml_get_virtual_partition_by_name(MMC_KEY_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ int dev = EMMC_DTB_DEV; ++ ++ mmc = find_mmc_device(dev); ++ start = part->offset + vpart->offset; ++ start_blk = (start / MMC_BLOCK_SIZE); ++ blkcnt = (vpart->size / MMC_BLOCK_SIZE) * 2;//key and backup key ++ info_disprotect |= DISPROTECT_KEY; ++ ret = blk_derase(mmc_get_blk_desc(mmc), start_blk, blkcnt); ++ info_disprotect &= ~DISPROTECT_KEY; ++ if (ret) { ++ pr_err("[%s] %d mmc_berase error\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return 0; ++} ++ ++ ++int mmc_key_read(unsigned char *buf, unsigned int size, uint32_t *actual_lenth) ++{ ++ ulong start, start_blk, blkcnt, ret; ++ int dev = EMMC_DTB_DEV; ++ unsigned char *temp_buf = buf; ++ struct partitions * part = NULL; ++ struct mmc *mmc; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_KEY_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ ++ mmc = find_mmc_device(dev); ++ *actual_lenth = 0x40000;/*key size is 256KB*/ ++ start = part->offset + vpart->offset; ++ start_blk = (start / MMC_BLOCK_SIZE); ++ blkcnt = (size / MMC_BLOCK_SIZE); ++ info_disprotect |= DISPROTECT_KEY; ++ ret = blk_dread(mmc_get_blk_desc(mmc), start_blk, blkcnt, temp_buf); ++ info_disprotect &= ~DISPROTECT_KEY; ++ if (ret != blkcnt) { ++ pr_err("[%s] %d, mmc_bread error\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return 0; ++} ++ ++ ++ +diff --git a/drivers/mmc/mmc_aml.c b/drivers/mmc/mmc_aml.c +new file mode 100644 +index 00000000000..a9b0ff780f8 +--- /dev/null ++++ b/drivers/mmc/mmc_aml.c +@@ -0,0 +1,416 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright 2008, Freescale Semiconductor, Inc ++ * Andy Fleming ++ * ++ * Based vaguely on the Linux code ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "mmc_private.h" ++#include ++#include ++#include ++#include ++#include ++ ++static int mmc_set_signal_voltage(struct mmc *mmc, uint signal_voltage); ++ ++extern int emmc_probe(uint32_t init_flag); ++ ++bool emmckey_is_access_range_legal (struct mmc *mmc, ulong start, lbaint_t blkcnt) { ++ ulong key_start_blk, key_end_blk; ++ u64 key_glb_offset; ++ struct partitions * part = NULL; ++ struct virtual_partition *vpart = NULL; ++ if (IS_MMC(mmc)) { ++ vpart = aml_get_virtual_partition_by_name(MMC_KEY_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ key_glb_offset = part->offset + vpart->offset; ++ key_start_blk = (key_glb_offset / MMC_BLOCK_SIZE); ++ key_end_blk = ((key_glb_offset + vpart->size) / MMC_BLOCK_SIZE - 1); ++ if (!(info_disprotect & DISPROTECT_KEY)) { ++ if ((key_start_blk <= (start + blkcnt -1)) ++ && (key_end_blk >= start) ++ && (blkcnt != start)) { ++ pr_info("%s, keys %ld, keye %ld, start %ld, blkcnt %ld\n", ++ mmc->cfg->name, key_start_blk, ++ key_end_blk, start, blkcnt); ++ pr_err("Emmckey: Access range is illegal!\n"); ++ return 0; ++ } ++ } ++ } ++ return 1; ++} ++ ++int emmc_boot_chk(struct mmc *mmc) ++{ ++ u32 val = 0; ++ ++ if (strcmp(mmc->dev->name, "emmc")) ++ return 0; ++ ++ val = readl(SEC_AO_SEC_GP_CFG0); ++ pr_info("SEC_AO_SEC_GP_CFG0 = %x\n", val); ++ if ((val & 0xf) == 0x1) ++ return 1; ++ ++ return 0; ++} ++ ++#if CONFIG_IS_ENABLED(MMC_TINY) ++static struct mmc mmc_static; ++struct mmc *find_mmc_device(int dev_num) ++{ ++ return &mmc_static; ++} ++ ++void mmc_do_preinit(void) ++{ ++ struct mmc *m = &mmc_static; ++#ifdef CONFIG_FSL_ESDHC_ADAPTER_IDENT ++ mmc_set_preinit(m, 1); ++#endif ++ if (m->preinit) ++ mmc_start_init(m); ++} ++ ++struct blk_desc *mmc_get_blk_desc(struct mmc *mmc) ++{ ++ return &mmc->block_dev; ++} ++#endif ++ ++#if !CONFIG_IS_ENABLED(DM_MMC) ++ ++#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ++static int mmc_wait_dat0(struct mmc *mmc, int state, int timeout) ++{ ++ return -ENOSYS; ++} ++#endif ++ ++__weak int board_mmc_getwp(struct mmc *mmc) ++{ ++ return -1; ++} ++ ++int mmc_getwp(struct mmc *mmc) ++{ ++ int wp; ++ ++ wp = board_mmc_getwp(mmc); ++ ++ if (wp < 0) { ++ if (mmc->cfg->ops->getwp) ++ wp = mmc->cfg->ops->getwp(mmc); ++ else ++ wp = 0; ++ } ++ ++ return wp; ++} ++ ++__weak int board_mmc_getcd(struct mmc *mmc) ++{ ++ return -1; ++} ++#endif ++ ++#ifdef CONFIG_MMC_TRACE ++void mmmc_trace_before_send(struct mmc *mmc, struct mmc_cmd *cmd) ++{ ++ pr_info("CMD_SEND:%d\n", cmd->cmdidx); ++ pr_info("\t\tARG\t\t\t 0x%08X\n", cmd->cmdarg); ++} ++ ++void mmmc_trace_after_send(struct mmc *mmc, struct mmc_cmd *cmd, int ret) ++{ ++ int i; ++ u8 *ptr; ++ ++ if (ret) { ++ pr_info("\t\tRET\t\t\t %d\n", ret); ++ } else { ++ switch (cmd->resp_type) { ++ case MMC_RSP_NONE: ++ pr_info("\t\tMMC_RSP_NONE\n"); ++ break; ++ case MMC_RSP_R1: ++ pr_info("\t\tMMC_RSP_R1,5,6,7 \t 0x%08X \n", ++ cmd->response[0]); ++ break; ++ case MMC_RSP_R1b: ++ pr_info("\t\tMMC_RSP_R1b\t\t 0x%08X \n", ++ cmd->response[0]); ++ break; ++ case MMC_RSP_R2: ++ pr_info("\t\tMMC_RSP_R2\t\t 0x%08X \n", ++ cmd->response[0]); ++ pr_info("\t\t \t\t 0x%08X \n", ++ cmd->response[1]); ++ pr_info("\t\t \t\t 0x%08X \n", ++ cmd->response[2]); ++ pr_info("\t\t \t\t 0x%08X \n", ++ cmd->response[3]); ++ pr_info("\n"); ++ pr_info("\t\t\t\t\tDUMPING DATA\n"); ++ for (i = 0; i < 4; i++) { ++ int j; ++ pr_info("\t\t\t\t\t%03d - ", i*4); ++ ptr = (u8 *)&cmd->response[i]; ++ ptr += 3; ++ for (j = 0; j < 4; j++) ++ pr_info("%02X ", *ptr--); ++ pr_info("\n"); ++ } ++ break; ++ case MMC_RSP_R3: ++ pr_info("\t\tMMC_RSP_R3,4\t\t 0x%08X \n", ++ cmd->response[0]); ++ break; ++ default: ++ pr_info("\t\tERROR MMC rsp not supported\n"); ++ break; ++ } ++ } ++} ++ ++#endif ++ ++int mmc_get_ext_csd(struct mmc *mmc, u8 *ext_csd) ++{ ++ return mmc_send_ext_csd(mmc, ext_csd); ++} ++ ++#if !CONFIG_IS_ENABLED(MMC_TINY) ++u8 ext_csd_w[] = {191, 187, 185, 183, 179, 178, 177, 175, ++ 173, 171, 169, 167, 165, 164, 163, 162, ++ 161, 156, 155, 143, 140, 136, 134, 133, ++ 132, 131, 62, 59, 56, 52, 37, 34, ++ 33, 32, 31, 30, 29, 22, 17, 16, 15}; ++ ++int mmc_set_ext_csd(struct mmc *mmc, u8 index, u8 value) ++{ ++ int ret = -21, i; ++ ++ for (i = 0; i < sizeof(ext_csd_w); i++) { ++ if (ext_csd_w[i] == index) ++ break; ++ } ++ if (i != sizeof(ext_csd_w)) ++ ret = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, index, value); ++ ++ return ret; ++} ++ ++ ++#endif ++ ++#if !CONFIG_IS_ENABLED(DM_MMC) ++#ifdef MMC_SUPPORTS_TUNING ++static int mmc_execute_tuning(struct mmc *mmc, uint opcode) ++{ ++ return -ENOTSUPP; ++} ++#endif ++ ++static int mmc_set_ios(struct mmc *mmc) ++{ ++ int ret = 0; ++ ++ if (mmc->cfg->ops->set_ios) ++ ret = mmc->cfg->ops->set_ios(mmc); ++ ++ return ret; ++} ++#endif ++ ++struct mode_width_tuning { ++ enum bus_mode mode; ++ uint widths; ++#ifdef MMC_SUPPORTS_TUNING ++ uint tuning; ++#endif ++}; ++ ++#if CONFIG_IS_ENABLED(MMC_IO_VOLTAGE) ++int mmc_voltage_to_mv(enum mmc_voltage voltage) ++{ ++ switch (voltage) { ++ case MMC_SIGNAL_VOLTAGE_000: return 0; ++ case MMC_SIGNAL_VOLTAGE_330: return 3300; ++ case MMC_SIGNAL_VOLTAGE_180: return 1800; ++ case MMC_SIGNAL_VOLTAGE_120: return 1200; ++ } ++ return -EINVAL; ++} ++ ++static int mmc_set_signal_voltage(struct mmc *mmc, uint signal_voltage) ++{ ++ int err; ++ ++ if (mmc->signal_voltage == signal_voltage) ++ return 0; ++ ++ mmc->signal_voltage = signal_voltage; ++ err = mmc_set_ios(mmc); ++ if (err) ++ pr_debug("unable to set voltage (err %d)\n", err); ++ ++ return err; ++} ++#else ++static inline int mmc_set_signal_voltage(struct mmc *mmc, uint signal_voltage) ++{ ++ return 0; ++} ++#endif ++ ++#if !CONFIG_IS_ENABLED(DM_MMC) ++/* board-specific MMC power initializations. */ ++__weak void board_mmc_power_init(void) ++{ ++} ++#endif ++ ++#ifdef CONFIG_CMD_BKOPS_ENABLE ++int mmc_set_bkops_enable(struct mmc *mmc) ++{ ++ int err; ++ ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, MMC_MAX_BLOCK_LEN); ++ ++ err = mmc_send_ext_csd(mmc, ext_csd); ++ if (err) { ++ puts("Could not get ext_csd register values\n"); ++ return err; ++ } ++ ++ if (!(ext_csd[EXT_CSD_BKOPS_SUPPORT] & 0x1)) { ++ puts("Background operations not supported on device\n"); ++ return -EMEDIUMTYPE; ++ } ++ ++ if (ext_csd[EXT_CSD_BKOPS_EN] & 0x1) { ++ puts("Background operations already enabled\n"); ++ return 0; ++ } ++ ++ err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BKOPS_EN, 1); ++ if (err) { ++ puts("Failed to enable manual background operations\n"); ++ return err; ++ } ++ ++ puts("Enabled manual background operations\n"); ++ ++ return 0; ++} ++#endif ++ ++extern unsigned long blk_dwrite(struct blk_desc *block_dev, lbaint_t start, ++ lbaint_t blkcnt, const void *buffer); ++ ++int mmc_key_write(unsigned char *buf, unsigned int size, uint32_t *actual_lenth) ++{ ++ ulong start, start_blk, blkcnt, ret; ++ unsigned char * temp_buf = buf; ++ int i = 2, dev = EMMC_DTB_DEV; ++ struct partitions * part = NULL; ++ struct mmc *mmc; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_KEY_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ ++ mmc = find_mmc_device(dev); ++ ++ start = part->offset + vpart->offset; ++ start_blk = (start / MMC_BLOCK_SIZE); ++ blkcnt = (size / MMC_BLOCK_SIZE); ++ info_disprotect |= DISPROTECT_KEY; ++ do { ++ ret = blk_dwrite(mmc_get_blk_desc(mmc), start_blk, blkcnt, temp_buf); ++ if (ret != blkcnt) { ++ pr_err("[%s] %d, mmc_bwrite error\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ start_blk += vpart->size / MMC_BLOCK_SIZE; ++ } while (--i); ++ info_disprotect &= ~DISPROTECT_KEY; ++ return 0; ++} ++ ++extern unsigned long blk_derase(struct blk_desc *block_dev, lbaint_t start, ++ lbaint_t blkcnt); ++ ++int mmc_key_erase(void) ++{ ++ ulong start, start_blk, blkcnt, ret; ++ struct partitions * part = NULL; ++ struct virtual_partition *vpart = NULL; ++ struct mmc *mmc; ++ vpart = aml_get_virtual_partition_by_name(MMC_KEY_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ int dev = EMMC_DTB_DEV; ++ ++ mmc = find_mmc_device(dev); ++ start = part->offset + vpart->offset; ++ start_blk = (start / MMC_BLOCK_SIZE); ++ blkcnt = (vpart->size / MMC_BLOCK_SIZE) * 2;//key and backup key ++ info_disprotect |= DISPROTECT_KEY; ++ ret = blk_derase(mmc_get_blk_desc(mmc), start_blk, blkcnt); ++ info_disprotect &= ~DISPROTECT_KEY; ++ if (ret) { ++ pr_err("[%s] %d mmc_berase error\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return 0; ++} ++ ++ ++int mmc_key_read(unsigned char *buf, unsigned int size, uint32_t *actual_lenth) ++{ ++ ulong start, start_blk, blkcnt, ret; ++ int dev = EMMC_DTB_DEV; ++ unsigned char *temp_buf = buf; ++ struct partitions * part = NULL; ++ struct mmc *mmc; ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(MMC_KEY_NAME); ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ ++ mmc = find_mmc_device(dev); ++ *actual_lenth = 0x40000;/*key size is 256KB*/ ++ start = part->offset + vpart->offset; ++ start_blk = (start / MMC_BLOCK_SIZE); ++ blkcnt = (size / MMC_BLOCK_SIZE); ++ info_disprotect |= DISPROTECT_KEY; ++ ret = blk_dread(mmc_get_blk_desc(mmc), start_blk, blkcnt, temp_buf); ++ info_disprotect &= ~DISPROTECT_KEY; ++ if (ret != blkcnt) { ++ pr_err("[%s] %d, mmc_bread error\n", ++ __func__, __LINE__); ++ return 1; ++ } ++ return 0; ++} ++ ++ ++ +diff --git a/drivers/mmc/storage_emmc.c b/drivers/mmc/storage_emmc.c +new file mode 100644 +index 00000000000..d938066e49b +--- /dev/null ++++ b/drivers/mmc/storage_emmc.c +@@ -0,0 +1,946 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++ ++#define USER_PARTITION 0 ++#define BOOT0_PARTITION 1 ++#define BOOT1_PARTITION 2 ++#define RPMB_PARTITION 3 ++ ++#define NOMAL_INIT 0 ++#define ERASE_ALL 3 ++#define ERASE_RESERVED 2 ++ ++#define GXB_START_BLK 0 ++#define GXL_START_BLK 1 ++#define STORAGE_EMMC 1 ++/* max 2MB for emmc in blks */ ++#define UBOOT_SIZE (0x1000) ++#define BLOCK_SIZE 512 ++ ++ ++ ++ ++ ++extern int find_dev_num_by_partition_name (char const *name); ++extern struct partitions *get_partition_info_by_num(const int num); ++extern bool emmckey_is_protected(struct mmc *mmc); ++extern int info_disprotect; ++extern int dtb_read(void *addr); ++extern int dtb_write(void *addr); ++extern int renew_partition_tbl(unsigned char *buffer); ++ ++static int storage_range_check(struct mmc *mmc,char const *part_name,loff_t offset, size_t *size,loff_t *off) { ++ ++ struct partitions *part_info = NULL; ++ ++ //cpu_id_t cpu_id = get_cpu_id(); ++ ++ ++ if (strcmp(part_name, "bootloader") == 0) { ++ *off = 0; ++ if (1) { //if (cpu_id.family_id >= MESON_CPU_MAJOR_ID_GXL) { ++ *off += 512; ++ } ++ if (*size == 0) { ++ *size =mmc->capacity_boot; ++ if (1) { //if (cpu_id.family_id >= MESON_CPU_MAJOR_ID_GXL) { ++ *size = *size - 512; ++ } ++ } ++ } else { ++ part_info = find_mmc_partition_by_name(part_name); ++ if (!part_info) { ++ printf("error partition name!\n"); ++ return 1; ++ } ++ if ((part_info->mask_flags & PART_PROTECT_FLAG) && ++ !(info_disprotect & DISPROTECT_KEY)) { ++ printf("%s is protected, pls open it in Dts\n", ++ part_info->name); ++ return 1; ++ } ++ ++ *off = part_info->offset+offset; ++ if (offset >= part_info->size) { ++ printf("Start address out #%s# partition'address region,(off < 0x%llx)\n", ++ part_name, part_info->size); ++ return 1; ++ } ++ if ((*off+*size) > (part_info->size+part_info->offset)) { ++ printf("End address exceeds #%s# partition,(offset = 0x%llx,size = 0x%llx)\n", ++ part_name, part_info->offset,part_info->size); ++ return 1; ++ } ++ ++ if (*size == 0) { ++ *size = part_info->size - offset; ++ } ++ } ++ return 0; ++} ++ ++ ++ ++static int storage_rsv_range_check(char const *part_name, size_t *size,loff_t *off) { ++ ++ struct partitions *part = NULL; ++ struct virtual_partition *vpart = NULL; ++ ++ ++ vpart = aml_get_virtual_partition_by_name(part_name); ++ ++ if (!vpart) { ++ printf("error partition name!\n"); ++ return 1; ++ } ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ if (!part) { ++ printf("error partition name!\n"); ++ return 1; ++ } ++ *off = part->offset + vpart->offset; ++ if ((*size) > vpart->size) { ++ printf("End address exceeds #%s# partition,(offset = 0x%llx,size = 0x%llx)\n", ++ part_name, vpart->offset,vpart->size); ++ return 1; ++ } ++ if (*size == 0) ++ *size = vpart->size; ++ return 0; ++} ++ ++ ++static int storage_byte_read(struct mmc *mmc,loff_t off, size_t size,void *addr) { ++ ++ int blk_shift = 0; ++ u64 cnt = 0, n = 0, blk = 0, sz_byte = 0; ++ ulong start_blk; ++ void *addr_tmp; ++ void *addr_byte; ++ ++ blk_shift = ffs(mmc->read_bl_len) - 1; ++ blk = off >> blk_shift ; ++ cnt = size >> blk_shift ; ++ sz_byte = size - ((cnt) << blk_shift) ; ++ mmc_init(mmc); ++ ++ pr_info("blk:%lld cnt:%lld \n",blk,cnt); ++ n = blk_dread(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ if ((n == cnt) && (sz_byte != 0)) { ++ /*printf("sz_byte=%#llx bytes\n",sz_byte);*/ ++ addr_tmp = malloc(mmc->read_bl_len); ++ addr_byte = (void *)(addr+cnt*(mmc->read_bl_len)); ++ start_blk = blk+cnt; ++ ++ if (addr_tmp == NULL) { ++ printf("mmc read: malloc fail\n"); ++ return 1; ++ } ++ ++ if (blk_dread(mmc_get_blk_desc(mmc), start_blk, 1, addr_tmp) != 1) { // read 1 block ++ free(addr_tmp); ++ printf("mmc read 1 block fail\n"); ++ return 1; ++ } ++ ++ memcpy(addr_byte, addr_tmp, sz_byte); ++ free(addr_tmp); ++ } ++ return (n == cnt) ? 0 : 1; ++ ++ ++} ++ ++static int storage_byte_write(struct mmc *mmc,loff_t off, size_t size,void *addr) { ++ ++ int blk_shift = 0; ++ u64 cnt = 0, n = 0, blk = 0, sz_byte = 0; ++ ++ blk_shift = ffs(mmc->read_bl_len) - 1; ++ blk = off >> blk_shift ; ++ cnt = size >> blk_shift ; ++ sz_byte = size - ((cnt) << blk_shift); ++ mmc_init(mmc); ++ pr_info("blk:%lld cnt:%lld \n",blk,cnt); ++ ++ n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ if ((n == cnt) && (sz_byte != 0)) { ++ // printf("sz_byte=%#llx bytes\n",sz_byte); ++ void *addr_tmp = malloc(mmc->write_bl_len); ++ void *addr_byte = (void*)(addr+cnt*(mmc->write_bl_len)); ++ ulong start_blk = blk+cnt; ++ ++ if (addr_tmp == NULL) { ++ printf("mmc write: malloc fail\n"); ++ return 1; ++ } ++ ++ if (blk_dread(mmc_get_blk_desc(mmc), start_blk, 1, addr_tmp) != 1) { // read 1 block ++ free(addr_tmp); ++ printf("mmc read 1 block fail\n"); ++ return 1; ++ } ++ ++ memcpy(addr_tmp, addr_byte, sz_byte); ++ if (blk_dwrite(mmc_get_blk_desc(mmc), start_blk, 1, addr_tmp) != 1) { // write 1 block ++ free(addr_tmp); ++ printf("mmc write 1 block fail\n"); ++ return 1; ++ } ++ free(addr_tmp); ++ } ++ //printf("%#llx blocks , %#llx bytes written: %s\n", n, sz_byte, (n==cnt) ? "OK" : "ERROR"); ++ return (n == cnt) ? 0 : 1; ++} ++ ++ ++static int storage_byte_erase(struct mmc *mmc,loff_t off, size_t size) { ++ ++ int blk_shift = 0; ++ u64 cnt = 0, n = 0, blk = 0; ++ ++ blk_shift = ffs(mmc->read_bl_len) - 1; ++ blk = off >> blk_shift ; ++ cnt = size >> blk_shift ; ++ mmc_init(mmc); ++ pr_info("blk:%lld cnt:%lld \n",blk,cnt); ++ if (cnt) ++ n = blk_derase(mmc_get_blk_desc(mmc), blk, cnt); ++ printf("%lld blocks erased: %s\n", cnt, (n == 0) ? "OK" : "ERROR"); ++ return (n == 0) ? 0 : 1; ++} ++ ++static int storage_erase_in_part(char const *part_name, loff_t off, size_t size) ++{ ++ int ret = 1; ++ struct mmc *mmc; ++ loff_t offset; ++ ++ mmc = find_mmc_device(STORAGE_EMMC); ++ if (!mmc) ++ return 1; ++ ++ ret = storage_range_check(mmc,part_name, off, &size, &offset); ++ if (ret) ++ return ret; ++ ++ ret = storage_byte_erase(mmc, offset, size); ++ return (ret == 0) ? 0 : 1; ++} ++ ++ ++ ++static int storage_read_in_part(char const *part_name, loff_t off, size_t size, void *dest) ++{ ++ int ret =1; ++ struct mmc *mmc; ++ loff_t offset; ++ ++ mmc = find_mmc_device(STORAGE_EMMC); ++ if (!mmc) ++ return 1; ++ ++ ret = storage_range_check(mmc,part_name,off,&size,&offset); ++ ++ if (ret) return ret; ++ ++ ret = storage_byte_read(mmc, offset, size, dest); ++ ++ return ret; ++} ++ ++ ++static int storage_write_in_part(char const *part_name, loff_t off, size_t size, void *source) ++{ ++ int ret = 1; ++ loff_t offset; ++ struct mmc *mmc; ++ ++ mmc = find_mmc_device(STORAGE_EMMC); ++ if (!mmc) { ++ printf("Cannot find mmc. \n"); ++ return 1; ++ } ++ ret = storage_range_check(mmc,part_name, off, &size, &offset); ++ if (ret) return ret; ++ ++ ret = storage_byte_write(mmc, offset, size, source); ++ return ret; ++} ++ ++static int storage_mmc_erase_user(struct mmc *mmc) { ++ int ret = 0, i; ++ struct partitions *part_info = NULL; ++ ++ if (info_disprotect & DISPROTECT_KEY) {//key disprotect,erase all ++ ret = blk_derase(mmc_get_blk_desc(mmc), 0, 0); ++ } else {//key protect partition with the protect_flag ++ for (i = 0;;i++) { ++ part_info = get_partition_info_by_num(i); ++ if (part_info == NULL) ++ break; ++ if (!strcmp("reserved", part_info->name)) { ++ printf("Part:reserved is skiped\n"); ++ continue; ++ } ++ if (part_info->mask_flags & PART_PROTECT_FLAG) { ++ printf("Part:%s is protected\n", part_info->name); ++ continue; ++ } ++ ret = blk_derase(mmc_get_blk_desc(mmc), ++ part_info->offset / BLOCK_SIZE, ++ part_info->size / BLOCK_SIZE); ++ printf("Erased: %s %s\n", ++ part_info->name, ++ (ret == 0)? "OK" : "ERR"); ++ } ++ } ++ printf("User partition erased: %s\n", (ret == 0) ? "OK" : "ERROR"); ++ return ret; ++} ++ ++static int storage_mmc_erase(int flag, struct mmc *mmc) { ++ ++ int ret = 0; ++ loff_t off = 0; ++ size_t size = 0; ++ ++ if (flag >= ERASE_ALL) {//erase all except reserved ++ ret = storage_mmc_erase_user(mmc); ++ if (ret != 0) { ++ return -1; ++ } ++ ++ ret = blk_select_hwpart_devnum(UCLASS_MMC, STORAGE_EMMC, BOOT0_PARTITION); ++ if (ret) goto R_SWITCH_BACK; ++ ret = blk_derase(mmc_get_blk_desc(mmc), 0, 0); ++ printf("boot0 partition erased: %s\n", (ret == 0) ? "OK" : "ERROR"); ++ ++ ret = blk_select_hwpart_devnum(UCLASS_MMC, STORAGE_EMMC, BOOT1_PARTITION); ++ ++ if (ret) goto R_SWITCH_BACK; ++ ret = blk_derase(mmc_get_blk_desc(mmc), 0, 0); ++ printf("boot1 partition erased: %s\n", (ret == 0) ? "OK" : "ERROR"); ++R_SWITCH_BACK: ++ ret = blk_select_hwpart_devnum(UCLASS_MMC, STORAGE_EMMC, USER_PARTITION); ++ ++ } else if (flag == ERASE_RESERVED) {//erase reserved ++ ++ info_disprotect |= DISPROTECT_KEY; ++ ret = storage_rsv_range_check("reserved", &size, &off); ++ if (ret != 0) { ++ return -1; ++ } ++ ret = storage_erase_in_part("reserved", off, size); ++ info_disprotect &= ~DISPROTECT_KEY; ++ } ++ ++ return ret; ++ ++ ++} ++ ++ ++ ++int mmc_storage_init(unsigned char init_flag) { ++ ++ int ret =1; ++ struct mmc *mmc; ++ mmc = find_mmc_device(STORAGE_EMMC); ++ mmc->has_init=0; ++ pinctrl_select_state(mmc->dev, "default"); ++ if (!mmc) { ++ return -1; ++ } ++ ret = mmc_init(mmc); ++ if (ret != 0) { ++ return -1; ++ } ++ ret = storage_mmc_erase(init_flag, mmc); ++ return ret; ++} ++ ++ ++ ++ ++ ++uint64_t mmc_storage_get_part_size(const char *part_name) { ++ ++ struct partitions *part_info = NULL; ++ ++ part_info = find_mmc_partition_by_name(part_name); ++ ++ if (part_info == NULL) { ++ printf("get partition info failed !!\n"); ++ return -1; ++ } ++ return part_info->size; ++} ++ ++int mmc_storage_read(const char *part_name, loff_t off, size_t size, void *dest) { ++ ++ int ret=1; ++ struct mmc *mmc; ++ mmc = find_mmc_device(STORAGE_EMMC); ++ ++ if (!mmc) ++ return 1; ++ ++ if (!part_name) {//the operating object is the device,the unit of operation is block. ++ info_disprotect |= DISPROTECT_KEY; ++ ret = blk_dread(mmc_get_blk_desc(mmc), off, size, dest); ++ info_disprotect &= ~DISPROTECT_KEY; ++ printf("%d blocks read: %s\n", ret, (ret == size) ? "OK" : "ERROR"); ++ return (ret == size) ? 0 : 1; ++ ++ } else {//the opering object is partition,the unit of operation is byte. ++ ret = storage_read_in_part(part_name, off,size, dest); ++ } ++ ++ return ret; ++ ++} ++ ++ ++int mmc_storage_write(const char *part_name, loff_t off, size_t size, void *source) { ++ ++ int ret=1; ++ ++ struct mmc *mmc; ++ mmc = find_mmc_device(STORAGE_EMMC); ++ if (!mmc) ++ return 1; ++ ++ if (!part_name) {//the operating object is the device,the unit of operation is block. ++ info_disprotect |= DISPROTECT_KEY; ++ ret = blk_dwrite(mmc_get_blk_desc(mmc), off, size, source); ++ info_disprotect &= ~DISPROTECT_KEY; ++ printf("%d blocks written: %s\n", ret, (ret == size) ? "OK" : "ERROR"); ++ return (ret == size) ? 0 : 1; ++ } else {//the opering object is partition,the unit of operation is byte. ++ ret = storage_write_in_part(part_name, off, size, source); ++ } ++ return ret; ++} ++ ++int mmc_storage_erase(const char *part_name, loff_t off, size_t size, int scrub_flag) { ++ ++ int ret=1; ++ struct mmc *mmc; ++ mmc = find_mmc_device(STORAGE_EMMC); ++ if (!mmc) ++ return 1; ++ ++ if (!part_name) {//the operating object is the device,the unit of operation is block. ++ ret = storage_mmc_erase(ERASE_ALL, mmc); ++ return (ret == 0) ? 0 : 1; ++ } else {//the opering object is partition,the unit of operation is byte. ++ ret = storage_erase_in_part(part_name, off, size); ++ } ++ return ret; ++} ++ ++uint8_t mmc_storage_get_copies(const char *part_name) { ++ ++ char ret=3; ++ ++ return ret; ++ ++} ++ ++ ++uint64_t mmc_get_copy_size(const char *part_name) { ++ ++ struct partitions *part_info = NULL; ++ ++#ifdef CONFIG_AML_GPT ++ return UBOOT_SIZE*512; ++#else ++ part_info = find_mmc_partition_by_name("bootloader"); ++ if (part_info == NULL) { ++ printf("get partition info failed !!\n"); ++ return -1; ++ } ++ return part_info->size; ++#endif ++} ++ ++/* dtb read&write operation with backup updates */ ++static u32 _calc_boot_info_checksum(struct storage_emmc_boot_info *boot_info) ++{ ++ u32 *buffer = (u32*)boot_info; ++ u32 checksum = 0; ++ int i = 0; ++ ++ do { ++ checksum += buffer[i]; ++ } while (i++ < ((EMMC_BOOT_INFO_SIZE >> 2) - 2)); ++ ++ return checksum; ++} ++ ++static int fill_mask8_part(struct part_property *mask8) ++{ ++ struct partitions *part; ++ int i = 0, mask8_cnt = 0; ++ ++ part = get_partition_info_by_num(i); ++ while (part) { ++ if ((part->mask_flags == 8) ++ && (mask8_cnt++ < BOOTINFO_MAX_PARTITIONS)) { ++ strncpy(mask8->name, part->name, strlen(part->name)); ++ mask8->addr = part->offset / MMC_BLOCK_SIZE; ++ mask8->size = part->size / MMC_BLOCK_SIZE; ++ mask8++; ++ } ++ if (mask8_cnt == BOOTINFO_MAX_PARTITIONS) ++ break; ++ i++; ++ part = get_partition_info_by_num(i); ++ } ++ ++ return mask8_cnt; ++} ++ ++static int amlmmc_write_info_sector(struct mmc *mmc) ++{ ++ struct storage_emmc_boot_info *boot_info; ++ struct virtual_partition *ddr_part; ++ struct partitions *part; ++ /* partitons with mask = 8 need to fill to bootinfo */ ++ struct part_property *mask8; ++ int mask8_partition_count; ++ u8 *buffer; ++ int ret = 0, i; ++ ++ buffer = malloc(MMC_BLOCK_SIZE); ++ if (!buffer) ++ return -ENOMEM; ++ ++ memset(buffer, 0, sizeof(*boot_info)); ++ boot_info = (struct storage_emmc_boot_info *)buffer; ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ boot_info->rsv_base_addr = part->offset / MMC_BLOCK_SIZE; ++ ddr_part = aml_get_virtual_partition_by_name(MMC_DDR_PARAMETER_NAME); ++ boot_info->ddr.addr = ddr_part->offset / MMC_BLOCK_SIZE; ++ boot_info->ddr.size = ddr_part->size / MMC_BLOCK_SIZE; ++ ++ mask8 = boot_info->parts; ++ mask8_partition_count = fill_mask8_part(mask8); ++ ++ boot_info->version = 1; ++ boot_info->checksum = _calc_boot_info_checksum(boot_info); ++ ++ printf("boot_info.rsv_base_addr:\t%04x\n", boot_info->rsv_base_addr); ++ printf("boot_info.ddr.addr:%04x\n", boot_info->ddr.addr); ++ printf("boot_info.ddr.size:%04x\n", boot_info->ddr.size); ++ printf("boot info: parts %d\n", mask8_partition_count); ++ for (i = 0; i < mask8_partition_count; i++) { ++ printf("boot_info.part[%d]\n", i); ++ printf("\t.name:%s\n", boot_info->parts[i].name); ++ printf("\t.addr:%04x\n", boot_info->parts[i].addr); ++ printf("\t.size:%04x\n", boot_info->parts[i].size); ++ } ++ printf("boot_info.version:%04x\n", boot_info->version); ++ printf("boot_info.checksum:%04x\n", boot_info->checksum); ++ ++ if (blk_dwrite(mmc_get_blk_desc(mmc), 0, 1, buffer) != 1) ++ ret = -EIO; ++ ++ free(buffer); ++ return ret; ++} ++ ++int mmc_boot_read(const char *part_name, uint8_t cpy, size_t size, void *dest) { ++ ++ char ret=1; ++ int i; ++ ++ if (cpy == 0) ++ cpy = 1; ++ else if (cpy == 1) ++ cpy = 2; ++ else if (cpy == 2) ++ cpy = 4; ++ else if (cpy == 0xff) ++ cpy = 7; ++ for (i=0;i<3;i++) {//cpy: ++ ++ if (cpy & 1) { ++ ret = blk_select_hwpart_devnum(UCLASS_MMC, STORAGE_EMMC, i); ++ if (ret) goto R_SWITCH_BACK; ++#ifdef CONFIG_AML_GPT ++ if (i == 0) ++ continue; ++#endif ++ ret = storage_read_in_part(part_name, 0, size, dest); ++ ++ if (ret != 0) { ++ printf("storage read bootloader failed \n"); ++ goto R_SWITCH_BACK; ++ } ++ } ++ cpy = cpy >> 1; ++ } ++ ++ ++R_SWITCH_BACK: ++ ret = blk_select_hwpart_devnum(UCLASS_MMC, STORAGE_EMMC, USER_PARTITION); ++ if (ret != 0) { ++ printf("switch part failed \n"); ++ return -1; ++ } ++ ++ return ret; ++ ++} ++ ++int mmc_boot_write(const char *part_name, uint8_t cpy, size_t size, void *source) { ++ ++ char ret=1; ++ int i = 0; ++ struct mmc *mmc; ++ ++ mmc = find_mmc_device(STORAGE_EMMC); ++ ++ if (cpy == 0) ++ cpy = 1; ++ else if (cpy == 1) ++ cpy = 2; ++ else if (cpy == 2) ++ cpy = 4; ++ else if (cpy == 0xff) ++ cpy = 7; ++ ++ for (i=0;i<3;i++) {//cpy:bin 100 is oprate boot1,bin 010 is oprate boot0,bin 001 is oprate user bootloader.bin 111 is operate all boot. ++ ++ if (cpy & 1) { ++ ret = blk_select_hwpart_devnum(UCLASS_MMC, STORAGE_EMMC, i); ++ if (ret) goto W_SWITCH_BACK; ++#ifdef CONFIG_EMMC_BOOT1_TOUCH_REGION ++ if (i == 2) { ++ size = CONFIG_EMMC_BOOT1_TOUCH_REGION; ++ } ++#endif ++#ifdef CONFIG_AML_GPT ++ if (i == 0) ++ continue; ++#endif ++ ret = storage_write_in_part(part_name, 0, size, source); ++ ++ if (ret != 0) { ++ printf("storage write bootloader failed \n"); ++ goto W_SWITCH_BACK; ++ } ++ if (i != 0) ++ amlmmc_write_info_sector(mmc); ++ } ++ cpy = cpy >> 1; ++ } ++ ++ ++W_SWITCH_BACK: ++ ret = blk_select_hwpart_devnum(UCLASS_MMC, STORAGE_EMMC, USER_PARTITION); ++ if (ret != 0) { ++ printf("switch part failed \n"); ++ return -1; ++ } ++ ++ return ret; ++ ++} ++ ++int mmc_boot_erase(const char *part_name, uint8_t cpy) { ++ ++ char ret=1; ++ int i; ++ size_t size = 0; ++ ++ if (cpy == 0) ++ cpy = 1; ++ else if (cpy == 1) ++ cpy = 2; ++ else if (cpy == 2) ++ cpy = 4; ++ else if (cpy == 0xff) ++ cpy = 7; ++ for (i=0;i<3;i++) {//cpy: ++ ++ if (cpy & 1) { ++ ret = blk_select_hwpart_devnum(UCLASS_MMC, STORAGE_EMMC, i); ++ if (ret) goto E_SWITCH_BACK; ++#ifdef CONFIG_EMMC_BOOT1_TOUCH_REGION ++ if (i == 2) { ++ size = CONFIG_EMMC_BOOT1_TOUCH_REGION; ++ } ++#endif ++#ifdef CONFIG_AML_GPT ++ if (i == 0) ++ continue; ++#endif ++ ret = storage_erase_in_part(part_name, 0, size); ++ ++ if (ret != 0) { ++ printf("storage read bootloader failed \n"); ++ goto E_SWITCH_BACK; ++ } ++ } ++ cpy = cpy >> 1; ++ } ++ ++ ++E_SWITCH_BACK: ++ ret = blk_select_hwpart_devnum(UCLASS_MMC, STORAGE_EMMC, USER_PARTITION); ++ if (ret != 0) { ++ printf("switch part faild \n"); ++ return -1; ++ } ++ ++ ++ return ret; ++} ++ ++uint32_t mmc_get_rsv_size(const char *rsv_name) { ++ ++ struct virtual_partition *vpart = NULL; ++ vpart = aml_get_virtual_partition_by_name(rsv_name); ++ printf("the %s partition size is:%llx byte\n",rsv_name,vpart->size); ++ return vpart->size; ++ ++} ++ ++static inline int env_read(size_t size, void *buf) { ++ return storage_read_in_part("env", 0, size, buf); ++} ++ ++static inline int env_write(size_t size, void *buf) { ++ return storage_write_in_part("env", 0, size, buf); ++} ++ ++int mmc_read_rsv(const char *rsv_name, size_t size, void *buf) { ++ ++ char ret=1; ++ struct mmc *mmc; ++ loff_t off =0; ++ /*unsigned long dtImgAddr = simple_strtoul(buf, NULL, 16);*/ ++ ret = !strcmp("env", rsv_name) || !strcmp("key", rsv_name) ++ || !strcmp("dtb", rsv_name)||!strcmp("fastboot", rsv_name) ++ ||!strcmp("ddr-parameter", rsv_name); ++ if (!ret) return 1; ++ ++ mmc = find_mmc_device(STORAGE_EMMC); ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ ++ if (!strcmp("env", rsv_name)) { ++ ret = env_read(size, buf); ++ return ret; ++ } ++ ++ ret = storage_rsv_range_check(rsv_name, &size, &off); ++ if (ret) return ret; ++ if (!strcmp("dtb", rsv_name)) { ++ ret = dtb_read(buf); ++ return ret; ++ } ++ ++ if (!strcmp("key", rsv_name)) ++ info_disprotect |= DISPROTECT_KEY; ++ ret = storage_byte_read(mmc, off, size, buf); ++ if (!strcmp("key", rsv_name)) ++ info_disprotect &= ~DISPROTECT_KEY; ++ if (ret != 0) { ++ printf("read resv failed\n"); ++ } ++ ++ return ret; ++} ++int mmc_write_rsv(const char *rsv_name, size_t size, void *buf) { ++ ++ char ret=1; ++ ++ struct mmc *mmc; ++ loff_t off = 0; ++ ++ ret = !strcmp("env", rsv_name) || !strcmp("key", rsv_name) ++ || !strcmp("dtb", rsv_name)||!strcmp("fastboot", rsv_name) ++ ||!strcmp("ddr-parameter", rsv_name); ++ if (!ret) ++ return 1; ++ mmc = find_mmc_device(STORAGE_EMMC); ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ ++ if (!strcmp("env", rsv_name)) { ++ ret = env_write(size, buf); ++ return ret; ++ } ++ ++ ret = storage_rsv_range_check(rsv_name, &size, &off); ++ if (ret) return ret; ++ ++ if (!strcmp("dtb", rsv_name)) { ++ ret = dtb_write(buf); ++ ret |= renew_partition_tbl(buf); ++ } else { ++ if (!strcmp("key", rsv_name)) ++ info_disprotect |= DISPROTECT_KEY; ++ ret = storage_byte_write(mmc, off, size, buf); ++ if (!strcmp("key", rsv_name)) ++ info_disprotect &= ~DISPROTECT_KEY; ++ } ++ ++ if (ret != 0) ++ printf("write rsv failed\n"); ++ ++ return ret; ++} ++int mmc_erase_rsv(const char *rsv_name) { ++ ++ char ret=1; ++ struct mmc *mmc; ++ loff_t off = 0; ++ size_t size = 0; ++ ret = !strcmp("key", rsv_name) || !strcmp("dtb", rsv_name) ++ ||!strcmp("fastboot", rsv_name) ++ ||!strcmp("ddr-parameter", rsv_name); ++ if (!ret) return 1; ++ mmc = find_mmc_device(STORAGE_EMMC); ++ if (!mmc) { ++ puts("no mmc devices available\n"); ++ return 1; ++ } ++ ret = storage_rsv_range_check(rsv_name, &size, &off); ++ if (ret) return ret; ++ if (!strcmp("key", rsv_name)) ++ info_disprotect |= DISPROTECT_KEY; ++ ret = storage_byte_erase(mmc, off, size); ++ if (!strcmp("key", rsv_name)) ++ info_disprotect &= ~DISPROTECT_KEY; ++ if (ret != 0) { ++ printf("erase resv failed\n"); ++ } ++ return ret; ++} ++ ++int mmc_protect_rsv(const char *rsv_name, bool ops) { ++ ++ char ret=1; ++ ret = strcmp("key", rsv_name); ++ if (ret) return 1; ++ ++ if (ops) { ++ ++ info_disprotect &= ~DISPROTECT_KEY; ++ printf("Protect the key partition!\n"); ++ } else { ++ info_disprotect |= DISPROTECT_KEY; ++ printf("Disprotect the key partition!\n"); ++ } ++ return ret; ++ ++} ++ ++void config_storage_dev_func(struct storage_t *dev, struct mmc* mmc) ++{ ++ /******basic info*******/ ++ dev->type = BOOT_EMMC; ++ printf("store flag: %d, types: %d\n", dev->init_flag, dev->type); ++ /*dev->info.name = mmc->cid[0] & 0xff, ++ (mmc->cid[1] >> 24), (mmc->cid[1] >> 16) & 0xff, ++ (mmc->cid[1] >> 8) & 0xff, mmc->cid[1] & 0xff; ++ dev->info.id = mmc->cid[0] >> 24;*/ ++ dev->info.read_unit = mmc->read_bl_len; ++ dev->info.write_unit = mmc->write_bl_len; ++ dev->info.erase_unit = mmc->erase_grp_size; ++ dev->info.caps = mmc->capacity_user; ++ dev->info.mode = COMPACT_BOOTLOADER; ++ ++ dev->get_part_size = mmc_storage_get_part_size; ++ dev->read = mmc_storage_read; ++ dev->write = mmc_storage_write; ++ dev->erase = mmc_storage_erase; ++ ++ dev->get_copies = mmc_storage_get_copies; ++ dev->get_copy_size = mmc_get_copy_size; ++ dev->boot_read = mmc_boot_read; ++ dev->boot_write = mmc_boot_write; ++ dev->boot_erase = mmc_boot_erase; ++ ++ dev->get_rsv_size = mmc_get_rsv_size; ++ dev->read_rsv = mmc_read_rsv; ++ dev->write_rsv = mmc_write_rsv; ++ dev->erase_rsv = mmc_erase_rsv; ++ dev->protect_rsv = mmc_protect_rsv; ++ ++ return; ++} ++ ++DECLARE_GLOBAL_DATA_PTR; ++int sdcard_pre(void) ++{ ++ return 0; ++} ++ ++ ++int sdcard_probe(uint32_t init_flag) ++{ ++ return 0; ++} ++ ++int emmc_pre(void) ++{ ++ char ret = 1; ++ struct mmc *mmc; ++ static struct storage_t *storage_dev = NULL; ++ ++ mmc_initialize(gd->bd); ++ mmc = find_mmc_device(STORAGE_EMMC); ++ mmc->has_init = 0; ++ ret = mmc_start_init(mmc); ++ if (ret == 0) { ++ /*struct store_operation *storage_opera = NULL;*/ ++ storage_dev = kzalloc(sizeof(struct storage_t), GFP_KERNEL); ++ if (storage_dev == NULL) { ++ printf("malloc failed for storage_dev\n"); ++ ret = -1; ++ return ret; ++ } ++ config_storage_dev_func(storage_dev, mmc); ++ store_register(storage_dev); ++ printf("emmc init success!\n"); ++ } else ++ printf("emmc init fail!\n"); ++ return ret; ++} ++ ++ ++int emmc_probe(uint32_t init_flag) ++{ ++ char ret = 0; ++ ++ ret = mmc_storage_init(init_flag); /*flag 0*/ ++ if (ret) { ++ printf("mmc init failed ret:%x\n", ret); ++ goto exit_error; ++ } ++ printf("emmc probe success\n"); ++ ++exit_error: ++ return ret; ++} ++ +diff --git a/include/amlogic/aml_cec.h b/include/amlogic/aml_cec.h +new file mode 100644 +index 00000000000..4f0b2bd3a1a +--- /dev/null ++++ b/include/amlogic/aml_cec.h +@@ -0,0 +1,86 @@ ++/* ++ * include/amlogic/aml_cec.h ++ * ++ * Copyright (C) 2012 AMLOGIC, INC. All Rights Reserved. ++ * Author: hongmin hua ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the smems of the GNU General Public License as published by ++ * the Free Software Foundation; version 2 of the License. ++ */ ++ ++ ++#ifndef _AML_CEC_H ++#define _AML_CEC_H ++ ++/* ++ * CEC OPCODES ++ */ ++#define CEC_OC_ABORT_MESSAGE 0xFF ++#define CEC_OC_ACTIVE_SOURCE 0x82 ++#define CEC_OC_CEC_VERSION 0x9E ++#define CEC_OC_CLEAR_ANALOGUE_TIMER 0x33 ++#define CEC_OC_CLEAR_DIGITAL_TIMER 0x99 ++#define CEC_OC_CLEAR_EXTERNAL_TIMER 0xA1 ++#define CEC_OC_DECK_CONTROL 0x42 ++#define CEC_OC_DECK_STATUS 0x1B ++#define CEC_OC_DEVICE_VENDOR_ID 0x87 ++#define CEC_OC_FEATURE_ABORT 0x00 ++#define CEC_OC_GET_CEC_VERSION 0x9F ++#define CEC_OC_GET_MENU_LANGUAGE 0x91 ++#define CEC_OC_GIVE_AUDIO_STATUS 0x71 ++#define CEC_OC_GIVE_DECK_STATUS 0x1A ++#define CEC_OC_GIVE_DEVICE_POWER_STATUS 0x8F ++#define CEC_OC_GIVE_DEVICE_VENDOR_ID 0x8C ++#define CEC_OC_GIVE_OSD_NAME 0x46 ++#define CEC_OC_GIVE_PHYSICAL_ADDRESS 0x83 ++#define CEC_OC_GIVE_SYSTEM_AUDIO_MODE_STATUS 0x7D ++#define CEC_OC_GIVE_TUNER_DEVICE_STATUS 0x08 ++#define CEC_OC_IMAGE_VIEW_ON 0x04 ++#define CEC_OC_INACTIVE_SOURCE 0x9D ++#define CEC_OC_MENU_REQUEST 0x8D ++#define CEC_OC_MENU_STATUS 0x8E ++#define CEC_OC_PLAY 0x41 ++#define CEC_OC_POLLING_MESSAGE 0xFC /* Fake Code - has no OP Code and requires only the header byte */ ++#define CEC_OC_RECORD_OFF 0x0B ++#define CEC_OC_RECORD_ON 0x09 ++#define CEC_OC_RECORD_STATUS 0x0A ++#define CEC_OC_RECORD_TV_SCREEN 0x0F ++#define CEC_OC_REPORT_AUDIO_STATUS 0x7A ++#define CEC_OC_REPORT_PHYSICAL_ADDRESS 0x84 ++#define CEC_OC_REPORT_POWER_STATUS 0x90 ++#define CEC_OC_REQUEST_ACTIVE_SOURCE 0x85 ++#define CEC_OC_ROUTING_CHANGE 0x80 ++#define CEC_OC_ROUTING_INFORMATION 0x81 ++#define CEC_OC_SELECT_ANALOGUE_SERVICE 0x92 ++#define CEC_OC_SELECT_DIGITAL_SERVICE 0x93 ++#define CEC_OC_SET_ANALOGUE_TIMER 0x34 ++#define CEC_OC_SET_AUDIO_RATE 0x9A ++#define CEC_OC_SET_DIGITAL_TIMER 0x97 ++#define CEC_OC_SET_EXTERNAL_TIMER 0xA2 ++#define CEC_OC_SET_MENU_LANGUAGE 0x32 ++#define CEC_OC_SET_OSD_NAME 0x47 ++#define CEC_OC_SET_OSD_STRING 0x64 ++#define CEC_OC_SET_STREAM_PATH 0x86 ++#define CEC_OC_SET_SYSTEM_AUDIO_MODE 0x72 ++#define CEC_OC_SET_TIMER_PROGRAM_TITLE 0x67 ++#define CEC_OC_STANDBY 0x36 ++#define CEC_OC_SYSTEM_AUDIO_MODE_REQUEST 0x70 ++#define CEC_OC_SYSTEM_AUDIO_MODE_STATUS 0x7E ++#define CEC_OC_TEXT_VIEW_ON 0x0D ++#define CEC_OC_TIMER_CLEARED_STATUS 0x43 ++#define CEC_OC_TIMER_STATUS 0x35 ++#define CEC_OC_TUNER_DEVICE_STATUS 0x07 ++#define CEC_OC_TUNER_STEP_DECREMENT 0x06 ++#define CEC_OC_TUNER_STEP_INCREMENT 0x05 ++#define CEC_OC_USER_CONTROL_PRESSED 0x44 ++#define CEC_OC_USER_CONTROL_RELEASED 0x45 ++#define CEC_OC_VENDOR_COMMAND 0x89 ++#define CEC_OC_VENDOR_COMMAND_WITH_ID 0xA0 ++#define CEC_OC_VENDOR_REMOTE_BUTTON_DOWN 0x8A ++#define CEC_OC_VENDOR_REMOTE_BUTTON_UP 0x8B ++ ++int cec_hw_init(int logic_addr, unsigned char fun_cfg); ++ ++#endif/*_AML_CEC_H*/ ++ +diff --git a/include/amlogic/aml_efuse.h b/include/amlogic/aml_efuse.h +new file mode 100644 +index 00000000000..4dece0725de +--- /dev/null ++++ b/include/amlogic/aml_efuse.h +@@ -0,0 +1,79 @@ ++ ++/* ++ * ++ * Copyright (C) 2018 Amlogic, Inc. All rights reserved. ++*/ ++ ++#ifndef __BL2_EFUSE_H__ ++#define __BL2_EFUSE_H__ ++ ++#if 0 ++//just keep following CFG10/9 for new API implement ++#define IS_FEAT_USB_PD_CHK_ENABLE() (readl(AO_SEC_SD_CFG10) & (1 << 1)) ++#define IS_FEAT_THERMAL_CALIBRATED() (readl(AO_SEC_SD_CFG10) & (1 << 2)) ++#define IS_FEAT_BOOT_VERIFY() (readl(AO_SEC_SD_CFG10) & (1 << 4)) ++#define IS_FEAT_ROOT_KEY_BURNED() (readl(AO_SEC_SD_CFG10) & (1 << 5)) ++#define IS_FEAT_PLL_SET_BURNED() (readl(AO_SEC_SD_CFG10) & (1 << 6)) ++#define IS_FEAT_M3_PLL_ENABLE() (readl(AO_SEC_SD_CFG10) & (1 << 7)) ++#define IS_FEAT_M4_PLL_ENABLE() (readl(AO_SEC_SD_CFG10) & (1 << 7)) ++#define IS_FEAT_A53_PLL_ENABLE() (readl(AO_SEC_SD_CFG10) & (1 << 8)) ++#define IS_FEAT_NAMD_EXT_CMD_BURNED() (readl(AO_SEC_SD_CFG10) & (1 << 9)) ++#define IS_FEAT_JTG_PD_CHK_ENABLE() (readl(AO_SEC_SD_CFG10) & (1 << 11)) ++#define IS_FEAT_JTG_ENABLE() (readl(AO_SEC_SD_CFG10) & (1 << 12)) ++#define IS_FEAT_CHIP_ID_BURNED (readl(AO_SEC_SD_CFG10) & (1 << 13)) ++#define IS_FEAT_DTS_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 14)) ++#define IS_FEAT_DISK_ENC_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 15)) ++#define IS_FEAT_DOLBY_AUDIO_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 16)) ++#define IS_FEAT_SCN_PD_CHK_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 17)) ++#define IS_FEAT_USB_BOOT_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 19)) ++#define IS_FEAT_SPI_BOOT_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 20)) ++#define IS_FEAT_RECOVERY_BOOT_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 21)) ++#define IS_FEAT_SD_BOOT_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 22)) ++#define IS_FEAT_NAND_EMMC_BOOT_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 23)) ++#define IS_FEAT_ANTIROLLBACK_ENABLE (readl(AO_SEC_SD_CFG10) & (1 << 25)) ++#define IS_FEAT_BOOT_ENCRYPT() (readl(AO_SEC_SD_CFG10) & (1 << 28)) ++#define IS_FEAT_A53_L1_ENABLE() (readl(AO_SEC_SD_CFG10) & (1 << 29)) ++#define IS_FEAT_KEY_LDR_INIT() (readl(AO_SEC_SD_CFG10) & (1 << 30)) ++#define IS_FEAT_AP_COLD_BOOT_LOCK() (readl(AO_SEC_SD_CFG10) & (1 << 31)) ++#define IS_FEAT_BOOT_M3_ENCRYPT() (readl(AO_SEC_SD_CFG9) & (1 << 5)) ++#define IS_FEAT_BOOT_M4_ENCRYPT() (readl(AO_SEC_SD_CFG9) & (1 << 6)) ++#define IS_FEAT_NAND_BL2_BKP_RETRY() (readl(AO_SEC_SD_CFG9) & (1 << 10)) ++#define IS_FEAT_EMMC_BL2_BKP_RETRY() (readl(AO_SEC_SD_CFG9) & (1 << 11)) ++#define IS_FEAT_SCAN_DISABLE() (readl(AO_SEC_SD_CFG9) & (1 << 12)) ++#define IS_FEAT_NAND_128P_DISABLE() (readl(AO_SEC_SD_CFG9) & (1 << 13)) ++#define IS_FEAT_EMMC_LAST_ENABLE() (readl(AO_SEC_SD_CFG9) & (1 << 14)) ++#define IS_FEAT_HIGH_USB_ENABLE() (readl(AO_SEC_SD_CFG9) & (1 << 15)) ++#define IS_FEAT_BOOT_M3_VERIFY() (readl(AO_SEC_SD_CFG9) & (1 << 16)) ++#define IS_FEAT_BOOT_M4_VERIFY() (readl(AO_SEC_SD_CFG9) & (1 << 17)) ++#define IS_FEAT_CORNOR_INFO_BURNED() (readl(AO_SEC_SD_CFG9) & (1 << 19)) ++#define IS_FEAT_SCK_BURNED() (readl(AO_SEC_SD_CFG9) & (1 << 20)) ++#define IS_FEAT_BLK0_WR_LOCKED() (readl(AO_SEC_SD_CFG9) & (1 << 21)) ++#define IS_FEAT_M4_DISABLE() (readl(AO_SEC_SD_CFG9) & (1 << 22)) ++#define IS_FEAT_M4_SP_MODE_ENABLE() (readl(AO_SEC_SD_CFG9) & (1 << 23)) ++#define IS_FEAT_A53_CLK_12G() (readl(AO_SEC_SD_CFG9) & (1 << 24)) ++#define IS_FEAT_A53_CLK_15G() (readl(AO_SEC_SD_CFG9) & (1 << 25)) ++#define IS_FEAT_A53_CLK_20G() (readl(AO_SEC_SD_CFG9) & (1 << 26)) ++#define IS_FEAT_USB_PLL_ENABLE() (readl(AO_SEC_SD_CFG9) & (1 << 27)) ++#define IS_FEAT_RMA_ENABLE() (readl(AO_SEC_SD_CFG9) & (1 << 28)) ++#define IS_FEAT_OPS_CLI_BURNED() (readl(AO_SEC_SD_CFG9) & (1 << 29)) ++#define IS_FEAT_M4_UNLOCK_ENABLE() (readl(AO_SEC_SD_CFG9) & (1 << 31)) ++#define IS_FEAT_DISABLE_PRINT() (readl(EFUSE_LIC0) & (1 << 22))) ++#endif ++ ++//weak function for each SoC implement ++//Unify EFUSE license query API ++//all following functions are defined with "weak" for customization of each SoC ++//EFUSE_LICX --> AO_SEC_SD_CFG10/9 --> EFUSE mirror ++int IS_FEAT_BOOT_VERIFY(void); ++int IS_FEAT_BOOT_ENCRYPT(void); ++int IS_FEAT_DIS_EMMC_USER(void); ++int IS_FEAT_DIS_EMMC_BOOT_0(void); ++int IS_FEAT_DIS_EMMC_BOOT_1(void); ++int IS_FEAT_EN_4BL2_SNOR(void); ++int IS_FEAT_DIS_NBL2_SNOR(void); ++int IS_FEAT_EN_8BL2_SNAND(void); ++int IS_FEAT_DIS_NBL2_SNAND(void); ++int IS_FEAT_DIS_8BL2_NAND(void); ++int IS_FEAT_DIS_NBL2_NAND(void); ++ ++#endif /* __BL2_EFUSE_H__ */ +diff --git a/include/amlogic/aml_gpio.h b/include/amlogic/aml_gpio.h +new file mode 100644 +index 00000000000..c1e1ed1ef5a +--- /dev/null ++++ b/include/amlogic/aml_gpio.h +@@ -0,0 +1,54 @@ ++#ifndef __AML_GPIO__ ++#define __AML_GPIO__ ++#include ++/** ++ * struct meson_reg_desc - a register descriptor ++ * ++ * @reg: register offset in the regmap ++ * @bit: bit index in register ++ * ++ * The structure describes the information needed to control pull, ++ * pull-enable, direction, etc. for a single pin ++ */ ++struct meson_reg_desc { ++ unsigned int reg; ++ unsigned int bit; ++}; ++ ++/** ++ * enum meson_reg_type - type of registers encoded in @meson_reg_desc ++ */ ++enum meson_reg_type { ++ REG_PULLEN, ++ REG_PULL, ++ REG_DIR, ++ REG_OUT, ++ REG_IN, ++ NUM_REG, ++}; ++ ++ ++ ++ ++struct meson_bank { ++ const char *name; ++ unsigned int first; ++ unsigned int last; ++ struct meson_reg_desc regs[NUM_REG]; ++}; ++#define GPIO_REG_BIT(reg, bit) ((reg<<5)|bit) ++#define GPIO_REG(value) ((value>>5)) ++#define GPIO_BIT(value) ((value&0x1F)) ++//#define BIT(bit) (1< ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the smems of the GNU General Public License as published by ++ * the Free Software Foundation; version 2 of the License. ++ */ ++ ++#ifndef _AML_HDMIRX_H ++#define _AML_HDMIRX_H ++ ++void hdmirx_hw_init(unsigned int port_map, ++ unsigned char *pedid_data, ++ int edid_size); ++ ++#endif /* _AML_HDMIRX_H */ +diff --git a/include/amlogic/aml_irblaster.h b/include/amlogic/aml_irblaster.h +new file mode 100644 +index 00000000000..b2c4ef703e7 +--- /dev/null ++++ b/include/amlogic/aml_irblaster.h +@@ -0,0 +1,29 @@ ++#ifndef __AML_IRBLATER_H ++#define __AML_IRBLATER_H ++ ++#define MAX_WINDOWS_LEN 512 ++struct aml_irblaster_drv_s { ++ unsigned int protocol; ++ unsigned int frequency; ++ unsigned int sendvalue; ++ unsigned int windows[MAX_WINDOWS_LEN]; ++ unsigned int windows_num; ++ unsigned int dutycycle; ++ unsigned int openflag; ++ int (*open)(void); ++ int (*close)(void); ++ int (*test)(unsigned int); ++ int (*send)(unsigned int); ++ int (*setprotocol)(char *); ++ const char *(*getprocotol)(void); ++ int (*setfrequency)(unsigned int); ++ unsigned int (*getfrequency)(void); ++ void (*print_windows)(void); ++ int (*read_reg)(volatile unsigned int *, unsigned int); ++ int (*write_reg)(volatile unsigned int *, unsigned int); ++}; ++ ++struct aml_irblaster_drv_s *aml_irblaster_get_driver(void); ++#endif ++ ++ +diff --git a/include/amlogic/aml_is31fl32xx.h b/include/amlogic/aml_is31fl32xx.h +new file mode 100644 +index 00000000000..6211ebc956c +--- /dev/null ++++ b/include/amlogic/aml_is31fl32xx.h +@@ -0,0 +1,9 @@ ++#ifndef __AML_IS31F132XX ++#define __AML_IS31F132XX ++ ++#define IS31F132XX_DEVICE_ADDR 0x3c ++ ++void board_is31fl32xx_init(void); ++void board_is31fl32xx_light_on(void); ++ ++#endif +diff --git a/include/amlogic/aml_led.h b/include/amlogic/aml_led.h +new file mode 100644 +index 00000000000..b2f3bda3f7a +--- /dev/null ++++ b/include/amlogic/aml_led.h +@@ -0,0 +1,68 @@ ++#ifndef __AML_LED_H__ ++#define __AML_LED_H__ ++ ++#define LED_TIMER_INTERVAL 10 //ms ++ ++#define LED_EVENT_NULL 0 ++#define LED_EVENT_OFF 1 ++#define LED_EVENT_ON 2 ++#define LED_EVENT_FLASH 3 ++#define LED_EVENT_BREATH 4 ++ ++#define SHUTDOWN_MODE 0 ++#define SUSPEND_RESUME_MODE 1 ++#define RECOVERY_MODE 2 ++ ++ ++enum led_workmode { ++ LWM_OFF, ++ LWM_ON, ++ LWM_FLASH, ++ LWM_BREATH, ++ LWM_NULL, ++}; ++ ++/* s,b,w type is enum led_workmode */ ++#define lwm_set_standby(mode, s) do {mode |= (s) << 0;} while(0) ++#define lwm_set_booting(mode, b) do {mode |= (b) << 4;} while(0) ++#define lwm_set_working(mode, w) do {mode |= (w) << 8;} while(0) ++#define lwm_set_suspend(mode, s) do {mode |= (s) << 12;} while(0) ++ ++#define lwm_get_standby(mode) (((mode) >> 0) & 0xF) ++#define lwm_get_booting(mode) (((mode) >> 4) & 0xF) ++#define lwm_get_working(mode) (((mode) >> 8) & 0xF) ++#define lwm_get_suspend(mode) (((mode) >> 12) & 0xF) ++ ++struct coord { ++ int x; ++ int y; ++}; ++ ++struct aml_led_config { ++ int off_brightness; ++ int on_brightness; ++ int flash_off_brightness; ++ int flash_off_time; ++ int flash_on_brightness; ++ int flash_on_time; ++ struct coord *breath_inflections; ++ int breath_inflections_num; ++ void (*set_brightness)(int brightness); ++}; ++ ++#define LED_EVENT_BUF_SIZE 3 ++struct aml_led { ++ int event[LED_EVENT_BUF_SIZE]; ++ int event_data[LED_EVENT_BUF_SIZE]; ++ int state; ++ int brightness; ++ int time; ++ int count; ++ struct aml_led_config *config; ++}; ++ ++void aml_led_init(struct aml_led *led, struct aml_led_config *config); ++void aml_led_timer_proc(struct aml_led *led); ++void aml_led_event(struct aml_led *led, int event, int event_data); ++ ++#endif +\ No newline at end of file +diff --git a/include/amlogic/aml_mmc.h b/include/amlogic/aml_mmc.h +new file mode 100644 +index 00000000000..4d7801c04e0 +--- /dev/null ++++ b/include/amlogic/aml_mmc.h +@@ -0,0 +1,105 @@ ++/* ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * yonghui.yu@amlogic.com ++ */ ++ ++ ++#ifndef __AML_MMC_H__ ++#define __AML_MMC_H__ ++ ++#include ++ ++ ++/* bootloader operation */ ++#define AML_BL_USER (0x1 << 0) ++#define AML_BL_BOOT0 (0x1 << 1) ++#define AML_BL_BOOT1 (0x1 << 2) ++#define AML_BL_BOOT (0x6) ++#define AML_BL_ALL (0x7) ++ ++/** For actul partitions with mask 8 store into bootinfo ++ * name: partition name. ++ * addr: sector addr of the partition ++ * size: sector cont of the partition ++*/ ++struct part_property ++{ ++ char name[8]; ++ uint32_t addr; ++ uint32_t size; ++}; ++#define PART_PROPERTY_SIZE sizeof(struct part_property) ++#define BOOTINFO_MAX_PARTITIONS (4) ++#define BOOTINFO_PARITIONS_SIZE (PART_PROPERTY_SIZE * BOOTINFO_MAX_PARTITIONS) ++ ++ ++#define VPART_PROPERTY_SIZE sizeof(struct vpart_property) ++struct vpart_property { ++ u32 addr; ++ u32 size; ++}; ++ ++/* ++ * sizeof(struct storage_emmc_boot_info) is strictly ++ * smaller than or equal to one sector. we will bind ++ * it in one sector with u-boot.bin together and ++ * write into boot loader area. ++ * @rsv_base_addr : the sector address of reserved area ++ * @dtb : the sector address and size of dtb property ++ * @ddr : the sector address and size of ddr property ++ */ ++#define EMMC_BOOT_INFO_SIZE 512 ++struct storage_emmc_boot_info { ++ u32 version; ++ u32 rsv_base_addr; ++ struct vpart_property dtb; ++ struct vpart_property ddr; ++ ++ struct part_property parts[BOOTINFO_MAX_PARTITIONS]; ++ uint8_t reserved[512 - 2 * VPART_PROPERTY_SIZE - BOOTINFO_PARITIONS_SIZE - 12]; ++ u32 checksum; ++}; ++ ++int amlmmc_write_bootloader(int dev, int map, ++ unsigned int size, const void *src); ++int amlmmc_erase_bootloader(int dev, int map); ++ ++ ++/* interface on reserved area. */ ++void mmc_write_cali_mattern(void *addr); ++ ++/* dtb operation */ ++int dtb_write(void *addr); ++ ++/* emmc key operation */ ++int mmc_key_read(unsigned char *buf, ++ unsigned int size, uint32_t *actual_lenth); ++int mmc_key_write(unsigned char *buf, ++ unsigned int size, uint32_t *actual_lenth); ++int mmc_key_erase(void); ++ ++/* partition operation */ ++int renew_partition_tbl(unsigned char *buffer); ++int find_dev_num_by_partition_name (char const *name); ++ ++#ifdef CONFIG_AML_PARTITION ++int emmc_update_mbr(unsigned char *buffer); ++#endif ++ ++/*mmc ext_csd register operation*/ ++int mmc_get_ext_csd(struct mmc *mmc, u8 *ext_csd); ++int mmc_set_ext_csd(struct mmc *mmc, u8 index, u8 value); ++ ++ ++ ++#endif /* __AML_MMC_H__ */ +diff --git a/include/amlogic/aml_mtd.h b/include/amlogic/aml_mtd.h +new file mode 100644 +index 00000000000..4eb17e4fa28 +--- /dev/null ++++ b/include/amlogic/aml_mtd.h +@@ -0,0 +1,31 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Header file of amlogic mtd driver ++ * ++ * Copyright (C) 2018 Amlogic Corporation ++ * ++ * Licensed under the GPL-2 or later. ++ * ++ */ ++ ++#ifndef __AMLMTD_H_ ++#define __AMLMTD_H_ ++#define BOOT_TOTAL_PAGES 1024 ++ ++#define CONFIG_BL2_COPY_NUM 8 ++#define CONFIG_TPL_SIZE_PER_COPY 0x200000 ++#define CONFIG_NOR_TPL_COPY_NUM 1 //for spi-nor ++#define CONFIG_NAND_TPL_COPY_NUM 4 // for slc & spi-nand ++ ++#define BOOT_LOADER "bootloader" ++#define BOOT_BL2 "bl2" ++#define BOOT_SPL "spl" ++#define BOOT_BL2E "bl2e" ++#define BOOT_BL2X "bl2x" ++#define BOOT_DDRFIP "ddrfip" ++#define BOOT_DEVFIP "devfip" ++#define BOOT_TPL "tpl" ++#define BOOT_FIP "fip" ++#define MAX_MTD_CNT 2 ++ ++#endif/* __AMLMTD_H_ */ +diff --git a/include/amlogic/aml_nand.h b/include/amlogic/aml_nand.h +new file mode 100644 +index 00000000000..8be39746818 +--- /dev/null ++++ b/include/amlogic/aml_nand.h +@@ -0,0 +1,24 @@ ++/* ++ * Copyright (C) 2017 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ */ ++#ifndef __AML_NAND_H__ ++#define __AML_NAND_H__ ++ ++int amlnf_dtb_save(u8 *buf, unsigned int len); ++int amlnf_dtb_erase(void); ++int get_boot_num(struct mtd_info *mtd, size_t rwsize); ++ ++/*#define RESERVED_BLOCK_NUM 48*/ ++ ++#endif/* __AML_NAND_H__ */ +diff --git a/include/amlogic/aml_rsv.h b/include/amlogic/aml_rsv.h +new file mode 100644 +index 00000000000..7e17c83435a +--- /dev/null ++++ b/include/amlogic/aml_rsv.h +@@ -0,0 +1,106 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Header file of amlogic reserve manager ++ * ++ * Copyright (C) 2018 Amlogic Corporation ++ * ++ * Licensed under the GPL-2 or later. ++ * ++ */ ++ ++#ifndef __MESON_RSV_H_ ++#define __MESON_RSV_H_ ++ ++#define NAND_RSV_BLOCK_NUM 48 ++ ++#define NAND_GAP_BLOCK_NUM 4 ++#define NAND_BBT_BLOCK_NUM 4 ++#define NAND_ENV_BLOCK_NUM 8 ++#define NAND_KEY_BLOCK_NUM 8 ++#define NAND_DTB_BLOCK_NUM 4 ++ ++#define BBT_NAND_MAGIC "nbbt" ++#define ENV_NAND_MAGIC "nenv" ++#define KEY_NAND_MAGIC "nkey" ++#define SEC_NAND_MAGIC "nsec" ++#define DTB_NAND_MAGIC "ndtb" ++ ++/*define abnormal state for reserved area*/ ++#define POWER_ABNORMAL_FLAG 0x01 ++#define ECC_ABNORMAL_FLAG 0x02 ++ ++ ++struct meson_rsv_info_t { ++ struct mtd_info *mtd; ++ struct valid_node_t *nvalid; ++ struct free_node_t *nfree; ++ unsigned int start; ++ unsigned int end; ++ unsigned int size; ++ char name[8]; ++ u_char valid; ++ u_char init; ++ void *handler; ++}; ++ ++struct valid_node_t { ++ s16 ec; ++ s16 blk_addr; ++ s16 page_addr; ++ int timestamp; ++ s16 status; ++}; ++ ++struct free_node_t { ++ unsigned int index; ++ s16 ec; ++ s16 blk_addr; ++ int dirty_flag; ++ struct free_node_t *next; ++}; ++ ++struct oobinfo_t { ++ char name[4]; ++ s16 ec; ++ unsigned timestamp:15; ++ unsigned status_page:1; ++}; ++ ++struct meson_rsv_handler_t { ++ struct mtd_info *mtd; ++ unsigned long long fn_bitmask; ++ struct free_node_t *free_node[NAND_RSV_BLOCK_NUM]; ++ struct meson_rsv_info_t *bbt; ++#ifndef CONFIG_ENV_IS_IN_NAND ++ struct meson_rsv_info_t *env; ++#endif ++ struct meson_rsv_info_t *key; ++ struct meson_rsv_info_t *dtb; ++ void *priv; ++}; ++ ++int meson_rsv_bbt_read(u_char *dest, size_t size); ++int meson_rsv_key_read(u_char *dest, size_t size); ++int meson_rsv_env_read(u_char *dest, size_t size); ++int meson_rsv_dtb_read(u_char *dest, size_t size); ++/* do not provide bbt write operates */ ++int meson_rsv_key_write(u_char *source, size_t size); ++int meson_rsv_env_write(u_char *source, size_t size); ++int meson_rsv_dtb_write(u_char *source, size_t size); ++uint32_t meson_rsv_bbt_size(void); ++uint32_t meson_rsv_key_size(void); ++uint32_t meson_rsv_env_size(void); ++uint32_t meson_rsv_dtb_size(void); ++/* do not provide bbt erase operates */ ++int meson_rsv_key_erase(void); ++int meson_rsv_env_erase(void); ++int meson_rsv_dtb_erase(void); ++int meson_rsv_check(struct meson_rsv_info_t *rsv_info); ++int meson_rsv_init(struct mtd_info *mtd, struct meson_rsv_handler_t *handler); ++int meson_rsv_scan(struct meson_rsv_info_t *rsv_info); ++int meson_rsv_read(struct meson_rsv_info_t *rsv_info, u_char *buf); ++int meson_rsv_save(struct meson_rsv_info_t *rsv_info, u_char *buf); ++int meson_rsv_write(struct meson_rsv_info_t *rsv_info, u_char *buf); ++int meson_rsv_erase_protect(struct meson_rsv_handler_t *handler, ++uint32_t block_addr); ++#endif/* __MESON_RSV_H_ */ +diff --git a/include/amlogic/aml_tlv.h b/include/amlogic/aml_tlv.h +new file mode 100644 +index 00000000000..93fa0a305f4 +--- /dev/null ++++ b/include/amlogic/aml_tlv.h +@@ -0,0 +1,157 @@ ++/* ++ * Copyright (C) 2018 Amlogic, Inc. All rights reserved. ++ * ++ * All information contained herein is Amlogic confidential. ++ * ++ * This software is provided to you pursuant to Software License Agreement ++ * (SLA) with Amlogic Inc ("Amlogic"). This software may be used ++ * only in accordance with the terms of this agreement. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification is strictly prohibited without prior written permission from ++ * Amlogic. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * Created by haixiang.bao@amlogic.com ++ * ++ * Revision history: 1. 2018.05.31 v0.1 init for transfer data from BL2 to BL3X ++ * ++ */ ++ ++ ++#ifndef __AMLOGIC_TLV_H_ ++#define __AMLOGIC_TLV_H_ ++ ++typedef struct __s_bl2_tlv_item_t{ ++ unsigned int nType; //type: user defined, should sync between BL2 and BL3X ++ unsigned int nLength; //length: length of szContent, no alignment ++ unsigned int nStoreLength; //length: length of szContent, alignment to 16 ++ unsigned char szRserved1[4];//reserved for future ++ struct __s_bl2_tlv_item_t * pNextItem;//next item, list for fetch all quickly ++ unsigned char szContent[4]; //data transfered from BL2 ++}s_bl2_tlv_item_t; ++ ++typedef struct __s_bl2_to_bl3x_hdr_t{ ++ unsigned int nMagic; //magic for identify itself, AML_BL2_TMASTER_MAGIC (@BL2) ++ unsigned int nVersion; //version for control ++ unsigned int nHeadSize; //sizeof(this) ++ unsigned char szRserved1[4]; //reserved for furture ++ ++ unsigned char szBL2Info[96]; //BL2 build information ++ ++ s_bl2_tlv_item_t * pNextBlob; //next active valid blob item ++ unsigned int nTLVCount; //current valid TLV item number ++ unsigned int nTotalSize; //total size of all TLV items ++ unsigned char szSHA2TLV[32]; //SHA2 of all TLV items, size is nTotalSize ++ ++} s_bl2_to_bl3x_hdr_t; ++ ++typedef struct __s_bl2_to_bl3x_send_t{ ++ ++ s_bl2_to_bl3x_hdr_t hdr; ++ ++ unsigned char szSHA2Head[32]; ++ ++ s_bl2_tlv_item_t blob[1]; ++ ++} s_bl2_to_bl3x_send_t; ++ ++typedef enum{ ++ e_ok_ret = 0, ++ ++ e_err_not_support = 0x01, ++ ++ e_err_no_item = 0x10, ++ e_err_sha_hdr = 0x11, ++ e_err_sha_tlv = 0x12, ++ ++ e_err_in_data = 0x20, ++ e_err_in_size = 0x21, ++ e_err_over_size=0x22, ++ e_err_item_exit=0x23, ++ ++}e_ret_type; ++ ++typedef enum{ ++ e_t_ap_ver = 0x10, ++ e_t_scp_ver = 0x11, ++ e_t_sp_ver = 0x12, ++ e_t_bl2z_ver = 0x13, ++ e_t_bl30_ver = 0x14, ++ e_t_bl301_ver = 0x15, ++ e_t_bl31_ver = 0x16, ++ e_t_bl32_ver = 0x17, ++ e_t_bl33_ver = 0x18, ++ ++ e_t_root_aes = 0x20, ++ e_t_root_rsa_sha_all = 0x21, ++ e_t_root_rsa_sha = 0x22, ++ e_t_root_rsa_puk = 0x23, ++ ++ e_t_user_aes = 0x30, ++ e_t_user_rsa_sha_all = 0x31, ++ e_t_user_rsa_sha = 0x32, ++ e_t_user_rsa_puk = 0x33, ++ ++ e_t_bl30_rsa_puk = 0x50, ++ e_t_bl30_aes = 0x51, ++ ++ e_t_bl31_rsa_puk = 0x60, ++ e_t_bl31_aes = 0x61, ++ ++ e_t_bl32_rsa_puk = 0x70, ++ e_t_bl32_aes = 0x71, ++ ++ e_t_bl33_rsa_puk = 0x80, ++ e_t_bl33_aes = 0x81, ++ ++ ++ //.... ++ ++}e_item_type; ++ ++ ++//magic ID ++#define AML_BL2_TMASTER_MAGIC (0x324c4240) //@BL2 ++ ++//major & minor version ++#define AML_BL2_TMASTER_MAJ_VER (0x00) //major version ++#define AML_BL2_TMASTER_MIN_VER (0x01) //minor version ++#define AML_BL2_TMASTER_VERSION ((AML_BL2_TMASTER_MAJ_VER << 16) |\ ++ AML_BL2_TMASTER_MIN_VER) //major << 16 | minor version ++ ++//item data length alignment ++#define AML_BL2_TMASTER_ITEM_UNIT_LEN (16) ++#define AML_BL2_TMASTER_ITEM_ALIGN_LEN(len) ((len) + (AML_BL2_TMASTER_ITEM_UNIT_LEN-1)) & (~(AML_BL2_TMASTER_ITEM_UNIT_LEN-1)) ++ ++//CFG reg to store DDR address ++#define AML_BL2_TMASTER_CFG_REG (AO_SEC_GP_CFG6) ++ ++//DDR buffer size ++#ifndef AML_BL2_TMASTER_DDR_MLEN ++#define AML_BL2_TMASTER_DDR_MLEN ((1<<20) - sizeof(s_bl2_to_bl3x_send_t)) //1MB for transfer data from BL2 to BL3X ++#endif ++ ++//flag to pass BL2 build info to BL3X ++//#define CONFIG_AML_TLV_BL2_VER_INFO ++ ++//IMPORTANT: BECAUSE THOSE FUNCTIONS WILL USE DDR AS STORAGE(DEFAULT) THEN ++// ALL THE APIS MSUT BE USED AFTER DDR INIT DONE ++//global APIs to pad & fetch item ++//pad item with data, type and length ++e_ret_type aml_append_item(unsigned int nType, unsigned int nLength, unsigned char *pData); ++//fetch item with type ++e_ret_type aml_fetch_item(unsigned int nType, s_bl2_tlv_item_t **ppItem); ++ ++#endif /* __AMLOGIC_TLV_H_ */ +diff --git a/include/amlogic/aml_v2_burning.h b/include/amlogic/aml_v2_burning.h +new file mode 100644 +index 00000000000..1ecdad65b01 +--- /dev/null ++++ b/include/amlogic/aml_v2_burning.h +@@ -0,0 +1,31 @@ ++/* ++ * \file aml_v2_burning.h ++ * \brief common interfaces for version burning ++ * ++ * \version 1.0.0 ++ * \date 09/15/2013 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2013 Amlogic. All Rights Reserved. ++ * ++ */ ++ ++//is the uboot loaded from usb otg ++int is_tpl_loaded_from_usb(void); ++ ++//is the uboot loaded from sdcard mmc 0 ++//note only sdmmc supported by romcode when external device boot ++int is_tpl_loaded_from_ext_sdmmc(void); ++ ++//Check if uboot loaded from external sdmmc or usb otg ++int aml_burn_check_uboot_loaded_for_burn(int flag); ++ ++int aml_burn_factory_producing(int flag, bd_t* bis); ++ ++//usb producing mode, if tpl loaded from usb pc tool and auto enter producing mode ++int aml_try_factory_usb_burning(int flag, bd_t* bis); ++ ++//Auto enter sdcard burning if booted from sdcard and aml_sdc_burn.ini existed ++int aml_try_factory_sdcard_burning(int flag, bd_t* bis); ++ ++ +diff --git a/include/amlogic/aml_v3_burning.h b/include/amlogic/aml_v3_burning.h +new file mode 100644 +index 00000000000..545ef33b1cc +--- /dev/null ++++ b/include/amlogic/aml_v3_burning.h +@@ -0,0 +1,14 @@ ++/* ++ * \file aml_v3_burning.h ++ * \brief v3 burning entry ++ * ++ * \version 1.0.0 ++ * \date 2018/12/20 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2018 Amlogic. All Rights Reserved. ++ * ++ */ ++ ++int aml_v3_factory_usb_burning(int flag, bd_t* bis); ++ +diff --git a/include/amlogic/amlkey_if.h b/include/amlogic/amlkey_if.h +new file mode 100644 +index 00000000000..d15bbe7eee3 +--- /dev/null ++++ b/include/amlogic/amlkey_if.h +@@ -0,0 +1,85 @@ ++/* ++ * \file amlkey_if.h ++ * \brief APIs of secure key for users ++ * ++ * \version 1.0.0 ++ * \date 15/07/10 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2015 Amlogic. All Rights Reserved. ++ * ++ */ ++#ifndef __AMLKEY_IF_H__ ++#define __AMLKEY_IF_H__ ++ ++#define AMLKEY_NAME_LEN_MAX (80) ++ ++struct amlkey_if { ++ int32_t (*init)(uint8_t *seed, uint32_t len, int encrypt_type); ++ int32_t (*exsit)(const uint8_t *name); ++ ssize_t (*size)(const uint8_t *name); ++ uint32_t (*get_attr)(const uint8_t *name); ++ ssize_t (*read)(const uint8_t *name, uint8_t *buffer, uint32_t len); ++ ssize_t (*write)(const uint8_t *name, uint8_t *buffer, uint32_t len, uint32_t attr); ++ int32_t (*hash)(const uint8_t *name, uint8_t *hash); ++}; ++ ++extern struct amlkey_if *amlkey_if; ++ ++static inline uint32_t amlkey_get_attr(const uint8_t *name) ++{ ++ return amlkey_if->get_attr(name); ++} ++ ++int amlkey_if_init(const void* dt_addr); ++ ++//1.init ++static inline int32_t amlkey_init(uint8_t *seed, uint32_t len, int encrypt_type) ++{ ++ return amlkey_if->init(seed, len, encrypt_type); ++} ++ ++//2. query if the key already programmed, exsit 1, non 0 ++static inline int32_t amlkey_isexsit(const uint8_t * name) ++{ ++ return amlkey_if->exsit(name); ++} ++ ++//3. query attr, key must exsit before those functions were called. ++ //3.1 whether the prgrammed key is secure, secure 1, non 0 ++int32_t amlkey_issecure(const uint8_t * name); ++ ++ //3.2 whether the prgrammed key is encrypt, encrypt 1, non 0 ++int32_t amlkey_isencrypt(const uint8_t * name); ++ ++//4. actual bytes of key value ++static inline ssize_t amlkey_size(const uint8_t *name) ++{ ++ return amlkey_if->size(name); ++} ++ ++//5. read non-secure key in bytes, return byets readback actully. ++static inline ssize_t amlkey_read(const uint8_t *name, uint8_t *buffer, uint32_t len) ++{ ++ return amlkey_if->read(name, buffer, len); ++} ++ ++//6.write key with attribute in bytes , return byets readback actully ++ //attr: bit0: secure/non-secure; ++ // bit8: encrypt/non-encrypt ++#define UNIFYKEY_ATTR_SECURE_MASK (1<<0) ++#define UNIFYKEY_ATTR_ENCRYPT_MASK (1<<8) ++static inline ssize_t amlkey_write(const uint8_t *name, uint8_t *buffer, uint32_t len, ++ uint32_t attr) ++{ ++ return amlkey_if->write(name, buffer, len, attr); ++} ++ ++//7. get the hash value of programmed secure key | 32bytes length, sha256 ++static inline int32_t amlkey_hash_4_secure(const uint8_t *name, uint8_t *hash) ++{ ++ return amlkey_if->hash(name, hash); ++} ++ ++#endif// #ifndef __AMLKEY_IF_H__ ++ +diff --git a/include/amlogic/anti-rollback.h b/include/amlogic/anti-rollback.h +new file mode 100644 +index 00000000000..95d42651eab +--- /dev/null ++++ b/include/amlogic/anti-rollback.h +@@ -0,0 +1,40 @@ ++/* ++ * Copyright (C) 2014-2017 Amlogic, Inc. All rights reserved. ++ * ++ * All information contained herein is Amlogic confidential. ++ * ++ * This software is provided to you pursuant to Software License Agreement ++ * (SLA) with Amlogic Inc ("Amlogic"). This software may be used ++ * only in accordance with the terms of this agreement. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification is strictly prohibited without prior written permission from ++ * Amlogic. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#ifndef __ANTI_ROLLBACK_ ++#define __ANTI_ROLLBACK_ ++ ++#include ++ ++bool check_antirollback(uint32_t kernel_version); ++ ++bool set_avb_antirollback(uint32_t index, uint32_t version); ++bool get_avb_antirollback(uint32_t index, uint32_t* version); ++bool get_avb_lock_state(uint32_t* lock_state); ++bool avb_lock(void); ++bool avb_unlock(void); ++ ++#endif +diff --git a/include/amlogic/asm/bl31_apis.h b/include/amlogic/asm/bl31_apis.h +new file mode 100644 +index 00000000000..4227494b93e +--- /dev/null ++++ b/include/amlogic/asm/bl31_apis.h +@@ -0,0 +1,166 @@ ++ ++/* ++ * arch/arm/include/asm/arch-txl/bl31_apis.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++/* ++ * Trustzone API ++ * ++ * Copyright (C) 2012 Amlogic, Inc. ++ * ++ * Author: Platform-SH@amlogic.com ++ * ++ */ ++ ++#ifndef __GXBB_BL31_APIS_H ++#define __GXBB_BL31_APIS_H ++ ++#include ++ ++/*#define SRAM_READ 0x82000010 ++#define CORE_RD_REV1 0x82000011 ++#define SRAM_ACS_READ 0x82000012 ++#define SRAM_ACS_INDIRECT_READ 0x82000013*/ ++ ++#define GET_SHARE_MEM_INPUT_BASE 0x82000020 ++#define GET_SHARE_MEM_OUTPUT_BASE 0x82000021 ++#define GET_REBOOT_REASON 0x82000022 ++#define GET_SHARE_STORAGE_IN_BASE 0x82000023 ++#define GET_SHARE_STORAGE_OUT_BASE 0x82000024 ++#define GET_SHARE_STORAGE_BLOCK_BASE 0x82000025 ++#define GET_SHARE_STORAGE_MESSAGE_BASE 0x82000026 ++#define GET_SHARE_STORAGE_BLOCK_SIZE 0x82000027 ++#define SET_STORAGE_INFO 0x82000028 ++#define SET_REBOOT_REASON 0x82000049 ++ ++/* Set Reboot Reason then Reboot*/ ++#define PSCI_SYS_REBOOT 0x84000009 ++ ++/* SECUREOS DEFINITION*/ ++/* SMC Identifiers for non-secure world functions */ ++#define CALL_TRUSTZONE_HAL_API 0x5 ++ ++/* EFUSE */ ++#define EFUSE_READ 0x82000030 ++#define EFUSE_WRITE 0x82000031 ++#define EFUSE_WRITE_PATTERN 0x82000032 ++#define EFUSE_USER_MAX 0x82000033 ++ ++#define DEBUG_EFUSE_WRITE_PATTERN 0x820000F0 ++#define DEBUG_EFUSE_READ_PATTERN 0x820000F1 ++ ++/* JTAG*/ ++#define JTAG_ON 0x82000040 ++#define JTAG_OFF 0x82000041 ++ ++#define SET_USB_BOOT_FUNC 0x82000043 ++ /* USB BOOT FUNC sub command list*/ ++ #define CLEAR_USB_BOOT 1 ++ #define FORCE_USB_BOOT 2 ++ #define RUN_COMD_USB_BOOT 3 ++ #define PANIC_DUMP_USB_BOOT 4 ++ ++#define GET_CHIP_ID 0x82000044 ++/* Security Key*/ ++#define SECURITY_KEY_QUERY 0x82000060 ++#define SECURITY_KEY_READ 0x82000061 ++#define SECURITY_KEY_WRITE 0x82000062 ++#define SECURITY_KEY_TELL 0x82000063 ++#define SECURITY_KEY_VERIFY 0x82000064 ++#define SECURITY_KEY_STATUS 0x82000065 ++#define SECURITY_KEY_NOTIFY 0x82000066 ++#define SECURITY_KEY_LIST 0x82000067 ++#define SECURITY_KEY_REMOVE 0x82000068 ++#define SECURITY_KEY_NOTIFY_EX 0x82000069 ++#define SECURITY_KEY_SET_ENCTYPE 0x8200006A ++#define SECURITY_KEY_GET_ENCTYPE 0x8200006B ++#define SECURITY_KEY_VERSION 0x8200006C ++ ++/*viu probe en*/ ++#define VIU_PREOBE_EN 0x82000080 ++ ++/* KEYMASTER */ ++#define SET_BOOT_PARAMS 0x82000072 ++#define SHA256_DIGEST_SIZE 32 ++typedef struct { ++ uint32_t device_locked; ++ uint32_t verified_boot_state; ++ uint8_t verified_boot_key[SHA256_DIGEST_SIZE]; ++ uint8_t verified_boot_hash[SHA256_DIGEST_SIZE]; ++} keymaster_boot_params; ++ ++/* Secure HAL APIs */ ++#define TRUSTZONE_HAL_API_SRAM 0x400 ++ ++ ++#define SRAM_HAL_API_CHECK_EFUSE 0x403 ++struct sram_hal_api_arg { ++ unsigned int cmd; ++ unsigned int req_len; ++ unsigned int res_len; ++ unsigned long req_phy_addr; ++ unsigned long res_phy_addr; ++ unsigned long ret_phy_addr; ++}; ++ ++#define JTAG_STATE_ON 0 ++#define JTAG_STATE_OFF 1 ++#define JTAG_M3_AO 0 ++#define JTAG_M3_EE 1 ++#define JTAG_A53_AO 2 ++#define JTAG_A53_EE 3 ++#define CLUSTER_BIT 2 ++ ++#define GET_AVBKEY_FROM_FIP 0x820000b0 ++ ++///////////////////////////////////////////////////////////////////////////////// ++#define AML_DATA_PROCESS (0x820000FF) ++ #define AML_D_P_W_EFUSE_SECURE_BOOT (0x10) ++ #define AML_D_P_W_EFUSE_PASSWORD (0x11) ++ #define AML_D_P_W_EFUSE_CUSTOMER_ID (0x12) ++ #define AML_D_P_W_EFUSE_AMLOGIC (0x20) ++ #define AML_D_P_IMG_DECRYPT (0x40) ++ #define AML_D_P_UPGRADE_CHECK (0x80) ++ #define AML_D_Q_IMG_SIG_HDR_SIZE (0x100) ++ ++#define GXB_EFUSE_PATTERN_SIZE (0x500) ++#define GXB_IMG_SIZE (24<<20) ++#define GXB_IMG_LOAD_ADDR (0x1080000) ++ #define GXB_IMG_DEC_KNL (1<<0) ++ #define GXB_IMG_DEC_RMD (1<<1) ++ #define GXB_IMG_DEC_DTB (1<<2) ++ #define GXB_IMG_DEC_ALL (GXB_IMG_DEC_KNL|GXB_IMG_DEC_RMD|GXB_IMG_DEC_DTB) ++ ++#define __asmeq(x, y) ".ifnc " x "," y " ; .err ; .endif\n\t" ++ ++void aml_set_jtag_state(unsigned state, unsigned select); ++unsigned aml_get_reboot_reason(void); ++unsigned aml_reboot(uint64_t function_id, uint64_t arg0, uint64_t arg1, uint64_t arg2); ++void aml_set_reboot_reason(uint64_t function_id, uint64_t arg0, uint64_t arg1, uint64_t arg2); ++unsigned long aml_sec_boot_check(unsigned long ,unsigned long ,unsigned long,unsigned long ); ++long get_sharemem_info(unsigned long); ++void set_usb_boot_function(unsigned long command); ++void aml_system_off(void); ++ ++void bl31_get_chipid(unsigned int *, unsigned int *, ++ unsigned int *, unsigned int *); ++void set_viu_probe_enable(void); ++int32_t set_boot_params(const keymaster_boot_params*); ++int32_t get_avbkey_from_fip(uint8_t *buf, uint32_t buflen); ++#endif +diff --git a/include/amlogic/asm/clock.h b/include/amlogic/asm/clock.h +new file mode 100644 +index 00000000000..3a24778206e +--- /dev/null ++++ b/include/amlogic/asm/clock.h +@@ -0,0 +1,41 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Copyright 2018 - AmLogic, Inc. ++ */ ++#ifndef _ARCH_MESON_G12A_CLOCK_H_ ++#define _ARCH_MESON_G12A_CLOCK_H_ ++ ++/* ++ * Clock controller register offsets ++ * ++ * Register offsets from the data sheet are listed in comment blocks below. ++ * Those offsets must be multiplied by 4 before adding them to the base address ++ * to get the right value ++ */ ++ ++#define HHI_GCLK_MPEG0 0x140 /* 0x50 offset in data sheet1 */ ++#define HHI_GCLK_MPEG1 0x144 /* 0x51 offset in data sheet1 */ ++#define HHI_GCLK_MPEG2 0x148 /* 0x52 offset in data sheet1 */ ++#define HHI_GCLK_OTHER 0x150 /* 0x54 offset in data sheet1 */ ++#define HHI_FIX_PLL_CNTL0 0x2A0 /* 0xa8 offset in data sheet1 */ ++#define HHI_FIX_PLL_CNTL1 0x2A4 /* 0xa9 offset in data sheet1 */ ++#define HHI_SYS_PLL_CNTL0 0x2f4 /* 0xbd offset in data sheet1 */ ++#define HHI_SYS_PLL_CNTL1 0x2f8 /* 0xbe offset in data sheet1 */ ++#define HHI_SYS_PLL_CNTL2 0x2fc /* 0xbf offset in data sheet1 */ ++#define HHI_SYS_PLL_CNTL3 0x300 /* 0xc0 offset in data sheet1 */ ++#define HHI_SYS_PLL_CNTL4 0x304 /* 0xc1 offset in data sheet1 */ ++#define HHI_SYS_PLL_CNTL5 0x308 /* 0xc2 offset in data sheet1 */ ++#define HHI_SYS_PLL_CNTL6 0x30c /* 0xc3 offset in data sheet1 */ ++#define HHI_SPICC_CLK_CNTL 0x3dc /* 0xf7 offset in data sheet1 */ ++#define HHI_NAND_CLK_CNTL 0x25c /* 0x97 offset in data sheet1 */ ++#define HHI_SD_EMMC_CLK_CNTL 0x264 /* 0x99 offset in data sheet1 */ ++ ++#define CLKID_UNREALIZED 0xfff ++ ++/* AO registers */ ++#define AO_SAR_CLK 0x90 ++#define AO_CLK_GATE0 0x4c ++ ++ulong meson_measure_clk_rate(unsigned int clk); ++ ++#endif +diff --git a/include/amlogic/asm/cpu_config.h b/include/amlogic/asm/cpu_config.h +new file mode 100644 +index 00000000000..7e7c758f867 +--- /dev/null ++++ b/include/amlogic/asm/cpu_config.h +@@ -0,0 +1,101 @@ ++ ++/* ++ * arch/arm/include/asm/arch-txl/cpu_config.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#ifndef _BOOT_ROM_CONFIG_H_ ++#define _BOOT_ROM_CONFIG_H_ ++ ++/*********************************************************** ++ * The following constants are GXBB definition ++ **********************************************************/ ++#define ROMBOOT_START 0xD9040000 ++#define ROM_SIZE (64*1024) ++#define ROMBOOT_END (ROMBOOT_START+ROM_SIZE) ++ ++/*********************************************************** ++ * AHB-SRAM Total Size 80KB, layout shown as below ++ * ++ * ROMCODE use the top 32KB ++ * ++ * [ 128] 0xD901_3F80 - 0xD901_3FFF Reserved ++ * [ 128] 0xD901_3F00 - 0xD901_3F7F CPUs Boot Entry ++ * [ 256] 0xD901_3E00 - 0xD901_3EFF Debug Info ++ * [ 512] 0xD901_3C00 - 0xD901_3DFF eFuse mirror ++ * [ 1K] 0xD901_3800 - 0xD901_3BFF Secure Mailbox (3) ++ * [ 1K] 0xD901_3400 - 0xD901_37FF High Mailbox (2) * ++ * [ 1K] 0xD901_3000 - 0xD901_33FF High Mailbox (1) * ++ * [ 26K] 0xD900_C800 - 0xD901_2FFF BL1 Stack, BSS ++ * [ 1K] 0xD900_C400 - 0xD900_C7FF NAND, USB Buffer ++ * [ 1K] 0xD900_C000 - 0xD900_C3FF Reserved ++ * ++ **********************************************************/ ++#define RAM_START 0xD9000000 ++#define RAM_SIZE (80 * 1024) ++#define BL1_RAM_START (RAM_START + 0xC000) ++#define BL1_RAM_SIZE (32 * 1024) ++#define BL1_RAM_END (BL1_RAM_START + BL1_RAM_SIZE) ++#define BSS_START (BL1_RAM_START + (2 * 1024)) ++#define BSS_SIZE (18 * 1024) ++#define _STACK_END (BSS_START + BSS_SIZE + 8*1024) ++#define BL1_EFUSE_MIRROR (BL1_RAM_END - 1024) ++#define P_SHARED_EFUSE_MIRROR (volatile uint32_t *)(BL1_EFUSE_MIRROR) ++#define BL1_DEBUG_BUFFER (BL1_RAM_END - 512) ++#define CPU_BOOT_ENTRY (BL1_DEBUG_BUFFER + 256) ++#define P_SHARED_DEBUG_BUFF (volatile uint32_t *)(BL1_DEBUG_BUFFER) ++#define BL1_SEC_MBX (BL1_RAM_END - 2*1024) ++#define BL1_NAND_BUFF (BL1_RAM_START + 1024) ++#define BL1_USB_BUFF (BL1_NAND_BUFF) ++ ++#define MEMORY_LOC RAM_START ++ ++#define SRAM_DEBUG_BUFF_SIZE 256 ++ ++/* BL2 SPL size */ ++#define BL2_SIZE (64 * 1024) ++ ++//for signature test ++//#define CONFIG_AML_SIG_TEST_BUILD ++ ++/* Software SHA2 */ ++#define CONFIG_SHA2_SW ++ ++/* Hardware SHA2 */ ++#define CONFIG_SHA2_HW ++#define SHA2_HW_UPDATE_API ++ ++/* Keep timer config in conf.h */ ++#define CONFIG_TIMER ++ ++/* Bootrom debug info */ ++#define CONFIG_DEBUG_INFO ++ ++/* Mincrypt RSA library */ ++//#define CONFIG_MINCRYPT ++ ++/* PolarSSL RSA library */ ++#define CONFIG_POLARSSL_RSA ++ ++#ifdef CONFIG_POLARSSL_RSA ++#ifndef CONFIG_MALLOC ++#define CONFIG_MALLOC ++#endif /* ! CONFIG_MALLOC */ ++#endif /* CONFIG_POLARSSL_RSA */ ++ ++#endif /* _BOOT_ROM_CONFIG_H_ */ +diff --git a/include/amlogic/asm/cpu_sdio.h b/include/amlogic/asm/cpu_sdio.h +new file mode 100644 +index 00000000000..baf87065849 +--- /dev/null ++++ b/include/amlogic/asm/cpu_sdio.h +@@ -0,0 +1,264 @@ ++ ++/* ++ * arch/arm/include/asm/arch-txl/cpu_sdio.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#ifndef __CPU_SDIO_H__ ++#define __CPU_SDIO_H__ ++ ++#define SD_EMMC_BASE_A 0xFFE03000 ++#define SD_EMMC_BASE_B 0xFFE05000 ++#define SD_EMMC_BASE_C 0xFFE07000 ++ ++#define SDIO_PORT_A 0 ++#define SDIO_PORT_B 1 ++#define SDIO_PORT_C 2 ++ ++#if 0 ++#define SD_EMMC_RXD_ERROR 1 ++#define SD_EMMC_TXD_ERROR 1<<1 ++#define SD_EMMC_DESC_ERROR 1<<2 ++#define SD_EMMC_RESP_CRC_ERROR 1<<3 ++#define SD_EMMC_RESP_TIMEOUT_ERROR 1<<4 ++#define SD_EMMC_DESC_TIMEOUT_ERROR 1<<5 ++#endif ++ ++struct sd_emmc_global_regs { ++ volatile uint32_t gclock; // 0x00 ++ volatile uint32_t gdelay; // 0x04 ++ volatile uint32_t gdelay1; //0x08 ++ volatile uint32_t gadjust; // 0x0c ++ volatile uint32_t gcalout; // 0x10 ++ volatile uint32_t reserved_14[11]; // 0x14~0x3c ++ volatile uint32_t gstart; // 0x40 ++ volatile uint32_t gcfg; // 0x44 ++ volatile uint32_t gstatus; // 0x48 ++ volatile uint32_t girq_en; // 0x4c ++ volatile uint32_t gcmd_cfg; // 0x50 ++ volatile uint32_t gcmd_arg; // 0x54 ++ volatile uint32_t gcmd_dat; // 0x58 ++ volatile uint32_t gcmd_rsp0; // 0x5c ++ volatile uint32_t gcmd_rsp1; // 0x60 ++ volatile uint32_t gcmd_rsp2; // 0x64 ++ volatile uint32_t gcmd_rsp3; // 0x68 ++ volatile uint32_t reserved_6c; // 0x6c ++ volatile uint32_t gcurr_cfg; // 0x70 ++ volatile uint32_t gcurr_arg; // 0x74 ++ volatile uint32_t gcurr_dat; // 0x78 ++ volatile uint32_t gcurr_rsp; // 0x7c ++ volatile uint32_t gnext_cfg; // 0x80 ++ volatile uint32_t gnext_arg; // 0x84 ++ volatile uint32_t gnext_dat; // 0x88 ++ volatile uint32_t gnext_rsp; // 0x8c ++ volatile uint32_t grxd; // 0x90 ++ volatile uint32_t gtxd; // 0x94 ++ volatile uint32_t reserved_98[90]; // 0x98~0x1fc ++ volatile uint32_t gdesc[128]; // 0x200 ++ volatile uint32_t gping[128]; // 0x400 ++ volatile uint32_t gpong[128]; // 0x800 ++}; ++ ++union sd_emmc_setup { ++ uint32_t d32; ++ struct { ++ unsigned bw:3; ++ unsigned fast:1; ++ unsigned par:3; ++ unsigned hcs:1; ++ unsigned sd:1; ++ unsigned sdhc:1; ++ unsigned type:6; ++ unsigned rca:16; ++ } b; ++}; ++ ++struct sd_emmc_desc_info{ ++ uint32_t cmd_info; ++ uint32_t cmd_arg; ++ uint32_t data_addr; ++ uint32_t resp_addr; ++}; ++ ++struct cmd_cfg{ ++ uint32_t length:9; ++ uint32_t block_mode:1; ++ uint32_t r1b:1; ++ uint32_t end_of_chain:1; ++ uint32_t timeout:4; ++ uint32_t no_resp:1; ++ uint32_t no_cmd:1; ++ uint32_t data_io:1; ++ uint32_t data_wr:1; ++ uint32_t resp_nocrc:1; ++ uint32_t resp_128:1; ++ uint32_t resp_num:1; ++ uint32_t data_num:1; ++ uint32_t cmd_index:6; ++ uint32_t error:1; ++ uint32_t owner:1; ++}; ++ ++struct sd_emmc_status{ ++ uint32_t rxd_err:8; /*[7:0] RX data CRC error per wire, for multiple block read, the CRC errors are ORed together.*/ ++ uint32_t txd_err:1; /*[8] TX data CRC error, for multiple block write, any one of blocks CRC error. */ ++ uint32_t desc_err:1; /*[9] SD/eMMC controller doesn¡¯t own descriptor. The owner bit is ¡°0¡±, set cfg_ignore_owner to ignore this error.*/ ++ uint32_t resp_err:1; /*[10] Response CRC error.*/ ++ uint32_t resp_timeout:1; /*[11] No response received before time limit. The timeout limit is set by cfg_resp_timeout.*/ ++ uint32_t desc_timeout:1; /*[12] Descriptor execution time over time limit. The timeout limit is set by descriptor itself.*/ ++ /* Consider the multiple block read/write, set the proper timeout limits.*/ ++ uint32_t end_of_chain:1; /*[13] End of Chain IRQ, Normal IRQ. */ ++ uint32_t desc_irq:1; /*[14] This descriptor requests an IRQ, Normal IRQ, the descriptor chain execution keeps going on.*/ ++ uint32_t irq_sdio:1; /*[15] SDIO device uses DAT[1] to request IRQ. */ ++ uint32_t dat_i:8; /*[23:16] Input data signals. */ ++ uint32_t cmd_i:1; /*[24] nput response signal. */ ++ uint32_t ds:1; /*[25] Input data strobe. */ ++ uint32_t bus_fsm:4; /*[29:26] BUS fsm */ ++ uint32_t desc_wr_rdy:1; /*[30] Descriptor write back process is done and it is ready for CPU to read.*/ ++ uint32_t core_rdy:1; /*[31] desc_busy or sd_emmc_irq or bus_fsm is not idle.*/ ++};//__attribute__((__may_alias__)); ++ ++ ++struct sd_emmc_clock{ ++ uint32_t div:6; /*[5:0] Clock divider. Frequency = clock source/cfg_div, Maximum divider 63. */ ++ /*Clock off: cfg_div==0, the clock is disabled */ ++ /*Divider bypass: cfg_div==1, clock source is used as core clock without divider. */ ++ uint32_t src:2; /*[7:6] Clock source, 0: Crystal 24MHz, 1: Fix PLL, 850MHz*/ ++ /* 2: MPLL, <637MHz, used for 400MHz exactly. 3: different PLL */ ++ uint32_t core_phase:2; /*[9:8] Core clock phase. 0: 0 phase, 1: 90 phase, 2: 180 phase, 3: 270 phase.*/ ++ uint32_t tx_phase:2; /*[11:10] TX clock phase. 0: 0 phase, 1: 90 phase, 2: 180 phase, 3: 270 phase.*/ ++ uint32_t rx_phase:2; /*[13:12] RX clock phase. 0: 0 phase, 1: 90 phase, 2: 180 phase, 3: 270 phase.*/ ++ uint32_t reserved14:2; ++ uint32_t tx_delay:6; /*[21:16] TX clock delay line. 0: no delay, n: delay n*200ps. Maximum delay 3ns.*/ ++ uint32_t rx_delay:6; /*[27:22] RX clock delay line. 0: no delay, n: delay n*200ps. Maximum delay 3ns.*/ ++ uint32_t always_on:1; /*[28] 1: Keep clock always on. 0: Clock on/off controlled by activities. */ ++ /*Any APB3 access or descriptor execution will keep clock on.*/ ++ uint32_t irq_sdio_sleep:1; /*[29] 1: enable IRQ sdio when in sleep mode. */ ++ uint32_t irq_sdio_sleep_ds:1;/*[30] 1:enable ds as irq*/ ++ uint32_t reserved26:1; ++}; ++ ++struct sd_emmc_delay{ ++ uint32_t dat0:6; /*[3:0] Data 0 delay line. */ ++ uint32_t dat1:6; /*[7:4] Data 1 delay line. */ ++ uint32_t dat2:6; /*[11:8] Data 2 delay line. */ ++ uint32_t dat3:6; /*[15:12] Data 3 delay line. */ ++ uint32_t dat4:6; /*[19:16] Data 4 delay line. */ ++ uint32_t spare:2; ++}; ++ ++struct sd_emmc_delay1{ ++ uint32_t dat5:6; /*[23:20] Data 5 delay line. */ ++ uint32_t dat6:6; /*[27:24] Data 6 delay line. */ ++ uint32_t dat7:6; /*[31:28] Data 7 delay line. */ ++ uint32_t dat8:6; /*[31:28] Data 7 delay line. */ ++ uint32_t dat9:6; /*[31:28] Data 7 delay line. */ ++ uint32_t spare:2; ++}; ++ ++struct sd_emmc_adjust{ ++ uint32_t cmd_delay:4; /*[3:0] Command delay line. */ ++ uint32_t ds_delay:4; /*[7:4] DS delay line. */ ++ uint32_t cali_sel:4; /*[11:8] Select one signal to be tested.*/ ++ /*Signals are labeled from 0 to 9 the same as delay lines. */ ++ uint32_t cali_enable:1; /*[12] Enable calibration. */ ++ uint32_t adj_enable:1; /*[13] Adjust interface timing by resampling the input signals. */ ++ uint32_t cali_rise:1; /*[14] 1: test the rising edge. 0: test the falling edge. */ ++ uint32_t ds_enable:1; /*[15] Sampling the DAT based on DS in HS400 mode*/ ++ uint32_t adj_delay:6; /*[21:16] Resample the input signals when clock index==adj_delay. */ ++ uint32_t adj_auto:1; /*[22] Use cali_dut first falling edge to adjust the timing */ ++ /*set cali_enable to 1 to use this function*/ ++ uint32_t reserved23:9; ++}; ++ ++ ++struct sd_emmc_calout{ ++ uint32_t cali_idx:6; /*[5:0] Calibration reading. The event happens at this index. */ ++ uint32_t reserved6:1; ++ uint32_t cali_vld:1; /*[7] The reading is valid. */ ++ uint32_t cali_setup:8; /*[15:8] Copied from BASE+0x8 [15:8] include cali_sel, cali_enable, adj_enable, cali_rise. */ ++ uint32_t reserved16:16; ++}; ++ ++ ++struct sd_emmc_start{ ++ uint32_t init:1; /*[0] 1: Read descriptor from internal SRAM, limited to 32 descriptors. */ ++ /* 0: Read descriptor from external DDR */ ++ uint32_t busy:1; /*[1] 1: Start command chain execution process. 0: Stop */ ++ uint32_t addr:30; /*[31:2] Descriptor address, the last 2 bits are 0, 4 bytes aligned. */ ++ /* When internal SRAM is used, the valid address range is from 0x200~0x3ff */ ++ /* When external DDR is used, the valid address is anywhere in DDR, the length of chain is unlimited.*/ ++};//__attribute__((__may_alias__)); ++ ++ ++struct sd_emmc_config{ ++ uint32_t bus_width:2; /*[1:0] 0: 1 bit, 1: 4 bits, 2: 8 bits, 3: 2 bits (not supported)*/ ++ uint32_t ddr:1; /*[2] 1: DDR mode, 0: SDR mode */ ++ uint32_t dc_ugt:1; /*[3] 1: DDR access urgent, 0: DDR access normal. */ ++ uint32_t bl_len:4; /*[7:4] Block length 2^cfg_bl_len, because internal buffer size is limited to 512 bytes, the cfg_bl_len <=9. */ ++ uint32_t resp_timeout:4; /*[11:8] Wait response till 2^cfg_resp_timeout core clock cycles. Maximum 32768 core cycles. */ ++ uint32_t rc_cc:4; /*[15:12] Wait response-command, command-command gap before next command, 2^cfg_rc_cc core clock cycles. */ ++ uint32_t out_fall:1; /*[16] DDR mode only. The command and TXD start from rising edge. Set 1 to start from falling edge. */ ++ uint32_t blk_gap_ip:1; /*[17] 1: Enable SDIO data block gap interrupt period. 0: Disabled.*/ ++ uint32_t spare:1; /*[18] Spare, ??? need check*/ ++ uint32_t ignore_owner:1; /*[19] Use this descriptor even if its owner bit is ¡°0¡±.*/ ++ uint32_t chk_ds:1; /*[20] Check data strobe in HS400.*/ ++ uint32_t cmd_low:1; /*[21] Hold CMD as output Low, eMMC boot mode.*/ ++ uint32_t stop_clk:1; /*[22] 1: stop clock. 0: normal clock.*/ ++ /*In normal mode, the clock is automatically on/off during reading mode to back off reading in case of*/ ++ /*DDR slow response, stop clock is used in voltage switch.*/ ++ uint32_t auto_clk:1; /*[23] 1: when BUS is idle and no descriptor is available, turn off clock, to save power.*/ ++ /* 0: core clock is always on.*/ ++ uint32_t txd_add_err:1; /*[24] TXD add error test*/ ++ /*Test feature, should not be used in normal condition.*/ ++ /*It will inverted the first CRC bits of the 3rd block.*/ ++ /*Block index starts from 0, 1, 2, ¡­*/ ++ uint32_t txd_retry:1; /*[25] When TXD CRC error, host sends the block again.*/ ++ /*The total number of retries of one descriptor is limited to 15, */ ++ /*after 15 retries, the TXD_err is set to high.*/ ++ uint32_t revd:8; /*[31:26] reved*/ ++};//__attribute__((__may_alias__)); ++ ++ ++struct sd_emmc_irq_en{ ++ uint32_t rxd_err:8; /*[7:0] RX data CRC error per wire.*/ ++ uint32_t txd_err:1; /*[8] TX data CRC error. */ ++ uint32_t desc_err:1; /*[9] SD/eMMC controller doesn¡¯t own descriptor. */ ++ uint32_t resp_err:1; /*[10] Response CRC error.*/ ++ uint32_t resp_timeout:1; /*[11] No response received before time limit. */ ++ uint32_t desc_timeout:1; /*[12] Descriptor execution time over time limit. */ ++ uint32_t end_of_chain:1; /*[13] End of Chain IRQ. */ ++ uint32_t desc_irq:1; /*[14] This descriptor requests an IRQ. */ ++ uint32_t irq_sdio:1; /*[15] Enable sdio interrupt. */ ++ uint32_t revd:16; /*[31:16] reved*/ ++}; ++ ++struct sd_emmc_data_info{ ++ uint32_t cnt:10; /*[9:0] Rxd words received from BUS. Txd words received from DDR.*/ ++ uint32_t blk:9; /*[24:16] Rxd Blocks received from BUS. Txd blocks received from DDR.*/ ++ uint32_t revd:30; /*[31:17] Reved. */ ++}; ++ ++ ++struct sd_emmc_card_info{ ++ uint32_t txd_cnt:10; /*[9:0] Txd BUS cycle counter. */ ++ uint32_t txd_blk:9; /*[24:16] Txd BUS block counter.*/ ++ uint32_t revd:30; /*[31:17] Reved. */ ++}; ++ ++#endif +diff --git a/include/amlogic/asm/efuse.h b/include/amlogic/asm/efuse.h +new file mode 100644 +index 00000000000..b5ea02723f9 +--- /dev/null ++++ b/include/amlogic/asm/efuse.h +@@ -0,0 +1,62 @@ ++ ++/* ++ * arch/arm/include/asm/arch-txl/efuse.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#ifndef __EFUSE_H ++#define __EFUSE_H ++ ++#include ++#include ++ ++/* efuse HAL_API arg */ ++struct efuse_hal_api_arg { ++ unsigned int cmd; /* R/W */ ++ unsigned int offset; ++ unsigned int size; ++ unsigned long buffer_phy; ++ unsigned long retcnt_phy; ++}; ++ ++ ++#define EFUSE_BYTES 512 /* (EFUSE_BITS/8) */ ++ ++#define EFUSE_HAL_API_READ 0 ++#define EFUSE_HAL_API_WRITE 1 ++#define EFUSE_HAL_API_WRITE_PATTERN 2 ++#define EFUSE_HAL_API_USER_MAX 3 ++ ++#define EFUSE_USER_MASK (0x1 << 16) ++#define EFUSE_THERMAL_MASK (0x1 << 17) ++#define EFUSE_THERMAL_VERFLAG_MASK (0x1 << 18) ++#define EFUSE_ENCRYPT_MASK (0x1 << 19) ++ ++//#define ASSIST_HW_REV 0x1f53 ++ ++int efuse_read_usr(char *buf, size_t count, loff_t *ppos); ++int efuse_write_usr(char *buf, size_t count, loff_t *ppos); ++uint32_t efuse_get_max(void); ++ssize_t efuse_read(char *buf, size_t count, loff_t *ppos); ++ssize_t efuse_write(const char *buf, size_t count, loff_t *ppos); ++ ++int32_t meson_trustzone_efuse(struct efuse_hal_api_arg *arg); ++int32_t meson_trustzone_efuse_get_max(struct efuse_hal_api_arg *arg); ++ ++#endif ++ +diff --git a/include/amlogic/asm/io.h b/include/amlogic/asm/io.h +new file mode 100644 +index 00000000000..8640303b518 +--- /dev/null ++++ b/include/amlogic/asm/io.h +@@ -0,0 +1,118 @@ ++ ++/* ++ * arch/arm/include/asm/arch-txl/io.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#ifndef __MACH_MESSON_REGS_IO_H ++#define __MACH_MESSON_REGS_IO_H ++ ++#ifndef __ASSEMBLY__ ++ ++#include ++#define IO_CBUS_BASE (0xFFD00000L) ++#define IO_AXI_BUS_BASE (0xFFB00000L) /* gpv */ ++#define IO_AHB_BUS_BASE (0xFF500000L) /* usb0 */ ++#define IO_APB_BUS_BASE (0xFFFC0000L) /* AHB SRAM, sec/sys ahb? txlx_mem_map.xlsx */ ++#define IO_APB_HDMI_BUS_BASE (0xFFE00000L) /* */ ++#define IO_VPU_BUS_BASE (0xFF900000L) /* VPU */ ++ ++#define CBUS_REG_OFFSET(reg) ((reg) << 2) ++#define CBUS_REG_ADDR(reg) (IO_CBUS_BASE + CBUS_REG_OFFSET(reg)) ++ ++#define AXI_REG_OFFSET(reg) ((reg) << 2) ++#define AXI_REG_ADDR(reg) (IO_AXI_BUS_BASE + AXI_REG_OFFSET(reg)) ++ ++#define AHB_REG_OFFSET(reg) ((reg) << 2) ++#define AHB_REG_ADDR(reg) (IO_AHB_BUS_BASE + AHB_REG_OFFSET(reg)) ++ ++#define VPU_REG_OFFSET(reg) ((reg) << 2) ++#define VPU_REG_ADDR(reg) (IO_VPU_BUS_BASE + VPU_REG_OFFSET(reg)) ++ ++ ++#define APB_REG_OFFSET(reg) (reg) ++#define APB_REG_ADDR(reg) (IO_APB_BUS_BASE + APB_REG_OFFSET(reg)) ++#define APB_REG_ADDR_VALID(reg) (((unsigned long)(reg) & 3) == 0) ++ ++#define APB_HDMI_REG_OFFSET(reg) (reg) ++#define APB_HDMI_REG_ADDR(reg) (IO_APB_HDMI_BUS_BASE + APB_HDMI_REG_OFFSET(reg)) ++#define APB_HDMI_REG_ADDR_VALID(reg) (((unsigned long)(reg) & 3) == 0) ++ ++ ++#define WRITE_CBUS_REG(reg, val) __raw_writel(val, CBUS_REG_ADDR(reg)) ++#define READ_CBUS_REG(reg) (__raw_readl(CBUS_REG_ADDR(reg))) ++#define WRITE_CBUS_REG_BITS(reg, val, start, len) \ ++ WRITE_CBUS_REG(reg, (READ_CBUS_REG(reg) & ~(((1L<<(len))-1)<<(start)) )| ((unsigned)((val)&((1L<<(len))-1)) << (start))) ++#define READ_CBUS_REG_BITS(reg, start, len) \ ++ ((READ_CBUS_REG(reg) >> (start)) & ((1L<<(len))-1)) ++#define CLEAR_CBUS_REG_MASK(reg, mask) WRITE_CBUS_REG(reg, (READ_CBUS_REG(reg)&(~(mask)))) ++#define SET_CBUS_REG_MASK(reg, mask) WRITE_CBUS_REG(reg, (READ_CBUS_REG(reg)|(mask))) ++ ++#define WRITE_AXI_REG(reg, val) __raw_writel(val, AXI_REG_ADDR(reg)) ++#define READ_AXI_REG(reg) (__raw_readl(AXI_REG_ADDR(reg))) ++#define WRITE_AXI_REG_BITS(reg, val, start, len) \ ++ WRITE_AXI_REG(reg, (READ_AXI_REG(reg) & ~(((1L<<(len))-1)<<(start)) )| ((unsigned)((val)&((1L<<(len))-1)) << (start))) ++#define READ_AXI_REG_BITS(reg, start, len) \ ++ ((READ_AXI_REG(reg) >> (start)) & ((1L<<(len))-1)) ++#define CLEAR_AXI_REG_MASK(reg, mask) WRITE_AXI_REG(reg, (READ_AXI_REG(reg)&(~(mask)))) ++#define SET_AXI_REG_MASK(reg, mask) WRITE_AXI_REG(reg, (READ_AXI_REG(reg)|(mask))) ++ ++#define WRITE_AHB_REG(reg, val) __raw_writel(val, AHB_REG_ADDR(reg)) ++#define READ_AHB_REG(reg) (__raw_readl(AHB_REG_ADDR(reg))) ++#define WRITE_AHB_REG_BITS(reg, val, start, len) \ ++ WRITE_AHB_REG(reg, (READ_AHB_REG(reg) & ~(((1L<<(len))-1)<<(start)) )| ((unsigned)((val)&((1L<<(len))-1)) << (start))) ++#define READ_AHB_REG_BITS(reg, start, len) \ ++ ((READ_AHB_REG(reg) >> (start)) & ((1L<<(len))-1)) ++#define CLEAR_AHB_REG_MASK(reg, mask) WRITE_AHB_REG(reg, (READ_AHB_REG(reg)&(~(mask)))) ++#define SET_AHB_REG_MASK(reg, mask) WRITE_AHB_REG(reg, (READ_AHB_REG(reg)|(mask))) ++ ++#define WRITE_APB_REG(reg, val) __raw_writel(val, APB_REG_ADDR(reg)) ++#define READ_APB_REG(reg) (__raw_readl(APB_REG_ADDR(reg))) ++#define WRITE_APB_REG_BITS(reg, val, start, len) \ ++ WRITE_APB_REG(reg, (READ_APB_REG(reg) & ~(((1L<<(len))-1)<<(start)) )| ((unsigned)((val)&((1L<<(len))-1)) << (start))) ++#define READ_APB_REG_BITS(reg, start, len) \ ++ ((READ_APB_REG(reg) >> (start)) & ((1L<<(len))-1)) ++#define CLEAR_APB_REG_MASK(reg, mask) WRITE_APB_REG(reg, (READ_APB_REG(reg)&(~(mask)))) ++#define SET_APB_REG_MASK(reg, mask) WRITE_APB_REG(reg, (READ_APB_REG(reg)|(mask))) ++ ++#define WRITE_APB_HDMI_REG(reg, val) __raw_writel(val, APB_HDMI_REG_ADDR(reg)) ++#define READ_APB_HDMI_REG(reg) (__raw_readl(APB_HDMI_REG_ADDR(reg))) ++#define WRITE_APB_HDMI_REG_BITS(reg, val, start, len) \ ++ WRITE_APB_HDMI_REG(reg, (READ_APB_HDMI_REG(reg) & ~(((1L<<(len))-1)<<(start)) )| ((unsigned)((val)&((1L<<(len))-1)) << (start))) ++#define READ_APB_HDMI_REG_BITS(reg, start, len) \ ++ ((READ_APB_HDMI_REG(reg) >> (start)) & ((1L<<(len))-1)) ++#define CLEAR_APB_HDMI_REG_MASK(reg, mask) WRITE_APB_HDMI_REG(reg, (READ_APB_HDMI_REG(reg)&(~(mask)))) ++#define SET_APB_HDMI_REG_MASK(reg, mask) WRITE_APB_HDMI_REG(reg, (READ_APB_HDMI_REG(reg)|(mask))) ++ ++/* for back compatible alias */ ++#define WRITE_MPEG_REG(reg, val) \ ++ WRITE_CBUS_REG(reg, val) ++#define READ_MPEG_REG(reg) \ ++ READ_CBUS_REG(reg) ++#define WRITE_MPEG_REG_BITS(reg, val, start, len) \ ++ WRITE_CBUS_REG_BITS(reg, val, start, len) ++#define READ_MPEG_REG_BITS(reg, start, len) \ ++ READ_CBUS_REG_BITS(reg, start, len) ++#define CLEAR_MPEG_REG_MASK(reg, mask) \ ++ CLEAR_CBUS_REG_MASK(reg, mask) ++#define SET_MPEG_REG_MASK(reg, mask) \ ++ SET_CBUS_REG_MASK(reg, mask) ++#endif ++ ++ ++#endif +diff --git a/include/amlogic/asm/register.h b/include/amlogic/asm/register.h +new file mode 100644 +index 00000000000..aa342a50fd9 +--- /dev/null ++++ b/include/amlogic/asm/register.h +@@ -0,0 +1,98 @@ ++ ++/* ++ * arch/arm/include/asm/arch-txl/register.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#ifndef __REGISTER_H__ ++#define __REGISTER_H__ ++ ++#define IO_CBUS_BASE 0xFFD00000 ++#define IO_AXI_BUS_BASE 0xFFB00000 ++#define IO_AHB_BUS_BASE 0xFF500000 ++#define IO_APB_BUS_BASE 0xFFFC0000 ++#define IO_APB_HDMI_BUS_BASE 0xFFE00000 ++#define IO_VPU_BUS_BASE 0xFF900000 ++ ++#define CBUS_REG_OFFSET(reg) ((reg) << 2) ++#define CBUS_REG_ADDR(reg) (IO_CBUS_BASE + CBUS_REG_OFFSET(reg)) ++ ++#if 0 ++/* below UART0,UART1,AO_UART is m8 addr,it is placed is for compiling pass */ ++/* ------------------------------- ++// UART0 ++// ---------------------------- */ ++#define UART0_WFIFO 0x2130 ++#define UART0_RFIFO 0x2131 ++#define UART0_CONTROL 0x2132 ++#define UART0_STATUS 0x2133 ++#define UART0_MISC 0x2134 ++#define UART0_REG5 0x2135 ++/* ---------------------------- ++// UART1 ++----------------------------*/ ++#define UART1_WFIFO 0x2137 ++#define UART1_RFIFO 0x2138 ++#define UART1_CONTROL 0x2139 ++#define UART1_STATUS 0x213a ++#define UART1_MISC 0x213b ++#define UART1_REG5 0x213c ++ ++/* ------------------------------------------------------ ++ The following are handled by $periphs/rtl/periphs_reg.v ++ ---------------------------------------- */ ++#define PREG_CTLREG0_ADDR 0x2000 ++#define P_PREG_CTLREG0_ADDR CBUS_REG_ADDR(PREG_CTLREG0_ADDR) ++ ++/* ---------------------------- ++ clock measure (4) ++ ---------------------------- */ ++#define MSR_CLK_DUTY 0x21d6 ++#define MSR_CLK_REG0 0x21d7 ++#define MSR_CLK_REG1 0x21d8 ++#define MSR_CLK_REG2 0x21d9 ++#define P_MSR_CLK_DUTY CBUS_REG_ADDR(MSR_CLK_DUTY) ++#define P_MSR_CLK_REG0 CBUS_REG_ADDR(MSR_CLK_REG0) ++#define P_MSR_CLK_REG1 CBUS_REG_ADDR(MSR_CLK_REG1) ++#define P_MSR_CLK_REG2 CBUS_REG_ADDR(MSR_CLK_REG2) ++#endif ++ ++#if 0 ++/* -------------------------------- ++ * AO uart ++ * -------------------------------*/ ++#define IO_AOBUS_BASE 0xc8100000 ///1M ++ ++#define AOBUS_REG_OFFSET(reg) ((reg) ) ++#define AOBUS_REG_ADDR(reg) (IO_AOBUS_BASE + AOBUS_REG_OFFSET(reg)) ++ ++#define AO_UART_WFIFO ((0x01 << 10) | (0x30 << 2)) ///../ucode/c_always_on_pointer.h:89 ++#define P_AO_UART_WFIFO AOBUS_REG_ADDR(AO_UART_WFIFO) ++#define AO_UART_RFIFO ((0x01 << 10) | (0x31 << 2)) ///../ucode/c_always_on_pointer.h:90 ++#define P_AO_UART_RFIFO AOBUS_REG_ADDR(AO_UART_RFIFO) ++#define AO_UART_CONTROL ((0x01 << 10) | (0x32 << 2)) ///../ucode/c_always_on_pointer.h:91 ++#define P_AO_UART_CONTROL AOBUS_REG_ADDR(AO_UART_CONTROL) ++#define AO_UART_STATUS ((0x01 << 10) | (0x33 << 2)) ///../ucode/c_always_on_pointer.h:92 ++#define P_AO_UART_STATUS AOBUS_REG_ADDR(AO_UART_STATUS) ++#define AO_UART_MISC ((0x01 << 10) | (0x34 << 2)) ///../ucode/c_always_on_pointer.h:93 ++#define P_AO_UART_MISC AOBUS_REG_ADDR(AO_UART_MISC) ++#define AO_UART_REG5 ((0x01 << 10) | (0x35 << 2)) ///../ucode/c_always_on_pointer.h:94 ++#define P_AO_UART_REG5 AOBUS_REG_ADDR(AO_UART_REG5) ++#endif ++ ++#endif //__REGISTER_H__ +diff --git a/include/amlogic/asm/regs.h b/include/amlogic/asm/regs.h +new file mode 100644 +index 00000000000..26df3071ccb +--- /dev/null ++++ b/include/amlogic/asm/regs.h +@@ -0,0 +1,32964 @@ ++// ---------------------------------------------------------------------- ++// regs.h header ++// ++// bus base define, update manually ++// ++// ---------------------------------------------------------------------- ++// ++#ifndef _BASE_REGISTER ++#define _BASE_REGISTER ++#define REG_BASE_AOBUS (0xFF800000L) ++#define REG_BASE_PERIPHS (0xFF634000L) ++#define REG_BASE_CBUS (0xFFD00000L) ++#define REG_BASE_HIU (0xFF63C000L) ++#define REG_BASE_VCBUS (0xFF900000L) ++#define DMC_REG_BASE (0xFF638000L) ++#define REG_BASE_DSI_HOST (0xFFD00000L)/* 0xFFD07000L*/ ++ ++#endif /*_BASE_REGISTER*/ ++ ++#ifndef REG_OTHERS ++#define REG_OTHERS ++/* other regs */ ++#define SPI_START_ADDR 0xFB000000 ++#define P_SPI_START_ADDR (volatile unsigned int *)0xFB000000 ++ ++#endif /*REG_OTHERS*/ ++ ++// ---------------------------------------------------------------------- ++// This file is automatically generated from the script: ++// ++// ./create_headers_from_register_map_h.pl ++// ++// and was applied to the file ++// ++// ./register_map.h ++// ++// DO NOT EDIT!!!!! ++// ---------------------------------------------------------------------- ++// ++#ifdef REGISTER_H ++#else ++#define REGISTER_H ++#endif ++ ++// ---------------------------------------------------------------------- ++// This file is automatically generated from the script: ++// ++// ./create_headers_from_dos_params_h.pl ++// ++// and was applied to the file ++// ++// ./dos_param.h ++// ++// DO NOT EDIT!!!!! ++// ---------------------------------------------------------------------- ++// ++#ifdef DOS_REGISTER_H ++#else ++#define DOS_REGISTER_H ++ ++ ++// ++// Reading file: ./dos_param.h ++// ++//------------------------------------------------------------------------------ ++// Define all modules' base address under DOS ++// APB allocation from 32'hd0050000 ++//------------------------------------------------------------------------------ ++// Define base address for VDEC module under DOS: ++// DOS_VDEC_ASSIST_BASE_ADDR 14'h0000 ++// DOS_VDEC_MDEC_BASE_ADDR 14'h0900 ++// DOS_VDEC_VLD_BASE_ADDR 14'h0c00 ++// DOS_VDEC_IQIDCT_BASE_ADDR 14'h0e00 ++// DOS_VDEC_VCPU_BASE_ADDR 14'h0300 ++// DOS_VDEC_RESERVED_BASE_ADDR 14'h0f00 // Do not use this offset ++// Define base address for DOS top-level register module: ++// DOS_TOP_BASE_ADDR 14'h3f00 ++//------------------------------------------------------------------------------ ++// VDEC_ASSIST module level register offset ++//------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_ASSIST_CBUS_BASE = 0x00 ++// ----------------------------------------------- ++#define VDEC_ASSIST_MMC_CTRL0 (0x0001) ++#define P_VDEC_ASSIST_MMC_CTRL0 (volatile unsigned int *)((0x0001 << 2) + 0xff620000) ++#define VDEC_ASSIST_MMC_CTRL1 (0x0002) ++#define P_VDEC_ASSIST_MMC_CTRL1 (volatile unsigned int *)((0x0002 << 2) + 0xff620000) ++#define VDEC_ASSIST_MMC_CTRL2 (0x0003) ++#define P_VDEC_ASSIST_MMC_CTRL2 (volatile unsigned int *)((0x0003 << 2) + 0xff620000) ++#define VDEC_ASSIST_MMC_CTRL3 (0x0004) ++#define P_VDEC_ASSIST_MMC_CTRL3 (volatile unsigned int *)((0x0004 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT0 (0x0025) ++#define P_VDEC_ASSIST_AMR1_INT0 (volatile unsigned int *)((0x0025 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT1 (0x0026) ++#define P_VDEC_ASSIST_AMR1_INT1 (volatile unsigned int *)((0x0026 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT2 (0x0027) ++#define P_VDEC_ASSIST_AMR1_INT2 (volatile unsigned int *)((0x0027 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT3 (0x0028) ++#define P_VDEC_ASSIST_AMR1_INT3 (volatile unsigned int *)((0x0028 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT4 (0x0029) ++#define P_VDEC_ASSIST_AMR1_INT4 (volatile unsigned int *)((0x0029 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT5 (0x002a) ++#define P_VDEC_ASSIST_AMR1_INT5 (volatile unsigned int *)((0x002a << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT6 (0x002b) ++#define P_VDEC_ASSIST_AMR1_INT6 (volatile unsigned int *)((0x002b << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT7 (0x002c) ++#define P_VDEC_ASSIST_AMR1_INT7 (volatile unsigned int *)((0x002c << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT8 (0x002d) ++#define P_VDEC_ASSIST_AMR1_INT8 (volatile unsigned int *)((0x002d << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INT9 (0x002e) ++#define P_VDEC_ASSIST_AMR1_INT9 (volatile unsigned int *)((0x002e << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INTA (0x002f) ++#define P_VDEC_ASSIST_AMR1_INTA (volatile unsigned int *)((0x002f << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INTB (0x0030) ++#define P_VDEC_ASSIST_AMR1_INTB (volatile unsigned int *)((0x0030 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INTC (0x0031) ++#define P_VDEC_ASSIST_AMR1_INTC (volatile unsigned int *)((0x0031 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INTD (0x0032) ++#define P_VDEC_ASSIST_AMR1_INTD (volatile unsigned int *)((0x0032 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INTE (0x0033) ++#define P_VDEC_ASSIST_AMR1_INTE (volatile unsigned int *)((0x0033 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR1_INTF (0x0034) ++#define P_VDEC_ASSIST_AMR1_INTF (volatile unsigned int *)((0x0034 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT0 (0x0035) ++#define P_VDEC_ASSIST_AMR2_INT0 (volatile unsigned int *)((0x0035 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT1 (0x0036) ++#define P_VDEC_ASSIST_AMR2_INT1 (volatile unsigned int *)((0x0036 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT2 (0x0037) ++#define P_VDEC_ASSIST_AMR2_INT2 (volatile unsigned int *)((0x0037 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT3 (0x0038) ++#define P_VDEC_ASSIST_AMR2_INT3 (volatile unsigned int *)((0x0038 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT4 (0x0039) ++#define P_VDEC_ASSIST_AMR2_INT4 (volatile unsigned int *)((0x0039 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT5 (0x003a) ++#define P_VDEC_ASSIST_AMR2_INT5 (volatile unsigned int *)((0x003a << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT6 (0x003b) ++#define P_VDEC_ASSIST_AMR2_INT6 (volatile unsigned int *)((0x003b << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT7 (0x003c) ++#define P_VDEC_ASSIST_AMR2_INT7 (volatile unsigned int *)((0x003c << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT8 (0x003d) ++#define P_VDEC_ASSIST_AMR2_INT8 (volatile unsigned int *)((0x003d << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INT9 (0x003e) ++#define P_VDEC_ASSIST_AMR2_INT9 (volatile unsigned int *)((0x003e << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INTA (0x003f) ++#define P_VDEC_ASSIST_AMR2_INTA (volatile unsigned int *)((0x003f << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INTB (0x0040) ++#define P_VDEC_ASSIST_AMR2_INTB (volatile unsigned int *)((0x0040 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INTC (0x0041) ++#define P_VDEC_ASSIST_AMR2_INTC (volatile unsigned int *)((0x0041 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INTD (0x0042) ++#define P_VDEC_ASSIST_AMR2_INTD (volatile unsigned int *)((0x0042 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INTE (0x0043) ++#define P_VDEC_ASSIST_AMR2_INTE (volatile unsigned int *)((0x0043 << 2) + 0xff620000) ++#define VDEC_ASSIST_AMR2_INTF (0x0044) ++#define P_VDEC_ASSIST_AMR2_INTF (volatile unsigned int *)((0x0044 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBX_SSEL (0x0045) ++#define P_VDEC_ASSIST_MBX_SSEL (volatile unsigned int *)((0x0045 << 2) + 0xff620000) ++#define VDEC_ASSIST_TIMER0_LO (0x0060) ++#define P_VDEC_ASSIST_TIMER0_LO (volatile unsigned int *)((0x0060 << 2) + 0xff620000) ++#define VDEC_ASSIST_TIMER0_HI (0x0061) ++#define P_VDEC_ASSIST_TIMER0_HI (volatile unsigned int *)((0x0061 << 2) + 0xff620000) ++#define VDEC_ASSIST_TIMER1_LO (0x0062) ++#define P_VDEC_ASSIST_TIMER1_LO (volatile unsigned int *)((0x0062 << 2) + 0xff620000) ++#define VDEC_ASSIST_TIMER1_HI (0x0063) ++#define P_VDEC_ASSIST_TIMER1_HI (volatile unsigned int *)((0x0063 << 2) + 0xff620000) ++#define VDEC_ASSIST_DMA_INT (0x0064) ++#define P_VDEC_ASSIST_DMA_INT (volatile unsigned int *)((0x0064 << 2) + 0xff620000) ++#define VDEC_ASSIST_DMA_INT_MSK (0x0065) ++#define P_VDEC_ASSIST_DMA_INT_MSK (volatile unsigned int *)((0x0065 << 2) + 0xff620000) ++#define VDEC_ASSIST_DMA_INT2 (0x0066) ++#define P_VDEC_ASSIST_DMA_INT2 (volatile unsigned int *)((0x0066 << 2) + 0xff620000) ++#define VDEC_ASSIST_DMA_INT_MSK2 (0x0067) ++#define P_VDEC_ASSIST_DMA_INT_MSK2 (volatile unsigned int *)((0x0067 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX0_IRQ_REG (0x0070) ++#define P_VDEC_ASSIST_MBOX0_IRQ_REG (volatile unsigned int *)((0x0070 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX0_CLR_REG (0x0071) ++#define P_VDEC_ASSIST_MBOX0_CLR_REG (volatile unsigned int *)((0x0071 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX0_MASK (0x0072) ++#define P_VDEC_ASSIST_MBOX0_MASK (volatile unsigned int *)((0x0072 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX0_FIQ_SEL (0x0073) ++#define P_VDEC_ASSIST_MBOX0_FIQ_SEL (volatile unsigned int *)((0x0073 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX1_IRQ_REG (0x0074) ++#define P_VDEC_ASSIST_MBOX1_IRQ_REG (volatile unsigned int *)((0x0074 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX1_CLR_REG (0x0075) ++#define P_VDEC_ASSIST_MBOX1_CLR_REG (volatile unsigned int *)((0x0075 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX1_MASK (0x0076) ++#define P_VDEC_ASSIST_MBOX1_MASK (volatile unsigned int *)((0x0076 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX1_FIQ_SEL (0x0077) ++#define P_VDEC_ASSIST_MBOX1_FIQ_SEL (volatile unsigned int *)((0x0077 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX2_IRQ_REG (0x0078) ++#define P_VDEC_ASSIST_MBOX2_IRQ_REG (volatile unsigned int *)((0x0078 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX2_CLR_REG (0x0079) ++#define P_VDEC_ASSIST_MBOX2_CLR_REG (volatile unsigned int *)((0x0079 << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX2_MASK (0x007a) ++#define P_VDEC_ASSIST_MBOX2_MASK (volatile unsigned int *)((0x007a << 2) + 0xff620000) ++#define VDEC_ASSIST_MBOX2_FIQ_SEL (0x007b) ++#define P_VDEC_ASSIST_MBOX2_FIQ_SEL (volatile unsigned int *)((0x007b << 2) + 0xff620000) ++//------------------------------------------------------------------------------ ++// VDEC2_ASSIST module level register offset ++//------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC2_ASSIST_CBUS_BASE = 0x00 ++// ----------------------------------------------- ++#define VDEC2_ASSIST_MMC_CTRL0 (0x2001) ++#define P_VDEC2_ASSIST_MMC_CTRL0 (volatile unsigned int *)((0x2001 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MMC_CTRL1 (0x2002) ++#define P_VDEC2_ASSIST_MMC_CTRL1 (volatile unsigned int *)((0x2002 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT0 (0x2025) ++#define P_VDEC2_ASSIST_AMR1_INT0 (volatile unsigned int *)((0x2025 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT1 (0x2026) ++#define P_VDEC2_ASSIST_AMR1_INT1 (volatile unsigned int *)((0x2026 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT2 (0x2027) ++#define P_VDEC2_ASSIST_AMR1_INT2 (volatile unsigned int *)((0x2027 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT3 (0x2028) ++#define P_VDEC2_ASSIST_AMR1_INT3 (volatile unsigned int *)((0x2028 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT4 (0x2029) ++#define P_VDEC2_ASSIST_AMR1_INT4 (volatile unsigned int *)((0x2029 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT5 (0x202a) ++#define P_VDEC2_ASSIST_AMR1_INT5 (volatile unsigned int *)((0x202a << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT6 (0x202b) ++#define P_VDEC2_ASSIST_AMR1_INT6 (volatile unsigned int *)((0x202b << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT7 (0x202c) ++#define P_VDEC2_ASSIST_AMR1_INT7 (volatile unsigned int *)((0x202c << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT8 (0x202d) ++#define P_VDEC2_ASSIST_AMR1_INT8 (volatile unsigned int *)((0x202d << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INT9 (0x202e) ++#define P_VDEC2_ASSIST_AMR1_INT9 (volatile unsigned int *)((0x202e << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INTA (0x202f) ++#define P_VDEC2_ASSIST_AMR1_INTA (volatile unsigned int *)((0x202f << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INTB (0x2030) ++#define P_VDEC2_ASSIST_AMR1_INTB (volatile unsigned int *)((0x2030 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INTC (0x2031) ++#define P_VDEC2_ASSIST_AMR1_INTC (volatile unsigned int *)((0x2031 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INTD (0x2032) ++#define P_VDEC2_ASSIST_AMR1_INTD (volatile unsigned int *)((0x2032 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INTE (0x2033) ++#define P_VDEC2_ASSIST_AMR1_INTE (volatile unsigned int *)((0x2033 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR1_INTF (0x2034) ++#define P_VDEC2_ASSIST_AMR1_INTF (volatile unsigned int *)((0x2034 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT0 (0x2035) ++#define P_VDEC2_ASSIST_AMR2_INT0 (volatile unsigned int *)((0x2035 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT1 (0x2036) ++#define P_VDEC2_ASSIST_AMR2_INT1 (volatile unsigned int *)((0x2036 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT2 (0x2037) ++#define P_VDEC2_ASSIST_AMR2_INT2 (volatile unsigned int *)((0x2037 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT3 (0x2038) ++#define P_VDEC2_ASSIST_AMR2_INT3 (volatile unsigned int *)((0x2038 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT4 (0x2039) ++#define P_VDEC2_ASSIST_AMR2_INT4 (volatile unsigned int *)((0x2039 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT5 (0x203a) ++#define P_VDEC2_ASSIST_AMR2_INT5 (volatile unsigned int *)((0x203a << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT6 (0x203b) ++#define P_VDEC2_ASSIST_AMR2_INT6 (volatile unsigned int *)((0x203b << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT7 (0x203c) ++#define P_VDEC2_ASSIST_AMR2_INT7 (volatile unsigned int *)((0x203c << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT8 (0x203d) ++#define P_VDEC2_ASSIST_AMR2_INT8 (volatile unsigned int *)((0x203d << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INT9 (0x203e) ++#define P_VDEC2_ASSIST_AMR2_INT9 (volatile unsigned int *)((0x203e << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INTA (0x203f) ++#define P_VDEC2_ASSIST_AMR2_INTA (volatile unsigned int *)((0x203f << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INTB (0x2040) ++#define P_VDEC2_ASSIST_AMR2_INTB (volatile unsigned int *)((0x2040 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INTC (0x2041) ++#define P_VDEC2_ASSIST_AMR2_INTC (volatile unsigned int *)((0x2041 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INTD (0x2042) ++#define P_VDEC2_ASSIST_AMR2_INTD (volatile unsigned int *)((0x2042 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INTE (0x2043) ++#define P_VDEC2_ASSIST_AMR2_INTE (volatile unsigned int *)((0x2043 << 2) + 0xff620000) ++#define VDEC2_ASSIST_AMR2_INTF (0x2044) ++#define P_VDEC2_ASSIST_AMR2_INTF (volatile unsigned int *)((0x2044 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBX_SSEL (0x2045) ++#define P_VDEC2_ASSIST_MBX_SSEL (volatile unsigned int *)((0x2045 << 2) + 0xff620000) ++#define VDEC2_ASSIST_TIMER0_LO (0x2060) ++#define P_VDEC2_ASSIST_TIMER0_LO (volatile unsigned int *)((0x2060 << 2) + 0xff620000) ++#define VDEC2_ASSIST_TIMER0_HI (0x2061) ++#define P_VDEC2_ASSIST_TIMER0_HI (volatile unsigned int *)((0x2061 << 2) + 0xff620000) ++#define VDEC2_ASSIST_TIMER1_LO (0x2062) ++#define P_VDEC2_ASSIST_TIMER1_LO (volatile unsigned int *)((0x2062 << 2) + 0xff620000) ++#define VDEC2_ASSIST_TIMER1_HI (0x2063) ++#define P_VDEC2_ASSIST_TIMER1_HI (volatile unsigned int *)((0x2063 << 2) + 0xff620000) ++#define VDEC2_ASSIST_DMA_INT (0x2064) ++#define P_VDEC2_ASSIST_DMA_INT (volatile unsigned int *)((0x2064 << 2) + 0xff620000) ++#define VDEC2_ASSIST_DMA_INT_MSK (0x2065) ++#define P_VDEC2_ASSIST_DMA_INT_MSK (volatile unsigned int *)((0x2065 << 2) + 0xff620000) ++#define VDEC2_ASSIST_DMA_INT2 (0x2066) ++#define P_VDEC2_ASSIST_DMA_INT2 (volatile unsigned int *)((0x2066 << 2) + 0xff620000) ++#define VDEC2_ASSIST_DMA_INT_MSK2 (0x2067) ++#define P_VDEC2_ASSIST_DMA_INT_MSK2 (volatile unsigned int *)((0x2067 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX0_IRQ_REG (0x2070) ++#define P_VDEC2_ASSIST_MBOX0_IRQ_REG (volatile unsigned int *)((0x2070 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX0_CLR_REG (0x2071) ++#define P_VDEC2_ASSIST_MBOX0_CLR_REG (volatile unsigned int *)((0x2071 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX0_MASK (0x2072) ++#define P_VDEC2_ASSIST_MBOX0_MASK (volatile unsigned int *)((0x2072 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX0_FIQ_SEL (0x2073) ++#define P_VDEC2_ASSIST_MBOX0_FIQ_SEL (volatile unsigned int *)((0x2073 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX1_IRQ_REG (0x2074) ++#define P_VDEC2_ASSIST_MBOX1_IRQ_REG (volatile unsigned int *)((0x2074 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX1_CLR_REG (0x2075) ++#define P_VDEC2_ASSIST_MBOX1_CLR_REG (volatile unsigned int *)((0x2075 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX1_MASK (0x2076) ++#define P_VDEC2_ASSIST_MBOX1_MASK (volatile unsigned int *)((0x2076 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX1_FIQ_SEL (0x2077) ++#define P_VDEC2_ASSIST_MBOX1_FIQ_SEL (volatile unsigned int *)((0x2077 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX2_IRQ_REG (0x2078) ++#define P_VDEC2_ASSIST_MBOX2_IRQ_REG (volatile unsigned int *)((0x2078 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX2_CLR_REG (0x2079) ++#define P_VDEC2_ASSIST_MBOX2_CLR_REG (volatile unsigned int *)((0x2079 << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX2_MASK (0x207a) ++#define P_VDEC2_ASSIST_MBOX2_MASK (volatile unsigned int *)((0x207a << 2) + 0xff620000) ++#define VDEC2_ASSIST_MBOX2_FIQ_SEL (0x207b) ++#define P_VDEC2_ASSIST_MBOX2_FIQ_SEL (volatile unsigned int *)((0x207b << 2) + 0xff620000) ++//------------------------------------------------------------------------------ ++// HCODEC_ASSIST module level register offset ++//------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_ASSIST_CBUS_BASE = 0x00 ++// ----------------------------------------------- ++#define HCODEC_ASSIST_MMC_CTRL0 (0x1001) ++#define P_HCODEC_ASSIST_MMC_CTRL0 (volatile unsigned int *)((0x1001 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MMC_CTRL1 (0x1002) ++#define P_HCODEC_ASSIST_MMC_CTRL1 (volatile unsigned int *)((0x1002 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MMC_CTRL2 (0x1003) ++#define P_HCODEC_ASSIST_MMC_CTRL2 (volatile unsigned int *)((0x1003 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MMC_CTRL3 (0x1004) ++#define P_HCODEC_ASSIST_MMC_CTRL3 (volatile unsigned int *)((0x1004 << 2) + 0xff620000) ++//cfg_soft_rst = mfdin_reg0_crst[0]; // Soft Reset ++//cfg_cg_cfe = mfdin_reg0_crst[1]; // Clock Gating Forcing Enable ++//cfg_dbuf_rst = mfdin_reg0_crst[2]; // Reset DBUF information ++#define HCODEC_MFDIN_REG0_CRST (0x1008) ++#define P_HCODEC_MFDIN_REG0_CRST (volatile unsigned int *)((0x1008 << 2) + 0xff620000) ++//cfg_iformat = mfdin_reg1_ctrl[3:0]; // Data In Format: 0 :CANVAS 422 YCbCr<-one canvas, ++ // 1 :CANVAS 444 YCbCr(or RGB)<-one canvas, ++ // 2 :CANVAS 420 Y<-one CrCb<-one (NV21) ++ // 3 :CANVAS 420 Y<-one CbCr<-one (NV12) ++ // 4 :CANVAS 420 Y<-one Cb<-one Cr<-one ++ // 5 :CANVAS 444 Y<-one Cb<-one Cr<-one ++ // 6 : Reserved for other canvas mode ++ // 7 : should combine with cfg_ifmt_extra, for 10-12bits ++ // 8 :LINEAR RGB888 (24bit) ++ // 9 :LINEAR RGB565 (16bit) ++ // 10:LINEAR YUV422 ++ // 11:LINEAR YUV420 (Note:Legacy mode not supported) ++ // 12~15: Reserved for other linear mode ++//cfg_oformat = mfdin_reg1_ctrl[5:4]; // Data Out Format: 0:420 1:422 2:444 3:reserved ++//cfg_dsample_enable= mfdin_reg1_ctrl[6]; // Downsample Enable ++//cfg_dsample_trunc = mfdin_reg1_ctrl[7]; // Downsample Addition Option: 0:Round 1:Truncated ++//cfg_block_ysize = mfdin_reg1_ctrl[8]; // 0:block-y-size=16, 1:block-y-size=8(for JPEG's efficiency) ++//cfg_interp_enable = mfdin_reg1_ctrl[9]; // Chroma Interpolation Enable ++//cfg_interp_mode = mfdin_reg1_ctrl[11:10];// 0:average round 1:average truncated 2:repeat left 3:repeat right ++//cfg_r2y_enable = mfdin_reg1_ctrl[12]; // RGb->YUV Enable ++//cfg_r2y_mode = mfdin_reg1_ctrl[14:13];// RGb->YUV Mode ++//cfg_rgb565_mode = mfdin_reg1_ctrl[15]; // RGB565 mode: 0:fill zero in tail 1:fill zero in head ++//cfg_ifmt_extra = mfdin_reg1_ctrl[17:16];// when cfg_iformat==7, ++ // 0: CANVAS 12bit 422, YCbCr<-one canvas{...Y1[11:0],C1[11:0],Y0[11:0],C0[11:0]} ++ // 1: CANVAS 10bit 444, YCbCr<-one canvas{...2'b0,Y0[9:0],U0[9:0],V0[9:0]} ++ // 2: CANVAS 10bit 422, YCbCr<-one canvas{...Y1[9:0],C1[9:0],Y0[9:0],C0[9:0]} ++//cfg_reserved1 = mfdin_reg1_ctrl[18]; // Reserved ++//cfg_nr_enable = mfdin_reg1_ctrl[19]; // Noise Reduction Enable ++//cfg_outofpic = mfdin_reg1_ctrl[28:20];// Out Of Picture Control: [8]mode:0:extend 1:fixed, [7:0]fixed value ++//cfg_rd_blktype = mfdin_reg1_ctrl[30:29];// Block Type: 0:H264_I_PIC_ALL_4x4, 1:H264_P_PIC_Y_16x16_C_8x8, 2:JPEG_ALL_8x8, 3:Reserved ++//cfg_rd_nonycintl = mfdin_reg1_ctrl[31]; // 0:YC interleaved 1:YC non-interleaved(for JPEG) ++#define HCODEC_MFDIN_REG1_CTRL (0x1009) ++#define P_HCODEC_MFDIN_REG1_CTRL (volatile unsigned int *)((0x1009 << 2) + 0xff620000) ++//mfdin_reg2: DEBUG Only Status ++#define HCODEC_MFDIN_REG2_STAT (0x100a) ++#define P_HCODEC_MFDIN_REG2_STAT (volatile unsigned int *)((0x100a << 2) + 0xff620000) ++//cfg_canvas_index0 = mfdin_reg3_canv[7:0]; //canvas index 0 ++//cfg_canvas_index1 = mfdin_reg3_canv[15:8]; //canvas index 1 ++//cfg_canvas_index2 = mfdin_reg3_canv[23:16];//canvas index 2 ++//cfg_canv_idx0_bppx = mfdin_reg3_canv[25:24];//canvas bytes per pixel in x direction for index0, 0:half 1:1 2:2 3:3 ++//cfg_canv_idx1_bppx = mfdin_reg3_canv[27:26];//canvas bytes per pixel in x direction for index1, 0:half 1:1 2:2 3:3 ++//cfg_canv_idx0_bppy = mfdin_reg3_canv[29:28];//canvas bytes per pixel in y direction for index0, 0:half 1:1 2:2 3:3 ++//cfg_canv_idx1_bppy = mfdin_reg3_canv[31:30];//canvas bytes per pixel in y direction for index1, 0:half 1:1 2:2 3:3 ++#define HCODEC_MFDIN_REG3_CANV (0x100b) ++#define P_HCODEC_MFDIN_REG3_CANV (volatile unsigned int *)((0x100b << 2) + 0xff620000) ++//cfg_bytes_per_line = mfdin_reg4_lnr0[15:0]; //linear Bytes per line ++//cfg_linear_bytes4p = mfdin_reg4_lnr0[17:16]; //linear (Bytes per pixel) - 1 ++//cfg_linear_dbl2line = mfdin_reg4_lnr0[18]; //linear double size for odd line ++#define HCODEC_MFDIN_REG4_LNR0 (0x100c) ++#define P_HCODEC_MFDIN_REG4_LNR0 (volatile unsigned int *)((0x100c << 2) + 0xff620000) ++//cfg_base_address = mfdin_reg5_lnr1[31:0]; //linear base address ++#define HCODEC_MFDIN_REG5_LNR1 (0x100d) ++#define P_HCODEC_MFDIN_REG5_LNR1 (volatile unsigned int *)((0x100d << 2) + 0xff620000) ++//assign cfg_r2y_trunc = mfdin_reg6_dcfg[9]; //RGb->YUV Addition Option: 0:Round 1:Truncated ++//assign cfg_dma_ugt = mfdin_reg6_dcfg[8]; //DMA Urgent ++//assign cfg_dma_thread_id = mfdin_reg6_dcfg[7:6]; //DMA Thread ID ++//assign cfg_dma_burst_num = mfdin_reg6_dcfg[5:0]; //DMA Burst Number ++#define HCODEC_MFDIN_REG6_DCFG (0x100e) ++#define P_HCODEC_MFDIN_REG6_DCFG (volatile unsigned int *)((0x100e << 2) + 0xff620000) ++//cfg_soft_cmd = mfdin_reg7_scmd; // Soft Command [28]selfcleared start,[27:14]dmb_x,[13:0]dmb_y ++#define HCODEC_MFDIN_REG7_SCMD (0x100f) ++#define P_HCODEC_MFDIN_REG7_SCMD (volatile unsigned int *)((0x100f << 2) + 0xff620000) ++//cfg_pic_xsize = mfdin_reg8_dmbl[23:12]; //pixel (x,y) at the begining of last dmb in the picturem, picture x size ++//cfg_pic_ysize = mfdin_reg8_dmbl[11:0]; //picture y size ++#define HCODEC_MFDIN_REG8_DMBL (0x1010) ++#define P_HCODEC_MFDIN_REG8_DMBL (volatile unsigned int *)((0x1010 << 2) + 0xff620000) ++//cfg_endian = mfdin_reg9_endn; //Endian Control ++#define HCODEC_MFDIN_REG9_ENDN (0x1011) ++#define P_HCODEC_MFDIN_REG9_ENDN (volatile unsigned int *)((0x1011 << 2) + 0xff620000) ++//cfg_canv_biasx = mfdin_rega_cav1[23:12]; //canvas bias address x ++//cfg_canv_biasy = mfdin_rega_cav1[11:0]; //canvas bias address y ++#define HCODEC_MFDIN_REGA_CAV1 (0x1012) ++#define P_HCODEC_MFDIN_REGA_CAV1 (volatile unsigned int *)((0x1012 << 2) + 0xff620000) ++//cfg_amp_en = mfdin_regb_ampc[24]; //Amplitude Enable ++//cfg_amp_cy = mfdin_regb_ampc[23:16]; //Amplitude Coeff Y ++//cfg_amp_cu = mfdin_regb_ampc[15:8]; //Amplitude Coeff U ++//cfg_amp_cv = mfdin_regb_ampc[7:0]; //Amplitude Coeff V ++#define HCODEC_MFDIN_REGB_AMPC (0x1013) ++#define P_HCODEC_MFDIN_REGB_AMPC (volatile unsigned int *)((0x1013 << 2) + 0xff620000) ++//cfg_mb_end = mfdin_regc_mblp; // Soft Command [28]mb end enable,[27:14]dmb_x,[13:0]dmb_y ++#define HCODEC_MFDIN_REGC_MBLP (0x1014) ++#define P_HCODEC_MFDIN_REGC_MBLP (volatile unsigned int *)((0x1014 << 2) + 0xff620000) ++// cfg_y_snr_en = mfdin_reg0d[0]; ++// cfg_y_snr_err_norm = mfdin_reg0d[1]; ++// [3:0] cfg_y_snr_gau_bld_core = mfdin_reg0d[5:2]; ++// [7:0] cfg_y_snr_gau_bld_ofst = mfdin_reg0d[13:6]; ++// [5:0] cfg_y_snr_gau_bld_rate = mfdin_reg0d[19:14]; ++// [5:0] cfg_y_snr_gau_alp0_min = mfdin_reg0d[25:20]; ++// [5:0] cfg_y_snr_gau_alp0_max = mfdin_reg0d[31:26]; ++#define HCODEC_MFDIN_REG0D (0x1015) ++#define P_HCODEC_MFDIN_REG0D (volatile unsigned int *)((0x1015 << 2) + 0xff620000) ++// cfg_y_tnr_en = mfdin_reg0e[0]; ++// cfg_y_tnr_mc_en = mfdin_reg0e[1]; ++// cfg_y_tnr_txt_mode = mfdin_reg0e[2]; ++// [3:0] cfg_y_tnr_mot_sad_margin = mfdin_reg0e[6:3]; ++// [5:0] cfg_y_tnr_alpha_min = mfdin_reg0e[12:7]; ++// [5:0] cfg_y_tnr_alpha_max = mfdin_reg0e[18:13]; ++// [5:0] cfg_y_tnr_deghost_os = mfdin_reg0e[24:19]; ++#define HCODEC_MFDIN_REG0E (0x1016) ++#define P_HCODEC_MFDIN_REG0E (volatile unsigned int *)((0x1016 << 2) + 0xff620000) ++// [3:0] cfg_y_tnr_mot_cortxt_rate = mfdin_reg0f[3:0]; ++// [7:0] cfg_y_tnr_mot_distxt_ofst = mfdin_reg0f[15:8]; ++// [3:0] cfg_y_tnr_mot_distxt_rate = mfdin_reg0f[7:4]; ++// [7:0] cfg_y_tnr_mot_dismot_ofst = mfdin_reg0f[23:16]; ++// [7:0] cfg_y_tnr_mot_frcsad_lock = mfdin_reg0f[31:24]; ++#define HCODEC_MFDIN_REG0F (0x1017) ++#define P_HCODEC_MFDIN_REG0F (volatile unsigned int *)((0x1017 << 2) + 0xff620000) ++// [7:0] cfg_y_tnr_mot2alp_frc_gain = mfdin_reg10[7:0]; ++// [7:0] cfg_y_tnr_mot2alp_nrm_gain = mfdin_reg10[15:8]; ++// [7:0] cfg_y_tnr_mot2alp_dis_gain = mfdin_reg10[23:16]; ++// [5:0] cfg_y_tnr_mot2alp_dis_ofst = mfdin_reg10[29:24]; ++#define HCODEC_MFDIN_REG10 (0x1018) ++#define P_HCODEC_MFDIN_REG10 (volatile unsigned int *)((0x1018 << 2) + 0xff620000) ++// [7:0] cfg_y_bld_beta2alp_rate = mfdin_reg11[7:0]; ++// [5:0] cfg_y_bld_beta_min = mfdin_reg11[13:8]; ++// [5:0] cfg_y_bld_beta_max = mfdin_reg11[19:14]; ++#define HCODEC_MFDIN_REG11 (0x1019) ++#define P_HCODEC_MFDIN_REG11 (volatile unsigned int *)((0x1019 << 2) + 0xff620000) ++// REG12~16 for Chroma, same as Luma ++#define HCODEC_MFDIN_REG12 (0x101a) ++#define P_HCODEC_MFDIN_REG12 (volatile unsigned int *)((0x101a << 2) + 0xff620000) ++#define HCODEC_MFDIN_REG13 (0x101b) ++#define P_HCODEC_MFDIN_REG13 (volatile unsigned int *)((0x101b << 2) + 0xff620000) ++#define HCODEC_MFDIN_REG14 (0x101c) ++#define P_HCODEC_MFDIN_REG14 (volatile unsigned int *)((0x101c << 2) + 0xff620000) ++#define HCODEC_MFDIN_REG15 (0x101d) ++#define P_HCODEC_MFDIN_REG15 (volatile unsigned int *)((0x101d << 2) + 0xff620000) ++#define HCODEC_MFDIN_REG16 (0x101e) ++#define P_HCODEC_MFDIN_REG16 (volatile unsigned int *)((0x101e << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT0 (0x1025) ++#define P_HCODEC_ASSIST_AMR1_INT0 (volatile unsigned int *)((0x1025 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT1 (0x1026) ++#define P_HCODEC_ASSIST_AMR1_INT1 (volatile unsigned int *)((0x1026 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT2 (0x1027) ++#define P_HCODEC_ASSIST_AMR1_INT2 (volatile unsigned int *)((0x1027 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT3 (0x1028) ++#define P_HCODEC_ASSIST_AMR1_INT3 (volatile unsigned int *)((0x1028 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT4 (0x1029) ++#define P_HCODEC_ASSIST_AMR1_INT4 (volatile unsigned int *)((0x1029 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT5 (0x102a) ++#define P_HCODEC_ASSIST_AMR1_INT5 (volatile unsigned int *)((0x102a << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT6 (0x102b) ++#define P_HCODEC_ASSIST_AMR1_INT6 (volatile unsigned int *)((0x102b << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT7 (0x102c) ++#define P_HCODEC_ASSIST_AMR1_INT7 (volatile unsigned int *)((0x102c << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT8 (0x102d) ++#define P_HCODEC_ASSIST_AMR1_INT8 (volatile unsigned int *)((0x102d << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INT9 (0x102e) ++#define P_HCODEC_ASSIST_AMR1_INT9 (volatile unsigned int *)((0x102e << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INTA (0x102f) ++#define P_HCODEC_ASSIST_AMR1_INTA (volatile unsigned int *)((0x102f << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INTB (0x1030) ++#define P_HCODEC_ASSIST_AMR1_INTB (volatile unsigned int *)((0x1030 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INTC (0x1031) ++#define P_HCODEC_ASSIST_AMR1_INTC (volatile unsigned int *)((0x1031 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INTD (0x1032) ++#define P_HCODEC_ASSIST_AMR1_INTD (volatile unsigned int *)((0x1032 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INTE (0x1033) ++#define P_HCODEC_ASSIST_AMR1_INTE (volatile unsigned int *)((0x1033 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR1_INTF (0x1034) ++#define P_HCODEC_ASSIST_AMR1_INTF (volatile unsigned int *)((0x1034 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT0 (0x1035) ++#define P_HCODEC_ASSIST_AMR2_INT0 (volatile unsigned int *)((0x1035 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT1 (0x1036) ++#define P_HCODEC_ASSIST_AMR2_INT1 (volatile unsigned int *)((0x1036 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT2 (0x1037) ++#define P_HCODEC_ASSIST_AMR2_INT2 (volatile unsigned int *)((0x1037 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT3 (0x1038) ++#define P_HCODEC_ASSIST_AMR2_INT3 (volatile unsigned int *)((0x1038 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT4 (0x1039) ++#define P_HCODEC_ASSIST_AMR2_INT4 (volatile unsigned int *)((0x1039 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT5 (0x103a) ++#define P_HCODEC_ASSIST_AMR2_INT5 (volatile unsigned int *)((0x103a << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT6 (0x103b) ++#define P_HCODEC_ASSIST_AMR2_INT6 (volatile unsigned int *)((0x103b << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT7 (0x103c) ++#define P_HCODEC_ASSIST_AMR2_INT7 (volatile unsigned int *)((0x103c << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT8 (0x103d) ++#define P_HCODEC_ASSIST_AMR2_INT8 (volatile unsigned int *)((0x103d << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INT9 (0x103e) ++#define P_HCODEC_ASSIST_AMR2_INT9 (volatile unsigned int *)((0x103e << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INTA (0x103f) ++#define P_HCODEC_ASSIST_AMR2_INTA (volatile unsigned int *)((0x103f << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INTB (0x1040) ++#define P_HCODEC_ASSIST_AMR2_INTB (volatile unsigned int *)((0x1040 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INTC (0x1041) ++#define P_HCODEC_ASSIST_AMR2_INTC (volatile unsigned int *)((0x1041 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INTD (0x1042) ++#define P_HCODEC_ASSIST_AMR2_INTD (volatile unsigned int *)((0x1042 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INTE (0x1043) ++#define P_HCODEC_ASSIST_AMR2_INTE (volatile unsigned int *)((0x1043 << 2) + 0xff620000) ++#define HCODEC_ASSIST_AMR2_INTF (0x1044) ++#define P_HCODEC_ASSIST_AMR2_INTF (volatile unsigned int *)((0x1044 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBX_SSEL (0x1045) ++#define P_HCODEC_ASSIST_MBX_SSEL (volatile unsigned int *)((0x1045 << 2) + 0xff620000) ++#define HCODEC_ASSIST_TIMER0_LO (0x1060) ++#define P_HCODEC_ASSIST_TIMER0_LO (volatile unsigned int *)((0x1060 << 2) + 0xff620000) ++#define HCODEC_ASSIST_TIMER0_HI (0x1061) ++#define P_HCODEC_ASSIST_TIMER0_HI (volatile unsigned int *)((0x1061 << 2) + 0xff620000) ++#define HCODEC_ASSIST_TIMER1_LO (0x1062) ++#define P_HCODEC_ASSIST_TIMER1_LO (volatile unsigned int *)((0x1062 << 2) + 0xff620000) ++#define HCODEC_ASSIST_TIMER1_HI (0x1063) ++#define P_HCODEC_ASSIST_TIMER1_HI (volatile unsigned int *)((0x1063 << 2) + 0xff620000) ++#define HCODEC_ASSIST_DMA_INT (0x1064) ++#define P_HCODEC_ASSIST_DMA_INT (volatile unsigned int *)((0x1064 << 2) + 0xff620000) ++#define HCODEC_ASSIST_DMA_INT_MSK (0x1065) ++#define P_HCODEC_ASSIST_DMA_INT_MSK (volatile unsigned int *)((0x1065 << 2) + 0xff620000) ++#define HCODEC_ASSIST_DMA_INT2 (0x1066) ++#define P_HCODEC_ASSIST_DMA_INT2 (volatile unsigned int *)((0x1066 << 2) + 0xff620000) ++#define HCODEC_ASSIST_DMA_INT_MSK2 (0x1067) ++#define P_HCODEC_ASSIST_DMA_INT_MSK2 (volatile unsigned int *)((0x1067 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX0_IRQ_REG (0x1070) ++#define P_HCODEC_ASSIST_MBOX0_IRQ_REG (volatile unsigned int *)((0x1070 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX0_CLR_REG (0x1071) ++#define P_HCODEC_ASSIST_MBOX0_CLR_REG (volatile unsigned int *)((0x1071 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX0_MASK (0x1072) ++#define P_HCODEC_ASSIST_MBOX0_MASK (volatile unsigned int *)((0x1072 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX0_FIQ_SEL (0x1073) ++#define P_HCODEC_ASSIST_MBOX0_FIQ_SEL (volatile unsigned int *)((0x1073 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX1_IRQ_REG (0x1074) ++#define P_HCODEC_ASSIST_MBOX1_IRQ_REG (volatile unsigned int *)((0x1074 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX1_CLR_REG (0x1075) ++#define P_HCODEC_ASSIST_MBOX1_CLR_REG (volatile unsigned int *)((0x1075 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX1_MASK (0x1076) ++#define P_HCODEC_ASSIST_MBOX1_MASK (volatile unsigned int *)((0x1076 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX1_FIQ_SEL (0x1077) ++#define P_HCODEC_ASSIST_MBOX1_FIQ_SEL (volatile unsigned int *)((0x1077 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX2_IRQ_REG (0x1078) ++#define P_HCODEC_ASSIST_MBOX2_IRQ_REG (volatile unsigned int *)((0x1078 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX2_CLR_REG (0x1079) ++#define P_HCODEC_ASSIST_MBOX2_CLR_REG (volatile unsigned int *)((0x1079 << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX2_MASK (0x107a) ++#define P_HCODEC_ASSIST_MBOX2_MASK (volatile unsigned int *)((0x107a << 2) + 0xff620000) ++#define HCODEC_ASSIST_MBOX2_FIQ_SEL (0x107b) ++#define P_HCODEC_ASSIST_MBOX2_FIQ_SEL (volatile unsigned int *)((0x107b << 2) + 0xff620000) ++//------------------------------------------------------------------------------ ++// MDEC module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: mdec_regs.h ++// ++//======================================================================== ++// MDEC module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_MDEC_CBUS_BASE = 0x09 ++// ----------------------------------------------- ++#define MC_CTRL_REG (0x0900) ++#define P_MC_CTRL_REG (volatile unsigned int *)((0x0900 << 2) + 0xff620000) ++#define MC_MB_INFO (0x0901) ++#define P_MC_MB_INFO (volatile unsigned int *)((0x0901 << 2) + 0xff620000) ++#define MC_PIC_INFO (0x0902) ++#define P_MC_PIC_INFO (volatile unsigned int *)((0x0902 << 2) + 0xff620000) ++#define MC_HALF_PEL_ONE (0x0903) ++#define P_MC_HALF_PEL_ONE (volatile unsigned int *)((0x0903 << 2) + 0xff620000) ++#define MC_HALF_PEL_TWO (0x0904) ++#define P_MC_HALF_PEL_TWO (volatile unsigned int *)((0x0904 << 2) + 0xff620000) ++#define POWER_CTL_MC (0x0905) ++#define P_POWER_CTL_MC (volatile unsigned int *)((0x0905 << 2) + 0xff620000) ++#define MC_CMD (0x0906) ++#define P_MC_CMD (volatile unsigned int *)((0x0906 << 2) + 0xff620000) ++#define MC_CTRL0 (0x0907) ++#define P_MC_CTRL0 (volatile unsigned int *)((0x0907 << 2) + 0xff620000) ++#define MC_PIC_W_H (0x0908) ++#define P_MC_PIC_W_H (volatile unsigned int *)((0x0908 << 2) + 0xff620000) ++#define MC_STATUS0 (0x0909) ++#define P_MC_STATUS0 (volatile unsigned int *)((0x0909 << 2) + 0xff620000) ++#define MC_STATUS1 (0x090a) ++#define P_MC_STATUS1 (volatile unsigned int *)((0x090a << 2) + 0xff620000) ++#define MC_CTRL1 (0x090b) ++#define P_MC_CTRL1 (volatile unsigned int *)((0x090b << 2) + 0xff620000) ++#define MC_MIX_RATIO0 (0x090c) ++#define P_MC_MIX_RATIO0 (volatile unsigned int *)((0x090c << 2) + 0xff620000) ++#define MC_MIX_RATIO1 (0x090d) ++#define P_MC_MIX_RATIO1 (volatile unsigned int *)((0x090d << 2) + 0xff620000) ++#define MC_DP_MB_XY (0x090e) ++#define P_MC_DP_MB_XY (volatile unsigned int *)((0x090e << 2) + 0xff620000) ++#define MC_OM_MB_XY (0x090f) ++#define P_MC_OM_MB_XY (volatile unsigned int *)((0x090f << 2) + 0xff620000) ++#define PSCALE_RST (0x0910) ++#define P_PSCALE_RST (volatile unsigned int *)((0x0910 << 2) + 0xff620000) ++#define PSCALE_CTRL (0x0911) ++#define P_PSCALE_CTRL (volatile unsigned int *)((0x0911 << 2) + 0xff620000) ++#define PSCALE_PICI_W (0x0912) ++#define P_PSCALE_PICI_W (volatile unsigned int *)((0x0912 << 2) + 0xff620000) ++#define PSCALE_PICI_H (0x0913) ++#define P_PSCALE_PICI_H (volatile unsigned int *)((0x0913 << 2) + 0xff620000) ++#define PSCALE_PICO_W (0x0914) ++#define P_PSCALE_PICO_W (volatile unsigned int *)((0x0914 << 2) + 0xff620000) ++#define PSCALE_PICO_H (0x0915) ++#define P_PSCALE_PICO_H (volatile unsigned int *)((0x0915 << 2) + 0xff620000) ++#define PSCALE_PICO_START_X (0x0916) ++#define P_PSCALE_PICO_START_X (volatile unsigned int *)((0x0916 << 2) + 0xff620000) ++#define PSCALE_PICO_START_Y (0x0917) ++#define P_PSCALE_PICO_START_Y (volatile unsigned int *)((0x0917 << 2) + 0xff620000) ++#define PSCALE_DUMMY (0x0918) ++#define P_PSCALE_DUMMY (volatile unsigned int *)((0x0918 << 2) + 0xff620000) ++#define PSCALE_FILT0_COEF0 (0x0919) ++#define P_PSCALE_FILT0_COEF0 (volatile unsigned int *)((0x0919 << 2) + 0xff620000) ++#define PSCALE_FILT0_COEF1 (0x091a) ++#define P_PSCALE_FILT0_COEF1 (volatile unsigned int *)((0x091a << 2) + 0xff620000) ++#define PSCALE_CMD_CTRL (0x091b) ++#define P_PSCALE_CMD_CTRL (volatile unsigned int *)((0x091b << 2) + 0xff620000) ++#define PSCALE_CMD_BLK_X (0x091c) ++#define P_PSCALE_CMD_BLK_X (volatile unsigned int *)((0x091c << 2) + 0xff620000) ++#define PSCALE_CMD_BLK_Y (0x091d) ++#define P_PSCALE_CMD_BLK_Y (volatile unsigned int *)((0x091d << 2) + 0xff620000) ++#define PSCALE_STATUS (0x091e) ++#define P_PSCALE_STATUS (volatile unsigned int *)((0x091e << 2) + 0xff620000) ++#define PSCALE_BMEM_ADDR (0x091f) ++#define P_PSCALE_BMEM_ADDR (volatile unsigned int *)((0x091f << 2) + 0xff620000) ++#define PSCALE_BMEM_DAT (0x0920) ++#define P_PSCALE_BMEM_DAT (volatile unsigned int *)((0x0920 << 2) + 0xff620000) ++#define PSCALE_DRAM_BUF_CTRL (0x0921) ++#define P_PSCALE_DRAM_BUF_CTRL (volatile unsigned int *)((0x0921 << 2) + 0xff620000) ++#define PSCALE_MCMD_CTRL (0x0922) ++#define P_PSCALE_MCMD_CTRL (volatile unsigned int *)((0x0922 << 2) + 0xff620000) ++#define PSCALE_MCMD_XSIZE (0x0923) ++#define P_PSCALE_MCMD_XSIZE (volatile unsigned int *)((0x0923 << 2) + 0xff620000) ++#define PSCALE_MCMD_YSIZE (0x0924) ++#define P_PSCALE_MCMD_YSIZE (volatile unsigned int *)((0x0924 << 2) + 0xff620000) ++#define PSCALE_RBUF_START_BLKX (0x0925) ++#define P_PSCALE_RBUF_START_BLKX (volatile unsigned int *)((0x0925 << 2) + 0xff620000) ++#define PSCALE_RBUF_START_BLKY (0x0926) ++#define P_PSCALE_RBUF_START_BLKY (volatile unsigned int *)((0x0926 << 2) + 0xff620000) ++//`define PSCALE_RBUF_MB_WIDTH 8'h27 ++#define PSCALE_PICO_SHIFT_XY (0x0928) ++#define P_PSCALE_PICO_SHIFT_XY (volatile unsigned int *)((0x0928 << 2) + 0xff620000) ++#define PSCALE_CTRL1 (0x0929) ++#define P_PSCALE_CTRL1 (volatile unsigned int *)((0x0929 << 2) + 0xff620000) ++//Bit 15, wmask enable ++//Bit 14:13, filt0 srckey_less, ++//Bit 12:11, filt1 srckey_less, in the case of the interpolated data is equal distance to ++//key data and normal data, 00: select normal data, 01: select right data, 10: select key data ++//Bit 10:9, srckey mode, 00: equal, 01: less than or equal, 10: great than or equal ++//Bit 8, src key enable ++//Bit 7:0, y src key ++#define PSCALE_SRCKEY_CTRL0 (0x092a) ++#define P_PSCALE_SRCKEY_CTRL0 (volatile unsigned int *)((0x092a << 2) + 0xff620000) ++//Bit 15:8, cb src key ++//Bit 7:0, cr src key ++#define PSCALE_SRCKEY_CTRL1 (0x092b) ++#define P_PSCALE_SRCKEY_CTRL1 (volatile unsigned int *)((0x092b << 2) + 0xff620000) ++//Bit 22:16 canvas_rd_addr2 ++//Bit 14:8 canvas_rd_addr1 ++//Bit 6:0 canvas_rd_addr1 ++#define PSCALE_CANVAS_RD_ADDR (0x092c) ++#define P_PSCALE_CANVAS_RD_ADDR (volatile unsigned int *)((0x092c << 2) + 0xff620000) ++//Bit 22:16 canvas_wr_addr2 ++//Bit 14:8 canvas_wr_addr1 ++//Bit 6:0 canvas_wr_addr1 ++#define PSCALE_CANVAS_WR_ADDR (0x092d) ++#define P_PSCALE_CANVAS_WR_ADDR (volatile unsigned int *)((0x092d << 2) + 0xff620000) ++//bit 13:8 pscale thread ID and token ++//bit 7 disable write response count adding to busy bit ++//bit 5:0 pscale prearbitor burst num ++#define PSCALE_CTRL2 (0x092e) ++#define P_PSCALE_CTRL2 (volatile unsigned int *)((0x092e << 2) + 0xff620000) ++// 31 - use_omem_mb_xy_auto ++//23:16 - omem_max_mb_x ++//15:8 - omem_mb_y_auto ++// 7:0 - omem_mb_x_auto ++#define HDEC_MC_OMEM_AUTO (0x0930) ++#define P_HDEC_MC_OMEM_AUTO (volatile unsigned int *)((0x0930 << 2) + 0xff620000) ++#define HDEC_MC_MBRIGHT_IDX (0x0931) ++#define P_HDEC_MC_MBRIGHT_IDX (volatile unsigned int *)((0x0931 << 2) + 0xff620000) ++#define HDEC_MC_MBRIGHT_RD (0x0932) ++#define P_HDEC_MC_MBRIGHT_RD (volatile unsigned int *)((0x0932 << 2) + 0xff620000) ++#define MC_MPORT_CTRL (0x0940) ++#define P_MC_MPORT_CTRL (volatile unsigned int *)((0x0940 << 2) + 0xff620000) ++#define MC_MPORT_DAT (0x0941) ++#define P_MC_MPORT_DAT (volatile unsigned int *)((0x0941 << 2) + 0xff620000) ++#define MC_WT_PRED_CTRL (0x0942) ++#define P_MC_WT_PRED_CTRL (volatile unsigned int *)((0x0942 << 2) + 0xff620000) ++#define MC_MBBOT_ST_EVEN_ADDR (0x0944) ++#define P_MC_MBBOT_ST_EVEN_ADDR (volatile unsigned int *)((0x0944 << 2) + 0xff620000) ++#define MC_MBBOT_ST_ODD_ADDR (0x0945) ++#define P_MC_MBBOT_ST_ODD_ADDR (volatile unsigned int *)((0x0945 << 2) + 0xff620000) ++#define MC_DPDN_MB_XY (0x0946) ++#define P_MC_DPDN_MB_XY (volatile unsigned int *)((0x0946 << 2) + 0xff620000) ++#define MC_OMDN_MB_XY (0x0947) ++#define P_MC_OMDN_MB_XY (volatile unsigned int *)((0x0947 << 2) + 0xff620000) ++#define MC_HCMDBUF_H (0x0948) ++#define P_MC_HCMDBUF_H (volatile unsigned int *)((0x0948 << 2) + 0xff620000) ++#define MC_HCMDBUF_L (0x0949) ++#define P_MC_HCMDBUF_L (volatile unsigned int *)((0x0949 << 2) + 0xff620000) ++#define MC_HCMD_H (0x094a) ++#define P_MC_HCMD_H (volatile unsigned int *)((0x094a << 2) + 0xff620000) ++#define MC_HCMD_L (0x094b) ++#define P_MC_HCMD_L (volatile unsigned int *)((0x094b << 2) + 0xff620000) ++#define MC_IDCT_DAT (0x094c) ++#define P_MC_IDCT_DAT (volatile unsigned int *)((0x094c << 2) + 0xff620000) ++#define MC_CTRL_GCLK_CTRL (0x094d) ++#define P_MC_CTRL_GCLK_CTRL (volatile unsigned int *)((0x094d << 2) + 0xff620000) ++#define MC_OTHER_GCLK_CTRL (0x094e) ++#define P_MC_OTHER_GCLK_CTRL (volatile unsigned int *)((0x094e << 2) + 0xff620000) ++//Bit 29:24, mbbot thread ID and token ++//Bit 21:16, mc read/write thread ID and token ++//Bit 13:8, mbbot pre-arbitor burst number ++//Bit 5:0, mc pre-arbitor burst number ++#define MC_CTRL2 (0x094f) ++#define P_MC_CTRL2 (volatile unsigned int *)((0x094f << 2) + 0xff620000) ++// `define DBLK_QUANT 8'h76 // ONLY for $ucode/real/amrisc/rv.s, reg value from apollo ++//`define ANC1_CANVAS_ADDR 8'h80 ++//`define ANC2_CANVAS_ADDR 8'h81 ++//`define REC_CANVAS_ADDR 8'h89 ++//`define MDEC_PIC_W 8'h8c ++//`define MDEC_PIC_H 8'h8d ++// mdec_pic_dc_mux_ctrl[31] -- mcr_hevc_mode ++#define MDEC_PIC_DC_MUX_CTRL (0x098d) ++#define P_MDEC_PIC_DC_MUX_CTRL (volatile unsigned int *)((0x098d << 2) + 0xff620000) ++#define MDEC_PIC_DC_CTRL (0x098e) ++#define P_MDEC_PIC_DC_CTRL (volatile unsigned int *)((0x098e << 2) + 0xff620000) ++#define MDEC_PIC_DC_STATUS (0x098f) ++#define P_MDEC_PIC_DC_STATUS (volatile unsigned int *)((0x098f << 2) + 0xff620000) ++#define ANC0_CANVAS_ADDR (0x0990) ++#define P_ANC0_CANVAS_ADDR (volatile unsigned int *)((0x0990 << 2) + 0xff620000) ++#define ANC1_CANVAS_ADDR (0x0991) ++#define P_ANC1_CANVAS_ADDR (volatile unsigned int *)((0x0991 << 2) + 0xff620000) ++#define ANC2_CANVAS_ADDR (0x0992) ++#define P_ANC2_CANVAS_ADDR (volatile unsigned int *)((0x0992 << 2) + 0xff620000) ++#define ANC3_CANVAS_ADDR (0x0993) ++#define P_ANC3_CANVAS_ADDR (volatile unsigned int *)((0x0993 << 2) + 0xff620000) ++#define ANC4_CANVAS_ADDR (0x0994) ++#define P_ANC4_CANVAS_ADDR (volatile unsigned int *)((0x0994 << 2) + 0xff620000) ++#define ANC5_CANVAS_ADDR (0x0995) ++#define P_ANC5_CANVAS_ADDR (volatile unsigned int *)((0x0995 << 2) + 0xff620000) ++#define ANC6_CANVAS_ADDR (0x0996) ++#define P_ANC6_CANVAS_ADDR (volatile unsigned int *)((0x0996 << 2) + 0xff620000) ++#define ANC7_CANVAS_ADDR (0x0997) ++#define P_ANC7_CANVAS_ADDR (volatile unsigned int *)((0x0997 << 2) + 0xff620000) ++#define ANC8_CANVAS_ADDR (0x0998) ++#define P_ANC8_CANVAS_ADDR (volatile unsigned int *)((0x0998 << 2) + 0xff620000) ++#define ANC9_CANVAS_ADDR (0x0999) ++#define P_ANC9_CANVAS_ADDR (volatile unsigned int *)((0x0999 << 2) + 0xff620000) ++#define ANC10_CANVAS_ADDR (0x099a) ++#define P_ANC10_CANVAS_ADDR (volatile unsigned int *)((0x099a << 2) + 0xff620000) ++#define ANC11_CANVAS_ADDR (0x099b) ++#define P_ANC11_CANVAS_ADDR (volatile unsigned int *)((0x099b << 2) + 0xff620000) ++#define ANC12_CANVAS_ADDR (0x099c) ++#define P_ANC12_CANVAS_ADDR (volatile unsigned int *)((0x099c << 2) + 0xff620000) ++#define ANC13_CANVAS_ADDR (0x099d) ++#define P_ANC13_CANVAS_ADDR (volatile unsigned int *)((0x099d << 2) + 0xff620000) ++#define ANC14_CANVAS_ADDR (0x099e) ++#define P_ANC14_CANVAS_ADDR (volatile unsigned int *)((0x099e << 2) + 0xff620000) ++#define ANC15_CANVAS_ADDR (0x099f) ++#define P_ANC15_CANVAS_ADDR (volatile unsigned int *)((0x099f << 2) + 0xff620000) ++#define ANC16_CANVAS_ADDR (0x09a0) ++#define P_ANC16_CANVAS_ADDR (volatile unsigned int *)((0x09a0 << 2) + 0xff620000) ++#define ANC17_CANVAS_ADDR (0x09a1) ++#define P_ANC17_CANVAS_ADDR (volatile unsigned int *)((0x09a1 << 2) + 0xff620000) ++#define ANC18_CANVAS_ADDR (0x09a2) ++#define P_ANC18_CANVAS_ADDR (volatile unsigned int *)((0x09a2 << 2) + 0xff620000) ++#define ANC19_CANVAS_ADDR (0x09a3) ++#define P_ANC19_CANVAS_ADDR (volatile unsigned int *)((0x09a3 << 2) + 0xff620000) ++#define ANC20_CANVAS_ADDR (0x09a4) ++#define P_ANC20_CANVAS_ADDR (volatile unsigned int *)((0x09a4 << 2) + 0xff620000) ++#define ANC21_CANVAS_ADDR (0x09a5) ++#define P_ANC21_CANVAS_ADDR (volatile unsigned int *)((0x09a5 << 2) + 0xff620000) ++#define ANC22_CANVAS_ADDR (0x09a6) ++#define P_ANC22_CANVAS_ADDR (volatile unsigned int *)((0x09a6 << 2) + 0xff620000) ++#define ANC23_CANVAS_ADDR (0x09a7) ++#define P_ANC23_CANVAS_ADDR (volatile unsigned int *)((0x09a7 << 2) + 0xff620000) ++#define ANC24_CANVAS_ADDR (0x09a8) ++#define P_ANC24_CANVAS_ADDR (volatile unsigned int *)((0x09a8 << 2) + 0xff620000) ++#define ANC25_CANVAS_ADDR (0x09a9) ++#define P_ANC25_CANVAS_ADDR (volatile unsigned int *)((0x09a9 << 2) + 0xff620000) ++#define ANC26_CANVAS_ADDR (0x09aa) ++#define P_ANC26_CANVAS_ADDR (volatile unsigned int *)((0x09aa << 2) + 0xff620000) ++#define ANC27_CANVAS_ADDR (0x09ab) ++#define P_ANC27_CANVAS_ADDR (volatile unsigned int *)((0x09ab << 2) + 0xff620000) ++#define ANC28_CANVAS_ADDR (0x09ac) ++#define P_ANC28_CANVAS_ADDR (volatile unsigned int *)((0x09ac << 2) + 0xff620000) ++#define ANC29_CANVAS_ADDR (0x09ad) ++#define P_ANC29_CANVAS_ADDR (volatile unsigned int *)((0x09ad << 2) + 0xff620000) ++#define ANC30_CANVAS_ADDR (0x09ae) ++#define P_ANC30_CANVAS_ADDR (volatile unsigned int *)((0x09ae << 2) + 0xff620000) ++#define ANC31_CANVAS_ADDR (0x09af) ++#define P_ANC31_CANVAS_ADDR (volatile unsigned int *)((0x09af << 2) + 0xff620000) ++#define DBKR_CANVAS_ADDR (0x09b0) ++#define P_DBKR_CANVAS_ADDR (volatile unsigned int *)((0x09b0 << 2) + 0xff620000) ++#define DBKW_CANVAS_ADDR (0x09b1) ++#define P_DBKW_CANVAS_ADDR (volatile unsigned int *)((0x09b1 << 2) + 0xff620000) ++#define REC_CANVAS_ADDR (0x09b2) ++#define P_REC_CANVAS_ADDR (volatile unsigned int *)((0x09b2 << 2) + 0xff620000) ++//28:24, read/write, current canvas idx, used in h264 only now ++//23:0, read only, current canvas address, 23:16, Cr canvas addr, 15:8, Cb canvas addr, 7:0, Y canvas addr ++#define CURR_CANVAS_CTRL (0x09b3) ++#define P_CURR_CANVAS_CTRL (volatile unsigned int *)((0x09b3 << 2) + 0xff620000) ++#define MDEC_PIC_DC_THRESH (0x09b8) ++#define P_MDEC_PIC_DC_THRESH (volatile unsigned int *)((0x09b8 << 2) + 0xff620000) ++#define MDEC_PICR_BUF_STATUS (0x09b9) ++#define P_MDEC_PICR_BUF_STATUS (volatile unsigned int *)((0x09b9 << 2) + 0xff620000) ++#define MDEC_PICW_BUF_STATUS (0x09ba) ++#define P_MDEC_PICW_BUF_STATUS (volatile unsigned int *)((0x09ba << 2) + 0xff620000) ++#define MCW_DBLK_WRRSP_CNT (0x09bb) ++#define P_MCW_DBLK_WRRSP_CNT (volatile unsigned int *)((0x09bb << 2) + 0xff620000) ++#define MC_MBBOT_WRRSP_CNT (0x09bc) ++#define P_MC_MBBOT_WRRSP_CNT (volatile unsigned int *)((0x09bc << 2) + 0xff620000) ++#define MDEC_PICW_BUF2_STATUS (0x09bd) ++#define P_MDEC_PICW_BUF2_STATUS (volatile unsigned int *)((0x09bd << 2) + 0xff620000) ++#define WRRSP_FIFO_PICW_DBK (0x09be) ++#define P_WRRSP_FIFO_PICW_DBK (volatile unsigned int *)((0x09be << 2) + 0xff620000) ++#define WRRSP_FIFO_PICW_MC (0x09bf) ++#define P_WRRSP_FIFO_PICW_MC (volatile unsigned int *)((0x09bf << 2) + 0xff620000) ++#define AV_SCRATCH_0 (0x09c0) ++#define P_AV_SCRATCH_0 (volatile unsigned int *)((0x09c0 << 2) + 0xff620000) ++#define AV_SCRATCH_1 (0x09c1) ++#define P_AV_SCRATCH_1 (volatile unsigned int *)((0x09c1 << 2) + 0xff620000) ++#define AV_SCRATCH_2 (0x09c2) ++#define P_AV_SCRATCH_2 (volatile unsigned int *)((0x09c2 << 2) + 0xff620000) ++#define AV_SCRATCH_3 (0x09c3) ++#define P_AV_SCRATCH_3 (volatile unsigned int *)((0x09c3 << 2) + 0xff620000) ++#define AV_SCRATCH_4 (0x09c4) ++#define P_AV_SCRATCH_4 (volatile unsigned int *)((0x09c4 << 2) + 0xff620000) ++#define AV_SCRATCH_5 (0x09c5) ++#define P_AV_SCRATCH_5 (volatile unsigned int *)((0x09c5 << 2) + 0xff620000) ++#define AV_SCRATCH_6 (0x09c6) ++#define P_AV_SCRATCH_6 (volatile unsigned int *)((0x09c6 << 2) + 0xff620000) ++#define AV_SCRATCH_7 (0x09c7) ++#define P_AV_SCRATCH_7 (volatile unsigned int *)((0x09c7 << 2) + 0xff620000) ++#define AV_SCRATCH_8 (0x09c8) ++#define P_AV_SCRATCH_8 (volatile unsigned int *)((0x09c8 << 2) + 0xff620000) ++#define AV_SCRATCH_9 (0x09c9) ++#define P_AV_SCRATCH_9 (volatile unsigned int *)((0x09c9 << 2) + 0xff620000) ++#define AV_SCRATCH_A (0x09ca) ++#define P_AV_SCRATCH_A (volatile unsigned int *)((0x09ca << 2) + 0xff620000) ++#define AV_SCRATCH_B (0x09cb) ++#define P_AV_SCRATCH_B (volatile unsigned int *)((0x09cb << 2) + 0xff620000) ++#define AV_SCRATCH_C (0x09cc) ++#define P_AV_SCRATCH_C (volatile unsigned int *)((0x09cc << 2) + 0xff620000) ++#define AV_SCRATCH_D (0x09cd) ++#define P_AV_SCRATCH_D (volatile unsigned int *)((0x09cd << 2) + 0xff620000) ++#define AV_SCRATCH_E (0x09ce) ++#define P_AV_SCRATCH_E (volatile unsigned int *)((0x09ce << 2) + 0xff620000) ++#define AV_SCRATCH_F (0x09cf) ++#define P_AV_SCRATCH_F (volatile unsigned int *)((0x09cf << 2) + 0xff620000) ++#define AV_SCRATCH_G (0x09d0) ++#define P_AV_SCRATCH_G (volatile unsigned int *)((0x09d0 << 2) + 0xff620000) ++#define AV_SCRATCH_H (0x09d1) ++#define P_AV_SCRATCH_H (volatile unsigned int *)((0x09d1 << 2) + 0xff620000) ++#define AV_SCRATCH_I (0x09d2) ++#define P_AV_SCRATCH_I (volatile unsigned int *)((0x09d2 << 2) + 0xff620000) ++#define AV_SCRATCH_J (0x09d3) ++#define P_AV_SCRATCH_J (volatile unsigned int *)((0x09d3 << 2) + 0xff620000) ++#define AV_SCRATCH_K (0x09d4) ++#define P_AV_SCRATCH_K (volatile unsigned int *)((0x09d4 << 2) + 0xff620000) ++#define AV_SCRATCH_L (0x09d5) ++#define P_AV_SCRATCH_L (volatile unsigned int *)((0x09d5 << 2) + 0xff620000) ++#define AV_SCRATCH_M (0x09d6) ++#define P_AV_SCRATCH_M (volatile unsigned int *)((0x09d6 << 2) + 0xff620000) ++#define AV_SCRATCH_N (0x09d7) ++#define P_AV_SCRATCH_N (volatile unsigned int *)((0x09d7 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_co_mb ++// bit[21:16] A_id_co_mb ++// bit[11:0] wrrsp_count_co_mb ++#define WRRSP_CO_MB (0x09d8) ++#define P_WRRSP_CO_MB (volatile unsigned int *)((0x09d8 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_dcac ++// bit[21:16] A_id_dcac ++// bit[11:0] wrrsp_count_dcac ++#define WRRSP_DCAC (0x09d9) ++#define P_WRRSP_DCAC (volatile unsigned int *)((0x09d9 << 2) + 0xff620000) ++// bit[11:0] wrrsp_count_vld ++#define WRRSP_VLD (0x09da) ++#define P_WRRSP_VLD (volatile unsigned int *)((0x09da << 2) + 0xff620000) ++// doublew_cfg0[0]; // Second Channel Enable, 1:Enable 0:Disable ++// doublew_cfg0[3:1]; // [2:0] Endian Control for Luma ++// doublew_cfg0[5:4]; // [1:0] Pixel sel by horizontal, 0x:1/2 10:left 11:right ++// doublew_cfg0[7:6]; // [1:0] Pixel sel by vertical, 0x:1/2 10:up 11:down ++// doublew_cfg0[8]; // Size by horizontal, 0:original size 1: 1/2 shrunken size ++// doublew_cfg0[9]; // Size by vertical, 0:original size 1: 1/2 shrunken size ++// doublew_cfg0[10]; // 1:Round 0:Truncation ++// doublew_cfg0[11]; // DMA Urgent ++// doublew_cfg0[17:12]; // [5:0] DMA Burst Number ++// doublew_cfg0[23:18]; // [5:0] DMA ID ++// doublew_cfg0[26:24]; // [2:0] Endian Control for Chroma ++// doublew_cfg0[27]; // Source from, 1:MCW 0:DBLK ++// doublew_cfg0[29:28]; // [1:0] 0x:select both top and bottom 10:select top 11:select bottom ++// doublew_cfg0[30]; // 0:no merge 1:automatic merge ++// doublew_cfg0[31]; // 0:Y addr no change 1:Y addr divided to half ++#define MDEC_DOUBLEW_CFG0 (0x09db) ++#define P_MDEC_DOUBLEW_CFG0 (volatile unsigned int *)((0x09db << 2) + 0xff620000) ++// doublew_cfg1[7:0]; // [7:0] DMA Canvas Address for Luma ++// doublew_cfg1[15:8]; // [7:0] DMA Canvas Address for Chroma ++// doublew_cfg1[16]; // Disable 1st Write - ++// doublew_cfg1[17]; // Reverse to original version - ++// doublew_cfg1[18]; // DMA Address Mode - 0:Canvas Mode 1:Non-Canvas Mode ++#define MDEC_DOUBLEW_CFG1 (0x09dc) ++#define P_MDEC_DOUBLEW_CFG1 (volatile unsigned int *)((0x09dc << 2) + 0xff620000) ++// doublew_cfg2[11:0]; //[11:0] vertical flip initial value ++// doublew_cfg2[15]; // vertical flip enable ++// doublew_cfg2[24:16]; // [8:0] horizontal flip initial value ++// doublew_cfg2[31]; // horizontal flip enable ++#define MDEC_DOUBLEW_CFG2 (0x09dd) ++#define P_MDEC_DOUBLEW_CFG2 (volatile unsigned int *)((0x09dd << 2) + 0xff620000) ++// doublew_cfg3[31:0]; //[31:0] non-canvas start address for Luma - ++#define MDEC_DOUBLEW_CFG3 (0x09de) ++#define P_MDEC_DOUBLEW_CFG3 (volatile unsigned int *)((0x09de << 2) + 0xff620000) ++// doublew_cfg4[31:0]; //[31:0] non-canvas start address for Chroma - ++#define MDEC_DOUBLEW_CFG4 (0x09df) ++#define P_MDEC_DOUBLEW_CFG4 (volatile unsigned int *)((0x09df << 2) + 0xff620000) ++// doublew_cfg5[12:0]; //[12:0] non-canvas picture width for Luma - ++// doublew_cfg5[28:16]; //[12:0] non-canvas picture width for Chroma - ++#define MDEC_DOUBLEW_CFG5 (0x09e0) ++#define P_MDEC_DOUBLEW_CFG5 (volatile unsigned int *)((0x09e0 << 2) + 0xff620000) ++// doublew_cfg6: reserved ++#define MDEC_DOUBLEW_CFG6 (0x09e1) ++#define P_MDEC_DOUBLEW_CFG6 (volatile unsigned int *)((0x09e1 << 2) + 0xff620000) ++// doublew_cfg7: reserved ++#define MDEC_DOUBLEW_CFG7 (0x09e2) ++#define P_MDEC_DOUBLEW_CFG7 (volatile unsigned int *)((0x09e2 << 2) + 0xff620000) ++// doublew_status[11:0];//[11:0] wrrsp_count_doublew ++// doublew_status[12]; // doublew_status_busy ++// doublew_status[13]; // doublew_status_error ++#define MDEC_DOUBLEW_STATUS (0x09e3) ++#define P_MDEC_DOUBLEW_STATUS (volatile unsigned int *)((0x09e3 << 2) + 0xff620000) ++#define MDEC_EXTIF_CFG0 (0x09e4) ++#define P_MDEC_EXTIF_CFG0 (volatile unsigned int *)((0x09e4 << 2) + 0xff620000) ++#define MDEC_EXTIF_CFG1 (0x09e5) ++#define P_MDEC_EXTIF_CFG1 (volatile unsigned int *)((0x09e5 << 2) + 0xff620000) ++#define MDEC_EXTIF_STS0 (0x09e6) ++#define P_MDEC_EXTIF_STS0 (volatile unsigned int *)((0x09e6 << 2) + 0xff620000) ++//====================================== ++// MC Control Register Bits ++// ++//====================================== ++// For bits, just copy the defines...don't translate to addresses ++ #define MC_ENABLE 0x0001 ++ //`define MC_RESET 16'h0002 ++ #define SKIP_MB 0x0004 ++ ++//====================================== ++// MB Info Register Bits ++// ++//====================================== ++ #define INTRA_MB 0x0001 ++ ++ #define BWD_PRED 0x0004 ++ #define FWD_PRED 0x0008 ++ ++ #define FLD_MOT 0x0100 ++ #define FRM_16x8_MOT 0x0200 ++ #define DUAL_PRM_MOT 0x0300 ++ ++ #define FRM_DCT 0x0000 // Bit 10 ++ #define FLD_DCT 0x0400 ++ ++//====================================== ++// MB Info Register Bits ++// ++//====================================== ++ #define I_PIC 0x0001 ++ #define P_PIC 0x0002 ++ #define B_PIC 0x0003 ++ ++ #define FLD_PIC 0x0000 // Bit 8 ++ #define FRM_PIC 0x0100 ++//======================================================================== ++// DBLK Register: 12'h950 - 12'h97f ++//======================================================================== ++#define DBLK_RST (0x0950) ++#define P_DBLK_RST (volatile unsigned int *)((0x0950 << 2) + 0xff620000) ++#define DBLK_CTRL (0x0951) ++#define P_DBLK_CTRL (volatile unsigned int *)((0x0951 << 2) + 0xff620000) ++#define DBLK_MB_WID_HEIGHT (0x0952) ++#define P_DBLK_MB_WID_HEIGHT (volatile unsigned int *)((0x0952 << 2) + 0xff620000) ++#define DBLK_STATUS (0x0953) ++#define P_DBLK_STATUS (volatile unsigned int *)((0x0953 << 2) + 0xff620000) ++#define DBLK_CMD_CTRL (0x0954) ++#define P_DBLK_CMD_CTRL (volatile unsigned int *)((0x0954 << 2) + 0xff620000) ++#define DBLK_MB_XY (0x0955) ++#define P_DBLK_MB_XY (volatile unsigned int *)((0x0955 << 2) + 0xff620000) ++#define DBLK_QP (0x0956) ++#define P_DBLK_QP (volatile unsigned int *)((0x0956 << 2) + 0xff620000) ++#define DBLK_Y_BHFILT (0x0957) ++#define P_DBLK_Y_BHFILT (volatile unsigned int *)((0x0957 << 2) + 0xff620000) ++#define DBLK_Y_BHFILT_HIGH (0x0958) ++#define P_DBLK_Y_BHFILT_HIGH (volatile unsigned int *)((0x0958 << 2) + 0xff620000) ++#define DBLK_Y_BVFILT (0x0959) ++#define P_DBLK_Y_BVFILT (volatile unsigned int *)((0x0959 << 2) + 0xff620000) ++#define DBLK_CB_BFILT (0x095a) ++#define P_DBLK_CB_BFILT (volatile unsigned int *)((0x095a << 2) + 0xff620000) ++#define DBLK_CR_BFILT (0x095b) ++#define P_DBLK_CR_BFILT (volatile unsigned int *)((0x095b << 2) + 0xff620000) ++#define DBLK_Y_HFILT (0x095c) ++#define P_DBLK_Y_HFILT (volatile unsigned int *)((0x095c << 2) + 0xff620000) ++#define DBLK_Y_HFILT_HIGH (0x095d) ++#define P_DBLK_Y_HFILT_HIGH (volatile unsigned int *)((0x095d << 2) + 0xff620000) ++#define DBLK_Y_VFILT (0x095e) ++#define P_DBLK_Y_VFILT (volatile unsigned int *)((0x095e << 2) + 0xff620000) ++#define DBLK_CB_FILT (0x095f) ++#define P_DBLK_CB_FILT (volatile unsigned int *)((0x095f << 2) + 0xff620000) ++#define DBLK_CR_FILT (0x0960) ++#define P_DBLK_CR_FILT (volatile unsigned int *)((0x0960 << 2) + 0xff620000) ++#define DBLK_BETAX_QP_SEL (0x0961) ++#define P_DBLK_BETAX_QP_SEL (volatile unsigned int *)((0x0961 << 2) + 0xff620000) ++#define DBLK_CLIP_CTRL0 (0x0962) ++#define P_DBLK_CLIP_CTRL0 (volatile unsigned int *)((0x0962 << 2) + 0xff620000) ++#define DBLK_CLIP_CTRL1 (0x0963) ++#define P_DBLK_CLIP_CTRL1 (volatile unsigned int *)((0x0963 << 2) + 0xff620000) ++#define DBLK_CLIP_CTRL2 (0x0964) ++#define P_DBLK_CLIP_CTRL2 (volatile unsigned int *)((0x0964 << 2) + 0xff620000) ++#define DBLK_CLIP_CTRL3 (0x0965) ++#define P_DBLK_CLIP_CTRL3 (volatile unsigned int *)((0x0965 << 2) + 0xff620000) ++#define DBLK_CLIP_CTRL4 (0x0966) ++#define P_DBLK_CLIP_CTRL4 (volatile unsigned int *)((0x0966 << 2) + 0xff620000) ++#define DBLK_CLIP_CTRL5 (0x0967) ++#define P_DBLK_CLIP_CTRL5 (volatile unsigned int *)((0x0967 << 2) + 0xff620000) ++#define DBLK_CLIP_CTRL6 (0x0968) ++#define P_DBLK_CLIP_CTRL6 (volatile unsigned int *)((0x0968 << 2) + 0xff620000) ++#define DBLK_CLIP_CTRL7 (0x0969) ++#define P_DBLK_CLIP_CTRL7 (volatile unsigned int *)((0x0969 << 2) + 0xff620000) ++#define DBLK_CLIP_CTRL8 (0x096a) ++#define P_DBLK_CLIP_CTRL8 (volatile unsigned int *)((0x096a << 2) + 0xff620000) ++#define DBLK_STATUS1 (0x096b) ++#define P_DBLK_STATUS1 (volatile unsigned int *)((0x096b << 2) + 0xff620000) ++#define DBLK_GCLK_FREE (0x096c) ++#define P_DBLK_GCLK_FREE (volatile unsigned int *)((0x096c << 2) + 0xff620000) ++#define DBLK_GCLK_OFF (0x096d) ++#define P_DBLK_GCLK_OFF (volatile unsigned int *)((0x096d << 2) + 0xff620000) ++#define DBLK_AVSFLAGS (0x096e) ++#define P_DBLK_AVSFLAGS (volatile unsigned int *)((0x096e << 2) + 0xff620000) ++// bit 15:0 ++#define DBLK_CBPY (0x0970) ++#define P_DBLK_CBPY (volatile unsigned int *)((0x0970 << 2) + 0xff620000) ++// bit 11:8 -- deblk_cbpy_bottom ++// bit 7:4 -- deblk_cbpy_left ++// bit 3:0 -- deblk_cbpy_top ++#define DBLK_CBPY_ADJ (0x0971) ++#define P_DBLK_CBPY_ADJ (volatile unsigned int *)((0x0971 << 2) + 0xff620000) ++// bit 7:0 -- deblk_cbpc ++#define DBLK_CBPC (0x0972) ++#define P_DBLK_CBPC (volatile unsigned int *)((0x0972 << 2) + 0xff620000) ++// bit 15 -- bottom_mb ++// bit 14 -- left_mb ++// bit 13 -- top_mb ++// bit 12 -- reserved ++// bit 11:8 -- deblk_cbpc_bottom ++// bit 7:4 -- deblk_cbpc_left ++// bit 3:0 -- deblk_cbpc_top ++#define DBLK_CBPC_ADJ (0x0973) ++#define P_DBLK_CBPC_ADJ (volatile unsigned int *)((0x0973 << 2) + 0xff620000) ++// bit 15:8 -- deblk_hmvd -- {left_1, left_0, below_1, below_0, block3-0} ++// bit 7:0 -- deblk_vmvd -- {top_1, top_0, below_1, below_0, block3-0} ++#define DBLK_VHMVD (0x0974) ++#define P_DBLK_VHMVD (volatile unsigned int *)((0x0974 << 2) + 0xff620000) ++// bit 13:12 -- right_vmvd ++// bit 11 -- right_above_vmvd ++// bit 10 -- left_below_hmvd ++// bit 9 -- disable_dblk_luma ++// bit 8 -- disable_dblk_chroma ++// bit 7 -- bBelowRefDiff ++// bit 6 -- bLeftRefDiff ++// bit 5 -- bAboveRefDiff ++// bit 4 -- reserved ++// bit 3 -- s_below ++// bit 2 -- s_left ++// bit 1 -- s_above ++// bit 0 -- s ++#define DBLK_STRONG (0x0975) ++#define P_DBLK_STRONG (volatile unsigned int *)((0x0975 << 2) + 0xff620000) ++// bit 14:10 -- PQUANT ++// bit 9:5 -- left_PQUANT ++// bit 4:0 -- top_PQUANT ++#define DBLK_RV8_QUANT (0x0976) ++#define P_DBLK_RV8_QUANT (volatile unsigned int *)((0x0976 << 2) + 0xff620000) ++#define DBLK_CBUS_HCMD2 (0x0977) ++#define P_DBLK_CBUS_HCMD2 (volatile unsigned int *)((0x0977 << 2) + 0xff620000) ++#define DBLK_CBUS_HCMD1 (0x0978) ++#define P_DBLK_CBUS_HCMD1 (volatile unsigned int *)((0x0978 << 2) + 0xff620000) ++#define DBLK_CBUS_HCMD0 (0x0979) ++#define P_DBLK_CBUS_HCMD0 (volatile unsigned int *)((0x0979 << 2) + 0xff620000) ++#define DBLK_VLD_HCMD2 (0x097a) ++#define P_DBLK_VLD_HCMD2 (volatile unsigned int *)((0x097a << 2) + 0xff620000) ++#define DBLK_VLD_HCMD1 (0x097b) ++#define P_DBLK_VLD_HCMD1 (volatile unsigned int *)((0x097b << 2) + 0xff620000) ++#define DBLK_VLD_HCMD0 (0x097c) ++#define P_DBLK_VLD_HCMD0 (volatile unsigned int *)((0x097c << 2) + 0xff620000) ++#define DBLK_OST_YBASE (0x097d) ++#define P_DBLK_OST_YBASE (volatile unsigned int *)((0x097d << 2) + 0xff620000) ++#define DBLK_OST_CBCRDIFF (0x097e) ++#define P_DBLK_OST_CBCRDIFF (volatile unsigned int *)((0x097e << 2) + 0xff620000) ++//13:8 dblk thread ID and token ++//5:0 dblk prearbitor burst num ++#define DBLK_CTRL1 (0x097f) ++#define P_DBLK_CTRL1 (volatile unsigned int *)((0x097f << 2) + 0xff620000) ++// MCRCC_CTL1 ++// 31:3 ++// 2 ++// 1 ++// 0 ++#define MCRCC_CTL1 (0x0980) ++#define P_MCRCC_CTL1 (volatile unsigned int *)((0x0980 << 2) + 0xff620000) ++// MCRCC_CTL2 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define MCRCC_CTL2 (0x0981) ++#define P_MCRCC_CTL2 (volatile unsigned int *)((0x0981 << 2) + 0xff620000) ++// MCRCC_CTL3 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define MCRCC_CTL3 (0x0982) ++#define P_MCRCC_CTL3 (volatile unsigned int *)((0x0982 << 2) + 0xff620000) ++// bit[31:10] reserved ++// bit[9:0] sw_clock_gating control ++// [9] vdec clk_en for assist and cbus. ++// [8] vdec clk_en for ddr ++// [7] vdec clk_en for vcpu ++// [6] vdec clk_en for assist ++// [5] vdec clk_en for dblk ++// [4] vdec clk_en for iqidct ++// [3] vdec clk_en for mc ++// [2] vdec clk_en for pic_dc ++// [1] vdec clk_en for psc ++// [0] vdec clk_en for vld ++#define GCLK_EN (0x0983) ++#define P_GCLK_EN (volatile unsigned int *)((0x0983 << 2) + 0xff620000) ++// [0] Reserved ++// [1] Reserved ++// [2] Reset assist, mdec's CBUS ++// [3] Reset mdec's VLD ++// [4] Reset mdec's VLD ++// [5] Reset mdec's VLD ++// [6] Reset mdec's IQIDCT ++// [7] Reset mdec's MC ++// [8] Reset mdec's DBLK ++// [9] Reset mdec's PIC_DC ++// [10] Reset mdec's Pscale ++// [11] Reset vcpu's MCPU ++// [12] Reset vcpu's CCPU ++// [13] Reset mmc_pre_arb ++#define MDEC_SW_RESET (0x0984) ++#define P_MDEC_SW_RESET (volatile unsigned int *)((0x0984 << 2) + 0xff620000) ++//DBLK last address 12'h97f ++// ++// Closing file: mdec_regs.h ++// ++//------------------------------------------------------------------------------ ++// VLD module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: vld_regs.h ++// ++//======================================================================== ++// VLD module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_VLD_CBUS_BASE = 0x0c ++// ----------------------------------------------- ++#define VLD_STATUS_CTRL (0x0c00) ++#define P_VLD_STATUS_CTRL (volatile unsigned int *)((0x0c00 << 2) + 0xff620000) ++// ++// bit 10 -- use_old_shift_en ++// bit 9 -- output_mv_not_pmv ++// bit 8:5 -- force_zigzag ++// bit 4 -- force_zigzag_en ++// bit 3 -- disable_viff_anempty_int ++// bit 2 -- disable_m2_ac_coeff_one_cycle ++// bit 1 -- forced_reset force reset pmv ++// bit 0 -- mpeg_type 0:mpeg1 1: mpeg2 ++#define MPEG1_2_REG (0x0c01) ++#define P_MPEG1_2_REG (volatile unsigned int *)((0x0c01 << 2) + 0xff620000) ++#define F_CODE_REG (0x0c02) ++#define P_F_CODE_REG (volatile unsigned int *)((0x0c02 << 2) + 0xff620000) ++#define PIC_HEAD_INFO (0x0c03) ++#define P_PIC_HEAD_INFO (volatile unsigned int *)((0x0c03 << 2) + 0xff620000) ++#define SLICE_VER_POS_PIC_TYPE (0x0c04) ++#define P_SLICE_VER_POS_PIC_TYPE (volatile unsigned int *)((0x0c04 << 2) + 0xff620000) ++#define QP_VALUE_REG (0x0c05) ++#define P_QP_VALUE_REG (volatile unsigned int *)((0x0c05 << 2) + 0xff620000) ++#define MBA_INC (0x0c06) ++#define P_MBA_INC (volatile unsigned int *)((0x0c06 << 2) + 0xff620000) ++#define MB_MOTION_MODE (0x0c07) ++#define P_MB_MOTION_MODE (volatile unsigned int *)((0x0c07 << 2) + 0xff620000) ++//`define PACKET_BYTE_COUNT 8'h08 ++// bit 15 -- force_search_startcode_en ++// bit 14 -- int_cpu_when_error (before do anything) ++// bit 13 -- vld_error_reset ++// bit 12 -- return_on_slice_header ++// bit 6 -- jpeg_ff00_en ++// bit 5:0 -- vld_power_ctl ++#define POWER_CTL_VLD (0x0c08) ++#define P_POWER_CTL_VLD (volatile unsigned int *)((0x0c08 << 2) + 0xff620000) ++#define MB_WIDTH (0x0c09) ++#define P_MB_WIDTH (volatile unsigned int *)((0x0c09 << 2) + 0xff620000) ++#define SLICE_QP (0x0c0a) ++#define P_SLICE_QP (volatile unsigned int *)((0x0c0a << 2) + 0xff620000) ++// `define MB_X_MB_Y 8'h0b /* current MBX and MBY */ ++#define PRE_START_CODE (0x0c0b) ++#define P_PRE_START_CODE (volatile unsigned int *)((0x0c0b << 2) + 0xff620000) ++#define SLICE_START_BYTE_01 (0x0c0c) ++#define P_SLICE_START_BYTE_01 (volatile unsigned int *)((0x0c0c << 2) + 0xff620000) ++#define SLICE_START_BYTE_23 (0x0c0d) ++#define P_SLICE_START_BYTE_23 (volatile unsigned int *)((0x0c0d << 2) + 0xff620000) ++#define RESYNC_MARKER_LENGTH (0x0c0e) ++#define P_RESYNC_MARKER_LENGTH (volatile unsigned int *)((0x0c0e << 2) + 0xff620000) ++// bit[6:5] - frame/field info, 01 - top, 10 - bottom, 11 - frame ++// bit[4:0] - buffer ID ++// L0_BUFF_ID_0, L0_BUFF_ID_1, L1_BUFF_ID_0, L1_BUFF_ID_1 ++#define DECODER_BUFFER_INFO (0x0c0f) ++#define P_DECODER_BUFFER_INFO (volatile unsigned int *)((0x0c0f << 2) + 0xff620000) ++#define FST_FOR_MV_X (0x0c10) ++#define P_FST_FOR_MV_X (volatile unsigned int *)((0x0c10 << 2) + 0xff620000) ++#define FST_FOR_MV_Y (0x0c11) ++#define P_FST_FOR_MV_Y (volatile unsigned int *)((0x0c11 << 2) + 0xff620000) ++#define SCD_FOR_MV_X (0x0c12) ++#define P_SCD_FOR_MV_X (volatile unsigned int *)((0x0c12 << 2) + 0xff620000) ++#define SCD_FOR_MV_Y (0x0c13) ++#define P_SCD_FOR_MV_Y (volatile unsigned int *)((0x0c13 << 2) + 0xff620000) ++#define FST_BAK_MV_X (0x0c14) ++#define P_FST_BAK_MV_X (volatile unsigned int *)((0x0c14 << 2) + 0xff620000) ++#define FST_BAK_MV_Y (0x0c15) ++#define P_FST_BAK_MV_Y (volatile unsigned int *)((0x0c15 << 2) + 0xff620000) ++#define SCD_BAK_MV_X (0x0c16) ++#define P_SCD_BAK_MV_X (volatile unsigned int *)((0x0c16 << 2) + 0xff620000) ++#define SCD_BAK_MV_Y (0x0c17) ++#define P_SCD_BAK_MV_Y (volatile unsigned int *)((0x0c17 << 2) + 0xff620000) ++// Bit 7:4 -- read_buffer_interlace 0-progressive, 1-interlace, used in VC1 ++// bit 3 -- disable_new_stcode_search_fix // From GXM ++// bit 2 -- weighting_prediction ++// bit 1 -- mb_weighting_flag ++// bit 0 -- slice_weighting_flag ++#define VLD_DECODE_CONTROL (0x0c18) ++#define P_VLD_DECODE_CONTROL (volatile unsigned int *)((0x0c18 << 2) + 0xff620000) ++#define VLD_REVERVED_19 (0x0c19) ++#define P_VLD_REVERVED_19 (volatile unsigned int *)((0x0c19 << 2) + 0xff620000) ++#define VIFF_BIT_CNT (0x0c1a) ++#define P_VIFF_BIT_CNT (volatile unsigned int *)((0x0c1a << 2) + 0xff620000) ++#define BYTE_ALIGN_PEAK_HI (0x0c1b) ++#define P_BYTE_ALIGN_PEAK_HI (volatile unsigned int *)((0x0c1b << 2) + 0xff620000) ++#define BYTE_ALIGN_PEAK_LO (0x0c1c) ++#define P_BYTE_ALIGN_PEAK_LO (volatile unsigned int *)((0x0c1c << 2) + 0xff620000) ++#define NEXT_ALIGN_PEAK (0x0c1d) ++#define P_NEXT_ALIGN_PEAK (volatile unsigned int *)((0x0c1d << 2) + 0xff620000) ++// bit 31 : byte_aligned_zero_23_from_org // From GXM ++// bit 30 : force_shift_out_drop_flag_zero // From GXM ++// bit 29 : en_st_protect_from_org // From GXM ++// bit 28 : enable_halt_decode_start_voff ++// bit 27 : disable_C_pred_check ++// bit 26 : disable_I4_pred_check ++// bit 25 : disable_I16_pred_check ++// bit 24 : check_avs_1st_drop ++// bit 23 : enable_cabac_protect // From GXM ++// bit 22 : enable_avs_drop_more ++// bit 21 : reset_avs_drop_ptr ++// bit 20 : reset_cabac_use_next_at_end_req ++// bit 19 : vc1_inv_intra_co_mb_ref_rd ++// bit 18 : vc1_inv_co_mb_ref_rd ++// bit 17 : vc1_inv_intra_co_mb_ref_wr ++// bit 16 : vc1_inv_co_mb_ref_wr ++// bit 15 : disable_mv_cal_begin_only ++// bit 14 : avs_drop_enable ++// bit 13:12 : avs_drop_ptr ++// bit 11:8 : avs_demu_ctl_reg ++// bit 7 : avs_enable ++// bit 6 : disable_dblk_hcmd ++// bit 5 : disable_mc_hcmd ++// bit 4 : first_mode3_set enable ++// bit 3 : first_mode3 ++// bit 2:1 : vc1_profile 0-SP, 1-MP, 2-reserved, 3-AP ++// bit 0 : vc1_enable ++#define VC1_CONTROL_REG (0x0c1e) ++#define P_VC1_CONTROL_REG (volatile unsigned int *)((0x0c1e << 2) + 0xff620000) ++#define PMV1_X (0x0c20) ++#define P_PMV1_X (volatile unsigned int *)((0x0c20 << 2) + 0xff620000) ++#define PMV1_Y (0x0c21) ++#define P_PMV1_Y (volatile unsigned int *)((0x0c21 << 2) + 0xff620000) ++#define PMV2_X (0x0c22) ++#define P_PMV2_X (volatile unsigned int *)((0x0c22 << 2) + 0xff620000) ++#define PMV2_Y (0x0c23) ++#define P_PMV2_Y (volatile unsigned int *)((0x0c23 << 2) + 0xff620000) ++#define PMV3_X (0x0c24) ++#define P_PMV3_X (volatile unsigned int *)((0x0c24 << 2) + 0xff620000) ++#define PMV3_Y (0x0c25) ++#define P_PMV3_Y (volatile unsigned int *)((0x0c25 << 2) + 0xff620000) ++#define PMV4_X (0x0c26) ++#define P_PMV4_X (volatile unsigned int *)((0x0c26 << 2) + 0xff620000) ++#define PMV4_Y (0x0c27) ++#define P_PMV4_Y (volatile unsigned int *)((0x0c27 << 2) + 0xff620000) ++// Can't use the same address for different defines ++// Therefore, create a single define that covers both ++// Only appears to be used in micro-code since the VLD hardware is ++// hard coded. ++// `define M4_TABLE_SELECT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++// `define M4_TABLE_OUTPUT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++#define M4_TABLE_SELECT (0x0c28) ++#define P_M4_TABLE_SELECT (volatile unsigned int *)((0x0c28 << 2) + 0xff620000) ++#define M4_CONTROL_REG (0x0c29) ++#define P_M4_CONTROL_REG (volatile unsigned int *)((0x0c29 << 2) + 0xff620000) ++#define BLOCK_NUM (0x0c2a) ++#define P_BLOCK_NUM (volatile unsigned int *)((0x0c2a << 2) + 0xff620000) ++#define PATTERN_CODE (0x0c2b) ++#define P_PATTERN_CODE (volatile unsigned int *)((0x0c2b << 2) + 0xff620000) ++#define MB_INFO (0x0c2c) ++#define P_MB_INFO (volatile unsigned int *)((0x0c2c << 2) + 0xff620000) ++#define VLD_DC_PRED (0x0c2d) ++#define P_VLD_DC_PRED (volatile unsigned int *)((0x0c2d << 2) + 0xff620000) ++#define VLD_ERROR_MASK (0x0c2e) ++#define P_VLD_ERROR_MASK (volatile unsigned int *)((0x0c2e << 2) + 0xff620000) ++#define VLD_DC_PRED_C (0x0c2f) ++#define P_VLD_DC_PRED_C (volatile unsigned int *)((0x0c2f << 2) + 0xff620000) ++#define LAST_SLICE_MV_ADDR (0x0c30) ++#define P_LAST_SLICE_MV_ADDR (volatile unsigned int *)((0x0c30 << 2) + 0xff620000) ++#define LAST_MVX (0x0c31) ++#define P_LAST_MVX (volatile unsigned int *)((0x0c31 << 2) + 0xff620000) ++#define LAST_MVY (0x0c32) ++#define P_LAST_MVY (volatile unsigned int *)((0x0c32 << 2) + 0xff620000) ++#define VLD_C38 (0x0c38) ++#define P_VLD_C38 (volatile unsigned int *)((0x0c38 << 2) + 0xff620000) ++#define VLD_C39 (0x0c39) ++#define P_VLD_C39 (volatile unsigned int *)((0x0c39 << 2) + 0xff620000) ++#define VLD_STATUS (0x0c3a) ++#define P_VLD_STATUS (volatile unsigned int *)((0x0c3a << 2) + 0xff620000) ++#define VLD_SHIFT_STATUS (0x0c3b) ++#define P_VLD_SHIFT_STATUS (volatile unsigned int *)((0x0c3b << 2) + 0xff620000) ++// `define VLD_SHIFT_INFO 8'h3b // Does this exist in HW ? used in $ucode/mpeg4 ++#define VOFF_STATUS (0x0c3c) ++#define P_VOFF_STATUS (volatile unsigned int *)((0x0c3c << 2) + 0xff620000) ++#define VLD_C3D (0x0c3d) ++#define P_VLD_C3D (volatile unsigned int *)((0x0c3d << 2) + 0xff620000) ++#define VLD_DBG_INDEX (0x0c3e) ++#define P_VLD_DBG_INDEX (volatile unsigned int *)((0x0c3e << 2) + 0xff620000) ++// vld_buff_info -- (index == 0) ++// Bit11] halt_decode_start_voff ++// Bit10] C_pred_error ++// Bit[9] I4_pred_error ++// Bit[8] I16_pred_error ++// Bit[7:6] mv_UR_ready_cnt; ++// Bit[5] vld_wr_idx ++// Bit[4] iq_rd_idx ++// Bit[3] vld_vi_block_rdy_1 ++// Bit[2] vld_vi_block_rdy_2 ++// Bit[1] voff_empty_1 ++// Bit[0] voff_empty_2 ++// cabac_buff_info_0 -- (index == 1) ++// Bit[31] shift_data_ready ++// Bit[30:29] Reserved ++// Bit[28:24] cabac_buffer_ptr ++// Bit[23:0] cabac_buffer ++// cabac_buff_info_1 -- (index == 2) ++// Bit[31:29] Reserved ++// Bit[28:20] Drange ++// Bit[19:16] bin_count_4 ++// Bit[15:13] Reserved ++// Bit[12:6] context_mem_do ++// Bit[5:3] coeff_state ++// Bit[2:0] mvd_state ++// h264_mv_present -- (index == 3) ++// Bit[31:16] mv_present_l0 ++// Bit[15:0] mv_present_l1 ++// h264_mv_cal_info_0 -- (index == 4) ++// [31:28] mv_cal_state ++// [27:24] direct_spatial_cnt ++// Bit[23:21] Reserved ++// Bit[20] mv_UR_ready_for_mv_cal ++// Bit[19] co_mb_mem_ready_for_mv_cal ++// Bit[18] mc_dblk_cmd_if_busy ++// Bit[17] h264_co_mb_wr_busy ++// Bit[16] H264_cbp_blk_ready ++// Bit[15] mc_hcmd_rrdy ++// Bit[14] mc_hcmd_srdy ++// Bit[13] mc_cmd_if_ready ++// Bit[12] mc_hcmd_mv_available ++// Bit[11:8] mc_cmd_if_state ++// Bit[7] dblk_hcmd_rrdy ++// Bit[6] dblk_hcmd_srdy ++// Bit[5] dblk_cmd_if_ready ++// Bit[4] dblk_hcmd_mv_available ++// Bit[3:0] dblk_cmd_if_state ++// h264_mv_cal_info_1 -- (index == 5) ++// Bit[31:29] Reserved ++// Bit[28:24] total_mvd_num_l0 ++// Bit[23:21] Reserved ++// Bit[20:16] mv_cal_ptr_l0 ++// Bit[15:13] Reserved ++// Bit[12:8] mc_hcmd_ptr_l0 ++// Bit[7:5] Reserved ++// Bit[4:0] dblk_hcmd_ptr_l0 ++// h264_mv_cal_info_2 -- (index == 6) ++// Bit[31:29] Reserved ++// Bit[28:24] total_mvd_num_l1 ++// Bit[23:21] Reserved ++// Bit[20:16] mv_cal_ptr_l1 ++// Bit[15:13] Reserved ++// Bit[12:8] mc_hcmd_ptr_l1 ++// Bit[7:5] Reserved ++// Bit[4:0] dblk_hcmd_ptr_l1 ++// h264_co_mb_info -- (index == 7) ++// Bit[31:26] Reserved ++// Bit[25] mv_scale_cal_busy ++// Bit[24:20] co_mv_count ++// Bit[19:16] co_mv_process_state ++// Bit[15] h264_co_mb_rd_busy ++// Bit[15] h264_co_mb_rd_ready ++// Bit[13:12] co_mv_transfer_block_cnt ++// Bit[11:8] co_mv_transfer_ptr ++// Bit[7] co_mv_POC_l1_busy ++// Bit[6] h264_weight_scale_cal_en ++// Bit[5] weight_cal_busy ++// Bit[4] weight_cal_not_finished ++// Bit[3:0] weight_process_state ++#define VLD_DBG_DATA (0x0c3f) ++#define P_VLD_DBG_DATA (volatile unsigned int *)((0x0c3f << 2) + 0xff620000) ++// -------------------------------------------- ++// VIFIFO DDR Interface ++// -------------------------------------------- ++// The VIFIFO start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define VLD_MEM_VIFIFO_START_PTR (0x0c40) ++#define P_VLD_MEM_VIFIFO_START_PTR (volatile unsigned int *)((0x0c40 << 2) + 0xff620000) ++// The current pointer points so some location between the START and END ++// pointers. The current pointer is a BYTE pointer. That is, you can ++// point to any BYTE address within the START/END range ++#define VLD_MEM_VIFIFO_CURR_PTR (0x0c41) ++#define P_VLD_MEM_VIFIFO_CURR_PTR (volatile unsigned int *)((0x0c41 << 2) + 0xff620000) ++#define VLD_MEM_VIFIFO_END_PTR (0x0c42) ++#define P_VLD_MEM_VIFIFO_END_PTR (volatile unsigned int *)((0x0c42 << 2) + 0xff620000) ++#define VLD_MEM_VIFIFO_BYTES_AVAIL (0x0c43) ++#define P_VLD_MEM_VIFIFO_BYTES_AVAIL (volatile unsigned int *)((0x0c43 << 2) + 0xff620000) ++// VIFIFO FIFO Control ++// bit [31:24] viff_empty_int_enable_cpu[7:0] ++// bit [23:16] viff_empty_int_enable_amrisc[7:0] ++// -bit 23 Video BUFFER < 0x400 Bytes ++// -bit 22 Video BUFFER < 0x200 Bytes ++// -bit 21 Video BUFFER < 0x100 Bytes ++// -bit 20 Video BUFFER < 0x80 Bytes ++// -bit 19 Video BUFFER < 0x40 Bytes ++// -bit 18 Video BUFFER < 0x20 Bytes ++// -bit 17 vififo < 16 double words ++// -bit 16 vififo < 8 double words ++// bit [15:13] unused ++// bit [12] A_urgent ++// bit [11] transfer_length 0 - 32x64 Bits per request, 1 - 16x64 Bits per request ++// bit [10] use_level Set this bit to 1 to enable filling of the FIFO controlled by the buffer ++// level control. If this bit is 0, then use bit[1] to control the enabling of filling ++// bit [9] Data Ready. This bit is set when data can be popped ++// bit [8] fill busy This bit will be high when we're fetching data from the DDR memory ++// To reset this module, set cntl_enable = 0, and then wait for busy = 0. ++// After that you can pulse cntl_init to start over ++// bit [7] init_with_cntl_init ++// bit [6] reserved ++// bits [5:3] endian: see $lib/rtl/ddr_endian.v ++// bit [2] cntl_empty_en Set to 1 to enable reading the DDR memory FIFO ++// Set cntl_empty_en = cntl_fill_en = 0 when pulsing cntl_init ++// bit [1] cntl_fill_en Set to 1 to enable reading data from DDR memory ++// bit [0] cntl_init: After setting the read pointers, sizes, channel masks ++// and read masks, set this bit to 1 and then to 0 ++// NOTE: You don't need to pulse cntl_init if only the start address is ++// being changed ++#define VLD_MEM_VIFIFO_CONTROL (0x0c44) ++#define P_VLD_MEM_VIFIFO_CONTROL (volatile unsigned int *)((0x0c44 << 2) + 0xff620000) ++// -------------------------------------------- ++// VIFIFO Buffer Level Manager ++// -------------------------------------------- ++#define VLD_MEM_VIFIFO_WP (0x0c45) ++#define P_VLD_MEM_VIFIFO_WP (volatile unsigned int *)((0x0c45 << 2) + 0xff620000) ++#define VLD_MEM_VIFIFO_RP (0x0c46) ++#define P_VLD_MEM_VIFIFO_RP (volatile unsigned int *)((0x0c46 << 2) + 0xff620000) ++#define VLD_MEM_VIFIFO_LEVEL (0x0c47) ++#define P_VLD_MEM_VIFIFO_LEVEL (volatile unsigned int *)((0x0c47 << 2) + 0xff620000) ++// ++// bit [8] use_parser_video2_wp ++// bit [7] vbuf2_out_manual ++// bit [6] vbuf_out_manual ++// bit [5] empty (ReadOnly) ++// bit [4] full (ReadOnly) ++// bit [3:2] reserved ++// bit [1] manual mode Set to 1 for manual write pointer mode ++// bit [0] Init Set high then low after everything has been initialized ++#define VLD_MEM_VIFIFO_BUF_CNTL (0x0c48) ++#define P_VLD_MEM_VIFIFO_BUF_CNTL (volatile unsigned int *)((0x0c48 << 2) + 0xff620000) ++// bit 31:16 -- drop_bytes ++// bit 15:14 -- drop_status (Read-Only) ++// bit 13:12 -- sync_match_position (Read-Only) ++// bit 11:6 -- reserved ++// bit 5:4 -- TIME_STAMP_NUMBER, 0-32bits, 1-64bits, 2-96bits, 3-128bits ++// bit 3 -- stamp_soft_reset ++// bit 2 -- TIME_STAMP_length_enable ++// bit 1 -- TIME_STAMP_sync64_enable ++// bit 0 -- TIME_STAMP_enable ++#define VLD_TIME_STAMP_CNTL (0x0c49) ++#define P_VLD_TIME_STAMP_CNTL (volatile unsigned int *)((0x0c49 << 2) + 0xff620000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_0 ++#define VLD_TIME_STAMP_SYNC_0 (0x0c4a) ++#define P_VLD_TIME_STAMP_SYNC_0 (volatile unsigned int *)((0x0c4a << 2) + 0xff620000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_1 ++#define VLD_TIME_STAMP_SYNC_1 (0x0c4b) ++#define P_VLD_TIME_STAMP_SYNC_1 (volatile unsigned int *)((0x0c4b << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_0 ++#define VLD_TIME_STAMP_0 (0x0c4c) ++#define P_VLD_TIME_STAMP_0 (volatile unsigned int *)((0x0c4c << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_1 ++#define VLD_TIME_STAMP_1 (0x0c4d) ++#define P_VLD_TIME_STAMP_1 (volatile unsigned int *)((0x0c4d << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_2 ++#define VLD_TIME_STAMP_2 (0x0c4e) ++#define P_VLD_TIME_STAMP_2 (volatile unsigned int *)((0x0c4e << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_3 ++#define VLD_TIME_STAMP_3 (0x0c4f) ++#define P_VLD_TIME_STAMP_3 (volatile unsigned int *)((0x0c4f << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_LENGTH ++#define VLD_TIME_STAMP_LENGTH (0x0c50) ++#define P_VLD_TIME_STAMP_LENGTH (volatile unsigned int *)((0x0c50 << 2) + 0xff620000) ++// bit 15:0 vififo_rd_count ++#define VLD_MEM_VIFIFO_WRAP_COUNT (0x0c51) ++#define P_VLD_MEM_VIFIFO_WRAP_COUNT (volatile unsigned int *)((0x0c51 << 2) + 0xff620000) ++// bit 29:24 A_brst_num ++// bit 21:16 A_id ++// bit 15:0 level_hold ++#define VLD_MEM_VIFIFO_MEM_CTL (0x0c52) ++#define P_VLD_MEM_VIFIFO_MEM_CTL (volatile unsigned int *)((0x0c52 << 2) + 0xff620000) ++#define VLD_MEM_VBUF_RD_PTR (0x0c53) ++#define P_VLD_MEM_VBUF_RD_PTR (volatile unsigned int *)((0x0c53 << 2) + 0xff620000) ++#define VLD_MEM_VBUF2_RD_PTR (0x0c54) ++#define P_VLD_MEM_VBUF2_RD_PTR (volatile unsigned int *)((0x0c54 << 2) + 0xff620000) ++#define VLD_MEM_SWAP_ADDR (0x0c55) ++#define P_VLD_MEM_SWAP_ADDR (volatile unsigned int *)((0x0c55 << 2) + 0xff620000) ++// bit[23:16] - swap_d_count (Read Only) ++// bit[15:8] - swap_a_count (Read Only) ++// bit [7] - swap busy (Read Only) ++// bit [6:2] - reserved ++// bit [1] - 1 - STORE to Memory, 0 - LOAD from Memory ++// bit [0] - swap active ++#define VLD_MEM_SWAP_CTL (0x0c56) ++#define P_VLD_MEM_SWAP_CTL (volatile unsigned int *)((0x0c56 << 2) + 0xff620000) ++// ++// Closing file: vld_regs.h ++// ++//------------------------------------------------------------------------------ ++// IQ/IDCT module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: iqidct_regs.h ++// ++//======================================================================== ++// IQ/IDCT module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_IQIDCT_CBUS_BASE = 0x0e ++// ----------------------------------------------- ++#define VCOP_CTRL_REG (0x0e00) ++#define P_VCOP_CTRL_REG (volatile unsigned int *)((0x0e00 << 2) + 0xff620000) ++#define QP_CTRL_REG (0x0e01) ++#define P_QP_CTRL_REG (volatile unsigned int *)((0x0e01 << 2) + 0xff620000) ++#define INTRA_QUANT_MATRIX (0x0e02) ++#define P_INTRA_QUANT_MATRIX (volatile unsigned int *)((0x0e02 << 2) + 0xff620000) ++#define NON_I_QUANT_MATRIX (0x0e03) ++#define P_NON_I_QUANT_MATRIX (volatile unsigned int *)((0x0e03 << 2) + 0xff620000) ++#define DC_SCALER (0x0e04) ++#define P_DC_SCALER (volatile unsigned int *)((0x0e04 << 2) + 0xff620000) ++#define DC_AC_CTRL (0x0e05) ++#define P_DC_AC_CTRL (volatile unsigned int *)((0x0e05 << 2) + 0xff620000) ++// `define RV_AI_CTRL 8'h05 // ONLY for $ucode/real/amrisc/rv.s reg value from apollo ++#define DC_AC_SCALE_MUL (0x0e06) ++#define P_DC_AC_SCALE_MUL (volatile unsigned int *)((0x0e06 << 2) + 0xff620000) ++#define DC_AC_SCALE_DIV (0x0e07) ++#define P_DC_AC_SCALE_DIV (volatile unsigned int *)((0x0e07 << 2) + 0xff620000) ++// `define DC_AC_SCALE_RESULT 8'h06 ++// `define RESERVED_E07 8'h07 ++#define POWER_CTL_IQIDCT (0x0e08) ++#define P_POWER_CTL_IQIDCT (volatile unsigned int *)((0x0e08 << 2) + 0xff620000) ++#define RV_AI_Y_X (0x0e09) ++#define P_RV_AI_Y_X (volatile unsigned int *)((0x0e09 << 2) + 0xff620000) ++#define RV_AI_U_X (0x0e0a) ++#define P_RV_AI_U_X (volatile unsigned int *)((0x0e0a << 2) + 0xff620000) ++#define RV_AI_V_X (0x0e0b) ++#define P_RV_AI_V_X (volatile unsigned int *)((0x0e0b << 2) + 0xff620000) ++// bit 15:0 will count up when rv_ai_mb finished when non zero ++// and rv_ai_mb_finished_int will be generate when this is not zero ++#define RV_AI_MB_COUNT (0x0e0c) ++#define P_RV_AI_MB_COUNT (volatile unsigned int *)((0x0e0c << 2) + 0xff620000) ++// For H264 I in PB picture Use -- dma type : h264_next_intra_dma ++#define NEXT_INTRA_DMA_ADDRESS (0x0e0d) ++#define P_NEXT_INTRA_DMA_ADDRESS (volatile unsigned int *)((0x0e0d << 2) + 0xff620000) ++// Bit 16 -- dcac_dma_read_cache_disable ++// Bit 15 -- dcac_dma_urgent ++// Bit 14 -- nv21_swap ++// Bit 13 -- nv21_top_dma ++// Bit 12 -- reset_rv_ai_wait_rd_data ++// Bit 11 -- set_rv_ai_wait_rd_data [12:11] = 3 means only dec 1 (For Skipped MB of MBAFF) ++// Bit 10 -- rv_ai_wait_rd_data (Read Only) ++// Bit 9 -- enable_rv_ai_wait_rd_data ++// Bit 8 -- disable_vc1_mv_update ++// Bit 7 -- pred_dc_signed ++// Bit 6 -- inc_vld_ready_count ++// Bit 5 -- dec_vld_ready_count ++// Bit 4 -- disable_ref_bidir_fix ++// Bit 3 -- disable_MV_UL_l1_bot_fix ++// Bit 2 -- disable_mb_aff_fix ++// Bit 1 -- canvas_addr_7 ++// Bit 0 -- constrained_intra_pred_flag for H264 ++#define IQIDCT_CONTROL (0x0e0e) ++#define P_IQIDCT_CONTROL (volatile unsigned int *)((0x0e0e << 2) + 0xff620000) ++// Bit[31:19] Reserved ++// Bit[18] iq_waiting ++// Bit[17] iq_om_wr_idx ++// Bit[16] iq_om_rd_idx ++// Bit[15] iq_om_busy ++// Bit[14] iq_om_2_busy ++// Bit[13] idx_fifo_0 ++// Bit[12] idx_fifo_1 ++// Bit[11] idx_fifo_2 ++// Bit[10] idx_fifo_3 ++// Bit[9] idx_fifo_4 ++// Bit[8] idx_fifo_5 ++// Bit[7] idx_fifo_6 ++// Bit[6] idx_fifo_7 ++// Bit[5:3] idx_fifo_wp ++// Bit[2:0] idx_fifo_rp ++#define IQIDCT_DEBUG_INFO_0 (0x0e0f) ++#define P_IQIDCT_DEBUG_INFO_0 (volatile unsigned int *)((0x0e0f << 2) + 0xff620000) ++// For RTL Simulation Only ++#define DEBLK_CMD (0x0e10) ++#define P_DEBLK_CMD (volatile unsigned int *)((0x0e10 << 2) + 0xff620000) ++// Bit[15+16] ds_mc_valid_2 ++// Bit[14+16] new_idct1_rd_idx_2 ++// Bit[13+16] new_idct1_wr_idx_2 ++// Bit[12+16] idct1_buff0_busy_2 ++// Bit[11+16] idct1_buff1_busy_2 ++// Bit[10+16] new_idct1_busy_2 ++// Bit[9+16] iq_om_8val_2 ++// Bit[8+16] idct1_pipe_busy_2 ++// Bit[7+16] wait_mb_left_finish_hold_2 ++// Bit[6+16] new_idct2_rd_idx_2 ++// Bit[5+16] new_idct2_wr_idx_2 ++// Bit[4+16] idct2_buff0_busy_2 ++// Bit[3+16] idct2_buff1_busy_2 ++// Bit[2+16] idct2_en_2 ++// Bit[1+16] new_idct2_busy_2 ++// Bit[0+16] new_idct1_ready_2 ++// Bit[15] ds_mc_valid_1 ++// Bit[14] new_idct1_rd_idx_1 ++// Bit[13] new_idct1_wr_idx_1 ++// Bit[12] idct1_buff0_busy_1 ++// Bit[11] idct1_buff1_busy_1 ++// Bit[10] new_idct1_busy_1 ++// Bit[9] iq_om_8val_1 ++// Bit[8] idct1_pipe_busy_1 ++// Bit[7] wait_mb_left_finish_hold_1 ++// Bit[6] new_idct2_rd_idx_1 ++// Bit[5] new_idct2_wr_idx_1 ++// Bit[4] idct2_buff0_busy_1 ++// Bit[3] idct2_buff1_busy_1 ++// Bit[2] idct2_en_1 ++// Bit[1] new_idct2_busy_1 ++// Bit[0] new_idct1_ready_1 ++#define IQIDCT_DEBUG_IDCT (0x0e11) ++#define P_IQIDCT_DEBUG_IDCT (volatile unsigned int *)((0x0e11 << 2) + 0xff620000) ++// bit 31 -- convas_enable ++// bit 30:24 -- convas_x_count ( 8 pixels / 64 bits ) ++// bit 23:16 -- convas_y_count ++// bit 15 -- dcac_dma_busy ++// bit 14 -- dcac_dma_read_cache_active ++// bit 13:8 -- dcac_dma_count ++// bit 7 -- dcac_dma_rw ++// bit 6 -- dcac_skip_read_mode ++// bit 5:0 -- dcac_dma_offset ++#define DCAC_DMA_CTRL (0x0e12) ++#define P_DCAC_DMA_CTRL (volatile unsigned int *)((0x0e12 << 2) + 0xff620000) ++// when (convas_enable == 0 ) ++// bit 31:0 dcac_dma_addr ++// when (convas_enable == 1 ) ++// bit 31:25 canvas_addr (7 bits) ++// bit 24:12 convas_y_start ( 13 btis ) ++// bit 11:0 convas_x_start ( 12 btis ) ++#define DCAC_DMA_ADDRESS (0x0e13) ++#define P_DCAC_DMA_ADDRESS (volatile unsigned int *)((0x0e13 << 2) + 0xff620000) ++// bit 7:0 -- dcac_cpu_addr ++#define DCAC_CPU_ADDRESS (0x0e14) ++#define P_DCAC_CPU_ADDRESS (volatile unsigned int *)((0x0e14 << 2) + 0xff620000) ++// bit 31:0 -- dcac_cpu_data ++#define DCAC_CPU_DATA (0x0e15) ++#define P_DCAC_CPU_DATA (volatile unsigned int *)((0x0e15 << 2) + 0xff620000) ++// bit 31:19 -- reserved ++// bit 18:16 -- block_num_reg -- Read-Only ++// bit 15:0 -- dcac_mb_count ++#define DCAC_MB_COUNT (0x0e16) ++#define P_DCAC_MB_COUNT (volatile unsigned int *)((0x0e16 << 2) + 0xff620000) ++// bit 31:18 -- reserved ++// For H264 : ++// bit 17:2 -- h264_quant ++// bit 11:6 -- h264_quant_c ++// bit 5:0 -- h264_quant_c ++// For VC1 : ++// bit 17 -- qindex_GT_8 ++// bit 16 -- HalfQPStep ++// bit 15:12 -- eQuantMode ++// bit 11:6 -- AltPQuant ++// bit 5:0 -- PQuant ++// ++#define IQ_QUANT (0x0e17) ++#define P_IQ_QUANT (volatile unsigned int *)((0x0e17 << 2) + 0xff620000) ++// bit 31:24 -- bitplane_width ++// bit 23:16 -- bitplane_height ++// bit 15:14 -- bitplane_start_x ++// bit 13:12 -- bitplane_start_y ++// bit 11:4 -- reserved ++// bit 3:1 -- bitplane_type ++// bit 0 -- bitplane_busy ++#define VC1_BITPLANE_CTL (0x0e18) ++#define P_VC1_BITPLANE_CTL (volatile unsigned int *)((0x0e18 << 2) + 0xff620000) ++// bit 24:16 -- wq_param1 ++// bit 8: 0 -- wq_param0 ++#define AVSP_IQ_WQ_PARAM_01 (0x0e19) ++#define P_AVSP_IQ_WQ_PARAM_01 (volatile unsigned int *)((0x0e19 << 2) + 0xff620000) ++// bit 24:16 -- wq_param3 ++// bit 8: 0 -- wq_param2 ++#define AVSP_IQ_WQ_PARAM_23 (0x0e1a) ++#define P_AVSP_IQ_WQ_PARAM_23 (volatile unsigned int *)((0x0e1a << 2) + 0xff620000) ++// bit 24:16 -- wq_param5 ++// bit 8: 0 -- wq_param4 ++#define AVSP_IQ_WQ_PARAM_45 (0x0e1b) ++#define P_AVSP_IQ_WQ_PARAM_45 (volatile unsigned int *)((0x0e1b << 2) + 0xff620000) ++// bit 31 -- weight_quant_en ++// bit 17:16 -- current_scene_model ++// bit 12: 8 -- chroma_qp_delta_cr ++// bit 4: 0 -- chroma_qp_delta_cb ++#define AVSP_IQ_CTL (0x0e1c) ++#define P_AVSP_IQ_CTL (volatile unsigned int *)((0x0e1c << 2) + 0xff620000) ++ #define RAM_TEST_CMD 0x002 ++ #define RAM_TEST_ADDR 0x003 ++ #define RAM_TEST_DATAH 0x004 ++ #define RAM_TEST_DATAL 0x005 ++ ++ #define RAM_TEST_RD_CMD 0x0000 ++ #define RAM_TEST_WR_CMD 0x8000 ++ #define IDCT_TM2_PT0 0x0001 ++ #define IDCT_TM2_PT1 0x0002 ++ #define IDCT_TM1_PT0 0x0004 ++ #define IDCT_TM1_PT1 0x0008 ++ #define IQ_OMEM_PT0 0x0010 ++ #define IQ_OMEM_PT1 0x0020 ++ #define MC_IMEM_PT0 0x0040 ++ #define ALL_RAM_PTS 0x007f ++//====================================== ++// VCOP Control Register Bits ++// ++//====================================== ++ //`define IQIDCT_RESET 16'h0001 // Bit 0 ++ #define QM_WEN 0x0002 // Bit 1 ++ #define IQIDCT_ENABLE 0x0004 // Bit 2 ++ #define INTRA_QM 0x0008 // Bit 3 0 = Use default; 1 = use loaded ++ #define NINTRA_QM 0x0010 // Bit 4 0 = Use default; 1 = use loaded ++//====================================== ++// QP Control Register Bits ++// ++//====================================== ++ #define INTRA_MODE 0x0080 // Bit 7 ++// Duplicate Address: When actually used ++// please move to a different address ++// `define FLD_DCT_TYPE 16'h0100 // Bit 8 0 = Frame DCT; 1 = field DCT ++// ++// Closing file: iqidct_regs.h ++// ++//------------------------------------------------------------------------------ ++// VCPU module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: vcpu_regs.h ++// ++//======================================================================== ++// VCPU module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_VCPU_CBUS_BASE = 0x03 ++// ----------------------------------------------- ++#define MSP (0x0300) ++#define P_MSP (volatile unsigned int *)((0x0300 << 2) + 0xff620000) ++#define MPSR (0x0301) ++#define P_MPSR (volatile unsigned int *)((0x0301 << 2) + 0xff620000) ++#define MINT_VEC_BASE (0x0302) ++#define P_MINT_VEC_BASE (volatile unsigned int *)((0x0302 << 2) + 0xff620000) ++#define MCPU_INTR_GRP (0x0303) ++#define P_MCPU_INTR_GRP (volatile unsigned int *)((0x0303 << 2) + 0xff620000) ++#define MCPU_INTR_MSK (0x0304) ++#define P_MCPU_INTR_MSK (volatile unsigned int *)((0x0304 << 2) + 0xff620000) ++#define MCPU_INTR_REQ (0x0305) ++#define P_MCPU_INTR_REQ (volatile unsigned int *)((0x0305 << 2) + 0xff620000) ++#define MPC_P (0x0306) ++#define P_MPC_P (volatile unsigned int *)((0x0306 << 2) + 0xff620000) ++#define MPC_D (0x0307) ++#define P_MPC_D (volatile unsigned int *)((0x0307 << 2) + 0xff620000) ++#define MPC_E (0x0308) ++#define P_MPC_E (volatile unsigned int *)((0x0308 << 2) + 0xff620000) ++#define MPC_W (0x0309) ++#define P_MPC_W (volatile unsigned int *)((0x0309 << 2) + 0xff620000) ++#define MINDEX0_REG (0x030a) ++#define P_MINDEX0_REG (volatile unsigned int *)((0x030a << 2) + 0xff620000) ++#define MINDEX1_REG (0x030b) ++#define P_MINDEX1_REG (volatile unsigned int *)((0x030b << 2) + 0xff620000) ++#define MINDEX2_REG (0x030c) ++#define P_MINDEX2_REG (volatile unsigned int *)((0x030c << 2) + 0xff620000) ++#define MINDEX3_REG (0x030d) ++#define P_MINDEX3_REG (volatile unsigned int *)((0x030d << 2) + 0xff620000) ++#define MINDEX4_REG (0x030e) ++#define P_MINDEX4_REG (volatile unsigned int *)((0x030e << 2) + 0xff620000) ++#define MINDEX5_REG (0x030f) ++#define P_MINDEX5_REG (volatile unsigned int *)((0x030f << 2) + 0xff620000) ++#define MINDEX6_REG (0x0310) ++#define P_MINDEX6_REG (volatile unsigned int *)((0x0310 << 2) + 0xff620000) ++#define MINDEX7_REG (0x0311) ++#define P_MINDEX7_REG (volatile unsigned int *)((0x0311 << 2) + 0xff620000) ++#define MMIN_REG (0x0312) ++#define P_MMIN_REG (volatile unsigned int *)((0x0312 << 2) + 0xff620000) ++#define MMAX_REG (0x0313) ++#define P_MMAX_REG (volatile unsigned int *)((0x0313 << 2) + 0xff620000) ++#define MBREAK0_REG (0x0314) ++#define P_MBREAK0_REG (volatile unsigned int *)((0x0314 << 2) + 0xff620000) ++#define MBREAK1_REG (0x0315) ++#define P_MBREAK1_REG (volatile unsigned int *)((0x0315 << 2) + 0xff620000) ++#define MBREAK2_REG (0x0316) ++#define P_MBREAK2_REG (volatile unsigned int *)((0x0316 << 2) + 0xff620000) ++#define MBREAK3_REG (0x0317) ++#define P_MBREAK3_REG (volatile unsigned int *)((0x0317 << 2) + 0xff620000) ++#define MBREAK_TYPE (0x0318) ++#define P_MBREAK_TYPE (volatile unsigned int *)((0x0318 << 2) + 0xff620000) ++#define MBREAK_CTRL (0x0319) ++#define P_MBREAK_CTRL (volatile unsigned int *)((0x0319 << 2) + 0xff620000) ++#define MBREAK_STAUTS (0x031a) ++#define P_MBREAK_STAUTS (volatile unsigned int *)((0x031a << 2) + 0xff620000) ++#define MDB_ADDR_REG (0x031b) ++#define P_MDB_ADDR_REG (volatile unsigned int *)((0x031b << 2) + 0xff620000) ++#define MDB_DATA_REG (0x031c) ++#define P_MDB_DATA_REG (volatile unsigned int *)((0x031c << 2) + 0xff620000) ++#define MDB_CTRL (0x031d) ++#define P_MDB_CTRL (volatile unsigned int *)((0x031d << 2) + 0xff620000) ++#define MSFTINT0 (0x031e) ++#define P_MSFTINT0 (volatile unsigned int *)((0x031e << 2) + 0xff620000) ++#define MSFTINT1 (0x031f) ++#define P_MSFTINT1 (volatile unsigned int *)((0x031f << 2) + 0xff620000) ++#define CSP (0x0320) ++#define P_CSP (volatile unsigned int *)((0x0320 << 2) + 0xff620000) ++#define CPSR (0x0321) ++#define P_CPSR (volatile unsigned int *)((0x0321 << 2) + 0xff620000) ++#define CINT_VEC_BASE (0x0322) ++#define P_CINT_VEC_BASE (volatile unsigned int *)((0x0322 << 2) + 0xff620000) ++#define CCPU_INTR_GRP (0x0323) ++#define P_CCPU_INTR_GRP (volatile unsigned int *)((0x0323 << 2) + 0xff620000) ++#define CCPU_INTR_MSK (0x0324) ++#define P_CCPU_INTR_MSK (volatile unsigned int *)((0x0324 << 2) + 0xff620000) ++#define CCPU_INTR_REQ (0x0325) ++#define P_CCPU_INTR_REQ (volatile unsigned int *)((0x0325 << 2) + 0xff620000) ++#define CPC_P (0x0326) ++#define P_CPC_P (volatile unsigned int *)((0x0326 << 2) + 0xff620000) ++#define CPC_D (0x0327) ++#define P_CPC_D (volatile unsigned int *)((0x0327 << 2) + 0xff620000) ++#define CPC_E (0x0328) ++#define P_CPC_E (volatile unsigned int *)((0x0328 << 2) + 0xff620000) ++#define CPC_W (0x0329) ++#define P_CPC_W (volatile unsigned int *)((0x0329 << 2) + 0xff620000) ++#define CINDEX0_REG (0x032a) ++#define P_CINDEX0_REG (volatile unsigned int *)((0x032a << 2) + 0xff620000) ++#define CINDEX1_REG (0x032b) ++#define P_CINDEX1_REG (volatile unsigned int *)((0x032b << 2) + 0xff620000) ++#define CINDEX2_REG (0x032c) ++#define P_CINDEX2_REG (volatile unsigned int *)((0x032c << 2) + 0xff620000) ++#define CINDEX3_REG (0x032d) ++#define P_CINDEX3_REG (volatile unsigned int *)((0x032d << 2) + 0xff620000) ++#define CINDEX4_REG (0x032e) ++#define P_CINDEX4_REG (volatile unsigned int *)((0x032e << 2) + 0xff620000) ++#define CINDEX5_REG (0x032f) ++#define P_CINDEX5_REG (volatile unsigned int *)((0x032f << 2) + 0xff620000) ++#define CINDEX6_REG (0x0330) ++#define P_CINDEX6_REG (volatile unsigned int *)((0x0330 << 2) + 0xff620000) ++#define CINDEX7_REG (0x0331) ++#define P_CINDEX7_REG (volatile unsigned int *)((0x0331 << 2) + 0xff620000) ++#define CMIN_REG (0x0332) ++#define P_CMIN_REG (volatile unsigned int *)((0x0332 << 2) + 0xff620000) ++#define CMAX_REG (0x0333) ++#define P_CMAX_REG (volatile unsigned int *)((0x0333 << 2) + 0xff620000) ++#define CBREAK0_REG (0x0334) ++#define P_CBREAK0_REG (volatile unsigned int *)((0x0334 << 2) + 0xff620000) ++#define CBREAK1_REG (0x0335) ++#define P_CBREAK1_REG (volatile unsigned int *)((0x0335 << 2) + 0xff620000) ++#define CBREAK2_REG (0x0336) ++#define P_CBREAK2_REG (volatile unsigned int *)((0x0336 << 2) + 0xff620000) ++#define CBREAK3_REG (0x0337) ++#define P_CBREAK3_REG (volatile unsigned int *)((0x0337 << 2) + 0xff620000) ++#define CBREAK_TYPE (0x0338) ++#define P_CBREAK_TYPE (volatile unsigned int *)((0x0338 << 2) + 0xff620000) ++#define CBREAK_CTRL (0x0339) ++#define P_CBREAK_CTRL (volatile unsigned int *)((0x0339 << 2) + 0xff620000) ++#define CBREAK_STAUTS (0x033a) ++#define P_CBREAK_STAUTS (volatile unsigned int *)((0x033a << 2) + 0xff620000) ++#define CDB_ADDR_REG (0x033b) ++#define P_CDB_ADDR_REG (volatile unsigned int *)((0x033b << 2) + 0xff620000) ++#define CDB_DATA_REG (0x033c) ++#define P_CDB_DATA_REG (volatile unsigned int *)((0x033c << 2) + 0xff620000) ++#define CDB_CTRL (0x033d) ++#define P_CDB_CTRL (volatile unsigned int *)((0x033d << 2) + 0xff620000) ++#define CSFTINT0 (0x033e) ++#define P_CSFTINT0 (volatile unsigned int *)((0x033e << 2) + 0xff620000) ++#define CSFTINT1 (0x033f) ++#define P_CSFTINT1 (volatile unsigned int *)((0x033f << 2) + 0xff620000) ++#define IMEM_DMA_CTRL (0x0340) ++#define P_IMEM_DMA_CTRL (volatile unsigned int *)((0x0340 << 2) + 0xff620000) ++#define IMEM_DMA_ADR (0x0341) ++#define P_IMEM_DMA_ADR (volatile unsigned int *)((0x0341 << 2) + 0xff620000) ++#define IMEM_DMA_COUNT (0x0342) ++#define P_IMEM_DMA_COUNT (volatile unsigned int *)((0x0342 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_imem ++// bit[21:16] A_id_imem ++// bit[11:0] wrrsp_count_imem (reserved) ++#define WRRSP_IMEM (0x0343) ++#define P_WRRSP_IMEM (volatile unsigned int *)((0x0343 << 2) + 0xff620000) ++#define LMEM_DMA_CTRL (0x0350) ++#define P_LMEM_DMA_CTRL (volatile unsigned int *)((0x0350 << 2) + 0xff620000) ++#define LMEM_DMA_ADR (0x0351) ++#define P_LMEM_DMA_ADR (volatile unsigned int *)((0x0351 << 2) + 0xff620000) ++#define LMEM_DMA_COUNT (0x0352) ++#define P_LMEM_DMA_COUNT (volatile unsigned int *)((0x0352 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_lmem ++// bit[21:16] A_id_lmem ++// bit[11:0] wrrsp_count_lmem ++#define WRRSP_LMEM (0x0353) ++#define P_WRRSP_LMEM (volatile unsigned int *)((0x0353 << 2) + 0xff620000) ++#define MAC_CTRL1 (0x0360) ++#define P_MAC_CTRL1 (volatile unsigned int *)((0x0360 << 2) + 0xff620000) ++#define ACC0REG1 (0x0361) ++#define P_ACC0REG1 (volatile unsigned int *)((0x0361 << 2) + 0xff620000) ++#define ACC1REG1 (0x0362) ++#define P_ACC1REG1 (volatile unsigned int *)((0x0362 << 2) + 0xff620000) ++#define MAC_CTRL2 (0x0370) ++#define P_MAC_CTRL2 (volatile unsigned int *)((0x0370 << 2) + 0xff620000) ++#define ACC0REG2 (0x0371) ++#define P_ACC0REG2 (volatile unsigned int *)((0x0371 << 2) + 0xff620000) ++#define ACC1REG2 (0x0372) ++#define P_ACC1REG2 (volatile unsigned int *)((0x0372 << 2) + 0xff620000) ++#define CPU_TRACE (0x0380) ++#define P_CPU_TRACE (volatile unsigned int *)((0x0380 << 2) + 0xff620000) ++// ++// Closing file: vcpu_regs.h ++// ++//------------------------------------------------------------------------------ ++// HENC module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: henc_regs.h ++// ++//======================================================================== ++// MDEC module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_HENC_CBUS_BASE = 0x0a ++// ----------------------------------------------- ++#define HENC_SCRATCH_0 (0x1ac0) ++#define P_HENC_SCRATCH_0 (volatile unsigned int *)((0x1ac0 << 2) + 0xff620000) ++#define HENC_SCRATCH_1 (0x1ac1) ++#define P_HENC_SCRATCH_1 (volatile unsigned int *)((0x1ac1 << 2) + 0xff620000) ++#define HENC_SCRATCH_2 (0x1ac2) ++#define P_HENC_SCRATCH_2 (volatile unsigned int *)((0x1ac2 << 2) + 0xff620000) ++#define HENC_SCRATCH_3 (0x1ac3) ++#define P_HENC_SCRATCH_3 (volatile unsigned int *)((0x1ac3 << 2) + 0xff620000) ++#define HENC_SCRATCH_4 (0x1ac4) ++#define P_HENC_SCRATCH_4 (volatile unsigned int *)((0x1ac4 << 2) + 0xff620000) ++#define HENC_SCRATCH_5 (0x1ac5) ++#define P_HENC_SCRATCH_5 (volatile unsigned int *)((0x1ac5 << 2) + 0xff620000) ++#define HENC_SCRATCH_6 (0x1ac6) ++#define P_HENC_SCRATCH_6 (volatile unsigned int *)((0x1ac6 << 2) + 0xff620000) ++#define HENC_SCRATCH_7 (0x1ac7) ++#define P_HENC_SCRATCH_7 (volatile unsigned int *)((0x1ac7 << 2) + 0xff620000) ++#define HENC_SCRATCH_8 (0x1ac8) ++#define P_HENC_SCRATCH_8 (volatile unsigned int *)((0x1ac8 << 2) + 0xff620000) ++#define HENC_SCRATCH_9 (0x1ac9) ++#define P_HENC_SCRATCH_9 (volatile unsigned int *)((0x1ac9 << 2) + 0xff620000) ++#define HENC_SCRATCH_A (0x1aca) ++#define P_HENC_SCRATCH_A (volatile unsigned int *)((0x1aca << 2) + 0xff620000) ++#define HENC_SCRATCH_B (0x1acb) ++#define P_HENC_SCRATCH_B (volatile unsigned int *)((0x1acb << 2) + 0xff620000) ++#define HENC_SCRATCH_C (0x1acc) ++#define P_HENC_SCRATCH_C (volatile unsigned int *)((0x1acc << 2) + 0xff620000) ++#define HENC_SCRATCH_D (0x1acd) ++#define P_HENC_SCRATCH_D (volatile unsigned int *)((0x1acd << 2) + 0xff620000) ++#define HENC_SCRATCH_E (0x1ace) ++#define P_HENC_SCRATCH_E (volatile unsigned int *)((0x1ace << 2) + 0xff620000) ++#define HENC_SCRATCH_F (0x1acf) ++#define P_HENC_SCRATCH_F (volatile unsigned int *)((0x1acf << 2) + 0xff620000) ++#define HENC_SCRATCH_G (0x1ad0) ++#define P_HENC_SCRATCH_G (volatile unsigned int *)((0x1ad0 << 2) + 0xff620000) ++#define HENC_SCRATCH_H (0x1ad1) ++#define P_HENC_SCRATCH_H (volatile unsigned int *)((0x1ad1 << 2) + 0xff620000) ++#define HENC_SCRATCH_I (0x1ad2) ++#define P_HENC_SCRATCH_I (volatile unsigned int *)((0x1ad2 << 2) + 0xff620000) ++#define HENC_SCRATCH_J (0x1ad3) ++#define P_HENC_SCRATCH_J (volatile unsigned int *)((0x1ad3 << 2) + 0xff620000) ++#define HENC_SCRATCH_K (0x1ad4) ++#define P_HENC_SCRATCH_K (volatile unsigned int *)((0x1ad4 << 2) + 0xff620000) ++#define HENC_SCRATCH_L (0x1ad5) ++#define P_HENC_SCRATCH_L (volatile unsigned int *)((0x1ad5 << 2) + 0xff620000) ++#define HENC_SCRATCH_M (0x1ad6) ++#define P_HENC_SCRATCH_M (volatile unsigned int *)((0x1ad6 << 2) + 0xff620000) ++#define HENC_SCRATCH_N (0x1ad7) ++#define P_HENC_SCRATCH_N (volatile unsigned int *)((0x1ad7 << 2) + 0xff620000) ++// bit [7:0] data_feed_buff_id ++#define IE_DATA_FEED_BUFF_INFO (0x1ad8) ++#define P_IE_DATA_FEED_BUFF_INFO (volatile unsigned int *)((0x1ad8 << 2) + 0xff620000) ++// ++// Closing file: henc_regs.h ++// ++//------------------------------------------------------------------------------ ++// VLC module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: vlc_regs.h ++// ++//======================================================================== ++// VLC module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_VLC_CBUS_BASE = 0x0d ++// ----------------------------------------------- ++// Bit[31:28] - henc_status ++// Bit[27:8] - reserved ++// Bit[7] mc_hcmd_buff_enable ++// Bit[6] mc_hcmd_use_mc_hcmd_buff ++// Bit[5] mc_hcmd_use_mc_hcmd_hw_start ++// Bit[4] no_mc_out_null_non_skipped_mb ++// Bit[3] mc_out_even_skipped_mb ++// Bit[2] - hcmd_enable ++// Bit[1] - vlc_control_enable (0 will treat as soft_reset) ++// Bit[0] - vlc_input_enable (enable input interface) ++#define VLC_STATUS_CTRL (0x1d00) ++#define P_VLC_STATUS_CTRL (volatile unsigned int *)((0x1d00 << 2) + 0xff620000) ++// Bit [31] - small_luma_ignore_chroma ++// Bit[30:16] - Reserved ++// Bit [15] - enable_free_clk_mc_hcmd_buff ++// Bit [14] - enable_free_clk_reg ++// Bit [13] - enable_free_clk_stream ++// Bit [12] - enable_free_clk_pre_buff ++// Bit [11] - enable_free_clk_vb_buff ++// Bit [10] - enable_free_clk_dc_input ++// Bit [9] - enable_free_clk_input ++// Bit [8] - enable_free_clk_mv_cal ++// Bit [7] - enable_free_clk_status ++// Bit [6] - enable_free_clk_mc_dblk_cmd_if ++// Bit [5] - disable_mvd_enc_finished ++// Bit [4] - I16MB_share_ipred_mode_with_I4MB ++// Bit [3] - fixed_picture_qp ++// Bit [2] - use_set_b8_mode ( not used now) ++// Bit [1] - use_set_mb_skip_run ++// Bit [0] - pop_coeff_even_all_zero ++#define VLC_CONFIG (0x1d01) ++#define P_VLC_CONFIG (volatile unsigned int *)((0x1d01 << 2) + 0xff620000) ++// -------------------------------------------- ++// Bitstream DDR Interface ++// -------------------------------------------- ++#define VLC_VB_START_PTR (0x1d10) ++#define P_VLC_VB_START_PTR (volatile unsigned int *)((0x1d10 << 2) + 0xff620000) ++#define VLC_VB_END_PTR (0x1d11) ++#define P_VLC_VB_END_PTR (volatile unsigned int *)((0x1d11 << 2) + 0xff620000) ++#define VLC_VB_WR_PTR (0x1d12) ++#define P_VLC_VB_WR_PTR (volatile unsigned int *)((0x1d12 << 2) + 0xff620000) ++// Read Only, VLC_VB_SW_RD_PTR or VLC_VB_HW_RD_PTR ++#define VLC_VB_RD_PTR (0x1d13) ++#define P_VLC_VB_RD_PTR (volatile unsigned int *)((0x1d13 << 2) + 0xff620000) ++#define VLC_VB_SW_RD_PTR (0x1d14) ++#define P_VLC_VB_SW_RD_PTR (volatile unsigned int *)((0x1d14 << 2) + 0xff620000) ++// Read Only ++#define VLC_VB_LEFT (0x1d15) ++#define P_VLC_VB_LEFT (volatile unsigned int *)((0x1d15 << 2) + 0xff620000) ++// VB FIFO Control ++// bit [31:24] vb_full_int_enable_cpu[7:0] ++// bit [23:16] vb_full_int_enable_amrisc[7:0] ++// -bit 23 Video BUFFER LEFT < 0x400 Bytes ++// -bit 22 Video BUFFER LEFT < 0x200 Bytes ++// -bit 21 Video BUFFER LEFT < 0x100 Bytes ++// -bit 20 Video BUFFER LEFT < 0x80 Bytes ++// -bit 19 Video BUFFER LEFT < 0x40 Bytes ++// -bit 18 Video BUFFER LEFT < 0x20 Bytes ++// -bit 17 vbfifo left < 16 double words (8x64bits) ++// -bit 16 vbfifo left < 8 double words (4x64bits) ++// bit [15] wr_ptr_int_enable_cpu ++// bit [14] wr_ptr_int_enable_amrisc ++// bit [13] wr_ptr_int (Read Only, write 1 will clear) ++// bit [12] vb_full_int_enable_cpu(Read Only) ++// bit [11] vb_full_int_enable_amrisc(Read Only) ++// bit [10] reserved ++// bit [9] use_vb_hw_rd_ptr ++// bit [8] vb_always_ready Set to 1 to ignore vb_level blocking DDR write ++// bit [7] vb_ready_for_transfer (Read Only) ++// bit [6] data_ready_for_transfer (Read Only) ++// bits [5:3] vb_endian Set VB Endian inside DDR memory ++// bit [2] vb_write_busy Read Only - indicate DDR write busy ++// bit [1] vb_write_en Set to 1 to enable writing data to DDR memory ++// bit [0] vb_soft_reset Soft reset ++#define VLC_VB_CONTROL (0x1d16) ++#define P_VLC_VB_CONTROL (volatile unsigned int *)((0x1d16 << 2) + 0xff620000) ++// bit 31 transfer_length 0 - 32x64 Bits per request, 1 - 16x64 Bits per request // default : 0 ++// bit 30 A_urgent // default : 0 ++// bit 29:24 A_brst_num // default : 0x3f ++// bit 23:22 reserved ++// bit 21:16 A_id // default : 0x20 ++// bit 15:0 vb_left_hold // default : 0 ++#define VLC_VB_MEM_CTL (0x1d17) ++#define P_VLC_VB_MEM_CTL (volatile unsigned int *)((0x1d17 << 2) + 0xff620000) ++// vb_wr_ptr address to generate interrupt ++#define VLC_VB_INT_PTR (0x1d18) ++#define P_VLC_VB_INT_PTR (volatile unsigned int *)((0x1d18 << 2) + 0xff620000) ++// bit[31:12] reserved ++// bit[11:0] vlc_wrrsp_count ++#define VLC_WRRSP (0x1d19) ++#define P_VLC_WRRSP (volatile unsigned int *)((0x1d19 << 2) + 0xff620000) ++#define VLC_TOTAL_BYTES (0x1d1a) ++#define P_VLC_TOTAL_BYTES (volatile unsigned int *)((0x1d1a << 2) + 0xff620000) ++// bit [31:26] reserved ++// bit [25] vb_flush ++// bit [24] vb_reg_ready ++// bit [23:16] vb_buff_left -- Read only ++// bit [15:8] vb_buff_wr_point -- RW ++// bit [7:0] vb_buff_rd_point -- RW ++#define VLC_VB_BUFF (0x1d1b) ++#define P_VLC_VB_BUFF (volatile unsigned int *)((0x1d1b << 2) + 0xff620000) ++// bit[31] flush_vlc_pre_buff ++// bit[30:27] reserved ++// bit[26:24] vb_pre_buff_level ++// bit[23:0] vb_pre_buff_data[55:32] ++#define VLC_VB_PRE_BUFF_HI (0x1d1c) ++#define P_VLC_VB_PRE_BUFF_HI (volatile unsigned int *)((0x1d1c << 2) + 0xff620000) ++// bit[31:0] vb_pre_buff_data[31:0] ++#define VLC_VB_PRE_BUFF_LOW (0x1d1d) ++#define P_VLC_VB_PRE_BUFF_LOW (volatile unsigned int *)((0x1d1d << 2) + 0xff620000) ++// bit[31] stream_encap_enable // 0x0000(00-03) will be changed to 0x000003(00-03) if enabled ++// bit[30:29] stream_encap_delay // delay bytes for encap used ++// bit[28:24] stream_buff_point ++// bit[23:0] stream_buff_data ++#define VLC_STREAM_BUFF (0x1d1e) ++#define P_VLC_STREAM_BUFF (volatile unsigned int *)((0x1d1e << 2) + 0xff620000) ++// bit[31] push_stream_block - Read Only (Will set if vb_buff full) ++// bit[30] push_stream_busy - Read Only (busy when output one byte from stream_buf (max 2 clocks for 8 bits push) ++// bit[29:28] stream_encap_status - Read Only ++// bit[27:21] reserved ++// Long Mode : (Amrisc need movilo and mvihi high to set stream_info) ++// bit[20:16] push_stream_long_length (0 or 31 : Mid or Short mode) ++// bit[15:0] push_stream_data ++// Mid Mode : (Amrisc need movi to set stream_info) ++// bit[15:12]] push_stream_mid_length (1-12 : mid mode active, 0-short mode, 15 - byte align) ++// bit[11:0] push_stream_data ++// Short Mode : (Amrisc can use mtspi to push stream directely) ++// bit[7:5] push_stream_short_length (0-5 : short length, else - invalid) ++// bit[4:0] push_stream_data ++#define VLC_PUSH_STREAM (0x1d1f) ++#define P_VLC_PUSH_STREAM (volatile unsigned int *)((0x1d1f << 2) + 0xff620000) ++// bit[15:8] ELEMENT_LENGTH ++// bit[7:1] reserved ++// bit[0] Write - push start, Read - Push Busy ++#define VLC_PUSH_ELEMENT (0x1d20) ++#define P_VLC_PUSH_ELEMENT (volatile unsigned int *)((0x1d20 << 2) + 0xff620000) ++#define VLC_ELEMENT_DATA (0x1d21) ++#define P_VLC_ELEMENT_DATA (volatile unsigned int *)((0x1d21 << 2) + 0xff620000) ++// bit[7] hcmd_intra_use_sw_info ++// bit[6] hcmd_use_sw_info ++// bit[5] always_use_info_0_cbp_blk ++// bit[4] always_update_info_0_cbp_blk ++// bit[3] reset_left_mb_wr ++// bit[2] reset_top_mb_wr ++// bit[1] set_left_mb_wr ++// bit[0] set_top_mb_wr ++#define VLC_SPECIAL_CTL (0x1d22) ++#define P_VLC_SPECIAL_CTL (volatile unsigned int *)((0x1d22 << 2) + 0xff620000) ++// bit[28] left_intra ++// bit[27:22] left_quant ++// bit[21:16] left_quant_c ++// bit[12] top_intra ++// bit[11:6] top_quant ++// bit[5:0] top_quant_c ++#define VLC_HCMD_T_L_INFO (0x1d23) ++#define P_VLC_HCMD_T_L_INFO (volatile unsigned int *)((0x1d23 << 2) + 0xff620000) ++// bit[12] cur_intra ++// bit[11:6] cur_quant ++// bit[5:0] cur_quant_c ++#define VLC_HCMD_CUR_INFO (0x1d24) ++#define P_VLC_HCMD_CUR_INFO (volatile unsigned int *)((0x1d24 << 2) + 0xff620000) ++// bit[13] top_left_info_in_data_mv_cal ++// bit[12] only_use_info_0_top_left_in_I ++// bit[11] top_left_info_in_data ++// bit[10] early_mix_mc_hcmd ++// bit[9] update_top_left_mix ++// bit[8] p_top_left_mix ++// bit[7] mv_cal_mixed_type ++// bit[6] mc_hcmd_mixed_type ++// bit[5] use_seperate_int_control ++// bit[4] hcmd_intra_use_q_info ++// bit[3] hcmd_left_use_prev_info ++// bit[2] hcmd_use_q_info ++// bit[1] use_q_delta_quant ++// bit[0] detect_I16_from_I4 ++#define VLC_ADV_CONFIG (0x1d25) ++#define P_VLC_ADV_CONFIG (volatile unsigned int *)((0x1d25 << 2) + 0xff620000) ++// 31 - use_hcmd_mb_xy_auto ++//23:16 - hcmd_max_mb_x ++//15:8 - hcmd_mb_y_auto ++// 7:0 - hcmd_mb_x_auto ++#define VLC_HCMD_MBXY_AUTO (0x1d26) ++#define P_VLC_HCMD_MBXY_AUTO (volatile unsigned int *)((0x1d26 << 2) + 0xff620000) ++// bit[31:0] vlc_int_control_inter -- will be used when use_seperate_int_control is set ++#define VLC_INT_CONTROL_INTER (0x1d2f) ++#define P_VLC_INT_CONTROL_INTER (volatile unsigned int *)((0x1d2f << 2) + 0xff620000) ++// -------------------------------------------- ++// Picture VLC ++// -------------------------------------------- ++// (&(int|(~AND_enable))|(|(int&OR_enable))) ++// bit[31] OR interrupt Enable Reserved ++// bit[30] OR interrupt Enable for mv_busy ++// bit[29] OR interrupt Enable for b8_mode_busy ++// bit[28] OR interrupt Enable for mb_skip_run_busy ++// bit[27] OR interrupt Enable for cbp_busy ++// bit[26] OR interrupt Enable for Reserved ++// bit[25] OR interrupt Enable for Reserved ++// bit[24] OR interrupt Enable for mb_info_busy ++// bit[23] AND interrupt Enable Reserved ++// bit[22] AND interrupt Enable for mv_busy ++// bit[21] AND interrupt Enable for b8_mode_busy ++// bit[20] AND interrupt Enable for mb_skip_run_busy ++// bit[19] AND interrupt Enable for cbp_busy ++// bit[18] AND interrupt Enable for Reserved ++// bit[17] AND interrupt Enable for Reserved ++// bit[16] AND interrupt Enable for mb_info_busy ++// bit[15] OR interrupt Enable Reserved ++// bit[14] OR interrupt Enable for mvd ++// bit[13] OR interrupt Enable for b8_mode ++// bit[12] OR interrupt Enable for mb_skip_run ++// bit[11] OR interrupt Enable for cbp_ready ++// bit[10] OR interrupt Enable for c_ipred_mode_ready ++// bit[9] OR interrupt Enable for ipred_mode_ready ++// bit[8] OR interrupt Enable for mb_info_ready ++// bit[7] AND interrupt Enable Reserved ++// bit[6] AND interrupt Enable for mvd ++// bit[5] AND interrupt Enable for b8_mode ++// bit[4] AND interrupt Enable for mb_skip_run ++// bit[3] AND interrupt Enable for cbp_ready ++// bit[2] AND interrupt Enable for c_ipred_mode_ready ++// bit[1] AND interrupt Enable for ipred_mode_ready ++// bit[0] AND interrupt Enable for mb_info_ready ++#define VLC_INT_CONTROL (0x1d30) ++#define P_VLC_INT_CONTROL (volatile unsigned int *)((0x1d30 << 2) + 0xff620000) ++// Bit[31:16] picture_height ++// Bit[15:0] picture_width ++#define VLC_PIC_SIZE (0x1d31) ++#define P_VLC_PIC_SIZE (volatile unsigned int *)((0x1d31 << 2) + 0xff620000) ++// [31:16] Reserved ++// [15:3] pic_width_in_mbs_minus1 ++// [2:0] picture_type ++#define VLC_PIC_INFO (0x1d32) ++#define P_VLC_PIC_INFO (volatile unsigned int *)((0x1d32 << 2) + 0xff620000) ++// Bit[31:16] MB_NR ++// Bit[15:8] MBY ++// Bit[7:0] MBX ++#define VLC_PIC_POSITION (0x1d33) ++#define P_VLC_PIC_POSITION (volatile unsigned int *)((0x1d33 << 2) + 0xff620000) ++// Bit[31] MV_busy ++// Bit[30:6] Reserved ++// Bit[15] Reserved ++// Bit[14] vlc_input_MV_busy ++// Bit[13] vlc_input_b8_mode_busy ++// Bit[12] vlc_input_mb_skip_run_busy ++// Bit[11] vlc_input_cbp_busy ++// Bit[10] Reserved ++// Bit[9] Reserved ++// Bit[8] vlc_input_mb_info_busy ++// Bit[7] Reserved ++// Bit[6] mvd ++// Bit[5] b8_mode ++// Bit[4] mb_skip_run ++// Bit[3] cbp ++// Bit[2] c_ipred_mode ++// Bit[1] ipred_mode ++// Bit[0] mb_info ( mb_type, mb_x, mb_y) ++#define VLC_INPUT_STATUS (0x1d34) ++#define P_VLC_INPUT_STATUS (volatile unsigned int *)((0x1d34 << 2) + 0xff620000) ++// Bit[31:28] detected_mb_type ++// Bit[27:16] mb_y ++// Bit[15:4] mb_x ++// Bit[3:0] mb_type ++#define VLC_MB_INFO (0x1d35) ++#define P_VLC_MB_INFO (volatile unsigned int *)((0x1d35 << 2) + 0xff620000) ++// commnad 0 -- no pending ++// normal command + 1 is pending command ++// ++// bit 31:28 -- pending command 7 ++// bit 27:24 -- pending command 6 ++// bit 23:20 -- pending command 5 ++// bit 19:16 -- pending command 4 ++// bit 15:12 -- pending command 3 ++// bit 11:8 -- pending command 2 ++// bit 7:4 -- pending command 1 ++// bit 3:0 -- pending command 0 ++#define VLC_ENC_PEND_CMD (0x1d36) ++#define P_VLC_ENC_PEND_CMD (volatile unsigned int *)((0x1d36 << 2) + 0xff620000) ++// For I Slice ++// Bit[31:16] Reserved ++// Bit[15:0] IntraType ++#define HENC_TOP_INFO_0 (0x1d37) ++#define P_HENC_TOP_INFO_0 (volatile unsigned int *)((0x1d37 << 2) + 0xff620000) ++#define HENC_LEFT_INFO_0 (0x1d38) ++#define P_HENC_LEFT_INFO_0 (volatile unsigned int *)((0x1d38 << 2) + 0xff620000) ++// For I Slice ++// Bit[31:24] V_nnz ++// Bit[23:16] U_nnz ++// Bit[15:0] Y_nnz ++#define HENC_TOP_INFO_1 (0x1d39) ++#define P_HENC_TOP_INFO_1 (volatile unsigned int *)((0x1d39 << 2) + 0xff620000) ++#define HENC_LEFT_INFO_1 (0x1d3a) ++#define P_HENC_LEFT_INFO_1 (volatile unsigned int *)((0x1d3a << 2) + 0xff620000) ++// bit[63:0] ipred_mode ++#define VLC_IPRED_MODE_HI (0x1d3b) ++#define P_VLC_IPRED_MODE_HI (volatile unsigned int *)((0x1d3b << 2) + 0xff620000) ++#define VLC_IPRED_MODE_LO (0x1d3c) ++#define P_VLC_IPRED_MODE_LO (volatile unsigned int *)((0x1d3c << 2) + 0xff620000) ++// bit[15:8] SE delta quant ++// bit[7:0] UE delta quant ++#define VLC_DELTA_QP (0x1d3d) ++#define P_VLC_DELTA_QP (volatile unsigned int *)((0x1d3d << 2) + 0xff620000) ++// bit[31:16] Reserved ++// bit[15:12] Reserved ++// bit[11:8] c_ipred_mode ++// bit[7:0] cbp ++#define VLC_MB_HEADER_INFO (0x1d3e) ++#define P_VLC_MB_HEADER_INFO (volatile unsigned int *)((0x1d3e << 2) + 0xff620000) ++// bit[31:16] mb_skip_run ++// bit[15:0] b8_mode ++#define VLC_P_MB_HEADER_INFO (0x1d3f) ++#define P_VLC_P_MB_HEADER_INFO (volatile unsigned int *)((0x1d3f << 2) + 0xff620000) ++// bit[31] write_ptr_update ++// bit[30] read_ptr_update ++// bit[29:20] coeff_buf_level ++// bit[19:10] coeff_buf_write_ptr ++// bit[9:0] coeff_buf_read_ptr ++#define VLC_COEFF_BUF_STATUS (0x1d40) ++#define P_VLC_COEFF_BUF_STATUS (volatile unsigned int *)((0x1d40 << 2) + 0xff620000) ++// bit[31:10] Reserved ++// bit[9:0] read_req_addr ++#define VLC_COEFF_RD_REQ (0x1d41) ++#define P_VLC_COEFF_RD_REQ (volatile unsigned int *)((0x1d41 << 2) + 0xff620000) ++// bit[20] - coeff_buf_read_finished ++// bit[19] - coeff_first ++// bit[18:4] - coeff_level ++// bit[3:0] - coeff_run ++#define VLC_COEFF (0x1d42) ++#define P_VLC_COEFF (volatile unsigned int *)((0x1d42 << 2) + 0xff620000) ++// bit[31] - coeff_info_ready ++// bit[30:25] - Reserved ++// bit[24:15] - block_begin_addr ++// bit[14:11] - trailing_one_sign ++// bit[10:6] - total_coeff ++// bit[5:4] - trailing_ones ++// bit[3:0] - total_zeros ++#define VLC_COEFF_INFO (0x1d43) ++#define P_VLC_COEFF_INFO (volatile unsigned int *)((0x1d43 << 2) + 0xff620000) ++// bit[31] write_ptr_update ++// bit[30] read_ptr_update ++// bit[29:25] Reserved ++// bit[24:20] dc_buf_level -- 0-16 ++// bit[19:15] Reserved ++// bit[14:10] dc_buf_write_ptr ++// bit[9:5] Reserved ++// bit[4:0] dc_buf_read_ptr ++#define VLC_DC_BUF_STATUS (0x1d44) ++#define P_VLC_DC_BUF_STATUS (volatile unsigned int *)((0x1d44 << 2) + 0xff620000) ++// bit[31:10] Reserved ++// bit[9:4] Reserved ++// bit[3:0] read_req_addr ++#define VLC_DC_RD_REQ (0x1d45) ++#define P_VLC_DC_RD_REQ (volatile unsigned int *)((0x1d45 << 2) + 0xff620000) ++// bit[31:17] - Reserved ++// bit[16] - dc_first ++// bit[15:1] - dc_level ++// bit[0] - dc_type 0 - CDC, 1 - LDC ++#define VLC_DC (0x1d46) ++#define P_VLC_DC (volatile unsigned int *)((0x1d46 << 2) + 0xff620000) ++// bit[31] - dc_info_ready ++// bit[30:25] - Reserved ++// bit[24:20] - Reserved ++// bit[19:15] - dc_idx_begin_addr ++// bit[14:11] - dc_trailing_one_sign ++// bit[10:6] - dc_total_coeff ++// bit[5:4] - dc_trailing_ones ++// bit[3:0] - dc_total_zeros ++#define VLC_DC_INFO (0x1d47) ++#define P_VLC_DC_INFO (volatile unsigned int *)((0x1d47 << 2) + 0xff620000) ++// bit[31:4] - Reserved ++// bit[3:0] - mv_rw_idx (auto increment when read/write VLC_MV) ++#define VLC_MV_INDEX (0x1d48) ++#define P_VLC_MV_INDEX (volatile unsigned int *)((0x1d48 << 2) + 0xff620000) ++// bit[31:16] - MVY ++// bit[15:0] - MVX ++#define VLC_MV (0x1d49) ++#define P_VLC_MV (volatile unsigned int *)((0x1d49 << 2) + 0xff620000) ++// bit[31:16] - MVY ++// bitp15:0] - MVX ++// Write to HENC_TOP_MV_0 will cause previous U->UL, UR->U, and UR write ++// Read will read U MV only ++#define HENC_TOP_MV_0 (0x1d4a) ++#define P_HENC_TOP_MV_0 (volatile unsigned int *)((0x1d4a << 2) + 0xff620000) ++#define HENC_TOP_MV_1 (0x1d4b) ++#define P_HENC_TOP_MV_1 (volatile unsigned int *)((0x1d4b << 2) + 0xff620000) ++#define HENC_TOP_MV_2 (0x1d4c) ++#define P_HENC_TOP_MV_2 (volatile unsigned int *)((0x1d4c << 2) + 0xff620000) ++#define HENC_TOP_MV_3 (0x1d4d) ++#define P_HENC_TOP_MV_3 (volatile unsigned int *)((0x1d4d << 2) + 0xff620000) ++#define HENC_LEFT_MV_0 (0x1d4e) ++#define P_HENC_LEFT_MV_0 (volatile unsigned int *)((0x1d4e << 2) + 0xff620000) ++#define HENC_LEFT_MV_1 (0x1d4f) ++#define P_HENC_LEFT_MV_1 (volatile unsigned int *)((0x1d4f << 2) + 0xff620000) ++#define HENC_LEFT_MV_2 (0x1d50) ++#define P_HENC_LEFT_MV_2 (volatile unsigned int *)((0x1d50 << 2) + 0xff620000) ++#define HENC_LEFT_MV_3 (0x1d51) ++#define P_HENC_LEFT_MV_3 (volatile unsigned int *)((0x1d51 << 2) + 0xff620000) ++// Bit[31:1] Reserved ++// Bit[0] top_left_mv_ready ++#define TOP_LEFT_READY (0x1d52) ++#define P_TOP_LEFT_READY (volatile unsigned int *)((0x1d52 << 2) + 0xff620000) ++// Bit[31:16] Reserved ++// Bit[15:0] mb_skip_run ++#define MB_SKIP_RUN (0x1d53) ++#define P_MB_SKIP_RUN (volatile unsigned int *)((0x1d53 << 2) + 0xff620000) ++// Bit[31:16] Reserved ++// Bit[15] Reserved ++// Bit[14:13] rd_struct // 00 - frame, 10 - top field, 11 - bottom field ++// Bit[12:11] wr_struct // 00 - frame, 10 - top field, 11 - bottom field ++// Bit[10:5] mv_buff_id ++// Bit[4:0] mv_ref ++#define VLC_HCMD_CONFIG (0x1d54) ++#define P_VLC_HCMD_CONFIG (volatile unsigned int *)((0x1d54 << 2) + 0xff620000) ++// Bit[9:0] h264_dblk_info ++#define VLC_HCMD_DBLK_INFO (0x1d55) ++#define P_VLC_HCMD_DBLK_INFO (volatile unsigned int *)((0x1d55 << 2) + 0xff620000) ++// Bit[3:0] vlc_dbg_idx ++#define VLC_DBG_IDX (0x1d56) ++#define P_VLC_DBG_IDX (volatile unsigned int *)((0x1d56 << 2) + 0xff620000) ++// Read Only ++#define VLC_DBG_READ (0x1d57) ++#define P_VLC_DBG_READ (volatile unsigned int *)((0x1d57 << 2) + 0xff620000) ++// [ 29] RW jpeg_comp2_ac_table_sel. Default 0. ++// [ 28] RW jpeg_comp2_dc_table_sel. Default 0. ++// [26:25] RW jpeg_comp2_cnt_max. Default 0. ++// [ 24] RW jpeg_comp2_en. Set 1 if the scan will include component 2 (Cr). Default 0. ++// [ 21] RW jpeg_comp1_ac_table_sel. Default 0. ++// [ 20] RW jpeg_comp1_dc_table_sel. Default 0. ++// [18:17] RW jpeg_comp1_cnt_max. Default 0. ++// [ 16] RW jpeg_comp1_en. Set 1 if the scan will include component 1 (Cb). Default 0. ++// [ 13] RW jpeg_comp0_ac_table_sel. Default 0. ++// [ 12] RW jpeg_comp0_dc_table_sel. Default 0. ++// [10: 9] RW jpeg_comp0_cnt_max. Default 0. ++// [ 8] RW jpeg_comp0_en. Set 1 if the scan will include component 0 (Y). Default 0. ++// [ 1] W jpeg_coeff_init. Write 1 to this bit to initialize JPEG run length encoder. ++// [ 0] RW jpeg_en. 0=Disable JPEG encoder; 1=Enable JPEG encoder. Default 0. ++#define VLC_JPEG_CTRL (0x1d58) ++#define P_VLC_JPEG_CTRL (volatile unsigned int *)((0x1d58 << 2) + 0xff620000) ++// [ 13] RW jpeg_coeff_buf_overfl. Write this bit to 1 to clear overfl. ++// [ 12] RW jpeg_coeff_buf_undrfl. Write this bit to 1 to clear undrfl. ++// [ 11] R jpeg_coeff_buf_full. ++// [ 10] R jpeg_coeff_buf_empty. ++// [ 8: 0] R jpeg_coeff_buf_level. ++#define VLC_JPEG_COEFF_BUF_STAT (0x1d59) ++#define P_VLC_JPEG_COEFF_BUF_STAT (volatile unsigned int *)((0x1d59 << 2) + 0xff620000) ++// [ 16] RW JPEG HUFFMAN table access mode. 0=Write; 1=Read. Default 1. ++// [ 8: 0] RW JPEG HUFFMAN table addr. Default 0. ++#define VLC_HUFFMAN_ADDR (0x1d5a) ++#define P_VLC_HUFFMAN_ADDR (volatile unsigned int *)((0x1d5a << 2) + 0xff620000) ++// [19: 0] RW JPEG HUFFMAN table data. ++#define VLC_HUFFMAN_DATA (0x1d5b) ++#define P_VLC_HUFFMAN_DATA (volatile unsigned int *)((0x1d5b << 2) + 0xff620000) ++// bit[31:0] enc_mv_bits - including b8_mode and mvd ++#define VLC_ENC_MV_BITS (0x1d5c) ++#define P_VLC_ENC_MV_BITS (volatile unsigned int *)((0x1d5c << 2) + 0xff620000) ++// bit[31:0] enc_coeff_bits - including cbp, token, trailing_sign, coeff_enc, h264_totzeros, h264_run ++#define VLC_ENC_COEFF_BITS (0x1d5d) ++#define P_VLC_ENC_COEFF_BITS (volatile unsigned int *)((0x1d5d << 2) + 0xff620000) ++// ++// Closing file: vlc_regs.h ++// ++//------------------------------------------------------------------------------ ++// QDCT module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: qdct_regs.h ++// ++//======================================================================== ++// QDCT module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_QDCT_CBUS_BASE = 0x0f ++// ----------------------------------------------- ++// bit[31:28] - mb_info_state ++#define QDCT_STATUS_CTRL (0x1f00) ++#define P_QDCT_STATUS_CTRL (volatile unsigned int *)((0x1f00 << 2) + 0xff620000) ++// bit[18] - enable_free_clk_sad_top ++// bit[17] - enable_free_clk_ie_top ++// bit[16] - enable_free_clk_ie_sub ++// bit[15] - enable_free_clk_mc_out ++// bit[14] - enable_free_clk_i_pred_top ++// bit[13] - enable_free_clk_idct_top ++// bit[12] - enable_free_clk_iq_top ++// bit[11] - enable_free_clk_q_top ++// bit[10] - enable_free_clk_dc_buff_8 ++// bit[9] - enable_free_clk_dct_top ++// bit[8] - enable_free_clk_mb_info ++// bit[7] - enable_free_clk_mb_buff ++// bit[6] - enable_free_clk_reg ++// bit[5] - ignore_1_include_2nd_half_c ++// bit[4] - ignore_1_include_2nd_half ++// bit[3] - ignore_t_p8x8 ++// bit[2] - not_ignore_dc ++// bit[1] - ignore_small_lac_intra ++// bit[0] - disable_fast_zero_block ++#define QDCT_CONFIG (0x1f01) ++#define P_QDCT_CONFIG (volatile unsigned int *)((0x1f01 << 2) + 0xff620000) ++// bit[31] - ignore_lac_coeff_en ++// bit[30:26] - ignore_lac_coeff_else ++// bit[25:21] - ignore_lac_coeff_2 ++// bit[20:16] - ignore_lac_coeff_1 ++// bit[15] - ignore_cac_coeff_en ++// bit[14:10] - ignore_cac_coeff_else ++// bit[9:5] - ignore_cac_coeff_2 ++// bit[4:0] - ignore_cac_coeff_1 ++#define IGNORE_CONFIG (0x1f02) ++#define P_IGNORE_CONFIG (volatile unsigned int *)((0x1f02 << 2) + 0xff620000) ++// bit[31] - ignore_t_lac_coeff_en ++// bit[30:26] - ignore_t_lac_coeff_else ++// bit[25:21] - ignore_t_lac_coeff_2 ++// bit[20:16] - ignore_t_lac_coeff_1 ++// bit[15] - ignore_cdc_coeff_en ++// bit[14] - ignore_t_lac_coeff_else_le_3 ++// bit[13] - ignore_t_lac_coeff_else_le_4 ++// bit[12] - ignore_cdc_only_when_empty_cac_inter ++// bit[11] - ignore_cdc_only_when_one_empty_inter ++// bit[10:9] - ignore_cdc_range_max_inter // 0-0, 1-1, 2,-2, 3-3 ++// bit[8:7] - ignore_cdc_abs_max_inter // 0-1, 1-2, 2,-3, 3-4 ++// bit[6] - reserved ++// bit[5] - ignore_cdc_only_when_empty_cac_intra ++// bit[4] - ignore_cdc_only_when_one_empty_intra ++// bit[3:2] - ignore_cdc_range_max_intra // 0-0, 1-1, 2,-2, 3-3 ++// bit[1:0] - ignore_cdc_abs_max_intra // 0-1, 1-2, 2,-3, 3-4 ++#define IGNORE_CONFIG_2 (0x1f03) ++#define P_IGNORE_CONFIG_2 (volatile unsigned int *)((0x1f03 << 2) + 0xff620000) ++// -------------------------------------------- ++// MB DATA DDR Interface ++// -------------------------------------------- ++#define QDCT_MB_START_PTR (0x1f10) ++#define P_QDCT_MB_START_PTR (volatile unsigned int *)((0x1f10 << 2) + 0xff620000) ++#define QDCT_MB_END_PTR (0x1f11) ++#define P_QDCT_MB_END_PTR (volatile unsigned int *)((0x1f11 << 2) + 0xff620000) ++#define QDCT_MB_WR_PTR (0x1f12) ++#define P_QDCT_MB_WR_PTR (volatile unsigned int *)((0x1f12 << 2) + 0xff620000) ++#define QDCT_MB_RD_PTR (0x1f13) ++#define P_QDCT_MB_RD_PTR (volatile unsigned int *)((0x1f13 << 2) + 0xff620000) ++#define QDCT_MB_LEVEL (0x1f14) ++#define P_QDCT_MB_LEVEL (volatile unsigned int *)((0x1f14 << 2) + 0xff620000) ++// bit [31] disable_mbxy_ie_save ++// bit [30] no_wait_after_q_cdc ++// bit [29] ie_start_int_enable ++// bit [28] ignore_t_p8x8 ++// bit [27] zero_mc_out_null_non_skipped_mb ++// bit [26] no_mc_out_null_non_skipped_mb ++// bit [25] mc_out_even_skipped_mb ++// bit [24] mc_out_wait_cbp_ready ++// bit [23] mc_out_wait_mb_type_ready ++// bit [22] i_pred_int_enable ++// bit [21] intra_sat8_enable ++// bit [20] ie_sub_enable ++// bit [19] i_pred_enable ++// bit [18] iq_enable ++// bit [17] idct_enable ++// bit [16] no_zero_coeff_mb ++// bit [15] add_zero_coeff_block ++// bit [14] mb_pause_enable ++// bit [13] q_enable ++// bit [12] dct_enable ++// bit [11] ignore_magic_word ++// bit [10] mb_info_en ++// bit [9] mb_info_soft_reset ++// bit [8] mb_always_ready Set to 1 to ignore mb_level blocking DDR read ++// bit [7] mb_ready_for_transfer (Read Only) ++// bit [6] data_ready_for_transfer (Read Only) ++// bits [5:3] mb_endian Set MB Endian inside DDR memory ++// bit [2] mb_read_busy Read Only - indicate DDR read busy ++// bit [1] mb_read_en Set to 1 to enable reading data from DDR memory ++// bit [0] mb_soft_reset Soft reset ++#define QDCT_MB_CONTROL (0x1f15) ++#define P_QDCT_MB_CONTROL (volatile unsigned int *)((0x1f15 << 2) + 0xff620000) ++// bit 31 transfer_length 0 - 32x64 Bits per request, 1 - 16x64 Bits per request // default : 0 ++// bit 30 A_urgent // default : 0 ++// bit 29:24 A_brst_num // default : 0x3f ++// bit 23 reserved ++// bit 22 read_till_zero ++// bit 21:16 A_id // default : 0x21 ++// bit 15:0 mb_level_hold // default : 0 ++#define QDCT_MB_MEM_CTL (0x1f16) ++#define P_QDCT_MB_MEM_CTL (volatile unsigned int *)((0x1f16 << 2) + 0xff620000) ++// bit [31:24] reserved ++// bit [23:16] vb_buff_level -- Read only ++// bit [15:8] vb_buff_wr_point -- RW ++// bit [7:0] vb_buff_rd_point -- RW ++#define QDCT_MB_BUFF (0x1f17) ++#define P_QDCT_MB_BUFF (volatile unsigned int *)((0x1f17 << 2) + 0xff620000) ++// bit [31:0] mb infor data begin magic word - default : 0xa55aaa55 ++#define QDCT_MB_MAGIC_WORD (0x1f18) ++#define P_QDCT_MB_MAGIC_WORD (volatile unsigned int *)((0x1f18 << 2) + 0xff620000) ++// Read Only Register ++// bit[19] dct_ready_1 ++// bit[18] dct_ready_0 ++// bit[17] dct_rd_idx ++// bit[16] dct_wr_idx ++// bit[15] dct_srdy ++// bit[14] dct_rrdy ++// bit[13] Reserved ++// bit[12:8] dct_block_number ++// bit[7:4] dct_rw_addr ++// bit[3:0] dct_status ++#define QDCT_DCT_STATUS (0x1f19) ++#define P_QDCT_DCT_STATUS (volatile unsigned int *)((0x1f19 << 2) + 0xff620000) ++// bit[24:23] vlc_quant_count ++// bit[22:16] vlc_delta_quant_data ++// bit[15:10] vlc_quant_data ++// bit[9:4] vlc_prev_quant_data ++// bit[3:0] q_status ++#define QDCT_Q_STATUS (0x1f1a) ++#define P_QDCT_Q_STATUS (volatile unsigned int *)((0x1f1a << 2) + 0xff620000) ++// bit[31:3] Reserved ++// bit[2:0] picture_type ++#define QDCT_PIC_INFO (0x1f1b) ++#define P_QDCT_PIC_INFO (volatile unsigned int *)((0x1f1b << 2) + 0xff620000) ++// bit[31:28] Reserved ++// bit[27:22] I_pic_quant_c ++// bit[21:16] I_pic_quant ++// bit[15] reserved ++// bit[14:12] quant_rem_c ++// bit[11:8] quant_per_c ++// bit[7] reserved ++// bit[6:4] quant_rem ++// bit[3:0] quant_per ++#define QDCT_Q_QUANT_I (0x1f1c) ++#define P_QDCT_Q_QUANT_I (volatile unsigned int *)((0x1f1c << 2) + 0xff620000) ++// bit[31:28] Reserved ++// bit[27:22] P_pic_quant_c ++// bit[21:16] P_pic_quant ++// bit[15] reserved ++// bit[14:12] quant_rem_c ++// bit[11:8] quant_per_c ++// bit[7] reserved ++// bit[6:4] quant_rem ++// bit[3:0] quant_per ++#define QDCT_Q_QUANT_P (0x1f1d) ++#define P_QDCT_Q_QUANT_P (volatile unsigned int *)((0x1f1d << 2) + 0xff620000) ++// bit[31] mb_info_pause ++// bit[30:16] pause_mby ++// bit[15:0] pause_mbx ++#define QDCT_MB_PAUSE_CTL (0x1f1e) ++#define P_QDCT_MB_PAUSE_CTL (volatile unsigned int *)((0x1f1e << 2) + 0xff620000) ++// bit[31] top_control_ready_i_pred ++// bit[30:28]top_dma_status ++// bit[27] top_control_ready_ie ++// bit[26:24]Reserved ++// bit[23] ul_mb ++// bit[22] right_mb ++// bit[21] top_mb ++// bit[20] left_mb ++// bit[19:8] mb_x ++// bit[7:6] i_pred_ref_idx_L ++// bit[5:4] i_pred_ref_idx_UL ++// bit[3:2] i_pred_ref_idx_U ++// bit[1:0] i_pred_ref_idx_UR ++#define QDCT_TOP_CONTROL (0x1f1f) ++#define P_QDCT_TOP_CONTROL (volatile unsigned int *)((0x1f1f << 2) + 0xff620000) ++// bit[31:0] top_base_addr - DDR Memory start address for save top Pixel ++#define QDCT_TOP_BASE_MEM (0x1f20) ++#define P_QDCT_TOP_BASE_MEM (volatile unsigned int *)((0x1f20 << 2) + 0xff620000) ++// bit 15:13 Reserved ++// bit 12 A_urgent // default : 0 ++// bit 11:6 A_brst_num // default : 0x3f ++// bit 5:0 A_id // default : 0x22 ++#define QDCT_TOP_MEM_CTL (0x1f21) ++#define P_QDCT_TOP_MEM_CTL (volatile unsigned int *)((0x1f21 << 2) + 0xff620000) ++// bit [11:0] top_wrrsp_count ++#define QDCT_TOP_WRRSP (0x1f22) ++#define P_QDCT_TOP_WRRSP (volatile unsigned int *)((0x1f22 << 2) + 0xff620000) ++// Bit[3:0] qdct_dbg_idx ++#define QDCT_DBG_IDX (0x1f23) ++#define P_QDCT_DBG_IDX (volatile unsigned int *)((0x1f23 << 2) + 0xff620000) ++// Read Only ++#define QDCT_DBG_READ (0x1f24) ++#define P_QDCT_DBG_READ (volatile unsigned int *)((0x1f24 << 2) + 0xff620000) ++// [19:18] RW jdct_inflow_ctrl. JPEG DCT input flow control. Default 0. ++// 0=No halt; ++// 1=DCT halts request at end of each 8x8 block; ++// 2=DCT halts request at end of each MCU. ++// [17:16] RW jpeg_coeff_last_sel. Default 0. ++// Select at which point to finish processing, give update to AmRISC so it can control the next step. ++// 0=Mark last coeff at the end of an 8x8 block; ++// 1=Mark at the end of an MCU; ++// 2=Mark at the end of a scan. ++// [ 15] RW jpeg_quant_sel_comp2. 0=Comp2 select Quantization table 0; 1=Select table 1. Default 0. ++// [ 14] RW jpeg_v_factor_comp2. Component 2's vertical sampling factor. Default 0. ++// [ 13] RW jpeg_h_factor_comp2. Component 2's horizontal sampling factor. Default 0. ++// [ 12] RW jpeg_comp2_en. Set 1 if the scan will include component 2 (Cr). Default 0. ++// [ 11] RW jpeg_quant_sel_comp1. 0=Comp1 select Quantization table 0; 1=Select table 1. Default 0. ++// [ 10] RW jpeg_v_factor_comp1. Component 1's vertical sampling factor. Default 0. ++// [ 9] RW jpeg_h_factor_comp1. Component 1's horizontal sampling factor. Default 0. ++// [ 8] RW jpeg_comp1_en. Set 1 if the scan will include component 1 (Cb). Default 0. ++// [ 7] RW jpeg_quant_sel_comp0. 0=Comp0 select Quantization table 0; 1=Select table 1. Default 0. ++// [ 6] RW jpeg_v_factor_comp0. Component 0's vertical sampling factor. Default 0. ++// [ 5] RW jpeg_h_factor_comp0. Component 0's horizontal sampling factor. Default 0. ++// [ 4] RW jpeg_comp0_en. Set 1 if the scan will include component 0 (Y). Default 0. ++// [ 3: 1] RW jdct_intr_sel. JPEG DCT interrupt select. Default 0. ++// 0=Disable intr; ++// 1=Intr at end of each 8x8 block of DCT input; ++// 2=Intr at end of each MCU of DCT input; ++// 3=Intr at end of a scan of DCT input; ++// 4=Intr at end of each 8x8 block of DCT output; ++// 5=Intr at end of each MCU of DCT output; ++// 6=Intr at end of a scan of DCT output. ++// [ 0] RW jpeg_en. 0=Disable JPEG QDCT; 1=Enable JPEG QDCT. Default 0. ++#define QDCT_JPEG_CTRL (0x1f25) ++#define P_QDCT_JPEG_CTRL (volatile unsigned int *)((0x1f25 << 2) + 0xff620000) ++// [29:16] RW jpeg_x_end. Picture X end. Default 0. ++// [13: 0] RW jpeg_x_start. Picture X start. Default 0. ++#define QDCT_JPEG_X_START_END (0x1f26) ++#define P_QDCT_JPEG_X_START_END (volatile unsigned int *)((0x1f26 << 2) + 0xff620000) ++// [29:16] RW jpeg_y_end. Picture Y end. Default 0. ++// [13: 0] RW jpeg_y_start. Picture Y start. Default 0. ++#define QDCT_JPEG_Y_START_END (0x1f27) ++#define P_QDCT_JPEG_Y_START_END (volatile unsigned int *)((0x1f27 << 2) + 0xff620000) ++// [ 8] RW JPEG QUANT table access mode. 0=Write; 1=Read. Default 1. ++// [ 5: 0] RW JPEG QUANT table addr. Default 0. ++#define QDCT_JPEG_QUANT_ADDR (0x1f28) ++#define P_QDCT_JPEG_QUANT_ADDR (volatile unsigned int *)((0x1f28 << 2) + 0xff620000) ++// [31: 0] RW JPEG QUANT table data. ++#define QDCT_JPEG_QUANT_DATA (0x1f29) ++#define P_QDCT_JPEG_QUANT_DATA (volatile unsigned int *)((0x1f29 << 2) + 0xff620000) ++// [ 1] W resume_jdct. ++// Write 1 to this bit will resume JPEG input engine when previously ++// it is halted by QDCT_JPEG_CTRL.jdct_inflow_ctrl. ++// [ 0] W jpeg_sof. ++// Write 1 to this bit will start JPEG input engine. ++#define QDCT_JPEG_SOF_RESUME (0x1f2a) ++#define P_QDCT_JPEG_SOF_RESUME (volatile unsigned int *)((0x1f2a << 2) + 0xff620000) ++// [31:30] R dct_st. jdct_ctrl state. 0=IDLE; 1=WAIT; 2=DCT_REQ. ++// [29:28] R mfdin_comp. Current component at pixel request to MFDIN. ++// [27:14] R mfdin_y. Current Y at pixel request to MFDIN. ++// [13: 0] R mfdin_x. Current X at pixel request to MFDIN. ++#define QDCT_JPEG_DCT_STATUS0 (0x1f2b) ++#define P_QDCT_JPEG_DCT_STATUS0 (volatile unsigned int *)((0x1f2b << 2) + 0xff620000) ++// [15:12] R JPEG Quant read MEM select. ++// [11: 8] R JPEG DCT2 write MEM select. ++// [ 7: 4] R JPEG DCT2 read MEM select. ++// [ 3: 0] R JPEG DCT1 write MEM select. ++#define QDCT_JPEG_DCT_STATUS1 (0x1f2c) ++#define P_QDCT_JPEG_DCT_STATUS1 (volatile unsigned int *)((0x1f2c << 2) + 0xff620000) ++// [28:16] RW jdct_coeff1. Default 13'h1D90; // 7568 = 4096 * sqrt(2) * (cos(Pi/8) + sin(Pi/8)) // 7569 ++// [12: 0] RW jdct_coeff0. Default 13'h16A1; // 5793 = 4096 * sqrt(2) ++#define QDCT_JPEG_DCT_COEFF01 (0x1f2d) ++#define P_QDCT_JPEG_DCT_COEFF01 (volatile unsigned int *)((0x1f2d << 2) + 0xff620000) ++// [28:16] RW jdct_coeff3. Default 13'h0C3F; // 3135 = 4096 * sqrt(2) * (cos(Pi/8) - sin(Pi/8)) ++// [12: 0] RW jdct_coeff2. Default 13'h08A9; // 2217 = 4096 * sqrt(2) * sin(Pi/8) // 2215 ++#define QDCT_JPEG_DCT_COEFF23 (0x1f2e) ++#define P_QDCT_JPEG_DCT_COEFF23 (volatile unsigned int *)((0x1f2e << 2) + 0xff620000) ++// [28:16] RW jdct_coeff5. Default 13'h046A; // 1130 = 4096 * (cos(3Pi/16) - sin(3Pi/16)) ++// [12: 0] RW jdct_coeff4. Default 13'h1631; // 5681 = 4096 * (cos(3Pi/16) + sin(3Pi/16)) // 5682 ++#define QDCT_JPEG_DCT_COEFF45 (0x1f2f) ++#define P_QDCT_JPEG_DCT_COEFF45 (volatile unsigned int *)((0x1f2f << 2) + 0xff620000) ++// [28:16] RW jdct_coeff7. Default 13'h0C92; // 3218 = 4096 * (cos(Pi/16) - sin(Pi/16)) ++// [12: 0] RW jdct_coeff6. Default 13'h12D0; // 4816 = 4096 * (cos(Pi/16) + sin(Pi/16)) ++#define QDCT_JPEG_DCT_COEFF67 (0x1f30) ++#define P_QDCT_JPEG_DCT_COEFF67 (volatile unsigned int *)((0x1f30 << 2) + 0xff620000) ++// [28:16] RW jdct_coeff9. Default 13'h0FB1; // 4017 = 4096 * cos(Pi/16) ++// [12: 0] RW jdct_coeff8. Default 13'h0D4E; // 3406 = 4096 * cos(3Pi/16) ++#define QDCT_JPEG_DCT_COEFF89 (0x1f31) ++#define P_QDCT_JPEG_DCT_COEFF89 (volatile unsigned int *)((0x1f31 << 2) + 0xff620000) ++#define QDCT_I_PRED_REF_WR_IDX (0x1f32) ++#define P_QDCT_I_PRED_REF_WR_IDX (volatile unsigned int *)((0x1f32 << 2) + 0xff620000) ++#define QDCT_I_PRED_REF_WR_DATA (0x1f33) ++#define P_QDCT_I_PRED_REF_WR_DATA (volatile unsigned int *)((0x1f33 << 2) + 0xff620000) ++// bit[29] mb_info_latch_no_I16_pred_mode ++// bit[28] ie_dma_mbxy_use_i_pred ++// bit[27] ie_dma_read_write_use_ip_idx ++// bit[26] ie_start_use_top_dma_count ++// bit[25] i_pred_top_dma_rd_mbbot ++// bit[24] i_pred_top_dma_wr_disable ++// bit[23] i_pred_mix ++// bit[22] me_ab_rd_when_intra_in_p ++// bit[21] force_mb_skip_run_when_intra ++// bit[20] mc_out_mixed_type ++// bit[19] ie_start_when_quant_not_full ++// bit[18] mb_info_state_mix ++// bit[17] mb_type_use_mix_result ++// bit[16] me_cb_ie_read_enable ++// bit[15] ie_cur_data_from_me ++// bit[14] rem_per_use_table ++// bit[13] q_latch_int_enable ++// bit[12] q_use_table ++// bit[11] q_start_wait ++// bit[10] LUMA_16_LEFT_use_cur ++// bit[9] DC_16_LEFT_SUM_use_cur ++// bit[8] c_ref_ie_sel_cur ++// bit[7] c_ipred_perfect_mode ++// bit[6] ref_ie_ul_sel 0-old, 1-use next_set ++// bit[5] mb_type_use_ie_result ++// bit[4] detect_I16_from_I4 ++// bit[3] ie_not_wait_ref_busy ++// bit[2] ie_I16_enable ++// bit[1:0] ie_done_sel (0, 1, 2, -1) ++#define QDCT_ADV_CONFIG (0x1f34) ++#define P_QDCT_ADV_CONFIG (volatile unsigned int *)((0x1f34 << 2) + 0xff620000) ++// bit [31:16] I16x16_weight ++// bit [15:0] I4x4_weight ++#define IE_WEIGHT (0x1f35) ++#define P_IE_WEIGHT (volatile unsigned int *)((0x1f35 << 2) + 0xff620000) ++// bit [31] reserved ++// bit [30] q_I16MB ++// bit [29] reserved ++// bit [28] reserved ++// bit [27:23] quant_table_addr I4MB:[0,7], I16MB:[8:15], INTER:[16:23], Reserved:[24:31] ++// bit [22] quant_table_addr_update(when notupdate_rem_per) (read is arb_result : q_intra) ++// bit [21:19] quant_rem_c ++// bit [18:16] quant_rem_y ++// bit [15:12] quant_per_c ++// bit [11:8] quant_per_y ++// bit [7:2] quant ++// bit [1] update_rem_per ++// bit [0] clear_wait_status ++#define Q_QUANT_CONTROL (0x1f36) ++#define P_Q_QUANT_CONTROL (volatile unsigned int *)((0x1f36 << 2) + 0xff620000) ++#define MBBOT_EVEN_ADDR (0x1f37) ++#define P_MBBOT_EVEN_ADDR (volatile unsigned int *)((0x1f37 << 2) + 0xff620000) ++#define MBBOT_ODD_ADDR (0x1f38) ++#define P_MBBOT_ODD_ADDR (volatile unsigned int *)((0x1f38 << 2) + 0xff620000) ++// bit [29:24] quant_table_data_3 ++// bit [21:16] quant_table_data_2 ++// bit [13:8] quant_table_data_1 ++// bit [5:0] quant_table_data_0 ++#define QUANT_TABLE_DATA (0x1f39) ++#define P_QUANT_TABLE_DATA (volatile unsigned int *)((0x1f39 << 2) + 0xff620000) ++// bit [31:16] ie_sad_offset_I16 ++// bit [15:0] ie_sad_offset_I4 ++#define SAD_CONTROL_0 (0x1f3a) ++#define P_SAD_CONTROL_0 (volatile unsigned int *)((0x1f3a << 2) + 0xff620000) ++// bit [31] sad_soft_reset ++// bit [30:27] reserved ++// bit [26:24] ie_sad_shift_I16 ++// bit [22:20] ie_sad_shift_I4 ++// bit [18:16] me_sad_shift_INTER ++// bit [15:0] me_sad_offset_INTER ++#define SAD_CONTROL_1 (0x1f3b) ++#define P_SAD_CONTROL_1 (volatile unsigned int *)((0x1f3b << 2) + 0xff620000) ++// bit [31] vlc_quant_rd_ptr ++// bit [30] vlc_quant_rd_ptr_update ++// bit [29] vlc_quant_wr_ptr ++// bit [28] vlc_quant_wr_ptr_update ++// bit [27:26] reserved ++// bit [25:19] vlc_delta_quant_1 ++// bit [18:13] vlc_quant_1 ++// bit [12:6] vlc_delta_quant_0 ++// bit [5:0] vlc_quant_0 ++#define QDCT_VLC_QUANT_CTL_0 (0x1f3c) ++#define P_QDCT_VLC_QUANT_CTL_0 (volatile unsigned int *)((0x1f3c << 2) + 0xff620000) ++// bit [31:30] me_sad_rd_idx ++// bit [29] me_sad_rd_idx_update ++// bit [28:27] me_sad_wr_idx ++// bit [26] me_sad_wr_idx_update ++// bit [25:24] ie_sad_rd_idx ++// bit [23] ie_sad_rd_idx_update ++// bit [22:21] ie_sad_wr_idx ++// bit [20] ie_sad_wr_idx_update ++// bit [19:12] Reserved ++// bit [11:6] vlc_max_delta_q_neg ++// bit [5:0] vlc_max_delta_q_pos ++#define QDCT_VLC_QUANT_CTL_1 (0x1f3d) ++#define P_QDCT_VLC_QUANT_CTL_1 (volatile unsigned int *)((0x1f3d << 2) + 0xff620000) ++// bit[4] jdct_int ++// bit[3] quant_latch ++// bit[2] me_done ++// bit[1] ie_start ++// bit[0] i_pred_start ++#define QDCT_INT_STATUS (0x1f3e) ++#define P_QDCT_INT_STATUS (volatile unsigned int *)((0x1f3e << 2) + 0xff620000) ++// bit[3] mix_i_pred_wait_left_en ++// bit[2:0] mc_pending_mb_count ++#define QDCT_MIX_I_PRED_STATUS (0x1f3f) ++#define P_QDCT_MIX_I_PRED_STATUS (volatile unsigned int *)((0x1f3f << 2) + 0xff620000) ++// IE/ME share same cbus_base as QDCT ++// ++// bit[31] active_ur_block ++// bit[30] active_ul_block ++// bit[21] disable_HENC_V_PRED_16 ++// bit[20] disable_HENC_H_PRED_16 ++// bit[19] disable_HENC_DC_PRED_16 ++// bit[18] disable_HENC_HENC_HOR_UP_PRED ++// bit[17] disable_HENC_VERT_LEFT_PRED ++// bit[16] disable_HENC_HENC_HOR_DOWN_PRED ++// bit[15] disable_HENC_VERT_RIGHT_PRED ++// bit[14] disable_HENC_DIAG_DOWN_RIGHT_PRED ++// bit[13] disable_HENC_DIAG_DOWN_LEFT_PRED ++// bit[12] disable_HENC_DC_PRED ++// bit[11] disable_HENC_HOR_PRED ++// bit[10] disable_HENC_VERT_PRED ++// bit[9] ie_c_wait_ie_pause ++// bit[8:4] max_ie_result_buff_count ++// bit[3] ie_wait_for_ie_result // use for (max_ie_result_buff_count == 0) to wait every block ++// bit[2] reserved ++// bit[1] ie_enable ++// bit[0] ie_soft_reset ++#define IE_CONTROL (0x1f40) ++#define P_IE_CONTROL (volatile unsigned int *)((0x1f40 << 2) + 0xff620000) ++// bit[31:12] Reserved ++// bit[11:0] mb_y ++#define IE_MB_POSITION (0x1f41) ++#define P_IE_MB_POSITION (volatile unsigned int *)((0x1f41 << 2) + 0xff620000) ++// bit[31:16] me_skip_run ++// bit[15:8] reserved ++// bit [7:4] me_b8_mode ++// bit [3:0] ie_me_mb_type ++#define IE_ME_MB_INFO (0x1f42) ++#define P_IE_ME_MB_INFO (volatile unsigned int *)((0x1f42 << 2) + 0xff620000) ++// bit[3] ie_result_buff_enable ++// bit[2] ie_result_buff_soft_reset ++// bit[1] sad_enable ++// bit[0] ie_sad_soft_reset ++#define SAD_CONTROL (0x1f43) ++#define P_SAD_CONTROL (volatile unsigned int *)((0x1f43 << 2) + 0xff620000) ++// bit[31:16] - ie_result_buff_count - read only ++// bit[14:12] -current_ie_result (pred_mode) - read only ++// bit[11] top_control_data_buff_wr_ptr - rd/wr ++// bit[10] top_control_data_buff_rd_ptr - rd/wr ++// bit[9:5] ie_result_buff_wr_ptr - rd/wr ++// bit[4:0] ie_result_buff_rd_ptr - rd/wr ++#define IE_RESULT_BUFFER (0x1f44) ++#define P_IE_RESULT_BUFFER (volatile unsigned int *)((0x1f44 << 2) + 0xff620000) ++// bit[63:0] ie_i4_pred_mode ++#define IE_I4_PRED_MODE_HI (0x1f45) ++#define P_IE_I4_PRED_MODE_HI (volatile unsigned int *)((0x1f45 << 2) + 0xff620000) ++#define IE_I4_PRED_MODE_LO (0x1f46) ++#define P_IE_I4_PRED_MODE_LO (volatile unsigned int *)((0x1f46 << 2) + 0xff620000) ++// bit [31:9] reserved ++// bit [8:4] i_pred_block_number ++// bit [3:0] ie_c_pred_mode ++#define IE_C_PRED_MODE (0x1f47) ++#define P_IE_C_PRED_MODE (volatile unsigned int *)((0x1f47 << 2) + 0xff620000) ++// 31:16 - Left, 0-select ie_pixel, 1-select mc_data_out ++// 15:0 - Top, 0-select ie_pixel, 1-select mc_data_out ++#define IE_CUR_REF_SEL (0x1f48) ++#define P_IE_CUR_REF_SEL (volatile unsigned int *)((0x1f48 << 2) + 0xff620000) ++// bit[31] enable_f_skip_1_step_3 ++// bit[30] enable_f_skip_1_step_2 ++// bit[29] enable_f_skip_1_step_1 ++// bit[28] step_3_enable ++// bit[27] step_2_sub_pixel ++// bit[26] always_f_skip_step_3 ++// bit[25] always_f_skip_step_2 ++// bit[24] always_f_skip_step_1 ++// bit[23] half_pixel_only ++// bit[22:13] reserved ++// bit[12] adv_mv_enable ++// bit[11] sad_short_valid ++// bit[10:9] mv_flexable_ctl 00:0x40, 01:0x80, 10:0xc0, 11 : 0x100 ++// bit[8] no_md_ab_rd ++// bit[7] use_dct_state ++// bit[6] enable_free_clk_me_ctl ++// bit[5] enable_free_clk_me_ab ++// bit[4] enable_free_clk_me_cb ++// bit[3] reserved ++// bit[2] me_done_int_enable ++// bit[1] me_enable ++// bit[0] me_soft_reset ++#define ME_CONTROL (0x1f49) ++#define P_ME_CONTROL (volatile unsigned int *)((0x1f49 << 2) + 0xff620000) ++// bit[31:28] Reserved ++// bit[27:16] me_start_mby ++// bit[15:12] Reserved ++// bit[11:0] me_start_mbx ++#define ME_START_POSITION (0x1f4a) ++#define P_ME_START_POSITION (volatile unsigned int *)((0x1f4a << 2) + 0xff620000) ++// bit [31:28] me_status - Read only ++// bit [27:24] me_cb_status // current buffer ++// bit [23:20] me_ab_status // anc buffer ++// bit [19] Reserved ++// bit [18:16] me_ab_wr_ptr // read only ++// bit [15:4] me_last_mbx ++// bit [3:1] me_ab_rd_ptr // read only ++// bit [0] me_action ++#define ME_STATUS (0x1f4b) ++#define P_ME_STATUS (volatile unsigned int *)((0x1f4b << 2) + 0xff620000) ++// all Read-only ++// bit [31:28] Reserved ++// bit [27:16] me_ab_mbx ++// bit [15:14] me_cb_wr_ptr ++// bit [13:12] me_cb_rd_ptr ++// bit [11:0] me_cb_mbx ++#define ME_DEBUG (0x1f4c) ++#define P_ME_DEBUG (volatile unsigned int *)((0x1f4c << 2) + 0xff620000) ++// bit[29:24] step_3_skip_line ++// bit[23:18] step_2_skip_line ++// bit[17:12] step_1_skip_line ++// bit[11:6] step_0_skip_line ++// bit[5:0] read_skip_line ++#define ME_SKIP_LINE (0x1f4d) ++#define P_ME_SKIP_LINE (volatile unsigned int *)((0x1f4d << 2) + 0xff620000) ++// bit 15:13 Reserved ++// bit 12 A_urgent // default : 0 ++// bit 11:6 A_brst_num // default : 0x3f ++// bit 5:0 A_id // default : 0x23 ++#define ME_AB_MEM_CTL (0x1f4e) ++#define P_ME_AB_MEM_CTL (volatile unsigned int *)((0x1f4e << 2) + 0xff620000) ++// bit[31:24] anc_pic_canvas ++// bit[23:12] max_me_mby_num ++// bit[11:0] max_me_mbx_num ++#define ME_PIC_INFO (0x1f4f) ++#define P_ME_PIC_INFO (volatile unsigned int *)((0x1f4f << 2) + 0xff620000) ++// bit [23:12] me_sad_enough_1 ++// bit [11:0] me_sad_enough_0 ++#define ME_SAD_ENOUGH_01 (0x1f50) ++#define P_ME_SAD_ENOUGH_01 (volatile unsigned int *)((0x1f50 << 2) + 0xff620000) ++// bit [25:12] adv_mv_8x8_enough ++// bit [11:0] me_sad_enough_2 ++#define ME_SAD_ENOUGH_23 (0x1f51) ++#define P_ME_SAD_ENOUGH_23 (volatile unsigned int *)((0x1f51 << 2) + 0xff620000) ++// bit [21:10] me_step0_big_sad ++// bit [9:5] me_step0_close_mv_y ++// bit [4:0] me_step0_close_mv_x ++#define ME_STEP0_CLOSE_MV (0x1f52) ++#define P_ME_STEP0_CLOSE_MV (volatile unsigned int *)((0x1f52 << 2) + 0xff620000) ++// bit[31:24] force_skip_sad_3 ++// bit[23:16] force_skip_sad_2 ++// bit[15:08] force_skip_sad_1 ++// bit[07:00] force_skip_sad_0 ++#define ME_F_SKIP_SAD (0x1f53) ++#define P_ME_F_SKIP_SAD (volatile unsigned int *)((0x1f53 << 2) + 0xff620000) ++// bit[31:24] force_skip_weight_3 ++// bit[23:16] force_skip_weight_2 ++// bit[15:08] force_skip_weight_1 ++// bit[07:00] force_skip_weight_0 ++#define ME_F_SKIP_WEIGHT (0x1f54) ++#define P_ME_F_SKIP_WEIGHT (volatile unsigned int *)((0x1f54 << 2) + 0xff620000) ++// Merge when ( ++// (flex & me_merge_flex_en) | ++// (big_sad & me_merge_sad_en)| ++// ((~me_merge_flex_en)&(~me_merge_sad_en)) ++// ) & ++// ( small_mv_diff |(~me_merge_small_mv_en)) ++// & (me_merge_flex_en | me_merge_sad_en | me_merge_small_mv_en) ++// bit[31] me_merge_mv_en_16 ++// bit[30] me_merge_small_mv_en_16 ++// bit[29] me_merge_flex_en_16 ++// bit[28] me_merge_sad_en_16 ++// bit[27] me_merge_mv_en_8 ++// bit[26] me_merge_small_mv_en_8 ++// bit[25] me_merge_flex_en_8 ++// bit[24] me_merge_sad_en_8 ++// bit[23:18] me_merge_mv_diff_16 ++// bit[17:12] me_merge_mv_diff_8 ++// bit[11:0] me_merge_min_sad ++#define ME_MV_MERGE_CTL (0x1f55) ++#define P_ME_MV_MERGE_CTL (volatile unsigned int *)((0x1f55 << 2) + 0xff620000) ++// bit[31:24] mv_step_weight_1 ++// bit[23:16] mv_pre_weight_1 ++// bit [15:0] mv_step_weight_0 ++// bit[7:0] mv_pre_weight_0 ++#define ME_MV_WEIGHT_01 (0x1f56) ++#define P_ME_MV_WEIGHT_01 (volatile unsigned int *)((0x1f56 << 2) + 0xff620000) ++// bit[31:24] mv_step_weight_3 (mv_step_weight_1_2nd) ++// bit[23:16] mv_pre_weight_3 (mv_pre_weight_1_2nd) ++// bit[15:8] mv_step_weight_2 ++// bit[7:0] mv_pre_weight_2 ++#define ME_MV_WEIGHT_23 (0x1f57) ++#define P_ME_MV_WEIGHT_23 (volatile unsigned int *)((0x1f57 << 2) + 0xff620000) ++// bit[31:24] me_sad_range_inc_3 ++// bit[23:16] me_sad_range_inc_2 ++// bit[15:8] me_sad_range_inc_1 ++// bit[7:0] me_sad_range_inc_0 ++#define ME_SAD_RANGE_INC (0x1f58) ++#define P_ME_SAD_RANGE_INC (volatile unsigned int *)((0x1f58 << 2) + 0xff620000) ++// bit[31:19] reserved ++// bit[18] sub_relative_any_1_en ++// bit[17] sub_relative_any_2_en ++// bit[16] sub_relative_any_3_en ++// bit[15] sub_relative_any_4_en ++// bit[14] sub_relative_any_h_en ++// bit[13] sub_make_non_flex_fix ++// bit[12] sub_make_big_non_flex_fix ++// bit[11:8] sub_normal_mv_diff_16 ++// bit[7:4] sub_normal_mv_diff_8 ++// bit[3:2] Reserved ++// bit[1] sub_merge_enable_16 ++// bit[0] sub_merge_enable_8 ++#define ME_SUB_MERGE_CTL (0x1f59) ++#define P_ME_SUB_MERGE_CTL (volatile unsigned int *)((0x1f59 << 2) + 0xff620000) ++// bit[31:28] sub_ref_mv_diff_near ++// bit[27:24] sub_ref_mv_diff_near_flex ++// bit[23:20] sub_ref_mv_diff ++// bit[19:16] sub_ref_mv_diff_flex ++// bit[15:8] sub_ref_mv_near_weight ++// bit[7:0] sub_ref_mv_weight ++#define ME_SUB_REF_MV_CTL (0x1f5a) ++#define P_ME_SUB_REF_MV_CTL (volatile unsigned int *)((0x1f5a << 2) + 0xff620000) ++// bit[31:24] sub_weight_max_sad ++// bit[23:16] sub_any_range_sad ++// bit[15:8] sub_any_min_sad ++// bit[7:0] sub_any_max_sad ++#define ME_SUB_ANY_WEIGHT_SAD (0x1f5b) ++#define P_ME_SUB_ANY_WEIGHT_SAD (volatile unsigned int *)((0x1f5b << 2) + 0xff620000) ++// bit[31:24] sub_fix_sad ++// bit[23:16] sub_fix_diff_sad ++// bit[15:8] sub_sad_flex_adj ++// bit[7:0] sub_big_non_flex_fix_sad ++#define ME_SUB_FIX_SAD (0x1f5c) ++#define P_ME_SUB_FIX_SAD (volatile unsigned int *)((0x1f5c << 2) + 0xff620000) ++// bit[31:24] sub_fix_min_sad ++// bit[23:16] sub_fix_min_diff_sad ++// bit[15:8] sub_fix_min_sad_2 ++// bit[7:0] sub_fix_min_diff_sad_2 ++#define ME_SUB_FIX_MIN_SAD (0x1f5d) ++#define P_ME_SUB_FIX_MIN_SAD (volatile unsigned int *)((0x1f5d << 2) + 0xff620000) ++// bit[31:24] sub_snap_to_ref_max_sad ++// bit[23] sub_snap_to_ref_non_flex ++// bit[22:16] sub_snap_to_ref_mv_diff ++// bit[15:4] sub_glitch_mv_sad ++// bit[3:0] sub_glitch_mv_diff ++#define ME_SUB_SNAP_GLITCH (0x1f5e) ++#define P_ME_SUB_SNAP_GLITCH (volatile unsigned int *)((0x1f5e << 2) + 0xff620000) ++// bit[31:20] sad_act_limit ++// bit[19:8] s_a_any_sad ++// bit[7] Reserved ++// bit[6:5] sub_merge_method ++// bit[4] use_sub_act_result ++// bit[3] s_a_rnd ++// bit[2] Reserved ++// bit[1] sub_act_en_16 ++// bit[0] sub_act_en ++#define ME_SUB_ACT_CTL (0x1f5f) ++#define P_ME_SUB_ACT_CTL (volatile unsigned int *)((0x1f5f << 2) + 0xff620000) ++// bit[31:16] reserved ++// bit[15:0] me_weight ++#define ME_WEIGHT (0x1f60) ++#define P_ME_WEIGHT (volatile unsigned int *)((0x1f60 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] me_quant_0 ++// bit[21] ie_sad_ready_0 ++// bit[20:18] Reserved ++// bit[17:16] me_sad_mv_type_0 ++// bit[15:0] me_sad_0 ++#define ME_SAD_0 (0x1f61) ++#define P_ME_SAD_0 (volatile unsigned int *)((0x1f61 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] me_quant_1 ++// bit[21] me_sad_ready_1 ++// bit[20:18] Reserved ++// bit[17:16] me_sad_mv_type_1 ++// bit[15:0] me_sad_1 ++#define ME_SAD_1 (0x1f62) ++#define P_ME_SAD_1 (volatile unsigned int *)((0x1f62 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] me_quant_2 ++// bit[21] me_sad_ready_2 ++// bit[20:18] Reserved ++// bit[17:16] me_sad_mv_type_2 ++// bit[15:0] me_sad_2 ++#define ME_SAD_2 (0x1f63) ++#define P_ME_SAD_2 (volatile unsigned int *)((0x1f63 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] me_quant_3 ++// bit[21] me_sad_ready_3 ++// bit[20:18] Reserved ++// bit[17:16] me_sad_mv_type_3 ++// bit[15:0] me_sad_3 ++#define ME_SAD_3 (0x1f64) ++#define P_ME_SAD_3 (volatile unsigned int *)((0x1f64 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] ie_quant_0 ++// bit[21] ie_sad_ready_0 ++// bit[20] I4/I16 (0-I4MB, 1-I16MB) ++// bit[19:0] ie_sad_0 ++#define IE_SAD_0 (0x1f65) ++#define P_IE_SAD_0 (volatile unsigned int *)((0x1f65 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] ie_quant_1 ++// bit[21] ie_sad_ready_1 ++// bit[20] I4/I16 (0-I4MB, 1-I16MB) ++// bit[19:0] ie_sad_1 ++#define IE_SAD_1 (0x1f66) ++#define P_IE_SAD_1 (volatile unsigned int *)((0x1f66 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] ie_quant_2 ++// bit[21] ie_sad_ready_2 ++// bit[20] I4/I16 (0-I4MB, 1-I16MB) ++// bit[19:0] ie_sad_2 ++#define IE_SAD_2 (0x1f67) ++#define P_IE_SAD_2 (volatile unsigned int *)((0x1f67 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] ie_quant_3 ++// bit[21] ie_sad_ready_3 ++// bit[20] I4/I16 (0-I4MB, 1-I16MB) ++// bit[19:0] ie_sad_3 ++#define IE_SAD_3 (0x1f68) ++#define P_IE_SAD_3 (volatile unsigned int *)((0x1f68 << 2) + 0xff620000) ++// bit[31] enable_large_diff_16x8 ++// bit[30] enable_large_diff_8x16 ++// bit[29:16] adv_mv_8x8_weight ++// bit[15:14] reserved ++// bit[13:0] adv_mv_4x4x4_weight ++#define ADV_MV_CTL0 (0x1f69) ++#define P_ADV_MV_CTL0 (volatile unsigned int *)((0x1f69 << 2) + 0xff620000) ++// bit[31:16] adv_mv_16x16_weight ++// bit[15] enable_large_diff_16x16 ++// bit[14:0] adv_mv_16_8_weight ++#define ADV_MV_CTL1 (0x1f6a) ++#define P_ADV_MV_CTL1 (volatile unsigned int *)((0x1f6a << 2) + 0xff620000) ++#define ADV_MV_CTL2 (0x1f6b) ++#define P_ADV_MV_CTL2 (volatile unsigned int *)((0x1f6b << 2) + 0xff620000) ++// bit[31] v3_skip_enable ++// bit[30] v3_step_1_weight_enable // for step1, will only use pre_weight for block0, only step_weight for block 1,2,3 ++// bit[29] v3_l2_skip_only_use_l2_sad // set to 1 may allow l1 maybe not skip ++// bit[28] v3_mv_sad_weight_enable ++// bit[27] v3_ipred_type_enable ++// bit[25:12] force_skip_sad_1 ++// bit[11:0] force_skip_sad_0 ++#define V3_SKIP_CONTROL (0x1f6c) ++#define P_V3_SKIP_CONTROL (volatile unsigned int *)((0x1f6c << 2) + 0xff620000) ++// bit[18:16] top_ipred_type_count ++// bit[15:14] Reserved ++// bit[13:12] top_ipred_type_rd_idx ++// bit[11:10] top_ipred_type_wr_idx ++// bit[9] left_ipred_type_ready ++// bit[8] top_ipred_type_ready ++// bit[7:6] left_mv_idx ++// bit[5:4] top_mv_idx ++// bit[3] - left_mv_ready ++// bit[2:0] top_mv_ready ++#define V3_TOP_LEFT_CTL (0x1f6d) ++#define P_V3_TOP_LEFT_CTL (volatile unsigned int *)((0x1f6d << 2) + 0xff620000) ++#define V3_TOP_MV (0x1f6e) ++#define P_V3_TOP_MV (volatile unsigned int *)((0x1f6e << 2) + 0xff620000) ++#define V3_LEFT_MV (0x1f6f) ++#define P_V3_LEFT_MV (volatile unsigned int *)((0x1f6f << 2) + 0xff620000) ++// bit[31:30] reserved ++// bit[29:16] v3_skip_weight_1 ++// bit[15:12] reserved ++// bit[11:0] v3_skip_weight_0 ++#define V3_SKIP_WEIGHT (0x1f70) ++#define P_V3_SKIP_WEIGHT (volatile unsigned int *)((0x1f70 << 2) + 0xff620000) ++// bit[31:28] reserved ++// bit[27:16] v3_l1_f_skip_max_sad ++// bit[15:12] reserved ++// bit[11:0] v3_l1_skip_max_sad ++#define V3_L1_SKIP_MAX_SAD (0x1f71) ++#define P_V3_L1_SKIP_MAX_SAD (volatile unsigned int *)((0x1f71 << 2) + 0xff620000) ++// bit[31:16] force_skip_sad_2 ++// bit[15:0] v3_skip_weight_2 ++#define V3_L2_SKIP_WEIGHT (0x1f72) ++#define P_V3_L2_SKIP_WEIGHT (volatile unsigned int *)((0x1f72 << 2) + 0xff620000) ++// bit[21:16] v3_mv_sad_table_addr 0-15 table_step_0 ++// bit[11:0] v3_mv_sad ++#define V3_MV_SAD_TABLE (0x1f73) ++#define P_V3_MV_SAD_TABLE (volatile unsigned int *)((0x1f73 << 2) + 0xff620000) ++// [31:16] v3_ie_f_zero_sad_i16 ++// [15:0] v3_ie_f_zero_sad_i4 ++#define V3_F_ZERO_CTL_0 (0x1f74) ++#define P_V3_F_ZERO_CTL_0 (volatile unsigned int *)((0x1f74 << 2) + 0xff620000) ++// [25] v3_no_ver_when_top_zero_en ++// [24] v3_no_hor_when_left_zero_en ++// [23:16] v3_max_I16_H_num // 0 means no break ++// [15:0] v3_me_f_zero_sad ++#define V3_F_ZERO_CTL_1 (0x1f75) ++#define P_V3_F_ZERO_CTL_1 (volatile unsigned int *)((0x1f75 << 2) + 0xff620000) ++#define V3_TOP_INTRA_INFO (0x1f76) ++#define P_V3_TOP_INTRA_INFO (volatile unsigned int *)((0x1f76 << 2) + 0xff620000) ++#define V3_LEFT_INTRA_INFO (0x1f77) ++#define P_V3_LEFT_INTRA_INFO (volatile unsigned int *)((0x1f77 << 2) + 0xff620000) ++// [31:24] C_ipred_weight_H ++// [23:16] C_ipred_weight_V ++// [15:8] I4_ipred_weight_else ++// [7:0] I4_ipred_weight_most ++#define V3_IPRED_TYPE_WEIGHT_0 (0x1f78) ++#define P_V3_IPRED_TYPE_WEIGHT_0 (volatile unsigned int *)((0x1f78 << 2) + 0xff620000) ++// [31:24] I16_ipred_weight_DC ++// [23:16] I16_ipred_weight_H ++// [15:8] I16_ipred_weight_V ++// [7:0] C_ipred_weight_DC ++#define V3_IPRED_TYPE_WEIGHT_1 (0x1f79) ++#define P_V3_IPRED_TYPE_WEIGHT_1 (volatile unsigned int *)((0x1f79 << 2) + 0xff620000) ++// [31:16] v3_left_small_max_me_sad ++// [15:0] v3_left_small_max_ie_sad ++#define V3_LEFT_SMALL_MAX_SAD (0x1f7a) ++#define P_V3_LEFT_SMALL_MAX_SAD (volatile unsigned int *)((0x1f7a << 2) + 0xff620000) ++// (qr==7) & (qp==15) means force zero block ++// [31:26] v4_force_q_r_intra ++// [25:20] v4_force_q_r_inter ++// [19] v4_force_q_y_enable ++// [18:16] v4_force_qr_y ++// [15:12] v4_force_qp_y ++// [11:0] v4_force_skip_sad ++#define V4_FORCE_SKIP_CFG (0x1f7b) ++#define P_V4_FORCE_SKIP_CFG (volatile unsigned int *)((0x1f7b << 2) + 0xff620000) ++// v5 Complexity // Y(256 pixel per MB) and C(128 pixel per MB) ++// For every 4x4 block, calculate average and Add abs(pixel-average) together ++// bit[31:16] v5_diff_sum_C ++// bit[15:0] v5_diff_sum_Y ++#define V5_MB_DIFF_SUM (0x1f7c) ++#define P_V5_MB_DIFF_SUM (volatile unsigned int *)((0x1f7c << 2) + 0xff620000) ++// bit[31:24] v5_small_diff_cnt_C ++// bit[23:16] v5_small_diff_C ++// bit[15:8] v5_small_diff_cnt_Y ++// bit[7:0] v5_small_diff_Y ++#define V5_SMALL_DIFF_CNT (0x1f7d) ++#define P_V5_SMALL_DIFF_CNT (volatile unsigned int *)((0x1f7d << 2) + 0xff620000) ++// bit[31:29] Reserved ++// bit[28:24] v5_simple_block_cnt // 0 -15 Y 16-23 C ++// bit[23:20] v5_simple_pixel_cnt ++// bit[19:18] v5_simple_dq_wr_ptr ++// bit[17:16] v5_simple_dq_rd_ptr ++// bit[15:12] v5_simple_dq (Read Only) ++// bit[11:8] v5_simple_me_weight(Read Only) ++// bit[7] v5_use_small_diff_cnt ++// bit[6] v5_simple_mb_inter_all_en ++// bit[5] v5_simple_mb_inter_8x8_en ++// bit[4] v5_simple_mb_inter_16_8_en ++// bit[3] v5_simple_mb_inter_16x16_en ++// bit[2] v5_simple_mb_intra_en ++// bit[1] v5_simple_mb_C_en ++// bit[0] v5_simple_mb_Y_en ++#define V5_SIMPLE_MB_CTL (0x1f7e) ++#define P_V5_SIMPLE_MB_CTL (volatile unsigned int *)((0x1f7e << 2) + 0xff620000) ++// bit[31:28] v5_simple_dq_shift ++// bit[27:24] v5_simple_dq_6(-7 to +7) ++// bit[23:20] v5_simple_dq_5(-7 to +7) ++// bit[19:16] v5_simple_dq_4(-7 to +7) ++// bit[15:12] v5_simple_dq_3(-7 to +7) ++// bit[11:08] v5_simple_dq_2(-7 to +7) ++// bit[07:04] v5_simple_dq_1(-7 to +7) ++// bit[03:00] v5_simple_dq_0(-7 to +7) ++#define V5_SIMPLE_MB_DQUANT (0x1f7f) ++#define P_V5_SIMPLE_MB_DQUANT (volatile unsigned int *)((0x1f7f << 2) + 0xff620000) ++// bit[31:28] v5_simple_me_weight_shift ++// bit[27:24] v5_simple_me_weight_6(-7 to +7) ++// bit[23:20] v5_simple_me_weight_5(-7 to +7) ++// bit[19:16] v5_simple_me_weight_4(-7 to +7) ++// bit[15:12] v5_simple_me_weight_3(-7 to +7) ++// bit[11:08] v5_simple_me_weight_2(-7 to +7) ++// bit[07:04] v5_simple_me_weight_1(-7 to +7) ++// bit[03:00] v5_simple_me_weight_0(-7 to +7) ++#define V5_SIMPLE_MB_ME_WEIGHT (0x1f80) ++#define P_V5_SIMPLE_MB_ME_WEIGHT (volatile unsigned int *)((0x1f80 << 2) + 0xff620000) ++// ++// Closing file: qdct_regs.h ++// ++//------------------------------------------------------------------------------ ++// HCODEC MDEC module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hcodec_mdec_regs.h ++// ++//======================================================================== ++// MDEC module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_HDEC_CBUS_BASE = 0x09 ++// ----------------------------------------------- ++//`define HCODEC_MC_CTRL_REG 8'h00 ++//`define HCODEC_MC_MB_INFO 8'h01 ++//`define HCODEC_MC_PIC_INFO 8'h02 ++//`define HCODEC_MC_HALF_PEL_ONE 8'h03 ++//`define HCODEC_MC_HALF_PEL_TWO 8'h04 ++//`define HCODEC_POWER_CTL_MC 8'h05 ++// ++//`define HCODEC_MC_CMD 8'h06 ++//`define HCODEC_MC_CTRL0 8'h07 ++//`define HCODEC_MC_PIC_W_H 8'h08 ++//`define HCODEC_MC_STATUS0 8'h09 ++//`define HCODEC_MC_STATUS1 8'h0a ++//`define HCODEC_MC_CTRL1 8'h0b ++//`define HCODEC_MC_MIX_RATIO0 8'h0c ++//`define HCODEC_MC_MIX_RATIO1 8'h0d ++//`define HCODEC_MC_DP_MB_XY 8'h0e //read only ++//`define HCODEC_MC_OM_MB_XY 8'h0f //read only ++// ++//`define HCODEC_MC_MPORT_CTRL 8'h40 ++//`define HCODEC_MC_MPORT_DAT 8'h41 ++//`define HCODEC_MC_WT_PRED_CTRL 8'h42 ++//`define HCODEC_MC_MBBOT_ST_EVEN_ADDR 8'h44 ++//`define HCODEC_MC_MBBOT_ST_ODD_ADDR 8'h45 ++//`define HCODEC_MC_DPDN_MB_XY 8'h46 //read only ++//`define HCODEC_MC_OMDN_MB_XY 8'h47 //read only ++//`define HCODEC_MC_HCMDBUF_H 8'h48 ++//`define HCODEC_MC_HCMDBUF_L 8'h49 ++//`define HCODEC_MC_HCMD_H 8'h4a //read only ++//`define HCODEC_MC_HCMD_L 8'h4b //read only ++//`define HCODEC_MC_IDCT_DAT 8'h4c ++// ++//`define HCODEC_MC_CTRL_GCLK_CTRL 8'h4d ++//`define HCODEC_MC_OTHER_GCLK_CTRL 8'h4e ++// ++////Bit 29:24, mbbot thread ID and token ++////Bit 21:16, mc read/write thread ID and token ++////Bit 13:8, mbbot pre-arbitor burst number ++////Bit 5:0, mc pre-arbitor burst number ++//`define HCODEC_MC_CTRL2 8'h4f ++// ++//// `define HCODEC_DBLK_QUANT 8'h76 // ONLY for $ucode/real/amrisc/rv.s, reg value from apollo ++// ++////`define HCODEC_ANC1_CANVAS_ADDR 8'h80 ++////`define HCODEC_ANC2_CANVAS_ADDR 8'h81 ++// ++////`define HCODEC_REC_CANVAS_ADDR 8'h89 ++// ++////`define HCODEC_MDEC_PIC_W 8'h8c ++////`define HCODEC_MDEC_PIC_H 8'h8d ++//`define HCODEC_MDEC_PIC_DC_CTRL 8'h8e ++//`define HCODEC_MDEC_PIC_DC_STATUS 8'h8f ++// ++//`define HCODEC_ANC0_CANVAS_ADDR 8'h90 ++//`define HCODEC_ANC1_CANVAS_ADDR 8'h91 ++//`define HCODEC_ANC2_CANVAS_ADDR 8'h92 ++//`define HCODEC_ANC3_CANVAS_ADDR 8'h93 ++//`define HCODEC_ANC4_CANVAS_ADDR 8'h94 ++//`define HCODEC_ANC5_CANVAS_ADDR 8'h95 ++//`define HCODEC_ANC6_CANVAS_ADDR 8'h96 ++//`define HCODEC_ANC7_CANVAS_ADDR 8'h97 ++//`define HCODEC_ANC8_CANVAS_ADDR 8'h98 ++//`define HCODEC_ANC9_CANVAS_ADDR 8'h99 ++//`define HCODEC_ANC10_CANVAS_ADDR 8'h9a ++//`define HCODEC_ANC11_CANVAS_ADDR 8'h9b ++//`define HCODEC_ANC12_CANVAS_ADDR 8'h9c ++//`define HCODEC_ANC13_CANVAS_ADDR 8'h9d ++//`define HCODEC_ANC14_CANVAS_ADDR 8'h9e ++//`define HCODEC_ANC15_CANVAS_ADDR 8'h9f ++//`define HCODEC_ANC16_CANVAS_ADDR 8'ha0 ++//`define HCODEC_ANC17_CANVAS_ADDR 8'ha1 ++//`define HCODEC_ANC18_CANVAS_ADDR 8'ha2 ++//`define HCODEC_ANC19_CANVAS_ADDR 8'ha3 ++//`define HCODEC_ANC20_CANVAS_ADDR 8'ha4 ++//`define HCODEC_ANC21_CANVAS_ADDR 8'ha5 ++//`define HCODEC_ANC22_CANVAS_ADDR 8'ha6 ++//`define HCODEC_ANC23_CANVAS_ADDR 8'ha7 ++//`define HCODEC_ANC24_CANVAS_ADDR 8'ha8 ++//`define HCODEC_ANC25_CANVAS_ADDR 8'ha9 ++//`define HCODEC_ANC26_CANVAS_ADDR 8'haa ++//`define HCODEC_ANC27_CANVAS_ADDR 8'hab ++//`define HCODEC_ANC28_CANVAS_ADDR 8'hac ++//`define HCODEC_ANC29_CANVAS_ADDR 8'had ++//`define HCODEC_ANC30_CANVAS_ADDR 8'hae ++//`define HCODEC_ANC31_CANVAS_ADDR 8'haf ++// ++//`define HCODEC_DBKR_CANVAS_ADDR 8'hb0 ++//`define HCODEC_DBKW_CANVAS_ADDR 8'hb1 ++//`define HCODEC_REC_CANVAS_ADDR 8'hb2 ++// ++////28:24, read/write, current canvas idx, used in h264 only now ++////23:0, read only, current canvas address, 23:16, Cr canvas addr, 15:8, Cb canvas addr, 7:0, Y canvas addr ++//`define HCODEC_CURR_CANVAS_CTRL 8'hb3 ++// ++//`define HCODEC_MDEC_PIC_DC_THRESH 8'hb8 ++//`define HCODEC_MDEC_PICR_BUF_STATUS 8'hb9 ++//`define HCODEC_MDEC_PICW_BUF_STATUS 8'hba ++//`define HCODEC_MCW_DBLK_WRRSP_CNT 8'hbb ++// ++//`define HCODEC_AV_SCRATCH_0 8'hc0 ++//`define HCODEC_AV_SCRATCH_1 8'hc1 ++//`define HCODEC_AV_SCRATCH_2 8'hc2 ++//`define HCODEC_AV_SCRATCH_3 8'hc3 ++//`define HCODEC_AV_SCRATCH_4 8'hc4 ++//`define HCODEC_AV_SCRATCH_5 8'hc5 ++//`define HCODEC_AV_SCRATCH_6 8'hc6 ++//`define HCODEC_AV_SCRATCH_7 8'hc7 ++//`define HCODEC_AV_SCRATCH_8 8'hc8 ++//`define HCODEC_AV_SCRATCH_9 8'hc9 ++//`define HCODEC_AV_SCRATCH_A 8'hca ++//`define HCODEC_AV_SCRATCH_B 8'hcb ++//`define HCODEC_AV_SCRATCH_C 8'hcc ++//`define HCODEC_AV_SCRATCH_D 8'hcd ++//`define HCODEC_AV_SCRATCH_E 8'hce ++//`define HCODEC_AV_SCRATCH_F 8'hcf ++//`define HCODEC_AV_SCRATCH_G 8'hd0 ++//`define HCODEC_AV_SCRATCH_H 8'hd1 ++//`define HCODEC_AV_SCRATCH_I 8'hd2 ++//`define HCODEC_AV_SCRATCH_J 8'hd3 ++//`define HCODEC_AV_SCRATCH_K 8'hd4 ++//`define HCODEC_AV_SCRATCH_L 8'hd5 ++//`define HCODEC_AV_SCRATCH_M 8'hd6 ++//`define HCODEC_AV_SCRATCH_N 8'hd7 ++// ++//// bit[29:24] A_brst_num_co_mb ++//// bit[21:16] A_id_co_mb ++//// bit[11:0] wrrsp_count_co_mb ++//`define HCODEC_WRRSP_CO_MB 8'hd8 ++//// bit[29:24] A_brst_num_dcac ++//// bit[21:16] A_id_dcac ++//// bit[11:0] wrrsp_count_dcac ++//`define HCODEC_WRRSP_DCAC 8'hd9 ++// ++////====================================== ++//// MC Control Register Bits ++//// ++////====================================== ++//// For bits, just copy the defines...don't translate to addresses ++// `define HCODEC_MC_ENABLE 16'h0001 ++// //`define MC_RESET 16'h0002 ++// `define HCODEC_SKIP_MB 16'h0004 ++// ++////====================================== ++//// MB Info Register Bits ++//// ++////====================================== ++// `define HCODEC_INTRA_MB 16'h0001 ++// ++// `define HCODEC_BWD_PRED 16'h0004 ++// `define HCODEC_FWD_PRED 16'h0008 ++// ++// `define HCODEC_FLD_MOT 16'h0100 ++// `define HCODEC_FRM_16x8_MOT 16'h0200 ++// `define HCODEC_DUAL_PRM_MOT 16'h0300 ++// ++// `define HCODEC_FRM_DCT 16'h0000 // Bit 10 ++// `define HCODEC_FLD_DCT 16'h0400 ++// ++////====================================== ++//// MB Info Register Bits ++//// ++////====================================== ++// `define HCODEC_I_PIC 16'h0001 ++// `define HCODEC_P_PIC 16'h0002 ++// `define HCODEC_B_PIC 16'h0003 ++// ++// `define HCODEC_FLD_PIC 16'h0000 // Bit 8 ++// `define HCODEC_FRM_PIC 16'h0100 ++// ++////======================================================================== ++//// DBLK Register: 12'h950 - 12'h97f ++////======================================================================== ++//`define HCODEC_DBLK_RST 8'h50 ++//`define HCODEC_DBLK_CTRL 8'h51 ++//`define HCODEC_DBLK_MB_WID_HEIGHT 8'h52 ++//`define HCODEC_DBLK_STATUS 8'h53 ++//`define HCODEC_DBLK_CMD_CTRL 8'h54 ++//`define HCODEC_DBLK_MB_XY 8'h55 ++//`define HCODEC_DBLK_QP 8'h56 ++//`define HCODEC_DBLK_Y_BHFILT 8'h57 ++//`define HCODEC_DBLK_Y_BHFILT_HIGH 8'h58 ++//`define HCODEC_DBLK_Y_BVFILT 8'h59 ++//`define HCODEC_DBLK_CB_BFILT 8'h5a ++//`define HCODEC_DBLK_CR_BFILT 8'h5b ++//`define HCODEC_DBLK_Y_HFILT 8'h5c ++//`define HCODEC_DBLK_Y_HFILT_HIGH 8'h5d ++//`define HCODEC_DBLK_Y_VFILT 8'h5e ++//`define HCODEC_DBLK_CB_FILT 8'h5f ++//`define HCODEC_DBLK_CR_FILT 8'h60 ++//`define HCODEC_DBLK_BETAX_QP_SEL 8'h61 ++//`define HCODEC_DBLK_CLIP_CTRL0 8'h62 ++//`define HCODEC_DBLK_CLIP_CTRL1 8'h63 ++//`define HCODEC_DBLK_CLIP_CTRL2 8'h64 ++//`define HCODEC_DBLK_CLIP_CTRL3 8'h65 ++//`define HCODEC_DBLK_CLIP_CTRL4 8'h66 ++//`define HCODEC_DBLK_CLIP_CTRL5 8'h67 ++//`define HCODEC_DBLK_CLIP_CTRL6 8'h68 ++//`define HCODEC_DBLK_CLIP_CTRL7 8'h69 ++//`define HCODEC_DBLK_CLIP_CTRL8 8'h6a ++// ++//`define HCODEC_DBLK_STATUS1 8'h6b ++//`define HCODEC_DBLK_GCLK_FREE 8'h6c ++//`define HCODEC_DBLK_GCLK_OFF 8'h6d ++// ++//`define HCODEC_DBLK_AVSFLAGS 8'h6e ++// ++//// bit 15:0 ++//`define HCODEC_DBLK_CBPY 8'h70 ++//// bit 11:8 -- deblk_cbpy_bottom ++//// bit 7:4 -- deblk_cbpy_left ++//// bit 3:0 -- deblk_cbpy_top ++//`define HCODEC_DBLK_CBPY_ADJ 8'h71 ++//// bit 7:0 -- deblk_cbpc ++//`define HCODEC_DBLK_CBPC 8'h72 ++//// bit 15 -- bottom_mb ++//// bit 14 -- left_mb ++//// bit 13 -- top_mb ++//// bit 12 -- reserved ++//// bit 11:8 -- deblk_cbpc_bottom ++//// bit 7:4 -- deblk_cbpc_left ++//// bit 3:0 -- deblk_cbpc_top ++//`define HCODEC_DBLK_CBPC_ADJ 8'h73 ++//// bit 15:8 -- deblk_hmvd -- {left_1, left_0, below_1, below_0, block3-0} ++//// bit 7:0 -- deblk_vmvd -- {top_1, top_0, below_1, below_0, block3-0} ++//`define HCODEC_DBLK_VHMVD 8'h74 ++//// bit 13:12 -- right_vmvd ++//// bit 11 -- right_above_vmvd ++//// bit 10 -- left_below_hmvd ++//// bit 9 -- disable_dblk_luma ++//// bit 8 -- disable_dblk_chroma ++//// bit 7 -- bBelowRefDiff ++//// bit 6 -- bLeftRefDiff ++//// bit 5 -- bAboveRefDiff ++//// bit 4 -- reserved ++//// bit 3 -- s_below ++//// bit 2 -- s_left ++//// bit 1 -- s_above ++//// bit 0 -- s ++//`define HCODEC_DBLK_STRONG 8'h75 ++//// bit 14:10 -- PQUANT ++//// bit 9:5 -- left_PQUANT ++//// bit 4:0 -- top_PQUANT ++//`define HCODEC_DBLK_RV8_QUANT 8'h76 ++// ++//`define HCODEC_DBLK_CBUS_HCMD2 8'h77 ++//`define HCODEC_DBLK_CBUS_HCMD1 8'h78 ++//`define HCODEC_DBLK_CBUS_HCMD0 8'h79 ++//`define HCODEC_DBLK_VLD_HCMD2 8'h7a ++//`define HCODEC_DBLK_VLD_HCMD1 8'h7b ++//`define HCODEC_DBLK_VLD_HCMD0 8'h7c ++// ++//`define HCODEC_DBLK_OST_YBASE 8'h7d ++//`define HCODEC_DBLK_OST_CBCRDIFF 8'h7e ++// ++////13:8 dblk thread ID and token ++////5:0 dblk prearbitor burst num ++//`define HCODEC_DBLK_CTRL1 8'h7f ++// ++////DBLK last address 12'h97f ++// ++// Closing file: hcodec_mdec_regs.h ++// ++//------------------------------------------------------------------------------ ++// HCODEC VLD module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hcodec_vld_regs.h ++// ++//======================================================================== ++// VLD module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_VLD_CBUS_BASE = 0x0c ++// ----------------------------------------------- ++// ++//`define HCODEC_VLD_STATUS_CTRL 8'h00 ++//// ++//// bit 10 -- use_old_shift_en ++//// bit 9 -- output_mv_not_pmv ++//// bit 8:5 -- force_zigzag ++//// bit 4 -- force_zigzag_en ++//// bit 3 -- disable_viff_anempty_int ++//// bit 2 -- disable_m2_ac_coeff_one_cycle ++//// bit 1 -- forced_reset force reset pmv ++//// bit 0 -- mpeg_type 0:mpeg1 1: mpeg2 ++//`define HCODEC_MPEG1_2_REG 8'h01 ++//`define HCODEC_F_CODE_REG 8'h02 ++//`define HCODEC_PIC_HEAD_INFO 8'h03 ++//`define HCODEC_SLICE_VER_POS_PIC_TYPE 8'h04 ++//`define HCODEC_QP_VALUE_REG 8'h05 ++//`define HCODEC_MBA_INC 8'h06 ++//`define HCODEC_MB_MOTION_MODE 8'h07 ++////`define HCODEC_PACKET_BYTE_COUNT 8'h08 ++//// bit 15 -- force_search_startcode_en ++//// bit 14 -- int_cpu_when_error (before do anything) ++//// bit 13 -- vld_error_reset ++//// bit 12 -- return_on_slice_header ++//// bit 6 -- jpeg_ff00_en ++//// bit 5:0 -- vld_power_ctl ++//`define HCODEC_POWER_CTL_VLD 8'h08 ++// ++//`define HCODEC_MB_WIDTH 8'h09 ++//`define HCODEC_SLICE_QP 8'h0a ++//// `define HCODEC_MB_X_MB_Y 8'h0b // current MBX and MBY ++//`define HCODEC_PRE_START_CODE 8'h0b // ONLY for $ucode/real/amrisc/rv.s, reg value from apollo ++//`define HCODEC_SLICE_START_BYTE_01 8'h0c // ONLY for $ucode/real/amrisc/rv.s, reg value from apollo ++//`define HCODEC_SLICE_START_BYTE_23 8'h0d // ONLY for $ucode/real/amrisc/rv.s, reg value from apollo ++//`define HCODEC_RESYNC_MARKER_LENGTH 8'h0e // Does this exist in HW ? used in $ucode/mpeg4 ++// ++//// bit[6:5] - frame/field info, 01 - top, 10 - bottom, 11 - frame ++//// bit[4:0] - buffer ID ++//// L0_BUFF_ID_0, L0_BUFF_ID_1, L1_BUFF_ID_0, L1_BUFF_ID_1 ++//`define HCODEC_DECODER_BUFFER_INFO 8'h0f // Current Only Used for VC1 Interlace Field ++// ++//`define HCODEC_FST_FOR_MV_X 8'h10 ++//`define HCODEC_FST_FOR_MV_Y 8'h11 ++//`define HCODEC_SCD_FOR_MV_X 8'h12 ++//`define HCODEC_SCD_FOR_MV_Y 8'h13 ++//`define HCODEC_FST_BAK_MV_X 8'h14 ++//`define HCODEC_FST_BAK_MV_Y 8'h15 ++//`define HCODEC_SCD_BAK_MV_X 8'h16 ++//`define HCODEC_SCD_BAK_MV_Y 8'h17 ++// ++//// Bit 7:4 -- read_buffer_interlace 0-progressive, 1-interlace, used in VC1 ++//// bit 3 -- reserved ++//// bit 2 -- weighting_prediction ++//// bit 1 -- mb_weighting_flag ++//// bit 0 -- slice_weighting_flag ++//`define HCODEC_VLD_DECODE_CONTROL 8'h18 ++//`define HCODEC_VLD_REVERVED_19 8'h19 ++// ++//`define HCODEC_VIFF_BIT_CNT 8'h1a ++//`define HCODEC_BYTE_ALIGN_PEAK_HI 8'h1b ++//`define HCODEC_BYTE_ALIGN_PEAK_LO 8'h1c ++//`define HCODEC_NEXT_ALIGN_PEAK 8'h1d // Does this exist in HW ? used in $ucode/mpeg4 ++// ++//// bit 19 : vc1_inv_intra_co_mb_ref_rd ++//// bit 18 : vc1_inv_co_mb_ref_rd ++//// bit 17 : vc1_inv_intra_co_mb_ref_wr ++//// bit 16 : vc1_inv_co_mb_ref_wr ++//// bit 15 : reserved ++//// bit 14 : avs_drop_enable ++//// bit 13:12 : avs_drop_ptr ++//// bit 11:8 : avs_demu_ctl_reg ++//// bit 7 : avs_enable ++//// bit 6 : disable_dblk_hcmd ++//// bit 5 : disable_mc_hcmd ++//// bit 4 : first_mode3_set enable ++//// bit 3 : first_mode3 ++//// bit 2:1 : vc1_profile 0-SP, 1-MP, 2-reserved, 3-AP ++//// bit 0 : vc1_enable ++//`define HCODEC_VC1_CONTROL_REG 8'h1e ++// ++//`define HCODEC_PMV1_X 8'h20 ++//`define HCODEC_PMV1_Y 8'h21 ++//`define HCODEC_PMV2_X 8'h22 ++//`define HCODEC_PMV2_Y 8'h23 ++//`define HCODEC_PMV3_X 8'h24 ++//`define HCODEC_PMV3_Y 8'h25 ++//`define HCODEC_PMV4_X 8'h26 ++//`define HCODEC_PMV4_Y 8'h27 ++//// Can't use the same address for different defines ++//// Therefore, create a single define HCODEC_that covers both ++//// Only appears to be used in micro-code since the VLD hardware is ++//// hard coded. ++//// `define HCODEC_M4_TABLE_SELECT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++//// `define HCODEC_M4_TABLE_OUTPUT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++//`define HCODEC_M4_TABLE_SELECT 8'h28 ++//`define HCODEC_M4_CONTROL_REG 8'h29 ++//`define HCODEC_BLOCK_NUM 8'h2a // Does this exist in HW ? Added from register_mp2.h ++//`define HCODEC_PATTERN_CODE 8'h2b // Does this exist in HW ? Added from register_mp2.h ++//`define HCODEC_MB_INFO 8'h2c // Does this exist in HW ? Added from register_mp2.h ++//`define HCODEC_VLD_DC_PRED 8'h2d // Does this exist in HW ? Added from register_mp4.h ++//`define HCODEC_VLD_ERROR_MASK 8'h2e ++//`define HCODEC_VLD_DC_PRED_C 8'h2f // Does this exist in HW ? Added from register_mp4.h ++// ++//`define HCODEC_LAST_SLICE_MV_ADDR 8'h30 ++//`define HCODEC_LAST_MVX 8'h31 ++//`define HCODEC_LAST_MVY 8'h32 ++// ++//`define HCODEC_VLD_C38 8'h38 ++//`define HCODEC_VLD_C39 8'h39 ++// ++//`define HCODEC_VLD_STATUS 8'h3a // Does this exist in HW ? used in $ucode/real/amrisc/rv.s ++//`define HCODEC_VLD_SHIFT_STATUS 8'h3b // Does this exist in HW ? used in $ucode/real/amrisc/rv.s ++//// `define HCODEC_VLD_SHIFT_INFO 8'h3b // Does this exist in HW ? used in $ucode/mpeg4 ++//`define HCODEC_VOFF_STATUS 8'h3c // Does this exist in HW ? used in $ucode/mpeg4 ++// ++//`define HCODEC_VLD_C3D 8'h3d ++// ++//`define HCODEC_VLD_DBG_INDEX 8'h3e ++// ++// ++//// vld_buff_info -- (index == 0) ++//// Bit[7:6] mv_UR_ready_cnt; ++//// Bit[5] vld_wr_idx ++//// Bit[4] iq_rd_idx ++//// Bit[3] vld_vi_block_rdy_1 ++//// Bit[2] vld_vi_block_rdy_2 ++//// Bit[1] voff_empty_1 ++//// Bit[0] voff_empty_2 ++// ++//// cabac_buff_info_0 -- (index == 1) ++//// Bit[31] shift_data_ready ++//// Bit[30:29] Reserved ++//// Bit[28:24] cabac_buffer_ptr ++//// Bit[23:0] cabac_buffer ++// ++//// cabac_buff_info_1 -- (index == 2) ++//// Bit[31:29] Reserved ++//// Bit[28:20] Drange ++//// Bit[19:16] bin_count_4 ++//// Bit[15:13] Reserved ++//// Bit[12:6] context_mem_do ++//// Bit[5:3] coeff_state ++//// Bit[2:0] mvd_state ++// ++//// h264_mv_present -- (index == 3) ++//// Bit[31:16] mv_present_l0 ++//// Bit[15:0] mv_present_l1 ++// ++//// h264_mv_cal_info_0 -- (index == 4) ++//// [31:28] mv_cal_state ++//// [27:24] direct_spatial_cnt ++//// Bit[23:21] Reserved ++//// Bit[20] mv_UR_ready_for_mv_cal ++//// Bit[19] co_mb_mem_ready_for_mv_cal ++//// Bit[18] mc_dblk_cmd_if_busy ++//// Bit[17] h264_co_mb_wr_busy ++//// Bit[16] H264_cbp_blk_ready ++//// Bit[15] mc_hcmd_rrdy ++//// Bit[14] mc_hcmd_srdy ++//// Bit[13] mc_cmd_if_ready ++//// Bit[12] mc_hcmd_mv_available ++//// Bit[11:8] mc_cmd_if_state ++//// Bit[7] dblk_hcmd_rrdy ++//// Bit[6] dblk_hcmd_srdy ++//// Bit[5] dblk_cmd_if_ready ++//// Bit[4] dblk_hcmd_mv_available ++//// Bit[3:0] dblk_cmd_if_state ++// ++//// h264_mv_cal_info_1 -- (index == 5) ++//// Bit[31:29] Reserved ++//// Bit[28:24] total_mvd_num_l0 ++//// Bit[23:21] Reserved ++//// Bit[20:16] mv_cal_ptr_l0 ++//// Bit[15:13] Reserved ++//// Bit[12:8] mc_hcmd_ptr_l0 ++//// Bit[7:5] Reserved ++//// Bit[4:0] dblk_hcmd_ptr_l0 ++// ++//// h264_mv_cal_info_2 -- (index == 6) ++//// Bit[31:29] Reserved ++//// Bit[28:24] total_mvd_num_l1 ++//// Bit[23:21] Reserved ++//// Bit[20:16] mv_cal_ptr_l1 ++//// Bit[15:13] Reserved ++//// Bit[12:8] mc_hcmd_ptr_l1 ++//// Bit[7:5] Reserved ++//// Bit[4:0] dblk_hcmd_ptr_l1 ++// ++//// h264_co_mb_info -- (index == 7) ++//// Bit[31:26] Reserved ++//// Bit[25] mv_scale_cal_busy ++//// Bit[24:20] co_mv_count ++//// Bit[19:16] co_mv_process_state ++//// Bit[15] h264_co_mb_rd_busy ++//// Bit[15] h264_co_mb_rd_ready ++//// Bit[13:12] co_mv_transfer_block_cnt ++//// Bit[11:8] co_mv_transfer_ptr ++//// Bit[7] co_mv_POC_l1_busy ++//// Bit[6] h264_weight_scale_cal_en ++//// Bit[5] weight_cal_busy ++//// Bit[4] weight_cal_not_finished ++//// Bit[3:0] weight_process_state ++// ++//`define HCODEC_VLD_DBG_DATA 8'h3f ++//// -------------------------------------------- ++//// VIFIFO DDR Interface ++//// -------------------------------------------- ++//// The VIFIFO start pointer into DDR memory is a 32-bit number ++//// The Start pointer will automatically be truncated to land on ++//// an 8-byte boundary. That is, bits [2:0] = 0; ++//`define HCODEC_VLD_MEM_VIFIFO_START_PTR 8'h40 ++//// The current pointer points so some location between the START and END ++//// pointers. The current pointer is a BYTE pointer. That is, you can ++//// point to any BYTE address within the START/END range ++//`define HCODEC_VLD_MEM_VIFIFO_CURR_PTR 8'h41 ++//`define HCODEC_VLD_MEM_VIFIFO_END_PTR 8'h42 ++//`define HCODEC_VLD_MEM_VIFIFO_BYTES_AVAIL 8'h43 ++//// VIFIFO FIFO Control ++//// bit [31:24] viff_empty_int_enable_cpu[7:0] ++//// bit [23:16] viff_empty_int_enable_amrisc[7:0] ++//// -bit 23 Video BUFFER < 0x400 Bytes ++//// -bit 22 Video BUFFER < 0x200 Bytes ++//// -bit 21 Video BUFFER < 0x100 Bytes ++//// -bit 20 Video BUFFER < 0x80 Bytes ++//// -bit 19 Video BUFFER < 0x40 Bytes ++//// -bit 18 Video BUFFER < 0x20 Bytes ++//// -bit 17 vififo < 16 double words ++//// -bit 16 vififo < 8 double words ++//// bit [15:13] unused ++//// bit [12] A_urgent ++//// bit [11] transfer_length 0 - 32x64 Bits per request, 1 - 16x64 Bits per request ++//// bit [10] use_level Set this bit to 1 to enable filling of the FIFO controlled by the buffer ++//// level control. If this bit is 0, then use bit[1] to control the enabling of filling ++//// bit [9] Data Ready. This bit is set when data can be popped ++//// bit [8] fill busy This bit will be high when we're fetching data from the DDR memory ++//// To reset this module, set cntl_enable = 0, and then wait for busy = 0. ++//// After that you can pulse cntl_init to start over ++//// bit [7] init_with_cntl_init ++//// bit [6] reserved ++//// bits [5:3] endian: see $lib/rtl/ddr_endian.v ++//// bit [2] cntl_empty_en Set to 1 to enable reading the DDR memory FIFO ++//// Set cntl_empty_en = cntl_fill_en = 0 when pulsing cntl_init ++//// bit [1] cntl_fill_en Set to 1 to enable reading data from DDR memory ++//// bit [0] cntl_init: After setting the read pointers, sizes, channel masks ++//// and read masks, set this bit to 1 and then to 0 ++//// NOTE: You don't need to pulse cntl_init if only the start address is ++//// being changed ++//`define HCODEC_VLD_MEM_VIFIFO_CONTROL 8'h44 ++//// -------------------------------------------- ++//// VIFIFO Buffer Level Manager ++//// -------------------------------------------- ++//`define HCODEC_VLD_MEM_VIFIFO_WP 8'h45 // Manual or Parser write pointer ++//`define HCODEC_VLD_MEM_VIFIFO_RP 8'h46 ++//`define HCODEC_VLD_MEM_VIFIFO_LEVEL 8'h47 // must be low first to shadow low/high 16-bit words ++//// ++//// bit [8] use_parser_video2_wp ++//// bit [7] vbuf2_out_manual ++//// bit [6] vbuf_out_manual ++//// bit [5] empty (ReadOnly) ++//// bit [4] full (ReadOnly) ++//// bit [3:2] reserved ++//// bit [1] manual mode Set to 1 for manual write pointer mode ++//// bit [0] Init Set high then low after everything has been initialized ++//`define HCODEC_VLD_MEM_VIFIFO_BUF_CNTL 8'h48 ++// ++//// bit 31:16 -- drop_bytes ++//// bit 15:14 -- drop_status (Read-Only) ++//// bit 13:12 -- sync_match_position (Read-Only) ++//// bit 11:6 -- reserved ++//// bit 5:4 -- TIME_STAMP_NUMBER, 0-32bits, 1-64bits, 2-96bits, 3-128bits ++//// bit 3 -- stamp_soft_reset ++//// bit 2 -- TIME_STAMP_length_enable ++//// bit 1 -- TIME_STAMP_sync64_enable ++//// bit 0 -- TIME_STAMP_enable ++//`define HCODEC_VLD_TIME_STAMP_CNTL 8'h49 ++//// bit 31:0 -- TIME_STAMP_SYNC_CODE_0 ++//`define HCODEC_VLD_TIME_STAMP_SYNC_0 8'h4a ++//// bit 31:0 -- TIME_STAMP_SYNC_CODE_1 ++//`define HCODEC_VLD_TIME_STAMP_SYNC_1 8'h4b ++//// bit 31:0 TIME_STAMP_0 ++//`define HCODEC_VLD_TIME_STAMP_0 8'h4c ++//// bit 31:0 TIME_STAMP_1 ++//`define HCODEC_VLD_TIME_STAMP_1 8'h4d ++//// bit 31:0 TIME_STAMP_2 ++//`define HCODEC_VLD_TIME_STAMP_2 8'h4e ++//// bit 31:0 TIME_STAMP_3 ++//`define HCODEC_VLD_TIME_STAMP_3 8'h4f ++//// bit 31:0 TIME_STAMP_LENGTH ++//`define HCODEC_VLD_TIME_STAMP_LENGTH 8'h50 ++// ++//// bit 15:0 vififo_rd_count ++//`define HCODEC_VLD_MEM_VIFIFO_WRAP_COUNT 8'h51 ++// ++//// bit 29:24 A_brst_num ++//// bit 21:16 A_id ++//// bit 15:0 level_hold ++//`define HCODEC_VLD_MEM_VIFIFO_MEM_CTL 8'h52 ++// ++//`define HCODEC_VLD_MEM_VBUF_RD_PTR 8'h53 // manual read address for VBUF1 ++//`define HCODEC_VLD_MEM_VBUF2_RD_PTR 8'h54 // manual read address for VBUF2 ++// ++//`define HCODEC_VLD_MEM_SWAP_ADDR 8'h55 ++//// bit[23:16] - swap_d_count (Read Only) ++//// bit[15:8] - swap_a_count (Read Only) ++//// bit [7] - swap busy (Read Only) ++//// bit [6:2] - reserved ++//// bit [1] - 1 - STORE to Memory, 0 - LOAD from Memory ++//// bit [0] - swap active ++//`define HCODEC_VLD_MEM_SWAP_CTL 8'h56 ++// ++// Closing file: hcodec_vld_regs.h ++// ++//------------------------------------------------------------------------------ ++// HCODEC IQIDCT module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hcodec_iqidct_regs.h ++// ++//======================================================================== ++// IQ/IDCT module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_IQIDCT_CBUS_BASE = 0x0e ++// ----------------------------------------------- ++// ++//`define HCODEC_VCOP_CTRL_REG 8'h00 ++//`define HCODEC_QP_CTRL_REG 8'h01 ++//`define HCODEC_INTRA_QUANT_MATRIX 8'h02 ++//`define HCODEC_NON_I_QUANT_MATRIX 8'h03 ++//`define HCODEC_DC_SCALER 8'h04 ++//`define HCODEC_DC_AC_CTRL 8'h05 ++//// `define HCODEC_RV_AI_CTRL 8'h05 // ONLY for $ucode/real/amrisc/rv.s reg value from apollo ++//`define HCODEC_DC_AC_SCALE_MUL 8'h06 ++//`define HCODEC_DC_AC_SCALE_DIV 8'h07 ++//// `define HCODEC_DC_AC_SCALE_RESULT 8'h06 ++//// `define HCODEC_RESERVED_E07 8'h07 ++//`define HCODEC_POWER_CTL_IQIDCT 8'h08 ++//`define HCODEC_RV_AI_Y_X 8'h09 ++//`define HCODEC_RV_AI_U_X 8'h0a ++//`define HCODEC_RV_AI_V_X 8'h0b ++//// bit 15:0 will count up when rv_ai_mb finished when non zero ++//// and rv_ai_mb_finished_int will be generate when this is not zero ++//`define HCODEC_RV_AI_MB_COUNT 8'h0c ++//// For H264 I in PB picture Use -- dma type : h264_next_intra_dma ++//`define HCODEC_NEXT_INTRA_DMA_ADDRESS 8'h0d ++//// Bit 0 -- constrained_intra_pred_flag for H264 ++//`define HCODEC_IQIDCT_CONTROL 8'h0e ++// ++// ++//// Bit[31:19] Reserved ++//// Bit[18] iq_waiting ++//// Bit[17] iq_om_wr_idx ++//// Bit[16] iq_om_rd_idx ++//// Bit[15] iq_om_busy ++//// Bit[14] iq_om_2_busy ++//// Bit[13] idx_fifo_0 ++//// Bit[12] idx_fifo_1 ++//// Bit[11] idx_fifo_2 ++//// Bit[10] idx_fifo_3 ++//// Bit[9] idx_fifo_4 ++//// Bit[8] idx_fifo_5 ++//// Bit[7] idx_fifo_6 ++//// Bit[6] idx_fifo_7 ++//// Bit[5:3] idx_fifo_wp ++//// Bit[2:0] idx_fifo_rp ++// ++//`define HCODEC_IQIDCT_DEBUG_INFO_0 8'h0f ++// ++//// For RTL Simulation Only ++//`define HCODEC_DEBLK_CMD 8'h10 ++// ++//// Bit[15+16] ds_mc_valid_2 ++//// Bit[14+16] new_idct1_rd_idx_2 ++//// Bit[13+16] new_idct1_wr_idx_2 ++//// Bit[12+16] idct1_buff0_busy_2 ++//// Bit[11+16] idct1_buff1_busy_2 ++//// Bit[10+16] new_idct1_busy_2 ++//// Bit[9+16] iq_om_8val_2 ++//// Bit[8+16] idct1_pipe_busy_2 ++// ++//// Bit[7+16] wait_mb_left_finish_hold_2 ++//// Bit[6+16] new_idct2_rd_idx_2 ++//// Bit[5+16] new_idct2_wr_idx_2 ++//// Bit[4+16] idct2_buff0_busy_2 ++//// Bit[3+16] idct2_buff1_busy_2 ++//// Bit[2+16] idct2_en_2 ++//// Bit[1+16] new_idct2_busy_2 ++//// Bit[0+16] new_idct1_ready_2 ++// ++//// Bit[15] ds_mc_valid_1 ++//// Bit[14] new_idct1_rd_idx_1 ++//// Bit[13] new_idct1_wr_idx_1 ++//// Bit[12] idct1_buff0_busy_1 ++//// Bit[11] idct1_buff1_busy_1 ++//// Bit[10] new_idct1_busy_1 ++//// Bit[9] iq_om_8val_1 ++//// Bit[8] idct1_pipe_busy_1 ++// ++//// Bit[7] wait_mb_left_finish_hold_1 ++//// Bit[6] new_idct2_rd_idx_1 ++//// Bit[5] new_idct2_wr_idx_1 ++//// Bit[4] idct2_buff0_busy_1 ++//// Bit[3] idct2_buff1_busy_1 ++//// Bit[2] idct2_en_1 ++//// Bit[1] new_idct2_busy_1 ++//// Bit[0] new_idct1_ready_1 ++// ++//`define HCODEC_IQIDCT_DEBUG_IDCT 8'h11 ++// ++// ++// ++//// bit 31 -- convas_enable ++//// bit 30:24 -- convas_x_count ( 8 pixels / 64 bits ) ++//// bit 23:16 -- convas_y_count ++//// bit 15 -- dcac_dma_busy ++//// bit 14 -- dcac_dma_urgent ++//// bit 13:8 -- dcac_dma_count ++//// bit 7 -- dcac_dma_rw ++//// bit 6 -- dcac_skip_read_mode ++//// bit 5:0 -- dcac_dma_offset ++//`define HCODEC_DCAC_DMA_CTRL 8'h12 ++//// when (convas_enable == 0 ) ++//// bit 31:0 dcac_dma_addr ++//// when (convas_enable == 1 ) ++//// bit 31:25 canvas_addr (7 bits) ++//// bit 24:12 convas_y_start ( 13 btis ) ++//// bit 11:0 convas_x_start ( 12 btis ) ++//`define HCODEC_DCAC_DMA_ADDRESS 8'h13 ++//// bit 7:0 -- dcac_cpu_addr ++//`define HCODEC_DCAC_CPU_ADDRESS 8'h14 ++//// bit 31:0 -- dcac_cpu_data ++//`define HCODEC_DCAC_CPU_DATA 8'h15 ++// ++//// bit 31:19 -- reserved ++//// bit 18:16 -- block_num_reg -- Read-Only ++//// bit 15:0 -- dcac_mb_count ++//`define HCODEC_DCAC_MB_COUNT 8'h16 ++// ++//// bit 31:18 -- reserved ++//// For H264 : ++//// bit 17:2 -- h264_quant ++//// bit 11:6 -- h264_quant_c ++//// bit 5:0 -- h264_quant_c ++//// For VC1 : ++//// bit 17 -- qindex_GT_8 ++//// bit 16 -- HalfQPStep ++//// bit 15:12 -- eQuantMode ++//// bit 11:6 -- AltPQuant ++//// bit 5:0 -- PQuant ++//// ++//`define HCODEC_IQ_QUANT 8'h17 ++// ++//// bit 31:24 -- bitplane_width ++//// bit 23:16 -- bitplane_height ++//// bit 15:14 -- bitplane_start_x ++//// bit 13:12 -- bitplane_start_y ++//// bit 11:4 -- reserved ++//// bit 3:1 -- bitplane_type ++//// bit 0 -- bitplane_busy ++//`define HCODEC_VC1_BITPLANE_CTL 8'h18 ++// ++// ++// ++// `define HCODEC_RAM_TEST_CMD 12'h002 ++// `define HCODEC_RAM_TEST_ADDR 12'h003 ++// `define HCODEC_RAM_TEST_DATAH 12'h004 ++// `define HCODEC_RAM_TEST_DATAL 12'h005 ++// ++// `define HCODEC_RAM_TEST_RD_CMD 16'h0000 ++// `define HCODEC_RAM_TEST_WR_CMD 16'h8000 ++// `define HCODEC_IDCT_TM2_PT0 16'h0001 ++// `define HCODEC_IDCT_TM2_PT1 16'h0002 ++// `define HCODEC_IDCT_TM1_PT0 16'h0004 ++// `define HCODEC_IDCT_TM1_PT1 16'h0008 ++// `define HCODEC_IQ_OMEM_PT0 16'h0010 ++// `define HCODEC_IQ_OMEM_PT1 16'h0020 ++// `define HCODEC_MC_IMEM_PT0 16'h0040 ++// `define HCODEC_ALL_RAM_PTS 16'h007f ++// ++////====================================== ++//// VCOP Control Register Bits ++//// ++////====================================== ++// //`define HCODEC_IQIDCT_RESET 16'h0001 // Bit 0 ++// `define HCODEC_QM_WEN 16'h0002 // Bit 1 ++// `define HCODEC_IQIDCT_ENABLE 16'h0004 // Bit 2 ++// `define HCODEC_INTRA_QM 16'h0008 // Bit 3 0 = Use default; 1 = use loaded ++// `define HCODEC_NINTRA_QM 16'h0010 // Bit 4 0 = Use default; 1 = use loaded ++// ++////====================================== ++//// QP Control Register Bits ++//// ++////====================================== ++// `define HCODEC_INTRA_MODE 16'h0080 // Bit 7 ++//// Duplicate Address: When actually used ++//// please move to a different address ++//// `define HCODEC_FLD_DCT_TYPE 16'h0100 // Bit 8 0 = Frame DCT; 1 = field DCT ++// ++// ++// Closing file: hcodec_iqidct_regs.h ++// ++//------------------------------------------------------------------------------ ++// HCODEC IQIDCT module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hcodec_vcpu_regs.h ++// ++//======================================================================== ++// VCPU module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_VCPU_CBUS_BASE = 0x03 ++// ----------------------------------------------- ++//`define HCODEC_MSP 8'h00 ++//`define HCODEC_MPSR 8'h01 ++//`define HCODEC_MINT_VEC_BASE 8'h02 ++//`define HCODEC_MCPU_INTR_GRP 8'h03 ++//`define HCODEC_MCPU_INTR_MSK 8'h04 ++//`define HCODEC_MCPU_INTR_REQ 8'h05 ++//`define HCODEC_MPC_P 8'h06 ++//`define HCODEC_MPC_D 8'h07 ++//`define HCODEC_MPC_E 8'h08 ++//`define HCODEC_MPC_W 8'h09 ++//`define HCODEC_MINDEX0_REG 8'h0a ++//`define HCODEC_MINDEX1_REG 8'h0b ++//`define HCODEC_MINDEX2_REG 8'h0c ++//`define HCODEC_MINDEX3_REG 8'h0d ++//`define HCODEC_MINDEX4_REG 8'h0e ++//`define HCODEC_MINDEX5_REG 8'h0f ++//`define HCODEC_MINDEX6_REG 8'h10 ++//`define HCODEC_MINDEX7_REG 8'h11 ++//`define HCODEC_MMIN_REG 8'h12 ++//`define HCODEC_MMAX_REG 8'h13 ++//`define HCODEC_MBREAK0_REG 8'h14 ++//`define HCODEC_MBREAK1_REG 8'h15 ++//`define HCODEC_MBREAK2_REG 8'h16 ++//`define HCODEC_MBREAK3_REG 8'h17 ++//`define HCODEC_MBREAK_TYPE 8'h18 ++//`define HCODEC_MBREAK_CTRL 8'h19 ++//`define HCODEC_MBREAK_STAUTS 8'h1a ++//`define HCODEC_MDB_ADDR_REG 8'h1b ++//`define HCODEC_MDB_DATA_REG 8'h1c ++//`define HCODEC_MDB_CTRL 8'h1d ++//`define HCODEC_MSFTINT0 8'h1e ++//`define HCODEC_MSFTINT1 8'h1f ++// ++//`define HCODEC_CSP 8'h20 ++//`define HCODEC_CPSR 8'h21 ++//`define HCODEC_CINT_VEC_BASE 8'h22 ++//`define HCODEC_CCPU_INTR_GRP 8'h23 ++//`define HCODEC_CCPU_INTR_MSK 8'h24 ++//`define HCODEC_CCPU_INTR_REQ 8'h25 ++//`define HCODEC_CPC_P 8'h26 ++//`define HCODEC_CPC_D 8'h27 ++//`define HCODEC_CPC_E 8'h28 ++//`define HCODEC_CPC_W 8'h29 ++//`define HCODEC_CINDEX0_REG 8'h2a ++//`define HCODEC_CINDEX1_REG 8'h2b ++//`define HCODEC_CINDEX2_REG 8'h2c ++//`define HCODEC_CINDEX3_REG 8'h2d ++//`define HCODEC_CINDEX4_REG 8'h2e ++//`define HCODEC_CINDEX5_REG 8'h2f ++//`define HCODEC_CINDEX6_REG 8'h30 ++//`define HCODEC_CINDEX7_REG 8'h31 ++//`define HCODEC_CMIN_REG 8'h32 ++//`define HCODEC_CMAX_REG 8'h33 ++//`define HCODEC_CBREAK0_REG 8'h34 ++//`define HCODEC_CBREAK1_REG 8'h35 ++//`define HCODEC_CBREAK2_REG 8'h36 ++//`define HCODEC_CBREAK3_REG 8'h37 ++//`define HCODEC_CBREAK_TYPE 8'h38 ++//`define HCODEC_CBREAK_CTRL 8'h39 ++//`define HCODEC_CBREAK_STAUTS 8'h3a ++//`define HCODEC_CDB_ADDR_REG 8'h3b ++//`define HCODEC_CDB_DATA_REG 8'h3c ++//`define HCODEC_CDB_CTRL 8'h3d ++//`define HCODEC_CSFTINT0 8'h3e ++//`define HCODEC_CSFTINT1 8'h3f ++// ++//`define HCODEC_IMEM_DMA_CTRL 8'h40 ++//`define HCODEC_IMEM_DMA_ADR 8'h41 ++//`define HCODEC_IMEM_DMA_COUNT 8'h42 ++//// bit[29:24] A_brst_num_imem ++//// bit[21:16] A_id_imem ++//// bit[11:0] wrrsp_count_imem (reserved) ++//`define HCODEC_WRRSP_IMEM 8'h43 ++// ++//`define HCODEC_LMEM_DMA_CTRL 8'h50 ++//`define HCODEC_LMEM_DMA_ADR 8'h51 ++//`define HCODEC_LMEM_DMA_COUNT 8'h52 ++//// bit[29:24] A_brst_num_lmem ++//// bit[21:16] A_id_lmem ++//// bit[11:0] wrrsp_count_lmem ++//`define HCODEC_WRRSP_LMEM 8'h53 ++// ++//`define HCODEC_MAC_CTRL1 8'h60 ++//`define HCODEC_ACC0REG1 8'h61 ++//`define HCODEC_ACC1REG1 8'h62 ++// ++//`define HCODEC_MAC_CTRL2 8'h70 ++//`define HCODEC_ACC0REG2 8'h71 ++//`define HCODEC_ACC1REG2 8'h72 ++//`define HCODEC_CPU_TRACE 8'h80 ++// ++// ++// Closing file: hcodec_vcpu_regs.h ++// ++//------------------------------------------------------------------------------ ++// HEVC_ASSIST module level register offset ++//------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HEVC_ASSIST_CBUS_BASE = 0x00 ++// ----------------------------------------------- ++#define HEVC_ASSIST_AFIFO_CTRL (0x3001) ++#define P_HEVC_ASSIST_AFIFO_CTRL (volatile unsigned int *)((0x3001 << 2) + 0xff620000) ++#define HEVC_ASSIST_AFIFO_CTRL1 (0x3002) ++#define P_HEVC_ASSIST_AFIFO_CTRL1 (volatile unsigned int *)((0x3002 << 2) + 0xff620000) ++#define HEVC_ASSIST_GCLK_EN (0x3003) ++#define P_HEVC_ASSIST_GCLK_EN (volatile unsigned int *)((0x3003 << 2) + 0xff620000) ++#define HEVC_ASSIST_SW_RESET (0x3004) ++#define P_HEVC_ASSIST_SW_RESET (volatile unsigned int *)((0x3004 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT0 (0x3025) ++#define P_HEVC_ASSIST_AMR1_INT0 (volatile unsigned int *)((0x3025 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT1 (0x3026) ++#define P_HEVC_ASSIST_AMR1_INT1 (volatile unsigned int *)((0x3026 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT2 (0x3027) ++#define P_HEVC_ASSIST_AMR1_INT2 (volatile unsigned int *)((0x3027 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT3 (0x3028) ++#define P_HEVC_ASSIST_AMR1_INT3 (volatile unsigned int *)((0x3028 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT4 (0x3029) ++#define P_HEVC_ASSIST_AMR1_INT4 (volatile unsigned int *)((0x3029 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT5 (0x302a) ++#define P_HEVC_ASSIST_AMR1_INT5 (volatile unsigned int *)((0x302a << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT6 (0x302b) ++#define P_HEVC_ASSIST_AMR1_INT6 (volatile unsigned int *)((0x302b << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT7 (0x302c) ++#define P_HEVC_ASSIST_AMR1_INT7 (volatile unsigned int *)((0x302c << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT8 (0x302d) ++#define P_HEVC_ASSIST_AMR1_INT8 (volatile unsigned int *)((0x302d << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INT9 (0x302e) ++#define P_HEVC_ASSIST_AMR1_INT9 (volatile unsigned int *)((0x302e << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INTA (0x302f) ++#define P_HEVC_ASSIST_AMR1_INTA (volatile unsigned int *)((0x302f << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INTB (0x3030) ++#define P_HEVC_ASSIST_AMR1_INTB (volatile unsigned int *)((0x3030 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INTC (0x3031) ++#define P_HEVC_ASSIST_AMR1_INTC (volatile unsigned int *)((0x3031 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INTD (0x3032) ++#define P_HEVC_ASSIST_AMR1_INTD (volatile unsigned int *)((0x3032 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INTE (0x3033) ++#define P_HEVC_ASSIST_AMR1_INTE (volatile unsigned int *)((0x3033 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR1_INTF (0x3034) ++#define P_HEVC_ASSIST_AMR1_INTF (volatile unsigned int *)((0x3034 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT0 (0x3035) ++#define P_HEVC_ASSIST_AMR2_INT0 (volatile unsigned int *)((0x3035 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT1 (0x3036) ++#define P_HEVC_ASSIST_AMR2_INT1 (volatile unsigned int *)((0x3036 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT2 (0x3037) ++#define P_HEVC_ASSIST_AMR2_INT2 (volatile unsigned int *)((0x3037 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT3 (0x3038) ++#define P_HEVC_ASSIST_AMR2_INT3 (volatile unsigned int *)((0x3038 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT4 (0x3039) ++#define P_HEVC_ASSIST_AMR2_INT4 (volatile unsigned int *)((0x3039 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT5 (0x303a) ++#define P_HEVC_ASSIST_AMR2_INT5 (volatile unsigned int *)((0x303a << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT6 (0x303b) ++#define P_HEVC_ASSIST_AMR2_INT6 (volatile unsigned int *)((0x303b << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT7 (0x303c) ++#define P_HEVC_ASSIST_AMR2_INT7 (volatile unsigned int *)((0x303c << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT8 (0x303d) ++#define P_HEVC_ASSIST_AMR2_INT8 (volatile unsigned int *)((0x303d << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INT9 (0x303e) ++#define P_HEVC_ASSIST_AMR2_INT9 (volatile unsigned int *)((0x303e << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INTA (0x303f) ++#define P_HEVC_ASSIST_AMR2_INTA (volatile unsigned int *)((0x303f << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INTB (0x3040) ++#define P_HEVC_ASSIST_AMR2_INTB (volatile unsigned int *)((0x3040 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INTC (0x3041) ++#define P_HEVC_ASSIST_AMR2_INTC (volatile unsigned int *)((0x3041 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INTD (0x3042) ++#define P_HEVC_ASSIST_AMR2_INTD (volatile unsigned int *)((0x3042 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INTE (0x3043) ++#define P_HEVC_ASSIST_AMR2_INTE (volatile unsigned int *)((0x3043 << 2) + 0xff620000) ++#define HEVC_ASSIST_AMR2_INTF (0x3044) ++#define P_HEVC_ASSIST_AMR2_INTF (volatile unsigned int *)((0x3044 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBX_SSEL (0x3045) ++#define P_HEVC_ASSIST_MBX_SSEL (volatile unsigned int *)((0x3045 << 2) + 0xff620000) ++#define HEVC_ASSIST_TIMER0_LO (0x3060) ++#define P_HEVC_ASSIST_TIMER0_LO (volatile unsigned int *)((0x3060 << 2) + 0xff620000) ++#define HEVC_ASSIST_TIMER0_HI (0x3061) ++#define P_HEVC_ASSIST_TIMER0_HI (volatile unsigned int *)((0x3061 << 2) + 0xff620000) ++#define HEVC_ASSIST_TIMER1_LO (0x3062) ++#define P_HEVC_ASSIST_TIMER1_LO (volatile unsigned int *)((0x3062 << 2) + 0xff620000) ++#define HEVC_ASSIST_TIMER1_HI (0x3063) ++#define P_HEVC_ASSIST_TIMER1_HI (volatile unsigned int *)((0x3063 << 2) + 0xff620000) ++#define HEVC_ASSIST_DMA_INT (0x3064) ++#define P_HEVC_ASSIST_DMA_INT (volatile unsigned int *)((0x3064 << 2) + 0xff620000) ++#define HEVC_ASSIST_DMA_INT_MSK (0x3065) ++#define P_HEVC_ASSIST_DMA_INT_MSK (volatile unsigned int *)((0x3065 << 2) + 0xff620000) ++#define HEVC_ASSIST_DMA_INT2 (0x3066) ++#define P_HEVC_ASSIST_DMA_INT2 (volatile unsigned int *)((0x3066 << 2) + 0xff620000) ++#define HEVC_ASSIST_DMA_INT_MSK2 (0x3067) ++#define P_HEVC_ASSIST_DMA_INT_MSK2 (volatile unsigned int *)((0x3067 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX0_IRQ_REG (0x3070) ++#define P_HEVC_ASSIST_MBOX0_IRQ_REG (volatile unsigned int *)((0x3070 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX0_CLR_REG (0x3071) ++#define P_HEVC_ASSIST_MBOX0_CLR_REG (volatile unsigned int *)((0x3071 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX0_MASK (0x3072) ++#define P_HEVC_ASSIST_MBOX0_MASK (volatile unsigned int *)((0x3072 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX0_FIQ_SEL (0x3073) ++#define P_HEVC_ASSIST_MBOX0_FIQ_SEL (volatile unsigned int *)((0x3073 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX1_IRQ_REG (0x3074) ++#define P_HEVC_ASSIST_MBOX1_IRQ_REG (volatile unsigned int *)((0x3074 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX1_CLR_REG (0x3075) ++#define P_HEVC_ASSIST_MBOX1_CLR_REG (volatile unsigned int *)((0x3075 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX1_MASK (0x3076) ++#define P_HEVC_ASSIST_MBOX1_MASK (volatile unsigned int *)((0x3076 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX1_FIQ_SEL (0x3077) ++#define P_HEVC_ASSIST_MBOX1_FIQ_SEL (volatile unsigned int *)((0x3077 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX2_IRQ_REG (0x3078) ++#define P_HEVC_ASSIST_MBOX2_IRQ_REG (volatile unsigned int *)((0x3078 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX2_CLR_REG (0x3079) ++#define P_HEVC_ASSIST_MBOX2_CLR_REG (volatile unsigned int *)((0x3079 << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX2_MASK (0x307a) ++#define P_HEVC_ASSIST_MBOX2_MASK (volatile unsigned int *)((0x307a << 2) + 0xff620000) ++#define HEVC_ASSIST_MBOX2_FIQ_SEL (0x307b) ++#define P_HEVC_ASSIST_MBOX2_FIQ_SEL (volatile unsigned int *)((0x307b << 2) + 0xff620000) ++// bit[31:24] - read request ++// bit[23:16] - write request ++// bit[7] - disable_aml_axi_clk_gating ++// bit[3:0] - arb_switch_cnt ++#define HEVC_ASSIST_AXI_CTRL (0x307c) ++#define P_HEVC_ASSIST_AXI_CTRL (volatile unsigned int *)((0x307c << 2) + 0xff620000) ++// bit[31:24] - read arb result ++// bit[23:16] - write arb result ++// bit[15:12] - read_ar_cnt ++// bit[11:8] - write_aw_cnt ++// bit[7] - arvalid_axi_s0 ++// bit[6] - arready_axi_s0 ++// bit[5] - awvalid_axi_s0 ++// bit[4] - awready_axi_s0 ++// bit[3:0] - write_fifo_cnt ++#define HEVC_ASSIST_AXI_STATUS (0x307d) ++#define P_HEVC_ASSIST_AXI_STATUS (volatile unsigned int *)((0x307d << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_0 (0x30c0) ++#define P_HEVC_ASSIST_SCRATCH_0 (volatile unsigned int *)((0x30c0 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_1 (0x30c1) ++#define P_HEVC_ASSIST_SCRATCH_1 (volatile unsigned int *)((0x30c1 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_2 (0x30c2) ++#define P_HEVC_ASSIST_SCRATCH_2 (volatile unsigned int *)((0x30c2 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_3 (0x30c3) ++#define P_HEVC_ASSIST_SCRATCH_3 (volatile unsigned int *)((0x30c3 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_4 (0x30c4) ++#define P_HEVC_ASSIST_SCRATCH_4 (volatile unsigned int *)((0x30c4 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_5 (0x30c5) ++#define P_HEVC_ASSIST_SCRATCH_5 (volatile unsigned int *)((0x30c5 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_6 (0x30c6) ++#define P_HEVC_ASSIST_SCRATCH_6 (volatile unsigned int *)((0x30c6 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_7 (0x30c7) ++#define P_HEVC_ASSIST_SCRATCH_7 (volatile unsigned int *)((0x30c7 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_8 (0x30c8) ++#define P_HEVC_ASSIST_SCRATCH_8 (volatile unsigned int *)((0x30c8 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_9 (0x30c9) ++#define P_HEVC_ASSIST_SCRATCH_9 (volatile unsigned int *)((0x30c9 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_A (0x30ca) ++#define P_HEVC_ASSIST_SCRATCH_A (volatile unsigned int *)((0x30ca << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_B (0x30cb) ++#define P_HEVC_ASSIST_SCRATCH_B (volatile unsigned int *)((0x30cb << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_C (0x30cc) ++#define P_HEVC_ASSIST_SCRATCH_C (volatile unsigned int *)((0x30cc << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_D (0x30cd) ++#define P_HEVC_ASSIST_SCRATCH_D (volatile unsigned int *)((0x30cd << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_E (0x30ce) ++#define P_HEVC_ASSIST_SCRATCH_E (volatile unsigned int *)((0x30ce << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_F (0x30cf) ++#define P_HEVC_ASSIST_SCRATCH_F (volatile unsigned int *)((0x30cf << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_G (0x30d0) ++#define P_HEVC_ASSIST_SCRATCH_G (volatile unsigned int *)((0x30d0 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_H (0x30d1) ++#define P_HEVC_ASSIST_SCRATCH_H (volatile unsigned int *)((0x30d1 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_I (0x30d2) ++#define P_HEVC_ASSIST_SCRATCH_I (volatile unsigned int *)((0x30d2 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_J (0x30d3) ++#define P_HEVC_ASSIST_SCRATCH_J (volatile unsigned int *)((0x30d3 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_K (0x30d4) ++#define P_HEVC_ASSIST_SCRATCH_K (volatile unsigned int *)((0x30d4 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_L (0x30d5) ++#define P_HEVC_ASSIST_SCRATCH_L (volatile unsigned int *)((0x30d5 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_M (0x30d6) ++#define P_HEVC_ASSIST_SCRATCH_M (volatile unsigned int *)((0x30d6 << 2) + 0xff620000) ++#define HEVC_ASSIST_SCRATCH_N (0x30d7) ++#define P_HEVC_ASSIST_SCRATCH_N (volatile unsigned int *)((0x30d7 << 2) + 0xff620000) ++//------------------------------------------------------------------------------ ++// HEVC_ASSIST module level register offset ++// Same as VDEC/HCODEC to avoid confusing software guy ++//------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HEVC_VCPU_CBUS_BASE = 0x03 ++// ----------------------------------------------- ++//------------------------------------------------------------------------------ ++// HEVC_PARSER module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hevc_parser_regs.h ++// ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HEVC_PARSER_CBUS_BASE = 0x01 ++// ----------------------------------------------- ++// [31:0] After reset version, can be used for test scratch register ++#define HEVC_PARSER_VERSION (0x3100) ++#define P_HEVC_PARSER_VERSION (volatile unsigned int *)((0x3100 << 2) + 0xff620000) ++// [31:16] - axi_setting ++// [15] - disable_stream_clock_gating ++// [14] - wstrb_set ++// [13] - stream_read_pause ++// [6:4] - stream_fetch_endian ++// [3] - use_parser_vbuf_wp ++// [2] - use_parser_vbuf2_wp ++// [1] - stream_fetch_busy - Read Only ++// [0] - stream_fetch_enable ++#define HEVC_STREAM_CONTROL (0x3101) ++#define P_HEVC_STREAM_CONTROL (volatile unsigned int *)((0x3101 << 2) + 0xff620000) ++#define HEVC_STREAM_START_ADDR (0x3102) ++#define P_HEVC_STREAM_START_ADDR (volatile unsigned int *)((0x3102 << 2) + 0xff620000) ++#define HEVC_STREAM_END_ADDR (0x3103) ++#define P_HEVC_STREAM_END_ADDR (volatile unsigned int *)((0x3103 << 2) + 0xff620000) ++// SW stream_buffer_wr_ptr ++#define HEVC_STREAM_WR_PTR (0x3104) ++#define P_HEVC_STREAM_WR_PTR (volatile unsigned int *)((0x3104 << 2) + 0xff620000) ++#define HEVC_STREAM_RD_PTR (0x3105) ++#define P_HEVC_STREAM_RD_PTR (volatile unsigned int *)((0x3105 << 2) + 0xff620000) ++//[31:0] stream_buffer_level - read only ++#define HEVC_STREAM_LEVEL (0x3106) ++#define P_HEVC_STREAM_LEVEL (volatile unsigned int *)((0x3106 << 2) + 0xff620000) ++// [31:29] stream_buffer_hole 256*(4^0) bytes ++// [28:23] stream_fifo_hole ++// [22:16] stream_fifo_level ++// [15] stream_fifo_wr_ptr_update_en ++// [14:8] stream_fifo_wr_ptr ++// [7] stream_fifo_rd_ptr_update_en ++// [6:0] stream_fifo_rd_ptr ++#define HEVC_STREAM_FIFO_CTL (0x3107) ++#define P_HEVC_STREAM_FIFO_CTL (volatile unsigned int *)((0x3107 << 2) + 0xff620000) ++// [31:16] - Reserved ++// [15] - disable_shift_clock_gating ++// [14] - disable_start_code_protect ++// [10] - length_zero_startcode_en ++// [9] - length_valid_startcode_en ++// [8:6] - sft_valid_wr_position (default : 3 (at least 24 bits available)) ++// [5:4] - emulate_code_length_sub_1(Default : 2) ++// [3] - emulation_auto_on_startcode(Default : 0) ++// [2:1] - start_code_length_sub_1(Default : 2) ++// [0] - stream_shift_enable(Default : 0) ++#define HEVC_SHIFT_CONTROL (0x3108) ++#define P_HEVC_SHIFT_CONTROL (volatile unsigned int *)((0x3108 << 2) + 0xff620000) ++// [31:0] - max 4-bytes start code (Default : 0x00000100) ++#define HEVC_SHIFT_STARTCODE (0x3109) ++#define P_HEVC_SHIFT_STARTCODE (volatile unsigned int *)((0x3109 << 2) + 0xff620000) ++// [31:0] - max 4-bytes emulate code (Default : 0x00000300) ++#define HEVC_SHIFT_EMULATECODE (0x310a) ++#define P_HEVC_SHIFT_EMULATECODE (volatile unsigned int *)((0x310a << 2) + 0xff620000) ++// [2] - startcode_searching ++// [1] - emulation_check_on ++// [0] - startcode_check_on ++#define HEVC_SHIFT_STATUS (0x310b) ++#define P_HEVC_SHIFT_STATUS (volatile unsigned int *)((0x310b << 2) + 0xff620000) ++// [31:0] hevc_shifted_data - read only ++#define HEVC_SHIFTED_DATA (0x310c) ++#define P_HEVC_SHIFTED_DATA (volatile unsigned int *)((0x310c << 2) + 0xff620000) ++// [31:0] shift_byte_count[31:0] ++#define HEVC_SHIFT_BYTE_COUNT (0x310d) ++#define P_HEVC_SHIFT_BYTE_COUNT (volatile unsigned int *)((0x310d << 2) + 0xff620000) ++// [31:28] - shift_byte_count[35:32] ++// [27:20] - element_read_data[31:24] ++// [10] - bytealign ++// [9] - signed_element ++// [8] - start_element_read ++// [7] - shift_busy ++// [6:0] - shift_bits ++#define HEVC_SHIFT_COMMAND (0x310e) ++#define P_HEVC_SHIFT_COMMAND (volatile unsigned int *)((0x310e << 2) + 0xff620000) ++// 31:8 - element_read_data[23:0] ++// 7:2 - element_read_length ++// 1:0 - element_read_state ++#define HEVC_ELEMENT_RESULT (0x310f) ++#define P_HEVC_ELEMENT_RESULT (volatile unsigned int *)((0x310f << 2) + 0xff620000) ++// [31:16] - cabac_buffer ++// [15] - cabac_buffer_init ++// [14] - cabac_context_init ++// [13] - disable_cabac_clock_gating ++// [12] - cabac_init_flag ++// [11] - Reserved ++// [10] - VP9_init_mv ++// [9] - VP9_init_ref_mode ++// [8] - VP9_init_if_y_mode ++// [7] - VP9_init_intra_inter ++// [6] - VP9_init_inter_mode ++// [5] - VP9_init_coef ++// [4] - VP9_init_tx_mode ++// [3] - VP9_init_skip ++// [2] - VP9_init_partition ++// [1] - VP9_key_frame ++// [0] - cabac_enable(Default : 0) ++#define HEVC_CABAC_CONTROL (0x3110) ++#define P_HEVC_CABAC_CONTROL (volatile unsigned int *)((0x3110 << 2) + 0xff620000) ++// [31:25] - chromaQPOffset_U ++// [24:18] - chromaQPOffset_V ++// [17:16] - MaxTrSize 0-4x4, 1-8x8, 2-16x16, 3-32x32 ++// [15:14] - MinTrSize 0-4x4, 1-8x8, 2-16x16, 3-32x32 ++// HEVC ++// [13:12] - MaxCUSize 0-8x8, 1-16x16, 2-32x32, 3-64x64 ++// [11:10] - MinCUSize 0-8x8, 1-16x16, 2-32x32, 3-64x64 ++// [9] - slice_sao_luma_flag ++// [8] - slice_sao_chroma_flag ++// VP9 -- When vp9_enable ++// [13:11] - MaxCUSize 0-8x8, 1-16x16, 2-32x32, 3-64x64, 7-4x4 ++// [10:8] - MinCUSize 0-8x8, 1-16x16, 2-32x32, 3-64x64, 7-4x4 ++// [7:2] - slice_quant ++// [1:0] - slice_type ++// AVS2 ++// [13:12] - MaxCUSize 0-8x8, 1-16x16, 2-32x32, 3-64x64 ++// [11:10] - MinCUSize 0-8x8, 1-16x16, 2-32x32, 3-64x64 ++// [9] - reserved ++// [8] - slice_quant[6] ++// [7:2] - slice_quant ++// [1:0] - slice_type ++#define HEVC_PARSER_SLICE_INFO (0x3111) ++#define P_HEVC_PARSER_SLICE_INFO (volatile unsigned int *)((0x3111 << 2) + 0xff620000) ++// bit[16] - 0:command, 1:address(will auto increase when write command) ++// bit[15:0]- command or addr ++#define HEVC_PARSER_CMD_WRITE (0x3112) ++#define P_HEVC_PARSER_CMD_WRITE (volatile unsigned int *)((0x3112 << 2) + 0xff620000) ++// [31:16] - reserved ++// [15] - disable_parser_core_clock_gating ++// [14:1] - Reserved ++// [0] - parser_core_enable(Default : 0) ++#define HEVC_PARSER_CORE_CONTROL (0x3113) ++#define P_HEVC_PARSER_CORE_CONTROL (volatile unsigned int *)((0x3113 << 2) + 0xff620000) ++// [31:16] - pre_parser_cmd ++// [15] - start_cmd_fetch/fetch_busy ++// [14] - parser_cmd_ready ++// [13] - pre_parser_cmd_ready ++// [12] - do_not_wait_if_busy ++// [11:8] - cmd_fetch_status // Read-only ++// [7:0] - cmd_fetch_addr ++#define HEVC_PARSER_CMD_FETCH (0x3114) ++#define P_HEVC_PARSER_CMD_FETCH (volatile unsigned int *)((0x3114 << 2) + 0xff620000) ++// [31:16] - parser_cmd ++// [9:5] - parser_function ++// [4:0] - cmd_status ++#define HEVC_PARSER_CMD_STATUS (0x3115) ++#define P_HEVC_PARSER_CMD_STATUS (volatile unsigned int *)((0x3115 << 2) + 0xff620000) ++// [31] - end_of_picture ++// [30] - uiLeft ++// [39] - uiTop ++// [28] - uiTopRight ++// [27:24] - Reserved ++// [23:12] - uiLin ++// [11:0] - uiCol ++#define HEVC_PARSER_LCU_INFO (0x3116) ++#define P_HEVC_PARSER_LCU_INFO (volatile unsigned int *)((0x3116 << 2) + 0xff620000) ++// 29:28 - min_cu_size_qp_delta ++// 27 - cu_qp_delta_enabled_flag ++// 26 - amp_enabled_flag ++// 25:23 - max_num_merge_cand ++// 22 - mvd_l1_zero_flag ++// 21:16 - num_ref_idx_l1_active ++// 15:10 - num_ref_idx_l0_active ++// 9:7 - max_transform_hierarchy_depth_inter ++// 6:4 - max_transform_hierarchy_depth_intra ++// 3 - transquant_bypass_enable_flag ++// 2 - constrained_intra_pred_flag ++// 1 - transform_skip_enabled_flag ++// 0 - sign_data_hiding_flag ++#define HEVC_PARSER_HEADER_INFO (0x3117) ++#define P_HEVC_PARSER_HEADER_INFO (volatile unsigned int *)((0x3117 << 2) + 0xff620000) ++#define HEVC_PARSER_RESULT_0 (0x3118) ++#define P_HEVC_PARSER_RESULT_0 (volatile unsigned int *)((0x3118 << 2) + 0xff620000) ++#define HEVC_PARSER_RESULT_1 (0x3119) ++#define P_HEVC_PARSER_RESULT_1 (volatile unsigned int *)((0x3119 << 2) + 0xff620000) ++#define HEVC_PARSER_RESULT_2 (0x311a) ++#define P_HEVC_PARSER_RESULT_2 (volatile unsigned int *)((0x311a << 2) + 0xff620000) ++#define HEVC_PARSER_RESULT_3 (0x311b) ++#define P_HEVC_PARSER_RESULT_3 (volatile unsigned int *)((0x311b << 2) + 0xff620000) ++// For HEVC ++// bit[31:24] - quant[47:40] ++// bit[23:16] - quant[39:32] ++// For VP9 ++// bit[31:24] - intra_flag ++// bit[23:16] - SplitFlag_4 ++// bit[15:8] - SkipFlag ++// bit[7] - SliceEnd|end_of_picture ++// bit[6:3] - SplitFlag_8 ++// bit[2:1] - SplitFlag_16 ++// bit[0] - SplitFlag_32 ++#define HEVC_CABAC_TOP_INFO (0x311c) ++#define P_HEVC_CABAC_TOP_INFO (volatile unsigned int *)((0x311c << 2) + 0xff620000) ++// For HEVC ++// bit[31:0] - quant[31:0] ++// For VP9 ++// bit [31:24] - vp9_top_eob_v ++// bit [23:16] - vp9_top_eob_u ++// bit [15:0] - vp9_top_eob_y ++#define HEVC_CABAC_TOP_INFO_2 (0x311d) ++#define P_HEVC_CABAC_TOP_INFO_2 (volatile unsigned int *)((0x311d << 2) + 0xff620000) ++// For HEVC ++// bit[31:24] - quant[47:40] ++// bit[23:16] - quant[39:32] ++// For VP9 ++// bit[31:24] - Reserved ++// bit[23:16] - SplitFlag_4 ++// bit[15:8] - SkipFlag ++// bit[7] - Reserved ++// bit[6:3] - SplitFlag_8 ++// bit[2:1] - SplitFlag_16 ++// bit[0] - SplitFlag_32 ++#define HEVC_CABAC_LEFT_INFO (0x311e) ++#define P_HEVC_CABAC_LEFT_INFO (volatile unsigned int *)((0x311e << 2) + 0xff620000) ++// For HEVC ++// bit[31:0] - quant[31:0] ++// For VP9 ++// bit [31:24] - vp9_left_eob_v ++// bit [23:16] - vp9_left_eob_u ++// bit [15:0] - vp9_left_eob_y ++#define HEVC_CABAC_LEFT_INFO_2 (0x311f) ++#define P_HEVC_CABAC_LEFT_INFO_2 (volatile unsigned int *)((0x311f << 2) + 0xff620000) ++// [31:29] - stream_buffer_empty_int_ctl (32bytes - 4k bytes) (default : 4 : 512 bytes interrupt) ++// [28:26] - stream_fifo_empty_int_ctl (0 - 128)(default : 0 - 0 byte interrupt) ++// [25] - stream_buffer_empty_int_cpu_enable ++// [24] - stream_buffer_empty_int_amrisc_enable ++// [23] - stream_fifo_empty_int_cpu_enable ++// [22] - stream_fifo_empty_int_amrisc_enable ++// [15] - disable_parser_clock_gating ++// [8] - dec_done_int_cpu_enable ++// [7] - dec_done_int_amrisc_enable ++// [6] - cmd_done_int_cpu_enable ++// [5] - cmd_done_int_amrisc_enable ++// [4] - startcode_found_int_cpu_enable ++// [3] - startcode_found_int_amrisc_enable ++// [2] - parser_int_cpu_level (default : 0(pulse)) ++// [1] - parser_int_amrisc_level (default : 0(pulse)) ++// [0] - parser_int_enable(Default : 0) ++#define HEVC_PARSER_INT_CONTROL (0x3120) ++#define P_HEVC_PARSER_INT_CONTROL (volatile unsigned int *)((0x3120 << 2) + 0xff620000) ++// [7] - stream_empty_int_cpu ++// [6] - stream_empty_int_amrisc ++// [2] - dec_done_int ++// [1] - cmd_done_int ++// [0] - startcode_found_int ++#define HEVC_PARSER_INT_STATUS (0x3121) ++#define P_HEVC_PARSER_INT_STATUS (volatile unsigned int *)((0x3121 << 2) + 0xff620000) ++// [31] - parser_mpred_if_busy -- Read Only ++// [8] - sao_sw_pred_enable ++// [7] - sao_top_save_even_no_sao ++// [6] - disable_parser_sao_if_clock_gating ++// [5] - parser_sao_if_en ++// [4] - scaler_if_leave_one_more_space ++// [3] - disable_parser_mpred_if_clock_gating ++// [2] - parser_mpred_if_en ++// [1] - disable_parser_scaler_if_clock_gating ++// [0] - parser_scaler_if_en ++#define HEVC_PARSER_IF_CONTROL (0x3122) ++#define P_HEVC_PARSER_IF_CONTROL (volatile unsigned int *)((0x3122 << 2) + 0xff620000) ++// [31:16] PicHeightInLumaSamples ++// [15:0] PicWidthInLumaSamples ++#define HEVC_PARSER_PICTURE_SIZE (0x3123) ++#define P_HEVC_PARSER_PICTURE_SIZE (volatile unsigned int *)((0x3123 << 2) + 0xff620000) ++// [31] - start_lcu_mpred_cmd ++// [30] - lcu_decoding_start ++// [29] - do_not_wait_if_busy ++// [23:0] - lcu_idx ++#define HEVC_PARSER_LCU_START (0x3124) ++#define P_HEVC_PARSER_LCU_START (volatile unsigned int *)((0x3124 << 2) + 0xff620000) ++// [31:30] - bit_depth_chroma_minus8 ++// [29:24] - MAX_QP ++// [23:20] - qpBdOffsetC ++// [19:16] - qpBdOffsetY ++// [15:12] - pcm_sample_bit_depth_chroma ++// [11:8] - pcm_sample_bit_depth_luma ++// [7:6] - max_pcm_luma_coding_block_size ++// [5:4] - min_pcm_luma_coding_block_size ++// [3:2] - bit_depth_luma_minus8 ++// [1] - enable_negtive_quant ++// [0] - pcm_enabled_flag ++#define HEVC_PARSER_HEADER_INFO2 (0x3125) ++#define P_HEVC_PARSER_HEADER_INFO2 (volatile unsigned int *)((0x3125 << 2) + 0xff620000) ++// Read Only ++// bit[23] - 1'b1 ++// bit[22] - Reserved ++// bit[21:16] - quant_V ++// bit[15] - 1'b1 ++// bit[14] - Reserved ++// bit[13:8] - quant_U ++// bit[7] - 1'b1 ++// bit[6] - Reserved ++// bit[5:0] - quant_Y ++#define HEVC_PARSER_QUANT_READ (0x3126) ++#define P_HEVC_PARSER_QUANT_READ (volatile unsigned int *)((0x3126 << 2) + 0xff620000) ++#define HEVC_PARSER_RESERVED_27 (0x3127) ++#define P_HEVC_PARSER_RESERVED_27 (volatile unsigned int *)((0x3127 << 2) + 0xff620000) ++// bit[15:8] - skip_addr_SaoOffData ++// bit[7:0] - skip_addr_SaoMerge ++#define HEVC_PARSER_CMD_SKIP_0 (0x3128) ++#define P_HEVC_PARSER_CMD_SKIP_0 (volatile unsigned int *)((0x3128 << 2) + 0xff620000) ++// bit[31:24] - skip_point_coding_unit_slice_type_RET ++// bit[23:16] - skip_point_coding_unit_slice_type_B ++// bit[15:8] - skip_point_coding_unit_slice_type_P ++// bit[7:0] - skip_point_coding_unit_slice_type_I ++#define HEVC_PARSER_CMD_SKIP_1 (0x3129) ++#define P_HEVC_PARSER_CMD_SKIP_1 (volatile unsigned int *)((0x3129 << 2) + 0xff620000) ++// bit[31:24] - reserved ++// bit[23:16] - skip_point_coding_unit_pred_mode_RET ++// bit[15:8] - skip_point_coding_unit_pred_mode_INTER ++// bit[7:0] - skip_point_coding_unit_pred_mode_INTRA ++#define HEVC_PARSER_CMD_SKIP_2 (0x312a) ++#define P_HEVC_PARSER_CMD_SKIP_2 (volatile unsigned int *)((0x312a << 2) + 0xff620000) ++// Write : ++// [24:16] context_addr for dec_Bin ++// [15:0] parser_cmd ++// Read result: ++// cabac_context_decodeBin, // 31 ++// cabac_context_decodeBinEP, // 30 ++// cabac_context_decodeBinTrm, // 29 ++// cabac_context_decodeBinBit, // 28 ++// parser_command, // 27:22 ++// cabac_context_ready, // 21 ++// cmd_status, // 20:16 ++// cabac_manual_data // 15:0 ++// ++#define HEVC_PARSER_MANUAL_CMD (0x312b) ++#define P_HEVC_PARSER_MANUAL_CMD (volatile unsigned int *)((0x312b << 2) + 0xff620000) ++// bit [9:0] - Read adress : ++// address 0-255 stream_fifo (128x64) ++// address 256-319 context_mem (256x7) ++// address 320-448 parser_cmd_mem (256x16) ++#define HEVC_PARSER_MEM_RD_ADDR (0x312c) ++#define P_HEVC_PARSER_MEM_RD_ADDR (volatile unsigned int *)((0x312c << 2) + 0xff620000) ++// bit [9:0] - Write adress : ++// address 0-255 stream_fifo (128x64) ++// address 256-319 context_mem (256x7) ++// address 512-640 parser_cmd_mem (256x16) ++#define HEVC_PARSER_MEM_WR_ADDR (0x312d) ++#define P_HEVC_PARSER_MEM_WR_ADDR (volatile unsigned int *)((0x312d << 2) + 0xff620000) ++// bit[31:0] read/write data ++#define HEVC_PARSER_MEM_RW_DATA (0x312e) ++#define P_HEVC_PARSER_MEM_RW_DATA (volatile unsigned int *)((0x312e << 2) + 0xff620000) ++// [31:20] sao_lcu_x ++// [19:8] sao_lcu_y ++// [7] sao_lcu_xy_update ++// [6:2] reserved ++// [1] sao_wait_up_read ++// [0] sao_wait_write ++#define HEVC_SAO_IF_STATUS (0x3130) ++#define P_HEVC_SAO_IF_STATUS (volatile unsigned int *)((0x3130 << 2) + 0xff620000) ++// Y_offset_3, // 31:26 ++// Y_offset_2, // 25:20 ++// Y_offset_1, // 19:14 ++// Y_offset_0, // 13:8 ++// Y_typeAuxInfo[3:0], // 7:4 ++// Y_typeIdc, // 3:1 [0, 1, 2, 3]-EO, [4,5]-BO+Y_typeAuxInfo[4] ++// Y_modelIdc // 0 ++#define HEVC_SAO_IF_DATA_Y (0x3131) ++#define P_HEVC_SAO_IF_DATA_Y (volatile unsigned int *)((0x3131 << 2) + 0xff620000) ++#define HEVC_SAO_IF_DATA_U (0x3132) ++#define P_HEVC_SAO_IF_DATA_U (volatile unsigned int *)((0x3132 << 2) + 0xff620000) ++#define HEVC_SAO_IF_DATA_V (0x3133) ++#define P_HEVC_SAO_IF_DATA_V (volatile unsigned int *)((0x3133 << 2) + 0xff620000) ++#define HEVC_STREAM_SWAP_ADDR (0x3134) ++#define P_HEVC_STREAM_SWAP_ADDR (volatile unsigned int *)((0x3134 << 2) + 0xff620000) ++// bit[31:24] - swap_wrrsp_count ++// bit[23:16] - swap_d_count (Read Only) ++// bit[15:8] - swap_a_count (Read Only) (7:0 or 9:2) ++// bit [7] - swap busy (Read Only) ++// bit [6:4] - swap_d_count[10:8] (Read Only) ++// bit [3] - swap_a_count[10] (Read Only) ++// bit [2] - swap_wrrsp_count_update ++// bit [1] - 1 - STORE to Memory, 0 - LOAD from Memory ++// bit [0] - swap active ++#define HEVC_STREAM_SWAP_CTRL (0x3135) ++#define P_HEVC_STREAM_SWAP_CTRL (volatile unsigned int *)((0x3135 << 2) + 0xff620000) ++#define HEVC_IQIT_IF_WAIT_CNT (0x3136) ++#define P_HEVC_IQIT_IF_WAIT_CNT (volatile unsigned int *)((0x3136 << 2) + 0xff620000) ++#define HEVC_MPRED_IF_WAIT_CNT (0x3137) ++#define P_HEVC_MPRED_IF_WAIT_CNT (volatile unsigned int *)((0x3137 << 2) + 0xff620000) ++#define HEVC_SAO_IF_WAIT_CNT (0x3138) ++#define P_HEVC_SAO_IF_WAIT_CNT (volatile unsigned int *)((0x3138 << 2) + 0xff620000) ++// [31:0] packet_length_count ++#define HEVC_STREAM_PACKET_LENGTH (0x3139) ++#define P_HEVC_STREAM_PACKET_LENGTH (volatile unsigned int *)((0x3139 << 2) + 0xff620000) ++// [31] data_length_protect_enable ++// [30] data_protect_fill_00_enable ++// [29] data_protect_fill_ff_enable ++// [28:19] Reserved ++// [18:0] data_length_protect_count ++#define HEVC_SHIFT_LENGTH_PROTECT (0x313a) ++#define P_HEVC_SHIFT_LENGTH_PROTECT (volatile unsigned int *)((0x313a << 2) + 0xff620000) ++// bit[3:0] parser_debug_idx ++#define HEVC_PARSER_DEBUG_IDX (0x313e) ++#define P_HEVC_PARSER_DEBUG_IDX (volatile unsigned int *)((0x313e << 2) + 0xff620000) ++// bit[31:0] parser_debug_dat -- read only ++#define HEVC_PARSER_DEBUG_DAT (0x313f) ++#define P_HEVC_PARSER_DEBUG_DAT (volatile unsigned int *)((0x313f << 2) + 0xff620000) ++// bit[22] - vp9_second_pu_use_if_busy_2 ++// bit[21] - parser_mpred_if_busy_when_pu_mpred_busy ++// bit[20:9] - Reserved ++// bit[8] - force_skip_1 (SEG_LVL_SKIP) ++// bit[7:3] - vp9_status ++// bit[2] - change_vp9_status ++// bit[1] - vp9_decode_start(W)/vp9_decode_busy ++// bit[0] - vp9_enable ++#define VP9_CONTROL (0x3140) ++#define P_VP9_CONTROL (volatile unsigned int *)((0x3140 << 2) + 0xff620000) ++// bit[15:8]- vp9_emd_cmd_parameter ++// bit[3] - vp9_emd_cmd_busy ++// bit[2:0] - vp9_emd_command (bit[7]-start/busy) ++// 0 - vp9_read ++// ( ++// input : bit[15:8] - prob, ++// bit[7:4] - vp9_read_literal_bits(1-16 bits) ++// output : bit[31:16] - result) ++// ) ++// 1 - vp9_diff_update_prob ++// ( ++// input : bit[7:4] - function: ++// `define vp9_read_tx_mode_prob 0 ++// `define vp9_read_coef_prob 1 ++// `define vp9_read_skip_prob 2 ++// `define vp9_read_inter_mode_prob 3 ++// `define vp9_read_interp_prob 4 ++// `define vp9_read_intra_inter_prob 5 ++// `define vp9_read_comp_inter_prob 6 ++// `define vp9_read_comp_ref_prob 7 ++// `define vp9_read_single_ref_prob 8 ++// `define vp9_read_if_y_mode_prob 9 ++// `define vp9_read_partition_prob 10 ++// `define vp9_read_mv_prob 11 ++// bit[29:16] - total loop times ++// bit[31:30] - probs_common ++// output : bit[15:8] - prob) ++// ) ++#define VP9_EMD_CMD (0x3141) ++#define P_VP9_EMD_CMD (volatile unsigned int *)((0x3141 << 2) + 0xff620000) ++// vp9_top_y_mode[31:0] ++#define VP9_TOP_Y_MODE_0 (0x3142) ++#define P_VP9_TOP_Y_MODE_0 (volatile unsigned int *)((0x3142 << 2) + 0xff620000) ++// vp9_top_y_mode[63:32] ++#define VP9_TOP_Y_MODE_1 (0x3143) ++#define P_VP9_TOP_Y_MODE_1 (volatile unsigned int *)((0x3143 << 2) + 0xff620000) ++// vp9_left_y_mode[31:0] ++#define VP9_LEFT_Y_MODE_0 (0x3144) ++#define P_VP9_LEFT_Y_MODE_0 (volatile unsigned int *)((0x3144 << 2) + 0xff620000) ++// vp9_left_y_mode[63:32] ++#define VP9_LEFT_Y_MODE_1 (0x3145) ++#define P_VP9_LEFT_Y_MODE_1 (volatile unsigned int *)((0x3145 << 2) + 0xff620000) ++// bit[31] - 0:write_vp9_quant, 1:write_vp9_seg_feature ++// For write_vp9_seg_feature: ++// bit[24:22] - seg_id ++// bit[21] - seg_q_enable ++// bit[20] - seg_q_sign ++// bit[19:12] - seg_q_abs ++// bit[11] - seg_lf_enable ++// bit[10] - seg_lf_sign ++// bit[9:4] - seg_lf_abs ++// bit[3] - seg_ref_enable ++// bit[2:1] - seg_ref_abs ++// bit[0] - seg_skip_enable ++// For write_vp9_quant: ++// bit[19:16] - Write index : Seg_0_Y-0, Seg_0_UV-1, ... Seq_7_Y-14, Seq_7_UV-15 ++// bit[15:8] - AC quant ++// bit[7:0] - DC quant ++#define VP9_QUANT_WR (0x3146) ++#define P_VP9_QUANT_WR (volatile unsigned int *)((0x3146 << 2) + 0xff620000) ++// bit [31:16] - vp9_inter_mode_top/{8'h0, vp9_seg_pred_top} ++// bit [15:0] - vp9_top_tx_mode (odd/even mi has same tx_mode) ++#define HEVC_CABAC_TOP_INFO_3 (0x3147) ++#define P_HEVC_CABAC_TOP_INFO_3 (volatile unsigned int *)((0x3147 << 2) + 0xff620000) ++// bit [31:16] - vp9_inter_mode_left/{8'h0, vp9_seg_pred_left} ++// bit [15:0] - vp9_left_tx_mode (odd/even mi has same tx_mode) ++#define HEVC_CABAC_LEFT_INFO_3 (0x3148) ++#define P_HEVC_CABAC_LEFT_INFO_3 (volatile unsigned int *)((0x3148 << 2) + 0xff620000) ++// bit [31:16] - ref_frame[1] ++// bit [15:0] - ref_frame[0] ++#define HEVC_CABAC_TOP_INFO_4 (0x3149) ++#define P_HEVC_CABAC_TOP_INFO_4 (volatile unsigned int *)((0x3149 << 2) + 0xff620000) ++// bit [31:16] - ref_frame[1] ++// bit [15:0] - ref_frame[0] ++#define HEVC_CABAC_LEFT_INFO_4 (0x314a) ++#define P_HEVC_CABAC_LEFT_INFO_4 (volatile unsigned int *)((0x314a << 2) + 0xff620000) ++// bit [31:16] - interp_filter ++// bit [15:8] - Reserved ++// bit [7:0] - vp9_seg_pred_top ++#define HEVC_CABAC_TOP_INFO_5 (0x314b) ++#define P_HEVC_CABAC_TOP_INFO_5 (volatile unsigned int *)((0x314b << 2) + 0xff620000) ++// bit [31:16] - interp_filter ++// bit [15:8] - Reserved ++// bit [7:0] - vp9_seg_pred_left ++#define HEVC_CABAC_LEFT_INFO_5 (0x314c) ++#define P_HEVC_CABAC_LEFT_INFO_5 (volatile unsigned int *)((0x314c << 2) + 0xff620000) ++// bit[31] - operation start (read : busy) ++// bit[30:28] - operation_endian ++// bit[27:24] - Reserved ++// bit[23:22] - operation_mem 00:prob_mem, 01:count_mem ++// bit[21:20] - operation_cmd 0:clear, 1-store, 2-load ++// bit[19:10] - operation_end_addr ++// bit[9:0] - operation_start_addr ++#define VP9_MEM_OPERATION (0x314d) ++#define P_VP9_MEM_OPERATION (volatile unsigned int *)((0x314d << 2) + 0xff620000) ++// bit[27] - vp9_seg_pred_info_3 ++// bit[26] - vp9_seg_abs_delta ++// bit[25] - vp9_seg_temporal ++// bit[24] - vp9_seg_update_map ++// bit[23] - vp9_seg_enable ++// bit[22] - vp9_lossless_use_set ++// bit[21] - vp9_lossless_set_data ++// bit[20] - vp9_swap_Y_MODE_with_INFO45 ++// bit[19] - vp9_allow_hp ++// bit[18:16] - vp9_interp_filter ++// bit[15] - vp9_intra_frame ++// bit[14:12] - vp9_tx_mode ++// bit[11:10] - vp9_ref_mode // SINGLE_REFERENCE(0), COMPOUND_REFERENCE(1), REFERENCE_MODE_SELECT(2) ++// bit[9] - VPX_BITS_10 ++// bit[8] - ref_frame_bias[2] ++// bit[7] - ref_frame_bias[1] ++// bit[6] - ref_frame_bias[0] ++// [5:4] - comp_var_ref[1] ++// [3:2] - comp_var_ref[0] ++// [1:0] - comp_fixed_ref ++#define VP9_DECODING_INFO (0x314f) ++#define P_VP9_DECODING_INFO (volatile unsigned int *)((0x314f << 2) + 0xff620000) ++// [7] -- segment_id_map_from_shadow ++// [6] -- segment_id_map_to_shadow ++// [5] -- shadow_rw_addr_update ++// [4:0] -- shadiw_rw_addr ++#define VP9_SHADOW_CTRL (0x3150) ++#define P_VP9_SHADOW_CTRL (volatile unsigned int *)((0x3150 << 2) + 0xff620000) ++// [31:0] -- shadow_rw_data ++#define VP9_SHADOW_DATA (0x3151) ++#define P_VP9_SHADOW_DATA (volatile unsigned int *)((0x3151 << 2) + 0xff620000) ++// bit[22] - avs2_second_pu_use_if_busy_2 ++// bit[21] - parser_mpred_if_busy_when_pu_mpred_busy ++// bit[20:9] - Reserved ++// bit[8] - force_skip_1 (SEG_LVL_SKIP) ++// bit[7:3] - avs2_status ++// bit[2] - change_avs2_status ++// bit[1] - avs2_decode_start(W)/avs2_decode_busy ++// bit[0] - avs2_enable ++#define AVS2_CONTROL (0x3152) ++#define P_AVS2_CONTROL (volatile unsigned int *)((0x3152 << 2) + 0xff620000) ++// bit[7] - useNSIP (nonsquare_intra_prediction_enable) ++// bit[6] - secT_enabled (secondary_transform_enable_flag) ++// bit[5] - slice_alf_enable_Y ++// bit[4] - slice_alf_enable_U ++// bit[3] - slice_alf_enable_V ++// bit[2] - slice_sao_enable_Y ++// bit[1] - slice_sao_enable_U ++// bit[0] - slice_sao_enable_V ++#define AVS2_DEC_INFO (0x3153) ++#define P_AVS2_DEC_INFO (volatile unsigned int *)((0x3153 << 2) + 0xff620000) ++// ++// Closing file: hevc_parser_regs.h ++// ++//------------------------------------------------------------------------------ ++// HEVC_MPRED module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hevc_mpred_regs.h ++// ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HEVC_MPRED_CBUS_BASE = 0x02 ++// ----------------------------------------------- ++#define HEVC_MPRED_VERSION (0x3200) ++#define P_HEVC_MPRED_VERSION (volatile unsigned int *)((0x3200 << 2) + 0xff620000) ++// [31:0] reversion default:32'h00010001 ++#define HEVC_MPRED_CTRL0 (0x3201) ++#define P_HEVC_MPRED_CTRL0 (volatile unsigned int *)((0x3201 << 2) + 0xff620000) ++// [1:0] slice_type[1:0] ++// [2] new_pic ++// [3] new_tile ++// [4] SliceSegment ++// [5] TMVPFlag_en ++// [6] LDCFlag ++// [7] ColFromL0Flag ++// [8] reserved ++// [9] above_en ++// [10] mv_wr_en :collocated MV write enable: 0=no-write,1=write;default:1'b1 ++// [11] mv_rd_en ++// [12] col_isIntra ++// [13] reserved ++// [14] LongTerm_Curr ++// [15] LongTerm_Col ++// [19:16] lcu_size_log2[3:0] ++// [23:20] cu_size_log2[3:0] ++// [26:24] plevel[2:0] ++// [31:27] reserved ++#define HEVC_MPRED_CTRL1 (0x3202) ++#define P_HEVC_MPRED_CTRL1 (volatile unsigned int *)((0x3202 << 2) + 0xff620000) ++// [3:0] MERGE_MAX_NUM_CANDS[3:0] ++// [7:4] AMVP_MAX_NUM_CANDS[3:0] ++// [23:8] reserved ++// [24] clk_forceon ++// [31:25] reserved ++#define HEVC_MPRED_INT_EN (0x3203) ++#define P_HEVC_MPRED_INT_EN (volatile unsigned int *)((0x3203 << 2) + 0xff620000) ++// [0] mpred_int_enable ++// [1] mpred_int_amrisc_level ++// [2] mpred_int_cpu_level ++// [3] slice_done_int_amrisc_enable ++// [4] slice_done_int_cpu_enable ++// [15] disable_mpred_int_clock_gating ++#define HEVC_MPRED_INT_STATUS (0x3204) ++#define P_HEVC_MPRED_INT_STATUS (volatile unsigned int *)((0x3204 << 2) + 0xff620000) ++// [0] slice_done IRQ ++// [31] write "1"=slice start(self clear,read always return "0") ++#define HEVC_MPRED_PIC_SIZE (0x3205) ++#define P_HEVC_MPRED_PIC_SIZE (volatile unsigned int *)((0x3205 << 2) + 0xff620000) ++// [15:0] pic_width[15:0] ++// [31:16] pic_height[15:0] ++#define HEVC_MPRED_PIC_SIZE_LCU (0x3206) ++#define P_HEVC_MPRED_PIC_SIZE_LCU (volatile unsigned int *)((0x3206 << 2) + 0xff620000) ++// [15:0] lcu_x_num_1[15:0] (=lcu_x_total-1) ++// [31:16] lcu_y_num_1[15:0] (=lcu_y_total-1) ++#define HEVC_MPRED_TILE_START (0x3207) ++#define P_HEVC_MPRED_TILE_START (volatile unsigned int *)((0x3207 << 2) + 0xff620000) ++// [15:0] tile_start_lcu_x[15:0] ++// [31:16] tile_start_lcu_y[15:0] ++#define HEVC_MPRED_TILE_SIZE_LCU (0x3208) ++#define P_HEVC_MPRED_TILE_SIZE_LCU (volatile unsigned int *)((0x3208 << 2) + 0xff620000) ++// [15:0] tile_width_lcu[15:0] ++// [31:16] tile_height_lcu[15:0] ++#define HEVC_MPRED_REF_NUM (0x3209) ++#define P_HEVC_MPRED_REF_NUM (volatile unsigned int *)((0x3209 << 2) + 0xff620000) ++// [3:0] refNum_L0[3:0] ++// [11:8] refNum_L1[3:0] ++// [19:16] col_refNum_L0[3:0] ++// [27:24] col_refNum_L1[3:0] ++#define HEVC_MPRED_LT_REF (0x320a) ++#define P_HEVC_MPRED_LT_REF (volatile unsigned int *)((0x320a << 2) + 0xff620000) ++// [00] LongTerm_L0_Ref00 ++// [01] LongTerm_L0_Ref01 ++// ...... ++// [15] LongTerm_L0_Ref15 ++// [16] LongTerm_L1_Ref00 ++// [17] LongTerm_L1_Ref01 ++// ...... ++// [31] LongTerm_L1_Ref15 ++#define HEVC_MPRED_LT_COLREF (0x320b) ++#define P_HEVC_MPRED_LT_COLREF (volatile unsigned int *)((0x320b << 2) + 0xff620000) ++// [00] LongTerm_Col_L0_Ref00 ++// [01] LongTerm_Col_L0_Ref01 ++// ...... ++// [15] LongTerm_Col_L0_Ref15 ++// [16] LongTerm_Col_L1_Ref00 ++// [17] LongTerm_Col_L1_Ref01 ++// ...... ++// [31] LongTerm_Col_L1_Ref15 ++#define HEVC_MPRED_REF_EN_L0 (0x320c) ++#define P_HEVC_MPRED_REF_EN_L0 (volatile unsigned int *)((0x320c << 2) + 0xff620000) ++// [00] L0_ref00_en ++// [01] L0_ref01_en ++// ...... ++// [15] L0_ref15_en ++#define HEVC_MPRED_REF_EN_L1 (0x320d) ++#define P_HEVC_MPRED_REF_EN_L1 (volatile unsigned int *)((0x320d << 2) + 0xff620000) ++// [00] L1_ref00_en ++// [01] L1_ref01_en ++// ...... ++// [15] L1_ref15_en ++#define HEVC_MPRED_COLREF_EN_L0 (0x320e) ++#define P_HEVC_MPRED_COLREF_EN_L0 (volatile unsigned int *)((0x320e << 2) + 0xff620000) ++// [00] COL_L0_ref00_en ++// [01] COL_L0_ref01_en ++// ...... ++// [15] COL_L0_ref15_en ++#define HEVC_MPRED_COLREF_EN_L1 (0x320f) ++#define P_HEVC_MPRED_COLREF_EN_L1 (volatile unsigned int *)((0x320f << 2) + 0xff620000) ++// [00] COL_L1_ref00_en ++// [01] COL_L1_ref01_en ++// ...... ++// [15] COL_L1_ref15_en ++#define HEVC_MPRED_AXI_WCTRL (0x3210) ++#define P_HEVC_MPRED_AXI_WCTRL (volatile unsigned int *)((0x3210 << 2) + 0xff620000) ++// [11:8] aw_id_set[3:0] ++#define HEVC_MPRED_AXI_RCTRL (0x3211) ++#define P_HEVC_MPRED_AXI_RCTRL (volatile unsigned int *)((0x3211 << 2) + 0xff620000) ++// [11:8] ar_id_set[3:0] ++#define HEVC_MPRED_ABV_START_ADDR (0x3212) ++#define P_HEVC_MPRED_ABV_START_ADDR (volatile unsigned int *)((0x3212 << 2) + 0xff620000) ++#define HEVC_MPRED_MV_WR_START_ADDR (0x3213) ++#define P_HEVC_MPRED_MV_WR_START_ADDR (volatile unsigned int *)((0x3213 << 2) + 0xff620000) ++#define HEVC_MPRED_MV_RD_START_ADDR (0x3214) ++#define P_HEVC_MPRED_MV_RD_START_ADDR (volatile unsigned int *)((0x3214 << 2) + 0xff620000) ++#define HEVC_MPRED_MV_WPTR (0x3215) ++#define P_HEVC_MPRED_MV_WPTR (volatile unsigned int *)((0x3215 << 2) + 0xff620000) ++#define HEVC_MPRED_MV_RPTR (0x3216) ++#define P_HEVC_MPRED_MV_RPTR (volatile unsigned int *)((0x3216 << 2) + 0xff620000) ++#define HEVC_MPRED_MV_WR_ROW_JUMP (0x3217) ++#define P_HEVC_MPRED_MV_WR_ROW_JUMP (volatile unsigned int *)((0x3217 << 2) + 0xff620000) ++#define HEVC_MPRED_MV_RD_ROW_JUMP (0x3218) ++#define P_HEVC_MPRED_MV_RD_ROW_JUMP (volatile unsigned int *)((0x3218 << 2) + 0xff620000) ++#define HEVC_MPRED_CURR_LCU (0x3219) ++#define P_HEVC_MPRED_CURR_LCU (volatile unsigned int *)((0x3219 << 2) + 0xff620000) ++#define HEVC_MPRED_ABV_WPTR (0x321a) ++#define P_HEVC_MPRED_ABV_WPTR (volatile unsigned int *)((0x321a << 2) + 0xff620000) ++#define HEVC_MPRED_ABV_RPTR (0x321b) ++#define P_HEVC_MPRED_ABV_RPTR (volatile unsigned int *)((0x321b << 2) + 0xff620000) ++#define HEVC_MPRED_CTRL2 (0x321c) ++#define P_HEVC_MPRED_CTRL2 (volatile unsigned int *)((0x321c << 2) + 0xff620000) ++#define HEVC_MPRED_CTRL3 (0x321d) ++#define P_HEVC_MPRED_CTRL3 (volatile unsigned int *)((0x321d << 2) + 0xff620000) ++#define HEVC_MPRED_MV_WLCUY (0x321e) ++#define P_HEVC_MPRED_MV_WLCUY (volatile unsigned int *)((0x321e << 2) + 0xff620000) ++#define HEVC_MPRED_MV_RLCUY (0x321f) ++#define P_HEVC_MPRED_MV_RLCUY (volatile unsigned int *)((0x321f << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF00_POC (0x3220) ++#define P_HEVC_MPRED_L0_REF00_POC (volatile unsigned int *)((0x3220 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF01_POC (0x3221) ++#define P_HEVC_MPRED_L0_REF01_POC (volatile unsigned int *)((0x3221 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF02_POC (0x3222) ++#define P_HEVC_MPRED_L0_REF02_POC (volatile unsigned int *)((0x3222 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF03_POC (0x3223) ++#define P_HEVC_MPRED_L0_REF03_POC (volatile unsigned int *)((0x3223 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF04_POC (0x3224) ++#define P_HEVC_MPRED_L0_REF04_POC (volatile unsigned int *)((0x3224 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF05_POC (0x3225) ++#define P_HEVC_MPRED_L0_REF05_POC (volatile unsigned int *)((0x3225 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF06_POC (0x3226) ++#define P_HEVC_MPRED_L0_REF06_POC (volatile unsigned int *)((0x3226 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF07_POC (0x3227) ++#define P_HEVC_MPRED_L0_REF07_POC (volatile unsigned int *)((0x3227 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF08_POC (0x3228) ++#define P_HEVC_MPRED_L0_REF08_POC (volatile unsigned int *)((0x3228 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF09_POC (0x3229) ++#define P_HEVC_MPRED_L0_REF09_POC (volatile unsigned int *)((0x3229 << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF10_POC (0x322a) ++#define P_HEVC_MPRED_L0_REF10_POC (volatile unsigned int *)((0x322a << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF11_POC (0x322b) ++#define P_HEVC_MPRED_L0_REF11_POC (volatile unsigned int *)((0x322b << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF12_POC (0x322c) ++#define P_HEVC_MPRED_L0_REF12_POC (volatile unsigned int *)((0x322c << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF13_POC (0x322d) ++#define P_HEVC_MPRED_L0_REF13_POC (volatile unsigned int *)((0x322d << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF14_POC (0x322e) ++#define P_HEVC_MPRED_L0_REF14_POC (volatile unsigned int *)((0x322e << 2) + 0xff620000) ++#define HEVC_MPRED_L0_REF15_POC (0x322f) ++#define P_HEVC_MPRED_L0_REF15_POC (volatile unsigned int *)((0x322f << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF00_POC (0x3230) ++#define P_HEVC_MPRED_L1_REF00_POC (volatile unsigned int *)((0x3230 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF01_POC (0x3231) ++#define P_HEVC_MPRED_L1_REF01_POC (volatile unsigned int *)((0x3231 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF02_POC (0x3232) ++#define P_HEVC_MPRED_L1_REF02_POC (volatile unsigned int *)((0x3232 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF03_POC (0x3233) ++#define P_HEVC_MPRED_L1_REF03_POC (volatile unsigned int *)((0x3233 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF04_POC (0x3234) ++#define P_HEVC_MPRED_L1_REF04_POC (volatile unsigned int *)((0x3234 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF05_POC (0x3235) ++#define P_HEVC_MPRED_L1_REF05_POC (volatile unsigned int *)((0x3235 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF06_POC (0x3236) ++#define P_HEVC_MPRED_L1_REF06_POC (volatile unsigned int *)((0x3236 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF07_POC (0x3237) ++#define P_HEVC_MPRED_L1_REF07_POC (volatile unsigned int *)((0x3237 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF08_POC (0x3238) ++#define P_HEVC_MPRED_L1_REF08_POC (volatile unsigned int *)((0x3238 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF09_POC (0x3239) ++#define P_HEVC_MPRED_L1_REF09_POC (volatile unsigned int *)((0x3239 << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF10_POC (0x323a) ++#define P_HEVC_MPRED_L1_REF10_POC (volatile unsigned int *)((0x323a << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF11_POC (0x323b) ++#define P_HEVC_MPRED_L1_REF11_POC (volatile unsigned int *)((0x323b << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF12_POC (0x323c) ++#define P_HEVC_MPRED_L1_REF12_POC (volatile unsigned int *)((0x323c << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF13_POC (0x323d) ++#define P_HEVC_MPRED_L1_REF13_POC (volatile unsigned int *)((0x323d << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF14_POC (0x323e) ++#define P_HEVC_MPRED_L1_REF14_POC (volatile unsigned int *)((0x323e << 2) + 0xff620000) ++#define HEVC_MPRED_L1_REF15_POC (0x323f) ++#define P_HEVC_MPRED_L1_REF15_POC (volatile unsigned int *)((0x323f << 2) + 0xff620000) ++#define HEVC_MPRED_PIC_SIZE_EXT (0x3240) ++#define P_HEVC_MPRED_PIC_SIZE_EXT (volatile unsigned int *)((0x3240 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_MODE0 (0x3241) ++#define P_HEVC_MPRED_DBG_MODE0 (volatile unsigned int *)((0x3241 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_MODE1 (0x3242) ++#define P_HEVC_MPRED_DBG_MODE1 (volatile unsigned int *)((0x3242 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG2_MODE (0x3243) ++#define P_HEVC_MPRED_DBG2_MODE (volatile unsigned int *)((0x3243 << 2) + 0xff620000) ++#define HEVC_MPRED_IMP_CMD0 (0x3244) ++#define P_HEVC_MPRED_IMP_CMD0 (volatile unsigned int *)((0x3244 << 2) + 0xff620000) ++#define HEVC_MPRED_IMP_CMD1 (0x3245) ++#define P_HEVC_MPRED_IMP_CMD1 (volatile unsigned int *)((0x3245 << 2) + 0xff620000) ++#define HEVC_MPRED_IMP_CMD2 (0x3246) ++#define P_HEVC_MPRED_IMP_CMD2 (volatile unsigned int *)((0x3246 << 2) + 0xff620000) ++#define HEVC_MPRED_IMP_CMD3 (0x3247) ++#define P_HEVC_MPRED_IMP_CMD3 (volatile unsigned int *)((0x3247 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG2_DATA_0 (0x3248) ++#define P_HEVC_MPRED_DBG2_DATA_0 (volatile unsigned int *)((0x3248 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG2_DATA_1 (0x3249) ++#define P_HEVC_MPRED_DBG2_DATA_1 (volatile unsigned int *)((0x3249 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG2_DATA_2 (0x324a) ++#define P_HEVC_MPRED_DBG2_DATA_2 (volatile unsigned int *)((0x324a << 2) + 0xff620000) ++#define HEVC_MPRED_DBG2_DATA_3 (0x324b) ++#define P_HEVC_MPRED_DBG2_DATA_3 (volatile unsigned int *)((0x324b << 2) + 0xff620000) ++#define HEVC_MPRED_CTRL4 (0x324c) ++#define P_HEVC_MPRED_CTRL4 (volatile unsigned int *)((0x324c << 2) + 0xff620000) ++// [0] above intermedia data compress: 0=no-compress,1=compress;default:1'b0 ++// [1] collocated MV intermedia data compress: 0=no-compress,1=compress;default:1'b0 ++// [2] vp9_mode,0=hevc_mode,1=vp9_mode,default=0 ++// [6] vp9_use_prev_frame_mvs 0=not allow vp9_use_prev_frame_mvs,1=allow vp9_use_prev_frame_mvs,default=0 ++// [8] vp9_not_allow_hp 0=vp9_allow_hp,1=vp9_not_allow_hp,default=0 ++// [9] vp9_is_compound 0=vp9_is_not_compound,1=vp9_is_compound,default=0 ++// [12] vp9_ref_sign_bias[1] ref1(last) ref_sign_bias, default=0 ++// [13] vp9_ref_sign_bias[2] ref2(golden) ref_sign_bias,default=0 ++// [14] vp9_ref_sign_bias[3] ref3(altref) ref_sign_bias,default=0 ++#define HEVC_MPRED_CTRL5 (0x324d) ++#define P_HEVC_MPRED_CTRL5 (volatile unsigned int *)((0x324d << 2) + 0xff620000) ++#define HEVC_MPRED_POC24_CTRL0 (0x324e) ++#define P_HEVC_MPRED_POC24_CTRL0 (volatile unsigned int *)((0x324e << 2) + 0xff620000) ++#define HEVC_MPRED_POC24_CTRL1 (0x324f) ++#define P_HEVC_MPRED_POC24_CTRL1 (volatile unsigned int *)((0x324f << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_DATA_0 (0x3250) ++#define P_HEVC_MPRED_DBG_DATA_0 (volatile unsigned int *)((0x3250 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_DATA_1 (0x3251) ++#define P_HEVC_MPRED_DBG_DATA_1 (volatile unsigned int *)((0x3251 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_DATA_2 (0x3252) ++#define P_HEVC_MPRED_DBG_DATA_2 (volatile unsigned int *)((0x3252 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_DATA_3 (0x3253) ++#define P_HEVC_MPRED_DBG_DATA_3 (volatile unsigned int *)((0x3253 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_DATA_4 (0x3254) ++#define P_HEVC_MPRED_DBG_DATA_4 (volatile unsigned int *)((0x3254 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_DATA_5 (0x3255) ++#define P_HEVC_MPRED_DBG_DATA_5 (volatile unsigned int *)((0x3255 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_DATA_6 (0x3256) ++#define P_HEVC_MPRED_DBG_DATA_6 (volatile unsigned int *)((0x3256 << 2) + 0xff620000) ++#define HEVC_MPRED_DBG_DATA_7 (0x3257) ++#define P_HEVC_MPRED_DBG_DATA_7 (volatile unsigned int *)((0x3257 << 2) + 0xff620000) ++#define HEVC_MPRED_CTRL6 (0x3258) ++#define P_HEVC_MPRED_CTRL6 (volatile unsigned int *)((0x3258 << 2) + 0xff620000) ++#define HEVC_MPRED_CTRL7 (0x3259) ++#define P_HEVC_MPRED_CTRL7 (volatile unsigned int *)((0x3259 << 2) + 0xff620000) ++#define HEVC_MPRED_CTRL8 (0x325a) ++#define P_HEVC_MPRED_CTRL8 (volatile unsigned int *)((0x325a << 2) + 0xff620000) ++#define HEVC_MPRED_CTRL9 (0x325b) ++#define P_HEVC_MPRED_CTRL9 (volatile unsigned int *)((0x325b << 2) + 0xff620000) ++#define HEVC_MPRED_CUR_POC (0x3260) ++#define P_HEVC_MPRED_CUR_POC (volatile unsigned int *)((0x3260 << 2) + 0xff620000) ++#define HEVC_MPRED_COL_POC (0x3261) ++#define P_HEVC_MPRED_COL_POC (volatile unsigned int *)((0x3261 << 2) + 0xff620000) ++#define HEVC_MPRED_MV_RD_END_ADDR (0x3262) ++#define P_HEVC_MPRED_MV_RD_END_ADDR (volatile unsigned int *)((0x3262 << 2) + 0xff620000) ++// ++// Closing file: hevc_mpred_regs.h ++// ++//------------------------------------------------------------------------------ ++// HEVC_IPP module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hevc_ipp_regs.h ++// ++// John A. Thodiyil ++// Register map for intra/inter/pcm pixel-prediction + MCRCC + DECOMP ++// August 14th, 2013 ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HEVC_IPP_CBUS_BASE = 0x04 ++// ----------------------------------------------- ++#define HEVCD_IPP_TOP_CNTL (0x3400) ++#define P_HEVCD_IPP_TOP_CNTL (volatile unsigned int *)((0x3400 << 2) + 0xff620000) ++// [0] -- software reset ipp and mpp ++// [1] -- enable ipp ++// [3:2] -- reserved ++// [5:4] -- codec[1:0] 00:hevc 01:vp9 10:avs2 11:reserved ++// [31:6] -- reserved ++#define HEVCD_IPP_TOP_STATUS (0x3401) ++#define P_HEVCD_IPP_TOP_STATUS (volatile unsigned int *)((0x3401 << 2) + 0xff620000) ++// [0] -- ready for next tile/frame ++// [1] -- ready for next ctb ++// [2] -- ready for next slice ++// [3] -- reserved ++// [4] -- ipp_axi_rd_idle ++// [5] -- ipp_axi_wr_idle ++// [6] -- mpp_axi_rd_idle ++// [31:7] -- reserved ++#define HEVCD_IPP_TOP_FRMCONFIG (0x3402) ++#define P_HEVCD_IPP_TOP_FRMCONFIG (volatile unsigned int *)((0x3402 << 2) + 0xff620000) ++// [14:0] -- frame width in luma pixels ++// [30:16] -- frame height in luma pixels ++#define HEVCD_IPP_TOP_TILECONFIG1 (0x3403) ++#define P_HEVCD_IPP_TOP_TILECONFIG1 (volatile unsigned int *)((0x3403 << 2) + 0xff620000) ++// [11:0] -- tile_width_in_lcu ++// [27:16] -- tile_height_in_lcu ++#define HEVCD_IPP_TOP_TILECONFIG2 (0x3404) ++#define P_HEVCD_IPP_TOP_TILECONFIG2 (volatile unsigned int *)((0x3404 << 2) + 0xff620000) ++// [11:0] -- tile_offset_x_in_lcu ++// [27:16] -- tile_offset_y_in_lcu ++#define HEVCD_IPP_TOP_TILECONFIG3 (0x3405) ++#define P_HEVCD_IPP_TOP_TILECONFIG3 (volatile unsigned int *)((0x3405 << 2) + 0xff620000) ++// [0] -- tiles_enabled_flag ++// [31:1] -- reserved ++#define HEVCD_IPP_TOP_LCUCONFIG (0x3406) ++#define P_HEVCD_IPP_TOP_LCUCONFIG (volatile unsigned int *)((0x3406 << 2) + 0xff620000) ++// [6:0] -- lcu size in pixels ++#define HEVCD_IPP_TOP_FRMCTL (0x3407) ++#define P_HEVCD_IPP_TOP_FRMCTL (volatile unsigned int *)((0x3407 << 2) + 0xff620000) ++// [x] -- start ipp tile decode ++#define HEVCD_IPP_CONFIG (0x3408) ++#define P_HEVCD_IPP_CONFIG (volatile unsigned int *)((0x3408 << 2) + 0xff620000) ++// [0] -- ipp_strong_intra_smoothing_enable_flag ++// [1] -- cfg_ipp_constrained_intra_pred_flag ++// [31:2] -- reserved ++#define HEVCD_IPP_LINEBUFF_BASE (0x3409) ++#define P_HEVCD_IPP_LINEBUFF_BASE (volatile unsigned int *)((0x3409 << 2) + 0xff620000) ++// [31:14] -- intra-prediction line-buffer 16KByte axi address ++// [13:0] -- reserved ++#define HEVCD_IPP_INTR_MASK (0x340a) ++#define P_HEVCD_IPP_INTR_MASK (volatile unsigned int *)((0x340a << 2) + 0xff620000) ++// [0] -- tile/frame ready ++// [1] -- ctb ready ++// [2] -- slice ready ++// [31:3] -- reserved ++#define HEVCD_IPP_AXIIF_CONFIG (0x340b) ++#define P_HEVCD_IPP_AXIIF_CONFIG (volatile unsigned int *)((0x340b << 2) + 0xff620000) ++// [3:0] -- little_endian ++// [5:4] -- address_format 00:linear 01:32x32 10:64x32 ++// [7:6] -- reserved ++// [9:8] -- Linear_LineAlignment 00:16byte 01:32byte 10:64byte ++// [11:10] -- reserved ++// [12] -- CbCr_byte_swap ++// [31:13] -- reserved ++#define HEVCD_IPP_BITDEPTH_CONFIG (0x340c) ++#define P_HEVCD_IPP_BITDEPTH_CONFIG (volatile unsigned int *)((0x340c << 2) + 0xff620000) ++// [1:0] -- bit_depth_luma 00:8 01:9 10:10 ++// [3:2] -- bit_depth_chroma 00:8 01:9 10:10 ++// [31:4] -- reserved ++#define HEVCD_IPP_SWMPREDIF_CONFIG (0x3410) ++#define P_HEVCD_IPP_SWMPREDIF_CONFIG (volatile unsigned int *)((0x3410 << 2) + 0xff620000) ++// [0] -- swmpredif_enable ++// [31:1] -- reserved ++#define HEVCD_IPP_SWMPREDIF_STATUS (0x3411) ++#define P_HEVCD_IPP_SWMPREDIF_STATUS (volatile unsigned int *)((0x3411 << 2) + 0xff620000) ++// [0] -- swmpredif_rdy ++// [7:1] -- reserved ++// [14:8] -- swmpredif_fifospace ++// [31:15] -- reserved ++#define HEVCD_IPP_SWMPREDIF_CTBINFO (0x3412) ++#define P_HEVCD_IPP_SWMPREDIF_CTBINFO (volatile unsigned int *)((0x3412 << 2) + 0xff620000) ++// [10:0] -- swmpredif_ctb_x ++// [15:11] -- reserved ++// [26:16] -- swmpredif_ctb_y ++// [30:27] -- reserved ++// [31] -- swmpredif_newslice ++#define HEVCD_IPP_SWMPREDIF_PUINFO0 (0x3413) ++#define P_HEVCD_IPP_SWMPREDIF_PUINFO0 (volatile unsigned int *)((0x3413 << 2) + 0xff620000) ++// [31:0] -- swmpredif_imp_cmd[31:0] ++#define HEVCD_IPP_SWMPREDIF_PUINFO1 (0x3414) ++#define P_HEVCD_IPP_SWMPREDIF_PUINFO1 (volatile unsigned int *)((0x3414 << 2) + 0xff620000) ++// [31:0] -- swmpredif_imp_cmd[63:32] ++#define HEVCD_IPP_SWMPREDIF_PUINFO2 (0x3415) ++#define P_HEVCD_IPP_SWMPREDIF_PUINFO2 (volatile unsigned int *)((0x3415 << 2) + 0xff620000) ++// [31:0] -- swmpredif_imp_cmd[95:64] ++#define HEVCD_IPP_SWMPREDIF_PUINFO3 (0x3416) ++#define P_HEVCD_IPP_SWMPREDIF_PUINFO3 (volatile unsigned int *)((0x3416 << 2) + 0xff620000) ++// [31:0] -- swmpredif_imp_cmd[127:96] ++#define HEVCD_IPP_SWMPREDIF_PUINFO4 (0x3417) ++#define P_HEVCD_IPP_SWMPREDIF_PUINFO4 (volatile unsigned int *)((0x3417 << 2) + 0xff620000) ++// [31:0] -- swmpredif_imp_cmd[159:128] ++#define HEVCD_IPP_SWMPREDIF_PUINFO5 (0x3418) ++#define P_HEVCD_IPP_SWMPREDIF_PUINFO5 (volatile unsigned int *)((0x3418 << 2) + 0xff620000) ++// [31:0] -- swmpredif_imp_cmd[191:160] ++// writing to HEVCD_IPP_SWMPREDIF_PUINFO5 ++// completes command, should be last to write. ++#define HEVCD_IPP_DYNCLKGATE_CONFIG (0x3420) ++#define P_HEVCD_IPP_DYNCLKGATE_CONFIG (volatile unsigned int *)((0x3420 << 2) + 0xff620000) ++// [0] -- mpp_wpredict_clkgate_disbl ++// [1] -- mpp_ref_fetch_clkgate_disbl ++// [2] -- mpp_interpol_top_clkgate_disbl ++// [3] -- mpp_4x4mcr_clkgate_disbl ++// [4] -- mpp_ref_pack_clkgate_disbl ++// [5] -- mpp_mdec_if_clkgate_disbl ++// [7:6] -- reserved ++// [8] -- ipp_res_fetch_clkgate_disbl ++// [9] -- ipp_iqitIf_clkgate_disbl ++// [10] -- ipp_dblkCmdIf_clkgate_disbl ++// [11] -- ipp_dblkIf_clkgate_disbl ++// [12] -- ipp_cntl_clkgate_disbl ++// [13] -- ipp_nsamples_proc_clkgate_disbl ++// [14] -- ipp_refroute_clkgate_disbl ++// [15] -- ipp_spred_clkgate_disbl ++// [16] -- ipp_reg_clkgate_disbl ++// [17] -- ipp_recon_clkgate_disbl ++// [19:18] -- reserved ++// [20] -- decomp_cntl_clkgate_disbl ++// [21] -- decomp_axiIf_clkgate_disbl ++// [22] -- decomp_dcache_clkgate_disbl ++// [23] -- decomp_hcache_clkgate_disbl ++// [24] -- decomp_gearup_clkgate_disbl ++// [25] -- decomp_cores_clkgate_disbl ++// [26] -- decomp_rdroute_clkgate_disbl ++// [27] -- reserved ++// [28] -- master_decomp_clkgate_disbl ++// [29] -- master_mpp_clkgate_disbl ++// [30] -- master_ipp_clkgate_disbl ++// [31] -- master_ipp_mpp_decomp_clkgate_disbl ++#define HEVCD_IPP_DYNCLKGATE_STATUS (0x3421) ++#define P_HEVCD_IPP_DYNCLKGATE_STATUS (volatile unsigned int *)((0x3421 << 2) + 0xff620000) ++// [0] -- mpp_wpredict_clkgate ++// [1] -- mpp_ref_fetch_clkgate ++// [2] -- mpp_interpol_top_clkgate ++// [3] -- mpp_4x4mcr_clkgate ++// [4] -- mpp_ref_pack_clkgate ++// [5] -- mpp_mdec_if_clkgate ++// [7:6] -- reserved ++// [8] -- ipp_res_fetch_clkgate ++// [9] -- ipp_iqitIf_clkgate ++// [10] -- ipp_dblkCmdIf_clkgate ++// [11] -- ipp_dblkIf_clkgate ++// [12] -- ipp_cntl_clkgate ++// [13] -- ipp_nsamples_proc_clkgate ++// [14] -- ipp_refroute_clkgate ++// [15] -- ipp_spred_clkgate ++// [16] -- ipp_reg_clkgate ++// [17] -- ipp_recon_clkgate ++// [19:18] -- reserved ++// [20] -- decomp_cntl_clkgate ++// [21] -- decomp_axiIf_clkgate ++// [22] -- decomp_dcache_clkgate ++// [23] -- decomp_hcache_clkgate ++// [24] -- decomp_gearup_clkgate ++// [25] -- decomp_cores_clkgate ++// [26] -- decomp_rdroute_clkgate ++// [27] -- reserved ++// [30:28] -- reserved ++// [31] -- mcrcc_axi_clkgate ++#define HEVCD_IPP_DBG_SEL (0x3430) ++#define P_HEVCD_IPP_DBG_SEL (volatile unsigned int *)((0x3430 << 2) + 0xff620000) ++// [3:0] -- module_level_sel ++// [7:4] -- mpp_ipp_top_level ++// [8] -- ipp_sel ++// [31:9] -- reserved ++#define HEVCD_IPP_DBG_DATA (0x3431) ++#define P_HEVCD_IPP_DBG_DATA (volatile unsigned int *)((0x3431 << 2) + 0xff620000) ++// [31:0] -- Debug information ++////////////////////////////////////////////////////////////////////////////// ++///// MPP Registers //////////////////// ++////////////////////////////////////////////////////////////////////////////// ++// Canvas Anchor to Axi-Address translation table ++#define HEVCD_MPP_ANC2AXI_TBL_CONF_ADDR (0x3460) ++#define P_HEVCD_MPP_ANC2AXI_TBL_CONF_ADDR (volatile unsigned int *)((0x3460 << 2) + 0xff620000) ++// [0] -- anc2axi canvas address translation table switch 0:sw 1:hw ++// [1] -- access type 1:wr 0:rd ++// [2] -- auto index increment ++// [7:3] -- reserved ++// [15:8] -- start index ++// [31:16] -- reserved ++//`define HEVCD_MPP_ANC2AXI_TBL_CMD_ADDR 8'h61 ++// [0] -- anc2axi canvas address translation table access type 1:wr 0:rd ++// [15:8] -- anc2axi canvas address translation table access index ++// [31:16] -- anc2axi canvas address translation table access write data, 16KByte axi address ++// -- obsoleted ++//`define HEVCD_MPP_ANC2AXI_TBL_WDATA_ADDR 8'h62 // NU ++// [x] -- not used ++//`define HEVCD_MPP_ANC2AXI_TBL_RDATA_ADDR 8'h63 ++// [15:0] -- anc2axi canvas address translation table access read data ++// -- obsoleted ++#define HEVCD_MPP_ANC2AXI_TBL_DATA (0x3464) ++#define P_HEVCD_MPP_ANC2AXI_TBL_DATA (volatile unsigned int *)((0x3464 << 2) + 0xff620000) ++// [26:0] -- anc2axi address r/w 32byte aligned ++// [31:27] -- reserved ++#define HEVCD_MPP_WEIGHTPRED_CNTL_ADDR (0x347b) ++#define P_HEVCD_MPP_WEIGHTPRED_CNTL_ADDR (volatile unsigned int *)((0x347b << 2) + 0xff620000) ++// [0] -- weighted_pred_flag ++#define HEVCD_MPP_L0_WEIGHT_FLAG_ADDR (0x347c) ++#define P_HEVCD_MPP_L0_WEIGHT_FLAG_ADDR (volatile unsigned int *)((0x347c << 2) + 0xff620000) ++// [15:0] -- luma_weght_flag0[15:0], indexed by refidx0 ++// [31:16] -- chroma_weght_flag0[15:0], indexed by refidx0 ++#define HEVCD_MPP_L1_WEIGHT_FLAG_ADDR (0x347d) ++#define P_HEVCD_MPP_L1_WEIGHT_FLAG_ADDR (volatile unsigned int *)((0x347d << 2) + 0xff620000) ++// [15:0] -- luma_weght_flag1[15:0], indexed by refidx1 ++// [31:16] -- chroma_weght_flag1[15:0], indexed by refidx1 ++#define HEVCD_MPP_YLOG2WGHTDENOM_ADDR (0x347e) ++#define P_HEVCD_MPP_YLOG2WGHTDENOM_ADDR (volatile unsigned int *)((0x347e << 2) + 0xff620000) ++// [3:0] -- luma_log2_weight_denom ++#define HEVCD_MPP_DELTACLOG2WGHTDENOM_ADDR (0x347f) ++#define P_HEVCD_MPP_DELTACLOG2WGHTDENOM_ADDR (volatile unsigned int *)((0x347f << 2) + 0xff620000) ++// [4:0] -- delta_chroma_log2_weight_denom ++#define HEVCD_MPP_WEIGHT_ADDR (0x3480) ++#define P_HEVCD_MPP_WEIGHT_ADDR (volatile unsigned int *)((0x3480 << 2) + 0xff620000) ++// [5:0] -- weight_rw_addr ++// [0] -- DELTA_WEIGHT0 ++// [1] -- OFFSET0 ++// [2] -- DELTA_WEIGHT1 ++// [3] -- OFFSET1 ++// ...... ++// [62] -- DELTA_WEIGHT31 ++// [63] -- OFFSET31 ++#define HEVCD_MPP_WEIGHT_DATA (0x3481) ++#define P_HEVCD_MPP_WEIGHT_DATA (volatile unsigned int *)((0x3481 << 2) + 0xff620000) ++// For DELTA_WEIGHT : ++// [7:0] -- delta_y_weight for refidx0:0 ++// [15:8] -- delta_cb_weight for refidx0:0 ++// [23:16] -- delta_cr_weight for refidx0:0 ++// For OFFSET : ++// [7:0] -- luma_offset for refidx0:0 ++// [17:8] -- delta_cb_offset for refidx0:0 ++// [27:18] -- delta_cr_offset for refidx0:0 ++// ID to Anchor-Canvas-Address table ++// [31:13] reserved ++// [12:8] access_index ++// [7:2] reserved ++// [1] auto_inc_read ++// [0] auto_inc_write ++#define HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR (0x34c0) ++#define P_HEVCD_MPP_ANC_CANVAS_ACCCONFIG_ADDR (volatile unsigned int *)((0x34c0 << 2) + 0xff620000) ++// Id[4:0] --> {AnchorAddrCr[7:0],AnchorAddrCb[7:0],AnchorAddrY[7:0]} ++#define HEVCD_MPP_ANC_CANVAS_DATA_ADDR (0x34c1) ++#define P_HEVCD_MPP_ANC_CANVAS_DATA_ADDR (volatile unsigned int *)((0x34c1 << 2) + 0xff620000) ++// [0] -- decomp_nocompress ++// [1] -- decomp_dcache_bypass ++// [2] -- reserved ++// [3] -- decomp_smem_bdepth888 ++// [4] -- decomp_paged_mem_mode ++// [30:5] -- reserved ++// [31] -- decomp_axif_lbmode888 ++#define HEVCD_MPP_DECOMP_CTL1 (0x34c2) ++#define P_HEVCD_MPP_DECOMP_CTL1 (volatile unsigned int *)((0x34c2 << 2) + 0xff620000) ++// [23:0] -- header1_offset : 32byte address from canvas base ++// [31:24] -- reserved ++#define HEVCD_MPP_DECOMP_CTL2 (0x34c3) ++#define P_HEVCD_MPP_DECOMP_CTL2 (volatile unsigned int *)((0x34c3 << 2) + 0xff620000) ++// [9:0] -- decomp_default_Y ++// [19:10] -- decomp_default_Cb ++// [29:20] -- decomp_dafault_Cr ++// [31:30] -- bitdepth_sel 00:8bit 01:9bit 10:10bit ++#define HEVCD_MPP_DECOMP_CTL3 (0x34c4) ++#define P_HEVCD_MPP_DECOMP_CTL3 (volatile unsigned int *)((0x34c4 << 2) + 0xff620000) ++// HEVCD_MPP_DECOMP_PERFMON_CTL ++// [0] percount_reset ++// [3:1] perfcount_sel ++// [31:4] reserved ++// {1'b0,perfcount_sel[1:0]} perfcount ++// 0 raw_hcache_cnt ++// 1 hit_hcache_cnt ++// 2 raw_dcache_cnt ++// 3 hit_dcache_cnt ++// {1'b1,perfcount_sel[1:0]} perfcount ++// 0 fast_num_compburst ++// 1 slow_num_compburst ++// 2,3 raw_num_ncompburst ++#define HEVCD_MPP_DECOMP_PERFMON_CTL (0x34c5) ++#define P_HEVCD_MPP_DECOMP_PERFMON_CTL (volatile unsigned int *)((0x34c5 << 2) + 0xff620000) ++// HEVCD_MPP_DECOMP_PERFMON_DATA ++// [31:0] percount_data ++#define HEVCD_MPP_DECOMP_PERFMON_DATA (0x34c6) ++#define P_HEVCD_MPP_DECOMP_PERFMON_DATA (volatile unsigned int *)((0x34c6 << 2) + 0xff620000) ++// HEVCD_MPP_DECOMP_AXIURG_CTL ++// [1:0] -- decomp_hdrurg 00:Normal 01:Urgent 10:SuperUrgent ++// [2] -- decomp_fpathurg_en 1->Urgent if below lo_thresh ++// [3] -- decomp_spathurg_en 1->Urgent if below lo_thresh ++// [10:4] -- decomp_fpathurg_lothresh [32byte steps : max 96] ++// [17:11] -- decomp_fpathurg_hithresh [32byte steps : max 96] ++// [24:18] -- decomp_spathurg_lothresh [32byte steps : max 64] ++// [31:25] -- decomp_spathurg_hithresh [32byte steps : max 64] ++#define HEVCD_MPP_DECOMP_AXIURG_CTL (0x34c7) ++#define P_HEVCD_MPP_DECOMP_AXIURG_CTL (volatile unsigned int *)((0x34c7 << 2) + 0xff620000) ++// HEVCD_MPP_VDEC_MCR_CTL ++// [0] -- mcr_mdec_mode : 1:mcr fetch used by vdec:mdec ++// [3:1] -- reserved ++// [4] -- mcr_mdec_8byte_endianess : 1:big 0:little ++// [31:5] -- reserved ++#define HEVCD_MPP_VDEC_MCR_CTL (0x34c8) ++#define P_HEVCD_MPP_VDEC_MCR_CTL (volatile unsigned int *)((0x34c8 << 2) + 0xff620000) ++////////////////////////////////////////////////////////////////////////////// ++///// MCRCC_AXI Registers //////////////////// ++////////////////////////////////////////////////////////////////////////////// ++// HEVCD_MCRCC_CTL1 ++// 31:12 ++// 11:10 // 01: top 10:bot 11:frame ++// 9:8 ++// 7:6 ++// 5:4 ++// 3 ++// 2 // not used for hevc ++// 1 ++// 0 ++#define HEVCD_MCRCC_CTL1 (0x34f0) ++#define P_HEVCD_MCRCC_CTL1 (volatile unsigned int *)((0x34f0 << 2) + 0xff620000) ++// HEVCD_MCRCC_CTL2 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define HEVCD_MCRCC_CTL2 (0x34f1) ++#define P_HEVCD_MCRCC_CTL2 (volatile unsigned int *)((0x34f1 << 2) + 0xff620000) ++// HEVCD_MCRCC_CTL3 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define HEVCD_MCRCC_CTL3 (0x34f2) ++#define P_HEVCD_MCRCC_CTL3 (volatile unsigned int *)((0x34f2 << 2) + 0xff620000) ++// HEVCD_MCRCC_PERFMON_CTL ++// [0] percount_reset ++// [3:1] perfcount_sel ++// [31:4] reserved ++// perfcount_sel[2:0] perfcount ++// 0 raw_mcr_cnt ++// 1 hit_mcr_cnt ++// 2 byp_mcr_cnt_nchoutwin ++// 3 byp_mcr_cnt_nchcanv ++// 4 miss_mcr_cnt_0 ++// 5 miss_mcr_cnt_1 ++// 6 hit_mcr_cnt_0 ++// 7 hit_mcr_cnt_1 ++#define HEVCD_MCRCC_PERFMON_CTL (0x34f3) ++#define P_HEVCD_MCRCC_PERFMON_CTL (volatile unsigned int *)((0x34f3 << 2) + 0xff620000) ++// HEVCD_MCRCC_PERFMON_DATA ++// [31:0] percount_data ++#define HEVCD_MCRCC_PERFMON_DATA (0x34f4) ++#define P_HEVCD_MCRCC_PERFMON_DATA (volatile unsigned int *)((0x34f4 << 2) + 0xff620000) ++////////////////////////////////////////////////////////////////////////////// ++///// VP9 Decoder Registers //////////////////// ++////////////////////////////////////////////////////////////////////////////// ++// VP9D_MPP_INTERPOL_CFG0 ++// [2:0] VP9 MC Interpolation type ++ // 0-3:perframe type 4:per partition type ++// [3] reserved ++// [4] V99 MV precision ++ // 1:high precision else mv=mv*2 ++// [31:5] reserved ++#define VP9D_MPP_INTERPOL_CFG0 (0x3440) ++#define P_VP9D_MPP_INTERPOL_CFG0 (volatile unsigned int *)((0x3440 << 2) + 0xff620000) ++// VP9D_MPP_REF_SCALE_ENBL ++// [7:0] VP9 MC reference scaled info ++// [15:0] VP9 MC reference scaled dir 0:Dwn 1:Up ++// [31:16] reserved ++#define VP9D_MPP_REF_SCALE_ENBL (0x3441) ++#define P_VP9D_MPP_REF_SCALE_ENBL (volatile unsigned int *)((0x3441 << 2) + 0xff620000) ++// VP9D_MPP_REFINFO_TBL_ACCCONFIG ++// [1:0] reserved ++// [2] auto_inc_index/field ++// [5:3] reference index 0:last 1:golden 2:altref ++// [8:6] info field 0: 1: ++ // 2: ++ // 4: -- 32byte aligned ++// [31:9] reserved ++#define VP9D_MPP_REFINFO_TBL_ACCCONFIG (0x3442) ++#define P_VP9D_MPP_REFINFO_TBL_ACCCONFIG (volatile unsigned int *)((0x3442 << 2) + 0xff620000) ++// VP9D_MPP_REFINFO_DATA ++// [n:0] refinfo_tbl[index]field] wr_data/rd_data ++#define VP9D_MPP_REFINFO_DATA (0x3443) ++#define P_VP9D_MPP_REFINFO_DATA (volatile unsigned int *)((0x3443 << 2) + 0xff620000) ++// ++// Closing file: hevc_ipp_regs.h ++// ++//------------------------------------------------------------------------------ ++// HEVC_DBLK module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hevc_dblk_regs.h ++// ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HEVC_DBLK_CBUS_BASE = 0x05 ++// ----------------------------------------------- ++//cfg0[0]; //software_reset ++//cfg0[1]; //status clear, only for axi error or pic_done ++//cfg0[2]; //clock_forced_on_all ++//cfg0[3]; //clock_forced_off_all ++//cfg0[11:8]; //PU FIFO Threshold , 0:16 1:1 ... 1:15 ++//cfg0[15:12]; //TU FIFO Threshold>>4, 0:16<<4 1:1<<4 ... 1:15<<4 ++//cfg0[29:16]; //clock_forced_on_submodules ++#define HEVC_DBLK_CFG0 (0x3500) ++#define P_HEVC_DBLK_CFG0 (volatile unsigned int *)((0x3500 << 2) + 0xff620000) ++//cfg1[1:0]; //ctb_size 0:64x64 1:32x32 2:16x16 ++//cfg1[2]; //ignore_out_of_boundary ++//cfg1[3]; //pcm_loop_filter_disabled_flag ++//cfg1[8:4]; //pps_cb_qp_offset (-12~12,inclusive) ++//cfg1[13:9]; //pps_cr_qp_offset (-12~12,inclusive) ++//cfg1[14]; //ctbx,y swap in pu i/f ++//cfg1[15]; //sao_corner_45_degree_all_software_control ++#define HEVC_DBLK_CFG1 (0x3501) ++#define P_HEVC_DBLK_CFG1 (volatile unsigned int *)((0x3501 << 2) + 0xff620000) ++//cfg2[15:0]; //picture_size_width ++//cfg2[31:16]; //picture_size_height ++#define HEVC_DBLK_CFG2 (0x3502) ++#define P_HEVC_DBLK_CFG2 (volatile unsigned int *)((0x3502 << 2) + 0xff620000) ++//cfg3[3:0]; //parameter_axi_arid ++//cfg3[7:4]; //parameter_axi_awid ++//cfg3[11:8]; //parameter_axi_wid ++//cfg3[12]; //parameter_axi_not_check_write_response ++//cfg3[19:16]; //data_axi_arid ++//cfg3[23:20]; //data_axi_awid ++//cfg3[27:24]; //data_axi_wid ++//cfg3[28]; //data_axi_not_check_write_response ++#define HEVC_DBLK_CFG3 (0x3503) ++#define P_HEVC_DBLK_CFG3 (volatile unsigned int *)((0x3503 << 2) + 0xff620000) ++//cfg4[31:0]; //parameter_axi_start_address ++#define HEVC_DBLK_CFG4 (0x3504) ++#define P_HEVC_DBLK_CFG4 (volatile unsigned int *)((0x3504 << 2) + 0xff620000) ++//cfg5[31:0]; //data_axi_start_address ++#define HEVC_DBLK_CFG5 (0x3505) ++#define P_HEVC_DBLK_CFG5 (volatile unsigned int *)((0x3505 << 2) + 0xff620000) ++//cfg6[9:0]; //tile_ctbx ++//cfg6[25:16]; //tile_ctby ++//cfg6[31]; //tile_enabled ++#define HEVC_DBLK_CFG6 (0x3506) ++#define P_HEVC_DBLK_CFG6 (volatile unsigned int *)((0x3506 << 2) + 0xff620000) ++//cfg7[9:0]; //tile_ctbxsize ++//cfg7[25:16]; //tile_ctbysize ++#define HEVC_DBLK_CFG7 (0x3507) ++#define P_HEVC_DBLK_CFG7 (volatile unsigned int *)((0x3507 << 2) + 0xff620000) ++//cfg8[9:0]; //start_ctbx, normally equals to tile_ctbx ++//cfg8[25:16]; //start_ctby, normally equals to tile_ctby ++//cfg8[31]; //start, self_cleared signal, normally set it at the begin of tile ++#define HEVC_DBLK_CFG8 (0x3508) ++#define P_HEVC_DBLK_CFG8 (volatile unsigned int *)((0x3508 << 2) + 0xff620000) ++//cfg9[0] //loop_filter_across_tiles_enabled_flag ++//cfg9[1] //loop_filter_across_slices_enabled_flag ++//cfg9[2] //deblocking_filter_disabled_flag ++//cfg9[6:3] //beta_offset_div2 (-6~6,inclusive) ++//cfg9[10:7] //tc_offset_div2 (-6~6,inclusive) ++#define HEVC_DBLK_CFG9 (0x3509) ++#define P_HEVC_DBLK_CFG9 (volatile unsigned int *)((0x3509 << 2) + 0xff620000) ++//cfga[4:0] //corner45degree{FIFO_CNT} ++//cfga[31:27] //corner45degree{EN,FIFO_CLR,FIFO_PUSH,DATA,DATA_SEL} ++#define HEVC_DBLK_CFGA (0x350a) ++#define P_HEVC_DBLK_CFGA (volatile unsigned int *)((0x350a << 2) + 0xff620000) ++//cfgb[3:0] //0:HEVC 1:VP9 ... ++#define HEVC_DBLK_CFGB (0x350b) ++#define P_HEVC_DBLK_CFGB (volatile unsigned int *)((0x350b << 2) + 0xff620000) ++//cfgc[31:0] //cfg_addr_y1 ++#define HEVC_DBLK_CFGC (0x350c) ++#define P_HEVC_DBLK_CFGC (volatile unsigned int *)((0x350c << 2) + 0xff620000) ++//TODO description ++#define HEVC_DBLK_STS0 (0x350d) ++#define P_HEVC_DBLK_STS0 (volatile unsigned int *)((0x350d << 2) + 0xff620000) ++//TODO description ++#define HEVC_DBLK_STS1 (0x350e) ++#define P_HEVC_DBLK_STS1 (volatile unsigned int *)((0x350e << 2) + 0xff620000) ++// ++// Closing file: hevc_dblk_regs.h ++// ++//------------------------------------------------------------------------------ ++// HEVC_SAO module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hevc_sao_regs.h ++// ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HEVC_SAO_CBUS_BASE = 0x06 ++// ----------------------------------------------- ++#define HEVC_SAO_VERSION (0x3600) ++#define P_HEVC_SAO_VERSION (volatile unsigned int *)((0x3600 << 2) + 0xff620000) ++// [31:0] reversion default:32'h00010001 ++#define HEVC_SAO_CTRL0 (0x3601) ++#define P_HEVC_SAO_CTRL0 (volatile unsigned int *)((0x3601 << 2) + 0xff620000) ++// [3:0] lcu_size_log2 ++// [31] above intermedia data compress: 0=no-compress,1=compress;default:1'b0 ++#define HEVC_SAO_CTRL1 (0x3602) ++#define P_HEVC_SAO_CTRL1 (volatile unsigned int *)((0x3602 << 2) + 0xff620000) ++// [31:24] ar_fifo1_axi_thred ++// [23:16] ar_fifo0_axi_thred ++// [15:14] axi_linealign, 0-16bytes, 1-32bytes, 2-64bytes ++// [13:12] axi_aformat, 0-Linear, 1-32x32, 2-64x32 ++// [11:08] axi_lendian_C ++// [07:04] axi_lendian_Y ++// [3] reserved ++// [2] clk_forceon ++// [1] dw_disable:disable double write output ++// [0] cm_disable:disable compress output ++#define HEVC_SAO_INT_EN (0x3603) ++#define P_HEVC_SAO_INT_EN (volatile unsigned int *)((0x3603 << 2) + 0xff620000) ++// [0] sao_int_enable ++// [1] sao_int_amrisc_level ++// [2] sao_int_cpu_level ++// [3] slice_done_int_amrisc_enable ++// [4] slice_done_int_cpu_enable ++// [15] disable_sao_int_clock_gating ++#define HEVC_SAO_INT_STATUS (0x3604) ++#define P_HEVC_SAO_INT_STATUS (volatile unsigned int *)((0x3604 << 2) + 0xff620000) ++// [0] slice_done IRQ ++// [31] write "1"=slice start(self clear,read always return "0") ++#define HEVC_SAO_PIC_SIZE (0x3605) ++#define P_HEVC_SAO_PIC_SIZE (volatile unsigned int *)((0x3605 << 2) + 0xff620000) ++// [15:0] pic_width[15:0] ++// [31:16] pic_height[15:0] ++#define HEVC_SAO_PIC_SIZE_LCU (0x3606) ++#define P_HEVC_SAO_PIC_SIZE_LCU (volatile unsigned int *)((0x3606 << 2) + 0xff620000) ++// [15:0] lcu_x_num_1[15:0] (=lcu_x_total-1) ++// [31:16] lcu_y_num_1[15:0] (=lcu_y_total-1) ++#define HEVC_SAO_TILE_START (0x3607) ++#define P_HEVC_SAO_TILE_START (volatile unsigned int *)((0x3607 << 2) + 0xff620000) ++// [15:0] tile_start_lcu_x[15:0] ++// [31:16] tile_start_lcu_y[15:0] ++#define HEVC_SAO_TILE_SIZE_LCU (0x3608) ++#define P_HEVC_SAO_TILE_SIZE_LCU (volatile unsigned int *)((0x3608 << 2) + 0xff620000) ++// [15:0] tile_width_lcu[15:0] ++// [31:16] tile_height_lcu[15:0] ++#define HEVC_SAO_AXI_WCTRL (0x3609) ++#define P_HEVC_SAO_AXI_WCTRL (volatile unsigned int *)((0x3609 << 2) + 0xff620000) ++#define HEVC_SAO_AXI_RCTRL (0x360a) ++#define P_HEVC_SAO_AXI_RCTRL (volatile unsigned int *)((0x360a << 2) + 0xff620000) ++#define HEVC_SAO_Y_START_ADDR (0x360b) ++#define P_HEVC_SAO_Y_START_ADDR (volatile unsigned int *)((0x360b << 2) + 0xff620000) ++#define HEVC_SAO_Y_LENGTH (0x360c) ++#define P_HEVC_SAO_Y_LENGTH (volatile unsigned int *)((0x360c << 2) + 0xff620000) ++#define HEVC_SAO_C_START_ADDR (0x360d) ++#define P_HEVC_SAO_C_START_ADDR (volatile unsigned int *)((0x360d << 2) + 0xff620000) ++#define HEVC_SAO_C_LENGTH (0x360e) ++#define P_HEVC_SAO_C_LENGTH (volatile unsigned int *)((0x360e << 2) + 0xff620000) ++#define HEVC_SAO_Y_WPTR (0x360f) ++#define P_HEVC_SAO_Y_WPTR (volatile unsigned int *)((0x360f << 2) + 0xff620000) ++#define HEVC_SAO_C_WPTR (0x3610) ++#define P_HEVC_SAO_C_WPTR (volatile unsigned int *)((0x3610 << 2) + 0xff620000) ++#define HEVC_SAO_ABV_START_ADDR (0x3611) ++#define P_HEVC_SAO_ABV_START_ADDR (volatile unsigned int *)((0x3611 << 2) + 0xff620000) ++#define HEVC_SAO_VB_WR_START_ADDR (0x3612) ++#define P_HEVC_SAO_VB_WR_START_ADDR (volatile unsigned int *)((0x3612 << 2) + 0xff620000) ++#define HEVC_SAO_VB_RD_START_ADDR (0x3613) ++#define P_HEVC_SAO_VB_RD_START_ADDR (volatile unsigned int *)((0x3613 << 2) + 0xff620000) ++#define HEVC_SAO_ABV_WPTR (0x3614) ++#define P_HEVC_SAO_ABV_WPTR (volatile unsigned int *)((0x3614 << 2) + 0xff620000) ++#define HEVC_SAO_ABV_RPTR (0x3615) ++#define P_HEVC_SAO_ABV_RPTR (volatile unsigned int *)((0x3615 << 2) + 0xff620000) ++#define HEVC_SAO_VB_WPTR (0x3616) ++#define P_HEVC_SAO_VB_WPTR (volatile unsigned int *)((0x3616 << 2) + 0xff620000) ++#define HEVC_SAO_VB_RPTR (0x3617) ++#define P_HEVC_SAO_VB_RPTR (volatile unsigned int *)((0x3617 << 2) + 0xff620000) ++#define HEVC_SAO_DBG_MODE0 (0x361e) ++#define P_HEVC_SAO_DBG_MODE0 (volatile unsigned int *)((0x361e << 2) + 0xff620000) ++#define HEVC_SAO_DBG_MODE1 (0x361f) ++#define P_HEVC_SAO_DBG_MODE1 (volatile unsigned int *)((0x361f << 2) + 0xff620000) ++#define HEVC_SAO_CTRL2 (0x3620) ++#define P_HEVC_SAO_CTRL2 (volatile unsigned int *)((0x3620 << 2) + 0xff620000) ++#define HEVC_SAO_CTRL3 (0x3621) ++#define P_HEVC_SAO_CTRL3 (volatile unsigned int *)((0x3621 << 2) + 0xff620000) ++#define HEVC_SAO_CTRL4 (0x3622) ++#define P_HEVC_SAO_CTRL4 (volatile unsigned int *)((0x3622 << 2) + 0xff620000) ++#define HEVC_SAO_CTRL5 (0x3623) ++#define P_HEVC_SAO_CTRL5 (volatile unsigned int *)((0x3623 << 2) + 0xff620000) ++//[23:22] dw_h1_ctrl default:2'b11 ++//[21:20] dw_h0_ctrl default:2'b11 ++//[19:18] dw_h1_ctrl default:2'b11 ++//[17:16] dw_h0_ctrl default:2'b11 ++#define HEVC_SAO_CTRL6 (0x3624) ++#define P_HEVC_SAO_CTRL6 (volatile unsigned int *)((0x3624 << 2) + 0xff620000) ++#define HEVC_SAO_CTRL7 (0x3625) ++#define P_HEVC_SAO_CTRL7 (volatile unsigned int *)((0x3625 << 2) + 0xff620000) ++#define HEVC_CM_BODY_START_ADDR (0x3626) ++#define P_HEVC_CM_BODY_START_ADDR (volatile unsigned int *)((0x3626 << 2) + 0xff620000) ++#define HEVC_CM_BODY_LENGTH (0x3627) ++#define P_HEVC_CM_BODY_LENGTH (volatile unsigned int *)((0x3627 << 2) + 0xff620000) ++#define HEVC_CM_HEADER_START_ADDR (0x3628) ++#define P_HEVC_CM_HEADER_START_ADDR (volatile unsigned int *)((0x3628 << 2) + 0xff620000) ++#define HEVC_CM_HEADER_LENGTH (0x3629) ++#define P_HEVC_CM_HEADER_LENGTH (volatile unsigned int *)((0x3629 << 2) + 0xff620000) ++#define HEVC_CM_COLOR (0x362a) ++#define P_HEVC_CM_COLOR (volatile unsigned int *)((0x362a << 2) + 0xff620000) ++#define HEVC_CM_HEADER_OFFSET (0x362b) ++#define P_HEVC_CM_HEADER_OFFSET (volatile unsigned int *)((0x362b << 2) + 0xff620000) ++#define HEVC_SAO_CTRL8 (0x362c) ++#define P_HEVC_SAO_CTRL8 (volatile unsigned int *)((0x362c << 2) + 0xff620000) ++#define HEVC_SAO_CTRL9 (0x362d) ++#define P_HEVC_SAO_CTRL9 (volatile unsigned int *)((0x362d << 2) + 0xff620000) ++#define HEVC_SAO_CTRL10 (0x362e) ++#define P_HEVC_SAO_CTRL10 (volatile unsigned int *)((0x362e << 2) + 0xff620000) ++#define HEVC_SAO_CTRL11 (0x362f) ++#define P_HEVC_SAO_CTRL11 (volatile unsigned int *)((0x362f << 2) + 0xff620000) ++#define HEVC_SAO_DBG_DATA_0 (0x3630) ++#define P_HEVC_SAO_DBG_DATA_0 (volatile unsigned int *)((0x3630 << 2) + 0xff620000) ++#define HEVC_SAO_DBG_DATA_1 (0x3631) ++#define P_HEVC_SAO_DBG_DATA_1 (volatile unsigned int *)((0x3631 << 2) + 0xff620000) ++#define HEVC_SAO_DBG_DATA_2 (0x3632) ++#define P_HEVC_SAO_DBG_DATA_2 (volatile unsigned int *)((0x3632 << 2) + 0xff620000) ++#define HEVC_SAO_DBG_DATA_3 (0x3633) ++#define P_HEVC_SAO_DBG_DATA_3 (volatile unsigned int *)((0x3633 << 2) + 0xff620000) ++#define HEVC_SAO_DBG_DATA_4 (0x3634) ++#define P_HEVC_SAO_DBG_DATA_4 (volatile unsigned int *)((0x3634 << 2) + 0xff620000) ++#define HEVC_SAO_DBG_DATA_5 (0x3635) ++#define P_HEVC_SAO_DBG_DATA_5 (volatile unsigned int *)((0x3635 << 2) + 0xff620000) ++#define HEVC_SAO_DBG_DATA_6 (0x3636) ++#define P_HEVC_SAO_DBG_DATA_6 (volatile unsigned int *)((0x3636 << 2) + 0xff620000) ++#define HEVC_SAO_DBG_DATA_7 (0x3637) ++#define P_HEVC_SAO_DBG_DATA_7 (volatile unsigned int *)((0x3637 << 2) + 0xff620000) ++#define HEVC_SAO_MMU_WR (0x3638) ++#define P_HEVC_SAO_MMU_WR (volatile unsigned int *)((0x3638 << 2) + 0xff620000) ++#define HEVC_SAO_MMU_STATUS (0x3639) ++#define P_HEVC_SAO_MMU_STATUS (volatile unsigned int *)((0x3639 << 2) + 0xff620000) ++//Read Only ++//sao_mmu_fifo is 16(depth)x20(bits) ++//[0] mmu_fifo_empty 1=empty,0=not-empty ++//[1] mmu_fifo_full 1=full,0=not-full ++//[7:4] mmu_fifo_depth[3:0] ++//[11:8] mmu_fifo_room[3:0] ++#define HEVC_SAO_MMU_VH0_ADDR (0x363a) ++#define P_HEVC_SAO_MMU_VH0_ADDR (volatile unsigned int *)((0x363a << 2) + 0xff620000) ++#define HEVC_SAO_MMU_VH1_ADDR (0x363b) ++#define P_HEVC_SAO_MMU_VH1_ADDR (volatile unsigned int *)((0x363b << 2) + 0xff620000) ++#define HEVC_SAO_MMU_WPTR (0x363c) ++#define P_HEVC_SAO_MMU_WPTR (volatile unsigned int *)((0x363c << 2) + 0xff620000) ++#define HEVC_SAO_MMU_RPTR (0x363d) ++#define P_HEVC_SAO_MMU_RPTR (volatile unsigned int *)((0x363d << 2) + 0xff620000) ++// ++// Closing file: hevc_sao_regs.h ++// ++//------------------------------------------------------------------------------ ++// HEVC_IQIT module level register offset ++//------------------------------------------------------------------------------ ++// ++// Reading file: hevc_iqit_regs.h ++// ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HEVC_IQIT_CBUS_BASE = 0x07 ++// ----------------------------------------------- ++// [ 2] RW en_freeclk. 0=Auto-gated clock for saving power; ++// 1=Free running clock if something wrong with auto-gating. ++// Default 0. ++// [ 1] RW enable_clk. 0=Disable clock; 1=Enable clock. Default 0. ++#define HEVC_IQIT_CLK_RST_CTRL (0x3700) ++#define P_HEVC_IQIT_CLK_RST_CTRL (volatile unsigned int *)((0x3700 << 2) + 0xff620000) ++// [ 5: 4] RW ctb_size. 0=8x8; 1=16x16; 2=32x32; 3=64x64. Default 0. ++// [ 3] RW itr_skip_mode. For dealing with discrepancy between Spec and C model for transform_skip. ++// 0=Follow Spec; 1=Follow C model. Default 0. ++// [ 2] RW scalelist_mode. Applicable only when scalelist_en=1. ++// 0=Use default scaling factor list; ++// 1=Use scaling factor list define in bit stream. ++// Default 0. ++// [ 1] RW scalelist_en. 0=Use flat scale; 1=Use scaling factor list. Default 0. ++// [ 0] RW diagscan_en. 0=Linear lookup dQ table; 1=Diagonally lookup dQ table. Default 0. ++#define HEVC_IQIT_DEQUANT_CTRL (0x3701) ++#define P_HEVC_IQIT_DEQUANT_CTRL (volatile unsigned int *)((0x3701 << 2) + 0xff620000) ++// [31:10] WR Reserved. Default 0. ++// [ 9: 0] WR scalelut_addr. Default 0. ++#define HEVC_IQIT_SCALELUT_WR_ADDR (0x3702) ++#define P_HEVC_IQIT_SCALELUT_WR_ADDR (volatile unsigned int *)((0x3702 << 2) + 0xff620000) ++// [31:10] RD Reserved. Default 0. ++// [ 9: 0] RD scalelut_addr. Default 0. ++#define HEVC_IQIT_SCALELUT_RD_ADDR (0x3703) ++#define P_HEVC_IQIT_SCALELUT_RD_ADDR (volatile unsigned int *)((0x3703 << 2) + 0xff620000) ++// [ 7: 0] RW LUT data. ++#define HEVC_IQIT_SCALELUT_DATA (0x3704) ++#define P_HEVC_IQIT_SCALELUT_DATA (volatile unsigned int *)((0x3704 << 2) + 0xff620000) ++//--------------------------------------------------- ++// tab_idx [2:0] - ++// 0-5 use custom table index ++// 6 - reserved ++// 7 - use default table ++//--------------------------------------------------- ++// [22:20] 4x4 tab 5 ++// [ 19] reserved ++// [18:16] 4x4 tab 4 ++// [ 15] reserved ++// [14:12] 4x4 tab 3 ++// [ 11] reserved ++// [10: 8] 4x4 tab 2 ++// [ 7] reserved ++// [ 6: 4] 4x4 tab 1 ++// [ 3] reserved ++// [ 2: 0] 4x4 tab 0 ++#define HEVC_IQIT_SCALELUT_IDX_4 (0x3705) ++#define P_HEVC_IQIT_SCALELUT_IDX_4 (volatile unsigned int *)((0x3705 << 2) + 0xff620000) ++// [22:20] 8x8 tab 5 ++// [ 19] reserved ++// [18:16] 8x8 tab 4 ++// [ 15] reserved ++// [14:12] 8x8 tab 3 ++// [ 11] reserved ++// [10: 8] 8x8 tab 2 ++// [ 7] reserved ++// [ 6: 4] 8x8 tab 1 ++// [ 3] reserved ++// [ 2: 0] 8x8 tab 0 ++#define HEVC_IQIT_SCALELUT_IDX_8 (0x3706) ++#define P_HEVC_IQIT_SCALELUT_IDX_8 (volatile unsigned int *)((0x3706 << 2) + 0xff620000) ++// [ 31] reserved ++// [30:28] 32x32 tab 1 ++// [ 27] reserved ++// [26:24] 32x32 tab 0 ++// [ 23] reserved ++// [22:20] 16x16 tab 5 ++// [ 19] reserved ++// [18:16] 16x16 tab 4 ++// [ 15] reserved ++// [14:12] 16x16 tab 3 ++// [ 11] reserved ++// [10: 8] 16x16 tab 2 ++// [ 7] reserved ++// [ 6: 4] 16x16 tab 1 ++// [ 3] reserved ++// [ 2: 0] 16x16 tab 0 ++#define HEVC_IQIT_SCALELUT_IDX_16_32 (0x3707) ++#define P_HEVC_IQIT_SCALELUT_IDX_16_32 (volatile unsigned int *)((0x3707 << 2) + 0xff620000) ++// [ 8: 2] R tuinfo_fifo_cnt. ++// [ 1] R fifo_has_room. ++// [ 0] R mem_init_done. ++#define HEVC_IQIT_STAT_GEN0 (0x3708) ++#define P_HEVC_IQIT_STAT_GEN0 (volatile unsigned int *)((0x3708 << 2) + 0xff620000) ++// [ 23] RW cntl_qp_cr_valid. ++// [21:16] RW cntl_qp_cr. ++// [ 15] RW cntl_qp_cb_valid. ++// [13: 8] RW cntl_qp_cb. ++// [ 7] RW cntl_qp_y_valid. ++// [ 5: 0] RW cntl_qp_y. ++#define HEVC_QP_WRITE (0x3709) ++#define P_HEVC_QP_WRITE (volatile unsigned int *)((0x3709 << 2) + 0xff620000) ++// [31:30] R ipp_size. ++// [28:24] R ipp_mem_ptr. ++// [23:22] R itr2_size. ++// [20:16] R itr2_mem_ptr. ++// [15:14] R itr1_size. ++// [12: 8] R itr1_mem_ptr. ++// [ 7: 6] R iq_size. ++// [ 4: 0] R iq_mem_ptr. ++#define HEVC_IQIT_STAT_GEN1 (0x370a) ++#define P_HEVC_IQIT_STAT_GEN1 (volatile unsigned int *)((0x370a << 2) + 0xff620000) ++// [ 5: 4] RW cntl_bitdepth_c. 0=8-bit; 1=9-bit; 2=10-bit. ++// [ 1: 0] RW cntl_bitdepth_y. 0=8-bit; 1=9-bit; 2=10-bit. ++#define HEVC_IQIT_BITDEPTH (0x370b) ++#define P_HEVC_IQIT_BITDEPTH (volatile unsigned int *)((0x370b << 2) + 0xff620000) ++// [ 10] R ipp_active. ++// [ 9] R itr2_active. ++// [ 8] R itr1_active. ++// [ 5: 0] R mem_spare_num. ++#define HEVC_IQIT_STAT_GEN2 (0x370c) ++#define P_HEVC_IQIT_STAT_GEN2 (volatile unsigned int *)((0x370c << 2) + 0xff620000) ++#define HEVC_IQIT_AVS2_WQP_0123 (0x370d) ++#define P_HEVC_IQIT_AVS2_WQP_0123 (volatile unsigned int *)((0x370d << 2) + 0xff620000) ++#define HEVC_IQIT_AVS2_WQP_45 (0x370e) ++#define P_HEVC_IQIT_AVS2_WQP_45 (volatile unsigned int *)((0x370e << 2) + 0xff620000) ++#define HEVC_IQIT_AVS2_QP_DELTA (0x370f) ++#define P_HEVC_IQIT_AVS2_QP_DELTA (volatile unsigned int *)((0x370f << 2) + 0xff620000) ++// ++// Closing file: hevc_iqit_regs.h ++// ++//------------------------------------------------------------------------------ ++// DOS top-level register offset ++//------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: DOS_TOP_CBUS_BASE = 0x3f ++// ----------------------------------------------- ++// [0] reserved ++// [1] Reset Dos top level registers, except sw_reset0/1/2 which is only reset by external reset_n. ++// [2] VDEC1 Reset assist, mdec's CBUS ++// [3] VDEC1 Reset mdec's VLD ++// [4] VDEC1 Reset mdec's VLD ++// [5] VDEC1 Reset mdec's VLD ++// [6] VDEC1 Reset mdec's IQIDCT ++// [7] VDEC1 Reset mdec's MC ++// [8] VDEC1 Reset mdec's DBLK ++// [9] VDEC1 Reset mdec's PIC_DC ++// [10] VDEC1 Reset mdec's Pscale ++// [11] VDEC1 Reset vcpu's MCPU ++// [12] VDEC1 Reset vcpu's CCPU ++// [13] VDEC1 Reset mmc_pre_arb ++#define DOS_SW_RESET0 (0x3f00) ++#define P_DOS_SW_RESET0 (volatile unsigned int *)((0x3f00 << 2) + 0xff620000) ++// [31:27] reserved ++// [26] hcodec clk_en for henc assist ++// [25:22] reserved ++// [21] hcodec clk_en for henc qdct ++// [20] hcodec clk_en for henc vlc ++// [19] hcodec clk_en for assist and cbus ++// [18] hcodec clk_en for ddr ++// [17] hcodec clk_en for vcpu ++// [16] hcodec clk_en for hdec assist ++// [15] hcodec clk_en for hdec dblk ++// [14] reserved ++// [13] hcodec clk_en for hdec mc ++// [12] hcodec clk_en for hdec pic_dc ++// [11:10] reserved ++// [9] vdec clk_en for vdec assist and cbus ++// [8] vdec clk_en for ddr ++// [7] vdec clk_en for vcpu ++// [6] vdec clk_en for mdec vld ++// [5] vdec clk_en for mdec psc ++// [4] vdec clk_en for mdec pic_dc ++// [3] vdec clk_en for mdec mc ++// [2] vdec clk_en for mdec iqidct ++// [1] vdec clk_en for mdec dblk ++// [0] vdec clk_en for mdec assist ++#define DOS_GCLK_EN0 (0x3f01) ++#define P_DOS_GCLK_EN0 (volatile unsigned int *)((0x3f01 << 2) + 0xff620000) ++#define DOS_GEN_CTRL0 (0x3f02) ++#define P_DOS_GEN_CTRL0 (volatile unsigned int *)((0x3f02 << 2) + 0xff620000) ++#define DOS_APB_ERR_CTRL (0x3f03) ++#define P_DOS_APB_ERR_CTRL (volatile unsigned int *)((0x3f03 << 2) + 0xff620000) ++#define DOS_APB_ERR_STAT (0x3f04) ++#define P_DOS_APB_ERR_STAT (volatile unsigned int *)((0x3f04 << 2) + 0xff620000) ++#define DOS_VDEC_INT_EN (0x3f05) ++#define P_DOS_VDEC_INT_EN (volatile unsigned int *)((0x3f05 << 2) + 0xff620000) ++#define DOS_HCODEC_INT_EN (0x3f06) ++#define P_DOS_HCODEC_INT_EN (volatile unsigned int *)((0x3f06 << 2) + 0xff620000) ++// [0] Reserved ++// [1] Reserved ++// [2] HCODEC Reset assist, hdec's CBUS ++// [3] HCODEC Reset hdec's VLD ++// [4] HCODEC Reset hdec's VLD ++// [5] HCODEC Reset hdec's VLD ++// [6] HCODEC Reset hdec's IQIDCT ++// [7] HCODEC Reset hdec's MC ++// [8] HCODEC Reset hdec's DBLK ++// [9] HCODEC Reset hdec's PIC_DC ++// [10] HCODEC Reset hdec's Pscale ++// [11] HCODEC Reset vcpu's MCPU ++// [12] HCODEC Reset vcpu's CCPU ++// [13] HCODEC Reset mmc_pre_arb ++// [14] HCODEC Reserved ++// [15] HCODEC Reserved ++// [16] HCODEC Reset henc's VLC ++#define DOS_SW_RESET1 (0x3f07) ++#define P_DOS_SW_RESET1 (volatile unsigned int *)((0x3f07 << 2) + 0xff620000) ++// [0] Reserved ++// [1] Reserved ++// [2] VDEC2 Reset assist, mdec's CBUS ++// [3] VDEC2 Reset mdec's VLD ++// [4] VDEC2 Reset mdec's VLD ++// [5] VDEC2 Reset mdec's VLD ++// [6] VDEC2 Reset mdec's IQIDCT ++// [7] VDEC2 Reset mdec's MC ++// [8] VDEC2 Reset mdec's DBLK ++// [9] VDEC2 Reset mdec's PIC_DC ++// [10] VDEC2 Reset mdec's Pscale ++// [11] VDEC2 Reset vcpu's MCPU ++// [12] VDEC2 Reset vcpu's CCPU ++// [13] VDEC2 Reset mmc_pre_arb ++#define DOS_SW_RESET2 (0x3f08) ++#define P_DOS_SW_RESET2 (volatile unsigned int *)((0x3f08 << 2) + 0xff620000) ++// [31:10] Reserved ++// [9] vdec2 clk_en for assist and cbus. ++// [8] vdec2 clk_en for ddr; ++// [7] vdec2 clk_en for vcpu; ++// [6] vdec2 clk_en for mdec vld ++// [5] vdec2 clk_en for mdec psc ++// [4] vdec2 clk_en for mdec pic_dc ++// [3] vdec2 clk_en for mdec mc ++// [2] vdec2 clk_en for mdec iqidct ++// [1] vdec2 clk_en for mdec dblk ++// [0] vdec2 clk_en for mdec assist ++#define DOS_GCLK_EN1 (0x3f09) ++#define P_DOS_GCLK_EN1 (volatile unsigned int *)((0x3f09 << 2) + 0xff620000) ++#define DOS_VDEC2_INT_EN (0x3f0a) ++#define P_DOS_VDEC2_INT_EN (volatile unsigned int *)((0x3f0a << 2) + 0xff620000) ++#define DOS_VDIN_LCNT (0x3f0b) ++#define P_DOS_VDIN_LCNT (volatile unsigned int *)((0x3f0b << 2) + 0xff620000) ++#define DOS_VDIN_FCNT (0x3f0c) ++#define P_DOS_VDIN_FCNT (volatile unsigned int *)((0x3f0c << 2) + 0xff620000) ++#define DOS_VDIN_CCTL (0x3f0d) ++#define P_DOS_VDIN_CCTL (volatile unsigned int *)((0x3f0d << 2) + 0xff620000) ++#define DOS_SCRATCH0 (0x3f10) ++#define P_DOS_SCRATCH0 (volatile unsigned int *)((0x3f10 << 2) + 0xff620000) ++#define DOS_SCRATCH1 (0x3f11) ++#define P_DOS_SCRATCH1 (volatile unsigned int *)((0x3f11 << 2) + 0xff620000) ++#define DOS_SCRATCH2 (0x3f12) ++#define P_DOS_SCRATCH2 (volatile unsigned int *)((0x3f12 << 2) + 0xff620000) ++#define DOS_SCRATCH3 (0x3f13) ++#define P_DOS_SCRATCH3 (volatile unsigned int *)((0x3f13 << 2) + 0xff620000) ++#define DOS_SCRATCH4 (0x3f14) ++#define P_DOS_SCRATCH4 (volatile unsigned int *)((0x3f14 << 2) + 0xff620000) ++#define DOS_SCRATCH5 (0x3f15) ++#define P_DOS_SCRATCH5 (volatile unsigned int *)((0x3f15 << 2) + 0xff620000) ++#define DOS_SCRATCH6 (0x3f16) ++#define P_DOS_SCRATCH6 (volatile unsigned int *)((0x3f16 << 2) + 0xff620000) ++#define DOS_SCRATCH7 (0x3f17) ++#define P_DOS_SCRATCH7 (volatile unsigned int *)((0x3f17 << 2) + 0xff620000) ++#define DOS_SCRATCH8 (0x3f18) ++#define P_DOS_SCRATCH8 (volatile unsigned int *)((0x3f18 << 2) + 0xff620000) ++#define DOS_SCRATCH9 (0x3f19) ++#define P_DOS_SCRATCH9 (volatile unsigned int *)((0x3f19 << 2) + 0xff620000) ++#define DOS_SCRATCH10 (0x3f1a) ++#define P_DOS_SCRATCH10 (volatile unsigned int *)((0x3f1a << 2) + 0xff620000) ++#define DOS_SCRATCH11 (0x3f1b) ++#define P_DOS_SCRATCH11 (volatile unsigned int *)((0x3f1b << 2) + 0xff620000) ++#define DOS_SCRATCH12 (0x3f1c) ++#define P_DOS_SCRATCH12 (volatile unsigned int *)((0x3f1c << 2) + 0xff620000) ++#define DOS_SCRATCH13 (0x3f1d) ++#define P_DOS_SCRATCH13 (volatile unsigned int *)((0x3f1d << 2) + 0xff620000) ++#define DOS_SCRATCH14 (0x3f1e) ++#define P_DOS_SCRATCH14 (volatile unsigned int *)((0x3f1e << 2) + 0xff620000) ++#define DOS_SCRATCH15 (0x3f1f) ++#define P_DOS_SCRATCH15 (volatile unsigned int *)((0x3f1f << 2) + 0xff620000) ++#define DOS_SCRATCH16 (0x3f20) ++#define P_DOS_SCRATCH16 (volatile unsigned int *)((0x3f20 << 2) + 0xff620000) ++#define DOS_SCRATCH17 (0x3f21) ++#define P_DOS_SCRATCH17 (volatile unsigned int *)((0x3f21 << 2) + 0xff620000) ++#define DOS_SCRATCH18 (0x3f22) ++#define P_DOS_SCRATCH18 (volatile unsigned int *)((0x3f22 << 2) + 0xff620000) ++#define DOS_SCRATCH19 (0x3f23) ++#define P_DOS_SCRATCH19 (volatile unsigned int *)((0x3f23 << 2) + 0xff620000) ++#define DOS_SCRATCH20 (0x3f24) ++#define P_DOS_SCRATCH20 (volatile unsigned int *)((0x3f24 << 2) + 0xff620000) ++#define DOS_SCRATCH21 (0x3f25) ++#define P_DOS_SCRATCH21 (volatile unsigned int *)((0x3f25 << 2) + 0xff620000) ++#define DOS_SCRATCH22 (0x3f26) ++#define P_DOS_SCRATCH22 (volatile unsigned int *)((0x3f26 << 2) + 0xff620000) ++#define DOS_SCRATCH23 (0x3f27) ++#define P_DOS_SCRATCH23 (volatile unsigned int *)((0x3f27 << 2) + 0xff620000) ++#define DOS_SCRATCH24 (0x3f28) ++#define P_DOS_SCRATCH24 (volatile unsigned int *)((0x3f28 << 2) + 0xff620000) ++#define DOS_SCRATCH25 (0x3f29) ++#define P_DOS_SCRATCH25 (volatile unsigned int *)((0x3f29 << 2) + 0xff620000) ++#define DOS_SCRATCH26 (0x3f2a) ++#define P_DOS_SCRATCH26 (volatile unsigned int *)((0x3f2a << 2) + 0xff620000) ++#define DOS_SCRATCH27 (0x3f2b) ++#define P_DOS_SCRATCH27 (volatile unsigned int *)((0x3f2b << 2) + 0xff620000) ++#define DOS_SCRATCH28 (0x3f2c) ++#define P_DOS_SCRATCH28 (volatile unsigned int *)((0x3f2c << 2) + 0xff620000) ++#define DOS_SCRATCH29 (0x3f2d) ++#define P_DOS_SCRATCH29 (volatile unsigned int *)((0x3f2d << 2) + 0xff620000) ++#define DOS_SCRATCH30 (0x3f2e) ++#define P_DOS_SCRATCH30 (volatile unsigned int *)((0x3f2e << 2) + 0xff620000) ++#define DOS_SCRATCH31 (0x3f2f) ++#define P_DOS_SCRATCH31 (volatile unsigned int *)((0x3f2f << 2) + 0xff620000) ++#define DOS_MEM_PD_VDEC (0x3f30) ++#define P_DOS_MEM_PD_VDEC (volatile unsigned int *)((0x3f30 << 2) + 0xff620000) ++#define DOS_MEM_PD_VDEC2 (0x3f31) ++#define P_DOS_MEM_PD_VDEC2 (volatile unsigned int *)((0x3f31 << 2) + 0xff620000) ++#define DOS_MEM_PD_HCODEC (0x3f32) ++#define P_DOS_MEM_PD_HCODEC (volatile unsigned int *)((0x3f32 << 2) + 0xff620000) ++#define DOS_MEM_PD_HEVC (0x3f33) ++#define P_DOS_MEM_PD_HEVC (volatile unsigned int *)((0x3f33 << 2) + 0xff620000) ++#define DOS_SW_RESET3 (0x3f34) ++#define P_DOS_SW_RESET3 (volatile unsigned int *)((0x3f34 << 2) + 0xff620000) ++#define DOS_GCLK_EN3 (0x3f35) ++#define P_DOS_GCLK_EN3 (volatile unsigned int *)((0x3f35 << 2) + 0xff620000) ++#define DOS_HEVC_INT_EN (0x3f36) ++#define P_DOS_HEVC_INT_EN (volatile unsigned int *)((0x3f36 << 2) + 0xff620000) ++#define DOS_SW_RESET4 (0x3f37) ++#define P_DOS_SW_RESET4 (volatile unsigned int *)((0x3f37 << 2) + 0xff620000) ++#define DOS_GCLK_EN4 (0x3f38) ++#define P_DOS_GCLK_EN4 (volatile unsigned int *)((0x3f38 << 2) + 0xff620000) ++#define DOS_MEM_PD_VP9DEC (0x3f39) ++#define P_DOS_MEM_PD_VP9DEC (volatile unsigned int *)((0x3f39 << 2) + 0xff620000) ++// bit[31] mcrcc_stall_en ++// bit[30:28] Reserved ++// bit[27:20] target_canvas ++// bit[19:10] target_mby ++// bit[ 9: 0] target_mbx ++#define DOS_VDEC_MCRCC_STALL_CTRL (0x3f40) ++#define P_DOS_VDEC_MCRCC_STALL_CTRL (volatile unsigned int *)((0x3f40 << 2) + 0xff620000) ++#define DOS_VDEC_MCRCC_STALL2_CTRL (0x3f42) ++#define P_DOS_VDEC_MCRCC_STALL2_CTRL (volatile unsigned int *)((0x3f42 << 2) + 0xff620000) ++#define DOS_VDEC2_MCRCC_STALL_CTRL (0x3f41) ++#define P_DOS_VDEC2_MCRCC_STALL_CTRL (volatile unsigned int *)((0x3f41 << 2) + 0xff620000) ++#define DOS_VDEC2_MCRCC_STALL2_CTRL (0x3f43) ++#define P_DOS_VDEC2_MCRCC_STALL2_CTRL (volatile unsigned int *)((0x3f43 << 2) + 0xff620000) ++// bit[1] s_clk off ++// bit[0] m_clk off ++#define DOS_CFG_CMPIF_BRIDGE (0x3f44) ++#define P_DOS_CFG_CMPIF_BRIDGE (volatile unsigned int *)((0x3f44 << 2) + 0xff620000) ++#define DOS_SECURE_CTL_INDEX (0x3f80) ++#define P_DOS_SECURE_CTL_INDEX (volatile unsigned int *)((0x3f80 << 2) + 0xff620000) ++#define DOS_SECURE_CTL_DATA (0x3f81) ++#define P_DOS_SECURE_CTL_DATA (volatile unsigned int *)((0x3f81 << 2) + 0xff620000) ++#define DOS_SECURE_REG_NULL (0x3f82) ++#define P_DOS_SECURE_REG_NULL (volatile unsigned int *)((0x3f82 << 2) + 0xff620000) ++// ++// Closing file: ./dos_param.h ++// ++// ++// Reading file: mdec_regs.h ++// ++//======================================================================== ++// MDEC module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_MDEC_CBUS_BASE = 0x09 ++// ----------------------------------------------- ++#define HCODEC_MC_CTRL_REG (0x1900) ++#define P_HCODEC_MC_CTRL_REG (volatile unsigned int *)((0x1900 << 2) + 0xff620000) ++#define HCODEC_MC_MB_INFO (0x1901) ++#define P_HCODEC_MC_MB_INFO (volatile unsigned int *)((0x1901 << 2) + 0xff620000) ++#define HCODEC_MC_PIC_INFO (0x1902) ++#define P_HCODEC_MC_PIC_INFO (volatile unsigned int *)((0x1902 << 2) + 0xff620000) ++#define HCODEC_MC_HALF_PEL_ONE (0x1903) ++#define P_HCODEC_MC_HALF_PEL_ONE (volatile unsigned int *)((0x1903 << 2) + 0xff620000) ++#define HCODEC_MC_HALF_PEL_TWO (0x1904) ++#define P_HCODEC_MC_HALF_PEL_TWO (volatile unsigned int *)((0x1904 << 2) + 0xff620000) ++#define HCODEC_POWER_CTL_MC (0x1905) ++#define P_HCODEC_POWER_CTL_MC (volatile unsigned int *)((0x1905 << 2) + 0xff620000) ++#define HCODEC_MC_CMD (0x1906) ++#define P_HCODEC_MC_CMD (volatile unsigned int *)((0x1906 << 2) + 0xff620000) ++#define HCODEC_MC_CTRL0 (0x1907) ++#define P_HCODEC_MC_CTRL0 (volatile unsigned int *)((0x1907 << 2) + 0xff620000) ++#define HCODEC_MC_PIC_W_H (0x1908) ++#define P_HCODEC_MC_PIC_W_H (volatile unsigned int *)((0x1908 << 2) + 0xff620000) ++#define HCODEC_MC_STATUS0 (0x1909) ++#define P_HCODEC_MC_STATUS0 (volatile unsigned int *)((0x1909 << 2) + 0xff620000) ++#define HCODEC_MC_STATUS1 (0x190a) ++#define P_HCODEC_MC_STATUS1 (volatile unsigned int *)((0x190a << 2) + 0xff620000) ++#define HCODEC_MC_CTRL1 (0x190b) ++#define P_HCODEC_MC_CTRL1 (volatile unsigned int *)((0x190b << 2) + 0xff620000) ++#define HCODEC_MC_MIX_RATIO0 (0x190c) ++#define P_HCODEC_MC_MIX_RATIO0 (volatile unsigned int *)((0x190c << 2) + 0xff620000) ++#define HCODEC_MC_MIX_RATIO1 (0x190d) ++#define P_HCODEC_MC_MIX_RATIO1 (volatile unsigned int *)((0x190d << 2) + 0xff620000) ++#define HCODEC_MC_DP_MB_XY (0x190e) ++#define P_HCODEC_MC_DP_MB_XY (volatile unsigned int *)((0x190e << 2) + 0xff620000) ++#define HCODEC_MC_OM_MB_XY (0x190f) ++#define P_HCODEC_MC_OM_MB_XY (volatile unsigned int *)((0x190f << 2) + 0xff620000) ++#define HCODEC_PSCALE_RST (0x1910) ++#define P_HCODEC_PSCALE_RST (volatile unsigned int *)((0x1910 << 2) + 0xff620000) ++#define HCODEC_PSCALE_CTRL (0x1911) ++#define P_HCODEC_PSCALE_CTRL (volatile unsigned int *)((0x1911 << 2) + 0xff620000) ++#define HCODEC_PSCALE_PICI_W (0x1912) ++#define P_HCODEC_PSCALE_PICI_W (volatile unsigned int *)((0x1912 << 2) + 0xff620000) ++#define HCODEC_PSCALE_PICI_H (0x1913) ++#define P_HCODEC_PSCALE_PICI_H (volatile unsigned int *)((0x1913 << 2) + 0xff620000) ++#define HCODEC_PSCALE_PICO_W (0x1914) ++#define P_HCODEC_PSCALE_PICO_W (volatile unsigned int *)((0x1914 << 2) + 0xff620000) ++#define HCODEC_PSCALE_PICO_H (0x1915) ++#define P_HCODEC_PSCALE_PICO_H (volatile unsigned int *)((0x1915 << 2) + 0xff620000) ++#define HCODEC_PSCALE_PICO_START_X (0x1916) ++#define P_HCODEC_PSCALE_PICO_START_X (volatile unsigned int *)((0x1916 << 2) + 0xff620000) ++#define HCODEC_PSCALE_PICO_START_Y (0x1917) ++#define P_HCODEC_PSCALE_PICO_START_Y (volatile unsigned int *)((0x1917 << 2) + 0xff620000) ++#define HCODEC_PSCALE_DUMMY (0x1918) ++#define P_HCODEC_PSCALE_DUMMY (volatile unsigned int *)((0x1918 << 2) + 0xff620000) ++#define HCODEC_PSCALE_FILT0_COEF0 (0x1919) ++#define P_HCODEC_PSCALE_FILT0_COEF0 (volatile unsigned int *)((0x1919 << 2) + 0xff620000) ++#define HCODEC_PSCALE_FILT0_COEF1 (0x191a) ++#define P_HCODEC_PSCALE_FILT0_COEF1 (volatile unsigned int *)((0x191a << 2) + 0xff620000) ++#define HCODEC_PSCALE_CMD_CTRL (0x191b) ++#define P_HCODEC_PSCALE_CMD_CTRL (volatile unsigned int *)((0x191b << 2) + 0xff620000) ++#define HCODEC_PSCALE_CMD_BLK_X (0x191c) ++#define P_HCODEC_PSCALE_CMD_BLK_X (volatile unsigned int *)((0x191c << 2) + 0xff620000) ++#define HCODEC_PSCALE_CMD_BLK_Y (0x191d) ++#define P_HCODEC_PSCALE_CMD_BLK_Y (volatile unsigned int *)((0x191d << 2) + 0xff620000) ++#define HCODEC_PSCALE_STATUS (0x191e) ++#define P_HCODEC_PSCALE_STATUS (volatile unsigned int *)((0x191e << 2) + 0xff620000) ++#define HCODEC_PSCALE_BMEM_ADDR (0x191f) ++#define P_HCODEC_PSCALE_BMEM_ADDR (volatile unsigned int *)((0x191f << 2) + 0xff620000) ++#define HCODEC_PSCALE_BMEM_DAT (0x1920) ++#define P_HCODEC_PSCALE_BMEM_DAT (volatile unsigned int *)((0x1920 << 2) + 0xff620000) ++#define HCODEC_PSCALE_DRAM_BUF_CTRL (0x1921) ++#define P_HCODEC_PSCALE_DRAM_BUF_CTRL (volatile unsigned int *)((0x1921 << 2) + 0xff620000) ++#define HCODEC_PSCALE_MCMD_CTRL (0x1922) ++#define P_HCODEC_PSCALE_MCMD_CTRL (volatile unsigned int *)((0x1922 << 2) + 0xff620000) ++#define HCODEC_PSCALE_MCMD_XSIZE (0x1923) ++#define P_HCODEC_PSCALE_MCMD_XSIZE (volatile unsigned int *)((0x1923 << 2) + 0xff620000) ++#define HCODEC_PSCALE_MCMD_YSIZE (0x1924) ++#define P_HCODEC_PSCALE_MCMD_YSIZE (volatile unsigned int *)((0x1924 << 2) + 0xff620000) ++#define HCODEC_PSCALE_RBUF_START_BLKX (0x1925) ++#define P_HCODEC_PSCALE_RBUF_START_BLKX (volatile unsigned int *)((0x1925 << 2) + 0xff620000) ++#define HCODEC_PSCALE_RBUF_START_BLKY (0x1926) ++#define P_HCODEC_PSCALE_RBUF_START_BLKY (volatile unsigned int *)((0x1926 << 2) + 0xff620000) ++//`define PSCALE_RBUF_MB_WIDTH 8'h27 ++#define HCODEC_PSCALE_PICO_SHIFT_XY (0x1928) ++#define P_HCODEC_PSCALE_PICO_SHIFT_XY (volatile unsigned int *)((0x1928 << 2) + 0xff620000) ++#define HCODEC_PSCALE_CTRL1 (0x1929) ++#define P_HCODEC_PSCALE_CTRL1 (volatile unsigned int *)((0x1929 << 2) + 0xff620000) ++//Bit 15, wmask enable ++//Bit 14:13, filt0 srckey_less, ++//Bit 12:11, filt1 srckey_less, in the case of the interpolated data is equal distance to ++//key data and normal data, 00: select normal data, 01: select right data, 10: select key data ++//Bit 10:9, srckey mode, 00: equal, 01: less than or equal, 10: great than or equal ++//Bit 8, src key enable ++//Bit 7:0, y src key ++#define HCODEC_PSCALE_SRCKEY_CTRL0 (0x192a) ++#define P_HCODEC_PSCALE_SRCKEY_CTRL0 (volatile unsigned int *)((0x192a << 2) + 0xff620000) ++//Bit 15:8, cb src key ++//Bit 7:0, cr src key ++#define HCODEC_PSCALE_SRCKEY_CTRL1 (0x192b) ++#define P_HCODEC_PSCALE_SRCKEY_CTRL1 (volatile unsigned int *)((0x192b << 2) + 0xff620000) ++//Bit 22:16 canvas_rd_addr2 ++//Bit 14:8 canvas_rd_addr1 ++//Bit 6:0 canvas_rd_addr1 ++#define HCODEC_PSCALE_CANVAS_RD_ADDR (0x192c) ++#define P_HCODEC_PSCALE_CANVAS_RD_ADDR (volatile unsigned int *)((0x192c << 2) + 0xff620000) ++//Bit 22:16 canvas_wr_addr2 ++//Bit 14:8 canvas_wr_addr1 ++//Bit 6:0 canvas_wr_addr1 ++#define HCODEC_PSCALE_CANVAS_WR_ADDR (0x192d) ++#define P_HCODEC_PSCALE_CANVAS_WR_ADDR (volatile unsigned int *)((0x192d << 2) + 0xff620000) ++//bit 13:8 pscale thread ID and token ++//bit 7 disable write response count adding to busy bit ++//bit 5:0 pscale prearbitor burst num ++#define HCODEC_PSCALE_CTRL2 (0x192e) ++#define P_HCODEC_PSCALE_CTRL2 (volatile unsigned int *)((0x192e << 2) + 0xff620000) ++// 31 - use_omem_mb_xy_auto ++//23:16 - omem_max_mb_x ++//15:8 - omem_mb_y_auto ++// 7:0 - omem_mb_x_auto ++#define HCODEC_HDEC_MC_OMEM_AUTO (0x1930) ++#define P_HCODEC_HDEC_MC_OMEM_AUTO (volatile unsigned int *)((0x1930 << 2) + 0xff620000) ++#define HCODEC_HDEC_MC_MBRIGHT_IDX (0x1931) ++#define P_HCODEC_HDEC_MC_MBRIGHT_IDX (volatile unsigned int *)((0x1931 << 2) + 0xff620000) ++#define HCODEC_HDEC_MC_MBRIGHT_RD (0x1932) ++#define P_HCODEC_HDEC_MC_MBRIGHT_RD (volatile unsigned int *)((0x1932 << 2) + 0xff620000) ++#define HCODEC_MC_MPORT_CTRL (0x1940) ++#define P_HCODEC_MC_MPORT_CTRL (volatile unsigned int *)((0x1940 << 2) + 0xff620000) ++#define HCODEC_MC_MPORT_DAT (0x1941) ++#define P_HCODEC_MC_MPORT_DAT (volatile unsigned int *)((0x1941 << 2) + 0xff620000) ++#define HCODEC_MC_WT_PRED_CTRL (0x1942) ++#define P_HCODEC_MC_WT_PRED_CTRL (volatile unsigned int *)((0x1942 << 2) + 0xff620000) ++#define HCODEC_MC_MBBOT_ST_EVEN_ADDR (0x1944) ++#define P_HCODEC_MC_MBBOT_ST_EVEN_ADDR (volatile unsigned int *)((0x1944 << 2) + 0xff620000) ++#define HCODEC_MC_MBBOT_ST_ODD_ADDR (0x1945) ++#define P_HCODEC_MC_MBBOT_ST_ODD_ADDR (volatile unsigned int *)((0x1945 << 2) + 0xff620000) ++#define HCODEC_MC_DPDN_MB_XY (0x1946) ++#define P_HCODEC_MC_DPDN_MB_XY (volatile unsigned int *)((0x1946 << 2) + 0xff620000) ++#define HCODEC_MC_OMDN_MB_XY (0x1947) ++#define P_HCODEC_MC_OMDN_MB_XY (volatile unsigned int *)((0x1947 << 2) + 0xff620000) ++#define HCODEC_MC_HCMDBUF_H (0x1948) ++#define P_HCODEC_MC_HCMDBUF_H (volatile unsigned int *)((0x1948 << 2) + 0xff620000) ++#define HCODEC_MC_HCMDBUF_L (0x1949) ++#define P_HCODEC_MC_HCMDBUF_L (volatile unsigned int *)((0x1949 << 2) + 0xff620000) ++#define HCODEC_MC_HCMD_H (0x194a) ++#define P_HCODEC_MC_HCMD_H (volatile unsigned int *)((0x194a << 2) + 0xff620000) ++#define HCODEC_MC_HCMD_L (0x194b) ++#define P_HCODEC_MC_HCMD_L (volatile unsigned int *)((0x194b << 2) + 0xff620000) ++#define HCODEC_MC_IDCT_DAT (0x194c) ++#define P_HCODEC_MC_IDCT_DAT (volatile unsigned int *)((0x194c << 2) + 0xff620000) ++#define HCODEC_MC_CTRL_GCLK_CTRL (0x194d) ++#define P_HCODEC_MC_CTRL_GCLK_CTRL (volatile unsigned int *)((0x194d << 2) + 0xff620000) ++#define HCODEC_MC_OTHER_GCLK_CTRL (0x194e) ++#define P_HCODEC_MC_OTHER_GCLK_CTRL (volatile unsigned int *)((0x194e << 2) + 0xff620000) ++//Bit 29:24, mbbot thread ID and token ++//Bit 21:16, mc read/write thread ID and token ++//Bit 13:8, mbbot pre-arbitor burst number ++//Bit 5:0, mc pre-arbitor burst number ++#define HCODEC_MC_CTRL2 (0x194f) ++#define P_HCODEC_MC_CTRL2 (volatile unsigned int *)((0x194f << 2) + 0xff620000) ++// `define DBLK_QUANT 8'h76 // ONLY for $ucode/real/amrisc/rv.s, reg value from apollo ++//`define ANC1_CANVAS_ADDR 8'h80 ++//`define ANC2_CANVAS_ADDR 8'h81 ++//`define REC_CANVAS_ADDR 8'h89 ++//`define MDEC_PIC_W 8'h8c ++//`define MDEC_PIC_H 8'h8d ++// mdec_pic_dc_mux_ctrl[31] -- mcr_hevc_mode ++#define HCODEC_MDEC_PIC_DC_MUX_CTRL (0x198d) ++#define P_HCODEC_MDEC_PIC_DC_MUX_CTRL (volatile unsigned int *)((0x198d << 2) + 0xff620000) ++#define HCODEC_MDEC_PIC_DC_CTRL (0x198e) ++#define P_HCODEC_MDEC_PIC_DC_CTRL (volatile unsigned int *)((0x198e << 2) + 0xff620000) ++#define HCODEC_MDEC_PIC_DC_STATUS (0x198f) ++#define P_HCODEC_MDEC_PIC_DC_STATUS (volatile unsigned int *)((0x198f << 2) + 0xff620000) ++#define HCODEC_ANC0_CANVAS_ADDR (0x1990) ++#define P_HCODEC_ANC0_CANVAS_ADDR (volatile unsigned int *)((0x1990 << 2) + 0xff620000) ++#define HCODEC_ANC1_CANVAS_ADDR (0x1991) ++#define P_HCODEC_ANC1_CANVAS_ADDR (volatile unsigned int *)((0x1991 << 2) + 0xff620000) ++#define HCODEC_ANC2_CANVAS_ADDR (0x1992) ++#define P_HCODEC_ANC2_CANVAS_ADDR (volatile unsigned int *)((0x1992 << 2) + 0xff620000) ++#define HCODEC_ANC3_CANVAS_ADDR (0x1993) ++#define P_HCODEC_ANC3_CANVAS_ADDR (volatile unsigned int *)((0x1993 << 2) + 0xff620000) ++#define HCODEC_ANC4_CANVAS_ADDR (0x1994) ++#define P_HCODEC_ANC4_CANVAS_ADDR (volatile unsigned int *)((0x1994 << 2) + 0xff620000) ++#define HCODEC_ANC5_CANVAS_ADDR (0x1995) ++#define P_HCODEC_ANC5_CANVAS_ADDR (volatile unsigned int *)((0x1995 << 2) + 0xff620000) ++#define HCODEC_ANC6_CANVAS_ADDR (0x1996) ++#define P_HCODEC_ANC6_CANVAS_ADDR (volatile unsigned int *)((0x1996 << 2) + 0xff620000) ++#define HCODEC_ANC7_CANVAS_ADDR (0x1997) ++#define P_HCODEC_ANC7_CANVAS_ADDR (volatile unsigned int *)((0x1997 << 2) + 0xff620000) ++#define HCODEC_ANC8_CANVAS_ADDR (0x1998) ++#define P_HCODEC_ANC8_CANVAS_ADDR (volatile unsigned int *)((0x1998 << 2) + 0xff620000) ++#define HCODEC_ANC9_CANVAS_ADDR (0x1999) ++#define P_HCODEC_ANC9_CANVAS_ADDR (volatile unsigned int *)((0x1999 << 2) + 0xff620000) ++#define HCODEC_ANC10_CANVAS_ADDR (0x199a) ++#define P_HCODEC_ANC10_CANVAS_ADDR (volatile unsigned int *)((0x199a << 2) + 0xff620000) ++#define HCODEC_ANC11_CANVAS_ADDR (0x199b) ++#define P_HCODEC_ANC11_CANVAS_ADDR (volatile unsigned int *)((0x199b << 2) + 0xff620000) ++#define HCODEC_ANC12_CANVAS_ADDR (0x199c) ++#define P_HCODEC_ANC12_CANVAS_ADDR (volatile unsigned int *)((0x199c << 2) + 0xff620000) ++#define HCODEC_ANC13_CANVAS_ADDR (0x199d) ++#define P_HCODEC_ANC13_CANVAS_ADDR (volatile unsigned int *)((0x199d << 2) + 0xff620000) ++#define HCODEC_ANC14_CANVAS_ADDR (0x199e) ++#define P_HCODEC_ANC14_CANVAS_ADDR (volatile unsigned int *)((0x199e << 2) + 0xff620000) ++#define HCODEC_ANC15_CANVAS_ADDR (0x199f) ++#define P_HCODEC_ANC15_CANVAS_ADDR (volatile unsigned int *)((0x199f << 2) + 0xff620000) ++#define HCODEC_ANC16_CANVAS_ADDR (0x19a0) ++#define P_HCODEC_ANC16_CANVAS_ADDR (volatile unsigned int *)((0x19a0 << 2) + 0xff620000) ++#define HCODEC_ANC17_CANVAS_ADDR (0x19a1) ++#define P_HCODEC_ANC17_CANVAS_ADDR (volatile unsigned int *)((0x19a1 << 2) + 0xff620000) ++#define HCODEC_ANC18_CANVAS_ADDR (0x19a2) ++#define P_HCODEC_ANC18_CANVAS_ADDR (volatile unsigned int *)((0x19a2 << 2) + 0xff620000) ++#define HCODEC_ANC19_CANVAS_ADDR (0x19a3) ++#define P_HCODEC_ANC19_CANVAS_ADDR (volatile unsigned int *)((0x19a3 << 2) + 0xff620000) ++#define HCODEC_ANC20_CANVAS_ADDR (0x19a4) ++#define P_HCODEC_ANC20_CANVAS_ADDR (volatile unsigned int *)((0x19a4 << 2) + 0xff620000) ++#define HCODEC_ANC21_CANVAS_ADDR (0x19a5) ++#define P_HCODEC_ANC21_CANVAS_ADDR (volatile unsigned int *)((0x19a5 << 2) + 0xff620000) ++#define HCODEC_ANC22_CANVAS_ADDR (0x19a6) ++#define P_HCODEC_ANC22_CANVAS_ADDR (volatile unsigned int *)((0x19a6 << 2) + 0xff620000) ++#define HCODEC_ANC23_CANVAS_ADDR (0x19a7) ++#define P_HCODEC_ANC23_CANVAS_ADDR (volatile unsigned int *)((0x19a7 << 2) + 0xff620000) ++#define HCODEC_ANC24_CANVAS_ADDR (0x19a8) ++#define P_HCODEC_ANC24_CANVAS_ADDR (volatile unsigned int *)((0x19a8 << 2) + 0xff620000) ++#define HCODEC_ANC25_CANVAS_ADDR (0x19a9) ++#define P_HCODEC_ANC25_CANVAS_ADDR (volatile unsigned int *)((0x19a9 << 2) + 0xff620000) ++#define HCODEC_ANC26_CANVAS_ADDR (0x19aa) ++#define P_HCODEC_ANC26_CANVAS_ADDR (volatile unsigned int *)((0x19aa << 2) + 0xff620000) ++#define HCODEC_ANC27_CANVAS_ADDR (0x19ab) ++#define P_HCODEC_ANC27_CANVAS_ADDR (volatile unsigned int *)((0x19ab << 2) + 0xff620000) ++#define HCODEC_ANC28_CANVAS_ADDR (0x19ac) ++#define P_HCODEC_ANC28_CANVAS_ADDR (volatile unsigned int *)((0x19ac << 2) + 0xff620000) ++#define HCODEC_ANC29_CANVAS_ADDR (0x19ad) ++#define P_HCODEC_ANC29_CANVAS_ADDR (volatile unsigned int *)((0x19ad << 2) + 0xff620000) ++#define HCODEC_ANC30_CANVAS_ADDR (0x19ae) ++#define P_HCODEC_ANC30_CANVAS_ADDR (volatile unsigned int *)((0x19ae << 2) + 0xff620000) ++#define HCODEC_ANC31_CANVAS_ADDR (0x19af) ++#define P_HCODEC_ANC31_CANVAS_ADDR (volatile unsigned int *)((0x19af << 2) + 0xff620000) ++#define HCODEC_DBKR_CANVAS_ADDR (0x19b0) ++#define P_HCODEC_DBKR_CANVAS_ADDR (volatile unsigned int *)((0x19b0 << 2) + 0xff620000) ++#define HCODEC_DBKW_CANVAS_ADDR (0x19b1) ++#define P_HCODEC_DBKW_CANVAS_ADDR (volatile unsigned int *)((0x19b1 << 2) + 0xff620000) ++#define HCODEC_REC_CANVAS_ADDR (0x19b2) ++#define P_HCODEC_REC_CANVAS_ADDR (volatile unsigned int *)((0x19b2 << 2) + 0xff620000) ++//28:24, read/write, current canvas idx, used in h264 only now ++//23:0, read only, current canvas address, 23:16, Cr canvas addr, 15:8, Cb canvas addr, 7:0, Y canvas addr ++#define HCODEC_CURR_CANVAS_CTRL (0x19b3) ++#define P_HCODEC_CURR_CANVAS_CTRL (volatile unsigned int *)((0x19b3 << 2) + 0xff620000) ++#define HCODEC_MDEC_PIC_DC_THRESH (0x19b8) ++#define P_HCODEC_MDEC_PIC_DC_THRESH (volatile unsigned int *)((0x19b8 << 2) + 0xff620000) ++#define HCODEC_MDEC_PICR_BUF_STATUS (0x19b9) ++#define P_HCODEC_MDEC_PICR_BUF_STATUS (volatile unsigned int *)((0x19b9 << 2) + 0xff620000) ++#define HCODEC_MDEC_PICW_BUF_STATUS (0x19ba) ++#define P_HCODEC_MDEC_PICW_BUF_STATUS (volatile unsigned int *)((0x19ba << 2) + 0xff620000) ++#define HCODEC_MCW_DBLK_WRRSP_CNT (0x19bb) ++#define P_HCODEC_MCW_DBLK_WRRSP_CNT (volatile unsigned int *)((0x19bb << 2) + 0xff620000) ++#define HCODEC_MC_MBBOT_WRRSP_CNT (0x19bc) ++#define P_HCODEC_MC_MBBOT_WRRSP_CNT (volatile unsigned int *)((0x19bc << 2) + 0xff620000) ++#define HCODEC_MDEC_PICW_BUF2_STATUS (0x19bd) ++#define P_HCODEC_MDEC_PICW_BUF2_STATUS (volatile unsigned int *)((0x19bd << 2) + 0xff620000) ++#define HCODEC_WRRSP_FIFO_PICW_DBK (0x19be) ++#define P_HCODEC_WRRSP_FIFO_PICW_DBK (volatile unsigned int *)((0x19be << 2) + 0xff620000) ++#define HCODEC_WRRSP_FIFO_PICW_MC (0x19bf) ++#define P_HCODEC_WRRSP_FIFO_PICW_MC (volatile unsigned int *)((0x19bf << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_0 (0x19c0) ++#define P_HCODEC_AV_SCRATCH_0 (volatile unsigned int *)((0x19c0 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_1 (0x19c1) ++#define P_HCODEC_AV_SCRATCH_1 (volatile unsigned int *)((0x19c1 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_2 (0x19c2) ++#define P_HCODEC_AV_SCRATCH_2 (volatile unsigned int *)((0x19c2 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_3 (0x19c3) ++#define P_HCODEC_AV_SCRATCH_3 (volatile unsigned int *)((0x19c3 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_4 (0x19c4) ++#define P_HCODEC_AV_SCRATCH_4 (volatile unsigned int *)((0x19c4 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_5 (0x19c5) ++#define P_HCODEC_AV_SCRATCH_5 (volatile unsigned int *)((0x19c5 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_6 (0x19c6) ++#define P_HCODEC_AV_SCRATCH_6 (volatile unsigned int *)((0x19c6 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_7 (0x19c7) ++#define P_HCODEC_AV_SCRATCH_7 (volatile unsigned int *)((0x19c7 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_8 (0x19c8) ++#define P_HCODEC_AV_SCRATCH_8 (volatile unsigned int *)((0x19c8 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_9 (0x19c9) ++#define P_HCODEC_AV_SCRATCH_9 (volatile unsigned int *)((0x19c9 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_A (0x19ca) ++#define P_HCODEC_AV_SCRATCH_A (volatile unsigned int *)((0x19ca << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_B (0x19cb) ++#define P_HCODEC_AV_SCRATCH_B (volatile unsigned int *)((0x19cb << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_C (0x19cc) ++#define P_HCODEC_AV_SCRATCH_C (volatile unsigned int *)((0x19cc << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_D (0x19cd) ++#define P_HCODEC_AV_SCRATCH_D (volatile unsigned int *)((0x19cd << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_E (0x19ce) ++#define P_HCODEC_AV_SCRATCH_E (volatile unsigned int *)((0x19ce << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_F (0x19cf) ++#define P_HCODEC_AV_SCRATCH_F (volatile unsigned int *)((0x19cf << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_G (0x19d0) ++#define P_HCODEC_AV_SCRATCH_G (volatile unsigned int *)((0x19d0 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_H (0x19d1) ++#define P_HCODEC_AV_SCRATCH_H (volatile unsigned int *)((0x19d1 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_I (0x19d2) ++#define P_HCODEC_AV_SCRATCH_I (volatile unsigned int *)((0x19d2 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_J (0x19d3) ++#define P_HCODEC_AV_SCRATCH_J (volatile unsigned int *)((0x19d3 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_K (0x19d4) ++#define P_HCODEC_AV_SCRATCH_K (volatile unsigned int *)((0x19d4 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_L (0x19d5) ++#define P_HCODEC_AV_SCRATCH_L (volatile unsigned int *)((0x19d5 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_M (0x19d6) ++#define P_HCODEC_AV_SCRATCH_M (volatile unsigned int *)((0x19d6 << 2) + 0xff620000) ++#define HCODEC_AV_SCRATCH_N (0x19d7) ++#define P_HCODEC_AV_SCRATCH_N (volatile unsigned int *)((0x19d7 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_co_mb ++// bit[21:16] A_id_co_mb ++// bit[11:0] wrrsp_count_co_mb ++#define HCODEC_WRRSP_CO_MB (0x19d8) ++#define P_HCODEC_WRRSP_CO_MB (volatile unsigned int *)((0x19d8 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_dcac ++// bit[21:16] A_id_dcac ++// bit[11:0] wrrsp_count_dcac ++#define HCODEC_WRRSP_DCAC (0x19d9) ++#define P_HCODEC_WRRSP_DCAC (volatile unsigned int *)((0x19d9 << 2) + 0xff620000) ++// bit[11:0] wrrsp_count_vld ++#define HCODEC_WRRSP_VLD (0x19da) ++#define P_HCODEC_WRRSP_VLD (volatile unsigned int *)((0x19da << 2) + 0xff620000) ++// doublew_cfg0[0]; // Second Channel Enable, 1:Enable 0:Disable ++// doublew_cfg0[3:1]; // [2:0] Endian Control for Luma ++// doublew_cfg0[5:4]; // [1:0] Pixel sel by horizontal, 0x:1/2 10:left 11:right ++// doublew_cfg0[7:6]; // [1:0] Pixel sel by vertical, 0x:1/2 10:up 11:down ++// doublew_cfg0[8]; // Size by horizontal, 0:original size 1: 1/2 shrunken size ++// doublew_cfg0[9]; // Size by vertical, 0:original size 1: 1/2 shrunken size ++// doublew_cfg0[10]; // 1:Round 0:Truncation ++// doublew_cfg0[11]; // DMA Urgent ++// doublew_cfg0[17:12]; // [5:0] DMA Burst Number ++// doublew_cfg0[23:18]; // [5:0] DMA ID ++// doublew_cfg0[26:24]; // [2:0] Endian Control for Chroma ++// doublew_cfg0[27]; // Source from, 1:MCW 0:DBLK ++// doublew_cfg0[29:28]; // [1:0] 0x:select both top and bottom 10:select top 11:select bottom ++// doublew_cfg0[30]; // 0:no merge 1:automatic merge ++// doublew_cfg0[31]; // 0:Y addr no change 1:Y addr divided to half ++#define HCODEC_MDEC_DOUBLEW_CFG0 (0x19db) ++#define P_HCODEC_MDEC_DOUBLEW_CFG0 (volatile unsigned int *)((0x19db << 2) + 0xff620000) ++// doublew_cfg1[7:0]; // [7:0] DMA Canvas Address for Luma ++// doublew_cfg1[15:8]; // [7:0] DMA Canvas Address for Chroma ++// doublew_cfg1[16]; // Disable 1st Write - ++// doublew_cfg1[17]; // Reverse to original version - ++// doublew_cfg1[18]; // DMA Address Mode - 0:Canvas Mode 1:Non-Canvas Mode ++#define HCODEC_MDEC_DOUBLEW_CFG1 (0x19dc) ++#define P_HCODEC_MDEC_DOUBLEW_CFG1 (volatile unsigned int *)((0x19dc << 2) + 0xff620000) ++// doublew_cfg2[11:0]; //[11:0] vertical flip initial value ++// doublew_cfg2[15]; // vertical flip enable ++// doublew_cfg2[24:16]; // [8:0] horizontal flip initial value ++// doublew_cfg2[31]; // horizontal flip enable ++#define HCODEC_MDEC_DOUBLEW_CFG2 (0x19dd) ++#define P_HCODEC_MDEC_DOUBLEW_CFG2 (volatile unsigned int *)((0x19dd << 2) + 0xff620000) ++// doublew_cfg3[31:0]; //[31:0] non-canvas start address for Luma - ++#define HCODEC_MDEC_DOUBLEW_CFG3 (0x19de) ++#define P_HCODEC_MDEC_DOUBLEW_CFG3 (volatile unsigned int *)((0x19de << 2) + 0xff620000) ++// doublew_cfg4[31:0]; //[31:0] non-canvas start address for Chroma - ++#define HCODEC_MDEC_DOUBLEW_CFG4 (0x19df) ++#define P_HCODEC_MDEC_DOUBLEW_CFG4 (volatile unsigned int *)((0x19df << 2) + 0xff620000) ++// doublew_cfg5[12:0]; //[12:0] non-canvas picture width for Luma - ++// doublew_cfg5[28:16]; //[12:0] non-canvas picture width for Chroma - ++#define HCODEC_MDEC_DOUBLEW_CFG5 (0x19e0) ++#define P_HCODEC_MDEC_DOUBLEW_CFG5 (volatile unsigned int *)((0x19e0 << 2) + 0xff620000) ++// doublew_cfg6: reserved ++#define HCODEC_MDEC_DOUBLEW_CFG6 (0x19e1) ++#define P_HCODEC_MDEC_DOUBLEW_CFG6 (volatile unsigned int *)((0x19e1 << 2) + 0xff620000) ++// doublew_cfg7: reserved ++#define HCODEC_MDEC_DOUBLEW_CFG7 (0x19e2) ++#define P_HCODEC_MDEC_DOUBLEW_CFG7 (volatile unsigned int *)((0x19e2 << 2) + 0xff620000) ++// doublew_status[11:0];//[11:0] wrrsp_count_doublew ++// doublew_status[12]; // doublew_status_busy ++// doublew_status[13]; // doublew_status_error ++#define HCODEC_MDEC_DOUBLEW_STATUS (0x19e3) ++#define P_HCODEC_MDEC_DOUBLEW_STATUS (volatile unsigned int *)((0x19e3 << 2) + 0xff620000) ++#define HCODEC_MDEC_EXTIF_CFG0 (0x19e4) ++#define P_HCODEC_MDEC_EXTIF_CFG0 (volatile unsigned int *)((0x19e4 << 2) + 0xff620000) ++#define HCODEC_MDEC_EXTIF_CFG1 (0x19e5) ++#define P_HCODEC_MDEC_EXTIF_CFG1 (volatile unsigned int *)((0x19e5 << 2) + 0xff620000) ++#define HCODEC_MDEC_EXTIF_STS0 (0x19e6) ++#define P_HCODEC_MDEC_EXTIF_STS0 (volatile unsigned int *)((0x19e6 << 2) + 0xff620000) ++//====================================== ++// MC Control Register Bits ++// ++//====================================== ++// For bits, just copy the defines...don't translate to addresses ++ //`define MC_RESET 16'h0002 ++//====================================== ++// MB Info Register Bits ++// ++//====================================== ++//====================================== ++// MB Info Register Bits ++// ++//====================================== ++//======================================================================== ++// DBLK Register: 12'h950 - 12'h97f ++//======================================================================== ++#define HCODEC_DBLK_RST (0x1950) ++#define P_HCODEC_DBLK_RST (volatile unsigned int *)((0x1950 << 2) + 0xff620000) ++#define HCODEC_DBLK_CTRL (0x1951) ++#define P_HCODEC_DBLK_CTRL (volatile unsigned int *)((0x1951 << 2) + 0xff620000) ++#define HCODEC_DBLK_MB_WID_HEIGHT (0x1952) ++#define P_HCODEC_DBLK_MB_WID_HEIGHT (volatile unsigned int *)((0x1952 << 2) + 0xff620000) ++#define HCODEC_DBLK_STATUS (0x1953) ++#define P_HCODEC_DBLK_STATUS (volatile unsigned int *)((0x1953 << 2) + 0xff620000) ++#define HCODEC_DBLK_CMD_CTRL (0x1954) ++#define P_HCODEC_DBLK_CMD_CTRL (volatile unsigned int *)((0x1954 << 2) + 0xff620000) ++#define HCODEC_DBLK_MB_XY (0x1955) ++#define P_HCODEC_DBLK_MB_XY (volatile unsigned int *)((0x1955 << 2) + 0xff620000) ++#define HCODEC_DBLK_QP (0x1956) ++#define P_HCODEC_DBLK_QP (volatile unsigned int *)((0x1956 << 2) + 0xff620000) ++#define HCODEC_DBLK_Y_BHFILT (0x1957) ++#define P_HCODEC_DBLK_Y_BHFILT (volatile unsigned int *)((0x1957 << 2) + 0xff620000) ++#define HCODEC_DBLK_Y_BHFILT_HIGH (0x1958) ++#define P_HCODEC_DBLK_Y_BHFILT_HIGH (volatile unsigned int *)((0x1958 << 2) + 0xff620000) ++#define HCODEC_DBLK_Y_BVFILT (0x1959) ++#define P_HCODEC_DBLK_Y_BVFILT (volatile unsigned int *)((0x1959 << 2) + 0xff620000) ++#define HCODEC_DBLK_CB_BFILT (0x195a) ++#define P_HCODEC_DBLK_CB_BFILT (volatile unsigned int *)((0x195a << 2) + 0xff620000) ++#define HCODEC_DBLK_CR_BFILT (0x195b) ++#define P_HCODEC_DBLK_CR_BFILT (volatile unsigned int *)((0x195b << 2) + 0xff620000) ++#define HCODEC_DBLK_Y_HFILT (0x195c) ++#define P_HCODEC_DBLK_Y_HFILT (volatile unsigned int *)((0x195c << 2) + 0xff620000) ++#define HCODEC_DBLK_Y_HFILT_HIGH (0x195d) ++#define P_HCODEC_DBLK_Y_HFILT_HIGH (volatile unsigned int *)((0x195d << 2) + 0xff620000) ++#define HCODEC_DBLK_Y_VFILT (0x195e) ++#define P_HCODEC_DBLK_Y_VFILT (volatile unsigned int *)((0x195e << 2) + 0xff620000) ++#define HCODEC_DBLK_CB_FILT (0x195f) ++#define P_HCODEC_DBLK_CB_FILT (volatile unsigned int *)((0x195f << 2) + 0xff620000) ++#define HCODEC_DBLK_CR_FILT (0x1960) ++#define P_HCODEC_DBLK_CR_FILT (volatile unsigned int *)((0x1960 << 2) + 0xff620000) ++#define HCODEC_DBLK_BETAX_QP_SEL (0x1961) ++#define P_HCODEC_DBLK_BETAX_QP_SEL (volatile unsigned int *)((0x1961 << 2) + 0xff620000) ++#define HCODEC_DBLK_CLIP_CTRL0 (0x1962) ++#define P_HCODEC_DBLK_CLIP_CTRL0 (volatile unsigned int *)((0x1962 << 2) + 0xff620000) ++#define HCODEC_DBLK_CLIP_CTRL1 (0x1963) ++#define P_HCODEC_DBLK_CLIP_CTRL1 (volatile unsigned int *)((0x1963 << 2) + 0xff620000) ++#define HCODEC_DBLK_CLIP_CTRL2 (0x1964) ++#define P_HCODEC_DBLK_CLIP_CTRL2 (volatile unsigned int *)((0x1964 << 2) + 0xff620000) ++#define HCODEC_DBLK_CLIP_CTRL3 (0x1965) ++#define P_HCODEC_DBLK_CLIP_CTRL3 (volatile unsigned int *)((0x1965 << 2) + 0xff620000) ++#define HCODEC_DBLK_CLIP_CTRL4 (0x1966) ++#define P_HCODEC_DBLK_CLIP_CTRL4 (volatile unsigned int *)((0x1966 << 2) + 0xff620000) ++#define HCODEC_DBLK_CLIP_CTRL5 (0x1967) ++#define P_HCODEC_DBLK_CLIP_CTRL5 (volatile unsigned int *)((0x1967 << 2) + 0xff620000) ++#define HCODEC_DBLK_CLIP_CTRL6 (0x1968) ++#define P_HCODEC_DBLK_CLIP_CTRL6 (volatile unsigned int *)((0x1968 << 2) + 0xff620000) ++#define HCODEC_DBLK_CLIP_CTRL7 (0x1969) ++#define P_HCODEC_DBLK_CLIP_CTRL7 (volatile unsigned int *)((0x1969 << 2) + 0xff620000) ++#define HCODEC_DBLK_CLIP_CTRL8 (0x196a) ++#define P_HCODEC_DBLK_CLIP_CTRL8 (volatile unsigned int *)((0x196a << 2) + 0xff620000) ++#define HCODEC_DBLK_STATUS1 (0x196b) ++#define P_HCODEC_DBLK_STATUS1 (volatile unsigned int *)((0x196b << 2) + 0xff620000) ++#define HCODEC_DBLK_GCLK_FREE (0x196c) ++#define P_HCODEC_DBLK_GCLK_FREE (volatile unsigned int *)((0x196c << 2) + 0xff620000) ++#define HCODEC_DBLK_GCLK_OFF (0x196d) ++#define P_HCODEC_DBLK_GCLK_OFF (volatile unsigned int *)((0x196d << 2) + 0xff620000) ++#define HCODEC_DBLK_AVSFLAGS (0x196e) ++#define P_HCODEC_DBLK_AVSFLAGS (volatile unsigned int *)((0x196e << 2) + 0xff620000) ++// bit 15:0 ++#define HCODEC_DBLK_CBPY (0x1970) ++#define P_HCODEC_DBLK_CBPY (volatile unsigned int *)((0x1970 << 2) + 0xff620000) ++// bit 11:8 -- deblk_cbpy_bottom ++// bit 7:4 -- deblk_cbpy_left ++// bit 3:0 -- deblk_cbpy_top ++#define HCODEC_DBLK_CBPY_ADJ (0x1971) ++#define P_HCODEC_DBLK_CBPY_ADJ (volatile unsigned int *)((0x1971 << 2) + 0xff620000) ++// bit 7:0 -- deblk_cbpc ++#define HCODEC_DBLK_CBPC (0x1972) ++#define P_HCODEC_DBLK_CBPC (volatile unsigned int *)((0x1972 << 2) + 0xff620000) ++// bit 15 -- bottom_mb ++// bit 14 -- left_mb ++// bit 13 -- top_mb ++// bit 12 -- reserved ++// bit 11:8 -- deblk_cbpc_bottom ++// bit 7:4 -- deblk_cbpc_left ++// bit 3:0 -- deblk_cbpc_top ++#define HCODEC_DBLK_CBPC_ADJ (0x1973) ++#define P_HCODEC_DBLK_CBPC_ADJ (volatile unsigned int *)((0x1973 << 2) + 0xff620000) ++// bit 15:8 -- deblk_hmvd -- {left_1, left_0, below_1, below_0, block3-0} ++// bit 7:0 -- deblk_vmvd -- {top_1, top_0, below_1, below_0, block3-0} ++#define HCODEC_DBLK_VHMVD (0x1974) ++#define P_HCODEC_DBLK_VHMVD (volatile unsigned int *)((0x1974 << 2) + 0xff620000) ++// bit 13:12 -- right_vmvd ++// bit 11 -- right_above_vmvd ++// bit 10 -- left_below_hmvd ++// bit 9 -- disable_dblk_luma ++// bit 8 -- disable_dblk_chroma ++// bit 7 -- bBelowRefDiff ++// bit 6 -- bLeftRefDiff ++// bit 5 -- bAboveRefDiff ++// bit 4 -- reserved ++// bit 3 -- s_below ++// bit 2 -- s_left ++// bit 1 -- s_above ++// bit 0 -- s ++#define HCODEC_DBLK_STRONG (0x1975) ++#define P_HCODEC_DBLK_STRONG (volatile unsigned int *)((0x1975 << 2) + 0xff620000) ++// bit 14:10 -- PQUANT ++// bit 9:5 -- left_PQUANT ++// bit 4:0 -- top_PQUANT ++#define HCODEC_DBLK_RV8_QUANT (0x1976) ++#define P_HCODEC_DBLK_RV8_QUANT (volatile unsigned int *)((0x1976 << 2) + 0xff620000) ++#define HCODEC_DBLK_CBUS_HCMD2 (0x1977) ++#define P_HCODEC_DBLK_CBUS_HCMD2 (volatile unsigned int *)((0x1977 << 2) + 0xff620000) ++#define HCODEC_DBLK_CBUS_HCMD1 (0x1978) ++#define P_HCODEC_DBLK_CBUS_HCMD1 (volatile unsigned int *)((0x1978 << 2) + 0xff620000) ++#define HCODEC_DBLK_CBUS_HCMD0 (0x1979) ++#define P_HCODEC_DBLK_CBUS_HCMD0 (volatile unsigned int *)((0x1979 << 2) + 0xff620000) ++#define HCODEC_DBLK_VLD_HCMD2 (0x197a) ++#define P_HCODEC_DBLK_VLD_HCMD2 (volatile unsigned int *)((0x197a << 2) + 0xff620000) ++#define HCODEC_DBLK_VLD_HCMD1 (0x197b) ++#define P_HCODEC_DBLK_VLD_HCMD1 (volatile unsigned int *)((0x197b << 2) + 0xff620000) ++#define HCODEC_DBLK_VLD_HCMD0 (0x197c) ++#define P_HCODEC_DBLK_VLD_HCMD0 (volatile unsigned int *)((0x197c << 2) + 0xff620000) ++#define HCODEC_DBLK_OST_YBASE (0x197d) ++#define P_HCODEC_DBLK_OST_YBASE (volatile unsigned int *)((0x197d << 2) + 0xff620000) ++#define HCODEC_DBLK_OST_CBCRDIFF (0x197e) ++#define P_HCODEC_DBLK_OST_CBCRDIFF (volatile unsigned int *)((0x197e << 2) + 0xff620000) ++//13:8 dblk thread ID and token ++//5:0 dblk prearbitor burst num ++#define HCODEC_DBLK_CTRL1 (0x197f) ++#define P_HCODEC_DBLK_CTRL1 (volatile unsigned int *)((0x197f << 2) + 0xff620000) ++// MCRCC_CTL1 ++// 31:3 ++// 2 ++// 1 ++// 0 ++#define HCODEC_MCRCC_CTL1 (0x1980) ++#define P_HCODEC_MCRCC_CTL1 (volatile unsigned int *)((0x1980 << 2) + 0xff620000) ++// MCRCC_CTL2 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define HCODEC_MCRCC_CTL2 (0x1981) ++#define P_HCODEC_MCRCC_CTL2 (volatile unsigned int *)((0x1981 << 2) + 0xff620000) ++// MCRCC_CTL3 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define HCODEC_MCRCC_CTL3 (0x1982) ++#define P_HCODEC_MCRCC_CTL3 (volatile unsigned int *)((0x1982 << 2) + 0xff620000) ++// bit[31:10] reserved ++// bit[9:0] sw_clock_gating control ++// [9] vdec clk_en for assist and cbus. ++// [8] vdec clk_en for ddr ++// [7] vdec clk_en for vcpu ++// [6] vdec clk_en for assist ++// [5] vdec clk_en for dblk ++// [4] vdec clk_en for iqidct ++// [3] vdec clk_en for mc ++// [2] vdec clk_en for pic_dc ++// [1] vdec clk_en for psc ++// [0] vdec clk_en for vld ++#define HCODEC_GCLK_EN (0x1983) ++#define P_HCODEC_GCLK_EN (volatile unsigned int *)((0x1983 << 2) + 0xff620000) ++// [0] Reserved ++// [1] Reserved ++// [2] Reset assist, mdec's CBUS ++// [3] Reset mdec's VLD ++// [4] Reset mdec's VLD ++// [5] Reset mdec's VLD ++// [6] Reset mdec's IQIDCT ++// [7] Reset mdec's MC ++// [8] Reset mdec's DBLK ++// [9] Reset mdec's PIC_DC ++// [10] Reset mdec's Pscale ++// [11] Reset vcpu's MCPU ++// [12] Reset vcpu's CCPU ++// [13] Reset mmc_pre_arb ++#define HCODEC_MDEC_SW_RESET (0x1984) ++#define P_HCODEC_MDEC_SW_RESET (volatile unsigned int *)((0x1984 << 2) + 0xff620000) ++//DBLK last address 12'h97f ++// ++// Closing file: mdec_regs.h ++// ++// ++// Reading file: mdec_regs.h ++// ++//======================================================================== ++// MDEC module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_MDEC_CBUS_BASE = 0x09 ++// ----------------------------------------------- ++#define VDEC2_MC_CTRL_REG (0x2900) ++#define P_VDEC2_MC_CTRL_REG (volatile unsigned int *)((0x2900 << 2) + 0xff620000) ++#define VDEC2_MC_MB_INFO (0x2901) ++#define P_VDEC2_MC_MB_INFO (volatile unsigned int *)((0x2901 << 2) + 0xff620000) ++#define VDEC2_MC_PIC_INFO (0x2902) ++#define P_VDEC2_MC_PIC_INFO (volatile unsigned int *)((0x2902 << 2) + 0xff620000) ++#define VDEC2_MC_HALF_PEL_ONE (0x2903) ++#define P_VDEC2_MC_HALF_PEL_ONE (volatile unsigned int *)((0x2903 << 2) + 0xff620000) ++#define VDEC2_MC_HALF_PEL_TWO (0x2904) ++#define P_VDEC2_MC_HALF_PEL_TWO (volatile unsigned int *)((0x2904 << 2) + 0xff620000) ++#define VDEC2_POWER_CTL_MC (0x2905) ++#define P_VDEC2_POWER_CTL_MC (volatile unsigned int *)((0x2905 << 2) + 0xff620000) ++#define VDEC2_MC_CMD (0x2906) ++#define P_VDEC2_MC_CMD (volatile unsigned int *)((0x2906 << 2) + 0xff620000) ++#define VDEC2_MC_CTRL0 (0x2907) ++#define P_VDEC2_MC_CTRL0 (volatile unsigned int *)((0x2907 << 2) + 0xff620000) ++#define VDEC2_MC_PIC_W_H (0x2908) ++#define P_VDEC2_MC_PIC_W_H (volatile unsigned int *)((0x2908 << 2) + 0xff620000) ++#define VDEC2_MC_STATUS0 (0x2909) ++#define P_VDEC2_MC_STATUS0 (volatile unsigned int *)((0x2909 << 2) + 0xff620000) ++#define VDEC2_MC_STATUS1 (0x290a) ++#define P_VDEC2_MC_STATUS1 (volatile unsigned int *)((0x290a << 2) + 0xff620000) ++#define VDEC2_MC_CTRL1 (0x290b) ++#define P_VDEC2_MC_CTRL1 (volatile unsigned int *)((0x290b << 2) + 0xff620000) ++#define VDEC2_MC_MIX_RATIO0 (0x290c) ++#define P_VDEC2_MC_MIX_RATIO0 (volatile unsigned int *)((0x290c << 2) + 0xff620000) ++#define VDEC2_MC_MIX_RATIO1 (0x290d) ++#define P_VDEC2_MC_MIX_RATIO1 (volatile unsigned int *)((0x290d << 2) + 0xff620000) ++#define VDEC2_MC_DP_MB_XY (0x290e) ++#define P_VDEC2_MC_DP_MB_XY (volatile unsigned int *)((0x290e << 2) + 0xff620000) ++#define VDEC2_MC_OM_MB_XY (0x290f) ++#define P_VDEC2_MC_OM_MB_XY (volatile unsigned int *)((0x290f << 2) + 0xff620000) ++#define VDEC2_PSCALE_RST (0x2910) ++#define P_VDEC2_PSCALE_RST (volatile unsigned int *)((0x2910 << 2) + 0xff620000) ++#define VDEC2_PSCALE_CTRL (0x2911) ++#define P_VDEC2_PSCALE_CTRL (volatile unsigned int *)((0x2911 << 2) + 0xff620000) ++#define VDEC2_PSCALE_PICI_W (0x2912) ++#define P_VDEC2_PSCALE_PICI_W (volatile unsigned int *)((0x2912 << 2) + 0xff620000) ++#define VDEC2_PSCALE_PICI_H (0x2913) ++#define P_VDEC2_PSCALE_PICI_H (volatile unsigned int *)((0x2913 << 2) + 0xff620000) ++#define VDEC2_PSCALE_PICO_W (0x2914) ++#define P_VDEC2_PSCALE_PICO_W (volatile unsigned int *)((0x2914 << 2) + 0xff620000) ++#define VDEC2_PSCALE_PICO_H (0x2915) ++#define P_VDEC2_PSCALE_PICO_H (volatile unsigned int *)((0x2915 << 2) + 0xff620000) ++#define VDEC2_PSCALE_PICO_START_X (0x2916) ++#define P_VDEC2_PSCALE_PICO_START_X (volatile unsigned int *)((0x2916 << 2) + 0xff620000) ++#define VDEC2_PSCALE_PICO_START_Y (0x2917) ++#define P_VDEC2_PSCALE_PICO_START_Y (volatile unsigned int *)((0x2917 << 2) + 0xff620000) ++#define VDEC2_PSCALE_DUMMY (0x2918) ++#define P_VDEC2_PSCALE_DUMMY (volatile unsigned int *)((0x2918 << 2) + 0xff620000) ++#define VDEC2_PSCALE_FILT0_COEF0 (0x2919) ++#define P_VDEC2_PSCALE_FILT0_COEF0 (volatile unsigned int *)((0x2919 << 2) + 0xff620000) ++#define VDEC2_PSCALE_FILT0_COEF1 (0x291a) ++#define P_VDEC2_PSCALE_FILT0_COEF1 (volatile unsigned int *)((0x291a << 2) + 0xff620000) ++#define VDEC2_PSCALE_CMD_CTRL (0x291b) ++#define P_VDEC2_PSCALE_CMD_CTRL (volatile unsigned int *)((0x291b << 2) + 0xff620000) ++#define VDEC2_PSCALE_CMD_BLK_X (0x291c) ++#define P_VDEC2_PSCALE_CMD_BLK_X (volatile unsigned int *)((0x291c << 2) + 0xff620000) ++#define VDEC2_PSCALE_CMD_BLK_Y (0x291d) ++#define P_VDEC2_PSCALE_CMD_BLK_Y (volatile unsigned int *)((0x291d << 2) + 0xff620000) ++#define VDEC2_PSCALE_STATUS (0x291e) ++#define P_VDEC2_PSCALE_STATUS (volatile unsigned int *)((0x291e << 2) + 0xff620000) ++#define VDEC2_PSCALE_BMEM_ADDR (0x291f) ++#define P_VDEC2_PSCALE_BMEM_ADDR (volatile unsigned int *)((0x291f << 2) + 0xff620000) ++#define VDEC2_PSCALE_BMEM_DAT (0x2920) ++#define P_VDEC2_PSCALE_BMEM_DAT (volatile unsigned int *)((0x2920 << 2) + 0xff620000) ++#define VDEC2_PSCALE_DRAM_BUF_CTRL (0x2921) ++#define P_VDEC2_PSCALE_DRAM_BUF_CTRL (volatile unsigned int *)((0x2921 << 2) + 0xff620000) ++#define VDEC2_PSCALE_MCMD_CTRL (0x2922) ++#define P_VDEC2_PSCALE_MCMD_CTRL (volatile unsigned int *)((0x2922 << 2) + 0xff620000) ++#define VDEC2_PSCALE_MCMD_XSIZE (0x2923) ++#define P_VDEC2_PSCALE_MCMD_XSIZE (volatile unsigned int *)((0x2923 << 2) + 0xff620000) ++#define VDEC2_PSCALE_MCMD_YSIZE (0x2924) ++#define P_VDEC2_PSCALE_MCMD_YSIZE (volatile unsigned int *)((0x2924 << 2) + 0xff620000) ++#define VDEC2_PSCALE_RBUF_START_BLKX (0x2925) ++#define P_VDEC2_PSCALE_RBUF_START_BLKX (volatile unsigned int *)((0x2925 << 2) + 0xff620000) ++#define VDEC2_PSCALE_RBUF_START_BLKY (0x2926) ++#define P_VDEC2_PSCALE_RBUF_START_BLKY (volatile unsigned int *)((0x2926 << 2) + 0xff620000) ++//`define PSCALE_RBUF_MB_WIDTH 8'h27 ++#define VDEC2_PSCALE_PICO_SHIFT_XY (0x2928) ++#define P_VDEC2_PSCALE_PICO_SHIFT_XY (volatile unsigned int *)((0x2928 << 2) + 0xff620000) ++#define VDEC2_PSCALE_CTRL1 (0x2929) ++#define P_VDEC2_PSCALE_CTRL1 (volatile unsigned int *)((0x2929 << 2) + 0xff620000) ++//Bit 15, wmask enable ++//Bit 14:13, filt0 srckey_less, ++//Bit 12:11, filt1 srckey_less, in the case of the interpolated data is equal distance to ++//key data and normal data, 00: select normal data, 01: select right data, 10: select key data ++//Bit 10:9, srckey mode, 00: equal, 01: less than or equal, 10: great than or equal ++//Bit 8, src key enable ++//Bit 7:0, y src key ++#define VDEC2_PSCALE_SRCKEY_CTRL0 (0x292a) ++#define P_VDEC2_PSCALE_SRCKEY_CTRL0 (volatile unsigned int *)((0x292a << 2) + 0xff620000) ++//Bit 15:8, cb src key ++//Bit 7:0, cr src key ++#define VDEC2_PSCALE_SRCKEY_CTRL1 (0x292b) ++#define P_VDEC2_PSCALE_SRCKEY_CTRL1 (volatile unsigned int *)((0x292b << 2) + 0xff620000) ++//Bit 22:16 canvas_rd_addr2 ++//Bit 14:8 canvas_rd_addr1 ++//Bit 6:0 canvas_rd_addr1 ++#define VDEC2_PSCALE_CANVAS_RD_ADDR (0x292c) ++#define P_VDEC2_PSCALE_CANVAS_RD_ADDR (volatile unsigned int *)((0x292c << 2) + 0xff620000) ++//Bit 22:16 canvas_wr_addr2 ++//Bit 14:8 canvas_wr_addr1 ++//Bit 6:0 canvas_wr_addr1 ++#define VDEC2_PSCALE_CANVAS_WR_ADDR (0x292d) ++#define P_VDEC2_PSCALE_CANVAS_WR_ADDR (volatile unsigned int *)((0x292d << 2) + 0xff620000) ++//bit 13:8 pscale thread ID and token ++//bit 7 disable write response count adding to busy bit ++//bit 5:0 pscale prearbitor burst num ++#define VDEC2_PSCALE_CTRL2 (0x292e) ++#define P_VDEC2_PSCALE_CTRL2 (volatile unsigned int *)((0x292e << 2) + 0xff620000) ++// 31 - use_omem_mb_xy_auto ++//23:16 - omem_max_mb_x ++//15:8 - omem_mb_y_auto ++// 7:0 - omem_mb_x_auto ++#define VDEC2_HDEC_MC_OMEM_AUTO (0x2930) ++#define P_VDEC2_HDEC_MC_OMEM_AUTO (volatile unsigned int *)((0x2930 << 2) + 0xff620000) ++#define VDEC2_HDEC_MC_MBRIGHT_IDX (0x2931) ++#define P_VDEC2_HDEC_MC_MBRIGHT_IDX (volatile unsigned int *)((0x2931 << 2) + 0xff620000) ++#define VDEC2_HDEC_MC_MBRIGHT_RD (0x2932) ++#define P_VDEC2_HDEC_MC_MBRIGHT_RD (volatile unsigned int *)((0x2932 << 2) + 0xff620000) ++#define VDEC2_MC_MPORT_CTRL (0x2940) ++#define P_VDEC2_MC_MPORT_CTRL (volatile unsigned int *)((0x2940 << 2) + 0xff620000) ++#define VDEC2_MC_MPORT_DAT (0x2941) ++#define P_VDEC2_MC_MPORT_DAT (volatile unsigned int *)((0x2941 << 2) + 0xff620000) ++#define VDEC2_MC_WT_PRED_CTRL (0x2942) ++#define P_VDEC2_MC_WT_PRED_CTRL (volatile unsigned int *)((0x2942 << 2) + 0xff620000) ++#define VDEC2_MC_MBBOT_ST_EVEN_ADDR (0x2944) ++#define P_VDEC2_MC_MBBOT_ST_EVEN_ADDR (volatile unsigned int *)((0x2944 << 2) + 0xff620000) ++#define VDEC2_MC_MBBOT_ST_ODD_ADDR (0x2945) ++#define P_VDEC2_MC_MBBOT_ST_ODD_ADDR (volatile unsigned int *)((0x2945 << 2) + 0xff620000) ++#define VDEC2_MC_DPDN_MB_XY (0x2946) ++#define P_VDEC2_MC_DPDN_MB_XY (volatile unsigned int *)((0x2946 << 2) + 0xff620000) ++#define VDEC2_MC_OMDN_MB_XY (0x2947) ++#define P_VDEC2_MC_OMDN_MB_XY (volatile unsigned int *)((0x2947 << 2) + 0xff620000) ++#define VDEC2_MC_HCMDBUF_H (0x2948) ++#define P_VDEC2_MC_HCMDBUF_H (volatile unsigned int *)((0x2948 << 2) + 0xff620000) ++#define VDEC2_MC_HCMDBUF_L (0x2949) ++#define P_VDEC2_MC_HCMDBUF_L (volatile unsigned int *)((0x2949 << 2) + 0xff620000) ++#define VDEC2_MC_HCMD_H (0x294a) ++#define P_VDEC2_MC_HCMD_H (volatile unsigned int *)((0x294a << 2) + 0xff620000) ++#define VDEC2_MC_HCMD_L (0x294b) ++#define P_VDEC2_MC_HCMD_L (volatile unsigned int *)((0x294b << 2) + 0xff620000) ++#define VDEC2_MC_IDCT_DAT (0x294c) ++#define P_VDEC2_MC_IDCT_DAT (volatile unsigned int *)((0x294c << 2) + 0xff620000) ++#define VDEC2_MC_CTRL_GCLK_CTRL (0x294d) ++#define P_VDEC2_MC_CTRL_GCLK_CTRL (volatile unsigned int *)((0x294d << 2) + 0xff620000) ++#define VDEC2_MC_OTHER_GCLK_CTRL (0x294e) ++#define P_VDEC2_MC_OTHER_GCLK_CTRL (volatile unsigned int *)((0x294e << 2) + 0xff620000) ++//Bit 29:24, mbbot thread ID and token ++//Bit 21:16, mc read/write thread ID and token ++//Bit 13:8, mbbot pre-arbitor burst number ++//Bit 5:0, mc pre-arbitor burst number ++#define VDEC2_MC_CTRL2 (0x294f) ++#define P_VDEC2_MC_CTRL2 (volatile unsigned int *)((0x294f << 2) + 0xff620000) ++// `define DBLK_QUANT 8'h76 // ONLY for $ucode/real/amrisc/rv.s, reg value from apollo ++//`define ANC1_CANVAS_ADDR 8'h80 ++//`define ANC2_CANVAS_ADDR 8'h81 ++//`define REC_CANVAS_ADDR 8'h89 ++//`define MDEC_PIC_W 8'h8c ++//`define MDEC_PIC_H 8'h8d ++// mdec_pic_dc_mux_ctrl[31] -- mcr_hevc_mode ++#define VDEC2_MDEC_PIC_DC_MUX_CTRL (0x298d) ++#define P_VDEC2_MDEC_PIC_DC_MUX_CTRL (volatile unsigned int *)((0x298d << 2) + 0xff620000) ++#define VDEC2_MDEC_PIC_DC_CTRL (0x298e) ++#define P_VDEC2_MDEC_PIC_DC_CTRL (volatile unsigned int *)((0x298e << 2) + 0xff620000) ++#define VDEC2_MDEC_PIC_DC_STATUS (0x298f) ++#define P_VDEC2_MDEC_PIC_DC_STATUS (volatile unsigned int *)((0x298f << 2) + 0xff620000) ++#define VDEC2_ANC0_CANVAS_ADDR (0x2990) ++#define P_VDEC2_ANC0_CANVAS_ADDR (volatile unsigned int *)((0x2990 << 2) + 0xff620000) ++#define VDEC2_ANC1_CANVAS_ADDR (0x2991) ++#define P_VDEC2_ANC1_CANVAS_ADDR (volatile unsigned int *)((0x2991 << 2) + 0xff620000) ++#define VDEC2_ANC2_CANVAS_ADDR (0x2992) ++#define P_VDEC2_ANC2_CANVAS_ADDR (volatile unsigned int *)((0x2992 << 2) + 0xff620000) ++#define VDEC2_ANC3_CANVAS_ADDR (0x2993) ++#define P_VDEC2_ANC3_CANVAS_ADDR (volatile unsigned int *)((0x2993 << 2) + 0xff620000) ++#define VDEC2_ANC4_CANVAS_ADDR (0x2994) ++#define P_VDEC2_ANC4_CANVAS_ADDR (volatile unsigned int *)((0x2994 << 2) + 0xff620000) ++#define VDEC2_ANC5_CANVAS_ADDR (0x2995) ++#define P_VDEC2_ANC5_CANVAS_ADDR (volatile unsigned int *)((0x2995 << 2) + 0xff620000) ++#define VDEC2_ANC6_CANVAS_ADDR (0x2996) ++#define P_VDEC2_ANC6_CANVAS_ADDR (volatile unsigned int *)((0x2996 << 2) + 0xff620000) ++#define VDEC2_ANC7_CANVAS_ADDR (0x2997) ++#define P_VDEC2_ANC7_CANVAS_ADDR (volatile unsigned int *)((0x2997 << 2) + 0xff620000) ++#define VDEC2_ANC8_CANVAS_ADDR (0x2998) ++#define P_VDEC2_ANC8_CANVAS_ADDR (volatile unsigned int *)((0x2998 << 2) + 0xff620000) ++#define VDEC2_ANC9_CANVAS_ADDR (0x2999) ++#define P_VDEC2_ANC9_CANVAS_ADDR (volatile unsigned int *)((0x2999 << 2) + 0xff620000) ++#define VDEC2_ANC10_CANVAS_ADDR (0x299a) ++#define P_VDEC2_ANC10_CANVAS_ADDR (volatile unsigned int *)((0x299a << 2) + 0xff620000) ++#define VDEC2_ANC11_CANVAS_ADDR (0x299b) ++#define P_VDEC2_ANC11_CANVAS_ADDR (volatile unsigned int *)((0x299b << 2) + 0xff620000) ++#define VDEC2_ANC12_CANVAS_ADDR (0x299c) ++#define P_VDEC2_ANC12_CANVAS_ADDR (volatile unsigned int *)((0x299c << 2) + 0xff620000) ++#define VDEC2_ANC13_CANVAS_ADDR (0x299d) ++#define P_VDEC2_ANC13_CANVAS_ADDR (volatile unsigned int *)((0x299d << 2) + 0xff620000) ++#define VDEC2_ANC14_CANVAS_ADDR (0x299e) ++#define P_VDEC2_ANC14_CANVAS_ADDR (volatile unsigned int *)((0x299e << 2) + 0xff620000) ++#define VDEC2_ANC15_CANVAS_ADDR (0x299f) ++#define P_VDEC2_ANC15_CANVAS_ADDR (volatile unsigned int *)((0x299f << 2) + 0xff620000) ++#define VDEC2_ANC16_CANVAS_ADDR (0x29a0) ++#define P_VDEC2_ANC16_CANVAS_ADDR (volatile unsigned int *)((0x29a0 << 2) + 0xff620000) ++#define VDEC2_ANC17_CANVAS_ADDR (0x29a1) ++#define P_VDEC2_ANC17_CANVAS_ADDR (volatile unsigned int *)((0x29a1 << 2) + 0xff620000) ++#define VDEC2_ANC18_CANVAS_ADDR (0x29a2) ++#define P_VDEC2_ANC18_CANVAS_ADDR (volatile unsigned int *)((0x29a2 << 2) + 0xff620000) ++#define VDEC2_ANC19_CANVAS_ADDR (0x29a3) ++#define P_VDEC2_ANC19_CANVAS_ADDR (volatile unsigned int *)((0x29a3 << 2) + 0xff620000) ++#define VDEC2_ANC20_CANVAS_ADDR (0x29a4) ++#define P_VDEC2_ANC20_CANVAS_ADDR (volatile unsigned int *)((0x29a4 << 2) + 0xff620000) ++#define VDEC2_ANC21_CANVAS_ADDR (0x29a5) ++#define P_VDEC2_ANC21_CANVAS_ADDR (volatile unsigned int *)((0x29a5 << 2) + 0xff620000) ++#define VDEC2_ANC22_CANVAS_ADDR (0x29a6) ++#define P_VDEC2_ANC22_CANVAS_ADDR (volatile unsigned int *)((0x29a6 << 2) + 0xff620000) ++#define VDEC2_ANC23_CANVAS_ADDR (0x29a7) ++#define P_VDEC2_ANC23_CANVAS_ADDR (volatile unsigned int *)((0x29a7 << 2) + 0xff620000) ++#define VDEC2_ANC24_CANVAS_ADDR (0x29a8) ++#define P_VDEC2_ANC24_CANVAS_ADDR (volatile unsigned int *)((0x29a8 << 2) + 0xff620000) ++#define VDEC2_ANC25_CANVAS_ADDR (0x29a9) ++#define P_VDEC2_ANC25_CANVAS_ADDR (volatile unsigned int *)((0x29a9 << 2) + 0xff620000) ++#define VDEC2_ANC26_CANVAS_ADDR (0x29aa) ++#define P_VDEC2_ANC26_CANVAS_ADDR (volatile unsigned int *)((0x29aa << 2) + 0xff620000) ++#define VDEC2_ANC27_CANVAS_ADDR (0x29ab) ++#define P_VDEC2_ANC27_CANVAS_ADDR (volatile unsigned int *)((0x29ab << 2) + 0xff620000) ++#define VDEC2_ANC28_CANVAS_ADDR (0x29ac) ++#define P_VDEC2_ANC28_CANVAS_ADDR (volatile unsigned int *)((0x29ac << 2) + 0xff620000) ++#define VDEC2_ANC29_CANVAS_ADDR (0x29ad) ++#define P_VDEC2_ANC29_CANVAS_ADDR (volatile unsigned int *)((0x29ad << 2) + 0xff620000) ++#define VDEC2_ANC30_CANVAS_ADDR (0x29ae) ++#define P_VDEC2_ANC30_CANVAS_ADDR (volatile unsigned int *)((0x29ae << 2) + 0xff620000) ++#define VDEC2_ANC31_CANVAS_ADDR (0x29af) ++#define P_VDEC2_ANC31_CANVAS_ADDR (volatile unsigned int *)((0x29af << 2) + 0xff620000) ++#define VDEC2_DBKR_CANVAS_ADDR (0x29b0) ++#define P_VDEC2_DBKR_CANVAS_ADDR (volatile unsigned int *)((0x29b0 << 2) + 0xff620000) ++#define VDEC2_DBKW_CANVAS_ADDR (0x29b1) ++#define P_VDEC2_DBKW_CANVAS_ADDR (volatile unsigned int *)((0x29b1 << 2) + 0xff620000) ++#define VDEC2_REC_CANVAS_ADDR (0x29b2) ++#define P_VDEC2_REC_CANVAS_ADDR (volatile unsigned int *)((0x29b2 << 2) + 0xff620000) ++//28:24, read/write, current canvas idx, used in h264 only now ++//23:0, read only, current canvas address, 23:16, Cr canvas addr, 15:8, Cb canvas addr, 7:0, Y canvas addr ++#define VDEC2_CURR_CANVAS_CTRL (0x29b3) ++#define P_VDEC2_CURR_CANVAS_CTRL (volatile unsigned int *)((0x29b3 << 2) + 0xff620000) ++#define VDEC2_MDEC_PIC_DC_THRESH (0x29b8) ++#define P_VDEC2_MDEC_PIC_DC_THRESH (volatile unsigned int *)((0x29b8 << 2) + 0xff620000) ++#define VDEC2_MDEC_PICR_BUF_STATUS (0x29b9) ++#define P_VDEC2_MDEC_PICR_BUF_STATUS (volatile unsigned int *)((0x29b9 << 2) + 0xff620000) ++#define VDEC2_MDEC_PICW_BUF_STATUS (0x29ba) ++#define P_VDEC2_MDEC_PICW_BUF_STATUS (volatile unsigned int *)((0x29ba << 2) + 0xff620000) ++#define VDEC2_MCW_DBLK_WRRSP_CNT (0x29bb) ++#define P_VDEC2_MCW_DBLK_WRRSP_CNT (volatile unsigned int *)((0x29bb << 2) + 0xff620000) ++#define VDEC2_MC_MBBOT_WRRSP_CNT (0x29bc) ++#define P_VDEC2_MC_MBBOT_WRRSP_CNT (volatile unsigned int *)((0x29bc << 2) + 0xff620000) ++#define VDEC2_MDEC_PICW_BUF2_STATUS (0x29bd) ++#define P_VDEC2_MDEC_PICW_BUF2_STATUS (volatile unsigned int *)((0x29bd << 2) + 0xff620000) ++#define VDEC2_WRRSP_FIFO_PICW_DBK (0x29be) ++#define P_VDEC2_WRRSP_FIFO_PICW_DBK (volatile unsigned int *)((0x29be << 2) + 0xff620000) ++#define VDEC2_WRRSP_FIFO_PICW_MC (0x29bf) ++#define P_VDEC2_WRRSP_FIFO_PICW_MC (volatile unsigned int *)((0x29bf << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_0 (0x29c0) ++#define P_VDEC2_AV_SCRATCH_0 (volatile unsigned int *)((0x29c0 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_1 (0x29c1) ++#define P_VDEC2_AV_SCRATCH_1 (volatile unsigned int *)((0x29c1 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_2 (0x29c2) ++#define P_VDEC2_AV_SCRATCH_2 (volatile unsigned int *)((0x29c2 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_3 (0x29c3) ++#define P_VDEC2_AV_SCRATCH_3 (volatile unsigned int *)((0x29c3 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_4 (0x29c4) ++#define P_VDEC2_AV_SCRATCH_4 (volatile unsigned int *)((0x29c4 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_5 (0x29c5) ++#define P_VDEC2_AV_SCRATCH_5 (volatile unsigned int *)((0x29c5 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_6 (0x29c6) ++#define P_VDEC2_AV_SCRATCH_6 (volatile unsigned int *)((0x29c6 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_7 (0x29c7) ++#define P_VDEC2_AV_SCRATCH_7 (volatile unsigned int *)((0x29c7 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_8 (0x29c8) ++#define P_VDEC2_AV_SCRATCH_8 (volatile unsigned int *)((0x29c8 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_9 (0x29c9) ++#define P_VDEC2_AV_SCRATCH_9 (volatile unsigned int *)((0x29c9 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_A (0x29ca) ++#define P_VDEC2_AV_SCRATCH_A (volatile unsigned int *)((0x29ca << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_B (0x29cb) ++#define P_VDEC2_AV_SCRATCH_B (volatile unsigned int *)((0x29cb << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_C (0x29cc) ++#define P_VDEC2_AV_SCRATCH_C (volatile unsigned int *)((0x29cc << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_D (0x29cd) ++#define P_VDEC2_AV_SCRATCH_D (volatile unsigned int *)((0x29cd << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_E (0x29ce) ++#define P_VDEC2_AV_SCRATCH_E (volatile unsigned int *)((0x29ce << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_F (0x29cf) ++#define P_VDEC2_AV_SCRATCH_F (volatile unsigned int *)((0x29cf << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_G (0x29d0) ++#define P_VDEC2_AV_SCRATCH_G (volatile unsigned int *)((0x29d0 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_H (0x29d1) ++#define P_VDEC2_AV_SCRATCH_H (volatile unsigned int *)((0x29d1 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_I (0x29d2) ++#define P_VDEC2_AV_SCRATCH_I (volatile unsigned int *)((0x29d2 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_J (0x29d3) ++#define P_VDEC2_AV_SCRATCH_J (volatile unsigned int *)((0x29d3 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_K (0x29d4) ++#define P_VDEC2_AV_SCRATCH_K (volatile unsigned int *)((0x29d4 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_L (0x29d5) ++#define P_VDEC2_AV_SCRATCH_L (volatile unsigned int *)((0x29d5 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_M (0x29d6) ++#define P_VDEC2_AV_SCRATCH_M (volatile unsigned int *)((0x29d6 << 2) + 0xff620000) ++#define VDEC2_AV_SCRATCH_N (0x29d7) ++#define P_VDEC2_AV_SCRATCH_N (volatile unsigned int *)((0x29d7 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_co_mb ++// bit[21:16] A_id_co_mb ++// bit[11:0] wrrsp_count_co_mb ++#define VDEC2_WRRSP_CO_MB (0x29d8) ++#define P_VDEC2_WRRSP_CO_MB (volatile unsigned int *)((0x29d8 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_dcac ++// bit[21:16] A_id_dcac ++// bit[11:0] wrrsp_count_dcac ++#define VDEC2_WRRSP_DCAC (0x29d9) ++#define P_VDEC2_WRRSP_DCAC (volatile unsigned int *)((0x29d9 << 2) + 0xff620000) ++// bit[11:0] wrrsp_count_vld ++#define VDEC2_WRRSP_VLD (0x29da) ++#define P_VDEC2_WRRSP_VLD (volatile unsigned int *)((0x29da << 2) + 0xff620000) ++// doublew_cfg0[0]; // Second Channel Enable, 1:Enable 0:Disable ++// doublew_cfg0[3:1]; // [2:0] Endian Control for Luma ++// doublew_cfg0[5:4]; // [1:0] Pixel sel by horizontal, 0x:1/2 10:left 11:right ++// doublew_cfg0[7:6]; // [1:0] Pixel sel by vertical, 0x:1/2 10:up 11:down ++// doublew_cfg0[8]; // Size by horizontal, 0:original size 1: 1/2 shrunken size ++// doublew_cfg0[9]; // Size by vertical, 0:original size 1: 1/2 shrunken size ++// doublew_cfg0[10]; // 1:Round 0:Truncation ++// doublew_cfg0[11]; // DMA Urgent ++// doublew_cfg0[17:12]; // [5:0] DMA Burst Number ++// doublew_cfg0[23:18]; // [5:0] DMA ID ++// doublew_cfg0[26:24]; // [2:0] Endian Control for Chroma ++// doublew_cfg0[27]; // Source from, 1:MCW 0:DBLK ++// doublew_cfg0[29:28]; // [1:0] 0x:select both top and bottom 10:select top 11:select bottom ++// doublew_cfg0[30]; // 0:no merge 1:automatic merge ++// doublew_cfg0[31]; // 0:Y addr no change 1:Y addr divided to half ++#define VDEC2_MDEC_DOUBLEW_CFG0 (0x29db) ++#define P_VDEC2_MDEC_DOUBLEW_CFG0 (volatile unsigned int *)((0x29db << 2) + 0xff620000) ++// doublew_cfg1[7:0]; // [7:0] DMA Canvas Address for Luma ++// doublew_cfg1[15:8]; // [7:0] DMA Canvas Address for Chroma ++// doublew_cfg1[16]; // Disable 1st Write - ++// doublew_cfg1[17]; // Reverse to original version - ++// doublew_cfg1[18]; // DMA Address Mode - 0:Canvas Mode 1:Non-Canvas Mode ++#define VDEC2_MDEC_DOUBLEW_CFG1 (0x29dc) ++#define P_VDEC2_MDEC_DOUBLEW_CFG1 (volatile unsigned int *)((0x29dc << 2) + 0xff620000) ++// doublew_cfg2[11:0]; //[11:0] vertical flip initial value ++// doublew_cfg2[15]; // vertical flip enable ++// doublew_cfg2[24:16]; // [8:0] horizontal flip initial value ++// doublew_cfg2[31]; // horizontal flip enable ++#define VDEC2_MDEC_DOUBLEW_CFG2 (0x29dd) ++#define P_VDEC2_MDEC_DOUBLEW_CFG2 (volatile unsigned int *)((0x29dd << 2) + 0xff620000) ++// doublew_cfg3[31:0]; //[31:0] non-canvas start address for Luma - ++#define VDEC2_MDEC_DOUBLEW_CFG3 (0x29de) ++#define P_VDEC2_MDEC_DOUBLEW_CFG3 (volatile unsigned int *)((0x29de << 2) + 0xff620000) ++// doublew_cfg4[31:0]; //[31:0] non-canvas start address for Chroma - ++#define VDEC2_MDEC_DOUBLEW_CFG4 (0x29df) ++#define P_VDEC2_MDEC_DOUBLEW_CFG4 (volatile unsigned int *)((0x29df << 2) + 0xff620000) ++// doublew_cfg5[12:0]; //[12:0] non-canvas picture width for Luma - ++// doublew_cfg5[28:16]; //[12:0] non-canvas picture width for Chroma - ++#define VDEC2_MDEC_DOUBLEW_CFG5 (0x29e0) ++#define P_VDEC2_MDEC_DOUBLEW_CFG5 (volatile unsigned int *)((0x29e0 << 2) + 0xff620000) ++// doublew_cfg6: reserved ++#define VDEC2_MDEC_DOUBLEW_CFG6 (0x29e1) ++#define P_VDEC2_MDEC_DOUBLEW_CFG6 (volatile unsigned int *)((0x29e1 << 2) + 0xff620000) ++// doublew_cfg7: reserved ++#define VDEC2_MDEC_DOUBLEW_CFG7 (0x29e2) ++#define P_VDEC2_MDEC_DOUBLEW_CFG7 (volatile unsigned int *)((0x29e2 << 2) + 0xff620000) ++// doublew_status[11:0];//[11:0] wrrsp_count_doublew ++// doublew_status[12]; // doublew_status_busy ++// doublew_status[13]; // doublew_status_error ++#define VDEC2_MDEC_DOUBLEW_STATUS (0x29e3) ++#define P_VDEC2_MDEC_DOUBLEW_STATUS (volatile unsigned int *)((0x29e3 << 2) + 0xff620000) ++#define VDEC2_MDEC_EXTIF_CFG0 (0x29e4) ++#define P_VDEC2_MDEC_EXTIF_CFG0 (volatile unsigned int *)((0x29e4 << 2) + 0xff620000) ++#define VDEC2_MDEC_EXTIF_CFG1 (0x29e5) ++#define P_VDEC2_MDEC_EXTIF_CFG1 (volatile unsigned int *)((0x29e5 << 2) + 0xff620000) ++#define VDEC2_MDEC_EXTIF_STS0 (0x29e6) ++#define P_VDEC2_MDEC_EXTIF_STS0 (volatile unsigned int *)((0x29e6 << 2) + 0xff620000) ++//====================================== ++// MC Control Register Bits ++// ++//====================================== ++// For bits, just copy the defines...don't translate to addresses ++ //`define MC_RESET 16'h0002 ++//====================================== ++// MB Info Register Bits ++// ++//====================================== ++//====================================== ++// MB Info Register Bits ++// ++//====================================== ++//======================================================================== ++// DBLK Register: 12'h950 - 12'h97f ++//======================================================================== ++#define VDEC2_DBLK_RST (0x2950) ++#define P_VDEC2_DBLK_RST (volatile unsigned int *)((0x2950 << 2) + 0xff620000) ++#define VDEC2_DBLK_CTRL (0x2951) ++#define P_VDEC2_DBLK_CTRL (volatile unsigned int *)((0x2951 << 2) + 0xff620000) ++#define VDEC2_DBLK_MB_WID_HEIGHT (0x2952) ++#define P_VDEC2_DBLK_MB_WID_HEIGHT (volatile unsigned int *)((0x2952 << 2) + 0xff620000) ++#define VDEC2_DBLK_STATUS (0x2953) ++#define P_VDEC2_DBLK_STATUS (volatile unsigned int *)((0x2953 << 2) + 0xff620000) ++#define VDEC2_DBLK_CMD_CTRL (0x2954) ++#define P_VDEC2_DBLK_CMD_CTRL (volatile unsigned int *)((0x2954 << 2) + 0xff620000) ++#define VDEC2_DBLK_MB_XY (0x2955) ++#define P_VDEC2_DBLK_MB_XY (volatile unsigned int *)((0x2955 << 2) + 0xff620000) ++#define VDEC2_DBLK_QP (0x2956) ++#define P_VDEC2_DBLK_QP (volatile unsigned int *)((0x2956 << 2) + 0xff620000) ++#define VDEC2_DBLK_Y_BHFILT (0x2957) ++#define P_VDEC2_DBLK_Y_BHFILT (volatile unsigned int *)((0x2957 << 2) + 0xff620000) ++#define VDEC2_DBLK_Y_BHFILT_HIGH (0x2958) ++#define P_VDEC2_DBLK_Y_BHFILT_HIGH (volatile unsigned int *)((0x2958 << 2) + 0xff620000) ++#define VDEC2_DBLK_Y_BVFILT (0x2959) ++#define P_VDEC2_DBLK_Y_BVFILT (volatile unsigned int *)((0x2959 << 2) + 0xff620000) ++#define VDEC2_DBLK_CB_BFILT (0x295a) ++#define P_VDEC2_DBLK_CB_BFILT (volatile unsigned int *)((0x295a << 2) + 0xff620000) ++#define VDEC2_DBLK_CR_BFILT (0x295b) ++#define P_VDEC2_DBLK_CR_BFILT (volatile unsigned int *)((0x295b << 2) + 0xff620000) ++#define VDEC2_DBLK_Y_HFILT (0x295c) ++#define P_VDEC2_DBLK_Y_HFILT (volatile unsigned int *)((0x295c << 2) + 0xff620000) ++#define VDEC2_DBLK_Y_HFILT_HIGH (0x295d) ++#define P_VDEC2_DBLK_Y_HFILT_HIGH (volatile unsigned int *)((0x295d << 2) + 0xff620000) ++#define VDEC2_DBLK_Y_VFILT (0x295e) ++#define P_VDEC2_DBLK_Y_VFILT (volatile unsigned int *)((0x295e << 2) + 0xff620000) ++#define VDEC2_DBLK_CB_FILT (0x295f) ++#define P_VDEC2_DBLK_CB_FILT (volatile unsigned int *)((0x295f << 2) + 0xff620000) ++#define VDEC2_DBLK_CR_FILT (0x2960) ++#define P_VDEC2_DBLK_CR_FILT (volatile unsigned int *)((0x2960 << 2) + 0xff620000) ++#define VDEC2_DBLK_BETAX_QP_SEL (0x2961) ++#define P_VDEC2_DBLK_BETAX_QP_SEL (volatile unsigned int *)((0x2961 << 2) + 0xff620000) ++#define VDEC2_DBLK_CLIP_CTRL0 (0x2962) ++#define P_VDEC2_DBLK_CLIP_CTRL0 (volatile unsigned int *)((0x2962 << 2) + 0xff620000) ++#define VDEC2_DBLK_CLIP_CTRL1 (0x2963) ++#define P_VDEC2_DBLK_CLIP_CTRL1 (volatile unsigned int *)((0x2963 << 2) + 0xff620000) ++#define VDEC2_DBLK_CLIP_CTRL2 (0x2964) ++#define P_VDEC2_DBLK_CLIP_CTRL2 (volatile unsigned int *)((0x2964 << 2) + 0xff620000) ++#define VDEC2_DBLK_CLIP_CTRL3 (0x2965) ++#define P_VDEC2_DBLK_CLIP_CTRL3 (volatile unsigned int *)((0x2965 << 2) + 0xff620000) ++#define VDEC2_DBLK_CLIP_CTRL4 (0x2966) ++#define P_VDEC2_DBLK_CLIP_CTRL4 (volatile unsigned int *)((0x2966 << 2) + 0xff620000) ++#define VDEC2_DBLK_CLIP_CTRL5 (0x2967) ++#define P_VDEC2_DBLK_CLIP_CTRL5 (volatile unsigned int *)((0x2967 << 2) + 0xff620000) ++#define VDEC2_DBLK_CLIP_CTRL6 (0x2968) ++#define P_VDEC2_DBLK_CLIP_CTRL6 (volatile unsigned int *)((0x2968 << 2) + 0xff620000) ++#define VDEC2_DBLK_CLIP_CTRL7 (0x2969) ++#define P_VDEC2_DBLK_CLIP_CTRL7 (volatile unsigned int *)((0x2969 << 2) + 0xff620000) ++#define VDEC2_DBLK_CLIP_CTRL8 (0x296a) ++#define P_VDEC2_DBLK_CLIP_CTRL8 (volatile unsigned int *)((0x296a << 2) + 0xff620000) ++#define VDEC2_DBLK_STATUS1 (0x296b) ++#define P_VDEC2_DBLK_STATUS1 (volatile unsigned int *)((0x296b << 2) + 0xff620000) ++#define VDEC2_DBLK_GCLK_FREE (0x296c) ++#define P_VDEC2_DBLK_GCLK_FREE (volatile unsigned int *)((0x296c << 2) + 0xff620000) ++#define VDEC2_DBLK_GCLK_OFF (0x296d) ++#define P_VDEC2_DBLK_GCLK_OFF (volatile unsigned int *)((0x296d << 2) + 0xff620000) ++#define VDEC2_DBLK_AVSFLAGS (0x296e) ++#define P_VDEC2_DBLK_AVSFLAGS (volatile unsigned int *)((0x296e << 2) + 0xff620000) ++// bit 15:0 ++#define VDEC2_DBLK_CBPY (0x2970) ++#define P_VDEC2_DBLK_CBPY (volatile unsigned int *)((0x2970 << 2) + 0xff620000) ++// bit 11:8 -- deblk_cbpy_bottom ++// bit 7:4 -- deblk_cbpy_left ++// bit 3:0 -- deblk_cbpy_top ++#define VDEC2_DBLK_CBPY_ADJ (0x2971) ++#define P_VDEC2_DBLK_CBPY_ADJ (volatile unsigned int *)((0x2971 << 2) + 0xff620000) ++// bit 7:0 -- deblk_cbpc ++#define VDEC2_DBLK_CBPC (0x2972) ++#define P_VDEC2_DBLK_CBPC (volatile unsigned int *)((0x2972 << 2) + 0xff620000) ++// bit 15 -- bottom_mb ++// bit 14 -- left_mb ++// bit 13 -- top_mb ++// bit 12 -- reserved ++// bit 11:8 -- deblk_cbpc_bottom ++// bit 7:4 -- deblk_cbpc_left ++// bit 3:0 -- deblk_cbpc_top ++#define VDEC2_DBLK_CBPC_ADJ (0x2973) ++#define P_VDEC2_DBLK_CBPC_ADJ (volatile unsigned int *)((0x2973 << 2) + 0xff620000) ++// bit 15:8 -- deblk_hmvd -- {left_1, left_0, below_1, below_0, block3-0} ++// bit 7:0 -- deblk_vmvd -- {top_1, top_0, below_1, below_0, block3-0} ++#define VDEC2_DBLK_VHMVD (0x2974) ++#define P_VDEC2_DBLK_VHMVD (volatile unsigned int *)((0x2974 << 2) + 0xff620000) ++// bit 13:12 -- right_vmvd ++// bit 11 -- right_above_vmvd ++// bit 10 -- left_below_hmvd ++// bit 9 -- disable_dblk_luma ++// bit 8 -- disable_dblk_chroma ++// bit 7 -- bBelowRefDiff ++// bit 6 -- bLeftRefDiff ++// bit 5 -- bAboveRefDiff ++// bit 4 -- reserved ++// bit 3 -- s_below ++// bit 2 -- s_left ++// bit 1 -- s_above ++// bit 0 -- s ++#define VDEC2_DBLK_STRONG (0x2975) ++#define P_VDEC2_DBLK_STRONG (volatile unsigned int *)((0x2975 << 2) + 0xff620000) ++// bit 14:10 -- PQUANT ++// bit 9:5 -- left_PQUANT ++// bit 4:0 -- top_PQUANT ++#define VDEC2_DBLK_RV8_QUANT (0x2976) ++#define P_VDEC2_DBLK_RV8_QUANT (volatile unsigned int *)((0x2976 << 2) + 0xff620000) ++#define VDEC2_DBLK_CBUS_HCMD2 (0x2977) ++#define P_VDEC2_DBLK_CBUS_HCMD2 (volatile unsigned int *)((0x2977 << 2) + 0xff620000) ++#define VDEC2_DBLK_CBUS_HCMD1 (0x2978) ++#define P_VDEC2_DBLK_CBUS_HCMD1 (volatile unsigned int *)((0x2978 << 2) + 0xff620000) ++#define VDEC2_DBLK_CBUS_HCMD0 (0x2979) ++#define P_VDEC2_DBLK_CBUS_HCMD0 (volatile unsigned int *)((0x2979 << 2) + 0xff620000) ++#define VDEC2_DBLK_VLD_HCMD2 (0x297a) ++#define P_VDEC2_DBLK_VLD_HCMD2 (volatile unsigned int *)((0x297a << 2) + 0xff620000) ++#define VDEC2_DBLK_VLD_HCMD1 (0x297b) ++#define P_VDEC2_DBLK_VLD_HCMD1 (volatile unsigned int *)((0x297b << 2) + 0xff620000) ++#define VDEC2_DBLK_VLD_HCMD0 (0x297c) ++#define P_VDEC2_DBLK_VLD_HCMD0 (volatile unsigned int *)((0x297c << 2) + 0xff620000) ++#define VDEC2_DBLK_OST_YBASE (0x297d) ++#define P_VDEC2_DBLK_OST_YBASE (volatile unsigned int *)((0x297d << 2) + 0xff620000) ++#define VDEC2_DBLK_OST_CBCRDIFF (0x297e) ++#define P_VDEC2_DBLK_OST_CBCRDIFF (volatile unsigned int *)((0x297e << 2) + 0xff620000) ++//13:8 dblk thread ID and token ++//5:0 dblk prearbitor burst num ++#define VDEC2_DBLK_CTRL1 (0x297f) ++#define P_VDEC2_DBLK_CTRL1 (volatile unsigned int *)((0x297f << 2) + 0xff620000) ++// MCRCC_CTL1 ++// 31:3 ++// 2 ++// 1 ++// 0 ++#define VDEC2_MCRCC_CTL1 (0x2980) ++#define P_VDEC2_MCRCC_CTL1 (volatile unsigned int *)((0x2980 << 2) + 0xff620000) ++// MCRCC_CTL2 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define VDEC2_MCRCC_CTL2 (0x2981) ++#define P_VDEC2_MCRCC_CTL2 (volatile unsigned int *)((0x2981 << 2) + 0xff620000) ++// MCRCC_CTL3 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define VDEC2_MCRCC_CTL3 (0x2982) ++#define P_VDEC2_MCRCC_CTL3 (volatile unsigned int *)((0x2982 << 2) + 0xff620000) ++// bit[31:10] reserved ++// bit[9:0] sw_clock_gating control ++// [9] vdec clk_en for assist and cbus. ++// [8] vdec clk_en for ddr ++// [7] vdec clk_en for vcpu ++// [6] vdec clk_en for assist ++// [5] vdec clk_en for dblk ++// [4] vdec clk_en for iqidct ++// [3] vdec clk_en for mc ++// [2] vdec clk_en for pic_dc ++// [1] vdec clk_en for psc ++// [0] vdec clk_en for vld ++#define VDEC2_GCLK_EN (0x2983) ++#define P_VDEC2_GCLK_EN (volatile unsigned int *)((0x2983 << 2) + 0xff620000) ++// [0] Reserved ++// [1] Reserved ++// [2] Reset assist, mdec's CBUS ++// [3] Reset mdec's VLD ++// [4] Reset mdec's VLD ++// [5] Reset mdec's VLD ++// [6] Reset mdec's IQIDCT ++// [7] Reset mdec's MC ++// [8] Reset mdec's DBLK ++// [9] Reset mdec's PIC_DC ++// [10] Reset mdec's Pscale ++// [11] Reset vcpu's MCPU ++// [12] Reset vcpu's CCPU ++// [13] Reset mmc_pre_arb ++#define VDEC2_MDEC_SW_RESET (0x2984) ++#define P_VDEC2_MDEC_SW_RESET (volatile unsigned int *)((0x2984 << 2) + 0xff620000) ++//DBLK last address 12'h97f ++// ++// Closing file: mdec_regs.h ++// ++// ++// Reading file: mdec_regs.h ++// ++//======================================================================== ++// MDEC module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_MDEC_CBUS_BASE = 0x09 ++// ----------------------------------------------- ++#define HEVC_MC_CTRL_REG (0x3900) ++#define P_HEVC_MC_CTRL_REG (volatile unsigned int *)((0x3900 << 2) + 0xff620000) ++#define HEVC_MC_MB_INFO (0x3901) ++#define P_HEVC_MC_MB_INFO (volatile unsigned int *)((0x3901 << 2) + 0xff620000) ++#define HEVC_MC_PIC_INFO (0x3902) ++#define P_HEVC_MC_PIC_INFO (volatile unsigned int *)((0x3902 << 2) + 0xff620000) ++#define HEVC_MC_HALF_PEL_ONE (0x3903) ++#define P_HEVC_MC_HALF_PEL_ONE (volatile unsigned int *)((0x3903 << 2) + 0xff620000) ++#define HEVC_MC_HALF_PEL_TWO (0x3904) ++#define P_HEVC_MC_HALF_PEL_TWO (volatile unsigned int *)((0x3904 << 2) + 0xff620000) ++#define HEVC_POWER_CTL_MC (0x3905) ++#define P_HEVC_POWER_CTL_MC (volatile unsigned int *)((0x3905 << 2) + 0xff620000) ++#define HEVC_MC_CMD (0x3906) ++#define P_HEVC_MC_CMD (volatile unsigned int *)((0x3906 << 2) + 0xff620000) ++#define HEVC_MC_CTRL0 (0x3907) ++#define P_HEVC_MC_CTRL0 (volatile unsigned int *)((0x3907 << 2) + 0xff620000) ++#define HEVC_MC_PIC_W_H (0x3908) ++#define P_HEVC_MC_PIC_W_H (volatile unsigned int *)((0x3908 << 2) + 0xff620000) ++#define HEVC_MC_STATUS0 (0x3909) ++#define P_HEVC_MC_STATUS0 (volatile unsigned int *)((0x3909 << 2) + 0xff620000) ++#define HEVC_MC_STATUS1 (0x390a) ++#define P_HEVC_MC_STATUS1 (volatile unsigned int *)((0x390a << 2) + 0xff620000) ++#define HEVC_MC_CTRL1 (0x390b) ++#define P_HEVC_MC_CTRL1 (volatile unsigned int *)((0x390b << 2) + 0xff620000) ++#define HEVC_MC_MIX_RATIO0 (0x390c) ++#define P_HEVC_MC_MIX_RATIO0 (volatile unsigned int *)((0x390c << 2) + 0xff620000) ++#define HEVC_MC_MIX_RATIO1 (0x390d) ++#define P_HEVC_MC_MIX_RATIO1 (volatile unsigned int *)((0x390d << 2) + 0xff620000) ++#define HEVC_MC_DP_MB_XY (0x390e) ++#define P_HEVC_MC_DP_MB_XY (volatile unsigned int *)((0x390e << 2) + 0xff620000) ++#define HEVC_MC_OM_MB_XY (0x390f) ++#define P_HEVC_MC_OM_MB_XY (volatile unsigned int *)((0x390f << 2) + 0xff620000) ++#define HEVC_PSCALE_RST (0x3910) ++#define P_HEVC_PSCALE_RST (volatile unsigned int *)((0x3910 << 2) + 0xff620000) ++#define HEVC_PSCALE_CTRL (0x3911) ++#define P_HEVC_PSCALE_CTRL (volatile unsigned int *)((0x3911 << 2) + 0xff620000) ++#define HEVC_PSCALE_PICI_W (0x3912) ++#define P_HEVC_PSCALE_PICI_W (volatile unsigned int *)((0x3912 << 2) + 0xff620000) ++#define HEVC_PSCALE_PICI_H (0x3913) ++#define P_HEVC_PSCALE_PICI_H (volatile unsigned int *)((0x3913 << 2) + 0xff620000) ++#define HEVC_PSCALE_PICO_W (0x3914) ++#define P_HEVC_PSCALE_PICO_W (volatile unsigned int *)((0x3914 << 2) + 0xff620000) ++#define HEVC_PSCALE_PICO_H (0x3915) ++#define P_HEVC_PSCALE_PICO_H (volatile unsigned int *)((0x3915 << 2) + 0xff620000) ++#define HEVC_PSCALE_PICO_START_X (0x3916) ++#define P_HEVC_PSCALE_PICO_START_X (volatile unsigned int *)((0x3916 << 2) + 0xff620000) ++#define HEVC_PSCALE_PICO_START_Y (0x3917) ++#define P_HEVC_PSCALE_PICO_START_Y (volatile unsigned int *)((0x3917 << 2) + 0xff620000) ++#define HEVC_PSCALE_DUMMY (0x3918) ++#define P_HEVC_PSCALE_DUMMY (volatile unsigned int *)((0x3918 << 2) + 0xff620000) ++#define HEVC_PSCALE_FILT0_COEF0 (0x3919) ++#define P_HEVC_PSCALE_FILT0_COEF0 (volatile unsigned int *)((0x3919 << 2) + 0xff620000) ++#define HEVC_PSCALE_FILT0_COEF1 (0x391a) ++#define P_HEVC_PSCALE_FILT0_COEF1 (volatile unsigned int *)((0x391a << 2) + 0xff620000) ++#define HEVC_PSCALE_CMD_CTRL (0x391b) ++#define P_HEVC_PSCALE_CMD_CTRL (volatile unsigned int *)((0x391b << 2) + 0xff620000) ++#define HEVC_PSCALE_CMD_BLK_X (0x391c) ++#define P_HEVC_PSCALE_CMD_BLK_X (volatile unsigned int *)((0x391c << 2) + 0xff620000) ++#define HEVC_PSCALE_CMD_BLK_Y (0x391d) ++#define P_HEVC_PSCALE_CMD_BLK_Y (volatile unsigned int *)((0x391d << 2) + 0xff620000) ++#define HEVC_PSCALE_STATUS (0x391e) ++#define P_HEVC_PSCALE_STATUS (volatile unsigned int *)((0x391e << 2) + 0xff620000) ++#define HEVC_PSCALE_BMEM_ADDR (0x391f) ++#define P_HEVC_PSCALE_BMEM_ADDR (volatile unsigned int *)((0x391f << 2) + 0xff620000) ++#define HEVC_PSCALE_BMEM_DAT (0x3920) ++#define P_HEVC_PSCALE_BMEM_DAT (volatile unsigned int *)((0x3920 << 2) + 0xff620000) ++#define HEVC_PSCALE_DRAM_BUF_CTRL (0x3921) ++#define P_HEVC_PSCALE_DRAM_BUF_CTRL (volatile unsigned int *)((0x3921 << 2) + 0xff620000) ++#define HEVC_PSCALE_MCMD_CTRL (0x3922) ++#define P_HEVC_PSCALE_MCMD_CTRL (volatile unsigned int *)((0x3922 << 2) + 0xff620000) ++#define HEVC_PSCALE_MCMD_XSIZE (0x3923) ++#define P_HEVC_PSCALE_MCMD_XSIZE (volatile unsigned int *)((0x3923 << 2) + 0xff620000) ++#define HEVC_PSCALE_MCMD_YSIZE (0x3924) ++#define P_HEVC_PSCALE_MCMD_YSIZE (volatile unsigned int *)((0x3924 << 2) + 0xff620000) ++#define HEVC_PSCALE_RBUF_START_BLKX (0x3925) ++#define P_HEVC_PSCALE_RBUF_START_BLKX (volatile unsigned int *)((0x3925 << 2) + 0xff620000) ++#define HEVC_PSCALE_RBUF_START_BLKY (0x3926) ++#define P_HEVC_PSCALE_RBUF_START_BLKY (volatile unsigned int *)((0x3926 << 2) + 0xff620000) ++//`define PSCALE_RBUF_MB_WIDTH 8'h27 ++#define HEVC_PSCALE_PICO_SHIFT_XY (0x3928) ++#define P_HEVC_PSCALE_PICO_SHIFT_XY (volatile unsigned int *)((0x3928 << 2) + 0xff620000) ++#define HEVC_PSCALE_CTRL1 (0x3929) ++#define P_HEVC_PSCALE_CTRL1 (volatile unsigned int *)((0x3929 << 2) + 0xff620000) ++//Bit 15, wmask enable ++//Bit 14:13, filt0 srckey_less, ++//Bit 12:11, filt1 srckey_less, in the case of the interpolated data is equal distance to ++//key data and normal data, 00: select normal data, 01: select right data, 10: select key data ++//Bit 10:9, srckey mode, 00: equal, 01: less than or equal, 10: great than or equal ++//Bit 8, src key enable ++//Bit 7:0, y src key ++#define HEVC_PSCALE_SRCKEY_CTRL0 (0x392a) ++#define P_HEVC_PSCALE_SRCKEY_CTRL0 (volatile unsigned int *)((0x392a << 2) + 0xff620000) ++//Bit 15:8, cb src key ++//Bit 7:0, cr src key ++#define HEVC_PSCALE_SRCKEY_CTRL1 (0x392b) ++#define P_HEVC_PSCALE_SRCKEY_CTRL1 (volatile unsigned int *)((0x392b << 2) + 0xff620000) ++//Bit 22:16 canvas_rd_addr2 ++//Bit 14:8 canvas_rd_addr1 ++//Bit 6:0 canvas_rd_addr1 ++#define HEVC_PSCALE_CANVAS_RD_ADDR (0x392c) ++#define P_HEVC_PSCALE_CANVAS_RD_ADDR (volatile unsigned int *)((0x392c << 2) + 0xff620000) ++//Bit 22:16 canvas_wr_addr2 ++//Bit 14:8 canvas_wr_addr1 ++//Bit 6:0 canvas_wr_addr1 ++#define HEVC_PSCALE_CANVAS_WR_ADDR (0x392d) ++#define P_HEVC_PSCALE_CANVAS_WR_ADDR (volatile unsigned int *)((0x392d << 2) + 0xff620000) ++//bit 13:8 pscale thread ID and token ++//bit 7 disable write response count adding to busy bit ++//bit 5:0 pscale prearbitor burst num ++#define HEVC_PSCALE_CTRL2 (0x392e) ++#define P_HEVC_PSCALE_CTRL2 (volatile unsigned int *)((0x392e << 2) + 0xff620000) ++// 31 - use_omem_mb_xy_auto ++//23:16 - omem_max_mb_x ++//15:8 - omem_mb_y_auto ++// 7:0 - omem_mb_x_auto ++#define HEVC_HDEC_MC_OMEM_AUTO (0x3930) ++#define P_HEVC_HDEC_MC_OMEM_AUTO (volatile unsigned int *)((0x3930 << 2) + 0xff620000) ++#define HEVC_HDEC_MC_MBRIGHT_IDX (0x3931) ++#define P_HEVC_HDEC_MC_MBRIGHT_IDX (volatile unsigned int *)((0x3931 << 2) + 0xff620000) ++#define HEVC_HDEC_MC_MBRIGHT_RD (0x3932) ++#define P_HEVC_HDEC_MC_MBRIGHT_RD (volatile unsigned int *)((0x3932 << 2) + 0xff620000) ++#define HEVC_MC_MPORT_CTRL (0x3940) ++#define P_HEVC_MC_MPORT_CTRL (volatile unsigned int *)((0x3940 << 2) + 0xff620000) ++#define HEVC_MC_MPORT_DAT (0x3941) ++#define P_HEVC_MC_MPORT_DAT (volatile unsigned int *)((0x3941 << 2) + 0xff620000) ++#define HEVC_MC_WT_PRED_CTRL (0x3942) ++#define P_HEVC_MC_WT_PRED_CTRL (volatile unsigned int *)((0x3942 << 2) + 0xff620000) ++#define HEVC_MC_MBBOT_ST_EVEN_ADDR (0x3944) ++#define P_HEVC_MC_MBBOT_ST_EVEN_ADDR (volatile unsigned int *)((0x3944 << 2) + 0xff620000) ++#define HEVC_MC_MBBOT_ST_ODD_ADDR (0x3945) ++#define P_HEVC_MC_MBBOT_ST_ODD_ADDR (volatile unsigned int *)((0x3945 << 2) + 0xff620000) ++#define HEVC_MC_DPDN_MB_XY (0x3946) ++#define P_HEVC_MC_DPDN_MB_XY (volatile unsigned int *)((0x3946 << 2) + 0xff620000) ++#define HEVC_MC_OMDN_MB_XY (0x3947) ++#define P_HEVC_MC_OMDN_MB_XY (volatile unsigned int *)((0x3947 << 2) + 0xff620000) ++#define HEVC_MC_HCMDBUF_H (0x3948) ++#define P_HEVC_MC_HCMDBUF_H (volatile unsigned int *)((0x3948 << 2) + 0xff620000) ++#define HEVC_MC_HCMDBUF_L (0x3949) ++#define P_HEVC_MC_HCMDBUF_L (volatile unsigned int *)((0x3949 << 2) + 0xff620000) ++#define HEVC_MC_HCMD_H (0x394a) ++#define P_HEVC_MC_HCMD_H (volatile unsigned int *)((0x394a << 2) + 0xff620000) ++#define HEVC_MC_HCMD_L (0x394b) ++#define P_HEVC_MC_HCMD_L (volatile unsigned int *)((0x394b << 2) + 0xff620000) ++#define HEVC_MC_IDCT_DAT (0x394c) ++#define P_HEVC_MC_IDCT_DAT (volatile unsigned int *)((0x394c << 2) + 0xff620000) ++#define HEVC_MC_CTRL_GCLK_CTRL (0x394d) ++#define P_HEVC_MC_CTRL_GCLK_CTRL (volatile unsigned int *)((0x394d << 2) + 0xff620000) ++#define HEVC_MC_OTHER_GCLK_CTRL (0x394e) ++#define P_HEVC_MC_OTHER_GCLK_CTRL (volatile unsigned int *)((0x394e << 2) + 0xff620000) ++//Bit 29:24, mbbot thread ID and token ++//Bit 21:16, mc read/write thread ID and token ++//Bit 13:8, mbbot pre-arbitor burst number ++//Bit 5:0, mc pre-arbitor burst number ++#define HEVC_MC_CTRL2 (0x394f) ++#define P_HEVC_MC_CTRL2 (volatile unsigned int *)((0x394f << 2) + 0xff620000) ++// `define DBLK_QUANT 8'h76 // ONLY for $ucode/real/amrisc/rv.s, reg value from apollo ++//`define ANC1_CANVAS_ADDR 8'h80 ++//`define ANC2_CANVAS_ADDR 8'h81 ++//`define REC_CANVAS_ADDR 8'h89 ++//`define MDEC_PIC_W 8'h8c ++//`define MDEC_PIC_H 8'h8d ++// mdec_pic_dc_mux_ctrl[31] -- mcr_hevc_mode ++#define HEVC_MDEC_PIC_DC_MUX_CTRL (0x398d) ++#define P_HEVC_MDEC_PIC_DC_MUX_CTRL (volatile unsigned int *)((0x398d << 2) + 0xff620000) ++#define HEVC_MDEC_PIC_DC_CTRL (0x398e) ++#define P_HEVC_MDEC_PIC_DC_CTRL (volatile unsigned int *)((0x398e << 2) + 0xff620000) ++#define HEVC_MDEC_PIC_DC_STATUS (0x398f) ++#define P_HEVC_MDEC_PIC_DC_STATUS (volatile unsigned int *)((0x398f << 2) + 0xff620000) ++#define HEVC_ANC0_CANVAS_ADDR (0x3990) ++#define P_HEVC_ANC0_CANVAS_ADDR (volatile unsigned int *)((0x3990 << 2) + 0xff620000) ++#define HEVC_ANC1_CANVAS_ADDR (0x3991) ++#define P_HEVC_ANC1_CANVAS_ADDR (volatile unsigned int *)((0x3991 << 2) + 0xff620000) ++#define HEVC_ANC2_CANVAS_ADDR (0x3992) ++#define P_HEVC_ANC2_CANVAS_ADDR (volatile unsigned int *)((0x3992 << 2) + 0xff620000) ++#define HEVC_ANC3_CANVAS_ADDR (0x3993) ++#define P_HEVC_ANC3_CANVAS_ADDR (volatile unsigned int *)((0x3993 << 2) + 0xff620000) ++#define HEVC_ANC4_CANVAS_ADDR (0x3994) ++#define P_HEVC_ANC4_CANVAS_ADDR (volatile unsigned int *)((0x3994 << 2) + 0xff620000) ++#define HEVC_ANC5_CANVAS_ADDR (0x3995) ++#define P_HEVC_ANC5_CANVAS_ADDR (volatile unsigned int *)((0x3995 << 2) + 0xff620000) ++#define HEVC_ANC6_CANVAS_ADDR (0x3996) ++#define P_HEVC_ANC6_CANVAS_ADDR (volatile unsigned int *)((0x3996 << 2) + 0xff620000) ++#define HEVC_ANC7_CANVAS_ADDR (0x3997) ++#define P_HEVC_ANC7_CANVAS_ADDR (volatile unsigned int *)((0x3997 << 2) + 0xff620000) ++#define HEVC_ANC8_CANVAS_ADDR (0x3998) ++#define P_HEVC_ANC8_CANVAS_ADDR (volatile unsigned int *)((0x3998 << 2) + 0xff620000) ++#define HEVC_ANC9_CANVAS_ADDR (0x3999) ++#define P_HEVC_ANC9_CANVAS_ADDR (volatile unsigned int *)((0x3999 << 2) + 0xff620000) ++#define HEVC_ANC10_CANVAS_ADDR (0x399a) ++#define P_HEVC_ANC10_CANVAS_ADDR (volatile unsigned int *)((0x399a << 2) + 0xff620000) ++#define HEVC_ANC11_CANVAS_ADDR (0x399b) ++#define P_HEVC_ANC11_CANVAS_ADDR (volatile unsigned int *)((0x399b << 2) + 0xff620000) ++#define HEVC_ANC12_CANVAS_ADDR (0x399c) ++#define P_HEVC_ANC12_CANVAS_ADDR (volatile unsigned int *)((0x399c << 2) + 0xff620000) ++#define HEVC_ANC13_CANVAS_ADDR (0x399d) ++#define P_HEVC_ANC13_CANVAS_ADDR (volatile unsigned int *)((0x399d << 2) + 0xff620000) ++#define HEVC_ANC14_CANVAS_ADDR (0x399e) ++#define P_HEVC_ANC14_CANVAS_ADDR (volatile unsigned int *)((0x399e << 2) + 0xff620000) ++#define HEVC_ANC15_CANVAS_ADDR (0x399f) ++#define P_HEVC_ANC15_CANVAS_ADDR (volatile unsigned int *)((0x399f << 2) + 0xff620000) ++#define HEVC_ANC16_CANVAS_ADDR (0x39a0) ++#define P_HEVC_ANC16_CANVAS_ADDR (volatile unsigned int *)((0x39a0 << 2) + 0xff620000) ++#define HEVC_ANC17_CANVAS_ADDR (0x39a1) ++#define P_HEVC_ANC17_CANVAS_ADDR (volatile unsigned int *)((0x39a1 << 2) + 0xff620000) ++#define HEVC_ANC18_CANVAS_ADDR (0x39a2) ++#define P_HEVC_ANC18_CANVAS_ADDR (volatile unsigned int *)((0x39a2 << 2) + 0xff620000) ++#define HEVC_ANC19_CANVAS_ADDR (0x39a3) ++#define P_HEVC_ANC19_CANVAS_ADDR (volatile unsigned int *)((0x39a3 << 2) + 0xff620000) ++#define HEVC_ANC20_CANVAS_ADDR (0x39a4) ++#define P_HEVC_ANC20_CANVAS_ADDR (volatile unsigned int *)((0x39a4 << 2) + 0xff620000) ++#define HEVC_ANC21_CANVAS_ADDR (0x39a5) ++#define P_HEVC_ANC21_CANVAS_ADDR (volatile unsigned int *)((0x39a5 << 2) + 0xff620000) ++#define HEVC_ANC22_CANVAS_ADDR (0x39a6) ++#define P_HEVC_ANC22_CANVAS_ADDR (volatile unsigned int *)((0x39a6 << 2) + 0xff620000) ++#define HEVC_ANC23_CANVAS_ADDR (0x39a7) ++#define P_HEVC_ANC23_CANVAS_ADDR (volatile unsigned int *)((0x39a7 << 2) + 0xff620000) ++#define HEVC_ANC24_CANVAS_ADDR (0x39a8) ++#define P_HEVC_ANC24_CANVAS_ADDR (volatile unsigned int *)((0x39a8 << 2) + 0xff620000) ++#define HEVC_ANC25_CANVAS_ADDR (0x39a9) ++#define P_HEVC_ANC25_CANVAS_ADDR (volatile unsigned int *)((0x39a9 << 2) + 0xff620000) ++#define HEVC_ANC26_CANVAS_ADDR (0x39aa) ++#define P_HEVC_ANC26_CANVAS_ADDR (volatile unsigned int *)((0x39aa << 2) + 0xff620000) ++#define HEVC_ANC27_CANVAS_ADDR (0x39ab) ++#define P_HEVC_ANC27_CANVAS_ADDR (volatile unsigned int *)((0x39ab << 2) + 0xff620000) ++#define HEVC_ANC28_CANVAS_ADDR (0x39ac) ++#define P_HEVC_ANC28_CANVAS_ADDR (volatile unsigned int *)((0x39ac << 2) + 0xff620000) ++#define HEVC_ANC29_CANVAS_ADDR (0x39ad) ++#define P_HEVC_ANC29_CANVAS_ADDR (volatile unsigned int *)((0x39ad << 2) + 0xff620000) ++#define HEVC_ANC30_CANVAS_ADDR (0x39ae) ++#define P_HEVC_ANC30_CANVAS_ADDR (volatile unsigned int *)((0x39ae << 2) + 0xff620000) ++#define HEVC_ANC31_CANVAS_ADDR (0x39af) ++#define P_HEVC_ANC31_CANVAS_ADDR (volatile unsigned int *)((0x39af << 2) + 0xff620000) ++#define HEVC_DBKR_CANVAS_ADDR (0x39b0) ++#define P_HEVC_DBKR_CANVAS_ADDR (volatile unsigned int *)((0x39b0 << 2) + 0xff620000) ++#define HEVC_DBKW_CANVAS_ADDR (0x39b1) ++#define P_HEVC_DBKW_CANVAS_ADDR (volatile unsigned int *)((0x39b1 << 2) + 0xff620000) ++#define HEVC_REC_CANVAS_ADDR (0x39b2) ++#define P_HEVC_REC_CANVAS_ADDR (volatile unsigned int *)((0x39b2 << 2) + 0xff620000) ++//28:24, read/write, current canvas idx, used in h264 only now ++//23:0, read only, current canvas address, 23:16, Cr canvas addr, 15:8, Cb canvas addr, 7:0, Y canvas addr ++#define HEVC_CURR_CANVAS_CTRL (0x39b3) ++#define P_HEVC_CURR_CANVAS_CTRL (volatile unsigned int *)((0x39b3 << 2) + 0xff620000) ++#define HEVC_MDEC_PIC_DC_THRESH (0x39b8) ++#define P_HEVC_MDEC_PIC_DC_THRESH (volatile unsigned int *)((0x39b8 << 2) + 0xff620000) ++#define HEVC_MDEC_PICR_BUF_STATUS (0x39b9) ++#define P_HEVC_MDEC_PICR_BUF_STATUS (volatile unsigned int *)((0x39b9 << 2) + 0xff620000) ++#define HEVC_MDEC_PICW_BUF_STATUS (0x39ba) ++#define P_HEVC_MDEC_PICW_BUF_STATUS (volatile unsigned int *)((0x39ba << 2) + 0xff620000) ++#define HEVC_MCW_DBLK_WRRSP_CNT (0x39bb) ++#define P_HEVC_MCW_DBLK_WRRSP_CNT (volatile unsigned int *)((0x39bb << 2) + 0xff620000) ++#define HEVC_MC_MBBOT_WRRSP_CNT (0x39bc) ++#define P_HEVC_MC_MBBOT_WRRSP_CNT (volatile unsigned int *)((0x39bc << 2) + 0xff620000) ++#define HEVC_MDEC_PICW_BUF2_STATUS (0x39bd) ++#define P_HEVC_MDEC_PICW_BUF2_STATUS (volatile unsigned int *)((0x39bd << 2) + 0xff620000) ++#define HEVC_WRRSP_FIFO_PICW_DBK (0x39be) ++#define P_HEVC_WRRSP_FIFO_PICW_DBK (volatile unsigned int *)((0x39be << 2) + 0xff620000) ++#define HEVC_WRRSP_FIFO_PICW_MC (0x39bf) ++#define P_HEVC_WRRSP_FIFO_PICW_MC (volatile unsigned int *)((0x39bf << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_0 (0x39c0) ++#define P_HEVC_AV_SCRATCH_0 (volatile unsigned int *)((0x39c0 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_1 (0x39c1) ++#define P_HEVC_AV_SCRATCH_1 (volatile unsigned int *)((0x39c1 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_2 (0x39c2) ++#define P_HEVC_AV_SCRATCH_2 (volatile unsigned int *)((0x39c2 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_3 (0x39c3) ++#define P_HEVC_AV_SCRATCH_3 (volatile unsigned int *)((0x39c3 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_4 (0x39c4) ++#define P_HEVC_AV_SCRATCH_4 (volatile unsigned int *)((0x39c4 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_5 (0x39c5) ++#define P_HEVC_AV_SCRATCH_5 (volatile unsigned int *)((0x39c5 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_6 (0x39c6) ++#define P_HEVC_AV_SCRATCH_6 (volatile unsigned int *)((0x39c6 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_7 (0x39c7) ++#define P_HEVC_AV_SCRATCH_7 (volatile unsigned int *)((0x39c7 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_8 (0x39c8) ++#define P_HEVC_AV_SCRATCH_8 (volatile unsigned int *)((0x39c8 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_9 (0x39c9) ++#define P_HEVC_AV_SCRATCH_9 (volatile unsigned int *)((0x39c9 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_A (0x39ca) ++#define P_HEVC_AV_SCRATCH_A (volatile unsigned int *)((0x39ca << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_B (0x39cb) ++#define P_HEVC_AV_SCRATCH_B (volatile unsigned int *)((0x39cb << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_C (0x39cc) ++#define P_HEVC_AV_SCRATCH_C (volatile unsigned int *)((0x39cc << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_D (0x39cd) ++#define P_HEVC_AV_SCRATCH_D (volatile unsigned int *)((0x39cd << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_E (0x39ce) ++#define P_HEVC_AV_SCRATCH_E (volatile unsigned int *)((0x39ce << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_F (0x39cf) ++#define P_HEVC_AV_SCRATCH_F (volatile unsigned int *)((0x39cf << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_G (0x39d0) ++#define P_HEVC_AV_SCRATCH_G (volatile unsigned int *)((0x39d0 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_H (0x39d1) ++#define P_HEVC_AV_SCRATCH_H (volatile unsigned int *)((0x39d1 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_I (0x39d2) ++#define P_HEVC_AV_SCRATCH_I (volatile unsigned int *)((0x39d2 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_J (0x39d3) ++#define P_HEVC_AV_SCRATCH_J (volatile unsigned int *)((0x39d3 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_K (0x39d4) ++#define P_HEVC_AV_SCRATCH_K (volatile unsigned int *)((0x39d4 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_L (0x39d5) ++#define P_HEVC_AV_SCRATCH_L (volatile unsigned int *)((0x39d5 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_M (0x39d6) ++#define P_HEVC_AV_SCRATCH_M (volatile unsigned int *)((0x39d6 << 2) + 0xff620000) ++#define HEVC_AV_SCRATCH_N (0x39d7) ++#define P_HEVC_AV_SCRATCH_N (volatile unsigned int *)((0x39d7 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_co_mb ++// bit[21:16] A_id_co_mb ++// bit[11:0] wrrsp_count_co_mb ++#define HEVC_WRRSP_CO_MB (0x39d8) ++#define P_HEVC_WRRSP_CO_MB (volatile unsigned int *)((0x39d8 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_dcac ++// bit[21:16] A_id_dcac ++// bit[11:0] wrrsp_count_dcac ++#define HEVC_WRRSP_DCAC (0x39d9) ++#define P_HEVC_WRRSP_DCAC (volatile unsigned int *)((0x39d9 << 2) + 0xff620000) ++// bit[11:0] wrrsp_count_vld ++#define HEVC_WRRSP_VLD (0x39da) ++#define P_HEVC_WRRSP_VLD (volatile unsigned int *)((0x39da << 2) + 0xff620000) ++// doublew_cfg0[0]; // Second Channel Enable, 1:Enable 0:Disable ++// doublew_cfg0[3:1]; // [2:0] Endian Control for Luma ++// doublew_cfg0[5:4]; // [1:0] Pixel sel by horizontal, 0x:1/2 10:left 11:right ++// doublew_cfg0[7:6]; // [1:0] Pixel sel by vertical, 0x:1/2 10:up 11:down ++// doublew_cfg0[8]; // Size by horizontal, 0:original size 1: 1/2 shrunken size ++// doublew_cfg0[9]; // Size by vertical, 0:original size 1: 1/2 shrunken size ++// doublew_cfg0[10]; // 1:Round 0:Truncation ++// doublew_cfg0[11]; // DMA Urgent ++// doublew_cfg0[17:12]; // [5:0] DMA Burst Number ++// doublew_cfg0[23:18]; // [5:0] DMA ID ++// doublew_cfg0[26:24]; // [2:0] Endian Control for Chroma ++// doublew_cfg0[27]; // Source from, 1:MCW 0:DBLK ++// doublew_cfg0[29:28]; // [1:0] 0x:select both top and bottom 10:select top 11:select bottom ++// doublew_cfg0[30]; // 0:no merge 1:automatic merge ++// doublew_cfg0[31]; // 0:Y addr no change 1:Y addr divided to half ++#define HEVC_MDEC_DOUBLEW_CFG0 (0x39db) ++#define P_HEVC_MDEC_DOUBLEW_CFG0 (volatile unsigned int *)((0x39db << 2) + 0xff620000) ++// doublew_cfg1[7:0]; // [7:0] DMA Canvas Address for Luma ++// doublew_cfg1[15:8]; // [7:0] DMA Canvas Address for Chroma ++// doublew_cfg1[16]; // Disable 1st Write - ++// doublew_cfg1[17]; // Reverse to original version - ++// doublew_cfg1[18]; // DMA Address Mode - 0:Canvas Mode 1:Non-Canvas Mode ++#define HEVC_MDEC_DOUBLEW_CFG1 (0x39dc) ++#define P_HEVC_MDEC_DOUBLEW_CFG1 (volatile unsigned int *)((0x39dc << 2) + 0xff620000) ++// doublew_cfg2[11:0]; //[11:0] vertical flip initial value ++// doublew_cfg2[15]; // vertical flip enable ++// doublew_cfg2[24:16]; // [8:0] horizontal flip initial value ++// doublew_cfg2[31]; // horizontal flip enable ++#define HEVC_MDEC_DOUBLEW_CFG2 (0x39dd) ++#define P_HEVC_MDEC_DOUBLEW_CFG2 (volatile unsigned int *)((0x39dd << 2) + 0xff620000) ++// doublew_cfg3[31:0]; //[31:0] non-canvas start address for Luma - ++#define HEVC_MDEC_DOUBLEW_CFG3 (0x39de) ++#define P_HEVC_MDEC_DOUBLEW_CFG3 (volatile unsigned int *)((0x39de << 2) + 0xff620000) ++// doublew_cfg4[31:0]; //[31:0] non-canvas start address for Chroma - ++#define HEVC_MDEC_DOUBLEW_CFG4 (0x39df) ++#define P_HEVC_MDEC_DOUBLEW_CFG4 (volatile unsigned int *)((0x39df << 2) + 0xff620000) ++// doublew_cfg5[12:0]; //[12:0] non-canvas picture width for Luma - ++// doublew_cfg5[28:16]; //[12:0] non-canvas picture width for Chroma - ++#define HEVC_MDEC_DOUBLEW_CFG5 (0x39e0) ++#define P_HEVC_MDEC_DOUBLEW_CFG5 (volatile unsigned int *)((0x39e0 << 2) + 0xff620000) ++// doublew_cfg6: reserved ++#define HEVC_MDEC_DOUBLEW_CFG6 (0x39e1) ++#define P_HEVC_MDEC_DOUBLEW_CFG6 (volatile unsigned int *)((0x39e1 << 2) + 0xff620000) ++// doublew_cfg7: reserved ++#define HEVC_MDEC_DOUBLEW_CFG7 (0x39e2) ++#define P_HEVC_MDEC_DOUBLEW_CFG7 (volatile unsigned int *)((0x39e2 << 2) + 0xff620000) ++// doublew_status[11:0];//[11:0] wrrsp_count_doublew ++// doublew_status[12]; // doublew_status_busy ++// doublew_status[13]; // doublew_status_error ++#define HEVC_MDEC_DOUBLEW_STATUS (0x39e3) ++#define P_HEVC_MDEC_DOUBLEW_STATUS (volatile unsigned int *)((0x39e3 << 2) + 0xff620000) ++#define HEVC_MDEC_EXTIF_CFG0 (0x39e4) ++#define P_HEVC_MDEC_EXTIF_CFG0 (volatile unsigned int *)((0x39e4 << 2) + 0xff620000) ++#define HEVC_MDEC_EXTIF_CFG1 (0x39e5) ++#define P_HEVC_MDEC_EXTIF_CFG1 (volatile unsigned int *)((0x39e5 << 2) + 0xff620000) ++#define HEVC_MDEC_EXTIF_STS0 (0x39e6) ++#define P_HEVC_MDEC_EXTIF_STS0 (volatile unsigned int *)((0x39e6 << 2) + 0xff620000) ++//====================================== ++// MC Control Register Bits ++// ++//====================================== ++// For bits, just copy the defines...don't translate to addresses ++ //`define MC_RESET 16'h0002 ++//====================================== ++// MB Info Register Bits ++// ++//====================================== ++//====================================== ++// MB Info Register Bits ++// ++//====================================== ++//======================================================================== ++// DBLK Register: 12'h950 - 12'h97f ++//======================================================================== ++#define HEVC_DBLK_RST (0x3950) ++#define P_HEVC_DBLK_RST (volatile unsigned int *)((0x3950 << 2) + 0xff620000) ++#define HEVC_DBLK_CTRL (0x3951) ++#define P_HEVC_DBLK_CTRL (volatile unsigned int *)((0x3951 << 2) + 0xff620000) ++#define HEVC_DBLK_MB_WID_HEIGHT (0x3952) ++#define P_HEVC_DBLK_MB_WID_HEIGHT (volatile unsigned int *)((0x3952 << 2) + 0xff620000) ++#define HEVC_DBLK_STATUS (0x3953) ++#define P_HEVC_DBLK_STATUS (volatile unsigned int *)((0x3953 << 2) + 0xff620000) ++#define HEVC_DBLK_CMD_CTRL (0x3954) ++#define P_HEVC_DBLK_CMD_CTRL (volatile unsigned int *)((0x3954 << 2) + 0xff620000) ++#define HEVC_DBLK_MB_XY (0x3955) ++#define P_HEVC_DBLK_MB_XY (volatile unsigned int *)((0x3955 << 2) + 0xff620000) ++#define HEVC_DBLK_QP (0x3956) ++#define P_HEVC_DBLK_QP (volatile unsigned int *)((0x3956 << 2) + 0xff620000) ++#define HEVC_DBLK_Y_BHFILT (0x3957) ++#define P_HEVC_DBLK_Y_BHFILT (volatile unsigned int *)((0x3957 << 2) + 0xff620000) ++#define HEVC_DBLK_Y_BHFILT_HIGH (0x3958) ++#define P_HEVC_DBLK_Y_BHFILT_HIGH (volatile unsigned int *)((0x3958 << 2) + 0xff620000) ++#define HEVC_DBLK_Y_BVFILT (0x3959) ++#define P_HEVC_DBLK_Y_BVFILT (volatile unsigned int *)((0x3959 << 2) + 0xff620000) ++#define HEVC_DBLK_CB_BFILT (0x395a) ++#define P_HEVC_DBLK_CB_BFILT (volatile unsigned int *)((0x395a << 2) + 0xff620000) ++#define HEVC_DBLK_CR_BFILT (0x395b) ++#define P_HEVC_DBLK_CR_BFILT (volatile unsigned int *)((0x395b << 2) + 0xff620000) ++#define HEVC_DBLK_Y_HFILT (0x395c) ++#define P_HEVC_DBLK_Y_HFILT (volatile unsigned int *)((0x395c << 2) + 0xff620000) ++#define HEVC_DBLK_Y_HFILT_HIGH (0x395d) ++#define P_HEVC_DBLK_Y_HFILT_HIGH (volatile unsigned int *)((0x395d << 2) + 0xff620000) ++#define HEVC_DBLK_Y_VFILT (0x395e) ++#define P_HEVC_DBLK_Y_VFILT (volatile unsigned int *)((0x395e << 2) + 0xff620000) ++#define HEVC_DBLK_CB_FILT (0x395f) ++#define P_HEVC_DBLK_CB_FILT (volatile unsigned int *)((0x395f << 2) + 0xff620000) ++#define HEVC_DBLK_CR_FILT (0x3960) ++#define P_HEVC_DBLK_CR_FILT (volatile unsigned int *)((0x3960 << 2) + 0xff620000) ++#define HEVC_DBLK_BETAX_QP_SEL (0x3961) ++#define P_HEVC_DBLK_BETAX_QP_SEL (volatile unsigned int *)((0x3961 << 2) + 0xff620000) ++#define HEVC_DBLK_CLIP_CTRL0 (0x3962) ++#define P_HEVC_DBLK_CLIP_CTRL0 (volatile unsigned int *)((0x3962 << 2) + 0xff620000) ++#define HEVC_DBLK_CLIP_CTRL1 (0x3963) ++#define P_HEVC_DBLK_CLIP_CTRL1 (volatile unsigned int *)((0x3963 << 2) + 0xff620000) ++#define HEVC_DBLK_CLIP_CTRL2 (0x3964) ++#define P_HEVC_DBLK_CLIP_CTRL2 (volatile unsigned int *)((0x3964 << 2) + 0xff620000) ++#define HEVC_DBLK_CLIP_CTRL3 (0x3965) ++#define P_HEVC_DBLK_CLIP_CTRL3 (volatile unsigned int *)((0x3965 << 2) + 0xff620000) ++#define HEVC_DBLK_CLIP_CTRL4 (0x3966) ++#define P_HEVC_DBLK_CLIP_CTRL4 (volatile unsigned int *)((0x3966 << 2) + 0xff620000) ++#define HEVC_DBLK_CLIP_CTRL5 (0x3967) ++#define P_HEVC_DBLK_CLIP_CTRL5 (volatile unsigned int *)((0x3967 << 2) + 0xff620000) ++#define HEVC_DBLK_CLIP_CTRL6 (0x3968) ++#define P_HEVC_DBLK_CLIP_CTRL6 (volatile unsigned int *)((0x3968 << 2) + 0xff620000) ++#define HEVC_DBLK_CLIP_CTRL7 (0x3969) ++#define P_HEVC_DBLK_CLIP_CTRL7 (volatile unsigned int *)((0x3969 << 2) + 0xff620000) ++#define HEVC_DBLK_CLIP_CTRL8 (0x396a) ++#define P_HEVC_DBLK_CLIP_CTRL8 (volatile unsigned int *)((0x396a << 2) + 0xff620000) ++#define HEVC_DBLK_STATUS1 (0x396b) ++#define P_HEVC_DBLK_STATUS1 (volatile unsigned int *)((0x396b << 2) + 0xff620000) ++#define HEVC_DBLK_GCLK_FREE (0x396c) ++#define P_HEVC_DBLK_GCLK_FREE (volatile unsigned int *)((0x396c << 2) + 0xff620000) ++#define HEVC_DBLK_GCLK_OFF (0x396d) ++#define P_HEVC_DBLK_GCLK_OFF (volatile unsigned int *)((0x396d << 2) + 0xff620000) ++#define HEVC_DBLK_AVSFLAGS (0x396e) ++#define P_HEVC_DBLK_AVSFLAGS (volatile unsigned int *)((0x396e << 2) + 0xff620000) ++// bit 15:0 ++#define HEVC_DBLK_CBPY (0x3970) ++#define P_HEVC_DBLK_CBPY (volatile unsigned int *)((0x3970 << 2) + 0xff620000) ++// bit 11:8 -- deblk_cbpy_bottom ++// bit 7:4 -- deblk_cbpy_left ++// bit 3:0 -- deblk_cbpy_top ++#define HEVC_DBLK_CBPY_ADJ (0x3971) ++#define P_HEVC_DBLK_CBPY_ADJ (volatile unsigned int *)((0x3971 << 2) + 0xff620000) ++// bit 7:0 -- deblk_cbpc ++#define HEVC_DBLK_CBPC (0x3972) ++#define P_HEVC_DBLK_CBPC (volatile unsigned int *)((0x3972 << 2) + 0xff620000) ++// bit 15 -- bottom_mb ++// bit 14 -- left_mb ++// bit 13 -- top_mb ++// bit 12 -- reserved ++// bit 11:8 -- deblk_cbpc_bottom ++// bit 7:4 -- deblk_cbpc_left ++// bit 3:0 -- deblk_cbpc_top ++#define HEVC_DBLK_CBPC_ADJ (0x3973) ++#define P_HEVC_DBLK_CBPC_ADJ (volatile unsigned int *)((0x3973 << 2) + 0xff620000) ++// bit 15:8 -- deblk_hmvd -- {left_1, left_0, below_1, below_0, block3-0} ++// bit 7:0 -- deblk_vmvd -- {top_1, top_0, below_1, below_0, block3-0} ++#define HEVC_DBLK_VHMVD (0x3974) ++#define P_HEVC_DBLK_VHMVD (volatile unsigned int *)((0x3974 << 2) + 0xff620000) ++// bit 13:12 -- right_vmvd ++// bit 11 -- right_above_vmvd ++// bit 10 -- left_below_hmvd ++// bit 9 -- disable_dblk_luma ++// bit 8 -- disable_dblk_chroma ++// bit 7 -- bBelowRefDiff ++// bit 6 -- bLeftRefDiff ++// bit 5 -- bAboveRefDiff ++// bit 4 -- reserved ++// bit 3 -- s_below ++// bit 2 -- s_left ++// bit 1 -- s_above ++// bit 0 -- s ++#define HEVC_DBLK_STRONG (0x3975) ++#define P_HEVC_DBLK_STRONG (volatile unsigned int *)((0x3975 << 2) + 0xff620000) ++// bit 14:10 -- PQUANT ++// bit 9:5 -- left_PQUANT ++// bit 4:0 -- top_PQUANT ++#define HEVC_DBLK_RV8_QUANT (0x3976) ++#define P_HEVC_DBLK_RV8_QUANT (volatile unsigned int *)((0x3976 << 2) + 0xff620000) ++#define HEVC_DBLK_CBUS_HCMD2 (0x3977) ++#define P_HEVC_DBLK_CBUS_HCMD2 (volatile unsigned int *)((0x3977 << 2) + 0xff620000) ++#define HEVC_DBLK_CBUS_HCMD1 (0x3978) ++#define P_HEVC_DBLK_CBUS_HCMD1 (volatile unsigned int *)((0x3978 << 2) + 0xff620000) ++#define HEVC_DBLK_CBUS_HCMD0 (0x3979) ++#define P_HEVC_DBLK_CBUS_HCMD0 (volatile unsigned int *)((0x3979 << 2) + 0xff620000) ++#define HEVC_DBLK_VLD_HCMD2 (0x397a) ++#define P_HEVC_DBLK_VLD_HCMD2 (volatile unsigned int *)((0x397a << 2) + 0xff620000) ++#define HEVC_DBLK_VLD_HCMD1 (0x397b) ++#define P_HEVC_DBLK_VLD_HCMD1 (volatile unsigned int *)((0x397b << 2) + 0xff620000) ++#define HEVC_DBLK_VLD_HCMD0 (0x397c) ++#define P_HEVC_DBLK_VLD_HCMD0 (volatile unsigned int *)((0x397c << 2) + 0xff620000) ++#define HEVC_DBLK_OST_YBASE (0x397d) ++#define P_HEVC_DBLK_OST_YBASE (volatile unsigned int *)((0x397d << 2) + 0xff620000) ++#define HEVC_DBLK_OST_CBCRDIFF (0x397e) ++#define P_HEVC_DBLK_OST_CBCRDIFF (volatile unsigned int *)((0x397e << 2) + 0xff620000) ++//13:8 dblk thread ID and token ++//5:0 dblk prearbitor burst num ++#define HEVC_DBLK_CTRL1 (0x397f) ++#define P_HEVC_DBLK_CTRL1 (volatile unsigned int *)((0x397f << 2) + 0xff620000) ++// MCRCC_CTL1 ++// 31:3 ++// 2 ++// 1 ++// 0 ++#define HEVC_MCRCC_CTL1 (0x3980) ++#define P_HEVC_MCRCC_CTL1 (volatile unsigned int *)((0x3980 << 2) + 0xff620000) ++// MCRCC_CTL2 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define HEVC_MCRCC_CTL2 (0x3981) ++#define P_HEVC_MCRCC_CTL2 (volatile unsigned int *)((0x3981 << 2) + 0xff620000) ++// MCRCC_CTL3 ++// 31:24 ++// 23:16 ++// 15:8 ++// 7:0 ++#define HEVC_MCRCC_CTL3 (0x3982) ++#define P_HEVC_MCRCC_CTL3 (volatile unsigned int *)((0x3982 << 2) + 0xff620000) ++// bit[31:10] reserved ++// bit[9:0] sw_clock_gating control ++// [9] vdec clk_en for assist and cbus. ++// [8] vdec clk_en for ddr ++// [7] vdec clk_en for vcpu ++// [6] vdec clk_en for assist ++// [5] vdec clk_en for dblk ++// [4] vdec clk_en for iqidct ++// [3] vdec clk_en for mc ++// [2] vdec clk_en for pic_dc ++// [1] vdec clk_en for psc ++// [0] vdec clk_en for vld ++#define HEVC_GCLK_EN (0x3983) ++#define P_HEVC_GCLK_EN (volatile unsigned int *)((0x3983 << 2) + 0xff620000) ++// [0] Reserved ++// [1] Reserved ++// [2] Reset assist, mdec's CBUS ++// [3] Reset mdec's VLD ++// [4] Reset mdec's VLD ++// [5] Reset mdec's VLD ++// [6] Reset mdec's IQIDCT ++// [7] Reset mdec's MC ++// [8] Reset mdec's DBLK ++// [9] Reset mdec's PIC_DC ++// [10] Reset mdec's Pscale ++// [11] Reset vcpu's MCPU ++// [12] Reset vcpu's CCPU ++// [13] Reset mmc_pre_arb ++#define HEVC_MDEC_SW_RESET (0x3984) ++#define P_HEVC_MDEC_SW_RESET (volatile unsigned int *)((0x3984 << 2) + 0xff620000) ++//DBLK last address 12'h97f ++// ++// Closing file: mdec_regs.h ++// ++// ++// Reading file: vld_regs.h ++// ++//======================================================================== ++// VLD module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_VLD_CBUS_BASE = 0x0c ++// ----------------------------------------------- ++#define HCODEC_VLD_STATUS_CTRL (0x1c00) ++#define P_HCODEC_VLD_STATUS_CTRL (volatile unsigned int *)((0x1c00 << 2) + 0xff620000) ++// ++// bit 10 -- use_old_shift_en ++// bit 9 -- output_mv_not_pmv ++// bit 8:5 -- force_zigzag ++// bit 4 -- force_zigzag_en ++// bit 3 -- disable_viff_anempty_int ++// bit 2 -- disable_m2_ac_coeff_one_cycle ++// bit 1 -- forced_reset force reset pmv ++// bit 0 -- mpeg_type 0:mpeg1 1: mpeg2 ++#define HCODEC_MPEG1_2_REG (0x1c01) ++#define P_HCODEC_MPEG1_2_REG (volatile unsigned int *)((0x1c01 << 2) + 0xff620000) ++#define HCODEC_F_CODE_REG (0x1c02) ++#define P_HCODEC_F_CODE_REG (volatile unsigned int *)((0x1c02 << 2) + 0xff620000) ++#define HCODEC_PIC_HEAD_INFO (0x1c03) ++#define P_HCODEC_PIC_HEAD_INFO (volatile unsigned int *)((0x1c03 << 2) + 0xff620000) ++#define HCODEC_SLICE_VER_POS_PIC_TYPE (0x1c04) ++#define P_HCODEC_SLICE_VER_POS_PIC_TYPE (volatile unsigned int *)((0x1c04 << 2) + 0xff620000) ++#define HCODEC_QP_VALUE_REG (0x1c05) ++#define P_HCODEC_QP_VALUE_REG (volatile unsigned int *)((0x1c05 << 2) + 0xff620000) ++#define HCODEC_MBA_INC (0x1c06) ++#define P_HCODEC_MBA_INC (volatile unsigned int *)((0x1c06 << 2) + 0xff620000) ++#define HCODEC_MB_MOTION_MODE (0x1c07) ++#define P_HCODEC_MB_MOTION_MODE (volatile unsigned int *)((0x1c07 << 2) + 0xff620000) ++//`define PACKET_BYTE_COUNT 8'h08 ++// bit 15 -- force_search_startcode_en ++// bit 14 -- int_cpu_when_error (before do anything) ++// bit 13 -- vld_error_reset ++// bit 12 -- return_on_slice_header ++// bit 6 -- jpeg_ff00_en ++// bit 5:0 -- vld_power_ctl ++#define HCODEC_POWER_CTL_VLD (0x1c08) ++#define P_HCODEC_POWER_CTL_VLD (volatile unsigned int *)((0x1c08 << 2) + 0xff620000) ++#define HCODEC_MB_WIDTH (0x1c09) ++#define P_HCODEC_MB_WIDTH (volatile unsigned int *)((0x1c09 << 2) + 0xff620000) ++#define HCODEC_SLICE_QP (0x1c0a) ++#define P_HCODEC_SLICE_QP (volatile unsigned int *)((0x1c0a << 2) + 0xff620000) ++// `define MB_X_MB_Y 8'h0b /* current MBX and MBY */ ++#define HCODEC_PRE_START_CODE (0x1c0b) ++#define P_HCODEC_PRE_START_CODE (volatile unsigned int *)((0x1c0b << 2) + 0xff620000) ++#define HCODEC_SLICE_START_BYTE_01 (0x1c0c) ++#define P_HCODEC_SLICE_START_BYTE_01 (volatile unsigned int *)((0x1c0c << 2) + 0xff620000) ++#define HCODEC_SLICE_START_BYTE_23 (0x1c0d) ++#define P_HCODEC_SLICE_START_BYTE_23 (volatile unsigned int *)((0x1c0d << 2) + 0xff620000) ++#define HCODEC_RESYNC_MARKER_LENGTH (0x1c0e) ++#define P_HCODEC_RESYNC_MARKER_LENGTH (volatile unsigned int *)((0x1c0e << 2) + 0xff620000) ++// bit[6:5] - frame/field info, 01 - top, 10 - bottom, 11 - frame ++// bit[4:0] - buffer ID ++// L0_BUFF_ID_0, L0_BUFF_ID_1, L1_BUFF_ID_0, L1_BUFF_ID_1 ++#define HCODEC_DECODER_BUFFER_INFO (0x1c0f) ++#define P_HCODEC_DECODER_BUFFER_INFO (volatile unsigned int *)((0x1c0f << 2) + 0xff620000) ++#define HCODEC_FST_FOR_MV_X (0x1c10) ++#define P_HCODEC_FST_FOR_MV_X (volatile unsigned int *)((0x1c10 << 2) + 0xff620000) ++#define HCODEC_FST_FOR_MV_Y (0x1c11) ++#define P_HCODEC_FST_FOR_MV_Y (volatile unsigned int *)((0x1c11 << 2) + 0xff620000) ++#define HCODEC_SCD_FOR_MV_X (0x1c12) ++#define P_HCODEC_SCD_FOR_MV_X (volatile unsigned int *)((0x1c12 << 2) + 0xff620000) ++#define HCODEC_SCD_FOR_MV_Y (0x1c13) ++#define P_HCODEC_SCD_FOR_MV_Y (volatile unsigned int *)((0x1c13 << 2) + 0xff620000) ++#define HCODEC_FST_BAK_MV_X (0x1c14) ++#define P_HCODEC_FST_BAK_MV_X (volatile unsigned int *)((0x1c14 << 2) + 0xff620000) ++#define HCODEC_FST_BAK_MV_Y (0x1c15) ++#define P_HCODEC_FST_BAK_MV_Y (volatile unsigned int *)((0x1c15 << 2) + 0xff620000) ++#define HCODEC_SCD_BAK_MV_X (0x1c16) ++#define P_HCODEC_SCD_BAK_MV_X (volatile unsigned int *)((0x1c16 << 2) + 0xff620000) ++#define HCODEC_SCD_BAK_MV_Y (0x1c17) ++#define P_HCODEC_SCD_BAK_MV_Y (volatile unsigned int *)((0x1c17 << 2) + 0xff620000) ++// Bit 7:4 -- read_buffer_interlace 0-progressive, 1-interlace, used in VC1 ++// bit 3 -- disable_new_stcode_search_fix // From GXM ++// bit 2 -- weighting_prediction ++// bit 1 -- mb_weighting_flag ++// bit 0 -- slice_weighting_flag ++#define HCODEC_VLD_DECODE_CONTROL (0x1c18) ++#define P_HCODEC_VLD_DECODE_CONTROL (volatile unsigned int *)((0x1c18 << 2) + 0xff620000) ++#define HCODEC_VLD_REVERVED_19 (0x1c19) ++#define P_HCODEC_VLD_REVERVED_19 (volatile unsigned int *)((0x1c19 << 2) + 0xff620000) ++#define HCODEC_VIFF_BIT_CNT (0x1c1a) ++#define P_HCODEC_VIFF_BIT_CNT (volatile unsigned int *)((0x1c1a << 2) + 0xff620000) ++#define HCODEC_BYTE_ALIGN_PEAK_HI (0x1c1b) ++#define P_HCODEC_BYTE_ALIGN_PEAK_HI (volatile unsigned int *)((0x1c1b << 2) + 0xff620000) ++#define HCODEC_BYTE_ALIGN_PEAK_LO (0x1c1c) ++#define P_HCODEC_BYTE_ALIGN_PEAK_LO (volatile unsigned int *)((0x1c1c << 2) + 0xff620000) ++#define HCODEC_NEXT_ALIGN_PEAK (0x1c1d) ++#define P_HCODEC_NEXT_ALIGN_PEAK (volatile unsigned int *)((0x1c1d << 2) + 0xff620000) ++// bit 31 : byte_aligned_zero_23_from_org // From GXM ++// bit 30 : force_shift_out_drop_flag_zero // From GXM ++// bit 29 : en_st_protect_from_org // From GXM ++// bit 28 : enable_halt_decode_start_voff ++// bit 27 : disable_C_pred_check ++// bit 26 : disable_I4_pred_check ++// bit 25 : disable_I16_pred_check ++// bit 24 : check_avs_1st_drop ++// bit 23 : enable_cabac_protect // From GXM ++// bit 22 : enable_avs_drop_more ++// bit 21 : reset_avs_drop_ptr ++// bit 20 : reset_cabac_use_next_at_end_req ++// bit 19 : vc1_inv_intra_co_mb_ref_rd ++// bit 18 : vc1_inv_co_mb_ref_rd ++// bit 17 : vc1_inv_intra_co_mb_ref_wr ++// bit 16 : vc1_inv_co_mb_ref_wr ++// bit 15 : disable_mv_cal_begin_only ++// bit 14 : avs_drop_enable ++// bit 13:12 : avs_drop_ptr ++// bit 11:8 : avs_demu_ctl_reg ++// bit 7 : avs_enable ++// bit 6 : disable_dblk_hcmd ++// bit 5 : disable_mc_hcmd ++// bit 4 : first_mode3_set enable ++// bit 3 : first_mode3 ++// bit 2:1 : vc1_profile 0-SP, 1-MP, 2-reserved, 3-AP ++// bit 0 : vc1_enable ++#define HCODEC_VC1_CONTROL_REG (0x1c1e) ++#define P_HCODEC_VC1_CONTROL_REG (volatile unsigned int *)((0x1c1e << 2) + 0xff620000) ++#define HCODEC_PMV1_X (0x1c20) ++#define P_HCODEC_PMV1_X (volatile unsigned int *)((0x1c20 << 2) + 0xff620000) ++#define HCODEC_PMV1_Y (0x1c21) ++#define P_HCODEC_PMV1_Y (volatile unsigned int *)((0x1c21 << 2) + 0xff620000) ++#define HCODEC_PMV2_X (0x1c22) ++#define P_HCODEC_PMV2_X (volatile unsigned int *)((0x1c22 << 2) + 0xff620000) ++#define HCODEC_PMV2_Y (0x1c23) ++#define P_HCODEC_PMV2_Y (volatile unsigned int *)((0x1c23 << 2) + 0xff620000) ++#define HCODEC_PMV3_X (0x1c24) ++#define P_HCODEC_PMV3_X (volatile unsigned int *)((0x1c24 << 2) + 0xff620000) ++#define HCODEC_PMV3_Y (0x1c25) ++#define P_HCODEC_PMV3_Y (volatile unsigned int *)((0x1c25 << 2) + 0xff620000) ++#define HCODEC_PMV4_X (0x1c26) ++#define P_HCODEC_PMV4_X (volatile unsigned int *)((0x1c26 << 2) + 0xff620000) ++#define HCODEC_PMV4_Y (0x1c27) ++#define P_HCODEC_PMV4_Y (volatile unsigned int *)((0x1c27 << 2) + 0xff620000) ++// Can't use the same address for different defines ++// Therefore, create a single define that covers both ++// Only appears to be used in micro-code since the VLD hardware is ++// hard coded. ++// `define M4_TABLE_SELECT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++// `define M4_TABLE_OUTPUT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++#define HCODEC_M4_TABLE_SELECT (0x1c28) ++#define P_HCODEC_M4_TABLE_SELECT (volatile unsigned int *)((0x1c28 << 2) + 0xff620000) ++#define HCODEC_M4_CONTROL_REG (0x1c29) ++#define P_HCODEC_M4_CONTROL_REG (volatile unsigned int *)((0x1c29 << 2) + 0xff620000) ++#define HCODEC_BLOCK_NUM (0x1c2a) ++#define P_HCODEC_BLOCK_NUM (volatile unsigned int *)((0x1c2a << 2) + 0xff620000) ++#define HCODEC_PATTERN_CODE (0x1c2b) ++#define P_HCODEC_PATTERN_CODE (volatile unsigned int *)((0x1c2b << 2) + 0xff620000) ++#define HCODEC_MB_INFO (0x1c2c) ++#define P_HCODEC_MB_INFO (volatile unsigned int *)((0x1c2c << 2) + 0xff620000) ++#define HCODEC_VLD_DC_PRED (0x1c2d) ++#define P_HCODEC_VLD_DC_PRED (volatile unsigned int *)((0x1c2d << 2) + 0xff620000) ++#define HCODEC_VLD_ERROR_MASK (0x1c2e) ++#define P_HCODEC_VLD_ERROR_MASK (volatile unsigned int *)((0x1c2e << 2) + 0xff620000) ++#define HCODEC_VLD_DC_PRED_C (0x1c2f) ++#define P_HCODEC_VLD_DC_PRED_C (volatile unsigned int *)((0x1c2f << 2) + 0xff620000) ++#define HCODEC_LAST_SLICE_MV_ADDR (0x1c30) ++#define P_HCODEC_LAST_SLICE_MV_ADDR (volatile unsigned int *)((0x1c30 << 2) + 0xff620000) ++#define HCODEC_LAST_MVX (0x1c31) ++#define P_HCODEC_LAST_MVX (volatile unsigned int *)((0x1c31 << 2) + 0xff620000) ++#define HCODEC_LAST_MVY (0x1c32) ++#define P_HCODEC_LAST_MVY (volatile unsigned int *)((0x1c32 << 2) + 0xff620000) ++#define HCODEC_VLD_C38 (0x1c38) ++#define P_HCODEC_VLD_C38 (volatile unsigned int *)((0x1c38 << 2) + 0xff620000) ++#define HCODEC_VLD_C39 (0x1c39) ++#define P_HCODEC_VLD_C39 (volatile unsigned int *)((0x1c39 << 2) + 0xff620000) ++#define HCODEC_VLD_STATUS (0x1c3a) ++#define P_HCODEC_VLD_STATUS (volatile unsigned int *)((0x1c3a << 2) + 0xff620000) ++#define HCODEC_VLD_SHIFT_STATUS (0x1c3b) ++#define P_HCODEC_VLD_SHIFT_STATUS (volatile unsigned int *)((0x1c3b << 2) + 0xff620000) ++// `define VLD_SHIFT_INFO 8'h3b // Does this exist in HW ? used in $ucode/mpeg4 ++#define HCODEC_VOFF_STATUS (0x1c3c) ++#define P_HCODEC_VOFF_STATUS (volatile unsigned int *)((0x1c3c << 2) + 0xff620000) ++#define HCODEC_VLD_C3D (0x1c3d) ++#define P_HCODEC_VLD_C3D (volatile unsigned int *)((0x1c3d << 2) + 0xff620000) ++#define HCODEC_VLD_DBG_INDEX (0x1c3e) ++#define P_HCODEC_VLD_DBG_INDEX (volatile unsigned int *)((0x1c3e << 2) + 0xff620000) ++// vld_buff_info -- (index == 0) ++// Bit11] halt_decode_start_voff ++// Bit10] C_pred_error ++// Bit[9] I4_pred_error ++// Bit[8] I16_pred_error ++// Bit[7:6] mv_UR_ready_cnt; ++// Bit[5] vld_wr_idx ++// Bit[4] iq_rd_idx ++// Bit[3] vld_vi_block_rdy_1 ++// Bit[2] vld_vi_block_rdy_2 ++// Bit[1] voff_empty_1 ++// Bit[0] voff_empty_2 ++// cabac_buff_info_0 -- (index == 1) ++// Bit[31] shift_data_ready ++// Bit[30:29] Reserved ++// Bit[28:24] cabac_buffer_ptr ++// Bit[23:0] cabac_buffer ++// cabac_buff_info_1 -- (index == 2) ++// Bit[31:29] Reserved ++// Bit[28:20] Drange ++// Bit[19:16] bin_count_4 ++// Bit[15:13] Reserved ++// Bit[12:6] context_mem_do ++// Bit[5:3] coeff_state ++// Bit[2:0] mvd_state ++// h264_mv_present -- (index == 3) ++// Bit[31:16] mv_present_l0 ++// Bit[15:0] mv_present_l1 ++// h264_mv_cal_info_0 -- (index == 4) ++// [31:28] mv_cal_state ++// [27:24] direct_spatial_cnt ++// Bit[23:21] Reserved ++// Bit[20] mv_UR_ready_for_mv_cal ++// Bit[19] co_mb_mem_ready_for_mv_cal ++// Bit[18] mc_dblk_cmd_if_busy ++// Bit[17] h264_co_mb_wr_busy ++// Bit[16] H264_cbp_blk_ready ++// Bit[15] mc_hcmd_rrdy ++// Bit[14] mc_hcmd_srdy ++// Bit[13] mc_cmd_if_ready ++// Bit[12] mc_hcmd_mv_available ++// Bit[11:8] mc_cmd_if_state ++// Bit[7] dblk_hcmd_rrdy ++// Bit[6] dblk_hcmd_srdy ++// Bit[5] dblk_cmd_if_ready ++// Bit[4] dblk_hcmd_mv_available ++// Bit[3:0] dblk_cmd_if_state ++// h264_mv_cal_info_1 -- (index == 5) ++// Bit[31:29] Reserved ++// Bit[28:24] total_mvd_num_l0 ++// Bit[23:21] Reserved ++// Bit[20:16] mv_cal_ptr_l0 ++// Bit[15:13] Reserved ++// Bit[12:8] mc_hcmd_ptr_l0 ++// Bit[7:5] Reserved ++// Bit[4:0] dblk_hcmd_ptr_l0 ++// h264_mv_cal_info_2 -- (index == 6) ++// Bit[31:29] Reserved ++// Bit[28:24] total_mvd_num_l1 ++// Bit[23:21] Reserved ++// Bit[20:16] mv_cal_ptr_l1 ++// Bit[15:13] Reserved ++// Bit[12:8] mc_hcmd_ptr_l1 ++// Bit[7:5] Reserved ++// Bit[4:0] dblk_hcmd_ptr_l1 ++// h264_co_mb_info -- (index == 7) ++// Bit[31:26] Reserved ++// Bit[25] mv_scale_cal_busy ++// Bit[24:20] co_mv_count ++// Bit[19:16] co_mv_process_state ++// Bit[15] h264_co_mb_rd_busy ++// Bit[15] h264_co_mb_rd_ready ++// Bit[13:12] co_mv_transfer_block_cnt ++// Bit[11:8] co_mv_transfer_ptr ++// Bit[7] co_mv_POC_l1_busy ++// Bit[6] h264_weight_scale_cal_en ++// Bit[5] weight_cal_busy ++// Bit[4] weight_cal_not_finished ++// Bit[3:0] weight_process_state ++#define HCODEC_VLD_DBG_DATA (0x1c3f) ++#define P_HCODEC_VLD_DBG_DATA (volatile unsigned int *)((0x1c3f << 2) + 0xff620000) ++// -------------------------------------------- ++// VIFIFO DDR Interface ++// -------------------------------------------- ++// The VIFIFO start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define HCODEC_VLD_MEM_VIFIFO_START_PTR (0x1c40) ++#define P_HCODEC_VLD_MEM_VIFIFO_START_PTR (volatile unsigned int *)((0x1c40 << 2) + 0xff620000) ++// The current pointer points so some location between the START and END ++// pointers. The current pointer is a BYTE pointer. That is, you can ++// point to any BYTE address within the START/END range ++#define HCODEC_VLD_MEM_VIFIFO_CURR_PTR (0x1c41) ++#define P_HCODEC_VLD_MEM_VIFIFO_CURR_PTR (volatile unsigned int *)((0x1c41 << 2) + 0xff620000) ++#define HCODEC_VLD_MEM_VIFIFO_END_PTR (0x1c42) ++#define P_HCODEC_VLD_MEM_VIFIFO_END_PTR (volatile unsigned int *)((0x1c42 << 2) + 0xff620000) ++#define HCODEC_VLD_MEM_VIFIFO_BYTES_AVAIL (0x1c43) ++#define P_HCODEC_VLD_MEM_VIFIFO_BYTES_AVAIL (volatile unsigned int *)((0x1c43 << 2) + 0xff620000) ++// VIFIFO FIFO Control ++// bit [31:24] viff_empty_int_enable_cpu[7:0] ++// bit [23:16] viff_empty_int_enable_amrisc[7:0] ++// -bit 23 Video BUFFER < 0x400 Bytes ++// -bit 22 Video BUFFER < 0x200 Bytes ++// -bit 21 Video BUFFER < 0x100 Bytes ++// -bit 20 Video BUFFER < 0x80 Bytes ++// -bit 19 Video BUFFER < 0x40 Bytes ++// -bit 18 Video BUFFER < 0x20 Bytes ++// -bit 17 vififo < 16 double words ++// -bit 16 vififo < 8 double words ++// bit [15:13] unused ++// bit [12] A_urgent ++// bit [11] transfer_length 0 - 32x64 Bits per request, 1 - 16x64 Bits per request ++// bit [10] use_level Set this bit to 1 to enable filling of the FIFO controlled by the buffer ++// level control. If this bit is 0, then use bit[1] to control the enabling of filling ++// bit [9] Data Ready. This bit is set when data can be popped ++// bit [8] fill busy This bit will be high when we're fetching data from the DDR memory ++// To reset this module, set cntl_enable = 0, and then wait for busy = 0. ++// After that you can pulse cntl_init to start over ++// bit [7] init_with_cntl_init ++// bit [6] reserved ++// bits [5:3] endian: see $lib/rtl/ddr_endian.v ++// bit [2] cntl_empty_en Set to 1 to enable reading the DDR memory FIFO ++// Set cntl_empty_en = cntl_fill_en = 0 when pulsing cntl_init ++// bit [1] cntl_fill_en Set to 1 to enable reading data from DDR memory ++// bit [0] cntl_init: After setting the read pointers, sizes, channel masks ++// and read masks, set this bit to 1 and then to 0 ++// NOTE: You don't need to pulse cntl_init if only the start address is ++// being changed ++#define HCODEC_VLD_MEM_VIFIFO_CONTROL (0x1c44) ++#define P_HCODEC_VLD_MEM_VIFIFO_CONTROL (volatile unsigned int *)((0x1c44 << 2) + 0xff620000) ++// -------------------------------------------- ++// VIFIFO Buffer Level Manager ++// -------------------------------------------- ++#define HCODEC_VLD_MEM_VIFIFO_WP (0x1c45) ++#define P_HCODEC_VLD_MEM_VIFIFO_WP (volatile unsigned int *)((0x1c45 << 2) + 0xff620000) ++#define HCODEC_VLD_MEM_VIFIFO_RP (0x1c46) ++#define P_HCODEC_VLD_MEM_VIFIFO_RP (volatile unsigned int *)((0x1c46 << 2) + 0xff620000) ++#define HCODEC_VLD_MEM_VIFIFO_LEVEL (0x1c47) ++#define P_HCODEC_VLD_MEM_VIFIFO_LEVEL (volatile unsigned int *)((0x1c47 << 2) + 0xff620000) ++// ++// bit [8] use_parser_video2_wp ++// bit [7] vbuf2_out_manual ++// bit [6] vbuf_out_manual ++// bit [5] empty (ReadOnly) ++// bit [4] full (ReadOnly) ++// bit [3:2] reserved ++// bit [1] manual mode Set to 1 for manual write pointer mode ++// bit [0] Init Set high then low after everything has been initialized ++#define HCODEC_VLD_MEM_VIFIFO_BUF_CNTL (0x1c48) ++#define P_HCODEC_VLD_MEM_VIFIFO_BUF_CNTL (volatile unsigned int *)((0x1c48 << 2) + 0xff620000) ++// bit 31:16 -- drop_bytes ++// bit 15:14 -- drop_status (Read-Only) ++// bit 13:12 -- sync_match_position (Read-Only) ++// bit 11:6 -- reserved ++// bit 5:4 -- TIME_STAMP_NUMBER, 0-32bits, 1-64bits, 2-96bits, 3-128bits ++// bit 3 -- stamp_soft_reset ++// bit 2 -- TIME_STAMP_length_enable ++// bit 1 -- TIME_STAMP_sync64_enable ++// bit 0 -- TIME_STAMP_enable ++#define HCODEC_VLD_TIME_STAMP_CNTL (0x1c49) ++#define P_HCODEC_VLD_TIME_STAMP_CNTL (volatile unsigned int *)((0x1c49 << 2) + 0xff620000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_0 ++#define HCODEC_VLD_TIME_STAMP_SYNC_0 (0x1c4a) ++#define P_HCODEC_VLD_TIME_STAMP_SYNC_0 (volatile unsigned int *)((0x1c4a << 2) + 0xff620000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_1 ++#define HCODEC_VLD_TIME_STAMP_SYNC_1 (0x1c4b) ++#define P_HCODEC_VLD_TIME_STAMP_SYNC_1 (volatile unsigned int *)((0x1c4b << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_0 ++#define HCODEC_VLD_TIME_STAMP_0 (0x1c4c) ++#define P_HCODEC_VLD_TIME_STAMP_0 (volatile unsigned int *)((0x1c4c << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_1 ++#define HCODEC_VLD_TIME_STAMP_1 (0x1c4d) ++#define P_HCODEC_VLD_TIME_STAMP_1 (volatile unsigned int *)((0x1c4d << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_2 ++#define HCODEC_VLD_TIME_STAMP_2 (0x1c4e) ++#define P_HCODEC_VLD_TIME_STAMP_2 (volatile unsigned int *)((0x1c4e << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_3 ++#define HCODEC_VLD_TIME_STAMP_3 (0x1c4f) ++#define P_HCODEC_VLD_TIME_STAMP_3 (volatile unsigned int *)((0x1c4f << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_LENGTH ++#define HCODEC_VLD_TIME_STAMP_LENGTH (0x1c50) ++#define P_HCODEC_VLD_TIME_STAMP_LENGTH (volatile unsigned int *)((0x1c50 << 2) + 0xff620000) ++// bit 15:0 vififo_rd_count ++#define HCODEC_VLD_MEM_VIFIFO_WRAP_COUNT (0x1c51) ++#define P_HCODEC_VLD_MEM_VIFIFO_WRAP_COUNT (volatile unsigned int *)((0x1c51 << 2) + 0xff620000) ++// bit 29:24 A_brst_num ++// bit 21:16 A_id ++// bit 15:0 level_hold ++#define HCODEC_VLD_MEM_VIFIFO_MEM_CTL (0x1c52) ++#define P_HCODEC_VLD_MEM_VIFIFO_MEM_CTL (volatile unsigned int *)((0x1c52 << 2) + 0xff620000) ++#define HCODEC_VLD_MEM_VBUF_RD_PTR (0x1c53) ++#define P_HCODEC_VLD_MEM_VBUF_RD_PTR (volatile unsigned int *)((0x1c53 << 2) + 0xff620000) ++#define HCODEC_VLD_MEM_VBUF2_RD_PTR (0x1c54) ++#define P_HCODEC_VLD_MEM_VBUF2_RD_PTR (volatile unsigned int *)((0x1c54 << 2) + 0xff620000) ++#define HCODEC_VLD_MEM_SWAP_ADDR (0x1c55) ++#define P_HCODEC_VLD_MEM_SWAP_ADDR (volatile unsigned int *)((0x1c55 << 2) + 0xff620000) ++// bit[23:16] - swap_d_count (Read Only) ++// bit[15:8] - swap_a_count (Read Only) ++// bit [7] - swap busy (Read Only) ++// bit [6:2] - reserved ++// bit [1] - 1 - STORE to Memory, 0 - LOAD from Memory ++// bit [0] - swap active ++#define HCODEC_VLD_MEM_SWAP_CTL (0x1c56) ++#define P_HCODEC_VLD_MEM_SWAP_CTL (volatile unsigned int *)((0x1c56 << 2) + 0xff620000) ++// ++// Closing file: vld_regs.h ++// ++// ++// Reading file: vld_regs.h ++// ++//======================================================================== ++// VLD module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_VLD_CBUS_BASE = 0x0c ++// ----------------------------------------------- ++#define VDEC2_VLD_STATUS_CTRL (0x2c00) ++#define P_VDEC2_VLD_STATUS_CTRL (volatile unsigned int *)((0x2c00 << 2) + 0xff620000) ++// ++// bit 10 -- use_old_shift_en ++// bit 9 -- output_mv_not_pmv ++// bit 8:5 -- force_zigzag ++// bit 4 -- force_zigzag_en ++// bit 3 -- disable_viff_anempty_int ++// bit 2 -- disable_m2_ac_coeff_one_cycle ++// bit 1 -- forced_reset force reset pmv ++// bit 0 -- mpeg_type 0:mpeg1 1: mpeg2 ++#define VDEC2_MPEG1_2_REG (0x2c01) ++#define P_VDEC2_MPEG1_2_REG (volatile unsigned int *)((0x2c01 << 2) + 0xff620000) ++#define VDEC2_F_CODE_REG (0x2c02) ++#define P_VDEC2_F_CODE_REG (volatile unsigned int *)((0x2c02 << 2) + 0xff620000) ++#define VDEC2_PIC_HEAD_INFO (0x2c03) ++#define P_VDEC2_PIC_HEAD_INFO (volatile unsigned int *)((0x2c03 << 2) + 0xff620000) ++#define VDEC2_SLICE_VER_POS_PIC_TYPE (0x2c04) ++#define P_VDEC2_SLICE_VER_POS_PIC_TYPE (volatile unsigned int *)((0x2c04 << 2) + 0xff620000) ++#define VDEC2_QP_VALUE_REG (0x2c05) ++#define P_VDEC2_QP_VALUE_REG (volatile unsigned int *)((0x2c05 << 2) + 0xff620000) ++#define VDEC2_MBA_INC (0x2c06) ++#define P_VDEC2_MBA_INC (volatile unsigned int *)((0x2c06 << 2) + 0xff620000) ++#define VDEC2_MB_MOTION_MODE (0x2c07) ++#define P_VDEC2_MB_MOTION_MODE (volatile unsigned int *)((0x2c07 << 2) + 0xff620000) ++//`define PACKET_BYTE_COUNT 8'h08 ++// bit 15 -- force_search_startcode_en ++// bit 14 -- int_cpu_when_error (before do anything) ++// bit 13 -- vld_error_reset ++// bit 12 -- return_on_slice_header ++// bit 6 -- jpeg_ff00_en ++// bit 5:0 -- vld_power_ctl ++#define VDEC2_POWER_CTL_VLD (0x2c08) ++#define P_VDEC2_POWER_CTL_VLD (volatile unsigned int *)((0x2c08 << 2) + 0xff620000) ++#define VDEC2_MB_WIDTH (0x2c09) ++#define P_VDEC2_MB_WIDTH (volatile unsigned int *)((0x2c09 << 2) + 0xff620000) ++#define VDEC2_SLICE_QP (0x2c0a) ++#define P_VDEC2_SLICE_QP (volatile unsigned int *)((0x2c0a << 2) + 0xff620000) ++// `define MB_X_MB_Y 8'h0b /* current MBX and MBY */ ++#define VDEC2_PRE_START_CODE (0x2c0b) ++#define P_VDEC2_PRE_START_CODE (volatile unsigned int *)((0x2c0b << 2) + 0xff620000) ++#define VDEC2_SLICE_START_BYTE_01 (0x2c0c) ++#define P_VDEC2_SLICE_START_BYTE_01 (volatile unsigned int *)((0x2c0c << 2) + 0xff620000) ++#define VDEC2_SLICE_START_BYTE_23 (0x2c0d) ++#define P_VDEC2_SLICE_START_BYTE_23 (volatile unsigned int *)((0x2c0d << 2) + 0xff620000) ++#define VDEC2_RESYNC_MARKER_LENGTH (0x2c0e) ++#define P_VDEC2_RESYNC_MARKER_LENGTH (volatile unsigned int *)((0x2c0e << 2) + 0xff620000) ++// bit[6:5] - frame/field info, 01 - top, 10 - bottom, 11 - frame ++// bit[4:0] - buffer ID ++// L0_BUFF_ID_0, L0_BUFF_ID_1, L1_BUFF_ID_0, L1_BUFF_ID_1 ++#define VDEC2_DECODER_BUFFER_INFO (0x2c0f) ++#define P_VDEC2_DECODER_BUFFER_INFO (volatile unsigned int *)((0x2c0f << 2) + 0xff620000) ++#define VDEC2_FST_FOR_MV_X (0x2c10) ++#define P_VDEC2_FST_FOR_MV_X (volatile unsigned int *)((0x2c10 << 2) + 0xff620000) ++#define VDEC2_FST_FOR_MV_Y (0x2c11) ++#define P_VDEC2_FST_FOR_MV_Y (volatile unsigned int *)((0x2c11 << 2) + 0xff620000) ++#define VDEC2_SCD_FOR_MV_X (0x2c12) ++#define P_VDEC2_SCD_FOR_MV_X (volatile unsigned int *)((0x2c12 << 2) + 0xff620000) ++#define VDEC2_SCD_FOR_MV_Y (0x2c13) ++#define P_VDEC2_SCD_FOR_MV_Y (volatile unsigned int *)((0x2c13 << 2) + 0xff620000) ++#define VDEC2_FST_BAK_MV_X (0x2c14) ++#define P_VDEC2_FST_BAK_MV_X (volatile unsigned int *)((0x2c14 << 2) + 0xff620000) ++#define VDEC2_FST_BAK_MV_Y (0x2c15) ++#define P_VDEC2_FST_BAK_MV_Y (volatile unsigned int *)((0x2c15 << 2) + 0xff620000) ++#define VDEC2_SCD_BAK_MV_X (0x2c16) ++#define P_VDEC2_SCD_BAK_MV_X (volatile unsigned int *)((0x2c16 << 2) + 0xff620000) ++#define VDEC2_SCD_BAK_MV_Y (0x2c17) ++#define P_VDEC2_SCD_BAK_MV_Y (volatile unsigned int *)((0x2c17 << 2) + 0xff620000) ++// Bit 7:4 -- read_buffer_interlace 0-progressive, 1-interlace, used in VC1 ++// bit 3 -- disable_new_stcode_search_fix // From GXM ++// bit 2 -- weighting_prediction ++// bit 1 -- mb_weighting_flag ++// bit 0 -- slice_weighting_flag ++#define VDEC2_VLD_DECODE_CONTROL (0x2c18) ++#define P_VDEC2_VLD_DECODE_CONTROL (volatile unsigned int *)((0x2c18 << 2) + 0xff620000) ++#define VDEC2_VLD_REVERVED_19 (0x2c19) ++#define P_VDEC2_VLD_REVERVED_19 (volatile unsigned int *)((0x2c19 << 2) + 0xff620000) ++#define VDEC2_VIFF_BIT_CNT (0x2c1a) ++#define P_VDEC2_VIFF_BIT_CNT (volatile unsigned int *)((0x2c1a << 2) + 0xff620000) ++#define VDEC2_BYTE_ALIGN_PEAK_HI (0x2c1b) ++#define P_VDEC2_BYTE_ALIGN_PEAK_HI (volatile unsigned int *)((0x2c1b << 2) + 0xff620000) ++#define VDEC2_BYTE_ALIGN_PEAK_LO (0x2c1c) ++#define P_VDEC2_BYTE_ALIGN_PEAK_LO (volatile unsigned int *)((0x2c1c << 2) + 0xff620000) ++#define VDEC2_NEXT_ALIGN_PEAK (0x2c1d) ++#define P_VDEC2_NEXT_ALIGN_PEAK (volatile unsigned int *)((0x2c1d << 2) + 0xff620000) ++// bit 31 : byte_aligned_zero_23_from_org // From GXM ++// bit 30 : force_shift_out_drop_flag_zero // From GXM ++// bit 29 : en_st_protect_from_org // From GXM ++// bit 28 : enable_halt_decode_start_voff ++// bit 27 : disable_C_pred_check ++// bit 26 : disable_I4_pred_check ++// bit 25 : disable_I16_pred_check ++// bit 24 : check_avs_1st_drop ++// bit 23 : enable_cabac_protect // From GXM ++// bit 22 : enable_avs_drop_more ++// bit 21 : reset_avs_drop_ptr ++// bit 20 : reset_cabac_use_next_at_end_req ++// bit 19 : vc1_inv_intra_co_mb_ref_rd ++// bit 18 : vc1_inv_co_mb_ref_rd ++// bit 17 : vc1_inv_intra_co_mb_ref_wr ++// bit 16 : vc1_inv_co_mb_ref_wr ++// bit 15 : disable_mv_cal_begin_only ++// bit 14 : avs_drop_enable ++// bit 13:12 : avs_drop_ptr ++// bit 11:8 : avs_demu_ctl_reg ++// bit 7 : avs_enable ++// bit 6 : disable_dblk_hcmd ++// bit 5 : disable_mc_hcmd ++// bit 4 : first_mode3_set enable ++// bit 3 : first_mode3 ++// bit 2:1 : vc1_profile 0-SP, 1-MP, 2-reserved, 3-AP ++// bit 0 : vc1_enable ++#define VDEC2_VC1_CONTROL_REG (0x2c1e) ++#define P_VDEC2_VC1_CONTROL_REG (volatile unsigned int *)((0x2c1e << 2) + 0xff620000) ++#define VDEC2_PMV1_X (0x2c20) ++#define P_VDEC2_PMV1_X (volatile unsigned int *)((0x2c20 << 2) + 0xff620000) ++#define VDEC2_PMV1_Y (0x2c21) ++#define P_VDEC2_PMV1_Y (volatile unsigned int *)((0x2c21 << 2) + 0xff620000) ++#define VDEC2_PMV2_X (0x2c22) ++#define P_VDEC2_PMV2_X (volatile unsigned int *)((0x2c22 << 2) + 0xff620000) ++#define VDEC2_PMV2_Y (0x2c23) ++#define P_VDEC2_PMV2_Y (volatile unsigned int *)((0x2c23 << 2) + 0xff620000) ++#define VDEC2_PMV3_X (0x2c24) ++#define P_VDEC2_PMV3_X (volatile unsigned int *)((0x2c24 << 2) + 0xff620000) ++#define VDEC2_PMV3_Y (0x2c25) ++#define P_VDEC2_PMV3_Y (volatile unsigned int *)((0x2c25 << 2) + 0xff620000) ++#define VDEC2_PMV4_X (0x2c26) ++#define P_VDEC2_PMV4_X (volatile unsigned int *)((0x2c26 << 2) + 0xff620000) ++#define VDEC2_PMV4_Y (0x2c27) ++#define P_VDEC2_PMV4_Y (volatile unsigned int *)((0x2c27 << 2) + 0xff620000) ++// Can't use the same address for different defines ++// Therefore, create a single define that covers both ++// Only appears to be used in micro-code since the VLD hardware is ++// hard coded. ++// `define M4_TABLE_SELECT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++// `define M4_TABLE_OUTPUT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++#define VDEC2_M4_TABLE_SELECT (0x2c28) ++#define P_VDEC2_M4_TABLE_SELECT (volatile unsigned int *)((0x2c28 << 2) + 0xff620000) ++#define VDEC2_M4_CONTROL_REG (0x2c29) ++#define P_VDEC2_M4_CONTROL_REG (volatile unsigned int *)((0x2c29 << 2) + 0xff620000) ++#define VDEC2_BLOCK_NUM (0x2c2a) ++#define P_VDEC2_BLOCK_NUM (volatile unsigned int *)((0x2c2a << 2) + 0xff620000) ++#define VDEC2_PATTERN_CODE (0x2c2b) ++#define P_VDEC2_PATTERN_CODE (volatile unsigned int *)((0x2c2b << 2) + 0xff620000) ++#define VDEC2_MB_INFO (0x2c2c) ++#define P_VDEC2_MB_INFO (volatile unsigned int *)((0x2c2c << 2) + 0xff620000) ++#define VDEC2_VLD_DC_PRED (0x2c2d) ++#define P_VDEC2_VLD_DC_PRED (volatile unsigned int *)((0x2c2d << 2) + 0xff620000) ++#define VDEC2_VLD_ERROR_MASK (0x2c2e) ++#define P_VDEC2_VLD_ERROR_MASK (volatile unsigned int *)((0x2c2e << 2) + 0xff620000) ++#define VDEC2_VLD_DC_PRED_C (0x2c2f) ++#define P_VDEC2_VLD_DC_PRED_C (volatile unsigned int *)((0x2c2f << 2) + 0xff620000) ++#define VDEC2_LAST_SLICE_MV_ADDR (0x2c30) ++#define P_VDEC2_LAST_SLICE_MV_ADDR (volatile unsigned int *)((0x2c30 << 2) + 0xff620000) ++#define VDEC2_LAST_MVX (0x2c31) ++#define P_VDEC2_LAST_MVX (volatile unsigned int *)((0x2c31 << 2) + 0xff620000) ++#define VDEC2_LAST_MVY (0x2c32) ++#define P_VDEC2_LAST_MVY (volatile unsigned int *)((0x2c32 << 2) + 0xff620000) ++#define VDEC2_VLD_C38 (0x2c38) ++#define P_VDEC2_VLD_C38 (volatile unsigned int *)((0x2c38 << 2) + 0xff620000) ++#define VDEC2_VLD_C39 (0x2c39) ++#define P_VDEC2_VLD_C39 (volatile unsigned int *)((0x2c39 << 2) + 0xff620000) ++#define VDEC2_VLD_STATUS (0x2c3a) ++#define P_VDEC2_VLD_STATUS (volatile unsigned int *)((0x2c3a << 2) + 0xff620000) ++#define VDEC2_VLD_SHIFT_STATUS (0x2c3b) ++#define P_VDEC2_VLD_SHIFT_STATUS (volatile unsigned int *)((0x2c3b << 2) + 0xff620000) ++// `define VLD_SHIFT_INFO 8'h3b // Does this exist in HW ? used in $ucode/mpeg4 ++#define VDEC2_VOFF_STATUS (0x2c3c) ++#define P_VDEC2_VOFF_STATUS (volatile unsigned int *)((0x2c3c << 2) + 0xff620000) ++#define VDEC2_VLD_C3D (0x2c3d) ++#define P_VDEC2_VLD_C3D (volatile unsigned int *)((0x2c3d << 2) + 0xff620000) ++#define VDEC2_VLD_DBG_INDEX (0x2c3e) ++#define P_VDEC2_VLD_DBG_INDEX (volatile unsigned int *)((0x2c3e << 2) + 0xff620000) ++// vld_buff_info -- (index == 0) ++// Bit11] halt_decode_start_voff ++// Bit10] C_pred_error ++// Bit[9] I4_pred_error ++// Bit[8] I16_pred_error ++// Bit[7:6] mv_UR_ready_cnt; ++// Bit[5] vld_wr_idx ++// Bit[4] iq_rd_idx ++// Bit[3] vld_vi_block_rdy_1 ++// Bit[2] vld_vi_block_rdy_2 ++// Bit[1] voff_empty_1 ++// Bit[0] voff_empty_2 ++// cabac_buff_info_0 -- (index == 1) ++// Bit[31] shift_data_ready ++// Bit[30:29] Reserved ++// Bit[28:24] cabac_buffer_ptr ++// Bit[23:0] cabac_buffer ++// cabac_buff_info_1 -- (index == 2) ++// Bit[31:29] Reserved ++// Bit[28:20] Drange ++// Bit[19:16] bin_count_4 ++// Bit[15:13] Reserved ++// Bit[12:6] context_mem_do ++// Bit[5:3] coeff_state ++// Bit[2:0] mvd_state ++// h264_mv_present -- (index == 3) ++// Bit[31:16] mv_present_l0 ++// Bit[15:0] mv_present_l1 ++// h264_mv_cal_info_0 -- (index == 4) ++// [31:28] mv_cal_state ++// [27:24] direct_spatial_cnt ++// Bit[23:21] Reserved ++// Bit[20] mv_UR_ready_for_mv_cal ++// Bit[19] co_mb_mem_ready_for_mv_cal ++// Bit[18] mc_dblk_cmd_if_busy ++// Bit[17] h264_co_mb_wr_busy ++// Bit[16] H264_cbp_blk_ready ++// Bit[15] mc_hcmd_rrdy ++// Bit[14] mc_hcmd_srdy ++// Bit[13] mc_cmd_if_ready ++// Bit[12] mc_hcmd_mv_available ++// Bit[11:8] mc_cmd_if_state ++// Bit[7] dblk_hcmd_rrdy ++// Bit[6] dblk_hcmd_srdy ++// Bit[5] dblk_cmd_if_ready ++// Bit[4] dblk_hcmd_mv_available ++// Bit[3:0] dblk_cmd_if_state ++// h264_mv_cal_info_1 -- (index == 5) ++// Bit[31:29] Reserved ++// Bit[28:24] total_mvd_num_l0 ++// Bit[23:21] Reserved ++// Bit[20:16] mv_cal_ptr_l0 ++// Bit[15:13] Reserved ++// Bit[12:8] mc_hcmd_ptr_l0 ++// Bit[7:5] Reserved ++// Bit[4:0] dblk_hcmd_ptr_l0 ++// h264_mv_cal_info_2 -- (index == 6) ++// Bit[31:29] Reserved ++// Bit[28:24] total_mvd_num_l1 ++// Bit[23:21] Reserved ++// Bit[20:16] mv_cal_ptr_l1 ++// Bit[15:13] Reserved ++// Bit[12:8] mc_hcmd_ptr_l1 ++// Bit[7:5] Reserved ++// Bit[4:0] dblk_hcmd_ptr_l1 ++// h264_co_mb_info -- (index == 7) ++// Bit[31:26] Reserved ++// Bit[25] mv_scale_cal_busy ++// Bit[24:20] co_mv_count ++// Bit[19:16] co_mv_process_state ++// Bit[15] h264_co_mb_rd_busy ++// Bit[15] h264_co_mb_rd_ready ++// Bit[13:12] co_mv_transfer_block_cnt ++// Bit[11:8] co_mv_transfer_ptr ++// Bit[7] co_mv_POC_l1_busy ++// Bit[6] h264_weight_scale_cal_en ++// Bit[5] weight_cal_busy ++// Bit[4] weight_cal_not_finished ++// Bit[3:0] weight_process_state ++#define VDEC2_VLD_DBG_DATA (0x2c3f) ++#define P_VDEC2_VLD_DBG_DATA (volatile unsigned int *)((0x2c3f << 2) + 0xff620000) ++// -------------------------------------------- ++// VIFIFO DDR Interface ++// -------------------------------------------- ++// The VIFIFO start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define VDEC2_VLD_MEM_VIFIFO_START_PTR (0x2c40) ++#define P_VDEC2_VLD_MEM_VIFIFO_START_PTR (volatile unsigned int *)((0x2c40 << 2) + 0xff620000) ++// The current pointer points so some location between the START and END ++// pointers. The current pointer is a BYTE pointer. That is, you can ++// point to any BYTE address within the START/END range ++#define VDEC2_VLD_MEM_VIFIFO_CURR_PTR (0x2c41) ++#define P_VDEC2_VLD_MEM_VIFIFO_CURR_PTR (volatile unsigned int *)((0x2c41 << 2) + 0xff620000) ++#define VDEC2_VLD_MEM_VIFIFO_END_PTR (0x2c42) ++#define P_VDEC2_VLD_MEM_VIFIFO_END_PTR (volatile unsigned int *)((0x2c42 << 2) + 0xff620000) ++#define VDEC2_VLD_MEM_VIFIFO_BYTES_AVAIL (0x2c43) ++#define P_VDEC2_VLD_MEM_VIFIFO_BYTES_AVAIL (volatile unsigned int *)((0x2c43 << 2) + 0xff620000) ++// VIFIFO FIFO Control ++// bit [31:24] viff_empty_int_enable_cpu[7:0] ++// bit [23:16] viff_empty_int_enable_amrisc[7:0] ++// -bit 23 Video BUFFER < 0x400 Bytes ++// -bit 22 Video BUFFER < 0x200 Bytes ++// -bit 21 Video BUFFER < 0x100 Bytes ++// -bit 20 Video BUFFER < 0x80 Bytes ++// -bit 19 Video BUFFER < 0x40 Bytes ++// -bit 18 Video BUFFER < 0x20 Bytes ++// -bit 17 vififo < 16 double words ++// -bit 16 vififo < 8 double words ++// bit [15:13] unused ++// bit [12] A_urgent ++// bit [11] transfer_length 0 - 32x64 Bits per request, 1 - 16x64 Bits per request ++// bit [10] use_level Set this bit to 1 to enable filling of the FIFO controlled by the buffer ++// level control. If this bit is 0, then use bit[1] to control the enabling of filling ++// bit [9] Data Ready. This bit is set when data can be popped ++// bit [8] fill busy This bit will be high when we're fetching data from the DDR memory ++// To reset this module, set cntl_enable = 0, and then wait for busy = 0. ++// After that you can pulse cntl_init to start over ++// bit [7] init_with_cntl_init ++// bit [6] reserved ++// bits [5:3] endian: see $lib/rtl/ddr_endian.v ++// bit [2] cntl_empty_en Set to 1 to enable reading the DDR memory FIFO ++// Set cntl_empty_en = cntl_fill_en = 0 when pulsing cntl_init ++// bit [1] cntl_fill_en Set to 1 to enable reading data from DDR memory ++// bit [0] cntl_init: After setting the read pointers, sizes, channel masks ++// and read masks, set this bit to 1 and then to 0 ++// NOTE: You don't need to pulse cntl_init if only the start address is ++// being changed ++#define VDEC2_VLD_MEM_VIFIFO_CONTROL (0x2c44) ++#define P_VDEC2_VLD_MEM_VIFIFO_CONTROL (volatile unsigned int *)((0x2c44 << 2) + 0xff620000) ++// -------------------------------------------- ++// VIFIFO Buffer Level Manager ++// -------------------------------------------- ++#define VDEC2_VLD_MEM_VIFIFO_WP (0x2c45) ++#define P_VDEC2_VLD_MEM_VIFIFO_WP (volatile unsigned int *)((0x2c45 << 2) + 0xff620000) ++#define VDEC2_VLD_MEM_VIFIFO_RP (0x2c46) ++#define P_VDEC2_VLD_MEM_VIFIFO_RP (volatile unsigned int *)((0x2c46 << 2) + 0xff620000) ++#define VDEC2_VLD_MEM_VIFIFO_LEVEL (0x2c47) ++#define P_VDEC2_VLD_MEM_VIFIFO_LEVEL (volatile unsigned int *)((0x2c47 << 2) + 0xff620000) ++// ++// bit [8] use_parser_video2_wp ++// bit [7] vbuf2_out_manual ++// bit [6] vbuf_out_manual ++// bit [5] empty (ReadOnly) ++// bit [4] full (ReadOnly) ++// bit [3:2] reserved ++// bit [1] manual mode Set to 1 for manual write pointer mode ++// bit [0] Init Set high then low after everything has been initialized ++#define VDEC2_VLD_MEM_VIFIFO_BUF_CNTL (0x2c48) ++#define P_VDEC2_VLD_MEM_VIFIFO_BUF_CNTL (volatile unsigned int *)((0x2c48 << 2) + 0xff620000) ++// bit 31:16 -- drop_bytes ++// bit 15:14 -- drop_status (Read-Only) ++// bit 13:12 -- sync_match_position (Read-Only) ++// bit 11:6 -- reserved ++// bit 5:4 -- TIME_STAMP_NUMBER, 0-32bits, 1-64bits, 2-96bits, 3-128bits ++// bit 3 -- stamp_soft_reset ++// bit 2 -- TIME_STAMP_length_enable ++// bit 1 -- TIME_STAMP_sync64_enable ++// bit 0 -- TIME_STAMP_enable ++#define VDEC2_VLD_TIME_STAMP_CNTL (0x2c49) ++#define P_VDEC2_VLD_TIME_STAMP_CNTL (volatile unsigned int *)((0x2c49 << 2) + 0xff620000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_0 ++#define VDEC2_VLD_TIME_STAMP_SYNC_0 (0x2c4a) ++#define P_VDEC2_VLD_TIME_STAMP_SYNC_0 (volatile unsigned int *)((0x2c4a << 2) + 0xff620000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_1 ++#define VDEC2_VLD_TIME_STAMP_SYNC_1 (0x2c4b) ++#define P_VDEC2_VLD_TIME_STAMP_SYNC_1 (volatile unsigned int *)((0x2c4b << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_0 ++#define VDEC2_VLD_TIME_STAMP_0 (0x2c4c) ++#define P_VDEC2_VLD_TIME_STAMP_0 (volatile unsigned int *)((0x2c4c << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_1 ++#define VDEC2_VLD_TIME_STAMP_1 (0x2c4d) ++#define P_VDEC2_VLD_TIME_STAMP_1 (volatile unsigned int *)((0x2c4d << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_2 ++#define VDEC2_VLD_TIME_STAMP_2 (0x2c4e) ++#define P_VDEC2_VLD_TIME_STAMP_2 (volatile unsigned int *)((0x2c4e << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_3 ++#define VDEC2_VLD_TIME_STAMP_3 (0x2c4f) ++#define P_VDEC2_VLD_TIME_STAMP_3 (volatile unsigned int *)((0x2c4f << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_LENGTH ++#define VDEC2_VLD_TIME_STAMP_LENGTH (0x2c50) ++#define P_VDEC2_VLD_TIME_STAMP_LENGTH (volatile unsigned int *)((0x2c50 << 2) + 0xff620000) ++// bit 15:0 vififo_rd_count ++#define VDEC2_VLD_MEM_VIFIFO_WRAP_COUNT (0x2c51) ++#define P_VDEC2_VLD_MEM_VIFIFO_WRAP_COUNT (volatile unsigned int *)((0x2c51 << 2) + 0xff620000) ++// bit 29:24 A_brst_num ++// bit 21:16 A_id ++// bit 15:0 level_hold ++#define VDEC2_VLD_MEM_VIFIFO_MEM_CTL (0x2c52) ++#define P_VDEC2_VLD_MEM_VIFIFO_MEM_CTL (volatile unsigned int *)((0x2c52 << 2) + 0xff620000) ++#define VDEC2_VLD_MEM_VBUF_RD_PTR (0x2c53) ++#define P_VDEC2_VLD_MEM_VBUF_RD_PTR (volatile unsigned int *)((0x2c53 << 2) + 0xff620000) ++#define VDEC2_VLD_MEM_VBUF2_RD_PTR (0x2c54) ++#define P_VDEC2_VLD_MEM_VBUF2_RD_PTR (volatile unsigned int *)((0x2c54 << 2) + 0xff620000) ++#define VDEC2_VLD_MEM_SWAP_ADDR (0x2c55) ++#define P_VDEC2_VLD_MEM_SWAP_ADDR (volatile unsigned int *)((0x2c55 << 2) + 0xff620000) ++// bit[23:16] - swap_d_count (Read Only) ++// bit[15:8] - swap_a_count (Read Only) ++// bit [7] - swap busy (Read Only) ++// bit [6:2] - reserved ++// bit [1] - 1 - STORE to Memory, 0 - LOAD from Memory ++// bit [0] - swap active ++#define VDEC2_VLD_MEM_SWAP_CTL (0x2c56) ++#define P_VDEC2_VLD_MEM_SWAP_CTL (volatile unsigned int *)((0x2c56 << 2) + 0xff620000) ++// ++// Closing file: vld_regs.h ++// ++// ++// Reading file: vld_regs.h ++// ++//======================================================================== ++// VLD module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_VLD_CBUS_BASE = 0x0c ++// ----------------------------------------------- ++#define HEVC_VLD_STATUS_CTRL (0x3c00) ++#define P_HEVC_VLD_STATUS_CTRL (volatile unsigned int *)((0x3c00 << 2) + 0xff620000) ++// ++// bit 10 -- use_old_shift_en ++// bit 9 -- output_mv_not_pmv ++// bit 8:5 -- force_zigzag ++// bit 4 -- force_zigzag_en ++// bit 3 -- disable_viff_anempty_int ++// bit 2 -- disable_m2_ac_coeff_one_cycle ++// bit 1 -- forced_reset force reset pmv ++// bit 0 -- mpeg_type 0:mpeg1 1: mpeg2 ++#define HEVC_MPEG1_2_REG (0x3c01) ++#define P_HEVC_MPEG1_2_REG (volatile unsigned int *)((0x3c01 << 2) + 0xff620000) ++#define HEVC_F_CODE_REG (0x3c02) ++#define P_HEVC_F_CODE_REG (volatile unsigned int *)((0x3c02 << 2) + 0xff620000) ++#define HEVC_PIC_HEAD_INFO (0x3c03) ++#define P_HEVC_PIC_HEAD_INFO (volatile unsigned int *)((0x3c03 << 2) + 0xff620000) ++#define HEVC_SLICE_VER_POS_PIC_TYPE (0x3c04) ++#define P_HEVC_SLICE_VER_POS_PIC_TYPE (volatile unsigned int *)((0x3c04 << 2) + 0xff620000) ++#define HEVC_QP_VALUE_REG (0x3c05) ++#define P_HEVC_QP_VALUE_REG (volatile unsigned int *)((0x3c05 << 2) + 0xff620000) ++#define HEVC_MBA_INC (0x3c06) ++#define P_HEVC_MBA_INC (volatile unsigned int *)((0x3c06 << 2) + 0xff620000) ++#define HEVC_MB_MOTION_MODE (0x3c07) ++#define P_HEVC_MB_MOTION_MODE (volatile unsigned int *)((0x3c07 << 2) + 0xff620000) ++//`define PACKET_BYTE_COUNT 8'h08 ++// bit 15 -- force_search_startcode_en ++// bit 14 -- int_cpu_when_error (before do anything) ++// bit 13 -- vld_error_reset ++// bit 12 -- return_on_slice_header ++// bit 6 -- jpeg_ff00_en ++// bit 5:0 -- vld_power_ctl ++#define HEVC_POWER_CTL_VLD (0x3c08) ++#define P_HEVC_POWER_CTL_VLD (volatile unsigned int *)((0x3c08 << 2) + 0xff620000) ++#define HEVC_MB_WIDTH (0x3c09) ++#define P_HEVC_MB_WIDTH (volatile unsigned int *)((0x3c09 << 2) + 0xff620000) ++#define HEVC_SLICE_QP (0x3c0a) ++#define P_HEVC_SLICE_QP (volatile unsigned int *)((0x3c0a << 2) + 0xff620000) ++// `define MB_X_MB_Y 8'h0b /* current MBX and MBY */ ++#define HEVC_PRE_START_CODE (0x3c0b) ++#define P_HEVC_PRE_START_CODE (volatile unsigned int *)((0x3c0b << 2) + 0xff620000) ++#define HEVC_SLICE_START_BYTE_01 (0x3c0c) ++#define P_HEVC_SLICE_START_BYTE_01 (volatile unsigned int *)((0x3c0c << 2) + 0xff620000) ++#define HEVC_SLICE_START_BYTE_23 (0x3c0d) ++#define P_HEVC_SLICE_START_BYTE_23 (volatile unsigned int *)((0x3c0d << 2) + 0xff620000) ++#define HEVC_RESYNC_MARKER_LENGTH (0x3c0e) ++#define P_HEVC_RESYNC_MARKER_LENGTH (volatile unsigned int *)((0x3c0e << 2) + 0xff620000) ++// bit[6:5] - frame/field info, 01 - top, 10 - bottom, 11 - frame ++// bit[4:0] - buffer ID ++// L0_BUFF_ID_0, L0_BUFF_ID_1, L1_BUFF_ID_0, L1_BUFF_ID_1 ++#define HEVC_DECODER_BUFFER_INFO (0x3c0f) ++#define P_HEVC_DECODER_BUFFER_INFO (volatile unsigned int *)((0x3c0f << 2) + 0xff620000) ++#define HEVC_FST_FOR_MV_X (0x3c10) ++#define P_HEVC_FST_FOR_MV_X (volatile unsigned int *)((0x3c10 << 2) + 0xff620000) ++#define HEVC_FST_FOR_MV_Y (0x3c11) ++#define P_HEVC_FST_FOR_MV_Y (volatile unsigned int *)((0x3c11 << 2) + 0xff620000) ++#define HEVC_SCD_FOR_MV_X (0x3c12) ++#define P_HEVC_SCD_FOR_MV_X (volatile unsigned int *)((0x3c12 << 2) + 0xff620000) ++#define HEVC_SCD_FOR_MV_Y (0x3c13) ++#define P_HEVC_SCD_FOR_MV_Y (volatile unsigned int *)((0x3c13 << 2) + 0xff620000) ++#define HEVC_FST_BAK_MV_X (0x3c14) ++#define P_HEVC_FST_BAK_MV_X (volatile unsigned int *)((0x3c14 << 2) + 0xff620000) ++#define HEVC_FST_BAK_MV_Y (0x3c15) ++#define P_HEVC_FST_BAK_MV_Y (volatile unsigned int *)((0x3c15 << 2) + 0xff620000) ++#define HEVC_SCD_BAK_MV_X (0x3c16) ++#define P_HEVC_SCD_BAK_MV_X (volatile unsigned int *)((0x3c16 << 2) + 0xff620000) ++#define HEVC_SCD_BAK_MV_Y (0x3c17) ++#define P_HEVC_SCD_BAK_MV_Y (volatile unsigned int *)((0x3c17 << 2) + 0xff620000) ++// Bit 7:4 -- read_buffer_interlace 0-progressive, 1-interlace, used in VC1 ++// bit 3 -- disable_new_stcode_search_fix // From GXM ++// bit 2 -- weighting_prediction ++// bit 1 -- mb_weighting_flag ++// bit 0 -- slice_weighting_flag ++#define HEVC_VLD_DECODE_CONTROL (0x3c18) ++#define P_HEVC_VLD_DECODE_CONTROL (volatile unsigned int *)((0x3c18 << 2) + 0xff620000) ++#define HEVC_VLD_REVERVED_19 (0x3c19) ++#define P_HEVC_VLD_REVERVED_19 (volatile unsigned int *)((0x3c19 << 2) + 0xff620000) ++#define HEVC_VIFF_BIT_CNT (0x3c1a) ++#define P_HEVC_VIFF_BIT_CNT (volatile unsigned int *)((0x3c1a << 2) + 0xff620000) ++#define HEVC_BYTE_ALIGN_PEAK_HI (0x3c1b) ++#define P_HEVC_BYTE_ALIGN_PEAK_HI (volatile unsigned int *)((0x3c1b << 2) + 0xff620000) ++#define HEVC_BYTE_ALIGN_PEAK_LO (0x3c1c) ++#define P_HEVC_BYTE_ALIGN_PEAK_LO (volatile unsigned int *)((0x3c1c << 2) + 0xff620000) ++#define HEVC_NEXT_ALIGN_PEAK (0x3c1d) ++#define P_HEVC_NEXT_ALIGN_PEAK (volatile unsigned int *)((0x3c1d << 2) + 0xff620000) ++// bit 31 : byte_aligned_zero_23_from_org // From GXM ++// bit 30 : force_shift_out_drop_flag_zero // From GXM ++// bit 29 : en_st_protect_from_org // From GXM ++// bit 28 : enable_halt_decode_start_voff ++// bit 27 : disable_C_pred_check ++// bit 26 : disable_I4_pred_check ++// bit 25 : disable_I16_pred_check ++// bit 24 : check_avs_1st_drop ++// bit 23 : enable_cabac_protect // From GXM ++// bit 22 : enable_avs_drop_more ++// bit 21 : reset_avs_drop_ptr ++// bit 20 : reset_cabac_use_next_at_end_req ++// bit 19 : vc1_inv_intra_co_mb_ref_rd ++// bit 18 : vc1_inv_co_mb_ref_rd ++// bit 17 : vc1_inv_intra_co_mb_ref_wr ++// bit 16 : vc1_inv_co_mb_ref_wr ++// bit 15 : disable_mv_cal_begin_only ++// bit 14 : avs_drop_enable ++// bit 13:12 : avs_drop_ptr ++// bit 11:8 : avs_demu_ctl_reg ++// bit 7 : avs_enable ++// bit 6 : disable_dblk_hcmd ++// bit 5 : disable_mc_hcmd ++// bit 4 : first_mode3_set enable ++// bit 3 : first_mode3 ++// bit 2:1 : vc1_profile 0-SP, 1-MP, 2-reserved, 3-AP ++// bit 0 : vc1_enable ++#define HEVC_VC1_CONTROL_REG (0x3c1e) ++#define P_HEVC_VC1_CONTROL_REG (volatile unsigned int *)((0x3c1e << 2) + 0xff620000) ++#define HEVC_PMV1_X (0x3c20) ++#define P_HEVC_PMV1_X (volatile unsigned int *)((0x3c20 << 2) + 0xff620000) ++#define HEVC_PMV1_Y (0x3c21) ++#define P_HEVC_PMV1_Y (volatile unsigned int *)((0x3c21 << 2) + 0xff620000) ++#define HEVC_PMV2_X (0x3c22) ++#define P_HEVC_PMV2_X (volatile unsigned int *)((0x3c22 << 2) + 0xff620000) ++#define HEVC_PMV2_Y (0x3c23) ++#define P_HEVC_PMV2_Y (volatile unsigned int *)((0x3c23 << 2) + 0xff620000) ++#define HEVC_PMV3_X (0x3c24) ++#define P_HEVC_PMV3_X (volatile unsigned int *)((0x3c24 << 2) + 0xff620000) ++#define HEVC_PMV3_Y (0x3c25) ++#define P_HEVC_PMV3_Y (volatile unsigned int *)((0x3c25 << 2) + 0xff620000) ++#define HEVC_PMV4_X (0x3c26) ++#define P_HEVC_PMV4_X (volatile unsigned int *)((0x3c26 << 2) + 0xff620000) ++#define HEVC_PMV4_Y (0x3c27) ++#define P_HEVC_PMV4_Y (volatile unsigned int *)((0x3c27 << 2) + 0xff620000) ++// Can't use the same address for different defines ++// Therefore, create a single define that covers both ++// Only appears to be used in micro-code since the VLD hardware is ++// hard coded. ++// `define M4_TABLE_SELECT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++// `define M4_TABLE_OUTPUT 8'h28 // Does this exist in HW ? Added from register_mp2.h ++#define HEVC_M4_TABLE_SELECT (0x3c28) ++#define P_HEVC_M4_TABLE_SELECT (volatile unsigned int *)((0x3c28 << 2) + 0xff620000) ++#define HEVC_M4_CONTROL_REG (0x3c29) ++#define P_HEVC_M4_CONTROL_REG (volatile unsigned int *)((0x3c29 << 2) + 0xff620000) ++#define HEVC_BLOCK_NUM (0x3c2a) ++#define P_HEVC_BLOCK_NUM (volatile unsigned int *)((0x3c2a << 2) + 0xff620000) ++#define HEVC_PATTERN_CODE (0x3c2b) ++#define P_HEVC_PATTERN_CODE (volatile unsigned int *)((0x3c2b << 2) + 0xff620000) ++#define HEVC_MB_INFO (0x3c2c) ++#define P_HEVC_MB_INFO (volatile unsigned int *)((0x3c2c << 2) + 0xff620000) ++#define HEVC_VLD_DC_PRED (0x3c2d) ++#define P_HEVC_VLD_DC_PRED (volatile unsigned int *)((0x3c2d << 2) + 0xff620000) ++#define HEVC_VLD_ERROR_MASK (0x3c2e) ++#define P_HEVC_VLD_ERROR_MASK (volatile unsigned int *)((0x3c2e << 2) + 0xff620000) ++#define HEVC_VLD_DC_PRED_C (0x3c2f) ++#define P_HEVC_VLD_DC_PRED_C (volatile unsigned int *)((0x3c2f << 2) + 0xff620000) ++#define HEVC_LAST_SLICE_MV_ADDR (0x3c30) ++#define P_HEVC_LAST_SLICE_MV_ADDR (volatile unsigned int *)((0x3c30 << 2) + 0xff620000) ++#define HEVC_LAST_MVX (0x3c31) ++#define P_HEVC_LAST_MVX (volatile unsigned int *)((0x3c31 << 2) + 0xff620000) ++#define HEVC_LAST_MVY (0x3c32) ++#define P_HEVC_LAST_MVY (volatile unsigned int *)((0x3c32 << 2) + 0xff620000) ++#define HEVC_VLD_C38 (0x3c38) ++#define P_HEVC_VLD_C38 (volatile unsigned int *)((0x3c38 << 2) + 0xff620000) ++#define HEVC_VLD_C39 (0x3c39) ++#define P_HEVC_VLD_C39 (volatile unsigned int *)((0x3c39 << 2) + 0xff620000) ++#define HEVC_VLD_STATUS (0x3c3a) ++#define P_HEVC_VLD_STATUS (volatile unsigned int *)((0x3c3a << 2) + 0xff620000) ++#define HEVC_VLD_SHIFT_STATUS (0x3c3b) ++#define P_HEVC_VLD_SHIFT_STATUS (volatile unsigned int *)((0x3c3b << 2) + 0xff620000) ++// `define VLD_SHIFT_INFO 8'h3b // Does this exist in HW ? used in $ucode/mpeg4 ++#define HEVC_VOFF_STATUS (0x3c3c) ++#define P_HEVC_VOFF_STATUS (volatile unsigned int *)((0x3c3c << 2) + 0xff620000) ++#define HEVC_VLD_C3D (0x3c3d) ++#define P_HEVC_VLD_C3D (volatile unsigned int *)((0x3c3d << 2) + 0xff620000) ++#define HEVC_VLD_DBG_INDEX (0x3c3e) ++#define P_HEVC_VLD_DBG_INDEX (volatile unsigned int *)((0x3c3e << 2) + 0xff620000) ++// vld_buff_info -- (index == 0) ++// Bit11] halt_decode_start_voff ++// Bit10] C_pred_error ++// Bit[9] I4_pred_error ++// Bit[8] I16_pred_error ++// Bit[7:6] mv_UR_ready_cnt; ++// Bit[5] vld_wr_idx ++// Bit[4] iq_rd_idx ++// Bit[3] vld_vi_block_rdy_1 ++// Bit[2] vld_vi_block_rdy_2 ++// Bit[1] voff_empty_1 ++// Bit[0] voff_empty_2 ++// cabac_buff_info_0 -- (index == 1) ++// Bit[31] shift_data_ready ++// Bit[30:29] Reserved ++// Bit[28:24] cabac_buffer_ptr ++// Bit[23:0] cabac_buffer ++// cabac_buff_info_1 -- (index == 2) ++// Bit[31:29] Reserved ++// Bit[28:20] Drange ++// Bit[19:16] bin_count_4 ++// Bit[15:13] Reserved ++// Bit[12:6] context_mem_do ++// Bit[5:3] coeff_state ++// Bit[2:0] mvd_state ++// h264_mv_present -- (index == 3) ++// Bit[31:16] mv_present_l0 ++// Bit[15:0] mv_present_l1 ++// h264_mv_cal_info_0 -- (index == 4) ++// [31:28] mv_cal_state ++// [27:24] direct_spatial_cnt ++// Bit[23:21] Reserved ++// Bit[20] mv_UR_ready_for_mv_cal ++// Bit[19] co_mb_mem_ready_for_mv_cal ++// Bit[18] mc_dblk_cmd_if_busy ++// Bit[17] h264_co_mb_wr_busy ++// Bit[16] H264_cbp_blk_ready ++// Bit[15] mc_hcmd_rrdy ++// Bit[14] mc_hcmd_srdy ++// Bit[13] mc_cmd_if_ready ++// Bit[12] mc_hcmd_mv_available ++// Bit[11:8] mc_cmd_if_state ++// Bit[7] dblk_hcmd_rrdy ++// Bit[6] dblk_hcmd_srdy ++// Bit[5] dblk_cmd_if_ready ++// Bit[4] dblk_hcmd_mv_available ++// Bit[3:0] dblk_cmd_if_state ++// h264_mv_cal_info_1 -- (index == 5) ++// Bit[31:29] Reserved ++// Bit[28:24] total_mvd_num_l0 ++// Bit[23:21] Reserved ++// Bit[20:16] mv_cal_ptr_l0 ++// Bit[15:13] Reserved ++// Bit[12:8] mc_hcmd_ptr_l0 ++// Bit[7:5] Reserved ++// Bit[4:0] dblk_hcmd_ptr_l0 ++// h264_mv_cal_info_2 -- (index == 6) ++// Bit[31:29] Reserved ++// Bit[28:24] total_mvd_num_l1 ++// Bit[23:21] Reserved ++// Bit[20:16] mv_cal_ptr_l1 ++// Bit[15:13] Reserved ++// Bit[12:8] mc_hcmd_ptr_l1 ++// Bit[7:5] Reserved ++// Bit[4:0] dblk_hcmd_ptr_l1 ++// h264_co_mb_info -- (index == 7) ++// Bit[31:26] Reserved ++// Bit[25] mv_scale_cal_busy ++// Bit[24:20] co_mv_count ++// Bit[19:16] co_mv_process_state ++// Bit[15] h264_co_mb_rd_busy ++// Bit[15] h264_co_mb_rd_ready ++// Bit[13:12] co_mv_transfer_block_cnt ++// Bit[11:8] co_mv_transfer_ptr ++// Bit[7] co_mv_POC_l1_busy ++// Bit[6] h264_weight_scale_cal_en ++// Bit[5] weight_cal_busy ++// Bit[4] weight_cal_not_finished ++// Bit[3:0] weight_process_state ++#define HEVC_VLD_DBG_DATA (0x3c3f) ++#define P_HEVC_VLD_DBG_DATA (volatile unsigned int *)((0x3c3f << 2) + 0xff620000) ++// -------------------------------------------- ++// VIFIFO DDR Interface ++// -------------------------------------------- ++// The VIFIFO start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define HEVC_VLD_MEM_VIFIFO_START_PTR (0x3c40) ++#define P_HEVC_VLD_MEM_VIFIFO_START_PTR (volatile unsigned int *)((0x3c40 << 2) + 0xff620000) ++// The current pointer points so some location between the START and END ++// pointers. The current pointer is a BYTE pointer. That is, you can ++// point to any BYTE address within the START/END range ++#define HEVC_VLD_MEM_VIFIFO_CURR_PTR (0x3c41) ++#define P_HEVC_VLD_MEM_VIFIFO_CURR_PTR (volatile unsigned int *)((0x3c41 << 2) + 0xff620000) ++#define HEVC_VLD_MEM_VIFIFO_END_PTR (0x3c42) ++#define P_HEVC_VLD_MEM_VIFIFO_END_PTR (volatile unsigned int *)((0x3c42 << 2) + 0xff620000) ++#define HEVC_VLD_MEM_VIFIFO_BYTES_AVAIL (0x3c43) ++#define P_HEVC_VLD_MEM_VIFIFO_BYTES_AVAIL (volatile unsigned int *)((0x3c43 << 2) + 0xff620000) ++// VIFIFO FIFO Control ++// bit [31:24] viff_empty_int_enable_cpu[7:0] ++// bit [23:16] viff_empty_int_enable_amrisc[7:0] ++// -bit 23 Video BUFFER < 0x400 Bytes ++// -bit 22 Video BUFFER < 0x200 Bytes ++// -bit 21 Video BUFFER < 0x100 Bytes ++// -bit 20 Video BUFFER < 0x80 Bytes ++// -bit 19 Video BUFFER < 0x40 Bytes ++// -bit 18 Video BUFFER < 0x20 Bytes ++// -bit 17 vififo < 16 double words ++// -bit 16 vififo < 8 double words ++// bit [15:13] unused ++// bit [12] A_urgent ++// bit [11] transfer_length 0 - 32x64 Bits per request, 1 - 16x64 Bits per request ++// bit [10] use_level Set this bit to 1 to enable filling of the FIFO controlled by the buffer ++// level control. If this bit is 0, then use bit[1] to control the enabling of filling ++// bit [9] Data Ready. This bit is set when data can be popped ++// bit [8] fill busy This bit will be high when we're fetching data from the DDR memory ++// To reset this module, set cntl_enable = 0, and then wait for busy = 0. ++// After that you can pulse cntl_init to start over ++// bit [7] init_with_cntl_init ++// bit [6] reserved ++// bits [5:3] endian: see $lib/rtl/ddr_endian.v ++// bit [2] cntl_empty_en Set to 1 to enable reading the DDR memory FIFO ++// Set cntl_empty_en = cntl_fill_en = 0 when pulsing cntl_init ++// bit [1] cntl_fill_en Set to 1 to enable reading data from DDR memory ++// bit [0] cntl_init: After setting the read pointers, sizes, channel masks ++// and read masks, set this bit to 1 and then to 0 ++// NOTE: You don't need to pulse cntl_init if only the start address is ++// being changed ++#define HEVC_VLD_MEM_VIFIFO_CONTROL (0x3c44) ++#define P_HEVC_VLD_MEM_VIFIFO_CONTROL (volatile unsigned int *)((0x3c44 << 2) + 0xff620000) ++// -------------------------------------------- ++// VIFIFO Buffer Level Manager ++// -------------------------------------------- ++#define HEVC_VLD_MEM_VIFIFO_WP (0x3c45) ++#define P_HEVC_VLD_MEM_VIFIFO_WP (volatile unsigned int *)((0x3c45 << 2) + 0xff620000) ++#define HEVC_VLD_MEM_VIFIFO_RP (0x3c46) ++#define P_HEVC_VLD_MEM_VIFIFO_RP (volatile unsigned int *)((0x3c46 << 2) + 0xff620000) ++#define HEVC_VLD_MEM_VIFIFO_LEVEL (0x3c47) ++#define P_HEVC_VLD_MEM_VIFIFO_LEVEL (volatile unsigned int *)((0x3c47 << 2) + 0xff620000) ++// ++// bit [8] use_parser_video2_wp ++// bit [7] vbuf2_out_manual ++// bit [6] vbuf_out_manual ++// bit [5] empty (ReadOnly) ++// bit [4] full (ReadOnly) ++// bit [3:2] reserved ++// bit [1] manual mode Set to 1 for manual write pointer mode ++// bit [0] Init Set high then low after everything has been initialized ++#define HEVC_VLD_MEM_VIFIFO_BUF_CNTL (0x3c48) ++#define P_HEVC_VLD_MEM_VIFIFO_BUF_CNTL (volatile unsigned int *)((0x3c48 << 2) + 0xff620000) ++// bit 31:16 -- drop_bytes ++// bit 15:14 -- drop_status (Read-Only) ++// bit 13:12 -- sync_match_position (Read-Only) ++// bit 11:6 -- reserved ++// bit 5:4 -- TIME_STAMP_NUMBER, 0-32bits, 1-64bits, 2-96bits, 3-128bits ++// bit 3 -- stamp_soft_reset ++// bit 2 -- TIME_STAMP_length_enable ++// bit 1 -- TIME_STAMP_sync64_enable ++// bit 0 -- TIME_STAMP_enable ++#define HEVC_VLD_TIME_STAMP_CNTL (0x3c49) ++#define P_HEVC_VLD_TIME_STAMP_CNTL (volatile unsigned int *)((0x3c49 << 2) + 0xff620000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_0 ++#define HEVC_VLD_TIME_STAMP_SYNC_0 (0x3c4a) ++#define P_HEVC_VLD_TIME_STAMP_SYNC_0 (volatile unsigned int *)((0x3c4a << 2) + 0xff620000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_1 ++#define HEVC_VLD_TIME_STAMP_SYNC_1 (0x3c4b) ++#define P_HEVC_VLD_TIME_STAMP_SYNC_1 (volatile unsigned int *)((0x3c4b << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_0 ++#define HEVC_VLD_TIME_STAMP_0 (0x3c4c) ++#define P_HEVC_VLD_TIME_STAMP_0 (volatile unsigned int *)((0x3c4c << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_1 ++#define HEVC_VLD_TIME_STAMP_1 (0x3c4d) ++#define P_HEVC_VLD_TIME_STAMP_1 (volatile unsigned int *)((0x3c4d << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_2 ++#define HEVC_VLD_TIME_STAMP_2 (0x3c4e) ++#define P_HEVC_VLD_TIME_STAMP_2 (volatile unsigned int *)((0x3c4e << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_3 ++#define HEVC_VLD_TIME_STAMP_3 (0x3c4f) ++#define P_HEVC_VLD_TIME_STAMP_3 (volatile unsigned int *)((0x3c4f << 2) + 0xff620000) ++// bit 31:0 TIME_STAMP_LENGTH ++#define HEVC_VLD_TIME_STAMP_LENGTH (0x3c50) ++#define P_HEVC_VLD_TIME_STAMP_LENGTH (volatile unsigned int *)((0x3c50 << 2) + 0xff620000) ++// bit 15:0 vififo_rd_count ++#define HEVC_VLD_MEM_VIFIFO_WRAP_COUNT (0x3c51) ++#define P_HEVC_VLD_MEM_VIFIFO_WRAP_COUNT (volatile unsigned int *)((0x3c51 << 2) + 0xff620000) ++// bit 29:24 A_brst_num ++// bit 21:16 A_id ++// bit 15:0 level_hold ++#define HEVC_VLD_MEM_VIFIFO_MEM_CTL (0x3c52) ++#define P_HEVC_VLD_MEM_VIFIFO_MEM_CTL (volatile unsigned int *)((0x3c52 << 2) + 0xff620000) ++#define HEVC_VLD_MEM_VBUF_RD_PTR (0x3c53) ++#define P_HEVC_VLD_MEM_VBUF_RD_PTR (volatile unsigned int *)((0x3c53 << 2) + 0xff620000) ++#define HEVC_VLD_MEM_VBUF2_RD_PTR (0x3c54) ++#define P_HEVC_VLD_MEM_VBUF2_RD_PTR (volatile unsigned int *)((0x3c54 << 2) + 0xff620000) ++#define HEVC_VLD_MEM_SWAP_ADDR (0x3c55) ++#define P_HEVC_VLD_MEM_SWAP_ADDR (volatile unsigned int *)((0x3c55 << 2) + 0xff620000) ++// bit[23:16] - swap_d_count (Read Only) ++// bit[15:8] - swap_a_count (Read Only) ++// bit [7] - swap busy (Read Only) ++// bit [6:2] - reserved ++// bit [1] - 1 - STORE to Memory, 0 - LOAD from Memory ++// bit [0] - swap active ++#define HEVC_VLD_MEM_SWAP_CTL (0x3c56) ++#define P_HEVC_VLD_MEM_SWAP_CTL (volatile unsigned int *)((0x3c56 << 2) + 0xff620000) ++// ++// Closing file: vld_regs.h ++// ++// ++// Reading file: iqidct_regs.h ++// ++//======================================================================== ++// IQ/IDCT module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_IQIDCT_CBUS_BASE = 0x0e ++// ----------------------------------------------- ++#define HCODEC_VCOP_CTRL_REG (0x1e00) ++#define P_HCODEC_VCOP_CTRL_REG (volatile unsigned int *)((0x1e00 << 2) + 0xff620000) ++#define HCODEC_QP_CTRL_REG (0x1e01) ++#define P_HCODEC_QP_CTRL_REG (volatile unsigned int *)((0x1e01 << 2) + 0xff620000) ++#define HCODEC_INTRA_QUANT_MATRIX (0x1e02) ++#define P_HCODEC_INTRA_QUANT_MATRIX (volatile unsigned int *)((0x1e02 << 2) + 0xff620000) ++#define HCODEC_NON_I_QUANT_MATRIX (0x1e03) ++#define P_HCODEC_NON_I_QUANT_MATRIX (volatile unsigned int *)((0x1e03 << 2) + 0xff620000) ++#define HCODEC_DC_SCALER (0x1e04) ++#define P_HCODEC_DC_SCALER (volatile unsigned int *)((0x1e04 << 2) + 0xff620000) ++#define HCODEC_DC_AC_CTRL (0x1e05) ++#define P_HCODEC_DC_AC_CTRL (volatile unsigned int *)((0x1e05 << 2) + 0xff620000) ++// `define RV_AI_CTRL 8'h05 // ONLY for $ucode/real/amrisc/rv.s reg value from apollo ++#define HCODEC_DC_AC_SCALE_MUL (0x1e06) ++#define P_HCODEC_DC_AC_SCALE_MUL (volatile unsigned int *)((0x1e06 << 2) + 0xff620000) ++#define HCODEC_DC_AC_SCALE_DIV (0x1e07) ++#define P_HCODEC_DC_AC_SCALE_DIV (volatile unsigned int *)((0x1e07 << 2) + 0xff620000) ++// `define DC_AC_SCALE_RESULT 8'h06 ++// `define RESERVED_E07 8'h07 ++#define HCODEC_POWER_CTL_IQIDCT (0x1e08) ++#define P_HCODEC_POWER_CTL_IQIDCT (volatile unsigned int *)((0x1e08 << 2) + 0xff620000) ++#define HCODEC_RV_AI_Y_X (0x1e09) ++#define P_HCODEC_RV_AI_Y_X (volatile unsigned int *)((0x1e09 << 2) + 0xff620000) ++#define HCODEC_RV_AI_U_X (0x1e0a) ++#define P_HCODEC_RV_AI_U_X (volatile unsigned int *)((0x1e0a << 2) + 0xff620000) ++#define HCODEC_RV_AI_V_X (0x1e0b) ++#define P_HCODEC_RV_AI_V_X (volatile unsigned int *)((0x1e0b << 2) + 0xff620000) ++// bit 15:0 will count up when rv_ai_mb finished when non zero ++// and rv_ai_mb_finished_int will be generate when this is not zero ++#define HCODEC_RV_AI_MB_COUNT (0x1e0c) ++#define P_HCODEC_RV_AI_MB_COUNT (volatile unsigned int *)((0x1e0c << 2) + 0xff620000) ++// For H264 I in PB picture Use -- dma type : h264_next_intra_dma ++#define HCODEC_NEXT_INTRA_DMA_ADDRESS (0x1e0d) ++#define P_HCODEC_NEXT_INTRA_DMA_ADDRESS (volatile unsigned int *)((0x1e0d << 2) + 0xff620000) ++// Bit 16 -- dcac_dma_read_cache_disable ++// Bit 15 -- dcac_dma_urgent ++// Bit 14 -- nv21_swap ++// Bit 13 -- nv21_top_dma ++// Bit 12 -- reset_rv_ai_wait_rd_data ++// Bit 11 -- set_rv_ai_wait_rd_data [12:11] = 3 means only dec 1 (For Skipped MB of MBAFF) ++// Bit 10 -- rv_ai_wait_rd_data (Read Only) ++// Bit 9 -- enable_rv_ai_wait_rd_data ++// Bit 8 -- disable_vc1_mv_update ++// Bit 7 -- pred_dc_signed ++// Bit 6 -- inc_vld_ready_count ++// Bit 5 -- dec_vld_ready_count ++// Bit 4 -- disable_ref_bidir_fix ++// Bit 3 -- disable_MV_UL_l1_bot_fix ++// Bit 2 -- disable_mb_aff_fix ++// Bit 1 -- canvas_addr_7 ++// Bit 0 -- constrained_intra_pred_flag for H264 ++#define HCODEC_IQIDCT_CONTROL (0x1e0e) ++#define P_HCODEC_IQIDCT_CONTROL (volatile unsigned int *)((0x1e0e << 2) + 0xff620000) ++// Bit[31:19] Reserved ++// Bit[18] iq_waiting ++// Bit[17] iq_om_wr_idx ++// Bit[16] iq_om_rd_idx ++// Bit[15] iq_om_busy ++// Bit[14] iq_om_2_busy ++// Bit[13] idx_fifo_0 ++// Bit[12] idx_fifo_1 ++// Bit[11] idx_fifo_2 ++// Bit[10] idx_fifo_3 ++// Bit[9] idx_fifo_4 ++// Bit[8] idx_fifo_5 ++// Bit[7] idx_fifo_6 ++// Bit[6] idx_fifo_7 ++// Bit[5:3] idx_fifo_wp ++// Bit[2:0] idx_fifo_rp ++#define HCODEC_IQIDCT_DEBUG_INFO_0 (0x1e0f) ++#define P_HCODEC_IQIDCT_DEBUG_INFO_0 (volatile unsigned int *)((0x1e0f << 2) + 0xff620000) ++// For RTL Simulation Only ++#define HCODEC_DEBLK_CMD (0x1e10) ++#define P_HCODEC_DEBLK_CMD (volatile unsigned int *)((0x1e10 << 2) + 0xff620000) ++// Bit[15+16] ds_mc_valid_2 ++// Bit[14+16] new_idct1_rd_idx_2 ++// Bit[13+16] new_idct1_wr_idx_2 ++// Bit[12+16] idct1_buff0_busy_2 ++// Bit[11+16] idct1_buff1_busy_2 ++// Bit[10+16] new_idct1_busy_2 ++// Bit[9+16] iq_om_8val_2 ++// Bit[8+16] idct1_pipe_busy_2 ++// Bit[7+16] wait_mb_left_finish_hold_2 ++// Bit[6+16] new_idct2_rd_idx_2 ++// Bit[5+16] new_idct2_wr_idx_2 ++// Bit[4+16] idct2_buff0_busy_2 ++// Bit[3+16] idct2_buff1_busy_2 ++// Bit[2+16] idct2_en_2 ++// Bit[1+16] new_idct2_busy_2 ++// Bit[0+16] new_idct1_ready_2 ++// Bit[15] ds_mc_valid_1 ++// Bit[14] new_idct1_rd_idx_1 ++// Bit[13] new_idct1_wr_idx_1 ++// Bit[12] idct1_buff0_busy_1 ++// Bit[11] idct1_buff1_busy_1 ++// Bit[10] new_idct1_busy_1 ++// Bit[9] iq_om_8val_1 ++// Bit[8] idct1_pipe_busy_1 ++// Bit[7] wait_mb_left_finish_hold_1 ++// Bit[6] new_idct2_rd_idx_1 ++// Bit[5] new_idct2_wr_idx_1 ++// Bit[4] idct2_buff0_busy_1 ++// Bit[3] idct2_buff1_busy_1 ++// Bit[2] idct2_en_1 ++// Bit[1] new_idct2_busy_1 ++// Bit[0] new_idct1_ready_1 ++#define HCODEC_IQIDCT_DEBUG_IDCT (0x1e11) ++#define P_HCODEC_IQIDCT_DEBUG_IDCT (volatile unsigned int *)((0x1e11 << 2) + 0xff620000) ++// bit 31 -- convas_enable ++// bit 30:24 -- convas_x_count ( 8 pixels / 64 bits ) ++// bit 23:16 -- convas_y_count ++// bit 15 -- dcac_dma_busy ++// bit 14 -- dcac_dma_read_cache_active ++// bit 13:8 -- dcac_dma_count ++// bit 7 -- dcac_dma_rw ++// bit 6 -- dcac_skip_read_mode ++// bit 5:0 -- dcac_dma_offset ++#define HCODEC_DCAC_DMA_CTRL (0x1e12) ++#define P_HCODEC_DCAC_DMA_CTRL (volatile unsigned int *)((0x1e12 << 2) + 0xff620000) ++// when (convas_enable == 0 ) ++// bit 31:0 dcac_dma_addr ++// when (convas_enable == 1 ) ++// bit 31:25 canvas_addr (7 bits) ++// bit 24:12 convas_y_start ( 13 btis ) ++// bit 11:0 convas_x_start ( 12 btis ) ++#define HCODEC_DCAC_DMA_ADDRESS (0x1e13) ++#define P_HCODEC_DCAC_DMA_ADDRESS (volatile unsigned int *)((0x1e13 << 2) + 0xff620000) ++// bit 7:0 -- dcac_cpu_addr ++#define HCODEC_DCAC_CPU_ADDRESS (0x1e14) ++#define P_HCODEC_DCAC_CPU_ADDRESS (volatile unsigned int *)((0x1e14 << 2) + 0xff620000) ++// bit 31:0 -- dcac_cpu_data ++#define HCODEC_DCAC_CPU_DATA (0x1e15) ++#define P_HCODEC_DCAC_CPU_DATA (volatile unsigned int *)((0x1e15 << 2) + 0xff620000) ++// bit 31:19 -- reserved ++// bit 18:16 -- block_num_reg -- Read-Only ++// bit 15:0 -- dcac_mb_count ++#define HCODEC_DCAC_MB_COUNT (0x1e16) ++#define P_HCODEC_DCAC_MB_COUNT (volatile unsigned int *)((0x1e16 << 2) + 0xff620000) ++// bit 31:18 -- reserved ++// For H264 : ++// bit 17:2 -- h264_quant ++// bit 11:6 -- h264_quant_c ++// bit 5:0 -- h264_quant_c ++// For VC1 : ++// bit 17 -- qindex_GT_8 ++// bit 16 -- HalfQPStep ++// bit 15:12 -- eQuantMode ++// bit 11:6 -- AltPQuant ++// bit 5:0 -- PQuant ++// ++#define HCODEC_IQ_QUANT (0x1e17) ++#define P_HCODEC_IQ_QUANT (volatile unsigned int *)((0x1e17 << 2) + 0xff620000) ++// bit 31:24 -- bitplane_width ++// bit 23:16 -- bitplane_height ++// bit 15:14 -- bitplane_start_x ++// bit 13:12 -- bitplane_start_y ++// bit 11:4 -- reserved ++// bit 3:1 -- bitplane_type ++// bit 0 -- bitplane_busy ++#define HCODEC_VC1_BITPLANE_CTL (0x1e18) ++#define P_HCODEC_VC1_BITPLANE_CTL (volatile unsigned int *)((0x1e18 << 2) + 0xff620000) ++// bit 24:16 -- wq_param1 ++// bit 8: 0 -- wq_param0 ++#define HCODEC_AVSP_IQ_WQ_PARAM_01 (0x1e19) ++#define P_HCODEC_AVSP_IQ_WQ_PARAM_01 (volatile unsigned int *)((0x1e19 << 2) + 0xff620000) ++// bit 24:16 -- wq_param3 ++// bit 8: 0 -- wq_param2 ++#define HCODEC_AVSP_IQ_WQ_PARAM_23 (0x1e1a) ++#define P_HCODEC_AVSP_IQ_WQ_PARAM_23 (volatile unsigned int *)((0x1e1a << 2) + 0xff620000) ++// bit 24:16 -- wq_param5 ++// bit 8: 0 -- wq_param4 ++#define HCODEC_AVSP_IQ_WQ_PARAM_45 (0x1e1b) ++#define P_HCODEC_AVSP_IQ_WQ_PARAM_45 (volatile unsigned int *)((0x1e1b << 2) + 0xff620000) ++// bit 31 -- weight_quant_en ++// bit 17:16 -- current_scene_model ++// bit 12: 8 -- chroma_qp_delta_cr ++// bit 4: 0 -- chroma_qp_delta_cb ++#define HCODEC_AVSP_IQ_CTL (0x1e1c) ++#define P_HCODEC_AVSP_IQ_CTL (volatile unsigned int *)((0x1e1c << 2) + 0xff620000) ++//====================================== ++// VCOP Control Register Bits ++// ++//====================================== ++ //`define IQIDCT_RESET 16'h0001 // Bit 0 ++//====================================== ++// QP Control Register Bits ++// ++//====================================== ++// Duplicate Address: When actually used ++// please move to a different address ++// `define FLD_DCT_TYPE 16'h0100 // Bit 8 0 = Frame DCT; 1 = field DCT ++// ++// Closing file: iqidct_regs.h ++// ++// ++// Reading file: iqidct_regs.h ++// ++//======================================================================== ++// IQ/IDCT module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_IQIDCT_CBUS_BASE = 0x0e ++// ----------------------------------------------- ++#define VDEC2_VCOP_CTRL_REG (0x2e00) ++#define P_VDEC2_VCOP_CTRL_REG (volatile unsigned int *)((0x2e00 << 2) + 0xff620000) ++#define VDEC2_QP_CTRL_REG (0x2e01) ++#define P_VDEC2_QP_CTRL_REG (volatile unsigned int *)((0x2e01 << 2) + 0xff620000) ++#define VDEC2_INTRA_QUANT_MATRIX (0x2e02) ++#define P_VDEC2_INTRA_QUANT_MATRIX (volatile unsigned int *)((0x2e02 << 2) + 0xff620000) ++#define VDEC2_NON_I_QUANT_MATRIX (0x2e03) ++#define P_VDEC2_NON_I_QUANT_MATRIX (volatile unsigned int *)((0x2e03 << 2) + 0xff620000) ++#define VDEC2_DC_SCALER (0x2e04) ++#define P_VDEC2_DC_SCALER (volatile unsigned int *)((0x2e04 << 2) + 0xff620000) ++#define VDEC2_DC_AC_CTRL (0x2e05) ++#define P_VDEC2_DC_AC_CTRL (volatile unsigned int *)((0x2e05 << 2) + 0xff620000) ++// `define RV_AI_CTRL 8'h05 // ONLY for $ucode/real/amrisc/rv.s reg value from apollo ++#define VDEC2_DC_AC_SCALE_MUL (0x2e06) ++#define P_VDEC2_DC_AC_SCALE_MUL (volatile unsigned int *)((0x2e06 << 2) + 0xff620000) ++#define VDEC2_DC_AC_SCALE_DIV (0x2e07) ++#define P_VDEC2_DC_AC_SCALE_DIV (volatile unsigned int *)((0x2e07 << 2) + 0xff620000) ++// `define DC_AC_SCALE_RESULT 8'h06 ++// `define RESERVED_E07 8'h07 ++#define VDEC2_POWER_CTL_IQIDCT (0x2e08) ++#define P_VDEC2_POWER_CTL_IQIDCT (volatile unsigned int *)((0x2e08 << 2) + 0xff620000) ++#define VDEC2_RV_AI_Y_X (0x2e09) ++#define P_VDEC2_RV_AI_Y_X (volatile unsigned int *)((0x2e09 << 2) + 0xff620000) ++#define VDEC2_RV_AI_U_X (0x2e0a) ++#define P_VDEC2_RV_AI_U_X (volatile unsigned int *)((0x2e0a << 2) + 0xff620000) ++#define VDEC2_RV_AI_V_X (0x2e0b) ++#define P_VDEC2_RV_AI_V_X (volatile unsigned int *)((0x2e0b << 2) + 0xff620000) ++// bit 15:0 will count up when rv_ai_mb finished when non zero ++// and rv_ai_mb_finished_int will be generate when this is not zero ++#define VDEC2_RV_AI_MB_COUNT (0x2e0c) ++#define P_VDEC2_RV_AI_MB_COUNT (volatile unsigned int *)((0x2e0c << 2) + 0xff620000) ++// For H264 I in PB picture Use -- dma type : h264_next_intra_dma ++#define VDEC2_NEXT_INTRA_DMA_ADDRESS (0x2e0d) ++#define P_VDEC2_NEXT_INTRA_DMA_ADDRESS (volatile unsigned int *)((0x2e0d << 2) + 0xff620000) ++// Bit 16 -- dcac_dma_read_cache_disable ++// Bit 15 -- dcac_dma_urgent ++// Bit 14 -- nv21_swap ++// Bit 13 -- nv21_top_dma ++// Bit 12 -- reset_rv_ai_wait_rd_data ++// Bit 11 -- set_rv_ai_wait_rd_data [12:11] = 3 means only dec 1 (For Skipped MB of MBAFF) ++// Bit 10 -- rv_ai_wait_rd_data (Read Only) ++// Bit 9 -- enable_rv_ai_wait_rd_data ++// Bit 8 -- disable_vc1_mv_update ++// Bit 7 -- pred_dc_signed ++// Bit 6 -- inc_vld_ready_count ++// Bit 5 -- dec_vld_ready_count ++// Bit 4 -- disable_ref_bidir_fix ++// Bit 3 -- disable_MV_UL_l1_bot_fix ++// Bit 2 -- disable_mb_aff_fix ++// Bit 1 -- canvas_addr_7 ++// Bit 0 -- constrained_intra_pred_flag for H264 ++#define VDEC2_IQIDCT_CONTROL (0x2e0e) ++#define P_VDEC2_IQIDCT_CONTROL (volatile unsigned int *)((0x2e0e << 2) + 0xff620000) ++// Bit[31:19] Reserved ++// Bit[18] iq_waiting ++// Bit[17] iq_om_wr_idx ++// Bit[16] iq_om_rd_idx ++// Bit[15] iq_om_busy ++// Bit[14] iq_om_2_busy ++// Bit[13] idx_fifo_0 ++// Bit[12] idx_fifo_1 ++// Bit[11] idx_fifo_2 ++// Bit[10] idx_fifo_3 ++// Bit[9] idx_fifo_4 ++// Bit[8] idx_fifo_5 ++// Bit[7] idx_fifo_6 ++// Bit[6] idx_fifo_7 ++// Bit[5:3] idx_fifo_wp ++// Bit[2:0] idx_fifo_rp ++#define VDEC2_IQIDCT_DEBUG_INFO_0 (0x2e0f) ++#define P_VDEC2_IQIDCT_DEBUG_INFO_0 (volatile unsigned int *)((0x2e0f << 2) + 0xff620000) ++// For RTL Simulation Only ++#define VDEC2_DEBLK_CMD (0x2e10) ++#define P_VDEC2_DEBLK_CMD (volatile unsigned int *)((0x2e10 << 2) + 0xff620000) ++// Bit[15+16] ds_mc_valid_2 ++// Bit[14+16] new_idct1_rd_idx_2 ++// Bit[13+16] new_idct1_wr_idx_2 ++// Bit[12+16] idct1_buff0_busy_2 ++// Bit[11+16] idct1_buff1_busy_2 ++// Bit[10+16] new_idct1_busy_2 ++// Bit[9+16] iq_om_8val_2 ++// Bit[8+16] idct1_pipe_busy_2 ++// Bit[7+16] wait_mb_left_finish_hold_2 ++// Bit[6+16] new_idct2_rd_idx_2 ++// Bit[5+16] new_idct2_wr_idx_2 ++// Bit[4+16] idct2_buff0_busy_2 ++// Bit[3+16] idct2_buff1_busy_2 ++// Bit[2+16] idct2_en_2 ++// Bit[1+16] new_idct2_busy_2 ++// Bit[0+16] new_idct1_ready_2 ++// Bit[15] ds_mc_valid_1 ++// Bit[14] new_idct1_rd_idx_1 ++// Bit[13] new_idct1_wr_idx_1 ++// Bit[12] idct1_buff0_busy_1 ++// Bit[11] idct1_buff1_busy_1 ++// Bit[10] new_idct1_busy_1 ++// Bit[9] iq_om_8val_1 ++// Bit[8] idct1_pipe_busy_1 ++// Bit[7] wait_mb_left_finish_hold_1 ++// Bit[6] new_idct2_rd_idx_1 ++// Bit[5] new_idct2_wr_idx_1 ++// Bit[4] idct2_buff0_busy_1 ++// Bit[3] idct2_buff1_busy_1 ++// Bit[2] idct2_en_1 ++// Bit[1] new_idct2_busy_1 ++// Bit[0] new_idct1_ready_1 ++#define VDEC2_IQIDCT_DEBUG_IDCT (0x2e11) ++#define P_VDEC2_IQIDCT_DEBUG_IDCT (volatile unsigned int *)((0x2e11 << 2) + 0xff620000) ++// bit 31 -- convas_enable ++// bit 30:24 -- convas_x_count ( 8 pixels / 64 bits ) ++// bit 23:16 -- convas_y_count ++// bit 15 -- dcac_dma_busy ++// bit 14 -- dcac_dma_read_cache_active ++// bit 13:8 -- dcac_dma_count ++// bit 7 -- dcac_dma_rw ++// bit 6 -- dcac_skip_read_mode ++// bit 5:0 -- dcac_dma_offset ++#define VDEC2_DCAC_DMA_CTRL (0x2e12) ++#define P_VDEC2_DCAC_DMA_CTRL (volatile unsigned int *)((0x2e12 << 2) + 0xff620000) ++// when (convas_enable == 0 ) ++// bit 31:0 dcac_dma_addr ++// when (convas_enable == 1 ) ++// bit 31:25 canvas_addr (7 bits) ++// bit 24:12 convas_y_start ( 13 btis ) ++// bit 11:0 convas_x_start ( 12 btis ) ++#define VDEC2_DCAC_DMA_ADDRESS (0x2e13) ++#define P_VDEC2_DCAC_DMA_ADDRESS (volatile unsigned int *)((0x2e13 << 2) + 0xff620000) ++// bit 7:0 -- dcac_cpu_addr ++#define VDEC2_DCAC_CPU_ADDRESS (0x2e14) ++#define P_VDEC2_DCAC_CPU_ADDRESS (volatile unsigned int *)((0x2e14 << 2) + 0xff620000) ++// bit 31:0 -- dcac_cpu_data ++#define VDEC2_DCAC_CPU_DATA (0x2e15) ++#define P_VDEC2_DCAC_CPU_DATA (volatile unsigned int *)((0x2e15 << 2) + 0xff620000) ++// bit 31:19 -- reserved ++// bit 18:16 -- block_num_reg -- Read-Only ++// bit 15:0 -- dcac_mb_count ++#define VDEC2_DCAC_MB_COUNT (0x2e16) ++#define P_VDEC2_DCAC_MB_COUNT (volatile unsigned int *)((0x2e16 << 2) + 0xff620000) ++// bit 31:18 -- reserved ++// For H264 : ++// bit 17:2 -- h264_quant ++// bit 11:6 -- h264_quant_c ++// bit 5:0 -- h264_quant_c ++// For VC1 : ++// bit 17 -- qindex_GT_8 ++// bit 16 -- HalfQPStep ++// bit 15:12 -- eQuantMode ++// bit 11:6 -- AltPQuant ++// bit 5:0 -- PQuant ++// ++#define VDEC2_IQ_QUANT (0x2e17) ++#define P_VDEC2_IQ_QUANT (volatile unsigned int *)((0x2e17 << 2) + 0xff620000) ++// bit 31:24 -- bitplane_width ++// bit 23:16 -- bitplane_height ++// bit 15:14 -- bitplane_start_x ++// bit 13:12 -- bitplane_start_y ++// bit 11:4 -- reserved ++// bit 3:1 -- bitplane_type ++// bit 0 -- bitplane_busy ++#define VDEC2_VC1_BITPLANE_CTL (0x2e18) ++#define P_VDEC2_VC1_BITPLANE_CTL (volatile unsigned int *)((0x2e18 << 2) + 0xff620000) ++// bit 24:16 -- wq_param1 ++// bit 8: 0 -- wq_param0 ++#define VDEC2_AVSP_IQ_WQ_PARAM_01 (0x2e19) ++#define P_VDEC2_AVSP_IQ_WQ_PARAM_01 (volatile unsigned int *)((0x2e19 << 2) + 0xff620000) ++// bit 24:16 -- wq_param3 ++// bit 8: 0 -- wq_param2 ++#define VDEC2_AVSP_IQ_WQ_PARAM_23 (0x2e1a) ++#define P_VDEC2_AVSP_IQ_WQ_PARAM_23 (volatile unsigned int *)((0x2e1a << 2) + 0xff620000) ++// bit 24:16 -- wq_param5 ++// bit 8: 0 -- wq_param4 ++#define VDEC2_AVSP_IQ_WQ_PARAM_45 (0x2e1b) ++#define P_VDEC2_AVSP_IQ_WQ_PARAM_45 (volatile unsigned int *)((0x2e1b << 2) + 0xff620000) ++// bit 31 -- weight_quant_en ++// bit 17:16 -- current_scene_model ++// bit 12: 8 -- chroma_qp_delta_cr ++// bit 4: 0 -- chroma_qp_delta_cb ++#define VDEC2_AVSP_IQ_CTL (0x2e1c) ++#define P_VDEC2_AVSP_IQ_CTL (volatile unsigned int *)((0x2e1c << 2) + 0xff620000) ++//====================================== ++// VCOP Control Register Bits ++// ++//====================================== ++ //`define IQIDCT_RESET 16'h0001 // Bit 0 ++//====================================== ++// QP Control Register Bits ++// ++//====================================== ++// Duplicate Address: When actually used ++// please move to a different address ++// `define FLD_DCT_TYPE 16'h0100 // Bit 8 0 = Frame DCT; 1 = field DCT ++// ++// Closing file: iqidct_regs.h ++// ++// ++// Reading file: iqidct_regs.h ++// ++//======================================================================== ++// IQ/IDCT module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_IQIDCT_CBUS_BASE = 0x0e ++// ----------------------------------------------- ++#define HEVC_VCOP_CTRL_REG (0x3e00) ++#define P_HEVC_VCOP_CTRL_REG (volatile unsigned int *)((0x3e00 << 2) + 0xff620000) ++#define HEVC_QP_CTRL_REG (0x3e01) ++#define P_HEVC_QP_CTRL_REG (volatile unsigned int *)((0x3e01 << 2) + 0xff620000) ++#define HEVC_INTRA_QUANT_MATRIX (0x3e02) ++#define P_HEVC_INTRA_QUANT_MATRIX (volatile unsigned int *)((0x3e02 << 2) + 0xff620000) ++#define HEVC_NON_I_QUANT_MATRIX (0x3e03) ++#define P_HEVC_NON_I_QUANT_MATRIX (volatile unsigned int *)((0x3e03 << 2) + 0xff620000) ++#define HEVC_DC_SCALER (0x3e04) ++#define P_HEVC_DC_SCALER (volatile unsigned int *)((0x3e04 << 2) + 0xff620000) ++#define HEVC_DC_AC_CTRL (0x3e05) ++#define P_HEVC_DC_AC_CTRL (volatile unsigned int *)((0x3e05 << 2) + 0xff620000) ++// `define RV_AI_CTRL 8'h05 // ONLY for $ucode/real/amrisc/rv.s reg value from apollo ++#define HEVC_DC_AC_SCALE_MUL (0x3e06) ++#define P_HEVC_DC_AC_SCALE_MUL (volatile unsigned int *)((0x3e06 << 2) + 0xff620000) ++#define HEVC_DC_AC_SCALE_DIV (0x3e07) ++#define P_HEVC_DC_AC_SCALE_DIV (volatile unsigned int *)((0x3e07 << 2) + 0xff620000) ++// `define DC_AC_SCALE_RESULT 8'h06 ++// `define RESERVED_E07 8'h07 ++#define HEVC_POWER_CTL_IQIDCT (0x3e08) ++#define P_HEVC_POWER_CTL_IQIDCT (volatile unsigned int *)((0x3e08 << 2) + 0xff620000) ++#define HEVC_RV_AI_Y_X (0x3e09) ++#define P_HEVC_RV_AI_Y_X (volatile unsigned int *)((0x3e09 << 2) + 0xff620000) ++#define HEVC_RV_AI_U_X (0x3e0a) ++#define P_HEVC_RV_AI_U_X (volatile unsigned int *)((0x3e0a << 2) + 0xff620000) ++#define HEVC_RV_AI_V_X (0x3e0b) ++#define P_HEVC_RV_AI_V_X (volatile unsigned int *)((0x3e0b << 2) + 0xff620000) ++// bit 15:0 will count up when rv_ai_mb finished when non zero ++// and rv_ai_mb_finished_int will be generate when this is not zero ++#define HEVC_RV_AI_MB_COUNT (0x3e0c) ++#define P_HEVC_RV_AI_MB_COUNT (volatile unsigned int *)((0x3e0c << 2) + 0xff620000) ++// For H264 I in PB picture Use -- dma type : h264_next_intra_dma ++#define HEVC_NEXT_INTRA_DMA_ADDRESS (0x3e0d) ++#define P_HEVC_NEXT_INTRA_DMA_ADDRESS (volatile unsigned int *)((0x3e0d << 2) + 0xff620000) ++// Bit 16 -- dcac_dma_read_cache_disable ++// Bit 15 -- dcac_dma_urgent ++// Bit 14 -- nv21_swap ++// Bit 13 -- nv21_top_dma ++// Bit 12 -- reset_rv_ai_wait_rd_data ++// Bit 11 -- set_rv_ai_wait_rd_data [12:11] = 3 means only dec 1 (For Skipped MB of MBAFF) ++// Bit 10 -- rv_ai_wait_rd_data (Read Only) ++// Bit 9 -- enable_rv_ai_wait_rd_data ++// Bit 8 -- disable_vc1_mv_update ++// Bit 7 -- pred_dc_signed ++// Bit 6 -- inc_vld_ready_count ++// Bit 5 -- dec_vld_ready_count ++// Bit 4 -- disable_ref_bidir_fix ++// Bit 3 -- disable_MV_UL_l1_bot_fix ++// Bit 2 -- disable_mb_aff_fix ++// Bit 1 -- canvas_addr_7 ++// Bit 0 -- constrained_intra_pred_flag for H264 ++#define HEVC_IQIDCT_CONTROL (0x3e0e) ++#define P_HEVC_IQIDCT_CONTROL (volatile unsigned int *)((0x3e0e << 2) + 0xff620000) ++// Bit[31:19] Reserved ++// Bit[18] iq_waiting ++// Bit[17] iq_om_wr_idx ++// Bit[16] iq_om_rd_idx ++// Bit[15] iq_om_busy ++// Bit[14] iq_om_2_busy ++// Bit[13] idx_fifo_0 ++// Bit[12] idx_fifo_1 ++// Bit[11] idx_fifo_2 ++// Bit[10] idx_fifo_3 ++// Bit[9] idx_fifo_4 ++// Bit[8] idx_fifo_5 ++// Bit[7] idx_fifo_6 ++// Bit[6] idx_fifo_7 ++// Bit[5:3] idx_fifo_wp ++// Bit[2:0] idx_fifo_rp ++#define HEVC_IQIDCT_DEBUG_INFO_0 (0x3e0f) ++#define P_HEVC_IQIDCT_DEBUG_INFO_0 (volatile unsigned int *)((0x3e0f << 2) + 0xff620000) ++// For RTL Simulation Only ++#define HEVC_DEBLK_CMD (0x3e10) ++#define P_HEVC_DEBLK_CMD (volatile unsigned int *)((0x3e10 << 2) + 0xff620000) ++// Bit[15+16] ds_mc_valid_2 ++// Bit[14+16] new_idct1_rd_idx_2 ++// Bit[13+16] new_idct1_wr_idx_2 ++// Bit[12+16] idct1_buff0_busy_2 ++// Bit[11+16] idct1_buff1_busy_2 ++// Bit[10+16] new_idct1_busy_2 ++// Bit[9+16] iq_om_8val_2 ++// Bit[8+16] idct1_pipe_busy_2 ++// Bit[7+16] wait_mb_left_finish_hold_2 ++// Bit[6+16] new_idct2_rd_idx_2 ++// Bit[5+16] new_idct2_wr_idx_2 ++// Bit[4+16] idct2_buff0_busy_2 ++// Bit[3+16] idct2_buff1_busy_2 ++// Bit[2+16] idct2_en_2 ++// Bit[1+16] new_idct2_busy_2 ++// Bit[0+16] new_idct1_ready_2 ++// Bit[15] ds_mc_valid_1 ++// Bit[14] new_idct1_rd_idx_1 ++// Bit[13] new_idct1_wr_idx_1 ++// Bit[12] idct1_buff0_busy_1 ++// Bit[11] idct1_buff1_busy_1 ++// Bit[10] new_idct1_busy_1 ++// Bit[9] iq_om_8val_1 ++// Bit[8] idct1_pipe_busy_1 ++// Bit[7] wait_mb_left_finish_hold_1 ++// Bit[6] new_idct2_rd_idx_1 ++// Bit[5] new_idct2_wr_idx_1 ++// Bit[4] idct2_buff0_busy_1 ++// Bit[3] idct2_buff1_busy_1 ++// Bit[2] idct2_en_1 ++// Bit[1] new_idct2_busy_1 ++// Bit[0] new_idct1_ready_1 ++#define HEVC_IQIDCT_DEBUG_IDCT (0x3e11) ++#define P_HEVC_IQIDCT_DEBUG_IDCT (volatile unsigned int *)((0x3e11 << 2) + 0xff620000) ++// bit 31 -- convas_enable ++// bit 30:24 -- convas_x_count ( 8 pixels / 64 bits ) ++// bit 23:16 -- convas_y_count ++// bit 15 -- dcac_dma_busy ++// bit 14 -- dcac_dma_read_cache_active ++// bit 13:8 -- dcac_dma_count ++// bit 7 -- dcac_dma_rw ++// bit 6 -- dcac_skip_read_mode ++// bit 5:0 -- dcac_dma_offset ++#define HEVC_DCAC_DMA_CTRL (0x3e12) ++#define P_HEVC_DCAC_DMA_CTRL (volatile unsigned int *)((0x3e12 << 2) + 0xff620000) ++// when (convas_enable == 0 ) ++// bit 31:0 dcac_dma_addr ++// when (convas_enable == 1 ) ++// bit 31:25 canvas_addr (7 bits) ++// bit 24:12 convas_y_start ( 13 btis ) ++// bit 11:0 convas_x_start ( 12 btis ) ++#define HEVC_DCAC_DMA_ADDRESS (0x3e13) ++#define P_HEVC_DCAC_DMA_ADDRESS (volatile unsigned int *)((0x3e13 << 2) + 0xff620000) ++// bit 7:0 -- dcac_cpu_addr ++#define HEVC_DCAC_CPU_ADDRESS (0x3e14) ++#define P_HEVC_DCAC_CPU_ADDRESS (volatile unsigned int *)((0x3e14 << 2) + 0xff620000) ++// bit 31:0 -- dcac_cpu_data ++#define HEVC_DCAC_CPU_DATA (0x3e15) ++#define P_HEVC_DCAC_CPU_DATA (volatile unsigned int *)((0x3e15 << 2) + 0xff620000) ++// bit 31:19 -- reserved ++// bit 18:16 -- block_num_reg -- Read-Only ++// bit 15:0 -- dcac_mb_count ++#define HEVC_DCAC_MB_COUNT (0x3e16) ++#define P_HEVC_DCAC_MB_COUNT (volatile unsigned int *)((0x3e16 << 2) + 0xff620000) ++// bit 31:18 -- reserved ++// For H264 : ++// bit 17:2 -- h264_quant ++// bit 11:6 -- h264_quant_c ++// bit 5:0 -- h264_quant_c ++// For VC1 : ++// bit 17 -- qindex_GT_8 ++// bit 16 -- HalfQPStep ++// bit 15:12 -- eQuantMode ++// bit 11:6 -- AltPQuant ++// bit 5:0 -- PQuant ++// ++#define HEVC_IQ_QUANT (0x3e17) ++#define P_HEVC_IQ_QUANT (volatile unsigned int *)((0x3e17 << 2) + 0xff620000) ++// bit 31:24 -- bitplane_width ++// bit 23:16 -- bitplane_height ++// bit 15:14 -- bitplane_start_x ++// bit 13:12 -- bitplane_start_y ++// bit 11:4 -- reserved ++// bit 3:1 -- bitplane_type ++// bit 0 -- bitplane_busy ++#define HEVC_VC1_BITPLANE_CTL (0x3e18) ++#define P_HEVC_VC1_BITPLANE_CTL (volatile unsigned int *)((0x3e18 << 2) + 0xff620000) ++// bit 24:16 -- wq_param1 ++// bit 8: 0 -- wq_param0 ++#define HEVC_AVSP_IQ_WQ_PARAM_01 (0x3e19) ++#define P_HEVC_AVSP_IQ_WQ_PARAM_01 (volatile unsigned int *)((0x3e19 << 2) + 0xff620000) ++// bit 24:16 -- wq_param3 ++// bit 8: 0 -- wq_param2 ++#define HEVC_AVSP_IQ_WQ_PARAM_23 (0x3e1a) ++#define P_HEVC_AVSP_IQ_WQ_PARAM_23 (volatile unsigned int *)((0x3e1a << 2) + 0xff620000) ++// bit 24:16 -- wq_param5 ++// bit 8: 0 -- wq_param4 ++#define HEVC_AVSP_IQ_WQ_PARAM_45 (0x3e1b) ++#define P_HEVC_AVSP_IQ_WQ_PARAM_45 (volatile unsigned int *)((0x3e1b << 2) + 0xff620000) ++// bit 31 -- weight_quant_en ++// bit 17:16 -- current_scene_model ++// bit 12: 8 -- chroma_qp_delta_cr ++// bit 4: 0 -- chroma_qp_delta_cb ++#define HEVC_AVSP_IQ_CTL (0x3e1c) ++#define P_HEVC_AVSP_IQ_CTL (volatile unsigned int *)((0x3e1c << 2) + 0xff620000) ++//====================================== ++// VCOP Control Register Bits ++// ++//====================================== ++ //`define IQIDCT_RESET 16'h0001 // Bit 0 ++//====================================== ++// QP Control Register Bits ++// ++//====================================== ++// Duplicate Address: When actually used ++// please move to a different address ++// `define FLD_DCT_TYPE 16'h0100 // Bit 8 0 = Frame DCT; 1 = field DCT ++// ++// Closing file: iqidct_regs.h ++// ++// ++// Reading file: vcpu_regs.h ++// ++//======================================================================== ++// VCPU module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_VCPU_CBUS_BASE = 0x03 ++// ----------------------------------------------- ++#define HCODEC_MSP (0x1300) ++#define P_HCODEC_MSP (volatile unsigned int *)((0x1300 << 2) + 0xff620000) ++#define HCODEC_MPSR (0x1301) ++#define P_HCODEC_MPSR (volatile unsigned int *)((0x1301 << 2) + 0xff620000) ++#define HCODEC_MINT_VEC_BASE (0x1302) ++#define P_HCODEC_MINT_VEC_BASE (volatile unsigned int *)((0x1302 << 2) + 0xff620000) ++#define HCODEC_MCPU_INTR_GRP (0x1303) ++#define P_HCODEC_MCPU_INTR_GRP (volatile unsigned int *)((0x1303 << 2) + 0xff620000) ++#define HCODEC_MCPU_INTR_MSK (0x1304) ++#define P_HCODEC_MCPU_INTR_MSK (volatile unsigned int *)((0x1304 << 2) + 0xff620000) ++#define HCODEC_MCPU_INTR_REQ (0x1305) ++#define P_HCODEC_MCPU_INTR_REQ (volatile unsigned int *)((0x1305 << 2) + 0xff620000) ++#define HCODEC_MPC_P (0x1306) ++#define P_HCODEC_MPC_P (volatile unsigned int *)((0x1306 << 2) + 0xff620000) ++#define HCODEC_MPC_D (0x1307) ++#define P_HCODEC_MPC_D (volatile unsigned int *)((0x1307 << 2) + 0xff620000) ++#define HCODEC_MPC_E (0x1308) ++#define P_HCODEC_MPC_E (volatile unsigned int *)((0x1308 << 2) + 0xff620000) ++#define HCODEC_MPC_W (0x1309) ++#define P_HCODEC_MPC_W (volatile unsigned int *)((0x1309 << 2) + 0xff620000) ++#define HCODEC_MINDEX0_REG (0x130a) ++#define P_HCODEC_MINDEX0_REG (volatile unsigned int *)((0x130a << 2) + 0xff620000) ++#define HCODEC_MINDEX1_REG (0x130b) ++#define P_HCODEC_MINDEX1_REG (volatile unsigned int *)((0x130b << 2) + 0xff620000) ++#define HCODEC_MINDEX2_REG (0x130c) ++#define P_HCODEC_MINDEX2_REG (volatile unsigned int *)((0x130c << 2) + 0xff620000) ++#define HCODEC_MINDEX3_REG (0x130d) ++#define P_HCODEC_MINDEX3_REG (volatile unsigned int *)((0x130d << 2) + 0xff620000) ++#define HCODEC_MINDEX4_REG (0x130e) ++#define P_HCODEC_MINDEX4_REG (volatile unsigned int *)((0x130e << 2) + 0xff620000) ++#define HCODEC_MINDEX5_REG (0x130f) ++#define P_HCODEC_MINDEX5_REG (volatile unsigned int *)((0x130f << 2) + 0xff620000) ++#define HCODEC_MINDEX6_REG (0x1310) ++#define P_HCODEC_MINDEX6_REG (volatile unsigned int *)((0x1310 << 2) + 0xff620000) ++#define HCODEC_MINDEX7_REG (0x1311) ++#define P_HCODEC_MINDEX7_REG (volatile unsigned int *)((0x1311 << 2) + 0xff620000) ++#define HCODEC_MMIN_REG (0x1312) ++#define P_HCODEC_MMIN_REG (volatile unsigned int *)((0x1312 << 2) + 0xff620000) ++#define HCODEC_MMAX_REG (0x1313) ++#define P_HCODEC_MMAX_REG (volatile unsigned int *)((0x1313 << 2) + 0xff620000) ++#define HCODEC_MBREAK0_REG (0x1314) ++#define P_HCODEC_MBREAK0_REG (volatile unsigned int *)((0x1314 << 2) + 0xff620000) ++#define HCODEC_MBREAK1_REG (0x1315) ++#define P_HCODEC_MBREAK1_REG (volatile unsigned int *)((0x1315 << 2) + 0xff620000) ++#define HCODEC_MBREAK2_REG (0x1316) ++#define P_HCODEC_MBREAK2_REG (volatile unsigned int *)((0x1316 << 2) + 0xff620000) ++#define HCODEC_MBREAK3_REG (0x1317) ++#define P_HCODEC_MBREAK3_REG (volatile unsigned int *)((0x1317 << 2) + 0xff620000) ++#define HCODEC_MBREAK_TYPE (0x1318) ++#define P_HCODEC_MBREAK_TYPE (volatile unsigned int *)((0x1318 << 2) + 0xff620000) ++#define HCODEC_MBREAK_CTRL (0x1319) ++#define P_HCODEC_MBREAK_CTRL (volatile unsigned int *)((0x1319 << 2) + 0xff620000) ++#define HCODEC_MBREAK_STAUTS (0x131a) ++#define P_HCODEC_MBREAK_STAUTS (volatile unsigned int *)((0x131a << 2) + 0xff620000) ++#define HCODEC_MDB_ADDR_REG (0x131b) ++#define P_HCODEC_MDB_ADDR_REG (volatile unsigned int *)((0x131b << 2) + 0xff620000) ++#define HCODEC_MDB_DATA_REG (0x131c) ++#define P_HCODEC_MDB_DATA_REG (volatile unsigned int *)((0x131c << 2) + 0xff620000) ++#define HCODEC_MDB_CTRL (0x131d) ++#define P_HCODEC_MDB_CTRL (volatile unsigned int *)((0x131d << 2) + 0xff620000) ++#define HCODEC_MSFTINT0 (0x131e) ++#define P_HCODEC_MSFTINT0 (volatile unsigned int *)((0x131e << 2) + 0xff620000) ++#define HCODEC_MSFTINT1 (0x131f) ++#define P_HCODEC_MSFTINT1 (volatile unsigned int *)((0x131f << 2) + 0xff620000) ++#define HCODEC_CSP (0x1320) ++#define P_HCODEC_CSP (volatile unsigned int *)((0x1320 << 2) + 0xff620000) ++#define HCODEC_CPSR (0x1321) ++#define P_HCODEC_CPSR (volatile unsigned int *)((0x1321 << 2) + 0xff620000) ++#define HCODEC_CINT_VEC_BASE (0x1322) ++#define P_HCODEC_CINT_VEC_BASE (volatile unsigned int *)((0x1322 << 2) + 0xff620000) ++#define HCODEC_CCPU_INTR_GRP (0x1323) ++#define P_HCODEC_CCPU_INTR_GRP (volatile unsigned int *)((0x1323 << 2) + 0xff620000) ++#define HCODEC_CCPU_INTR_MSK (0x1324) ++#define P_HCODEC_CCPU_INTR_MSK (volatile unsigned int *)((0x1324 << 2) + 0xff620000) ++#define HCODEC_CCPU_INTR_REQ (0x1325) ++#define P_HCODEC_CCPU_INTR_REQ (volatile unsigned int *)((0x1325 << 2) + 0xff620000) ++#define HCODEC_CPC_P (0x1326) ++#define P_HCODEC_CPC_P (volatile unsigned int *)((0x1326 << 2) + 0xff620000) ++#define HCODEC_CPC_D (0x1327) ++#define P_HCODEC_CPC_D (volatile unsigned int *)((0x1327 << 2) + 0xff620000) ++#define HCODEC_CPC_E (0x1328) ++#define P_HCODEC_CPC_E (volatile unsigned int *)((0x1328 << 2) + 0xff620000) ++#define HCODEC_CPC_W (0x1329) ++#define P_HCODEC_CPC_W (volatile unsigned int *)((0x1329 << 2) + 0xff620000) ++#define HCODEC_CINDEX0_REG (0x132a) ++#define P_HCODEC_CINDEX0_REG (volatile unsigned int *)((0x132a << 2) + 0xff620000) ++#define HCODEC_CINDEX1_REG (0x132b) ++#define P_HCODEC_CINDEX1_REG (volatile unsigned int *)((0x132b << 2) + 0xff620000) ++#define HCODEC_CINDEX2_REG (0x132c) ++#define P_HCODEC_CINDEX2_REG (volatile unsigned int *)((0x132c << 2) + 0xff620000) ++#define HCODEC_CINDEX3_REG (0x132d) ++#define P_HCODEC_CINDEX3_REG (volatile unsigned int *)((0x132d << 2) + 0xff620000) ++#define HCODEC_CINDEX4_REG (0x132e) ++#define P_HCODEC_CINDEX4_REG (volatile unsigned int *)((0x132e << 2) + 0xff620000) ++#define HCODEC_CINDEX5_REG (0x132f) ++#define P_HCODEC_CINDEX5_REG (volatile unsigned int *)((0x132f << 2) + 0xff620000) ++#define HCODEC_CINDEX6_REG (0x1330) ++#define P_HCODEC_CINDEX6_REG (volatile unsigned int *)((0x1330 << 2) + 0xff620000) ++#define HCODEC_CINDEX7_REG (0x1331) ++#define P_HCODEC_CINDEX7_REG (volatile unsigned int *)((0x1331 << 2) + 0xff620000) ++#define HCODEC_CMIN_REG (0x1332) ++#define P_HCODEC_CMIN_REG (volatile unsigned int *)((0x1332 << 2) + 0xff620000) ++#define HCODEC_CMAX_REG (0x1333) ++#define P_HCODEC_CMAX_REG (volatile unsigned int *)((0x1333 << 2) + 0xff620000) ++#define HCODEC_CBREAK0_REG (0x1334) ++#define P_HCODEC_CBREAK0_REG (volatile unsigned int *)((0x1334 << 2) + 0xff620000) ++#define HCODEC_CBREAK1_REG (0x1335) ++#define P_HCODEC_CBREAK1_REG (volatile unsigned int *)((0x1335 << 2) + 0xff620000) ++#define HCODEC_CBREAK2_REG (0x1336) ++#define P_HCODEC_CBREAK2_REG (volatile unsigned int *)((0x1336 << 2) + 0xff620000) ++#define HCODEC_CBREAK3_REG (0x1337) ++#define P_HCODEC_CBREAK3_REG (volatile unsigned int *)((0x1337 << 2) + 0xff620000) ++#define HCODEC_CBREAK_TYPE (0x1338) ++#define P_HCODEC_CBREAK_TYPE (volatile unsigned int *)((0x1338 << 2) + 0xff620000) ++#define HCODEC_CBREAK_CTRL (0x1339) ++#define P_HCODEC_CBREAK_CTRL (volatile unsigned int *)((0x1339 << 2) + 0xff620000) ++#define HCODEC_CBREAK_STAUTS (0x133a) ++#define P_HCODEC_CBREAK_STAUTS (volatile unsigned int *)((0x133a << 2) + 0xff620000) ++#define HCODEC_CDB_ADDR_REG (0x133b) ++#define P_HCODEC_CDB_ADDR_REG (volatile unsigned int *)((0x133b << 2) + 0xff620000) ++#define HCODEC_CDB_DATA_REG (0x133c) ++#define P_HCODEC_CDB_DATA_REG (volatile unsigned int *)((0x133c << 2) + 0xff620000) ++#define HCODEC_CDB_CTRL (0x133d) ++#define P_HCODEC_CDB_CTRL (volatile unsigned int *)((0x133d << 2) + 0xff620000) ++#define HCODEC_CSFTINT0 (0x133e) ++#define P_HCODEC_CSFTINT0 (volatile unsigned int *)((0x133e << 2) + 0xff620000) ++#define HCODEC_CSFTINT1 (0x133f) ++#define P_HCODEC_CSFTINT1 (volatile unsigned int *)((0x133f << 2) + 0xff620000) ++#define HCODEC_IMEM_DMA_CTRL (0x1340) ++#define P_HCODEC_IMEM_DMA_CTRL (volatile unsigned int *)((0x1340 << 2) + 0xff620000) ++#define HCODEC_IMEM_DMA_ADR (0x1341) ++#define P_HCODEC_IMEM_DMA_ADR (volatile unsigned int *)((0x1341 << 2) + 0xff620000) ++#define HCODEC_IMEM_DMA_COUNT (0x1342) ++#define P_HCODEC_IMEM_DMA_COUNT (volatile unsigned int *)((0x1342 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_imem ++// bit[21:16] A_id_imem ++// bit[11:0] wrrsp_count_imem (reserved) ++#define HCODEC_WRRSP_IMEM (0x1343) ++#define P_HCODEC_WRRSP_IMEM (volatile unsigned int *)((0x1343 << 2) + 0xff620000) ++#define HCODEC_LMEM_DMA_CTRL (0x1350) ++#define P_HCODEC_LMEM_DMA_CTRL (volatile unsigned int *)((0x1350 << 2) + 0xff620000) ++#define HCODEC_LMEM_DMA_ADR (0x1351) ++#define P_HCODEC_LMEM_DMA_ADR (volatile unsigned int *)((0x1351 << 2) + 0xff620000) ++#define HCODEC_LMEM_DMA_COUNT (0x1352) ++#define P_HCODEC_LMEM_DMA_COUNT (volatile unsigned int *)((0x1352 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_lmem ++// bit[21:16] A_id_lmem ++// bit[11:0] wrrsp_count_lmem ++#define HCODEC_WRRSP_LMEM (0x1353) ++#define P_HCODEC_WRRSP_LMEM (volatile unsigned int *)((0x1353 << 2) + 0xff620000) ++#define HCODEC_MAC_CTRL1 (0x1360) ++#define P_HCODEC_MAC_CTRL1 (volatile unsigned int *)((0x1360 << 2) + 0xff620000) ++#define HCODEC_ACC0REG1 (0x1361) ++#define P_HCODEC_ACC0REG1 (volatile unsigned int *)((0x1361 << 2) + 0xff620000) ++#define HCODEC_ACC1REG1 (0x1362) ++#define P_HCODEC_ACC1REG1 (volatile unsigned int *)((0x1362 << 2) + 0xff620000) ++#define HCODEC_MAC_CTRL2 (0x1370) ++#define P_HCODEC_MAC_CTRL2 (volatile unsigned int *)((0x1370 << 2) + 0xff620000) ++#define HCODEC_ACC0REG2 (0x1371) ++#define P_HCODEC_ACC0REG2 (volatile unsigned int *)((0x1371 << 2) + 0xff620000) ++#define HCODEC_ACC1REG2 (0x1372) ++#define P_HCODEC_ACC1REG2 (volatile unsigned int *)((0x1372 << 2) + 0xff620000) ++#define HCODEC_CPU_TRACE (0x1380) ++#define P_HCODEC_CPU_TRACE (volatile unsigned int *)((0x1380 << 2) + 0xff620000) ++// ++// Closing file: vcpu_regs.h ++// ++// ++// Reading file: vcpu_regs.h ++// ++//======================================================================== ++// VCPU module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_VCPU_CBUS_BASE = 0x03 ++// ----------------------------------------------- ++#define VDEC2_MSP (0x2300) ++#define P_VDEC2_MSP (volatile unsigned int *)((0x2300 << 2) + 0xff620000) ++#define VDEC2_MPSR (0x2301) ++#define P_VDEC2_MPSR (volatile unsigned int *)((0x2301 << 2) + 0xff620000) ++#define VDEC2_MINT_VEC_BASE (0x2302) ++#define P_VDEC2_MINT_VEC_BASE (volatile unsigned int *)((0x2302 << 2) + 0xff620000) ++#define VDEC2_MCPU_INTR_GRP (0x2303) ++#define P_VDEC2_MCPU_INTR_GRP (volatile unsigned int *)((0x2303 << 2) + 0xff620000) ++#define VDEC2_MCPU_INTR_MSK (0x2304) ++#define P_VDEC2_MCPU_INTR_MSK (volatile unsigned int *)((0x2304 << 2) + 0xff620000) ++#define VDEC2_MCPU_INTR_REQ (0x2305) ++#define P_VDEC2_MCPU_INTR_REQ (volatile unsigned int *)((0x2305 << 2) + 0xff620000) ++#define VDEC2_MPC_P (0x2306) ++#define P_VDEC2_MPC_P (volatile unsigned int *)((0x2306 << 2) + 0xff620000) ++#define VDEC2_MPC_D (0x2307) ++#define P_VDEC2_MPC_D (volatile unsigned int *)((0x2307 << 2) + 0xff620000) ++#define VDEC2_MPC_E (0x2308) ++#define P_VDEC2_MPC_E (volatile unsigned int *)((0x2308 << 2) + 0xff620000) ++#define VDEC2_MPC_W (0x2309) ++#define P_VDEC2_MPC_W (volatile unsigned int *)((0x2309 << 2) + 0xff620000) ++#define VDEC2_MINDEX0_REG (0x230a) ++#define P_VDEC2_MINDEX0_REG (volatile unsigned int *)((0x230a << 2) + 0xff620000) ++#define VDEC2_MINDEX1_REG (0x230b) ++#define P_VDEC2_MINDEX1_REG (volatile unsigned int *)((0x230b << 2) + 0xff620000) ++#define VDEC2_MINDEX2_REG (0x230c) ++#define P_VDEC2_MINDEX2_REG (volatile unsigned int *)((0x230c << 2) + 0xff620000) ++#define VDEC2_MINDEX3_REG (0x230d) ++#define P_VDEC2_MINDEX3_REG (volatile unsigned int *)((0x230d << 2) + 0xff620000) ++#define VDEC2_MINDEX4_REG (0x230e) ++#define P_VDEC2_MINDEX4_REG (volatile unsigned int *)((0x230e << 2) + 0xff620000) ++#define VDEC2_MINDEX5_REG (0x230f) ++#define P_VDEC2_MINDEX5_REG (volatile unsigned int *)((0x230f << 2) + 0xff620000) ++#define VDEC2_MINDEX6_REG (0x2310) ++#define P_VDEC2_MINDEX6_REG (volatile unsigned int *)((0x2310 << 2) + 0xff620000) ++#define VDEC2_MINDEX7_REG (0x2311) ++#define P_VDEC2_MINDEX7_REG (volatile unsigned int *)((0x2311 << 2) + 0xff620000) ++#define VDEC2_MMIN_REG (0x2312) ++#define P_VDEC2_MMIN_REG (volatile unsigned int *)((0x2312 << 2) + 0xff620000) ++#define VDEC2_MMAX_REG (0x2313) ++#define P_VDEC2_MMAX_REG (volatile unsigned int *)((0x2313 << 2) + 0xff620000) ++#define VDEC2_MBREAK0_REG (0x2314) ++#define P_VDEC2_MBREAK0_REG (volatile unsigned int *)((0x2314 << 2) + 0xff620000) ++#define VDEC2_MBREAK1_REG (0x2315) ++#define P_VDEC2_MBREAK1_REG (volatile unsigned int *)((0x2315 << 2) + 0xff620000) ++#define VDEC2_MBREAK2_REG (0x2316) ++#define P_VDEC2_MBREAK2_REG (volatile unsigned int *)((0x2316 << 2) + 0xff620000) ++#define VDEC2_MBREAK3_REG (0x2317) ++#define P_VDEC2_MBREAK3_REG (volatile unsigned int *)((0x2317 << 2) + 0xff620000) ++#define VDEC2_MBREAK_TYPE (0x2318) ++#define P_VDEC2_MBREAK_TYPE (volatile unsigned int *)((0x2318 << 2) + 0xff620000) ++#define VDEC2_MBREAK_CTRL (0x2319) ++#define P_VDEC2_MBREAK_CTRL (volatile unsigned int *)((0x2319 << 2) + 0xff620000) ++#define VDEC2_MBREAK_STAUTS (0x231a) ++#define P_VDEC2_MBREAK_STAUTS (volatile unsigned int *)((0x231a << 2) + 0xff620000) ++#define VDEC2_MDB_ADDR_REG (0x231b) ++#define P_VDEC2_MDB_ADDR_REG (volatile unsigned int *)((0x231b << 2) + 0xff620000) ++#define VDEC2_MDB_DATA_REG (0x231c) ++#define P_VDEC2_MDB_DATA_REG (volatile unsigned int *)((0x231c << 2) + 0xff620000) ++#define VDEC2_MDB_CTRL (0x231d) ++#define P_VDEC2_MDB_CTRL (volatile unsigned int *)((0x231d << 2) + 0xff620000) ++#define VDEC2_MSFTINT0 (0x231e) ++#define P_VDEC2_MSFTINT0 (volatile unsigned int *)((0x231e << 2) + 0xff620000) ++#define VDEC2_MSFTINT1 (0x231f) ++#define P_VDEC2_MSFTINT1 (volatile unsigned int *)((0x231f << 2) + 0xff620000) ++#define VDEC2_CSP (0x2320) ++#define P_VDEC2_CSP (volatile unsigned int *)((0x2320 << 2) + 0xff620000) ++#define VDEC2_CPSR (0x2321) ++#define P_VDEC2_CPSR (volatile unsigned int *)((0x2321 << 2) + 0xff620000) ++#define VDEC2_CINT_VEC_BASE (0x2322) ++#define P_VDEC2_CINT_VEC_BASE (volatile unsigned int *)((0x2322 << 2) + 0xff620000) ++#define VDEC2_CCPU_INTR_GRP (0x2323) ++#define P_VDEC2_CCPU_INTR_GRP (volatile unsigned int *)((0x2323 << 2) + 0xff620000) ++#define VDEC2_CCPU_INTR_MSK (0x2324) ++#define P_VDEC2_CCPU_INTR_MSK (volatile unsigned int *)((0x2324 << 2) + 0xff620000) ++#define VDEC2_CCPU_INTR_REQ (0x2325) ++#define P_VDEC2_CCPU_INTR_REQ (volatile unsigned int *)((0x2325 << 2) + 0xff620000) ++#define VDEC2_CPC_P (0x2326) ++#define P_VDEC2_CPC_P (volatile unsigned int *)((0x2326 << 2) + 0xff620000) ++#define VDEC2_CPC_D (0x2327) ++#define P_VDEC2_CPC_D (volatile unsigned int *)((0x2327 << 2) + 0xff620000) ++#define VDEC2_CPC_E (0x2328) ++#define P_VDEC2_CPC_E (volatile unsigned int *)((0x2328 << 2) + 0xff620000) ++#define VDEC2_CPC_W (0x2329) ++#define P_VDEC2_CPC_W (volatile unsigned int *)((0x2329 << 2) + 0xff620000) ++#define VDEC2_CINDEX0_REG (0x232a) ++#define P_VDEC2_CINDEX0_REG (volatile unsigned int *)((0x232a << 2) + 0xff620000) ++#define VDEC2_CINDEX1_REG (0x232b) ++#define P_VDEC2_CINDEX1_REG (volatile unsigned int *)((0x232b << 2) + 0xff620000) ++#define VDEC2_CINDEX2_REG (0x232c) ++#define P_VDEC2_CINDEX2_REG (volatile unsigned int *)((0x232c << 2) + 0xff620000) ++#define VDEC2_CINDEX3_REG (0x232d) ++#define P_VDEC2_CINDEX3_REG (volatile unsigned int *)((0x232d << 2) + 0xff620000) ++#define VDEC2_CINDEX4_REG (0x232e) ++#define P_VDEC2_CINDEX4_REG (volatile unsigned int *)((0x232e << 2) + 0xff620000) ++#define VDEC2_CINDEX5_REG (0x232f) ++#define P_VDEC2_CINDEX5_REG (volatile unsigned int *)((0x232f << 2) + 0xff620000) ++#define VDEC2_CINDEX6_REG (0x2330) ++#define P_VDEC2_CINDEX6_REG (volatile unsigned int *)((0x2330 << 2) + 0xff620000) ++#define VDEC2_CINDEX7_REG (0x2331) ++#define P_VDEC2_CINDEX7_REG (volatile unsigned int *)((0x2331 << 2) + 0xff620000) ++#define VDEC2_CMIN_REG (0x2332) ++#define P_VDEC2_CMIN_REG (volatile unsigned int *)((0x2332 << 2) + 0xff620000) ++#define VDEC2_CMAX_REG (0x2333) ++#define P_VDEC2_CMAX_REG (volatile unsigned int *)((0x2333 << 2) + 0xff620000) ++#define VDEC2_CBREAK0_REG (0x2334) ++#define P_VDEC2_CBREAK0_REG (volatile unsigned int *)((0x2334 << 2) + 0xff620000) ++#define VDEC2_CBREAK1_REG (0x2335) ++#define P_VDEC2_CBREAK1_REG (volatile unsigned int *)((0x2335 << 2) + 0xff620000) ++#define VDEC2_CBREAK2_REG (0x2336) ++#define P_VDEC2_CBREAK2_REG (volatile unsigned int *)((0x2336 << 2) + 0xff620000) ++#define VDEC2_CBREAK3_REG (0x2337) ++#define P_VDEC2_CBREAK3_REG (volatile unsigned int *)((0x2337 << 2) + 0xff620000) ++#define VDEC2_CBREAK_TYPE (0x2338) ++#define P_VDEC2_CBREAK_TYPE (volatile unsigned int *)((0x2338 << 2) + 0xff620000) ++#define VDEC2_CBREAK_CTRL (0x2339) ++#define P_VDEC2_CBREAK_CTRL (volatile unsigned int *)((0x2339 << 2) + 0xff620000) ++#define VDEC2_CBREAK_STAUTS (0x233a) ++#define P_VDEC2_CBREAK_STAUTS (volatile unsigned int *)((0x233a << 2) + 0xff620000) ++#define VDEC2_CDB_ADDR_REG (0x233b) ++#define P_VDEC2_CDB_ADDR_REG (volatile unsigned int *)((0x233b << 2) + 0xff620000) ++#define VDEC2_CDB_DATA_REG (0x233c) ++#define P_VDEC2_CDB_DATA_REG (volatile unsigned int *)((0x233c << 2) + 0xff620000) ++#define VDEC2_CDB_CTRL (0x233d) ++#define P_VDEC2_CDB_CTRL (volatile unsigned int *)((0x233d << 2) + 0xff620000) ++#define VDEC2_CSFTINT0 (0x233e) ++#define P_VDEC2_CSFTINT0 (volatile unsigned int *)((0x233e << 2) + 0xff620000) ++#define VDEC2_CSFTINT1 (0x233f) ++#define P_VDEC2_CSFTINT1 (volatile unsigned int *)((0x233f << 2) + 0xff620000) ++#define VDEC2_IMEM_DMA_CTRL (0x2340) ++#define P_VDEC2_IMEM_DMA_CTRL (volatile unsigned int *)((0x2340 << 2) + 0xff620000) ++#define VDEC2_IMEM_DMA_ADR (0x2341) ++#define P_VDEC2_IMEM_DMA_ADR (volatile unsigned int *)((0x2341 << 2) + 0xff620000) ++#define VDEC2_IMEM_DMA_COUNT (0x2342) ++#define P_VDEC2_IMEM_DMA_COUNT (volatile unsigned int *)((0x2342 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_imem ++// bit[21:16] A_id_imem ++// bit[11:0] wrrsp_count_imem (reserved) ++#define VDEC2_WRRSP_IMEM (0x2343) ++#define P_VDEC2_WRRSP_IMEM (volatile unsigned int *)((0x2343 << 2) + 0xff620000) ++#define VDEC2_LMEM_DMA_CTRL (0x2350) ++#define P_VDEC2_LMEM_DMA_CTRL (volatile unsigned int *)((0x2350 << 2) + 0xff620000) ++#define VDEC2_LMEM_DMA_ADR (0x2351) ++#define P_VDEC2_LMEM_DMA_ADR (volatile unsigned int *)((0x2351 << 2) + 0xff620000) ++#define VDEC2_LMEM_DMA_COUNT (0x2352) ++#define P_VDEC2_LMEM_DMA_COUNT (volatile unsigned int *)((0x2352 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_lmem ++// bit[21:16] A_id_lmem ++// bit[11:0] wrrsp_count_lmem ++#define VDEC2_WRRSP_LMEM (0x2353) ++#define P_VDEC2_WRRSP_LMEM (volatile unsigned int *)((0x2353 << 2) + 0xff620000) ++#define VDEC2_MAC_CTRL1 (0x2360) ++#define P_VDEC2_MAC_CTRL1 (volatile unsigned int *)((0x2360 << 2) + 0xff620000) ++#define VDEC2_ACC0REG1 (0x2361) ++#define P_VDEC2_ACC0REG1 (volatile unsigned int *)((0x2361 << 2) + 0xff620000) ++#define VDEC2_ACC1REG1 (0x2362) ++#define P_VDEC2_ACC1REG1 (volatile unsigned int *)((0x2362 << 2) + 0xff620000) ++#define VDEC2_MAC_CTRL2 (0x2370) ++#define P_VDEC2_MAC_CTRL2 (volatile unsigned int *)((0x2370 << 2) + 0xff620000) ++#define VDEC2_ACC0REG2 (0x2371) ++#define P_VDEC2_ACC0REG2 (volatile unsigned int *)((0x2371 << 2) + 0xff620000) ++#define VDEC2_ACC1REG2 (0x2372) ++#define P_VDEC2_ACC1REG2 (volatile unsigned int *)((0x2372 << 2) + 0xff620000) ++#define VDEC2_CPU_TRACE (0x2380) ++#define P_VDEC2_CPU_TRACE (volatile unsigned int *)((0x2380 << 2) + 0xff620000) ++// ++// Closing file: vcpu_regs.h ++// ++// ++// Reading file: vcpu_regs.h ++// ++//======================================================================== ++// VCPU module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_VDEC_VCPU_CBUS_BASE = 0x03 ++// ----------------------------------------------- ++#define HEVC_MSP (0x3300) ++#define P_HEVC_MSP (volatile unsigned int *)((0x3300 << 2) + 0xff620000) ++#define HEVC_MPSR (0x3301) ++#define P_HEVC_MPSR (volatile unsigned int *)((0x3301 << 2) + 0xff620000) ++#define HEVC_MINT_VEC_BASE (0x3302) ++#define P_HEVC_MINT_VEC_BASE (volatile unsigned int *)((0x3302 << 2) + 0xff620000) ++#define HEVC_MCPU_INTR_GRP (0x3303) ++#define P_HEVC_MCPU_INTR_GRP (volatile unsigned int *)((0x3303 << 2) + 0xff620000) ++#define HEVC_MCPU_INTR_MSK (0x3304) ++#define P_HEVC_MCPU_INTR_MSK (volatile unsigned int *)((0x3304 << 2) + 0xff620000) ++#define HEVC_MCPU_INTR_REQ (0x3305) ++#define P_HEVC_MCPU_INTR_REQ (volatile unsigned int *)((0x3305 << 2) + 0xff620000) ++#define HEVC_MPC_P (0x3306) ++#define P_HEVC_MPC_P (volatile unsigned int *)((0x3306 << 2) + 0xff620000) ++#define HEVC_MPC_D (0x3307) ++#define P_HEVC_MPC_D (volatile unsigned int *)((0x3307 << 2) + 0xff620000) ++#define HEVC_MPC_E (0x3308) ++#define P_HEVC_MPC_E (volatile unsigned int *)((0x3308 << 2) + 0xff620000) ++#define HEVC_MPC_W (0x3309) ++#define P_HEVC_MPC_W (volatile unsigned int *)((0x3309 << 2) + 0xff620000) ++#define HEVC_MINDEX0_REG (0x330a) ++#define P_HEVC_MINDEX0_REG (volatile unsigned int *)((0x330a << 2) + 0xff620000) ++#define HEVC_MINDEX1_REG (0x330b) ++#define P_HEVC_MINDEX1_REG (volatile unsigned int *)((0x330b << 2) + 0xff620000) ++#define HEVC_MINDEX2_REG (0x330c) ++#define P_HEVC_MINDEX2_REG (volatile unsigned int *)((0x330c << 2) + 0xff620000) ++#define HEVC_MINDEX3_REG (0x330d) ++#define P_HEVC_MINDEX3_REG (volatile unsigned int *)((0x330d << 2) + 0xff620000) ++#define HEVC_MINDEX4_REG (0x330e) ++#define P_HEVC_MINDEX4_REG (volatile unsigned int *)((0x330e << 2) + 0xff620000) ++#define HEVC_MINDEX5_REG (0x330f) ++#define P_HEVC_MINDEX5_REG (volatile unsigned int *)((0x330f << 2) + 0xff620000) ++#define HEVC_MINDEX6_REG (0x3310) ++#define P_HEVC_MINDEX6_REG (volatile unsigned int *)((0x3310 << 2) + 0xff620000) ++#define HEVC_MINDEX7_REG (0x3311) ++#define P_HEVC_MINDEX7_REG (volatile unsigned int *)((0x3311 << 2) + 0xff620000) ++#define HEVC_MMIN_REG (0x3312) ++#define P_HEVC_MMIN_REG (volatile unsigned int *)((0x3312 << 2) + 0xff620000) ++#define HEVC_MMAX_REG (0x3313) ++#define P_HEVC_MMAX_REG (volatile unsigned int *)((0x3313 << 2) + 0xff620000) ++#define HEVC_MBREAK0_REG (0x3314) ++#define P_HEVC_MBREAK0_REG (volatile unsigned int *)((0x3314 << 2) + 0xff620000) ++#define HEVC_MBREAK1_REG (0x3315) ++#define P_HEVC_MBREAK1_REG (volatile unsigned int *)((0x3315 << 2) + 0xff620000) ++#define HEVC_MBREAK2_REG (0x3316) ++#define P_HEVC_MBREAK2_REG (volatile unsigned int *)((0x3316 << 2) + 0xff620000) ++#define HEVC_MBREAK3_REG (0x3317) ++#define P_HEVC_MBREAK3_REG (volatile unsigned int *)((0x3317 << 2) + 0xff620000) ++#define HEVC_MBREAK_TYPE (0x3318) ++#define P_HEVC_MBREAK_TYPE (volatile unsigned int *)((0x3318 << 2) + 0xff620000) ++#define HEVC_MBREAK_CTRL (0x3319) ++#define P_HEVC_MBREAK_CTRL (volatile unsigned int *)((0x3319 << 2) + 0xff620000) ++#define HEVC_MBREAK_STAUTS (0x331a) ++#define P_HEVC_MBREAK_STAUTS (volatile unsigned int *)((0x331a << 2) + 0xff620000) ++#define HEVC_MDB_ADDR_REG (0x331b) ++#define P_HEVC_MDB_ADDR_REG (volatile unsigned int *)((0x331b << 2) + 0xff620000) ++#define HEVC_MDB_DATA_REG (0x331c) ++#define P_HEVC_MDB_DATA_REG (volatile unsigned int *)((0x331c << 2) + 0xff620000) ++#define HEVC_MDB_CTRL (0x331d) ++#define P_HEVC_MDB_CTRL (volatile unsigned int *)((0x331d << 2) + 0xff620000) ++#define HEVC_MSFTINT0 (0x331e) ++#define P_HEVC_MSFTINT0 (volatile unsigned int *)((0x331e << 2) + 0xff620000) ++#define HEVC_MSFTINT1 (0x331f) ++#define P_HEVC_MSFTINT1 (volatile unsigned int *)((0x331f << 2) + 0xff620000) ++#define HEVC_CSP (0x3320) ++#define P_HEVC_CSP (volatile unsigned int *)((0x3320 << 2) + 0xff620000) ++#define HEVC_CPSR (0x3321) ++#define P_HEVC_CPSR (volatile unsigned int *)((0x3321 << 2) + 0xff620000) ++#define HEVC_CINT_VEC_BASE (0x3322) ++#define P_HEVC_CINT_VEC_BASE (volatile unsigned int *)((0x3322 << 2) + 0xff620000) ++#define HEVC_CCPU_INTR_GRP (0x3323) ++#define P_HEVC_CCPU_INTR_GRP (volatile unsigned int *)((0x3323 << 2) + 0xff620000) ++#define HEVC_CCPU_INTR_MSK (0x3324) ++#define P_HEVC_CCPU_INTR_MSK (volatile unsigned int *)((0x3324 << 2) + 0xff620000) ++#define HEVC_CCPU_INTR_REQ (0x3325) ++#define P_HEVC_CCPU_INTR_REQ (volatile unsigned int *)((0x3325 << 2) + 0xff620000) ++#define HEVC_CPC_P (0x3326) ++#define P_HEVC_CPC_P (volatile unsigned int *)((0x3326 << 2) + 0xff620000) ++#define HEVC_CPC_D (0x3327) ++#define P_HEVC_CPC_D (volatile unsigned int *)((0x3327 << 2) + 0xff620000) ++#define HEVC_CPC_E (0x3328) ++#define P_HEVC_CPC_E (volatile unsigned int *)((0x3328 << 2) + 0xff620000) ++#define HEVC_CPC_W (0x3329) ++#define P_HEVC_CPC_W (volatile unsigned int *)((0x3329 << 2) + 0xff620000) ++#define HEVC_CINDEX0_REG (0x332a) ++#define P_HEVC_CINDEX0_REG (volatile unsigned int *)((0x332a << 2) + 0xff620000) ++#define HEVC_CINDEX1_REG (0x332b) ++#define P_HEVC_CINDEX1_REG (volatile unsigned int *)((0x332b << 2) + 0xff620000) ++#define HEVC_CINDEX2_REG (0x332c) ++#define P_HEVC_CINDEX2_REG (volatile unsigned int *)((0x332c << 2) + 0xff620000) ++#define HEVC_CINDEX3_REG (0x332d) ++#define P_HEVC_CINDEX3_REG (volatile unsigned int *)((0x332d << 2) + 0xff620000) ++#define HEVC_CINDEX4_REG (0x332e) ++#define P_HEVC_CINDEX4_REG (volatile unsigned int *)((0x332e << 2) + 0xff620000) ++#define HEVC_CINDEX5_REG (0x332f) ++#define P_HEVC_CINDEX5_REG (volatile unsigned int *)((0x332f << 2) + 0xff620000) ++#define HEVC_CINDEX6_REG (0x3330) ++#define P_HEVC_CINDEX6_REG (volatile unsigned int *)((0x3330 << 2) + 0xff620000) ++#define HEVC_CINDEX7_REG (0x3331) ++#define P_HEVC_CINDEX7_REG (volatile unsigned int *)((0x3331 << 2) + 0xff620000) ++#define HEVC_CMIN_REG (0x3332) ++#define P_HEVC_CMIN_REG (volatile unsigned int *)((0x3332 << 2) + 0xff620000) ++#define HEVC_CMAX_REG (0x3333) ++#define P_HEVC_CMAX_REG (volatile unsigned int *)((0x3333 << 2) + 0xff620000) ++#define HEVC_CBREAK0_REG (0x3334) ++#define P_HEVC_CBREAK0_REG (volatile unsigned int *)((0x3334 << 2) + 0xff620000) ++#define HEVC_CBREAK1_REG (0x3335) ++#define P_HEVC_CBREAK1_REG (volatile unsigned int *)((0x3335 << 2) + 0xff620000) ++#define HEVC_CBREAK2_REG (0x3336) ++#define P_HEVC_CBREAK2_REG (volatile unsigned int *)((0x3336 << 2) + 0xff620000) ++#define HEVC_CBREAK3_REG (0x3337) ++#define P_HEVC_CBREAK3_REG (volatile unsigned int *)((0x3337 << 2) + 0xff620000) ++#define HEVC_CBREAK_TYPE (0x3338) ++#define P_HEVC_CBREAK_TYPE (volatile unsigned int *)((0x3338 << 2) + 0xff620000) ++#define HEVC_CBREAK_CTRL (0x3339) ++#define P_HEVC_CBREAK_CTRL (volatile unsigned int *)((0x3339 << 2) + 0xff620000) ++#define HEVC_CBREAK_STAUTS (0x333a) ++#define P_HEVC_CBREAK_STAUTS (volatile unsigned int *)((0x333a << 2) + 0xff620000) ++#define HEVC_CDB_ADDR_REG (0x333b) ++#define P_HEVC_CDB_ADDR_REG (volatile unsigned int *)((0x333b << 2) + 0xff620000) ++#define HEVC_CDB_DATA_REG (0x333c) ++#define P_HEVC_CDB_DATA_REG (volatile unsigned int *)((0x333c << 2) + 0xff620000) ++#define HEVC_CDB_CTRL (0x333d) ++#define P_HEVC_CDB_CTRL (volatile unsigned int *)((0x333d << 2) + 0xff620000) ++#define HEVC_CSFTINT0 (0x333e) ++#define P_HEVC_CSFTINT0 (volatile unsigned int *)((0x333e << 2) + 0xff620000) ++#define HEVC_CSFTINT1 (0x333f) ++#define P_HEVC_CSFTINT1 (volatile unsigned int *)((0x333f << 2) + 0xff620000) ++#define HEVC_IMEM_DMA_CTRL (0x3340) ++#define P_HEVC_IMEM_DMA_CTRL (volatile unsigned int *)((0x3340 << 2) + 0xff620000) ++#define HEVC_IMEM_DMA_ADR (0x3341) ++#define P_HEVC_IMEM_DMA_ADR (volatile unsigned int *)((0x3341 << 2) + 0xff620000) ++#define HEVC_IMEM_DMA_COUNT (0x3342) ++#define P_HEVC_IMEM_DMA_COUNT (volatile unsigned int *)((0x3342 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_imem ++// bit[21:16] A_id_imem ++// bit[11:0] wrrsp_count_imem (reserved) ++#define HEVC_WRRSP_IMEM (0x3343) ++#define P_HEVC_WRRSP_IMEM (volatile unsigned int *)((0x3343 << 2) + 0xff620000) ++#define HEVC_LMEM_DMA_CTRL (0x3350) ++#define P_HEVC_LMEM_DMA_CTRL (volatile unsigned int *)((0x3350 << 2) + 0xff620000) ++#define HEVC_LMEM_DMA_ADR (0x3351) ++#define P_HEVC_LMEM_DMA_ADR (volatile unsigned int *)((0x3351 << 2) + 0xff620000) ++#define HEVC_LMEM_DMA_COUNT (0x3352) ++#define P_HEVC_LMEM_DMA_COUNT (volatile unsigned int *)((0x3352 << 2) + 0xff620000) ++// bit[29:24] A_brst_num_lmem ++// bit[21:16] A_id_lmem ++// bit[11:0] wrrsp_count_lmem ++#define HEVC_WRRSP_LMEM (0x3353) ++#define P_HEVC_WRRSP_LMEM (volatile unsigned int *)((0x3353 << 2) + 0xff620000) ++#define HEVC_MAC_CTRL1 (0x3360) ++#define P_HEVC_MAC_CTRL1 (volatile unsigned int *)((0x3360 << 2) + 0xff620000) ++#define HEVC_ACC0REG1 (0x3361) ++#define P_HEVC_ACC0REG1 (volatile unsigned int *)((0x3361 << 2) + 0xff620000) ++#define HEVC_ACC1REG1 (0x3362) ++#define P_HEVC_ACC1REG1 (volatile unsigned int *)((0x3362 << 2) + 0xff620000) ++#define HEVC_MAC_CTRL2 (0x3370) ++#define P_HEVC_MAC_CTRL2 (volatile unsigned int *)((0x3370 << 2) + 0xff620000) ++#define HEVC_ACC0REG2 (0x3371) ++#define P_HEVC_ACC0REG2 (volatile unsigned int *)((0x3371 << 2) + 0xff620000) ++#define HEVC_ACC1REG2 (0x3372) ++#define P_HEVC_ACC1REG2 (volatile unsigned int *)((0x3372 << 2) + 0xff620000) ++#define HEVC_CPU_TRACE (0x3380) ++#define P_HEVC_CPU_TRACE (volatile unsigned int *)((0x3380 << 2) + 0xff620000) ++// ++// Closing file: vcpu_regs.h ++// ++// ++// Reading file: henc_regs.h ++// ++//======================================================================== ++// MDEC module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_HENC_CBUS_BASE = 0x0a ++// ----------------------------------------------- ++#define HCODEC_HENC_SCRATCH_0 (0x1ac0) ++#define P_HCODEC_HENC_SCRATCH_0 (volatile unsigned int *)((0x1ac0 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_1 (0x1ac1) ++#define P_HCODEC_HENC_SCRATCH_1 (volatile unsigned int *)((0x1ac1 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_2 (0x1ac2) ++#define P_HCODEC_HENC_SCRATCH_2 (volatile unsigned int *)((0x1ac2 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_3 (0x1ac3) ++#define P_HCODEC_HENC_SCRATCH_3 (volatile unsigned int *)((0x1ac3 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_4 (0x1ac4) ++#define P_HCODEC_HENC_SCRATCH_4 (volatile unsigned int *)((0x1ac4 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_5 (0x1ac5) ++#define P_HCODEC_HENC_SCRATCH_5 (volatile unsigned int *)((0x1ac5 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_6 (0x1ac6) ++#define P_HCODEC_HENC_SCRATCH_6 (volatile unsigned int *)((0x1ac6 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_7 (0x1ac7) ++#define P_HCODEC_HENC_SCRATCH_7 (volatile unsigned int *)((0x1ac7 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_8 (0x1ac8) ++#define P_HCODEC_HENC_SCRATCH_8 (volatile unsigned int *)((0x1ac8 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_9 (0x1ac9) ++#define P_HCODEC_HENC_SCRATCH_9 (volatile unsigned int *)((0x1ac9 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_A (0x1aca) ++#define P_HCODEC_HENC_SCRATCH_A (volatile unsigned int *)((0x1aca << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_B (0x1acb) ++#define P_HCODEC_HENC_SCRATCH_B (volatile unsigned int *)((0x1acb << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_C (0x1acc) ++#define P_HCODEC_HENC_SCRATCH_C (volatile unsigned int *)((0x1acc << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_D (0x1acd) ++#define P_HCODEC_HENC_SCRATCH_D (volatile unsigned int *)((0x1acd << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_E (0x1ace) ++#define P_HCODEC_HENC_SCRATCH_E (volatile unsigned int *)((0x1ace << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_F (0x1acf) ++#define P_HCODEC_HENC_SCRATCH_F (volatile unsigned int *)((0x1acf << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_G (0x1ad0) ++#define P_HCODEC_HENC_SCRATCH_G (volatile unsigned int *)((0x1ad0 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_H (0x1ad1) ++#define P_HCODEC_HENC_SCRATCH_H (volatile unsigned int *)((0x1ad1 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_I (0x1ad2) ++#define P_HCODEC_HENC_SCRATCH_I (volatile unsigned int *)((0x1ad2 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_J (0x1ad3) ++#define P_HCODEC_HENC_SCRATCH_J (volatile unsigned int *)((0x1ad3 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_K (0x1ad4) ++#define P_HCODEC_HENC_SCRATCH_K (volatile unsigned int *)((0x1ad4 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_L (0x1ad5) ++#define P_HCODEC_HENC_SCRATCH_L (volatile unsigned int *)((0x1ad5 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_M (0x1ad6) ++#define P_HCODEC_HENC_SCRATCH_M (volatile unsigned int *)((0x1ad6 << 2) + 0xff620000) ++#define HCODEC_HENC_SCRATCH_N (0x1ad7) ++#define P_HCODEC_HENC_SCRATCH_N (volatile unsigned int *)((0x1ad7 << 2) + 0xff620000) ++// bit [7:0] data_feed_buff_id ++#define HCODEC_IE_DATA_FEED_BUFF_INFO (0x1ad8) ++#define P_HCODEC_IE_DATA_FEED_BUFF_INFO (volatile unsigned int *)((0x1ad8 << 2) + 0xff620000) ++// ++// Closing file: henc_regs.h ++// ++// ++// Reading file: vlc_regs.h ++// ++//======================================================================== ++// VLC module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_VLC_CBUS_BASE = 0x0d ++// ----------------------------------------------- ++// Bit[31:28] - henc_status ++// Bit[27:8] - reserved ++// Bit[7] mc_hcmd_buff_enable ++// Bit[6] mc_hcmd_use_mc_hcmd_buff ++// Bit[5] mc_hcmd_use_mc_hcmd_hw_start ++// Bit[4] no_mc_out_null_non_skipped_mb ++// Bit[3] mc_out_even_skipped_mb ++// Bit[2] - hcmd_enable ++// Bit[1] - vlc_control_enable (0 will treat as soft_reset) ++// Bit[0] - vlc_input_enable (enable input interface) ++#define HCODEC_VLC_STATUS_CTRL (0x1d00) ++#define P_HCODEC_VLC_STATUS_CTRL (volatile unsigned int *)((0x1d00 << 2) + 0xff620000) ++// Bit [31] - small_luma_ignore_chroma ++// Bit[30:16] - Reserved ++// Bit [15] - enable_free_clk_mc_hcmd_buff ++// Bit [14] - enable_free_clk_reg ++// Bit [13] - enable_free_clk_stream ++// Bit [12] - enable_free_clk_pre_buff ++// Bit [11] - enable_free_clk_vb_buff ++// Bit [10] - enable_free_clk_dc_input ++// Bit [9] - enable_free_clk_input ++// Bit [8] - enable_free_clk_mv_cal ++// Bit [7] - enable_free_clk_status ++// Bit [6] - enable_free_clk_mc_dblk_cmd_if ++// Bit [5] - disable_mvd_enc_finished ++// Bit [4] - I16MB_share_ipred_mode_with_I4MB ++// Bit [3] - fixed_picture_qp ++// Bit [2] - use_set_b8_mode ( not used now) ++// Bit [1] - use_set_mb_skip_run ++// Bit [0] - pop_coeff_even_all_zero ++#define HCODEC_VLC_CONFIG (0x1d01) ++#define P_HCODEC_VLC_CONFIG (volatile unsigned int *)((0x1d01 << 2) + 0xff620000) ++// -------------------------------------------- ++// Bitstream DDR Interface ++// -------------------------------------------- ++#define HCODEC_VLC_VB_START_PTR (0x1d10) ++#define P_HCODEC_VLC_VB_START_PTR (volatile unsigned int *)((0x1d10 << 2) + 0xff620000) ++#define HCODEC_VLC_VB_END_PTR (0x1d11) ++#define P_HCODEC_VLC_VB_END_PTR (volatile unsigned int *)((0x1d11 << 2) + 0xff620000) ++#define HCODEC_VLC_VB_WR_PTR (0x1d12) ++#define P_HCODEC_VLC_VB_WR_PTR (volatile unsigned int *)((0x1d12 << 2) + 0xff620000) ++// Read Only, VLC_VB_SW_RD_PTR or VLC_VB_HW_RD_PTR ++#define HCODEC_VLC_VB_RD_PTR (0x1d13) ++#define P_HCODEC_VLC_VB_RD_PTR (volatile unsigned int *)((0x1d13 << 2) + 0xff620000) ++#define HCODEC_VLC_VB_SW_RD_PTR (0x1d14) ++#define P_HCODEC_VLC_VB_SW_RD_PTR (volatile unsigned int *)((0x1d14 << 2) + 0xff620000) ++// Read Only ++#define HCODEC_VLC_VB_LEFT (0x1d15) ++#define P_HCODEC_VLC_VB_LEFT (volatile unsigned int *)((0x1d15 << 2) + 0xff620000) ++// VB FIFO Control ++// bit [31:24] vb_full_int_enable_cpu[7:0] ++// bit [23:16] vb_full_int_enable_amrisc[7:0] ++// -bit 23 Video BUFFER LEFT < 0x400 Bytes ++// -bit 22 Video BUFFER LEFT < 0x200 Bytes ++// -bit 21 Video BUFFER LEFT < 0x100 Bytes ++// -bit 20 Video BUFFER LEFT < 0x80 Bytes ++// -bit 19 Video BUFFER LEFT < 0x40 Bytes ++// -bit 18 Video BUFFER LEFT < 0x20 Bytes ++// -bit 17 vbfifo left < 16 double words (8x64bits) ++// -bit 16 vbfifo left < 8 double words (4x64bits) ++// bit [15] wr_ptr_int_enable_cpu ++// bit [14] wr_ptr_int_enable_amrisc ++// bit [13] wr_ptr_int (Read Only, write 1 will clear) ++// bit [12] vb_full_int_enable_cpu(Read Only) ++// bit [11] vb_full_int_enable_amrisc(Read Only) ++// bit [10] reserved ++// bit [9] use_vb_hw_rd_ptr ++// bit [8] vb_always_ready Set to 1 to ignore vb_level blocking DDR write ++// bit [7] vb_ready_for_transfer (Read Only) ++// bit [6] data_ready_for_transfer (Read Only) ++// bits [5:3] vb_endian Set VB Endian inside DDR memory ++// bit [2] vb_write_busy Read Only - indicate DDR write busy ++// bit [1] vb_write_en Set to 1 to enable writing data to DDR memory ++// bit [0] vb_soft_reset Soft reset ++#define HCODEC_VLC_VB_CONTROL (0x1d16) ++#define P_HCODEC_VLC_VB_CONTROL (volatile unsigned int *)((0x1d16 << 2) + 0xff620000) ++// bit 31 transfer_length 0 - 32x64 Bits per request, 1 - 16x64 Bits per request // default : 0 ++// bit 30 A_urgent // default : 0 ++// bit 29:24 A_brst_num // default : 0x3f ++// bit 23:22 reserved ++// bit 21:16 A_id // default : 0x20 ++// bit 15:0 vb_left_hold // default : 0 ++#define HCODEC_VLC_VB_MEM_CTL (0x1d17) ++#define P_HCODEC_VLC_VB_MEM_CTL (volatile unsigned int *)((0x1d17 << 2) + 0xff620000) ++// vb_wr_ptr address to generate interrupt ++#define HCODEC_VLC_VB_INT_PTR (0x1d18) ++#define P_HCODEC_VLC_VB_INT_PTR (volatile unsigned int *)((0x1d18 << 2) + 0xff620000) ++// bit[31:12] reserved ++// bit[11:0] vlc_wrrsp_count ++#define HCODEC_VLC_WRRSP (0x1d19) ++#define P_HCODEC_VLC_WRRSP (volatile unsigned int *)((0x1d19 << 2) + 0xff620000) ++#define HCODEC_VLC_TOTAL_BYTES (0x1d1a) ++#define P_HCODEC_VLC_TOTAL_BYTES (volatile unsigned int *)((0x1d1a << 2) + 0xff620000) ++// bit [31:26] reserved ++// bit [25] vb_flush ++// bit [24] vb_reg_ready ++// bit [23:16] vb_buff_left -- Read only ++// bit [15:8] vb_buff_wr_point -- RW ++// bit [7:0] vb_buff_rd_point -- RW ++#define HCODEC_VLC_VB_BUFF (0x1d1b) ++#define P_HCODEC_VLC_VB_BUFF (volatile unsigned int *)((0x1d1b << 2) + 0xff620000) ++// bit[31] flush_vlc_pre_buff ++// bit[30:27] reserved ++// bit[26:24] vb_pre_buff_level ++// bit[23:0] vb_pre_buff_data[55:32] ++#define HCODEC_VLC_VB_PRE_BUFF_HI (0x1d1c) ++#define P_HCODEC_VLC_VB_PRE_BUFF_HI (volatile unsigned int *)((0x1d1c << 2) + 0xff620000) ++// bit[31:0] vb_pre_buff_data[31:0] ++#define HCODEC_VLC_VB_PRE_BUFF_LOW (0x1d1d) ++#define P_HCODEC_VLC_VB_PRE_BUFF_LOW (volatile unsigned int *)((0x1d1d << 2) + 0xff620000) ++// bit[31] stream_encap_enable // 0x0000(00-03) will be changed to 0x000003(00-03) if enabled ++// bit[30:29] stream_encap_delay // delay bytes for encap used ++// bit[28:24] stream_buff_point ++// bit[23:0] stream_buff_data ++#define HCODEC_VLC_STREAM_BUFF (0x1d1e) ++#define P_HCODEC_VLC_STREAM_BUFF (volatile unsigned int *)((0x1d1e << 2) + 0xff620000) ++// bit[31] push_stream_block - Read Only (Will set if vb_buff full) ++// bit[30] push_stream_busy - Read Only (busy when output one byte from stream_buf (max 2 clocks for 8 bits push) ++// bit[29:28] stream_encap_status - Read Only ++// bit[27:21] reserved ++// Long Mode : (Amrisc need movilo and mvihi high to set stream_info) ++// bit[20:16] push_stream_long_length (0 or 31 : Mid or Short mode) ++// bit[15:0] push_stream_data ++// Mid Mode : (Amrisc need movi to set stream_info) ++// bit[15:12]] push_stream_mid_length (1-12 : mid mode active, 0-short mode, 15 - byte align) ++// bit[11:0] push_stream_data ++// Short Mode : (Amrisc can use mtspi to push stream directely) ++// bit[7:5] push_stream_short_length (0-5 : short length, else - invalid) ++// bit[4:0] push_stream_data ++#define HCODEC_VLC_PUSH_STREAM (0x1d1f) ++#define P_HCODEC_VLC_PUSH_STREAM (volatile unsigned int *)((0x1d1f << 2) + 0xff620000) ++// bit[15:8] ELEMENT_LENGTH ++// bit[7:1] reserved ++// bit[0] Write - push start, Read - Push Busy ++#define HCODEC_VLC_PUSH_ELEMENT (0x1d20) ++#define P_HCODEC_VLC_PUSH_ELEMENT (volatile unsigned int *)((0x1d20 << 2) + 0xff620000) ++#define HCODEC_VLC_ELEMENT_DATA (0x1d21) ++#define P_HCODEC_VLC_ELEMENT_DATA (volatile unsigned int *)((0x1d21 << 2) + 0xff620000) ++// bit[7] hcmd_intra_use_sw_info ++// bit[6] hcmd_use_sw_info ++// bit[5] always_use_info_0_cbp_blk ++// bit[4] always_update_info_0_cbp_blk ++// bit[3] reset_left_mb_wr ++// bit[2] reset_top_mb_wr ++// bit[1] set_left_mb_wr ++// bit[0] set_top_mb_wr ++#define HCODEC_VLC_SPECIAL_CTL (0x1d22) ++#define P_HCODEC_VLC_SPECIAL_CTL (volatile unsigned int *)((0x1d22 << 2) + 0xff620000) ++// bit[28] left_intra ++// bit[27:22] left_quant ++// bit[21:16] left_quant_c ++// bit[12] top_intra ++// bit[11:6] top_quant ++// bit[5:0] top_quant_c ++#define HCODEC_VLC_HCMD_T_L_INFO (0x1d23) ++#define P_HCODEC_VLC_HCMD_T_L_INFO (volatile unsigned int *)((0x1d23 << 2) + 0xff620000) ++// bit[12] cur_intra ++// bit[11:6] cur_quant ++// bit[5:0] cur_quant_c ++#define HCODEC_VLC_HCMD_CUR_INFO (0x1d24) ++#define P_HCODEC_VLC_HCMD_CUR_INFO (volatile unsigned int *)((0x1d24 << 2) + 0xff620000) ++// bit[13] top_left_info_in_data_mv_cal ++// bit[12] only_use_info_0_top_left_in_I ++// bit[11] top_left_info_in_data ++// bit[10] early_mix_mc_hcmd ++// bit[9] update_top_left_mix ++// bit[8] p_top_left_mix ++// bit[7] mv_cal_mixed_type ++// bit[6] mc_hcmd_mixed_type ++// bit[5] use_seperate_int_control ++// bit[4] hcmd_intra_use_q_info ++// bit[3] hcmd_left_use_prev_info ++// bit[2] hcmd_use_q_info ++// bit[1] use_q_delta_quant ++// bit[0] detect_I16_from_I4 ++#define HCODEC_VLC_ADV_CONFIG (0x1d25) ++#define P_HCODEC_VLC_ADV_CONFIG (volatile unsigned int *)((0x1d25 << 2) + 0xff620000) ++// 31 - use_hcmd_mb_xy_auto ++//23:16 - hcmd_max_mb_x ++//15:8 - hcmd_mb_y_auto ++// 7:0 - hcmd_mb_x_auto ++#define HCODEC_VLC_HCMD_MBXY_AUTO (0x1d26) ++#define P_HCODEC_VLC_HCMD_MBXY_AUTO (volatile unsigned int *)((0x1d26 << 2) + 0xff620000) ++// bit[31:0] vlc_int_control_inter -- will be used when use_seperate_int_control is set ++#define HCODEC_VLC_INT_CONTROL_INTER (0x1d2f) ++#define P_HCODEC_VLC_INT_CONTROL_INTER (volatile unsigned int *)((0x1d2f << 2) + 0xff620000) ++// -------------------------------------------- ++// Picture VLC ++// -------------------------------------------- ++// (&(int|(~AND_enable))|(|(int&OR_enable))) ++// bit[31] OR interrupt Enable Reserved ++// bit[30] OR interrupt Enable for mv_busy ++// bit[29] OR interrupt Enable for b8_mode_busy ++// bit[28] OR interrupt Enable for mb_skip_run_busy ++// bit[27] OR interrupt Enable for cbp_busy ++// bit[26] OR interrupt Enable for Reserved ++// bit[25] OR interrupt Enable for Reserved ++// bit[24] OR interrupt Enable for mb_info_busy ++// bit[23] AND interrupt Enable Reserved ++// bit[22] AND interrupt Enable for mv_busy ++// bit[21] AND interrupt Enable for b8_mode_busy ++// bit[20] AND interrupt Enable for mb_skip_run_busy ++// bit[19] AND interrupt Enable for cbp_busy ++// bit[18] AND interrupt Enable for Reserved ++// bit[17] AND interrupt Enable for Reserved ++// bit[16] AND interrupt Enable for mb_info_busy ++// bit[15] OR interrupt Enable Reserved ++// bit[14] OR interrupt Enable for mvd ++// bit[13] OR interrupt Enable for b8_mode ++// bit[12] OR interrupt Enable for mb_skip_run ++// bit[11] OR interrupt Enable for cbp_ready ++// bit[10] OR interrupt Enable for c_ipred_mode_ready ++// bit[9] OR interrupt Enable for ipred_mode_ready ++// bit[8] OR interrupt Enable for mb_info_ready ++// bit[7] AND interrupt Enable Reserved ++// bit[6] AND interrupt Enable for mvd ++// bit[5] AND interrupt Enable for b8_mode ++// bit[4] AND interrupt Enable for mb_skip_run ++// bit[3] AND interrupt Enable for cbp_ready ++// bit[2] AND interrupt Enable for c_ipred_mode_ready ++// bit[1] AND interrupt Enable for ipred_mode_ready ++// bit[0] AND interrupt Enable for mb_info_ready ++#define HCODEC_VLC_INT_CONTROL (0x1d30) ++#define P_HCODEC_VLC_INT_CONTROL (volatile unsigned int *)((0x1d30 << 2) + 0xff620000) ++// Bit[31:16] picture_height ++// Bit[15:0] picture_width ++#define HCODEC_VLC_PIC_SIZE (0x1d31) ++#define P_HCODEC_VLC_PIC_SIZE (volatile unsigned int *)((0x1d31 << 2) + 0xff620000) ++// [31:16] Reserved ++// [15:3] pic_width_in_mbs_minus1 ++// [2:0] picture_type ++#define HCODEC_VLC_PIC_INFO (0x1d32) ++#define P_HCODEC_VLC_PIC_INFO (volatile unsigned int *)((0x1d32 << 2) + 0xff620000) ++// Bit[31:16] MB_NR ++// Bit[15:8] MBY ++// Bit[7:0] MBX ++#define HCODEC_VLC_PIC_POSITION (0x1d33) ++#define P_HCODEC_VLC_PIC_POSITION (volatile unsigned int *)((0x1d33 << 2) + 0xff620000) ++// Bit[31] MV_busy ++// Bit[30:6] Reserved ++// Bit[15] Reserved ++// Bit[14] vlc_input_MV_busy ++// Bit[13] vlc_input_b8_mode_busy ++// Bit[12] vlc_input_mb_skip_run_busy ++// Bit[11] vlc_input_cbp_busy ++// Bit[10] Reserved ++// Bit[9] Reserved ++// Bit[8] vlc_input_mb_info_busy ++// Bit[7] Reserved ++// Bit[6] mvd ++// Bit[5] b8_mode ++// Bit[4] mb_skip_run ++// Bit[3] cbp ++// Bit[2] c_ipred_mode ++// Bit[1] ipred_mode ++// Bit[0] mb_info ( mb_type, mb_x, mb_y) ++#define HCODEC_VLC_INPUT_STATUS (0x1d34) ++#define P_HCODEC_VLC_INPUT_STATUS (volatile unsigned int *)((0x1d34 << 2) + 0xff620000) ++// Bit[31:28] detected_mb_type ++// Bit[27:16] mb_y ++// Bit[15:4] mb_x ++// Bit[3:0] mb_type ++#define HCODEC_VLC_MB_INFO (0x1d35) ++#define P_HCODEC_VLC_MB_INFO (volatile unsigned int *)((0x1d35 << 2) + 0xff620000) ++// commnad 0 -- no pending ++// normal command + 1 is pending command ++// ++// bit 31:28 -- pending command 7 ++// bit 27:24 -- pending command 6 ++// bit 23:20 -- pending command 5 ++// bit 19:16 -- pending command 4 ++// bit 15:12 -- pending command 3 ++// bit 11:8 -- pending command 2 ++// bit 7:4 -- pending command 1 ++// bit 3:0 -- pending command 0 ++#define HCODEC_VLC_ENC_PEND_CMD (0x1d36) ++#define P_HCODEC_VLC_ENC_PEND_CMD (volatile unsigned int *)((0x1d36 << 2) + 0xff620000) ++// For I Slice ++// Bit[31:16] Reserved ++// Bit[15:0] IntraType ++#define HCODEC_HENC_TOP_INFO_0 (0x1d37) ++#define P_HCODEC_HENC_TOP_INFO_0 (volatile unsigned int *)((0x1d37 << 2) + 0xff620000) ++#define HCODEC_HENC_LEFT_INFO_0 (0x1d38) ++#define P_HCODEC_HENC_LEFT_INFO_0 (volatile unsigned int *)((0x1d38 << 2) + 0xff620000) ++// For I Slice ++// Bit[31:24] V_nnz ++// Bit[23:16] U_nnz ++// Bit[15:0] Y_nnz ++#define HCODEC_HENC_TOP_INFO_1 (0x1d39) ++#define P_HCODEC_HENC_TOP_INFO_1 (volatile unsigned int *)((0x1d39 << 2) + 0xff620000) ++#define HCODEC_HENC_LEFT_INFO_1 (0x1d3a) ++#define P_HCODEC_HENC_LEFT_INFO_1 (volatile unsigned int *)((0x1d3a << 2) + 0xff620000) ++// bit[63:0] ipred_mode ++#define HCODEC_VLC_IPRED_MODE_HI (0x1d3b) ++#define P_HCODEC_VLC_IPRED_MODE_HI (volatile unsigned int *)((0x1d3b << 2) + 0xff620000) ++#define HCODEC_VLC_IPRED_MODE_LO (0x1d3c) ++#define P_HCODEC_VLC_IPRED_MODE_LO (volatile unsigned int *)((0x1d3c << 2) + 0xff620000) ++// bit[15:8] SE delta quant ++// bit[7:0] UE delta quant ++#define HCODEC_VLC_DELTA_QP (0x1d3d) ++#define P_HCODEC_VLC_DELTA_QP (volatile unsigned int *)((0x1d3d << 2) + 0xff620000) ++// bit[31:16] Reserved ++// bit[15:12] Reserved ++// bit[11:8] c_ipred_mode ++// bit[7:0] cbp ++#define HCODEC_VLC_MB_HEADER_INFO (0x1d3e) ++#define P_HCODEC_VLC_MB_HEADER_INFO (volatile unsigned int *)((0x1d3e << 2) + 0xff620000) ++// bit[31:16] mb_skip_run ++// bit[15:0] b8_mode ++#define HCODEC_VLC_P_MB_HEADER_INFO (0x1d3f) ++#define P_HCODEC_VLC_P_MB_HEADER_INFO (volatile unsigned int *)((0x1d3f << 2) + 0xff620000) ++// bit[31] write_ptr_update ++// bit[30] read_ptr_update ++// bit[29:20] coeff_buf_level ++// bit[19:10] coeff_buf_write_ptr ++// bit[9:0] coeff_buf_read_ptr ++#define HCODEC_VLC_COEFF_BUF_STATUS (0x1d40) ++#define P_HCODEC_VLC_COEFF_BUF_STATUS (volatile unsigned int *)((0x1d40 << 2) + 0xff620000) ++// bit[31:10] Reserved ++// bit[9:0] read_req_addr ++#define HCODEC_VLC_COEFF_RD_REQ (0x1d41) ++#define P_HCODEC_VLC_COEFF_RD_REQ (volatile unsigned int *)((0x1d41 << 2) + 0xff620000) ++// bit[20] - coeff_buf_read_finished ++// bit[19] - coeff_first ++// bit[18:4] - coeff_level ++// bit[3:0] - coeff_run ++#define HCODEC_VLC_COEFF (0x1d42) ++#define P_HCODEC_VLC_COEFF (volatile unsigned int *)((0x1d42 << 2) + 0xff620000) ++// bit[31] - coeff_info_ready ++// bit[30:25] - Reserved ++// bit[24:15] - block_begin_addr ++// bit[14:11] - trailing_one_sign ++// bit[10:6] - total_coeff ++// bit[5:4] - trailing_ones ++// bit[3:0] - total_zeros ++#define HCODEC_VLC_COEFF_INFO (0x1d43) ++#define P_HCODEC_VLC_COEFF_INFO (volatile unsigned int *)((0x1d43 << 2) + 0xff620000) ++// bit[31] write_ptr_update ++// bit[30] read_ptr_update ++// bit[29:25] Reserved ++// bit[24:20] dc_buf_level -- 0-16 ++// bit[19:15] Reserved ++// bit[14:10] dc_buf_write_ptr ++// bit[9:5] Reserved ++// bit[4:0] dc_buf_read_ptr ++#define HCODEC_VLC_DC_BUF_STATUS (0x1d44) ++#define P_HCODEC_VLC_DC_BUF_STATUS (volatile unsigned int *)((0x1d44 << 2) + 0xff620000) ++// bit[31:10] Reserved ++// bit[9:4] Reserved ++// bit[3:0] read_req_addr ++#define HCODEC_VLC_DC_RD_REQ (0x1d45) ++#define P_HCODEC_VLC_DC_RD_REQ (volatile unsigned int *)((0x1d45 << 2) + 0xff620000) ++// bit[31:17] - Reserved ++// bit[16] - dc_first ++// bit[15:1] - dc_level ++// bit[0] - dc_type 0 - CDC, 1 - LDC ++#define HCODEC_VLC_DC (0x1d46) ++#define P_HCODEC_VLC_DC (volatile unsigned int *)((0x1d46 << 2) + 0xff620000) ++// bit[31] - dc_info_ready ++// bit[30:25] - Reserved ++// bit[24:20] - Reserved ++// bit[19:15] - dc_idx_begin_addr ++// bit[14:11] - dc_trailing_one_sign ++// bit[10:6] - dc_total_coeff ++// bit[5:4] - dc_trailing_ones ++// bit[3:0] - dc_total_zeros ++#define HCODEC_VLC_DC_INFO (0x1d47) ++#define P_HCODEC_VLC_DC_INFO (volatile unsigned int *)((0x1d47 << 2) + 0xff620000) ++// bit[31:4] - Reserved ++// bit[3:0] - mv_rw_idx (auto increment when read/write VLC_MV) ++#define HCODEC_VLC_MV_INDEX (0x1d48) ++#define P_HCODEC_VLC_MV_INDEX (volatile unsigned int *)((0x1d48 << 2) + 0xff620000) ++// bit[31:16] - MVY ++// bit[15:0] - MVX ++#define HCODEC_VLC_MV (0x1d49) ++#define P_HCODEC_VLC_MV (volatile unsigned int *)((0x1d49 << 2) + 0xff620000) ++// bit[31:16] - MVY ++// bitp15:0] - MVX ++// Write to HENC_TOP_MV_0 will cause previous U->UL, UR->U, and UR write ++// Read will read U MV only ++#define HCODEC_HENC_TOP_MV_0 (0x1d4a) ++#define P_HCODEC_HENC_TOP_MV_0 (volatile unsigned int *)((0x1d4a << 2) + 0xff620000) ++#define HCODEC_HENC_TOP_MV_1 (0x1d4b) ++#define P_HCODEC_HENC_TOP_MV_1 (volatile unsigned int *)((0x1d4b << 2) + 0xff620000) ++#define HCODEC_HENC_TOP_MV_2 (0x1d4c) ++#define P_HCODEC_HENC_TOP_MV_2 (volatile unsigned int *)((0x1d4c << 2) + 0xff620000) ++#define HCODEC_HENC_TOP_MV_3 (0x1d4d) ++#define P_HCODEC_HENC_TOP_MV_3 (volatile unsigned int *)((0x1d4d << 2) + 0xff620000) ++#define HCODEC_HENC_LEFT_MV_0 (0x1d4e) ++#define P_HCODEC_HENC_LEFT_MV_0 (volatile unsigned int *)((0x1d4e << 2) + 0xff620000) ++#define HCODEC_HENC_LEFT_MV_1 (0x1d4f) ++#define P_HCODEC_HENC_LEFT_MV_1 (volatile unsigned int *)((0x1d4f << 2) + 0xff620000) ++#define HCODEC_HENC_LEFT_MV_2 (0x1d50) ++#define P_HCODEC_HENC_LEFT_MV_2 (volatile unsigned int *)((0x1d50 << 2) + 0xff620000) ++#define HCODEC_HENC_LEFT_MV_3 (0x1d51) ++#define P_HCODEC_HENC_LEFT_MV_3 (volatile unsigned int *)((0x1d51 << 2) + 0xff620000) ++// Bit[31:1] Reserved ++// Bit[0] top_left_mv_ready ++#define HCODEC_TOP_LEFT_READY (0x1d52) ++#define P_HCODEC_TOP_LEFT_READY (volatile unsigned int *)((0x1d52 << 2) + 0xff620000) ++// Bit[31:16] Reserved ++// Bit[15:0] mb_skip_run ++#define HCODEC_MB_SKIP_RUN (0x1d53) ++#define P_HCODEC_MB_SKIP_RUN (volatile unsigned int *)((0x1d53 << 2) + 0xff620000) ++// Bit[31:16] Reserved ++// Bit[15] Reserved ++// Bit[14:13] rd_struct // 00 - frame, 10 - top field, 11 - bottom field ++// Bit[12:11] wr_struct // 00 - frame, 10 - top field, 11 - bottom field ++// Bit[10:5] mv_buff_id ++// Bit[4:0] mv_ref ++#define HCODEC_VLC_HCMD_CONFIG (0x1d54) ++#define P_HCODEC_VLC_HCMD_CONFIG (volatile unsigned int *)((0x1d54 << 2) + 0xff620000) ++// Bit[9:0] h264_dblk_info ++#define HCODEC_VLC_HCMD_DBLK_INFO (0x1d55) ++#define P_HCODEC_VLC_HCMD_DBLK_INFO (volatile unsigned int *)((0x1d55 << 2) + 0xff620000) ++// Bit[3:0] vlc_dbg_idx ++#define HCODEC_VLC_DBG_IDX (0x1d56) ++#define P_HCODEC_VLC_DBG_IDX (volatile unsigned int *)((0x1d56 << 2) + 0xff620000) ++// Read Only ++#define HCODEC_VLC_DBG_READ (0x1d57) ++#define P_HCODEC_VLC_DBG_READ (volatile unsigned int *)((0x1d57 << 2) + 0xff620000) ++// [ 29] RW jpeg_comp2_ac_table_sel. Default 0. ++// [ 28] RW jpeg_comp2_dc_table_sel. Default 0. ++// [26:25] RW jpeg_comp2_cnt_max. Default 0. ++// [ 24] RW jpeg_comp2_en. Set 1 if the scan will include component 2 (Cr). Default 0. ++// [ 21] RW jpeg_comp1_ac_table_sel. Default 0. ++// [ 20] RW jpeg_comp1_dc_table_sel. Default 0. ++// [18:17] RW jpeg_comp1_cnt_max. Default 0. ++// [ 16] RW jpeg_comp1_en. Set 1 if the scan will include component 1 (Cb). Default 0. ++// [ 13] RW jpeg_comp0_ac_table_sel. Default 0. ++// [ 12] RW jpeg_comp0_dc_table_sel. Default 0. ++// [10: 9] RW jpeg_comp0_cnt_max. Default 0. ++// [ 8] RW jpeg_comp0_en. Set 1 if the scan will include component 0 (Y). Default 0. ++// [ 1] W jpeg_coeff_init. Write 1 to this bit to initialize JPEG run length encoder. ++// [ 0] RW jpeg_en. 0=Disable JPEG encoder; 1=Enable JPEG encoder. Default 0. ++#define HCODEC_VLC_JPEG_CTRL (0x1d58) ++#define P_HCODEC_VLC_JPEG_CTRL (volatile unsigned int *)((0x1d58 << 2) + 0xff620000) ++// [ 13] RW jpeg_coeff_buf_overfl. Write this bit to 1 to clear overfl. ++// [ 12] RW jpeg_coeff_buf_undrfl. Write this bit to 1 to clear undrfl. ++// [ 11] R jpeg_coeff_buf_full. ++// [ 10] R jpeg_coeff_buf_empty. ++// [ 8: 0] R jpeg_coeff_buf_level. ++#define HCODEC_VLC_JPEG_COEFF_BUF_STAT (0x1d59) ++#define P_HCODEC_VLC_JPEG_COEFF_BUF_STAT (volatile unsigned int *)((0x1d59 << 2) + 0xff620000) ++// [ 16] RW JPEG HUFFMAN table access mode. 0=Write; 1=Read. Default 1. ++// [ 8: 0] RW JPEG HUFFMAN table addr. Default 0. ++#define HCODEC_VLC_HUFFMAN_ADDR (0x1d5a) ++#define P_HCODEC_VLC_HUFFMAN_ADDR (volatile unsigned int *)((0x1d5a << 2) + 0xff620000) ++// [19: 0] RW JPEG HUFFMAN table data. ++#define HCODEC_VLC_HUFFMAN_DATA (0x1d5b) ++#define P_HCODEC_VLC_HUFFMAN_DATA (volatile unsigned int *)((0x1d5b << 2) + 0xff620000) ++// bit[31:0] enc_mv_bits - including b8_mode and mvd ++#define HCODEC_VLC_ENC_MV_BITS (0x1d5c) ++#define P_HCODEC_VLC_ENC_MV_BITS (volatile unsigned int *)((0x1d5c << 2) + 0xff620000) ++// bit[31:0] enc_coeff_bits - including cbp, token, trailing_sign, coeff_enc, h264_totzeros, h264_run ++#define HCODEC_VLC_ENC_COEFF_BITS (0x1d5d) ++#define P_HCODEC_VLC_ENC_COEFF_BITS (volatile unsigned int *)((0x1d5d << 2) + 0xff620000) ++// ++// Closing file: vlc_regs.h ++// ++// ++// Reading file: qdct_regs.h ++// ++//======================================================================== ++// QDCT module level register offset ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DOS_HCODEC_QDCT_CBUS_BASE = 0x0f ++// ----------------------------------------------- ++// bit[31:28] - mb_info_state ++#define HCODEC_QDCT_STATUS_CTRL (0x1f00) ++#define P_HCODEC_QDCT_STATUS_CTRL (volatile unsigned int *)((0x1f00 << 2) + 0xff620000) ++// bit[18] - enable_free_clk_sad_top ++// bit[17] - enable_free_clk_ie_top ++// bit[16] - enable_free_clk_ie_sub ++// bit[15] - enable_free_clk_mc_out ++// bit[14] - enable_free_clk_i_pred_top ++// bit[13] - enable_free_clk_idct_top ++// bit[12] - enable_free_clk_iq_top ++// bit[11] - enable_free_clk_q_top ++// bit[10] - enable_free_clk_dc_buff_8 ++// bit[9] - enable_free_clk_dct_top ++// bit[8] - enable_free_clk_mb_info ++// bit[7] - enable_free_clk_mb_buff ++// bit[6] - enable_free_clk_reg ++// bit[5] - ignore_1_include_2nd_half_c ++// bit[4] - ignore_1_include_2nd_half ++// bit[3] - ignore_t_p8x8 ++// bit[2] - not_ignore_dc ++// bit[1] - ignore_small_lac_intra ++// bit[0] - disable_fast_zero_block ++#define HCODEC_QDCT_CONFIG (0x1f01) ++#define P_HCODEC_QDCT_CONFIG (volatile unsigned int *)((0x1f01 << 2) + 0xff620000) ++// bit[31] - ignore_lac_coeff_en ++// bit[30:26] - ignore_lac_coeff_else ++// bit[25:21] - ignore_lac_coeff_2 ++// bit[20:16] - ignore_lac_coeff_1 ++// bit[15] - ignore_cac_coeff_en ++// bit[14:10] - ignore_cac_coeff_else ++// bit[9:5] - ignore_cac_coeff_2 ++// bit[4:0] - ignore_cac_coeff_1 ++#define HCODEC_IGNORE_CONFIG (0x1f02) ++#define P_HCODEC_IGNORE_CONFIG (volatile unsigned int *)((0x1f02 << 2) + 0xff620000) ++// bit[31] - ignore_t_lac_coeff_en ++// bit[30:26] - ignore_t_lac_coeff_else ++// bit[25:21] - ignore_t_lac_coeff_2 ++// bit[20:16] - ignore_t_lac_coeff_1 ++// bit[15] - ignore_cdc_coeff_en ++// bit[14] - ignore_t_lac_coeff_else_le_3 ++// bit[13] - ignore_t_lac_coeff_else_le_4 ++// bit[12] - ignore_cdc_only_when_empty_cac_inter ++// bit[11] - ignore_cdc_only_when_one_empty_inter ++// bit[10:9] - ignore_cdc_range_max_inter // 0-0, 1-1, 2,-2, 3-3 ++// bit[8:7] - ignore_cdc_abs_max_inter // 0-1, 1-2, 2,-3, 3-4 ++// bit[6] - reserved ++// bit[5] - ignore_cdc_only_when_empty_cac_intra ++// bit[4] - ignore_cdc_only_when_one_empty_intra ++// bit[3:2] - ignore_cdc_range_max_intra // 0-0, 1-1, 2,-2, 3-3 ++// bit[1:0] - ignore_cdc_abs_max_intra // 0-1, 1-2, 2,-3, 3-4 ++#define HCODEC_IGNORE_CONFIG_2 (0x1f03) ++#define P_HCODEC_IGNORE_CONFIG_2 (volatile unsigned int *)((0x1f03 << 2) + 0xff620000) ++// -------------------------------------------- ++// MB DATA DDR Interface ++// -------------------------------------------- ++#define HCODEC_QDCT_MB_START_PTR (0x1f10) ++#define P_HCODEC_QDCT_MB_START_PTR (volatile unsigned int *)((0x1f10 << 2) + 0xff620000) ++#define HCODEC_QDCT_MB_END_PTR (0x1f11) ++#define P_HCODEC_QDCT_MB_END_PTR (volatile unsigned int *)((0x1f11 << 2) + 0xff620000) ++#define HCODEC_QDCT_MB_WR_PTR (0x1f12) ++#define P_HCODEC_QDCT_MB_WR_PTR (volatile unsigned int *)((0x1f12 << 2) + 0xff620000) ++#define HCODEC_QDCT_MB_RD_PTR (0x1f13) ++#define P_HCODEC_QDCT_MB_RD_PTR (volatile unsigned int *)((0x1f13 << 2) + 0xff620000) ++#define HCODEC_QDCT_MB_LEVEL (0x1f14) ++#define P_HCODEC_QDCT_MB_LEVEL (volatile unsigned int *)((0x1f14 << 2) + 0xff620000) ++// bit [31] disable_mbxy_ie_save ++// bit [30] no_wait_after_q_cdc ++// bit [29] ie_start_int_enable ++// bit [28] ignore_t_p8x8 ++// bit [27] zero_mc_out_null_non_skipped_mb ++// bit [26] no_mc_out_null_non_skipped_mb ++// bit [25] mc_out_even_skipped_mb ++// bit [24] mc_out_wait_cbp_ready ++// bit [23] mc_out_wait_mb_type_ready ++// bit [22] i_pred_int_enable ++// bit [21] intra_sat8_enable ++// bit [20] ie_sub_enable ++// bit [19] i_pred_enable ++// bit [18] iq_enable ++// bit [17] idct_enable ++// bit [16] no_zero_coeff_mb ++// bit [15] add_zero_coeff_block ++// bit [14] mb_pause_enable ++// bit [13] q_enable ++// bit [12] dct_enable ++// bit [11] ignore_magic_word ++// bit [10] mb_info_en ++// bit [9] mb_info_soft_reset ++// bit [8] mb_always_ready Set to 1 to ignore mb_level blocking DDR read ++// bit [7] mb_ready_for_transfer (Read Only) ++// bit [6] data_ready_for_transfer (Read Only) ++// bits [5:3] mb_endian Set MB Endian inside DDR memory ++// bit [2] mb_read_busy Read Only - indicate DDR read busy ++// bit [1] mb_read_en Set to 1 to enable reading data from DDR memory ++// bit [0] mb_soft_reset Soft reset ++#define HCODEC_QDCT_MB_CONTROL (0x1f15) ++#define P_HCODEC_QDCT_MB_CONTROL (volatile unsigned int *)((0x1f15 << 2) + 0xff620000) ++// bit 31 transfer_length 0 - 32x64 Bits per request, 1 - 16x64 Bits per request // default : 0 ++// bit 30 A_urgent // default : 0 ++// bit 29:24 A_brst_num // default : 0x3f ++// bit 23 reserved ++// bit 22 read_till_zero ++// bit 21:16 A_id // default : 0x21 ++// bit 15:0 mb_level_hold // default : 0 ++#define HCODEC_QDCT_MB_MEM_CTL (0x1f16) ++#define P_HCODEC_QDCT_MB_MEM_CTL (volatile unsigned int *)((0x1f16 << 2) + 0xff620000) ++// bit [31:24] reserved ++// bit [23:16] vb_buff_level -- Read only ++// bit [15:8] vb_buff_wr_point -- RW ++// bit [7:0] vb_buff_rd_point -- RW ++#define HCODEC_QDCT_MB_BUFF (0x1f17) ++#define P_HCODEC_QDCT_MB_BUFF (volatile unsigned int *)((0x1f17 << 2) + 0xff620000) ++// bit [31:0] mb infor data begin magic word - default : 0xa55aaa55 ++#define HCODEC_QDCT_MB_MAGIC_WORD (0x1f18) ++#define P_HCODEC_QDCT_MB_MAGIC_WORD (volatile unsigned int *)((0x1f18 << 2) + 0xff620000) ++// Read Only Register ++// bit[19] dct_ready_1 ++// bit[18] dct_ready_0 ++// bit[17] dct_rd_idx ++// bit[16] dct_wr_idx ++// bit[15] dct_srdy ++// bit[14] dct_rrdy ++// bit[13] Reserved ++// bit[12:8] dct_block_number ++// bit[7:4] dct_rw_addr ++// bit[3:0] dct_status ++#define HCODEC_QDCT_DCT_STATUS (0x1f19) ++#define P_HCODEC_QDCT_DCT_STATUS (volatile unsigned int *)((0x1f19 << 2) + 0xff620000) ++// bit[24:23] vlc_quant_count ++// bit[22:16] vlc_delta_quant_data ++// bit[15:10] vlc_quant_data ++// bit[9:4] vlc_prev_quant_data ++// bit[3:0] q_status ++#define HCODEC_QDCT_Q_STATUS (0x1f1a) ++#define P_HCODEC_QDCT_Q_STATUS (volatile unsigned int *)((0x1f1a << 2) + 0xff620000) ++// bit[31:3] Reserved ++// bit[2:0] picture_type ++#define HCODEC_QDCT_PIC_INFO (0x1f1b) ++#define P_HCODEC_QDCT_PIC_INFO (volatile unsigned int *)((0x1f1b << 2) + 0xff620000) ++// bit[31:28] Reserved ++// bit[27:22] I_pic_quant_c ++// bit[21:16] I_pic_quant ++// bit[15] reserved ++// bit[14:12] quant_rem_c ++// bit[11:8] quant_per_c ++// bit[7] reserved ++// bit[6:4] quant_rem ++// bit[3:0] quant_per ++#define HCODEC_QDCT_Q_QUANT_I (0x1f1c) ++#define P_HCODEC_QDCT_Q_QUANT_I (volatile unsigned int *)((0x1f1c << 2) + 0xff620000) ++// bit[31:28] Reserved ++// bit[27:22] P_pic_quant_c ++// bit[21:16] P_pic_quant ++// bit[15] reserved ++// bit[14:12] quant_rem_c ++// bit[11:8] quant_per_c ++// bit[7] reserved ++// bit[6:4] quant_rem ++// bit[3:0] quant_per ++#define HCODEC_QDCT_Q_QUANT_P (0x1f1d) ++#define P_HCODEC_QDCT_Q_QUANT_P (volatile unsigned int *)((0x1f1d << 2) + 0xff620000) ++// bit[31] mb_info_pause ++// bit[30:16] pause_mby ++// bit[15:0] pause_mbx ++#define HCODEC_QDCT_MB_PAUSE_CTL (0x1f1e) ++#define P_HCODEC_QDCT_MB_PAUSE_CTL (volatile unsigned int *)((0x1f1e << 2) + 0xff620000) ++// bit[31] top_control_ready_i_pred ++// bit[30:28]top_dma_status ++// bit[27] top_control_ready_ie ++// bit[26:24]Reserved ++// bit[23] ul_mb ++// bit[22] right_mb ++// bit[21] top_mb ++// bit[20] left_mb ++// bit[19:8] mb_x ++// bit[7:6] i_pred_ref_idx_L ++// bit[5:4] i_pred_ref_idx_UL ++// bit[3:2] i_pred_ref_idx_U ++// bit[1:0] i_pred_ref_idx_UR ++#define HCODEC_QDCT_TOP_CONTROL (0x1f1f) ++#define P_HCODEC_QDCT_TOP_CONTROL (volatile unsigned int *)((0x1f1f << 2) + 0xff620000) ++// bit[31:0] top_base_addr - DDR Memory start address for save top Pixel ++#define HCODEC_QDCT_TOP_BASE_MEM (0x1f20) ++#define P_HCODEC_QDCT_TOP_BASE_MEM (volatile unsigned int *)((0x1f20 << 2) + 0xff620000) ++// bit 15:13 Reserved ++// bit 12 A_urgent // default : 0 ++// bit 11:6 A_brst_num // default : 0x3f ++// bit 5:0 A_id // default : 0x22 ++#define HCODEC_QDCT_TOP_MEM_CTL (0x1f21) ++#define P_HCODEC_QDCT_TOP_MEM_CTL (volatile unsigned int *)((0x1f21 << 2) + 0xff620000) ++// bit [11:0] top_wrrsp_count ++#define HCODEC_QDCT_TOP_WRRSP (0x1f22) ++#define P_HCODEC_QDCT_TOP_WRRSP (volatile unsigned int *)((0x1f22 << 2) + 0xff620000) ++// Bit[3:0] qdct_dbg_idx ++#define HCODEC_QDCT_DBG_IDX (0x1f23) ++#define P_HCODEC_QDCT_DBG_IDX (volatile unsigned int *)((0x1f23 << 2) + 0xff620000) ++// Read Only ++#define HCODEC_QDCT_DBG_READ (0x1f24) ++#define P_HCODEC_QDCT_DBG_READ (volatile unsigned int *)((0x1f24 << 2) + 0xff620000) ++// [19:18] RW jdct_inflow_ctrl. JPEG DCT input flow control. Default 0. ++// 0=No halt; ++// 1=DCT halts request at end of each 8x8 block; ++// 2=DCT halts request at end of each MCU. ++// [17:16] RW jpeg_coeff_last_sel. Default 0. ++// Select at which point to finish processing, give update to AmRISC so it can control the next step. ++// 0=Mark last coeff at the end of an 8x8 block; ++// 1=Mark at the end of an MCU; ++// 2=Mark at the end of a scan. ++// [ 15] RW jpeg_quant_sel_comp2. 0=Comp2 select Quantization table 0; 1=Select table 1. Default 0. ++// [ 14] RW jpeg_v_factor_comp2. Component 2's vertical sampling factor. Default 0. ++// [ 13] RW jpeg_h_factor_comp2. Component 2's horizontal sampling factor. Default 0. ++// [ 12] RW jpeg_comp2_en. Set 1 if the scan will include component 2 (Cr). Default 0. ++// [ 11] RW jpeg_quant_sel_comp1. 0=Comp1 select Quantization table 0; 1=Select table 1. Default 0. ++// [ 10] RW jpeg_v_factor_comp1. Component 1's vertical sampling factor. Default 0. ++// [ 9] RW jpeg_h_factor_comp1. Component 1's horizontal sampling factor. Default 0. ++// [ 8] RW jpeg_comp1_en. Set 1 if the scan will include component 1 (Cb). Default 0. ++// [ 7] RW jpeg_quant_sel_comp0. 0=Comp0 select Quantization table 0; 1=Select table 1. Default 0. ++// [ 6] RW jpeg_v_factor_comp0. Component 0's vertical sampling factor. Default 0. ++// [ 5] RW jpeg_h_factor_comp0. Component 0's horizontal sampling factor. Default 0. ++// [ 4] RW jpeg_comp0_en. Set 1 if the scan will include component 0 (Y). Default 0. ++// [ 3: 1] RW jdct_intr_sel. JPEG DCT interrupt select. Default 0. ++// 0=Disable intr; ++// 1=Intr at end of each 8x8 block of DCT input; ++// 2=Intr at end of each MCU of DCT input; ++// 3=Intr at end of a scan of DCT input; ++// 4=Intr at end of each 8x8 block of DCT output; ++// 5=Intr at end of each MCU of DCT output; ++// 6=Intr at end of a scan of DCT output. ++// [ 0] RW jpeg_en. 0=Disable JPEG QDCT; 1=Enable JPEG QDCT. Default 0. ++#define HCODEC_QDCT_JPEG_CTRL (0x1f25) ++#define P_HCODEC_QDCT_JPEG_CTRL (volatile unsigned int *)((0x1f25 << 2) + 0xff620000) ++// [29:16] RW jpeg_x_end. Picture X end. Default 0. ++// [13: 0] RW jpeg_x_start. Picture X start. Default 0. ++#define HCODEC_QDCT_JPEG_X_START_END (0x1f26) ++#define P_HCODEC_QDCT_JPEG_X_START_END (volatile unsigned int *)((0x1f26 << 2) + 0xff620000) ++// [29:16] RW jpeg_y_end. Picture Y end. Default 0. ++// [13: 0] RW jpeg_y_start. Picture Y start. Default 0. ++#define HCODEC_QDCT_JPEG_Y_START_END (0x1f27) ++#define P_HCODEC_QDCT_JPEG_Y_START_END (volatile unsigned int *)((0x1f27 << 2) + 0xff620000) ++// [ 8] RW JPEG QUANT table access mode. 0=Write; 1=Read. Default 1. ++// [ 5: 0] RW JPEG QUANT table addr. Default 0. ++#define HCODEC_QDCT_JPEG_QUANT_ADDR (0x1f28) ++#define P_HCODEC_QDCT_JPEG_QUANT_ADDR (volatile unsigned int *)((0x1f28 << 2) + 0xff620000) ++// [31: 0] RW JPEG QUANT table data. ++#define HCODEC_QDCT_JPEG_QUANT_DATA (0x1f29) ++#define P_HCODEC_QDCT_JPEG_QUANT_DATA (volatile unsigned int *)((0x1f29 << 2) + 0xff620000) ++// [ 1] W resume_jdct. ++// Write 1 to this bit will resume JPEG input engine when previously ++// it is halted by QDCT_JPEG_CTRL.jdct_inflow_ctrl. ++// [ 0] W jpeg_sof. ++// Write 1 to this bit will start JPEG input engine. ++#define HCODEC_QDCT_JPEG_SOF_RESUME (0x1f2a) ++#define P_HCODEC_QDCT_JPEG_SOF_RESUME (volatile unsigned int *)((0x1f2a << 2) + 0xff620000) ++// [31:30] R dct_st. jdct_ctrl state. 0=IDLE; 1=WAIT; 2=DCT_REQ. ++// [29:28] R mfdin_comp. Current component at pixel request to MFDIN. ++// [27:14] R mfdin_y. Current Y at pixel request to MFDIN. ++// [13: 0] R mfdin_x. Current X at pixel request to MFDIN. ++#define HCODEC_QDCT_JPEG_DCT_STATUS0 (0x1f2b) ++#define P_HCODEC_QDCT_JPEG_DCT_STATUS0 (volatile unsigned int *)((0x1f2b << 2) + 0xff620000) ++// [15:12] R JPEG Quant read MEM select. ++// [11: 8] R JPEG DCT2 write MEM select. ++// [ 7: 4] R JPEG DCT2 read MEM select. ++// [ 3: 0] R JPEG DCT1 write MEM select. ++#define HCODEC_QDCT_JPEG_DCT_STATUS1 (0x1f2c) ++#define P_HCODEC_QDCT_JPEG_DCT_STATUS1 (volatile unsigned int *)((0x1f2c << 2) + 0xff620000) ++// [28:16] RW jdct_coeff1. Default 13'h1D90; // 7568 = 4096 * sqrt(2) * (cos(Pi/8) + sin(Pi/8)) // 7569 ++// [12: 0] RW jdct_coeff0. Default 13'h16A1; // 5793 = 4096 * sqrt(2) ++#define HCODEC_QDCT_JPEG_DCT_COEFF01 (0x1f2d) ++#define P_HCODEC_QDCT_JPEG_DCT_COEFF01 (volatile unsigned int *)((0x1f2d << 2) + 0xff620000) ++// [28:16] RW jdct_coeff3. Default 13'h0C3F; // 3135 = 4096 * sqrt(2) * (cos(Pi/8) - sin(Pi/8)) ++// [12: 0] RW jdct_coeff2. Default 13'h08A9; // 2217 = 4096 * sqrt(2) * sin(Pi/8) // 2215 ++#define HCODEC_QDCT_JPEG_DCT_COEFF23 (0x1f2e) ++#define P_HCODEC_QDCT_JPEG_DCT_COEFF23 (volatile unsigned int *)((0x1f2e << 2) + 0xff620000) ++// [28:16] RW jdct_coeff5. Default 13'h046A; // 1130 = 4096 * (cos(3Pi/16) - sin(3Pi/16)) ++// [12: 0] RW jdct_coeff4. Default 13'h1631; // 5681 = 4096 * (cos(3Pi/16) + sin(3Pi/16)) // 5682 ++#define HCODEC_QDCT_JPEG_DCT_COEFF45 (0x1f2f) ++#define P_HCODEC_QDCT_JPEG_DCT_COEFF45 (volatile unsigned int *)((0x1f2f << 2) + 0xff620000) ++// [28:16] RW jdct_coeff7. Default 13'h0C92; // 3218 = 4096 * (cos(Pi/16) - sin(Pi/16)) ++// [12: 0] RW jdct_coeff6. Default 13'h12D0; // 4816 = 4096 * (cos(Pi/16) + sin(Pi/16)) ++#define HCODEC_QDCT_JPEG_DCT_COEFF67 (0x1f30) ++#define P_HCODEC_QDCT_JPEG_DCT_COEFF67 (volatile unsigned int *)((0x1f30 << 2) + 0xff620000) ++// [28:16] RW jdct_coeff9. Default 13'h0FB1; // 4017 = 4096 * cos(Pi/16) ++// [12: 0] RW jdct_coeff8. Default 13'h0D4E; // 3406 = 4096 * cos(3Pi/16) ++#define HCODEC_QDCT_JPEG_DCT_COEFF89 (0x1f31) ++#define P_HCODEC_QDCT_JPEG_DCT_COEFF89 (volatile unsigned int *)((0x1f31 << 2) + 0xff620000) ++#define HCODEC_QDCT_I_PRED_REF_WR_IDX (0x1f32) ++#define P_HCODEC_QDCT_I_PRED_REF_WR_IDX (volatile unsigned int *)((0x1f32 << 2) + 0xff620000) ++#define HCODEC_QDCT_I_PRED_REF_WR_DATA (0x1f33) ++#define P_HCODEC_QDCT_I_PRED_REF_WR_DATA (volatile unsigned int *)((0x1f33 << 2) + 0xff620000) ++// bit[29] mb_info_latch_no_I16_pred_mode ++// bit[28] ie_dma_mbxy_use_i_pred ++// bit[27] ie_dma_read_write_use_ip_idx ++// bit[26] ie_start_use_top_dma_count ++// bit[25] i_pred_top_dma_rd_mbbot ++// bit[24] i_pred_top_dma_wr_disable ++// bit[23] i_pred_mix ++// bit[22] me_ab_rd_when_intra_in_p ++// bit[21] force_mb_skip_run_when_intra ++// bit[20] mc_out_mixed_type ++// bit[19] ie_start_when_quant_not_full ++// bit[18] mb_info_state_mix ++// bit[17] mb_type_use_mix_result ++// bit[16] me_cb_ie_read_enable ++// bit[15] ie_cur_data_from_me ++// bit[14] rem_per_use_table ++// bit[13] q_latch_int_enable ++// bit[12] q_use_table ++// bit[11] q_start_wait ++// bit[10] LUMA_16_LEFT_use_cur ++// bit[9] DC_16_LEFT_SUM_use_cur ++// bit[8] c_ref_ie_sel_cur ++// bit[7] c_ipred_perfect_mode ++// bit[6] ref_ie_ul_sel 0-old, 1-use next_set ++// bit[5] mb_type_use_ie_result ++// bit[4] detect_I16_from_I4 ++// bit[3] ie_not_wait_ref_busy ++// bit[2] ie_I16_enable ++// bit[1:0] ie_done_sel (0, 1, 2, -1) ++#define HCODEC_QDCT_ADV_CONFIG (0x1f34) ++#define P_HCODEC_QDCT_ADV_CONFIG (volatile unsigned int *)((0x1f34 << 2) + 0xff620000) ++// bit [31:16] I16x16_weight ++// bit [15:0] I4x4_weight ++#define HCODEC_IE_WEIGHT (0x1f35) ++#define P_HCODEC_IE_WEIGHT (volatile unsigned int *)((0x1f35 << 2) + 0xff620000) ++// bit [31] reserved ++// bit [30] q_I16MB ++// bit [29] reserved ++// bit [28] reserved ++// bit [27:23] quant_table_addr I4MB:[0,7], I16MB:[8:15], INTER:[16:23], Reserved:[24:31] ++// bit [22] quant_table_addr_update(when notupdate_rem_per) (read is arb_result : q_intra) ++// bit [21:19] quant_rem_c ++// bit [18:16] quant_rem_y ++// bit [15:12] quant_per_c ++// bit [11:8] quant_per_y ++// bit [7:2] quant ++// bit [1] update_rem_per ++// bit [0] clear_wait_status ++#define HCODEC_Q_QUANT_CONTROL (0x1f36) ++#define P_HCODEC_Q_QUANT_CONTROL (volatile unsigned int *)((0x1f36 << 2) + 0xff620000) ++#define HCODEC_MBBOT_EVEN_ADDR (0x1f37) ++#define P_HCODEC_MBBOT_EVEN_ADDR (volatile unsigned int *)((0x1f37 << 2) + 0xff620000) ++#define HCODEC_MBBOT_ODD_ADDR (0x1f38) ++#define P_HCODEC_MBBOT_ODD_ADDR (volatile unsigned int *)((0x1f38 << 2) + 0xff620000) ++// bit [29:24] quant_table_data_3 ++// bit [21:16] quant_table_data_2 ++// bit [13:8] quant_table_data_1 ++// bit [5:0] quant_table_data_0 ++#define HCODEC_QUANT_TABLE_DATA (0x1f39) ++#define P_HCODEC_QUANT_TABLE_DATA (volatile unsigned int *)((0x1f39 << 2) + 0xff620000) ++// bit [31:16] ie_sad_offset_I16 ++// bit [15:0] ie_sad_offset_I4 ++#define HCODEC_SAD_CONTROL_0 (0x1f3a) ++#define P_HCODEC_SAD_CONTROL_0 (volatile unsigned int *)((0x1f3a << 2) + 0xff620000) ++// bit [31] sad_soft_reset ++// bit [30:27] reserved ++// bit [26:24] ie_sad_shift_I16 ++// bit [22:20] ie_sad_shift_I4 ++// bit [18:16] me_sad_shift_INTER ++// bit [15:0] me_sad_offset_INTER ++#define HCODEC_SAD_CONTROL_1 (0x1f3b) ++#define P_HCODEC_SAD_CONTROL_1 (volatile unsigned int *)((0x1f3b << 2) + 0xff620000) ++// bit [31] vlc_quant_rd_ptr ++// bit [30] vlc_quant_rd_ptr_update ++// bit [29] vlc_quant_wr_ptr ++// bit [28] vlc_quant_wr_ptr_update ++// bit [27:26] reserved ++// bit [25:19] vlc_delta_quant_1 ++// bit [18:13] vlc_quant_1 ++// bit [12:6] vlc_delta_quant_0 ++// bit [5:0] vlc_quant_0 ++#define HCODEC_QDCT_VLC_QUANT_CTL_0 (0x1f3c) ++#define P_HCODEC_QDCT_VLC_QUANT_CTL_0 (volatile unsigned int *)((0x1f3c << 2) + 0xff620000) ++// bit [31:30] me_sad_rd_idx ++// bit [29] me_sad_rd_idx_update ++// bit [28:27] me_sad_wr_idx ++// bit [26] me_sad_wr_idx_update ++// bit [25:24] ie_sad_rd_idx ++// bit [23] ie_sad_rd_idx_update ++// bit [22:21] ie_sad_wr_idx ++// bit [20] ie_sad_wr_idx_update ++// bit [19:12] Reserved ++// bit [11:6] vlc_max_delta_q_neg ++// bit [5:0] vlc_max_delta_q_pos ++#define HCODEC_QDCT_VLC_QUANT_CTL_1 (0x1f3d) ++#define P_HCODEC_QDCT_VLC_QUANT_CTL_1 (volatile unsigned int *)((0x1f3d << 2) + 0xff620000) ++// bit[4] jdct_int ++// bit[3] quant_latch ++// bit[2] me_done ++// bit[1] ie_start ++// bit[0] i_pred_start ++#define HCODEC_QDCT_INT_STATUS (0x1f3e) ++#define P_HCODEC_QDCT_INT_STATUS (volatile unsigned int *)((0x1f3e << 2) + 0xff620000) ++// bit[3] mix_i_pred_wait_left_en ++// bit[2:0] mc_pending_mb_count ++#define HCODEC_QDCT_MIX_I_PRED_STATUS (0x1f3f) ++#define P_HCODEC_QDCT_MIX_I_PRED_STATUS (volatile unsigned int *)((0x1f3f << 2) + 0xff620000) ++// IE/ME share same cbus_base as QDCT ++// ++// bit[31] active_ur_block ++// bit[30] active_ul_block ++// bit[21] disable_HENC_V_PRED_16 ++// bit[20] disable_HENC_H_PRED_16 ++// bit[19] disable_HENC_DC_PRED_16 ++// bit[18] disable_HENC_HENC_HOR_UP_PRED ++// bit[17] disable_HENC_VERT_LEFT_PRED ++// bit[16] disable_HENC_HENC_HOR_DOWN_PRED ++// bit[15] disable_HENC_VERT_RIGHT_PRED ++// bit[14] disable_HENC_DIAG_DOWN_RIGHT_PRED ++// bit[13] disable_HENC_DIAG_DOWN_LEFT_PRED ++// bit[12] disable_HENC_DC_PRED ++// bit[11] disable_HENC_HOR_PRED ++// bit[10] disable_HENC_VERT_PRED ++// bit[9] ie_c_wait_ie_pause ++// bit[8:4] max_ie_result_buff_count ++// bit[3] ie_wait_for_ie_result // use for (max_ie_result_buff_count == 0) to wait every block ++// bit[2] reserved ++// bit[1] ie_enable ++// bit[0] ie_soft_reset ++#define HCODEC_IE_CONTROL (0x1f40) ++#define P_HCODEC_IE_CONTROL (volatile unsigned int *)((0x1f40 << 2) + 0xff620000) ++// bit[31:12] Reserved ++// bit[11:0] mb_y ++#define HCODEC_IE_MB_POSITION (0x1f41) ++#define P_HCODEC_IE_MB_POSITION (volatile unsigned int *)((0x1f41 << 2) + 0xff620000) ++// bit[31:16] me_skip_run ++// bit[15:8] reserved ++// bit [7:4] me_b8_mode ++// bit [3:0] ie_me_mb_type ++#define HCODEC_IE_ME_MB_INFO (0x1f42) ++#define P_HCODEC_IE_ME_MB_INFO (volatile unsigned int *)((0x1f42 << 2) + 0xff620000) ++// bit[3] ie_result_buff_enable ++// bit[2] ie_result_buff_soft_reset ++// bit[1] sad_enable ++// bit[0] ie_sad_soft_reset ++#define HCODEC_SAD_CONTROL (0x1f43) ++#define P_HCODEC_SAD_CONTROL (volatile unsigned int *)((0x1f43 << 2) + 0xff620000) ++// bit[31:16] - ie_result_buff_count - read only ++// bit[14:12] -current_ie_result (pred_mode) - read only ++// bit[11] top_control_data_buff_wr_ptr - rd/wr ++// bit[10] top_control_data_buff_rd_ptr - rd/wr ++// bit[9:5] ie_result_buff_wr_ptr - rd/wr ++// bit[4:0] ie_result_buff_rd_ptr - rd/wr ++#define HCODEC_IE_RESULT_BUFFER (0x1f44) ++#define P_HCODEC_IE_RESULT_BUFFER (volatile unsigned int *)((0x1f44 << 2) + 0xff620000) ++// bit[63:0] ie_i4_pred_mode ++#define HCODEC_IE_I4_PRED_MODE_HI (0x1f45) ++#define P_HCODEC_IE_I4_PRED_MODE_HI (volatile unsigned int *)((0x1f45 << 2) + 0xff620000) ++#define HCODEC_IE_I4_PRED_MODE_LO (0x1f46) ++#define P_HCODEC_IE_I4_PRED_MODE_LO (volatile unsigned int *)((0x1f46 << 2) + 0xff620000) ++// bit [31:9] reserved ++// bit [8:4] i_pred_block_number ++// bit [3:0] ie_c_pred_mode ++#define HCODEC_IE_C_PRED_MODE (0x1f47) ++#define P_HCODEC_IE_C_PRED_MODE (volatile unsigned int *)((0x1f47 << 2) + 0xff620000) ++// 31:16 - Left, 0-select ie_pixel, 1-select mc_data_out ++// 15:0 - Top, 0-select ie_pixel, 1-select mc_data_out ++#define HCODEC_IE_CUR_REF_SEL (0x1f48) ++#define P_HCODEC_IE_CUR_REF_SEL (volatile unsigned int *)((0x1f48 << 2) + 0xff620000) ++// bit[31] enable_f_skip_1_step_3 ++// bit[30] enable_f_skip_1_step_2 ++// bit[29] enable_f_skip_1_step_1 ++// bit[28] step_3_enable ++// bit[27] step_2_sub_pixel ++// bit[26] always_f_skip_step_3 ++// bit[25] always_f_skip_step_2 ++// bit[24] always_f_skip_step_1 ++// bit[23] half_pixel_only ++// bit[22:13] reserved ++// bit[12] adv_mv_enable ++// bit[11] sad_short_valid ++// bit[10:9] mv_flexable_ctl 00:0x40, 01:0x80, 10:0xc0, 11 : 0x100 ++// bit[8] no_md_ab_rd ++// bit[7] use_dct_state ++// bit[6] enable_free_clk_me_ctl ++// bit[5] enable_free_clk_me_ab ++// bit[4] enable_free_clk_me_cb ++// bit[3] reserved ++// bit[2] me_done_int_enable ++// bit[1] me_enable ++// bit[0] me_soft_reset ++#define HCODEC_ME_CONTROL (0x1f49) ++#define P_HCODEC_ME_CONTROL (volatile unsigned int *)((0x1f49 << 2) + 0xff620000) ++// bit[31:28] Reserved ++// bit[27:16] me_start_mby ++// bit[15:12] Reserved ++// bit[11:0] me_start_mbx ++#define HCODEC_ME_START_POSITION (0x1f4a) ++#define P_HCODEC_ME_START_POSITION (volatile unsigned int *)((0x1f4a << 2) + 0xff620000) ++// bit [31:28] me_status - Read only ++// bit [27:24] me_cb_status // current buffer ++// bit [23:20] me_ab_status // anc buffer ++// bit [19] Reserved ++// bit [18:16] me_ab_wr_ptr // read only ++// bit [15:4] me_last_mbx ++// bit [3:1] me_ab_rd_ptr // read only ++// bit [0] me_action ++#define HCODEC_ME_STATUS (0x1f4b) ++#define P_HCODEC_ME_STATUS (volatile unsigned int *)((0x1f4b << 2) + 0xff620000) ++// all Read-only ++// bit [31:28] Reserved ++// bit [27:16] me_ab_mbx ++// bit [15:14] me_cb_wr_ptr ++// bit [13:12] me_cb_rd_ptr ++// bit [11:0] me_cb_mbx ++#define HCODEC_ME_DEBUG (0x1f4c) ++#define P_HCODEC_ME_DEBUG (volatile unsigned int *)((0x1f4c << 2) + 0xff620000) ++// bit[29:24] step_3_skip_line ++// bit[23:18] step_2_skip_line ++// bit[17:12] step_1_skip_line ++// bit[11:6] step_0_skip_line ++// bit[5:0] read_skip_line ++#define HCODEC_ME_SKIP_LINE (0x1f4d) ++#define P_HCODEC_ME_SKIP_LINE (volatile unsigned int *)((0x1f4d << 2) + 0xff620000) ++// bit 15:13 Reserved ++// bit 12 A_urgent // default : 0 ++// bit 11:6 A_brst_num // default : 0x3f ++// bit 5:0 A_id // default : 0x23 ++#define HCODEC_ME_AB_MEM_CTL (0x1f4e) ++#define P_HCODEC_ME_AB_MEM_CTL (volatile unsigned int *)((0x1f4e << 2) + 0xff620000) ++// bit[31:24] anc_pic_canvas ++// bit[23:12] max_me_mby_num ++// bit[11:0] max_me_mbx_num ++#define HCODEC_ME_PIC_INFO (0x1f4f) ++#define P_HCODEC_ME_PIC_INFO (volatile unsigned int *)((0x1f4f << 2) + 0xff620000) ++// bit [23:12] me_sad_enough_1 ++// bit [11:0] me_sad_enough_0 ++#define HCODEC_ME_SAD_ENOUGH_01 (0x1f50) ++#define P_HCODEC_ME_SAD_ENOUGH_01 (volatile unsigned int *)((0x1f50 << 2) + 0xff620000) ++// bit [25:12] adv_mv_8x8_enough ++// bit [11:0] me_sad_enough_2 ++#define HCODEC_ME_SAD_ENOUGH_23 (0x1f51) ++#define P_HCODEC_ME_SAD_ENOUGH_23 (volatile unsigned int *)((0x1f51 << 2) + 0xff620000) ++// bit [21:10] me_step0_big_sad ++// bit [9:5] me_step0_close_mv_y ++// bit [4:0] me_step0_close_mv_x ++#define HCODEC_ME_STEP0_CLOSE_MV (0x1f52) ++#define P_HCODEC_ME_STEP0_CLOSE_MV (volatile unsigned int *)((0x1f52 << 2) + 0xff620000) ++// bit[31:24] force_skip_sad_3 ++// bit[23:16] force_skip_sad_2 ++// bit[15:08] force_skip_sad_1 ++// bit[07:00] force_skip_sad_0 ++#define HCODEC_ME_F_SKIP_SAD (0x1f53) ++#define P_HCODEC_ME_F_SKIP_SAD (volatile unsigned int *)((0x1f53 << 2) + 0xff620000) ++// bit[31:24] force_skip_weight_3 ++// bit[23:16] force_skip_weight_2 ++// bit[15:08] force_skip_weight_1 ++// bit[07:00] force_skip_weight_0 ++#define HCODEC_ME_F_SKIP_WEIGHT (0x1f54) ++#define P_HCODEC_ME_F_SKIP_WEIGHT (volatile unsigned int *)((0x1f54 << 2) + 0xff620000) ++// Merge when ( ++// (flex & me_merge_flex_en) | ++// (big_sad & me_merge_sad_en)| ++// ((~me_merge_flex_en)&(~me_merge_sad_en)) ++// ) & ++// ( small_mv_diff |(~me_merge_small_mv_en)) ++// & (me_merge_flex_en | me_merge_sad_en | me_merge_small_mv_en) ++// bit[31] me_merge_mv_en_16 ++// bit[30] me_merge_small_mv_en_16 ++// bit[29] me_merge_flex_en_16 ++// bit[28] me_merge_sad_en_16 ++// bit[27] me_merge_mv_en_8 ++// bit[26] me_merge_small_mv_en_8 ++// bit[25] me_merge_flex_en_8 ++// bit[24] me_merge_sad_en_8 ++// bit[23:18] me_merge_mv_diff_16 ++// bit[17:12] me_merge_mv_diff_8 ++// bit[11:0] me_merge_min_sad ++#define HCODEC_ME_MV_MERGE_CTL (0x1f55) ++#define P_HCODEC_ME_MV_MERGE_CTL (volatile unsigned int *)((0x1f55 << 2) + 0xff620000) ++// bit[31:24] mv_step_weight_1 ++// bit[23:16] mv_pre_weight_1 ++// bit [15:0] mv_step_weight_0 ++// bit[7:0] mv_pre_weight_0 ++#define HCODEC_ME_MV_WEIGHT_01 (0x1f56) ++#define P_HCODEC_ME_MV_WEIGHT_01 (volatile unsigned int *)((0x1f56 << 2) + 0xff620000) ++// bit[31:24] mv_step_weight_3 (mv_step_weight_1_2nd) ++// bit[23:16] mv_pre_weight_3 (mv_pre_weight_1_2nd) ++// bit[15:8] mv_step_weight_2 ++// bit[7:0] mv_pre_weight_2 ++#define HCODEC_ME_MV_WEIGHT_23 (0x1f57) ++#define P_HCODEC_ME_MV_WEIGHT_23 (volatile unsigned int *)((0x1f57 << 2) + 0xff620000) ++// bit[31:24] me_sad_range_inc_3 ++// bit[23:16] me_sad_range_inc_2 ++// bit[15:8] me_sad_range_inc_1 ++// bit[7:0] me_sad_range_inc_0 ++#define HCODEC_ME_SAD_RANGE_INC (0x1f58) ++#define P_HCODEC_ME_SAD_RANGE_INC (volatile unsigned int *)((0x1f58 << 2) + 0xff620000) ++// bit[31:19] reserved ++// bit[18] sub_relative_any_1_en ++// bit[17] sub_relative_any_2_en ++// bit[16] sub_relative_any_3_en ++// bit[15] sub_relative_any_4_en ++// bit[14] sub_relative_any_h_en ++// bit[13] sub_make_non_flex_fix ++// bit[12] sub_make_big_non_flex_fix ++// bit[11:8] sub_normal_mv_diff_16 ++// bit[7:4] sub_normal_mv_diff_8 ++// bit[3:2] Reserved ++// bit[1] sub_merge_enable_16 ++// bit[0] sub_merge_enable_8 ++#define HCODEC_ME_SUB_MERGE_CTL (0x1f59) ++#define P_HCODEC_ME_SUB_MERGE_CTL (volatile unsigned int *)((0x1f59 << 2) + 0xff620000) ++// bit[31:28] sub_ref_mv_diff_near ++// bit[27:24] sub_ref_mv_diff_near_flex ++// bit[23:20] sub_ref_mv_diff ++// bit[19:16] sub_ref_mv_diff_flex ++// bit[15:8] sub_ref_mv_near_weight ++// bit[7:0] sub_ref_mv_weight ++#define HCODEC_ME_SUB_REF_MV_CTL (0x1f5a) ++#define P_HCODEC_ME_SUB_REF_MV_CTL (volatile unsigned int *)((0x1f5a << 2) + 0xff620000) ++// bit[31:24] sub_weight_max_sad ++// bit[23:16] sub_any_range_sad ++// bit[15:8] sub_any_min_sad ++// bit[7:0] sub_any_max_sad ++#define HCODEC_ME_SUB_ANY_WEIGHT_SAD (0x1f5b) ++#define P_HCODEC_ME_SUB_ANY_WEIGHT_SAD (volatile unsigned int *)((0x1f5b << 2) + 0xff620000) ++// bit[31:24] sub_fix_sad ++// bit[23:16] sub_fix_diff_sad ++// bit[15:8] sub_sad_flex_adj ++// bit[7:0] sub_big_non_flex_fix_sad ++#define HCODEC_ME_SUB_FIX_SAD (0x1f5c) ++#define P_HCODEC_ME_SUB_FIX_SAD (volatile unsigned int *)((0x1f5c << 2) + 0xff620000) ++// bit[31:24] sub_fix_min_sad ++// bit[23:16] sub_fix_min_diff_sad ++// bit[15:8] sub_fix_min_sad_2 ++// bit[7:0] sub_fix_min_diff_sad_2 ++#define HCODEC_ME_SUB_FIX_MIN_SAD (0x1f5d) ++#define P_HCODEC_ME_SUB_FIX_MIN_SAD (volatile unsigned int *)((0x1f5d << 2) + 0xff620000) ++// bit[31:24] sub_snap_to_ref_max_sad ++// bit[23] sub_snap_to_ref_non_flex ++// bit[22:16] sub_snap_to_ref_mv_diff ++// bit[15:4] sub_glitch_mv_sad ++// bit[3:0] sub_glitch_mv_diff ++#define HCODEC_ME_SUB_SNAP_GLITCH (0x1f5e) ++#define P_HCODEC_ME_SUB_SNAP_GLITCH (volatile unsigned int *)((0x1f5e << 2) + 0xff620000) ++// bit[31:20] sad_act_limit ++// bit[19:8] s_a_any_sad ++// bit[7] Reserved ++// bit[6:5] sub_merge_method ++// bit[4] use_sub_act_result ++// bit[3] s_a_rnd ++// bit[2] Reserved ++// bit[1] sub_act_en_16 ++// bit[0] sub_act_en ++#define HCODEC_ME_SUB_ACT_CTL (0x1f5f) ++#define P_HCODEC_ME_SUB_ACT_CTL (volatile unsigned int *)((0x1f5f << 2) + 0xff620000) ++// bit[31:16] reserved ++// bit[15:0] me_weight ++#define HCODEC_ME_WEIGHT (0x1f60) ++#define P_HCODEC_ME_WEIGHT (volatile unsigned int *)((0x1f60 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] me_quant_0 ++// bit[21] ie_sad_ready_0 ++// bit[20:18] Reserved ++// bit[17:16] me_sad_mv_type_0 ++// bit[15:0] me_sad_0 ++#define HCODEC_ME_SAD_0 (0x1f61) ++#define P_HCODEC_ME_SAD_0 (volatile unsigned int *)((0x1f61 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] me_quant_1 ++// bit[21] me_sad_ready_1 ++// bit[20:18] Reserved ++// bit[17:16] me_sad_mv_type_1 ++// bit[15:0] me_sad_1 ++#define HCODEC_ME_SAD_1 (0x1f62) ++#define P_HCODEC_ME_SAD_1 (volatile unsigned int *)((0x1f62 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] me_quant_2 ++// bit[21] me_sad_ready_2 ++// bit[20:18] Reserved ++// bit[17:16] me_sad_mv_type_2 ++// bit[15:0] me_sad_2 ++#define HCODEC_ME_SAD_2 (0x1f63) ++#define P_HCODEC_ME_SAD_2 (volatile unsigned int *)((0x1f63 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] me_quant_3 ++// bit[21] me_sad_ready_3 ++// bit[20:18] Reserved ++// bit[17:16] me_sad_mv_type_3 ++// bit[15:0] me_sad_3 ++#define HCODEC_ME_SAD_3 (0x1f64) ++#define P_HCODEC_ME_SAD_3 (volatile unsigned int *)((0x1f64 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] ie_quant_0 ++// bit[21] ie_sad_ready_0 ++// bit[20] I4/I16 (0-I4MB, 1-I16MB) ++// bit[19:0] ie_sad_0 ++#define HCODEC_IE_SAD_0 (0x1f65) ++#define P_HCODEC_IE_SAD_0 (volatile unsigned int *)((0x1f65 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] ie_quant_1 ++// bit[21] ie_sad_ready_1 ++// bit[20] I4/I16 (0-I4MB, 1-I16MB) ++// bit[19:0] ie_sad_1 ++#define HCODEC_IE_SAD_1 (0x1f66) ++#define P_HCODEC_IE_SAD_1 (volatile unsigned int *)((0x1f66 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] ie_quant_2 ++// bit[21] ie_sad_ready_2 ++// bit[20] I4/I16 (0-I4MB, 1-I16MB) ++// bit[19:0] ie_sad_2 ++#define HCODEC_IE_SAD_2 (0x1f67) ++#define P_HCODEC_IE_SAD_2 (volatile unsigned int *)((0x1f67 << 2) + 0xff620000) ++// bit[31] ready_update ++// bit[30] data_update ++// bit[29:28] reserved ++// bit[27:22] ie_quant_3 ++// bit[21] ie_sad_ready_3 ++// bit[20] I4/I16 (0-I4MB, 1-I16MB) ++// bit[19:0] ie_sad_3 ++#define HCODEC_IE_SAD_3 (0x1f68) ++#define P_HCODEC_IE_SAD_3 (volatile unsigned int *)((0x1f68 << 2) + 0xff620000) ++// bit[31] enable_large_diff_16x8 ++// bit[30] enable_large_diff_8x16 ++// bit[29:16] adv_mv_8x8_weight ++// bit[15:14] reserved ++// bit[13:0] adv_mv_4x4x4_weight ++#define HCODEC_ADV_MV_CTL0 (0x1f69) ++#define P_HCODEC_ADV_MV_CTL0 (volatile unsigned int *)((0x1f69 << 2) + 0xff620000) ++// bit[31:16] adv_mv_16x16_weight ++// bit[15] enable_large_diff_16x16 ++// bit[14:0] adv_mv_16_8_weight ++#define HCODEC_ADV_MV_CTL1 (0x1f6a) ++#define P_HCODEC_ADV_MV_CTL1 (volatile unsigned int *)((0x1f6a << 2) + 0xff620000) ++#define HCODEC_ADV_MV_CTL2 (0x1f6b) ++#define P_HCODEC_ADV_MV_CTL2 (volatile unsigned int *)((0x1f6b << 2) + 0xff620000) ++// bit[31] v3_skip_enable ++// bit[30] v3_step_1_weight_enable // for step1, will only use pre_weight for block0, only step_weight for block 1,2,3 ++// bit[29] v3_l2_skip_only_use_l2_sad // set to 1 may allow l1 maybe not skip ++// bit[28] v3_mv_sad_weight_enable ++// bit[27] v3_ipred_type_enable ++// bit[25:12] force_skip_sad_1 ++// bit[11:0] force_skip_sad_0 ++#define HCODEC_V3_SKIP_CONTROL (0x1f6c) ++#define P_HCODEC_V3_SKIP_CONTROL (volatile unsigned int *)((0x1f6c << 2) + 0xff620000) ++// bit[18:16] top_ipred_type_count ++// bit[15:14] Reserved ++// bit[13:12] top_ipred_type_rd_idx ++// bit[11:10] top_ipred_type_wr_idx ++// bit[9] left_ipred_type_ready ++// bit[8] top_ipred_type_ready ++// bit[7:6] left_mv_idx ++// bit[5:4] top_mv_idx ++// bit[3] - left_mv_ready ++// bit[2:0] top_mv_ready ++#define HCODEC_V3_TOP_LEFT_CTL (0x1f6d) ++#define P_HCODEC_V3_TOP_LEFT_CTL (volatile unsigned int *)((0x1f6d << 2) + 0xff620000) ++#define HCODEC_V3_TOP_MV (0x1f6e) ++#define P_HCODEC_V3_TOP_MV (volatile unsigned int *)((0x1f6e << 2) + 0xff620000) ++#define HCODEC_V3_LEFT_MV (0x1f6f) ++#define P_HCODEC_V3_LEFT_MV (volatile unsigned int *)((0x1f6f << 2) + 0xff620000) ++// bit[31:30] reserved ++// bit[29:16] v3_skip_weight_1 ++// bit[15:12] reserved ++// bit[11:0] v3_skip_weight_0 ++#define HCODEC_V3_SKIP_WEIGHT (0x1f70) ++#define P_HCODEC_V3_SKIP_WEIGHT (volatile unsigned int *)((0x1f70 << 2) + 0xff620000) ++// bit[31:28] reserved ++// bit[27:16] v3_l1_f_skip_max_sad ++// bit[15:12] reserved ++// bit[11:0] v3_l1_skip_max_sad ++#define HCODEC_V3_L1_SKIP_MAX_SAD (0x1f71) ++#define P_HCODEC_V3_L1_SKIP_MAX_SAD (volatile unsigned int *)((0x1f71 << 2) + 0xff620000) ++// bit[31:16] force_skip_sad_2 ++// bit[15:0] v3_skip_weight_2 ++#define HCODEC_V3_L2_SKIP_WEIGHT (0x1f72) ++#define P_HCODEC_V3_L2_SKIP_WEIGHT (volatile unsigned int *)((0x1f72 << 2) + 0xff620000) ++// bit[21:16] v3_mv_sad_table_addr 0-15 table_step_0 ++// bit[11:0] v3_mv_sad ++#define HCODEC_V3_MV_SAD_TABLE (0x1f73) ++#define P_HCODEC_V3_MV_SAD_TABLE (volatile unsigned int *)((0x1f73 << 2) + 0xff620000) ++// [31:16] v3_ie_f_zero_sad_i16 ++// [15:0] v3_ie_f_zero_sad_i4 ++#define HCODEC_V3_F_ZERO_CTL_0 (0x1f74) ++#define P_HCODEC_V3_F_ZERO_CTL_0 (volatile unsigned int *)((0x1f74 << 2) + 0xff620000) ++// [25] v3_no_ver_when_top_zero_en ++// [24] v3_no_hor_when_left_zero_en ++// [23:16] v3_max_I16_H_num // 0 means no break ++// [15:0] v3_me_f_zero_sad ++#define HCODEC_V3_F_ZERO_CTL_1 (0x1f75) ++#define P_HCODEC_V3_F_ZERO_CTL_1 (volatile unsigned int *)((0x1f75 << 2) + 0xff620000) ++#define HCODEC_V3_TOP_INTRA_INFO (0x1f76) ++#define P_HCODEC_V3_TOP_INTRA_INFO (volatile unsigned int *)((0x1f76 << 2) + 0xff620000) ++#define HCODEC_V3_LEFT_INTRA_INFO (0x1f77) ++#define P_HCODEC_V3_LEFT_INTRA_INFO (volatile unsigned int *)((0x1f77 << 2) + 0xff620000) ++// [31:24] C_ipred_weight_H ++// [23:16] C_ipred_weight_V ++// [15:8] I4_ipred_weight_else ++// [7:0] I4_ipred_weight_most ++#define HCODEC_V3_IPRED_TYPE_WEIGHT_0 (0x1f78) ++#define P_HCODEC_V3_IPRED_TYPE_WEIGHT_0 (volatile unsigned int *)((0x1f78 << 2) + 0xff620000) ++// [31:24] I16_ipred_weight_DC ++// [23:16] I16_ipred_weight_H ++// [15:8] I16_ipred_weight_V ++// [7:0] C_ipred_weight_DC ++#define HCODEC_V3_IPRED_TYPE_WEIGHT_1 (0x1f79) ++#define P_HCODEC_V3_IPRED_TYPE_WEIGHT_1 (volatile unsigned int *)((0x1f79 << 2) + 0xff620000) ++// [31:16] v3_left_small_max_me_sad ++// [15:0] v3_left_small_max_ie_sad ++#define HCODEC_V3_LEFT_SMALL_MAX_SAD (0x1f7a) ++#define P_HCODEC_V3_LEFT_SMALL_MAX_SAD (volatile unsigned int *)((0x1f7a << 2) + 0xff620000) ++// (qr==7) & (qp==15) means force zero block ++// [31:26] v4_force_q_r_intra ++// [25:20] v4_force_q_r_inter ++// [19] v4_force_q_y_enable ++// [18:16] v4_force_qr_y ++// [15:12] v4_force_qp_y ++// [11:0] v4_force_skip_sad ++#define HCODEC_V4_FORCE_SKIP_CFG (0x1f7b) ++#define P_HCODEC_V4_FORCE_SKIP_CFG (volatile unsigned int *)((0x1f7b << 2) + 0xff620000) ++// v5 Complexity // Y(256 pixel per MB) and C(128 pixel per MB) ++// For every 4x4 block, calculate average and Add abs(pixel-average) together ++// bit[31:16] v5_diff_sum_C ++// bit[15:0] v5_diff_sum_Y ++#define HCODEC_V5_MB_DIFF_SUM (0x1f7c) ++#define P_HCODEC_V5_MB_DIFF_SUM (volatile unsigned int *)((0x1f7c << 2) + 0xff620000) ++// bit[31:24] v5_small_diff_cnt_C ++// bit[23:16] v5_small_diff_C ++// bit[15:8] v5_small_diff_cnt_Y ++// bit[7:0] v5_small_diff_Y ++#define HCODEC_V5_SMALL_DIFF_CNT (0x1f7d) ++#define P_HCODEC_V5_SMALL_DIFF_CNT (volatile unsigned int *)((0x1f7d << 2) + 0xff620000) ++// bit[31:29] Reserved ++// bit[28:24] v5_simple_block_cnt // 0 -15 Y 16-23 C ++// bit[23:20] v5_simple_pixel_cnt ++// bit[19:18] v5_simple_dq_wr_ptr ++// bit[17:16] v5_simple_dq_rd_ptr ++// bit[15:12] v5_simple_dq (Read Only) ++// bit[11:8] v5_simple_me_weight(Read Only) ++// bit[7] v5_use_small_diff_cnt ++// bit[6] v5_simple_mb_inter_all_en ++// bit[5] v5_simple_mb_inter_8x8_en ++// bit[4] v5_simple_mb_inter_16_8_en ++// bit[3] v5_simple_mb_inter_16x16_en ++// bit[2] v5_simple_mb_intra_en ++// bit[1] v5_simple_mb_C_en ++// bit[0] v5_simple_mb_Y_en ++#define HCODEC_V5_SIMPLE_MB_CTL (0x1f7e) ++#define P_HCODEC_V5_SIMPLE_MB_CTL (volatile unsigned int *)((0x1f7e << 2) + 0xff620000) ++// bit[31:28] v5_simple_dq_shift ++// bit[27:24] v5_simple_dq_6(-7 to +7) ++// bit[23:20] v5_simple_dq_5(-7 to +7) ++// bit[19:16] v5_simple_dq_4(-7 to +7) ++// bit[15:12] v5_simple_dq_3(-7 to +7) ++// bit[11:08] v5_simple_dq_2(-7 to +7) ++// bit[07:04] v5_simple_dq_1(-7 to +7) ++// bit[03:00] v5_simple_dq_0(-7 to +7) ++#define HCODEC_V5_SIMPLE_MB_DQUANT (0x1f7f) ++#define P_HCODEC_V5_SIMPLE_MB_DQUANT (volatile unsigned int *)((0x1f7f << 2) + 0xff620000) ++// bit[31:28] v5_simple_me_weight_shift ++// bit[27:24] v5_simple_me_weight_6(-7 to +7) ++// bit[23:20] v5_simple_me_weight_5(-7 to +7) ++// bit[19:16] v5_simple_me_weight_4(-7 to +7) ++// bit[15:12] v5_simple_me_weight_3(-7 to +7) ++// bit[11:08] v5_simple_me_weight_2(-7 to +7) ++// bit[07:04] v5_simple_me_weight_1(-7 to +7) ++// bit[03:00] v5_simple_me_weight_0(-7 to +7) ++#define HCODEC_V5_SIMPLE_MB_ME_WEIGHT (0x1f80) ++#define P_HCODEC_V5_SIMPLE_MB_ME_WEIGHT (volatile unsigned int *)((0x1f80 << 2) + 0xff620000) ++// ++// Closing file: qdct_regs.h ++// ++ ++#endif // DOS_REGISTER_H ++ ++#if 0 ++#define Wr(addr, data) *(volatile uint32_t *)(addr)=(data) ++#define Rd(addr) *(volatile uint32_t *)(addr) ++#define Wr_reg_bits(reg, val, start, len) \ ++ Wr(reg, ((Rd(reg) & ~(((1L<<(len))-1)<<(start))) | ((uint32_t)(val) << (start)))) ++#endif ++ ++// ++// Reading file: ./register_map.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ++// Reading file: stb_define.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ----------------------------------------------- ++// CBUS_BASE: STB_CBUS_BASE = 0x18 ++// ----------------------------------------------- ++// There are two instantiations under one CBUS slave. Each CBUS slave can support ++// 256 registers. Each demux is allocated 128 registers so set the offset in ++// the middle ++// Copy this define but don't add a base address ++#define SECOND_DEMUX_OFFSET_0 0x50 ++#define THIRD_DEMUX_OFFSET_0 0xa0 ++//======================================================================== ++// STB TOP Registers (8'hf0 - 8'hf7) ++//======================================================================== ++// bit 30:28 -- ciplus_o_sel ++// bit 27:26 -- ciplus_i_sel ++// bit 25 -- use FAIL fro TS2 ++// bit 24 -- use FAIL fro TS1 ++// bit 23 -- use FAIL fro TS0 ++// bit 22 -- invert fec_error for S2P1 ++// bit 21 -- invert fec_data for S2P1 ++// bit 20 -- invert fec_sync for S2P1 ++// bit 19 -- invert fec_valid for S2P1 ++// bit 18 -- invert fec_clk for S2P1 ++// bit 17:16 -- fec_s_sel for S2P1 00 - select TS0, 01 -- select TS1, 10 -- select TS2, 11 - reserved ++// Bit 15 -- enable_des_pl_clk ++// Bit 14:13 -- reserved ++// Bit 12:10 -- ts_out_select, 0-TS0, 1-TS1, 2-TS2, 3,4-Reserved, 5-S2P1, 6-S2P0, 7-File ++// bit 9:8 -- des_i_sel 00 -- select_fec_0, 01 -- select_fec_1, 10 -- select_fec_2, 11 - reserved ++// bit 7 -- enable_des_pl ++// bit 6 -- invert fec_error for S2P0 ++// bit 5 -- invert fec_data for S2P0 ++// bit 4 -- invert fec_sync for S2P0 ++// bit 3 -- invert fec_valid for S2P0 ++// bit 2 -- invert fec_clk for S2P0 ++// bit 1:0 -- fec_s_sel for S2P0 00 - select TS0, 01 -- select TS1, 10 -- select TS2, 11 - reserved ++#define STB_TOP_CONFIG (0x18f0) ++#define P_STB_TOP_CONFIG (volatile unsigned int *)((0x18f0 << 2) + 0xffd00000) ++// 31:28 - s2p1_clk_div ++// 27:24 - s2p0_clk_div ++// 23 - s2p1_disable ++// 22 - s2p0_disable ++// 21 - Reserved ++// 20 -- TS_OUT_error_INVERT ++// 19 -- TS_OUT_data_INVERT ++// 18 -- TS_OUT_sync_INVERT ++// 17 -- TS_OUT_valid_INVERT ++// 16 -- TS_OUT_clk_INVERT ++// 15:8 -- TS_package_length_sub_1 (default : 187) ++// 7:0 -- fec_sync_byte (default : 0x47) ++#define TS_TOP_CONFIG (0x18f1) ++#define P_TS_TOP_CONFIG (volatile unsigned int *)((0x18f1 << 2) + 0xffd00000) ++// Bit 25:24 -- transport_scrambling_control_odd_2 // should be 3 ++// Bit 23:16 -- file_m2ts_skip_bytes ++// Bit 15:8 -- des_out_dly ++// Bit 7:6 -- transport_scrambling_control_odd // should be 3 ++// Bit 5 -- ts_hiu_enable ++// Bit 4:0 -- fec_clk_div ++#define TS_FILE_CONFIG (0x18f2) ++#define P_TS_FILE_CONFIG (volatile unsigned int *)((0x18f2 << 2) + 0xffd00000) ++// Bit 19:14 -- des_2 ts pl state -- Read Only ++// Bit 13:8 -- des ts pl state -- Read Only ++// Bit 3:0 PID index to 8 PID to get key-set ++// auto increse after TS_PL_PID_DATA read/write ++#define TS_PL_PID_INDEX (0x18f3) ++#define P_TS_PL_PID_INDEX (volatile unsigned int *)((0x18f3 << 2) + 0xffd00000) ++// Bit 13 -- PID match disble ++// Bit 12:0 -- PID ++#define TS_PL_PID_DATA (0x18f4) ++#define P_TS_PL_PID_DATA (volatile unsigned int *)((0x18f4 << 2) + 0xffd00000) ++#define COMM_DESC_KEY0 (0x18f5) ++#define P_COMM_DESC_KEY0 (volatile unsigned int *)((0x18f5 << 2) + 0xffd00000) ++#define COMM_DESC_KEY1 (0x18f6) ++#define P_COMM_DESC_KEY1 (volatile unsigned int *)((0x18f6 << 2) + 0xffd00000) ++#define COMM_DESC_KEY_RW (0x18f7) ++#define P_COMM_DESC_KEY_RW (volatile unsigned int *)((0x18f7 << 2) + 0xffd00000) ++// CI+ Register defines ++// Bits[31:0] of the key ++#define CIPLUS_KEY0 (0x18f8) ++#define P_CIPLUS_KEY0 (volatile unsigned int *)((0x18f8 << 2) + 0xffd00000) ++// Bits[63:32] of the key ++#define CIPLUS_KEY1 (0x18f9) ++#define P_CIPLUS_KEY1 (volatile unsigned int *)((0x18f9 << 2) + 0xffd00000) ++// Bits[95:64] of the key ++#define CIPLUS_KEY2 (0x18fa) ++#define P_CIPLUS_KEY2 (volatile unsigned int *)((0x18fa << 2) + 0xffd00000) ++// Bits[127:96] of the key ++#define CIPLUS_KEY3 (0x18fb) ++#define P_CIPLUS_KEY3 (volatile unsigned int *)((0x18fb << 2) + 0xffd00000) ++// bit[5] write AES IV B value ++// bit[4] write AES IV A value ++// bit[3] write AES B key ++// bit[2] write AES A key ++// bit[1] write DES B key ++// bit[0] write DES A key ++#define CIPLUS_KEY_WR (0x18fc) ++#define P_CIPLUS_KEY_WR (volatile unsigned int *)((0x18fc << 2) + 0xffd00000) ++// [15:8] TS out delay. This controls the rate at which the CIplus module drives TS out ++// [3] General enable for the ciplus module ++// [2] AES CBC disable (default should be 0 to enable AES CBC) ++// [1] AES Enable ++// [0] DES Eanble ++#define CIPLUS_CONFIG (0x18fd) ++#define P_CIPLUS_CONFIG (volatile unsigned int *)((0x18fd << 2) + 0xffd00000) ++// bit[31:28] AES IV endian ++// bit[27:24] AES message out endian ++// bit[23:20] AES message in endian ++// bit[19:16] AES key endian ++// bit[15:11] unused ++// bit[10:8] DES message out endian ++// bit[6:4] DES message in endian ++// bit[2:0] DES key endian ++#define CIPLUS_ENDIAN (0x18fe) ++#define P_CIPLUS_ENDIAN (volatile unsigned int *)((0x18fe << 2) + 0xffd00000) ++// bit 15:8 - des_out_dly_2 ++// bit 7 - reserved ++// Bit 6-- enable_des_pl_clk_2 ++// bit 5 - enable_des_pl_2 ++// bit 4:2 -- use_des_2 bit[2] -- demux0, bit[3] -- demux1, bit[4] -- demux2 ++// bit 1:0 -- des_i_sel_2 00 -- select_fec_0, 01 -- select_fec_1, 10 -- select_fec_2, 11 - reserved ++#define COMM_DESC_2_CTL (0x18ff) ++#define P_COMM_DESC_2_CTL (volatile unsigned int *)((0x18ff << 2) + 0xffd00000) ++// ++// NOTE: Don't process the demux registers using the standard create_headers.... perl script. ++// Instead, since the demux has multiple instances (and many registers) use a separate ++// script to create a separate stb_define.h for C-code. ++//======================================================================== ++// STB Registers (8'h00 - 8'h4f) ++// ++//======================================================================== ++// STB registers are 8'h0x ++// Bit 15:0 -- version number : 0x0002 (v0.01) ++// Bit 15 -- fec_core_select 1 - select descramble output ++// Bit 14:12 - fec_select 0-TS0, 1-TS1, 2-TS2, 3,4-Reserved, 5-S2P1, 6-S2P0, 7-File ++// Bit 11 -- FEC_CLK ++// Bit 10 -- SOP ++// Bit 9 -- D_VALID ++// Bit 8 -- D_FAIL ++// Bit 7:0 -- D_DATA 7:0 ++// bit 31 -- enable_free_clk_fec_data_valid ++// bit 30 -- enable_free_clk_stb_reg ++// bit 29 -- always_use_pes_package_length ++// bit 28 -- disable_pre_incomplete_section_fix ++// bit 27 -- pointer_field_multi_pre_en ++// bit 26 -- ignore_pre_incomplete_section ++// bit 25 -- video2_enable ++// bit 24:22 -- video2_type ++// bit 21 -- do_not_trust_pes_package_length ++// bit 20 (bit 4) -- Bypass use recoder path ++// bit 19 (bit 3) -- clear_PID_continuity_counter_valid ++// bit 18 (bit 2) -- Disable Splicing ++// bit 17 (bit 1) -- Insert PES_STRONG_SYNC in Audio PES ++// bit 16 (bit 0) -- Insert PES_STRONG_SYNC in Video PES ++// Bit 15 - do not trust section length ++// Bit 14 - om cmd push even zero ++// Bit 13 - set_buff_ready_even_not_busy ++// Bit 12 - SUB, OTHER PES interrupt at beginning of PES ++// Bit 11 - discard_av_package -- for ts_recorder use only ++// Bit 10 - ts_recorder_select 0:after PID filter 1:before PID filter ++// Bit 9 - ts_recorder_enable ++// Bit 8 - (table_id == 0xff) means section_end ++// Bit 7 - do not send uncomplete section ++// Bit 6 - do not discard duplicate package ++// Bit 5 - search SOP when trasport_error_indicator ++// Bit 4 - stb demux enable ++// Bit 3 - do not reset state machine on SOP ++// Bit 2 - search SOP when error happened ( when ignore_fail_n_sop, will have this case) ++// Bit 1 - do not use SOP input ( check FEC sync byte instead ) ++// Bit 0 - ignore fec_error bit when non sop ( check error on SOP only) ++// bit 15:8 demux package length - 1 ( default : 187 ) ++// bit 7:0 default is 0x47 ++// bit 31:16 -- filter memory write data hi[31:16] ++// bit 15:0 -- filter memory write data low [15:0] ++// bit 31:24 -- advanced setting hi ++// bit 23:16 -- advanced setting low ++// bit 15 -- filter memory write data request ++// bit 7:0 -- filter memory write addr ++// bit 13:8 demux state -- read only ++// bit 7:4 -- maxnum section filter compare address ++// bit 3:0 -- maxnum PID filter compare address ++// bit 15 - transport_error_indicator ++// bit 14 - payload_unit_start_indicator ++// bit 13 - transport_priority ++// bit 12:0 - PID ++// bit 7:6 transport_scrambling_control ++// bit 5:4 adaptation_field_control ++// bit 3:0 continuity_counter ++// bit 15:12 -- om_cmd_count (read only) ++// bit 11:9 -- overflow_count // bit 11:9 -- om_cmd_wr_ptr (read only) ++// bit 8:6 -- om_overwrite_count // bit 8:6 -- om_cmd_rd_ptr (read only) ++// bit 5:3 -- type_stb_om_w_rd (read only) ++// bit 2 -- unit_start_stb_om_w_rd (read only) ++// bit 1 -- om_cmd_overflow (read only) ++// bit 0 -- om_cmd_pending (read) ++// bit 0 -- om_cmd_read_finished (write) ++// bit 15:9 // bit 14:8 -- count_stb_om_w_rd (read only) ++// bit 8:0 // bit 7:0 -- start_stb_om_wa_rd (read only) ++// bit 11:0 -- offset for section data ++// bit 31:16 -- base address for section buffer group 0 (*0x400 to get real address) ++// bit 15:0 -- base address for section buffer group 1 (*0x400 to get real address) ++// bit 31:16 -- ba2e address for section buffer group 2 (*0x400 to get real address) ++// bit 15:0 -- base address for section buffer group 3 (*0x400 to get real address) ++// bit 3:0 -- section buffer size for group 0 (bit used, for example, 10 means 1K) ++// bit 7:4 -- section buffer size for group 1 ++// bit 11:8 -- section buffer size for group 2 ++// bit 15:12 -- section buffer size for group 3 ++// section buffer busy status for buff 31:0 ( Read Only ) ++// section buffer write status for buff 31:0 -- Read ++// clear buffer status ( buff READY and BUSY ) -- write ++// bit 4:0 -- SEC_BUFFER_INDEX RW ++// bit 12:8 -- SEC_BUFFER_NUMBER for the INDEX buffer Read_Only ++// bit 14 -- output_section_buffer_valid ++// bit 15 -- section_reset_busy (Read Only) ++// bit 9:5 -- BYPASS PID number ++// bit 4:0 -- PCR PID number ++// bit 15:0 -- stream_id filter bit enable ++// bit 7:0 -- stream_id filter target ++// bit 12 -- PCR_EN ++// bit 11:0 -- PCR90K_DIV ++// bit 31:0 -- PCR[31:0] R/W ++// bit 31:0 -- VPTS[31:0] R/W ++// bit 31:0 -- VDTS[31:0] R/W ++// bit 31:0 -- APTS[31:0] R/W ++// bit 31:0 -- SPTS[31:0] R/W ++// read -- status, write 1 clear status ++// bit 15 -- SUB_PTS[32] ++// bit 14 -- AUDIO_PTS[32] ++// bit 13 -- VIDEO_DTS[32] ++// bit 12 -- VIDEO_PTS[32] ++// bit 3 -- sub_pts_ready ++// bit 2 -- audio_pts_ready ++// bit 1 -- video_dts_ready ++// bit 0 -- video_pts_ready ++// bit 3:0 -- ++// 0 -- adaptation_field_length[7:0], adaption_field_byte_1[7:0] ++// 1 -- stream_id[7:0], pes_header_bytes_left[7:0] ++// 2 -- pes_package_bytes_left[15:0] ++// 3 -- pes_ctr_byte[7:0], pes_flag_byte[7:0] ++// ++// read only ++// bit[31] -- no_match_record_en ++// bit[30:16] - reserved ++// default : 0x807f ++// bit 15:9 -- MAX OM DMA COUNT (default: 0x40) ++// bit 8:0 -- LAST ADDR OF OM ADDR (default: 127) ++// 15:0 WRITE 1 CLEAR to clear interrupt source ++//12 -- INPUT_TIME_OUT ++//11 -- PCR_ready ++//10 -- audio_splicing_point ++// 9 -- video_splicing_point ++// 8 -- other_PES_int ++// 7 -- sub_PES_int ++// 6 -- discontinuity ++// 5 -- duplicated_pack_found ++// 4 -- New PDTS ready ++// 3 -- om_cmd_buffer ready for access ++// 2 -- section buffer ready ++// 1 -- transport_error_indicator ++// 0 -- TS ERROR PIN ++// Bit 5:3 - demux om write endian control for bypass ++// Bit 2:0 - demux om write endian control for section ++// When Bit 31 - 1 write will indicate all type use sepertate endian (Write Only) ++// Bit 23:21 - demux om write endian control for OTHER_PES_PACKET ++// Bit 20:18 - demux om write endian control for SCR_ONLY_PACKET ++// Bit 17:15 - demux om write endian control for SUB_PACKET ++// Bit 14:12 - demux om write endian control for AUDIO_PACKET ++// Bit 11:9 - demux om write endian control for VIDEO_PACKET ++// ++// When Bit 31 - 0 write will indicate all type else use Bit 8:6 ++// Bit 8:6 - demux om write endian control for else ++// Bit 15:8 -- last_burst_threshold ++// Bit 7 -- use hi_bsf interface ++// Bit 6:2 - fec_clk_div ++// Bit 1 ts_source_sel ++// Bit 0 - Hiu TS generate enable ++// bit 15:0 -- base address for section buffer start (*0x10000 to get real base) ++// bit 11 -- mask bit for OTHER_PES_AHB_DMA_EN ++// bit 10 -- mask bit for SUB_AHB_DMA_EN ++// bit 9 -- mask bit for BYPASS_AHB_DMA_EN ++// bit 8 -- mask bit for SECTION_AHB_DMA_EN ++// bit 7 -- mask bit for recoder stream ++// bit 6:0 -- mask bit for each type ++// bit 31:0 -- vb_wr_ptr for video PDTS ++// bit 31:0 -- ab_wr_ptr for audio PDTS ++// bit 20:0 -- SB_WRITE_PTR (sb_wr_ptr << 3 == byte write position) ++// bit 19:0 -- SB_START (sb_start << 12 == byte address); ++// bit 20:0 -- SB_SIZE (sb_size << 3 == byte size, 16M maximun) ++// bit 31:0 -- sb_wr_ptr for sub PES ++// bit 31:16 -- ob_wr_ptr for other PES ++// bit 20:0 -- OB_WRITE_PTR (ob_wr_ptr << 3 == byte write position) ++// bit 19:0 -- OB_START (ob_start << 12 == byte address); ++// bit 20:0 -- OB_SIZE (ob_size << 3 == byte size, 16M maximun) ++// bit 31:0 -- ob_wr_ptr for sub PES ++// 15:0 DEMUX interrupt MASK ++// 9 -- splicing_point ++// 8 -- other_PES_int ++// 7 -- sub_PES_int ++// 6 -- discontinuity ++// 5 -- duplicated_pack_found ++// 4 -- New PDTS ready ++// 3 -- om_cmd_buffer ready for access ++// 2 -- section buffer ready ++// 1 -- transport_error_indicator ++// 0 -- TS ERROR PIN ++// 31:16 VIDEO PID filter data ++//15 -- splicing VIDEO PID change enable ++//14:10 -- VIDEO PID FILTER ADDRESS ++// 9 -- PES splicing active (Read Only) ++// 8 -- splicing active (Read Only) ++// 7:0 splicing countdown (Read Only) ++// 31:16 AUDIO PID filter data ++//15 -- splicing AUDIO PID change enable ++//14:10 -- AUDIO PID FILTER ADDRESS ++// 9 -- PES splicing active (Read Only) ++// 8 -- splicing active (Read Only) ++// 7:0 splicing countdown (Read Only) ++// 23:16 M2TS_SKIP_BYTES ++// 15:8 LAST TS PACKAGE BYTE COUNT (Read Only) ++// 7:0 PACKAGE BYTE COUNT (Read Only) ++// 15:0 2 bytes strong sync add to PES ++// bit 15 -- stb_om_ren ++// bit 14:11 -- reserved ++// bit 10:0 -- OM_DATA_RD_ADDR ++// bit 15:0 -- OM_DATA_RD ++// AUTO STOP SETTING for 32 channels ++// 4-nbits per channel ++// when write ++// bit 3 -- set section active ++// bit 2:0 -- auto stop after count (0 means never stop) ++// when read ++// bit 3 -- current active status (1 - active, 0 - stopped ) ++// bit 2:0 -- count down to auto stop ++// section 31:24 ++// section 23:16 ++// section 15:8 ++// section 7:0 ++// bit 31:0 reset channel status - each bit reset each channel ++// read -- 32 channel status ++// bit 4 -- video_stamp_use_dts ++// bit 3 -- audio_stamp_sync_1_en ++// bit 2 -- audio_stamp_insert_en ++// bit 1 -- video_stamp_sync_1_en ++// bit 0 -- video_stamp_insert_en ++// Write : Bit[4:0] secter filter number for reset ++// Read : select according to output_section_buffer_valid : ++// per bit per section buffer valid status ++// or section_buffer_ignore ++// bit[31:0] - channel_reset_timeout_disable ++// bit[31] - no_match_reset_timeout_disable ++// bit[30:0] input_time_out_int_cnt (0 -- means disable) Wr-setting, Rd-count ++// bit[31:0] - channel_packet_count_disable ++// bit[31] - no_match_packet_count_disable ++// bit[30:0] input_packet_count ++// bit[31:0] channel_record_enable ++// bit[31:0] channel_process_enable ++// bit[31:24] small_sec_size ((n+1) * 256 Bytes) ++// bit[23:16] small_sec_rd_ptr ++// bit[15:8] small_sec_wr_ptr ++// bit[7:2] reserved ++// bit[1] small_sec_wr_ptr_wr_enable ++// bit[0] small_section_enable ++// bit[31:0] small_sec_start_addr ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: stb_define.h ++// ++// ++// Reading file: periphs_reg.h ++// ++// $periphs/rtl/periphs_core register defines for the ++// APB bus ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: SC_CBUS_BASE = 0x94 ++// ----------------------------------------------- ++#define SMARTCARD_REG0 (0x9400) ++#define P_SMARTCARD_REG0 (volatile unsigned int *)((0x9400 << 2) + 0xffd00000) ++#define SMARTCARD_REG1 (0x9401) ++#define P_SMARTCARD_REG1 (volatile unsigned int *)((0x9401 << 2) + 0xffd00000) ++#define SMARTCARD_REG2 (0x9402) ++#define P_SMARTCARD_REG2 (volatile unsigned int *)((0x9402 << 2) + 0xffd00000) ++#define SMARTCARD_STATUS (0x9403) ++#define P_SMARTCARD_STATUS (volatile unsigned int *)((0x9403 << 2) + 0xffd00000) ++#define SMARTCARD_INTR (0x9404) ++#define P_SMARTCARD_INTR (volatile unsigned int *)((0x9404 << 2) + 0xffd00000) ++#define SMARTCARD_REG5 (0x9405) ++#define P_SMARTCARD_REG5 (volatile unsigned int *)((0x9405 << 2) + 0xffd00000) ++#define SMARTCARD_REG6 (0x9406) ++#define P_SMARTCARD_REG6 (volatile unsigned int *)((0x9406 << 2) + 0xffd00000) ++#define SMARTCARD_FIFO (0x9407) ++#define P_SMARTCARD_FIFO (volatile unsigned int *)((0x9407 << 2) + 0xffd00000) ++#define SMARTCARD_REG8 (0x9408) ++#define P_SMARTCARD_REG8 (volatile unsigned int *)((0x9408 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: UART0_CBUS_BASE = 0x90 ++// ----------------------------------------------- ++#define UART0_WFIFO (0x9000) ++#define P_UART0_WFIFO (volatile unsigned int *)((0x9000 << 2) + 0xffd00000) ++#define UART0_RFIFO (0x9001) ++#define P_UART0_RFIFO (volatile unsigned int *)((0x9001 << 2) + 0xffd00000) ++#define UART0_CONTROL (0x9002) ++#define P_UART0_CONTROL (volatile unsigned int *)((0x9002 << 2) + 0xffd00000) ++#define UART0_STATUS (0x9003) ++#define P_UART0_STATUS (volatile unsigned int *)((0x9003 << 2) + 0xffd00000) ++#define UART0_MISC (0x9004) ++#define P_UART0_MISC (volatile unsigned int *)((0x9004 << 2) + 0xffd00000) ++#define UART0_REG5 (0x9005) ++#define P_UART0_REG5 (volatile unsigned int *)((0x9005 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: UART1_CBUS_BASE = 0x8c ++// ----------------------------------------------- ++#define UART1_WFIFO (0x8c00) ++#define P_UART1_WFIFO (volatile unsigned int *)((0x8c00 << 2) + 0xffd00000) ++#define UART1_RFIFO (0x8c01) ++#define P_UART1_RFIFO (volatile unsigned int *)((0x8c01 << 2) + 0xffd00000) ++#define UART1_CONTROL (0x8c02) ++#define P_UART1_CONTROL (volatile unsigned int *)((0x8c02 << 2) + 0xffd00000) ++#define UART1_STATUS (0x8c03) ++#define P_UART1_STATUS (volatile unsigned int *)((0x8c03 << 2) + 0xffd00000) ++#define UART1_MISC (0x8c04) ++#define P_UART1_MISC (volatile unsigned int *)((0x8c04 << 2) + 0xffd00000) ++#define UART1_REG5 (0x8c05) ++#define P_UART1_REG5 (volatile unsigned int *)((0x8c05 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: UART2_CBUS_BASE = 0x88 ++// ----------------------------------------------- ++#define UART2_WFIFO (0x8800) ++#define P_UART2_WFIFO (volatile unsigned int *)((0x8800 << 2) + 0xffd00000) ++#define UART2_RFIFO (0x8801) ++#define P_UART2_RFIFO (volatile unsigned int *)((0x8801 << 2) + 0xffd00000) ++#define UART2_CONTROL (0x8802) ++#define P_UART2_CONTROL (volatile unsigned int *)((0x8802 << 2) + 0xffd00000) ++#define UART2_STATUS (0x8803) ++#define P_UART2_STATUS (volatile unsigned int *)((0x8803 << 2) + 0xffd00000) ++#define UART2_MISC (0x8804) ++#define P_UART2_MISC (volatile unsigned int *)((0x8804 << 2) + 0xffd00000) ++#define UART2_REG5 (0x8805) ++#define P_UART2_REG5 (volatile unsigned int *)((0x8805 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: UART3_CBUS_BASE = 0x84 ++// ----------------------------------------------- ++#define UART3_DF_REG_A73 (0x8400) ++#define P_UART3_DF_REG_A73 (volatile unsigned int *)((0x8400 << 2) + 0xffd00000) ++#define UART3_DF_REG_A74 (0x8401) ++#define P_UART3_DF_REG_A74 (volatile unsigned int *)((0x8401 << 2) + 0xffd00000) ++#define UART3_DF_REG_A75 (0x8402) ++#define P_UART3_DF_REG_A75 (volatile unsigned int *)((0x8402 << 2) + 0xffd00000) ++#define UART3_DF_REG_A76 (0x8403) ++#define P_UART3_DF_REG_A76 (volatile unsigned int *)((0x8403 << 2) + 0xffd00000) ++#define UART3_DF_REG_A77 (0x8404) ++#define P_UART3_DF_REG_A77 (volatile unsigned int *)((0x8404 << 2) + 0xffd00000) ++#define UART3_DF_REG_A78 (0x8405) ++#define P_UART3_DF_REG_A78 (volatile unsigned int *)((0x8405 << 2) + 0xffd00000) ++#define UART3_DF_REG_A79 (0x8406) ++#define P_UART3_DF_REG_A79 (volatile unsigned int *)((0x8406 << 2) + 0xffd00000) ++#define UART3_DF_REG_A80 (0x8407) ++#define P_UART3_DF_REG_A80 (volatile unsigned int *)((0x8407 << 2) + 0xffd00000) ++#define UART3_DF_REG_A81 (0x8408) ++#define P_UART3_DF_REG_A81 (volatile unsigned int *)((0x8408 << 2) + 0xffd00000) ++#define UART3_DF_REG_A82 (0x8409) ++#define P_UART3_DF_REG_A82 (volatile unsigned int *)((0x8409 << 2) + 0xffd00000) ++#define UART3_DF_REG_A83 (0x8410) ++#define P_UART3_DF_REG_A83 (volatile unsigned int *)((0x8410 << 2) + 0xffd00000) ++#define UART3_DF_REG_A84 (0x8411) ++#define P_UART3_DF_REG_A84 (volatile unsigned int *)((0x8411 << 2) + 0xffd00000) ++#define UART3_DF_REG_A85 (0x8412) ++#define P_UART3_DF_REG_A85 (volatile unsigned int *)((0x8412 << 2) + 0xffd00000) ++#define UART3_DF_REG_A86 (0x8413) ++#define P_UART3_DF_REG_A86 (volatile unsigned int *)((0x8413 << 2) + 0xffd00000) ++#define UART3_DF_REG_A87 (0x8414) ++#define P_UART3_DF_REG_A87 (volatile unsigned int *)((0x8414 << 2) + 0xffd00000) ++#define UART3_DF_REG_A88 (0x8415) ++#define P_UART3_DF_REG_A88 (volatile unsigned int *)((0x8415 << 2) + 0xffd00000) ++#define UART3_DF_REG_A89 (0x8416) ++#define P_UART3_DF_REG_A89 (volatile unsigned int *)((0x8416 << 2) + 0xffd00000) ++#define UART3_DF_REG_A96 (0x8417) ++#define P_UART3_DF_REG_A96 (volatile unsigned int *)((0x8417 << 2) + 0xffd00000) ++#define UART3_DF_REG_A97 (0x8418) ++#define P_UART3_DF_REG_A97 (volatile unsigned int *)((0x8418 << 2) + 0xffd00000) ++#define UART3_DF_REG_A128 (0x8420) ++#define P_UART3_DF_REG_A128 (volatile unsigned int *)((0x8420 << 2) + 0xffd00000) ++#define UART3_DF_REG_A129 (0x8421) ++#define P_UART3_DF_REG_A129 (volatile unsigned int *)((0x8421 << 2) + 0xffd00000) ++#define UART3_DF_REG_A130 (0x8422) ++#define P_UART3_DF_REG_A130 (volatile unsigned int *)((0x8422 << 2) + 0xffd00000) ++#define UART3_DF_REG_A131 (0x8423) ++#define P_UART3_DF_REG_A131 (volatile unsigned int *)((0x8423 << 2) + 0xffd00000) ++#define UART3_DF_REG_A132 (0x8424) ++#define P_UART3_DF_REG_A132 (volatile unsigned int *)((0x8424 << 2) + 0xffd00000) ++#define UART3_DF_REG_A133 (0x8425) ++#define P_UART3_DF_REG_A133 (volatile unsigned int *)((0x8425 << 2) + 0xffd00000) ++#define UART3_DF_REG_A134 (0x8426) ++#define P_UART3_DF_REG_A134 (volatile unsigned int *)((0x8426 << 2) + 0xffd00000) ++#define UART3_DF_REG_A135 (0x8427) ++#define P_UART3_DF_REG_A135 (volatile unsigned int *)((0x8427 << 2) + 0xffd00000) ++#define UART3_DF_REG_A136 (0x8428) ++#define P_UART3_DF_REG_A136 (volatile unsigned int *)((0x8428 << 2) + 0xffd00000) ++// ---------------------------- ++// SANA (Stream Analyzer) ++// ---------------------------- ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: SANA_CBUS_BASE = 0x30 ++// ----------------------------------------------- ++// [31:16] - ddr_setting ++// [15] - disable_stream_clock_gating ++// [14:13] - mem_pd_ctl_sana ++// [6:4] - stream_fetch_endian ++// [3] - use_parser_vbuf_wp ++// [2] - use_parser_vbuf2_wp ++// [1] - stream_fetch_busy - Read Only ++// [0] - stream_fetch_enable ++#define SANA_STREAM_CONTROL (0x3020) ++#define P_SANA_STREAM_CONTROL (volatile unsigned int *)((0x3020 << 2) + 0xffd00000) ++#define SANA_STREAM_START_ADDR (0x3021) ++#define P_SANA_STREAM_START_ADDR (volatile unsigned int *)((0x3021 << 2) + 0xffd00000) ++#define SANA_STREAM_END_ADDR (0x3022) ++#define P_SANA_STREAM_END_ADDR (volatile unsigned int *)((0x3022 << 2) + 0xffd00000) ++// SW stream_buffer_wr_ptr ++#define SANA_STREAM_WR_PTR (0x3023) ++#define P_SANA_STREAM_WR_PTR (volatile unsigned int *)((0x3023 << 2) + 0xffd00000) ++#define SANA_STREAM_RD_PTR (0x3024) ++#define P_SANA_STREAM_RD_PTR (volatile unsigned int *)((0x3024 << 2) + 0xffd00000) ++//[31:0] stream_buffer_level - read only ++#define SANA_STREAM_LEVEL (0x3025) ++#define P_SANA_STREAM_LEVEL (volatile unsigned int *)((0x3025 << 2) + 0xffd00000) ++// [31:29] stream_buffer_hole 256*(4^0) bytes ++// [28:23] stream_fifo_hole ++// [22:16] stream_fifo_level ++// [15] stream_fifo_wr_ptr_update_en ++// [14:8] stream_fifo_wr_ptr ++// [7] stream_fifo_rd_ptr_update_en ++// [6:0] stream_fifo_rd_ptr ++#define SANA_STREAM_FIFO_CTL (0x3026) ++#define P_SANA_STREAM_FIFO_CTL (volatile unsigned int *)((0x3026 << 2) + 0xffd00000) ++// [31:18] - Reserved ++// [17] - sana_int_enable ++// [16] - sana_int_level (default : 0(pulse)) ++// [15] - disable_shift_clock_gating ++// [14] - startcode_protect -- TODO ++// [8:6] - sft_valid_wr_position (default : 3 (at least 24 bits available)) ++// [5:4] - emulate_code_length_sub_1(Default : 2) ++// [3] - emulation_auto_on_startcode(Default : 0) ++// [2:1] - start_code_length_sub_1(Default : 2) ++// [0] - stream_shift_enable(Default : 0) ++#define SANA_SHIFT_CONTROL (0x3027) ++#define P_SANA_SHIFT_CONTROL (volatile unsigned int *)((0x3027 << 2) + 0xffd00000) ++// [31:0] - max 4-bytes start code (Default : 0x00000100) ++#define SANA_SHIFT_STARTCODE (0x3028) ++#define P_SANA_SHIFT_STARTCODE (volatile unsigned int *)((0x3028 << 2) + 0xffd00000) ++// [31:0] - max 4-bytes emulate code (Default : 0x00000300) ++#define SANA_SHIFT_EMULATECODE (0x3029) ++#define P_SANA_SHIFT_EMULATECODE (volatile unsigned int *)((0x3029 << 2) + 0xffd00000) ++// [3] - sana_int ++// [2] - startcode_searching ++// [1] - emulation_check_on ++// [0] - startcode_check_on ++#define SANA_SHIFT_STATUS (0x302a) ++#define P_SANA_SHIFT_STATUS (volatile unsigned int *)((0x302a << 2) + 0xffd00000) ++// [31:0] sana_shifted_data - read only ++#define SANA_SHIFTED_DATA (0x302b) ++#define P_SANA_SHIFTED_DATA (volatile unsigned int *)((0x302b << 2) + 0xffd00000) ++// [31:0] shift_byte_count[31:0] ++#define SANA_SHIFT_BYTE_COUNT (0x302c) ++#define P_SANA_SHIFT_BYTE_COUNT (volatile unsigned int *)((0x302c << 2) + 0xffd00000) ++// [31:28] - shift_byte_count[35:32] ++// [27:20] - element_read_data[31:24] ++// [10] - bytealign ++// [9] - signed_element ++// [8] - start_element_read ++// [7] - shift_busy ++// [6:0] - shift_bits ++#define SANA_SHIFT_COMMAND (0x302d) ++#define P_SANA_SHIFT_COMMAND (volatile unsigned int *)((0x302d << 2) + 0xffd00000) ++// 31:8 - element_read_data[23:0] ++// 7:2 - element_read_length ++// 1:0 - element_read_state ++#define SANA_ELEMENT_RESULT (0x302e) ++#define P_SANA_ELEMENT_RESULT (volatile unsigned int *)((0x302e << 2) + 0xffd00000) ++// support up to 8 masters, one bit per master ++// 23:16 - lock_release (Write 1 to release) ++// 15:8 - lock_req (write 1 to request) ++// 7:0 - lock_result (Read Only) ++#define ATOM_LOCK (0x302f) ++#define P_ATOM_LOCK (volatile unsigned int *)((0x302f << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: I2C_M_0_CBUS_BASE = 0x7c ++// ----------------------------------------------- ++#define I2C_M_0_CONTROL_REG (0x7c00) ++#define P_I2C_M_0_CONTROL_REG (volatile unsigned int *)((0x7c00 << 2) + 0xffd00000) ++ #define I2C_M_MANUAL_SDA_I 26 ++ #define I2C_M_MANUAL_SCL_I 25 ++ #define I2C_M_MANUAL_SDA_O 24 ++ #define I2C_M_MANUAL_SCL_O 23 ++ #define I2C_M_MANUAL_EN 22 ++ #define I2C_M_DELAY_MSB 21 ++ #define I2C_M_DELAY_LSB 12 ++ #define I2C_M_DATA_CNT_MSB 11 ++ #define I2C_M_DATA_CNT_LSB 8 ++ #define I2C_M_CURR_TOKEN_MSB 7 ++ #define I2C_M_CURR_TOKEN_LSB 4 ++ #define I2C_M_ERROR 3 ++ #define I2C_M_STATUS 2 ++ #define I2C_M_ACK_IGNORE 1 ++ #define I2C_M_START 0 ++#define I2C_M_0_SLAVE_ADDR (0x7c01) ++#define P_I2C_M_0_SLAVE_ADDR (volatile unsigned int *)((0x7c01 << 2) + 0xffd00000) ++#define I2C_M_0_TOKEN_LIST0 (0x7c02) ++#define P_I2C_M_0_TOKEN_LIST0 (volatile unsigned int *)((0x7c02 << 2) + 0xffd00000) ++#define I2C_M_0_TOKEN_LIST1 (0x7c03) ++#define P_I2C_M_0_TOKEN_LIST1 (volatile unsigned int *)((0x7c03 << 2) + 0xffd00000) ++#define I2C_M_0_WDATA_REG0 (0x7c04) ++#define P_I2C_M_0_WDATA_REG0 (volatile unsigned int *)((0x7c04 << 2) + 0xffd00000) ++#define I2C_M_0_WDATA_REG1 (0x7c05) ++#define P_I2C_M_0_WDATA_REG1 (volatile unsigned int *)((0x7c05 << 2) + 0xffd00000) ++#define I2C_M_0_RDATA_REG0 (0x7c06) ++#define P_I2C_M_0_RDATA_REG0 (volatile unsigned int *)((0x7c06 << 2) + 0xffd00000) ++#define I2C_M_0_RDATA_REG1 (0x7c07) ++#define P_I2C_M_0_RDATA_REG1 (volatile unsigned int *)((0x7c07 << 2) + 0xffd00000) ++// ----------------------------------------------- ++// CBUS_BASE: I2C_M_1_CBUS_BASE = 0x78 ++// ----------------------------------------------- ++#define I2C_M_1_CONTROL_REG (0x7800) ++#define P_I2C_M_1_CONTROL_REG (volatile unsigned int *)((0x7800 << 2) + 0xffd00000) ++#define I2C_M_1_SLAVE_ADDR (0x7801) ++#define P_I2C_M_1_SLAVE_ADDR (volatile unsigned int *)((0x7801 << 2) + 0xffd00000) ++#define I2C_M_1_TOKEN_LIST0 (0x7802) ++#define P_I2C_M_1_TOKEN_LIST0 (volatile unsigned int *)((0x7802 << 2) + 0xffd00000) ++#define I2C_M_1_TOKEN_LIST1 (0x7803) ++#define P_I2C_M_1_TOKEN_LIST1 (volatile unsigned int *)((0x7803 << 2) + 0xffd00000) ++#define I2C_M_1_WDATA_REG0 (0x7804) ++#define P_I2C_M_1_WDATA_REG0 (volatile unsigned int *)((0x7804 << 2) + 0xffd00000) ++#define I2C_M_1_WDATA_REG1 (0x7805) ++#define P_I2C_M_1_WDATA_REG1 (volatile unsigned int *)((0x7805 << 2) + 0xffd00000) ++#define I2C_M_1_RDATA_REG0 (0x7806) ++#define P_I2C_M_1_RDATA_REG0 (volatile unsigned int *)((0x7806 << 2) + 0xffd00000) ++#define I2C_M_1_RDATA_REG1 (0x7807) ++#define P_I2C_M_1_RDATA_REG1 (volatile unsigned int *)((0x7807 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: I2C_M_2_CBUS_BASE = 0x74 ++// ----------------------------------------------- ++#define I2C_M_2_CONTROL_REG (0x7400) ++#define P_I2C_M_2_CONTROL_REG (volatile unsigned int *)((0x7400 << 2) + 0xffd00000) ++#define I2C_M_2_SLAVE_ADDR (0x7401) ++#define P_I2C_M_2_SLAVE_ADDR (volatile unsigned int *)((0x7401 << 2) + 0xffd00000) ++#define I2C_M_2_TOKEN_LIST0 (0x7402) ++#define P_I2C_M_2_TOKEN_LIST0 (volatile unsigned int *)((0x7402 << 2) + 0xffd00000) ++#define I2C_M_2_TOKEN_LIST1 (0x7403) ++#define P_I2C_M_2_TOKEN_LIST1 (volatile unsigned int *)((0x7403 << 2) + 0xffd00000) ++#define I2C_M_2_WDATA_REG0 (0x7404) ++#define P_I2C_M_2_WDATA_REG0 (volatile unsigned int *)((0x7404 << 2) + 0xffd00000) ++#define I2C_M_2_WDATA_REG1 (0x7405) ++#define P_I2C_M_2_WDATA_REG1 (volatile unsigned int *)((0x7405 << 2) + 0xffd00000) ++#define I2C_M_2_RDATA_REG0 (0x7406) ++#define P_I2C_M_2_RDATA_REG0 (volatile unsigned int *)((0x7406 << 2) + 0xffd00000) ++#define I2C_M_2_RDATA_REG1 (0x7407) ++#define P_I2C_M_2_RDATA_REG1 (volatile unsigned int *)((0x7407 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: I2C_M_3_CBUS_BASE = 0x70 ++// ----------------------------------------------- ++#define I2C_M_3_CONTROL_REG (0x7000) ++#define P_I2C_M_3_CONTROL_REG (volatile unsigned int *)((0x7000 << 2) + 0xffd00000) ++#define I2C_M_3_SLAVE_ADDR (0x7001) ++#define P_I2C_M_3_SLAVE_ADDR (volatile unsigned int *)((0x7001 << 2) + 0xffd00000) ++#define I2C_M_3_TOKEN_LIST0 (0x7002) ++#define P_I2C_M_3_TOKEN_LIST0 (volatile unsigned int *)((0x7002 << 2) + 0xffd00000) ++#define I2C_M_3_TOKEN_LIST1 (0x7003) ++#define P_I2C_M_3_TOKEN_LIST1 (volatile unsigned int *)((0x7003 << 2) + 0xffd00000) ++#define I2C_M_3_WDATA_REG0 (0x7004) ++#define P_I2C_M_3_WDATA_REG0 (volatile unsigned int *)((0x7004 << 2) + 0xffd00000) ++#define I2C_M_3_WDATA_REG1 (0x7005) ++#define P_I2C_M_3_WDATA_REG1 (volatile unsigned int *)((0x7005 << 2) + 0xffd00000) ++#define I2C_M_3_RDATA_REG0 (0x7006) ++#define P_I2C_M_3_RDATA_REG0 (volatile unsigned int *)((0x7006 << 2) + 0xffd00000) ++#define I2C_M_3_RDATA_REG1 (0x7007) ++#define P_I2C_M_3_RDATA_REG1 (volatile unsigned int *)((0x7007 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: PWM_AB_CBUS_BASE = 0x6c ++// ----------------------------------------------- ++#define PWM_PWM_A (0x6c00) ++#define P_PWM_PWM_A (volatile unsigned int *)((0x6c00 << 2) + 0xffd00000) ++#define PWM_PWM_B (0x6c01) ++#define P_PWM_PWM_B (volatile unsigned int *)((0x6c01 << 2) + 0xffd00000) ++#define PWM_MISC_REG_AB (0x6c02) ++#define P_PWM_MISC_REG_AB (volatile unsigned int *)((0x6c02 << 2) + 0xffd00000) ++#define PWM_DELTA_SIGMA_AB (0x6c03) ++#define P_PWM_DELTA_SIGMA_AB (volatile unsigned int *)((0x6c03 << 2) + 0xffd00000) ++#define PWM_TIME_AB (0x6c04) ++#define P_PWM_TIME_AB (volatile unsigned int *)((0x6c04 << 2) + 0xffd00000) ++#define PWM_A2 (0x6c05) ++#define P_PWM_A2 (volatile unsigned int *)((0x6c05 << 2) + 0xffd00000) ++#define PWM_B2 (0x6c06) ++#define P_PWM_B2 (volatile unsigned int *)((0x6c06 << 2) + 0xffd00000) ++#define PWM_BLINK_AB (0x6c07) ++#define P_PWM_BLINK_AB (volatile unsigned int *)((0x6c07 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: PWM_CD_CBUS_BASE = 0x68 ++// ----------------------------------------------- ++#define PWM_PWM_C (0x6800) ++#define P_PWM_PWM_C (volatile unsigned int *)((0x6800 << 2) + 0xffd00000) ++#define PWM_PWM_D (0x6801) ++#define P_PWM_PWM_D (volatile unsigned int *)((0x6801 << 2) + 0xffd00000) ++#define PWM_MISC_REG_CD (0x6802) ++#define P_PWM_MISC_REG_CD (volatile unsigned int *)((0x6802 << 2) + 0xffd00000) ++#define PWM_DELTA_SIGMA_CD (0x6803) ++#define P_PWM_DELTA_SIGMA_CD (volatile unsigned int *)((0x6803 << 2) + 0xffd00000) ++#define PWM_TIME_CD (0x6804) ++#define P_PWM_TIME_CD (volatile unsigned int *)((0x6804 << 2) + 0xffd00000) ++#define PWM_C2 (0x6805) ++#define P_PWM_C2 (volatile unsigned int *)((0x6805 << 2) + 0xffd00000) ++#define PWM_D2 (0x6806) ++#define P_PWM_D2 (volatile unsigned int *)((0x6806 << 2) + 0xffd00000) ++#define PWM_BLINK_CD (0x6807) ++#define P_PWM_BLINK_CD (volatile unsigned int *)((0x6807 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: PWM_EF_CBUS_BASE = 0x64 ++// ----------------------------------------------- ++#define PWM_PWM_E (0x6400) ++#define P_PWM_PWM_E (volatile unsigned int *)((0x6400 << 2) + 0xffd00000) ++#define PWM_PWM_F (0x6401) ++#define P_PWM_PWM_F (volatile unsigned int *)((0x6401 << 2) + 0xffd00000) ++#define PWM_MISC_REG_EF (0x6402) ++#define P_PWM_MISC_REG_EF (volatile unsigned int *)((0x6402 << 2) + 0xffd00000) ++#define PWM_DELTA_SIGMA_EF (0x6403) ++#define P_PWM_DELTA_SIGMA_EF (volatile unsigned int *)((0x6403 << 2) + 0xffd00000) ++#define PWM_TIME_EF (0x6404) ++#define P_PWM_TIME_EF (volatile unsigned int *)((0x6404 << 2) + 0xffd00000) ++#define PWM_E2 (0x6405) ++#define P_PWM_E2 (volatile unsigned int *)((0x6405 << 2) + 0xffd00000) ++#define PWM_F2 (0x6406) ++#define P_PWM_F2 (volatile unsigned int *)((0x6406 << 2) + 0xffd00000) ++#define PWM_BLINK_EF (0x6407) ++#define P_PWM_BLINK_EF (volatile unsigned int *)((0x6407 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: MSR_CLK_CBUS_BASE = 0x60 ++// ----------------------------------------------- ++#define MSR_CLK_DUTY (0x6000) ++#define P_MSR_CLK_DUTY (volatile unsigned int *)((0x6000 << 2) + 0xffd00000) ++#define MSR_CLK_REG0 (0x6001) ++#define P_MSR_CLK_REG0 (volatile unsigned int *)((0x6001 << 2) + 0xffd00000) ++#define MSR_CLK_REG1 (0x6002) ++#define P_MSR_CLK_REG1 (volatile unsigned int *)((0x6002 << 2) + 0xffd00000) ++#define MSR_CLK_REG2 (0x6003) ++#define P_MSR_CLK_REG2 (volatile unsigned int *)((0x6003 << 2) + 0xffd00000) ++#define MSR_CLK_REG3 (0x6004) ++#define P_MSR_CLK_REG3 (volatile unsigned int *)((0x6004 << 2) + 0xffd00000) ++#define MSR_CLK_REG4 (0x6005) ++#define P_MSR_CLK_REG4 (volatile unsigned int *)((0x6005 << 2) + 0xffd00000) ++#define MSR_CLK_REG5 (0x6006) ++#define P_MSR_CLK_REG5 (volatile unsigned int *)((0x6006 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: STEAM_CBUS_BASE = 0x2c ++// ----------------------------------------------- ++// bit 31:24 -- event_length ++// bit 23:22 -- bus_1st_sel_1 //00-gpio, 01-reserved, 10-addr, 11-data ++// bit 21:20 -- bus_2nd_sel_1 ++// bit 19:18 -- bus_1st_sel_0 ++// bit 17:16 -- bus_2nd_sel_0 ++// bit 15:0 -- set output value (output 1 will read according to external input) ++#define STREAM_EVENT_INFO (0x2c00) ++#define P_STREAM_EVENT_INFO (volatile unsigned int *)((0x2c00 << 2) + 0xffd00000) ++// bit 31 -- force_parity_1 ++// bit 30 -- LSB_first ++// bit 31:20 -- reserved ++// bit 19:16 -- toggle point index ++// bit 15:8 -- output togle point1 ++// bit 7:0 -- output togle point0 (0xff means input) ++#define STREAM_OUTPUT_CONFIG (0x2c01) ++#define P_STREAM_OUTPUT_CONFIG (volatile unsigned int *)((0x2c01 << 2) + 0xffd00000) ++// bit 31:24 -- clock_divide_ext ++// bit 23:20 -- s_bus_start ( sclk, sdataout, sdatain) // 0 means no s_bus used ++// bit 19 -- no_sclk_on_pin // will use internal write clock and read clock (like RS232) ++// bit 18 -- invert_sclk_in ++// bit 17 -- sdata_send_busy // indicate one data is sending -- read only ++// bit 16 -- one_sdata_received // set when one sdata is received, can write 0 to clear ++// bit 15 -- sdata_parity // (write -- 0-even, 1-odd) (read -- received parity check) ++// bit 14 -- sdata_send_type // 0 -- 8 bits 1 -- 32 bits ( for fujitsu only ) ++// bit 13 -- sdata_receive_type // 0 -- 8 bits only 1 -- 8/32 bits ++// bit 12 -- invert_request_out ++// bit 11:8 -- request_out_sel // 0 means disable output ++// bit 7:0 -- stop_request_count ++#define C_D_BUS_CONTROL (0x2c02) ++#define P_C_D_BUS_CONTROL (volatile unsigned int *)((0x2c02 << 2) + 0xffd00000) ++// bit 31:0 -- serial data (write: output one data, read: input data) ++#define C_DATA (0x2c03) ++#define P_C_DATA (volatile unsigned int *)((0x2c03 << 2) + 0xffd00000) ++// bit 31:28 bus_width_1 ++// bit 27:24 bus_start_pin_1 ++// bit 23:16 bus_sel_chang_point_1 ++// bit 15:12 bus_width_0 ++// bit 11:08 bus_start_pin_0 ++// bit 07:00 bus_sel_chang_point_0 ++#define STREAM_BUS_CONFIG (0x2c04) ++#define P_STREAM_BUS_CONFIG (volatile unsigned int *)((0x2c04 << 2) + 0xffd00000) ++// bit 31:24 clock_divide ++// bit 23:20 clock_output_sel -- 0 means disable clock output ++// bit 19 -- inc_event_addr ++// bit 18 -- async_fifo_endian ++// bit 17 -- send_to_async_fifo ++// bit 16 -- data_in_serial_lsb ++// bit 15 -- invert_no_wait_condition_0 ++// bit 14 -- invert_no_wait_condition_1 ++// bit 13 -- invert_no_wait_condition_2 ++// bit 12 -- invert_data_bus ++// bit 11 -- invert_clock_in ++// bit 10 -- event_wait_clk_en ++// bit 9 -- data_in_serial ++// bit 8 -- invert_data_in_clk ++// bit 7:4 -- data_in_begin ++// bit 3:0 -- data_in_clk_sel ++#define STREAM_DATA_IN_CONFIG (0x2c05) ++#define P_STREAM_DATA_IN_CONFIG (volatile unsigned int *)((0x2c05 << 2) + 0xffd00000) ++// wait condition and irq should not be connected to 0, 0 means disable) ++// bit 31:28 -- no_wait_condition_0 (0 means disable this condition) ++// bit 27:24 -- no_wait_condition_1 (0 means disable this condition) ++// bit 23:20 -- no_wait_condition_2 (0 means disable this condition) ++// bit 19:16 -- irq_input_sel (0 means disable this interrupt) ++// bit 15:13 -- interrupt_status (read) clear status (write) (ext 0, ext 1, transfer end) ++// bit 12 -- enable_sdata_irq ++// bit 11 -- invert_irq_0 ++// bit 10 -- invert_irq_1 ++// bit 9 -- enable_transfer_end_irq ++// bit 8 -- enable_second_ext_irq ++// bit 7:0 -- no_wait_condition_check_point (0xff means no check) ++#define STREAM_WAIT_IRQ_CONFIG (0x2c06) ++#define P_STREAM_WAIT_IRQ_CONFIG (volatile unsigned int *)((0x2c06 << 2) + 0xffd00000) ++// bit 31:24 -- event address ++// bit 23:16 -- event data ++// bit 15:1 -- event repeat times (0 means one time event) ++// bit 0 -- Start Event (write) event_busy (read) ++#define STREAM_EVENT_CTL (0x2c07) ++#define P_STREAM_EVENT_CTL (volatile unsigned int *)((0x2c07 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: SYNC_FIFO_CBUS_BASE = 0x28 ++// ----------------------------------------------- ++#define ASYNC_FIFO_REG0 (0x2800) ++#define P_ASYNC_FIFO_REG0 (volatile unsigned int *)((0x2800 << 2) + 0xffd00000) ++#define ASYNC_FIFO_REG1 (0x2801) ++#define P_ASYNC_FIFO_REG1 (volatile unsigned int *)((0x2801 << 2) + 0xffd00000) ++ #define ASYNC_FIFO_FLUSH_STATUS 31 ++ #define ASYNC_FIFO_ERR 30 ++ #define ASYNC_FIFO_FIFO_EMPTY 29 ++ #define ASYNC_FIFO_TO_HIU 24 ++ #define ASYNC_FIFO_FLUSH 23 ++ #define ASYNC_FIFO_RESET 22 ++ #define ASYNC_FIFO_WRAP_EN 21 ++ #define ASYNC_FIFO_FLUSH_EN 20 ++ #define ASYNC_FIFO_RESIDUAL_MSB 19 ++ #define ASYNC_FIFO_RESIDUAL_LSB 15 ++ #define ASYNC_FIFO_FLUSH_CNT_MSB 14 ++ #define ASYNC_FIFO_FLUSH_CNT_LSB 0 ++#define ASYNC_FIFO_REG2 (0x2802) ++#define P_ASYNC_FIFO_REG2 (volatile unsigned int *)((0x2802 << 2) + 0xffd00000) ++ #define ASYNC_FIFO_FIFO_FULL 26 ++ #define ASYNC_FIFO_FILL_STATUS 25 ++ #define ASYNC_FIFO_SOURCE_MSB 24 ++ #define ASYNC_FIFO_SOURCE_LSB 23 ++ #define ASYNC_FIFO_ENDIAN_MSB 22 ++ #define ASYNC_FIFO_ENDIAN_LSB 21 ++ #define ASYNC_FIFO_FILL_EN 20 ++ #define ASYNC_FIFO_FILL_CNT_MSB 19 ++ #define ASYNC_FIFO_FILL_CNT_LSB 0 ++#define ASYNC_FIFO_REG3 (0x2803) ++#define P_ASYNC_FIFO_REG3 (volatile unsigned int *)((0x2803 << 2) + 0xffd00000) ++ #define ASYNC_FLUSH_SIZE_IRQ_MSB 15 ++ #define ASYNC_FLUSH_SIZE_IRQ_LSB 0 ++#define ASYNC_FIFO_REG4 (0x2804) ++#define P_ASYNC_FIFO_REG4 (volatile unsigned int *)((0x2804 << 2) + 0xffd00000) ++#define ASYNC_FIFO_REG5 (0x2805) ++#define P_ASYNC_FIFO_REG5 (volatile unsigned int *)((0x2805 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: SYNC_FIFO2_CBUS_BASE = 0x24 ++// ----------------------------------------------- ++#define ASYNC_FIFO2_REG0 (0x2400) ++#define P_ASYNC_FIFO2_REG0 (volatile unsigned int *)((0x2400 << 2) + 0xffd00000) ++#define ASYNC_FIFO2_REG1 (0x2401) ++#define P_ASYNC_FIFO2_REG1 (volatile unsigned int *)((0x2401 << 2) + 0xffd00000) ++#define ASYNC_FIFO2_REG2 (0x2402) ++#define P_ASYNC_FIFO2_REG2 (volatile unsigned int *)((0x2402 << 2) + 0xffd00000) ++#define ASYNC_FIFO2_REG3 (0x2403) ++#define P_ASYNC_FIFO2_REG3 (volatile unsigned int *)((0x2403 << 2) + 0xffd00000) ++#define ASYNC_FIFO2_REG4 (0x2404) ++#define P_ASYNC_FIFO2_REG4 (volatile unsigned int *)((0x2404 << 2) + 0xffd00000) ++#define ASYNC_FIFO2_REG5 (0x2405) ++#define P_ASYNC_FIFO2_REG5 (volatile unsigned int *)((0x2405 << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++// ----------------------------------------------- ++// CBUS_BASE: SPIFC_CBUS_BASE = 0x50 ++// ----------------------------------------------- ++#define SPI_FLASH_CMD (0x5000) ++#define P_SPI_FLASH_CMD (volatile unsigned int *)((0x5000 << 2) + 0xffd00000) ++ #define SPI_FLASH_READ 31 ++ #define SPI_FLASH_WREN 30 ++ #define SPI_FLASH_WRDI 29 ++ #define SPI_FLASH_RDID 28 ++ #define SPI_FLASH_RDSR 27 ++ #define SPI_FLASH_WRSR 26 ++ #define SPI_FLASH_PP 25 ++ #define SPI_FLASH_SE 24 ++ #define SPI_FLASH_BE 23 ++ #define SPI_FLASH_CE 22 ++ #define SPI_FLASH_DP 21 ++ #define SPI_FLASH_RES 20 ++ #define SPI_HPM 19 ++ #define SPI_FLASH_USR 18 ++ #define SPI_FLASH_USR_ADDR 15 ++ #define SPI_FLASH_USR_DUMMY 14 ++ #define SPI_FLASH_USR_DIN 13 ++ #define SPI_FLASH_USR_DOUT 12 ++ #define SPI_FLASH_USR_DUMMY_BLEN 10 ++ #define SPI_FLASH_USR_CMD 0 ++#define SPI_FLASH_ADDR (0x5001) ++#define P_SPI_FLASH_ADDR (volatile unsigned int *)((0x5001 << 2) + 0xffd00000) ++ #define SPI_FLASH_BYTES_LEN 24 ++ #define SPI_FLASH_ADDR_START 0 ++#define SPI_FLASH_CTRL (0x5002) ++#define P_SPI_FLASH_CTRL (volatile unsigned int *)((0x5002 << 2) + 0xffd00000) ++ #define SPI_ENABLE_AHB 17 ++ #define SPI_SST_AAI 16 ++ #define SPI_RES_RID 15 ++ #define SPI_FREAD_DUAL 14 ++ #define SPI_READ_READ_EN 13 ++ #define SPI_CLK_DIV0 12 ++ #define SPI_CLKCNT_N 8 ++ #define SPI_CLKCNT_H 4 ++ #define SPI_CLKCNT_L 0 ++#define SPI_FLASH_CTRL1 (0x5003) ++#define P_SPI_FLASH_CTRL1 (volatile unsigned int *)((0x5003 << 2) + 0xffd00000) ++#define SPI_FLASH_STATUS (0x5004) ++#define P_SPI_FLASH_STATUS (volatile unsigned int *)((0x5004 << 2) + 0xffd00000) ++#define SPI_FLASH_CTRL2 (0x5005) ++#define P_SPI_FLASH_CTRL2 (volatile unsigned int *)((0x5005 << 2) + 0xffd00000) ++#define SPI_FLASH_CLOCK (0x5006) ++#define P_SPI_FLASH_CLOCK (volatile unsigned int *)((0x5006 << 2) + 0xffd00000) ++#define SPI_FLASH_USER (0x5007) ++#define P_SPI_FLASH_USER (volatile unsigned int *)((0x5007 << 2) + 0xffd00000) ++#define SPI_FLASH_USER1 (0x5008) ++#define P_SPI_FLASH_USER1 (volatile unsigned int *)((0x5008 << 2) + 0xffd00000) ++#define SPI_FLASH_USER2 (0x5009) ++#define P_SPI_FLASH_USER2 (volatile unsigned int *)((0x5009 << 2) + 0xffd00000) ++#define SPI_FLASH_USER3 (0x500a) ++#define P_SPI_FLASH_USER3 (volatile unsigned int *)((0x500a << 2) + 0xffd00000) ++#define SPI_FLASH_USER4 (0x500b) ++#define P_SPI_FLASH_USER4 (volatile unsigned int *)((0x500b << 2) + 0xffd00000) ++#define SPI_FLASH_SLAVE (0x500c) ++#define P_SPI_FLASH_SLAVE (volatile unsigned int *)((0x500c << 2) + 0xffd00000) ++#define SPI_FLASH_SLAVE1 (0x500d) ++#define P_SPI_FLASH_SLAVE1 (volatile unsigned int *)((0x500d << 2) + 0xffd00000) ++#define SPI_FLASH_SLAVE2 (0x500e) ++#define P_SPI_FLASH_SLAVE2 (volatile unsigned int *)((0x500e << 2) + 0xffd00000) ++#define SPI_FLASH_SLAVE3 (0x500f) ++#define P_SPI_FLASH_SLAVE3 (volatile unsigned int *)((0x500f << 2) + 0xffd00000) ++#define SPI_FLASH_C0 (0x5010) ++#define P_SPI_FLASH_C0 (volatile unsigned int *)((0x5010 << 2) + 0xffd00000) ++#define SPI_FLASH_C1 (0x5011) ++#define P_SPI_FLASH_C1 (volatile unsigned int *)((0x5011 << 2) + 0xffd00000) ++#define SPI_FLASH_C2 (0x5012) ++#define P_SPI_FLASH_C2 (volatile unsigned int *)((0x5012 << 2) + 0xffd00000) ++#define SPI_FLASH_C3 (0x5013) ++#define P_SPI_FLASH_C3 (volatile unsigned int *)((0x5013 << 2) + 0xffd00000) ++#define SPI_FLASH_C4 (0x5014) ++#define P_SPI_FLASH_C4 (volatile unsigned int *)((0x5014 << 2) + 0xffd00000) ++#define SPI_FLASH_C5 (0x5015) ++#define P_SPI_FLASH_C5 (volatile unsigned int *)((0x5015 << 2) + 0xffd00000) ++#define SPI_FLASH_C6 (0x5016) ++#define P_SPI_FLASH_C6 (volatile unsigned int *)((0x5016 << 2) + 0xffd00000) ++#define SPI_FLASH_C7 (0x5017) ++#define P_SPI_FLASH_C7 (volatile unsigned int *)((0x5017 << 2) + 0xffd00000) ++#define SPI_FLASH_B8 (0x5018) ++#define P_SPI_FLASH_B8 (volatile unsigned int *)((0x5018 << 2) + 0xffd00000) ++#define SPI_FLASH_B9 (0x5019) ++#define P_SPI_FLASH_B9 (volatile unsigned int *)((0x5019 << 2) + 0xffd00000) ++#define SPI_FLASH_B10 (0x501a) ++#define P_SPI_FLASH_B10 (volatile unsigned int *)((0x501a << 2) + 0xffd00000) ++#define SPI_FLASH_B11 (0x501b) ++#define P_SPI_FLASH_B11 (volatile unsigned int *)((0x501b << 2) + 0xffd00000) ++#define SPI_FLASH_B12 (0x501c) ++#define P_SPI_FLASH_B12 (volatile unsigned int *)((0x501c << 2) + 0xffd00000) ++#define SPI_FLASH_B13 (0x501d) ++#define P_SPI_FLASH_B13 (volatile unsigned int *)((0x501d << 2) + 0xffd00000) ++#define SPI_FLASH_B14 (0x501e) ++#define P_SPI_FLASH_B14 (volatile unsigned int *)((0x501e << 2) + 0xffd00000) ++#define SPI_FLASH_B15 (0x501f) ++#define P_SPI_FLASH_B15 (volatile unsigned int *)((0x501f << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++//spicc 0 ++// ----------------------------------------------- ++// CBUS_BASE: SPICC0_CBUS_BASE = 0x4c ++// ----------------------------------------------- ++#define SPICC0_RXDATA (0x4c00) ++#define P_SPICC0_RXDATA (volatile unsigned int *)((0x4c00 << 2) + 0xffd00000) ++#define SPICC0_TXDATA (0x4c01) ++#define P_SPICC0_TXDATA (volatile unsigned int *)((0x4c01 << 2) + 0xffd00000) ++#define SPICC0_CONREG (0x4c02) ++#define P_SPICC0_CONREG (volatile unsigned int *)((0x4c02 << 2) + 0xffd00000) ++#define SPICC0_INTREG (0x4c03) ++#define P_SPICC0_INTREG (volatile unsigned int *)((0x4c03 << 2) + 0xffd00000) ++#define SPICC0_DMAREG (0x4c04) ++#define P_SPICC0_DMAREG (volatile unsigned int *)((0x4c04 << 2) + 0xffd00000) ++#define SPICC0_STATREG (0x4c05) ++#define P_SPICC0_STATREG (volatile unsigned int *)((0x4c05 << 2) + 0xffd00000) ++#define SPICC0_PERIODREG (0x4c06) ++#define P_SPICC0_PERIODREG (volatile unsigned int *)((0x4c06 << 2) + 0xffd00000) ++#define SPICC0_TESTREG (0x4c07) ++#define P_SPICC0_TESTREG (volatile unsigned int *)((0x4c07 << 2) + 0xffd00000) ++#define SPICC0_DRADDR (0x4c08) ++#define P_SPICC0_DRADDR (volatile unsigned int *)((0x4c08 << 2) + 0xffd00000) ++#define SPICC0_DWADDR (0x4c09) ++#define P_SPICC0_DWADDR (volatile unsigned int *)((0x4c09 << 2) + 0xffd00000) ++#define SPICC0_LD_CNTL0 (0x4c0a) ++#define P_SPICC0_LD_CNTL0 (volatile unsigned int *)((0x4c0a << 2) + 0xffd00000) ++#define SPICC0_LD_CNTL1 (0x4c0b) ++#define P_SPICC0_LD_CNTL1 (volatile unsigned int *)((0x4c0b << 2) + 0xffd00000) ++#define SPICC0_LD_RADDR (0x4c0c) ++#define P_SPICC0_LD_RADDR (volatile unsigned int *)((0x4c0c << 2) + 0xffd00000) ++#define SPICC0_LD_WADDR (0x4c0d) ++#define P_SPICC0_LD_WADDR (volatile unsigned int *)((0x4c0d << 2) + 0xffd00000) ++#define SPICC0_ENHANCE_CNTL (0x4c0e) ++#define P_SPICC0_ENHANCE_CNTL (volatile unsigned int *)((0x4c0e << 2) + 0xffd00000) ++// ------------------------------------------------------------------------------------ ++//spicc 1 ++// ----------------------------------------------- ++// CBUS_BASE: SPICC1_CBUS_BASE = 0x54 ++// ----------------------------------------------- ++#define SPICC1_RXDATA (0x5400) ++#define P_SPICC1_RXDATA (volatile unsigned int *)((0x5400 << 2) + 0xffd00000) ++#define SPICC1_TXDATA (0x5401) ++#define P_SPICC1_TXDATA (volatile unsigned int *)((0x5401 << 2) + 0xffd00000) ++#define SPICC1_CONREG (0x5402) ++#define P_SPICC1_CONREG (volatile unsigned int *)((0x5402 << 2) + 0xffd00000) ++#define SPICC1_INTREG (0x5403) ++#define P_SPICC1_INTREG (volatile unsigned int *)((0x5403 << 2) + 0xffd00000) ++#define SPICC1_DMAREG (0x5404) ++#define P_SPICC1_DMAREG (volatile unsigned int *)((0x5404 << 2) + 0xffd00000) ++#define SPICC1_STATREG (0x5405) ++#define P_SPICC1_STATREG (volatile unsigned int *)((0x5405 << 2) + 0xffd00000) ++#define SPICC1_PERIODREG (0x5406) ++#define P_SPICC1_PERIODREG (volatile unsigned int *)((0x5406 << 2) + 0xffd00000) ++#define SPICC1_TESTREG (0x5407) ++#define P_SPICC1_TESTREG (volatile unsigned int *)((0x5407 << 2) + 0xffd00000) ++#define SPICC1_DRADDR (0x5408) ++#define P_SPICC1_DRADDR (volatile unsigned int *)((0x5408 << 2) + 0xffd00000) ++#define SPICC1_DWADDR (0x5409) ++#define P_SPICC1_DWADDR (volatile unsigned int *)((0x5409 << 2) + 0xffd00000) ++#define SPICC1_LD_CNTL0 (0x540a) ++#define P_SPICC1_LD_CNTL0 (volatile unsigned int *)((0x540a << 2) + 0xffd00000) ++#define SPICC1_LD_CNTL1 (0x540b) ++#define P_SPICC1_LD_CNTL1 (volatile unsigned int *)((0x540b << 2) + 0xffd00000) ++#define SPICC1_LD_RADDR (0x540c) ++#define P_SPICC1_LD_RADDR (volatile unsigned int *)((0x540c << 2) + 0xffd00000) ++#define SPICC1_LD_WADDR (0x540d) ++#define P_SPICC1_LD_WADDR (volatile unsigned int *)((0x540d << 2) + 0xffd00000) ++#define SPICC1_ENHANCE_CNTL (0x540e) ++#define P_SPICC1_ENHANCE_CNTL (volatile unsigned int *)((0x540e << 2) + 0xffd00000) ++// ++//// ------------------------------------------------------------------- ++//// PSEL Group #1: 0x400 ~ 0x7FF ++//// ------------------------------------------------------------------- ++//`define PERIPHS1_CBUS_BASE 8'h28 ++// ++// ++// ++//// ---------------------------- ++//// IR Remote (8) ++//// ---------------------------- ++//`define IR_DEC_LDR_ACTIVE 8'h20 ++//`define IR_DEC_LDR_IDLE 8'h21 ++//`define IR_DEC_LDR_REPEAT 8'h22 ++//`define IR_DEC_BIT_0 8'h23 ++//`define IR_DEC_REG0 8'h24 ++//`define IR_DEC_FRAME 8'h25 ++//`define IR_DEC_STATUS 8'h26 ++//`define IR_DEC_REG1 8'h27 ++// ++//// ---------------------------- ++//// Demod Sampling ++//// ---------------------------- ++//`define DEMOD_ADC_SAMPLING 8'h2d ++//// ---------------------------- ++//// WIFI ++//// ---------------------------- ++//// `define WIFI_ADC_SAMPLING 8'h2e ++//// `define WIFI_ADC_READBACK 8'h2f ++// ++// ++//// --------------------------- ++//// EFUSE (4) ++//// ---------------------------- ++//// Moved to the Secure APB3 bus ++//// `define EFUSE_CNTL0 8'h58 ++//// `define EFUSE_CNTL1 8'h59 ++//// `define EFUSE_CNTL2 8'h5a ++//// `define EFUSE_CNTL3 8'h5b ++//// `define EFUSE_CNTL4 8'h5c ++// ++//// --------------------------------------------- ++//// Separate APB slave that shares the CBUS/APB ++//// register space of the static registers ++//// --------------------------------------------- ++// ++//`define ATAPI_IDEREG0 8'h60 ++// `define IDE_UDMA_PIO_STATE 15 ++// `define IDE_BUSY 14 ++// `define IDE_ERROR_BIT 13 ++// `define IDE_DMARQ_BIT 12 ++// `define IDE_IORDY_BIT 11 ++// `define IDE_IORDY_EN_BIT 10 ++// `define IDE_DIS_CSEL_BIT 9 ++// `define IDE_CSEL_BIT 8 ++// `define IDE_IRQ14 2 ++// `define IDE_ATAPI_GPIO_EN 3 ++// `define IDE_DMARQ_FULL 1 ++// `define IDE_ENABLE 0 ++//`define ATAPI_IDEREG1 8'h61 ++//`define ATAPI_IDEREG2 8'h62 ++// `define IDE_XFER_CNT_MSB_BIT 18 ++// `define IDE_XFER_CNT_LSB_BIT 0 ++//`define ATAPI_CYCTIME 8'h63 ++//`define ATAPI_IDETIME 8'h64 ++//`define ATAPI_PIO_TIMING 8'h65 ++//`define ATAPI_TABLE_ADD_REG 8'h66 ++//`define ATAPI_IDEREG3 8'h67 ++//`define ATAPI_UDMA_REG0 8'h68 ++//`define ATAPI_UDMA_REG1 8'h69 ++// ++//// Room for registers here ++// ++//`define TRANS_PWMA_REG0 8'h70 ++//`define TRANS_PWMA_REG1 8'h71 ++//`define TRANS_PWMA_MUX0 8'h72 ++//`define TRANS_PWMA_MUX1 8'h73 ++//`define TRANS_PWMA_MUX2 8'h74 ++//`define TRANS_PWMA_MUX3 8'h75 ++//`define TRANS_PWMA_MUX4 8'h76 ++//`define TRANS_PWMA_MUX5 8'h77 ++// ++//`define TRANS_PWMB_REG0 8'h78 ++//`define TRANS_PWMB_REG1 8'h79 ++//`define TRANS_PWMB_MUX0 8'h7a ++//`define TRANS_PWMB_MUX1 8'h7b ++//`define TRANS_PWMB_MUX2 8'h7c ++//`define TRANS_PWMB_MUX3 8'h7d ++//`define TRANS_PWMB_MUX4 8'h7e ++//`define TRANS_PWMB_MUX5 8'h7f ++// ++// ++// ++//// ---------------------------- ++//// NAND (21) ++//// ---------------------------- ++//`define NAND_START 8'h80 ++//`define NAND_ADR_CMD 8'h8a ++//`define NAND_ADR_STS 8'h8b ++//`define NAND_END 8'h8f ++// ++//// ---------------------------- ++//// ISP_FLASH_LED_CTRL ++//// ---------------------------- ++////bit 31, reg_led_en //rising pulse start, falling pulse stop for torch mode ++////bit 30, reg_inc_i_st_lat //for as3685, dynamic increase current during st_latch ++////bit 29:28, reg_inv_en_pol //bit[29], invert en1, bit [28], invert en2 ++////bit 27, reg_switch_en1en2 //switch output en1 and en2. For IS3231: en1 is EN, en2 is mode. ++////bit 26, reg_force_off_mode //1: reset state machine at the falling edge no matter which state it is in ++////bit 25, reg_hold_nonstd_off_mode //hold the non-std led_off signal input before state "OFF" ++////bit 24, reg_flash_mode_timeout_en //force to exit the Tlat state when time out, for flash mode protection ++////bit 23, reg_en1_st_ini_level //en1 level during state ST_INI ++////bit 22, reg_en2_st_set_mp_level //en2 level during state ST_SET_MP_HI, ST_SET_MP_LO ++////bit 21, reg_en1_st_off_level //en1 level during state ST_OFF ++////bit 20, reg_en2_st_off_level //en2 level during state ST_OFF ++////bit 19:12, reg_en1_mp_num //en1 multi pulse number, up to 256 step current control ++////bit 10:0, reg_t_st_ini //Max: 85.2 us under 24M clock input ++//`define ISP_LED_CTRL 8'h98 ++// ++////bit 31:21, reg_t_en1_inc_i_st_lat_cnt //Max: 85.2us under 24M. for as3685, dynamic increase current during st_latch ++////bit 20:10, reg_t_en2_lo_st_ini //Max: 85.2 us under 24M clock input ++////bit 9:0, reg_t_en2_hi1_st_lat_cnt //42.62us @24M, EN2 can output hi-lo-hi during ST_LATCH, this is the first lo -duration ++//`define ISP_LED_TIMING1 8'h99 ++// ++////bit 31:21, reg_t_en1_mp_hi_cnt //Max: 85.2 us under 24M clock input, mp means multi pulse ++////bit 20:10, reg_t_en1_mp_lo_cnt //Max: 85.2 us under 24M clock input, mp means multi pulse ++////bit 9:0, reg_t_en2_lo1_st_lat_cnt //42.62us @24M, EN2 can output hi-lo-hi during ST_LATCH, this is the first lo -duration ++//`define ISP_LED_TIMING2 8'h9a ++// ++////bit 30:28, RO state ++////bit 25:0, reg_flash_mode_timeout_cnt //up to 2.79s at 24Mhz clk input ++//`define ISP_LED_TIMING3 8'h9b ++// ++////bit 25:0, reg_t_st_lat_cnt //up to 2.79s, keep the led on if it's 26'h3ffffff under torch mode ++//`define ISP_LED_TIMING4 8'h9c ++// ++////bit 31:26, reg_t_st_off_cnt[5:0] //up to 85.2us OFF state. ++////bit 25:0, reg_t_en2_hi2_st_lat_cnt //EN2 can output hi-lo-hi during ST_LATCH, this is the second hi -duration ++//`define ISP_LED_TIMING5 8'h9d ++// ++////bit 30:26, reg_t_st_off_cnt[10:6] //up to 85.2us OFF state. ++////bit 25:0, reg_t_en1_st_lat_hold_cnt //to make sure Tlat to meat it's minimum request 500us (since non-std led_off signal may comes in anytime) ++//`define ISP_LED_TIMING6 8'h9e ++//// ---------------------------- ++//// SAR ADC (16) ++//// ---------------------------- ++////`define SAR_ADC_REG0 8'ha0 ++////`define SAR_ADC_CHAN_LIST 8'ha1 ++////`define SAR_ADC_AVG_CNTL 8'ha2 ++////`define SAR_ADC_REG3 8'ha3 ++////`define SAR_ADC_DELAY 8'ha4 ++////`define SAR_ADC_LAST_RD 8'ha5 ++////`define SAR_ADC_FIFO_RD 8'ha6 ++////`define SAR_ADC_AUX_SW 8'ha7 ++////`define SAR_ADC_CHAN_10_SW 8'ha8 ++////`define SAR_ADC_DETECT_IDLE_SW 8'ha9 ++////`define SAR_ADC_DELTA_10 8'haa ++////`define SAR_ADC_REG11 8'hab ++////`define SAR_ADC_REG12 8'hac ++////`define SAR_ADC_REG13 8'had ++// ++//// ---------------------------- ++//// CTouch (16) ++//// ---------------------------- ++// ++// ++//// --------------------------- ++//// RTC (4) ++//// --------------------------- ++//`define RTC_ADDR0 8'hd0 ++//`define RTC_ADDR1 8'hd1 ++//`define RTC_ADDR2 8'hd2 ++//`define RTC_ADDR3 8'hd3 ++//`define RTC_ADDR4 8'hd4 ++//// ---------------------------- ++//// clock measure (4) ++//// ---------------------------- ++// ++// ++// ++//// ------------------------------------------------------------------- ++//// PSEL Group #2: 0x800 ~ 0xbFF ++//// ------------------------------------------------------------------- ++//`define PERIPHS2_CBUS_BASE 8'h2c ++// ++//`define USB_ADDR0 8'h00 ++//`define USB_ADDR1 8'h01 ++//`define USB_ADDR2 8'h02 ++//`define USB_ADDR3 8'h03 ++//`define USB_ADDR4 8'h04 ++//`define USB_ADDR5 8'h05 ++//`define USB_ADDR6 8'h06 ++//`define USB_ADDR7 8'h07 ++//`define USB_ADDR8 8'h08 ++//`define USB_ADDR9 8'h09 ++//`define USB_ADDR10 8'h0a ++//`define USB_ADDR11 8'h0b ++//`define USB_ADDR12 8'h0c ++//`define USB_ADDR13 8'h0d ++//`define USB_ADDR14 8'h0e ++//`define USB_ADDR15 8'h0f ++// ++//`define USB_ADDR16 8'h10 ++//`define USB_ADDR17 8'h11 ++//`define USB_ADDR18 8'h12 ++//`define USB_ADDR19 8'h13 ++//`define USB_ADDR20 8'h14 ++//`define USB_ADDR21 8'h15 ++//`define USB_ADDR22 8'h16 ++//`define USB_ADDR23 8'h17 ++//`define USB_ADDR24 8'h18 ++//`define USB_ADDR25 8'h19 ++//`define USB_ADDR26 8'h1a ++//`define USB_ADDR27 8'h1b ++//`define USB_ADDR28 8'h1c ++//`define USB_ADDR29 8'h1d ++//`define USB_ADDR30 8'h1e ++//`define USB_ADDR31 8'h1f ++// ++// ++// ++// ++// ++//// ------------------------------------------------------------------- ++//// PSEL Group #3: 0xc00 ~ 0xFFF ++//// ------------------------------------------------------------------- ++//`define PERIPHS3_CBUS_BASE 8'h30 ++// ++//// --------------------------- ++//// SDIO (8) ++//// --------------------------- ++//// `define C_SDIO_HIGH16 8'h00 ++//// bit 31:0 -- cmd_argument/MS_SHORT_DATA_WRITE ++//`define CMD_ARGUMENT 8'h08 ++//// bit 31:24 -- repeat_package_times/MS_SHORT_DATA_WRITE_NUMBER ++//// bit 21 -- use_int_window ++//// bit 20 -- cmd_send_data/MS_HAVE_LONG_DATA_WRITE ++//// bit 19 -- check_busy_on_dat0 (used for R1b response) ++//// bit 18 -- response_crc7_from_8 ++//// bit 17 -- response_have_data/MS_HAVE_LONG_DATA_READ ++//// bit 16 -- response_do_not_have_crc7/MS_SHORT_DATA_DO_NOT_HAVE_CRC16 ++//// bit 15:8 -- cmd_response_bits (00 means no response) /MS_SHORT_DATA_READ_NUMBER ++//// bit 7:0 -- cmd_command/MS_TPC ++//`define CMD_SEND 8'h09 ++//// bit 31:29 -- sdio_write_CRC_ok_status ++//// bit 28:23 -- sdio_write_Nwr ++//// bit 22:21 -- m_endian ++//// bit 20 -- bus_width ++//// bit 19 -- data_latch_at_negedge (normally at posedge) ++//// bit 18 -- do_not_delay_data (normally delay one clock) ++//// bit 17:12 -- cmd_argument_bits (before CRC, normally : 39) ++//// bit 11 -- cmd_out_at_posedge (normally at negedge) ++//// bit 10 -- cmd_disable_CRC ++//// bit 9:0 -- cmd_clk_divide ++//`define SDIO_CONFIG 8'h0a ++//// bit 31:19 -- sdio_timing_out_count ++//// bit 18 -- arc_timing_out_int_en ++//// bit 17 -- amrisc_timing_out_int_en ++//// bit 16 -- sdio_timig_out_int -- write 1 clear this int bit ++//// bit 15:12 -- sdio_status_info -- used for change infor between ARC and Amrisc ++//// bit 11 -- sdio_set_soft_int -- write 1 to this bit will set sdio_soft_int , read out is m_req_sdio ++//// bit 10 -- sdio_soft_int -- write 1 clear this int bit ++//// bit 9 -- sdio_cmd_int -- write 1 clear this int bit ++//// bit 8 -- sdio_if_int -- write 1 clear this int bit ++//// bit 7 -- sdio_data_write_crc16_ok -- Read-Only ++//// bit 6 -- sdio_data_read_crc16_ok -- Read-Only ++//// bit 5 -- sdio_response_crc7_ok -- Read-Only ++//// bit 4 -- sdio_cmd_busy -- Read-Only ++//// bit 3:0 -- sdio_status -- Read-Only ++//`define SDIO_STATUS_IRQ 8'h0b ++//// bit 31 -- halt_hole 0 -- 8 bits 1 -- 16 bits ++//// bit 30 -- force_halt ++//// bit 29:24 -- sdio_force_data_read (read_only) ++//// bit 23:22 -- disable_mem_halt (write and read) ++//// bit 21:16 -- sdio_force_output_en ++//// bit 15 -- soft_reset ++//// bit 14 -- sdio_force_enable ++//// bit 13:8 -- sdio_force_data/sdio_read_data ++//// bit 7:6 -- sdio_if_int_config ++//// bit 5 -- arc_soft_int_en ++//// bit 4 -- arc_cmd_int_en ++//// bit 3 -- arc_if_int_en ++//// bit 2 -- amrisc_soft_int_en ++//// bit 1 -- amrisc_cmd_int_en ++//// bit 0 -- amrisc_if_int_en ++//`define SDIO_IRQ_CONFIG 8'h0c ++//// bit 27:16 -- data_catch_finish_point ++//// ( ++//// bit 15:12 -- response_read_index ++//// bit 9 -- data_catch_readout_en ++//// bit 8 -- write_read_out_index ++//// ) this bits only write when write_read_out_index = 1 ++//// bit 11 -- sdio_1_data_swap01 ++//// bit 10 -- sdio_0_data_on_1 ++//// bit 7:6 -- data_catch_level ++//// bit 5 -- stream_8_bits_mode ++//// bit 4 -- stream_enable ++//// bit 3 -- ms_sclk_always ++//// bit 2 -- ms_enable ++//// bit 1:0 -- SDIO_port_sel //00-sdio1, 01-sdio2, 02-sdio3 ++//`define SDIO_MULT_CONFIG 8'h0d ++//// bit 31:0 -- m_addr_sdio ++//`define SDIO_M_ADDR 8'h0e ++//// bit 31 -- CRC_status_4line ++//// bit 30 -- data_rw_do_not_have_crc16/MS_LONG_DATA_DO_NOT_HAVE_CRC16 ++//// bit 29:16 -- data_rw_number/MS_LONG_DATA_NUMBER ++//// bit 15:0 -- cmd_argument_ext/MS_SHORT_DATA_EXTENSION ++//`define SDIO_EXTENSION 8'h0f ++//// ---------------------------- ++//// SDIO_AHB_CBUS (2) ++//// ---------------------------- ++//// bit 17 -- arc_ahb_cbus_int_en ++//// bit 16 -- amrisc_ahb_cbus_int_en ++//// bit 15:8 -- SDIO_FIFO_count ++//// bit 7:4 -- m_req_count ++//// bit 3 -- reserved ++//// bit 2 -- m_write_cbus ++//// bit 1 -- m_req_cbus ++//// bit 0 -- sdio_ahb_cbus_enable ++//`define SDIO_AHB_CBUS_CTRL 8'h18 ++//// m_rd_data[31:0] when (m_write_cbus == 0) CBUS write ++//// m_wr_data[31:0] when (m_write_cbus == 1) CBUS read ++//`define SDIO_AHB_CBUS_M_DATA 8'h19 ++// ++// ++//// ---------------------------- ++//// SDHC (SDIO #2) ++//// ---------------------------- ++//`define SD_REG0_ARGU 8'h80 ++//`define SD_REG1_SEND 8'h81 ++//`define SD_REG2_CNTL 8'h82 ++//`define SD_REG3_STAT 8'h83 ++//`define SD_REG4_CLKC 8'h84 ++//`define SD_REG5_ADDR 8'h85 ++//`define SD_REG6_PDMA 8'h86 ++//`define SD_REG7_MISC 8'h87 ++//`define SD_REG8_DATA 8'h88 ++//`define SD_REG9_ICTL 8'h89 ++//`define SD_REGA_ISTA 8'h8a ++//`define SD_REGB_SRST 8'h8b ++//`define SD_REGC_ESTA 8'h8c ++//`define SD_REGD_ENHC 8'h8d ++//`define SD_REGE_CLK2 8'h8e ++// ++// ++// Closing file: periphs_reg.h ++// ++// ++// Reading file: isa_reg.h ++// ++// $isa/rtl/isa_core register defines for the APB bus ++// CBUS base slave address ++// ----------------------------------------------- ++// CBUS_BASE: ISA_CBUS_BASE = 0x3c ++// ----------------------------------------------- ++// Up to 256 registers for this base ++#define ISA_DEBUG_REG0 (0x3c00) ++#define P_ISA_DEBUG_REG0 (volatile unsigned int *)((0x3c00 << 2) + 0xffd00000) ++#define ISA_DEBUG_REG1 (0x3c01) ++#define P_ISA_DEBUG_REG1 (volatile unsigned int *)((0x3c01 << 2) + 0xffd00000) ++#define ISA_DEBUG_REG2 (0x3c02) ++#define P_ISA_DEBUG_REG2 (volatile unsigned int *)((0x3c02 << 2) + 0xffd00000) ++#define ISA_DEBUG_REG3 (0x3c03) ++#define P_ISA_DEBUG_REG3 (volatile unsigned int *)((0x3c03 << 2) + 0xffd00000) ++#define ISA_PLL_CLK_SIM0 (0x3c08) ++#define P_ISA_PLL_CLK_SIM0 (volatile unsigned int *)((0x3c08 << 2) + 0xffd00000) ++#define ISA_CNTL_REG0 (0x3c09) ++#define P_ISA_CNTL_REG0 (volatile unsigned int *)((0x3c09 << 2) + 0xffd00000) ++// ----------------------------------------------------------- ++#define AO_CPU_IRQ_IN0_INTR_STAT (0x3c10) ++#define P_AO_CPU_IRQ_IN0_INTR_STAT (volatile unsigned int *)((0x3c10 << 2) + 0xffd00000) ++#define AO_CPU_IRQ_IN0_INTR_STAT_CLR (0x3c11) ++#define P_AO_CPU_IRQ_IN0_INTR_STAT_CLR (volatile unsigned int *)((0x3c11 << 2) + 0xffd00000) ++#define AO_CPU_IRQ_IN0_INTR_MASK (0x3c12) ++#define P_AO_CPU_IRQ_IN0_INTR_MASK (volatile unsigned int *)((0x3c12 << 2) + 0xffd00000) ++#define AO_CPU_IRQ_IN0_INTR_FIRQ_SEL (0x3c13) ++#define P_AO_CPU_IRQ_IN0_INTR_FIRQ_SEL (volatile unsigned int *)((0x3c13 << 2) + 0xffd00000) ++// define MEDIA_CPU_IRQ_IN1_INTR_STAT 8'h14 ++// define MEDIA_CPU_IRQ_IN1_INTR_STAT_CLR 8'h15 ++// define MEDIA_CPU_IRQ_IN1_INTR_MASK 8'h16 ++// define MEDIA_CPU_IRQ_IN1_INTR_FIRQ_SEL 8'h17 ++// ++// define MEDIA_CPU_IRQ_IN2_INTR_STAT 8'h18 ++// define MEDIA_CPU_IRQ_IN2_INTR_STAT_CLR 8'h19 ++// define MEDIA_CPU_IRQ_IN2_INTR_MASK 8'h1a ++// define MEDIA_CPU_IRQ_IN2_INTR_FIRQ_SEL 8'h1b ++// ++// define MEDIA_CPU_IRQ_IN3_INTR_STAT 8'h1c ++// define MEDIA_CPU_IRQ_IN3_INTR_STAT_CLR 8'h1d ++// define MEDIA_CPU_IRQ_IN3_INTR_MASK 8'h1e ++// define MEDIA_CPU_IRQ_IN3_INTR_FIRQ_SEL 8'h1f ++#define GPIO_INTR_EDGE_POL (0x3c20) ++#define P_GPIO_INTR_EDGE_POL (volatile unsigned int *)((0x3c20 << 2) + 0xffd00000) ++#define GPIO_INTR_GPIO_SEL0 (0x3c21) ++#define P_GPIO_INTR_GPIO_SEL0 (volatile unsigned int *)((0x3c21 << 2) + 0xffd00000) ++#define GPIO_INTR_GPIO_SEL1 (0x3c22) ++#define P_GPIO_INTR_GPIO_SEL1 (volatile unsigned int *)((0x3c22 << 2) + 0xffd00000) ++#define GPIO_INTR_FILTER_SEL0 (0x3c23) ++#define P_GPIO_INTR_FILTER_SEL0 (volatile unsigned int *)((0x3c23 << 2) + 0xffd00000) ++// `define GLOBAL_INTR_DISABLE 8'h24 never used ++#define CVBS_IRQ0_CNTL (0x3c24) ++#define P_CVBS_IRQ0_CNTL (volatile unsigned int *)((0x3c24 << 2) + 0xffd00000) ++#define CVBS_IRQ1_CNTL (0x3c25) ++#define P_CVBS_IRQ1_CNTL (volatile unsigned int *)((0x3c25 << 2) + 0xffd00000) ++#define CVBS_IRQ0_COUNTER (0x3c26) ++#define P_CVBS_IRQ0_COUNTER (volatile unsigned int *)((0x3c26 << 2) + 0xffd00000) ++#define CVBS_IRQ1_COUNTER (0x3c27) ++#define P_CVBS_IRQ1_COUNTER (volatile unsigned int *)((0x3c27 << 2) + 0xffd00000) ++#define MEDIA_CPU_INTR_STAT (0x3c28) ++#define P_MEDIA_CPU_INTR_STAT (volatile unsigned int *)((0x3c28 << 2) + 0xffd00000) ++#define MEDIA_CPU_INTR_STAT_CLR (0x3c29) ++#define P_MEDIA_CPU_INTR_STAT_CLR (volatile unsigned int *)((0x3c29 << 2) + 0xffd00000) ++#define MEDIA_CPU_INTR_MASK (0x3c2a) ++#define P_MEDIA_CPU_INTR_MASK (volatile unsigned int *)((0x3c2a << 2) + 0xffd00000) ++#define MEDIA_CPU_INTR_FIRQ_SEL (0x3c2b) ++#define P_MEDIA_CPU_INTR_FIRQ_SEL (volatile unsigned int *)((0x3c2b << 2) + 0xffd00000) ++// ----------------------------------------------------------- ++#define ISA_BIST_REG0 (0x3c30) ++#define P_ISA_BIST_REG0 (volatile unsigned int *)((0x3c30 << 2) + 0xffd00000) ++#define ISA_BIST_REG1 (0x3c31) ++#define P_ISA_BIST_REG1 (volatile unsigned int *)((0x3c31 << 2) + 0xffd00000) ++// ----------------------------------------------------------- ++#define WATCHDOG_CNTL (0x3c34) ++#define P_WATCHDOG_CNTL (volatile unsigned int *)((0x3c34 << 2) + 0xffd00000) ++#define WATCHDOG_CNTL1 (0x3c35) ++#define P_WATCHDOG_CNTL1 (volatile unsigned int *)((0x3c35 << 2) + 0xffd00000) ++#define WATCHDOG_TCNT (0x3c36) ++#define P_WATCHDOG_TCNT (volatile unsigned int *)((0x3c36 << 2) + 0xffd00000) ++#define WATCHDOG_RST (0x3c37) ++#define P_WATCHDOG_RST (volatile unsigned int *)((0x3c37 << 2) + 0xffd00000) ++// ----------------------------------------------------------- ++#define AHB_ARBITER_REG (0x3c42) ++#define P_AHB_ARBITER_REG (volatile unsigned int *)((0x3c42 << 2) + 0xffd00000) ++#define AHB_ARBDEC_REG (0x3c43) ++#define P_AHB_ARBDEC_REG (volatile unsigned int *)((0x3c43 << 2) + 0xffd00000) ++#define AHB_ARBITER2_REG (0x3c4a) ++#define P_AHB_ARBITER2_REG (volatile unsigned int *)((0x3c4a << 2) + 0xffd00000) ++#define DEVICE_MMCP_CNTL (0x3c4b) ++#define P_DEVICE_MMCP_CNTL (volatile unsigned int *)((0x3c4b << 2) + 0xffd00000) ++#define AUDIO_MMCP_CNTL (0x3c4c) ++#define P_AUDIO_MMCP_CNTL (volatile unsigned int *)((0x3c4c << 2) + 0xffd00000) ++// ----------------------------------------------------------- ++#define ISA_TIMER_MUX (0x3c50) ++#define P_ISA_TIMER_MUX (volatile unsigned int *)((0x3c50 << 2) + 0xffd00000) ++#define ISA_TIMERA (0x3c51) ++#define P_ISA_TIMERA (volatile unsigned int *)((0x3c51 << 2) + 0xffd00000) ++#define ISA_TIMERB (0x3c52) ++#define P_ISA_TIMERB (volatile unsigned int *)((0x3c52 << 2) + 0xffd00000) ++#define ISA_TIMERC (0x3c53) ++#define P_ISA_TIMERC (volatile unsigned int *)((0x3c53 << 2) + 0xffd00000) ++#define ISA_TIMERD (0x3c54) ++#define P_ISA_TIMERD (volatile unsigned int *)((0x3c54 << 2) + 0xffd00000) ++#define FBUF_ADDR (0x3c56) ++#define P_FBUF_ADDR (volatile unsigned int *)((0x3c56 << 2) + 0xffd00000) ++ #define VIDEO_FRM_BUF_MSB_BIT 23 ++ #define VIDEO_FRM_BUF_LSB_BIT 2 ++#define SDRAM_CTL0 (0x3c57) ++#define P_SDRAM_CTL0 (volatile unsigned int *)((0x3c57 << 2) + 0xffd00000) ++#define SDRAM_CTL2 (0x3c58) ++#define P_SDRAM_CTL2 (volatile unsigned int *)((0x3c58 << 2) + 0xffd00000) ++//`define AO_CPU_CTL 8'h59 ++#define SDRAM_CTL4 (0x3c5a) ++#define P_SDRAM_CTL4 (volatile unsigned int *)((0x3c5a << 2) + 0xffd00000) ++#define SDRAM_CTL5 (0x3c5b) ++#define P_SDRAM_CTL5 (volatile unsigned int *)((0x3c5b << 2) + 0xffd00000) ++#define SDRAM_CTL6 (0x3c5c) ++#define P_SDRAM_CTL6 (volatile unsigned int *)((0x3c5c << 2) + 0xffd00000) ++#define SDRAM_CTL7 (0x3c5d) ++#define P_SDRAM_CTL7 (volatile unsigned int *)((0x3c5d << 2) + 0xffd00000) ++#define SDRAM_CTL8 (0x3c5e) ++#define P_SDRAM_CTL8 (volatile unsigned int *)((0x3c5e << 2) + 0xffd00000) ++#define AHB_MP4_MC_CTL (0x3c5f) ++#define P_AHB_MP4_MC_CTL (volatile unsigned int *)((0x3c5f << 2) + 0xffd00000) ++#define MEDIA_CPU_PCR (0x3c60) ++#define P_MEDIA_CPU_PCR (volatile unsigned int *)((0x3c60 << 2) + 0xffd00000) ++#define MEDIA_CPU_CTL (0x3c61) ++#define P_MEDIA_CPU_CTL (volatile unsigned int *)((0x3c61 << 2) + 0xffd00000) ++#define ISA_TIMERE (0x3c62) ++#define P_ISA_TIMERE (volatile unsigned int *)((0x3c62 << 2) + 0xffd00000) ++#define ISA_TIMERE_HI (0x3c63) ++#define P_ISA_TIMERE_HI (volatile unsigned int *)((0x3c63 << 2) + 0xffd00000) ++#define ISA_TIMER_MUX1 (0x3c64) ++#define P_ISA_TIMER_MUX1 (volatile unsigned int *)((0x3c64 << 2) + 0xffd00000) ++#define ISA_TIMERF (0x3c65) ++#define P_ISA_TIMERF (volatile unsigned int *)((0x3c65 << 2) + 0xffd00000) ++#define ISA_TIMERG (0x3c66) ++#define P_ISA_TIMERG (volatile unsigned int *)((0x3c66 << 2) + 0xffd00000) ++#define ISA_TIMERH (0x3c67) ++#define P_ISA_TIMERH (volatile unsigned int *)((0x3c67 << 2) + 0xffd00000) ++#define ISA_TIMERI (0x3c68) ++#define P_ISA_TIMERI (volatile unsigned int *)((0x3c68 << 2) + 0xffd00000) ++// --------------------------------------------- ++#define ABUF_WR_CTL0 (0x3c70) ++#define P_ABUF_WR_CTL0 (volatile unsigned int *)((0x3c70 << 2) + 0xffd00000) ++ #define ABUF_WR_INT_EN 31 ++ #define ABUF_WR_INT_POS_MSB 30 ++ #define ABUF_WR_INT_POS_LSB 16 ++ #define ABUF_WR_BLK_SIZE_MSB 14 ++ #define ABUF_WR_BLK_SIZE_LSB 0 ++#define ABUF_WR_CTL1 (0x3c71) ++#define P_ABUF_WR_CTL1 (volatile unsigned int *)((0x3c71 << 2) + 0xffd00000) ++ #define ABUF_WR_INT_EN 31 ++ #define ABUF_WR_INT_POS_MSB 30 ++ #define ABUF_WR_INT_POS_LSB 16 ++ #define ABUF_WR_BLK_SIZE_MSB 14 ++ #define ABUF_WR_BLK_SIZE_LSB 0 ++#define ABUF_WR_CTL2 (0x3c72) ++#define P_ABUF_WR_CTL2 (volatile unsigned int *)((0x3c72 << 2) + 0xffd00000) ++ #define ABUF_WR_CUR_FF_CNT_MSB 21 ++ #define ABUF_WR_CUR_FF_CNT_LSB 16 ++ #define ABUF_WR_CUR_BLK_MSB 14 ++ #define ABUF_WR_CUR_BLK_LSB 0 ++#define ABUF_WR_CTL3 (0x3c73) ++#define P_ABUF_WR_CTL3 (volatile unsigned int *)((0x3c73 << 2) + 0xffd00000) ++ #define ABUF_WR_AHB_RST_PLS 3 ++ #define ABUF_WR_FF_CLR_PLS 2 ++ #define ABUF_WR_PLY_RPT_LVL 1 ++ #define ABUF_WR_FF_PAUSE_LVL 0 ++#define ABUF_RD_CTL0 (0x3c74) ++#define P_ABUF_RD_CTL0 (volatile unsigned int *)((0x3c74 << 2) + 0xffd00000) ++#define ABUF_RD_CTL1 (0x3c75) ++#define P_ABUF_RD_CTL1 (volatile unsigned int *)((0x3c75 << 2) + 0xffd00000) ++ #define ABUF_RD_INT_EN 31 ++ #define ABUF_RD_INT_POS_MSB 30 ++ #define ABUF_RD_INT_POS_LSB 16 ++ #define ABUF_RD_BLK_SIZE_MSB 14 ++ #define ABUF_RD_BLK_SIZE_LSB 0 ++#define ABUF_RD_CTL2 (0x3c76) ++#define P_ABUF_RD_CTL2 (volatile unsigned int *)((0x3c76 << 2) + 0xffd00000) ++ #define ABUF_RD_CUR_FF_CNT_MSB 21 ++ #define ABUF_RD_CUR_FF_CNT_LSB 16 ++ #define ABUF_RD_CUR_BLK_MSB 14 ++ #define ABUF_RD_CUR_BLK_LSB 0 ++#define ABUF_RD_CTL3 (0x3c77) ++#define P_ABUF_RD_CTL3 (volatile unsigned int *)((0x3c77 << 2) + 0xffd00000) ++ #define ABUF_RD_PLY_ONCE_PLS 4 ++ #define ABUF_RD_AHB_RST_PLS 3 ++ #define ABUF_RD_FF_CLR_PLS 2 ++ #define ABUF_RD_PLY_RPT_LVL 1 ++ #define ABUF_RD_FF_PAUSE_LVL 0 ++#define ABUF_ARB_CTL0 (0x3c78) ++#define P_ABUF_ARB_CTL0 (volatile unsigned int *)((0x3c78 << 2) + 0xffd00000) ++#define ABUF_FIFO_CTL0 (0x3c79) ++#define P_ABUF_FIFO_CTL0 (volatile unsigned int *)((0x3c79 << 2) + 0xffd00000) ++ #define AIUout_FIFO_THRESHOLD_MSB 11 ++ #define AIUout_FIFO_THRESHOLD_LSB 6 ++ #define AIUin_FIFO_THRESHOLD_MSB 5 ++ #define AIUin_FIFO_THRESHOLD_LSB 0 ++// --------------------------------------------- ++#define AHB_BRIDGE_CNTL_WR (0x3c80) ++#define P_AHB_BRIDGE_CNTL_WR (volatile unsigned int *)((0x3c80 << 2) + 0xffd00000) ++#define AHB_BRIDGE_REMAP0 (0x3c81) ++#define P_AHB_BRIDGE_REMAP0 (volatile unsigned int *)((0x3c81 << 2) + 0xffd00000) ++#define AHB_BRIDGE_REMAP1 (0x3c82) ++#define P_AHB_BRIDGE_REMAP1 (volatile unsigned int *)((0x3c82 << 2) + 0xffd00000) ++#define AHB_BRIDGE_REMAP2 (0x3c83) ++#define P_AHB_BRIDGE_REMAP2 (volatile unsigned int *)((0x3c83 << 2) + 0xffd00000) ++#define AHB_BRIDGE_REMAP3 (0x3c84) ++#define P_AHB_BRIDGE_REMAP3 (volatile unsigned int *)((0x3c84 << 2) + 0xffd00000) ++#define AHB_BRIDGE_CNTL_REG1 (0x3c85) ++#define P_AHB_BRIDGE_CNTL_REG1 (volatile unsigned int *)((0x3c85 << 2) + 0xffd00000) ++#define AHB_BRIDGE_CNTL_REG2 (0x3c86) ++#define P_AHB_BRIDGE_CNTL_REG2 (volatile unsigned int *)((0x3c86 << 2) + 0xffd00000) ++// --------------------------------------------- ++// ---------------------------------------------- ++// `define SYS_CPU_0_IRQ_IN0_INTR_STAT 8'h90 ++// `define SYS_CPU_0_IRQ_IN0_INTR_STAT_CLR 8'h91 ++// `define SYS_CPU_0_IRQ_IN0_INTR_MASK 8'h92 ++// `define SYS_CPU_0_IRQ_IN0_INTR_FIRQ_SEL 8'h93 ++// `define SYS_CPU_0_IRQ_IN1_INTR_STAT 8'h94 ++// `define SYS_CPU_0_IRQ_IN1_INTR_STAT_CLR 8'h95 ++// `define SYS_CPU_0_IRQ_IN1_INTR_MASK 8'h96 ++// `define SYS_CPU_0_IRQ_IN1_INTR_FIRQ_SEL 8'h97 ++// `define SYS_CPU_0_IRQ_IN2_INTR_STAT 8'h98 ++// `define SYS_CPU_0_IRQ_IN2_INTR_STAT_CLR 8'h99 ++// `define SYS_CPU_0_IRQ_IN2_INTR_MASK 8'h9a ++// `define SYS_CPU_0_IRQ_IN2_INTR_FIRQ_SEL 8'h9b ++// `define SYS_CPU_0_IRQ_IN3_INTR_STAT 8'h9c ++// `define SYS_CPU_0_IRQ_IN3_INTR_STAT_CLR 8'h9d ++// `define SYS_CPU_0_IRQ_IN3_INTR_MASK 8'h9e ++// `define SYS_CPU_0_IRQ_IN3_INTR_FIRQ_SEL 8'h9f ++// ---------------------------------------------- ++// `define SYS_CPU_1_IRQ_IN0_INTR_STAT 8'ha0 ++// `define SYS_CPU_1_IRQ_IN0_INTR_STAT_CLR 8'ha1 ++// `define SYS_CPU_1_IRQ_IN0_INTR_MASK 8'ha2 ++// `define SYS_CPU_1_IRQ_IN0_INTR_FIRQ_SEL 8'ha3 ++// ++// `define SYS_CPU_1_IRQ_IN1_INTR_STAT 8'ha4 ++// `define SYS_CPU_1_IRQ_IN1_INTR_STAT_CLR 8'ha5 ++// `define SYS_CPU_1_IRQ_IN1_INTR_MASK 8'ha6 ++// `define SYS_CPU_1_IRQ_IN1_INTR_FIRQ_SEL 8'ha7 ++// ++// `define SYS_CPU_1_IRQ_IN2_INTR_STAT 8'ha8 ++// `define SYS_CPU_1_IRQ_IN2_INTR_STAT_CLR 8'ha9 ++// `define SYS_CPU_1_IRQ_IN2_INTR_MASK 8'haa ++// `define SYS_CPU_1_IRQ_IN2_INTR_FIRQ_SEL 8'hab ++// ++// `define SYS_CPU_1_IRQ_IN3_INTR_STAT 8'hac ++// `define SYS_CPU_1_IRQ_IN3_INTR_STAT_CLR 8'had ++// `define SYS_CPU_1_IRQ_IN3_INTR_MASK 8'hae ++// `define SYS_CPU_1_IRQ_IN3_INTR_FIRQ_SEL 8'haf ++// ---------------------------------------------- ++// `define MEDIA_CPU_IRQ_IN4_INTR_STAT 8'hb0 ++// `define MEDIA_CPU_IRQ_IN4_INTR_STAT_CLR 8'hb1 ++// `define MEDIA_CPU_IRQ_IN4_INTR_MASK 8'hb2 ++// `define MEDIA_CPU_IRQ_IN4_INTR_FIRQ_SEL 8'hb3 ++// `define SYS_CPU_0_IRQ_IN4_INTR_STAT 8'hb4 ++// `define SYS_CPU_0_IRQ_IN4_INTR_STAT_CLR 8'hb5 ++// `define SYS_CPU_0_IRQ_IN4_INTR_MASK 8'hb6 ++// `define SYS_CPU_0_IRQ_IN4_INTR_FIRQ_SEL 8'hb7 ++// `define SYS_CPU_1_IRQ_IN4_INTR_STAT 8'hb8 ++// `define SYS_CPU_1_IRQ_IN4_INTR_STAT_CLR 8'hb9 ++// `define SYS_CPU_1_IRQ_IN4_INTR_MASK 8'hba ++// `define SYS_CPU_1_IRQ_IN4_INTR_FIRQ_SEL 8'hbb ++// `define SYS_CPU_2_IRQ_IN4_INTR_STAT 8'hbc ++// `define SYS_CPU_2_IRQ_IN4_INTR_STAT_CLR 8'hbd ++// `define SYS_CPU_2_IRQ_IN4_INTR_MASK 8'hbe ++// `define SYS_CPU_2_IRQ_IN4_INTR_FIRQ_SEL 8'hbf ++// ---------------------------------------------- ++// `define SYS_CPU_2_IRQ_IN0_INTR_STAT 8'hc0 ++// `define SYS_CPU_2_IRQ_IN0_INTR_STAT_CLR 8'hc1 ++// `define SYS_CPU_2_IRQ_IN0_INTR_MASK 8'hc2 ++// `define SYS_CPU_2_IRQ_IN0_INTR_FIRQ_SEL 8'hc3 ++// `define SYS_CPU_2_IRQ_IN1_INTR_STAT 8'hc4 ++// `define SYS_CPU_2_IRQ_IN1_INTR_STAT_CLR 8'hc5 ++// `define SYS_CPU_2_IRQ_IN1_INTR_MASK 8'hc6 ++// `define SYS_CPU_2_IRQ_IN1_INTR_FIRQ_SEL 8'hc7 ++// `define SYS_CPU_2_IRQ_IN2_INTR_STAT 8'hc8 ++// `define SYS_CPU_2_IRQ_IN2_INTR_STAT_CLR 8'hc9 ++// `define SYS_CPU_2_IRQ_IN2_INTR_MASK 8'hca ++// `define SYS_CPU_2_IRQ_IN2_INTR_FIRQ_SEL 8'hcb ++// `define SYS_CPU_2_IRQ_IN3_INTR_STAT 8'hcc ++// `define SYS_CPU_2_IRQ_IN3_INTR_STAT_CLR 8'hcd ++// `define SYS_CPU_2_IRQ_IN3_INTR_MASK 8'hce ++// `define SYS_CPU_2_IRQ_IN3_INTR_FIRQ_SEL 8'hcf ++// ---------------------------------------------- ++// `define SYS_CPU_3_IRQ_IN0_INTR_STAT 8'hd0 ++// `define SYS_CPU_3_IRQ_IN0_INTR_STAT_CLR 8'hd1 ++// `define SYS_CPU_3_IRQ_IN0_INTR_MASK 8'hd2 ++// `define SYS_CPU_3_IRQ_IN0_INTR_FIRQ_SEL 8'hd3 ++// `define SYS_CPU_3_IRQ_IN1_INTR_STAT 8'hd4 ++// `define SYS_CPU_3_IRQ_IN1_INTR_STAT_CLR 8'hd5 ++// `define SYS_CPU_3_IRQ_IN1_INTR_MASK 8'hd6 ++// `define SYS_CPU_3_IRQ_IN1_INTR_FIRQ_SEL 8'hd7 ++// `define SYS_CPU_3_IRQ_IN2_INTR_STAT 8'hd8 ++// `define SYS_CPU_3_IRQ_IN2_INTR_STAT_CLR 8'hd9 ++// `define SYS_CPU_3_IRQ_IN2_INTR_MASK 8'hda ++// `define SYS_CPU_3_IRQ_IN2_INTR_FIRQ_SEL 8'hdb ++// `define SYS_CPU_3_IRQ_IN3_INTR_STAT 8'hdc ++// `define SYS_CPU_3_IRQ_IN3_INTR_STAT_CLR 8'hdd ++// `define SYS_CPU_3_IRQ_IN3_INTR_MASK 8'hde ++// `define SYS_CPU_3_IRQ_IN3_INTR_FIRQ_SEL 8'hdf ++// ---------------------------------------------- ++// `define SYS_CPU_3_IRQ_IN4_INTR_STAT 8'he0 ++// `define SYS_CPU_3_IRQ_IN4_INTR_STAT_CLR 8'he1 ++// `define SYS_CPU_3_IRQ_IN4_INTR_MASK 8'he2 ++// `define SYS_CPU_3_IRQ_IN4_INTR_FIRQ_SEL 8'he3 ++// `define MEDIA_CPU_IRQ_IN5_INTR_STAT 8'he4 ++// `define MEDIA_CPU_IRQ_IN5_INTR_STAT_CLR 8'he5 ++// `define MEDIA_CPU_IRQ_IN5_INTR_MASK 8'he6 ++// `define MEDIA_CPU_IRQ_IN5_INTR_FIRQ_SEL 8'he7 ++// `define SYS_CPU_0_IRQ_IN5_INTR_STAT 8'he8 ++// `define SYS_CPU_0_IRQ_IN5_INTR_STAT_CLR 8'he9 ++// `define SYS_CPU_0_IRQ_IN5_INTR_MASK 8'hea ++// `define SYS_CPU_0_IRQ_IN5_INTR_FIRQ_SEL 8'heb ++// ++// Closing file: isa_reg.h ++// ++//`include "bt656_reg.h" ++//`include "pdm_reg.h" ++//======================================================================== ++// Global Control Registers (12'h000 - 12'h0ff) ++// ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: RESET_CBUS_BASE = 0x04 ++// ----------------------------------------------- ++#define VERSION_CTRL (0x0400) ++#define P_VERSION_CTRL (volatile unsigned int *)((0x0400 << 2) + 0xffd00000) ++#define RESET0_REGISTER (0x0401) ++#define P_RESET0_REGISTER (volatile unsigned int *)((0x0401 << 2) + 0xffd00000) ++#define RESET1_REGISTER (0x0402) ++#define P_RESET1_REGISTER (volatile unsigned int *)((0x0402 << 2) + 0xffd00000) ++#define RESET2_REGISTER (0x0403) ++#define P_RESET2_REGISTER (volatile unsigned int *)((0x0403 << 2) + 0xffd00000) ++#define RESET3_REGISTER (0x0404) ++#define P_RESET3_REGISTER (volatile unsigned int *)((0x0404 << 2) + 0xffd00000) ++#define RESET4_REGISTER (0x0405) ++#define P_RESET4_REGISTER (volatile unsigned int *)((0x0405 << 2) + 0xffd00000) ++#define RESET5_REGISTER (0x0406) ++#define P_RESET5_REGISTER (volatile unsigned int *)((0x0406 << 2) + 0xffd00000) ++#define RESET6_REGISTER (0x0407) ++#define P_RESET6_REGISTER (volatile unsigned int *)((0x0407 << 2) + 0xffd00000) ++#define RESET7_REGISTER (0x0408) ++#define P_RESET7_REGISTER (volatile unsigned int *)((0x0408 << 2) + 0xffd00000) ++#define RESET0_MASK (0x0410) ++#define P_RESET0_MASK (volatile unsigned int *)((0x0410 << 2) + 0xffd00000) ++#define RESET1_MASK (0x0411) ++#define P_RESET1_MASK (volatile unsigned int *)((0x0411 << 2) + 0xffd00000) ++#define RESET2_MASK (0x0412) ++#define P_RESET2_MASK (volatile unsigned int *)((0x0412 << 2) + 0xffd00000) ++#define RESET3_MASK (0x0413) ++#define P_RESET3_MASK (volatile unsigned int *)((0x0413 << 2) + 0xffd00000) ++#define RESET4_MASK (0x0414) ++#define P_RESET4_MASK (volatile unsigned int *)((0x0414 << 2) + 0xffd00000) ++#define RESET5_MASK (0x0415) ++#define P_RESET5_MASK (volatile unsigned int *)((0x0415 << 2) + 0xffd00000) ++#define RESET6_MASK (0x0416) ++#define P_RESET6_MASK (volatile unsigned int *)((0x0416 << 2) + 0xffd00000) ++#define CRT_MASK (0x0417) ++#define P_CRT_MASK (volatile unsigned int *)((0x0417 << 2) + 0xffd00000) ++#define RESET7_MASK (0x0418) ++#define P_RESET7_MASK (volatile unsigned int *)((0x0418 << 2) + 0xffd00000) ++#define RESET0_LEVEL (0x0420) ++#define P_RESET0_LEVEL (volatile unsigned int *)((0x0420 << 2) + 0xffd00000) ++#define RESET1_LEVEL (0x0421) ++#define P_RESET1_LEVEL (volatile unsigned int *)((0x0421 << 2) + 0xffd00000) ++#define RESET2_LEVEL (0x0422) ++#define P_RESET2_LEVEL (volatile unsigned int *)((0x0422 << 2) + 0xffd00000) ++#define RESET3_LEVEL (0x0423) ++#define P_RESET3_LEVEL (volatile unsigned int *)((0x0423 << 2) + 0xffd00000) ++#define RESET4_LEVEL (0x0424) ++#define P_RESET4_LEVEL (volatile unsigned int *)((0x0424 << 2) + 0xffd00000) ++#define RESET5_LEVEL (0x0425) ++#define P_RESET5_LEVEL (volatile unsigned int *)((0x0425 << 2) + 0xffd00000) ++#define RESET6_LEVEL (0x0426) ++#define P_RESET6_LEVEL (volatile unsigned int *)((0x0426 << 2) + 0xffd00000) ++#define RESET7_LEVEL (0x0427) ++#define P_RESET7_LEVEL (volatile unsigned int *)((0x0427 << 2) + 0xffd00000) ++//====================================== ++// Reset Register Bits ++// ++//====================================== ++ #define HIU_RESET 0x0001 ++ #define VLD_RESET 0x0002 ++ #define IQIDCT_RESET 0x0004 ++ #define MC_RESET 0x0008 ++ #define DCU_RESET 0x0010 ++ #define VIU_RESET 0x0020 ++ #define AIU_RESET 0x0040 ++ #define CPU_RESET 0x0080 ++ #define AC3_RESET 0x0100 ++ #define MPEG_RESET 0x0200 ++//----------------------------------------------------------- ++// PARSER ++//----------------------------------------------------------- ++// ----------------------------------------------- ++// CBUS_BASE: PARSER_CBUS_BASE = 0x38 ++// ----------------------------------------------- ++// bit 31:8 -- es_pack_size ++// bit 7:6 -- es_type 00-Video, 01-Audio, 10-Subtitle ++// bit 5 -- es_write ++// bit 4 -- es_passthrough ++// bit 3 -- insert_before_es_write ++// bit 2 -- discard_cmd ++// bit 1 -- search_cmd ++// bit 0 -- Parser Busy ++#define PARSER_CONTROL (0x3860) ++#define P_PARSER_CONTROL (volatile unsigned int *)((0x3860 << 2) + 0xffd00000) ++// Write ++// bit 31:0 begin address for parser fetch ++// Read ++// 32 bit current fetch address ++#define PARSER_FETCH_ADDR (0x3861) ++#define P_PARSER_FETCH_ADDR (volatile unsigned int *)((0x3861 << 2) + 0xffd00000) ++// Write ++// bit 31 circle buffer indicator ++// bit 30 check_buffer_stop_addr ++// bit 29:27 fetch endian ++// bit 26:0 buffer size ( Bytes ) ++// Special command: ++// when bit 26:0 == 27'h0 ++// then bit 29 -- stream_passthrough_enable ++// bit 28:27 -- stream_passthrough_type ++// Read ++// 6:5 cmd_rd_ptr ++// 4:3 cmd_wr_ptr ++// 2:0 cmd_number ++#define PARSER_FETCH_CMD (0x3862) ++#define P_PARSER_FETCH_CMD (volatile unsigned int *)((0x3862 << 2) + 0xffd00000) ++// 31:0 stop_fetch_addr ++#define PARSER_FETCH_STOP_ADDR (0x3863) ++#define P_PARSER_FETCH_STOP_ADDR (volatile unsigned int *)((0x3863 << 2) + 0xffd00000) ++// 31:0 stop_fetch_addr - current_write_addr // read only ++#define PARSER_FETCH_LEVEL (0x3864) ++#define P_PARSER_FETCH_LEVEL (volatile unsigned int *)((0x3864 << 2) + 0xffd00000) ++// bit 31 - fetch_dma_urgent ++// bit 30 - stream_dma_urgent ++// bit 29 - force_pfifo_ren ++// bit 28 - pfifo_peak_enable ++// bit 27 - enable_free_clk_parser_reg ++// bit 26 - ++// bit 25:24 - parser_src_sel (00 - fetch, 01 - aux1, 10 - aux2 11 - aux3) ++// bit 23:16 - pfifo_empty_count ++// bit 15:12 - max_es_write_cycle (x16x64bits) ++// 11:10 - start code width ( 00-8bits, 01-16bits, 10-24bits, 11-32bits ) ++// 9:8 - pfifo data access width ( 00-8bits, 01-16bits, 10-24bits, 11-32bits ) ++// 7:0 - empty room for fetch data ( max_fetch_cycle ) x64 bits ++#define PARSER_CONFIG (0x3865) ++#define P_PARSER_CONFIG (volatile unsigned int *)((0x3865 << 2) + 0xffd00000) ++// bit 24:16 -- pfifo_level ++// bit 9:0 -- point to byte address ++#define PFIFO_WR_PTR (0x3866) ++#define P_PFIFO_WR_PTR (volatile unsigned int *)((0x3866 << 2) + 0xffd00000) ++// bit 9:0 -- point to byte address ++#define PFIFO_RD_PTR (0x3867) ++#define P_PFIFO_RD_PTR (volatile unsigned int *)((0x3867 << 2) + 0xffd00000) ++// bit 31:0 -- 8/16/24/32 bits data acording to pfifo_data_width ++#define PFIFO_DATA (0x3868) ++#define P_PFIFO_DATA (volatile unsigned int *)((0x3868 << 2) + 0xffd00000) ++// bit 31:0 -- parser search pattern ++#define PARSER_SEARCH_PATTERN (0x3869) ++#define P_PARSER_SEARCH_PATTERN (volatile unsigned int *)((0x3869 << 2) + 0xffd00000) ++// bit 31:0 -- parser search mask ( 0 - disable bit match test ) ++#define PARSER_SEARCH_MASK (0x386a) ++#define P_PARSER_SEARCH_MASK (volatile unsigned int *)((0x386a << 2) + 0xffd00000) ++// bit 31:16 -- parser_int_disable_count ++// bit 15:8 -- Parser interrupt enable for host cpu ++// bit 7:0 -- Parser interrupt enable for Amrisc ++#define PARSER_INT_ENABLE (0x386b) ++#define P_PARSER_INT_ENABLE (volatile unsigned int *)((0x386b << 2) + 0xffd00000) ++// Bit 7 -- fetch_cmd_finished ++// Bit 6:5 -- reserved ++// Bit 4 -- parse finished ++// Bit 3 -- discard finished ++// Bit 2 -- insert zero finished ++// Bit 1 -- Action Finished Except Search Start Code ++// Bit 0 -- Search match interrupt (StartCode found) ++// Read 7:0 int status ++// Write will clear (bit based) ++#define PARSER_INT_STATUS (0x386c) ++#define P_PARSER_INT_STATUS (volatile unsigned int *)((0x386c << 2) + 0xffd00000) ++// 15 - SCR_32_READ_OUT (Read Only) ++// 14 - SCR_32_data_valid ++// 13 - SCR_32_data ++// 12 - SCR_count_en ++// 11:0 - SCR90K_DIV ++#define PARSER_SCR_CTL (0x386d) ++#define P_PARSER_SCR_CTL (volatile unsigned int *)((0x386d << 2) + 0xffd00000) ++// bit 31:0 SCR value ++#define PARSER_SCR (0x386e) ++#define P_PARSER_SCR (volatile unsigned int *)((0x386e << 2) + 0xffd00000) ++// bit 31:24 -- insert_loop_number ++// bit 23:21 -- ++// bit 20:16 -- insert_byte_number ++// bit 15:0 -- discard number ++#define PARSER_PARAMETER (0x386f) ++#define P_PARSER_PARAMETER (volatile unsigned int *)((0x386f << 2) + 0xffd00000) ++// bit 31:0 -- insert data // write only ++// write to PARSER_CONTROL will reset the write position ++// continous write to this address can write upto 16 bytes ++#define PARSER_INSERT_DATA (0x3870) ++#define P_PARSER_INSERT_DATA (volatile unsigned int *)((0x3870 << 2) + 0xffd00000) ++// Bit 31:24 -- Reserved Stream_ID ++// Bit 23:16 -- Sub Stream_ID ++// Bit 15:8 -- Audio Stream_ID ++// Bit 7:0 -- Video Stream_ID ++#define VAS_STREAM_ID (0x3871) ++#define P_VAS_STREAM_ID (volatile unsigned int *)((0x3871 << 2) + 0xffd00000) ++// Bit 31:0 -- VIDEO_DTS ++#define VIDEO_DTS (0x3872) ++#define P_VIDEO_DTS (volatile unsigned int *)((0x3872 << 2) + 0xffd00000) ++// Bit 31:0 -- VIDEO_PTS ++#define VIDEO_PTS (0x3873) ++#define P_VIDEO_PTS (volatile unsigned int *)((0x3873 << 2) + 0xffd00000) ++// Bit 31:0 -- VIDEO_PTS_DTS_WR_PTR ++#define VIDEO_PTS_DTS_WR_PTR (0x3874) ++#define P_VIDEO_PTS_DTS_WR_PTR (volatile unsigned int *)((0x3874 << 2) + 0xffd00000) ++// Bit 31:0 -- AUDIO_PTS ++#define AUDIO_PTS (0x3875) ++#define P_AUDIO_PTS (volatile unsigned int *)((0x3875 << 2) + 0xffd00000) ++// Bit 31:0 -- AUDIO_PTS_WR_PTR ++#define AUDIO_PTS_WR_PTR (0x3876) ++#define P_AUDIO_PTS_WR_PTR (volatile unsigned int *)((0x3876 << 2) + 0xffd00000) ++// bit 31:20 -- stream_es_count ( Read Only) ++// bit 19 -- req_pending ( parser ddr_A_fifo ) (Read Only) ++// bit 18 -- stream_es_passthrough_enable ++// bit 17:16 -- stream_es_passthrough_type ++// bit 15:13 -- VIDEO2 Ees_write Endian ++// bit 12 -- VIDEO2 using manual read point ++// bit 11:9 -- SUB Ees_write Endian ++// bit 8 -- SUB using manual read point ++// bit 7:5 -- AUDIO Ees_write Endian ++// bit 4 -- AUDIO using manual read point ++// bit 3:1 -- VIDEO Ees_write Endian ++// bit 0 -- VIDEO using manual read point ++#define PARSER_ES_CONTROL (0x3877) ++#define P_PARSER_ES_CONTROL (volatile unsigned int *)((0x3877 << 2) + 0xffd00000) ++// Bit 31:0 PFIFO_MONITOR ++#define PFIFO_MONITOR (0x3878) ++#define P_PFIFO_MONITOR (volatile unsigned int *)((0x3878 << 2) + 0xffd00000) ++// -------------------------------------------- ++// PARSER_VIDEO DDR Interface ++// -------------------------------------------- ++// The PARSER_VIDEO start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define PARSER_VIDEO_START_PTR (0x3880) ++#define P_PARSER_VIDEO_START_PTR (volatile unsigned int *)((0x3880 << 2) + 0xffd00000) ++#define PARSER_VIDEO_END_PTR (0x3881) ++#define P_PARSER_VIDEO_END_PTR (volatile unsigned int *)((0x3881 << 2) + 0xffd00000) ++// -------------------------------------------- ++// PARSER_VIDEO Buffer Level Manager ++// -------------------------------------------- ++#define PARSER_VIDEO_WP (0x3882) ++#define P_PARSER_VIDEO_WP (volatile unsigned int *)((0x3882 << 2) + 0xffd00000) ++#define PARSER_VIDEO_RP (0x3883) ++#define P_PARSER_VIDEO_RP (volatile unsigned int *)((0x3883 << 2) + 0xffd00000) ++#define PARSER_VIDEO_HOLE (0x3884) ++#define P_PARSER_VIDEO_HOLE (volatile unsigned int *)((0x3884 << 2) + 0xffd00000) ++// -------------------------------------------- ++// PARSER_AUDIO DDR Interface ++// -------------------------------------------- ++// The PARSER_AUDIO start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define PARSER_AUDIO_START_PTR (0x3885) ++#define P_PARSER_AUDIO_START_PTR (volatile unsigned int *)((0x3885 << 2) + 0xffd00000) ++#define PARSER_AUDIO_END_PTR (0x3886) ++#define P_PARSER_AUDIO_END_PTR (volatile unsigned int *)((0x3886 << 2) + 0xffd00000) ++// -------------------------------------------- ++// PARSER_AUDIO Buffer Level Manager ++// -------------------------------------------- ++#define PARSER_AUDIO_WP (0x3887) ++#define P_PARSER_AUDIO_WP (volatile unsigned int *)((0x3887 << 2) + 0xffd00000) ++#define PARSER_AUDIO_RP (0x3888) ++#define P_PARSER_AUDIO_RP (volatile unsigned int *)((0x3888 << 2) + 0xffd00000) ++#define PARSER_AUDIO_HOLE (0x3889) ++#define P_PARSER_AUDIO_HOLE (volatile unsigned int *)((0x3889 << 2) + 0xffd00000) ++// -------------------------------------------- ++// PARSER_SUB DDR Interface ++// -------------------------------------------- ++// The PARSER_SUB start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define PARSER_SUB_START_PTR (0x388a) ++#define P_PARSER_SUB_START_PTR (volatile unsigned int *)((0x388a << 2) + 0xffd00000) ++#define PARSER_SUB_END_PTR (0x388b) ++#define P_PARSER_SUB_END_PTR (volatile unsigned int *)((0x388b << 2) + 0xffd00000) ++// -------------------------------------------- ++// PARSER_SUB Buffer Level Manager ++// -------------------------------------------- ++#define PARSER_SUB_WP (0x388c) ++#define P_PARSER_SUB_WP (volatile unsigned int *)((0x388c << 2) + 0xffd00000) ++#define PARSER_SUB_RP (0x388d) ++#define P_PARSER_SUB_RP (volatile unsigned int *)((0x388d << 2) + 0xffd00000) ++#define PARSER_SUB_HOLE (0x388e) ++#define P_PARSER_SUB_HOLE (volatile unsigned int *)((0x388e << 2) + 0xffd00000) ++// Bit[31] dma_busy ++// Bit[30] cur_fetch_or_es_write ++// Bit[29:28] reserved ++// Bit[27:24] fetch_status ++// Bit[23:0] buffer_cycles_left ++#define PARSER_FETCH_INFO (0x388f) ++#define P_PARSER_FETCH_INFO (volatile unsigned int *)((0x388f << 2) + 0xffd00000) ++// Bit[31:28] ctl_status ++// Bit[27:24] insert_byte_offset ++// Bit[23:0] es_pack_left_cycle ++#define PARSER_STATUS (0x3890) ++#define P_PARSER_STATUS (volatile unsigned int *)((0x3890 << 2) + 0xffd00000) ++// Bit [31:16] AUDIO_wrap_count ++// Bit [15:0] VIDEO_wrap_count ++#define PARSER_AV_WRAP_COUNT (0x3891) ++#define P_PARSER_AV_WRAP_COUNT (volatile unsigned int *)((0x3891 << 2) + 0xffd00000) ++// bit[29:24] A_brst_num_parser ++// bit[21:16] A_id_parser ++// bit[11:0] wrrsp_count_parser ++#define WRRSP_PARSER (0x3892) ++#define P_WRRSP_PARSER (volatile unsigned int *)((0x3892 << 2) + 0xffd00000) ++// `define CSS_cmd 12'h200 // address of css command and indirect register ++// `define CSS_cntl 12'h201 // css control register ++// `define CSS_data 12'h202 // indirect register ++// `define CSS_id1_data 12'h203 // ID data for the first and second bytes ++// `define CSS_id2_data 12'h204 // ID data for the third and fourth bytes ++//CPPM registers ++// `define CPPM_IFIFO_CTRL 12'h210 //CPPM input FIFO control ++// `define CPPM_C2BC_KEY 12'h211 //CPPM C2 Block Cipher Key register ++// `define CPPM_C2BC_DIN 12'h212 //CPPM C2 Block Cipher data input register ++// `define CPPM_C2BC_DOUT 12'h213 //CPPM C2 Block Cipher data result register ++// `define CPPM_CMD 12'h214 //CPPM command and control register ++// `define CPPM_CTRL_STATUS 12'h215 //CPPM control status, mainly for debug ++// `define CPPM_IFIFO_DATA 12'h216 //CPPM input FIFO data pop port, just for debug ++// -------------------------------------------- ++// PARSER_VIDEO2 DDR Interface ++// -------------------------------------------- ++// The PARSER_VIDEO2 start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define PARSER_VIDEO2_START_PTR (0x3893) ++#define P_PARSER_VIDEO2_START_PTR (volatile unsigned int *)((0x3893 << 2) + 0xffd00000) ++#define PARSER_VIDEO2_END_PTR (0x3894) ++#define P_PARSER_VIDEO2_END_PTR (volatile unsigned int *)((0x3894 << 2) + 0xffd00000) ++// -------------------------------------------- ++// PARSER_VIDEO2 Buffer Level Manager ++// -------------------------------------------- ++#define PARSER_VIDEO2_WP (0x3895) ++#define P_PARSER_VIDEO2_WP (volatile unsigned int *)((0x3895 << 2) + 0xffd00000) ++#define PARSER_VIDEO2_RP (0x3896) ++#define P_PARSER_VIDEO2_RP (volatile unsigned int *)((0x3896 << 2) + 0xffd00000) ++#define PARSER_VIDEO2_HOLE (0x3897) ++#define P_PARSER_VIDEO2_HOLE (volatile unsigned int *)((0x3897 << 2) + 0xffd00000) ++// Bit [31:16] AUDIO_wrap_count ++// Bit [15:0] VIDEO2_wrap_count ++#define PARSER_AV2_WRAP_COUNT (0x3898) ++#define P_PARSER_AV2_WRAP_COUNT (volatile unsigned int *)((0x3898 << 2) + 0xffd00000) ++// DDR registers ++//`define USE_DDR2 ++//======================================================================== ++// DVIN Registers (12'h2e0 - 12'h2ef) ++// ++//======================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DVIN_CBUS_BASE = 0x08 ++// ----------------------------------------------- ++// Bit 31:12 Rsrv ++// Bit 11:10 RW, vs_hs_tim_ctrl: Controls which edge of HS/VS the active pixel/line is related: ++// bit[0]=0: start of active pixel is counted from the rising edge of HS; ++// bit[0]=1: start of active pixel is counted from the falling edge of HS; ++// bit[1]=0: start of active line is counted from the rising edge of VS; ++// bit[1]=1: start of active line is counted from the falling edge of VS. ++// Bit 9 RW, sample_clk_neg: 1=invert input dvin_clk ++// Bit 8: 7 RW, mode_422to444: 0=No convertion; 1=Rsrv; 2=Convert 422 to 444, use previous C value; 3=Convert 422 to 444, use average C value. ++// Bit 6: 5 RW, de_mode: 0x=ignore input DE signal, use internal detection to to determine active pixel; ++// 10=during active pixel, if DE is low, replace input data with the last good data before DE goes low; ++// 11=Active pixel is determined by DE, no internal detection. ++// Bit 4 RW, ext_field_sel: 1=Select external input Field, 0=Use internal detected Field. ++// Bit 3 RW, field_pol_inv: set to 1 if input Field is low active and ext_field_sel=1 ++// Bit 2 RW, de_pol_inv: set to 1 if input DE is low active ++// Bit 1 RW, vs_pol_inv: set to 1 if input VS is low active ++// Bit 0 RW, hs_pol_inv: set to 1 if input HS is low active ++#define DVIN_FRONT_END_CTRL (0x08e0) ++#define P_DVIN_FRONT_END_CTRL (volatile unsigned int *)((0x08e0 << 2) + 0xffd00000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, hs_lead_vs_odd_max: Criteria for HW detecting odd/even Field internally: max clock cycles allowed for HS ++// active edge to lead before VS active edge, in odd field. Failing it the field is even. ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, hs_lead_vs_odd_min: Criteria for HW detecting odd/even Field internally -- min clock cycles allowed for HS ++// active edge to lead before VS active edge, in odd field. Failing it the field is even. ++#define DVIN_HS_LEAD_VS_ODD (0x08e1) ++#define P_DVIN_HS_LEAD_VS_ODD (volatile unsigned int *)((0x08e1 << 2) + 0xffd00000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, active_start_pix_fo ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, active_start_pix_fe ++#define DVIN_ACTIVE_START_PIX (0x08e2) ++#define P_DVIN_ACTIVE_START_PIX (volatile unsigned int *)((0x08e2 << 2) + 0xffd00000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, active_start_line_fo ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, active_start_line_fe ++#define DVIN_ACTIVE_START_LINE (0x08e3) ++#define P_DVIN_ACTIVE_START_LINE (volatile unsigned int *)((0x08e3 << 2) + 0xffd00000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, field_height_m1 ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, line_width_m1 ++#define DVIN_DISPLAY_SIZE (0x08e4) ++#define P_DVIN_DISPLAY_SIZE (volatile unsigned int *)((0x08e4 << 2) + 0xffd00000) ++// Bit 31 Rsrv ++// Bit 30 R, vs_in_polarity: 0=active high; 1=active low. ++// Bit 29 R, hs_in_polarity: 0=active high; 1=active low. ++// Bit 28 R, field_odd ++// Bit 27:16 R, hs_lead_vs_cnt ++// Bit 15: 4 Rsrv ++// Bit 3: 1 RW, data_comp_map: Re-map input data to form YCbCr. ++// 0=YCbCr is {[29:20], [19:10], [ 9: 0]}; ++// 1=YCbCr is {[29:20], [ 9: 0], [19:10]}; ++// 2=YCbCr is {[ 9: 0], [29:20], [19:10]}; ++// 3=YCbCr is {[19:10], [29:20], [ 9: 0]}; ++// 4=YCbCr is {[19:10], [ 9: 0], [29:20]}; ++// 5=YCbCr is {[ 9: 0], [19:10], [29:20]}; ++// 6,7=Rsrv ++// Bit 0 RW, dvin_enable ++#define DVIN_CTRL_STAT (0x08e5) ++#define P_DVIN_CTRL_STAT (volatile unsigned int *)((0x08e5 << 2) + 0xffd00000) ++//======================================================================== ++// DOS registers APB allocation from 32'hd0050000 ++// ++//======================================================================== ++//======================================================================= ++// XIF module ++// `include "xregs.h" ++ #define X_INT_ADR 0x400 ++ #define GPIO_ADR 0x401 ++ #define GPIO_ADR_H8 0x402 ++ #define WFIFO_DEPTH 8 ++ #define WFIFO_PointerWidth 3 ++ #define WFIFO_WORDSIZE 32 ++// MAC module ++// move them to cpu domain. ++//`define CLR_ACC_MAC 12'h410 ++//`define CLR_ACC_MAC2 12'h411 ++//`define ACC_0 12'h412 ++//`define ACC_1 12'h413 ++//`define ACC_2 12'h414 ++//`define ACC_3 12'h415 ++//======================================================================== ++// Audio EQ DRC Interface (15'h1400 - 15'h14ff) ++// ++//======================================================================== ++// ++// Reading file: audio_eq_drc.h ++// ++// ----------------------------------------------- ++// CBUS_BASE: AED_CBUS_BASE = 0x10 ++// ----------------------------------------------- ++ ++/* defined in g12a secure_apb.h */ ++#if 0 ++#define AED_EQ_CH1_COEF00 (0x1000) ++#define P_AED_EQ_CH1_COEF00 (volatile unsigned int *)((0x1000 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF01 (0x1001) ++#define P_AED_EQ_CH1_COEF01 (volatile unsigned int *)((0x1001 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF02 (0x1002) ++#define P_AED_EQ_CH1_COEF02 (volatile unsigned int *)((0x1002 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF03 (0x1003) ++#define P_AED_EQ_CH1_COEF03 (volatile unsigned int *)((0x1003 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF04 (0x1004) ++#define P_AED_EQ_CH1_COEF04 (volatile unsigned int *)((0x1004 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF10 (0x1005) ++#define P_AED_EQ_CH1_COEF10 (volatile unsigned int *)((0x1005 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF11 (0x1006) ++#define P_AED_EQ_CH1_COEF11 (volatile unsigned int *)((0x1006 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF12 (0x1007) ++#define P_AED_EQ_CH1_COEF12 (volatile unsigned int *)((0x1007 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF13 (0x1008) ++#define P_AED_EQ_CH1_COEF13 (volatile unsigned int *)((0x1008 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF14 (0x1009) ++#define P_AED_EQ_CH1_COEF14 (volatile unsigned int *)((0x1009 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF20 (0x100a) ++#define P_AED_EQ_CH1_COEF20 (volatile unsigned int *)((0x100a << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF21 (0x100b) ++#define P_AED_EQ_CH1_COEF21 (volatile unsigned int *)((0x100b << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF22 (0x100c) ++#define P_AED_EQ_CH1_COEF22 (volatile unsigned int *)((0x100c << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF23 (0x100d) ++#define P_AED_EQ_CH1_COEF23 (volatile unsigned int *)((0x100d << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF24 (0x100e) ++#define P_AED_EQ_CH1_COEF24 (volatile unsigned int *)((0x100e << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF30 (0x100f) ++#define P_AED_EQ_CH1_COEF30 (volatile unsigned int *)((0x100f << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF31 (0x1010) ++#define P_AED_EQ_CH1_COEF31 (volatile unsigned int *)((0x1010 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF32 (0x1011) ++#define P_AED_EQ_CH1_COEF32 (volatile unsigned int *)((0x1011 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF33 (0x1012) ++#define P_AED_EQ_CH1_COEF33 (volatile unsigned int *)((0x1012 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF34 (0x1013) ++#define P_AED_EQ_CH1_COEF34 (volatile unsigned int *)((0x1013 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF40 (0x1014) ++#define P_AED_EQ_CH1_COEF40 (volatile unsigned int *)((0x1014 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF41 (0x1015) ++#define P_AED_EQ_CH1_COEF41 (volatile unsigned int *)((0x1015 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF42 (0x1016) ++#define P_AED_EQ_CH1_COEF42 (volatile unsigned int *)((0x1016 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF43 (0x1017) ++#define P_AED_EQ_CH1_COEF43 (volatile unsigned int *)((0x1017 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF44 (0x1018) ++#define P_AED_EQ_CH1_COEF44 (volatile unsigned int *)((0x1018 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF50 (0x1019) ++#define P_AED_EQ_CH1_COEF50 (volatile unsigned int *)((0x1019 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF51 (0x101a) ++#define P_AED_EQ_CH1_COEF51 (volatile unsigned int *)((0x101a << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF52 (0x101b) ++#define P_AED_EQ_CH1_COEF52 (volatile unsigned int *)((0x101b << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF53 (0x101c) ++#define P_AED_EQ_CH1_COEF53 (volatile unsigned int *)((0x101c << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF54 (0x101d) ++#define P_AED_EQ_CH1_COEF54 (volatile unsigned int *)((0x101d << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF60 (0x101e) ++#define P_AED_EQ_CH1_COEF60 (volatile unsigned int *)((0x101e << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF61 (0x101f) ++#define P_AED_EQ_CH1_COEF61 (volatile unsigned int *)((0x101f << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF62 (0x1020) ++#define P_AED_EQ_CH1_COEF62 (volatile unsigned int *)((0x1020 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF63 (0x1021) ++#define P_AED_EQ_CH1_COEF63 (volatile unsigned int *)((0x1021 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF64 (0x1022) ++#define P_AED_EQ_CH1_COEF64 (volatile unsigned int *)((0x1022 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF70 (0x1023) ++#define P_AED_EQ_CH1_COEF70 (volatile unsigned int *)((0x1023 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF71 (0x1024) ++#define P_AED_EQ_CH1_COEF71 (volatile unsigned int *)((0x1024 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF72 (0x1025) ++#define P_AED_EQ_CH1_COEF72 (volatile unsigned int *)((0x1025 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF73 (0x1026) ++#define P_AED_EQ_CH1_COEF73 (volatile unsigned int *)((0x1026 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF74 (0x1027) ++#define P_AED_EQ_CH1_COEF74 (volatile unsigned int *)((0x1027 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF80 (0x1028) ++#define P_AED_EQ_CH1_COEF80 (volatile unsigned int *)((0x1028 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF81 (0x1029) ++#define P_AED_EQ_CH1_COEF81 (volatile unsigned int *)((0x1029 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF82 (0x102a) ++#define P_AED_EQ_CH1_COEF82 (volatile unsigned int *)((0x102a << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF83 (0x102b) ++#define P_AED_EQ_CH1_COEF83 (volatile unsigned int *)((0x102b << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF84 (0x102c) ++#define P_AED_EQ_CH1_COEF84 (volatile unsigned int *)((0x102c << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF90 (0x102d) ++#define P_AED_EQ_CH1_COEF90 (volatile unsigned int *)((0x102d << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF91 (0x102e) ++#define P_AED_EQ_CH1_COEF91 (volatile unsigned int *)((0x102e << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF92 (0x102f) ++#define P_AED_EQ_CH1_COEF92 (volatile unsigned int *)((0x102f << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF93 (0x1030) ++#define P_AED_EQ_CH1_COEF93 (volatile unsigned int *)((0x1030 << 2) + 0xffd00000) ++#define AED_EQ_CH1_COEF94 (0x1031) ++#define P_AED_EQ_CH1_COEF94 (volatile unsigned int *)((0x1031 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF00 (0x1032) ++#define P_AED_EQ_CH2_COEF00 (volatile unsigned int *)((0x1032 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF01 (0x1033) ++#define P_AED_EQ_CH2_COEF01 (volatile unsigned int *)((0x1033 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF02 (0x1034) ++#define P_AED_EQ_CH2_COEF02 (volatile unsigned int *)((0x1034 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF03 (0x1035) ++#define P_AED_EQ_CH2_COEF03 (volatile unsigned int *)((0x1035 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF04 (0x1036) ++#define P_AED_EQ_CH2_COEF04 (volatile unsigned int *)((0x1036 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF10 (0x1037) ++#define P_AED_EQ_CH2_COEF10 (volatile unsigned int *)((0x1037 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF11 (0x1038) ++#define P_AED_EQ_CH2_COEF11 (volatile unsigned int *)((0x1038 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF12 (0x1039) ++#define P_AED_EQ_CH2_COEF12 (volatile unsigned int *)((0x1039 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF13 (0x103a) ++#define P_AED_EQ_CH2_COEF13 (volatile unsigned int *)((0x103a << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF14 (0x103b) ++#define P_AED_EQ_CH2_COEF14 (volatile unsigned int *)((0x103b << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF20 (0x103c) ++#define P_AED_EQ_CH2_COEF20 (volatile unsigned int *)((0x103c << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF21 (0x103d) ++#define P_AED_EQ_CH2_COEF21 (volatile unsigned int *)((0x103d << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF22 (0x103e) ++#define P_AED_EQ_CH2_COEF22 (volatile unsigned int *)((0x103e << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF23 (0x103f) ++#define P_AED_EQ_CH2_COEF23 (volatile unsigned int *)((0x103f << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF24 (0x1040) ++#define P_AED_EQ_CH2_COEF24 (volatile unsigned int *)((0x1040 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF30 (0x1041) ++#define P_AED_EQ_CH2_COEF30 (volatile unsigned int *)((0x1041 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF31 (0x1042) ++#define P_AED_EQ_CH2_COEF31 (volatile unsigned int *)((0x1042 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF32 (0x1043) ++#define P_AED_EQ_CH2_COEF32 (volatile unsigned int *)((0x1043 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF33 (0x1044) ++#define P_AED_EQ_CH2_COEF33 (volatile unsigned int *)((0x1044 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF34 (0x1045) ++#define P_AED_EQ_CH2_COEF34 (volatile unsigned int *)((0x1045 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF40 (0x1046) ++#define P_AED_EQ_CH2_COEF40 (volatile unsigned int *)((0x1046 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF41 (0x1047) ++#define P_AED_EQ_CH2_COEF41 (volatile unsigned int *)((0x1047 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF42 (0x1048) ++#define P_AED_EQ_CH2_COEF42 (volatile unsigned int *)((0x1048 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF43 (0x1049) ++#define P_AED_EQ_CH2_COEF43 (volatile unsigned int *)((0x1049 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF44 (0x104a) ++#define P_AED_EQ_CH2_COEF44 (volatile unsigned int *)((0x104a << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF50 (0x104b) ++#define P_AED_EQ_CH2_COEF50 (volatile unsigned int *)((0x104b << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF51 (0x104c) ++#define P_AED_EQ_CH2_COEF51 (volatile unsigned int *)((0x104c << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF52 (0x104d) ++#define P_AED_EQ_CH2_COEF52 (volatile unsigned int *)((0x104d << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF53 (0x104e) ++#define P_AED_EQ_CH2_COEF53 (volatile unsigned int *)((0x104e << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF54 (0x104f) ++#define P_AED_EQ_CH2_COEF54 (volatile unsigned int *)((0x104f << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF60 (0x1050) ++#define P_AED_EQ_CH2_COEF60 (volatile unsigned int *)((0x1050 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF61 (0x1051) ++#define P_AED_EQ_CH2_COEF61 (volatile unsigned int *)((0x1051 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF62 (0x1052) ++#define P_AED_EQ_CH2_COEF62 (volatile unsigned int *)((0x1052 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF63 (0x1053) ++#define P_AED_EQ_CH2_COEF63 (volatile unsigned int *)((0x1053 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF64 (0x1054) ++#define P_AED_EQ_CH2_COEF64 (volatile unsigned int *)((0x1054 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF70 (0x1055) ++#define P_AED_EQ_CH2_COEF70 (volatile unsigned int *)((0x1055 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF71 (0x1056) ++#define P_AED_EQ_CH2_COEF71 (volatile unsigned int *)((0x1056 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF72 (0x1057) ++#define P_AED_EQ_CH2_COEF72 (volatile unsigned int *)((0x1057 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF73 (0x1058) ++#define P_AED_EQ_CH2_COEF73 (volatile unsigned int *)((0x1058 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF74 (0x1059) ++#define P_AED_EQ_CH2_COEF74 (volatile unsigned int *)((0x1059 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF80 (0x105a) ++#define P_AED_EQ_CH2_COEF80 (volatile unsigned int *)((0x105a << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF81 (0x105b) ++#define P_AED_EQ_CH2_COEF81 (volatile unsigned int *)((0x105b << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF82 (0x105c) ++#define P_AED_EQ_CH2_COEF82 (volatile unsigned int *)((0x105c << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF83 (0x105d) ++#define P_AED_EQ_CH2_COEF83 (volatile unsigned int *)((0x105d << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF84 (0x105e) ++#define P_AED_EQ_CH2_COEF84 (volatile unsigned int *)((0x105e << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF90 (0x105f) ++#define P_AED_EQ_CH2_COEF90 (volatile unsigned int *)((0x105f << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF91 (0x1060) ++#define P_AED_EQ_CH2_COEF91 (volatile unsigned int *)((0x1060 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF92 (0x1061) ++#define P_AED_EQ_CH2_COEF92 (volatile unsigned int *)((0x1061 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF93 (0x1062) ++#define P_AED_EQ_CH2_COEF93 (volatile unsigned int *)((0x1062 << 2) + 0xffd00000) ++#define AED_EQ_CH2_COEF94 (0x1063) ++#define P_AED_EQ_CH2_COEF94 (volatile unsigned int *)((0x1063 << 2) + 0xffd00000) ++#define AED_EQ_EN (0x1064) ++#define P_AED_EQ_EN (volatile unsigned int *)((0x1064 << 2) + 0xffd00000) ++#define AED_EQ_VOLUME (0x1065) ++#define P_AED_EQ_VOLUME (volatile unsigned int *)((0x1065 << 2) + 0xffd00000) ++#define AED_EQ_VOLUME_SLEW_CNT (0x1066) ++#define P_AED_EQ_VOLUME_SLEW_CNT (volatile unsigned int *)((0x1066 << 2) + 0xffd00000) ++#define AED_MUTE (0x1067) ++#define P_AED_MUTE (volatile unsigned int *)((0x1067 << 2) + 0xffd00000) ++#define AED_DRC_EN (0x1070) ++#define P_AED_DRC_EN (volatile unsigned int *)((0x1070 << 2) + 0xffd00000) ++#define AED_DRC_AE (0x1071) ++#define P_AED_DRC_AE (volatile unsigned int *)((0x1071 << 2) + 0xffd00000) ++#define AED_DRC_AA (0x1072) ++#define P_AED_DRC_AA (volatile unsigned int *)((0x1072 << 2) + 0xffd00000) ++#define AED_DRC_AD (0x1073) ++#define P_AED_DRC_AD (volatile unsigned int *)((0x1073 << 2) + 0xffd00000) ++#define AED_DRC_AE_1M (0x1074) ++#define P_AED_DRC_AE_1M (volatile unsigned int *)((0x1074 << 2) + 0xffd00000) ++#define AED_DRC_AA_1M (0x1075) ++#define P_AED_DRC_AA_1M (volatile unsigned int *)((0x1075 << 2) + 0xffd00000) ++#define AED_DRC_AD_1M (0x1076) ++#define P_AED_DRC_AD_1M (volatile unsigned int *)((0x1076 << 2) + 0xffd00000) ++#define AED_DRC_OFFSET0 (0x1077) ++#define P_AED_DRC_OFFSET0 (volatile unsigned int *)((0x1077 << 2) + 0xffd00000) ++#define AED_DRC_OFFSET1 (0x1078) ++#define P_AED_DRC_OFFSET1 (volatile unsigned int *)((0x1078 << 2) + 0xffd00000) ++#define AED_DRC_THD0 (0x1079) ++#define P_AED_DRC_THD0 (volatile unsigned int *)((0x1079 << 2) + 0xffd00000) ++#define AED_DRC_THD1 (0x107a) ++#define P_AED_DRC_THD1 (volatile unsigned int *)((0x107a << 2) + 0xffd00000) ++#define AED_DRC_K0 (0x107b) ++#define P_AED_DRC_K0 (volatile unsigned int *)((0x107b << 2) + 0xffd00000) ++#define AED_DRC_K1 (0x107c) ++#define P_AED_DRC_K1 (volatile unsigned int *)((0x107c << 2) + 0xffd00000) ++#define AED_CLIP_THD (0x107d) ++#define P_AED_CLIP_THD (volatile unsigned int *)((0x107d << 2) + 0xffd00000) ++#define AED_NG_THD0 (0x107e) ++#define P_AED_NG_THD0 (volatile unsigned int *)((0x107e << 2) + 0xffd00000) ++#define AED_NG_THD1 (0x107f) ++#define P_AED_NG_THD1 (volatile unsigned int *)((0x107f << 2) + 0xffd00000) ++#define AED_NG_CNT_THD (0x1080) ++#define P_AED_NG_CNT_THD (volatile unsigned int *)((0x1080 << 2) + 0xffd00000) ++#define AED_NG_CTL (0x1081) ++#define P_AED_NG_CTL (volatile unsigned int *)((0x1081 << 2) + 0xffd00000) ++#define AED_ED_CTL (0x1082) ++#define P_AED_ED_CTL (volatile unsigned int *)((0x1082 << 2) + 0xffd00000) ++#define AED_DEBUG0 (0x1083) ++#define P_AED_DEBUG0 (volatile unsigned int *)((0x1083 << 2) + 0xffd00000) ++#define AED_DEBUG1 (0x1084) ++#define P_AED_DEBUG1 (volatile unsigned int *)((0x1084 << 2) + 0xffd00000) ++#define AED_DEBUG2 (0x1085) ++#define P_AED_DEBUG2 (volatile unsigned int *)((0x1085 << 2) + 0xffd00000) ++#define AED_DEBUG3 (0x1086) ++#define P_AED_DEBUG3 (volatile unsigned int *)((0x1086 << 2) + 0xffd00000) ++#define AED_DEBUG4 (0x1087) ++#define P_AED_DEBUG4 (volatile unsigned int *)((0x1087 << 2) + 0xffd00000) ++#define AED_DEBUG5 (0x1088) ++#define P_AED_DEBUG5 (volatile unsigned int *)((0x1088 << 2) + 0xffd00000) ++#define AED_DEBUG6 (0x1089) ++#define P_AED_DEBUG6 (volatile unsigned int *)((0x1089 << 2) + 0xffd00000) ++#define AED_TOP_CTL (0x1090) ++#define P_AED_TOP_CTL (volatile unsigned int *)((0x1090 << 2) + 0xffd00000) ++#endif ++ ++// ++// Closing file: audio_eq_drc.h ++// ++//======================================================================== ++// Audio Interface (12'h500 - 12'h5ff) ++// ++//======================================================================== ++// ++// Reading file: aregs.h ++// ++//======================================================================== ++// Audio Interface (8'h00 - 8'hff) ++// Modified : Xuyun Chen Jan 2001 ++//======================================================================== ++// Number of bytes expected per NON-PCM frame, including the header. ++// 16 bits. ++// ----------------------------------------------- ++// CBUS_BASE: AIU_CBUS_BASE = 0x14 ++// ----------------------------------------------- ++#define AIU_958_BPF (0x1400) ++#define P_AIU_958_BPF (volatile unsigned int *)((0x1400 << 2) + 0xffd00000) ++// Value of burst_info used in IEC958 preamble for a NON-PCM frame. See ++// ATSC AC-3 spec Annex B. 16 bits. ++#define AIU_958_BRST (0x1401) ++#define P_AIU_958_BRST (volatile unsigned int *)((0x1401 << 2) + 0xffd00000) ++// Value of length_code used in IEC958 preamble for an NON-PCM frame. See ++// ATSC AC-3 spec Annex B. 16 bits. ++#define AIU_958_LENGTH (0x1402) ++#define P_AIU_958_LENGTH (volatile unsigned int *)((0x1402 << 2) + 0xffd00000) ++// How many subframes to padd around the NON-PCM frame. This will ++// be set to 'd3072 if it is a AC-3 audio stream. ++// 16 bits ++#define AIU_958_PADDSIZE (0x1403) ++#define P_AIU_958_PADDSIZE (volatile unsigned int *)((0x1403 << 2) + 0xffd00000) ++// 16'd3072 ++// Misc. control settings for IEC958 interface ++// Bit 15:14 pcm_sample_ctl, 00-pcm_no_sample, 01-pcm_sample_up, 10-pcm_sample_down, 11-pcm_sample_down_drop ++// Bit 13: if true, force each audio data to left or right according to the bit attached with the audio data ++// This bit should be used with Register AIU_958_force_left(0x505) together ++// Bit 12: if true, the U(user data) is from the stream otherwise it is filled by ++// zero while encoding iec958 frame ++// Bit 11 : if true big endian(highword,lowword) otherwise little endian(lowword,highword) ++// for 32bit mode ++// Bit 10:8 : shift number for 32 bit mode ++// Bit 7 : 32 bit mode turn on while This bit is true and Bit 1 is true ++// Bit 6:5 : Specifies output alignment for 16 bit pcm data. ++// 00 : dout = {8'b0, din}; ++// 01 : dout = {4'b0, din, 4'b0}; ++// 10 : dout = { din, 8'b0}; ++// Bit 4 : True if data should be sent out MSB first. LSB first is the ++// default in the spec. ++// Bit 3 : True if msb should be extended (only used with 16 bit pcm data.) ++// Bit 2 : True if msb of PCM data should be inverted. ++// Bit 1 : True if PCM data is 16 bits wide. False if 24 bit or 32bit mode. ++// Bit 0 : True if source data is non-PCM data. False if it is PCM data. ++#define AIU_958_MISC (0x1404) ++#define P_AIU_958_MISC (volatile unsigned int *)((0x1404 << 2) + 0xffd00000) ++// 14'b0_0_0_000_0_0000001 ++// A write to this register specifies that the next pcm sample sent out ++// of the iec958 interface should go into the _left_ channel. ++#define AIU_958_FORCE_LEFT (0x1405) ++#define P_AIU_958_FORCE_LEFT (volatile unsigned int *)((0x1405 << 2) + 0xffd00000) ++//Read Only ++//bit 6:0 how many data discarded in the last dma after one frame data finish transfering to AIU ++// should used together with register AIU_958_dcu_ff_ctrl ++#define AIU_958_DISCARD_NUM (0x1406) ++#define P_AIU_958_DISCARD_NUM (volatile unsigned int *)((0x1406 << 2) + 0xffd00000) ++//bit 15:8 : A read from this register indicates the IEC958 FIFO count value ++//bit 7 : ai_958_req_size if ture, set to 8 bits interface, used to handle odd frame continous read ++//bit 6 : continue seeking and dont discard the rest data in one dma after frame end ++//bit 5 : if true, byte by byte seeking, otherwise word by word seeking ++//bit 4 : if true, the function for sync head seeking is enabled ++//bit 3:2 : IEC958 interrupt mode ++// There are two conditions to generate interrupt. The First condition is that one frame data ++// have been finished writing into FIFO. The second condition is at least some data of the current ++// frame have been read out(refer to Register AIU_958_ffrdout_thd) ++// 00: interrupt is not generated ++// 10: interrupt is generated if the first condition is true ++// 01: interrupt is generated if the second condition is true ++// 11: interrupt is generated if both of the conditions are true ++//bit 1: fifo auto disable, High means after one frame data put into the FIFO, the FIFO ++// will automatically disabled ++//bit 0: fifo enable ++#define AIU_958_DCU_FF_CTRL (0x1407) ++#define P_AIU_958_DCU_FF_CTRL (volatile unsigned int *)((0x1407 << 2) + 0xffd00000) ++// 'b0_0_1_11_1_0 ++// channel status registers for Left channel ++// chstat_l0[15:0] contains bits 15:0 of the channel status word. Note ++// that bit zero of the channel status word is sent out first. ++// chstat_l1[15:0] contains bits 31:16 of the channel status word. ++#define AIU_958_CHSTAT_L0 (0x1408) ++#define P_AIU_958_CHSTAT_L0 (volatile unsigned int *)((0x1408 << 2) + 0xffd00000) ++#define AIU_958_CHSTAT_L1 (0x1409) ++#define P_AIU_958_CHSTAT_L1 (volatile unsigned int *)((0x1409 << 2) + 0xffd00000) ++// Control register for IEC958 interface ++// Bit 9:8 what to do if there is a fifo underrun ++// 00 => insert 24'h000000 ++// 01 => insert mute constant as defined below ++// 10 => repeat last l/r samples ++// Bit 7:5 mute constant ++// 000 => 24'h000000 ++// 001 => 24'h800000 ++// 010 => 24'h080000 ++// 011 => 24'h008000 ++// 100 => 24'h000001 ++// 101 => 24'h000010 ++// 110 => 24'h000100 ++// Bit 4 mute left speaker ++// Bit 3 mute right speaker ++// Bit 2:1 swap channels ++// 00 : L R => L R ++// 01 : L R => L L ++// 10 : L R => R R ++// 11 : L R => R L ++// Bit 0 Set this bit to hold iec958 interface after the current ++// subframe has been completely transmitted. ++#define AIU_958_CTRL (0x140a) ++#define P_AIU_958_CTRL (volatile unsigned int *)((0x140a << 2) + 0xffd00000) ++// 10'b00_000_00_00_0 ++// A write operation to this register will cause one of the output samples ++// to be repeated. This can be used to switch the left and the right ++// channels. ++#define AIU_958_RPT (0x140b) ++#define P_AIU_958_RPT (volatile unsigned int *)((0x140b << 2) + 0xffd00000) ++// Channel swap and mute control register. ++// Bit 15: Mute extra left channel ++// Bit 14: Mute extra right channel ++// Bit 13: Mute center ++// Bit 12: Mute subwoofer ++// Bit 11: Mute surround left ++// Bit 10: Mute surround right ++// Bit 9: Mute left ++// Bit 8: Mute right ++// Bit 7:6 Channel swap for xtra dac ++// Bit 5:4 Channel swap for sub/center dac ++// Bit 3:2 Channel swap for surround dac ++// Bit 1:0 Channel swap for main l/r dac ++// Channel swap possibilities: ++// 00 : L R => L R ++// 01 : L R => L L ++// 10 : L R => R R ++// 11 : L R => R L ++#define AIU_I2S_MUTE_SWAP (0x140c) ++#define P_AIU_I2S_MUTE_SWAP (volatile unsigned int *)((0x140c << 2) + 0xffd00000) ++// 16'b0 ++// Bit 0 : 0=> single two channel stream ++// 1=> four two channel streams ++#define AIU_I2S_SOURCE_DESC (0x140d) ++#define P_AIU_I2S_SOURCE_DESC (volatile unsigned int *)((0x140d << 2) + 0xffd00000) ++// Median filter control register ++// Bit 1: 0=> data is offset binary ++// 1=> data is signed ++// Bit 0: enable median filter ++#define AIU_I2S_MED_CTRL (0x140e) ++#define P_AIU_I2S_MED_CTRL (volatile unsigned int *)((0x140e << 2) + 0xffd00000) ++// 2'b10 ++// Median filter threshold constant ++// 16 bits ++#define AIU_I2S_MED_THRESH (0x140f) ++#define P_AIU_I2S_MED_THRESH (volatile unsigned int *)((0x140f << 2) + 0xffd00000) ++// 16'h8000 ++// Describes dac's connected to I2S interface ++// Bit 7: sign extend sample before downshift. ++// Bit 6:4 payload downshift constant ++// Bit 3: mute constant ++// 0 => 'h0000000 ++// 1 => 'h800000 ++// Bit 2: send msb first ++// Bit 1:0 Size of payload ++// Note that this parameter used to be called "size of dacs" ++// It is now called the payload size since a 24 bit payload can ++// actually be connected to any size of dac. The dac will simply ++// disregard the extra bits. ++// 00 => 16 bit, alrclk = aoclk/32 ++// 01 => 20 bit, alrclk = aoclk/40 ++// 10 => 24 bit, alrclk = aoclk/48 ++// 11 => 24 bit, but alrclk = aoclk/64 ++#define AIU_I2S_DAC_CFG (0x1410) ++#define P_AIU_I2S_DAC_CFG (volatile unsigned int *)((0x1410 << 2) + 0xffd00000) ++// 8'b0_000_1_1_10 ++// A write to this register will cause the interface to repeat the current ++// sample. Can be used to regain synchronization. ++// A read from this register indicates that the next sample to be sent ++// out of the interface should go into the _left_ channel of the dac. ++#define AIU_I2S_SYNC (0x1411) ++#define P_AIU_I2S_SYNC (volatile unsigned int *)((0x1411 << 2) + 0xffd00000) ++// Misc regs ++// Bit 4 if true, force each audio data to left or right according to the bit attached with the audio data ++// This bit should be used with Register AIU_i2s_sync(0x511) together ++// Bit 3: Same Audio source for IEC958 and I2s stream 0, both from i2s buffer ++// Bit 2: Set this bit to put i2s interface in hold mode ++// Bit 1:0 How to handle underruns ++// 00 => send zeros ++// 01 => send 'h800000 ++// 10 => repeat last samples ++#define AIU_I2S_MISC (0x1412) ++#define P_AIU_I2S_MISC (volatile unsigned int *)((0x1412 << 2) + 0xffd00000) ++// 5'b0 ++// Bit 7:0 Audio output config. ++// 2 bits for each dac, 7:6 for dac3, 5:4 for dac2, ++// 3:2 for dac1, 1:0 for dac0 ++// For each 2bits: 00: connect channel0-1 to the dac ++// 01: connect channel2-3 to the dac ++// 10: connect channel4-5 to the dac ++// 11: connect channel6-7 to the dac ++#define AIU_I2S_OUT_CFG (0x1413) ++#define P_AIU_I2S_OUT_CFG (volatile unsigned int *)((0x1413 << 2) + 0xffd00000) ++// 8'b0_000000_0 ++#define AIU_I2S_FF_CTRL (0x1414) ++#define P_AIU_I2S_FF_CTRL (volatile unsigned int *)((0x1414 << 2) + 0xffd00000) ++// A write to this register resets the AIU ++//Bit 3 reset slow domain iec958 ++//Bit 2 soft reset iec958 fast domain ++//Bit 1 reset slow domain i2s ++//Bit 0 soft reset i2s fast domain ++#define AIU_RST_SOFT (0x1415) ++#define P_AIU_RST_SOFT (volatile unsigned int *)((0x1415 << 2) + 0xffd00000) ++// Clock generation control register ++// Bit 15: enable_ddr_arb, set low to reset ++// Bit 14:13 parser_A_addr_sel 00-A_addr_aififo2, 01-A_addr_iec958, 10-A_addr_aififo, 11-A_addr_i2s ++// Bit 12: 958 divisor more, if true, divided by 2, 4, 6, 8 ++// Bit 11: amclk output divisor ++// 0 => dont divide ++// 1 => divide by 2 ++// Bit 10: clock source selection ++// 0 => aiclk from pin ++// 1 => ai_pll_clk from pll ++// Bit 9:8 alrclk skew ++// 00 => alrclk transitions at the same time msb is sent ++// 01 => alrclk transitions on the cycle before msb is sent ++// 10 => alrclk transitions on the cycle after msb is sent ++// Bit 7: invert alrclk ++// Bit 6: invert aoclk ++// Bit 5:4 958 divisor ++// 00 => divide by 1 ++// 01 => divide by 2 ++// 10 => divide by 3 ++// 11 => divide by 4 ++// Bit 3:2 i2s divisor. NOTE: this value is ignored if AIU_clk_ctrl_more[5:0] != 0 ++// 00 => divide by 1 ++// 01 => divide by 2 ++// 10 => divide by 4 ++// 11 => divide by 8 ++// Bit 1: enable 958 divider ++// Bit 0: enable i2s divider ++#define AIU_CLK_CTRL (0x1416) ++#define P_AIU_CLK_CTRL (volatile unsigned int *)((0x1416 << 2) + 0xffd00000) ++// 13'b0_0_1_01_1_1_10_11_0_0 ++// Misc settings that determine the type of adc that is ++// connected to the AIU. Reverb mode is deleted. ++// Bit 12: selects adc input ++// Bit 11:10 adc size ++// 00 => 16 bits ++// 01 => 18 bits ++// 10 => 20 bits ++// 11 => 24 bits ++// Bit 9:8 adc l/r swap mode ++// 00 => stereo ++// 01 => send the right adc input to both l and r speakers ++// 01 => send the left adc input to both l and r speakers ++// 11 => sum the left and right inputs and forward to ++// both speakers ++// Bit 7:5 adata/lrclk skew mode ++// Bit 4 1=>invert the adc's lrclk (This is the lrclk going _out_ ++// of the chip. ++// Bit 3 1=>Latch the data on the positive edge of the _internal_ ++// aoclk. ++// Bit 2 1=>adc data is in signed 2's complement mode ++#define AIU_MIX_ADCCFG (0x1417) ++#define P_AIU_MIX_ADCCFG (volatile unsigned int *)((0x1417 << 2) + 0xffd00000) ++// 12'b01_00_001_1_0_1_00 ++// Control register that can be changed dynamically. These control ++// signals are synchronized internally. ++// Bit 12: if true, toggle each mixed audio data to left or right channel ++// Bit 11: abuf din left selection, if true, select bit 24 of the data from abuf ++// otherwise select bit 25 of the data from abuf ++// Bit 10:9 mix sync select, when music, mic and abuf are mixed togather, the main ++// sync source can be selected ++// 00: not sync source ++// 01: music data is the main sync source ++// 10: abuf input data is the main sync source ++// 11: music and abuf togather as the sync source ++// Bit 8: 0=> data from abuf is offset binary ++// 1=> data from abuf is signed ++// Bit 7:6 the source for data from aiu to abuf ++// 00 => mic ++// 01 => mic saled + abuf scaled ++// 10 => mic scaled + abuf scaled + music scaled ++// 11 => music ++// Bit 5 channel from aiu to abuf is on ++// Bit 4 channel from abuf to aiu is on ++// Bit 3 mic is on ++// Bit 2 music is on ++// Bit 1 if true the mixed data are outputed to i2s dac channel, ++// otherwise the mixed data are outputed to IEC958 output ++// Bit 0 if true music source for mixing is from i2s buffer, ++// otherwise music source is from iec958 buffer ++#define AIU_MIX_CTRL (0x1418) ++#define P_AIU_MIX_CTRL (volatile unsigned int *)((0x1418 << 2) + 0xffd00000) ++// 11'b01_1_01_0_0_0_1_1_1 ++// Bit 15 invert_audin_sclk. ++// Bit 14 enable_adc_sclk. ++// Bit 13: 8 divisor_adc_sclk. ++// Bit 7 invert_acodec_adc_sclk. ++// Bit 6 hdmitx_sel_aoclkx2: 0=Select cts_clk_i958 as AIU clk to hdmi_tx_audio_master_clk; 1=Select cts_aoclkx2_int as AIU clk to hdmi_tx_audio_master_clk; ++// Bit 5: 0 More control on i2s divisor. For backward compatiblity, this value is ignored if is 0, ++// if non-zero, it takes effect over AIU_clk_ctrl[3:2]. ++// 0=i2s divisor will use the old value in AIU_clk_ctrl[3:2] (divide by 1/2/4/8) ++// 1=divide by 2; ++// 2=divide by 3; ++// 3=divide by 4; ++// ... and so on ... ++// 63=divide by 64. ++#define AIU_CLK_CTRL_MORE (0x1419) ++#define P_AIU_CLK_CTRL_MORE (volatile unsigned int *)((0x1419 << 2) + 0xffd00000) ++// A read from this register pops 16 bits of data off the 958 ++// fifo. A write has no effect. ++#define AIU_958_POP (0x141a) ++#define P_AIU_958_POP (volatile unsigned int *)((0x141a << 2) + 0xffd00000) ++//gain register for mixing ++// for each gain, ++// 00000: x 0 ++// 00001: x 1 ++// 00010: x 2 ++// 00011: x 3 ++// 00100: x 4 ++// 00101: x 5 ++// 00110: x 6 ++// ...... ++// 01110: x14 ++// 01111: x15 ++// 10000: x 0 ++// 10001: x 1/16 ++// 10010: x 2/16 ++// 10011: x 3/16 ++// 10100: x 4/16 ++// ...... ++// 11110: x 14/16 ++// 11111: x 15/16 ++//Bit 14:10 mic gain ++//Bit 9:5 abuf gain ++//Bit 4:0 music gain ++#define AIU_MIX_GAIN (0x141b) ++#define P_AIU_MIX_GAIN (volatile unsigned int *)((0x141b << 2) + 0xffd00000) ++// 15'b00001_00001_00001 ++//sync head seeking is supported. The maxinium length of sync head is ++//48-bit-wide.(in byte by byte seeking mode, the maximium is 44-bit-wide). ++//It is consisted of 3 words (synword1_synword2_syncword3). ++//You can configure the sync head pattern by using sync mask(mask1_mask2_mask3). ++//For example. AC-3 sync head is a 16-bit word(0b77), so syncword1 is set as 0b77, ++//mask1 is 0000(not set), mask2 and mask3 is all masked. ++#define AIU_958_SYNWORD1 (0x141c) ++#define P_AIU_958_SYNWORD1 (volatile unsigned int *)((0x141c << 2) + 0xffd00000) ++//16'h0b77 //ac-3 sync head ++#define AIU_958_SYNWORD2 (0x141d) ++#define P_AIU_958_SYNWORD2 (volatile unsigned int *)((0x141d << 2) + 0xffd00000) ++//16'h0000 ++#define AIU_958_SYNWORD3 (0x141e) ++#define P_AIU_958_SYNWORD3 (volatile unsigned int *)((0x141e << 2) + 0xffd00000) ++//16'h0000 ++#define AIU_958_SYNWORD1_MASK (0x141f) ++#define P_AIU_958_SYNWORD1_MASK (volatile unsigned int *)((0x141f << 2) + 0xffd00000) ++//16'h0000 //16-bit ac-3 sync_head ++#define AIU_958_SYNWORD2_MASK (0x1420) ++#define P_AIU_958_SYNWORD2_MASK (volatile unsigned int *)((0x1420 << 2) + 0xffd00000) ++//16'hffff ++#define AIU_958_SYNWORD3_MASK (0x1421) ++#define P_AIU_958_SYNWORD3_MASK (volatile unsigned int *)((0x1421 << 2) + 0xffd00000) ++//16'hffff ++//fifo read-out threshold, one condition to generate interrupt is met after fifo readout counter ++//reach this value in a frame, please refer to register AIU_958_dcu_ff_ctrl ++#define AIU_958_FFRDOUT_THD (0x1422) ++#define P_AIU_958_FFRDOUT_THD (volatile unsigned int *)((0x1422 << 2) + 0xffd00000) ++//'h0004 ++//For pause burst sequence adding, one pause burst sequence is consist of a serious ++// pause burst. ++//This register defines the length of each pause burst in a pause burst sequence. The size of the ++//preamble(Pa, Pb, Pc, Pd) is not counted, but the size of stuff data is counted. ++#define AIU_958_LENGTH_PER_PAUSE (0x1423) ++#define P_AIU_958_LENGTH_PER_PAUSE (volatile unsigned int *)((0x1423 << 2) + 0xffd00000) ++//'h0000 ++//This reigster defines the number of pause burst in a pause burst sequence. ++//Bit 15 if true, one pause burst sequence will be added ++//Bit 14:0 the number of pause burst in a pause burst sequence ++#define AIU_958_PAUSE_NUM (0x1424) ++#define P_AIU_958_PAUSE_NUM (volatile unsigned int *)((0x1424 << 2) + 0xffd00000) ++//'h0000 ++//The first 16-bit in the payload of pause burst sequence (gap_length) ++#define AIU_958_PAUSE_PAYLOAD (0x1425) ++#define P_AIU_958_PAUSE_PAYLOAD (volatile unsigned int *)((0x1425 << 2) + 0xffd00000) ++//'h0000 ++//For auto pause function, when enabled, pause burst sequence will be automatically added if the data in ++// 958 fifo is less than auto_pause threshold and if fifo is disabled. ++//Bit 15 if true, auto pause function enable ++//Bit 14 pause pack option, just for debugging and adding one option ++//Bit 7:0 auto_pause threshold ++#define AIU_958_AUTO_PAUSE (0x1426) ++#define P_AIU_958_AUTO_PAUSE (volatile unsigned int *)((0x1426 << 2) + 0xffd00000) ++//'h0000 ++//pause burst sequence payload length( = AIU_958_pause_num * AIU_958_length_per_pause) ++#define AIU_958_PAUSE_PD_LENGTH (0x1427) ++#define P_AIU_958_PAUSE_PD_LENGTH (volatile unsigned int *)((0x1427 << 2) + 0xffd00000) ++//'h0000 ++// Bit 15:12 Rsrv. ++// Bit 11: 0 dac_lrclk_div: Default is 48-1=47, which means lrclk is sclk divide by 48. ++#define AIU_CODEC_DAC_LRCLK_CTRL (0x1428) ++#define P_AIU_CODEC_DAC_LRCLK_CTRL (volatile unsigned int *)((0x1428 << 2) + 0xffd00000) ++//'h002f ++// Bit 15:14 Rsrv. ++// Bit 13 inv_audin_lrclk: whether to invert lrclk before output to Audin ++// Bit 12 inv_acodec_adc_lrclk: whether to invert lrclk before output to Audio Codec ++// Bit 11: 0 adc_lrclk_div: Default is 48-1=47, which means lrclk is sclk divide by 48. ++#define AIU_CODEC_ADC_LRCLK_CTRL (0x1429) ++#define P_AIU_CODEC_ADC_LRCLK_CTRL (volatile unsigned int *)((0x1429 << 2) + 0xffd00000) ++//'h002f ++// Bit 15:6 Rsrv. ++// Bit 5: 4 hdmi_data_sel: 00=output 0, disable hdmi data; 01=Select pcm data; 10=Select AIU I2S data; 11=Not allowed. ++// Bit 3: 2 Rsrv. ++// Bit 1: 0 hdmi_clk_sel: 00=Disable output hdmi clock; 01=Select pcm clock; 10=Select AIU clk; 11=Not allowed. ++#define AIU_HDMI_CLK_DATA_CTRL (0x142a) ++#define P_AIU_HDMI_CLK_DATA_CTRL (volatile unsigned int *)((0x142a << 2) + 0xffd00000) ++//'h0000 ++// Bit 15:6 Rsrv. ++// Bit 5: 4 acodec_data_sel: 00=output 0, disable acodec_sdin; 01=Select pcm data; 10=Select AIU I2S data; 11=Not allowed. ++// Bit 3: 2 Rsrv. ++// Bit 1: 0 acodec_clk_sel: 00=Disable output acodec_sclk; 01=Select pcm clock; 10=Select AIU aoclk; 11=Not allowed. ++#define AIU_CODEC_CLK_DATA_CTRL (0x142b) ++#define P_AIU_CODEC_CLK_DATA_CTRL (volatile unsigned int *)((0x142b << 2) + 0xffd00000) ++//'h0000 ++#define AIU_ACODEC_CTRL (0x142c) ++#define P_AIU_ACODEC_CTRL (volatile unsigned int *)((0x142c << 2) + 0xffd00000) ++// channel status registers for right channel ++// chstat_r0[15:0] contains bits 15:0 of the channel status word. Note ++// that bit zero of the channel status word is sent out first. ++// chstat_r1[15:0] contains bits 31:16 of the channel status word. ++#define AIU_958_CHSTAT_R0 (0x1430) ++#define P_AIU_958_CHSTAT_R0 (volatile unsigned int *)((0x1430 << 2) + 0xffd00000) ++#define AIU_958_CHSTAT_R1 (0x1431) ++#define P_AIU_958_CHSTAT_R1 (volatile unsigned int *)((0x1431 << 2) + 0xffd00000) ++//Bit 1 if true, turn on Digital output Valid control ++//Bit 0 0: output 0, 1: output 1 to the valid bit in audio digital output when Bit 1 is true ++#define AIU_958_VALID_CTRL (0x1432) ++#define P_AIU_958_VALID_CTRL (volatile unsigned int *)((0x1432 << 2) + 0xffd00000) ++//----------------------------------------------------------------------------- ++// Audio Amplifier controls ++//----------------------------------------------------------------------------- ++#define AIU_AUDIO_AMP_REG0 (0x143c) ++#define P_AIU_AUDIO_AMP_REG0 (volatile unsigned int *)((0x143c << 2) + 0xffd00000) ++#define AIU_AUDIO_AMP_REG1 (0x143d) ++#define P_AIU_AUDIO_AMP_REG1 (volatile unsigned int *)((0x143d << 2) + 0xffd00000) ++#define AIU_AUDIO_AMP_REG2 (0x143e) ++#define P_AIU_AUDIO_AMP_REG2 (volatile unsigned int *)((0x143e << 2) + 0xffd00000) ++#define AIU_AUDIO_AMP_REG3 (0x143f) ++#define P_AIU_AUDIO_AMP_REG3 (volatile unsigned int *)((0x143f << 2) + 0xffd00000) ++//----------------------------------------------------------------------------- ++//add for AIFIFO2 channel ++//----------------------------------------------------------------------------- ++//Bit 3 CRC pop aififo2 enable ++//Bit 2 writing to this bit to 1 causes CRC module reset ++//Bit 1 unused ++//Bit 0 writing to this bit to 1 causes AIFIFO2 soft reset ++#define AIU_AIFIFO2_CTRL (0x1440) ++#define P_AIU_AIFIFO2_CTRL (volatile unsigned int *)((0x1440 << 2) + 0xffd00000) ++//'h0000 ++//AIFIFO2 status register ++//Bit 4:0 //how many bits left in the first pop register ++#define AIU_AIFIFO2_STATUS (0x1441) ++#define P_AIU_AIFIFO2_STATUS (volatile unsigned int *)((0x1441 << 2) + 0xffd00000) ++//Same fucntion as the AIGBIT of AIFIFO in CDROM module ++//write to this register how many bits wanna pop, ++//and reading this register gets the corresponding bits data ++#define AIU_AIFIFO2_GBIT (0x1442) ++#define P_AIU_AIFIFO2_GBIT (volatile unsigned int *)((0x1442 << 2) + 0xffd00000) ++//Same function as the AICLB of AIFIFO in CDROM module ++//return the leading zeros by reading this registers ++#define AIU_AIFIFO2_CLB (0x1443) ++#define P_AIU_AIFIFO2_CLB (volatile unsigned int *)((0x1443 << 2) + 0xffd00000) ++//CRC control register, read/write ++//Bit 0 CRC caculation start ++//Bit 1 CRC core soft reset ++//Bit 2 CRC input register clear ++//Bit 3 CRC pop data from FIFO enable ++//Bit 13:8 CRC polynomial equation order, between 1 to 32 ++#define AIU_CRC_CTRL (0x1444) ++#define P_AIU_CRC_CTRL (volatile unsigned int *)((0x1444 << 2) + 0xffd00000) ++//16'h1000 ++//CRC status register, read only ++//Bit 7:4 CRC internal shift register bit select, just for debug purpose ++//Bit 3 CRC internal shift register data valid, just for debug purpose ++//Bit 2 CRC input register data valid ++//Bit 1 CRC result, 1: CRC not correct, 0: CRC correct ++//Bit 0 CRC state, 1: CRC busy, 0: CRC idle ++#define AIU_CRC_STATUS (0x1445) ++#define P_AIU_CRC_STATUS (volatile unsigned int *)((0x1445 << 2) + 0xffd00000) ++//CRC internal shift register, read only, for debug purpose ++#define AIU_CRC_SHIFT_REG (0x1446) ++#define P_AIU_CRC_SHIFT_REG (volatile unsigned int *)((0x1446 << 2) + 0xffd00000) ++//CRC data input register, read/write ++#define AIU_CRC_IREG (0x1447) ++#define P_AIU_CRC_IREG (volatile unsigned int *)((0x1447 << 2) + 0xffd00000) ++//16'h0000 ++//CRC calculation register high-bit part [31:16], read/write ++#define AIU_CRC_CAL_REG1 (0x1448) ++#define P_AIU_CRC_CAL_REG1 (volatile unsigned int *)((0x1448 << 2) + 0xffd00000) ++//CRC calculation register low-bit part [15:0], read/write ++#define AIU_CRC_CAL_REG0 (0x1449) ++#define P_AIU_CRC_CAL_REG0 (volatile unsigned int *)((0x1449 << 2) + 0xffd00000) ++//32'h00000000 ++//CRC polynomial coefficient high-bit part [31:16], read/write ++#define AIU_CRC_POLY_COEF1 (0x144a) ++#define P_AIU_CRC_POLY_COEF1 (volatile unsigned int *)((0x144a << 2) + 0xffd00000) ++//CRC polynomial coefficient low-bit part [15:0], read/write ++#define AIU_CRC_POLY_COEF0 (0x144b) ++#define P_AIU_CRC_POLY_COEF0 (volatile unsigned int *)((0x144b << 2) + 0xffd00000) ++//32'h80050000 default CRC-16 ++//CRC frame size, high-bit part [19:16], read/write ++#define AIU_CRC_BIT_SIZE1 (0x144c) ++#define P_AIU_CRC_BIT_SIZE1 (volatile unsigned int *)((0x144c << 2) + 0xffd00000) ++//CRC frame size, low-bit part [15:0], read/write ++#define AIU_CRC_BIT_SIZE0 (0x144d) ++#define P_AIU_CRC_BIT_SIZE0 (volatile unsigned int *)((0x144d << 2) + 0xffd00000) ++//20'hfffff ++//how many bits have been processed right now in the current frame, read only ++//high-bit part [19:16] ++#define AIU_CRC_BIT_CNT1 (0x144e) ++#define P_AIU_CRC_BIT_CNT1 (volatile unsigned int *)((0x144e << 2) + 0xffd00000) ++//low-bit part [15:0] ++#define AIU_CRC_BIT_CNT0 (0x144f) ++#define P_AIU_CRC_BIT_CNT0 (volatile unsigned int *)((0x144f << 2) + 0xffd00000) ++// ------------------------------------- ++// AMCLK Measurement ++// ------------------------------------- ++// Used to measure the amclk frequency ++#define AIU_AMCLK_GATE_HI (0x1450) ++#define P_AIU_AMCLK_GATE_HI (volatile unsigned int *)((0x1450 << 2) + 0xffd00000) ++#define AIU_AMCLK_GATE_LO (0x1451) ++#define P_AIU_AMCLK_GATE_LO (volatile unsigned int *)((0x1451 << 2) + 0xffd00000) ++#define AIU_AMCLK_MSR (0x1452) ++#define P_AIU_AMCLK_MSR (volatile unsigned int *)((0x1452 << 2) + 0xffd00000) ++#define AIU_AUDAC_CTRL0 (0x1453) ++#define P_AIU_AUDAC_CTRL0 (volatile unsigned int *)((0x1453 << 2) + 0xffd00000) ++// ------------------------------------- ++// Super Simple Delta Sigma DAC ++// ------------------------------------- ++// bit 15 1 = invert the clock to the analog filter ++// bit 14 1 = digital mute ++// bit 13 1 = enable analog mute (in the analog block) ++// bit 12 1 = enable Right channel 3 in the analog block ++// bit 11 1 = enable Left channel 3 in the analog block ++// bit 10 1 = enable Right channel 2 in the analog block ++// bit 9 1 = enable Left channel 2 in the analog block ++// bit 8 1 = enable Right channel 1 in the analog block ++// bit 7 1 = enable Left channel 1 in the analog block ++// bit 6 1 = enable Right channel 0 in the analog block ++// bit 5 1 = enable Left channel 0 in the analog block ++// bit 4: bit select for serial input data ++// bit 3: invert alrclk used by the delta-sigma DAC ++// bit 2: 1 = use serial I2S data. 0 = use parallel audio data ++// bits 1:0 Which data to send to the delta-sigma DAC ++// 11 = use channel 3 data ++// 10 = use channel 2 data ++// 01 = use channel 1 data ++// 00 = use channel 0 data ++#define AIU_DELTA_SIGMA0 (0x1455) ++#define P_AIU_DELTA_SIGMA0 (volatile unsigned int *)((0x1455 << 2) + 0xffd00000) ++// Delta Sigma MUTE Value ++#define AIU_DELTA_SIGMA1 (0x1456) ++#define P_AIU_DELTA_SIGMA1 (volatile unsigned int *)((0x1456 << 2) + 0xffd00000) ++// Additional Audio filter controls ++#define AIU_DELTA_SIGMA2 (0x1457) ++#define P_AIU_DELTA_SIGMA2 (volatile unsigned int *)((0x1457 << 2) + 0xffd00000) ++//Bit 14, left channel Delta Sigma modulator soft reset ++//Bit 13, right channel Delta Sigma modulator soft reset ++//Bit 12, left channel Delta Sigma modulator internal state clear enable when it is unstable ++//Bit 11, right channel Delta Sigma modulator internal state clear enable when it is unstable ++//Bit 10, left channel Delta Sigma detect unstable state enable ++//Bit 9, right channel Delta Sigma detect unstable state enable ++//Bit 8, dither high pass filter enable in the Delta Sigma loop ++//Bit 7:6, reserved ++//Bit 5:0, Delta Sigma input data gain 0/32 ~ 63/32 ++//default: 16'h3 ++#define AIU_DELTA_SIGMA3 (0x1458) ++#define P_AIU_DELTA_SIGMA3 (volatile unsigned int *)((0x1458 << 2) + 0xffd00000) ++//15:8, Added Delta Sigma DC level, range:+-1/2, minimium: +-1/128 (assume max is -1 ~ +1) ++//7:0, max same sequence number, used for unstable detection ++//default: 16'h0 ++#define AIU_DELTA_SIGMA4 (0x1459) ++#define P_AIU_DELTA_SIGMA4 (volatile unsigned int *)((0x1459 << 2) + 0xffd00000) ++//Bit 15:8, square wave divide num ++//Bit 7:0, square wave amplitude, -1/4 ~ 1/4, minimium: +-1/1024 ++//default: 16'h0 ++#define AIU_DELTA_SIGMA5 (0x145a) ++#define P_AIU_DELTA_SIGMA5 (volatile unsigned int *)((0x145a << 2) + 0xffd00000) ++//Bit 11:8, loop dither amplitude2, 0/32 ~ 15/32 ++//Bit 7:4, loop dither amplitude1, 0/32 ~ 15/32 ++//Bit 3:0, loop dither amplitude0, 0/32 ~ 15/32 ++//default: 16'h0 ++#define AIU_DELTA_SIGMA6 (0x145b) ++#define P_AIU_DELTA_SIGMA6 (volatile unsigned int *)((0x145b << 2) + 0xffd00000) ++//Bit 15:8, loop dithering threshold1 0, 1/512, 2/512 ... 1/2 ++//Bit 7:0, loop dithering threshold0 0, 1/512, 2/512 ... 1/2 ++//default: 16'h0 ++#define AIU_DELTA_SIGMA7 (0x145c) ++#define P_AIU_DELTA_SIGMA7 (volatile unsigned int *)((0x145c << 2) + 0xffd00000) ++//read only ++//Bit 15:8 left channel Delta Sigma clear counter number, how many times Delta Sigma has been reseted ++// It will saturate to 255, if more than 255 time ++//Bit 7:0 left channel max same sequence number ++#define AIU_DELTA_SIGMA_LCNTS (0x145d) ++#define P_AIU_DELTA_SIGMA_LCNTS (volatile unsigned int *)((0x145d << 2) + 0xffd00000) ++//read only ++//Bit 15:8 right channel Delta Sigma clear counter number, how many times Delta Sigma has been reseted ++// It will saturate to 255, if more than 255 time ++//Bit 7:0 right channel max same sequence number ++#define AIU_DELTA_SIGMA_RCNTS (0x145e) ++#define P_AIU_DELTA_SIGMA_RCNTS (volatile unsigned int *)((0x145e << 2) + 0xffd00000) ++// -------------------------------------------- ++// I2S DDR Interface ++// -------------------------------------------- ++// The I2S start pointer into DDR memory is a 32-bit number ++#define AIU_MEM_I2S_START_PTR (0x1460) ++#define P_AIU_MEM_I2S_START_PTR (volatile unsigned int *)((0x1460 << 2) + 0xffd00000) ++#define AIU_MEM_I2S_RD_PTR (0x1461) ++#define P_AIU_MEM_I2S_RD_PTR (volatile unsigned int *)((0x1461 << 2) + 0xffd00000) ++#define AIU_MEM_I2S_END_PTR (0x1462) ++#define P_AIU_MEM_I2S_END_PTR (volatile unsigned int *)((0x1462 << 2) + 0xffd00000) ++// There are two masks that control how data is read: ++// [31:16] IRQ block. ++// [15:8] chan_mem_mask. Each bit indicates which channels exist in memory ++// [7:0] chan_rd_mask. Each bit indicates which channels are READ from memory ++#define AIU_MEM_I2S_MASKS (0x1463) ++#define P_AIU_MEM_I2S_MASKS (volatile unsigned int *)((0x1463 << 2) + 0xffd00000) ++// I2S FIFO Control ++// bits [11:10] Select which hardware pointer to use to control the buffer ++// level: ++// 00 = parser ++// 01 = audin_fifo0_wrpt ++// 1x = audin_fifo1_wrpt ++// bit [9] Use level control: 1 = use buffer level control ++// bit [8] Read Only. This bit is 1 when there is data available for reading ++// bit [7] Read only. This bit will be high when we're fetching data from the DDR memory ++// To reset this module, set cntl_enable = 0, and then wait for busy = 0. ++// After that you can pulse cntl_init to start over ++// bit [6] cntl_mode_16bit:Set to 1 for 16 bit storage format in DDR ++// bits [5:3] endian: see $lib/rtl/ddr_endian.v ++// bit [2] cntl_empty_en Set to 1 to enable reading data from the FIFO ++// bit [1] cntl_fill_en Set to 1 to enable reading data from DDR memory ++// bit [0] cntl_init: After setting the read pointers, sizes, channel masks ++// and read masks, set this bit to 1 and then to 0 ++#define AIU_MEM_I2S_CONTROL (0x1464) ++#define P_AIU_MEM_I2S_CONTROL (volatile unsigned int *)((0x1464 << 2) + 0xffd00000) ++// -------------------------------------------- ++// IEC958 DDR Interface ++// -------------------------------------------- ++// The IEC958 start pointer into DDR memory is a 32-bit number ++#define AIU_MEM_IEC958_START_PTR (0x1465) ++#define P_AIU_MEM_IEC958_START_PTR (volatile unsigned int *)((0x1465 << 2) + 0xffd00000) ++#define AIU_MEM_IEC958_RD_PTR (0x1466) ++#define P_AIU_MEM_IEC958_RD_PTR (volatile unsigned int *)((0x1466 << 2) + 0xffd00000) ++#define AIU_MEM_IEC958_END_PTR (0x1467) ++#define P_AIU_MEM_IEC958_END_PTR (volatile unsigned int *)((0x1467 << 2) + 0xffd00000) ++// There are two masks that control how data is read: ++// [15:8] chan_mem_mask. Each bit indicates which channels exist in memory ++// [7:0] chan_rd_mask. Each bit indicates which channels are READ from memory ++#define AIU_MEM_IEC958_MASKS (0x1468) ++#define P_AIU_MEM_IEC958_MASKS (volatile unsigned int *)((0x1468 << 2) + 0xffd00000) ++// IEC958 FIFO Control ++// bit [31] A_urgent ++// bit [30] ch_always_8 ++// bit [29:24] rdata_rd_base_begin ( used for select from different channel ) ++// bit [23:14] reserved ++// bit [13] cntl_sim_en ++// bit [12] cntl_use_level ++// bit [11] Read only. This bit will be set to 1 when there is data in the FIFO to process ++// bit [10] Read only. This bit will be high when we're fetching data from the DDR memory ++// To reset this module, set cntl_enable = 0, and then wait for busy = 0. ++// After that you can pulse cntl_init to start over ++// bit [9] cntl_endian_jic Just in case endian. last minute byte swap of the data out of ++// the FIFO to the rest of the IEC958 logic ++// bit [8] mode_raw: Set this bit to 1 to tell the IEC958 FIFO to read ++// and process data linearly for raw data. ++// bit [7] cntl_mode_16bit:Set to 1 for 16 bit storage format in DDR. Only valid when mode_raw = 0 ++// bit [6] cntl_rd_ddr Set this bit to read if you want AIU_MEM_IEC958_RD_PTR and ++// AIU_MEM_IEC958_RD_PTR_HIGH to refer to the pointer into DDR memory. ++// Otherwise, the curr_ptr registers refer to the byte address of the data ++// at the output of the FIFO to the rest of the IEC958 logic ++// bits [5:3] endian: see $lib/rtl/ddr_endian.v ++// bit [2] cntl_empty_en Set to 1 to enable reading the DDR memory FIFO and filling the pipeline to get-bit ++// Set cntl_empty_en = cntl_fill_en = 0 when pulsing cntl_init ++// bit [1] cntl_fill_en Set to 1 to enable reading data from DDR memory ++// bit [0] cntl_init: After setting the read pointers, sizes, channel masks ++// and read masks, set this bit to 1 and then to 0 ++#define AIU_MEM_IEC958_CONTROL (0x1469) ++#define P_AIU_MEM_IEC958_CONTROL (volatile unsigned int *)((0x1469 << 2) + 0xffd00000) ++// -------------------------------------------- ++// AIFIFO2 DDR Interface ++// -------------------------------------------- ++// The AIFIFO2 start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define AIU_MEM_AIFIFO2_START_PTR (0x146a) ++#define P_AIU_MEM_AIFIFO2_START_PTR (volatile unsigned int *)((0x146a << 2) + 0xffd00000) ++// The current pointer points so some location between the START and END ++// pointers. The current pointer is a BYTE pointer. That is, you can ++// point to any BYTE address within the START/END range ++#define AIU_MEM_AIFIFO2_CURR_PTR (0x146b) ++#define P_AIU_MEM_AIFIFO2_CURR_PTR (volatile unsigned int *)((0x146b << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO2_END_PTR (0x146c) ++#define P_AIU_MEM_AIFIFO2_END_PTR (volatile unsigned int *)((0x146c << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO2_BYTES_AVAIL (0x146d) ++#define P_AIU_MEM_AIFIFO2_BYTES_AVAIL (volatile unsigned int *)((0x146d << 2) + 0xffd00000) ++// AIFIFO2 FIFO Control ++// bit [15:11] unused ++// bit [10] use_level Set this bit to 1 to enable filling of the FIFO controlled by the buffer ++// level control. If this bit is 0, then use bit[1] to control the enabling of filling ++// bit [9] Data Ready. This bit is set when data can be popped ++// bit [8] fill busy This bit will be high when we're fetching data from the DDR memory ++// To reset this module, set cntl_enable = 0, and then wait for busy = 0. ++// After that you can pulse cntl_init to start over ++// bit [7] cntl_endian_jic Just in case endian. last minute byte swap of the data out of ++// the FIFO to getbit ++// bit [6] unused ++// bits [5:3] endian: see $lib/rtl/ddr_endian.v ++// bit [2] cntl_empty_en Set to 1 to enable reading the DDR memory FIFO and filling the pipeline to get-bit ++// Set cntl_empty_en = cntl_fill_en = 0 when pulsing cntl_init ++// bit [1] cntl_fill_en Set to 1 to enable reading data from DDR memory ++// bit [0] cntl_init: After setting the read pointers, sizes, channel masks ++// and read masks, set this bit to 1 and then to 0 ++// NOTE: You don't need to pulse cntl_init if only the start address is ++// being changed ++#define AIU_MEM_AIFIFO2_CONTROL (0x146e) ++#define P_AIU_MEM_AIFIFO2_CONTROL (volatile unsigned int *)((0x146e << 2) + 0xffd00000) ++// -------------------------------------------- ++// AIFIFO2 Buffer Level Manager ++// -------------------------------------------- ++#define AIU_MEM_AIFIFO2_MAN_WP (0x146f) ++#define P_AIU_MEM_AIFIFO2_MAN_WP (volatile unsigned int *)((0x146f << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO2_MAN_RP (0x1470) ++#define P_AIU_MEM_AIFIFO2_MAN_RP (volatile unsigned int *)((0x1470 << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO2_LEVEL (0x1471) ++#define P_AIU_MEM_AIFIFO2_LEVEL (volatile unsigned int *)((0x1471 << 2) + 0xffd00000) ++// ++// bit [1] manual mode Set to 1 for manual write pointer mode ++// bit [0] Init Set high then low after everything has been initialized ++#define AIU_MEM_AIFIFO2_BUF_CNTL (0x1472) ++#define P_AIU_MEM_AIFIFO2_BUF_CNTL (volatile unsigned int *)((0x1472 << 2) + 0xffd00000) ++// -------------------------------------------- ++// I2S Buffer Level Manager ++// -------------------------------------------- ++#define AIU_MEM_I2S_MAN_WP (0x1473) ++#define P_AIU_MEM_I2S_MAN_WP (volatile unsigned int *)((0x1473 << 2) + 0xffd00000) ++#define AIU_MEM_I2S_MAN_RP (0x1474) ++#define P_AIU_MEM_I2S_MAN_RP (volatile unsigned int *)((0x1474 << 2) + 0xffd00000) ++#define AIU_MEM_I2S_LEVEL (0x1475) ++#define P_AIU_MEM_I2S_LEVEL (volatile unsigned int *)((0x1475 << 2) + 0xffd00000) ++// ++// bit [1] mode 0 = parser (or audin_fifo0 or audin_fifo1), ++// 1 for manual write pointer ++// bit [0] Init Set high then low after everything has been initialized ++#define AIU_MEM_I2S_BUF_CNTL (0x1476) ++#define P_AIU_MEM_I2S_BUF_CNTL (volatile unsigned int *)((0x1476 << 2) + 0xffd00000) ++#define AIU_MEM_I2S_BUF_WRAP_COUNT (0x1477) ++#define P_AIU_MEM_I2S_BUF_WRAP_COUNT (volatile unsigned int *)((0x1477 << 2) + 0xffd00000) ++// bit 29:24 A_brst_num ++// bit 21:16 A_id ++// bit 15:0 level_hold ++#define AIU_MEM_I2S_MEM_CTL (0x1478) ++#define P_AIU_MEM_I2S_MEM_CTL (volatile unsigned int *)((0x1478 << 2) + 0xffd00000) ++//----------------------------------------------------------------------------- ++// Additional IEC958 registers (new feature) ++//----------------------------------------------------------------------------- ++// bit 29:24 A_brst_num ++// bit 21:16 A_id ++// bit 15:0 level_hold ++#define AIU_MEM_IEC958_MEM_CTL (0x1479) ++#define P_AIU_MEM_IEC958_MEM_CTL (volatile unsigned int *)((0x1479 << 2) + 0xffd00000) ++#define AIU_MEM_IEC958_WRAP_COUNT (0x147a) ++#define P_AIU_MEM_IEC958_WRAP_COUNT (volatile unsigned int *)((0x147a << 2) + 0xffd00000) ++#define AIU_MEM_IEC958_IRQ_LEVEL (0x147b) ++#define P_AIU_MEM_IEC958_IRQ_LEVEL (volatile unsigned int *)((0x147b << 2) + 0xffd00000) ++#define AIU_MEM_IEC958_MAN_WP (0x147c) ++#define P_AIU_MEM_IEC958_MAN_WP (volatile unsigned int *)((0x147c << 2) + 0xffd00000) ++#define AIU_MEM_IEC958_MAN_RP (0x147d) ++#define P_AIU_MEM_IEC958_MAN_RP (volatile unsigned int *)((0x147d << 2) + 0xffd00000) ++#define AIU_MEM_IEC958_LEVEL (0x147e) ++#define P_AIU_MEM_IEC958_LEVEL (volatile unsigned int *)((0x147e << 2) + 0xffd00000) ++#define AIU_MEM_IEC958_BUF_CNTL (0x147f) ++#define P_AIU_MEM_IEC958_BUF_CNTL (volatile unsigned int *)((0x147f << 2) + 0xffd00000) ++//----------------------------------------------------------------------------- ++// add for AIFIFO channel (old $cdrom/rtl/cdr_top/getbit) ++//----------------------------------------------------------------------------- ++// Bit 3 CRC pop aififo enable ++// Bit 2 writing to this bit to 1 causes CRC module reset ++// Bit 1 enable aififo ++// Bit 0 writing to this bit to 1 causes aififo soft reset ++#define AIU_AIFIFO_CTRL (0x1480) ++#define P_AIU_AIFIFO_CTRL (volatile unsigned int *)((0x1480 << 2) + 0xffd00000) ++//'h0000 ++// AIFIFO status register ++// Bit 13 //aififo request to dcu status ++// Bit 12 //dcu select status ++// Bit 11:5 //aififo word counter number ++// Bit 4:0 //how many bits left in the first pop register ++#define AIU_AIFIFO_STATUS (0x1481) ++#define P_AIU_AIFIFO_STATUS (volatile unsigned int *)((0x1481 << 2) + 0xffd00000) ++// Same fucntion as the AIGBIT of AIFIFO in CDROM module ++// write to this register how many bits wanna pop, ++// and reading this register gets the corresponding bits data ++#define AIU_AIFIFO_GBIT (0x1482) ++#define P_AIU_AIFIFO_GBIT (volatile unsigned int *)((0x1482 << 2) + 0xffd00000) ++// Same function as the AICLB of AIFIFO in CDROM module ++// return the leading zeros by reading this registers ++#define AIU_AIFIFO_CLB (0x1483) ++#define P_AIU_AIFIFO_CLB (volatile unsigned int *)((0x1483 << 2) + 0xffd00000) ++// -------------------------------------------- ++// AIFIFO DDR Interface ++// -------------------------------------------- ++// The AIFIFO start pointer into DDR memory is a 32-bit number ++// The Start pointer will automatically be truncated to land on ++// an 8-byte boundary. That is, bits [2:0] = 0; ++#define AIU_MEM_AIFIFO_START_PTR (0x1484) ++#define P_AIU_MEM_AIFIFO_START_PTR (volatile unsigned int *)((0x1484 << 2) + 0xffd00000) ++// The current pointer points so some location between the START and END ++// pointers. The current pointer is a BYTE pointer. That is, you can ++// point to any BYTE address within the START/END range ++#define AIU_MEM_AIFIFO_CURR_PTR (0x1485) ++#define P_AIU_MEM_AIFIFO_CURR_PTR (volatile unsigned int *)((0x1485 << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO_END_PTR (0x1486) ++#define P_AIU_MEM_AIFIFO_END_PTR (volatile unsigned int *)((0x1486 << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO_BYTES_AVAIL (0x1487) ++#define P_AIU_MEM_AIFIFO_BYTES_AVAIL (volatile unsigned int *)((0x1487 << 2) + 0xffd00000) ++// AIFIFO FIFO Control ++// bit [15:11] unused ++// bit [10] use_level Set this bit to 1 to enable filling of the FIFO controlled by the buffer ++// level control. If this bit is 0, then use bit[1] to control the enabling of filling ++// bit [9] Data Ready. This bit is set when data can be popped ++// bit [8] fill busy This bit will be high when we're fetching data from the DDR memory ++// To reset this module, set cntl_enable = 0, and then wait for busy = 0. ++// After that you can pulse cntl_init to start over ++// bit [7] cntl_endian_jic Just in case endian. last minute byte swap of the data out of ++// the FIFO to getbit ++// bit [6] unused ++// bits [5:3] endian: see $lib/rtl/ddr_endian.v ++// bit [2] cntl_empty_en Set to 1 to enable reading the DDR memory FIFO and filling the pipeline to get-bit ++// Set cntl_empty_en = cntl_fill_en = 0 when pulsing cntl_init ++// bit [1] cntl_fill_en Set to 1 to enable reading data from DDR memory ++// bit [0] cntl_init: After setting the read pointers, sizes, channel masks ++// and read masks, set this bit to 1 and then to 0 ++// NOTE: You don't need to pulse cntl_init if only the start address is ++// being changed ++#define AIU_MEM_AIFIFO_CONTROL (0x1488) ++#define P_AIU_MEM_AIFIFO_CONTROL (volatile unsigned int *)((0x1488 << 2) + 0xffd00000) ++// -------------------------------------------- ++// AIFIFO Buffer Level Manager ++// -------------------------------------------- ++#define AIU_MEM_AIFIFO_MAN_WP (0x1489) ++#define P_AIU_MEM_AIFIFO_MAN_WP (volatile unsigned int *)((0x1489 << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO_MAN_RP (0x148a) ++#define P_AIU_MEM_AIFIFO_MAN_RP (volatile unsigned int *)((0x148a << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO_LEVEL (0x148b) ++#define P_AIU_MEM_AIFIFO_LEVEL (volatile unsigned int *)((0x148b << 2) + 0xffd00000) ++// ++// bit [1] manual mode Set to 1 for manual write pointer mode ++// bit [0] Init Set high then low after everything has been initialized ++#define AIU_MEM_AIFIFO_BUF_CNTL (0x148c) ++#define P_AIU_MEM_AIFIFO_BUF_CNTL (volatile unsigned int *)((0x148c << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO_BUF_WRAP_COUNT (0x148d) ++#define P_AIU_MEM_AIFIFO_BUF_WRAP_COUNT (volatile unsigned int *)((0x148d << 2) + 0xffd00000) ++#define AIU_MEM_AIFIFO2_BUF_WRAP_COUNT (0x148e) ++#define P_AIU_MEM_AIFIFO2_BUF_WRAP_COUNT (volatile unsigned int *)((0x148e << 2) + 0xffd00000) ++// bit 29:24 A_brst_num ++// bit 21:16 A_id ++// bit 15:0 level_hold ++#define AIU_MEM_AIFIFO_MEM_CTL (0x148f) ++#define P_AIU_MEM_AIFIFO_MEM_CTL (volatile unsigned int *)((0x148f << 2) + 0xffd00000) ++// bit 31:16 -- drop_bytes ++// bit 15:14 -- drop_status (Read-Only) ++// bit 13:12 -- sync_match_position (Read-Only) ++// bit 11:6 -- reserved ++// bit 5:4 -- TIME_STAMP_NUMBER, 0-32bits, 1-64bits, 2-96bits, 3-128bits ++// bit 3 -- stamp_soft_reset ++// bit 2 -- TIME_STAMP_length_enable ++// bit 1 -- TIME_STAMP_sync64_enable ++// bit 0 -- TIME_STAMP_enable ++#define AIFIFO_TIME_STAMP_CNTL (0x1490) ++#define P_AIFIFO_TIME_STAMP_CNTL (volatile unsigned int *)((0x1490 << 2) + 0xffd00000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_0 ++#define AIFIFO_TIME_STAMP_SYNC_0 (0x1491) ++#define P_AIFIFO_TIME_STAMP_SYNC_0 (volatile unsigned int *)((0x1491 << 2) + 0xffd00000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_1 ++#define AIFIFO_TIME_STAMP_SYNC_1 (0x1492) ++#define P_AIFIFO_TIME_STAMP_SYNC_1 (volatile unsigned int *)((0x1492 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_0 ++#define AIFIFO_TIME_STAMP_0 (0x1493) ++#define P_AIFIFO_TIME_STAMP_0 (volatile unsigned int *)((0x1493 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_1 ++#define AIFIFO_TIME_STAMP_1 (0x1494) ++#define P_AIFIFO_TIME_STAMP_1 (volatile unsigned int *)((0x1494 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_2 ++#define AIFIFO_TIME_STAMP_2 (0x1495) ++#define P_AIFIFO_TIME_STAMP_2 (volatile unsigned int *)((0x1495 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_3 ++#define AIFIFO_TIME_STAMP_3 (0x1496) ++#define P_AIFIFO_TIME_STAMP_3 (volatile unsigned int *)((0x1496 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_LENGTH ++#define AIFIFO_TIME_STAMP_LENGTH (0x1497) ++#define P_AIFIFO_TIME_STAMP_LENGTH (volatile unsigned int *)((0x1497 << 2) + 0xffd00000) ++// bit 31:16 -- drop_bytes ++// bit 15:14 -- drop_status (Read-Only) ++// bit 13:12 -- sync_match_position (Read-Only) ++// bit 11:6 -- reserved ++// bit 5:4 -- TIME_STAMP_NUMBER, 0-32bits, 1-64bits, 2-96bits, 3-128bits ++// bit 3 -- stamp_soft_reset ++// bit 2 -- TIME_STAMP_length_enable ++// bit 1 -- TIME_STAMP_sync64_enable ++// bit 0 -- TIME_STAMP_enable ++#define AIFIFO2_TIME_STAMP_CNTL (0x1498) ++#define P_AIFIFO2_TIME_STAMP_CNTL (volatile unsigned int *)((0x1498 << 2) + 0xffd00000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_0 ++#define AIFIFO2_TIME_STAMP_SYNC_0 (0x1499) ++#define P_AIFIFO2_TIME_STAMP_SYNC_0 (volatile unsigned int *)((0x1499 << 2) + 0xffd00000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_1 ++#define AIFIFO2_TIME_STAMP_SYNC_1 (0x149a) ++#define P_AIFIFO2_TIME_STAMP_SYNC_1 (volatile unsigned int *)((0x149a << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_0 ++#define AIFIFO2_TIME_STAMP_0 (0x149b) ++#define P_AIFIFO2_TIME_STAMP_0 (volatile unsigned int *)((0x149b << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_1 ++#define AIFIFO2_TIME_STAMP_1 (0x149c) ++#define P_AIFIFO2_TIME_STAMP_1 (volatile unsigned int *)((0x149c << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_2 ++#define AIFIFO2_TIME_STAMP_2 (0x149d) ++#define P_AIFIFO2_TIME_STAMP_2 (volatile unsigned int *)((0x149d << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_3 ++#define AIFIFO2_TIME_STAMP_3 (0x149e) ++#define P_AIFIFO2_TIME_STAMP_3 (volatile unsigned int *)((0x149e << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_LENGTH ++#define AIFIFO2_TIME_STAMP_LENGTH (0x149f) ++#define P_AIFIFO2_TIME_STAMP_LENGTH (volatile unsigned int *)((0x149f << 2) + 0xffd00000) ++// bit 31:16 -- drop_bytes ++// bit 15:14 -- drop_status (Read-Only) ++// bit 13:12 -- sync_match_position (Read-Only) ++// bit 11:6 -- reserved ++// bit 5:4 -- TIME_STAMP_NUMBER, 0-32bits, 1-64bits, 2-96bits, 3-128bits ++// bit 3 -- stamp_soft_reset ++// bit 2 -- TIME_STAMP_length_enable ++// bit 1 -- TIME_STAMP_sync64_enable ++// bit 0 -- TIME_STAMP_enable ++#define IEC958_TIME_STAMP_CNTL (0x14a0) ++#define P_IEC958_TIME_STAMP_CNTL (volatile unsigned int *)((0x14a0 << 2) + 0xffd00000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_0 ++#define IEC958_TIME_STAMP_SYNC_0 (0x14a1) ++#define P_IEC958_TIME_STAMP_SYNC_0 (volatile unsigned int *)((0x14a1 << 2) + 0xffd00000) ++// bit 31:0 -- TIME_STAMP_SYNC_CODE_1 ++#define IEC958_TIME_STAMP_SYNC_1 (0x14a2) ++#define P_IEC958_TIME_STAMP_SYNC_1 (volatile unsigned int *)((0x14a2 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_0 ++#define IEC958_TIME_STAMP_0 (0x14a3) ++#define P_IEC958_TIME_STAMP_0 (volatile unsigned int *)((0x14a3 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_1 ++#define IEC958_TIME_STAMP_1 (0x14a4) ++#define P_IEC958_TIME_STAMP_1 (volatile unsigned int *)((0x14a4 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_2 ++#define IEC958_TIME_STAMP_2 (0x14a5) ++#define P_IEC958_TIME_STAMP_2 (volatile unsigned int *)((0x14a5 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_3 ++#define IEC958_TIME_STAMP_3 (0x14a6) ++#define P_IEC958_TIME_STAMP_3 (volatile unsigned int *)((0x14a6 << 2) + 0xffd00000) ++// bit 31:0 TIME_STAMP_LENGTH ++#define IEC958_TIME_STAMP_LENGTH (0x14a7) ++#define P_IEC958_TIME_STAMP_LENGTH (volatile unsigned int *)((0x14a7 << 2) + 0xffd00000) ++// bit 29:24 A_brst_num ++// bit 21:16 A_id ++// bit 15:0 level_hold ++#define AIU_MEM_AIFIFO2_MEM_CTL (0x14a8) ++#define P_AIU_MEM_AIFIFO2_MEM_CTL (volatile unsigned int *)((0x14a8 << 2) + 0xffd00000) ++// -------------------------------------------- ++// CBUS_DDR interface for I2S_FAST ++// -------------------------------------------- ++// bit[31:26] unused ++// bit[25] A_req level ++// bit[24] data_req If this bit is 1, then (a_req_cnt != 'h0) ++// bit[23:16] a_req_cnt This value corresponds to the number of 32-bit words ++// requested by the i2s_fast() module ++// bit[15:7] unused ++// bit[6] Set this bit to mux in the cbus_ddr_interface ++// bit[5] Set this bit to allow back to back A_req's to be serviced ++// bit[4] Set this bit to generate an IRQ on the first A_req ++// If this bit is 0, then an IRQ is generated after all requests ++// are completed and how many 32-bit words to send is calculated. ++// bit[3:1] Endian ++// bit[0] Set this bit enable the cbus_ddr_interface ++#define AIU_I2S_CBUS_DDR_CNTL (0x14a9) ++#define P_AIU_I2S_CBUS_DDR_CNTL (volatile unsigned int *)((0x14a9 << 2) + 0xffd00000) ++// 32-bit data to write to the cbus_ddr interface ++#define AIU_I2S_CBUS_DDR_WDATA (0x14aa) ++#define P_AIU_I2S_CBUS_DDR_WDATA (volatile unsigned int *)((0x14aa << 2) + 0xffd00000) ++// First address associated with the first request by the i2s_fast() to read DDR data ++#define AIU_I2S_CBUS_DDR_ADDR (0x14ab) ++#define P_AIU_I2S_CBUS_DDR_ADDR (volatile unsigned int *)((0x14ab << 2) + 0xffd00000) ++// ++// Closing file: aregs.h ++// ++//======================================================================== ++// CDROM Interface (12'h600 - 12'h6ff) ++// ++//======================================================================== ++//======================================================================== ++// registers for ge2d (12'h8a0 - 12'h8ff) ++//======================================================================== ++////`include "ge2d_regs.h" // not in cbus domain any more, it is located in vapb3 bus now ++//======================================================================== ++// DSP Co-Processor Registers ( 8'he00 - 12'hfff) ++// ++//======================================================================== ++// Duplicate Address: When actually used ++// please move to a different address ++// `define AUDIO_COP_CTL1 12'hf00 // r & w; r-> 6'h00,bsmod[2:0],acmod[2:0],lfeon,nfchans[2:0] ++// ++// Incorrect format....should be 8'bits only ++// ++// Removed by Chris Maslyar `define AUDIO_COP_CTL2 12'hf01 // r & w; r-> frame_size[12:0],dsurmod[1:0] ++// Removed by Chris Maslyar ++// Removed by Chris Maslyar // f02 -f0d are special regs , not in ac3_reg.h, but used by CPU for AC3 operations ++// Removed by Chris Maslyar ++// Removed by Chris Maslyar `define OPERAND_M_CTL 12'hf02 ++// Removed by Chris Maslyar `define OPERAND1_ADDR 12'hf03 ++// Removed by Chris Maslyar `define OPERAND2_ADDR 12'hf04 ++// Removed by Chris Maslyar `define RESULT_M_CTL 12'hf05 ++// Removed by Chris Maslyar `define RESULT1_ADDR 12'hf06 ++// Removed by Chris Maslyar `define RESULT2_ADDR 12'hf07 ++// Removed by Chris Maslyar `define ADD_SHFT_CTL 12'hf08 ++// Removed by Chris Maslyar `define OPERAND_ONE_H 12'hf09 ++// Removed by Chris Maslyar `define OPERAND_ONE_L 12'hf0a ++// Removed by Chris Maslyar `define OPERAND_TWO_H 12'hf0b ++// Removed by Chris Maslyar `define OPERAND_TWO_L 12'hf0c ++// Removed by Chris Maslyar `define RESULT_H 12'hf0d ++// Removed by Chris Maslyar ++// Removed by Chris Maslyar ++// Removed by Chris Maslyar `define RESULT_M 12'hf0e // r & w; ac3_reg_14 ++// Removed by Chris Maslyar ++// Removed by Chris Maslyar // special reg ++// Removed by Chris Maslyar `define RESULT_L 12'hf0f ++// Removed by Chris Maslyar ++// Removed by Chris Maslyar // ++// Removed by Chris Maslyar `define WMEM_R_PTR 12'hf10 // r & w ; endmant0 &1 ++// Removed by Chris Maslyar ++// Removed by Chris Maslyar `define WMEM_W_PTR 12'hf11 ++// Removed by Chris Maslyar `define AUDIO_LAYER 12'hf20 ++// Removed by Chris Maslyar `define AC3_DECODING 12'hf21 ++// Removed by Chris Maslyar `define AC3_DYNAMIC 12'hf22 ++// Removed by Chris Maslyar `define AC3_MELODY 12'hf23 ++// Removed by Chris Maslyar `define AC3_VOCAL 12'hf24 ++//====================================== ++// CPU Assist module ++// ++//====================================== ++// ----------------------------------------------- ++// CBUS_BASE: ASSIST_CBUS_BASE = 0x20 ++// ----------------------------------------------- ++//`define ASSIST_AMR_MBOX1_INT 8'h4d ++//`define ASSIST_AMR_MBOX2_INT 8'h4e ++#define ASSIST_AMR_SCRATCH0 (0x204f) ++#define P_ASSIST_AMR_SCRATCH0 (volatile unsigned int *)((0x204f << 2) + 0xffd00000) ++#define ASSIST_AMR_SCRATCH1 (0x2050) ++#define P_ASSIST_AMR_SCRATCH1 (volatile unsigned int *)((0x2050 << 2) + 0xffd00000) ++#define ASSIST_AMR_SCRATCH2 (0x2051) ++#define P_ASSIST_AMR_SCRATCH2 (volatile unsigned int *)((0x2051 << 2) + 0xffd00000) ++#define ASSIST_AMR_SCRATCH3 (0x2052) ++#define P_ASSIST_AMR_SCRATCH3 (volatile unsigned int *)((0x2052 << 2) + 0xffd00000) ++#define ASSIST_HW_REV (0x2053) ++#define P_ASSIST_HW_REV (volatile unsigned int *)((0x2053 << 2) + 0xffd00000) ++//`define ASSIST_CBUS_ARB 8'h54 ++#define ASSIST_POR_CONFIG (0x2055) ++#define P_ASSIST_POR_CONFIG (volatile unsigned int *)((0x2055 << 2) + 0xffd00000) ++#define ASSIST_SPARE16_REG1 (0x2056) ++#define P_ASSIST_SPARE16_REG1 (volatile unsigned int *)((0x2056 << 2) + 0xffd00000) ++#define ASSIST_SPARE16_REG2 (0x2057) ++#define P_ASSIST_SPARE16_REG2 (volatile unsigned int *)((0x2057 << 2) + 0xffd00000) ++#define ASSIST_SPARE8_REG1 (0x2058) ++#define P_ASSIST_SPARE8_REG1 (volatile unsigned int *)((0x2058 << 2) + 0xffd00000) ++#define ASSIST_SPARE8_REG2 (0x2059) ++#define P_ASSIST_SPARE8_REG2 (volatile unsigned int *)((0x2059 << 2) + 0xffd00000) ++// Duplicate Address...when used please move to a new address ++// `define TO_AMRISC_REG 8'h59 // for amrisc ++#define ASSIST_SPARE8_REG3 (0x205a) ++#define P_ASSIST_SPARE8_REG3 (volatile unsigned int *)((0x205a << 2) + 0xffd00000) ++// Duplicate Address...when used please move to a new address ++// `define FROM_AMRISC_REG 8'h5a // for amrisc ++// Duplicate Address...when used please move to a new address ++// `define MPEG2_DECODER_CONTROL 8'h5b // for amrisc ++#define AC3_CTRL_REG1 (0x205b) ++#define P_AC3_CTRL_REG1 (volatile unsigned int *)((0x205b << 2) + 0xffd00000) ++#define AC3_CTRL_REG2 (0x205c) ++#define P_AC3_CTRL_REG2 (volatile unsigned int *)((0x205c << 2) + 0xffd00000) ++#define AC3_CTRL_REG3 (0x205d) ++#define P_AC3_CTRL_REG3 (volatile unsigned int *)((0x205d << 2) + 0xffd00000) ++#define AC3_CTRL_REG4 (0x205e) ++#define P_AC3_CTRL_REG4 (volatile unsigned int *)((0x205e << 2) + 0xffd00000) ++//`define ASSIST_PMEM_SPLIT 8'h5f ++#define ASSIST_GEN_CNTL (0x2068) ++#define P_ASSIST_GEN_CNTL (volatile unsigned int *)((0x2068 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX0_IRQ_REG (0x2070) ++#define P_EE_ASSIST_MBOX0_IRQ_REG (volatile unsigned int *)((0x2070 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX0_CLR_REG (0x2071) ++#define P_EE_ASSIST_MBOX0_CLR_REG (volatile unsigned int *)((0x2071 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX0_MASK (0x2072) ++#define P_EE_ASSIST_MBOX0_MASK (volatile unsigned int *)((0x2072 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX0_FIQ_SEL (0x2073) ++#define P_EE_ASSIST_MBOX0_FIQ_SEL (volatile unsigned int *)((0x2073 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX1_IRQ_REG (0x2074) ++#define P_EE_ASSIST_MBOX1_IRQ_REG (volatile unsigned int *)((0x2074 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX1_CLR_REG (0x2075) ++#define P_EE_ASSIST_MBOX1_CLR_REG (volatile unsigned int *)((0x2075 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX1_MASK (0x2076) ++#define P_EE_ASSIST_MBOX1_MASK (volatile unsigned int *)((0x2076 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX1_FIQ_SEL (0x2077) ++#define P_EE_ASSIST_MBOX1_FIQ_SEL (volatile unsigned int *)((0x2077 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX2_IRQ_REG (0x2078) ++#define P_EE_ASSIST_MBOX2_IRQ_REG (volatile unsigned int *)((0x2078 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX2_CLR_REG (0x2079) ++#define P_EE_ASSIST_MBOX2_CLR_REG (volatile unsigned int *)((0x2079 << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX2_MASK (0x207a) ++#define P_EE_ASSIST_MBOX2_MASK (volatile unsigned int *)((0x207a << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX2_FIQ_SEL (0x207b) ++#define P_EE_ASSIST_MBOX2_FIQ_SEL (volatile unsigned int *)((0x207b << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX3_IRQ_REG (0x207c) ++#define P_EE_ASSIST_MBOX3_IRQ_REG (volatile unsigned int *)((0x207c << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX3_CLR_REG (0x207d) ++#define P_EE_ASSIST_MBOX3_CLR_REG (volatile unsigned int *)((0x207d << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX3_MASK (0x207e) ++#define P_EE_ASSIST_MBOX3_MASK (volatile unsigned int *)((0x207e << 2) + 0xffd00000) ++#define EE_ASSIST_MBOX3_FIQ_SEL (0x207f) ++#define P_EE_ASSIST_MBOX3_FIQ_SEL (volatile unsigned int *)((0x207f << 2) + 0xffd00000) ++// ----------------------------------------------- ++// CBUS_BASE: AUD_CBUS_BASE = 0x34 ++// ----------------------------------------------- ++// ---------------------------- ++// AUDIN (64) ++// ---------------------------- ++#define AUDIN_SPDIF_MODE (0x3400) ++#define P_AUDIN_SPDIF_MODE (volatile unsigned int *)((0x3400 << 2) + 0xffd00000) ++ #define SPDIF_EN 31 ++ #define SPDIF_INT_EN 30 ++ #define SPDIF_BURST_PRE_INT_EN 29 ++ #define SPDIF_TIE_0 24 ++ #define SPDIF_SAMPLE_SEL 23 ++ #define SPDIF_REVERSE_EN 22 ++ #define SPDIF_BIT_ORDER 20 ++ #define SPDIF_CHNL_ORDER 19 ++ #define SPDIF_DATA_TYPE_SEL 18 ++ #define SPDIF_XTDCLK_UPD_ITVL 14 //16:14 ++ #define SPDIF_CLKNUM_54U 0 //13:0 ++#define AUDIN_SPDIF_FS_CLK_RLTN (0x3401) ++#define P_AUDIN_SPDIF_FS_CLK_RLTN (volatile unsigned int *)((0x3401 << 2) + 0xffd00000) ++ #define SPDIF_CLKNUM_192K 24 //29:24 ++ #define SPDIF_CLKNUM_96K 18 //23:18 ++ #define SPDIF_CLKNUM_48K 12 //17:12 ++ #define SPDIF_CLKNUM_44K 6 // 11:6 ++ #define SPDIF_CLKNUM_32K 0 // 5:0 ++#define AUDIN_SPDIF_CHNL_STS_A (0x3402) ++#define P_AUDIN_SPDIF_CHNL_STS_A (volatile unsigned int *)((0x3402 << 2) + 0xffd00000) ++#define AUDIN_SPDIF_CHNL_STS_B (0x3403) ++#define P_AUDIN_SPDIF_CHNL_STS_B (volatile unsigned int *)((0x3403 << 2) + 0xffd00000) ++#define AUDIN_SPDIF_MISC (0x3404) ++#define P_AUDIN_SPDIF_MISC (volatile unsigned int *)((0x3404 << 2) + 0xffd00000) ++#define AUDIN_SPDIF_NPCM_PCPD (0x3405) ++#define P_AUDIN_SPDIF_NPCM_PCPD (volatile unsigned int *)((0x3405 << 2) + 0xffd00000) ++#define AUDIN_SPDIF_END (0x340f) ++#define P_AUDIN_SPDIF_END (volatile unsigned int *)((0x340f << 2) + 0xffd00000) ++#define AUDIN_I2SIN_CTRL (0x3410) ++#define P_AUDIN_I2SIN_CTRL (volatile unsigned int *)((0x3410 << 2) + 0xffd00000) ++ #define I2SIN_DIR 0 // I2S CLK and LRCLK direction. 0 : input 1 : output. ++ #define I2SIN_CLK_SEL 1 // I2S clk selection : 0 : from pad input. 1 : from AIU. ++ #define I2SIN_LRCLK_SEL 2 ++ #define I2SIN_POS_SYNC 3 ++ #define I2SIN_LRCLK_SKEW 4 // 6:4 ++ #define I2SIN_LRCLK_INVT 7 ++ #define I2SIN_SIZE 8 //9:8 : 0 16 bit. 1 : 18 bits 2 : 20 bits 3 : 24bits. ++ #define I2SIN_CHAN_EN 10 //13:10. ++ #define I2SIN_EN 15 ++// Bit 31:15 Rsrv. ++// Bit 14:12 RW HDMI-RX SPDIF channel status select to report on AUDIN_DECODE_CHANNEL_STATUS_A_*: 0=select channel 1; 1=channel 2; ...; 7=channel 8. ++// Bit 11: 8 RW HDMI-RX SPDIF channel status extraction enable, 1-bit per channel pair. To enable, SPDIF input source also must select 1. ++// Bit 7: 6 Rsrv. ++// Bit 5: 4 RW SPDIF input source select. 0=Default, select chip external; 1=select HDMI RX output; 2/3=Rsrv. ++// Bit 3: 2 Rsrv. ++// Bit 1: 0 RW I2S input source select. 0=Default, select chip external; 1=select audio codec output; 2=select HDMI RX output; 3=Rsrv. ++#define AUDIN_SOURCE_SEL (0x3411) ++#define P_AUDIN_SOURCE_SEL (volatile unsigned int *)((0x3411 << 2) + 0xffd00000) ++// The following registers control the new alternative decoder -- hdmi_tx_audio_decoder, in audin module ++// Bit 31:25 Rsrv. ++// Bit 24 RW SPDIF enable. ++// Bit 23:22 Rsrv. ++// Bit 21:20 RW i2s_block_start_src: 0=left channel 0 is approved as block start generator, ..., 3=left channel 3 is the block start generator. ++// Bit 19:17 Rsrv. ++// Bit 16 RW I2S enable. ++// Bit 15: 8 RW audio_channel_alloc: Usage indication of up to 8 channels. If the correspoinding bit is 1, then this channel is used. ++// E.g.: In 2-channel audio, it is 00000011 ++// Bit 7 RW hdmi_tx_audio_decoder input sel: 0=SPDIF; 1=I2S. ++// Bit 6 RW i2s_channel_config: 0=2-channel; 1=8-channel. ++// Bit 5: 4 RW i2s_format_select: 0=left-justify; 1=right-justify; 2=I2S format; 3=DSP format. ++// Bit 3: 2 RW i2s_bit_width: 0=16-bit; 1=18-bit; 2=20-bit; 3=24-bit. ++// Bit 1 RW ws polarity: 0=0 is left, 1 is right; 1=1 is left, 0 is right. ++// Bit 0 RW For SPDIF mode, 0=use channel status from input data; 1=use channel status from registers; ++// For I2S mode, 0=one-bit audio; 1=I2S. ++#define AUDIN_DECODE_FORMAT (0x3412) ++#define P_AUDIN_DECODE_FORMAT (volatile unsigned int *)((0x3412 << 2) + 0xffd00000) ++// Bit 31:25 Rsrv. ++// Bit 24 R channel_status stablility indicator. ++// Bit 23:16 RW Valid bits for audio sample packet. [7] for valid_sp3_right, [6] for valid_sp3_left, ..., [1] for valid_sp0_right, [0] for valid_sp0_left. ++// Bit 15: 8 RW User bits for audio sample packet. [7] for user_sp3_right, [6] for user_sp3_left, ..., [1] for user_sp0_right, [0] for user_sp0_left. ++// Bit 7: 4 RW cntl_init_discard: Number of initial hdmi_tx_audio_decoder samples to discard from reset. ++// Bit 3 RW cntl_invert_i2s_lrclk: Invert WS before input to hdmi_tx_audio_decoder. ++// Bit 2 RW audio_valid_overwrite: Valid bit selection in audio packet. 0=use input data; 1=use ++// Bit 1 RW audio_user_overwrite: User bit selection in audio packet. 0=use input data; 1=use ++// Bit 0 RW audio_sample_valid: sample non-flat indication. 0=flat, non-valid; 1=non-flat, valid. ++#define AUDIN_DECODE_CONTROL_STATUS (0x3413) ++#define P_AUDIN_DECODE_CONTROL_STATUS (volatile unsigned int *)((0x3413 << 2) + 0xffd00000) ++// IEC958 192-bit channel status: muxed between 8 channels, channel selection by AUDIN_SOURCE_SEL[14:12] ++#define AUDIN_DECODE_CHANNEL_STATUS_A_0 (0x3414) ++#define P_AUDIN_DECODE_CHANNEL_STATUS_A_0 (volatile unsigned int *)((0x3414 << 2) + 0xffd00000) ++#define AUDIN_DECODE_CHANNEL_STATUS_A_1 (0x3415) ++#define P_AUDIN_DECODE_CHANNEL_STATUS_A_1 (volatile unsigned int *)((0x3415 << 2) + 0xffd00000) ++#define AUDIN_DECODE_CHANNEL_STATUS_A_2 (0x3416) ++#define P_AUDIN_DECODE_CHANNEL_STATUS_A_2 (volatile unsigned int *)((0x3416 << 2) + 0xffd00000) ++#define AUDIN_DECODE_CHANNEL_STATUS_A_3 (0x3417) ++#define P_AUDIN_DECODE_CHANNEL_STATUS_A_3 (volatile unsigned int *)((0x3417 << 2) + 0xffd00000) ++#define AUDIN_DECODE_CHANNEL_STATUS_A_4 (0x3418) ++#define P_AUDIN_DECODE_CHANNEL_STATUS_A_4 (volatile unsigned int *)((0x3418 << 2) + 0xffd00000) ++#define AUDIN_DECODE_CHANNEL_STATUS_A_5 (0x3419) ++#define P_AUDIN_DECODE_CHANNEL_STATUS_A_5 (volatile unsigned int *)((0x3419 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_START (0x3420) ++#define P_AUDIN_FIFO0_START (volatile unsigned int *)((0x3420 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_END (0x3421) ++#define P_AUDIN_FIFO0_END (volatile unsigned int *)((0x3421 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_PTR (0x3422) ++#define P_AUDIN_FIFO0_PTR (volatile unsigned int *)((0x3422 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_INTR (0x3423) ++#define P_AUDIN_FIFO0_INTR (volatile unsigned int *)((0x3423 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_RDPTR (0x3424) ++#define P_AUDIN_FIFO0_RDPTR (volatile unsigned int *)((0x3424 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_CTRL (0x3425) ++#define P_AUDIN_FIFO0_CTRL (volatile unsigned int *)((0x3425 << 2) + 0xffd00000) ++ #define AUDIN_FIFO0_EN 0 ++ #define AUDIN_FIFO0_RST 1 ++ #define AUDIN_FIFO0_LOAD 2 //write 1 to load address to AUDIN_FIFO0. ++ ++ #define AUDIN_FIFO0_DIN_SEL 3 ++ // 0 spdifIN ++ // 1 i2Sin ++ // 2 PCMIN ++ // 3 HDMI in ++ // 4 DEMODULATOR IN ++ #define AUDIN_FIFO0_ENDIAN 8 //10:8 data endian control. ++ #define AUDIN_FIFO0_CHAN 11 //14:11 channel number. in M1 suppose there's only 1 channel and 2 channel. ++ #define AUDIN_FIFO0_UG 15 // urgent request enable. ++ #define AUDIN_FIFO0_HOLD0_EN 19 ++ #define AUDIN_FIFO0_HOLD1_EN 20 ++ #define AUDIN_FIFO0_HOLD2_EN 21 ++ #define AUDIN_FIFO0_HOLD0_SEL 22 // 23:22 ++ #define AUDIN_FIFO0_HOLD1_SEL 24 // 25:24 ++ #define AUDIN_FIFO0_HOLD2_SEL 26 // 27:26 ++ #define AUDIN_FIFO0_HOLD_LVL 28 // 27:26 ++ ++ ++#define AUDIN_FIFO0_CTRL1 (0x3426) ++#define P_AUDIN_FIFO0_CTRL1 (volatile unsigned int *)((0x3426 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_LVL0 (0x3427) ++#define P_AUDIN_FIFO0_LVL0 (volatile unsigned int *)((0x3427 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_LVL1 (0x3428) ++#define P_AUDIN_FIFO0_LVL1 (volatile unsigned int *)((0x3428 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_LVL2 (0x3429) ++#define P_AUDIN_FIFO0_LVL2 (volatile unsigned int *)((0x3429 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_REQID (0x3430) ++#define P_AUDIN_FIFO0_REQID (volatile unsigned int *)((0x3430 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_WRAP (0x3431) ++#define P_AUDIN_FIFO0_WRAP (volatile unsigned int *)((0x3431 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_START (0x3433) ++#define P_AUDIN_FIFO1_START (volatile unsigned int *)((0x3433 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_END (0x3434) ++#define P_AUDIN_FIFO1_END (volatile unsigned int *)((0x3434 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_PTR (0x3435) ++#define P_AUDIN_FIFO1_PTR (volatile unsigned int *)((0x3435 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_INTR (0x3436) ++#define P_AUDIN_FIFO1_INTR (volatile unsigned int *)((0x3436 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_RDPTR (0x3437) ++#define P_AUDIN_FIFO1_RDPTR (volatile unsigned int *)((0x3437 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_CTRL (0x3438) ++#define P_AUDIN_FIFO1_CTRL (volatile unsigned int *)((0x3438 << 2) + 0xffd00000) ++ #define AUDIN_FIFO1_EN 0 ++ #define AUDIN_FIFO1_RST 1 ++ #define AUDIN_FIFO1_LOAD 2 //write 1 to load address to AUDIN_FIFO0. ++ ++ #define AUDIN_FIFO1_DIN_SEL 3 ++ // 0 spdifIN ++ // 1 i2Sin ++ // 2 PCMIN ++ // 3 HDMI in ++ // 4 DEMODULATOR IN ++ #define AUDIN_FIFO1_ENDIAN 8 //10:8 data endian control. ++ #define AUDIN_FIFO1_CHAN 11 //14:11 channel number. in M1 suppose there's only 1 channel and 2 channel. ++ #define AUDIN_FIFO1_UG 15 // urgent request enable. ++ #define AUDIN_FIFO1_HOLD0_EN 19 ++ #define AUDIN_FIFO1_HOLD1_EN 20 ++ #define AUDIN_FIFO1_HOLD2_EN 21 ++ #define AUDIN_FIFO1_HOLD0_SEL 22 // 23:22 ++ #define AUDIN_FIFO1_HOLD1_SEL 24 // 25:24 ++ #define AUDIN_FIFO1_HOLD2_SEL 26 // 27:26 ++ #define AUDIN_FIFO1_HOLD_LVL 28 // 27:26 ++#define AUDIN_FIFO1_CTRL1 (0x3439) ++#define P_AUDIN_FIFO1_CTRL1 (volatile unsigned int *)((0x3439 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_LVL0 (0x3440) ++#define P_AUDIN_FIFO1_LVL0 (volatile unsigned int *)((0x3440 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_LVL1 (0x3441) ++#define P_AUDIN_FIFO1_LVL1 (volatile unsigned int *)((0x3441 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_LVL2 (0x3442) ++#define P_AUDIN_FIFO1_LVL2 (volatile unsigned int *)((0x3442 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_REQID (0x3443) ++#define P_AUDIN_FIFO1_REQID (volatile unsigned int *)((0x3443 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_WRAP (0x3444) ++#define P_AUDIN_FIFO1_WRAP (volatile unsigned int *)((0x3444 << 2) + 0xffd00000) ++#define AUDIN_FIFO2_START (0x3445) ++#define P_AUDIN_FIFO2_START (volatile unsigned int *)((0x3445 << 2) + 0xffd00000) ++#define AUDIN_FIFO2_END (0x3446) ++#define P_AUDIN_FIFO2_END (volatile unsigned int *)((0x3446 << 2) + 0xffd00000) ++#define AUDIN_FIFO2_PTR (0x3447) ++#define P_AUDIN_FIFO2_PTR (volatile unsigned int *)((0x3447 << 2) + 0xffd00000) ++#define AUDIN_FIFO2_INTR (0x3448) ++#define P_AUDIN_FIFO2_INTR (volatile unsigned int *)((0x3448 << 2) + 0xffd00000) ++#define AUDIN_FIFO2_RDPTR (0x3449) ++#define P_AUDIN_FIFO2_RDPTR (volatile unsigned int *)((0x3449 << 2) + 0xffd00000) ++#define AUDIN_FIFO2_CTRL (0x344a) ++#define P_AUDIN_FIFO2_CTRL (volatile unsigned int *)((0x344a << 2) + 0xffd00000) ++#define AUDIN_FIFO2_CTRL1 (0x344b) ++#define P_AUDIN_FIFO2_CTRL1 (volatile unsigned int *)((0x344b << 2) + 0xffd00000) ++#define AUDIN_FIFO2_LVL0 (0x344c) ++#define P_AUDIN_FIFO2_LVL0 (volatile unsigned int *)((0x344c << 2) + 0xffd00000) ++#define AUDIN_FIFO2_LVL1 (0x344d) ++#define P_AUDIN_FIFO2_LVL1 (volatile unsigned int *)((0x344d << 2) + 0xffd00000) ++#define AUDIN_FIFO2_LVL2 (0x344e) ++#define P_AUDIN_FIFO2_LVL2 (volatile unsigned int *)((0x344e << 2) + 0xffd00000) ++#define AUDIN_FIFO2_REQID (0x344f) ++#define P_AUDIN_FIFO2_REQID (volatile unsigned int *)((0x344f << 2) + 0xffd00000) ++#define AUDIN_FIFO2_WRAP (0x3450) ++#define P_AUDIN_FIFO2_WRAP (volatile unsigned int *)((0x3450 << 2) + 0xffd00000) ++#define AUDIN_INT_CTRL (0x3451) ++#define P_AUDIN_INT_CTRL (volatile unsigned int *)((0x3451 << 2) + 0xffd00000) ++#define AUDIN_FIFO_INT (0x3452) ++#define P_AUDIN_FIFO_INT (volatile unsigned int *)((0x3452 << 2) + 0xffd00000) ++#define PCMIN_CTRL0 (0x3460) ++#define P_PCMIN_CTRL0 (volatile unsigned int *)((0x3460 << 2) + 0xffd00000) ++#define PCMIN_CTRL1 (0x3461) ++#define P_PCMIN_CTRL1 (volatile unsigned int *)((0x3461 << 2) + 0xffd00000) ++#define PCMIN_CTRL2 (0x3462) ++#define P_PCMIN_CTRL2 (volatile unsigned int *)((0x3462 << 2) + 0xffd00000) ++//`define PCMIN1_CTRL0 8'h62 ++//`define PCMIN1_CTRL1 8'h63 ++#define PCMOUT_CTRL0 (0x3470) ++#define P_PCMOUT_CTRL0 (volatile unsigned int *)((0x3470 << 2) + 0xffd00000) ++#define PCMOUT_CTRL1 (0x3471) ++#define P_PCMOUT_CTRL1 (volatile unsigned int *)((0x3471 << 2) + 0xffd00000) ++#define PCMOUT_CTRL2 (0x3472) ++#define P_PCMOUT_CTRL2 (volatile unsigned int *)((0x3472 << 2) + 0xffd00000) ++#define PCMOUT_CTRL3 (0x3473) ++#define P_PCMOUT_CTRL3 (volatile unsigned int *)((0x3473 << 2) + 0xffd00000) ++#define PCMOUT_CTRL4 (0x3474) ++#define P_PCMOUT_CTRL4 (volatile unsigned int *)((0x3474 << 2) + 0xffd00000) ++//`define PCMOUT1_CTRL0 8'h74 ++//`define PCMOUT1_CTRL1 8'h75 ++//`define PCMOUT1_CTRL2 8'h76 ++//`define PCMOUT1_CTRL3 8'h77 ++#define AUDOUT_CTRL (0x3480) ++#define P_AUDOUT_CTRL (volatile unsigned int *)((0x3480 << 2) + 0xffd00000) ++#define AUDOUT_CTRL1 (0x3481) ++#define P_AUDOUT_CTRL1 (volatile unsigned int *)((0x3481 << 2) + 0xffd00000) ++#define AUDOUT_BUF0_STA (0x3482) ++#define P_AUDOUT_BUF0_STA (volatile unsigned int *)((0x3482 << 2) + 0xffd00000) ++#define AUDOUT_BUF0_EDA (0x3483) ++#define P_AUDOUT_BUF0_EDA (volatile unsigned int *)((0x3483 << 2) + 0xffd00000) ++#define AUDOUT_BUF0_WPTR (0x3484) ++#define P_AUDOUT_BUF0_WPTR (volatile unsigned int *)((0x3484 << 2) + 0xffd00000) ++#define AUDOUT_BUF1_STA (0x3485) ++#define P_AUDOUT_BUF1_STA (volatile unsigned int *)((0x3485 << 2) + 0xffd00000) ++#define AUDOUT_BUF1_EDA (0x3486) ++#define P_AUDOUT_BUF1_EDA (volatile unsigned int *)((0x3486 << 2) + 0xffd00000) ++#define AUDOUT_BUF1_WPTR (0x3487) ++#define P_AUDOUT_BUF1_WPTR (volatile unsigned int *)((0x3487 << 2) + 0xffd00000) ++#define AUDOUT_FIFO_RPTR (0x3488) ++#define P_AUDOUT_FIFO_RPTR (volatile unsigned int *)((0x3488 << 2) + 0xffd00000) ++#define AUDOUT_INTR_PTR (0x3489) ++#define P_AUDOUT_INTR_PTR (volatile unsigned int *)((0x3489 << 2) + 0xffd00000) ++#define AUDOUT_FIFO_STS (0x348a) ++#define P_AUDOUT_FIFO_STS (volatile unsigned int *)((0x348a << 2) + 0xffd00000) ++//`define AUDOUT1_CTRL 8'h90 ++//`define AUDOUT1_CTRL1 8'h91 ++//`define AUDOUT1_BUF0_STA 8'h92 ++//`define AUDOUT1_BUF0_EDA 8'h93 ++//`define AUDOUT1_BUF0_WPTR 8'h94 ++//`define AUDOUT1_BUF1_STA 8'h95 ++//`define AUDOUT1_BUF1_EDA 8'h96 ++//`define AUDOUT1_BUF1_WPTR 8'h97 ++//`define AUDOUT1_FIFO_RPTR 8'h98 ++//`define AUDOUT1_INTR_PTR 8'h99 ++//`define AUDOUT1_FIFO_STS 8'h9a ++//// Bit 31: 0 RW cntl_mute_val: Use this value during mute, if cntl_mute_mode=2. ++//`define AUDIN_MUTE_VAL 8'h35 ++#define AUDIN_HDMI_MEAS_CTRL (0x34a0) ++#define P_AUDIN_HDMI_MEAS_CTRL (volatile unsigned int *)((0x34a0 << 2) + 0xffd00000) ++#define AUDIN_HDMI_MEAS_CYCLES_M1 (0x34a1) ++#define P_AUDIN_HDMI_MEAS_CYCLES_M1 (volatile unsigned int *)((0x34a1 << 2) + 0xffd00000) ++#define AUDIN_HDMI_MEAS_INTR_MASKN (0x34a2) ++#define P_AUDIN_HDMI_MEAS_INTR_MASKN (volatile unsigned int *)((0x34a2 << 2) + 0xffd00000) ++#define AUDIN_HDMI_MEAS_INTR_STAT (0x34a3) ++#define P_AUDIN_HDMI_MEAS_INTR_STAT (volatile unsigned int *)((0x34a3 << 2) + 0xffd00000) ++#define AUDIN_HDMI_REF_CYCLES_STAT_0 (0x34a4) ++#define P_AUDIN_HDMI_REF_CYCLES_STAT_0 (volatile unsigned int *)((0x34a4 << 2) + 0xffd00000) ++#define AUDIN_HDMI_REF_CYCLES_STAT_1 (0x34a5) ++#define P_AUDIN_HDMI_REF_CYCLES_STAT_1 (volatile unsigned int *)((0x34a5 << 2) + 0xffd00000) ++#define AUDIN_HDMIRX_AFIFO_STAT (0x34a6) ++#define P_AUDIN_HDMIRX_AFIFO_STAT (volatile unsigned int *)((0x34a6 << 2) + 0xffd00000) ++#define AUDIN_MEM_PD (0x34aa) ++#define P_AUDIN_MEM_PD (volatile unsigned int *)((0x34aa << 2) + 0xffd00000) ++#define AUDIN_FIFO0_PIO_STS (0x34b0) ++#define P_AUDIN_FIFO0_PIO_STS (volatile unsigned int *)((0x34b0 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_PIO_RDL (0x34b1) ++#define P_AUDIN_FIFO0_PIO_RDL (volatile unsigned int *)((0x34b1 << 2) + 0xffd00000) ++#define AUDIN_FIFO0_PIO_RDH (0x34b2) ++#define P_AUDIN_FIFO0_PIO_RDH (volatile unsigned int *)((0x34b2 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_PIO_STS (0x34b3) ++#define P_AUDIN_FIFO1_PIO_STS (volatile unsigned int *)((0x34b3 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_PIO_RDL (0x34b4) ++#define P_AUDIN_FIFO1_PIO_RDL (volatile unsigned int *)((0x34b4 << 2) + 0xffd00000) ++#define AUDIN_FIFO1_PIO_RDH (0x34b5) ++#define P_AUDIN_FIFO1_PIO_RDH (volatile unsigned int *)((0x34b5 << 2) + 0xffd00000) ++#define AUDIN_FIFO2_PIO_STS (0x34b6) ++#define P_AUDIN_FIFO2_PIO_STS (volatile unsigned int *)((0x34b6 << 2) + 0xffd00000) ++#define AUDIN_FIFO2_PIO_RDL (0x34b7) ++#define P_AUDIN_FIFO2_PIO_RDL (volatile unsigned int *)((0x34b7 << 2) + 0xffd00000) ++#define AUDIN_FIFO2_PIO_RDH (0x34b8) ++#define P_AUDIN_FIFO2_PIO_RDH (volatile unsigned int *)((0x34b8 << 2) + 0xffd00000) ++#define AUDOUT_FIFO_PIO_STS (0x34b9) ++#define P_AUDOUT_FIFO_PIO_STS (volatile unsigned int *)((0x34b9 << 2) + 0xffd00000) ++#define AUDOUT_FIFO_PIO_WRL (0x34ba) ++#define P_AUDOUT_FIFO_PIO_WRL (volatile unsigned int *)((0x34ba << 2) + 0xffd00000) ++#define AUDOUT_FIFO_PIO_WRH (0x34bb) ++#define P_AUDOUT_FIFO_PIO_WRH (volatile unsigned int *)((0x34bb << 2) + 0xffd00000) ++//`define AUDOUT1_FIFO_PIO_STS 8'hbc ++//`define AUDOUT1_FIFO_PIO_WRL 8'hbd ++//`define AUDOUT1_FIFO_PIO_WRH 8'hbe ++#define AUD_RESAMPLE_CTRL0 (0x34bf) ++#define P_AUD_RESAMPLE_CTRL0 (volatile unsigned int *)((0x34bf << 2) + 0xffd00000) ++#define AUD_RESAMPLE_CTRL1 (0x34c0) ++#define P_AUD_RESAMPLE_CTRL1 (volatile unsigned int *)((0x34c0 << 2) + 0xffd00000) ++#define AUD_RESAMPLE_STATUS (0x34c1) ++#define P_AUD_RESAMPLE_STATUS (volatile unsigned int *)((0x34c1 << 2) + 0xffd00000) ++#define AUD_RESAMPLE_CTRL2 (0x34c2) ++#define P_AUD_RESAMPLE_CTRL2 (volatile unsigned int *)((0x34c2 << 2) + 0xffd00000) ++#define AUD_RESAMPLE_COEF0 (0x34c3) ++#define P_AUD_RESAMPLE_COEF0 (volatile unsigned int *)((0x34c3 << 2) + 0xffd00000) ++#define AUD_RESAMPLE_COEF1 (0x34c4) ++#define P_AUD_RESAMPLE_COEF1 (volatile unsigned int *)((0x34c4 << 2) + 0xffd00000) ++#define AUD_RESAMPLE_COEF2 (0x34c5) ++#define P_AUD_RESAMPLE_COEF2 (volatile unsigned int *)((0x34c5 << 2) + 0xffd00000) ++#define AUD_RESAMPLE_COEF3 (0x34c6) ++#define P_AUD_RESAMPLE_COEF3 (volatile unsigned int *)((0x34c6 << 2) + 0xffd00000) ++#define AUD_RESAMPLE_COEF4 (0x34c7) ++#define P_AUD_RESAMPLE_COEF4 (volatile unsigned int *)((0x34c7 << 2) + 0xffd00000) ++#define AUDIN_ADDR_END (0x34c8) ++#define P_AUDIN_ADDR_END (volatile unsigned int *)((0x34c8 << 2) + 0xffd00000) ++#define AUDIN_ATV_DEMOD_CTRL (0x34d0) ++#define P_AUDIN_ATV_DEMOD_CTRL (volatile unsigned int *)((0x34d0 << 2) + 0xffd00000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: ./register_map.h ++// ++// ++// Reading file: ./vcbus_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++//=========================================================================== ++//`define RDMA_VCBUS_BASE 8'h11 ++//=========================================================================== ++// ++// Reading file: rdma_regs.h ++// ++//=========================================================================== ++// RDMA registers 0x00 - 0xff ++//=========================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: RDMA_VCBUS_BASE = 0x11 ++// ----------------------------------------------- ++// Bit 31: 0 RW AHB start address for manual start DMA ++#define RDMA_AHB_START_ADDR_MAN (0x1100) ++#define P_RDMA_AHB_START_ADDR_MAN (volatile unsigned int *)((0x1100 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB end address for manual start DMA ++#define RDMA_AHB_END_ADDR_MAN (0x1101) ++#define P_RDMA_AHB_END_ADDR_MAN (volatile unsigned int *)((0x1101 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB start address for auto start source 1 ++#define RDMA_AHB_START_ADDR_1 (0x1102) ++#define P_RDMA_AHB_START_ADDR_1 (volatile unsigned int *)((0x1102 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB end address for auto start source 1 ++#define RDMA_AHB_END_ADDR_1 (0x1103) ++#define P_RDMA_AHB_END_ADDR_1 (volatile unsigned int *)((0x1103 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB start address for auto start source 2 ++#define RDMA_AHB_START_ADDR_2 (0x1104) ++#define P_RDMA_AHB_START_ADDR_2 (volatile unsigned int *)((0x1104 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB end address for auto start source 2 ++#define RDMA_AHB_END_ADDR_2 (0x1105) ++#define P_RDMA_AHB_END_ADDR_2 (volatile unsigned int *)((0x1105 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB start address for auto start source 3 ++#define RDMA_AHB_START_ADDR_3 (0x1106) ++#define P_RDMA_AHB_START_ADDR_3 (volatile unsigned int *)((0x1106 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB end address for auto start source 3 ++#define RDMA_AHB_END_ADDR_3 (0x1107) ++#define P_RDMA_AHB_END_ADDR_3 (volatile unsigned int *)((0x1107 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB start address for auto start source 4 ++#define RDMA_AHB_START_ADDR_4 (0x1108) ++#define P_RDMA_AHB_START_ADDR_4 (volatile unsigned int *)((0x1108 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB end address for auto start source 4 ++#define RDMA_AHB_END_ADDR_4 (0x1109) ++#define P_RDMA_AHB_END_ADDR_4 (volatile unsigned int *)((0x1109 << 2) + 0xff900000) ++// Bit 31: 0 RW AHB start address for auto start source 5 ++#define RDMA_AHB_START_ADDR_5 (0x110a) ++#define P_RDMA_AHB_START_ADDR_5 (volatile unsigned int *)((0x110a << 2) + 0xff900000) ++// Bit 31: 0 RW AHB end address for auto start source 5 ++#define RDMA_AHB_END_ADDR_5 (0x110b) ++#define P_RDMA_AHB_END_ADDR_5 (volatile unsigned int *)((0x110b << 2) + 0xff900000) ++// Bit 31: 0 RW AHB start address for auto start source 6 ++#define RDMA_AHB_START_ADDR_6 (0x110c) ++#define P_RDMA_AHB_START_ADDR_6 (volatile unsigned int *)((0x110c << 2) + 0xff900000) ++// Bit 31: 0 RW AHB end address for auto start source 6 ++#define RDMA_AHB_END_ADDR_6 (0x110d) ++#define P_RDMA_AHB_END_ADDR_6 (volatile unsigned int *)((0x110d << 2) + 0xff900000) ++// Bit 31: 0 RW AHB start address for auto start source 7 ++#define RDMA_AHB_START_ADDR_7 (0x110e) ++#define P_RDMA_AHB_START_ADDR_7 (volatile unsigned int *)((0x110e << 2) + 0xff900000) ++// Bit 31: 0 RW AHB end address for auto start source 7 ++#define RDMA_AHB_END_ADDR_7 (0x110f) ++#define P_RDMA_AHB_END_ADDR_7 (volatile unsigned int *)((0x110f << 2) + 0xff900000) ++// Auto start DMA control: ++// Bit 31:24 RW ctrl_enable_int_3. Interrupt inputs enable mask for source 3. ++// Bit 23:16 RW ctrl_enable_int_2. Interrupt inputs enable mask for source 2. ++// Bit 15: 8 RW ctrl_enable_int_1. Interrupt inputs enable mask for source 1. ++// Bit 7 RW ctrl_cbus_write_3. Register read/write mode for auto-start 3. 1=Register write; 0=Register read. ++// Bit 6 RW ctrl_cbus_write_3. Register read/write mode for auto-start 2. 1=Register write; 0=Register read. ++// Bit 5 RW ctrl_cbus_write_3. Register read/write mode for auto-start 1. 1=Register write; 0=Register read. ++// Bit 4 R Rsrv. ++// Bit 3 RW ctrl_cbus_addr_incr_3. 1=Incremental register access for auto-start 3; 0=Non-incremental (individual) register access. ++// Bit 2 RW ctrl_cbus_addr_incr_2. 1=Incremental register access for auto-start 2; 0=Non-incremental (individual) register access. ++// Bit 1 RW ctrl_cbus_addr_incr_1. 1=Incremental register access for auto-start 1; 0=Non-incremental (individual) register access. ++// Bit 0 R Rsrv. ++#define RDMA_ACCESS_AUTO (0x1110) ++#define P_RDMA_ACCESS_AUTO (volatile unsigned int *)((0x1110 << 2) + 0xff900000) ++#define RDMA_ACCESS_AUTO2 (0x1111) ++#define P_RDMA_ACCESS_AUTO2 (volatile unsigned int *)((0x1111 << 2) + 0xff900000) ++#define RDMA_ACCESS_AUTO3 (0x1112) ++#define P_RDMA_ACCESS_AUTO3 (volatile unsigned int *)((0x1112 << 2) + 0xff900000) ++// Manual start DMA control: ++// Bit 31: 3 R Rsrv. ++// Bit 2 RW ctrl_cbus_write_man. Register read/write mode for manual-start. 1=Register write; 0=Register read. ++// Bit 1 RW ctrl_cbus_addr_incr_man. 1=Incremental register access for manual-start; 0=Non-incremental (individual) register access. ++// Bit 0 W ctrl_start_man. Write 1 to this bit to manual-start DMA. This bit always read back 0. ++#define RDMA_ACCESS_MAN (0x1113) ++#define P_RDMA_ACCESS_MAN (volatile unsigned int *)((0x1113 << 2) + 0xff900000) ++// RDMA general control: ++// Bit 31:25 R Rsrv. ++// Bit 24 W ctrl_clr_rdma_done_int. Write 1 to reset rdma_int level to 0. No need to clear this bit. ++// Bit 23:19 R Rsrv. ++// Bit 18:13 R Rsrv. ++// Bit 12: 7 R Rsrv. ++// Bit 6 RW ctrl_ddr_urgent. ++// Bit 5: 4 RW ctrl_ahb_wr_burst_size. 0=ABH write request burst size 16; ++// 1=ABH write request burst size 24; ++// 2=ABH write request burst size 32; ++// 3=ABH write request burst size 48. ++// Bit 3: 2 RW ctrl_ahb_rd_burst_size. 0=ABH read request burst size 16; ++// 1=ABH read request burst size 24; ++// 2=ABH read request burst size 32; ++// 3=ABH read request burst size 48. ++// Bit 1 RW ctrl_sw_reset. 1=Reset RDMA logics except register. ++// Bit 0 RW ctrl_free_clk_enable. 0=Default, Enable clock gating. 1=No clock gating, enable free clock. ++#define RDMA_CTRL (0x1114) ++#define P_RDMA_CTRL (volatile unsigned int *)((0x1114 << 2) + 0xff900000) ++// Read only. ++// Bit 31:29 R Rsrv. ++// Bit 28 R rdma_done_int. ++// Bit 27:25 R Rsrv. ++// Bit 24:18 R ahb_wrfifo_cnt. FIFO for buffering CBus read data to be sent to AHB ++// Bit 17:11 R ahb_rdfifo_cnt. FIFO for buffering data read from AHB. ++// Bit 10: 8 R ddr_req_st. =0 -- Idle; !=0 -- AHB interfacing ongoing. ++// Bit 7: 4 R curr_req. Latest requests that is being/been serviced. E.g. 0000=Idle; 0010=Latest serviced request is Req 1. ++// Bit 3: 0 R req_latch. Requests that are yet to be serviced. E.g. 0000=No request; 0001=Req 0 waiting; 1100=Req 2 and 3 waiting. ++#define RDMA_STATUS (0x1115) ++#define P_RDMA_STATUS (volatile unsigned int *)((0x1115 << 2) + 0xff900000) ++#define RDMA_STATUS2 (0x1116) ++#define P_RDMA_STATUS2 (volatile unsigned int *)((0x1116 << 2) + 0xff900000) ++#define RDMA_STATUS3 (0x1117) ++#define P_RDMA_STATUS3 (volatile unsigned int *)((0x1117 << 2) + 0xff900000) ++#define RDMA_ACCESS_AUTO4 (0x1118) ++#define P_RDMA_ACCESS_AUTO4 (volatile unsigned int *)((0x1118 << 2) + 0xff900000) ++#define RDMA_SRAM_CNTL (0x1120) ++#define P_RDMA_SRAM_CNTL (volatile unsigned int *)((0x1120 << 2) + 0xff900000) ++#define RDMA_SRAM_REGADDR (0x1121) ++#define P_RDMA_SRAM_REGADDR (volatile unsigned int *)((0x1121 << 2) + 0xff900000) ++#define RDMA_SRAM_REGDATA (0x1122) ++#define P_RDMA_SRAM_REGDATA (volatile unsigned int *)((0x1122 << 2) + 0xff900000) ++// ++// Closing file: rdma_regs.h ++// ++//=========================================================================== ++// VDIN ++//=========================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: VDIN_VCBUS_BASE = 0x12 ++// ----------------------------------------------- ++//VDIN0 8'h00 - 8'h7f ++//VDIN1 8'h80 - 8'hef ++#define VDIN0_OFFSET 0x00 ++#define VDIN1_OFFSET 0x80 ++ ++#define VDIN_SCALE_COEF_IDX (0x1200) ++#define P_VDIN_SCALE_COEF_IDX (volatile unsigned int *)((0x1200 << 2) + 0xff900000) ++#define VDIN_SCALE_COEF (0x1201) ++#define P_VDIN_SCALE_COEF (volatile unsigned int *)((0x1201 << 2) + 0xff900000) ++//bit 31, mpeg_to_vdin_sel, 0: mpeg source to NR directly, 1: mpeg source pass through here ++//bit 30, mpeg_field info which can be written by software ++//Bit 29, force go_field, pulse signal ++//Bit 28, force go_line, pulse signal ++//Bit 27, enable mpeg_go_field input signal ++//Bit 26:20, hold lines ++//Bit 19, delay go_field function enable ++//Bit 18:12, delay go_field line number ++//Bit 11:10, component2 output switch, 00: select component0 in, 01: select component1 in, 10: select component2 in ++//Bit 9:8, component1 output switch, 00: select component0 in, 01: select component1 in, 10: select component2 in ++//Bit 7:6, component0 output switch, 00: select component0 in, 01: select component1 in, 10: select component2 in ++//Bit 5, input window selection function enable ++//Bit 4, enable VDIN common data input, otherwise there will be no video data input ++//Bit 3:0 vdin selection, 1: mpeg_in from dram, 2: bt656 input, 3: component input, 4: tvdecoder input, 5: hdmi rx input, 6: digtial video input, 7: loopback from Viu1, 8: MIPI. ++#define VDIN_COM_CTRL0 (0x1202) ++#define P_VDIN_COM_CTRL0 (volatile unsigned int *)((0x1202 << 2) + 0xff900000) ++//Bit 28:16 active_max_pix_cnt, readonly ++//Bit 12:0 active_max_pix_cnt_shadow, readonly ++#define VDIN_ACTIVE_MAX_PIX_CNT_STATUS (0x1203) ++#define P_VDIN_ACTIVE_MAX_PIX_CNT_STATUS (volatile unsigned int *)((0x1203 << 2) + 0xff900000) ++//Bit 28:16 go_line_cnt, readonly ++//Bit 12:0 active_line_cnt, readonly ++#define VDIN_LCNT_STATUS (0x1204) ++#define P_VDIN_LCNT_STATUS (volatile unsigned int *)((0x1204 << 2) + 0xff900000) ++//Readonly ++//Bit [14:3] lfifo_buf_cnt ++//Bit 2, vdin_direct_done status ++//Bit 1, vdin_nr_done status ++//Bit 0, field ++#define VDIN_COM_STATUS0 (0x1205) ++#define P_VDIN_COM_STATUS0 (volatile unsigned int *)((0x1205 << 2) + 0xff900000) ++//Readonly ++//Bit 31, vdi4 fifo overflow ++//Bit 29:24, vdi3_asfifo_cnt ++//Bit 23, vdi3 fifo overflow ++//Bit 21:16, vdi3_asfifo_cnt ++//Bit 15, vdi2 fifo overflow ++//Bit 13:8, vdi2_asfifo_cnt ++//Bit 7, vdi1 fifo overflow ++//Bit 5:0, vdi1_asfifo_cnt ++#define VDIN_COM_STATUS1 (0x1206) ++#define P_VDIN_COM_STATUS1 (volatile unsigned int *)((0x1206 << 2) + 0xff900000) ++//Bit 28:16 go_line_cnt_shadow, readonly ++//Bit 12:0 active_line_cnt_shadow, readonly ++#define VDIN_LCNT_SHADOW_STATUS (0x1207) ++#define P_VDIN_LCNT_SHADOW_STATUS (volatile unsigned int *)((0x1207 << 2) + 0xff900000) ++//each 8bit asfifo_ctrl is following: ++//Bit 7, DE enable ++//Bit 6, go field enable ++//Bit 5, go line enable ++//Bit 4, if true, negative active input vsync ++//Bit 3, if true, negative active input hsync ++//Bit 2, vsync soft reset fifo enable ++//Bit 1, overflow status clear ++//Bit 0 asfifo soft reset, level signal ++//Bit 7:0 vdi1 asfifo_ctrl ++//Bit 23:16 vdi2 asfifo_ctrl ++#define VDIN_ASFIFO_CTRL0 (0x1208) ++#define P_VDIN_ASFIFO_CTRL0 (volatile unsigned int *)((0x1208 << 2) + 0xff900000) ++//Bit 7:0 vdi3 asfifo_ctrl ++//Bit 23:16 vdi4 asfifo_ctrl ++#define VDIN_ASFIFO_CTRL1 (0x1209) ++#define P_VDIN_ASFIFO_CTRL1 (volatile unsigned int *)((0x1209 << 2) + 0xff900000) ++//Bit 28:16 input width minus 1, after the window function ++//Bit 12:0 output width minus 1 ++#define VDIN_WIDTHM1I_WIDTHM1O (0x120a) ++#define P_VDIN_WIDTHM1I_WIDTHM1O (volatile unsigned int *)((0x120a << 2) + 0xff900000) ++//Bit 20:17 prehsc_mode, bit 3:2, prehsc odd line interp mode, bit 1:0, prehsc even line interp mode, ++// each 2bit, 00: pix0+pix1/2, average, 01: pix1, 10: pix0 ++//Bit 16:15 sp422_mode, special mode for the component1 and component2, 00: normal case, 01: 32 64 32, 10: 0 64 64 0, 11: 16 96 16 ++//Bit 14:8, hsc_ini_pixi_ptr, signed data, only useful when short_lineo_en is true ++//Bit 7, prehsc_en ++//Bit 6, hsc_en, ++//Bit 5, hsc_short_lineo_en, short line output enable ++//Bit 4, hsc_nearest_en ++//Bit 3, hsc_phase0_always_en ++//Bit 2:0, hsc_bank_length ++#define VDIN_SC_MISC_CTRL (0x120b) ++#define P_VDIN_SC_MISC_CTRL (volatile unsigned int *)((0x120b << 2) + 0xff900000) ++//Bit 28:24, integer portion ++//Bit 23:0, fraction portion ++#define VDIN_HSC_PHASE_STEP (0x120c) ++#define P_VDIN_HSC_PHASE_STEP (volatile unsigned int *)((0x120c << 2) + 0xff900000) ++//Bit 30:29 hscale rpt_p0_num ++//Bit 28:24 hscale ini_rcv_num ++//Bit 23:0 hscale ini_phase ++#define VDIN_HSC_INI_CTRL (0x120d) ++#define P_VDIN_HSC_INI_CTRL (volatile unsigned int *)((0x120d << 2) + 0xff900000) ++//Read only ++//Bit 23, vdi7 fifo overflow ++//Bit 21:16, vdi7_asfifo_cnt ++//Bit 15, vdi6 fifo overflow ++//Bit 13:8, vdi6_asfifo_cnt ++//Bit 7, vdi5 fifo overflow ++//Bit 5:0, vdi5_asfifo_cnt ++#define VDIN_COM_STATUS2 (0x120e) ++#define P_VDIN_COM_STATUS2 (volatile unsigned int *)((0x120e << 2) + 0xff900000) ++//Bit 25:16 asfifo decimate control ++//Bit 25, if true, decimation counter sync with first valid DE in the field, ++//otherwise the decimation counter is not sync with external signal ++//Bit 24, decimation de enable ++//Bit 23:20, decimation phase, which counter value use to decimate, ++//Bit 19:16, decimation number, 0: not decimation, 1: decimation 2, 2: decimation 3 .... ++//Bit 7:0 vdi5 asfifo_ctrl ++#define VDIN_ASFIFO_CTRL2 (0x120f) ++#define P_VDIN_ASFIFO_CTRL2 (volatile unsigned int *)((0x120f << 2) + 0xff900000) ++//Bit 7, highlight_en ++//Bit 6 probe_post, if true, probe pixel data after matrix, otherwise probe pixel data before matrix ++//Bit 5:4 probe_sel, 00: select matrix 0, 01: select matrix 1, otherwise select nothing ++//Bit 3:2, matrix coef idx selection, 00: select mat0, 01: select mat1, otherwise slect nothing ++//Bit 1 mat1 conversion matrix enable ++//Bit 0 mat0 conversion matrix enable ++#define VDIN_MATRIX_CTRL (0x1210) ++#define P_VDIN_MATRIX_CTRL (volatile unsigned int *)((0x1210 << 2) + 0xff900000) ++//Bit 28:16 coef00 ++//Bit 12:0 coef01 ++#define VDIN_MATRIX_COEF00_01 (0x1211) ++#define P_VDIN_MATRIX_COEF00_01 (volatile unsigned int *)((0x1211 << 2) + 0xff900000) ++//Bit 28:16 coef02 ++//Bit 12:0 coef10 ++#define VDIN_MATRIX_COEF02_10 (0x1212) ++#define P_VDIN_MATRIX_COEF02_10 (volatile unsigned int *)((0x1212 << 2) + 0xff900000) ++//Bit 28:16 coef11 ++//Bit 12:0 coef12 ++#define VDIN_MATRIX_COEF11_12 (0x1213) ++#define P_VDIN_MATRIX_COEF11_12 (volatile unsigned int *)((0x1213 << 2) + 0xff900000) ++//Bit 28:16 coef20 ++//Bit 12:0 coef21 ++#define VDIN_MATRIX_COEF20_21 (0x1214) ++#define P_VDIN_MATRIX_COEF20_21 (volatile unsigned int *)((0x1214 << 2) + 0xff900000) ++//BIt 18:16 conv_rs ++//Bit 12:0 coef22 ++#define VDIN_MATRIX_COEF22 (0x1215) ++#define P_VDIN_MATRIX_COEF22 (volatile unsigned int *)((0x1215 << 2) + 0xff900000) ++//Bit 26:16 offset0 ++//Bit 10:0 offset1 ++#define VDIN_MATRIX_OFFSET0_1 (0x1216) ++#define P_VDIN_MATRIX_OFFSET0_1 (volatile unsigned int *)((0x1216 << 2) + 0xff900000) ++//Bit 10:0 offset2 ++#define VDIN_MATRIX_OFFSET2 (0x1217) ++#define P_VDIN_MATRIX_OFFSET2 (volatile unsigned int *)((0x1217 << 2) + 0xff900000) ++//Bit 26:16 pre_offset0 ++//Bit 10:0 pre_offset1 ++#define VDIN_MATRIX_PRE_OFFSET0_1 (0x1218) ++#define P_VDIN_MATRIX_PRE_OFFSET0_1 (volatile unsigned int *)((0x1218 << 2) + 0xff900000) ++//Bit 10:0 pre_offset2 ++#define VDIN_MATRIX_PRE_OFFSET2 (0x1219) ++#define P_VDIN_MATRIX_PRE_OFFSET2 (volatile unsigned int *)((0x1219 << 2) + 0xff900000) ++//12:0 lfifo_buf_size ++#define VDIN_LFIFO_CTRL (0x121a) ++#define P_VDIN_LFIFO_CTRL (volatile unsigned int *)((0x121a << 2) + 0xff900000) ++#define VDIN_COM_GCLK_CTRL (0x121b) ++#define P_VDIN_COM_GCLK_CTRL (volatile unsigned int *)((0x121b << 2) + 0xff900000) ++//12:0 VDIN input interface width minus 1, before the window function, after the de decimation ++#define VDIN_INTF_WIDTHM1 (0x121c) ++#define P_VDIN_INTF_WIDTHM1 (volatile unsigned int *)((0x121c << 2) + 0xff900000) ++//Bit 15 //default== 0, urgent_ctrl_en ++//Bit 14 //default== 0, urgent_wr, if true for write buffer ++//Bit 13 //default== 0, out_inv_en ++//Bit 12 //default == 0, urgent_ini_value ++//Bit 11:6 //default == 0, up_th up threshold ++//Bit 5:0 //default == 0, dn_th dn threshold ++#define VDIN_LFIFO_URG_CTRL (0x121e) ++#define P_VDIN_LFIFO_URG_CTRL (volatile unsigned int *)((0x121e << 2) + 0xff900000) ++//Bit 8, 1: discard data before line fifo, 0: normal mode ++//Bit 7:0 Write chroma canvas address ++#define VDIN_WR_CTRL2 (0x121f) ++#define P_VDIN_WR_CTRL2 (volatile unsigned int *)((0x121f << 2) + 0xff900000) ++//Bit 31:30 hconv_mode, Applicable only to bit[13:12]=0 or 2. 0: Output every even pixels' CbCr; ++// 1: Output every odd pixels' CbCr; ++// 2: Output an average value per even&odd pair of pixels; ++// 3: Output all CbCr. (This does NOT apply to bit[13:12]=0 -- 4:2:2 mode.) ++//Bit 29 no_clk_gate: disable vid_wr_mif clock gating function. ++//Bit 28 clear write response counter in the vdin write memory interface ++//Bit 27 eol_sel, 1: use eol as the line end indication, 0: use width as line end indication in the vdin write memory interface ++//Bit 26 vcp_nr_en. Only used in VDIN0. NOT used in VDIN1. ++//Bit 25 vcp_wr_en. Only used in VDIN0. NOT used in VDIN1. ++//Bit 24 vcp_in_en. Only used in VDIN0. NOT used in VDIN1. ++//Bit 23 vdin frame reset enble, if true, it will provide frame reset during go_field(vsync) to the modules after that ++//Bit 22 vdin line fifo soft reset enable, meaning, if true line fifo will reset during go_field (vsync) ++//Bit 21 vdin direct write done status clear bit ++//Bit 20 vdin NR write done status clear bit ++//Bit 18 swap_cbcr. Applicable only to bit[13:12]=2. 0: Output CbCr (NV12); 1: Output CrCb (NV21). ++//Bit 17:16 vconv_mode, Applicable only to bit[13:12]=2. 0: Output every even lines' CbCr; ++// 1: Output every odd lines' CbCr; ++// 2: Reserved; ++// 3: Output all CbCr. ++//Bit 13:12 vdin write format, 0: 4:2:2 to luma canvas, 1: 4:4:4 to luma canvas, ++// 2: Y to luma canvas, CbCr to chroma canvas. For NV12/21, also define Bit 31:30, 17:16, and bit 18. ++//Bit 11 vdin write canvas double buffer enable, means the canvas address will be latched by vsync before using ++//Bit 10 1: disable ctrl_reg write pulse which will reset internal counter. when bit 11 is 1, this bit should be 1. ++//Bit 9 vdin write request urgent ++//Bit 8 vdin write request enable ++//Bit 7:0 Write luma canvas address ++#define VDIN_WR_CTRL (0x1220) ++#define P_VDIN_WR_CTRL (volatile unsigned int *)((0x1220 << 2) + 0xff900000) ++//Bit 29, if true, horizontal reverse ++//Bit 28:16 start ++//Bit 12:0 end ++#define VDIN_WR_H_START_END (0x1221) ++#define P_VDIN_WR_H_START_END (volatile unsigned int *)((0x1221 << 2) + 0xff900000) ++//Bit 29, if true, vertical reverse ++//Bit 28:16 start ++//Bit 12:0 end ++#define VDIN_WR_V_START_END (0x1222) ++#define P_VDIN_WR_V_START_END (volatile unsigned int *)((0x1222 << 2) + 0xff900000) ++//Bit 24:20, integer portion ++//Bit 19:0, fraction portion ++#define VDIN_VSC_PHASE_STEP (0x1223) ++#define P_VDIN_VSC_PHASE_STEP (volatile unsigned int *)((0x1223 << 2) + 0xff900000) ++//Bit 23, vsc_en, vertical scaler enable ++//Bit 21 vsc_phase0_always_en, when scale up, you have to set it to 1 ++//Bit 20:16 ini skip_line_num ++//Bit 15:0 vscaler ini_phase ++#define VDIN_VSC_INI_CTRL (0x1224) ++#define P_VDIN_VSC_INI_CTRL (volatile unsigned int *)((0x1224 << 2) + 0xff900000) ++//Bit 28:16, vshrink input height minus 1 ++//Bit 12:0, scaler input height minus 1 ++#define VDIN_SCIN_HEIGHTM1 (0x1225) ++#define P_VDIN_SCIN_HEIGHTM1 (volatile unsigned int *)((0x1225 << 2) + 0xff900000) ++//Bit 23:16, dummy component 0 ++//Bit 15:8, dummy component 1 ++//Bit 7:0, dummy component 2 ++#define VDIN_DUMMY_DATA (0x1226) ++#define P_VDIN_DUMMY_DATA (volatile unsigned int *)((0x1226 << 2) + 0xff900000) ++//Read only ++//Bit 29:20 component 0 ++//Bit 19:10 component 1 ++//Bit 9:0 component 2 ++#define VDIN_MATRIX_PROBE_COLOR (0x1228) ++#define P_VDIN_MATRIX_PROBE_COLOR (volatile unsigned int *)((0x1228 << 2) + 0xff900000) ++//Bit 23:16 component 0 ++//Bit 15:8 component 1 ++//Bit 7:0 component 2 ++#define VDIN_MATRIX_HL_COLOR (0x1229) ++#define P_VDIN_MATRIX_HL_COLOR (volatile unsigned int *)((0x1229 << 2) + 0xff900000) ++//28:16 probe x, postion ++//12:0 probe y, position ++#define VDIN_MATRIX_PROBE_POS (0x122a) ++#define P_VDIN_MATRIX_PROBE_POS (volatile unsigned int *)((0x122a << 2) + 0xff900000) ++#define VDIN_CHROMA_ADDR_PORT (0x122b) ++#define P_VDIN_CHROMA_ADDR_PORT (volatile unsigned int *)((0x122b << 2) + 0xff900000) ++#define VDIN_CHROMA_DATA_PORT (0x122c) ++#define P_VDIN_CHROMA_DATA_PORT (volatile unsigned int *)((0x122c << 2) + 0xff900000) ++// ++#define VDIN_CM_BRI_CON_CTRL (0x122d) ++#define P_VDIN_CM_BRI_CON_CTRL (volatile unsigned int *)((0x122d << 2) + 0xff900000) ++//Bit 17 clk_cyc_cnt_clr, if true, clear this register ++//Bit 16 if true, use vpu clock to count one line, otherwise use actually hsync to count line_cnt ++//Bit 15:0 line width using vpu clk ++#define VDIN_GO_LINE_CTRL (0x122f) ++#define P_VDIN_GO_LINE_CTRL (volatile unsigned int *)((0x122f << 2) + 0xff900000) ++//Bit 31:24 hist_pix_white_th, larger than this th is counted as white pixel ++//Bit 23:16 hist_pix_black_th, less than this th is counted as black pixel ++//Bit 11 hist_34bin_only, 34 bin only mode, including white/black ++//Bit 10:9 ldim_stts_din_sel, 00: from matrix0 dout, 01: from vsc_dout, 10: from matrix1 dout, 11: form matrix1 din ++//Bit 8 ldim_stts_en ++//Bit 6:5 hist_dnlp_low the real pixels in each bins got by VDIN_DNLP_HISTXX should multiple with 2^(dnlp_low+3) ++//Bit 3:2 hist_din_sel the source used for hist statistics. 00: from matrix0 dout, 01: from vsc_dout, 10: from matrix1 dout, 11: form matrix1 din ++//Bit 1 hist_win_en 1'b0: hist used for full picture; 1'b1: hist used for pixels within hist window ++//Bit 0 hist_spl_en 1'b0: disable hist readback; 1'b1: enable hist readback ++#define VDIN_HIST_CTRL (0x1230) ++#define P_VDIN_HIST_CTRL (volatile unsigned int *)((0x1230 << 2) + 0xff900000) ++//Bit 28:16 hist_hstart horizontal start value to define hist window ++//Bit 12:0 hist_hend horizontal end value to define hist window ++#define VDIN_HIST_H_START_END (0x1231) ++#define P_VDIN_HIST_H_START_END (volatile unsigned int *)((0x1231 << 2) + 0xff900000) ++//Bit 28:16 hist_vstart vertical start value to define hist window ++//Bit 12:0 hist_vend vertical end value to define hist window ++#define VDIN_HIST_V_START_END (0x1232) ++#define P_VDIN_HIST_V_START_END (volatile unsigned int *)((0x1232 << 2) + 0xff900000) ++//Bit 15:8 hist_max maximum value ++//Bit 7:0 hist_min minimum value ++//read only ++#define VDIN_HIST_MAX_MIN (0x1233) ++#define P_VDIN_HIST_MAX_MIN (volatile unsigned int *)((0x1233 << 2) + 0xff900000) ++//Bit 31:0 hist_spl_rd ++//counts for the total luma value ++//read only ++#define VDIN_HIST_SPL_VAL (0x1234) ++#define P_VDIN_HIST_SPL_VAL (volatile unsigned int *)((0x1234 << 2) + 0xff900000) ++//Bit 21:0 hist_spl_pixel_count ++//counts for the total calculated pixels ++//read only ++#define VDIN_HIST_SPL_PIX_CNT (0x1235) ++#define P_VDIN_HIST_SPL_PIX_CNT (volatile unsigned int *)((0x1235 << 2) + 0xff900000) ++//Bit 31:0 hist_chroma_sum ++//counts for the total chroma value ++//read only ++#define VDIN_HIST_CHROMA_SUM (0x1236) ++#define P_VDIN_HIST_CHROMA_SUM (volatile unsigned int *)((0x1236 << 2) + 0xff900000) ++//Bit 31:16 higher hist bin ++//Bit 15:0 lower hist bin ++//0-255 are splited to 64 bins evenly, and VDIN_DNLP_HISTXX ++//are the statistic number of pixels that within each bin. ++//VDIN_DNLP_HIST00[15:0] counts for the first bin ++//VDIN_DNLP_HIST00[31:16] counts for the second bin ++//VDIN_DNLP_HIST01[15:0] counts for the third bin ++//VDIN_DNLP_HIST01[31:16] counts for the fourth bin ++//etc... ++//read only ++#define VDIN_DNLP_HIST00 (0x1237) ++#define P_VDIN_DNLP_HIST00 (volatile unsigned int *)((0x1237 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST01 (0x1238) ++#define P_VDIN_DNLP_HIST01 (volatile unsigned int *)((0x1238 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST02 (0x1239) ++#define P_VDIN_DNLP_HIST02 (volatile unsigned int *)((0x1239 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST03 (0x123a) ++#define P_VDIN_DNLP_HIST03 (volatile unsigned int *)((0x123a << 2) + 0xff900000) ++#define VDIN_DNLP_HIST04 (0x123b) ++#define P_VDIN_DNLP_HIST04 (volatile unsigned int *)((0x123b << 2) + 0xff900000) ++#define VDIN_DNLP_HIST05 (0x123c) ++#define P_VDIN_DNLP_HIST05 (volatile unsigned int *)((0x123c << 2) + 0xff900000) ++#define VDIN_DNLP_HIST06 (0x123d) ++#define P_VDIN_DNLP_HIST06 (volatile unsigned int *)((0x123d << 2) + 0xff900000) ++#define VDIN_DNLP_HIST07 (0x123e) ++#define P_VDIN_DNLP_HIST07 (volatile unsigned int *)((0x123e << 2) + 0xff900000) ++#define VDIN_DNLP_HIST08 (0x123f) ++#define P_VDIN_DNLP_HIST08 (volatile unsigned int *)((0x123f << 2) + 0xff900000) ++#define VDIN_DNLP_HIST09 (0x1240) ++#define P_VDIN_DNLP_HIST09 (volatile unsigned int *)((0x1240 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST10 (0x1241) ++#define P_VDIN_DNLP_HIST10 (volatile unsigned int *)((0x1241 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST11 (0x1242) ++#define P_VDIN_DNLP_HIST11 (volatile unsigned int *)((0x1242 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST12 (0x1243) ++#define P_VDIN_DNLP_HIST12 (volatile unsigned int *)((0x1243 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST13 (0x1244) ++#define P_VDIN_DNLP_HIST13 (volatile unsigned int *)((0x1244 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST14 (0x1245) ++#define P_VDIN_DNLP_HIST14 (volatile unsigned int *)((0x1245 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST15 (0x1246) ++#define P_VDIN_DNLP_HIST15 (volatile unsigned int *)((0x1246 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST16 (0x1247) ++#define P_VDIN_DNLP_HIST16 (volatile unsigned int *)((0x1247 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST17 (0x1248) ++#define P_VDIN_DNLP_HIST17 (volatile unsigned int *)((0x1248 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST18 (0x1249) ++#define P_VDIN_DNLP_HIST18 (volatile unsigned int *)((0x1249 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST19 (0x124a) ++#define P_VDIN_DNLP_HIST19 (volatile unsigned int *)((0x124a << 2) + 0xff900000) ++#define VDIN_DNLP_HIST20 (0x124b) ++#define P_VDIN_DNLP_HIST20 (volatile unsigned int *)((0x124b << 2) + 0xff900000) ++#define VDIN_DNLP_HIST21 (0x124c) ++#define P_VDIN_DNLP_HIST21 (volatile unsigned int *)((0x124c << 2) + 0xff900000) ++#define VDIN_DNLP_HIST22 (0x124d) ++#define P_VDIN_DNLP_HIST22 (volatile unsigned int *)((0x124d << 2) + 0xff900000) ++#define VDIN_DNLP_HIST23 (0x124e) ++#define P_VDIN_DNLP_HIST23 (volatile unsigned int *)((0x124e << 2) + 0xff900000) ++#define VDIN_DNLP_HIST24 (0x124f) ++#define P_VDIN_DNLP_HIST24 (volatile unsigned int *)((0x124f << 2) + 0xff900000) ++#define VDIN_DNLP_HIST25 (0x1250) ++#define P_VDIN_DNLP_HIST25 (volatile unsigned int *)((0x1250 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST26 (0x1251) ++#define P_VDIN_DNLP_HIST26 (volatile unsigned int *)((0x1251 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST27 (0x1252) ++#define P_VDIN_DNLP_HIST27 (volatile unsigned int *)((0x1252 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST28 (0x1253) ++#define P_VDIN_DNLP_HIST28 (volatile unsigned int *)((0x1253 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST29 (0x1254) ++#define P_VDIN_DNLP_HIST29 (volatile unsigned int *)((0x1254 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST30 (0x1255) ++#define P_VDIN_DNLP_HIST30 (volatile unsigned int *)((0x1255 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST31 (0x1256) ++#define P_VDIN_DNLP_HIST31 (volatile unsigned int *)((0x1256 << 2) + 0xff900000) ++//Bit 31, local dimming statistic enable ++//Bit 28, eol enable ++//Bit 27:25, vertical line overlap number for max finding ++//Bit 24:22, horizontal pixel overlap number, 0: 17 pix, 1: 9 pix, 2: 5 pix, 3: 3 pix, 4: 0 pix ++//Bit 20, 1,2,1 low pass filter enable before max/hist statistic ++//Bit 19:16, region H/V position index, refer to VDIN_LDIM_STTS_HIST_SET_REGION ++//Bit 15, 1: region read index auto increase per read to VDIN_LDIM_STTS_HIST_READ_REGION ++//Bit 6:0, region read index ++#define VDIN_LDIM_STTS_HIST_REGION_IDX (0x1257) ++#define P_VDIN_LDIM_STTS_HIST_REGION_IDX (volatile unsigned int *)((0x1257 << 2) + 0xff900000) ++//Bit 28:0, if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h0: read/write hvstart0 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h1: read/write hend01 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h2: read/write vend01 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h3: read/write hend23 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h4: read/write vend23 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h5: read/write hend45 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h6: read/write vend45 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'd7: read/write hend67 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h8: read/write vend67 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h9: read/write hend89 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'ha: read/write vend89 ++//hvstart0, Bit 28:16 row0 vstart, Bit 12:0 col0 hstart ++//hend01, Bit 28:16 col1 hend, Bit 12:0 col0 hend ++//vend01, Bit 28:16 row1 vend, Bit 12:0 row0 vend ++//hend23, Bit 28:16 col3 hend, Bit 12:0 col2 hend ++//vend23, Bit 28:16 row3 vend, Bit 12:0 row2 vend ++//hend45, Bit 28:16 col5 hend, Bit 12:0 col4 hend ++//vend45, Bit 28:16 row5 vend, Bit 12:0 row4 vend ++//hend67, Bit 28:16 col7 hend, Bit 12:0 col6 hend ++//vend67, Bit 28:16 row7 vend, Bit 12:0 row6 vend ++//hend89, Bit 28:16 col9 hend, Bit 12:0 col8 hend ++//vend89, Bit 28:16 row9 vend, Bit 12:0 row8 vend ++#define VDIN_LDIM_STTS_HIST_SET_REGION (0x1258) ++#define P_VDIN_LDIM_STTS_HIST_SET_REGION (volatile unsigned int *)((0x1258 << 2) + 0xff900000) ++//REGION STATISTIC DATA READ OUT PORT, bit 29:20 max_comp2, bit 19:10 max_comp1, bit 9:0 max_comp0 ++#define VDIN_LDIM_STTS_HIST_READ_REGION (0x1259) ++#define P_VDIN_LDIM_STTS_HIST_READ_REGION (volatile unsigned int *)((0x1259 << 2) + 0xff900000) ++//Bit 18, reset bit, high active ++//Bit 17, if true, widen hs/vs pulse ++//Bit 16 vsync total counter always accumulating enable ++//Bit 14:12, select hs/vs of video input channel to measure, 0: no selection, 1: vdi1, 2: vid2, 3: vid3, 4:vid4, 5:vdi5, 6:vid6, 7:vdi7, 8: vdi8 ++//Bit 11:4, vsync_span, define how many vsync span need to measure ++//Bit 2:0 meas_hs_index, index to select which HS counter/range ++#define VDIN_MEAS_CTRL0 (0x125a) ++#define P_VDIN_MEAS_CTRL0 (volatile unsigned int *)((0x125a << 2) + 0xff900000) ++//Read only ++//19:16 meas_ind_total_count_n, every number of sync_span vsyncs, this count add 1 ++//15:0 high bit portion of vsync total counter ++#define VDIN_MEAS_VS_COUNT_HI (0x125b) ++#define P_VDIN_MEAS_VS_COUNT_HI (volatile unsigned int *)((0x125b << 2) + 0xff900000) ++//Read only ++//31:0, low bit portion of vsync total counter ++#define VDIN_MEAS_VS_COUNT_LO (0x125c) ++#define P_VDIN_MEAS_VS_COUNT_LO (volatile unsigned int *)((0x125c << 2) + 0xff900000) ++//according to the meas_hs_index in register VDIN_MEAS_CTRL0 ++//meas_hs_index == 0, first hs range ++//meas_hs_index == 1, second hs range ++//meas_hs_index == 2, third hs range ++//meas_hs_index == 3, fourth hs range ++//bit 28:16 count_start ++//bit 12:0 count_end ++#define VDIN_MEAS_HS_RANGE (0x125d) ++#define P_VDIN_MEAS_HS_RANGE (volatile unsigned int *)((0x125d << 2) + 0xff900000) ++//Read only ++//according to the meas_hs_index in register VDIN_MEAS_CTRL0, ++//meas_hs_index == 0, first range hs counter, ++//meas_hs_index == 1, second range hs coutner ++//meas_hs_index == 2, third range hs coutner ++//meas_hs_index == 3, fourth range hs coutner ++//23:0 ++#define VDIN_MEAS_HS_COUNT (0x125e) ++#define P_VDIN_MEAS_HS_COUNT (volatile unsigned int *)((0x125e << 2) + 0xff900000) ++//Bit 8 white_enable ++//Bit 7:0 blkbar_white_level ++#define VDIN_BLKBAR_CTRL1 (0x125f) ++#define P_VDIN_BLKBAR_CTRL1 (volatile unsigned int *)((0x125f << 2) + 0xff900000) ++// Bit 31:24 blkbar_black_level threshold to judge a black point ++// Bit 23:21 Reserved ++// Bit 20:8 blkbar_hwidth left and right region width ++// Bit 7:5 blkbar_comp_sel select yin or uin or vin to be the valid input ++// Bit 4 blkbar_sw_statistic_en enable software statistic of each block black points number ++// Bit 3 blkbar_det_en ++// Bit 2:1 blkbar_din_sel ++// bit blkbar_det_top_en ++#define VDIN_BLKBAR_CTRL0 (0x1260) ++#define P_VDIN_BLKBAR_CTRL0 (volatile unsigned int *)((0x1260 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 blkbar_hstart. Left region start ++// Bit 15:13 Reserved ++// Bit 12:0 blkbar_hend. Right region end ++#define VDIN_BLKBAR_H_START_END (0x1261) ++#define P_VDIN_BLKBAR_H_START_END (volatile unsigned int *)((0x1261 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 blkbar_vstart ++// Bit 15:13 Reserved ++// Bit 12:0 blkbar_vend ++#define VDIN_BLKBAR_V_START_END (0x1262) ++#define P_VDIN_BLKBAR_V_START_END (volatile unsigned int *)((0x1262 << 2) + 0xff900000) ++// Bit 31:20 Reserved ++// Bit 19:0 blkbar_cnt_threshold. threshold to judge whether a block is totally black ++#define VDIN_BLKBAR_CNT_THRESHOLD (0x1263) ++#define P_VDIN_BLKBAR_CNT_THRESHOLD (volatile unsigned int *)((0x1263 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 blkbar_row_th1. //threshold of the top blackbar ++// Bit 15:13 Reserved ++// bit 12:0 blkbar_row_th2 //threshold of the bottom blackbar ++#define VDIN_BLKBAR_ROW_TH1_TH2 (0x1264) ++#define P_VDIN_BLKBAR_ROW_TH1_TH2 (volatile unsigned int *)((0x1264 << 2) + 0xff900000) ++//Readonly ++// Bit 31:29 Reserved ++// Bit 28:16 blkbar_ind_left_start. horizontal start of the left region in the current searching ++// Bit 15:13 Reserved ++// Bit 12:0 blkbar_ind_left_end. horizontal end of the left region in the current searching ++#define VDIN_BLKBAR_IND_LEFT_START_END (0x1265) ++#define P_VDIN_BLKBAR_IND_LEFT_START_END (volatile unsigned int *)((0x1265 << 2) + 0xff900000) ++//Readonly ++// Bit 31:29 Reserved ++// Bit 28:16 blkbar_ind_right_start.horizontal start of the right region in the current searching ++// Bit 15:13 Reserved ++// Bit 12:0 blkbar_ind_right_end. horizontal end of the right region in the current searching ++#define VDIN_BLKBAR_IND_RIGHT_START_END (0x1266) ++#define P_VDIN_BLKBAR_IND_RIGHT_START_END (volatile unsigned int *)((0x1266 << 2) + 0xff900000) ++//Readonly ++// Bit 31:20 Reserved ++// Bit 19:0 blkbar_ind_left1_cnt. Black pixel counter. left part of the left region ++#define VDIN_BLKBAR_IND_LEFT1_CNT (0x1267) ++#define P_VDIN_BLKBAR_IND_LEFT1_CNT (volatile unsigned int *)((0x1267 << 2) + 0xff900000) ++//Readonly ++// Bit 31:20 Reserved ++// Bit 19:0 blkbar_ind_left2_cnt. Black pixel counter. right part of the left region ++#define VDIN_BLKBAR_IND_LEFT2_CNT (0x1268) ++#define P_VDIN_BLKBAR_IND_LEFT2_CNT (volatile unsigned int *)((0x1268 << 2) + 0xff900000) ++//Readonly ++// Bit 31:20 Reserved ++// Bit 19:0 blkbar_ind_right1_cnt. Black pixel counter. left part of the right region ++#define VDIN_BLKBAR_IND_RIGHT1_CNT (0x1269) ++#define P_VDIN_BLKBAR_IND_RIGHT1_CNT (volatile unsigned int *)((0x1269 << 2) + 0xff900000) ++//Readonly ++// Bit 31:20 Reserved ++// Bit 19:0 blkbar_ind_right2_cnt. Black pixel counter. right part of the right region ++#define VDIN_BLKBAR_IND_RIGHT2_CNT (0x126a) ++#define P_VDIN_BLKBAR_IND_RIGHT2_CNT (volatile unsigned int *)((0x126a << 2) + 0xff900000) ++//Readonly ++// Bit 31:30 Resersed ++// Bit 29 blkbar_ind_black_det_done. LEFT/RIGHT Black detection done ++// Bit 28:16 blkbar_top_pos. Top black bar position ++// Bit 15:13 Reserved. ++// Bit 12:0 blkbar_bot_pos. Bottom black bar position ++#define VDIN_BLKBAR_STATUS0 (0x126b) ++#define P_VDIN_BLKBAR_STATUS0 (volatile unsigned int *)((0x126b << 2) + 0xff900000) ++//Readonly ++// Bit 31:29 Reserved ++// Bit 28:16 blkbar_left_pos. Left black bar posiont ++// Bit 15:13 Reserved ++// Bit 12:0 blkbar_right_pos. Right black bar position ++#define VDIN_BLKBAR_STATUS1 (0x126c) ++#define P_VDIN_BLKBAR_STATUS1 (volatile unsigned int *)((0x126c << 2) + 0xff900000) ++//Bit 28:16 input window H start ++//Bit 12:0 input window H end ++#define VDIN_WIN_H_START_END (0x126d) ++#define P_VDIN_WIN_H_START_END (volatile unsigned int *)((0x126d << 2) + 0xff900000) ++//Bit 28:16 input window H start ++//Bit 12:0 input window V start ++#define VDIN_WIN_V_START_END (0x126e) ++#define P_VDIN_WIN_V_START_END (volatile unsigned int *)((0x126e << 2) + 0xff900000) ++//Bit 23:16 vdi8 asfifo_ctrl ++//Bit 15:8 vdi7 asfifo_ctrl ++//Bit 7:0 vdi6 asfifo_ctrl ++#define VDIN_ASFIFO_CTRL3 (0x126f) ++#define P_VDIN_ASFIFO_CTRL3 (volatile unsigned int *)((0x126f << 2) + 0xff900000) ++//Bit 3:2 vshrk_clk2_ctrl ++//Bit 1:0 vshrk_clk1_ctrl ++#define VDIN_COM_GCLK_CTRL2 (0x1270) ++#define P_VDIN_COM_GCLK_CTRL2 (volatile unsigned int *)((0x1270 << 2) + 0xff900000) ++//Bit 27 vshrk_en ++//Bit 26:25 vshrk_mode ++//Bit 24 vshrk_lpf_mode ++//Bit 23:0 vshrk_dummy ++#define VDIN_VSHRK_CTRL (0x1271) ++#define P_VDIN_VSHRK_CTRL (volatile unsigned int *)((0x1271 << 2) + 0xff900000) ++#define VDIN_DNLP_HIST32 (0x1272) ++#define P_VDIN_DNLP_HIST32 (volatile unsigned int *)((0x1272 << 2) + 0xff900000) ++//Read only ++//Bit 7, vdi9 fifo overflow ++//Bit 5:0, vdi9_asfifo_cnt ++#define VDIN_COM_STATUS3 (0x1273) ++#define P_VDIN_COM_STATUS3 (volatile unsigned int *)((0x1273 << 2) + 0xff900000) ++#define VDIN_SYNC_MASK (0x1274) ++#define P_VDIN_SYNC_MASK (volatile unsigned int *)((0x1274 << 2) + 0xff900000) ++//Bit 7:0, hsync_mask_num ++//Bit 15:8, vsync_mask_num ++//Bit 16, hsync_mask_enable ++//Bit 17, vsync_mask_num ++//dolby vdin ++#define VDIN_DOLBY_DSC_CTRL0 (0x1275) ++#define P_VDIN_DOLBY_DSC_CTRL0 (volatile unsigned int *)((0x1275 << 2) + 0xff900000) ++#define VDIN_DOLBY_DSC_CTRL1 (0x1276) ++#define P_VDIN_DOLBY_DSC_CTRL1 (volatile unsigned int *)((0x1276 << 2) + 0xff900000) ++#define VDIN_DOLBY_DSC_CTRL2 (0x1277) ++#define P_VDIN_DOLBY_DSC_CTRL2 (volatile unsigned int *)((0x1277 << 2) + 0xff900000) ++#define VDIN_DOLBY_DSC_CTRL3 (0x1278) ++#define P_VDIN_DOLBY_DSC_CTRL3 (volatile unsigned int *)((0x1278 << 2) + 0xff900000) ++#define VDIN_DOLBY_AXI_CTRL0 (0x1279) ++#define P_VDIN_DOLBY_AXI_CTRL0 (volatile unsigned int *)((0x1279 << 2) + 0xff900000) ++#define VDIN_DOLBY_AXI_CTRL1 (0x127a) ++#define P_VDIN_DOLBY_AXI_CTRL1 (volatile unsigned int *)((0x127a << 2) + 0xff900000) ++#define VDIN_DOLBY_AXI_CTRL2 (0x127b) ++#define P_VDIN_DOLBY_AXI_CTRL2 (volatile unsigned int *)((0x127b << 2) + 0xff900000) ++#define VDIN_DOLBY_AXI_CTRL3 (0x127c) ++#define P_VDIN_DOLBY_AXI_CTRL3 (volatile unsigned int *)((0x127c << 2) + 0xff900000) ++#define VDIN_DOLBY_DSC_STATUS0 (0x127d) ++#define P_VDIN_DOLBY_DSC_STATUS0 (volatile unsigned int *)((0x127d << 2) + 0xff900000) ++#define VDIN_DOLBY_DSC_STATUS1 (0x127e) ++#define P_VDIN_DOLBY_DSC_STATUS1 (volatile unsigned int *)((0x127e << 2) + 0xff900000) ++#define VDIN_DOLBY_DSC_STATUS2 (0x127f) ++#define P_VDIN_DOLBY_DSC_STATUS2 (volatile unsigned int *)((0x127f << 2) + 0xff900000) ++#define VDIN_DOLBY_DSC_STATUS3 (0x121d) ++#define P_VDIN_DOLBY_DSC_STATUS3 (volatile unsigned int *)((0x121d << 2) + 0xff900000) ++ ++//8'h72 occupied by histogram 32 ++//VDIN0 8'h00 - 8'h7f ++#define VDIN0_SCALE_COEF_IDX ((VDIN0_OFFSET << 2) + VDIN_SCALE_COEF_IDX ) ++#define VDIN0_SCALE_COEF ((VDIN0_OFFSET << 2) + VDIN_SCALE_COEF ) ++#define VDIN0_COM_CTRL0 ((VDIN0_OFFSET << 2) + VDIN_COM_CTRL0 ) ++#define VDIN0_ACTIVE_MAX_PIX_CNT_STATUS ((VDIN0_OFFSET << 2) + VDIN_ACTIVE_MAX_PIX_CNT_STATUS ) ++#define VDIN0_LCNT_STATUS ((VDIN0_OFFSET << 2) + VDIN_LCNT_STATUS ) ++#define VDIN0_COM_STATUS0 ((VDIN0_OFFSET << 2) + VDIN_COM_STATUS0 ) ++#define VDIN0_COM_STATUS1 ((VDIN0_OFFSET << 2) + VDIN_COM_STATUS1 ) ++#define VDIN0_LCNT_SHADOW_STATUS ((VDIN0_OFFSET << 2) + VDIN_LCNT_SHADOW_STATUS ) ++#define VDIN0_ASFIFO_CTRL0 ((VDIN0_OFFSET << 2) + VDIN_ASFIFO_CTRL0 ) ++#define VDIN0_ASFIFO_CTRL1 ((VDIN0_OFFSET << 2) + VDIN_ASFIFO_CTRL1 ) ++#define VDIN0_WIDTHM1I_WIDTHM1O ((VDIN0_OFFSET << 2) + VDIN_WIDTHM1I_WIDTHM1O ) ++#define VDIN0_SC_MISC_CTRL ((VDIN0_OFFSET << 2) + VDIN_SC_MISC_CTRL ) ++#define VDIN0_HSC_PHASE_STEP ((VDIN0_OFFSET << 2) + VDIN_HSC_PHASE_STEP ) ++#define VDIN0_HSC_INI_CTRL ((VDIN0_OFFSET << 2) + VDIN_HSC_INI_CTRL ) ++#define VDIN0_COM_STATUS2 ((VDIN0_OFFSET << 2) + VDIN_COM_STATUS2 ) ++#define VDIN0_COM_STATUS3 ((VDIN0_OFFSET << 2) + VDIN_COM_STATUS3 ) ++#define VDIN0_ASFIFO_CTRL2 ((VDIN0_OFFSET << 2) + VDIN_ASFIFO_CTRL2 ) ++#define VDIN0_MATRIX_CTRL ((VDIN0_OFFSET << 2) + VDIN_MATRIX_CTRL ) ++#define VDIN0_MATRIX_COEF00_01 ((VDIN0_OFFSET << 2) + VDIN_MATRIX_COEF00_01 ) ++#define VDIN0_MATRIX_COEF02_10 ((VDIN0_OFFSET << 2) + VDIN_MATRIX_COEF02_10 ) ++#define VDIN0_MATRIX_COEF11_12 ((VDIN0_OFFSET << 2) + VDIN_MATRIX_COEF11_12 ) ++#define VDIN0_MATRIX_COEF20_21 ((VDIN0_OFFSET << 2) + VDIN_MATRIX_COEF20_21 ) ++#define VDIN0_MATRIX_COEF22 ((VDIN0_OFFSET << 2) + VDIN_MATRIX_COEF22 ) ++#define VDIN0_MATRIX_OFFSET0_1 ((VDIN0_OFFSET << 2) + VDIN_MATRIX_OFFSET0_1 ) ++#define VDIN0_MATRIX_OFFSET2 ((VDIN0_OFFSET << 2) + VDIN_MATRIX_OFFSET2 ) ++#define VDIN0_MATRIX_PRE_OFFSET0_1 ((VDIN0_OFFSET << 2) + VDIN_MATRIX_PRE_OFFSET0_1 ) ++#define VDIN0_MATRIX_PRE_OFFSET2 ((VDIN0_OFFSET << 2) + VDIN_MATRIX_PRE_OFFSET2 ) ++#define VDIN0_LFIFO_CTRL ((VDIN0_OFFSET << 2) + VDIN_LFIFO_CTRL ) ++#define VDIN0_COM_GCLK_CTRL ((VDIN0_OFFSET << 2) + VDIN_COM_GCLK_CTRL ) ++#define VDIN0_INTF_WIDTHM1 ((VDIN0_OFFSET << 2) + VDIN_INTF_WIDTHM1 ) ++#define VDIN0_WR_CTRL2 ((VDIN0_OFFSET << 2) + VDIN_WR_CTRL2 ) ++#define VDIN0_WR_CTRL ((VDIN0_OFFSET << 2) + VDIN_WR_CTRL ) ++#define VDIN0_WR_H_START_END ((VDIN0_OFFSET << 2) + VDIN_WR_H_START_END ) ++#define VDIN0_WR_V_START_END ((VDIN0_OFFSET << 2) + VDIN_WR_V_START_END ) ++#define VDIN0_VSC_PHASE_STEP ((VDIN0_OFFSET << 2) + VDIN_VSC_PHASE_STEP ) ++#define VDIN0_VSC_INI_CTRL ((VDIN0_OFFSET << 2) + VDIN_VSC_INI_CTRL ) ++#define VDIN0_SCIN_HEIGHTM1 ((VDIN0_OFFSET << 2) + VDIN_SCIN_HEIGHTM1 ) ++#define VDIN0_DUMMY_DATA ((VDIN0_OFFSET << 2) + VDIN_DUMMY_DATA ) ++#define VDIN0_MATRIX_PROBE_COLOR ((VDIN0_OFFSET << 2) + VDIN_MATRIX_PROBE_COLOR ) ++#define VDIN0_MATRIX_HL_COLOR ((VDIN0_OFFSET << 2) + VDIN_MATRIX_HL_COLOR ) ++#define VDIN0_MATRIX_PROBE_POS ((VDIN0_OFFSET << 2) + VDIN_MATRIX_PROBE_POS ) ++#define VDIN0_CHROMA_ADDR_PORT ((VDIN0_OFFSET << 2) + VDIN_CHROMA_ADDR_PORT ) ++#define VDIN0_CHROMA_DATA_PORT ((VDIN0_OFFSET << 2) + VDIN_CHROMA_DATA_PORT ) ++#define VDIN0_CM_BRI_CON_CTRL ((VDIN0_OFFSET << 2) + VDIN_CM_BRI_CON_CTRL ) ++#define VDIN0_HIST_CTRL ((VDIN0_OFFSET << 2) + VDIN_HIST_CTRL ) ++#define VDIN0_HIST_H_START_END ((VDIN0_OFFSET << 2) + VDIN_HIST_H_START_END ) ++#define VDIN0_HIST_V_START_END ((VDIN0_OFFSET << 2) + VDIN_HIST_V_START_END ) ++#define VDIN0_HIST_MAX_MIN ((VDIN0_OFFSET << 2) + VDIN_HIST_MAX_MIN ) ++#define VDIN0_HIST_SPL_VAL ((VDIN0_OFFSET << 2) + VDIN_HIST_SPL_VAL ) ++#define VDIN0_HIST_SPL_PIX_CNT ((VDIN0_OFFSET << 2) + VDIN_HIST_SPL_PIX_CNT ) ++#define VDIN0_HIST_CHROMA_SUM ((VDIN0_OFFSET << 2) + VDIN_HIST_CHROMA_SUM ) ++#define VDIN0_DNLP_HIST00 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST00 ) ++#define VDIN0_DNLP_HIST01 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST01 ) ++#define VDIN0_DNLP_HIST02 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST02 ) ++#define VDIN0_DNLP_HIST03 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST03 ) ++#define VDIN0_DNLP_HIST04 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST04 ) ++#define VDIN0_DNLP_HIST05 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST05 ) ++#define VDIN0_DNLP_HIST06 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST06 ) ++#define VDIN0_DNLP_HIST07 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST07 ) ++#define VDIN0_DNLP_HIST08 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST08 ) ++#define VDIN0_DNLP_HIST09 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST09 ) ++#define VDIN0_DNLP_HIST10 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST10 ) ++#define VDIN0_DNLP_HIST11 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST11 ) ++#define VDIN0_DNLP_HIST12 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST12 ) ++#define VDIN0_DNLP_HIST13 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST13 ) ++#define VDIN0_DNLP_HIST14 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST14 ) ++#define VDIN0_DNLP_HIST15 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST15 ) ++#define VDIN0_DNLP_HIST16 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST16 ) ++#define VDIN0_DNLP_HIST17 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST17 ) ++#define VDIN0_DNLP_HIST18 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST18 ) ++#define VDIN0_DNLP_HIST19 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST19 ) ++#define VDIN0_DNLP_HIST20 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST20 ) ++#define VDIN0_DNLP_HIST21 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST21 ) ++#define VDIN0_DNLP_HIST22 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST22 ) ++#define VDIN0_DNLP_HIST23 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST23 ) ++#define VDIN0_DNLP_HIST24 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST24 ) ++#define VDIN0_DNLP_HIST25 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST25 ) ++#define VDIN0_DNLP_HIST26 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST26 ) ++#define VDIN0_DNLP_HIST27 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST27 ) ++#define VDIN0_DNLP_HIST28 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST28 ) ++#define VDIN0_DNLP_HIST29 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST29 ) ++#define VDIN0_DNLP_HIST30 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST30 ) ++#define VDIN0_DNLP_HIST31 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST31 ) ++#define VDIN0_DNLP_HIST32 ((VDIN0_OFFSET << 2) + VDIN_DNLP_HIST32 ) ++#define VDIN0_LDIM_STTS_HIST_REGION_IDX ((VDIN0_OFFSET << 2) + VDIN_LDIM_STTS_HIST_REGION_IDX ) ++#define VDIN0_LDIM_STTS_HIST_SET_REGION ((VDIN0_OFFSET << 2) + VDIN_LDIM_STTS_HIST_SET_REGION ) ++#define VDIN0_LDIM_STTS_HIST_READ_REGION ((VDIN0_OFFSET << 2) + VDIN_LDIM_STTS_HIST_READ_REGION ) ++#define VDIN0_MEAS_CTRL0 ((VDIN0_OFFSET << 2) + VDIN_MEAS_CTRL0 ) ++#define VDIN0_MEAS_VS_COUNT_HI ((VDIN0_OFFSET << 2) + VDIN_MEAS_VS_COUNT_HI ) ++#define VDIN0_MEAS_VS_COUNT_LO ((VDIN0_OFFSET << 2) + VDIN_MEAS_VS_COUNT_LO ) ++#define VDIN0_MEAS_HS_RANGE ((VDIN0_OFFSET << 2) + VDIN_MEAS_HS_RANGE ) ++#define VDIN0_MEAS_HS_COUNT ((VDIN0_OFFSET << 2) + VDIN_MEAS_HS_COUNT ) ++#define VDIN0_BLKBAR_CTRL1 ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_CTRL1 ) ++#define VDIN0_BLKBAR_CTRL0 ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_CTRL0 ) ++#define VDIN0_BLKBAR_H_START_END ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_H_START_END ) ++#define VDIN0_BLKBAR_V_START_END ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_V_START_END ) ++#define VDIN0_BLKBAR_CNT_THRESHOLD ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_CNT_THRESHOLD ) ++#define VDIN0_BLKBAR_ROW_TH1_TH2 ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_ROW_TH1_TH2 ) ++#define VDIN0_BLKBAR_IND_LEFT_START_END ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_IND_LEFT_START_END ) ++#define VDIN0_BLKBAR_IND_RIGHT_START_END ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_IND_RIGHT_START_END ) ++#define VDIN0_BLKBAR_IND_LEFT1_CNT ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_IND_LEFT1_CNT ) ++#define VDIN0_BLKBAR_IND_LEFT2_CNT ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_IND_LEFT2_CNT ) ++#define VDIN0_BLKBAR_IND_RIGHT1_CNT ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_IND_RIGHT1_CNT ) ++#define VDIN0_BLKBAR_IND_RIGHT2_CNT ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_IND_RIGHT2_CNT ) ++#define VDIN0_BLKBAR_STATUS0 ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_STATUS0 ) ++#define VDIN0_BLKBAR_STATUS1 ((VDIN0_OFFSET << 2) + VDIN_BLKBAR_STATUS1 ) ++#define VDIN0_WIN_H_START_END ((VDIN0_OFFSET << 2) + VDIN_WIN_H_START_END ) ++#define VDIN0_WIN_V_START_END ((VDIN0_OFFSET << 2) + VDIN_WIN_V_START_END ) ++#define VDIN0_ASFIFO_CTRL3 ((VDIN0_OFFSET << 2) + VDIN_ASFIFO_CTRL3 ) ++#define VDIN0_COM_GCLK_CTRL2 ((VDIN0_OFFSET << 2) + VDIN_COM_GCLK_CTRL2 ) ++#define VDIN0_VSHRK_CTRL ((VDIN0_OFFSET << 2) + VDIN_VSHRK_CTRL ) ++#define VDIN0_SYNC_MASK ((VDIN0_OFFSET << 2) + VDIN_SYNC_MASK ) ++#define VDIN0_DOLBY_DSC_CTRL0 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_DSC_CTRL0 ) ++#define VDIN0_DOLBY_DSC_CTRL1 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_DSC_CTRL1 ) ++#define VDIN0_DOLBY_DSC_CTRL2 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_DSC_CTRL2 ) ++#define VDIN0_DOLBY_DSC_CTRL3 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_DSC_CTRL3 ) ++#define VDIN0_DOLBY_AXI_CTRL0 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_AXI_CTRL0 ) ++#define VDIN0_DOLBY_AXI_CTRL1 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_AXI_CTRL1 ) ++#define VDIN0_DOLBY_AXI_CTRL2 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_AXI_CTRL2 ) ++#define VDIN0_DOLBY_AXI_CTRL3 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_AXI_CTRL3 ) ++#define VDIN0_DOLBY_DSC_STATUS0 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_DSC_STATUS0) ++#define VDIN0_DOLBY_DSC_STATUS1 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_DSC_STATUS1) ++#define VDIN0_DOLBY_DSC_STATUS2 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_DSC_STATUS2) ++#define VDIN0_DOLBY_DSC_STATUS3 ((VDIN0_OFFSET << 2) + VDIN_DOLBY_DSC_STATUS3) ++ ++ ++//VDIN1 8'h80 - 8'hef ++#define VDIN1_SCALE_COEF_IDX ((VDIN1_OFFSET << 2) + VDIN_SCALE_COEF_IDX ) ++#define VDIN1_SCALE_COEF ((VDIN1_OFFSET << 2) + VDIN_SCALE_COEF ) ++#define VDIN1_COM_CTRL0 ((VDIN1_OFFSET << 2) + VDIN_COM_CTRL0 ) ++#define VDIN1_ACTIVE_MAX_PIX_CNT_STATUS ((VDIN1_OFFSET << 2) + VDIN_ACTIVE_MAX_PIX_CNT_STATUS ) ++#define VDIN1_LCNT_STATUS ((VDIN1_OFFSET << 2) + VDIN_LCNT_STATUS ) ++#define VDIN1_COM_STATUS0 ((VDIN1_OFFSET << 2) + VDIN_COM_STATUS0 ) ++#define VDIN1_COM_STATUS1 ((VDIN1_OFFSET << 2) + VDIN_COM_STATUS1 ) ++#define VDIN1_LCNT_SHADOW_STATUS ((VDIN1_OFFSET << 2) + VDIN_LCNT_SHADOW_STATUS ) ++#define VDIN1_ASFIFO_CTRL0 ((VDIN1_OFFSET << 2) + VDIN_ASFIFO_CTRL0 ) ++#define VDIN1_ASFIFO_CTRL1 ((VDIN1_OFFSET << 2) + VDIN_ASFIFO_CTRL1 ) ++#define VDIN1_WIDTHM1I_WIDTHM1O ((VDIN1_OFFSET << 2) + VDIN_WIDTHM1I_WIDTHM1O ) ++#define VDIN1_SC_MISC_CTRL ((VDIN1_OFFSET << 2) + VDIN_SC_MISC_CTRL ) ++#define VDIN1_HSC_PHASE_STEP ((VDIN1_OFFSET << 2) + VDIN_HSC_PHASE_STEP ) ++#define VDIN1_HSC_INI_CTRL ((VDIN1_OFFSET << 2) + VDIN_HSC_INI_CTRL ) ++#define VDIN1_COM_STATUS2 ((VDIN1_OFFSET << 2) + VDIN_COM_STATUS2 ) ++#define VDIN1_COM_STATUS3 ((VDIN1_OFFSET << 2) + VDIN_COM_STATUS3 ) ++#define VDIN1_ASFIFO_CTRL2 ((VDIN1_OFFSET << 2) + VDIN_ASFIFO_CTRL2 ) ++#define VDIN1_MATRIX_CTRL ((VDIN1_OFFSET << 2) + VDIN_MATRIX_CTRL ) ++#define VDIN1_MATRIX_COEF00_01 ((VDIN1_OFFSET << 2) + VDIN_MATRIX_COEF00_01 ) ++#define VDIN1_MATRIX_COEF02_10 ((VDIN1_OFFSET << 2) + VDIN_MATRIX_COEF02_10 ) ++#define VDIN1_MATRIX_COEF11_12 ((VDIN1_OFFSET << 2) + VDIN_MATRIX_COEF11_12 ) ++#define VDIN1_MATRIX_COEF20_21 ((VDIN1_OFFSET << 2) + VDIN_MATRIX_COEF20_21 ) ++#define VDIN1_MATRIX_COEF22 ((VDIN1_OFFSET << 2) + VDIN_MATRIX_COEF22 ) ++#define VDIN1_MATRIX_OFFSET0_1 ((VDIN1_OFFSET << 2) + VDIN_MATRIX_OFFSET0_1 ) ++#define VDIN1_MATRIX_OFFSET2 ((VDIN1_OFFSET << 2) + VDIN_MATRIX_OFFSET2 ) ++#define VDIN1_MATRIX_PRE_OFFSET0_1 ((VDIN1_OFFSET << 2) + VDIN_MATRIX_PRE_OFFSET0_1 ) ++#define VDIN1_MATRIX_PRE_OFFSET2 ((VDIN1_OFFSET << 2) + VDIN_MATRIX_PRE_OFFSET2 ) ++#define VDIN1_LFIFO_CTRL ((VDIN1_OFFSET << 2) + VDIN_LFIFO_CTRL ) ++#define VDIN1_COM_GCLK_CTRL ((VDIN1_OFFSET << 2) + VDIN_COM_GCLK_CTRL ) ++#define VDIN1_INTF_WIDTHM1 ((VDIN1_OFFSET << 2) + VDIN_INTF_WIDTHM1 ) ++#define VDIN1_WR_CTRL2 ((VDIN1_OFFSET << 2) + VDIN_WR_CTRL2 ) ++#define VDIN1_WR_CTRL ((VDIN1_OFFSET << 2) + VDIN_WR_CTRL ) ++#define VDIN1_WR_H_START_END ((VDIN1_OFFSET << 2) + VDIN_WR_H_START_END ) ++#define VDIN1_WR_V_START_END ((VDIN1_OFFSET << 2) + VDIN_WR_V_START_END ) ++#define VDIN1_VSC_PHASE_STEP ((VDIN1_OFFSET << 2) + VDIN_VSC_PHASE_STEP ) ++#define VDIN1_VSC_INI_CTRL ((VDIN1_OFFSET << 2) + VDIN_VSC_INI_CTRL ) ++#define VDIN1_SCIN_HEIGHTM1 ((VDIN1_OFFSET << 2) + VDIN_SCIN_HEIGHTM1 ) ++#define VDIN1_DUMMY_DATA ((VDIN1_OFFSET << 2) + VDIN_DUMMY_DATA ) ++#define VDIN1_MATRIX_PROBE_COLOR ((VDIN1_OFFSET << 2) + VDIN_MATRIX_PROBE_COLOR ) ++#define VDIN1_MATRIX_HL_COLOR ((VDIN1_OFFSET << 2) + VDIN_MATRIX_HL_COLOR ) ++#define VDIN1_MATRIX_PROBE_POS ((VDIN1_OFFSET << 2) + VDIN_MATRIX_PROBE_POS ) ++#define VDIN1_CHROMA_ADDR_PORT ((VDIN1_OFFSET << 2) + VDIN_CHROMA_ADDR_PORT ) ++#define VDIN1_CHROMA_DATA_PORT ((VDIN1_OFFSET << 2) + VDIN_CHROMA_DATA_PORT ) ++#define VDIN1_CM_BRI_CON_CTRL ((VDIN1_OFFSET << 2) + VDIN_CM_BRI_CON_CTRL ) ++#define VDIN1_HIST_CTRL ((VDIN1_OFFSET << 2) + VDIN_HIST_CTRL ) ++#define VDIN1_HIST_H_START_END ((VDIN1_OFFSET << 2) + VDIN_HIST_H_START_END ) ++#define VDIN1_HIST_V_START_END ((VDIN1_OFFSET << 2) + VDIN_HIST_V_START_END ) ++#define VDIN1_HIST_MAX_MIN ((VDIN1_OFFSET << 2) + VDIN_HIST_MAX_MIN ) ++#define VDIN1_HIST_SPL_VAL ((VDIN1_OFFSET << 2) + VDIN_HIST_SPL_VAL ) ++#define VDIN1_HIST_SPL_PIX_CNT ((VDIN1_OFFSET << 2) + VDIN_HIST_SPL_PIX_CNT ) ++#define VDIN1_HIST_CHROMA_SUM ((VDIN1_OFFSET << 2) + VDIN_HIST_CHROMA_SUM ) ++#define VDIN1_DNLP_HIST00 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST00 ) ++#define VDIN1_DNLP_HIST01 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST01 ) ++#define VDIN1_DNLP_HIST02 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST02 ) ++#define VDIN1_DNLP_HIST03 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST03 ) ++#define VDIN1_DNLP_HIST04 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST04 ) ++#define VDIN1_DNLP_HIST05 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST05 ) ++#define VDIN1_DNLP_HIST06 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST06 ) ++#define VDIN1_DNLP_HIST07 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST07 ) ++#define VDIN1_DNLP_HIST08 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST08 ) ++#define VDIN1_DNLP_HIST09 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST09 ) ++#define VDIN1_DNLP_HIST10 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST10 ) ++#define VDIN1_DNLP_HIST11 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST11 ) ++#define VDIN1_DNLP_HIST12 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST12 ) ++#define VDIN1_DNLP_HIST13 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST13 ) ++#define VDIN1_DNLP_HIST14 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST14 ) ++#define VDIN1_DNLP_HIST15 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST15 ) ++#define VDIN1_DNLP_HIST16 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST16 ) ++#define VDIN1_DNLP_HIST17 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST17 ) ++#define VDIN1_DNLP_HIST18 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST18 ) ++#define VDIN1_DNLP_HIST19 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST19 ) ++#define VDIN1_DNLP_HIST20 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST20 ) ++#define VDIN1_DNLP_HIST21 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST21 ) ++#define VDIN1_DNLP_HIST22 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST22 ) ++#define VDIN1_DNLP_HIST23 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST23 ) ++#define VDIN1_DNLP_HIST24 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST24 ) ++#define VDIN1_DNLP_HIST25 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST25 ) ++#define VDIN1_DNLP_HIST26 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST26 ) ++#define VDIN1_DNLP_HIST27 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST27 ) ++#define VDIN1_DNLP_HIST28 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST28 ) ++#define VDIN1_DNLP_HIST29 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST29 ) ++#define VDIN1_DNLP_HIST30 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST30 ) ++#define VDIN1_DNLP_HIST31 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST31 ) ++#define VDIN1_DNLP_HIST32 ((VDIN1_OFFSET << 2) + VDIN_DNLP_HIST32 ) ++#define VDIN1_LDIM_STTS_HIST_REGION_IDX ((VDIN1_OFFSET << 2) + VDIN_LDIM_STTS_HIST_REGION_IDX ) ++#define VDIN1_LDIM_STTS_HIST_SET_REGION ((VDIN1_OFFSET << 2) + VDIN_LDIM_STTS_HIST_SET_REGION ) ++#define VDIN1_LDIM_STTS_HIST_READ_REGION ((VDIN1_OFFSET << 2) + VDIN_LDIM_STTS_HIST_READ_REGION ) ++#define VDIN1_MEAS_CTRL0 ((VDIN1_OFFSET << 2) + VDIN_MEAS_CTRL0 ) ++#define VDIN1_MEAS_VS_COUNT_HI ((VDIN1_OFFSET << 2) + VDIN_MEAS_VS_COUNT_HI ) ++#define VDIN1_MEAS_VS_COUNT_LO ((VDIN1_OFFSET << 2) + VDIN_MEAS_VS_COUNT_LO ) ++#define VDIN1_MEAS_HS_RANGE ((VDIN1_OFFSET << 2) + VDIN_MEAS_HS_RANGE ) ++#define VDIN1_MEAS_HS_COUNT ((VDIN1_OFFSET << 2) + VDIN_MEAS_HS_COUNT ) ++#define VDIN1_BLKBAR_CTRL1 ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_CTRL1 ) ++#define VDIN1_BLKBAR_CTRL0 ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_CTRL0 ) ++#define VDIN1_BLKBAR_H_START_END ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_H_START_END ) ++#define VDIN1_BLKBAR_V_START_END ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_V_START_END ) ++#define VDIN1_BLKBAR_CNT_THRESHOLD ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_CNT_THRESHOLD ) ++#define VDIN1_BLKBAR_ROW_TH1_TH2 ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_ROW_TH1_TH2 ) ++#define VDIN1_BLKBAR_IND_LEFT_START_END ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_IND_LEFT_START_END ) ++#define VDIN1_BLKBAR_IND_RIGHT_START_END ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_IND_RIGHT_START_END ) ++#define VDIN1_BLKBAR_IND_LEFT1_CNT ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_IND_LEFT1_CNT ) ++#define VDIN1_BLKBAR_IND_LEFT2_CNT ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_IND_LEFT2_CNT ) ++#define VDIN1_BLKBAR_IND_RIGHT1_CNT ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_IND_RIGHT1_CNT ) ++#define VDIN1_BLKBAR_IND_RIGHT2_CNT ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_IND_RIGHT2_CNT ) ++#define VDIN1_BLKBAR_STATUS0 ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_STATUS0 ) ++#define VDIN1_BLKBAR_STATUS1 ((VDIN1_OFFSET << 2) + VDIN_BLKBAR_STATUS1 ) ++#define VDIN1_WIN_H_START_END ((VDIN1_OFFSET << 2) + VDIN_WIN_H_START_END ) ++#define VDIN1_WIN_V_START_END ((VDIN1_OFFSET << 2) + VDIN_WIN_V_START_END ) ++#define VDIN1_ASFIFO_CTRL3 ((VDIN1_OFFSET << 2) + VDIN_ASFIFO_CTRL3 ) ++#define VDIN1_COM_GCLK_CTRL2 ((VDIN1_OFFSET << 2) + VDIN_COM_GCLK_CTRL2 ) ++#define VDIN1_VSHRK_CTRL ((VDIN1_OFFSET << 2) + VDIN_VSHRK_CTRL ) ++#define VDIN1_SYNC_MASK ((VDIN1_OFFSET << 2) + VDIN_SYNC_MASK ) ++#define VDIN1_DOLBY_DSC_CTRL0 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_DSC_CTRL0 ) ++#define VDIN1_DOLBY_DSC_CTRL1 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_DSC_CTRL1 ) ++#define VDIN1_DOLBY_DSC_CTRL2 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_DSC_CTRL2 ) ++#define VDIN1_DOLBY_DSC_CTRL3 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_DSC_CTRL3 ) ++#define VDIN1_DOLBY_AXI_CTRL0 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_AXI_CTRL0 ) ++#define VDIN1_DOLBY_AXI_CTRL1 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_AXI_CTRL1 ) ++#define VDIN1_DOLBY_AXI_CTRL2 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_AXI_CTRL2 ) ++#define VDIN1_DOLBY_AXI_CTRL3 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_AXI_CTRL3 ) ++#define VDIN1_DOLBY_DSC_STATUS0 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_DSC_STATUS0) ++#define VDIN1_DOLBY_DSC_STATUS1 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_DSC_STATUS1) ++#define VDIN1_DOLBY_DSC_STATUS2 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_DSC_STATUS2) ++#define VDIN1_DOLBY_DSC_STATUS3 ((VDIN1_OFFSET << 2) + VDIN_DOLBY_DSC_STATUS3) ++ ++//`define LCD_VCBUS_BASE 8'h14 ++// ++// Reading file: lcd_regs.h ++// ++// ----------------------------------------------- ++// CBUS_BASE: LCD_VCBUS_BASE = 0x14 ++// ----------------------------------------------- ++//======================================================================== ++//LCD DRV 12'h480~12'h4ef ++//======================================================================= ++#define L_GAMMA_CNTL_PORT (0x1400) ++#define P_L_GAMMA_CNTL_PORT (volatile unsigned int *)((0x1400 << 2) + 0xff900000) ++#define L_GAMMA_DATA_PORT (0x1401) ++#define P_L_GAMMA_DATA_PORT (volatile unsigned int *)((0x1401 << 2) + 0xff900000) ++#define L_GAMMA_ADDR_PORT (0x1402) ++#define P_L_GAMMA_ADDR_PORT (volatile unsigned int *)((0x1402 << 2) + 0xff900000) ++#define L_GAMMA_VCOM_HSWITCH_ADDR (0x1403) ++#define P_L_GAMMA_VCOM_HSWITCH_ADDR (volatile unsigned int *)((0x1403 << 2) + 0xff900000) ++#define L_RGB_BASE_ADDR (0x1405) ++#define P_L_RGB_BASE_ADDR (volatile unsigned int *)((0x1405 << 2) + 0xff900000) ++#define L_RGB_COEFF_ADDR (0x1406) ++#define P_L_RGB_COEFF_ADDR (volatile unsigned int *)((0x1406 << 2) + 0xff900000) ++#define L_POL_CNTL_ADDR (0x1407) ++#define P_L_POL_CNTL_ADDR (volatile unsigned int *)((0x1407 << 2) + 0xff900000) ++#define L_DITH_CNTL_ADDR (0x1408) ++#define P_L_DITH_CNTL_ADDR (volatile unsigned int *)((0x1408 << 2) + 0xff900000) ++#define L_GAMMA_PROBE_CTRL (0x1409) ++#define P_L_GAMMA_PROBE_CTRL (volatile unsigned int *)((0x1409 << 2) + 0xff900000) ++//read only ++#define L_GAMMA_PROBE_COLOR_L (0x140a) ++#define P_L_GAMMA_PROBE_COLOR_L (volatile unsigned int *)((0x140a << 2) + 0xff900000) ++#define L_GAMMA_PROBE_COLOR_H (0x140b) ++#define P_L_GAMMA_PROBE_COLOR_H (volatile unsigned int *)((0x140b << 2) + 0xff900000) ++#define L_GAMMA_PROBE_HL_COLOR (0x140c) ++#define P_L_GAMMA_PROBE_HL_COLOR (volatile unsigned int *)((0x140c << 2) + 0xff900000) ++#define L_GAMMA_PROBE_POS_X (0x140d) ++#define P_L_GAMMA_PROBE_POS_X (volatile unsigned int *)((0x140d << 2) + 0xff900000) ++#define L_GAMMA_PROBE_POS_Y (0x140e) ++#define P_L_GAMMA_PROBE_POS_Y (volatile unsigned int *)((0x140e << 2) + 0xff900000) ++#define L_STH1_HS_ADDR (0x1410) ++#define P_L_STH1_HS_ADDR (volatile unsigned int *)((0x1410 << 2) + 0xff900000) ++#define L_STH1_HE_ADDR (0x1411) ++#define P_L_STH1_HE_ADDR (volatile unsigned int *)((0x1411 << 2) + 0xff900000) ++#define L_STH1_VS_ADDR (0x1412) ++#define P_L_STH1_VS_ADDR (volatile unsigned int *)((0x1412 << 2) + 0xff900000) ++#define L_STH1_VE_ADDR (0x1413) ++#define P_L_STH1_VE_ADDR (volatile unsigned int *)((0x1413 << 2) + 0xff900000) ++#define L_STH2_HS_ADDR (0x1414) ++#define P_L_STH2_HS_ADDR (volatile unsigned int *)((0x1414 << 2) + 0xff900000) ++#define L_STH2_HE_ADDR (0x1415) ++#define P_L_STH2_HE_ADDR (volatile unsigned int *)((0x1415 << 2) + 0xff900000) ++#define L_STH2_VS_ADDR (0x1416) ++#define P_L_STH2_VS_ADDR (volatile unsigned int *)((0x1416 << 2) + 0xff900000) ++#define L_STH2_VE_ADDR (0x1417) ++#define P_L_STH2_VE_ADDR (volatile unsigned int *)((0x1417 << 2) + 0xff900000) ++#define L_OEH_HS_ADDR (0x1418) ++#define P_L_OEH_HS_ADDR (volatile unsigned int *)((0x1418 << 2) + 0xff900000) ++#define L_OEH_HE_ADDR (0x1419) ++#define P_L_OEH_HE_ADDR (volatile unsigned int *)((0x1419 << 2) + 0xff900000) ++#define L_OEH_VS_ADDR (0x141a) ++#define P_L_OEH_VS_ADDR (volatile unsigned int *)((0x141a << 2) + 0xff900000) ++#define L_OEH_VE_ADDR (0x141b) ++#define P_L_OEH_VE_ADDR (volatile unsigned int *)((0x141b << 2) + 0xff900000) ++#define L_VCOM_HSWITCH_ADDR (0x141c) ++#define P_L_VCOM_HSWITCH_ADDR (volatile unsigned int *)((0x141c << 2) + 0xff900000) ++#define L_VCOM_VS_ADDR (0x141d) ++#define P_L_VCOM_VS_ADDR (volatile unsigned int *)((0x141d << 2) + 0xff900000) ++#define L_VCOM_VE_ADDR (0x141e) ++#define P_L_VCOM_VE_ADDR (volatile unsigned int *)((0x141e << 2) + 0xff900000) ++#define L_CPV1_HS_ADDR (0x141f) ++#define P_L_CPV1_HS_ADDR (volatile unsigned int *)((0x141f << 2) + 0xff900000) ++#define L_CPV1_HE_ADDR (0x1420) ++#define P_L_CPV1_HE_ADDR (volatile unsigned int *)((0x1420 << 2) + 0xff900000) ++#define L_CPV1_VS_ADDR (0x1421) ++#define P_L_CPV1_VS_ADDR (volatile unsigned int *)((0x1421 << 2) + 0xff900000) ++#define L_CPV1_VE_ADDR (0x1422) ++#define P_L_CPV1_VE_ADDR (volatile unsigned int *)((0x1422 << 2) + 0xff900000) ++#define L_CPV2_HS_ADDR (0x1423) ++#define P_L_CPV2_HS_ADDR (volatile unsigned int *)((0x1423 << 2) + 0xff900000) ++#define L_CPV2_HE_ADDR (0x1424) ++#define P_L_CPV2_HE_ADDR (volatile unsigned int *)((0x1424 << 2) + 0xff900000) ++#define L_CPV2_VS_ADDR (0x1425) ++#define P_L_CPV2_VS_ADDR (volatile unsigned int *)((0x1425 << 2) + 0xff900000) ++#define L_CPV2_VE_ADDR (0x1426) ++#define P_L_CPV2_VE_ADDR (volatile unsigned int *)((0x1426 << 2) + 0xff900000) ++#define L_STV1_HS_ADDR (0x1427) ++#define P_L_STV1_HS_ADDR (volatile unsigned int *)((0x1427 << 2) + 0xff900000) ++#define L_STV1_HE_ADDR (0x1428) ++#define P_L_STV1_HE_ADDR (volatile unsigned int *)((0x1428 << 2) + 0xff900000) ++#define L_STV1_VS_ADDR (0x1429) ++#define P_L_STV1_VS_ADDR (volatile unsigned int *)((0x1429 << 2) + 0xff900000) ++#define L_STV1_VE_ADDR (0x142a) ++#define P_L_STV1_VE_ADDR (volatile unsigned int *)((0x142a << 2) + 0xff900000) ++#define L_STV2_HS_ADDR (0x142b) ++#define P_L_STV2_HS_ADDR (volatile unsigned int *)((0x142b << 2) + 0xff900000) ++#define L_STV2_HE_ADDR (0x142c) ++#define P_L_STV2_HE_ADDR (volatile unsigned int *)((0x142c << 2) + 0xff900000) ++#define L_STV2_VS_ADDR (0x142d) ++#define P_L_STV2_VS_ADDR (volatile unsigned int *)((0x142d << 2) + 0xff900000) ++#define L_STV2_VE_ADDR (0x142e) ++#define P_L_STV2_VE_ADDR (volatile unsigned int *)((0x142e << 2) + 0xff900000) ++#define L_OEV1_HS_ADDR (0x142f) ++#define P_L_OEV1_HS_ADDR (volatile unsigned int *)((0x142f << 2) + 0xff900000) ++#define L_OEV1_HE_ADDR (0x1430) ++#define P_L_OEV1_HE_ADDR (volatile unsigned int *)((0x1430 << 2) + 0xff900000) ++#define L_OEV1_VS_ADDR (0x1431) ++#define P_L_OEV1_VS_ADDR (volatile unsigned int *)((0x1431 << 2) + 0xff900000) ++#define L_OEV1_VE_ADDR (0x1432) ++#define P_L_OEV1_VE_ADDR (volatile unsigned int *)((0x1432 << 2) + 0xff900000) ++#define L_OEV2_HS_ADDR (0x1433) ++#define P_L_OEV2_HS_ADDR (volatile unsigned int *)((0x1433 << 2) + 0xff900000) ++#define L_OEV2_HE_ADDR (0x1434) ++#define P_L_OEV2_HE_ADDR (volatile unsigned int *)((0x1434 << 2) + 0xff900000) ++#define L_OEV2_VS_ADDR (0x1435) ++#define P_L_OEV2_VS_ADDR (volatile unsigned int *)((0x1435 << 2) + 0xff900000) ++#define L_OEV2_VE_ADDR (0x1436) ++#define P_L_OEV2_VE_ADDR (volatile unsigned int *)((0x1436 << 2) + 0xff900000) ++#define L_OEV3_HS_ADDR (0x1437) ++#define P_L_OEV3_HS_ADDR (volatile unsigned int *)((0x1437 << 2) + 0xff900000) ++#define L_OEV3_HE_ADDR (0x1438) ++#define P_L_OEV3_HE_ADDR (volatile unsigned int *)((0x1438 << 2) + 0xff900000) ++#define L_OEV3_VS_ADDR (0x1439) ++#define P_L_OEV3_VS_ADDR (volatile unsigned int *)((0x1439 << 2) + 0xff900000) ++#define L_OEV3_VE_ADDR (0x143a) ++#define P_L_OEV3_VE_ADDR (volatile unsigned int *)((0x143a << 2) + 0xff900000) ++#define L_LCD_PWR_ADDR (0x143b) ++#define P_L_LCD_PWR_ADDR (volatile unsigned int *)((0x143b << 2) + 0xff900000) ++#define L_LCD_PWM0_LO_ADDR (0x143c) ++#define P_L_LCD_PWM0_LO_ADDR (volatile unsigned int *)((0x143c << 2) + 0xff900000) ++#define L_LCD_PWM0_HI_ADDR (0x143d) ++#define P_L_LCD_PWM0_HI_ADDR (volatile unsigned int *)((0x143d << 2) + 0xff900000) ++#define L_LCD_PWM1_LO_ADDR (0x143e) ++#define P_L_LCD_PWM1_LO_ADDR (volatile unsigned int *)((0x143e << 2) + 0xff900000) ++#define L_LCD_PWM1_HI_ADDR (0x143f) ++#define P_L_LCD_PWM1_HI_ADDR (volatile unsigned int *)((0x143f << 2) + 0xff900000) ++#define L_INV_CNT_ADDR (0x1440) ++#define P_L_INV_CNT_ADDR (volatile unsigned int *)((0x1440 << 2) + 0xff900000) ++#define L_TCON_MISC_SEL_ADDR (0x1441) ++#define P_L_TCON_MISC_SEL_ADDR (volatile unsigned int *)((0x1441 << 2) + 0xff900000) ++#define L_DUAL_PORT_CNTL_ADDR (0x1442) ++#define P_L_DUAL_PORT_CNTL_ADDR (volatile unsigned int *)((0x1442 << 2) + 0xff900000) ++#define MLVDS_CLK_CTL1_HI (0x1443) ++#define P_MLVDS_CLK_CTL1_HI (volatile unsigned int *)((0x1443 << 2) + 0xff900000) ++#define MLVDS_CLK_CTL1_LO (0x1444) ++#define P_MLVDS_CLK_CTL1_LO (volatile unsigned int *)((0x1444 << 2) + 0xff900000) ++// [31:30] enable mlvds clocks ++// [24] mlvds_clk_half_delay 24 // Bit 0 ++// [23:0] mlvds_clk_pattern 0 // Bit 23:0 ++#define L_TCON_DOUBLE_CTL (0x1449) ++#define P_L_TCON_DOUBLE_CTL (volatile unsigned int *)((0x1449 << 2) + 0xff900000) ++#define L_TCON_PATTERN_HI (0x144a) ++#define P_L_TCON_PATTERN_HI (volatile unsigned int *)((0x144a << 2) + 0xff900000) ++#define L_TCON_PATTERN_LO (0x144b) ++#define P_L_TCON_PATTERN_LO (volatile unsigned int *)((0x144b << 2) + 0xff900000) ++#define LDIM_BL_ADDR_PORT (0x144e) ++#define P_LDIM_BL_ADDR_PORT (volatile unsigned int *)((0x144e << 2) + 0xff900000) ++#define LDIM_BL_DATA_PORT (0x144f) ++#define P_LDIM_BL_DATA_PORT (volatile unsigned int *)((0x144f << 2) + 0xff900000) ++#define L_DE_HS_ADDR (0x1451) ++#define P_L_DE_HS_ADDR (volatile unsigned int *)((0x1451 << 2) + 0xff900000) ++#define L_DE_HE_ADDR (0x1452) ++#define P_L_DE_HE_ADDR (volatile unsigned int *)((0x1452 << 2) + 0xff900000) ++#define L_DE_VS_ADDR (0x1453) ++#define P_L_DE_VS_ADDR (volatile unsigned int *)((0x1453 << 2) + 0xff900000) ++#define L_DE_VE_ADDR (0x1454) ++#define P_L_DE_VE_ADDR (volatile unsigned int *)((0x1454 << 2) + 0xff900000) ++#define L_HSYNC_HS_ADDR (0x1455) ++#define P_L_HSYNC_HS_ADDR (volatile unsigned int *)((0x1455 << 2) + 0xff900000) ++#define L_HSYNC_HE_ADDR (0x1456) ++#define P_L_HSYNC_HE_ADDR (volatile unsigned int *)((0x1456 << 2) + 0xff900000) ++#define L_HSYNC_VS_ADDR (0x1457) ++#define P_L_HSYNC_VS_ADDR (volatile unsigned int *)((0x1457 << 2) + 0xff900000) ++#define L_HSYNC_VE_ADDR (0x1458) ++#define P_L_HSYNC_VE_ADDR (volatile unsigned int *)((0x1458 << 2) + 0xff900000) ++#define L_VSYNC_HS_ADDR (0x1459) ++#define P_L_VSYNC_HS_ADDR (volatile unsigned int *)((0x1459 << 2) + 0xff900000) ++#define L_VSYNC_HE_ADDR (0x145a) ++#define P_L_VSYNC_HE_ADDR (volatile unsigned int *)((0x145a << 2) + 0xff900000) ++#define L_VSYNC_VS_ADDR (0x145b) ++#define P_L_VSYNC_VS_ADDR (volatile unsigned int *)((0x145b << 2) + 0xff900000) ++#define L_VSYNC_VE_ADDR (0x145c) ++#define P_L_VSYNC_VE_ADDR (volatile unsigned int *)((0x145c << 2) + 0xff900000) ++// bit 8 -- vfifo_mcu_enable ++// bit 7 -- halt_vs_de ++// bit 6 -- R8G8B8_format ++// bit 5 -- R6G6B6_format (round to 6 bits) ++// bit 4 -- R5G6B5_format ++// bit 3 -- dac_dith_sel ++// bit 2 -- lcd_mcu_enable_de -- ReadOnly ++// bit 1 -- lcd_mcu_enable_vsync -- ReadOnly ++// bit 0 -- lcd_mcu_enable ++#define L_LCD_MCU_CTL (0x145d) ++#define P_L_LCD_MCU_CTL (volatile unsigned int *)((0x145d << 2) + 0xff900000) ++//************************************************************************** ++//* Dual port mLVDS registers ++//************************************************************************** ++// bit 3 - enable_u_dual_mlvds_dp_clk ++// bit 2 - enable_u_map_mlvds_r_clk ++// bit 1 - enable_u_map_mlvds_l_clk ++// bit 0 - dual_mlvds_en ++//`define DUAL_MLVDS_CTL 8'h60 ++// bit[12:0] - dual_mlvds_line_start ++//`define DUAL_MLVDS_LINE_START 8'h61 ++// bit[12:0] - dual_mlvds_line_end ++//`define DUAL_MLVDS_LINE_END 8'h62 ++// bit[12:0] - dual_mlvds_w_pixel_start_l ++//`define DUAL_MLVDS_PIXEL_W_START_L 8'h63 ++// bit[12:0] - dual_mlvds_w_pixel_end_l ++//`define DUAL_MLVDS_PIXEL_W_END_L 8'h64 ++// bit[12:0] - dual_mlvds_w_pixel_start_r ++//`define DUAL_MLVDS_PIXEL_W_START_R 8'h65 ++// bit[12:0] - dual_mlvds_w_pixel_end_r ++//`define DUAL_MLVDS_PIXEL_W_END_R 8'h66 ++// bit[12:0] - dual_mlvds_r_pixel_start_l ++//`define DUAL_MLVDS_PIXEL_R_START_L 8'h67 ++// bit[12:0] - dual_mlvds_r_pixel_cnt_l ++//`define DUAL_MLVDS_PIXEL_R_CNT_L 8'h68 ++// bit[12:0] - dual_mlvds_r_pixel_start_r ++//`define DUAL_MLVDS_PIXEL_R_START_R 8'h69 ++// bit[12:0] - dual_mlvds_r_pixel_cnt_r ++//`define DUAL_MLVDS_PIXEL_R_CNT_R 8'h6a ++// bit[15] - v_inversion_en ++// bit[12:0] - v_inversion_pixel ++//`define V_INVERSION_PIXEL 8'h70 ++// bit[15] - v_inversion_sync_en ++// bit[12:0] - v_inversion_line ++//`define V_INVERSION_LINE 8'h71 ++// bit[15:12] - v_loop_r ++// bit[11:10] - v_pattern_1_r ++// bit[9:8] - v_pattern_0_r ++// bit[7:4] - v_loop_l ++// bit[3:2] - v_pattern_1_l ++// bit[1:0] - v_pattern_0_l ++//`define V_INVERSION_CONTROL 8'h72 ++//`define MLVDS2_CONTROL 8'h74 ++ #define mLVDS2_RESERVED 15 // 15 ++ #define mLVDS2_double_pattern 14 // 14 ++ #define mLVDS2_ins_reset 8 // 13:8 // each channel has one bit ++ #define mLVDS2_dual_gate 7 ++ #define mLVDS2_bit_num 6 // 0-6Bits, 1-8Bits ++ #define mLVDS2_pair_num 5 // 0-3Pairs, 1-6Pairs ++ #define mLVDS2_msb_first 4 ++ #define mLVDS2_PORT_SWAP 3 ++ #define mLVDS2_MLSB_SWAP 2 ++ #define mLVDS2_PN_SWAP 1 ++ #define mLVDS2_en 0 ++//`define MLVDS2_CONFIG_HI 8'h75 ++//`define MLVDS2_CONFIG_LO 8'h76 ++ #define mLVDS2_reset_offset 29 // Bit 31:29 ++ #define mLVDS2_reset_length 23 // Bit 28:23 ++ #define mLVDS2_config_reserved 20 // Bit 22:20 ++ #define mLVDS2_reset_start_bit12 19 // Bit 19 ++ #define mLVDS2_data_write_toggle 18 ++ #define mLVDS2_data_write_ini 17 ++ #define mLVDS2_data_latch_1_toggle 16 ++ #define mLVDS2_data_latch_1_ini 15 ++ #define mLVDS2_data_latch_0_toggle 14 ++ #define mLVDS2_data_latch_0_ini 13 ++ #define mLVDS2_reset_1_select 12 // 0 - same as reset_0, 1 - 1 clock delay of reset_0 ++ #define mLVDS2_reset_start 0 // Bit 11:0 ++//`define MLVDS2_DUAL_GATE_WR_START 8'h77 ++// `define mlvds2_dual_gate_wr_start 0 // Bit 12:0 ++//`define MLVDS2_DUAL_GATE_WR_END 8'h78 ++// `define mlvds2_dual_gate_wr_end 0 // Bit 12:0 ++// ++//`define MLVDS2_DUAL_GATE_RD_START 8'h79 ++// `define mlvds2_dual_gate_rd_start 0 // Bit 12:0 ++//`define MLVDS2_DUAL_GATE_RD_END 8'h7a ++// `define mlvds2_dual_gate_rd_end 0 // Bit 12:0 ++//`define MLVDS2_SECOND_RESET_CTL 8'h7b ++// `define mLVDS2_2nd_reset_start 0 // Bit 12:0 ++// ++//`define MLVDS2_DUAL_GATE_CTL_HI 8'h7c ++//`define MLVDS2_DUAL_GATE_CTL_LO 8'h7d ++// `define mlvds2_tcon_field_en 24 // Bit 7:0 ++// `define mlvds2_dual_gate_reserved 21 // Bit 2:0 ++// `define mlvds2_scan_mode_start_line_bit12 20 // Bit 0 ++// `define mlvds2_scan_mode_odd 16 // Bit 3:0 ++// `define mlvds2_scan_mode_even 12 // Bit 3:0 ++// `define mlvds2_scan_mode_start_line 0 // Bit 11:0 ++// ++//`define MLVDS2_RESET_CONFIG_HI 8'h7e ++//`define MLVDS2_RESET_CONFIG_LO 8'h7f ++// `define mLVDS2_reset_range_enable 31 // Bit 0 ++// `define mLVDS2_reset_range_inv 30 // Bit 0 ++// `define mLVDS2_reset_config_res1 29 // Bit 0 ++// `define mLVDS2_reset_range_line_0 16 // Bit 11:0 ++// `define mLVDS2_reset_config_res3 13 // Bit 2:0 ++// `define mLVDS2_reset_range_line_1 0 // Bit 11:0 ++// ++//************************************************************************** ++//* Vbyone registers (Note: no MinLVDS in G9tv, share the register) ++//************************************************************************** ++#define VBO_CTRL_L (0x1460) ++#define P_VBO_CTRL_L (volatile unsigned int *)((0x1460 << 2) + 0xff900000) ++#define VBO_CTRL_H (0x1461) ++#define P_VBO_CTRL_H (volatile unsigned int *)((0x1461 << 2) + 0xff900000) ++#define VBO_SOFT_RST (0x1462) ++#define P_VBO_SOFT_RST (volatile unsigned int *)((0x1462 << 2) + 0xff900000) ++#define VBO_LANES (0x1463) ++#define P_VBO_LANES (volatile unsigned int *)((0x1463 << 2) + 0xff900000) ++#define VBO_VIN_CTRL (0x1464) ++#define P_VBO_VIN_CTRL (volatile unsigned int *)((0x1464 << 2) + 0xff900000) ++#define VBO_ACT_VSIZE (0x1465) ++#define P_VBO_ACT_VSIZE (volatile unsigned int *)((0x1465 << 2) + 0xff900000) ++#define VBO_REGION_00 (0x1466) ++#define P_VBO_REGION_00 (volatile unsigned int *)((0x1466 << 2) + 0xff900000) ++#define VBO_REGION_01 (0x1467) ++#define P_VBO_REGION_01 (volatile unsigned int *)((0x1467 << 2) + 0xff900000) ++#define VBO_REGION_02 (0x1468) ++#define P_VBO_REGION_02 (volatile unsigned int *)((0x1468 << 2) + 0xff900000) ++#define VBO_REGION_03 (0x1469) ++#define P_VBO_REGION_03 (volatile unsigned int *)((0x1469 << 2) + 0xff900000) ++#define VBO_VBK_CTRL_0 (0x146a) ++#define P_VBO_VBK_CTRL_0 (volatile unsigned int *)((0x146a << 2) + 0xff900000) ++#define VBO_VBK_CTRL_1 (0x146b) ++#define P_VBO_VBK_CTRL_1 (volatile unsigned int *)((0x146b << 2) + 0xff900000) ++#define VBO_HBK_CTRL (0x146c) ++#define P_VBO_HBK_CTRL (volatile unsigned int *)((0x146c << 2) + 0xff900000) ++#define VBO_PXL_CTRL (0x146d) ++#define P_VBO_PXL_CTRL (volatile unsigned int *)((0x146d << 2) + 0xff900000) ++#define VBO_LANE_SKEW_L (0x146e) ++#define P_VBO_LANE_SKEW_L (volatile unsigned int *)((0x146e << 2) + 0xff900000) ++#define VBO_LANE_SKEW_H (0x146f) ++#define P_VBO_LANE_SKEW_H (volatile unsigned int *)((0x146f << 2) + 0xff900000) ++#define VBO_GCLK_LANE_L (0x1470) ++#define P_VBO_GCLK_LANE_L (volatile unsigned int *)((0x1470 << 2) + 0xff900000) ++#define VBO_GCLK_LANE_H (0x1471) ++#define P_VBO_GCLK_LANE_H (volatile unsigned int *)((0x1471 << 2) + 0xff900000) ++#define VBO_GCLK_MAIN (0x1472) ++#define P_VBO_GCLK_MAIN (volatile unsigned int *)((0x1472 << 2) + 0xff900000) ++#define VBO_STATUS_L (0x1473) ++#define P_VBO_STATUS_L (volatile unsigned int *)((0x1473 << 2) + 0xff900000) ++#define VBO_STATUS_H (0x1474) ++#define P_VBO_STATUS_H (volatile unsigned int *)((0x1474 << 2) + 0xff900000) ++#define VBO_LANE_OUTPUT (0x1475) ++#define P_VBO_LANE_OUTPUT (volatile unsigned int *)((0x1475 << 2) + 0xff900000) ++#define LCD_PORT_SWAP (0x1476) ++#define P_LCD_PORT_SWAP (volatile unsigned int *)((0x1476 << 2) + 0xff900000) ++#define VBO_TMCHK_THRD_L (0x1478) ++#define P_VBO_TMCHK_THRD_L (volatile unsigned int *)((0x1478 << 2) + 0xff900000) ++#define VBO_TMCHK_THRD_H (0x1479) ++#define P_VBO_TMCHK_THRD_H (volatile unsigned int *)((0x1479 << 2) + 0xff900000) ++#define VBO_FSM_HOLDER_L (0x147a) ++#define P_VBO_FSM_HOLDER_L (volatile unsigned int *)((0x147a << 2) + 0xff900000) ++#define VBO_FSM_HOLDER_H (0x147b) ++#define P_VBO_FSM_HOLDER_H (volatile unsigned int *)((0x147b << 2) + 0xff900000) ++#define VBO_INTR_STATE_CTRL (0x147c) ++#define P_VBO_INTR_STATE_CTRL (volatile unsigned int *)((0x147c << 2) + 0xff900000) ++#define VBO_INTR_UNMASK (0x147d) ++#define P_VBO_INTR_UNMASK (volatile unsigned int *)((0x147d << 2) + 0xff900000) ++#define VBO_TMCHK_HSYNC_STATE_L (0x147e) ++#define P_VBO_TMCHK_HSYNC_STATE_L (volatile unsigned int *)((0x147e << 2) + 0xff900000) ++#define VBO_TMCHK_HSYNC_STATE_H (0x147f) ++#define P_VBO_TMCHK_HSYNC_STATE_H (volatile unsigned int *)((0x147f << 2) + 0xff900000) ++#define VBO_TMCHK_VSYNC_STATE_L (0x14f4) ++#define P_VBO_TMCHK_VSYNC_STATE_L (volatile unsigned int *)((0x14f4 << 2) + 0xff900000) ++#define VBO_TMCHK_VSYNC_STATE_H (0x14f5) ++#define P_VBO_TMCHK_VSYNC_STATE_H (volatile unsigned int *)((0x14f5 << 2) + 0xff900000) ++#define VBO_TMCHK_VDE_STATE_L (0x14f6) ++#define P_VBO_TMCHK_VDE_STATE_L (volatile unsigned int *)((0x14f6 << 2) + 0xff900000) ++#define VBO_TMCHK_VDE_STATE_H (0x14f7) ++#define P_VBO_TMCHK_VDE_STATE_H (volatile unsigned int *)((0x14f7 << 2) + 0xff900000) ++#define VBO_INTR_STATE (0x14f8) ++#define P_VBO_INTR_STATE (volatile unsigned int *)((0x14f8 << 2) + 0xff900000) ++#define VBO_INFILTER_CTRL (0x14f9) ++#define P_VBO_INFILTER_CTRL (volatile unsigned int *)((0x14f9 << 2) + 0xff900000) ++#define VBO_INSGN_CTRL (0x14fa) ++#define P_VBO_INSGN_CTRL (volatile unsigned int *)((0x14fa << 2) + 0xff900000) ++//************************************************************************** ++//* NOTE:: When Programming the Gamma, please turn off the IRQ service * ++//************************************************************************** ++#define GAMMA_CNTL_PORT (0x1480) ++#define P_GAMMA_CNTL_PORT (volatile unsigned int *)((0x1480 << 2) + 0xff900000) ++ #define GAMMA_VCOM_POL 7 //RW ++ #define GAMMA_RVS_OUT 6 //RW ++ #define ADR_RDY 5 //Read Only ++ #define WR_RDY 4 //Read Only ++ #define RD_RDY 3 //Read Only ++ #define GAMMA_TR 2 //RW ++ #define GAMMA_SET 1 //RW ++ #define GAMMA_EN 0 //RW ++#define GAMMA_DATA_PORT (0x1481) ++#define P_GAMMA_DATA_PORT (volatile unsigned int *)((0x1481 << 2) + 0xff900000) ++#define GAMMA_ADDR_PORT (0x1482) ++#define P_GAMMA_ADDR_PORT (volatile unsigned int *)((0x1482 << 2) + 0xff900000) ++ #define H_RD 12 ++ #define H_AUTO_INC 11 ++ #define H_SEL_R 10 ++ #define H_SEL_G 9 ++ #define H_SEL_B 8 ++ #define HADR_MSB 7 //7:0 ++ #define HADR 0 //7:0 ++#define GAMMA_VCOM_HSWITCH_ADDR (0x1483) ++#define P_GAMMA_VCOM_HSWITCH_ADDR (volatile unsigned int *)((0x1483 << 2) + 0xff900000) ++#define RGB_BASE_ADDR (0x1485) ++#define P_RGB_BASE_ADDR (volatile unsigned int *)((0x1485 << 2) + 0xff900000) ++#define RGB_COEFF_ADDR (0x1486) ++#define P_RGB_COEFF_ADDR (volatile unsigned int *)((0x1486 << 2) + 0xff900000) ++#define POL_CNTL_ADDR (0x1487) ++#define P_POL_CNTL_ADDR (volatile unsigned int *)((0x1487 << 2) + 0xff900000) ++ #define DCLK_SEL 14 //FOR DCLK OUTPUT ++ #define TCON_VSYNC_SEL_DVI 11 //FOR RGB format DVI output ++ #define TCON_HSYNC_SEL_DVI 10 //FOR RGB format DVI output ++ #define TCON_DE_SEL_DVI 9 //FOR RGB format DVI output ++ #define CPH3_POL 8 ++ #define CPH2_POL 7 ++ #define CPH1_POL 6 ++ #define TCON_DE_SEL 5 ++ #define TCON_VS_SEL 4 ++ #define TCON_HS_SEL 3 ++ #define DE_POL 2 ++ #define VS_POL 1 ++ #define HS_POL 0 ++#define DITH_CNTL_ADDR (0x1488) ++#define P_DITH_CNTL_ADDR (volatile unsigned int *)((0x1488 << 2) + 0xff900000) ++ #define DITH10_EN 10 ++ #define DITH8_EN 9 ++ #define DITH_MD 8 ++ #define DITH10_CNTL_MSB 7 //7:4 ++ #define DITH10_CNTL 4 //7:4 ++ #define DITH8_CNTL_MSB 3 //3:0 ++ #define DITH8_CNTL 0 //3:0 ++//Bit 1 highlight_en ++//Bit 0 probe_en ++#define GAMMA_PROBE_CTRL (0x1489) ++#define P_GAMMA_PROBE_CTRL (volatile unsigned int *)((0x1489 << 2) + 0xff900000) ++//read only ++//Bit [15:0] probe_color[15:0] ++#define GAMMA_PROBE_COLOR_L (0x148a) ++#define P_GAMMA_PROBE_COLOR_L (volatile unsigned int *)((0x148a << 2) + 0xff900000) ++//Read only ++//Bit 15: if true valid probed color ++//Bit [13:0] probe_color[29:16] ++#define GAMMA_PROBE_COLOR_H (0x148b) ++#define P_GAMMA_PROBE_COLOR_H (volatile unsigned int *)((0x148b << 2) + 0xff900000) ++//bit 15:0, 5:6:5 color ++#define GAMMA_PROBE_HL_COLOR (0x148c) ++#define P_GAMMA_PROBE_HL_COLOR (volatile unsigned int *)((0x148c << 2) + 0xff900000) ++//12:0 pos_x ++#define GAMMA_PROBE_POS_X (0x148d) ++#define P_GAMMA_PROBE_POS_X (volatile unsigned int *)((0x148d << 2) + 0xff900000) ++//12:0 pos_y ++#define GAMMA_PROBE_POS_Y (0x148e) ++#define P_GAMMA_PROBE_POS_Y (volatile unsigned int *)((0x148e << 2) + 0xff900000) ++#define STH1_HS_ADDR (0x1490) ++#define P_STH1_HS_ADDR (volatile unsigned int *)((0x1490 << 2) + 0xff900000) ++#define STH1_HE_ADDR (0x1491) ++#define P_STH1_HE_ADDR (volatile unsigned int *)((0x1491 << 2) + 0xff900000) ++#define STH1_VS_ADDR (0x1492) ++#define P_STH1_VS_ADDR (volatile unsigned int *)((0x1492 << 2) + 0xff900000) ++#define STH1_VE_ADDR (0x1493) ++#define P_STH1_VE_ADDR (volatile unsigned int *)((0x1493 << 2) + 0xff900000) ++#define STH2_HS_ADDR (0x1494) ++#define P_STH2_HS_ADDR (volatile unsigned int *)((0x1494 << 2) + 0xff900000) ++#define STH2_HE_ADDR (0x1495) ++#define P_STH2_HE_ADDR (volatile unsigned int *)((0x1495 << 2) + 0xff900000) ++#define STH2_VS_ADDR (0x1496) ++#define P_STH2_VS_ADDR (volatile unsigned int *)((0x1496 << 2) + 0xff900000) ++#define STH2_VE_ADDR (0x1497) ++#define P_STH2_VE_ADDR (volatile unsigned int *)((0x1497 << 2) + 0xff900000) ++#define OEH_HS_ADDR (0x1498) ++#define P_OEH_HS_ADDR (volatile unsigned int *)((0x1498 << 2) + 0xff900000) ++#define OEH_HE_ADDR (0x1499) ++#define P_OEH_HE_ADDR (volatile unsigned int *)((0x1499 << 2) + 0xff900000) ++#define OEH_VS_ADDR (0x149a) ++#define P_OEH_VS_ADDR (volatile unsigned int *)((0x149a << 2) + 0xff900000) ++#define OEH_VE_ADDR (0x149b) ++#define P_OEH_VE_ADDR (volatile unsigned int *)((0x149b << 2) + 0xff900000) ++#define VCOM_HSWITCH_ADDR (0x149c) ++#define P_VCOM_HSWITCH_ADDR (volatile unsigned int *)((0x149c << 2) + 0xff900000) ++#define VCOM_VS_ADDR (0x149d) ++#define P_VCOM_VS_ADDR (volatile unsigned int *)((0x149d << 2) + 0xff900000) ++#define VCOM_VE_ADDR (0x149e) ++#define P_VCOM_VE_ADDR (volatile unsigned int *)((0x149e << 2) + 0xff900000) ++#define CPV1_HS_ADDR (0x149f) ++#define P_CPV1_HS_ADDR (volatile unsigned int *)((0x149f << 2) + 0xff900000) ++#define CPV1_HE_ADDR (0x14a0) ++#define P_CPV1_HE_ADDR (volatile unsigned int *)((0x14a0 << 2) + 0xff900000) ++#define CPV1_VS_ADDR (0x14a1) ++#define P_CPV1_VS_ADDR (volatile unsigned int *)((0x14a1 << 2) + 0xff900000) ++#define CPV1_VE_ADDR (0x14a2) ++#define P_CPV1_VE_ADDR (volatile unsigned int *)((0x14a2 << 2) + 0xff900000) ++#define CPV2_HS_ADDR (0x14a3) ++#define P_CPV2_HS_ADDR (volatile unsigned int *)((0x14a3 << 2) + 0xff900000) ++#define CPV2_HE_ADDR (0x14a4) ++#define P_CPV2_HE_ADDR (volatile unsigned int *)((0x14a4 << 2) + 0xff900000) ++#define CPV2_VS_ADDR (0x14a5) ++#define P_CPV2_VS_ADDR (volatile unsigned int *)((0x14a5 << 2) + 0xff900000) ++#define CPV2_VE_ADDR (0x14a6) ++#define P_CPV2_VE_ADDR (volatile unsigned int *)((0x14a6 << 2) + 0xff900000) ++#define STV1_HS_ADDR (0x14a7) ++#define P_STV1_HS_ADDR (volatile unsigned int *)((0x14a7 << 2) + 0xff900000) ++#define STV1_HE_ADDR (0x14a8) ++#define P_STV1_HE_ADDR (volatile unsigned int *)((0x14a8 << 2) + 0xff900000) ++#define STV1_VS_ADDR (0x14a9) ++#define P_STV1_VS_ADDR (volatile unsigned int *)((0x14a9 << 2) + 0xff900000) ++#define STV1_VE_ADDR (0x14aa) ++#define P_STV1_VE_ADDR (volatile unsigned int *)((0x14aa << 2) + 0xff900000) ++#define STV2_HS_ADDR (0x14ab) ++#define P_STV2_HS_ADDR (volatile unsigned int *)((0x14ab << 2) + 0xff900000) ++#define STV2_HE_ADDR (0x14ac) ++#define P_STV2_HE_ADDR (volatile unsigned int *)((0x14ac << 2) + 0xff900000) ++#define STV2_VS_ADDR (0x14ad) ++#define P_STV2_VS_ADDR (volatile unsigned int *)((0x14ad << 2) + 0xff900000) ++#define STV2_VE_ADDR (0x14ae) ++#define P_STV2_VE_ADDR (volatile unsigned int *)((0x14ae << 2) + 0xff900000) ++#define OEV1_HS_ADDR (0x14af) ++#define P_OEV1_HS_ADDR (volatile unsigned int *)((0x14af << 2) + 0xff900000) ++#define OEV1_HE_ADDR (0x14b0) ++#define P_OEV1_HE_ADDR (volatile unsigned int *)((0x14b0 << 2) + 0xff900000) ++#define OEV1_VS_ADDR (0x14b1) ++#define P_OEV1_VS_ADDR (volatile unsigned int *)((0x14b1 << 2) + 0xff900000) ++#define OEV1_VE_ADDR (0x14b2) ++#define P_OEV1_VE_ADDR (volatile unsigned int *)((0x14b2 << 2) + 0xff900000) ++#define OEV2_HS_ADDR (0x14b3) ++#define P_OEV2_HS_ADDR (volatile unsigned int *)((0x14b3 << 2) + 0xff900000) ++#define OEV2_HE_ADDR (0x14b4) ++#define P_OEV2_HE_ADDR (volatile unsigned int *)((0x14b4 << 2) + 0xff900000) ++#define OEV2_VS_ADDR (0x14b5) ++#define P_OEV2_VS_ADDR (volatile unsigned int *)((0x14b5 << 2) + 0xff900000) ++#define OEV2_VE_ADDR (0x14b6) ++#define P_OEV2_VE_ADDR (volatile unsigned int *)((0x14b6 << 2) + 0xff900000) ++#define OEV3_HS_ADDR (0x14b7) ++#define P_OEV3_HS_ADDR (volatile unsigned int *)((0x14b7 << 2) + 0xff900000) ++#define OEV3_HE_ADDR (0x14b8) ++#define P_OEV3_HE_ADDR (volatile unsigned int *)((0x14b8 << 2) + 0xff900000) ++#define OEV3_VS_ADDR (0x14b9) ++#define P_OEV3_VS_ADDR (volatile unsigned int *)((0x14b9 << 2) + 0xff900000) ++#define OEV3_VE_ADDR (0x14ba) ++#define P_OEV3_VE_ADDR (volatile unsigned int *)((0x14ba << 2) + 0xff900000) ++#define LCD_PWR_ADDR (0x14bb) ++#define P_LCD_PWR_ADDR (volatile unsigned int *)((0x14bb << 2) + 0xff900000) ++ #define LCD_VDD 5 ++ #define LCD_VBL 4 ++ #define LCD_GPI_MSB 3 ++ #define LCD_GPIO 0 ++#define LCD_PWM0_LO_ADDR (0x14bc) ++#define P_LCD_PWM0_LO_ADDR (volatile unsigned int *)((0x14bc << 2) + 0xff900000) ++#define LCD_PWM0_HI_ADDR (0x14bd) ++#define P_LCD_PWM0_HI_ADDR (volatile unsigned int *)((0x14bd << 2) + 0xff900000) ++#define LCD_PWM1_LO_ADDR (0x14be) ++#define P_LCD_PWM1_LO_ADDR (volatile unsigned int *)((0x14be << 2) + 0xff900000) ++#define LCD_PWM1_HI_ADDR (0x14bf) ++#define P_LCD_PWM1_HI_ADDR (volatile unsigned int *)((0x14bf << 2) + 0xff900000) ++#define INV_CNT_ADDR (0x14c0) ++#define P_INV_CNT_ADDR (volatile unsigned int *)((0x14c0 << 2) + 0xff900000) ++ #define INV_EN 4 ++ #define INV_CNT_MSB 3 ++ #define INV_CNT 0 ++#define TCON_MISC_SEL_ADDR (0x14c1) ++#define P_TCON_MISC_SEL_ADDR (volatile unsigned int *)((0x14c1 << 2) + 0xff900000) ++ #define STH2_SEL 12 ++ #define STH1_SEL 11 ++ #define OEH_SEL 10 ++ #define VCOM_SEL 9 ++ #define DB_LINE_SW 8 ++ #define CPV2_SEL 7 ++ #define CPV1_SEL 6 ++ #define STV2_SEL 5 ++ #define STV1_SEL 4 ++ #define OEV_UNITE 3 ++ #define OEV3_SEL 2 ++ #define OEV2_SEL 1 ++ #define OEV1_SEL 0 ++#define DUAL_PORT_CNTL_ADDR (0x14c2) ++#define P_DUAL_PORT_CNTL_ADDR (volatile unsigned int *)((0x14c2 << 2) + 0xff900000) ++ #define OUTPUT_YUV 15 ++ #define DUAL_IDF 12 // 14:12 ++ #define DUAL_ISF 9 // 11:9 ++ #define LCD_ANALOG_SEL_CPH3 8 ++ #define LCD_ANALOG_3PHI_CLK_SEL 7 ++ #define LCD_LVDS_SEL54 6 ++ #define LCD_LVDS_SEL27 5 ++ #define LCD_TTL_SEL 4 ++ #define DUAL_LVDC_EN 3 ++ #define PORT_SWP 2 ++ #define RGB_SWP 1 ++ #define BIT_SWP 0 ++#define MLVDS_CONTROL (0x14c3) ++#define P_MLVDS_CONTROL (volatile unsigned int *)((0x14c3 << 2) + 0xff900000) ++ #define mLVDS_RESERVED 15 // 15 ++ #define mLVDS_double_pattern 14 // 14 ++ #define mLVDS_ins_reset 8 // 13:8 // each channel has one bit ++ #define mLVDS_dual_gate 7 ++ #define mLVDS_bit_num 6 // 0-6Bits, 1-8Bits ++ #define mLVDS_pair_num 5 // 0-3Pairs, 1-6Pairs ++ #define mLVDS_msb_first 4 ++ #define mLVDS_PORT_SWAP 3 ++ #define mLVDS_MLSB_SWAP 2 ++ #define mLVDS_PN_SWAP 1 ++ #define mLVDS_en 0 ++#define MLVDS_RESET_PATTERN_HI (0x14c4) ++#define P_MLVDS_RESET_PATTERN_HI (volatile unsigned int *)((0x14c4 << 2) + 0xff900000) ++#define MLVDS_RESET_PATTERN_LO (0x14c5) ++#define P_MLVDS_RESET_PATTERN_LO (volatile unsigned int *)((0x14c5 << 2) + 0xff900000) ++ #define mLVDS_reset_pattern 0 // Bit 47:16 ++#define MLVDS_RESET_PATTERN_EXT (0x14c6) ++#define P_MLVDS_RESET_PATTERN_EXT (volatile unsigned int *)((0x14c6 << 2) + 0xff900000) ++ #define mLVDS_reset_pattern_ext 0 // Bit 15:0 ++#define MLVDS_CONFIG_HI (0x14c7) ++#define P_MLVDS_CONFIG_HI (volatile unsigned int *)((0x14c7 << 2) + 0xff900000) ++#define MLVDS_CONFIG_LO (0x14c8) ++#define P_MLVDS_CONFIG_LO (volatile unsigned int *)((0x14c8 << 2) + 0xff900000) ++ #define mLVDS_reset_offset 29 // Bit 31:29 ++ #define mLVDS_reset_length 23 // Bit 28:23 ++ #define mLVDS_config_reserved 20 // Bit 22:20 ++ #define mLVDS_reset_start_bit12 19 // Bit 19 ++ #define mLVDS_data_write_toggle 18 ++ #define mLVDS_data_write_ini 17 ++ #define mLVDS_data_latch_1_toggle 16 ++ #define mLVDS_data_latch_1_ini 15 ++ #define mLVDS_data_latch_0_toggle 14 ++ #define mLVDS_data_latch_0_ini 13 ++ #define mLVDS_reset_1_select 12 // 0 - same as reset_0, 1 - 1 clock delay of reset_0 ++ #define mLVDS_reset_start 0 // Bit 11:0 ++#define TCON_DOUBLE_CTL (0x14c9) ++#define P_TCON_DOUBLE_CTL (volatile unsigned int *)((0x14c9 << 2) + 0xff900000) ++ #define tcon_double_ini 8 // Bit 7:0 ++ #define tcon_double_inv 0 // Bit 7:0 ++#define TCON_PATTERN_HI (0x14ca) ++#define P_TCON_PATTERN_HI (volatile unsigned int *)((0x14ca << 2) + 0xff900000) ++#define TCON_PATTERN_LO (0x14cb) ++#define P_TCON_PATTERN_LO (volatile unsigned int *)((0x14cb << 2) + 0xff900000) ++ #define tcon_pattern_loop_data 16 // Bit 15:0 ++ #define tcon_pattern_loop_start 12 // Bit 3:0 ++ #define tcon_pattern_loop_end 8 // Bit 3:0 ++ #define tcon_pattern_enable 0 // Bit 7:0 ++#define TCON_CONTROL_HI (0x14cc) ++#define P_TCON_CONTROL_HI (volatile unsigned int *)((0x14cc << 2) + 0xff900000) ++#define TCON_CONTROL_LO (0x14cd) ++#define P_TCON_CONTROL_LO (volatile unsigned int *)((0x14cd << 2) + 0xff900000) ++ #define tcon_pclk_enable 26 // Bit 5:0 (enable pclk on TCON channel 7 to 2) ++ #define tcon_pclk_div 24 // Bit 1:0 (control phy clok divide 2,4,6,8) ++ #define tcon_delay 0 // Bit 23:0 (3 bit for each channel) ++#define LVDS_BLANK_DATA_HI (0x14ce) ++#define P_LVDS_BLANK_DATA_HI (volatile unsigned int *)((0x14ce << 2) + 0xff900000) ++#define LVDS_BLANK_DATA_LO (0x14cf) ++#define P_LVDS_BLANK_DATA_LO (volatile unsigned int *)((0x14cf << 2) + 0xff900000) ++ #define LVDS_blank_data_reserved 30 // 31:30 ++ #define LVDS_blank_data_r 20 // 29:20 ++ #define LVDS_blank_data_g 10 // 19:10 ++ #define LVDS_blank_data_b 0 // 9:0 ++#define LVDS_PACK_CNTL_ADDR (0x14d0) ++#define P_LVDS_PACK_CNTL_ADDR (volatile unsigned int *)((0x14d0 << 2) + 0xff900000) ++ #define LVDS_USE_TCON 7 ++ #define LVDS_DUAL 6 ++ #define PN_SWP 5 ++ #define LSB_FIRST 4 ++ #define LVDS_RESV 3 ++ #define ODD_EVEN_SWP 2 ++ #define LVDS_REPACK 0 ++// New from M3 : ++// Bit 15:12 -- Enable OFFSET Double Generate(TOCN7-TCON4) ++// Bit 11:0 -- de_hs(old tcon) second offset_hs (new tcon) ++#define DE_HS_ADDR (0x14d1) ++#define P_DE_HS_ADDR (volatile unsigned int *)((0x14d1 << 2) + 0xff900000) ++// New from M3 : ++// Bit 15:12 -- Enable OFFSET Double Generate(TOCN3-TCON0) ++#define DE_HE_ADDR (0x14d2) ++#define P_DE_HE_ADDR (volatile unsigned int *)((0x14d2 << 2) + 0xff900000) ++#define DE_VS_ADDR (0x14d3) ++#define P_DE_VS_ADDR (volatile unsigned int *)((0x14d3 << 2) + 0xff900000) ++#define DE_VE_ADDR (0x14d4) ++#define P_DE_VE_ADDR (volatile unsigned int *)((0x14d4 << 2) + 0xff900000) ++#define HSYNC_HS_ADDR (0x14d5) ++#define P_HSYNC_HS_ADDR (volatile unsigned int *)((0x14d5 << 2) + 0xff900000) ++#define HSYNC_HE_ADDR (0x14d6) ++#define P_HSYNC_HE_ADDR (volatile unsigned int *)((0x14d6 << 2) + 0xff900000) ++#define HSYNC_VS_ADDR (0x14d7) ++#define P_HSYNC_VS_ADDR (volatile unsigned int *)((0x14d7 << 2) + 0xff900000) ++#define HSYNC_VE_ADDR (0x14d8) ++#define P_HSYNC_VE_ADDR (volatile unsigned int *)((0x14d8 << 2) + 0xff900000) ++#define VSYNC_HS_ADDR (0x14d9) ++#define P_VSYNC_HS_ADDR (volatile unsigned int *)((0x14d9 << 2) + 0xff900000) ++#define VSYNC_HE_ADDR (0x14da) ++#define P_VSYNC_HE_ADDR (volatile unsigned int *)((0x14da << 2) + 0xff900000) ++#define VSYNC_VS_ADDR (0x14db) ++#define P_VSYNC_VS_ADDR (volatile unsigned int *)((0x14db << 2) + 0xff900000) ++#define VSYNC_VE_ADDR (0x14dc) ++#define P_VSYNC_VE_ADDR (volatile unsigned int *)((0x14dc << 2) + 0xff900000) ++// bit 8 -- vfifo_mcu_enable ++// bit 7 -- halt_vs_de ++// bit 6 -- R8G8B8_format ++// bit 5 -- R6G6B6_format (round to 6 bits) ++// bit 4 -- R5G6B5_format ++// bit 3 -- dac_dith_sel ++// bit 2 -- lcd_mcu_enable_de -- ReadOnly ++// bit 1 -- lcd_mcu_enable_vsync -- ReadOnly ++// bit 0 -- lcd_mcu_enable ++#define LCD_MCU_CTL (0x14dd) ++#define P_LCD_MCU_CTL (volatile unsigned int *)((0x14dd << 2) + 0xff900000) ++// ReadOnly ++// R5G6B5 when R5G6B5_format ++// G8R8 when R8G8B8_format ++// G5R10 Other ++#define LCD_MCU_DATA_0 (0x14de) ++#define P_LCD_MCU_DATA_0 (volatile unsigned int *)((0x14de << 2) + 0xff900000) ++// ReadOnly ++// G8B8 when R8G8B8_format ++// G5B10 Other ++#define LCD_MCU_DATA_1 (0x14df) ++#define P_LCD_MCU_DATA_1 (volatile unsigned int *)((0x14df << 2) + 0xff900000) ++// LVDS ++#define LVDS_GEN_CNTL (0x14e0) ++#define P_LVDS_GEN_CNTL (volatile unsigned int *)((0x14e0 << 2) + 0xff900000) ++#define LVDS_PHY_CNTL0 (0x14e1) ++#define P_LVDS_PHY_CNTL0 (volatile unsigned int *)((0x14e1 << 2) + 0xff900000) ++#define LVDS_PHY_CNTL1 (0x14e2) ++#define P_LVDS_PHY_CNTL1 (volatile unsigned int *)((0x14e2 << 2) + 0xff900000) ++#define LVDS_PHY_CNTL2 (0x14e3) ++#define P_LVDS_PHY_CNTL2 (volatile unsigned int *)((0x14e3 << 2) + 0xff900000) ++#define LVDS_PHY_CNTL3 (0x14e4) ++#define P_LVDS_PHY_CNTL3 (volatile unsigned int *)((0x14e4 << 2) + 0xff900000) ++#define LVDS_PHY_CNTL4 (0x14e5) ++#define P_LVDS_PHY_CNTL4 (volatile unsigned int *)((0x14e5 << 2) + 0xff900000) ++#define LVDS_PHY_CNTL5 (0x14e6) ++#define P_LVDS_PHY_CNTL5 (volatile unsigned int *)((0x14e6 << 2) + 0xff900000) ++#define LVDS_SRG_TEST (0x14e8) ++#define P_LVDS_SRG_TEST (volatile unsigned int *)((0x14e8 << 2) + 0xff900000) ++#define LVDS_BIST_MUX0 (0x14e9) ++#define P_LVDS_BIST_MUX0 (volatile unsigned int *)((0x14e9 << 2) + 0xff900000) ++#define LVDS_BIST_MUX1 (0x14ea) ++#define P_LVDS_BIST_MUX1 (volatile unsigned int *)((0x14ea << 2) + 0xff900000) ++#define LVDS_BIST_FIXED0 (0x14eb) ++#define P_LVDS_BIST_FIXED0 (volatile unsigned int *)((0x14eb << 2) + 0xff900000) ++#define LVDS_BIST_FIXED1 (0x14ec) ++#define P_LVDS_BIST_FIXED1 (volatile unsigned int *)((0x14ec << 2) + 0xff900000) ++#define LVDS_BIST_CNTL0 (0x14ed) ++#define P_LVDS_BIST_CNTL0 (volatile unsigned int *)((0x14ed << 2) + 0xff900000) ++#define LVDS_CLKB_CLKA (0x14ee) ++#define P_LVDS_CLKB_CLKA (volatile unsigned int *)((0x14ee << 2) + 0xff900000) ++#define LVDS_PHY_CLK_CNTL (0x14ef) ++#define P_LVDS_PHY_CLK_CNTL (volatile unsigned int *)((0x14ef << 2) + 0xff900000) ++#define LVDS_SER_EN (0x14f0) ++#define P_LVDS_SER_EN (volatile unsigned int *)((0x14f0 << 2) + 0xff900000) ++#define LVDS_PHY_CNTL6 (0x14f1) ++#define P_LVDS_PHY_CNTL6 (volatile unsigned int *)((0x14f1 << 2) + 0xff900000) ++#define LVDS_PHY_CNTL7 (0x14f2) ++#define P_LVDS_PHY_CNTL7 (volatile unsigned int *)((0x14f2 << 2) + 0xff900000) ++#define LVDS_PHY_CNTL8 (0x14f3) ++#define P_LVDS_PHY_CNTL8 (volatile unsigned int *)((0x14f3 << 2) + 0xff900000) ++//`define MLVDS_CLK_CTL0_HI 8'hf4 ++//`define MLVDS_CLK_CTL0_LO 8'hf5 ++// `define mlvds_clk_pattern_reserved 31 // Bit 31 ++// `define mpclk_dly 28 // Bit 2:0 ++// `define mpclk_div 26 // Bit 1:0 (control phy clok divide 2,4,6,8) ++// `define use_mpclk 25 // Bit 0 ++// `define mlvds_clk_half_delay 24 // Bit 0 ++// `define mlvds_clk_pattern 0 // Bit 23:0 ++//`define MLVDS_DUAL_GATE_WR_START 8'hf6 ++// `define mlvds_dual_gate_wr_start 0 // Bit 12:0 ++//`define MLVDS_DUAL_GATE_WR_END 8'hf7 ++// `define mlvds_dual_gate_wr_end 0 // Bit 12:0 ++// ++//`define MLVDS_DUAL_GATE_RD_START 8'hf8 ++// `define mlvds_dual_gate_rd_start 0 // Bit 12:0 ++//`define MLVDS_DUAL_GATE_RD_END 8'hf9 ++// `define mlvds_dual_gate_rd_end 0 // Bit 12:0 ++//`define MLVDS_SECOND_RESET_CTL 8'hfa ++// `define mLVDS_2nd_reset_start 0 // Bit 12:0 ++// ++#define MLVDS_DUAL_GATE_CTL_HI (0x14fb) ++#define P_MLVDS_DUAL_GATE_CTL_HI (volatile unsigned int *)((0x14fb << 2) + 0xff900000) ++#define MLVDS_DUAL_GATE_CTL_LO (0x14fc) ++#define P_MLVDS_DUAL_GATE_CTL_LO (volatile unsigned int *)((0x14fc << 2) + 0xff900000) ++// `define mlvds_tcon_field_en 24 // Bit 7:0 ++// `define mlvds_dual_gate_reserved 21 // Bit 2:0 ++// `define mlvds_scan_mode_start_line_bit12 20 // Bit 0 ++// `define mlvds_scan_mode_odd 16 // Bit 3:0 ++// `define mlvds_scan_mode_even 12 // Bit 3:0 ++// `define mlvds_scan_mode_start_line 0 // Bit 11:0 ++// ++//`define MLVDS_RESET_CONFIG_HI 8'hfd ++//`define MLVDS_RESET_CONFIG_LO 8'hfe ++// `define mLVDS_reset_range_enable 31 // Bit 0 ++// `define mLVDS_reset_range_inv 30 // Bit 0 ++// `define mLVDS_reset_config_res1 29 // Bit 0 ++// `define mLVDS_reset_range_line_0 16 // Bit 11:0 ++// `define mLVDS_reset_config_res3 13 // Bit 2:0 ++// `define mLVDS_reset_range_line_1 0 // Bit 11:0 ++//=============================================================== ++//LCD DRIVER BASE END ++//=============================================================== ++// ++// Closing file: lcd_regs.h ++// ++//`define MAD_VCBUS_BASE 8'h17 ++// ++// Reading file: mad_regs.h ++// ++//DEINTERLACE module start from 8'h90 end to 8'hff ++// ----------------------------------------------- ++// CBUS_BASE: MAD_VCBUS_BASE = 0x17 ++// ----------------------------------------------- ++#define DI_PRE_CTRL (0x1700) ++#define P_DI_PRE_CTRL (volatile unsigned int *)((0x1700 << 2) + 0xff900000) ++// bit 31, cbus_pre_frame_rst ++// bit 30, cbus_pre_soft_rst ++// bit 29, pre_field_num ++// bit 27:26, mode_444c422 ++// bit 25, di_cont_read_en ++// bit 24:23, mode_422c444 ++// bit 22, mtn_after_nr ++// bit 21:16, pre_hold_fifo_lines ++// bit 15, nr_wr_by ++// bit 14, use_vdin_go_line ++// bit 13, di_prevdin_en ++// bit 12, di_pre_viu_link ++// bit 11, di_pre_repeat ++// bit 10, di_pre_drop_1st ++// bit 9, di_buf2_en ++// bit 8, di_chan2_en ++// bit 7, prenr_hist_en ++// bit 6, chan2_hist_en ++// bit 5, hist_check_en ++// bit 4, check_after_nr ++// bit 3, check222p_en ++// bit 2, check322p_en ++// bit 1, mtn_en ++// bit 0, nr_en ++#define DI_POST_CTRL (0x1701) ++#define P_DI_POST_CTRL (volatile unsigned int *)((0x1701 << 2) + 0xff900000) ++// bit 31, cbus_post_frame_rst ++// bit 30, cbus_post_soft_rst ++// bit 29, post_field_num ++// bit 21:16, post_hold_fifo_lines ++// bit 13, prepost_link ++// bit 12, di_post_viu_link ++// bit 11, di_post_repeat ++// bit 10, di_post_drop_1st ++// bit 9, mif0_to_vpp_en ++// bit 8, di_vpp_out_en ++// bit 7, di_wr_bk_en ++// bit 6, di_mux_en ++// bit 5, di_blend_en ++// bit 4, di_mtnp_read_en ++// bit 3, di_mtn_buf_en ++// bit 2, di_ei_en ++// bit 1, di_buf1_en ++// bit 0, di_buf0_en ++#define DI_POST_SIZE (0x1702) ++#define P_DI_POST_SIZE (volatile unsigned int *)((0x1702 << 2) + 0xff900000) ++//bit 28:16, vsize1post ++//bit 12:0, hsize1post ++#define DI_PRE_SIZE (0x1703) ++#define P_DI_PRE_SIZE (volatile unsigned int *)((0x1703 << 2) + 0xff900000) ++//bit 28:16, vsize1pre ++//bit 12:0, hsize1pre ++#define DI_EI_CTRL0 (0x1704) ++#define P_DI_EI_CTRL0 (volatile unsigned int *)((0x1704 << 2) + 0xff900000) ++//bit 23:16, ei0_filter[2:+] abs_diff_left>filter && ...right>filter && ...top>filter && ...bot>filter -> filter ++//bit 15:8, ei0_threshold[2:+] ++//bit 3, ei0_vertical ++//bit 2, ei0_bpscf2 ++//bit 1, ei0_bpsfar1 ++#define DI_EI_CTRL1 (0x1705) ++#define P_DI_EI_CTRL1 (volatile unsigned int *)((0x1705 << 2) + 0xff900000) ++//bit 31:24, ei0_diff ++//bit 23:16, ei0_angle45 ++//bit 15:8, ei0_peak ++//bit 7:0, ei0_cross ++#define DI_EI_CTRL2 (0x1706) ++#define P_DI_EI_CTRL2 (volatile unsigned int *)((0x1706 << 2) + 0xff900000) ++//bit 31:24, ei0_close2 ++//bit 23:16, ei0_close1 ++//bit 15:8, ei0_far2 ++//bit 7:0, ei0_far1 ++#define DI_NR_CTRL0 (0x1707) ++#define P_DI_NR_CTRL0 (volatile unsigned int *)((0x1707 << 2) + 0xff900000) ++//bit 26, nr_cue_en ++//bit 25, nr2_en ++#define DI_NR_CTRL1 (0x1708) ++#define P_DI_NR_CTRL1 (volatile unsigned int *)((0x1708 << 2) + 0xff900000) ++//bit 31:30, mot_p1txtcore_mode ++//bit 29:24, mot_p1txtcore_clmt ++//bit 21:16, mot_p1txtcore_ylmt ++//bit 15:8, mot_p1txtcore_crate ++//bit 7:0, mot_p1txtcore_yrate ++#define DI_NR_CTRL2 (0x1709) ++#define P_DI_NR_CTRL2 (volatile unsigned int *)((0x1709 << 2) + 0xff900000) ++//bit 29:24, mot_curtxtcore_clmt ++//bit 21:16, mot_curtxtcore_ylmt ++//bit 15:8, mot_curtxtcore_crate ++//bit 7:0, mot_curtxtcore_yrate ++//`define DI_NR_CTRL3 8'h0a ++//no use ++//`define DI_MTN_CTRL 8'h0b ++//no use ++#define DI_CANVAS_URGENT0 (0x170a) ++#define P_DI_CANVAS_URGENT0 (volatile unsigned int *)((0x170a << 2) + 0xff900000) ++#define DI_CANVAS_URGENT1 (0x170b) ++#define P_DI_CANVAS_URGENT1 (volatile unsigned int *)((0x170b << 2) + 0xff900000) ++#define DI_MTN_CTRL1 (0x170c) ++#define P_DI_MTN_CTRL1 (volatile unsigned int *)((0x170c << 2) + 0xff900000) ++//bit 13 , me enable ++//bit 12 , me autoenable ++//bit 11:8, mtn_paramtnthd ++//bit 7:0, mtn_parafltthd ++#define DI_BLEND_CTRL (0x170d) ++#define P_DI_BLEND_CTRL (volatile unsigned int *)((0x170d << 2) + 0xff900000) ++//bit 31, blend_1_en ++//bit 30, blend_mtn_lpf ++//bit 28, post_mb_en ++//bit 27, blend_mtn3p_max ++//bit 26, blend_mtn3p_min ++//bit 25, blend_mtn3p_ave ++//bit 24, blend_mtn3p_maxtb ++//bit 23, blend_mtn_flt_en ++//bit 22, blend_data_flt_en ++//bit 21:20, blend_top_mode ++//bit 19, blend_reg3_enable ++//bit 18, blend_reg2_enable ++//bit 17, blend_reg1_enable ++//bit 16, blend_reg0_enable ++//bit 15:14, blend_reg3_mode ++//bit 13:12, blend_reg2_mode ++//bit 11:10, blend_reg1_mode ++//bit 9:8, blend_reg0_mode ++//bit 7:0, kdeint ++//`define DI_BLEND_CTRL1 8'h0e ++//no use ++#define DI_CANVAS_URGENT2 (0x170e) ++#define P_DI_CANVAS_URGENT2 (volatile unsigned int *)((0x170e << 2) + 0xff900000) ++//`define DI_BLEND_CTRL2 8'h0f ++//no use ++#define DI_ARB_CTRL (0x170f) ++#define P_DI_ARB_CTRL (volatile unsigned int *)((0x170f << 2) + 0xff900000) ++//bit 31:26, di_arb_thd1 ++//bit 25:20, di_arb_thd0 ++//bit 19, di_arb_tid_mode ++//bit 18, di_arb_arb_mode ++//bit 17, di_arb_acq_en ++//bit 16, di_arb_disable_clk ++//bit 15:0, di_arb_req_en ++#define DI_BLEND_REG0_X (0x1710) ++#define P_DI_BLEND_REG0_X (volatile unsigned int *)((0x1710 << 2) + 0xff900000) ++//bit 27:16, blend_reg0_startx ++//bit 11:0, blend_reg0_endx ++#define DI_BLEND_REG0_Y (0x1711) ++#define P_DI_BLEND_REG0_Y (volatile unsigned int *)((0x1711 << 2) + 0xff900000) ++#define DI_BLEND_REG1_X (0x1712) ++#define P_DI_BLEND_REG1_X (volatile unsigned int *)((0x1712 << 2) + 0xff900000) ++#define DI_BLEND_REG1_Y (0x1713) ++#define P_DI_BLEND_REG1_Y (volatile unsigned int *)((0x1713 << 2) + 0xff900000) ++#define DI_BLEND_REG2_X (0x1714) ++#define P_DI_BLEND_REG2_X (volatile unsigned int *)((0x1714 << 2) + 0xff900000) ++#define DI_BLEND_REG2_Y (0x1715) ++#define P_DI_BLEND_REG2_Y (volatile unsigned int *)((0x1715 << 2) + 0xff900000) ++#define DI_BLEND_REG3_X (0x1716) ++#define P_DI_BLEND_REG3_X (volatile unsigned int *)((0x1716 << 2) + 0xff900000) ++#define DI_BLEND_REG3_Y (0x1717) ++#define P_DI_BLEND_REG3_Y (volatile unsigned int *)((0x1717 << 2) + 0xff900000) ++#define DI_CLKG_CTRL (0x1718) ++#define P_DI_CLKG_CTRL (volatile unsigned int *)((0x1718 << 2) + 0xff900000) ++//bit 31:24, pre_gclk_ctrl no clk gate control. if ==1, module clk is not gated (always on). [3] for pulldown,[2] for mtn_1,[1] for mtn_0,[0] for nr ++//bit 23:16, post_gclk_ctrl no clk gate control. [4] for ei_1, [3] for ei_0,[2] for ei_top, [1] for blend_1, [0] for blend_0 ++//bit 1, di_gate_all clk shut down. if ==1 , all di clock shut down ++//bit 0, di_no_clk_gate no clk gate control. if di_gated_all==0 and di_no_clk_gate ==1, all di clock is always working. ++#define DI_EI_CTRL3 (0x1719) ++#define P_DI_EI_CTRL3 (volatile unsigned int *)((0x1719 << 2) + 0xff900000) ++//bit 31, reg_ei_1 ++//bit 30, reg_demon_en ++//bit 26:24, reg_demon_mux ++//bit 23:20, reg_right_win ++//bit 19:16, reg_left_win ++//bit 7:4, reg_ei_sadm_quatize_margin ++//bit 1:0, reg_ei_sad_relative_mode ++#define DI_EI_CTRL4 (0x171a) ++#define P_DI_EI_CTRL4 (volatile unsigned int *)((0x171a << 2) + 0xff900000) ++//bit 29, reg_ei_caldrt_ambliike2_biasvertical ++//bit 28:24, reg_ei_caldrt_addxla2list_drtmax ++//bit 22:20, reg_ei_caldrt_addxla2list_signm0th ++//bit 19, reg_ei_caldrt_addxla2list_mode ++//bit 18:16, reg_ei_signm_sad_cor_rate ++//bit 15:12, reg_ei_signm_sadi_cor_rate ++//bit 11:6, reg_ei_signm_sadi_cor_ofst ++//bit 5:0, reg_ei_signm_sad_ofst ++#define DI_EI_CTRL5 (0x171b) ++#define P_DI_EI_CTRL5 (volatile unsigned int *)((0x171b << 2) + 0xff900000) ++//bit 30:28, reg_ei_caldrt_cnflcctchk_frcverthrd ++//bit 26:24, reg_ei_caldrt_cnflctchk_mg ++//bit 23:22, reg_ei_caldrt_cnflctchk_ws ++//bit 21, reg_ei_caldrt_cnflctchk_en ++//bit 20, reg_ei_caldrt_verfrc_final_en ++//bit 19, reg_ei_caldrt_verfrc_retimflt_en ++//bit 18:16, reg_ei_caldrt_verftc_eithratemth ++//bit 15, reg_ei_caldrt_verfrc_retiming_en ++//bit 14:12, reg_ei_caldrt_verfrc_bothratemth ++//bit 11:9, reg_ei_caldrt_ver_thrd ++//bit 8:4, reg_ei_caldrt_addxla2list_drtmin ++//bit 3:0, reg_ei_caldrt_addxla2list_drtlimit ++#define DI_EI_CTRL6 (0x171c) ++#define P_DI_EI_CTRL6 (volatile unsigned int *)((0x171c << 2) + 0xff900000) ++//bit 31:24, reg_ei_caldrt_abext_sad12thhig ++//bit 23:16, reg_ei_caldrt_abext_sad00thlow ++//bit 15:8, reg_ei_caldrt_abext_sad12thlow ++//bit 6:4, reg_ei_caldrt_abext_ratemth ++//bit 2:0, reg_ei_caldrt_abext_drtthrd ++#define DI_EI_CTRL7 (0x171d) ++#define P_DI_EI_CTRL7 (volatile unsigned int *)((0x171d << 2) + 0xff900000) ++//bit 29, reg_ei_caldrt_xlanopeak_codien ++//bit 28:24, reg_ei_caldrt_xlanopeak_drtmax ++//bit 23, reg_ei_caldrt_xlanopeak_en ++//bit 28:24, reg_ei_caldrt_abext_monotrnd_alpha ++//bit 28:24, reg_ei_caldrt_abext_mononum12_thrd ++//bit 28:24, reg_ei_caldrt_abext_mononum00_thrd ++//bit 28:24, reg_ei_caldrt_abext_sad00rate ++//bit 28:24, reg_ei_caldrt_abext_sad12rate ++//bit 28:24, reg_ei_caldrt_abext_sad00thhig ++#define DI_EI_CTRL8 (0x171e) ++#define P_DI_EI_CTRL8 (volatile unsigned int *)((0x171e << 2) + 0xff900000) ++//bit 30:28, reg_ei_assign_headtail_magin ++//bit 26:24, reg_ei_retime_lastcurpncnfltchk_mode ++//bit 22:21, reg_ei_retime_lastcurpncnfltchk_drtth ++//bit 20, reg_ei_caldrt_histchk_cnfid ++//bit 19:16, reg_ei_caldrt_histchk_thrd ++//bit 15, reg_ei_caldrt_histchk_abext ++//bit 14, reg_ei_caldrt_histchk_npen ++//bit 13:11, reg_ei_caldrt_amblike2_drtmg ++//bit 10:8, reg_ei_caldrt_amblike2_valmg ++//bit 7:4, reg_ei_caldrt_amblike2_alpha ++//bit 3:0, reg_ei_caldrt_amblike2_drtth ++#define DI_EI_CTRL9 (0x171f) ++#define P_DI_EI_CTRL9 (volatile unsigned int *)((0x171f << 2) + 0xff900000) ++//bit 31:28, reg_ei_caldrt_hcnfcheck_frcvert_xla_th3 ++//bit 27, reg_ei_caldrt_hcnfcheck_frcvert_xla_en ++//bit 26:24, reg_ei_caldrt_conf_drtth ++//bit 23:20, reg_ei_caldrt_conf_absdrtth ++//bit 19:18, reg_ei_caldrt_abcheck_mode1 ++//bit 17:16, reg_ei_caldrt_abcheck_mode0 ++//bit 15:12, reg_ei_caldrt_abcheck_drth1 ++//bit 11:8, reg_ei_caldrt_abcheck_drth0 ++//bit 6:4, reg_ei_caldrt_abpnchk1_th ++//bit 1, reg_ei_caldrt_abpnchk1_en ++//bit 0, reg_ei_caldrt_abpnchk0_en ++// DEINTERLACE mode check. ++#define DI_MC_REG0_X (0x1720) ++#define P_DI_MC_REG0_X (volatile unsigned int *)((0x1720 << 2) + 0xff900000) ++//bit 27:16, mc_reg0_start_x ++//bit 11:0, mc_reg0_end_x ++#define DI_MC_REG0_Y (0x1721) ++#define P_DI_MC_REG0_Y (volatile unsigned int *)((0x1721 << 2) + 0xff900000) ++#define DI_MC_REG1_X (0x1722) ++#define P_DI_MC_REG1_X (volatile unsigned int *)((0x1722 << 2) + 0xff900000) ++#define DI_MC_REG1_Y (0x1723) ++#define P_DI_MC_REG1_Y (volatile unsigned int *)((0x1723 << 2) + 0xff900000) ++#define DI_MC_REG2_X (0x1724) ++#define P_DI_MC_REG2_X (volatile unsigned int *)((0x1724 << 2) + 0xff900000) ++#define DI_MC_REG2_Y (0x1725) ++#define P_DI_MC_REG2_Y (volatile unsigned int *)((0x1725 << 2) + 0xff900000) ++#define DI_MC_REG3_X (0x1726) ++#define P_DI_MC_REG3_X (volatile unsigned int *)((0x1726 << 2) + 0xff900000) ++#define DI_MC_REG3_Y (0x1727) ++#define P_DI_MC_REG3_Y (volatile unsigned int *)((0x1727 << 2) + 0xff900000) ++#define DI_MC_REG4_X (0x1728) ++#define P_DI_MC_REG4_X (volatile unsigned int *)((0x1728 << 2) + 0xff900000) ++#define DI_MC_REG4_Y (0x1729) ++#define P_DI_MC_REG4_Y (volatile unsigned int *)((0x1729 << 2) + 0xff900000) ++#define DI_MC_32LVL0 (0x172a) ++#define P_DI_MC_32LVL0 (volatile unsigned int *)((0x172a << 2) + 0xff900000) ++//bit 31:24, mc_reg2_32lvl ++//bit 23:16, mc_reg1_32lvl ++//bit 15:8, mc_reg0_32lvl ++//bit 7:0, field_32lvl ++#define DI_MC_32LVL1 (0x172b) ++#define P_DI_MC_32LVL1 (volatile unsigned int *)((0x172b << 2) + 0xff900000) ++//bit 15:8, mc_reg3_32lvl ++//bit 7:0, mc_reg4_32lvl ++#define DI_MC_22LVL0 (0x172c) ++#define P_DI_MC_22LVL0 (volatile unsigned int *)((0x172c << 2) + 0xff900000) ++//bit 31:16, mc_reg0_22lvl ++//bit 15:0, field_22lvl ++#define DI_MC_22LVL1 (0x172d) ++#define P_DI_MC_22LVL1 (volatile unsigned int *)((0x172d << 2) + 0xff900000) ++//bit 31:16, mc_reg2_22lvl ++//bit 15:0, mc_reg1_22lvl ++#define DI_MC_22LVL2 (0x172e) ++#define P_DI_MC_22LVL2 (volatile unsigned int *)((0x172e << 2) + 0xff900000) ++//bit 31:16, mc_reg4_22lvl ++//bit 15:0, mc_reg3_22lvl ++#define DI_MC_CTRL (0x172f) ++#define P_DI_MC_CTRL (volatile unsigned int *)((0x172f << 2) + 0xff900000) ++//bit 4, mc_reg4_en ++//bit 3, mc_reg3_en ++//bit 2, mc_reg2_en ++//bit 1, mc_reg1_en ++//bit 0, mc_reg0_en ++#define DI_INTR_CTRL (0x1730) ++#define P_DI_INTR_CTRL (volatile unsigned int *)((0x1730 << 2) + 0xff900000) ++#define DI_INFO_ADDR (0x1731) ++#define P_DI_INFO_ADDR (volatile unsigned int *)((0x1731 << 2) + 0xff900000) ++#define DI_INFO_DATA (0x1732) ++#define P_DI_INFO_DATA (volatile unsigned int *)((0x1732 << 2) + 0xff900000) ++#define DI_PRE_HOLD (0x1733) ++#define P_DI_PRE_HOLD (volatile unsigned int *)((0x1733 << 2) + 0xff900000) ++//// DET 3D REG DEFINE BEGIN //// ++//// 8'h34~8'h3f ++// `define DET3D_MOTN_CFG 8'h34 ++// //Bit 16, reg_det3d_intr_en Det3d interrupt enable ++// //Bit 9:8, reg_Det3D_Motion_Mode U2 Different mode for Motion Calculation of Luma and Chroma: ++// // 0: MotY, 1: (2*MotY + (MotU + MotV))/4; 2: Max(MotY, MotU,MotV); 3:Max(MotY, (MotU+MotV)/2) ++// //Bit 7:4, reg_Det3D_Motion_Core_Rate U4 K Rate to Edge (HV) details for coring of Motion Calculations, normalized to 32 ++// //Bit 3:0, reg_Det3D_Motion_Core_Thrd U4 2X: static coring value for Motion Detection. ++// ++// `define DET3D_CB_CFG 8'h35 ++// //Bit 7:4, reg_Det3D_ChessBd_NHV_ofst U4, Noise immune offset for NON-Horizotnal or vertical combing detection. ++// //Bit 3:0, reg_Det3D_ChessBd_HV_ofst U4, Noise immune offset for Horizotnal or vertical combing detection. ++// ++// `define DET3D_SPLT_CFG 8'h36 ++// //Bit 7:4, reg_Det3D_SplitValid_ratio U4, Ratio between max_value and the avg_value of the edge mapping for split line valid detection. ++// // The smaller of this value, the easier of the split line detected. ++// //Bit 3:0, reg_Det3D_AvgIdx_ratio U4, Ratio to the avg_value of the edge mapping for split line position estimation. ++// // The smaller of this value, the more samples will be added to the estimation. ++// ++// `define DET3D_HV_MUTE 8'h37 ++// //Bit 23:20, reg_Det3D_Edge_Ver_Mute U4 X2: Horizontal pixels to be mute from H/V Edge calculation Top and Bottom border part. ++// //Bit 19:16, reg_Det3D_Edge_Hor_Mute U4 X2: Horizontal pixels to be mute from H/V Edge calculation Left and right border part. ++// //Bit 15:12, reg_Det3D_ChessBd_Ver_Mute U4 X2: Horizontal pixels to be mute from ChessBoard statistics calculation in middle part ++// //Bit 11:8, reg_Det3D_ChessBd_Hor_Mute U4 X2: Horizontal pixels to be mute from ChessBoard statistics calculation in middle part ++// //Bit 7:4, reg_Det3D_STA8X8_Ver_Mute U4 1X: Vertical pixels to be mute from 8x8 statistics calculation in each block. ++// //Bit 3:0, reg_Det3D_STA8X8_Hor_Mute U4 1X: Horizontal pixels to be mute from 8x8 statistics calculation in each block. ++// ++// `define DET3D_MAT_STA_P1M1 8'h38 ++// //Bit 31:24, reg_Det3D_STA8X8_P1_K0_R8 U8 SAD to SAI ratio to decide P1, normalized to 256 (0.8) ++// //Bit 23:16, reg_Det3D_STA8X8_P1_K1_R7 U8 SAD to ENG ratio to decide P1, normalized to 128 (0.5) ++// //Bit 15:8, reg_Det3D_STA8X8_M1_K0_R6 U8 SAD to SAI ratio to decide M1, normalized to 64 (1.1) ++// //Bit 7:0, reg_Det3D_STA8X8_M1_K1_R6 U8 SAD to ENG ratio to decide M1, normalized to 64 (0.8) ++// ++// `define DET3D_MAT_STA_P1TH 8'h39 ++// //Bit 23:16, reg_Det3D_STAYUV_P1_TH_L4 U8 SAD to ENG Thrd offset to decide P1, X16 (100) ++// //Bit 15:8, reg_Det3D_STAEDG_P1_TH_L4 U8 SAD to ENG Thrd offset to decide P1, X16 (80) ++// //Bit 7:0, reg_Det3D_STAMOT_P1_TH_L4 U8 SAD to ENG Thrd offset to decide P1, X16 (48) ++// ++// `define DET3D_MAT_STA_M1TH 8'h3a ++// //Bit 23:16, reg_Det3D_STAYUV_M1_TH_L4 U8 SAD to ENG Thrd offset to decide M1, X16 (100) ++// //Bit 15:8, reg_Det3D_STAEDG_M1_TH_L4 U8 SAD to ENG Thrd offset to decide M1, X16 (80) ++// //Bit 7:0, reg_Det3D_STAMOT_M1_TH_L4 U8 SAD to ENG Thrd offset to decide M1, X16 (64) ++// ++// `define DET3D_MAT_STA_RSFT 8'h3b ++// //Bit 5:4, reg_Det3D_STAYUV_RSHFT U2 YUV statistics SAD and SAI calculation result right shift bits to accommodate the 12bits clipping: ++// // 0: mainly for images <=720x480: 1: mainly for images <=1366x768: 2: mainly for images <=1920X1080: 2; 3: other higher resolutions ++// //Bit 3:2, reg_Det3D_STAEDG_RSHFT U2 Horizontal and Vertical Edge Statistics SAD and SAI calculation result right shift bits to accommodate the 12bits clipping: ++// // 0: mainly for images <=720x480: 1: mainly for images <=1366x768: 2: mainly for images <=1920X1080: 2; 3: other higher resolutions ++// //Bit 1:0, reg_Det3D_STAMOT_RSHFT U2 Motion SAD and SAI calculation result right shift bits to accommodate the 12bits clipping: ++// // 0: mainly for images <=720x480: 1: mainly for images <=1366x768: 2: mainly for images <=1920X1080: 2; 3: other higher resolutions ++// ++// `define DET3D_MAT_SYMTC_TH 8'h3c ++// //Bit 31:24, reg_Det3D_STALUM_symtc_Th U8 threshold to decide if the Luma statistics is TB or LR symmetric. ++// //Bit 23:16, reg_Det3D_STACHR_symtc_Th U8 threshold to decide if the Chroma (UV) statistics is TB or LR symmetric. ++// //Bit 15:8, reg_Det3D_STAEDG_symtc_Th U8 threshold to decide if the Horizontal and Vertical Edge statistics is TB or LR symmetric. ++// //Bit 7:0, reg_Det3D_STAMOT_symtc_Th U8 threshold to decide if the Motion statistics is TB or LR symmetric. ++// ++// `define DET3D_RO_DET_CB_HOR 8'h3d ++// //Bit 31:16, RO_Det3D_ChessBd_NHor_value U16 X64: number of Pixels of Horizontally Surely NOT matching Chessboard pattern. ++// //Bit 15:0, RO_Det3D_ChessBd_Hor_value U16 X64: number of Pixels of Horizontally Surely matching Chessboard pattern. ++// ++// `define DET3D_RO_DET_CB_VER 8'h3e ++// //Bit 31:16, RO_Det3D_ChessBd_NVer_value U16 X64: number of Pixels of Vertically Surely NOT matching Chessboard pattern. ++// //Bit 15:0, RO_Det3D_ChessBd_Ver_value U16 X64: number of Pixels of Vertically Surely matching Chessboard pattern. ++// ++// `define DET3D_RO_SPLT_HT 8'h3f ++// //Bit 24, RO_Det3D_Split_HT_valid U1 horizontal LR split border detected valid signal for top half picture ++// //Bit 20:16, RO_Det3D_Split_HT_pxnum U5 number of pixels included for the LR split position estimation for top half picture ++// //Bit 9:0, RO_Det3D_Split_HT_idxX4 S10 X4: horizontal pixel shifts of LR split position to the (ColMax/2) for top half picture ++// ++// //// DET 3D REG DEFINE END //// ++#define DI_MTN_1_CTRL1 (0x1740) ++#define P_DI_MTN_1_CTRL1 (volatile unsigned int *)((0x1740 << 2) + 0xff900000) ++//bit 31, mtn_1_en ++//bit 30, mtn_init ++//bit 29, di2nr_txt_en ++//bit 28, reserved ++//bit 27:24, mtn_def ++//bit 23:16, mtn_adp_yc ++//bit 15:8, mtn_adp_2c ++//bit 7:0, mtn_adp_2y ++#define DI_MTN_1_CTRL2 (0x1741) ++#define P_DI_MTN_1_CTRL2 (volatile unsigned int *)((0x1741 << 2) + 0xff900000) ++//bit 31:24, mtn_ykinter ++//bit 23:16, mtn_ckinter ++//bit 15:8, mtn_ykintra ++//bit 7:0, mtn_ckintra ++#define DI_MTN_1_CTRL3 (0x1742) ++#define P_DI_MTN_1_CTRL3 (volatile unsigned int *)((0x1742 << 2) + 0xff900000) ++//bit 31:24, mtn_tyrate ++//bit 23:16, mtn_tcrate ++//bit 15: 8, mtn_mxcmby ++//bit 7: 0, mtn_mxcmbc ++#define DI_MTN_1_CTRL4 (0x1743) ++#define P_DI_MTN_1_CTRL4 (volatile unsigned int *)((0x1743 << 2) + 0xff900000) ++//bit 31:24, mtn_tcorey ++//bit 23:16, mtn_tcorec ++//bit 15: 8, mtn_minth ++//bit 7: 0, mtn_maxth ++#define DI_MTN_1_CTRL5 (0x1744) ++#define P_DI_MTN_1_CTRL5 (volatile unsigned int *)((0x1744 << 2) + 0xff900000) ++//bit 31:28, mtn_m1b_extnd ++//bit 27:24, mtn_m1b_errod ++//bit 21:20, mtn_mot_txt_mode ++//bit 19:18, mtn_replace_cbyy ++//bit 17:16, mtn_replace_ybyc ++//bit 15: 8, mtn_core_ykinter ++//bit 7: 0, mtn_core_ckinter ++//// NR2 REG DEFINE BEGIN//// ++#define NR2_MET_NM_CTRL (0x1745) ++#define P_NR2_MET_NM_CTRL (volatile unsigned int *)((0x1745 << 2) + 0xff900000) ++//Bit 28, reg_NM_reset Reset to the status of the Loop filter. ++//Bit 27:24, reg_NM_calc_length Length mode of the Noise measurement sample number for statistics. ++// 0: 256 samples; 1: 512 samples; 2: 1024 samples; 隆颅X: 2^(8+x) samples ++//Bit 23:20, reg_NM_inc_step Loop filter input gain increase step. ++//Bit 19:16, reg_NM_dec_step Loop filter input gain decrease step. ++//Bit 15:8, reg_NM_YHPmot_thrd Luma channel HP portion motion for condition of pixels included in Luma Noise measurement. ++//Bit 7:0, reg_NM_CHPmot_thrd Chroma channel HP portion motion for condition of pixels included in Chroma Noise measurement. ++#define NR2_MET_NM_YCTRL (0x1746) ++#define P_NR2_MET_NM_YCTRL (volatile unsigned int *)((0x1746 << 2) + 0xff900000) ++//Bit 31:28, reg_NM_YPLL_target Target rate of NM_Ynoise_thrd to mean of the Luma Noise ++//Bit 27:24, reg_NM_YLPmot_thrd Luma channel LP portion motion for condition of pixels included in Luma Noise measurement. ++//Bit 23:16, reg_NM_YHPmot_thrd_min Minimum threshold for Luma channel HP portion motion to decide whether the pixel will be included in Luma noise measurement. ++//Bit 15:8, reg_NM_YHPmot_thrd_max Maximum threshold for Luma channel HP portion motion to decide whether the pixel will be included in Luma noise measurement. ++//Bit 7:0, reg_NM_Ylock_rate Rate to decide whether the Luma noise measurement is lock or not. ++#define NR2_MET_NM_CCTRL (0x1747) ++#define P_NR2_MET_NM_CCTRL (volatile unsigned int *)((0x1747 << 2) + 0xff900000) ++//Bit 31:28, reg_NM_CPLL_target Target rate of NM_Cnoise_thrd to mean of the Chroma Noise ++//Bit 27:24, reg_NM_CLPmot_thrd Chroma channel LP portion motion for condition of pixels included in Chroma Noise measurement. ++//Bit 23:16, reg_NM_CHPmot_thrd_min Minimum threshold for Chroma channel HP portion motion to decide whether the pixel will be included in Chroma noise measurement. ++//Bit 15:8, reg_NM_CHPmot_thrd_max Maximum threshold for Chroma channel HP portion motion to decide whether the pixel will be included in Chroma noise measurement. ++//Bit 7:0, reg_NM_Clock_rate Rate to decide whether the Chroma noise measurement is lock or not; ++#define NR2_MET_NM_TNR (0x1748) ++#define P_NR2_MET_NM_TNR (volatile unsigned int *)((0x1748 << 2) + 0xff900000) ++//Bit 25, ro_NM_TNR_Ylock Read-only register to tell ifLuma channel noise measurement is locked or not. ++//Bit 24, ro_NM_TNR_Clock Read-only register to tell if Chroma channel noise measurement is locked or not. ++//Bit 23:12, ro_NM_TNR_Ylevel Read-only register to give Luma channel noise level. It was 16x of pixel difference in 8 bits of YHPmot. ++//Bit 11:0, ro_NM_TNR_Clevel Read-only register to give Chroma channel noise level. It was 16x of pixel difference in 8 bits of CHPmot. ++#define NR2_MET_NMFRM_TNR_YLEV (0x1749) ++#define P_NR2_MET_NMFRM_TNR_YLEV (volatile unsigned int *)((0x1749 << 2) + 0xff900000) ++//Bit 28:0, ro_NMFrm_TNR_Ylevel Frame based Read-only register to give Luma channel noise level within one frame/field. ++#define NR2_MET_NMFRM_TNR_YCNT (0x174a) ++#define P_NR2_MET_NMFRM_TNR_YCNT (volatile unsigned int *)((0x174a << 2) + 0xff900000) ++//Bit 23:0, ro_NMFrm_TNR_Ycount Number ofLuma channel pixels included in Frame/Field based noise level measurement. ++#define NR2_MET_NMFRM_TNR_CLEV (0x174b) ++#define P_NR2_MET_NMFRM_TNR_CLEV (volatile unsigned int *)((0x174b << 2) + 0xff900000) ++//Bit 28:0, ro_NMFrm_TNR_Clevel Frame based Read-only register to give Chroma channel noise level within one frame/field. ++#define NR2_MET_NMFRM_TNR_CCNT (0x174c) ++#define P_NR2_MET_NMFRM_TNR_CCNT (volatile unsigned int *)((0x174c << 2) + 0xff900000) ++//Bit 23:0, ro_NMFrm_TNR_Ccount Number of Chroma channel pixels included in Frame/Field based noise level measurement. ++#define NR2_3DEN_MODE (0x174d) ++#define P_NR2_3DEN_MODE (volatile unsigned int *)((0x174d << 2) + 0xff900000) ++//Bit 6:4, Blend_3dnr_en_r ++//Bit 2:0, Blend_3dnr_en_l ++// `define NR2_IIR_CTRL 8'h4e ++// //Bit 15:14, reg_LP_IIR_8bit_mode LP IIR membitwidth mode:0: 10bits will be store in memory;1: 9bits will be store in memory; ++// // 2: 8bits will be store in memory;3: 7bits will be store in memory; ++// //Bit 13:12, reg_LP_IIR_mute_mode Mode for the LP IIR mute, ++// //Bit 11:8, reg_LP_IIR_mute_thrd Threshold of LP IIR mute to avoid ghost: ++// //Bit 7:6, reg_HP_IIR_8bit_mode IIR membitwidth mode:0: 10bits will be store in memory;1: 9bits will be store in memory; ++// // 2: 8bits will be store in memory;3: 7bits will be store in memory; ++// //Bit 5:4, reg_HP_IIR_mute_mode Mode for theLP IIR mute ++// //Bit 3:0, reg_HP_IIR_mute_thrd Threshold of HP IIR mute to avoid ghost ++// // ++#define NR2_SW_EN (0x174f) ++#define P_NR2_SW_EN (volatile unsigned int *)((0x174f << 2) + 0xff900000) ++//Bit 17:8, Clk_gate_ctrl ++//Bit 7, Cfr_enable ++//Bit 5, Det3d_en ++//Bit 4, Nr2_proc_en ++//Bit 0, Nr2_sw_en ++#define NR2_FRM_SIZE (0x1750) ++#define P_NR2_FRM_SIZE (volatile unsigned int *)((0x1750 << 2) + 0xff900000) ++//Bit 27:16, Frm_heigh Frame/field height ++//Bit 11: 0, Frm_width Frame/field width ++// `define NR2_SNR_SAD_CFG 8'h51 ++// //Bit 12, reg_MATNR_SNR_SAD_CenRPL U1, Enable signal for Current pixel position SAD to be replaced by SAD_min.0: do not replace Current pixel position SAD by SAD_min;1: do replacements ++// //Bit 11:8, reg_MATNR_SNR_SAD_coring Coring value of the intra-frame SAD. sum = (sum - reg_MATNR_SNR_SAD_coring);sum = (sum<0) ? 0: (sum>255)? 255: sum; ++// //Bit 6:5, reg_MATNR_SNR_SAD_WinMod Unsigned, Intra-frame SAD matching window mode:0: 1x1; 1: [1 1 1] 2: [1 2 1]; 3: [1 2 2 2 1]; ++// //Bit 4:0, Sad_coef_num Sad coeffient ++// ++// `define NR2_MATNR_SNR_OS 8'h52 ++// //Bit 7:4, reg_MATNR_SNR_COS SNR Filter overshoot control margin for UV channel (X2 to u10 scale) ++// //Bit 3:0, reg_MATNR_SNR_YOS SNR Filter overshoot control margin for luma channel (X2 to u10 scale) ++// ++// `define NR2_MATNR_SNR_NRM_CFG 8'h53 ++// //Bit 23:16, reg_MATNR_SNR_NRM_ofst Edge based SNR boosting normalization offset to SAD_max ; ++// //Bit 15:8, reg_MATNR_SNR_NRM_max Edge based SNR boosting normalization Max value ++// //Bit 7:0, reg_MATNR_SNR_NRM_min Edge based SNR boosting normalization Min value ++// ++// `define NR2_MATNR_SNR_NRM_GAIN 8'h54 ++// //Bit 15:8, reg_MATNR_SNR_NRM_Cgain Edge based SNR boosting normalization Gain for Chrm channel (norm 32 as 1) ++// //Bit 7:0, reg_MATNR_SNR_NRM_Ygain Edge based SNR boosting normalization Gain for Luma channel (norm 32 as 1) ++// ++// `define NR2_MATNR_SNR_LPF_CFG 8'h55 ++// //Bit 23:16,reg_MATNR_SNRLPF_SADmaxTH U8, Threshold to SADmax to use TNRLPF to replace SNRLPF. i.e.if (SAD_max msb ++//22:20 prehsc pattern start ++//18:16 prehsc pattern end ++//15:8 pattern, each patten 1 bit, from lsb -> msb ++//6:4 pattern start ++//2:0 pattern end ++#define VPP2_HSC_INI_PAT_CTRL (0x1935) ++#define P_VPP2_HSC_INI_PAT_CTRL (volatile unsigned int *)((0x1935 << 2) + 0xff900000) ++//Bit 3 minus black level enable for vadj2 ++//Bit 2 Video adjustment enable for vadj2 ++//Bit 1 minus black level enable for vadj1 ++//Bit 0 Video adjustment enable for vadj1 ++#define VPP2_VADJ_CTRL (0x1940) ++#define P_VPP2_VADJ_CTRL (volatile unsigned int *)((0x1940 << 2) + 0xff900000) ++//Bit 16:8 brightness, signed value ++//Bit 7:0 contrast, unsigned value, contrast from 0 <= contrast <2 ++#define VPP2_VADJ1_Y (0x1941) ++#define P_VPP2_VADJ1_Y (volatile unsigned int *)((0x1941 << 2) + 0xff900000) ++//cb' = cb*ma + cr*mb ++//cr' = cb*mc + cr*md ++//all are bit 9:0, signed value, -2 < ma/mb/mc/md < 2 ++#define VPP2_VADJ1_MA_MB (0x1942) ++#define P_VPP2_VADJ1_MA_MB (volatile unsigned int *)((0x1942 << 2) + 0xff900000) ++#define VPP2_VADJ1_MC_MD (0x1943) ++#define P_VPP2_VADJ1_MC_MD (volatile unsigned int *)((0x1943 << 2) + 0xff900000) ++//Bit 16:8 brightness, signed value ++//Bit 7:0 contrast, unsigned value, contrast from 0 <= contrast <2 ++#define VPP2_VADJ2_Y (0x1944) ++#define P_VPP2_VADJ2_Y (volatile unsigned int *)((0x1944 << 2) + 0xff900000) ++//cb' = cb*ma + cr*mb ++//cr' = cb*mc + cr*md ++//all are bit 9:0, signed value, -2 < ma/mb/mc/md < 2 ++#define VPP2_VADJ2_MA_MB (0x1945) ++#define P_VPP2_VADJ2_MA_MB (volatile unsigned int *)((0x1945 << 2) + 0xff900000) ++#define VPP2_VADJ2_MC_MD (0x1946) ++#define P_VPP2_VADJ2_MC_MD (volatile unsigned int *)((0x1946 << 2) + 0xff900000) ++//Read only ++//Bit 31, if it is true, it means this probe is valid in the last field/frame ++//Bit 29:20 component 0 ++//Bit 19:10 component 1 ++//Bit 9:0 component 2 ++#define VPP2_MATRIX_PROBE_COLOR (0x195c) ++#define P_VPP2_MATRIX_PROBE_COLOR (volatile unsigned int *)((0x195c << 2) + 0xff900000) ++//Bit 23:16 component 0 ++//Bit 15:8 component 1 ++//Bit 7:0 component 2 ++#define VPP2_MATRIX_HL_COLOR (0x195d) ++#define P_VPP2_MATRIX_HL_COLOR (volatile unsigned int *)((0x195d << 2) + 0xff900000) ++//28:16 probe x, postion ++//12:0 probe y, position ++#define VPP2_MATRIX_PROBE_POS (0x195e) ++#define P_VPP2_MATRIX_PROBE_POS (volatile unsigned int *)((0x195e << 2) + 0xff900000) ++//Bit 16, highlight_en ++//Bit 15 probe_post, if true, probe pixel data after matrix, otherwise probe pixel data before matrix ++//Bit 14:12 probe_sel, 000: select post matrix, 001: select vd1 matrix, ++//Bit 9:8 matrix coef idx selection, 00: select post matrix, 01: select vd1 matrix ++//Bit 5 vd1 conversion matrix enable ++//Bit 4 reserved ++//Bit 2 output y/cb/cr saturation enable, only for post matrix (y saturate to 16-235, cb/cr saturate to 16-240) ++//Bit 1 input y/cb/cr saturation enable, only for post matrix (y saturate to 16-235, cb/cr saturate to 16-240) ++//Bit 0 post conversion matrix enable ++#define VPP2_MATRIX_CTRL (0x195f) ++#define P_VPP2_MATRIX_CTRL (volatile unsigned int *)((0x195f << 2) + 0xff900000) ++//Bit 28:16 coef00 ++//Bit 12:0 coef01 ++#define VPP2_MATRIX_COEF00_01 (0x1960) ++#define P_VPP2_MATRIX_COEF00_01 (volatile unsigned int *)((0x1960 << 2) + 0xff900000) ++//Bit 28:16 coef02 ++//Bit 12:0 coef10 ++#define VPP2_MATRIX_COEF02_10 (0x1961) ++#define P_VPP2_MATRIX_COEF02_10 (volatile unsigned int *)((0x1961 << 2) + 0xff900000) ++//Bit 28:16 coef11 ++//Bit 12:0 coef12 ++#define VPP2_MATRIX_COEF11_12 (0x1962) ++#define P_VPP2_MATRIX_COEF11_12 (volatile unsigned int *)((0x1962 << 2) + 0xff900000) ++//Bit 28:16 coef20 ++//Bit 12:0 coef21 ++#define VPP2_MATRIX_COEF20_21 (0x1963) ++#define P_VPP2_MATRIX_COEF20_21 (volatile unsigned int *)((0x1963 << 2) + 0xff900000) ++#define VPP2_MATRIX_COEF22 (0x1964) ++#define P_VPP2_MATRIX_COEF22 (volatile unsigned int *)((0x1964 << 2) + 0xff900000) ++//Bit 26:16 offset0 ++//Bit 10:0 offset1 ++#define VPP2_MATRIX_OFFSET0_1 (0x1965) ++#define P_VPP2_MATRIX_OFFSET0_1 (volatile unsigned int *)((0x1965 << 2) + 0xff900000) ++//Bit 10:0 offset2 ++#define VPP2_MATRIX_OFFSET2 (0x1966) ++#define P_VPP2_MATRIX_OFFSET2 (volatile unsigned int *)((0x1966 << 2) + 0xff900000) ++//Bit 26:16 pre_offset0 ++//Bit 10:0 pre_offset1 ++#define VPP2_MATRIX_PRE_OFFSET0_1 (0x1967) ++#define P_VPP2_MATRIX_PRE_OFFSET0_1 (volatile unsigned int *)((0x1967 << 2) + 0xff900000) ++//Bit 10:0 pre_offset2 ++#define VPP2_MATRIX_PRE_OFFSET2 (0x1968) ++#define P_VPP2_MATRIX_PRE_OFFSET2 (volatile unsigned int *)((0x1968 << 2) + 0xff900000) ++// dummy data used in the VPP postblend ++// Bit 23:16 Y ++// Bit 15:8 CB ++// Bit 7:0 CR ++#define VPP2_DUMMY_DATA1 (0x1969) ++#define P_VPP2_DUMMY_DATA1 (volatile unsigned int *)((0x1969 << 2) + 0xff900000) ++//Bit 31 gainoff module enable ++//Bit 26:16 gain0, 1.10 unsigned data ++//Bit 10:0 gain1, 1.10 unsigned dat ++#define VPP2_GAINOFF_CTRL0 (0x196a) ++#define P_VPP2_GAINOFF_CTRL0 (volatile unsigned int *)((0x196a << 2) + 0xff900000) ++//Bit 26:16 gain2, 1.10 unsigned data ++//Bit 10:0, offset0, signed data ++#define VPP2_GAINOFF_CTRL1 (0x196b) ++#define P_VPP2_GAINOFF_CTRL1 (volatile unsigned int *)((0x196b << 2) + 0xff900000) ++//Bit 26:16, offset1, signed data ++//Bit 10:0, offset2, signed data ++#define VPP2_GAINOFF_CTRL2 (0x196c) ++#define P_VPP2_GAINOFF_CTRL2 (volatile unsigned int *)((0x196c << 2) + 0xff900000) ++//Bit 26:16, pre_offset0, signed data ++//Bit 10:0, pre_offset1, signed data ++#define VPP2_GAINOFF_CTRL3 (0x196d) ++#define P_VPP2_GAINOFF_CTRL3 (volatile unsigned int *)((0x196d << 2) + 0xff900000) ++//Bit 10:0, pre_offset2, signed data ++#define VPP2_GAINOFF_CTRL4 (0x196e) ++#define P_VPP2_GAINOFF_CTRL4 (volatile unsigned int *)((0x196e << 2) + 0xff900000) ++//only two registers used in the color management, which are defined in the chroma_reg.h ++#define VPP2_CHROMA_ADDR_PORT (0x1970) ++#define P_VPP2_CHROMA_ADDR_PORT (volatile unsigned int *)((0x1970 << 2) + 0xff900000) ++#define VPP2_CHROMA_DATA_PORT (0x1971) ++#define P_VPP2_CHROMA_DATA_PORT (volatile unsigned int *)((0x1971 << 2) + 0xff900000) ++//`include "chroma_reg.h" //defined inside is the indirect addressed registers ++//(hsvsharp), (blue), gainoff, mat_vd1,mat_vd2, mat_post, prebld, postbld,(hsharp),sco_ff, vadj1, vadj2, ofifo, (chroma1), clk0(free_clk) vpp_reg ++//each item 2bits, for each 2bits, if bit 2*i+1 == 1, free clk, else if bit 2*i == 1 no clk, else auto gated clock ++//bit1 is not used, because I can not turn off vpp_reg clk because I can not turn on again ++//because the register itself canot be set again without clk ++//Bit 31:0 ++#define VPP2_GCLK_CTRL0 (0x1972) ++#define P_VPP2_GCLK_CTRL0 (volatile unsigned int *)((0x1972 << 2) + 0xff900000) ++//Chroma2_filter, Chroma2, (Ccoring), (blackext), dnlp ++//Bit 9:0 ++#define VPP2_GCLK_CTRL1 (0x1973) ++#define P_VPP2_GCLK_CTRL1 (volatile unsigned int *)((0x1973 << 2) + 0xff900000) ++//prehsc_clk, line_buf, prevsc, vsc, hsc_clk, clk0(free_clk) ++//Bit 11:0 ++#define VPP2_SC_GCLK_CTRL (0x1974) ++#define P_VPP2_SC_GCLK_CTRL (volatile unsigned int *)((0x1974 << 2) + 0xff900000) ++//Bit 17:9 VD1 alpha for preblend ++//Bit 8:0 VD1 alpha for postblend ++#define VPP2_MISC1 (0x1976) ++#define P_VPP2_MISC1 (volatile unsigned int *)((0x1976 << 2) + 0xff900000) ++//Bit 31:24 bottom of region03 output value ++//Bit 23:16 bottom of region02 output value ++//Bit 15:8 bottom of region01 output value ++//Bit 7:0 bottom of region00 output value ++#define VPP2_DNLP_CTRL_00 (0x1981) ++#define P_VPP2_DNLP_CTRL_00 (volatile unsigned int *)((0x1981 << 2) + 0xff900000) ++//Bit 31:24 bottom of region07 output value ++//Bit 23:16 bottom of region06 output value ++//Bit 15:8 bottom of region05 output value ++//Bit 7:0 bottom of region04 output value ++#define VPP2_DNLP_CTRL_01 (0x1982) ++#define P_VPP2_DNLP_CTRL_01 (volatile unsigned int *)((0x1982 << 2) + 0xff900000) ++//Bit 31:24 bottom of region11 output value ++//Bit 23:16 bottom of region10 output value ++//Bit 15:8 bottom of region09 output value ++//Bit 7:0 bottom of region08 output value ++#define VPP2_DNLP_CTRL_02 (0x1983) ++#define P_VPP2_DNLP_CTRL_02 (volatile unsigned int *)((0x1983 << 2) + 0xff900000) ++//Bit 31:24 bottom of region15 output value ++//Bit 23:16 bottom of region14 output value ++//Bit 15:8 bottom of region13 output value ++//Bit 7:0 bottom of region12 output value ++#define VPP2_DNLP_CTRL_03 (0x1984) ++#define P_VPP2_DNLP_CTRL_03 (volatile unsigned int *)((0x1984 << 2) + 0xff900000) ++//Bit 31:24 bottom of region19 output value ++//Bit 23:16 bottom of region18 output value ++//Bit 15:8 bottom of region17 output value ++//Bit 7:0 bottom of region16 output value ++#define VPP2_DNLP_CTRL_04 (0x1985) ++#define P_VPP2_DNLP_CTRL_04 (volatile unsigned int *)((0x1985 << 2) + 0xff900000) ++//Bit 31:24 bottom of region23 output value ++//Bit 23:16 bottom of region22 output value ++//Bit 15:8 bottom of region21 output value ++//Bit 7:0 bottom of region20 output value ++#define VPP2_DNLP_CTRL_05 (0x1986) ++#define P_VPP2_DNLP_CTRL_05 (volatile unsigned int *)((0x1986 << 2) + 0xff900000) ++//Bit 31:24 bottom of region27 output value ++//Bit 23:16 bottom of region26 output value ++//Bit 15:8 bottom of region25 output value ++//Bit 7:0 bottom of region24 output value ++#define VPP2_DNLP_CTRL_06 (0x1987) ++#define P_VPP2_DNLP_CTRL_06 (volatile unsigned int *)((0x1987 << 2) + 0xff900000) ++//Bit 31:24 bottom of region31 output value ++//Bit 23:16 bottom of region30 output value ++//Bit 15:8 bottom of region29 output value ++//Bit 7:0 bottom of region28 output value ++#define VPP2_DNLP_CTRL_07 (0x1988) ++#define P_VPP2_DNLP_CTRL_07 (volatile unsigned int *)((0x1988 << 2) + 0xff900000) ++//Bit 31:24 bottom of region35 output value ++//Bit 23:16 bottom of region34 output value ++//Bit 15:8 bottom of region33 output value ++//Bit 7:0 bottom of region32 output value ++#define VPP2_DNLP_CTRL_08 (0x1989) ++#define P_VPP2_DNLP_CTRL_08 (volatile unsigned int *)((0x1989 << 2) + 0xff900000) ++//Bit 31:24 bottom of region39 output value ++//Bit 23:16 bottom of region38 output value ++//Bit 15:8 bottom of region37 output value ++//Bit 7:0 bottom of region36 output value ++#define VPP2_DNLP_CTRL_09 (0x198a) ++#define P_VPP2_DNLP_CTRL_09 (volatile unsigned int *)((0x198a << 2) + 0xff900000) ++//Bit 31:24 bottom of region43 output value ++//Bit 23:16 bottom of region42 output value ++//Bit 15:8 bottom of region41 output value ++//Bit 7:0 bottom of region40 output value ++#define VPP2_DNLP_CTRL_10 (0x198b) ++#define P_VPP2_DNLP_CTRL_10 (volatile unsigned int *)((0x198b << 2) + 0xff900000) ++//Bit 31:24 bottom of region47 output value ++//Bit 23:16 bottom of region46 output value ++//Bit 15:8 bottom of region45 output value ++//Bit 7:0 bottom of region44 output value ++#define VPP2_DNLP_CTRL_11 (0x198c) ++#define P_VPP2_DNLP_CTRL_11 (volatile unsigned int *)((0x198c << 2) + 0xff900000) ++//Bit 31:24 bottom of region51 output value ++//Bit 23:16 bottom of region50 output value ++//Bit 15:8 bottom of region49 output value ++//Bit 7:0 bottom of region48 output value ++#define VPP2_DNLP_CTRL_12 (0x198d) ++#define P_VPP2_DNLP_CTRL_12 (volatile unsigned int *)((0x198d << 2) + 0xff900000) ++//Bit 31:24 bottom of region55 output value ++//Bit 23:16 bottom of region54 output value ++//Bit 15:8 bottom of region53 output value ++//Bit 7:0 bottom of region52 output value ++#define VPP2_DNLP_CTRL_13 (0x198e) ++#define P_VPP2_DNLP_CTRL_13 (volatile unsigned int *)((0x198e << 2) + 0xff900000) ++//Bit 31:24 bottom of region59 output value ++//Bit 23:16 bottom of region58 output value ++//Bit 15:8 bottom of region57 output value ++//Bit 7:0 bottom of region56 output value ++#define VPP2_DNLP_CTRL_14 (0x198f) ++#define P_VPP2_DNLP_CTRL_14 (volatile unsigned int *)((0x198f << 2) + 0xff900000) ++//Bit 31:24 bottom of region63 output value ++//Bit 23:16 bottom of region62 output value ++//Bit 15:8 bottom of region61 output value ++//Bit 7:0 bottom of region60 output value ++#define VPP2_DNLP_CTRL_15 (0x1990) ++#define P_VPP2_DNLP_CTRL_15 (volatile unsigned int *)((0x1990 << 2) + 0xff900000) ++//Bit 20 reserved ++//Bit 19 reserved ++//Bit 18 demo dynamic nonlinear luma processing enable ++//Bit 17 reserved ++//Bit 16 reserved ++//Bit 15:14, 2'b00: demo adjust on top, 2'b01: demo adjust on bottom, 2'b10: demo adjust on left, 2'b11: demo adjust on right ++//Bit 4 reserved ++//Bit 3 reserved ++//Bit 2 dynamic nonlinear luma processing enable ++//Bit 1 reserved ++//Bit 0 reserved ++#define VPP2_VE_ENABLE_CTRL (0x19a1) ++#define P_VPP2_VE_ENABLE_CTRL (volatile unsigned int *)((0x19a1 << 2) + 0xff900000) ++//Bit 12:0, demo left or top screen width ++#define VPP2_VE_DEMO_LEFT_TOP_SCREEN_WIDTH (0x19a2) ++#define P_VPP2_VE_DEMO_LEFT_TOP_SCREEN_WIDTH (volatile unsigned int *)((0x19a2 << 2) + 0xff900000) ++#define VPP2_VE_DEMO_CENTER_BAR (0x19a3) ++#define P_VPP2_VE_DEMO_CENTER_BAR (volatile unsigned int *)((0x19a3 << 2) + 0xff900000) ++//28:16 ve_line_length ++//12:0 ve_pic_height ++#define VPP2_VE_H_V_SIZE (0x19a4) ++#define P_VPP2_VE_H_V_SIZE (volatile unsigned int *)((0x19a4 << 2) + 0xff900000) ++//Bit 10 reset bit, high active ++//Bit 9 0: measuring rising edge, 1: measuring falling edge ++//Bit 8 if true, accumulate the counter number, otherwise not ++//Bit 7:0 vsync_span, define how many vsync span need to measure ++#define VPP2_VDO_MEAS_CTRL (0x19a8) ++#define P_VPP2_VDO_MEAS_CTRL (volatile unsigned int *)((0x19a8 << 2) + 0xff900000) ++//Read only ++//19:16 ind_meas_count_n, every number of sync_span vsyncs, this counter add 1 ++//15:0, high bit portion of counter ++#define VPP2_VDO_MEAS_VS_COUNT_HI (0x19a9) ++#define P_VPP2_VDO_MEAS_VS_COUNT_HI (volatile unsigned int *)((0x19a9 << 2) + 0xff900000) ++//Read only ++//31:0, low bit portion of counter ++#define VPP2_VDO_MEAS_VS_COUNT_LO (0x19aa) ++#define P_VPP2_VDO_MEAS_VS_COUNT_LO (volatile unsigned int *)((0x19aa << 2) + 0xff900000) ++//vertical scaler phase step ++//Bit 27:0, 4.24 format ++#define VPP2_OSD_VSC_PHASE_STEP (0x19c0) ++#define P_VPP2_OSD_VSC_PHASE_STEP (volatile unsigned int *)((0x19c0 << 2) + 0xff900000) ++//Bit 31:16, botttom vertical scaler initial phase ++//Bit 15:0, top vertical scaler initial phase ++#define VPP2_OSD_VSC_INI_PHASE (0x19c1) ++#define P_VPP2_OSD_VSC_INI_PHASE (volatile unsigned int *)((0x19c1 << 2) + 0xff900000) ++//Bit 24 osd vertical Scaler enable ++//Bit 23 osd_prog_interlace 0: current field is progressive, 1: current field is interlace ++//Bit 22:21 osd_vsc_double_line_mode, bit1, double input width and half input height, bit0, change line buffer becomes 2 lines ++//Bit 20 osd_vsc_phase0_always_en ++//Bit 19 osd_vsc_nearest_en ++//Bit 17:16 osd_vsc_bot_rpt_l0_num ++//Bit 14:11 osd_vsc_bot_ini_rcv_num ++//Bit 9:8 osd_vsc_top_rpt_l0_num ++//Bit 6:3 osd_vsc_top_ini_rcv_num ++//Bit 2:0 osd_vsc_bank_length ++#define VPP2_OSD_VSC_CTRL0 (0x19c2) ++#define P_VPP2_OSD_VSC_CTRL0 (volatile unsigned int *)((0x19c2 << 2) + 0xff900000) ++//horizontal scaler phase step ++//Bit 27:0, 4.24 format ++#define VPP2_OSD_HSC_PHASE_STEP (0x19c3) ++#define P_VPP2_OSD_HSC_PHASE_STEP (volatile unsigned int *)((0x19c3 << 2) + 0xff900000) ++//Bit 31:16, horizontal scaler initial phase1 ++//Bit 15:0, horizontal scaler initial phase0 ++#define VPP2_OSD_HSC_INI_PHASE (0x19c4) ++#define P_VPP2_OSD_HSC_INI_PHASE (volatile unsigned int *)((0x19c4 << 2) + 0xff900000) ++//Bit 22 osd horizontal scaler enable ++//Bit 21 osd_hsc_double_pix_mode ++//Bit 20 osd_hsc_phase0_always_en ++//Bit 19 osd_hsc_nearest_en ++//Bit 17:16 osd_hsc_rpt_p0_num1 ++//Bit 14:11 osd_hsc_ini_rcv_num1 ++//Bit 9:8 osd_hsc_rpt_p0_num0 ++//Bit 6:3 osd_hsc_ini_rcv_num0 ++//Bit 2:0 osd_hsc_bank_length ++#define VPP2_OSD_HSC_CTRL0 (0x19c5) ++#define P_VPP2_OSD_HSC_CTRL0 (volatile unsigned int *)((0x19c5 << 2) + 0xff900000) ++//for 3D quincunx sub-sampling ++//bit 15:8 pattern, each patten 1 bit, from lsb -> msb ++//bit 6:4 pattern start ++//bit 2:0 pattern end ++#define VPP2_OSD_HSC_INI_PAT_CTRL (0x19c6) ++#define P_VPP2_OSD_HSC_INI_PAT_CTRL (volatile unsigned int *)((0x19c6 << 2) + 0xff900000) ++//bit 31:24, componet 0 ++//bit 23:16, component 1 ++//bit 15:8, component 2 ++//bit 7:0 component 3, alpha ++#define VPP2_OSD_SC_DUMMY_DATA (0x19c7) ++#define P_VPP2_OSD_SC_DUMMY_DATA (volatile unsigned int *)((0x19c7 << 2) + 0xff900000) ++//Bit 14 osc_sc_din_osd1_alpha_mode, 1: (alpha >= 128) ? alpha -1: alpha, 0: (alpha >=1) ? alpha - 1: alpha. ++//Bit 13 osc_sc_din_osd2_alpha_mode, 1: (alpha >= 128) ? alpha -1: alpha, 0: (alpha >=1) ? alpha - 1: alpha. ++//Bit 12 osc_sc_dout_alpha_mode, 1: (alpha >= 128) ? alpha + 1: alpha, 0: (alpha >=1) ? alpha + 1: alpha. ++//Bit 12 osc_sc_alpha_mode, 1: (alpha >= 128) ? alpha + 1: alpha, 0: (alpha >=1) ? alpha + 1: alpha. ++//Bit 11:4 default alpha for vd1 or vd2 if they are selected as the source ++//Bit 3 osd scaler path enable ++//Bit 1:0 osd_sc_sel, 00: select osd1 input, 01: select osd2 input, 10: select vd1 input, 11: select vd2 input after matrix ++#define VPP2_OSD_SC_CTRL0 (0x19c8) ++#define P_VPP2_OSD_SC_CTRL0 (volatile unsigned int *)((0x19c8 << 2) + 0xff900000) ++//Bit 28:16 OSD scaler input width minus 1 ++//Bit 12:0 OSD scaler input height minus 1 ++#define VPP2_OSD_SCI_WH_M1 (0x19c9) ++#define P_VPP2_OSD_SCI_WH_M1 (volatile unsigned int *)((0x19c9 << 2) + 0xff900000) ++//Bit 28:16 OSD scaler output horizontal start ++//Bit 12:0 OSD scaler output horizontal end ++#define VPP2_OSD_SCO_H_START_END (0x19ca) ++#define P_VPP2_OSD_SCO_H_START_END (volatile unsigned int *)((0x19ca << 2) + 0xff900000) ++//Bit 28:16 OSD scaler output vertical start ++//Bit 12:0 OSD scaler output vertical end ++#define VPP2_OSD_SCO_V_START_END (0x19cb) ++#define P_VPP2_OSD_SCO_V_START_END (volatile unsigned int *)((0x19cb << 2) + 0xff900000) ++//Because there are many coefficients used in the vertical filter and horizontal filters, ++//indirect access the coefficients of vertical filter and horizontal filter is used. ++//For vertical filter, there are 33x4 coefficients ++//For horizontal filter, there are 33x4 coefficients ++//Bit 15 index increment, if bit9 == 1 then (0: index increase 1, 1: index increase 2) else (index increase 2) ++//Bit 14 1: read coef through cbus enable, just for debug purpose in case when we wanna check the coef in ram in correct or not ++//Bit 9 if true, use 9bit resolution coef, other use 8bit resolution coef ++//Bit 8 type of index, 0: vertical coef, 1: horizontal coef ++//Bit 6:0 coef index ++#define VPP2_OSD_SCALE_COEF_IDX (0x19cc) ++#define P_VPP2_OSD_SCALE_COEF_IDX (volatile unsigned int *)((0x19cc << 2) + 0xff900000) ++//coefficients for vertical filter and horizontal filter ++#define VPP2_OSD_SCALE_COEF (0x19cd) ++#define P_VPP2_OSD_SCALE_COEF (volatile unsigned int *)((0x19cd << 2) + 0xff900000) ++//Bit 12:0 line number use to generate interrupt when line == this number ++#define VPP2_INT_LINE_NUM (0x19ce) ++#define P_VPP2_INT_LINE_NUM (volatile unsigned int *)((0x19ce << 2) + 0xff900000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: vpp2_regs.h ++// ++//`define VIU_VCBUS_BASE 8'h1a ++// ++// Reading file: vregs_clk2.h ++// ++//=========================================================================== ++// Video Interface Registers 0xa00 - 0xaff ++//=========================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: VIU_VCBUS_BASE = 0x1a ++// ----------------------------------------------- ++#define VIU_ADDR_START (0x1a00) ++#define P_VIU_ADDR_START (volatile unsigned int *)((0x1a00 << 2) + 0xff900000) ++#define VIU_ADDR_END (0x1aff) ++#define P_VIU_ADDR_END (volatile unsigned int *)((0x1aff << 2) + 0xff900000) ++//`define TRACE_REG 8'ff ++//------------------------------------------------------------------------------ ++// VIU top-level registers ++//------------------------------------------------------------------------------ ++// Bit 0 RW, osd1_reset ++// Bit 1 RW, osd2_reset ++// Bit 2 RW, vd1_reset ++// Bit 3 RW, vd1_fmt_reset ++// Bit 4 RW, vd2_reset ++// Bit 5 RW, vd2_fmt_reset ++// Bit 6 RW, di_dsr1to2_reset ++// Bit 7 RW, vpp_reset ++// Bit 8 RW, di_if1_reset ++// Bit 9 RW, di_if1_fmt_reset ++// Bit 10 RW, di_inp_reset ++// Bit 11 RW, di_inp_fmt_reset ++// Bit 12 RW, di_mem_reset ++// Bit 13 RW, di_mem_fmt_reset ++// Bit 14 RW, di_nr_wr_mif_reset ++// Bit 15 RW, dein_wr_mif_reset ++// Bit 16 RW, di_chan2_mif_reset ++// Bit 17 RW, di_mtn_wr_mif_reset ++// Bit 18 RW, di_mtn_rd_mif_reset ++// Bit 19 RW, di_mad_reset ++// Bit 20 RW, vdin0_reset ++// Bit 21 RW, vdin1_reset ++// Bit 22 RW, nrin_mux_reset ++// Bit 23 RW, vdin0_wr_reset ++// Bit 24 RW, vdin1_wr_reset ++// Bit 25 RW, reserved ++// Bit 26 RW, d2d3_reset ++// Bit 27 RW, di_cont_wr_mif_reset ++// Bit 28 RW, di_cont_rd_mif_reset ++#define VIU_SW_RESET (0x1a01) ++#define P_VIU_SW_RESET (volatile unsigned int *)((0x1a01 << 2) + 0xff900000) ++#define VIU_SW_RESET0 (0x1a02) ++#define P_VIU_SW_RESET0 (volatile unsigned int *)((0x1a02 << 2) + 0xff900000) ++// Bit 0 RW, software reset for mcvecrd_mif ++// Bit 1 RW, software reset for mcinfowr_mif ++// Bit 2 RW, software reset for mcinford_mif ++#define VIU_SECURE_REG (0x1a04) ++#define P_VIU_SECURE_REG (volatile unsigned int *)((0x1a04 << 2) + 0xff900000) ++// Bit 0 RW, dolby core1_tv secure w and r ++// Bit 1 RW, dolby core2 secure w and r ++// Bit 2 RW, dolby core3 secure w and r ++// Bit 3 RW, for osd1 secure read ++// Bit 4 RW, for osd2 secure read ++#define DOLBY_INT_STAT (0x1a05) ++#define P_DOLBY_INT_STAT (volatile unsigned int *)((0x1a05 << 2) + 0xff900000) ++// todo ++//bit 15:12 osdbld_gclk_ctrl 3:2 regclk ctrl 1:0 blending clk control ++//bit 8 if true, vsync interrup is generate only field == 0 ++//bit 7:0 fix_disable ++#define VIU_MISC_CTRL0 (0x1a06) ++#define P_VIU_MISC_CTRL0 (volatile unsigned int *)((0x1a06 << 2) + 0xff900000) ++#define VIU_MISC_CTRL1 (0x1a07) ++#define P_VIU_MISC_CTRL1 (volatile unsigned int *)((0x1a07 << 2) + 0xff900000) ++// Bit 15:14 mali_afbcd_gclk_ctrl mali_afbcd clock gate control[5:4] ++// Bit 12 osd1_afbcd_axi_mux 0 : use the osd mif as input; 1 : use afbcd as input ++// Bit 11:8 mali_afbcd_gclk_ctrl mali_afbcd clock gate control[3:0] ++// Bit 7:2 vd2_afbcd_gclk_ctrl vd2_afbcd clock gate control ++// Bit 1 vpp_vd2_din_sel 0: vpp vd2 sel the mif input; 1: vpp vd2 sel the dos afbcd ++// Bit 0 vd2_afbcd_out_sel 0: vd2_afbcd output to vpp; 1 : vd2_afbcd output to di inp ++#define D2D3_INTF_LENGTH (0x1a08) ++#define P_D2D3_INTF_LENGTH (volatile unsigned int *)((0x1a08 << 2) + 0xff900000) ++// Bit 31:30 vdin0 dout splitter, bit 0 turns on vdin0 to old path, bit 1 turns on vdin0 to d2d3_intf vdin0 input path ++// Bit 29:28 vdin1 dout splitter, bit 0 turns on vdin1 to old path, bit 1 turns on vdin1 to d2d3_intf vdin1 input path ++// Bit 27:26 NR write dout splitter, bit 0 turns on NR write to old path, bit 1 turns on NR WR to d2d3_intf NR WR input path ++// Bit 23 if true, turn on clk_d2d3_reg (register clock) ++// Bit 22 if true, turn on clk_d2d3 ++// Bit 21 reg_v1_go_line ++// Bit 20 reg_v1_go_field ++// Bit 19 reg_v0_go_field ++// Bit 18:16 v1_gofld_sel, 000: display go_field/go_line, 001: DI pre_frame_rst/go_line, 010: vdin0 go_field/go_line, ++//011: vdin1 go_field/go_line, otherwise: force go_field by reg_v1_go_field(bit20), force go_line by reg_v1_go_line(bit21) ++// Bit 15:13 v0_gofld_sel, 000: display go_field, 001: DI pre_frame_rst, 010: vdin0 go_field, 011: vdin1 go_field, otherwise: force go_field by ++// reg_v0_go_field(bit19) ++// Bit 12:6 hole_lines for d2d3 depth read interface ++// Bit 5:4 d2d3_v1_sel, 2'b01: video display read interface(DI or vd1 fomart output), 2'b10: scale output, otherwise nothing as v1 ++// Bit 3 use_vdin_eol, if true, use vdin eol as the v0_eol, otherwise using length to get the v0_eol ++// Bit 2:0 d2d3_v0_sel 001: vdin0, 010: vdin1, 011: NRW, 100: video display read interface(DI or vd1 fomart output), 101: vpp scale output ++// ++#define D2D3_INTF_CTRL0 (0x1a09) ++#define P_D2D3_INTF_CTRL0 (volatile unsigned int *)((0x1a09 << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// OSD1 registers ++//------------------------------------------------------------------------------ ++// Bit 31 Reserved ++// Bit 30 RW, enable_free_clk: 1=use free-running clock to drive logics; ++// 0=use gated clock for low power. ++// Bit 29 R, test_rd_dsr ++// Bit 28 R, osd_done ++// Bit 27:24 R, osd_blk_mode ++// Bit 23:22 R, osd_blk_ptr ++// Bit 21 R, osd_enable ++// ++// Bit 20:12 RW, global_alpha ++// Bit 11 RW, test_rd_en ++// Bit 10: 9 Reserved for control signals ++// Bit 8: 5 RW, ctrl_mtch_y ++// Bit 4 RW, ctrl_422to444 ++// Bit 3: 0 RW, osd_blk_enable. Bit 0 to enable block 0: 1=enable, 0=disable; ++// Bit 1 to enable block 1, and so on. ++#define VIU_OSD1_CTRL_STAT (0x1a10) ++#define P_VIU_OSD1_CTRL_STAT (volatile unsigned int *)((0x1a10 << 2) + 0xff900000) ++// Bit 31:26 Reserved ++// Bit 25:16 R, fifo_count ++// Bit 15 RW, osd_dpath_sel 0-osd1 mif 1-vpu mali afbcd ++// Bit 14 RW, replaced_alpha_en ++// Bit 13: 6 RW, replaced_alpha ++// Bit 5: 4 RW, hold_fifo_lines[6:5] ++// Bit 3 RW, rgb2yuv_full_range ++// Bit 2 RW, alpha_9b_mode ++// Bit 1 RW, reserved ++// Bit 0 RW, color_expand_mode ++#define VIU_OSD1_CTRL_STAT2 (0x1a2d) ++#define P_VIU_OSD1_CTRL_STAT2 (volatile unsigned int *)((0x1a2d << 2) + 0xff900000) ++// Bit 31: 9 Reserved ++// Bit 8 RW, 0 = Write LUT, 1 = Read LUT ++// Bit 7: 0 RW, lut_addr ++#define VIU_OSD1_COLOR_ADDR (0x1a11) ++#define P_VIU_OSD1_COLOR_ADDR (volatile unsigned int *)((0x1a11 << 2) + 0xff900000) ++// Bit 31:24 RW, Y or R ++// Bit 23:16 RW, Cb or G ++// Bit 15: 8 RW, Cr or B ++// Bit 7: 0 RW, Alpha ++#define VIU_OSD1_COLOR (0x1a12) ++#define P_VIU_OSD1_COLOR (volatile unsigned int *)((0x1a12 << 2) + 0xff900000) ++// Bit 31:24 RW, Y or R ++// Bit 23:16 RW, Cb or G ++// Bit 15: 8 RW, Cr or B ++// Bit 7: 0 RW, Alpha ++#define VIU_OSD1_TCOLOR_AG0 (0x1a17) ++#define P_VIU_OSD1_TCOLOR_AG0 (volatile unsigned int *)((0x1a17 << 2) + 0xff900000) ++#define VIU_OSD1_TCOLOR_AG1 (0x1a18) ++#define P_VIU_OSD1_TCOLOR_AG1 (volatile unsigned int *)((0x1a18 << 2) + 0xff900000) ++#define VIU_OSD1_TCOLOR_AG2 (0x1a19) ++#define P_VIU_OSD1_TCOLOR_AG2 (volatile unsigned int *)((0x1a19 << 2) + 0xff900000) ++#define VIU_OSD1_TCOLOR_AG3 (0x1a1a) ++#define P_VIU_OSD1_TCOLOR_AG3 (volatile unsigned int *)((0x1a1a << 2) + 0xff900000) ++// Bit 31:30 Reserved ++// Bit 29 RW, y_rev: 0=normal read, 1=reverse read in Y direction ++// Bit 28 RW, x_rev: 0=normal read, 1=reverse read in X direction ++// Bit 27:24 Reserved ++// Bit 23:16 RW, tbl_addr ++// Bit 15 RW, little_endian: 0=big endian, 1=little endian ++// Bit 14 RW, rpt_y ++// Bit 13:12 RW, interp_ctrl. 0x=No interpolation; 10=Interpolate with previous ++// pixel; 11=Interpolate with the average value ++// between previous and next pixel. ++// Bit 11: 8 RW, osd_blk_mode ++// Bit 7 RW, rgb_en ++// Bit 6 RW, tc_alpha_en ++// Bit 5: 2 RW, color_matrix ++// Bit 1 RW, interlace_en ++// Bit 0 RW, interlace_sel_odd ++#define VIU_OSD1_BLK0_CFG_W0 (0x1a1b) ++#define P_VIU_OSD1_BLK0_CFG_W0 (volatile unsigned int *)((0x1a1b << 2) + 0xff900000) ++#define VIU_OSD1_BLK1_CFG_W0 (0x1a1f) ++#define P_VIU_OSD1_BLK1_CFG_W0 (volatile unsigned int *)((0x1a1f << 2) + 0xff900000) ++#define VIU_OSD1_BLK2_CFG_W0 (0x1a23) ++#define P_VIU_OSD1_BLK2_CFG_W0 (volatile unsigned int *)((0x1a23 << 2) + 0xff900000) ++#define VIU_OSD1_BLK3_CFG_W0 (0x1a27) ++#define P_VIU_OSD1_BLK3_CFG_W0 (volatile unsigned int *)((0x1a27 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, x_end ++// Bit 15:13 Reserved ++// Bit 12: 0 RW, x_start ++#define VIU_OSD1_BLK0_CFG_W1 (0x1a1c) ++#define P_VIU_OSD1_BLK0_CFG_W1 (volatile unsigned int *)((0x1a1c << 2) + 0xff900000) ++#define VIU_OSD1_BLK1_CFG_W1 (0x1a20) ++#define P_VIU_OSD1_BLK1_CFG_W1 (volatile unsigned int *)((0x1a20 << 2) + 0xff900000) ++#define VIU_OSD1_BLK2_CFG_W1 (0x1a24) ++#define P_VIU_OSD1_BLK2_CFG_W1 (volatile unsigned int *)((0x1a24 << 2) + 0xff900000) ++#define VIU_OSD1_BLK3_CFG_W1 (0x1a28) ++#define P_VIU_OSD1_BLK3_CFG_W1 (volatile unsigned int *)((0x1a28 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, y_end ++// Bit 15:13 Reserved ++// Bit 12: 0 RW, y_start ++#define VIU_OSD1_BLK0_CFG_W2 (0x1a1d) ++#define P_VIU_OSD1_BLK0_CFG_W2 (volatile unsigned int *)((0x1a1d << 2) + 0xff900000) ++#define VIU_OSD1_BLK1_CFG_W2 (0x1a21) ++#define P_VIU_OSD1_BLK1_CFG_W2 (volatile unsigned int *)((0x1a21 << 2) + 0xff900000) ++#define VIU_OSD1_BLK2_CFG_W2 (0x1a25) ++#define P_VIU_OSD1_BLK2_CFG_W2 (volatile unsigned int *)((0x1a25 << 2) + 0xff900000) ++#define VIU_OSD1_BLK3_CFG_W2 (0x1a29) ++#define P_VIU_OSD1_BLK3_CFG_W2 (volatile unsigned int *)((0x1a29 << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, h_end ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, h_start ++#define VIU_OSD1_BLK0_CFG_W3 (0x1a1e) ++#define P_VIU_OSD1_BLK0_CFG_W3 (volatile unsigned int *)((0x1a1e << 2) + 0xff900000) ++#define VIU_OSD1_BLK1_CFG_W3 (0x1a22) ++#define P_VIU_OSD1_BLK1_CFG_W3 (volatile unsigned int *)((0x1a22 << 2) + 0xff900000) ++#define VIU_OSD1_BLK2_CFG_W3 (0x1a26) ++#define P_VIU_OSD1_BLK2_CFG_W3 (volatile unsigned int *)((0x1a26 << 2) + 0xff900000) ++#define VIU_OSD1_BLK3_CFG_W3 (0x1a2a) ++#define P_VIU_OSD1_BLK3_CFG_W3 (volatile unsigned int *)((0x1a2a << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, v_end ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, v_start ++#define VIU_OSD1_BLK0_CFG_W4 (0x1a13) ++#define P_VIU_OSD1_BLK0_CFG_W4 (volatile unsigned int *)((0x1a13 << 2) + 0xff900000) ++#define VIU_OSD1_BLK1_CFG_W4 (0x1a14) ++#define P_VIU_OSD1_BLK1_CFG_W4 (volatile unsigned int *)((0x1a14 << 2) + 0xff900000) ++#define VIU_OSD1_BLK2_CFG_W4 (0x1a15) ++#define P_VIU_OSD1_BLK2_CFG_W4 (volatile unsigned int *)((0x1a15 << 2) + 0xff900000) ++#define VIU_OSD1_BLK3_CFG_W4 (0x1a16) ++#define P_VIU_OSD1_BLK3_CFG_W4 (volatile unsigned int *)((0x1a16 << 2) + 0xff900000) ++// Bit 31 RW, burst_len_sel[2] of [2:0] ++// Bit 30 RW, byte_swap: In addition to endian control, further define ++// whether to swap upper and lower byte within a 16-bit mem word. ++// 0=No swap; 1=Swap data[15:0] to be {data[7:0], data[15:8]} ++// Bit 29 RW, div_swap : swap the 2 64bits words in 128 bit word ++// Bit 28:24 RW, fifo_lim : when osd fifo is small than the fifo_lim*16, closed the rq port of osd_rd_mif ++// Bit 23:22 RW, fifo_ctrl: 00 : for 1 word in 1 burst , 01 : for 2words in 1burst, 10: for 4words in 1burst, 11: reserved ++// Bit 21:20 R, fifo_st. 0=IDLE, 1=FILL, 2=ABORT ++// Bit 19 R, fifo_overflow ++// Bit 18:12 RW, fifo_depth_val, max value=64: set actual fifo depth to fifo_depth_val*8. ++// Bit 11:10 RW, burst_len_sel[1:0] of [2:0]. 0=24(default), 1=32, 2=48, 3=64, 4=96, 5=128. ++// Bit 9: 5 RW, hold_fifo_lines[4:0] ++// Bit 4 RW, clear_err: one pulse to clear fifo_overflow ++// Bit 3 RW, fifo_sync_rst ++// Bit 2: 1 RW, endian ++// Bit 0 RW, urgent ++#define VIU_OSD1_FIFO_CTRL_STAT (0x1a2b) ++#define P_VIU_OSD1_FIFO_CTRL_STAT (volatile unsigned int *)((0x1a2b << 2) + 0xff900000) ++// Bit 31:24 R, Y or R ++// Bit 23:16 R, Cb or G ++// Bit 15: 8 R, Cr or B ++// Bit 7: 0 R, Output Alpha[8:1] ++#define VIU_OSD1_TEST_RDDATA (0x1a2c) ++#define P_VIU_OSD1_TEST_RDDATA (volatile unsigned int *)((0x1a2c << 2) + 0xff900000) ++// Bit 15 RW, prot_en: 1=Borrow PROT's FIFO storage, either for rotate or non-rotate. ++// Bit 12: 0 RW, effective FIFO size when prot_en=1. ++#define VIU_OSD1_PROT_CTRL (0x1a2e) ++#define P_VIU_OSD1_PROT_CTRL (volatile unsigned int *)((0x1a2e << 2) + 0xff900000) ++//Bit 7, highlight_en ++//Bit 6 probe_post, if true, probe pixel data after matrix, otherwise probe pixel data before matrix ++//Bit 5:4 probe_sel, 00: select matrix 0, 01: select matrix 1, otherwise select nothing ++//Bit 3:2, matrix coef idx selection, 00: select mat0, 01: select mat1, otherwise slect nothing ++//Bit 1 mat1 conversion matrix enable ++//Bit 0 mat0 conversion matrix enable ++#define VIU_OSD1_MATRIX_CTRL (0x1a90) ++#define P_VIU_OSD1_MATRIX_CTRL (volatile unsigned int *)((0x1a90 << 2) + 0xff900000) ++//Bit 28:16 coef00 ++//Bit 12:0 coef01 ++#define VIU_OSD1_MATRIX_COEF00_01 (0x1a91) ++#define P_VIU_OSD1_MATRIX_COEF00_01 (volatile unsigned int *)((0x1a91 << 2) + 0xff900000) ++//Bit 28:16 coef02 ++//Bit 12:0 coef10 ++#define VIU_OSD1_MATRIX_COEF02_10 (0x1a92) ++#define P_VIU_OSD1_MATRIX_COEF02_10 (volatile unsigned int *)((0x1a92 << 2) + 0xff900000) ++//Bit 28:16 coef11 ++//Bit 12:0 coef12 ++#define VIU_OSD1_MATRIX_COEF11_12 (0x1a93) ++#define P_VIU_OSD1_MATRIX_COEF11_12 (volatile unsigned int *)((0x1a93 << 2) + 0xff900000) ++//Bit 28:16 coef20 ++//Bit 12:0 coef21 ++#define VIU_OSD1_MATRIX_COEF20_21 (0x1a94) ++#define P_VIU_OSD1_MATRIX_COEF20_21 (volatile unsigned int *)((0x1a94 << 2) + 0xff900000) ++//Bit 31:30 mat_clmod ++//Bit 18:16 mat_convrs ++//Bit 12:0 mat_coef42 ++#define VIU_OSD1_MATRIX_COLMOD_COEF42 (0x1a95) ++#define P_VIU_OSD1_MATRIX_COLMOD_COEF42 (volatile unsigned int *)((0x1a95 << 2) + 0xff900000) ++//Bit 26:16 offset0 ++//Bit 10:0 offset1 ++#define VIU_OSD1_MATRIX_OFFSET0_1 (0x1a96) ++#define P_VIU_OSD1_MATRIX_OFFSET0_1 (volatile unsigned int *)((0x1a96 << 2) + 0xff900000) ++//Bit 10:0 offset2 ++#define VIU_OSD1_MATRIX_OFFSET2 (0x1a97) ++#define P_VIU_OSD1_MATRIX_OFFSET2 (volatile unsigned int *)((0x1a97 << 2) + 0xff900000) ++//Bit 26:16 pre_offset0 ++//Bit 10:0 pre_offset1 ++#define VIU_OSD1_MATRIX_PRE_OFFSET0_1 (0x1a98) ++#define P_VIU_OSD1_MATRIX_PRE_OFFSET0_1 (volatile unsigned int *)((0x1a98 << 2) + 0xff900000) ++//Bit 10:0 pre_offset2 ++#define VIU_OSD1_MATRIX_PRE_OFFSET2 (0x1a99) ++#define P_VIU_OSD1_MATRIX_PRE_OFFSET2 (volatile unsigned int *)((0x1a99 << 2) + 0xff900000) ++//Read only ++//Bit 29:20 component 0 ++//Bit 19:10 component 1 ++//Bit 9:0 component 2 ++#define VIU_OSD1_MATRIX_PROBE_COLOR (0x1a9a) ++#define P_VIU_OSD1_MATRIX_PROBE_COLOR (volatile unsigned int *)((0x1a9a << 2) + 0xff900000) ++//Bit 23:16 component 0 ++//Bit 15:8 component 1 ++//Bit 7:0 component 2 ++#define VIU_OSD1_MATRIX_HL_COLOR (0x1a9b) ++#define P_VIU_OSD1_MATRIX_HL_COLOR (volatile unsigned int *)((0x1a9b << 2) + 0xff900000) ++//28:16 probe x, postion ++//12:0 probe y, position ++#define VIU_OSD1_MATRIX_PROBE_POS (0x1a9c) ++#define P_VIU_OSD1_MATRIX_PROBE_POS (volatile unsigned int *)((0x1a9c << 2) + 0xff900000) ++//Bit 28:16 coef22 ++//Bit 12:0 coef30 ++#define VIU_OSD1_MATRIX_COEF22_30 (0x1a9d) ++#define P_VIU_OSD1_MATRIX_COEF22_30 (volatile unsigned int *)((0x1a9d << 2) + 0xff900000) ++//Bit 28:16 coef31 ++//Bit 12:0 coef32 ++#define VIU_OSD1_MATRIX_COEF31_32 (0x1a9e) ++#define P_VIU_OSD1_MATRIX_COEF31_32 (volatile unsigned int *)((0x1a9e << 2) + 0xff900000) ++//Bit 28:16 coef40 ++//Bit 12:0 coef41 ++#define VIU_OSD1_MATRIX_COEF40_41 (0x1a9f) ++#define P_VIU_OSD1_MATRIX_COEF40_41 (volatile unsigned int *)((0x1a9f << 2) + 0xff900000) ++//Bit 31:27 for all [31] for all eotf enable,[30] for matrix3x3 enable, [29:27] for eotf_ch0~3 ++//Bit 17:6 for clock gating ++//Bit 5:4 pscale_mode ch2 ++//Bit 3:2 pscale_mode ch1 ++//Bit 1:0 pscale_mode ch0 ++#define VIU_OSD1_EOTF_CTL (0x1ad4) ++#define P_VIU_OSD1_EOTF_CTL (volatile unsigned int *)((0x1ad4 << 2) + 0xff900000) ++//Bit 28:16 coef00 ++//Bit 12:0 coef01 ++#define VIU_OSD1_EOTF_COEF00_01 (0x1ad5) ++#define P_VIU_OSD1_EOTF_COEF00_01 (volatile unsigned int *)((0x1ad5 << 2) + 0xff900000) ++//Bit 28:16 coef02 ++//Bit 12:0 coef10 ++#define VIU_OSD1_EOTF_COEF02_10 (0x1ad6) ++#define P_VIU_OSD1_EOTF_COEF02_10 (volatile unsigned int *)((0x1ad6 << 2) + 0xff900000) ++//Bit 28:16 coef11 ++//Bit 12:0 coef12 ++#define VIU_OSD1_EOTF_COEF11_12 (0x1ad7) ++#define P_VIU_OSD1_EOTF_COEF11_12 (volatile unsigned int *)((0x1ad7 << 2) + 0xff900000) ++//Bit 28:16 coef20 ++//Bit 12:0 coef21 ++#define VIU_OSD1_EOTF_COEF20_21 (0x1ad8) ++#define P_VIU_OSD1_EOTF_COEF20_21 (volatile unsigned int *)((0x1ad8 << 2) + 0xff900000) ++//Bit 28:16 coef22 ++//Bit 2:0 coef_rs ++#define VIU_OSD1_EOTF_COEF22_RS (0x1ad9) ++#define P_VIU_OSD1_EOTF_COEF22_RS (volatile unsigned int *)((0x1ad9 << 2) + 0xff900000) ++#define VIU_OSD1_EOTF_LUT_ADDR_PORT (0x1ada) ++#define P_VIU_OSD1_EOTF_LUT_ADDR_PORT (volatile unsigned int *)((0x1ada << 2) + 0xff900000) ++#define VIU_OSD1_EOTF_LUT_DATA_PORT (0x1adb) ++#define P_VIU_OSD1_EOTF_LUT_DATA_PORT (volatile unsigned int *)((0x1adb << 2) + 0xff900000) ++//Bit 31:29 for OETF ch0~ch2 ++//Bit 21:12 for clock gating ++//Bit 11:8 for oetf_scl_ch2 ++//Bit 7:4 for oetf_scl_ch1 ++//Bit 3:0 for oetf_scl_ch0 ++#define VIU_OSD1_OETF_CTL (0x1adc) ++#define P_VIU_OSD1_OETF_CTL (volatile unsigned int *)((0x1adc << 2) + 0xff900000) ++#define VIU_OSD1_OETF_LUT_ADDR_PORT (0x1add) ++#define P_VIU_OSD1_OETF_LUT_ADDR_PORT (volatile unsigned int *)((0x1add << 2) + 0xff900000) ++#define VIU_OSD1_OETF_LUT_DATA_PORT (0x1ade) ++#define P_VIU_OSD1_OETF_LUT_DATA_PORT (volatile unsigned int *)((0x1ade << 2) + 0xff900000) ++#define VIU_OSD1_OETF_3X3_OFST_0 (0x1aa0) ++#define P_VIU_OSD1_OETF_3X3_OFST_0 (volatile unsigned int *)((0x1aa0 << 2) + 0xff900000) ++#define VIU_OSD1_OETF_3X3_OFST_1 (0x1aa1) ++#define P_VIU_OSD1_OETF_3X3_OFST_1 (volatile unsigned int *)((0x1aa1 << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// OSD2 registers ++//------------------------------------------------------------------------------ ++// Bit 31 Reserved ++// Bit 30 RW, enable_free_clk: 1=use free-running clock to drive logics; ++// 0=use gated clock for low power. ++// Bit 29 R, test_rd_dsr ++// Bit 28 R, osd_done ++// Bit 27:24 R, osd_blk_mode ++// Bit 23:22 R, osd_blk_ptr ++// Bit 21 R, osd_enable ++// ++// Bit 20:12 RW, global_alpha ++// Bit 11 RW, test_rd_en ++// Bit 10 RW, hl2_en ++// Bit 9 RW, hl1_en ++// Bit 8: 5 RW, ctrl_mtch_y ++// Bit 4 RW, ctrl_422to444 ++// Bit 3: 0 RW, osd_blk_enable. Bit 0 to enable block 0: 1=enable, 0=disable; ++// Bit 1 to enable block 1, and so on. ++#define VIU_OSD2_CTRL_STAT (0x1a30) ++#define P_VIU_OSD2_CTRL_STAT (volatile unsigned int *)((0x1a30 << 2) + 0xff900000) ++// Bit 31:26 Reserved ++// Bit 25:16 R, fifo_count ++// Bit 15 Reserved ++// Bit 14 RW, replaced_alpha_en ++// Bit 13: 6 RW, replaced_alpha ++// Bit 5: 4 RW, hold_fifo_lines[6:5] ++// Bit 3 RW, rgb2yuv_full_range ++// Bit 2 RW, alpha_9b_mode ++// Bit 1 RW, reserved ++// Bit 0 RW, color_expand_mode ++#define VIU_OSD2_CTRL_STAT2 (0x1a4d) ++#define P_VIU_OSD2_CTRL_STAT2 (volatile unsigned int *)((0x1a4d << 2) + 0xff900000) ++// Bit 31: 9 Reserved ++// Bit 8 RW, 0 = Write LUT, 1 = Read LUT ++// Bit 7: 0 RW, lut_addr ++#define VIU_OSD2_COLOR_ADDR (0x1a31) ++#define P_VIU_OSD2_COLOR_ADDR (volatile unsigned int *)((0x1a31 << 2) + 0xff900000) ++// Bit 31:24 RW, Y or R ++// Bit 23:16 RW, Cb or G ++// Bit 15: 8 RW, Cr or B ++// Bit 7: 0 RW, Alpha ++#define VIU_OSD2_COLOR (0x1a32) ++#define P_VIU_OSD2_COLOR (volatile unsigned int *)((0x1a32 << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, hl[1-2]_h/v_start ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, hl[1-2]_h/v_end ++#define VIU_OSD2_HL1_H_START_END (0x1a33) ++#define P_VIU_OSD2_HL1_H_START_END (volatile unsigned int *)((0x1a33 << 2) + 0xff900000) ++#define VIU_OSD2_HL1_V_START_END (0x1a34) ++#define P_VIU_OSD2_HL1_V_START_END (volatile unsigned int *)((0x1a34 << 2) + 0xff900000) ++#define VIU_OSD2_HL2_H_START_END (0x1a35) ++#define P_VIU_OSD2_HL2_H_START_END (volatile unsigned int *)((0x1a35 << 2) + 0xff900000) ++#define VIU_OSD2_HL2_V_START_END (0x1a36) ++#define P_VIU_OSD2_HL2_V_START_END (volatile unsigned int *)((0x1a36 << 2) + 0xff900000) ++// Bit 31:24 RW, Y or R ++// Bit 23:16 RW, Cb or G ++// Bit 15: 8 RW, Cr or B ++// Bit 7: 0 RW, Alpha ++#define VIU_OSD2_TCOLOR_AG0 (0x1a37) ++#define P_VIU_OSD2_TCOLOR_AG0 (volatile unsigned int *)((0x1a37 << 2) + 0xff900000) ++#define VIU_OSD2_TCOLOR_AG1 (0x1a38) ++#define P_VIU_OSD2_TCOLOR_AG1 (volatile unsigned int *)((0x1a38 << 2) + 0xff900000) ++#define VIU_OSD2_TCOLOR_AG2 (0x1a39) ++#define P_VIU_OSD2_TCOLOR_AG2 (volatile unsigned int *)((0x1a39 << 2) + 0xff900000) ++#define VIU_OSD2_TCOLOR_AG3 (0x1a3a) ++#define P_VIU_OSD2_TCOLOR_AG3 (volatile unsigned int *)((0x1a3a << 2) + 0xff900000) ++// Bit 31:24 Reserved ++// Bit 23:16 RW, tbl_addr ++// Bit 15 RW, little_endian: 0=big endian, 1=little endian ++// Bit 14 RW, rpt_y ++// Bit 13:12 RW, interp_ctrl. 0x=No interpolation; 10=Interpolate with previous ++// pixel; 11=Interpolate with the average value ++// between previous and next pixel. ++// Bit 11: 8 RW, osd_blk_mode ++// Bit 7 RW, rgb_en ++// Bit 6 RW, tc_alpha_en ++// Bit 5: 2 RW, color_matrix ++// Bit 1 RW, interlace_en ++// Bit 0 RW, interlace_sel_odd ++#define VIU_OSD2_BLK0_CFG_W0 (0x1a3b) ++#define P_VIU_OSD2_BLK0_CFG_W0 (volatile unsigned int *)((0x1a3b << 2) + 0xff900000) ++#define VIU_OSD2_BLK1_CFG_W0 (0x1a3f) ++#define P_VIU_OSD2_BLK1_CFG_W0 (volatile unsigned int *)((0x1a3f << 2) + 0xff900000) ++#define VIU_OSD2_BLK2_CFG_W0 (0x1a43) ++#define P_VIU_OSD2_BLK2_CFG_W0 (volatile unsigned int *)((0x1a43 << 2) + 0xff900000) ++#define VIU_OSD2_BLK3_CFG_W0 (0x1a47) ++#define P_VIU_OSD2_BLK3_CFG_W0 (volatile unsigned int *)((0x1a47 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, x_end ++// Bit 15:13 Reserved ++// Bit 12: 0 RW, x_start ++#define VIU_OSD2_BLK0_CFG_W1 (0x1a3c) ++#define P_VIU_OSD2_BLK0_CFG_W1 (volatile unsigned int *)((0x1a3c << 2) + 0xff900000) ++#define VIU_OSD2_BLK1_CFG_W1 (0x1a40) ++#define P_VIU_OSD2_BLK1_CFG_W1 (volatile unsigned int *)((0x1a40 << 2) + 0xff900000) ++#define VIU_OSD2_BLK2_CFG_W1 (0x1a44) ++#define P_VIU_OSD2_BLK2_CFG_W1 (volatile unsigned int *)((0x1a44 << 2) + 0xff900000) ++#define VIU_OSD2_BLK3_CFG_W1 (0x1a48) ++#define P_VIU_OSD2_BLK3_CFG_W1 (volatile unsigned int *)((0x1a48 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, y_end ++// Bit 15:13 Reserved ++// Bit 12: 0 RW, y_start ++#define VIU_OSD2_BLK0_CFG_W2 (0x1a3d) ++#define P_VIU_OSD2_BLK0_CFG_W2 (volatile unsigned int *)((0x1a3d << 2) + 0xff900000) ++#define VIU_OSD2_BLK1_CFG_W2 (0x1a41) ++#define P_VIU_OSD2_BLK1_CFG_W2 (volatile unsigned int *)((0x1a41 << 2) + 0xff900000) ++#define VIU_OSD2_BLK2_CFG_W2 (0x1a45) ++#define P_VIU_OSD2_BLK2_CFG_W2 (volatile unsigned int *)((0x1a45 << 2) + 0xff900000) ++#define VIU_OSD2_BLK3_CFG_W2 (0x1a49) ++#define P_VIU_OSD2_BLK3_CFG_W2 (volatile unsigned int *)((0x1a49 << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, h_end ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, h_start ++#define VIU_OSD2_BLK0_CFG_W3 (0x1a3e) ++#define P_VIU_OSD2_BLK0_CFG_W3 (volatile unsigned int *)((0x1a3e << 2) + 0xff900000) ++#define VIU_OSD2_BLK1_CFG_W3 (0x1a42) ++#define P_VIU_OSD2_BLK1_CFG_W3 (volatile unsigned int *)((0x1a42 << 2) + 0xff900000) ++#define VIU_OSD2_BLK2_CFG_W3 (0x1a46) ++#define P_VIU_OSD2_BLK2_CFG_W3 (volatile unsigned int *)((0x1a46 << 2) + 0xff900000) ++#define VIU_OSD2_BLK3_CFG_W3 (0x1a4a) ++#define P_VIU_OSD2_BLK3_CFG_W3 (volatile unsigned int *)((0x1a4a << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, v_end ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, v_start ++#define VIU_OSD2_BLK0_CFG_W4 (0x1a64) ++#define P_VIU_OSD2_BLK0_CFG_W4 (volatile unsigned int *)((0x1a64 << 2) + 0xff900000) ++#define VIU_OSD2_BLK1_CFG_W4 (0x1a65) ++#define P_VIU_OSD2_BLK1_CFG_W4 (volatile unsigned int *)((0x1a65 << 2) + 0xff900000) ++#define VIU_OSD2_BLK2_CFG_W4 (0x1a66) ++#define P_VIU_OSD2_BLK2_CFG_W4 (volatile unsigned int *)((0x1a66 << 2) + 0xff900000) ++#define VIU_OSD2_BLK3_CFG_W4 (0x1a67) ++#define P_VIU_OSD2_BLK3_CFG_W4 (volatile unsigned int *)((0x1a67 << 2) + 0xff900000) ++// Bit 31 RW, burst_len_sel[2] of [2:0] ++// Bit 30 RW, byte_swap: In addition to endian control, further define ++// whether to swap upper and lower byte within a 16-bit mem word. ++// 0=No swap; 1=Swap data[15:0] to be {data[7:0], data[15:8]} ++// Bit 29 RW, div_swap : swap the 2 64bits words in 128 bit word ++// Bit 28:24 RW, fifo_lim : when osd fifo is small than the fifo_lim*16, closed the rq port of osd_rd_mif ++// Bit 23:22 RW, fifo_ctrl: 00 : for 1 word in 1 burst , 01 : for 2words in 1burst, 10: for 4words in 1burst, 11: reserved ++// Bit 21:20 R, fifo_st. 0=IDLE, 1=FILL, 2=ABORT ++// Bit 19 R, fifo_overflow ++// ++// Bit 18:12 RW, fifo_depth_val, max value=64: set actual fifo depth to fifo_depth_val*8. ++// Bit 11:10 RW, burst_len_sel[1:0] of [2:0]. 0=24(default), 1=32, 2=48, 3=64, 4=96, 5=128. ++// Bit 9: 5 RW, hold_fifo_lines[4:0] ++// Bit 4 RW, clear_err: one pulse to clear fifo_overflow ++// Bit 3 RW, fifo_sync_rst ++// Bit 2: 1 RW, endian ++// Bit 0 RW, urgent ++#define VIU_OSD2_FIFO_CTRL_STAT (0x1a4b) ++#define P_VIU_OSD2_FIFO_CTRL_STAT (volatile unsigned int *)((0x1a4b << 2) + 0xff900000) ++// Bit 31:24 R, Y or R ++// Bit 23:16 R, Cb or G ++// Bit 15: 8 R, Cr or B ++// Bit 7: 0 R, Output Alpha[8:1] ++#define VIU_OSD2_TEST_RDDATA (0x1a4c) ++#define P_VIU_OSD2_TEST_RDDATA (volatile unsigned int *)((0x1a4c << 2) + 0xff900000) ++// Bit 15 RW, prot_en: 1=Borrow PROT's FIFO storage, either for rotate or non-rotate. ++// Bit 12: 0 RW, effective FIFO size when prot_en=1. ++#define VIU_OSD2_PROT_CTRL (0x1a4e) ++#define P_VIU_OSD2_PROT_CTRL (volatile unsigned int *)((0x1a4e << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// VD1 path ++//------------------------------------------------------------------------------ ++#define VD1_IF0_GEN_REG (0x1a50) ++#define P_VD1_IF0_GEN_REG (volatile unsigned int *)((0x1a50 << 2) + 0xff900000) ++#define VD1_IF0_CANVAS0 (0x1a51) ++#define P_VD1_IF0_CANVAS0 (volatile unsigned int *)((0x1a51 << 2) + 0xff900000) ++#define VD1_IF0_CANVAS1 (0x1a52) ++#define P_VD1_IF0_CANVAS1 (volatile unsigned int *)((0x1a52 << 2) + 0xff900000) ++#define VD1_IF0_LUMA_X0 (0x1a53) ++#define P_VD1_IF0_LUMA_X0 (volatile unsigned int *)((0x1a53 << 2) + 0xff900000) ++#define VD1_IF0_LUMA_Y0 (0x1a54) ++#define P_VD1_IF0_LUMA_Y0 (volatile unsigned int *)((0x1a54 << 2) + 0xff900000) ++#define VD1_IF0_CHROMA_X0 (0x1a55) ++#define P_VD1_IF0_CHROMA_X0 (volatile unsigned int *)((0x1a55 << 2) + 0xff900000) ++#define VD1_IF0_CHROMA_Y0 (0x1a56) ++#define P_VD1_IF0_CHROMA_Y0 (volatile unsigned int *)((0x1a56 << 2) + 0xff900000) ++#define VD1_IF0_LUMA_X1 (0x1a57) ++#define P_VD1_IF0_LUMA_X1 (volatile unsigned int *)((0x1a57 << 2) + 0xff900000) ++#define VD1_IF0_LUMA_Y1 (0x1a58) ++#define P_VD1_IF0_LUMA_Y1 (volatile unsigned int *)((0x1a58 << 2) + 0xff900000) ++#define VD1_IF0_CHROMA_X1 (0x1a59) ++#define P_VD1_IF0_CHROMA_X1 (volatile unsigned int *)((0x1a59 << 2) + 0xff900000) ++#define VD1_IF0_CHROMA_Y1 (0x1a5a) ++#define P_VD1_IF0_CHROMA_Y1 (volatile unsigned int *)((0x1a5a << 2) + 0xff900000) ++#define VD1_IF0_RPT_LOOP (0x1a5b) ++#define P_VD1_IF0_RPT_LOOP (volatile unsigned int *)((0x1a5b << 2) + 0xff900000) ++#define VD1_IF0_LUMA0_RPT_PAT (0x1a5c) ++#define P_VD1_IF0_LUMA0_RPT_PAT (volatile unsigned int *)((0x1a5c << 2) + 0xff900000) ++#define VD1_IF0_CHROMA0_RPT_PAT (0x1a5d) ++#define P_VD1_IF0_CHROMA0_RPT_PAT (volatile unsigned int *)((0x1a5d << 2) + 0xff900000) ++#define VD1_IF0_LUMA1_RPT_PAT (0x1a5e) ++#define P_VD1_IF0_LUMA1_RPT_PAT (volatile unsigned int *)((0x1a5e << 2) + 0xff900000) ++#define VD1_IF0_CHROMA1_RPT_PAT (0x1a5f) ++#define P_VD1_IF0_CHROMA1_RPT_PAT (volatile unsigned int *)((0x1a5f << 2) + 0xff900000) ++#define VD1_IF0_LUMA_PSEL (0x1a60) ++#define P_VD1_IF0_LUMA_PSEL (volatile unsigned int *)((0x1a60 << 2) + 0xff900000) ++#define VD1_IF0_CHROMA_PSEL (0x1a61) ++#define P_VD1_IF0_CHROMA_PSEL (volatile unsigned int *)((0x1a61 << 2) + 0xff900000) ++#define VD1_IF0_DUMMY_PIXEL (0x1a62) ++#define P_VD1_IF0_DUMMY_PIXEL (volatile unsigned int *)((0x1a62 << 2) + 0xff900000) ++#define VD1_IF0_LUMA_FIFO_SIZE (0x1a63) ++#define P_VD1_IF0_LUMA_FIFO_SIZE (volatile unsigned int *)((0x1a63 << 2) + 0xff900000) ++#define VD1_IF0_RANGE_MAP_Y (0x1a6a) ++#define P_VD1_IF0_RANGE_MAP_Y (volatile unsigned int *)((0x1a6a << 2) + 0xff900000) ++#define VD1_IF0_RANGE_MAP_CB (0x1a6b) ++#define P_VD1_IF0_RANGE_MAP_CB (volatile unsigned int *)((0x1a6b << 2) + 0xff900000) ++#define VD1_IF0_RANGE_MAP_CR (0x1a6c) ++#define P_VD1_IF0_RANGE_MAP_CR (volatile unsigned int *)((0x1a6c << 2) + 0xff900000) ++#define VD1_IF0_GEN_REG2 (0x1a6d) ++#define P_VD1_IF0_GEN_REG2 (volatile unsigned int *)((0x1a6d << 2) + 0xff900000) ++#define VD1_IF0_PROT_CNTL (0x1a6e) ++#define P_VD1_IF0_PROT_CNTL (volatile unsigned int *)((0x1a6e << 2) + 0xff900000) ++#define VD1_IF0_URGENT_CTRL (0x1a6f) ++#define P_VD1_IF0_URGENT_CTRL (volatile unsigned int *)((0x1a6f << 2) + 0xff900000) ++//Bit 31 it true, disable clock, otherwise enable clock ++//Bit 30 soft rst bit ++//Bit 28 if true, horizontal formatter use repeating to generete pixel, otherwise use bilinear interpolation ++//Bit 27:24 horizontal formatter initial phase ++//Bit 23 horizontal formatter repeat pixel 0 enable ++//Bit 22:21 horizontal Y/C ratio, 00: 1:1, 01: 2:1, 10: 4:1 ++//Bit 20 horizontal formatter enable ++//Bit 19 if true, always use phase0 while vertical formater, meaning always ++// repeat data, no interpolation ++//Bit 18 if true, disable vertical formatter chroma repeat last line ++//Bit 17 veritcal formatter dont need repeat line on phase0, 1: enable, 0: disable ++//Bit 16 veritcal formatter repeat line 0 enable ++//Bit 15:12 vertical formatter skip line num at the beginning ++//Bit 11:8 vertical formatter initial phase ++//Bit 7:1 vertical formatter phase step (3.4) ++//Bit 0 vertical formatter enable ++#define VIU_VD1_FMT_CTRL (0x1a68) ++#define P_VIU_VD1_FMT_CTRL (volatile unsigned int *)((0x1a68 << 2) + 0xff900000) ++//Bit 27:16 horizontal formatter width ++//Bit 11:0 vertical formatter width ++#define VIU_VD1_FMT_W (0x1a69) ++#define P_VIU_VD1_FMT_W (volatile unsigned int *)((0x1a69 << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// VD2 path ++//------------------------------------------------------------------------------ ++#define VD2_IF0_GEN_REG (0x1a70) ++#define P_VD2_IF0_GEN_REG (volatile unsigned int *)((0x1a70 << 2) + 0xff900000) ++#define VD2_IF0_CANVAS0 (0x1a71) ++#define P_VD2_IF0_CANVAS0 (volatile unsigned int *)((0x1a71 << 2) + 0xff900000) ++#define VD2_IF0_CANVAS1 (0x1a72) ++#define P_VD2_IF0_CANVAS1 (volatile unsigned int *)((0x1a72 << 2) + 0xff900000) ++#define VD2_IF0_LUMA_X0 (0x1a73) ++#define P_VD2_IF0_LUMA_X0 (volatile unsigned int *)((0x1a73 << 2) + 0xff900000) ++#define VD2_IF0_LUMA_Y0 (0x1a74) ++#define P_VD2_IF0_LUMA_Y0 (volatile unsigned int *)((0x1a74 << 2) + 0xff900000) ++#define VD2_IF0_CHROMA_X0 (0x1a75) ++#define P_VD2_IF0_CHROMA_X0 (volatile unsigned int *)((0x1a75 << 2) + 0xff900000) ++#define VD2_IF0_CHROMA_Y0 (0x1a76) ++#define P_VD2_IF0_CHROMA_Y0 (volatile unsigned int *)((0x1a76 << 2) + 0xff900000) ++#define VD2_IF0_LUMA_X1 (0x1a77) ++#define P_VD2_IF0_LUMA_X1 (volatile unsigned int *)((0x1a77 << 2) + 0xff900000) ++#define VD2_IF0_LUMA_Y1 (0x1a78) ++#define P_VD2_IF0_LUMA_Y1 (volatile unsigned int *)((0x1a78 << 2) + 0xff900000) ++#define VD2_IF0_CHROMA_X1 (0x1a79) ++#define P_VD2_IF0_CHROMA_X1 (volatile unsigned int *)((0x1a79 << 2) + 0xff900000) ++#define VD2_IF0_CHROMA_Y1 (0x1a7a) ++#define P_VD2_IF0_CHROMA_Y1 (volatile unsigned int *)((0x1a7a << 2) + 0xff900000) ++#define VD2_IF0_RPT_LOOP (0x1a7b) ++#define P_VD2_IF0_RPT_LOOP (volatile unsigned int *)((0x1a7b << 2) + 0xff900000) ++#define VD2_IF0_LUMA0_RPT_PAT (0x1a7c) ++#define P_VD2_IF0_LUMA0_RPT_PAT (volatile unsigned int *)((0x1a7c << 2) + 0xff900000) ++#define VD2_IF0_CHROMA0_RPT_PAT (0x1a7d) ++#define P_VD2_IF0_CHROMA0_RPT_PAT (volatile unsigned int *)((0x1a7d << 2) + 0xff900000) ++#define VD2_IF0_LUMA1_RPT_PAT (0x1a7e) ++#define P_VD2_IF0_LUMA1_RPT_PAT (volatile unsigned int *)((0x1a7e << 2) + 0xff900000) ++#define VD2_IF0_CHROMA1_RPT_PAT (0x1a7f) ++#define P_VD2_IF0_CHROMA1_RPT_PAT (volatile unsigned int *)((0x1a7f << 2) + 0xff900000) ++#define VD2_IF0_LUMA_PSEL (0x1a80) ++#define P_VD2_IF0_LUMA_PSEL (volatile unsigned int *)((0x1a80 << 2) + 0xff900000) ++#define VD2_IF0_CHROMA_PSEL (0x1a81) ++#define P_VD2_IF0_CHROMA_PSEL (volatile unsigned int *)((0x1a81 << 2) + 0xff900000) ++#define VD2_IF0_DUMMY_PIXEL (0x1a82) ++#define P_VD2_IF0_DUMMY_PIXEL (volatile unsigned int *)((0x1a82 << 2) + 0xff900000) ++#define VD2_IF0_LUMA_FIFO_SIZE (0x1a83) ++#define P_VD2_IF0_LUMA_FIFO_SIZE (volatile unsigned int *)((0x1a83 << 2) + 0xff900000) ++#define VD2_IF0_RANGE_MAP_Y (0x1a8a) ++#define P_VD2_IF0_RANGE_MAP_Y (volatile unsigned int *)((0x1a8a << 2) + 0xff900000) ++#define VD2_IF0_RANGE_MAP_CB (0x1a8b) ++#define P_VD2_IF0_RANGE_MAP_CB (volatile unsigned int *)((0x1a8b << 2) + 0xff900000) ++#define VD2_IF0_RANGE_MAP_CR (0x1a8c) ++#define P_VD2_IF0_RANGE_MAP_CR (volatile unsigned int *)((0x1a8c << 2) + 0xff900000) ++#define VD2_IF0_GEN_REG2 (0x1a8d) ++#define P_VD2_IF0_GEN_REG2 (volatile unsigned int *)((0x1a8d << 2) + 0xff900000) ++#define VD2_IF0_PROT_CNTL (0x1a8e) ++#define P_VD2_IF0_PROT_CNTL (volatile unsigned int *)((0x1a8e << 2) + 0xff900000) ++#define VD2_IF0_URGENT_CTRL (0x1a8f) ++#define P_VD2_IF0_URGENT_CTRL (volatile unsigned int *)((0x1a8f << 2) + 0xff900000) ++//Bit 31 it true, disable clock, otherwise enable clock ++//Bit 30 soft rst bit ++//Bit 28 if true, horizontal formatter use repeating to generete pixel, otherwise use bilinear interpolation ++//Bit 27:24 horizontal formatter initial phase ++//Bit 23 horizontal formatter repeat pixel 0 enable ++//Bit 22:21 horizontal Y/C ratio, 00: 1:1, 01: 2:1, 10: 4:1 ++//Bit 20 horizontal formatter enable ++//Bit 17 veritcal formatter dont need repeat line on phase0, 1: enable, 0: disable ++//Bit 16 veritcal formatter repeat line 0 enable ++//Bit 15:12 vertical formatter skip line num at the beginning ++//Bit 11:8 vertical formatter initial phase ++//Bit 7:1 vertical formatter phase step (3.4) ++//Bit 0 vertical formatter enable ++#define VIU_VD2_FMT_CTRL (0x1a88) ++#define P_VIU_VD2_FMT_CTRL (volatile unsigned int *)((0x1a88 << 2) + 0xff900000) ++//Bit 27:16 horizontal formatter width ++//Bit 11:0 vertical formatter width ++#define VIU_VD2_FMT_W (0x1a89) ++#define P_VIU_VD2_FMT_W (volatile unsigned int *)((0x1a89 << 2) + 0xff900000) ++// //todo add comment ++#define LDIM_STTS_GCLK_CTRL0 (0x1ac0) ++#define P_LDIM_STTS_GCLK_CTRL0 (volatile unsigned int *)((0x1ac0 << 2) + 0xff900000) ++#define LDIM_STTS_CTRL0 (0x1ac1) ++#define P_LDIM_STTS_CTRL0 (volatile unsigned int *)((0x1ac1 << 2) + 0xff900000) ++#define LDIM_STTS_WIDTHM1_HEIGHTM1 (0x1ac2) ++#define P_LDIM_STTS_WIDTHM1_HEIGHTM1 (volatile unsigned int *)((0x1ac2 << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_COEF00_01 (0x1ac3) ++#define P_LDIM_STTS_MATRIX_COEF00_01 (volatile unsigned int *)((0x1ac3 << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_COEF02_10 (0x1ac4) ++#define P_LDIM_STTS_MATRIX_COEF02_10 (volatile unsigned int *)((0x1ac4 << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_COEF11_12 (0x1ac5) ++#define P_LDIM_STTS_MATRIX_COEF11_12 (volatile unsigned int *)((0x1ac5 << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_COEF20_21 (0x1ac6) ++#define P_LDIM_STTS_MATRIX_COEF20_21 (volatile unsigned int *)((0x1ac6 << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_COEF22 (0x1ac7) ++#define P_LDIM_STTS_MATRIX_COEF22 (volatile unsigned int *)((0x1ac7 << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_OFFSET0_1 (0x1ac8) ++#define P_LDIM_STTS_MATRIX_OFFSET0_1 (volatile unsigned int *)((0x1ac8 << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_OFFSET2 (0x1ac9) ++#define P_LDIM_STTS_MATRIX_OFFSET2 (volatile unsigned int *)((0x1ac9 << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_PRE_OFFSET0_1 (0x1aca) ++#define P_LDIM_STTS_MATRIX_PRE_OFFSET0_1 (volatile unsigned int *)((0x1aca << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_PRE_OFFSET2 (0x1acb) ++#define P_LDIM_STTS_MATRIX_PRE_OFFSET2 (volatile unsigned int *)((0x1acb << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_HL_COLOR (0x1acc) ++#define P_LDIM_STTS_MATRIX_HL_COLOR (volatile unsigned int *)((0x1acc << 2) + 0xff900000) ++#define LDIM_STTS_MATRIX_PROBE_POS (0x1acd) ++#define P_LDIM_STTS_MATRIX_PROBE_POS (volatile unsigned int *)((0x1acd << 2) + 0xff900000) ++// ++// //read only ++#define LDIM_STTS_MATRIX_PROBE_COLOR (0x1ace) ++#define P_LDIM_STTS_MATRIX_PROBE_COLOR (volatile unsigned int *)((0x1ace << 2) + 0xff900000) ++// ++// //Bit 31, local dimming statistic enable ++// //Bit 29, 1: output region histogram 16bit 0:output region histogram 20bit ++// //Bit 28, eol enable ++// //Bit 27:25, vertical line overlap number for max finding ++// //Bit 24:22, horizontal pixel overlap number, 0: 17 pix, 1: 9 pix, 2: 5 pix, 3: 3 pix, 4: 0 pix ++// //Bit 20, 1,2,1 low pass filter enable before max/hist statistic ++// //Bit 19:16, region H/V position index, refer to VDIN_LDIM_STTS_HIST_SET_REGION ++// //Bit 15:14, 1: region read index auto increase per block read finished to VDIN_LDIM_STTS_HIST_READ_REGION ++// // 2: region read index auto increase per read finished to VDIN_LDIM_STTS_HIST_READ_REGION ++// // 0/3: disable read index self increase ++// //Bit 13:8, region read sub index, which mux the hist & max-finding result to cbus port, refer to LDIM_STTS_HIST_READ_REGION ++// //Bit 6:0, region read index ++#define LDIM_STTS_HIST_REGION_IDX (0x1ad0) ++#define P_LDIM_STTS_HIST_REGION_IDX (volatile unsigned int *)((0x1ad0 << 2) + 0xff900000) ++//Bit 28:0, if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h0: read/write hvstart0 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h1: read/write hend01 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h2: read/write vend01 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h3: read/write hend23 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h4: read/write vend23 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h5: read/write hend45 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h6: read/write vend45 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'd7: read/write hend67 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h8: read/write vend67 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'h9: read/write hend89 ++// if VDIN_LDIM_STTS_HIST_REGION_IDX[19:16] == 5'ha: read/write vend89 ++// //hvstart0, Bit 28:16 row0 vstart, Bit 12:0 col0 hstart ++// //hend01, Bit 28:16 col1 hend, Bit 12:0 col0 hend ++// //vend01, Bit 28:16 row1 vend, Bit 12:0 row0 vend ++// //hend23, Bit 28:16 col3 hend, Bit 12:0 col2 hend ++// //vend23, Bit 28:16 row3 vend, Bit 12:0 row2 vend ++// //hend45, Bit 28:16 col5 hend, Bit 12:0 col4 hend ++// //vend45, Bit 28:16 row5 vend, Bit 12:0 row4 vend ++// //hend67, Bit 28:16 col7 hend, Bit 12:0 col6 hend ++// //vend67, Bit 28:16 row7 vend, Bit 12:0 row6 vend ++// //hend89, Bit 28:16 col9 hend, Bit 12:0 col8 hend ++// //vend89, Bit 28:16 row9 vend, Bit 12:0 row8 vend ++#define LDIM_STTS_HIST_SET_REGION (0x1ad1) ++#define P_LDIM_STTS_HIST_SET_REGION (volatile unsigned int *)((0x1ad1 << 2) + 0xff900000) ++// ++// //if LDIM_STTS_HIST_REGION_IDX[29] == 0, that is output hist with 20bit data. ++// //if LDIM_STTS_HIST_REGION_IDX[21] == 0, that is output 16hist bins in comp 0. ++// //output sequence as rd_sub_idx from 0~47: {max_comp2, comp0_hist0}, {max_comp1, comp0_hist1}, {max_comp0, comp0_hist2}, ++// // comp0_hist3 ... comp2_hist16 ++// //if LDIM_STTS_HIST_REGION_IDX[29] == 1, that is output hist with 16bit data. ++// //if LDIM_STTS_HIST_REGION_IDX[21] == 0, that is output 16hist bins in comp 0. ++// //output sequence as rd_sub_idx from 0~47: {max_comp2, max_comp1, max_comp0}, comp0_hist0, comp0_hist1, comp0_hist2 ++// // comp0_hist3 ... comp2_hist16 ++// //if LDIM_STTS_HIST_REGION_IDX[29] == 0, that is output hist with 20bit data. ++// //if LDIM_STTS_HIST_REGION_IDX[21] == 1, that is output 32hist bins in comp 0. ++// //output sequence as rd_sub_idx from 0~47: {max_comp2, max_comp1, max_comp0}, comp0_hist0, comp0_hist1, comp0_hist2 ++// // comp0_hist3 ...comp0_hist31 ... comp1_hist16 ++// ++#define LDIM_STTS_HIST_READ_REGION (0x1ad2) ++#define P_LDIM_STTS_HIST_READ_REGION (volatile unsigned int *)((0x1ad2 << 2) + 0xff900000) ++#define LDIM_STTS_HIST_START_RD_REGION (0x1ad3) ++#define P_LDIM_STTS_HIST_START_RD_REGION (volatile unsigned int *)((0x1ad3 << 2) + 0xff900000) ++// //bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 , low threshold for di if1 chroma path ++// //bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 , low threshold for di if1 luma path ++// `define DI_IF1_URGENT_CTRL 8'ha3 ++// //bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 , low threshold for di inp chroma path ++// //bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 , low threshold for di inp luma path ++// `define DI_INP_URGENT_CTRL 8'ha4 ++// //bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 , low threshold for di mem chroma path ++// //bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 , low threshold for di mem luma path ++// `define DI_MEM_URGENT_CTRL 8'ha5 ++// //bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 , low threshold for di chan2 chroma path ++// //bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 , low threshold for di chan2 luma path ++// `define DI_CHAN2_URGENT_CTRL 8'ha6 ++#define VD1_IF0_GEN_REG3 (0x1aa7) ++#define P_VD1_IF0_GEN_REG3 (volatile unsigned int *)((0x1aa7 << 2) + 0xff900000) ++//bit 31:1, reversed ++//bit 0, cntl_64bit_rev ++#define VD2_IF0_GEN_REG3 (0x1aa8) ++#define P_VD2_IF0_GEN_REG3 (volatile unsigned int *)((0x1aa8 << 2) + 0xff900000) ++//bit 31:1, reversed ++//bit 0, cntl_64bit_rev ++#define OSD_BLENDO_H_START_END (0x1aa9) ++#define P_OSD_BLENDO_H_START_END (volatile unsigned int *)((0x1aa9 << 2) + 0xff900000) ++//OSD blending output horizontal start and end ++//Bit 28:16 start ++//Bit 12:0 end ++#define OSD_BLENDO_V_START_END (0x1aaa) ++#define P_OSD_BLENDO_V_START_END (volatile unsigned int *)((0x1aaa << 2) + 0xff900000) ++//OSD blending output vertical start and end ++//Bit 28:16 start ++//Bit 12:0 end ++#define OSD_BLEND_GEN_CTRL0 (0x1aab) ++#define P_OSD_BLEND_GEN_CTRL0 (volatile unsigned int *)((0x1aab << 2) + 0xff900000) ++//Bit 31:23 const_out_alpha ++//Bit 22:14 const_op_alpha ++//Bit 13 if true, OSD2 foreground otherwise OSD1 foreground ++//Bit 12 OSD BLENDing enable ++//Bit 9:8 alpha_op_sel 00: output alpha use osd1_alpha, 01: use osd2_alpha, else use const_out_alpha ++//Bit 5:4 color_op_sel 00: use osd1_alpha, 01: use osd2_alpha, else use const_op_alpha ++//Bit 1 OSD2 enable ++//Bit 0 OSD1 enable ++#define OSD_BLEND_GEN_CTRL1 (0x1aac) ++#define P_OSD_BLEND_GEN_CTRL1 (volatile unsigned int *)((0x1aac << 2) + 0xff900000) ++//Bit 31 osd1_alpha_premult, if true, osd1 alpha is premultipiled ++//Bit 30 osd2_alpha_premult, if true, osd2 alpha is premultipiled ++//Bit 23:16 osd blending hold lines ++//Bit 13:0 osd blending h_size ++#define OSD_BLEND_DUMMY_DATA (0x1aad) ++#define P_OSD_BLEND_DUMMY_DATA (volatile unsigned int *)((0x1aad << 2) + 0xff900000) ++//Bit 29:20 Y/R ++//Bit 19:10 CB/G ++//Bit 9:0 Cr/B ++#define OSD_BLEND_CURRENT_XY (0x1aae) ++#define P_OSD_BLEND_CURRENT_XY (volatile unsigned int *)((0x1aae << 2) + 0xff900000) ++//Bit 28:16 current_x ++//Bit 12:0 current_y ++//Bit 7, highlight_en ++//Bit 6 probe_post, if true, probe pixel data after matrix, otherwise probe pixel data before matrix ++//Bit 5:4 probe_sel, 00: select matrix 0, 01: select matrix 1, otherwise select nothing ++//Bit 3:2, matrix coef idx selection, 00: select mat0, 01: select mat1, otherwise slect nothing ++//Bit 1 mat1 conversion matrix enable ++//Bit 0 mat0 conversion matrix enable ++#define VIU_OSD2_MATRIX_CTRL (0x1ab0) ++#define P_VIU_OSD2_MATRIX_CTRL (volatile unsigned int *)((0x1ab0 << 2) + 0xff900000) ++//Bit 28:16 coef00 ++//Bit 12:0 coef01 ++#define VIU_OSD2_MATRIX_COEF00_01 (0x1ab1) ++#define P_VIU_OSD2_MATRIX_COEF00_01 (volatile unsigned int *)((0x1ab1 << 2) + 0xff900000) ++//Bit 28:16 coef02 ++//Bit 12:0 coef10 ++#define VIU_OSD2_MATRIX_COEF02_10 (0x1ab2) ++#define P_VIU_OSD2_MATRIX_COEF02_10 (volatile unsigned int *)((0x1ab2 << 2) + 0xff900000) ++//Bit 28:16 coef11 ++//Bit 12:0 coef12 ++#define VIU_OSD2_MATRIX_COEF11_12 (0x1ab3) ++#define P_VIU_OSD2_MATRIX_COEF11_12 (volatile unsigned int *)((0x1ab3 << 2) + 0xff900000) ++//Bit 28:16 coef20 ++//Bit 12:0 coef21 ++#define VIU_OSD2_MATRIX_COEF20_21 (0x1ab4) ++#define P_VIU_OSD2_MATRIX_COEF20_21 (volatile unsigned int *)((0x1ab4 << 2) + 0xff900000) ++#define VIU_OSD2_MATRIX_COEF22 (0x1ab5) ++#define P_VIU_OSD2_MATRIX_COEF22 (volatile unsigned int *)((0x1ab5 << 2) + 0xff900000) ++//Bit 26:16 offset0 ++//Bit 10:0 offset1 ++#define VIU_OSD2_MATRIX_OFFSET0_1 (0x1ab6) ++#define P_VIU_OSD2_MATRIX_OFFSET0_1 (volatile unsigned int *)((0x1ab6 << 2) + 0xff900000) ++//Bit 10:0 offset2 ++#define VIU_OSD2_MATRIX_OFFSET2 (0x1ab7) ++#define P_VIU_OSD2_MATRIX_OFFSET2 (volatile unsigned int *)((0x1ab7 << 2) + 0xff900000) ++//Bit 26:16 pre_offset0 ++//Bit 10:0 pre_offset1 ++#define VIU_OSD2_MATRIX_PRE_OFFSET0_1 (0x1ab8) ++#define P_VIU_OSD2_MATRIX_PRE_OFFSET0_1 (volatile unsigned int *)((0x1ab8 << 2) + 0xff900000) ++//Bit 10:0 pre_offset2 ++#define VIU_OSD2_MATRIX_PRE_OFFSET2 (0x1ab9) ++#define P_VIU_OSD2_MATRIX_PRE_OFFSET2 (volatile unsigned int *)((0x1ab9 << 2) + 0xff900000) ++//Read only ++//Bit 29:20 component 0 ++//Bit 19:10 component 1 ++//Bit 9:0 component 2 ++#define VIU_OSD2_MATRIX_PROBE_COLOR (0x1aba) ++#define P_VIU_OSD2_MATRIX_PROBE_COLOR (volatile unsigned int *)((0x1aba << 2) + 0xff900000) ++//Bit 23:16 component 0 ++//Bit 15:8 component 1 ++//Bit 7:0 component 2 ++#define VIU_OSD2_MATRIX_HL_COLOR (0x1abb) ++#define P_VIU_OSD2_MATRIX_HL_COLOR (volatile unsigned int *)((0x1abb << 2) + 0xff900000) ++//28:16 probe x, postion ++//12:0 probe y, position ++#define VIU_OSD2_MATRIX_PROBE_POS (0x1abc) ++#define P_VIU_OSD2_MATRIX_PROBE_POS (volatile unsigned int *)((0x1abc << 2) + 0xff900000) ++//the segment of afbc dec is 8'he0-8'hfe ++//`define AFBC_DEC_OFFSET 8'he0 ++// ++// Reading file: afbc_dec_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++////===============================//// ++//// reg ++////===============================//// ++#define AFBC_ENABLE (0x1ae0) ++#define P_AFBC_ENABLE (volatile unsigned int *)((0x1ae0 << 2) + 0xff900000) ++//Bit 31:1, reserved ++//Bit 8, dec_enable unsigned , default = 0 ++//Bit 7:1, reserved ++//Bit 0, frm_start unsigned , default = 0 ++#define AFBC_MODE (0x1ae1) ++#define P_AFBC_MODE (volatile unsigned int *)((0x1ae1 << 2) + 0xff900000) ++//Bit 31, soft_reset the use as go_field ++//Bit 30, reserved ++//Bit 29, ddr_sz_mode uns, default = 0 , 0: fixed block ddr size 1 : unfixed block ddr size; ++//Bit 28, blk_mem_mode uns, default = 0 , 0: fixed 16x128 size; 1 : fixed 12x128 size ++//Bit 27:26, rev_mode uns, default = 0 , reverse mode ++//Bit 25:24, mif_urgent uns, default = 3 , info mif and data mif urgent ++//Bit 22:16, hold_line_num ++//Bit 15:14, burst_len uns, default = 1, 0: burst1 1:burst2 2:burst4 ++//Bit 13:8, compbits_yuv uns, default = 0 , ++// bit 1:0,: y component bitwidth : 00-8bit 01-9bit 10-10bit ++// bit 3:2,: u component bitwidth : 00-8bit 01-9bit 10-10bit ++// bit 5:4,: v component bitwidth : 00-8bit 01-9bit 10-10bit ++//Bit 7:6, vert_skip_y uns, default = 0 , luma vert skip mode : 00-y0y1, 01-y0, 10-y1, 11-(y0+y1)/2 ++//Bit 5:4, horz_skip_y uns, default = 0 , luma horz skip mode : 00-y0y1, 01-y0, 10-y1, 11-(y0+y1)/2 ++//Bit 3:2, vert_skip_uv uns, default = 0 , chroma vert skip mode : 00-y0y1, 01-y0, 10-y1, 11-(y0+y1)/2 ++//Bit 1:0, horz_skip_uv uns, default = 0 , chroma horz skip mode : 00-y0y1, 01-y0, 10-y1, 11-(y0+y1)/2 ++#define AFBC_SIZE_IN (0x1ae2) ++#define P_AFBC_SIZE_IN (volatile unsigned int *)((0x1ae2 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16 hsize_in uns, default = 1920 , pic horz size in unit: pixel ++//Bit 15:13, reserved ++//Bit 12:0, vsize_in uns, default = 1080 , pic vert size in unit: pixel ++#define AFBC_DEC_DEF_COLOR (0x1ae3) ++#define P_AFBC_DEC_DEF_COLOR (volatile unsigned int *)((0x1ae3 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 29:20, def_color_y uns, default = 0, afbc dec y default setting value ++//Bit 19:10, def_color_u uns, default = 0, afbc dec u default setting value ++//Bit 9: 0, def_color_v uns, default = 0, afbc dec v default setting value ++#define AFBC_CONV_CTRL (0x1ae4) ++#define P_AFBC_CONV_CTRL (volatile unsigned int *)((0x1ae4 << 2) + 0xff900000) ++//Bit 31:12, reserved ++//Bit 11: 0, conv_lbuf_len uns, default = 256, unit=16 pixel need to set = 2^n ++#define AFBC_LBUF_DEPTH (0x1ae5) ++#define P_AFBC_LBUF_DEPTH (volatile unsigned int *)((0x1ae5 << 2) + 0xff900000) ++//Bit 31:28, reserved ++//Bit 27:16, dec_lbuf_depth uns, default = 128; // unit= 8 pixel ++//Bit 15:12, reserved ++//Bit 11:0, mif_lbuf_depth uns, default = 128; ++#define AFBC_HEAD_BADDR (0x1ae6) ++#define P_AFBC_HEAD_BADDR (volatile unsigned int *)((0x1ae6 << 2) + 0xff900000) ++//Bit 31:0, mif_info_baddr uns, default = 32'h0; ++#define AFBC_BODY_BADDR (0x1ae7) ++#define P_AFBC_BODY_BADDR (volatile unsigned int *)((0x1ae7 << 2) + 0xff900000) ++//Bit 31:0, mif_data_baddr uns, default = 32'h0001_0000; ++#define AFBC_SIZE_OUT (0x1ae8) ++#define P_AFBC_SIZE_OUT (volatile unsigned int *)((0x1ae8 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, hsize_out uns, default = 1920 ; // unit: 1 pixel ++//Bit 15:13, reserved ++//Bit 12:0, vsize_out uns, default = 1080 ; // unit: 1 pixel ++#define AFBC_OUT_YSCOPE (0x1ae9) ++#define P_AFBC_OUT_YSCOPE (volatile unsigned int *)((0x1ae9 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, out_vert_bgn uns, default = 0 ; // unit: 1 pixel ++//Bit 15:13, reserved ++//Bit 12:0, out_vert_end uns, default = 1079 ; // unit: 1 pixel ++#define AFBC_STAT (0x1aea) ++#define P_AFBC_STAT (volatile unsigned int *)((0x1aea << 2) + 0xff900000) ++//Bit 31:1, reserved ++//Bit 0, frm_end_stat uns, frame end status ++#define AFBC_VD_CFMT_CTRL (0x1aeb) ++#define P_AFBC_VD_CFMT_CTRL (volatile unsigned int *)((0x1aeb << 2) + 0xff900000) ++//Bit 31 it true, disable clock, otherwise enable clock ++//Bit 30 soft rst bit ++//Bit 28 if true, horizontal formatter use repeating to generete pixel, otherwise use bilinear interpolation ++//Bit 27:24 horizontal formatter initial phase ++//Bit 23 horizontal formatter repeat pixel 0 enable ++//Bit 22:21 horizontal Y/C ratio, 00: 1:1, 01: 2:1, 10: 4:1 ++//Bit 20 horizontal formatter enable ++//Bit 19 if true, always use phase0 while vertical formater, meaning always ++// repeat data, no interpolation ++//Bit 18 if true, disable vertical formatter chroma repeat last line ++//Bit 17 veritcal formatter dont need repeat line on phase0, 1: enable, 0: disable ++//Bit 16 veritcal formatter repeat line 0 enable ++//Bit 15:12 vertical formatter skip line num at the beginning ++//Bit 11:8 vertical formatter initial phase ++//Bit 7:1 vertical formatter phase step (3.4) ++//Bit 0 vertical formatter enable ++#define AFBC_VD_CFMT_W (0x1aec) ++#define P_AFBC_VD_CFMT_W (volatile unsigned int *)((0x1aec << 2) + 0xff900000) ++//Bit 27:16 horizontal formatter width ++//Bit 11:0 vertical formatter width ++#define AFBC_MIF_HOR_SCOPE (0x1aed) ++#define P_AFBC_MIF_HOR_SCOPE (volatile unsigned int *)((0x1aed << 2) + 0xff900000) ++//Bit 31:26, reserved ++//Bit 25:16, mif_blk_bgn_h uns, default = 0 ; // unit: 32 pixel/block hor ++//Bit 15:10, reserved ++//Bit 9: 0, mif_blk_end_h uns, default = 59 ; // unit: 32 pixel/block hor ++#define AFBC_MIF_VER_SCOPE (0x1aee) ++#define P_AFBC_MIF_VER_SCOPE (volatile unsigned int *)((0x1aee << 2) + 0xff900000) ++//Bit 31:28, reserved ++//Bit 27:16, mif_blk_bgn_v uns, default = 0 ; // unit: 32 pixel/block ver ++//Bit 15:12, reserved ++//Bit 11: 0, mif_blk_end_v uns, default = 269; // unit: 32 pixel/block ver ++#define AFBC_PIXEL_HOR_SCOPE (0x1aef) ++#define P_AFBC_PIXEL_HOR_SCOPE (volatile unsigned int *)((0x1aef << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, dec_pixel_bgn_h uns, default = 0 ; // unit: pixel ++//Bit 15:13, reserved ++//Bit 12: 0, dec_pixel_end_h uns, default = 1919 ; // unit: pixel ++#define AFBC_PIXEL_VER_SCOPE (0x1af0) ++#define P_AFBC_PIXEL_VER_SCOPE (volatile unsigned int *)((0x1af0 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, dec_pixel_bgn_v uns, default = 0 ; // unit: pixel ++//Bit 15:13, reserved ++//Bit 12: 0, dec_pixel_end_v uns, default = 1079 ; // unit: pixel ++#define AFBC_VD_CFMT_H (0x1af1) ++#define P_AFBC_VD_CFMT_H (volatile unsigned int *)((0x1af1 << 2) + 0xff900000) ++//Bit 12:0 vertical formatter height ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: afbc_dec_regs.h ++// ++// ++// Closing file: vregs_clk2.h ++// ++//`define VENC_VCBUS_BASE 8'h1b ++// ++// Reading file: venc_regs.h ++// ++//=========================================================================== ++// Video Interface Registers 0xa00 - 0xbff ++//=========================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: VENC_VCBUS_BASE = 0x1b ++// ----------------------------------------------- ++// bit 15:8 -- vfifo2vd_vd_sel ++// bit 0 -- vfifo2vd_en ++#define ENCP_VFIFO2VD_CTL (0x1b58) ++#define P_ENCP_VFIFO2VD_CTL (volatile unsigned int *)((0x1b58 << 2) + 0xff900000) ++// bit 12:0 -- vfifo2vd_pixel_start ++#define ENCP_VFIFO2VD_PIXEL_START (0x1b59) ++#define P_ENCP_VFIFO2VD_PIXEL_START (volatile unsigned int *)((0x1b59 << 2) + 0xff900000) ++// bit 12:00 -- vfifo2vd_pixel_end ++#define ENCP_VFIFO2VD_PIXEL_END (0x1b5a) ++#define P_ENCP_VFIFO2VD_PIXEL_END (volatile unsigned int *)((0x1b5a << 2) + 0xff900000) ++// bit 10:0 -- vfifo2vd_line_top_start ++#define ENCP_VFIFO2VD_LINE_TOP_START (0x1b5b) ++#define P_ENCP_VFIFO2VD_LINE_TOP_START (volatile unsigned int *)((0x1b5b << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_top_end ++#define ENCP_VFIFO2VD_LINE_TOP_END (0x1b5c) ++#define P_ENCP_VFIFO2VD_LINE_TOP_END (volatile unsigned int *)((0x1b5c << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_bot_start ++#define ENCP_VFIFO2VD_LINE_BOT_START (0x1b5d) ++#define P_ENCP_VFIFO2VD_LINE_BOT_START (volatile unsigned int *)((0x1b5d << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_bot_end ++#define ENCP_VFIFO2VD_LINE_BOT_END (0x1b5e) ++#define P_ENCP_VFIFO2VD_LINE_BOT_END (volatile unsigned int *)((0x1b5e << 2) + 0xff900000) ++// Route the hsync and vsync signals round the chip. There are three ++// sources and users of these signals: VIU, internal video encoder, and ++// the pins on the chip. Some muxing is still being done in the VIU. It ++// was not moved to the venc module so that the same exact VIU code could ++// be used both in Twister and Twister2000. ++// Bit 2: venc_sync_source (1=>pins, 0=>viu) ++// Bit 1: viu_sync_source (1=>pins, 0=>venc) ++// Bit 0: vpins_sync_source (1=>venc, 0=>viu) ++#define VENC_SYNC_ROUTE (0x1b60) ++#define P_VENC_SYNC_ROUTE (volatile unsigned int *)((0x1b60 << 2) + 0xff900000) ++#define VENC_VIDEO_EXSRC (0x1b61) ++#define P_VENC_VIDEO_EXSRC (volatile unsigned int *)((0x1b61 << 2) + 0xff900000) ++#define VENC_DVI_SETTING (0x1b62) ++#define P_VENC_DVI_SETTING (volatile unsigned int *)((0x1b62 << 2) + 0xff900000) ++#define VENC_C656_CTRL (0x1b63) ++#define P_VENC_C656_CTRL (volatile unsigned int *)((0x1b63 << 2) + 0xff900000) ++#define VENC_UPSAMPLE_CTRL0 (0x1b64) ++#define P_VENC_UPSAMPLE_CTRL0 (volatile unsigned int *)((0x1b64 << 2) + 0xff900000) ++#define VENC_UPSAMPLE_CTRL1 (0x1b65) ++#define P_VENC_UPSAMPLE_CTRL1 (volatile unsigned int *)((0x1b65 << 2) + 0xff900000) ++#define VENC_UPSAMPLE_CTRL2 (0x1b66) ++#define P_VENC_UPSAMPLE_CTRL2 (volatile unsigned int *)((0x1b66 << 2) + 0xff900000) ++// Invert control for tcon output ++// bit[15:14] -- vsync, hsync, ++// bit[13:0] -- oev3, oev2, cpv2, cph3, cph2, cph1, oeh, vcom, stv2, stv1, cpv1, oev1, sth1, sth2 ++#define TCON_INVERT_CTL (0x1b67) ++#define P_TCON_INVERT_CTL (volatile unsigned int *)((0x1b67 << 2) + 0xff900000) ++#define VENC_VIDEO_PROG_MODE (0x1b68) ++#define P_VENC_VIDEO_PROG_MODE (volatile unsigned int *)((0x1b68 << 2) + 0xff900000) ++//---- Venc pixel/line info ++#define VENC_ENCI_LINE (0x1b69) ++#define P_VENC_ENCI_LINE (volatile unsigned int *)((0x1b69 << 2) + 0xff900000) ++#define VENC_ENCI_PIXEL (0x1b6a) ++#define P_VENC_ENCI_PIXEL (volatile unsigned int *)((0x1b6a << 2) + 0xff900000) ++#define VENC_ENCP_LINE (0x1b6b) ++#define P_VENC_ENCP_LINE (volatile unsigned int *)((0x1b6b << 2) + 0xff900000) ++#define VENC_ENCP_PIXEL (0x1b6c) ++#define P_VENC_ENCP_PIXEL (volatile unsigned int *)((0x1b6c << 2) + 0xff900000) ++//---- Status ++#define VENC_STATA (0x1b6d) ++#define P_VENC_STATA (volatile unsigned int *)((0x1b6d << 2) + 0xff900000) ++//---- Interrupt setting ++#define VENC_INTCTRL (0x1b6e) ++#define P_VENC_INTCTRL (volatile unsigned int *)((0x1b6e << 2) + 0xff900000) ++#define VENC_INTFLAG (0x1b6f) ++#define P_VENC_INTFLAG (volatile unsigned int *)((0x1b6f << 2) + 0xff900000) ++//--------- Video test configuration ++#define VENC_VIDEO_TST_EN (0x1b70) ++#define P_VENC_VIDEO_TST_EN (volatile unsigned int *)((0x1b70 << 2) + 0xff900000) ++#define VENC_VIDEO_TST_MDSEL (0x1b71) ++#define P_VENC_VIDEO_TST_MDSEL (volatile unsigned int *)((0x1b71 << 2) + 0xff900000) ++#define VENC_VIDEO_TST_Y (0x1b72) ++#define P_VENC_VIDEO_TST_Y (volatile unsigned int *)((0x1b72 << 2) + 0xff900000) ++#define VENC_VIDEO_TST_CB (0x1b73) ++#define P_VENC_VIDEO_TST_CB (volatile unsigned int *)((0x1b73 << 2) + 0xff900000) ++#define VENC_VIDEO_TST_CR (0x1b74) ++#define P_VENC_VIDEO_TST_CR (volatile unsigned int *)((0x1b74 << 2) + 0xff900000) ++#define VENC_VIDEO_TST_CLRBAR_STRT (0x1b75) ++#define P_VENC_VIDEO_TST_CLRBAR_STRT (volatile unsigned int *)((0x1b75 << 2) + 0xff900000) ++#define VENC_VIDEO_TST_CLRBAR_WIDTH (0x1b76) ++#define P_VENC_VIDEO_TST_CLRBAR_WIDTH (volatile unsigned int *)((0x1b76 << 2) + 0xff900000) ++#define VENC_VIDEO_TST_VDCNT_STSET (0x1b77) ++#define P_VENC_VIDEO_TST_VDCNT_STSET (volatile unsigned int *)((0x1b77 << 2) + 0xff900000) ++//----- Video dac setting ++#define VENC_VDAC_DACSEL0 (0x1b78) ++#define P_VENC_VDAC_DACSEL0 (volatile unsigned int *)((0x1b78 << 2) + 0xff900000) ++#define VENC_VDAC_DACSEL1 (0x1b79) ++#define P_VENC_VDAC_DACSEL1 (volatile unsigned int *)((0x1b79 << 2) + 0xff900000) ++#define VENC_VDAC_DACSEL2 (0x1b7a) ++#define P_VENC_VDAC_DACSEL2 (volatile unsigned int *)((0x1b7a << 2) + 0xff900000) ++#define VENC_VDAC_DACSEL3 (0x1b7b) ++#define P_VENC_VDAC_DACSEL3 (volatile unsigned int *)((0x1b7b << 2) + 0xff900000) ++#define VENC_VDAC_DACSEL4 (0x1b7c) ++#define P_VENC_VDAC_DACSEL4 (volatile unsigned int *)((0x1b7c << 2) + 0xff900000) ++#define VENC_VDAC_DACSEL5 (0x1b7d) ++#define P_VENC_VDAC_DACSEL5 (volatile unsigned int *)((0x1b7d << 2) + 0xff900000) ++#define VENC_VDAC_SETTING (0x1b7e) ++#define P_VENC_VDAC_SETTING (volatile unsigned int *)((0x1b7e << 2) + 0xff900000) ++#define VENC_VDAC_TST_VAL (0x1b7f) ++#define P_VENC_VDAC_TST_VAL (volatile unsigned int *)((0x1b7f << 2) + 0xff900000) ++#define VENC_VDAC_DAC0_GAINCTRL (0x1bf0) ++#define P_VENC_VDAC_DAC0_GAINCTRL (volatile unsigned int *)((0x1bf0 << 2) + 0xff900000) ++#define VENC_VDAC_DAC0_OFFSET (0x1bf1) ++#define P_VENC_VDAC_DAC0_OFFSET (volatile unsigned int *)((0x1bf1 << 2) + 0xff900000) ++#define VENC_VDAC_DAC1_GAINCTRL (0x1bf2) ++#define P_VENC_VDAC_DAC1_GAINCTRL (volatile unsigned int *)((0x1bf2 << 2) + 0xff900000) ++#define VENC_VDAC_DAC1_OFFSET (0x1bf3) ++#define P_VENC_VDAC_DAC1_OFFSET (volatile unsigned int *)((0x1bf3 << 2) + 0xff900000) ++#define VENC_VDAC_DAC2_GAINCTRL (0x1bf4) ++#define P_VENC_VDAC_DAC2_GAINCTRL (volatile unsigned int *)((0x1bf4 << 2) + 0xff900000) ++#define VENC_VDAC_DAC2_OFFSET (0x1bf5) ++#define P_VENC_VDAC_DAC2_OFFSET (volatile unsigned int *)((0x1bf5 << 2) + 0xff900000) ++#define VENC_VDAC_DAC3_GAINCTRL (0x1bf6) ++#define P_VENC_VDAC_DAC3_GAINCTRL (volatile unsigned int *)((0x1bf6 << 2) + 0xff900000) ++#define VENC_VDAC_DAC3_OFFSET (0x1bf7) ++#define P_VENC_VDAC_DAC3_OFFSET (volatile unsigned int *)((0x1bf7 << 2) + 0xff900000) ++#define VENC_VDAC_DAC4_GAINCTRL (0x1bf8) ++#define P_VENC_VDAC_DAC4_GAINCTRL (volatile unsigned int *)((0x1bf8 << 2) + 0xff900000) ++#define VENC_VDAC_DAC4_OFFSET (0x1bf9) ++#define P_VENC_VDAC_DAC4_OFFSET (volatile unsigned int *)((0x1bf9 << 2) + 0xff900000) ++#define VENC_VDAC_DAC5_GAINCTRL (0x1bfa) ++#define P_VENC_VDAC_DAC5_GAINCTRL (volatile unsigned int *)((0x1bfa << 2) + 0xff900000) ++#define VENC_VDAC_DAC5_OFFSET (0x1bfb) ++#define P_VENC_VDAC_DAC5_OFFSET (volatile unsigned int *)((0x1bfb << 2) + 0xff900000) ++#define VENC_VDAC_FIFO_CTRL (0x1bfc) ++#define P_VENC_VDAC_FIFO_CTRL (volatile unsigned int *)((0x1bfc << 2) + 0xff900000) ++#define ENCL_TCON_INVERT_CTL (0x1bfd) ++#define P_ENCL_TCON_INVERT_CTL (volatile unsigned int *)((0x1bfd << 2) + 0xff900000) ++// ++// Closing file: venc_regs.h ++// ++// ++// Reading file: enc480p_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++//=========================================================================== ++// Video Encoder 480p Registers 0xb80 - 0xbef ++//=========================================================================== ++//-------- Video basic setting ++#define ENCP_VIDEO_EN (0x1b80) ++#define P_ENCP_VIDEO_EN (volatile unsigned int *)((0x1b80 << 2) + 0xff900000) ++#define ENCP_VIDEO_SYNC_MODE (0x1b81) ++#define P_ENCP_VIDEO_SYNC_MODE (volatile unsigned int *)((0x1b81 << 2) + 0xff900000) ++#define ENCP_MACV_EN (0x1b82) ++#define P_ENCP_MACV_EN (volatile unsigned int *)((0x1b82 << 2) + 0xff900000) ++#define ENCP_VIDEO_Y_SCL (0x1b83) ++#define P_ENCP_VIDEO_Y_SCL (volatile unsigned int *)((0x1b83 << 2) + 0xff900000) ++#define ENCP_VIDEO_PB_SCL (0x1b84) ++#define P_ENCP_VIDEO_PB_SCL (volatile unsigned int *)((0x1b84 << 2) + 0xff900000) ++#define ENCP_VIDEO_PR_SCL (0x1b85) ++#define P_ENCP_VIDEO_PR_SCL (volatile unsigned int *)((0x1b85 << 2) + 0xff900000) ++#define ENCP_VIDEO_SYNC_SCL (0x1b86) ++#define P_ENCP_VIDEO_SYNC_SCL (volatile unsigned int *)((0x1b86 << 2) + 0xff900000) ++#define ENCP_VIDEO_MACV_SCL (0x1b87) ++#define P_ENCP_VIDEO_MACV_SCL (volatile unsigned int *)((0x1b87 << 2) + 0xff900000) ++#define ENCP_VIDEO_Y_OFFST (0x1b88) ++#define P_ENCP_VIDEO_Y_OFFST (volatile unsigned int *)((0x1b88 << 2) + 0xff900000) ++#define ENCP_VIDEO_PB_OFFST (0x1b89) ++#define P_ENCP_VIDEO_PB_OFFST (volatile unsigned int *)((0x1b89 << 2) + 0xff900000) ++#define ENCP_VIDEO_PR_OFFST (0x1b8a) ++#define P_ENCP_VIDEO_PR_OFFST (volatile unsigned int *)((0x1b8a << 2) + 0xff900000) ++#define ENCP_VIDEO_SYNC_OFFST (0x1b8b) ++#define P_ENCP_VIDEO_SYNC_OFFST (volatile unsigned int *)((0x1b8b << 2) + 0xff900000) ++#define ENCP_VIDEO_MACV_OFFST (0x1b8c) ++#define P_ENCP_VIDEO_MACV_OFFST (volatile unsigned int *)((0x1b8c << 2) + 0xff900000) ++//----- Video mode ++#define ENCP_VIDEO_MODE (0x1b8d) ++#define P_ENCP_VIDEO_MODE (volatile unsigned int *)((0x1b8d << 2) + 0xff900000) ++#define ENCP_VIDEO_MODE_ADV (0x1b8e) ++#define P_ENCP_VIDEO_MODE_ADV (volatile unsigned int *)((0x1b8e << 2) + 0xff900000) ++//--------------- Debug pins ++#define ENCP_DBG_PX_RST (0x1b90) ++#define P_ENCP_DBG_PX_RST (volatile unsigned int *)((0x1b90 << 2) + 0xff900000) ++#define ENCP_DBG_LN_RST (0x1b91) ++#define P_ENCP_DBG_LN_RST (volatile unsigned int *)((0x1b91 << 2) + 0xff900000) ++#define ENCP_DBG_PX_INT (0x1b92) ++#define P_ENCP_DBG_PX_INT (volatile unsigned int *)((0x1b92 << 2) + 0xff900000) ++#define ENCP_DBG_LN_INT (0x1b93) ++#define P_ENCP_DBG_LN_INT (volatile unsigned int *)((0x1b93 << 2) + 0xff900000) ++//----------- Video Advanced setting ++#define ENCP_VIDEO_YFP1_HTIME (0x1b94) ++#define P_ENCP_VIDEO_YFP1_HTIME (volatile unsigned int *)((0x1b94 << 2) + 0xff900000) ++#define ENCP_VIDEO_YFP2_HTIME (0x1b95) ++#define P_ENCP_VIDEO_YFP2_HTIME (volatile unsigned int *)((0x1b95 << 2) + 0xff900000) ++#define ENCP_VIDEO_YC_DLY (0x1b96) ++#define P_ENCP_VIDEO_YC_DLY (volatile unsigned int *)((0x1b96 << 2) + 0xff900000) ++#define ENCP_VIDEO_MAX_PXCNT (0x1b97) ++#define P_ENCP_VIDEO_MAX_PXCNT (volatile unsigned int *)((0x1b97 << 2) + 0xff900000) ++#define ENCP_VIDEO_HSPULS_BEGIN (0x1b98) ++#define P_ENCP_VIDEO_HSPULS_BEGIN (volatile unsigned int *)((0x1b98 << 2) + 0xff900000) ++#define ENCP_VIDEO_HSPULS_END (0x1b99) ++#define P_ENCP_VIDEO_HSPULS_END (volatile unsigned int *)((0x1b99 << 2) + 0xff900000) ++#define ENCP_VIDEO_HSPULS_SWITCH (0x1b9a) ++#define P_ENCP_VIDEO_HSPULS_SWITCH (volatile unsigned int *)((0x1b9a << 2) + 0xff900000) ++#define ENCP_VIDEO_VSPULS_BEGIN (0x1b9b) ++#define P_ENCP_VIDEO_VSPULS_BEGIN (volatile unsigned int *)((0x1b9b << 2) + 0xff900000) ++#define ENCP_VIDEO_VSPULS_END (0x1b9c) ++#define P_ENCP_VIDEO_VSPULS_END (volatile unsigned int *)((0x1b9c << 2) + 0xff900000) ++#define ENCP_VIDEO_VSPULS_BLINE (0x1b9d) ++#define P_ENCP_VIDEO_VSPULS_BLINE (volatile unsigned int *)((0x1b9d << 2) + 0xff900000) ++#define ENCP_VIDEO_VSPULS_ELINE (0x1b9e) ++#define P_ENCP_VIDEO_VSPULS_ELINE (volatile unsigned int *)((0x1b9e << 2) + 0xff900000) ++#define ENCP_VIDEO_EQPULS_BEGIN (0x1b9f) ++#define P_ENCP_VIDEO_EQPULS_BEGIN (volatile unsigned int *)((0x1b9f << 2) + 0xff900000) ++#define ENCP_VIDEO_EQPULS_END (0x1ba0) ++#define P_ENCP_VIDEO_EQPULS_END (volatile unsigned int *)((0x1ba0 << 2) + 0xff900000) ++#define ENCP_VIDEO_EQPULS_BLINE (0x1ba1) ++#define P_ENCP_VIDEO_EQPULS_BLINE (volatile unsigned int *)((0x1ba1 << 2) + 0xff900000) ++#define ENCP_VIDEO_EQPULS_ELINE (0x1ba2) ++#define P_ENCP_VIDEO_EQPULS_ELINE (volatile unsigned int *)((0x1ba2 << 2) + 0xff900000) ++#define ENCP_VIDEO_HAVON_END (0x1ba3) ++#define P_ENCP_VIDEO_HAVON_END (volatile unsigned int *)((0x1ba3 << 2) + 0xff900000) ++#define ENCP_VIDEO_HAVON_BEGIN (0x1ba4) ++#define P_ENCP_VIDEO_HAVON_BEGIN (volatile unsigned int *)((0x1ba4 << 2) + 0xff900000) ++#define ENCP_VIDEO_VAVON_ELINE (0x1baf) ++#define P_ENCP_VIDEO_VAVON_ELINE (volatile unsigned int *)((0x1baf << 2) + 0xff900000) ++#define ENCP_VIDEO_VAVON_BLINE (0x1ba6) ++#define P_ENCP_VIDEO_VAVON_BLINE (volatile unsigned int *)((0x1ba6 << 2) + 0xff900000) ++#define ENCP_VIDEO_HSO_BEGIN (0x1ba7) ++#define P_ENCP_VIDEO_HSO_BEGIN (volatile unsigned int *)((0x1ba7 << 2) + 0xff900000) ++#define ENCP_VIDEO_HSO_END (0x1ba8) ++#define P_ENCP_VIDEO_HSO_END (volatile unsigned int *)((0x1ba8 << 2) + 0xff900000) ++#define ENCP_VIDEO_VSO_BEGIN (0x1ba9) ++#define P_ENCP_VIDEO_VSO_BEGIN (volatile unsigned int *)((0x1ba9 << 2) + 0xff900000) ++#define ENCP_VIDEO_VSO_END (0x1baa) ++#define P_ENCP_VIDEO_VSO_END (volatile unsigned int *)((0x1baa << 2) + 0xff900000) ++#define ENCP_VIDEO_VSO_BLINE (0x1bab) ++#define P_ENCP_VIDEO_VSO_BLINE (volatile unsigned int *)((0x1bab << 2) + 0xff900000) ++#define ENCP_VIDEO_VSO_ELINE (0x1bac) ++#define P_ENCP_VIDEO_VSO_ELINE (volatile unsigned int *)((0x1bac << 2) + 0xff900000) ++#define ENCP_VIDEO_SYNC_WAVE_CURVE (0x1bad) ++#define P_ENCP_VIDEO_SYNC_WAVE_CURVE (volatile unsigned int *)((0x1bad << 2) + 0xff900000) ++#define ENCP_VIDEO_MAX_LNCNT (0x1bae) ++#define P_ENCP_VIDEO_MAX_LNCNT (volatile unsigned int *)((0x1bae << 2) + 0xff900000) ++#define ENCP_VIDEO_SY_VAL (0x1bb0) ++#define P_ENCP_VIDEO_SY_VAL (volatile unsigned int *)((0x1bb0 << 2) + 0xff900000) ++#define ENCP_VIDEO_SY2_VAL (0x1bb1) ++#define P_ENCP_VIDEO_SY2_VAL (volatile unsigned int *)((0x1bb1 << 2) + 0xff900000) ++#define ENCP_VIDEO_BLANKY_VAL (0x1bb2) ++#define P_ENCP_VIDEO_BLANKY_VAL (volatile unsigned int *)((0x1bb2 << 2) + 0xff900000) ++#define ENCP_VIDEO_BLANKPB_VAL (0x1bb3) ++#define P_ENCP_VIDEO_BLANKPB_VAL (volatile unsigned int *)((0x1bb3 << 2) + 0xff900000) ++#define ENCP_VIDEO_BLANKPR_VAL (0x1bb4) ++#define P_ENCP_VIDEO_BLANKPR_VAL (volatile unsigned int *)((0x1bb4 << 2) + 0xff900000) ++#define ENCP_VIDEO_HOFFST (0x1bb5) ++#define P_ENCP_VIDEO_HOFFST (volatile unsigned int *)((0x1bb5 << 2) + 0xff900000) ++#define ENCP_VIDEO_VOFFST (0x1bb6) ++#define P_ENCP_VIDEO_VOFFST (volatile unsigned int *)((0x1bb6 << 2) + 0xff900000) ++#define ENCP_VIDEO_RGB_CTRL (0x1bb7) ++#define P_ENCP_VIDEO_RGB_CTRL (volatile unsigned int *)((0x1bb7 << 2) + 0xff900000) ++#define ENCP_VIDEO_FILT_CTRL (0x1bb8) ++#define P_ENCP_VIDEO_FILT_CTRL (volatile unsigned int *)((0x1bb8 << 2) + 0xff900000) ++#define ENCP_VIDEO_OFLD_VPEQ_OFST (0x1bb9) ++#define P_ENCP_VIDEO_OFLD_VPEQ_OFST (volatile unsigned int *)((0x1bb9 << 2) + 0xff900000) ++#define ENCP_VIDEO_OFLD_VOAV_OFST (0x1bba) ++#define P_ENCP_VIDEO_OFLD_VOAV_OFST (volatile unsigned int *)((0x1bba << 2) + 0xff900000) ++#define ENCP_VIDEO_MATRIX_CB (0x1bbb) ++#define P_ENCP_VIDEO_MATRIX_CB (volatile unsigned int *)((0x1bbb << 2) + 0xff900000) ++#define ENCP_VIDEO_MATRIX_CR (0x1bbc) ++#define P_ENCP_VIDEO_MATRIX_CR (volatile unsigned int *)((0x1bbc << 2) + 0xff900000) ++#define ENCP_VIDEO_RGBIN_CTRL (0x1bbd) ++#define P_ENCP_VIDEO_RGBIN_CTRL (volatile unsigned int *)((0x1bbd << 2) + 0xff900000) ++//------------------Macrovision advanced setting ++#define ENCP_MACV_BLANKY_VAL (0x1bc0) ++#define P_ENCP_MACV_BLANKY_VAL (volatile unsigned int *)((0x1bc0 << 2) + 0xff900000) ++#define ENCP_MACV_MAXY_VAL (0x1bc1) ++#define P_ENCP_MACV_MAXY_VAL (volatile unsigned int *)((0x1bc1 << 2) + 0xff900000) ++#define ENCP_MACV_1ST_PSSYNC_STRT (0x1bc2) ++#define P_ENCP_MACV_1ST_PSSYNC_STRT (volatile unsigned int *)((0x1bc2 << 2) + 0xff900000) ++#define ENCP_MACV_PSSYNC_STRT (0x1bc3) ++#define P_ENCP_MACV_PSSYNC_STRT (volatile unsigned int *)((0x1bc3 << 2) + 0xff900000) ++#define ENCP_MACV_AGC_STRT (0x1bc4) ++#define P_ENCP_MACV_AGC_STRT (volatile unsigned int *)((0x1bc4 << 2) + 0xff900000) ++#define ENCP_MACV_AGC_END (0x1bc5) ++#define P_ENCP_MACV_AGC_END (volatile unsigned int *)((0x1bc5 << 2) + 0xff900000) ++#define ENCP_MACV_WAVE_END (0x1bc6) ++#define P_ENCP_MACV_WAVE_END (volatile unsigned int *)((0x1bc6 << 2) + 0xff900000) ++#define ENCP_MACV_STRTLINE (0x1bc7) ++#define P_ENCP_MACV_STRTLINE (volatile unsigned int *)((0x1bc7 << 2) + 0xff900000) ++#define ENCP_MACV_ENDLINE (0x1bc8) ++#define P_ENCP_MACV_ENDLINE (volatile unsigned int *)((0x1bc8 << 2) + 0xff900000) ++#define ENCP_MACV_TS_CNT_MAX_L (0x1bc9) ++#define P_ENCP_MACV_TS_CNT_MAX_L (volatile unsigned int *)((0x1bc9 << 2) + 0xff900000) ++#define ENCP_MACV_TS_CNT_MAX_H (0x1bca) ++#define P_ENCP_MACV_TS_CNT_MAX_H (volatile unsigned int *)((0x1bca << 2) + 0xff900000) ++#define ENCP_MACV_TIME_DOWN (0x1bcb) ++#define P_ENCP_MACV_TIME_DOWN (volatile unsigned int *)((0x1bcb << 2) + 0xff900000) ++#define ENCP_MACV_TIME_LO (0x1bcc) ++#define P_ENCP_MACV_TIME_LO (volatile unsigned int *)((0x1bcc << 2) + 0xff900000) ++#define ENCP_MACV_TIME_UP (0x1bcd) ++#define P_ENCP_MACV_TIME_UP (volatile unsigned int *)((0x1bcd << 2) + 0xff900000) ++#define ENCP_MACV_TIME_RST (0x1bce) ++#define P_ENCP_MACV_TIME_RST (volatile unsigned int *)((0x1bce << 2) + 0xff900000) ++//---------------- VBI control ------------------- ++#define ENCP_VBI_CTRL (0x1bd0) ++#define P_ENCP_VBI_CTRL (volatile unsigned int *)((0x1bd0 << 2) + 0xff900000) ++#define ENCP_VBI_SETTING (0x1bd1) ++#define P_ENCP_VBI_SETTING (volatile unsigned int *)((0x1bd1 << 2) + 0xff900000) ++#define ENCP_VBI_BEGIN (0x1bd2) ++#define P_ENCP_VBI_BEGIN (volatile unsigned int *)((0x1bd2 << 2) + 0xff900000) ++#define ENCP_VBI_WIDTH (0x1bd3) ++#define P_ENCP_VBI_WIDTH (volatile unsigned int *)((0x1bd3 << 2) + 0xff900000) ++#define ENCP_VBI_HVAL (0x1bd4) ++#define P_ENCP_VBI_HVAL (volatile unsigned int *)((0x1bd4 << 2) + 0xff900000) ++#define ENCP_VBI_DATA0 (0x1bd5) ++#define P_ENCP_VBI_DATA0 (volatile unsigned int *)((0x1bd5 << 2) + 0xff900000) ++#define ENCP_VBI_DATA1 (0x1bd6) ++#define P_ENCP_VBI_DATA1 (volatile unsigned int *)((0x1bd6 << 2) + 0xff900000) ++//----------------C656 OUT Control------------- Grant ++#define C656_HS_ST (0x1be0) ++#define P_C656_HS_ST (volatile unsigned int *)((0x1be0 << 2) + 0xff900000) ++#define C656_HS_ED (0x1be1) ++#define P_C656_HS_ED (volatile unsigned int *)((0x1be1 << 2) + 0xff900000) ++#define C656_VS_LNST_E (0x1be2) ++#define P_C656_VS_LNST_E (volatile unsigned int *)((0x1be2 << 2) + 0xff900000) ++#define C656_VS_LNST_O (0x1be3) ++#define P_C656_VS_LNST_O (volatile unsigned int *)((0x1be3 << 2) + 0xff900000) ++#define C656_VS_LNED_E (0x1be4) ++#define P_C656_VS_LNED_E (volatile unsigned int *)((0x1be4 << 2) + 0xff900000) ++#define C656_VS_LNED_O (0x1be5) ++#define P_C656_VS_LNED_O (volatile unsigned int *)((0x1be5 << 2) + 0xff900000) ++#define C656_FS_LNST (0x1be6) ++#define P_C656_FS_LNST (volatile unsigned int *)((0x1be6 << 2) + 0xff900000) ++#define C656_FS_LNED (0x1be7) ++#define P_C656_FS_LNED (volatile unsigned int *)((0x1be7 << 2) + 0xff900000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: enc480p_regs.h ++// ++// ++// Reading file: enci_regs.h ++// ++//=========================================================================== ++// Video Interface Registers 0xb00 - 0xb57 ++//=========================================================================== ++#define ENCI_VIDEO_MODE (0x1b00) ++#define P_ENCI_VIDEO_MODE (volatile unsigned int *)((0x1b00 << 2) + 0xff900000) ++#define ENCI_VIDEO_MODE_ADV (0x1b01) ++#define P_ENCI_VIDEO_MODE_ADV (volatile unsigned int *)((0x1b01 << 2) + 0xff900000) ++#define ENCI_VIDEO_FSC_ADJ (0x1b02) ++#define P_ENCI_VIDEO_FSC_ADJ (volatile unsigned int *)((0x1b02 << 2) + 0xff900000) ++#define ENCI_VIDEO_BRIGHT (0x1b03) ++#define P_ENCI_VIDEO_BRIGHT (volatile unsigned int *)((0x1b03 << 2) + 0xff900000) ++#define ENCI_VIDEO_CONT (0x1b04) ++#define P_ENCI_VIDEO_CONT (volatile unsigned int *)((0x1b04 << 2) + 0xff900000) ++#define ENCI_VIDEO_SAT (0x1b05) ++#define P_ENCI_VIDEO_SAT (volatile unsigned int *)((0x1b05 << 2) + 0xff900000) ++#define ENCI_VIDEO_HUE (0x1b06) ++#define P_ENCI_VIDEO_HUE (volatile unsigned int *)((0x1b06 << 2) + 0xff900000) ++#define ENCI_VIDEO_SCH (0x1b07) ++#define P_ENCI_VIDEO_SCH (volatile unsigned int *)((0x1b07 << 2) + 0xff900000) ++#define ENCI_SYNC_MODE (0x1b08) ++#define P_ENCI_SYNC_MODE (volatile unsigned int *)((0x1b08 << 2) + 0xff900000) ++#define ENCI_SYNC_CTRL (0x1b09) ++#define P_ENCI_SYNC_CTRL (volatile unsigned int *)((0x1b09 << 2) + 0xff900000) ++#define ENCI_SYNC_HSO_BEGIN (0x1b0a) ++#define P_ENCI_SYNC_HSO_BEGIN (volatile unsigned int *)((0x1b0a << 2) + 0xff900000) ++#define ENCI_SYNC_HSO_END (0x1b0b) ++#define P_ENCI_SYNC_HSO_END (volatile unsigned int *)((0x1b0b << 2) + 0xff900000) ++#define ENCI_SYNC_VSO_EVN (0x1b0c) ++#define P_ENCI_SYNC_VSO_EVN (volatile unsigned int *)((0x1b0c << 2) + 0xff900000) ++#define ENCI_SYNC_VSO_ODD (0x1b0d) ++#define P_ENCI_SYNC_VSO_ODD (volatile unsigned int *)((0x1b0d << 2) + 0xff900000) ++#define ENCI_SYNC_VSO_EVNLN (0x1b0e) ++#define P_ENCI_SYNC_VSO_EVNLN (volatile unsigned int *)((0x1b0e << 2) + 0xff900000) ++#define ENCI_SYNC_VSO_ODDLN (0x1b0f) ++#define P_ENCI_SYNC_VSO_ODDLN (volatile unsigned int *)((0x1b0f << 2) + 0xff900000) ++#define ENCI_SYNC_HOFFST (0x1b10) ++#define P_ENCI_SYNC_HOFFST (volatile unsigned int *)((0x1b10 << 2) + 0xff900000) ++#define ENCI_SYNC_VOFFST (0x1b11) ++#define P_ENCI_SYNC_VOFFST (volatile unsigned int *)((0x1b11 << 2) + 0xff900000) ++#define ENCI_SYNC_ADJ (0x1b12) ++#define P_ENCI_SYNC_ADJ (volatile unsigned int *)((0x1b12 << 2) + 0xff900000) ++#define ENCI_RGB_SETTING (0x1b13) ++#define P_ENCI_RGB_SETTING (volatile unsigned int *)((0x1b13 << 2) + 0xff900000) ++//`define ENCI_CMPN_MATRIX_CB 8'h14 ++//`define ENCI_CMPN_MATRIX_CR 8'h15 ++#define ENCI_DE_H_BEGIN (0x1b16) ++#define P_ENCI_DE_H_BEGIN (volatile unsigned int *)((0x1b16 << 2) + 0xff900000) ++#define ENCI_DE_H_END (0x1b17) ++#define P_ENCI_DE_H_END (volatile unsigned int *)((0x1b17 << 2) + 0xff900000) ++#define ENCI_DE_V_BEGIN_EVEN (0x1b18) ++#define P_ENCI_DE_V_BEGIN_EVEN (volatile unsigned int *)((0x1b18 << 2) + 0xff900000) ++#define ENCI_DE_V_END_EVEN (0x1b19) ++#define P_ENCI_DE_V_END_EVEN (volatile unsigned int *)((0x1b19 << 2) + 0xff900000) ++#define ENCI_DE_V_BEGIN_ODD (0x1b1a) ++#define P_ENCI_DE_V_BEGIN_ODD (volatile unsigned int *)((0x1b1a << 2) + 0xff900000) ++#define ENCI_DE_V_END_ODD (0x1b1b) ++#define P_ENCI_DE_V_END_ODD (volatile unsigned int *)((0x1b1b << 2) + 0xff900000) ++#define ENCI_VBI_SETTING (0x1b20) ++#define P_ENCI_VBI_SETTING (volatile unsigned int *)((0x1b20 << 2) + 0xff900000) ++#define ENCI_VBI_CCDT_EVN (0x1b21) ++#define P_ENCI_VBI_CCDT_EVN (volatile unsigned int *)((0x1b21 << 2) + 0xff900000) ++#define ENCI_VBI_CCDT_ODD (0x1b22) ++#define P_ENCI_VBI_CCDT_ODD (volatile unsigned int *)((0x1b22 << 2) + 0xff900000) ++#define ENCI_VBI_CC525_LN (0x1b23) ++#define P_ENCI_VBI_CC525_LN (volatile unsigned int *)((0x1b23 << 2) + 0xff900000) ++#define ENCI_VBI_CC625_LN (0x1b24) ++#define P_ENCI_VBI_CC625_LN (volatile unsigned int *)((0x1b24 << 2) + 0xff900000) ++#define ENCI_VBI_WSSDT (0x1b25) ++#define P_ENCI_VBI_WSSDT (volatile unsigned int *)((0x1b25 << 2) + 0xff900000) ++#define ENCI_VBI_WSS_LN (0x1b26) ++#define P_ENCI_VBI_WSS_LN (volatile unsigned int *)((0x1b26 << 2) + 0xff900000) ++#define ENCI_VBI_CGMSDT_L (0x1b27) ++#define P_ENCI_VBI_CGMSDT_L (volatile unsigned int *)((0x1b27 << 2) + 0xff900000) ++#define ENCI_VBI_CGMSDT_H (0x1b28) ++#define P_ENCI_VBI_CGMSDT_H (volatile unsigned int *)((0x1b28 << 2) + 0xff900000) ++#define ENCI_VBI_CGMS_LN (0x1b29) ++#define P_ENCI_VBI_CGMS_LN (volatile unsigned int *)((0x1b29 << 2) + 0xff900000) ++#define ENCI_VBI_TTX_HTIME (0x1b2a) ++#define P_ENCI_VBI_TTX_HTIME (volatile unsigned int *)((0x1b2a << 2) + 0xff900000) ++#define ENCI_VBI_TTX_LN (0x1b2b) ++#define P_ENCI_VBI_TTX_LN (volatile unsigned int *)((0x1b2b << 2) + 0xff900000) ++#define ENCI_VBI_TTXDT0 (0x1b2c) ++#define P_ENCI_VBI_TTXDT0 (volatile unsigned int *)((0x1b2c << 2) + 0xff900000) ++#define ENCI_VBI_TTXDT1 (0x1b2d) ++#define P_ENCI_VBI_TTXDT1 (volatile unsigned int *)((0x1b2d << 2) + 0xff900000) ++#define ENCI_VBI_TTXDT2 (0x1b2e) ++#define P_ENCI_VBI_TTXDT2 (volatile unsigned int *)((0x1b2e << 2) + 0xff900000) ++#define ENCI_VBI_TTXDT3 (0x1b2f) ++#define P_ENCI_VBI_TTXDT3 (volatile unsigned int *)((0x1b2f << 2) + 0xff900000) ++#define ENCI_MACV_N0 (0x1b30) ++#define P_ENCI_MACV_N0 (volatile unsigned int *)((0x1b30 << 2) + 0xff900000) ++#define ENCI_MACV_N1 (0x1b31) ++#define P_ENCI_MACV_N1 (volatile unsigned int *)((0x1b31 << 2) + 0xff900000) ++#define ENCI_MACV_N2 (0x1b32) ++#define P_ENCI_MACV_N2 (volatile unsigned int *)((0x1b32 << 2) + 0xff900000) ++#define ENCI_MACV_N3 (0x1b33) ++#define P_ENCI_MACV_N3 (volatile unsigned int *)((0x1b33 << 2) + 0xff900000) ++#define ENCI_MACV_N4 (0x1b34) ++#define P_ENCI_MACV_N4 (volatile unsigned int *)((0x1b34 << 2) + 0xff900000) ++#define ENCI_MACV_N5 (0x1b35) ++#define P_ENCI_MACV_N5 (volatile unsigned int *)((0x1b35 << 2) + 0xff900000) ++#define ENCI_MACV_N6 (0x1b36) ++#define P_ENCI_MACV_N6 (volatile unsigned int *)((0x1b36 << 2) + 0xff900000) ++#define ENCI_MACV_N7 (0x1b37) ++#define P_ENCI_MACV_N7 (volatile unsigned int *)((0x1b37 << 2) + 0xff900000) ++#define ENCI_MACV_N8 (0x1b38) ++#define P_ENCI_MACV_N8 (volatile unsigned int *)((0x1b38 << 2) + 0xff900000) ++#define ENCI_MACV_N9 (0x1b39) ++#define P_ENCI_MACV_N9 (volatile unsigned int *)((0x1b39 << 2) + 0xff900000) ++#define ENCI_MACV_N10 (0x1b3a) ++#define P_ENCI_MACV_N10 (volatile unsigned int *)((0x1b3a << 2) + 0xff900000) ++#define ENCI_MACV_N11 (0x1b3b) ++#define P_ENCI_MACV_N11 (volatile unsigned int *)((0x1b3b << 2) + 0xff900000) ++#define ENCI_MACV_N12 (0x1b3c) ++#define P_ENCI_MACV_N12 (volatile unsigned int *)((0x1b3c << 2) + 0xff900000) ++#define ENCI_MACV_N13 (0x1b3d) ++#define P_ENCI_MACV_N13 (volatile unsigned int *)((0x1b3d << 2) + 0xff900000) ++#define ENCI_MACV_N14 (0x1b3e) ++#define P_ENCI_MACV_N14 (volatile unsigned int *)((0x1b3e << 2) + 0xff900000) ++#define ENCI_MACV_N15 (0x1b3f) ++#define P_ENCI_MACV_N15 (volatile unsigned int *)((0x1b3f << 2) + 0xff900000) ++#define ENCI_MACV_N16 (0x1b40) ++#define P_ENCI_MACV_N16 (volatile unsigned int *)((0x1b40 << 2) + 0xff900000) ++#define ENCI_MACV_N17 (0x1b41) ++#define P_ENCI_MACV_N17 (volatile unsigned int *)((0x1b41 << 2) + 0xff900000) ++#define ENCI_MACV_N18 (0x1b42) ++#define P_ENCI_MACV_N18 (volatile unsigned int *)((0x1b42 << 2) + 0xff900000) ++#define ENCI_MACV_N19 (0x1b43) ++#define P_ENCI_MACV_N19 (volatile unsigned int *)((0x1b43 << 2) + 0xff900000) ++#define ENCI_MACV_N20 (0x1b44) ++#define P_ENCI_MACV_N20 (volatile unsigned int *)((0x1b44 << 2) + 0xff900000) ++#define ENCI_MACV_N21 (0x1b45) ++#define P_ENCI_MACV_N21 (volatile unsigned int *)((0x1b45 << 2) + 0xff900000) ++#define ENCI_MACV_N22 (0x1b46) ++#define P_ENCI_MACV_N22 (volatile unsigned int *)((0x1b46 << 2) + 0xff900000) ++//`define ENCI_MACV_P_AGC 8'h47 ++#define ENCI_DBG_PX_RST (0x1b48) ++#define P_ENCI_DBG_PX_RST (volatile unsigned int *)((0x1b48 << 2) + 0xff900000) ++#define ENCI_DBG_FLDLN_RST (0x1b49) ++#define P_ENCI_DBG_FLDLN_RST (volatile unsigned int *)((0x1b49 << 2) + 0xff900000) ++#define ENCI_DBG_PX_INT (0x1b4a) ++#define P_ENCI_DBG_PX_INT (volatile unsigned int *)((0x1b4a << 2) + 0xff900000) ++#define ENCI_DBG_FLDLN_INT (0x1b4b) ++#define P_ENCI_DBG_FLDLN_INT (volatile unsigned int *)((0x1b4b << 2) + 0xff900000) ++#define ENCI_DBG_MAXPX (0x1b4c) ++#define P_ENCI_DBG_MAXPX (volatile unsigned int *)((0x1b4c << 2) + 0xff900000) ++#define ENCI_DBG_MAXLN (0x1b4d) ++#define P_ENCI_DBG_MAXLN (volatile unsigned int *)((0x1b4d << 2) + 0xff900000) ++#define ENCI_MACV_MAX_AMP (0x1b50) ++#define P_ENCI_MACV_MAX_AMP (volatile unsigned int *)((0x1b50 << 2) + 0xff900000) ++#define ENCI_MACV_PULSE_LO (0x1b51) ++#define P_ENCI_MACV_PULSE_LO (volatile unsigned int *)((0x1b51 << 2) + 0xff900000) ++#define ENCI_MACV_PULSE_HI (0x1b52) ++#define P_ENCI_MACV_PULSE_HI (volatile unsigned int *)((0x1b52 << 2) + 0xff900000) ++#define ENCI_MACV_BKP_MAX (0x1b53) ++#define P_ENCI_MACV_BKP_MAX (volatile unsigned int *)((0x1b53 << 2) + 0xff900000) ++#define ENCI_CFILT_CTRL (0x1b54) ++#define P_ENCI_CFILT_CTRL (volatile unsigned int *)((0x1b54 << 2) + 0xff900000) ++#define ENCI_CFILT7 (0x1b55) ++#define P_ENCI_CFILT7 (volatile unsigned int *)((0x1b55 << 2) + 0xff900000) ++#define ENCI_YC_DELAY (0x1b56) ++#define P_ENCI_YC_DELAY (volatile unsigned int *)((0x1b56 << 2) + 0xff900000) ++#define ENCI_VIDEO_EN (0x1b57) ++#define P_ENCI_VIDEO_EN (volatile unsigned int *)((0x1b57 << 2) + 0xff900000) ++// ++// Closing file: enci_regs.h ++// ++//`define VENC2_VCBUS_BASE 8'h1c ++// ++// Reading file: venc2_regs.h ++// ++//=========================================================================== ++// Venc Registers (Cont.) 0xc00 - 0xcff (VENC registers 0xc00 - 0xcef) ++//=========================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: VENC2_VCBUS_BASE = 0x1c ++// ----------------------------------------------- ++// Program video control signals from ENCI core to DVI/HDMI interface ++#define ENCI_DVI_HSO_BEGIN (0x1c00) ++#define P_ENCI_DVI_HSO_BEGIN (volatile unsigned int *)((0x1c00 << 2) + 0xff900000) ++#define ENCI_DVI_HSO_END (0x1c01) ++#define P_ENCI_DVI_HSO_END (volatile unsigned int *)((0x1c01 << 2) + 0xff900000) ++#define ENCI_DVI_VSO_BLINE_EVN (0x1c02) ++#define P_ENCI_DVI_VSO_BLINE_EVN (volatile unsigned int *)((0x1c02 << 2) + 0xff900000) ++#define ENCI_DVI_VSO_BLINE_ODD (0x1c03) ++#define P_ENCI_DVI_VSO_BLINE_ODD (volatile unsigned int *)((0x1c03 << 2) + 0xff900000) ++#define ENCI_DVI_VSO_ELINE_EVN (0x1c04) ++#define P_ENCI_DVI_VSO_ELINE_EVN (volatile unsigned int *)((0x1c04 << 2) + 0xff900000) ++#define ENCI_DVI_VSO_ELINE_ODD (0x1c05) ++#define P_ENCI_DVI_VSO_ELINE_ODD (volatile unsigned int *)((0x1c05 << 2) + 0xff900000) ++#define ENCI_DVI_VSO_BEGIN_EVN (0x1c06) ++#define P_ENCI_DVI_VSO_BEGIN_EVN (volatile unsigned int *)((0x1c06 << 2) + 0xff900000) ++#define ENCI_DVI_VSO_BEGIN_ODD (0x1c07) ++#define P_ENCI_DVI_VSO_BEGIN_ODD (volatile unsigned int *)((0x1c07 << 2) + 0xff900000) ++#define ENCI_DVI_VSO_END_EVN (0x1c08) ++#define P_ENCI_DVI_VSO_END_EVN (volatile unsigned int *)((0x1c08 << 2) + 0xff900000) ++#define ENCI_DVI_VSO_END_ODD (0x1c09) ++#define P_ENCI_DVI_VSO_END_ODD (volatile unsigned int *)((0x1c09 << 2) + 0xff900000) ++// Define cmpt and cvbs cb/cr delay after ENCI chroma filters ++// Bit 15:12 RW, enci_cb_cvbs_dly_sel. 0=no delay; 1~6=delay by 1~6 clk; 7~15 reserved. ++// Bit 11: 8 RW, enci_cr_cvbs_dly_sel. 0=no delay; 1~6=delay by 1~6 clk; 7~15 reserved. ++// Bit 7: 4 RW, enci_cb_cmpt_dly_sel. 0=no delay; 1~6=delay by 1~6 clk; 7~15 reserved. ++// Bit 3: 0 RW, enci_cr_cmpt_dly_sel. 0=no delay; 1~6=delay by 1~6 clk; 7~15 reserved. ++#define ENCI_CFILT_CTRL2 (0x1c0a) ++#define P_ENCI_CFILT_CTRL2 (volatile unsigned int *)((0x1c0a << 2) + 0xff900000) ++#define ENCI_DACSEL_0 (0x1c0b) ++#define P_ENCI_DACSEL_0 (volatile unsigned int *)((0x1c0b << 2) + 0xff900000) ++#define ENCI_DACSEL_1 (0x1c0c) ++#define P_ENCI_DACSEL_1 (volatile unsigned int *)((0x1c0c << 2) + 0xff900000) ++#define ENCP_DACSEL_0 (0x1c0d) ++#define P_ENCP_DACSEL_0 (volatile unsigned int *)((0x1c0d << 2) + 0xff900000) ++#define ENCP_DACSEL_1 (0x1c0e) ++#define P_ENCP_DACSEL_1 (volatile unsigned int *)((0x1c0e << 2) + 0xff900000) ++#define ENCP_MAX_LINE_SWITCH_POINT (0x1c0f) ++#define P_ENCP_MAX_LINE_SWITCH_POINT (volatile unsigned int *)((0x1c0f << 2) + 0xff900000) ++#define ENCI_TST_EN (0x1c10) ++#define P_ENCI_TST_EN (volatile unsigned int *)((0x1c10 << 2) + 0xff900000) ++#define ENCI_TST_MDSEL (0x1c11) ++#define P_ENCI_TST_MDSEL (volatile unsigned int *)((0x1c11 << 2) + 0xff900000) ++#define ENCI_TST_Y (0x1c12) ++#define P_ENCI_TST_Y (volatile unsigned int *)((0x1c12 << 2) + 0xff900000) ++#define ENCI_TST_CB (0x1c13) ++#define P_ENCI_TST_CB (volatile unsigned int *)((0x1c13 << 2) + 0xff900000) ++#define ENCI_TST_CR (0x1c14) ++#define P_ENCI_TST_CR (volatile unsigned int *)((0x1c14 << 2) + 0xff900000) ++#define ENCI_TST_CLRBAR_STRT (0x1c15) ++#define P_ENCI_TST_CLRBAR_STRT (volatile unsigned int *)((0x1c15 << 2) + 0xff900000) ++#define ENCI_TST_CLRBAR_WIDTH (0x1c16) ++#define P_ENCI_TST_CLRBAR_WIDTH (volatile unsigned int *)((0x1c16 << 2) + 0xff900000) ++#define ENCI_TST_VDCNT_STSET (0x1c17) ++#define P_ENCI_TST_VDCNT_STSET (volatile unsigned int *)((0x1c17 << 2) + 0xff900000) ++// bit 15:8 -- vfifo2vd_vd_sel ++// bit 7 -- vfifo2vd_drop ++// bit 6:1 -- vfifo2vd_delay ++// bit 0 -- vfifo2vd_en ++#define ENCI_VFIFO2VD_CTL (0x1c18) ++#define P_ENCI_VFIFO2VD_CTL (volatile unsigned int *)((0x1c18 << 2) + 0xff900000) ++// bit 12:0 -- vfifo2vd_pixel_start ++#define ENCI_VFIFO2VD_PIXEL_START (0x1c19) ++#define P_ENCI_VFIFO2VD_PIXEL_START (volatile unsigned int *)((0x1c19 << 2) + 0xff900000) ++// bit 12:00 -- vfifo2vd_pixel_end ++#define ENCI_VFIFO2VD_PIXEL_END (0x1c1a) ++#define P_ENCI_VFIFO2VD_PIXEL_END (volatile unsigned int *)((0x1c1a << 2) + 0xff900000) ++// bit 10:0 -- vfifo2vd_line_top_start ++#define ENCI_VFIFO2VD_LINE_TOP_START (0x1c1b) ++#define P_ENCI_VFIFO2VD_LINE_TOP_START (volatile unsigned int *)((0x1c1b << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_top_end ++#define ENCI_VFIFO2VD_LINE_TOP_END (0x1c1c) ++#define P_ENCI_VFIFO2VD_LINE_TOP_END (volatile unsigned int *)((0x1c1c << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_bot_start ++#define ENCI_VFIFO2VD_LINE_BOT_START (0x1c1d) ++#define P_ENCI_VFIFO2VD_LINE_BOT_START (volatile unsigned int *)((0x1c1d << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_bot_end ++#define ENCI_VFIFO2VD_LINE_BOT_END (0x1c1e) ++#define P_ENCI_VFIFO2VD_LINE_BOT_END (volatile unsigned int *)((0x1c1e << 2) + 0xff900000) ++#define ENCI_VFIFO2VD_CTL2 (0x1c1f) ++#define P_ENCI_VFIFO2VD_CTL2 (volatile unsigned int *)((0x1c1f << 2) + 0xff900000) ++// bit 15:8 -- vfifo2vd_vd_sel ++// bit 7 -- vfifo2vd_drop ++// bit 6:1 -- vfifo2vd_delay ++// bit 0 -- vfifo2vd_en ++#define ENCT_VFIFO2VD_CTL (0x1c20) ++#define P_ENCT_VFIFO2VD_CTL (volatile unsigned int *)((0x1c20 << 2) + 0xff900000) ++// bit 12:0 -- vfifo2vd_pixel_start ++#define ENCT_VFIFO2VD_PIXEL_START (0x1c21) ++#define P_ENCT_VFIFO2VD_PIXEL_START (volatile unsigned int *)((0x1c21 << 2) + 0xff900000) ++// bit 12:00 -- vfifo2vd_pixel_end ++#define ENCT_VFIFO2VD_PIXEL_END (0x1c22) ++#define P_ENCT_VFIFO2VD_PIXEL_END (volatile unsigned int *)((0x1c22 << 2) + 0xff900000) ++// bit 10:0 -- vfifo2vd_line_top_start ++#define ENCT_VFIFO2VD_LINE_TOP_START (0x1c23) ++#define P_ENCT_VFIFO2VD_LINE_TOP_START (volatile unsigned int *)((0x1c23 << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_top_end ++#define ENCT_VFIFO2VD_LINE_TOP_END (0x1c24) ++#define P_ENCT_VFIFO2VD_LINE_TOP_END (volatile unsigned int *)((0x1c24 << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_bot_start ++#define ENCT_VFIFO2VD_LINE_BOT_START (0x1c25) ++#define P_ENCT_VFIFO2VD_LINE_BOT_START (volatile unsigned int *)((0x1c25 << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_bot_end ++#define ENCT_VFIFO2VD_LINE_BOT_END (0x1c26) ++#define P_ENCT_VFIFO2VD_LINE_BOT_END (volatile unsigned int *)((0x1c26 << 2) + 0xff900000) ++#define ENCT_VFIFO2VD_CTL2 (0x1c27) ++#define P_ENCT_VFIFO2VD_CTL2 (volatile unsigned int *)((0x1c27 << 2) + 0xff900000) ++#define ENCT_TST_EN (0x1c28) ++#define P_ENCT_TST_EN (volatile unsigned int *)((0x1c28 << 2) + 0xff900000) ++#define ENCT_TST_MDSEL (0x1c29) ++#define P_ENCT_TST_MDSEL (volatile unsigned int *)((0x1c29 << 2) + 0xff900000) ++#define ENCT_TST_Y (0x1c2a) ++#define P_ENCT_TST_Y (volatile unsigned int *)((0x1c2a << 2) + 0xff900000) ++#define ENCT_TST_CB (0x1c2b) ++#define P_ENCT_TST_CB (volatile unsigned int *)((0x1c2b << 2) + 0xff900000) ++#define ENCT_TST_CR (0x1c2c) ++#define P_ENCT_TST_CR (volatile unsigned int *)((0x1c2c << 2) + 0xff900000) ++#define ENCT_TST_CLRBAR_STRT (0x1c2d) ++#define P_ENCT_TST_CLRBAR_STRT (volatile unsigned int *)((0x1c2d << 2) + 0xff900000) ++#define ENCT_TST_CLRBAR_WIDTH (0x1c2e) ++#define P_ENCT_TST_CLRBAR_WIDTH (volatile unsigned int *)((0x1c2e << 2) + 0xff900000) ++#define ENCT_TST_VDCNT_STSET (0x1c2f) ++#define P_ENCT_TST_VDCNT_STSET (volatile unsigned int *)((0x1c2f << 2) + 0xff900000) ++// Program video control signals from ENCP core to DVI/HDMI interface ++#define ENCP_DVI_HSO_BEGIN (0x1c30) ++#define P_ENCP_DVI_HSO_BEGIN (volatile unsigned int *)((0x1c30 << 2) + 0xff900000) ++#define ENCP_DVI_HSO_END (0x1c31) ++#define P_ENCP_DVI_HSO_END (volatile unsigned int *)((0x1c31 << 2) + 0xff900000) ++#define ENCP_DVI_VSO_BLINE_EVN (0x1c32) ++#define P_ENCP_DVI_VSO_BLINE_EVN (volatile unsigned int *)((0x1c32 << 2) + 0xff900000) ++#define ENCP_DVI_VSO_BLINE_ODD (0x1c33) ++#define P_ENCP_DVI_VSO_BLINE_ODD (volatile unsigned int *)((0x1c33 << 2) + 0xff900000) ++#define ENCP_DVI_VSO_ELINE_EVN (0x1c34) ++#define P_ENCP_DVI_VSO_ELINE_EVN (volatile unsigned int *)((0x1c34 << 2) + 0xff900000) ++#define ENCP_DVI_VSO_ELINE_ODD (0x1c35) ++#define P_ENCP_DVI_VSO_ELINE_ODD (volatile unsigned int *)((0x1c35 << 2) + 0xff900000) ++#define ENCP_DVI_VSO_BEGIN_EVN (0x1c36) ++#define P_ENCP_DVI_VSO_BEGIN_EVN (volatile unsigned int *)((0x1c36 << 2) + 0xff900000) ++#define ENCP_DVI_VSO_BEGIN_ODD (0x1c37) ++#define P_ENCP_DVI_VSO_BEGIN_ODD (volatile unsigned int *)((0x1c37 << 2) + 0xff900000) ++#define ENCP_DVI_VSO_END_EVN (0x1c38) ++#define P_ENCP_DVI_VSO_END_EVN (volatile unsigned int *)((0x1c38 << 2) + 0xff900000) ++#define ENCP_DVI_VSO_END_ODD (0x1c39) ++#define P_ENCP_DVI_VSO_END_ODD (volatile unsigned int *)((0x1c39 << 2) + 0xff900000) ++#define ENCP_DE_H_BEGIN (0x1c3a) ++#define P_ENCP_DE_H_BEGIN (volatile unsigned int *)((0x1c3a << 2) + 0xff900000) ++#define ENCP_DE_H_END (0x1c3b) ++#define P_ENCP_DE_H_END (volatile unsigned int *)((0x1c3b << 2) + 0xff900000) ++#define ENCP_DE_V_BEGIN_EVEN (0x1c3c) ++#define P_ENCP_DE_V_BEGIN_EVEN (volatile unsigned int *)((0x1c3c << 2) + 0xff900000) ++#define ENCP_DE_V_END_EVEN (0x1c3d) ++#define P_ENCP_DE_V_END_EVEN (volatile unsigned int *)((0x1c3d << 2) + 0xff900000) ++#define ENCP_DE_V_BEGIN_ODD (0x1c3e) ++#define P_ENCP_DE_V_BEGIN_ODD (volatile unsigned int *)((0x1c3e << 2) + 0xff900000) ++#define ENCP_DE_V_END_ODD (0x1c3f) ++#define P_ENCP_DE_V_END_ODD (volatile unsigned int *)((0x1c3f << 2) + 0xff900000) ++// Bit 15:11 - sync length ++// Bit 10:0 - sync start line ++#define ENCI_SYNC_LINE_LENGTH (0x1c40) ++#define P_ENCI_SYNC_LINE_LENGTH (volatile unsigned int *)((0x1c40 << 2) + 0xff900000) ++// Bit 15 - sync_pulse_enable ++// Bit 12:0 - sync start pixel ++#define ENCI_SYNC_PIXEL_EN (0x1c41) ++#define P_ENCI_SYNC_PIXEL_EN (volatile unsigned int *)((0x1c41 << 2) + 0xff900000) ++// Bit 15 - enci_sync_enable ++// Bit 14 - encp_sync_enable ++// Bit 13 - enct_sync_enable ++// Bit 12 - short_fussy_sync ++// Bit 11 - fussy_sync_enable ++// Bit 10:0 - sync target line ++#define ENCI_SYNC_TO_LINE_EN (0x1c42) ++#define P_ENCI_SYNC_TO_LINE_EN (volatile unsigned int *)((0x1c42 << 2) + 0xff900000) ++// Bit 12:0 - sync target pixel ++#define ENCI_SYNC_TO_PIXEL (0x1c43) ++#define P_ENCI_SYNC_TO_PIXEL (volatile unsigned int *)((0x1c43 << 2) + 0xff900000) ++// Bit 15:11 - sync length ++// Bit 10:0 - sync start line ++#define ENCP_SYNC_LINE_LENGTH (0x1c44) ++#define P_ENCP_SYNC_LINE_LENGTH (volatile unsigned int *)((0x1c44 << 2) + 0xff900000) ++// Bit 15 - sync_pulse_enable ++// Bit 12:0 - sync start pixel ++#define ENCP_SYNC_PIXEL_EN (0x1c45) ++#define P_ENCP_SYNC_PIXEL_EN (volatile unsigned int *)((0x1c45 << 2) + 0xff900000) ++// Bit 15 - enci_sync_enable ++// Bit 14 - encp_sync_enable ++// Bit 13 - enct_sync_enable ++// Bit 12 - short_fussy_sync ++// Bit 11 - fussy_sync_enable ++// Bit 10:0 - sync target line ++#define ENCP_SYNC_TO_LINE_EN (0x1c46) ++#define P_ENCP_SYNC_TO_LINE_EN (volatile unsigned int *)((0x1c46 << 2) + 0xff900000) ++// Bit 12:0 - sync target pixel ++#define ENCP_SYNC_TO_PIXEL (0x1c47) ++#define P_ENCP_SYNC_TO_PIXEL (volatile unsigned int *)((0x1c47 << 2) + 0xff900000) ++// Bit 15:11 - sync length ++// Bit 10:0 - sync start line ++#define ENCT_SYNC_LINE_LENGTH (0x1c48) ++#define P_ENCT_SYNC_LINE_LENGTH (volatile unsigned int *)((0x1c48 << 2) + 0xff900000) ++// Bit 15 - sync_pulse_enable ++// Bit 12:0 - sync start pixel ++#define ENCT_SYNC_PIXEL_EN (0x1c49) ++#define P_ENCT_SYNC_PIXEL_EN (volatile unsigned int *)((0x1c49 << 2) + 0xff900000) ++// Bit 15 - enci_sync_enable ++// Bit 14 - encp_sync_enable ++// Bit 13 - enct_sync_enable ++// Bit 12 - short_fussy_sync ++// Bit 11 - fussy_sync_enable ++// Bit 10:0 - sync target line ++#define ENCT_SYNC_TO_LINE_EN (0x1c4a) ++#define P_ENCT_SYNC_TO_LINE_EN (volatile unsigned int *)((0x1c4a << 2) + 0xff900000) ++// Bit 12:0 - sync target pixel ++#define ENCT_SYNC_TO_PIXEL (0x1c4b) ++#define P_ENCT_SYNC_TO_PIXEL (volatile unsigned int *)((0x1c4b << 2) + 0xff900000) ++// Bit 15:11 - sync length ++// Bit 10:0 - sync start line ++#define ENCL_SYNC_LINE_LENGTH (0x1c4c) ++#define P_ENCL_SYNC_LINE_LENGTH (volatile unsigned int *)((0x1c4c << 2) + 0xff900000) ++// Bit 15 - sync_pulse_enable ++// Bit 12:0 - sync start pixel ++#define ENCL_SYNC_PIXEL_EN (0x1c4d) ++#define P_ENCL_SYNC_PIXEL_EN (volatile unsigned int *)((0x1c4d << 2) + 0xff900000) ++// Bit 15 - enci_sync_enable ++// Bit 14 - encp_sync_enable ++// Bit 13 - enct_sync_enable ++// Bit 12 - short_fussy_sync ++// Bit 11 - fussy_sync_enable ++// Bit 10:0 - sync target line ++#define ENCL_SYNC_TO_LINE_EN (0x1c4e) ++#define P_ENCL_SYNC_TO_LINE_EN (volatile unsigned int *)((0x1c4e << 2) + 0xff900000) ++// Bit 12:0 - sync target pixel ++#define ENCL_SYNC_TO_PIXEL (0x1c4f) ++#define P_ENCL_SYNC_TO_PIXEL (volatile unsigned int *)((0x1c4f << 2) + 0xff900000) ++// bit 3 cfg_encp_lcd_scaler_bypass. 1=Do not scale LCD input data; ++// 0=Scale LCD input data to y [16*4,235*4], c [16*4,240*4]. ++// bit 2 cfg_encp_vadj_scaler_bypass. 1=Do not scale data to enc480p_vadj; ++// 0=Scale enc480p_vadj input data to y [16*4,235*4], c [16*4,240*4]. ++// bit 1 cfg_vfifo2vd_out_scaler_bypass. 1=Do not scale vfifo2vd's output vdata; ++// 0=Scale vfifo2vd's output vdata to y [16,235], c [16,240]. ++// bit 0 cfg_vfifo_din_full_range. 1=Data from viu fifo is full range [0,1023]; ++// 0=Data from viu fifo is y [16*4,235*4], c [16*4,240*4]. ++#define ENCP_VFIFO2VD_CTL2 (0x1c50) ++#define P_ENCP_VFIFO2VD_CTL2 (volatile unsigned int *)((0x1c50 << 2) + 0xff900000) ++// bit 15:1 Reserved. ++// bit 0 cfg_int_dvi_sel_rgb. Applicable for using on-chip hdmi tx module only. This bit controls correct bit-mapping from ++// Venc to hdmi_tx depending on whether YCbCr or RGB mode. ++// 1=Map data bit from Venc to hdmi_tx for RGB mode; ++// 0=Default. Map data bit from Venc to hdmi_tx for YCbCr mode. ++#define VENC_DVI_SETTING_MORE (0x1c51) ++#define P_VENC_DVI_SETTING_MORE (volatile unsigned int *)((0x1c51 << 2) + 0xff900000) ++#define VENC_VDAC_DAC4_FILT_CTRL0 (0x1c54) ++#define P_VENC_VDAC_DAC4_FILT_CTRL0 (volatile unsigned int *)((0x1c54 << 2) + 0xff900000) ++#define VENC_VDAC_DAC4_FILT_CTRL1 (0x1c55) ++#define P_VENC_VDAC_DAC4_FILT_CTRL1 (volatile unsigned int *)((0x1c55 << 2) + 0xff900000) ++#define VENC_VDAC_DAC5_FILT_CTRL0 (0x1c56) ++#define P_VENC_VDAC_DAC5_FILT_CTRL0 (volatile unsigned int *)((0x1c56 << 2) + 0xff900000) ++#define VENC_VDAC_DAC5_FILT_CTRL1 (0x1c57) ++#define P_VENC_VDAC_DAC5_FILT_CTRL1 (volatile unsigned int *)((0x1c57 << 2) + 0xff900000) ++//Bit 0 filter_en ++#define VENC_VDAC_DAC0_FILT_CTRL0 (0x1c58) ++#define P_VENC_VDAC_DAC0_FILT_CTRL0 (volatile unsigned int *)((0x1c58 << 2) + 0xff900000) ++//dout = ((din + din_d2) * coef1 + (din_d1 * coef0) + 32) >> 6 ++//Bit 15:8, coef1, ++//Bit 7:0, coef0, ++#define VENC_VDAC_DAC0_FILT_CTRL1 (0x1c59) ++#define P_VENC_VDAC_DAC0_FILT_CTRL1 (volatile unsigned int *)((0x1c59 << 2) + 0xff900000) ++//Bit 0 filter_en ++#define VENC_VDAC_DAC1_FILT_CTRL0 (0x1c5a) ++#define P_VENC_VDAC_DAC1_FILT_CTRL0 (volatile unsigned int *)((0x1c5a << 2) + 0xff900000) ++//dout = ((din + din_d2) * coef1 + (din_d1 * coef0) + 32) >> 6 ++//Bit 15:8, coef1, ++//Bit 7:0, coef0, ++#define VENC_VDAC_DAC1_FILT_CTRL1 (0x1c5b) ++#define P_VENC_VDAC_DAC1_FILT_CTRL1 (volatile unsigned int *)((0x1c5b << 2) + 0xff900000) ++//Bit 0 filter_en ++#define VENC_VDAC_DAC2_FILT_CTRL0 (0x1c5c) ++#define P_VENC_VDAC_DAC2_FILT_CTRL0 (volatile unsigned int *)((0x1c5c << 2) + 0xff900000) ++//dout = ((din + din_d2) * coef1 + (din_d1 * coef0) + 32) >> 6 ++//Bit 15:8, coef1, ++//Bit 7:0, coef0, ++#define VENC_VDAC_DAC2_FILT_CTRL1 (0x1c5d) ++#define P_VENC_VDAC_DAC2_FILT_CTRL1 (volatile unsigned int *)((0x1c5d << 2) + 0xff900000) ++//Bit 0 filter_en ++#define VENC_VDAC_DAC3_FILT_CTRL0 (0x1c5e) ++#define P_VENC_VDAC_DAC3_FILT_CTRL0 (volatile unsigned int *)((0x1c5e << 2) + 0xff900000) ++//dout = ((din + din_d2) * coef1 + (din_d1 * coef0) + 32) >> 6 ++//Bit 15:8, coef1, ++//Bit 7:0, coef0, ++#define VENC_VDAC_DAC3_FILT_CTRL1 (0x1c5f) ++#define P_VENC_VDAC_DAC3_FILT_CTRL1 (volatile unsigned int *)((0x1c5f << 2) + 0xff900000) ++//=========================================================================== ++// ENCT registers ++#define ENCT_VIDEO_EN (0x1c60) ++#define P_ENCT_VIDEO_EN (volatile unsigned int *)((0x1c60 << 2) + 0xff900000) ++#define ENCT_VIDEO_Y_SCL (0x1c61) ++#define P_ENCT_VIDEO_Y_SCL (volatile unsigned int *)((0x1c61 << 2) + 0xff900000) ++#define ENCT_VIDEO_PB_SCL (0x1c62) ++#define P_ENCT_VIDEO_PB_SCL (volatile unsigned int *)((0x1c62 << 2) + 0xff900000) ++#define ENCT_VIDEO_PR_SCL (0x1c63) ++#define P_ENCT_VIDEO_PR_SCL (volatile unsigned int *)((0x1c63 << 2) + 0xff900000) ++#define ENCT_VIDEO_Y_OFFST (0x1c64) ++#define P_ENCT_VIDEO_Y_OFFST (volatile unsigned int *)((0x1c64 << 2) + 0xff900000) ++#define ENCT_VIDEO_PB_OFFST (0x1c65) ++#define P_ENCT_VIDEO_PB_OFFST (volatile unsigned int *)((0x1c65 << 2) + 0xff900000) ++#define ENCT_VIDEO_PR_OFFST (0x1c66) ++#define P_ENCT_VIDEO_PR_OFFST (volatile unsigned int *)((0x1c66 << 2) + 0xff900000) ++//----- Video mode ++#define ENCT_VIDEO_MODE (0x1c67) ++#define P_ENCT_VIDEO_MODE (volatile unsigned int *)((0x1c67 << 2) + 0xff900000) ++#define ENCT_VIDEO_MODE_ADV (0x1c68) ++#define P_ENCT_VIDEO_MODE_ADV (volatile unsigned int *)((0x1c68 << 2) + 0xff900000) ++//--------------- Debug pins ++#define ENCT_DBG_PX_RST (0x1c69) ++#define P_ENCT_DBG_PX_RST (volatile unsigned int *)((0x1c69 << 2) + 0xff900000) ++#define ENCT_DBG_LN_RST (0x1c6a) ++#define P_ENCT_DBG_LN_RST (volatile unsigned int *)((0x1c6a << 2) + 0xff900000) ++#define ENCT_DBG_PX_INT (0x1c6b) ++#define P_ENCT_DBG_PX_INT (volatile unsigned int *)((0x1c6b << 2) + 0xff900000) ++#define ENCT_DBG_LN_INT (0x1c6c) ++#define P_ENCT_DBG_LN_INT (volatile unsigned int *)((0x1c6c << 2) + 0xff900000) ++//----------- Video Advanced setting ++#define ENCT_VIDEO_YFP1_HTIME (0x1c6d) ++#define P_ENCT_VIDEO_YFP1_HTIME (volatile unsigned int *)((0x1c6d << 2) + 0xff900000) ++#define ENCT_VIDEO_YFP2_HTIME (0x1c6e) ++#define P_ENCT_VIDEO_YFP2_HTIME (volatile unsigned int *)((0x1c6e << 2) + 0xff900000) ++#define ENCT_VIDEO_YC_DLY (0x1c6f) ++#define P_ENCT_VIDEO_YC_DLY (volatile unsigned int *)((0x1c6f << 2) + 0xff900000) ++#define ENCT_VIDEO_MAX_PXCNT (0x1c70) ++#define P_ENCT_VIDEO_MAX_PXCNT (volatile unsigned int *)((0x1c70 << 2) + 0xff900000) ++#define ENCT_VIDEO_HAVON_END (0x1c71) ++#define P_ENCT_VIDEO_HAVON_END (volatile unsigned int *)((0x1c71 << 2) + 0xff900000) ++#define ENCT_VIDEO_HAVON_BEGIN (0x1c72) ++#define P_ENCT_VIDEO_HAVON_BEGIN (volatile unsigned int *)((0x1c72 << 2) + 0xff900000) ++#define ENCT_VIDEO_VAVON_ELINE (0x1c73) ++#define P_ENCT_VIDEO_VAVON_ELINE (volatile unsigned int *)((0x1c73 << 2) + 0xff900000) ++#define ENCT_VIDEO_VAVON_BLINE (0x1c74) ++#define P_ENCT_VIDEO_VAVON_BLINE (volatile unsigned int *)((0x1c74 << 2) + 0xff900000) ++#define ENCT_VIDEO_HSO_BEGIN (0x1c75) ++#define P_ENCT_VIDEO_HSO_BEGIN (volatile unsigned int *)((0x1c75 << 2) + 0xff900000) ++#define ENCT_VIDEO_HSO_END (0x1c76) ++#define P_ENCT_VIDEO_HSO_END (volatile unsigned int *)((0x1c76 << 2) + 0xff900000) ++#define ENCT_VIDEO_VSO_BEGIN (0x1c77) ++#define P_ENCT_VIDEO_VSO_BEGIN (volatile unsigned int *)((0x1c77 << 2) + 0xff900000) ++#define ENCT_VIDEO_VSO_END (0x1c78) ++#define P_ENCT_VIDEO_VSO_END (volatile unsigned int *)((0x1c78 << 2) + 0xff900000) ++#define ENCT_VIDEO_VSO_BLINE (0x1c79) ++#define P_ENCT_VIDEO_VSO_BLINE (volatile unsigned int *)((0x1c79 << 2) + 0xff900000) ++#define ENCT_VIDEO_VSO_ELINE (0x1c7a) ++#define P_ENCT_VIDEO_VSO_ELINE (volatile unsigned int *)((0x1c7a << 2) + 0xff900000) ++#define ENCT_VIDEO_MAX_LNCNT (0x1c7b) ++#define P_ENCT_VIDEO_MAX_LNCNT (volatile unsigned int *)((0x1c7b << 2) + 0xff900000) ++#define ENCT_VIDEO_BLANKY_VAL (0x1c7c) ++#define P_ENCT_VIDEO_BLANKY_VAL (volatile unsigned int *)((0x1c7c << 2) + 0xff900000) ++#define ENCT_VIDEO_BLANKPB_VAL (0x1c7d) ++#define P_ENCT_VIDEO_BLANKPB_VAL (volatile unsigned int *)((0x1c7d << 2) + 0xff900000) ++#define ENCT_VIDEO_BLANKPR_VAL (0x1c7e) ++#define P_ENCT_VIDEO_BLANKPR_VAL (volatile unsigned int *)((0x1c7e << 2) + 0xff900000) ++#define ENCT_VIDEO_HOFFST (0x1c7f) ++#define P_ENCT_VIDEO_HOFFST (volatile unsigned int *)((0x1c7f << 2) + 0xff900000) ++#define ENCT_VIDEO_VOFFST (0x1c80) ++#define P_ENCT_VIDEO_VOFFST (volatile unsigned int *)((0x1c80 << 2) + 0xff900000) ++#define ENCT_VIDEO_RGB_CTRL (0x1c81) ++#define P_ENCT_VIDEO_RGB_CTRL (volatile unsigned int *)((0x1c81 << 2) + 0xff900000) ++#define ENCT_VIDEO_FILT_CTRL (0x1c82) ++#define P_ENCT_VIDEO_FILT_CTRL (volatile unsigned int *)((0x1c82 << 2) + 0xff900000) ++#define ENCT_VIDEO_OFLD_VPEQ_OFST (0x1c83) ++#define P_ENCT_VIDEO_OFLD_VPEQ_OFST (volatile unsigned int *)((0x1c83 << 2) + 0xff900000) ++#define ENCT_VIDEO_OFLD_VOAV_OFST (0x1c84) ++#define P_ENCT_VIDEO_OFLD_VOAV_OFST (volatile unsigned int *)((0x1c84 << 2) + 0xff900000) ++#define ENCT_VIDEO_MATRIX_CB (0x1c85) ++#define P_ENCT_VIDEO_MATRIX_CB (volatile unsigned int *)((0x1c85 << 2) + 0xff900000) ++#define ENCT_VIDEO_MATRIX_CR (0x1c86) ++#define P_ENCT_VIDEO_MATRIX_CR (volatile unsigned int *)((0x1c86 << 2) + 0xff900000) ++#define ENCT_VIDEO_RGBIN_CTRL (0x1c87) ++#define P_ENCT_VIDEO_RGBIN_CTRL (volatile unsigned int *)((0x1c87 << 2) + 0xff900000) ++#define ENCT_MAX_LINE_SWITCH_POINT (0x1c88) ++#define P_ENCT_MAX_LINE_SWITCH_POINT (volatile unsigned int *)((0x1c88 << 2) + 0xff900000) ++#define ENCT_DACSEL_0 (0x1c89) ++#define P_ENCT_DACSEL_0 (volatile unsigned int *)((0x1c89 << 2) + 0xff900000) ++#define ENCT_DACSEL_1 (0x1c8a) ++#define P_ENCT_DACSEL_1 (volatile unsigned int *)((0x1c8a << 2) + 0xff900000) ++//=========================================================================== ++// For ENCL ++//=========================================================================== ++// bit 15:8 -- vfifo2vd_vd_sel ++// bit 7 -- vfifo2vd_drop ++// bit 6:1 -- vfifo2vd_delay ++// bit 0 -- vfifo2vd_en ++#define ENCL_VFIFO2VD_CTL (0x1c90) ++#define P_ENCL_VFIFO2VD_CTL (volatile unsigned int *)((0x1c90 << 2) + 0xff900000) ++// bit 12:0 -- vfifo2vd_pixel_start ++#define ENCL_VFIFO2VD_PIXEL_START (0x1c91) ++#define P_ENCL_VFIFO2VD_PIXEL_START (volatile unsigned int *)((0x1c91 << 2) + 0xff900000) ++// bit 12:00 -- vfifo2vd_pixel_end ++#define ENCL_VFIFO2VD_PIXEL_END (0x1c92) ++#define P_ENCL_VFIFO2VD_PIXEL_END (volatile unsigned int *)((0x1c92 << 2) + 0xff900000) ++// bit 10:0 -- vfifo2vd_line_top_start ++#define ENCL_VFIFO2VD_LINE_TOP_START (0x1c93) ++#define P_ENCL_VFIFO2VD_LINE_TOP_START (volatile unsigned int *)((0x1c93 << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_top_end ++#define ENCL_VFIFO2VD_LINE_TOP_END (0x1c94) ++#define P_ENCL_VFIFO2VD_LINE_TOP_END (volatile unsigned int *)((0x1c94 << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_bot_start ++#define ENCL_VFIFO2VD_LINE_BOT_START (0x1c95) ++#define P_ENCL_VFIFO2VD_LINE_BOT_START (volatile unsigned int *)((0x1c95 << 2) + 0xff900000) ++// bit 10:00 -- vfifo2vd_line_bot_end ++#define ENCL_VFIFO2VD_LINE_BOT_END (0x1c96) ++#define P_ENCL_VFIFO2VD_LINE_BOT_END (volatile unsigned int *)((0x1c96 << 2) + 0xff900000) ++#define ENCL_VFIFO2VD_CTL2 (0x1c97) ++#define P_ENCL_VFIFO2VD_CTL2 (volatile unsigned int *)((0x1c97 << 2) + 0xff900000) ++#define ENCL_TST_EN (0x1c98) ++#define P_ENCL_TST_EN (volatile unsigned int *)((0x1c98 << 2) + 0xff900000) ++#define ENCL_TST_MDSEL (0x1c99) ++#define P_ENCL_TST_MDSEL (volatile unsigned int *)((0x1c99 << 2) + 0xff900000) ++#define ENCL_TST_Y (0x1c9a) ++#define P_ENCL_TST_Y (volatile unsigned int *)((0x1c9a << 2) + 0xff900000) ++#define ENCL_TST_CB (0x1c9b) ++#define P_ENCL_TST_CB (volatile unsigned int *)((0x1c9b << 2) + 0xff900000) ++#define ENCL_TST_CR (0x1c9c) ++#define P_ENCL_TST_CR (volatile unsigned int *)((0x1c9c << 2) + 0xff900000) ++#define ENCL_TST_CLRBAR_STRT (0x1c9d) ++#define P_ENCL_TST_CLRBAR_STRT (volatile unsigned int *)((0x1c9d << 2) + 0xff900000) ++#define ENCL_TST_CLRBAR_WIDTH (0x1c9e) ++#define P_ENCL_TST_CLRBAR_WIDTH (volatile unsigned int *)((0x1c9e << 2) + 0xff900000) ++#define ENCL_TST_VDCNT_STSET (0x1c9f) ++#define P_ENCL_TST_VDCNT_STSET (volatile unsigned int *)((0x1c9f << 2) + 0xff900000) ++//=========================================================================== ++// ENCL registers ++#define ENCL_VIDEO_EN (0x1ca0) ++#define P_ENCL_VIDEO_EN (volatile unsigned int *)((0x1ca0 << 2) + 0xff900000) ++#define ENCL_VIDEO_Y_SCL (0x1ca1) ++#define P_ENCL_VIDEO_Y_SCL (volatile unsigned int *)((0x1ca1 << 2) + 0xff900000) ++#define ENCL_VIDEO_PB_SCL (0x1ca2) ++#define P_ENCL_VIDEO_PB_SCL (volatile unsigned int *)((0x1ca2 << 2) + 0xff900000) ++#define ENCL_VIDEO_PR_SCL (0x1ca3) ++#define P_ENCL_VIDEO_PR_SCL (volatile unsigned int *)((0x1ca3 << 2) + 0xff900000) ++#define ENCL_VIDEO_Y_OFFST (0x1ca4) ++#define P_ENCL_VIDEO_Y_OFFST (volatile unsigned int *)((0x1ca4 << 2) + 0xff900000) ++#define ENCL_VIDEO_PB_OFFST (0x1ca5) ++#define P_ENCL_VIDEO_PB_OFFST (volatile unsigned int *)((0x1ca5 << 2) + 0xff900000) ++#define ENCL_VIDEO_PR_OFFST (0x1ca6) ++#define P_ENCL_VIDEO_PR_OFFST (volatile unsigned int *)((0x1ca6 << 2) + 0xff900000) ++//----- Video mode ++#define ENCL_VIDEO_MODE (0x1ca7) ++#define P_ENCL_VIDEO_MODE (volatile unsigned int *)((0x1ca7 << 2) + 0xff900000) ++#define ENCL_VIDEO_MODE_ADV (0x1ca8) ++#define P_ENCL_VIDEO_MODE_ADV (volatile unsigned int *)((0x1ca8 << 2) + 0xff900000) ++//--------------- Debug pins ++#define ENCL_DBG_PX_RST (0x1ca9) ++#define P_ENCL_DBG_PX_RST (volatile unsigned int *)((0x1ca9 << 2) + 0xff900000) ++#define ENCL_DBG_LN_RST (0x1caa) ++#define P_ENCL_DBG_LN_RST (volatile unsigned int *)((0x1caa << 2) + 0xff900000) ++#define ENCL_DBG_PX_INT (0x1cab) ++#define P_ENCL_DBG_PX_INT (volatile unsigned int *)((0x1cab << 2) + 0xff900000) ++#define ENCL_DBG_LN_INT (0x1cac) ++#define P_ENCL_DBG_LN_INT (volatile unsigned int *)((0x1cac << 2) + 0xff900000) ++//----------- Video Advanced setting ++#define ENCL_VIDEO_YFP1_HTIME (0x1cad) ++#define P_ENCL_VIDEO_YFP1_HTIME (volatile unsigned int *)((0x1cad << 2) + 0xff900000) ++#define ENCL_VIDEO_YFP2_HTIME (0x1cae) ++#define P_ENCL_VIDEO_YFP2_HTIME (volatile unsigned int *)((0x1cae << 2) + 0xff900000) ++#define ENCL_VIDEO_YC_DLY (0x1caf) ++#define P_ENCL_VIDEO_YC_DLY (volatile unsigned int *)((0x1caf << 2) + 0xff900000) ++#define ENCL_VIDEO_MAX_PXCNT (0x1cb0) ++#define P_ENCL_VIDEO_MAX_PXCNT (volatile unsigned int *)((0x1cb0 << 2) + 0xff900000) ++#define ENCL_VIDEO_HAVON_END (0x1cb1) ++#define P_ENCL_VIDEO_HAVON_END (volatile unsigned int *)((0x1cb1 << 2) + 0xff900000) ++#define ENCL_VIDEO_HAVON_BEGIN (0x1cb2) ++#define P_ENCL_VIDEO_HAVON_BEGIN (volatile unsigned int *)((0x1cb2 << 2) + 0xff900000) ++#define ENCL_VIDEO_VAVON_ELINE (0x1cb3) ++#define P_ENCL_VIDEO_VAVON_ELINE (volatile unsigned int *)((0x1cb3 << 2) + 0xff900000) ++#define ENCL_VIDEO_VAVON_BLINE (0x1cb4) ++#define P_ENCL_VIDEO_VAVON_BLINE (volatile unsigned int *)((0x1cb4 << 2) + 0xff900000) ++#define ENCL_VIDEO_HSO_BEGIN (0x1cb5) ++#define P_ENCL_VIDEO_HSO_BEGIN (volatile unsigned int *)((0x1cb5 << 2) + 0xff900000) ++#define ENCL_VIDEO_HSO_END (0x1cb6) ++#define P_ENCL_VIDEO_HSO_END (volatile unsigned int *)((0x1cb6 << 2) + 0xff900000) ++#define ENCL_VIDEO_VSO_BEGIN (0x1cb7) ++#define P_ENCL_VIDEO_VSO_BEGIN (volatile unsigned int *)((0x1cb7 << 2) + 0xff900000) ++#define ENCL_VIDEO_VSO_END (0x1cb8) ++#define P_ENCL_VIDEO_VSO_END (volatile unsigned int *)((0x1cb8 << 2) + 0xff900000) ++#define ENCL_VIDEO_VSO_BLINE (0x1cb9) ++#define P_ENCL_VIDEO_VSO_BLINE (volatile unsigned int *)((0x1cb9 << 2) + 0xff900000) ++#define ENCL_VIDEO_VSO_ELINE (0x1cba) ++#define P_ENCL_VIDEO_VSO_ELINE (volatile unsigned int *)((0x1cba << 2) + 0xff900000) ++#define ENCL_VIDEO_MAX_LNCNT (0x1cbb) ++#define P_ENCL_VIDEO_MAX_LNCNT (volatile unsigned int *)((0x1cbb << 2) + 0xff900000) ++#define ENCL_VIDEO_BLANKY_VAL (0x1cbc) ++#define P_ENCL_VIDEO_BLANKY_VAL (volatile unsigned int *)((0x1cbc << 2) + 0xff900000) ++#define ENCL_VIDEO_BLANKPB_VAL (0x1cbd) ++#define P_ENCL_VIDEO_BLANKPB_VAL (volatile unsigned int *)((0x1cbd << 2) + 0xff900000) ++#define ENCL_VIDEO_BLANKPR_VAL (0x1cbe) ++#define P_ENCL_VIDEO_BLANKPR_VAL (volatile unsigned int *)((0x1cbe << 2) + 0xff900000) ++#define ENCL_VIDEO_HOFFST (0x1cbf) ++#define P_ENCL_VIDEO_HOFFST (volatile unsigned int *)((0x1cbf << 2) + 0xff900000) ++#define ENCL_VIDEO_VOFFST (0x1cc0) ++#define P_ENCL_VIDEO_VOFFST (volatile unsigned int *)((0x1cc0 << 2) + 0xff900000) ++#define ENCL_VIDEO_RGB_CTRL (0x1cc1) ++#define P_ENCL_VIDEO_RGB_CTRL (volatile unsigned int *)((0x1cc1 << 2) + 0xff900000) ++#define ENCL_VIDEO_FILT_CTRL (0x1cc2) ++#define P_ENCL_VIDEO_FILT_CTRL (volatile unsigned int *)((0x1cc2 << 2) + 0xff900000) ++#define ENCL_VIDEO_OFLD_VPEQ_OFST (0x1cc3) ++#define P_ENCL_VIDEO_OFLD_VPEQ_OFST (volatile unsigned int *)((0x1cc3 << 2) + 0xff900000) ++#define ENCL_VIDEO_OFLD_VOAV_OFST (0x1cc4) ++#define P_ENCL_VIDEO_OFLD_VOAV_OFST (volatile unsigned int *)((0x1cc4 << 2) + 0xff900000) ++#define ENCL_VIDEO_MATRIX_CB (0x1cc5) ++#define P_ENCL_VIDEO_MATRIX_CB (volatile unsigned int *)((0x1cc5 << 2) + 0xff900000) ++#define ENCL_VIDEO_MATRIX_CR (0x1cc6) ++#define P_ENCL_VIDEO_MATRIX_CR (volatile unsigned int *)((0x1cc6 << 2) + 0xff900000) ++#define ENCL_VIDEO_RGBIN_CTRL (0x1cc7) ++#define P_ENCL_VIDEO_RGBIN_CTRL (volatile unsigned int *)((0x1cc7 << 2) + 0xff900000) ++#define ENCL_MAX_LINE_SWITCH_POINT (0x1cc8) ++#define P_ENCL_MAX_LINE_SWITCH_POINT (volatile unsigned int *)((0x1cc8 << 2) + 0xff900000) ++#define ENCL_DACSEL_0 (0x1cc9) ++#define P_ENCL_DACSEL_0 (volatile unsigned int *)((0x1cc9 << 2) + 0xff900000) ++#define ENCL_DACSEL_1 (0x1cca) ++#define P_ENCL_DACSEL_1 (volatile unsigned int *)((0x1cca << 2) + 0xff900000) ++// ++// Closing file: venc2_regs.h ++// ++//`define VPP_VCBUS_BASE 8'h1d ++// ++// Reading file: vpp_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ----------------------------------------------- ++// CBUS_BASE: VPP_VCBUS_BASE = 0x1d ++// ----------------------------------------------- ++//=========================================================================== ++// Video postprocesing Registers ++//=========================================================================== ++// dummy data used in the VPP preblend and scaler ++// Bit 23:16 Y ++// Bit 15:8 CB ++// Bit 7:0 CR ++#define VPP_DUMMY_DATA (0x1d00) ++#define P_VPP_DUMMY_DATA (volatile unsigned int *)((0x1d00 << 2) + 0xff900000) ++//input line length used in VPP ++#define VPP_LINE_IN_LENGTH (0x1d01) ++#define P_VPP_LINE_IN_LENGTH (volatile unsigned int *)((0x1d01 << 2) + 0xff900000) ++//input Picture height used in VPP ++#define VPP_PIC_IN_HEIGHT (0x1d02) ++#define P_VPP_PIC_IN_HEIGHT (volatile unsigned int *)((0x1d02 << 2) + 0xff900000) ++//Because there are many coefficients used in the vertical filter and horizontal filters, ++//indirect access the coefficients of vertical filter and horizontal filter is used. ++//For vertical filter, there are 33x4 coefficients ++//For horizontal filter, there are 33x4 coefficients ++//Bit 15 index increment, if bit9 == 1 then (0: index increase 1, 1: index increase 2) else (index increase 2) ++//Bit 14 1: read coef through cbus enable, just for debug purpose in case when we wanna check the coef in ram in correct or not ++//Bit 13 if true, vertical separated coef enable ++//Bit 9 if true, use 9bit resolution coef, other use 8bit resolution coef ++//Bit 8:7 type of index, 00: vertical coef, 01: vertical chroma coef: 10: horizontal coef, 11: resevered ++//Bit 6:0 coef index ++#define VPP_SCALE_COEF_IDX (0x1d03) ++#define P_VPP_SCALE_COEF_IDX (volatile unsigned int *)((0x1d03 << 2) + 0xff900000) ++//coefficients for vertical filter and horizontal filter ++#define VPP_SCALE_COEF (0x1d04) ++#define P_VPP_SCALE_COEF (volatile unsigned int *)((0x1d04 << 2) + 0xff900000) ++//these following registers are the absolute line address pointer for output divided screen ++//The output divided screen is shown in the following: ++// ++// -------------------------- <------ line zero ++// . ++// . ++// . region0 <---------- nonlinear region or nonscaling region ++// . ++// --------------------------- ++// --------------------------- <------ region1_startp ++// . ++// . region1 <---------- nonlinear region ++// . ++// . ++// --------------------------- ++// --------------------------- <------ region2_startp ++// . ++// . region2 <---------- linear region ++// . ++// . ++// --------------------------- ++// --------------------------- <------ region3_startp ++// . ++// . region3 <---------- nonlinear region ++// . ++// . ++// --------------------------- ++// --------------------------- <------ region4_startp ++// . ++// . region4 <---------- nonlinear region or nonoscaling region ++// . ++// . ++// --------------------------- <------ region4_endp ++//Bit 28:16 region1 startp ++//Bit 12:0 region2 startp ++#define VPP_VSC_REGION12_STARTP (0x1d05) ++#define P_VPP_VSC_REGION12_STARTP (volatile unsigned int *)((0x1d05 << 2) + 0xff900000) ++//Bit 28:16 region3 startp ++//Bit 12:0 region4 startp ++#define VPP_VSC_REGION34_STARTP (0x1d06) ++#define P_VPP_VSC_REGION34_STARTP (volatile unsigned int *)((0x1d06 << 2) + 0xff900000) ++#define VPP_VSC_REGION4_ENDP (0x1d07) ++#define P_VPP_VSC_REGION4_ENDP (volatile unsigned int *)((0x1d07 << 2) + 0xff900000) ++//vertical start phase step, (source/dest)*(2^24) ++//Bit 27:24 integer part ++//Bit 23:0 fraction part ++#define VPP_VSC_START_PHASE_STEP (0x1d08) ++#define P_VPP_VSC_START_PHASE_STEP (volatile unsigned int *)((0x1d08 << 2) + 0xff900000) ++//vertical scaler region0 phase slope, Bit24 signed bit ++#define VPP_VSC_REGION0_PHASE_SLOPE (0x1d09) ++#define P_VPP_VSC_REGION0_PHASE_SLOPE (volatile unsigned int *)((0x1d09 << 2) + 0xff900000) ++//vertical scaler region1 phase slope, Bit24 signed bit ++#define VPP_VSC_REGION1_PHASE_SLOPE (0x1d0a) ++#define P_VPP_VSC_REGION1_PHASE_SLOPE (volatile unsigned int *)((0x1d0a << 2) + 0xff900000) ++//vertical scaler region3 phase slope, Bit24 signed bit ++#define VPP_VSC_REGION3_PHASE_SLOPE (0x1d0b) ++#define P_VPP_VSC_REGION3_PHASE_SLOPE (volatile unsigned int *)((0x1d0b << 2) + 0xff900000) ++//vertical scaler region4 phase slope, Bit24 signed bit ++#define VPP_VSC_REGION4_PHASE_SLOPE (0x1d0c) ++#define P_VPP_VSC_REGION4_PHASE_SLOPE (volatile unsigned int *)((0x1d0c << 2) + 0xff900000) ++//Bit 18:17 double line mode, input/output line width of vscaler becomes 2X, ++// so only 2 line buffer in this case, use for 3D line by line interleave scaling ++// bit1 true, double the input width and half input height, bit0 true, change line buffer 2 lines instead of 4 lines ++//Bit 16 0: progressive output, 1: interlace output ++//Bit 15 vertical scaler output line0 in advance or not for bottom field ++//Bit 14:13 vertical scaler initial repeat line0 number for bottom field ++//Bit 11:8 vertical scaler initial receiving number for bottom field ++//Bit 7 vertical scaler output line0 in advance or not for top field ++//Bit 6:5 vertical scaler initial repeat line0 number for top field ++//Bit 3:0 vertical scaler initial receiving number for top field ++#define VPP_VSC_PHASE_CTRL (0x1d0d) ++#define P_VPP_VSC_PHASE_CTRL (volatile unsigned int *)((0x1d0d << 2) + 0xff900000) ++//Bit 31:16 vertical scaler field initial phase for bottom field ++//Bit 15:0 vertical scaler field initial phase for top field ++#define VPP_VSC_INI_PHASE (0x1d0e) ++#define P_VPP_VSC_INI_PHASE (volatile unsigned int *)((0x1d0e << 2) + 0xff900000) ++//Bit 28:16 region1 startp ++//Bit 12:0 region2 startp ++#define VPP_HSC_REGION12_STARTP (0x1d10) ++#define P_VPP_HSC_REGION12_STARTP (volatile unsigned int *)((0x1d10 << 2) + 0xff900000) ++//Bit 28:16 region3 startp ++//Bit 12:0 region4 startp ++#define VPP_HSC_REGION34_STARTP (0x1d11) ++#define P_VPP_HSC_REGION34_STARTP (volatile unsigned int *)((0x1d11 << 2) + 0xff900000) ++#define VPP_HSC_REGION4_ENDP (0x1d12) ++#define P_VPP_HSC_REGION4_ENDP (volatile unsigned int *)((0x1d12 << 2) + 0xff900000) ++//horizontal start phase step, (source/dest)*(2^24) ++//Bit 27:24 integer part ++//Bit 23:0 fraction part ++#define VPP_HSC_START_PHASE_STEP (0x1d13) ++#define P_VPP_HSC_START_PHASE_STEP (volatile unsigned int *)((0x1d13 << 2) + 0xff900000) ++//horizontal scaler region0 phase slope, Bit24 signed bit ++#define VPP_HSC_REGION0_PHASE_SLOPE (0x1d14) ++#define P_VPP_HSC_REGION0_PHASE_SLOPE (volatile unsigned int *)((0x1d14 << 2) + 0xff900000) ++//horizontal scaler region1 phase slope, Bit24 signed bit ++#define VPP_HSC_REGION1_PHASE_SLOPE (0x1d15) ++#define P_VPP_HSC_REGION1_PHASE_SLOPE (volatile unsigned int *)((0x1d15 << 2) + 0xff900000) ++//horizontal scaler region3 phase slope, Bit24 signed bit ++#define VPP_HSC_REGION3_PHASE_SLOPE (0x1d16) ++#define P_VPP_HSC_REGION3_PHASE_SLOPE (volatile unsigned int *)((0x1d16 << 2) + 0xff900000) ++//horizontal scaler region4 phase slope, Bit24 signed bit ++#define VPP_HSC_REGION4_PHASE_SLOPE (0x1d17) ++#define P_VPP_HSC_REGION4_PHASE_SLOPE (volatile unsigned int *)((0x1d17 << 2) + 0xff900000) ++//Bit 22:21 horizontal scaler initial repeat pixel0 number0 ++//Bit 19:16 horizontal scaler initial receiving number0 ++//Bit 15:0 horizontal scaler top field initial phase0 ++#define VPP_HSC_PHASE_CTRL (0x1d18) ++#define P_VPP_HSC_PHASE_CTRL (volatile unsigned int *)((0x1d18 << 2) + 0xff900000) ++// Bit 22 if true, divide VSC line length 2 as the HSC input length, othwise VSC length length is the same as the VSC line length, ++// just for special usage, more flexibility ++// Bit 21 if true, prevsc uses lin buffer, otherwise prevsc does not use line buffer, it should be same as prevsc_en ++// Bit 20 prehsc_en ++// Bit 19 prevsc_en ++// Bit 18 vsc_en ++// Bit 17 hsc_en ++// Bit 16 scale_top_en ++// Bit 15 video1 scale out enable ++// Bit 12 if true, region0,region4 are nonlinear regions, otherwise they are not scaling regions, for horizontal scaler ++// Bit 10:8 horizontal scaler bank length ++// Bit 5, vertical scaler phase field mode, if true, disable the opposite parity line output, more bandwith needed if output 1080i ++// Bit 4 if true, region0,region4 are nonlinear regions, otherwise they are not scaling regions, for vertical scaler ++// Bit 2:0 vertical scaler bank length ++#define VPP_SC_MISC (0x1d19) ++#define P_VPP_SC_MISC (volatile unsigned int *)((0x1d19 << 2) + 0xff900000) ++// preblend video1 horizontal start and end ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_PREBLEND_VD1_H_START_END (0x1d1a) ++#define P_VPP_PREBLEND_VD1_H_START_END (volatile unsigned int *)((0x1d1a << 2) + 0xff900000) ++// preblend video1 vertical start and end ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_PREBLEND_VD1_V_START_END (0x1d1b) ++#define P_VPP_PREBLEND_VD1_V_START_END (volatile unsigned int *)((0x1d1b << 2) + 0xff900000) ++// postblend video1 horizontal start and end ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_POSTBLEND_VD1_H_START_END (0x1d1c) ++#define P_VPP_POSTBLEND_VD1_H_START_END (volatile unsigned int *)((0x1d1c << 2) + 0xff900000) ++// postblend video1 vertical start and end ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_POSTBLEND_VD1_V_START_END (0x1d1d) ++#define P_VPP_POSTBLEND_VD1_V_START_END (volatile unsigned int *)((0x1d1d << 2) + 0xff900000) ++// preblend/postblend video2 horizontal start and end ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_BLEND_VD2_H_START_END (0x1d1e) ++#define P_VPP_BLEND_VD2_H_START_END (volatile unsigned int *)((0x1d1e << 2) + 0xff900000) ++// preblend/postblend video2 vertical start and end ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_BLEND_VD2_V_START_END (0x1d1f) ++#define P_VPP_BLEND_VD2_V_START_END (volatile unsigned int *)((0x1d1f << 2) + 0xff900000) ++// preblend horizontal size ++#define VPP_PREBLEND_H_SIZE (0x1d20) ++#define P_VPP_PREBLEND_H_SIZE (volatile unsigned int *)((0x1d20 << 2) + 0xff900000) ++// postblend horizontal size ++#define VPP_POSTBLEND_H_SIZE (0x1d21) ++#define P_VPP_POSTBLEND_H_SIZE (volatile unsigned int *)((0x1d21 << 2) + 0xff900000) ++//VPP hold lines ++//Bit 29:24 ++//Bit 21:16 ++//Bit 15:8 preblend hold lines ++//Bit 7:0 postblend hold lines ++#define VPP_HOLD_LINES (0x1d22) ++#define P_VPP_HOLD_LINES (volatile unsigned int *)((0x1d22 << 2) + 0xff900000) ++//Bit 26 if true, automatic change post blend output to one color if field ==1 ++//Bit 25 if true, change screen to one color value for preblender ++//Bit 24 if true, change screen to one color value for postblender ++// Bit 23:16 one color Y ++// Bit 15:8 one color Cb ++// Bit 7:0 one color Cr ++#define VPP_BLEND_ONECOLOR_CTRL (0x1d23) ++#define P_VPP_BLEND_ONECOLOR_CTRL (volatile unsigned int *)((0x1d23 << 2) + 0xff900000) ++//Read Only, VPP preblend current_x, current_y ++//Bit 28:16 current_x ++//Bit 12:0 current_y ++#define VPP_PREBLEND_CURRENT_XY (0x1d24) ++#define P_VPP_PREBLEND_CURRENT_XY (volatile unsigned int *)((0x1d24 << 2) + 0xff900000) ++//Read Only, VPP postblend current_x, current_y ++//Bit 28:16 current_x ++//Bit 12:0 current_y ++#define VPP_POSTBLEND_CURRENT_XY (0x1d25) ++#define P_VPP_POSTBLEND_CURRENT_XY (volatile unsigned int *)((0x1d25 << 2) + 0xff900000) ++// Bit 31 vd1_bgosd_exchange_en for preblend ++// Bit 30 vd1_bgosd_exchange_en for postblend ++// Bit 28 color management enable ++// Bit 27, if true, vd2 use viu2 output as the input, otherwise use normal vd2 from memory ++// Bit 26:18, vd2 alpha ++// Bit 17, osd2 enable for preblend ++// Bit 16, osd1 enable for preblend ++// Bit 15, vd2 enable for preblend ++// Bit 14, vd1 enable for preblend ++// Bit 13, osd2 enable for postblend ++// Bit 12, osd1 enable for postblend ++// Bit 11, vd2 enable for postblend ++// Bit 10, vd1 enable for postblend ++// Bit 9, if true, osd1 is alpha premultipiled ++// Bit 8, if true, osd2 is alpha premultipiled ++// Bit 7, postblend module enable ++// Bit 6, preblend module enable ++// Bit 5, if true, osd2 foreground compared with osd1 in preblend ++// Bit 4, if true, osd2 foreground compared with osd1 in postblend ++// Bit 3, ++// Bit 2, if true, disable resetting async fifo every vsync, otherwise every vsync ++// the aync fifo will be reseted. ++// Bit 1, ++// Bit 0 if true, the output result of VPP is saturated ++#define VPP_MISC (0x1d26) ++#define P_VPP_MISC (volatile unsigned int *)((0x1d26 << 2) + 0xff900000) ++//Bit 31:20 ofifo line length minus 1 ++//Bit 19 if true invert input vs ++//Bit 18 if true invert input hs ++//Bit 17 force top/bottom field, enable ++//Bit 16 force top/bottom field, 0: top, 1: bottom ++//Bit 15 force one go_field, one pluse, write only ++//Bit 14 force one go_line, one pluse, write only ++//Bit 12:0 ofifo size (actually only bit 10:1 is valid), always even number ++#define VPP_OFIFO_SIZE (0x1d27) ++#define P_VPP_OFIFO_SIZE (volatile unsigned int *)((0x1d27 << 2) + 0xff900000) ++//Read only ++//Bit 28:18 current scale out fifo counter ++//Bit 17:13 current afifo counter ++//Bit 12:0 current ofifo counter ++#define VPP_FIFO_STATUS (0x1d28) ++#define P_VPP_FIFO_STATUS (volatile unsigned int *)((0x1d28 << 2) + 0xff900000) ++// Bit 5 SMOKE3 postblend enable only when postblend vd2 is not enable ++// Bit 4 SMOKE3 preblend enable only when preblend vd2 is not enable ++// Bit 3 SMOKE2 postblend enable only when postblend osd2 is not enable ++// Bit 2 SMOKE2 preblend enable only when preblend osd2 is not enable ++// Bit 1 SMOKE1 postblend enable only when postblend osd1 is not enable ++// Bit 0 SMOKE1 preblend enable only when preblend osd1 is not enable ++#define VPP_SMOKE_CTRL (0x1d29) ++#define P_VPP_SMOKE_CTRL (volatile unsigned int *)((0x1d29 << 2) + 0xff900000) ++//smoke can be used only when that blending is disable and then be used as smoke function ++//smoke1 for OSD1 chanel ++//smoke2 for OSD2 chanel ++//smoke3 for VD2 chanel ++//31:24 Y ++//23:16 Cb ++//15:8 Cr ++//7:0 Alpha ++#define VPP_SMOKE1_VAL (0x1d2a) ++#define P_VPP_SMOKE1_VAL (volatile unsigned int *)((0x1d2a << 2) + 0xff900000) ++#define VPP_SMOKE2_VAL (0x1d2b) ++#define P_VPP_SMOKE2_VAL (volatile unsigned int *)((0x1d2b << 2) + 0xff900000) ++#define VPP_SMOKE3_VAL (0x1d2c) ++#define P_VPP_SMOKE3_VAL (volatile unsigned int *)((0x1d2c << 2) + 0xff900000) ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_SMOKE1_H_START_END (0x1d2d) ++#define P_VPP_SMOKE1_H_START_END (volatile unsigned int *)((0x1d2d << 2) + 0xff900000) ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_SMOKE1_V_START_END (0x1d2e) ++#define P_VPP_SMOKE1_V_START_END (volatile unsigned int *)((0x1d2e << 2) + 0xff900000) ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_SMOKE2_H_START_END (0x1d2f) ++#define P_VPP_SMOKE2_H_START_END (volatile unsigned int *)((0x1d2f << 2) + 0xff900000) ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_SMOKE2_V_START_END (0x1d30) ++#define P_VPP_SMOKE2_V_START_END (volatile unsigned int *)((0x1d30 << 2) + 0xff900000) ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_SMOKE3_H_START_END (0x1d31) ++#define P_VPP_SMOKE3_H_START_END (volatile unsigned int *)((0x1d31 << 2) + 0xff900000) ++//Bit 28:16 start ++//Bit 12:0 end ++#define VPP_SMOKE3_V_START_END (0x1d32) ++#define P_VPP_SMOKE3_V_START_END (volatile unsigned int *)((0x1d32 << 2) + 0xff900000) ++//Bit 27:16 scale out fifo line length minus 1 ++//Bit 12:0 scale out fifo size (actually only bit 11:1 is valid, 11:1, max 1024), always even number ++#define VPP_SCO_FIFO_CTRL (0x1d33) ++#define P_VPP_SCO_FIFO_CTRL (volatile unsigned int *)((0x1d33 << 2) + 0xff900000) ++//for 3D quincunx sub-sampling and horizontal pixel by pixel 3D interleaving ++//Bit 27:24, prehsc_mode, bit 3:2, prehsc odd line interp mode, bit 1:0, prehsc even line interp mode, ++// each 2bit, 00: pix0+pix1/2, average, 01: pix1, 10: pix0 ++//Bit 23 horizontal scaler double pixel mode ++//Bit 22:21 horizontal scaler initial repeat pixel0 number1 ++//Bit 19:16 horizontal scaler initial receiving number1 ++//Bit 15:0 horizontal scaler top field initial phase1 ++#define VPP_HSC_PHASE_CTRL1 (0x1d34) ++#define P_VPP_HSC_PHASE_CTRL1 (volatile unsigned int *)((0x1d34 << 2) + 0xff900000) ++//for 3D quincunx sub-sampling ++//31:24 prehsc pattern, each patten 1 bit, from lsb -> msb ++//22:20 prehsc pattern start ++//18:16 prehsc pattern end ++//15:8 hsc pattern, each patten 1 bit, from lsb -> msb ++//6:4 hsc pattern start ++//2:0 hsc pattern end ++#define VPP_HSC_INI_PAT_CTRL (0x1d35) ++#define P_VPP_HSC_INI_PAT_CTRL (volatile unsigned int *)((0x1d35 << 2) + 0xff900000) ++//Bit 3 minus black level enable for vadj2 ++//Bit 2 Video adjustment enable for vadj2 ++//Bit 1 minus black level enable for vadj1 ++//Bit 0 Video adjustment enable for vadj1 ++#define VPP_VADJ_CTRL (0x1d40) ++#define P_VPP_VADJ_CTRL (volatile unsigned int *)((0x1d40 << 2) + 0xff900000) ++//Bit 16:8 brightness, signed value ++//Bit 7:0 contrast, unsigned value, contrast from 0 <= contrast <2 ++#define VPP_VADJ1_Y (0x1d41) ++#define P_VPP_VADJ1_Y (volatile unsigned int *)((0x1d41 << 2) + 0xff900000) ++//cb' = cb*ma + cr*mb ++//cr' = cb*mc + cr*md ++//all are bit 9:0, signed value, -2 < ma/mb/mc/md < 2 ++#define VPP_VADJ1_MA_MB (0x1d42) ++#define P_VPP_VADJ1_MA_MB (volatile unsigned int *)((0x1d42 << 2) + 0xff900000) ++#define VPP_VADJ1_MC_MD (0x1d43) ++#define P_VPP_VADJ1_MC_MD (volatile unsigned int *)((0x1d43 << 2) + 0xff900000) ++//Bit 16:8 brightness, signed value ++//Bit 7:0 contrast, unsigned value, contrast from 0 <= contrast <2 ++#define VPP_VADJ2_Y (0x1d44) ++#define P_VPP_VADJ2_Y (volatile unsigned int *)((0x1d44 << 2) + 0xff900000) ++//cb' = cb*ma + cr*mb ++//cr' = cb*mc + cr*md ++//all are bit 9:0, signed value, -2 < ma/mb/mc/md < 2 ++#define VPP_VADJ2_MA_MB (0x1d45) ++#define P_VPP_VADJ2_MA_MB (volatile unsigned int *)((0x1d45 << 2) + 0xff900000) ++#define VPP_VADJ2_MC_MD (0x1d46) ++#define P_VPP_VADJ2_MC_MD (volatile unsigned int *)((0x1d46 << 2) + 0xff900000) ++//Bit 2 horizontal chroma sharp/blur selection, 0:sharp, 1: blur ++//Bit 1 horizontal luma sharp/blur selection, 0:sharp, 1: blur ++//Bit 0 horizontal sharpness enable ++#define VPP_HSHARP_CTRL (0x1d50) ++#define P_VPP_HSHARP_CTRL (volatile unsigned int *)((0x1d50 << 2) + 0xff900000) ++//{1'b0,threhsold} < diff ++//Bit 26:16 luma threshold0 ++//Bit 10:0 luma threshold1 ++#define VPP_HSHARP_LUMA_THRESH01 (0x1d51) ++#define P_VPP_HSHARP_LUMA_THRESH01 (volatile unsigned int *)((0x1d51 << 2) + 0xff900000) ++// ++//Bit 26:16 luma threshold2 ++//Bit 10:0 luma threshold3 ++#define VPP_HSHARP_LUMA_THRESH23 (0x1d52) ++#define P_VPP_HSHARP_LUMA_THRESH23 (volatile unsigned int *)((0x1d52 << 2) + 0xff900000) ++//Bit 26:16 chroma threshold0 ++//Bit 10:0 chroma threshold1 ++#define VPP_HSHARP_CHROMA_THRESH01 (0x1d53) ++#define P_VPP_HSHARP_CHROMA_THRESH01 (volatile unsigned int *)((0x1d53 << 2) + 0xff900000) ++//Bit 26:16 chroma threshold2 ++//Bit 10:0 chroma threshold3 ++#define VPP_HSHARP_CHROMA_THRESH23 (0x1d54) ++#define P_VPP_HSHARP_CHROMA_THRESH23 (volatile unsigned int *)((0x1d54 << 2) + 0xff900000) ++//Bit 23:16 luma gain2 ++//Bit 15:8 luma gain1 ++//Bit 7:0 luma gain0 ++#define VPP_HSHARP_LUMA_GAIN (0x1d55) ++#define P_VPP_HSHARP_LUMA_GAIN (volatile unsigned int *)((0x1d55 << 2) + 0xff900000) ++// ++//Bit 23:16 chroma gain2 ++//Bit 15:8 chroma gain1 ++//Bit 7:0 chroma gain0 ++#define VPP_HSHARP_CHROMA_GAIN (0x1d56) ++#define P_VPP_HSHARP_CHROMA_GAIN (volatile unsigned int *)((0x1d56 << 2) + 0xff900000) ++//Read only ++//Bit 31, if it is true, it means this probe is valid in the last field/frame ++//Bit 29:20 component 0 ++//Bit 19:10 component 1 ++//Bit 9:0 component 2 ++#define VPP_MATRIX_PROBE_COLOR (0x1d5c) ++#define P_VPP_MATRIX_PROBE_COLOR (volatile unsigned int *)((0x1d5c << 2) + 0xff900000) ++#define VPP_MATRIX_PROBE_COLOR1 (0x1dd7) ++#define P_VPP_MATRIX_PROBE_COLOR1 (volatile unsigned int *)((0x1dd7 << 2) + 0xff900000) ++//Bit 23:16 component 0 ++//Bit 15:8 component 1 ++//Bit 7:0 component 2 ++#define VPP_MATRIX_HL_COLOR (0x1d5d) ++#define P_VPP_MATRIX_HL_COLOR (volatile unsigned int *)((0x1d5d << 2) + 0xff900000) ++//28:16 probe x, postion ++//12:0 probe y, position ++#define VPP_MATRIX_PROBE_POS (0x1d5e) ++#define P_VPP_MATRIX_PROBE_POS (volatile unsigned int *)((0x1d5e << 2) + 0xff900000) ++//Bit 16, highlight_en ++//Bit 15 probe_post, if true, probe pixel data after matrix, otherwise probe pixel data before matrix ++//Bit 14:12 probe_sel, 000: select post matrix, 001: select vd1 matrix, 010: select vd2 matrix ++//Bit 9:8 matrix coef idx selection, 00: select post matrix, 01: select vd1 matrix, 10: select vd2 matrix ++//Bit 5 vd1 conversion matrix enable ++//Bit 4 vd2 conversion matrix enable ++//Bit 2 output y/cb/cr saturation enable, only for post matrix (y saturate to 16-235, cb/cr saturate to 16-240) ++//Bit 1 input y/cb/cr saturation enable, only for post matrix (y saturate to 16-235, cb/cr saturate to 16-240) ++//Bit 0 post conversion matrix enable ++#define VPP_MATRIX_CTRL (0x1d5f) ++#define P_VPP_MATRIX_CTRL (volatile unsigned int *)((0x1d5f << 2) + 0xff900000) ++//Bit 28:16 coef00 ++//Bit 12:0 coef01 ++#define VPP_MATRIX_COEF00_01 (0x1d60) ++#define P_VPP_MATRIX_COEF00_01 (volatile unsigned int *)((0x1d60 << 2) + 0xff900000) ++//Bit 28:16 coef02 ++//Bit 12:0 coef10 ++#define VPP_MATRIX_COEF02_10 (0x1d61) ++#define P_VPP_MATRIX_COEF02_10 (volatile unsigned int *)((0x1d61 << 2) + 0xff900000) ++//Bit 28:16 coef11 ++//Bit 12:0 coef12 ++#define VPP_MATRIX_COEF11_12 (0x1d62) ++#define P_VPP_MATRIX_COEF11_12 (volatile unsigned int *)((0x1d62 << 2) + 0xff900000) ++//Bit 28:16 coef20 ++//Bit 12:0 coef21 ++#define VPP_MATRIX_COEF20_21 (0x1d63) ++#define P_VPP_MATRIX_COEF20_21 (volatile unsigned int *)((0x1d63 << 2) + 0xff900000) ++#define VPP_MATRIX_COEF22 (0x1d64) ++#define P_VPP_MATRIX_COEF22 (volatile unsigned int *)((0x1d64 << 2) + 0xff900000) ++//Bit 26:16 offset0 ++//Bit 10:0 offset1 ++#define VPP_MATRIX_OFFSET0_1 (0x1d65) ++#define P_VPP_MATRIX_OFFSET0_1 (volatile unsigned int *)((0x1d65 << 2) + 0xff900000) ++//Bit 10:0 offset2 ++#define VPP_MATRIX_OFFSET2 (0x1d66) ++#define P_VPP_MATRIX_OFFSET2 (volatile unsigned int *)((0x1d66 << 2) + 0xff900000) ++//Bit 26:16 pre_offset0 ++//Bit 10:0 pre_offset1 ++#define VPP_MATRIX_PRE_OFFSET0_1 (0x1d67) ++#define P_VPP_MATRIX_PRE_OFFSET0_1 (volatile unsigned int *)((0x1d67 << 2) + 0xff900000) ++//Bit 10:0 pre_offset2 ++#define VPP_MATRIX_PRE_OFFSET2 (0x1d68) ++#define P_VPP_MATRIX_PRE_OFFSET2 (volatile unsigned int *)((0x1d68 << 2) + 0xff900000) ++// dummy data used in the VPP postblend ++// Bit 23:16 Y ++// Bit 15:8 CB ++// Bit 7:0 CR ++#define VPP_DUMMY_DATA1 (0x1d69) ++#define P_VPP_DUMMY_DATA1 (volatile unsigned int *)((0x1d69 << 2) + 0xff900000) ++//Bit 31 gainoff module enable ++//Bit 26:16 gain0, 1.10 unsigned data ++//Bit 10:0 gain1, 1.10 unsigned dat ++#define VPP_GAINOFF_CTRL0 (0x1d6a) ++#define P_VPP_GAINOFF_CTRL0 (volatile unsigned int *)((0x1d6a << 2) + 0xff900000) ++//Bit 26:16 gain2, 1.10 unsigned data ++//Bit 10:0, offset0, signed data ++#define VPP_GAINOFF_CTRL1 (0x1d6b) ++#define P_VPP_GAINOFF_CTRL1 (volatile unsigned int *)((0x1d6b << 2) + 0xff900000) ++//Bit 26:16, offset1, signed data ++//Bit 10:0, offset2, signed data ++#define VPP_GAINOFF_CTRL2 (0x1d6c) ++#define P_VPP_GAINOFF_CTRL2 (volatile unsigned int *)((0x1d6c << 2) + 0xff900000) ++//Bit 26:16, pre_offset0, signed data ++//Bit 10:0, pre_offset1, signed data ++#define VPP_GAINOFF_CTRL3 (0x1d6d) ++#define P_VPP_GAINOFF_CTRL3 (volatile unsigned int *)((0x1d6d << 2) + 0xff900000) ++//Bit 10:0, pre_offset2, signed data ++#define VPP_GAINOFF_CTRL4 (0x1d6e) ++#define P_VPP_GAINOFF_CTRL4 (volatile unsigned int *)((0x1d6e << 2) + 0xff900000) ++//only two registers used in the color management, which are defined in the chroma_reg.h ++//`define VPP_CHROMA_ADDR_PORT 8'h70 ++//`define VPP_CHROMA_DATA_PORT 8'h71 ++// ++// Reading file: chroma_reg.h ++// ++//********************************************************************************** ++//* Copyright (c) 2008, AMLOGIC Inc. ++//* All rights reserved ++//********************************************************************************** ++//* File : chroma_reg.v ++//* Author : Terrence Wang ++//* Date : Dec 2008 ++//* Description : ++//* ++//********************************************************************************** ++//* Modification History: ++//* Date Modified By Reason ++//********************************************************************************** ++// synopsys translate_off ++// synopsys translate_on ++#define VPP_CHROMA_ADDR_PORT (0x1d70) ++#define P_VPP_CHROMA_ADDR_PORT (volatile unsigned int *)((0x1d70 << 2) + 0xff900000) ++#define VPP_CHROMA_DATA_PORT (0x1d71) ++#define P_VPP_CHROMA_DATA_PORT (volatile unsigned int *)((0x1d71 << 2) + 0xff900000) ++//`define CHROMA_ADDR_PORT 8'h67 ++//`define CHROMA_DATA_PORT 8'h68 ++ ++// CHROMA_GAIN_REG_XX(00-07) ++// hue gain, sat gain function control ++// Bit 31 reg_sat_en enable sat adjustment in current region ++// Bit 27 reg_sat_increase sat adjustment increase or decrease ++// 1'b1: increase 1'b0: decrease ++// Bit 26:25 reg_sat_central_en sat adjustment with central biggest or one side biggest ++// 2'b01 central biggest 2'b00 one side biggest ++// Bit 24 reg_sat_shape when sat adjustment one side biggest, define left or right ++// 1'b1: left side biggest 1'b0 right side biggest ++// Bit 23:16 reg_sat_gain define the sat gain when sat adjustment ++// 0x00-0xff ++// Bit 15 reg_hue_en enable hue adjustment in current region ++// Bit 11 reg_hue_clockwise hue adjustment clockwise or anti-clockwise ++// 1'b1: clockwise 1'b0: anti-clockwise ++// Bit 10:9 reg_hue_central_en when hue adjustment, parabola curve or non-symmetry curve ++// 1'b1: parabola curve 1'b0: non-symmetry curve ++// Bit 8 reg_hue_shape when non-symmetry curve, define which side change more ++// 1'b1: right side change more 1'b0: left side change more ++// Bit 7:0 reg_hue_gain define the hue gain when hue adjustment ++// 0x00-0x80, note: should be no bigger than 0x80 ++ ++ #define CHROMA_GAIN_REG00 0x00 ++ ++ ++// HUE_HUE_RANGE_REG_XX(00-07) ++// hue range select ++// Bit 31:24 no use now ++// Bit 23:16 reg_hue_shift_range define the angle of target region ++// 0x00-0xff,(0x100 means 120 degree though it can not be set) ++// must be greater or equal than 8'd8 ++// Bit 15 reg_symmetry_en this is used for create one symmetry region ++// the symmetry region hue_shift_start = reg_hue_hue_shift_start + reg_hue_shift_range<<5 ++// the symmetry region hue_shift_range = reg_hue_shift_range ++// in symmetry region, all the sat and hue setting will be same with original region, ++// except reg_hue_shape, reg_sat_shape, reg_hue_clockwise will be reversed ++// Bit 14:0 reg_hue_hue_shift_start define the start angle of target region ++// 0x6000 means 360 degree ++// only region 0 and 1 can exceed 360 degrees. ++ ++ #define HUE_HUE_RANGE_REG00 0x01 ++ ++ ++// HUE_RANGE_INV_REG_XX ++// Calculation should be follow ++// HUE_RANGE_INV_REG0X[15:0] = ((1<<20)/HUE_HUE_RANGE_REG0X[23:16]+1)>>1 ++// HUE_RANGE_INV_REG_XX is to used to save divider ++ ++ #define HUE_RANGE_INV_REG00 0x02 ++ ++ ++ ++// for belowing each low, high, low_slope, high_slope group: ++// a_____________b ++// / \ a = low + 2^low_slope ++// / \ b = high - 2^high_slope ++// / \ low_slope <= 7; high_slope <= 7 ++// / \ b >= a ++// ______/_____________________\________ ++// low high ++// ++// ++// HUE_LUM_RANGE_REG_XX(00-07) ++// luma range selection for hue adjustment ++// Bit 31:24 reg_sat_lum_low define the low level of luma value for sat adjustment ++// 0x00-0xff ++// Bit 23:20 reg_hue_lum_high_slope define the slope area below high level of luma value for hue adjustment ++// 0x00-0x07 ++// Bit 19:16 reg_hue_lum_low_slope define the slope area above low level of luma value for hue adjustment ++// 0x00-0x07 ++// Bit 15:8 reg_hue_lum_high define the high level of luma value for hue adjustment ++// 0x00-0xff ++// Bit 7:0 reg_hue_lum_low define the low level of luma value for hue adjustment ++// 0x00-0xff ++ ++ #define HUE_LUM_RANGE_REG00 0x03 ++ ++// HUE_SAT_RANGE_REG_XX(00-07) ++// sat range selection for hue adjustment ++// Bit 31:24 reg_sat_lum_high define the high level of luma value for sat adjustment ++// 0x00-0xff ++// Bit 23:20 reg_hue_sat_high_slope define the slope area below high level of sat value for hue adjustment ++// 0x00-0x07 ++// Bit 19:16 reg_hue_sat_low_slope define the slope area above low level of sat value for hue adjustment ++// 0x00-0x07 ++// Bit 15:8 reg_hue_sat_high define the high level of sat value for hue adjustment ++// 0x00-0xff ++// Bit 7:0 reg_hue_sat_low define the low level of sat value for hue adjustment ++// 0x00-0xff ++ ++ #define HUE_SAT_RANGE_REG00 0x04 ++ ++// SAT_SAT_RANGE_REG_XX(00-07) ++// sat range selection for hue adjustment ++// Bit 31:28 reg_sat_lum_high_slope define the slope area below high level of luma value for sat adjustment ++// 0x00-0x07 ++// Bit 27:24 reg_sat_lum_low_slope define the slope area above low level of luma value for sat adjustment ++// 0x00-0x07 ++// Bit 23:20 reg_sat_sat_high_slope define the slope area below high level of sat value for sat adjustment ++// 0x00-0x07 ++// Bit 19:16 reg_sat_sat_low_slope define the slope area above low level of sat value for sat adjustment ++// 0x00-0x07 ++// Bit 15:8 reg_sat_sat_high define the high level of sat value for sat adjustment ++// 0x00-0xff ++// Bit 7:0 reg_sat_sat_low define the low level of sat value for sat adjustment ++// 0x00-0xff ++ ++ #define SAT_SAT_RANGE_REG00 0x05 ++ ++ ++ #define CHROMA_GAIN_REG01 0x06 ++ #define HUE_HUE_RANGE_REG01 0x07 ++ #define HUE_RANGE_INV_REG01 0x08 ++ #define HUE_LUM_RANGE_REG01 0x09 ++ #define HUE_SAT_RANGE_REG01 0x0a ++ #define SAT_SAT_RANGE_REG01 0x0b ++ ++ #define CHROMA_GAIN_REG02 0x0c ++ #define HUE_HUE_RANGE_REG02 0x0d ++ #define HUE_RANGE_INV_REG02 0x0e ++ #define HUE_LUM_RANGE_REG02 0x0f ++ #define HUE_SAT_RANGE_REG02 0x10 ++ #define SAT_SAT_RANGE_REG02 0x11 ++ ++ ++ #define CHROMA_GAIN_REG03 0x12 ++ #define HUE_HUE_RANGE_REG03 0x13 ++ #define HUE_RANGE_INV_REG03 0x14 ++ #define HUE_LUM_RANGE_REG03 0x15 ++ #define HUE_SAT_RANGE_REG03 0x16 ++ #define SAT_SAT_RANGE_REG03 0x17 ++ ++ #define CHROMA_GAIN_REG04 0x18 ++ #define HUE_HUE_RANGE_REG04 0x19 ++ #define HUE_RANGE_INV_REG04 0x1a ++ #define HUE_LUM_RANGE_REG04 0x1b ++ #define HUE_SAT_RANGE_REG04 0x1c ++ #define SAT_SAT_RANGE_REG04 0x1d ++ ++ #define CHROMA_GAIN_REG05 0x1e ++ #define HUE_HUE_RANGE_REG05 0x1f ++ #define HUE_RANGE_INV_REG05 0x20 ++ #define HUE_LUM_RANGE_REG05 0x21 ++ #define HUE_SAT_RANGE_REG05 0x22 ++ #define SAT_SAT_RANGE_REG05 0x23 ++ ++ #define CHROMA_GAIN_REG06 0x24 ++ #define HUE_HUE_RANGE_REG06 0x25 ++ #define HUE_RANGE_INV_REG06 0x26 ++ #define HUE_LUM_RANGE_REG06 0x27 ++ #define HUE_SAT_RANGE_REG06 0x28 ++ #define SAT_SAT_RANGE_REG06 0x29 ++ ++ #define CHROMA_GAIN_REG07 0x2a ++ #define HUE_HUE_RANGE_REG07 0x2b ++ #define HUE_RANGE_INV_REG07 0x2c ++ #define HUE_LUM_RANGE_REG07 0x2d ++ #define HUE_SAT_RANGE_REG07 0x2e ++ #define SAT_SAT_RANGE_REG07 0x2f ++ ++// REG_CHROMA_CONTROL ++// Bit 31 reg_chroma_en enable color manage function ++// 1'b1: enable 1'b0: bypass ++// Bit 6 sat_sel uv_max or u^2+v^2 selected as sat for reference ++// 1'b1: uv_max(default) 1'b0: u^2+v^2 ++// Bit 5 uv_adj_en final uv_adjust enable ++// 1'b1: enable 1'b0: bypass ++// Bit 2 hue_en rgb to hue enable ++// 1'b1: enable(default) 1'b0: bypass ++// Bit 1:0 csc_sel define input YUV with different color type ++// 2'b00: 601(16-235) 2'b01: 709(16-235) ++// 2'b10: 601(0-255) 2'b11: 709(0-255) ++ #define REG_CHROMA_CONTROL 0x30 // default 32h'80000024 ++ #define REG_DEMO_CENTER_BAR 0x31 // default 32h'0 ++ #define REG_DEMO_HLIGHT_MODE 0x32 // default 32h'0 ++ #define REG_DEMO_OWR_DATA 0x33 // default 32h'0 ++ ++ ++////===========================================//// ++//// CM2 ADDR ++////===========================================//// ++ ++ #define SAT_BYYB_NODE_REG0 0x200 // default 32'h0 ++//Bit 31:24, sat_byyb_node3 the 4th node ++//Bit 23:16, sat_byyb_node2 the 3th node ++//Bit 15: 8, sat_byyb_node1 signed, the 2th node about saturation ++//Bit 7: 0, sat_byyb_node0 signed, the 1th node about saturation ++//gain offset along y coordinate,the gain normalized to 128 as "1" ++ ++ #define SAT_BYYB_NODE_REG1 0x201 // default 32'h0 ++//Bit 31:24, sat_byyb_node7 the 8th node ++//Bit 23:16, sat_byyb_node6 the 7th node ++//Bit 15: 8, sat_byyb_node5 signed, the 6th node about saturation ++//Bit 7: 0, sat_byyb_node4 signed, the 5th node about saturation ++//gain offset along y coordinate,the gain normalized to 128 as "1" ++ ++ #define SAT_BYYB_NODE_REG2 0x202 // default 32'h0 ++//Bit 31: 8, reserved ++//Bit 7: 0, sat_byyb_node4 signed, the 5th node about saturation ++ ++ ++ #define SAT_SRC_NODE_REG 0x203 // default 32'h0 ++//Bit 31:28, reserved ++//Bit 27:16, sat_src_node1 ++//Bit 15:12, reserved ++//Bit 11: 0, sat_src_node0 usigned, threshold of input saturation for first and second piece ++ ++ #define CM_ENH_SFT_MODE_REG 0x204 // default 32'h0 ++//Bit 31: 9, reserved ++//Bit 8: 6, hue_lsft_mode hue offset adjustments scale ++//Bit 5: 4, luma_lsft_mode luma offset adjustments scale for reg_cm2_adj_luma_via_hue ++//Bit 3: 2, sat_byy_rsft_mode saturation gain adjustments scale for reg_cm2_adj_sat_via_y ++//Bit 1: 0, sat_byhs_rsft_mode saturation gain adjustments scale for reg_cm2_adj_sat_via_hs[:][:] 0:no scale up/down 1:dnscale by 2(-128,127)/2 ++ ++ #define FRM_SIZE_REG 0x205 // default 32'h0 ++//Bit 31:29, reserved ++//Bit 28:16, reg_frm_height the frame height size ++//Bit 15:13, reserved ++//Bit 12: 0, reg_frm_width the frame width size ++ ++ #define FITLER_CFG_REG 0x206 // default 32'h0 ++//Bit 31: 5, reserved ++//Bit 4: 4, inteleav_mod horizontal interleave filter(zero-padding) for 3D considerations 0:using non-zero padding lpf 1:using zero-padding lpf ++//Bit 3: 2, lpf_slt_uv apply cm on lp portion or original video pixels options ++//Bit 1: 0, lpf_slt_y apply cm on lp portion or original video pixels options ++ ++ #define CM_GLOBAL_GAIN_REG 0x207 // default 32'h0 ++//Bit 31:28, reserved ++//Bit 27:16, cm2_global_sat global saturation gain for general color adjustments(0~4095 <=> 0~8),512 normalized to "1" ++//Bit 15:12, reserved ++//Bit 11: 0, cm2_global_hue global hue offsets for general color adjustments(0~4095 <=> 0~360 degree) ++ ++ #define CM_ENH_CTL_REG 0x208 // default 32'h0 ++//Bit 31:7, reserved ++//Bit 6, hue_adj_en cm2 hue adjustments ++//Bit 5, sat_adj_en cm2 saturation adjustments ++//Bit 4, luma_adj_en enable siganl for cm2 luma adjustments ++//Bit 3, reserved ++//Bit 2, cm2_filt_en apply cm on lp portion enable ++//Bit 1, cm2_en cm2 enable siganl ++//Bit 0, cm1_en ++ ++ #define ROI_X_SCOPE_REG 0x209 // default 32'h0 ++//Bit 31:29, reserved ++//Bit 28:16, roi_x_end ending col index of the region of interest ++//Bit 15:13, reserved ++//Bit 12: 0, roi_x_beg start col index of the region of interest ++ ++ #define ROI_Y_SCOPE_REG 0x20a // default 32'h0 ++//Bit 31:29, reserved ++//Bit 28:16, roi_y_end ending row index of the region of interest ++//Bit 15:13, reserved ++//Bit 12: 0, roi_y_beg start row index of the region of interest ++ ++ #define POI_XY_DIR_REG 0x20b // default 32'h0 ++//Bit 31:29, reserved ++//Bit 28:16, poi_y_dir ending row index of the region of interest ++//Bit 15:13, reserved ++//Bit 12: 0, poi_x_dir start row index of the region of interest ++ ++ #define COI_Y_SCOPE_REG 0x20c // default 32'h0 ++//Bit 31:16, reserved ++//Bit 15: 8, coi_y_end ++//Bit 7: 0, coi_y_beg ++ ++ #define COI_H_SCOPE_REG 0x20d // default 32'h0 ++//Bit 31:28, reserved ++//Bit 27:16, coi_h_end ++//Bit 15:12, reserved ++//Bit 11: 0, coi_h_beg lower bound of hue value for color of interest ,12 bits precision ++ ++ #define COI_S_SCOPE_REG 0x20e // default 32'h0 ++//Bit 31:28, reserved ++//Bit 27:16, coi_s_end ++//Bit 15:12, reserved ++//Bit 11: 0, coi_s_beg lower bound of sat value for color of interest ,12 bits precision ++ #define IFO_MODE_REG 0x20f // default 32'h0 ++//Bit 31:8, reserved ++//Bit 7:6, ifo_mode3 ++//Bit 5:4, ifo_mode2 ++//Bit 3:2, ifo_mode1 ++//Bit 1:0, ifo_mode0 ++ #define POI_RPL_MODE_REG 0x210 // default 32'h0 ++//Bit 31:4, reserved ++//Bit 3:0, poi_rpl_mode enhance mode control of pixels inside and outside region of interest bit[3:2]control roi ++ #define DEMO_OWR_YHS_REG 0x211 // default 32'h0 ++//Bit 31: 0, demo_owr_yhs ++ ++ #define DEMO_POI_Y_REG 0x212 // default 32'h0 ++//Bit 31: 8, reserved ++//Bit 7: 0, luma_data_poi_r only get locked higher 8bits ++ #define DEMO_POI_H_REG 0x213 // default 32'h0 ++//Bit 31: 12, reserved ++//Bit 11: 0, hue_data_poi_r only get locked higher 12bits ++ #define DEMO_POI_S_REG 0x214 // default 32'h0 ++//Bit 31: 12, reserved ++//Bit 11: 0, sat_data_poi_r only get locked higher 12bits ++ //#define LUMA_BYH_LIMT_REG 0x215 // default 32'h0 ++ #define LUMA_ADJ_LIMT_REG 0x215 // default 32'h0 ++//Bit 31:24, reserved ++//Bit 23:16, luma_lmt_satslp slope to do the luma adjustment degrade ++//Bit 15:12, reserved ++//Bit 11:0, luma_lmt_satth threshold to saturation ++ #define SAT_ADJ_LIMT_REG 0x216 // default 32'h0 ++//Bit 31:24, reserved ++//Bit 23:16, sat_lmt_satslp slope to do the adjustment degrade ++//Bit 15:12, reserved ++//Bit 11:0, sat_lmt_satth threshold to saturation ++ #define HUE_ADJ_LIMT_REG 0x217 // default 32'h0 ++//Bit 31: 24, reserved ++//Bit 23: 16, hue_lmt_satslp slope to do the adjustment degrade ++//Bit 15: 12, reserved ++//Bit 11: 0, hue_lmt_satth threshold to saturation ++ #define UVHS_OFST_REG 0x218 // default 32'h0 ++//Bit 31: 24, hs2uv_v_ofst ++//Bit 23: 16, hs2uv_u_ofst ++//Bit 15: 8, uv2hs_v_ofst ++//Bit 7: 0, uv2hs_u_ofst ++ #define HUE_CFG_PARA_REG 0x219 // default 32'h0 ++//Bit 31: 17, reserved ++//Bit 16, hue_protect_en ++//Bit 15: 13, cm2_hue_byhs_mode ++//Bit 12, cm2_hue_div_mode ++//Bit 11: 0, cm2_before_hue_ofst ++ #define DEMO_SPLT_CFG_REG 0x21a // default 32'h0 ++//Bit 31: 22, reserved ++//Bit 21: 20, demo_split_mode ++//Bit 19: 16, demo_split_width slope to do the adjustment degrade ++//Bit 15: 13, reserved ++//Bit 12: 0, demo_split_post threshold to saturation ++ #define DEMO_SPLT_YHS_REG 0x21b // default 32'h0 ++//Bit 31: 0, demo_splt_yhs threshold to saturation ++ ++ #define XVYCC_YSCP_REG 0x21c // default 32'h0 ++//Bit 31: 28, reserved ++//Bit 27: 16, xvycc_y_max ++//Bit 15: 12, reserved ++//Bit 11: 0, xvycc_y_min ++ #define XVYCC_USCP_REG 0x21d // default 32'h0 ++//Bit 31: 28, reserved ++//Bit 27: 16, xvycc_u_max ++//Bit 15: 12, reserved ++//Bit 11: 0, xvycc_u_min ++ #define XVYCC_VSCP_REG 0x21e // default 32'h0 ++//Bit 31: 28, reserved ++//Bit 27: 16, xvycc_v_max ++//Bit 15: 12, reserved ++//Bit 11: 0, xvycc_v_min ++ ++////========= NODE 0 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H00 0x100 // default 32'H0 ++//Bit 31: 24, reg_cm2_adj_sat_via_hs_2 ++//Bit 23: 16, reg_cm2_adj_sat_via_hs_1 ++//Bit 15: 8, reg_cm2_adj_sat_via_hs_0 ++//Bit 7: 0, reg_cm2_adj_luma_via_h ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H00 0x101 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H00 0x102 // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H00 0x103 // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H00 0x104 // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 1 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H01 0x108 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H01 0x109 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H01 0x10a // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H01 0x10b // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H01 0x10c // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 2 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H02 0x110 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H02 0x111 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H02 0x112 // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H02 0x113 // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H02 0x114 // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 3 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H03 0x118 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H03 0x119 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H03 0x11a // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H03 0x11b // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H03 0x11c // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 4 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H04 0x120 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H04 0x121 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H04 0x122 // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H04 0x123 // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H04 0x124 // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 5 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H05 0x128 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H05 0x129 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H05 0x12a // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H05 0x12b // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H05 0x12c // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 6 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H06 0x130 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H06 0x131 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H06 0x132 // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H06 0x133 // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H06 0x134 // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 7 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H07 0x138 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H07 0x139 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H07 0x13a // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H07 0x13b // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H07 0x13c // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 8 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H08 0x140 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H08 0x141 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H08 0x142 // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H08 0x143 // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H08 0x144 // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 9 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H09 0x148 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H09 0x149 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H09 0x14a // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H09 0x14b // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H09 0x14c // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 10 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H10 0x150 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H10 0x151 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H10 0x152 // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H10 0x153 // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H10 0x154 // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 11 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H11 0x158 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H11 0x159 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H11 0x15a // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H11 0x15b // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H11 0x15c // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 12 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H12 0x160 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H12 0x161 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H12 0x162 // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H12 0x163 // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H12 0x164 // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++////========= NODE 13 COEFFICIENT ==============//// ++ ++ #define REG_CM2_ENH_COEFF0_H13 0x168 // default 32'H0 ++ // [ 7: 0] : luma_byh_hx / [15: 8] : sat_byhs_s0hx ++ // [23:16] : sat_byhs_s0hx / [31:24] : sat_byhs_s2hx ++ #define REG_CM2_ENH_COEFF1_H13 0x169 // default 32'H0 ++ // [ 7: 0] : hue_byh_hx / [15: 8] : hue_byy_y0hx ++ // [23:16] : hue_byy_y1hx / [31:24] : hue_byy_y2hx ++ #define REG_CM2_ENH_COEFF2_H13 0x16a // default 32'H0 ++ // [ 7: 0] : hue_byy_y3hx / [15: 8] : hue_byy_y4hx ++ // [23:16] : hue_bys_s0hx / [31:24] : hue_bys_s1hx ++ #define REG_CM2_ENH_COEFF3_H13 0x16b // default 32'H0 ++ // [ 7: 0] : hue_bys_s2hx / [15: 8] : hue_bys_s3hx ++ // [23:16] : hue_bys_s4hx / [31:24] : hue_byya_y0hx ++ #define REG_CM2_ENH_COEFF4_H13 0x16c // default 32'H0 ++ // [ 7: 0] : hue_byya_y1hx / [15: 8] : hue_byya_y2hx ++ // [23:16] : hue_byya_y3hx / [31:24] : hue_byya_y4hx ++ ++ ++/* Constraints ++0) ++ there are 16 regions totally. 8 regions are for hue adjustment, 8 regions are for sat adjustment. ++ the hue range of the 16 regions can be set to overlap, but if overlap, the hue range(start and end) must be same. ++ the 8 regions for hue adjustment should not overlap. if corresponding reg_hue_en_00 - 07 == 1 ++ the 8 regions for hue adjustment are defined by: (example are for region 0) ++ a) hue: ++ start: reg_hue_hue_shift_start_00[14:0] ++ end: ++ if reg_symmetry_en_00 == 0 ++ reg_hue_hue_shift_start_00[14:0] + (reg_hue_hue_shift_range_00[7:0]<<5) ++ if reg_symmetry_en_00 == 1 ++ reg_hue_hue_shift_start_00[14:0] + (reg_hue_hue_shift_range_00[7:0]<<6) ++ b) sat: ++ start: reg_hue_sat_low_00 ++ end: reg_hue_sat_high_00 ++ ++ the 8 regions for sat adjustment should not overlap. if corresponding reg_sat_en_00 - 07 == 1 ++ the 8 regions for sat adjustment are defined by: (example are for region 0) ++ a) hue: same as that for hue adjustment. ++ start: reg_hue_hue_shift_start_00[14:0] ++ end: ++ if reg_symmetry_en_00 == 0 ++ reg_hue_hue_shift_start_00[14:0] + (reg_hue_hue_shift_range_00[7:0]<<5) ++ if reg_symmetry_en_00 == 1 ++ reg_hue_hue_shift_start_00[14:0] + (reg_hue_hue_shift_range_00[7:0]<<6) ++ b) sat: ++ start: reg_sat_sat_low_00 ++ end: reg_sat_sat_high_00 ++ ++1) ++ reg_hue_hue_shift_range_00[7:0]: ++ reg_hue_hue_shift_range_01[7:0]: ++ reg_hue_hue_shift_range_02[7:0]: ++ reg_hue_hue_shift_range_03[7:0]: ++ reg_hue_hue_shift_range_04[7:0]: ++ reg_hue_hue_shift_range_05[7:0]: ++ reg_hue_hue_shift_range_06[7:0]: ++ reg_hue_hue_shift_range_07[7:0]: ++ must be greater or equal than 8'd8, so as reg_hue_range_inv_regxx can be represented by 0.0000_0000_xxxx_xxxx_xxxx_xxxx ++ ++2) ++ all regions of 0-7 should meet below requirement. below is just an example for region 7. ++ (reg_hue_lum_high_07 - reg_hue_lum_low_07) >= ++ (1<= ++ (1<= ++ (1<= ++ (1< msb ++//bit 6:4 pattern start ++//bit 2:0 pattern end ++#define VPP_OSD_HSC_INI_PAT_CTRL (0x1dc6) ++#define P_VPP_OSD_HSC_INI_PAT_CTRL (volatile unsigned int *)((0x1dc6 << 2) + 0xff900000) ++//bit 31:24, componet 0 ++//bit 23:16, component 1 ++//bit 15:8, component 2 ++//bit 7:0 component 3, alpha ++#define VPP_OSD_SC_DUMMY_DATA (0x1dc7) ++#define P_VPP_OSD_SC_DUMMY_DATA (volatile unsigned int *)((0x1dc7 << 2) + 0xff900000) ++//Bit 14 osc_sc_din_osd1_alpha_mode, 1: (alpha >= 128) ? alpha -1: alpha, 0: (alpha >=1) ? alpha - 1: alpha. ++//Bit 13 osc_sc_din_osd2_alpha_mode, 1: (alpha >= 128) ? alpha -1: alpha, 0: (alpha >=1) ? alpha - 1: alpha. ++//Bit 12 osc_sc_dout_alpha_mode, 1: (alpha >= 128) ? alpha + 1: alpha, 0: (alpha >=1) ? alpha + 1: alpha. ++//Bit 12 osc_sc_alpha_mode, 1: (alpha >= 128) ? alpha + 1: alpha, 0: (alpha >=1) ? alpha + 1: alpha. ++//Bit 11:4 default alpha for vd1 or vd2 if they are selected as the source ++//Bit 3 osd scaler path enable ++//Bit 1:0 osd_sc_sel, 00: select osd1 input, 01: select osd2 input, 10: select vd1 input, 11: select vd2 input after matrix ++#define VPP_OSD_SC_CTRL0 (0x1dc8) ++#define P_VPP_OSD_SC_CTRL0 (volatile unsigned int *)((0x1dc8 << 2) + 0xff900000) ++//Bit 28:16 OSD scaler input width minus 1 ++//Bit 12:0 OSD scaler input height minus 1 ++#define VPP_OSD_SCI_WH_M1 (0x1dc9) ++#define P_VPP_OSD_SCI_WH_M1 (volatile unsigned int *)((0x1dc9 << 2) + 0xff900000) ++//Bit 28:16 OSD scaler output horizontal start ++//Bit 12:0 OSD scaler output horizontal end ++#define VPP_OSD_SCO_H_START_END (0x1dca) ++#define P_VPP_OSD_SCO_H_START_END (volatile unsigned int *)((0x1dca << 2) + 0xff900000) ++//Bit 28:16 OSD scaler output vertical start ++//Bit 12:0 OSD scaler output vertical end ++#define VPP_OSD_SCO_V_START_END (0x1dcb) ++#define P_VPP_OSD_SCO_V_START_END (volatile unsigned int *)((0x1dcb << 2) + 0xff900000) ++//Because there are many coefficients used in the vertical filter and horizontal filters, ++//indirect access the coefficients of vertical filter and horizontal filter is used. ++//For vertical filter, there are 33x4 coefficients ++//For horizontal filter, there are 33x4 coefficients ++//Bit 15 index increment, if bit9 == 1 then (0: index increase 1, 1: index increase 2) else (index increase 2) ++//Bit 14 1: read coef through cbus enable, just for debug purpose in case when we wanna check the coef in ram in correct or not ++//Bit 9 if true, use 9bit resolution coef, other use 8bit resolution coef ++//Bit 8 type of index, 0: vertical coef, 1: horizontal coef ++//Bit 6:0 coef index ++#define VPP_OSD_SCALE_COEF_IDX (0x1dcc) ++#define P_VPP_OSD_SCALE_COEF_IDX (volatile unsigned int *)((0x1dcc << 2) + 0xff900000) ++//coefficients for vertical filter and horizontal filter ++#define VPP_OSD_SCALE_COEF (0x1dcd) ++#define P_VPP_OSD_SCALE_COEF (volatile unsigned int *)((0x1dcd << 2) + 0xff900000) ++//Bit 12:0 line number use to generate interrupt when line == this number ++#define VPP_INT_LINE_NUM (0x1dce) ++#define P_VPP_INT_LINE_NUM (volatile unsigned int *)((0x1dce << 2) + 0xff900000) ++#define VPP_XVYCC_MISC (0x1dcf) ++#define P_VPP_XVYCC_MISC (volatile unsigned int *)((0x1dcf << 2) + 0xff900000) ++// new add lti/cti in 120924 ++//Bit 3: 0 //default== 0 reg_hlti_dn_flt_coe[0] ++//Bit 7: 4 //default== 0 reg_hlti_dn_flt_coe[1] ++//Bit 11: 8 //default== 0 reg_hlti_dn_flt_coe[2] ++//Bit 15:12 //default== 2 reg_hlti_dn_flt_coe[3] ++//Bit 19:16 //default== 4 reg_hlti_dn_flt_coe[4] ++//Bit 22:20 //default== 3 reg_hlti_dn_flt_nrm u3: 3~7 ++#define VPP_HLTI_DN_FLT (0x1dd0) ++#define P_VPP_HLTI_DN_FLT (volatile unsigned int *)((0x1dd0 << 2) + 0xff900000) ++//Bit 7: 0 //default== 8 reg_hlti_bst_gain u8, norm 16 as "1" ++//Bit 15: 8 //default== 20 reg_hlti_bst_core u8, norm 32 as "1" ++//Bit 23:16 //default== 32 reg_hlti_oob_gain u8, norm 32 as "1" ++//Bit 28:24 //default== 0 reg_hlti_oob_core u5 ++#define VPP_HLTI_GAIN (0x1dd1) ++#define P_VPP_HLTI_GAIN (volatile unsigned int *)((0x1dd1 << 2) + 0xff900000) ++//Bit 7: 0 //default== 2 reg_hlti_clp_ofst u8, ++//Bit 8 //default== 0 reg_hlti_clp_mode u1, ++//Bit 11: 9 //default== 1 reg_hlti_clp_wind u3, ++//Bit 14:12 //default== 1 reg_hlti_bst_fltr u3, ++//Bit 15 //default== 1 reg_hlti_enable u1, ++#define VPP_HLTI_PARA (0x1dd2) ++#define P_VPP_HLTI_PARA (volatile unsigned int *)((0x1dd2 << 2) + 0xff900000) ++//Bit 3: 0 //default== 0 reg_hcti_dn_flt_coe[0] ++//Bit 7: 4 //default== 0 reg_hcti_dn_flt_coe[1] ++//Bit 11: 8 //default== 1 reg_hcti_dn_flt_coe[2] ++//Bit 15:12 //default== 2 reg_hcti_dn_flt_coe[3] ++//Bit 19:16 //default== 2 reg_hcti_dn_flt_coe[4] ++//Bit 22:20 //default== 3 reg_hcti_dn_flt_nrm u3: 3~7 ++#define VPP_HCTI_DN_FLT (0x1dd3) ++#define P_VPP_HCTI_DN_FLT (volatile unsigned int *)((0x1dd3 << 2) + 0xff900000) ++//Bit 7: 0 //default== 48 reg_hcti_bst_gain u8, norm 16 as "1" ++//Bit15: 8 //default== 17 reg_hcti_bst_core u8, norm 32 as "1" ++//Bit23:16 //default== 16 reg_hcti_oob_gain u8, norm 32 as "1" ++//Bit28:24 //default== 0 reg_hcti_oob_core u5 ++#define VPP_HCTI_GAIN (0x1dd4) ++#define P_VPP_HCTI_GAIN (volatile unsigned int *)((0x1dd4 << 2) + 0xff900000) ++//Bit 7: 0 //default== 0 reg_hcti_clp_ofst u8, ++//Bit 8 //default== 1 reg_hcti_clp_mode u1, ++//Bit 11: 9 //default== 3 reg_hcti_clp_wind u3, ++//Bit 14:12 //default== 6 reg_hcti_bst_fltr u3, ++//Bit 15 //default== 1 reg_hcti_enable u1, ++#define VPP_HCTI_PARA (0x1dd5) ++#define P_VPP_HCTI_PARA (volatile unsigned int *)((0x1dd5 << 2) + 0xff900000) ++//Bit 7: 0 //default== 48 reg_vcti_bst_gain u8, normalize 16 as "1" ++//Bit 15: 8 //default== 10 reg_vcti_bst_core u8 ++//Bit 19:16 //default== 10 reg_vcti_clp_ofst u4 ++//Bit 20 //default== 1 reg_vcti_clp_wind u1, 0: wind 3, 1: wind5 ++#define VPP_VCTI_PARA (0x1dd6) ++#define P_VPP_VCTI_PARA (volatile unsigned int *)((0x1dd6 << 2) + 0xff900000) ++//`define VPP_MATRIX_PROBE_COLOR1 8'hd7 //defined before ++//Bit 31 //default== 0, urgent fifo hold enable ++//Bit 28:12 //default== 0, urgent fifo hold line threshold ++//Bit 15 //default== 0, urgent_ctrl_en ++//Bit 14 //default== 0, urgent_wr, if true for write buffer ++//Bit 13 //default== 0, out_inv_en ++//Bit 12 //default == 0, urgent_ini_value ++//Bit 11:6 //default == 0, up_th up threshold ++//Bit 5:0 //default == 0, dn_th dn threshold ++#define VPP_OFIFO_URG_CTRL (0x1dd8) ++#define P_VPP_OFIFO_URG_CTRL (volatile unsigned int *)((0x1dd8 << 2) + 0xff900000) ++#define VPP_CLIP_MISC0 (0x1dd9) ++#define P_VPP_CLIP_MISC0 (volatile unsigned int *)((0x1dd9 << 2) + 0xff900000) ++//Bit 29:20 // default == 1023, final clip r channel top ++//Bit 19:10 // default == 1023, final clip g channel top ++//Bit 9: 0 // default == 1023, final clip b channel top ++#define VPP_CLIP_MISC1 (0x1dda) ++#define P_VPP_CLIP_MISC1 (volatile unsigned int *)((0x1dda << 2) + 0xff900000) ++//Bit 29:20 // default == 0, final clip r channel bottom ++//Bit 19:10 // default == 0, final clip g channel bottom ++//Bit 9: 0 // default == 0, final clip b channel bottom ++#define VPP_MATRIX_COEF13_14 (0x1ddb) ++#define P_VPP_MATRIX_COEF13_14 (volatile unsigned int *)((0x1ddb << 2) + 0xff900000) ++//Bit 28:16 // default == 0, matrix coef13 ++//Bit 12:0 // default == 0, matrix coef14 ++#define VPP_MATRIX_COEF23_24 (0x1ddc) ++#define P_VPP_MATRIX_COEF23_24 (volatile unsigned int *)((0x1ddc << 2) + 0xff900000) ++//Bit 28:16 // default == 0, matrix coef23 ++//Bit 12:0 // default == 0, matrix coef24 ++#define VPP_MATRIX_COEF15_25 (0x1ddd) ++#define P_VPP_MATRIX_COEF15_25 (volatile unsigned int *)((0x1ddd << 2) + 0xff900000) ++//Bit 28:16 // default == 0, matrix coef15 ++//Bit 12:0 // default == 0, matrix coef25 ++#define VPP_MATRIX_CLIP (0x1dde) ++#define P_VPP_MATRIX_CLIP (volatile unsigned int *)((0x1dde << 2) + 0xff900000) ++//Bit 7:5 // default == 0, mat rs ++//Bit 4:3 // default == 0, mat clmod ++//Bit 2:0 // default == 0, mat clip enable ++#define VPP_XVYCC_MISC0 (0x1ddf) ++#define P_VPP_XVYCC_MISC0 (volatile unsigned int *)((0x1ddf << 2) + 0xff900000) ++//Bit 29:20 // default == 1023, xvycc clip r channel top ++//Bit 19:10 // default == 1023, xvycc clip g channel top ++//Bit 9: 0 // default == 1023, xvycc clip b channel top ++#define VPP_XVYCC_MISC1 (0x1de0) ++#define P_VPP_XVYCC_MISC1 (volatile unsigned int *)((0x1de0 << 2) + 0xff900000) ++//Bit 29:20 // default == 0, xvycc clip r channel bottom ++//Bit 19:10 // default == 0, xvycc clip g channel bottom ++//Bit 9: 0 // default == 0, xvycc clip b channel bottom ++#define VPP_VD1_CLIP_MISC0 (0x1de1) ++#define P_VPP_VD1_CLIP_MISC0 (volatile unsigned int *)((0x1de1 << 2) + 0xff900000) ++//Bit 29:20 // default == 1023, vd1 clip r channel top ++//Bit 19:10 // default == 1023, vd1 clip g channel top ++//Bit 9: 0 // default == 1023, vd1 clip b channel top ++#define VPP_VD1_CLIP_MISC1 (0x1de2) ++#define P_VPP_VD1_CLIP_MISC1 (volatile unsigned int *)((0x1de2 << 2) + 0xff900000) ++//Bit 29:20 // default == 0, vd1 clip r channel bottom ++//Bit 19:10 // default == 0, vd1 clip g channel bottom ++//Bit 9: 0 // default == 0, vd1 clip b channel bottom ++#define VPP_VD2_CLIP_MISC0 (0x1de3) ++#define P_VPP_VD2_CLIP_MISC0 (volatile unsigned int *)((0x1de3 << 2) + 0xff900000) ++//Bit 29:20 // default == 1023, vd2 clip r channel top ++//Bit 19:10 // default == 1023, vd2 clip g channel top ++//Bit 9: 0 // default == 1023, vd2 clip b channel top ++#define VPP_VD2_CLIP_MISC1 (0x1de4) ++#define P_VPP_VD2_CLIP_MISC1 (volatile unsigned int *)((0x1de4 << 2) + 0xff900000) ++//Bit 29:20 // default == 0, vd2 clip r channel bottom ++//Bit 19:10 // default == 0, vd2 clip g channel bottom ++//Bit 9: 0 // default == 0, vd2 clip b channel bottom ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: vpp_regs.h ++// ++//`define VIU2_VCBUS_BASE 8'h1e ++// ++// Reading file: v2regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++//=========================================================================== ++// Video Interface 2 Registers 0xe00 - 0xeff ++//=========================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: VIU2_VCBUS_BASE = 0x1e ++// ----------------------------------------------- ++#define VIU2_ADDR_START (0x1e00) ++#define P_VIU2_ADDR_START (volatile unsigned int *)((0x1e00 << 2) + 0xff900000) ++#define VIU2_ADDR_END (0x1eff) ++#define P_VIU2_ADDR_END (volatile unsigned int *)((0x1eff << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// VIU2 top-level registers ++//------------------------------------------------------------------------------ ++// Bit 0 RW, osd1_reset ++// Bit 1 RW, osd2_reset ++// Bit 2 RW, vd1_reset ++// Bit 3 RW, vd1_fmt_reset ++// Bit 7 RW, vpp_reset ++#define VIU2_SW_RESET (0x1e01) ++#define P_VIU2_SW_RESET (volatile unsigned int *)((0x1e01 << 2) + 0xff900000) ++#define VIU2_SW_RESET0 (0x1e02) ++#define P_VIU2_SW_RESET0 (volatile unsigned int *)((0x1e02 << 2) + 0xff900000) ++// Bit 0 RW, software reset for mcvecrd_mif ++// Bit 1 RW, software reset for mcinfowr_mif ++// Bit 2 RW, software reset for mcinford_mif ++//bit 8 if true, vsync interrup is generate only field == 0 ++//bit 7:0 fix_disable ++#define VIU2_MISC_CTRL0 (0x1e06) ++#define P_VIU2_MISC_CTRL0 (volatile unsigned int *)((0x1e06 << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// OSD1 registers ++//------------------------------------------------------------------------------ ++// Bit 31 Reserved ++// Bit 30 RW, enable_free_clk: 1=use free-running clock to drive logics; ++// 0=use gated clock for low power. ++// Bit 29 R, test_rd_dsr ++// Bit 28 R, osd_done ++// Bit 27:24 R, osd_blk_mode ++// Bit 23:22 R, osd_blk_ptr ++// Bit 21 R, osd_enable ++// ++// Bit 20:12 RW, global_alpha ++// Bit 11 RW, test_rd_en ++// Bit 10: 9 Reserved for control signals ++// Bit 8: 5 RW, ctrl_mtch_y ++// Bit 4 RW, ctrl_422to444 ++// Bit 3: 0 RW, osd_blk_enable. Bit 0 to enable block 0: 1=enable, 0=disable; ++// Bit 1 to enable block 1, and so on. ++#define VIU2_OSD1_CTRL_STAT (0x1e10) ++#define P_VIU2_OSD1_CTRL_STAT (volatile unsigned int *)((0x1e10 << 2) + 0xff900000) ++// Bit 31:26 Reserved ++// Bit 25:16 R, fifo_count ++// Bit 15: 6 Reserved ++// Bit 5: 4 RW, hold_fifo_lines[6:5] ++// Bit 3 RW, rgb2yuv_full_range ++// Bit 2 RW, alpha_9b_mode ++// Bit 1 RW, reserved ++// Bit 0 RW, color_expand_mode ++#define VIU2_OSD1_CTRL_STAT2 (0x1e2d) ++#define P_VIU2_OSD1_CTRL_STAT2 (volatile unsigned int *)((0x1e2d << 2) + 0xff900000) ++// Bit 31: 9 Reserved ++// Bit 8 RW, 0 = Write LUT, 1 = Read LUT ++// Bit 7: 0 RW, lut_addr ++#define VIU2_OSD1_COLOR_ADDR (0x1e11) ++#define P_VIU2_OSD1_COLOR_ADDR (volatile unsigned int *)((0x1e11 << 2) + 0xff900000) ++// Bit 31:24 RW, Y or R ++// Bit 23:16 RW, Cb or G ++// Bit 15: 8 RW, Cr or B ++// Bit 7: 0 RW, Alpha ++#define VIU2_OSD1_COLOR (0x1e12) ++#define P_VIU2_OSD1_COLOR (volatile unsigned int *)((0x1e12 << 2) + 0xff900000) ++// Bit 31:24 RW, Y or R ++// Bit 23:16 RW, Cb or G ++// Bit 15: 8 RW, Cr or B ++// Bit 7: 0 RW, Alpha ++#define VIU2_OSD1_TCOLOR_AG0 (0x1e17) ++#define P_VIU2_OSD1_TCOLOR_AG0 (volatile unsigned int *)((0x1e17 << 2) + 0xff900000) ++#define VIU2_OSD1_TCOLOR_AG1 (0x1e18) ++#define P_VIU2_OSD1_TCOLOR_AG1 (volatile unsigned int *)((0x1e18 << 2) + 0xff900000) ++#define VIU2_OSD1_TCOLOR_AG2 (0x1e19) ++#define P_VIU2_OSD1_TCOLOR_AG2 (volatile unsigned int *)((0x1e19 << 2) + 0xff900000) ++#define VIU2_OSD1_TCOLOR_AG3 (0x1e1a) ++#define P_VIU2_OSD1_TCOLOR_AG3 (volatile unsigned int *)((0x1e1a << 2) + 0xff900000) ++// Bit 31:30 Reserved ++// Bit 29 RW, y_rev: 0=normal read, 1=reverse read in Y direction ++// Bit 28 RW, x_rev: 0=normal read, 1=reverse read in X direction ++// Bit 27:24 Reserved ++// Bit 23:16 RW, tbl_addr ++// Bit 15 RW, little_endian: 0=big endian, 1=little endian ++// Bit 14 RW, rpt_y ++// Bit 13:12 RW, interp_ctrl. 0x=No interpolation; 10=Interpolate with previous ++// pixel; 11=Interpolate with the average value ++// between previous and next pixel. ++// Bit 11: 8 RW, osd_blk_mode ++// Bit 7 RW, rgb_en ++// Bit 6 RW, tc_alpha_en ++// Bit 5: 2 RW, color_matrix ++// Bit 1 RW, interlace_en ++// Bit 0 RW, interlace_sel_odd ++#define VIU2_OSD1_BLK0_CFG_W0 (0x1e1b) ++#define P_VIU2_OSD1_BLK0_CFG_W0 (volatile unsigned int *)((0x1e1b << 2) + 0xff900000) ++#define VIU2_OSD1_BLK1_CFG_W0 (0x1e1f) ++#define P_VIU2_OSD1_BLK1_CFG_W0 (volatile unsigned int *)((0x1e1f << 2) + 0xff900000) ++#define VIU2_OSD1_BLK2_CFG_W0 (0x1e23) ++#define P_VIU2_OSD1_BLK2_CFG_W0 (volatile unsigned int *)((0x1e23 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK3_CFG_W0 (0x1e27) ++#define P_VIU2_OSD1_BLK3_CFG_W0 (volatile unsigned int *)((0x1e27 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, x_end ++// Bit 15:13 Reserved ++// Bit 12: 0 RW, x_start ++#define VIU2_OSD1_BLK0_CFG_W1 (0x1e1c) ++#define P_VIU2_OSD1_BLK0_CFG_W1 (volatile unsigned int *)((0x1e1c << 2) + 0xff900000) ++#define VIU2_OSD1_BLK1_CFG_W1 (0x1e20) ++#define P_VIU2_OSD1_BLK1_CFG_W1 (volatile unsigned int *)((0x1e20 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK2_CFG_W1 (0x1e24) ++#define P_VIU2_OSD1_BLK2_CFG_W1 (volatile unsigned int *)((0x1e24 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK3_CFG_W1 (0x1e28) ++#define P_VIU2_OSD1_BLK3_CFG_W1 (volatile unsigned int *)((0x1e28 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, y_end ++// Bit 15:13 Reserved ++// Bit 12: 0 RW, y_start ++#define VIU2_OSD1_BLK0_CFG_W2 (0x1e1d) ++#define P_VIU2_OSD1_BLK0_CFG_W2 (volatile unsigned int *)((0x1e1d << 2) + 0xff900000) ++#define VIU2_OSD1_BLK1_CFG_W2 (0x1e21) ++#define P_VIU2_OSD1_BLK1_CFG_W2 (volatile unsigned int *)((0x1e21 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK2_CFG_W2 (0x1e25) ++#define P_VIU2_OSD1_BLK2_CFG_W2 (volatile unsigned int *)((0x1e25 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK3_CFG_W2 (0x1e29) ++#define P_VIU2_OSD1_BLK3_CFG_W2 (volatile unsigned int *)((0x1e29 << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, h_end ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, h_start ++#define VIU2_OSD1_BLK0_CFG_W3 (0x1e1e) ++#define P_VIU2_OSD1_BLK0_CFG_W3 (volatile unsigned int *)((0x1e1e << 2) + 0xff900000) ++#define VIU2_OSD1_BLK1_CFG_W3 (0x1e22) ++#define P_VIU2_OSD1_BLK1_CFG_W3 (volatile unsigned int *)((0x1e22 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK2_CFG_W3 (0x1e26) ++#define P_VIU2_OSD1_BLK2_CFG_W3 (volatile unsigned int *)((0x1e26 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK3_CFG_W3 (0x1e2a) ++#define P_VIU2_OSD1_BLK3_CFG_W3 (volatile unsigned int *)((0x1e2a << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, v_end ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, v_start ++#define VIU2_OSD1_BLK0_CFG_W4 (0x1e13) ++#define P_VIU2_OSD1_BLK0_CFG_W4 (volatile unsigned int *)((0x1e13 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK1_CFG_W4 (0x1e14) ++#define P_VIU2_OSD1_BLK1_CFG_W4 (volatile unsigned int *)((0x1e14 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK2_CFG_W4 (0x1e15) ++#define P_VIU2_OSD1_BLK2_CFG_W4 (volatile unsigned int *)((0x1e15 << 2) + 0xff900000) ++#define VIU2_OSD1_BLK3_CFG_W4 (0x1e16) ++#define P_VIU2_OSD1_BLK3_CFG_W4 (volatile unsigned int *)((0x1e16 << 2) + 0xff900000) ++// Bit 31 RW, burst_len_sel[2] of [2:0] ++// Bit 30 RW, byte_swap: In addition to endian control, further define ++// whether to swap upper and lower byte within a 16-bit mem word. ++// 0=No swap; 1=Swap data[15:0] to be {data[7:0], data[15:8]} ++// Bit 29 RW, div_swap : swap the 2 64bits words in 128 bit word ++// Bit 28:24 RW, fifo_lim : when osd fifo is small than the fifo_lim*16, closed the rq port of osd_rd_mif ++// Bit 23:22 RW, fifo_ctrl: 00 : for 1 word in 1 burst , 01 : for 2words in 1burst, 10: for 4words in 1burst, 11: reserved ++// Bit 21:20 R, fifo_st. 0=IDLE, 1=FILL, 2=ABORT ++// Bit 19 R, fifo_overflow ++// ++// Bit 18:12 RW, fifo_depth_val, max value=64: set actual fifo depth to fifo_depth_val*8. ++// Bit 11:10 RW, burst_len_sel[1:0] of [2:0]. 0=24(default), 1=32, 2=48, 3=64, 4=96, 5=128. ++// Bit 9: 5 RW, hold_fifo_lines[4:0] ++// Bit 4 RW, clear_err: one pulse to clear fifo_overflow ++// Bit 3 RW, fifo_sync_rst ++// Bit 2: 1 RW, endian ++// Bit 0 RW, urgent ++#define VIU2_OSD1_FIFO_CTRL_STAT (0x1e2b) ++#define P_VIU2_OSD1_FIFO_CTRL_STAT (volatile unsigned int *)((0x1e2b << 2) + 0xff900000) ++// Bit 31:24 R, Y or R ++// Bit 23:16 R, Cb or G ++// Bit 15: 8 R, Cr or B ++// Bit 7: 0 R, Output Alpha[8:1] ++#define VIU2_OSD1_TEST_RDDATA (0x1e2c) ++#define P_VIU2_OSD1_TEST_RDDATA (volatile unsigned int *)((0x1e2c << 2) + 0xff900000) ++// Bit 15 RW, prot_en: 1=Borrow PROT's FIFO storage, either for rotate or non-rotate. ++// Bit 12: 0 RW, effective FIFO size when prot_en=1. ++#define VIU2_OSD1_PROT_CTRL (0x1e2e) ++#define P_VIU2_OSD1_PROT_CTRL (volatile unsigned int *)((0x1e2e << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// OSD2 registers ++//------------------------------------------------------------------------------ ++// Bit 31 Reserved ++// Bit 30 RW, enable_free_clk: 1=use free-running clock to drive logics; ++// 0=use gated clock for low power. ++// Bit 29 R, test_rd_dsr ++// Bit 28 R, osd_done ++// Bit 27:24 R, osd_blk_mode ++// Bit 23:22 R, osd_blk_ptr ++// Bit 21 R, osd_enable ++// ++// Bit 20:12 RW, global_alpha ++// Bit 11 RW, test_rd_en ++// Bit 10 RW, hl2_en ++// Bit 9 RW, hl1_en ++// Bit 8: 5 RW, ctrl_mtch_y ++// Bit 4 RW, ctrl_422to444 ++// Bit 3: 0 RW, osd_blk_enable. Bit 0 to enable block 0: 1=enable, 0=disable; ++// Bit 1 to enable block 1, and so on. ++#define VIU2_OSD2_CTRL_STAT (0x1e30) ++#define P_VIU2_OSD2_CTRL_STAT (volatile unsigned int *)((0x1e30 << 2) + 0xff900000) ++// Bit 31:26 Reserved ++// Bit 25:16 R, fifo_count ++// Bit 15: 6 Reserved ++// Bit 5: 4 RW, hold_fifo_lines[6:5] ++// Bit 3 RW, rgb2yuv_full_range ++// Bit 2 RW, alpha_9b_mode ++// Bit 1 RW, reserved ++// Bit 0 RW, color_expand_mode ++#define VIU2_OSD2_CTRL_STAT2 (0x1e4d) ++#define P_VIU2_OSD2_CTRL_STAT2 (volatile unsigned int *)((0x1e4d << 2) + 0xff900000) ++// Bit 31: 9 Reserved ++// Bit 8 RW, 0 = Write LUT, 1 = Read LUT ++// Bit 7: 0 RW, lut_addr ++#define VIU2_OSD2_COLOR_ADDR (0x1e31) ++#define P_VIU2_OSD2_COLOR_ADDR (volatile unsigned int *)((0x1e31 << 2) + 0xff900000) ++// Bit 31:24 RW, Y or R ++// Bit 23:16 RW, Cb or G ++// Bit 15: 8 RW, Cr or B ++// Bit 7: 0 RW, Alpha ++#define VIU2_OSD2_COLOR (0x1e32) ++#define P_VIU2_OSD2_COLOR (volatile unsigned int *)((0x1e32 << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, hl[1-2]_h/v_start ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, hl[1-2]_h/v_end ++#define VIU2_OSD2_HL1_H_START_END (0x1e33) ++#define P_VIU2_OSD2_HL1_H_START_END (volatile unsigned int *)((0x1e33 << 2) + 0xff900000) ++#define VIU2_OSD2_HL1_V_START_END (0x1e34) ++#define P_VIU2_OSD2_HL1_V_START_END (volatile unsigned int *)((0x1e34 << 2) + 0xff900000) ++#define VIU2_OSD2_HL2_H_START_END (0x1e35) ++#define P_VIU2_OSD2_HL2_H_START_END (volatile unsigned int *)((0x1e35 << 2) + 0xff900000) ++#define VIU2_OSD2_HL2_V_START_END (0x1e36) ++#define P_VIU2_OSD2_HL2_V_START_END (volatile unsigned int *)((0x1e36 << 2) + 0xff900000) ++// Bit 31:24 RW, Y or R ++// Bit 23:16 RW, Cb or G ++// Bit 15: 8 RW, Cr or B ++// Bit 7: 0 RW, Alpha ++#define VIU2_OSD2_TCOLOR_AG0 (0x1e37) ++#define P_VIU2_OSD2_TCOLOR_AG0 (volatile unsigned int *)((0x1e37 << 2) + 0xff900000) ++#define VIU2_OSD2_TCOLOR_AG1 (0x1e38) ++#define P_VIU2_OSD2_TCOLOR_AG1 (volatile unsigned int *)((0x1e38 << 2) + 0xff900000) ++#define VIU2_OSD2_TCOLOR_AG2 (0x1e39) ++#define P_VIU2_OSD2_TCOLOR_AG2 (volatile unsigned int *)((0x1e39 << 2) + 0xff900000) ++#define VIU2_OSD2_TCOLOR_AG3 (0x1e3a) ++#define P_VIU2_OSD2_TCOLOR_AG3 (volatile unsigned int *)((0x1e3a << 2) + 0xff900000) ++// Bit 31:24 Reserved ++// Bit 23:16 RW, tbl_addr ++// Bit 15 RW, little_endian: 0=big endian, 1=little endian ++// Bit 14 RW, rpt_y ++// Bit 13:12 RW, interp_ctrl. 0x=No interpolation; 10=Interpolate with previous ++// pixel; 11=Interpolate with the average value ++// between previous and next pixel. ++// Bit 11: 8 RW, osd_blk_mode ++// Bit 7 RW, rgb_en ++// Bit 6 RW, tc_alpha_en ++// Bit 5: 2 RW, color_matrix ++// Bit 1 RW, interlace_en ++// Bit 0 RW, interlace_sel_odd ++#define VIU2_OSD2_BLK0_CFG_W0 (0x1e3b) ++#define P_VIU2_OSD2_BLK0_CFG_W0 (volatile unsigned int *)((0x1e3b << 2) + 0xff900000) ++#define VIU2_OSD2_BLK1_CFG_W0 (0x1e3f) ++#define P_VIU2_OSD2_BLK1_CFG_W0 (volatile unsigned int *)((0x1e3f << 2) + 0xff900000) ++#define VIU2_OSD2_BLK2_CFG_W0 (0x1e43) ++#define P_VIU2_OSD2_BLK2_CFG_W0 (volatile unsigned int *)((0x1e43 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK3_CFG_W0 (0x1e47) ++#define P_VIU2_OSD2_BLK3_CFG_W0 (volatile unsigned int *)((0x1e47 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, x_end ++// Bit 15:13 Reserved ++// Bit 12: 0 RW, x_start ++#define VIU2_OSD2_BLK0_CFG_W1 (0x1e3c) ++#define P_VIU2_OSD2_BLK0_CFG_W1 (volatile unsigned int *)((0x1e3c << 2) + 0xff900000) ++#define VIU2_OSD2_BLK1_CFG_W1 (0x1e40) ++#define P_VIU2_OSD2_BLK1_CFG_W1 (volatile unsigned int *)((0x1e40 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK2_CFG_W1 (0x1e44) ++#define P_VIU2_OSD2_BLK2_CFG_W1 (volatile unsigned int *)((0x1e44 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK3_CFG_W1 (0x1e48) ++#define P_VIU2_OSD2_BLK3_CFG_W1 (volatile unsigned int *)((0x1e48 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, y_end ++// Bit 15:13 Reserved ++// Bit 12: 0 RW, y_start ++#define VIU2_OSD2_BLK0_CFG_W2 (0x1e3d) ++#define P_VIU2_OSD2_BLK0_CFG_W2 (volatile unsigned int *)((0x1e3d << 2) + 0xff900000) ++#define VIU2_OSD2_BLK1_CFG_W2 (0x1e41) ++#define P_VIU2_OSD2_BLK1_CFG_W2 (volatile unsigned int *)((0x1e41 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK2_CFG_W2 (0x1e45) ++#define P_VIU2_OSD2_BLK2_CFG_W2 (volatile unsigned int *)((0x1e45 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK3_CFG_W2 (0x1e49) ++#define P_VIU2_OSD2_BLK3_CFG_W2 (volatile unsigned int *)((0x1e49 << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, h_end ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, h_start ++#define VIU2_OSD2_BLK0_CFG_W3 (0x1e3e) ++#define P_VIU2_OSD2_BLK0_CFG_W3 (volatile unsigned int *)((0x1e3e << 2) + 0xff900000) ++#define VIU2_OSD2_BLK1_CFG_W3 (0x1e42) ++#define P_VIU2_OSD2_BLK1_CFG_W3 (volatile unsigned int *)((0x1e42 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK2_CFG_W3 (0x1e46) ++#define P_VIU2_OSD2_BLK2_CFG_W3 (volatile unsigned int *)((0x1e46 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK3_CFG_W3 (0x1e4a) ++#define P_VIU2_OSD2_BLK3_CFG_W3 (volatile unsigned int *)((0x1e4a << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, v_end ++// Bit 15:12 Reserved ++// Bit 11: 0 RW, v_start ++#define VIU2_OSD2_BLK0_CFG_W4 (0x1e64) ++#define P_VIU2_OSD2_BLK0_CFG_W4 (volatile unsigned int *)((0x1e64 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK1_CFG_W4 (0x1e65) ++#define P_VIU2_OSD2_BLK1_CFG_W4 (volatile unsigned int *)((0x1e65 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK2_CFG_W4 (0x1e66) ++#define P_VIU2_OSD2_BLK2_CFG_W4 (volatile unsigned int *)((0x1e66 << 2) + 0xff900000) ++#define VIU2_OSD2_BLK3_CFG_W4 (0x1e67) ++#define P_VIU2_OSD2_BLK3_CFG_W4 (volatile unsigned int *)((0x1e67 << 2) + 0xff900000) ++// Bit 31 RW, burst_len_sel[2] of [2:0] ++// Bit 30 RW, byte_swap: In addition to endian control, further define ++// whether to swap upper and lower byte within a 16-bit mem word. ++// 0=No swap; 1=Swap data[15:0] to be {data[7:0], data[15:8]} ++// Bit 29 RW, div_swap : swap the 2 64bits words in 128 bit word ++// Bit 28:24 RW, fifo_lim : when osd fifo is small than the fifo_lim*16, closed the rq port of osd_rd_mif ++// Bit 23:22 RW, fifo_ctrl: 00 : for 1 word in 1 burst , 01 : for 2words in 1burst, 10: for 4words in 1burst, 11: reserved ++// Bit 21:20 R, fifo_st. 0=IDLE, 1=FILL, 2=ABORT ++// Bit 19 R, fifo_overflow ++// Bit 18:12 RW, fifo_depth_val, max value=64: set actual fifo depth to fifo_depth_val*8. ++// Bit 11:10 RW, burst_len_sel[1:0] of [2:0]. 0=24(default), 1=32, 2=48, 3=64, 4=96, 5=128. ++// Bit 9: 5 RW, hold_fifo_lines[4:0] ++// Bit 4 RW, clear_err: one pulse to clear fifo_overflow ++// Bit 3 RW, fifo_sync_rst ++// Bit 2: 1 RW, endian ++// Bit 0 RW, urgent ++#define VIU2_OSD2_FIFO_CTRL_STAT (0x1e4b) ++#define P_VIU2_OSD2_FIFO_CTRL_STAT (volatile unsigned int *)((0x1e4b << 2) + 0xff900000) ++// Bit 31:24 R, Y or R ++// Bit 23:16 R, Cb or G ++// Bit 15: 8 R, Cr or B ++// Bit 7: 0 R, Output Alpha[8:1] ++#define VIU2_OSD2_TEST_RDDATA (0x1e4c) ++#define P_VIU2_OSD2_TEST_RDDATA (volatile unsigned int *)((0x1e4c << 2) + 0xff900000) ++// Bit 15 RW, prot_en: 1=Borrow PROT's FIFO storage, either for rotate or non-rotate. ++// Bit 12: 0 RW, effective FIFO size when prot_en=1. ++#define VIU2_OSD2_PROT_CTRL (0x1e4e) ++#define P_VIU2_OSD2_PROT_CTRL (volatile unsigned int *)((0x1e4e << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// VD1 path ++//------------------------------------------------------------------------------ ++#define VIU2_VD1_IF0_GEN_REG (0x1e50) ++#define P_VIU2_VD1_IF0_GEN_REG (volatile unsigned int *)((0x1e50 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_CANVAS0 (0x1e51) ++#define P_VIU2_VD1_IF0_CANVAS0 (volatile unsigned int *)((0x1e51 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_CANVAS1 (0x1e52) ++#define P_VIU2_VD1_IF0_CANVAS1 (volatile unsigned int *)((0x1e52 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_LUMA_X0 (0x1e53) ++#define P_VIU2_VD1_IF0_LUMA_X0 (volatile unsigned int *)((0x1e53 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_LUMA_Y0 (0x1e54) ++#define P_VIU2_VD1_IF0_LUMA_Y0 (volatile unsigned int *)((0x1e54 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_CHROMA_X0 (0x1e55) ++#define P_VIU2_VD1_IF0_CHROMA_X0 (volatile unsigned int *)((0x1e55 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_CHROMA_Y0 (0x1e56) ++#define P_VIU2_VD1_IF0_CHROMA_Y0 (volatile unsigned int *)((0x1e56 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_LUMA_X1 (0x1e57) ++#define P_VIU2_VD1_IF0_LUMA_X1 (volatile unsigned int *)((0x1e57 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_LUMA_Y1 (0x1e58) ++#define P_VIU2_VD1_IF0_LUMA_Y1 (volatile unsigned int *)((0x1e58 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_CHROMA_X1 (0x1e59) ++#define P_VIU2_VD1_IF0_CHROMA_X1 (volatile unsigned int *)((0x1e59 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_CHROMA_Y1 (0x1e5a) ++#define P_VIU2_VD1_IF0_CHROMA_Y1 (volatile unsigned int *)((0x1e5a << 2) + 0xff900000) ++#define VIU2_VD1_IF0_RPT_LOOP (0x1e5b) ++#define P_VIU2_VD1_IF0_RPT_LOOP (volatile unsigned int *)((0x1e5b << 2) + 0xff900000) ++#define VIU2_VD1_IF0_LUMA0_RPT_PAT (0x1e5c) ++#define P_VIU2_VD1_IF0_LUMA0_RPT_PAT (volatile unsigned int *)((0x1e5c << 2) + 0xff900000) ++#define VIU2_VD1_IF0_CHROMA0_RPT_PAT (0x1e5d) ++#define P_VIU2_VD1_IF0_CHROMA0_RPT_PAT (volatile unsigned int *)((0x1e5d << 2) + 0xff900000) ++#define VIU2_VD1_IF0_LUMA1_RPT_PAT (0x1e5e) ++#define P_VIU2_VD1_IF0_LUMA1_RPT_PAT (volatile unsigned int *)((0x1e5e << 2) + 0xff900000) ++#define VIU2_VD1_IF0_CHROMA1_RPT_PAT (0x1e5f) ++#define P_VIU2_VD1_IF0_CHROMA1_RPT_PAT (volatile unsigned int *)((0x1e5f << 2) + 0xff900000) ++#define VIU2_VD1_IF0_LUMA_PSEL (0x1e60) ++#define P_VIU2_VD1_IF0_LUMA_PSEL (volatile unsigned int *)((0x1e60 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_CHROMA_PSEL (0x1e61) ++#define P_VIU2_VD1_IF0_CHROMA_PSEL (volatile unsigned int *)((0x1e61 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_DUMMY_PIXEL (0x1e62) ++#define P_VIU2_VD1_IF0_DUMMY_PIXEL (volatile unsigned int *)((0x1e62 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_LUMA_FIFO_SIZE (0x1e63) ++#define P_VIU2_VD1_IF0_LUMA_FIFO_SIZE (volatile unsigned int *)((0x1e63 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_RANGE_MAP_Y (0x1e6a) ++#define P_VIU2_VD1_IF0_RANGE_MAP_Y (volatile unsigned int *)((0x1e6a << 2) + 0xff900000) ++#define VIU2_VD1_IF0_RANGE_MAP_CB (0x1e6b) ++#define P_VIU2_VD1_IF0_RANGE_MAP_CB (volatile unsigned int *)((0x1e6b << 2) + 0xff900000) ++#define VIU2_VD1_IF0_RANGE_MAP_CR (0x1e6c) ++#define P_VIU2_VD1_IF0_RANGE_MAP_CR (volatile unsigned int *)((0x1e6c << 2) + 0xff900000) ++#define VIU2_VD1_IF0_GEN_REG2 (0x1e6d) ++#define P_VIU2_VD1_IF0_GEN_REG2 (volatile unsigned int *)((0x1e6d << 2) + 0xff900000) ++#define VIU2_VD1_IF0_PROT_CNTL (0x1e6e) ++#define P_VIU2_VD1_IF0_PROT_CNTL (volatile unsigned int *)((0x1e6e << 2) + 0xff900000) ++#define VIU2_VD1_IF0_URGENT_CTRL (0x1e6f) ++#define P_VIU2_VD1_IF0_URGENT_CTRL (volatile unsigned int *)((0x1e6f << 2) + 0xff900000) ++//Bit 31 it true, disable clock, otherwise enable clock ++//Bit 30 soft rst bit ++//Bit 28 if true, horizontal formatter use repeating to generete pixel, otherwise use bilinear interpolation ++//Bit 27:24 horizontal formatter initial phase ++//Bit 23 horizontal formatter repeat pixel 0 enable ++//Bit 22:21 horizontal Y/C ratio, 00: 1:1, 01: 2:1, 10: 4:1 ++//Bit 20 horizontal formatter enable ++//Bit 19 if true, always use phase0 while vertical formater, meaning always ++// repeat data, no interpolation ++//Bit 18 if true, disable vertical formatter chroma repeat last line ++//Bit 17 veritcal formatter dont need repeat line on phase0, 1: enable, 0: disable ++//Bit 16 veritcal formatter repeat line 0 enable ++//Bit 15:12 vertical formatter skip line num at the beginning ++//Bit 11:8 vertical formatter initial phase ++//Bit 7:1 vertical formatter phase step (3.4) ++//Bit 0 vertical formatter enable ++#define VIU2_VD1_FMT_CTRL (0x1e68) ++#define P_VIU2_VD1_FMT_CTRL (volatile unsigned int *)((0x1e68 << 2) + 0xff900000) ++//Bit 27:16 horizontal formatter width ++//Bit 11:0 vertical formatter width ++#define VIU2_VD1_FMT_W (0x1e69) ++#define P_VIU2_VD1_FMT_W (volatile unsigned int *)((0x1e69 << 2) + 0xff900000) ++#define VIU2_VD1_IF0_GEN_REG3 (0x1e70) ++#define P_VIU2_VD1_IF0_GEN_REG3 (volatile unsigned int *)((0x1e70 << 2) + 0xff900000) ++//bit 31:1, reversed ++//bit 0, cntl_64bit_rev ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: v2regs.h ++// ++//`define VIUB_VCBUS_BASE 8'h20 ++// ++// Reading file: vregs_clk1.h ++// ++//=========================================================================== ++// Video Interface Registers 0xa00 - 0xaff ++//=========================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: VIUB_VCBUS_BASE = 0x20 ++// ----------------------------------------------- ++#define VIUB_ADDR_START (0x2000) ++#define P_VIUB_ADDR_START (volatile unsigned int *)((0x2000 << 2) + 0xff900000) ++#define VIUB_ADDR_END (0x20ff) ++#define P_VIUB_ADDR_END (volatile unsigned int *)((0x20ff << 2) + 0xff900000) ++//`define TRACE_REG 8'ff ++//------------------------------------------------------------------------------ ++// VIU top-level registers ++//------------------------------------------------------------------------------ ++// Bit 0 RW, osd1_reset ++// Bit 1 RW, osd2_reset ++// Bit 2 RW, vd1_reset ++// Bit 3 RW, vd1_fmt_reset ++// Bit 4 RW, vd2_reset ++// Bit 5 RW, vd2_fmt_reset ++// Bit 6 RW, di_dsr1to2_reset ++// Bit 7 RW, vpp_reset ++// Bit 8 RW, di_if1_reset ++// Bit 9 RW, di_if1_fmt_reset ++// Bit 10 RW, di_inp_reset ++// Bit 11 RW, di_inp_fmt_reset ++// Bit 12 RW, di_mem_reset ++// Bit 13 RW, di_mem_fmt_reset ++// Bit 14 RW, di_nr_wr_mif_reset ++// Bit 15 RW, dein_wr_mif_reset ++// Bit 16 RW, di_chan2_mif_reset ++// Bit 17 RW, di_mtn_wr_mif_reset ++// Bit 18 RW, di_mtn_rd_mif_reset ++// Bit 19 RW, di_mad_reset ++// Bit 20 RW, vdin0_reset ++// Bit 21 RW, vdin1_reset ++// Bit 22 RW, nrin_mux_reset ++// Bit 23 RW, vdin0_wr_reset ++// Bit 24 RW, vdin1_wr_reset ++// Bit 25 RW, reserved ++// Bit 26 RW, d2d3_reset ++// Bit 27 RW, di_cont_wr_mif_reset ++// Bit 28 RW, di_cont_rd_mif_reset ++#define VIUB_SW_RESET (0x2001) ++#define P_VIUB_SW_RESET (volatile unsigned int *)((0x2001 << 2) + 0xff900000) ++#define VIUB_SW_RESET0 (0x2002) ++#define P_VIUB_SW_RESET0 (volatile unsigned int *)((0x2002 << 2) + 0xff900000) ++// Bit 0 RW, software reset for mcvecrd_mif ++// Bit 1 RW, software reset for mcinfowr_mif ++// Bit 2 RW, software reset for mcinford_mif ++//bit 8 if true, vsync interrup is generate only field == 0 ++//bit 7:0 fix_disable ++#define VIUB_MISC_CTRL0 (0x2006) ++#define P_VIUB_MISC_CTRL0 (volatile unsigned int *)((0x2006 << 2) + 0xff900000) ++#define VIUB_GCLK_CTRL0 (0x2007) ++#define P_VIUB_GCLK_CTRL0 (volatile unsigned int *)((0x2007 << 2) + 0xff900000) ++//// gclk_ctrl0_gl[ 0] : def=1 di_top_wrap clk enable ++//// ++//// gclk_ctrl0_gl[ 8] : def=0 mad pre clock enable, from mad clock ++//// gclk_ctrl0_gl[ 9] : def=0 mad post clock enable, from mad clock ++//// gclk_ctrl0_gl[10] : def=0 div clock enable, di slow clock including di&mcdi ++//// gclk_ctrl0_gl[11] : def=0 mcdi clock enable, from div clock ++//// gclk_ctrl0_gl[12] : def=0 di post clock enable, from div clock ++//// gclk_ctrl0_gl[13] : def=0 reserved ++//// gclk_ctrl0_gl[14] : def=1 di_no_clk_gate, for old di ++//// gclk_ctrl0_gl[15] : def=0 di_gate_all, for old di ++#define VIUB_GCLK_CTRL1 (0x2008) ++#define P_VIUB_GCLK_CTRL1 (volatile unsigned int *)((0x2008 << 2) + 0xff900000) ++//// gclk_ctrl1_gl[ 1: 0] : def=2'b00 mif-sub-arb clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[ 3: 2] : def=2'b00 if1 rdmif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[ 5: 4] : def=2'b00 if2 rdmif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[ 7: 6] : def=2'b00 de wrmif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[ 9: 8] : def=2'b00 mtnrd post mif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[11:10] : def=2'b00 mcdi post mif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[17:16] : def=2'b00 inp rdmif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[19:18] : def=2'b00 mem rdmif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[21:20] : def=2'b00 chan rdmif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[23:22] : def=2'b00 nr wrmif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[25:24] : def=2'b00 mtn mif clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl1_gl[27:26] : def=2'b00 mcdi pre mif clock gate ctrl [1]: clock valid, [0]: clock close ++//// ++#define VIUB_GCLK_CTRL2 (0x2009) ++#define P_VIUB_GCLK_CTRL2 (volatile unsigned int *)((0x2009 << 2) + 0xff900000) ++//// gclk_ctrl_pre[ 1: 0] : def=2'b00 nr clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl_pre[ 3: 2] : def=2'b00 pd clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl_pre[ 5: 4] : def=2'b00 mtn det clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl_pre[ 7: 6] : def=2'b00 debanding clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl_pre[ 9: 8] : def=2'b00 dnr clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl_pre[11:10] : def=2'b00 nr&dnr blend clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl_pre[13:12] : def=2'b00 mcdi clock gate ctrl [1]: clock valid, [0]: clock close ++#define VIUB_GCLK_CTRL3 (0x200a) ++#define P_VIUB_GCLK_CTRL3 (volatile unsigned int *)((0x200a << 2) + 0xff900000) ++//// gclk_ctrl_post[ 1: 0] : def=2'b00 di blend clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl_post[ 3: 2] : def=2'b00 ei clock gate ctrl [1]: clock valid, [0]: clock close ++//// gclk_ctrl_post[ 5: 4] : def=2'b00 ei_0 clock gate ctrl [1]: clock valid, [0]: clock close ++#define DI_IF2_GEN_REG (0x2010) ++#define P_DI_IF2_GEN_REG (volatile unsigned int *)((0x2010 << 2) + 0xff900000) ++#define DI_IF2_CANVAS0 (0x2011) ++#define P_DI_IF2_CANVAS0 (volatile unsigned int *)((0x2011 << 2) + 0xff900000) ++#define DI_IF2_LUMA_X0 (0x2012) ++#define P_DI_IF2_LUMA_X0 (volatile unsigned int *)((0x2012 << 2) + 0xff900000) ++#define DI_IF2_LUMA_Y0 (0x2013) ++#define P_DI_IF2_LUMA_Y0 (volatile unsigned int *)((0x2013 << 2) + 0xff900000) ++#define DI_IF2_CHROMA_X0 (0x2014) ++#define P_DI_IF2_CHROMA_X0 (volatile unsigned int *)((0x2014 << 2) + 0xff900000) ++#define DI_IF2_CHROMA_Y0 (0x2015) ++#define P_DI_IF2_CHROMA_Y0 (volatile unsigned int *)((0x2015 << 2) + 0xff900000) ++#define DI_IF2_RPT_LOOP (0x2016) ++#define P_DI_IF2_RPT_LOOP (volatile unsigned int *)((0x2016 << 2) + 0xff900000) ++#define DI_IF2_LUMA0_RPT_PAT (0x2017) ++#define P_DI_IF2_LUMA0_RPT_PAT (volatile unsigned int *)((0x2017 << 2) + 0xff900000) ++#define DI_IF2_CHROMA0_RPT_PAT (0x2018) ++#define P_DI_IF2_CHROMA0_RPT_PAT (volatile unsigned int *)((0x2018 << 2) + 0xff900000) ++#define DI_IF2_DUMMY_PIXEL (0x2019) ++#define P_DI_IF2_DUMMY_PIXEL (volatile unsigned int *)((0x2019 << 2) + 0xff900000) ++#define DI_IF2_LUMA_FIFO_SIZE (0x201a) ++#define P_DI_IF2_LUMA_FIFO_SIZE (volatile unsigned int *)((0x201a << 2) + 0xff900000) ++#define DI_IF2_RANGE_MAP_Y (0x201b) ++#define P_DI_IF2_RANGE_MAP_Y (volatile unsigned int *)((0x201b << 2) + 0xff900000) ++#define DI_IF2_RANGE_MAP_CB (0x201c) ++#define P_DI_IF2_RANGE_MAP_CB (volatile unsigned int *)((0x201c << 2) + 0xff900000) ++#define DI_IF2_RANGE_MAP_CR (0x201d) ++#define P_DI_IF2_RANGE_MAP_CR (volatile unsigned int *)((0x201d << 2) + 0xff900000) ++#define DI_IF2_GEN_REG2 (0x201e) ++#define P_DI_IF2_GEN_REG2 (volatile unsigned int *)((0x201e << 2) + 0xff900000) ++#define DI_IF2_FMT_CTRL (0x201f) ++#define P_DI_IF2_FMT_CTRL (volatile unsigned int *)((0x201f << 2) + 0xff900000) ++#define DI_IF2_FMT_W (0x2020) ++#define P_DI_IF2_FMT_W (volatile unsigned int *)((0x2020 << 2) + 0xff900000) ++#define DI_IF2_URGENT_CTRL (0x2021) ++#define P_DI_IF2_URGENT_CTRL (volatile unsigned int *)((0x2021 << 2) + 0xff900000) ++//bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 , low threshold for di inp chroma path ++//bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 , low threshold for di inp luma path ++#define DI_IF2_GEN_REG3 (0x2022) ++#define P_DI_IF2_GEN_REG3 (volatile unsigned int *)((0x2022 << 2) + 0xff900000) ++//bit 31:1, reversed ++//bit 0, cntl_64bit_rev ++#define DI_IF1_URGENT_CTRL (0x20a3) ++#define P_DI_IF1_URGENT_CTRL (volatile unsigned int *)((0x20a3 << 2) + 0xff900000) ++//bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 , low threshold for di inp chroma path ++//bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 , low threshold for di inp luma path ++#define DI_INP_URGENT_CTRL (0x20a4) ++#define P_DI_INP_URGENT_CTRL (volatile unsigned int *)((0x20a4 << 2) + 0xff900000) ++//bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 , low threshold for di mem chroma path ++//bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 , low threshold for di mem luma path ++#define DI_MEM_URGENT_CTRL (0x20a5) ++#define P_DI_MEM_URGENT_CTRL (volatile unsigned int *)((0x20a5 << 2) + 0xff900000) ++//bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 , low threshold for di chan2 chroma path ++//bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 , low threshold for di chan2 luma path ++#define DI_CHAN2_URGENT_CTRL (0x20a6) ++#define P_DI_CHAN2_URGENT_CTRL (volatile unsigned int *)((0x20a6 << 2) + 0xff900000) ++#define DI_IF1_GEN_REG3 (0x20a7) ++#define P_DI_IF1_GEN_REG3 (volatile unsigned int *)((0x20a7 << 2) + 0xff900000) ++//bit 31:1, reversed ++//bit 0, cntl_64bit_rev ++#define DI_INP_GEN_REG3 (0x20a8) ++#define P_DI_INP_GEN_REG3 (volatile unsigned int *)((0x20a8 << 2) + 0xff900000) ++//bit 31:1, reversed ++//bit 0, cntl_64bit_rev ++#define DI_MEM_GEN_REG3 (0x20a9) ++#define P_DI_MEM_GEN_REG3 (volatile unsigned int *)((0x20a9 << 2) + 0xff900000) ++//bit 31:1, reversed ++//bit 0, cntl_64bit_rev ++#define DI_CHAN2_GEN_REG3 (0x20aa) ++#define P_DI_CHAN2_GEN_REG3 (volatile unsigned int *)((0x20aa << 2) + 0xff900000) ++//bit 31:1, reversed ++//bit 0, cntl_64bit_rev ++// ++// Closing file: vregs_clk1.h ++// ++//====================================================================== ++// vpu register. ++//====================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: VPU_VCBUS_BASE = 0x27 ++// ----------------------------------------------- ++#define VPU_OSD1_MMC_CTRL (0x2701) ++#define P_VPU_OSD1_MMC_CTRL (volatile unsigned int *)((0x2701 << 2) + 0xff900000) ++#define VPU_OSD2_MMC_CTRL (0x2702) ++#define P_VPU_OSD2_MMC_CTRL (volatile unsigned int *)((0x2702 << 2) + 0xff900000) ++#define VPU_VD1_MMC_CTRL (0x2703) ++#define P_VPU_VD1_MMC_CTRL (volatile unsigned int *)((0x2703 << 2) + 0xff900000) ++#define VPU_VD2_MMC_CTRL (0x2704) ++#define P_VPU_VD2_MMC_CTRL (volatile unsigned int *)((0x2704 << 2) + 0xff900000) ++#define VPU_DI_IF1_MMC_CTRL (0x2705) ++#define P_VPU_DI_IF1_MMC_CTRL (volatile unsigned int *)((0x2705 << 2) + 0xff900000) ++#define VPU_DI_MEM_MMC_CTRL (0x2706) ++#define P_VPU_DI_MEM_MMC_CTRL (volatile unsigned int *)((0x2706 << 2) + 0xff900000) ++#define VPU_DI_INP_MMC_CTRL (0x2707) ++#define P_VPU_DI_INP_MMC_CTRL (volatile unsigned int *)((0x2707 << 2) + 0xff900000) ++#define VPU_DI_MTNRD_MMC_CTRL (0x2708) ++#define P_VPU_DI_MTNRD_MMC_CTRL (volatile unsigned int *)((0x2708 << 2) + 0xff900000) ++#define VPU_DI_CHAN2_MMC_CTRL (0x2709) ++#define P_VPU_DI_CHAN2_MMC_CTRL (volatile unsigned int *)((0x2709 << 2) + 0xff900000) ++#define VPU_DI_MTNWR_MMC_CTRL (0x270a) ++#define P_VPU_DI_MTNWR_MMC_CTRL (volatile unsigned int *)((0x270a << 2) + 0xff900000) ++#define VPU_DI_NRWR_MMC_CTRL (0x270b) ++#define P_VPU_DI_NRWR_MMC_CTRL (volatile unsigned int *)((0x270b << 2) + 0xff900000) ++#define VPU_DI_DIWR_MMC_CTRL (0x270c) ++#define P_VPU_DI_DIWR_MMC_CTRL (volatile unsigned int *)((0x270c << 2) + 0xff900000) ++#define VPU_VDIN0_MMC_CTRL (0x270d) ++#define P_VPU_VDIN0_MMC_CTRL (volatile unsigned int *)((0x270d << 2) + 0xff900000) ++#define VPU_VDIN1_MMC_CTRL (0x270e) ++#define P_VPU_VDIN1_MMC_CTRL (volatile unsigned int *)((0x270e << 2) + 0xff900000) ++#define VPU_BT656_MMC_CTRL (0x270f) ++#define P_VPU_BT656_MMC_CTRL (volatile unsigned int *)((0x270f << 2) + 0xff900000) ++#define VPU_TVD3D_MMC_CTRL (0x2710) ++#define P_VPU_TVD3D_MMC_CTRL (volatile unsigned int *)((0x2710 << 2) + 0xff900000) ++#define VPU_TVDVBI_MMC_CTRL (0x2711) ++#define P_VPU_TVDVBI_MMC_CTRL (volatile unsigned int *)((0x2711 << 2) + 0xff900000) ++//Read only ++//`define VPU_TVDVBI_VSLATCH_ADDR 8'h12 ++//Read only ++//`define VPU_TVDVBI_WRRSP_ADDR 8'h13 ++#define VPU_VDIN_PRE_ARB_CTRL (0x2714) ++#define P_VPU_VDIN_PRE_ARB_CTRL (volatile unsigned int *)((0x2714 << 2) + 0xff900000) ++#define VPU_VDISP_PRE_ARB_CTRL (0x2715) ++#define P_VPU_VDISP_PRE_ARB_CTRL (volatile unsigned int *)((0x2715 << 2) + 0xff900000) ++#define VPU_VPUARB2_PRE_ARB_CTRL (0x2716) ++#define P_VPU_VPUARB2_PRE_ARB_CTRL (volatile unsigned int *)((0x2716 << 2) + 0xff900000) ++#define VPU_OSD3_MMC_CTRL (0x2717) ++#define P_VPU_OSD3_MMC_CTRL (volatile unsigned int *)((0x2717 << 2) + 0xff900000) ++#define VPU_OSD4_MMC_CTRL (0x2718) ++#define P_VPU_OSD4_MMC_CTRL (volatile unsigned int *)((0x2718 << 2) + 0xff900000) ++#define VPU_VD3_MMC_CTRL (0x2719) ++#define P_VPU_VD3_MMC_CTRL (volatile unsigned int *)((0x2719 << 2) + 0xff900000) ++// [31:11] Reserved. ++// [10: 8] cntl_viu_vdin_sel_data. Select VIU to VDIN data path, must clear it first before changing the path selection: ++// 3'b000=Disable VIU to VDIN path; ++// 3'b001=Enable VIU of ENC_I domain to VDIN; ++// 3'b010=Enable VIU of ENC_P domain to VDIN; ++// 3'b100=Enable VIU of ENC_T domain to VDIN; ++// [ 6: 4] cntl_viu_vdin_sel_clk. Select which clock to VDIN path, must clear it first before changing the clock: ++// 3'b000=Disable VIU to VDIN clock; ++// 3'b001=Select encI clock to VDIN; ++// 3'b010=Select encP clock to VDIN; ++// 3'b100=Select encT clock to VDIN; ++// [ 3: 2] cntl_viu2_sel_venc. Select which one of the encI/P/T that VIU2 connects to: ++// 0=No connection, 1=ENCI, 2=ENCP, 3=ENCT. ++// [ 1: 0] cntl_viu1_sel_venc. Select which one of the encI/P/T that VIU1 connects to: ++// 0=No connection, 1=ENCI, 2=ENCP, 3=ENCT. ++#define VPU_VIU_VENC_MUX_CTRL (0x271a) ++#define P_VPU_VIU_VENC_MUX_CTRL (volatile unsigned int *)((0x271a << 2) + 0xff900000) ++// [15:12] rd_rate. 0=A read every clk2; 1=A read every 2 clk2; ...; 15=A read every 16 clk2. ++// [11: 8] wr_rate. 0=A write every clk1; 1=A write every 2 clk1; ...; 15=A write every 16 clk1. ++// [ 7: 5] data_comp_map. Input data is CrYCb(BRG), map the output data to desired format: ++// 0=output CrYCb(BRG); ++// 1=output YCbCr(RGB); ++// 2=output YCrCb(RBG); ++// 3=output CbCrY(GBR); ++// 4=output CbYCr(GRB); ++// 5=output CrCbY(BGR); ++// 6,7=Rsrv. ++// [ 4] inv_dvi_clk. 1=Invert clock to external DVI, (clock invertion exists at internal HDMI). ++// [ 3] inv_vsync. 1=Invert Vsync polarity. ++// [ 2] inv_hsync. 1=Invert Hsync polarity. ++// [ 1: 0] src_sel. 0=Disable output to HDMI; 1=Select VENC_I output to HDMI; 2=Select VENC_P output. ++#define VPU_HDMI_SETTING (0x271b) ++#define P_VPU_HDMI_SETTING (volatile unsigned int *)((0x271b << 2) + 0xff900000) ++#define ENCI_INFO_READ (0x271c) ++#define P_ENCI_INFO_READ (volatile unsigned int *)((0x271c << 2) + 0xff900000) ++#define ENCP_INFO_READ (0x271d) ++#define P_ENCP_INFO_READ (volatile unsigned int *)((0x271d << 2) + 0xff900000) ++#define ENCT_INFO_READ (0x271e) ++#define P_ENCT_INFO_READ (volatile unsigned int *)((0x271e << 2) + 0xff900000) ++#define ENCL_INFO_READ (0x271f) ++#define P_ENCL_INFO_READ (volatile unsigned int *)((0x271f << 2) + 0xff900000) ++// Bit 0 RW, viu_rst_n ++// Bit 1 RW, vdin_mmc_arb_rst_n ++// Bit 2 RW, vdisp_mmc_arb_rst_n ++// Bit 3 RW, vpuarb2_mmc_arb_rst_n ++#define VPU_SW_RESET (0x2720) ++#define P_VPU_SW_RESET (volatile unsigned int *)((0x2720 << 2) + 0xff900000) ++//Bit 30 d2d3_depr_req_sel, 0:vdisp_pre_arb, 1: vpuarb2_pre_arb ++//Bit 27:22 d2d3_depr_brst_num ++//Bit 21:16 d2d3_depr_id ++//Bit 14 d2d3_depw_req_sel, 0: vdin_pre_arb, 1: vdisp_pre_arb ++//Bit 11:6 d2d3_depw_brst_num ++//Bit 5:0 d2d3_depw_id ++#define VPU_D2D3_MMC_CTRL (0x2721) ++#define P_VPU_D2D3_MMC_CTRL (volatile unsigned int *)((0x2721 << 2) + 0xff900000) ++//Bit 30 mtn_contrd_req_pre, 0:disp1_arb, 1: vdin_pre_arb ++//Bit 27:22 mtn_contrd_brst_num ++//Bit 21:16 mtn_contrd_id ++//Bit 14 mtn_contwr_req_pre, 0: vdisp1_arb, 1: vdin_pre_arb ++//Bit 11:6 mtn_contwr_brst_num ++//Bit 5:0 mtn_contwr_id ++#define VPU_CONT_MMC_CTRL (0x2722) ++#define P_VPU_CONT_MMC_CTRL (volatile unsigned int *)((0x2722 << 2) + 0xff900000) ++// Bit 6 RW, gclk_mpeg_vpu_misc ++// Bit 5 RW, gclk_mpeg_venc_l_top ++// Bit 4 RW, gclk_mpeg_vencl_int ++// Bit 3 RW, gclk_mpeg_vencp_int ++// Bit 2 RW, gclk_mpeg_vi2_top ++// Bit 1 RW, gclk_mpeg_vi_top ++// Bit 0 RW, gclk_mpeg_venc_p_top ++#define VPU_CLK_GATE (0x2723) ++#define P_VPU_CLK_GATE (volatile unsigned int *)((0x2723 << 2) + 0xff900000) ++//Bit 12 RW, rdma_pre ++//Bit 11: 6 RW, rdma_num ++//Bit 5: 0 RW, rdma_id ++#define VPU_RDMA_MMC_CTRL (0x2724) ++#define P_VPU_RDMA_MMC_CTRL (volatile unsigned int *)((0x2724 << 2) + 0xff900000) ++#define VPU_MEM_PD_REG0 (0x2725) ++#define P_VPU_MEM_PD_REG0 (volatile unsigned int *)((0x2725 << 2) + 0xff900000) ++#define VPU_MEM_PD_REG1 (0x2726) ++#define P_VPU_MEM_PD_REG1 (volatile unsigned int *)((0x2726 << 2) + 0xff900000) ++// [ 31] hdmi_data_ovr_en: 1=Enable overriding data input to HDMI TX with hdmi_data_ovr[29:0]. 0=No override. Default 0. ++// [ 30] Reserved. Default 0 ++// [29: 0] hdmi_data_ovr. Default 0. ++#define VPU_HDMI_DATA_OVR (0x2727) ++#define P_VPU_HDMI_DATA_OVR (volatile unsigned int *)((0x2727 << 2) + 0xff900000) ++//Bit 15 RW, prot1_sel_osd4 ++//Bit 14 RW, prot1_sel_osd3 ++//Bit 13 RW, prot1_sel_osd2 ++//Bit 12 RW, prot1_sel_osd1 ++//Bit 11: 6 RW, prot1_brst_num ++//Bit 5: 0 RW, prot1_id ++#define VPU_PROT1_MMC_CTRL (0x2728) ++#define P_VPU_PROT1_MMC_CTRL (volatile unsigned int *)((0x2728 << 2) + 0xff900000) ++//Bit 14 RW, prot2_sel_vd3 ++//Bit 13 RW, prot2_sel_vd2 ++//Bit 12 RW, prot2_sel_vd1 ++//Bit 11: 6 RW, prot2_brst_num ++//Bit 5: 0 RW, prot2_id ++#define VPU_PROT2_MMC_CTRL (0x2729) ++#define P_VPU_PROT2_MMC_CTRL (volatile unsigned int *)((0x2729 << 2) + 0xff900000) ++//Bit 14 RW, prot3_sel_vd3 ++//Bit 13 RW, prot3_sel_vd2 ++//Bit 12 RW, prot3_sel_vd1 ++//Bit 11: 6 RW, prot3_brst_num ++//Bit 5: 0 RW, prot3_id ++#define VPU_PROT3_MMC_CTRL (0x272a) ++#define P_VPU_PROT3_MMC_CTRL (volatile unsigned int *)((0x272a << 2) + 0xff900000) ++//Bit 29:24 RW, s3_brst_num ++//Bit 21:16 RW, s2_brst_num ++//Bit 13: 8 RW, s1_brst_num ++//Bit 5: 0 RW, s0_brst_num ++#define VPU_ARB4_V1_MMC_CTRL (0x272b) ++#define P_VPU_ARB4_V1_MMC_CTRL (volatile unsigned int *)((0x272b << 2) + 0xff900000) ++//Bit 29:24 RW, s3_brst_num ++//Bit 21:16 RW, s2_brst_num ++//Bit 13: 8 RW, s1_brst_num ++//Bit 5: 0 RW, s0_brst_num ++#define VPU_ARB4_V2_MMC_CTRL (0x272c) ++#define P_VPU_ARB4_V2_MMC_CTRL (volatile unsigned int *)((0x272c << 2) + 0xff900000) ++//Bit 27:22 RW, mcvecwr_num ++//Bit 21:16 RW, mcvecwr_id ++//Bit 11:6 RW, mcvecrd_num ++//Bit 5:0 RW, mcvecrd_id ++#define VPU_MCVEC_MMC_CTRL (0x272d) ++#define P_VPU_MCVEC_MMC_CTRL (volatile unsigned int *)((0x272d << 2) + 0xff900000) ++//Bit 27:22 RW, mcinfwr_num ++//Bit 21:16 RW, mcinfwr_id ++//Bit 11:6 RW, mcinfrd_num ++//Bit 5:0 RW, mcinfrd_id ++#define VPU_MCINF_MMC_CTRL (0x272e) ++#define P_VPU_MCINF_MMC_CTRL (volatile unsigned int *)((0x272e << 2) + 0xff900000) ++//Bit 31 reg_vpu_pwm_inv, 1: invert the pwm signal, active low ++//Bit 30:29 reg_vpu_pwm_src_sel, 00: encl, enct, encp ++//Bit 28:16 reg_vpu_pwm_v_end0 ++//Bit 12:0 reg_vpu_pwm_v_start0 ++#define VPU_VPU_PWM_V0 (0x2730) ++#define P_VPU_VPU_PWM_V0 (volatile unsigned int *)((0x2730 << 2) + 0xff900000) ++//Bit 28:16 reg_vpu_pwm_v_end1 ++//Bit 12:0 reg_vpu_pwm_v_start1 ++#define VPU_VPU_PWM_V1 (0x2731) ++#define P_VPU_VPU_PWM_V1 (volatile unsigned int *)((0x2731 << 2) + 0xff900000) ++//Bit 28:16 reg_vpu_pwm_v_end2 ++//Bit 12:0 reg_vpu_pwm_v_start2 ++#define VPU_VPU_PWM_V2 (0x2732) ++#define P_VPU_VPU_PWM_V2 (volatile unsigned int *)((0x2732 << 2) + 0xff900000) ++//Bit 28:16 reg_vpu_pwm_v_end3 ++//Bit 12:0 reg_vpu_pwm_v_start3 ++#define VPU_VPU_PWM_V3 (0x2733) ++#define P_VPU_VPU_PWM_V3 (volatile unsigned int *)((0x2733 << 2) + 0xff900000) ++//Bit 28:16 reg_vpu_pwm_h_end0 ++//Bit 12:0 reg_vpu_pwm_h_start0 ++#define VPU_VPU_PWM_H0 (0x2734) ++#define P_VPU_VPU_PWM_H0 (volatile unsigned int *)((0x2734 << 2) + 0xff900000) ++//Bit 28:16 reg_vpu_pwm_h_end1 ++//Bit 12:0 reg_vpu_pwm_h_start1 ++#define VPU_VPU_PWM_H1 (0x2735) ++#define P_VPU_VPU_PWM_H1 (volatile unsigned int *)((0x2735 << 2) + 0xff900000) ++//Bit 28:16 reg_vpu_pwm_h_end2 ++//Bit 12:0 reg_vpu_pwm_h_start2 ++#define VPU_VPU_PWM_H2 (0x2736) ++#define P_VPU_VPU_PWM_H2 (volatile unsigned int *)((0x2736 << 2) + 0xff900000) ++//Bit 28:16 reg_vpu_pwm_h_end3 ++//Bit 12:0 reg_vpu_pwm_h_start3 ++#define VPU_VPU_PWM_H3 (0x2737) ++#define P_VPU_VPU_PWM_H3 (volatile unsigned int *)((0x2737 << 2) + 0xff900000) ++//Bit 18 reg_vpu_3d_go_high_fld_pol: 0: go high at field 0, 1: go high at field 1 ++//Bit 17 reg_vpu_3d_sync_setting_vsync_latch ++//Bit 16 reg_vpu_3d_sync_enable ++//Bit 14:8 reg_vpu_3d_sync_v_end ++//Bit 6:0 reg_vpu_3d_sync_v_start ++#define VPU_VPU_3D_SYNC1 (0x2738) ++#define P_VPU_VPU_3D_SYNC1 (volatile unsigned int *)((0x2738 << 2) + 0xff900000) ++//Bit 28:16 reg_vpu_3d_sync_h_end ++//Bit 12:0 reg_vpu_3d_sync_h_start ++#define VPU_VPU_3D_SYNC2 (0x2739) ++#define P_VPU_VPU_3D_SYNC2 (volatile unsigned int *)((0x2739 << 2) + 0xff900000) ++//Bit 4 csi2_pre, 1: using vpu pre arbiter0, 0: using vpu pre arbiter2 ++//Bit 2:1 isp_in_sel, 01: select bt656, 10: select Mipi CSI2, otherwise select nothing ++//Bit 0, if true, force vencl clk enable, otherwise, it might auto turn off by mipi DSI ++#define VPU_MISC_CTRL (0x2740) ++#define P_VPU_MISC_CTRL (volatile unsigned int *)((0x2740 << 2) + 0xff900000) ++#define VPU_ISP_GCLK_CTRL0 (0x2741) ++#define P_VPU_ISP_GCLK_CTRL0 (volatile unsigned int *)((0x2741 << 2) + 0xff900000) ++#define VPU_ISP_GCLK_CTRL1 (0x2742) ++#define P_VPU_ISP_GCLK_CTRL1 (volatile unsigned int *)((0x2742 << 2) + 0xff900000) ++#define VPU_HDMI_FMT_CTRL (0x2743) ++#define P_VPU_HDMI_FMT_CTRL (volatile unsigned int *)((0x2743 << 2) + 0xff900000) ++#define VPU_VDIN_ASYNC_HOLD_CTRL (0x2744) ++#define P_VPU_VDIN_ASYNC_HOLD_CTRL (volatile unsigned int *)((0x2744 << 2) + 0xff900000) ++#define VPU_VDISP_ASYNC_HOLD_CTRL (0x2745) ++#define P_VPU_VDISP_ASYNC_HOLD_CTRL (volatile unsigned int *)((0x2745 << 2) + 0xff900000) ++#define VPU_VPUARB2_ASYNC_HOLD_CTRL (0x2746) ++#define P_VPU_VPUARB2_ASYNC_HOLD_CTRL (volatile unsigned int *)((0x2746 << 2) + 0xff900000) ++// arb0_rd_urg_ctrl_o <= vpp_off_urg_ctrl & vpu_arb_urg_ctrl[0] | ++// rdma_ddr_req_busy_sync_d1 & vpu_arb_urg_ctrl[1] ++// ; ++// ++// arb1_rd_urg_ctrl_o <= vpp_off_urg_ctrl & vpu_arb_urg_ctrl[2] | ++// rdma_ddr_req_busy_sync_d1 & vpu_arb_urg_ctrl[3] ++// ; ++// ++// arb2_rd_urg_ctrl_o <= vpp_off_urg_ctrl & vpu_arb_urg_ctrl[4] | ++// rdma_ddr_req_busy_sync_d1 & vpu_arb_urg_ctrl[5] ++// ; ++// ++// arb0_wr_urg_ctrl_o <= vdin0_lff_urg_ctrl_sync_d1 & vpu_arb_urg_ctrl[6] | ++// vdin1_lff_urg_ctrl_sync_d1 & vpu_arb_urg_ctrl[7] ++// ; ++// ++// arb1_wr_urg_ctrl_o <= vdin0_lff_urg_ctrl_sync_d1 & vpu_arb_urg_ctrl[8] | ++// vdin1_lff_urg_ctrl_sync_d1 & vpu_arb_urg_ctrl[9] ++// ++#define VPU_ARB_URG_CTRL (0x2747) ++#define P_VPU_ARB_URG_CTRL (volatile unsigned int *)((0x2747 << 2) + 0xff900000) ++#define VPU_SECURE_DUMMY (0x2748) ++#define P_VPU_SECURE_DUMMY (volatile unsigned int *)((0x2748 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_EN (0x2749) ++#define P_VPU_VENCL_DITH_EN (volatile unsigned int *)((0x2749 << 2) + 0xff900000) ++// todo : ++#define VPU_422TO444_RST (0x274a) ++#define P_VPU_422TO444_RST (volatile unsigned int *)((0x274a << 2) + 0xff900000) ++// todo : ++#define VPU_422TO444_CTRL0 (0x274b) ++#define P_VPU_422TO444_CTRL0 (volatile unsigned int *)((0x274b << 2) + 0xff900000) ++// todo : ++#define VPU_422TO444_CTRL1 (0x274c) ++#define P_VPU_422TO444_CTRL1 (volatile unsigned int *)((0x274c << 2) + 0xff900000) ++// todo : ++// Picture Rotate (PROT) module 1 (for OSD) registers: ++#define VPU_PROT1_CLK_GATE (0x2750) ++#define P_VPU_PROT1_CLK_GATE (volatile unsigned int *)((0x2750 << 2) + 0xff900000) ++#define VPU_PROT1_GEN_CNTL (0x2751) ++#define P_VPU_PROT1_GEN_CNTL (volatile unsigned int *)((0x2751 << 2) + 0xff900000) ++#define VPU_PROT1_X_START_END (0x2752) ++#define P_VPU_PROT1_X_START_END (volatile unsigned int *)((0x2752 << 2) + 0xff900000) ++#define VPU_PROT1_Y_START_END (0x2753) ++#define P_VPU_PROT1_Y_START_END (volatile unsigned int *)((0x2753 << 2) + 0xff900000) ++#define VPU_PROT1_Y_LEN_STEP (0x2754) ++#define P_VPU_PROT1_Y_LEN_STEP (volatile unsigned int *)((0x2754 << 2) + 0xff900000) ++#define VPU_PROT1_RPT_LOOP (0x2755) ++#define P_VPU_PROT1_RPT_LOOP (volatile unsigned int *)((0x2755 << 2) + 0xff900000) ++#define VPU_PROT1_RPT_PAT (0x2756) ++#define P_VPU_PROT1_RPT_PAT (volatile unsigned int *)((0x2756 << 2) + 0xff900000) ++#define VPU_PROT1_DDR (0x2757) ++#define P_VPU_PROT1_DDR (volatile unsigned int *)((0x2757 << 2) + 0xff900000) ++#define VPU_PROT1_RBUF_ROOM (0x2758) ++#define P_VPU_PROT1_RBUF_ROOM (volatile unsigned int *)((0x2758 << 2) + 0xff900000) ++#define VPU_PROT1_STAT_0 (0x2759) ++#define P_VPU_PROT1_STAT_0 (volatile unsigned int *)((0x2759 << 2) + 0xff900000) ++#define VPU_PROT1_STAT_1 (0x275a) ++#define P_VPU_PROT1_STAT_1 (volatile unsigned int *)((0x275a << 2) + 0xff900000) ++#define VPU_PROT1_STAT_2 (0x275b) ++#define P_VPU_PROT1_STAT_2 (volatile unsigned int *)((0x275b << 2) + 0xff900000) ++#define VPU_PROT1_REQ_ONOFF (0x275c) ++#define P_VPU_PROT1_REQ_ONOFF (volatile unsigned int *)((0x275c << 2) + 0xff900000) ++// Picture Rotate (PROT) module 2 (for VD) registers: ++#define VPU_PROT2_CLK_GATE (0x2760) ++#define P_VPU_PROT2_CLK_GATE (volatile unsigned int *)((0x2760 << 2) + 0xff900000) ++#define VPU_PROT2_GEN_CNTL (0x2761) ++#define P_VPU_PROT2_GEN_CNTL (volatile unsigned int *)((0x2761 << 2) + 0xff900000) ++#define VPU_PROT2_X_START_END (0x2762) ++#define P_VPU_PROT2_X_START_END (volatile unsigned int *)((0x2762 << 2) + 0xff900000) ++#define VPU_PROT2_Y_START_END (0x2763) ++#define P_VPU_PROT2_Y_START_END (volatile unsigned int *)((0x2763 << 2) + 0xff900000) ++#define VPU_PROT2_Y_LEN_STEP (0x2764) ++#define P_VPU_PROT2_Y_LEN_STEP (volatile unsigned int *)((0x2764 << 2) + 0xff900000) ++#define VPU_PROT2_RPT_LOOP (0x2765) ++#define P_VPU_PROT2_RPT_LOOP (volatile unsigned int *)((0x2765 << 2) + 0xff900000) ++#define VPU_PROT2_RPT_PAT (0x2766) ++#define P_VPU_PROT2_RPT_PAT (volatile unsigned int *)((0x2766 << 2) + 0xff900000) ++#define VPU_PROT2_DDR (0x2767) ++#define P_VPU_PROT2_DDR (volatile unsigned int *)((0x2767 << 2) + 0xff900000) ++#define VPU_PROT2_RBUF_ROOM (0x2768) ++#define P_VPU_PROT2_RBUF_ROOM (volatile unsigned int *)((0x2768 << 2) + 0xff900000) ++#define VPU_PROT2_STAT_0 (0x2769) ++#define P_VPU_PROT2_STAT_0 (volatile unsigned int *)((0x2769 << 2) + 0xff900000) ++#define VPU_PROT2_STAT_1 (0x276a) ++#define P_VPU_PROT2_STAT_1 (volatile unsigned int *)((0x276a << 2) + 0xff900000) ++#define VPU_PROT2_STAT_2 (0x276b) ++#define P_VPU_PROT2_STAT_2 (volatile unsigned int *)((0x276b << 2) + 0xff900000) ++#define VPU_PROT2_REQ_ONOFF (0x276c) ++#define P_VPU_PROT2_REQ_ONOFF (volatile unsigned int *)((0x276c << 2) + 0xff900000) ++// Picture Rotate (PROT) module 3 (for VD) registers: ++#define VPU_PROT3_CLK_GATE (0x2770) ++#define P_VPU_PROT3_CLK_GATE (volatile unsigned int *)((0x2770 << 2) + 0xff900000) ++#define VPU_PROT3_GEN_CNTL (0x2771) ++#define P_VPU_PROT3_GEN_CNTL (volatile unsigned int *)((0x2771 << 2) + 0xff900000) ++#define VPU_PROT3_X_START_END (0x2772) ++#define P_VPU_PROT3_X_START_END (volatile unsigned int *)((0x2772 << 2) + 0xff900000) ++#define VPU_PROT3_Y_START_END (0x2773) ++#define P_VPU_PROT3_Y_START_END (volatile unsigned int *)((0x2773 << 2) + 0xff900000) ++#define VPU_PROT3_Y_LEN_STEP (0x2774) ++#define P_VPU_PROT3_Y_LEN_STEP (volatile unsigned int *)((0x2774 << 2) + 0xff900000) ++#define VPU_PROT3_RPT_LOOP (0x2775) ++#define P_VPU_PROT3_RPT_LOOP (volatile unsigned int *)((0x2775 << 2) + 0xff900000) ++#define VPU_PROT3_RPT_PAT (0x2776) ++#define P_VPU_PROT3_RPT_PAT (volatile unsigned int *)((0x2776 << 2) + 0xff900000) ++#define VPU_PROT3_DDR (0x2777) ++#define P_VPU_PROT3_DDR (volatile unsigned int *)((0x2777 << 2) + 0xff900000) ++#define VPU_PROT3_RBUF_ROOM (0x2778) ++#define P_VPU_PROT3_RBUF_ROOM (volatile unsigned int *)((0x2778 << 2) + 0xff900000) ++#define VPU_PROT3_STAT_0 (0x2779) ++#define P_VPU_PROT3_STAT_0 (volatile unsigned int *)((0x2779 << 2) + 0xff900000) ++#define VPU_PROT3_STAT_1 (0x277a) ++#define P_VPU_PROT3_STAT_1 (volatile unsigned int *)((0x277a << 2) + 0xff900000) ++#define VPU_PROT3_STAT_2 (0x277b) ++#define P_VPU_PROT3_STAT_2 (volatile unsigned int *)((0x277b << 2) + 0xff900000) ++#define VPU_PROT3_REQ_ONOFF (0x277c) ++#define P_VPU_PROT3_REQ_ONOFF (volatile unsigned int *)((0x277c << 2) + 0xff900000) ++//Bit 20 reg_viu2vdin_sw_reset: software reset ++//Bit 19:18 reg_viu2vdin_dn_ratio: down-scale ratio; 0: no scale; 1: 1/2; 2:1/4; 3: reserved ++//Bit 17:16 reg_viu2vdin_flt_mode: filter mode; 0: no filter; 1:[0 2 2 0]/4; 2:[1 1 1 1]/4; 3:[1 3 3 1]/8 ++//Bit 15:14 reversed ++//Bit 13:0 reg_viu2vdin_hsize: source horizontal size ++#define VPU_VIU2VDIN_HDN_CTRL (0x2780) ++#define P_VPU_VIU2VDIN_HDN_CTRL (volatile unsigned int *)((0x2780 << 2) + 0xff900000) ++#define VPU_VIU_ASYNC_MASK (0x2781) ++#define P_VPU_VIU_ASYNC_MASK (volatile unsigned int *)((0x2781 << 2) + 0xff900000) ++#define VDIN_MISC_CTRL (0x2782) ++#define P_VDIN_MISC_CTRL (volatile unsigned int *)((0x2782 << 2) + 0xff900000) ++// vpu arbtration : ++// the segment is 8'h90-8'hc8 ++// ++// Reading file: vpu_arb_axi_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++////===============================//// ++//// reg ++////===============================//// ++#define VPU_RDARB_MODE_L1C1 (0x2790) ++#define P_VPU_RDARB_MODE_L1C1 (volatile unsigned int *)((0x2790 << 2) + 0xff900000) ++//Bit 31:22, reserved ++//Bit 21:16, rdarb_sel uns, default = 0 , ++// rdarb_sel[0]==0 slave dc0 connect master port0 rdarb_sel[0]==1 slave dc0 connect master port1 ++// rdarb_sel[1]==0 slave dc1 connect master port0 rdarb_sel[1]==1 slave dc1 connect master port1 ++// rdarb_sel[2]==0 slave dc2 connect master port0 rdarb_sel[2]==1 slave dc2 connect master port1 ++// rdarb_sel[3]==0 slave dc3 connect master port0 rdarb_sel[3]==1 slave dc3 connect master port1 ++// rdarb_sel[4]==0 slave dc4 connect master port0 rdarb_sel[4]==1 slave dc4 connect master port1 ++// rdarb_sel[5]==0 slave dc5 connect master port0 rdarb_sel[5]==1 slave dc5 connect master port1 ++//Bit 15:10, reserved ++//Bit 9:8, rdarb_arb_mode uns, default = 0 , ++// rdarb_arb_mode[0] master port0 arb way, ++// rdarb_arb_mode[1] master port1 arb way, ++//Bit 7:4, reserved ++//Bit 3:0, rdarb_gate_clk_ctrl uns, default = 0 , ++// rdarb_gate_clk_ctrl[1:0] master port0 clk gate control ++// rdarb_gate_clk_ctrl[3:2] master port1 clk gate control ++#define VPU_RDARB_REQEN_SLV_L1C1 (0x2791) ++#define P_VPU_RDARB_REQEN_SLV_L1C1 (volatile unsigned int *)((0x2791 << 2) + 0xff900000) ++//Bit 31:12, reserved ++//Bit 11:0, rdarb_dc_req_en unsigned , default = 12'hfff ++// rdarb_dc_req_en[0]: the slv0 req to mst port0 enable, ++// rdarb_dc_req_en[1]: the slv1 req to mst port0 enable, ++// rdarb_dc_req_en[2]: the slv2 req to mst port0 enable, ++// rdarb_dc_req_en[3]: the slv3 req to mst port0 enable, ++// rdarb_dc_req_en[4]: the slv4 req to mst port0 enable, ++// rdarb_dc_req_en[5]: the slv5 req to mst port0 enable, ++// rdarb_dc_req_en[6]: the slv0 req to mst port1 enable, ++// rdarb_dc_req_en[7]: the slv1 req to mst port1 enable, ++// rdarb_dc_req_en[8]: the slv2 req to mst port1 enable, ++// rdarb_dc_req_en[9]: the slv3 req to mst port1 enable, ++// rdarb_dc_req_en[10]: the slv4 req to mst port1 enable, ++// rdarb_dc_req_en[11]: the slv5 req to mst port1 enable, ++#define VPU_RDARB_WEIGH0_SLV_L1C1 (0x2792) ++#define P_VPU_RDARB_WEIGH0_SLV_L1C1 (volatile unsigned int *)((0x2792 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:0, rddc_weigh_sxn unsigned , default = 0 ++// rddc_weigh_sxn[0*6+:6]: the slv0 req weigh number ++// rddc_weigh_sxn[1*6+:6]: the slv1 req weigh number ++// rddc_weigh_sxn[2*6+:6]: the slv2 req weigh number ++// rddc_weigh_sxn[3*6+:6]: the slv3 req weigh number ++// rddc_weigh_sxn[4*6+:6]: the slv4 req weigh number ++#define VPU_RDARB_WEIGH1_SLV_L1C1 (0x2793) ++#define P_VPU_RDARB_WEIGH1_SLV_L1C1 (volatile unsigned int *)((0x2793 << 2) + 0xff900000) ++//Bit 31:6, reserved ++//Bit 5:0, rddc_weigh_sxn unsigned , default = 0 ++// rddc_weigh_sxn[5*6+:6]: the slv5 req weigh number ++#define VPU_WRARB_MODE_L1C1 (0x2794) ++#define P_VPU_WRARB_MODE_L1C1 (volatile unsigned int *)((0x2794 << 2) + 0xff900000) ++//Bit 31:22, reserved ++//Bit 21:16, wrarb_sel uns, default = 0 , ++// wrarb_sel[0]==0 slave dc0 connect master port0 wrarb_sel[0]==1 slave dc0 connect master port1 ++// wrarb_sel[1]==0 slave dc1 connect master port0 wrarb_sel[1]==1 slave dc1 connect master port1 ++// wrarb_sel[2]==0 slave dc2 connect master port0 wrarb_sel[2]==1 slave dc2 connect master port1 ++// wrarb_sel[3]==0 slave dc3 connect master port0 wrarb_sel[3]==1 slave dc3 connect master port1 ++// wrarb_sel[4]==0 slave dc4 connect master port0 wrarb_sel[4]==1 slave dc4 connect master port1 ++// wrarb_sel[5]==0 slave dc5 connect master port0 wrarb_sel[5]==1 slave dc5 connect master port1 ++//Bit 15:10, reserved ++//Bit 9:8, wrarb_arb_mode uns, default = 0 , ++// wrarb_arb_mode[0] master port0 arb way, ++// wrarb_arb_mode[1] master port1 arb way, ++//Bit 7:4, reserved ++//Bit 3:0, wrarb_gate_clk_ctrl uns, default = 0 , ++// wrarb_gate_clk_ctrl[1:0] master port0 clk gate control ++// wrarb_gate_clk_ctrl[3:2] master port1 clk gate control ++#define VPU_WRARB_REQEN_SLV_L1C1 (0x2795) ++#define P_VPU_WRARB_REQEN_SLV_L1C1 (volatile unsigned int *)((0x2795 << 2) + 0xff900000) ++//Bit 31:12, reserved ++//Bit 11:0, wrarb_dc_req_en unsigned , default = 0 ++// wrarb_dc_req_en[0]: the slv0 req to mst port0 enable, ++// wrarb_dc_req_en[1]: the slv1 req to mst port0 enable, ++// wrarb_dc_req_en[2]: the slv2 req to mst port0 enable, ++// wrarb_dc_req_en[3]: the slv3 req to mst port0 enable, ++// wrarb_dc_req_en[4]: the slv4 req to mst port0 enable, ++// wrarb_dc_req_en[5]: the slv5 req to mst port0 enable, ++// wrarb_dc_req_en[0]: the slv0 req to mst port1 enable, ++// wrarb_dc_req_en[1]: the slv1 req to mst port1 enable, ++// wrarb_dc_req_en[2]: the slv2 req to mst port1 enable, ++// wrarb_dc_req_en[3]: the slv3 req to mst port1 enable, ++// wrarb_dc_req_en[4]: the slv4 req to mst port1 enable, ++// wrarb_dc_req_en[5]: the slv5 req to mst port1 enable, ++#define VPU_WRARB_WEIGH0_SLV_L1C1 (0x2796) ++#define P_VPU_WRARB_WEIGH0_SLV_L1C1 (volatile unsigned int *)((0x2796 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:0, wrdc_weigh_sxn unsigned , default = 0 ++// wrdc_weigh_sxn[0*6+:6]: the slv0 req weigh number ++// wrdc_weigh_sxn[1*6+:6]: the slv1 req weigh number ++// wrdc_weigh_sxn[2*6+:6]: the slv2 req weigh number ++// wrdc_weigh_sxn[3*6+:6]: the slv3 req weigh number ++// wrdc_weigh_sxn[4*6+:6]: the slv4 req weigh number ++#define VPU_WRARB_WEIGH1_SLV_L1C1 (0x2797) ++#define P_VPU_WRARB_WEIGH1_SLV_L1C1 (volatile unsigned int *)((0x2797 << 2) + 0xff900000) ++//Bit 31:6, reserved ++//Bit 5:0, wrdc_weigh_sxn unsigned , default = 0 ++// wrdc_weigh_sxn[5*6+:6]: the slv5 req weigh number ++#define VPU_RDWR_ARB_STATUS_L1C1 (0x2798) ++#define P_VPU_RDWR_ARB_STATUS_L1C1 (volatile unsigned int *)((0x2798 << 2) + 0xff900000) ++//Bit 31:4, reserved ++//Bit 3:2, wrarb_arb_busy unsigned , default = 0 ++//Bit 1:0, rdarb_arb_busy unsigned , default = 0 ++#define VPU_RDARB_MODE_L1C2 (0x2799) ++#define P_VPU_RDARB_MODE_L1C2 (volatile unsigned int *)((0x2799 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, rdarb_sel uns, default = 0 , ++// rdarb_sel[0]==0 slave dc0 connect master port0 rdarb_sel[0]==1 slave dc0 connect master port1 ++// rdarb_sel[1]==0 slave dc1 connect master port0 rdarb_sel[1]==1 slave dc1 connect master port1 ++// rdarb_sel[2]==0 slave dc2 connect master port0 rdarb_sel[2]==1 slave dc2 connect master port1 ++// rdarb_sel[3]==0 slave dc3 connect master port0 rdarb_sel[3]==1 slave dc3 connect master port1 ++// rdarb_sel[4]==0 slave dc4 connect master port0 rdarb_sel[4]==1 slave dc4 connect master port1 ++//Bit 15:10, reserved ++//Bit 9:8, rdarb_arb_mode uns, default = 0 , ++// rdarb_arb_mode[0] master port0 arb way, ++// rdarb_arb_mode[1] master port1 arb way, ++//Bit 7:4, reserved ++//Bit 3:0, rdarb_gate_clk_ctrl uns, default = 0 , ++// rdarb_gate_clk_ctrl[1:0] master port0 clk gate control ++// rdarb_gate_clk_ctrl[3:2] master port0 clk gate control ++#define VPU_RDARB_REQEN_SLV_L1C2 (0x279a) ++#define P_VPU_RDARB_REQEN_SLV_L1C2 (volatile unsigned int *)((0x279a << 2) + 0xff900000) ++//Bit 31:10, reserved ++//Bit 9:0, rdarb_dc_req_en unsigned , default = 0 ++// rdarb_dc_req_en[0]: the slv0 req to mst port0 enable, ++// rdarb_dc_req_en[1]: the slv1 req to mst port0 enable, ++// rdarb_dc_req_en[2]: the slv2 req to mst port0 enable, ++// rdarb_dc_req_en[3]: the slv3 req to mst port0 enable, ++// rdarb_dc_req_en[4]: the slv4 req to mst port0 enable, ++// rdarb_dc_req_en[5]: the slv0 req to mst port1 enable, ++// rdarb_dc_req_en[6]: the slv1 req to mst port1 enable, ++// rdarb_dc_req_en[7]: the slv2 req to mst port1 enable, ++// rdarb_dc_req_en[8]: the slv3 req to mst port1 enable, ++// rdarb_dc_req_en[9]: the slv4 req to mst port1 enable, ++#define VPU_RDARB_WEIGH0_SLV_L1C2 (0x279b) ++#define P_VPU_RDARB_WEIGH0_SLV_L1C2 (volatile unsigned int *)((0x279b << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:0, rddc_weigh_sxn unsigned , default = 0 ++// rddc_weigh_sxn[0*6+:6]: the slv0 req weigh number ++// rddc_weigh_sxn[1*6+:6]: the slv1 req weigh number ++// rddc_weigh_sxn[2*6+:6]: the slv2 req weigh number ++// rddc_weigh_sxn[3*6+:6]: the slv3 req weigh number ++// rddc_weigh_sxn[4*6+:6]: the slv4 req weigh number ++#define VPU_RDWR_ARB_STATUS_L1C2 (0x279c) ++#define P_VPU_RDWR_ARB_STATUS_L1C2 (volatile unsigned int *)((0x279c << 2) + 0xff900000) ++//Bit 31:3, reserved ++//Bit 2, wrarb_arb_busy unsigned , default = 0 ++//Bit 1:0, rdarb_arb_busy unsigned , default = 0 ++#define VPU_RDARB_MODE_L2C1 (0x279d) ++#define P_VPU_RDARB_MODE_L2C1 (volatile unsigned int *)((0x279d << 2) + 0xff900000) ++//Bit 31:28, reserved ++//Bit 27:16, rdarb_sel uns, default = 0 , ++// rdarb_sel[0]==0 slave dc0 connect master port0 rdarb_sel[0]==1 slave dc0 connect master port1 ++// rdarb_sel[1]==0 slave dc1 connect master port0 rdarb_sel[1]==1 slave dc1 connect master port1 ++// rdarb_sel[2]==0 slave dc2 connect master port0 rdarb_sel[2]==1 slave dc2 connect master port1 ++// rdarb_sel[3]==0 slave dc3 connect master port0 rdarb_sel[3]==1 slave dc3 connect master port1 ++// rdarb_sel[4]==0 slave dc4 connect master port0 rdarb_sel[4]==1 slave dc4 connect master port1 ++// rdarb_sel[5]==0 slave dc5 connect master port0 rdarb_sel[5]==1 slave dc5 connect master port1 ++//Bit 15:11, reserved ++//Bit 10:8, rdarb_arb_mode uns, default = 0 , ++// rdarb_arb_mode[0] master port0 arb way, ++// rdarb_arb_mode[1] master port1 arb way, ++//Bit 7:6, reserved ++//Bit 5:0, rdarb_gate_clk_ctrl uns, default = 0 , ++// rdarb_gate_clk_ctrl[1:0] master port0 clk gate control ++// rdarb_gate_clk_ctrl[3:2] master port1 clk gate control ++// rdarb_gate_clk_ctrl[5:4] master port2 clk gate control ++#define VPU_RDARB_REQEN_SLV_L2C1 (0x279e) ++#define P_VPU_RDARB_REQEN_SLV_L2C1 (volatile unsigned int *)((0x279e << 2) + 0xff900000) ++//Bit 31:18, reserved ++//Bit 17:0, rdarb_dc_req_en unsigned , default = 0 ++// rdarb_dc_req_en[0]: the slv0 req to mst port0 enable, ++// rdarb_dc_req_en[1]: the slv1 req to mst port0 enable, ++// rdarb_dc_req_en[2]: the slv2 req to mst port0 enable, ++// rdarb_dc_req_en[3]: the slv3 req to mst port0 enable, ++// rdarb_dc_req_en[4]: the slv4 req to mst port0 enable, ++// rdarb_dc_req_en[5]: the slv5 req to mst port0 enable, ++// rdarb_dc_req_en[0]: the slv0 req to mst port1 enable, ++// rdarb_dc_req_en[1]: the slv1 req to mst port1 enable, ++// rdarb_dc_req_en[2]: the slv2 req to mst port1 enable, ++// rdarb_dc_req_en[3]: the slv3 req to mst port1 enable, ++// rdarb_dc_req_en[4]: the slv4 req to mst port1 enable, ++// rdarb_dc_req_en[5]: the slv5 req to mst port1 enable, ++#define VPU_RDARB_WEIGH0_SLV_L2C1 (0x279f) ++#define P_VPU_RDARB_WEIGH0_SLV_L2C1 (volatile unsigned int *)((0x279f << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:0, rddc_weigh_sxn unsigned , default = 0 ++// rddc_weigh_sxn[0*6+:6]: the slv0 req weigh number ++// rddc_weigh_sxn[1*6+:6]: the slv1 req weigh number ++// rddc_weigh_sxn[2*6+:6]: the slv2 req weigh number ++// rddc_weigh_sxn[3*6+:6]: the slv3 req weigh number ++// rddc_weigh_sxn[4*6+:6]: the slv4 req weigh number ++#define VPU_RDARB_WEIGH1_SLV_L2C1 (0x27a0) ++#define P_VPU_RDARB_WEIGH1_SLV_L2C1 (volatile unsigned int *)((0x27a0 << 2) + 0xff900000) ++//Bit 31:6, reserved ++//Bit 5:0, rddc_weigh_sxn unsigned , default = 0 ++// rddc_weigh_sxn[5*6+:6]: the slv5 req weigh number ++#define VPU_RDWR_ARB_STATUS_L2C1 (0x27a1) ++#define P_VPU_RDWR_ARB_STATUS_L2C1 (volatile unsigned int *)((0x27a1 << 2) + 0xff900000) ++//Bit 31:4, reserved ++//Bit 3:2, wrarb_arb_busy unsigned , default = 0 ++//Bit 1:0, rdarb_arb_busy unsigned , default = 0 ++#define VPU_WRARB_MODE_L2C1 (0x27a2) ++#define P_VPU_WRARB_MODE_L2C1 (volatile unsigned int *)((0x27a2 << 2) + 0xff900000) ++//Bit 31:20, reserved ++//Bit 19:16, wrarb_sel uns, default = 0 , ++// wrarb_sel[0]==0 slave dc0 connect master port0 wrarb_sel[0]==1 slave dc0 connect master port1 ++// wrarb_sel[1]==0 slave dc1 connect master port0 wrarb_sel[1]==1 slave dc1 connect master port1 ++// wrarb_sel[2]==0 slave dc2 connect master port0 wrarb_sel[2]==1 slave dc2 connect master port1 ++// wrarb_sel[3]==0 slave dc3 connect master port0 wrarb_sel[3]==1 slave dc3 connect master port1 ++//Bit 15:10, reserved ++//Bit 9:8, wrarb_arb_mode uns, default = 0 , ++// wrarb_arb_mode[0] master port0 arb way, ++// wrarb_arb_mode[1] master port1 arb way, ++//Bit 7:4, reserved ++//Bit 3:0, wrarb_gate_clk_ctrl uns, default = 0 , ++// wrarb_gate_clk_ctrl[1:0] master port0 clk gate control ++// wrarb_gate_clk_ctrl[3:2] master port0 clk gate control ++#define VPU_WRARB_REQEN_SLV_L2C1 (0x27a3) ++#define P_VPU_WRARB_REQEN_SLV_L2C1 (volatile unsigned int *)((0x27a3 << 2) + 0xff900000) ++//Bit 31:8, reserved ++//Bit 7:0, wrarb_dc_req_en unsigned , default = 0 ++// wrarb_dc_req_en[0]: the slv0 req to mst port0 enable, ++// wrarb_dc_req_en[1]: the slv1 req to mst port0 enable, ++// wrarb_dc_req_en[2]: the slv2 req to mst port0 enable, ++// wrarb_dc_req_en[3]: the slv3 req to mst port0 enable, ++// wrarb_dc_req_en[0]: the slv0 req to mst port1 enable, ++// wrarb_dc_req_en[1]: the slv1 req to mst port1 enable, ++// wrarb_dc_req_en[2]: the slv2 req to mst port1 enable, ++// wrarb_dc_req_en[3]: the slv3 req to mst port1 enable, ++#define VPU_WRARB_WEIGH0_SLV_L2C1 (0x27a4) ++#define P_VPU_WRARB_WEIGH0_SLV_L2C1 (volatile unsigned int *)((0x27a4 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:0, wrdc_weigh_sxn unsigned , default = 0 ++// wrdc_weigh_sxn[0*6+:6]: the slv0 req weigh number ++// wrdc_weigh_sxn[1*6+:6]: the slv1 req weigh number ++// wrdc_weigh_sxn[2*6+:6]: the slv2 req weigh number ++// wrdc_weigh_sxn[3*6+:6]: the slv3 req weigh number ++#define VPU_ASYNC_RD_MODE0 (0x27a5) ++#define P_VPU_ASYNC_RD_MODE0 (volatile unsigned int *)((0x27a5 << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18, req_en unsigned , default = 0 async enable ++//Bit 17:16, clk_gate_ctrl unsigned , default = 0 async clock gate control ++//Bit 15:12, auto_arugt_weight unsigned , default = 4 ++//Bit 11, reserved ++//Bit 10:9, arugt_sel unsigned , default = 0 ++// 00 : use auto fifo arugt generate the output arugt. ++// 01 : use the register bit control ++// 00 : use the input arguent ++//Bit 8, arguent_cfg unsigned , default = 0 register arguent control bit ++//Bit 7:4, rd_hold_num unsigned , default = 4 hold the read command threshold ++//Bit 3:0, rd_rel_num unsigned , default = 0 release the read command threshold ++#define VPU_ASYNC_RD_MODE1 (0x27a6) ++#define P_VPU_ASYNC_RD_MODE1 (volatile unsigned int *)((0x27a6 << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18, req_en unsigned , default = 0 async enable ++//Bit 17:16, clk_gate_ctrl unsigned , default = 0 async clock gate control ++//Bit 15:12, auto_arugt_weight unsigned , default = 4 ++//Bit 11, reserved ++//Bit 10:9, arugt_sel unsigned , default = 0 ++// 00 : use auto fifo arugt generate the output arugt. ++// 01 : use the register bit control ++// 00 : use the input arguent ++//Bit 8, arguent_cfg unsigned , default = 0 register arguent control bit ++//Bit 7:4, rd_hold_num unsigned , default = 4 hold the read command threshold ++//Bit 3:0, rd_rel_num unsigned , default = 0 release the read command threshold ++#define VPU_ASYNC_RD_MODE2 (0x27a7) ++#define P_VPU_ASYNC_RD_MODE2 (volatile unsigned int *)((0x27a7 << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18, req_en unsigned , default = 0 async enable ++//Bit 17:16, clk_gate_ctrl unsigned , default = 0 async clock gate control ++//Bit 15:12, auto_arugt_weight unsigned , default = 4 ++//Bit 11, reserved ++//Bit 10:9, arugt_sel unsigned , default = 0 ++// 00 : use auto fifo arugt generate the output arugt. ++// 01 : use the register bit control ++// 00 : use the input arguent ++//Bit 8, arguent_cfg unsigned , default = 0 register arguent control bit ++//Bit 7:4, rd_hold_num unsigned , default = 4 hold the read command threshold ++//Bit 3:0, rd_rel_num unsigned , default = 0 release the read command threshold ++#define VPU_ASYNC_RD_MODE3 (0x27a8) ++#define P_VPU_ASYNC_RD_MODE3 (volatile unsigned int *)((0x27a8 << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18, req_en unsigned , default = 0 async enable ++//Bit 17:16, clk_gate_ctrl unsigned , default = 0 async clock gate control ++//Bit 15:12, auto_arugt_weight unsigned , default = 4 ++//Bit 11, reserved ++//Bit 10:9, arugt_sel unsigned , default = 0 ++// 00 : use auto fifo arugt generate the output arugt. ++// 01 : use the register bit control ++// 00 : use the input arguent ++//Bit 8, arguent_cfg unsigned , default = 0 register arguent control bit ++//Bit 7:4, rd_hold_num unsigned , default = 4 hold the read command threshold ++//Bit 3:0, rd_rel_num unsigned , default = 0 release the read command threshold ++#define VPU_ASYNC_RD_MODE4 (0x27a9) ++#define P_VPU_ASYNC_RD_MODE4 (volatile unsigned int *)((0x27a9 << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18, req_en unsigned , default = 0 async enable ++//Bit 17:16, clk_gate_ctrl unsigned , default = 0 async clock gate control ++//Bit 15:12, auto_arugt_weight unsigned , default = 4 ++//Bit 11, reserved ++//Bit 10:9, arugt_sel unsigned , default = 0 ++// 00 : use auto fifo arugt generate the output arugt. ++// 01 : use the register bit control ++// 00 : use the input arguent ++//Bit 8, arguent_cfg unsigned , default = 0 register arguent control bit ++//Bit 7:4, rd_hold_num unsigned , default = 4 hold the read command threshold ++//Bit 3:0, rd_rel_num unsigned , default = 0 release the read command threshold ++#define VPU_ASYNC_WR_MODE0 (0x27aa) ++#define P_VPU_ASYNC_WR_MODE0 (volatile unsigned int *)((0x27aa << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18, req_en unsigned , default = 0 async enable ++//Bit 17:16, clk_gate_ctrl unsigned , default = 0 async clock gate control ++//Bit 15:12, auto_arugt_weight unsigned , default = 4 ++//Bit 11, reserved ++//Bit 10:9, arugt_sel unsigned , default = 0 ++// 00 : use auto fifo arugt generate the output arugt. ++// 01 : use the register bit control ++// 00 : use the input arguent ++//Bit 8, arguent_cfg unsigned , default = 0 register arguent control bit ++//Bit 7:4, wr_hold_num unsigned , default = 4 hold the read command threshold ++//Bit 3:0, wr_rel_num unsigned , default = 0 release the write command threshold ++#define VPU_ASYNC_WR_MODE1 (0x27ab) ++#define P_VPU_ASYNC_WR_MODE1 (volatile unsigned int *)((0x27ab << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18, req_en unsigned , default = 0 async enable ++//Bit 17:16, clk_gate_ctrl unsigned , default = 0 async clock gate control ++//Bit 15:12, auto_arugt_weight unsigned , default = 4 ++//Bit 11, reserved ++//Bit 10:9, arugt_sel unsigned , default = 0 ++// 00 : use auto fifo arugt generate the output arugt. ++// 01 : use the register bit control ++// 00 : use the input arguent ++//Bit 8, arguent_cfg unsigned , default = 0 register arguent control bit ++//Bit 7:4, wr_hold_num unsigned , default = 4 hold the read command threshold ++//Bit 3:0, wr_rel_num unsigned , default = 0 release the write command threshold ++#define VPU_ASYNC_WR_MODE2 (0x27ac) ++#define P_VPU_ASYNC_WR_MODE2 (volatile unsigned int *)((0x27ac << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18, req_en unsigned , default = 0 async enable ++//Bit 17:16, clk_gate_ctrl unsigned , default = 0 async clock gate control ++//Bit 15:12, auto_arugt_weight unsigned , default = 4 ++//Bit 11, reserved ++//Bit 10:9, arugt_sel unsigned , default = 0 ++// 00 : use auto fifo arugt generate the output arugt. ++// 01 : use the register bit control ++// 00 : use the input arguent ++//Bit 8, arguent_cfg unsigned , default = 0 register arguent control bit ++//Bit 7:4, wr_hold_num unsigned , default = 4 hold the read command threshold ++//Bit 3:0, wr_rel_num unsigned , default = 0 release the write command threshold ++#define VPU_ASYNC_STAT (0x27ad) ++#define P_VPU_ASYNC_STAT (volatile unsigned int *)((0x27ad << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18, axiwr2_chan_idle unsigned , RO, axi write channel2 idle state ++//Bit 17, axiwr1_chan_idle unsigned , RO, axi write channel1 idle state ++//Bit 16, axiwr0_chan_idle unsigned , RO, axi write channel0 idle state ++//Bit 15:5, reserved ++//Bit 4, axird4_chan_idle unsigned , RO, axi read channel4 idle state ++//Bit 3, axird3_chan_idle unsigned , RO, axi read channel3 idle state ++//Bit 2, axird2_chan_idle unsigned , RO, axi read channel2 idle state ++//Bit 1, axird1_chan_idle unsigned , RO, axi read channel1 idle state ++//Bit 0, axird0_chan_idle unsigned , RO, axi read channel0 idle state ++#define VPU_WRARB_MODE_L1C2 (0x27ae) ++#define P_VPU_WRARB_MODE_L1C2 (volatile unsigned int *)((0x27ae << 2) + 0xff900000) ++//Bit 31:18, reserved ++//Bit 17:16, wrarb_sel uns, default = 0 , ++// wrarb_sel[0]==0 slave dc0 connect master port0 wrarb_sel[0]==1 slave dc0 connect master port1 ++// wrarb_sel[1]==0 slave dc1 connect master port0 wrarb_sel[1]==1 slave dc1 connect master port1 ++//Bit 15:9, reserved ++//Bit 8, wrarb_arb_mode uns, default = 0 , ++// wrarb_arb_mode[0] master port0 arb way, ++//Bit 7:2, reserved ++//Bit 1:0, wrarb_gate_clk_ctrl uns, default = 0 , ++// wrarb_gate_clk_ctrl[1:0] master port0 clk gate control ++#define VPU_WRARB_REQEN_SLV_L1C2 (0x27af) ++#define P_VPU_WRARB_REQEN_SLV_L1C2 (volatile unsigned int *)((0x27af << 2) + 0xff900000) ++//Bit 31:2, reserved ++//Bit 1:0, wrarb_dc_req_en unsigned , default = 0 ++// wrarb_dc_req_en[0]: the slv0 req to mst port0 enable, ++// wrarb_dc_req_en[1]: the slv1 req to mst port0 enable, ++#define VPU_WRARB_WEIGH0_SLV_L1C2 (0x27b0) ++#define P_VPU_WRARB_WEIGH0_SLV_L1C2 (volatile unsigned int *)((0x27b0 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:0, wrdc_weigh_sxn unsigned , default = 0 ++// wrdc_weigh_sxn[0*6+:6]: the slv0 req weigh number ++// wrdc_weigh_sxn[1*6+:6]: the slv1 req weigh number ++// wrdc_weigh_sxn[2*6+:6]: the slv1 req weigh number ++// wrdc_weigh_sxn[3*6+:6]: the slv1 req weigh number ++// wrdc_weigh_sxn[4*6+:6]: the slv1 req weigh number ++#define VPU_WRARB_WEIGH1_SLV_L1C2 (0x27b1) ++#define P_VPU_WRARB_WEIGH1_SLV_L1C2 (volatile unsigned int *)((0x27b1 << 2) + 0xff900000) ++//Bit 31:18, reserved ++//Bit 17:0, wrdc_weigh_sxn unsigned , default = 0 ++// wrdc_weigh_sxn[5*6+:6]: the slv0 req weigh number ++// wrdc_weigh_sxn[6*6+:6]: the slv1 req weigh number ++// wrdc_weigh_sxn[7*6+:6]: the slv1 req weigh number ++#define VPU_RDARB_WEIGH1_SLV_L1C2 (0x27b2) ++#define P_VPU_RDARB_WEIGH1_SLV_L1C2 (volatile unsigned int *)((0x27b2 << 2) + 0xff900000) ++//Bit 31:18, reserved ++//Bit 17:0, rddc_weigh_sxn unsigned , default = 0 ++// rddc_weigh_sxn[5*6+:6]: the slv0 req weigh number ++// rddc_weigh_sxn[6*6+:6]: the slv1 req weigh number ++// rddc_weigh_sxn[7*6+:6]: the slv2 req weigh number ++#define VPU_ARB_DBG_CTRL_L1C1 (0x27b3) ++#define P_VPU_ARB_DBG_CTRL_L1C1 (volatile unsigned int *)((0x27b3 << 2) + 0xff900000) ++#define VPU_ARB_DBG_STAT_L1C1 (0x27b4) ++#define P_VPU_ARB_DBG_STAT_L1C1 (volatile unsigned int *)((0x27b4 << 2) + 0xff900000) ++#define VPU_ARB_DBG_CTRL_L1C2 (0x27b5) ++#define P_VPU_ARB_DBG_CTRL_L1C2 (volatile unsigned int *)((0x27b5 << 2) + 0xff900000) ++#define VPU_ARB_DBG_STAT_L1C2 (0x27b6) ++#define P_VPU_ARB_DBG_STAT_L1C2 (volatile unsigned int *)((0x27b6 << 2) + 0xff900000) ++#define VPU_ARB_DBG_CTRL_L2C1 (0x27b7) ++#define P_VPU_ARB_DBG_CTRL_L2C1 (volatile unsigned int *)((0x27b7 << 2) + 0xff900000) ++#define VPU_ARB_DBG_STAT_L2C1 (0x27b8) ++#define P_VPU_ARB_DBG_STAT_L2C1 (volatile unsigned int *)((0x27b8 << 2) + 0xff900000) ++#define VPU_ARB_PATH_CTRL (0x27b9) ++#define P_VPU_ARB_PATH_CTRL (volatile unsigned int *)((0x27b9 << 2) + 0xff900000) ++#define VPU_ARB_PATH_MAP00 (0x27ba) ++#define P_VPU_ARB_PATH_MAP00 (volatile unsigned int *)((0x27ba << 2) + 0xff900000) ++#define VPU_ARB_PATH_MAP01 (0x27bb) ++#define P_VPU_ARB_PATH_MAP01 (volatile unsigned int *)((0x27bb << 2) + 0xff900000) ++#define VPU_ARB_PATH_MAP02 (0x27bc) ++#define P_VPU_ARB_PATH_MAP02 (volatile unsigned int *)((0x27bc << 2) + 0xff900000) ++#define VPU_ARB_PATH_MAP03 (0x27bd) ++#define P_VPU_ARB_PATH_MAP03 (volatile unsigned int *)((0x27bd << 2) + 0xff900000) ++#define VPU_ARB_PATH_MAP10 (0x27be) ++#define P_VPU_ARB_PATH_MAP10 (volatile unsigned int *)((0x27be << 2) + 0xff900000) ++#define VPU_ARB_PATH_MAP11 (0x27bf) ++#define P_VPU_ARB_PATH_MAP11 (volatile unsigned int *)((0x27bf << 2) + 0xff900000) ++#define VPU_ARB_PATH_MAP12 (0x27c0) ++#define P_VPU_ARB_PATH_MAP12 (volatile unsigned int *)((0x27c0 << 2) + 0xff900000) ++#define VPU_ARB_PATH_MAP13 (0x27c1) ++#define P_VPU_ARB_PATH_MAP13 (volatile unsigned int *)((0x27c1 << 2) + 0xff900000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: vpu_arb_axi_regs.h ++// ++// the segment is 8'he0-8'hef ++#define VPU_VENCL_DITH_CTRL (0x27e0) ++#define P_VPU_VENCL_DITH_CTRL (volatile unsigned int *)((0x27e0 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_1 (0x27e1) ++#define P_VPU_VENCL_DITH_LUT_1 (volatile unsigned int *)((0x27e1 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_2 (0x27e2) ++#define P_VPU_VENCL_DITH_LUT_2 (volatile unsigned int *)((0x27e2 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_3 (0x27e3) ++#define P_VPU_VENCL_DITH_LUT_3 (volatile unsigned int *)((0x27e3 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_4 (0x27e4) ++#define P_VPU_VENCL_DITH_LUT_4 (volatile unsigned int *)((0x27e4 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_5 (0x27e5) ++#define P_VPU_VENCL_DITH_LUT_5 (volatile unsigned int *)((0x27e5 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_6 (0x27e6) ++#define P_VPU_VENCL_DITH_LUT_6 (volatile unsigned int *)((0x27e6 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_7 (0x27e7) ++#define P_VPU_VENCL_DITH_LUT_7 (volatile unsigned int *)((0x27e7 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_8 (0x27e8) ++#define P_VPU_VENCL_DITH_LUT_8 (volatile unsigned int *)((0x27e8 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_9 (0x27e9) ++#define P_VPU_VENCL_DITH_LUT_9 (volatile unsigned int *)((0x27e9 << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_10 (0x27ea) ++#define P_VPU_VENCL_DITH_LUT_10 (volatile unsigned int *)((0x27ea << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_11 (0x27eb) ++#define P_VPU_VENCL_DITH_LUT_11 (volatile unsigned int *)((0x27eb << 2) + 0xff900000) ++#define VPU_VENCL_DITH_LUT_12 (0x27ec) ++#define P_VPU_VENCL_DITH_LUT_12 (volatile unsigned int *)((0x27ec << 2) + 0xff900000) ++//new added 4x4 dither ++// the segment is 8'hf0 ++#define VPU_HDMI_DITH_01_04 (0x27f0) ++#define P_VPU_HDMI_DITH_01_04 (volatile unsigned int *)((0x27f0 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_01_15 (0x27f1) ++#define P_VPU_HDMI_DITH_01_15 (volatile unsigned int *)((0x27f1 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_01_26 (0x27f2) ++#define P_VPU_HDMI_DITH_01_26 (volatile unsigned int *)((0x27f2 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_01_37 (0x27f3) ++#define P_VPU_HDMI_DITH_01_37 (volatile unsigned int *)((0x27f3 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_10_04 (0x27f4) ++#define P_VPU_HDMI_DITH_10_04 (volatile unsigned int *)((0x27f4 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_10_15 (0x27f5) ++#define P_VPU_HDMI_DITH_10_15 (volatile unsigned int *)((0x27f5 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_10_26 (0x27f6) ++#define P_VPU_HDMI_DITH_10_26 (volatile unsigned int *)((0x27f6 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_10_37 (0x27f7) ++#define P_VPU_HDMI_DITH_10_37 (volatile unsigned int *)((0x27f7 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_11_04 (0x27f8) ++#define P_VPU_HDMI_DITH_11_04 (volatile unsigned int *)((0x27f8 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_11_15 (0x27f9) ++#define P_VPU_HDMI_DITH_11_15 (volatile unsigned int *)((0x27f9 << 2) + 0xff900000) ++#define VPU_HDMI_DITH_11_26 (0x27fa) ++#define P_VPU_HDMI_DITH_11_26 (volatile unsigned int *)((0x27fa << 2) + 0xff900000) ++#define VPU_HDMI_DITH_11_37 (0x27fb) ++#define P_VPU_HDMI_DITH_11_37 (volatile unsigned int *)((0x27fb << 2) + 0xff900000) ++#define VPU_HDMI_DITH_CNTL (0x27fc) ++#define P_VPU_HDMI_DITH_CNTL (volatile unsigned int *)((0x27fc << 2) + 0xff900000) ++//======================================================================== ++// MIPI CSI2 Controller Adaptor (16'h2a00 - 16'h2aff) ++// ++//======================================================================== ++//`define CSI2_VCBUS_BASE 8'h2a ++//`include "csi2_regs.h" ++//====================================================================== ++// D2D3 registers ++//====================================================================== ++//`define D2D3_VCBUS_BASE 8'h2b ++// ++// Reading file: d2d3_regs.h ++// ++//=========================================================================== ++// D2D3 Registers 0x - 0x ++//=========================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: D2D3_VCBUS_BASE = 0x2b ++// ----------------------------------------------- ++//------------------------------------------------------------------------------ ++// D2D3 top-level registers ++//------------------------------------------------------------------------------ ++// Bit 31 RW, rd_lock_en, 1 to allow update some read-only registers based on filed ++// Bit 30 RW, sw_rst_nobuf, 1 to reset the whole d2d3 unit ++// Bit 29:28 RW, clk_auto_dis, [29] DBR clock disable ++// [28] DPG clock disable ++// Bit 27:16 RW, clk_ctrl, [27:26] gated clock control for register unit ++// [25:24] gated clock control for DBR unit ++// [23:22] gated clock control for LBDG unit ++// [21:20] gated clock control for MBDG unit ++// [19:18] gated clock control for CBDG unit ++// [17:16] gated clock control for DBLD unit and SCD81 unit ++// Bit 15:12 Reserved ++// Bit 11 RW, lo_chroma_sign, 0: negate the u/v component of DBR left channel video output, 1: bypass ++// Bit 10 RW, ro_chroma_sign, 0: negate the u/v component of DBR right channel video output, 1: bypass ++// Bit 9 RW, vi0_chroma_sign, 0: negate the u/v component of DPG video input, 1: bypass ++// Bit 8 RW, vi1_chroma_sign, 0: negate the u/v component of DBR video input, 1: bypass ++// Bit 7:5 Reserved ++// Bit 4 RW, lg_en, Enable the LBDG unit and LBDG clock ++// Bit 3 RW, mg_en, Enable the MBDG unit and MBDG clock ++// Bit 2 RW, cg_en, Enable the CBDG unit and CBDG clock ++// Bit 1 RW, dbr_en, Enable the DBR unit and DBR clock ++// Bit 0 RW, dpg_en, Enable the DPG unit and clock except sub-unit CBDG, MBDG and LBDG ++#define D2D3_GLB_CTRL (0x2b00) ++#define P_D2D3_GLB_CTRL (volatile unsigned int *)((0x2b00 << 2) + 0xff900000) ++// Indicate the input picture size in DPG unit ++// Bit 31:16 RW, szx_vi_m1, The horizontal size minus 1 ++// Bit 15:0 RW, szy_vi_m1, The vertical size minus 1 ++#define D2D3_DPG_INPIC_SIZE (0x2b01) ++#define P_D2D3_DPG_INPIC_SIZE (volatile unsigned int *)((0x2b01 << 2) + 0xff900000) ++// Indicate the output picture size in DBR unit ++// Bit 31:16 RW, szx_vo_m1, The horizontal size minus 1 ++// Bit 15:0 RW, szy_vo_m1, The vertical size minus 1 ++#define D2D3_DBR_OUTPIC_SIZE (0x2b02) ++#define P_D2D3_DBR_OUTPIC_SIZE (volatile unsigned int *)((0x2b02 << 2) + 0xff900000) ++// Indicate the rectangular window to generate the "depth" in DPG unit ++// Bit 31:16 RW, dg_win_x_start, Horizontal start position, count from 0 ++// Bit 15:0 RW, dg_win_x_end, Horizontal end position, count from 0 ++#define D2D3_DGEN_WIN_HOR (0x2b03) ++#define P_D2D3_DGEN_WIN_HOR (volatile unsigned int *)((0x2b03 << 2) + 0xff900000) ++// Indicate the rectangular window to generate the "depth" in DPG unit ++// Bit 31:16 RW, dg_win_y_start, Vertical start position, count from 0 ++// Bit 15:0 RW, dg_win_y_end, Vertical end position, count from 0 ++#define D2D3_DGEN_WIN_VER (0x2b04) ++#define P_D2D3_DGEN_WIN_VER (volatile unsigned int *)((0x2b04 << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// CBDG SCU18 SCD81 SCD81_PRE registers ++// cg: color based depth generate module ++// scu18: scale up module ++// scd81: scale down module ++// scd81_pre: scd81 pre-scale-down module ++//------------------------------------------------------------------------------ ++// Indicate parameters of pre-scale-down unit ++// Bit 31:16 RW, scd81_hphs_step, horizontal step ++// Bit 15:0 RW, scd81_hphs_ini, horizontal initial phase ++#define D2D3_PRE_SCD_H (0x2b05) ++#define P_D2D3_PRE_SCD_H (volatile unsigned int *)((0x2b05 << 2) + 0xff900000) ++// Bit 31:16 RW, scu18_iniph, initial phase in SCU18, ++// [23:16] indicate the horizontal phase offset from the first data of every line ++// [31:24] indicate the vertical phase offset from the first line of every frame ++// Bit 15:12 Reserved ++// Bit 11 RW, scd81_predrop_en, 1 to enable scd81 pre-scale-down function ++// Bit 10:9 RW, cg_csc_sel, Color Space Conversion(CSC) matrix mode selector in CBDG ++// 0: BT.601 (16-235/240) ++// 1: BT.709 (16-235/240) ++// 2: BT.601 (0-255) ++// 3: BT.709 (0-255) ++// Bit 8 RW, scu18_rep_en, 1 to double each line of the SCU18 output ++// Bit 7:4 RW, scu18_factor, up-scale factor in SCU18 on DBR input depth data ++// [7:6] for vertical, 0->1:1, 1->1:2, 2->1:4, 3->1:8 ++// [5:4] for horizontal, 0->1:1, 1->1:2, 2->1:4, 3->1:8 ++// Bit 3:0 RW, scd81_factor, down-scale factor in SCD81 on DPG source video ++// [3:2] for vertical, 0->1:1, 1->2:1, 2->4:1, 3->8:1 ++// [1:0] for horizontal, 0->1:1, 1->2:1, 2->4:1, 3->8:1 ++#define D2D3_SCALER_CTRL (0x2b06) ++#define P_D2D3_SCALER_CTRL (volatile unsigned int *)((0x2b06 << 2) + 0xff900000) ++// Bit 31:24 RW, cg_rpg_dth, the down |r-g| threshold for sky detect ++// Bit 23:16 RW, cg_rpg_uth, the up |r-g| threshold for sky detect ++// Bit 15:8 RW, cg_lum_dth, the down Y threshold for sky detect ++// Bit 7:0 RW, cg_lum_uth, the up Y threshold for sky detect ++#define D2D3_CG_THRESHOLD_1 (0x2b07) ++#define P_D2D3_CG_THRESHOLD_1 (volatile unsigned int *)((0x2b07 << 2) + 0xff900000) ++// Bit 31:24 RW, cg_rpb_dth, the down |r-b| threshold for sky detect ++// Bit 23:16 RW, cg_rpb_uth, the up |r-b| threshold for sky detect ++// Bit 15:8 RW, cg_bpg_dth, the down |b-g| threshold for sky detect ++// Bit 7:0 RW, cg_bpg_uth, the up |b-g| threshold for sky detect ++#define D2D3_CG_THRESHOLD_2 (0x2b08) ++#define P_D2D3_CG_THRESHOLD_2 (volatile unsigned int *)((0x2b08 << 2) + 0xff900000) ++// Bit 31:24 RW, cg_vp_rel_k, parameter to calculate vanish point reliability ++// Bit 23:16 RW, cg_vp_y_thr, the max limitation to calculate the vanish-point's vertical position ++// Bit 15:8 RW, cg_meet_dval, signed depth value in the sky-bitmap ++// Bit 7:0 RW, cg_unmt_dval, signed depth value not in the sky-bitmap ++#define D2D3_CG_PARAM_1 (0x2b09) ++#define P_D2D3_CG_PARAM_1 (volatile unsigned int *)((0x2b09 << 2) + 0xff900000) ++// Bit 31:16 RW, cg_vpos_thr, Maximal vertical limitation for sky-bit map when cg_vpos_en=1 and cg_vpos_adpt_en=0 ++// Bit 15:8 Reserved ++// Bit 7 RW, cg_vpos_en, 1 to enable the max vertical limitation for sky-bitmap ++// Bit 6 RW, cg_vpos_adpt_en, 1 to enable the adaptive max vertical limitation for sky-bitmap. ++// It is only valid when cg_vpos_en=1. ++// The max vertical limitation is the previous field's vanish-point (vertical position) if cg_vpos_adpt_en=1. ++// Bit 5:4 RW, cg_lpf_bypass, bypass of low pass filter ++// [5]:Vertical bypass, 1: bypass the vertical LPF on the CBDG depth ++// [4]:Horizontal bypass, 1: bypass the horizontal LPF on the CBDG depth ++// Bit 3:0 RW, cg_vp_rel_s, parameter to calculate vanish point reliability ++#define D2D3_CG_PARAM_2 (0x2b0a) ++#define P_D2D3_CG_PARAM_2 (volatile unsigned int *)((0x2b0a << 2) + 0xff900000) ++// Indicate parameters of pre-scale-down unit ++// Bit 31:16 RW, scd81_vphs_step, vertical step ++// Bit 15:0 RW, scd81_vphs_ini, vertical initial phase ++#define D2D3_PRE_SCD_V (0x2b0b) ++#define P_D2D3_PRE_SCD_V (volatile unsigned int *)((0x2b0b << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// D2P registers ++// d2p: depth to parallax transform module ++//------------------------------------------------------------------------------ ++// Bit 31:24 RW, d2p_brdwid, Horizontal boundary width for parallax, the parallax value would be forced to 0 in boundary, ++// the d2p_brdwid should not 0 when D2P_WRAP is enabled ++// Bit 23:22 Reserved ++// Bit 21:20 RW, d2p_lomode, line output mode, ++// 0:whole line is left or right; 1:whole line is left or right; ++// 2:left/right pixel interleaved; 3:left/right half-line interleaved ++// Bit 19 RW, d2p_neg, 1 to exchange the left and right parallax value ++// Bit 18 Reserved ++// Bit 17 RW, d2p_wrap_en, 1 to enable D2P_WRAP unit ++// Bit 16 RW, d2p_lar, Indicate the first output for left or right, 0: left; 1: right ++// Bit 15 RW, d2p_lr_switch, enable left/right flag filed switch automatically, only valid when parallax output mode is field interleaved ++// Bit 14 RW, d2p_1dtolr, enable to generate 2 parallax data (left and right) from one depth ++// Bit 13:12 RW, d2p_out_mode, Parallax output mode ++// 0:left/right pixel interleaved; 1:line or half line interleaved; 2:field interleaved ++// Bit 11:8 RW, d2p_smode, Shift mode, ++// 0: no shift; 1: enable left shift; ++// 2: enable right shift; 3: both left and right shift are enabled ++// Bit 7:0 RW, d2p_offset, depth offset, signed, ++#define D2D3_D2P_PARAM_1 (0x2b0c) ++#define P_D2D3_D2P_PARAM_1 (volatile unsigned int *)((0x2b0c << 2) + 0xff900000) ++// Bit 31:24 RW, d2p_pg0, positive parallax gain when Parallax value < pt ++// Bit 23:16 RW, d2p_pg1, positive parallax gain when Parallax value >= pt ++// Bit 15:8 RW, d2p_pt, unsigned value used to separate the positive parallax range ++// Bit 7:0 RW, d2p_plimit, The limitation for positive parallax ++#define D2D3_D2P_PARAM_2 (0x2b0d) ++#define P_D2D3_D2P_PARAM_2 (volatile unsigned int *)((0x2b0d << 2) + 0xff900000) ++// Bit 31:24 RW, d2p_ng0, negative parallax gain when Parallax value > -nt ++// Bit 23:16 RW, d2p_ng1, negative parallax gain when Parallax value <= -nt ++// Bit 15:8 RW, d2p_nt, unsigned value used to separate the negative parallax range ++// Bit 7:0 RW, d2p_nlimit, The limitation for negative parallax ++#define D2D3_D2P_PARAM_3 (0x2b0e) ++#define P_D2D3_D2P_PARAM_3 (volatile unsigned int *)((0x2b0e << 2) + 0xff900000) ++// Indicate step parameters of SCU18 unit ++// Bit 31:17 Reserved ++// Bit 16 RW, scu18_step_en, step set enable in SCU18 ++// Bit 15:8 RW, scu18_hphs_step, horizontal step in SCU18 ++// Bit 7:0 RW, scu18_vphs_step, vertical step in SCU18 ++#define D2D3_SCU18_STEP (0x2b0f) ++#define P_D2D3_SCU18_STEP (volatile unsigned int *)((0x2b0f << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// LBDG and DBLD registers ++// lg: luma based depth generate module ++// db: depth blending module ++//------------------------------------------------------------------------------ ++// Bit 31:22 Reserved ++// Bit 21:20 RW, db_lpf_bpcoeff, [21]:Vertical factor of low pass filter, ++// 1: Vfactor = 0/0/64/0/0, 0: Vfactor = {db_vf_a,db_vf_b,db_vf_c,db_vf_b,db_vf_a}, see D2D3_CTRL_15 ++// [20]:Horizontal factor of low pass filter, ++// 1: Hfactor = 0/0/64/0/0, 0: Hfactor = {db_hf_a,db_hf_b,db_hf_c,db_hf_b,db_hf_a}, see D2D3_CTRL_14 ++// Bit 19:18 RW, lg_lpf_bpcoeff, [19]:Vertical factor of low pass filter, 1: Vfactor = 0/64/0, 0: Vfactor = 20/24/20 ++// [18]:Horizontal factor of low pass filter, 1: Hfactor = 0/64/0, 0: Hfactor = 16/32/16 ++// Bit 17:16 RW, cg_lpf_bpcoeff, [17]:Vertical factor of low pass filter, 1: Vfactor = 0/64/0, 0: Vfactor = 20/24/20 ++// [16]:Horizontal factor of low pass filter, 1: Hfactor = 0/64/0, 0: Hfactor = 16/32/16 ++// Bit 15:10 Reserved ++// Bit 9:8 RW, db_lpf_bypass, [9] 1 to bypass the vertical LPF on the DBLD depth ++// [8] 1 to bypass the horizontal LPF on the DBLD depth ++// Bit 7:6 RW, lg_lpf_bypass, [7] 1 to bypass the vertical LPF on the LBDG depth ++// [6] 1 to bypass the horizontal LPF on the LBDG depth ++// Bit 5:0 RW, lg_kc, gain of CPL(v-u+256-y) to calculate the depth in LBDG ++#define D2D3_DPF_LPF_CTRL (0x2b10) ++#define P_D2D3_DPF_LPF_CTRL (volatile unsigned int *)((0x2b10 << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// DBLD registers ++// db: depth blending module ++//------------------------------------------------------------------------------ ++// Bit 31:24 RW, db_g2_cg, gain of CBDG depth in DBLD ++// Bit 23:16 RW, db_o2_cg, offset of CBDG depth in DBLD ++// Bit 15:8 RW, db_g1_cg, gain of CBDG depth using for summary in DBLD ++// Bit 7:0 RW, db_o1_cg, offset of CBDG depth using for summary in DBLD ++#define D2D3_DBLD_CG_PARAM (0x2b11) ++#define P_D2D3_DBLD_CG_PARAM (volatile unsigned int *)((0x2b11 << 2) + 0xff900000) ++// Bit 31:24 RW, db_g2_mg, gain of MBDG depth in DBLD ++// Bit 23:16 RW, db_o2_mg, offset of MBDG depth in DBLD ++// Bit 15:8 RW, db_g1_mg, gain of MBDG depth using for summary in DBLD ++// Bit 7:0 RW, db_o1_mg, offset of MBDG depth using for summary in DBLD ++#define D2D3_DBLD_MG_PARAM (0x2b12) ++#define P_D2D3_DBLD_MG_PARAM (volatile unsigned int *)((0x2b12 << 2) + 0xff900000) ++// Bit 31:24 RW, db_g2_lg, gain of LBDG depth in DBLD ++// Bit 23:16 RW, db_o2_lg, offset of LBDG depth in DBLD ++// Bit 15:8 RW, db_g1_lg, gain of LBDG depth using for summary in DBLD ++// Bit 7:0 RW, db_o1_lg, offset of LBDG depth using for summary in DBLD ++#define D2D3_DBLD_LG_PARAM (0x2b13) ++#define P_D2D3_DBLD_LG_PARAM (volatile unsigned int *)((0x2b13 << 2) + 0xff900000) ++// Bit 31:24 RW, db_factor, unsigned gain of difference in DBLD ++// Bit 23:16 RW, db_hf_a, see register DPF_LPF_CTRL:db_lpf_bpcoeff, sign ++// Bit 15:8 RW, db_hf_b, see register DPF_LPF_CTRL:db_lpf_bpcoeff, sign ++// Bit 7:0 RW, db_hf_c, see register DPF_LPF_CTRL:db_lpf_bpcoeff, sign ++#define D2D3_DBLD_LPF_HCOEFF (0x2b14) ++#define P_D2D3_DBLD_LPF_HCOEFF (volatile unsigned int *)((0x2b14 << 2) + 0xff900000) ++// Bit 31:24 RW, db_owin_fill, signed depth value outside the rectangular window defined in register DGEN_WIN_HOR and DGEN_WIN_VER ++// Bit 23:16 RW, db_vf_a, see register DPF_LPF_CTRL:db_lpf_bpcoeff, sign ++// Bit 15:8 RW, db_vf_b, see register DPF_LPF_CTRL:db_lpf_bpcoeff, sign ++// Bit 7:0 RW, db_vf_c, see register DPF_LPF_CTRL:db_lpf_bpcoeff, sign ++#define D2D3_DBLD_LPF_VCOEFF (0x2b15) ++#define P_D2D3_DBLD_LPF_VCOEFF (volatile unsigned int *)((0x2b15 << 2) + 0xff900000) ++// Bit 31:28 RW, hist_depth_idx, ++// Bit 27:26 Reserved ++// Bit 25 RW, mbdg_dep_neg, 1 to negate the output data of MBDG ++// Bit 24 RW, lbdg_dep_neg, 1 to negate the output data of LBDG ++// Bit 23:16 RW, db_f1_ctrl, MUX1 selector ++// [1:0] MUX1 path1 selector, 0:summary, 1:CBDG, 2:MBDG, 3:LBDG ++// [3:2] MUX1 path2 selector, 0:summary, 1:CBDG, 2:MBDG, 3:LBDG ++// [6:4] MUX1 out1 selector, 1:CBDG, 2:MBDG, 3:LBDG, 4:summary, 5:MUX1out0, others:summary ++// [7] MUX1OUT0 selector, 0:MIN (MUX1PATH1,MUX1Path2), 1:MAX (MUX1Path1,MUX1Path2) ++// Bit 15:8 RW, db_f2_ctrl, MUX2 selector ++// [1:0] MUX2 path1 selector, 0:MUX1OUT1, 1:CBDG, 2:MBDG, 3:LBDG ++// [3:2] MUX2 path2 selector, 0:MUX1OUT1, 1:CBDG, 2:MBDG, 3:LBDG ++// [6:4] MUX2 out1 selector, 1:CBDG, 2:MBDG, 3:LBDG, 4:summary, 5:MUX2out0, others:MUX2out0 ++// [7] MUX2OUT0 selector, 0:MIN (MUX2PATH1,MUX2Path2), 1:MAX (MUX2Path1,MUX2Path2) ++// Bit 7:4 RW, db_fifo0_sel, the source input of FIFO0 ++// 0: no use; 1:from CBDG; 2:from MBDG; 3:from LBDG others:reserved ++// Bit 3:0 RW, db_fifo1_sel, the source input of FIFO1 ++// 0: no use; 1:from CBDG; 2:from MBDG; 3:from LBDG 4: from FIFO0; others:reserved ++#define D2D3_DBLD_PATH_CTRL (0x2b16) ++#define P_D2D3_DBLD_PATH_CTRL (volatile unsigned int *)((0x2b16 << 2) + 0xff900000) ++// Indicate the input picture size in SCU18 unit ++// Bit 31:16 RW, szy_scui, The vertical size ++// Bit 15:0 RW, szx_scui, The horizontal size ++#define D2D3_SCU18_INPIC_SIZE (0x2b17) ++#define P_D2D3_SCU18_INPIC_SIZE (volatile unsigned int *)((0x2b17 << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// MBDG registers ++// mg: model based depth generate module ++//------------------------------------------------------------------------------ ++// Bit 31:18 Reserved ++// Bit 17 RW, mg_vp_en, mdg vanish point enable, not used ++// Bit 16 RW, mg_sw_en, 1 to use the software forced parameter for the point D, U and C in MBDG ++// Bit 15:8 RW, mg_owin_fill, Signed depth value outside the rectangular window defined in register DGEN_WIN_HOR and DGEN_WIN_VER ++// Bit 7 RW, mg_iir_en, 1 to enable the 2-taps IIR filter in MBDG ++// Bit 6:0 RW, mg_iir, [6]: 1 to bypass the 2-taps IIR filter in MBDG ++// [5:0]:Unsigned coefficient of the 2-taps IIR filter in MBDG ++// [6]:bypass, 1:bypass, 0:not bypass ++#define D2D3_MBDG_CTRL (0x2b18) ++#define P_D2D3_MBDG_CTRL (volatile unsigned int *)((0x2b18 << 2) + 0xff900000) ++// Bit 31:28 RW, mg_dtl_pxl_left, Max pixel number (1<< mg_dtl_pxl_left) using in the left window for activities in MBDG ++// Bit 27:24 RW, mg_dtl_pxl_right, Max pixel number (1<< mg_dtl_pxl_right) using in the right window for activities in MBDG ++// Bit 23:16 RW, mg_cx_sw, Depth of point C in horizontal curve in MBDG for software forced ++// Bit 15:8 RW, mg_ux_sw, Depth of point U in horizontal curve in MBDG for software forced ++// Bit 7:0 RW, mg_dx_sw, Depth of point D in horizontal curve in MBDG for software forced ++#define D2D3_MBDG_PARAM_0 (0x2b19) ++#define P_D2D3_MBDG_PARAM_0 (volatile unsigned int *)((0x2b19 << 2) + 0xff900000) ++// Bit 31:28 RW, mg_dtl_pxl_up, Max pixel number (1<< mg_dtl_pxl_up) using in the top window for activities in MBDG ++// Bit 27:24 RW, mg_dtl_pxl_dn, Max pixel number (1<< mg_dtl_pxl_dn) using in the bottom window for activities in MBDG ++// Bit 23:16 RW, mg_cy_sw, Depth of point C in vertical curve in MBDG for software forced ++// Bit 15:8 RW, mg_uy_sw, Depth of point U in vertical curve in MBDG for software forced ++// Bit 7:0 RW, mg_dy_sw, Depth of point D in vertical curve in MBDG for software forced ++#define D2D3_MBDG_PARAM_1 (0x2b1a) ++#define P_D2D3_MBDG_PARAM_1 (volatile unsigned int *)((0x2b1a << 2) + 0xff900000) ++// Bit 31:24 RW, mg_dtl_ln_up, Line number in the top window for activities in MBDG ++// Bit 23:16 RW, mg_dtl_ln_dn, Line number in the bottom window for activities in MBDG ++// Bit 15:8 RW, mg_dtl_ln_left, Column number in the left window for activities in MBDG ++// Bit 7:0 RW, mg_dtl_ln_right,Column number in the right window for activities in MBDG ++#define D2D3_MBDG_PARAM_2 (0x2b1b) ++#define P_D2D3_MBDG_PARAM_2 (volatile unsigned int *)((0x2b1b << 2) + 0xff900000) ++// Bit 31:24 RW, mg_y_max, Software initial depth of point D and U in vertical curve ++// Bit 23:16 RW, mg_y_min, Software initial depth of point C in vertical curve ++// Bit 15:8 RW, mg_x_max, Software initial depth of point D and U in horizontal curve ++// Bit 7:0 RW, mg_x_min, Software initial depth of point C in horizontal curve ++#define D2D3_MBDG_PARAM_3 (0x2b1c) ++#define P_D2D3_MBDG_PARAM_3 (volatile unsigned int *)((0x2b1c << 2) + 0xff900000) ++// Bit 31:27 Reserved ++// Bit 26 RW, mg_y_adapt_en, 1 to enable the adaptive mode for point U/D in vertical curve calculation ++// Bit 25 RW, mg_xmm_adapt_en, 1 to enable the XMM adaptive mode for point U/D in horizontal curve calculation ++// Bit 24 RW, mg_x_adapt_en, 1 to enable the adaptive mode for point U/D in horizontal curve calculation ++// Bit 23:20 RW, mg_ytrans_1, Shifter controller in vertical curve calculation, if mg_xtrans_1<0, right shift abs(mg_xtrans_1) bits, others left shift abs(mg_xtrans_1) bits ++// Bit 19:16 RW, mg_xtrans_1, Shifter controller in horizontal curve calculation, if mg_xtrans_1<0, right shift abs(mg_xtrans_1) bits, others left shift abs(mg_xtrans_1) bits ++// Bit 15:8 RW, mg_yk_0, The based activities value of the ACT for vertical curve ++// Bit 7:0 RW, mg_xk_0, The based activities value of the ACT for horizontal curve ++#define D2D3_MBDG_PARAM_4 (0x2b1d) ++#define P_D2D3_MBDG_PARAM_4 (volatile unsigned int *)((0x2b1d << 2) + 0xff900000) ++// Bit 31:24 RW, mg_ysu3, Quantized value 3 in vertical curve adaptive calculation ++// Bit 23:16 RW, mg_ysu2, Quantized value 2 in vertical curve adaptive calculation ++// Bit 15:8 RW, mg_ysu1, Quantized value 1 in vertical curve adaptive calculation ++// Bit 7:0 RW, mg_ysu0, Quantized value 0 in vertical curve adaptive calculation ++#define D2D3_MBDG_PARAM_5 (0x2b1e) ++#define P_D2D3_MBDG_PARAM_5 (volatile unsigned int *)((0x2b1e << 2) + 0xff900000) ++// Bit 31:24 RW, mg_xsu3, Quantized value 3 in horizontal curve adaptive calculation ++// Bit 23:16 RW, mg_xsu2, Quantized value 2 in horizontal curve adaptive calculation ++// Bit 15:8 RW, mg_xsu1, Quantized value 1 in horizontal curve adaptive calculation ++// Bit 7:0 RW, mg_xsu0, Quantized value 0 in horizontal curve adaptive calculation ++#define D2D3_MBDG_PARAM_6 (0x2b1f) ++#define P_D2D3_MBDG_PARAM_6 (volatile unsigned int *)((0x2b1f << 2) + 0xff900000) ++// Bit 31:16 Reserved ++// Bit 15:8 RW, mg_xsu4, Quantized value 4 in horizontal curve adaptive calculation ++// Bit 7:0 RW, mg_ysu4, Quantized value 4 in vertical curve adaptive calculation ++#define D2D3_MBDG_PARAM_7 (0x2b20) ++#define P_D2D3_MBDG_PARAM_7 (volatile unsigned int *)((0x2b20 << 2) + 0xff900000) ++// Bit 31:28 RW, dbg_hscnt_sel see DBG_STATUS_2 ++// Bit 27:25 Reserved ++// Bit 24 RW, dbg_dbr_en, 1 to enable debug mode in DBR ++// Bit 23:16 RW, dbg_force_data, Forced data in debug mode ++// Bit 15:12 RW, dbg_bld_ctrl, debug controller for DBLD ++// [12]:enable; [13]: 0 for passive mode, 0 for handshake mode ++// [15:14]: 0 for constant mode, 1 for step1 mode ++// Bit 11:8 RW, dbg_mg_ctrl, debug controller for MBDG ++// [8]:enable; [9]: 0 for passive mode, 0 for handshake mode ++// [11:10]: 0 for constant mode, 1 for step1 mode ++// Bit 7:4 RW, dbg_cg_ctrl, debug controller for CBDG ++// [4]:enable; [5]: 0 for passive mode, 0 for handshake mode ++// [7:6]: 0 for constant mode, 1 for step1 mode ++// Bit 3:0 RW, dbg_lg_ctrl, debug controller for LBDG ++// [0]:enable; [1]: 0 for passive mode, 0 for handshake mode ++// [3:2]: 0 for constant mode, 1 for step1 mode ++#define D2D3_DBG_CTRL (0x2b23) ++#define P_D2D3_DBG_CTRL (volatile unsigned int *)((0x2b23 << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// DWMIF registers ++//------------------------------------------------------------------------------ ++// Bit 31:18 Reserved ++// Bit 17 RW, dw_x_rev 0: Normal write data from left to right in horizontal ++// 1: Reversed write data from left to right in horizontal ++// Bit 16 RW, dw_y_rev 0: Normal write data from top to bottom in horizontal ++// 1: Reversed write data from bottom to top in horizontal ++// Bit 15 RW, dw_done_clr 1 to clear register depw_done (DWMIF_STATUS) ++// Bit 14 RW, dw_little_endian, 0: data is ordered in big-endian, 1: little endian ++// Bit 13:12 RW, dw_pic_struct, 0:read every line, 1:reserved, 2:read even line, 3:read odd line ++// Bit 11 RW, dw_urgent, urgent index ++// Bit 10 RW, dw_clr_wrrsp, 1:clear the write fifo counter ++// Bit 9 RW, dw_canvas_wr, canvas write initialization again ++// Bit 8 RW, dw_req_en, 1 to enable write request ++// Bit 7:0 RW, dw_canvas_index,Canvas index for the MSB of memory address for memory write ++#define D2D3_DWMIF_CTRL (0x2b24) ++#define P_D2D3_DWMIF_CTRL (volatile unsigned int *)((0x2b24 << 2) + 0xff900000) ++// Bit 31 Reserved ++// Bit 30:16 RW, dw_end_x, Horizontal end position for memory write, count by BYTE ++// Bit 15 Reserved ++// Bit 14:0 RW, dw_start_x, Horizontal start position for memory write, count by BYTE ++#define D2D3_DWMIF_HPOS (0x2b25) ++#define P_D2D3_DWMIF_HPOS (volatile unsigned int *)((0x2b25 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, dw_end_y, Vertical end position for memory write, count by BYTE ++// Bit 15:13 Reserved ++// Bit 12:0 RW, dw_start_y, Vertical start position for memory write, count by BYTE ++#define D2D3_DWMIF_VPOS (0x2b26) ++#define P_D2D3_DWMIF_VPOS (volatile unsigned int *)((0x2b26 << 2) + 0xff900000) ++// Bit 31:28 Reserved ++// Bit 27:16 RW, dw_vsizem1, Vertical size for memory write, equal the size minus 1 ++// Bit 15:12 Reserved ++// Bit 11:0 RW, dw_hsizem1, Horizontal size for memory write, equal the size minus 1 ++#define D2D3_DWMIF_SIZE (0x2b27) ++#define P_D2D3_DWMIF_SIZE (volatile unsigned int *)((0x2b27 << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// DRMIF registers ++//------------------------------------------------------------------------------ ++// Bit 31:18 Reserved ++// Bit 17 RW, dr_y_rev, 0: Normal Read data from top to bottom in horizontal ++// 1: Reversed read data from bottom to top in horizontal ++// Bit 16 RW, dr_x_rev, 0: Normal Read data from left to right in horizontal ++// 1: Reversed read data from right to left in horizontal ++// Bit 15 RW, dr_clr_fifo_error, 1 to clear the overflow flag of the sticky FIFO ++// Bit 14 RW, dr_little_endian, 0: data is ordered in big-endian; 1: little-endian ++// Bit 13:12 RW, dr_pic_struct, 0: progressive; 1: Reserved; ++// 2: interlaced, even line; 3: interlaced, odd line ++// Bit 11 RW, dr_urgent, urgent index, no use in this system ++// Bit 10:9 RW, dr_burst_size, Burst read length for each request; 0=24,1=32,2=48,3=64 ++// Bit 8 RW, dr_req_en, 1 to enable read request ++// Bit 7:0 RW, dr_canvas_index, Canvas index for the MSB of memory address for memory read ++#define D2D3_DRMIF_CTRL (0x2b28) ++#define P_D2D3_DRMIF_CTRL (volatile unsigned int *)((0x2b28 << 2) + 0xff900000) ++// Bit 31 Reserved ++// Bit 30:16 RW, dr_end_x, Horizontal end position for memory read, count by BYTE ++// Bit 15 Reserved ++// Bit 14:0 RW, dr_start_x, Horizontal start position for memory read, count by BYTE ++#define D2D3_DRMIF_HPOS (0x2b29) ++#define P_D2D3_DRMIF_HPOS (volatile unsigned int *)((0x2b29 << 2) + 0xff900000) ++// Bit 31:29 Reserved ++// Bit 28:16 RW, dr_end_y, Vertical end position for memory read, count by BYTE ++// Bit 15:13 Reserved ++// Bit 12:0 RW, dr_start_y, Vertical start position for memory read, count by BYTE ++#define D2D3_DRMIF_VPOS (0x2b2a) ++#define P_D2D3_DRMIF_VPOS (volatile unsigned int *)((0x2b2a << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// PDR registers ++// ddd: parallax based render ++//------------------------------------------------------------------------------ ++// Bit 31:8 Reserved ++// Bit 7 RW, ddd_brdlpf_en, 1 to enable the smooth filter on the depth around the boundary ++// Bit 6 RW, ddd_extn_black, 1 to enable the function to fill black colour when interpolated pixels is outside the picture in DBR ++// Bit 5 RW, ddd_wrap_en, Reserved ++// Bit 4 RW, ddd_hhalf, 1 to indicate the left/right line length is a half of original line. ++// Bit 3:2 RW, ddd_out_mode, Reserved ++// Bit 1:0 RW, ddd_lomode, wrap & pbr interleave mode: ++// 2'b0x: whole line is left or right; ++// 2'b10: d2p_lar=1(D2P_PARAM_1), rlrlrlrl inteleave in one line, ++// d2p_lar=0(D2P_PARAM_1), lrlrlrlr inteleave in one line, ++// 2'b11: d2p_lar=1(D2P_PARAM_1), rrrrr?lllll, half line is right, another half is left, ++// d2p_lar=0(D2P_PARAM_1), lllll?rrrrr, half line is left, another half is right, ++#define D2D3_DBR_DDD_CTRL (0x2b2c) ++#define P_D2D3_DBR_DDD_CTRL (volatile unsigned int *)((0x2b2c << 2) + 0xff900000) ++// Bit 31:0 RW, ddd_dbg_ctrl, no use ++#define D2D3_DBR_DDD_DBG (0x2b2d) ++#define P_D2D3_DBR_DDD_DBG (volatile unsigned int *)((0x2b2d << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// LRDMX registers ++//------------------------------------------------------------------------------ ++// Bit 31:9 Reserved ++// Bit 8 RW, lr_merge, 1: all the left/right input go to the left channel output ++// Bit 7:6 RW, lrd_ff0_sel, FF0 source selector ++// 0:from left input; 1:from right input; 2:from FF0; 3:no used ++// Bit 5:4 RW, lrd_ff1_sel, FF1 source selector ++// 0:from left input; 1:from right input; 2:from FF0; 3:no used ++// Bit 3:2 RW, lrd_lout_sel, left channel DEMUX ++// 00: ff0 01:ff1 10: left input 11:right input ++// Bit 1:0 RW, lrd_rout_sel, right channel DEMUX ++// 00: ff1 01:ff0 10: left input 11:right input ++#define D2D3_DBR_LRDMX_CTRL (0x2b2f) ++#define P_D2D3_DBR_LRDMX_CTRL (volatile unsigned int *)((0x2b2f << 2) + 0xff900000) ++//------------------------------------------------------------------------------ ++// Read Only registers ++//------------------------------------------------------------------------------ ++// Bit 31:24 RO, ro_cg_vprel, vanish point's reliability in CBDG ++// Bit 23:12 RO, ro_cg_vpx, vanish point's X-Axis in CBDG ++// Bit 11:0 RO, ro_cg_vpy, vanish point's Y-Axis in CBDG ++#define D2D3_CBDG_STATUS_1 (0x2b30) ++#define P_D2D3_CBDG_STATUS_1 (volatile unsigned int *)((0x2b30 << 2) + 0xff900000) ++// Bit 31:24 RO, ro_mg_cx[7:0], X-Axis of point C in horizontal curve in MBDG ++// Bit 23:16 RO, ro_mg_ux, Depth value of point U in horizontal curve in MBDG ++// Bit 15:8 RO, ro_mg_dx, Depth value of point D in horizontal curve in MBDG ++// Bit 7:0 RO, ro_mg_minx, Depth value of point C in horizontal curve in MBDG ++#define D2D3_MBDG_STATUS_1 (0x2b31) ++#define P_D2D3_MBDG_STATUS_1 (volatile unsigned int *)((0x2b31 << 2) + 0xff900000) ++// Bit 31:24 RO, ro_mg_cy[7:0], X-Axis of point C in vertical curve in MBDG ++// Bit 23:16 RO, ro_mg_uy, Depth value of point U in vertical curve in MBDG ++// Bit 15:8 RO, ro_mg_dy, Depth value of point D in vertical curve in MBDG ++// Bit 7:0 RO, ro_mg_miny, Depth value of point C in vertical curve in MBDG ++#define D2D3_MBDG_STATUS_2 (0x2b32) ++#define P_D2D3_MBDG_STATUS_2 (volatile unsigned int *)((0x2b32 << 2) + 0xff900000) ++// Bit 31 RO, ro_wrap_status, 1 indicate the D2P_WRAP is busy to perform the initialization ++// Bit 30:8 Reserved ++// Bit 7:4 RO, ro_mg_cy[11:8], X-Axis of point C in vertical curve in MBDG ++// Bit 3:0 RO, ro_mg_cx[11:8], X-Axis of point C in horizontal curve in MBDG ++#define D2D3_MBDG_STATUS_3 (0x2b33) ++#define P_D2D3_MBDG_STATUS_3 (volatile unsigned int *)((0x2b33 << 2) + 0xff900000) ++// Bit 31:21 Reserved ++// Bit 20:0 RO, ro_mg_sum_u, ACT(top): activities of the top part ++#define D2D3_MBDG_STATUS_4 (0x2b34) ++#define P_D2D3_MBDG_STATUS_4 (volatile unsigned int *)((0x2b34 << 2) + 0xff900000) ++// Bit 31:21 Reserved ++// Bit 20:0 RO, ro_mg_sum_d, ACT(bottom): activities of the bottom part ++#define D2D3_MBDG_STATUS_5 (0x2b35) ++#define P_D2D3_MBDG_STATUS_5 (volatile unsigned int *)((0x2b35 << 2) + 0xff900000) ++// Bit 31:21 Reserved ++// Bit 20:0 RO, ro_mg_sum_l, ACT(left): activities of the left part ++#define D2D3_MBDG_STATUS_6 (0x2b36) ++#define P_D2D3_MBDG_STATUS_6 (volatile unsigned int *)((0x2b36 << 2) + 0xff900000) ++// Bit 31:21 Reserved ++// Bit 20:0 RO, ro_mg_sum_r, ACT(right): activities of the right part ++#define D2D3_MBDG_STATUS_7 (0x2b37) ++#define P_D2D3_MBDG_STATUS_7 (volatile unsigned int *)((0x2b37 << 2) + 0xff900000) ++// Bit 31:0 dbg_handshake_ro0, handshake signal for debug, internal srdy and rrdy ++#define D2D3_DBG_STATUS_1 (0x2b38) ++#define P_D2D3_DBG_STATUS_1 (volatile unsigned int *)((0x2b38 << 2) + 0xff900000) ++// Bit 31:0 dbg_hscnt, dbg_hscnt_sel == 4'h0, output lg hscnt ++// dbg_hscnt_sel == 4'h1, output cg hscnt ++// dbg_hscnt_sel == 4'h2, output mg hscnt ++// dbg_hscnt_sel == 4'h3, output bld hscnt ++// dbg_hscnt_sel == other value, output 32'h0 ++#define D2D3_DBG_STATUS_2 (0x2b39) ++#define P_D2D3_DBG_STATUS_2 (volatile unsigned int *)((0x2b39 << 2) + 0xff900000) ++// Bit 31:0 RO, drmif_status, drmif module internal status ++#define D2D3_DRMIF_STATUS (0x2b3a) ++#define P_D2D3_DRMIF_STATUS (volatile unsigned int *)((0x2b3a << 2) + 0xff900000) ++// Bit 31:2 RO, Reserved ++// Bit 1:0 RO, d2d3_status0, [1]: depw_done, one field depth write to ddr has done ++// [0]: dwmif_pending_ddr_wrrsp, 1 to indicate write response from ddr ++#define D2D3_DWMIF_STATUS (0x2b3b) ++#define P_D2D3_DWMIF_STATUS (volatile unsigned int *)((0x2b3b << 2) + 0xff900000) ++// Bit 31:24 Reserved ++// Bit 23:0 RO, ro_meet_sum, register sumxy_sum_dbg in CBDG ++#define D2D3_CBDG_STATUS_2 (0x2b3c) ++#define P_D2D3_CBDG_STATUS_2 (volatile unsigned int *)((0x2b3c << 2) + 0xff900000) ++// Bit 31:20 Reserved ++// Bit 19:0 RO, ro_hist_depth, ++#define D2D3_DBLD_STATUS (0x2b3d) ++#define P_D2D3_DBLD_STATUS (volatile unsigned int *)((0x2b3d << 2) + 0xff900000) ++// Bit 31:0 Reserved ++#define D2D3_RESEV_STATUS1 (0x2b3e) ++#define P_D2D3_RESEV_STATUS1 (volatile unsigned int *)((0x2b3e << 2) + 0xff900000) ++// Bit 31:0 Reserved ++#define D2D3_RESEV_STATUS2 (0x2b3f) ++#define P_D2D3_RESEV_STATUS2 (volatile unsigned int *)((0x2b3f << 2) + 0xff900000) ++// ++// Closing file: d2d3_regs.h ++// ++//======================================================================== ++// MIPI DSI Host Controller (16'h2c00 - 16'h2cff) ++// ++//======================================================================== ++//`define DSI_VCBUS_BASE 8'h2c ++//`include "dsi_regs.h" ++//======================================================================== ++// ISP register (16'h2d00 - 16'h2dff) ++//======================================================================== ++//`define ISP_VCBUS_BASE 8'h2d ++//`include "isp_reg.h" ++//`define MADB_VCBUS_BASE 8'h2d ++// ++// Reading file: dnr_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ----------------------------------------------- ++// CBUS_BASE: MADB_VCBUS_BASE = 0x2d ++// ----------------------------------------------- ++#define DNR_CTRL (0x2d00) ++#define P_DNR_CTRL (volatile unsigned int *)((0x2d00 << 2) + 0xff900000) ++//Bit 31:17, reserved ++//Bit 16, reg_dnr_en , dnr enable . unsigned , default = 1 ++//Bit 15, reg_dnr_db_vdbstep , vdb step, 0: 4, 1: 8 . unsigned , default = 1 ++//Bit 14, reg_dnr_db_vdbprten , vdb protectoin enable . unsigned , default = 1 ++//Bit 13, reg_dnr_gbs_difen , enable dif (between LR and LL/RR) condition for gbs stat.. unsigned , default = 0 ++//Bit 12, reg_dnr_luma_en , enable ycbcr2luma module . unsigned , default = 1 ++//Bit 11:10, reg_dnr_db_mod , deblocking mode, 0: disable, 1: horizontal deblocking, 2: vertical deblocking, 3: horizontal & vertical deblocking. unsigned , default = 3 ++//Bit 9, reg_dnr_db_chrmen , enable chroma deblocking . unsigned , default = 1 ++//Bit 8, reg_dnr_hvdif_mod , 0: calc. difs by original Y, 1: by new luma. unsigned , default = 1 ++//Bit 7, reserved ++//Bit 6: 4, reg_dnr_demo_lften , b0: Y b1:U b2:V . unsigned , default = 7 ++//Bit 3, reserved ++//Bit 2: 0, reg_dnr_demo_rgten , b0: Y b1:U b2:V . unsigned , default = 7 ++#define DNR_HVSIZE (0x2d01) ++#define P_DNR_HVSIZE (volatile unsigned int *)((0x2d01 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, reg_dnr_hsize , hsize . unsigned , default = 0 ++//Bit 15:13, reserved ++//Bit 12: 0, reg_dnr_vsize , vsize . unsigned , default = 0 ++#define DNR_DBLK_BLANK_NUM (0x2d02) ++#define P_DNR_DBLK_BLANK_NUM (volatile unsigned int *)((0x2d02 << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_dblk_hblank_num , deblock hor blank num . unsigned , default = 16 ++//Bit 7: 0, reg_dblk_vblank_num , deblock ver blank num . unsigned , default = 45 ++#define DNR_BLK_OFFST (0x2d03) ++#define P_DNR_BLK_OFFST (volatile unsigned int *)((0x2d03 << 2) + 0xff900000) ++//Bit 31: 7, reserved ++//Bit 6: 4, reg_dnr_hbofst , horizontal block offset may provide by software calc.. unsigned , default = 0 ++//Bit 3, reserved ++//Bit 2: 0, reg_dnr_vbofst , vertical block offset may provide by software calc.. unsigned , default = 0 ++#define DNR_GBS (0x2d04) ++#define P_DNR_GBS (volatile unsigned int *)((0x2d04 << 2) + 0xff900000) ++//Bit 31: 2, reserved ++//Bit 1: 0, reg_dnr_gbs , global block strength may update by software calc.. unsigned , default = 0 ++#define DNR_HBOFFST_STAT (0x2d05) ++#define P_DNR_HBOFFST_STAT (volatile unsigned int *)((0x2d05 << 2) + 0xff900000) ++//Bit 31:24, reg_dnr_hbof_difthd , dif threshold (>=) between LR and LL/RR. unsigned , default = 2 ++//Bit 23:16, reg_dnr_hbof_edgethd , edge threshold (<=) for LR . unsigned , default = 32 ++//Bit 15: 8, reg_dnr_hbof_flatthd , flat threshold (>=) for LR . unsigned , default = 0 ++//Bit 7, reserved ++//Bit 6: 4, reg_dnr_hbof_delta , delta for weighted bin accumulator. unsigned , default = 1 ++//Bit 3, reserved ++//Bit 2: 0, reg_dnr_hbof_statmod , statistic mode for horizontal block offset, 0: count flags for 8-bin, 1: count LRs for 8-bin, 2: count difs for 8-bin, 3: count weighted flags for 8-bin, 4: count flags for first 32-bin, 5: count LRs for first 32-bin, 6 or 7: count difs for first 32-bin. unsigned , default = 2 ++#define DNR_VBOFFST_STAT (0x2d06) ++#define P_DNR_VBOFFST_STAT (volatile unsigned int *)((0x2d06 << 2) + 0xff900000) ++//Bit 31:24, reg_dnr_vbof_difthd , dif threshold (>=) between Up and Dw. unsigned , default = 1 ++//Bit 23:16, reg_dnr_vbof_edgethd , edge threshold (<=) for Up/Dw. unsigned , default = 16 ++//Bit 15: 8, reg_dnr_vbof_flatthd , flat threshold (>=) for Up/Dw. unsigned , default = 0 ++//Bit 7, reserved ++//Bit 6: 4, reg_dnr_vbof_delta , delta for weighted bin accumulator. unsigned , default = 1 ++//Bit 3, reserved ++//Bit 2: 0, reg_dnr_vbof_statmod , statistic mode for vertical block offset, 0: count flags for 8-bin, 1: count Ups for 8-bin, 2: count difs for 8-bin, 3: count weighted flags for 8-bin, 4: count flags for first 32-bin, 5: count Ups for first 32-bin, 6 or 7: count difs for first 32-bin. unsigned , default = 2 ++#define DNR_GBS_STAT (0x2d07) ++#define P_DNR_GBS_STAT (volatile unsigned int *)((0x2d07 << 2) + 0xff900000) ++//Bit 31:24, reg_dnr_gbs_edgethd , edge threshold (<=) for LR . unsigned , default = 32 ++//Bit 23:16, reg_dnr_gbs_flatthd , flat threshold (>=) for LR . unsigned , default = 0 ++//Bit 15: 8, reg_dnr_gbs_varthd , variation threshold (<=) for Lvar/Rvar. unsigned , default = 16 ++//Bit 7: 0, reg_dnr_gbs_difthd , dif threshold (>=) between LR and LL/RR. unsigned , default = 2 ++#define DNR_STAT_X_START_END (0x2d08) ++#define P_DNR_STAT_X_START_END (volatile unsigned int *)((0x2d08 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:16, reg_dnr_stat_xst . unsigned , default = 24 ++//Bit 15:14, reserved ++//Bit 13: 0, reg_dnr_stat_xed . unsigned , default = HSIZE - 25 ++#define DNR_STAT_Y_START_END (0x2d09) ++#define P_DNR_STAT_Y_START_END (volatile unsigned int *)((0x2d09 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:16, reg_dnr_stat_yst . unsigned , default = 24 ++//Bit 15:14, reserved ++//Bit 13: 0, reg_dnr_stat_yed . unsigned , default = VSIZE - 25 ++#define DNR_LUMA (0x2d0a) ++#define P_DNR_LUMA (volatile unsigned int *)((0x2d0a << 2) + 0xff900000) ++//Bit 31:27, reserved ++//Bit 26:24, reg_dnr_luma_sqrtshft , left shift for fast squart of chroma, [0, 4]. unsigned , default = 2 ++//Bit 23:21, reserved ++//Bit 20:16, reg_dnr_luma_sqrtoffst , offset for fast squart of chroma. signed , default = 0 ++//Bit 15, reserved ++//Bit 14:12, reg_dnr_luma_wcmod , theta related to warm/cool segment line, 0: 0, 1: 45, 2: 90, 3: 135, 4: 180, 5: 225, 6: 270, 7: 315. . unsigned , default = 3 ++//Bit 11: 8, reg_dnr_luma_cshft , shift for calc. delta part, 0~8, . unsigned , default = 8 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_dnr_luma_cgain , final gain for delta part, 32 normalized to "1". unsigned , default = 4 ++#define DNR_DB_YEDGE_THD (0x2d0b) ++#define P_DNR_DB_YEDGE_THD (volatile unsigned int *)((0x2d0b << 2) + 0xff900000) ++//Bit 31:24, reg_dnr_db_yedgethd0 , edge threshold0 for luma . unsigned , default = 12 ++//Bit 23:16, reg_dnr_db_yedgethd1 , edge threshold1 for luma . unsigned , default = 15 ++//Bit 15: 8, reg_dnr_db_yedgethd2 , edge threshold2 for luma . unsigned , default = 18 ++//Bit 7: 0, reg_dnr_db_yedgethd3 , edge threshold3 for luma . unsigned , default = 25 ++#define DNR_DB_CEDGE_THD (0x2d0c) ++#define P_DNR_DB_CEDGE_THD (volatile unsigned int *)((0x2d0c << 2) + 0xff900000) ++//Bit 31:24, reg_dnr_db_cedgethd0 , edge threshold0 for chroma . unsigned , default = 12 ++//Bit 23:16, reg_dnr_db_cedgethd1 , edge threshold1 for chroma . unsigned , default = 15 ++//Bit 15: 8, reg_dnr_db_cedgethd2 , edge threshold2 for chroma . unsigned , default = 18 ++//Bit 7: 0, reg_dnr_db_cedgethd3 , edge threshold3 for chroma . unsigned , default = 25 ++#define DNR_DB_HGAP (0x2d0d) ++#define P_DNR_DB_HGAP (volatile unsigned int *)((0x2d0d << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_dnr_db_hgapthd , horizontal gap thd (<=) for very sure blockiness . unsigned , default = 8 ++//Bit 15: 8, reg_dnr_db_hgapdifthd , dif thd between hgap and lft/rgt hdifs. unsigned , default = 1 ++//Bit 7: 1, reserved ++//Bit 0, reg_dnr_db_hgapmod , horizontal gap calc. mode, 0: just use current col x, 1: find max between (x-1, x, x+1) . unsigned , default = 0 ++#define DNR_DB_HBS (0x2d0e) ++#define P_DNR_DB_HBS (volatile unsigned int *)((0x2d0e << 2) + 0xff900000) ++//Bit 31: 6, reserved ++//Bit 5: 4, reg_dnr_db_hbsup , horizontal bs up value . unsigned , default = 1 ++//Bit 3: 2, reg_dnr_db_hbsmax , max value of hbs for global control. unsigned , default = 3 ++//Bit 1: 0, reg_dnr_db_hgbsthd , gbs thd (>=) for hbs calc. . unsigned , default = 1 ++#define DNR_DB_HACT (0x2d0f) ++#define P_DNR_DB_HACT (volatile unsigned int *)((0x2d0f << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_dnr_db_hactthd0 , thd0 of hact, for block classification. unsigned , default = 10 ++//Bit 7: 0, reg_dnr_db_hactthd1 , thd1 of hact, for block classification. unsigned , default = 32 ++#define DNR_DB_YHDELTA_GAIN (0x2d10) ++#define P_DNR_DB_YHDELTA_GAIN (volatile unsigned int *)((0x2d10 << 2) + 0xff900000) ++//Bit 31:27, reserved ++//Bit 26:24, reg_dnr_db_yhdeltagain1 , (p1-q1) gain for Y's delta calc. when bs=1, normalized 8 as "1" . unsigned , default = 2 ++//Bit 23, reserved ++//Bit 22:20, reg_dnr_db_yhdeltagain2 , (p1-q1) gain for Y's delta calc. when bs=2, normalized 8 as "1" . unsigned , default = 0 ++//Bit 19, reserved ++//Bit 18:16, reg_dnr_db_yhdeltagain3 , (p1-q1) gain for Y's delta calc. when bs=3, normalized 8 as "1" . unsigned , default = 0 ++//Bit 15, reserved ++//Bit 14: 8, reg_dnr_db_yhdeltaadjoffst , offset for adjust Y's hdelta (-64, 63). signed , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_dnr_db_yhdeltaadjgain , gain for adjust Y's hdelta, normalized 32 as "1" . unsigned , default = 32 ++#define DNR_DB_YHDELTA2_GAIN (0x2d11) ++#define P_DNR_DB_YHDELTA2_GAIN (volatile unsigned int *)((0x2d11 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_dnr_db_yhdelta2gain2 , gain for bs=2's adjust Y's hdelta2, normalized 64 as "1" . unsigned , default = 8 ++//Bit 23:21, reserved ++//Bit 20:16, reg_dnr_db_yhdelta2offst2 , offset for bs=2's adjust Y's hdelta2 (-16, 15). signed , default = 0 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_dnr_db_yhdelta2gain3 , gain for bs=3's adjust Y's hdelta2, normalized 64 as "1" . unsigned , default = 4 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_db_yhdelta2offst3 , offset for bs=3's adjust Y's hdelta2 (-16, 15). signed , default = 0 ++#define DNR_DB_CHDELTA_GAIN (0x2d12) ++#define P_DNR_DB_CHDELTA_GAIN (volatile unsigned int *)((0x2d12 << 2) + 0xff900000) ++//Bit 31:27, reserved ++//Bit 26:24, reg_dnr_db_chdeltagain1 , (p1-q1) gain for UV's delta calc. when bs=1, normalized 8 as "1". unsigned , default = 2 ++//Bit 23, reserved ++//Bit 22:20, reg_dnr_db_chdeltagain2 , (p1-q1) gain for UV's delta calc. when bs=2, normalized 8 as "1". unsigned , default = 0 ++//Bit 19, reserved ++//Bit 18:16, reg_dnr_db_chdeltagain3 , (p1-q1) gain for UV's delta calc. when bs=3, normalized 8 as "1". unsigned , default = 0 ++//Bit 15, reserved ++//Bit 14: 8, reg_dnr_db_chdeltaadjoffst , offset for adjust UV's hdelta (-64, 63). signed , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_dnr_db_chdeltaadjgain , gain for adjust UV's hdelta, normalized 32 as "1". unsigned , default = 32 ++#define DNR_DB_CHDELTA2_GAIN (0x2d13) ++#define P_DNR_DB_CHDELTA2_GAIN (volatile unsigned int *)((0x2d13 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_dnr_db_chdelta2gain2 , gain for bs=2's adjust UV's hdelta2, normalized 64 as "1" . unsigned , default = 8 ++//Bit 23:21, reserved ++//Bit 20:16, reg_dnr_db_chdelta2offst2 , offset for bs=2's adjust UV's hdelta2 (-16, 15). signed , default = 0 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_dnr_db_chdelta2gain3 , gain for bs=2's adjust UV's hdelta2, normalized 64 as "1" . unsigned , default = 4 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_db_chdelta2offst3 , offset for bs=2's adjust UV's hdelta2 (-16, 15). signed , default = 0 ++#define DNR_DB_YC_VEDGE_THD (0x2d14) ++#define P_DNR_DB_YC_VEDGE_THD (volatile unsigned int *)((0x2d14 << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_dnr_db_yvedgethd , special Y's edge thd for vdb. unsigned , default = 12 ++//Bit 7: 0, reg_dnr_db_cvedgethd , special UV's edge thd for vdb. unsigned , default = 12 ++#define DNR_DB_VBS_MISC (0x2d15) ++#define P_DNR_DB_VBS_MISC (volatile unsigned int *)((0x2d15 << 2) + 0xff900000) ++//Bit 31:24, reg_dnr_db_vgapthd , vertical gap thd (<=) for very sure blockiness . unsigned , default = 8 ++//Bit 23:16, reg_dnr_db_vactthd , thd of vact, for block classification . unsigned , default = 10 ++//Bit 15: 8, reg_dnr_db_vgapdifthd , dif thd between vgap and vact. unsigned , default = 4 ++//Bit 7: 4, reserved ++//Bit 3: 2, reg_dnr_db_vbsmax , max value of vbs for global control. unsigned , default = 2 ++//Bit 1: 0, reg_dnr_db_vgbsthd , gbs thd (>=) for vbs calc. . unsigned , default = 1 ++#define DNR_DB_YVDELTA_GAIN (0x2d16) ++#define P_DNR_DB_YVDELTA_GAIN (volatile unsigned int *)((0x2d16 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_dnr_db_yvdeltaadjgain , gain for adjust Y's vdelta, normalized 32 as "1". unsigned , default = 32 ++//Bit 23, reserved ++//Bit 22:16, reg_dnr_db_yvdeltaadjoffst , offset for adjust Y's vdelta (-64, 63). signed , default = 0 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_dnr_db_yvdelta2gain , gain for adjust Y's vdelta2, normalized 64 as "1". unsigned , default = 8 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_db_yvdelta2offst , offset for adjust Y's vdelta2 (-16, 15). signed , default = 0 ++#define DNR_DB_CVDELTA_GAIN (0x2d17) ++#define P_DNR_DB_CVDELTA_GAIN (volatile unsigned int *)((0x2d17 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_dnr_db_cvdeltaadjgain , gain for adjust UV's vdelta, normalized 32 as "1". unsigned , default = 32 ++//Bit 23, reserved ++//Bit 22:16, reg_dnr_db_cvdeltaadjoffst , offset for adjust UV's vdelta (-64, 63). signed , default = 0 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_dnr_db_cvdelta2gain , gain for adjust UV's vdelta2, normalized 64 as "1". unsigned , default = 8 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_db_cvdelta2offst , offset for adjust UV's vdelta2 (-16, 15). signed , default = 0 ++#define DNR_RO_GBS_STAT_LR (0x2d18) ++#define P_DNR_RO_GBS_STAT_LR (volatile unsigned int *)((0x2d18 << 2) + 0xff900000) ++//Bit 31: 0, ro_gbs_stat_lr . unsigned , default = 0 ++#define DNR_RO_GBS_STAT_LL (0x2d19) ++#define P_DNR_RO_GBS_STAT_LL (volatile unsigned int *)((0x2d19 << 2) + 0xff900000) ++//Bit 31: 0, ro_gbs_stat_ll . unsigned , default = 0 ++#define DNR_RO_GBS_STAT_RR (0x2d1a) ++#define P_DNR_RO_GBS_STAT_RR (volatile unsigned int *)((0x2d1a << 2) + 0xff900000) ++//Bit 31: 0, ro_gbs_stat_rr . unsigned , default = 0 ++#define DNR_RO_GBS_STAT_DIF (0x2d1b) ++#define P_DNR_RO_GBS_STAT_DIF (volatile unsigned int *)((0x2d1b << 2) + 0xff900000) ++//Bit 31: 0, ro_gbs_stat_dif . unsigned , default = 0 ++#define DNR_RO_GBS_STAT_CNT (0x2d1c) ++#define P_DNR_RO_GBS_STAT_CNT (volatile unsigned int *)((0x2d1c << 2) + 0xff900000) ++//Bit 31: 0, ro_gbs_stat_cnt . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_0 (0x2d1d) ++#define P_DNR_RO_HBOF_STAT_CNT_0 (volatile unsigned int *)((0x2d1d << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt0 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_1 (0x2d1e) ++#define P_DNR_RO_HBOF_STAT_CNT_1 (volatile unsigned int *)((0x2d1e << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt1 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_2 (0x2d1f) ++#define P_DNR_RO_HBOF_STAT_CNT_2 (volatile unsigned int *)((0x2d1f << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt2 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_3 (0x2d20) ++#define P_DNR_RO_HBOF_STAT_CNT_3 (volatile unsigned int *)((0x2d20 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt3 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_4 (0x2d21) ++#define P_DNR_RO_HBOF_STAT_CNT_4 (volatile unsigned int *)((0x2d21 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt4 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_5 (0x2d22) ++#define P_DNR_RO_HBOF_STAT_CNT_5 (volatile unsigned int *)((0x2d22 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt5 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_6 (0x2d23) ++#define P_DNR_RO_HBOF_STAT_CNT_6 (volatile unsigned int *)((0x2d23 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt6 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_7 (0x2d24) ++#define P_DNR_RO_HBOF_STAT_CNT_7 (volatile unsigned int *)((0x2d24 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt7 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_8 (0x2d25) ++#define P_DNR_RO_HBOF_STAT_CNT_8 (volatile unsigned int *)((0x2d25 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt8 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_9 (0x2d26) ++#define P_DNR_RO_HBOF_STAT_CNT_9 (volatile unsigned int *)((0x2d26 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt9 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_10 (0x2d27) ++#define P_DNR_RO_HBOF_STAT_CNT_10 (volatile unsigned int *)((0x2d27 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt10 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_11 (0x2d28) ++#define P_DNR_RO_HBOF_STAT_CNT_11 (volatile unsigned int *)((0x2d28 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt11 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_12 (0x2d29) ++#define P_DNR_RO_HBOF_STAT_CNT_12 (volatile unsigned int *)((0x2d29 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt12 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_13 (0x2d2a) ++#define P_DNR_RO_HBOF_STAT_CNT_13 (volatile unsigned int *)((0x2d2a << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt13 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_14 (0x2d2b) ++#define P_DNR_RO_HBOF_STAT_CNT_14 (volatile unsigned int *)((0x2d2b << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt14 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_15 (0x2d2c) ++#define P_DNR_RO_HBOF_STAT_CNT_15 (volatile unsigned int *)((0x2d2c << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt15 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_16 (0x2d2d) ++#define P_DNR_RO_HBOF_STAT_CNT_16 (volatile unsigned int *)((0x2d2d << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt16 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_17 (0x2d2e) ++#define P_DNR_RO_HBOF_STAT_CNT_17 (volatile unsigned int *)((0x2d2e << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt17 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_18 (0x2d2f) ++#define P_DNR_RO_HBOF_STAT_CNT_18 (volatile unsigned int *)((0x2d2f << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt18 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_19 (0x2d30) ++#define P_DNR_RO_HBOF_STAT_CNT_19 (volatile unsigned int *)((0x2d30 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt19 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_20 (0x2d31) ++#define P_DNR_RO_HBOF_STAT_CNT_20 (volatile unsigned int *)((0x2d31 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt20 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_21 (0x2d32) ++#define P_DNR_RO_HBOF_STAT_CNT_21 (volatile unsigned int *)((0x2d32 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt21 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_22 (0x2d33) ++#define P_DNR_RO_HBOF_STAT_CNT_22 (volatile unsigned int *)((0x2d33 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt22 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_23 (0x2d34) ++#define P_DNR_RO_HBOF_STAT_CNT_23 (volatile unsigned int *)((0x2d34 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt23 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_24 (0x2d35) ++#define P_DNR_RO_HBOF_STAT_CNT_24 (volatile unsigned int *)((0x2d35 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt24 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_25 (0x2d36) ++#define P_DNR_RO_HBOF_STAT_CNT_25 (volatile unsigned int *)((0x2d36 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt25 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_26 (0x2d37) ++#define P_DNR_RO_HBOF_STAT_CNT_26 (volatile unsigned int *)((0x2d37 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt26 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_27 (0x2d38) ++#define P_DNR_RO_HBOF_STAT_CNT_27 (volatile unsigned int *)((0x2d38 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt27 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_28 (0x2d39) ++#define P_DNR_RO_HBOF_STAT_CNT_28 (volatile unsigned int *)((0x2d39 << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt28 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_29 (0x2d3a) ++#define P_DNR_RO_HBOF_STAT_CNT_29 (volatile unsigned int *)((0x2d3a << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt29 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_30 (0x2d3b) ++#define P_DNR_RO_HBOF_STAT_CNT_30 (volatile unsigned int *)((0x2d3b << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt30 . unsigned , default = 0 ++#define DNR_RO_HBOF_STAT_CNT_31 (0x2d3c) ++#define P_DNR_RO_HBOF_STAT_CNT_31 (volatile unsigned int *)((0x2d3c << 2) + 0xff900000) ++//Bit 31: 0, ro_hbof_stat_cnt31 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_0 (0x2d3d) ++#define P_DNR_RO_VBOF_STAT_CNT_0 (volatile unsigned int *)((0x2d3d << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt0 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_1 (0x2d3e) ++#define P_DNR_RO_VBOF_STAT_CNT_1 (volatile unsigned int *)((0x2d3e << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt1 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_2 (0x2d3f) ++#define P_DNR_RO_VBOF_STAT_CNT_2 (volatile unsigned int *)((0x2d3f << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt2 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_3 (0x2d40) ++#define P_DNR_RO_VBOF_STAT_CNT_3 (volatile unsigned int *)((0x2d40 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt3 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_4 (0x2d41) ++#define P_DNR_RO_VBOF_STAT_CNT_4 (volatile unsigned int *)((0x2d41 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt4 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_5 (0x2d42) ++#define P_DNR_RO_VBOF_STAT_CNT_5 (volatile unsigned int *)((0x2d42 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt5 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_6 (0x2d43) ++#define P_DNR_RO_VBOF_STAT_CNT_6 (volatile unsigned int *)((0x2d43 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt6 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_7 (0x2d44) ++#define P_DNR_RO_VBOF_STAT_CNT_7 (volatile unsigned int *)((0x2d44 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt7 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_8 (0x2d45) ++#define P_DNR_RO_VBOF_STAT_CNT_8 (volatile unsigned int *)((0x2d45 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt8 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_9 (0x2d46) ++#define P_DNR_RO_VBOF_STAT_CNT_9 (volatile unsigned int *)((0x2d46 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt9 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_10 (0x2d47) ++#define P_DNR_RO_VBOF_STAT_CNT_10 (volatile unsigned int *)((0x2d47 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt10 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_11 (0x2d48) ++#define P_DNR_RO_VBOF_STAT_CNT_11 (volatile unsigned int *)((0x2d48 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt11 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_12 (0x2d49) ++#define P_DNR_RO_VBOF_STAT_CNT_12 (volatile unsigned int *)((0x2d49 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt12 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_13 (0x2d4a) ++#define P_DNR_RO_VBOF_STAT_CNT_13 (volatile unsigned int *)((0x2d4a << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt13 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_14 (0x2d4b) ++#define P_DNR_RO_VBOF_STAT_CNT_14 (volatile unsigned int *)((0x2d4b << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt14 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_15 (0x2d4c) ++#define P_DNR_RO_VBOF_STAT_CNT_15 (volatile unsigned int *)((0x2d4c << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt15 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_16 (0x2d4d) ++#define P_DNR_RO_VBOF_STAT_CNT_16 (volatile unsigned int *)((0x2d4d << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt16 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_17 (0x2d4e) ++#define P_DNR_RO_VBOF_STAT_CNT_17 (volatile unsigned int *)((0x2d4e << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt17 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_18 (0x2d4f) ++#define P_DNR_RO_VBOF_STAT_CNT_18 (volatile unsigned int *)((0x2d4f << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt18 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_19 (0x2d50) ++#define P_DNR_RO_VBOF_STAT_CNT_19 (volatile unsigned int *)((0x2d50 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt19 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_20 (0x2d51) ++#define P_DNR_RO_VBOF_STAT_CNT_20 (volatile unsigned int *)((0x2d51 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt20 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_21 (0x2d52) ++#define P_DNR_RO_VBOF_STAT_CNT_21 (volatile unsigned int *)((0x2d52 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt21 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_22 (0x2d53) ++#define P_DNR_RO_VBOF_STAT_CNT_22 (volatile unsigned int *)((0x2d53 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt22 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_23 (0x2d54) ++#define P_DNR_RO_VBOF_STAT_CNT_23 (volatile unsigned int *)((0x2d54 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt23 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_24 (0x2d55) ++#define P_DNR_RO_VBOF_STAT_CNT_24 (volatile unsigned int *)((0x2d55 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt24 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_25 (0x2d56) ++#define P_DNR_RO_VBOF_STAT_CNT_25 (volatile unsigned int *)((0x2d56 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt25 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_26 (0x2d57) ++#define P_DNR_RO_VBOF_STAT_CNT_26 (volatile unsigned int *)((0x2d57 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt26 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_27 (0x2d58) ++#define P_DNR_RO_VBOF_STAT_CNT_27 (volatile unsigned int *)((0x2d58 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt27 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_28 (0x2d59) ++#define P_DNR_RO_VBOF_STAT_CNT_28 (volatile unsigned int *)((0x2d59 << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt28 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_29 (0x2d5a) ++#define P_DNR_RO_VBOF_STAT_CNT_29 (volatile unsigned int *)((0x2d5a << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt29 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_30 (0x2d5b) ++#define P_DNR_RO_VBOF_STAT_CNT_30 (volatile unsigned int *)((0x2d5b << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt30 . unsigned , default = 0 ++#define DNR_RO_VBOF_STAT_CNT_31 (0x2d5c) ++#define P_DNR_RO_VBOF_STAT_CNT_31 (volatile unsigned int *)((0x2d5c << 2) + 0xff900000) ++//Bit 31: 0, ro_vbof_stat_cnt31 . unsigned , default = 0 ++#define DNR_DM_CTRL (0x2d60) ++#define P_DNR_DM_CTRL (volatile unsigned int *)((0x2d60 << 2) + 0xff900000) ++//Bit 31:13, reserved ++//Bit 12, reg_dnr_dm_fedgeflg_en , enable edge flag calc. of each frame. unsigned , default = 1 ++//Bit 11, reg_dnr_dm_fedgeflg_cl , clear frame edge flag if needed. unsigned , default = 1 ++//Bit 10, reg_dnr_dm_fedgeflg_df , user defined edge when reg_dnr_dm_fedgeflg_en=0, default = 1 ++//Bit 9, reg_dnr_dm_en , enable demosquito function . unsigned , default = 1 ++//Bit 8, reg_dnr_dm_chrmen , enable chrome processing for demosquito. unsigned , default = 1 ++//Bit 7: 6, reg_dnr_dm_level , demosquito level . unsigned , default = 3 ++//Bit 5: 4, reg_dnr_dm_leveldw0 , level down when gbs is small. unsigned , default = 1 ++//Bit 3: 2, reg_dnr_dm_leveldw1 , level down for no edge/flat blocks. unsigned , default = 1 ++//Bit 1: 0, reg_dnr_dm_gbsthd , small/large threshold for gbs (<=). unsigned , default = 0 ++#define DNR_DM_NR_BLND (0x2d61) ++#define P_DNR_DM_NR_BLND (volatile unsigned int *)((0x2d61 << 2) + 0xff900000) ++//Bit 31:25, reserved ++//Bit 24, reg_dnr_dm_defalpen , enable user define alpha for dm & nr blend. unsigned , default = 0 ++//Bit 23:16, reg_dnr_dm_defalp , user define alpha for dm & nr blend if enable. unsigned , default = 0 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_dnr_dm_alpgain , gain for nr/dm alpha, normalized 32 as "1". unsigned , default = 32 ++//Bit 7: 0, reg_dnr_dm_alpoffst , (-128, 127), offset for nr/dm alpha. signed , default = 0 ++#define DNR_DM_RNG_THD (0x2d62) ++#define P_DNR_DM_RNG_THD (volatile unsigned int *)((0x2d62 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_dnr_dm_rngminthd . unsigned , default = 2 ++//Bit 15: 8, reg_dnr_dm_rngmaxthd . unsigned , default = 64 ++//Bit 7: 0, reg_dnr_dm_rngdifthd . unsigned , default = 4 ++#define DNR_DM_RNG_GAIN_OFST (0x2d63) ++#define P_DNR_DM_RNG_GAIN_OFST (volatile unsigned int *)((0x2d63 << 2) + 0xff900000) ++//Bit 31:14, reserved ++//Bit 13: 8, reg_dnr_dm_rnggain , normalized 16 as "1" . unsigned , default = 16 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_dnr_dm_rngofst . unsigned , default = 0 ++#define DNR_DM_DIR_MISC (0x2d64) ++#define P_DNR_DM_DIR_MISC (volatile unsigned int *)((0x2d64 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29, reg_dnr_dm_diralpen . unsigned , default = 1 ++//Bit 28:24, reg_dnr_dm_diralpgain . unsigned , default = 0 ++//Bit 23:22, reserved ++//Bit 21:16, reg_dnr_dm_diralpofst . unsigned , default = 0 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_diralpmin . unsigned , default = 0 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_diralpmax . unsigned , default = 31 ++#define DNR_DM_COR_DIF (0x2d65) ++#define P_DNR_DM_COR_DIF (volatile unsigned int *)((0x2d65 << 2) + 0xff900000) ++//Bit 31: 4, reserved ++//Bit 3: 1, reg_dnr_dm_cordifshft . unsigned , default = 3 ++//Bit 0, reg_dnr_dm_cordifmod , 0:use max dir dif as cordif, 1: use max3x3 - min3x3 as cordif. unsigned , default = 1 ++#define DNR_DM_FLT_THD (0x2d66) ++#define P_DNR_DM_FLT_THD (volatile unsigned int *)((0x2d66 << 2) + 0xff900000) ++//Bit 31:24, reg_dnr_dm_fltthd00 , block flat threshold0 for block average difference when gbs is small, for flat block detection. unsigned , default = 4 ++//Bit 23:16, reg_dnr_dm_fltthd01 , block flat threshold1 for block average difference when gbs is small, for flat block detection. unsigned , default = 6 ++//Bit 15: 8, reg_dnr_dm_fltthd10 , block flat threshold0 for block average difference when gbs is large, for flat block detection. unsigned , default = 9 ++//Bit 7: 0, reg_dnr_dm_fltthd11 , block flat threshold1 for block average difference when gbs is large, for flat block detection. unsigned , default = 12 ++#define DNR_DM_VAR_THD (0x2d67) ++#define P_DNR_DM_VAR_THD (volatile unsigned int *)((0x2d67 << 2) + 0xff900000) ++//Bit 31:24, reg_dnr_dm_varthd00 , block variance threshold0 (>=) when gbs is small, for flat block detection. unsigned , default = 2 ++//Bit 23:16, reg_dnr_dm_varthd01 , block variance threshold1 (<=) when gbs is small, for flat block detection. unsigned , default = 15 ++//Bit 15: 8, reg_dnr_dm_varthd10 , block variance threshold0 (>=) when gbs is large, for flat block detection. unsigned , default = 3 ++//Bit 7: 0, reg_dnr_dm_varthd11 , block variance threshold1 (<=) when gbs is large, for flat block detection. unsigned , default = 24 ++#define DNR_DM_EDGE_DIF_THD (0x2d68) ++#define P_DNR_DM_EDGE_DIF_THD (volatile unsigned int *)((0x2d68 << 2) + 0xff900000) ++//Bit 31:24, reg_dnr_dm_edgethd0 , block edge threshold (<=) when gbs is small, for flat block detection. unsigned , default = 32 ++//Bit 23:16, reg_dnr_dm_edgethd1 , block edge threshold (<=) when gbs is large, for flat block detection. unsigned , default = 48 ++//Bit 15: 8, reg_dnr_dm_difthd0 , block dif threshold (<=) when gbs is small, for flat block detection. unsigned , default = 48 ++//Bit 7: 0, reg_dnr_dm_difthd1 , block dif threshold (<=) when gbs is large, for flat block detection. unsigned , default = 64 ++#define DNR_DM_AVG_THD (0x2d69) ++#define P_DNR_DM_AVG_THD (volatile unsigned int *)((0x2d69 << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_dnr_dm_avgthd0 , block average threshold (>=), for flat block detection. unsigned , default = 160 ++//Bit 7: 0, reg_dnr_dm_avgthd1 , block average threshold (<=), for flat block detection. unsigned , default = 128 ++#define DNR_DM_AVG_VAR_DIF_THD (0x2d6a) ++#define P_DNR_DM_AVG_VAR_DIF_THD (volatile unsigned int *)((0x2d6a << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_dnr_dm_avgdifthd , block average dif threshold (<) between cur and up block, for flat block detection. unsigned , default = 12 ++//Bit 7: 0, reg_dnr_dm_vardifthd , block variance dif threshold (>=) between cur and up block, for flat block detection. unsigned , default = 1 ++#define DNR_DM_VAR_EDGE_DIF_THD2 (0x2d6b) ++#define P_DNR_DM_VAR_EDGE_DIF_THD2 (volatile unsigned int *)((0x2d6b << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_dnr_dm_varthd2 , block variance threshold (>=), for edge block detection. unsigned , default = 24 ++//Bit 15: 8, reg_dnr_dm_edgethd2 , block edge threshold (>=), for edge block detection. unsigned , default = 40 ++//Bit 7: 0, reg_dnr_dm_difthd2 , block dif threshold (>=), for edge block detection. unsigned , default = 80 ++#define DNR_DM_DIF_FLT_MISC (0x2d6c) ++#define P_DNR_DM_DIF_FLT_MISC (volatile unsigned int *)((0x2d6c << 2) + 0xff900000) ++//Bit 31:28, reg_dnr_dm_ldifoob , pre-defined large dif when pixel out of blocks. unsigned , default = 0 ++//Bit 27:24, reg_dnr_dm_bdifoob , pre-defined block dif when pixel out of blocks;. unsigned , default = 0 ++//Bit 23:16, reg_dnr_dm_fltalp , pre-defined alpha for dm and nr blending, when block is flat with mos.. unsigned , default = 200 ++//Bit 15:12, reserved ++//Bit 11: 8, reg_dnr_dm_fltminbdif , pre-defined min block dif for dm filter, when block is flat with mos.. unsigned , default = 12 ++//Bit 7, reserved ++//Bit 6: 2, reg_dnr_dm_difnormgain , gain for pixel dif normalization for dm filter, normalized 16 as "1". unsigned , default = 16 ++//Bit 1, reg_dnr_dm_difnormen , enable pixel dif normalization for dm filter. unsigned , default = 1 ++//Bit 0, reg_dnr_dm_difupden , enable block dif update using max of left, cur, right difs. unsigned , default = 0 ++#define DNR_DM_SDIF_LUT0_2 (0x2d6d) ++#define P_DNR_DM_SDIF_LUT0_2 (volatile unsigned int *)((0x2d6d << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_dnr_dm_sdiflut0 , normally 0-16 . unsigned , default = 16 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_sdiflut1 , normally 0-16 . unsigned , default = 14 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_sdiflut2 , normally 0-16 . unsigned , default = 13 ++#define DNR_DM_SDIF_LUT3_5 (0x2d6e) ++#define P_DNR_DM_SDIF_LUT3_5 (volatile unsigned int *)((0x2d6e << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_dnr_dm_sdiflut3 , normally 0-16 . unsigned , default = 10 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_sdiflut4 , normally 0-16 . unsigned , default = 7 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_sdiflut5 , normally 0-16 . unsigned , default = 5 ++#define DNR_DM_SDIF_LUT6_8 (0x2d6f) ++#define P_DNR_DM_SDIF_LUT6_8 (volatile unsigned int *)((0x2d6f << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_dnr_dm_sdiflut6 , normally 0-16 . unsigned , default = 3 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_sdiflut7 , normally 0-16 . unsigned , default = 1 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_sdiflut8 , normally 0-16 . unsigned , default = 0 ++#define DNR_DM_LDIF_LUT0_2 (0x2d70) ++#define P_DNR_DM_LDIF_LUT0_2 (volatile unsigned int *)((0x2d70 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_dnr_dm_ldiflut0 , normally 0-16 . unsigned , default = 0 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_ldiflut1 , normally 0-16 . unsigned , default = 4 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_ldiflut2 , normally 0-16 . unsigned , default = 12 ++#define DNR_DM_LDIF_LUT3_5 (0x2d71) ++#define P_DNR_DM_LDIF_LUT3_5 (volatile unsigned int *)((0x2d71 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_dnr_dm_ldiflut3 , normally 0-16 . unsigned , default = 14 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_ldiflut4 , normally 0-16 . unsigned , default = 15 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_ldiflut5 , normally 0-16 . unsigned , default = 16 ++#define DNR_DM_LDIF_LUT6_8 (0x2d72) ++#define P_DNR_DM_LDIF_LUT6_8 (volatile unsigned int *)((0x2d72 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_dnr_dm_ldiflut6 , normally 0-16 . unsigned , default = 16 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_ldiflut7 , normally 0-16 . unsigned , default = 16 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_ldiflut8 , normally 0-16 . unsigned , default = 16 ++#define DNR_DM_DIF2NORM_LUT0_2 (0x2d73) ++#define P_DNR_DM_DIF2NORM_LUT0_2 (volatile unsigned int *)((0x2d73 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_dnr_dm_dif2normlut0 , normally 0-16 . unsigned , default = 16 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_dif2normlut1 , normally 0-16 . unsigned , default = 5 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_dif2normlut2 , normally 0-16 . unsigned , default = 3 ++#define DNR_DM_DIF2NORM_LUT3_5 (0x2d74) ++#define P_DNR_DM_DIF2NORM_LUT3_5 (volatile unsigned int *)((0x2d74 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_dnr_dm_dif2normlut3 , normally 0-16 . unsigned , default = 2 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_dif2normlut4 , normally 0-16 . unsigned , default = 2 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_dif2normlut5 , normally 0-16 . unsigned , default = 1 ++#define DNR_DM_DIF2NORM_LUT6_8 (0x2d75) ++#define P_DNR_DM_DIF2NORM_LUT6_8 (volatile unsigned int *)((0x2d75 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_dnr_dm_dif2normlut6 , normally 0-16 . unsigned , default = 1 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_dnr_dm_dif2normlut7 , normally 0-16 . unsigned , default = 1 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_dnr_dm_dif2normlut8 , normally 0-16 . unsigned , default = 1 ++#define DNR_DM_GMS_THD (0x2d76) ++#define P_DNR_DM_GMS_THD (volatile unsigned int *)((0x2d76 << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_gms_stat_thd0 . unsigned , default = 0 ++//Bit 7: 0, reg_gms_stat_thd1 . unsigned , default = 128 ++#define DNR_RO_DM_GMS_STAT_CNT (0x2d77) ++#define P_DNR_RO_DM_GMS_STAT_CNT (volatile unsigned int *)((0x2d77 << 2) + 0xff900000) ++//Bit 31: 0, ro_dm_gms_stat_cnt . unsigned , default = 0 ++#define DNR_RO_DM_GMS_STAT_MS (0x2d78) ++#define P_DNR_RO_DM_GMS_STAT_MS (volatile unsigned int *)((0x2d78 << 2) + 0xff900000) ++//Bit 31: 0, ro_dm_gms_stat_ms . unsigned , default = 0 ++// 0x80-0x90 ++// ++// Reading file: decomb_regs.h ++// ++#define DECOMB_DET_VERT_CON0 (0x2d80) ++#define P_DECOMB_DET_VERT_CON0 (volatile unsigned int *)((0x2d80 << 2) + 0xff900000) ++//Bit 31:24 reg_di_dcmb_det_vcon_thd0 default = 60 // u8 ++//Bit 23:16 reg_di_dcmb_det_vcon_thd1 default = 80 // u8 ++//Bit 15: 8 reg_di_dcmb_det_valp_lmt0 default = 63 // u8 ++//Bit 7: 0 reg_di_dcmb_det_valp_lmt1 default = 4 // u8 ++#define DECOMB_DET_VERT_CON1 (0x2d81) ++#define P_DECOMB_DET_VERT_CON1 (volatile unsigned int *)((0x2d81 << 2) + 0xff900000) ++//Bit 23:16 reg_di_dcmb_det_valp_lmt2 default = 0 // u8 ++//Bit 15: 8 reg_di_dcmb_det_vrate0 default = 32 // u8 ++//Bit 7: 0 reg_di_dcmb_det_vrate1 default = 4 // u8 ++#define DECOMB_DET_EDGE_CON0 (0x2d82) ++#define P_DECOMB_DET_EDGE_CON0 (volatile unsigned int *)((0x2d82 << 2) + 0xff900000) ++//Bit 31:24 reg_di_dcmb_det_econ_thd0 default = 60 // u8 ++//Bit 23:16 reg_di_dcmb_det_econ_thd1 default = 80 // u8 ++//Bit 15: 8 reg_di_dcmb_det_ealp_lmt0 default = 63 // u8 ++//Bit 7: 0 reg_di_dcmb_det_ealp_lmt1 default = 4 // u8 ++#define DECOMB_DET_EDGE_CON1 (0x2d83) ++#define P_DECOMB_DET_EDGE_CON1 (volatile unsigned int *)((0x2d83 << 2) + 0xff900000) ++//Bit 23:16 reg_di_dcmb_det_ealp_lmt2 default = 0 // u8 ++//Bit 15: 8 reg_di_dcmb_det_erate0 default = 32 // u8 ++//Bit 7: 0 reg_di_dcmb_det_erate1 default = 4 // u8 ++#define DECOMB_PARA (0x2d84) ++#define P_DECOMB_PARA (volatile unsigned int *)((0x2d84 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:28 reg_di_dcmb_cmb_lpf default = 1 // u2, 0:no lpf, 1:[1 2 1], 2,3: [1 2 2 2 1] ++//Bit 27:26 reg_di_dcmb_vedge_chk default = 0 // u2, vertical edge check, 0: no check, 1: vrt!=0, 2: vrt==3 ++//Bit 25:24 reg_di_dcmb_nedge_chk default = 0 // u2, no idea edge check, 0, no check, 1, check ++//Bit 23:20 reg_di_dcmb_edge_min default = 0 // u4, min edge for edge cmb ++//Bit 19:16 reg_di_dcmb_edge_max default = 15 // u4, min edge for edge cmb ++//Bit 15:8 reg_di_dcmb_bld_alp default = 255 // u8, user defined alpha for di & decmb blend ++//Bit 7:0 reg_di_dcmb_bld_alp_beta default = 40 // u8, beta for mtn & cmb blend, for bld alpha calc. ++#define DECOMB_BLND_CON0 (0x2d85) ++#define P_DECOMB_BLND_CON0 (volatile unsigned int *)((0x2d85 << 2) + 0xff900000) ++//Bit 31:24 reg_di_dcmb_bld_con_thd0 default = 100 // u8 ++//Bit 23:16 reg_di_dcmb_bld_con_thd1 default = 120 // u8 ++//Bit 15: 8 reg_di_dcmb_bld_alp_lmt0 default = 0 // u8 ++//Bit 7: 0 reg_di_dcmb_bld_alp_lmt1 default = 128 // u8 ++#define DECOMB_BLND_CON1 (0x2d86) ++#define P_DECOMB_BLND_CON1 (volatile unsigned int *)((0x2d86 << 2) + 0xff900000) ++//Bit 23:16 reg_di_dcmb_bld_alp_lmt2 default = 255 // u8 ++//Bit 15: 8 reg_di_dcmb_bld_rate0 default = 32 // u8 ++//Bit 7: 0 reg_di_dcmb_bld_rate1 default = 32 // u8 ++#define DECOMB_YC_THRD (0x2d87) ++#define P_DECOMB_YC_THRD (volatile unsigned int *)((0x2d87 << 2) + 0xff900000) ++//Bit 31:16 reserved ++//Bit 15: 8 reg_di_dcmb_ythd default = 2 // u8, default = 2 ++//Bit 7: 0 reg_di_dcmb_cthd default = 2 // u8, default = 2 ++#define DECOMB_MTN_GAIN_OFST (0x2d88) ++#define P_DECOMB_MTN_GAIN_OFST (volatile unsigned int *)((0x2d88 << 2) + 0xff900000) ++//Bit 31:22 reserved ++//Bit 21:16 reg_di_dcmb_mtn_alp_gain default = 16 // u6, 16 is normalized to '1' ++//Bit 15:9 reserved ++//Bit 8:0 reg_di_dcmb_mtn_alp_ofst default = 0 // s9, [-256, 255] ++#define DECOMB_CMB_SEL_GAIN_OFST (0x2d89) ++#define P_DECOMB_CMB_SEL_GAIN_OFST (volatile unsigned int *)((0x2d89 << 2) + 0xff900000) ++//Bit 31:22 reserved ++//Bit 21:16 reg_di_dcmb_cmb_sel_gain default = 48 // u6, 16 is normalized to '1' ++//Bit 15:9 reserved ++//Bit 8:0 reg_di_dcmb_cmb_sel_ofst default = 0 // s9, [-256, 255] ++#define DECOMB_WIND00 (0x2d8a) ++#define P_DECOMB_WIND00 (volatile unsigned int *)((0x2d8a << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28:16 reg_di_dcmb_wnd00 default = 0 // u13, x0 for window 0, software control ++//Bit 15:13 reserved ++//Bit 12:0 reg_di_dcmb_wnd01 default = 719 // u13, x1 for window 0, HSIZE-1, software control ++#define DECOMB_WIND01 (0x2d8b) ++#define P_DECOMB_WIND01 (volatile unsigned int *)((0x2d8b << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28:16 reg_di_dcmb_wnd02 default = 0 // u13, y0 for window 0, software control ++//Bit 15:13 reserved ++//Bit 12:0 reg_di_dcmb_wnd03 default = 39 // u13, y1 for window 0, software control ++#define DECOMB_WIND10 (0x2d8c) ++#define P_DECOMB_WIND10 (volatile unsigned int *)((0x2d8c << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28:16 reg_di_dcmb_wnd10 default = 0 // u13, x0 for window 1, software control ++//Bit 15:13 reserved ++//Bit 12:0 reg_di_dcmb_wnd11 default = 719 // u13, x1 for window 1, HSIZE-1, software control ++#define DECOMB_WIND11 (0x2d8d) ++#define P_DECOMB_WIND11 (volatile unsigned int *)((0x2d8d << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28:16 reg_di_dcmb_wnd12 default = 40 // u13, y0 for window 1, software control ++//Bit 15:13 reserved ++//Bit 12:0 reg_di_dcmb_wnd13 default = 239 // u13, y1 for window 1, VSIZE-1-40, software control ++#define DECOMB_MODE (0x2d8e) ++#define P_DECOMB_MODE (volatile unsigned int *)((0x2d8e << 2) + 0xff900000) ++//Bit 31:16 reserved ++//Bit 15 reg_di_dcmb_is_cmb_bef default = 1 // u1, 1: decide is_cmb before cmbing refine, 0: decide is_cmb after cmbing refine ++//Bit 14 reg_di_dcmb_en0 default = 1 // u1, enable decmobing for wind0 ++//Bit 13 reg_di_dcmb_en1 default = 1 // u1, enable decmobing for wind1 ++//Bit 12 reg_di_dcmb_en2 default = 1 // u1, enable decmobing for wind2 ++//Bit 11:10 reg_di_dcmb_lpf_mod0 default = 2 // u2, get combing free pixels of wind0 by: 0, vertical lpf, 1, edge lpf, 2,3, ei data ++//Bit 9:8 reg_di_dcmb_lpf_mod1 default = 2 // u2, get combing free pixels of wind1 by: 0, vertical lpf, 1, edge lpf, 2,3, ei data ++//Bit 7:6 reg_di_dcmb_lpf_mod2 default = 0 // u2, get combing free pixels of wind2 by: 0, vertical lpf, 1, edge lpf, 2,3, ei data ++//Bit 5 reg_di_dcmb_cmb_sel0 default = 1 // u1, wind0 decmb based on: 0, vert cmb, 1, edge cmb ++//Bit 4 reg_di_dcmb_cmb_sel1 default = 1 // u1, wind1 decmb based on: 0, vert cmb, 1, edge cmb ++//Bit 3 reg_di_dcmb_cmb_sel2 default = 0 // u1, wind2 decmb based on: 0, vert cmb, 1, edge cmb ++//Bit 2 reg_di_dcmb_alp_mod0 default = 1 // u1, wind0 decmb alpha based on: 0, user-defined, 1, motion adaptive ++//Bit 1 reg_di_dcmb_alp_mod1 default = 1 // u1, wind1 decmb alpha based on: 0, user-defined, 1, motion adaptive ++//Bit 0 reg_di_dcmb_alp_mod2 default = 1 // u1, wind2 decmb alpha based on: 0, user-defined, 1, motion adaptive ++#define DECOMB_FRM_SIZE (0x2d8f) ++#define P_DECOMB_FRM_SIZE (volatile unsigned int *)((0x2d8f << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28:16 hsize_in default = 1920 // u13, pic horz size in unit: pixel ++//Bit 15:13 reserved ++//Bit 12:0 vsize_in default = 1080 // u13, pic vert size in unit: pixel ++#define DECOMB_HV_BLANK (0x2d90) ++#define P_DECOMB_HV_BLANK (volatile unsigned int *)((0x2d90 << 2) + 0xff900000) ++//Bit 31:16 reserved ++//Bit 15:8 hblank_num default = 20 // u8, hor blank time ++//Bit 7:0 vblank_num default = 50 // u8, ver blank time ++// ++// Closing file: decomb_regs.h ++// ++// 0x98-0xa3 ++// ++// Reading file: nr2_det_polar_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++#define NR2_POLAR3_MODE (0x2d98) ++#define P_NR2_POLAR3_MODE (volatile unsigned int *)((0x2d98 << 2) + 0xff900000) ++//Bit 31:20 reserved ++//Bit 19:18 reg_polar3_f02lpf_mod0 // unsigned , default = 3 low pass filter mode for field 0 and field2 before polar3 detection; 0 for no lpf, 1: [1 2 1]/4 vert lpf; 2: [1 2 1; 2 4 2; 1 2 1]/16 2d lpf, p1 no hlpf; 2: [1 2 1; 2 4 2; 1 2 1]/16 2d lpf, p1 [1 2 1]/4 hlpf ++//Bit 17:16 reg_polar3_f02lpf_mod1 // unsigned , default = 3 low pass filter mode for field 0 and field2 before polar3 detection; 0 for no lpf, 1: [1 2 1]/4 vert lpf; 2: [1 2 1; 2 4 2; 1 2 1]/16 2d lpf, p1 no hlpf; 2: [1 2 1; 2 4 2; 1 2 1]/16 2d lpf, p1 [1 2 1]/4 hlpf ++//Bit 15: 8 reg_polar3_dif02_thrd0 // unsigned , default = 5 threshold of dif for polar3 detection except for 32 detection, only do polar3 detection on obvious motion, [0] for luma, 1[1] for chroma ++//Bit 7: 0 reg_polar3_dif02_thrd1 // unsigned , default = 5 threshold of dif for polar3 detection except for 32 detection, only do polar3 detection on obvious motion, [0] for luma, 1[1] for chroma ++#define NR2_POLAR3_THRD (0x2d99) ++#define P_NR2_POLAR3_THRD (volatile unsigned int *)((0x2d99 << 2) + 0xff900000) ++//Bit 31:24 reg_polar3_txtf02_thrd0 // unsigned , default = 30 threshold to vertical f0f2 texture, if texture larger than this threshold, will not do the polar3 decision. ++//Bit 23:16 reg_polar3_txtf02_thrd1 // unsigned , default = 30 threshold to vertical f0f2 texture, if texture larger than this threshold, will not do the polar3 decision. ++//Bit 15: 8 reg_polar3_txtf1_thrd0 // unsigned , default = 20 threshold to vertical f1 texture, if texture larger than this threshold, will not do the polar3 decision. ++//Bit 7: 0 reg_polar3_txtf1_thrd1 // unsigned , default = 20 threshold to vertical f1 texture, if texture larger than this threshold, will not do the polar3 decision. ++#define NR2_POLAR3_PARA0 (0x2d9a) ++#define P_NR2_POLAR3_PARA0 (volatile unsigned int *)((0x2d9a << 2) + 0xff900000) ++//Bit 31:28 reg_polar3_rate00 // unsigned , default = 6 delt = rate*dif02/32, e.g. f2((f0+f2)/2 + delt), then polar3_p1++; ++//Bit 19:16 reg_polar3_rate11 // unsigned , default = 8 delt = rate*dif02/32, e.g. f2-ofst1((f0+f2)/2 + delt), then polar3_p1++; ++//Bit 15:12 reg_polar3_rate20 // unsigned , default = 2 delt = rate*dif02/32, e.g. f2((f0 + delt+ ofset2), then polar3_p2++; ++//Bit 11: 8 reg_polar3_rate21 // unsigned , default = 2 delt = rate*dif02/32, e.g. f2((f0 + delt+ ofset2), then polar3_p2++; ++//Bit 7: 1 reserved ++//Bit 0 reg_polar3_ro_reset // unsigned , default = 0 reset signal of the polar3 read only registers ++#define NR2_POLAR3_PARA1 (0x2d9b) ++#define P_NR2_POLAR3_PARA1 (volatile unsigned int *)((0x2d9b << 2) + 0xff900000) ++//Bit 31:24 reg_polar3_rate30 // unsigned , default = 48 delt = rate*dif02/32, e.g. f2((f0 + delt+ofst3), then polar3_32++; ++//Bit 23:16 reg_polar3_rate31 // unsigned , default = 48 delt = rate*dif02/32, e.g. f2((f0 + delt+ofst3), then polar3_32++; ++//Bit 15:12 reg_polar3_ofst30 // signed , default = 2 delt = rate*dif02/32, e.g. f2((f0 + delt+ofst3), then polar3_32++; ++//Bit 11: 8 reg_polar3_ofst31 // signed , default = 2 delt = rate*dif02/32, e.g. f2((f0 + delt+ofst3), then polar3_32++; ++//Bit 7: 4 reg_polar3_ofst20 // signed , default = 2 delt = rate*dif02/32, e.g. f2((f0 + delt+ ofset2), then polar3_p2++; ++//Bit 3: 0 reg_polar3_ofst21 // signed , default = 2 delt = rate*dif02/32, e.g. f2((f0 + delt+ ofset2), then polar3_p2++; ++#define NR2_POLAR3_CTRL (0x2d9c) ++#define P_NR2_POLAR3_CTRL (volatile unsigned int *)((0x2d9c << 2) + 0xff900000) ++//Bit 31:24 reg_polar3_ofst10 // signed , default = 1 ++//Bit 23:16 reg_polar3_ofst11 // signed , default = 1 ++//Bit 15: 8 reg_polar3_h_mute // unsigned , default = 10 horizontal pixels to mute for left right sides for polar3 detection; ++//Bit 7: 0 reg_polar3_v_mute // unsigned , default = 10 vertical pixels to mute for top and bottom sides for polar3 detection; ++#define NR2_RO_POLAR3_NUMOFPIX (0x2d9d) ++#define P_NR2_RO_POLAR3_NUMOFPIX (volatile unsigned int *)((0x2d9d << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23: 0 ro_polar3_numofpix // unsigned , default = 0 number of pixels detected as polar3 ++#define NR2_RO_POLAR3_SMOOTHMV (0x2d9e) ++#define P_NR2_RO_POLAR3_SMOOTHMV (volatile unsigned int *)((0x2d9e << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23: 0 ro_polar3_smoothmv // unsigned , default = 0 number of pixels with smooth mv, F(t) is close between avg of f(t-1) and f(t+1); ++#define NR2_RO_POLAR3_M1 (0x2d9f) ++#define P_NR2_RO_POLAR3_M1 (volatile unsigned int *)((0x2d9f << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23: 0 ro_polar3_m1 // unsigned , default = 0 number of pixels with F(t) is close to f(t-1) instead of f(t+1), but in between [f(t-1), f(t+1)]; ++#define NR2_RO_POLAR3_P1 (0x2da0) ++#define P_NR2_RO_POLAR3_P1 (volatile unsigned int *)((0x2da0 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23: 0 ro_polar3_p1 // unsigned , default = 0 number of pixels with F(t) is close to f(t+1) instead of f(t-1), but in between [f(t-1), f(t+1)]; ++#define NR2_RO_POLAR3_M2 (0x2da1) ++#define P_NR2_RO_POLAR3_M2 (volatile unsigned int *)((0x2da1 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23: 0 ro_polar3_m2 // unsigned , default = 0 number of pixels with F(t) is close to f(t-1) instead of f(t+1), but out side of (f(t-1), f(t+1)); ++#define NR2_RO_POLAR3_P2 (0x2da2) ++#define P_NR2_RO_POLAR3_P2 (volatile unsigned int *)((0x2da2 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23: 0 ro_polar3_p2 // unsigned , default = 0 number of pixels with F(t) is close to f(t+1) instead of f(t-1), but out side of (f(t-1), f(t+1)); ++#define NR2_RO_POLAR3_32 (0x2da3) ++#define P_NR2_RO_POLAR3_32 (volatile unsigned int *)((0x2da3 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23: 0 ro_polar3_32 // unsigned , default = 0 number of pixels with F(t) far from [f(t-1),f(t+1)] and f(t-1) is close to f(t+1); ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: nr2_det_polar_regs.h ++// ++// 0xa4-0xf7 / 0xff ++// ++// Reading file: nr4_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++//========== nr4_drt_regs register begin ==========// ++#define NR4_DRT_CTRL (0x2da4) ++#define P_NR4_DRT_CTRL (volatile unsigned int *)((0x2da4 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_ydrt_3line_ssd_gain // unsigned , default = 16 gain to max ssd normalized 16 as '1' ++//Bit 23:16 reg_nr4_ydrt_5line_ssd_gain // unsigned , default = 16 gain to max ssd normalized 16 as '1' ++//Bit 15 reserved ++//Bit 14:13 reg_nr4_drt_yhsad_mode // unsigned , default = 1 mode for luma horiztonal sad calc., 0: no vertical lpf, 1: vertical [1 2 1], 2 or 3: vertical [ 1 2 2 2 1] if 5 lines ++//Bit 12:11 reg_nr4_drt_chsad_mode // unsigned , default = 1 mode for chroma horiztonal sad calc., 0: no vertical lpf, 1: vertical [1 2 1], 2 or 3: vertical [ 1 2 2 2 1] if 5 lines ++//Bit 10 reg_nr4_drt_yhsad_hlpf // unsigned , default = 1 hlpf for luma hsad of drt calculation, 0: no lpf, 1: with [1 2 1] hlpf ++//Bit 9 reg_nr4_drt_yvsad_hlpf // unsigned , default = 1 hlpf for luma vsad of drt calculation, 0: no lpf, 1: with [1 2 1] hlpf ++//Bit 8 reg_nr4_drt_ydsad_hlpf // unsigned , default = 1 hlpf for luma dsad of drt calculation, 0: no lpf, 1: with [1 2 1] hlpf ++//Bit 7 reg_nr4_drt_chsad_hlpf // unsigned , default = 1 hlpf for chrome hsad of drt calculation, 0: no lpf, 1: with [1 2 1] hlpf ++//Bit 6 reg_nr4_drt_cvsad_hlpf // unsigned , default = 1 hlpf for chroma vsad of drt calculation, 0: no lpf, 1: with [1 2 1] hlpf ++//Bit 5 reg_nr4_drt_cdsad_hlpf // unsigned , default = 1 hlpf for chroma dsad of drt calculation, 0: no lpf, 1: with [1 2 1] hlpf ++//Bit 4 reg_nr4_ydrt_dif_mode // unsigned , default = 1 0:y_dif, 1: y_dif + (u_dif + v_dif)/2 ++//Bit 3: 2 reg_nr4_cdrt_dif_mode // unsigned , default = 2 0:(u_dif + v_dif), 1: y_dif/4 + (u_dif + v_dif)*3/4, 2:y_dif/2 + (u_dif + v_dif)/2, 3: y_dif (not recommended) ++//Bit 1: 0 reserved ++#define NR4_DRT_YSAD_GAIN (0x2da5) ++#define P_NR4_DRT_YSAD_GAIN (volatile unsigned int *)((0x2da5 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_ysad_hrz_gain // unsigned , default = 16 gain for horizontal sad, 16 normalized to "1" ++//Bit 23:16 reg_nr4_ysad_diag_gain // unsigned , default = 20 gain for diagonal sad, 16 normalized to "1" ++//Bit 15: 8 reg_nr4_ysad_vrt_gain // unsigned , default = 16 gain for vertical sad, 16 normalized to "1" ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_drt_ysad_core_rate // unsigned , default = 6 rate of coring for sad(theta) - sad(theta+pi/2)*rate/64 ++#define NR4_DRT_CSAD_GAIN (0x2da6) ++#define P_NR4_DRT_CSAD_GAIN (volatile unsigned int *)((0x2da6 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_csad_hrz_gain // unsigned , default = 16 gain for horizontal sad, 16 normalized to "1" ++//Bit 23:16 reg_nr4_csad_diag_gain // unsigned , default = 20 gain for diagonal sad, 16 normalized to "1" ++//Bit 15: 8 reg_nr4_csad_vrt_gain // unsigned , default = 16 gain for vertical sad, 16 normalized to "1" ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_drt_csad_core_rate // unsigned , default = 6 rate of coring for sad(theta) - sad(theta+pi/2)*rate/64 ++#define NR4_DRT_SAD_ALP_CORE (0x2da7) ++#define P_NR4_DRT_SAD_ALP_CORE (volatile unsigned int *)((0x2da7 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:20 reg_nr4_ydrt_alp_core_rate // unsigned , default = 0 luma ratio to min_err, alpha = (min_err - (max_err - min_err)*rate + ofst)/max_err * 64; dft = 0/32 ++//Bit 19:16 reg_nr4_cdrt_alp_core_rate // unsigned , default = 0 chroma ratio to min_err, alpha = (min_err - (max_err - min_err)*rate + ofst)/max_err * 64; dft = 0/32 ++//Bit 15:14 reserved ++//Bit 13: 8 reg_nr4_ydrt_alp_core_ofst // unsigned , default = 10 luma offset to min_err, alpha = (min_err - (max_err - min_err)*rate + ofst)/max_err * 64; dft = 10 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_cdrt_alp_core_ofst // unsigned , default = 10 chroma offset to min_err, alpha = (min_err - (max_err - min_err)*rate + ofst)/max_err * 64; dft = 10 ++#define NR4_DRT_ALP_MINMAX (0x2da8) ++#define P_NR4_DRT_ALP_MINMAX (volatile unsigned int *)((0x2da8 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_nr4_ydrt_alp_min // unsigned , default = 0 luma min value of alpha, dft = 0 ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_ydrt_alp_max // unsigned , default = 63 luma max value of alpha, dft = 63 ++//Bit 15:14 reserved ++//Bit 13: 8 reg_nr4_cdrt_alp_min // unsigned , default = 0 chroma min value of alpha, dft = 0 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_cdrt_alp_max // unsigned , default = 63 chroma max value of alpha, dft = 63 ++//========== nr4_drt_regs register end ==========// ++//========== nr4_snr_regs register begin ==========// ++#define NR4_SNR_CTRL_REG (0x2da9) ++#define P_NR4_SNR_CTRL_REG (volatile unsigned int *)((0x2da9 << 2) + 0xff900000) ++//Bit 31:13 reserved ++//Bit 12 reg_nr4_bet2_sel // unsigned , default = 1 ++//Bit 11: 9 reg_nr4_snr2_sel_mode // unsigned , default = 0 0: no filter, 1: adpgau, adp_drt_lpf blend; 2: adpgau, drt4_lpf blend; 3: adp_drt_lpf method, 4: drt4_lpf method, 5: adp_drt_ //original image blend, 6: drt4_lpf, original image blend, 7: adpgau method; dft=1 ++//Bit 8 reg_nr4_snr2_gaulpf_mode // unsigned , default = 1 0: 3*5 or 5*5 gaussian lpf; 1: 3*3 (window size) gaussian lpf; dft=1 ++//Bit 7: 6 reg_nr4_snr2_alpha0_sad_mode // unsigned , default = 3 0: max_sad*max_ssd; 1: max_sad*max_sad; 2: adp_max_sad*max_ssd; 3: adp_max_sad*adp_max_sad dft=3 ++//Bit 5: 4 reg_nr4_snr2_alpha1_sad_mode // unsigned , default = 2 0: max_sad; 1: cross_max_sad; 2 or 3: adp_sad dft=2 ++//Bit 3: 2 reserved ++//Bit 1: 0 reg_nr4_snr2_adp_drtlpf_mode // unsigned , default = 3 0: adp_drtlpf [2 1 1]/4, 1: adp_drtlpf [4 2 1 1]/8; 2: adp_drtlpf [2 2 2 1 1]/8; 3: adp_drtlpf [7 7 7 6 5]/32; dft=3; ++#define NR4_SNR_ALPHA0_MAX_MIN (0x2daa) ++#define P_NR4_SNR_ALPHA0_MAX_MIN (volatile unsigned int *)((0x2daa << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:23 reg_nr4_snr2_alp0_ymin // unsigned , default = 127 normalized to 128 as '1' ++//Bit 22:16 reg_nr4_snr2_alp0_ymax // unsigned , default = 127 normalized to 128 as '1' ++//Bit 15:14 reserved ++//Bit 13: 7 reg_nr4_snr2_alp0_cmin // unsigned , default = 127 normalized to 128 as '1' ++//Bit 6: 0 reg_nr4_snr2_alp0_cmax // unsigned , default = 127 normalized to 128 as '1' ++#define NR4_ALP0C_ERR2CURV_LIMIT0 (0x2dab) ++#define P_NR4_ALP0C_ERR2CURV_LIMIT0 (volatile unsigned int *)((0x2dab << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_snr2_alp0_minerr_cpar0 // unsigned , default = 0 threshold0 of curve to map mierr to alp0 for chroma channel, this will be set value of flat region mierr that no need blur. ++//Bit 23:16 reg_nr4_snr2_alp0_minerr_cpar1 // unsigned , default = 25 threshold1 of curve to map mierr to alp0 for chroma channel,this will be set value of texture region mierr that can not blur. ++//Bit 15: 8 reg_nr4_snr2_alp0_minerr_cpar5 // unsigned , default = 40 rate0 (for mierrth1) of curve to map mierr to alp0 for chroma channel. the larger of the value, the deep of the slope. 0~255. ++#define NR4_ALP0C_ERR2CURV_LIMIT1 (0x2dac) ++#define P_NR4_ALP0C_ERR2CURV_LIMIT1 (volatile unsigned int *)((0x2dac << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_snr2_alp0_minerr_cpar2 // unsigned , default = 127 level limit(for mierrth1) of curve to map mierr to alp0 for chroma channel, that we can do for texture region. 0~255. ++#define NR4_ALP0Y_ERR2CURV_LIMIT0 (0x2dad) ++#define P_NR4_ALP0Y_ERR2CURV_LIMIT0 (volatile unsigned int *)((0x2dad << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_snr2_alp0_minerr_ypar0 // unsigned , default = 0 threshold0 of curve to map mierr to alp0 for luma channel, this will be set value of flat region mierr that no need blur. 0~255. ++//Bit 23:16 reg_nr4_snr2_alp0_minerr_ypar1 // unsigned , default = 25 threshold1 of curve to map mierr to alp0 for luma channel,this will be set value of texture region mierr that can not blur. ++//Bit 15: 8 reg_nr4_snr2_alp0_minerr_ypar5 // unsigned , default = 40 rate0 (for mierrth1) of curve to map mierr to alp0 for luma channel. the larger of the value, the deep of the slope. 0~255. ++#define NR4_ALP0Y_ERR2CURV_LIMIT1 (0x2dae) ++#define P_NR4_ALP0Y_ERR2CURV_LIMIT1 (volatile unsigned int *)((0x2dae << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_snr2_alp0_minerr_ypar2 // unsigned , default = 127 level limit(for mierrth1) of curve to map mierr to alp0 for luma channel, alp0 that we can do for texture region. 0~255. ++#define NR4_SNR_ALPA1_RATE_AND_OFST (0x2daf) ++#define P_NR4_SNR_ALPA1_RATE_AND_OFST (volatile unsigned int *)((0x2daf << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:18 reg_nr4_snr2_alp1_ycore_rate // unsigned , default = 0 normalized 64 as "1" ++//Bit 17:12 reg_nr4_snr2_alp1_ccore_rate // unsigned , default = 0 normalized 64 as "1" ++//Bit 11: 6 reg_nr4_snr2_alp1_ycore_ofst // signed , default = 3 normalized 64 as "1" ++//Bit 5: 0 reg_nr4_snr2_alp1_ccore_ofst // signed , default = 3 normalized 64 as "1" ++#define NR4_SNR_ALPHA1_MAX_MIN (0x2db0) ++#define P_NR4_SNR_ALPHA1_MAX_MIN (volatile unsigned int *)((0x2db0 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:18 reg_nr4_snr2_alp1_ymin // unsigned , default = 0 normalized to 64 as '1' ++//Bit 17:12 reg_nr4_snr2_alp1_ymax // unsigned , default = 63 normalized to 64 as '1' ++//Bit 11: 6 reg_nr4_snr2_alp1_cmin // unsigned , default = 0 normalized to 64 as '1' ++//Bit 5: 0 reg_nr4_snr2_alp1_cmax // unsigned , default = 63 normalized to 64 as '1' ++#define NR4_ALP1C_ERR2CURV_LIMIT0 (0x2db1) ++#define P_NR4_ALP1C_ERR2CURV_LIMIT0 (volatile unsigned int *)((0x2db1 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_snr2_alp1_minerr_cpar0 // unsigned , default = 0 annel, this will be set value of flat region mierr that no need directional NR. 0~255. ++//Bit 23:16 reg_nr4_snr2_alp1_minerr_cpar1 // unsigned , default = 24 hannel,this will be set value of texture region mierr that can not do directional NR. 0~255. ++//Bit 15: 8 reg_nr4_snr2_alp1_minerr_cpar5 // unsigned , default = 0 a/chroma channel. the larger of the value, the deep of the slope. ++//Bit 7: 0 reg_nr4_snr2_alp1_minerr_cpar6 // unsigned , default = 20 a/chroma channel. the larger of the value, the deep of the slope. 0~255 ++#define NR4_ALP1C_ERR2CURV_LIMIT1 (0x2db2) ++#define P_NR4_ALP1C_ERR2CURV_LIMIT1 (volatile unsigned int *)((0x2db2 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_snr2_alp1_minerr_cpar2 // unsigned , default = 0 will be set to alp1 that we can do for flat region. 0~255. ++//Bit 15: 8 reg_nr4_snr2_alp1_minerr_cpar3 // unsigned , default = 16 this will be set to alp1 that we can do for misc region. 0~255. ++//Bit 7: 0 reg_nr4_snr2_alp1_minerr_cpar4 // unsigned , default = 63 will be set to alp1 that we can do for texture region. 0~255.255 before ++#define NR4_ALP1Y_ERR2CURV_LIMIT0 (0x2db3) ++#define P_NR4_ALP1Y_ERR2CURV_LIMIT0 (volatile unsigned int *)((0x2db3 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_snr2_alp1_minerr_ypar0 // unsigned , default = 0 thra/chroma channel, this will be set value of flat region mierr that no need directional NR. 0~255. ++//Bit 23:16 reg_nr4_snr2_alp1_minerr_ypar1 // unsigned , default = 24 thra/chroma channel,this will be set value of texture region mierr that can not do directional NR. 0~255. ++//Bit 15: 8 reg_nr4_snr2_alp1_minerr_ypar5 // unsigned , default = 0 ratlp1 for luma/chroma channel. the larger of the value, the deep of the slope. ++//Bit 7: 0 reg_nr4_snr2_alp1_minerr_ypar6 // unsigned , default = 20 ratlp1 for luma/chroma channel. the larger of the value, the deep of the slope. 0~255 ++#define NR4_ALP1Y_ERR2CURV_LIMIT1 (0x2db4) ++#define P_NR4_ALP1Y_ERR2CURV_LIMIT1 (volatile unsigned int *)((0x2db4 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_snr2_alp1_minerr_ypar2 // unsigned , default = 0 lev to alp1 for luma/chroma channel, this will be set to alp1 that we can do for flat region. 0~255. ++//Bit 15: 8 reg_nr4_snr2_alp1_minerr_ypar3 // unsigned , default = 16 levierr to alp1 for luma/chroma channel, this will be set to alp1 that we can do for misc region. 0~255. ++//Bit 7: 0 reg_nr4_snr2_alp1_minerr_ypar4 // unsigned , default = 63 lev to alp1 for luma/chroma channel, this will be set to alp1 that we can do for texture region. 0~255.255 before ++//========== nr4_snr_regs register end ==========// ++//========== nr4_tnr_regs register begin ==========// ++#define NR4_MTN_CTRL (0x2db5) ++#define P_NR4_MTN_CTRL (volatile unsigned int *)((0x2db5 << 2) + 0xff900000) ++//Bit 31: 2 reserved ++//Bit 1 reg_nr4_mtn_ref_en // unsigned , default = 1 enable motion refinement, dft = 1 ++//Bit 0 reg_nr4_mtn_ref_bet_sel // unsigned , default = 0 beta selection mode for motion refinement, 0: beta1, 1: beta2, dft = 0 ++#define NR4_MTN_REF_PAR0 (0x2db6) ++#define P_NR4_MTN_REF_PAR0 (volatile unsigned int *)((0x2db6 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_mtn_ref_par0 // unsigned , default = 24 par0 for beta to gain, dft = ++//Bit 23:16 reg_nr4_mtn_ref_par1 // unsigned , default = 60 par1 for beta to gain, dft = ++//Bit 15: 8 reg_nr4_mtn_ref_par2 // unsigned , default = 4 par2 for beta to gain, dft = ++//Bit 7: 0 reg_nr4_mtn_ref_par3 // unsigned , default = 32 par3 for beta to gain, dft = ++#define NR4_MTN_REF_PAR1 (0x2db7) ++#define P_NR4_MTN_REF_PAR1 (volatile unsigned int *)((0x2db7 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_mtn_ref_par4 // unsigned , default = 128 par4 for beta to gain, dft = ++//Bit 15: 8 reg_nr4_mtn_ref_par5 // unsigned , default = 40 par5 for beta to gain, dft = ++//Bit 7: 0 reg_nr4_mtn_ref_par6 // unsigned , default = 20 par6 for beta to gain, dft = ++//========== nr4_tnr_regs register end ==========// ++//========== nr4_mcnr_regs register begin ==========// ++#define NR4_MCNR_LUMA_ENH_CTRL (0x2db8) ++#define P_NR4_MCNR_LUMA_ENH_CTRL (volatile unsigned int *)((0x2db8 << 2) + 0xff900000) ++//Bit 31: 4 reserved ++//Bit 3 reg_nr4_luma_plus_en // unsigned , default = 1 enable luma enhancement, dft = 1 ++//Bit 2 reg_nr4_luma_plus_wt_mode // unsigned , default = 1 luma weight calc mode, 0:sqrt(1+x^2), 1: 1+abs(x), dft = 0 ++//Bit 1: 0 reg_nr4_luma_plus_orient_mode // unsigned , default = 1 0: only use previous orient for pre and cur luma plus, 1: 0: only use current orient for pre and cur luma plus ++#define NR4_MCNR_LUMA_STAT_LIMTX (0x2db9) ++#define P_NR4_MCNR_LUMA_STAT_LIMTX (volatile unsigned int *)((0x2db9 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:16 reg_nr4_luma_plus_xst // unsigned , default = 8 start for luma plus statistic, dft = 8 ++//Bit 15:14 reserved ++//Bit 13: 0 reg_nr4_luma_plus_xed // unsigned , default = 711 end for luma plus statistic, dft = HSIZE-8-1; ++#define NR4_MCNR_LUMA_STAT_LIMTY (0x2dba) ++#define P_NR4_MCNR_LUMA_STAT_LIMTY (volatile unsigned int *)((0x2dba << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:16 reg_nr4_luma_plus_yst // unsigned , default = 8 start for luma plus statistic, dft = 8 ++//Bit 15:14 reserved ++//Bit 13: 0 reg_nr4_luma_plus_yed // unsigned , default = 231 end for luma plus statistic, dft = VSIZE-8-1 ++#define NR4_MCNR_LUMA_DIF_CALC (0x2dbb) ++#define P_NR4_MCNR_LUMA_DIF_CALC (volatile unsigned int *)((0x2dbb << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_nr4_luma_plus_ugain // unsigned , default = 8 U's gain for luma enhancement, 16 normalized as '1' ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_luma_plus_vgain // unsigned , default = 8 V's gain for luma enhancement, 16 normalized as '1' ++//Bit 15: 8 reg_nr4_luma_plus_ycor_thd // unsigned , default = 2 Y coring threshold for difference calc., dft = 0 ++//Bit 7: 0 reg_nr4_luma_plus_ccor_thd // unsigned , default = 0 C coring threshold for difference calc., dft = 0 ++#define NR4_MCNR_LUMAPRE_CAL_PRAM (0x2dbc) ++#define P_NR4_MCNR_LUMAPRE_CAL_PRAM (volatile unsigned int *)((0x2dbc << 2) + 0xff900000) ++//Bit 31:26 reserved ++//Bit 25:24 reg_nr4_pre_u_orient // signed , default = 0 orientation of previous U, initial to 0, and will be updated by software ++//Bit 23:18 reserved ++//Bit 17:16 reg_nr4_pre_v_orient // signed , default = 0 orientation of previous V, initial to 0, and will be updated by software ++//Bit 15: 8 reg_nr4_pre_u_mean // unsigned , default = 0 mean of previous U, initial to 0, and will be updated by software ++//Bit 7: 0 reg_nr4_pre_v_mean // unsigned , default = 0 mean of previousV, initial to 0, and will be updated by software ++#define NR4_MCNR_LUMACUR_CAL_PRAM (0x2dbd) ++#define P_NR4_MCNR_LUMACUR_CAL_PRAM (volatile unsigned int *)((0x2dbd << 2) + 0xff900000) ++//Bit 31:26 reserved ++//Bit 25:24 reg_nr4_cur_u_orient // signed , default = 0 orientation of current U, initial to 0, and will be updated by software ++//Bit 23:18 reserved ++//Bit 17:16 reg_nr4_cur_v_orient // signed , default = 0 orientation of current V, initial to 0, and will be updated by software ++//Bit 15: 8 reg_nr4_cur_u_mean // unsigned , default = 0 mean of current U, initial to 0, and will be updated by software ++//Bit 7: 0 reg_nr4_cur_v_mean // unsigned , default = 0 mean of current, initial to 0, and will be updated by software ++#define NR4_MCNR_MV_CTRL_REG (0x2dbe) ++#define P_NR4_MCNR_MV_CTRL_REG (volatile unsigned int *)((0x2dbe << 2) + 0xff900000) ++//Bit 31:14 reserved ++//Bit 13:12 reg_nr4_sad_bitw // unsigned , default = 2 sad bit width (8 + x) before clip to u8, dft = 1 ++//Bit 11: 4 reg_nr4_glb_gain // unsigned , default = 64 global gain calc. by software, 64 is normalized as '1' ++//Bit 3: 0 reg_nr4_mv_err_rsft // unsigned , default = 8 right shift for mv err calc., dft = 9 ++#define NR4_MCNR_MV_GAIN0 (0x2dbf) ++#define P_NR4_MCNR_MV_GAIN0 (volatile unsigned int *)((0x2dbf << 2) + 0xff900000) ++//Bit 31:28 reg_nr4_lftmvx_gain // unsigned , default = 1 left mvx gain for err calc., dft = 1 ++//Bit 27:24 reg_nr4_lftmvy_gain // unsigned , default = 1 left mvy gain for err calc., dft = 1 ++//Bit 23:20 reg_nr4_zmvx_gain // unsigned , default = 5 zero mvx gain for err calc., dft = 2 ++//Bit 19:16 reg_nr4_zmvy_gain // unsigned , default = 5 zero mvy gain for err calc., dft = 4 ++//Bit 15:12 reg_nr4_lmvx0_gain // unsigned , default = 2 line mvx0 gain for err calc., dft = 1 ++//Bit 11: 8 reg_nr4_lmvx1_gain // unsigned , default = 2 line mvx1 gain for err calc., dft = 1 ++//Bit 7: 4 reg_nr4_lmvy0_gain // unsigned , default = 2 line mvy0 gain for err calc., dft = 1 ++//Bit 3: 0 reg_nr4_lmvy1_gain // unsigned , default = 2 line mvy1 gain for err calc., dft = 1 ++#define NR4_MCNR_LMV_PARM (0x2dc0) ++#define P_NR4_MCNR_LMV_PARM (volatile unsigned int *)((0x2dc0 << 2) + 0xff900000) ++//Bit 31:28 reg_nr4_lmv_rt0 // unsigned , default = 3 ratio of max lmv ++//Bit 27:24 reg_nr4_lmv_rt1 // unsigned , default = 3 ratio of second max lmv ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_lmv_num_lmt0 // unsigned , default = 16 lmv0 least/limit number of (total number - zero_bin) ++//Bit 15:14 reserved ++//Bit 13: 8 reg_nr4_lmv_num_lmt1 // unsigned , default = 8 lmv1 least/limit number of (total number - zero_bin - max0) ++//Bit 7: 2 reserved ++//Bit 1: 0 reg_nr4_max_sad_rng // unsigned , default = 1 search range of max2 sad in small region, dft = 1 ++#define NR4_MCNR_ALP0_REG (0x2dc1) ++#define P_NR4_MCNR_ALP0_REG (volatile unsigned int *)((0x2dc1 << 2) + 0xff900000) ++//Bit 31:26 reserved ++//Bit 25 reg_nr4_alp0_fail_chk // unsigned , default = 1 enable check for alp0 fail status ++//Bit 24 reg_nr4_bet0_coef_ref_en // unsigned , default = 1 bet1 refinement by coef_blt ++//Bit 23:16 reg_nr4_alp0_posad_gain // unsigned , default = 255 the sad (norm) gain for pixel pointed by MV; ++//Bit 15:10 reserved ++//Bit 9: 8 reg_nr4_alp0_norm_mode // unsigned , default = 0 alp0 select sad norm mode, 0: disable, 1: enable dc norm, 2: enable ac norm, 3: enable both (dc/ac) norm, dft = 3 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_alp0_norm_gain // unsigned , default = 16 alp0 gain for sad norm, '32' as '1', dft = 1 ++#define NR4_MCNR_ALP1_AND_BET0_REG (0x2dc2) ++#define P_NR4_MCNR_ALP1_AND_BET0_REG (volatile unsigned int *)((0x2dc2 << 2) + 0xff900000) ++//Bit 31:26 reserved ++//Bit 25:24 reg_nr4_alp1_norm_mode // unsigned , default = 3 alp1 select sad norm mode, 0: disable, 1: enable dc norm, 2: enable ac norm, 3: enable both (dc/ac) norm, dft = 3 ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_alp1_norm_gain // unsigned , default = 3 alp1 gain for sad norm, '32' as '1', dft = 1 ++//Bit 15:10 reserved ++//Bit 9: 8 reg_nr4_bet0_norm_mode // unsigned , default = 3 bet0 select sad norm mode, 0: disable, 1: enable dc norm, 2: enable ac norm, 3: enable both (dc/ac) norm, dft = 3 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_bet0_norm_gain // unsigned , default = 8 bet0 gain for sad norm, '32' as '1', dft = 1 ++#define NR4_MCNR_BET1_AND_BET2_REG (0x2dc3) ++#define P_NR4_MCNR_BET1_AND_BET2_REG (volatile unsigned int *)((0x2dc3 << 2) + 0xff900000) ++//Bit 31:26 reserved ++//Bit 25:24 reg_nr4_bet1_norm_mode // unsigned , default = 3 bet1 select sad norm mode, 0: disable, 1: enable dc norm, 2: enable ac norm, 3: enable both (dc/ac) norm, dft = 3 ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_bet1_norm_gain // unsigned , default = 8 bet1 gain for sad norm, '32' as '1', dft = 1 ++//Bit 15:10 reserved ++//Bit 9: 8 reg_nr4_bet2_norm_mode // unsigned , default = 0 bet2 select sad norm mode, 0: disable, 1: enable dc norm, 2: enable ac norm, 3: enable both (dc/ac) norm, dft = 3 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_bet2_norm_gain // unsigned , default = 16 bet2 gain for sad norm, '32' as '1', dft = 1 ++#define NR4_MCNR_AC_DC_CRTL (0x2dc4) ++#define P_NR4_MCNR_AC_DC_CRTL (volatile unsigned int *)((0x2dc4 << 2) + 0xff900000) ++//Bit 31:16 reserved ++//Bit 15:12 reserved ++//Bit 11 reg_nr4_dc_mode // unsigned , default = 1 mode for dc selection,0: Y_lpf, 1: Y_lpf + (U_Lpf+V_lpf)/2, ++//Bit 10 reg_nr4_ac_mode // unsigned , default = 1 mode for ac selection, 0: Y_abs_dif, 1: Y_abs_dif + (U_abs_dif + V_abs_dif)/2 ++//Bit 9 reg_nr4_dc_sel // unsigned , default = 0 selection mode for dc value, 0: 3x5, 1: 5x5, dft = 1 ++//Bit 8 reg_nr4_ac_sel // unsigned , default = 0 selection mode for ac value, 0: 3x5, 1: 5x5, dft = 1 ++//Bit 7 reserved ++//Bit 6: 4 reg_nr4_dc_shft // unsigned , default = 2 right shift for dc value, dft = 2 ++//Bit 3 reserved ++//Bit 2: 0 reg_nr4_ac_shft // unsigned , default = 0 right shift for ac value, dft = 2 ++#define NR4_MCNR_CM_CTRL0 (0x2dc5) ++#define P_NR4_MCNR_CM_CTRL0 (volatile unsigned int *)((0x2dc5 << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28 reg_nr4_cm_skin_prc_bet0 // unsigned , default = 0 enable skin tone processing for mcnr bet0 calc., dft = 1 ++//Bit 27:26 reg_nr4_cm_chrm_sel // unsigned , default = 1 chrome selection for color match, 0: 1x1, 1: 3X3LPF, 2: 3x5LPF, 3: 5x5LPF for 5lines, 3x5LPF for 3lines, dft = 3 ++//Bit 25:24 reg_nr4_cm_luma_sel // unsigned , default = 1 luma selection for color match, 0: 1x1, 1: 3X3LPF, 2: 3x5LPF, 3: 5x5LPF for 5lines, 3x5LPF for 3lines, dft = 3 ++//Bit 23:21 reg_nr4_cm_skin_rshft_bet0 // unsigned , default = 3 right shift for bet0's skin color gains, dft = 3 ++//Bit 20 reg_nr4_cm_var_sel // unsigned , default = 1 variation selection for color match, 0: 3x5, 1: 5x5 for 5lines, 3x5 for 3lines, dft = 1 ++//Bit 19 reg_nr4_cm_green_prc_bet0 // unsigned , default = 1 enable green processing for mcnr bet0 calc., dft = 1 ++//Bit 18:16 reg_nr4_cm_green_rshft_bet0 // unsigned , default = 4 right shift for bet0's green color gains, dft = 4 ++//Bit 15:14 reg_nr4_preflt_mod // unsigned , default = 2 pre filter mode in mcnr, 0: mv pointed pixel, 1: bilater filter ++//Bit 13:12 reg_nr4_alp1_mode // unsigned , default = 1 mode for alpha1's sad selection, 0: max sad, 1: three min sads, 2: min sad, 3: co sad ++//Bit 11:10 reserved ++//Bit 9: 8 reg_nr4_bet0_mode // unsigned , default = 0 mode for bet0's sad selection, 0: max sad, 1: three min sads, 2: min sad, 3: co sad, else: (co sad) - (min sad) ++//Bit 7: 6 reserved ++//Bit 5: 4 reg_nr4_bet1_mode // unsigned , default = 2 mode for bet1's sad selection, 0: max sad, 1: three min sads, 2: min sad, 3: co sad, else: (co sad) - (min sad) ++//Bit 3: 2 reserved ++//Bit 1: 0 reg_nr4_bet2_mode // unsigned , default = 1 mode for bet2's sad selection, 0: max sad, 1: three min sads, 2: min sad, 3: co sad, else: (co sad) - (min sad) ++#define NR4_MCNR_CM_PRAM (0x2dc6) ++#define P_NR4_MCNR_CM_PRAM (volatile unsigned int *)((0x2dc6 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29 reg_nr4_cm_blue_prc_alp0 // unsigned , default = 1 enable blue processing for mcnr alpha0 calc., dft = 1 ++//Bit 28 reg_nr4_cm_blue_prc_alp1 // unsigned , default = 1 enable blue processing for mcnr alpha1 calc., dft = 1 ++//Bit 27 reg_nr4_cm_skin_prc_alp0 // unsigned , default = 1 enable skin tone processing for mcnr alpha0 calc., dft = 1 ++//Bit 26 reg_nr4_cm_green_prc_alp0 // unsigned , default = 1 enable green processing for mcnr alpha0 clac., dft = 1 ++//Bit 25 reg_nr4_cm_skin_prc_alp1 // unsigned , default = 1 enable skin tone processing for mcnr alpha0 calc., dft = 1 ++//Bit 24 reg_nr4_cm_green_prc_alp1 // unsigned , default = 1 enable green processing for mcnr alpha1 clac., dft = 1 ++//Bit 23:20 reg_nr4_cm_blue_hue_st // unsigned , default = 13 hue start of blue, dft = ++//Bit 19:16 reg_nr4_cm_blue_hue_ed // unsigned , default = 15 hue end of blue, dft = ++//Bit 15:12 reg_nr4_cm_green_hue_st // unsigned , default = 7 hue start of green, dft = ++//Bit 11: 8 reg_nr4_cm_green_hue_ed // unsigned , default = 10 hue end of green, dft = ++//Bit 7: 4 reg_nr4_cm_skin_hue_st // unsigned , default = 5 hue start of skin, dft = ++//Bit 3: 0 reg_nr4_cm_skin_hue_ed // unsigned , default = 6 hue end of skin, dft = ++#define NR4_MCNR_CM_RSHFT_ALP0 (0x2dc7) ++#define P_NR4_MCNR_CM_RSHFT_ALP0 (volatile unsigned int *)((0x2dc7 << 2) + 0xff900000) ++//Bit 31:28 reserved ++//Bit 27:25 reg_nr4_cm_blue_rshft_bet0 // unsigned , default = 5 right shift for bet0's blue color gains, dft = 5 ++//Bit 24 reg_nr4_cm_blue_prc_bet0 // unsigned , default = 1 enable blue processing for mcnr bet0 calc., dft = 1 ++//Bit 23 reserved ++//Bit 22:20 reg_nr4_cm_blue_rshft_alp0 // unsigned , default = 5 right shift for alpha0/1's blue color gains, dft = 5 ++//Bit 19 reserved ++//Bit 18:16 reg_nr4_cm_blue_rshft_alp1 // unsigned , default = 5 right shift for alpha0/1's blue color gains, dft = 5 ++//Bit 15 reserved ++//Bit 14:12 reg_nr4_cm_green_rshft_alp0 // unsigned , default = 4 right shift for alpha0/1's green color gains, dft = 4 ++//Bit 11 reserved ++//Bit 10: 8 reg_nr4_cm_green_rshft_alp1 // unsigned , default = 4 right shift for alpha0/1's green color gains, dft = 4 ++//Bit 7 reserved ++//Bit 6: 4 reg_nr4_cm_skin_rshft_alp0 // unsigned , default = 3 right shift for alpha0/1's skin color gains, dft = 3 ++//Bit 3 reserved ++//Bit 2: 0 reg_nr4_cm_skin_rshft_alp1 // unsigned , default = 3 right shift for alpha0/1's skin color gains, dft = 3 ++#define NR4_MCNR_BLUE_CENT (0x2dc8) ++#define P_NR4_MCNR_BLUE_CENT (volatile unsigned int *)((0x2dc8 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_cm_blue_centx // unsigned , default = 157 x coordinate of center of blue, dft = ++//Bit 15: 8 reserved ++//Bit 7: 0 reg_nr4_cm_blue_centy // unsigned , default = 110 y coordinate of center of blue, dft = ++#define NR4_MCNR_BLUE_GAIN_PAR0 (0x2dc9) ++#define P_NR4_MCNR_BLUE_GAIN_PAR0 (volatile unsigned int *)((0x2dc9 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_cm_blue_gain_par0 // unsigned , default = 32 par0 for blue gain, dft = ++//Bit 23:16 reg_nr4_cm_blue_gain_par1 // unsigned , default = 255 par1 for blue gain, dft = ++//Bit 15: 8 reg_nr4_cm_blue_gain_par2 // unsigned , default = 4 par2 for blue gain, dft = ++//Bit 7: 0 reg_nr4_cm_blue_gain_par3 // unsigned , default = 32 par3 for blue gain, dft = ++#define NR4_MCNR_BLUE_GAIN_PAR1 (0x2dca) ++#define P_NR4_MCNR_BLUE_GAIN_PAR1 (volatile unsigned int *)((0x2dca << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_cm_blue_gain_par4 // unsigned , default = 32 par4 for blue gain, dft = ++//Bit 15: 8 reg_nr4_cm_blue_gain_par5 // unsigned , default = 32 par5 for blue gain, dft = ++//Bit 7: 0 reg_nr4_cm_blue_gain_par6 // unsigned , default = 0 par6 for blue gain, dft = ++#define NR4_MCNR_CM_BLUE_CLIP0 (0x2dcb) ++#define P_NR4_MCNR_CM_BLUE_CLIP0 (volatile unsigned int *)((0x2dcb << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_cm_blue_luma_min // unsigned , default = 40 luma min for blue color matching, dft = ++//Bit 15: 8 reserved ++//Bit 7: 0 reg_nr4_cm_blue_luma_max // unsigned , default = 180 luma max for blue color matching, dft = ++#define NR4_MCNR_CM_BLUE_CLIP1 (0x2dcc) ++#define P_NR4_MCNR_CM_BLUE_CLIP1 (volatile unsigned int *)((0x2dcc << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_cm_blue_sat_min // unsigned , default = 5 saturation min for blue color matching, dft = ++//Bit 23:16 reg_nr4_cm_blue_sat_max // unsigned , default = 255 saturation max for blue color matching, dft = ++//Bit 15: 8 reg_nr4_cm_blue_var_min // unsigned , default = 0 variation min for blue color matching, dft = ++//Bit 7: 0 reg_nr4_cm_blue_var_max // unsigned , default = 12 variation max for blue color matching, dft = ++#define NR4_MCNR_GREEN_CENT (0x2dcd) ++#define P_NR4_MCNR_GREEN_CENT (volatile unsigned int *)((0x2dcd << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_cm_green_centx // unsigned , default = 114 x coordinate of center of green, dft = ++//Bit 15: 8 reserved ++//Bit 7: 0 reg_nr4_cm_green_centy // unsigned , default = 126 y coordinate of center of green, dft = ++#define NR4_MCNR_GREEN_GAIN_PAR0 (0x2dce) ++#define P_NR4_MCNR_GREEN_GAIN_PAR0 (volatile unsigned int *)((0x2dce << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_cm_green_gain_par0 // unsigned , default = 16 par0 for green gain, dft = ++//Bit 23:16 reg_nr4_cm_green_gain_par1 // unsigned , default = 255 par1 for green gain, dft = ++//Bit 15: 8 reg_nr4_cm_green_gain_par2 // unsigned , default = 255 par2 for green gain, dft = ++//Bit 7: 0 reg_nr4_cm_green_gain_par3 // unsigned , default = 16 par3 for green gain, dft = ++#define NR4_MCNR_GREEN_GAIN_PAR1 (0x2dcf) ++#define P_NR4_MCNR_GREEN_GAIN_PAR1 (volatile unsigned int *)((0x2dcf << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_cm_green_gain_par4 // unsigned , default = 16 par4 for green gain, dft = ++//Bit 15: 8 reg_nr4_cm_green_gain_par5 // unsigned , default = 128 par5 for green gain, dft = ++//Bit 7: 0 reg_nr4_cm_green_gain_par6 // unsigned , default = 0 par6 for green gain, dft = ++#define NR4_MCNR_GREEN_CLIP0 (0x2dd0) ++#define P_NR4_MCNR_GREEN_CLIP0 (volatile unsigned int *)((0x2dd0 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_cm_green_luma_min // unsigned , default = 40 luma min for green color matching, dft = ++//Bit 15: 8 reserved ++//Bit 7: 0 reg_nr4_cm_green_luma_max // unsigned , default = 160 luma max for green color matching, dft = ++#define NR4_MCNR_GREEN_CLIP2 (0x2dd1) ++#define P_NR4_MCNR_GREEN_CLIP2 (volatile unsigned int *)((0x2dd1 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_cm_green_sat_min // unsigned , default = 4 saturation min for green color matching, dft = ++//Bit 23:16 reg_nr4_cm_green_sat_max // unsigned , default = 255 saturation max for green color matching, dft = ++//Bit 15: 8 reg_nr4_cm_green_var_min // unsigned , default = 0 variation min for green color matching, dft = ++//Bit 7: 0 reg_nr4_cm_green_var_max // unsigned , default = 12 variation max for green color matching, dft = ++#define NR4_MCNR_SKIN_CENT (0x2dd2) ++#define P_NR4_MCNR_SKIN_CENT (volatile unsigned int *)((0x2dd2 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_cm_skin_centx // unsigned , default = 112 x coordinate of center of skin tone, dft = ++//Bit 15: 8 reserved ++//Bit 7: 0 reg_nr4_cm_skin_centy // unsigned , default = 149 y coordinate of center of skin tone, dft = ++#define NR4_MCNR_SKIN_GAIN_PAR0 (0x2dd3) ++#define P_NR4_MCNR_SKIN_GAIN_PAR0 (volatile unsigned int *)((0x2dd3 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_cm_skin_gain_par0 // unsigned , default = 20 par0 for skin gain, dft = ++//Bit 23:16 reg_nr4_cm_skin_gain_par1 // unsigned , default = 255 par1 for skin gain, dft = ++//Bit 15: 8 reg_nr4_cm_skin_gain_par2 // unsigned , default = 255 par2 for skin gain, dft = ++//Bit 7: 0 reg_nr4_cm_skin_gain_par3 // unsigned , default = 8 par3 for skin gain, dft = ++#define NR4_MCNR_SKIN_GAIN_PAR1 (0x2dd4) ++#define P_NR4_MCNR_SKIN_GAIN_PAR1 (volatile unsigned int *)((0x2dd4 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_cm_skin_gain_par4 // unsigned , default = 8 par4 for skin gain, dft = ++//Bit 15: 8 reg_nr4_cm_skin_gain_par5 // unsigned , default = 128 par5 for skin gain, dft = ++//Bit 7: 0 reg_nr4_cm_skin_gain_par6 // unsigned , default = 0 par6 for skin gain, dft = ++#define NR4_MCNR_SKIN_CLIP0 (0x2dd5) ++#define P_NR4_MCNR_SKIN_CLIP0 (volatile unsigned int *)((0x2dd5 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_cm_skin_luma_min // unsigned , default = 40 luma min for skin color matching, dft = ++//Bit 15: 8 reserved ++//Bit 7: 0 reg_nr4_cm_skin_luma_max // unsigned , default = 180 luma max for skin color matching, dft = ++#define NR4_MCNR_SKIN_CLIP1 (0x2dd6) ++#define P_NR4_MCNR_SKIN_CLIP1 (volatile unsigned int *)((0x2dd6 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_cm_skin_sat_min // unsigned , default = 5 saturation min for skin color matching, dft = ++//Bit 23:16 reg_nr4_cm_skin_sat_max // unsigned , default = 255 saturation max for skin color matching, dft = ++//Bit 15: 8 reg_nr4_cm_skin_var_min // unsigned , default = 0 variation min for skin color matching, dft = ++//Bit 7: 0 reg_nr4_cm_skin_var_max // unsigned , default = 12 variation max for skin color matching, dft = ++#define NR4_MCNR_ALP1_GLB_CTRL (0x2dd7) ++#define P_NR4_MCNR_ALP1_GLB_CTRL (volatile unsigned int *)((0x2dd7 << 2) + 0xff900000) ++//Bit 31 reg_nr4_alp1_glb_gain_en // unsigned , default = 0 alp1 adjust by global gain, dft = 1 ++//Bit 30:28 reg_nr4_alp1_glb_gain_lsft // unsigned , default = 6 alp1 left shift before combine with global gain ++//Bit 27 reg_nr4_bet0_glb_gain_en // unsigned , default = 1 bet0 adjust by global gain, dft = 1 ++//Bit 26:24 reg_nr4_bet0_glb_gain_lsft // unsigned , default = 6 bet1 left shift before combine with global gain ++//Bit 23 reg_nr4_bet1_glb_gain_en // unsigned , default = 0 bet1 adjust by global gain, dft = 0 ++//Bit 22:20 reg_nr4_bet1_glb_gain_lsft // unsigned , default = 6 bet1 left shift before combine with global gain ++//Bit 19 reg_nr4_bet2_glb_gain_en // unsigned , default = 1 bet2 adjust by global gain, dft = 1 ++//Bit 18:16 reg_nr4_bet2_glb_gain_lsft // unsigned , default = 6 bet2 left shift before combine with global gain ++//Bit 15 reg_nr4_alp1_ac_en // unsigned , default = 1 alp1 adjust by ac, dft = 1 ++//Bit 14:12 reg_nr4_alp1_ac_lsft // unsigned , default = 5 alp1 left shift before combine with ac ++//Bit 11 reg_nr4_bet0_ac_en // unsigned , default = 0 bet0 adjust by ac, dft = 1 ++//Bit 10: 8 reg_nr4_bet0_ac_lsft // unsigned , default = 5 bet0 left shift before combine with ac ++//Bit 7 reg_nr4_bet1_ac_en // unsigned , default = 0 bet1 adjust by ac, dft = 1 ++//Bit 6: 4 reg_nr4_bet1_ac_lsft // unsigned , default = 5 bet1 left shift before combine with ac ++//Bit 3 reg_nr4_bet2_ac_en // unsigned , default = 0 bet2 adjust by ac, dft = 1 ++//Bit 2: 0 reg_nr4_bet2_ac_lsft // unsigned , default = 5 bet2 left shift before combine with ac ++#define NR4_MCNR_DC2NORM_LUT0 (0x2dd8) ++#define P_NR4_MCNR_DC2NORM_LUT0 (volatile unsigned int *)((0x2dd8 << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28:24 reg_nr4_dc2norm_lut0 // unsigned , default = 16 normal 0~16, dc to norm for alpha adjust, dft = ++//Bit 23:21 reserved ++//Bit 20:16 reg_nr4_dc2norm_lut1 // unsigned , default = 16 normal 0~16, dc to norm for alpha adjust, dft = ++//Bit 15:13 reserved ++//Bit 12: 8 reg_nr4_dc2norm_lut2 // unsigned , default = 16 normal 0~16, dc to norm for alpha adjust, dft = ++//Bit 7: 5 reserved ++//Bit 4: 0 reg_nr4_dc2norm_lut3 // unsigned , default = 16 normal 0~16, dc to norm for alpha adjust, dft = ++#define NR4_MCNR_DC2NORM_LUT1 (0x2dd9) ++#define P_NR4_MCNR_DC2NORM_LUT1 (volatile unsigned int *)((0x2dd9 << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28:24 reg_nr4_dc2norm_lut4 // unsigned , default = 16 normal 0~16, dc to norm for alpha adjust, dft = ++//Bit 23:21 reserved ++//Bit 20:16 reg_nr4_dc2norm_lut5 // unsigned , default = 16 normal 0~16, dc to norm for alpha adjust, dft = ++//Bit 15:13 reserved ++//Bit 12: 8 reg_nr4_dc2norm_lut6 // unsigned , default = 16 normal 0~16, dc to norm for alpha adjust, dft = ++//Bit 7: 5 reserved ++//Bit 4: 0 reg_nr4_dc2norm_lut7 // unsigned , default = 12 normal 0~16, dc to norm for alpha adjust, dft = ++#define NR4_MCNR_DC2NORM_LUT2 (0x2dda) ++#define P_NR4_MCNR_DC2NORM_LUT2 (volatile unsigned int *)((0x2dda << 2) + 0xff900000) ++//Bit 31: 5 reserved ++//Bit 4: 0 reg_nr4_dc2norm_lut8 // unsigned , default = 8 normal 0~16, dc to norm for alpha adjust, dft = ++#define NR4_MCNR_AC2NORM_LUT0 (0x2ddb) ++#define P_NR4_MCNR_AC2NORM_LUT0 (volatile unsigned int *)((0x2ddb << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28:24 reg_nr4_ac2norm_lut0 // unsigned , default = 2 normal 0~16, ac to norm for alpha adjust, dft = ++//Bit 23:21 reserved ++//Bit 20:16 reg_nr4_ac2norm_lut1 // unsigned , default = 16 normal 0~16, ac to norm for alpha adjust, dft = ++//Bit 15:13 reserved ++//Bit 12: 8 reg_nr4_ac2norm_lut2 // unsigned , default = 16 normal 0~16, ac to norm for alpha adjust, dft = ++//Bit 7: 5 reserved ++//Bit 4: 0 reg_nr4_ac2norm_lut3 // unsigned , default = 12 normal 0~16, ac to norm for alpha adjust, dft = ++#define NR4_MCNR_AC2NORM_LUT1 (0x2ddc) ++#define P_NR4_MCNR_AC2NORM_LUT1 (volatile unsigned int *)((0x2ddc << 2) + 0xff900000) ++//Bit 31:29 reserved ++//Bit 28:24 reg_nr4_ac2norm_lut4 // unsigned , default = 4 normal 0~16, ac to norm for alpha adjust, dft = ++//Bit 23:21 reserved ++//Bit 20:16 reg_nr4_ac2norm_lut5 // unsigned , default = 2 normal 0~16, ac to norm for alpha adjust, dft = ++//Bit 15:13 reserved ++//Bit 12: 8 reg_nr4_ac2norm_lut6 // unsigned , default = 1 normal 0~16, ac to norm for alpha adjust, dft = ++//Bit 7: 5 reserved ++//Bit 4: 0 reg_nr4_ac2norm_lut7 // unsigned , default = 1 normal 0~16, ac to norm for alpha adjust, dft = ++#define NR4_MCNR_AC2NORM_LUT2 (0x2ddd) ++#define P_NR4_MCNR_AC2NORM_LUT2 (volatile unsigned int *)((0x2ddd << 2) + 0xff900000) ++//Bit 31: 5 reserved ++//Bit 4: 0 reg_nr4_ac2norm_lut8 // unsigned , default = 1 normal 0~16, ac to norm for alpha adjust, dft = ++#define NR4_MCNR_SAD2ALP0_LUT0 (0x2dde) ++#define P_NR4_MCNR_SAD2ALP0_LUT0 (volatile unsigned int *)((0x2dde << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2alp0_lut0 // unsigned , default = 255 sad to alpha0 for temporal pixel value, dft = 255 ++//Bit 23:16 reg_nr4_sad2alp0_lut1 // unsigned , default = 252 sad to alpha0 for temporal pixel value, dft = 252 ++//Bit 15: 8 reg_nr4_sad2alp0_lut2 // unsigned , default = 249 sad to alpha0 for temporal pixel value, dft = 249 ++//Bit 7: 0 reg_nr4_sad2alp0_lut3 // unsigned , default = 235 sad to alpha0 for temporal pixel value, dft = 70 ++#define NR4_MCNR_SAD2ALP0_LUT1 (0x2ddf) ++#define P_NR4_MCNR_SAD2ALP0_LUT1 (volatile unsigned int *)((0x2ddf << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2alp0_lut4 // unsigned , default = 185 sad to alpha0 for temporal pixel value, dft = 12 ++//Bit 23:16 reg_nr4_sad2alp0_lut5 // unsigned , default = 70 sad to alpha0 for temporal pixel value, dft = 1 ++//Bit 15: 8 reg_nr4_sad2alp0_lut6 // unsigned , default = 14 sad to alpha0 for temporal pixel value, dft = 0 ++//Bit 7: 0 reg_nr4_sad2alp0_lut7 // unsigned , default = 1 sad to alpha0 for temporal pixel value, dft = 0 ++#define NR4_MCNR_SAD2ALP0_LUT2 (0x2de0) ++#define P_NR4_MCNR_SAD2ALP0_LUT2 (volatile unsigned int *)((0x2de0 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2alp0_lut8 // unsigned , default = 0 sad to alpha0 for temporal pixel value, dft = 0 ++//Bit 23:16 reg_nr4_sad2alp0_lut9 // unsigned , default = 0 sad to alpha0 for temporal pixel value, dft = 0 ++//Bit 15: 8 reg_nr4_sad2alp0_lut10 // unsigned , default = 0 sad to alpha0 for temporal pixel value, dft = 0 ++//Bit 7: 0 reg_nr4_sad2alp0_lut11 // unsigned , default = 0 sad to alpha0 for temporal pixel value, dft = 0 ++#define NR4_MCNR_SAD2ALP0_LUT3 (0x2de1) ++#define P_NR4_MCNR_SAD2ALP0_LUT3 (volatile unsigned int *)((0x2de1 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2alp0_lut12 // unsigned , default = 0 sad to alpha0 for temporal pixel value, dft = 0 ++//Bit 23:16 reg_nr4_sad2alp0_lut13 // unsigned , default = 0 sad to alpha0 for temporal pixel value, dft = 0 ++//Bit 15: 8 reg_nr4_sad2alp0_lut14 // unsigned , default = 0 sad to alpha0 for temporal pixel value, dft = 0 ++//Bit 7: 0 reg_nr4_sad2alp0_lut15 // unsigned , default = 0 sad to alpha0 for temporal pixel value, dft = 0 ++#define NR4_MCNR_SAD2ALP1_LUT0 (0x2de2) ++#define P_NR4_MCNR_SAD2ALP1_LUT0 (volatile unsigned int *)((0x2de2 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2alp1_lut0 // unsigned , default = 192 sad to alpha1 for temporal blending, dft = 128 ++//Bit 23:16 reg_nr4_sad2alp1_lut1 // unsigned , default = 160 sad to alpha1 for temporal blending, dft = 128 ++//Bit 15: 8 reg_nr4_sad2alp1_lut2 // unsigned , default = 128 sad to alpha1 for temporal blending, dft = 128 ++//Bit 7: 0 reg_nr4_sad2alp1_lut3 // unsigned , default = 96 sad to alpha1 for temporal blending, dft = 64 ++#define NR4_MCNR_SAD2ALP1_LUT1 (0x2de3) ++#define P_NR4_MCNR_SAD2ALP1_LUT1 (volatile unsigned int *)((0x2de3 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2alp1_lut4 // unsigned , default = 64 sad to alpha1 for temporal blending, dft = 64 ++//Bit 23:16 reg_nr4_sad2alp1_lut5 // unsigned , default = 32 sad to alpha1 for temporal blending, dft = 128 ++//Bit 15: 8 reg_nr4_sad2alp1_lut6 // unsigned , default = 16 sad to alpha1 for temporal blending, dft = 255 ++//Bit 7: 0 reg_nr4_sad2alp1_lut7 // unsigned , default = 8 sad to alpha1 for temporal blending, dft = 255 ++#define NR4_MCNR_SAD2ALP1_LUT2 (0x2de4) ++#define P_NR4_MCNR_SAD2ALP1_LUT2 (volatile unsigned int *)((0x2de4 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2alp1_lut8 // unsigned , default = 4 sad to alpha1 for temporal blending, dft = 255 ++//Bit 23:16 reg_nr4_sad2alp1_lut9 // unsigned , default = 0 sad to alpha1 for temporal blending, dft = 255 ++//Bit 15: 8 reg_nr4_sad2alp1_lut10 // unsigned , default = 16 sad to alpha1 for temporal blending, dft = 255 ++//Bit 7: 0 reg_nr4_sad2alp1_lut11 // unsigned , default = 64 sad to alpha1 for temporal blending, dft = 255 ++#define NR4_MCNR_SAD2ALP1_LUT3 (0x2de5) ++#define P_NR4_MCNR_SAD2ALP1_LUT3 (volatile unsigned int *)((0x2de5 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2alp1_lut12 // unsigned , default = 96 sad to alpha1 for temporal blending, dft = 255 ++//Bit 23:16 reg_nr4_sad2alp1_lut13 // unsigned , default = 224 sad to alpha1 for temporal blending, dft = 255 ++//Bit 15: 8 reg_nr4_sad2alp1_lut14 // unsigned , default = 255 sad to alpha1 for temporal blending, dft = 255 ++//Bit 7: 0 reg_nr4_sad2alp1_lut15 // unsigned , default = 255 sad to alpha1 for temporal blending, dft = 255 ++#define NR4_MCNR_SAD2BET0_LUT0 (0x2de6) ++#define P_NR4_MCNR_SAD2BET0_LUT0 (volatile unsigned int *)((0x2de6 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet0_lut0 // unsigned , default = 0 sad to beta0 for tnr and mcnr blending, dft = 0 ++//Bit 23:16 reg_nr4_sad2bet0_lut1 // unsigned , default = 2 sad to beta0 for tnr and mcnr blending, dft = 2 ++//Bit 15: 8 reg_nr4_sad2bet0_lut2 // unsigned , default = 4 sad to beta0 for tnr and mcnr blending, dft = 4 ++//Bit 7: 0 reg_nr4_sad2bet0_lut3 // unsigned , default = 8 sad to beta0 for tnr and mcnr blending, dft = 8 ++#define NR4_MCNR_SAD2BET0_LUT1 (0x2de7) ++#define P_NR4_MCNR_SAD2BET0_LUT1 (volatile unsigned int *)((0x2de7 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet0_lut4 // unsigned , default = 16 sad to beta0 for tnr and mcnr blending, dft = 16 ++//Bit 23:16 reg_nr4_sad2bet0_lut5 // unsigned , default = 32 sad to beta0 for tnr and mcnr blending, dft = 32 ++//Bit 15: 8 reg_nr4_sad2bet0_lut6 // unsigned , default = 48 sad to beta0 for tnr and mcnr blending, dft = 48 ++//Bit 7: 0 reg_nr4_sad2bet0_lut7 // unsigned , default = 64 sad to beta0 for tnr and mcnr blending, dft = 64 ++#define NR4_MCNR_SAD2BET0_LUT2 (0x2de8) ++#define P_NR4_MCNR_SAD2BET0_LUT2 (volatile unsigned int *)((0x2de8 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet0_lut8 // unsigned , default = 80 sad to beta0 for tnr and mcnr blending, dft = 80 ++//Bit 23:16 reg_nr4_sad2bet0_lut9 // unsigned , default = 96 sad to beta0 for tnr and mcnr blending, dft = 96 ++//Bit 15: 8 reg_nr4_sad2bet0_lut10 // unsigned , default = 112 sad to beta0 for tnr and mcnr blending, dft = 112 ++//Bit 7: 0 reg_nr4_sad2bet0_lut11 // unsigned , default = 128 sad to beta0 for tnr and mcnr blending, dft = 128 ++#define NR4_MCNR_SAD2BET0_LUT3 (0x2de9) ++#define P_NR4_MCNR_SAD2BET0_LUT3 (volatile unsigned int *)((0x2de9 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet0_lut12 // unsigned , default = 196 sad to beta0 for tnr and mcnr blending, dft = 160 ++//Bit 23:16 reg_nr4_sad2bet0_lut13 // unsigned , default = 224 sad to beta0 for tnr and mcnr blending, dft = 192 ++//Bit 15: 8 reg_nr4_sad2bet0_lut14 // unsigned , default = 255 sad to beta0 for tnr and mcnr blending, dft = 224 ++//Bit 7: 0 reg_nr4_sad2bet0_lut15 // unsigned , default = 255 sad to beta0 for tnr and mcnr blending, dft = 255 ++#define NR4_MCNR_SAD2BET1_LUT0 (0x2dea) ++#define P_NR4_MCNR_SAD2BET1_LUT0 (volatile unsigned int *)((0x2dea << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet1_lut0 // unsigned , default = 0 sad to beta1 for deghost blending, dft = 0 ++//Bit 23:16 reg_nr4_sad2bet1_lut1 // unsigned , default = 2 sad to beta1 for deghost blending, dft = 2 ++//Bit 15: 8 reg_nr4_sad2bet1_lut2 // unsigned , default = 4 sad to beta1 for deghost blending, dft = 4 ++//Bit 7: 0 reg_nr4_sad2bet1_lut3 // unsigned , default = 8 sad to beta1 for deghost blending, dft = 8 ++#define NR4_MCNR_SAD2BET1_LUT1 (0x2deb) ++#define P_NR4_MCNR_SAD2BET1_LUT1 (volatile unsigned int *)((0x2deb << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet1_lut4 // unsigned , default = 16 sad to beta1 for deghost blending, dft = 16 ++//Bit 23:16 reg_nr4_sad2bet1_lut5 // unsigned , default = 32 sad to beta1 for deghost blending, dft = 32 ++//Bit 15: 8 reg_nr4_sad2bet1_lut6 // unsigned , default = 48 sad to beta1 for deghost blending, dft = 48 ++//Bit 7: 0 reg_nr4_sad2bet1_lut7 // unsigned , default = 64 sad to beta1 for deghost blending, dft = 64 ++#define NR4_MCNR_SAD2BET1_LUT2 (0x2dec) ++#define P_NR4_MCNR_SAD2BET1_LUT2 (volatile unsigned int *)((0x2dec << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet1_lut8 // unsigned , default = 80 sad to beta1 for deghost blending, dft = 80 ++//Bit 23:16 reg_nr4_sad2bet1_lut9 // unsigned , default = 96 sad to beta1 for deghost blending, dft = 96 ++//Bit 15: 8 reg_nr4_sad2bet1_lut10 // unsigned , default = 112 sad to beta1 for deghost blending, dft = 112 ++//Bit 7: 0 reg_nr4_sad2bet1_lut11 // unsigned , default = 128 sad to beta1 for deghost blending, dft = 128 ++#define NR4_MCNR_SAD2BET1_LUT3 (0x2ded) ++#define P_NR4_MCNR_SAD2BET1_LUT3 (volatile unsigned int *)((0x2ded << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet1_lut12 // unsigned , default = 160 sad to beta1 for deghost blending, dft = 160 ++//Bit 23:16 reg_nr4_sad2bet1_lut13 // unsigned , default = 192 sad to beta1 for deghost blending, dft = 192 ++//Bit 15: 8 reg_nr4_sad2bet1_lut14 // unsigned , default = 224 sad to beta1 for deghost blending, dft = 224 ++//Bit 7: 0 reg_nr4_sad2bet1_lut15 // unsigned , default = 255 sad to beta1 for deghost blending, dft = 255 ++#define NR4_MCNR_SAD2BET2_LUT0 (0x2dee) ++#define P_NR4_MCNR_SAD2BET2_LUT0 (volatile unsigned int *)((0x2dee << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet2_lut0 // unsigned , default = 0 sad to beta2 for snr and mcnr blending, dft = 0 ++//Bit 23:16 reg_nr4_sad2bet2_lut1 // unsigned , default = 1 sad to beta2 for snr and mcnr blending, dft = 2 ++//Bit 15: 8 reg_nr4_sad2bet2_lut2 // unsigned , default = 2 sad to beta2 for snr and mcnr blending, dft = 4 ++//Bit 7: 0 reg_nr4_sad2bet2_lut3 // unsigned , default = 4 sad to beta2 for snr and mcnr blending, dft = 8 ++#define NR4_MCNR_SAD2BET2_LUT1 (0x2def) ++#define P_NR4_MCNR_SAD2BET2_LUT1 (volatile unsigned int *)((0x2def << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet2_lut4 // unsigned , default = 8 sad to beta2 for snr and mcnr blending, dft = 16 ++//Bit 23:16 reg_nr4_sad2bet2_lut5 // unsigned , default = 16 sad to beta2 for snr and mcnr blending, dft = 32 ++//Bit 15: 8 reg_nr4_sad2bet2_lut6 // unsigned , default = 32 sad to beta2 for snr and mcnr blending, dft = 48 ++//Bit 7: 0 reg_nr4_sad2bet2_lut7 // unsigned , default = 48 sad to beta2 for snr and mcnr blending, dft = 64 ++#define NR4_MCNR_SAD2BET2_LUT2 (0x2df0) ++#define P_NR4_MCNR_SAD2BET2_LUT2 (volatile unsigned int *)((0x2df0 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet2_lut8 // unsigned , default = 64 sad to beta2 for snr and mcnr blending, dft = 80 ++//Bit 23:16 reg_nr4_sad2bet2_lut9 // unsigned , default = 80 sad to beta2 for snr and mcnr blending, dft = 96 ++//Bit 15: 8 reg_nr4_sad2bet2_lut10 // unsigned , default = 96 sad to beta2 for snr and mcnr blending, dft = 112 ++//Bit 7: 0 reg_nr4_sad2bet2_lut11 // unsigned , default = 112 sad to beta2 for snr and mcnr blending, dft = 128 ++#define NR4_MCNR_SAD2BET2_LUT3 (0x2df1) ++#define P_NR4_MCNR_SAD2BET2_LUT3 (volatile unsigned int *)((0x2df1 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_sad2bet2_lut12 // unsigned , default = 128 sad to beta2 for snr and mcnr blending, dft = 160 ++//Bit 23:16 reg_nr4_sad2bet2_lut13 // unsigned , default = 160 sad to beta2 for snr and mcnr blending, dft = 192 ++//Bit 15: 8 reg_nr4_sad2bet2_lut14 // unsigned , default = 224 sad to beta2 for snr and mcnr blending, dft = 224 ++//Bit 7: 0 reg_nr4_sad2bet2_lut15 // unsigned , default = 255 sad to beta2 for snr and mcnr blending, dft = 255 ++#define NR4_MCNR_RO_U_SUM (0x2df2) ++#define P_NR4_MCNR_RO_U_SUM (volatile unsigned int *)((0x2df2 << 2) + 0xff900000) ++//Bit 31: 0 ro_nr4_u_sum // unsigned , default = 0 sum of U of current field/frame ++#define NR4_MCNR_RO_V_SUM (0x2df3) ++#define P_NR4_MCNR_RO_V_SUM (volatile unsigned int *)((0x2df3 << 2) + 0xff900000) ++//Bit 31: 0 ro_nr4_v_sum // unsigned , default = 0 sum of V of current field/frame ++#define NR4_MCNR_RO_GRDU_SUM (0x2df4) ++#define P_NR4_MCNR_RO_GRDU_SUM (volatile unsigned int *)((0x2df4 << 2) + 0xff900000) ++//Bit 31: 0 ro_nr4_grdu_sum // unsigned , default = 0 sum of gradient U of current field/frame ++#define NR4_MCNR_RO_GRDV_SUM (0x2df5) ++#define P_NR4_MCNR_RO_GRDV_SUM (volatile unsigned int *)((0x2df5 << 2) + 0xff900000) ++//Bit 31: 0 ro_nr4_grdv_sum // unsigned , default = 0 sum of gradient V of current field/frame ++#define NR4_TOP_CTRL (0x2dff) ++#define P_NR4_TOP_CTRL (volatile unsigned int *)((0x2dff << 2) + 0xff900000) ++//Bit 31:20 reg_gclk_ctrl // unsigned , default = 0 ++//Bit 19 reserved ++//Bit 18 reg_nr4_mcnr_en // unsigned , default = 1 ncnr enable or bypass, dft = 1 ++//Bit 17 reg_nr2_en // unsigned , default = 1 nr2 enable, dft = 1 ++//Bit 16 reg_nr4_en // unsigned , default = 1 nr4 enable, dft = 1 ++//Bit 15 reg_nr2_proc_en // unsigned , default = 1 ++//Bit 14 reg_det3d_en // unsigned , default = 1 ++//Bit 13 di_polar_en // unsigned , default = 1 do does not have in C ++//Bit 12 reg_cfr_enable // unsigned , default = 0 0-disable; 1:enable ++//Bit 11: 9 reg_3dnr_enable_l // unsigned , default = 7 b0: Y b1:U b2:V ++//Bit 8: 6 reg_3dnr_enable_r // unsigned , default = 7 b0: Y b1:U b2:V ++//Bit 5 reg_nr4_lnbuf_ctrl // unsigned , default = 1 line buf ctrl for nr4: 0, 3lines, 1, 5lines, dft = 1 ++//Bit 4 reg_nr4_snr2_en // unsigned , default = 0 snr2 enable, 0: use old snr, 1: use new snr2, dft = 1 ++//Bit 3 reg_nr4_scene_change_en // unsigned , default = 1 enable scene change proc. dft = 1 ++//Bit 2 nr2_sw_en // unsigned , default = 1 do does not have in C ++//Bit 1 reserved ++//Bit 0 reg_nr4_scene_change_flg // unsigned , default = 0 flags for scene change, dft = 0 ++//========== nr4_mcnr_regs register end ==========// ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: nr4_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: dnr_regs.h ++// ++//======================================================================== ++// VI_HIST_SPL register (16'h2e00 - 16'h2eff) ++//======================================================================== ++//`define VI_HIST_SPL_VCBUS_BASE 8'h2e ++// ++// Reading file: vi_hist_spl_reg.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ---------------------------- ++// VI_HIST_SPL 0x2e ++// ---------------------------- ++// ----------------------------------------------- ++// CBUS_BASE: VI_HIST_SPL_VCBUS_BASE = 0x2e ++// ----------------------------------------------- ++//BIT 14: 34bin only, 0&255 and other 32bins ++//Bit 13:11 hist_din_sel, 00: from vdin0 dout, 1: from vdin1, 2: from nr dout, 3: di output, 4: vpp output, 5: vd1_din, 6: vd2_din, 7:osd1_dout ++//Bit 10:8 hist_din_comp_mux, mux of [29:22], [19:12], [9:2] for hist detect ++//Bit 7:5 hist_dnlp_low the real pixels in each bins got by VI_DNLP_HISTXX should multiple with 2^(dnlp_low+3) ++//Bit 3:2 hist_din_sel the source used for hist statistics. 00: from matrix0 dout, 01: from vsc_dout, 10: from matrix1 dout, 11: form matrix1 din ++//Bit 1 hist_win_en 1'b0: hist used for full picture; 1'b1: hist used for pixels within hist window ++//Bit 0 hist_spl_en 1'b0: disable hist readback; 1'b1: enable hist readback ++#define VI_HIST_CTRL (0x2e00) ++#define P_VI_HIST_CTRL (volatile unsigned int *)((0x2e00 << 2) + 0xff900000) ++//Bit 28:16 hist_hstart horizontal start value to define hist window ++//Bit 12:0 hist_hend horizontal end value to define hist window ++#define VI_HIST_H_START_END (0x2e01) ++#define P_VI_HIST_H_START_END (volatile unsigned int *)((0x2e01 << 2) + 0xff900000) ++//Bit 28:16 hist_vstart vertical start value to define hist window ++//Bit 12:0 hist_vend vertical end value to define hist window ++#define VI_HIST_V_START_END (0x2e02) ++#define P_VI_HIST_V_START_END (volatile unsigned int *)((0x2e02 << 2) + 0xff900000) ++//Bit 15:8 hist_max maximum value ++//Bit 7:0 hist_min minimum value ++//read only ++#define VI_HIST_MAX_MIN (0x2e03) ++#define P_VI_HIST_MAX_MIN (volatile unsigned int *)((0x2e03 << 2) + 0xff900000) ++//Bit 31:0 hist_spl_rd ++//counts for the total luma value ++//read only ++#define VI_HIST_SPL_VAL (0x2e04) ++#define P_VI_HIST_SPL_VAL (volatile unsigned int *)((0x2e04 << 2) + 0xff900000) ++//Bit 21:0 hist_spl_pixel_count ++//counts for the total calculated pixels ++//read only ++#define VI_HIST_SPL_PIX_CNT (0x2e05) ++#define P_VI_HIST_SPL_PIX_CNT (volatile unsigned int *)((0x2e05 << 2) + 0xff900000) ++//Bit 31:0 hist_chroma_sum ++//counts for the total chroma value ++//read only ++#define VI_HIST_CHROMA_SUM (0x2e06) ++#define P_VI_HIST_CHROMA_SUM (volatile unsigned int *)((0x2e06 << 2) + 0xff900000) ++//Bit 31:16 higher hist bin ++//Bit 15:0 lower hist bin ++//0-255 are splited to 64 bins evenly, and VI_DNLP_HISTXX ++//are the statistic number of pixels that within each bin. ++//VI_DNLP_HIST00[15:0] counts for the first bin ++//VI_DNLP_HIST00[31:16] counts for the second bin ++//VI_DNLP_HIST01[15:0] counts for the third bin ++//VI_DNLP_HIST01[31:16] counts for the fourth bin ++//etc... ++//read only ++#define VI_DNLP_HIST00 (0x2e07) ++#define P_VI_DNLP_HIST00 (volatile unsigned int *)((0x2e07 << 2) + 0xff900000) ++#define VI_DNLP_HIST01 (0x2e08) ++#define P_VI_DNLP_HIST01 (volatile unsigned int *)((0x2e08 << 2) + 0xff900000) ++#define VI_DNLP_HIST02 (0x2e09) ++#define P_VI_DNLP_HIST02 (volatile unsigned int *)((0x2e09 << 2) + 0xff900000) ++#define VI_DNLP_HIST03 (0x2e0a) ++#define P_VI_DNLP_HIST03 (volatile unsigned int *)((0x2e0a << 2) + 0xff900000) ++#define VI_DNLP_HIST04 (0x2e0b) ++#define P_VI_DNLP_HIST04 (volatile unsigned int *)((0x2e0b << 2) + 0xff900000) ++#define VI_DNLP_HIST05 (0x2e0c) ++#define P_VI_DNLP_HIST05 (volatile unsigned int *)((0x2e0c << 2) + 0xff900000) ++#define VI_DNLP_HIST06 (0x2e0d) ++#define P_VI_DNLP_HIST06 (volatile unsigned int *)((0x2e0d << 2) + 0xff900000) ++#define VI_DNLP_HIST07 (0x2e0e) ++#define P_VI_DNLP_HIST07 (volatile unsigned int *)((0x2e0e << 2) + 0xff900000) ++#define VI_DNLP_HIST08 (0x2e0f) ++#define P_VI_DNLP_HIST08 (volatile unsigned int *)((0x2e0f << 2) + 0xff900000) ++#define VI_DNLP_HIST09 (0x2e10) ++#define P_VI_DNLP_HIST09 (volatile unsigned int *)((0x2e10 << 2) + 0xff900000) ++#define VI_DNLP_HIST10 (0x2e11) ++#define P_VI_DNLP_HIST10 (volatile unsigned int *)((0x2e11 << 2) + 0xff900000) ++#define VI_DNLP_HIST11 (0x2e12) ++#define P_VI_DNLP_HIST11 (volatile unsigned int *)((0x2e12 << 2) + 0xff900000) ++#define VI_DNLP_HIST12 (0x2e13) ++#define P_VI_DNLP_HIST12 (volatile unsigned int *)((0x2e13 << 2) + 0xff900000) ++#define VI_DNLP_HIST13 (0x2e14) ++#define P_VI_DNLP_HIST13 (volatile unsigned int *)((0x2e14 << 2) + 0xff900000) ++#define VI_DNLP_HIST14 (0x2e15) ++#define P_VI_DNLP_HIST14 (volatile unsigned int *)((0x2e15 << 2) + 0xff900000) ++#define VI_DNLP_HIST15 (0x2e16) ++#define P_VI_DNLP_HIST15 (volatile unsigned int *)((0x2e16 << 2) + 0xff900000) ++#define VI_DNLP_HIST16 (0x2e17) ++#define P_VI_DNLP_HIST16 (volatile unsigned int *)((0x2e17 << 2) + 0xff900000) ++#define VI_DNLP_HIST17 (0x2e18) ++#define P_VI_DNLP_HIST17 (volatile unsigned int *)((0x2e18 << 2) + 0xff900000) ++#define VI_DNLP_HIST18 (0x2e19) ++#define P_VI_DNLP_HIST18 (volatile unsigned int *)((0x2e19 << 2) + 0xff900000) ++#define VI_DNLP_HIST19 (0x2e1a) ++#define P_VI_DNLP_HIST19 (volatile unsigned int *)((0x2e1a << 2) + 0xff900000) ++#define VI_DNLP_HIST20 (0x2e1b) ++#define P_VI_DNLP_HIST20 (volatile unsigned int *)((0x2e1b << 2) + 0xff900000) ++#define VI_DNLP_HIST21 (0x2e1c) ++#define P_VI_DNLP_HIST21 (volatile unsigned int *)((0x2e1c << 2) + 0xff900000) ++#define VI_DNLP_HIST22 (0x2e1d) ++#define P_VI_DNLP_HIST22 (volatile unsigned int *)((0x2e1d << 2) + 0xff900000) ++#define VI_DNLP_HIST23 (0x2e1e) ++#define P_VI_DNLP_HIST23 (volatile unsigned int *)((0x2e1e << 2) + 0xff900000) ++#define VI_DNLP_HIST24 (0x2e1f) ++#define P_VI_DNLP_HIST24 (volatile unsigned int *)((0x2e1f << 2) + 0xff900000) ++#define VI_DNLP_HIST25 (0x2e20) ++#define P_VI_DNLP_HIST25 (volatile unsigned int *)((0x2e20 << 2) + 0xff900000) ++#define VI_DNLP_HIST26 (0x2e21) ++#define P_VI_DNLP_HIST26 (volatile unsigned int *)((0x2e21 << 2) + 0xff900000) ++#define VI_DNLP_HIST27 (0x2e22) ++#define P_VI_DNLP_HIST27 (volatile unsigned int *)((0x2e22 << 2) + 0xff900000) ++#define VI_DNLP_HIST28 (0x2e23) ++#define P_VI_DNLP_HIST28 (volatile unsigned int *)((0x2e23 << 2) + 0xff900000) ++#define VI_DNLP_HIST29 (0x2e24) ++#define P_VI_DNLP_HIST29 (volatile unsigned int *)((0x2e24 << 2) + 0xff900000) ++#define VI_DNLP_HIST30 (0x2e25) ++#define P_VI_DNLP_HIST30 (volatile unsigned int *)((0x2e25 << 2) + 0xff900000) ++#define VI_DNLP_HIST31 (0x2e26) ++#define P_VI_DNLP_HIST31 (volatile unsigned int *)((0x2e26 << 2) + 0xff900000) ++#define VI_DNLP_HIST32 (0x2e27) ++#define P_VI_DNLP_HIST32 (volatile unsigned int *)((0x2e27 << 2) + 0xff900000) ++//Bit 28:16 hist_pic_height active input data window height ++//Bit 12:0 hist_pic_width active input data window width ++#define VI_HIST_PIC_SIZE (0x2e28) ++#define P_VI_HIST_PIC_SIZE (volatile unsigned int *)((0x2e28 << 2) + 0xff900000) ++//Bit 15:8 hist_pix_white_value: >= this value will be white pixel ++//Bit 7:0 hist_pix_black_value: <= this value will be black pixel ++#define VI_HIST_BLACK_WHITE_VALUE (0x2e29) ++#define P_VI_HIST_BLACK_WHITE_VALUE (volatile unsigned int *)((0x2e29 << 2) + 0xff900000) ++#define VI_HIST_GCLK_CTRL (0x2e2a) ++#define P_VI_HIST_GCLK_CTRL (volatile unsigned int *)((0x2e2a << 2) + 0xff900000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: vi_hist_spl_reg.h ++// ++//`define MCDI_VCBUS_BASE 8'h2f ++// ++// Reading file: mcdi_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ----------------------------------------------- ++// CBUS_BASE: MCDI_VCBUS_BASE = 0x2f ++// ----------------------------------------------- ++////=================================================================//// ++//// memc di core 0 ++////=================================================================//// ++#define MCDI_HV_SIZEIN (0x2f00) ++#define P_MCDI_HV_SIZEIN (volatile unsigned int *)((0x2f00 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, reg_mcdi_hsize image horizontal size (number of cols) default=1024 ++//Bit 15:13, reserved ++//Bit 12: 0, reg_mcdi_vsize image vertical size (number of rows) default=1024 ++#define MCDI_HV_BLKSIZEIN (0x2f01) ++#define P_MCDI_HV_BLKSIZEIN (volatile unsigned int *)((0x2f01 << 2) + 0xff900000) ++//Bit 31, reg_mcdi_vrev default = 0 ++//Bit 30, reg_mcdi_hrev default = 0 ++//Bit 29:28, reserved ++//Bit 27:16, reg_mcdi_blkhsize image horizontal blk size (number of cols) default=1024 ++//Bit 15:13, reserved ++//Bit 11: 0, reg_mcdi_blkvsize image vertical blk size (number of rows) default=1024 ++#define MCDI_BLKTOTAL (0x2f02) ++#define P_MCDI_BLKTOTAL (volatile unsigned int *)((0x2f02 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23: 0, reg_mcdi_blktotal ++#define MCDI_MOTINEN (0x2f03) ++#define P_MCDI_MOTINEN (volatile unsigned int *)((0x2f03 << 2) + 0xff900000) ++//Bit 31: 2, reserved ++//Bit 1, reg_mcdi_motionrefen. enable motion refinement of MA, default = 1 ++//Bit 0, reg_mcdi_motionparadoxen. enable motion paradox detection, default = 1 ++#define MCDI_CTRL_MODE (0x2f04) ++#define P_MCDI_CTRL_MODE (volatile unsigned int *)((0x2f04 << 2) + 0xff900000) ++//Bit 31:28, reserved ++//Bit 27:26, reg_mcdi_lmvlocken 0:disable, 1: use max Lmv, 2: use no-zero Lmv, lmv lock enable mode, default = 2 ++//Bit 25, reg_mcdi_reldetrptchken ++// 0: unable; 1: enable, enable repeat pattern check (not repeat mv detection) in rel det part, default = 1 ++//Bit 24, reg_mcdi_reldetgmvpd22chken ++// 0: unable; 1: enable, enable pull-down 22 mode check in gmv lock mode for rel det, default = 1 ++//Bit 23, reg_mcdi_pd22chken ++// 0: unable; 1: enable, enable pull-down 22 mode check (lock) function, default = 1 ++//Bit 22, reg_mcdi_reldetlpfen ++// 0: unable; 1: enable, enable det value lpf, default = 1 ++//Bit 21, reg_mcdi_reldetlmvpd22chken ++// 0: unable; 1: enable, enable pull-down 22 mode check in lmv lock mode for rel det, default = 1 ++//Bit 20, reg_mcdi_reldetlmvdifchken ++// 0: unable; 1: enable, enable lmv dif check in lmv lock mode for rel det, default = 1 ++//Bit 19, reg_mcdi_reldetgmvdifchken ++// 0: unable; 1: enable, enable lmv dif check in lmv lock mode for rel det, default = 1 ++//Bit 18, reg_mcdi_reldetpd22chken ++// 0: unable; 1: enable, enable pull-down 22 mode check for rel det refinement, default = 1 ++//Bit 17, reg_mcdi_reldetfrqchken ++// 0: unable; 1: enable, enable mv frequency check in rel det, default = 1 ++//Bit 16, reg_mcdi_qmeen ++// 0: unable; 1: enable, enable quarter motion estimation, defautl = 1 ++//Bit 15, reg_mcdi_refrptmven ++// 0: unable; 1: enable, use repeat mv in refinement, default = 1 ++//Bit 14, reg_mcdi_refgmven ++// 0: unable; 1: enable, use gmv in refinement, default = 1 ++//Bit 13, reg_mcdi_reflmven ++// 0: unable; 1: enable, use lmvs in refinement, default = 1 ++//Bit 12, reg_mcdi_refnmven ++// 0: unable; 1: enable, use neighoring mvs in refinement, default = 1 ++//Bit 11, reserved ++//Bit 10, reg_mcdi_referrfrqchken ++// 0: unable; 1: enable, enable mv frquency check while finding min err in ref, default = 1 ++//Bit 9, reg_mcdi_refen ++// 0: unable; 1: enable, enable mv refinement, default = 1 ++//Bit 8, reg_mcdi_horlineen ++// 0: unable; 1: enable,enable horizontal lines detection by sad map, default = 1 ++//Bit 7, reg_mcdi_highvertfrqdeten ++// 0: unable; 1: enable, enable high vertical frequency pattern detection, default = 1 ++//Bit 6, reg_mcdi_gmvlocken ++// 0: unable; 1: enable, enable gmv lock mode, default = 1 ++//Bit 5, reg_mcdi_rptmven ++// 0: unable; 1: enable, enable repeat pattern detection, default = 1 ++//Bit 4, reg_mcdi_gmven ++// 0: unable; 1: enable, enable global motion estimation, default = 1 ++//Bit 3, reg_mcdi_lmven ++// 0: unable; 1: enable, enable line mv estimation for hme, default = 1 ++//Bit 2, reg_mcdi_chkedgeen ++// 0: unable; 1: enable, enable check edge function, default = 1 ++//Bit 1, reg_mcdi_txtdeten ++// 0: unable; 1: enable, enable texture detection, default = 1 ++//Bit 0, reg_mcdi_memcen ++// 0: unable; 1: enable, enable of memc di, default = 1 ++#define MCDI_UNI_MVDST (0x2f05) ++#define P_MCDI_UNI_MVDST (volatile unsigned int *)((0x2f05 << 2) + 0xff900000) ++//Bit 31:20, reserved ++//Bit 19:17, reg_mcdi_unimvdstabsseg0 segment0 for uni-mv abs, default = 1 ++//Bit 16:12, reg_mcdi_unimvdstabsseg1 segment1 for uni-mv abs, default = 15 ++//Bit 11: 8, reg_mcdi_unimvdstabsdifgain0 2/2, gain0 of uni-mv abs dif for segment0, normalized 2 to '1', default = 2 ++//Bit 7: 5, reg_mcdi_unimvdstabsdifgain1 2/2, gain1 of uni-mv abs dif for segment1, normalized 2 to '1', default = 2 ++//Bit 4: 2, reg_mcdi_unimvdstabsdifgain2 2/2, gain2 of uni-mv abs dif beyond segment1, normalized 2 to '1', default = 2 ++//Bit 1: 0, reg_mcdi_unimvdstsgnshft shift for neighboring distance of uni-mv, default = 0 ++#define MCDI_BI_MVDST (0x2f06) ++#define P_MCDI_BI_MVDST (volatile unsigned int *)((0x2f06 << 2) + 0xff900000) ++//Bit 31:20, reserved ++//Bit 19:17, reg_mcdi_bimvdstabsseg0 segment0 for bi-mv abs, default = 1 ++//Bit 16:12, reg_mcdi_bimvdstabsseg1 segment1 for bi-mv abs, default = 9 ++//Bit 11: 8, reg_mcdi_bimvdstabsdifgain0 6/2, gain0 of bi-mv abs dif for segment0, normalized 2 to '1', default = 6 ++//Bit 7: 5, reg_mcdi_bimvdstabsdifgain1 3/2, gain1 of bi-mvabs dif for segment1, normalized 2 to '1', default = 3 ++//Bit 4: 2, reg_mcdi_bimvdstabsdifgain2 2/2, gain2 of bi-mvabs dif beyond segment1, normalized 2 to '1', default = 2 ++//Bit 1: 0, reg_mcdi_bimvdstsgnshft shift for neighboring distance of bi-mv, default = 0 ++#define MCDI_SAD_GAIN (0x2f07) ++#define P_MCDI_SAD_GAIN (volatile unsigned int *)((0x2f07 << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18:17, reg_mcdi_unisadcorepxlgain uni-sad core pixels gain, default = 3 ++//Bit 16, reg_mcdi_unisadcorepxlnormen enable uni-sad core pixels normalization, default = 0 ++//Bit 15:11, reserved ++//Bit 10: 9, reg_mcdi_bisadcorepxlgain bi-sad core pixels gain, default = 3 ++//Bit 8, reg_mcdi_bisadcorepxlnormen enable bi-sad core pixels normalization, default = 1 ++//Bit 7: 3, reserved ++//Bit 2: 1, reg_mcdi_biqsadcorepxlgain bi-qsad core pixels gain, default = 3 ++//Bit 0, reg_mcdi_biqsadcorepxlnormen enable bi-qsad core pixels normalization, default = 1 ++#define MCDI_TXT_THD (0x2f08) ++#define P_MCDI_TXT_THD (volatile unsigned int *)((0x2f08 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_mcdi_txtminmaxdifthd, min max dif threshold (>=) for texture detection, default = 24 ++//Bit 15: 8, reg_mcdi_txtmeandifthd, mean dif threshold (<) for texture detection, default = 9 ++//Bit 7: 3, reserved ++//Bit 2: 0, reg_mcdi_txtdetthd, texture detecting threshold, 0~4, default = 2 ++#define MCDI_FLT_MODESEL (0x2f09) ++#define P_MCDI_FLT_MODESEL (volatile unsigned int *)((0x2f09 << 2) + 0xff900000) ++//Bit 31 reserved ++//Bit 30:28, reg_mcdi_flthorlineselmode mode for horizontal line detecting flat calculation, default = 1, same as below ++//Bit 27 reserved ++//Bit 26:24, reg_mcdi_fltgmvselmode mode for gmv flat calculation, default = 4, same as below ++//Bit 23, reserved ++//Bit 22:20, reg_mcdi_fltsadselmode mode for sad flat calculation, default = 2, same as below ++//Bit 19, reserved ++//Bit 18:16, reg_mcdi_fltbadwselmode mode for badw flat calculation, default = 3, same as below ++//Bit 15, reserved ++//Bit 14:12, reg_mcdi_fltrptmvselmode mode for repeat mv flat calculation, default = 4, same as below ++//Bit 11, reserved ++//Bit 10: 8, reg_mcdi_fltbadrelselmode mode for bad rel flat calculation, default = 4, same as below ++//Bit 7, reserved ++//Bit 6: 4, reg_mcdi_fltcolcfdselmode mode for col cfd flat calculation, default = 2, same as below ++//Bit 3, reserved ++//Bit 2: 0, reg_mcdi_fltpd22chkselmode mode for pd22 check flat calculation, default = 2, # 0:cur dif h, 1: cur dif v, 2: pre dif h, 3: pre dif v, 4: cur flt, 5: pre flt, 6: cur+pre, 7: max all(cur,pre) ++#define MCDI_CHK_EDGE_THD (0x2f0a) ++#define P_MCDI_CHK_EDGE_THD (volatile unsigned int *)((0x2f0a << 2) + 0xff900000) ++//Bit 23:28, reserved. ++//Bit 27:24, reg_mcdi_chkedgedifsadthd. thd (<=) for sad dif check, 0~8, default = 1 ++//Bit 23:16, reserved. ++//Bit 15:12, reg_mcdi_chkedgemaxedgethd. max drt of edge, default = 15 ++//Bit 11: 8, reg_mcdi_chkedgeminedgethd. min drt of edge, default = 2 ++//Bit 7, reserved. ++//Bit 6: 0, reg_mcdi_chkedgevdifthd. thd for vertical dif in check edge, default = 14 ++#define MCDI_CHK_EDGE_GAIN_OFFST (0x2f0b) ++#define P_MCDI_CHK_EDGE_GAIN_OFFST (volatile unsigned int *)((0x2f0b << 2) + 0xff900000) ++//Bit 31:24, reserved. ++//Bit 23:20, reg_mcdi_chkedgedifthd1. thd1 for edge dif check (<=), default = 4 ++//Bit 19:16, reg_mcdi_chkedgedifthd0. thd0 for edge dif check (>=), default = 15 ++//Bit :15, reserved. ++//Bit 14:10, reg_mcdi_chkedgechklen. total check length for edge check, 1~24 (>0), default = 24 ++//Bit 9: 8, reg_mcdi_chkedgeedgesel. final edge select mode, 0: original start edge, 1: lpf start edge, 2: orignal start+end edge, 3: lpf start+end edge, default = 1 ++//Bit 7: 3, reg_mcdi_chkedgesaddstgain. distance gain for sad calc while getting edges, default = 4 ++//Bit 2, reg_mcdi_chkedgechkmode. edge used in check mode, 0: original edge, 1: lpf edge, defautl = 1 ++//Bit 1, reg_mcdi_chkedgestartedge. edge mode for start edge, 0: original edge, 1: lpf edge, defautl = 0 ++//Bit 0, reg_mcdi_chkedgeedgelpf. edge lpf mode, 0:[0,2,4,2,0], 1:[1,2,2,2,1], default = 0 ++#define MCDI_LMV_RT (0x2f0c) ++#define P_MCDI_LMV_RT (volatile unsigned int *)((0x2f0c << 2) + 0xff900000) ++//BIt 31:15, reserved ++//Bit 14:12, reg_mcdi_lmvvalidmode valid mode for lmv calc., 100b: use char det, 010b: use flt, 001b: use hori flg ++//Bit 11:10, reg_mcdi_lmvgainmvmode four modes of mv selection for lmv weight calucluation, default = 1 ++// 0: cur(x-3), lst(x-1,x,x+1); 1: cur(x-4,x-3), lst(x,x+1); 2: cur(x-5,x-4,x-3), lst(x-1,x,x+1,x+2,x+3); 3: cur(x-6,x-5,x-4,x-3), lst(x-1,x,x+1,x+2); ++//Bit 9, reg_mcdi_lmvinitmode initial lmvs at first row of input field, 0: intial value = 0; 1: inital = 32 (invalid), default = 0 ++//Bit 8, reserved ++//Bit 7: 4, reg_mcdi_lmvrt0 ratio of max mv, default = 5 ++//Bit 3: 0, reg_mcdi_lmvrt1 ratio of second max mv, default = 5 ++#define MCDI_LMV_GAINTHD (0x2f0d) ++#define P_MCDI_LMV_GAINTHD (volatile unsigned int *)((0x2f0d << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_lmvvxmaxgain max gain of lmv weight, default = 96 ++//Bit 23, reserved ++//Bit 22:20, reg_mcdi_lmvdifthd0 dif threshold 0 (<) for small lmv, default = 1 ++//Bit 19:17, reg_mcdi_lmvdifthd1 dif threshold 1 (<) for median lmv, default = 2 ++//Bit 16:14, reg_mcdi_lmvdifthd2 dif threshold 2 (<) for large lmv, default = 3 ++//Bit 13: 8, reg_mcdi_lmvnumlmt least/limit number of (total number - max0), default = 20 ++//Bit 7: 0, reg_mcdi_lmvfltthd flt cnt thd (<) for lmv, default = 9 ++#define MCDI_RPTMV_THD0 (0x2f0e) ++#define P_MCDI_RPTMV_THD0 (volatile unsigned int *)((0x2f0e << 2) + 0xff900000) ++//Bit 31:25, reg_mcdi_rptmvslpthd2 slope thd (>=) between i and i+3/i-3 (i+4/i-4), default = 64 ++//Bit 24:20, reg_mcdi_rptmvslpthd1 slope thd (>=) between i and i+2/i-2, default = 4 ++//Bit 19:10, reg_mcdi_rptmvampthd2 amplitude thd (>=) between max and min, when count cycles, default = 300 ++//Bit 9: 0, reg_mcdi_rptmvampthd1 amplitude thd (>=) between average of max and min, default = 400 ++#define MCDI_RPTMV_THD1 (0x2f0f) ++#define P_MCDI_RPTMV_THD1 (volatile unsigned int *)((0x2f0f << 2) + 0xff900000) ++//Bit 31:28, reserved ++//Bit 27:25, reg_mcdi_rptmvcyccntthd thd (>=) of total cycles count, default = 2 ++//Bit 24:21, reg_mcdi_rptmvcycdifthd dif thd (<) of cycles length, default = 3 ++//Bit 20:18, reg_mcdi_rptmvcycvldthd thd (>) of valid cycles number, default = 1 ++//Bit 17:15, reg_mcdi_rptmvhalfcycminthd min length thd (>=) of half cycle, default = 2 ++//Bit 14:11, reg_mcdi_rptmvhalfcycdifthd neighboring half cycle length dif thd (<), default = 5 ++//Bit 10: 8, reg_mcdi_rptmvminmaxcntthd least number of valid max and min, default = 2 ++//Bit 7: 5, reg_mcdi_rptmvcycminthd min length thd (>=) of cycles, default = 2 ++//Bit 4: 0, reg_mcdi_rptmvcycmaxthd max length thd (<) of cycles, default = 17 ++#define MCDI_RPTMV_THD2 (0x2f10) ++#define P_MCDI_RPTMV_THD2 (volatile unsigned int *)((0x2f10 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_mcdi_rptmvhdifthd0 higher hdif thd (>=) (vertical edge) for rpt detection, default = 8 ++//Bit 15: 8, reg_mcdi_rptmvhdifthd1 hdif thd (>=) (slope edge) for rpt detection, default = 4 ++//Bit 7: 0, reg_mcdi_rptmvvdifthd vdif thd (>=) (slope edge) for rpt detection, default = 1 ++#define MCDI_RPTMV_SAD (0x2f11) ++#define P_MCDI_RPTMV_SAD (volatile unsigned int *)((0x2f11 << 2) + 0xff900000) ++//Bit 31:26, reserved ++//Bit 25:16, reg_mcdi_rptmvsaddifthdgain 7x3x(16/16), gain for sad dif thd in rpt mv detection, 0~672, normalized 16 as '1', default = 336 ++//Bit 15:10, reserved ++//Bit 9: 0, reg_mcdi_rptmvsaddifthdoffst offset for sad dif thd in rpt mv detection, -512~511, default = 16 ++#define MCDI_RPTMV_FLG (0x2f12) ++#define P_MCDI_RPTMV_FLG (volatile unsigned int *)((0x2f12 << 2) + 0xff900000) ++//Bit 31:18, reserved ++//Bit 17:16, reg_mcdi_rptmvmode select mode of mvs for repeat motion estimation, 0: hmv, 1: qmv/2, 2 or 3: qmv/4, default = 2 ++//Bit 15: 8, reg_mcdi_rptmvflgcntthd thd (>=) of min count number for rptmv of whole field, for rptmv estimation, default = 64 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_rptmvflgcntrt 4/32, ratio for repeat mv flag count, normalized 32 as '1', set 31 to 32, ++#define MCDI_RPTMV_GAIN (0x2f13) ++#define P_MCDI_RPTMV_GAIN (volatile unsigned int *)((0x2f13 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_rptmvlftgain up repeat mv gain for hme, default = 96 ++//Bit 23:16, reg_mcdi_rptmvuplftgain up left repeat mv gain for hme, default = 32 ++//Bit 15: 8, reg_mcdi_rptmvupgain up repeat mv gain for hme, default = 64 ++//Bit 7: 0, reg_mcdi_rptmvuprightgain up right repeat mv gain for hme, default = 32 ++#define MCDI_GMV_RT (0x2f14) ++#define P_MCDI_GMV_RT (volatile unsigned int *)((0x2f14 << 2) + 0xff900000) ++//Bit 31, reserved ++//Bit 30:24, reg_mcdi_gmvmtnrt0 ratio 0 for motion senario, set 127 to 128, normalized 128 as '1', default =32 ++//Bit 23, reserved ++//Bit 22:16, reg_mcdi_gmvmtnrt1 ratio 1 for motion senario, set 127 to 128, normalized 128 as '1', default = 56 ++//Bit 15, reserved ++//Bit 14: 8, reg_mcdi_gmvstlrt0 ratio 0 for still senario, set 127 to 128, normalized 128 as '1', default = 56 ++//Bit 7, reserved ++//Bit 6: 0, reg_mcdi_gmvstlrt1 ratio 1 for still senario, set 127 to 128, normalized 128 as '1', default = 80 ++#define MCDI_GMV_GAIN (0x2f15) ++#define P_MCDI_GMV_GAIN (volatile unsigned int *)((0x2f15 << 2) + 0xff900000) ++//Bit 31:25, reg_mcdi_gmvzeromvlockrt0 ratio 0 for locking zero mv, set 127 to 128, normalized 128 as '1', default = 100 ++//Bit 24:18, reg_mcdi_gmvzeromvlockrt1 ratio 1 for locking zero mv, set 127 to 128, normalized 128 as '1', default = 112 ++//Bit 17:16, reg_mcdi_gmvvalidmode valid mode for gmv calc., 10b: use flt, 01b: use hori flg, default = 3 ++//Bit 15: 8, reg_mcdi_gmvvxgain gmv's vx gain when gmv locked for hme, default = 0 ++//Bit 7: 0, reg_mcdi_gmvfltthd flat thd (<) for gmv calc. default = 3 ++#define MCDI_HOR_SADOFST (0x2f16) ++#define P_MCDI_HOR_SADOFST (volatile unsigned int *)((0x2f16 << 2) + 0xff900000) ++//Bit 31:25, reserved ++//Bit 24:16, reg_mcdi_horsaddifthdgain 21*1/8, gain/divisor for sad dif threshold in hor line detection, normalized 8 as '1', default = 21 ++//Bit 15: 8, reg_mcdi_horsaddifthdoffst offset for sad dif threshold in hor line detection, -128~127, default = 0 ++//Bit 7: 0, reg_mcdi_horvdifthd threshold (>=) of vertical dif of next block for horizontal line detection, default = 24 ++#define MCDI_REF_MV_NUM (0x2f17) ++#define P_MCDI_REF_MV_NUM (volatile unsigned int *)((0x2f17 << 2) + 0xff900000) ++//Bit 31: 2, reserved ++//Bit 1: 0, reg_mcdi_refmcmode. motion compensated mode used in refinement, 0: pre, 1: next, 2: (pre+next)/2, default = 0 ++#define MCDI_REF_BADW_THD_GAIN (0x2f18) ++#define P_MCDI_REF_BADW_THD_GAIN (volatile unsigned int *)((0x2f18 << 2) + 0xff900000) ++//Bit 31:28, reserved ++//Bit 27:24, reg_mcdi_refbadwcnt2gain. gain for badwv count num==3, default = 6 ++//Bit 23:20, reg_mcdi_refbadwcnt1gain. gain for badwv count num==2, default = 3 ++//Bit 19:16, reg_mcdi_refbadwcnt0gain. gain for badwv count num==1, default = 1 ++//Bit 15:12, reg_mcdi_refbadwthd3. threshold 3 for detect badweave with largest average luma, default = 4 ++//Bit 11: 8, reg_mcdi_refbadwthd2. threshold 2 for detect badweave with third smallest average luma, default = 3 ++//Bit 7: 4, reg_mcdi_refbadwthd1. threshold 1 for detect badweave with second smallest average luma, default = 2 ++//Bit 3: 0, reg_mcdi_refbadwthd0. threshold 0 for detect badweave with smallest average luma, default = 1 ++#define MCDI_REF_BADW_SUM_GAIN (0x2f19) ++#define P_MCDI_REF_BADW_SUM_GAIN (volatile unsigned int *)((0x2f19 << 2) + 0xff900000) ++//Bit 31:13, reserved ++//Bit 12: 8, reg_mcdi_refbadwsumgain0. sum gain for r channel, 0~16, default = 8 ++//Bit 7: 5, reserved ++//Bit 4, reg_mcdi_refbadwcalcmode. mode for badw calculation, 0:sum, 1:max, default = 0 ++//Bit 3: 0, reserved ++#define MCDI_REF_BS_THD_GAIN (0x2f1a) ++#define P_MCDI_REF_BS_THD_GAIN (volatile unsigned int *)((0x2f1a << 2) + 0xff900000) ++//Bit 31:28, reg_mcdi_refbsudgain1. up & down block stregth gain1, normalized to 8 as '1', default = 2 ++//Bit 27:24, reg_mcdi_refbsudgain0. up & down block stregth gain0, normalized to 8 as '1', default = 4 ++//Bit 23:19, reserved ++//Bit 18:16, reg_mcdi_refbslftgain. left block strength gain, default = 0 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_refbsthd1. threshold 1 for detect block stregth in refinment, default = 16 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_refbsthd0. threshold 0 for detect block stregth in refinment, default = 8 ++#define MCDI_REF_ERR_GAIN0 (0x2f1b) ++#define P_MCDI_REF_ERR_GAIN0 (volatile unsigned int *)((0x2f1b << 2) + 0xff900000) ++//Bit 31, reserved ++//Bit 30:24, reg_mcdi_referrnbrdstgain. neighoring mv distances gain for err calc. in ref, normalized to 8 as '1', default = 48 ++//Bit 23:20, reserved ++//Bit 19:16, reg_mcdi_referrbsgain. bs gain for err calc. in ref, normalized to 8 as '1', default = 4 ++//Bit 15, reserved ++//Bit 14: 8, reg_mcdi_referrbadwgain. badw gain for err calc. in ref, normalized to 8 as '1', default = 64 ++//Bit 7: 4, reserved ++//Bit 3: 0, reg_mcdi_referrsadgain. sad gain for err calc. in ref, normalized to 8 as '1', default = 4 ++#define MCDI_REF_ERR_GAIN1 (0x2f1c) ++#define P_MCDI_REF_ERR_GAIN1 (volatile unsigned int *)((0x2f1c << 2) + 0xff900000) ++//Bit 31:20, reserved ++//Bit 19:16, reg_mcdi_referrchkedgegain. check edge gain for err calc. in ref, normalized to 8 as '1', default = 4 ++//Bit 15:12, reserved ++//Bit 11: 8, reg_mcdi_referrlmvgain. (locked) lmv gain for err calc. in ref, normalized to 8 as '1', default = 0 ++//Bit 7: 4, reserved ++//Bit 3: 0, reg_mcdi_referrgmvgain. (locked) gmv gain for err calc. in ref, normalized to 8 as '1', default = 0 ++#define MCDI_REF_ERR_FRQ_CHK (0x2f1d) ++#define P_MCDI_REF_ERR_FRQ_CHK (volatile unsigned int *)((0x2f1d << 2) + 0xff900000) ++//Bit 31:28, reserved ++//Bit 27:24, reg_mcdi_referrfrqgain. gain for mv frquency, normalized to 4 as '1', default = 10 ++//Bit 23:21, reserved ++//Bit 20:16, reg_mcdi_referrfrqmax. max gain for mv frquency check, default = 31 ++//Bit 15, reserved ++//Bit 14:12, reg_mcdi_ref_errfrqmvdifthd2. mv dif threshold 2 (<) for mv frquency check, default = 3 ++//Bit 11, reserved ++//Bit 10: 8, reg_mcdi_ref_errfrqmvdifthd1. mv dif threshold 1 (<) for mv frquency check, default = 2 ++//Bit 7, reserved ++//Bit 6: 4, reg_mcdi_ref_errfrqmvdifthd0. mv dif threshold 0 (<) for mv frquency check, default = 1 ++//Bit 3: 0, reserved ++#define MCDI_QME_LPF_MSK (0x2f1e) ++#define P_MCDI_QME_LPF_MSK (volatile unsigned int *)((0x2f1e << 2) + 0xff900000) ++//Bit 31:28, reserved ++//Bit 27:24, reg_mcdi_qmechkedgelpfmsk0. lpf mask0 for chk edge in qme, 0~8, msk1 = (8-msk0), normalized to 8 as '1', default = 7 ++//Bit 23:20, reserved ++//Bit 19:16, reg_mcdi_qmebslpfmsk0. lpf mask0 for bs in qme, 0~8, msk1 = (8-msk0), normalized to 8 as '1', default = 7 ++//Bit 15:12, reserved ++//Bit 11: 8, reg_mcdi_qmebadwlpfmsk0. lpf mask0 for badw in qme, 0~8, msk1 = (8-msk0), normalized to 8 as '1', default = 7 ++//Bit 7: 4, reserved ++//Bit 3: 0, reg_mcdi_qmesadlpfmsk0. lpf mask0 for sad in qme, 0~8, msk1 = (8-msk0), normalized to 8 as '1', default = 7 ++#define MCDI_REL_DIF_THD_02 (0x2f1f) ++#define P_MCDI_REL_DIF_THD_02 (volatile unsigned int *)((0x2f1f << 2) + 0xff900000) ++//Bit 31:24, reserved. ++//Bit 23:16, reg_mcdi_reldifthd2. thd (<) for (hdif+vdif), default = 9 ++//Bit 15: 8, reg_mcdi_reldifthd1. thd (<) for (vdif), default = 5 ++//Bit 7: 0, reg_mcdi_reldifthd0. thd (>=) for (hdif-vdif), default = 48 ++#define MCDI_REL_DIF_THD_34 (0x2f20) ++#define P_MCDI_REL_DIF_THD_34 (volatile unsigned int *)((0x2f20 << 2) + 0xff900000) ++//Bit 31:16, reserved. ++//Bit 15: 8, reg_mcdi_reldifthd4. thd (<) for (hdif), default = 255 ++//Bit 7: 0, reg_mcdi_reldifthd3. thd (>=) for (vdif-hdif), default = 48 ++#define MCDI_REL_BADW_GAIN_OFFST_01 (0x2f21) ++#define P_MCDI_REL_BADW_GAIN_OFFST_01 (volatile unsigned int *)((0x2f21 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_relbadwoffst1. offset for badw adj, for flat block, -128~127, default = 0 ++//Bit 23:16, reg_mcdi_relbadwgain1. gain for badw adj, for flat block, default = 128 ++//Bit 15: 8, reg_mcdi_relbadwoffst0. offset for badw adj, for vertical block, -128~127, default = 0 ++//Bit 7: 0, reg_mcdi_relbadwgain0. gain for badw adj, for vertical block, default = 160 ++#define MCDI_REL_BADW_GAIN_OFFST_23 (0x2f22) ++#define P_MCDI_REL_BADW_GAIN_OFFST_23 (volatile unsigned int *)((0x2f22 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_relbadwoffst3. offset for badw adj, for other block, -128~127, default = 0 ++//Bit 23:16, reg_mcdi_relbadwgain3. gain for badw adj, for other block, default = 48 ++//Bit 15: 8, reg_mcdi_relbadwoffst2. offset for badw adj, for horizontal block, -128~127, default = 0 ++//Bit 7: 0, reg_mcdi_relbadwgain2. gain for badw adj, for horizontal block, default = 48 ++#define MCDI_REL_BADW_THD_GAIN_OFFST (0x2f23) ++#define P_MCDI_REL_BADW_THD_GAIN_OFFST (volatile unsigned int *)((0x2f23 << 2) + 0xff900000) ++//Bit 31:23, reserved. ++//Bit 22:16, reg_mcdi_relbadwoffst. offset for badw thd adj, -64~63, default = 0 ++//Bit 15: 8, reserved. ++//Bit 7: 0, reg_mcdi_relbadwthdgain. gain0 for badw thd adj, normalized to 16 as '1', default = 16 ++#define MCDI_REL_BADW_THD_MIN_MAX (0x2f24) ++#define P_MCDI_REL_BADW_THD_MIN_MAX (volatile unsigned int *)((0x2f24 << 2) + 0xff900000) ++//Bit 31:18, reserved. ++//Bit 17: 8, reg_mcdi_relbadwthdmax. max for badw thd adj, default = 256 ++//Bit 7: 0, reg_mcdi_relbadwthdmin. min for badw thd adj, default = 16 ++#define MCDI_REL_SAD_GAIN_OFFST_01 (0x2f25) ++#define P_MCDI_REL_SAD_GAIN_OFFST_01 (volatile unsigned int *)((0x2f25 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_relsadoffst1. offset for sad adj, for flat block, -128~127, default = 0 ++//Bit 23:20, reserved. ++//Bit 19:16, reg_mcdi_relsadgain1. gain for sad adj, for flat block, normalized to 8 as '1', default = 8 ++//Bit 15: 8, reg_mcdi_relsadoffst0. offset for sad adj, for vertical block, -128~127, default = 0 ++//Bit 7: 4, reserved. ++//Bit 3: 0, reg_mcdi_relsadgain0. gain for sad adj, for vertical block, normalized to 8 as '1', default = 6 ++#define MCDI_REL_SAD_GAIN_OFFST_23 (0x2f26) ++#define P_MCDI_REL_SAD_GAIN_OFFST_23 (volatile unsigned int *)((0x2f26 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_relsadoffst3. offset for sad adj, for other block, -128~127, default = 0 ++//Bit 23:20, reserved. ++//Bit 19:16, reg_mcdi_relsadgain3. gain for sad adj, for other block, normalized to 8 as '1', default = 8 ++//Bit 15: 8, reg_mcdi_relsadoffst2. offset for sad adj, for horizontal block, -128~127, default = 0 ++//Bit 7: 4, reserved. ++//Bit 3: 0, reg_mcdi_relsadgain2. gain for sad adj, for horizontal block, normalized to 8 as '1', default = 12 ++#define MCDI_REL_SAD_THD_GAIN_OFFST (0x2f27) ++#define P_MCDI_REL_SAD_THD_GAIN_OFFST (volatile unsigned int *)((0x2f27 << 2) + 0xff900000) ++//Bit 31:24, reserved. ++//Bit 23:16, reg_mcdi_relsadoffst. offset for sad thd adj, -128~127, default = 0 ++//Bit 15:10, reserved. ++//Bit 9: 0, reg_mcdi_relsadthdgain. gain for sad thd adj, 21*2/16, normalized to 16 as '1', default = 42 ++#define MCDI_REL_SAD_THD_MIN_MAX (0x2f28) ++#define P_MCDI_REL_SAD_THD_MIN_MAX (volatile unsigned int *)((0x2f28 << 2) + 0xff900000) ++//Bit 31:27, reserved. ++//Bit 26:16, reg_mcdi_relsadthdmax. max for sad thd adj, 21*32, default = 672 ++//Bit 15: 9, reserved. ++//Bit 8: 0, reg_mcdi_relsadthdmin. min for sad thd adj, 21*2, default = 42 ++#define MCDI_REL_DET_GAIN_00 (0x2f29) ++#define P_MCDI_REL_DET_GAIN_00 (volatile unsigned int *)((0x2f29 << 2) + 0xff900000) ++//Bit 31:21, reserved. ++//Bit 20:16, reg_mcdi_reldetbsgain0. gain0 (gmv locked) for bs, for det. calc. normalized to 16 as '1', default = 8 ++//Bit 15:14, reserved. ++//Bit 13: 8, reg_mcdi_reldetbadwgain0. gain0 (gmv locked) for badw, for det. calc. normalized to 16 as '1', default = 12 ++//Bit 7: 5, reserved. ++//Bit 4: 0, reg_mcdi_reldetsadgain0. gain0 (gmv locked) for qsad, for det. calc. normalized to 16 as '1', default = 8 ++#define MCDI_REL_DET_GAIN_01 (0x2f2a) ++#define P_MCDI_REL_DET_GAIN_01 (volatile unsigned int *)((0x2f2a << 2) + 0xff900000) ++//Bit 31:14, reserved. ++//Bit 12: 8, reg_mcdi_reldetchkedgegain0. gain0 (gmv locked) for chk_edge, for det. calc. normalized to 16 as '1', default = 2 ++//Bit 7, reserved. ++//Bit 6: 0, reg_mcdi_reldetnbrdstgain0. gain0 (gmv locked) for neighoring dist, for det. calc. normalized to 16 as '1', default = 24 ++#define MCDI_REL_DET_GAIN_10 (0x2f2b) ++#define P_MCDI_REL_DET_GAIN_10 (volatile unsigned int *)((0x2f2b << 2) + 0xff900000) ++//Bit 31:21, reserved. ++//Bit 20:16, reg_mcdi_reldetbsgain1. gain1 (lmv locked) for bs, for det. calc. normalized to 16 as '1', default = 0 ++//Bit 15:14, reserved. ++//Bit 13: 8, reg_mcdi_reldetbadwgain1. gain1 (lmv locked) for badw, for det. calc. normalized to 16 as '1', default = 8 ++//Bit 7: 5, reserved. ++//Bit 4: 0, reg_mcdi_reldetsadgain1. gain1 (lmv locked) for qsad, for det. calc. normalized to 16 as '1', default = 8 ++#define MCDI_REL_DET_GAIN_11 (0x2f2c) ++#define P_MCDI_REL_DET_GAIN_11 (volatile unsigned int *)((0x2f2c << 2) + 0xff900000) ++//Bit 31:14, reserved. ++//Bit 12: 8, reg_mcdi_reldetchkedgegain1. gain1 (lmv locked) for chk_edge, for det. calc. normalized to 16 as '1', default = 0 ++//Bit 7, reserved. ++//Bit 6: 0, reg_mcdi_reldetnbrdstgain1. gain1 (lmv locked) for neighoring dist, for det. calc. normalized to 16 as '1', default = 24 ++#define MCDI_REL_DET_GAIN_20 (0x2f2d) ++#define P_MCDI_REL_DET_GAIN_20 (volatile unsigned int *)((0x2f2d << 2) + 0xff900000) ++//Bit 31:21, reserved. ++//Bit 20:16, reg_mcdi_reldetbsgain2. gain2 (no locked) for bs, for det. calc. normalized to 16 as '1', default = 12 ++//Bit 15:14, reserved. ++//Bit 13: 8, reg_mcdi_reldetbadwgain2. gain2 (no locked) for badw, for det. calc. normalized to 16 as '1', default = 32 ++//Bit 7: 5, reserved. ++//Bit 4: 0, reg_mcdi_reldetsadgain2. gain2 (no locked) for qsad, for det. calc. normalized to 16 as '1', default = 16 ++#define MCDI_REL_DET_GAIN_21 (0x2f2e) ++#define P_MCDI_REL_DET_GAIN_21 (volatile unsigned int *)((0x2f2e << 2) + 0xff900000) ++//Bit 31:26, reserved ++//Bit 25:16, reg_mcdi_reldetoffst. offset for rel calculation, for det. calc. -512~511, default = 0 ++//Bit 15:14, reserved. ++//Bit 12: 8, reg_mcdi_reldetchkedgegain2. gain2 (no locked) for chk_edge, for det. calc. normalized to 16 as '1', default = 10 ++//Bit 7, reserved. ++//Bit 6: 0, reg_mcdi_reldetnbrdstgain2. gain2 (no locked) for neighoring dist, for det. calc. normalized to 16 as '1', default = 32 ++#define MCDI_REL_DET_GMV_DIF_CHK (0x2f2f) ++#define P_MCDI_REL_DET_GMV_DIF_CHK (volatile unsigned int *)((0x2f2f << 2) + 0xff900000) ++//Bit 31:24, reserved. ++//Bit 23:16, reg_mcdi_reldetgmvfltthd. flat thd (>=) for gmv lock decision, default = 0 ++//Bit 15, reserved. ++//Bit 14:12, reg_mcdi_reldetgmvdifthd. dif thd (>=) for current mv different from gmv for gmv dif check, actually used in Lmv lock check, default = 3 ++//Bit 11, reserved. ++//Bit 10: 8, reg_mcdi_reldetgmvdifmin. min mv dif for gmv dif check, default = 1, note: dif between reg_mcdi_rel_det_gmv_dif_max and reg_mcdi_rel_det_gmv_dif_min should be; 0,1,3,7, not work for others ++//Bit 7: 4, reg_mcdi_reldetgmvdifmax. max mv dif for gmv dif check, default = 4 ++//Bit 3: 1, reserved ++//Bit 0, reg_mcdi_reldetgmvdifmvmode. mv mode used for gmv dif check, 0: use refmv, 1: use qmv, default = 0 ++#define MCDI_REL_DET_LMV_DIF_CHK (0x2f30) ++#define P_MCDI_REL_DET_LMV_DIF_CHK (volatile unsigned int *)((0x2f30 << 2) + 0xff900000) ++//Bit 31:24, reserved. ++//Bit 23:16, reg_mcdi_reldetlmvfltthd. flat thd (>=) for lmv lock decision, default = 12 ++//Bit 15:14, reserved. ++//Bit 13:12, reg_mcdi_reldetlmvlockchkmode. lmv lock check mode, 0:cur Lmv, 1: cur & (last | next), 2: last & cur & next Lmv, default = 1 ++//Bit 11, reserved. ++//Bit 10: 8, reg_mcdi_reldetlmvdifmin. min mv dif for lmv dif check, default = 1, note: dif between reg_mcdi_rel_det_lmv_dif_max and reg_mcdi_rel_det_lmv_dif_min should be; 0,1,3,7, not work for others ++//Bit 7: 4, reg_mcdi_reldetlmvdifmax. max mv dif for lmv dif check, default = 4 ++//Bit 3: 1, reserved ++//Bit 0, reg_mcdi_reldetlmvdifmvmode. mv mode used for lmv dif check, 0: use refmv, 1: use qmv, default = 0 ++#define MCDI_REL_DET_FRQ_CHK (0x2f31) ++#define P_MCDI_REL_DET_FRQ_CHK (volatile unsigned int *)((0x2f31 << 2) + 0xff900000) ++//Bit 31:12, reserved. ++//Bit 11: 8, reg_mcdi_reldetfrqgain. gain for frequency check, normalized to 4 as '1', default = 10 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_reldetfrqmax. max value for frequency check, default = 31 ++#define MCDI_REL_DET_PD22_CHK (0x2f32) ++#define P_MCDI_REL_DET_PD22_CHK (volatile unsigned int *)((0x2f32 << 2) + 0xff900000) ++//Bit 31:18, reserved. ++//Bit 17: 8, reg_mcdi_reldetpd22chkoffst. offset for pd22 check happened, default = 512 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_reldetpd22chkgain. gain for pd22 check happened, normalized to 8 as '1', default = 12 ++#define MCDI_REL_DET_RPT_CHK_ROW (0x2f33) ++#define P_MCDI_REL_DET_RPT_CHK_ROW (volatile unsigned int *)((0x2f33 << 2) + 0xff900000) ++//Bit 31:27, reserved ++//Bit 26:16, reg_mcdi_reldetrptchkendrow. end row (<) number for repeat check, default = 2047 ++//Bit 15:11, reserved ++//Bit 10: 0, reg_mcdi_reldetrptchkstartrow. start row (>=) number for repeat check, default = 0 ++#define MCDI_REL_DET_RPT_CHK_GAIN_QMV (0x2f34) ++#define P_MCDI_REL_DET_RPT_CHK_GAIN_QMV (volatile unsigned int *)((0x2f34 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_mcdi_reldetrptchkqmvmax. max thd (<) of abs qmv for repeat check, default = 15, note that quarter mv's range is -63~63 ++//Bit 23:22, reserved ++//Bit 21:16, reg_mcdi_reldetrptchkqmvmin. min thd (>=) of abs qmv for repeat check, default = 10, note that quarter mv's range is -63~63 ++//Bit 15, reserved/ ++//Bit 14: 4, reg_mcdi_reldetrptchkoffst. offset for repeat check, default = 512 ++//Bit 3: 0, reg_mcdi_reldetrptchkgain. gain for repeat check, normalized to 8 as '1', default = 4 ++#define MCDI_REL_DET_RPT_CHK_THD_0 (0x2f35) ++#define P_MCDI_REL_DET_RPT_CHK_THD_0 (volatile unsigned int *)((0x2f35 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_mcdi_reldetrptchkzerosadthd. zero sad thd (<) for repeat check, default = 255 ++//Bit 15:14, reserved. ++//Bit 13: 8, reg_mcdi_reldetrptchkzerobadwthd. zero badw thd (>=) for repeat check, default = 16 ++//Bit 7: 4, reserved ++//Bit 3: 0, reg_mcdi_reldetrptchkfrqdifthd. frequency dif thd (<) for repeat check, 0~10, default = 5 ++#define MCDI_REL_DET_RPT_CHK_THD_1 (0x2f36) ++#define P_MCDI_REL_DET_RPT_CHK_THD_1 (volatile unsigned int *)((0x2f36 << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_mcdi_reldetrptchkvdifthd. vertical dif thd (<) for repeat check, default = 16 ++//Bit 7: 0, reg_mcdi_reldetrptchkhdifthd. horizontal dif thd (>=) for repeat check, default = 16 ++#define MCDI_REL_DET_LPF_DIF_THD (0x2f37) ++#define P_MCDI_REL_DET_LPF_DIF_THD (volatile unsigned int *)((0x2f37 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_reldetlpfdifthd3. hdif thd (<) for lpf selection of horizontal block, default = 9 ++//Bit 23:16, reg_mcdi_reldetlpfdifthd2. vdif-hdif thd (>=) for lpf selection of horizontal block, default = 48 ++//Bit 15: 8, reg_mcdi_reldetlpfdifthd1. vdif thd (<) for lpf selection of vertical block, default = 9 ++//Bit 7: 0, reg_mcdi_reldetlpfdifthd0. hdif-vdif thd (>=) for lpf selection of vertical block, default = 48 ++#define MCDI_REL_DET_LPF_MSK_00_03 (0x2f38) ++#define P_MCDI_REL_DET_LPF_MSK_00_03 (volatile unsigned int *)((0x2f38 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:24, reg_mcdi_reldetlpfmsk03. det lpf mask03 for gmv/lmv locked mode, 0~16, default = 1 ++//Bit 23:21, reserved ++//Bit 20:16, reg_mcdi_reldetlpfmsk02. det lpf mask02 for gmv/lmv locked mode, 0~16, default = 1 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_reldetlpfmsk01. det lpf mask01 for gmv/lmv locked mode, 0~16, default = 5 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_reldetlpfmsk00. det lpf mask00 for gmv/lmv locked mode, 0~16, default = 8 ++#define MCDI_REL_DET_LPF_MSK_04_12 (0x2f39) ++#define P_MCDI_REL_DET_LPF_MSK_04_12 (volatile unsigned int *)((0x2f39 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:24, reg_mcdi_reldetlpfmsk12. det lpf mask12 for vertical blocks, 0~16, default = 0 ++//Bit 23:21, reserved ++//Bit 20:16, reg_mcdi_reldetlpfmsk11. det lpf mask11 for vertical blocks, 0~16, default = 0 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_reldetlpfmsk10. det lpf mask10 for vertical blocks, 0~16, default = 16 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_reldetlpfmsk04. det lpf mask04 for gmv/lmv locked mode, 0~16, default = 1 ++#define MCDI_REL_DET_LPF_MSK_13_21 (0x2f3a) ++#define P_MCDI_REL_DET_LPF_MSK_13_21 (volatile unsigned int *)((0x2f3a << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:24, reg_mcdi_reldetlpfmsk21. det lpf mask21 for horizontal blocks, 0~16, default = 6 ++//Bit 23:21, reserved ++//Bit 20:16, reg_mcdi_reldetlpfmsk20. det lpf mask20 for horizontal blocks, 0~16, default = 8 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_reldetlpfmsk14. det lpf mask14 for vertical blocks, 0~16, default = 0 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_reldetlpfmsk13. det lpf mask13 for vertical blocks, 0~16, default = 0 ++#define MCDI_REL_DET_LPF_MSK_22_30 (0x2f3b) ++#define P_MCDI_REL_DET_LPF_MSK_22_30 (volatile unsigned int *)((0x2f3b << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:24, reg_mcdi_reldetlpfmsk30. det lpf mask30 for other blocks, 0~16, default = 16 ++//Bit 23:21, reserved ++//Bit 20:16, reg_mcdi_reldetlpfmsk24. det lpf mask24 for horizontal blocks, 0~16, default = 1 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_reldetlpfmsk23. det lpf mask23 for horizontal blocks, 0~16, default = 0 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_reldetlpfmsk22. det lpf mask22 for horizontal blocks, 0~16, default = 1 ++#define MCDI_REL_DET_LPF_MSK_31_34 (0x2f3c) ++#define P_MCDI_REL_DET_LPF_MSK_31_34 (volatile unsigned int *)((0x2f3c << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:24, reg_mcdi_reldetlpfmsk34. det lpf mask34 for other blocks, 0~16, default = 0 ++//Bit 23:21, reserved ++//Bit 20:16, reg_mcdi_reldetlpfmsk33. det lpf mask33 for other blocks, 0~16, default = 0 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_reldetlpfmsk32. det lpf mask32 for other blocks, 0~16, default = 0 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_reldetlpfmsk31. det lpf mask31 for other blocks, 0~16, default = 0 ++//Note: there are four group lpf masks from addr 37~3b, each group sum equal to 16. ++#define MCDI_REL_DET_MIN (0x2f3d) ++#define P_MCDI_REL_DET_MIN (volatile unsigned int *)((0x2f3d << 2) + 0xff900000) ++//Bit 31: 7, reserved ++//Bit 6: 0, reg_mcdi_reldetmin. min of detected value, default = 16 ++#define MCDI_REL_DET_LUT_0_3 (0x2f3e) ++#define P_MCDI_REL_DET_LUT_0_3 (volatile unsigned int *)((0x2f3e << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_reldetmaplut3. default = 8 ++//Bit 23:16, reg_mcdi_reldetmaplut2. default = 4 ++//Bit 15: 8, reg_mcdi_reldetmaplut1. default = 2 ++//Bit 7: 0, reg_mcdi_reldetmaplut0. default = 0 ++#define MCDI_REL_DET_LUT_4_7 (0x2f3f) ++#define P_MCDI_REL_DET_LUT_4_7 (volatile unsigned int *)((0x2f3f << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_reldetmaplut7. default = 64 ++//Bit 23:16, reg_mcdi_reldetmaplut6. default = 48 ++//Bit 15: 8, reg_mcdi_reldetmaplut5. default = 32 ++//Bit 7: 0, reg_mcdi_reldetmaplut4. default = 16 ++#define MCDI_REL_DET_LUT_8_11 (0x2f40) ++#define P_MCDI_REL_DET_LUT_8_11 (volatile unsigned int *)((0x2f40 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_reldetmaplut11. default = 160 ++//Bit 23:16, reg_mcdi_reldetmaplut10. default = 128 ++//Bit 15: 8, reg_mcdi_reldetmaplut9. default = 96 ++//Bit 7: 0, reg_mcdi_reldetmaplut8. default = 80 ++#define MCDI_REL_DET_LUT_12_15 (0x2f41) ++#define P_MCDI_REL_DET_LUT_12_15 (volatile unsigned int *)((0x2f41 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_reldetmaplut15. default = 255 ++//Bit 23:16, reg_mcdi_reldetmaplut14. default = 240 ++//Bit 15: 8, reg_mcdi_reldetmaplut13. default = 224 ++//Bit 7: 0, reg_mcdi_reldetmaplut12. default = 192 ++#define MCDI_REL_DET_COL_CFD_THD (0x2f42) ++#define P_MCDI_REL_DET_COL_CFD_THD (volatile unsigned int *)((0x2f42 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_reldetcolcfdfltthd. thd for flat smaller than (<) of column cofidence, default = 5 ++//Bit 23:16, reg_mcdi_reldetcolcfdthd1. thd for rel larger than (>=) in rel calc. mode col confidence without gmv locking, default = 160 ++//Bit 15: 8, reg_mcdi_reldetcolcfdthd0. thd for rel larger than (>=) in rel calc. mode col confidence when gmv locked, default = 100 ++//Bit 7: 2, reg_mcdi_reldetcolcfdbadwthd. thd for badw larger than (>=) in qbadw calc. mode of column cofidence, default = 16 ++//Bit 1, reserved ++//Bit 0, reg_mcdi_reldetcolcfdcalcmode. calc. mode for column cofidence, 0: use rel, 1: use qbadw, default = 0 ++#define MCDI_REL_DET_COL_CFD_AVG_LUMA (0x2f43) ++#define P_MCDI_REL_DET_COL_CFD_AVG_LUMA (volatile unsigned int *)((0x2f43 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_reldetcolcfdavgmin1. avg luma min1 (>=) for column cofidence, valid between 16~235, default = 235 ++//Bit 23:16, reg_mcdi_reldetcolcfdavgmax1. avg luma max1 (<) for column cofidence, valid between 16~235, default = 235 ++//Bit 15: 8, reg_mcdi_reldetcolcfdavgmin0. avg luma min0 (>=) for column cofidence, valid between 16~235, default = 16 ++//Bit 7: 0, reg_mcdi_reldetcolcfdavgmax0. avg luma max0 (<) for column cofidence, valid between 16~235, default = 21 ++#define MCDI_REL_DET_BAD_THD_0 (0x2f44) ++#define P_MCDI_REL_DET_BAD_THD_0 (volatile unsigned int *)((0x2f44 << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_mcdi_reldetbadsadthd. thd (>=) for bad sad, default = 120 (480/4) ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_mcdi_reldetbadbadwthd. thd (>=) for bad badw, 0~42, default = 12 ++#define MCDI_REL_DET_BAD_THD_1 (0x2f45) ++#define P_MCDI_REL_DET_BAD_THD_1 (volatile unsigned int *)((0x2f45 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_mcdi_reldetbadrelfltthd. thd (>=) of flat for bad rel detection, default = 4 ++//Bit 15: 8, reg_mcdi_reldetbadrelthd1. thd (>=) for bad rel without gmv/lmv locked, default = 160 ++//Bit 7: 0, reg_mcdi_reldetbadrelthd0. thd (>=) for bad rel with gmv/lmv locked, default = 120 ++#define MCDI_PD22_CHK_THD (0x2f46) ++#define P_MCDI_PD22_CHK_THD (volatile unsigned int *)((0x2f46 << 2) + 0xff900000) ++//Bit 31:25, reserved ++//Bit 24:16, reg_mcdi_pd22chksaddifthd. sad dif thd (>=) for (pd22chksad - qsad) for pd22 check, default = 64 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_mcdi_pd22chkqmvthd. thd (>=) of abs qmv for pd22 check, default = 2 ++//Bit 7: 0, reg_mcdi_pd22chkfltthd. thd (>=) of flat for pd22 check, default = 4 ++#define MCDI_PD22_CHK_GAIN_OFFST_0 (0x2f47) ++#define P_MCDI_PD22_CHK_GAIN_OFFST_0 (volatile unsigned int *)((0x2f47 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_pd22chkedgeoffst0. offset0 of pd22chkedge from right film22 phase, -128~127, default = 0 ++//Bit 23:21, reserved ++//Bit 20:16, reg_mcdi_pd22chkedgegain0. gain0 of pd22chkedge from right film22 phase, normalized to 16 as '1', default = 16 ++//Bit 15:12, reserved ++//Bit 11: 8, reg_mcdi_pd22chkbadwoffst0. offset0 of pd22chkbadw from right film22 phase, -8~7, default = 0 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_pd22chkbadwgain0. gain0 of pd22chkbadw from right film22 phase, normalized to 16 as '1', default = 8 ++#define MCDI_PD22_CHK_GAIN_OFFST_1 (0x2f48) ++#define P_MCDI_PD22_CHK_GAIN_OFFST_1 (volatile unsigned int *)((0x2f48 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_pd22chkedgeoffst1. offset1 of pd22chkedge from right film22 phase, -128~127, default = 0 ++//Bit 23:21, reserved ++//Bit 20:16, reg_mcdi_pd22chkedgegain1. gain1 of pd22chkedge from right film22 phase, normalized to 16 as '1', default = 16 ++//Bit 15:12, reserved ++//Bit 11: 8, reg_mcdi_pd22chkbadwoffst1. offset1 of pd22chkbadw from right film22 phase, -8~7, default = 0 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_pd22chkbadwgain1. gain1 of pd22chkbadw from right film22 phase, normalized to 16 as '1', default = 12 ++#define MCDI_LMV_LOCK_CNT_THD_GAIN (0x2f49) ++#define P_MCDI_LMV_LOCK_CNT_THD_GAIN (volatile unsigned int *)((0x2f49 << 2) + 0xff900000) ++//Bit 31:20, reserved ++//Bit 19:16, reg_mcdi_lmvlockcntmax. max lmv lock count number, default = 6 ++//Bit 15:12, reg_mcdi_lmvlockcntoffst. offset for lmv lock count, -8~7, default = 0 ++//Bit 11: 8, reg_mcdi_lmvlockcntgain. gain for lmv lock count, normalized 8 as '1', 15 is set to 16, default = 8 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_lmvlockcntthd. lmv count thd (>=) before be locked, 1~31, default = 4 ++#define MCDI_LMV_LOCK_ABS_DIF_THD (0x2f4a) ++#define P_MCDI_LMV_LOCK_ABS_DIF_THD (volatile unsigned int *)((0x2f4a << 2) + 0xff900000) ++//Bit 31:27, reserved ++//Bit 26:24, reg_mcdi_lmvlockdifthd2. lmv dif thd for third part, before locked, default = 1 ++//Bit 23, reserved ++//Bit 22:20, reg_mcdi_lmvlockdifthd1. lmv dif thd for second part, before locked, default = 1 ++//Bit 19, reserved ++//Bit 18:16, reg_mcdi_lmvlockdifthd0. lmv dif thd for first part, before locked, default = 1 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_lmvlockabsmax. max abs (<) of lmv to be locked, default = 24 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_lmvlockabsmin. min abs (>=) of lmv to be locked, default = 1 ++#define MCDI_LMV_LOCK_ROW (0x2f4b) ++#define P_MCDI_LMV_LOCK_ROW (volatile unsigned int *)((0x2f4b << 2) + 0xff900000) ++//Bit 31:27, reserved ++//Bit 26:16, reg_mcdi_lmvlockendrow. end row (<) for lmv lock, default = 2047 ++//Bit 15:11, reserved ++//Bit 10: 0, reg_mcdi_lmvlockstartrow. start row (>=) for lmv lock, default = 0 ++#define MCDI_LMV_LOCK_RT_MODE (0x2f4c) ++#define P_MCDI_LMV_LOCK_RT_MODE (volatile unsigned int *)((0x2f4c << 2) + 0xff900000) ++//Bit 31:27, reserved ++//Bit 26:24, reg_mcdi_lmvlockextmode. extend lines for lmv lock check, check how many lines for lmv locking, default = 2 ++//Bit 23:16, reg_mcdi_lmvlockfltcntrt. ratio of flt cnt for lock check, normalized 256 as '1', 255 is set to 256, default = 32 ++//Bit 15: 8, reg_mcdi_lmvlocklmvcntrt1. ratio when use non-zero lmv for lock check, normalized 256 as '1', 255 is set to 256, default = 48 ++//Bit 7: 0, reg_mcdi_lmvlocklmvcntrt0. ratio when use max lmv for lock check, normalized 256 as '1', 255 is set to 256, default = 106 ++#define MCDI_GMV_LOCK_CNT_THD_GAIN (0x2f4d) ++#define P_MCDI_GMV_LOCK_CNT_THD_GAIN (volatile unsigned int *)((0x2f4d << 2) + 0xff900000) ++//Bit 31:20, reserved ++//Bit 19:16, reg_mcdi_gmvlockcntmax. max gmv lock count number, default = 6 ++//Bit 15:12, reg_mcdi_gmvlockcntoffst. offset for gmv lock count, -8~7, default = 0 ++//Bit 11: 8, reg_mcdi_gmvlockcntgain. gain for gmv lock count, normalized 8 as '1', 15 is set to 16, default = 8 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_gmvlockcntthd. gmv count thd (>=) before be locked, 1~31, default = 4 ++#define MCDI_GMV_LOCK_ABS_DIF_THD (0x2f4e) ++#define P_MCDI_GMV_LOCK_ABS_DIF_THD (volatile unsigned int *)((0x2f4e << 2) + 0xff900000) ++//Bit 31:27, reserved ++//Bit 26:24, reg_mcdi_gmvlockdifthd2. gmv dif thd for third part, before locked, default = 3 ++//Bit 23, reserved ++//Bit 22:20, reg_mcdi_gmvlockdifthd1. gmv dif thd for second part, before locked, default = 2 ++//Bit 19, reserved ++//Bit 18:16, reg_mcdi_gmvlockdifthd0. gmv dif thd for first part, before locked, default = 1 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_gmvlockabsmax. max abs of gmv to be locked, default = 15 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_gmvlockabsmin. min abs of gmv to be locked, default = 1 ++#define MCDI_HIGH_VERT_FRQ_DIF_THD (0x2f4f) ++#define P_MCDI_HIGH_VERT_FRQ_DIF_THD (volatile unsigned int *)((0x2f4f << 2) + 0xff900000) ++//Bit 31: 0, reg_mcdi_highvertfrqfldavgdifthd. high_vert_frq field average luma dif thd (>=), 3*Blk_Width*Blk_Height, set by software, default = 103680 ++#define MCDI_HIGH_VERT_FRQ_DIF_DIF_THD (0x2f50) ++#define P_MCDI_HIGH_VERT_FRQ_DIF_DIF_THD (volatile unsigned int *)((0x2f50 << 2) + 0xff900000) ++//Bit 31: 0, reg_mcdi_highvertfrqfldavgdifdifthd. high_vert_frq field average luma dif's dif thd (<), 3*Blk_Width*Blk_Height, set by software, default = 103680 ++#define MCDI_HIGH_VERT_FRQ_RT_GAIN (0x2f51) ++#define P_MCDI_HIGH_VERT_FRQ_RT_GAIN (volatile unsigned int *)((0x2f51 << 2) + 0xff900000) ++//Bit 31:20, reserved ++//Bit 19:16, reg_mcdi_highvertfrqcntthd. high_vert_frq count thd (>=) before locked, 1~31, default = 4 ++//Bit 15: 8, reg_mcdi_highvertfrqbadsadrt. ratio for high_vert_frq bad sad count, normalized 256 as '1', 255 is set to 256, default = 24 ++//Bit 7: 0, reg_mcdi_highvertfrqbadbadwrt. ratio for high_vert_frq badw count, normalized 256 as '1', 255 is set to 256, default = 130 ++#define MCDI_MOTION_PARADOX_THD (0x2f52) ++#define P_MCDI_MOTION_PARADOX_THD (volatile unsigned int *)((0x2f52 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:24, reg_mcdi_motionparadoxcntthd. motion paradox count thd (>=) before locked, 1~31, default = 4 ++//Bit 23:22, reserved ++//Bit 21:16, reg_mcdi_motionparadoxgmvthd. abs gmv thd (<) of motion paradox, 0~32, note that 32 means invalid gmv, be careful, default = 32 ++//Bit 15: 0, reserved ++#define MCDI_MOTION_PARADOX_RT (0x2f53) ++#define P_MCDI_MOTION_PARADOX_RT (volatile unsigned int *)((0x2f53 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_mcdi_motionparadoxbadsadrt. ratio for field bad sad count of motion paradox, normalized 256 as '1', 255 is set to 256, default = 24 ++//Bit 15: 8, reg_mcdi_motionparadoxbadrelrt. ratio for field bad reliabilty count of motion paradox, normalized 256 as '1', 255 is set to 256, default = 120 ++//Bit 7: 0, reg_mcdi_motionparadoxmtnrt. ratio for field motion count of motion paradox, normalized 256 as '1', 255 is set to 256, default = 218 ++#define MCDI_MOTION_REF_THD (0x2f54) ++#define P_MCDI_MOTION_REF_THD (volatile unsigned int *)((0x2f54 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:20, reg_mcdi_motionrefoffst. motion ref additive offset, default = 15 ++//Bit 19:16, reg_mcdi_motionrefgain. motion ref gain, normalized 8 as '1', default = 8 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_motionrefrptmvthd. abs thd (>=) of rpt mv (0~31, 32 means invalid) for motion ref, default = 1 ++//Bit 7: 2, reg_mcdi_motionrefqmvthd. min thd (>=) of abs qmv for motion ref, note that quarter mv's range is -63~63, default = 2 ++//Bit 1: 0, reg_mcdi_motionreflpfmode. Mv and (8 x repeat flg) 's lpf mode of motion refinement, 0: no lpf, 1: [1 2 1], 2: [1 2 2 2 1], default = 1 ++#define MCDI_REL_COL_REF_RT (0x2f55) ++#define P_MCDI_REL_COL_REF_RT (volatile unsigned int *)((0x2f55 << 2) + 0xff900000) ++//Bit 31: 8, reserved ++//Bit 7: 0, reg_mcdi_relcolrefrt. ratio for column cofidence level against column number, for refinement, default = 135 ++#define MCDI_PD22_CHK_THD_RT (0x2f56) ++#define P_MCDI_PD22_CHK_THD_RT (volatile unsigned int *)((0x2f56 << 2) + 0xff900000) ++//Bit 31:27, reserved ++//Bit 26:16, reg_mcdi_pd22chkfltcntrt. ratio for flat count of field pulldown 22 check, normalized 2048 as '1', 2047 is set to 2048, default = 1 ++//Bit 15: 8, reg_mcdi_pd22chkcntrt. ratio of pulldown 22 check count, normalized 256 as '1', 255 is set to 256, default = 100 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_pd22chkcntthd. thd (>=) for pd22 count before locked, 1~31, default = 4 ++#define MCDI_CHAR_DET_DIF_THD (0x2f57) ++#define P_MCDI_CHAR_DET_DIF_THD (volatile unsigned int *)((0x2f57 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_mcdi_chardetminmaxdifthd. thd (>=) for dif between min and max value, default = 64 ++//Bit 15: 8, reg_mcdi_chardetmaxdifthd. thd (<) for dif between max value, default = 17 ++//Bit 7: 0, reg_mcdi_chardetmindifthd. thd (<) for dif between min value, default = 17 ++#define MCDI_CHAR_DET_CNT_THD (0x2f58) ++#define P_MCDI_CHAR_DET_CNT_THD (volatile unsigned int *)((0x2f58 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_mcdi_chardettotcntthd. thd (>=) for total count, 0~21, default = 18 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_chardetmaxcntthd. thd (>=) for max count, 0~21, default = 1 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_chardetmincntthd. thd (>=) for min count, 0~21, default = 1 ++//new add ++#define MCDI_PD_22_CHK_WND0_X (0x2f59) ++#define P_MCDI_PD_22_CHK_WND0_X (volatile unsigned int *)((0x2f59 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, reg_mcdi_pd22chkwnd0_x1 u13, x1 for window 0, HSIZE-1, software control, default = 719 ++//Bit 15:13, reserved ++//Bit 12: 0, reg_mcdi_pd22chkwnd0_x0 u13, x0 for window 0, software control, default = 0 ++#define MCDI_PD_22_CHK_WND0_Y (0x2f5a) ++#define P_MCDI_PD_22_CHK_WND0_Y (volatile unsigned int *)((0x2f5a << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, reg_mcdi_pd22chkwnd0_y1 u13, y1 for window 0 software control, default = 39 ++//Bit 15:13, reserved ++//Bit 12: 0, reg_mcdi_pd22chkwnd0_y0 u13, y0 for window 0, software control, default = 0 ++#define MCDI_PD_22_CHK_WND1_X (0x2f5b) ++#define P_MCDI_PD_22_CHK_WND1_X (volatile unsigned int *)((0x2f5b << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, reg_mcdi_pd22chkwnd1_x1 u13, x1 for window 1, HSIZE-1, software control, default = 719 ++//Bit 15:13, reserved ++//Bit 12: 0, reg_mcdi_pd22chkwnd1_x0 u13, x0 for window 1, software control, default = 0 ++#define MCDI_PD_22_CHK_WND1_Y (0x2f5c) ++#define P_MCDI_PD_22_CHK_WND1_Y (volatile unsigned int *)((0x2f5c << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, reg_mcdi_pd22chkwnd1_y1 u13, y1 for window 1 software control, default = 199 ++//Bit 15:13, reserved ++//Bit 12: 0, reg_mcdi_pd22chkwnd1_y0 u13, y0 for window 1, software control, default = 40 ++#define MCDI_PD_22_CHK_FRC_LMV (0x2f5d) ++#define P_MCDI_PD_22_CHK_FRC_LMV (volatile unsigned int *)((0x2f5d << 2) + 0xff900000) ++//Bit 31:11, reserved ++//Bit 10, reg_mcdi_pd22chklmvchk2 u1, lmv lock check while force vof for each windows, default = 1 ++//Bit 9, reg_mcdi_pd22chklmvchk1 u1, lmv lock check while force vof for each windows, default = 0 ++//Bit 8, reg_mcdi_pd22chklmvchk0 u1, lmv lock check while force vof for each windows, default = 0 ++//Bit 7, reserved ++//Bit 6, reg_mcdi_pd22chkfrcpd2 u1, force pd flags for each windows, default = 0 ++//Bit 5, reg_mcdi_pd22chkfrcpd1 u1, force pd flags for each windows, default = 0 ++//Bit 4, reg_mcdi_pd22chkfrcpd0 u1, force pd flags for each windows, default = 0 ++//Bit 3, reserved ++//Bit 2, reg_mcdi_pd22chkfrcvof2 u1, force vof flags for each windows, default = 1 ++//Bit 1, reg_mcdi_pd22chkfrcvof1 u1, force vof flags for each windows, default = 0 ++//Bit 0, reg_mcdi_pd22chkfrcvof0 u1, force vof flags for each windows, default = 0 ++#define MCDI_PD_22_CHK_FLG_CNT (0x2f5e) ++#define P_MCDI_PD_22_CHK_FLG_CNT (volatile unsigned int *)((0x2f5e << 2) + 0xff900000) ++//Bit 31:27, reserved. ++//Bit 26, reg_mcdi_pd22chkflg2. pull down 22 flag of prevoius one field. initial = 0 ++//Bit 25, reg_mcdi_pd22chkflg1. pull down 22 flag of prevoius one field. initial = 0 ++//Bit 24, reg_mcdi_pd22chkflg. pull down 22 flag of prevoius one field. initial = 0 ++//Bit 23:16, reg_mcdi_pd22chkcnt2. pull down 22 count till prevoius one field. initial = 0 ++//Bit 15: 8, reg_mcdi_pd22chkcnt1. pull down 22 count till prevoius one field. initial = 0 ++//Bit 7: 0, reg_mcdi_pd22chkcnt. pull down 22 count till prevoius one field. initial = 0 ++#define MCDI_RO_FLD_PD_22_PRE_CNT1 (0x2fca) ++#define P_MCDI_RO_FLD_PD_22_PRE_CNT1 (volatile unsigned int *)((0x2fca << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldpd22precnt1. prevoius pd22 check count of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_PD_22_FOR_CNT1 (0x2fcb) ++#define P_MCDI_RO_FLD_PD_22_FOR_CNT1 (volatile unsigned int *)((0x2fcb << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldpd22forcnt1. forward pd22 check count of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_PD_22_FLT_CNT1 (0x2fcc) ++#define P_MCDI_RO_FLD_PD_22_FLT_CNT1 (volatile unsigned int *)((0x2fcc << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldpd22fltcnt1. flat count (for pd22 check) of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_PD_22_PRE_CNT2 (0x2fcd) ++#define P_MCDI_RO_FLD_PD_22_PRE_CNT2 (volatile unsigned int *)((0x2fcd << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldpd22precnt2. prevoius pd22 check count of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_PD_22_FOR_CNT2 (0x2fce) ++#define P_MCDI_RO_FLD_PD_22_FOR_CNT2 (volatile unsigned int *)((0x2fce << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldpd22forcnt2. forward pd22 check count of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_PD_22_FLT_CNT2 (0x2fcf) ++#define P_MCDI_RO_FLD_PD_22_FLT_CNT2 (volatile unsigned int *)((0x2fcf << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldpd22fltcnt2. flat count (for pd22 check) of whole pre one field (block based). initial = 0 ++#define MCDI_FIELD_MV (0x2f60) ++#define P_MCDI_FIELD_MV (volatile unsigned int *)((0x2f60 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_pd22chkcnt ++//Bit 23:16, reg_mcdi_fieldgmvcnt ++//Bit 15, reg_mcdi_pd22chkflg ++//Bit 14, reg_mcdi_fieldgmvlock ++//Bit 13: 8, reg_mcdi_fieldrptmv. last field rpt mv ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_mcdi_fieldgmv. last field gmv ++#define MCDI_FIELD_HVF_PRDX_CNT (0x2f61) ++#define P_MCDI_FIELD_HVF_PRDX_CNT (volatile unsigned int *)((0x2f61 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_motionparadoxcnt. ++//Bit 23:17, reserved ++//Bit 16, reg_mcdi_motionparadoxflg. ++//Bit 15: 8, reg_mcdi_highvertfrqcnt. ++//Bit 7: 4, reserved ++//Bit 3: 2, reg_mcdi_highvertfrqphase. ++//Bit 1, reserved ++//Bit 0, reg_mcdi_highvertfrqflg. ++#define MCDI_FIELD_LUMA_AVG_SUM_0 (0x2f62) ++#define P_MCDI_FIELD_LUMA_AVG_SUM_0 (volatile unsigned int *)((0x2f62 << 2) + 0xff900000) ++//Bit 31: 0, reg_mcdi_fld_luma_avg_sum0. ++#define MCDI_FIELD_LUMA_AVG_SUM_1 (0x2f63) ++#define P_MCDI_FIELD_LUMA_AVG_SUM_1 (volatile unsigned int *)((0x2f63 << 2) + 0xff900000) ++//Bit 31: 0, reg_mcdi_fld_luma_avg_sum1. ++#define MCDI_YCBCR_BLEND_CRTL (0x2f64) ++#define P_MCDI_YCBCR_BLEND_CRTL (volatile unsigned int *)((0x2f64 << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_mcdi_ycbcrblendgain. ycbcr blending gain for cbcr in ycbcr. default = 0 ++//Bit 7: 2, reserved. ++//Bit 1: 0, reg_mcdi_ycbcrblendmode. 0:y+cmb(cb,cr), 1:med(r,g,b), 2:max(r,g,b), default = 2 ++#define MCDI_MCVECWR_CANVAS_SIZE (0x2f65) ++#define P_MCDI_MCVECWR_CANVAS_SIZE (volatile unsigned int *)((0x2f65 << 2) + 0xff900000) ++#define MCDI_MCVECRD_CANVAS_SIZE (0x2f66) ++#define P_MCDI_MCVECRD_CANVAS_SIZE (volatile unsigned int *)((0x2f66 << 2) + 0xff900000) ++#define MCDI_MCINFOWR_CANVAS_SIZE (0x2f67) ++#define P_MCDI_MCINFOWR_CANVAS_SIZE (volatile unsigned int *)((0x2f67 << 2) + 0xff900000) ++#define MCDI_MCINFORD_CANVAS_SIZE (0x2f68) ++#define P_MCDI_MCINFORD_CANVAS_SIZE (volatile unsigned int *)((0x2f68 << 2) + 0xff900000) ++#define MCDI_MCVECWR_X (0x2f92) ++#define P_MCDI_MCVECWR_X (volatile unsigned int *)((0x2f92 << 2) + 0xff900000) ++#define MCDI_MCVECWR_Y (0x2f93) ++#define P_MCDI_MCVECWR_Y (volatile unsigned int *)((0x2f93 << 2) + 0xff900000) ++#define MCDI_MCVECWR_CTRL (0x2f94) ++#define P_MCDI_MCVECWR_CTRL (volatile unsigned int *)((0x2f94 << 2) + 0xff900000) ++#define MCDI_MCVECRD_X (0x2f95) ++#define P_MCDI_MCVECRD_X (volatile unsigned int *)((0x2f95 << 2) + 0xff900000) ++#define MCDI_MCVECRD_Y (0x2f96) ++#define P_MCDI_MCVECRD_Y (volatile unsigned int *)((0x2f96 << 2) + 0xff900000) ++#define MCDI_MCVECRD_CTRL (0x2f97) ++#define P_MCDI_MCVECRD_CTRL (volatile unsigned int *)((0x2f97 << 2) + 0xff900000) ++#define MCDI_MCINFOWR_X (0x2f98) ++#define P_MCDI_MCINFOWR_X (volatile unsigned int *)((0x2f98 << 2) + 0xff900000) ++#define MCDI_MCINFOWR_Y (0x2f99) ++#define P_MCDI_MCINFOWR_Y (volatile unsigned int *)((0x2f99 << 2) + 0xff900000) ++#define MCDI_MCINFOWR_CTRL (0x2f9a) ++#define P_MCDI_MCINFOWR_CTRL (volatile unsigned int *)((0x2f9a << 2) + 0xff900000) ++#define MCDI_MCINFORD_X (0x2f9b) ++#define P_MCDI_MCINFORD_X (volatile unsigned int *)((0x2f9b << 2) + 0xff900000) ++#define MCDI_MCINFORD_Y (0x2f9c) ++#define P_MCDI_MCINFORD_Y (volatile unsigned int *)((0x2f9c << 2) + 0xff900000) ++#define MCDI_MCINFORD_CTRL (0x2f9d) ++#define P_MCDI_MCINFORD_CTRL (volatile unsigned int *)((0x2f9d << 2) + 0xff900000) ++// ================================================================== MC registers ======================================================================================================== ++#define MCDI_MC_CRTL (0x2f70) ++#define P_MCDI_MC_CRTL (volatile unsigned int *)((0x2f70 << 2) + 0xff900000) ++//Bit 31: 9, reserved ++//Bit 8, reg_mcdi_mcpreflg. flag to use previous field for MC, 0:forward field, 1: previous field, default = 1 ++//Bit 7, reg_mcdi_mcrelrefbycolcfden. enable rel refinement by column cofidence in mc blending, default = 1 ++//Bit 6: 5, reg_mcdi_mclpfen. enable mc pixles/rel lpf, 0:disable, 1: lpf rel, 2: lpf mc pxls, 3: lpf both rel and mc pxls, default = 0 ++//Bit 4: 2, reg_mcdi_mcdebugmode. enable mc debug mode, 0:disable, 1: split left/right, 2: split top/bottom, 3: debug mv, 4: debug rel, default = 0 ++//Bit 1: 0, reg_mcdi_mcen. mcdi enable mode, 0:disable, 1: blend with ma, 2: full mc, default = 1 ++#define MCDI_MC_LPF_MSK_0 (0x2f71) ++#define P_MCDI_MC_LPF_MSK_0 (volatile unsigned int *)((0x2f71 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_mcdi_mclpfmsk02. mc lpf coef. 2 for pixel 0 of current block, normalized 16 as '1', default = 0 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_mclpfmsk01. mc lpf coef. 1 for pixel 0 of current block, normalized 16 as '1', default = 9 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_mclpfmsk00. mc lpf coef. 0 for pixel 0 of current block, normalized 16 as '1', default = 7 ++#define MCDI_MC_LPF_MSK_1 (0x2f72) ++#define P_MCDI_MC_LPF_MSK_1 (volatile unsigned int *)((0x2f72 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_mcdi_mclpfmsk12. mc lpf coef. 2 for pixel 1 of current block, 0~16, normalized 16 as '1', default = 0 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_mclpfmsk11. mc lpf coef. 1 for pixel 1 of current block, 0~16, normalized 16 as '1', default = 11 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_mclpfmsk10. mc lpf coef. 0 for pixel 1 of current block, 0~16, normalized 16 as '1', default = 5 ++#define MCDI_MC_LPF_MSK_2 (0x2f73) ++#define P_MCDI_MC_LPF_MSK_2 (volatile unsigned int *)((0x2f73 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_mcdi_mclpfmsk22. mc lpf coef. 2 for pixel 2 of current block, 0~16, normalized 16 as '1', default = 1 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_mclpfmsk21. mc lpf coef. 1 for pixel 2 of current block, 0~16, normalized 16 as '1', default = 14 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_mclpfmsk20. mc lpf coef. 0 for pixel 2 of current block, 0~16, normalized 16 as '1', default = 1 ++#define MCDI_MC_LPF_MSK_3 (0x2f74) ++#define P_MCDI_MC_LPF_MSK_3 (volatile unsigned int *)((0x2f74 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_mcdi_mclpfmsk32. mc lpf coef. 2 for pixel 3 of current block, 0~16, normalized 16 as '1', default = 5 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_mclpfmsk31. mc lpf coef. 1 for pixel 3 of current block, 0~16, normalized 16 as '1', default = 11 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_mclpfmsk30. mc lpf coef. 0 for pixel 3 of current block, 0~16, normalized 16 as '1', default = 0 ++#define MCDI_MC_LPF_MSK_4 (0x2f75) ++#define P_MCDI_MC_LPF_MSK_4 (volatile unsigned int *)((0x2f75 << 2) + 0xff900000) ++//Bit 31:21, reserved ++//Bit 20:16, reg_mcdi_mclpfmsk42. mc lpf coef. 2 for pixel 4 of current block, 0~16, normalized 16 as '1', default = 7 ++//Bit 15:13, reserved ++//Bit 12: 8, reg_mcdi_mclpfmsk41. mc lpf coef. 1 for pixel 4 of current block, 0~16, normalized 16 as '1', default = 9 ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_mcdi_mclpfmsk40. mc lpf coef. 0 for pixel 4 of current block, 0~16, normalized 16 as '1', default = 0 ++#define MCDI_MC_REL_GAIN_OFFST_0 (0x2f76) ++#define P_MCDI_MC_REL_GAIN_OFFST_0 (volatile unsigned int *)((0x2f76 << 2) + 0xff900000) ++//Bit 31:26, reserved ++//Bit 25, reg_mcdi_mcmotionparadoxflg. flag of motion paradox, initial with 0 and read from software, default = 0 ++//Bit 24, reg_mcdi_mchighvertfrqflg. flag of high vert frq, initial with 0 and read from software, default = 0 ++//Bit 23:16, reg_mcdi_mcmotionparadoxoffst. offset (rel + offset) for rel (MC blending coef.) refinement if motion paradox detected before MC blending before MC blending, default = 128 ++//Bit 15:12, reserved ++//Bit 11: 8, reg_mcdi_mcmotionparadoxgain. gain for rel (MC blending coef.) refinement if motion paradox detected before MC blending, normalized 8 as '1', set 15 to 16, default = 8 ++//Bit 7: 4, reg_mcdi_mchighvertfrqoffst. minus offset (alpha - offset) for motion (MA blending coef.) refinement if high vertical frequency detected before MA blending, default = 15 ++//Bit 3: 0, reg_mcdi_mchighvertfrqgain. gain for motion (MA blending coef.) refinement if high vertical frequency detected before MA blending, normalized 8 as '1', set 15 to 16, default = 8 ++#define MCDI_MC_REL_GAIN_OFFST_1 (0x2f77) ++#define P_MCDI_MC_REL_GAIN_OFFST_1 (volatile unsigned int *)((0x2f77 << 2) + 0xff900000) ++//Bit 31:24, reg_mcdi_mcoutofboundrayoffst. offset (rel + offset) for rel (MC blending coef.) refinement if MC pointed out of boundray before MC blending before MC blending, default = 255 ++//Bit 23:20, reserved ++//Bit 19:16, reg_mcdi_mcoutofboundraygain. gain for rel (MC blending coef.) refinement if MC pointed out of boundray before MC blending, normalized 8 as '1', set 15 to 16, default = 8 ++//Bit 15: 8, reg_mcdi_mcrelrefbycolcfdoffst. offset (rel + offset) for rel (MC blending coef.) refinement if motion paradox detected before MC blending before MC blending, default = 255 ++//Bit 7: 4, reserved. ++//Bit 3: 0, reg_mcdi_mcrelrefbycolcfdgain. gain for rel (MC blending coef.) refinement if column cofidence failed before MC blending, normalized 8 as '1', set 15 to 16, default = 8 ++#define MCDI_MC_COL_CFD_0 (0x2f78) ++#define P_MCDI_MC_COL_CFD_0 (volatile unsigned int *)((0x2f78 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_0. column cofidence value 0 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_1 (0x2f79) ++#define P_MCDI_MC_COL_CFD_1 (volatile unsigned int *)((0x2f79 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_1. column cofidence value 1 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_2 (0x2f7a) ++#define P_MCDI_MC_COL_CFD_2 (volatile unsigned int *)((0x2f7a << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_2. column cofidence value 2 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_3 (0x2f7b) ++#define P_MCDI_MC_COL_CFD_3 (volatile unsigned int *)((0x2f7b << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_3. column cofidence value 3 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_4 (0x2f7c) ++#define P_MCDI_MC_COL_CFD_4 (volatile unsigned int *)((0x2f7c << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_4. column cofidence value 4 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_5 (0x2f7d) ++#define P_MCDI_MC_COL_CFD_5 (volatile unsigned int *)((0x2f7d << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_5. column cofidence value 5 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_6 (0x2f7e) ++#define P_MCDI_MC_COL_CFD_6 (volatile unsigned int *)((0x2f7e << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_6. column cofidence value 6 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_7 (0x2f7f) ++#define P_MCDI_MC_COL_CFD_7 (volatile unsigned int *)((0x2f7f << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_7. column cofidence value 7 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_8 (0x2f80) ++#define P_MCDI_MC_COL_CFD_8 (volatile unsigned int *)((0x2f80 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_8. column cofidence value 8 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_9 (0x2f81) ++#define P_MCDI_MC_COL_CFD_9 (volatile unsigned int *)((0x2f81 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_9. column cofidence value 9 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_10 (0x2f82) ++#define P_MCDI_MC_COL_CFD_10 (volatile unsigned int *)((0x2f82 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_10. column cofidence value 10 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_11 (0x2f83) ++#define P_MCDI_MC_COL_CFD_11 (volatile unsigned int *)((0x2f83 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_11. column cofidence value 11 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_12 (0x2f84) ++#define P_MCDI_MC_COL_CFD_12 (volatile unsigned int *)((0x2f84 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_12. column cofidence value 12 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_13 (0x2f85) ++#define P_MCDI_MC_COL_CFD_13 (volatile unsigned int *)((0x2f85 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_13. column cofidence value 13 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_14 (0x2f86) ++#define P_MCDI_MC_COL_CFD_14 (volatile unsigned int *)((0x2f86 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_14. column cofidence value 14 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_15 (0x2f87) ++#define P_MCDI_MC_COL_CFD_15 (volatile unsigned int *)((0x2f87 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_15. column cofidence value 15 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_16 (0x2f88) ++#define P_MCDI_MC_COL_CFD_16 (volatile unsigned int *)((0x2f88 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_16. column cofidence value 16 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_17 (0x2f89) ++#define P_MCDI_MC_COL_CFD_17 (volatile unsigned int *)((0x2f89 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_17. column cofidence value 17 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_18 (0x2f8a) ++#define P_MCDI_MC_COL_CFD_18 (volatile unsigned int *)((0x2f8a << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_18. column cofidence value 18 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_19 (0x2f8b) ++#define P_MCDI_MC_COL_CFD_19 (volatile unsigned int *)((0x2f8b << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_19. column cofidence value 19 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_20 (0x2f8c) ++#define P_MCDI_MC_COL_CFD_20 (volatile unsigned int *)((0x2f8c << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_20. column cofidence value 20 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_21 (0x2f8d) ++#define P_MCDI_MC_COL_CFD_21 (volatile unsigned int *)((0x2f8d << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_21. column cofidence value 21 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_22 (0x2f8e) ++#define P_MCDI_MC_COL_CFD_22 (volatile unsigned int *)((0x2f8e << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_22. column cofidence value 22 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_23 (0x2f8f) ++#define P_MCDI_MC_COL_CFD_23 (volatile unsigned int *)((0x2f8f << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_23. column cofidence value 23 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_24 (0x2f90) ++#define P_MCDI_MC_COL_CFD_24 (volatile unsigned int *)((0x2f90 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_24. column cofidence value 24 read from software. initial = 0 ++#define MCDI_MC_COL_CFD_25 (0x2f91) ++#define P_MCDI_MC_COL_CFD_25 (volatile unsigned int *)((0x2f91 << 2) + 0xff900000) ++//Bit 31: 0, mcdi_mc_col_cfd_25. column cofidence value 25 read from software. initial = 0 ++// ===================================================================================== PRE RO Registers ========================================================================================== ++#define MCDI_RO_FLD_LUMA_AVG_SUM (0x2fa0) ++#define P_MCDI_RO_FLD_LUMA_AVG_SUM (volatile unsigned int *)((0x2fa0 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldlumaavgsum. block's luma avg sum of current filed (block based). initial = 0 ++#define MCDI_RO_GMV_VLD_CNT (0x2fa1) ++#define P_MCDI_RO_GMV_VLD_CNT (volatile unsigned int *)((0x2fa1 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_gmvvldcnt. valid gmv's count of pre one filed (block based). initial = 0 ++#define MCDI_RO_RPT_FLG_CNT (0x2fa2) ++#define P_MCDI_RO_RPT_FLG_CNT (volatile unsigned int *)((0x2fa2 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_rptflgcnt. repeat mv's count of pre one filed (block based). initial = 0 ++#define MCDI_RO_FLD_BAD_SAD_CNT (0x2fa3) ++#define P_MCDI_RO_FLD_BAD_SAD_CNT (volatile unsigned int *)((0x2fa3 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldbadsadcnt. bad sad count of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_BAD_BADW_CNT (0x2fa4) ++#define P_MCDI_RO_FLD_BAD_BADW_CNT (volatile unsigned int *)((0x2fa4 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldbadbadwcnt. bad badw count of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_BAD_REL_CNT (0x2fa5) ++#define P_MCDI_RO_FLD_BAD_REL_CNT (volatile unsigned int *)((0x2fa5 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldbadrelcnt. bad rel count of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_MTN_CNT (0x2fa6) ++#define P_MCDI_RO_FLD_MTN_CNT (volatile unsigned int *)((0x2fa6 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldmtncnt. motion count of whole pre one field (pixel based). initial = 0 ++#define MCDI_RO_FLD_VLD_CNT (0x2fa7) ++#define P_MCDI_RO_FLD_VLD_CNT (volatile unsigned int *)((0x2fa7 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldvldcnt. valid motion count of whole pre one field (pixel based). initial = 0 ++#define MCDI_RO_FLD_PD_22_PRE_CNT (0x2fa8) ++#define P_MCDI_RO_FLD_PD_22_PRE_CNT (volatile unsigned int *)((0x2fa8 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldpd22precnt. prevoius pd22 check count of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_PD_22_FOR_CNT (0x2fa9) ++#define P_MCDI_RO_FLD_PD_22_FOR_CNT (volatile unsigned int *)((0x2fa9 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldpd22forcnt. forward pd22 check count of whole pre one field (block based). initial = 0 ++#define MCDI_RO_FLD_PD_22_FLT_CNT (0x2faa) ++#define P_MCDI_RO_FLD_PD_22_FLT_CNT (volatile unsigned int *)((0x2faa << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_fldpd22fltcnt. flat count (for pd22 check) of whole pre one field (block based). initial = 0 ++#define MCDI_RO_HIGH_VERT_FRQ_FLG (0x2fab) ++#define P_MCDI_RO_HIGH_VERT_FRQ_FLG (volatile unsigned int *)((0x2fab << 2) + 0xff900000) ++//Bit 31:16, reserved. ++//Bit 15: 8, ro_mcdi_highvertfrqcnt. high vertical frequency count till prevoius one field. initial = 0 ++//Bit 7: 3, reserved. ++//Bit 2: 1, ro_mcdi_highvertfrqphase. high vertical frequency phase of prevoius one field. initial = 2 ++//Bit 0, ro_mcdi_highvertfrqflg. high vertical frequency flag of prevoius one field. initial = 0 ++#define MCDI_RO_GMV_LOCK_FLG (0x2fac) ++#define P_MCDI_RO_GMV_LOCK_FLG (volatile unsigned int *)((0x2fac << 2) + 0xff900000) ++//Bit 31:16, reserved. ++//Bit 15: 8, ro_mcdi_gmvlckcnt. global mv lock count till prevoius one field. initial = 0 ++//Bit 7: 2, ro_mcdi_gmv. global mv of prevoius one field. -31~31, initial = 32 (invalid value) ++//Bit 1, ro_mcdi_zerogmvlckflg. zero global mv lock flag of prevoius one field. initial = 0 ++//Bit 0, ro_mcdi_gmvlckflg. global mv lock flag of prevoius one field. initial = 0 ++#define MCDI_RO_RPT_MV (0x2fad) ++#define P_MCDI_RO_RPT_MV (volatile unsigned int *)((0x2fad << 2) + 0xff900000) ++//Bit 5: 0, ro_mcdi_rptmv. repeate mv of prevoius one field. -31~31, initial = 32 (invalid value) ++#define MCDI_RO_MOTION_PARADOX_FLG (0x2fae) ++#define P_MCDI_RO_MOTION_PARADOX_FLG (volatile unsigned int *)((0x2fae << 2) + 0xff900000) ++//Bit 31:16, reserved. ++//Bit 15: 8, ro_mcdi_motionparadoxcnt. motion paradox count till prevoius one field. initial = 0 ++//Bit 7: 1, reserved. ++//Bit 0, ro_mcdi_motionparadoxflg. motion paradox flag of prevoius one field. initial = 0 ++#define MCDI_RO_PD_22_FLG (0x2faf) ++#define P_MCDI_RO_PD_22_FLG (volatile unsigned int *)((0x2faf << 2) + 0xff900000) ++//Bit 31:27, reserved. ++//Bit 26, ro_mcdi_pd22flg2. pull down 22 flag of prevoius one field. initial = 0 ++//Bit 25, ro_mcdi_pd22flg1. pull down 22 flag of prevoius one field. initial = 0 ++//Bit 24, ro_mcdi_pd22flg. pull down 22 flag of prevoius one field. initial = 0 ++//Bit 23:16, ro_mcdi_pd22cnt2. pull down 22 count till prevoius one field. initial = 0 ++//Bit 15: 8, ro_mcdi_pd22cnt1. pull down 22 count till prevoius one field. initial = 0 ++//Bit 7: 0, ro_mcdi_pd22cnt. pull down 22 count till prevoius one field. initial = 0 ++#define MCDI_RO_COL_CFD_0 (0x2fb0) ++#define P_MCDI_RO_COL_CFD_0 (volatile unsigned int *)((0x2fb0 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_0. column cofidence value 0. initial = 0 ++#define MCDI_RO_COL_CFD_1 (0x2fb1) ++#define P_MCDI_RO_COL_CFD_1 (volatile unsigned int *)((0x2fb1 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_1. column cofidence value 1. initial = 0 ++#define MCDI_RO_COL_CFD_2 (0x2fb2) ++#define P_MCDI_RO_COL_CFD_2 (volatile unsigned int *)((0x2fb2 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_2. column cofidence value 2. initial = 0 ++#define MCDI_RO_COL_CFD_3 (0x2fb3) ++#define P_MCDI_RO_COL_CFD_3 (volatile unsigned int *)((0x2fb3 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_3. column cofidence value 3. initial = 0 ++#define MCDI_RO_COL_CFD_4 (0x2fb4) ++#define P_MCDI_RO_COL_CFD_4 (volatile unsigned int *)((0x2fb4 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_4. column cofidence value 4. initial = 0 ++#define MCDI_RO_COL_CFD_5 (0x2fb5) ++#define P_MCDI_RO_COL_CFD_5 (volatile unsigned int *)((0x2fb5 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_5. column cofidence value 5. initial = 0 ++#define MCDI_RO_COL_CFD_6 (0x2fb6) ++#define P_MCDI_RO_COL_CFD_6 (volatile unsigned int *)((0x2fb6 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_6. column cofidence value 6. initial = 0 ++#define MCDI_RO_COL_CFD_7 (0x2fb7) ++#define P_MCDI_RO_COL_CFD_7 (volatile unsigned int *)((0x2fb7 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_7. column cofidence value 7. initial = 0 ++#define MCDI_RO_COL_CFD_8 (0x2fb8) ++#define P_MCDI_RO_COL_CFD_8 (volatile unsigned int *)((0x2fb8 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_8. column cofidence value 8. initial = 0 ++#define MCDI_RO_COL_CFD_9 (0x2fb9) ++#define P_MCDI_RO_COL_CFD_9 (volatile unsigned int *)((0x2fb9 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_9. column cofidence value 9. initial = 0 ++#define MCDI_RO_COL_CFD_10 (0x2fba) ++#define P_MCDI_RO_COL_CFD_10 (volatile unsigned int *)((0x2fba << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_10. column cofidence value 10. initial = 0 ++#define MCDI_RO_COL_CFD_11 (0x2fbb) ++#define P_MCDI_RO_COL_CFD_11 (volatile unsigned int *)((0x2fbb << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_11. column cofidence value 11. initial = 0 ++#define MCDI_RO_COL_CFD_12 (0x2fbc) ++#define P_MCDI_RO_COL_CFD_12 (volatile unsigned int *)((0x2fbc << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_12. column cofidence value 12. initial = 0 ++#define MCDI_RO_COL_CFD_13 (0x2fbd) ++#define P_MCDI_RO_COL_CFD_13 (volatile unsigned int *)((0x2fbd << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_13. column cofidence value 13. initial = 0 ++#define MCDI_RO_COL_CFD_14 (0x2fbe) ++#define P_MCDI_RO_COL_CFD_14 (volatile unsigned int *)((0x2fbe << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_14. column cofidence value 14. initial = 0 ++#define MCDI_RO_COL_CFD_15 (0x2fbf) ++#define P_MCDI_RO_COL_CFD_15 (volatile unsigned int *)((0x2fbf << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_15. column cofidence value 15. initial = 0 ++#define MCDI_RO_COL_CFD_16 (0x2fc0) ++#define P_MCDI_RO_COL_CFD_16 (volatile unsigned int *)((0x2fc0 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_16. column cofidence value 16. initial = 0 ++#define MCDI_RO_COL_CFD_17 (0x2fc1) ++#define P_MCDI_RO_COL_CFD_17 (volatile unsigned int *)((0x2fc1 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_17. column cofidence value 17. initial = 0 ++#define MCDI_RO_COL_CFD_18 (0x2fc2) ++#define P_MCDI_RO_COL_CFD_18 (volatile unsigned int *)((0x2fc2 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_18. column cofidence value 18. initial = 0 ++#define MCDI_RO_COL_CFD_19 (0x2fc3) ++#define P_MCDI_RO_COL_CFD_19 (volatile unsigned int *)((0x2fc3 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_19. column cofidence value 19. initial = 0 ++#define MCDI_RO_COL_CFD_20 (0x2fc4) ++#define P_MCDI_RO_COL_CFD_20 (volatile unsigned int *)((0x2fc4 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_20. column cofidence value 20. initial = 0 ++#define MCDI_RO_COL_CFD_21 (0x2fc5) ++#define P_MCDI_RO_COL_CFD_21 (volatile unsigned int *)((0x2fc5 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_21. column cofidence value 21. initial = 0 ++#define MCDI_RO_COL_CFD_22 (0x2fc6) ++#define P_MCDI_RO_COL_CFD_22 (volatile unsigned int *)((0x2fc6 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_22. column cofidence value 22. initial = 0 ++#define MCDI_RO_COL_CFD_23 (0x2fc7) ++#define P_MCDI_RO_COL_CFD_23 (volatile unsigned int *)((0x2fc7 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_23. column cofidence value 23. initial = 0 ++#define MCDI_RO_COL_CFD_24 (0x2fc8) ++#define P_MCDI_RO_COL_CFD_24 (volatile unsigned int *)((0x2fc8 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_24. column cofidence value 24. initial = 0 ++#define MCDI_RO_COL_CFD_25 (0x2fc9) ++#define P_MCDI_RO_COL_CFD_25 (volatile unsigned int *)((0x2fc9 << 2) + 0xff900000) ++//Bit 31: 0, ro_mcdi_col_cfd_25. column cofidence value 25. initial = 0 ++// add space 8'hd0-8'hef ++// ++// Reading file: dipd_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// using 8'he0-8'hef ++#define DIPD_COMB_CTRL0 (0x2fd0) ++#define P_DIPD_COMB_CTRL0 (volatile unsigned int *)((0x2fd0 << 2) + 0xff900000) ++//Bit 31:0, reg_pd_comb_ctrl0 ++#define DIPD_COMB_CTRL1 (0x2fd1) ++#define P_DIPD_COMB_CTRL1 (volatile unsigned int *)((0x2fd1 << 2) + 0xff900000) ++//Bit 31:0, reg_pd_comb_ctrl1 ++#define DIPD_COMB_CTRL2 (0x2fd2) ++#define P_DIPD_COMB_CTRL2 (volatile unsigned int *)((0x2fd2 << 2) + 0xff900000) ++//Bit 31:0, reg_pd_comb_ctrl2 ++#define DIPD_COMB_CTRL3 (0x2fd3) ++#define P_DIPD_COMB_CTRL3 (volatile unsigned int *)((0x2fd3 << 2) + 0xff900000) ++//Bit 31:0, reg_pd_comb_ctrl3 ++#define DIPD_COMB_CTRL4 (0x2fd4) ++#define P_DIPD_COMB_CTRL4 (volatile unsigned int *)((0x2fd4 << 2) + 0xff900000) ++//Bit 31:0, reg_pd_comb_ctrl4 ++#define DIPD_COMB_CTRL5 (0x2fd5) ++#define P_DIPD_COMB_CTRL5 (volatile unsigned int *)((0x2fd5 << 2) + 0xff900000) ++//Bit 31:0, reg_pd_comb_ctrl5 ++#define DIPD_RO_COMB_0 (0x2fd6) ++#define P_DIPD_RO_COMB_0 (volatile unsigned int *)((0x2fd6 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_0 ++#define DIPD_RO_COMB_1 (0x2fd7) ++#define P_DIPD_RO_COMB_1 (volatile unsigned int *)((0x2fd7 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_1 ++#define DIPD_RO_COMB_2 (0x2fd8) ++#define P_DIPD_RO_COMB_2 (volatile unsigned int *)((0x2fd8 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_2 ++#define DIPD_RO_COMB_3 (0x2fd9) ++#define P_DIPD_RO_COMB_3 (volatile unsigned int *)((0x2fd9 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_3 ++#define DIPD_RO_COMB_4 (0x2fda) ++#define P_DIPD_RO_COMB_4 (volatile unsigned int *)((0x2fda << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_4 ++#define DIPD_RO_COMB_5 (0x2fdb) ++#define P_DIPD_RO_COMB_5 (volatile unsigned int *)((0x2fdb << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_5 ++#define DIPD_RO_COMB_6 (0x2fdc) ++#define P_DIPD_RO_COMB_6 (volatile unsigned int *)((0x2fdc << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_6 ++#define DIPD_RO_COMB_7 (0x2fdd) ++#define P_DIPD_RO_COMB_7 (volatile unsigned int *)((0x2fdd << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_7 ++#define DIPD_RO_COMB_8 (0x2fde) ++#define P_DIPD_RO_COMB_8 (volatile unsigned int *)((0x2fde << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_8 ++#define DIPD_RO_COMB_9 (0x2fdf) ++#define P_DIPD_RO_COMB_9 (volatile unsigned int *)((0x2fdf << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_9 ++#define DIPD_RO_COMB_10 (0x2fe0) ++#define P_DIPD_RO_COMB_10 (volatile unsigned int *)((0x2fe0 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_10 ++#define DIPD_RO_COMB_11 (0x2fe1) ++#define P_DIPD_RO_COMB_11 (volatile unsigned int *)((0x2fe1 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_11 ++#define DIPD_RO_COMB_12 (0x2fe2) ++#define P_DIPD_RO_COMB_12 (volatile unsigned int *)((0x2fe2 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_12 ++#define DIPD_RO_COMB_13 (0x2fe3) ++#define P_DIPD_RO_COMB_13 (volatile unsigned int *)((0x2fe3 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_13 ++#define DIPD_RO_COMB_14 (0x2fe4) ++#define P_DIPD_RO_COMB_14 (volatile unsigned int *)((0x2fe4 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_14 ++#define DIPD_RO_COMB_15 (0x2fe5) ++#define P_DIPD_RO_COMB_15 (volatile unsigned int *)((0x2fe5 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_15 ++#define DIPD_RO_COMB_16 (0x2fe6) ++#define P_DIPD_RO_COMB_16 (volatile unsigned int *)((0x2fe6 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_16 ++#define DIPD_RO_COMB_17 (0x2fe7) ++#define P_DIPD_RO_COMB_17 (volatile unsigned int *)((0x2fe7 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_17 ++#define DIPD_RO_COMB_18 (0x2fe8) ++#define P_DIPD_RO_COMB_18 (volatile unsigned int *)((0x2fe8 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_18 ++#define DIPD_RO_COMB_19 (0x2fe9) ++#define P_DIPD_RO_COMB_19 (volatile unsigned int *)((0x2fe9 << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_19 ++#define DIPD_RO_COMB_20 (0x2fea) ++#define P_DIPD_RO_COMB_20 (volatile unsigned int *)((0x2fea << 2) + 0xff900000) ++//Bit 31:0, ro_pd_comb_20 ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: dipd_regs.h ++// ++// addr space 8'hf0-8'hff ++// ++// Reading file: nr3_tnr_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++#define NR3_MODE (0x2ff0) ++#define P_NR3_MODE (volatile unsigned int *)((0x2ff0 << 2) + 0xff900000) ++//Bit 31: 6 reserved ++//Bit 5 reg_nr3_vtxt_mode // unsigned , default = 0 0: avg; 1:MAX ++//Bit 4 reg_3dnr_nr3_cbyy_ignor_coop // unsigned , default = 0 ignore coop condition for cbyy motion decision ++//Bit 3 reg_3dnr_nr3_ybyc_ignor_cnoop // unsigned , default = 0 ignore cnoop condition for ybyc motion decision ++//Bit 2: 0 reg_3dnr_nr3_suremot_txt_mode // unsigned , default = 3 0: cur, 1:p2; 2: (cur+p2)/2; 3/up: min(cur,p2) ++#define NR3_COOP_PARA (0x2ff1) ++#define P_NR3_COOP_PARA (volatile unsigned int *)((0x2ff1 << 2) + 0xff900000) ++//Bit 31:22 reserved ++//Bit 21:20 reg_3dnr_nr3_coop_mode // unsigned , default = 2 0 original pixel 1: [1 2 1]/4 lpf; 2: [1 2 2 2 1]/8; 3: 3x3 lpf ++//Bit 19:16 reg_3dnr_nr3_coop_ratio // unsigned , default = 8 cur and p2 color oop decision ratio: (avg1<(dif1*ratio/8 + ofst)); ++//Bit 15: 8 reg_3dnr_nr3_coop_ofset // signed , default = -1 cur and p2 color oop decision ofst: (avg1<(dif1*ratio/8 + ofst)); ++//Bit 7: 0 reg_3dnr_nr3_coop_sat_thrd // unsigned , default = 0 cur and p2 color oop decision min(sat0,sat1) threshold; ++#define NR3_CNOOP_GAIN (0x2ff2) ++#define P_NR3_CNOOP_GAIN (volatile unsigned int *)((0x2ff2 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:20 reg_3dnr_nr3_cnoop_ratio0 // unsigned , default = 8 cur and p2 color noop decision ratio0: (avg1<(MAX(sat0,sat2)*ratio0/8 + ofst0)); ++//Bit 19:16 reg_3dnr_nr3_cnoop_ratio1 // unsigned , default = 8 cur and p2 color noop decision ratio1: (dif1<(MIN(sat0,sat2)*ratio1/8 + ofst1)); ++//Bit 15: 8 reg_3dnr_nr3_cnoop_ofset0 // signed , default = 25 cur and p2 color noop decision ofset0: (avg1<(MAX(sat0,sat2)*ratio0/8 + ofst0)); ++//Bit 7: 0 reg_3dnr_nr3_cnoop_ofset1 // signed , default = 0 cur and p2 color noop decision ofset1: (dif1<(MIN(sat0,sat2)*ratio1/8 + ofst1)); ++#define NR3_YMOT_PARA (0x2ff3) ++#define P_NR3_YMOT_PARA (volatile unsigned int *)((0x2ff3 << 2) + 0xff900000) ++//Bit 31:20 reserved ++//Bit 19 reg_3dnr_nr3_ymot_only_en // unsigned , default = 1 enable signal for ignor chroma motion: (ytxt &coop) ++//Bit 18 reg_3dnr_nr3_ymot_only_cmtmode // unsigned , default = 1 0: cmot=ymot; 1: cmot = MIN(ymot, cmot) ++//Bit 17:16 reg_3dnr_nr3_ymot_only_txtmode // unsigned , default = 0 0, min(txt0,txt2); 1, max(txt0,txt2);2, (txt0+txt2)/2; 3: sat(txt0, txt2) ++//Bit 15: 8 reg_3dnr_nr3_ymot_only_txtthrd // unsigned , default = 10 threshold to luma texture to decide use ymot only ++//Bit 7: 0 reg_3dnr_nr3_ymot_only_motthrd // unsigned , default = 30 threshold to luma motion to decide use ymot only ++#define NR3_CMOT_PARA (0x2ff4) ++#define P_NR3_CMOT_PARA (volatile unsigned int *)((0x2ff4 << 2) + 0xff900000) ++//Bit 31:20 reserved ++//Bit 19 reg_3dnr_nr3_cmot_only_en // unsigned , default = 1 enable signal for ignor luma motion: (ctxt &cnoop) ++//Bit 18 reg_3dnr_nr3_cmot_only_ymtmode // unsigned , default = 0 0: ymot=cmot+ymot/4; 1: ymot = MIN(ymot, cmot) ++//Bit 17:16 reg_3dnr_nr3_cmot_only_txtmode // unsigned , default = 0 0, min(txt0,txt2); 1, max(txt0,txt2);2, (txt0+txt2)/2; 3: sat(txt0, txt2) ++//Bit 15: 8 reg_3dnr_nr3_cmot_only_txtthrd // unsigned , default = 20 threshold to chroma texture to decide use cmot only ++//Bit 7: 0 reg_3dnr_nr3_cmot_only_motthrd // unsigned , default = 15 threshold to chroma motion to decide use cmot only ++#define NR3_SUREMOT_YGAIN (0x2ff5) ++#define P_NR3_SUREMOT_YGAIN (volatile unsigned int *)((0x2ff5 << 2) + 0xff900000) ++//Bit 31:24 reg_3dnr_nr3_suremot_dec_yrate // unsigned , default = 16 (norm 16)lpfMot>(dec_rate*txt +ofst) then force lpfMot*frc_gain+frc_ofset ++//Bit 23:16 reg_3dnr_nr3_suremot_dec_yofst // unsigned , default = 12 lpfMot>(dec_rate*txt +ofst) then force lpfMot*frc_gain+frc_ofset ++//Bit 15: 8 reg_3dnr_nr3_suremot_frc_ygain // unsigned , default = 64 (norm 8)lpfMot>(dec_rate*txt +ofst) then force lpfMot*frc_gain+frc_ofset ++//Bit 7: 0 reg_3dnr_nr3_suremot_frc_yofst // unsigned , default = 20 lpfMot>(dec_rate*txt +ofst) then force lpfMot*frc_gain+frc_ofset ++#define NR3_SUREMOT_CGAIN (0x2ff6) ++#define P_NR3_SUREMOT_CGAIN (volatile unsigned int *)((0x2ff6 << 2) + 0xff900000) ++//Bit 31:24 reg_3dnr_nr3_suremot_dec_crate // unsigned , default = 34 (norm 16)lpfMot>(dec_rate*txt +ofst) then force lpfMot*frc_gain+frc_ofset ++//Bit 23:16 reg_3dnr_nr3_suremot_dec_cofst // unsigned , default = 38 lpfMot>(dec_rate*txt +ofst) then force lpfMot*frc_gain+frc_ofset ++//Bit 15: 8 reg_3dnr_nr3_suremot_frc_cgain // unsigned , default = 64 (norm 8)lpfMot>(dec_rate*txt +ofst) then force lpfMot*frc_gain+frc_ofset ++//Bit 7: 0 reg_3dnr_nr3_suremot_frc_cofst // unsigned , default = 20 lpfMot>(dec_rate*txt +ofst) then force lpfMot*frc_gain+frc_ofset ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: nr3_tnr_regs.h ++// ++#define LBUF_TOP_CTRL (0x2fff) ++#define P_LBUF_TOP_CTRL (volatile unsigned int *)((0x2fff << 2) + 0xff900000) ++//bit 23:22 mode_444c422 ++//bit 21:20 mode_422c444 ++//bit 17 lbuf_fmt444_mode ++//bit 16 lbuf_line5_mode ++//bit 12:0 pre_lbuf_size ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: mcdi_regs.h ++// ++// VPU_VLOCK register (16'h3000 - 16'h30ff) ++//======================================================================== ++//`define VPU_VLOCK_VCBUS_BASE 8'h30 ++// ++// Reading file: vpu_vlock_reg.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ---------------------------- ++// VPU_VLOCK 0x30 ++// ---------------------------- ++// ----------------------------------------------- ++// CBUS_BASE: VPU_VLOCK_VCBUS_BASE = 0x30 ++// ----------------------------------------------- ++#define VPU_VLOCK_CTRL (0x3000) ++#define P_VPU_VLOCK_CTRL (volatile unsigned int *)((0x3000 << 2) + 0xff900000) ++#define VPU_VLOCK_MISC_CTRL (0x3001) ++#define P_VPU_VLOCK_MISC_CTRL (volatile unsigned int *)((0x3001 << 2) + 0xff900000) ++#define VPU_VLOCK_LOOP0_ACCUM_LMT (0x3002) ++#define P_VPU_VLOCK_LOOP0_ACCUM_LMT (volatile unsigned int *)((0x3002 << 2) + 0xff900000) ++#define VPU_VLOCK_LOOP0_CTRL0 (0x3003) ++#define P_VPU_VLOCK_LOOP0_CTRL0 (volatile unsigned int *)((0x3003 << 2) + 0xff900000) ++#define VPU_VLOCK_LOOP1_CTRL0 (0x3004) ++#define P_VPU_VLOCK_LOOP1_CTRL0 (volatile unsigned int *)((0x3004 << 2) + 0xff900000) ++#define VPU_VLOCK_LOOP1_IMISSYNC_MAX (0x3005) ++#define P_VPU_VLOCK_LOOP1_IMISSYNC_MAX (volatile unsigned int *)((0x3005 << 2) + 0xff900000) ++#define VPU_VLOCK_LOOP1_IMISSYNC_MIN (0x3006) ++#define P_VPU_VLOCK_LOOP1_IMISSYNC_MIN (volatile unsigned int *)((0x3006 << 2) + 0xff900000) ++#define VPU_VLOCK_OVWRITE_ACCUM0 (0x3007) ++#define P_VPU_VLOCK_OVWRITE_ACCUM0 (volatile unsigned int *)((0x3007 << 2) + 0xff900000) ++#define VPU_VLOCK_OVWRITE_ACCUM1 (0x3008) ++#define P_VPU_VLOCK_OVWRITE_ACCUM1 (volatile unsigned int *)((0x3008 << 2) + 0xff900000) ++#define VPU_VLOCK_OUTPUT0_CAPT_LMT (0x3009) ++#define P_VPU_VLOCK_OUTPUT0_CAPT_LMT (volatile unsigned int *)((0x3009 << 2) + 0xff900000) ++#define VPU_VLOCK_OUTPUT0_PLL_LMT (0x300a) ++#define P_VPU_VLOCK_OUTPUT0_PLL_LMT (volatile unsigned int *)((0x300a << 2) + 0xff900000) ++#define VPU_VLOCK_OUTPUT1_CAPT_LMT (0x300b) ++#define P_VPU_VLOCK_OUTPUT1_CAPT_LMT (volatile unsigned int *)((0x300b << 2) + 0xff900000) ++#define VPU_VLOCK_OUTPUT1_PLL_LMT (0x300c) ++#define P_VPU_VLOCK_OUTPUT1_PLL_LMT (volatile unsigned int *)((0x300c << 2) + 0xff900000) ++#define VPU_VLOCK_LOOP1_PHSDIF_TGT (0x300d) ++#define P_VPU_VLOCK_LOOP1_PHSDIF_TGT (volatile unsigned int *)((0x300d << 2) + 0xff900000) ++#define VPU_VLOCK_RO_LOOP0_ACCUM (0x300e) ++#define P_VPU_VLOCK_RO_LOOP0_ACCUM (volatile unsigned int *)((0x300e << 2) + 0xff900000) ++#define VPU_VLOCK_RO_LOOP1_ACCUM (0x300f) ++#define P_VPU_VLOCK_RO_LOOP1_ACCUM (volatile unsigned int *)((0x300f << 2) + 0xff900000) ++#define VPU_VLOCK_OROW_OCOL_MAX (0x3010) ++#define P_VPU_VLOCK_OROW_OCOL_MAX (volatile unsigned int *)((0x3010 << 2) + 0xff900000) ++#define VPU_VLOCK_RO_VS_I_DIST (0x3011) ++#define P_VPU_VLOCK_RO_VS_I_DIST (volatile unsigned int *)((0x3011 << 2) + 0xff900000) ++#define VPU_VLOCK_RO_VS_O_DIST (0x3012) ++#define P_VPU_VLOCK_RO_VS_O_DIST (volatile unsigned int *)((0x3012 << 2) + 0xff900000) ++#define VPU_VLOCK_RO_LINE_PIX_ADJ (0x3013) ++#define P_VPU_VLOCK_RO_LINE_PIX_ADJ (volatile unsigned int *)((0x3013 << 2) + 0xff900000) ++#define VPU_VLOCK_RO_OUTPUT_00_01 (0x3014) ++#define P_VPU_VLOCK_RO_OUTPUT_00_01 (volatile unsigned int *)((0x3014 << 2) + 0xff900000) ++#define VPU_VLOCK_RO_OUTPUT_10_11 (0x3015) ++#define P_VPU_VLOCK_RO_OUTPUT_10_11 (volatile unsigned int *)((0x3015 << 2) + 0xff900000) ++#define VPU_VLOCK_MX4096 (0x3016) ++#define P_VPU_VLOCK_MX4096 (volatile unsigned int *)((0x3016 << 2) + 0xff900000) ++#define VPU_VLOCK_STBDET_WIN0_WIN1 (0x3017) ++#define P_VPU_VLOCK_STBDET_WIN0_WIN1 (volatile unsigned int *)((0x3017 << 2) + 0xff900000) ++#define VPU_VLOCK_STBDET_CLP (0x3018) ++#define P_VPU_VLOCK_STBDET_CLP (volatile unsigned int *)((0x3018 << 2) + 0xff900000) ++#define VPU_VLOCK_STBDET_ABS_WIN0 (0x3019) ++#define P_VPU_VLOCK_STBDET_ABS_WIN0 (volatile unsigned int *)((0x3019 << 2) + 0xff900000) ++#define VPU_VLOCK_STBDET_ABS_WIN1 (0x301a) ++#define P_VPU_VLOCK_STBDET_ABS_WIN1 (volatile unsigned int *)((0x301a << 2) + 0xff900000) ++#define VPU_VLOCK_STBDET_SGN_WIN0 (0x301b) ++#define P_VPU_VLOCK_STBDET_SGN_WIN0 (volatile unsigned int *)((0x301b << 2) + 0xff900000) ++#define VPU_VLOCK_STBDET_SGN_WIN1 (0x301c) ++#define P_VPU_VLOCK_STBDET_SGN_WIN1 (volatile unsigned int *)((0x301c << 2) + 0xff900000) ++#define VPU_VLOCK_ADJ_EN_SYNC_CTRL (0x301d) ++#define P_VPU_VLOCK_ADJ_EN_SYNC_CTRL (volatile unsigned int *)((0x301d << 2) + 0xff900000) ++#define VPU_VLOCK_GCLK_EN (0x301e) ++#define P_VPU_VLOCK_GCLK_EN (volatile unsigned int *)((0x301e << 2) + 0xff900000) ++#define VPU_VLOCK_LOOP1_ACCUM_LMT (0x301f) ++#define P_VPU_VLOCK_LOOP1_ACCUM_LMT (volatile unsigned int *)((0x301f << 2) + 0xff900000) ++#define VPU_VLOCK_RO_M_INT_FRAC (0x3020) ++#define P_VPU_VLOCK_RO_M_INT_FRAC (volatile unsigned int *)((0x3020 << 2) + 0xff900000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: vpu_vlock_reg.h ++// ++//`define VPPB_VCBUS_BASE 8'h31 ++// ++// Reading file: srscl_reg.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ----------------------------------------------- ++// CBUS_BASE: VPPB_VCBUS_BASE = 0x31 ++// ----------------------------------------------- ++////=================================================================//// ++//// vkeystone ++////=================================================================//// ++// 8'h00-8'h17 ++// ++// Reading file: vkstone_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++#define VKS_CTRL (0x3100) ++#define P_VKS_CTRL (volatile unsigned int *)((0x3100 << 2) + 0xff900000) ++//Bit 31 reg_vks_en // unsigned , default = 1 enable signal of the vks function ++//Bit 30 reg_vks_scl_mode0 // unsigned , default = 1 : b0 mode of vks ofset mode, 0: offset= offset; 1: offset= offset*step= ofset/scale; ++//Bit 29 reg_vks_scl_mode1 // unsigned , default = 1 : b0 mode of vks ofset mode, 0: offset= offset; 1: offset= offset*step= ofset/scale; ++//Bit 28 reg_vks_fill_mode // unsigned , default = 1 mode of out-of-boundary fill, 0 extension, 1: fill with the fill_value ++//Bit 27:26 reg_vks_row_inp_mode // unsigned , default = 1 , interpolation mode from 16pieces ofset/step to each line ofset and step; 0: linear interpolation; 1: cubic interpolation (using ccoef) ++//Bit 25 reg_vks_border_ext_mode0 // unsigned , default = 0 , extend mode of the border data of luma and chroma, 0: copy the most border one; 1: extropolate the border one ++//Bit 24 reg_vks_border_ext_mode1 // unsigned , default = 0 , extend mode of the border data of luma and chroma, 0: copy the most border one; 1: extropolate the border one ++//Bit 23 reg_vks_obuf_mode0 // unsigned , default = 1 , mode of output buffer left/right side. 0: no precalculate active pixels during output fill region; 1: precaclc active pixels during output fill regions ++//Bit 22 reg_vks_obuf_mode1 // unsigned , default = 1 , mode of output buffer left/right side. 0: no precalculate active pixels during output fill region; 1: precaclc active pixels during output fill regions ++//Bit 21:20 reg_vks_obuf_mrgn0 // unsigned , default = 3 , margin pixels for left right most active pixel to the fill pixels to avoid jump ++//Bit 19:18 reg_vks_obuf_mrgn1 // unsigned , default = 3 , margin pixels for left right most active pixel to the fill pixels to avoid jump ++//Bit 17:16 reg_vks_phs_qmode // unsigned , default = 2 , interpolation mode of the phase, 0: floor to 1/64 phase; 1: round to 1/64 phase; 2/3 linear intp ++//Bit 15: 0 reg_vks_row_scl // unsigned , default = 11651 , scale of row to make it fit to the 16 pieces, scl = (2^23)/RowMax ++#define VKS_OUT_WIN_SIZE (0x3101) ++#define P_VKS_OUT_WIN_SIZE (volatile unsigned int *)((0x3101 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:16 reg_vks_ocolmax // unsigned , default = 1280 output outer window col number, decided by the projector ++//Bit 15:14 reserved ++//Bit 13: 0 reg_vks_orowmax // unsigned , default = 720 output outer window row number, decided by the projector ++#define VKS_PRELPF_YCOEF0 (0x3102) ++#define P_VKS_PRELPF_YCOEF0 (volatile unsigned int *)((0x3102 << 2) + 0xff900000) ++//Bit 31:24 reg_vks_prelpf_ycoef0 // signed , default = -128 coef of horizontal luma prelpf for Keystone, normalized 128 as '1' ++//Bit 23:16 reg_vks_prelpf_ycoef1 // signed , default = 0 coef of horizontal luma prelpf for Keystone, normalized 128 as '1' ++//Bit 15: 8 reg_vks_prelpf_ycoef2 // signed , default = 0 coef of horizontal luma prelpf for Keystone, normalized 128 as '1' ++//Bit 7: 0 reg_vks_prelpf_ycoef3 // signed , default = 0 coef of horizontal luma prelpf for Keystone, normalized 128 as '1' ++#define VKS_PRELPF_YCOEF1 (0x3103) ++#define P_VKS_PRELPF_YCOEF1 (volatile unsigned int *)((0x3103 << 2) + 0xff900000) ++//Bit 31:16 reserved ++//Bit 15: 8 reg_vks_prelpf_ycoef4 // signed , default = 0 coef of horizontal luma prelpf for Keystone, normalized 128 as '1' ++//Bit 7: 0 reg_vks_prelpf_ycoef5 // signed , default = 0 coef of horizontal luma prelpf for Keystone, normalized 128 as '1' ++#define VKS_PRELPF_CCOEF0 (0x3104) ++#define P_VKS_PRELPF_CCOEF0 (volatile unsigned int *)((0x3104 << 2) + 0xff900000) ++//Bit 31:24 reg_vks_prelpf_ccoef0 // signed , default = -128 mode of horizontal chroma prelpf for Keystone, normalized 128 as '1' ++//Bit 23:16 reg_vks_prelpf_ccoef1 // signed , default = 0 mode of horizontal chroma prelpf for Keystone, normalized 128 as '1' ++//Bit 15: 8 reg_vks_prelpf_ccoef2 // signed , default = 0 mode of horizontal chroma prelpf for Keystone, normalized 128 as '1' ++//Bit 7: 0 reg_vks_prelpf_ccoef3 // signed , default = 0 mode of horizontal chroma prelpf for Keystone, normalized 128 as '1' ++#define VKS_PRELPF_CCOEF1 (0x3105) ++#define P_VKS_PRELPF_CCOEF1 (volatile unsigned int *)((0x3105 << 2) + 0xff900000) ++//Bit 31:16 reserved ++//Bit 15: 8 reg_vks_prelpf_ccoef4 // signed , default = 0 mode of horizontal chroma prelpf for Keystone, normalized 128 as '1' ++//Bit 7: 0 reg_vks_prelpf_ccoef5 // signed , default = 0 mode of horizontal chroma prelpf for Keystone, normalized 128 as '1' ++#define VKS_FILL_VAL (0x3106) ++#define P_VKS_FILL_VAL (volatile unsigned int *)((0x3106 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_vks_fill_value0 // unsigned , default = 0 , border fill color define. yuv: [0 128 128]; rgb:[0 0 0] ++//Bit 15: 8 reg_vks_fill_value1 // unsigned , default = 128 , border fill color define. yuv: [0 128 128]; rgb:[0 0 0] ++//Bit 7: 0 reg_vks_fill_value2 // unsigned , default = 128 , border fill color define. yuv: [0 128 128]; rgb:[0 0 0] ++#define VKS_IWIN_HSIZE (0x3107) ++#define P_VKS_IWIN_HSIZE (volatile unsigned int *)((0x3107 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:16 reg_vks_iwinx0 // unsigned , default = 160 , input start-col and end-col; ++//Bit 15:14 reserved ++//Bit 13: 0 reg_vks_iwinx1 // unsigned , default = 1279 , input start-col and end-col; ++#define VKS_IWIN_VSIZE (0x3108) ++#define P_VKS_IWIN_VSIZE (volatile unsigned int *)((0x3108 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:16 reg_vks_iwiny0 // unsigned , default = 0 , input start-row and end-row; ++//Bit 15:14 reserved ++//Bit 13: 0 reg_vks_iwiny1 // unsigned , default = 719 , input start-row and end-row; ++#define VKS_TOP_MISC (0x3109) ++#define P_VKS_TOP_MISC (volatile unsigned int *)((0x3109 << 2) + 0xff900000) ++//Bit 31:19 reserved ++//Bit 18 reg_flt_en // unsigned , default = 1 ++//Bit 17 reg_frm_rst // unsigned , default = 0 ++//Bit 16 reg_ctrl_sync // unsigned , default = 0 ++//Bit 15: 8 blank_num // unsigned , default = 4 ++//Bit 7: 0 flt_blank_num // unsigned , default = 9 ++#define VKS_START_CTRL (0x310a) ++#define P_VKS_START_CTRL (volatile unsigned int *)((0x310a << 2) + 0xff900000) ++//Bit 31:17 reserved ++//Bit 16 reg_vks_en_mode // unsigned , default = 0 ++//Bit 15: 0 reg_hold_phnum // unsigned , default = 5 ++#define VKS_LBUF_SIZE (0x310b) ++#define P_VKS_LBUF_SIZE (volatile unsigned int *)((0x310b << 2) + 0xff900000) ++//Bit 31:12 reserved ++//Bit 11: 0 reg_lbuf_depth // unsigned , default = 1024 ++#define VKS_PARA_ADDR_PORT (0x310e) ++#define P_VKS_PARA_ADDR_PORT (volatile unsigned int *)((0x310e << 2) + 0xff900000) ++#define VKS_PARA_DATA_PORT (0x310f) ++#define P_VKS_PARA_DATA_PORT (volatile unsigned int *)((0x310f << 2) + 0xff900000) ++ ++ #define VKS_SCL_OFSET00 0x9 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset0 // unsigned , default = 118534 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET01 0xa // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset1 // unsigned , default = 111450 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET02 0xb // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset2 // unsigned , default = 104366 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET03 0xc // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset3 // unsigned , default = 97283 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET04 0xd // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset4 // unsigned , default = 90199 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET05 0xe // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset5 // unsigned , default = 83115 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET06 0xf // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset6 // unsigned , default = 76031 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET07 0x10 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset7 // unsigned , default = 68947 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET08 0x11 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset8 // unsigned , default = 61864 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET09 0x12 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset9 // unsigned , default = 54780 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET10 0x13 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset10 // unsigned , default = 47696 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET11 0x14 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset11 // unsigned , default = 40612 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET12 0x15 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset12 // unsigned , default = 33528 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET13 0x16 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset13 // unsigned , default = 26444 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET14 0x17 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset14 // unsigned , default = 19361 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET15 0x18 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset15 // unsigned , default = 12277 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_OFSET16 0x19 // ++//Bit 31:20 reserved ++//Bit 19: 0 reg_vks_scl_ofset16 // unsigned , default = 5193 , left offset of the input pixel offset from left, 12.8 12bits pixel + 8bits float phase ++ #define VKS_SCL_STEP00 0x1a // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step0 // unsigned , default = 331378 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP01 0x1b // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step1 // unsigned , default = 383191 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP02 0x1c // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step2 // unsigned , default = 435004 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP03 0x1d // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step3 // unsigned , default = 486818 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP04 0x1e // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step4 // unsigned , default = 538631 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP05 0x1f // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step5 // unsigned , default = 590444 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP06 0x20 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step6 // unsigned , default = 642257 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP07 0x21 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step7 // unsigned , default = 694070 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP08 0x22 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step8 // unsigned , default = 745884 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP09 0x23 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step9 // unsigned , default = 797697 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP10 0x24 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step10 // unsigned , default = 849510 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP11 0x25 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step11 // unsigned , default = 901323 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP12 0x26 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step12 // unsigned , default = 953136 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP13 0x27 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step13 // unsigned , default = 1004949 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP14 0x28 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step14 // unsigned , default = 1056763 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP15 0x29 // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step15 // unsigned , default = 1108576 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_SCL_STEP16 0x2a // ++//Bit 31:24 reserved ++//Bit 23: 0 reg_vks_scl_step16 // unsigned , default = 1160389 , for ratio of each line (defined piece),step: 4.20 opixnum = (ipixnum<<20)/step; scale:4.20 = 1/step ++ #define VKS_PPS_YCOEF00 0x2b // ++//Bit 31:24 reg_vks_ycoef0 // signed , default = 0 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef1 // signed , default = 128 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef2 // signed , default = 0 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef3 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF01 0x2c // ++//Bit 31:24 reg_vks_ycoef4 // signed , default = 0 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef5 // signed , default = 127 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef6 // signed , default = 1 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef7 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF02 0x2d // ++//Bit 31:24 reg_vks_ycoef8 // signed , default = -1 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef9 // signed , default = 127 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef10 // signed , default = 2 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef11 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF03 0x2e // ++//Bit 31:24 reg_vks_ycoef12 // signed , default = -2 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef13 // signed , default = 127 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef14 // signed , default = 3 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef15 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF04 0x2f // ++//Bit 31:24 reg_vks_ycoef16 // signed , default = -3 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef17 // signed , default = 126 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef18 // signed , default = 5 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef19 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF05 0x30 // ++//Bit 31:24 reg_vks_ycoef20 // signed , default = -4 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef21 // signed , default = 126 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef22 // signed , default = 6 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef23 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF06 0x31 // ++//Bit 31:24 reg_vks_ycoef24 // signed , default = -5 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef25 // signed , default = 125 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef26 // signed , default = 8 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef27 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF07 0x32 // ++//Bit 31:24 reg_vks_ycoef28 // signed , default = -5 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef29 // signed , default = 124 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef30 // signed , default = 9 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef31 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF08 0x33 // ++//Bit 31:24 reg_vks_ycoef32 // signed , default = -6 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef33 // signed , default = 123 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef34 // signed , default = 11 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef35 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF09 0x34 // ++//Bit 31:24 reg_vks_ycoef36 // signed , default = -6 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef37 // signed , default = 122 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef38 // signed , default = 13 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef39 // signed , default = -1 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF10 0x35 // ++//Bit 31:24 reg_vks_ycoef40 // signed , default = -7 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef41 // signed , default = 121 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef42 // signed , default = 15 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef43 // signed , default = -1 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF11 0x36 // ++//Bit 31:24 reg_vks_ycoef44 // signed , default = -7 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef45 // signed , default = 119 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef46 // signed , default = 17 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef47 // signed , default = -1 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF12 0x37 // ++//Bit 31:24 reg_vks_ycoef48 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef49 // signed , default = 118 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef50 // signed , default = 19 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef51 // signed , default = -1 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF13 0x38 // ++//Bit 31:24 reg_vks_ycoef52 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef53 // signed , default = 116 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef54 // signed , default = 22 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef55 // signed , default = -2 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF14 0x39 // ++//Bit 31:24 reg_vks_ycoef56 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef57 // signed , default = 114 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef58 // signed , default = 24 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef59 // signed , default = -2 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF15 0x3a // ++//Bit 31:24 reg_vks_ycoef60 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef61 // signed , default = 112 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef62 // signed , default = 26 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef63 // signed , default = -2 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF16 0x3b // ++//Bit 31:24 reg_vks_ycoef64 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef65 // signed , default = 111 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef66 // signed , default = 29 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef67 // signed , default = -3 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF17 0x3c // ++//Bit 31:24 reg_vks_ycoef68 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef69 // signed , default = 109 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef70 // signed , default = 31 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef71 // signed , default = -3 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF18 0x3d // ++//Bit 31:24 reg_vks_ycoef72 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef73 // signed , default = 107 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef74 // signed , default = 33 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef75 // signed , default = -3 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF19 0x3e // ++//Bit 31:24 reg_vks_ycoef76 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef77 // signed , default = 104 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef78 // signed , default = 36 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef79 // signed , default = -3 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF20 0x3f // ++//Bit 31:24 reg_vks_ycoef80 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef81 // signed , default = 102 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef82 // signed , default = 39 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef83 // signed , default = -4 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF21 0x40 // ++//Bit 31:24 reg_vks_ycoef84 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef85 // signed , default = 100 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef86 // signed , default = 41 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef87 // signed , default = -4 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF22 0x41 // ++//Bit 31:24 reg_vks_ycoef88 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef89 // signed , default = 97 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef90 // signed , default = 44 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef91 // signed , default = -4 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF23 0x42 // ++//Bit 31:24 reg_vks_ycoef92 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef93 // signed , default = 95 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef94 // signed , default = 47 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef95 // signed , default = -5 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF24 0x43 // ++//Bit 31:24 reg_vks_ycoef96 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef97 // signed , default = 93 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef98 // signed , default = 49 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef99 // signed , default = -5 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF25 0x44 // ++//Bit 31:24 reg_vks_ycoef100 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef101 // signed , default = 90 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef102 // signed , default = 52 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef103 // signed , default = -5 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF26 0x45 // ++//Bit 31:24 reg_vks_ycoef104 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef105 // signed , default = 88 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef106 // signed , default = 55 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef107 // signed , default = -6 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF27 0x46 // ++//Bit 31:24 reg_vks_ycoef108 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef109 // signed , default = 85 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef110 // signed , default = 58 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef111 // signed , default = -6 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF28 0x47 // ++//Bit 31:24 reg_vks_ycoef112 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef113 // signed , default = 82 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef114 // signed , default = 60 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef115 // signed , default = -6 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF29 0x48 // ++//Bit 31:24 reg_vks_ycoef116 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef117 // signed , default = 80 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef118 // signed , default = 63 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef119 // signed , default = -7 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF30 0x49 // ++//Bit 31:24 reg_vks_ycoef120 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef121 // signed , default = 77 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef122 // signed , default = 66 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef123 // signed , default = -7 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF31 0x4a // ++//Bit 31:24 reg_vks_ycoef124 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef125 // signed , default = 74 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef126 // signed , default = 69 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef127 // signed , default = -7 poly-phase scalar coefs ++ #define VKS_PPS_YCOEF32 0x4b // ++//Bit 31:24 reg_vks_ycoef128 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ycoef129 // signed , default = 72 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ycoef130 // signed , default = 72 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ycoef131 // signed , default = -8 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF00 0x4c // ++//Bit 31:24 reg_vks_ccoef0 // signed , default = 0 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef1 // signed , default = 128 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef2 // signed , default = 0 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef3 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF01 0x4d // ++//Bit 31:24 reg_vks_ccoef4 // signed , default = 0 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef5 // signed , default = 127 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef6 // signed , default = 1 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef7 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF02 0x4e // ++//Bit 31:24 reg_vks_ccoef8 // signed , default = -1 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef9 // signed , default = 127 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef10 // signed , default = 2 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef11 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF03 0x4f // ++//Bit 31:24 reg_vks_ccoef12 // signed , default = -2 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef13 // signed , default = 127 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef14 // signed , default = 3 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef15 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF04 0x50 // ++//Bit 31:24 reg_vks_ccoef16 // signed , default = -3 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef17 // signed , default = 126 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef18 // signed , default = 5 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef19 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF05 0x51 // ++//Bit 31:24 reg_vks_ccoef20 // signed , default = -4 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef21 // signed , default = 126 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef22 // signed , default = 6 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef23 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF06 0x52 // ++//Bit 31:24 reg_vks_ccoef24 // signed , default = -5 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef25 // signed , default = 125 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef26 // signed , default = 8 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef27 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF07 0x53 // ++//Bit 31:24 reg_vks_ccoef28 // signed , default = -5 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef29 // signed , default = 124 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef30 // signed , default = 9 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef31 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF08 0x54 // ++//Bit 31:24 reg_vks_ccoef32 // signed , default = -6 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef33 // signed , default = 123 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef34 // signed , default = 11 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef35 // signed , default = 0 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF09 0x55 // ++//Bit 31:24 reg_vks_ccoef36 // signed , default = -6 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef37 // signed , default = 122 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef38 // signed , default = 13 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef39 // signed , default = -1 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF10 0x56 // ++//Bit 31:24 reg_vks_ccoef40 // signed , default = -7 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef41 // signed , default = 121 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef42 // signed , default = 15 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef43 // signed , default = -1 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF11 0x57 // ++//Bit 31:24 reg_vks_ccoef44 // signed , default = -7 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef45 // signed , default = 119 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef46 // signed , default = 17 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef47 // signed , default = -1 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF12 0x58 // ++//Bit 31:24 reg_vks_ccoef48 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef49 // signed , default = 118 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef50 // signed , default = 19 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef51 // signed , default = -1 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF13 0x59 // ++//Bit 31:24 reg_vks_ccoef52 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef53 // signed , default = 116 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef54 // signed , default = 22 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef55 // signed , default = -2 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF14 0x5a // ++//Bit 31:24 reg_vks_ccoef56 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef57 // signed , default = 114 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef58 // signed , default = 24 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef59 // signed , default = -2 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF15 0x5b // ++//Bit 31:24 reg_vks_ccoef60 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef61 // signed , default = 112 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef62 // signed , default = 26 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef63 // signed , default = -2 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF16 0x5c // ++//Bit 31:24 reg_vks_ccoef64 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef65 // signed , default = 111 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef66 // signed , default = 29 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef67 // signed , default = -3 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF17 0x5d // ++//Bit 31:24 reg_vks_ccoef68 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef69 // signed , default = 109 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef70 // signed , default = 31 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef71 // signed , default = -3 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF18 0x5e // ++//Bit 31:24 reg_vks_ccoef72 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef73 // signed , default = 107 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef74 // signed , default = 33 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef75 // signed , default = -3 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF19 0x5f // ++//Bit 31:24 reg_vks_ccoef76 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef77 // signed , default = 104 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef78 // signed , default = 36 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef79 // signed , default = -3 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF20 0x60 // ++//Bit 31:24 reg_vks_ccoef80 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef81 // signed , default = 102 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef82 // signed , default = 39 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef83 // signed , default = -4 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF21 0x61 // ++//Bit 31:24 reg_vks_ccoef84 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef85 // signed , default = 100 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef86 // signed , default = 41 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef87 // signed , default = -4 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF22 0x62 // ++//Bit 31:24 reg_vks_ccoef88 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef89 // signed , default = 97 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef90 // signed , default = 44 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef91 // signed , default = -4 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF23 0x63 // ++//Bit 31:24 reg_vks_ccoef92 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef93 // signed , default = 95 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef94 // signed , default = 47 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef95 // signed , default = -5 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF24 0x64 // ++//Bit 31:24 reg_vks_ccoef96 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef97 // signed , default = 93 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef98 // signed , default = 49 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef99 // signed , default = -5 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF25 0x65 // ++//Bit 31:24 reg_vks_ccoef100 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef101 // signed , default = 90 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef102 // signed , default = 52 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef103 // signed , default = -5 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF26 0x66 // ++//Bit 31:24 reg_vks_ccoef104 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef105 // signed , default = 88 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef106 // signed , default = 55 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef107 // signed , default = -6 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF27 0x67 // ++//Bit 31:24 reg_vks_ccoef108 // signed , default = -9 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef109 // signed , default = 85 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef110 // signed , default = 58 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef111 // signed , default = -6 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF28 0x68 // ++//Bit 31:24 reg_vks_ccoef112 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef113 // signed , default = 82 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef114 // signed , default = 60 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef115 // signed , default = -6 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF29 0x69 // ++//Bit 31:24 reg_vks_ccoef116 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef117 // signed , default = 80 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef118 // signed , default = 63 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef119 // signed , default = -7 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF30 0x6a // ++//Bit 31:24 reg_vks_ccoef120 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef121 // signed , default = 77 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef122 // signed , default = 66 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef123 // signed , default = -7 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF31 0x6b // ++//Bit 31:24 reg_vks_ccoef124 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef125 // signed , default = 74 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef126 // signed , default = 69 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef127 // signed , default = -7 poly-phase scalar coefs ++ #define VKS_PPS_CCOEF32 0x6c // ++//Bit 31:24 reg_vks_ccoef128 // signed , default = -8 poly-phase scalar coefs ++//Bit 23:16 reg_vks_ccoef129 // signed , default = 72 poly-phase scalar coefs ++//Bit 15: 8 reg_vks_ccoef130 // signed , default = 72 poly-phase scalar coefs ++//Bit 7: 0 reg_vks_ccoef131 // signed , default = -8 poly-phase scalar coefs ++ ++ ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: vkstone_regs.h ++// ++////=================================================================//// ++//// vpp dither ++////=================================================================//// ++// 8'h20-8'h3f ++// ++// Reading file: vpp_dither_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++#define VPP_VE_DITHER_CTRL (0x3120) ++#define P_VPP_VE_DITHER_CTRL (volatile unsigned int *)((0x3120 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_1 (0x3121) ++#define P_VPP_VE_DITHER_LUT_1 (volatile unsigned int *)((0x3121 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_2 (0x3122) ++#define P_VPP_VE_DITHER_LUT_2 (volatile unsigned int *)((0x3122 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_3 (0x3123) ++#define P_VPP_VE_DITHER_LUT_3 (volatile unsigned int *)((0x3123 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_4 (0x3124) ++#define P_VPP_VE_DITHER_LUT_4 (volatile unsigned int *)((0x3124 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_5 (0x3125) ++#define P_VPP_VE_DITHER_LUT_5 (volatile unsigned int *)((0x3125 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_6 (0x3126) ++#define P_VPP_VE_DITHER_LUT_6 (volatile unsigned int *)((0x3126 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_7 (0x3127) ++#define P_VPP_VE_DITHER_LUT_7 (volatile unsigned int *)((0x3127 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_8 (0x3128) ++#define P_VPP_VE_DITHER_LUT_8 (volatile unsigned int *)((0x3128 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_9 (0x3129) ++#define P_VPP_VE_DITHER_LUT_9 (volatile unsigned int *)((0x3129 << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_10 (0x312a) ++#define P_VPP_VE_DITHER_LUT_10 (volatile unsigned int *)((0x312a << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_11 (0x312b) ++#define P_VPP_VE_DITHER_LUT_11 (volatile unsigned int *)((0x312b << 2) + 0xff900000) ++#define VPP_VE_DITHER_LUT_12 (0x312c) ++#define P_VPP_VE_DITHER_LUT_12 (volatile unsigned int *)((0x312c << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_CTRL (0x3130) ++#define P_VPP_OSDSC_DITHER_CTRL (volatile unsigned int *)((0x3130 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_1 (0x3131) ++#define P_VPP_OSDSC_DITHER_LUT_1 (volatile unsigned int *)((0x3131 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_2 (0x3132) ++#define P_VPP_OSDSC_DITHER_LUT_2 (volatile unsigned int *)((0x3132 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_3 (0x3133) ++#define P_VPP_OSDSC_DITHER_LUT_3 (volatile unsigned int *)((0x3133 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_4 (0x3134) ++#define P_VPP_OSDSC_DITHER_LUT_4 (volatile unsigned int *)((0x3134 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_5 (0x3135) ++#define P_VPP_OSDSC_DITHER_LUT_5 (volatile unsigned int *)((0x3135 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_6 (0x3136) ++#define P_VPP_OSDSC_DITHER_LUT_6 (volatile unsigned int *)((0x3136 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_7 (0x3137) ++#define P_VPP_OSDSC_DITHER_LUT_7 (volatile unsigned int *)((0x3137 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_8 (0x3138) ++#define P_VPP_OSDSC_DITHER_LUT_8 (volatile unsigned int *)((0x3138 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_9 (0x3139) ++#define P_VPP_OSDSC_DITHER_LUT_9 (volatile unsigned int *)((0x3139 << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_10 (0x313a) ++#define P_VPP_OSDSC_DITHER_LUT_10 (volatile unsigned int *)((0x313a << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_11 (0x313b) ++#define P_VPP_OSDSC_DITHER_LUT_11 (volatile unsigned int *)((0x313b << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_12 (0x313c) ++#define P_VPP_OSDSC_DITHER_LUT_12 (volatile unsigned int *)((0x313c << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_13 (0x313d) ++#define P_VPP_OSDSC_DITHER_LUT_13 (volatile unsigned int *)((0x313d << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_14 (0x313e) ++#define P_VPP_OSDSC_DITHER_LUT_14 (volatile unsigned int *)((0x313e << 2) + 0xff900000) ++#define VPP_OSDSC_DITHER_LUT_15 (0x313f) ++#define P_VPP_OSDSC_DITHER_LUT_15 (volatile unsigned int *)((0x313f << 2) + 0xff900000) ++ ++ ++/* osd super scale */ ++#define OSDSR_HV_SIZEIN VPP_OSDSC_DITHER_CTRL ++#define OSDSR_CTRL_MODE VPP_OSDSC_DITHER_LUT_1 ++#define OSDSR_ABIC_HCOEF VPP_OSDSC_DITHER_LUT_2 ++#define OSDSR_YBIC_HCOEF VPP_OSDSC_DITHER_LUT_3 ++#define OSDSR_CBIC_HCOEF VPP_OSDSC_DITHER_LUT_4 ++#define OSDSR_ABIC_VCOEF VPP_OSDSC_DITHER_LUT_5 ++#define OSDSR_YBIC_VCOEF VPP_OSDSC_DITHER_LUT_6 ++#define OSDSR_CBIC_VCOEF VPP_OSDSC_DITHER_LUT_7 ++#define OSDSR_VAR_PARA VPP_OSDSC_DITHER_LUT_8 ++#define OSDSR_CONST_PARA VPP_OSDSC_DITHER_LUT_9 ++#define OSDSR_RKE_EXTWIN VPP_OSDSC_DITHER_LUT_10 ++#define OSDSR_UK_GRAD2DDIAG_TH_RATE VPP_OSDSC_DITHER_LUT_11 ++#define OSDSR_UK_GRAD2DDIAG_LIMIT VPP_OSDSC_DITHER_LUT_12 ++#define OSDSR_UK_GRAD2DADJA_TH_RATE VPP_OSDSC_DITHER_LUT_13 ++#define OSDSR_UK_GRAD2DADJA_LIMIT VPP_OSDSC_DITHER_LUT_14 ++#define OSDSR_UK_BST_GAIN VPP_OSDSC_DITHER_LUT_15 ++ ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: vpp_dither_regs.h ++// ++// 8'h40-8'h4f ++// ++// Reading file: osdsc_deband_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++#define OSD_DB_FLT_CTRL (0x3140) ++#define P_OSD_DB_FLT_CTRL (volatile unsigned int *)((0x3140 << 2) + 0xff900000) ++//Bit 31:27 reserved ++//Bit 26 reg_nrdeband_reset1 // unsigned , default = 1 , 0 : no reload chrm seed 1: reload chrm seed ++//Bit 25 reg_nrdeband_reset0 // unsigned , default = 1 , 0 : no reload luma seed 1: reload luma seed ++//Bit 24 reg_nrdeband_rgb // unsigned , default = 0 , 0 : yuv 1: RGB ++//Bit 23 reg_nrdeband_en11 // unsigned , default = 0 , debanding registers of side lines, [0] for luma, same for below ++//Bit 22 reg_nrdeband_en10 // unsigned , default = 0 , debanding registers of side lines, [1] for chroma, same for below ++//Bit 21 reg_nrdeband_siderand // unsigned , default = 1 , options to use side two lines use the rand, instead of use for the YUV three component of middle line, 0: seed[3]/bandrand[3] for middle line yuv; 1: seed[3]/bandrand[3] for nearby three lines Y; ++//Bit 20 reg_nrdeband_randmode // unsigned , default = 0 , mode of rand noise adding, 0: same noise strength for all difs; else: strenght of noise will not exceed the difs, MIN((pPKReg->reg_nrdeband_bandrand[m]), noise[m]) ++//Bit 19:17 reg_nrdeband_bandrand2 // unsigned , default = 6 ++//Bit 16 reserved ++//Bit 15:13 reg_nrdeband_bandrand1 // unsigned , default = 6 ++//Bit 12 reserved ++//Bit 11: 9 reg_nrdeband_bandrand0 // unsigned , default = 6 ++//Bit 8 reserved ++//Bit 7 reg_nrdeband_hpxor1 // unsigned , default = 1 , debanding random hp portion xor, [0] for luma ++//Bit 6 reg_nrdeband_hpxor0 // unsigned , default = 1 , debanding random hp portion xor, [1] for chroma ++//Bit 5 reg_nrdeband_en1 // unsigned , default = 0 , debanding registers, for luma ++//Bit 4 reg_nrdeband_en0 // unsigned , default = 0 , debanding registers, for chroma ++//Bit 3: 2 reg_nrdeband_lpf_mode1 // unsigned , default = 2 , lpf mode, 0: 3x3, 1:3x5; 2: 5x5; 3:5x7 ++//Bit 1: 0 reg_nrdeband_lpf_mode0 // unsigned , default = 2 , lpf mode, 0: 3x3, 1:3x5; 2: 5x5; 3:5x7 ++#define OSD_DB_FLT_CTRL1 (0x3141) ++#define P_OSD_DB_FLT_CTRL1 (volatile unsigned int *)((0x3141 << 2) + 0xff900000) ++//Bit 31:18 reserved ++//Bit 17:16 reg_nrdeband_noise_rs // unsigned , default = 2 ++//Bit 15:12 reg_nrdeband_randgain // unsigned , default = 8 ++//Bit 11 reserved ++//Bit 10: 8 reg_nrdeband_bandrand5 // unsigned , default = 6 ++//Bit 7 reserved ++//Bit 6: 4 reg_nrdeband_bandrand4 // unsigned , default = 6 ++//Bit 3 reserved ++//Bit 2: 0 reg_nrdeband_bandrand3 // unsigned , default = 6 ++#define OSD_DB_FLT_LUMA_THRD (0x3142) ++#define P_OSD_DB_FLT_LUMA_THRD (volatile unsigned int *)((0x3142 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_nrdeband_luma_th3 // unsigned , default = 36 , threshold to |Y-Ylpf|, if < th[0] use lpf ++//Bit 23:22 reserved ++//Bit 21:16 reg_nrdeband_luma_th2 // unsigned , default = 28 , elseif th1) of curve to map hpcon to hpgain for circle hp filter (all 8 direction same). 0~255.. unsigned , default = 20 ++#define PK_CON_2CIRHPGAIN_LIMIT (0x3206) ++#define P_PK_CON_2CIRHPGAIN_LIMIT (volatile unsigned int *)((0x3206 << 2) + 0xff900000) ++//Bit 31:24, reg_pk_cirhpcon2gain2 : level limit(for hpconth1) of curve to map hpcon to hpgain for circle hp filter (all 8 direction same). 0~255.. unsigned , default = 5 ++//Bit 7: 0, reserved ++#define PK_CON_2CIRBPGAIN_TH_RATE (0x3207) ++#define P_PK_CON_2CIRBPGAIN_TH_RATE (volatile unsigned int *)((0x3207 << 2) + 0xff900000) ++//Bit 31:24, reg_pk_cirbpcon2gain0 : threshold0 of curve to map bpcon to bpgain for circle bp filter (all 8 direction same). 0~255.. unsigned , default = 20 ++//Bit 23:16, reg_pk_cirbpcon2gain1 : threshold1 of curve to map bpcon to bpgain for circle bp filter (all 8 direction same).. unsigned , default = 50 ++//Bit 15: 8, reg_pk_cirbpcon2gain5 : rate0 (for bpconth1) of curve to map bpcon to bpgain for circle bp filter (all 8 direction same). 0~255.. unsigned , default = 25 ++#define PK_CON_2CIRBPGAIN_LIMIT (0x3208) ++#define P_PK_CON_2CIRBPGAIN_LIMIT (volatile unsigned int *)((0x3208 << 2) + 0xff900000) ++//Bit 31:24, reg_pk_cirbpcon2gain2 : level limit(for bpconth1) of curve to map bpcon to bpgain for circle bp filter (all 8 direction same). 0~255.. unsigned , default = 5 ++//Bit 7: 0, reserved ++#define PK_CON_2DRTHPGAIN_TH_RATE (0x3209) ++#define P_PK_CON_2DRTHPGAIN_TH_RATE (volatile unsigned int *)((0x3209 << 2) + 0xff900000) ++//Bit 31:24, reg_pk_drthpcon2gain0 : threshold0 of curve to map hpcon to hpgain for directional hp filter (best direction). 0~255.. unsigned , default = 25 ++//Bit 23:16, reg_pk_drthpcon2gain1 : threshold1 of curve to map hpcon to hpgain for directional hp filter (best direction). 0~255.. unsigned , default = 60 ++//Bit 15: 8, reg_pk_drthpcon2gain5 : rate0 (for hpconth1) of curve to map hpcon to hpgain for directional hp filter (best direction). 0~255.. unsigned , default = 20 ++#define PK_CON_2DRTHPGAIN_LIMIT (0x320a) ++#define P_PK_CON_2DRTHPGAIN_LIMIT (volatile unsigned int *)((0x320a << 2) + 0xff900000) ++//Bit 31:24, reg_pk_drthpcon2gain2 : level limit(for hpconth1) of curve to map hpcon to hpgain for directional hp filter (best direction). 0~255.. unsigned , default = 5 ++//Bit 7: 0, reserved ++#define PK_CON_2DRTBPGAIN_TH_RATE (0x320b) ++#define P_PK_CON_2DRTBPGAIN_TH_RATE (volatile unsigned int *)((0x320b << 2) + 0xff900000) ++//Bit 31:24, reg_pk_drtbpcon2gain0 : threshold0 of curve to map bpcon to bpgain for directional bp filter (best direction). 0~255.. unsigned , default = 20 ++//Bit 23:16, reg_pk_drtbpcon2gain1 : threshold1 of curve to map bpcon to bpgain for directional bp filter (best direction). 0~255.. unsigned , default = 50 ++//Bit 15: 8, reg_pk_drtbpcon2gain5 : rate0 (for bpconth1) of curve to map bpcon to bpgain for directional bp filter (best direction). 0~255.. unsigned , default = 25 ++#define PK_CON_2DRTBPGAIN_LIMIT (0x320c) ++#define P_PK_CON_2DRTBPGAIN_LIMIT (volatile unsigned int *)((0x320c << 2) + 0xff900000) ++//Bit 31:24, reg_pk_drtbpcon2gain2 : level limit(for bpconth1) of curve to map bpcon to bpgain for directional bp filter (best direction). 0~255.. unsigned , default = 5 ++//Bit 7: 0, reserved ++#define PK_CIRFB_LPF_MODE (0x320d) ++#define P_PK_CIRFB_LPF_MODE (volatile unsigned int *)((0x320d << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:28, reg_cirhp_horz_mode : no horz filter on HP; 1: [1 2 1]/4; 2/3: [1 2 2 2 1]/8 . unsigned , default = 1 ++//Bit 27:26, reserved ++//Bit 25:24, reg_cirhp_vert_mode : no vert filter on HP; 1: [1 2 1]/4; 2/3: [1 2 2 2 1]/8 . unsigned , default = 1 ++//Bit 23:22, reserved ++//Bit 21:20, reg_cirhp_diag_mode : filter on HP; 1: [1 2 1]/4; . unsigned , default = 1 ++//Bit 19:14, reserved ++//Bit 13:12, reg_cirbp_horz_mode : no horz filter on BP; 1: [1 2 1]/4; 2/3: [1 2 2 2 1]/8 . unsigned , default = 1 ++//Bit 11:10, reserved ++//Bit 9: 8, reg_cirbp_vert_mode : no vert filter on BP; 1: [1 2 1]/4; 2/3: [1 2 2 2 1]/8 . unsigned , default = 1 ++//Bit 7: 6, reserved ++//Bit 5: 4, reg_cirbp_diag_mode : filter on BP; 1: [1 2 1]/4; . unsigned , default = 1 ++//Bit 3: 0, reserved ++#define PK_DRTFB_LPF_MODE (0x320e) ++#define P_PK_DRTFB_LPF_MODE (volatile unsigned int *)((0x320e << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:28, reg_drthp_horz_mode : no horz filter on HP; 1: [1 2 1]/4; 2/3: [1 2 2 2 1]/8 2 . unsigned , default = 1 ++//Bit 27:26, reserved ++//Bit 25:24, reg_drthp_vert_mode : no vert filter on HP; 1: [1 2 1]/4; 2/3: [1 2 2 2 1]/8 2 . unsigned , default = 1 ++//Bit 23:22, reserved ++//Bit 21:20, reg_drthp_diag_mode : filter on HP; 1: [1 2 1]/4; 1 . unsigned , default = 1 ++//Bit 19:14, reserved ++//Bit 13:12, reg_drtbp_horz_mode : no horz filter on BP; 1: [1 2 1]/4; 2/3: [1 2 2 2 1]/8 2 . unsigned , default = 1 ++//Bit 11:10, reserved ++//Bit 9: 8, reg_drtbp_vert_mode : no vert filter on BP; 1: [1 2 1]/4; 2/3: [1 2 2 2 1]/8 2 . unsigned , default = 1 ++//Bit 7: 6, reserved ++//Bit 5: 4, reg_drtbp_diag_mode : filter on BP; 1: [1 2 1]/4; 1 . unsigned , default = 1 ++//Bit 3: 0, reserved ++#define PK_CIRFB_HP_CORING (0x320f) ++#define P_PK_CIRFB_HP_CORING (volatile unsigned int *)((0x320f << 2) + 0xff900000) ++//Bit 31:22, reserved ++//Bit 21:16, reg_cirhp_horz_core : coring of HP for Horz . unsigned , default = 0 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_cirhp_vert_core : coring of HP for Vert . unsigned , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_cirhp_diag_core : coring of HP for Diag . unsigned , default = 0 ++#define PK_CIRFB_BP_CORING (0x3210) ++#define P_PK_CIRFB_BP_CORING (volatile unsigned int *)((0x3210 << 2) + 0xff900000) ++//Bit 31:22, reserved ++//Bit 21:16, reg_cirbp_horz_core : coring of HP for Horz . unsigned , default = 1 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_cirbp_vert_core : coring of HP for Vert . unsigned , default = 1 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_cirbp_diag_core : coring of HP for Diag . unsigned , default = 1 ++#define PK_DRTFB_HP_CORING (0x3211) ++#define P_PK_DRTFB_HP_CORING (volatile unsigned int *)((0x3211 << 2) + 0xff900000) ++//Bit 31:22, reserved ++//Bit 21:16, reg_drthp_horz_core : coring of HP for Horz . unsigned , default = 1 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_drthp_vert_core : coring of HP for Vert . unsigned , default = 1 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_drthp_diag_core : coring of HP for Diag . unsigned , default = 1 ++#define PK_DRTFB_BP_CORING (0x3212) ++#define P_PK_DRTFB_BP_CORING (volatile unsigned int *)((0x3212 << 2) + 0xff900000) ++//Bit 31:22, reserved ++//Bit 21:16, reg_drtbp_horz_core : coring of HP for Horz . unsigned , default = 1 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_drtbp_vert_core : coring of HP for Vert . unsigned , default = 1 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_drtbp_diag_core : coring of HP for Diag . unsigned , default = 1 ++#define PK_CIRFB_BLEND_GAIN (0x3213) ++#define P_PK_CIRFB_BLEND_GAIN (volatile unsigned int *)((0x3213 << 2) + 0xff900000) ++//Bit 31:28, reg_hp_cir_hgain : normalized 8 as '1' . unsigned , default = 8 ++//Bit 27:24, reg_hp_cir_vgain : normalized 8 as '1' . unsigned , default = 8 ++//Bit 23:20, reg_hp_cir_dgain : normalized 8 as '1' . unsigned , default = 8 ++//Bit 19:16, reserved ++//Bit 15:12, reg_bp_cir_hgain : normalized 8 as '1' . unsigned , default = 8 ++//Bit 11: 8, reg_bp_cir_vgain : normalized 8 as '1' . unsigned , default = 8 ++//Bit 7: 4, reg_bp_cir_dgain : normalized 8 as '1' . unsigned , default = 8 ++//Bit 3: 0, reserved ++#define NR_ALPY_SSD_GAIN_OFST (0x3214) ++#define P_NR_ALPY_SSD_GAIN_OFST (volatile unsigned int *)((0x3214 << 2) + 0xff900000) ++//Bit 31:16, reserved ++//Bit 15: 8, reg_nr_alp0_ssd_gain : gain to max ssd normalized 16 as '1' . unsigned , default = 16 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_nr_alp0_ssd_ofst : offset to ssd before dividing to min_err . signed , default = -2 ++#define NR_ALP0Y_ERR2CURV_TH_RATE (0x3215) ++#define P_NR_ALP0Y_ERR2CURV_TH_RATE (volatile unsigned int *)((0x3215 << 2) + 0xff900000) ++//Bit 31:24, reg_nr_alp0_minerr_ypar0 : threshold0 of curve to map mierr to alp0 for luma channel, this will be set value of flat region mierr that no need blur. 0~255.. unsigned , default = 10 ++//Bit 23:16, reg_nr_alp0_minerr_ypar1 : threshold1 of curve to map mierr to alp0 for luma channel,this will be set value of texture region mierr that can not blur.. unsigned , default = 25 ++//Bit 15: 8, reg_nr_alp0_minerr_ypar5 : rate0 (for mierrth1) of curve to map mierr to alp0 for luma channel. the larger of the value, the deep of the slope. 0~255.. unsigned , default = 64 ++#define NR_ALP0Y_ERR2CURV_LIMIT (0x3216) ++#define P_NR_ALP0Y_ERR2CURV_LIMIT (volatile unsigned int *)((0x3216 << 2) + 0xff900000) ++//Bit 31:24, reg_nr_alp0_minerr_ypar2 : level limit(for mierrth1) of curve to map mierr to alp0 for luma channel, this will be set to alp0 that we can do for texture region. 0~255.. unsigned , default = 63 ++//Bit 7: 0, reserved ++#define NR_ALP0C_ERR2CURV_TH_RATE (0x3217) ++#define P_NR_ALP0C_ERR2CURV_TH_RATE (volatile unsigned int *)((0x3217 << 2) + 0xff900000) ++//Bit 31:24, reg_nr_alp0_minerr_cpar0 : threshold0 of curve to map mierr to alp0 for chroma channel, this will be set value of flat region mierr that no need blur.. unsigned , default = 10 ++//Bit 23:16, reg_nr_alp0_minerr_cpar1 : threshold1 of curve to map mierr to alp0 for chroma channel,this will be set value of texture region mierr that can not blur.. unsigned , default = 25 ++//Bit 15: 8, reg_nr_alp0_minerr_cpar5 : rate0 (for mierrth1) of curve to map mierr to alp0 for chroma channel. the larger of the value, the deep of the slope. 0~255.. unsigned , default = 64 ++#define NR_ALP0C_ERR2CURV_LIMIT (0x3218) ++#define P_NR_ALP0C_ERR2CURV_LIMIT (volatile unsigned int *)((0x3218 << 2) + 0xff900000) ++//Bit 31:24, reg_nr_alp0_minerr_cpar2 : level limit(for mierrth1) of curve to map mierr to alp0 for chroma channel, this will be set to alp0 that we can do for texture region. 0~255.. unsigned , default = 63 ++//Bit 7: 0, reserved ++#define NR_ALP0_MIN_MAX (0x3219) ++#define P_NR_ALP0_MIN_MAX (volatile unsigned int *)((0x3219 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_nr_alp0_ymin : normalized to 64 as '1' . unsigned , default = 0 ++//Bit 23:22, reserved ++//Bit 21:16, reg_nr_alp0_ymax : normalized to 64 as '1' . unsigned , default = 63 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_nr_alp0_cmin : normalized to 64 as '1' . unsigned , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_nr_alp0_cmax : normalized to 64 as '1' . unsigned , default = 63 ++#define NR_ALP1_MIERR_CORING (0x321a) ++#define P_NR_ALP1_MIERR_CORING (volatile unsigned int *)((0x321a << 2) + 0xff900000) ++//Bit 31:17, reserved ++//Bit 16, reg_nr_alp1_maxerr_mode : 0 max err; 1: xerr . unsigned , default = 0 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_nr_alp1_core_rate : normalized 64 as "1" . unsigned , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_nr_alp1_core_ofst : normalized 64 as "1" . signed , default = 3 ++#define NR_ALP1_ERR2CURV_TH_RATE (0x321b) ++#define P_NR_ALP1_ERR2CURV_TH_RATE (volatile unsigned int *)((0x321b << 2) + 0xff900000) ++//Bit 31:24, reg_nr_alp1_minerr_par0 : threshold0 of curve to map mierr to alp1 for luma/chroma channel, this will be set value of flat region mierr that no need directional NR. 0~255.. unsigned , default = 0 ++//Bit 23:16, reg_nr_alp1_minerr_par1 : threshold1 of curve to map mierr to alp1 for luma/chroma channel,this will be set value of texture region mierr that can not do directional NR. 0~255.. unsigned , default = 24 ++//Bit 15: 8, reg_nr_alp1_minerr_par5 : rate0 (for mierrth1) of curve to map mierr to alp1 for luma/chroma channel. the larger of the value, the deep of the slope. 0~255. unsigned , default = 20 ++#define NR_ALP1_ERR2CURV_LIMIT (0x321c) ++#define P_NR_ALP1_ERR2CURV_LIMIT (volatile unsigned int *)((0x321c << 2) + 0xff900000) ++//Bit 31:24, reg_nr_alp1_minerr_par2 : level limit(for mierrth1) of curve to map mierr to alp1 for luma/chroma channel, this will be set to alp1 that we can do for texture region. 0~255.255 before. unsigned , default = 63 ++//Bit 7: 0, reserved ++#define NR_ALP1_MIN_MAX (0x321d) ++#define P_NR_ALP1_MIN_MAX (volatile unsigned int *)((0x321d << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_nr_alp1_ymin : normalized to 64 as '1' . unsigned , default = 0 ++//Bit 23:22, reserved ++//Bit 21:16, reg_nr_alp1_ymax : normalized to 64 as '1' . unsigned , default = 63 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_nr_alp1_cmin : normalized to 64 as '1' . unsigned , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_nr_alp1_cmax : normalized to 64 as '1' . unsigned , default = 63 ++#define PK_ALP2_MIERR_CORING (0x321e) ++#define P_PK_ALP2_MIERR_CORING (volatile unsigned int *)((0x321e << 2) + 0xff900000) ++//Bit 31:17, reserved ++//Bit 16, reg_pk_alp2_maxerr_mode : 0 max err; 1: xerr . unsigned , default = 1 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_pk_alp2_core_rate : normalized 64 as "1" . unsigned , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_pk_alp2_core_ofst : normalized 64 as "1" . signed , default = 1 ++#define PK_ALP2_ERR2CURV_TH_RATE (0x321f) ++#define P_PK_ALP2_ERR2CURV_TH_RATE (volatile unsigned int *)((0x321f << 2) + 0xff900000) ++//Bit 31:24, reg_pk_alp2_minerr_par0 : threshold0 of curve to map mierr to alp2 for luma channel, this will be set value of flat region mierr that no need peaking.. unsigned , default = 0 ++//Bit 23:16, reg_pk_alp2_minerr_par1 : threshold1 of curve to map mierr to alp2 for luma channel,this will be set value of texture region mierr that can not do peaking. 0~255.. unsigned , default = 24 ++//Bit 15: 8, reg_pk_alp2_minerr_par5 : rate0 (for mierrth1) of curve to map mierr to alp2 for luma channel. the larger of the value, the deep of the slope. 0~255.. unsigned , default = 20 ++#define PK_ALP2_ERR2CURV_LIMIT (0x3220) ++#define P_PK_ALP2_ERR2CURV_LIMIT (volatile unsigned int *)((0x3220 << 2) + 0xff900000) ++//Bit 31:24, reg_pk_alp2_minerr_par2 : level limit(for mierrth1) of curve to map mierr to alp2 for luma channel, this will be set to alp2 that we can do for texture region. 0~255. default = 32;. unsigned , default = 32 ++//Bit 7: 0, reserved ++#define PK_ALP2_MIN_MAX (0x3221) ++#define P_PK_ALP2_MIN_MAX (volatile unsigned int *)((0x3221 << 2) + 0xff900000) ++//Bit 31:14, reserved ++//Bit 13: 8, reg_pk_alp2_min : normalized to 64 as '1' . unsigned , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_pk_alp2_max : normalized to 64 as '1' . unsigned , default = 63 ++#define PK_FINALGAIN_HP_BP (0x3222) ++#define P_PK_FINALGAIN_HP_BP (volatile unsigned int *)((0x3222 << 2) + 0xff900000) ++//Bit 31:18, reserved ++//Bit 17:16, reg_final_gain_rs : s2: right shift bits for the gain normalization, 0 normal to 32 as 1; 1 normalize to 64 as 1; -2 normalized to 8 as 1; -1 normalize 16 as 1. default = 0 ++//Bit 15: 8, reg_hp_final_gain : gain to highpass boost result (including directional/circle blending), normalized 32 as '1', 0~255. 1.25 * 32. unsigned , default = 40 ++//Bit 7: 0, reg_bp_final_gain : gain to bandpass boost result (including directional/circle blending), normalized 32 as '1', 0~255. 1.25 * 32. unsigned , default = 30 ++#define PK_OS_HORZ_CORE_GAIN (0x3223) ++#define P_PK_OS_HORZ_CORE_GAIN (volatile unsigned int *)((0x3223 << 2) + 0xff900000) ++//Bit 31:24, reg_pk_os_hsidecore : side coring (not to current pixel) to adaptive overshoot margin in horizontal direction. the larger of this value, the less overshoot admitted 0~255;. unsigned , default = 8 ++//Bit 23:16, reg_pk_os_hsidegain : side gain (not to current pixel) to adaptive overshoot margin in horizontal direction. normalized to 32 as '1'. 0~255;. unsigned , default = 20 ++//Bit 15: 8, reg_pk_os_hmidcore : midd coring (to current pixel) to adaptive overshoot margin in horizontal direction. the larger of this value, the less overshoot admitted 0~255;. unsigned , default = 2 ++//Bit 7: 0, reg_pk_os_hmidgain : midd gain (to current pixel) to adaptive overshoot margin in horizontal direction. normalized to 32 as '1'. 0~255;. unsigned , default = 20 ++#define PK_OS_VERT_CORE_GAIN (0x3224) ++#define P_PK_OS_VERT_CORE_GAIN (volatile unsigned int *)((0x3224 << 2) + 0xff900000) ++//Bit 31:24, reg_pk_os_vsidecore : side coring (not to current pixel) to adaptive overshoot margin in vertical direction. the larger of this value, the less overshoot admitted 0~255;. unsigned , default = 8 ++//Bit 23:16, reg_pk_os_vsidegain : side gain (not to current pixel) to adaptive overshoot margin in vertical direction. normalized to 32 as '1'. 0~255;. unsigned , default = 20 ++//Bit 15: 8, reg_pk_os_vmidcore : midd coring (to current pixel) to adaptive overshoot margin in vertical direction. the larger of this value, the less overshoot admitted 0~255;. unsigned , default = 2 ++//Bit 7: 0, reg_pk_os_vmidgain : midd gain (to current pixel) to adaptive overshoot margin in vertical direction. normalized to 32 as '1'. 0~255;. unsigned , default = 20 ++#define PK_OS_ADPT_MISC (0x3225) ++#define P_PK_OS_ADPT_MISC (volatile unsigned int *)((0x3225 << 2) + 0xff900000) ++//Bit 31:24, reg_pk_os_minerr_core : coring to minerr for adaptive overshoot margin. the larger of this value, the less overshoot admitted 0~255;. unsigned , default = 40 ++//Bit 23:16, reg_pk_os_minerr_gain : gain to minerr based adaptive overshoot margin. normalized to 64 as '1'. 0~255;. unsigned , default = 6 ++//Bit 15: 8, reg_pk_os_adpt_max : maximum limit adaptive overshoot margin (4x). 0~255; . unsigned , default = 200 ++//Bit 7: 0, reg_pk_os_adpt_min : minimun limit adaptive overshoot margin (1x). 0~255; . unsigned , default = 20 ++#define PK_OS_STATIC (0x3226) ++#define P_PK_OS_STATIC (volatile unsigned int *)((0x3226 << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:28, reg_pk_osh_mode : 0~3: (2x+1) window in H direction . unsigned , default = 2 ++//Bit 27:26, reserved ++//Bit 25:24, reg_pk_osv_mode : 0~3: (2x+1) window in V direction . unsigned , default = 2 ++//Bit 23:22, reserved ++//Bit 21:12, reg_pk_os_down : static negative overshoot margin. 0~1023; . unsigned , default = 200 ++//Bit 11:10, reserved ++//Bit 9: 0, reg_pk_os_up : static positive overshoot margin. 0~1023; . unsigned , default = 200 ++#define PK_NR_ENABLE (0x3227) ++#define P_PK_NR_ENABLE (volatile unsigned int *)((0x3227 << 2) + 0xff900000) ++//Bit 31: 4, reserved ++//Bit 3: 2, reg_3d_mode , 0: no 3D; 1: L/R; 2: T/B; 3: horizontal interleaved, dft = 0 //. unsigned , default = 0 ++//Bit 1, reg_pk_en . unsigned , default = 1 ++//Bit 0, reg_nr_en . unsigned , default = 1 ++#define PK_DRT_SAD_MISC (0x3228) ++#define P_PK_DRT_SAD_MISC (volatile unsigned int *)((0x3228 << 2) + 0xff900000) ++//Bit 31:24, reg_pk_sad_ver_gain : gain to sad[4], 16 normalized to "1"; . unsigned , default = 32 ++//Bit 23:16, reg_pk_sad_hor_gain : gain to sad[0], 16 normalized to "1"; . unsigned , default = 24 ++//Bit 15:12, reserved ++//Bit 11 reserved ++//Bit 10: 9, reg_pk_bias_diag : bias towards diag . unsigned , default = 0 ++//Bit 8, reserved ++//Bit 7: 5, reserved ++//Bit 4: 0, reg_pk_drt_force : force direction of drt peaking filter, h2b: 0:hp drt force, 1: bp drt force; 2: bp+hp drt force, 3: no force;. unsigned , default = 24 ++#define NR_TI_DNLP_BLEND (0x3229) ++#define P_NR_TI_DNLP_BLEND (volatile unsigned int *)((0x3229 << 2) + 0xff900000) ++//Bit 31:11, reserved ++//Bit 10: 8, reg_dnlp_input_mode : dnlp input options. 0: org_y; 1: gau_y; 2: gauadp_y; 3: edgadplpf_y; 4: nr_y;5: lti_y; 6: pk_y (before os);7: pk_y (after os). unsigned , default = 4 ++//Bit 7: 4, reserved ++//Bit 3: 2, reg_nr_cti_blend_mode : blend mode of nr and lti result: 0: nr; 1:cti; 2: (nr+cti)/2; 3:cti + dlt_nr . unsigned , default = 1 ++//Bit 1: 0, reg_nr_lti_blend_mode : blend mode of nr and lti result: 0: nr; 1:lti; 2: (nr+lti)/2; 3:lti + dlt_nr . unsigned , default = 2 ++//////////////////////////////////////////////////////////////////////////////// ++// new ti regsters from here ++//////////////////////////////////////////////////////////////////////////////// ++#define LTI_DIR_CORE_ALPHA (0x322a) ++#define P_LTI_DIR_CORE_ALPHA (volatile unsigned int *)((0x322a << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_adp_lti_dir_alp_core_ofst : ofst to min_err, alpha = (min_err - (max_err-min_err)*rate + ofst)/max_err*64; dft=10. unsigned , default = 10 ++//Bit 23:20, reserved ++//Bit 19:16, reg_adp_lti_dir_alp_core_rate : ofset to min_err, alpha = (min_err - (max_err-min_err)*rate + ofst)/max_err*64; dft=0/32. unsigned , default = 0 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_adp_lti_dir_alpmin : min value of alpha, alpha = (min_err+x +ofst)/max_err*64; dft=10 . unsigned , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_adp_lti_dir_alpmax : max value of alpha, alpha = (min_err+x +ofst)/max_err*64; dft=63 . unsigned , default = 63 ++#define CTI_DIR_ALPHA (0x322b) ++#define P_CTI_DIR_ALPHA (volatile unsigned int *)((0x322b << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_adp_cti_dir_alp_core_ofst : ofst to min_err, alpha = (min_err - (max_err-min_err)*rate + ofst)/max_err*64; dft=10. unsigned , default = 5 ++//Bit 23:20, reserved ++//Bit 19:16, reg_adp_cti_dir_alp_core_rate : ofset to min_err, alpha = (min_err - (max_err-min_err)*rate + ofst)/max_err*64; dft=0/32. unsigned , default = 0 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_adp_cti_dir_alpmin : min value of alpha, alpha = (min_err +x+ofst)/max_err*64; dft=10 . unsigned , default = 0 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_adp_cti_dir_alpmax : max value of alpha, alpha = (min_err +x+ofst)/max_err*64; dft=63 . unsigned , default = 63 ++#define LTI_CTI_DF_GAIN (0x322c) ++#define P_LTI_CTI_DF_GAIN (volatile unsigned int *)((0x322c << 2) + 0xff900000) ++//Bit 31:30, reserved ++//Bit 29:24, reg_adp_lti_hdf_gain : 8 normalized to "1"; default = 12 . unsigned , default = 12 ++//Bit 23:22, reserved ++//Bit 21:16, reg_adp_lti_vdf_gain : 8 normalized to "1"; default = 12 . unsigned , default = 12 ++//Bit 15:14, reserved ++//Bit 13: 8, reg_adp_cti_hdf_gain : 8 normalized to "1"; default = 12 . unsigned , default = 12 ++//Bit 7: 6, reserved ++//Bit 5: 0, reg_adp_cti_vdf_gain : 8 normalized to "1"; default = 12 . unsigned , default = 12 ++#define LTI_CTI_DIR_AC_DBG (0x322d) ++#define P_LTI_CTI_DIR_AC_DBG (volatile unsigned int *)((0x322d << 2) + 0xff900000) ++//Bit 31, reserved ++//Bit 30, reg_adp_lti_dir_lpf : 0: no lpf; 1: [1 2 2 2 1]/8 lpf . unsigned , default = 1 ++//Bit 29, reserved ++//Bit 28, reg_adp_lti_dir_difmode : 0: y_dif; 1: y_dif + (u_dif+v_dif)/2; . unsigned , default = 1 ++//Bit 27, reserved ++//Bit 26, reg_adp_cti_dir_lpf : 0: no lpf; 1: [1 2 2 2 1]/8 lpf dft=1 . unsigned , default = 1 ++//Bit 25:24, reg_adp_cti_dir_difmode : 0: (u_dif+v_dif); 1: y_dif/2 + (u_dif+v_dif)*3/4; 2: y_dif + (u_dif+v_dif)/2; 3: y_dif*2 (not recomended). unsigned , default = 2 ++//Bit 23:22, reg_adp_hvlti_dcblend_mode : 0: hlti_dc; 1:vlti_dc; 2: avg 3; blend on alpha . unsigned , default = 3 ++//Bit 21:20, reg_adp_hvcti_dcblend_mode : 0: hcti_dc; 1:vcti_dc; 2: avg 3; blend on alpha . unsigned , default = 2 ++//Bit 19:18, reg_adp_hvlti_acblend_mode : hlti_ac; 1:vlti_ac; 2: add 3;:adaptive to alpha . unsigned , default = 3 ++//Bit 17:16, reg_adp_hvcti_acblend_mode : hcti_ac; 1:vcti_ac; 2: add 3;: adaptive to alpha . unsigned , default = 2 ++//Bit 15, reserved ++//Bit 14:12, reg_adp_hlti_debug , for hlti debug, default = 0 . unsigned , default = 0 ++//Bit 11, reserved ++//Bit 10: 8, reg_adp_vlti_debug , for vlti debug, default = 0 . unsigned , default = 0 ++//Bit 7, reserved ++//Bit 6: 4, reg_adp_hcti_debug , for hcti debug, default = 0 . unsigned , default = 0 ++//Bit 3, reserved ++//Bit 2: 0, reg_adp_vcti_debug , for vcti debug, default = 0 . unsigned , default = 0 ++#define HCTI_FLT_CLP_DC (0x322e) ++#define P_HCTI_FLT_CLP_DC (volatile unsigned int *)((0x322e << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28, reg_adp_hcti_en , 0: no cti, 1: new cti, default = 1 . unsigned , default = 1 ++//Bit 27:26, reg_adp_hcti_vdn_flt , 0: no lpf; 1:[0,2,4,2,0], 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 25:24, reg_adp_hcti_hdn_flt , 0: no lpf; 1:[0, 0, 0, 4, 8, 4, 0, 0, 0], 2:[0, 0, 2, 4, 4, 4, 2, 0, 0], 3: [1, 2, 2, 2, 2, 2, 2, 2, 1], default = 2. unsigned , default = 2 ++//Bit 23:22, reg_adp_hcti_ddn_flt , 0: no lpf; 1:[0,2,4,2,0], 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 21:20, reg_adp_hcti_lpf0_flt , 0:no filter; 1:sigma=0.75, 2: sigma = 1.0, 3: sigma = 1.5, default = 1 . unsigned , default = 1 ++//Bit 19:18, reg_adp_hcti_lpf1_flt , 0:no filter; 1:sigma= 2.0, 2: sigma = 3.0, 3: sigma = 4.0, default = 1 . unsigned , default = 1 ++//Bit 17:16, reg_adp_hcti_lpf2_flt , 0:no filter; 1:sigma=5.0, 2: sigma = 9.0, 3: sigma = 13.0, default = 1 . unsigned , default = 1 ++//Bit 15:12, reg_adp_hcti_hard_clp_win , window size, 0~8, default = 5 . unsigned , default = 5 ++//Bit 11: 8, reg_adp_hcti_hard_win_min , window size, 0~8, default = 3 . unsigned , default = 3 ++//Bit 7: 5, reserved ++//Bit 4, reg_adp_hcti_clp_mode , 0: hard clip, 1: adaptive clip, default = 1 . unsigned , default = 1 ++//Bit 3, reserved ++//Bit 2: 0, reg_adp_hcti_dc_mode , 0:dn, 1:lpf0, 2:lpf1, 3:lpf2, 4: lpf3: 5: vdn result; 6/7:org, default = 0 . unsigned , default = 0 ++#define HCTI_BST_GAIN (0x322f) ++#define P_HCTI_BST_GAIN (volatile unsigned int *)((0x322f << 2) + 0xff900000) ++//Bit 31:24, reg_adp_hcti_bst_gain0 : gain of the bandpass 0 (lpf1-lpf2)- LBP, default = 80 . unsigned , default = 80 ++//Bit 23:16, reg_adp_hcti_bst_gain1 : gain of the bandpass 1 (lpf0-lpf1)- BP, default = 96 . unsigned , default = 96 ++//Bit 15: 8, reg_adp_hcti_bst_gain2 : gain of the bandpass 2 (hdn-lpf0)- HP, default = 64 . unsigned , default = 64 ++//Bit 7: 0, reg_adp_hcti_bst_gain3 : gain of the unsharp band (yuvin-hdn) - US, default = 16 . unsigned , default = 16 ++#define HCTI_BST_CORE (0x3230) ++#define P_HCTI_BST_CORE (volatile unsigned int *)((0x3230 << 2) + 0xff900000) ++//Bit 31:24, reg_adp_hcti_bst_core0 : core of the bandpass 0 (lpf1-lpf2)- LBP, default = 5 . unsigned , default = 5 ++//Bit 23:16, reg_adp_hcti_bst_core1 : core of the bandpass 1 (lpf0-lpf1)- BP, default = 5 . unsigned , default = 5 ++//Bit 15: 8, reg_adp_hcti_bst_core2 : core of the bandpass 2 (hdn-lpf0)- HP, default = 5 . unsigned , default = 5 ++//Bit 7: 0, reg_adp_hcti_bst_core3 : core of the unsharp band (yuvin-hdn) - US, default = 3 . unsigned , default = 5 ++#define HCTI_CON_2_GAIN_0 (0x3231) ++#define P_HCTI_CON_2_GAIN_0 (volatile unsigned int *)((0x3231 << 2) + 0xff900000) ++//Bit 31:29, reg_adp_hcti_con_mode : con mode 0:[0, 0,-1, 1, 0, 0, 0]+[0, 0, 0, 1,-1, 0, 0], 1: [0, 0,-1, 0, 1, 0, 0], 2: [0,-1, 0, 0, 0, 1, 0], 3:[-1, 0, 0, 0, 0, 0, 1], 4: .... default = 1. unsigned , default = 1 ++//Bit 28:26, reg_adp_hcti_dx_mode : dx mode 0: [-1 1 0]; 1~7: [-1 (2x+1)"0" 1], default = 2 . unsigned , default = 2 ++//Bit 25:24, reg_adp_hcti_con_lpf : lpf mode of the con: 0: [1 2 1]/4; 1:[1 2 2 2 1]/8, default = 0 . unsigned , default = 0 ++//Bit 23:16, reg_adp_hcti_con_2_gain0 , default = 25 . unsigned , default = 25 ++//Bit 15: 8, reg_adp_hcti_con_2_gain1 , default = 60 . unsigned , default = 60 ++//Bit 7: 0, reg_adp_hcti_con_2_gain2 0;, default = 5 . unsigned , default = 5 ++#define HCTI_CON_2_GAIN_1 (0x3232) ++#define P_HCTI_CON_2_GAIN_1 (volatile unsigned int *)((0x3232 << 2) + 0xff900000) ++//Bit 31:24, reg_adp_hcti_con_2_gain3 96;, default = 96 . unsigned , default = 96 ++//Bit 23:16, reg_adp_hcti_con_2_gain4 5;, default = 5 . unsigned , default = 5 ++//Bit 15: 8, reg_adp_hcti_con_2_gain5 80;, default = 80 . unsigned , default = 80 ++//Bit 7: 0, reg_adp_hcti_con_2_gain6 20;, default = 20 . unsigned , default = 20 ++#define HCTI_OS_MARGIN (0x3233) ++#define P_HCTI_OS_MARGIN (volatile unsigned int *)((0x3233 << 2) + 0xff900000) ++//Bit 31: 8, reserved ++//Bit 7: 0, reg_adp_hcti_os_margin : margin for hcti overshoot, default = 0 . unsigned , default = 0 ++#define HLTI_FLT_CLP_DC (0x3234) ++#define P_HLTI_FLT_CLP_DC (volatile unsigned int *)((0x3234 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28, reg_adp_hlti_en , 0: no cti, 1: new cti, default = 1 . unsigned , default = 1 ++//Bit 27:26, reg_adp_hlti_vdn_flt , 0: no lpf; 1:[0,2,4,2,0], 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 25:24, reg_adp_hlti_hdn_flt , 0: no lpf; 1:[0, 0, 0, 4, 8, 4, 0, 0, 0], 2:[0, 0, 2, 4, 4, 4, 2, 0, 0], 3: [1, 2, 2, 2, 2, 2, 2, 2, 1], default = 1. unsigned , default = 1 ++//Bit 23:22, reg_adp_hlti_ddn_flt , 0: no lpf; 1:[0,2,4,2,0], 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 1 . unsigned , default = 1 ++//Bit 21:20, reg_adp_hlti_lpf0_flt , 0:no filter; 1:sigma=0.75, 2: sigma = 1.0, 3: sigma = 1.5, default = 1 . unsigned , default = 1 ++//Bit 19:18, reg_adp_hlti_lpf1_flt , 0:no filter; 1:sigma= 2.0, 2: sigma = 3.0, 3: sigma = 4.0, default = 1 . unsigned , default = 1 ++//Bit 17:16, reg_adp_hlti_lpf2_flt , 0:no filter; 1:sigma=5.0, 2: sigma = 9.0, 3: sigma = 13.0, default = 1 . unsigned , default = 1 ++//Bit 15:12, reg_adp_hlti_hard_clp_win , window size, 0~8, default = 2 . unsigned , default = 2 ++//Bit 11: 8, reg_adp_hlti_hard_win_min , window size, 0~8, default = 1 . unsigned , default = 1 ++//Bit 7: 5, reserved ++//Bit 4, reg_adp_hlti_clp_mode , 0: hard clip, 1: adaptive clip, default = 0 . unsigned , default = 0 ++//Bit 3, reserved ++//Bit 2: 0, reg_adp_hlti_dc_mode , 0:dn, 1:lpf0, 2:lpf1, 3:lpf2, 4: lpf3: 5: vdn result; 6/7:org, default = 4 . unsigned , default = 4 ++#define HLTI_BST_GAIN (0x3235) ++#define P_HLTI_BST_GAIN (volatile unsigned int *)((0x3235 << 2) + 0xff900000) ++//Bit 31:24, reg_adp_hlti_bst_gain0 : gain of the bandpass 0 (lpf1-lpf2)- LBP, default = 32 . unsigned , default = 32 ++//Bit 23:16, reg_adp_hlti_bst_gain1 : gain of the bandpass 1 (lpf0-lpf1)- BP, default = 32 . unsigned , default = 32 ++//Bit 15: 8, reg_adp_hlti_bst_gain2 : gain of the bandpass 2 (hdn-lpf0)- HP, default = 28 . unsigned , default = 28 ++//Bit 7: 0, reg_adp_hlti_bst_gain3 : gain of the unsharp band (yuvin-hdn) - US, default = 12 . unsigned , default = 12 ++#define HLTI_BST_CORE (0x3236) ++#define P_HLTI_BST_CORE (volatile unsigned int *)((0x3236 << 2) + 0xff900000) ++//Bit 31:24, reg_adp_hlti_bst_core0 : core of the bandpass 0 (lpf1-lpf2)- LBP, default = 5 . unsigned , default = 5 ++//Bit 23:16, reg_adp_hlti_bst_core1 : core of the bandpass 1 (lpf0-lpf1)- BP, default = 5 . unsigned , default = 5 ++//Bit 15: 8, reg_adp_hlti_bst_core2 : core of the bandpass 2 (hdn-lpf0)- HP, default = 5 . unsigned , default = 5 ++//Bit 7: 0, reg_adp_hlti_bst_core3 : core of the unsharp band (yuvin-hdn) - US, default = 3 . unsigned , default = 3 ++#define HLTI_CON_2_GAIN_0 (0x3237) ++#define P_HLTI_CON_2_GAIN_0 (volatile unsigned int *)((0x3237 << 2) + 0xff900000) ++//Bit 31:29, reg_adp_hlti_con_mode : con mode 0:[0, 0,-1, 1, 0, 0, 0]+[0, 0, 0, 1,-1, 0, 0], 1: [0, 0,-1, 0, 1, 0, 0], 2: [0,-1, 0, 0, 0, 1, 0], 3:[-1, 0, 0, 0, 0, 0, 1], 4: ....., default = 1. unsigned , default = 1 ++//Bit 28:26, reg_adp_hlti_dx_mode : dx mode 0: [-1 1 0]; 1~7: [-1 (2x+1)"0" 1], default = 1 . unsigned , default = 1 ++//Bit 25:24, reg_adp_hlti_con_lpf : lpf mode of the con: 0: [1 2 1]/4; 1:[1 2 2 2 1]/8, default = 0 . unsigned , default = 0 ++//Bit 23:16, reg_adp_hlti_con_2_gain0 25;, default = 25 . unsigned , default = 25 ++//Bit 15: 8, reg_adp_hlti_con_2_gain1 60;, default = 60 . unsigned , default = 60 ++//Bit 7: 0, reg_adp_hlti_con_2_gain2 0;, default = 5 . unsigned , default = 5 ++#define HLTI_CON_2_GAIN_1 (0x3238) ++#define P_HLTI_CON_2_GAIN_1 (volatile unsigned int *)((0x3238 << 2) + 0xff900000) ++//Bit 31:24, reg_adp_hlti_con_2_gain3 96;, default = 96 . unsigned , default = 96 ++//Bit 23:16, reg_adp_hlti_con_2_gain4 5;, default = 95 . unsigned , default = 95 ++//Bit 15: 8, reg_adp_hlti_con_2_gain5 80;, default = 80 . unsigned , default = 80 ++//Bit 7: 0, reg_adp_hlti_con_2_gain6 20;, default = 20 . unsigned , default = 20 ++#define HLTI_OS_MARGIN (0x3239) ++#define P_HLTI_OS_MARGIN (volatile unsigned int *)((0x3239 << 2) + 0xff900000) ++//Bit 31: 8, reserved ++//Bit 7: 0, reg_adp_hlti_os_margin : margin for hlti overshoot, default = 0 . unsigned , default = 0 ++#define VLTI_FLT_CON_CLP (0x323a) ++#define P_VLTI_FLT_CON_CLP (volatile unsigned int *)((0x323a << 2) + 0xff900000) ++//Bit 31:15, reserved ++//Bit 14, reg_adp_vlti_en : enable bit of vlti, default = 1 . unsigned , default = 1 ++//Bit 13:12, reg_adp_vlti_hxn_flt : 0: no dn; 1: [1 2 1]/4; 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 11:10, reg_adp_vlti_dxn_flt : 0: no dn; 1: [1 2 1]/4; 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 9: 8, reg_adp_vlti_han_flt : 0: no dn; 1: [1 2 1]/4; 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 7: 6, reg_adp_vlti_dan_flt : 0: no dn; 1: [1 2 1]/4; 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 5: 4, reg_adp_vlti_dx_mode : 0:[-1 1] 1:[-1 0 -1]; 2/3: [-1 0 0 0 -1], default = 1 . unsigned , default = 1 ++//Bit 3, reserved ++//Bit 2, reg_adp_vlti_con_lpf : lpf mode of the con: 0: [1 2 1]/4; 1:[1 2 2 2 1]/8, default = 0 . unsigned , default = 0 ++//Bit 1, reserved ++//Bit 0, reg_adp_vlti_hard_clp_win : window size; 0: 1x3 window; 1: 1x5 window, default = 0 . unsigned , default = 0 ++#define VLTI_BST_GAIN (0x323b) ++#define P_VLTI_BST_GAIN (volatile unsigned int *)((0x323b << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_adp_vlti_bst_gain0 : gain to boost filter [-1 2 -1];, default = 32 . unsigned , default = 32 ++//Bit 15: 8, reg_adp_vlti_bst_gain1 : gain to boost filter [-1 0 2 0 -1];, default = 32 . unsigned , default = 32 ++//Bit 7: 0, reg_adp_vlti_bst_gain2 : gain to boost filter usf, default = 32 . unsigned , default = 32 ++#define VLTI_BST_CORE (0x323c) ++#define P_VLTI_BST_CORE (volatile unsigned int *)((0x323c << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_adp_vlti_bst_core0 : coring to boost filter [-1 2 -1];, default = 5 . unsigned , default = 5 ++//Bit 15: 8, reg_adp_vlti_bst_core1 : coring to boost filter [-1 0 2 0 -1];, default = 5 . unsigned , default = 5 ++//Bit 7: 0, reg_adp_vlti_bst_core2 : coring to boost filter usf, default = 3 . unsigned , default = 3 ++#define VLTI_CON_2_GAIN_0 (0x323d) ++#define P_VLTI_CON_2_GAIN_0 (volatile unsigned int *)((0x323d << 2) + 0xff900000) ++//Bit 31:24, reg_adp_vlti_con_2_gain0 25;, default = 25 . unsigned , default = 25 ++//Bit 23:16, reg_adp_vlti_con_2_gain1 60;, default = 60 . unsigned , default = 60 ++//Bit 15: 8, reg_adp_vlti_con_2_gain2 0;, default = 5 . unsigned , default = 5 ++//Bit 7: 0, reg_adp_vlti_con_2_gain3 96;, default = 96 . unsigned , default = 96 ++#define VLTI_CON_2_GAIN_1 (0x323e) ++#define P_VLTI_CON_2_GAIN_1 (volatile unsigned int *)((0x323e << 2) + 0xff900000) ++//Bit 31:24, reg_adp_vlti_con_2_gain4 5;, default = 95 . unsigned , default = 95 ++//Bit 23:16, reg_adp_vlti_con_2_gain5 80;, default = 80 . unsigned , default = 80 ++//Bit 15: 8, reg_adp_vlti_con_2_gain6 20;, default = 20 . unsigned , default = 20 ++//Bit 7: 0, reg_adp_vlti_os_margin : margin for vlti overshoot, default = 0 . unsigned , default = 0 ++#define VCTI_FLT_CON_CLP (0x323f) ++#define P_VCTI_FLT_CON_CLP (volatile unsigned int *)((0x323f << 2) + 0xff900000) ++//Bit 31:15, reserved ++//Bit 14, reg_adp_vcti_en : enable bit of vlti, default = 1 . unsigned , default = 1 ++//Bit 13:12, reg_adp_vcti_hxn_flt : 0: no dn; 1: [1 2 1]/4; 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 11:10, reg_adp_vcti_dxn_flt : 0: no dn; 1: [1 2 1]/4; 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 9: 8, reg_adp_vcti_han_flt : 0: no dn; 1: [1 2 1]/4; 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 7: 6, reg_adp_vcti_dan_flt : 0: no dn; 1: [1 2 1]/4; 2 : [1 2 2 2 1]/8 3:[1 0 2 0 1]/4, default = 2 . unsigned , default = 2 ++//Bit 5: 4, reg_adp_vcti_dx_mode : 0:[-1 1] 1:[-1 0 -1]; 2/3: [-1 0 0 0 -1], default = 1 . unsigned , default = 1 ++//Bit 3, reserved ++//Bit 2, reg_adp_vcti_con_lpf : lpf mode of the con: 0: [1 2 1]/4; 1:[1 2 2 2 1]/8, default = 0 . unsigned , default = 0 ++//Bit 1, reserved ++//Bit 0, reg_adp_vcti_hard_clp_win : window size; 0: 1x3 window; 1: 1x5 window, default = 0 . unsigned , default = 0 ++#define VCTI_BST_GAIN (0x3240) ++#define P_VCTI_BST_GAIN (volatile unsigned int *)((0x3240 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_adp_vcti_bst_gain0 : gain to boost filter [-1 2 -1];, default = 16 . unsigned , default = 16 ++//Bit 15: 8, reg_adp_vcti_bst_gain1 : gain to boost filter [-1 0 2 0 -1];, default = 16 . unsigned , default = 16 ++//Bit 7: 0, reg_adp_vcti_bst_gain2 : gain to boost filter usf, default = 16 . unsigned , default = 16 ++#define VCTI_BST_CORE (0x3241) ++#define P_VCTI_BST_CORE (volatile unsigned int *)((0x3241 << 2) + 0xff900000) ++//Bit 31:24, reserved ++//Bit 23:16, reg_adp_vcti_bst_core0 : coring to boost filter [-1 2 -1];, default = 5 . unsigned , default = 5 ++//Bit 15: 8, reg_adp_vcti_bst_core1 : coring to boost filter [-1 0 2 0 -1];, default = 5 . unsigned , default = 5 ++//Bit 7: 0, reg_adp_vcti_bst_core2 : coring to boost filter usf, default = 3 . unsigned , default = 3 ++#define VCTI_CON_2_GAIN_0 (0x3242) ++#define P_VCTI_CON_2_GAIN_0 (volatile unsigned int *)((0x3242 << 2) + 0xff900000) ++//Bit 31:24, reg_adp_vcti_con_2_gain0 25;, default = 25 . unsigned , default = 25 ++//Bit 23:16, reg_adp_vcti_con_2_gain1 60;, default = 60 . unsigned , default = 60 ++//Bit 15: 8, reg_adp_vcti_con_2_gain2 0;, default = 5 . unsigned , default = 5 ++//Bit 7: 0, reg_adp_vcti_con_2_gain3 96;, default = 96 . unsigned , default = 96 ++#define VCTI_CON_2_GAIN_1 (0x3243) ++#define P_VCTI_CON_2_GAIN_1 (volatile unsigned int *)((0x3243 << 2) + 0xff900000) ++//Bit 31:24, reg_adp_vcti_con_2_gain4 5;, default = 95 . unsigned , default = 95 ++//Bit 23:16, reg_adp_vcti_con_2_gain5 80;, default = 80 . unsigned , default = 80 ++//Bit 15: 8, reg_adp_vcti_con_2_gain6 20;, default = 20 . unsigned , default = 20 ++//Bit 7: 0, reg_adp_vcti_os_margin : margin for vcti overshoot, default = 0 . unsigned , default = 0 ++#define SHARP_3DLIMIT (0x3244) ++#define P_SHARP_3DLIMIT (volatile unsigned int *)((0x3244 << 2) + 0xff900000) ++//Bit 31:29, reserved ++//Bit 28:16, reg_3d_mid_width ,width of left part of 3d input, dft = half size of input width default = 0 . unsigned , default = 960 ++//Bit 15:13, reserved ++//Bit 12: 0, reg_3d_mid_height ,height of left part of 3d input, dft = half size of input height default = 0 . unsigned , default = 540 ++#define DNLP_EN (0x3245) ++#define P_DNLP_EN (volatile unsigned int *)((0x3245 << 2) + 0xff900000) ++//Bit 31: 1, reserved ++//Bit 0, reg_dnlp_en . unsigned , default = 1 ++#define DNLP_00 (0x3246) ++#define P_DNLP_00 (volatile unsigned int *)((0x3246 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid0 : dnlp00 . unsigned , default = 32'h08060402 ++#define DNLP_01 (0x3247) ++#define P_DNLP_01 (volatile unsigned int *)((0x3247 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid1 : dnlp01 . unsigned , default = 32'h100e0c0a ++#define DNLP_02 (0x3248) ++#define P_DNLP_02 (volatile unsigned int *)((0x3248 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid2 : dnlp02 . unsigned , default = 32'h1a171412 ++#define DNLP_03 (0x3249) ++#define P_DNLP_03 (volatile unsigned int *)((0x3249 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid3 : dnlp03 . unsigned , default = 32'h2824201d ++#define DNLP_04 (0x324a) ++#define P_DNLP_04 (volatile unsigned int *)((0x324a << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid4 : dnlp04 . unsigned , default = 32'h3834302c ++#define DNLP_05 (0x324b) ++#define P_DNLP_05 (volatile unsigned int *)((0x324b << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid5 : dnlp05 . unsigned , default = 32'h4b45403c ++#define DNLP_06 (0x324c) ++#define P_DNLP_06 (volatile unsigned int *)((0x324c << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid6 : dnlp06 . unsigned , default = 32'h605b5550 ++#define DNLP_07 (0x324d) ++#define P_DNLP_07 (volatile unsigned int *)((0x324d << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid7 : dnlp07 . unsigned , default = 32'h80787068 ++#define DNLP_08 (0x324e) ++#define P_DNLP_08 (volatile unsigned int *)((0x324e << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid8 : dnlp08 . unsigned , default = 32'ha0989088 ++#define DNLP_09 (0x324f) ++#define P_DNLP_09 (volatile unsigned int *)((0x324f << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid9 : dnlp09 . unsigned , default = 32'hb8b2aca6 ++#define DNLP_10 (0x3250) ++#define P_DNLP_10 (volatile unsigned int *)((0x3250 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid10 : dnlp10 . unsigned , default = 32'hc8c4c0bc ++#define DNLP_11 (0x3251) ++#define P_DNLP_11 (volatile unsigned int *)((0x3251 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid11 : dnlp11 . unsigned , default = 32'hd4d2cecb ++#define DNLP_12 (0x3252) ++#define P_DNLP_12 (volatile unsigned int *)((0x3252 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid12 : dnlp12 . unsigned , default = 32'hdad8d7d6 ++#define DNLP_13 (0x3253) ++#define P_DNLP_13 (volatile unsigned int *)((0x3253 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid13 : dnlp13 . unsigned , default = 32'he2e0dedc ++#define DNLP_14 (0x3254) ++#define P_DNLP_14 (volatile unsigned int *)((0x3254 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid14 : dnlp14 . unsigned , default = 32'hf0ece8e4 ++#define DNLP_15 (0x3255) ++#define P_DNLP_15 (volatile unsigned int *)((0x3255 << 2) + 0xff900000) ++//Bit 31: 0, reg_dnlp_ygrid15 : dnlp15 . unsigned , default = 32'hfffcf8f4 ++#define DEMO_CRTL (0x3256) ++#define P_DEMO_CRTL (volatile unsigned int *)((0x3256 << 2) + 0xff900000) ++//Bit 31:19, reserved ++//Bit 18:17, demo_disp_position . unsigned , default = 2 ++//Bit 16, demo_hsvsharp_enable . unsigned , default = 0 ++//Bit 15:13, reserved ++//Bit 12: 0, demo_left_top_screen_width : . unsigned , default = 360 ++#define SHARP_SR2_CTRL (0x3257) ++#define P_SHARP_SR2_CTRL (volatile unsigned int *)((0x3257 << 2) + 0xff900000) ++//Bit 31:22, reserved ++//Bit 21:16, reg_sr2_pk_la_err_dis_rate : . unsigned , low angle and high angle error should not be no less than nearby_error*rate/64; default = 24 ++//Bit 15:8, reg_sr2_pk_sad_diag_gain : . unsigned , gain to sad[2] and sad[6], 16 normalized to "1"; default = 16 ++//Bit 7, reg_sr2_vert_outphs : . unsigned , default = 0 ++//Bit 6, reg_sr2_horz_outphs : . unsigned , default = 0 ++//Bit 5, reg_sr2_vert_ratio : . unsigned , default = 0 ++//Bit 4, reg_sr2_hori_ratio : . unsigned , default = 0 ++//Bit 3, reg_sr2_bic_norm : . unsigned , default = 1 ++//Bit 2, reg_sr2_enable : . unsigned , default = 0 ++//Bit 1, reg_sr2_sharp_prc_lr_hbic : . unsigned , default = 0 ++//Bit 0, reg_sr2_sharp_prc_lr : lti/cti/nr/peaking processing using LR grid, 0: on HR grid; 1:on LR grid, horizontally no upscale, but using simple bic . unsigned , default = 0 ++#define SHARP_SR2_YBIC_HCOEF0 (0x3258) ++#define P_SHARP_SR2_YBIC_HCOEF0 (volatile unsigned int *)((0x3258 << 2) + 0xff900000) ++//Bit 31:24, reg_sr2_y_bic_hcoef03 Horizontal bi-cubic filter of 1.0 phase of luma channel Filter will be normalized to 128 as 鈥?鈥? default=0 ++//Bit 23:16, reg_sr2_y_bic_hcoef02 the same as above; default=0 ++//Bit 15: 8, reg_sr2_y_bic_hcoef01 the same as above; default=64 ++//Bit 7: 0, reg_sr2_y_bic_hcoef00 the same as above; default=0 ++#define SHARP_SR2_YBIC_HCOEF1 (0x3259) ++#define P_SHARP_SR2_YBIC_HCOEF1 (volatile unsigned int *)((0x3259 << 2) + 0xff900000) ++//Bit 31:24, reg_sr2_y_bic_hcoef13 Horizontal bi-cubic filter of 0.5 phase of luma channel,Filter will be normalized to 128 as 鈥?鈥? default=-4 ++//Bit 23:16, reg_sr2_y_bic_hcoef12 the same as above; default=36 ++//Bit 15: 8, reg_sr2_y_bic_hcoef11 the same as above; default=36 ++//Bit 7: 0, reg_sr2_y_bic_hcoef10 the same as above; default=-4 ++#define SHARP_SR2_CBIC_HCOEF0 (0x325a) ++#define P_SHARP_SR2_CBIC_HCOEF0 (volatile unsigned int *)((0x325a << 2) + 0xff900000) ++//Bit 31:24, reg_sr2_c_bic_hcoef03 Horizontal bi-cubic filter of 1.0 phase of luma channel ,Filter will be normalized to 128 as 鈥?鈥? default=0 ++//Bit 23:16, reg_sr2_c_bic_hcoef02 the same as above; default=21 ++//Bit 15: 8, reg_sr2_c_bic_hcoef01 the same as above; default=22 ++//Bit 7: 0, reg_sr2_c_bic_hcoef00 the same as above; default=21 ++#define SHARP_SR2_CBIC_HCOEF1 (0x325b) ++#define P_SHARP_SR2_CBIC_HCOEF1 (volatile unsigned int *)((0x325b << 2) + 0xff900000) ++//Bit 31:24, reg_sr2_c_bic_hcoef13 Horizontal bi-cubic filter of 0.5 phase of luma channel,Filter will be normalized to 128 as 鈥?鈥? default=-4 ++//Bit 23:16, reg_sr2_c_bic_hcoef12 the same as above; default=36 ++//Bit 15: 8, reg_sr2_c_bic_hcoef11 the same as above; default=36 ++//Bit 7: 0, reg_sr2_c_bic_hcoef10 the same as above; default=-4 ++#define SHARP_SR2_YBIC_VCOEF0 (0x325c) ++#define P_SHARP_SR2_YBIC_VCOEF0 (volatile unsigned int *)((0x325c << 2) + 0xff900000) ++//Bit 31:24, reg_sr2_y_bic_vcoef03 Horizontal bi-cubic filter of 1.0 phase of luma channel, Filter will be normalized to 128 as 鈥?鈥? default=0 ++//Bit 23:16, reg_sr2_y_bic_vcoef02 the same as above; default=0 ++//Bit 15: 8, reg_sr2_y_bic_vcoef01 the same as above; default=64 ++//Bit 7: 0, reg_sr2_y_bic_vcoef00 the same as above; default=0 ++#define SHARP_SR2_YBIC_VCOEF1 (0x325d) ++#define P_SHARP_SR2_YBIC_VCOEF1 (volatile unsigned int *)((0x325d << 2) + 0xff900000) ++//Bit 31:24, reg_sr2_y_bic_vcoef13 Horizontal bi-cubic filter of 0.5 phase of luma channe, lFilter will be normalized to 128 as 鈥?鈥? default=-4 ++//Bit 23:16, reg_sr2_y_bic_vcoef12 the same as above; default=36 ++//Bit 15: 8, reg_sr2_y_bic_vcoef11 the same as above; default=36 ++//Bit 7: 0, reg_sr2_y_bic_vcoef10 the same as above; default=-4 ++#define SHARP_SR2_CBIC_VCOEF0 (0x325e) ++#define P_SHARP_SR2_CBIC_VCOEF0 (volatile unsigned int *)((0x325e << 2) + 0xff900000) ++//Bit 31:24, reg_sr2_c_bic_vcoef03 Horizontal bi-cubic filter of 1.0 phase of luma channel, Filter will be normalized to 128 as 鈥?鈥? default=0 ++//Bit 23:16, reg_sr2_c_bic_vcoef02 the same as above; default=21 ++//Bit 15: 8, reg_sr2_c_bic_vcoef01 the same as above; default=22 ++//Bit 7: 0, reg_sr2_c_bic_vcoef00 the same as above; default=21 ++#define SHARP_SR2_CBIC_VCOEF1 (0x325f) ++#define P_SHARP_SR2_CBIC_VCOEF1 (volatile unsigned int *)((0x325f << 2) + 0xff900000) ++//Bit 31:24, reg_sr2_c_bic_vcoef13 Horizontal bi-cubic filter of 0.5 phase of luma channel,Filter will be normalized to 128 as 鈥?鈥? default=-4 ++//Bit 23:16, reg_sr2_c_bic_vcoef12 the same as above; default=36 ++//Bit 15: 8, reg_sr2_c_bic_vcoef11 the same as above; default=36 ++//Bit 7: 0, reg_sr2_c_bic_vcoef10 the same as above; default=-4 ++#define SHARP_SR2_MISC (0x3260) ++#define P_SHARP_SR2_MISC (volatile unsigned int *)((0x3260 << 2) + 0xff900000) ++//Bit 31:2, reserved ++//Bit 1, reg_sr2_cmpmux_bef : . unsigned , default = 0,0 no swap anf for YUV->YUV; 1, swapped and for RGB->GBR; ++//Bit 0, reg_sr2_cmpmux_aft : . unsigned , default = 0,0 no swap anf for YUV->YUV; 1, swapped and for GBR-RGB; ++#define SHARP_SR3_SAD_CTRL (0x3261) ++#define P_SHARP_SR3_SAD_CTRL (volatile unsigned int *)((0x3261 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_sr3_pk_sad_core_rate // u6: rate of coring for sad(theta) - sad(theta+pi/2)*rate/64 ++//Bit 23:22 reserved ++//Bit 21:16 reg_sr3_lti_sad_core_rate // u6: rate of coring for sad(theta) - sad(theta+pi/2)*rate/64 , default= 6 ++//Bit 15:14 reserved ++//Bit 13:8 reg_sr3_cti_sad_core_rate // u6: rate of coring for sad(theta) - sad(theta+pi/2)*rate/64 , default= 6 ++//Bit 7, reg_sr3_lti_hsad_mode // u1: mode for hsad of lti caluclation; 0: block based; 1:othor shape; default= 1 ++//Bit 6, reg_sr3_cti_hsad_mode // u1: mode for hsad of cti caluclation; 0: block based; 1:othor shape; default= 1 ++//Bit 5, reg_sr3_lti_dsad_mode // u1: mode for dsad of lti caluclation, 0: block based; 1:othor shape; default= 1 ++//Bit 4, reg_sr3_cti_dsad_mode // u1: mode for dsad of cti caluclation, 0: block based; 1:othor shape; default= 1 ++//Bit 3, reg_sr3_lti_vsad_mode // u1: mode for vsad of lti caluclation, 0: block based; 1:othor shape; default= 1 ++//Bit 2, reg_sr3_cti_vsad_mode // u1: mode for vsad of cti caluclation, 0: block based; 1:othor shape; default= 1 ++//Bit 1, reg_sr3_lti_hsad_hlpf // u1: hlpf for hsad of lti caluclation, 0: no hlpf; 1: with [1 2 1] hlpf; default= 1 ++//Bit 0, reg_sr3_cti_hsad_hlpf // u1: hlpf for hsad of cti caluclation, 0: no hlpf; 1: with [1 2 1] hlpf; default= 1 ++#define SHARP_SR3_PK_CTRL0 (0x3262) ++#define P_SHARP_SR3_PK_CTRL0 (volatile unsigned int *)((0x3262 << 2) + 0xff900000) ++//Bit 31:12 reserved ++//Bit 11, reg_sr3_pk_sad_mode // u1: mode for sad of peaking and noise reduction, 0: block based; 1:othor shape; default= 1 ++//Bit 10, reg_sr3_pk_hsad_hlpf // u1: hlpf for hsad for peaking caluclation, 0: no hlpf; 1: with [1 2 2 2 1] hlpf; default= 1 ++//Bit 9, reg_sr3_pk_vsad_hlpf // u1: hlpf for vsad for peaking caluclation, 0: no hlpf; 1: with [1 2 2 2 1] hlpf; default= 1 ++//Bit 8, reg_sr3_pk_dsad_hlpf // u1: hlpf for dsad for peaking caluclation, 0: no hlpf; 1: with [1 2 2 2 1] hlpf; default= 1 ++//Bit 7:6, reg_sr3_pk_hpdrt_mode // u2: mode for HPdrt filter: default= 3 ++//Bit 5:4, reg_sr3_pk_bpdrt_mode // u2: mode for BPdrt filter: default= 3 ++//Bit 3:2, reg_sr3_pk_drtbld_range // u2: range of the min2 and min direction distance; default =1 ++//Bit 1, reserved ++//Bit 0, reg_sr3_pk_ti_blend_mode // u1: blend mode of the TI and PK results: default = 0; ++#define SHARP_SR3_PK_CTRL1 (0x3263) ++#define P_SHARP_SR3_PK_CTRL1 (volatile unsigned int *)((0x3263 << 2) + 0xff900000) ++//Bit 31, reserved ++//Bit 30:28, reg_sr3_pk_hp_hvcon_replace8_maxsad //u3: replace HP hvcon by maxsad, default =1 ++//Bit 27, reserved ++//Bit 26:24, reg_sr3_pk_bp_hvcon_replace8_maxsad //u3: replace HP hvcon by maxsad, default =1 ++//Bit 23:16, reg_sr3_pk_hp_hvcon_replace8lv_gain //u8: gain to local variant before calculating the hv gain for peaking, normalized to 32 as "1" default = 32; ++//Bit 15:8, reg_sr3_pk_bp_hvcon_replace8lv_gain //u8: gain to local variant before calculating the hv gain for peaking, normalized to 32 as "1" default = 32; ++//Bit 7, reg_sr3_sad_intlev_mode //u1: interleave detection xerr mode: 0 max; 1:sum default=1 ++//Bit 6, reg_sr3_sad_intlev_mode1 //u1: mode 1 of using diagonal protection: 0: no digonal protection; 1: with diagonal protection default=1 ++//Bit 5:0, reg_sr3_sad_intlev_gain //u6: interleave detection for sad gain applied, normalized to 8 as 1 default=12 ++#define SHARP_DEJ_CTRL (0x3264) ++#define P_SHARP_DEJ_CTRL (volatile unsigned int *)((0x3264 << 2) + 0xff900000) ++//Bit 31:4 reserved ++//Bit 3:2, reg_sr3_dejaggy_sameside_prtct // u2: enable of sr3 dejaggy same side curve protect from filter, [0] for proc, [1] for ctrl path, default=3 ++//Bit 1, reg_sr3_dejaggy_sameside_mode // u1: mode of the sameside flag decision: default =1 ++//Bit 0, reg_sr3_dejaggy_enable // u1: enable of sr3 dejaggy: default =0 ++#define SHARP_DEJ_ALPHA (0x3265) ++#define P_SHARP_DEJ_ALPHA (volatile unsigned int *)((0x3265 << 2) + 0xff900000) ++//Bit 31:28, reg_sr3_dejaggy_ctrlchrm_alpha_1 //u4: alpha for LR video LPF, default = 0 ++//Bit 27:24, reg_sr3_dejaggy_ctrlchrm_alpha_0 //u4: alpha for LR video LPF, default = 15 ++//Bit 23:20, reg_sr3_dejaggy_ctrlluma_alpha_1 //u4: alpha for LR video LPF, default = 0 ++//Bit 19:16, reg_sr3_dejaggy_ctrlluma_alpha_0 //u4: alpha for LR video LPF, default = 15 ++//Bit 15:12, reg_sr3_dejaggy_procchrm_alpha_1 //u4: alpha for LR video LPF, default = 4 ++//Bit 11:8, reg_sr3_dejaggy_procchrm_alpha_0 //u4: alpha for LR video LPF, default = 6 ++//Bit 7:4, reg_sr3_dejaggy_procluma_alpha_1 //u4: alpha for LR video LPF, default = 4 ++//Bit 3:0, reg_sr3_dejaggy_procluma_alpha_0 //u4: alpha for LR video LPF, default = 6 ++#define SHARP_SR3_DRTLPF_EN (0x3266) ++#define P_SHARP_SR3_DRTLPF_EN (volatile unsigned int *)((0x3266 << 2) + 0xff900000) ++//Bit 31:15 reserved ++//Bit 14:8, reg_pk_debug_edge . unsigned , default = 0 ++//Bit 7, reserved ++//Bit 6:4, reg_sr3_drtlpf_theta_en //u1x3 theta (pure vertical and horizontal HF burst protection) enable. 0: not enable, 1:enable protection ++//Bit 3, reserved ++//Bit 2:0 reg_sr3_drtlpf_enable //u1x3 directional lpf on luma U and V channels, default = 7 ++#define SHARP_SR3_DRTLPF_ALPHA_0 (0x3267) ++#define P_SHARP_SR3_DRTLPF_ALPHA_0 (volatile unsigned int *)((0x3267 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_sr3_drtlpf_alpha3 //u6: directional lpf alpha coef for min_sad/max_sad comparied, default = 9 ++//Bit 23:22 reserved ++//Bit 21:16 reg_sr3_drtlpf_alpha2 //u6: default =10 ++//Bit 15:14 reserved ++//Bit 13:8 reg_sr3_drtlpf_alpha1 //u6: default = 11 ++//Bit 7:6 reserved ++//Bit 5:0 reg_sr3_drtlpf_alpha0 //u6: default = 12 ++#define SHARP_SR3_DRTLPF_ALPHA_1 (0x3268) ++#define P_SHARP_SR3_DRTLPF_ALPHA_1 (volatile unsigned int *)((0x3268 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_sr3_drtlpf_alpha7 //u6: directional lpf alpha coef for min_sad/max_sad comparied, default = 1 ++//Bit 23:22 reserved ++//Bit 21:16 reg_sr3_drtlpf_alpha6 //u6: default = 4 ++//Bit 15:14 reserved ++//Bit 13:8 reg_sr3_drtlpf_alpha5 //u6: default = 7 ++//Bit 7:6 reserved ++//Bit 5:0 reg_sr3_drtlpf_alpha4 //u6: default = 8 ++#define SHARP_SR3_DRTLPF_ALPHA_2 (0x3269) ++#define P_SHARP_SR3_DRTLPF_ALPHA_2 (volatile unsigned int *)((0x3269 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_sr3_drtlpf_alpha11 //u6: directional lpf alpha coef for min_sad/max_sad comparied, default = 0 ++//Bit 23:22 reserved ++//Bit 21:16 reg_sr3_drtlpf_alpha10 //u6: default = 0 ++//Bit 15:14 reserved ++//Bit 13:8 reg_sr3_drtlpf_alpha9 //u6: default = 0 ++//Bit 7:6 reserved ++//Bit 5:0 reg_sr3_drtlpf_alpha8 //u6: default = 0 ++#define SHARP_SR3_DRTLPF_ALPHA_OFST (0x326a) ++#define P_SHARP_SR3_DRTLPF_ALPHA_OFST (volatile unsigned int *)((0x326a << 2) + 0xff900000) ++//Bit 31:28 reg_sr3_drtlpf_alpha_ofst7 //s4: directional lpf alpha coef ofset of each directions, default = -8 ++//Bit 27:24 reg_sr3_drtlpf_alpha_ofst6 //s4: default = -8 ++//Bit 23:20 reg_sr3_drtlpf_alpha_ofst5 //s4: default = -8 ++//Bit 19:16 reg_sr3_drtlpf_alpha_ofst4 //s4: default = -8 ++//Bit 15:12 reg_sr3_drtlpf_alpha_ofst3 //s4: default = -8 ++//Bit 11:8 reg_sr3_drtlpf_alpha_ofst2 //s4: default = -8 ++//Bit 7:4 reg_sr3_drtlpf_alpha_ofst1 //s4: default = -8 ++//Bit 3:0 reg_sr3_drtlpf_alpha_ofst0 //s4: default = -8 ++#define SHARP_SR3_DERING_CTRL (0x326b) ++#define P_SHARP_SR3_DERING_CTRL (volatile unsigned int *)((0x326b << 2) + 0xff900000) ++//Bit 31 reserved ++//Bit 30:28 reg_sr3_dering_enable // u3: dering enable bits; default = 1 ++//Bit 27 reserved ++//Bit 26:24 reg_sr3_dering_varlpf_mode // u3: local variant LPF mode: 0 no filter, 1, errosion 3x3; 2: 3x3 lpf; 3 and up: 3x3 errosion + lpf default = 3 ++//Bit 23:20 reg_sr3_dering_maxrange // u4: maximum:range of dering in LR resolution, max to 12; default = 9 ++//Bit 19:18 reserved ++//Bit 17:16 reg_sr3_dering_lcvar_blend_mode // u2: mode for lcvar calculation: 0: HVblend; 1: diagblend; 2: HVblend+V (for hring); 3: HVblend+ DiagBlend default = 2 ++//Bit 15:8 reg_sr3_dering_lcvar_gain // u8: gain to local variant and normalized to 32 as "1" default = 64 ++//Bit 7:0 reg_sr3_dering_lcvar_nearby_maxsad_th // u8: threshold to use nearer side maxsad if that side sad is larger than this threshold, ortherwise, use the max one default = 28 ++#define SHARP_SR3_DERING_LUMA2PKGAIN_0TO3 (0x326c) ++#define P_SHARP_SR3_DERING_LUMA2PKGAIN_0TO3 (volatile unsigned int *)((0x326c << 2) + 0xff900000) ++//Bit 31:24 reg_sr3_dering_luma2pkgain3 // u8: level limit(for th0th1) of curve for dering pkgain based on LPF luma level. default =24 ++//Bit 15:8 reg_sr3_dering_luma2pkgain5 // u8: rate0 (for bpconth1) of curve for dering pkgain based on LPF luma level. default =255 ++#define SHARP_SR3_DERING_LUMA2PKOS_0TO3 (0x326e) ++#define P_SHARP_SR3_DERING_LUMA2PKOS_0TO3 (volatile unsigned int *)((0x326e << 2) + 0xff900000) ++//Bit 31:24 reg_sr3_dering_luma2pkos3 // u8: level limit(for th0th1) of curve for dering pkOS based on LPF luma level. default =24 ++//Bit 15:8 reg_sr3_dering_luma2pkos5 // u8: rate0 (for bpconth1) of curve for dering pkOS based on LPF luma level. default =255 ++#define SHARP_SR3_DERING_GAINVS_MADSAD (0x3270) ++#define P_SHARP_SR3_DERING_GAINVS_MADSAD (volatile unsigned int *)((0x3270 << 2) + 0xff900000) ++//Bit 31:28 reg_sr3_dering_gainvs_maxsad7 //u4: pkgain vs maxsad value, 8 node interpolations, default = 0 ++//Bit 27:24 reg_sr3_dering_gainvs_maxsad6 //u4: default = 0 ++//Bit 23:20 reg_sr3_dering_gainvs_maxsad5 //u4: default = 0 ++//Bit 19:16 reg_sr3_dering_gainvs_maxsad4 //u4: default = 0 ++//Bit 15:12 reg_sr3_dering_gainvs_maxsad3 //u4: default = 0 ++//Bit 11:8 reg_sr3_dering_gainvs_maxsad2 //u4: default = 0 ++//Bit 7:4 reg_sr3_dering_gainvs_maxsad1 //u4: default = 4 ++//Bit 3:0 reg_sr3_dering_gainvs_maxsad0 //u4: default = 8 ++#define SHARP_SR3_DERING_GAINVS_VR2MAX (0x3271) ++#define P_SHARP_SR3_DERING_GAINVS_VR2MAX (volatile unsigned int *)((0x3271 << 2) + 0xff900000) ++//Bit 31:28 reg_sr3_dering_gainvs_vr2max7 //u4: pkgain vs ratio = max(local_var, floor)/maxsad nearby, default = 15 ++//Bit 27:24 reg_sr3_dering_gainvs_vr2max6 //u4: default = 15 ++//Bit 23:20 reg_sr3_dering_gainvs_vr2max5 //u4: default = 15 ++//Bit 19:16 reg_sr3_dering_gainvs_vr2max4 //u4: default = 15 ++//Bit 15:12 reg_sr3_dering_gainvs_vr2max3 //u4: default = 14 ++//Bit 11:8 reg_sr3_dering_gainvs_vr2max2 //u4: default = 12 ++//Bit 7:4 reg_sr3_dering_gainvs_vr2max1 //u4: default = 2 ++//Bit 3:0 reg_sr3_dering_gainvs_vr2max0 //u4: default = 0 ++#define SHARP_SR3_DERING_PARAM0 (0x3272) ++#define P_SHARP_SR3_DERING_PARAM0 (volatile unsigned int *)((0x3272 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_sr3_dering_lcvar_floor //u8: local varianet no smaller than this value to calculate dgain max(localvar,x)/maxsad. default = 10 ++//Bit 15:8 reg_sr3_dering_vr2max_gain //u8: gain to max(local_var, floor)/maxsad before feeding to LUT. default = 32 ++//Bit 7:6 reserved ++//Bit 5:0 reg_sr3_dering_vr2max_limt //u6: limit of maxsad to max(local_var, floor)*(max(maxsad, lmit))/maxsad. default = 16 ++#define SHARP_SR3_DRTLPF_THETA (0x3273) ++#define P_SHARP_SR3_DRTLPF_THETA (volatile unsigned int *)((0x3273 << 2) + 0xff900000) ++//Bit 31:0 reg_sr3_drtlpf_theta //u4x8: directional lpf beta coef for min_sad/min2_sad compared to x=0:7 correspond to[1:8]/16; 0 means no drtLPF, 15: 100% alpha dependant drtLPF ++#define SHARP_SATPRT_CTRL (0x3274) ++#define P_SHARP_SATPRT_CTRL (volatile unsigned int *)((0x3274 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_satprt_sat_core //u8: 4x will be coring to cor(irgb_max-irgb_min) to calculate the oy_delt, the smaller the more protection to color, the larger only the rich color will be protected; ++//Bit 15:8 reg_satprt_sat_rate //u8: rate to cor(irgb_max-irgb_min) to calculate the oy_delt, the larger the more protection to rich color; norm 16 as 1 ++//Bit 7:4 reserved ++//Bit 3:2 reg_satprt_csc_mode //u2: csc mode of current yuv input: 0:601, 1:709, 2:BT2020 NCL, 3:reserved ++//Bit 1 reg_satprt_is_lmt //u1: flag telling the YUV is limited range data or full range data, 0 full range, 1: limited range ++//Bit 0 reg_satprt_enable //u1: enable of saturation protection for dnlp adjustments ++#define SHARP_SATPRT_DIVM (0x3275) ++#define P_SHARP_SATPRT_DIVM (volatile unsigned int *)((0x3275 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:0 reg_satprt_div_m //u8x3, 1/m, normalized to 128 as 1, default=1 ++#define SHARP_SATPRT_LMT_RGB (0x3276) ++#define P_SHARP_SATPRT_LMT_RGB (volatile unsigned int *)((0x3276 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:0 reg_satprt_lmt_rgb //u10x3, limit of the rgb channel, for limited range RGB, set to 960, otherwise set to 1023 ++#define SHARP_DB_FLT_CTRL (0x3277) ++#define P_SHARP_DB_FLT_CTRL (volatile unsigned int *)((0x3277 << 2) + 0xff900000) ++//Bit 31:27 reserved ++//Bit 26 reg_nrdeband_reset1 ++//Bit 25 reg_nrdeband_reset0 ++//Bit 24 reg_nrdeband_rgb // unsigned , default = 0 0:yuv 1:RGB ++//Bit 23 reg_nrdeband_en11 // unsigned , default = 1 debanding registers of side lines, [0] for luma, same for below ++//Bit 22 reg_nrdeband_en10 // unsigned , default = 1 debanding registers of side lines, [1] for chroma, same for below ++//Bit 21 reg_nrdeband_siderand // unsigned , default = 1 options to use side two lines use the rand, instead of use for the YUV three component of middle line, 0: seed[3]/bandrand[3] for middle line yuv; 1: seed[3]/bandrand[3] for nearby three lines Y; ++//Bit 20 reg_nrdeband_randmode // unsigned , default = 0 mode of rand noise adding, 0: same noise strength for all difs; else: strenght of noise will not exceed the difs, MIN((pPKReg->reg_nrdeband_bandrand[m]), noise[m]) ++//Bit 19:17 reg_nrdeband_bandrand2 // unsigned , default = 6 ++//Bit 16 reserved ++//Bit 15:13 reg_nrdeband_bandrand1 // unsigned , default = 6 ++//Bit 12 reserved ++//Bit 11: 9 reg_nrdeband_bandrand0 // unsigned , default = 6 ++//Bit 8 reserved ++//Bit 7 reg_nrdeband_hpxor1 // unsigned , default = 1 debanding random hp portion xor, [0] for luma ++//Bit 6 reg_nrdeband_hpxor0 // unsigned , default = 1 debanding random hp portion xor, [1] for chroma ++//Bit 5 reg_nrdeband_en1 // unsigned , default = 1 debanding registers, for luma ++//Bit 4 reg_nrdeband_en0 // unsigned , default = 1 debanding registers, for chroma ++//Bit 3: 2 reg_nrdeband_lpf_mode1 // unsigned , default = 2 lpf mode, 0: 3x3, 1:3x5; 2: 5x5; 3:5x7 ++//Bit 1: 0 reg_nrdeband_lpf_mode0 // unsigned , default = 2 lpf mode, 0: 3x3, 1:3x5; 2: 5x5; 3:5x7 ++#define SHARP_DB_FLT_YC_THRD (0x3278) ++#define P_SHARP_DB_FLT_YC_THRD (volatile unsigned int *)((0x3278 << 2) + 0xff900000) ++//Bit 31:28 reg_nrdeband_luma_th3 // unsigned , default = 9 threshold to |Y-Ylpf|, if < th[0] use lpf ++//Bit 27:24 reg_nrdeband_luma_th2 // unsigned , default = 7 elseif req_th, then send the request ++//bit[18:16] R-RW 0~7 0 reg_arsize : axi arsize ++//bit[14:12] R-RW 0~7 0 reg_arprot : axi arprot ++//bit[11:8] R-RW 0~15 0 reg_aruser : axi aruser ++//bit[5:4] R-RW 0~3 0 reg_arid : axi arid ++//bit[3:0] R-RW 0~2 0 reg_lens : default request lens, each burst has "reg_lens+1" data ++#define DOLBY_TV_AXI2DMA_CTRL1 (0x33fb) ++#define P_DOLBY_TV_AXI2DMA_CTRL1 (volatile unsigned int *)((0x33fb << 2) + 0xff900000) ++//bit[31] R-RW 0~1 0 axi_addr_mode : 1 "canvas mode", 0 "normal mode" ++//bit[27:16] R-RW 0~4095 0 dma_size0 : total data number in dma0 ++//bit[11:0] R-RW 0~4095 0 dma_size1 : total data number in dma1 ++#define DOLBY_TV_AXI2DMA_CTRL2 (0x33fc) ++#define P_DOLBY_TV_AXI2DMA_CTRL2 (volatile unsigned int *)((0x33fc << 2) + 0xff900000) ++//bit[31:0] R-RW 0~4294967295 0 axi_start_addr : axi start address ++#define DOLBY_TV_AXI2DMA_CTRL3 (0x33fd) ++#define P_DOLBY_TV_AXI2DMA_CTRL3 (volatile unsigned int *)((0x33fd << 2) + 0xff900000) ++//bit[11:0] R-RW 0~4095 0 hold_line : after hold_line the axi slave start requesting ++#define DOLBY_TV_STATUS0 (0x33fe) ++#define P_DOLBY_TV_STATUS0 (volatile unsigned int *)((0x33fe << 2) + 0xff900000) ++#define DOLBY_TV_STATUS1 (0x33ff) ++#define P_DOLBY_TV_STATUS1 (volatile unsigned int *)((0x33ff << 2) + 0xff900000) ++#define DOLBY_TV_ADAPTIVE_SCALE_REGADDR (0x33e0) ++#define P_DOLBY_TV_ADAPTIVE_SCALE_REGADDR (volatile unsigned int *)((0x33e0 << 2) + 0xff900000) ++#define DOLBY_TV_ADAPTIVE_SCALE_REGDATA (0x33e1) ++#define P_DOLBY_TV_ADAPTIVE_SCALE_REGDATA (volatile unsigned int *)((0x33e1 << 2) + 0xff900000) ++#define DOLBY_TV_ADAPTIVE_SCALE_LUTADDR (0x33e2) ++#define P_DOLBY_TV_ADAPTIVE_SCALE_LUTADDR (volatile unsigned int *)((0x33e2 << 2) + 0xff900000) ++#define DOLBY_TV_ADAPTIVE_SCALE_LUTDATA (0x33e3) ++#define P_DOLBY_TV_ADAPTIVE_SCALE_LUTDATA (volatile unsigned int *)((0x33e3 << 2) + 0xff900000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: dolby_regs.h ++// ++// ----------------------------------------------- ++// CBUS_BASE: DOLBY1A_VCBUS_BASE = 0x34 ++// ----------------------------------------------- ++// ++// Reading file: dolby1a_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++#define DOLBY_CORE2A_REG_START (0x3400) ++#define P_DOLBY_CORE2A_REG_START (volatile unsigned int *)((0x3400 << 2) + 0xff900000) ++#define DOLBY_CORE2A_CLKGATE_CTRL (0x3432) ++#define P_DOLBY_CORE2A_CLKGATE_CTRL (volatile unsigned int *)((0x3432 << 2) + 0xff900000) ++#define DOLBY_CORE2A_SWAP_CTRL0 (0x3433) ++#define P_DOLBY_CORE2A_SWAP_CTRL0 (volatile unsigned int *)((0x3433 << 2) + 0xff900000) ++#define DOLBY_CORE2A_SWAP_CTRL1 (0x3434) ++#define P_DOLBY_CORE2A_SWAP_CTRL1 (volatile unsigned int *)((0x3434 << 2) + 0xff900000) ++#define DOLBY_CORE2A_SWAP_CTRL2 (0x3435) ++#define P_DOLBY_CORE2A_SWAP_CTRL2 (volatile unsigned int *)((0x3435 << 2) + 0xff900000) ++#define DOLBY_CORE2A_SWAP_CTRL3 (0x3436) ++#define P_DOLBY_CORE2A_SWAP_CTRL3 (volatile unsigned int *)((0x3436 << 2) + 0xff900000) ++#define DOLBY_CORE2A_SWAP_CTRL4 (0x3437) ++#define P_DOLBY_CORE2A_SWAP_CTRL4 (volatile unsigned int *)((0x3437 << 2) + 0xff900000) ++#define DOLBY_CORE2A_SWAP_CTRL5 (0x3438) ++#define P_DOLBY_CORE2A_SWAP_CTRL5 (volatile unsigned int *)((0x3438 << 2) + 0xff900000) ++#define DOLBY_CORE2A_DMA_CTRL (0x3439) ++#define P_DOLBY_CORE2A_DMA_CTRL (volatile unsigned int *)((0x3439 << 2) + 0xff900000) ++#define DOLBY_CORE2A_DMA_STATUS (0x343a) ++#define P_DOLBY_CORE2A_DMA_STATUS (volatile unsigned int *)((0x343a << 2) + 0xff900000) ++#define DOLBY_CORE2A_STATUS0 (0x343b) ++#define P_DOLBY_CORE2A_STATUS0 (volatile unsigned int *)((0x343b << 2) + 0xff900000) ++#define DOLBY_CORE2A_STATUS1 (0x343c) ++#define P_DOLBY_CORE2A_STATUS1 (volatile unsigned int *)((0x343c << 2) + 0xff900000) ++#define DOLBY_CORE2A_STATUS2 (0x343d) ++#define P_DOLBY_CORE2A_STATUS2 (volatile unsigned int *)((0x343d << 2) + 0xff900000) ++#define DOLBY_CORE2A_STATUS3 (0x343e) ++#define P_DOLBY_CORE2A_STATUS3 (volatile unsigned int *)((0x343e << 2) + 0xff900000) ++#define DOLBY_CORE2A_DMA_PORT (0x343f) ++#define P_DOLBY_CORE2A_DMA_PORT (volatile unsigned int *)((0x343f << 2) + 0xff900000) ++#define DOLBY_CORE2A_AXI2DMA_CTRL0 (0x3440) ++#define P_DOLBY_CORE2A_AXI2DMA_CTRL0 (volatile unsigned int *)((0x3440 << 2) + 0xff900000) ++#define DOLBY_CORE2A_AXI2DMA_CTRL1 (0x3441) ++#define P_DOLBY_CORE2A_AXI2DMA_CTRL1 (volatile unsigned int *)((0x3441 << 2) + 0xff900000) ++#define DOLBY_CORE2A_AXI2DMA_CTRL2 (0x3442) ++#define P_DOLBY_CORE2A_AXI2DMA_CTRL2 (volatile unsigned int *)((0x3442 << 2) + 0xff900000) ++#define DOLBY_CORE2A_AXI2DMA_CTRL3 (0x3443) ++#define P_DOLBY_CORE2A_AXI2DMA_CTRL3 (volatile unsigned int *)((0x3443 << 2) + 0xff900000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: dolby1a_regs.h ++// ++// ----------------------------------------------- ++// CBUS_BASE: DOLBY1B_VCBUS_BASE = 0x35 ++// ----------------------------------------------- ++//`include "dolby1b_regs.h" ++// ----------------------------------------------- ++// CBUS_BASE: DOLBY2_VCBUS_BASE = 0x36 ++// ----------------------------------------------- ++// ++// Reading file: dolby2_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++#define DOLBY_CORE3_REG_START (0x3600) ++#define P_DOLBY_CORE3_REG_START (volatile unsigned int *)((0x3600 << 2) + 0xff900000) ++#define DOLBY_CORE3_CLKGATE_CTRL (0x36f0) ++#define P_DOLBY_CORE3_CLKGATE_CTRL (volatile unsigned int *)((0x36f0 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL0 (0x36f1) ++#define P_DOLBY_CORE3_SWAP_CTRL0 (volatile unsigned int *)((0x36f1 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL1 (0x36f2) ++#define P_DOLBY_CORE3_SWAP_CTRL1 (volatile unsigned int *)((0x36f2 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL2 (0x36f3) ++#define P_DOLBY_CORE3_SWAP_CTRL2 (volatile unsigned int *)((0x36f3 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL3 (0x36f4) ++#define P_DOLBY_CORE3_SWAP_CTRL3 (volatile unsigned int *)((0x36f4 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL4 (0x36f5) ++#define P_DOLBY_CORE3_SWAP_CTRL4 (volatile unsigned int *)((0x36f5 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL5 (0x36f6) ++#define P_DOLBY_CORE3_SWAP_CTRL5 (volatile unsigned int *)((0x36f6 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL6 (0x36f7) ++#define P_DOLBY_CORE3_SWAP_CTRL6 (volatile unsigned int *)((0x36f7 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL7 (0x36f8) ++#define P_DOLBY_CORE3_SWAP_CTRL7 (volatile unsigned int *)((0x36f8 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL8 (0x36f9) ++#define P_DOLBY_CORE3_SWAP_CTRL8 (volatile unsigned int *)((0x36f9 << 2) + 0xff900000) ++#define DOLBY_CORE3_SWAP_CTRL9 (0x36fa) ++#define P_DOLBY_CORE3_SWAP_CTRL9 (volatile unsigned int *)((0x36fa << 2) + 0xff900000) ++#define DOLBY_CORE3_STATUS0 (0x36fb) ++#define P_DOLBY_CORE3_STATUS0 (volatile unsigned int *)((0x36fb << 2) + 0xff900000) ++#define DOLBY_CORE3_STATUS1 (0x36fc) ++#define P_DOLBY_CORE3_STATUS1 (volatile unsigned int *)((0x36fc << 2) + 0xff900000) ++#define DOLBY_CORE3_STATUS2 (0x36fd) ++#define P_DOLBY_CORE3_STATUS2 (volatile unsigned int *)((0x36fd << 2) + 0xff900000) ++#define DOLBY_CORE3_STATUS3 (0x36fe) ++#define P_DOLBY_CORE3_STATUS3 (volatile unsigned int *)((0x36fe << 2) + 0xff900000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: dolby2_regs.h ++// ++//`define MADC_VCBUS_BASE 8'h37 ++// ++// Reading file: vpu_madc_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++// ----------------------------------------------- ++// CBUS_BASE: MADC_VCBUS_BASE = 0x37 ++// ----------------------------------------------- ++// 0x00-0x1f ++// ++// Reading file: nr4_nm_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++#define NR4_MCNR_SAD_GAIN (0x3700) ++#define P_NR4_MCNR_SAD_GAIN (volatile unsigned int *)((0x3700 << 2) + 0xff900000) ++//Bit 31:25 reserved ++//Bit 24 reg_nr4_bld12vs3_usemaxsad // unsigned , default = 0 use minsad/maxsad instead of minsad/avgsad to decision if it was texture or flat region, 1: use minsad/maxsad ++//Bit 23:16 reg_nr4_bld12vs3_rate_gain // unsigned , default = 64 gain to minsad/maxsad or minsad/avgsad before LUT, 64 normalized as "1" ++//Bit 15: 8 reg_nr4_bld1vs2_rate_gain // unsigned , default = 32 gain to minsad/maxsad or minsad/avgsad before the LUT, 64 normalized as"1" ++//Bit 7: 0 reg_nr4_coefblt_gain // unsigned , default = 64 gain to final coefblt, normalized 64 as "1" ++#define NR4_MCNR_LPF_CTRL (0x3701) ++#define P_NR4_MCNR_LPF_CTRL (volatile unsigned int *)((0x3701 << 2) + 0xff900000) ++//Bit 31 reserved ++//Bit 30:22 reg_nr4_preflt_alpofst // signed , default = 0 pre filter alpha ofst ++//Bit 21:16 reg_nr4_preflt_alpgain // unsigned , default = 16 pre filter alpha gain ++//Bit 15:14 reg_nr4_preflt_alpsel // unsigned , default = 3 pre filter alpha selection for adaptive blending, 0: mv pointed sad, 1: weighted mv pointed sad, 2or3: coefblt ++//Bit 13: 8 reg_nr4_avgsad_gain // unsigned , default = 8 gain for avg sad before luts ++//Bit 7 reserved ++//Bit 6 reg_nr4_maxsad_mod // unsigned , default = 1 max sad select mode, 0: mx2_sad, 1: max sad ++//Bit 5 reg_nr4_minsad_mod // unsigned , default = 1 min sad select mode, 0: sad with min err, 1: min sad ++//Bit 4 reg_nr4_minmaxsad_lpf // unsigned , default = 1 mode of lpf for minmaxsad, 0: no LPF, 1: [1 2 1]/4 ++//Bit 3 reg_nr4_avgsad_lpf // unsigned , default = 1 mode of lpf for avgsad, 0: no LPF, 1: [1 2 1]/4 ++//Bit 2 reg_nr4_minavgsad_ratio_lpf // unsigned , default = 1 mode of lpf for minsad/avgsad and zmvsad/avgsad, 0: no LPF, 1: [1 2 1]/4 ++//Bit 1 reg_nr4_bldvs_lut_lpf // unsigned , default = 1 mode of lpf for bld12vs3 and bld1vs2 LUT results, 0: no LPF, 1: [1 2 1]/4 ++//Bit 0 reg_nr4_final_coef_lpf // unsigned , default = 1 mode of lpf for final coef_blt_blend123, 0: no LPF, 1: [1 2 1]/4 ++#define NR4_MCNR_BLD_VS3LUT0 (0x3702) ++#define P_NR4_MCNR_BLD_VS3LUT0 (volatile unsigned int *)((0x3702 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_nr4_bld12vs3_lut0 // unsigned , default = 0 ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_bld12vs3_lut1 // unsigned , default = 8 ++//Bit 15:14 reserved ++//Bit 13: 8 reg_nr4_bld12vs3_lut2 // unsigned , default = 10 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_bld12vs3_lut3 // unsigned , default = 11 ++#define NR4_MCNR_BLD_VS3LUT1 (0x3703) ++#define P_NR4_MCNR_BLD_VS3LUT1 (volatile unsigned int *)((0x3703 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_nr4_bld12vs3_lut4 // unsigned , default = 12 ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_bld12vs3_lut5 // unsigned , default = 14 ++//Bit 15:14 reserved ++//Bit 13: 8 reg_nr4_bld12vs3_lut6 // unsigned , default = 16 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_bld12vs3_lut7 // unsigned , default = 24 ++#define NR4_MCNR_BLD_VS3LUT2 (0x3704) ++#define P_NR4_MCNR_BLD_VS3LUT2 (volatile unsigned int *)((0x3704 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_nr4_bld12vs3_lut8 // unsigned , default = 50 ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_bld12vs3_lut9 // unsigned , default = 58 ++//Bit 15:14 reserved ++//Bit 13: 8 reg_nr4_bld12vs3_lut10 // unsigned , default = 63 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_bld12vs3_lut11 // unsigned , default = 63 ++#define NR4_MCNR_BLD_VS2LUT0 (0x3705) ++#define P_NR4_MCNR_BLD_VS2LUT0 (volatile unsigned int *)((0x3705 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_nr4_bld1vs2_lut0 // unsigned , default = 63 ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_bld1vs2_lut1 // unsigned , default = 32 ++//Bit 15:14 reserved ++//Bit 13: 8 reg_nr4_bld1vs2_lut2 // unsigned , default = 16 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_bld1vs2_lut3 // unsigned , default = 8 ++#define NR4_MCNR_BLD_VS2LUT1 (0x3706) ++#define P_NR4_MCNR_BLD_VS2LUT1 (volatile unsigned int *)((0x3706 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:24 reg_nr4_bld1vs2_lut4 // unsigned , default = 4 ++//Bit 23:22 reserved ++//Bit 21:16 reg_nr4_bld1vs2_lut5 // unsigned , default = 2 ++//Bit 15:14 reserved ++//Bit 13: 8 reg_nr4_bld1vs2_lut6 // unsigned , default = 1 ++//Bit 7: 6 reserved ++//Bit 5: 0 reg_nr4_bld1vs2_lut7 // unsigned , default = 0 ++#define NR4_COEFBLT_LUT10 (0x3707) ++#define P_NR4_COEFBLT_LUT10 (volatile unsigned int *)((0x3707 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_coefblt_lut10 // signed , default = -128 ++//Bit 23:16 reg_nr4_coefblt_lut11 // signed , default = -128 ++//Bit 15: 8 reg_nr4_coefblt_lut12 // signed , default = -126 ++//Bit 7: 0 reg_nr4_coefblt_lut13 // signed , default = -124 ++#define NR4_COEFBLT_LUT11 (0x3708) ++#define P_NR4_COEFBLT_LUT11 (volatile unsigned int *)((0x3708 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_coefblt_lut14 // signed , default = -120 ++//Bit 23:16 reg_nr4_coefblt_lut15 // signed , default = -110 ++//Bit 15: 8 reg_nr4_coefblt_lut16 // signed , default = -100 ++//Bit 7: 0 reg_nr4_coefblt_lut17 // signed , default = -90 ++#define NR4_COEFBLT_LUT12 (0x3709) ++#define P_NR4_COEFBLT_LUT12 (volatile unsigned int *)((0x3709 << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_coefblt_lut18 // signed , default = -56 ++//Bit 23:16 reg_nr4_coefblt_lut19 // signed , default = -32 ++//Bit 15: 8 reg_nr4_coefblt_lut110 // signed , default = -64 ++//Bit 7: 0 reg_nr4_coefblt_lut111 // signed , default = -128 ++#define NR4_COEFBLT_LUT20 (0x370a) ++#define P_NR4_COEFBLT_LUT20 (volatile unsigned int *)((0x370a << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_coefblt_lut20 // signed , default = -128 ++//Bit 23:16 reg_nr4_coefblt_lut21 // signed , default = -120 ++//Bit 15: 8 reg_nr4_coefblt_lut22 // signed , default = -112 ++//Bit 7: 0 reg_nr4_coefblt_lut23 // signed , default = -104 ++#define NR4_COEFBLT_LUT21 (0x370b) ++#define P_NR4_COEFBLT_LUT21 (volatile unsigned int *)((0x370b << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_coefblt_lut24 // signed , default = -96 ++//Bit 23:16 reg_nr4_coefblt_lut25 // signed , default = -88 ++//Bit 15: 8 reg_nr4_coefblt_lut26 // signed , default = -76 ++//Bit 7: 0 reg_nr4_coefblt_lut27 // signed , default = -64 ++#define NR4_COEFBLT_LUT22 (0x370c) ++#define P_NR4_COEFBLT_LUT22 (volatile unsigned int *)((0x370c << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_coefblt_lut28 // signed , default = -48 ++//Bit 23:16 reg_nr4_coefblt_lut29 // signed , default = -32 ++//Bit 15: 8 reg_nr4_coefblt_lut210 // signed , default = -64 ++//Bit 7: 0 reg_nr4_coefblt_lut211 // signed , default = -108 ++#define NR4_COEFBLT_LUT30 (0x370d) ++#define P_NR4_COEFBLT_LUT30 (volatile unsigned int *)((0x370d << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_coefblt_lut30 // signed , default = 8 ++//Bit 23:16 reg_nr4_coefblt_lut31 // signed , default = 16 ++//Bit 15: 8 reg_nr4_coefblt_lut32 // signed , default = 24 ++//Bit 7: 0 reg_nr4_coefblt_lut33 // signed , default = 30 ++#define NR4_COEFBLT_LUT31 (0x370e) ++#define P_NR4_COEFBLT_LUT31 (volatile unsigned int *)((0x370e << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_coefblt_lut34 // signed , default = 36 ++//Bit 23:16 reg_nr4_coefblt_lut35 // signed , default = 48 ++//Bit 15: 8 reg_nr4_coefblt_lut36 // signed , default = 70 ++//Bit 7: 0 reg_nr4_coefblt_lut37 // signed , default = 96 ++#define NR4_COEFBLT_LUT32 (0x370f) ++#define P_NR4_COEFBLT_LUT32 (volatile unsigned int *)((0x370f << 2) + 0xff900000) ++//Bit 31:24 reg_nr4_coefblt_lut38 // signed , default = 120 ++//Bit 23:16 reg_nr4_coefblt_lut39 // signed , default = 64 ++//Bit 15: 8 reg_nr4_coefblt_lut310 // signed , default = 16 ++//Bit 7: 0 reg_nr4_coefblt_lut311 // signed , default = -8 ++#define NR4_COEFBLT_CONV (0x3710) ++#define P_NR4_COEFBLT_CONV (volatile unsigned int *)((0x3710 << 2) + 0xff900000) ++//Bit 31:24 reserved ++//Bit 23:16 reg_nr4_coefblt_convmin // unsigned , default = 0 minimum of coef. bilateral conversion ++//Bit 15: 8 reg_nr4_coefblt_convmax // unsigned , default = 255 maximum of coef. bilateral conversion ++//Bit 7: 0 reg_nr4_coefblt_convmid // unsigned , default = 128 value at midpoint of coef. bilateral conversion ++#define NR4_DBGWIN_YX0 (0x3711) ++#define P_NR4_DBGWIN_YX0 (volatile unsigned int *)((0x3711 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:16 reg_nr4_dgbwin_yx0 // unsigned , default = 100 ystart for debug window ++//Bit 15:14 reserved ++//Bit 13: 0 reg_nr4_dgbwin_yx1 // unsigned , default = 160 yend for debug window ++#define NR4_DBGWIN_YX1 (0x3712) ++#define P_NR4_DBGWIN_YX1 (volatile unsigned int *)((0x3712 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:16 reg_nr4_dgbwin_yx2 // unsigned , default = 200 xstart for debug window ++//Bit 15:14 reserved ++//Bit 13: 0 reg_nr4_dgbwin_yx3 // unsigned , default = 300 xend for debug window ++#define NR4_NM_X_CFG (0x3713) ++#define P_NR4_NM_X_CFG (volatile unsigned int *)((0x3713 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:16 reg_nr4_nm_xst // unsigned , default = 8 start for noise meter statistic, dft = 8 ++//Bit 15:14 reserved ++//Bit 13: 0 reg_nr4_nm_xed // unsigned , default = 711 end for noise meter statistic, dft = HSIZE-8-1; ++#define NR4_NM_Y_CFG (0x3714) ++#define P_NR4_NM_Y_CFG (volatile unsigned int *)((0x3714 << 2) + 0xff900000) ++//Bit 31:30 reserved ++//Bit 29:16 reg_nr4_nm_yst // unsigned , default = 8 start for noise meter statistic, dft = 8; ++//Bit 15:14 reserved ++//Bit 13: 0 reg_nr4_nm_yed // unsigned , default = 231 end for noise meter statistic, dft = VSIZE-8-1; ++#define NR4_NM_SAD_THD (0x3715) ++#define P_NR4_NM_SAD_THD (volatile unsigned int *)((0x3715 << 2) + 0xff900000) ++//Bit 31: 8 reserved ++//Bit 7: 0 reg_nr4_nm_sad_thd // unsigned , default = 255 threshold for (flat region) sad count, dft = 4 ++#define NR4_MCNR_BANDSPLIT_PRAM (0x3716) ++#define P_NR4_MCNR_BANDSPLIT_PRAM (volatile unsigned int *)((0x3716 << 2) + 0xff900000) ++//Bit 31: 5 reserved ++//Bit 4 reg_nr4_mc_use_bandsplit // unsigned , default = 1 separate lp and us for mc IIR filter, 0: no BS used; 1: use BS ++//Bit 3 reg_nr4_mc_apply_on_lp // unsigned , default = 1 use mcnr only on lowpass portion; ++//Bit 2 reg_nr4_mc_apply_on_us // unsigned , default = 1 use mcnr only on lp complimentary portion; ++//Bit 1: 0 reg_nr4_mc_zmvbs_use_adplpf // unsigned , default = 1 use adapptive LPF for the zmv pointing data for MCNR, for abs(mvx)reg_nrdeband_bandrand[m]), noise[m]) ++//Bit 19:17 reg_nrdeband_bandrand2 // unsigned , default = 6 ++//Bit 16 reserved ++//Bit 15:13 reg_nrdeband_bandrand1 // unsigned , default = 6 ++//Bit 12 reserved ++//Bit 11: 9 reg_nrdeband_bandrand0 // unsigned , default = 6 ++//Bit 8 reserved ++//Bit 7 reg_nrdeband_hpxor1 // unsigned , default = 1 debanding random hp portion xor, [0] for luma ++//Bit 6 reg_nrdeband_hpxor0 // unsigned , default = 1 debanding random hp portion xor, [1] for chroma ++//Bit 5 reg_nrdeband_en1 // unsigned , default = 1 debanding registers, for luma ++//Bit 4 reg_nrdeband_en0 // unsigned , default = 1 debanding registers, for chroma ++//Bit 3: 2 reg_nrdeband_lpf_mode1 // unsigned , default = 2 lpf mode, 0: 3x3, 1:3x5; 2: 5x5; 3:5x7 ++//Bit 1: 0 reg_nrdeband_lpf_mode0 // unsigned , default = 2 lpf mode, 0: 3x3, 1:3x5; 2: 5x5; 3:5x7 ++#define NR_DB_FLT_YC_THRD (0x3739) ++#define P_NR_DB_FLT_YC_THRD (volatile unsigned int *)((0x3739 << 2) + 0xff900000) ++//Bit 31:28 reg_nrdeband_luma_th3 // unsigned , default = 9 threshold to |Y-Ylpf|, if < th[0] use lpf ++//Bit 27:24 reg_nrdeband_luma_th2 // unsigned , default = 7 elseif th3, use filter3 ++//Bit 23:16, color antiflick filter2 n3 ++//Bit 15:8, color antiflick filter2 n2 ++//Bit 7:0, color antiflick filter2 n1 ++#define GE2D_ANTIFLICK_COLOR_FILT2 (0x00dc) ++#define P_GE2D_ANTIFLICK_COLOR_FILT2 (volatile unsigned int *)((0x00dc << 2) + 0xff940000) ++//Bit 23:16, color antiflick filter3 n3 ++//Bit 15:8, color antiflick filter3 n2 ++//Bit 7:0, color antiflick filter3 n1 ++#define GE2D_ANTIFLICK_COLOR_FILT3 (0x00dd) ++#define P_GE2D_ANTIFLICK_COLOR_FILT3 (volatile unsigned int *)((0x00dd << 2) + 0xff940000) ++//Bit 31:24, Alpha threhold1, when 0th3, use filter3 ++//Bit 23:16, Alpha antiflick filter2 n3 ++//Bit 15:8, Alpha antiflick filter2 n2 ++//Bit 7:0, Alpha antiflick filter2 n1 ++#define GE2D_ANTIFLICK_ALPHA_FILT2 (0x00e0) ++#define P_GE2D_ANTIFLICK_ALPHA_FILT2 (volatile unsigned int *)((0x00e0 << 2) + 0xff940000) ++//Bit 23:16, Alpha antiflick filter3 n3 ++//Bit 15:8, Alpha antiflick filter3 n2 ++//Bit 7:0, Alpha antiflick filter3 n1 ++#define GE2D_ANTIFLICK_ALPHA_FILT3 (0x00e1) ++#define P_GE2D_ANTIFLICK_ALPHA_FILT3 (volatile unsigned int *)((0x00e1 << 2) + 0xff940000) ++//dout = clipto_0_255(((din + din_offset) * map_coef + ((1 << (map_sr - 1))) >> map_sr + dout_offset) ++//Bit 30:22 din_offset (signed data) ++//Bit 21:14 map_coef (unsigned data) ++//Bit 13:10 map_sr (unsigned data) ++//Bit 9:1 dout_offset (signed data) ++//Bit 0 enable ++#define GE2D_SRC1_RANGE_MAP_Y_CTRL (0x00e3) ++#define P_GE2D_SRC1_RANGE_MAP_Y_CTRL (volatile unsigned int *)((0x00e3 << 2) + 0xff940000) ++//dout = clipto_0_255(((din + din_offset) * map_coef + ((1 << (map_sr - 1))) >> map_sr + dout_offset) ++//Bit 30:22 din_offset (signed data) ++//Bit 21:14 map_coef (unsigned data) ++//Bit 13:10 map_sr (unsigned data) ++//Bit 9:1 dout_offset (signed data) ++//Bit 0 enable ++#define GE2D_SRC1_RANGE_MAP_CB_CTRL (0x00e4) ++#define P_GE2D_SRC1_RANGE_MAP_CB_CTRL (volatile unsigned int *)((0x00e4 << 2) + 0xff940000) ++//dout = clipto_0_255(((din + din_offset) * map_coef + ((1 << (map_sr - 1))) >> map_sr + dout_offset) ++//Bit 30:22 din_offset (signed data) ++//Bit 21:14 map_coef (unsigned data) ++//Bit 13:10 map_sr (unsigned data) ++//Bit 9:1 dout_offset (signed data) ++//Bit 0 enable ++#define GE2D_SRC1_RANGE_MAP_CR_CTRL (0x00e5) ++#define P_GE2D_SRC1_RANGE_MAP_CR_CTRL (volatile unsigned int *)((0x00e5 << 2) + 0xff940000) ++//Bit 21:16 src1 prearbitor burst number ++//Bit 13:8 src2 prearbitor burst number ++//Bit 5:0 dst prearbitor burst number ++#define GE2D_ARB_BURST_NUM (0x00e6) ++#define P_GE2D_ARB_BURST_NUM (volatile unsigned int *)((0x00e6 << 2) + 0xff940000) ++//each 6bit ID, high 4bit are thread ID, low 2bits are the token ++//Bit 21:16 src1 ID ++//Bit 13:8 src2 ID ++//Bit 5:0 dst ID ++#define GE2D_TID_TOKEN (0x00e7) ++#define P_GE2D_TID_TOKEN (volatile unsigned int *)((0x00e7 << 2) + 0xff940000) ++//Bit 31:28 dst2_bytemask_val. 1-bit mask for each byte (8-bit). Applicable only if both dst_bitmask_en=1 and dst_bytemask_only=1. ++//Bit 27:26, dst2 picture struct, 00: frame, 10:top, 11: bottom ++//Bit 25:24, dst2 8bit mode component selection, ++// 00: select Y(R), 01: Cb(G), 10: Cr(B), 11: Alpha ++//Bit 22:19 dst2 color_map ++// dst2_format=0 : output 8-bit; ++// dst2_format=1, dst2_color_map=1: output 16-bit YCbCr 655; ++// dst2_format=1, dst2_color_map=2: output 16-bit YCbCr 844; ++// dst2_format=1, dst2_color_map=3: output 16-bit YCbCrA 6442; ++// dst2_format=1, dst2_color_map=4: output 16-bit YCbCrA 4444; ++// dst2_format=1, dst2_color_map=5: output 16-bit YCbCr 565; ++// dst2_format=1, dst2_color_map=6: output 16-bit AYCbCr 4444; ++// dst2_format=1, dst2_color_map=7: output 16-bit AYCbCr 1555; ++// dst2_format=1, dst2_color_map=8: output 16-bit YCbCrA 4642; ++// dst2_format=1, dst2_color_map=9: output 16-bit CbCr 88; ++// dst2_format=1, dst2_color_map=10:output 16-bit CrCb 88; ++// dst2_format=2, dst2_color_map=0: output 24-bit YCbCr 888; ++// dst2_format=2, dst2_color_map=1: output 24-bit YCbCrA 5658; ++// dst2_format=2, dst2_color_map=2: output 24-bit AYCbCr 8565; ++// dst2_format=2, dst2_color_map=3: output 24-bit YCbCrA 6666; ++// dst2_format=2, dst2_color_map=4: output 24-bit AYCbCr 6666; ++// dst2_format=2, dst2_color_map=5: output 24-bit CrCbY 888; ++// dst2_format=3, dst2_color_map=0: output 32-bit YCbCrA 8888; ++// dst2_format=3, dst2_color_map=1: output 32-bit AYCbCr 8888; ++// dst2_format=3, dst2_color_map=2: output 32-bit ACrCbY 8888; ++// dst2_format=3, dst2_color_map=3: output 32-bit CrCbYA 8888. ++//Bit 17:16 dst2_format, 00: 8bit, 01:16bit, 10:24bit, 11: 32bit ++//Bit 15 reserved ++//Bit 14 dst2_color_round_mode, 0: truncate, 1: + 0.5 rounding ++//Bit 13:12, dst2_x_discard_mode. 00: no discard; 10=discard even x; 11=discard odd x. Note: x is post reverse/rotation. ++//Bit 11:10, dst2_y_discard_mode. 00: no discard; 10=discard even y; 11=discard odd y. Note: y is post reverse/rotation. ++//Bit 9 reserved ++//Bit 8, dst2_enable. 0: disable dst2 (default); 1=enable dst2. ++//Bit 7: 6 reserved ++//Bit 5: 4, dst1_x_discard_mode. 00: no discard; 10=discard even x; 11=discard odd x. Note: x is post reverse/rotation. ++//Bit 3: 2, dst1_y_discard_mode. 00: no discard; 10=discard even y; 11=discard odd y. Note: y is post reverse/rotation. ++//Bit 1 reserved ++//Bit 0, dst1_enable. 0: disable dst1; 1=enable dst1 (default). ++#define GE2D_GEN_CTRL3 (0x00e8) ++#define P_GE2D_GEN_CTRL3 (volatile unsigned int *)((0x00e8 << 2) + 0xff940000) ++//Read only ++// Bit 13:0 ge2d_dst2_status, for debug only ++#define GE2D_STATUS2 (0x00e9) ++#define P_GE2D_STATUS2 (volatile unsigned int *)((0x00e9 << 2) + 0xff940000) ++//Bit 27:26 src1 Y fifo size control, 00: 512, 01: 256, 10: 128 11: 96 ++//Bit 25:24 src2 fifo size control, 00: 512, 01: 256, 10: 128 11: 96 ++//Bit 23:22 dst1 fifo size control, 00: 512, 01: 256, 10: 128 11: 64 ++//Bit 21:20 dst2 fifo size control, 00: 512, 01: 256, 10: 128 11: 64 ++//Bit 19:18, dst1 fifo burst control, 00: 24x64, 01: 32x64, 10: 48x64, 11:64x64 ++//Bit 17:16, dst2 fifo burst control, 00: 24x64, 01: 32x64, 10: 48x64, 11:64x64 ++//Bit 15:1, top_wrap_ctrl ++//bit 0, if true, disable bug fix about the dp_out_done/scale_out_done(test1823) hang issue when scaling down ratio is high. ++#define GE2D_GEN_CTRL4 (0x00ea) ++#define P_GE2D_GEN_CTRL4 (volatile unsigned int *)((0x00ea << 2) + 0xff940000) ++#define GE2D_GCLK_CTRL0 (0x00ef) ++#define P_GE2D_GCLK_CTRL0 (volatile unsigned int *)((0x00ef << 2) + 0xff940000) ++#define GE2D_GCLK_CTRL1 (0x00f0) ++#define P_GE2D_GCLK_CTRL1 (volatile unsigned int *)((0x00f0 << 2) + 0xff940000) ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: ./ge2d_regs.h ++// ++ ++// canvas.h ++// --------------------------- ++#define DC_CAV_LUT_DATAL (0x0012 << 2) ++#define P_DC_CAV_LUT_DATAL (volatile unsigned int *)((0x0012 << 2) + 0xff638000) ++#define DC_CAV_LUT_DATAH (0x0013 << 2) ++#define P_DC_CAV_LUT_DATAH (volatile unsigned int *)((0x0013 << 2) + 0xff638000) ++#define DC_CAV_LUT_ADDR (0x0014 << 2) ++#define P_DC_CAV_LUT_ADDR (volatile unsigned int *)((0x0014 << 2) + 0xff638000) ++#define DC_CAV_LUT_RDATAL (0x0015 << 2) ++#define P_DC_CAV_LUT_RDATAL (volatile unsigned int *)((0x0015 << 2) + 0xff638000) ++#define DC_CAV_LUT_RDATAH (0x0016 << 2) ++#define P_DC_CAV_LUT_RDATAH (volatile unsigned int *)((0x0016 << 2) + 0xff638000) ++ ++ ++#define VPU_RDARB_MODE_L1C1 (0x2790) ++#define VPU_RDARB_MODE_L1C2 (0x2799) ++#define VPU_RDARB_MODE_L2C1 (0x279d) ++#define VPU_WRARB_MODE_L2C1 (0x27a2) ++ ++// secure_apb.h ++ ++// registers for mipi_dsi (12'h8a0 - 12'h8ff) ++//======================================================================== ++// ++// Reading file: dsi_regs.h ++// ++// synopsys translate_off ++// synopsys translate_on ++//=========================================================================== ++// MIPI DSI HOST CONTROLLER Registers 0x1c00 - 0x1cff ++//=========================================================================== ++// ----------------------------------------------- ++// CBUS_BASE: DSI_CBUS_BASE = 0x1c ++#define MIPI_DSI_REGISTER ++// ----------------------------------------------- ++//------------------------------------------------------------------------------ ++// DWC IP registers: Synopsys IP, please refer to MIPI DSI HOST Databook ++//------------------------------------------------------------------------------ ++#define MIPI_DSI_DWC_VERSION_OS 0x1c00 ++#define MIPI_DSI_DWC_PWR_UP_OS 0x1c01 ++#define MIPI_DSI_DWC_CLKMGR_CFG_OS 0x1c02 ++#define MIPI_DSI_DWC_DPI_VCID_OS 0x1c03 ++#define MIPI_DSI_DWC_DPI_COLOR_CODING_OS 0x1c04 ++#define MIPI_DSI_DWC_DPI_CFG_POL_OS 0x1c05 ++#define MIPI_DSI_DWC_DPI_LP_CMD_TIM_OS 0x1c06 ++#define MIPI_DSI_DWC_PCKHDL_CFG_OS 0x1c0b ++#define MIPI_DSI_DWC_GEN_VCID_OS 0x1c0c ++#define MIPI_DSI_DWC_MODE_CFG_OS 0x1c0d ++#define MIPI_DSI_DWC_VID_MODE_CFG_OS 0x1c0e ++#define MIPI_DSI_DWC_VID_PKT_SIZE_OS 0x1c0f ++#define MIPI_DSI_DWC_VID_NUM_CHUNKS_OS 0x1c10 ++#define MIPI_DSI_DWC_VID_NULL_SIZE_OS 0x1c11 ++#define MIPI_DSI_DWC_VID_HSA_TIME_OS 0x1c12 ++#define MIPI_DSI_DWC_VID_HBP_TIME_OS 0x1c13 ++#define MIPI_DSI_DWC_VID_HLINE_TIME_OS 0x1c14 ++#define MIPI_DSI_DWC_VID_VSA_LINES_OS 0x1c15 ++#define MIPI_DSI_DWC_VID_VBP_LINES_OS 0x1c16 ++#define MIPI_DSI_DWC_VID_VFP_LINES_OS 0x1c17 ++#define MIPI_DSI_DWC_VID_VACTIVE_LINES_OS 0x1c18 ++#define MIPI_DSI_DWC_EDPI_CMD_SIZE_OS 0x1c19 ++#define MIPI_DSI_DWC_CMD_MODE_CFG_OS 0x1c1a ++#define MIPI_DSI_DWC_GEN_HDR_OS 0x1c1b ++#define MIPI_DSI_DWC_GEN_PLD_DATA_OS 0x1c1c ++#define MIPI_DSI_DWC_CMD_PKT_STATUS_OS 0x1c1d ++#define MIPI_DSI_DWC_TO_CNT_CFG_OS 0x1c1e ++#define MIPI_DSI_DWC_HS_RD_TO_CNT_OS 0x1c1f ++#define MIPI_DSI_DWC_LP_RD_TO_CNT_OS 0x1c20 ++#define MIPI_DSI_DWC_HS_WR_TO_CNT_OS 0x1c21 ++#define MIPI_DSI_DWC_LP_WR_TO_CNT_OS 0x1c22 ++#define MIPI_DSI_DWC_BTA_TO_CNT_OS 0x1c23 ++#define MIPI_DSI_DWC_SDF_3D_OS 0x1c24 ++#define MIPI_DSI_DWC_LPCLK_CTRL_OS 0x1c25 ++#define MIPI_DSI_DWC_PHY_TMR_LPCLK_CFG_OS 0x1c26 ++#define MIPI_DSI_DWC_PHY_TMR_CFG_OS 0x1c27 ++#define MIPI_DSI_DWC_PHY_RSTZ_OS 0x1c28 ++#define MIPI_DSI_DWC_PHY_IF_CFG_OS 0x1c29 ++#define MIPI_DSI_DWC_PHY_ULPS_CTRL_OS 0x1c2a ++#define MIPI_DSI_DWC_PHY_TX_TRIGGERS_OS 0x1c2b ++#define MIPI_DSI_DWC_PHY_STATUS_OS 0x1c2c ++#define MIPI_DSI_DWC_PHY_TST_CTRL0_OS 0x1c2d ++#define MIPI_DSI_DWC_PHY_TST_CTRL1_OS 0x1c2e ++#define MIPI_DSI_DWC_INT_ST0_OS 0x1c2f ++#define MIPI_DSI_DWC_INT_ST1_OS 0x1c30 ++#define MIPI_DSI_DWC_INT_MSK0_OS 0x1c31 ++#define MIPI_DSI_DWC_INT_MSK1_OS 0x1c32 ++//------------------------------------------------------------------------------ ++// Top-level registers: AmLogic proprietary ++//------------------------------------------------------------------------------ ++// 31: 4 Reserved. Default 0. ++// 3 RW ~tim_rst_n: 1=Assert SW reset on mipi_dsi_host_timing block. 0=Release reset. Default 1. ++// 2 RW ~dpi_rst_n: 1=Assert SW reset on mipi_dsi_host_dpi block. 0=Release reset. Default 1. ++// 1 RW ~intr_rst_n: 1=Assert SW reset on mipi_dsi_host_intr block. 0=Release reset. Default 1. ++// 0 RW ~dwc_rst_n: 1=Assert SW reset on IP core. 0=Release reset. Default 1. ++#define MIPI_DSI_TOP_SW_RESET 0x1cf0 ++// 31: 5 Reserved. Default 0. ++// 4 RW manual_edpihalt: 1=Manual suspend VencL; 0=do not suspend VencL. Default 0. ++// 3 RW auto_edpihalt_en: 1=Enable IP's edpihalt signal to suspend VencL; 0=IP's edpihalt signal does not affect VencL. Default 0. ++// 2 RW clock_freerun: Apply to auto-clock gate only. Default 0. ++// 0=Default, use auto-clock gating to save power; ++// 1=use free-run clock, disable auto-clock gating, for debug mode. ++// 1 RW enable_pixclk: A manual clock gate option, due to DWC IP does not have auto-clock gating. 1=Enable pixclk. Default 0. ++// 0 RW enable_sysclk: A manual clock gate option, due to DWC IP does not have auto-clock gating. 1=Enable sysclk. Default 0. ++#define MIPI_DSI_TOP_CLK_CNTL 0x1cf1 ++// 31:27 Reserved. Default 0. ++// 26 RW de_dpi_pol: 1= Invert DE polarity from mipi_dsi_host_dpi. Default 0. ++// 25 RW hsync_dpi_pol: 1= Invert HS polarity from mipi_dsi_host_dpi. Default 0. ++// 24 RW vsync_dpi_pol: 1= Invert VS polarity from mipi_dsi_host_dpi. Default 0. ++// 23:20 RW dpi_color_mode: Define DPI pixel format. Default 0. ++// 0=16-bit RGB565 config 1; ++// 1=16-bit RGB565 config 2; ++// 2=16-bit RGB565 config 3; ++// 3=18-bit RGB666 config 1; ++// 4=18-bit RGB666 config 2; ++// 5=24-bit RGB888; ++// 6=20-bit YCbCr 4:2:2; ++// 7=24-bit YCbCr 4:2:2; ++// 8=16-bit YCbCr 4:2:2; ++// 9=30-bit RGB; ++// 10=36-bit RGB; ++// 11=12-bit YCbCr 4:2:0. ++// 19 Reserved. Default 0. ++// 18:16 RW in_color_mode: Define VENC data width. Default 0. ++// 0=30-bit pixel; ++// 1=24-bit pixel; ++// 2=18-bit pixel, RGB666; ++// 3=16-bit pixel, RGB565. ++// 15:14 RW chroma_subsample: Define method of chroma subsampling. Default 0. ++// Applicable to YUV422 or YUV420 only. ++// 0=Use even pixel's chroma; ++// 1=Use odd pixel's chroma; ++// 2=Use averaged value between even and odd pair. ++// 13:12 RW comp2_sel: Select which component to be Cr or B: 0=comp0; 1=comp1; 2=comp2. Default 2. ++// 11:10 RW comp1_sel: Select which component to be Cb or G: 0=comp0; 1=comp1; 2=comp2. Default 1. ++// 9: 8 RW comp0_sel: Select which component to be Y or R: 0=comp0; 1=comp1; 2=comp2. Default 0. ++// 7 Reserved. Default 0. ++// 6 RW de_venc_pol: 1= Invert DE polarity from VENC. Default 0. ++// 5 RW hsync_venc_pol: 1= Invert HS polarity from VENC. Default 0. ++// 4 RW vsync_venc_pol: 1= Invert VS polarity from VENC. Default 0. ++// 3 RW dpicolorm: Signal to IP. Default 0. ++// 2 RW dpishutdn: Signal to IP. Default 0. ++// 1 Reserved. Default 0. ++// 0 Reserved. Default 0. ++#define MIPI_DSI_TOP_CNTL 0x1cf2 ++// 31:16 Reserved. Default 0. ++// 15: 8 RW suspend_frame_rate: Define rate of timed-suspend. Default 0. ++// 0=Execute suspend every frame; 1=Every other frame; ...; 255=Every 256 frame. ++// 7: 3 Reserved. Default 0. ++// 2 RW timed_suspend_en: 1=Enable timed suspend VencL. 0=Disable timed suspend. Default 0. ++// 1 RW manual_suspend_en: 1=Enable manual suspend VencL. 1=Cancel manual suspend VencL. Default 0. ++// 0 RW suspend_on_edpihalt:1=Enable IP's edpihalt signal to suspend VencL; 0=IP's edpihalt signal does not affect VencL. Default 1. ++#define MIPI_DSI_TOP_SUSPEND_CNTL 0x1cf3 ++// 31:29 Reserved. Default 0. ++// 28:16 RW suspend_line_end: Define timed-suspend region. Suspend from [pix_start,line_start] to [pix_end,line_end]. Default 0. ++// 15:13 Reserved. Default 0. ++// 12: 0 RW suspend_line_start: Define timed-suspend region. Suspend from [pix_start,line_start] to [pix_end,line_end]. Default 0. ++#define MIPI_DSI_TOP_SUSPEND_LINE 0x1cf4 ++// 31:29 Reserved. Default 0. ++// 28:16 RW suspend_pix_end: Define timed-suspend region. Suspend from [pix_start,line_start] to [pix_end,line_end]. Default 0. ++// 15:13 Reserved. Default 0. ++// 12: 0 RW suspend_pix_start: Define timed-suspend region. Suspend from [pix_start,line_start] to [pix_end,line_end]. Default 0. ++#define MIPI_DSI_TOP_SUSPEND_PIX 0x1cf5 ++// 31:20 Reserved. Default 0. ++// 19:10 RW meas_vsync: Control on measuring Host Controller's vsync. Default 0. ++// [ 19] meas_en: 1=Enable measurement ++// [ 18] accum_meas_en: 0=meas_count is cleared at the end of each measure; ++// 1=meas_count is accumulated at the end of each measure. ++// [17:10] vsync_span: Define the duration of a measure is to last for how many Vsyncs. ++// 9: 0 RW meas_edpite: Control on measuring Display Slave's edpite. Default 0. ++// [ 9] meas_en: 1=Enable measurement ++// [ 8] accum_meas_en: 0=meas_count is cleared at the end of each measure; ++// 1=meas_count is accumulated at the end of each measure. ++// [ 7: 0] edpite_span: Define the duration of a measure is to last for how many edpite. ++#define MIPI_DSI_TOP_MEAS_CNTL 0x1cf6 ++// 31 R stat_edpihalt: status of edpihalt signal from IP. Default 0. ++// 30:29 Reserved. Default 0. ++// 28:16 R stat_te_line: Snapshot of Host's line position at edpite. Default 0. ++// 15:13 Reserved. Default 0. ++// 12: 0 R stat_te_pix: Snapshot of Host's pixel position at edpite. Default 0. ++#define MIPI_DSI_TOP_STAT 0x1cf7 ++// To measure display slave's frame rate, we can use a reference clock to measure the duration of one of more edpite pulse(s). ++// Measurement control is by register MIPI_DSI_TOP_MEAS_CNTL bit[9:0]. ++// Reference clock comes from clk_rst_tst.cts_dsi_meas_clk, and is defined by HIU register HHI_VDIN_MEAS_CLK_CNTL bit[23:12]. ++// Mesurement result is in MIPI_DSI_TOP_MEAS_STAT_TE0 and MIPI_DSI_TOP_MEAS_STAT_TE1, as below: ++// edpite_meas_count[47:0]: Number of reference clock cycles counted during one measure period (non-incremental measure), or ++// during all measure periods so far (incremental measure). ++// edpite_meas_count_n[3:0]:Number of measure periods has been done. Number can wrap over. ++// ++// 31: 0 R edpite_meas_count[31:0]. Default 0. ++#define MIPI_DSI_TOP_MEAS_STAT_TE0 0x1cf8 ++// 19:16 R edpite_meas_count_n. Default 0. ++// 15: 0 R edpite_meas_count[47:32]. Default 0. ++#define MIPI_DSI_TOP_MEAS_STAT_TE1 0x1cf9 ++// To measure Host's frame rate, we can use a reference clock to measure the duration of one of more Vsync pulse(s). ++// Measurement control is by register MIPI_DSI_TOP_MEAS_CNTL bit[19:10]. ++// Reference clock comes from clk_rst_tst.cts_dsi_meas_clk, and is defined by HIU register HHI_VDIN_MEAS_CLK_CNTL bit[23:12]. ++// Mesurement result is in MIPI_DSI_TOP_MEAS_STAT_VS0 and MIPI_DSI_TOP_MEAS_STAT_VS1, as below: ++// vsync_meas_count[47:0]: Number of reference clock cycles counted during one measure period (non-incremental measure), or ++// during all measure periods so far (incremental measure). ++// vsync_meas_count_n[3:0]: Number of measure periods has been done. Number can wrap over. ++// ++// 31: 0 R vsync_meas_count[31:0]. Default 0. ++#define MIPI_DSI_TOP_MEAS_STAT_VS0 0x1cfa ++// 19:16 R vsync_meas_count_n. Default 0. ++// 15: 0 R vsync_meas_count[47:32]. Default 0. ++#define MIPI_DSI_TOP_MEAS_STAT_VS1 0x1cfb ++// 31:16 RW intr_stat/clr. For each bit, read as this interrupt level status, write 1 to clear. Default 0. ++// Note: To clear the interrupt level, simply write 1 to the specific bit, no need to write 0 afterwards. ++// [31:22] Reserved ++// [ 21] stat/clr of EOF interrupt ++// [ 20] stat/clr of de_fall interrupt ++// [ 19] stat/clr of de_rise interrupt ++// [ 18] stat/clr of vs_fall interrupt ++// [ 17] stat/clr of vs_rise interrupt ++// [ 16] stat/clr of dwc_edpite interrupt ++// 15: 0 RW intr_enable. For each bit, 1=enable this interrupt, 0=disable. Default 0. ++// [15: 6] Reserved ++// [ 5] EOF (End_Of_Field) interrupt ++// [ 4] de_fall interrupt ++// [ 3] de_rise interrupt ++// [ 2] vs_fall interrupt ++// [ 1] vs_rise interrupt ++// [ 0] dwc_edpite interrupt ++#define MIPI_DSI_TOP_INTR_CNTL_STAT 0x1cfc ++// 31: 2 Reserved. Default 0. ++// 1: 0 RW mem_pd. Default 3. ++#define MIPI_DSI_TOP_MEM_PD 0x1cfd ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: dsi_regs.h ++#define VD1_HDR2_CTRL 0x3800 ++#define VD1_HDR2_CLK_GATE 0x3801 ++#define VD1_HDR2_MATRIXI_COEF00_01 0x3802 ++#define VD1_HDR2_MATRIXI_COEF02_10 0x3803 ++#define VD1_HDR2_MATRIXI_COEF11_12 0x3804 ++#define VD1_HDR2_MATRIXI_COEF20_21 0x3805 ++#define VD1_HDR2_MATRIXI_COEF22 0x3806 ++#define VD1_HDR2_MATRIXI_COEF30_31 0x3807 ++#define VD1_HDR2_MATRIXI_COEF32_40 0x3808 ++#define VD1_HDR2_MATRIXI_COEF41_42 0x3809 ++#define VD1_HDR2_MATRIXI_OFFSET0_1 0x380a ++#define VD1_HDR2_MATRIXI_OFFSET2 0x380b ++#define VD1_HDR2_MATRIXI_PRE_OFFSET0_1 0x380c ++#define VD1_HDR2_MATRIXI_PRE_OFFSET2 0x380d ++#define VD1_HDR2_MATRIXO_COEF00_01 0x380e ++#define VD1_HDR2_MATRIXO_COEF02_10 0x380f ++#define VD1_HDR2_MATRIXO_COEF11_12 0x3810 ++#define VD1_HDR2_MATRIXO_COEF20_21 0x3811 ++#define VD1_HDR2_MATRIXO_COEF22 0x3812 ++#define VD1_HDR2_MATRIXO_COEF30_31 0x3813 ++#define VD1_HDR2_MATRIXO_COEF32_40 0x3814 ++#define VD1_HDR2_MATRIXO_COEF41_42 0x3815 ++#define VD1_HDR2_MATRIXO_OFFSET0_1 0x3816 ++#define VD1_HDR2_MATRIXO_OFFSET2 0x3817 ++#define VD1_HDR2_MATRIXO_PRE_OFFSET0_1 0x3818 ++#define VD1_HDR2_MATRIXO_PRE_OFFSET2 0x3819 ++#define VD1_HDR2_MATRIXI_CLIP 0x381a ++#define VD1_HDR2_MATRIXO_CLIP 0x381b ++#define VD1_HDR2_CGAIN_OFFT 0x381c ++#define VD1_EOTF_LUT_ADDR_PORT 0x381e ++#define VD1_EOTF_LUT_DATA_PORT 0x381f ++#define VD1_OETF_LUT_ADDR_PORT 0x3820 ++#define VD1_OETF_LUT_DATA_PORT 0x3821 ++#define VD1_CGAIN_LUT_ADDR_PORT 0x3822 ++#define VD1_CGAIN_LUT_DATA_PORT 0x3823 ++#define VD1_HDR2_CGAIN_COEF0 0x3824 ++#define VD1_HDR2_CGAIN_COEF1 0x3825 ++#define VD1_OGAIN_LUT_ADDR_PORT 0x3826 ++#define VD1_OGAIN_LUT_DATA_PORT 0x3827 ++#define VD1_HDR2_ADPS_CTRL 0x3828 ++#define VD1_HDR2_ADPS_ALPHA0 0x3829 ++#define VD1_HDR2_ADPS_ALPHA1 0x382a ++#define VD1_HDR2_ADPS_BETA0 0x382b ++#define VD1_HDR2_ADPS_BETA1 0x382c ++#define VD1_HDR2_ADPS_BETA2 0x382d ++#define VD1_HDR2_ADPS_COEF0 0x382e ++#define VD1_HDR2_ADPS_COEF1 0x382f ++#define VD1_HDR2_GMUT_CTRL 0x3830 ++#define VD1_HDR2_GMUT_COEF0 0x3831 ++#define VD1_HDR2_GMUT_COEF1 0x3832 ++#define VD1_HDR2_GMUT_COEF2 0x3833 ++#define VD1_HDR2_GMUT_COEF3 0x3834 ++#define VD1_HDR2_GMUT_COEF4 0x3835 ++#define VD1_HDR2_PIPE_CTRL1 0x3836 ++#define VD1_HDR2_PIPE_CTRL2 0x3837 ++#define VD1_HDR2_PIPE_CTRL3 0x3838 ++#define VD1_HDR2_PROC_WIN1 0x3839 ++#define VD1_HDR2_PROC_WIN2 0x383a ++#define VD1_HDR2_MATRIXI_EN_CTRL 0x383b ++#define VD1_HDR2_MATRIXO_EN_CTRL 0x383c ++ ++#define VD2_HDR2_CTRL 0x3850 ++#define VD2_HDR2_CLK_GATE 0x3851 ++#define VD2_HDR2_MATRIXI_COEF00_01 0x3852 ++#define VD2_HDR2_MATRIXI_COEF02_10 0x3853 ++#define VD2_HDR2_MATRIXI_COEF11_12 0x3854 ++#define VD2_HDR2_MATRIXI_COEF20_21 0x3855 ++#define VD2_HDR2_MATRIXI_COEF22 0x3856 ++#define VD2_HDR2_MATRIXI_COEF30_31 0x3857 ++#define VD2_HDR2_MATRIXI_COEF32_40 0x3858 ++#define VD2_HDR2_MATRIXI_COEF41_42 0x3859 ++#define VD2_HDR2_MATRIXI_OFFSET0_1 0x385a ++#define VD2_HDR2_MATRIXI_OFFSET2 0x385b ++#define VD2_HDR2_MATRIXI_PRE_OFFSET0_1 0x385c ++#define VD2_HDR2_MATRIXI_PRE_OFFSET2 0x385d ++#define VD2_HDR2_MATRIXO_COEF00_01 0x385e ++#define VD2_HDR2_MATRIXO_COEF02_10 0x385f ++#define VD2_HDR2_MATRIXO_COEF11_12 0x3860 ++#define VD2_HDR2_MATRIXO_COEF20_21 0x3861 ++#define VD2_HDR2_MATRIXO_COEF22 0x3862 ++#define VD2_HDR2_MATRIXO_COEF30_31 0x3863 ++#define VD2_HDR2_MATRIXO_COEF32_40 0x3864 ++#define VD2_HDR2_MATRIXO_COEF41_42 0x3865 ++#define VD2_HDR2_MATRIXO_OFFSET0_1 0x3866 ++#define VD2_HDR2_MATRIXO_OFFSET2 0x3867 ++#define VD2_HDR2_MATRIXO_PRE_OFFSET0_1 0x3868 ++#define VD2_HDR2_MATRIXO_PRE_OFFSET2 0x3869 ++#define VD2_HDR2_MATRIXI_CLIP 0x386a ++#define VD2_HDR2_MATRIXO_CLIP 0x386b ++#define VD2_HDR2_CGAIN_OFFT 0x386c ++#define VD2_EOTF_LUT_ADDR_PORT 0x386e ++#define VD2_EOTF_LUT_DATA_PORT 0x386f ++#define VD2_OETF_LUT_ADDR_PORT 0x3870 ++#define VD2_OETF_LUT_DATA_PORT 0x3871 ++#define VD2_CGAIN_LUT_ADDR_PORT 0x3872 ++#define VD2_CGAIN_LUT_DATA_PORT 0x3873 ++#define VD2_HDR2_CGAIN_COEF0 0x3874 ++#define VD2_HDR2_CGAIN_COEF1 0x3875 ++#define VD2_OGAIN_LUT_ADDR_PORT 0x3876 ++#define VD2_OGAIN_LUT_DATA_PORT 0x3877 ++#define VD2_HDR2_ADPS_CTRL 0x3878 ++#define VD2_HDR2_ADPS_ALPHA0 0x3879 ++#define VD2_HDR2_ADPS_ALPHA1 0x387a ++#define VD2_HDR2_ADPS_BETA0 0x387b ++#define VD2_HDR2_ADPS_BETA1 0x387c ++#define VD2_HDR2_ADPS_BETA2 0x387d ++#define VD2_HDR2_ADPS_COEF0 0x387e ++#define VD2_HDR2_ADPS_COEF1 0x387f ++#define VD2_HDR2_GMUT_CTRL 0x3880 ++#define VD2_HDR2_GMUT_COEF0 0x3881 ++#define VD2_HDR2_GMUT_COEF1 0x3882 ++#define VD2_HDR2_GMUT_COEF2 0x3883 ++#define VD2_HDR2_GMUT_COEF3 0x3884 ++#define VD2_HDR2_GMUT_COEF4 0x3885 ++#define VD2_HDR2_PIPE_CTRL1 0x3886 ++#define VD2_HDR2_PIPE_CTRL2 0x3887 ++#define VD2_HDR2_PIPE_CTRL3 0x3888 ++#define VD2_HDR2_PROC_WIN1 0x3889 ++#define VD2_HDR2_PROC_WIN2 0x388a ++#define VD2_HDR2_MATRIXI_EN_CTRL 0x388b ++#define VD2_HDR2_MATRIXO_EN_CTRL 0x388c ++ ++#define OSD1_HDR2_CTRL 0x38a0 ++#define OSD1_HDR2_CLK_GATE 0x38a1 ++#define OSD1_HDR2_MATRIXI_COEF00_01 0x38a2 ++#define OSD1_HDR2_MATRIXI_COEF02_10 0x38a3 ++#define OSD1_HDR2_MATRIXI_COEF11_12 0x38a4 ++#define OSD1_HDR2_MATRIXI_COEF20_21 0x38a5 ++#define OSD1_HDR2_MATRIXI_COEF22 0x38a6 ++#define OSD1_HDR2_MATRIXI_COEF30_31 0x38a7 ++#define OSD1_HDR2_MATRIXI_COEF32_40 0x38a8 ++#define OSD1_HDR2_MATRIXI_COEF41_42 0x38a9 ++#define OSD1_HDR2_MATRIXI_OFFSET0_1 0x38aa ++#define OSD1_HDR2_MATRIXI_OFFSET2 0x38ab ++#define OSD1_HDR2_MATRIXI_PRE_OFFSET0_1 0x38ac ++#define OSD1_HDR2_MATRIXI_PRE_OFFSET2 0x38ad ++#define OSD1_HDR2_MATRIXO_COEF00_01 0x38ae ++#define OSD1_HDR2_MATRIXO_COEF02_10 0x38af ++#define OSD1_HDR2_MATRIXO_COEF11_12 0x38b0 ++#define OSD1_HDR2_MATRIXO_COEF20_21 0x38b1 ++#define OSD1_HDR2_MATRIXO_COEF22 0x38b2 ++#define OSD1_HDR2_MATRIXO_COEF30_31 0x38b3 ++#define OSD1_HDR2_MATRIXO_COEF32_40 0x38b4 ++#define OSD1_HDR2_MATRIXO_COEF41_42 0x38b5 ++#define OSD1_HDR2_MATRIXO_OFFSET0_1 0x38b6 ++#define OSD1_HDR2_MATRIXO_OFFSET2 0x38b7 ++#define OSD1_HDR2_MATRIXO_PRE_OFFSET0_1 0x38b8 ++#define OSD1_HDR2_MATRIXO_PRE_OFFSET2 0x38b9 ++#define OSD1_HDR2_MATRIXI_CLIP 0x38ba ++#define OSD1_HDR2_MATRIXO_CLIP 0x38bb ++#define OSD1_HDR2_CGAIN_OFFT 0x38bc ++#define OSD1_EOTF_LUT_ADDR_PORT 0x38be ++#define OSD1_EOTF_LUT_DATA_PORT 0x38bf ++#define OSD1_OETF_LUT_ADDR_PORT 0x38c0 ++#define OSD1_OETF_LUT_DATA_PORT 0x38c1 ++#define OSD1_CGAIN_LUT_ADDR_PORT 0x38c2 ++#define OSD1_CGAIN_LUT_DATA_PORT 0x38c3 ++#define OSD1_HDR2_CGAIN_COEF0 0x38c4 ++#define OSD1_HDR2_CGAIN_COEF1 0x38c5 ++#define OSD1_OGAIN_LUT_ADDR_PORT 0x38c6 ++#define OSD1_OGAIN_LUT_DATA_PORT 0x38c7 ++#define OSD1_HDR2_ADPS_CTRL 0x38c8 ++#define OSD1_HDR2_ADPS_ALPHA0 0x38c9 ++#define OSD1_HDR2_ADPS_ALPHA1 0x38ca ++#define OSD1_HDR2_ADPS_BETA0 0x38cb ++#define OSD1_HDR2_ADPS_BETA1 0x38cc ++#define OSD1_HDR2_ADPS_BETA2 0x38cd ++#define OSD1_HDR2_ADPS_COEF0 0x38ce ++#define OSD1_HDR2_ADPS_COEF1 0x38cf ++#define OSD1_HDR2_GMUT_CTRL 0x38d0 ++#define OSD1_HDR2_GMUT_COEF0 0x38d1 ++#define OSD1_HDR2_GMUT_COEF1 0x38d2 ++#define OSD1_HDR2_GMUT_COEF2 0x38d3 ++#define OSD1_HDR2_GMUT_COEF3 0x38d4 ++#define OSD1_HDR2_GMUT_COEF4 0x38d5 ++#define OSD1_HDR2_PIPE_CTRL1 0x38d6 ++#define OSD1_HDR2_PIPE_CTRL2 0x38d7 ++#define OSD1_HDR2_PIPE_CTRL3 0x38d8 ++#define OSD1_HDR2_PROC_WIN1 0x38d9 ++#define OSD1_HDR2_PROC_WIN2 0x38da ++#define OSD1_HDR2_MATRIXI_EN_CTRL 0x38db ++#define OSD1_HDR2_MATRIXO_EN_CTRL 0x38dc +diff --git a/include/amlogic/asm/romboot.h b/include/amlogic/asm/romboot.h +new file mode 100644 +index 00000000000..338365e87a6 +--- /dev/null ++++ b/include/amlogic/asm/romboot.h +@@ -0,0 +1,53 @@ ++ ++/* ++ * arch/arm/include/asm/arch-txl/romboot.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#ifndef __BOOT_ROM_H_ ++#define __BOOT_ROM_H_ ++#ifndef __ASSEMBLY__ ++//#include ++//uint8_t simple_i2c(uint8_t adr); ++//void spi_pin_mux(void); ++//void spi_init(void); ++//uint32_t spi_read(uint32_t src, uint32_t mem, uint32_t size); ++//void udelay(uint32_t usec); ++//void boot_des_decrypt(uint8_t *ct, uint8_t *pt, uint32_t size); ++ ++#endif /* ! __ASSEMBLY__ */ ++#include "config.h" ++ ++/* Magic number to "boot" up A53 */ ++#define AO_SEC_SD_CFG10_CB 0x80000000 ++ ++/*BOOT device and ddr size*/ ++/*31-28: boot device id, 27-24: boot device para, 23-20: reserved*/ ++/*19-8: ddr size, 7-0: board revision*/ ++//#define P_AO_SEC_GP_CFG0 0xDA100240 //defined in secure_apb.h ++#define AO_SEC_GP_CFG7_W0_BIT 8 ++#define AO_SEC_GP_CFG7_W0 0x100 ++ ++#define BOOT_ID_RESERVED 0 ++#define BOOT_ID_EMMC 1 ++#define BOOT_ID_NAND 2 ++#define BOOT_ID_SPI 3 ++#define BOOT_ID_SDCARD 4 ++#define BOOT_ID_USB 5 ++ ++#endif /* __BOOT_ROM_H_ */ +diff --git a/include/amlogic/asm/sd_emmc.h b/include/amlogic/asm/sd_emmc.h +new file mode 100644 +index 00000000000..81de3a9674c +--- /dev/null ++++ b/include/amlogic/asm/sd_emmc.h +@@ -0,0 +1,136 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * (C) Copyright 2016 Carlo Caione ++ */ ++ ++#ifndef __SD_EMMC_H__ ++#define __SD_EMMC_H__ ++ ++#include ++ ++#define SDIO_PORT_A 0 ++#define SDIO_PORT_B 1 ++#define SDIO_PORT_C 2 ++ ++#define SD_EMMC_CLKSRC_24M 24000000 /* 24 MHz */ ++#define SD_EMMC_CLKSRC_DIV2 1000000000 /* 1 GHz */ ++ ++#define MESON_SD_EMMC_CLOCK 0x00 ++#define CLK_MAX_DIV GENMASK(5, 0) ++#define CLK_MAX_SRC GENMASK(7, 6) ++#define Cfg_div 0 ++#define Cfg_src 6 ++#define Cfg_co_phase 8 ++#define Cfg_tx_phase 10 ++#define Cfg_rx_phase 12 ++#define Cfg_sram_pd 14 ++#define Cfg_tx_delay 16 ++#define Cfg_rx_delay 22 ++#define Cfg_always_on 28 ++#define Cfg_irq_sdio_sleep 29 ++#define Cfg_irq_sdio_sleep_ds 30 ++ ++#define MESON_SD_EMMC_DELAY1 0x4 ++#define DLY_D0_MASK GENMASK(5, 0) ++#define DLY_D1_MASK GENMASK(11, 6) ++#define DLY_D2_MASK GENMASK(17, 12) ++#define DLY_D3_MASK GENMASK(23, 18) ++#define DLY_D4_MASK GENMASK(31, 24) ++#define Dly_d0 0 ++#define Dly_d1 6 ++#define Dly_d2 12 ++#define Dly_d3 18 ++#define Dly_d4 24 ++ ++#define MESON_SD_EMMC_DELAY2 0x8 ++#define DLY_D5_MASK GENMASK(5, 0) ++#define DLY_D6_MASK GENMASK(11, 6) ++#define DLY_D7_MASK GENMASK(17, 12) ++#define DLY_D8_MASK GENMASK(23, 18) ++#define DLY_D9_MASK GENMASK(31, 24) ++#define Dly_d5 0 ++#define Dly_d6 6 ++#define Dly_d7 12 ++#define Dly_d8 18 ++#define Dly_d9 24 ++ ++#define MESON_SD_EMMC_ADJUST 0xC ++#define CALI_SEL_MASK GENMASK(11, 8) ++#define ADJ_DLY_MASK GENMASK(21, 16) ++#define Cfg_cali_sel 8 ++#define Cfg_cali_en 12 ++#define Cfg_adj_en 13 ++#define Cfg_cali_rise 14 ++#define Cfg_ds_en 15 ++#define Cfg_adj_dly 16 ++#define Cfg_adj_auto 22 ++#define Cfg_adj_init 23 ++ ++#define MESON_SD_EMMC_START 0x40 ++#define CFG_DESC_INIT BIT(0) ++#define CFG_DESC_BUSY BIT(1) ++#define CFG_DESC_ADDR 2 ++ ++#define MESON_SD_EMMC_CFG 0x44 ++#define CFG_BUS_WIDTH_MASK GENMASK(1, 0) ++#define CFG_BUS_WIDTH_1 0 ++#define CFG_BUS_WIDTH_4 1 ++#define CFG_BUS_WIDTH_8 2 ++#define CFG_DDR BIT(2) ++#define CFG_BL_LEN_MASK GENMASK(7, 4) ++#define CFG_BL_LEN_SHIFT 4 ++#define CFG_BL_LEN_512 (9 << 4) ++#define CFG_RESP_TIMEOUT_MASK GENMASK(11, 8) ++#define CFG_RESP_TIMEOUT_256 (8 << 8) ++#define CFG_RC_CC_MASK GENMASK(15, 12) ++#define CFG_RC_CC_16 (4 << 12) ++#define CFG_SDCLK_ALWAYS_ON BIT(18) ++#define CFG_AUTO_CLK BIT(23) ++ ++#define MESON_SD_EMMC_STATUS 0x48 ++#define STATUS_MASK GENMASK(15, 0) ++#define STATUS_ERR_MASK GENMASK(12, 0) ++#define STATUS_RXD_ERR_MASK GENMASK(7, 0) ++#define STATUS_TXD_ERR BIT(8) ++#define STATUS_DESC_ERR BIT(9) ++#define STATUS_RESP_ERR BIT(10) ++#define STATUS_RESP_TIMEOUT BIT(11) ++#define STATUS_DESC_TIMEOUT BIT(12) ++#define STATUS_END_OF_CHAIN BIT(13) ++ ++#define MESON_SD_EMMC_IRQ_EN 0x4c ++ ++#define MESON_SD_EMMC_CMD_CFG 0x50 ++#define CMD_CFG_LENGTH_MASK GENMASK(8, 0) ++#define CMD_CFG_BLOCK_MODE BIT(9) ++#define CMD_CFG_R1B BIT(10) ++#define CMD_CFG_END_OF_CHAIN BIT(11) ++#define CMD_CFG_TIMEOUT_4S (12 << 12) ++#define CMD_CFG_NO_RESP BIT(16) ++#define CMD_CFG_NO_CMD BIT(17) ++#define CMD_CFG_DATA_IO BIT(18) ++#define CMD_CFG_DATA_WR BIT(19) ++#define CMD_CFG_RESP_NOCRC BIT(20) ++#define CMD_CFG_RESP_128 BIT(21) ++#define CMD_CFG_RESP_NUM BIT(22) ++#define CMD_CFG_DATA_NUM BIT(23) ++#define CMD_CFG_CMD_INDEX_MASK GENMASK(29, 24) ++#define CMD_CFG_CMD_INDEX_SHIFT 24 ++#define CMD_CFG_ERR BIT(30) ++#define CMD_CFG_OWNER BIT(31) ++ ++#define MESON_SD_EMMC_CMD_ARG 0x54 ++#define MESON_SD_EMMC_CMD_DAT 0x58 ++#define MESON_SD_EMMC_CMD_RSP 0x5c ++#define MESON_SD_EMMC_CMD_RSP1 0x60 ++#define MESON_SD_EMMC_CMD_RSP2 0x64 ++#define MESON_SD_EMMC_CMD_RSP3 0x68 ++ ++#define SD_EMMC_RXD_ERROR (1 << 0) ++#define SD_EMMC_TXD_ERROR (1 << 1) ++#define SD_EMMC_DESC_ERROR (1 << 2) ++#define SD_EMMC_RESP_CRC_ERROR (1 << 3) ++#define SD_EMMC_RESP_TIMEOUT_ERROR (1 << 4) ++#define SD_EMMC_DESC_TIMEOUT_ERROR (1 << 5) ++ ++#endif +diff --git a/include/amlogic/asm/secure_apb.h b/include/amlogic/asm/secure_apb.h +new file mode 100644 +index 00000000000..a146334e50f +--- /dev/null ++++ b/include/amlogic/asm/secure_apb.h +@@ -0,0 +1,4235 @@ ++// ---------------------------------------------------------------------- ++// This file is automatically generated from the script: ++// ++// ./create_headers_from_register_map_h.pl ++// ++// and was applied to the file ++// ++// ./register_map.h ++// ++// DO NOT EDIT!!!!! ++// ---------------------------------------------------------------------- ++// ++#include ++ ++#ifdef REGISTER_H ++#else ++#define REGISTER_H ++#endif ++ ++// ---------------------------------------------------------------------- ++// This file is automatically generated from the script: ++// ++// ./create_headers_from_secure_apb4_h.pl ++// ++// and was applied to the file ++// ++// ./secure_apb4_ee.h ./ao_rti_reg.h ++// ++// DO NOT EDIT!!!!! ++// ---------------------------------------------------------------------- ++// ++ ++#ifdef SECURE_APB_H ++#else ++#define SECURE_APB_H ++ ++// ++// Reading file: ./secure_apb4_ee.h ++// ++// synopsys translate_off ++// synopsys translate_on ++//======================================================================== ++// MIPI_DSI_PHY ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF644000 ++// APB4_DECODER_SECURE_BASE 32'hFF644000 ++//`define MIPI_DSI_PHY_START 8'h00 ++//`define MIPI_DSI_PHY_END 16'hffff ++#define MIPI_DSI_PHY_CTRL (0xff644000 + (0x000 << 2)) ++#define SEC_MIPI_DSI_PHY_CTRL (0xff644000 + (0x000 << 2)) ++#define P_MIPI_DSI_PHY_CTRL (volatile uint32_t *)(0xff644000 + (0x000 << 2)) ++#define MIPI_DSI_CHAN_CTRL (0xff644000 + (0x001 << 2)) ++#define SEC_MIPI_DSI_CHAN_CTRL (0xff644000 + (0x001 << 2)) ++#define P_MIPI_DSI_CHAN_CTRL (volatile uint32_t *)(0xff644000 + (0x001 << 2)) ++#define MIPI_DSI_CHAN_STS (0xff644000 + (0x002 << 2)) ++#define SEC_MIPI_DSI_CHAN_STS (0xff644000 + (0x002 << 2)) ++#define P_MIPI_DSI_CHAN_STS (volatile uint32_t *)(0xff644000 + (0x002 << 2)) ++#define MIPI_DSI_CLK_TIM (0xff644000 + (0x003 << 2)) ++#define SEC_MIPI_DSI_CLK_TIM (0xff644000 + (0x003 << 2)) ++#define P_MIPI_DSI_CLK_TIM (volatile uint32_t *)(0xff644000 + (0x003 << 2)) ++#define MIPI_DSI_HS_TIM (0xff644000 + (0x004 << 2)) ++#define SEC_MIPI_DSI_HS_TIM (0xff644000 + (0x004 << 2)) ++#define P_MIPI_DSI_HS_TIM (volatile uint32_t *)(0xff644000 + (0x004 << 2)) ++#define MIPI_DSI_LP_TIM (0xff644000 + (0x005 << 2)) ++#define SEC_MIPI_DSI_LP_TIM (0xff644000 + (0x005 << 2)) ++#define P_MIPI_DSI_LP_TIM (volatile uint32_t *)(0xff644000 + (0x005 << 2)) ++#define MIPI_DSI_ANA_UP_TIM (0xff644000 + (0x006 << 2)) ++#define SEC_MIPI_DSI_ANA_UP_TIM (0xff644000 + (0x006 << 2)) ++#define P_MIPI_DSI_ANA_UP_TIM (volatile uint32_t *)(0xff644000 + (0x006 << 2)) ++#define MIPI_DSI_INIT_TIM (0xff644000 + (0x007 << 2)) ++#define SEC_MIPI_DSI_INIT_TIM (0xff644000 + (0x007 << 2)) ++#define P_MIPI_DSI_INIT_TIM (volatile uint32_t *)(0xff644000 + (0x007 << 2)) ++#define MIPI_DSI_WAKEUP_TIM (0xff644000 + (0x008 << 2)) ++#define SEC_MIPI_DSI_WAKEUP_TIM (0xff644000 + (0x008 << 2)) ++#define P_MIPI_DSI_WAKEUP_TIM (volatile uint32_t *)(0xff644000 + (0x008 << 2)) ++#define MIPI_DSI_LPOK_TIM (0xff644000 + (0x009 << 2)) ++#define SEC_MIPI_DSI_LPOK_TIM (0xff644000 + (0x009 << 2)) ++#define P_MIPI_DSI_LPOK_TIM (volatile uint32_t *)(0xff644000 + (0x009 << 2)) ++#define MIPI_DSI_LP_WCHDOG (0xff644000 + (0x00a << 2)) ++#define SEC_MIPI_DSI_LP_WCHDOG (0xff644000 + (0x00a << 2)) ++#define P_MIPI_DSI_LP_WCHDOG (volatile uint32_t *)(0xff644000 + (0x00a << 2)) ++#define MIPI_DSI_ANA_CTRL (0xff644000 + (0x00b << 2)) ++#define SEC_MIPI_DSI_ANA_CTRL (0xff644000 + (0x00b << 2)) ++#define P_MIPI_DSI_ANA_CTRL (volatile uint32_t *)(0xff644000 + (0x00b << 2)) ++#define MIPI_DSI_CLK_TIM1 (0xff644000 + (0x00c << 2)) ++#define SEC_MIPI_DSI_CLK_TIM1 (0xff644000 + (0x00c << 2)) ++#define P_MIPI_DSI_CLK_TIM1 (volatile uint32_t *)(0xff644000 + (0x00c << 2)) ++#define MIPI_DSI_TURN_WCHDOG (0xff644000 + (0x00d << 2)) ++#define SEC_MIPI_DSI_TURN_WCHDOG (0xff644000 + (0x00d << 2)) ++#define P_MIPI_DSI_TURN_WCHDOG (volatile uint32_t *)(0xff644000 + (0x00d << 2)) ++#define MIPI_DSI_ULPS_CHECK (0xff644000 + (0x00e << 2)) ++#define SEC_MIPI_DSI_ULPS_CHECK (0xff644000 + (0x00e << 2)) ++#define P_MIPI_DSI_ULPS_CHECK (volatile uint32_t *)(0xff644000 + (0x00e << 2)) ++#define MIPI_DSI_TEST_CTRL0 (0xff644000 + (0x00f << 2)) ++#define SEC_MIPI_DSI_TEST_CTRL0 (0xff644000 + (0x00f << 2)) ++#define P_MIPI_DSI_TEST_CTRL0 (volatile uint32_t *)(0xff644000 + (0x00f << 2)) ++#define MIPI_DSI_TEST_CTRL1 (0xff644000 + (0x010 << 2)) ++#define SEC_MIPI_DSI_TEST_CTRL1 (0xff644000 + (0x010 << 2)) ++#define P_MIPI_DSI_TEST_CTRL1 (volatile uint32_t *)(0xff644000 + (0x010 << 2)) ++//======================================================================== ++// Temp sensor PLL ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF634800 ++// APB4_DECODER_SECURE_BASE 32'hFF634800 ++#define TS_PLL_CFG_REG1 (0xff634800 + (0x001 << 2)) ++#define SEC_TS_PLL_CFG_REG1 (0xff634800 + (0x001 << 2)) ++#define P_TS_PLL_CFG_REG1 (volatile uint32_t *)(0xff634800 + (0x001 << 2)) ++#define TS_PLL_CFG_REG2 (0xff634800 + (0x002 << 2)) ++#define SEC_TS_PLL_CFG_REG2 (0xff634800 + (0x002 << 2)) ++#define P_TS_PLL_CFG_REG2 (volatile uint32_t *)(0xff634800 + (0x002 << 2)) ++#define TS_PLL_CFG_REG3 (0xff634800 + (0x003 << 2)) ++#define SEC_TS_PLL_CFG_REG3 (0xff634800 + (0x003 << 2)) ++#define P_TS_PLL_CFG_REG3 (volatile uint32_t *)(0xff634800 + (0x003 << 2)) ++#define TS_PLL_CFG_REG4 (0xff634800 + (0x004 << 2)) ++#define SEC_TS_PLL_CFG_REG4 (0xff634800 + (0x004 << 2)) ++#define P_TS_PLL_CFG_REG4 (volatile uint32_t *)(0xff634800 + (0x004 << 2)) ++#define TS_PLL_CFG_REG5 (0xff634800 + (0x005 << 2)) ++#define SEC_TS_PLL_CFG_REG5 (0xff634800 + (0x005 << 2)) ++#define P_TS_PLL_CFG_REG5 (volatile uint32_t *)(0xff634800 + (0x005 << 2)) ++#define TS_PLL_CFG_REG6 (0xff634800 + (0x006 << 2)) ++#define SEC_TS_PLL_CFG_REG6 (0xff634800 + (0x006 << 2)) ++#define P_TS_PLL_CFG_REG6 (volatile uint32_t *)(0xff634800 + (0x006 << 2)) ++#define TS_PLL_CFG_REG7 (0xff634800 + (0x007 << 2)) ++#define SEC_TS_PLL_CFG_REG7 (0xff634800 + (0x007 << 2)) ++#define P_TS_PLL_CFG_REG7 (volatile uint32_t *)(0xff634800 + (0x007 << 2)) ++#define TS_PLL_STAT0 (0xff634800 + (0x010 << 2)) ++#define SEC_TS_PLL_STAT0 (0xff634800 + (0x010 << 2)) ++#define P_TS_PLL_STAT0 (volatile uint32_t *)(0xff634800 + (0x010 << 2)) ++#define TS_PLL_STAT1 (0xff634800 + (0x011 << 2)) ++#define SEC_TS_PLL_STAT1 (0xff634800 + (0x011 << 2)) ++#define P_TS_PLL_STAT1 (volatile uint32_t *)(0xff634800 + (0x011 << 2)) ++#define TS_PLL_STAT2 (0xff634800 + (0x012 << 2)) ++#define SEC_TS_PLL_STAT2 (0xff634800 + (0x012 << 2)) ++#define P_TS_PLL_STAT2 (volatile uint32_t *)(0xff634800 + (0x012 << 2)) ++#define TS_PLL_STAT3 (0xff634800 + (0x013 << 2)) ++#define SEC_TS_PLL_STAT3 (0xff634800 + (0x013 << 2)) ++#define P_TS_PLL_STAT3 (volatile uint32_t *)(0xff634800 + (0x013 << 2)) ++#define TS_PLL_STAT4 (0xff634800 + (0x014 << 2)) ++#define SEC_TS_PLL_STAT4 (0xff634800 + (0x014 << 2)) ++#define P_TS_PLL_STAT4 (volatile uint32_t *)(0xff634800 + (0x014 << 2)) ++#define TS_PLL_STAT5 (0xff634800 + (0x015 << 2)) ++#define SEC_TS_PLL_STAT5 (0xff634800 + (0x015 << 2)) ++#define P_TS_PLL_STAT5 (volatile uint32_t *)(0xff634800 + (0x015 << 2)) ++#define TS_PLL_STAT6 (0xff634800 + (0x016 << 2)) ++#define SEC_TS_PLL_STAT6 (0xff634800 + (0x016 << 2)) ++#define P_TS_PLL_STAT6 (volatile uint32_t *)(0xff634800 + (0x016 << 2)) ++#define TS_PLL_STAT7 (0xff634800 + (0x017 << 2)) ++#define SEC_TS_PLL_STAT7 (0xff634800 + (0x017 << 2)) ++#define P_TS_PLL_STAT7 (volatile uint32_t *)(0xff634800 + (0x017 << 2)) ++#define TS_PLL_STAT8 (0xff634800 + (0x018 << 2)) ++#define SEC_TS_PLL_STAT8 (0xff634800 + (0x018 << 2)) ++#define P_TS_PLL_STAT8 (volatile uint32_t *)(0xff634800 + (0x018 << 2)) ++#define TS_PLL_STAT9 (0xff634800 + (0x019 << 2)) ++#define SEC_TS_PLL_STAT9 (0xff634800 + (0x019 << 2)) ++#define P_TS_PLL_STAT9 (volatile uint32_t *)(0xff634800 + (0x019 << 2)) ++//======================================================================== ++// Temp sensor DDR ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF634C00 ++// APB4_DECODER_SECURE_BASE 32'hFF634C00 ++#define TS_DDR_CFG_REG1 (0xff634c00 + (0x001 << 2)) ++#define SEC_TS_DDR_CFG_REG1 (0xff634c00 + (0x001 << 2)) ++#define P_TS_DDR_CFG_REG1 (volatile uint32_t *)(0xff634c00 + (0x001 << 2)) ++#define TS_DDR_CFG_REG2 (0xff634c00 + (0x002 << 2)) ++#define SEC_TS_DDR_CFG_REG2 (0xff634c00 + (0x002 << 2)) ++#define P_TS_DDR_CFG_REG2 (volatile uint32_t *)(0xff634c00 + (0x002 << 2)) ++#define TS_DDR_CFG_REG3 (0xff634c00 + (0x003 << 2)) ++#define SEC_TS_DDR_CFG_REG3 (0xff634c00 + (0x003 << 2)) ++#define P_TS_DDR_CFG_REG3 (volatile uint32_t *)(0xff634c00 + (0x003 << 2)) ++#define TS_DDR_CFG_REG4 (0xff634c00 + (0x004 << 2)) ++#define SEC_TS_DDR_CFG_REG4 (0xff634c00 + (0x004 << 2)) ++#define P_TS_DDR_CFG_REG4 (volatile uint32_t *)(0xff634c00 + (0x004 << 2)) ++#define TS_DDR_CFG_REG5 (0xff634c00 + (0x005 << 2)) ++#define SEC_TS_DDR_CFG_REG5 (0xff634c00 + (0x005 << 2)) ++#define P_TS_DDR_CFG_REG5 (volatile uint32_t *)(0xff634c00 + (0x005 << 2)) ++#define TS_DDR_CFG_REG6 (0xff634c00 + (0x006 << 2)) ++#define SEC_TS_DDR_CFG_REG6 (0xff634c00 + (0x006 << 2)) ++#define P_TS_DDR_CFG_REG6 (volatile uint32_t *)(0xff634c00 + (0x006 << 2)) ++#define TS_DDR_CFG_REG7 (0xff634c00 + (0x007 << 2)) ++#define SEC_TS_DDR_CFG_REG7 (0xff634c00 + (0x007 << 2)) ++#define P_TS_DDR_CFG_REG7 (volatile uint32_t *)(0xff634c00 + (0x007 << 2)) ++#define TS_DDR_STAT0 (0xff634c00 + (0x010 << 2)) ++#define SEC_TS_DDR_STAT0 (0xff634c00 + (0x010 << 2)) ++#define P_TS_DDR_STAT0 (volatile uint32_t *)(0xff634c00 + (0x010 << 2)) ++#define TS_DDR_STAT1 (0xff634c00 + (0x011 << 2)) ++#define SEC_TS_DDR_STAT1 (0xff634c00 + (0x011 << 2)) ++#define P_TS_DDR_STAT1 (volatile uint32_t *)(0xff634c00 + (0x011 << 2)) ++#define TS_DDR_STAT2 (0xff634c00 + (0x012 << 2)) ++#define SEC_TS_DDR_STAT2 (0xff634c00 + (0x012 << 2)) ++#define P_TS_DDR_STAT2 (volatile uint32_t *)(0xff634c00 + (0x012 << 2)) ++#define TS_DDR_STAT3 (0xff634c00 + (0x013 << 2)) ++#define SEC_TS_DDR_STAT3 (0xff634c00 + (0x013 << 2)) ++#define P_TS_DDR_STAT3 (volatile uint32_t *)(0xff634c00 + (0x013 << 2)) ++#define TS_DDR_STAT4 (0xff634c00 + (0x014 << 2)) ++#define SEC_TS_DDR_STAT4 (0xff634c00 + (0x014 << 2)) ++#define P_TS_DDR_STAT4 (volatile uint32_t *)(0xff634c00 + (0x014 << 2)) ++#define TS_DDR_STAT5 (0xff634c00 + (0x015 << 2)) ++#define SEC_TS_DDR_STAT5 (0xff634c00 + (0x015 << 2)) ++#define P_TS_DDR_STAT5 (volatile uint32_t *)(0xff634c00 + (0x015 << 2)) ++#define TS_DDR_STAT6 (0xff634c00 + (0x016 << 2)) ++#define SEC_TS_DDR_STAT6 (0xff634c00 + (0x016 << 2)) ++#define P_TS_DDR_STAT6 (volatile uint32_t *)(0xff634c00 + (0x016 << 2)) ++#define TS_DDR_STAT7 (0xff634c00 + (0x017 << 2)) ++#define SEC_TS_DDR_STAT7 (0xff634c00 + (0x017 << 2)) ++#define P_TS_DDR_STAT7 (volatile uint32_t *)(0xff634c00 + (0x017 << 2)) ++#define TS_DDR_STAT8 (0xff634c00 + (0x018 << 2)) ++#define SEC_TS_DDR_STAT8 (0xff634c00 + (0x018 << 2)) ++#define P_TS_DDR_STAT8 (volatile uint32_t *)(0xff634c00 + (0x018 << 2)) ++#define TS_DDR_STAT9 (0xff634c00 + (0x019 << 2)) ++#define SEC_TS_DDR_STAT9 (0xff634c00 + (0x019 << 2)) ++#define P_TS_DDR_STAT9 (volatile uint32_t *)(0xff634c00 + (0x019 << 2)) ++//======================================================================== ++// Temp sensor GPU ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF635000 ++// APB4_DECODER_SECURE_BASE 32'hFF635000 ++//`define TS_GPU_CFG_REG1 8'h01 ++//`define TS_GPU_CFG_REG2 8'h02 ++//`define TS_GPU_CFG_REG3 8'h03 ++//`define TS_GPU_CFG_REG4 8'h04 ++//`define TS_GPU_CFG_REG5 8'h05 ++//`define TS_GPU_CFG_REG6 8'h06 ++//`define TS_GPU_CFG_REG7 8'h07 ++//`define TS_GPU_STAT0 8'h10 ++//`define TS_GPU_STAT1 8'h11 ++//`define TS_GPU_STAT2 8'h12 ++//`define TS_GPU_STAT3 8'h13 ++//`define TS_GPU_STAT4 8'h14 ++//`define TS_GPU_STAT5 8'h15 ++//`define TS_GPU_STAT6 8'h16 ++//`define TS_GPU_STAT7 8'h17 ++//`define TS_GPU_STAT8 8'h18 ++//`define TS_GPU_STAT9 8'h19 ++//======================================================================== ++// RNG ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF634000 ++// APB4_DECODER_SECURE_BASE 32'hFF634000 ++//======================================================================== ++// ACODEC ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF632000 ++// APB4_DECODER_SECURE_BASE 32'hFF632000 ++#define ACODEC_0 (0xff632000 + (0x000 << 2)) ++#define SEC_ACODEC_0 (0xff632000 + (0x000 << 2)) ++#define P_ACODEC_0 (volatile uint32_t *)(0xff632000 + (0x000 << 2)) ++#define ACODEC_1 (0xff632000 + (0x001 << 2)) ++#define SEC_ACODEC_1 (0xff632000 + (0x001 << 2)) ++#define P_ACODEC_1 (volatile uint32_t *)(0xff632000 + (0x001 << 2)) ++#define ACODEC_2 (0xff632000 + (0x002 << 2)) ++#define SEC_ACODEC_2 (0xff632000 + (0x002 << 2)) ++#define P_ACODEC_2 (volatile uint32_t *)(0xff632000 + (0x002 << 2)) ++#define ACODEC_3 (0xff632000 + (0x003 << 2)) ++#define SEC_ACODEC_3 (0xff632000 + (0x003 << 2)) ++#define P_ACODEC_3 (volatile uint32_t *)(0xff632000 + (0x003 << 2)) ++#define ACODEC_4 (0xff632000 + (0x004 << 2)) ++#define SEC_ACODEC_4 (0xff632000 + (0x004 << 2)) ++#define P_ACODEC_4 (volatile uint32_t *)(0xff632000 + (0x004 << 2)) ++#define ACODEC_5 (0xff632000 + (0x005 << 2)) ++#define SEC_ACODEC_5 (0xff632000 + (0x005 << 2)) ++#define P_ACODEC_5 (volatile uint32_t *)(0xff632000 + (0x005 << 2)) ++#define ACODEC_6 (0xff632000 + (0x006 << 2)) ++#define SEC_ACODEC_6 (0xff632000 + (0x006 << 2)) ++#define P_ACODEC_6 (volatile uint32_t *)(0xff632000 + (0x006 << 2)) ++#define ACODEC_7 (0xff632000 + (0x007 << 2)) ++#define SEC_ACODEC_7 (0xff632000 + (0x007 << 2)) ++#define P_ACODEC_7 (volatile uint32_t *)(0xff632000 + (0x007 << 2)) ++//======================================================================== ++// AML USB PHY A ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF636000 ++// APB4_DECODER_SECURE_BASE 32'hFF636000 ++#define AMLUSB_A0 (0xff636000 + (0x000 << 2)) ++#define SEC_AMLUSB_A0 (0xff636000 + (0x000 << 2)) ++#define P_AMLUSB_A0 (volatile uint32_t *)(0xff636000 + (0x000 << 2)) ++#define AMLUSB_A1 (0xff636000 + (0x001 << 2)) ++#define SEC_AMLUSB_A1 (0xff636000 + (0x001 << 2)) ++#define P_AMLUSB_A1 (volatile uint32_t *)(0xff636000 + (0x001 << 2)) ++#define AMLUSB_A2 (0xff636000 + (0x002 << 2)) ++#define SEC_AMLUSB_A2 (0xff636000 + (0x002 << 2)) ++#define P_AMLUSB_A2 (volatile uint32_t *)(0xff636000 + (0x002 << 2)) ++#define AMLUSB_A3 (0xff636000 + (0x003 << 2)) ++#define SEC_AMLUSB_A3 (0xff636000 + (0x003 << 2)) ++#define P_AMLUSB_A3 (volatile uint32_t *)(0xff636000 + (0x003 << 2)) ++#define AMLUSB_A4 (0xff636000 + (0x004 << 2)) ++#define SEC_AMLUSB_A4 (0xff636000 + (0x004 << 2)) ++#define P_AMLUSB_A4 (volatile uint32_t *)(0xff636000 + (0x004 << 2)) ++#define AMLUSB_A5 (0xff636000 + (0x005 << 2)) ++#define SEC_AMLUSB_A5 (0xff636000 + (0x005 << 2)) ++#define P_AMLUSB_A5 (volatile uint32_t *)(0xff636000 + (0x005 << 2)) ++#define AMLUSB_A6 (0xff636000 + (0x006 << 2)) ++#define SEC_AMLUSB_A6 (0xff636000 + (0x006 << 2)) ++#define P_AMLUSB_A6 (volatile uint32_t *)(0xff636000 + (0x006 << 2)) ++#define AMLUSB_A7 (0xff636000 + (0x007 << 2)) ++#define SEC_AMLUSB_A7 (0xff636000 + (0x007 << 2)) ++#define P_AMLUSB_A7 (volatile uint32_t *)(0xff636000 + (0x007 << 2)) ++#define AMLUSB_A8 (0xff636000 + (0x008 << 2)) ++#define SEC_AMLUSB_A8 (0xff636000 + (0x008 << 2)) ++#define P_AMLUSB_A8 (volatile uint32_t *)(0xff636000 + (0x008 << 2)) ++#define AMLUSB_A9 (0xff636000 + (0x009 << 2)) ++#define SEC_AMLUSB_A9 (0xff636000 + (0x009 << 2)) ++#define P_AMLUSB_A9 (volatile uint32_t *)(0xff636000 + (0x009 << 2)) ++#define AMLUSB_A10 (0xff636000 + (0x00a << 2)) ++#define SEC_AMLUSB_A10 (0xff636000 + (0x00a << 2)) ++#define P_AMLUSB_A10 (volatile uint32_t *)(0xff636000 + (0x00a << 2)) ++#define AMLUSB_A11 (0xff636000 + (0x00b << 2)) ++#define SEC_AMLUSB_A11 (0xff636000 + (0x00b << 2)) ++#define P_AMLUSB_A11 (volatile uint32_t *)(0xff636000 + (0x00b << 2)) ++#define AMLUSB_A12 (0xff636000 + (0x00c << 2)) ++#define SEC_AMLUSB_A12 (0xff636000 + (0x00c << 2)) ++#define P_AMLUSB_A12 (volatile uint32_t *)(0xff636000 + (0x00c << 2)) ++#define AMLUSB_A13 (0xff636000 + (0x00d << 2)) ++#define SEC_AMLUSB_A13 (0xff636000 + (0x00d << 2)) ++#define P_AMLUSB_A13 (volatile uint32_t *)(0xff636000 + (0x00d << 2)) ++#define AMLUSB_A14 (0xff636000 + (0x00e << 2)) ++#define SEC_AMLUSB_A14 (0xff636000 + (0x00e << 2)) ++#define P_AMLUSB_A14 (volatile uint32_t *)(0xff636000 + (0x00e << 2)) ++#define AMLUSB_A15 (0xff636000 + (0x00f << 2)) ++#define SEC_AMLUSB_A15 (0xff636000 + (0x00f << 2)) ++#define P_AMLUSB_A15 (volatile uint32_t *)(0xff636000 + (0x00f << 2)) ++#define AMLUSB_A16 (0xff636000 + (0x010 << 2)) ++#define SEC_AMLUSB_A16 (0xff636000 + (0x010 << 2)) ++#define P_AMLUSB_A16 (volatile uint32_t *)(0xff636000 + (0x010 << 2)) ++#define AMLUSB_A17 (0xff636000 + (0x011 << 2)) ++#define SEC_AMLUSB_A17 (0xff636000 + (0x011 << 2)) ++#define P_AMLUSB_A17 (volatile uint32_t *)(0xff636000 + (0x011 << 2)) ++#define AMLUSB_A18 (0xff636000 + (0x012 << 2)) ++#define SEC_AMLUSB_A18 (0xff636000 + (0x012 << 2)) ++#define P_AMLUSB_A18 (volatile uint32_t *)(0xff636000 + (0x012 << 2)) ++#define AMLUSB_A19 (0xff636000 + (0x013 << 2)) ++#define SEC_AMLUSB_A19 (0xff636000 + (0x013 << 2)) ++#define P_AMLUSB_A19 (volatile uint32_t *)(0xff636000 + (0x013 << 2)) ++#define AMLUSB_A20 (0xff636000 + (0x014 << 2)) ++#define SEC_AMLUSB_A20 (0xff636000 + (0x014 << 2)) ++#define P_AMLUSB_A20 (volatile uint32_t *)(0xff636000 + (0x014 << 2)) ++#define AMLUSB_A21 (0xff636000 + (0x015 << 2)) ++#define SEC_AMLUSB_A21 (0xff636000 + (0x015 << 2)) ++#define P_AMLUSB_A21 (volatile uint32_t *)(0xff636000 + (0x015 << 2)) ++#define AMLUSB_A22 (0xff636000 + (0x016 << 2)) ++#define SEC_AMLUSB_A22 (0xff636000 + (0x016 << 2)) ++#define P_AMLUSB_A22 (volatile uint32_t *)(0xff636000 + (0x016 << 2)) ++#define AMLUSB_A23 (0xff636000 + (0x017 << 2)) ++#define SEC_AMLUSB_A23 (0xff636000 + (0x017 << 2)) ++#define P_AMLUSB_A23 (volatile uint32_t *)(0xff636000 + (0x017 << 2)) ++#define AMLUSB_A24 (0xff636000 + (0x018 << 2)) ++#define SEC_AMLUSB_A24 (0xff636000 + (0x018 << 2)) ++#define P_AMLUSB_A24 (volatile uint32_t *)(0xff636000 + (0x018 << 2)) ++#define AMLUSB_A25 (0xff636000 + (0x019 << 2)) ++#define SEC_AMLUSB_A25 (0xff636000 + (0x019 << 2)) ++#define P_AMLUSB_A25 (volatile uint32_t *)(0xff636000 + (0x019 << 2)) ++#define AMLUSB_A26 (0xff636000 + (0x01a << 2)) ++#define SEC_AMLUSB_A26 (0xff636000 + (0x01a << 2)) ++#define P_AMLUSB_A26 (volatile uint32_t *)(0xff636000 + (0x01a << 2)) ++#define AMLUSB_A27 (0xff636000 + (0x01b << 2)) ++#define SEC_AMLUSB_A27 (0xff636000 + (0x01b << 2)) ++#define P_AMLUSB_A27 (volatile uint32_t *)(0xff636000 + (0x01b << 2)) ++#define AMLUSB_A28 (0xff636000 + (0x01c << 2)) ++#define SEC_AMLUSB_A28 (0xff636000 + (0x01c << 2)) ++#define P_AMLUSB_A28 (volatile uint32_t *)(0xff636000 + (0x01c << 2)) ++#define AMLUSB_A29 (0xff636000 + (0x01d << 2)) ++#define SEC_AMLUSB_A29 (0xff636000 + (0x01d << 2)) ++#define P_AMLUSB_A29 (volatile uint32_t *)(0xff636000 + (0x01d << 2)) ++#define AMLUSB_A30 (0xff636000 + (0x01e << 2)) ++#define SEC_AMLUSB_A30 (0xff636000 + (0x01e << 2)) ++#define P_AMLUSB_A30 (volatile uint32_t *)(0xff636000 + (0x01e << 2)) ++#define AMLUSB_A31 (0xff636000 + (0x01f << 2)) ++#define SEC_AMLUSB_A31 (0xff636000 + (0x01f << 2)) ++#define P_AMLUSB_A31 (volatile uint32_t *)(0xff636000 + (0x01f << 2)) ++//======================================================================== ++// AML USB PHY B ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF63A000 ++// APB4_DECODER_SECURE_BASE 32'hFF63A000 ++#define AMLUSB_B0 (0xff63a000 + (0x000 << 2)) ++#define SEC_AMLUSB_B0 (0xff63a000 + (0x000 << 2)) ++#define P_AMLUSB_B0 (volatile uint32_t *)(0xff63a000 + (0x000 << 2)) ++#define AMLUSB_B1 (0xff63a000 + (0x001 << 2)) ++#define SEC_AMLUSB_B1 (0xff63a000 + (0x001 << 2)) ++#define P_AMLUSB_B1 (volatile uint32_t *)(0xff63a000 + (0x001 << 2)) ++#define AMLUSB_B2 (0xff63a000 + (0x002 << 2)) ++#define SEC_AMLUSB_B2 (0xff63a000 + (0x002 << 2)) ++#define P_AMLUSB_B2 (volatile uint32_t *)(0xff63a000 + (0x002 << 2)) ++#define AMLUSB_B3 (0xff63a000 + (0x003 << 2)) ++#define SEC_AMLUSB_B3 (0xff63a000 + (0x003 << 2)) ++#define P_AMLUSB_B3 (volatile uint32_t *)(0xff63a000 + (0x003 << 2)) ++#define AMLUSB_B4 (0xff63a000 + (0x004 << 2)) ++#define SEC_AMLUSB_B4 (0xff63a000 + (0x004 << 2)) ++#define P_AMLUSB_B4 (volatile uint32_t *)(0xff63a000 + (0x004 << 2)) ++#define AMLUSB_B5 (0xff63a000 + (0x005 << 2)) ++#define SEC_AMLUSB_B5 (0xff63a000 + (0x005 << 2)) ++#define P_AMLUSB_B5 (volatile uint32_t *)(0xff63a000 + (0x005 << 2)) ++#define AMLUSB_B6 (0xff63a000 + (0x006 << 2)) ++#define SEC_AMLUSB_B6 (0xff63a000 + (0x006 << 2)) ++#define P_AMLUSB_B6 (volatile uint32_t *)(0xff63a000 + (0x006 << 2)) ++#define AMLUSB_B7 (0xff63a000 + (0x007 << 2)) ++#define SEC_AMLUSB_B7 (0xff63a000 + (0x007 << 2)) ++#define P_AMLUSB_B7 (volatile uint32_t *)(0xff63a000 + (0x007 << 2)) ++#define AMLUSB_B8 (0xff63a000 + (0x008 << 2)) ++#define SEC_AMLUSB_B8 (0xff63a000 + (0x008 << 2)) ++#define P_AMLUSB_B8 (volatile uint32_t *)(0xff63a000 + (0x008 << 2)) ++#define AMLUSB_B9 (0xff63a000 + (0x009 << 2)) ++#define SEC_AMLUSB_B9 (0xff63a000 + (0x009 << 2)) ++#define P_AMLUSB_B9 (volatile uint32_t *)(0xff63a000 + (0x009 << 2)) ++#define AMLUSB_B10 (0xff63a000 + (0x00a << 2)) ++#define SEC_AMLUSB_B10 (0xff63a000 + (0x00a << 2)) ++#define P_AMLUSB_B10 (volatile uint32_t *)(0xff63a000 + (0x00a << 2)) ++#define AMLUSB_B11 (0xff63a000 + (0x00b << 2)) ++#define SEC_AMLUSB_B11 (0xff63a000 + (0x00b << 2)) ++#define P_AMLUSB_B11 (volatile uint32_t *)(0xff63a000 + (0x00b << 2)) ++#define AMLUSB_B12 (0xff63a000 + (0x00c << 2)) ++#define SEC_AMLUSB_B12 (0xff63a000 + (0x00c << 2)) ++#define P_AMLUSB_B12 (volatile uint32_t *)(0xff63a000 + (0x00c << 2)) ++#define AMLUSB_B13 (0xff63a000 + (0x00d << 2)) ++#define SEC_AMLUSB_B13 (0xff63a000 + (0x00d << 2)) ++#define P_AMLUSB_B13 (volatile uint32_t *)(0xff63a000 + (0x00d << 2)) ++#define AMLUSB_B14 (0xff63a000 + (0x00e << 2)) ++#define SEC_AMLUSB_B14 (0xff63a000 + (0x00e << 2)) ++#define P_AMLUSB_B14 (volatile uint32_t *)(0xff63a000 + (0x00e << 2)) ++#define AMLUSB_B15 (0xff63a000 + (0x00f << 2)) ++#define SEC_AMLUSB_B15 (0xff63a000 + (0x00f << 2)) ++#define P_AMLUSB_B15 (volatile uint32_t *)(0xff63a000 + (0x00f << 2)) ++#define AMLUSB_B16 (0xff63a000 + (0x010 << 2)) ++#define SEC_AMLUSB_B16 (0xff63a000 + (0x010 << 2)) ++#define P_AMLUSB_B16 (volatile uint32_t *)(0xff63a000 + (0x010 << 2)) ++#define AMLUSB_B17 (0xff63a000 + (0x011 << 2)) ++#define SEC_AMLUSB_B17 (0xff63a000 + (0x011 << 2)) ++#define P_AMLUSB_B17 (volatile uint32_t *)(0xff63a000 + (0x011 << 2)) ++#define AMLUSB_B18 (0xff63a000 + (0x012 << 2)) ++#define SEC_AMLUSB_B18 (0xff63a000 + (0x012 << 2)) ++#define P_AMLUSB_B18 (volatile uint32_t *)(0xff63a000 + (0x012 << 2)) ++#define AMLUSB_B19 (0xff63a000 + (0x013 << 2)) ++#define SEC_AMLUSB_B19 (0xff63a000 + (0x013 << 2)) ++#define P_AMLUSB_B19 (volatile uint32_t *)(0xff63a000 + (0x013 << 2)) ++#define AMLUSB_B20 (0xff63a000 + (0x014 << 2)) ++#define SEC_AMLUSB_B20 (0xff63a000 + (0x014 << 2)) ++#define P_AMLUSB_B20 (volatile uint32_t *)(0xff63a000 + (0x014 << 2)) ++#define AMLUSB_B21 (0xff63a000 + (0x015 << 2)) ++#define SEC_AMLUSB_B21 (0xff63a000 + (0x015 << 2)) ++#define P_AMLUSB_B21 (volatile uint32_t *)(0xff63a000 + (0x015 << 2)) ++#define AMLUSB_B22 (0xff63a000 + (0x016 << 2)) ++#define SEC_AMLUSB_B22 (0xff63a000 + (0x016 << 2)) ++#define P_AMLUSB_B22 (volatile uint32_t *)(0xff63a000 + (0x016 << 2)) ++#define AMLUSB_B23 (0xff63a000 + (0x017 << 2)) ++#define SEC_AMLUSB_B23 (0xff63a000 + (0x017 << 2)) ++#define P_AMLUSB_B23 (volatile uint32_t *)(0xff63a000 + (0x017 << 2)) ++#define AMLUSB_B24 (0xff63a000 + (0x018 << 2)) ++#define SEC_AMLUSB_B24 (0xff63a000 + (0x018 << 2)) ++#define P_AMLUSB_B24 (volatile uint32_t *)(0xff63a000 + (0x018 << 2)) ++#define AMLUSB_B25 (0xff63a000 + (0x019 << 2)) ++#define SEC_AMLUSB_B25 (0xff63a000 + (0x019 << 2)) ++#define P_AMLUSB_B25 (volatile uint32_t *)(0xff63a000 + (0x019 << 2)) ++#define AMLUSB_B26 (0xff63a000 + (0x01a << 2)) ++#define SEC_AMLUSB_B26 (0xff63a000 + (0x01a << 2)) ++#define P_AMLUSB_B26 (volatile uint32_t *)(0xff63a000 + (0x01a << 2)) ++#define AMLUSB_B27 (0xff63a000 + (0x01b << 2)) ++#define SEC_AMLUSB_B27 (0xff63a000 + (0x01b << 2)) ++#define P_AMLUSB_B27 (volatile uint32_t *)(0xff63a000 + (0x01b << 2)) ++#define AMLUSB_B28 (0xff63a000 + (0x01c << 2)) ++#define SEC_AMLUSB_B28 (0xff63a000 + (0x01c << 2)) ++#define P_AMLUSB_B28 (volatile uint32_t *)(0xff63a000 + (0x01c << 2)) ++#define AMLUSB_B29 (0xff63a000 + (0x01d << 2)) ++#define SEC_AMLUSB_B29 (0xff63a000 + (0x01d << 2)) ++#define P_AMLUSB_B29 (volatile uint32_t *)(0xff63a000 + (0x01d << 2)) ++#define AMLUSB_B30 (0xff63a000 + (0x01e << 2)) ++#define SEC_AMLUSB_B30 (0xff63a000 + (0x01e << 2)) ++#define P_AMLUSB_B30 (volatile uint32_t *)(0xff63a000 + (0x01e << 2)) ++#define AMLUSB_B31 (0xff63a000 + (0x01f << 2)) ++#define SEC_AMLUSB_B31 (0xff63a000 + (0x01f << 2)) ++#define P_AMLUSB_B31 (volatile uint32_t *)(0xff63a000 + (0x01f << 2)) ++//======================================================================== ++// PERIPHS ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF634400 ++// APB4_DECODER_SECURE_BASE 32'hFF634400 ++// The following are handled by $periphs/rtl/periphs_reg.v ++//`define PREG_CTLREG0_ADDR 8'h00 ++// ---------------------------- ++// ---------------------------- ++//`define PREG_JTAG_GPIO_ADDR 8'h0b // DWORD base address (0xc120002c >> 2) ++// ---------------------------- ++// Pre-defined GPIO addresses ++// ---------------------------- ++#define PREG_PAD_GPIO0_EN_N (0xff634400 + (0x010 << 2)) ++#define SEC_PREG_PAD_GPIO0_EN_N (0xff634400 + (0x010 << 2)) ++#define P_PREG_PAD_GPIO0_EN_N (volatile uint32_t *)(0xff634400 + (0x010 << 2)) ++#define PREG_PAD_GPIO0_O (0xff634400 + (0x011 << 2)) ++#define SEC_PREG_PAD_GPIO0_O (0xff634400 + (0x011 << 2)) ++#define P_PREG_PAD_GPIO0_O (volatile uint32_t *)(0xff634400 + (0x011 << 2)) ++#define PREG_PAD_GPIO0_I (0xff634400 + (0x012 << 2)) ++#define SEC_PREG_PAD_GPIO0_I (0xff634400 + (0x012 << 2)) ++#define P_PREG_PAD_GPIO0_I (volatile uint32_t *)(0xff634400 + (0x012 << 2)) ++// ---------------------------- ++#define PREG_PAD_GPIO1_EN_N (0xff634400 + (0x013 << 2)) ++#define SEC_PREG_PAD_GPIO1_EN_N (0xff634400 + (0x013 << 2)) ++#define P_PREG_PAD_GPIO1_EN_N (volatile uint32_t *)(0xff634400 + (0x013 << 2)) ++#define PREG_PAD_GPIO1_O (0xff634400 + (0x014 << 2)) ++#define SEC_PREG_PAD_GPIO1_O (0xff634400 + (0x014 << 2)) ++#define P_PREG_PAD_GPIO1_O (volatile uint32_t *)(0xff634400 + (0x014 << 2)) ++#define PREG_PAD_GPIO1_I (0xff634400 + (0x015 << 2)) ++#define SEC_PREG_PAD_GPIO1_I (0xff634400 + (0x015 << 2)) ++#define P_PREG_PAD_GPIO1_I (volatile uint32_t *)(0xff634400 + (0x015 << 2)) ++// ---------------------------- ++#define PREG_PAD_GPIO2_EN_N (0xff634400 + (0x016 << 2)) ++#define SEC_PREG_PAD_GPIO2_EN_N (0xff634400 + (0x016 << 2)) ++#define P_PREG_PAD_GPIO2_EN_N (volatile uint32_t *)(0xff634400 + (0x016 << 2)) ++#define PREG_PAD_GPIO2_O (0xff634400 + (0x017 << 2)) ++#define SEC_PREG_PAD_GPIO2_O (0xff634400 + (0x017 << 2)) ++#define P_PREG_PAD_GPIO2_O (volatile uint32_t *)(0xff634400 + (0x017 << 2)) ++#define PREG_PAD_GPIO2_I (0xff634400 + (0x018 << 2)) ++#define SEC_PREG_PAD_GPIO2_I (0xff634400 + (0x018 << 2)) ++#define P_PREG_PAD_GPIO2_I (volatile uint32_t *)(0xff634400 + (0x018 << 2)) ++// ---------------------------- ++#define PREG_PAD_GPIO3_EN_N (0xff634400 + (0x019 << 2)) ++#define SEC_PREG_PAD_GPIO3_EN_N (0xff634400 + (0x019 << 2)) ++#define P_PREG_PAD_GPIO3_EN_N (volatile uint32_t *)(0xff634400 + (0x019 << 2)) ++#define PREG_PAD_GPIO3_O (0xff634400 + (0x01a << 2)) ++#define SEC_PREG_PAD_GPIO3_O (0xff634400 + (0x01a << 2)) ++#define P_PREG_PAD_GPIO3_O (volatile uint32_t *)(0xff634400 + (0x01a << 2)) ++#define PREG_PAD_GPIO3_I (0xff634400 + (0x01b << 2)) ++#define SEC_PREG_PAD_GPIO3_I (0xff634400 + (0x01b << 2)) ++#define P_PREG_PAD_GPIO3_I (volatile uint32_t *)(0xff634400 + (0x01b << 2)) ++// ---------------------------- ++#define PREG_PAD_GPIO4_EN_N (0xff634400 + (0x01c << 2)) ++#define SEC_PREG_PAD_GPIO4_EN_N (0xff634400 + (0x01c << 2)) ++#define P_PREG_PAD_GPIO4_EN_N (volatile uint32_t *)(0xff634400 + (0x01c << 2)) ++#define PREG_PAD_GPIO4_O (0xff634400 + (0x01d << 2)) ++#define SEC_PREG_PAD_GPIO4_O (0xff634400 + (0x01d << 2)) ++#define P_PREG_PAD_GPIO4_O (volatile uint32_t *)(0xff634400 + (0x01d << 2)) ++#define PREG_PAD_GPIO4_I (0xff634400 + (0x01e << 2)) ++#define SEC_PREG_PAD_GPIO4_I (0xff634400 + (0x01e << 2)) ++#define P_PREG_PAD_GPIO4_I (volatile uint32_t *)(0xff634400 + (0x01e << 2)) ++// ---------------------------- ++#define PREG_PAD_GPIO5_EN_N (0xff634400 + (0x020 << 2)) ++#define SEC_PREG_PAD_GPIO5_EN_N (0xff634400 + (0x020 << 2)) ++#define P_PREG_PAD_GPIO5_EN_N (volatile uint32_t *)(0xff634400 + (0x020 << 2)) ++#define PREG_PAD_GPIO5_O (0xff634400 + (0x021 << 2)) ++#define SEC_PREG_PAD_GPIO5_O (0xff634400 + (0x021 << 2)) ++#define P_PREG_PAD_GPIO5_O (volatile uint32_t *)(0xff634400 + (0x021 << 2)) ++#define PREG_PAD_GPIO5_I (0xff634400 + (0x022 << 2)) ++#define SEC_PREG_PAD_GPIO5_I (0xff634400 + (0x022 << 2)) ++#define P_PREG_PAD_GPIO5_I (volatile uint32_t *)(0xff634400 + (0x022 << 2)) ++// ---------------------------- ++// ---------------------------- ++// Pad conntrols ++// ---------------------------- ++//`define PAD_PULL_UP_REG6 8'h39 ++#define PAD_PULL_UP_REG0 (0xff634400 + (0x03a << 2)) ++#define SEC_PAD_PULL_UP_REG0 (0xff634400 + (0x03a << 2)) ++#define P_PAD_PULL_UP_REG0 (volatile uint32_t *)(0xff634400 + (0x03a << 2)) ++#define PAD_PULL_UP_REG1 (0xff634400 + (0x03b << 2)) ++#define SEC_PAD_PULL_UP_REG1 (0xff634400 + (0x03b << 2)) ++#define P_PAD_PULL_UP_REG1 (volatile uint32_t *)(0xff634400 + (0x03b << 2)) ++#define PAD_PULL_UP_REG2 (0xff634400 + (0x03c << 2)) ++#define SEC_PAD_PULL_UP_REG2 (0xff634400 + (0x03c << 2)) ++#define P_PAD_PULL_UP_REG2 (volatile uint32_t *)(0xff634400 + (0x03c << 2)) ++#define PAD_PULL_UP_REG3 (0xff634400 + (0x03d << 2)) ++#define SEC_PAD_PULL_UP_REG3 (0xff634400 + (0x03d << 2)) ++#define P_PAD_PULL_UP_REG3 (volatile uint32_t *)(0xff634400 + (0x03d << 2)) ++#define PAD_PULL_UP_REG4 (0xff634400 + (0x03e << 2)) ++#define SEC_PAD_PULL_UP_REG4 (0xff634400 + (0x03e << 2)) ++#define P_PAD_PULL_UP_REG4 (volatile uint32_t *)(0xff634400 + (0x03e << 2)) ++#define PAD_PULL_UP_REG5 (0xff634400 + (0x03f << 2)) ++#define SEC_PAD_PULL_UP_REG5 (0xff634400 + (0x03f << 2)) ++#define P_PAD_PULL_UP_REG5 (volatile uint32_t *)(0xff634400 + (0x03f << 2)) ++// ---------------------------- ++// Random (2) ++// ---------------------------- ++//`define RAND64_ADDR0 8'h40 // DWORD base address (0xc1200138 >> 2) ++//`define RAND64_ADDR1 8'h41 // DWORD base address (0xc120013c >> 2) ++// --------------------------- ++// Ethernet (1) ++// ---------------------------- ++//`define PREG_ETHERNET_ADDR0 8'h42 // DWORD base address (0xc1200290 >> 2) ++// --------------------------- ++// AM_ANALOG_TOP ++// ---------------------------- ++//`define PREG_AM_ANALOG_ADDR 8'h43 // DWORD base address (0xc1200298 >> 2) ++// --------------------------- ++// Mali55 (1) ++// ---------------------------- ++//`define PREG_MALI_BYTE_CNTL 8'h44 ++// --------------------------- ++// WIFI (1) ++// ---------------------------- ++//`define PREG_WIFI_CNTL 8'h45 ++#define PAD_PULL_UP_EN_REG0 (0xff634400 + (0x048 << 2)) ++#define SEC_PAD_PULL_UP_EN_REG0 (0xff634400 + (0x048 << 2)) ++#define P_PAD_PULL_UP_EN_REG0 (volatile uint32_t *)(0xff634400 + (0x048 << 2)) ++#define PAD_PULL_UP_EN_REG1 (0xff634400 + (0x049 << 2)) ++#define SEC_PAD_PULL_UP_EN_REG1 (0xff634400 + (0x049 << 2)) ++#define P_PAD_PULL_UP_EN_REG1 (volatile uint32_t *)(0xff634400 + (0x049 << 2)) ++#define PAD_PULL_UP_EN_REG2 (0xff634400 + (0x04a << 2)) ++#define SEC_PAD_PULL_UP_EN_REG2 (0xff634400 + (0x04a << 2)) ++#define P_PAD_PULL_UP_EN_REG2 (volatile uint32_t *)(0xff634400 + (0x04a << 2)) ++#define PAD_PULL_UP_EN_REG3 (0xff634400 + (0x04b << 2)) ++#define SEC_PAD_PULL_UP_EN_REG3 (0xff634400 + (0x04b << 2)) ++#define P_PAD_PULL_UP_EN_REG3 (volatile uint32_t *)(0xff634400 + (0x04b << 2)) ++#define PAD_PULL_UP_EN_REG4 (0xff634400 + (0x04c << 2)) ++#define SEC_PAD_PULL_UP_EN_REG4 (0xff634400 + (0x04c << 2)) ++#define P_PAD_PULL_UP_EN_REG4 (volatile uint32_t *)(0xff634400 + (0x04c << 2)) ++#define PAD_PULL_UP_EN_REG5 (0xff634400 + (0x04d << 2)) ++#define SEC_PAD_PULL_UP_EN_REG5 (0xff634400 + (0x04d << 2)) ++#define P_PAD_PULL_UP_EN_REG5 (volatile uint32_t *)(0xff634400 + (0x04d << 2)) ++//`define PAD_PULL_UP_EN_REG6 8'h4e ++// --------------------------- ++#define PREG_ETH_REG0 (0xff634400 + (0x050 << 2)) ++#define SEC_PREG_ETH_REG0 (0xff634400 + (0x050 << 2)) ++#define P_PREG_ETH_REG0 (volatile uint32_t *)(0xff634400 + (0x050 << 2)) ++#define PREG_ETH_REG1 (0xff634400 + (0x051 << 2)) ++#define SEC_PREG_ETH_REG1 (0xff634400 + (0x051 << 2)) ++#define P_PREG_ETH_REG1 (volatile uint32_t *)(0xff634400 + (0x051 << 2)) ++#define PREG_NAND_CFG_KEY0 (0xff634400 + (0x052 << 2)) ++#define SEC_PREG_NAND_CFG_KEY0 (0xff634400 + (0x052 << 2)) ++#define P_PREG_NAND_CFG_KEY0 (volatile uint32_t *)(0xff634400 + (0x052 << 2)) ++#define PREG_NAND_CFG_KEY1 (0xff634400 + (0x053 << 2)) ++#define SEC_PREG_NAND_CFG_KEY1 (0xff634400 + (0x053 << 2)) ++#define P_PREG_NAND_CFG_KEY1 (volatile uint32_t *)(0xff634400 + (0x053 << 2)) ++#define PREG_VPU_SECURE0 (0xff634400 + (0x054 << 2)) ++#define SEC_PREG_VPU_SECURE0 (0xff634400 + (0x054 << 2)) ++#define P_PREG_VPU_SECURE0 (volatile uint32_t *)(0xff634400 + (0x054 << 2)) ++#define PREG_VPU_SECURE1 (0xff634400 + (0x055 << 2)) ++#define SEC_PREG_VPU_SECURE1 (0xff634400 + (0x055 << 2)) ++#define P_PREG_VPU_SECURE1 (volatile uint32_t *)(0xff634400 + (0x055 << 2)) ++#define PREG_ETH_REG2 (0xff634400 + (0x056 << 2)) ++#define SEC_PREG_ETH_REG2 (0xff634400 + (0x056 << 2)) ++#define P_PREG_ETH_REG2 (volatile uint32_t *)(0xff634400 + (0x056 << 2)) ++#define PREG_ETH_REG3 (0xff634400 + (0x057 << 2)) ++#define SEC_PREG_ETH_REG3 (0xff634400 + (0x057 << 2)) ++#define P_PREG_ETH_REG3 (volatile uint32_t *)(0xff634400 + (0x057 << 2)) ++#define PREG_ETH_REG4 (0xff634400 + (0x058 << 2)) ++#define SEC_PREG_ETH_REG4 (0xff634400 + (0x058 << 2)) ++#define P_PREG_ETH_REG4 (volatile uint32_t *)(0xff634400 + (0x058 << 2)) ++// --------------------------- ++// Generic production test ++// ---------------------------- ++#define PROD_TEST_REG0 (0xff634400 + (0x060 << 2)) ++#define SEC_PROD_TEST_REG0 (0xff634400 + (0x060 << 2)) ++#define P_PROD_TEST_REG0 (volatile uint32_t *)(0xff634400 + (0x060 << 2)) ++#define PROD_TEST_REG1 (0xff634400 + (0x061 << 2)) ++#define SEC_PROD_TEST_REG1 (0xff634400 + (0x061 << 2)) ++#define P_PROD_TEST_REG1 (volatile uint32_t *)(0xff634400 + (0x061 << 2)) ++#define PROD_TEST_REG2 (0xff634400 + (0x062 << 2)) ++#define SEC_PROD_TEST_REG2 (0xff634400 + (0x062 << 2)) ++#define P_PROD_TEST_REG2 (volatile uint32_t *)(0xff634400 + (0x062 << 2)) ++#define PROD_TEST_REG3 (0xff634400 + (0x063 << 2)) ++#define SEC_PROD_TEST_REG3 (0xff634400 + (0x063 << 2)) ++#define P_PROD_TEST_REG3 (volatile uint32_t *)(0xff634400 + (0x063 << 2)) ++// am_analog_top ++// ---------------------------- ++//`define METAL_REVISION 8'h6a ++//`define ADC_TOP_MISC 8'h6b ++//`define DPLL_TOP_MISC 8'h6c ++//`define ANALOG_TOP_MISC 8'h6d ++//`define AM_ANALOG_TOP_REG0 8'h6e ++//`define AM_ANALOG_TOP_REG1 8'h6f ++// --------------------------- ++// Sticky regs ++// ---------------------------- ++#define PREG_STICKY_REG0 (0xff634400 + (0x070 << 2)) ++#define SEC_PREG_STICKY_REG0 (0xff634400 + (0x070 << 2)) ++#define P_PREG_STICKY_REG0 (volatile uint32_t *)(0xff634400 + (0x070 << 2)) ++#define PREG_STICKY_REG1 (0xff634400 + (0x071 << 2)) ++#define SEC_PREG_STICKY_REG1 (0xff634400 + (0x071 << 2)) ++#define P_PREG_STICKY_REG1 (volatile uint32_t *)(0xff634400 + (0x071 << 2)) ++#define PREG_STICKY_REG2 (0xff634400 + (0x072 << 2)) ++#define SEC_PREG_STICKY_REG2 (0xff634400 + (0x072 << 2)) ++#define P_PREG_STICKY_REG2 (volatile uint32_t *)(0xff634400 + (0x072 << 2)) ++#define PREG_STICKY_REG3 (0xff634400 + (0x073 << 2)) ++#define SEC_PREG_STICKY_REG3 (0xff634400 + (0x073 << 2)) ++#define P_PREG_STICKY_REG3 (volatile uint32_t *)(0xff634400 + (0x073 << 2)) ++#define PREG_STICKY_REG4 (0xff634400 + (0x074 << 2)) ++#define SEC_PREG_STICKY_REG4 (0xff634400 + (0x074 << 2)) ++#define P_PREG_STICKY_REG4 (volatile uint32_t *)(0xff634400 + (0x074 << 2)) ++#define PREG_STICKY_REG5 (0xff634400 + (0x075 << 2)) ++#define SEC_PREG_STICKY_REG5 (0xff634400 + (0x075 << 2)) ++#define P_PREG_STICKY_REG5 (volatile uint32_t *)(0xff634400 + (0x075 << 2)) ++#define PREG_STICKY_REG6 (0xff634400 + (0x076 << 2)) ++#define SEC_PREG_STICKY_REG6 (0xff634400 + (0x076 << 2)) ++#define P_PREG_STICKY_REG6 (volatile uint32_t *)(0xff634400 + (0x076 << 2)) ++#define PREG_STICKY_REG7 (0xff634400 + (0x077 << 2)) ++#define SEC_PREG_STICKY_REG7 (0xff634400 + (0x077 << 2)) ++#define P_PREG_STICKY_REG7 (volatile uint32_t *)(0xff634400 + (0x077 << 2)) ++#define PREG_STICKY_REG8 (0xff634400 + (0x078 << 2)) ++#define SEC_PREG_STICKY_REG8 (0xff634400 + (0x078 << 2)) ++#define P_PREG_STICKY_REG8 (volatile uint32_t *)(0xff634400 + (0x078 << 2)) ++#define PREG_STICKY_REG9 (0xff634400 + (0x079 << 2)) ++#define SEC_PREG_STICKY_REG9 (0xff634400 + (0x079 << 2)) ++#define P_PREG_STICKY_REG9 (volatile uint32_t *)(0xff634400 + (0x079 << 2)) ++//`define PREG_WRITE_ONCE_REG 8'h7e ++// --------------------------- ++// AM Ring Oscillator ++// ---------------------------- ++#define AM_RING_OSC_REG0 (0xff634400 + (0x07f << 2)) ++#define SEC_AM_RING_OSC_REG0 (0xff634400 + (0x07f << 2)) ++#define P_AM_RING_OSC_REG0 (volatile uint32_t *)(0xff634400 + (0x07f << 2)) ++// Control whether to provide random number to HDMITX20 ++//`define HDMITX20_RNDNUM 8'h80 ++// --------------------------- ++// Bus Monitoring ++// ---------------------------- ++#define BUS_MONITOR_CNTL (0xff634400 + (0x081 << 2)) ++#define SEC_BUS_MONITOR_CNTL (0xff634400 + (0x081 << 2)) ++#define P_BUS_MONITOR_CNTL (volatile uint32_t *)(0xff634400 + (0x081 << 2)) ++#define BUS_MON0_ADDR (0xff634400 + (0x082 << 2)) ++#define SEC_BUS_MON0_ADDR (0xff634400 + (0x082 << 2)) ++#define P_BUS_MON0_ADDR (volatile uint32_t *)(0xff634400 + (0x082 << 2)) ++#define BUS_MON0_DATA (0xff634400 + (0x083 << 2)) ++#define SEC_BUS_MON0_DATA (0xff634400 + (0x083 << 2)) ++#define P_BUS_MON0_DATA (volatile uint32_t *)(0xff634400 + (0x083 << 2)) ++#define BUS_MON0_DATA_MSK (0xff634400 + (0x084 << 2)) ++#define SEC_BUS_MON0_DATA_MSK (0xff634400 + (0x084 << 2)) ++#define P_BUS_MON0_DATA_MSK (volatile uint32_t *)(0xff634400 + (0x084 << 2)) ++#define BUS_MON1_ADDR (0xff634400 + (0x085 << 2)) ++#define SEC_BUS_MON1_ADDR (0xff634400 + (0x085 << 2)) ++#define P_BUS_MON1_ADDR (volatile uint32_t *)(0xff634400 + (0x085 << 2)) ++#define BUS_MON1_DATA (0xff634400 + (0x086 << 2)) ++#define SEC_BUS_MON1_DATA (0xff634400 + (0x086 << 2)) ++#define P_BUS_MON1_DATA (volatile uint32_t *)(0xff634400 + (0x086 << 2)) ++#define BUS_MON1_DATA_MSK (0xff634400 + (0x087 << 2)) ++#define SEC_BUS_MON1_DATA_MSK (0xff634400 + (0x087 << 2)) ++#define P_BUS_MON1_DATA_MSK (volatile uint32_t *)(0xff634400 + (0x087 << 2)) ++#define ASYNC_FIFO_LOCK_ADR (0xff634400 + (0x088 << 2)) ++#define SEC_ASYNC_FIFO_LOCK_ADR (0xff634400 + (0x088 << 2)) ++#define P_ASYNC_FIFO_LOCK_ADR (volatile uint32_t *)(0xff634400 + (0x088 << 2)) ++#define SECE_TIMER_CTRL (0xff634400 + (0x089 << 2)) ++#define SEC_SECE_TIMER_CTRL (0xff634400 + (0x089 << 2)) ++#define P_SECE_TIMER_CTRL (volatile uint32_t *)(0xff634400 + (0x089 << 2)) ++#define SECE_TIMER_LOW (0xff634400 + (0x08a << 2)) ++#define SEC_SECE_TIMER_LOW (0xff634400 + (0x08a << 2)) ++#define P_SECE_TIMER_LOW (volatile uint32_t *)(0xff634400 + (0x08a << 2)) ++#define SECE_TIMER_HIG (0xff634400 + (0x08b << 2)) ++#define SEC_SECE_TIMER_HIG (0xff634400 + (0x08b << 2)) ++#define P_SECE_TIMER_HIG (volatile uint32_t *)(0xff634400 + (0x08b << 2)) ++// --------------------------- ++// System CPU control registers ++// ---------------------------- ++#define SYS_CPU_POR_CFG0 (0xff634400 + (0x090 << 2)) ++#define SEC_SYS_CPU_POR_CFG0 (0xff634400 + (0x090 << 2)) ++#define P_SYS_CPU_POR_CFG0 (volatile uint32_t *)(0xff634400 + (0x090 << 2)) ++#define SYS_CPU_POR_CFG1 (0xff634400 + (0x091 << 2)) ++#define SEC_SYS_CPU_POR_CFG1 (0xff634400 + (0x091 << 2)) ++#define P_SYS_CPU_POR_CFG1 (volatile uint32_t *)(0xff634400 + (0x091 << 2)) ++#define SYS_CPU_CFG0 (0xff634400 + (0x092 << 2)) ++#define SEC_SYS_CPU_CFG0 (0xff634400 + (0x092 << 2)) ++#define P_SYS_CPU_CFG0 (volatile uint32_t *)(0xff634400 + (0x092 << 2)) ++#define SYS_CPU_CFG1 (0xff634400 + (0x093 << 2)) ++#define SEC_SYS_CPU_CFG1 (0xff634400 + (0x093 << 2)) ++#define P_SYS_CPU_CFG1 (volatile uint32_t *)(0xff634400 + (0x093 << 2)) ++#define SYS_CPU_CFG2 (0xff634400 + (0x094 << 2)) ++#define SEC_SYS_CPU_CFG2 (0xff634400 + (0x094 << 2)) ++#define P_SYS_CPU_CFG2 (volatile uint32_t *)(0xff634400 + (0x094 << 2)) ++#define SYS_CPU_CFG3 (0xff634400 + (0x095 << 2)) ++#define SEC_SYS_CPU_CFG3 (0xff634400 + (0x095 << 2)) ++#define P_SYS_CPU_CFG3 (volatile uint32_t *)(0xff634400 + (0x095 << 2)) ++#define SYS_CPU_CFG4 (0xff634400 + (0x096 << 2)) ++#define SEC_SYS_CPU_CFG4 (0xff634400 + (0x096 << 2)) ++#define P_SYS_CPU_CFG4 (volatile uint32_t *)(0xff634400 + (0x096 << 2)) ++#define SYS_CPU_CFG5 (0xff634400 + (0x097 << 2)) ++#define SEC_SYS_CPU_CFG5 (0xff634400 + (0x097 << 2)) ++#define P_SYS_CPU_CFG5 (volatile uint32_t *)(0xff634400 + (0x097 << 2)) ++#define SYS_CPU_CFG6 (0xff634400 + (0x098 << 2)) ++#define SEC_SYS_CPU_CFG6 (0xff634400 + (0x098 << 2)) ++#define P_SYS_CPU_CFG6 (volatile uint32_t *)(0xff634400 + (0x098 << 2)) ++#define SYS_CPU_CFG7 (0xff634400 + (0x099 << 2)) ++#define SEC_SYS_CPU_CFG7 (0xff634400 + (0x099 << 2)) ++#define P_SYS_CPU_CFG7 (volatile uint32_t *)(0xff634400 + (0x099 << 2)) ++#define SYS_CPU_CFG8 (0xff634400 + (0x09a << 2)) ++#define SEC_SYS_CPU_CFG8 (0xff634400 + (0x09a << 2)) ++#define P_SYS_CPU_CFG8 (volatile uint32_t *)(0xff634400 + (0x09a << 2)) ++#define SYS_CPU_CFG9 (0xff634400 + (0x09b << 2)) ++#define SEC_SYS_CPU_CFG9 (0xff634400 + (0x09b << 2)) ++#define P_SYS_CPU_CFG9 (volatile uint32_t *)(0xff634400 + (0x09b << 2)) ++#define SYS_CPU_CFG10 (0xff634400 + (0x09c << 2)) ++#define SEC_SYS_CPU_CFG10 (0xff634400 + (0x09c << 2)) ++#define P_SYS_CPU_CFG10 (volatile uint32_t *)(0xff634400 + (0x09c << 2)) ++//`define SYS_CPU_CFG11 8'h9d ++//`define SYS_CPU_CFG12 8'h9e ++//`define SYS_CPU_CFG13 8'h9f ++#define SYS_CPU_STATUS0 (0xff634400 + (0x0a0 << 2)) ++#define SEC_SYS_CPU_STATUS0 (0xff634400 + (0x0a0 << 2)) ++#define P_SYS_CPU_STATUS0 (volatile uint32_t *)(0xff634400 + (0x0a0 << 2)) ++#define SYS_CPU_STATUS1 (0xff634400 + (0x0a1 << 2)) ++#define SEC_SYS_CPU_STATUS1 (0xff634400 + (0x0a1 << 2)) ++#define P_SYS_CPU_STATUS1 (volatile uint32_t *)(0xff634400 + (0x0a1 << 2)) ++#define SYS_CPU_STATUS2 (0xff634400 + (0x0a2 << 2)) ++#define SEC_SYS_CPU_STATUS2 (0xff634400 + (0x0a2 << 2)) ++#define P_SYS_CPU_STATUS2 (volatile uint32_t *)(0xff634400 + (0x0a2 << 2)) ++#define SYS_CPU_STATUS3 (0xff634400 + (0x0a3 << 2)) ++#define SEC_SYS_CPU_STATUS3 (0xff634400 + (0x0a3 << 2)) ++#define P_SYS_CPU_STATUS3 (volatile uint32_t *)(0xff634400 + (0x0a3 << 2)) ++#define SYS_CPU_STATUS4 (0xff634400 + (0x0a4 << 2)) ++#define SEC_SYS_CPU_STATUS4 (0xff634400 + (0x0a4 << 2)) ++#define P_SYS_CPU_STATUS4 (volatile uint32_t *)(0xff634400 + (0x0a4 << 2)) ++#define SYS_CPU_STATUS5 (0xff634400 + (0x0a5 << 2)) ++#define SEC_SYS_CPU_STATUS5 (0xff634400 + (0x0a5 << 2)) ++#define P_SYS_CPU_STATUS5 (volatile uint32_t *)(0xff634400 + (0x0a5 << 2)) ++#define SYS_CPU_MISC (0xff634400 + (0x0a8 << 2)) ++#define SEC_SYS_CPU_MISC (0xff634400 + (0x0a8 << 2)) ++#define P_SYS_CPU_MISC (volatile uint32_t *)(0xff634400 + (0x0a8 << 2)) ++// ---------------------------- ++// Pin Mux (9) ++// ---------------------------- ++#define PERIPHS_LOCK_PAD (0xff634400 + (0x0ae << 2)) ++#define SEC_PERIPHS_LOCK_PAD (0xff634400 + (0x0ae << 2)) ++#define P_PERIPHS_LOCK_PAD (volatile uint32_t *)(0xff634400 + (0x0ae << 2)) ++#define PERIPHS_LOCK_PIN_MUX (0xff634400 + (0x0af << 2)) ++#define SEC_PERIPHS_LOCK_PIN_MUX (0xff634400 + (0x0af << 2)) ++#define P_PERIPHS_LOCK_PIN_MUX (volatile uint32_t *)(0xff634400 + (0x0af << 2)) ++#define PERIPHS_PIN_MUX_0 (0xff634400 + (0x0b0 << 2)) ++#define SEC_PERIPHS_PIN_MUX_0 (0xff634400 + (0x0b0 << 2)) ++#define P_PERIPHS_PIN_MUX_0 (volatile uint32_t *)(0xff634400 + (0x0b0 << 2)) ++#define PERIPHS_PIN_MUX_1 (0xff634400 + (0x0b1 << 2)) ++#define SEC_PERIPHS_PIN_MUX_1 (0xff634400 + (0x0b1 << 2)) ++#define P_PERIPHS_PIN_MUX_1 (volatile uint32_t *)(0xff634400 + (0x0b1 << 2)) ++#define PERIPHS_PIN_MUX_2 (0xff634400 + (0x0b2 << 2)) ++#define SEC_PERIPHS_PIN_MUX_2 (0xff634400 + (0x0b2 << 2)) ++#define P_PERIPHS_PIN_MUX_2 (volatile uint32_t *)(0xff634400 + (0x0b2 << 2)) ++#define PERIPHS_PIN_MUX_3 (0xff634400 + (0x0b3 << 2)) ++#define SEC_PERIPHS_PIN_MUX_3 (0xff634400 + (0x0b3 << 2)) ++#define P_PERIPHS_PIN_MUX_3 (volatile uint32_t *)(0xff634400 + (0x0b3 << 2)) ++#define PERIPHS_PIN_MUX_4 (0xff634400 + (0x0b4 << 2)) ++#define SEC_PERIPHS_PIN_MUX_4 (0xff634400 + (0x0b4 << 2)) ++#define P_PERIPHS_PIN_MUX_4 (volatile uint32_t *)(0xff634400 + (0x0b4 << 2)) ++#define PERIPHS_PIN_MUX_5 (0xff634400 + (0x0b5 << 2)) ++#define SEC_PERIPHS_PIN_MUX_5 (0xff634400 + (0x0b5 << 2)) ++#define P_PERIPHS_PIN_MUX_5 (volatile uint32_t *)(0xff634400 + (0x0b5 << 2)) ++#define PERIPHS_PIN_MUX_6 (0xff634400 + (0x0b6 << 2)) ++#define SEC_PERIPHS_PIN_MUX_6 (0xff634400 + (0x0b6 << 2)) ++#define P_PERIPHS_PIN_MUX_6 (volatile uint32_t *)(0xff634400 + (0x0b6 << 2)) ++#define PERIPHS_PIN_MUX_7 (0xff634400 + (0x0b7 << 2)) ++#define SEC_PERIPHS_PIN_MUX_7 (0xff634400 + (0x0b7 << 2)) ++#define P_PERIPHS_PIN_MUX_7 (volatile uint32_t *)(0xff634400 + (0x0b7 << 2)) ++#define PERIPHS_PIN_MUX_8 (0xff634400 + (0x0b8 << 2)) ++#define SEC_PERIPHS_PIN_MUX_8 (0xff634400 + (0x0b8 << 2)) ++#define P_PERIPHS_PIN_MUX_8 (volatile uint32_t *)(0xff634400 + (0x0b8 << 2)) ++#define PERIPHS_PIN_MUX_9 (0xff634400 + (0x0b9 << 2)) ++#define SEC_PERIPHS_PIN_MUX_9 (0xff634400 + (0x0b9 << 2)) ++#define P_PERIPHS_PIN_MUX_9 (volatile uint32_t *)(0xff634400 + (0x0b9 << 2)) ++#define PERIPHS_PIN_MUX_A (0xff634400 + (0x0ba << 2)) ++#define SEC_PERIPHS_PIN_MUX_A (0xff634400 + (0x0ba << 2)) ++#define P_PERIPHS_PIN_MUX_A (volatile uint32_t *)(0xff634400 + (0x0ba << 2)) ++#define PERIPHS_PIN_MUX_B (0xff634400 + (0x0bb << 2)) ++#define SEC_PERIPHS_PIN_MUX_B (0xff634400 + (0x0bb << 2)) ++#define P_PERIPHS_PIN_MUX_B (volatile uint32_t *)(0xff634400 + (0x0bb << 2)) ++#define PERIPHS_PIN_MUX_C (0xff634400 + (0x0bc << 2)) ++#define SEC_PERIPHS_PIN_MUX_C (0xff634400 + (0x0bc << 2)) ++#define P_PERIPHS_PIN_MUX_C (volatile uint32_t *)(0xff634400 + (0x0bc << 2)) ++#define PERIPHS_PIN_MUX_D (0xff634400 + (0x0bd << 2)) ++#define SEC_PERIPHS_PIN_MUX_D (0xff634400 + (0x0bd << 2)) ++#define P_PERIPHS_PIN_MUX_D (volatile uint32_t *)(0xff634400 + (0x0bd << 2)) ++#define PERIPHS_PIN_MUX_E (0xff634400 + (0x0be << 2)) ++#define SEC_PERIPHS_PIN_MUX_E (0xff634400 + (0x0be << 2)) ++#define P_PERIPHS_PIN_MUX_E (volatile uint32_t *)(0xff634400 + (0x0be << 2)) ++#define PERIPHS_PIN_MUX_F (0xff634400 + (0x0bf << 2)) ++#define SEC_PERIPHS_PIN_MUX_F (0xff634400 + (0x0bf << 2)) ++#define P_PERIPHS_PIN_MUX_F (volatile uint32_t *)(0xff634400 + (0x0bf << 2)) ++#define EFUSE_CFG_LOCK (0xff634400 + (0x0c0 << 2)) ++#define SEC_EFUSE_CFG_LOCK (0xff634400 + (0x0c0 << 2)) ++#define P_EFUSE_CFG_LOCK (volatile uint32_t *)(0xff634400 + (0x0c0 << 2)) ++#define EFUSE_CLK_A53_CFG01 (0xff634400 + (0x0c1 << 2)) ++#define SEC_EFUSE_CLK_A53_CFG01 (0xff634400 + (0x0c1 << 2)) ++#define P_EFUSE_CLK_A53_CFG01 (volatile uint32_t *)(0xff634400 + (0x0c1 << 2)) ++#define EFUSE_CLK_A53_CFG2 (0xff634400 + (0x0c2 << 2)) ++#define SEC_EFUSE_CLK_A53_CFG2 (0xff634400 + (0x0c2 << 2)) ++#define P_EFUSE_CLK_A53_CFG2 (volatile uint32_t *)(0xff634400 + (0x0c2 << 2)) ++#define EFUSE_CLK_ENCP_CFG0 (0xff634400 + (0x0c3 << 2)) ++#define SEC_EFUSE_CLK_ENCP_CFG0 (0xff634400 + (0x0c3 << 2)) ++#define P_EFUSE_CLK_ENCP_CFG0 (volatile uint32_t *)(0xff634400 + (0x0c3 << 2)) ++#define EFUSE_CLK_MALI_CFG0 (0xff634400 + (0x0c4 << 2)) ++#define SEC_EFUSE_CLK_MALI_CFG0 (0xff634400 + (0x0c4 << 2)) ++#define P_EFUSE_CLK_MALI_CFG0 (volatile uint32_t *)(0xff634400 + (0x0c4 << 2)) ++#define EFUSE_CLK_HEVCB_CFG0 (0xff634400 + (0x0c5 << 2)) ++#define SEC_EFUSE_CLK_HEVCB_CFG0 (0xff634400 + (0x0c5 << 2)) ++#define P_EFUSE_CLK_HEVCB_CFG0 (volatile uint32_t *)(0xff634400 + (0x0c5 << 2)) ++#define PAD_DS_REG0A (0xff634400 + (0x0d0 << 2)) ++#define SEC_PAD_DS_REG0A (0xff634400 + (0x0d0 << 2)) ++#define P_PAD_DS_REG0A (volatile uint32_t *)(0xff634400 + (0x0d0 << 2)) ++#define PAD_DS_REG1A (0xff634400 + (0x0d1 << 2)) ++#define SEC_PAD_DS_REG1A (0xff634400 + (0x0d1 << 2)) ++#define P_PAD_DS_REG1A (volatile uint32_t *)(0xff634400 + (0x0d1 << 2)) ++#define PAD_DS_REG2A (0xff634400 + (0x0d2 << 2)) ++#define SEC_PAD_DS_REG2A (0xff634400 + (0x0d2 << 2)) ++#define P_PAD_DS_REG2A (volatile uint32_t *)(0xff634400 + (0x0d2 << 2)) ++#define PAD_DS_REG2B (0xff634400 + (0x0d3 << 2)) ++#define SEC_PAD_DS_REG2B (0xff634400 + (0x0d3 << 2)) ++#define P_PAD_DS_REG2B (volatile uint32_t *)(0xff634400 + (0x0d3 << 2)) ++#define PAD_DS_REG3A (0xff634400 + (0x0d4 << 2)) ++#define SEC_PAD_DS_REG3A (0xff634400 + (0x0d4 << 2)) ++#define P_PAD_DS_REG3A (volatile uint32_t *)(0xff634400 + (0x0d4 << 2)) ++#define PAD_DS_REG4A (0xff634400 + (0x0d5 << 2)) ++#define SEC_PAD_DS_REG4A (0xff634400 + (0x0d5 << 2)) ++#define P_PAD_DS_REG4A (volatile uint32_t *)(0xff634400 + (0x0d5 << 2)) ++#define PAD_DS_REG5A (0xff634400 + (0x0d6 << 2)) ++#define SEC_PAD_DS_REG5A (0xff634400 + (0x0d6 << 2)) ++#define P_PAD_DS_REG5A (volatile uint32_t *)(0xff634400 + (0x0d6 << 2)) ++//======================================================================== ++// RESET_SEC - Registers ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF64E000 ++// APB4_DECODER_SECURE_BASE 32'hFF64E000 ++#define RESET0_SEC_REGISTER (0xff64e000 + (0x000 << 2)) ++#define SEC_RESET0_SEC_REGISTER (0xff64e000 + (0x000 << 2)) ++#define P_RESET0_SEC_REGISTER (volatile uint32_t *)(0xff64e000 + (0x000 << 2)) ++#define RESET1_SEC_REGISTER (0xff64e000 + (0x001 << 2)) ++#define SEC_RESET1_SEC_REGISTER (0xff64e000 + (0x001 << 2)) ++#define P_RESET1_SEC_REGISTER (volatile uint32_t *)(0xff64e000 + (0x001 << 2)) ++#define RESET2_SEC_REGISTER (0xff64e000 + (0x002 << 2)) ++#define SEC_RESET2_SEC_REGISTER (0xff64e000 + (0x002 << 2)) ++#define P_RESET2_SEC_REGISTER (volatile uint32_t *)(0xff64e000 + (0x002 << 2)) ++#define RESET0_SEC_LEVEL (0xff64e000 + (0x010 << 2)) ++#define SEC_RESET0_SEC_LEVEL (0xff64e000 + (0x010 << 2)) ++#define P_RESET0_SEC_LEVEL (volatile uint32_t *)(0xff64e000 + (0x010 << 2)) ++#define RESET1_SEC_LEVEL (0xff64e000 + (0x011 << 2)) ++#define SEC_RESET1_SEC_LEVEL (0xff64e000 + (0x011 << 2)) ++#define P_RESET1_SEC_LEVEL (volatile uint32_t *)(0xff64e000 + (0x011 << 2)) ++#define RESET2_SEC_LEVEL (0xff64e000 + (0x012 << 2)) ++#define SEC_RESET2_SEC_LEVEL (0xff64e000 + (0x012 << 2)) ++#define P_RESET2_SEC_LEVEL (volatile uint32_t *)(0xff64e000 + (0x012 << 2)) ++#define RESET0_SEC_MASK (0xff64e000 + (0x020 << 2)) ++#define SEC_RESET0_SEC_MASK (0xff64e000 + (0x020 << 2)) ++#define P_RESET0_SEC_MASK (volatile uint32_t *)(0xff64e000 + (0x020 << 2)) ++#define RESET1_SEC_MASK (0xff64e000 + (0x021 << 2)) ++#define SEC_RESET1_SEC_MASK (0xff64e000 + (0x021 << 2)) ++#define P_RESET1_SEC_MASK (volatile uint32_t *)(0xff64e000 + (0x021 << 2)) ++#define RESET2_SEC_MASK (0xff64e000 + (0x022 << 2)) ++#define SEC_RESET2_SEC_MASK (0xff64e000 + (0x022 << 2)) ++#define P_RESET2_SEC_MASK (volatile uint32_t *)(0xff64e000 + (0x022 << 2)) ++//======================================================================== ++// AUDIO locker - Registers ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF64a000 ++// APB4_DECODER_SECURE_BASE 32'hFF64a000 ++#define AUD_LOCK_EN (0xff64a000 + (0x000 << 2)) ++#define SEC_AUD_LOCK_EN (0xff64a000 + (0x000 << 2)) ++#define P_AUD_LOCK_EN (volatile uint32_t *)(0xff64a000 + (0x000 << 2)) ++#define AUD_LOCK_SW_RESET (0xff64a000 + (0x001 << 2)) ++#define SEC_AUD_LOCK_SW_RESET (0xff64a000 + (0x001 << 2)) ++#define P_AUD_LOCK_SW_RESET (volatile uint32_t *)(0xff64a000 + (0x001 << 2)) ++#define AUD_LOCK_SW_LATCH (0xff64a000 + (0x002 << 2)) ++#define SEC_AUD_LOCK_SW_LATCH (0xff64a000 + (0x002 << 2)) ++#define P_AUD_LOCK_SW_LATCH (volatile uint32_t *)(0xff64a000 + (0x002 << 2)) ++#define AUD_LOCK_HW_LATCH (0xff64a000 + (0x003 << 2)) ++#define SEC_AUD_LOCK_HW_LATCH (0xff64a000 + (0x003 << 2)) ++#define P_AUD_LOCK_HW_LATCH (volatile uint32_t *)(0xff64a000 + (0x003 << 2)) ++#define AUD_LOCK_REFCLK_SRC (0xff64a000 + (0x004 << 2)) ++#define SEC_AUD_LOCK_REFCLK_SRC (0xff64a000 + (0x004 << 2)) ++#define P_AUD_LOCK_REFCLK_SRC (volatile uint32_t *)(0xff64a000 + (0x004 << 2)) ++#define AUD_LOCK_REFCLK_LAT_INT (0xff64a000 + (0x005 << 2)) ++#define SEC_AUD_LOCK_REFCLK_LAT_INT (0xff64a000 + (0x005 << 2)) ++#define P_AUD_LOCK_REFCLK_LAT_INT (volatile uint32_t *)(0xff64a000 + (0x005 << 2)) ++#define AUD_LOCK_IMCLK_LAT_INT (0xff64a000 + (0x006 << 2)) ++#define SEC_AUD_LOCK_IMCLK_LAT_INT (0xff64a000 + (0x006 << 2)) ++#define P_AUD_LOCK_IMCLK_LAT_INT (volatile uint32_t *)(0xff64a000 + (0x006 << 2)) ++#define AUD_LOCK_OMCLK_LAT_INT (0xff64a000 + (0x007 << 2)) ++#define SEC_AUD_LOCK_OMCLK_LAT_INT (0xff64a000 + (0x007 << 2)) ++#define P_AUD_LOCK_OMCLK_LAT_INT (volatile uint32_t *)(0xff64a000 + (0x007 << 2)) ++#define AUD_LOCK_REFCLK_DS_INT (0xff64a000 + (0x008 << 2)) ++#define SEC_AUD_LOCK_REFCLK_DS_INT (0xff64a000 + (0x008 << 2)) ++#define P_AUD_LOCK_REFCLK_DS_INT (volatile uint32_t *)(0xff64a000 + (0x008 << 2)) ++#define AUD_LOCK_IMCLK_DS_INT (0xff64a000 + (0x009 << 2)) ++#define SEC_AUD_LOCK_IMCLK_DS_INT (0xff64a000 + (0x009 << 2)) ++#define P_AUD_LOCK_IMCLK_DS_INT (volatile uint32_t *)(0xff64a000 + (0x009 << 2)) ++#define AUD_LOCK_OMCLK_DS_INT (0xff64a000 + (0x00a << 2)) ++#define SEC_AUD_LOCK_OMCLK_DS_INT (0xff64a000 + (0x00a << 2)) ++#define P_AUD_LOCK_OMCLK_DS_INT (volatile uint32_t *)(0xff64a000 + (0x00a << 2)) ++#define AUD_LOCK_INT_CLR (0xff64a000 + (0x00b << 2)) ++#define SEC_AUD_LOCK_INT_CLR (0xff64a000 + (0x00b << 2)) ++#define P_AUD_LOCK_INT_CLR (volatile uint32_t *)(0xff64a000 + (0x00b << 2)) ++#define AUD_LOCK_GCLK_CTRL (0xff64a000 + (0x00c << 2)) ++#define SEC_AUD_LOCK_GCLK_CTRL (0xff64a000 + (0x00c << 2)) ++#define P_AUD_LOCK_GCLK_CTRL (volatile uint32_t *)(0xff64a000 + (0x00c << 2)) ++#define AUD_LOCK_INT_CTRL (0xff64a000 + (0x00d << 2)) ++#define SEC_AUD_LOCK_INT_CTRL (0xff64a000 + (0x00d << 2)) ++#define P_AUD_LOCK_INT_CTRL (volatile uint32_t *)(0xff64a000 + (0x00d << 2)) ++#define RO_REF2IMCLK_CNT_L (0xff64a000 + (0x010 << 2)) ++#define SEC_RO_REF2IMCLK_CNT_L (0xff64a000 + (0x010 << 2)) ++#define P_RO_REF2IMCLK_CNT_L (volatile uint32_t *)(0xff64a000 + (0x010 << 2)) ++#define RO_REF2IMCLK_CNT_H (0xff64a000 + (0x011 << 2)) ++#define SEC_RO_REF2IMCLK_CNT_H (0xff64a000 + (0x011 << 2)) ++#define P_RO_REF2IMCLK_CNT_H (volatile uint32_t *)(0xff64a000 + (0x011 << 2)) ++#define RO_REF2OMCLK_CNT_L (0xff64a000 + (0x012 << 2)) ++#define SEC_RO_REF2OMCLK_CNT_L (0xff64a000 + (0x012 << 2)) ++#define P_RO_REF2OMCLK_CNT_L (volatile uint32_t *)(0xff64a000 + (0x012 << 2)) ++#define RO_REF2OMCLK_CNT_H (0xff64a000 + (0x013 << 2)) ++#define SEC_RO_REF2OMCLK_CNT_H (0xff64a000 + (0x013 << 2)) ++#define P_RO_REF2OMCLK_CNT_H (volatile uint32_t *)(0xff64a000 + (0x013 << 2)) ++#define RO_IMCLK2REF_CNT_L (0xff64a000 + (0x014 << 2)) ++#define SEC_RO_IMCLK2REF_CNT_L (0xff64a000 + (0x014 << 2)) ++#define P_RO_IMCLK2REF_CNT_L (volatile uint32_t *)(0xff64a000 + (0x014 << 2)) ++#define RO_IMCLK2REF_CNT_H (0xff64a000 + (0x015 << 2)) ++#define SEC_RO_IMCLK2REF_CNT_H (0xff64a000 + (0x015 << 2)) ++#define P_RO_IMCLK2REF_CNT_H (volatile uint32_t *)(0xff64a000 + (0x015 << 2)) ++#define RO_OMCLK2REF_CNT_L (0xff64a000 + (0x016 << 2)) ++#define SEC_RO_OMCLK2REF_CNT_L (0xff64a000 + (0x016 << 2)) ++#define P_RO_OMCLK2REF_CNT_L (volatile uint32_t *)(0xff64a000 + (0x016 << 2)) ++#define RO_OMCLK2REF_CNT_H (0xff64a000 + (0x017 << 2)) ++#define SEC_RO_OMCLK2REF_CNT_H (0xff64a000 + (0x017 << 2)) ++#define P_RO_OMCLK2REF_CNT_H (volatile uint32_t *)(0xff64a000 + (0x017 << 2)) ++#define RO_REFCLK_PKG_CNT (0xff64a000 + (0x018 << 2)) ++#define SEC_RO_REFCLK_PKG_CNT (0xff64a000 + (0x018 << 2)) ++#define P_RO_REFCLK_PKG_CNT (volatile uint32_t *)(0xff64a000 + (0x018 << 2)) ++#define RO_IMCLK_PKG_CNT (0xff64a000 + (0x019 << 2)) ++#define SEC_RO_IMCLK_PKG_CNT (0xff64a000 + (0x019 << 2)) ++#define P_RO_IMCLK_PKG_CNT (volatile uint32_t *)(0xff64a000 + (0x019 << 2)) ++#define RO_OMCLK_PKG_CNT (0xff64a000 + (0x01a << 2)) ++#define SEC_RO_OMCLK_PKG_CNT (0xff64a000 + (0x01a << 2)) ++#define P_RO_OMCLK_PKG_CNT (volatile uint32_t *)(0xff64a000 + (0x01a << 2)) ++#define RO_AUD_LOCK_INT_STATUS (0xff64a000 + (0x01b << 2)) ++#define SEC_RO_AUD_LOCK_INT_STATUS (0xff64a000 + (0x01b << 2)) ++#define P_RO_AUD_LOCK_INT_STATUS (volatile uint32_t *)(0xff64a000 + (0x01b << 2)) ++//======================================================================== ++// AUDIO - Registers ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF642000 ++// APB4_DECODER_SECURE_BASE 32'hFF642000 ++#define EE_AUDIO_CLK_GATE_EN (0xff642000 + (0x000 << 2)) ++#define SEC_EE_AUDIO_CLK_GATE_EN (0xff642000 + (0x000 << 2)) ++#define P_EE_AUDIO_CLK_GATE_EN (volatile uint32_t *)(0xff642000 + (0x000 << 2)) ++#define EE_AUDIO_MCLK_A_CTRL (0xff642000 + (0x001 << 2)) ++#define SEC_EE_AUDIO_MCLK_A_CTRL (0xff642000 + (0x001 << 2)) ++#define P_EE_AUDIO_MCLK_A_CTRL (volatile uint32_t *)(0xff642000 + (0x001 << 2)) ++#define EE_AUDIO_MCLK_B_CTRL (0xff642000 + (0x002 << 2)) ++#define SEC_EE_AUDIO_MCLK_B_CTRL (0xff642000 + (0x002 << 2)) ++#define P_EE_AUDIO_MCLK_B_CTRL (volatile uint32_t *)(0xff642000 + (0x002 << 2)) ++#define EE_AUDIO_MCLK_C_CTRL (0xff642000 + (0x003 << 2)) ++#define SEC_EE_AUDIO_MCLK_C_CTRL (0xff642000 + (0x003 << 2)) ++#define P_EE_AUDIO_MCLK_C_CTRL (volatile uint32_t *)(0xff642000 + (0x003 << 2)) ++#define EE_AUDIO_MCLK_D_CTRL (0xff642000 + (0x004 << 2)) ++#define SEC_EE_AUDIO_MCLK_D_CTRL (0xff642000 + (0x004 << 2)) ++#define P_EE_AUDIO_MCLK_D_CTRL (volatile uint32_t *)(0xff642000 + (0x004 << 2)) ++#define EE_AUDIO_MCLK_E_CTRL (0xff642000 + (0x005 << 2)) ++#define SEC_EE_AUDIO_MCLK_E_CTRL (0xff642000 + (0x005 << 2)) ++#define P_EE_AUDIO_MCLK_E_CTRL (volatile uint32_t *)(0xff642000 + (0x005 << 2)) ++#define EE_AUDIO_MCLK_F_CTRL (0xff642000 + (0x006 << 2)) ++#define SEC_EE_AUDIO_MCLK_F_CTRL (0xff642000 + (0x006 << 2)) ++#define P_EE_AUDIO_MCLK_F_CTRL (volatile uint32_t *)(0xff642000 + (0x006 << 2)) ++#define EE_AUDIO_PAD_CTRL0 (0xff642000 + (0x007 << 2)) ++#define SEC_EE_AUDIO_PAD_CTRL0 (0xff642000 + (0x007 << 2)) ++#define P_EE_AUDIO_PAD_CTRL0 (volatile uint32_t *)(0xff642000 + (0x007 << 2)) ++#define EE_AUDIO_PAD_CTRL1 (0xff642000 + (0x008 << 2)) ++#define SEC_EE_AUDIO_PAD_CTRL1 (0xff642000 + (0x008 << 2)) ++#define P_EE_AUDIO_PAD_CTRL1 (volatile uint32_t *)(0xff642000 + (0x008 << 2)) ++#define EE_AUDIO_SW_RESET (0xff642000 + (0x009 << 2)) ++#define SEC_EE_AUDIO_SW_RESET (0xff642000 + (0x009 << 2)) ++#define P_EE_AUDIO_SW_RESET (volatile uint32_t *)(0xff642000 + (0x009 << 2)) ++#define EE_AUDIO_MST_A_SCLK_CTRL0 (0xff642000 + (0x010 << 2)) ++#define SEC_EE_AUDIO_MST_A_SCLK_CTRL0 (0xff642000 + (0x010 << 2)) ++#define P_EE_AUDIO_MST_A_SCLK_CTRL0 (volatile uint32_t *)(0xff642000 + (0x010 << 2)) ++#define EE_AUDIO_MST_A_SCLK_CTRL1 (0xff642000 + (0x011 << 2)) ++#define SEC_EE_AUDIO_MST_A_SCLK_CTRL1 (0xff642000 + (0x011 << 2)) ++#define P_EE_AUDIO_MST_A_SCLK_CTRL1 (volatile uint32_t *)(0xff642000 + (0x011 << 2)) ++#define EE_AUDIO_MST_B_SCLK_CTRL0 (0xff642000 + (0x012 << 2)) ++#define SEC_EE_AUDIO_MST_B_SCLK_CTRL0 (0xff642000 + (0x012 << 2)) ++#define P_EE_AUDIO_MST_B_SCLK_CTRL0 (volatile uint32_t *)(0xff642000 + (0x012 << 2)) ++#define EE_AUDIO_MST_B_SCLK_CTRL1 (0xff642000 + (0x013 << 2)) ++#define SEC_EE_AUDIO_MST_B_SCLK_CTRL1 (0xff642000 + (0x013 << 2)) ++#define P_EE_AUDIO_MST_B_SCLK_CTRL1 (volatile uint32_t *)(0xff642000 + (0x013 << 2)) ++#define EE_AUDIO_MST_C_SCLK_CTRL0 (0xff642000 + (0x014 << 2)) ++#define SEC_EE_AUDIO_MST_C_SCLK_CTRL0 (0xff642000 + (0x014 << 2)) ++#define P_EE_AUDIO_MST_C_SCLK_CTRL0 (volatile uint32_t *)(0xff642000 + (0x014 << 2)) ++#define EE_AUDIO_MST_C_SCLK_CTRL1 (0xff642000 + (0x015 << 2)) ++#define SEC_EE_AUDIO_MST_C_SCLK_CTRL1 (0xff642000 + (0x015 << 2)) ++#define P_EE_AUDIO_MST_C_SCLK_CTRL1 (volatile uint32_t *)(0xff642000 + (0x015 << 2)) ++#define EE_AUDIO_MST_D_SCLK_CTRL0 (0xff642000 + (0x016 << 2)) ++#define SEC_EE_AUDIO_MST_D_SCLK_CTRL0 (0xff642000 + (0x016 << 2)) ++#define P_EE_AUDIO_MST_D_SCLK_CTRL0 (volatile uint32_t *)(0xff642000 + (0x016 << 2)) ++#define EE_AUDIO_MST_D_SCLK_CTRL1 (0xff642000 + (0x017 << 2)) ++#define SEC_EE_AUDIO_MST_D_SCLK_CTRL1 (0xff642000 + (0x017 << 2)) ++#define P_EE_AUDIO_MST_D_SCLK_CTRL1 (volatile uint32_t *)(0xff642000 + (0x017 << 2)) ++#define EE_AUDIO_MST_E_SCLK_CTRL0 (0xff642000 + (0x018 << 2)) ++#define SEC_EE_AUDIO_MST_E_SCLK_CTRL0 (0xff642000 + (0x018 << 2)) ++#define P_EE_AUDIO_MST_E_SCLK_CTRL0 (volatile uint32_t *)(0xff642000 + (0x018 << 2)) ++#define EE_AUDIO_MST_E_SCLK_CTRL1 (0xff642000 + (0x019 << 2)) ++#define SEC_EE_AUDIO_MST_E_SCLK_CTRL1 (0xff642000 + (0x019 << 2)) ++#define P_EE_AUDIO_MST_E_SCLK_CTRL1 (volatile uint32_t *)(0xff642000 + (0x019 << 2)) ++#define EE_AUDIO_MST_F_SCLK_CTRL0 (0xff642000 + (0x01a << 2)) ++#define SEC_EE_AUDIO_MST_F_SCLK_CTRL0 (0xff642000 + (0x01a << 2)) ++#define P_EE_AUDIO_MST_F_SCLK_CTRL0 (volatile uint32_t *)(0xff642000 + (0x01a << 2)) ++#define EE_AUDIO_MST_F_SCLK_CTRL1 (0xff642000 + (0x01b << 2)) ++#define SEC_EE_AUDIO_MST_F_SCLK_CTRL1 (0xff642000 + (0x01b << 2)) ++#define P_EE_AUDIO_MST_F_SCLK_CTRL1 (volatile uint32_t *)(0xff642000 + (0x01b << 2)) ++#define EE_AUDIO_CLK_TDMIN_A_CTRL (0xff642000 + (0x020 << 2)) ++#define SEC_EE_AUDIO_CLK_TDMIN_A_CTRL (0xff642000 + (0x020 << 2)) ++#define P_EE_AUDIO_CLK_TDMIN_A_CTRL (volatile uint32_t *)(0xff642000 + (0x020 << 2)) ++#define EE_AUDIO_CLK_TDMIN_B_CTRL (0xff642000 + (0x021 << 2)) ++#define SEC_EE_AUDIO_CLK_TDMIN_B_CTRL (0xff642000 + (0x021 << 2)) ++#define P_EE_AUDIO_CLK_TDMIN_B_CTRL (volatile uint32_t *)(0xff642000 + (0x021 << 2)) ++#define EE_AUDIO_CLK_TDMIN_C_CTRL (0xff642000 + (0x022 << 2)) ++#define SEC_EE_AUDIO_CLK_TDMIN_C_CTRL (0xff642000 + (0x022 << 2)) ++#define P_EE_AUDIO_CLK_TDMIN_C_CTRL (volatile uint32_t *)(0xff642000 + (0x022 << 2)) ++#define EE_AUDIO_CLK_TDMIN_LB_CTRL (0xff642000 + (0x023 << 2)) ++#define SEC_EE_AUDIO_CLK_TDMIN_LB_CTRL (0xff642000 + (0x023 << 2)) ++#define P_EE_AUDIO_CLK_TDMIN_LB_CTRL (volatile uint32_t *)(0xff642000 + (0x023 << 2)) ++#define EE_AUDIO_CLK_TDMOUT_A_CTRL (0xff642000 + (0x024 << 2)) ++#define SEC_EE_AUDIO_CLK_TDMOUT_A_CTRL (0xff642000 + (0x024 << 2)) ++#define P_EE_AUDIO_CLK_TDMOUT_A_CTRL (volatile uint32_t *)(0xff642000 + (0x024 << 2)) ++#define EE_AUDIO_CLK_TDMOUT_B_CTRL (0xff642000 + (0x025 << 2)) ++#define SEC_EE_AUDIO_CLK_TDMOUT_B_CTRL (0xff642000 + (0x025 << 2)) ++#define P_EE_AUDIO_CLK_TDMOUT_B_CTRL (volatile uint32_t *)(0xff642000 + (0x025 << 2)) ++#define EE_AUDIO_CLK_TDMOUT_C_CTRL (0xff642000 + (0x026 << 2)) ++#define SEC_EE_AUDIO_CLK_TDMOUT_C_CTRL (0xff642000 + (0x026 << 2)) ++#define P_EE_AUDIO_CLK_TDMOUT_C_CTRL (volatile uint32_t *)(0xff642000 + (0x026 << 2)) ++#define EE_AUDIO_CLK_SPDIFIN_CTRL (0xff642000 + (0x027 << 2)) ++#define SEC_EE_AUDIO_CLK_SPDIFIN_CTRL (0xff642000 + (0x027 << 2)) ++#define P_EE_AUDIO_CLK_SPDIFIN_CTRL (volatile uint32_t *)(0xff642000 + (0x027 << 2)) ++#define EE_AUDIO_CLK_SPDIFOUT_CTRL (0xff642000 + (0x028 << 2)) ++#define SEC_EE_AUDIO_CLK_SPDIFOUT_CTRL (0xff642000 + (0x028 << 2)) ++#define P_EE_AUDIO_CLK_SPDIFOUT_CTRL (volatile uint32_t *)(0xff642000 + (0x028 << 2)) ++#define EE_AUDIO_CLK_RESAMPLE_CTRL (0xff642000 + (0x029 << 2)) ++#define SEC_EE_AUDIO_CLK_RESAMPLE_CTRL (0xff642000 + (0x029 << 2)) ++#define P_EE_AUDIO_CLK_RESAMPLE_CTRL (volatile uint32_t *)(0xff642000 + (0x029 << 2)) ++#define EE_AUDIO_CLK_LOCKER_CTRL (0xff642000 + (0x02a << 2)) ++#define SEC_EE_AUDIO_CLK_LOCKER_CTRL (0xff642000 + (0x02a << 2)) ++#define P_EE_AUDIO_CLK_LOCKER_CTRL (volatile uint32_t *)(0xff642000 + (0x02a << 2)) ++#define EE_AUDIO_CLK_PDMIN_CTRL0 (0xff642000 + (0x02b << 2)) ++#define SEC_EE_AUDIO_CLK_PDMIN_CTRL0 (0xff642000 + (0x02b << 2)) ++#define P_EE_AUDIO_CLK_PDMIN_CTRL0 (volatile uint32_t *)(0xff642000 + (0x02b << 2)) ++#define EE_AUDIO_CLK_PDMIN_CTRL1 (0xff642000 + (0x02c << 2)) ++#define SEC_EE_AUDIO_CLK_PDMIN_CTRL1 (0xff642000 + (0x02c << 2)) ++#define P_EE_AUDIO_CLK_PDMIN_CTRL1 (volatile uint32_t *)(0xff642000 + (0x02c << 2)) ++#define EE_AUDIO_CLK_SPDIFOUT_B_CTRL (0xff642000 + (0x02d << 2)) ++#define SEC_EE_AUDIO_CLK_SPDIFOUT_B_CTRL (0xff642000 + (0x02d << 2)) ++#define P_EE_AUDIO_CLK_SPDIFOUT_B_CTRL (volatile uint32_t *)(0xff642000 + (0x02d << 2)) ++#define EE_AUDIO_TODDR_A_CTRL0 (0xff642000 + (0x040 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_CTRL0 (0xff642000 + (0x040 << 2)) ++#define P_EE_AUDIO_TODDR_A_CTRL0 (volatile uint32_t *)(0xff642000 + (0x040 << 2)) ++#define EE_AUDIO_TODDR_A_CTRL1 (0xff642000 + (0x041 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_CTRL1 (0xff642000 + (0x041 << 2)) ++#define P_EE_AUDIO_TODDR_A_CTRL1 (volatile uint32_t *)(0xff642000 + (0x041 << 2)) ++#define EE_AUDIO_TODDR_A_START_ADDR (0xff642000 + (0x042 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_START_ADDR (0xff642000 + (0x042 << 2)) ++#define P_EE_AUDIO_TODDR_A_START_ADDR (volatile uint32_t *)(0xff642000 + (0x042 << 2)) ++#define EE_AUDIO_TODDR_A_FINISH_ADDR (0xff642000 + (0x043 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_FINISH_ADDR (0xff642000 + (0x043 << 2)) ++#define P_EE_AUDIO_TODDR_A_FINISH_ADDR (volatile uint32_t *)(0xff642000 + (0x043 << 2)) ++#define EE_AUDIO_TODDR_A_INT_ADDR (0xff642000 + (0x044 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_INT_ADDR (0xff642000 + (0x044 << 2)) ++#define P_EE_AUDIO_TODDR_A_INT_ADDR (volatile uint32_t *)(0xff642000 + (0x044 << 2)) ++#define EE_AUDIO_TODDR_A_STATUS1 (0xff642000 + (0x045 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_STATUS1 (0xff642000 + (0x045 << 2)) ++#define P_EE_AUDIO_TODDR_A_STATUS1 (volatile uint32_t *)(0xff642000 + (0x045 << 2)) ++#define EE_AUDIO_TODDR_A_STATUS2 (0xff642000 + (0x046 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_STATUS2 (0xff642000 + (0x046 << 2)) ++#define P_EE_AUDIO_TODDR_A_STATUS2 (volatile uint32_t *)(0xff642000 + (0x046 << 2)) ++#define EE_AUDIO_TODDR_A_START_ADDRB (0xff642000 + (0x047 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_START_ADDRB (0xff642000 + (0x047 << 2)) ++#define P_EE_AUDIO_TODDR_A_START_ADDRB (volatile uint32_t *)(0xff642000 + (0x047 << 2)) ++#define EE_AUDIO_TODDR_A_FINISH_ADDRB (0xff642000 + (0x048 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_FINISH_ADDRB (0xff642000 + (0x048 << 2)) ++#define P_EE_AUDIO_TODDR_A_FINISH_ADDRB (volatile uint32_t *)(0xff642000 + (0x048 << 2)) ++#define EE_AUDIO_TODDR_A_INIT_ADDR (0xff642000 + (0x049 << 2)) ++#define SEC_EE_AUDIO_TODDR_A_INIT_ADDR (0xff642000 + (0x049 << 2)) ++#define P_EE_AUDIO_TODDR_A_INIT_ADDR (volatile uint32_t *)(0xff642000 + (0x049 << 2)) ++#define EE_AUDIO_TODDR_B_CTRL0 (0xff642000 + (0x050 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_CTRL0 (0xff642000 + (0x050 << 2)) ++#define P_EE_AUDIO_TODDR_B_CTRL0 (volatile uint32_t *)(0xff642000 + (0x050 << 2)) ++#define EE_AUDIO_TODDR_B_CTRL1 (0xff642000 + (0x051 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_CTRL1 (0xff642000 + (0x051 << 2)) ++#define P_EE_AUDIO_TODDR_B_CTRL1 (volatile uint32_t *)(0xff642000 + (0x051 << 2)) ++#define EE_AUDIO_TODDR_B_START_ADDR (0xff642000 + (0x052 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_START_ADDR (0xff642000 + (0x052 << 2)) ++#define P_EE_AUDIO_TODDR_B_START_ADDR (volatile uint32_t *)(0xff642000 + (0x052 << 2)) ++#define EE_AUDIO_TODDR_B_FINISH_ADDR (0xff642000 + (0x053 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_FINISH_ADDR (0xff642000 + (0x053 << 2)) ++#define P_EE_AUDIO_TODDR_B_FINISH_ADDR (volatile uint32_t *)(0xff642000 + (0x053 << 2)) ++#define EE_AUDIO_TODDR_B_INT_ADDR (0xff642000 + (0x054 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_INT_ADDR (0xff642000 + (0x054 << 2)) ++#define P_EE_AUDIO_TODDR_B_INT_ADDR (volatile uint32_t *)(0xff642000 + (0x054 << 2)) ++#define EE_AUDIO_TODDR_B_STATUS1 (0xff642000 + (0x055 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_STATUS1 (0xff642000 + (0x055 << 2)) ++#define P_EE_AUDIO_TODDR_B_STATUS1 (volatile uint32_t *)(0xff642000 + (0x055 << 2)) ++#define EE_AUDIO_TODDR_B_STATUS2 (0xff642000 + (0x056 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_STATUS2 (0xff642000 + (0x056 << 2)) ++#define P_EE_AUDIO_TODDR_B_STATUS2 (volatile uint32_t *)(0xff642000 + (0x056 << 2)) ++#define EE_AUDIO_TODDR_B_START_ADDRB (0xff642000 + (0x057 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_START_ADDRB (0xff642000 + (0x057 << 2)) ++#define P_EE_AUDIO_TODDR_B_START_ADDRB (volatile uint32_t *)(0xff642000 + (0x057 << 2)) ++#define EE_AUDIO_TODDR_B_FINISH_ADDRB (0xff642000 + (0x058 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_FINISH_ADDRB (0xff642000 + (0x058 << 2)) ++#define P_EE_AUDIO_TODDR_B_FINISH_ADDRB (volatile uint32_t *)(0xff642000 + (0x058 << 2)) ++#define EE_AUDIO_TODDR_B_INIT_ADDR (0xff642000 + (0x059 << 2)) ++#define SEC_EE_AUDIO_TODDR_B_INIT_ADDR (0xff642000 + (0x059 << 2)) ++#define P_EE_AUDIO_TODDR_B_INIT_ADDR (volatile uint32_t *)(0xff642000 + (0x059 << 2)) ++#define EE_AUDIO_TODDR_C_CTRL0 (0xff642000 + (0x060 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_CTRL0 (0xff642000 + (0x060 << 2)) ++#define P_EE_AUDIO_TODDR_C_CTRL0 (volatile uint32_t *)(0xff642000 + (0x060 << 2)) ++#define EE_AUDIO_TODDR_C_CTRL1 (0xff642000 + (0x061 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_CTRL1 (0xff642000 + (0x061 << 2)) ++#define P_EE_AUDIO_TODDR_C_CTRL1 (volatile uint32_t *)(0xff642000 + (0x061 << 2)) ++#define EE_AUDIO_TODDR_C_START_ADDR (0xff642000 + (0x062 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_START_ADDR (0xff642000 + (0x062 << 2)) ++#define P_EE_AUDIO_TODDR_C_START_ADDR (volatile uint32_t *)(0xff642000 + (0x062 << 2)) ++#define EE_AUDIO_TODDR_C_FINISH_ADDR (0xff642000 + (0x063 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_FINISH_ADDR (0xff642000 + (0x063 << 2)) ++#define P_EE_AUDIO_TODDR_C_FINISH_ADDR (volatile uint32_t *)(0xff642000 + (0x063 << 2)) ++#define EE_AUDIO_TODDR_C_INT_ADDR (0xff642000 + (0x064 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_INT_ADDR (0xff642000 + (0x064 << 2)) ++#define P_EE_AUDIO_TODDR_C_INT_ADDR (volatile uint32_t *)(0xff642000 + (0x064 << 2)) ++#define EE_AUDIO_TODDR_C_STATUS1 (0xff642000 + (0x065 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_STATUS1 (0xff642000 + (0x065 << 2)) ++#define P_EE_AUDIO_TODDR_C_STATUS1 (volatile uint32_t *)(0xff642000 + (0x065 << 2)) ++#define EE_AUDIO_TODDR_C_STATUS2 (0xff642000 + (0x066 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_STATUS2 (0xff642000 + (0x066 << 2)) ++#define P_EE_AUDIO_TODDR_C_STATUS2 (volatile uint32_t *)(0xff642000 + (0x066 << 2)) ++#define EE_AUDIO_TODDR_C_START_ADDRB (0xff642000 + (0x067 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_START_ADDRB (0xff642000 + (0x067 << 2)) ++#define P_EE_AUDIO_TODDR_C_START_ADDRB (volatile uint32_t *)(0xff642000 + (0x067 << 2)) ++#define EE_AUDIO_TODDR_C_FINISH_ADDRB (0xff642000 + (0x068 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_FINISH_ADDRB (0xff642000 + (0x068 << 2)) ++#define P_EE_AUDIO_TODDR_C_FINISH_ADDRB (volatile uint32_t *)(0xff642000 + (0x068 << 2)) ++#define EE_AUDIO_TODDR_C_INIT_ADDR (0xff642000 + (0x069 << 2)) ++#define SEC_EE_AUDIO_TODDR_C_INIT_ADDR (0xff642000 + (0x069 << 2)) ++#define P_EE_AUDIO_TODDR_C_INIT_ADDR (volatile uint32_t *)(0xff642000 + (0x069 << 2)) ++#define EE_AUDIO_FRDDR_A_CTRL0 (0xff642000 + (0x070 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_CTRL0 (0xff642000 + (0x070 << 2)) ++#define P_EE_AUDIO_FRDDR_A_CTRL0 (volatile uint32_t *)(0xff642000 + (0x070 << 2)) ++#define EE_AUDIO_FRDDR_A_CTRL1 (0xff642000 + (0x071 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_CTRL1 (0xff642000 + (0x071 << 2)) ++#define P_EE_AUDIO_FRDDR_A_CTRL1 (volatile uint32_t *)(0xff642000 + (0x071 << 2)) ++#define EE_AUDIO_FRDDR_A_START_ADDR (0xff642000 + (0x072 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_START_ADDR (0xff642000 + (0x072 << 2)) ++#define P_EE_AUDIO_FRDDR_A_START_ADDR (volatile uint32_t *)(0xff642000 + (0x072 << 2)) ++#define EE_AUDIO_FRDDR_A_FINISH_ADDR (0xff642000 + (0x073 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_FINISH_ADDR (0xff642000 + (0x073 << 2)) ++#define P_EE_AUDIO_FRDDR_A_FINISH_ADDR (volatile uint32_t *)(0xff642000 + (0x073 << 2)) ++#define EE_AUDIO_FRDDR_A_INT_ADDR (0xff642000 + (0x074 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_INT_ADDR (0xff642000 + (0x074 << 2)) ++#define P_EE_AUDIO_FRDDR_A_INT_ADDR (volatile uint32_t *)(0xff642000 + (0x074 << 2)) ++#define EE_AUDIO_FRDDR_A_STATUS1 (0xff642000 + (0x075 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_STATUS1 (0xff642000 + (0x075 << 2)) ++#define P_EE_AUDIO_FRDDR_A_STATUS1 (volatile uint32_t *)(0xff642000 + (0x075 << 2)) ++#define EE_AUDIO_FRDDR_A_STATUS2 (0xff642000 + (0x076 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_STATUS2 (0xff642000 + (0x076 << 2)) ++#define P_EE_AUDIO_FRDDR_A_STATUS2 (volatile uint32_t *)(0xff642000 + (0x076 << 2)) ++#define EE_AUDIO_FRDDR_A_START_ADDRB (0xff642000 + (0x077 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_START_ADDRB (0xff642000 + (0x077 << 2)) ++#define P_EE_AUDIO_FRDDR_A_START_ADDRB (volatile uint32_t *)(0xff642000 + (0x077 << 2)) ++#define EE_AUDIO_FRDDR_A_FINISH_ADDRB (0xff642000 + (0x078 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_FINISH_ADDRB (0xff642000 + (0x078 << 2)) ++#define P_EE_AUDIO_FRDDR_A_FINISH_ADDRB (volatile uint32_t *)(0xff642000 + (0x078 << 2)) ++#define EE_AUDIO_FRDDR_A_INIT_ADDR (0xff642000 + (0x079 << 2)) ++#define SEC_EE_AUDIO_FRDDR_A_INIT_ADDR (0xff642000 + (0x079 << 2)) ++#define P_EE_AUDIO_FRDDR_A_INIT_ADDR (volatile uint32_t *)(0xff642000 + (0x079 << 2)) ++#define EE_AUDIO_FRDDR_B_CTRL0 (0xff642000 + (0x080 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_CTRL0 (0xff642000 + (0x080 << 2)) ++#define P_EE_AUDIO_FRDDR_B_CTRL0 (volatile uint32_t *)(0xff642000 + (0x080 << 2)) ++#define EE_AUDIO_FRDDR_B_CTRL1 (0xff642000 + (0x081 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_CTRL1 (0xff642000 + (0x081 << 2)) ++#define P_EE_AUDIO_FRDDR_B_CTRL1 (volatile uint32_t *)(0xff642000 + (0x081 << 2)) ++#define EE_AUDIO_FRDDR_B_START_ADDR (0xff642000 + (0x082 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_START_ADDR (0xff642000 + (0x082 << 2)) ++#define P_EE_AUDIO_FRDDR_B_START_ADDR (volatile uint32_t *)(0xff642000 + (0x082 << 2)) ++#define EE_AUDIO_FRDDR_B_FINISH_ADDR (0xff642000 + (0x083 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_FINISH_ADDR (0xff642000 + (0x083 << 2)) ++#define P_EE_AUDIO_FRDDR_B_FINISH_ADDR (volatile uint32_t *)(0xff642000 + (0x083 << 2)) ++#define EE_AUDIO_FRDDR_B_INT_ADDR (0xff642000 + (0x084 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_INT_ADDR (0xff642000 + (0x084 << 2)) ++#define P_EE_AUDIO_FRDDR_B_INT_ADDR (volatile uint32_t *)(0xff642000 + (0x084 << 2)) ++#define EE_AUDIO_FRDDR_B_STATUS1 (0xff642000 + (0x085 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_STATUS1 (0xff642000 + (0x085 << 2)) ++#define P_EE_AUDIO_FRDDR_B_STATUS1 (volatile uint32_t *)(0xff642000 + (0x085 << 2)) ++#define EE_AUDIO_FRDDR_B_STATUS2 (0xff642000 + (0x086 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_STATUS2 (0xff642000 + (0x086 << 2)) ++#define P_EE_AUDIO_FRDDR_B_STATUS2 (volatile uint32_t *)(0xff642000 + (0x086 << 2)) ++#define EE_AUDIO_FRDDR_B_START_ADDRB (0xff642000 + (0x087 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_START_ADDRB (0xff642000 + (0x087 << 2)) ++#define P_EE_AUDIO_FRDDR_B_START_ADDRB (volatile uint32_t *)(0xff642000 + (0x087 << 2)) ++#define EE_AUDIO_FRDDR_B_FINISH_ADDRB (0xff642000 + (0x088 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_FINISH_ADDRB (0xff642000 + (0x088 << 2)) ++#define P_EE_AUDIO_FRDDR_B_FINISH_ADDRB (volatile uint32_t *)(0xff642000 + (0x088 << 2)) ++#define EE_AUDIO_FRDDR_B_INIT_ADDR (0xff642000 + (0x089 << 2)) ++#define SEC_EE_AUDIO_FRDDR_B_INIT_ADDR (0xff642000 + (0x089 << 2)) ++#define P_EE_AUDIO_FRDDR_B_INIT_ADDR (volatile uint32_t *)(0xff642000 + (0x089 << 2)) ++#define EE_AUDIO_FRDDR_C_CTRL0 (0xff642000 + (0x090 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_CTRL0 (0xff642000 + (0x090 << 2)) ++#define P_EE_AUDIO_FRDDR_C_CTRL0 (volatile uint32_t *)(0xff642000 + (0x090 << 2)) ++#define EE_AUDIO_FRDDR_C_CTRL1 (0xff642000 + (0x091 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_CTRL1 (0xff642000 + (0x091 << 2)) ++#define P_EE_AUDIO_FRDDR_C_CTRL1 (volatile uint32_t *)(0xff642000 + (0x091 << 2)) ++#define EE_AUDIO_FRDDR_C_START_ADDR (0xff642000 + (0x092 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_START_ADDR (0xff642000 + (0x092 << 2)) ++#define P_EE_AUDIO_FRDDR_C_START_ADDR (volatile uint32_t *)(0xff642000 + (0x092 << 2)) ++#define EE_AUDIO_FRDDR_C_FINISH_ADDR (0xff642000 + (0x093 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_FINISH_ADDR (0xff642000 + (0x093 << 2)) ++#define P_EE_AUDIO_FRDDR_C_FINISH_ADDR (volatile uint32_t *)(0xff642000 + (0x093 << 2)) ++#define EE_AUDIO_FRDDR_C_INT_ADDR (0xff642000 + (0x094 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_INT_ADDR (0xff642000 + (0x094 << 2)) ++#define P_EE_AUDIO_FRDDR_C_INT_ADDR (volatile uint32_t *)(0xff642000 + (0x094 << 2)) ++#define EE_AUDIO_FRDDR_C_STATUS1 (0xff642000 + (0x095 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_STATUS1 (0xff642000 + (0x095 << 2)) ++#define P_EE_AUDIO_FRDDR_C_STATUS1 (volatile uint32_t *)(0xff642000 + (0x095 << 2)) ++#define EE_AUDIO_FRDDR_C_STATUS2 (0xff642000 + (0x096 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_STATUS2 (0xff642000 + (0x096 << 2)) ++#define P_EE_AUDIO_FRDDR_C_STATUS2 (volatile uint32_t *)(0xff642000 + (0x096 << 2)) ++#define EE_AUDIO_FRDDR_C_START_ADDRB (0xff642000 + (0x097 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_START_ADDRB (0xff642000 + (0x097 << 2)) ++#define P_EE_AUDIO_FRDDR_C_START_ADDRB (volatile uint32_t *)(0xff642000 + (0x097 << 2)) ++#define EE_AUDIO_FRDDR_C_FINISH_ADDRB (0xff642000 + (0x098 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_FINISH_ADDRB (0xff642000 + (0x098 << 2)) ++#define P_EE_AUDIO_FRDDR_C_FINISH_ADDRB (volatile uint32_t *)(0xff642000 + (0x098 << 2)) ++#define EE_AUDIO_FRDDR_C_INIT_ADDR (0xff642000 + (0x099 << 2)) ++#define SEC_EE_AUDIO_FRDDR_C_INIT_ADDR (0xff642000 + (0x099 << 2)) ++#define P_EE_AUDIO_FRDDR_C_INIT_ADDR (volatile uint32_t *)(0xff642000 + (0x099 << 2)) ++#define EE_AUDIO_ARB_CTRL (0xff642000 + (0x0a0 << 2)) ++#define SEC_EE_AUDIO_ARB_CTRL (0xff642000 + (0x0a0 << 2)) ++#define P_EE_AUDIO_ARB_CTRL (volatile uint32_t *)(0xff642000 + (0x0a0 << 2)) ++#define EE_AUDIO_LB_CTRL0 (0xff642000 + (0x0b0 << 2)) ++#define SEC_EE_AUDIO_LB_CTRL0 (0xff642000 + (0x0b0 << 2)) ++#define P_EE_AUDIO_LB_CTRL0 (volatile uint32_t *)(0xff642000 + (0x0b0 << 2)) ++#define EE_AUDIO_LB_CTRL1 (0xff642000 + (0x0b1 << 2)) ++#define SEC_EE_AUDIO_LB_CTRL1 (0xff642000 + (0x0b1 << 2)) ++#define P_EE_AUDIO_LB_CTRL1 (volatile uint32_t *)(0xff642000 + (0x0b1 << 2)) ++#define EE_AUDIO_LB_DAT_CH_ID0 (0xff642000 + (0x0b2 << 2)) ++#define SEC_EE_AUDIO_LB_DAT_CH_ID0 (0xff642000 + (0x0b2 << 2)) ++#define P_EE_AUDIO_LB_DAT_CH_ID0 (volatile uint32_t *)(0xff642000 + (0x0b2 << 2)) ++#define EE_AUDIO_LB_DAT_CH_ID1 (0xff642000 + (0x0b3 << 2)) ++#define SEC_EE_AUDIO_LB_DAT_CH_ID1 (0xff642000 + (0x0b3 << 2)) ++#define P_EE_AUDIO_LB_DAT_CH_ID1 (volatile uint32_t *)(0xff642000 + (0x0b3 << 2)) ++#define EE_AUDIO_LB_LB_CH_ID0 (0xff642000 + (0x0b4 << 2)) ++#define SEC_EE_AUDIO_LB_LB_CH_ID0 (0xff642000 + (0x0b4 << 2)) ++#define P_EE_AUDIO_LB_LB_CH_ID0 (volatile uint32_t *)(0xff642000 + (0x0b4 << 2)) ++#define EE_AUDIO_LB_LB_CH_ID1 (0xff642000 + (0x0b5 << 2)) ++#define SEC_EE_AUDIO_LB_LB_CH_ID1 (0xff642000 + (0x0b5 << 2)) ++#define P_EE_AUDIO_LB_LB_CH_ID1 (volatile uint32_t *)(0xff642000 + (0x0b5 << 2)) ++#define EE_AUDIO_LB_STS (0xff642000 + (0x0b6 << 2)) ++#define SEC_EE_AUDIO_LB_STS (0xff642000 + (0x0b6 << 2)) ++#define P_EE_AUDIO_LB_STS (volatile uint32_t *)(0xff642000 + (0x0b6 << 2)) ++#define EE_AUDIO_TDMIN_A_CTRL (0xff642000 + (0x0c0 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_CTRL (0xff642000 + (0x0c0 << 2)) ++#define P_EE_AUDIO_TDMIN_A_CTRL (volatile uint32_t *)(0xff642000 + (0x0c0 << 2)) ++#define EE_AUDIO_TDMIN_A_SWAP (0xff642000 + (0x0c1 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_SWAP (0xff642000 + (0x0c1 << 2)) ++#define P_EE_AUDIO_TDMIN_A_SWAP (volatile uint32_t *)(0xff642000 + (0x0c1 << 2)) ++#define EE_AUDIO_TDMIN_A_MASK0 (0xff642000 + (0x0c2 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_MASK0 (0xff642000 + (0x0c2 << 2)) ++#define P_EE_AUDIO_TDMIN_A_MASK0 (volatile uint32_t *)(0xff642000 + (0x0c2 << 2)) ++#define EE_AUDIO_TDMIN_A_MASK1 (0xff642000 + (0x0c3 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_MASK1 (0xff642000 + (0x0c3 << 2)) ++#define P_EE_AUDIO_TDMIN_A_MASK1 (volatile uint32_t *)(0xff642000 + (0x0c3 << 2)) ++#define EE_AUDIO_TDMIN_A_MASK2 (0xff642000 + (0x0c4 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_MASK2 (0xff642000 + (0x0c4 << 2)) ++#define P_EE_AUDIO_TDMIN_A_MASK2 (volatile uint32_t *)(0xff642000 + (0x0c4 << 2)) ++#define EE_AUDIO_TDMIN_A_MASK3 (0xff642000 + (0x0c5 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_MASK3 (0xff642000 + (0x0c5 << 2)) ++#define P_EE_AUDIO_TDMIN_A_MASK3 (volatile uint32_t *)(0xff642000 + (0x0c5 << 2)) ++#define EE_AUDIO_TDMIN_A_STAT (0xff642000 + (0x0c6 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_STAT (0xff642000 + (0x0c6 << 2)) ++#define P_EE_AUDIO_TDMIN_A_STAT (volatile uint32_t *)(0xff642000 + (0x0c6 << 2)) ++#define EE_AUDIO_TDMIN_A_MUTE_VAL (0xff642000 + (0x0c7 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_MUTE_VAL (0xff642000 + (0x0c7 << 2)) ++#define P_EE_AUDIO_TDMIN_A_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x0c7 << 2)) ++#define EE_AUDIO_TDMIN_A_MUTE0 (0xff642000 + (0x0c8 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_MUTE0 (0xff642000 + (0x0c8 << 2)) ++#define P_EE_AUDIO_TDMIN_A_MUTE0 (volatile uint32_t *)(0xff642000 + (0x0c8 << 2)) ++#define EE_AUDIO_TDMIN_A_MUTE1 (0xff642000 + (0x0c9 << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_MUTE1 (0xff642000 + (0x0c9 << 2)) ++#define P_EE_AUDIO_TDMIN_A_MUTE1 (volatile uint32_t *)(0xff642000 + (0x0c9 << 2)) ++#define EE_AUDIO_TDMIN_A_MUTE2 (0xff642000 + (0x0ca << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_MUTE2 (0xff642000 + (0x0ca << 2)) ++#define P_EE_AUDIO_TDMIN_A_MUTE2 (volatile uint32_t *)(0xff642000 + (0x0ca << 2)) ++#define EE_AUDIO_TDMIN_A_MUTE3 (0xff642000 + (0x0cb << 2)) ++#define SEC_EE_AUDIO_TDMIN_A_MUTE3 (0xff642000 + (0x0cb << 2)) ++#define P_EE_AUDIO_TDMIN_A_MUTE3 (volatile uint32_t *)(0xff642000 + (0x0cb << 2)) ++#define EE_AUDIO_TDMIN_B_CTRL (0xff642000 + (0x0d0 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_CTRL (0xff642000 + (0x0d0 << 2)) ++#define P_EE_AUDIO_TDMIN_B_CTRL (volatile uint32_t *)(0xff642000 + (0x0d0 << 2)) ++#define EE_AUDIO_TDMIN_B_SWAP (0xff642000 + (0x0d1 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_SWAP (0xff642000 + (0x0d1 << 2)) ++#define P_EE_AUDIO_TDMIN_B_SWAP (volatile uint32_t *)(0xff642000 + (0x0d1 << 2)) ++#define EE_AUDIO_TDMIN_B_MASK0 (0xff642000 + (0x0d2 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_MASK0 (0xff642000 + (0x0d2 << 2)) ++#define P_EE_AUDIO_TDMIN_B_MASK0 (volatile uint32_t *)(0xff642000 + (0x0d2 << 2)) ++#define EE_AUDIO_TDMIN_B_MASK1 (0xff642000 + (0x0d3 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_MASK1 (0xff642000 + (0x0d3 << 2)) ++#define P_EE_AUDIO_TDMIN_B_MASK1 (volatile uint32_t *)(0xff642000 + (0x0d3 << 2)) ++#define EE_AUDIO_TDMIN_B_MASK2 (0xff642000 + (0x0d4 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_MASK2 (0xff642000 + (0x0d4 << 2)) ++#define P_EE_AUDIO_TDMIN_B_MASK2 (volatile uint32_t *)(0xff642000 + (0x0d4 << 2)) ++#define EE_AUDIO_TDMIN_B_MASK3 (0xff642000 + (0x0d5 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_MASK3 (0xff642000 + (0x0d5 << 2)) ++#define P_EE_AUDIO_TDMIN_B_MASK3 (volatile uint32_t *)(0xff642000 + (0x0d5 << 2)) ++#define EE_AUDIO_TDMIN_B_STAT (0xff642000 + (0x0d6 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_STAT (0xff642000 + (0x0d6 << 2)) ++#define P_EE_AUDIO_TDMIN_B_STAT (volatile uint32_t *)(0xff642000 + (0x0d6 << 2)) ++#define EE_AUDIO_TDMIN_B_MUTE_VAL (0xff642000 + (0x0d7 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_MUTE_VAL (0xff642000 + (0x0d7 << 2)) ++#define P_EE_AUDIO_TDMIN_B_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x0d7 << 2)) ++#define EE_AUDIO_TDMIN_B_MUTE0 (0xff642000 + (0x0d8 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_MUTE0 (0xff642000 + (0x0d8 << 2)) ++#define P_EE_AUDIO_TDMIN_B_MUTE0 (volatile uint32_t *)(0xff642000 + (0x0d8 << 2)) ++#define EE_AUDIO_TDMIN_B_MUTE1 (0xff642000 + (0x0d9 << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_MUTE1 (0xff642000 + (0x0d9 << 2)) ++#define P_EE_AUDIO_TDMIN_B_MUTE1 (volatile uint32_t *)(0xff642000 + (0x0d9 << 2)) ++#define EE_AUDIO_TDMIN_B_MUTE2 (0xff642000 + (0x0da << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_MUTE2 (0xff642000 + (0x0da << 2)) ++#define P_EE_AUDIO_TDMIN_B_MUTE2 (volatile uint32_t *)(0xff642000 + (0x0da << 2)) ++#define EE_AUDIO_TDMIN_B_MUTE3 (0xff642000 + (0x0db << 2)) ++#define SEC_EE_AUDIO_TDMIN_B_MUTE3 (0xff642000 + (0x0db << 2)) ++#define P_EE_AUDIO_TDMIN_B_MUTE3 (volatile uint32_t *)(0xff642000 + (0x0db << 2)) ++#define EE_AUDIO_TDMIN_C_CTRL (0xff642000 + (0x0e0 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_CTRL (0xff642000 + (0x0e0 << 2)) ++#define P_EE_AUDIO_TDMIN_C_CTRL (volatile uint32_t *)(0xff642000 + (0x0e0 << 2)) ++#define EE_AUDIO_TDMIN_C_SWAP (0xff642000 + (0x0e1 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_SWAP (0xff642000 + (0x0e1 << 2)) ++#define P_EE_AUDIO_TDMIN_C_SWAP (volatile uint32_t *)(0xff642000 + (0x0e1 << 2)) ++#define EE_AUDIO_TDMIN_C_MASK0 (0xff642000 + (0x0e2 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_MASK0 (0xff642000 + (0x0e2 << 2)) ++#define P_EE_AUDIO_TDMIN_C_MASK0 (volatile uint32_t *)(0xff642000 + (0x0e2 << 2)) ++#define EE_AUDIO_TDMIN_C_MASK1 (0xff642000 + (0x0e3 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_MASK1 (0xff642000 + (0x0e3 << 2)) ++#define P_EE_AUDIO_TDMIN_C_MASK1 (volatile uint32_t *)(0xff642000 + (0x0e3 << 2)) ++#define EE_AUDIO_TDMIN_C_MASK2 (0xff642000 + (0x0e4 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_MASK2 (0xff642000 + (0x0e4 << 2)) ++#define P_EE_AUDIO_TDMIN_C_MASK2 (volatile uint32_t *)(0xff642000 + (0x0e4 << 2)) ++#define EE_AUDIO_TDMIN_C_MASK3 (0xff642000 + (0x0e5 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_MASK3 (0xff642000 + (0x0e5 << 2)) ++#define P_EE_AUDIO_TDMIN_C_MASK3 (volatile uint32_t *)(0xff642000 + (0x0e5 << 2)) ++#define EE_AUDIO_TDMIN_C_STAT (0xff642000 + (0x0e6 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_STAT (0xff642000 + (0x0e6 << 2)) ++#define P_EE_AUDIO_TDMIN_C_STAT (volatile uint32_t *)(0xff642000 + (0x0e6 << 2)) ++#define EE_AUDIO_TDMIN_C_MUTE_VAL (0xff642000 + (0x0e7 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_MUTE_VAL (0xff642000 + (0x0e7 << 2)) ++#define P_EE_AUDIO_TDMIN_C_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x0e7 << 2)) ++#define EE_AUDIO_TDMIN_C_MUTE0 (0xff642000 + (0x0e8 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_MUTE0 (0xff642000 + (0x0e8 << 2)) ++#define P_EE_AUDIO_TDMIN_C_MUTE0 (volatile uint32_t *)(0xff642000 + (0x0e8 << 2)) ++#define EE_AUDIO_TDMIN_C_MUTE1 (0xff642000 + (0x0e9 << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_MUTE1 (0xff642000 + (0x0e9 << 2)) ++#define P_EE_AUDIO_TDMIN_C_MUTE1 (volatile uint32_t *)(0xff642000 + (0x0e9 << 2)) ++#define EE_AUDIO_TDMIN_C_MUTE2 (0xff642000 + (0x0ea << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_MUTE2 (0xff642000 + (0x0ea << 2)) ++#define P_EE_AUDIO_TDMIN_C_MUTE2 (volatile uint32_t *)(0xff642000 + (0x0ea << 2)) ++#define EE_AUDIO_TDMIN_C_MUTE3 (0xff642000 + (0x0eb << 2)) ++#define SEC_EE_AUDIO_TDMIN_C_MUTE3 (0xff642000 + (0x0eb << 2)) ++#define P_EE_AUDIO_TDMIN_C_MUTE3 (volatile uint32_t *)(0xff642000 + (0x0eb << 2)) ++#define EE_AUDIO_TDMIN_LB_CTRL (0xff642000 + (0x0f0 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_CTRL (0xff642000 + (0x0f0 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_CTRL (volatile uint32_t *)(0xff642000 + (0x0f0 << 2)) ++#define EE_AUDIO_TDMIN_LB_SWAP (0xff642000 + (0x0f1 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_SWAP (0xff642000 + (0x0f1 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_SWAP (volatile uint32_t *)(0xff642000 + (0x0f1 << 2)) ++#define EE_AUDIO_TDMIN_LB_MASK0 (0xff642000 + (0x0f2 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_MASK0 (0xff642000 + (0x0f2 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_MASK0 (volatile uint32_t *)(0xff642000 + (0x0f2 << 2)) ++#define EE_AUDIO_TDMIN_LB_MASK1 (0xff642000 + (0x0f3 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_MASK1 (0xff642000 + (0x0f3 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_MASK1 (volatile uint32_t *)(0xff642000 + (0x0f3 << 2)) ++#define EE_AUDIO_TDMIN_LB_MASK2 (0xff642000 + (0x0f4 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_MASK2 (0xff642000 + (0x0f4 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_MASK2 (volatile uint32_t *)(0xff642000 + (0x0f4 << 2)) ++#define EE_AUDIO_TDMIN_LB_MASK3 (0xff642000 + (0x0f5 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_MASK3 (0xff642000 + (0x0f5 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_MASK3 (volatile uint32_t *)(0xff642000 + (0x0f5 << 2)) ++#define EE_AUDIO_TDMIN_LB_STAT (0xff642000 + (0x0f6 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_STAT (0xff642000 + (0x0f6 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_STAT (volatile uint32_t *)(0xff642000 + (0x0f6 << 2)) ++#define EE_AUDIO_TDMIN_LB_MUTE_VAL (0xff642000 + (0x0f7 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_MUTE_VAL (0xff642000 + (0x0f7 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x0f7 << 2)) ++#define EE_AUDIO_TDMIN_LB_MUTE0 (0xff642000 + (0x0f8 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_MUTE0 (0xff642000 + (0x0f8 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_MUTE0 (volatile uint32_t *)(0xff642000 + (0x0f8 << 2)) ++#define EE_AUDIO_TDMIN_LB_MUTE1 (0xff642000 + (0x0f9 << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_MUTE1 (0xff642000 + (0x0f9 << 2)) ++#define P_EE_AUDIO_TDMIN_LB_MUTE1 (volatile uint32_t *)(0xff642000 + (0x0f9 << 2)) ++#define EE_AUDIO_TDMIN_LB_MUTE2 (0xff642000 + (0x0fa << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_MUTE2 (0xff642000 + (0x0fa << 2)) ++#define P_EE_AUDIO_TDMIN_LB_MUTE2 (volatile uint32_t *)(0xff642000 + (0x0fa << 2)) ++#define EE_AUDIO_TDMIN_LB_MUTE3 (0xff642000 + (0x0fb << 2)) ++#define SEC_EE_AUDIO_TDMIN_LB_MUTE3 (0xff642000 + (0x0fb << 2)) ++#define P_EE_AUDIO_TDMIN_LB_MUTE3 (volatile uint32_t *)(0xff642000 + (0x0fb << 2)) ++#define EE_AUDIO_SPDIFIN_CTRL0 (0xff642000 + (0x100 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_CTRL0 (0xff642000 + (0x100 << 2)) ++#define P_EE_AUDIO_SPDIFIN_CTRL0 (volatile uint32_t *)(0xff642000 + (0x100 << 2)) ++#define EE_AUDIO_SPDIFIN_CTRL1 (0xff642000 + (0x101 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_CTRL1 (0xff642000 + (0x101 << 2)) ++#define P_EE_AUDIO_SPDIFIN_CTRL1 (volatile uint32_t *)(0xff642000 + (0x101 << 2)) ++#define EE_AUDIO_SPDIFIN_CTRL2 (0xff642000 + (0x102 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_CTRL2 (0xff642000 + (0x102 << 2)) ++#define P_EE_AUDIO_SPDIFIN_CTRL2 (volatile uint32_t *)(0xff642000 + (0x102 << 2)) ++#define EE_AUDIO_SPDIFIN_CTRL3 (0xff642000 + (0x103 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_CTRL3 (0xff642000 + (0x103 << 2)) ++#define P_EE_AUDIO_SPDIFIN_CTRL3 (volatile uint32_t *)(0xff642000 + (0x103 << 2)) ++#define EE_AUDIO_SPDIFIN_CTRL4 (0xff642000 + (0x104 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_CTRL4 (0xff642000 + (0x104 << 2)) ++#define P_EE_AUDIO_SPDIFIN_CTRL4 (volatile uint32_t *)(0xff642000 + (0x104 << 2)) ++#define EE_AUDIO_SPDIFIN_CTRL5 (0xff642000 + (0x105 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_CTRL5 (0xff642000 + (0x105 << 2)) ++#define P_EE_AUDIO_SPDIFIN_CTRL5 (volatile uint32_t *)(0xff642000 + (0x105 << 2)) ++#define EE_AUDIO_SPDIFIN_CTRL6 (0xff642000 + (0x106 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_CTRL6 (0xff642000 + (0x106 << 2)) ++#define P_EE_AUDIO_SPDIFIN_CTRL6 (volatile uint32_t *)(0xff642000 + (0x106 << 2)) ++#define EE_AUDIO_SPDIFIN_STAT0 (0xff642000 + (0x107 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_STAT0 (0xff642000 + (0x107 << 2)) ++#define P_EE_AUDIO_SPDIFIN_STAT0 (volatile uint32_t *)(0xff642000 + (0x107 << 2)) ++#define EE_AUDIO_SPDIFIN_STAT1 (0xff642000 + (0x108 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_STAT1 (0xff642000 + (0x108 << 2)) ++#define P_EE_AUDIO_SPDIFIN_STAT1 (volatile uint32_t *)(0xff642000 + (0x108 << 2)) ++#define EE_AUDIO_SPDIFIN_STAT2 (0xff642000 + (0x109 << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_STAT2 (0xff642000 + (0x109 << 2)) ++#define P_EE_AUDIO_SPDIFIN_STAT2 (volatile uint32_t *)(0xff642000 + (0x109 << 2)) ++#define EE_AUDIO_SPDIFIN_MUTE_VAL (0xff642000 + (0x10a << 2)) ++#define SEC_EE_AUDIO_SPDIFIN_MUTE_VAL (0xff642000 + (0x10a << 2)) ++#define P_EE_AUDIO_SPDIFIN_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x10a << 2)) ++#define EE_AUDIO_RESAMPLE_CTRL0 (0xff642000 + (0x110 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_CTRL0 (0xff642000 + (0x110 << 2)) ++#define P_EE_AUDIO_RESAMPLE_CTRL0 (volatile uint32_t *)(0xff642000 + (0x110 << 2)) ++#define EE_AUDIO_RESAMPLE_CTRL1 (0xff642000 + (0x111 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_CTRL1 (0xff642000 + (0x111 << 2)) ++#define P_EE_AUDIO_RESAMPLE_CTRL1 (volatile uint32_t *)(0xff642000 + (0x111 << 2)) ++#define EE_AUDIO_RESAMPLE_CTRL2 (0xff642000 + (0x112 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_CTRL2 (0xff642000 + (0x112 << 2)) ++#define P_EE_AUDIO_RESAMPLE_CTRL2 (volatile uint32_t *)(0xff642000 + (0x112 << 2)) ++#define EE_AUDIO_RESAMPLE_CTRL3 (0xff642000 + (0x113 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_CTRL3 (0xff642000 + (0x113 << 2)) ++#define P_EE_AUDIO_RESAMPLE_CTRL3 (volatile uint32_t *)(0xff642000 + (0x113 << 2)) ++#define EE_AUDIO_RESAMPLE_COEF0 (0xff642000 + (0x114 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_COEF0 (0xff642000 + (0x114 << 2)) ++#define P_EE_AUDIO_RESAMPLE_COEF0 (volatile uint32_t *)(0xff642000 + (0x114 << 2)) ++#define EE_AUDIO_RESAMPLE_COEF1 (0xff642000 + (0x115 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_COEF1 (0xff642000 + (0x115 << 2)) ++#define P_EE_AUDIO_RESAMPLE_COEF1 (volatile uint32_t *)(0xff642000 + (0x115 << 2)) ++#define EE_AUDIO_RESAMPLE_COEF2 (0xff642000 + (0x116 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_COEF2 (0xff642000 + (0x116 << 2)) ++#define P_EE_AUDIO_RESAMPLE_COEF2 (volatile uint32_t *)(0xff642000 + (0x116 << 2)) ++#define EE_AUDIO_RESAMPLE_COEF3 (0xff642000 + (0x117 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_COEF3 (0xff642000 + (0x117 << 2)) ++#define P_EE_AUDIO_RESAMPLE_COEF3 (volatile uint32_t *)(0xff642000 + (0x117 << 2)) ++#define EE_AUDIO_RESAMPLE_COEF4 (0xff642000 + (0x118 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_COEF4 (0xff642000 + (0x118 << 2)) ++#define P_EE_AUDIO_RESAMPLE_COEF4 (volatile uint32_t *)(0xff642000 + (0x118 << 2)) ++#define EE_AUDIO_RESAMPLE_STATUS1 (0xff642000 + (0x119 << 2)) ++#define SEC_EE_AUDIO_RESAMPLE_STATUS1 (0xff642000 + (0x119 << 2)) ++#define P_EE_AUDIO_RESAMPLE_STATUS1 (volatile uint32_t *)(0xff642000 + (0x119 << 2)) ++#define EE_AUDIO_SPDIFOUT_STAT (0xff642000 + (0x120 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_STAT (0xff642000 + (0x120 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_STAT (volatile uint32_t *)(0xff642000 + (0x120 << 2)) ++#define EE_AUDIO_SPDIFOUT_GAIN0 (0xff642000 + (0x121 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_GAIN0 (0xff642000 + (0x121 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_GAIN0 (volatile uint32_t *)(0xff642000 + (0x121 << 2)) ++#define EE_AUDIO_SPDIFOUT_GAIN1 (0xff642000 + (0x122 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_GAIN1 (0xff642000 + (0x122 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_GAIN1 (volatile uint32_t *)(0xff642000 + (0x122 << 2)) ++#define EE_AUDIO_SPDIFOUT_CTRL0 (0xff642000 + (0x123 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CTRL0 (0xff642000 + (0x123 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CTRL0 (volatile uint32_t *)(0xff642000 + (0x123 << 2)) ++#define EE_AUDIO_SPDIFOUT_CTRL1 (0xff642000 + (0x124 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CTRL1 (0xff642000 + (0x124 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CTRL1 (volatile uint32_t *)(0xff642000 + (0x124 << 2)) ++#define EE_AUDIO_SPDIFOUT_PREAMB (0xff642000 + (0x125 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_PREAMB (0xff642000 + (0x125 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_PREAMB (volatile uint32_t *)(0xff642000 + (0x125 << 2)) ++#define EE_AUDIO_SPDIFOUT_SWAP (0xff642000 + (0x126 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_SWAP (0xff642000 + (0x126 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_SWAP (volatile uint32_t *)(0xff642000 + (0x126 << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS0 (0xff642000 + (0x127 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS0 (0xff642000 + (0x127 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS0 (volatile uint32_t *)(0xff642000 + (0x127 << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS1 (0xff642000 + (0x128 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS1 (0xff642000 + (0x128 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS1 (volatile uint32_t *)(0xff642000 + (0x128 << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS2 (0xff642000 + (0x129 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS2 (0xff642000 + (0x129 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS2 (volatile uint32_t *)(0xff642000 + (0x129 << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS3 (0xff642000 + (0x12a << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS3 (0xff642000 + (0x12a << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS3 (volatile uint32_t *)(0xff642000 + (0x12a << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS4 (0xff642000 + (0x12b << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS4 (0xff642000 + (0x12b << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS4 (volatile uint32_t *)(0xff642000 + (0x12b << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS5 (0xff642000 + (0x12c << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS5 (0xff642000 + (0x12c << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS5 (volatile uint32_t *)(0xff642000 + (0x12c << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS6 (0xff642000 + (0x12d << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS6 (0xff642000 + (0x12d << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS6 (volatile uint32_t *)(0xff642000 + (0x12d << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS7 (0xff642000 + (0x12e << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS7 (0xff642000 + (0x12e << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS7 (volatile uint32_t *)(0xff642000 + (0x12e << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS8 (0xff642000 + (0x12f << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS8 (0xff642000 + (0x12f << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS8 (volatile uint32_t *)(0xff642000 + (0x12f << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTS9 (0xff642000 + (0x130 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTS9 (0xff642000 + (0x130 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTS9 (volatile uint32_t *)(0xff642000 + (0x130 << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTSA (0xff642000 + (0x131 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTSA (0xff642000 + (0x131 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTSA (volatile uint32_t *)(0xff642000 + (0x131 << 2)) ++#define EE_AUDIO_SPDIFOUT_CHSTSB (0xff642000 + (0x132 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_CHSTSB (0xff642000 + (0x132 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_CHSTSB (volatile uint32_t *)(0xff642000 + (0x132 << 2)) ++#define EE_AUDIO_SPDIFOUT_MUTE_VAL (0xff642000 + (0x133 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_MUTE_VAL (0xff642000 + (0x133 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x133 << 2)) ++#define EE_AUDIO_TDMOUT_A_CTRL0 (0xff642000 + (0x140 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_CTRL0 (0xff642000 + (0x140 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_CTRL0 (volatile uint32_t *)(0xff642000 + (0x140 << 2)) ++#define EE_AUDIO_TDMOUT_A_CTRL1 (0xff642000 + (0x141 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_CTRL1 (0xff642000 + (0x141 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_CTRL1 (volatile uint32_t *)(0xff642000 + (0x141 << 2)) ++#define EE_AUDIO_TDMOUT_A_SWAP (0xff642000 + (0x142 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_SWAP (0xff642000 + (0x142 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_SWAP (volatile uint32_t *)(0xff642000 + (0x142 << 2)) ++#define EE_AUDIO_TDMOUT_A_MASK0 (0xff642000 + (0x143 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MASK0 (0xff642000 + (0x143 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MASK0 (volatile uint32_t *)(0xff642000 + (0x143 << 2)) ++#define EE_AUDIO_TDMOUT_A_MASK1 (0xff642000 + (0x144 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MASK1 (0xff642000 + (0x144 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MASK1 (volatile uint32_t *)(0xff642000 + (0x144 << 2)) ++#define EE_AUDIO_TDMOUT_A_MASK2 (0xff642000 + (0x145 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MASK2 (0xff642000 + (0x145 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MASK2 (volatile uint32_t *)(0xff642000 + (0x145 << 2)) ++#define EE_AUDIO_TDMOUT_A_MASK3 (0xff642000 + (0x146 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MASK3 (0xff642000 + (0x146 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MASK3 (volatile uint32_t *)(0xff642000 + (0x146 << 2)) ++#define EE_AUDIO_TDMOUT_A_STAT (0xff642000 + (0x147 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_STAT (0xff642000 + (0x147 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_STAT (volatile uint32_t *)(0xff642000 + (0x147 << 2)) ++#define EE_AUDIO_TDMOUT_A_GAIN0 (0xff642000 + (0x148 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_GAIN0 (0xff642000 + (0x148 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_GAIN0 (volatile uint32_t *)(0xff642000 + (0x148 << 2)) ++#define EE_AUDIO_TDMOUT_A_GAIN1 (0xff642000 + (0x149 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_GAIN1 (0xff642000 + (0x149 << 2)) ++#define P_EE_AUDIO_TDMOUT_A_GAIN1 (volatile uint32_t *)(0xff642000 + (0x149 << 2)) ++#define EE_AUDIO_TDMOUT_A_MUTE_VAL (0xff642000 + (0x14a << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MUTE_VAL (0xff642000 + (0x14a << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x14a << 2)) ++#define EE_AUDIO_TDMOUT_A_MUTE0 (0xff642000 + (0x14b << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MUTE0 (0xff642000 + (0x14b << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MUTE0 (volatile uint32_t *)(0xff642000 + (0x14b << 2)) ++#define EE_AUDIO_TDMOUT_A_MUTE1 (0xff642000 + (0x14c << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MUTE1 (0xff642000 + (0x14c << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MUTE1 (volatile uint32_t *)(0xff642000 + (0x14c << 2)) ++#define EE_AUDIO_TDMOUT_A_MUTE2 (0xff642000 + (0x14d << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MUTE2 (0xff642000 + (0x14d << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MUTE2 (volatile uint32_t *)(0xff642000 + (0x14d << 2)) ++#define EE_AUDIO_TDMOUT_A_MUTE3 (0xff642000 + (0x14e << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MUTE3 (0xff642000 + (0x14e << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MUTE3 (volatile uint32_t *)(0xff642000 + (0x14e << 2)) ++#define EE_AUDIO_TDMOUT_A_MASK_VAL (0xff642000 + (0x14f << 2)) ++#define SEC_EE_AUDIO_TDMOUT_A_MASK_VAL (0xff642000 + (0x14f << 2)) ++#define P_EE_AUDIO_TDMOUT_A_MASK_VAL (volatile uint32_t *)(0xff642000 + (0x14f << 2)) ++#define EE_AUDIO_TDMOUT_B_CTRL0 (0xff642000 + (0x150 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_CTRL0 (0xff642000 + (0x150 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_CTRL0 (volatile uint32_t *)(0xff642000 + (0x150 << 2)) ++#define EE_AUDIO_TDMOUT_B_CTRL1 (0xff642000 + (0x151 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_CTRL1 (0xff642000 + (0x151 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_CTRL1 (volatile uint32_t *)(0xff642000 + (0x151 << 2)) ++#define EE_AUDIO_TDMOUT_B_SWAP (0xff642000 + (0x152 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_SWAP (0xff642000 + (0x152 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_SWAP (volatile uint32_t *)(0xff642000 + (0x152 << 2)) ++#define EE_AUDIO_TDMOUT_B_MASK0 (0xff642000 + (0x153 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MASK0 (0xff642000 + (0x153 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MASK0 (volatile uint32_t *)(0xff642000 + (0x153 << 2)) ++#define EE_AUDIO_TDMOUT_B_MASK1 (0xff642000 + (0x154 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MASK1 (0xff642000 + (0x154 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MASK1 (volatile uint32_t *)(0xff642000 + (0x154 << 2)) ++#define EE_AUDIO_TDMOUT_B_MASK2 (0xff642000 + (0x155 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MASK2 (0xff642000 + (0x155 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MASK2 (volatile uint32_t *)(0xff642000 + (0x155 << 2)) ++#define EE_AUDIO_TDMOUT_B_MASK3 (0xff642000 + (0x156 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MASK3 (0xff642000 + (0x156 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MASK3 (volatile uint32_t *)(0xff642000 + (0x156 << 2)) ++#define EE_AUDIO_TDMOUT_B_STAT (0xff642000 + (0x157 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_STAT (0xff642000 + (0x157 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_STAT (volatile uint32_t *)(0xff642000 + (0x157 << 2)) ++#define EE_AUDIO_TDMOUT_B_GAIN0 (0xff642000 + (0x158 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_GAIN0 (0xff642000 + (0x158 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_GAIN0 (volatile uint32_t *)(0xff642000 + (0x158 << 2)) ++#define EE_AUDIO_TDMOUT_B_GAIN1 (0xff642000 + (0x159 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_GAIN1 (0xff642000 + (0x159 << 2)) ++#define P_EE_AUDIO_TDMOUT_B_GAIN1 (volatile uint32_t *)(0xff642000 + (0x159 << 2)) ++#define EE_AUDIO_TDMOUT_B_MUTE_VAL (0xff642000 + (0x15a << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MUTE_VAL (0xff642000 + (0x15a << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x15a << 2)) ++#define EE_AUDIO_TDMOUT_B_MUTE0 (0xff642000 + (0x15b << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MUTE0 (0xff642000 + (0x15b << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MUTE0 (volatile uint32_t *)(0xff642000 + (0x15b << 2)) ++#define EE_AUDIO_TDMOUT_B_MUTE1 (0xff642000 + (0x15c << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MUTE1 (0xff642000 + (0x15c << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MUTE1 (volatile uint32_t *)(0xff642000 + (0x15c << 2)) ++#define EE_AUDIO_TDMOUT_B_MUTE2 (0xff642000 + (0x15d << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MUTE2 (0xff642000 + (0x15d << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MUTE2 (volatile uint32_t *)(0xff642000 + (0x15d << 2)) ++#define EE_AUDIO_TDMOUT_B_MUTE3 (0xff642000 + (0x15e << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MUTE3 (0xff642000 + (0x15e << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MUTE3 (volatile uint32_t *)(0xff642000 + (0x15e << 2)) ++#define EE_AUDIO_TDMOUT_B_MASK_VAL (0xff642000 + (0x15f << 2)) ++#define SEC_EE_AUDIO_TDMOUT_B_MASK_VAL (0xff642000 + (0x15f << 2)) ++#define P_EE_AUDIO_TDMOUT_B_MASK_VAL (volatile uint32_t *)(0xff642000 + (0x15f << 2)) ++#define EE_AUDIO_TDMOUT_C_CTRL0 (0xff642000 + (0x160 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_CTRL0 (0xff642000 + (0x160 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_CTRL0 (volatile uint32_t *)(0xff642000 + (0x160 << 2)) ++#define EE_AUDIO_TDMOUT_C_CTRL1 (0xff642000 + (0x161 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_CTRL1 (0xff642000 + (0x161 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_CTRL1 (volatile uint32_t *)(0xff642000 + (0x161 << 2)) ++#define EE_AUDIO_TDMOUT_C_SWAP (0xff642000 + (0x162 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_SWAP (0xff642000 + (0x162 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_SWAP (volatile uint32_t *)(0xff642000 + (0x162 << 2)) ++#define EE_AUDIO_TDMOUT_C_MASK0 (0xff642000 + (0x163 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MASK0 (0xff642000 + (0x163 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MASK0 (volatile uint32_t *)(0xff642000 + (0x163 << 2)) ++#define EE_AUDIO_TDMOUT_C_MASK1 (0xff642000 + (0x164 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MASK1 (0xff642000 + (0x164 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MASK1 (volatile uint32_t *)(0xff642000 + (0x164 << 2)) ++#define EE_AUDIO_TDMOUT_C_MASK2 (0xff642000 + (0x165 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MASK2 (0xff642000 + (0x165 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MASK2 (volatile uint32_t *)(0xff642000 + (0x165 << 2)) ++#define EE_AUDIO_TDMOUT_C_MASK3 (0xff642000 + (0x166 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MASK3 (0xff642000 + (0x166 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MASK3 (volatile uint32_t *)(0xff642000 + (0x166 << 2)) ++#define EE_AUDIO_TDMOUT_C_STAT (0xff642000 + (0x167 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_STAT (0xff642000 + (0x167 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_STAT (volatile uint32_t *)(0xff642000 + (0x167 << 2)) ++#define EE_AUDIO_TDMOUT_C_GAIN0 (0xff642000 + (0x168 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_GAIN0 (0xff642000 + (0x168 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_GAIN0 (volatile uint32_t *)(0xff642000 + (0x168 << 2)) ++#define EE_AUDIO_TDMOUT_C_GAIN1 (0xff642000 + (0x169 << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_GAIN1 (0xff642000 + (0x169 << 2)) ++#define P_EE_AUDIO_TDMOUT_C_GAIN1 (volatile uint32_t *)(0xff642000 + (0x169 << 2)) ++#define EE_AUDIO_TDMOUT_C_MUTE_VAL (0xff642000 + (0x16a << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MUTE_VAL (0xff642000 + (0x16a << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x16a << 2)) ++#define EE_AUDIO_TDMOUT_C_MUTE0 (0xff642000 + (0x16b << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MUTE0 (0xff642000 + (0x16b << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MUTE0 (volatile uint32_t *)(0xff642000 + (0x16b << 2)) ++#define EE_AUDIO_TDMOUT_C_MUTE1 (0xff642000 + (0x16c << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MUTE1 (0xff642000 + (0x16c << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MUTE1 (volatile uint32_t *)(0xff642000 + (0x16c << 2)) ++#define EE_AUDIO_TDMOUT_C_MUTE2 (0xff642000 + (0x16d << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MUTE2 (0xff642000 + (0x16d << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MUTE2 (volatile uint32_t *)(0xff642000 + (0x16d << 2)) ++#define EE_AUDIO_TDMOUT_C_MUTE3 (0xff642000 + (0x16e << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MUTE3 (0xff642000 + (0x16e << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MUTE3 (volatile uint32_t *)(0xff642000 + (0x16e << 2)) ++#define EE_AUDIO_TDMOUT_C_MASK_VAL (0xff642000 + (0x16f << 2)) ++#define SEC_EE_AUDIO_TDMOUT_C_MASK_VAL (0xff642000 + (0x16f << 2)) ++#define P_EE_AUDIO_TDMOUT_C_MASK_VAL (volatile uint32_t *)(0xff642000 + (0x16f << 2)) ++#define EE_AUDIO_POW_DET_CTRL0 (0xff642000 + (0x180 << 2)) ++#define SEC_EE_AUDIO_POW_DET_CTRL0 (0xff642000 + (0x180 << 2)) ++#define P_EE_AUDIO_POW_DET_CTRL0 (volatile uint32_t *)(0xff642000 + (0x180 << 2)) ++#define EE_AUDIO_POW_DET_CTRL1 (0xff642000 + (0x181 << 2)) ++#define SEC_EE_AUDIO_POW_DET_CTRL1 (0xff642000 + (0x181 << 2)) ++#define P_EE_AUDIO_POW_DET_CTRL1 (volatile uint32_t *)(0xff642000 + (0x181 << 2)) ++#define EE_AUDIO_POW_DET_TH_HI (0xff642000 + (0x182 << 2)) ++#define SEC_EE_AUDIO_POW_DET_TH_HI (0xff642000 + (0x182 << 2)) ++#define P_EE_AUDIO_POW_DET_TH_HI (volatile uint32_t *)(0xff642000 + (0x182 << 2)) ++#define EE_AUDIO_POW_DET_TH_LO (0xff642000 + (0x183 << 2)) ++#define SEC_EE_AUDIO_POW_DET_TH_LO (0xff642000 + (0x183 << 2)) ++#define P_EE_AUDIO_POW_DET_TH_LO (volatile uint32_t *)(0xff642000 + (0x183 << 2)) ++#define EE_AUDIO_POW_DET_VALUE (0xff642000 + (0x184 << 2)) ++#define SEC_EE_AUDIO_POW_DET_VALUE (0xff642000 + (0x184 << 2)) ++#define P_EE_AUDIO_POW_DET_VALUE (volatile uint32_t *)(0xff642000 + (0x184 << 2)) ++#define EE_AUDIO_SECURITY_CTRL (0xff642000 + (0x193 << 2)) ++#define SEC_EE_AUDIO_SECURITY_CTRL (0xff642000 + (0x193 << 2)) ++#define P_EE_AUDIO_SECURITY_CTRL (volatile uint32_t *)(0xff642000 + (0x193 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_STAT (0xff642000 + (0x1a0 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_STAT (0xff642000 + (0x1a0 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_STAT (volatile uint32_t *)(0xff642000 + (0x1a0 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_GAIN0 (0xff642000 + (0x1a1 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_GAIN0 (0xff642000 + (0x1a1 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_GAIN0 (volatile uint32_t *)(0xff642000 + (0x1a1 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_GAIN1 (0xff642000 + (0x1a2 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_GAIN1 (0xff642000 + (0x1a2 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_GAIN1 (volatile uint32_t *)(0xff642000 + (0x1a2 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CTRL0 (0xff642000 + (0x1a3 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CTRL0 (0xff642000 + (0x1a3 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CTRL0 (volatile uint32_t *)(0xff642000 + (0x1a3 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CTRL1 (0xff642000 + (0x1a4 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CTRL1 (0xff642000 + (0x1a4 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CTRL1 (volatile uint32_t *)(0xff642000 + (0x1a4 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_PREAMB (0xff642000 + (0x1a5 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_PREAMB (0xff642000 + (0x1a5 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_PREAMB (volatile uint32_t *)(0xff642000 + (0x1a5 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_SWAP (0xff642000 + (0x1a6 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_SWAP (0xff642000 + (0x1a6 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_SWAP (volatile uint32_t *)(0xff642000 + (0x1a6 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS0 (0xff642000 + (0x1a7 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS0 (0xff642000 + (0x1a7 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS0 (volatile uint32_t *)(0xff642000 + (0x1a7 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS1 (0xff642000 + (0x1a8 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS1 (0xff642000 + (0x1a8 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS1 (volatile uint32_t *)(0xff642000 + (0x1a8 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS2 (0xff642000 + (0x1a9 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS2 (0xff642000 + (0x1a9 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS2 (volatile uint32_t *)(0xff642000 + (0x1a9 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS3 (0xff642000 + (0x1aa << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS3 (0xff642000 + (0x1aa << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS3 (volatile uint32_t *)(0xff642000 + (0x1aa << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS4 (0xff642000 + (0x1ab << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS4 (0xff642000 + (0x1ab << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS4 (volatile uint32_t *)(0xff642000 + (0x1ab << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS5 (0xff642000 + (0x1ac << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS5 (0xff642000 + (0x1ac << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS5 (volatile uint32_t *)(0xff642000 + (0x1ac << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS6 (0xff642000 + (0x1ad << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS6 (0xff642000 + (0x1ad << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS6 (volatile uint32_t *)(0xff642000 + (0x1ad << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS7 (0xff642000 + (0x1ae << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS7 (0xff642000 + (0x1ae << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS7 (volatile uint32_t *)(0xff642000 + (0x1ae << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS8 (0xff642000 + (0x1af << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS8 (0xff642000 + (0x1af << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS8 (volatile uint32_t *)(0xff642000 + (0x1af << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTS9 (0xff642000 + (0x1b0 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTS9 (0xff642000 + (0x1b0 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTS9 (volatile uint32_t *)(0xff642000 + (0x1b0 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTSA (0xff642000 + (0x1b1 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTSA (0xff642000 + (0x1b1 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTSA (volatile uint32_t *)(0xff642000 + (0x1b1 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_CHSTSB (0xff642000 + (0x1b2 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_CHSTSB (0xff642000 + (0x1b2 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_CHSTSB (volatile uint32_t *)(0xff642000 + (0x1b2 << 2)) ++#define EE_AUDIO_SPDIFOUT_B_MUTE_VAL (0xff642000 + (0x1b3 << 2)) ++#define SEC_EE_AUDIO_SPDIFOUT_B_MUTE_VAL (0xff642000 + (0x1b3 << 2)) ++#define P_EE_AUDIO_SPDIFOUT_B_MUTE_VAL (volatile uint32_t *)(0xff642000 + (0x1b3 << 2)) ++#define EE_AUDIO_TORAM_CTRL0 (0xff642000 + (0x1c0 << 2)) ++#define SEC_EE_AUDIO_TORAM_CTRL0 (0xff642000 + (0x1c0 << 2)) ++#define P_EE_AUDIO_TORAM_CTRL0 (volatile uint32_t *)(0xff642000 + (0x1c0 << 2)) ++#define EE_AUDIO_TORAM_CTRL1 (0xff642000 + (0x1c1 << 2)) ++#define SEC_EE_AUDIO_TORAM_CTRL1 (0xff642000 + (0x1c1 << 2)) ++#define P_EE_AUDIO_TORAM_CTRL1 (volatile uint32_t *)(0xff642000 + (0x1c1 << 2)) ++#define EE_AUDIO_TORAM_START_ADDR (0xff642000 + (0x1c2 << 2)) ++#define SEC_EE_AUDIO_TORAM_START_ADDR (0xff642000 + (0x1c2 << 2)) ++#define P_EE_AUDIO_TORAM_START_ADDR (volatile uint32_t *)(0xff642000 + (0x1c2 << 2)) ++#define EE_AUDIO_TORAM_FINISH_ADDR (0xff642000 + (0x1c3 << 2)) ++#define SEC_EE_AUDIO_TORAM_FINISH_ADDR (0xff642000 + (0x1c3 << 2)) ++#define P_EE_AUDIO_TORAM_FINISH_ADDR (volatile uint32_t *)(0xff642000 + (0x1c3 << 2)) ++#define EE_AUDIO_TORAM_INT_ADDR (0xff642000 + (0x1c4 << 2)) ++#define SEC_EE_AUDIO_TORAM_INT_ADDR (0xff642000 + (0x1c4 << 2)) ++#define P_EE_AUDIO_TORAM_INT_ADDR (volatile uint32_t *)(0xff642000 + (0x1c4 << 2)) ++#define EE_AUDIO_TORAM_STATUS1 (0xff642000 + (0x1c5 << 2)) ++#define SEC_EE_AUDIO_TORAM_STATUS1 (0xff642000 + (0x1c5 << 2)) ++#define P_EE_AUDIO_TORAM_STATUS1 (volatile uint32_t *)(0xff642000 + (0x1c5 << 2)) ++#define EE_AUDIO_TORAM_STATUS2 (0xff642000 + (0x1c6 << 2)) ++#define SEC_EE_AUDIO_TORAM_STATUS2 (0xff642000 + (0x1c6 << 2)) ++#define P_EE_AUDIO_TORAM_STATUS2 (volatile uint32_t *)(0xff642000 + (0x1c6 << 2)) ++#define EE_AUDIO_TORAM_INIT_ADDR (0xff642000 + (0x1c7 << 2)) ++#define SEC_EE_AUDIO_TORAM_INIT_ADDR (0xff642000 + (0x1c7 << 2)) ++#define P_EE_AUDIO_TORAM_INIT_ADDR (volatile uint32_t *)(0xff642000 + (0x1c7 << 2)) ++#define EE_AUDIO_TOACODEC_CTRL0 (0xff642000 + (0x1d0 << 2)) ++#define SEC_EE_AUDIO_TOACODEC_CTRL0 (0xff642000 + (0x1d0 << 2)) ++#define P_EE_AUDIO_TOACODEC_CTRL0 (volatile uint32_t *)(0xff642000 + (0x1d0 << 2)) ++#define EE_AUDIO_TOHDMITX_CTRL0 (0xff642000 + (0x1d1 << 2)) ++#define SEC_EE_AUDIO_TOHDMITX_CTRL0 (0xff642000 + (0x1d1 << 2)) ++#define P_EE_AUDIO_TOHDMITX_CTRL0 (volatile uint32_t *)(0xff642000 + (0x1d1 << 2)) ++//eq drc register ++#define AED_EQ_CH1_COEF00 (0xff642000 + (0x200 << 2)) ++#define SEC_AED_EQ_CH1_COEF00 (0xff642000 + (0x200 << 2)) ++#define P_AED_EQ_CH1_COEF00 (volatile uint32_t *)(0xff642000 + (0x200 << 2)) ++#define AED_EQ_CH1_COEF01 (0xff642000 + (0x201 << 2)) ++#define SEC_AED_EQ_CH1_COEF01 (0xff642000 + (0x201 << 2)) ++#define P_AED_EQ_CH1_COEF01 (volatile uint32_t *)(0xff642000 + (0x201 << 2)) ++#define AED_EQ_CH1_COEF02 (0xff642000 + (0x202 << 2)) ++#define SEC_AED_EQ_CH1_COEF02 (0xff642000 + (0x202 << 2)) ++#define P_AED_EQ_CH1_COEF02 (volatile uint32_t *)(0xff642000 + (0x202 << 2)) ++#define AED_EQ_CH1_COEF03 (0xff642000 + (0x203 << 2)) ++#define SEC_AED_EQ_CH1_COEF03 (0xff642000 + (0x203 << 2)) ++#define P_AED_EQ_CH1_COEF03 (volatile uint32_t *)(0xff642000 + (0x203 << 2)) ++#define AED_EQ_CH1_COEF04 (0xff642000 + (0x204 << 2)) ++#define SEC_AED_EQ_CH1_COEF04 (0xff642000 + (0x204 << 2)) ++#define P_AED_EQ_CH1_COEF04 (volatile uint32_t *)(0xff642000 + (0x204 << 2)) ++#define AED_EQ_CH1_COEF10 (0xff642000 + (0x205 << 2)) ++#define SEC_AED_EQ_CH1_COEF10 (0xff642000 + (0x205 << 2)) ++#define P_AED_EQ_CH1_COEF10 (volatile uint32_t *)(0xff642000 + (0x205 << 2)) ++#define AED_EQ_CH1_COEF11 (0xff642000 + (0x206 << 2)) ++#define SEC_AED_EQ_CH1_COEF11 (0xff642000 + (0x206 << 2)) ++#define P_AED_EQ_CH1_COEF11 (volatile uint32_t *)(0xff642000 + (0x206 << 2)) ++#define AED_EQ_CH1_COEF12 (0xff642000 + (0x207 << 2)) ++#define SEC_AED_EQ_CH1_COEF12 (0xff642000 + (0x207 << 2)) ++#define P_AED_EQ_CH1_COEF12 (volatile uint32_t *)(0xff642000 + (0x207 << 2)) ++#define AED_EQ_CH1_COEF13 (0xff642000 + (0x208 << 2)) ++#define SEC_AED_EQ_CH1_COEF13 (0xff642000 + (0x208 << 2)) ++#define P_AED_EQ_CH1_COEF13 (volatile uint32_t *)(0xff642000 + (0x208 << 2)) ++#define AED_EQ_CH1_COEF14 (0xff642000 + (0x209 << 2)) ++#define SEC_AED_EQ_CH1_COEF14 (0xff642000 + (0x209 << 2)) ++#define P_AED_EQ_CH1_COEF14 (volatile uint32_t *)(0xff642000 + (0x209 << 2)) ++#define AED_EQ_CH1_COEF20 (0xff642000 + (0x20a << 2)) ++#define SEC_AED_EQ_CH1_COEF20 (0xff642000 + (0x20a << 2)) ++#define P_AED_EQ_CH1_COEF20 (volatile uint32_t *)(0xff642000 + (0x20a << 2)) ++#define AED_EQ_CH1_COEF21 (0xff642000 + (0x20b << 2)) ++#define SEC_AED_EQ_CH1_COEF21 (0xff642000 + (0x20b << 2)) ++#define P_AED_EQ_CH1_COEF21 (volatile uint32_t *)(0xff642000 + (0x20b << 2)) ++#define AED_EQ_CH1_COEF22 (0xff642000 + (0x20c << 2)) ++#define SEC_AED_EQ_CH1_COEF22 (0xff642000 + (0x20c << 2)) ++#define P_AED_EQ_CH1_COEF22 (volatile uint32_t *)(0xff642000 + (0x20c << 2)) ++#define AED_EQ_CH1_COEF23 (0xff642000 + (0x20d << 2)) ++#define SEC_AED_EQ_CH1_COEF23 (0xff642000 + (0x20d << 2)) ++#define P_AED_EQ_CH1_COEF23 (volatile uint32_t *)(0xff642000 + (0x20d << 2)) ++#define AED_EQ_CH1_COEF24 (0xff642000 + (0x20e << 2)) ++#define SEC_AED_EQ_CH1_COEF24 (0xff642000 + (0x20e << 2)) ++#define P_AED_EQ_CH1_COEF24 (volatile uint32_t *)(0xff642000 + (0x20e << 2)) ++#define AED_EQ_CH1_COEF30 (0xff642000 + (0x20f << 2)) ++#define SEC_AED_EQ_CH1_COEF30 (0xff642000 + (0x20f << 2)) ++#define P_AED_EQ_CH1_COEF30 (volatile uint32_t *)(0xff642000 + (0x20f << 2)) ++#define AED_EQ_CH1_COEF31 (0xff642000 + (0x210 << 2)) ++#define SEC_AED_EQ_CH1_COEF31 (0xff642000 + (0x210 << 2)) ++#define P_AED_EQ_CH1_COEF31 (volatile uint32_t *)(0xff642000 + (0x210 << 2)) ++#define AED_EQ_CH1_COEF32 (0xff642000 + (0x211 << 2)) ++#define SEC_AED_EQ_CH1_COEF32 (0xff642000 + (0x211 << 2)) ++#define P_AED_EQ_CH1_COEF32 (volatile uint32_t *)(0xff642000 + (0x211 << 2)) ++#define AED_EQ_CH1_COEF33 (0xff642000 + (0x212 << 2)) ++#define SEC_AED_EQ_CH1_COEF33 (0xff642000 + (0x212 << 2)) ++#define P_AED_EQ_CH1_COEF33 (volatile uint32_t *)(0xff642000 + (0x212 << 2)) ++#define AED_EQ_CH1_COEF34 (0xff642000 + (0x213 << 2)) ++#define SEC_AED_EQ_CH1_COEF34 (0xff642000 + (0x213 << 2)) ++#define P_AED_EQ_CH1_COEF34 (volatile uint32_t *)(0xff642000 + (0x213 << 2)) ++#define AED_EQ_CH1_COEF40 (0xff642000 + (0x214 << 2)) ++#define SEC_AED_EQ_CH1_COEF40 (0xff642000 + (0x214 << 2)) ++#define P_AED_EQ_CH1_COEF40 (volatile uint32_t *)(0xff642000 + (0x214 << 2)) ++#define AED_EQ_CH1_COEF41 (0xff642000 + (0x215 << 2)) ++#define SEC_AED_EQ_CH1_COEF41 (0xff642000 + (0x215 << 2)) ++#define P_AED_EQ_CH1_COEF41 (volatile uint32_t *)(0xff642000 + (0x215 << 2)) ++#define AED_EQ_CH1_COEF42 (0xff642000 + (0x216 << 2)) ++#define SEC_AED_EQ_CH1_COEF42 (0xff642000 + (0x216 << 2)) ++#define P_AED_EQ_CH1_COEF42 (volatile uint32_t *)(0xff642000 + (0x216 << 2)) ++#define AED_EQ_CH1_COEF43 (0xff642000 + (0x217 << 2)) ++#define SEC_AED_EQ_CH1_COEF43 (0xff642000 + (0x217 << 2)) ++#define P_AED_EQ_CH1_COEF43 (volatile uint32_t *)(0xff642000 + (0x217 << 2)) ++#define AED_EQ_CH1_COEF44 (0xff642000 + (0x218 << 2)) ++#define SEC_AED_EQ_CH1_COEF44 (0xff642000 + (0x218 << 2)) ++#define P_AED_EQ_CH1_COEF44 (volatile uint32_t *)(0xff642000 + (0x218 << 2)) ++#define AED_EQ_CH1_COEF50 (0xff642000 + (0x219 << 2)) ++#define SEC_AED_EQ_CH1_COEF50 (0xff642000 + (0x219 << 2)) ++#define P_AED_EQ_CH1_COEF50 (volatile uint32_t *)(0xff642000 + (0x219 << 2)) ++#define AED_EQ_CH1_COEF51 (0xff642000 + (0x21a << 2)) ++#define SEC_AED_EQ_CH1_COEF51 (0xff642000 + (0x21a << 2)) ++#define P_AED_EQ_CH1_COEF51 (volatile uint32_t *)(0xff642000 + (0x21a << 2)) ++#define AED_EQ_CH1_COEF52 (0xff642000 + (0x21b << 2)) ++#define SEC_AED_EQ_CH1_COEF52 (0xff642000 + (0x21b << 2)) ++#define P_AED_EQ_CH1_COEF52 (volatile uint32_t *)(0xff642000 + (0x21b << 2)) ++#define AED_EQ_CH1_COEF53 (0xff642000 + (0x21c << 2)) ++#define SEC_AED_EQ_CH1_COEF53 (0xff642000 + (0x21c << 2)) ++#define P_AED_EQ_CH1_COEF53 (volatile uint32_t *)(0xff642000 + (0x21c << 2)) ++#define AED_EQ_CH1_COEF54 (0xff642000 + (0x21d << 2)) ++#define SEC_AED_EQ_CH1_COEF54 (0xff642000 + (0x21d << 2)) ++#define P_AED_EQ_CH1_COEF54 (volatile uint32_t *)(0xff642000 + (0x21d << 2)) ++#define AED_EQ_CH1_COEF60 (0xff642000 + (0x21e << 2)) ++#define SEC_AED_EQ_CH1_COEF60 (0xff642000 + (0x21e << 2)) ++#define P_AED_EQ_CH1_COEF60 (volatile uint32_t *)(0xff642000 + (0x21e << 2)) ++#define AED_EQ_CH1_COEF61 (0xff642000 + (0x21f << 2)) ++#define SEC_AED_EQ_CH1_COEF61 (0xff642000 + (0x21f << 2)) ++#define P_AED_EQ_CH1_COEF61 (volatile uint32_t *)(0xff642000 + (0x21f << 2)) ++#define AED_EQ_CH1_COEF62 (0xff642000 + (0x220 << 2)) ++#define SEC_AED_EQ_CH1_COEF62 (0xff642000 + (0x220 << 2)) ++#define P_AED_EQ_CH1_COEF62 (volatile uint32_t *)(0xff642000 + (0x220 << 2)) ++#define AED_EQ_CH1_COEF63 (0xff642000 + (0x221 << 2)) ++#define SEC_AED_EQ_CH1_COEF63 (0xff642000 + (0x221 << 2)) ++#define P_AED_EQ_CH1_COEF63 (volatile uint32_t *)(0xff642000 + (0x221 << 2)) ++#define AED_EQ_CH1_COEF64 (0xff642000 + (0x222 << 2)) ++#define SEC_AED_EQ_CH1_COEF64 (0xff642000 + (0x222 << 2)) ++#define P_AED_EQ_CH1_COEF64 (volatile uint32_t *)(0xff642000 + (0x222 << 2)) ++#define AED_EQ_CH1_COEF70 (0xff642000 + (0x223 << 2)) ++#define SEC_AED_EQ_CH1_COEF70 (0xff642000 + (0x223 << 2)) ++#define P_AED_EQ_CH1_COEF70 (volatile uint32_t *)(0xff642000 + (0x223 << 2)) ++#define AED_EQ_CH1_COEF71 (0xff642000 + (0x224 << 2)) ++#define SEC_AED_EQ_CH1_COEF71 (0xff642000 + (0x224 << 2)) ++#define P_AED_EQ_CH1_COEF71 (volatile uint32_t *)(0xff642000 + (0x224 << 2)) ++#define AED_EQ_CH1_COEF72 (0xff642000 + (0x225 << 2)) ++#define SEC_AED_EQ_CH1_COEF72 (0xff642000 + (0x225 << 2)) ++#define P_AED_EQ_CH1_COEF72 (volatile uint32_t *)(0xff642000 + (0x225 << 2)) ++#define AED_EQ_CH1_COEF73 (0xff642000 + (0x226 << 2)) ++#define SEC_AED_EQ_CH1_COEF73 (0xff642000 + (0x226 << 2)) ++#define P_AED_EQ_CH1_COEF73 (volatile uint32_t *)(0xff642000 + (0x226 << 2)) ++#define AED_EQ_CH1_COEF74 (0xff642000 + (0x227 << 2)) ++#define SEC_AED_EQ_CH1_COEF74 (0xff642000 + (0x227 << 2)) ++#define P_AED_EQ_CH1_COEF74 (volatile uint32_t *)(0xff642000 + (0x227 << 2)) ++#define AED_EQ_CH1_COEF80 (0xff642000 + (0x228 << 2)) ++#define SEC_AED_EQ_CH1_COEF80 (0xff642000 + (0x228 << 2)) ++#define P_AED_EQ_CH1_COEF80 (volatile uint32_t *)(0xff642000 + (0x228 << 2)) ++#define AED_EQ_CH1_COEF81 (0xff642000 + (0x229 << 2)) ++#define SEC_AED_EQ_CH1_COEF81 (0xff642000 + (0x229 << 2)) ++#define P_AED_EQ_CH1_COEF81 (volatile uint32_t *)(0xff642000 + (0x229 << 2)) ++#define AED_EQ_CH1_COEF82 (0xff642000 + (0x22a << 2)) ++#define SEC_AED_EQ_CH1_COEF82 (0xff642000 + (0x22a << 2)) ++#define P_AED_EQ_CH1_COEF82 (volatile uint32_t *)(0xff642000 + (0x22a << 2)) ++#define AED_EQ_CH1_COEF83 (0xff642000 + (0x22b << 2)) ++#define SEC_AED_EQ_CH1_COEF83 (0xff642000 + (0x22b << 2)) ++#define P_AED_EQ_CH1_COEF83 (volatile uint32_t *)(0xff642000 + (0x22b << 2)) ++#define AED_EQ_CH1_COEF84 (0xff642000 + (0x22c << 2)) ++#define SEC_AED_EQ_CH1_COEF84 (0xff642000 + (0x22c << 2)) ++#define P_AED_EQ_CH1_COEF84 (volatile uint32_t *)(0xff642000 + (0x22c << 2)) ++#define AED_EQ_CH1_COEF90 (0xff642000 + (0x22d << 2)) ++#define SEC_AED_EQ_CH1_COEF90 (0xff642000 + (0x22d << 2)) ++#define P_AED_EQ_CH1_COEF90 (volatile uint32_t *)(0xff642000 + (0x22d << 2)) ++#define AED_EQ_CH1_COEF91 (0xff642000 + (0x22e << 2)) ++#define SEC_AED_EQ_CH1_COEF91 (0xff642000 + (0x22e << 2)) ++#define P_AED_EQ_CH1_COEF91 (volatile uint32_t *)(0xff642000 + (0x22e << 2)) ++#define AED_EQ_CH1_COEF92 (0xff642000 + (0x22f << 2)) ++#define SEC_AED_EQ_CH1_COEF92 (0xff642000 + (0x22f << 2)) ++#define P_AED_EQ_CH1_COEF92 (volatile uint32_t *)(0xff642000 + (0x22f << 2)) ++#define AED_EQ_CH1_COEF93 (0xff642000 + (0x230 << 2)) ++#define SEC_AED_EQ_CH1_COEF93 (0xff642000 + (0x230 << 2)) ++#define P_AED_EQ_CH1_COEF93 (volatile uint32_t *)(0xff642000 + (0x230 << 2)) ++#define AED_EQ_CH1_COEF94 (0xff642000 + (0x231 << 2)) ++#define SEC_AED_EQ_CH1_COEF94 (0xff642000 + (0x231 << 2)) ++#define P_AED_EQ_CH1_COEF94 (volatile uint32_t *)(0xff642000 + (0x231 << 2)) ++#define AED_EQ_CH2_COEF00 (0xff642000 + (0x232 << 2)) ++#define SEC_AED_EQ_CH2_COEF00 (0xff642000 + (0x232 << 2)) ++#define P_AED_EQ_CH2_COEF00 (volatile uint32_t *)(0xff642000 + (0x232 << 2)) ++#define AED_EQ_CH2_COEF01 (0xff642000 + (0x233 << 2)) ++#define SEC_AED_EQ_CH2_COEF01 (0xff642000 + (0x233 << 2)) ++#define P_AED_EQ_CH2_COEF01 (volatile uint32_t *)(0xff642000 + (0x233 << 2)) ++#define AED_EQ_CH2_COEF02 (0xff642000 + (0x234 << 2)) ++#define SEC_AED_EQ_CH2_COEF02 (0xff642000 + (0x234 << 2)) ++#define P_AED_EQ_CH2_COEF02 (volatile uint32_t *)(0xff642000 + (0x234 << 2)) ++#define AED_EQ_CH2_COEF03 (0xff642000 + (0x235 << 2)) ++#define SEC_AED_EQ_CH2_COEF03 (0xff642000 + (0x235 << 2)) ++#define P_AED_EQ_CH2_COEF03 (volatile uint32_t *)(0xff642000 + (0x235 << 2)) ++#define AED_EQ_CH2_COEF04 (0xff642000 + (0x236 << 2)) ++#define SEC_AED_EQ_CH2_COEF04 (0xff642000 + (0x236 << 2)) ++#define P_AED_EQ_CH2_COEF04 (volatile uint32_t *)(0xff642000 + (0x236 << 2)) ++#define AED_EQ_CH2_COEF10 (0xff642000 + (0x237 << 2)) ++#define SEC_AED_EQ_CH2_COEF10 (0xff642000 + (0x237 << 2)) ++#define P_AED_EQ_CH2_COEF10 (volatile uint32_t *)(0xff642000 + (0x237 << 2)) ++#define AED_EQ_CH2_COEF11 (0xff642000 + (0x238 << 2)) ++#define SEC_AED_EQ_CH2_COEF11 (0xff642000 + (0x238 << 2)) ++#define P_AED_EQ_CH2_COEF11 (volatile uint32_t *)(0xff642000 + (0x238 << 2)) ++#define AED_EQ_CH2_COEF12 (0xff642000 + (0x239 << 2)) ++#define SEC_AED_EQ_CH2_COEF12 (0xff642000 + (0x239 << 2)) ++#define P_AED_EQ_CH2_COEF12 (volatile uint32_t *)(0xff642000 + (0x239 << 2)) ++#define AED_EQ_CH2_COEF13 (0xff642000 + (0x23a << 2)) ++#define SEC_AED_EQ_CH2_COEF13 (0xff642000 + (0x23a << 2)) ++#define P_AED_EQ_CH2_COEF13 (volatile uint32_t *)(0xff642000 + (0x23a << 2)) ++#define AED_EQ_CH2_COEF14 (0xff642000 + (0x23b << 2)) ++#define SEC_AED_EQ_CH2_COEF14 (0xff642000 + (0x23b << 2)) ++#define P_AED_EQ_CH2_COEF14 (volatile uint32_t *)(0xff642000 + (0x23b << 2)) ++#define AED_EQ_CH2_COEF20 (0xff642000 + (0x23c << 2)) ++#define SEC_AED_EQ_CH2_COEF20 (0xff642000 + (0x23c << 2)) ++#define P_AED_EQ_CH2_COEF20 (volatile uint32_t *)(0xff642000 + (0x23c << 2)) ++#define AED_EQ_CH2_COEF21 (0xff642000 + (0x23d << 2)) ++#define SEC_AED_EQ_CH2_COEF21 (0xff642000 + (0x23d << 2)) ++#define P_AED_EQ_CH2_COEF21 (volatile uint32_t *)(0xff642000 + (0x23d << 2)) ++#define AED_EQ_CH2_COEF22 (0xff642000 + (0x23e << 2)) ++#define SEC_AED_EQ_CH2_COEF22 (0xff642000 + (0x23e << 2)) ++#define P_AED_EQ_CH2_COEF22 (volatile uint32_t *)(0xff642000 + (0x23e << 2)) ++#define AED_EQ_CH2_COEF23 (0xff642000 + (0x23f << 2)) ++#define SEC_AED_EQ_CH2_COEF23 (0xff642000 + (0x23f << 2)) ++#define P_AED_EQ_CH2_COEF23 (volatile uint32_t *)(0xff642000 + (0x23f << 2)) ++#define AED_EQ_CH2_COEF24 (0xff642000 + (0x240 << 2)) ++#define SEC_AED_EQ_CH2_COEF24 (0xff642000 + (0x240 << 2)) ++#define P_AED_EQ_CH2_COEF24 (volatile uint32_t *)(0xff642000 + (0x240 << 2)) ++#define AED_EQ_CH2_COEF30 (0xff642000 + (0x241 << 2)) ++#define SEC_AED_EQ_CH2_COEF30 (0xff642000 + (0x241 << 2)) ++#define P_AED_EQ_CH2_COEF30 (volatile uint32_t *)(0xff642000 + (0x241 << 2)) ++#define AED_EQ_CH2_COEF31 (0xff642000 + (0x242 << 2)) ++#define SEC_AED_EQ_CH2_COEF31 (0xff642000 + (0x242 << 2)) ++#define P_AED_EQ_CH2_COEF31 (volatile uint32_t *)(0xff642000 + (0x242 << 2)) ++#define AED_EQ_CH2_COEF32 (0xff642000 + (0x243 << 2)) ++#define SEC_AED_EQ_CH2_COEF32 (0xff642000 + (0x243 << 2)) ++#define P_AED_EQ_CH2_COEF32 (volatile uint32_t *)(0xff642000 + (0x243 << 2)) ++#define AED_EQ_CH2_COEF33 (0xff642000 + (0x244 << 2)) ++#define SEC_AED_EQ_CH2_COEF33 (0xff642000 + (0x244 << 2)) ++#define P_AED_EQ_CH2_COEF33 (volatile uint32_t *)(0xff642000 + (0x244 << 2)) ++#define AED_EQ_CH2_COEF34 (0xff642000 + (0x245 << 2)) ++#define SEC_AED_EQ_CH2_COEF34 (0xff642000 + (0x245 << 2)) ++#define P_AED_EQ_CH2_COEF34 (volatile uint32_t *)(0xff642000 + (0x245 << 2)) ++#define AED_EQ_CH2_COEF40 (0xff642000 + (0x246 << 2)) ++#define SEC_AED_EQ_CH2_COEF40 (0xff642000 + (0x246 << 2)) ++#define P_AED_EQ_CH2_COEF40 (volatile uint32_t *)(0xff642000 + (0x246 << 2)) ++#define AED_EQ_CH2_COEF41 (0xff642000 + (0x247 << 2)) ++#define SEC_AED_EQ_CH2_COEF41 (0xff642000 + (0x247 << 2)) ++#define P_AED_EQ_CH2_COEF41 (volatile uint32_t *)(0xff642000 + (0x247 << 2)) ++#define AED_EQ_CH2_COEF42 (0xff642000 + (0x248 << 2)) ++#define SEC_AED_EQ_CH2_COEF42 (0xff642000 + (0x248 << 2)) ++#define P_AED_EQ_CH2_COEF42 (volatile uint32_t *)(0xff642000 + (0x248 << 2)) ++#define AED_EQ_CH2_COEF43 (0xff642000 + (0x249 << 2)) ++#define SEC_AED_EQ_CH2_COEF43 (0xff642000 + (0x249 << 2)) ++#define P_AED_EQ_CH2_COEF43 (volatile uint32_t *)(0xff642000 + (0x249 << 2)) ++#define AED_EQ_CH2_COEF44 (0xff642000 + (0x24a << 2)) ++#define SEC_AED_EQ_CH2_COEF44 (0xff642000 + (0x24a << 2)) ++#define P_AED_EQ_CH2_COEF44 (volatile uint32_t *)(0xff642000 + (0x24a << 2)) ++#define AED_EQ_CH2_COEF50 (0xff642000 + (0x24b << 2)) ++#define SEC_AED_EQ_CH2_COEF50 (0xff642000 + (0x24b << 2)) ++#define P_AED_EQ_CH2_COEF50 (volatile uint32_t *)(0xff642000 + (0x24b << 2)) ++#define AED_EQ_CH2_COEF51 (0xff642000 + (0x24c << 2)) ++#define SEC_AED_EQ_CH2_COEF51 (0xff642000 + (0x24c << 2)) ++#define P_AED_EQ_CH2_COEF51 (volatile uint32_t *)(0xff642000 + (0x24c << 2)) ++#define AED_EQ_CH2_COEF52 (0xff642000 + (0x24d << 2)) ++#define SEC_AED_EQ_CH2_COEF52 (0xff642000 + (0x24d << 2)) ++#define P_AED_EQ_CH2_COEF52 (volatile uint32_t *)(0xff642000 + (0x24d << 2)) ++#define AED_EQ_CH2_COEF53 (0xff642000 + (0x24e << 2)) ++#define SEC_AED_EQ_CH2_COEF53 (0xff642000 + (0x24e << 2)) ++#define P_AED_EQ_CH2_COEF53 (volatile uint32_t *)(0xff642000 + (0x24e << 2)) ++#define AED_EQ_CH2_COEF54 (0xff642000 + (0x24f << 2)) ++#define SEC_AED_EQ_CH2_COEF54 (0xff642000 + (0x24f << 2)) ++#define P_AED_EQ_CH2_COEF54 (volatile uint32_t *)(0xff642000 + (0x24f << 2)) ++#define AED_EQ_CH2_COEF60 (0xff642000 + (0x250 << 2)) ++#define SEC_AED_EQ_CH2_COEF60 (0xff642000 + (0x250 << 2)) ++#define P_AED_EQ_CH2_COEF60 (volatile uint32_t *)(0xff642000 + (0x250 << 2)) ++#define AED_EQ_CH2_COEF61 (0xff642000 + (0x251 << 2)) ++#define SEC_AED_EQ_CH2_COEF61 (0xff642000 + (0x251 << 2)) ++#define P_AED_EQ_CH2_COEF61 (volatile uint32_t *)(0xff642000 + (0x251 << 2)) ++#define AED_EQ_CH2_COEF62 (0xff642000 + (0x252 << 2)) ++#define SEC_AED_EQ_CH2_COEF62 (0xff642000 + (0x252 << 2)) ++#define P_AED_EQ_CH2_COEF62 (volatile uint32_t *)(0xff642000 + (0x252 << 2)) ++#define AED_EQ_CH2_COEF63 (0xff642000 + (0x253 << 2)) ++#define SEC_AED_EQ_CH2_COEF63 (0xff642000 + (0x253 << 2)) ++#define P_AED_EQ_CH2_COEF63 (volatile uint32_t *)(0xff642000 + (0x253 << 2)) ++#define AED_EQ_CH2_COEF64 (0xff642000 + (0x254 << 2)) ++#define SEC_AED_EQ_CH2_COEF64 (0xff642000 + (0x254 << 2)) ++#define P_AED_EQ_CH2_COEF64 (volatile uint32_t *)(0xff642000 + (0x254 << 2)) ++#define AED_EQ_CH2_COEF70 (0xff642000 + (0x255 << 2)) ++#define SEC_AED_EQ_CH2_COEF70 (0xff642000 + (0x255 << 2)) ++#define P_AED_EQ_CH2_COEF70 (volatile uint32_t *)(0xff642000 + (0x255 << 2)) ++#define AED_EQ_CH2_COEF71 (0xff642000 + (0x256 << 2)) ++#define SEC_AED_EQ_CH2_COEF71 (0xff642000 + (0x256 << 2)) ++#define P_AED_EQ_CH2_COEF71 (volatile uint32_t *)(0xff642000 + (0x256 << 2)) ++#define AED_EQ_CH2_COEF72 (0xff642000 + (0x257 << 2)) ++#define SEC_AED_EQ_CH2_COEF72 (0xff642000 + (0x257 << 2)) ++#define P_AED_EQ_CH2_COEF72 (volatile uint32_t *)(0xff642000 + (0x257 << 2)) ++#define AED_EQ_CH2_COEF73 (0xff642000 + (0x258 << 2)) ++#define SEC_AED_EQ_CH2_COEF73 (0xff642000 + (0x258 << 2)) ++#define P_AED_EQ_CH2_COEF73 (volatile uint32_t *)(0xff642000 + (0x258 << 2)) ++#define AED_EQ_CH2_COEF74 (0xff642000 + (0x259 << 2)) ++#define SEC_AED_EQ_CH2_COEF74 (0xff642000 + (0x259 << 2)) ++#define P_AED_EQ_CH2_COEF74 (volatile uint32_t *)(0xff642000 + (0x259 << 2)) ++#define AED_EQ_CH2_COEF80 (0xff642000 + (0x25a << 2)) ++#define SEC_AED_EQ_CH2_COEF80 (0xff642000 + (0x25a << 2)) ++#define P_AED_EQ_CH2_COEF80 (volatile uint32_t *)(0xff642000 + (0x25a << 2)) ++#define AED_EQ_CH2_COEF81 (0xff642000 + (0x25b << 2)) ++#define SEC_AED_EQ_CH2_COEF81 (0xff642000 + (0x25b << 2)) ++#define P_AED_EQ_CH2_COEF81 (volatile uint32_t *)(0xff642000 + (0x25b << 2)) ++#define AED_EQ_CH2_COEF82 (0xff642000 + (0x25c << 2)) ++#define SEC_AED_EQ_CH2_COEF82 (0xff642000 + (0x25c << 2)) ++#define P_AED_EQ_CH2_COEF82 (volatile uint32_t *)(0xff642000 + (0x25c << 2)) ++#define AED_EQ_CH2_COEF83 (0xff642000 + (0x25d << 2)) ++#define SEC_AED_EQ_CH2_COEF83 (0xff642000 + (0x25d << 2)) ++#define P_AED_EQ_CH2_COEF83 (volatile uint32_t *)(0xff642000 + (0x25d << 2)) ++#define AED_EQ_CH2_COEF84 (0xff642000 + (0x25e << 2)) ++#define SEC_AED_EQ_CH2_COEF84 (0xff642000 + (0x25e << 2)) ++#define P_AED_EQ_CH2_COEF84 (volatile uint32_t *)(0xff642000 + (0x25e << 2)) ++#define AED_EQ_CH2_COEF90 (0xff642000 + (0x25f << 2)) ++#define SEC_AED_EQ_CH2_COEF90 (0xff642000 + (0x25f << 2)) ++#define P_AED_EQ_CH2_COEF90 (volatile uint32_t *)(0xff642000 + (0x25f << 2)) ++#define AED_EQ_CH2_COEF91 (0xff642000 + (0x260 << 2)) ++#define SEC_AED_EQ_CH2_COEF91 (0xff642000 + (0x260 << 2)) ++#define P_AED_EQ_CH2_COEF91 (volatile uint32_t *)(0xff642000 + (0x260 << 2)) ++#define AED_EQ_CH2_COEF92 (0xff642000 + (0x261 << 2)) ++#define SEC_AED_EQ_CH2_COEF92 (0xff642000 + (0x261 << 2)) ++#define P_AED_EQ_CH2_COEF92 (volatile uint32_t *)(0xff642000 + (0x261 << 2)) ++#define AED_EQ_CH2_COEF93 (0xff642000 + (0x262 << 2)) ++#define SEC_AED_EQ_CH2_COEF93 (0xff642000 + (0x262 << 2)) ++#define P_AED_EQ_CH2_COEF93 (volatile uint32_t *)(0xff642000 + (0x262 << 2)) ++#define AED_EQ_CH2_COEF94 (0xff642000 + (0x263 << 2)) ++#define SEC_AED_EQ_CH2_COEF94 (0xff642000 + (0x263 << 2)) ++#define P_AED_EQ_CH2_COEF94 (volatile uint32_t *)(0xff642000 + (0x263 << 2)) ++#define AED_EQ_EN (0xff642000 + (0x264 << 2)) ++#define SEC_AED_EQ_EN (0xff642000 + (0x264 << 2)) ++#define P_AED_EQ_EN (volatile uint32_t *)(0xff642000 + (0x264 << 2)) ++#define AED_EQ_VOLUME (0xff642000 + (0x265 << 2)) ++#define SEC_AED_EQ_VOLUME (0xff642000 + (0x265 << 2)) ++#define P_AED_EQ_VOLUME (volatile uint32_t *)(0xff642000 + (0x265 << 2)) ++#define AED_EQ_VOLUME_SLEW_CNT (0xff642000 + (0x266 << 2)) ++#define SEC_AED_EQ_VOLUME_SLEW_CNT (0xff642000 + (0x266 << 2)) ++#define P_AED_EQ_VOLUME_SLEW_CNT (volatile uint32_t *)(0xff642000 + (0x266 << 2)) ++#define AED_MUTE (0xff642000 + (0x267 << 2)) ++#define SEC_AED_MUTE (0xff642000 + (0x267 << 2)) ++#define P_AED_MUTE (volatile uint32_t *)(0xff642000 + (0x267 << 2)) ++#define AED_DRC_EN (0xff642000 + (0x268 << 2)) ++#define SEC_AED_DRC_EN (0xff642000 + (0x268 << 2)) ++#define P_AED_DRC_EN (volatile uint32_t *)(0xff642000 + (0x268 << 2)) ++#define AED_DRC_AE (0xff642000 + (0x269 << 2)) ++#define SEC_AED_DRC_AE (0xff642000 + (0x269 << 2)) ++#define P_AED_DRC_AE (volatile uint32_t *)(0xff642000 + (0x269 << 2)) ++#define AED_DRC_AA (0xff642000 + (0x26a << 2)) ++#define SEC_AED_DRC_AA (0xff642000 + (0x26a << 2)) ++#define P_AED_DRC_AA (volatile uint32_t *)(0xff642000 + (0x26a << 2)) ++#define AED_DRC_AD (0xff642000 + (0x26b << 2)) ++#define SEC_AED_DRC_AD (0xff642000 + (0x26b << 2)) ++#define P_AED_DRC_AD (volatile uint32_t *)(0xff642000 + (0x26b << 2)) ++#define AED_DRC_AE_1M (0xff642000 + (0x26c << 2)) ++#define SEC_AED_DRC_AE_1M (0xff642000 + (0x26c << 2)) ++#define P_AED_DRC_AE_1M (volatile uint32_t *)(0xff642000 + (0x26c << 2)) ++#define AED_DRC_AA_1M (0xff642000 + (0x26d << 2)) ++#define SEC_AED_DRC_AA_1M (0xff642000 + (0x26d << 2)) ++#define P_AED_DRC_AA_1M (volatile uint32_t *)(0xff642000 + (0x26d << 2)) ++#define AED_DRC_AD_1M (0xff642000 + (0x26e << 2)) ++#define SEC_AED_DRC_AD_1M (0xff642000 + (0x26e << 2)) ++#define P_AED_DRC_AD_1M (volatile uint32_t *)(0xff642000 + (0x26e << 2)) ++#define AED_DRC_OFFSET0 (0xff642000 + (0x26f << 2)) ++#define SEC_AED_DRC_OFFSET0 (0xff642000 + (0x26f << 2)) ++#define P_AED_DRC_OFFSET0 (volatile uint32_t *)(0xff642000 + (0x26f << 2)) ++#define AED_DRC_OFFSET1 (0xff642000 + (0x270 << 2)) ++#define SEC_AED_DRC_OFFSET1 (0xff642000 + (0x270 << 2)) ++#define P_AED_DRC_OFFSET1 (volatile uint32_t *)(0xff642000 + (0x270 << 2)) ++#define AED_DRC_THD0 (0xff642000 + (0x271 << 2)) ++#define SEC_AED_DRC_THD0 (0xff642000 + (0x271 << 2)) ++#define P_AED_DRC_THD0 (volatile uint32_t *)(0xff642000 + (0x271 << 2)) ++#define AED_DRC_THD1 (0xff642000 + (0x272 << 2)) ++#define SEC_AED_DRC_THD1 (0xff642000 + (0x272 << 2)) ++#define P_AED_DRC_THD1 (volatile uint32_t *)(0xff642000 + (0x272 << 2)) ++#define AED_DRC_K0 (0xff642000 + (0x273 << 2)) ++#define SEC_AED_DRC_K0 (0xff642000 + (0x273 << 2)) ++#define P_AED_DRC_K0 (volatile uint32_t *)(0xff642000 + (0x273 << 2)) ++#define AED_DRC_K1 (0xff642000 + (0x274 << 2)) ++#define SEC_AED_DRC_K1 (0xff642000 + (0x274 << 2)) ++#define P_AED_DRC_K1 (volatile uint32_t *)(0xff642000 + (0x274 << 2)) ++#define AED_CLIP_THD (0xff642000 + (0x275 << 2)) ++#define SEC_AED_CLIP_THD (0xff642000 + (0x275 << 2)) ++#define P_AED_CLIP_THD (volatile uint32_t *)(0xff642000 + (0x275 << 2)) ++#define AED_NG_THD0 (0xff642000 + (0x276 << 2)) ++#define SEC_AED_NG_THD0 (0xff642000 + (0x276 << 2)) ++#define P_AED_NG_THD0 (volatile uint32_t *)(0xff642000 + (0x276 << 2)) ++#define AED_NG_THD1 (0xff642000 + (0x277 << 2)) ++#define SEC_AED_NG_THD1 (0xff642000 + (0x277 << 2)) ++#define P_AED_NG_THD1 (volatile uint32_t *)(0xff642000 + (0x277 << 2)) ++#define AED_NG_CNT_THD (0xff642000 + (0x278 << 2)) ++#define SEC_AED_NG_CNT_THD (0xff642000 + (0x278 << 2)) ++#define P_AED_NG_CNT_THD (volatile uint32_t *)(0xff642000 + (0x278 << 2)) ++#define AED_NG_CTL (0xff642000 + (0x279 << 2)) ++#define SEC_AED_NG_CTL (0xff642000 + (0x279 << 2)) ++#define P_AED_NG_CTL (volatile uint32_t *)(0xff642000 + (0x279 << 2)) ++#define AED_ED_CTL (0xff642000 + (0x27a << 2)) ++#define SEC_AED_ED_CTL (0xff642000 + (0x27a << 2)) ++#define P_AED_ED_CTL (volatile uint32_t *)(0xff642000 + (0x27a << 2)) ++#define AED_DEBUG0 (0xff642000 + (0x27b << 2)) ++#define SEC_AED_DEBUG0 (0xff642000 + (0x27b << 2)) ++#define P_AED_DEBUG0 (volatile uint32_t *)(0xff642000 + (0x27b << 2)) ++#define AED_DEBUG1 (0xff642000 + (0x27c << 2)) ++#define SEC_AED_DEBUG1 (0xff642000 + (0x27c << 2)) ++#define P_AED_DEBUG1 (volatile uint32_t *)(0xff642000 + (0x27c << 2)) ++#define AED_DEBUG2 (0xff642000 + (0x27d << 2)) ++#define SEC_AED_DEBUG2 (0xff642000 + (0x27d << 2)) ++#define P_AED_DEBUG2 (volatile uint32_t *)(0xff642000 + (0x27d << 2)) ++#define AED_DEBUG3 (0xff642000 + (0x27e << 2)) ++#define SEC_AED_DEBUG3 (0xff642000 + (0x27e << 2)) ++#define P_AED_DEBUG3 (volatile uint32_t *)(0xff642000 + (0x27e << 2)) ++#define AED_DEBUG4 (0xff642000 + (0x27f << 2)) ++#define SEC_AED_DEBUG4 (0xff642000 + (0x27f << 2)) ++#define P_AED_DEBUG4 (volatile uint32_t *)(0xff642000 + (0x27f << 2)) ++#define AED_DEBUG5 (0xff642000 + (0x280 << 2)) ++#define SEC_AED_DEBUG5 (0xff642000 + (0x280 << 2)) ++#define P_AED_DEBUG5 (volatile uint32_t *)(0xff642000 + (0x280 << 2)) ++#define AED_DEBUG6 (0xff642000 + (0x281 << 2)) ++#define SEC_AED_DEBUG6 (0xff642000 + (0x281 << 2)) ++#define P_AED_DEBUG6 (volatile uint32_t *)(0xff642000 + (0x281 << 2)) ++#define AED_DRC_AA_H (0xff642000 + (0x282 << 2)) ++#define SEC_AED_DRC_AA_H (0xff642000 + (0x282 << 2)) ++#define P_AED_DRC_AA_H (volatile uint32_t *)(0xff642000 + (0x282 << 2)) ++#define AED_DRC_AD_H (0xff642000 + (0x283 << 2)) ++#define SEC_AED_DRC_AD_H (0xff642000 + (0x283 << 2)) ++#define P_AED_DRC_AD_H (volatile uint32_t *)(0xff642000 + (0x283 << 2)) ++#define AED_DRC_AA_1M_H (0xff642000 + (0x284 << 2)) ++#define SEC_AED_DRC_AA_1M_H (0xff642000 + (0x284 << 2)) ++#define P_AED_DRC_AA_1M_H (volatile uint32_t *)(0xff642000 + (0x284 << 2)) ++#define AED_DRC_AD_1M_H (0xff642000 + (0x285 << 2)) ++#define SEC_AED_DRC_AD_1M_H (0xff642000 + (0x285 << 2)) ++#define P_AED_DRC_AD_1M_H (volatile uint32_t *)(0xff642000 + (0x285 << 2)) ++#define AED_NG_CNT (0xff642000 + (0x286 << 2)) ++#define SEC_AED_NG_CNT (0xff642000 + (0x286 << 2)) ++#define P_AED_NG_CNT (volatile uint32_t *)(0xff642000 + (0x286 << 2)) ++#define AED_NG_STEP (0xff642000 + (0x287 << 2)) ++#define SEC_AED_NG_STEP (0xff642000 + (0x287 << 2)) ++#define P_AED_NG_STEP (volatile uint32_t *)(0xff642000 + (0x287 << 2)) ++#define AED_TOP_CTL (0xff642000 + (0x288 << 2)) ++#define SEC_AED_TOP_CTL (0xff642000 + (0x288 << 2)) ++#define P_AED_TOP_CTL (volatile uint32_t *)(0xff642000 + (0x288 << 2)) ++#define AED_TOP_REQ_CTL (0xff642000 + (0x289 << 2)) ++#define SEC_AED_TOP_REQ_CTL (0xff642000 + (0x289 << 2)) ++#define P_AED_TOP_REQ_CTL (volatile uint32_t *)(0xff642000 + (0x289 << 2)) ++//======================================================================== ++// HIU - Registers ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF63C000 ++// APB4_DECODER_SECURE_BASE 32'hFF63C000 ++#define HHI_MIPI_CNTL0 (0xff63c000 + (0x000 << 2)) ++#define SEC_HHI_MIPI_CNTL0 (0xff63c000 + (0x000 << 2)) ++#define P_HHI_MIPI_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x000 << 2)) ++#define HHI_MIPI_CNTL1 (0xff63c000 + (0x001 << 2)) ++#define SEC_HHI_MIPI_CNTL1 (0xff63c000 + (0x001 << 2)) ++#define P_HHI_MIPI_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x001 << 2)) ++#define HHI_MIPI_CNTL2 (0xff63c000 + (0x002 << 2)) ++#define SEC_HHI_MIPI_CNTL2 (0xff63c000 + (0x002 << 2)) ++#define P_HHI_MIPI_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x002 << 2)) ++#define HHI_MIPI_STS (0xff63c000 + (0x003 << 2)) ++#define SEC_HHI_MIPI_STS (0xff63c000 + (0x003 << 2)) ++#define P_HHI_MIPI_STS (volatile uint32_t *)(0xff63c000 + (0x003 << 2)) ++#define HHI_CHECK_CLK_RESULT (0xff63c000 + (0x004 << 2)) ++#define SEC_HHI_CHECK_CLK_RESULT (0xff63c000 + (0x004 << 2)) ++#define P_HHI_CHECK_CLK_RESULT (volatile uint32_t *)(0xff63c000 + (0x004 << 2)) ++#define SCR_HIU (0xff63c000 + (0x00b << 2)) ++#define SEC_SCR_HIU (0xff63c000 + (0x00b << 2)) ++#define P_SCR_HIU (volatile uint32_t *)(0xff63c000 + (0x00b << 2)) ++//`define HHI_SYS_STS 8'h0c ++#define HPG_TIMER (0xff63c000 + (0x00f << 2)) ++#define SEC_HPG_TIMER (0xff63c000 + (0x00f << 2)) ++#define P_HPG_TIMER (volatile uint32_t *)(0xff63c000 + (0x00f << 2)) ++#define HHI_GP0_PLL_CNTL0 (0xff63c000 + (0x010 << 2)) ++#define SEC_HHI_GP0_PLL_CNTL0 (0xff63c000 + (0x010 << 2)) ++#define P_HHI_GP0_PLL_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x010 << 2)) ++#define HHI_GP0_PLL_CNTL1 (0xff63c000 + (0x011 << 2)) ++#define SEC_HHI_GP0_PLL_CNTL1 (0xff63c000 + (0x011 << 2)) ++#define P_HHI_GP0_PLL_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x011 << 2)) ++#define HHI_GP0_PLL_CNTL2 (0xff63c000 + (0x012 << 2)) ++#define SEC_HHI_GP0_PLL_CNTL2 (0xff63c000 + (0x012 << 2)) ++#define P_HHI_GP0_PLL_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x012 << 2)) ++#define HHI_GP0_PLL_CNTL3 (0xff63c000 + (0x013 << 2)) ++#define SEC_HHI_GP0_PLL_CNTL3 (0xff63c000 + (0x013 << 2)) ++#define P_HHI_GP0_PLL_CNTL3 (volatile uint32_t *)(0xff63c000 + (0x013 << 2)) ++#define HHI_GP0_PLL_CNTL4 (0xff63c000 + (0x014 << 2)) ++#define SEC_HHI_GP0_PLL_CNTL4 (0xff63c000 + (0x014 << 2)) ++#define P_HHI_GP0_PLL_CNTL4 (volatile uint32_t *)(0xff63c000 + (0x014 << 2)) ++#define HHI_GP0_PLL_CNTL5 (0xff63c000 + (0x015 << 2)) ++#define SEC_HHI_GP0_PLL_CNTL5 (0xff63c000 + (0x015 << 2)) ++#define P_HHI_GP0_PLL_CNTL5 (volatile uint32_t *)(0xff63c000 + (0x015 << 2)) ++#define HHI_GP0_PLL_CNTL6 (0xff63c000 + (0x016 << 2)) ++#define SEC_HHI_GP0_PLL_CNTL6 (0xff63c000 + (0x016 << 2)) ++#define P_HHI_GP0_PLL_CNTL6 (volatile uint32_t *)(0xff63c000 + (0x016 << 2)) ++#define HHI_GP0_PLL_STS (0xff63c000 + (0x017 << 2)) ++#define SEC_HHI_GP0_PLL_STS (0xff63c000 + (0x017 << 2)) ++#define P_HHI_GP0_PLL_STS (volatile uint32_t *)(0xff63c000 + (0x017 << 2)) ++//`define HHI_GP1_PLL_CNTL0 8'h18 ++//`define HHI_GP1_PLL_CNTL1 8'h19 ++//`define HHI_GP1_PLL_CNTL2 8'h1a ++//`define HHI_GP1_PLL_CNTL3 8'h1b ++//`define HHI_GP1_PLL_CNTL4 8'h1c ++//`define HHI_GP1_PLL_CNTL5 8'h1d ++//`define HHI_GP1_PLL_CNTL6 8'h1e ++//`define HHI_GP1_PLL_STS 8'h1f ++//`define HHI_CADC_CNTL 8'h20 ++//`define HHI_CADC_CNTL2 8'h21 ++//`define HHI_CADC_CNTL3 8'h22 ++//`define HHI_CADC_CNTL4 8'h23 ++//`define HHI_CADC_CNTL5 8'h24 ++//`define HHI_CADC_CNTL6 8'h25 ++#define HHI_PCIE_PLL_CNTL0 (0xff63c000 + (0x026 << 2)) ++#define SEC_HHI_PCIE_PLL_CNTL0 (0xff63c000 + (0x026 << 2)) ++#define P_HHI_PCIE_PLL_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x026 << 2)) ++#define HHI_PCIE_PLL_CNTL1 (0xff63c000 + (0x027 << 2)) ++#define SEC_HHI_PCIE_PLL_CNTL1 (0xff63c000 + (0x027 << 2)) ++#define P_HHI_PCIE_PLL_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x027 << 2)) ++#define HHI_PCIE_PLL_CNTL2 (0xff63c000 + (0x028 << 2)) ++#define SEC_HHI_PCIE_PLL_CNTL2 (0xff63c000 + (0x028 << 2)) ++#define P_HHI_PCIE_PLL_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x028 << 2)) ++#define HHI_PCIE_PLL_CNTL3 (0xff63c000 + (0x029 << 2)) ++#define SEC_HHI_PCIE_PLL_CNTL3 (0xff63c000 + (0x029 << 2)) ++#define P_HHI_PCIE_PLL_CNTL3 (volatile uint32_t *)(0xff63c000 + (0x029 << 2)) ++#define HHI_PCIE_PLL_CNTL4 (0xff63c000 + (0x02a << 2)) ++#define SEC_HHI_PCIE_PLL_CNTL4 (0xff63c000 + (0x02a << 2)) ++#define P_HHI_PCIE_PLL_CNTL4 (volatile uint32_t *)(0xff63c000 + (0x02a << 2)) ++#define HHI_PCIE_PLL_CNTL5 (0xff63c000 + (0x02b << 2)) ++#define SEC_HHI_PCIE_PLL_CNTL5 (0xff63c000 + (0x02b << 2)) ++#define P_HHI_PCIE_PLL_CNTL5 (volatile uint32_t *)(0xff63c000 + (0x02b << 2)) ++#define HHI_PCIE_PLL_STS (0xff63c000 + (0x02c << 2)) ++#define SEC_HHI_PCIE_PLL_STS (0xff63c000 + (0x02c << 2)) ++#define P_HHI_PCIE_PLL_STS (volatile uint32_t *)(0xff63c000 + (0x02c << 2)) ++//`define HHI_DADC_CNTL 8'h27 ++//`define HHI_DADC_CNTL2 8'h28 ++//`define HHI_DADC_RDBK0_I 8'h29 ++//`define HHI_DADC_CNTL3 8'h2a ++//`define HHI_DADC_CNTL4 8'h2b ++//`define HHI_AFE_TUNNING_CNTL 8'h2c ++//`define HHI_AFE_TUNNING_CNTL_I 8'h2d ++//`define HHI_CVBS_DETECT_CNTL 8'h2e ++#define HHI_XTAL_DIVN_CNTL (0xff63c000 + (0x02f << 2)) ++#define SEC_HHI_XTAL_DIVN_CNTL (0xff63c000 + (0x02f << 2)) ++#define P_HHI_XTAL_DIVN_CNTL (volatile uint32_t *)(0xff63c000 + (0x02f << 2)) ++#define HHI_GCLK2_MPEG0 (0xff63c000 + (0x030 << 2)) ++#define SEC_HHI_GCLK2_MPEG0 (0xff63c000 + (0x030 << 2)) ++#define P_HHI_GCLK2_MPEG0 (volatile uint32_t *)(0xff63c000 + (0x030 << 2)) ++#define HHI_GCLK2_MPEG1 (0xff63c000 + (0x031 << 2)) ++#define SEC_HHI_GCLK2_MPEG1 (0xff63c000 + (0x031 << 2)) ++#define P_HHI_GCLK2_MPEG1 (volatile uint32_t *)(0xff63c000 + (0x031 << 2)) ++#define HHI_GCLK2_MPEG2 (0xff63c000 + (0x032 << 2)) ++#define SEC_HHI_GCLK2_MPEG2 (0xff63c000 + (0x032 << 2)) ++#define P_HHI_GCLK2_MPEG2 (volatile uint32_t *)(0xff63c000 + (0x032 << 2)) ++#define HHI_GCLK2_OTHER (0xff63c000 + (0x034 << 2)) ++#define SEC_HHI_GCLK2_OTHER (0xff63c000 + (0x034 << 2)) ++#define P_HHI_GCLK2_OTHER (volatile uint32_t *)(0xff63c000 + (0x034 << 2)) ++//`define HHI_GCLK2_AO 8'h35 ++#define HHI_HIFI_PLL_CNTL0 (0xff63c000 + (0x036 << 2)) ++#define SEC_HHI_HIFI_PLL_CNTL0 (0xff63c000 + (0x036 << 2)) ++#define P_HHI_HIFI_PLL_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x036 << 2)) ++#define HHI_HIFI_PLL_CNTL1 (0xff63c000 + (0x037 << 2)) ++#define SEC_HHI_HIFI_PLL_CNTL1 (0xff63c000 + (0x037 << 2)) ++#define P_HHI_HIFI_PLL_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x037 << 2)) ++#define HHI_HIFI_PLL_CNTL2 (0xff63c000 + (0x038 << 2)) ++#define SEC_HHI_HIFI_PLL_CNTL2 (0xff63c000 + (0x038 << 2)) ++#define P_HHI_HIFI_PLL_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x038 << 2)) ++#define HHI_HIFI_PLL_CNTL3 (0xff63c000 + (0x039 << 2)) ++#define SEC_HHI_HIFI_PLL_CNTL3 (0xff63c000 + (0x039 << 2)) ++#define P_HHI_HIFI_PLL_CNTL3 (volatile uint32_t *)(0xff63c000 + (0x039 << 2)) ++#define HHI_HIFI_PLL_CNTL4 (0xff63c000 + (0x03a << 2)) ++#define SEC_HHI_HIFI_PLL_CNTL4 (0xff63c000 + (0x03a << 2)) ++#define P_HHI_HIFI_PLL_CNTL4 (volatile uint32_t *)(0xff63c000 + (0x03a << 2)) ++#define HHI_HIFI_PLL_CNTL5 (0xff63c000 + (0x03b << 2)) ++#define SEC_HHI_HIFI_PLL_CNTL5 (0xff63c000 + (0x03b << 2)) ++#define P_HHI_HIFI_PLL_CNTL5 (volatile uint32_t *)(0xff63c000 + (0x03b << 2)) ++#define HHI_HIFI_PLL_CNTL6 (0xff63c000 + (0x03c << 2)) ++#define SEC_HHI_HIFI_PLL_CNTL6 (0xff63c000 + (0x03c << 2)) ++#define P_HHI_HIFI_PLL_CNTL6 (volatile uint32_t *)(0xff63c000 + (0x03c << 2)) ++#define HHI_HIFI_PLL_STS (0xff63c000 + (0x03d << 2)) ++#define SEC_HHI_HIFI_PLL_STS (0xff63c000 + (0x03d << 2)) ++#define P_HHI_HIFI_PLL_STS (volatile uint32_t *)(0xff63c000 + (0x03d << 2)) ++#define HHI_TIMER90K (0xff63c000 + (0x03f << 2)) ++#define SEC_HHI_TIMER90K (0xff63c000 + (0x03f << 2)) ++#define P_HHI_TIMER90K (volatile uint32_t *)(0xff63c000 + (0x03f << 2)) ++#define HHI_MEM_PD_REG0 (0xff63c000 + (0x040 << 2)) ++#define SEC_HHI_MEM_PD_REG0 (0xff63c000 + (0x040 << 2)) ++#define P_HHI_MEM_PD_REG0 (volatile uint32_t *)(0xff63c000 + (0x040 << 2)) ++//VIU1 ++//bit 29:28 mem_pd_vi_sharp, 2'b00: Sharpness line buffer memory power on, 2'b11: power down ++//bit 29:28 mem_pd_vi_dipost, 2'b00: Deinterlace - di_post memory power on, 2'b11: power down ++//bit 27:26 mem_pd_vi_dipre, 2'b00: Deinterlace - di_pre memory power on, 2'b11: power down ++//bit 25:24 mem_pd_vi_prot3, 2'b00: picture rotation3 memory power on, 2'b11: power down ++//bit 23:22 mem_pd_vi_prot2, 2'b00: picture rotation2 memory power on, 2'b11: power down ++//bit 21:20 mem_pd_vi_prot1, 2'b00: picture rotation1 memory power on, 2'b11: power down ++//bit 19:18 mem_pd_vi_vdin1, 2'b00: vdin1 memory power on, 2'b11: power down ++//bit 17:16 mem_pd_vi_vdin0, 2'b00: vdin0 memory power on, 2'b11: power down ++//bit 15:14 mem_pd_vi_osd_sc, 2'b00: osd_scaler memory power on, 2'b11: power down ++//bit 13:12 mem_pd_vi_scale, 2'b00: scaler memory power on, 2'b11: power down ++//bit 11:10 mem_pd_vi_ofifo, 2'b00: vpp output fifo memory power on, 2'b11: power down ++//bit 9:8 mem_pd_vi_chroma, 2'b00: color management module memory power on, 2'b11: power down ++//bit 7:6 mem_pd_vi_vd2, 2'b00: vd2 memory power on, 2'b11: power down ++//bit 5:4 mem_pd_vi_vd1, 2'b00: vd1 memory power on, 2'b11: power down ++//bit 3:2 mem_pd_vi_osd2, 2'b00: osd2 memory power on, 2'b11: power down ++//bit 1:0 mem_pd_vi_osd1, 2'b00: osd1 memory power on, 2'b11: power down ++#define HHI_VPU_MEM_PD_REG0 (0xff63c000 + (0x041 << 2)) ++#define SEC_HHI_VPU_MEM_PD_REG0 (0xff63c000 + (0x041 << 2)) ++#define P_HHI_VPU_MEM_PD_REG0 (volatile uint32_t *)(0xff63c000 + (0x041 << 2)) ++//bit 29:28 mem_pd_atv_dmd, 2'b00: ATV DMD memory power on, 2'b11: power down ++//bit 29:28 mem_pd_cvd2, 2'b00: CVD2 memory power on, 2'b11: power down ++//bit 27:26 mem_pd_isp, 2'b00: ISP memory power on, 2'b11: power down ++//bit 25:24 mem_pd_venci_int, 2'b00: cvbs- enci interface memory power on, 2'b11: power down ++//bit 23:22 mem_pd_venc_l_top,2'b00: panel - encl top memory power on, 2'b11: power down ++//bit 21:20 mem_pd_vencp_int, 2'b00: hdmi - encp interface memory power on, 2'b11: power down ++//bit 13:12 mem_pd_vi2_osd_sc,2'b00: viu2 OSD scaler memory power on, 2'b11: power down ++//bit 11:10 mem_pd_vi2_scale, 2'b00: viu2 scaler memory power on, 2'b11: power down ++//bit 9:8 mem_pd_vi2_ofifo, 2'b00: viu2 vpp output fifo memory power on, 2'b11: power down ++//bit 7:6 mem_pd_vi2_chroma,2'b00: viu2 color management module memory power on, 2'b11: power down ++//bit 5:4 mem_pd_vi2_vd1, 2'b00: viu2 vd1 memory power on, 2'b11: power down ++//bit 3:2 mem_pd_vi2_osd2, 2'b00: viu2 osd2 memory power on, 2'b11: power down ++//bit 1:0 mem_pd_vi2_osd1, 2'b00: viu2 osd1 memory power on, 2'b11: power down ++#define HHI_VPU_MEM_PD_REG1 (0xff63c000 + (0x042 << 2)) ++#define SEC_HHI_VPU_MEM_PD_REG1 (0xff63c000 + (0x042 << 2)) ++#define P_HHI_VPU_MEM_PD_REG1 (volatile uint32_t *)(0xff63c000 + (0x042 << 2)) ++#define HHI_VPU_MEM_PD_REG3 (0xff63c000 + (0x043 << 2)) ++#define SEC_HHI_VPU_MEM_PD_REG3 (0xff63c000 + (0x043 << 2)) ++#define P_HHI_VPU_MEM_PD_REG3 (volatile uint32_t *)(0xff63c000 + (0x043 << 2)) ++#define HHI_VPU_MEM_PD_REG4 (0xff63c000 + (0x044 << 2)) ++#define SEC_HHI_VPU_MEM_PD_REG4 (0xff63c000 + (0x044 << 2)) ++#define P_HHI_VPU_MEM_PD_REG4 (volatile uint32_t *)(0xff63c000 + (0x044 << 2)) ++//`define HHI_DEMOD_MEM_PD_REG 8'h43 ++//`define HHI_AUD_DAC_CTRL 8'h44 ++// `define HHI_VIID_PLL_CNTL4 8'h46 // video PLL read back ++// `define HHI_VIID_PLL_CNTL 8'h47 // Video PLL control, word 1 ++// `define HHI_VIID_PLL_CNTL2 8'h48 // Video PLL control, word 2 ++// `define HHI_VIID_PLL_CNTL3 8'h49 // Video PLL control, word 3 ++#define HHI_VIID_CLK_DIV (0xff63c000 + (0x04a << 2)) ++#define SEC_HHI_VIID_CLK_DIV (0xff63c000 + (0x04a << 2)) ++#define P_HHI_VIID_CLK_DIV (volatile uint32_t *)(0xff63c000 + (0x04a << 2)) ++#define HHI_VIID_CLK_CNTL (0xff63c000 + (0x04b << 2)) ++#define SEC_HHI_VIID_CLK_CNTL (0xff63c000 + (0x04b << 2)) ++#define P_HHI_VIID_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x04b << 2)) ++//`define HHI_VIID_DIVIDER_CNTL 8'h4c ++//bit 1:0 mem_pd_vi_wm, 2'b00: viu1 wm memory power on, 2'b11: power down ++#define HHI_VPU_MEM_PD_REG2 (0xff63c000 + (0x04d << 2)) ++#define SEC_HHI_VPU_MEM_PD_REG2 (0xff63c000 + (0x04d << 2)) ++#define P_HHI_VPU_MEM_PD_REG2 (volatile uint32_t *)(0xff63c000 + (0x04d << 2)) ++// Gated clock enables. There are 64 enables for the MPEG clocks and 32 enables for other clock domains ++#define HHI_GCLK_LOCK (0xff63c000 + (0x04f << 2)) ++#define SEC_HHI_GCLK_LOCK (0xff63c000 + (0x04f << 2)) ++#define P_HHI_GCLK_LOCK (volatile uint32_t *)(0xff63c000 + (0x04f << 2)) ++#define HHI_GCLK_MPEG0 (0xff63c000 + (0x050 << 2)) ++#define SEC_HHI_GCLK_MPEG0 (0xff63c000 + (0x050 << 2)) ++#define P_HHI_GCLK_MPEG0 (volatile uint32_t *)(0xff63c000 + (0x050 << 2)) ++#define HHI_GCLK_MPEG1 (0xff63c000 + (0x051 << 2)) ++#define SEC_HHI_GCLK_MPEG1 (0xff63c000 + (0x051 << 2)) ++#define P_HHI_GCLK_MPEG1 (volatile uint32_t *)(0xff63c000 + (0x051 << 2)) ++#define HHI_GCLK_MPEG2 (0xff63c000 + (0x052 << 2)) ++#define SEC_HHI_GCLK_MPEG2 (0xff63c000 + (0x052 << 2)) ++#define P_HHI_GCLK_MPEG2 (volatile uint32_t *)(0xff63c000 + (0x052 << 2)) ++#define HHI_GCLK_OTHER (0xff63c000 + (0x054 << 2)) ++#define SEC_HHI_GCLK_OTHER (0xff63c000 + (0x054 << 2)) ++#define P_HHI_GCLK_OTHER (volatile uint32_t *)(0xff63c000 + (0x054 << 2)) ++#define HHI_GCLK_SP_MPEG (0xff63c000 + (0x055 << 2)) ++#define SEC_HHI_GCLK_SP_MPEG (0xff63c000 + (0x055 << 2)) ++#define P_HHI_GCLK_SP_MPEG (volatile uint32_t *)(0xff63c000 + (0x055 << 2)) ++//`define HHI_SYS_OSCIN_CNTL 8'h56 ++#define HHI_SYS_CPU_CLK_CNTL1 (0xff63c000 + (0x057 << 2)) ++#define SEC_HHI_SYS_CPU_CLK_CNTL1 (0xff63c000 + (0x057 << 2)) ++#define P_HHI_SYS_CPU_CLK_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x057 << 2)) ++#define HHI_SYS_CPU_RESET_CNTL (0xff63c000 + (0x058 << 2)) ++#define SEC_HHI_SYS_CPU_RESET_CNTL (0xff63c000 + (0x058 << 2)) ++#define P_HHI_SYS_CPU_RESET_CNTL (volatile uint32_t *)(0xff63c000 + (0x058 << 2)) ++// PLL Controls ++#define HHI_VID_CLK_DIV (0xff63c000 + (0x059 << 2)) ++#define SEC_HHI_VID_CLK_DIV (0xff63c000 + (0x059 << 2)) ++#define P_HHI_VID_CLK_DIV (volatile uint32_t *)(0xff63c000 + (0x059 << 2)) ++#define HHI_MPEG_CLK_CNTL (0xff63c000 + (0x05d << 2)) ++#define SEC_HHI_MPEG_CLK_CNTL (0xff63c000 + (0x05d << 2)) ++#define P_HHI_MPEG_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x05d << 2)) ++#define HHI_VID_CLK_CNTL (0xff63c000 + (0x05f << 2)) ++#define SEC_HHI_VID_CLK_CNTL (0xff63c000 + (0x05f << 2)) ++#define P_HHI_VID_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x05f << 2)) ++//`define HHI_WIFI_CLK_CNTL 8'h60 // MPEG clock control ++//`define HHI_WIFI_PLL_CNTL 8'h61 // WIFI PLL control, word 1 ++//`define HHI_WIFI_PLL_CNTL2 8'h62 // WIFI PLL control, word 2 ++//`define HHI_WIFI_PLL_CNTL3 8'h63 // WIFI PLL control, word 3 ++#define HHI_TS_CLK_CNTL (0xff63c000 + (0x064 << 2)) ++#define SEC_HHI_TS_CLK_CNTL (0xff63c000 + (0x064 << 2)) ++#define P_HHI_TS_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x064 << 2)) ++#define HHI_VID_CLK_CNTL2 (0xff63c000 + (0x065 << 2)) ++#define SEC_HHI_VID_CLK_CNTL2 (0xff63c000 + (0x065 << 2)) ++#define P_HHI_VID_CLK_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x065 << 2)) ++//`define HHI_VID_DIVIDER_CNTL 8'h66 ++#define HHI_SYS_CPU_CLK_CNTL (0xff63c000 + (0x067 << 2)) ++#define SEC_HHI_SYS_CPU_CLK_CNTL (0xff63c000 + (0x067 << 2)) ++#define P_HHI_SYS_CPU_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x067 << 2)) ++#define HHI_VID_PLL_CLK_DIV (0xff63c000 + (0x068 << 2)) ++#define SEC_HHI_VID_PLL_CLK_DIV (0xff63c000 + (0x068 << 2)) ++#define P_HHI_VID_PLL_CLK_DIV (volatile uint32_t *)(0xff63c000 + (0x068 << 2)) ++// Moved to Martin's domain `define HHI_DDR_PLL_CNTL 8'h68 // DDR PLL control, word 1 ++// Moved to Martin's domain `define HHI_DDR_PLL_CNTL2 8'h69 // DDR PLL control, word 2 ++// Moved to Martin's domain `define HHI_DDR_PLL_CNTL3 8'h6a // DDR PLL control, word 3 ++// Moved to Martin's domain `define HHI_DDR_PLL_CNTL4 8'h6b // DDR PLL control, word 3 ++#define HHI_MALI_CLK_CNTL (0xff63c000 + (0x06c << 2)) ++#define SEC_HHI_MALI_CLK_CNTL (0xff63c000 + (0x06c << 2)) ++#define P_HHI_MALI_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x06c << 2)) ++#define HHI_VPU_CLKC_CNTL (0xff63c000 + (0x06d << 2)) ++#define SEC_HHI_VPU_CLKC_CNTL (0xff63c000 + (0x06d << 2)) ++#define P_HHI_VPU_CLKC_CNTL (volatile uint32_t *)(0xff63c000 + (0x06d << 2)) ++//`define HHI_MIPI_PHY_CLK_CNTL 8'h6e ++#define HHI_VPU_CLK_CNTL (0xff63c000 + (0x06f << 2)) ++#define SEC_HHI_VPU_CLK_CNTL (0xff63c000 + (0x06f << 2)) ++#define P_HHI_VPU_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x06f << 2)) ++//`define HHI_OTHER_PLL_CNTL 8'h70 // OTHER PLL control, word 1 ++//`define HHI_OTHER_PLL_CNTL2 8'h71 // OTHER PLL control, word 2 ++//`define HHI_OTHER_PLL_CNTL3 8'h72 // OTHER PLL control, word 3 ++#define HHI_HDMI_CLK_CNTL (0xff63c000 + (0x073 << 2)) ++#define SEC_HHI_HDMI_CLK_CNTL (0xff63c000 + (0x073 << 2)) ++#define P_HHI_HDMI_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x073 << 2)) ++//`define HHI_DEMOD_CLK_CNTL 8'h74 // DEMOD clock control ++//`define HHI_SATA_CLK_CNTL 8'h75 // SATA clock control ++#define HHI_ETH_CLK_CNTL (0xff63c000 + (0x076 << 2)) ++#define SEC_HHI_ETH_CLK_CNTL (0xff63c000 + (0x076 << 2)) ++#define P_HHI_ETH_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x076 << 2)) ++//`define HHI_CLK_DOUBLE_CNTL 8'h77 // Ethernet clock control ++#define HHI_VDEC_CLK_CNTL (0xff63c000 + (0x078 << 2)) ++#define SEC_HHI_VDEC_CLK_CNTL (0xff63c000 + (0x078 << 2)) ++#define P_HHI_VDEC_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x078 << 2)) ++#define HHI_VDEC2_CLK_CNTL (0xff63c000 + (0x079 << 2)) ++#define SEC_HHI_VDEC2_CLK_CNTL (0xff63c000 + (0x079 << 2)) ++#define P_HHI_VDEC2_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x079 << 2)) ++#define HHI_VDEC3_CLK_CNTL (0xff63c000 + (0x07a << 2)) ++#define SEC_HHI_VDEC3_CLK_CNTL (0xff63c000 + (0x07a << 2)) ++#define P_HHI_VDEC3_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x07a << 2)) ++#define HHI_VDEC4_CLK_CNTL (0xff63c000 + (0x07b << 2)) ++#define SEC_HHI_VDEC4_CLK_CNTL (0xff63c000 + (0x07b << 2)) ++#define P_HHI_VDEC4_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x07b << 2)) ++#define HHI_HDCP22_CLK_CNTL (0xff63c000 + (0x07c << 2)) ++#define SEC_HHI_HDCP22_CLK_CNTL (0xff63c000 + (0x07c << 2)) ++#define P_HHI_HDCP22_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x07c << 2)) ++#define HHI_VAPBCLK_CNTL (0xff63c000 + (0x07d << 2)) ++#define SEC_HHI_VAPBCLK_CNTL (0xff63c000 + (0x07d << 2)) ++#define P_HHI_VAPBCLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x07d << 2)) ++//`define HHI_VP9DEC_CLK_CNTL 8'h7e ++// `define HHI_SYS_CPU_AUTO_CLK0 8'h78 never used ++// `define HHI_SYS_CPU_AUTO_CLK1 8'h79 never used ++// `define HHI_MEDIA_CPU_AUTO_CLK0 8'h7a never used ++// `define HHI_MEDIA_CPU_AUTO_CLK1 8'h7b never used ++//`define HHI_HDMI_AFC_CNTL 8'h7f ++//`define HHI_HDMIRX_CLK_CNTL 8'h80 ++//`define HHI_HDMIRX_AUD_CLK_CNTL 8'h81 ++//`define HHI_EDP_APB_CLK_CNTL 8'h82 ++#define HHI_VPU_CLKB_CNTL (0xff63c000 + (0x083 << 2)) ++#define SEC_HHI_VPU_CLKB_CNTL (0xff63c000 + (0x083 << 2)) ++#define P_HHI_VPU_CLKB_CNTL (volatile uint32_t *)(0xff63c000 + (0x083 << 2)) ++//`define HHI_VID_PLL_MOD_CNTL0 8'h84 ++//`define HHI_VID_PLL_MOD_LOW_TCNT 8'h85 ++//`define HHI_VID_PLL_MOD_HIGH_TCNT 8'h86 ++//`define HHI_VID_PLL_MOD_NOM_TCNT 8'h87 ++// Removed `define HHI_DDR_CLK_CNTL 8'h88 ++//`define HHI_32K_CLK_CNTL 8'h89 ++#define HHI_GEN_CLK_CNTL (0xff63c000 + (0x08a << 2)) ++#define SEC_HHI_GEN_CLK_CNTL (0xff63c000 + (0x08a << 2)) ++#define P_HHI_GEN_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x08a << 2)) ++//`define HHI_GEN_CLK_CNTL2 8'h8b ++//`define HHI_AUDPLL_CLK_OUT_CNTL 8'h8c ++//`define HHI_JTAG_CONFIG 8'h8e ++//`define HHI_VAFE_CLKXTALIN_CNTL 8'h8f ++//`define HHI_VAFE_CLKOSCIN_CNTL 8'h90 ++//`define HHI_VAFE_CLKIN_CNTL 8'h91 ++//`define HHI_TVFE_AUTOMODE_CLK_CNTL 8'h92 ++//`define HHI_VAFE_CLKPI_CNTL 8'h93 ++#define HHI_VDIN_MEAS_CLK_CNTL (0xff63c000 + (0x094 << 2)) ++#define SEC_HHI_VDIN_MEAS_CLK_CNTL (0xff63c000 + (0x094 << 2)) ++#define P_HHI_VDIN_MEAS_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x094 << 2)) ++#define HHI_MIPIDSI_PHY_CLK_CNTL (0xff63c000 + (0x095 << 2)) ++#define SEC_HHI_MIPIDSI_PHY_CLK_CNTL (0xff63c000 + (0x095 << 2)) ++#define P_HHI_MIPIDSI_PHY_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x095 << 2)) ++#define HHI_NAND_CLK_CNTL (0xff63c000 + (0x097 << 2)) ++#define SEC_HHI_NAND_CLK_CNTL (0xff63c000 + (0x097 << 2)) ++#define P_HHI_NAND_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x097 << 2)) ++//`define HHI_ISP_LED_CLK_CNTL 8'h98 ++#define HHI_SD_EMMC_CLK_CNTL (0xff63c000 + (0x099 << 2)) ++#define SEC_HHI_SD_EMMC_CLK_CNTL (0xff63c000 + (0x099 << 2)) ++#define P_HHI_SD_EMMC_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x099 << 2)) ++#define HHI_WAVE420L_CLK_CNTL (0xff63c000 + (0x09a << 2)) ++#define SEC_HHI_WAVE420L_CLK_CNTL (0xff63c000 + (0x09a << 2)) ++#define P_HHI_WAVE420L_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x09a << 2)) ++#define HHI_WAVE420L_CLK_CNTL2 (0xff63c000 + (0x09b << 2)) ++#define SEC_HHI_WAVE420L_CLK_CNTL2 (0xff63c000 + (0x09b << 2)) ++#define P_HHI_WAVE420L_CLK_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x09b << 2)) ++//`define HHI_EDP_TX_PHY_CNTL0 8'h9c ++//`define HHI_EDP_TX_PHY_CNTL1 8'h9d ++//`define HHI_ADC_PLL_CNTL5 8'h9e ++//`define HHI_ADC_PLL_CNTL6 8'h9f ++#define HHI_MPLL_CNTL0 (0xff63c000 + (0x09e << 2)) ++#define SEC_HHI_MPLL_CNTL0 (0xff63c000 + (0x09e << 2)) ++#define P_HHI_MPLL_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x09e << 2)) ++#define HHI_MPLL_CNTL1 (0xff63c000 + (0x09f << 2)) ++#define SEC_HHI_MPLL_CNTL1 (0xff63c000 + (0x09f << 2)) ++#define P_HHI_MPLL_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x09f << 2)) ++#define HHI_MPLL_CNTL2 (0xff63c000 + (0x0a0 << 2)) ++#define SEC_HHI_MPLL_CNTL2 (0xff63c000 + (0x0a0 << 2)) ++#define P_HHI_MPLL_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x0a0 << 2)) ++#define HHI_MPLL_CNTL3 (0xff63c000 + (0x0a1 << 2)) ++#define SEC_HHI_MPLL_CNTL3 (0xff63c000 + (0x0a1 << 2)) ++#define P_HHI_MPLL_CNTL3 (volatile uint32_t *)(0xff63c000 + (0x0a1 << 2)) ++#define HHI_MPLL_CNTL4 (0xff63c000 + (0x0a2 << 2)) ++#define SEC_HHI_MPLL_CNTL4 (0xff63c000 + (0x0a2 << 2)) ++#define P_HHI_MPLL_CNTL4 (volatile uint32_t *)(0xff63c000 + (0x0a2 << 2)) ++#define HHI_MPLL_CNTL5 (0xff63c000 + (0x0a3 << 2)) ++#define SEC_HHI_MPLL_CNTL5 (0xff63c000 + (0x0a3 << 2)) ++#define P_HHI_MPLL_CNTL5 (volatile uint32_t *)(0xff63c000 + (0x0a3 << 2)) ++#define HHI_MPLL_CNTL6 (0xff63c000 + (0x0a4 << 2)) ++#define SEC_HHI_MPLL_CNTL6 (0xff63c000 + (0x0a4 << 2)) ++#define P_HHI_MPLL_CNTL6 (volatile uint32_t *)(0xff63c000 + (0x0a4 << 2)) ++#define HHI_MPLL_CNTL7 (0xff63c000 + (0x0a5 << 2)) ++#define SEC_HHI_MPLL_CNTL7 (0xff63c000 + (0x0a5 << 2)) ++#define P_HHI_MPLL_CNTL7 (volatile uint32_t *)(0xff63c000 + (0x0a5 << 2)) ++#define HHI_MPLL_CNTL8 (0xff63c000 + (0x0a6 << 2)) ++#define SEC_HHI_MPLL_CNTL8 (0xff63c000 + (0x0a6 << 2)) ++#define P_HHI_MPLL_CNTL8 (volatile uint32_t *)(0xff63c000 + (0x0a6 << 2)) ++#define HHI_MPLL_STS (0xff63c000 + (0x0a7 << 2)) ++#define SEC_HHI_MPLL_STS (0xff63c000 + (0x0a7 << 2)) ++#define P_HHI_MPLL_STS (volatile uint32_t *)(0xff63c000 + (0x0a7 << 2)) ++#define HHI_FIX_PLL_CNTL0 (0xff63c000 + (0x0a8 << 2)) ++#define SEC_HHI_FIX_PLL_CNTL0 (0xff63c000 + (0x0a8 << 2)) ++#define P_HHI_FIX_PLL_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x0a8 << 2)) ++#define HHI_FIX_PLL_CNTL1 (0xff63c000 + (0x0a9 << 2)) ++#define SEC_HHI_FIX_PLL_CNTL1 (0xff63c000 + (0x0a9 << 2)) ++#define P_HHI_FIX_PLL_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x0a9 << 2)) ++#define HHI_FIX_PLL_CNTL2 (0xff63c000 + (0x0aa << 2)) ++#define SEC_HHI_FIX_PLL_CNTL2 (0xff63c000 + (0x0aa << 2)) ++#define P_HHI_FIX_PLL_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x0aa << 2)) ++#define HHI_FIX_PLL_CNTL3 (0xff63c000 + (0x0ab << 2)) ++#define SEC_HHI_FIX_PLL_CNTL3 (0xff63c000 + (0x0ab << 2)) ++#define P_HHI_FIX_PLL_CNTL3 (volatile uint32_t *)(0xff63c000 + (0x0ab << 2)) ++#define HHI_FIX_PLL_CNTL4 (0xff63c000 + (0x0ac << 2)) ++#define SEC_HHI_FIX_PLL_CNTL4 (0xff63c000 + (0x0ac << 2)) ++#define P_HHI_FIX_PLL_CNTL4 (volatile uint32_t *)(0xff63c000 + (0x0ac << 2)) ++#define HHI_FIX_PLL_CNTL5 (0xff63c000 + (0x0ad << 2)) ++#define SEC_HHI_FIX_PLL_CNTL5 (0xff63c000 + (0x0ad << 2)) ++#define P_HHI_FIX_PLL_CNTL5 (volatile uint32_t *)(0xff63c000 + (0x0ad << 2)) ++#define HHI_FIX_PLL_CNTL6 (0xff63c000 + (0x0ae << 2)) ++#define SEC_HHI_FIX_PLL_CNTL6 (0xff63c000 + (0x0ae << 2)) ++#define P_HHI_FIX_PLL_CNTL6 (volatile uint32_t *)(0xff63c000 + (0x0ae << 2)) ++#define HHI_FIX_PLL_STS (0xff63c000 + (0x0af << 2)) ++#define SEC_HHI_FIX_PLL_STS (0xff63c000 + (0x0af << 2)) ++#define P_HHI_FIX_PLL_STS (volatile uint32_t *)(0xff63c000 + (0x0af << 2)) ++//`define HHI_ADC_PLL_CNTL 8'haa ++//`define HHI_ADC_PLL_CNTL2 8'hab ++//`define HHI_ADC_PLL_CNTL3 8'hac ++//`define HHI_ADC_PLL_CNTL4 8'had ++//`define HHI_ADC_PLL_STS 8'hae ++//`define HHI_ADC_PLL_CNTL1 8'haf ++//`define HHI_AUDCLK_PLL_CNTL 8'hb0 ++//`define HHI_AUDCLK_PLL_CNTL2 8'hb1 ++//`define HHI_AUDCLK_PLL_CNTL3 8'hb2 ++//`define HHI_AUDCLK_PLL_CNTL4 8'hb3 ++//`define HHI_AUDCLK_PLL_CNTL5 8'hb4 ++//`define HHI_AUDCLK_PLL_CNTL6 8'hb5 ++//`define HHI_L2_DDR_CLK_CNTL 8'hb6 ++//`define HHI_PLL_TOP_MISC 8'hba ++#define HHI_VDAC_CNTL0 (0xff63c000 + (0x0bb << 2)) ++#define SEC_HHI_VDAC_CNTL0 (0xff63c000 + (0x0bb << 2)) ++#define P_HHI_VDAC_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x0bb << 2)) ++#define HHI_VDAC_CNTL1 (0xff63c000 + (0x0bc << 2)) ++#define SEC_HHI_VDAC_CNTL1 (0xff63c000 + (0x0bc << 2)) ++#define P_HHI_VDAC_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x0bc << 2)) ++#define HHI_SYS_PLL_CNTL0 (0xff63c000 + (0x0bd << 2)) ++#define SEC_HHI_SYS_PLL_CNTL0 (0xff63c000 + (0x0bd << 2)) ++#define P_HHI_SYS_PLL_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x0bd << 2)) ++#define HHI_SYS_PLL_CNTL1 (0xff63c000 + (0x0be << 2)) ++#define SEC_HHI_SYS_PLL_CNTL1 (0xff63c000 + (0x0be << 2)) ++#define P_HHI_SYS_PLL_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x0be << 2)) ++#define HHI_SYS_PLL_CNTL2 (0xff63c000 + (0x0bf << 2)) ++#define SEC_HHI_SYS_PLL_CNTL2 (0xff63c000 + (0x0bf << 2)) ++#define P_HHI_SYS_PLL_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x0bf << 2)) ++#define HHI_SYS_PLL_CNTL3 (0xff63c000 + (0x0c0 << 2)) ++#define SEC_HHI_SYS_PLL_CNTL3 (0xff63c000 + (0x0c0 << 2)) ++#define P_HHI_SYS_PLL_CNTL3 (volatile uint32_t *)(0xff63c000 + (0x0c0 << 2)) ++#define HHI_SYS_PLL_CNTL4 (0xff63c000 + (0x0c1 << 2)) ++#define SEC_HHI_SYS_PLL_CNTL4 (0xff63c000 + (0x0c1 << 2)) ++#define P_HHI_SYS_PLL_CNTL4 (volatile uint32_t *)(0xff63c000 + (0x0c1 << 2)) ++#define HHI_SYS_PLL_CNTL5 (0xff63c000 + (0x0c2 << 2)) ++#define SEC_HHI_SYS_PLL_CNTL5 (0xff63c000 + (0x0c2 << 2)) ++#define P_HHI_SYS_PLL_CNTL5 (volatile uint32_t *)(0xff63c000 + (0x0c2 << 2)) ++#define HHI_SYS_PLL_CNTL6 (0xff63c000 + (0x0c3 << 2)) ++#define SEC_HHI_SYS_PLL_CNTL6 (0xff63c000 + (0x0c3 << 2)) ++#define P_HHI_SYS_PLL_CNTL6 (volatile uint32_t *)(0xff63c000 + (0x0c3 << 2)) ++#define HHI_SYS_PLL_STS (0xff63c000 + (0x0c4 << 2)) ++#define SEC_HHI_SYS_PLL_STS (0xff63c000 + (0x0c4 << 2)) ++#define P_HHI_SYS_PLL_STS (volatile uint32_t *)(0xff63c000 + (0x0c4 << 2)) ++#define HHI_HDMI_PLL_CNTL0 (0xff63c000 + (0x0c8 << 2)) ++#define SEC_HHI_HDMI_PLL_CNTL0 (0xff63c000 + (0x0c8 << 2)) ++#define P_HHI_HDMI_PLL_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x0c8 << 2)) ++#define HHI_HDMI_PLL_CNTL1 (0xff63c000 + (0x0c9 << 2)) ++#define SEC_HHI_HDMI_PLL_CNTL1 (0xff63c000 + (0x0c9 << 2)) ++#define P_HHI_HDMI_PLL_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x0c9 << 2)) ++#define HHI_HDMI_PLL_CNTL2 (0xff63c000 + (0x0ca << 2)) ++#define SEC_HHI_HDMI_PLL_CNTL2 (0xff63c000 + (0x0ca << 2)) ++#define P_HHI_HDMI_PLL_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x0ca << 2)) ++#define HHI_HDMI_PLL_CNTL3 (0xff63c000 + (0x0cb << 2)) ++#define SEC_HHI_HDMI_PLL_CNTL3 (0xff63c000 + (0x0cb << 2)) ++#define P_HHI_HDMI_PLL_CNTL3 (volatile uint32_t *)(0xff63c000 + (0x0cb << 2)) ++#define HHI_HDMI_PLL_CNTL4 (0xff63c000 + (0x0cc << 2)) ++#define SEC_HHI_HDMI_PLL_CNTL4 (0xff63c000 + (0x0cc << 2)) ++#define P_HHI_HDMI_PLL_CNTL4 (volatile uint32_t *)(0xff63c000 + (0x0cc << 2)) ++#define HHI_HDMI_PLL_CNTL5 (0xff63c000 + (0x0cd << 2)) ++#define SEC_HHI_HDMI_PLL_CNTL5 (0xff63c000 + (0x0cd << 2)) ++#define P_HHI_HDMI_PLL_CNTL5 (volatile uint32_t *)(0xff63c000 + (0x0cd << 2)) ++#define HHI_HDMI_PLL_CNTL6 (0xff63c000 + (0x0ce << 2)) ++#define SEC_HHI_HDMI_PLL_CNTL6 (0xff63c000 + (0x0ce << 2)) ++#define P_HHI_HDMI_PLL_CNTL6 (volatile uint32_t *)(0xff63c000 + (0x0ce << 2)) ++#define HHI_HDMI_PLL_STS (0xff63c000 + (0x0cf << 2)) ++#define SEC_HHI_HDMI_PLL_STS (0xff63c000 + (0x0cf << 2)) ++#define P_HHI_HDMI_PLL_STS (volatile uint32_t *)(0xff63c000 + (0x0cf << 2)) ++//`define HHI_MIPI_CSI_PHY_CLK_CNTL 8'hd0 ++//`define HHI_DSI_LVDS_EDP_CNTL0 8'hd1 ++//`define HHI_DSI_LVDS_EDP_CNTL1 8'hd2 ++//`define HHI_CSI_PHY_CNTL0 8'hd3 ++//`define HHI_CSI_PHY_CNTL1 8'hd4 ++//`define HHI_CSI_PHY_CNTL2 8'hd5 ++//`define HHI_CSI_PHY_CNTL3 8'hd6 ++//`define HHI_CSI_PHY_CNTL4 8'hd7 ++//`define HHI_DIF_CSI_PHY_CNTL0 8'hd8 ++//`define HHI_DIF_CSI_PHY_CNTL1 8'hd9 ++//`define HHI_DIF_CSI_PHY_CNTL2 8'hda ++//`define HHI_DIF_CSI_PHY_CNTL3 8'hdb ++//`define HHI_DIF_CSI_PHY_CNTL4 8'hdc ++//`define HHI_DIF_CSI_PHY_CNTL5 8'hdd ++//`define HHI_LVDS_TX_PHY_CNTL0 8'hde ++//`define HHI_LVDS_TX_PHY_CNTL1 8'hdf ++//`define HHI_VID2_PLL_CNTL 8'he0 ++//`define HHI_VID2_PLL_CNTL2 8'he1 ++//`define HHI_VID2_PLL_CNTL3 8'he2 ++//`define HHI_VID2_PLL_CNTL4 8'he3 ++//`define HHI_VID2_PLL_CNTL5 8'he4 ++//`define HHI_VID2_PLL_CNTL_I 8'he5 ++#define HHI_HDMI_PHY_CNTL0 (0xff63c000 + (0x0e8 << 2)) ++#define SEC_HHI_HDMI_PHY_CNTL0 (0xff63c000 + (0x0e8 << 2)) ++#define P_HHI_HDMI_PHY_CNTL0 (volatile uint32_t *)(0xff63c000 + (0x0e8 << 2)) ++#define HHI_HDMI_PHY_CNTL1 (0xff63c000 + (0x0e9 << 2)) ++#define SEC_HHI_HDMI_PHY_CNTL1 (0xff63c000 + (0x0e9 << 2)) ++#define P_HHI_HDMI_PHY_CNTL1 (volatile uint32_t *)(0xff63c000 + (0x0e9 << 2)) ++#define HHI_HDMI_PHY_CNTL2 (0xff63c000 + (0x0ea << 2)) ++#define SEC_HHI_HDMI_PHY_CNTL2 (0xff63c000 + (0x0ea << 2)) ++#define P_HHI_HDMI_PHY_CNTL2 (volatile uint32_t *)(0xff63c000 + (0x0ea << 2)) ++#define HHI_HDMI_PHY_CNTL3 (0xff63c000 + (0x0eb << 2)) ++#define SEC_HHI_HDMI_PHY_CNTL3 (0xff63c000 + (0x0eb << 2)) ++#define P_HHI_HDMI_PHY_CNTL3 (volatile uint32_t *)(0xff63c000 + (0x0eb << 2)) ++#define HHI_HDMI_PHY_CNTL4 (0xff63c000 + (0x0ec << 2)) ++#define SEC_HHI_HDMI_PHY_CNTL4 (0xff63c000 + (0x0ec << 2)) ++#define P_HHI_HDMI_PHY_CNTL4 (volatile uint32_t *)(0xff63c000 + (0x0ec << 2)) ++#define HHI_HDMI_PHY_CNTL5 (0xff63c000 + (0x0ed << 2)) ++#define SEC_HHI_HDMI_PHY_CNTL5 (0xff63c000 + (0x0ed << 2)) ++#define P_HHI_HDMI_PHY_CNTL5 (volatile uint32_t *)(0xff63c000 + (0x0ed << 2)) ++#define HHI_HDMI_PHY_STATUS (0xff63c000 + (0x0ee << 2)) ++#define SEC_HHI_HDMI_PHY_STATUS (0xff63c000 + (0x0ee << 2)) ++#define P_HHI_HDMI_PHY_STATUS (volatile uint32_t *)(0xff63c000 + (0x0ee << 2)) ++//`define HHI_ADEC_SYS_CLK_CNTL 8'hf1 ++#define HHI_VID_LOCK_CLK_CNTL (0xff63c000 + (0x0f2 << 2)) ++#define SEC_HHI_VID_LOCK_CLK_CNTL (0xff63c000 + (0x0f2 << 2)) ++#define P_HHI_VID_LOCK_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x0f2 << 2)) ++//`define HHI_ATV_DMD_SYS_CLK_CNTL 8'hf3 ++#define HHI_AXI_PIPEL_CNTL (0xff63c000 + (0x0f4 << 2)) ++#define SEC_HHI_AXI_PIPEL_CNTL (0xff63c000 + (0x0f4 << 2)) ++#define P_HHI_AXI_PIPEL_CNTL (volatile uint32_t *)(0xff63c000 + (0x0f4 << 2)) ++#define HHI_BT656_CLK_CNTL (0xff63c000 + (0x0f5 << 2)) ++#define SEC_HHI_BT656_CLK_CNTL (0xff63c000 + (0x0f5 << 2)) ++#define P_HHI_BT656_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x0f5 << 2)) ++#define HHI_CDAC_CLK_CNTL (0xff63c000 + (0x0f6 << 2)) ++#define SEC_HHI_CDAC_CLK_CNTL (0xff63c000 + (0x0f6 << 2)) ++#define P_HHI_CDAC_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x0f6 << 2)) ++#define HHI_SPICC_CLK_CNTL (0xff63c000 + (0x0f7 << 2)) ++#define SEC_HHI_SPICC_CLK_CNTL (0xff63c000 + (0x0f7 << 2)) ++#define P_HHI_SPICC_CLK_CNTL (volatile uint32_t *)(0xff63c000 + (0x0f7 << 2)) ++//`define HHI_HDMIRX_AUD_PLL_CNTL 8'hf8 ++//`define HHI_HDMIRX_AUD_PLL_CNTL2 8'hf9 ++//`define HHI_HDMIRX_AUD_PLL_CNTL3 8'hfa ++//`define HHI_HDMIRX_AUD_PLL_CNTL4 8'hfb ++//`define HHI_HDMIRX_AUD_PLL_CNTL5 8'hfc ++//`define HHI_HDMIRX_AUD_PLL_CNTL6 8'hfd ++//`define HHI_HDMIRX_AUD_PLL_CNTL_I 8'hfe ++//======================================================================== ++// HIU - Mailbox ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF63C400 ++// APB4_DECODER_SECURE_BASE 32'hFF63C400 ++#define HIU_MAILBOX_SET_0 (0xff63c400 + (0x001 << 2)) ++#define SEC_HIU_MAILBOX_SET_0 (0xff63c400 + (0x001 << 2)) ++#define P_HIU_MAILBOX_SET_0 (volatile uint32_t *)(0xff63c400 + (0x001 << 2)) ++#define HIU_MAILBOX_STAT_0 (0xff63c400 + (0x002 << 2)) ++#define SEC_HIU_MAILBOX_STAT_0 (0xff63c400 + (0x002 << 2)) ++#define P_HIU_MAILBOX_STAT_0 (volatile uint32_t *)(0xff63c400 + (0x002 << 2)) ++#define HIU_MAILBOX_CLR_0 (0xff63c400 + (0x003 << 2)) ++#define SEC_HIU_MAILBOX_CLR_0 (0xff63c400 + (0x003 << 2)) ++#define P_HIU_MAILBOX_CLR_0 (volatile uint32_t *)(0xff63c400 + (0x003 << 2)) ++#define HIU_MAILBOX_SET_1 (0xff63c400 + (0x004 << 2)) ++#define SEC_HIU_MAILBOX_SET_1 (0xff63c400 + (0x004 << 2)) ++#define P_HIU_MAILBOX_SET_1 (volatile uint32_t *)(0xff63c400 + (0x004 << 2)) ++#define HIU_MAILBOX_STAT_1 (0xff63c400 + (0x005 << 2)) ++#define SEC_HIU_MAILBOX_STAT_1 (0xff63c400 + (0x005 << 2)) ++#define P_HIU_MAILBOX_STAT_1 (volatile uint32_t *)(0xff63c400 + (0x005 << 2)) ++#define HIU_MAILBOX_CLR_1 (0xff63c400 + (0x006 << 2)) ++#define SEC_HIU_MAILBOX_CLR_1 (0xff63c400 + (0x006 << 2)) ++#define P_HIU_MAILBOX_CLR_1 (volatile uint32_t *)(0xff63c400 + (0x006 << 2)) ++#define HIU_MAILBOX_SET_2 (0xff63c400 + (0x007 << 2)) ++#define SEC_HIU_MAILBOX_SET_2 (0xff63c400 + (0x007 << 2)) ++#define P_HIU_MAILBOX_SET_2 (volatile uint32_t *)(0xff63c400 + (0x007 << 2)) ++#define HIU_MAILBOX_STAT_2 (0xff63c400 + (0x008 << 2)) ++#define SEC_HIU_MAILBOX_STAT_2 (0xff63c400 + (0x008 << 2)) ++#define P_HIU_MAILBOX_STAT_2 (volatile uint32_t *)(0xff63c400 + (0x008 << 2)) ++#define HIU_MAILBOX_CLR_2 (0xff63c400 + (0x009 << 2)) ++#define SEC_HIU_MAILBOX_CLR_2 (0xff63c400 + (0x009 << 2)) ++#define P_HIU_MAILBOX_CLR_2 (volatile uint32_t *)(0xff63c400 + (0x009 << 2)) ++#define HIU_MAILBOX_SET_3 (0xff63c400 + (0x00a << 2)) ++#define SEC_HIU_MAILBOX_SET_3 (0xff63c400 + (0x00a << 2)) ++#define P_HIU_MAILBOX_SET_3 (volatile uint32_t *)(0xff63c400 + (0x00a << 2)) ++#define HIU_MAILBOX_STAT_3 (0xff63c400 + (0x00b << 2)) ++#define SEC_HIU_MAILBOX_STAT_3 (0xff63c400 + (0x00b << 2)) ++#define P_HIU_MAILBOX_STAT_3 (volatile uint32_t *)(0xff63c400 + (0x00b << 2)) ++#define HIU_MAILBOX_CLR_3 (0xff63c400 + (0x00c << 2)) ++#define SEC_HIU_MAILBOX_CLR_3 (0xff63c400 + (0x00c << 2)) ++#define P_HIU_MAILBOX_CLR_3 (volatile uint32_t *)(0xff63c400 + (0x00c << 2)) ++#define HIU_MAILBOX_SET_4 (0xff63c400 + (0x00d << 2)) ++#define SEC_HIU_MAILBOX_SET_4 (0xff63c400 + (0x00d << 2)) ++#define P_HIU_MAILBOX_SET_4 (volatile uint32_t *)(0xff63c400 + (0x00d << 2)) ++#define HIU_MAILBOX_STAT_4 (0xff63c400 + (0x00e << 2)) ++#define SEC_HIU_MAILBOX_STAT_4 (0xff63c400 + (0x00e << 2)) ++#define P_HIU_MAILBOX_STAT_4 (volatile uint32_t *)(0xff63c400 + (0x00e << 2)) ++#define HIU_MAILBOX_CLR_4 (0xff63c400 + (0x00f << 2)) ++#define SEC_HIU_MAILBOX_CLR_4 (0xff63c400 + (0x00f << 2)) ++#define P_HIU_MAILBOX_CLR_4 (volatile uint32_t *)(0xff63c400 + (0x00f << 2)) ++#define HIU_MAILBOX_SET_5 (0xff63c400 + (0x010 << 2)) ++#define SEC_HIU_MAILBOX_SET_5 (0xff63c400 + (0x010 << 2)) ++#define P_HIU_MAILBOX_SET_5 (volatile uint32_t *)(0xff63c400 + (0x010 << 2)) ++#define HIU_MAILBOX_STAT_5 (0xff63c400 + (0x011 << 2)) ++#define SEC_HIU_MAILBOX_STAT_5 (0xff63c400 + (0x011 << 2)) ++#define P_HIU_MAILBOX_STAT_5 (volatile uint32_t *)(0xff63c400 + (0x011 << 2)) ++#define HIU_MAILBOX_CLR_5 (0xff63c400 + (0x012 << 2)) ++#define SEC_HIU_MAILBOX_CLR_5 (0xff63c400 + (0x012 << 2)) ++#define P_HIU_MAILBOX_CLR_5 (volatile uint32_t *)(0xff63c400 + (0x012 << 2)) ++#define HIU_MAILBOX_SET_6 (0xff63c400 + (0x013 << 2)) ++#define SEC_HIU_MAILBOX_SET_6 (0xff63c400 + (0x013 << 2)) ++#define P_HIU_MAILBOX_SET_6 (volatile uint32_t *)(0xff63c400 + (0x013 << 2)) ++#define HIU_MAILBOX_STAT_6 (0xff63c400 + (0x014 << 2)) ++#define SEC_HIU_MAILBOX_STAT_6 (0xff63c400 + (0x014 << 2)) ++#define P_HIU_MAILBOX_STAT_6 (volatile uint32_t *)(0xff63c400 + (0x014 << 2)) ++#define HIU_MAILBOX_CLR_6 (0xff63c400 + (0x015 << 2)) ++#define SEC_HIU_MAILBOX_CLR_6 (0xff63c400 + (0x015 << 2)) ++#define P_HIU_MAILBOX_CLR_6 (volatile uint32_t *)(0xff63c400 + (0x015 << 2)) ++#define HIU_MAILBOX_SET_7 (0xff63c400 + (0x016 << 2)) ++#define SEC_HIU_MAILBOX_SET_7 (0xff63c400 + (0x016 << 2)) ++#define P_HIU_MAILBOX_SET_7 (volatile uint32_t *)(0xff63c400 + (0x016 << 2)) ++#define HIU_MAILBOX_STAT_7 (0xff63c400 + (0x017 << 2)) ++#define SEC_HIU_MAILBOX_STAT_7 (0xff63c400 + (0x017 << 2)) ++#define P_HIU_MAILBOX_STAT_7 (volatile uint32_t *)(0xff63c400 + (0x017 << 2)) ++#define HIU_MAILBOX_CLR_7 (0xff63c400 + (0x018 << 2)) ++#define SEC_HIU_MAILBOX_CLR_7 (0xff63c400 + (0x018 << 2)) ++#define P_HIU_MAILBOX_CLR_7 (volatile uint32_t *)(0xff63c400 + (0x018 << 2)) ++//======================================================================== ++// EFUSE ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF630000 ++// APB4_DECODER_SECURE_BASE 32'hFF630000 ++#define EFUSE_CLR (0xff630000 + (0x000 << 2)) ++#define SEC_EFUSE_CLR (0xff630000 + (0x000 << 2)) ++#define P_EFUSE_CLR (volatile uint32_t *)(0xff630000 + (0x000 << 2)) ++#define EFUSE_START (0xff630000 + (0x001 << 2)) ++#define SEC_EFUSE_START (0xff630000 + (0x001 << 2)) ++#define P_EFUSE_START (volatile uint32_t *)(0xff630000 + (0x001 << 2)) ++#define EFUSE_WDATA0 (0xff630000 + (0x004 << 2)) ++#define SEC_EFUSE_WDATA0 (0xff630000 + (0x004 << 2)) ++#define P_EFUSE_WDATA0 (volatile uint32_t *)(0xff630000 + (0x004 << 2)) ++#define EFUSE_WDATA1 (0xff630000 + (0x005 << 2)) ++#define SEC_EFUSE_WDATA1 (0xff630000 + (0x005 << 2)) ++#define P_EFUSE_WDATA1 (volatile uint32_t *)(0xff630000 + (0x005 << 2)) ++#define EFUSE_WDATA2 (0xff630000 + (0x006 << 2)) ++#define SEC_EFUSE_WDATA2 (0xff630000 + (0x006 << 2)) ++#define P_EFUSE_WDATA2 (volatile uint32_t *)(0xff630000 + (0x006 << 2)) ++#define EFUSE_WDATA3 (0xff630000 + (0x007 << 2)) ++#define SEC_EFUSE_WDATA3 (0xff630000 + (0x007 << 2)) ++#define P_EFUSE_WDATA3 (volatile uint32_t *)(0xff630000 + (0x007 << 2)) ++#define EFUSE_RDATA0 (0xff630000 + (0x008 << 2)) ++#define SEC_EFUSE_RDATA0 (0xff630000 + (0x008 << 2)) ++#define P_EFUSE_RDATA0 (volatile uint32_t *)(0xff630000 + (0x008 << 2)) ++#define EFUSE_RDATA1 (0xff630000 + (0x009 << 2)) ++#define SEC_EFUSE_RDATA1 (0xff630000 + (0x009 << 2)) ++#define P_EFUSE_RDATA1 (volatile uint32_t *)(0xff630000 + (0x009 << 2)) ++#define EFUSE_RDATA2 (0xff630000 + (0x00a << 2)) ++#define SEC_EFUSE_RDATA2 (0xff630000 + (0x00a << 2)) ++#define P_EFUSE_RDATA2 (volatile uint32_t *)(0xff630000 + (0x00a << 2)) ++#define EFUSE_RDATA3 (0xff630000 + (0x00b << 2)) ++#define SEC_EFUSE_RDATA3 (0xff630000 + (0x00b << 2)) ++#define P_EFUSE_RDATA3 (volatile uint32_t *)(0xff630000 + (0x00b << 2)) ++#define EFUSE_LIC0 (0xff630000 + (0x00c << 2)) ++#define SEC_EFUSE_LIC0 (0xff630000 + (0x00c << 2)) ++#define P_EFUSE_LIC0 (volatile uint32_t *)(0xff630000 + (0x00c << 2)) ++#define EFUSE_LIC1 (0xff630000 + (0x00d << 2)) ++#define SEC_EFUSE_LIC1 (0xff630000 + (0x00d << 2)) ++#define P_EFUSE_LIC1 (volatile uint32_t *)(0xff630000 + (0x00d << 2)) ++#define EFUSE_LIC2 (0xff630000 + (0x00e << 2)) ++#define SEC_EFUSE_LIC2 (0xff630000 + (0x00e << 2)) ++#define P_EFUSE_LIC2 (volatile uint32_t *)(0xff630000 + (0x00e << 2)) ++#define EFUSE_LIC3 (0xff630000 + (0x00f << 2)) ++#define SEC_EFUSE_LIC3 (0xff630000 + (0x00f << 2)) ++#define P_EFUSE_LIC3 (volatile uint32_t *)(0xff630000 + (0x00f << 2)) ++#define KL_START0 (0xff630000 + (0x020 << 2)) ++#define SEC_KL_START0 (0xff630000 + (0x020 << 2)) ++#define P_KL_START0 (volatile uint32_t *)(0xff630000 + (0x020 << 2)) ++#define KL_START1 (0xff630000 + (0x021 << 2)) ++#define SEC_KL_START1 (0xff630000 + (0x021 << 2)) ++#define P_KL_START1 (volatile uint32_t *)(0xff630000 + (0x021 << 2)) ++#define KL_RESP0_0 (0xff630000 + (0x024 << 2)) ++#define SEC_KL_RESP0_0 (0xff630000 + (0x024 << 2)) ++#define P_KL_RESP0_0 (volatile uint32_t *)(0xff630000 + (0x024 << 2)) ++#define KL_RESP0_1 (0xff630000 + (0x025 << 2)) ++#define SEC_KL_RESP0_1 (0xff630000 + (0x025 << 2)) ++#define P_KL_RESP0_1 (volatile uint32_t *)(0xff630000 + (0x025 << 2)) ++#define KL_RESP0_2 (0xff630000 + (0x026 << 2)) ++#define SEC_KL_RESP0_2 (0xff630000 + (0x026 << 2)) ++#define P_KL_RESP0_2 (volatile uint32_t *)(0xff630000 + (0x026 << 2)) ++#define KL_RESP0_3 (0xff630000 + (0x027 << 2)) ++#define SEC_KL_RESP0_3 (0xff630000 + (0x027 << 2)) ++#define P_KL_RESP0_3 (volatile uint32_t *)(0xff630000 + (0x027 << 2)) ++#define KL_RESP1_0 (0xff630000 + (0x028 << 2)) ++#define SEC_KL_RESP1_0 (0xff630000 + (0x028 << 2)) ++#define P_KL_RESP1_0 (volatile uint32_t *)(0xff630000 + (0x028 << 2)) ++#define KL_RESP1_1 (0xff630000 + (0x029 << 2)) ++#define SEC_KL_RESP1_1 (0xff630000 + (0x029 << 2)) ++#define P_KL_RESP1_1 (volatile uint32_t *)(0xff630000 + (0x029 << 2)) ++#define KL_RESP1_2 (0xff630000 + (0x02a << 2)) ++#define SEC_KL_RESP1_2 (0xff630000 + (0x02a << 2)) ++#define P_KL_RESP1_2 (volatile uint32_t *)(0xff630000 + (0x02a << 2)) ++#define KL_RESP1_3 (0xff630000 + (0x02b << 2)) ++#define SEC_KL_RESP1_3 (0xff630000 + (0x02b << 2)) ++#define P_KL_RESP1_3 (volatile uint32_t *)(0xff630000 + (0x02b << 2)) ++#define KL_RAM (0xff630000 + (0x040 << 2)) ++#define SEC_KL_RAM (0xff630000 + (0x040 << 2)) ++#define P_KL_RAM (volatile uint32_t *)(0xff630000 + (0x040 << 2)) ++#define RNG_SEC_CONFIG_REG1 (0xff630000 + (0x081 << 2)) ++#define SEC_RNG_SEC_CONFIG_REG1 (0xff630000 + (0x081 << 2)) ++#define P_RNG_SEC_CONFIG_REG1 (volatile uint32_t *)(0xff630000 + (0x081 << 2)) ++#define RNG_SEC_CONFIG_REG2 (0xff630000 + (0x082 << 2)) ++#define SEC_RNG_SEC_CONFIG_REG2 (0xff630000 + (0x082 << 2)) ++#define P_RNG_SEC_CONFIG_REG2 (volatile uint32_t *)(0xff630000 + (0x082 << 2)) ++#define RNG_SEC_DATA (0xff630000 + (0x084 << 2)) ++#define SEC_RNG_SEC_DATA (0xff630000 + (0x084 << 2)) ++#define P_RNG_SEC_DATA (volatile uint32_t *)(0xff630000 + (0x084 << 2)) ++#define RNG_SEC_STS (0xff630000 + (0x085 << 2)) ++#define SEC_RNG_SEC_STS (0xff630000 + (0x085 << 2)) ++#define P_RNG_SEC_STS (volatile uint32_t *)(0xff630000 + (0x085 << 2)) ++#define RNG_USR_DATA (0xff630000 + (0x086 << 2)) ++#define SEC_RNG_USR_DATA (0xff630000 + (0x086 << 2)) ++#define P_RNG_USR_DATA (volatile uint32_t *)(0xff630000 + (0x086 << 2)) ++#define RNG_USR_STS (0xff630000 + (0x087 << 2)) ++#define SEC_RNG_USR_STS (0xff630000 + (0x087 << 2)) ++#define P_RNG_USR_STS (volatile uint32_t *)(0xff630000 + (0x087 << 2)) ++//======================================================================== ++// Ethernet Phy ++//======================================================================== ++// APB4_DECODER_NON_SECURE_BASE 32'hFF64C000 ++// APB4_DECODER_SECURE_BASE 32'hFF64C000 ++#define ETH_PHY_DBG_CTL0 (0xff64c000 + (0x000 << 2)) ++#define SEC_ETH_PHY_DBG_CTL0 (0xff64c000 + (0x000 << 2)) ++#define P_ETH_PHY_DBG_CTL0 (volatile uint32_t *)(0xff64c000 + (0x000 << 2)) ++#define ETH_PHY_DBG_CTL1 (0xff64c000 + (0x001 << 2)) ++#define SEC_ETH_PHY_DBG_CTL1 (0xff64c000 + (0x001 << 2)) ++#define P_ETH_PHY_DBG_CTL1 (volatile uint32_t *)(0xff64c000 + (0x001 << 2)) ++#define ETH_PHY_DBG_CFG0 (0xff64c000 + (0x002 << 2)) ++#define SEC_ETH_PHY_DBG_CFG0 (0xff64c000 + (0x002 << 2)) ++#define P_ETH_PHY_DBG_CFG0 (volatile uint32_t *)(0xff64c000 + (0x002 << 2)) ++#define ETH_PHY_DBG_CFG1 (0xff64c000 + (0x003 << 2)) ++#define SEC_ETH_PHY_DBG_CFG1 (0xff64c000 + (0x003 << 2)) ++#define P_ETH_PHY_DBG_CFG1 (volatile uint32_t *)(0xff64c000 + (0x003 << 2)) ++#define ETH_PHY_DBG_CFG2 (0xff64c000 + (0x004 << 2)) ++#define SEC_ETH_PHY_DBG_CFG2 (0xff64c000 + (0x004 << 2)) ++#define P_ETH_PHY_DBG_CFG2 (volatile uint32_t *)(0xff64c000 + (0x004 << 2)) ++#define ETH_PHY_DBG_CFG3 (0xff64c000 + (0x005 << 2)) ++#define SEC_ETH_PHY_DBG_CFG3 (0xff64c000 + (0x005 << 2)) ++#define P_ETH_PHY_DBG_CFG3 (volatile uint32_t *)(0xff64c000 + (0x005 << 2)) ++#define ETH_PHY_DBG_CFG4 (0xff64c000 + (0x006 << 2)) ++#define SEC_ETH_PHY_DBG_CFG4 (0xff64c000 + (0x006 << 2)) ++#define P_ETH_PHY_DBG_CFG4 (volatile uint32_t *)(0xff64c000 + (0x006 << 2)) ++#define ETH_PLL_STS (0xff64c000 + (0x010 << 2)) ++#define SEC_ETH_PLL_STS (0xff64c000 + (0x010 << 2)) ++#define P_ETH_PLL_STS (volatile uint32_t *)(0xff64c000 + (0x010 << 2)) ++#define ETH_PLL_CTL0 (0xff64c000 + (0x011 << 2)) ++#define SEC_ETH_PLL_CTL0 (0xff64c000 + (0x011 << 2)) ++#define P_ETH_PLL_CTL0 (volatile uint32_t *)(0xff64c000 + (0x011 << 2)) ++#define ETH_PLL_CTL1 (0xff64c000 + (0x012 << 2)) ++#define SEC_ETH_PLL_CTL1 (0xff64c000 + (0x012 << 2)) ++#define P_ETH_PLL_CTL1 (volatile uint32_t *)(0xff64c000 + (0x012 << 2)) ++#define ETH_PLL_CTL2 (0xff64c000 + (0x013 << 2)) ++#define SEC_ETH_PLL_CTL2 (0xff64c000 + (0x013 << 2)) ++#define P_ETH_PLL_CTL2 (volatile uint32_t *)(0xff64c000 + (0x013 << 2)) ++#define ETH_PLL_CTL3 (0xff64c000 + (0x014 << 2)) ++#define SEC_ETH_PLL_CTL3 (0xff64c000 + (0x014 << 2)) ++#define P_ETH_PLL_CTL3 (volatile uint32_t *)(0xff64c000 + (0x014 << 2)) ++#define ETH_PLL_CTL4 (0xff64c000 + (0x015 << 2)) ++#define SEC_ETH_PLL_CTL4 (0xff64c000 + (0x015 << 2)) ++#define P_ETH_PLL_CTL4 (volatile uint32_t *)(0xff64c000 + (0x015 << 2)) ++#define ETH_PLL_CTL5 (0xff64c000 + (0x016 << 2)) ++#define SEC_ETH_PLL_CTL5 (0xff64c000 + (0x016 << 2)) ++#define P_ETH_PLL_CTL5 (volatile uint32_t *)(0xff64c000 + (0x016 << 2)) ++#define ETH_PLL_CTL6 (0xff64c000 + (0x017 << 2)) ++#define SEC_ETH_PLL_CTL6 (0xff64c000 + (0x017 << 2)) ++#define P_ETH_PLL_CTL6 (volatile uint32_t *)(0xff64c000 + (0x017 << 2)) ++#define ETH_PLL_CTL7 (0xff64c000 + (0x018 << 2)) ++#define SEC_ETH_PLL_CTL7 (0xff64c000 + (0x018 << 2)) ++#define P_ETH_PLL_CTL7 (volatile uint32_t *)(0xff64c000 + (0x018 << 2)) ++#define ETH_PHY_CNTL0 (0xff64c000 + (0x020 << 2)) ++#define SEC_ETH_PHY_CNTL0 (0xff64c000 + (0x020 << 2)) ++#define P_ETH_PHY_CNTL0 (volatile uint32_t *)(0xff64c000 + (0x020 << 2)) ++#define ETH_PHY_CNTL1 (0xff64c000 + (0x021 << 2)) ++#define SEC_ETH_PHY_CNTL1 (0xff64c000 + (0x021 << 2)) ++#define P_ETH_PHY_CNTL1 (volatile uint32_t *)(0xff64c000 + (0x021 << 2)) ++#define ETH_PHY_CNTL2 (0xff64c000 + (0x022 << 2)) ++#define SEC_ETH_PHY_CNTL2 (0xff64c000 + (0x022 << 2)) ++#define P_ETH_PHY_CNTL2 (volatile uint32_t *)(0xff64c000 + (0x022 << 2)) ++#define ETH_PHY_STS0 (0xff64c000 + (0x025 << 2)) ++#define SEC_ETH_PHY_STS0 (0xff64c000 + (0x025 << 2)) ++#define P_ETH_PHY_STS0 (volatile uint32_t *)(0xff64c000 + (0x025 << 2)) ++#define ETH_PHY_STS1 (0xff64c000 + (0x026 << 2)) ++#define SEC_ETH_PHY_STS1 (0xff64c000 + (0x026 << 2)) ++#define P_ETH_PHY_STS1 (volatile uint32_t *)(0xff64c000 + (0x026 << 2)) ++#define ETH_PHY_STS2 (0xff64c000 + (0x027 << 2)) ++#define SEC_ETH_PHY_STS2 (0xff64c000 + (0x027 << 2)) ++#define P_ETH_PHY_STS2 (volatile uint32_t *)(0xff64c000 + (0x027 << 2)) ++#define ETH_PHY_DBG_REG (0xff64c000 + (0x028 << 2)) ++#define SEC_ETH_PHY_DBG_REG (0xff64c000 + (0x028 << 2)) ++#define P_ETH_PHY_DBG_REG (volatile uint32_t *)(0xff64c000 + (0x028 << 2)) ++//======================================================================== ++// PDM ++//======================================================================== ++// ++// Reading file: ../audio/rtl/pdm_reg.vh ++// ++// APB4_DECODER_NON_SECURE_BASE 32'hFF640000 ++// APB4_DECODER_SECURE_BASE 32'hFF640000 ++#define PDM_CTRL (0xff640000 + (0x000 << 2)) ++#define SEC_PDM_CTRL (0xff640000 + (0x000 << 2)) ++#define P_PDM_CTRL (volatile uint32_t *)(0xff640000 + (0x000 << 2)) ++#define PDM_HCIC_CTRL1 (0xff640000 + (0x001 << 2)) ++#define SEC_PDM_HCIC_CTRL1 (0xff640000 + (0x001 << 2)) ++#define P_PDM_HCIC_CTRL1 (volatile uint32_t *)(0xff640000 + (0x001 << 2)) ++#define PDM_HCIC_CTRL2 (0xff640000 + (0x002 << 2)) ++#define SEC_PDM_HCIC_CTRL2 (0xff640000 + (0x002 << 2)) ++#define P_PDM_HCIC_CTRL2 (volatile uint32_t *)(0xff640000 + (0x002 << 2)) ++#define PDM_F1_CTRL (0xff640000 + (0x003 << 2)) ++#define SEC_PDM_F1_CTRL (0xff640000 + (0x003 << 2)) ++#define P_PDM_F1_CTRL (volatile uint32_t *)(0xff640000 + (0x003 << 2)) ++#define PDM_F2_CTRL (0xff640000 + (0x004 << 2)) ++#define SEC_PDM_F2_CTRL (0xff640000 + (0x004 << 2)) ++#define P_PDM_F2_CTRL (volatile uint32_t *)(0xff640000 + (0x004 << 2)) ++#define PDM_F3_CTRL (0xff640000 + (0x005 << 2)) ++#define SEC_PDM_F3_CTRL (0xff640000 + (0x005 << 2)) ++#define P_PDM_F3_CTRL (volatile uint32_t *)(0xff640000 + (0x005 << 2)) ++#define PDM_HPF_CTRL (0xff640000 + (0x006 << 2)) ++#define SEC_PDM_HPF_CTRL (0xff640000 + (0x006 << 2)) ++#define P_PDM_HPF_CTRL (volatile uint32_t *)(0xff640000 + (0x006 << 2)) ++#define PDM_CHAN_CTRL (0xff640000 + (0x007 << 2)) ++#define SEC_PDM_CHAN_CTRL (0xff640000 + (0x007 << 2)) ++#define P_PDM_CHAN_CTRL (volatile uint32_t *)(0xff640000 + (0x007 << 2)) ++#define PDM_CHAN_CTRL1 (0xff640000 + (0x008 << 2)) ++#define SEC_PDM_CHAN_CTRL1 (0xff640000 + (0x008 << 2)) ++#define P_PDM_CHAN_CTRL1 (volatile uint32_t *)(0xff640000 + (0x008 << 2)) ++#define PDM_COEFF_ADDR (0xff640000 + (0x009 << 2)) ++#define SEC_PDM_COEFF_ADDR (0xff640000 + (0x009 << 2)) ++#define P_PDM_COEFF_ADDR (volatile uint32_t *)(0xff640000 + (0x009 << 2)) ++#define PDM_COEFF_DATA (0xff640000 + (0x00a << 2)) ++#define SEC_PDM_COEFF_DATA (0xff640000 + (0x00a << 2)) ++#define P_PDM_COEFF_DATA (volatile uint32_t *)(0xff640000 + (0x00a << 2)) ++#define PDM_CLKG_CTRL (0xff640000 + (0x00b << 2)) ++#define SEC_PDM_CLKG_CTRL (0xff640000 + (0x00b << 2)) ++#define P_PDM_CLKG_CTRL (volatile uint32_t *)(0xff640000 + (0x00b << 2)) ++#define PDM_STS (0xff640000 + (0x00c << 2)) ++#define SEC_PDM_STS (0xff640000 + (0x00c << 2)) ++#define P_PDM_STS (volatile uint32_t *)(0xff640000 + (0x00c << 2)) ++//bit 1 HPF filter output overflow. means the PCLK is too slow. ++//bit 0 HCIC filter output overflow. means the CTS_PDM_CLK is too slow. can't finished the filter function. ++#define PDM_MUTE_VALUE (0xff640000 + (0x00d << 2)) ++#define SEC_PDM_MUTE_VALUE (0xff640000 + (0x00d << 2)) ++#define P_PDM_MUTE_VALUE (volatile uint32_t *)(0xff640000 + (0x00d << 2)) ++// ++// Closing file: ../audio/rtl/pdm_reg.vh ++// ++// synopsys translate_off ++// synopsys translate_on ++// ++// Closing file: ./secure_apb4_ee.h ++// ++// ++// Reading file: ./ao_rti_reg.h ++// ++//#define AO_RTI_REG_BASE 0x00 ++// APB4_DECODER_NON_SECURE_BASE 32'hFF800000 ++// APB4_DECODER_SECURE_BASE 32'hFF800000 ++// Registers not affected by the Watchdog timer ++#define AO_RTI_STATUS_REG0 (0xff800000 + (0x000 << 2)) ++#define SEC_AO_RTI_STATUS_REG0 (0xff800000 + (0x000 << 2)) ++#define P_AO_RTI_STATUS_REG0 (volatile uint32_t *)(0xff800000 + (0x000 << 2)) ++#define AO_RTI_STATUS_REG1 (0xff800000 + (0x001 << 2)) ++#define SEC_AO_RTI_STATUS_REG1 (0xff800000 + (0x001 << 2)) ++#define P_AO_RTI_STATUS_REG1 (volatile uint32_t *)(0xff800000 + (0x001 << 2)) ++#define AO_RTI_STATUS_REG2 (0xff800000 + (0x002 << 2)) ++#define SEC_AO_RTI_STATUS_REG2 (0xff800000 + (0x002 << 2)) ++#define P_AO_RTI_STATUS_REG2 (volatile uint32_t *)(0xff800000 + (0x002 << 2)) ++#define AO_RTI_STATUS_REG3 (0xff800000 + (0x003 << 2)) ++#define SEC_AO_RTI_STATUS_REG3 (0xff800000 + (0x003 << 2)) ++#define P_AO_RTI_STATUS_REG3 (volatile uint32_t *)(0xff800000 + (0x003 << 2)) ++//`define AO_RTI_PWR_CNTL_REG1 8'h03 ++#define AO_RTI_PWR_CNTL_REG0 (0xff800000 + (0x004 << 2)) ++#define SEC_AO_RTI_PWR_CNTL_REG0 (0xff800000 + (0x004 << 2)) ++#define P_AO_RTI_PWR_CNTL_REG0 (volatile uint32_t *)(0xff800000 + (0x004 << 2)) ++#define AO_RTI_PINMUX_REG0 (0xff800000 + (0x005 << 2)) ++#define SEC_AO_RTI_PINMUX_REG0 (0xff800000 + (0x005 << 2)) ++#define P_AO_RTI_PINMUX_REG0 (volatile uint32_t *)(0xff800000 + (0x005 << 2)) ++#define AO_RTI_PINMUX_REG1 (0xff800000 + (0x006 << 2)) ++#define SEC_AO_RTI_PINMUX_REG1 (0xff800000 + (0x006 << 2)) ++#define P_AO_RTI_PINMUX_REG1 (volatile uint32_t *)(0xff800000 + (0x006 << 2)) ++//`define AO_REMAP_REG1 8'h08 ++#define AO_PAD_DS_A (0xff800000 + (0x007 << 2)) ++#define SEC_AO_PAD_DS_A (0xff800000 + (0x007 << 2)) ++#define P_AO_PAD_DS_A (volatile uint32_t *)(0xff800000 + (0x007 << 2)) ++#define AO_PAD_DS_B (0xff800000 + (0x008 << 2)) ++#define SEC_AO_PAD_DS_B (0xff800000 + (0x008 << 2)) ++#define P_AO_PAD_DS_B (volatile uint32_t *)(0xff800000 + (0x008 << 2)) ++#define AO_GPIO_O_EN_N (0xff800000 + (0x009 << 2)) ++#define SEC_AO_GPIO_O_EN_N (0xff800000 + (0x009 << 2)) ++#define P_AO_GPIO_O_EN_N (volatile uint32_t *)(0xff800000 + (0x009 << 2)) ++#define AO_GPIO_I (0xff800000 + (0x00a << 2)) ++#define SEC_AO_GPIO_I (0xff800000 + (0x00a << 2)) ++#define P_AO_GPIO_I (volatile uint32_t *)(0xff800000 + (0x00a << 2)) ++#define AO_RTI_PULL_UP_REG (0xff800000 + (0x00b << 2)) ++#define SEC_AO_RTI_PULL_UP_REG (0xff800000 + (0x00b << 2)) ++#define P_AO_RTI_PULL_UP_REG (volatile uint32_t *)(0xff800000 + (0x00b << 2)) ++#define AO_RTI_PULL_UP_EN_REG (0xff800000 + (0x00c << 2)) ++#define SEC_AO_RTI_PULL_UP_EN_REG (0xff800000 + (0x00c << 2)) ++#define P_AO_RTI_PULL_UP_EN_REG (volatile uint32_t *)(0xff800000 + (0x00c << 2)) ++#define AO_GPIO_O (0xff800000 + (0x00d << 2)) ++#define SEC_AO_GPIO_O (0xff800000 + (0x00d << 2)) ++#define P_AO_GPIO_O (volatile uint32_t *)(0xff800000 + (0x00d << 2)) ++//`define AO_RTI_JTAG_CONFIG_REG 8'h0C ++//`define AO_RTI_WD_MARK 8'h0D ++#define AO_CPU_CNTL (0xff800000 + (0x00e << 2)) ++#define SEC_AO_CPU_CNTL (0xff800000 + (0x00e << 2)) ++#define P_AO_CPU_CNTL (volatile uint32_t *)(0xff800000 + (0x00e << 2)) ++#define AO_CPU_CNTL2 (0xff800000 + (0x00f << 2)) ++#define SEC_AO_CPU_CNTL2 (0xff800000 + (0x00f << 2)) ++#define P_AO_CPU_CNTL2 (volatile uint32_t *)(0xff800000 + (0x00f << 2)) ++#define AO_RTI_GEN_CNTL_REG0 (0xff800000 + (0x010 << 2)) ++#define SEC_AO_RTI_GEN_CNTL_REG0 (0xff800000 + (0x010 << 2)) ++#define P_AO_RTI_GEN_CNTL_REG0 (volatile uint32_t *)(0xff800000 + (0x010 << 2)) ++#define AO_CPU_CNTL_NS (0xff800000 + (0x011 << 2)) ++#define SEC_AO_CPU_CNTL_NS (0xff800000 + (0x011 << 2)) ++#define P_AO_CPU_CNTL_NS (volatile uint32_t *)(0xff800000 + (0x011 << 2)) ++#define AO_METAL_REVISION_1 (0xff800000 + (0x012 << 2)) ++#define SEC_AO_METAL_REVISION_1 (0xff800000 + (0x012 << 2)) ++#define P_AO_METAL_REVISION_1 (volatile uint32_t *)(0xff800000 + (0x012 << 2)) ++#define AO_CLK_GATE0 (0xff800000 + (0x013 << 2)) ++#define SEC_AO_CLK_GATE0 (0xff800000 + (0x013 << 2)) ++#define P_AO_CLK_GATE0 (volatile uint32_t *)(0xff800000 + (0x013 << 2)) ++#define AO_CLK_GATE0_SP (0xff800000 + (0x014 << 2)) ++#define SEC_AO_CLK_GATE0_SP (0xff800000 + (0x014 << 2)) ++#define P_AO_CLK_GATE0_SP (volatile uint32_t *)(0xff800000 + (0x014 << 2)) ++#define AO_TIMEBASE_CNTL1 (0xff800000 + (0x015 << 2)) ++#define SEC_AO_TIMEBASE_CNTL1 (0xff800000 + (0x015 << 2)) ++#define P_AO_TIMEBASE_CNTL1 (volatile uint32_t *)(0xff800000 + (0x015 << 2)) ++#define AO_OSCIN_CNTL (0xff800000 + (0x016 << 2)) ++#define SEC_AO_OSCIN_CNTL (0xff800000 + (0x016 << 2)) ++#define P_AO_OSCIN_CNTL (volatile uint32_t *)(0xff800000 + (0x016 << 2)) ++#define AO_PINMUX_LOCK (0xff800000 + (0x017 << 2)) ++#define SEC_AO_PINMUX_LOCK (0xff800000 + (0x017 << 2)) ++#define P_AO_PINMUX_LOCK (volatile uint32_t *)(0xff800000 + (0x017 << 2)) ++#define AO_AHB2DDR_CNTL (0xff800000 + (0x018 << 2)) ++#define SEC_AO_AHB2DDR_CNTL (0xff800000 + (0x018 << 2)) ++#define P_AO_AHB2DDR_CNTL (volatile uint32_t *)(0xff800000 + (0x018 << 2)) ++#define AO_TIMEBASE_CNTL (0xff800000 + (0x019 << 2)) ++#define SEC_AO_TIMEBASE_CNTL (0xff800000 + (0x019 << 2)) ++#define P_AO_TIMEBASE_CNTL (volatile uint32_t *)(0xff800000 + (0x019 << 2)) ++#define AO_GEN_CLK_CNTL (0xff800000 + (0x01a << 2)) ++#define SEC_AO_GEN_CLK_CNTL (0xff800000 + (0x01a << 2)) ++#define P_AO_GEN_CLK_CNTL (volatile uint32_t *)(0xff800000 + (0x01a << 2)) ++//`define AO_RTI_INTER_OSC_CTL0 8'h1b ++//`define AO_RTI_INTER_OSC_CTL1 8'h1c ++#define AO_CEC_CLK_CNTL_REG0 (0xff800000 + (0x01d << 2)) ++#define SEC_AO_CEC_CLK_CNTL_REG0 (0xff800000 + (0x01d << 2)) ++#define P_AO_CEC_CLK_CNTL_REG0 (volatile uint32_t *)(0xff800000 + (0x01d << 2)) ++#define AO_CEC_CLK_CNTL_REG1 (0xff800000 + (0x01e << 2)) ++#define SEC_AO_CEC_CLK_CNTL_REG1 (0xff800000 + (0x01e << 2)) ++#define P_AO_CEC_CLK_CNTL_REG1 (volatile uint32_t *)(0xff800000 + (0x01e << 2)) ++#define AO_METAL_REVISION (0xff800000 + (0x01f << 2)) ++#define SEC_AO_METAL_REVISION (0xff800000 + (0x01f << 2)) ++#define P_AO_METAL_REVISION (volatile uint32_t *)(0xff800000 + (0x01f << 2)) ++//`define AO_IRQ_MASK_FIQ_SEL 8'h20 ++#define AO_IRQ_GPIO_REG (0xff800000 + (0x021 << 2)) ++#define SEC_AO_IRQ_GPIO_REG (0xff800000 + (0x021 << 2)) ++#define P_AO_IRQ_GPIO_REG (volatile uint32_t *)(0xff800000 + (0x021 << 2)) ++//`define AO_IRQ_STAT 8'h22 ++//`define AO_IRQ_STAT_CLR 8'h23 ++#define AO_SAR_CLK (0xff800000 + (0x024 << 2)) ++#define SEC_AO_SAR_CLK (0xff800000 + (0x024 << 2)) ++#define P_AO_SAR_CLK (volatile uint32_t *)(0xff800000 + (0x024 << 2)) ++#define AO_RTC_ALT_CLK_CNTL0 (0xff800000 + (0x025 << 2)) ++#define SEC_AO_RTC_ALT_CLK_CNTL0 (0xff800000 + (0x025 << 2)) ++#define P_AO_RTC_ALT_CLK_CNTL0 (volatile uint32_t *)(0xff800000 + (0x025 << 2)) ++#define AO_RTC_ALT_CLK_CNTL1 (0xff800000 + (0x026 << 2)) ++#define SEC_AO_RTC_ALT_CLK_CNTL1 (0xff800000 + (0x026 << 2)) ++#define P_AO_RTC_ALT_CLK_CNTL1 (volatile uint32_t *)(0xff800000 + (0x026 << 2)) ++#define AO_TIMESTAMP_CNTL2 (0xff800000 + (0x027 << 2)) ++#define SEC_AO_TIMESTAMP_CNTL2 (0xff800000 + (0x027 << 2)) ++#define P_AO_TIMESTAMP_CNTL2 (volatile uint32_t *)(0xff800000 + (0x027 << 2)) ++#define AO_DEBUG_REG0 (0xff800000 + (0x028 << 2)) ++#define SEC_AO_DEBUG_REG0 (0xff800000 + (0x028 << 2)) ++#define P_AO_DEBUG_REG0 (volatile uint32_t *)(0xff800000 + (0x028 << 2)) ++#define AO_DEBUG_REG1 (0xff800000 + (0x029 << 2)) ++#define SEC_AO_DEBUG_REG1 (0xff800000 + (0x029 << 2)) ++#define P_AO_DEBUG_REG1 (volatile uint32_t *)(0xff800000 + (0x029 << 2)) ++#define AO_DEBUG_REG2 (0xff800000 + (0x02a << 2)) ++#define SEC_AO_DEBUG_REG2 (0xff800000 + (0x02a << 2)) ++#define P_AO_DEBUG_REG2 (volatile uint32_t *)(0xff800000 + (0x02a << 2)) ++#define AO_DEBUG_REG3 (0xff800000 + (0x02b << 2)) ++#define SEC_AO_DEBUG_REG3 (0xff800000 + (0x02b << 2)) ++#define P_AO_DEBUG_REG3 (volatile uint32_t *)(0xff800000 + (0x02b << 2)) ++#define AO_TIMESTAMP_CNTL1 (0xff800000 + (0x02c << 2)) ++#define SEC_AO_TIMESTAMP_CNTL1 (0xff800000 + (0x02c << 2)) ++#define P_AO_TIMESTAMP_CNTL1 (volatile uint32_t *)(0xff800000 + (0x02c << 2)) ++#define AO_TIMESTAMP_CNTL (0xff800000 + (0x02d << 2)) ++#define SEC_AO_TIMESTAMP_CNTL (0xff800000 + (0x02d << 2)) ++#define P_AO_TIMESTAMP_CNTL (volatile uint32_t *)(0xff800000 + (0x02d << 2)) ++#define AO_TIMESTAMP_RD0 (0xff800000 + (0x02e << 2)) ++#define SEC_AO_TIMESTAMP_RD0 (0xff800000 + (0x02e << 2)) ++#define P_AO_TIMESTAMP_RD0 (volatile uint32_t *)(0xff800000 + (0x02e << 2)) ++#define AO_TIMESTAMP_RD1 (0xff800000 + (0x02f << 2)) ++#define SEC_AO_TIMESTAMP_RD1 (0xff800000 + (0x02f << 2)) ++#define P_AO_TIMESTAMP_RD1 (volatile uint32_t *)(0xff800000 + (0x02f << 2)) ++#define SP_HOLD_CTRL (0xff800000 + (0x031 << 2)) ++#define SEC_SP_HOLD_CTRL (0xff800000 + (0x031 << 2)) ++#define P_SP_HOLD_CTRL (volatile uint32_t *)(0xff800000 + (0x031 << 2)) ++#define AO_FR_EE_WR_ONCE (0xff800000 + (0x032 << 2)) ++#define SEC_AO_FR_EE_WR_ONCE (0xff800000 + (0x032 << 2)) ++#define P_AO_FR_EE_WR_ONCE (volatile uint32_t *)(0xff800000 + (0x032 << 2)) ++#define AO_CPU_STAT1 (0xff800000 + (0x033 << 2)) ++#define SEC_AO_CPU_STAT1 (0xff800000 + (0x033 << 2)) ++#define P_AO_CPU_STAT1 (volatile uint32_t *)(0xff800000 + (0x033 << 2)) ++#define AO_CPU_STAT2 (0xff800000 + (0x034 << 2)) ++#define SEC_AO_CPU_STAT2 (0xff800000 + (0x034 << 2)) ++#define P_AO_CPU_STAT2 (volatile uint32_t *)(0xff800000 + (0x034 << 2)) ++#define AO_CPU_TIMESTAMP (0xff800000 + (0x035 << 2)) ++#define SEC_AO_CPU_TIMESTAMP (0xff800000 + (0x035 << 2)) ++#define P_AO_CPU_TIMESTAMP (volatile uint32_t *)(0xff800000 + (0x035 << 2)) ++#define AO_CPU_TIMESTAMP2 (0xff800000 + (0x036 << 2)) ++#define SEC_AO_CPU_TIMESTAMP2 (0xff800000 + (0x036 << 2)) ++#define P_AO_CPU_TIMESTAMP2 (volatile uint32_t *)(0xff800000 + (0x036 << 2)) ++#define AO_CPU_CNTL3 (0xff800000 + (0x037 << 2)) ++#define SEC_AO_CPU_CNTL3 (0xff800000 + (0x037 << 2)) ++#define P_AO_CPU_CNTL3 (volatile uint32_t *)(0xff800000 + (0x037 << 2)) ++// general Power control ++#define AO_RTI_PWR_SYS_CPU_CNTL0 (0xff800000 + (0x038 << 2)) ++#define SEC_AO_RTI_PWR_SYS_CPU_CNTL0 (0xff800000 + (0x038 << 2)) ++#define P_AO_RTI_PWR_SYS_CPU_CNTL0 (volatile uint32_t *)(0xff800000 + (0x038 << 2)) ++#define AO_RTI_PWR_SYS_CPU_CNTL1 (0xff800000 + (0x039 << 2)) ++#define SEC_AO_RTI_PWR_SYS_CPU_CNTL1 (0xff800000 + (0x039 << 2)) ++#define P_AO_RTI_PWR_SYS_CPU_CNTL1 (volatile uint32_t *)(0xff800000 + (0x039 << 2)) ++#define AO_RTI_GEN_PWR_SLEEP0 (0xff800000 + (0x03a << 2)) ++#define SEC_AO_RTI_GEN_PWR_SLEEP0 (0xff800000 + (0x03a << 2)) ++#define P_AO_RTI_GEN_PWR_SLEEP0 (volatile uint32_t *)(0xff800000 + (0x03a << 2)) ++#define AO_RTI_GEN_PWR_ISO0 (0xff800000 + (0x03b << 2)) ++#define SEC_AO_RTI_GEN_PWR_ISO0 (0xff800000 + (0x03b << 2)) ++#define P_AO_RTI_GEN_PWR_ISO0 (volatile uint32_t *)(0xff800000 + (0x03b << 2)) ++#define AO_RTI_GEN_PWR_ACK0 (0xff800000 + (0x03c << 2)) ++#define SEC_AO_RTI_GEN_PWR_ACK0 (0xff800000 + (0x03c << 2)) ++#define P_AO_RTI_GEN_PWR_ACK0 (volatile uint32_t *)(0xff800000 + (0x03c << 2)) ++#define AO_RTI_PWR_SYS_CPU_MEM_PD0 (0xff800000 + (0x03d << 2)) ++#define SEC_AO_RTI_PWR_SYS_CPU_MEM_PD0 (0xff800000 + (0x03d << 2)) ++#define P_AO_RTI_PWR_SYS_CPU_MEM_PD0 (volatile uint32_t *)(0xff800000 + (0x03d << 2)) ++#define AO_RTI_PWR_SYS_CPU_MEM_PD1 (0xff800000 + (0x03e << 2)) ++#define SEC_AO_RTI_PWR_SYS_CPU_MEM_PD1 (0xff800000 + (0x03e << 2)) ++#define P_AO_RTI_PWR_SYS_CPU_MEM_PD1 (volatile uint32_t *)(0xff800000 + (0x03e << 2)) ++#define AO_CPU_CNTL4 (0xff800000 + (0x03f << 2)) ++#define SEC_AO_CPU_CNTL4 (0xff800000 + (0x03f << 2)) ++#define P_AO_CPU_CNTL4 (volatile uint32_t *)(0xff800000 + (0x03f << 2)) ++#define AO_CEC_GEN_CNTL (0xff800000 + (0x040 << 2)) ++#define SEC_AO_CEC_GEN_CNTL (0xff800000 + (0x040 << 2)) ++#define P_AO_CEC_GEN_CNTL (volatile uint32_t *)(0xff800000 + (0x040 << 2)) ++#define AO_CEC_RW_REG (0xff800000 + (0x041 << 2)) ++#define SEC_AO_CEC_RW_REG (0xff800000 + (0x041 << 2)) ++#define P_AO_CEC_RW_REG (volatile uint32_t *)(0xff800000 + (0x041 << 2)) ++#define AO_CEC_INTR_MASKN (0xff800000 + (0x042 << 2)) ++#define SEC_AO_CEC_INTR_MASKN (0xff800000 + (0x042 << 2)) ++#define P_AO_CEC_INTR_MASKN (volatile uint32_t *)(0xff800000 + (0x042 << 2)) ++#define AO_CEC_INTR_CLR (0xff800000 + (0x043 << 2)) ++#define SEC_AO_CEC_INTR_CLR (0xff800000 + (0x043 << 2)) ++#define P_AO_CEC_INTR_CLR (volatile uint32_t *)(0xff800000 + (0x043 << 2)) ++#define AO_CEC_INTR_STAT (0xff800000 + (0x044 << 2)) ++#define SEC_AO_CEC_INTR_STAT (0xff800000 + (0x044 << 2)) ++#define P_AO_CEC_INTR_STAT (volatile uint32_t *)(0xff800000 + (0x044 << 2)) ++#define AO_CPU_CNTL5 (0xff800000 + (0x045 << 2)) ++#define SEC_AO_CPU_CNTL5 (0xff800000 + (0x045 << 2)) ++#define P_AO_CPU_CNTL5 (volatile uint32_t *)(0xff800000 + (0x045 << 2)) ++#define AO_WATCHDOG_CNTL (0xff800000 + (0x048 << 2)) ++#define SEC_AO_WATCHDOG_CNTL (0xff800000 + (0x048 << 2)) ++#define P_AO_WATCHDOG_CNTL (volatile uint32_t *)(0xff800000 + (0x048 << 2)) ++#define AO_WATCHDOG_CNTL1 (0xff800000 + (0x049 << 2)) ++#define SEC_AO_WATCHDOG_CNTL1 (0xff800000 + (0x049 << 2)) ++#define P_AO_WATCHDOG_CNTL1 (volatile uint32_t *)(0xff800000 + (0x049 << 2)) ++#define AO_WATCHDOG_TCNT (0xff800000 + (0x04a << 2)) ++#define SEC_AO_WATCHDOG_TCNT (0xff800000 + (0x04a << 2)) ++#define P_AO_WATCHDOG_TCNT (volatile uint32_t *)(0xff800000 + (0x04a << 2)) ++#define AO_WATCHDOG_RESET (0xff800000 + (0x04b << 2)) ++#define SEC_AO_WATCHDOG_RESET (0xff800000 + (0x04b << 2)) ++#define P_AO_WATCHDOG_RESET (volatile uint32_t *)(0xff800000 + (0x04b << 2)) ++#define AO_RTI_STICKY_REG0 (0xff800000 + (0x04c << 2)) ++#define SEC_AO_RTI_STICKY_REG0 (0xff800000 + (0x04c << 2)) ++#define P_AO_RTI_STICKY_REG0 (volatile uint32_t *)(0xff800000 + (0x04c << 2)) ++#define AO_RTI_STICKY_REG1 (0xff800000 + (0x04d << 2)) ++#define SEC_AO_RTI_STICKY_REG1 (0xff800000 + (0x04d << 2)) ++#define P_AO_RTI_STICKY_REG1 (volatile uint32_t *)(0xff800000 + (0x04d << 2)) ++#define AO_RTI_STICKY_REG2 (0xff800000 + (0x04e << 2)) ++#define SEC_AO_RTI_STICKY_REG2 (0xff800000 + (0x04e << 2)) ++#define P_AO_RTI_STICKY_REG2 (volatile uint32_t *)(0xff800000 + (0x04e << 2)) ++#define AO_RTI_STICKY_REG3 (0xff800000 + (0x04f << 2)) ++#define SEC_AO_RTI_STICKY_REG3 (0xff800000 + (0x04f << 2)) ++#define P_AO_RTI_STICKY_REG3 (volatile uint32_t *)(0xff800000 + (0x04f << 2)) ++// ++// Secure APB3 Slot 2 registers ++// ++#define AO_SEC_REG0 (0xff800000 + (0x050 << 2)) ++#define SEC_AO_SEC_REG0 (0xff800000 + (0x050 << 2)) ++#define P_AO_SEC_REG0 (volatile uint32_t *)(0xff800000 + (0x050 << 2)) ++//`define AO_SEC_REG1 8'h51 ++#define AO_IR_BLASTER_ADDR0 (0xff800000 + (0x053 << 2)) ++#define SEC_AO_IR_BLASTER_ADDR0 (0xff800000 + (0x053 << 2)) ++#define P_AO_IR_BLASTER_ADDR0 (volatile uint32_t *)(0xff800000 + (0x053 << 2)) ++#define AO_IR_BLASTER_ADDR1 (0xff800000 + (0x054 << 2)) ++#define SEC_AO_IR_BLASTER_ADDR1 (0xff800000 + (0x054 << 2)) ++#define P_AO_IR_BLASTER_ADDR1 (volatile uint32_t *)(0xff800000 + (0x054 << 2)) ++#define AO_IR_BLASTER_ADDR2 (0xff800000 + (0x055 << 2)) ++#define SEC_AO_IR_BLASTER_ADDR2 (0xff800000 + (0x055 << 2)) ++#define P_AO_IR_BLASTER_ADDR2 (volatile uint32_t *)(0xff800000 + (0x055 << 2)) ++#define AO_IR_BLASTER_ADDR3 (0xff800000 + (0x056 << 2)) ++#define SEC_AO_IR_BLASTER_ADDR3 (0xff800000 + (0x056 << 2)) ++#define P_AO_IR_BLASTER_ADDR3 (volatile uint32_t *)(0xff800000 + (0x056 << 2)) ++#define AO_SEC_TMODE_PWD0 (0xff800000 + (0x058 << 2)) ++#define SEC_AO_SEC_TMODE_PWD0 (0xff800000 + (0x058 << 2)) ++#define P_AO_SEC_TMODE_PWD0 (volatile uint32_t *)(0xff800000 + (0x058 << 2)) ++#define AO_SEC_TMODE_PWD1 (0xff800000 + (0x059 << 2)) ++#define SEC_AO_SEC_TMODE_PWD1 (0xff800000 + (0x059 << 2)) ++#define P_AO_SEC_TMODE_PWD1 (volatile uint32_t *)(0xff800000 + (0x059 << 2)) ++#define AO_SEC_TMODE_PWD2 (0xff800000 + (0x05a << 2)) ++#define SEC_AO_SEC_TMODE_PWD2 (0xff800000 + (0x05a << 2)) ++#define P_AO_SEC_TMODE_PWD2 (volatile uint32_t *)(0xff800000 + (0x05a << 2)) ++#define AO_SEC_TMODE_PWD3 (0xff800000 + (0x05b << 2)) ++#define SEC_AO_SEC_TMODE_PWD3 (0xff800000 + (0x05b << 2)) ++#define P_AO_SEC_TMODE_PWD3 (volatile uint32_t *)(0xff800000 + (0x05b << 2)) ++#define AO_WRITE_ONCE0 (0xff800000 + (0x05c << 2)) ++#define SEC_AO_WRITE_ONCE0 (0xff800000 + (0x05c << 2)) ++#define P_AO_WRITE_ONCE0 (volatile uint32_t *)(0xff800000 + (0x05c << 2)) ++#define AO_WRITE_ONCE1 (0xff800000 + (0x05d << 2)) ++#define SEC_AO_WRITE_ONCE1 (0xff800000 + (0x05d << 2)) ++#define P_AO_WRITE_ONCE1 (volatile uint32_t *)(0xff800000 + (0x05d << 2)) ++#define AO_WRITE_ONCE2 (0xff800000 + (0x05e << 2)) ++#define SEC_AO_WRITE_ONCE2 (0xff800000 + (0x05e << 2)) ++#define P_AO_WRITE_ONCE2 (volatile uint32_t *)(0xff800000 + (0x05e << 2)) ++#define AO_SEC_SCRATCH (0xff800000 + (0x05f << 2)) ++#define SEC_AO_SEC_SCRATCH (0xff800000 + (0x05f << 2)) ++#define P_AO_SEC_SCRATCH (volatile uint32_t *)(0xff800000 + (0x05f << 2)) ++#define AO_MSG_INDEX0 (0xff800000 + (0x060 << 2)) ++#define SEC_AO_MSG_INDEX0 (0xff800000 + (0x060 << 2)) ++#define P_AO_MSG_INDEX0 (volatile uint32_t *)(0xff800000 + (0x060 << 2)) ++#define AO_MSG_INDEX1 (0xff800000 + (0x061 << 2)) ++#define SEC_AO_MSG_INDEX1 (0xff800000 + (0x061 << 2)) ++#define P_AO_MSG_INDEX1 (volatile uint32_t *)(0xff800000 + (0x061 << 2)) ++#define AO_MSG_INDEX2 (0xff800000 + (0x062 << 2)) ++#define SEC_AO_MSG_INDEX2 (0xff800000 + (0x062 << 2)) ++#define P_AO_MSG_INDEX2 (volatile uint32_t *)(0xff800000 + (0x062 << 2)) ++#define AO_MSG_INDEX3 (0xff800000 + (0x063 << 2)) ++#define SEC_AO_MSG_INDEX3 (0xff800000 + (0x063 << 2)) ++#define P_AO_MSG_INDEX3 (volatile uint32_t *)(0xff800000 + (0x063 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_MASK_0 (0xff800000 + (0x066 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_MASK_0 (0xff800000 + (0x066 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_MASK_0 (volatile uint32_t *)(0xff800000 + (0x066 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_MASK_1 (0xff800000 + (0x067 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_MASK_1 (0xff800000 + (0x067 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_MASK_1 (volatile uint32_t *)(0xff800000 + (0x067 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_MASK_2 (0xff800000 + (0x068 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_MASK_2 (0xff800000 + (0x068 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_MASK_2 (volatile uint32_t *)(0xff800000 + (0x068 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG0_0 (0xff800000 + (0x069 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG0_0 (0xff800000 + (0x069 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG0_0 (volatile uint32_t *)(0xff800000 + (0x069 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG0_1 (0xff800000 + (0x06a << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG0_1 (0xff800000 + (0x06a << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG0_1 (volatile uint32_t *)(0xff800000 + (0x06a << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG0_2 (0xff800000 + (0x06b << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG0_2 (0xff800000 + (0x06b << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG0_2 (volatile uint32_t *)(0xff800000 + (0x06b << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG1_0 (0xff800000 + (0x06c << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG1_0 (0xff800000 + (0x06c << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG1_0 (volatile uint32_t *)(0xff800000 + (0x06c << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG1_1 (0xff800000 + (0x06d << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG1_1 (0xff800000 + (0x06d << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG1_1 (volatile uint32_t *)(0xff800000 + (0x06d << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG1_2 (0xff800000 + (0x06e << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG1_2 (0xff800000 + (0x06e << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG1_2 (volatile uint32_t *)(0xff800000 + (0x06e << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG2_0 (0xff800000 + (0x06f << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG2_0 (0xff800000 + (0x06f << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG2_0 (volatile uint32_t *)(0xff800000 + (0x06f << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG2_1 (0xff800000 + (0x070 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG2_1 (0xff800000 + (0x070 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG2_1 (volatile uint32_t *)(0xff800000 + (0x070 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG2_2 (0xff800000 + (0x071 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG2_2 (0xff800000 + (0x071 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG2_2 (volatile uint32_t *)(0xff800000 + (0x071 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG3_0 (0xff800000 + (0x072 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG3_0 (0xff800000 + (0x072 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG3_0 (volatile uint32_t *)(0xff800000 + (0x072 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG3_1 (0xff800000 + (0x073 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG3_1 (0xff800000 + (0x073 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG3_1 (volatile uint32_t *)(0xff800000 + (0x073 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG3_2 (0xff800000 + (0x074 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG3_2 (0xff800000 + (0x074 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG3_2 (volatile uint32_t *)(0xff800000 + (0x074 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG4_0 (0xff800000 + (0x075 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG4_0 (0xff800000 + (0x075 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG4_0 (volatile uint32_t *)(0xff800000 + (0x075 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG4_1 (0xff800000 + (0x076 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG4_1 (0xff800000 + (0x076 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG4_1 (volatile uint32_t *)(0xff800000 + (0x076 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG4_2 (0xff800000 + (0x077 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG4_2 (0xff800000 + (0x077 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG4_2 (volatile uint32_t *)(0xff800000 + (0x077 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG5_0 (0xff800000 + (0x078 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG5_0 (0xff800000 + (0x078 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG5_0 (volatile uint32_t *)(0xff800000 + (0x078 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG5_1 (0xff800000 + (0x079 << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG5_1 (0xff800000 + (0x079 << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG5_1 (volatile uint32_t *)(0xff800000 + (0x079 << 2)) ++#define AO_SEC_SHARED_AHB_SRAM_REG5_2 (0xff800000 + (0x07a << 2)) ++#define SEC_AO_SEC_SHARED_AHB_SRAM_REG5_2 (0xff800000 + (0x07a << 2)) ++#define P_AO_SEC_SHARED_AHB_SRAM_REG5_2 (volatile uint32_t *)(0xff800000 + (0x07a << 2)) ++#define AO_SEC_AO_CPU_SRAM_REG0_0 (0xff800000 + (0x07c << 2)) ++#define SEC_AO_SEC_AO_CPU_SRAM_REG0_0 (0xff800000 + (0x07c << 2)) ++#define P_AO_SEC_AO_CPU_SRAM_REG0_0 (volatile uint32_t *)(0xff800000 + (0x07c << 2)) ++#define AO_SEC_AO_CPU_SRAM_REG0_1 (0xff800000 + (0x07d << 2)) ++#define SEC_AO_SEC_AO_CPU_SRAM_REG0_1 (0xff800000 + (0x07d << 2)) ++#define P_AO_SEC_AO_CPU_SRAM_REG0_1 (volatile uint32_t *)(0xff800000 + (0x07d << 2)) ++#define AO_SEC_AO_CPU_SRAM_REG1_0 (0xff800000 + (0x07e << 2)) ++#define SEC_AO_SEC_AO_CPU_SRAM_REG1_0 (0xff800000 + (0x07e << 2)) ++#define P_AO_SEC_AO_CPU_SRAM_REG1_0 (volatile uint32_t *)(0xff800000 + (0x07e << 2)) ++#define AO_SEC_AO_CPU_SRAM_REG1_1 (0xff800000 + (0x07f << 2)) ++#define SEC_AO_SEC_AO_CPU_SRAM_REG1_1 (0xff800000 + (0x07f << 2)) ++#define P_AO_SEC_AO_CPU_SRAM_REG1_1 (volatile uint32_t *)(0xff800000 + (0x07f << 2)) ++#define AO_SEC_SD_CFG0 (0xff800000 + (0x080 << 2)) ++#define SEC_AO_SEC_SD_CFG0 (0xff800000 + (0x080 << 2)) ++#define P_AO_SEC_SD_CFG0 (volatile uint32_t *)(0xff800000 + (0x080 << 2)) ++#define AO_SEC_SD_CFG1 (0xff800000 + (0x081 << 2)) ++#define SEC_AO_SEC_SD_CFG1 (0xff800000 + (0x081 << 2)) ++#define P_AO_SEC_SD_CFG1 (volatile uint32_t *)(0xff800000 + (0x081 << 2)) ++#define AO_SEC_SD_CFG2 (0xff800000 + (0x082 << 2)) ++#define SEC_AO_SEC_SD_CFG2 (0xff800000 + (0x082 << 2)) ++#define P_AO_SEC_SD_CFG2 (volatile uint32_t *)(0xff800000 + (0x082 << 2)) ++#define AO_SEC_SD_CFG3 (0xff800000 + (0x083 << 2)) ++#define SEC_AO_SEC_SD_CFG3 (0xff800000 + (0x083 << 2)) ++#define P_AO_SEC_SD_CFG3 (volatile uint32_t *)(0xff800000 + (0x083 << 2)) ++#define AO_SEC_SD_CFG4 (0xff800000 + (0x084 << 2)) ++#define SEC_AO_SEC_SD_CFG4 (0xff800000 + (0x084 << 2)) ++#define P_AO_SEC_SD_CFG4 (volatile uint32_t *)(0xff800000 + (0x084 << 2)) ++#define AO_SEC_SD_CFG5 (0xff800000 + (0x085 << 2)) ++#define SEC_AO_SEC_SD_CFG5 (0xff800000 + (0x085 << 2)) ++#define P_AO_SEC_SD_CFG5 (volatile uint32_t *)(0xff800000 + (0x085 << 2)) ++#define AO_SEC_SD_CFG6 (0xff800000 + (0x086 << 2)) ++#define SEC_AO_SEC_SD_CFG6 (0xff800000 + (0x086 << 2)) ++#define P_AO_SEC_SD_CFG6 (volatile uint32_t *)(0xff800000 + (0x086 << 2)) ++#define AO_SEC_SD_CFG7 (0xff800000 + (0x087 << 2)) ++#define SEC_AO_SEC_SD_CFG7 (0xff800000 + (0x087 << 2)) ++#define P_AO_SEC_SD_CFG7 (volatile uint32_t *)(0xff800000 + (0x087 << 2)) ++#define AO_SEC_SD_CFG8 (0xff800000 + (0x088 << 2)) ++#define SEC_AO_SEC_SD_CFG8 (0xff800000 + (0x088 << 2)) ++#define P_AO_SEC_SD_CFG8 (volatile uint32_t *)(0xff800000 + (0x088 << 2)) ++#define AO_SEC_SD_CFG9 (0xff800000 + (0x089 << 2)) ++#define SEC_AO_SEC_SD_CFG9 (0xff800000 + (0x089 << 2)) ++#define P_AO_SEC_SD_CFG9 (volatile uint32_t *)(0xff800000 + (0x089 << 2)) ++#define AO_SEC_SD_CFG10 (0xff800000 + (0x08a << 2)) ++#define SEC_AO_SEC_SD_CFG10 (0xff800000 + (0x08a << 2)) ++#define P_AO_SEC_SD_CFG10 (volatile uint32_t *)(0xff800000 + (0x08a << 2)) ++#define AO_SEC_SD_CFG11 (0xff800000 + (0x08b << 2)) ++#define SEC_AO_SEC_SD_CFG11 (0xff800000 + (0x08b << 2)) ++#define P_AO_SEC_SD_CFG11 (volatile uint32_t *)(0xff800000 + (0x08b << 2)) ++#define AO_SEC_SD_CFG12 (0xff800000 + (0x08c << 2)) ++#define SEC_AO_SEC_SD_CFG12 (0xff800000 + (0x08c << 2)) ++#define P_AO_SEC_SD_CFG12 (volatile uint32_t *)(0xff800000 + (0x08c << 2)) ++#define AO_SEC_SD_CFG13 (0xff800000 + (0x08d << 2)) ++#define SEC_AO_SEC_SD_CFG13 (0xff800000 + (0x08d << 2)) ++#define P_AO_SEC_SD_CFG13 (volatile uint32_t *)(0xff800000 + (0x08d << 2)) ++#define AO_SEC_SD_CFG14 (0xff800000 + (0x08e << 2)) ++#define SEC_AO_SEC_SD_CFG14 (0xff800000 + (0x08e << 2)) ++#define P_AO_SEC_SD_CFG14 (volatile uint32_t *)(0xff800000 + (0x08e << 2)) ++#define AO_SEC_SD_CFG15 (0xff800000 + (0x08f << 2)) ++#define SEC_AO_SEC_SD_CFG15 (0xff800000 + (0x08f << 2)) ++#define P_AO_SEC_SD_CFG15 (volatile uint32_t *)(0xff800000 + (0x08f << 2)) ++#define AO_SEC_GP_CFG0 (0xff800000 + (0x090 << 2)) ++#define SEC_AO_SEC_GP_CFG0 (0xff800000 + (0x090 << 2)) ++#define P_AO_SEC_GP_CFG0 (volatile uint32_t *)(0xff800000 + (0x090 << 2)) ++#define AO_SEC_GP_CFG1 (0xff800000 + (0x091 << 2)) ++#define SEC_AO_SEC_GP_CFG1 (0xff800000 + (0x091 << 2)) ++#define P_AO_SEC_GP_CFG1 (volatile uint32_t *)(0xff800000 + (0x091 << 2)) ++#define AO_SEC_GP_CFG2 (0xff800000 + (0x092 << 2)) ++#define SEC_AO_SEC_GP_CFG2 (0xff800000 + (0x092 << 2)) ++#define P_AO_SEC_GP_CFG2 (volatile uint32_t *)(0xff800000 + (0x092 << 2)) ++#define AO_SEC_GP_CFG3 (0xff800000 + (0x093 << 2)) ++#define SEC_AO_SEC_GP_CFG3 (0xff800000 + (0x093 << 2)) ++#define P_AO_SEC_GP_CFG3 (volatile uint32_t *)(0xff800000 + (0x093 << 2)) ++#define AO_SEC_GP_CFG4 (0xff800000 + (0x094 << 2)) ++#define SEC_AO_SEC_GP_CFG4 (0xff800000 + (0x094 << 2)) ++#define P_AO_SEC_GP_CFG4 (volatile uint32_t *)(0xff800000 + (0x094 << 2)) ++#define AO_SEC_GP_CFG5 (0xff800000 + (0x095 << 2)) ++#define SEC_AO_SEC_GP_CFG5 (0xff800000 + (0x095 << 2)) ++#define P_AO_SEC_GP_CFG5 (volatile uint32_t *)(0xff800000 + (0x095 << 2)) ++#define AO_SEC_GP_CFG6 (0xff800000 + (0x096 << 2)) ++#define SEC_AO_SEC_GP_CFG6 (0xff800000 + (0x096 << 2)) ++#define P_AO_SEC_GP_CFG6 (volatile uint32_t *)(0xff800000 + (0x096 << 2)) ++#define AO_SEC_GP_CFG7 (0xff800000 + (0x097 << 2)) ++#define SEC_AO_SEC_GP_CFG7 (0xff800000 + (0x097 << 2)) ++#define P_AO_SEC_GP_CFG7 (volatile uint32_t *)(0xff800000 + (0x097 << 2)) ++#define AO_SEC_GP_CFG8 (0xff800000 + (0x098 << 2)) ++#define SEC_AO_SEC_GP_CFG8 (0xff800000 + (0x098 << 2)) ++#define P_AO_SEC_GP_CFG8 (volatile uint32_t *)(0xff800000 + (0x098 << 2)) ++#define AO_SEC_GP_CFG9 (0xff800000 + (0x099 << 2)) ++#define SEC_AO_SEC_GP_CFG9 (0xff800000 + (0x099 << 2)) ++#define P_AO_SEC_GP_CFG9 (volatile uint32_t *)(0xff800000 + (0x099 << 2)) ++#define AO_SEC_GP_CFG10 (0xff800000 + (0x09a << 2)) ++#define SEC_AO_SEC_GP_CFG10 (0xff800000 + (0x09a << 2)) ++#define P_AO_SEC_GP_CFG10 (volatile uint32_t *)(0xff800000 + (0x09a << 2)) ++#define AO_SEC_GP_CFG11 (0xff800000 + (0x09b << 2)) ++#define SEC_AO_SEC_GP_CFG11 (0xff800000 + (0x09b << 2)) ++#define P_AO_SEC_GP_CFG11 (volatile uint32_t *)(0xff800000 + (0x09b << 2)) ++#define AO_SEC_GP_CFG12 (0xff800000 + (0x09c << 2)) ++#define SEC_AO_SEC_GP_CFG12 (0xff800000 + (0x09c << 2)) ++#define P_AO_SEC_GP_CFG12 (volatile uint32_t *)(0xff800000 + (0x09c << 2)) ++#define AO_SEC_GP_CFG13 (0xff800000 + (0x09d << 2)) ++#define SEC_AO_SEC_GP_CFG13 (0xff800000 + (0x09d << 2)) ++#define P_AO_SEC_GP_CFG13 (volatile uint32_t *)(0xff800000 + (0x09d << 2)) ++#define AO_SEC_GP_CFG14 (0xff800000 + (0x09e << 2)) ++#define SEC_AO_SEC_GP_CFG14 (0xff800000 + (0x09e << 2)) ++#define P_AO_SEC_GP_CFG14 (volatile uint32_t *)(0xff800000 + (0x09e << 2)) ++#define AO_SEC_GP_CFG15 (0xff800000 + (0x09f << 2)) ++#define SEC_AO_SEC_GP_CFG15 (0xff800000 + (0x09f << 2)) ++#define P_AO_SEC_GP_CFG15 (volatile uint32_t *)(0xff800000 + (0x09f << 2)) ++#define AO_CECB_CLK_CNTL_REG0 (0xff800000 + (0x0a0 << 2)) ++#define SEC_AO_CECB_CLK_CNTL_REG0 (0xff800000 + (0x0a0 << 2)) ++#define P_AO_CECB_CLK_CNTL_REG0 (volatile uint32_t *)(0xff800000 + (0x0a0 << 2)) ++#define AO_CECB_CLK_CNTL_REG1 (0xff800000 + (0x0a1 << 2)) ++#define SEC_AO_CECB_CLK_CNTL_REG1 (0xff800000 + (0x0a1 << 2)) ++#define P_AO_CECB_CLK_CNTL_REG1 (volatile uint32_t *)(0xff800000 + (0x0a1 << 2)) ++#define AO_CECB_GEN_CNTL (0xff800000 + (0x0a2 << 2)) ++#define SEC_AO_CECB_GEN_CNTL (0xff800000 + (0x0a2 << 2)) ++#define P_AO_CECB_GEN_CNTL (volatile uint32_t *)(0xff800000 + (0x0a2 << 2)) ++#define AO_CECB_RW_REG (0xff800000 + (0x0a3 << 2)) ++#define SEC_AO_CECB_RW_REG (0xff800000 + (0x0a3 << 2)) ++#define P_AO_CECB_RW_REG (volatile uint32_t *)(0xff800000 + (0x0a3 << 2)) ++#define AO_CECB_INTR_MASKN (0xff800000 + (0x0a4 << 2)) ++#define SEC_AO_CECB_INTR_MASKN (0xff800000 + (0x0a4 << 2)) ++#define P_AO_CECB_INTR_MASKN (volatile uint32_t *)(0xff800000 + (0x0a4 << 2)) ++#define AO_CECB_INTR_CLR (0xff800000 + (0x0a5 << 2)) ++#define SEC_AO_CECB_INTR_CLR (0xff800000 + (0x0a5 << 2)) ++#define P_AO_CECB_INTR_CLR (volatile uint32_t *)(0xff800000 + (0x0a5 << 2)) ++#define AO_CECB_INTR_STAT (0xff800000 + (0x0a6 << 2)) ++#define SEC_AO_CECB_INTR_STAT (0xff800000 + (0x0a6 << 2)) ++#define P_AO_CECB_INTR_STAT (volatile uint32_t *)(0xff800000 + (0x0a6 << 2)) ++#define AO_SEC_M4_CPU_SRAM_REG0_0 (0xff800000 + (0x0a7 << 2)) ++#define SEC_AO_SEC_M4_CPU_SRAM_REG0_0 (0xff800000 + (0x0a7 << 2)) ++#define P_AO_SEC_M4_CPU_SRAM_REG0_0 (volatile uint32_t *)(0xff800000 + (0x0a7 << 2)) ++#define AO_SEC_M4_CPU_SRAM_REG0_1 (0xff800000 + (0x0a8 << 2)) ++#define SEC_AO_SEC_M4_CPU_SRAM_REG0_1 (0xff800000 + (0x0a8 << 2)) ++#define P_AO_SEC_M4_CPU_SRAM_REG0_1 (volatile uint32_t *)(0xff800000 + (0x0a8 << 2)) ++#define AO_SEC_M4_CPU_SRAM_REG1_0 (0xff800000 + (0x0a9 << 2)) ++#define SEC_AO_SEC_M4_CPU_SRAM_REG1_0 (0xff800000 + (0x0a9 << 2)) ++#define P_AO_SEC_M4_CPU_SRAM_REG1_0 (volatile uint32_t *)(0xff800000 + (0x0a9 << 2)) ++#define AO_SEC_M4_CPU_SRAM_REG1_1 (0xff800000 + (0x0aa << 2)) ++#define SEC_AO_SEC_M4_CPU_SRAM_REG1_1 (0xff800000 + (0x0aa << 2)) ++#define P_AO_SEC_M4_CPU_SRAM_REG1_1 (volatile uint32_t *)(0xff800000 + (0x0aa << 2)) ++#define AO_SEC_M4_CPU_SRAM_REG2_0 (0xff800000 + (0x0ab << 2)) ++#define SEC_AO_SEC_M4_CPU_SRAM_REG2_0 (0xff800000 + (0x0ab << 2)) ++#define P_AO_SEC_M4_CPU_SRAM_REG2_0 (volatile uint32_t *)(0xff800000 + (0x0ab << 2)) ++//`define AO_RTC_ADDR0 8'h70 //TODO: DEFINE IF WE'RE IMPLEMENTING AO_RTC ++//`define AO_RTC_ADDR1 8'h71 //TODO: DEFINE IF WE'RE IMPLEMENTING AO_RTC ++//`define AO_RTC_ADDR2 8'h72 //TODO: DEFINE IF WE'RE IMPLEMENTING AO_RTC ++//`define AO_RTC_ADDR3 8'h73 //TODO: DEFINE IF WE'RE IMPLEMENTING AO_RTC ++//`define AO_RTC_ADDR4 8'h74 //TODO: DEFINE IF WE'RE IMPLEMENTING AO_RTC ++#define AO_SEC_JTAG_SP_CTRL (0xff800000 + (0x0ac << 2)) ++#define SEC_AO_SEC_JTAG_SP_CTRL (0xff800000 + (0x0ac << 2)) ++#define P_AO_SEC_JTAG_SP_CTRL (volatile uint32_t *)(0xff800000 + (0x0ac << 2)) ++#define AO_SEC_JTAG_PWD_SP_0 (0xff800000 + (0x0ad << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SP_0 (0xff800000 + (0x0ad << 2)) ++#define P_AO_SEC_JTAG_PWD_SP_0 (volatile uint32_t *)(0xff800000 + (0x0ad << 2)) ++#define AO_SEC_JTAG_PWD_SP_1 (0xff800000 + (0x0ae << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SP_1 (0xff800000 + (0x0ae << 2)) ++#define P_AO_SEC_JTAG_PWD_SP_1 (volatile uint32_t *)(0xff800000 + (0x0ae << 2)) ++#define AO_SEC_JTAG_PWD_SP_2 (0xff800000 + (0x0af << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SP_2 (0xff800000 + (0x0af << 2)) ++#define P_AO_SEC_JTAG_PWD_SP_2 (volatile uint32_t *)(0xff800000 + (0x0af << 2)) ++#define AO_SEC_JTAG_PWD_SP_3 (0xff800000 + (0x0b0 << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SP_3 (0xff800000 + (0x0b0 << 2)) ++#define P_AO_SEC_JTAG_PWD_SP_3 (volatile uint32_t *)(0xff800000 + (0x0b0 << 2)) ++#define AO_SEC_JTAG_PWD_SP_CNTL (0xff800000 + (0x0b1 << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SP_CNTL (0xff800000 + (0x0b1 << 2)) ++#define P_AO_SEC_JTAG_PWD_SP_CNTL (volatile uint32_t *)(0xff800000 + (0x0b1 << 2)) ++#define AO_SEC_JTAG_PWD_SP_ADDR0 (0xff800000 + (0x0b2 << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SP_ADDR0 (0xff800000 + (0x0b2 << 2)) ++#define P_AO_SEC_JTAG_PWD_SP_ADDR0 (volatile uint32_t *)(0xff800000 + (0x0b2 << 2)) ++#define AO_SEC_JTAG_PWD_SP_ADDR1 (0xff800000 + (0x0b3 << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SP_ADDR1 (0xff800000 + (0x0b3 << 2)) ++#define P_AO_SEC_JTAG_PWD_SP_ADDR1 (volatile uint32_t *)(0xff800000 + (0x0b3 << 2)) ++#define AO_SEC_JTAG_PWD_SP_ADDR2 (0xff800000 + (0x0b4 << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SP_ADDR2 (0xff800000 + (0x0b4 << 2)) ++#define P_AO_SEC_JTAG_PWD_SP_ADDR2 (volatile uint32_t *)(0xff800000 + (0x0b4 << 2)) ++#define AO_SEC_JTAG_PWD_SP_ADDR3 (0xff800000 + (0x0b5 << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SP_ADDR3 (0xff800000 + (0x0b5 << 2)) ++#define P_AO_SEC_JTAG_PWD_SP_ADDR3 (volatile uint32_t *)(0xff800000 + (0x0b5 << 2)) ++#define AO_SEC_JTAG_SCP_CTRL (0xff800000 + (0x0b6 << 2)) ++#define SEC_AO_SEC_JTAG_SCP_CTRL (0xff800000 + (0x0b6 << 2)) ++#define P_AO_SEC_JTAG_SCP_CTRL (volatile uint32_t *)(0xff800000 + (0x0b6 << 2)) ++#define AO_SEC_JTAG_PWD_SCP_0 (0xff800000 + (0x0b7 << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SCP_0 (0xff800000 + (0x0b7 << 2)) ++#define P_AO_SEC_JTAG_PWD_SCP_0 (volatile uint32_t *)(0xff800000 + (0x0b7 << 2)) ++#define AO_SEC_JTAG_PWD_SCP_1 (0xff800000 + (0x0b8 << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SCP_1 (0xff800000 + (0x0b8 << 2)) ++#define P_AO_SEC_JTAG_PWD_SCP_1 (volatile uint32_t *)(0xff800000 + (0x0b8 << 2)) ++#define AO_SEC_JTAG_PWD_SCP_2 (0xff800000 + (0x0b9 << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SCP_2 (0xff800000 + (0x0b9 << 2)) ++#define P_AO_SEC_JTAG_PWD_SCP_2 (volatile uint32_t *)(0xff800000 + (0x0b9 << 2)) ++#define AO_SEC_JTAG_PWD_SCP_3 (0xff800000 + (0x0ba << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SCP_3 (0xff800000 + (0x0ba << 2)) ++#define P_AO_SEC_JTAG_PWD_SCP_3 (volatile uint32_t *)(0xff800000 + (0x0ba << 2)) ++#define AO_SEC_JTAG_PWD_SCP_CNTL (0xff800000 + (0x0bb << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SCP_CNTL (0xff800000 + (0x0bb << 2)) ++#define P_AO_SEC_JTAG_PWD_SCP_CNTL (volatile uint32_t *)(0xff800000 + (0x0bb << 2)) ++#define AO_SEC_JTAG_PWD_SCP_ADDR0 (0xff800000 + (0x0bc << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SCP_ADDR0 (0xff800000 + (0x0bc << 2)) ++#define P_AO_SEC_JTAG_PWD_SCP_ADDR0 (volatile uint32_t *)(0xff800000 + (0x0bc << 2)) ++#define AO_SEC_JTAG_PWD_SCP_ADDR1 (0xff800000 + (0x0bd << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SCP_ADDR1 (0xff800000 + (0x0bd << 2)) ++#define P_AO_SEC_JTAG_PWD_SCP_ADDR1 (volatile uint32_t *)(0xff800000 + (0x0bd << 2)) ++#define AO_SEC_JTAG_PWD_SCP_ADDR2 (0xff800000 + (0x0be << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SCP_ADDR2 (0xff800000 + (0x0be << 2)) ++#define P_AO_SEC_JTAG_PWD_SCP_ADDR2 (volatile uint32_t *)(0xff800000 + (0x0be << 2)) ++#define AO_SEC_JTAG_PWD_SCP_ADDR3 (0xff800000 + (0x0bf << 2)) ++#define SEC_AO_SEC_JTAG_PWD_SCP_ADDR3 (0xff800000 + (0x0bf << 2)) ++#define P_AO_SEC_JTAG_PWD_SCP_ADDR3 (volatile uint32_t *)(0xff800000 + (0x0bf << 2)) ++#define M4_CPU_CNTL (0xff800000 + (0x0c0 << 2)) ++#define SEC_M4_CPU_CNTL (0xff800000 + (0x0c0 << 2)) ++#define P_M4_CPU_CNTL (volatile uint32_t *)(0xff800000 + (0x0c0 << 2)) ++#define M4_CPU_CNTL_NS (0xff800000 + (0x0c1 << 2)) ++#define SEC_M4_CPU_CNTL_NS (0xff800000 + (0x0c1 << 2)) ++#define P_M4_CPU_CNTL_NS (volatile uint32_t *)(0xff800000 + (0x0c1 << 2)) ++#define M4_CPU_CNTL2 (0xff800000 + (0x0c2 << 2)) ++#define SEC_M4_CPU_CNTL2 (0xff800000 + (0x0c2 << 2)) ++#define P_M4_CPU_CNTL2 (volatile uint32_t *)(0xff800000 + (0x0c2 << 2)) ++#define M4_CPU_CNTL3 (0xff800000 + (0x0c3 << 2)) ++#define SEC_M4_CPU_CNTL3 (0xff800000 + (0x0c3 << 2)) ++#define P_M4_CPU_CNTL3 (volatile uint32_t *)(0xff800000 + (0x0c3 << 2)) ++#define M4_CPU_CNTL4 (0xff800000 + (0x0c4 << 2)) ++#define SEC_M4_CPU_CNTL4 (0xff800000 + (0x0c4 << 2)) ++#define P_M4_CPU_CNTL4 (volatile uint32_t *)(0xff800000 + (0x0c4 << 2)) ++#define M4_CPU_CNTL5 (0xff800000 + (0x0c5 << 2)) ++#define SEC_M4_CPU_CNTL5 (0xff800000 + (0x0c5 << 2)) ++#define P_M4_CPU_CNTL5 (volatile uint32_t *)(0xff800000 + (0x0c5 << 2)) ++#define M4_CPU_TIMESTAMP (0xff800000 + (0x0c6 << 2)) ++#define SEC_M4_CPU_TIMESTAMP (0xff800000 + (0x0c6 << 2)) ++#define P_M4_CPU_TIMESTAMP (volatile uint32_t *)(0xff800000 + (0x0c6 << 2)) ++#define M4_CPU_TIMESTAMP2 (0xff800000 + (0x0c7 << 2)) ++#define SEC_M4_CPU_TIMESTAMP2 (0xff800000 + (0x0c7 << 2)) ++#define P_M4_CPU_TIMESTAMP2 (volatile uint32_t *)(0xff800000 + (0x0c7 << 2)) ++#define M4_CPU_STAT1 (0xff800000 + (0x0c8 << 2)) ++#define SEC_M4_CPU_STAT1 (0xff800000 + (0x0c8 << 2)) ++#define P_M4_CPU_STAT1 (volatile uint32_t *)(0xff800000 + (0x0c8 << 2)) ++#define M4_CPU_STAT2 (0xff800000 + (0x0c9 << 2)) ++#define SEC_M4_CPU_STAT2 (0xff800000 + (0x0c9 << 2)) ++#define P_M4_CPU_STAT2 (volatile uint32_t *)(0xff800000 + (0x0c9 << 2)) ++#define AO_CEC_STICKY_DATA0 (0xff800000 + (0x0ca << 2)) ++#define SEC_AO_CEC_STICKY_DATA0 (0xff800000 + (0x0ca << 2)) ++#define P_AO_CEC_STICKY_DATA0 (volatile uint32_t *)(0xff800000 + (0x0ca << 2)) ++#define AO_CEC_STICKY_DATA1 (0xff800000 + (0x0cb << 2)) ++#define SEC_AO_CEC_STICKY_DATA1 (0xff800000 + (0x0cb << 2)) ++#define P_AO_CEC_STICKY_DATA1 (volatile uint32_t *)(0xff800000 + (0x0cb << 2)) ++#define AO_CEC_STICKY_DATA2 (0xff800000 + (0x0cc << 2)) ++#define SEC_AO_CEC_STICKY_DATA2 (0xff800000 + (0x0cc << 2)) ++#define P_AO_CEC_STICKY_DATA2 (volatile uint32_t *)(0xff800000 + (0x0cc << 2)) ++#define AO_CEC_STICKY_DATA3 (0xff800000 + (0x0cd << 2)) ++#define SEC_AO_CEC_STICKY_DATA3 (0xff800000 + (0x0cd << 2)) ++#define P_AO_CEC_STICKY_DATA3 (volatile uint32_t *)(0xff800000 + (0x0cd << 2)) ++#define AO_CEC_STICKY_DATA4 (0xff800000 + (0x0ce << 2)) ++#define SEC_AO_CEC_STICKY_DATA4 (0xff800000 + (0x0ce << 2)) ++#define P_AO_CEC_STICKY_DATA4 (volatile uint32_t *)(0xff800000 + (0x0ce << 2)) ++#define AO_CEC_STICKY_DATA5 (0xff800000 + (0x0cf << 2)) ++#define SEC_AO_CEC_STICKY_DATA5 (0xff800000 + (0x0cf << 2)) ++#define P_AO_CEC_STICKY_DATA5 (volatile uint32_t *)(0xff800000 + (0x0cf << 2)) ++#define AO_CEC_STICKY_DATA6 (0xff800000 + (0x0d0 << 2)) ++#define SEC_AO_CEC_STICKY_DATA6 (0xff800000 + (0x0d0 << 2)) ++#define P_AO_CEC_STICKY_DATA6 (volatile uint32_t *)(0xff800000 + (0x0d0 << 2)) ++#define AO_CEC_STICKY_DATA7 (0xff800000 + (0x0d1 << 2)) ++#define SEC_AO_CEC_STICKY_DATA7 (0xff800000 + (0x0d1 << 2)) ++#define P_AO_CEC_STICKY_DATA7 (volatile uint32_t *)(0xff800000 + (0x0d1 << 2)) ++#define AO_SEC_SP_CFG0 (0xff800000 + (0x0e0 << 2)) ++#define SEC_AO_SEC_SP_CFG0 (0xff800000 + (0x0e0 << 2)) ++#define P_AO_SEC_SP_CFG0 (volatile uint32_t *)(0xff800000 + (0x0e0 << 2)) ++#define AO_SEC_SP_CFG1 (0xff800000 + (0x0e1 << 2)) ++#define SEC_AO_SEC_SP_CFG1 (0xff800000 + (0x0e1 << 2)) ++#define P_AO_SEC_SP_CFG1 (volatile uint32_t *)(0xff800000 + (0x0e1 << 2)) ++#define AO_SEC_SP_CFG2 (0xff800000 + (0x0e2 << 2)) ++#define SEC_AO_SEC_SP_CFG2 (0xff800000 + (0x0e2 << 2)) ++#define P_AO_SEC_SP_CFG2 (volatile uint32_t *)(0xff800000 + (0x0e2 << 2)) ++#define AO_SEC_SP_CFG3 (0xff800000 + (0x0e3 << 2)) ++#define SEC_AO_SEC_SP_CFG3 (0xff800000 + (0x0e3 << 2)) ++#define P_AO_SEC_SP_CFG3 (volatile uint32_t *)(0xff800000 + (0x0e3 << 2)) ++#define AO_SEC_SP_CFG4 (0xff800000 + (0x0e4 << 2)) ++#define SEC_AO_SEC_SP_CFG4 (0xff800000 + (0x0e4 << 2)) ++#define P_AO_SEC_SP_CFG4 (volatile uint32_t *)(0xff800000 + (0x0e4 << 2)) ++#define AO_SEC_SP_CFG5 (0xff800000 + (0x0e5 << 2)) ++#define SEC_AO_SEC_SP_CFG5 (0xff800000 + (0x0e5 << 2)) ++#define P_AO_SEC_SP_CFG5 (volatile uint32_t *)(0xff800000 + (0x0e5 << 2)) ++#define AO_SEC_SP_CFG6 (0xff800000 + (0x0e6 << 2)) ++#define SEC_AO_SEC_SP_CFG6 (0xff800000 + (0x0e6 << 2)) ++#define P_AO_SEC_SP_CFG6 (volatile uint32_t *)(0xff800000 + (0x0e6 << 2)) ++#define AO_SEC_SP_CFG7 (0xff800000 + (0x0e7 << 2)) ++#define SEC_AO_SEC_SP_CFG7 (0xff800000 + (0x0e7 << 2)) ++#define P_AO_SEC_SP_CFG7 (volatile uint32_t *)(0xff800000 + (0x0e7 << 2)) ++#define AO_SEC_SP_CFG8 (0xff800000 + (0x0e8 << 2)) ++#define SEC_AO_SEC_SP_CFG8 (0xff800000 + (0x0e8 << 2)) ++#define P_AO_SEC_SP_CFG8 (volatile uint32_t *)(0xff800000 + (0x0e8 << 2)) ++#define AO_SEC_SP_CFG9 (0xff800000 + (0x0e9 << 2)) ++#define SEC_AO_SEC_SP_CFG9 (0xff800000 + (0x0e9 << 2)) ++#define P_AO_SEC_SP_CFG9 (volatile uint32_t *)(0xff800000 + (0x0e9 << 2)) ++#define AO_SEC_SP_CFG10 (0xff800000 + (0x0ea << 2)) ++#define SEC_AO_SEC_SP_CFG10 (0xff800000 + (0x0ea << 2)) ++#define P_AO_SEC_SP_CFG10 (volatile uint32_t *)(0xff800000 + (0x0ea << 2)) ++#define AO_SEC_SP_CFG11 (0xff800000 + (0x0eb << 2)) ++#define SEC_AO_SEC_SP_CFG11 (0xff800000 + (0x0eb << 2)) ++#define P_AO_SEC_SP_CFG11 (volatile uint32_t *)(0xff800000 + (0x0eb << 2)) ++#define AO_SEC_SP_CFG12 (0xff800000 + (0x0ec << 2)) ++#define SEC_AO_SEC_SP_CFG12 (0xff800000 + (0x0ec << 2)) ++#define P_AO_SEC_SP_CFG12 (volatile uint32_t *)(0xff800000 + (0x0ec << 2)) ++#define AO_SEC_SP_CFG13 (0xff800000 + (0x0ed << 2)) ++#define SEC_AO_SEC_SP_CFG13 (0xff800000 + (0x0ed << 2)) ++#define P_AO_SEC_SP_CFG13 (volatile uint32_t *)(0xff800000 + (0x0ed << 2)) ++#define AO_SEC_SP_CFG14 (0xff800000 + (0x0ee << 2)) ++#define SEC_AO_SEC_SP_CFG14 (0xff800000 + (0x0ee << 2)) ++#define P_AO_SEC_SP_CFG14 (volatile uint32_t *)(0xff800000 + (0x0ee << 2)) ++#define AO_SEC_SP_CFG15 (0xff800000 + (0x0ef << 2)) ++#define SEC_AO_SEC_SP_CFG15 (0xff800000 + (0x0ef << 2)) ++#define P_AO_SEC_SP_CFG15 (volatile uint32_t *)(0xff800000 + (0x0ef << 2)) ++#define AO_TIMER_CTRL (0xff800000 + (0x0f0 << 2)) ++#define SEC_AO_TIMER_CTRL (0xff800000 + (0x0f0 << 2)) ++#define P_AO_TIMER_CTRL (volatile uint32_t *)(0xff800000 + (0x0f0 << 2)) ++#define AO_TIMER_SEC_SCP_CTRL (0xff800000 + (0x0f1 << 2)) ++#define SEC_AO_TIMER_SEC_SCP_CTRL (0xff800000 + (0x0f1 << 2)) ++#define P_AO_TIMER_SEC_SCP_CTRL (volatile uint32_t *)(0xff800000 + (0x0f1 << 2)) ++#define AO_TIMER_SEC_SP_CTRL (0xff800000 + (0x0f2 << 2)) ++#define SEC_AO_TIMER_SEC_SP_CTRL (0xff800000 + (0x0f2 << 2)) ++#define P_AO_TIMER_SEC_SP_CTRL (volatile uint32_t *)(0xff800000 + (0x0f2 << 2)) ++#define AO_TIMERA_REG (0xff800000 + (0x0f3 << 2)) ++#define SEC_AO_TIMERA_REG (0xff800000 + (0x0f3 << 2)) ++#define P_AO_TIMERA_REG (volatile uint32_t *)(0xff800000 + (0x0f3 << 2)) ++#define AO_TIMERA_CUR_REG (0xff800000 + (0x0f4 << 2)) ++#define SEC_AO_TIMERA_CUR_REG (0xff800000 + (0x0f4 << 2)) ++#define P_AO_TIMERA_CUR_REG (volatile uint32_t *)(0xff800000 + (0x0f4 << 2)) ++#define AO_TIMERB_REG (0xff800000 + (0x0f5 << 2)) ++#define SEC_AO_TIMERB_REG (0xff800000 + (0x0f5 << 2)) ++#define P_AO_TIMERB_REG (volatile uint32_t *)(0xff800000 + (0x0f5 << 2)) ++#define AO_TIMERB_CUR_REG (0xff800000 + (0x0f6 << 2)) ++#define SEC_AO_TIMERB_CUR_REG (0xff800000 + (0x0f6 << 2)) ++#define P_AO_TIMERB_CUR_REG (volatile uint32_t *)(0xff800000 + (0x0f6 << 2)) ++#define AO_TIMERC_REG (0xff800000 + (0x0f7 << 2)) ++#define SEC_AO_TIMERC_REG (0xff800000 + (0x0f7 << 2)) ++#define P_AO_TIMERC_REG (volatile uint32_t *)(0xff800000 + (0x0f7 << 2)) ++#define AO_TIMERC_CUR_REG (0xff800000 + (0x0f8 << 2)) ++#define SEC_AO_TIMERC_CUR_REG (0xff800000 + (0x0f8 << 2)) ++#define P_AO_TIMERC_CUR_REG (volatile uint32_t *)(0xff800000 + (0x0f8 << 2)) ++#define AO_TIMERE_REG (0xff800000 + (0x0f9 << 2)) ++#define SEC_AO_TIMERE_REG (0xff800000 + (0x0f9 << 2)) ++#define P_AO_TIMERE_REG (volatile uint32_t *)(0xff800000 + (0x0f9 << 2)) ++#define AO_TIMERE_HI_REG (0xff800000 + (0x0fa << 2)) ++#define SEC_AO_TIMERE_HI_REG (0xff800000 + (0x0fa << 2)) ++#define P_AO_TIMERE_HI_REG (volatile uint32_t *)(0xff800000 + (0x0fa << 2)) ++#define AO_TIMERF_REG (0xff800000 + (0x0fb << 2)) ++#define SEC_AO_TIMERF_REG (0xff800000 + (0x0fb << 2)) ++#define P_AO_TIMERF_REG (volatile uint32_t *)(0xff800000 + (0x0fb << 2)) ++#define AO_TIMERF_HI_REG (0xff800000 + (0x0fc << 2)) ++#define SEC_AO_TIMERF_HI_REG (0xff800000 + (0x0fc << 2)) ++#define P_AO_TIMERF_HI_REG (volatile uint32_t *)(0xff800000 + (0x0fc << 2)) ++#define AO_TIMERG_REG (0xff800000 + (0x0fd << 2)) ++#define SEC_AO_TIMERG_REG (0xff800000 + (0x0fd << 2)) ++#define P_AO_TIMERG_REG (volatile uint32_t *)(0xff800000 + (0x0fd << 2)) ++#define AO_TIMERG_HI_REG (0xff800000 + (0x0fe << 2)) ++#define SEC_AO_TIMERG_HI_REG (0xff800000 + (0x0fe << 2)) ++#define P_AO_TIMERG_HI_REG (volatile uint32_t *)(0xff800000 + (0x0fe << 2)) ++// ---------------------------- ++// PWM C-D ++// ---------------------------- ++//#define AO_PWM_CD_REG_BASE 0x02 ++// APB4_DECODER_NON_SECURE_BASE 32'hFF802000 ++// APB4_DECODER_SECURE_BASE 32'hFF802000 ++#define AO_PWM_PWM_C (0xff802000 + (0x000 << 2)) ++#define SEC_AO_PWM_PWM_C (0xff802000 + (0x000 << 2)) ++#define P_AO_PWM_PWM_C (volatile uint32_t *)(0xff802000 + (0x000 << 2)) ++#define AO_PWM_PWM_D (0xff802000 + (0x001 << 2)) ++#define SEC_AO_PWM_PWM_D (0xff802000 + (0x001 << 2)) ++#define P_AO_PWM_PWM_D (volatile uint32_t *)(0xff802000 + (0x001 << 2)) ++#define AO_PWM_MISC_REG_CD (0xff802000 + (0x002 << 2)) ++#define SEC_AO_PWM_MISC_REG_CD (0xff802000 + (0x002 << 2)) ++#define P_AO_PWM_MISC_REG_CD (volatile uint32_t *)(0xff802000 + (0x002 << 2)) ++#define AO_PWM_DELTA_SIGMA_CD (0xff802000 + (0x003 << 2)) ++#define SEC_AO_PWM_DELTA_SIGMA_CD (0xff802000 + (0x003 << 2)) ++#define P_AO_PWM_DELTA_SIGMA_CD (volatile uint32_t *)(0xff802000 + (0x003 << 2)) ++#define AO_PWM_TIME_CD (0xff802000 + (0x004 << 2)) ++#define SEC_AO_PWM_TIME_CD (0xff802000 + (0x004 << 2)) ++#define P_AO_PWM_TIME_CD (volatile uint32_t *)(0xff802000 + (0x004 << 2)) ++#define AO_PWM_C2 (0xff802000 + (0x005 << 2)) ++#define SEC_AO_PWM_C2 (0xff802000 + (0x005 << 2)) ++#define P_AO_PWM_C2 (volatile uint32_t *)(0xff802000 + (0x005 << 2)) ++#define AO_PWM_D2 (0xff802000 + (0x006 << 2)) ++#define SEC_AO_PWM_D2 (0xff802000 + (0x006 << 2)) ++#define P_AO_PWM_D2 (volatile uint32_t *)(0xff802000 + (0x006 << 2)) ++#define AO_PWM_BLINK_CD (0xff802000 + (0x007 << 2)) ++#define SEC_AO_PWM_BLINK_CD (0xff802000 + (0x007 << 2)) ++#define P_AO_PWM_BLINK_CD (volatile uint32_t *)(0xff802000 + (0x007 << 2)) ++#define AO_PWM_LOCK_CD (0xff802000 + (0x008 << 2)) ++#define SEC_AO_PWM_LOCK_CD (0xff802000 + (0x008 << 2)) ++#define P_AO_PWM_LOCK_CD (volatile uint32_t *)(0xff802000 + (0x008 << 2)) ++// ---------------------------- ++// UART ++// ---------------------------- ++//#define AO_UART_REG_BASE 0x03 ++// APB4_DECODER_NON_SECURE_BASE 32'hFF803000 ++// APB4_DECODER_SECURE_BASE 32'hFF803000 ++#define AO_UART_WFIFO (0xff803000 + (0x000 << 2)) ++#define SEC_AO_UART_WFIFO (0xff803000 + (0x000 << 2)) ++#define P_AO_UART_WFIFO (volatile uint32_t *)(0xff803000 + (0x000 << 2)) ++#define AO_UART_RFIFO (0xff803000 + (0x001 << 2)) ++#define SEC_AO_UART_RFIFO (0xff803000 + (0x001 << 2)) ++#define P_AO_UART_RFIFO (volatile uint32_t *)(0xff803000 + (0x001 << 2)) ++#define AO_UART_CONTROL (0xff803000 + (0x002 << 2)) ++#define SEC_AO_UART_CONTROL (0xff803000 + (0x002 << 2)) ++#define P_AO_UART_CONTROL (volatile uint32_t *)(0xff803000 + (0x002 << 2)) ++#define AO_UART_STATUS (0xff803000 + (0x003 << 2)) ++#define SEC_AO_UART_STATUS (0xff803000 + (0x003 << 2)) ++#define P_AO_UART_STATUS (volatile uint32_t *)(0xff803000 + (0x003 << 2)) ++#define AO_UART_MISC (0xff803000 + (0x004 << 2)) ++#define SEC_AO_UART_MISC (0xff803000 + (0x004 << 2)) ++#define P_AO_UART_MISC (volatile uint32_t *)(0xff803000 + (0x004 << 2)) ++#define AO_UART_REG5 (0xff803000 + (0x005 << 2)) ++#define SEC_AO_UART_REG5 (0xff803000 + (0x005 << 2)) ++#define P_AO_UART_REG5 (volatile uint32_t *)(0xff803000 + (0x005 << 2)) ++// ---------------------------- ++// UART2 ++// ---------------------------- ++//#define AO_UART2_REG_BASE 0x04 ++// APB4_DECODER_NON_SECURE_BASE 32'hFF804000 ++// APB4_DECODER_SECURE_BASE 32'hFF804000 ++#define AO_UART2_WFIFO (0xff804000 + (0x000 << 2)) ++#define SEC_AO_UART2_WFIFO (0xff804000 + (0x000 << 2)) ++#define P_AO_UART2_WFIFO (volatile uint32_t *)(0xff804000 + (0x000 << 2)) ++#define AO_UART2_RFIFO (0xff804000 + (0x001 << 2)) ++#define SEC_AO_UART2_RFIFO (0xff804000 + (0x001 << 2)) ++#define P_AO_UART2_RFIFO (volatile uint32_t *)(0xff804000 + (0x001 << 2)) ++#define AO_UART2_CONTROL (0xff804000 + (0x002 << 2)) ++#define SEC_AO_UART2_CONTROL (0xff804000 + (0x002 << 2)) ++#define P_AO_UART2_CONTROL (volatile uint32_t *)(0xff804000 + (0x002 << 2)) ++#define AO_UART2_STATUS (0xff804000 + (0x003 << 2)) ++#define SEC_AO_UART2_STATUS (0xff804000 + (0x003 << 2)) ++#define P_AO_UART2_STATUS (volatile uint32_t *)(0xff804000 + (0x003 << 2)) ++#define AO_UART2_MISC (0xff804000 + (0x004 << 2)) ++#define SEC_AO_UART2_MISC (0xff804000 + (0x004 << 2)) ++#define P_AO_UART2_MISC (volatile uint32_t *)(0xff804000 + (0x004 << 2)) ++#define AO_UART2_REG5 (0xff804000 + (0x005 << 2)) ++#define SEC_AO_UART2_REG5 (0xff804000 + (0x005 << 2)) ++#define P_AO_UART2_REG5 (volatile uint32_t *)(0xff804000 + (0x005 << 2)) ++// ---------------------------- ++// I2C Master (8) ++// ---------------------------- ++//#define AO_I2C_M_REG_BASE 0x05 ++// APB4_DECODER_NON_SECURE_BASE 32'hFF805000 ++// APB4_DECODER_SECURE_BASE 32'hFF805000 ++#define AO_I2C_M_0_CONTROL_REG (0xff805000 + (0x000 << 2)) ++#define SEC_AO_I2C_M_0_CONTROL_REG (0xff805000 + (0x000 << 2)) ++#define P_AO_I2C_M_0_CONTROL_REG (volatile uint32_t *)(0xff805000 + (0x000 << 2)) ++#define AO_I2C_M_0_SLAVE_ADDR (0xff805000 + (0x001 << 2)) ++#define SEC_AO_I2C_M_0_SLAVE_ADDR (0xff805000 + (0x001 << 2)) ++#define P_AO_I2C_M_0_SLAVE_ADDR (volatile uint32_t *)(0xff805000 + (0x001 << 2)) ++#define AO_I2C_M_0_TOKEN_LIST0 (0xff805000 + (0x002 << 2)) ++#define SEC_AO_I2C_M_0_TOKEN_LIST0 (0xff805000 + (0x002 << 2)) ++#define P_AO_I2C_M_0_TOKEN_LIST0 (volatile uint32_t *)(0xff805000 + (0x002 << 2)) ++#define AO_I2C_M_0_TOKEN_LIST1 (0xff805000 + (0x003 << 2)) ++#define SEC_AO_I2C_M_0_TOKEN_LIST1 (0xff805000 + (0x003 << 2)) ++#define P_AO_I2C_M_0_TOKEN_LIST1 (volatile uint32_t *)(0xff805000 + (0x003 << 2)) ++#define AO_I2C_M_0_WDATA_REG0 (0xff805000 + (0x004 << 2)) ++#define SEC_AO_I2C_M_0_WDATA_REG0 (0xff805000 + (0x004 << 2)) ++#define P_AO_I2C_M_0_WDATA_REG0 (volatile uint32_t *)(0xff805000 + (0x004 << 2)) ++#define AO_I2C_M_0_WDATA_REG1 (0xff805000 + (0x005 << 2)) ++#define SEC_AO_I2C_M_0_WDATA_REG1 (0xff805000 + (0x005 << 2)) ++#define P_AO_I2C_M_0_WDATA_REG1 (volatile uint32_t *)(0xff805000 + (0x005 << 2)) ++#define AO_I2C_M_0_RDATA_REG0 (0xff805000 + (0x006 << 2)) ++#define SEC_AO_I2C_M_0_RDATA_REG0 (0xff805000 + (0x006 << 2)) ++#define P_AO_I2C_M_0_RDATA_REG0 (volatile uint32_t *)(0xff805000 + (0x006 << 2)) ++#define AO_I2C_M_0_RDATA_REG1 (0xff805000 + (0x007 << 2)) ++#define SEC_AO_I2C_M_0_RDATA_REG1 (0xff805000 + (0x007 << 2)) ++#define P_AO_I2C_M_0_RDATA_REG1 (volatile uint32_t *)(0xff805000 + (0x007 << 2)) ++#define AO_I2C_M_0_TIMEOUT_TH (0xff805000 + (0x008 << 2)) ++#define SEC_AO_I2C_M_0_TIMEOUT_TH (0xff805000 + (0x008 << 2)) ++#define P_AO_I2C_M_0_TIMEOUT_TH (volatile uint32_t *)(0xff805000 + (0x008 << 2)) ++// ---------------------------- ++// I2C Slave (3) ++// ---------------------------- ++//#define AO_I2C_S_REG_BASE 0x06 ++// APB4_DECODER_NON_SECURE_BASE 32'hFF806000 ++// APB4_DECODER_SECURE_BASE 32'hFF806000 ++#define AO_I2C_S_CONTROL_REG (0xff806000 + (0x000 << 2)) ++#define SEC_AO_I2C_S_CONTROL_REG (0xff806000 + (0x000 << 2)) ++#define P_AO_I2C_S_CONTROL_REG (volatile uint32_t *)(0xff806000 + (0x000 << 2)) ++#define AO_I2C_S_SEND_REG (0xff806000 + (0x001 << 2)) ++#define SEC_AO_I2C_S_SEND_REG (0xff806000 + (0x001 << 2)) ++#define P_AO_I2C_S_SEND_REG (volatile uint32_t *)(0xff806000 + (0x001 << 2)) ++#define AO_I2C_S_RECV_REG (0xff806000 + (0x002 << 2)) ++#define SEC_AO_I2C_S_RECV_REG (0xff806000 + (0x002 << 2)) ++#define P_AO_I2C_S_RECV_REG (volatile uint32_t *)(0xff806000 + (0x002 << 2)) ++#define AO_I2C_S_CNTL1_REG (0xff806000 + (0x003 << 2)) ++#define SEC_AO_I2C_S_CNTL1_REG (0xff806000 + (0x003 << 2)) ++#define P_AO_I2C_S_CNTL1_REG (volatile uint32_t *)(0xff806000 + (0x003 << 2)) ++// ---------------------------- ++// PWM A-B ++// ---------------------------- ++//#define AO_PWM_AB_REG_BASE 0x07 ++// APB4_DECODER_NON_SECURE_BASE 32'hFF807000 ++// APB4_DECODER_SECURE_BASE 32'hFF807000 ++#define AO_PWM_PWM_A (0xff807000 + (0x000 << 2)) ++#define SEC_AO_PWM_PWM_A (0xff807000 + (0x000 << 2)) ++#define P_AO_PWM_PWM_A (volatile uint32_t *)(0xff807000 + (0x000 << 2)) ++#define AO_PWM_PWM_B (0xff807000 + (0x001 << 2)) ++#define SEC_AO_PWM_PWM_B (0xff807000 + (0x001 << 2)) ++#define P_AO_PWM_PWM_B (volatile uint32_t *)(0xff807000 + (0x001 << 2)) ++#define AO_PWM_MISC_REG_AB (0xff807000 + (0x002 << 2)) ++#define SEC_AO_PWM_MISC_REG_AB (0xff807000 + (0x002 << 2)) ++#define P_AO_PWM_MISC_REG_AB (volatile uint32_t *)(0xff807000 + (0x002 << 2)) ++#define AO_PWM_DELTA_SIGMA_AB (0xff807000 + (0x003 << 2)) ++#define SEC_AO_PWM_DELTA_SIGMA_AB (0xff807000 + (0x003 << 2)) ++#define P_AO_PWM_DELTA_SIGMA_AB (volatile uint32_t *)(0xff807000 + (0x003 << 2)) ++#define AO_PWM_TIME_AB (0xff807000 + (0x004 << 2)) ++#define SEC_AO_PWM_TIME_AB (0xff807000 + (0x004 << 2)) ++#define P_AO_PWM_TIME_AB (volatile uint32_t *)(0xff807000 + (0x004 << 2)) ++#define AO_PWM_A2 (0xff807000 + (0x005 << 2)) ++#define SEC_AO_PWM_A2 (0xff807000 + (0x005 << 2)) ++#define P_AO_PWM_A2 (volatile uint32_t *)(0xff807000 + (0x005 << 2)) ++#define AO_PWM_B2 (0xff807000 + (0x006 << 2)) ++#define SEC_AO_PWM_B2 (0xff807000 + (0x006 << 2)) ++#define P_AO_PWM_B2 (volatile uint32_t *)(0xff807000 + (0x006 << 2)) ++#define AO_PWM_BLINK_AB (0xff807000 + (0x007 << 2)) ++#define SEC_AO_PWM_BLINK_AB (0xff807000 + (0x007 << 2)) ++#define P_AO_PWM_BLINK_AB (volatile uint32_t *)(0xff807000 + (0x007 << 2)) ++#define AO_PWM_LOCK_AB (0xff807000 + (0x008 << 2)) ++#define SEC_AO_PWM_LOCK_AB (0xff807000 + (0x008 << 2)) ++#define P_AO_PWM_LOCK_AB (volatile uint32_t *)(0xff807000 + (0x008 << 2)) ++// ---------------------------- ++// Multiformat IR Remote ++// ---------------------------- ++//#define AO_MF_IR_DEC_REG_BASE 0x08 ++// APB4_DECODER_NON_SECURE_BASE 32'hFF808000 ++// APB4_DECODER_SECURE_BASE 32'hFF808000 ++#define AO_IR_DEC_LDR_ACTIVE (0xff808000 + (0x000 << 2)) ++#define SEC_AO_IR_DEC_LDR_ACTIVE (0xff808000 + (0x000 << 2)) ++#define P_AO_IR_DEC_LDR_ACTIVE (volatile uint32_t *)(0xff808000 + (0x000 << 2)) ++#define AO_IR_DEC_LDR_IDLE (0xff808000 + (0x001 << 2)) ++#define SEC_AO_IR_DEC_LDR_IDLE (0xff808000 + (0x001 << 2)) ++#define P_AO_IR_DEC_LDR_IDLE (volatile uint32_t *)(0xff808000 + (0x001 << 2)) ++#define AO_IR_DEC_LDR_REPEAT (0xff808000 + (0x002 << 2)) ++#define SEC_AO_IR_DEC_LDR_REPEAT (0xff808000 + (0x002 << 2)) ++#define P_AO_IR_DEC_LDR_REPEAT (volatile uint32_t *)(0xff808000 + (0x002 << 2)) ++#define AO_IR_DEC_BIT_0 (0xff808000 + (0x003 << 2)) ++#define SEC_AO_IR_DEC_BIT_0 (0xff808000 + (0x003 << 2)) ++#define P_AO_IR_DEC_BIT_0 (volatile uint32_t *)(0xff808000 + (0x003 << 2)) ++#define AO_IR_DEC_REG0 (0xff808000 + (0x004 << 2)) ++#define SEC_AO_IR_DEC_REG0 (0xff808000 + (0x004 << 2)) ++#define P_AO_IR_DEC_REG0 (volatile uint32_t *)(0xff808000 + (0x004 << 2)) ++#define AO_IR_DEC_FRAME (0xff808000 + (0x005 << 2)) ++#define SEC_AO_IR_DEC_FRAME (0xff808000 + (0x005 << 2)) ++#define P_AO_IR_DEC_FRAME (volatile uint32_t *)(0xff808000 + (0x005 << 2)) ++#define AO_IR_DEC_STATUS (0xff808000 + (0x006 << 2)) ++#define SEC_AO_IR_DEC_STATUS (0xff808000 + (0x006 << 2)) ++#define P_AO_IR_DEC_STATUS (volatile uint32_t *)(0xff808000 + (0x006 << 2)) ++#define AO_IR_DEC_REG1 (0xff808000 + (0x007 << 2)) ++#define SEC_AO_IR_DEC_REG1 (0xff808000 + (0x007 << 2)) ++#define P_AO_IR_DEC_REG1 (volatile uint32_t *)(0xff808000 + (0x007 << 2)) ++#define AO_MF_IR_DEC_LDR_ACTIVE (0xff808000 + (0x010 << 2)) ++#define SEC_AO_MF_IR_DEC_LDR_ACTIVE (0xff808000 + (0x010 << 2)) ++#define P_AO_MF_IR_DEC_LDR_ACTIVE (volatile uint32_t *)(0xff808000 + (0x010 << 2)) ++#define AO_MF_IR_DEC_LDR_IDLE (0xff808000 + (0x011 << 2)) ++#define SEC_AO_MF_IR_DEC_LDR_IDLE (0xff808000 + (0x011 << 2)) ++#define P_AO_MF_IR_DEC_LDR_IDLE (volatile uint32_t *)(0xff808000 + (0x011 << 2)) ++#define AO_MF_IR_DEC_LDR_REPEAT (0xff808000 + (0x012 << 2)) ++#define SEC_AO_MF_IR_DEC_LDR_REPEAT (0xff808000 + (0x012 << 2)) ++#define P_AO_MF_IR_DEC_LDR_REPEAT (volatile uint32_t *)(0xff808000 + (0x012 << 2)) ++#define AO_MF_IR_DEC_BIT_0 (0xff808000 + (0x013 << 2)) ++#define SEC_AO_MF_IR_DEC_BIT_0 (0xff808000 + (0x013 << 2)) ++#define P_AO_MF_IR_DEC_BIT_0 (volatile uint32_t *)(0xff808000 + (0x013 << 2)) ++#define AO_MF_IR_DEC_REG0 (0xff808000 + (0x014 << 2)) ++#define SEC_AO_MF_IR_DEC_REG0 (0xff808000 + (0x014 << 2)) ++#define P_AO_MF_IR_DEC_REG0 (volatile uint32_t *)(0xff808000 + (0x014 << 2)) ++#define AO_MF_IR_DEC_FRAME (0xff808000 + (0x015 << 2)) ++#define SEC_AO_MF_IR_DEC_FRAME (0xff808000 + (0x015 << 2)) ++#define P_AO_MF_IR_DEC_FRAME (volatile uint32_t *)(0xff808000 + (0x015 << 2)) ++#define AO_MF_IR_DEC_STATUS (0xff808000 + (0x016 << 2)) ++#define SEC_AO_MF_IR_DEC_STATUS (0xff808000 + (0x016 << 2)) ++#define P_AO_MF_IR_DEC_STATUS (volatile uint32_t *)(0xff808000 + (0x016 << 2)) ++#define AO_MF_IR_DEC_REG1 (0xff808000 + (0x017 << 2)) ++#define SEC_AO_MF_IR_DEC_REG1 (0xff808000 + (0x017 << 2)) ++#define P_AO_MF_IR_DEC_REG1 (volatile uint32_t *)(0xff808000 + (0x017 << 2)) ++#define AO_MF_IR_DEC_REG2 (0xff808000 + (0x018 << 2)) ++#define SEC_AO_MF_IR_DEC_REG2 (0xff808000 + (0x018 << 2)) ++#define P_AO_MF_IR_DEC_REG2 (volatile uint32_t *)(0xff808000 + (0x018 << 2)) ++#define AO_MF_IR_DEC_DURATN2 (0xff808000 + (0x019 << 2)) ++#define SEC_AO_MF_IR_DEC_DURATN2 (0xff808000 + (0x019 << 2)) ++#define P_AO_MF_IR_DEC_DURATN2 (volatile uint32_t *)(0xff808000 + (0x019 << 2)) ++#define AO_MF_IR_DEC_DURATN3 (0xff808000 + (0x01a << 2)) ++#define SEC_AO_MF_IR_DEC_DURATN3 (0xff808000 + (0x01a << 2)) ++#define P_AO_MF_IR_DEC_DURATN3 (volatile uint32_t *)(0xff808000 + (0x01a << 2)) ++#define AO_MF_IR_DEC_FRAME1 (0xff808000 + (0x01b << 2)) ++#define SEC_AO_MF_IR_DEC_FRAME1 (0xff808000 + (0x01b << 2)) ++#define P_AO_MF_IR_DEC_FRAME1 (volatile uint32_t *)(0xff808000 + (0x01b << 2)) ++#define AO_MF_IR_DEC_STATUS1 (0xff808000 + (0x01c << 2)) ++#define SEC_AO_MF_IR_DEC_STATUS1 (0xff808000 + (0x01c << 2)) ++#define P_AO_MF_IR_DEC_STATUS1 (volatile uint32_t *)(0xff808000 + (0x01c << 2)) ++#define AO_MF_IR_DEC_STATUS2 (0xff808000 + (0x01d << 2)) ++#define SEC_AO_MF_IR_DEC_STATUS2 (0xff808000 + (0x01d << 2)) ++#define P_AO_MF_IR_DEC_STATUS2 (volatile uint32_t *)(0xff808000 + (0x01d << 2)) ++#define AO_MF_IR_DEC_REG3 (0xff808000 + (0x01e << 2)) ++#define SEC_AO_MF_IR_DEC_REG3 (0xff808000 + (0x01e << 2)) ++#define P_AO_MF_IR_DEC_REG3 (volatile uint32_t *)(0xff808000 + (0x01e << 2)) ++#define AO_MF_IR_DEC_FRAME_RSV0 (0xff808000 + (0x01f << 2)) ++#define SEC_AO_MF_IR_DEC_FRAME_RSV0 (0xff808000 + (0x01f << 2)) ++#define P_AO_MF_IR_DEC_FRAME_RSV0 (volatile uint32_t *)(0xff808000 + (0x01f << 2)) ++#define AO_MF_IR_DEC_FRAME_RSV1 (0xff808000 + (0x020 << 2)) ++#define SEC_AO_MF_IR_DEC_FRAME_RSV1 (0xff808000 + (0x020 << 2)) ++#define P_AO_MF_IR_DEC_FRAME_RSV1 (volatile uint32_t *)(0xff808000 + (0x020 << 2)) ++#define AO_MF_IR_DEC_FILTE (0xff808000 + (0x021 << 2)) ++#define SEC_AO_MF_IR_DEC_FILTE (0xff808000 + (0x021 << 2)) ++#define P_AO_MF_IR_DEC_FILTE (volatile uint32_t *)(0xff808000 + (0x021 << 2)) ++#define AO_MF_IR_DEC_IRQ_CTL (0xff808000 + (0x022 << 2)) ++#define SEC_AO_MF_IR_DEC_IRQ_CTL (0xff808000 + (0x022 << 2)) ++#define P_AO_MF_IR_DEC_IRQ_CTL (volatile uint32_t *)(0xff808000 + (0x022 << 2)) ++#define AO_MF_IR_DEC_FIFO_CTL (0xff808000 + (0x023 << 2)) ++#define SEC_AO_MF_IR_DEC_FIFO_CTL (0xff808000 + (0x023 << 2)) ++#define P_AO_MF_IR_DEC_FIFO_CTL (volatile uint32_t *)(0xff808000 + (0x023 << 2)) ++#define AO_MF_IR_DEC_WIDTH_NEW (0xff808000 + (0x024 << 2)) ++#define SEC_AO_MF_IR_DEC_WIDTH_NEW (0xff808000 + (0x024 << 2)) ++#define P_AO_MF_IR_DEC_WIDTH_NEW (volatile uint32_t *)(0xff808000 + (0x024 << 2)) ++#define AO_MF_IR_DEC_REPEAT_DET (0xff808000 + (0x025 << 2)) ++#define SEC_AO_MF_IR_DEC_REPEAT_DET (0xff808000 + (0x025 << 2)) ++#define P_AO_MF_IR_DEC_REPEAT_DET (volatile uint32_t *)(0xff808000 + (0x025 << 2)) ++#define AO_IR_DEC_DEMOD_CNTL0 (0xff808000 + (0x030 << 2)) ++#define SEC_AO_IR_DEC_DEMOD_CNTL0 (0xff808000 + (0x030 << 2)) ++#define P_AO_IR_DEC_DEMOD_CNTL0 (volatile uint32_t *)(0xff808000 + (0x030 << 2)) ++#define AO_IR_DEC_DEMOD_CNTL1 (0xff808000 + (0x031 << 2)) ++#define SEC_AO_IR_DEC_DEMOD_CNTL1 (0xff808000 + (0x031 << 2)) ++#define P_AO_IR_DEC_DEMOD_CNTL1 (volatile uint32_t *)(0xff808000 + (0x031 << 2)) ++#define AO_IR_DEC_DEMOD_IIR_THD (0xff808000 + (0x032 << 2)) ++#define SEC_AO_IR_DEC_DEMOD_IIR_THD (0xff808000 + (0x032 << 2)) ++#define P_AO_IR_DEC_DEMOD_IIR_THD (volatile uint32_t *)(0xff808000 + (0x032 << 2)) ++#define AO_IR_DEC_DEMOD_THD0 (0xff808000 + (0x033 << 2)) ++#define SEC_AO_IR_DEC_DEMOD_THD0 (0xff808000 + (0x033 << 2)) ++#define P_AO_IR_DEC_DEMOD_THD0 (volatile uint32_t *)(0xff808000 + (0x033 << 2)) ++#define AO_IR_DEC_DEMOD_THD1 (0xff808000 + (0x034 << 2)) ++#define SEC_AO_IR_DEC_DEMOD_THD1 (0xff808000 + (0x034 << 2)) ++#define P_AO_IR_DEC_DEMOD_THD1 (volatile uint32_t *)(0xff808000 + (0x034 << 2)) ++#define AO_IR_DEC_DEMOD_SUM_CNT0 (0xff808000 + (0x035 << 2)) ++#define SEC_AO_IR_DEC_DEMOD_SUM_CNT0 (0xff808000 + (0x035 << 2)) ++#define P_AO_IR_DEC_DEMOD_SUM_CNT0 (volatile uint32_t *)(0xff808000 + (0x035 << 2)) ++#define AO_IR_DEC_DEMOD_SUM_CNT1 (0xff808000 + (0x036 << 2)) ++#define SEC_AO_IR_DEC_DEMOD_SUM_CNT1 (0xff808000 + (0x036 << 2)) ++#define P_AO_IR_DEC_DEMOD_SUM_CNT1 (volatile uint32_t *)(0xff808000 + (0x036 << 2)) ++#define AO_IR_DEC_DEMOD_CNT0 (0xff808000 + (0x037 << 2)) ++#define SEC_AO_IR_DEC_DEMOD_CNT0 (0xff808000 + (0x037 << 2)) ++#define P_AO_IR_DEC_DEMOD_CNT0 (volatile uint32_t *)(0xff808000 + (0x037 << 2)) ++#define AO_IR_DEC_DEMOD_CNT1 (0xff808000 + (0x038 << 2)) ++#define SEC_AO_IR_DEC_DEMOD_CNT1 (0xff808000 + (0x038 << 2)) ++#define P_AO_IR_DEC_DEMOD_CNT1 (volatile uint32_t *)(0xff808000 + (0x038 << 2)) ++// --------------------------- ++// SAR ADC ++// --------------------------- ++//#define AO_SAR_ADC_REG_BASE 0x09 ++// APB4_DECODER_NON_SECURE_BASE 32'hFF809000 ++// APB4_DECODER_SECURE_BASE 32'hFF809000 ++#define AO_SAR_ADC_REG0 (0xff809000 + (0x000 << 2)) ++#define SEC_AO_SAR_ADC_REG0 (0xff809000 + (0x000 << 2)) ++#define P_AO_SAR_ADC_REG0 (volatile uint32_t *)(0xff809000 + (0x000 << 2)) ++#define AO_SAR_ADC_CHAN_LIST (0xff809000 + (0x001 << 2)) ++#define SEC_AO_SAR_ADC_CHAN_LIST (0xff809000 + (0x001 << 2)) ++#define P_AO_SAR_ADC_CHAN_LIST (volatile uint32_t *)(0xff809000 + (0x001 << 2)) ++#define AO_SAR_ADC_AVG_CNTL (0xff809000 + (0x002 << 2)) ++#define SEC_AO_SAR_ADC_AVG_CNTL (0xff809000 + (0x002 << 2)) ++#define P_AO_SAR_ADC_AVG_CNTL (volatile uint32_t *)(0xff809000 + (0x002 << 2)) ++#define AO_SAR_ADC_REG3 (0xff809000 + (0x003 << 2)) ++#define SEC_AO_SAR_ADC_REG3 (0xff809000 + (0x003 << 2)) ++#define P_AO_SAR_ADC_REG3 (volatile uint32_t *)(0xff809000 + (0x003 << 2)) ++#define AO_SAR_ADC_DELAY (0xff809000 + (0x004 << 2)) ++#define SEC_AO_SAR_ADC_DELAY (0xff809000 + (0x004 << 2)) ++#define P_AO_SAR_ADC_DELAY (volatile uint32_t *)(0xff809000 + (0x004 << 2)) ++#define AO_SAR_ADC_LAST_RD (0xff809000 + (0x005 << 2)) ++#define SEC_AO_SAR_ADC_LAST_RD (0xff809000 + (0x005 << 2)) ++#define P_AO_SAR_ADC_LAST_RD (volatile uint32_t *)(0xff809000 + (0x005 << 2)) ++#define AO_SAR_ADC_FIFO_RD (0xff809000 + (0x006 << 2)) ++#define SEC_AO_SAR_ADC_FIFO_RD (0xff809000 + (0x006 << 2)) ++#define P_AO_SAR_ADC_FIFO_RD (volatile uint32_t *)(0xff809000 + (0x006 << 2)) ++#define AO_SAR_ADC_AUX_SW (0xff809000 + (0x007 << 2)) ++#define SEC_AO_SAR_ADC_AUX_SW (0xff809000 + (0x007 << 2)) ++#define P_AO_SAR_ADC_AUX_SW (volatile uint32_t *)(0xff809000 + (0x007 << 2)) ++#define AO_SAR_ADC_CHAN_10_SW (0xff809000 + (0x008 << 2)) ++#define SEC_AO_SAR_ADC_CHAN_10_SW (0xff809000 + (0x008 << 2)) ++#define P_AO_SAR_ADC_CHAN_10_SW (volatile uint32_t *)(0xff809000 + (0x008 << 2)) ++#define AO_SAR_ADC_DETECT_IDLE_SW (0xff809000 + (0x009 << 2)) ++#define SEC_AO_SAR_ADC_DETECT_IDLE_SW (0xff809000 + (0x009 << 2)) ++#define P_AO_SAR_ADC_DETECT_IDLE_SW (volatile uint32_t *)(0xff809000 + (0x009 << 2)) ++#define AO_SAR_ADC_DELTA_10 (0xff809000 + (0x00a << 2)) ++#define SEC_AO_SAR_ADC_DELTA_10 (0xff809000 + (0x00a << 2)) ++#define P_AO_SAR_ADC_DELTA_10 (volatile uint32_t *)(0xff809000 + (0x00a << 2)) ++#define AO_SAR_ADC_REG11 (0xff809000 + (0x00b << 2)) ++#define SEC_AO_SAR_ADC_REG11 (0xff809000 + (0x00b << 2)) ++#define P_AO_SAR_ADC_REG11 (volatile uint32_t *)(0xff809000 + (0x00b << 2)) ++#define AO_SAR_ADC_REG12 (0xff809000 + (0x00c << 2)) ++#define SEC_AO_SAR_ADC_REG12 (0xff809000 + (0x00c << 2)) ++#define P_AO_SAR_ADC_REG12 (volatile uint32_t *)(0xff809000 + (0x00c << 2)) ++#define AO_SAR_ADC_REG13 (0xff809000 + (0x00d << 2)) ++#define SEC_AO_SAR_ADC_REG13 (0xff809000 + (0x00d << 2)) ++#define P_AO_SAR_ADC_REG13 (volatile uint32_t *)(0xff809000 + (0x00d << 2)) ++#define AO_SAR_ADC_CHNL01 (0xff809000 + (0x00e << 2)) ++#define SEC_AO_SAR_ADC_CHNL01 (0xff809000 + (0x00e << 2)) ++#define P_AO_SAR_ADC_CHNL01 (volatile uint32_t *)(0xff809000 + (0x00e << 2)) ++#define AO_SAR_ADC_CHNL23 (0xff809000 + (0x00f << 2)) ++#define SEC_AO_SAR_ADC_CHNL23 (0xff809000 + (0x00f << 2)) ++#define P_AO_SAR_ADC_CHNL23 (volatile uint32_t *)(0xff809000 + (0x00f << 2)) ++#define AO_SAR_ADC_CHNL45 (0xff809000 + (0x010 << 2)) ++#define SEC_AO_SAR_ADC_CHNL45 (0xff809000 + (0x010 << 2)) ++#define P_AO_SAR_ADC_CHNL45 (volatile uint32_t *)(0xff809000 + (0x010 << 2)) ++#define AO_SAR_ADC_CHNL67 (0xff809000 + (0x011 << 2)) ++#define SEC_AO_SAR_ADC_CHNL67 (0xff809000 + (0x011 << 2)) ++#define P_AO_SAR_ADC_CHNL67 (volatile uint32_t *)(0xff809000 + (0x011 << 2)) ++// --------------------------- ++// MAIL BOX (M3/M4) ++// --------------------------- ++//#define AO_MAILBOX_REG_BASE 0x0a ++// APB4_DECODER_NON_SECURE_BASE 32'hFF80a000 ++// APB4_DECODER_SECURE_BASE 32'hFF80a000 ++#define AO_MAILBOX_SET_0 (0xff80a000 + (0x001 << 2)) ++#define SEC_AO_MAILBOX_SET_0 (0xff80a000 + (0x001 << 2)) ++#define P_AO_MAILBOX_SET_0 (volatile uint32_t *)(0xff80a000 + (0x001 << 2)) ++#define AO_MAILBOX_STAT_0 (0xff80a000 + (0x002 << 2)) ++#define SEC_AO_MAILBOX_STAT_0 (0xff80a000 + (0x002 << 2)) ++#define P_AO_MAILBOX_STAT_0 (volatile uint32_t *)(0xff80a000 + (0x002 << 2)) ++#define AO_MAILBOX_CLR_0 (0xff80a000 + (0x003 << 2)) ++#define SEC_AO_MAILBOX_CLR_0 (0xff80a000 + (0x003 << 2)) ++#define P_AO_MAILBOX_CLR_0 (volatile uint32_t *)(0xff80a000 + (0x003 << 2)) ++#define AO_MAILBOX_SET_1 (0xff80a000 + (0x004 << 2)) ++#define SEC_AO_MAILBOX_SET_1 (0xff80a000 + (0x004 << 2)) ++#define P_AO_MAILBOX_SET_1 (volatile uint32_t *)(0xff80a000 + (0x004 << 2)) ++#define AO_MAILBOX_STAT_1 (0xff80a000 + (0x005 << 2)) ++#define SEC_AO_MAILBOX_STAT_1 (0xff80a000 + (0x005 << 2)) ++#define P_AO_MAILBOX_STAT_1 (volatile uint32_t *)(0xff80a000 + (0x005 << 2)) ++#define AO_MAILBOX_CLR_1 (0xff80a000 + (0x006 << 2)) ++#define SEC_AO_MAILBOX_CLR_1 (0xff80a000 + (0x006 << 2)) ++#define P_AO_MAILBOX_CLR_1 (volatile uint32_t *)(0xff80a000 + (0x006 << 2)) ++#define AO_MAILBOX_SET_2 (0xff80a000 + (0x007 << 2)) ++#define SEC_AO_MAILBOX_SET_2 (0xff80a000 + (0x007 << 2)) ++#define P_AO_MAILBOX_SET_2 (volatile uint32_t *)(0xff80a000 + (0x007 << 2)) ++#define AO_MAILBOX_STAT_2 (0xff80a000 + (0x008 << 2)) ++#define SEC_AO_MAILBOX_STAT_2 (0xff80a000 + (0x008 << 2)) ++#define P_AO_MAILBOX_STAT_2 (volatile uint32_t *)(0xff80a000 + (0x008 << 2)) ++#define AO_MAILBOX_CLR_2 (0xff80a000 + (0x009 << 2)) ++#define SEC_AO_MAILBOX_CLR_2 (0xff80a000 + (0x009 << 2)) ++#define P_AO_MAILBOX_CLR_2 (volatile uint32_t *)(0xff80a000 + (0x009 << 2)) ++#define AO_MAILBOX_SET_3 (0xff80a000 + (0x00a << 2)) ++#define SEC_AO_MAILBOX_SET_3 (0xff80a000 + (0x00a << 2)) ++#define P_AO_MAILBOX_SET_3 (volatile uint32_t *)(0xff80a000 + (0x00a << 2)) ++#define AO_MAILBOX_STAT_3 (0xff80a000 + (0x00b << 2)) ++#define SEC_AO_MAILBOX_STAT_3 (0xff80a000 + (0x00b << 2)) ++#define P_AO_MAILBOX_STAT_3 (volatile uint32_t *)(0xff80a000 + (0x00b << 2)) ++#define AO_MAILBOX_CLR_3 (0xff80a000 + (0x00c << 2)) ++#define SEC_AO_MAILBOX_CLR_3 (0xff80a000 + (0x00c << 2)) ++#define P_AO_MAILBOX_CLR_3 (volatile uint32_t *)(0xff80a000 + (0x00c << 2)) ++// --------------------------- ++// RTC (4) ++// --------------------------- ++// Moved to the secure APB3 bus ++// `define AO_RTC_ADDR0 8'hd0 ++// `define AO_RTC_ADDR1 8'hd1 ++// `define AO_RTC_ADDR2 8'hd2 ++// `define AO_RTC_ADDR3 8'hd3 ++// `define AO_RTC_ADDR4 8'hd4 ++// ++// Closing file: ./ao_rti_reg.h ++// ++ ++#define P_DMA_T0 (volatile uint32_t *)0xff63e000 ++#define P_DMA_T1 (volatile uint32_t *)0xff63e004 ++#define P_DMA_T2 (volatile uint32_t *)0xff63e008 ++#define P_DMA_T3 (volatile uint32_t *)0xff63e00c ++#define P_DMA_T4 (volatile uint32_t *)0xff63e010 ++#define P_DMA_T5 (volatile uint32_t *)0xff63e014 ++#define P_DMA_STS0 (volatile uint32_t *)0xff63e020 ++#define P_DMA_STS1 (volatile uint32_t *)0xff63e024 ++#define P_DMA_STS2 (volatile uint32_t *)0xff63e028 ++#define P_DMA_STS3 (volatile uint32_t *)0xff63e02c ++#define P_DMA_STS4 (volatile uint32_t *)0xff63e030 ++#define P_DMA_STS5 (volatile uint32_t *)0xff63e034 ++#define P_DMA_CFG (volatile uint32_t *)0xff63e040 ++#define P_DMA_SEC (volatile uint32_t *)0xff63e044 ++ ++#endif // SECURE_APB_H ++ ++ +diff --git a/include/amlogic/auge_sound.h b/include/amlogic/auge_sound.h +new file mode 100644 +index 00000000000..2defa8018ab +--- /dev/null ++++ b/include/amlogic/auge_sound.h +@@ -0,0 +1,24 @@ ++/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ ++/* ++ * include/amlogic/auge_sound.h ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the named License, ++ * or any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ */ ++ ++#ifndef __AUGE_SOUND_H__ ++#define __AUGE_SOUND_H__ ++ ++/* auge audio register is defined in asm/arch/secure_apb.h */ ++ ++int aml_audio_init(void); ++ ++#endif +diff --git a/include/amlogic/blxx2bl33_param.h b/include/amlogic/blxx2bl33_param.h +new file mode 100644 +index 00000000000..b2a5304e148 +--- /dev/null ++++ b/include/amlogic/blxx2bl33_param.h +@@ -0,0 +1,27 @@ ++#ifndef __BLXX2BL33_PARAM_H__ ++#define __BLXX2BL33_PARAM_H__ ++#include ++ ++/* !!! don't try to modify the Micro unless make a consistency with blxx */ ++ ++#define BL2E2BL33_PARAM_START (0x0e00000) ++#define BL2E2BL33_PARAM_END (0x1000000) ++ ++#define BLXX2BL33_PARAM_DEBUG (0) ++ ++/* define the parameter type here and make sure the same with blxx */ ++enum { ++ STORAGE_PARAM_TPYE = 1, ++ BL2PARMA_PARAM_TYPE = 2, ++ /* other */ ++}; ++ ++struct param_e { ++ unsigned int type; ++ unsigned int len; /* must be 8 bytes align */ ++ unsigned char data[1]; /* user defined parameter */ ++}; ++ ++struct param_e *param_of(int type); ++ ++#endif +\ No newline at end of file +diff --git a/include/amlogic/canvas.h b/include/amlogic/canvas.h +new file mode 100644 +index 00000000000..dc9ed10f022 +--- /dev/null ++++ b/include/amlogic/canvas.h +@@ -0,0 +1,68 @@ ++/* ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++*/ ++ ++#ifndef CANVAS_H ++#define CANVAS_H ++ ++#define CANVAS_ADDR_LMASK 0x1fffffff ++#define CANVAS_WIDTH_LMASK 0x7 ++#define CANVAS_WIDTH_LWID 3 ++#define CANVAS_WIDTH_LBIT 29 ++ ++#define CANVAS_WIDTH_HMASK 0x1ff ++#define CANVAS_WIDTH_HBIT 0 ++#define CANVAS_HEIGHT_MASK 0x1fff ++#define CANVAS_HEIGHT_BIT 9 ++#define CANVAS_YWRAP (1<<23) ++#define CANVAS_XWRAP (1<<22) ++#define CANVAS_ADDR_NOWRAP 0x00 ++#define CANVAS_ADDR_WRAPX 0x01 ++#define CANVAS_ADDR_WRAPY 0x02 ++#define CANVAS_BLKMODE_MASK 3 ++#define CANVAS_BLKMODE_BIT 24 ++#define CANVAS_BLKMODE_LINEAR 0x00 ++#define CANVAS_BLKMODE_32X32 0x01 ++#define CANVAS_BLKMODE_64X32 0x02 ++ ++#define CANVAS_LUT_INDEX_BIT 0 ++#define CANVAS_LUT_INDEX_MASK 0x7 ++#define CANVAS_LUT_WR_EN (0x2 << 8) ++#define CANVAS_LUT_RD_EN (0x1 << 8) ++ ++typedef struct { ++ ulong addr; ++ u32 width; ++ u32 height; ++ u32 wrap; ++ u32 blkmode; ++} canvas_t; ++ ++#define OSD1_CANVAS_INDEX 0x40 ++#define OSD2_CANVAS_INDEX 0x43 ++ ++extern void canvas_init(void); ++ ++extern void canvas_config(u32 index, ulong addr, u32 width, ++ u32 height, u32 wrap, u32 blkmode); ++ ++extern void canvas_read(u32 index, canvas_t *p); ++ ++extern void canvas_copy(unsigned src, unsigned dst); ++ ++extern void canvas_update_addr(u32 index, u32 addr); ++ ++extern unsigned int canvas_get_addr(u32 index); ++ ++#endif /* CANVAS_H */ +diff --git a/include/amlogic/color.h b/include/amlogic/color.h +new file mode 100644 +index 00000000000..9839d119997 +--- /dev/null ++++ b/include/amlogic/color.h +@@ -0,0 +1,51 @@ ++/* ++ * include/linux/amlogic/vout/color.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++*/ ++ ++ ++#ifndef _COLOR_H_ ++#define _COLOR_H_ ++ ++enum color_index_e { ++ COLOR_INDEX_NULL = 0, ++ COLOR_INDEX_02_PAL4 = 2, ++ COLOR_INDEX_04_PAL16 = 4, ++ COLOR_INDEX_08_PAL256 = 8, ++ COLOR_INDEX_16_655 = 9, ++ COLOR_INDEX_16_844 = 10, ++ COLOR_INDEX_16_6442 = 11 , ++ COLOR_INDEX_16_4444_R = 12, ++ COLOR_INDEX_16_4642_R = 13, ++ COLOR_INDEX_16_1555_A = 14, ++ COLOR_INDEX_16_4444_A = 15, ++ COLOR_INDEX_16_565 = 16, ++ ++ COLOR_INDEX_24_6666_A = 19, ++ COLOR_INDEX_24_6666_R = 20, ++ COLOR_INDEX_24_8565 = 21, ++ COLOR_INDEX_24_5658 = 22, ++ COLOR_INDEX_24_888_B = 23, ++ COLOR_INDEX_24_RGB = 24, ++ ++ COLOR_INDEX_32_BGRA = 29, ++ COLOR_INDEX_32_ABGR = 30, ++ COLOR_INDEX_32_RGBA = 31, ++ COLOR_INDEX_32_ARGB = 32, ++ ++ COLOR_INDEX_YUV_422 = 33, ++}; ++ ++#endif +diff --git a/include/amlogic/cpu_id.h b/include/amlogic/cpu_id.h +new file mode 100644 +index 00000000000..588c131262d +--- /dev/null ++++ b/include/amlogic/cpu_id.h +@@ -0,0 +1,90 @@ ++/* ++ * include/amlogic/cpu_id.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#define MESON_CPU_MAJOR_ID_M6 0x16 ++#define MESON_CPU_MAJOR_ID_M6TV 0x17 ++#define MESON_CPU_MAJOR_ID_M6TVL 0x18 ++#define MESON_CPU_MAJOR_ID_M8 0x19 ++#define MESON_CPU_MAJOR_ID_MTVD 0x1A ++#define MESON_CPU_MAJOR_ID_M8B 0x1B ++#define MESON_CPU_MAJOR_ID_MG9TV 0x1C ++#define MESON_CPU_MAJOR_ID_M8M2 0x1D ++#define MESON_CPU_MAJOR_ID_GXBB 0x1F ++#define MESON_CPU_MAJOR_ID_GXTVBB 0x20 ++#define MESON_CPU_MAJOR_ID_GXL 0x21 ++#define MESON_CPU_MAJOR_ID_GXM 0x22 ++#define MESON_CPU_MAJOR_ID_TXL 0x23 ++#define MESON_CPU_MAJOR_ID_TXLX 0x24 ++#define MESON_CPU_MAJOR_ID_AXG 0x25 ++#define MESON_CPU_MAJOR_ID_GXLX 0x26 ++#define MESON_CPU_MAJOR_ID_TXHD 0x27 ++#define MESON_CPU_MAJOR_ID_G12A 0x28 ++#define MESON_CPU_MAJOR_ID_G12B 0x29 ++#define MESON_CPU_MAJOR_ID_SM1 0x2B ++#define MESON_CPU_MAJOR_ID_A1 0x2C ++#define MESON_CPU_MAJOR_ID_TL1 0x2E ++#define MESON_CPU_MAJOR_ID_TM2 0x2F ++#define MESON_CPU_MAJOR_ID_C1 0x30 ++#define MESON_CPU_MAJOR_ID_SC2 0x32 ++#define MESON_CPU_MAJOR_ID_C2 0x33 ++ ++ ++#define MESON_CPU_PACKAGE_ID_905D 0X00 ++#define MESON_CPU_PACKAGE_ID_905M 0x20 ++#define MESON_CPU_PACKAGE_ID_905X 0X80 ++#define MESON_CPU_PACKAGE_ID_905L 0XC0 ++#define MESON_CPU_PACKAGE_ID_905M2 0XE0 ++ ++#define MESON_CPU_PACKAGE_ID_T962X 0x10 ++#define MESON_CPU_PACKAGE_ID_T962E 0x20 ++ ++#define MESON_CPU_PACKAGE_ID_A113X 0x37 ++#define MESON_CPU_PACKAGE_ID_A113D 0xD0 ++ ++#define MESON_CPU_CHIP_REVISION_A 0xA ++#define MESON_CPU_CHIP_REVISION_B 0xB ++#define MESON_CPU_CHIP_REVISION_C 0xC ++#define MESON_CPU_CHIP_REVISION_D 0xD ++ ++typedef struct cpu_id { ++ unsigned int family_id:8; ++ unsigned int package_id:8; ++ unsigned int chip_rev:8; //RevA/RevB etc. ++ unsigned int reserve:4; ++ unsigned int layout_ver:4; ++} cpu_id_t; ++ ++typedef struct chip_id { ++ unsigned int version; ++ unsigned char chipid[16]; ++} chip_id_t; ++ ++cpu_id_t get_cpu_id(void); ++ ++extern chip_id_t aml_chip_id; ++int get_chip_id(unsigned char *buff, unsigned int size); ++ ++/** ++ * TODO: Remove this API after move static system information to RO ++ * register or SRAM ++ * ++ * Should *NOT* call this API directly, always use get_chip_id() ++ */ ++int __get_chip_id(unsigned char *buff, unsigned int size); +diff --git a/include/amlogic/enc_clk_config.h b/include/amlogic/enc_clk_config.h +new file mode 100644 +index 00000000000..8b137891791 +--- /dev/null ++++ b/include/amlogic/enc_clk_config.h +@@ -0,0 +1 @@ ++ +diff --git a/include/amlogic/fb.h b/include/amlogic/fb.h +new file mode 100644 +index 00000000000..d19e96928e5 +--- /dev/null ++++ b/include/amlogic/fb.h +@@ -0,0 +1,399 @@ ++#ifndef _LINUX_FB_H ++#define _LINUX_FB_H ++ ++/* Definitions of frame buffers */ ++ ++#define FB_MAX 32 /* sufficient for now */ ++ ++/* ioctls ++ 0x46 is 'F' */ ++#define FBIOGET_VSCREENINFO 0x4600 ++#define FBIOPUT_VSCREENINFO 0x4601 ++#define FBIOGET_FSCREENINFO 0x4602 ++#define FBIOGETCMAP 0x4604 ++#define FBIOPUTCMAP 0x4605 ++#define FBIOPAN_DISPLAY 0x4606 ++#ifdef __KERNEL__ ++#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor_user) ++#else ++#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor) ++#endif ++/* 0x4607-0x460B are defined below */ ++/* #define FBIOGET_MONITORSPEC 0x460C */ ++/* #define FBIOPUT_MONITORSPEC 0x460D */ ++/* #define FBIOSWITCH_MONIBIT 0x460E */ ++#define FBIOGET_CON2FBMAP 0x460F ++#define FBIOPUT_CON2FBMAP 0x4610 ++#define FBIOBLANK 0x4611 /* arg: 0 or vesa level + 1 */ ++#define FBIOGET_VBLANK _IOR('F', 0x12, struct fb_vblank) ++#define FBIO_ALLOC 0x4613 ++#define FBIO_FREE 0x4614 ++#define FBIOGET_GLYPH 0x4615 ++#define FBIOGET_HWCINFO 0x4616 ++#define FBIOPUT_MODEINFO 0x4617 ++#define FBIOGET_DISPINFO 0x4618 ++ ++ ++#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */ ++#define FB_TYPE_PLANES 1 /* Non interleaved planes */ ++#define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */ ++#define FB_TYPE_TEXT 3 /* Text/attributes */ ++#define FB_TYPE_VGA_PLANES 4 /* EGA/VGA planes */ ++ ++#define FB_AUX_TEXT_MDA 0 /* Monochrome text */ ++#define FB_AUX_TEXT_CGA 1 /* CGA/EGA/VGA Color text */ ++#define FB_AUX_TEXT_S3_MMIO 2 /* S3 MMIO fasttext */ ++#define FB_AUX_TEXT_MGA_STEP16 3 /* MGA Millenium I: text, attr, 14 reserved bytes */ ++#define FB_AUX_TEXT_MGA_STEP8 4 /* other MGAs: text, attr, 6 reserved bytes */ ++#define FB_AUX_TEXT_SVGA_GROUP 8 /* 8-15: SVGA tileblit compatible modes */ ++#define FB_AUX_TEXT_SVGA_MASK 7 /* lower three bits says step */ ++#define FB_AUX_TEXT_SVGA_STEP2 8 /* SVGA text mode: text, attr */ ++#define FB_AUX_TEXT_SVGA_STEP4 9 /* SVGA text mode: text, attr, 2 reserved bytes */ ++#define FB_AUX_TEXT_SVGA_STEP8 10 /* SVGA text mode: text, attr, 6 reserved bytes */ ++#define FB_AUX_TEXT_SVGA_STEP16 11 /* SVGA text mode: text, attr, 14 reserved bytes */ ++#define FB_AUX_TEXT_SVGA_LAST 15 /* reserved up to 15 */ ++ ++#define FB_AUX_VGA_PLANES_VGA4 0 /* 16 color planes (EGA/VGA) */ ++#define FB_AUX_VGA_PLANES_CFB4 1 /* CFB4 in planes (VGA) */ ++#define FB_AUX_VGA_PLANES_CFB8 2 /* CFB8 in planes (VGA) */ ++ ++#define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */ ++#define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */ ++#define FB_VISUAL_TRUECOLOR 2 /* True color */ ++#define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */ ++#define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */ ++#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */ ++ ++#define FB_ACCEL_NONE 0 /* no hardware accelerator */ ++#define FB_ACCEL_ATARIBLITT 1 /* Atari Blitter */ ++#define FB_ACCEL_AMIGABLITT 2 /* Amiga Blitter */ ++#define FB_ACCEL_S3_TRIO64 3 /* Cybervision64 (S3 Trio64) */ ++#define FB_ACCEL_NCR_77C32BLT 4 /* RetinaZ3 (NCR 77C32BLT) */ ++#define FB_ACCEL_S3_VIRGE 5 /* Cybervision64/3D (S3 ViRGE) */ ++#define FB_ACCEL_ATI_MACH64GX 6 /* ATI Mach 64GX family */ ++#define FB_ACCEL_DEC_TGA 7 /* DEC 21030 TGA */ ++#define FB_ACCEL_ATI_MACH64CT 8 /* ATI Mach 64CT family */ ++#define FB_ACCEL_ATI_MACH64VT 9 /* ATI Mach 64CT family VT class */ ++#define FB_ACCEL_ATI_MACH64GT 10 /* ATI Mach 64CT family GT class */ ++#define FB_ACCEL_SUN_CREATOR 11 /* Sun Creator/Creator3D */ ++#define FB_ACCEL_SUN_CGSIX 12 /* Sun cg6 */ ++#define FB_ACCEL_SUN_LEO 13 /* Sun leo/zx */ ++#define FB_ACCEL_IMS_TWINTURBO 14 /* IMS Twin Turbo */ ++#define FB_ACCEL_3DLABS_PERMEDIA2 15 /* 3Dlabs Permedia 2 */ ++#define FB_ACCEL_MATROX_MGA2064W 16 /* Matrox MGA2064W (Millenium) */ ++#define FB_ACCEL_MATROX_MGA1064SG 17 /* Matrox MGA1064SG (Mystique) */ ++#define FB_ACCEL_MATROX_MGA2164W 18 /* Matrox MGA2164W (Millenium II) */ ++#define FB_ACCEL_MATROX_MGA2164W_AGP 19 /* Matrox MGA2164W (Millenium II) */ ++#define FB_ACCEL_MATROX_MGAG100 20 /* Matrox G100 (Productiva G100) */ ++#define FB_ACCEL_MATROX_MGAG200 21 /* Matrox G200 (Myst, Mill, ...) */ ++#define FB_ACCEL_SUN_CG14 22 /* Sun cgfourteen */ ++#define FB_ACCEL_SUN_BWTWO 23 /* Sun bwtwo */ ++#define FB_ACCEL_SUN_CGTHREE 24 /* Sun cgthree */ ++#define FB_ACCEL_SUN_TCX 25 /* Sun tcx */ ++#define FB_ACCEL_MATROX_MGAG400 26 /* Matrox G400 */ ++#define FB_ACCEL_NV3 27 /* nVidia RIVA 128 */ ++#define FB_ACCEL_NV4 28 /* nVidia RIVA TNT */ ++#define FB_ACCEL_NV5 29 /* nVidia RIVA TNT2 */ ++#define FB_ACCEL_CT_6555x 30 /* C&T 6555x */ ++#define FB_ACCEL_3DFX_BANSHEE 31 /* 3Dfx Banshee */ ++#define FB_ACCEL_ATI_RAGE128 32 /* ATI Rage128 family */ ++#define FB_ACCEL_IGS_CYBER2000 33 /* CyberPro 2000 */ ++#define FB_ACCEL_IGS_CYBER2010 34 /* CyberPro 2010 */ ++#define FB_ACCEL_IGS_CYBER5000 35 /* CyberPro 5000 */ ++#define FB_ACCEL_SIS_GLAMOUR 36 /* SiS 300/630/540 */ ++#define FB_ACCEL_3DLABS_PERMEDIA3 37 /* 3Dlabs Permedia 3 */ ++#define FB_ACCEL_ATI_RADEON 38 /* ATI Radeon family */ ++#define FB_ACCEL_I810 39 /* Intel 810/815 */ ++#define FB_ACCEL_SIS_GLAMOUR_2 40 /* SiS 315, 650, 740 */ ++#define FB_ACCEL_SIS_XABRE 41 /* SiS 330 ("Xabre") */ ++#define FB_ACCEL_I830 42 /* Intel 830M/845G/85x/865G */ ++#define FB_ACCEL_NV_10 43 /* nVidia Arch 10 */ ++#define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */ ++#define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */ ++#define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */ ++#define FB_ACCEL_XGI_VOLARI_V 47 /* XGI Volari V3XT, V5, V8 */ ++#define FB_ACCEL_XGI_VOLARI_Z 48 /* XGI Volari Z7 */ ++#define FB_ACCEL_OMAP1610 49 /* TI OMAP16xx */ ++#define FB_ACCEL_TRIDENT_TGUI 50 /* Trident TGUI */ ++#define FB_ACCEL_TRIDENT_3DIMAGE 51 /* Trident 3DImage */ ++#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */ ++#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */ ++#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */ ++#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */ ++#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */ ++#define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */ ++#define FB_ACCEL_NEOMAGIC_NM2097 93 /* NeoMagic NM2097 */ ++#define FB_ACCEL_NEOMAGIC_NM2160 94 /* NeoMagic NM2160 */ ++#define FB_ACCEL_NEOMAGIC_NM2200 95 /* NeoMagic NM2200 */ ++#define FB_ACCEL_NEOMAGIC_NM2230 96 /* NeoMagic NM2230 */ ++#define FB_ACCEL_NEOMAGIC_NM2360 97 /* NeoMagic NM2360 */ ++#define FB_ACCEL_NEOMAGIC_NM2380 98 /* NeoMagic NM2380 */ ++#define FB_ACCEL_PXA3XX 99 /* PXA3xx */ ++ ++#define FB_ACCEL_SAVAGE4 0x80 /* S3 Savage4 */ ++#define FB_ACCEL_SAVAGE3D 0x81 /* S3 Savage3D */ ++#define FB_ACCEL_SAVAGE3D_MV 0x82 /* S3 Savage3D-MV */ ++#define FB_ACCEL_SAVAGE2000 0x83 /* S3 Savage2000 */ ++#define FB_ACCEL_SAVAGE_MX_MV 0x84 /* S3 Savage/MX-MV */ ++#define FB_ACCEL_SAVAGE_MX 0x85 /* S3 Savage/MX */ ++#define FB_ACCEL_SAVAGE_IX_MV 0x86 /* S3 Savage/IX-MV */ ++#define FB_ACCEL_SAVAGE_IX 0x87 /* S3 Savage/IX */ ++#define FB_ACCEL_PROSAVAGE_PM 0x88 /* S3 ProSavage PM133 */ ++#define FB_ACCEL_PROSAVAGE_KM 0x89 /* S3 ProSavage KM133 */ ++#define FB_ACCEL_S3TWISTER_P 0x8a /* S3 Twister */ ++#define FB_ACCEL_S3TWISTER_K 0x8b /* S3 TwisterK */ ++#define FB_ACCEL_SUPERSAVAGE 0x8c /* S3 Supersavage */ ++#define FB_ACCEL_PROSAVAGE_DDR 0x8d /* S3 ProSavage DDR */ ++#define FB_ACCEL_PROSAVAGE_DDRK 0x8e /* S3 ProSavage DDR-K */ ++ ++struct fb_fix_screeninfo { ++ char id[16]; /* identification string eg "TT Builtin" */ ++ unsigned long smem_start; /* Start of frame buffer mem */ ++ /* (physical address) */ ++ __u32 smem_len; /* Length of frame buffer mem */ ++ __u32 type; /* see FB_TYPE_* */ ++ __u32 type_aux; /* Interleave for interleaved Planes */ ++ __u32 visual; /* see FB_VISUAL_* */ ++ __u16 xpanstep; /* zero if no hardware panning */ ++ __u16 ypanstep; /* zero if no hardware panning */ ++ __u16 ywrapstep; /* zero if no hardware ywrap */ ++ __u32 line_length; /* length of a line in bytes */ ++ unsigned long mmio_start; /* Start of Memory Mapped I/O */ ++ /* (physical address) */ ++ __u32 mmio_len; /* Length of Memory Mapped I/O */ ++ __u32 accel; /* Indicate to driver which */ ++ /* specific chip/card we have */ ++ __u16 reserved[3]; /* Reserved for future compatibility */ ++}; ++ ++/* Interpretation of offset for color fields: All offsets are from the right, ++ * inside a "pixel" value, which is exactly 'bits_per_pixel' wide (means: you ++ * can use the offset as right argument to <<). A pixel afterwards is a bit ++ * stream and is written to video memory as that unmodified. ++ * ++ * For pseudocolor: offset and length should be the same for all color ++ * components. Offset specifies the position of the least significant bit ++ * of the pallette index in a pixel value. Length indicates the number ++ * of available palette entries (i.e. # of entries = 1 << length). ++ */ ++struct fb_bitfield { ++ __u32 offset; /* beginning of bitfield */ ++ __u32 length; /* length of bitfield */ ++ __u32 msb_right; /* != 0 : Most significant bit is */ ++ /* right */ ++}; ++ ++#define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */ ++#define FB_NONSTD_REV_PIX_IN_B 2 /* order of pixels in each byte is reversed */ ++ ++#define FB_ACTIVATE_NOW 0 /* set values immediately (or vbl)*/ ++#define FB_ACTIVATE_NXTOPEN 1 /* activate on next open */ ++#define FB_ACTIVATE_TEST 2 /* don't set, round up impossible */ ++#define FB_ACTIVATE_MASK 15 ++ /* values */ ++#define FB_ACTIVATE_VBL 16 /* activate values on next vbl */ ++#define FB_CHANGE_CMAP_VBL 32 /* change colormap on vbl */ ++#define FB_ACTIVATE_ALL 64 /* change all VCs on this fb */ ++#define FB_ACTIVATE_FORCE 128 /* force apply even when no change*/ ++#define FB_ACTIVATE_INV_MODE 256 /* invalidate videomode */ ++ ++#define FB_ACCELF_TEXT 1 /* (OBSOLETE) see fb_info.flags and vc_mode */ ++ ++#define FB_SYNC_HOR_HIGH_ACT 1 /* horizontal sync high active */ ++#define FB_SYNC_VERT_HIGH_ACT 2 /* vertical sync high active */ ++#define FB_SYNC_EXT 4 /* external sync */ ++#define FB_SYNC_COMP_HIGH_ACT 8 /* composite sync high active */ ++#define FB_SYNC_BROADCAST 16 /* broadcast video timings */ ++ /* vtotal = 144d/288n/576i => PAL */ ++ /* vtotal = 121d/242n/484i => NTSC */ ++#define FB_SYNC_ON_GREEN 32 /* sync on green */ ++ ++#define FB_VMODE_NONINTERLACED 0 /* non interlaced */ ++#define FB_VMODE_INTERLACED 1 /* interlaced */ ++#define FB_VMODE_DOUBLE 2 /* double scan */ ++#define FB_VMODE_ODD_FLD_FIRST 4 /* interlaced: top line first */ ++#define FB_VMODE_MASK 255 ++ ++#define FB_VMODE_YWRAP 256 /* ywrap instead of panning */ ++#define FB_VMODE_SMOOTH_XPAN 512 /* smooth xpan possible (internally used) */ ++#define FB_VMODE_CONUPDATE 512 /* don't update x/yoffset */ ++ ++/* ++ * Display rotation support ++ */ ++#define FB_ROTATE_UR 0 ++#define FB_ROTATE_CW 1 ++#define FB_ROTATE_UD 2 ++#define FB_ROTATE_CCW 3 ++ ++#define PICOS2KHZ(a) (1000000000UL/(a)) ++#define KHZ2PICOS(a) (1000000000UL/(a)) ++ ++struct fb_var_screeninfo { ++ __u32 xres; /* visible resolution */ ++ __u32 yres; ++ __u32 xres_virtual; /* virtual resolution */ ++ __u32 yres_virtual; ++ __u32 xoffset; /* offset from virtual to visible */ ++ __u32 yoffset; /* resolution */ ++ ++ __u32 bits_per_pixel; /* guess what */ ++ __u32 grayscale; /* != 0 Graylevels instead of colors */ ++ ++ struct fb_bitfield red; /* bitfield in fb mem if true color, */ ++ struct fb_bitfield green; /* else only length is significant */ ++ struct fb_bitfield blue; ++ struct fb_bitfield transp; /* transparency */ ++ ++ __u32 nonstd; /* != 0 Non standard pixel format */ ++ ++ __u32 activate; /* see FB_ACTIVATE_* */ ++ ++ __u32 height; /* height of picture in mm */ ++ __u32 width; /* width of picture in mm */ ++ ++ __u32 accel_flags; /* (OBSOLETE) see fb_info.flags */ ++ ++ /* Timing: All values in pixclocks, except pixclock (of course) */ ++ __u32 pixclock; /* pixel clock in ps (pico seconds) */ ++ __u32 left_margin; /* time from sync to picture */ ++ __u32 right_margin; /* time from picture to sync */ ++ __u32 upper_margin; /* time from sync to picture */ ++ __u32 lower_margin; ++ __u32 hsync_len; /* length of horizontal sync */ ++ __u32 vsync_len; /* length of vertical sync */ ++ __u32 sync; /* see FB_SYNC_* */ ++ __u32 vmode; /* see FB_VMODE_* */ ++ __u32 rotate; /* angle we rotate counter clockwise */ ++ __u32 reserved[5]; /* Reserved for future compatibility */ ++}; ++ ++struct fb_cmap { ++ __u32 start; /* First entry */ ++ __u32 len; /* Number of entries */ ++ __u16 *red; /* Red values */ ++ __u16 *green; ++ __u16 *blue; ++ __u16 *transp; /* transparency, can be NULL */ ++}; ++ ++struct fb_con2fbmap { ++ __u32 console; ++ __u32 framebuffer; ++}; ++ ++/* VESA Blanking Levels */ ++#define VESA_NO_BLANKING 0 ++#define VESA_VSYNC_SUSPEND 1 ++#define VESA_HSYNC_SUSPEND 2 ++#define VESA_POWERDOWN 3 ++ ++#define CANVAS_ALIGNED(x) (((x) + 63) & ~63) ++ ++enum osd_index_e { ++ OSD1 = 0, ++ OSD2, ++ VIU2_OSD1 ++}; ++ ++enum { ++ /* screen: unblanked, hsync: on, vsync: on */ ++ FB_BLANK_UNBLANK = VESA_NO_BLANKING, ++ ++ /* screen: blanked, hsync: on, vsync: on */ ++ FB_BLANK_NORMAL = VESA_NO_BLANKING + 1, ++ ++ /* screen: blanked, hsync: on, vsync: off */ ++ FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1, ++ ++ /* screen: blanked, hsync: off, vsync: on */ ++ FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1, ++ ++ /* screen: blanked, hsync: off, vsync: off */ ++ FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1 ++}; ++ ++#define FB_VBLANK_VBLANKING 0x001 /* currently in a vertical blank */ ++#define FB_VBLANK_HBLANKING 0x002 /* currently in a horizontal blank */ ++#define FB_VBLANK_HAVE_VBLANK 0x004 /* vertical blanks can be detected */ ++#define FB_VBLANK_HAVE_HBLANK 0x008 /* horizontal blanks can be detected */ ++#define FB_VBLANK_HAVE_COUNT 0x010 /* global retrace counter is available */ ++#define FB_VBLANK_HAVE_VCOUNT 0x020 /* the vcount field is valid */ ++#define FB_VBLANK_HAVE_HCOUNT 0x040 /* the hcount field is valid */ ++#define FB_VBLANK_VSYNCING 0x080 /* currently in a vsync */ ++#define FB_VBLANK_HAVE_VSYNC 0x100 /* verical syncs can be detected */ ++ ++struct fb_vblank { ++ __u32 flags; /* FB_VBLANK flags */ ++ __u32 count; /* counter of retraces since boot */ ++ __u32 vcount; /* current scanline position */ ++ __u32 hcount; /* current scandot position */ ++ __u32 reserved[4]; /* reserved for future compatibility */ ++}; ++ ++/* Internal HW accel */ ++#define ROP_COPY 0 ++#define ROP_XOR 1 ++ ++struct fb_copyarea { ++ __u32 dx; ++ __u32 dy; ++ __u32 width; ++ __u32 height; ++ __u32 sx; ++ __u32 sy; ++}; ++ ++struct fb_fillrect { ++ __u32 dx; /* screen-relative */ ++ __u32 dy; ++ __u32 width; ++ __u32 height; ++ __u32 color; ++ __u32 rop; ++}; ++ ++struct fb_image { ++ __u32 dx; /* Where to place image */ ++ __u32 dy; ++ __u32 width; /* Size of image */ ++ __u32 height; ++ __u32 fg_color; /* Only used when a mono bitmap */ ++ __u32 bg_color; ++ __u8 depth; /* Depth of the image */ ++ const char *data; /* Pointer to image data */ ++ struct fb_cmap cmap; /* color map info */ ++}; ++ ++/* ++ * hardware cursor control ++ */ ++ ++#define FB_CUR_SETIMAGE 0x01 ++#define FB_CUR_SETPOS 0x02 ++#define FB_CUR_SETHOT 0x04 ++#define FB_CUR_SETCMAP 0x08 ++#define FB_CUR_SETSHAPE 0x10 ++#define FB_CUR_SETSIZE 0x20 ++#define FB_CUR_SETALL 0xFF ++ ++struct fbcurpos { ++ __u16 x, y; ++}; ++ ++struct fb_cursor { ++ __u16 set; /* what to set */ ++ __u16 enable; /* cursor on/off */ ++ __u16 rop; /* bitop operation */ ++ const char *mask; /* cursor mask bits */ ++ struct fbcurpos hot; /* cursor hot spot */ ++ struct fb_image image; /* Cursor image */ ++}; ++ ++#ifdef CONFIG_FB_BACKLIGHT ++/* Settings for the generic backlight code */ ++#define FB_BACKLIGHT_LEVELS 128 ++#define FB_BACKLIGHT_MAX 0xFF ++#endif ++ ++#endif /* _LINUX_FB_H */ +diff --git a/include/amlogic/instaboot.h b/include/amlogic/instaboot.h +new file mode 100644 +index 00000000000..cfcae9ef4a9 +--- /dev/null ++++ b/include/amlogic/instaboot.h +@@ -0,0 +1,24 @@ ++#ifndef __INSTABOOT_H_ ++#define __INSTABOOT_H_ ++ ++#define __NEW_UTS_LEN 64 ++ ++struct new_utsname { ++ char sysname[__NEW_UTS_LEN + 1]; ++ char nodename[__NEW_UTS_LEN + 1]; ++ char release[__NEW_UTS_LEN + 1]; ++ char version[__NEW_UTS_LEN + 1]; ++ char machine[__NEW_UTS_LEN + 1]; ++ char domainname[__NEW_UTS_LEN + 1]; ++}; ++ ++struct instaboot_info { ++ struct new_utsname uts; ++ unsigned int version_code; ++}; ++#define INSTABOOT_SIG "INSTABOOT" ++ ++extern int get_instaboot_header(struct instaboot_info* ib_info); ++extern int fdt_instaboot(void *fdt); ++ ++#endif /* __INSTABOOT_H_ */ +diff --git a/include/amlogic/jtag.h b/include/amlogic/jtag.h +new file mode 100644 +index 00000000000..c85c513721c +--- /dev/null ++++ b/include/amlogic/jtag.h +@@ -0,0 +1,61 @@ ++#ifndef __MESON_JTAG_H__ ++#define __MESON_JTAG_H__ ++ ++#define INVALID_ID -1 ++ ++/* ioctl command */ ++#define JTAG_CLRPINMUX 0 ++#define JTAG_SETPINMUX 1 ++#define JTAG_EANBLE 2 ++#define JTAG_DISABLE 3 ++ ++/* jtag type */ ++#define JTAG_A 0 ++#define JTAG_B 1 ++#define SWD_A 2 ++ ++/* core type */ ++#define AP 1 /* a35 a53 a72 ... */ ++#define SCP 2 /* m3 */ ++#define SP 3 /* m4 */ ++#define DSPA 4 /* dsp-a */ ++#define DSPB 5 /* dsp-b */ ++#define DIF 6 /* dif */ ++#define AOCPU 7 /* aocpu */ ++#define AUCPU 8 /* aucpu */ ++ ++/* ++ * bitmap for jtag select ID: ++ * ++ * |---|---|---|---|---|---|---|------|------| ++ * | 9 | 8 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ++ * |---|---|---|---|---|---|---|------|------| ++ * | core type | jtag type |cluster type | ++ * |---------------|-----------|-------------| ++ */ ++#define CORE_TYPE_SHIFT 5 ++#define JTAG_TYPE_SHIFT 2 ++#define CLUSTER_TYPE_SHIFT 0 ++ ++#define CORE_TYPE_MASK 0xf ++#define JTAG_TYPE_MASK 0x7 ++#define CLUSTER_TYPE_MASK 0x3 ++ ++#define JTAG_SELECT_ID(core_type, jtag_type, cluster_type) \ ++ (((core_type & CORE_TYPE_MASK) << CORE_TYPE_SHIFT) |\ ++ ((jtag_type & JTAG_TYPE_MASK) << JTAG_TYPE_SHIFT) |\ ++ ((cluster_type & CLUSTER_TYPE_MASK) << CLUSTER_TYPE_SHIFT)) ++ ++#define CLUSTER_TYPE_UPDATE(id, cluster_type) \ ++ ((id & (~(CLUSTER_TYPE_MASK))) | cluster_type) ++ ++#define CORE_TYPE_GET(id) \ ++ ((id >> CORE_TYPE_SHIFT) & CORE_TYPE_MASK) ++ ++#define JTAG_TYPE_GET(id) \ ++ ((id >> JTAG_TYPE_SHIFT) & JTAG_TYPE_MASK) ++ ++#define CLUSTER_TYPE_GET(id) \ ++ ((id >> CLUSTER_TYPE_SHIFT) & CLUSTER_TYPE_MASK) ++ ++#endif /*_MESON_JTAG_H_*/ +diff --git a/include/amlogic/keyunify.h b/include/amlogic/keyunify.h +new file mode 100644 +index 00000000000..c89865f574d +--- /dev/null ++++ b/include/amlogic/keyunify.h +@@ -0,0 +1,56 @@ ++/* ++ * \file keymanage.h ++ * \brief API from drivers/keymange ++ * ++ * \version 1.0.0 ++ * \date 15/07/7 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2015 Amlogic. All Rights Reserved. ++ * ++ */ ++#ifndef __KEYUNIFY_H__ ++#define __KEYUNIFY_H__ ++ ++//APIs of key_unify*: unify interfaces for nandkeys/emmckeys/efuse keys ++ ++int key_unify_init(const char* seednum, const char* dtbaddr); ++ ++int key_unify_uninit(void); ++ ++//keyType: user type to define how to parse/check the key value before burn to target ++int key_unify_write(const char* keyname, const void* keydata, const unsigned datalen); ++ ++int key_unify_read(const char* keyname, void* keydata, const unsigned bufLen); ++ ++int key_unify_query_size(const char* keyname, ssize_t* keysize); ++ ++int key_unify_query_exist(const char* keyname, int* exist); ++ ++int key_unify_query_secure(const char* keyname, int* isSecure); ++ ++int key_unify_query_canOverWrite(const char* keyname, int* canOverWrite); ++ ++//Does the key configured in dts ++int key_unify_query_key_has_configure(const char* keyname); ++ ++//Another APIs with APP concers, like special flower hdcp2 ++//These APIs are based on key_unify_* ++// ++int key_manage_init(const char* seednum, const char* dtbaddr); ++int key_manage_exit(void); ++ ++int key_manage_write(const char* keyname, const void* keydata, const unsigned datalen); ++ ++int key_manage_read(const char* keyname, void* keydata, const unsigned bufLen); ++ ++int key_manage_query_size(const char* keyname, ssize_t* keysize); ++ ++int key_manage_query_exist(const char* keyname, int* exist); ++ ++int key_manage_query_secure(const char* keyname, int* isSecure); ++ ++int key_manage_query_canOverWrite(const char* keyname, int* canOverWrite); ++ ++#endif// #ifndef __KEYUNIFY_H__ ++ +diff --git a/include/amlogic/media/vout/aml_cvbs.h b/include/amlogic/media/vout/aml_cvbs.h +new file mode 100644 +index 00000000000..e4d0687d9b2 +--- /dev/null ++++ b/include/amlogic/media/vout/aml_cvbs.h +@@ -0,0 +1,13 @@ ++#ifndef __INC_AML_CVBS_H__ ++#define __INC_AML_CVBS_H__ ++ ++void cvbs_init(void); ++void cvbs_show_valid_vmode(void); ++int cvbs_outputmode_check(char *vmode_name, unsigned int frac); ++int cvbs_set_vmode(char* vmode_name); ++int cvbs_set_bist(char* bist_mode); ++int cvbs_set_vdac(int status); ++int cvbs_reg_debug(int argc, char* const argv[]); ++ ++#endif ++ +diff --git a/include/amlogic/media/vout/aml_vinfo.h b/include/amlogic/media/vout/aml_vinfo.h +new file mode 100644 +index 00000000000..7a453b26d6c +--- /dev/null ++++ b/include/amlogic/media/vout/aml_vinfo.h +@@ -0,0 +1,148 @@ ++#ifndef __AML_VINFO_H_ ++#define __AML_VINFO_H_ ++ ++struct vinfo_s { ++ ushort width; /* Number of columns (i.e. 160) */ ++ ushort height; /* Number of rows (i.e. 100) */ ++ ushort field_height; /* for interlace */ ++ u_char vl_bpix; /* Bits per pixel, 0 = 1 */ ++ ++ void *vd_base; /* Start of framebuffer memory */ ++ ++ void *vd_console_address; /* Start of console buffer */ ++ short console_col; ++ short console_row; ++ ++ int vd_color_fg; ++ int vd_color_bg; ++ ++ ushort *cmap; /* Pointer to the colormap */ ++ void *priv; /* Pointer to driver-specific data */ ++}; ++ ++ ++/************************************************************************/ ++/* ** BITMAP DISPLAY SUPPORT */ ++/************************************************************************/ ++#if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN) ++# include ++# include ++#endif ++ ++/* ++ * Information about displays we are using. This is for configuring ++ * the LCD controller and memory allocation. Someone has to know what ++ * is connected, as we can't autodetect anything. ++ */ ++#define CONFIG_SYS_HIGH 0 /* Pins are active high */ ++#define CONFIG_SYS_LOW 1 /* Pins are active low */ ++ ++#define LCD_COLOR2 2 ++#define LCD_COLOR4 4 ++#define LCD_COLOR8 8 ++#define LCD_COLOR16 16 ++#define LCD_COLOR24 24 ++#define LCD_COLOR32 32 ++ ++ ++/*----------------------------------------------------------------------*/ ++#if defined(CONFIG_LCD_INFO_BELOW_LOGO) ++# define LCD_INFO_X 0 ++# define LCD_INFO_Y (BMP_LOGO_HEIGHT + VIDEO_FONT_HEIGHT) ++#elif defined(CONFIG_LCD_LOGO) ++# define LCD_INFO_X (BMP_LOGO_WIDTH + 4 * VIDEO_FONT_WIDTH) ++# define LCD_INFO_Y (VIDEO_FONT_HEIGHT) ++#else ++# define LCD_INFO_X (VIDEO_FONT_WIDTH) ++# define LCD_INFO_Y (VIDEO_FONT_HEIGHT) ++#endif ++ ++/* Calculate nr. of bits per pixel and nr. of colors */ ++#define NBITS(bit_code) (bit_code) ++#define NCOLORS(bit_code) (1 << NBITS(bit_code)) ++ ++/************************************************************************/ ++/* ** CONSOLE CONSTANTS */ ++/************************************************************************/ ++#if LCD_BPP == LCD_MONOCHROME ++ ++/* ++ * Simple black/white definitions ++ */ ++# define CONSOLE_COLOR_BLACK 0 ++# define CONSOLE_COLOR_WHITE 1 /* Must remain last / highest */ ++ ++#elif LCD_BPP == LCD_COLOR8 ++ ++/* ++ * 8bpp color definitions ++ */ ++# define CONSOLE_COLOR_BLACK 0 ++# define CONSOLE_COLOR_RED 1 ++# define CONSOLE_COLOR_GREEN 2 ++# define CONSOLE_COLOR_YELLOW 3 ++# define CONSOLE_COLOR_BLUE 4 ++# define CONSOLE_COLOR_MAGENTA 5 ++# define CONSOLE_COLOR_CYAN 6 ++# define CONSOLE_COLOR_GREY 14 ++# define CONSOLE_COLOR_WHITE 15 /* Must remain last / highest */ ++ ++#elif LCD_BPP == LCD_COLOR24 ++/* ++ * 24bpp color definitions ++ */ ++# define CONSOLE_COLOR_BLACK 0 ++# define CONSOLE_COLOR_RED 0x0000ff ++# define CONSOLE_COLOR_GREEN 0x00ff00 ++# define CONSOLE_COLOR_YELLOW 0x00ffff ++# define CONSOLE_COLOR_BLUE 0xff0000 ++# define CONSOLE_COLOR_MAGENTA 0xff00ff ++# define CONSOLE_COLOR_CYAN 0xffff00 ++# define CONSOLE_COLOR_GREY 0x808080 ++# define CONSOLE_COLOR_WHITE 0xffffff /* Must remain last / highest */ ++ ++#else ++ ++/* ++ * 16bpp color definitions ++ */ ++# define CONSOLE_COLOR_BLACK 0x0000 ++# define CONSOLE_COLOR_RED 0xf800 ++# define CONSOLE_COLOR_GREEN 0x07e0 ++# define CONSOLE_COLOR_YELLOW 0xffe0 ++# define CONSOLE_COLOR_BLUE 0x001f ++# define CONSOLE_COLOR_MAGENTA 0xf81f ++# define CONSOLE_COLOR_CYAN 0x07ff ++# define CONSOLE_COLOR_WHITE 0xffff /* Must remain last / highest */ ++ ++#endif /* color definitions */ ++ ++/************************************************************************/ ++#ifndef PAGE_SIZE ++# define PAGE_SIZE 4096 ++#endif ++ ++/************************************************************************/ ++/* ** CONSOLE DEFINITIONS & FUNCTIONS */ ++/************************************************************************/ ++#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO) ++# define CONSOLE_ROWS ((info->vl_row-BMP_LOGO_HEIGHT) \ ++ / VIDEO_FONT_HEIGHT) ++#else ++# define CONSOLE_ROWS (info->vl_row / VIDEO_FONT_HEIGHT) ++#endif ++ ++#define CONSOLE_COLS (panel_info.vl_col / VIDEO_FONT_WIDTH) ++#define CONSOLE_ROW_SIZE (VIDEO_FONT_HEIGHT * lcd_line_length) ++#define CONSOLE_ROW_FIRST (info->vd_console_address) ++#define CONSOLE_ROW_SECOND (info->vd_console_address + CONSOLE_ROW_SIZE) ++#define CONSOLE_ROW_LAST (info->vd_console_address + CONSOLE_SIZE \ ++ - CONSOLE_ROW_SIZE) ++#define CONSOLE_SIZE (CONSOLE_ROW_SIZE * CONSOLE_ROWS) ++#define CONSOLE_SCROLL_SIZE (CONSOLE_SIZE - CONSOLE_ROW_SIZE) ++ ++# define COLOR_MASK(c) (c) ++ ++/************************************************************************/ ++ ++#endif +diff --git a/include/amlogic/media/vout/aml_vmode.h b/include/amlogic/media/vout/aml_vmode.h +new file mode 100644 +index 00000000000..738bcd73b24 +--- /dev/null ++++ b/include/amlogic/media/vout/aml_vmode.h +@@ -0,0 +1,98 @@ ++ ++#ifndef __AML_VMODE_H_ ++#define __AML_VMODE_H_ ++ ++typedef enum vmode_e { ++ VMODE_480I = 0, ++ VMODE_480I_RPT, ++ VMODE_480CVBS, ++ VMODE_480P, ++ VMODE_480P_RPT, ++ VMODE_480P_120HZ, ++ VMODE_576I, ++ VMODE_576I_RPT, ++ VMODE_576CVBS, ++ VMODE_576P, ++ VMODE_576P_RPT, ++ VMODE_576P_100HZ, ++ VMODE_720P, ++ VMODE_768P, ++ VMODE_1080I, ++ VMODE_1080P, ++ VMODE_720P_50HZ, ++ VMODE_720P_100HZ, ++ VMODE_720P_120HZ, ++ VMODE_1080I_50HZ, ++ VMODE_1080I_100HZ, ++ VMODE_1080I_120HZ, ++ VMODE_1080P_30HZ, ++ VMODE_1080P_50HZ, ++ VMODE_1080P_25HZ, ++ VMODE_1080P_24HZ, ++ VMODE_1080P_100HZ, ++ VMODE_1080P_120HZ, ++ VMODE_4K2K_30HZ, ++ VMODE_4K2K_25HZ, ++ VMODE_4K2K_24HZ, ++ VMODE_4K2K_SMPTE, ++ VMODE_4K2K_SMPTE_25HZ, ++ VMODE_4K2K_SMPTE_30HZ, ++ VMODE_4K2K_SMPTE_50HZ, ++ VMODE_4K2K_SMPTE_60HZ, ++ VMODE_4K2K_SMPTE_50HZ_Y420, ++ VMODE_4K2K_SMPTE_60HZ_Y420, ++ VMODE_4K2K_FAKE_5G, ++ VMODE_4K2K_60HZ, ++ VMODE_4K2K_60HZ_Y420, ++ VMODE_4K2K_50HZ, ++ VMODE_4K2K_50HZ_Y420, ++ VMODE_4K2K_5G, ++ VMODE_4K1K_120HZ, ++ VMODE_4K1K_120HZ_Y420, ++ VMODE_4K1K_100HZ, ++ VMODE_4K1K_100HZ_Y420, ++ VMODE_4K05K_240HZ, ++ VMODE_4K05K_240HZ_Y420, ++ VMODE_4K05K_200HZ, ++ VMODE_4K05K_200HZ_Y420, ++ VMODE_640x480p60hz, ++ VMODE_800x480p60hz, ++ VMODE_800x600p60hz, ++ VMODE_852x480p60hz, ++ VMODE_854x480p60hz, ++ VMODE_1024x600p60hz, ++ VMODE_1024x768p60hz, ++ VMODE_1152x864p75hz, ++ VMODE_1280x600p60hz, ++ VMODE_1280x768p60hz, ++ VMODE_1280x800p60hz, ++ VMODE_1280x960p60hz, ++ VMODE_1280x1024p60hz, ++ VMODE_1360x768p60hz, ++ VMODE_1366x768p60hz, ++ VMODE_1400x1050p60hz, ++ VMODE_1440x900p60hz, ++ VMODE_1440x2560p60hz, ++ VMODE_1440x2560p70hz, ++ VMODE_1600x900p60hz, ++ VMODE_1600x1200p60hz, ++ VMODE_1680x1050p60hz, ++ VMODE_1920x1200p60hz, ++ VMODE_2160x1200p90hz, ++ VMODE_2560x1080p60hz, ++ VMODE_2560x1440p60hz, ++ VMODE_2560x1600p60hz, ++ VMODE_3440x1440p60hz, ++ VMODE_VGA, ++ VMODE_SVGA, ++ VMODE_XGA, ++ VMODE_SXGA, ++ VMODE_WSXGA, ++ VMODE_FHDVGA, ++ VMODE_LCD, ++ VMODE_MAX, ++ VMODE_INIT_NULL, ++ VMODE_MASK = 0xFF, ++} vmode_t; ++ ++#endif +diff --git a/include/amlogic/media/vout/aml_vout.h b/include/amlogic/media/vout/aml_vout.h +new file mode 100644 +index 00000000000..53448bfc1e0 +--- /dev/null ++++ b/include/amlogic/media/vout/aml_vout.h +@@ -0,0 +1,25 @@ ++#ifndef __AML_VOUT_H_ ++#define __AML_VOUT_H_ ++ ++#include ++ ++#define VOUT_VIU1_SEL 1 ++#define VOUT_VIU2_SEL 2 ++ ++enum viu_mux_e { ++ VIU_MUX_ENCL = 0, ++ VIU_MUX_ENCI, ++ VIU_MUX_ENCP, ++ VIU_MUX_MAX, ++}; ++ ++void vout_init(void); ++void vout_vinfo_dump(void); ++int vout_get_current_vmode(void); ++int vout_get_current_axis(int *axis); ++void vout_set_current_vmode(int mode); ++struct vinfo_s *vout_get_current_vinfo(void); ++void vout_viu_mux(int viu_sel, int venc_sel); ++extern unsigned long get_fb_addr(void); ++#endif ++ +diff --git a/include/amlogic/media/vout/hdmitx/hdmi_common.h b/include/amlogic/media/vout/hdmitx/hdmi_common.h +new file mode 100644 +index 00000000000..66fdedd1d62 +--- /dev/null ++++ b/include/amlogic/media/vout/hdmitx/hdmi_common.h +@@ -0,0 +1,655 @@ ++#ifndef __HDMI_COMMON_H__ ++#define __HDMI_COMMON_H__ ++ ++/* Little-Endian format */ ++enum scdc_addr { ++ SINK_VER = 0x01, ++ SOURCE_VER, /* RW */ ++ UPDATE_0 = 0x10, /* RW */ ++ UPDATE_1, /* RW */ ++ TMDS_CFG = 0x20, /* RW */ ++ SCRAMBLER_ST, ++ CONFIG_0 = 0x30, /* RW */ ++ STATUS_FLAGS_0 = 0x40, ++ STATUS_FLAGS_1, ++ ERR_DET_0_L = 0x50, ++ ERR_DET_0_H, ++ ERR_DET_1_L, ++ ERR_DET_1_H, ++ ERR_DET_2_L, ++ ERR_DET_2_H, ++ ERR_DET_CHKSUM, ++ TEST_CONFIG_0 = 0xC0, /* RW */ ++ MANUFACT_IEEE_OUI_2 = 0xD0, ++ MANUFACT_IEEE_OUI_1, ++ MANUFACT_IEEE_OUI_0, ++ DEVICE_ID = 0xD3, /* 0xD3 ~ 0xDD */ ++ /* RW 0xDE ~ 0xFF */ ++ MANUFACT_SPECIFIC = 0xDE, ++}; ++ ++#define HDMITX_VIC420_OFFSET 0x100 ++#define HDMITX_VESA_OFFSET 0x300 ++ ++/* HDMI VIC definitions */ ++enum hdmi_vic { ++ /* Refer to CEA 861-D */ ++ HDMI_unkown = 0, ++ HDMI_640x480p60_4x3 = 1, ++ HDMI_720x480p60_4x3 = 2, ++ HDMI_720x480p60_16x9 = 3, ++ HDMI_1280x720p60_16x9 = 4, ++ HDMI_1920x1080i60_16x9 = 5, ++ HDMI_720x480i60_4x3 = 6, ++ HDMI_720x480i60_16x9 = 7, ++ HDMI_720x240p60_4x3 = 8, ++ HDMI_720x240p60_16x9 = 9, ++ HDMI_2880x480i60_4x3 = 10, ++ HDMI_2880x480i60_16x9 = 11, ++ HDMI_2880x240p60_4x3 = 12, ++ HDMI_2880x240p60_16x9 = 13, ++ HDMI_1440x480p60_4x3 = 14, ++ HDMI_1440x480p60_16x9 = 15, ++ HDMI_1920x1080p60_16x9 = 16, ++ HDMI_720x576p50_4x3 = 17, ++ HDMI_720x576p50_16x9 = 18, ++ HDMI_1280x720p50_16x9 = 19, ++ HDMI_1920x1080i50_16x9 = 20, ++ HDMI_720x576i50_4x3 = 21, ++ HDMI_720x576i50_16x9 = 22, ++ HDMI_720x288p_4x3 = 23, ++ HDMI_720x288p_16x9 = 24, ++ HDMI_2880x576i50_4x3 = 25, ++ HDMI_2880x576i50_16x9 = 26, ++ HDMI_2880x288p50_4x3 = 27, ++ HDMI_2880x288p50_16x9 = 28, ++ HDMI_1440x576p_4x3 = 29, ++ HDMI_1440x576p_16x9 = 30, ++ HDMI_1920x1080p50_16x9 = 31, ++ HDMI_1920x1080p24_16x9 = 32, ++ HDMI_1920x1080p25_16x9 = 33, ++ HDMI_1920x1080p30_16x9 = 34, ++ HDMI_2880x480p60_4x3 = 35, ++ HDMI_2880x480p60_16x9 = 36, ++ HDMI_2880x576p50_4x3 = 37, ++ HDMI_2880x576p50_16x9 = 38, ++ HDMI_1920x1080i_t1250_50_16x9 = 39, ++ HDMI_1920x1080i100_16x9 = 40, ++ HDMI_1280x720p100_16x9 = 41, ++ HDMI_720x576p100_4x3 = 42, ++ HDMI_720x576p100_16x9 = 43, ++ HDMI_720x576i100_4x3 = 44, ++ HDMI_720x576i100_16x9 = 45, ++ HDMI_1920x1080i120_16x9 = 46, ++ HDMI_1280x720p120_16x9 = 47, ++ HDMI_720x480p120_4x3 = 48, ++ HDMI_720x480p120_16x9 = 49, ++ HDMI_720x480i120_4x3 = 50, ++ HDMI_720x480i120_16x9 = 51, ++ HDMI_720x576p200_4x3 = 52, ++ HDMI_720x576p200_16x9 = 53, ++ HDMI_720x576i200_4x3 = 54, ++ HDMI_720x576i200_16x9 = 55, ++ HDMI_720x480p240_4x3 = 56, ++ HDMI_720x480p240_16x9 = 57, ++ HDMI_720x480i240_4x3 = 58, ++ HDMI_720x480i240_16x9 = 59, ++ /* Refet to CEA 861-F */ ++ HDMI_1280x720p24_16x9 = 60, ++ HDMI_1280x720p25_16x9 = 61, ++ HDMI_1280x720p30_16x9 = 62, ++ HDMI_1920x1080p120_16x9 = 63, ++ HDMI_1920x1080p100_16x9 = 64, ++ HDMI_1280x720p24_64x27 = 65, ++ HDMI_1280x720p25_64x27 = 66, ++ HDMI_1280x720p30_64x27 = 67, ++ HDMI_1280x720p50_64x27 = 68, ++ HDMI_1280x720p60_64x27 = 69, ++ HDMI_1280x720p100_64x27 = 70, ++ HDMI_1280x720p120_64x27 = 71, ++ HDMI_1920x1080p24_64x27 = 72, ++ HDMI_1920x1080p25_64x27 = 73, ++ HDMI_1920x1080p30_64x27 = 74, ++ HDMI_1920x1080p50_64x27 = 75, ++ HDMI_1920x1080p60_64x27 = 76, ++ HDMI_1920x1080p100_64x27 = 77, ++ HDMI_1920x1080p120_64x27 = 78, ++ HDMI_1680x720p24_64x27 = 79, ++ HDMI_1680x720p25_64x27 = 80, ++ HDMI_1680x720p30_64x27 = 81, ++ HDMI_1680x720p50_64x27 = 82, ++ HDMI_1680x720p60_64x27 = 83, ++ HDMI_1680x720p100_64x27 = 84, ++ HDMI_1680x720p120_64x27 = 85, ++ HDMI_2560x1080p24_64x27 = 86, ++ HDMI_2560x1080p25_64x27 = 87, ++ HDMI_2560x1080p30_64x27 = 88, ++ HDMI_2560x1080p50_64x27 = 89, ++ HDMI_2560x1080p60_64x27 = 90, ++ HDMI_2560x1080p100_64x27 = 91, ++ HDMI_2560x1080p120_64x27 = 92, ++ HDMI_3840x2160p24_16x9 = 93, ++ HDMI_3840x2160p25_16x9 = 94, ++ HDMI_3840x2160p30_16x9 = 95, ++ HDMI_3840x2160p50_16x9 = 96, ++ HDMI_3840x2160p60_16x9 = 97, ++ HDMI_4096x2160p24_256x135 = 98, ++ HDMI_4096x2160p25_256x135 = 99, ++ HDMI_4096x2160p30_256x135 = 100, ++ HDMI_4096x2160p50_256x135 = 101, ++ HDMI_4096x2160p60_256x135 = 102, ++ HDMI_3840x2160p24_64x27 = 103, ++ HDMI_3840x2160p25_64x27 = 104, ++ HDMI_3840x2160p30_64x27 = 105, ++ HDMI_3840x2160p50_64x27 = 106, ++ HDMI_3840x2160p60_64x27 = 107, ++ HDMI_RESERVED = 108, ++ /* ++ the following vic is for those y420 mode ++ they are all beyond OFFSET_HDMITX_VIC420(0x1000) ++ and they has same vic with normal vic in the lower bytes. ++ */ ++ HDMI_VIC_Y420 = HDMITX_VIC420_OFFSET, ++ HDMI_3840x2160p50_16x9_Y420 = ++ HDMITX_VIC420_OFFSET + HDMI_3840x2160p50_16x9, ++ HDMI_3840x2160p60_16x9_Y420 = ++ HDMITX_VIC420_OFFSET + HDMI_3840x2160p60_16x9, ++ HDMI_4096x2160p50_256x135_Y420 = ++ HDMITX_VIC420_OFFSET + HDMI_4096x2160p50_256x135, ++ HDMI_4096x2160p60_256x135_Y420 = ++ HDMITX_VIC420_OFFSET + HDMI_4096x2160p60_256x135, ++ HDMI_3840x2160p50_64x27_Y420 = ++ HDMITX_VIC420_OFFSET + HDMI_3840x2160p50_64x27, ++ HDMI_3840x2160p60_64x27_Y420 = ++ HDMITX_VIC420_OFFSET + HDMI_3840x2160p60_64x27, ++ HDMIV_640x480p60hz = HDMITX_VESA_OFFSET, ++ HDMIV_800x480p60hz, ++ HDMIV_800x600p60hz, ++ HDMIV_852x480p60hz, ++ HDMIV_854x480p60hz, ++ HDMIV_1024x600p60hz, ++ HDMIV_1024x768p60hz, ++ HDMIV_1152x864p75hz, ++ HDMIV_1280x600p60hz, ++ HDMIV_1280x768p60hz, ++ HDMIV_1280x800p60hz, ++ HDMIV_1280x960p60hz, ++ HDMIV_1280x1024p60hz, ++ HDMIV_1360x768p60hz, ++ HDMIV_1366x768p60hz, ++ HDMIV_1400x1050p60hz, ++ HDMIV_1440x900p60hz, ++ HDMIV_1440x2560p60hz, ++ HDMIV_1440x2560p70hz, ++ HDMIV_1600x900p60hz, ++ HDMIV_1600x1200p60hz, ++ HDMIV_1680x1050p60hz, ++ HDMIV_1920x1200p60hz, ++ HDMIV_2160x1200p90hz, ++ HDMIV_2560x1080p60hz, ++ HDMIV_2560x1440p60hz, ++ HDMIV_2560x1600p60hz, ++ HDMIV_3440x1440p60hz, ++ HDMIV_2400x1200p90hz, ++}; ++ ++/* Compliance with old definitions */ ++#define HDMI_640x480p60 HDMI_640x480p60_4x3 ++#define HDMI_480p60 HDMI_720x480p60_4x3 ++#define HDMI_480p60_16x9 HDMI_720x480p60_16x9 ++#define HDMI_720p60 HDMI_1280x720p60_16x9 ++#define HDMI_1080i60 HDMI_1920x1080i60_16x9 ++#define HDMI_480i60 HDMI_720x480i60_4x3 ++#define HDMI_480i60_16x9 HDMI_720x480i60_16x9 ++#define HDMI_480i60_16x9_rpt HDMI_2880x480i60_16x9 ++#define HDMI_1440x480p60 HDMI_1440x480p60_4x3 ++#define HDMI_1440x480p60_16x9 HDMI_1440x480p60_16x9 ++#define HDMI_1080p60 HDMI_1920x1080p60_16x9 ++#define HDMI_576p50 HDMI_720x576p50_4x3 ++#define HDMI_576p50_16x9 HDMI_720x576p50_16x9 ++#define HDMI_720p50 HDMI_1280x720p50_16x9 ++#define HDMI_1080i50 HDMI_1920x1080i50_16x9 ++#define HDMI_576i50 HDMI_720x576i50_4x3 ++#define HDMI_576i50_16x9 HDMI_720x576i50_16x9 ++#define HDMI_576i50_16x9_rpt HDMI_2880x576i50_16x9 ++#define HDMI_1080p50 HDMI_1920x1080p50_16x9 ++#define HDMI_1080p24 HDMI_1920x1080p24_16x9 ++#define HDMI_1080p25 HDMI_1920x1080p25_16x9 ++#define HDMI_1080p30 HDMI_1920x1080p30_16x9 ++#define HDMI_1080p120 HDMI_1920x1080p120_16x9 ++#define HDMI_480p60_16x9_rpt HDMI_2880x480p60_16x9 ++#define HDMI_576p50_16x9_rpt HDMI_2880x576p50_16x9 ++#define HDMI_4k2k_24 HDMI_3840x2160p24_16x9 ++#define HDMI_4k2k_25 HDMI_3840x2160p25_16x9 ++#define HDMI_4k2k_30 HDMI_3840x2160p30_16x9 ++#define HDMI_4k2k_50 HDMI_3840x2160p50_16x9 ++#define HDMI_4k2k_60 HDMI_3840x2160p60_16x9 ++#define HDMI_4k2k_smpte_24 HDMI_4096x2160p24_256x135 ++#define HDMI_4k2k_smpte_50 HDMI_4096x2160p50_256x135 ++#define HDMI_4k2k_smpte_60 HDMI_4096x2160p60_256x135 ++ ++/* CEA TIMING STRUCT DEFINITION */ ++struct hdmi_cea_timing { ++ unsigned int pixel_freq; /* Unit: 1000 */ ++ unsigned int h_freq; /* Unit: Hz */ ++ unsigned int v_freq; /* Unit: 0.001 Hz */ ++ unsigned int vsync_polarity:1; /* 1: positive 0: negative */ ++ unsigned int hsync_polarity:1; ++ unsigned short h_active; ++ unsigned short h_total; ++ unsigned short h_blank; ++ unsigned short h_front; ++ unsigned short h_sync; ++ unsigned short h_back; ++ unsigned short v_active; ++ unsigned short v_total; ++ unsigned short v_blank; ++ unsigned short v_front; ++ unsigned short v_sync; ++ unsigned short v_back; ++ unsigned short v_sync_ln; ++}; ++ ++/* Refer CEA861-D Page 116 Table 55 */ ++struct dtd { ++ unsigned short pixel_clock; ++ unsigned short h_active; ++ unsigned short h_blank; ++ unsigned short v_active; ++ unsigned short v_blank; ++ unsigned short h_sync_offset; ++ unsigned short h_sync; ++ unsigned short v_sync_offset; ++ unsigned short v_sync; ++ unsigned char h_image_size; ++ unsigned char v_image_size; ++ unsigned char h_border; ++ unsigned char v_border; ++ unsigned char flags; ++ enum hdmi_vic vic; ++}; ++ ++/* Dolby Version support information from EDID*/ ++/* Refer to DV Spec version2.9 page26 to page39*/ ++enum block_type { ++ ERROR_NULL = 0, ++ ERROR_LENGTH, ++ ERROR_OUI, ++ ERROR_VER, ++ CORRECT, ++}; ++ ++ ++ ++#define DV_IEEE_OUI 0x00D046 ++#define HDR10_PLUS_IEEE_OUI 0x90848B ++ ++#define HDMI_PACKET_VEND 1 ++#define HDMI_PACKET_DRM 0x86 ++ ++#define CMD_CONF_OFFSET (0x14 << 24) ++#define CONF_AVI_BT2020 (CMD_CONF_OFFSET + 0X2000 + 0x00) ++ #define CLR_AVI_BT2020 0x0 ++ #define SET_AVI_BT2020 0x1 ++/* set value as COLORSPACE_RGB444, YUV422, YUV444, YUV420 */ ++#define CONF_AVI_RGBYCC_INDIC (CMD_CONF_OFFSET + 0X2000 + 0x01) ++#define CONF_AVI_Q01 (CMD_CONF_OFFSET + 0X2000 + 0x02) ++ #define RGB_RANGE_DEFAULT 0 ++ #define RGB_RANGE_LIM 1 ++ #define RGB_RANGE_FUL 2 ++ #define RGB_RANGE_RSVD 3 ++#define CONF_AVI_YQ01 (CMD_CONF_OFFSET + 0X2000 + 0x03) ++ #define YCC_RANGE_LIM 0 ++ #define YCC_RANGE_FUL 1 ++ #define YCC_RANGE_RSVD 2 ++ ++struct hdr_info { ++ unsigned int hdr_sup_eotf_sdr:1; ++ unsigned int hdr_sup_eotf_hdr:1; ++ unsigned int hdr_sup_eotf_smpte_st_2084:1; ++ unsigned int hdr_sup_eotf_hlg:1; ++ unsigned int hdr_sup_SMD_type1:1; ++ unsigned char hdr_lum_max; ++ unsigned char hdr_lum_avg; ++ unsigned char hdr_lum_min; ++ unsigned char rawdata[7]; ++}; ++ ++struct hdr10_plus_info { ++ uint32_t ieeeoui; ++ uint8_t length; ++ uint8_t application_version; ++}; ++ ++enum hdmi_hdr_transfer { ++ T_UNKNOWN = 0, ++ T_BT709, ++ T_UNDEF, ++ T_BT601, ++ T_BT470M, ++ T_BT470BG, ++ T_SMPTE170M, ++ T_SMPTE240M, ++ T_LINEAR, ++ T_LOG100, ++ T_LOG316, ++ T_IEC61966_2_4, ++ T_BT1361E, ++ T_IEC61966_2_1, ++ T_BT2020_10, ++ T_BT2020_12, ++ T_SMPTE_ST_2084, ++ T_SMPTE_ST_28, ++ T_HLG, ++}; ++ ++enum hdmi_hdr_color { ++ C_UNKNOWN = 0, ++ C_BT709, ++ C_UNDEF, ++ C_BT601, ++ C_BT470M, ++ C_BT470BG, ++ C_SMPTE170M, ++ C_SMPTE240M, ++ C_FILM, ++ C_BT2020, ++}; ++ ++/* master_display_info for display device */ ++struct master_display_info_s { ++ u32 present_flag; ++ u32 features; /* feature bits bt2020/2084 */ ++ u32 primaries[3][2]; /* normalized 50000 in G,B,R order */ ++ u32 white_point[2]; /* normalized 50000 */ ++ u32 luminance[2]; /* max/min lumin, normalized 10000 */ ++ u32 max_content; /* Maximum Content Light Level */ ++ u32 max_frame_average; /* Maximum Frame-average Light Level */ ++}; ++ ++struct hdr10plus_para { ++ uint8_t application_version; ++ uint8_t targeted_max_lum; ++ uint8_t average_maxrgb; ++ uint8_t distribution_values[9]; ++ uint8_t num_bezier_curve_anchors; ++ uint32_t knee_point_x; ++ uint32_t knee_point_y; ++ uint8_t bezier_curve_anchors[9]; ++ uint8_t graphics_overlay_flag; ++ uint8_t no_delay_flag; ++}; ++ ++struct dv_info { ++ unsigned char rawdata[27]; ++ enum block_type block_flag; ++ uint32_t ieeeoui; ++ uint8_t ver; /* 0 or 1 or 2*/ ++ uint8_t length;/*ver1: 15 or 12*/ ++ ++ uint8_t sup_yuv422_12bit:1; ++ /* if as 0, then support RGB tunnel mode */ ++ uint8_t sup_2160p60hz:1; ++ /* if as 0, then support 2160p30hz */ ++ uint8_t sup_global_dimming:1; ++ uint16_t Rx; ++ uint16_t Ry; ++ uint16_t Gx; ++ uint16_t Gy; ++ uint16_t Bx; ++ uint16_t By; ++ uint16_t Wx; ++ uint16_t Wy; ++ uint16_t tminPQ; ++ uint16_t tmaxPQ; ++ uint8_t dm_major_ver; ++ uint8_t dm_minor_ver; ++ uint8_t dm_version; ++ uint8_t tmaxLUM; ++ uint8_t colorimetry:1;/* ver1*/ ++ uint8_t tminLUM; ++ uint8_t low_latency;/* ver1_12 and 2*/ ++ uint8_t sup_backlight_control:1;/*only ver2*/ ++ uint8_t backlt_min_luma;/*only ver2*/ ++ uint8_t Interface;/*only ver2*/ ++ uint8_t sup_10b_12b_444;/*only ver2*/ ++ uint8_t support_DV_RGB_444_8BIT; ++ uint8_t support_LL_YCbCr_422_12BIT; ++ uint8_t support_LL_RGB_444_10BIT; ++ uint8_t support_LL_RGB_444_12BIT; ++}; ++ ++enum eotf_type { ++ EOTF_T_NULL = 0, ++ EOTF_T_DOLBYVISION, ++ EOTF_T_HDR10, ++ EOTF_T_SDR, ++ EOTF_T_LL_MODE, ++ EOTF_T_MAX, ++}; ++ ++enum mode_type { ++ YUV422_BIT12 = 0, ++ RGB_8BIT, ++ RGB_10_12BIT, ++ YUV444_10_12BIT, ++}; ++ ++/* Dolby Version VSIF parameter*/ ++struct dv_vsif_para { ++ uint8_t ver; /* 0 or 1 or 2*/ ++ uint8_t length;/*ver1: 15 or 12*/ ++ union { ++ struct { ++ uint8_t low_latency:1; ++ uint8_t dobly_vision_signal:1; ++ uint8_t backlt_ctrl_MD_present:1; ++ uint8_t auxiliary_MD_present:1; ++ uint8_t eff_tmax_PQ_hi; ++ uint8_t eff_tmax_PQ_low; ++ uint8_t auxiliary_runmode; ++ uint8_t auxiliary_runversion; ++ uint8_t auxiliary_debug0; ++ } ver2; ++ } vers; ++}; ++ ++#define Y420CMDB_MAX 32 ++#define VIC_MAX_NUM 256 ++struct rx_cap { ++ unsigned int native_Mode; ++ /*video*/ ++ unsigned int VIC[VIC_MAX_NUM]; ++ unsigned int VIC_count; ++ unsigned int native_VIC; ++ /*vendor*/ ++ unsigned int IEEEOUI; ++ unsigned int Max_TMDS_Clock1; /* HDMI1.4b TMDS_CLK */ ++ unsigned int HF_IEEEOUI; /* For HDMI Forum */ ++ unsigned int Max_TMDS_Clock2; /* HDMI2.0 TMDS_CLK */ ++ /* CEA861-F, Table 56, Colorimetry Data Block */ ++ unsigned int colorimetry_data; ++ unsigned int scdc_present:1; ++ unsigned int scdc_rr_capable:1; /* SCDC read request */ ++ unsigned int lte_340mcsc_scramble:1; ++ unsigned support_ycbcr444_flag:1; ++ unsigned support_ycbcr422_flag:1; ++ unsigned int dc_y444:1; ++ unsigned int dc_30bit:1; ++ unsigned int dc_36bit:1; ++ unsigned int dc_48bit:1; ++ unsigned int dc_y420:1; ++ unsigned int dc_30bit_420:1; ++ unsigned int dc_36bit_420:1; ++ unsigned int dc_48bit_420:1; ++ unsigned char edid_version; ++ unsigned char edid_revision; ++ unsigned int ColorDeepSupport; ++ unsigned int Video_Latency; ++ unsigned int Audio_Latency; ++ unsigned int Interlaced_Video_Latency; ++ unsigned int Interlaced_Audio_Latency; ++ unsigned int threeD_present; ++ unsigned int threeD_Multi_present; ++ unsigned int hdmi_vic_LEN; ++ enum hdmi_vic preferred_mode; ++ struct dtd dtd[16]; ++ unsigned char dtd_idx; ++ unsigned char flag_vfpdb; ++ unsigned char number_of_dtd; ++ unsigned char pref_colorspace; ++ struct hdr_info hdr_info; ++ struct dv_info dv_info; ++ struct hdr10_plus_info hdr10plus_info; ++ /*blk0 check sum*/ ++ unsigned char chksum; ++ /*blk0-3 check sum*/ ++ char checksum[10]; ++ unsigned char edid_changed; ++ /* for total = 32*8 = 256 VICs */ ++ /* for Y420CMDB bitmap */ ++ unsigned char bitmap_valid; ++ unsigned char bitmap_length; ++ unsigned char y420_all_vic; ++ unsigned char y420cmdb_bitmap[Y420CMDB_MAX]; ++}; ++ ++enum color_attr_type { ++ COLOR_ATTR_YCBCR444_12BIT = 0, ++ COLOR_ATTR_YCBCR422_12BIT, ++ COLOR_ATTR_YCBCR420_12BIT, ++ COLOR_ATTR_RGB_12BIT, ++ COLOR_ATTR_YCBCR444_10BIT, ++ COLOR_ATTR_YCBCR422_10BIT, ++ COLOR_ATTR_YCBCR420_10BIT, ++ COLOR_ATTR_RGB_10BIT, ++ COLOR_ATTR_YCBCR444_8BIT, ++ COLOR_ATTR_YCBCR422_8BIT, ++ COLOR_ATTR_YCBCR420_8BIT, ++ COLOR_ATTR_RGB_8BIT, ++ COLOR_ATTR_RESERVED, ++}; ++ ++struct color_attr_to_string { ++ enum color_attr_type color_attr; ++ const char *color_attr_string; ++}; ++ ++enum hdmi_color_depth { ++ HDMI_COLOR_DEPTH_24B = 4, ++ HDMI_COLOR_DEPTH_30B = 5, ++ HDMI_COLOR_DEPTH_36B = 6, ++ HDMI_COLOR_DEPTH_48B = 7, ++}; ++ ++enum hdmi_color_format { ++ HDMI_COLOR_FORMAT_RGB, ++ HDMI_COLOR_FORMAT_422, ++ HDMI_COLOR_FORMAT_444, ++ HDMI_COLOR_FORMAT_420, ++}; ++ ++enum hdmi_color_range { ++ HDMI_COLOR_RANGE_LIM, ++ HDMI_COLOR_RANGE_FUL, ++}; ++ ++enum hdmi_audio_packet { ++ HDMI_AUDIO_PACKET_SMP = 0x02, ++ HDMI_AUDIO_PACKET_1BT = 0x07, ++ HDMI_AUDIO_PACKET_DST = 0x08, ++ HDMI_AUDIO_PACKET_HBR = 0x09, ++}; ++ ++enum hdmi_phy_para { ++ HDMI_PHYPARA_6G = 1, /* 2160p60hz 444 8bit */ ++ HDMI_PHYPARA_4p5G, /* 2160p50hz 420 12bit */ ++ HDMI_PHYPARA_3p7G, /* 2160p30hz 444 10bit */ ++ HDMI_PHYPARA_3G, /* 2160p24hz 444 8bit */ ++ HDMI_PHYPARA_LT3G, /* 1080p60hz 444 12bit */ ++ HDMI_PHYPARA_DEF = HDMI_PHYPARA_LT3G, ++ HDMI_PHYPARA_270M, /* 480p60hz 444 8bit */ ++}; ++ ++/* get hdmi cea timing ++ * t: struct hdmi_cea_timing * ++ */ ++#define GET_TIMING(name) (t->name) ++ ++struct parse_cd { ++ enum hdmi_color_depth cd; ++ const char *name; ++}; ++ ++struct parse_cs { ++ enum hdmi_color_format cs; ++ const char *name; ++}; ++ ++struct parse_cr { ++ enum hdmi_color_format cr; ++ const char *name; ++}; ++ ++#define EDID_BLK_NO 4 ++#define EDID_BLK_SIZE 128 ++struct hdmi_format_para { ++ enum hdmi_vic vic; ++ char *name; /* full name, 1280x720p60hz */ ++ char *sname; /* short name, 1280x720p60hz -> 720p60hz */ ++ char ext_name[32]; ++ enum hdmi_color_depth cd; /* cd8, cd10 or cd12 */ ++ enum hdmi_color_format cs; /* rgb, y444, y422, y420 */ ++ enum hdmi_color_range cr; /* limit, full */ ++ unsigned int pixel_repetition_factor; ++ unsigned int progress_mode:1; /* 0: Interlace 1: Progressive */ ++ unsigned int scrambler_en:1; ++ unsigned int tmds_clk_div40:1; ++ unsigned int tmds_clk; /* Unit: 1000 */ ++ struct hdmi_cea_timing timing; ++}; ++ ++struct hdmi_support_mode { ++ enum hdmi_vic vic; ++ char *sname; ++ char y420; ++}; ++ ++#define DOLBY_VISION_LL_RGB 3 ++#define DOLBY_VISION_LL_YUV 2 ++#define DOLBY_VISION_STD_ENABLE 1 ++#define DOLBY_VISION_DISABLE 0 ++#define DOLBY_VISION_ENABLE 1 ++ ++#define HDMI_IEEEOUI 0x000C03 ++#define MODE_LEN 32 ++#define VESA_MAX_TIMING 64 ++ ++typedef struct input_hdmi_data { ++ char ubootenv_hdmimode[MODE_LEN]; ++ char ubootenv_colorattribute[MODE_LEN]; ++ int ubootenv_dv_type; ++ #if 0 ++ bool isbestpolicy; ++ bool isSupport4K30Hz; ++ bool isSupport4K; ++ bool isDeepColor; ++ bool isframeratepriority; ++ bool isLowPowerMode; ++ #endif ++ struct rx_cap *pRXCap; ++} hdmi_data_t; ++ ++typedef struct scene_output_info { ++ char final_displaymode[MODE_LEN]; ++ char final_deepcolor[MODE_LEN]; ++ int final_dv_type; ++} scene_output_info_t; ++ ++struct dispmode_vic { ++ const char *disp_mode; ++ enum hdmi_vic VIC; ++}; ++ ++#endif ++ +diff --git a/include/amlogic/media/vout/hdmitx/hdmitx.h b/include/amlogic/media/vout/hdmitx/hdmitx.h +new file mode 100644 +index 00000000000..1458741089b +--- /dev/null ++++ b/include/amlogic/media/vout/hdmitx/hdmitx.h +@@ -0,0 +1,11 @@ ++#ifndef __HDMITX_H_ ++#define __HDMITX_H_ ++#include "hdmi_common.h" ++#include "hdmitx_module.h" ++#include "hdmitx_reg.h" ++#include "mach_reg.h" ++ ++int hdmitx_likely_frac_rate_mode(char *m); ++int hdmi_outputmode_check(char *mode, unsigned int frac); ++ ++#endif +diff --git a/include/amlogic/media/vout/hdmitx/hdmitx_ext.h b/include/amlogic/media/vout/hdmitx/hdmitx_ext.h +new file mode 100644 +index 00000000000..acf58a80910 +--- /dev/null ++++ b/include/amlogic/media/vout/hdmitx/hdmitx_ext.h +@@ -0,0 +1,6 @@ ++#ifndef __HDMITX_EXT_H__ ++#define __HDMITX_EXT_H__ ++ ++void hdmitx_init(void); ++ ++#endif +diff --git a/include/amlogic/media/vout/hdmitx/hdmitx_module.h b/include/amlogic/media/vout/hdmitx/hdmitx_module.h +new file mode 100644 +index 00000000000..60d22f63e3f +--- /dev/null ++++ b/include/amlogic/media/vout/hdmitx/hdmitx_module.h +@@ -0,0 +1,106 @@ ++#ifndef __HDMITX_MODULE_H__ ++#define __HDMITX_MODULE_H__ ++ ++#include "hdmi_common.h" ++#include "hdmitx_ext.h" ++ ++struct hdmitx_dev { ++ unsigned char rx_edid[512]; /* some RX may exceeds 256Bytes */ ++ struct { ++ int (*get_hpd_state)(void); ++ int (*read_edid)(unsigned char *buf, unsigned char addr, ++ unsigned char blk_no); ++ void (*turn_off)(void); ++ void (*list_support_modes)(void); ++ void (*dump_regs)(void); ++ void (*test_bist)(unsigned int mode); ++ void (*test_prbs)(void); ++ void (*set_div40)(bool div40); ++ void (*output_blank)(unsigned int blank); ++ } hwop; ++ unsigned char rawedid[EDID_BLK_SIZE * EDID_BLK_NO]; ++ struct rx_cap RXCap; ++ struct hdmi_format_para *para; ++ enum hdmi_vic vic; ++ unsigned int frac_rate_policy; ++ unsigned int mode420; ++ unsigned int dc30; ++ enum eotf_type hdmi_current_eotf_type; ++ enum mode_type hdmi_current_tunnel_mode; ++ /* Add dongle_mode, clock, phy may be different from mbox */ ++ unsigned int dongle_mode; ++}; ++ ++struct hdmitx_dev *hdmitx_get_hdev(void); ++ ++struct hdmi_format_para *hdmi_get_fmt_paras(enum hdmi_vic vic); ++enum hdmi_vic hdmi_get_fmt_vic(char const *name); ++void hdmi_parse_attr(struct hdmi_format_para *para, char const *name); ++int hdmitx_edid_VIC_support(enum hdmi_vic vic); ++enum hdmi_vic hdmitx_edid_vic_tab_map_vic(const char *disp_mode); ++const char *hdmitx_edid_vic_tab_map_string(enum hdmi_vic vic); ++const char *hdmitx_edid_vic_to_string(enum hdmi_vic vic); ++bool hdmitx_edid_check_valid_mode(struct hdmitx_dev *hdev, ++ struct hdmi_format_para *para); ++enum hdmi_vic hdmitx_edid_get_VIC(struct hdmitx_dev *hdev, ++ const char *disp_mode, char force_flag); ++bool edid_parsing_ok(struct hdmitx_dev *hdev); ++bool is_dolby_enabled(void); ++bool is_tv_support_dv(struct hdmitx_dev *hdev); ++void dolbyvision_scene_process(hdmi_data_t *hdmi_data, ++ scene_output_info_t *output_info); ++void sdr_scene_process(hdmi_data_t *hdmi_data, ++ scene_output_info_t *output_info); ++void get_hdmi_data(struct hdmitx_dev *hdev, hdmi_data_t *data); ++bool pre_process_str(char *name); ++struct hdmi_format_para *hdmi_tst_fmt_name(char const *name, char const *attr); ++bool is_supported_mode_attr(hdmi_data_t *hdmi_data, char *mode_attr); ++int get_ubootenv_dv_type(void); ++void hdmi_tx_set(struct hdmitx_dev *hdev); ++/* Parsing RAW EDID data from edid to pRXCap */ ++unsigned int hdmi_edid_parsing(unsigned char *edid, struct rx_cap *pRXCap); ++struct hdmi_format_para *hdmi_match_dtd_paras(struct dtd *t); ++bool hdmimode_is_interlaced(enum hdmi_vic vic); ++void hdmitx_ddc_init(void); ++void hdmitx_set_clk(struct hdmitx_dev *hdev); ++void hdmitx_turnoff(void); ++int hdmitx_get_hpd_state(void); ++void hdmitx_prbs(void); ++unsigned int hdmitx_rd_check_reg(unsigned int addr, unsigned int exp_data, ++ unsigned int mask); ++void hdmitx_hdcp_init(void); ++void hdmitx_set_phypara(enum hdmi_phy_para mode); ++void hdmitx_test_prbs(void); ++void hdmitx_set_div40(bool div40); ++ ++extern void hdmitx_set_drm_pkt(struct master_display_info_s *data); ++bool hdmitx_find_vendor(struct hdmitx_dev *hdev); ++#ifndef CONFIG_AML_HDMITX20 ++void __attribute__((weak))hdmitx_set_drm_pkt(struct master_display_info_s *data) ++{ ++} ++#endif ++ ++void hdmitx_set_vsif_pkt(enum eotf_type type, enum mode_type tunnel_mode, ++ struct dv_vsif_para *data); ++void hdmitx_set_hdr10plus_pkt(unsigned int flag, ++ struct hdr10plus_para *data); ++ ++#ifndef printk ++#define printk printf ++#endif ++#ifndef pr_info ++#define pr_info printf ++#endif ++ ++#define hdmitx_debug() /* printf("hd: %s[%d]\n", __func__, __LINE__) */ ++ ++extern struct hdr_info *hdmitx_get_rx_hdr_info(void); ++#ifndef CONFIG_AML_HDMITX20 ++struct hdr_info * __attribute__((weak))hdmitx_get_rx_hdr_info(void) ++{ ++ return NULL; ++} ++#endif ++ ++#endif +diff --git a/include/amlogic/media/vout/hdmitx/hdmitx_reg.h b/include/amlogic/media/vout/hdmitx/hdmitx_reg.h +new file mode 100644 +index 00000000000..b13e4ab986a +--- /dev/null ++++ b/include/amlogic/media/vout/hdmitx/hdmitx_reg.h +@@ -0,0 +1,1041 @@ ++/* ++ * driver/amlogic/media/vout/hdmitx/hdmitx_reg.h ++ * ++ * Copyright (C) 2018 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++*/ ++ ++#ifndef _HDMI_TX_REG_H ++#define _HDMI_TX_REG_H ++ ++/* TOP-level wrapper registers addresses */ ++/* bit24: 1 means secure access */ ++/* bit28: 1 means DWC, 0 means TOP */ ++#define SEC_OFFSET (0x1UL << 24) ++#define TOP_OFFSET_MASK (0x0UL << 24) ++#define TOP_SEC_OFFSET_MASK ((TOP_OFFSET_MASK) | (SEC_OFFSET)) ++#define DWC_OFFSET_MASK (0x10UL << 24) ++#define DWC_SEC_OFFSET_MASK ((DWC_OFFSET_MASK) | (SEC_OFFSET)) ++ ++/* Bit 7 RW Reserved. Default 1. */ ++/* Bit 6 RW Reserved. Default 1. */ ++/* Bit 5 RW Reserved. Default 1. */ ++/* Bit 4 RW sw_reset_phyif: PHY interface. 1=Apply reset; 0=Release from reset. ++ * Default 1. ++ * Bit 3 RW sw_reset_intr: interrupt module. 1=Apply reset; ++ * 0=Release from reset. Default 1. ++ * Bit 2 RW sw_reset_mem: KSV/REVOC mem. 1=Apply reset; 0=Release from reset. ++ * Default 1. ++ * Bit 1 RW sw_reset_rnd: random number interface to HDCP. 1=Apply reset; ++ * 0=Release from reset. Default 1. ++ * Bit 0 RW sw_reset_core: connects to IP's ~irstz. 1=Apply reset; ++ * 0=Release from reset. Default 1. ++ */ ++#define HDMITX_TOP_SW_RESET (TOP_OFFSET_MASK + 0x000) ++ ++/* Bit 12 RW i2s_ws_inv:1=Invert i2s_ws; 0=No invert. Default 0. */ ++/* Bit 11 RW i2s_clk_inv: 1=Invert i2s_clk; 0=No invert. Default 0. */ ++/* Bit 10 RW spdif_clk_inv: 1=Invert spdif_clk; 0=No invert. Default 0. */ ++/* Bit 9 RW tmds_clk_inv: 1=Invert tmds_clk; 0=No invert. Default 0. */ ++/* Bit 8 RW pixel_clk_inv: 1=Invert pixel_clk; 0=No invert. Default 0. */ ++/* Bit 4 RW cec_clk_en: 1=enable cec_clk; 0=disable. Default 0. */ ++/* Bit 3 RW i2s_clk_en: 1=enable i2s_clk; 0=disable. Default 0. */ ++/* Bit 2 RW spdif_clk_en: 1=enable spdif_clk; 0=disable. Default 0. */ ++/* Bit 1 RW tmds_clk_en: 1=enable tmds_clk; 0=disable. Default 0. */ ++/* Bit 0 RW pixel_clk_en: 1=enable pixel_clk; 0=disable. Default 0. */ ++#define HDMITX_TOP_CLK_CNTL (TOP_OFFSET_MASK + 0x001) ++ ++/* Bit 11: 0 RW hpd_valid_width: filter out width <= M*1024. Default 0. */ ++/* Bit 15:12 RW hpd_glitch_width: filter out glitch <= N. Default 0. */ ++#define HDMITX_TOP_HPD_FILTER (TOP_OFFSET_MASK + 0x002) ++ ++/* intr_maskn: MASK_N, one bit per interrupt source. ++ * 1=Enable interrupt source; 0=Disable interrupt source. Default 0. ++ * [ 4] hdcp22_rndnum_err ++ * [ 3] nonce_rfrsh_rise ++ * [ 2] hpd_fall_intr ++ * [ 1] hpd_rise_intr ++ * [ 0] core_intr ++ */ ++#define HDMITX_TOP_INTR_MASKN (TOP_OFFSET_MASK + 0x003) ++ ++/* Bit 30: 0 RW intr_stat: For each bit, write 1 to manually set the interrupt ++ * bit, read back the interrupt status. */ ++/* Bit 31 R IP interrupt status */ ++/* Bit 2 RW hpd_fall */ ++/* Bit 1 RW hpd_rise */ ++/* Bit 0 RW IP interrupt */ ++#define HDMITX_TOP_INTR_STAT (TOP_OFFSET_MASK + 0x004) ++ ++/* [4] hdcp22_rndnum_err */ ++/* [3] nonce_rfrsh_rise */ ++/* [2] hpd_fall */ ++/* [1] hpd_rise */ ++/* [0] core_intr_rise */ ++#define HDMITX_TOP_INTR_STAT_CLR (TOP_OFFSET_MASK + 0x005) ++ ++/* Bit 14:12 RW tmds_sel: 3'b000=Output zero; 3'b001=Output normal TMDS data; ++ * 3'b010=Output PRBS data; 3'b100=Output shift pattern. Default 0. ++ * Bit 11: 9 RW shift_pttn_repeat: 0=New pattern every clk cycle; 1=New pattern ++ * every 2 clk cycles; ...; 7=New pattern every 8 clk cycles. Default 0. ++ * Bit 8 RW shift_pttn_en: 1= Eanble shift pattern generator; 0=Disable. ++ * Default 0. ++ * Bit 4: 3 RW prbs_pttn_mode: 0=PRBS11; 1=PRBS15; 2=PRBS7; 3=PRBS31. Default 0. ++ * Bit 2: 1 RW prbs_pttn_width: 0=idle; 1=output 8-bit pattern; ++ * 2=Output 1-bit pattern; 3=output 10-bit pattern. Default 0. ++ * Bit 0 RW prbs_pttn_en: 1=Enable PRBS generator; 0=Disable. Default 0. ++ */ ++#define HDMITX_TOP_BIST_CNTL (TOP_OFFSET_MASK + 0x006) ++ ++/* Bit 29:20 RW shift_pttn_data[59:50]. Default 0. */ ++/* Bit 19:10 RW shift_pttn_data[69:60]. Default 0. */ ++/* Bit 9: 0 RW shift_pttn_data[79:70]. Default 0. */ ++#define HDMITX_TOP_SHIFT_PTTN_012 (TOP_OFFSET_MASK + 0x007) ++ ++/* Bit 29:20 RW shift_pttn_data[29:20]. Default 0. */ ++/* Bit 19:10 RW shift_pttn_data[39:30]. Default 0. */ ++/* Bit 9: 0 RW shift_pttn_data[49:40]. Default 0. */ ++#define HDMITX_TOP_SHIFT_PTTN_345 (TOP_OFFSET_MASK + 0x008) ++ ++/* Bit 19:10 RW shift_pttn_data[ 9: 0]. Default 0. */ ++/* Bit 9: 0 RW shift_pttn_data[19:10]. Default 0. */ ++#define HDMITX_TOP_SHIFT_PTTN_67 (TOP_OFFSET_MASK + 0x009) ++ ++/* Bit 25:16 RW tmds_clk_pttn[19:10]. Default 0. */ ++/* Bit 9: 0 RW tmds_clk_pttn[ 9: 0]. Default 0. */ ++#define HDMITX_TOP_TMDS_CLK_PTTN_01 (TOP_OFFSET_MASK + 0x00A) ++ ++/* Bit 25:16 RW tmds_clk_pttn[39:30]. Default 0. */ ++/* Bit 9: 0 RW tmds_clk_pttn[29:20]. Default 0. */ ++#define HDMITX_TOP_TMDS_CLK_PTTN_23 (TOP_OFFSET_MASK + 0x00B) ++ ++/* Bit 1 RW shift_tmds_clk_pttn:1=Enable shifting clk pattern, ++ * used when TMDS CLK rate = TMDS character rate /4. Default 0. ++ * Bit 0 R Reserved. Default 0. ++ */ ++/* [ 1] shift_tmds_clk_pttn */ ++/* [ 0] load_tmds_clk_pttn */ ++#define HDMITX_TOP_TMDS_CLK_PTTN_CNTL (TOP_OFFSET_MASK + 0x00C) ++ ++/* Bit 0 RW revocmem_wr_fail: Read back 1 to indicate Host write REVOC MEM ++ * failure, write 1 to clear the failure flag. Default 0. ++ */ ++#define HDMITX_TOP_REVOCMEM_STAT (TOP_OFFSET_MASK + 0x00D) ++ ++/* Bit 0 R filtered HPD status. */ ++#define HDMITX_TOP_STAT0 (TOP_OFFSET_MASK + 0x00E) ++#define HDMITX_TOP_SKP_CNTL_STAT (TOP_SEC_OFFSET_MASK + 0x010) ++#define HDMITX_TOP_NONCE_0 (TOP_SEC_OFFSET_MASK + 0x011) ++#define HDMITX_TOP_NONCE_1 (TOP_SEC_OFFSET_MASK + 0x012) ++#define HDMITX_TOP_NONCE_2 (TOP_SEC_OFFSET_MASK + 0x013) ++#define HDMITX_TOP_NONCE_3 (TOP_SEC_OFFSET_MASK + 0x014) ++#define HDMITX_TOP_PKF_0 (TOP_SEC_OFFSET_MASK + 0x015) ++#define HDMITX_TOP_PKF_1 (TOP_SEC_OFFSET_MASK + 0x016) ++#define HDMITX_TOP_PKF_2 (TOP_SEC_OFFSET_MASK + 0x017) ++#define HDMITX_TOP_PKF_3 (TOP_SEC_OFFSET_MASK + 0x018) ++#define HDMITX_TOP_DUK_0 (TOP_SEC_OFFSET_MASK + 0x019) ++#define HDMITX_TOP_DUK_1 (TOP_SEC_OFFSET_MASK + 0x01A) ++#define HDMITX_TOP_DUK_2 (TOP_SEC_OFFSET_MASK + 0x01B) ++#define HDMITX_TOP_DUK_3 (TOP_SEC_OFFSET_MASK + 0x01C) ++/* [26:24] infilter_ddc_intern_clk_divide */ ++/* [23:16] infilter_ddc_sample_clk_divide */ ++/* [10: 8] infilter_cec_intern_clk_divide */ ++/* [ 7: 0] infilter_cec_sample_clk_divide */ ++#define HDMITX_TOP_INFILTER (TOP_OFFSET_MASK + 0x01D) ++#define HDMITX_TOP_NSEC_SCRATCH (TOP_OFFSET_MASK + 0x01E) ++#define HDMITX_TOP_SEC_SCRATCH (TOP_SEC_OFFSET_MASK + 0x01F) ++#define HDMITX_TOP_EMP_CNTL0 (TOP_OFFSET_MASK + 0x020) ++#define HDMITX_TOP_EMP_CNTL1 (TOP_OFFSET_MASK + 0x021) ++#define HDMITX_TOP_EMP_MEMADDR_START (TOP_OFFSET_MASK + 0x022) ++#define HDMITX_TOP_EMP_STAT0 (TOP_OFFSET_MASK + 0x023) ++#define HDMITX_TOP_EMP_STAT1 (TOP_OFFSET_MASK + 0x024) ++#define HDMITX_TOP_AXI_ASYNC_CNTL0 (TOP_OFFSET_MASK + 0x025) ++#define HDMITX_TOP_AXI_ASYNC_CNTL1 (TOP_OFFSET_MASK + 0x026) ++#define HDMITX_TOP_AXI_ASYNC_STAT0 (TOP_OFFSET_MASK + 0x027) ++#define HDMITX_TOP_I2C_BUSY_CNT_MAX (TOP_OFFSET_MASK + 0x028) ++#define HDMITX_TOP_I2C_BUSY_CNT_STAT (TOP_OFFSET_MASK + 0x029) ++#define HDMITX_TOP_HDCP22_BSOD (TOP_OFFSET_MASK + 0x02A) ++#define HDMITX_TOP_DDC_CNTL (TOP_OFFSET_MASK + 0x02B) ++#define HDMITX_TOP_REVOCMEM_ADDR_S (TOP_OFFSET_MASK + 0x2000 >> 2) ++#define HDMITX_TOP_REVOCMEM_ADDR_E (TOP_OFFSET_MASK + 0x365E >> 2) ++ ++#define HDMITX_TOP_DONT_TOUCH0 (TOP_OFFSET_MASK + 0x0FE) ++#define HDMITX_TOP_DONT_TOUCH1 (TOP_OFFSET_MASK + 0x0FF) ++ ++/* DWC_HDMI_TX Controller registers addresses */ ++ ++/* Identification Registers */ ++#define HDMITX_DWC_DESIGN_ID (DWC_OFFSET_MASK + 0x0000) ++#define HDMITX_DWC_REVISION_ID (DWC_OFFSET_MASK + 0x0001) ++#define HDMITX_DWC_PRODUCT_ID0 (DWC_OFFSET_MASK + 0x0002) ++#define HDMITX_DWC_PRODUCT_ID1 (DWC_OFFSET_MASK + 0x0003) ++#define HDMITX_DWC_CONFIG0_ID (DWC_OFFSET_MASK + 0x0004) ++#define HDMITX_DWC_CONFIG1_ID (DWC_OFFSET_MASK + 0x0005) ++#define HDMITX_DWC_CONFIG2_ID (DWC_OFFSET_MASK + 0x0006) ++#define HDMITX_DWC_CONFIG3_ID (DWC_OFFSET_MASK + 0x0007) ++ ++/* Interrupt Registers */ ++#define HDMITX_DWC_IH_FC_STAT0 (DWC_OFFSET_MASK + 0x0100) ++#define HDMITX_DWC_IH_FC_STAT1 (DWC_OFFSET_MASK + 0x0101) ++#define HDMITX_DWC_IH_FC_STAT2 (DWC_OFFSET_MASK + 0x0102) ++#define HDMITX_DWC_IH_AS_STAT0 (DWC_OFFSET_MASK + 0x0103) ++#define HDMITX_DWC_IH_PHY_STAT0 (DWC_OFFSET_MASK + 0x0104) ++#define HDMITX_DWC_IH_I2CM_STAT0 (DWC_OFFSET_MASK + 0x0105) ++#define HDMITX_DWC_IH_CEC_STAT0 (DWC_OFFSET_MASK + 0x0106) ++#define HDMITX_DWC_IH_VP_STAT0 (DWC_OFFSET_MASK + 0x0107) ++#define HDMITX_DWC_IH_I2CMPHY_STAT0 (DWC_OFFSET_MASK + 0x0108) ++#define HDMITX_DWC_IH_DECODE (DWC_OFFSET_MASK + 0x0170) ++/* [ 7] mute_AUDI */ ++/* [ 6] mute_ACP */ ++/* [ 5] mute_HBR */ ++/* [ 4] mute_MAS */ ++/* [ 3] mute_NVBI */ ++/* [ 2] mute_AUDS */ ++/* [ 1] mute_ACR */ ++/* [ 0] mute_NULL */ ++#define HDMITX_DWC_IH_MUTE_FC_STAT0 (DWC_OFFSET_MASK + 0x0180) ++/* [ 7] mute_GMD */ ++/* [ 6] mute_ISRC1 */ ++/* [ 5] mute_ISRC2 */ ++/* [ 4] mute_VSD */ ++/* [ 3] mute_SPD */ ++/* [ 2] mute_AMP */ ++/* [ 1] mute_AVI */ ++/* [ 0] mute_GCP */ ++#define HDMITX_DWC_IH_MUTE_FC_STAT1 (DWC_OFFSET_MASK + 0x0181) ++/* [ 1] mute_LowPriority_fifo_full */ ++/* [ 0] mute_HighPriority_fifo_full */ ++#define HDMITX_DWC_IH_MUTE_FC_STAT2 (DWC_OFFSET_MASK + 0x0182) ++/* [ 4] mute_aud_fifo_underrun */ ++/* [ 3] mute_aud_fifo_overrun */ ++/* [ 2] mute_aud_fifo_empty_thr. oififoemptythr tied to 0. */ ++/* [ 1] mute_aud_fifo_empty */ ++/* [ 0] mute_aud_fifo_full */ ++#define HDMITX_DWC_IH_MUTE_AS_STAT0 (DWC_OFFSET_MASK + 0x0183) ++#define HDMITX_DWC_IH_MUTE_PHY_STAT0 (DWC_OFFSET_MASK + 0x0184) ++/* [ 2] mute_scdc_readreq */ ++/* [ 1] mute_edid_i2c_master_done */ ++/* [ 0] mute_edid_i2c_master_error */ ++#define HDMITX_DWC_IH_MUTE_I2CM_STAT0 (DWC_OFFSET_MASK + 0x0185) ++/* [ 6] cec_wakeup */ ++/* [ 5] cec_error_follower */ ++/* [ 4] cec_error_initiator */ ++/* [ 3] cec_arb_lost */ ++/* [ 2] cec_nack */ ++/* [ 1] cec_eom */ ++/* [ 0] cec_done */ ++#define HDMITX_DWC_IH_MUTE_CEC_STAT0 (DWC_OFFSET_MASK + 0x0186) ++#define HDMITX_DWC_IH_MUTE_VP_STAT0 (DWC_OFFSET_MASK + 0x0187) ++#define HDMITX_DWC_IH_MUTE_I2CMPHY_STAT0 (DWC_OFFSET_MASK + 0x0188) ++/* [ 1] mute_wakeup_interrupt */ ++/* [ 0] mute_all_interrupt */ ++#define HDMITX_DWC_IH_MUTE (DWC_OFFSET_MASK + 0x01FF) ++ ++/* Video Sampler Registers */ ++/* [ 7] internal_de_generator */ ++/* [4:0] video_mapping */ ++#define HDMITX_DWC_TX_INVID0 (DWC_OFFSET_MASK + 0x0200) ++/* [ 2] bcbdata_stuffing */ ++/* [ 1] rcrdata_stuffing */ ++/* [ 0] gydata_stuffing */ ++#define HDMITX_DWC_TX_INSTUFFING (DWC_OFFSET_MASK + 0x0201) ++#define HDMITX_DWC_TX_GYDATA0 (DWC_OFFSET_MASK + 0x0202) ++#define HDMITX_DWC_TX_GYDATA1 (DWC_OFFSET_MASK + 0x0203) ++#define HDMITX_DWC_TX_RCRDATA0 (DWC_OFFSET_MASK + 0x0204) ++#define HDMITX_DWC_TX_RCRDATA1 (DWC_OFFSET_MASK + 0x0205) ++#define HDMITX_DWC_TX_BCBDATA0 (DWC_OFFSET_MASK + 0x0206) ++#define HDMITX_DWC_TX_BCBDATA1 (DWC_OFFSET_MASK + 0x0207) ++ ++/* Video Packetizer Registers */ ++#define HDMITX_DWC_VP_STATUS (DWC_OFFSET_MASK + 0x0800) ++/* [3:0] desired_pr_factor */ ++#define HDMITX_DWC_VP_PR_CD (DWC_OFFSET_MASK + 0x0801) ++/* [ 5] default_phase */ ++/* [ 2] ycc422_stuffing */ ++/* [ 1] pp_stuffing */ ++/* [ 0] pr_stuffing */ ++#define HDMITX_DWC_VP_STUFF (DWC_OFFSET_MASK + 0x0802) ++#define HDMITX_DWC_VP_REMAP (DWC_OFFSET_MASK + 0x0803) ++#define HDMITX_DWC_VP_CONF (DWC_OFFSET_MASK + 0x0804) ++/* [ 7] mask_int_full_prpt */ ++/* [ 6] mask_int_empty_prpt */ ++/* [ 5] mask_int_full_ppack */ ++/* [ 4] mask_int_empty_ppack */ ++/* [ 3] mask_int_full_remap */ ++/* [ 2] mask_int_empty_remap */ ++/* [ 1] mask_int_full_byp */ ++/* [ 0] mask_int_empty_byp */ ++#define HDMITX_DWC_VP_MASK (DWC_OFFSET_MASK + 0x0807) ++ ++/* Frmae Composer Registers */ ++/* [ 7] HDCP_keepout */ ++/* [ 6] vs_in_pol: 0=active low; 1=active high. */ ++/* [ 5] hs_in_pol: 0=active low; 1=active high. */ ++/* [ 4] de_in_pol: 0=active low; 1=active high. */ ++/* [ 3] dvi_modez: 0=dvi; 1=hdmi. */ ++/* [ 1] r_v_blank_in_osc */ ++/* [ 0] in_I_P: 0=progressive; 1=interlaced. */ ++#define HDMITX_DWC_FC_INVIDCONF (DWC_OFFSET_MASK + 0x1000) ++/* [7:0] H_in_active[7:0] */ ++#define HDMITX_DWC_FC_INHACTV0 (DWC_OFFSET_MASK + 0x1001) ++/* [5:0] H_in_active[13:8] */ ++#define HDMITX_DWC_FC_INHACTV1 (DWC_OFFSET_MASK + 0x1002) ++/* [7:0] H_in_blank[7:0] */ ++#define HDMITX_DWC_FC_INHBLANK0 (DWC_OFFSET_MASK + 0x1003) ++/* [4:0] H_in_blank[12:8] */ ++#define HDMITX_DWC_FC_INHBLANK1 (DWC_OFFSET_MASK + 0x1004) ++/* [7:0] V_in_active[7:0] */ ++#define HDMITX_DWC_FC_INVACTV0 (DWC_OFFSET_MASK + 0x1005) ++/* [4:0] V_in_active[12:8] */ ++#define HDMITX_DWC_FC_INVACTV1 (DWC_OFFSET_MASK + 0x1006) ++/* [7:0] V_in_blank */ ++#define HDMITX_DWC_FC_INVBLANK (DWC_OFFSET_MASK + 0x1007) ++/* [7:0] H_in_delay[7:0] */ ++#define HDMITX_DWC_FC_HSYNCINDELAY0 (DWC_OFFSET_MASK + 0x1008) ++/* [4:0] H_in_delay[12:8] */ ++#define HDMITX_DWC_FC_HSYNCINDELAY1 (DWC_OFFSET_MASK + 0x1009) ++/* [7:0] H_in_width[7:0] */ ++#define HDMITX_DWC_FC_HSYNCINWIDTH0 (DWC_OFFSET_MASK + 0x100A) ++/* [1:0] H_in_width[9:8] */ ++#define HDMITX_DWC_FC_HSYNCINWIDTH1 (DWC_OFFSET_MASK + 0x100B) ++/* [7:0] V_in_delay */ ++#define HDMITX_DWC_FC_VSYNCINDELAY (DWC_OFFSET_MASK + 0x100C) ++/* [5:0] V_in_width */ ++#define HDMITX_DWC_FC_VSYNCINWIDTH (DWC_OFFSET_MASK + 0x100D) ++#define HDMITX_DWC_FC_INFREQ0 (DWC_OFFSET_MASK + 0x100E) ++#define HDMITX_DWC_FC_INFREQ1 (DWC_OFFSET_MASK + 0x100F) ++#define HDMITX_DWC_FC_INFREQ2 (DWC_OFFSET_MASK + 0x1010) ++#define HDMITX_DWC_FC_CTRLDUR (DWC_OFFSET_MASK + 0x1011) ++#define HDMITX_DWC_FC_EXCTRLDUR (DWC_OFFSET_MASK + 0x1012) ++#define HDMITX_DWC_FC_EXCTRLSPAC (DWC_OFFSET_MASK + 0x1013) ++#define HDMITX_DWC_FC_CH0PREAM (DWC_OFFSET_MASK + 0x1014) ++#define HDMITX_DWC_FC_CH1PREAM (DWC_OFFSET_MASK + 0x1015) ++#define HDMITX_DWC_FC_CH2PREAM (DWC_OFFSET_MASK + 0x1016) ++/* [3:2] YQ */ ++/* [1:0] CN */ ++#define HDMITX_DWC_FC_AVICONF3 (DWC_OFFSET_MASK + 0x1017) ++/* [ 2] default_phase */ ++/* [ 1] set_avmute */ ++/* [ 0] clear_avmute */ ++#define HDMITX_DWC_FC_GCP (DWC_OFFSET_MASK + 0x1018) ++/* [ 7] rgb_ycc_indication[2] */ ++/* [ 6] active_format_present */ ++/* [5:4] scan_information */ ++/* [3:2] bar_information */ ++/* [1:0] rgb_ycc_indication[1:0] */ ++#define HDMITX_DWC_FC_AVICONF0 (DWC_OFFSET_MASK + 0x1019) ++/* [7:6] colorimetry */ ++/* [5:4] picture_aspect_ratio */ ++/* [3:0] active_aspect_ratio */ ++#define HDMITX_DWC_FC_AVICONF1 (DWC_OFFSET_MASK + 0x101A) ++/* [ 7] IT_content */ ++/* [6:4] extended_colorimetry */ ++/* [3:2] quantization_range */ ++/* [1:0] non_uniform_picture_scaling */ ++#define HDMITX_DWC_FC_AVICONF2 (DWC_OFFSET_MASK + 0x101B) ++#define HDMITX_DWC_FC_AVIVID (DWC_OFFSET_MASK + 0x101C) ++#define HDMITX_DWC_FC_AVIETB0 (DWC_OFFSET_MASK + 0x101D) ++#define HDMITX_DWC_FC_AVIETB1 (DWC_OFFSET_MASK + 0x101E) ++#define HDMITX_DWC_FC_AVISBB0 (DWC_OFFSET_MASK + 0x101F) ++#define HDMITX_DWC_FC_AVISBB1 (DWC_OFFSET_MASK + 0x1020) ++#define HDMITX_DWC_FC_AVIELB0 (DWC_OFFSET_MASK + 0x1021) ++#define HDMITX_DWC_FC_AVIELB1 (DWC_OFFSET_MASK + 0x1022) ++#define HDMITX_DWC_FC_AVISRB0 (DWC_OFFSET_MASK + 0x1023) ++#define HDMITX_DWC_FC_AVISRB1 (DWC_OFFSET_MASK + 0x1024) ++/* [3:0] CT: coding type */ ++#define HDMITX_DWC_FC_AUDICONF0 (DWC_OFFSET_MASK + 0x1025) ++/* [5:4] SS: sampling size */ ++/* [2:0] SF: sampling frequency */ ++#define HDMITX_DWC_FC_AUDICONF1 (DWC_OFFSET_MASK + 0x1026) ++/* CA: channel allocation */ ++#define HDMITX_DWC_FC_AUDICONF2 (DWC_OFFSET_MASK + 0x1027) ++/* [6:5] LFEPBL: LFE playback info */ ++/* [ 4] DM_INH: down mix enable */ ++/* [3:0] LSv: Level shift value */ ++#define HDMITX_DWC_FC_AUDICONF3 (DWC_OFFSET_MASK + 0x1028) ++#define HDMITX_DWC_FC_VSDIEEEID0 (DWC_OFFSET_MASK + 0x1029) ++#define HDMITX_DWC_FC_VSDSIZE (DWC_OFFSET_MASK + 0x102A) ++#define HDMITX_DWC_FC_VSDIEEEID1 (DWC_OFFSET_MASK + 0x1030) ++#define HDMITX_DWC_FC_VSDIEEEID2 (DWC_OFFSET_MASK + 0x1031) ++#define HDMITX_DWC_FC_VSDPAYLOAD0 (DWC_OFFSET_MASK + 0x1032) ++#define HDMITX_DWC_FC_VSDPAYLOAD1 (DWC_OFFSET_MASK + 0x1033) ++#define HDMITX_DWC_FC_VSDPAYLOAD2 (DWC_OFFSET_MASK + 0x1034) ++#define HDMITX_DWC_FC_VSDPAYLOAD3 (DWC_OFFSET_MASK + 0x1035) ++#define HDMITX_DWC_FC_VSDPAYLOAD4 (DWC_OFFSET_MASK + 0x1036) ++#define HDMITX_DWC_FC_VSDPAYLOAD5 (DWC_OFFSET_MASK + 0x1037) ++#define HDMITX_DWC_FC_VSDPAYLOAD6 (DWC_OFFSET_MASK + 0x1038) ++#define HDMITX_DWC_FC_VSDPAYLOAD7 (DWC_OFFSET_MASK + 0x1039) ++#define HDMITX_DWC_FC_VSDPAYLOAD8 (DWC_OFFSET_MASK + 0x103A) ++#define HDMITX_DWC_FC_VSDPAYLOAD9 (DWC_OFFSET_MASK + 0x103B) ++#define HDMITX_DWC_FC_VSDPAYLOAD10 (DWC_OFFSET_MASK + 0x103C) ++#define HDMITX_DWC_FC_VSDPAYLOAD11 (DWC_OFFSET_MASK + 0x103D) ++#define HDMITX_DWC_FC_VSDPAYLOAD12 (DWC_OFFSET_MASK + 0x103E) ++#define HDMITX_DWC_FC_VSDPAYLOAD13 (DWC_OFFSET_MASK + 0x103F) ++#define HDMITX_DWC_FC_VSDPAYLOAD14 (DWC_OFFSET_MASK + 0x1040) ++#define HDMITX_DWC_FC_VSDPAYLOAD15 (DWC_OFFSET_MASK + 0x1041) ++#define HDMITX_DWC_FC_VSDPAYLOAD16 (DWC_OFFSET_MASK + 0x1042) ++#define HDMITX_DWC_FC_VSDPAYLOAD17 (DWC_OFFSET_MASK + 0x1043) ++#define HDMITX_DWC_FC_VSDPAYLOAD18 (DWC_OFFSET_MASK + 0x1044) ++#define HDMITX_DWC_FC_VSDPAYLOAD19 (DWC_OFFSET_MASK + 0x1045) ++#define HDMITX_DWC_FC_VSDPAYLOAD20 (DWC_OFFSET_MASK + 0x1046) ++#define HDMITX_DWC_FC_VSDPAYLOAD21 (DWC_OFFSET_MASK + 0x1047) ++#define HDMITX_DWC_FC_VSDPAYLOAD22 (DWC_OFFSET_MASK + 0x1048) ++#define HDMITX_DWC_FC_VSDPAYLOAD23 (DWC_OFFSET_MASK + 0x1049) ++#define HDMITX_DWC_FC_SPDVENDORNAME0 (DWC_OFFSET_MASK + 0x104A) ++#define HDMITX_DWC_FC_SPDVENDORNAME1 (DWC_OFFSET_MASK + 0x104B) ++#define HDMITX_DWC_FC_SPDVENDORNAME2 (DWC_OFFSET_MASK + 0x104C) ++#define HDMITX_DWC_FC_SPDVENDORNAME3 (DWC_OFFSET_MASK + 0x104D) ++#define HDMITX_DWC_FC_SPDVENDORNAME4 (DWC_OFFSET_MASK + 0x104E) ++#define HDMITX_DWC_FC_SPDVENDORNAME5 (DWC_OFFSET_MASK + 0x104F) ++#define HDMITX_DWC_FC_SPDVENDORNAME6 (DWC_OFFSET_MASK + 0x1050) ++#define HDMITX_DWC_FC_SPDVENDORNAME7 (DWC_OFFSET_MASK + 0x1051) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME0 (DWC_OFFSET_MASK + 0x1052) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME1 (DWC_OFFSET_MASK + 0x1053) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME2 (DWC_OFFSET_MASK + 0x1054) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME3 (DWC_OFFSET_MASK + 0x1055) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME4 (DWC_OFFSET_MASK + 0x1056) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME5 (DWC_OFFSET_MASK + 0x1057) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME6 (DWC_OFFSET_MASK + 0x1058) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME7 (DWC_OFFSET_MASK + 0x1059) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME8 (DWC_OFFSET_MASK + 0x105A) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME9 (DWC_OFFSET_MASK + 0x105B) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME10 (DWC_OFFSET_MASK + 0x105C) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME11 (DWC_OFFSET_MASK + 0x105D) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME12 (DWC_OFFSET_MASK + 0x105E) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME13 (DWC_OFFSET_MASK + 0x105F) ++#define HDMITX_DWC_FC_SDPPRODUCTNAME14 (DWC_OFFSET_MASK + 0x1060) ++#define HDMITX_DWC_FC_SPDPRODUCTNAME15 (DWC_OFFSET_MASK + 0x1061) ++#define HDMITX_DWC_FC_SPDDEVICEINF (DWC_OFFSET_MASK + 0x1062) ++/* [7:4] aud_packet_sampflat */ ++/* [ 0] aud_packet_layout */ ++#define HDMITX_DWC_FC_AUDSCONF (DWC_OFFSET_MASK + 0x1063) ++#define HDMITX_DWC_FC_AUDSSTAT (DWC_OFFSET_MASK + 0x1064) ++/* [ 7] V3r */ ++/* [ 6] V2r */ ++/* [ 5] V1r */ ++/* [ 4] V0r */ ++/* [ 3] V3l */ ++/* [ 2] V2l */ ++/* [ 1] V1l */ ++/* [ 0] V0l */ ++#define HDMITX_DWC_FC_AUDSV (DWC_OFFSET_MASK + 0x1065) ++#define HDMITX_DWC_FC_AUDSU (DWC_OFFSET_MASK + 0x1066) ++#define HDMITX_DWC_FC_AUDSCHNLS0 (DWC_OFFSET_MASK + 0x1067) ++#define HDMITX_DWC_FC_AUDSCHNLS1 (DWC_OFFSET_MASK + 0x1068) ++#define HDMITX_DWC_FC_AUDSCHNLS2 (DWC_OFFSET_MASK + 0x1069) ++#define HDMITX_DWC_FC_AUDSCHNLS3 (DWC_OFFSET_MASK + 0x106A) ++#define HDMITX_DWC_FC_AUDSCHNLS4 (DWC_OFFSET_MASK + 0x106B) ++#define HDMITX_DWC_FC_AUDSCHNLS5 (DWC_OFFSET_MASK + 0x106C) ++#define HDMITX_DWC_FC_AUDSCHNLS6 (DWC_OFFSET_MASK + 0x106D) ++#define HDMITX_DWC_FC_AUDSCHNLS7 (DWC_OFFSET_MASK + 0x106E) ++#define HDMITX_DWC_FC_AUDSCHNLS8 (DWC_OFFSET_MASK + 0x106F) ++#define HDMITX_DWC_FC_DATACH0FILL (DWC_OFFSET_MASK + 0x1070) ++#define HDMITX_DWC_FC_DATACH1FILL (DWC_OFFSET_MASK + 0x1071) ++#define HDMITX_DWC_FC_DATACH2FILL (DWC_OFFSET_MASK + 0x1072) ++#define HDMITX_DWC_FC_CTRLQHIGH (DWC_OFFSET_MASK + 0x1073) ++#define HDMITX_DWC_FC_CTRLQLOW (DWC_OFFSET_MASK + 0x1074) ++#define HDMITX_DWC_FC_ACP0 (DWC_OFFSET_MASK + 0x1075) ++#define HDMITX_DWC_FC_ACP16 (DWC_OFFSET_MASK + 0x1082) ++#define HDMITX_DWC_FC_ACP15 (DWC_OFFSET_MASK + 0x1083) ++#define HDMITX_DWC_FC_ACP14 (DWC_OFFSET_MASK + 0x1084) ++#define HDMITX_DWC_FC_ACP13 (DWC_OFFSET_MASK + 0x1085) ++#define HDMITX_DWC_FC_ACP12 (DWC_OFFSET_MASK + 0x1086) ++#define HDMITX_DWC_FC_ACP11 (DWC_OFFSET_MASK + 0x1087) ++#define HDMITX_DWC_FC_ACP10 (DWC_OFFSET_MASK + 0x1088) ++#define HDMITX_DWC_FC_ACP9 (DWC_OFFSET_MASK + 0x1089) ++#define HDMITX_DWC_FC_ACP8 (DWC_OFFSET_MASK + 0x108A) ++#define HDMITX_DWC_FC_ACP7 (DWC_OFFSET_MASK + 0x108B) ++#define HDMITX_DWC_FC_ACP6 (DWC_OFFSET_MASK + 0x108C) ++#define HDMITX_DWC_FC_ACP5 (DWC_OFFSET_MASK + 0x108D) ++#define HDMITX_DWC_FC_ACP4 (DWC_OFFSET_MASK + 0x108E) ++#define HDMITX_DWC_FC_ACP3 (DWC_OFFSET_MASK + 0x108F) ++#define HDMITX_DWC_FC_ACP2 (DWC_OFFSET_MASK + 0x1090) ++#define HDMITX_DWC_FC_ACP1 (DWC_OFFSET_MASK + 0x1091) ++#define HDMITX_DWC_FC_ISCR1_0 (DWC_OFFSET_MASK + 0x1092) ++#define HDMITX_DWC_FC_ISCR1_16 (DWC_OFFSET_MASK + 0x1093) ++#define HDMITX_DWC_FC_ISCR1_15 (DWC_OFFSET_MASK + 0x1094) ++#define HDMITX_DWC_FC_ISCR1_14 (DWC_OFFSET_MASK + 0x1095) ++#define HDMITX_DWC_FC_ISCR1_13 (DWC_OFFSET_MASK + 0x1096) ++#define HDMITX_DWC_FC_ISCR1_12 (DWC_OFFSET_MASK + 0x1097) ++#define HDMITX_DWC_FC_ISCR1_11 (DWC_OFFSET_MASK + 0x1098) ++#define HDMITX_DWC_FC_ISCR1_10 (DWC_OFFSET_MASK + 0x1099) ++#define HDMITX_DWC_FC_ISCR1_9 (DWC_OFFSET_MASK + 0x109A) ++#define HDMITX_DWC_FC_ISCR1_8 (DWC_OFFSET_MASK + 0x109B) ++#define HDMITX_DWC_FC_ISCR1_7 (DWC_OFFSET_MASK + 0x109C) ++#define HDMITX_DWC_FC_ISCR1_6 (DWC_OFFSET_MASK + 0x109D) ++#define HDMITX_DWC_FC_ISCR1_5 (DWC_OFFSET_MASK + 0x109E) ++#define HDMITX_DWC_FC_ISCR1_4 (DWC_OFFSET_MASK + 0x109F) ++#define HDMITX_DWC_FC_ISCR1_3 (DWC_OFFSET_MASK + 0x10A0) ++#define HDMITX_DWC_FC_ISCR1_2 (DWC_OFFSET_MASK + 0x10A1) ++#define HDMITX_DWC_FC_ISCR1_1 (DWC_OFFSET_MASK + 0x10A2) ++#define HDMITX_DWC_FC_ISCR0_15 (DWC_OFFSET_MASK + 0x10A3) ++#define HDMITX_DWC_FC_ISCR0_14 (DWC_OFFSET_MASK + 0x10A4) ++#define HDMITX_DWC_FC_ISCR0_13 (DWC_OFFSET_MASK + 0x10A5) ++#define HDMITX_DWC_FC_ISCR0_12 (DWC_OFFSET_MASK + 0x10A6) ++#define HDMITX_DWC_FC_ISCR0_11 (DWC_OFFSET_MASK + 0x10A7) ++#define HDMITX_DWC_FC_ISCR0_10 (DWC_OFFSET_MASK + 0x10A8) ++#define HDMITX_DWC_FC_ISCR0_9 (DWC_OFFSET_MASK + 0x10A9) ++#define HDMITX_DWC_FC_ISCR0_8 (DWC_OFFSET_MASK + 0x10AA) ++#define HDMITX_DWC_FC_ISCR0_7 (DWC_OFFSET_MASK + 0x10AB) ++#define HDMITX_DWC_FC_ISCR0_6 (DWC_OFFSET_MASK + 0x10AC) ++#define HDMITX_DWC_FC_ISCR0_5 (DWC_OFFSET_MASK + 0x10AD) ++#define HDMITX_DWC_FC_ISCR0_4 (DWC_OFFSET_MASK + 0x10AE) ++#define HDMITX_DWC_FC_ISCR0_3 (DWC_OFFSET_MASK + 0x10AF) ++#define HDMITX_DWC_FC_ISCR0_2 (DWC_OFFSET_MASK + 0x10B0) ++#define HDMITX_DWC_FC_ISCR0_1 (DWC_OFFSET_MASK + 0x10B1) ++#define HDMITX_DWC_FC_ISCR0_0 (DWC_OFFSET_MASK + 0x10B2) ++/* [ 4] spd_auto */ ++/* [ 3] vsd_auto */ ++/* [ 2] isrc2_auto */ ++/* [ 1] isrc1_auto */ ++/* [ 0] acp_auto */ ++#define HDMITX_DWC_FC_DATAUTO0 (DWC_OFFSET_MASK + 0x10B3) ++#define HDMITX_DWC_FC_DATAUTO1 (DWC_OFFSET_MASK + 0x10B4) ++#define HDMITX_DWC_FC_DATAUTO2 (DWC_OFFSET_MASK + 0x10B5) ++#define HDMITX_DWC_FC_DATMAN (DWC_OFFSET_MASK + 0x10B6) ++/* [ 5] nvbi_auto: insert on Vsync */ ++/* [ 4] amp_auto: insert on Vsync */ ++/* [ 3] avi_auto: insert on Vsync */ ++/* [ 2] gcp_auto: insert on Vsync */ ++/* [ 1] audi_auto: insert on Vsync */ ++/* [ 0] acr_auto: insert on CTS update. Assert this bit later to avoid ++ * inital packets with false CTS value ++ */ ++#define HDMITX_DWC_FC_DATAUTO3 (DWC_OFFSET_MASK + 0x10B7) ++#define HDMITX_DWC_FC_RDRB0 (DWC_OFFSET_MASK + 0x10B8) ++#define HDMITX_DWC_FC_RDRB1 (DWC_OFFSET_MASK + 0x10B9) ++#define HDMITX_DWC_FC_RDRB2 (DWC_OFFSET_MASK + 0x10BA) ++#define HDMITX_DWC_FC_RDRB3 (DWC_OFFSET_MASK + 0x10BB) ++#define HDMITX_DWC_FC_RDRB4 (DWC_OFFSET_MASK + 0x10BC) ++#define HDMITX_DWC_FC_RDRB5 (DWC_OFFSET_MASK + 0x10BD) ++#define HDMITX_DWC_FC_RDRB6 (DWC_OFFSET_MASK + 0x10BE) ++#define HDMITX_DWC_FC_RDRB7 (DWC_OFFSET_MASK + 0x10BF) ++#define HDMITX_DWC_FC_RDRB8 (DWC_OFFSET_MASK + 0x10C0) ++#define HDMITX_DWC_FC_RDRB9 (DWC_OFFSET_MASK + 0x10C1) ++#define HDMITX_DWC_FC_RDRB10 (DWC_OFFSET_MASK + 0x10C2) ++#define HDMITX_DWC_FC_RDRB11 (DWC_OFFSET_MASK + 0x10C3) ++/* [ 7] AUDI_int_mask */ ++/* [ 6] ACP_int_mask */ ++/* [ 5] HBR_int_mask */ ++/* [ 2] AUDS_int_mask */ ++/* [ 1] ACR_int_mask */ ++/* [ 0] NULL_int_mask */ ++#define HDMITX_DWC_FC_MASK0 (DWC_OFFSET_MASK + 0x10D2) ++/* [ 7] GMD_int_mask */ ++/* [ 6] ISRC1_int_mask */ ++/* [ 5] ISRC2_int_mask */ ++/* [ 4] VSD_int_mask */ ++/* [ 3] SPD_int_mask */ ++/* [ 1] AVI_int_mask */ ++/* [ 0] GCP_int_mask */ ++#define HDMITX_DWC_FC_MASK1 (DWC_OFFSET_MASK + 0x10D6) ++/* [ 1] LowPriority_fifo_full */ ++/* [ 0] HighPriority_fifo_full */ ++#define HDMITX_DWC_FC_MASK2 (DWC_OFFSET_MASK + 0x10DA) ++/* [7:4] incoming_pr_factor */ ++/* [3:0] output_pr_factor */ ++#define HDMITX_DWC_FC_PRCONF (DWC_OFFSET_MASK + 0x10E0) ++/* [ 4] scrambler_ucp_line */ ++/* [ 0] scrambler_en. Only update this bit once we've sent SCDC message*/ ++#define HDMITX_DWC_FC_SCRAMBLER_CTRL (DWC_OFFSET_MASK + 0x10E1) ++#define HDMITX_DWC_FC_MULTISTREAM_CTRL (DWC_OFFSET_MASK + 0x10E2) ++/* [ 6] nvbi_tx_en */ ++/* [ 5] amp_tx_en */ ++/* [ 4] aut_tx_en */ ++/* [ 3] audi_tx_en */ ++/* [ 2] avi_tx_en */ ++/* [ 1] gcp_tx_en */ ++/* [ 0] acr_tx_en */ ++#define HDMITX_DWC_FC_PACKET_TX_EN (DWC_OFFSET_MASK + 0x10E3) ++/* [ 1] actspc_hdlr_tgl */ ++/* [ 0] actspc_hdlr_en */ ++#define HDMITX_DWC_FC_ACTSPC_HDLR_CFG (DWC_OFFSET_MASK + 0x10E8) ++#define HDMITX_DWC_FC_INVACT_2D_0 (DWC_OFFSET_MASK + 0x10E9) ++/* [3:0] fc_invact_2d_0[11:8] */ ++/* [7:0] fc_invact_2d_0[7:0] */ ++#define HDMITX_DWC_FC_INVACT_2D_1 (DWC_OFFSET_MASK + 0x10EA) ++ ++#define HDMITX_DWC_FC_GMD_STAT (DWC_OFFSET_MASK + 0x1100) ++#define HDMITX_DWC_FC_GMD_EN (DWC_OFFSET_MASK + 0x1101) ++#define HDMITX_DWC_FC_GMD_UP (DWC_OFFSET_MASK + 0x1102) ++#define HDMITX_DWC_FC_GMD_CONF (DWC_OFFSET_MASK + 0x1103) ++#define HDMITX_DWC_FC_GMD_HB (DWC_OFFSET_MASK + 0x1104) ++#define HDMITX_DWC_FC_GMD_PB0 (DWC_OFFSET_MASK + 0x1105) ++#define HDMITX_DWC_FC_GMD_PB1 (DWC_OFFSET_MASK + 0x1106) ++#define HDMITX_DWC_FC_GMD_PB2 (DWC_OFFSET_MASK + 0x1107) ++#define HDMITX_DWC_FC_GMD_PB3 (DWC_OFFSET_MASK + 0x1108) ++#define HDMITX_DWC_FC_GMD_PB4 (DWC_OFFSET_MASK + 0x1109) ++#define HDMITX_DWC_FC_GMD_PB5 (DWC_OFFSET_MASK + 0x110A) ++#define HDMITX_DWC_FC_GMD_PB6 (DWC_OFFSET_MASK + 0x110B) ++#define HDMITX_DWC_FC_GMD_PB7 (DWC_OFFSET_MASK + 0x110C) ++#define HDMITX_DWC_FC_GMD_PB8 (DWC_OFFSET_MASK + 0x110D) ++#define HDMITX_DWC_FC_GMD_PB9 (DWC_OFFSET_MASK + 0x110E) ++#define HDMITX_DWC_FC_GMD_PB10 (DWC_OFFSET_MASK + 0x110F) ++#define HDMITX_DWC_FC_GMD_PB11 (DWC_OFFSET_MASK + 0x1110) ++#define HDMITX_DWC_FC_GMD_PB12 (DWC_OFFSET_MASK + 0x1111) ++#define HDMITX_DWC_FC_GMD_PB13 (DWC_OFFSET_MASK + 0x1112) ++#define HDMITX_DWC_FC_GMD_PB14 (DWC_OFFSET_MASK + 0x1113) ++#define HDMITX_DWC_FC_GMD_PB15 (DWC_OFFSET_MASK + 0x1114) ++#define HDMITX_DWC_FC_GMD_PB16 (DWC_OFFSET_MASK + 0x1115) ++#define HDMITX_DWC_FC_GMD_PB17 (DWC_OFFSET_MASK + 0x1116) ++#define HDMITX_DWC_FC_GMD_PB18 (DWC_OFFSET_MASK + 0x1117) ++#define HDMITX_DWC_FC_GMD_PB19 (DWC_OFFSET_MASK + 0x1118) ++#define HDMITX_DWC_FC_GMD_PB20 (DWC_OFFSET_MASK + 0x1119) ++#define HDMITX_DWC_FC_GMD_PB21 (DWC_OFFSET_MASK + 0x111A) ++#define HDMITX_DWC_FC_GMD_PB22 (DWC_OFFSET_MASK + 0x111B) ++#define HDMITX_DWC_FC_GMD_PB23 (DWC_OFFSET_MASK + 0x111C) ++#define HDMITX_DWC_FC_GMD_PB24 (DWC_OFFSET_MASK + 0x111D) ++#define HDMITX_DWC_FC_GMD_PB25 (DWC_OFFSET_MASK + 0x111E) ++#define HDMITX_DWC_FC_GMD_PB26 (DWC_OFFSET_MASK + 0x111F) ++#define HDMITX_DWC_FC_GMD_PB27 (DWC_OFFSET_MASK + 0x1120) ++ ++/* Audio Metadata Packet Registers */ ++#define HDMITX_DWC_FC_AMP_HB01 (DWC_OFFSET_MASK + 0x1128) ++#define HDMITX_DWC_FC_AMP_HB02 (DWC_OFFSET_MASK + 0x1129) ++#define HDMITX_DWC_FC_AMP_PB00 (DWC_OFFSET_MASK + 0x112A) ++#define HDMITX_DWC_FC_AMP_PB01 (DWC_OFFSET_MASK + 0x112B) ++#define HDMITX_DWC_FC_AMP_PB02 (DWC_OFFSET_MASK + 0x112C) ++#define HDMITX_DWC_FC_AMP_PB03 (DWC_OFFSET_MASK + 0x112D) ++#define HDMITX_DWC_FC_AMP_PB04 (DWC_OFFSET_MASK + 0x112E) ++#define HDMITX_DWC_FC_AMP_PB05 (DWC_OFFSET_MASK + 0x112F) ++#define HDMITX_DWC_FC_AMP_PB06 (DWC_OFFSET_MASK + 0x1130) ++#define HDMITX_DWC_FC_AMP_PB07 (DWC_OFFSET_MASK + 0x1131) ++#define HDMITX_DWC_FC_AMP_PB08 (DWC_OFFSET_MASK + 0x1132) ++#define HDMITX_DWC_FC_AMP_PB09 (DWC_OFFSET_MASK + 0x1133) ++#define HDMITX_DWC_FC_AMP_PB10 (DWC_OFFSET_MASK + 0x1134) ++#define HDMITX_DWC_FC_AMP_PB11 (DWC_OFFSET_MASK + 0x1135) ++#define HDMITX_DWC_FC_AMP_PB12 (DWC_OFFSET_MASK + 0x1136) ++#define HDMITX_DWC_FC_AMP_PB13 (DWC_OFFSET_MASK + 0x1137) ++#define HDMITX_DWC_FC_AMP_PB14 (DWC_OFFSET_MASK + 0x1138) ++#define HDMITX_DWC_FC_AMP_PB15 (DWC_OFFSET_MASK + 0x1139) ++#define HDMITX_DWC_FC_AMP_PB16 (DWC_OFFSET_MASK + 0x113A) ++#define HDMITX_DWC_FC_AMP_PB17 (DWC_OFFSET_MASK + 0x113B) ++#define HDMITX_DWC_FC_AMP_PB18 (DWC_OFFSET_MASK + 0x113C) ++#define HDMITX_DWC_FC_AMP_PB19 (DWC_OFFSET_MASK + 0x113D) ++#define HDMITX_DWC_FC_AMP_PB20 (DWC_OFFSET_MASK + 0x113E) ++#define HDMITX_DWC_FC_AMP_PB21 (DWC_OFFSET_MASK + 0x113F) ++#define HDMITX_DWC_FC_AMP_PB22 (DWC_OFFSET_MASK + 0x1140) ++#define HDMITX_DWC_FC_AMP_PB23 (DWC_OFFSET_MASK + 0x1141) ++#define HDMITX_DWC_FC_AMP_PB24 (DWC_OFFSET_MASK + 0x1142) ++#define HDMITX_DWC_FC_AMP_PB25 (DWC_OFFSET_MASK + 0x1143) ++#define HDMITX_DWC_FC_AMP_PB26 (DWC_OFFSET_MASK + 0x1144) ++#define HDMITX_DWC_FC_AMP_PB27 (DWC_OFFSET_MASK + 0x1145) ++ ++/* NTSC VBI Packet Registers */ ++#define HDMITX_DWC_FC_NVBI_HB01 (DWC_OFFSET_MASK + 0x1148) ++#define HDMITX_DWC_FC_NVBI_HB02 (DWC_OFFSET_MASK + 0x1149) ++#define HDMITX_DWC_FC_NVBI_PB01 (DWC_OFFSET_MASK + 0x114A) ++#define HDMITX_DWC_FC_NVBI_PB02 (DWC_OFFSET_MASK + 0x114B) ++#define HDMITX_DWC_FC_NVBI_PB03 (DWC_OFFSET_MASK + 0x114C) ++#define HDMITX_DWC_FC_NVBI_PB04 (DWC_OFFSET_MASK + 0x114D) ++#define HDMITX_DWC_FC_NVBI_PB05 (DWC_OFFSET_MASK + 0x114E) ++#define HDMITX_DWC_FC_NVBI_PB06 (DWC_OFFSET_MASK + 0x114F) ++#define HDMITX_DWC_FC_NVBI_PB07 (DWC_OFFSET_MASK + 0x1150) ++#define HDMITX_DWC_FC_NVBI_PB08 (DWC_OFFSET_MASK + 0x1151) ++#define HDMITX_DWC_FC_NVBI_PB09 (DWC_OFFSET_MASK + 0x1152) ++#define HDMITX_DWC_FC_NVBI_PB10 (DWC_OFFSET_MASK + 0x1153) ++#define HDMITX_DWC_FC_NVBI_PB11 (DWC_OFFSET_MASK + 0x1154) ++#define HDMITX_DWC_FC_NVBI_PB12 (DWC_OFFSET_MASK + 0x1155) ++#define HDMITX_DWC_FC_NVBI_PB13 (DWC_OFFSET_MASK + 0x1156) ++#define HDMITX_DWC_FC_NVBI_PB14 (DWC_OFFSET_MASK + 0x1157) ++#define HDMITX_DWC_FC_NVBI_PB15 (DWC_OFFSET_MASK + 0x1158) ++#define HDMITX_DWC_FC_NVBI_PB16 (DWC_OFFSET_MASK + 0x1159) ++#define HDMITX_DWC_FC_NVBI_PB17 (DWC_OFFSET_MASK + 0x115A) ++#define HDMITX_DWC_FC_NVBI_PB18 (DWC_OFFSET_MASK + 0x115B) ++#define HDMITX_DWC_FC_NVBI_PB19 (DWC_OFFSET_MASK + 0x115C) ++#define HDMITX_DWC_FC_NVBI_PB20 (DWC_OFFSET_MASK + 0x115D) ++#define HDMITX_DWC_FC_NVBI_PB21 (DWC_OFFSET_MASK + 0x115E) ++#define HDMITX_DWC_FC_NVBI_PB22 (DWC_OFFSET_MASK + 0x115F) ++#define HDMITX_DWC_FC_NVBI_PB23 (DWC_OFFSET_MASK + 0x1160) ++#define HDMITX_DWC_FC_NVBI_PB24 (DWC_OFFSET_MASK + 0x1161) ++#define HDMITX_DWC_FC_NVBI_PB25 (DWC_OFFSET_MASK + 0x1162) ++#define HDMITX_DWC_FC_NVBI_PB26 (DWC_OFFSET_MASK + 0x1163) ++#define HDMITX_DWC_FC_NVBI_PB27 (DWC_OFFSET_MASK + 0x1164) ++#define HDMITX_DWC_FC_DRM_HB01 (DWC_OFFSET_MASK + 0x1168) ++#define HDMITX_DWC_FC_DRM_HB02 (DWC_OFFSET_MASK + 0x1169) ++#define HDMITX_DWC_FC_DRM_PB00 (DWC_OFFSET_MASK + 0x116A) ++#define HDMITX_DWC_FC_DRM_PB01 (DWC_OFFSET_MASK + 0x116B) ++#define HDMITX_DWC_FC_DRM_PB02 (DWC_OFFSET_MASK + 0x116C) ++#define HDMITX_DWC_FC_DRM_PB03 (DWC_OFFSET_MASK + 0x116D) ++#define HDMITX_DWC_FC_DRM_PB04 (DWC_OFFSET_MASK + 0x116E) ++#define HDMITX_DWC_FC_DRM_PB05 (DWC_OFFSET_MASK + 0x116F) ++#define HDMITX_DWC_FC_DRM_PB06 (DWC_OFFSET_MASK + 0x1170) ++#define HDMITX_DWC_FC_DRM_PB07 (DWC_OFFSET_MASK + 0x1171) ++#define HDMITX_DWC_FC_DRM_PB08 (DWC_OFFSET_MASK + 0x1172) ++#define HDMITX_DWC_FC_DRM_PB09 (DWC_OFFSET_MASK + 0x1173) ++#define HDMITX_DWC_FC_DRM_PB10 (DWC_OFFSET_MASK + 0x1174) ++#define HDMITX_DWC_FC_DRM_PB11 (DWC_OFFSET_MASK + 0x1175) ++#define HDMITX_DWC_FC_DRM_PB12 (DWC_OFFSET_MASK + 0x1176) ++#define HDMITX_DWC_FC_DRM_PB13 (DWC_OFFSET_MASK + 0x1177) ++#define HDMITX_DWC_FC_DRM_PB14 (DWC_OFFSET_MASK + 0x1178) ++#define HDMITX_DWC_FC_DRM_PB15 (DWC_OFFSET_MASK + 0x1179) ++#define HDMITX_DWC_FC_DRM_PB16 (DWC_OFFSET_MASK + 0x117A) ++#define HDMITX_DWC_FC_DRM_PB17 (DWC_OFFSET_MASK + 0x117B) ++#define HDMITX_DWC_FC_DRM_PB18 (DWC_OFFSET_MASK + 0x117C) ++#define HDMITX_DWC_FC_DRM_PB19 (DWC_OFFSET_MASK + 0x117D) ++#define HDMITX_DWC_FC_DRM_PB20 (DWC_OFFSET_MASK + 0x117E) ++#define HDMITX_DWC_FC_DRM_PB21 (DWC_OFFSET_MASK + 0x117F) ++#define HDMITX_DWC_FC_DRM_PB22 (DWC_OFFSET_MASK + 0x1180) ++#define HDMITX_DWC_FC_DRM_PB23 (DWC_OFFSET_MASK + 0x1181) ++#define HDMITX_DWC_FC_DRM_PB24 (DWC_OFFSET_MASK + 0x1182) ++#define HDMITX_DWC_FC_DRM_PB25 (DWC_OFFSET_MASK + 0x1183) ++#define HDMITX_DWC_FC_DRM_PB26 (DWC_OFFSET_MASK + 0x1184) ++ ++#define HDMITX_DWC_FC_DBGFORCE (DWC_OFFSET_MASK + 0x1200) ++#define HDMITX_DWC_FC_DBGAUD0CH0 (DWC_OFFSET_MASK + 0x1201) ++#define HDMITX_DWC_FC_DBGAUD1CH0 (DWC_OFFSET_MASK + 0x1202) ++#define HDMITX_DWC_FC_DBGAUD2CH0 (DWC_OFFSET_MASK + 0x1203) ++#define HDMITX_DWC_FC_DBGAUD0CH1 (DWC_OFFSET_MASK + 0x1204) ++#define HDMITX_DWC_FC_DBGAUD1CH1 (DWC_OFFSET_MASK + 0x1205) ++#define HDMITX_DWC_FC_DBGAUD2CH1 (DWC_OFFSET_MASK + 0x1206) ++#define HDMITX_DWC_FC_DBGAUD0CH2 (DWC_OFFSET_MASK + 0x1207) ++#define HDMITX_DWC_FC_DBGAUD1CH2 (DWC_OFFSET_MASK + 0x1208) ++#define HDMITX_DWC_FC_DBGAUD2CH2 (DWC_OFFSET_MASK + 0x1209) ++#define HDMITX_DWC_FC_DBGAUD0CH3 (DWC_OFFSET_MASK + 0x120A) ++#define HDMITX_DWC_FC_DBGAUD1CH3 (DWC_OFFSET_MASK + 0x120B) ++#define HDMITX_DWC_FC_DBGAUD2CH3 (DWC_OFFSET_MASK + 0x120C) ++#define HDMITX_DWC_FC_DBGAUD0CH4 (DWC_OFFSET_MASK + 0x120D) ++#define HDMITX_DWC_FC_DBGAUD1CH4 (DWC_OFFSET_MASK + 0x120E) ++#define HDMITX_DWC_FC_DBGAUD2CH4 (DWC_OFFSET_MASK + 0x120F) ++#define HDMITX_DWC_FC_DBGAUD0CH5 (DWC_OFFSET_MASK + 0x1210) ++#define HDMITX_DWC_FC_DBGAUD1CH5 (DWC_OFFSET_MASK + 0x1211) ++#define HDMITX_DWC_FC_DBGAUD2CH5 (DWC_OFFSET_MASK + 0x1212) ++#define HDMITX_DWC_FC_DBGAUD0CH6 (DWC_OFFSET_MASK + 0x1213) ++#define HDMITX_DWC_FC_DBGAUD1CH6 (DWC_OFFSET_MASK + 0x1214) ++#define HDMITX_DWC_FC_DBGAUD2CH6 (DWC_OFFSET_MASK + 0x1215) ++#define HDMITX_DWC_FC_DBGAUD0CH7 (DWC_OFFSET_MASK + 0x1216) ++#define HDMITX_DWC_FC_DBGAUD1CH7 (DWC_OFFSET_MASK + 0x1217) ++#define HDMITX_DWC_FC_DBGAUD2CH7 (DWC_OFFSET_MASK + 0x1218) ++#define HDMITX_DWC_FC_DBGTMDS0 (DWC_OFFSET_MASK + 0x1219) ++#define HDMITX_DWC_FC_DBGTMDS1 (DWC_OFFSET_MASK + 0x121A) ++#define HDMITX_DWC_FC_DBGTMDS2 (DWC_OFFSET_MASK + 0x121B) ++ ++/* HDMI Source PHY Registers */ ++#define HDMITX_DWC_PHY_CONF0 (DWC_OFFSET_MASK + 0x3000) ++#define HDMITX_DWC_PHY_TST0 (DWC_OFFSET_MASK + 0x3001) ++#define HDMITX_DWC_PHY_TST1 (DWC_OFFSET_MASK + 0x3002) ++#define HDMITX_DWC_PHY_TST2 (DWC_OFFSET_MASK + 0x3003) ++#define HDMITX_DWC_PHY_STAT0 (DWC_OFFSET_MASK + 0x3004) ++#define HDMITX_DWC_PHY_INT0 (DWC_OFFSET_MASK + 0x3005) ++#define HDMITX_DWC_PHY_MASK0 (DWC_OFFSET_MASK + 0x3006) ++#define HDMITX_DWC_PHY_POL0 (DWC_OFFSET_MASK + 0x3007) ++ ++/* I2C Master PHY Registers */ ++#define HDMITX_DWC_I2CM_PHY_SLAVE (DWC_OFFSET_MASK + 0x3020) ++#define HDMITX_DWC_I2CM_PHY_ADDRESS (DWC_OFFSET_MASK + 0x3021) ++#define HDMITX_DWC_I2CM_PHY_DATAO_1 (DWC_OFFSET_MASK + 0x3022) ++#define HDMITX_DWC_I2CM_PHY_DATAO_0 (DWC_OFFSET_MASK + 0x3023) ++#define HDMITX_DWC_I2CM_PHY_DATAI_1 (DWC_OFFSET_MASK + 0x3024) ++#define HDMITX_DWC_I2CM_PHY_DATAI_0 (DWC_OFFSET_MASK + 0x3025) ++#define HDMITX_DWC_I2CM_PHY_OPERATION (DWC_OFFSET_MASK + 0x3026) ++#define HDMITX_DWC_I2CM_PHY_INT (DWC_OFFSET_MASK + 0x3027) ++#define HDMITX_DWC_I2CM_PHY_CTLINT (DWC_OFFSET_MASK + 0x3028) ++#define HDMITX_DWC_I2CM_PHY_DIV (DWC_OFFSET_MASK + 0x3029) ++#define HDMITX_DWC_I2CM_PHY_SOFTRSTZ (DWC_OFFSET_MASK + 0x302A) ++#define HDMITX_DWC_I2CM_PHY_SS_SCL_HCNT_1 (DWC_OFFSET_MASK + 0x302B) ++#define HDMITX_DWC_I2CM_PHY_SS_SCL_HCNT_0 (DWC_OFFSET_MASK + 0x302C) ++#define HDMITX_DWC_I2CM_PHY_SS_SCL_LCNT_1 (DWC_OFFSET_MASK + 0x302D) ++#define HDMITX_DWC_I2CM_PHY_SS_SCL_LCNT_0 (DWC_OFFSET_MASK + 0x302E) ++#define HDMITX_DWC_I2CM_PHY_FS_SCL_HCNT_1 (DWC_OFFSET_MASK + 0x302F) ++#define HDMITX_DWC_I2CM_PHY_FS_SCL_HCNT_0 (DWC_OFFSET_MASK + 0x3030) ++#define HDMITX_DWC_I2CM_PHY_FS_SCL_LCNT_1 (DWC_OFFSET_MASK + 0x3031) ++#define HDMITX_DWC_I2CM_PHY_FS_SCL_LCNT_0 (DWC_OFFSET_MASK + 0x3032) ++#define HDMITX_DWC_I2CM_PHY_SDA_HOLD (DWC_OFFSET_MASK + 0x3033) ++ ++/* Audio Sampler Registers */ ++ ++ /* [ 7] sw_audio_fifo_rst */ ++ /* [ 5] 0=select SPDIF; 1=select I2S. */ ++ /* [3:0] i2s_in_en: enable it later in test.c */ ++ ++#define HDMITX_DWC_AUD_CONF0 (DWC_OFFSET_MASK + 0x3100) ++/* [4:0] i2s_width */ ++/* [7:5] i2s_mode: 0=standard I2S mode */ ++#define HDMITX_DWC_AUD_CONF1 (DWC_OFFSET_MASK + 0x3101) ++/* [ 3] fifo_empty_mask: 0=enable int; 1=mask int. */ ++/* [ 2] fifo_full_mask: 0=enable int; 1=mask int. */ ++#define HDMITX_DWC_AUD_INT (DWC_OFFSET_MASK + 0x3102) ++ /* [ 1] NLPCM */ ++#define HDMITX_DWC_AUD_CONF2 (DWC_OFFSET_MASK + 0x3103) ++ ++/* [ 4] fifo_overrun_mask: 0=enable int; 1=mask int. ++ * Enable it later when audio starts. ++ */ ++#define HDMITX_DWC_AUD_INT1 (DWC_OFFSET_MASK + 0x3104) ++ ++#define HDMITX_DWC_AUD_N1 (DWC_OFFSET_MASK + 0x3200) ++#define HDMITX_DWC_AUD_N2 (DWC_OFFSET_MASK + 0x3201) ++#define HDMITX_DWC_AUD_N3 (DWC_OFFSET_MASK + 0x3202) ++#define HDMITX_DWC_AUD_CTS1 (DWC_OFFSET_MASK + 0x3203) ++#define HDMITX_DWC_AUD_CTS2 (DWC_OFFSET_MASK + 0x3204) ++#define HDMITX_DWC_AUD_CTS3 (DWC_OFFSET_MASK + 0x3205) ++#define HDMITX_DWC_AUD_INPUTCLKFS (DWC_OFFSET_MASK + 0x3206) ++/* [ 7] sw_audio_fifo_rst */ ++#define HDMITX_DWC_AUD_SPDIF0 (DWC_OFFSET_MASK + 0x3300) ++/* [4:0] spdif_width */ ++/* [ 7] setnlpcm */ ++#define HDMITX_DWC_AUD_SPDIF1 (DWC_OFFSET_MASK + 0x3301) ++/* [ 3] SPDIF fifo_empty_mask: 0=enable int; 1=mask int. */ ++/* [ 2] SPDIF fifo_full_mask: 0=enable int; 1=mask int. */ ++#define HDMITX_DWC_AUD_SPDIFINT (DWC_OFFSET_MASK + 0x3302) ++/* [ 4] SPDIF fifo_overrun_mask: 0=enable int; 1=mask int. */ ++#define HDMITX_DWC_AUD_SPDIFINT1 (DWC_OFFSET_MASK + 0x3303) ++ ++/* Generic Parallel Audio Interface Registers (DWC_OFFSET_MASK + 0x3500) */ ++/* Audio DMA Registers (DWC_OFFSET_MASK + 0x3600) */ ++ ++/* Main Controller Registers */ ++/* [ 6] hdcpclk_disable */ ++/* [ 5] cecclk_disable */ ++/* [ 4] cscclk_disable */ ++/* [ 3] audclk_disable */ ++/* [ 2] prepclk_disable */ ++/* [ 1] tmdsclk_disable */ ++/* [ 0] pixelclk_disable */ ++#define HDMITX_DWC_MC_CLKDIS (DWC_OFFSET_MASK + 0x4001) ++/* ++ * [ 7] gpaswrst_req: 0=generate reset pulse; 1=no reset. ++ * [ 6] cecswrst_req: 0=generate reset pulse; 1=no reset. ++ * [ 4] spdifswrst_req: 0=generate reset pulse; 1=no reset. ++ * [ 3] i2sswrst_req: 0=generate reset pulse; 1=no reset. ++ * [ 2] prepswrst_req: 0=generate reset pulse; 1=no reset. ++ * [ 1] tmdsswrst_req: 0=generate reset pulse; 1=no reset. ++ * [ 0] pixelswrst_req: 0=generate reset pulse; 1=no reset. ++ */ ++#define HDMITX_DWC_MC_SWRSTZREQ (DWC_OFFSET_MASK + 0x4002) ++#define HDMITX_DWC_MC_OPCTRL (DWC_OFFSET_MASK + 0x4003) ++/* [ 0] CSC enable */ ++#define HDMITX_DWC_MC_FLOWCTRL (DWC_OFFSET_MASK + 0x4004) ++#define HDMITX_DWC_MC_PHYRSTZ (DWC_OFFSET_MASK + 0x4005) ++#define HDMITX_DWC_MC_LOCKONCLOCK (DWC_OFFSET_MASK + 0x4006) ++ ++/* Color Space Converter Registers */ ++/* [ 7] csc_limit */ ++#define HDMITX_DWC_CSC_CFG (DWC_OFFSET_MASK + 0x4100) ++#define HDMITX_DWC_CSC_SCALE (DWC_OFFSET_MASK + 0x4101) ++#define HDMITX_DWC_CSC_COEF_A1_MSB (DWC_OFFSET_MASK + 0x4102) ++#define HDMITX_DWC_CSC_COEF_A1_LSB (DWC_OFFSET_MASK + 0x4103) ++#define HDMITX_DWC_CSC_COEF_A2_MSB (DWC_OFFSET_MASK + 0x4104) ++#define HDMITX_DWC_CSC_COEF_A2_LSB (DWC_OFFSET_MASK + 0x4105) ++#define HDMITX_DWC_CSC_COEF_A3_MSB (DWC_OFFSET_MASK + 0x4106) ++#define HDMITX_DWC_CSC_COEF_A3_LSB (DWC_OFFSET_MASK + 0x4107) ++#define HDMITX_DWC_CSC_COEF_A4_MSB (DWC_OFFSET_MASK + 0x4108) ++#define HDMITX_DWC_CSC_COEF_A4_LSB (DWC_OFFSET_MASK + 0x4109) ++#define HDMITX_DWC_CSC_COEF_B1_MSB (DWC_OFFSET_MASK + 0x410A) ++#define HDMITX_DWC_CSC_COEF_B1_LSB (DWC_OFFSET_MASK + 0x410B) ++#define HDMITX_DWC_CSC_COEF_B2_MSB (DWC_OFFSET_MASK + 0x410C) ++#define HDMITX_DWC_CSC_COEF_B2_LSB (DWC_OFFSET_MASK + 0x410D) ++#define HDMITX_DWC_CSC_COEF_B3_MSB (DWC_OFFSET_MASK + 0x410E) ++#define HDMITX_DWC_CSC_COEF_B3_LSB (DWC_OFFSET_MASK + 0x410F) ++#define HDMITX_DWC_CSC_COEF_B4_MSB (DWC_OFFSET_MASK + 0x4110) ++#define HDMITX_DWC_CSC_COEF_B4_LSB (DWC_OFFSET_MASK + 0x4111) ++#define HDMITX_DWC_CSC_COEF_C1_MSB (DWC_OFFSET_MASK + 0x4112) ++#define HDMITX_DWC_CSC_COEF_C1_LSB (DWC_OFFSET_MASK + 0x4113) ++#define HDMITX_DWC_CSC_COEF_C2_MSB (DWC_OFFSET_MASK + 0x4114) ++#define HDMITX_DWC_CSC_COEF_C2_LSB (DWC_OFFSET_MASK + 0x4115) ++#define HDMITX_DWC_CSC_COEF_C3_MSB (DWC_OFFSET_MASK + 0x4116) ++#define HDMITX_DWC_CSC_COEF_C3_LSB (DWC_OFFSET_MASK + 0x4117) ++#define HDMITX_DWC_CSC_COEF_C4_MSB (DWC_OFFSET_MASK + 0x4118) ++#define HDMITX_DWC_CSC_COEF_C4_LSB (DWC_OFFSET_MASK + 0x4119) ++#define HDMITX_DWC_CSC_LIMIT_UP_MSB (DWC_OFFSET_MASK + 0x411A) ++#define HDMITX_DWC_CSC_LIMIT_UP_LSB (DWC_OFFSET_MASK + 0x411B) ++#define HDMITX_DWC_CSC_LIMIT_DN_MSB (DWC_OFFSET_MASK + 0x411C) ++#define HDMITX_DWC_CSC_LIMIT_DN_LSB (DWC_OFFSET_MASK + 0x411D) ++ ++/* HDCP Encryption Engine Registers */ ++#define HDMITX_DWC_A_HDCPCFG0 (DWC_SEC_OFFSET_MASK + 0x5000) ++/* [ 4] hdcp_lock */ ++/* [ 3] dissha1check */ ++/* [ 2] ph2upshiftenc */ ++/* [ 1] encryptiondisable */ ++/* [ 0] swresetn. Write 0 to activate, self-clear to 1. */ ++#define HDMITX_DWC_A_HDCPCFG1 (DWC_SEC_OFFSET_MASK + 0x5001) ++#define HDMITX_DWC_A_HDCPOBS0 (DWC_OFFSET_MASK + 0x5002) ++#define HDMITX_DWC_A_HDCPOBS1 (DWC_OFFSET_MASK + 0x5003) ++#define HDMITX_DWC_A_HDCPOBS2 (DWC_OFFSET_MASK + 0x5004) ++#define HDMITX_DWC_A_HDCPOBS3 (DWC_OFFSET_MASK + 0x5005) ++#define HDMITX_DWC_A_APIINTCLR (DWC_OFFSET_MASK + 0x5006) ++#define HDMITX_DWC_A_APIINTSTAT (DWC_OFFSET_MASK + 0x5007) ++/* [ 7] hdcp_engaged_int_mask */ ++/* [ 6] hdcp_failed_int_mask */ ++/* [ 4] i2c_nack_int_mask */ ++/* [ 3] lost_arbitration_int_mask */ ++/* [ 2] keepout_error_int_mask */ ++/* [ 1] ksv_sha1_calc_int_mask */ ++/* [ 0] ksv_access_int_mask */ ++#define HDMITX_DWC_A_APIINTMSK (DWC_OFFSET_MASK + 0x5008) ++/* [6:5] unencryptconf */ ++/* [ 4] dataenpol */ ++/* [ 3] vsyncpol */ ++/* [ 1] hsyncpol */ ++#define HDMITX_DWC_A_VIDPOLCFG (DWC_OFFSET_MASK + 0x5009) ++#define HDMITX_DWC_A_OESSWCFG (DWC_OFFSET_MASK + 0x500A) ++#define HDMITX_DWC_A_COREVERLSB (DWC_OFFSET_MASK + 0x5014) ++#define HDMITX_DWC_A_COREVERMSB (DWC_OFFSET_MASK + 0x5015) ++/* [ 3] sha1_fail */ ++/* [ 2] ksv_ctrl_update */ ++/* [ 1] Rsvd for read-only ksv_mem_access */ ++/* [ 0] ksv_mem_request */ ++#define HDMITX_DWC_A_KSVMEMCTRL (DWC_OFFSET_MASK + 0x5016) ++ ++#define HDMITX_DWC_HDCP_BSTATUS_0 (DWC_OFFSET_MASK + 0x5020) ++#define HDMITX_DWC_HDCP_BSTATUS_1 (DWC_OFFSET_MASK + 0x5021) ++#define HDMITX_DWC_HDCP_M0_0 (DWC_OFFSET_MASK + 0x5022) ++#define HDMITX_DWC_HDCP_M0_1 (DWC_OFFSET_MASK + 0x5023) ++#define HDMITX_DWC_HDCP_M0_2 (DWC_OFFSET_MASK + 0x5024) ++#define HDMITX_DWC_HDCP_M0_3 (DWC_OFFSET_MASK + 0x5025) ++#define HDMITX_DWC_HDCP_M0_4 (DWC_OFFSET_MASK + 0x5026) ++#define HDMITX_DWC_HDCP_M0_5 (DWC_OFFSET_MASK + 0x5027) ++#define HDMITX_DWC_HDCP_M0_6 (DWC_OFFSET_MASK + 0x5028) ++#define HDMITX_DWC_HDCP_M0_7 (DWC_OFFSET_MASK + 0x5029) ++#define HDMITX_DWC_HDCP_KSV (DWC_OFFSET_MASK + 0x502A) ++#define HDMITX_DWC_HDCP_VH (DWC_OFFSET_MASK + 0x52A5) ++#define HDMITX_DWC_HDCP_REVOC_SIZE_0 (DWC_OFFSET_MASK + 0x52B9) ++#define HDMITX_DWC_HDCP_REVOC_SIZE_1 (DWC_OFFSET_MASK + 0x52BA) ++#define HDMITX_DWC_HDCP_REVOC_LIST (DWC_OFFSET_MASK + 0x52BB) ++ ++/* HDCP BKSV Registers */ ++#define HDMITX_DWC_HDCPREG_BKSV0 (DWC_OFFSET_MASK + 0x7800) ++#define HDMITX_DWC_HDCPREG_BKSV1 (DWC_OFFSET_MASK + 0x7801) ++#define HDMITX_DWC_HDCPREG_BKSV2 (DWC_OFFSET_MASK + 0x7802) ++#define HDMITX_DWC_HDCPREG_BKSV3 (DWC_OFFSET_MASK + 0x7803) ++#define HDMITX_DWC_HDCPREG_BKSV4 (DWC_OFFSET_MASK + 0x7804) ++ ++/* HDCP AN Registers */ ++#define HDMITX_DWC_HDCPREG_ANCONF (DWC_OFFSET_MASK + 0x7805) ++#define HDMITX_DWC_HDCPREG_AN0 (DWC_OFFSET_MASK + 0x7806) ++#define HDMITX_DWC_HDCPREG_AN1 (DWC_OFFSET_MASK + 0x7807) ++#define HDMITX_DWC_HDCPREG_AN2 (DWC_OFFSET_MASK + 0x7808) ++#define HDMITX_DWC_HDCPREG_AN3 (DWC_OFFSET_MASK + 0x7809) ++#define HDMITX_DWC_HDCPREG_AN4 (DWC_OFFSET_MASK + 0x780A) ++#define HDMITX_DWC_HDCPREG_AN5 (DWC_OFFSET_MASK + 0x780B) ++#define HDMITX_DWC_HDCPREG_AN6 (DWC_OFFSET_MASK + 0x780C) ++#define HDMITX_DWC_HDCPREG_AN7 (DWC_OFFSET_MASK + 0x780D) ++#define HDMITX_DWC_HDCPREG_RMLCTL (DWC_OFFSET_MASK + 0x780E) ++ ++/* Encrypted DPK Embedded Storage Registers */ ++#define HDMITX_DWC_HDCPREG_RMLSTS (DWC_OFFSET_MASK + 0x780F) ++#define HDMITX_DWC_HDCPREG_SEED0 (DWC_SEC_OFFSET_MASK + 0x7810) ++#define HDMITX_DWC_HDCPREG_SEED1 (DWC_SEC_OFFSET_MASK + 0x7811) ++#define HDMITX_DWC_HDCPREG_DPK0 (DWC_SEC_OFFSET_MASK + 0x7812) ++#define HDMITX_DWC_HDCPREG_DPK1 (DWC_SEC_OFFSET_MASK + 0x7813) ++#define HDMITX_DWC_HDCPREG_DPK2 (DWC_SEC_OFFSET_MASK + 0x7814) ++#define HDMITX_DWC_HDCPREG_DPK3 (DWC_SEC_OFFSET_MASK + 0x7815) ++#define HDMITX_DWC_HDCPREG_DPK4 (DWC_SEC_OFFSET_MASK + 0x7816) ++#define HDMITX_DWC_HDCPREG_DPK5 (DWC_SEC_OFFSET_MASK + 0x7817) ++#define HDMITX_DWC_HDCPREG_DPK6 (DWC_SEC_OFFSET_MASK + 0x7818) ++ ++/* HDCP22 Registers */ ++#define HDMITX_DWC_HDCP22REG_ID (DWC_OFFSET_MASK + 0x7900) ++#define HDMITX_DWC_HDCP22REG_CTRL (DWC_SEC_OFFSET_MASK + 0x7904) ++#define HDMITX_DWC_HDCP22REG_CTRL1 (DWC_OFFSET_MASK + 0x7905) ++#define HDMITX_DWC_HDCP22REG_STS (DWC_OFFSET_MASK + 0x7908) ++#define HDMITX_DWC_HDCP22REG_MASK (DWC_OFFSET_MASK + 0x790C) ++#define HDMITX_DWC_HDCP22REG_STAT (DWC_OFFSET_MASK + 0x790D) ++#define HDMITX_DWC_HDCP22REG_MUTE (DWC_OFFSET_MASK + 0x790E) ++ ++ ++/* ********** CEC related ********** */ ++ ++/* CEC 2.0 Engine Registers */ ++#define HDMITX_DWC_CEC_CTRL (DWC_OFFSET_MASK + 0x7D00) ++#define HDMITX_DWC_CEC_INTR_MASK (DWC_OFFSET_MASK + 0x7D02) ++#define HDMITX_DWC_CEC_LADD_LOW (DWC_OFFSET_MASK + 0x7D05) ++#define HDMITX_DWC_CEC_LADD_HIGH (DWC_OFFSET_MASK + 0x7D06) ++#define HDMITX_DWC_CEC_TX_CNT (DWC_OFFSET_MASK + 0x7D07) ++#define HDMITX_DWC_CEC_RX_CNT (DWC_OFFSET_MASK + 0x7D08) ++#define HDMITX_DWC_CEC_TX_DATA00 (DWC_OFFSET_MASK + 0x7D10) ++#define HDMITX_DWC_CEC_TX_DATA01 (DWC_OFFSET_MASK + 0x7D11) ++#define HDMITX_DWC_CEC_TX_DATA02 (DWC_OFFSET_MASK + 0x7D12) ++#define HDMITX_DWC_CEC_TX_DATA03 (DWC_OFFSET_MASK + 0x7D13) ++#define HDMITX_DWC_CEC_TX_DATA04 (DWC_OFFSET_MASK + 0x7D14) ++#define HDMITX_DWC_CEC_TX_DATA05 (DWC_OFFSET_MASK + 0x7D15) ++#define HDMITX_DWC_CEC_TX_DATA06 (DWC_OFFSET_MASK + 0x7D16) ++#define HDMITX_DWC_CEC_TX_DATA07 (DWC_OFFSET_MASK + 0x7D17) ++#define HDMITX_DWC_CEC_TX_DATA08 (DWC_OFFSET_MASK + 0x7D18) ++#define HDMITX_DWC_CEC_TX_DATA09 (DWC_OFFSET_MASK + 0x7D19) ++#define HDMITX_DWC_CEC_TX_DATA10 (DWC_OFFSET_MASK + 0x7D1A) ++#define HDMITX_DWC_CEC_TX_DATA11 (DWC_OFFSET_MASK + 0x7D1B) ++#define HDMITX_DWC_CEC_TX_DATA12 (DWC_OFFSET_MASK + 0x7D1C) ++#define HDMITX_DWC_CEC_TX_DATA13 (DWC_OFFSET_MASK + 0x7D1D) ++#define HDMITX_DWC_CEC_TX_DATA14 (DWC_OFFSET_MASK + 0x7D1E) ++#define HDMITX_DWC_CEC_TX_DATA15 (DWC_OFFSET_MASK + 0x7D1F) ++#define HDMITX_DWC_CEC_RX_DATA00 (DWC_OFFSET_MASK + 0x7D20) ++#define HDMITX_DWC_CEC_RX_DATA01 (DWC_OFFSET_MASK + 0x7D21) ++#define HDMITX_DWC_CEC_RX_DATA02 (DWC_OFFSET_MASK + 0x7D22) ++#define HDMITX_DWC_CEC_RX_DATA03 (DWC_OFFSET_MASK + 0x7D23) ++#define HDMITX_DWC_CEC_RX_DATA04 (DWC_OFFSET_MASK + 0x7D24) ++#define HDMITX_DWC_CEC_RX_DATA05 (DWC_OFFSET_MASK + 0x7D25) ++#define HDMITX_DWC_CEC_RX_DATA06 (DWC_OFFSET_MASK + 0x7D26) ++#define HDMITX_DWC_CEC_RX_DATA07 (DWC_OFFSET_MASK + 0x7D27) ++#define HDMITX_DWC_CEC_RX_DATA08 (DWC_OFFSET_MASK + 0x7D28) ++#define HDMITX_DWC_CEC_RX_DATA09 (DWC_OFFSET_MASK + 0x7D29) ++#define HDMITX_DWC_CEC_RX_DATA10 (DWC_OFFSET_MASK + 0x7D2A) ++#define HDMITX_DWC_CEC_RX_DATA11 (DWC_OFFSET_MASK + 0x7D2B) ++#define HDMITX_DWC_CEC_RX_DATA12 (DWC_OFFSET_MASK + 0x7D2C) ++#define HDMITX_DWC_CEC_RX_DATA13 (DWC_OFFSET_MASK + 0x7D2D) ++#define HDMITX_DWC_CEC_RX_DATA14 (DWC_OFFSET_MASK + 0x7D2E) ++#define HDMITX_DWC_CEC_RX_DATA15 (DWC_OFFSET_MASK + 0x7D2F) ++#define HDMITX_DWC_CEC_LOCK_BUF (DWC_OFFSET_MASK + 0x7D30) ++#define HDMITX_DWC_CEC_WAKEUPCTRL (DWC_OFFSET_MASK + 0x7D31) ++ ++/* I2C Master Registers(E-DDC/SCDC) */ ++#define HDMITX_DWC_I2CM_SLAVE (DWC_OFFSET_MASK + 0x7E00) ++#define HDMITX_DWC_I2CM_ADDRESS (DWC_OFFSET_MASK + 0x7E01) ++#define HDMITX_DWC_I2CM_DATAO (DWC_OFFSET_MASK + 0x7E02) ++#define HDMITX_DWC_I2CM_DATAI (DWC_OFFSET_MASK + 0x7E03) ++#define HDMITX_DWC_I2CM_OPERATION (DWC_OFFSET_MASK + 0x7E04) ++/* [ 2] done_mask */ ++/* [ 6] read_req_mask */ ++#define HDMITX_DWC_I2CM_INT (DWC_OFFSET_MASK + 0x7E05) ++/* [ 6] nack_mask */ ++/* [ 2] arbitration_error_mask */ ++#define HDMITX_DWC_I2CM_CTLINT (DWC_OFFSET_MASK + 0x7E06) ++/* [ 3] i2c_fast_mode: 0=standard mode; 1=fast mode. */ ++#define HDMITX_DWC_I2CM_DIV (DWC_OFFSET_MASK + 0x7E07) ++#define HDMITX_DWC_I2CM_SEGADDR (DWC_OFFSET_MASK + 0x7E08) ++#define HDMITX_DWC_I2CM_SOFTRSTZ (DWC_OFFSET_MASK + 0x7E09) ++#define HDMITX_DWC_I2CM_SEGPTR (DWC_OFFSET_MASK + 0x7E0A) ++/* I2CM_SS_SCL_HCNT = RndUp(min_ss_scl_htime*Freq(sfrclkInMHz)/1000) */ ++/* I2CM_SS_SCL_LCNT = RndUp(min_ss_scl_ltime*Freq(sfrclkInMHz)/1000) */ ++/* I2CM_FS_SCL_HCNT = RndUp(min_fs_scl_htime*Freq(sfrclkInMHz)/1000) */ ++/* I2CM_FS_SCL_LCNT = RndUp(min_fs_scl_ltime*Freq(sfrclkInMHz)/1000) */ ++/* Where Freq(sfrclkInMHz)=24; */ ++#define HDMITX_DWC_I2CM_SS_SCL_HCNT_1 (DWC_OFFSET_MASK + 0x7E0B) ++#define HDMITX_DWC_I2CM_SS_SCL_HCNT_0 (DWC_OFFSET_MASK + 0x7E0C) ++#define HDMITX_DWC_I2CM_SS_SCL_LCNT_1 (DWC_OFFSET_MASK + 0x7E0D) ++#define HDMITX_DWC_I2CM_SS_SCL_LCNT_0 (DWC_OFFSET_MASK + 0x7E0E) ++#define HDMITX_DWC_I2CM_FS_SCL_HCNT_1 (DWC_OFFSET_MASK + 0x7E0F) ++#define HDMITX_DWC_I2CM_FS_SCL_HCNT_0 (DWC_OFFSET_MASK + 0x7E10) ++#define HDMITX_DWC_I2CM_FS_SCL_LCNT_1 (DWC_OFFSET_MASK + 0x7E11) ++#define HDMITX_DWC_I2CM_FS_SCL_LCNT_0 (DWC_OFFSET_MASK + 0x7E12) ++#define HDMITX_DWC_I2CM_SDA_HOLD (DWC_OFFSET_MASK + 0x7E13) ++/* [ 5] updt_rd_vsyncpoll_en */ ++/* [ 4] read_request_en */ ++/* [ 0] read_update */ ++#define HDMITX_DWC_I2CM_SCDC_UPDATE (DWC_OFFSET_MASK + 0x7E14) ++#define HDMITX_DWC_I2CM_READ_BUFF0 (DWC_OFFSET_MASK + 0x7E20) ++#define HDMITX_DWC_I2CM_READ_BUFF1 (DWC_OFFSET_MASK + 0x7E21) ++#define HDMITX_DWC_I2CM_READ_BUFF2 (DWC_OFFSET_MASK + 0x7E22) ++#define HDMITX_DWC_I2CM_READ_BUFF3 (DWC_OFFSET_MASK + 0x7E23) ++#define HDMITX_DWC_I2CM_READ_BUFF4 (DWC_OFFSET_MASK + 0x7E24) ++#define HDMITX_DWC_I2CM_READ_BUFF5 (DWC_OFFSET_MASK + 0x7E25) ++#define HDMITX_DWC_I2CM_READ_BUFF6 (DWC_OFFSET_MASK + 0x7E26) ++#define HDMITX_DWC_I2CM_READ_BUFF7 (DWC_OFFSET_MASK + 0x7E27) ++#define HDMITX_DWC_I2CM_SCDC_UPDATE0 (DWC_OFFSET_MASK + 0x7E30) ++#define HDMITX_DWC_I2CM_SCDC_UPDATE1 (DWC_OFFSET_MASK + 0x7E31) ++ ++#endif /* __HDMI_TX_REG_H_ */ +diff --git a/include/amlogic/media/vout/hdmitx/mach_reg.h b/include/amlogic/media/vout/hdmitx/mach_reg.h +new file mode 100644 +index 00000000000..865eddb198e +--- /dev/null ++++ b/include/amlogic/media/vout/hdmitx/mach_reg.h +@@ -0,0 +1,625 @@ ++#ifndef __MACH_REG_H__ ++#define __MACH_REG_H__ ++ ++/* ++ * RePacket HDMI related registers rd/wr ++ */ ++struct reg_map { ++ uint32_t base_addr; ++}; ++ ++#define CBUS_REG_IDX 0 ++#define PERIPHS_REG_IDX 1 ++#define VCBUS_REG_IDX 2 ++#define AOBUS_REG_IDX 3 ++#define HHI_REG_IDX 4 ++#define RESET_CBUS_REG_IDX 5 ++#define HDMITX_REG_IDX 6 ++#define HDMITX_SEC_REG_IDX 7 ++#define ELP_ESM_REG_IDX 8 ++/* new added in SC2 */ ++#define ANACTRL_REG_IDX 9 ++#define PWRCTRL_REG_IDX 10 ++#define RESETCTRL_REG_IDX 11 ++#define SYSCTRL_REG_IDX 12 ++#define REG_IDX_END 13 ++ ++#define BASE_REG_OFFSET 24 ++ ++#define PERIPHS_REG_ADDR(reg) \ ++ ((PERIPHS_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++#define VCBUS_REG_ADDR(reg) \ ++ ((VCBUS_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++#define AOBUS_REG_ADDR(reg) \ ++ ((AOBUS_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++#define HHI_REG_ADDR(reg) \ ++ ((HHI_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++#define RESET_CBUS_REG_ADDR(reg) \ ++ ((RESET_CBUS_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++#define HDMITX_SEC_REG_ADDR(reg) \ ++ ((HDMITX_SEC_REG_IDX << BASE_REG_OFFSET) + (reg))/*DWC*/ ++#define HDMITX_REG_ADDR(reg) \ ++ ((HDMITX_REG_IDX << BASE_REG_OFFSET) + (reg))/*TOP*/ ++#define ELP_ESM_REG_ADDR(reg) \ ++ ((ELP_ESM_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++#define ANACTRL_REG_ADDR(reg) \ ++ ((ANACTRL_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++#define PWRCTRL_REG_ADDR(reg) \ ++ ((PWRCTRL_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++#define RESETCTRL_REG_ADDR(reg) \ ++ ((RESETCTRL_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++#define SYSCTRL_REG_ADDR(reg) \ ++ ((SYSCTRL_REG_IDX << BASE_REG_OFFSET) + ((reg) << 2)) ++ ++struct reg_s { ++ unsigned int reg; ++ unsigned int val; ++}; ++ ++unsigned int hd_read_reg(unsigned int addr); ++void hd_write_reg(unsigned int addr, unsigned int val); ++void hd_set_reg_bits(unsigned int addr, unsigned int value, unsigned int offset, ++ unsigned int len); ++uint32_t hd_get_paddr(uint32_t addr); ++unsigned int hdmitx_rd_reg(unsigned int addr); ++void hdmitx_wr_reg(unsigned int addr, unsigned int data); ++void hdmitx_set_reg_bits(unsigned int addr, unsigned int value, ++ unsigned int offset, unsigned int len); ++void hdmitx_poll_reg(unsigned int addr, unsigned int val, unsigned long timeout); ++ ++/* REG_BASE: REGISTER_BASE_ADDR = 0xfe000000 */ ++#define CLKCTRL_SYS_CLK_EN0_REG2 0x0013 ++#define P_CLKCTRL_SYS_CLK_EN0_REG2 HHI_REG_ADDR(CLKCTRL_SYS_CLK_EN0_REG2) ++#define CLKCTRL_VID_CLK_CTRL 0x0030 ++#define P_CLKCTRL_VID_CLK_CTRL HHI_REG_ADDR(CLKCTRL_VID_CLK_CTRL) ++#define CLKCTRL_VID_CLK_CTRL2 0x0031 ++#define P_CLKCTRL_VID_CLK_CTRL2 HHI_REG_ADDR(CLKCTRL_VID_CLK_CTRL2) ++#define CLKCTRL_VID_CLK_DIV 0x0032 ++#define P_CLKCTRL_VID_CLK_DIV HHI_REG_ADDR(CLKCTRL_VID_CLK_DIV) ++#define CLKCTRL_HDMI_CLK_CTRL 0x0038 ++#define P_CLKCTRL_HDMI_CLK_CTRL HHI_REG_ADDR(CLKCTRL_HDMI_CLK_CTRL) ++#define CLKCTRL_VID_PLL_CLK_DIV 0x0039 ++#define P_CLKCTRL_VID_PLL_CLK_DIV HHI_REG_ADDR(CLKCTRL_VID_PLL_CLK_DIV) ++#define CLKCTRL_HDCP22_CLK_CTRL 0x0040 ++#define P_CLKCTRL_HDCP22_CLK_CTRL HHI_REG_ADDR(CLKCTRL_HDCP22_CLK_CTRL) ++ ++/* REG_BASE: REGISTER_BASE_ADDR = 0xfe002000 */ ++#define RESETCTRL_RESET0 0x0000 ++#define P_RESETCTRL_RESET0 RESETCTRL_REG_ADDR(RESETCTRL_RESET0) ++#define RESETCTRL_RESET2 0x0002 ++#define P_RESETCTRL_RESET2 RESETCTRL_REG_ADDR(RESETCTRL_RESET2) ++ ++/* REG_BASE: REGISTER_BASE_ADDR = 0xfe004000 */ ++#define PADCTRL_PIN_MUX_REGB 0x0b ++#define P_PADCTRL_PIN_MUX_REGB PERIPHS_REG_ADDR(PADCTRL_PIN_MUX_REGB) ++#define PADCTRL_GPIOH_I 0x50 ++#define P_PADCTRL_GPIOH_I PERIPHS_REG_ADDR(PADCTRL_GPIOH_I) ++ ++/* REG_BASE: REGISTER_BASE_ADDR = 0xfe008000 */ ++#define ANACTRL_HDMIPLL_CTRL0 0x0070 ++#define P_ANACTRL_HDMIPLL_CTRL0 ANACTRL_REG_ADDR(ANACTRL_HDMIPLL_CTRL0) ++#define ANACTRL_HDMIPLL_CTRL1 0x0071 ++#define P_ANACTRL_HDMIPLL_CTRL1 ANACTRL_REG_ADDR(ANACTRL_HDMIPLL_CTRL1) ++#define ANACTRL_HDMIPLL_CTRL2 0x0072 ++#define P_ANACTRL_HDMIPLL_CTRL2 ANACTRL_REG_ADDR(ANACTRL_HDMIPLL_CTRL2) ++#define ANACTRL_HDMIPLL_CTRL3 0x0073 ++#define P_ANACTRL_HDMIPLL_CTRL3 ANACTRL_REG_ADDR(ANACTRL_HDMIPLL_CTRL3) ++#define ANACTRL_HDMIPLL_CTRL4 0x0074 ++#define P_ANACTRL_HDMIPLL_CTRL4 ANACTRL_REG_ADDR(ANACTRL_HDMIPLL_CTRL4) ++#define ANACTRL_HDMIPLL_CTRL5 0x0075 ++#define P_ANACTRL_HDMIPLL_CTRL5 ANACTRL_REG_ADDR(ANACTRL_HDMIPLL_CTRL5) ++#define ANACTRL_HDMIPLL_CTRL6 0x0076 ++#define P_ANACTRL_HDMIPLL_CTRL6 ANACTRL_REG_ADDR(ANACTRL_HDMIPLL_CTRL6) ++#define ANACTRL_HDMIPLL_STS 0x0077 ++#define P_ANACTRL_HDMIPLL_STS ANACTRL_REG_ADDR(ANACTRL_HDMIPLL_STS) ++#define ANACTRL_HDMIPLL_VLOCK 0x0079 ++#define P_ANACTRL_HDMIPLL_VLOCK ANACTRL_REG_ADDR(ANACTRL_HDMIPLL_VLOCK) ++#define ANACTRL_HDMIPHY_CTRL0 0x0080 ++#define P_ANACTRL_HDMIPHY_CTRL0 ANACTRL_REG_ADDR(ANACTRL_HDMIPHY_CTRL0) ++#define ANACTRL_HDMIPHY_CTRL1 0x0081 ++#define P_ANACTRL_HDMIPHY_CTRL1 ANACTRL_REG_ADDR(ANACTRL_HDMIPHY_CTRL1) ++#define ANACTRL_HDMIPHY_CTRL2 0x0082 ++#define P_ANACTRL_HDMIPHY_CTRL2 ANACTRL_REG_ADDR(ANACTRL_HDMIPHY_CTRL2) ++#define ANACTRL_HDMIPHY_CTRL3 0x0083 ++#define P_ANACTRL_HDMIPHY_CTRL3 ANACTRL_REG_ADDR(ANACTRL_HDMIPHY_CTRL3) ++#define ANACTRL_HDMIPHY_CTRL4 0x0084 ++#define P_ANACTRL_HDMIPHY_CTRL4 ANACTRL_REG_ADDR(ANACTRL_HDMIPHY_CTRL4) ++#define ANACTRL_HDMIPHY_CTRL5 0x0085 ++#define P_ANACTRL_HDMIPHY_CTRL5 ANACTRL_REG_ADDR(ANACTRL_HDMIPHY_CTRL5) ++#define ANACTRL_HDMIPHY_STS 0x0086 ++#define P_ANACTRL_HDMIPHY_STS ANACTRL_REG_ADDR(ANACTRL_HDMIPHY_STS) ++ ++/* REG_BASE: REGISTER_BASE_ADDR = 0xfe00c000 */ ++#define PWRCTRL_MEM_PD11 0x001b ++#define P_PWRCTRL_MEM_PD11 PWRCTRL_REG_ADDR(PWRCTRL_MEM_PD11) ++ ++/* REG_BASE: REGISTER_BASE_ADDR = 0xfe010000 */ ++#define SYSCTRL_DEBUG_REG0 0x90 ++#define P_SYSCTRL_DEBUG_REG0 SYSCTRL_REG_ADDR(SYSCTRL_DEBUG_REG0) ++ ++/* REG_BASE: REGISTER_BASE_ADDR = 0xff000000 */ ++#define VENC_DVI_SETTING 0x1b62 /* register.h:8014 */ ++#define P_VENC_DVI_SETTING VCBUS_REG_ADDR(VENC_DVI_SETTING) ++ ++#define VENC_VIDEO_TST_EN 0x1b70 ++#define P_VENC_VIDEO_TST_EN VCBUS_REG_ADDR(VENC_VIDEO_TST_EN) ++#define VENC_VIDEO_TST_MDSEL 0x1b71 ++#define P_VENC_VIDEO_TST_MDSEL VCBUS_REG_ADDR(VENC_VIDEO_TST_MDSEL) ++#define VENC_VIDEO_TST_Y 0x1b72 ++#define P_VENC_VIDEO_TST_Y VCBUS_REG_ADDR(VENC_VIDEO_TST_Y) ++#define VENC_VIDEO_TST_CB 0x1b73 ++#define P_VENC_VIDEO_TST_CB VCBUS_REG_ADDR(VENC_VIDEO_TST_CB) ++#define VENC_VIDEO_TST_CR 0x1b74 ++#define P_VENC_VIDEO_TST_CR VCBUS_REG_ADDR(VENC_VIDEO_TST_CR) ++#define VENC_VIDEO_TST_CLRBAR_STRT 0x1b75 ++#define P_VENC_VIDEO_TST_CLRBAR_STRT VCBUS_REG_ADDR(VENC_VIDEO_TST_CLRBAR_STRT) ++#define VENC_VIDEO_TST_CLRBAR_WIDTH 0x1b76 ++#define P_VENC_VIDEO_TST_CLRBAR_WIDTH \ ++ VCBUS_REG_ADDR(VENC_VIDEO_TST_CLRBAR_WIDTH) ++#define VENC_VIDEO_TST_VDCNT_STSET 0x1b77 ++#define P_VENC_VIDEO_TST_VDCNT_STSET VCBUS_REG_ADDR(VENC_VIDEO_TST_VDCNT_STSET) ++#define VENC_VDAC_SETTING 0x1b7e ++#define P_VENC_VDAC_SETTING VCBUS_REG_ADDR(VENC_VDAC_SETTING) ++#define ENCP_VIDEO_EN 0x1b80 /* register.h:8078 */ ++#define P_ENCP_VIDEO_EN VCBUS_REG_ADDR(ENCP_VIDEO_EN) ++#define ENCP_VIDEO_SYNC_MODE 0x1b81 /* register.h:8079 */ ++#define P_ENCP_VIDEO_SYNC_MODE VCBUS_REG_ADDR(ENCP_VIDEO_SYNC_MODE) ++#define ENCP_MACV_EN 0x1b82 /* register.h:8080 */ ++#define P_ENCP_MACV_EN VCBUS_REG_ADDR(ENCP_MACV_EN) ++#define ENCP_VIDEO_Y_SCL 0x1b83 /* register.h:8081 */ ++#define P_ENCP_VIDEO_Y_SCL VCBUS_REG_ADDR(ENCP_VIDEO_Y_SCL) ++#define ENCP_VIDEO_PB_SCL 0x1b84 /* register.h:8082 */ ++#define P_ENCP_VIDEO_PB_SCL VCBUS_REG_ADDR(ENCP_VIDEO_PB_SCL) ++#define ENCP_VIDEO_PR_SCL 0x1b85 /* register.h:8083 */ ++#define P_ENCP_VIDEO_PR_SCL VCBUS_REG_ADDR(ENCP_VIDEO_PR_SCL) ++#define ENCP_VIDEO_SYNC_SCL 0x1b86 /* register.h:8084 */ ++#define P_ENCP_VIDEO_SYNC_SCL VCBUS_REG_ADDR(ENCP_VIDEO_SYNC_SCL) ++#define ENCP_VIDEO_MACV_SCL 0x1b87 /* register.h:8085 */ ++#define P_ENCP_VIDEO_MACV_SCL VCBUS_REG_ADDR(ENCP_VIDEO_MACV_SCL) ++#define ENCP_VIDEO_Y_OFFST 0x1b88 /* register.h:8086 */ ++#define P_ENCP_VIDEO_Y_OFFST VCBUS_REG_ADDR(ENCP_VIDEO_Y_OFFST) ++#define ENCP_VIDEO_PB_OFFST 0x1b89 /* register.h:8087 */ ++#define P_ENCP_VIDEO_PB_OFFST VCBUS_REG_ADDR(ENCP_VIDEO_PB_OFFST) ++#define ENCP_VIDEO_PR_OFFST 0x1b8a /* register.h:8088 */ ++#define P_ENCP_VIDEO_PR_OFFST VCBUS_REG_ADDR(ENCP_VIDEO_PR_OFFST) ++#define ENCP_VIDEO_SYNC_OFFST 0x1b8b /* register.h:8089 */ ++#define P_ENCP_VIDEO_SYNC_OFFST VCBUS_REG_ADDR(ENCP_VIDEO_SYNC_OFFST) ++#define ENCP_VIDEO_MACV_OFFST 0x1b8c /* register.h:8090 */ ++#define P_ENCP_VIDEO_MACV_OFFST VCBUS_REG_ADDR(ENCP_VIDEO_MACV_OFFST) ++#define ENCP_VIDEO_MODE 0x1b8d /* register.h:8092 */ ++#define P_ENCP_VIDEO_MODE VCBUS_REG_ADDR(ENCP_VIDEO_MODE) ++#define ENCP_VIDEO_MODE_ADV 0x1b8e /* register.h:8093 */ ++#define P_ENCP_VIDEO_MODE_ADV VCBUS_REG_ADDR(ENCP_VIDEO_MODE_ADV) ++#define ENCP_DBG_PX_RST 0x1b90 /* register.h:8095 */ ++#define P_ENCP_DBG_PX_RST VCBUS_REG_ADDR(ENCP_DBG_PX_RST) ++#define ENCP_DBG_LN_RST 0x1b91 /* register.h:8096 */ ++#define P_ENCP_DBG_LN_RST VCBUS_REG_ADDR(ENCP_DBG_LN_RST) ++#define ENCP_DBG_PX_INT 0x1b92 /* register.h:8097 */ ++#define P_ENCP_DBG_PX_INT VCBUS_REG_ADDR(ENCP_DBG_PX_INT) ++#define ENCP_DBG_LN_INT 0x1b93 /* register.h:8098 */ ++#define P_ENCP_DBG_LN_INT VCBUS_REG_ADDR(ENCP_DBG_LN_INT) ++#define ENCP_VIDEO_YFP1_HTIME 0x1b94 /* register.h:8100 */ ++#define P_ENCP_VIDEO_YFP1_HTIME VCBUS_REG_ADDR(ENCP_VIDEO_YFP1_HTIME) ++#define ENCP_VIDEO_YFP2_HTIME 0x1b95 /* register.h:8101 */ ++#define P_ENCP_VIDEO_YFP2_HTIME VCBUS_REG_ADDR(ENCP_VIDEO_YFP2_HTIME) ++#define ENCP_VIDEO_YC_DLY 0x1b96 /* register.h:8102 */ ++#define P_ENCP_VIDEO_YC_DLY VCBUS_REG_ADDR(ENCP_VIDEO_YC_DLY) ++#define ENCP_VIDEO_MAX_PXCNT 0x1b97 /* register.h:8103 */ ++#define P_ENCP_VIDEO_MAX_PXCNT VCBUS_REG_ADDR(ENCP_VIDEO_MAX_PXCNT) ++#define ENCP_VIDEO_HSPULS_BEGIN 0x1b98 /* register.h:8104 */ ++#define P_ENCP_VIDEO_HSPULS_BEGIN VCBUS_REG_ADDR(ENCP_VIDEO_HSPULS_BEGIN) ++#define ENCP_VIDEO_HSPULS_END 0x1b99 /* register.h:8105 */ ++#define P_ENCP_VIDEO_HSPULS_END VCBUS_REG_ADDR(ENCP_VIDEO_HSPULS_END) ++#define ENCP_VIDEO_HSPULS_SWITCH 0x1b9a /* register.h:8106 */ ++#define P_ENCP_VIDEO_HSPULS_SWITCH VCBUS_REG_ADDR(ENCP_VIDEO_HSPULS_SWITCH) ++#define ENCP_VIDEO_VSPULS_BEGIN 0x1b9b /* register.h:8107 */ ++#define P_ENCP_VIDEO_VSPULS_BEGIN VCBUS_REG_ADDR(ENCP_VIDEO_VSPULS_BEGIN) ++#define ENCP_VIDEO_VSPULS_END 0x1b9c /* register.h:8108 */ ++#define P_ENCP_VIDEO_VSPULS_END VCBUS_REG_ADDR(ENCP_VIDEO_VSPULS_END) ++#define ENCP_VIDEO_VSPULS_BLINE 0x1b9d /* register.h:8109 */ ++#define P_ENCP_VIDEO_VSPULS_BLINE VCBUS_REG_ADDR(ENCP_VIDEO_VSPULS_BLINE) ++#define ENCP_VIDEO_VSPULS_ELINE 0x1b9e /* register.h:8110 */ ++#define P_ENCP_VIDEO_VSPULS_ELINE VCBUS_REG_ADDR(ENCP_VIDEO_VSPULS_ELINE) ++#define ENCP_VIDEO_EQPULS_BEGIN 0x1b9f /* register.h:8111 */ ++#define P_ENCP_VIDEO_EQPULS_BEGIN VCBUS_REG_ADDR(ENCP_VIDEO_EQPULS_BEGIN) ++#define ENCP_VIDEO_EQPULS_END 0x1ba0 /* register.h:8112 */ ++#define P_ENCP_VIDEO_EQPULS_END VCBUS_REG_ADDR(ENCP_VIDEO_EQPULS_END) ++#define ENCP_VIDEO_EQPULS_BLINE 0x1ba1 /* register.h:8113 */ ++#define P_ENCP_VIDEO_EQPULS_BLINE VCBUS_REG_ADDR(ENCP_VIDEO_EQPULS_BLINE) ++#define ENCP_VIDEO_EQPULS_ELINE 0x1ba2 /* register.h:8114 */ ++#define P_ENCP_VIDEO_EQPULS_ELINE VCBUS_REG_ADDR(ENCP_VIDEO_EQPULS_ELINE) ++#define ENCP_VIDEO_HAVON_END 0x1ba3 /* register.h:8115 */ ++#define P_ENCP_VIDEO_HAVON_END VCBUS_REG_ADDR(ENCP_VIDEO_HAVON_END) ++#define ENCP_VIDEO_HAVON_BEGIN 0x1ba4 /* register.h:8116 */ ++#define P_ENCP_VIDEO_HAVON_BEGIN VCBUS_REG_ADDR(ENCP_VIDEO_HAVON_BEGIN) ++#define ENCP_VIDEO_VAVON_ELINE 0x1baf /* register.h:8117 */ ++#define P_ENCP_VIDEO_VAVON_ELINE VCBUS_REG_ADDR(ENCP_VIDEO_VAVON_ELINE) ++#define ENCP_VIDEO_VAVON_BLINE 0x1ba6 /* register.h:8118 */ ++#define P_ENCP_VIDEO_VAVON_BLINE VCBUS_REG_ADDR(ENCP_VIDEO_VAVON_BLINE) ++#define ENCP_VIDEO_HSO_BEGIN 0x1ba7 /* register.h:8119 */ ++#define P_ENCP_VIDEO_HSO_BEGIN VCBUS_REG_ADDR(ENCP_VIDEO_HSO_BEGIN) ++#define ENCP_VIDEO_HSO_END 0x1ba8 /* register.h:8120 */ ++#define P_ENCP_VIDEO_HSO_END VCBUS_REG_ADDR(ENCP_VIDEO_HSO_END) ++#define ENCP_VIDEO_VSO_BEGIN 0x1ba9 /* register.h:8121 */ ++#define P_ENCP_VIDEO_VSO_BEGIN VCBUS_REG_ADDR(ENCP_VIDEO_VSO_BEGIN) ++#define ENCP_VIDEO_VSO_END 0x1baa /* register.h:8122 */ ++#define P_ENCP_VIDEO_VSO_END VCBUS_REG_ADDR(ENCP_VIDEO_VSO_END) ++#define ENCP_VIDEO_VSO_BLINE 0x1bab /* register.h:8123 */ ++#define P_ENCP_VIDEO_VSO_BLINE VCBUS_REG_ADDR(ENCP_VIDEO_VSO_BLINE) ++#define ENCP_VIDEO_VSO_ELINE 0x1bac /* register.h:8124 */ ++#define P_ENCP_VIDEO_VSO_ELINE VCBUS_REG_ADDR(ENCP_VIDEO_VSO_ELINE) ++#define ENCP_VIDEO_SYNC_WAVE_CURVE 0x1bad /* register.h:8125 */ ++#define P_ENCP_VIDEO_SYNC_WAVE_CURVE VCBUS_REG_ADDR(ENCP_VIDEO_SYNC_WAVE_CURVE) ++#define ENCP_VIDEO_MAX_LNCNT 0x1bae /* register.h:8126 */ ++#define P_ENCP_VIDEO_MAX_LNCNT VCBUS_REG_ADDR(ENCP_VIDEO_MAX_LNCNT) ++#define ENCP_VIDEO_SY_VAL 0x1bb0 /* register.h:8127 */ ++#define P_ENCP_VIDEO_SY_VAL VCBUS_REG_ADDR(ENCP_VIDEO_SY_VAL) ++#define ENCP_VIDEO_SY2_VAL 0x1bb1 /* register.h:8128 */ ++#define P_ENCP_VIDEO_SY2_VAL VCBUS_REG_ADDR(ENCP_VIDEO_SY2_VAL) ++#define ENCP_VIDEO_BLANKY_VAL 0x1bb2 /* register.h:8129 */ ++#define P_ENCP_VIDEO_BLANKY_VAL VCBUS_REG_ADDR(ENCP_VIDEO_BLANKY_VAL) ++#define ENCP_VIDEO_BLANKPB_VAL 0x1bb3 /* register.h:8130 */ ++#define P_ENCP_VIDEO_BLANKPB_VAL VCBUS_REG_ADDR(ENCP_VIDEO_BLANKPB_VAL) ++#define ENCP_VIDEO_BLANKPR_VAL 0x1bb4 /* register.h:8131 */ ++#define P_ENCP_VIDEO_BLANKPR_VAL VCBUS_REG_ADDR(ENCP_VIDEO_BLANKPR_VAL) ++#define ENCP_VIDEO_HOFFST 0x1bb5 /* register.h:8132 */ ++#define P_ENCP_VIDEO_HOFFST VCBUS_REG_ADDR(ENCP_VIDEO_HOFFST) ++#define ENCP_VIDEO_VOFFST 0x1bb6 /* register.h:8133 */ ++#define P_ENCP_VIDEO_VOFFST VCBUS_REG_ADDR(ENCP_VIDEO_VOFFST) ++#define ENCP_VIDEO_RGB_CTRL 0x1bb7 /* register.h:8134 */ ++#define P_ENCP_VIDEO_RGB_CTRL VCBUS_REG_ADDR(ENCP_VIDEO_RGB_CTRL) ++#define ENCP_VIDEO_FILT_CTRL 0x1bb8 /* register.h:8135 */ ++#define P_ENCP_VIDEO_FILT_CTRL VCBUS_REG_ADDR(ENCP_VIDEO_FILT_CTRL) ++#define ENCP_VIDEO_OFLD_VPEQ_OFST 0x1bb9 /* register.h:8136 */ ++#define P_ENCP_VIDEO_OFLD_VPEQ_OFST VCBUS_REG_ADDR(ENCP_VIDEO_OFLD_VPEQ_OFST) ++#define ENCP_VIDEO_OFLD_VOAV_OFST 0x1bba /* register.h:8137 */ ++#define P_ENCP_VIDEO_OFLD_VOAV_OFST VCBUS_REG_ADDR(ENCP_VIDEO_OFLD_VOAV_OFST) ++#define ENCP_VIDEO_MATRIX_CB 0x1bbb /* register.h:8138 */ ++#define P_ENCP_VIDEO_MATRIX_CB VCBUS_REG_ADDR(ENCP_VIDEO_MATRIX_CB) ++#define ENCP_VIDEO_MATRIX_CR 0x1bbc /* register.h:8139 */ ++#define P_ENCP_VIDEO_MATRIX_CR VCBUS_REG_ADDR(ENCP_VIDEO_MATRIX_CR) ++#define ENCP_VIDEO_RGBIN_CTRL 0x1bbd /* register.h:8140 */ ++#define P_ENCP_VIDEO_RGBIN_CTRL VCBUS_REG_ADDR(ENCP_VIDEO_RGBIN_CTRL) ++#define ENCP_MACV_BLANKY_VAL 0x1bc0 /* register.h:8142 */ ++#define P_ENCP_MACV_BLANKY_VAL VCBUS_REG_ADDR(ENCP_MACV_BLANKY_VAL) ++#define ENCP_MACV_MAXY_VAL 0x1bc1 /* register.h:8143 */ ++#define P_ENCP_MACV_MAXY_VAL VCBUS_REG_ADDR(ENCP_MACV_MAXY_VAL) ++#define ENCP_MACV_1ST_PSSYNC_STRT 0x1bc2 /* register.h:8144 */ ++#define P_ENCP_MACV_1ST_PSSYNC_STRT VCBUS_REG_ADDR(ENCP_MACV_1ST_PSSYNC_STRT) ++#define ENCP_MACV_PSSYNC_STRT 0x1bc3 /* register.h:8145 */ ++#define P_ENCP_MACV_PSSYNC_STRT VCBUS_REG_ADDR(ENCP_MACV_PSSYNC_STRT) ++#define ENCP_MACV_AGC_STRT 0x1bc4 /* register.h:8146 */ ++#define P_ENCP_MACV_AGC_STRT VCBUS_REG_ADDR(ENCP_MACV_AGC_STRT) ++#define ENCP_MACV_AGC_END 0x1bc5 /* register.h:8147 */ ++#define P_ENCP_MACV_AGC_END VCBUS_REG_ADDR(ENCP_MACV_AGC_END) ++#define ENCP_MACV_WAVE_END 0x1bc6 /* register.h:8148 */ ++#define P_ENCP_MACV_WAVE_END VCBUS_REG_ADDR(ENCP_MACV_WAVE_END) ++#define ENCP_MACV_STRTLINE 0x1bc7 /* register.h:8149 */ ++#define P_ENCP_MACV_STRTLINE VCBUS_REG_ADDR(ENCP_MACV_STRTLINE) ++#define ENCP_MACV_ENDLINE 0x1bc8 /* register.h:8150 */ ++#define P_ENCP_MACV_ENDLINE VCBUS_REG_ADDR(ENCP_MACV_ENDLINE) ++#define ENCP_MACV_TS_CNT_MAX_L 0x1bc9 /* register.h:8151 */ ++#define P_ENCP_MACV_TS_CNT_MAX_L VCBUS_REG_ADDR(ENCP_MACV_TS_CNT_MAX_L) ++#define ENCP_MACV_TS_CNT_MAX_H 0x1bca /* register.h:8152 */ ++#define P_ENCP_MACV_TS_CNT_MAX_H VCBUS_REG_ADDR(ENCP_MACV_TS_CNT_MAX_H) ++#define ENCP_MACV_TIME_DOWN 0x1bcb /* register.h:8153 */ ++#define P_ENCP_MACV_TIME_DOWN VCBUS_REG_ADDR(ENCP_MACV_TIME_DOWN) ++#define ENCP_MACV_TIME_LO 0x1bcc /* register.h:8154 */ ++#define P_ENCP_MACV_TIME_LO VCBUS_REG_ADDR(ENCP_MACV_TIME_LO) ++#define ENCP_MACV_TIME_UP 0x1bcd /* register.h:8155 */ ++#define P_ENCP_MACV_TIME_UP VCBUS_REG_ADDR(ENCP_MACV_TIME_UP) ++#define ENCP_MACV_TIME_RST 0x1bce /* register.h:8156 */ ++#define P_ENCP_MACV_TIME_RST VCBUS_REG_ADDR(ENCP_MACV_TIME_RST) ++#define ENCP_VBI_CTRL 0x1bd0 /* register.h:8158 */ ++#define P_ENCP_VBI_CTRL VCBUS_REG_ADDR(ENCP_VBI_CTRL) ++#define ENCP_VBI_SETTING 0x1bd1 /* register.h:8159 */ ++#define P_ENCP_VBI_SETTING VCBUS_REG_ADDR(ENCP_VBI_SETTING) ++#define ENCP_VBI_BEGIN 0x1bd2 /* register.h:8160 */ ++#define P_ENCP_VBI_BEGIN VCBUS_REG_ADDR(ENCP_VBI_BEGIN) ++#define ENCP_VBI_WIDTH 0x1bd3 /* register.h:8161 */ ++#define P_ENCP_VBI_WIDTH VCBUS_REG_ADDR(ENCP_VBI_WIDTH) ++#define ENCP_VBI_HVAL 0x1bd4 /* register.h:8162 */ ++#define P_ENCP_VBI_HVAL VCBUS_REG_ADDR(ENCP_VBI_HVAL) ++#define ENCP_VBI_DATA0 0x1bd5 /* register.h:8163 */ ++#define P_ENCP_VBI_DATA0 VCBUS_REG_ADDR(ENCP_VBI_DATA0) ++#define ENCP_VBI_DATA1 0x1bd6 /* register.h:8164 */ ++#define P_ENCP_VBI_DATA1 VCBUS_REG_ADDR(ENCP_VBI_DATA1) ++ ++#define ENCI_VIDEO_MODE 0x1b00 /* register.h:8185 */ ++#define P_ENCI_VIDEO_MODE VCBUS_REG_ADDR(ENCI_VIDEO_MODE) ++#define ENCI_VIDEO_MODE_ADV 0x1b01 /* register.h:8186 */ ++#define P_ENCI_VIDEO_MODE_ADV VCBUS_REG_ADDR(ENCI_VIDEO_MODE_ADV) ++#define ENCI_VIDEO_FSC_ADJ 0x1b02 /* register.h:8187 */ ++#define P_ENCI_VIDEO_FSC_ADJ VCBUS_REG_ADDR(ENCI_VIDEO_FSC_ADJ) ++#define ENCI_VIDEO_BRIGHT 0x1b03 /* register.h:8188 */ ++#define P_ENCI_VIDEO_BRIGHT VCBUS_REG_ADDR(ENCI_VIDEO_BRIGHT) ++#define ENCI_VIDEO_CONT 0x1b04 /* register.h:8189 */ ++#define P_ENCI_VIDEO_CONT VCBUS_REG_ADDR(ENCI_VIDEO_CONT) ++#define ENCI_VIDEO_SAT 0x1b05 /* register.h:8190 */ ++#define P_ENCI_VIDEO_SAT VCBUS_REG_ADDR(ENCI_VIDEO_SAT) ++#define ENCI_VIDEO_HUE 0x1b06 /* register.h:8191 */ ++#define P_ENCI_VIDEO_HUE VCBUS_REG_ADDR(ENCI_VIDEO_HUE) ++#define ENCI_VIDEO_SCH 0x1b07 /* register.h:8192 */ ++#define P_ENCI_VIDEO_SCH VCBUS_REG_ADDR(ENCI_VIDEO_SCH) ++#define ENCI_SYNC_MODE 0x1b08 /* register.h:8193 */ ++#define P_ENCI_SYNC_MODE VCBUS_REG_ADDR(ENCI_SYNC_MODE) ++#define ENCI_SYNC_CTRL 0x1b09 /* register.h:8194 */ ++#define P_ENCI_SYNC_CTRL VCBUS_REG_ADDR(ENCI_SYNC_CTRL) ++#define ENCI_SYNC_HSO_BEGIN 0x1b0a /* register.h:8195 */ ++#define P_ENCI_SYNC_HSO_BEGIN VCBUS_REG_ADDR(ENCI_SYNC_HSO_BEGIN) ++#define ENCI_SYNC_HSO_END 0x1b0b /* register.h:8196 */ ++#define P_ENCI_SYNC_HSO_END VCBUS_REG_ADDR(ENCI_SYNC_HSO_END) ++#define ENCI_SYNC_VSO_EVN 0x1b0c /* register.h:8197 */ ++#define P_ENCI_SYNC_VSO_EVN VCBUS_REG_ADDR(ENCI_SYNC_VSO_EVN) ++#define ENCI_SYNC_VSO_ODD 0x1b0d /* register.h:8198 */ ++#define P_ENCI_SYNC_VSO_ODD VCBUS_REG_ADDR(ENCI_SYNC_VSO_ODD) ++#define ENCI_SYNC_VSO_EVNLN 0x1b0e /* register.h:8199 */ ++#define P_ENCI_SYNC_VSO_EVNLN VCBUS_REG_ADDR(ENCI_SYNC_VSO_EVNLN) ++#define ENCI_SYNC_VSO_ODDLN 0x1b0f /* register.h:8200 */ ++#define P_ENCI_SYNC_VSO_ODDLN VCBUS_REG_ADDR(ENCI_SYNC_VSO_ODDLN) ++#define ENCI_SYNC_HOFFST 0x1b10 /* register.h:8201 */ ++#define P_ENCI_SYNC_HOFFST VCBUS_REG_ADDR(ENCI_SYNC_HOFFST) ++#define ENCI_SYNC_VOFFST 0x1b11 /* register.h:8202 */ ++#define P_ENCI_SYNC_VOFFST VCBUS_REG_ADDR(ENCI_SYNC_VOFFST) ++#define ENCI_SYNC_ADJ 0x1b12 /* register.h:8203 */ ++#define P_ENCI_SYNC_ADJ VCBUS_REG_ADDR(ENCI_SYNC_ADJ) ++#define ENCI_RGB_SETTING 0x1b13 /* register.h:8204 */ ++#define P_ENCI_RGB_SETTING VCBUS_REG_ADDR(ENCI_RGB_SETTING) ++#define ENCI_DE_H_BEGIN 0x1b16 /* register.h:8207 */ ++#define P_ENCI_DE_H_BEGIN VCBUS_REG_ADDR(ENCI_DE_H_BEGIN) ++#define ENCI_DE_H_END 0x1b17 /* register.h:8208 */ ++#define P_ENCI_DE_H_END VCBUS_REG_ADDR(ENCI_DE_H_END) ++#define ENCI_DE_V_BEGIN_EVEN 0x1b18 /* register.h:8209 */ ++#define P_ENCI_DE_V_BEGIN_EVEN VCBUS_REG_ADDR(ENCI_DE_V_BEGIN_EVEN) ++#define ENCI_DE_V_END_EVEN 0x1b19 /* register.h:8210 */ ++#define P_ENCI_DE_V_END_EVEN VCBUS_REG_ADDR(ENCI_DE_V_END_EVEN) ++#define ENCI_DE_V_BEGIN_ODD 0x1b1a /* register.h:8211 */ ++#define P_ENCI_DE_V_BEGIN_ODD VCBUS_REG_ADDR(ENCI_DE_V_BEGIN_ODD) ++#define ENCI_DE_V_END_ODD 0x1b1b /* register.h:8212 */ ++#define P_ENCI_DE_V_END_ODD VCBUS_REG_ADDR(ENCI_DE_V_END_ODD) ++#define ENCI_VBI_SETTING 0x1b20 /* register.h:8213 */ ++#define P_ENCI_VBI_SETTING VCBUS_REG_ADDR(ENCI_VBI_SETTING) ++#define ENCI_VBI_CCDT_EVN 0x1b21 /* register.h:8214 */ ++#define P_ENCI_VBI_CCDT_EVN VCBUS_REG_ADDR(ENCI_VBI_CCDT_EVN) ++#define ENCI_VBI_CCDT_ODD 0x1b22 /* register.h:8215 */ ++#define P_ENCI_VBI_CCDT_ODD VCBUS_REG_ADDR(ENCI_VBI_CCDT_ODD) ++#define ENCI_VBI_CC525_LN 0x1b23 /* register.h:8216 */ ++#define P_ENCI_VBI_CC525_LN VCBUS_REG_ADDR(ENCI_VBI_CC525_LN) ++#define ENCI_VBI_CC625_LN 0x1b24 /* register.h:8217 */ ++#define P_ENCI_VBI_CC625_LN VCBUS_REG_ADDR(ENCI_VBI_CC625_LN) ++#define ENCI_VBI_WSSDT 0x1b25 /* register.h:8218 */ ++#define P_ENCI_VBI_WSSDT VCBUS_REG_ADDR(ENCI_VBI_WSSDT) ++#define ENCI_VBI_WSS_LN 0x1b26 /* register.h:8219 */ ++#define P_ENCI_VBI_WSS_LN VCBUS_REG_ADDR(ENCI_VBI_WSS_LN) ++#define ENCI_VBI_CGMSDT_L 0x1b27 /* register.h:8220 */ ++#define P_ENCI_VBI_CGMSDT_L VCBUS_REG_ADDR(ENCI_VBI_CGMSDT_L) ++#define ENCI_VBI_CGMSDT_H 0x1b28 /* register.h:8221 */ ++#define P_ENCI_VBI_CGMSDT_H VCBUS_REG_ADDR(ENCI_VBI_CGMSDT_H) ++#define ENCI_VBI_CGMS_LN 0x1b29 /* register.h:8222 */ ++#define P_ENCI_VBI_CGMS_LN VCBUS_REG_ADDR(ENCI_VBI_CGMS_LN) ++#define ENCI_VBI_TTX_HTIME 0x1b2a /* register.h:8223 */ ++#define P_ENCI_VBI_TTX_HTIME VCBUS_REG_ADDR(ENCI_VBI_TTX_HTIME) ++#define ENCI_VBI_TTX_LN 0x1b2b /* register.h:8224 */ ++#define P_ENCI_VBI_TTX_LN VCBUS_REG_ADDR(ENCI_VBI_TTX_LN) ++#define ENCI_VBI_TTXDT0 0x1b2c /* register.h:8225 */ ++#define P_ENCI_VBI_TTXDT0 VCBUS_REG_ADDR(ENCI_VBI_TTXDT0) ++#define ENCI_VBI_TTXDT1 0x1b2d /* register.h:8226 */ ++#define P_ENCI_VBI_TTXDT1 VCBUS_REG_ADDR(ENCI_VBI_TTXDT1) ++#define ENCI_VBI_TTXDT2 0x1b2e /* register.h:8227 */ ++#define P_ENCI_VBI_TTXDT2 VCBUS_REG_ADDR(ENCI_VBI_TTXDT2) ++#define ENCI_VBI_TTXDT3 0x1b2f /* register.h:8228 */ ++#define P_ENCI_VBI_TTXDT3 VCBUS_REG_ADDR(ENCI_VBI_TTXDT3) ++#define ENCI_MACV_N0 0x1b30 /* register.h:8229 */ ++#define P_ENCI_MACV_N0 VCBUS_REG_ADDR(ENCI_MACV_N0) ++#define ENCI_MACV_N1 0x1b31 /* register.h:8230 */ ++#define P_ENCI_MACV_N1 VCBUS_REG_ADDR(ENCI_MACV_N1) ++#define ENCI_MACV_N2 0x1b32 /* register.h:8231 */ ++#define P_ENCI_MACV_N2 VCBUS_REG_ADDR(ENCI_MACV_N2) ++#define ENCI_MACV_N3 0x1b33 /* register.h:8232 */ ++#define P_ENCI_MACV_N3 VCBUS_REG_ADDR(ENCI_MACV_N3) ++#define ENCI_MACV_N4 0x1b34 /* register.h:8233 */ ++#define P_ENCI_MACV_N4 VCBUS_REG_ADDR(ENCI_MACV_N4) ++#define ENCI_MACV_N5 0x1b35 /* register.h:8234 */ ++#define P_ENCI_MACV_N5 VCBUS_REG_ADDR(ENCI_MACV_N5) ++#define ENCI_MACV_N6 0x1b36 /* register.h:8235 */ ++#define P_ENCI_MACV_N6 VCBUS_REG_ADDR(ENCI_MACV_N6) ++#define ENCI_MACV_N7 0x1b37 /* register.h:8236 */ ++#define P_ENCI_MACV_N7 VCBUS_REG_ADDR(ENCI_MACV_N7) ++#define ENCI_MACV_N8 0x1b38 /* register.h:8237 */ ++#define P_ENCI_MACV_N8 VCBUS_REG_ADDR(ENCI_MACV_N8) ++#define ENCI_MACV_N9 0x1b39 /* register.h:8238 */ ++#define P_ENCI_MACV_N9 VCBUS_REG_ADDR(ENCI_MACV_N9) ++#define ENCI_MACV_N10 0x1b3a /* register.h:8239 */ ++#define P_ENCI_MACV_N10 VCBUS_REG_ADDR(ENCI_MACV_N10) ++#define ENCI_MACV_N11 0x1b3b /* register.h:8240 */ ++#define P_ENCI_MACV_N11 VCBUS_REG_ADDR(ENCI_MACV_N11) ++#define ENCI_MACV_N12 0x1b3c /* register.h:8241 */ ++#define P_ENCI_MACV_N12 VCBUS_REG_ADDR(ENCI_MACV_N12) ++#define ENCI_MACV_N13 0x1b3d /* register.h:8242 */ ++#define P_ENCI_MACV_N13 VCBUS_REG_ADDR(ENCI_MACV_N13) ++#define ENCI_MACV_N14 0x1b3e /* register.h:8243 */ ++#define P_ENCI_MACV_N14 VCBUS_REG_ADDR(ENCI_MACV_N14) ++#define ENCI_MACV_N15 0x1b3f /* register.h:8244 */ ++#define P_ENCI_MACV_N15 VCBUS_REG_ADDR(ENCI_MACV_N15) ++#define ENCI_MACV_N16 0x1b40 /* register.h:8245 */ ++#define P_ENCI_MACV_N16 VCBUS_REG_ADDR(ENCI_MACV_N16) ++#define ENCI_MACV_N17 0x1b41 /* register.h:8246 */ ++#define P_ENCI_MACV_N17 VCBUS_REG_ADDR(ENCI_MACV_N17) ++#define ENCI_MACV_N18 0x1b42 /* register.h:8247 */ ++#define P_ENCI_MACV_N18 VCBUS_REG_ADDR(ENCI_MACV_N18) ++#define ENCI_MACV_N19 0x1b43 /* register.h:8248 */ ++#define P_ENCI_MACV_N19 VCBUS_REG_ADDR(ENCI_MACV_N19) ++#define ENCI_MACV_N20 0x1b44 /* register.h:8249 */ ++#define P_ENCI_MACV_N20 VCBUS_REG_ADDR(ENCI_MACV_N20) ++#define ENCI_MACV_N21 0x1b45 /* register.h:8250 */ ++#define P_ENCI_MACV_N21 VCBUS_REG_ADDR(ENCI_MACV_N21) ++#define ENCI_MACV_N22 0x1b46 /* register.h:8251 */ ++#define P_ENCI_MACV_N22 VCBUS_REG_ADDR(ENCI_MACV_N22) ++#define ENCI_DBG_PX_RST 0x1b48 /* register.h:8253 */ ++#define P_ENCI_DBG_PX_RST VCBUS_REG_ADDR(ENCI_DBG_PX_RST) ++#define ENCI_DBG_FLDLN_RST 0x1b49 /* register.h:8254 */ ++#define P_ENCI_DBG_FLDLN_RST VCBUS_REG_ADDR(ENCI_DBG_FLDLN_RST) ++#define ENCI_DBG_PX_INT 0x1b4a /* register.h:8255 */ ++#define P_ENCI_DBG_PX_INT VCBUS_REG_ADDR(ENCI_DBG_PX_INT) ++#define ENCI_DBG_FLDLN_INT 0x1b4b /* register.h:8256 */ ++#define P_ENCI_DBG_FLDLN_INT VCBUS_REG_ADDR(ENCI_DBG_FLDLN_INT) ++#define ENCI_DBG_MAXPX 0x1b4c /* register.h:8257 */ ++#define P_ENCI_DBG_MAXPX VCBUS_REG_ADDR(ENCI_DBG_MAXPX) ++#define ENCI_DBG_MAXLN 0x1b4d /* register.h:8258 */ ++#define P_ENCI_DBG_MAXLN VCBUS_REG_ADDR(ENCI_DBG_MAXLN) ++#define ENCI_MACV_MAX_AMP 0x1b50 /* register.h:8259 */ ++#define P_ENCI_MACV_MAX_AMP VCBUS_REG_ADDR(ENCI_MACV_MAX_AMP) ++#define ENCI_MACV_PULSE_LO 0x1b51 /* register.h:8260 */ ++#define P_ENCI_MACV_PULSE_LO VCBUS_REG_ADDR(ENCI_MACV_PULSE_LO) ++#define ENCI_MACV_PULSE_HI 0x1b52 /* register.h:8261 */ ++#define P_ENCI_MACV_PULSE_HI VCBUS_REG_ADDR(ENCI_MACV_PULSE_HI) ++#define ENCI_MACV_BKP_MAX 0x1b53 /* register.h:8262 */ ++#define P_ENCI_MACV_BKP_MAX VCBUS_REG_ADDR(ENCI_MACV_BKP_MAX) ++#define ENCI_CFILT_CTRL 0x1b54 /* register.h:8263 */ ++#define P_ENCI_CFILT_CTRL VCBUS_REG_ADDR(ENCI_CFILT_CTRL) ++#define ENCI_CFILT7 0x1b55 /* register.h:8264 */ ++#define P_ENCI_CFILT7 VCBUS_REG_ADDR(ENCI_CFILT7) ++#define ENCI_YC_DELAY 0x1b56 /* register.h:8265 */ ++#define P_ENCI_YC_DELAY VCBUS_REG_ADDR(ENCI_YC_DELAY) ++#define ENCI_VIDEO_EN 0x1b57 /* register.h:8266 */ ++#define P_ENCI_VIDEO_EN VCBUS_REG_ADDR(ENCI_VIDEO_EN) ++#define VENC_VIDEO_PROG_MODE 0x1b68 /* /../ucode/register.h:8023 */ ++#define P_VENC_VIDEO_PROG_MODE VCBUS_REG_ADDR(VENC_VIDEO_PROG_MODE) ++ ++#define ENCI_DVI_HSO_BEGIN 0x1c00 /* register.h:8280 */ ++#define P_ENCI_DVI_HSO_BEGIN VCBUS_REG_ADDR(ENCI_DVI_HSO_BEGIN) ++#define ENCI_DVI_HSO_END 0x1c01 /* register.h:8281 */ ++#define P_ENCI_DVI_HSO_END VCBUS_REG_ADDR(ENCI_DVI_HSO_END) ++#define ENCI_DVI_VSO_BLINE_EVN 0x1c02 /* register.h:8282 */ ++#define P_ENCI_DVI_VSO_BLINE_EVN VCBUS_REG_ADDR(ENCI_DVI_VSO_BLINE_EVN) ++#define ENCI_DVI_VSO_BLINE_ODD 0x1c03 /* register.h:8283 */ ++#define P_ENCI_DVI_VSO_BLINE_ODD VCBUS_REG_ADDR(ENCI_DVI_VSO_BLINE_ODD) ++#define ENCI_DVI_VSO_ELINE_EVN 0x1c04 /* register.h:8284 */ ++#define P_ENCI_DVI_VSO_ELINE_EVN VCBUS_REG_ADDR(ENCI_DVI_VSO_ELINE_EVN) ++#define ENCI_DVI_VSO_ELINE_ODD 0x1c05 /* register.h:8285 */ ++#define P_ENCI_DVI_VSO_ELINE_ODD VCBUS_REG_ADDR(ENCI_DVI_VSO_ELINE_ODD) ++#define ENCI_DVI_VSO_BEGIN_EVN 0x1c06 /* register.h:8286 */ ++#define P_ENCI_DVI_VSO_BEGIN_EVN VCBUS_REG_ADDR(ENCI_DVI_VSO_BEGIN_EVN) ++#define ENCI_DVI_VSO_BEGIN_ODD 0x1c07 /* register.h:8287 */ ++#define P_ENCI_DVI_VSO_BEGIN_ODD VCBUS_REG_ADDR(ENCI_DVI_VSO_BEGIN_ODD) ++#define ENCI_DVI_VSO_END_EVN 0x1c08 /* register.h:8288 */ ++#define P_ENCI_DVI_VSO_END_EVN VCBUS_REG_ADDR(ENCI_DVI_VSO_END_EVN) ++#define ENCI_DVI_VSO_END_ODD 0x1c09 /* register.h:8289 */ ++#define P_ENCI_DVI_VSO_END_ODD VCBUS_REG_ADDR(ENCI_DVI_VSO_END_ODD) ++#define ENCI_CFILT_CTRL2 0x1c0a /* register.h:8295 */ ++#define P_ENCI_CFILT_CTRL2 VCBUS_REG_ADDR(ENCI_CFILT_CTRL2) ++#define ENCI_DACSEL_0 0x1c0b /* register.h:8296 */ ++#define P_ENCI_DACSEL_0 VCBUS_REG_ADDR(ENCI_DACSEL_0) ++#define ENCI_DACSEL_1 0x1c0c /* register.h:8297 */ ++#define P_ENCI_DACSEL_1 VCBUS_REG_ADDR(ENCI_DACSEL_1) ++#define ENCP_DACSEL_0 0x1c0d /* register.h:8298 */ ++#define P_ENCP_DACSEL_0 VCBUS_REG_ADDR(ENCP_DACSEL_0) ++#define ENCP_DACSEL_1 0x1c0e /* register.h:8299 */ ++#define P_ENCP_DACSEL_1 VCBUS_REG_ADDR(ENCP_DACSEL_1) ++#define ENCP_MAX_LINE_SWITCH_POINT 0x1c0f /* register.h:8300 */ ++#define P_ENCP_MAX_LINE_SWITCH_POINT VCBUS_REG_ADDR(ENCP_MAX_LINE_SWITCH_POINT) ++#define ENCI_TST_EN 0x1c10 /* register.h:8301 */ ++#define P_ENCI_TST_EN VCBUS_REG_ADDR(ENCI_TST_EN) ++#define ENCI_TST_MDSEL 0x1c11 /* register.h:8302 */ ++#define P_ENCI_TST_MDSEL VCBUS_REG_ADDR(ENCI_TST_MDSEL) ++#define ENCI_TST_Y 0x1c12 /* register.h:8303 */ ++#define P_ENCI_TST_Y VCBUS_REG_ADDR(ENCI_TST_Y) ++#define ENCI_TST_CB 0x1c13 /* register.h:8304 */ ++#define P_ENCI_TST_CB VCBUS_REG_ADDR(ENCI_TST_CB) ++#define ENCI_TST_CR 0x1c14 /* register.h:8305 */ ++#define P_ENCI_TST_CR VCBUS_REG_ADDR(ENCI_TST_CR) ++#define ENCI_TST_CLRBAR_STRT 0x1c15 /* register.h:8306 */ ++#define P_ENCI_TST_CLRBAR_STRT VCBUS_REG_ADDR(ENCI_TST_CLRBAR_STRT) ++#define ENCI_TST_CLRBAR_WIDTH 0x1c16 /* register.h:8307 */ ++#define P_ENCI_TST_CLRBAR_WIDTH VCBUS_REG_ADDR(ENCI_TST_CLRBAR_WIDTH) ++#define ENCI_TST_VDCNT_STSET 0x1c17 /* register.h:8308 */ ++#define P_ENCI_TST_VDCNT_STSET VCBUS_REG_ADDR(ENCI_TST_VDCNT_STSET) ++#define ENCI_VFIFO2VD_CTL 0x1c18 /* register.h:8313 */ ++#define P_ENCI_VFIFO2VD_CTL VCBUS_REG_ADDR(ENCI_VFIFO2VD_CTL) ++#define ENCI_VFIFO2VD_PIXEL_START 0x1c19 /* register.h:8315 */ ++#define P_ENCI_VFIFO2VD_PIXEL_START \ ++ VCBUS_REG_ADDR(ENCI_VFIFO2VD_PIXEL_START) ++#define ENCI_VFIFO2VD_PIXEL_END 0x1c1a /* register.h:8317 */ ++#define P_ENCI_VFIFO2VD_PIXEL_END VCBUS_REG_ADDR(ENCI_VFIFO2VD_PIXEL_END) ++#define ENCI_VFIFO2VD_LINE_TOP_START 0x1c1b /* register.h:8319 */ ++#define P_ENCI_VFIFO2VD_LINE_TOP_START \ ++ VCBUS_REG_ADDR(ENCI_VFIFO2VD_LINE_TOP_START) ++#define ENCI_VFIFO2VD_LINE_TOP_END 0x1c1c /* register.h:8321 */ ++#define P_ENCI_VFIFO2VD_LINE_TOP_END \ ++ VCBUS_REG_ADDR(ENCI_VFIFO2VD_LINE_TOP_END) ++#define ENCI_VFIFO2VD_LINE_BOT_START 0x1c1d /* register.h:8323 */ ++#define P_ENCI_VFIFO2VD_LINE_BOT_START \ ++ VCBUS_REG_ADDR(ENCI_VFIFO2VD_LINE_BOT_START) ++#define ENCI_VFIFO2VD_LINE_BOT_END 0x1c1e /* register.h:8325 */ ++#define P_ENCI_VFIFO2VD_LINE_BOT_END \ ++ VCBUS_REG_ADDR(ENCI_VFIFO2VD_LINE_BOT_END) ++#define ENCI_VFIFO2VD_CTL2 0x1c1f /* register.h:8326 */ ++#define P_ENCI_VFIFO2VD_CTL2 VCBUS_REG_ADDR(ENCI_VFIFO2VD_CTL2) ++ ++#define ENCP_DVI_HSO_BEGIN 0x1c30 /* register.h:8354 */ ++#define P_ENCP_DVI_HSO_BEGIN VCBUS_REG_ADDR(ENCP_DVI_HSO_BEGIN) ++#define ENCP_DVI_HSO_END 0x1c31 /* register.h:8355 */ ++#define P_ENCP_DVI_HSO_END VCBUS_REG_ADDR(ENCP_DVI_HSO_END) ++#define ENCP_DVI_VSO_BLINE_EVN 0x1c32 /* register.h:8356 */ ++#define P_ENCP_DVI_VSO_BLINE_EVN VCBUS_REG_ADDR(ENCP_DVI_VSO_BLINE_EVN) ++#define ENCP_DVI_VSO_BLINE_ODD 0x1c33 /* register.h:8357 */ ++#define P_ENCP_DVI_VSO_BLINE_ODD VCBUS_REG_ADDR(ENCP_DVI_VSO_BLINE_ODD) ++#define ENCP_DVI_VSO_ELINE_EVN 0x1c34 /* register.h:8358 */ ++#define P_ENCP_DVI_VSO_ELINE_EVN VCBUS_REG_ADDR(ENCP_DVI_VSO_ELINE_EVN) ++#define ENCP_DVI_VSO_ELINE_ODD 0x1c35 /* register.h:8359 */ ++#define P_ENCP_DVI_VSO_ELINE_ODD VCBUS_REG_ADDR(ENCP_DVI_VSO_ELINE_ODD) ++#define ENCP_DVI_VSO_BEGIN_EVN 0x1c36 /* register.h:8360 */ ++#define P_ENCP_DVI_VSO_BEGIN_EVN VCBUS_REG_ADDR(ENCP_DVI_VSO_BEGIN_EVN) ++#define ENCP_DVI_VSO_BEGIN_ODD 0x1c37 /* register.h:8361 */ ++#define P_ENCP_DVI_VSO_BEGIN_ODD VCBUS_REG_ADDR(ENCP_DVI_VSO_BEGIN_ODD) ++#define ENCP_DVI_VSO_END_EVN 0x1c38 /* register.h:8362 */ ++#define P_ENCP_DVI_VSO_END_EVN VCBUS_REG_ADDR(ENCP_DVI_VSO_END_EVN) ++#define ENCP_DVI_VSO_END_ODD 0x1c39 /* register.h:8363 */ ++#define P_ENCP_DVI_VSO_END_ODD VCBUS_REG_ADDR(ENCP_DVI_VSO_END_ODD) ++#define ENCP_DE_H_BEGIN 0x1c3a /* register.h:8364 */ ++#define P_ENCP_DE_H_BEGIN VCBUS_REG_ADDR(ENCP_DE_H_BEGIN) ++#define ENCP_DE_H_END 0x1c3b /* register.h:8365 */ ++#define P_ENCP_DE_H_END VCBUS_REG_ADDR(ENCP_DE_H_END) ++#define ENCP_DE_V_BEGIN_EVEN 0x1c3c /* register.h:8366 */ ++#define P_ENCP_DE_V_BEGIN_EVEN VCBUS_REG_ADDR(ENCP_DE_V_BEGIN_EVEN) ++#define ENCP_DE_V_END_EVEN 0x1c3d /* register.h:8367 */ ++#define P_ENCP_DE_V_END_EVEN VCBUS_REG_ADDR(ENCP_DE_V_END_EVEN) ++#define ENCP_DE_V_BEGIN_ODD 0x1c3e /* register.h:8368 */ ++#define P_ENCP_DE_V_BEGIN_ODD VCBUS_REG_ADDR(ENCP_DE_V_BEGIN_ODD) ++#define ENCP_DE_V_END_ODD 0x1c3f /* register.h:8369 */ ++#define P_ENCP_DE_V_END_ODD VCBUS_REG_ADDR(ENCP_DE_V_END_ODD) ++#define ENCI_SYNC_LINE_LENGTH 0x1c40 /* register.h:8372 */ ++#define P_ENCI_SYNC_LINE_LENGTH VCBUS_REG_ADDR(ENCI_SYNC_LINE_LENGTH) ++#define ENCI_SYNC_PIXEL_EN 0x1c41 /* register.h:8375 */ ++#define P_ENCI_SYNC_PIXEL_EN VCBUS_REG_ADDR(ENCI_SYNC_PIXEL_EN) ++#define ENCI_SYNC_TO_LINE_EN 0x1c42 /* register.h:8382 */ ++#define P_ENCI_SYNC_TO_LINE_EN VCBUS_REG_ADDR(ENCI_SYNC_TO_LINE_EN) ++#define ENCI_SYNC_TO_PIXEL 0x1c43 /* register.h:8384 */ ++#define P_ENCI_SYNC_TO_PIXEL VCBUS_REG_ADDR(ENCI_SYNC_TO_PIXEL) ++#define ENCP_SYNC_LINE_LENGTH 0x1c44 /* register.h:8387 */ ++#define P_ENCP_SYNC_LINE_LENGTH VCBUS_REG_ADDR(ENCP_SYNC_LINE_LENGTH) ++#define ENCP_SYNC_PIXEL_EN 0x1c45 /* register.h:8390 */ ++#define P_ENCP_SYNC_PIXEL_EN VCBUS_REG_ADDR(ENCP_SYNC_PIXEL_EN) ++#define ENCP_SYNC_TO_LINE_EN 0x1c46 /* register.h:8397 */ ++#define P_ENCP_SYNC_TO_LINE_EN VCBUS_REG_ADDR(ENCP_SYNC_TO_LINE_EN) ++#define ENCP_SYNC_TO_PIXEL 0x1c47 /* register.h:8399 */ ++#define P_ENCP_SYNC_TO_PIXEL VCBUS_REG_ADDR(ENCP_SYNC_TO_PIXEL) ++ ++#define VPP_POSTBLEND_H_SIZE 0x1d21 ++#define P_VPP_POSTBLEND_H_SIZE VCBUS_REG_ADDR(VPP_POSTBLEND_H_SIZE) ++ ++ ++#define VPU_VIU_VENC_MUX_CTRL 0x271a /* register.h:9214 */ ++#define P_VPU_VIU_VENC_MUX_CTRL VCBUS_REG_ADDR(VPU_VIU_VENC_MUX_CTRL) ++#define VPU_HDMI_SETTING 0x271b /* register.h:9229 */ ++#define P_VPU_HDMI_SETTING VCBUS_REG_ADDR(VPU_HDMI_SETTING) ++ ++#define VPU_HDMI_DATA_OVR 0x2727 /* register.h:9270 */ ++#define P_VPU_HDMI_DATA_OVR VCBUS_REG_ADDR(VPU_HDMI_DATA_OVR) ++#define VPU_HDMI_FMT_CTRL 0x2743 ++#define P_VPU_HDMI_FMT_CTRL VCBUS_REG_ADDR(VPU_HDMI_FMT_CTRL) ++/* For GXM and later */ ++#define VPU_HDMI_DITH_CNTL 0x27fc ++#define P_VPU_HDMI_DITH_CNTL VCBUS_REG_ADDR(VPU_HDMI_DITH_CNTL) ++ ++#endif +diff --git a/include/amlogic/media/vout/lcd/aml_lcd.h b/include/amlogic/media/vout/lcd/aml_lcd.h +new file mode 100644 +index 00000000000..ef3334a5fb0 +--- /dev/null ++++ b/include/amlogic/media/vout/lcd/aml_lcd.h +@@ -0,0 +1,168 @@ ++/* ++ * include/amlogic/media/vout/lcd/aml_lcd.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#ifndef INC_AML_LCD_H ++#define INC_AML_LCD_H ++ ++#include ++#include ++#include ++#ifdef CONFIG_AML_LCD_EXTERN ++#include ++#endif ++#ifdef CONFIG_AML_BL_EXTERN ++#include ++#endif ++ ++#define LCD_GPIO_MAX 0xff ++#define LCD_GPIO_OUTPUT_LOW 0 ++#define LCD_GPIO_OUTPUT_HIGH 1 ++#define LCD_GPIO_INPUT 2 ++ ++ ++#define LCD_EXT_I2C_BUS_0 0 //A ++#define LCD_EXT_I2C_BUS_1 1 //B ++#define LCD_EXT_I2C_BUS_2 2 //C ++#define LCD_EXT_I2C_BUS_3 3 //D ++#define LCD_EXT_I2C_BUS_4 4 //AO ++#define LCD_EXT_I2C_BUS_MAX 0xff ++ ++ ++#define LCD_EXT_I2C_BUS_INVALID 0xff ++#define LCD_EXT_I2C_ADDR_INVALID 0xff ++#define LCD_EXT_GPIO_INVALID 0xff ++ ++#define LCD_EXT_SPI_CLK_FREQ_DFT 10 /* unit: KHz */ ++ ++ ++#define LCD_EXT_CMD_TYPE_CMD_DELAY 0x00 ++#define LCD_EXT_CMD_TYPE_CMD2_DELAY 0x01 /* for i2c device 2nd addr */ ++#define LCD_EXT_CMD_TYPE_NONE 0x10 ++#define LCD_EXT_CMD_TYPE_CMD 0xc0 ++#define LCD_EXT_CMD_TYPE_CMD2 0xc1 /* for i2c device 2nd addr */ ++#define LCD_EXT_CMD_TYPE_GPIO 0xf0 ++#define LCD_EXT_CMD_TYPE_CHECK 0xfc ++#define LCD_EXT_CMD_TYPE_DELAY 0xfd ++#define LCD_EXT_CMD_TYPE_END 0xff ++ ++#define LCD_EXT_CMD_SIZE_DYNAMIC 0xff ++#define LCD_EXT_DYNAMIC_SIZE_INDEX 1 ++ ++ ++#define LCD_GPIO_NAME_MAX 15 ++struct lcd_cpu_gpio_s { ++ char name[LCD_GPIO_NAME_MAX]; ++ struct gpio_desc gpio; ++ int probe_flag; ++ int register_flag; ++}; ++ ++ ++#define Rsv_val 0xffffffff ++struct ext_lcd_config_s { ++ const char panel_type[20]; ++ int lcd_type; ++ unsigned char lcd_bits; ++ ++ unsigned short h_active; ++ unsigned short v_active; ++ unsigned short h_period; ++ unsigned short v_period; ++ unsigned short hsync_width; ++ unsigned short hsync_bp; ++ unsigned short hsync_pol; ++ unsigned short vsync_width; ++ unsigned short vsync_bp; ++ unsigned short vsync_pol; ++ ++ unsigned int customer_val_0; //fr_adjust_type ++ unsigned int customer_val_1; //ss_level ++ unsigned int customer_val_2; //clk_auto_generate ++ unsigned int customer_val_3; //pixel clock(unit in Hz) ++ unsigned int customer_val_4; ++ unsigned int customer_val_5; ++ unsigned int customer_val_6; ++ unsigned int customer_val_7; ++ unsigned int customer_val_8; ++ unsigned int customer_val_9; ++ ++ unsigned int if_attr_val0; ++ unsigned int if_attr_val1; ++ unsigned int if_attr_val2; ++ unsigned int if_attr_val3; ++ unsigned int if_attr_val4; ++ unsigned int if_attr_val5; ++ unsigned int if_attr_val6; ++ unsigned int if_attr_val7; ++ unsigned int if_attr_val8; ++ unsigned int if_attr_val9; ++ ++ unsigned char *cmd_init_on; ++ unsigned char *cmd_init_off; ++ struct lcd_power_step_s *power_on_step; ++ struct lcd_power_step_s *power_off_step; ++ ++ /* backlight */ ++ unsigned int level_default; ++ unsigned int level_max; ++ unsigned int level_min; ++ unsigned int level_mid; ++ unsigned int level_mid_mapping; ++ ++ unsigned int bl_method; ++ unsigned int bl_en_gpio; ++ unsigned short bl_en_gpio_on; ++ unsigned short bl_en_gpio_off; ++ unsigned short bl_power_on_delay; ++ unsigned short bl_power_off_delay; ++ ++ unsigned int pwm_method; ++ unsigned int pwm_port; ++ unsigned int pwm_freq; ++ unsigned int pwm_duty_max; ++ unsigned int pwm_duty_min; ++ unsigned int pwm_gpio; ++ unsigned int pwm_gpio_off; ++ ++ unsigned int pwm2_method; ++ unsigned int pwm2_port; ++ unsigned int pwm2_freq; ++ unsigned int pwm2_duty_max; ++ unsigned int pwm2_duty_min; ++ unsigned int pwm2_gpio; ++ unsigned int pwm2_gpio_off; ++ ++ unsigned int pwm_level_max; ++ unsigned int pwm_level_min; ++ unsigned int pwm2_level_max; ++ unsigned int pwm2_level_min; ++ ++ unsigned int pwm_on_delay; ++ unsigned int pwm_off_delay; ++ ++ /* backlight extern */ ++ unsigned int bl_ext_index; ++}; ++ ++#define LCD_NUM_MAX 10 ++ ++extern struct ext_lcd_config_s ext_lcd_config[LCD_NUM_MAX]; ++ ++#endif /* INC_AML_LCD_H */ +diff --git a/include/amlogic/media/vout/lcd/bl_extern.h b/include/amlogic/media/vout/lcd/bl_extern.h +new file mode 100644 +index 00000000000..6604672cea4 +--- /dev/null ++++ b/include/amlogic/media/vout/lcd/bl_extern.h +@@ -0,0 +1,88 @@ ++/* ++ * include/amlogicmedia/vout/lcd/bl_extern.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#ifndef _INC_AML_BL_EXTERN_H_ ++#define _INC_AML_BL_EXTERN_H_ ++ ++enum bl_extern_type_e { ++ BL_EXTERN_I2C = 0, ++ BL_EXTERN_SPI, ++ BL_EXTERN_MIPI, ++ BL_EXTERN_MAX, ++}; ++ ++#define BL_EXTERN_I2C_BUS_A 0 ++#define BL_EXTERN_I2C_BUS_B 1 ++#define BL_EXTERN_I2C_BUS_C 2 ++#define BL_EXTERN_I2C_BUS_D 3 ++#define BL_EXTERN_I2C_BUS_AO 4 ++ ++#define BL_EXTERN_I2C_BUS_0 BL_EXTERN_I2C_BUS_A ++#define BL_EXTERN_I2C_BUS_1 BL_EXTERN_I2C_BUS_B ++#define BL_EXTERN_I2C_BUS_2 BL_EXTERN_I2C_BUS_C ++#define BL_EXTERN_I2C_BUS_3 BL_EXTERN_I2C_BUS_D ++#define BL_EXTERN_I2C_BUS_4 BL_EXTERN_I2C_BUS_AO ++#define BL_EXTERN_I2C_BUS_MAX 5 ++ ++#define BL_EXTERN_INIT_ON_MAX 200 ++#define BL_EXTERN_INIT_OFF_MAX 50 ++ ++#define BL_EXTERN_GPIO_NUM_MAX 6 ++#define BL_EXTERN_INDEX_INVALID 0xff ++#define BL_EXTERN_NAME_LEN_MAX 30 ++struct bl_extern_config_s { ++ unsigned char index; ++ char name[BL_EXTERN_NAME_LEN_MAX]; ++ enum bl_extern_type_e type; ++ unsigned char i2c_addr; ++ unsigned char i2c_bus; ++ unsigned int dim_min; ++ unsigned int dim_max; ++ ++ unsigned char init_loaded; ++ unsigned char cmd_size; ++ unsigned char *init_on; ++ unsigned char *init_off; ++ unsigned int init_on_cnt; ++ unsigned int init_off_cnt; ++}; ++ ++/* global API */ ++#define BL_EXT_DRIVER_MAX 10 ++struct aml_bl_extern_driver_s { ++ int (*power_on)(void); ++ int (*power_off)(void); ++ int (*set_level)(unsigned int level); ++ void (*config_print)(void); ++ int (*device_power_on)(void); ++ int (*device_power_off)(void); ++ int (*device_bri_update)(unsigned int level); ++ struct bl_extern_config_s *config; ++}; ++ ++extern struct aml_bl_extern_driver_s *aml_bl_extern_get_driver(void); ++extern int aml_bl_extern_device_load(const void *dt_blob, int index); ++extern struct bl_extern_config_s bl_extern_config_dtf; ++#ifdef CONFIG_AML_LCD_TABLET ++extern int dsi_write_cmd(unsigned char *payload); ++#endif ++ ++#endif ++ +diff --git a/include/amlogic/media/vout/lcd/bl_ldim.h b/include/amlogic/media/vout/lcd/bl_ldim.h +new file mode 100644 +index 00000000000..fb42eb3f71d +--- /dev/null ++++ b/include/amlogic/media/vout/lcd/bl_ldim.h +@@ -0,0 +1,118 @@ ++/* ++ * include/amlogic/media/vout/lcd/bl_ldim.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#ifndef INC_AML_BL_LDIM_H ++#define INC_AML_BL_LDIM_H ++ ++#include ++#include ++#include ++#include ++ ++enum ldim_dev_type_e { ++ LDIM_DEV_TYPE_NORMAL = 0, ++ LDIM_DEV_TYPE_SPI, ++ LDIM_DEV_TYPE_I2C, ++ LDIM_DEV_TYPE_MAX, ++}; ++ ++#define LDIM_INIT_ON_MAX 300 ++#define LDIM_INIT_OFF_MAX 20 ++ ++struct ldim_pinmux_ctrl_s { ++ char *name; ++ unsigned int pinmux_set[LCD_PINMUX_NUM][2]; ++ unsigned int pinmux_clr[LCD_PINMUX_NUM][2]; ++}; ++ ++struct ldim_config_s { ++ unsigned char row; ++ unsigned char col; ++}; ++ ++struct ldim_dev_config_s { ++ char name[20]; ++ char pinmux_name[20]; ++ unsigned char type; ++ int cs_hold_delay; ++ int cs_clk_delay; ++ int en_gpio; ++ int en_gpio_on; ++ int en_gpio_off; ++ int lamp_err_gpio; ++ unsigned char fault_check; ++ unsigned char write_check; ++ ++ unsigned int dim_min; ++ unsigned int dim_max; ++ ++ unsigned char init_loaded; ++ unsigned char cmd_size; ++ unsigned char *init_on; ++ unsigned char *init_off; ++ unsigned int init_on_cnt; ++ unsigned int init_off_cnt; ++ ++ unsigned char pinctrl_ver; ++ struct ldim_pinmux_ctrl_s *ldim_pinmux; ++ struct bl_pwm_config_s pwm_config; ++ char gpio_name[BL_GPIO_NUM_MAX][LCD_GPIO_NAME_MAX]; ++ ++ unsigned short bl_regnum; ++}; ++ ++#define LDIM_SPI_NAME_MAX 30 ++struct ldim_spi_dev_info_s { ++ char modalias[20]; ++ char spi_name[LDIM_SPI_NAME_MAX]; ++ int mode; ++ int max_speed_hz; ++ int bus_num; ++ int chip_select; ++ int wordlen; ++ ++ struct spi_slave *spi; ++}; ++ ++/*******global API******/ ++struct aml_ldim_driver_s { ++ int valid_flag; ++ int dev_index; ++ struct ldim_config_s *ldim_conf; ++ struct ldim_dev_config_s *ldev_conf; ++ unsigned short *ldim_matrix_buf; ++ int (*power_on)(void); ++ int (*power_off)(void); ++ int (*set_level)(unsigned int level); ++ void (*config_print)(void); ++ int (*pinmux_ctrl)(int status); ++ void (*device_config_print)(void); ++ int (*device_power_on)(void); ++ int (*device_power_off)(void); ++ int (*device_bri_update)(unsigned short *buf, unsigned char len); ++ struct ldim_spi_dev_info_s *spi_info; ++}; ++ ++extern struct ldim_dev_config_s ldim_config_dft; ++ ++extern struct aml_ldim_driver_s *aml_ldim_get_driver(void); ++extern int aml_ldim_probe(char *dt_addr, int flag); /* flag: 0=dts, 1=bsp, 2=unifykey */ ++ ++#endif /* INC_AML_BL_LDIM_H */ +diff --git a/include/amlogic/media/vout/lcd/lcd_extern.h b/include/amlogic/media/vout/lcd/lcd_extern.h +new file mode 100644 +index 00000000000..dc6ef565a8a +--- /dev/null ++++ b/include/amlogic/media/vout/lcd/lcd_extern.h +@@ -0,0 +1,116 @@ ++/* ++ * include/amlogic/media/vout/lcd/lcd_extern.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#ifndef _INC_AML_LCD_EXTERN_H_ ++#define _INC_AML_LCD_EXTERN_H_ ++#include ++ ++enum lcd_extern_type_e { ++ LCD_EXTERN_I2C = 0, ++ LCD_EXTERN_SPI, ++ LCD_EXTERN_MIPI, ++ LCD_EXTERN_MAX, ++}; ++ ++#define LCD_EXTERN_I2C_BUS_A 0 ++#define LCD_EXTERN_I2C_BUS_B 1 ++#define LCD_EXTERN_I2C_BUS_C 2 ++#define LCD_EXTERN_I2C_BUS_D 3 ++#define LCD_EXTERN_I2C_BUS_AO 4 ++ ++#define LCD_EXTERN_I2C_BUS_0 LCD_EXTERN_I2C_BUS_A ++#define LCD_EXTERN_I2C_BUS_1 LCD_EXTERN_I2C_BUS_B ++#define LCD_EXTERN_I2C_BUS_2 LCD_EXTERN_I2C_BUS_C ++#define LCD_EXTERN_I2C_BUS_3 LCD_EXTERN_I2C_BUS_D ++#define LCD_EXTERN_I2C_BUS_4 LCD_EXTERN_I2C_BUS_AO ++#define LCD_EXTERN_I2C_BUS_MAX 5 ++ ++ ++#define LCD_EXTERN_INIT_ON_MAX 3000 ++#define LCD_EXTERN_INIT_OFF_MAX 100 ++ ++#define LCD_EXTERN_GPIO_NUM_MAX 6 ++#define LCD_EXTERN_GPIO_LEN_MAX 10 ++#define LCD_EXTERN_INDEX_INVALID 0xff ++#define LCD_EXTERN_NAME_LEN_MAX 30 ++ ++#define LCD_EXTERN_NUM_MAX 20 ++ ++struct lcd_extern_config_s { ++ unsigned char index; ++ char name[LCD_EXTERN_NAME_LEN_MAX]; ++ enum lcd_extern_type_e type; ++ unsigned char status; ++ ++ unsigned char i2c_addr; ++ unsigned char i2c_addr2; ++ unsigned char i2c_bus; ++ ++ unsigned char spi_clk_pol; ++ unsigned short spi_clk_freq; /*KHz */ ++ unsigned short spi_delay_us; ++ ++ unsigned char cmd_size; ++ unsigned char table_init_loaded; /* internal use */ ++ unsigned int table_init_on_cnt; ++ unsigned int table_init_off_cnt; ++ unsigned char *table_init_on; ++ unsigned char *table_init_off; ++}; ++ ++struct lcd_extern_common_s { ++ unsigned char lcd_ext_key_valid; ++ char gpio_name[LCD_EXTERN_GPIO_NUM_MAX][LCD_EXTERN_GPIO_LEN_MAX]; ++ ++ unsigned char i2c_bus; ++ unsigned char i2c_gpio_sck; ++ unsigned char i2c_gpio_sda; ++ ++ unsigned char spi_gpio_cs; ++ unsigned char spi_gpio_clk; ++ unsigned char spi_gpio_data; ++ ++ struct lcd_pinmux_ctrl_s *lcd_ext_pinmux; ++ unsigned int pinmux_set[LCD_PINMUX_NUM][2]; ++ unsigned int pinmux_clr[LCD_PINMUX_NUM][2]; ++ unsigned char pinmux_gpio_off; ++ unsigned char pinmux_valid; ++}; ++ ++//global API ++struct aml_lcd_extern_driver_s { ++ struct lcd_extern_config_s *config; ++ struct lcd_extern_common_s *common; ++ int (*reg_read) (unsigned char reg, unsigned char *buf); ++ int (*reg_write) (unsigned char reg, unsigned char value); ++ int (*power_on)(void); ++ int (*power_off)(void); ++ void (*info_print)(void); ++}; ++ ++extern struct aml_lcd_extern_driver_s *aml_lcd_extern_get_driver(void); ++extern int aml_lcd_extern_probe(const void *dt_blob, int index); ++extern int aml_lcd_extern_remove(void); ++ ++extern struct lcd_extern_config_s ext_config_dtf; ++extern struct lcd_extern_common_s ext_common_dft; ++ ++#endif ++ +diff --git a/include/amlogic/media/vout/lcd/lcd_vout.h b/include/amlogic/media/vout/lcd/lcd_vout.h +new file mode 100644 +index 00000000000..a5c0f3d817a +--- /dev/null ++++ b/include/amlogic/media/vout/lcd/lcd_vout.h +@@ -0,0 +1,520 @@ ++/* ++ * include/amlogic/media/vout/lcd/lcd_vout.h ++ * ++ * Copyright (C) 2015 Amlogic, Inc. All rights reserved. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#ifndef INC_AML_LCD_VOUT_H ++#define INC_AML_LCD_VOUT_H ++ ++#include ++#include ++#include ++#include ++ ++/* ********************************** ++ * debug print define ++ * ********************************** */ ++//#define LCD_DEBUG_INFO ++extern unsigned int lcd_debug_print_flag; ++ ++#define LCDPR(fmt, args...) printf("lcd: "fmt"", ## args) ++#define LCDERR(fmt, args...) printf("lcd: error: "fmt"", ## args) ++ ++/* ********************************** ++ * clk parameter bit define ++ * pll_ctrl, div_ctrl, clk_ctrl ++ * ********************************** */ ++/* ******** pll_ctrl ******** */ ++#define PLL_CTRL_OD3 20 /* [21:20] */ ++#define PLL_CTRL_OD2 18 /* [19:18] */ ++#define PLL_CTRL_OD1 16 /* [17:16] */ ++#define PLL_CTRL_N 9 /* [13:9] */ ++#define PLL_CTRL_M 0 /* [8:0] */ ++ ++/* ******** div_ctrl ******** */ ++#define DIV_CTRL_EDP_DIV1 24 /* [26:24] */ ++#define DIV_CTRL_EDP_DIV0 20 /* [23:20] */ ++#define DIV_CTRL_DIV_SEL 8 /* [15:8] */ ++#define DIV_CTRL_XD 0 /* [7:0] */ ++ ++/* ******** clk_ctrl ******** */ ++#define CLK_CTRL_LEVEL 28 /* [30:28] */ ++#define CLK_CTRL_FRAC 0 /* [18:0] */ ++ ++ ++#define LCD_PINMUX_END 0xff ++#define LCD_PINMUX_NUM 15 ++ ++/* ********************************** ++ * VENC to TCON sync delay ++ * ********************************** */ ++#define TTL_DELAY 13 ++ ++ ++/* ********************************** ++ * global control define ++ * ********************************** */ ++enum lcd_mode_e { ++ LCD_MODE_TV = 0, ++ LCD_MODE_TABLET, ++ LCD_MODE_MAX, ++}; ++ ++enum lcd_chip_e { ++ LCD_CHIP_G12A = 0, ++ LCD_CHIP_G12B, /* 1 */ ++ LCD_CHIP_TL1, ++ LCD_CHIP_SM1, ++ LCD_CHIP_MAX, ++}; ++ ++enum lcd_type_e { ++ LCD_TTL = 0, ++ LCD_LVDS, ++ LCD_VBYONE, ++ LCD_MIPI, ++ LCD_MLVDS, ++ LCD_TYPE_MAX, ++}; ++ ++#define MOD_LEN_MAX 30 ++struct lcd_basic_s { ++ char model_name[MOD_LEN_MAX]; ++ enum lcd_type_e lcd_type; ++ unsigned char lcd_bits; ++ ++ unsigned short h_active; /* Horizontal display area */ ++ unsigned short v_active; /* Vertical display area */ ++ unsigned short h_period; /* Horizontal total period time */ ++ unsigned short v_period; /* Vertical total period time */ ++ unsigned short h_period_min; ++ unsigned short h_period_max; ++ unsigned short v_period_min; ++ unsigned short v_period_max; ++ unsigned int lcd_clk_min; ++ unsigned int lcd_clk_max; ++ ++ unsigned short screen_width; /* screen physical width in "mm" unit */ ++ unsigned short screen_height; /* screen physical height in "mm" unit */ ++}; ++ ++#define LCD_CLK_FRAC_UPDATE (1 << 0) ++#define LCD_CLK_PLL_CHANGE (1 << 1) ++struct lcd_timing_s { ++ unsigned char clk_auto; /* clk parameters auto generation */ ++ unsigned char fr_adjust_type; /* 0=clock, 1=htotal, 2=vtotal */ ++ unsigned char clk_change; /* internal used */ ++ unsigned int lcd_clk; /* pixel clock(unit: Hz) */ ++ unsigned int lcd_clk_dft; /* internal used */ ++ unsigned int h_period_dft; /* internal used */ ++ unsigned int v_period_dft; /* internal used */ ++ unsigned int pll_ctrl; /* pll settings */ ++ unsigned int div_ctrl; /* divider settings */ ++ unsigned int clk_ctrl; /* clock settings */ ++ ++ unsigned int ss_level; ++ ++ unsigned short sync_duration_num; ++ unsigned short sync_duration_den; ++ ++ unsigned short video_on_pixel; ++ unsigned short video_on_line; ++ ++ unsigned short hsync_width; ++ unsigned short hsync_bp; ++ unsigned short hsync_pol; ++ unsigned short vsync_width; ++ unsigned short vsync_bp; ++ unsigned short vsync_pol; ++ /* unsigned int vsync_h_phase; // [31]sign, [15:0]value */ ++ unsigned int h_offset; ++ unsigned int v_offset; ++ ++ unsigned short de_hs_addr; ++ unsigned short de_he_addr; ++ unsigned short de_vs_addr; ++ unsigned short de_ve_addr; ++ ++ unsigned short hs_hs_addr; ++ unsigned short hs_he_addr; ++ unsigned short hs_vs_addr; ++ unsigned short hs_ve_addr; ++ ++ unsigned short vs_hs_addr; ++ unsigned short vs_he_addr; ++ unsigned short vs_vs_addr; ++ unsigned short vs_ve_addr; ++}; ++ ++struct ttl_config_s { ++ unsigned int clk_pol; ++ unsigned int sync_valid; /* [1]DE, [0]hvsync */ ++ unsigned int swap_ctrl; /* [1]rb swap, [0]bit swap */ ++}; ++ ++#define LVDS_PHY_VSWING_DFT 3 ++#define LVDS_PHY_PREEM_DFT 0 ++#define LVDS_PHY_CLK_VSWING_DFT 0 ++#define LVDS_PHY_CLK_PREEM_DFT 0 ++struct lvds_config_s { ++ unsigned int lvds_repack; ++ unsigned int dual_port; ++ unsigned int pn_swap; ++ unsigned int port_swap; ++ unsigned int lane_reverse; ++ unsigned int port_sel; ++ unsigned int phy_vswing; ++ unsigned int phy_preem; ++ unsigned int phy_clk_vswing; ++ unsigned int phy_clk_preem; ++}; ++ ++#define VX1_PHY_VSWING_DFT 3 ++#define VX1_PHY_PREEM_DFT 0 ++ ++#define VX1_PWR_ON_RESET_DLY_DFT 500 /* 500ms */ ++#define VX1_HPD_DATA_DELAY_DFT 10 /* 10ms */ ++#define VX1_CDR_TRAINING_HOLD_DFT 200 /* 200ms */ ++ ++#define VX1_SW_FILTER_TIME_DFT 10 /* 10*100us=1ms */ ++#define VX1_SW_FILTER_CNT_DFT 6 ++#define VX1_SW_FILTER_RETRY_CNT_DFT 2 ++#define VX1_SW_FILTER_RETRY_DLY_DFT 100 /* 100ms */ ++#define VX1_SW_CDR_DET_TIME_DFT 20 /* 20us*100=2ms */ ++#define VX1_SW_CDR_DET_CNT_DFT 100 ++#define VX1_SW_CDR_TIMEOUT_CNT_DFT 100 ++ ++struct vbyone_config_s { ++ unsigned int lane_count; ++ unsigned int region_num; ++ unsigned int byte_mode; ++ unsigned int color_fmt; ++ unsigned int phy_div; ++ unsigned int bit_rate; ++ unsigned int phy_vswing; /*[5:4]:ext_pullup, [3:0]vswing*/ ++ unsigned int phy_preem; ++ unsigned int ctrl_flag; ++ /* bit[0]:power_on_reset_en ++ bit[1]:hpd_data_delay_en ++ bit[2]:cdr_training_hold_en ++ bit[3]:hw_filter_en ++ bit[5:4]:sw_filter */ ++ ++ /* ctrl timing */ ++ unsigned int power_on_reset_delay; /* ms */ ++ unsigned int hpd_data_delay; /* ms */ ++ unsigned int cdr_training_hold; /* ms */ ++ /* hw filter */ ++ unsigned int hpd_hw_filter_time; /* ms */ ++ unsigned int hpd_hw_filter_cnt; ++ unsigned int lockn_hw_filter_time; /* ms */ ++ unsigned int lockn_hw_filter_cnt; ++ /* sw filter */ ++ unsigned int vx1_sw_filter_en; /* 0=disable, 1=sw_filter, 2=sw_filter with sw_reset */ ++ unsigned int vx1_sw_filter_time; /* 100us base */ ++ unsigned int vx1_sw_filter_cnt; ++ unsigned int vx1_sw_filter_retry_cnt; ++ unsigned int vx1_sw_filter_retry_delay; /* ms base */ ++ unsigned int vx1_sw_cdr_detect_time; /* us base * 100 times, must cover tcon lockn pulse */ ++ unsigned int vx1_sw_cdr_detect_cnt; ++ unsigned int vx1_sw_cdr_timeout_cnt; ++}; ++ ++/* mipi-dsi config */ ++/* Operation mode parameters */ ++#define OPERATION_VIDEO_MODE 0 ++#define OPERATION_COMMAND_MODE 1 ++ ++#define SYNC_PULSE 0x0 ++#define SYNC_EVENT 0x1 ++#define BURST_MODE 0x2 ++ ++/* command config */ ++#define DSI_CMD_SIZE_INDEX 1 /* byte[1] */ ++#define DSI_GPIO_INDEX 2 /* byte[2] */ ++ ++#define DSI_INIT_ON_MAX 100 ++#define DSI_INIT_OFF_MAX 30 ++ ++struct dsi_config_s { ++ unsigned char lane_num; ++ unsigned int bit_rate_max; /* MHz */ ++ unsigned int bit_rate_min; /* MHz*/ ++ unsigned int bit_rate; /* Hz */ ++ unsigned int clk_factor; /* bit_rate/pclk */ ++ unsigned int factor_numerator; ++ unsigned int factor_denominator; /* 100 */ ++ unsigned char operation_mode_init; /* 0=video mode, 1=command mode */ ++ unsigned char operation_mode_display; /* 0=video mode, 1=command mode */ ++ unsigned char video_mode_type; /* 0=sync_pulse, 1=sync_event, 2=burst */ ++ unsigned char clk_always_hs; /* 0=disable, 1=enable */ ++ unsigned char phy_switch; /* 0=auto, 1=standard, 2=slow */ ++ ++ unsigned int venc_data_width; ++ unsigned int dpi_data_format; ++ ++ unsigned char *dsi_init_on; ++ unsigned char *dsi_init_off; ++ unsigned char extern_init; ++ ++ unsigned char check_en; ++ unsigned char check_reg; ++ unsigned char check_cnt; ++ unsigned char check_state; ++}; ++ ++struct mlvds_config_s { ++ unsigned int channel_num; ++ unsigned int channel_sel0; ++ unsigned int channel_sel1; ++ unsigned int clk_phase; /* [13:12]=clk01_sel, [11:8]=pi2, [7:4]=pi1, [3:0]=pi0 */ ++ unsigned int pn_swap; ++ unsigned int bit_swap; /* MSB/LSB reverse */ ++ unsigned int phy_vswing; ++ unsigned int phy_preem; ++ ++ /* internal used */ ++ unsigned int pi_clk_sel; /* bit[9:0] */ ++ unsigned int bit_rate; /* Hz */ ++}; ++ ++struct lcd_ctrl_config_s { ++ struct ttl_config_s *ttl_config; ++ struct lvds_config_s *lvds_config; ++ struct vbyone_config_s *vbyone_config; ++ struct dsi_config_s *mipi_config; ++ struct mlvds_config_s *mlvds_config; ++}; ++ ++/* ********************************** ++ * power control define ++ * ********************************** */ ++enum lcd_power_type_e { ++ LCD_POWER_TYPE_CPU = 0, ++ LCD_POWER_TYPE_PMU, ++ LCD_POWER_TYPE_SIGNAL, ++ LCD_POWER_TYPE_EXTERN, ++ LCD_POWER_TYPE_MAX, ++}; ++ ++#define LCD_CPU_GPIO_NAME_MAX 15 ++ ++/* Power Control */ ++#define LCD_CPU_GPIO_NUM_MAX 10 ++ ++#define LCD_PWR_STEP_MAX 15 ++struct lcd_power_step_s { ++ unsigned char type; ++ int index; /* point to lcd_cpu_gpio or lcd_extern */ ++ unsigned short value; ++ unsigned short delay; ++}; ++ ++struct lcd_power_ctrl_s { ++ char cpu_gpio[LCD_CPU_GPIO_NUM_MAX][LCD_CPU_GPIO_NAME_MAX]; ++ struct lcd_power_step_s power_on_step[LCD_PWR_STEP_MAX]; ++ struct lcd_power_step_s power_off_step[LCD_PWR_STEP_MAX]; ++}; ++ ++#define LCD_PINMX_MAX 20 ++#define BL_PINMUX_MAX 20 ++#define LCD_PINMUX_NAME_LEN_MAX 30 ++struct lcd_pinmux_ctrl_s { ++ char *name; ++ unsigned int pinmux_set[LCD_PINMUX_NUM][2]; ++ unsigned int pinmux_clr[LCD_PINMUX_NUM][2]; ++}; ++ ++#define LCD_ENABLE_RETRY_MAX 3 ++struct lcd_config_s { ++ unsigned char lcd_mode; ++ unsigned char lcd_key_valid; ++ unsigned char lcd_clk_path; /* 0=hpll, 1=gp0_pll */ ++ unsigned char retry_enable_flag; ++ unsigned char retry_enable_cnt; ++ unsigned int backlight_index; ++ struct lcd_basic_s lcd_basic; ++ struct lcd_timing_s lcd_timing; ++ struct lcd_ctrl_config_s lcd_control; ++ struct lcd_power_ctrl_s *lcd_power; ++ unsigned char pinctrl_ver; ++ struct lcd_pinmux_ctrl_s *lcd_pinmux; ++ unsigned int pinmux_set[LCD_PINMUX_NUM][2]; ++ unsigned int pinmux_clr[LCD_PINMUX_NUM][2]; ++}; ++ ++extern struct lcd_config_s lcd_config_dft; ++ ++/* ==============backlight control config================== */ ++enum bl_ctrl_method_e { ++ BL_CTRL_GPIO = 0, ++ BL_CTRL_PWM, ++ BL_CTRL_PWM_COMBO, ++ BL_CTRL_LOCAL_DIMMING, ++ BL_CTRL_EXTERN, ++ BL_CTRL_MAX, ++}; ++ ++enum bl_pwm_method_e { ++ BL_PWM_NEGATIVE = 0, ++ BL_PWM_POSITIVE, ++ BL_PWM_METHOD_MAX, ++}; ++ ++enum bl_pwm_port_e { ++ BL_PWM_A = 0, ++ BL_PWM_B, ++ BL_PWM_C, ++ BL_PWM_D, ++ BL_PWM_E, ++ BL_PWM_F, ++ BL_PWM_VS, ++ BL_PWM_MAX, ++}; ++ ++enum bl_off_policy_e { ++ BL_OFF_POLICY_NONE = 0, ++ BL_OFF_POLICY_ALWAYS, ++ BL_OFF_POLICY_ONCE, ++ BL_OFF_POLICY_MAX, ++}; ++ ++#define XTAL_FREQ_HZ (24*1000*1000) /* 24M in HZ */ ++#define XTAL_HALF_FREQ_HZ (24*1000*500) /* 24M/2 in HZ */ ++ ++#define BL_FREQ_DEFAULT 1000 /* unit: HZ */ ++#define BL_FREQ_VS_DEFAULT 2 /* multiple 2 of vfreq */ ++ ++#define BL_LEVEL_MAX 255 ++#define BL_LEVEL_MIN 10 ++#define BL_LEVEL_OFF 1 ++ ++#define BL_LEVEL_MID 128 ++#define BL_LEVEL_MID_MAPPED BL_LEVEL_MID //102 ++#define BL_LEVEL_DEFAULT BL_LEVEL_MID ++ ++#define BL_GPIO_NUM_MAX 5 ++ ++struct bl_pwm_config_s { ++ unsigned int index; ++ enum bl_pwm_method_e pwm_method; ++ enum bl_pwm_port_e pwm_port; ++ unsigned int level_max; ++ unsigned int level_min; ++ unsigned int pwm_freq; /* pwm_vs: 1~4(vfreq), pwm: freq(unit: Hz) */ ++ unsigned int pwm_duty; /* unit: % */ ++ unsigned int pwm_duty_max; /* unit: % */ ++ unsigned int pwm_duty_min; /* unit: % */ ++ unsigned int pwm_cnt; /* internal used for pwm control */ ++ unsigned int pwm_pre_div; /* internal used for pwm control */ ++ unsigned int pwm_max; /* internal used for pwm control */ ++ unsigned int pwm_min; /* internal used for pwm control */ ++ unsigned int pwm_level; /* internal used for pwm control */ ++ unsigned int pwm_gpio; ++ unsigned int pwm_gpio_off; ++ unsigned int pinmux_flag; ++ unsigned int pinmux_set[10][2]; ++ unsigned int pinmux_clr[10][2]; ++}; ++ ++struct bl_config_s { ++ unsigned char bl_key_valid; ++ char name[20]; ++ int level_default; ++ int level_min; ++ int level_max; ++ int level_mid; ++ int level_mid_mapping; ++ int level; ++ ++ enum bl_ctrl_method_e method; ++ unsigned int en_gpio; ++ unsigned int en_gpio_on; ++ unsigned int en_gpio_off; ++ unsigned short power_on_delay; ++ unsigned short power_off_delay; ++ unsigned int dim_max; ++ unsigned int dim_min; ++ unsigned int en_sequence_reverse; ++ ++ struct bl_pwm_config_s *bl_pwm; ++ struct bl_pwm_config_s *bl_pwm_combo0; ++ struct bl_pwm_config_s *bl_pwm_combo1; ++ unsigned int pwm_on_delay; ++ unsigned int pwm_off_delay; ++ ++ char gpio_name[BL_GPIO_NUM_MAX][LCD_CPU_GPIO_NAME_MAX]; ++ unsigned char pinctrl_ver; ++ struct lcd_pinmux_ctrl_s *bl_pinmux; ++ unsigned int pinmux_set[10][2]; ++ unsigned int pinmux_clr[10][2]; ++ int bl_extern_index; ++}; ++ ++extern struct bl_config_s bl_config_dft; ++ ++/* ==============lcd driver================== */ ++struct aml_lcd_drv_s { ++ char version[15]; ++ enum lcd_chip_e chip_type; ++ unsigned char lcd_status; ++ ++ struct lcd_config_s *lcd_config; ++ struct bl_config_s *bl_config; ++ ++ int (*outputmode_check)(char *mode, unsigned int frac); ++ int (*config_check)(char *mode, unsigned int frac); ++ void (*driver_init_pre)(void); ++ int (*driver_init)(void); ++ void (*driver_disable)(void); ++ void (*list_support_mode)(void); ++ int (*lcd_probe)(void); ++ int (*lcd_outputmode_check)(char *mode, unsigned int frac); ++ void (*lcd_prepare)(char *mode, unsigned int frac); ++ void (*lcd_enable)(char *mode, unsigned int frac); ++ void (*lcd_disable)(void); ++ void (*lcd_set_ss)(int level); ++ char *(*lcd_get_ss)(void); ++ void (*lcd_test)(int num); ++ void (*lcd_clk)(void); ++ void (*lcd_info)(void); ++ void (*lcd_reg)(void); ++ void (*lcd_tcon_reg)(void); ++ void (*lcd_tcon_table)(void); ++ void (*bl_power_ctrl)(int status); ++ void (*bl_set_level)(unsigned int level); ++ unsigned int (*bl_get_level)(void); ++ void (*bl_config_print)(void); ++ int unifykey_test_flag; ++ void (*unifykey_test)(void); ++ void (*unifykey_tcon_test)(void); ++ void (*unifykey_dump)(void); ++ void (*lcd_extern_info)(void); ++ ++ /* for factory test */ ++ struct lcd_power_step_s *factory_lcd_power_on_step; ++ int factory_bl_power_on_delay; ++}; ++ ++extern void lcd_config_bsp_init(void); ++ ++extern struct aml_lcd_drv_s *aml_lcd_get_driver(void); ++ ++extern int lcd_probe(void); ++ ++#endif /* INC_AML_LCD_VOUT_H */ +diff --git a/include/amlogic/media/vpp/vpp.h b/include/amlogic/media/vpp/vpp.h +new file mode 100644 +index 00000000000..d77ddd3879d +--- /dev/null ++++ b/include/amlogic/media/vpp/vpp.h +@@ -0,0 +1,24 @@ ++#ifndef _VPP_INC_H_ ++#define _VPP_INC_H_ ++ ++extern void vpp_init(void); ++void vpp_pq_init(int brightness, int contrast, int sat, int hue); ++void vpp_pq_load(void); ++ ++#define VPP_CM_RGB 0 /* same as COLOR_FMT_RGB444*/ ++#define VPP_CM_YUV 2 /* same as COLOR_FMT_YUV444*/ ++ ++enum vpp_gamma_sel_e { ++ VPP_GAMMA_R = 0, ++ VPP_GAMMA_G, ++ VPP_GAMMA_B ++}; ++ ++extern void vpp_load_gamma_table(unsigned short *data, unsigned int len, enum vpp_gamma_sel_e flag); ++extern void vpp_init_lcd_gamma_table(void); ++ ++extern void vpp_matrix_update(int type); ++extern void vpp_viu2_matrix_update(int type); ++extern void hdr_tx_pkt_cb(void); ++ ++#endif +diff --git a/include/amlogic/media/vpu/vpu.h b/include/amlogic/media/vpu/vpu.h +new file mode 100644 +index 00000000000..26bd575e07f +--- /dev/null ++++ b/include/amlogic/media/vpu/vpu.h +@@ -0,0 +1,11 @@ ++#ifndef _VPU_INC_H_ ++#define _VPU_INC_H_ ++ ++extern void vcbus_test(void); ++extern int vpu_probe(void); ++extern int vpu_remove(void); ++extern int vpu_clk_change(int level); ++extern void vpu_clk_get(void); ++extern void vpu_info_print(void); ++ ++#endif +diff --git a/include/amlogic/saradc.h b/include/amlogic/saradc.h +new file mode 100644 +index 00000000000..7344a2bfa1a +--- /dev/null ++++ b/include/amlogic/saradc.h +@@ -0,0 +1,103 @@ ++#ifndef __MESON_SARADC_H__ ++#define __MESON_SARADC_H__ ++ ++#include ++#include ++#include ++ ++enum ADC_CHANNEL_TYPE { ++ MESON_SARADC_CH0 = 0, ++ MESON_SARADC_CH1, ++ MESON_SARADC_CH2, ++ MESON_SARADC_CH3, ++ MESON_SARADC_CH4, ++ MESON_SARADC_CH5, ++ MESON_SARADC_CH6, ++ MESON_SARADC_CH7, ++ MESON_SARADC_CH_MAX, ++}; ++ ++enum MESON_SARADC_AVG_MODE { ++ NO_AVERAGING = 0x0, ++ MEAN_AVERAGING = 0x1, ++ MEDIAN_AVERAGING = 0x2, ++}; ++ ++enum MESON_SARADC_NUM_SAMPLES { ++ ONE_SAMPLE = 0x0, ++ TWO_SAMPLES = 0x1, ++ FOUR_SAMPLES = 0x2, ++ EIGHT_SAMPLES = 0x3, ++}; ++ ++enum MESON_SARADC_RESOLUTION { ++ SARADC_10BIT = 10, ++ SARADC_12BIT = 12, ++ SARADC_22BIT = 22, ++}; ++ ++enum MESON_SARADC_BIT_STATE { ++ BIT_LOW = 0, ++ BIT_HIGH = 1, ++}; ++ ++struct meson_saradc; ++ ++struct meson_saradc_diff_ops { ++ void (*extra_init)(struct meson_saradc *priv); ++ void (*set_ch7_mux)(struct meson_saradc *priv, int ch, int mux); ++ void (*enable_decim_filter)(struct meson_saradc *priv, ++ int ch, unsigned int mode); ++ void (*set_ref_voltage)(struct meson_saradc *priv, unsigned int mode); ++ int (*get_fifo_channel)(int val); ++ int (*get_fifo_data)(struct meson_saradc *priv, ++ struct adc_uclass_platdata *uc_pdata, int val); ++}; ++ ++/* ++ * struct meson_saradc_data - describe the differences of different platform ++ * ++ * @reg3_ring_counter_disable: to disable continuous ring counter. ++ * gxl and later: 1; others(gxtvbb etc): 0 ++ * @reg11_vref_en: g12a and later: 0; others(axg etc): 1 ++ * @reg11_cmv_sel: g12a and later: 0; others(axg etc): 1 ++ * @reg11_eoc: g12a and later: 1; others(axg etc): 0 ++ * @has_bl30_integration: ++ * @num_channels: the number of adc channels ++ * @self_test_channel: channel of self-test ++ * @resolution: gxl and later: 12bit; others(gxtvbb etc): 10bit ++ * @clock_rate: saradc clock rate ++ */ ++struct meson_saradc_data { ++ bool reg3_ring_counter_disable; ++ bool reg11_vref_en; ++ bool reg11_cmv_sel; ++ bool reg11_eoc; ++ bool has_bl30_integration; ++ unsigned char self_test_channel; ++ unsigned char num_channels; ++ unsigned int resolution; ++ const struct meson_saradc_diff_ops *dops; ++ unsigned int capacity; ++ unsigned long clock_rate; ++}; ++ ++struct meson_saradc { ++ phys_addr_t base; ++ int active_channel; ++ unsigned int current_mode; ++ struct clk xtal; ++ struct clk adc_mux; ++ struct clk adc_div; ++ struct clk adc_gate; ++ struct meson_saradc_data *data; ++}; ++ ++extern const struct adc_ops meson_saradc_ops; ++int meson_saradc_probe(struct udevice *dev); ++int meson_saradc_remove(struct udevice *dev); ++int meson_saradc_ofdata_to_platdata(struct udevice *dev); ++ ++#define SARADC_CH_SELF_TEST MESON_SARADC_CH7 ++ ++#endif /*_MESON_SARADC_H_*/ +diff --git a/include/amlogic/secure_storage.h b/include/amlogic/secure_storage.h +new file mode 100644 +index 00000000000..3a0148204b2 +--- /dev/null ++++ b/include/amlogic/secure_storage.h +@@ -0,0 +1,46 @@ ++#ifndef __SECURE_STORAGE_H__ ++#define __SECURE_STORAGE_H__ ++ ++/* return value*/ ++#define RET_OK 0 ++#define RET_EFAIL 1 ++#define RET_EINVAL 2 ++#define RET_EMEM 3 ++ ++#define RET_EUND -1 ++#define SMC_UNK 0xffffffff ++ ++ ++#ifdef CONFIG_SECURE_STORAGE ++/* funtion name: secure_storage_write ++ * keyname : key name is ascii string ++ * keybuf : key buf ++ * keylen : key buf len ++ * keyattr: Secure/Normal, ... ++ * ++ * return 0: ok, 0x1fe: no space, other fail ++ * */ ++int32_t secure_storage_write(uint8_t *keyname, uint8_t *keybuf, ++ uint32_t keylen, uint32_t keyattr); ++int32_t secure_storage_read(uint8_t *keyname, uint8_t *keybuf, ++ uint32_t keylen, uint32_t *reallen); ++int32_t secure_storage_query(uint8_t *keyname, uint32_t *retval); ++int32_t secure_storage_tell(uint8_t *keyname, uint32_t *retval); ++int32_t secure_storage_verify(uint8_t *keyname, uint8_t *hashbuf); ++int32_t secure_storage_status(uint8_t *keyname, uint32_t *retval); ++void *secure_storage_getbuffer(uint32_t *size); ++void secure_storage_notifier(void); ++void secure_storage_notifier_ex(uint32_t storagesize, uint32_t rsvarg); ++int32_t secure_storage_list(uint8_t *listbuf, uint32_t buflen, ++ uint32_t *readlen); ++int32_t secure_storage_remove(uint8_t *keyname); ++void secure_storage_set_info(uint32_t info); ++int32_t secure_storage_set_enctype(uint32_t type); ++/* return 0: success, -1: fail*/ ++int32_t secure_storage_get_enctype(void); ++/*return -1: no storage, 0: default enc, 1: efuse enc, 2: fixed enc*/ ++int32_t secure_storage_version(void); ++/*return -1: no storage, others: version*/ ++#endif ++ ++#endif +diff --git a/include/amlogic/sound.h b/include/amlogic/sound.h +new file mode 100644 +index 00000000000..4aceb7c9fd3 +--- /dev/null ++++ b/include/amlogic/sound.h +@@ -0,0 +1,180 @@ ++/* ++ * include/amlogic/sound.h ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the named License, ++ * or any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ */ ++ ++#ifndef _SOUND_H_ ++#define _SOUND_H_ ++ ++#define AIU_958_BPF 0x1500 ++#define AIU_958_BRST 0x1501 ++#define AIU_958_LENGTH 0x1502 ++#define AIU_958_PADDSIZE 0x1503 ++#define AIU_958_MISC 0x1504 ++#define AIU_958_FORCE_LEFT 0x1505 ++#define AIU_958_DISCARD_NUM 0x1506 ++#define AIU_958_DCU_FF_CTRL 0x1507 ++#define AIU_958_CHSTAT_L0 0x1508 ++#define AIU_958_CHSTAT_L1 0x1509 ++#define AIU_958_CTRL 0x150a ++#define AIU_958_RPT 0x150b ++#define AIU_I2S_MUTE_SWAP 0x150c ++#define AIU_I2S_SOURCE_DESC 0x150d ++#define AIU_I2S_MED_CTRL 0x150e ++#define AIU_I2S_MED_THRESH 0x150f ++#define AIU_I2S_DAC_CFG 0x1510 ++#define AIU_I2S_SYNC 0x1511 ++#define AIU_I2S_MISC 0x1512 ++#define AIU_I2S_OUT_CFG 0x1513 ++#define AIU_I2S_FF_CTRL 0x1514 ++#define AIU_RST_SOFT 0x1515 ++#define AIU_CLK_CTRL 0x1516 ++#define AIU_MIX_ADCCFG 0x1517 ++#define AIU_MIX_CTRL 0x1518 ++#define AIU_CLK_CTRL_MORE 0x1519 ++#define AIU_958_POP 0x151a ++#define AIU_MIX_GAIN 0x151b ++#define AIU_958_SYNWORD1 0x151c ++#define AIU_958_SYNWORD2 0x151d ++#define AIU_958_SYNWORD3 0x151e ++#define AIU_958_SYNWORD1_MASK 0x151f ++#define AIU_958_SYNWORD2_MASK 0x1520 ++#define AIU_958_SYNWORD3_MASK 0x1521 ++#define AIU_958_FFRDOUT_THD 0x1522 ++#define AIU_958_LENGTH_PER_PAUSE 0x1523 ++#define AIU_958_PAUSE_NUM 0x1524 ++#define AIU_958_PAUSE_PAYLOAD 0x1525 ++#define AIU_958_AUTO_PAUSE 0x1526 ++#define AIU_958_PAUSE_PD_LENGTH 0x1527 ++#define AIU_CODEC_DAC_LRCLK_CTRL 0x1528 ++#define AIU_CODEC_ADC_LRCLK_CTRL 0x1529 ++#define AIU_HDMI_CLK_DATA_CTRL 0x152a ++#define AIU_CODEC_CLK_DATA_CTRL 0x152b ++#define AIU_ACODEC_CTRL 0x152c ++#define AIU_958_CHSTAT_R0 0x1530 ++#define AIU_958_CHSTAT_R1 0x1531 ++#define AIU_958_VALID_CTRL 0x1532 ++#define AIU_AUDIO_AMP_REG0 0x153c ++#define AIU_AUDIO_AMP_REG1 0x153d ++#define AIU_AUDIO_AMP_REG2 0x153e ++#define AIU_AUDIO_AMP_REG3 0x153f ++#define AIU_AIFIFO2_CTRL 0x1540 ++#define AIU_AIFIFO2_STATUS 0x1541 ++#define AIU_AIFIFO2_GBIT 0x1542 ++#define AIU_AIFIFO2_CLB 0x1543 ++#define AIU_CRC_CTRL 0x1544 ++#define AIU_CRC_STATUS 0x1545 ++#define AIU_CRC_SHIFT_REG 0x1546 ++#define AIU_CRC_IREG 0x1547 ++#define AIU_CRC_CAL_REG1 0x1548 ++#define AIU_CRC_CAL_REG0 0x1549 ++#define AIU_CRC_POLY_COEF1 0x154a ++#define AIU_CRC_POLY_COEF0 0x154b ++#define AIU_CRC_BIT_SIZE1 0x154c ++#define AIU_CRC_BIT_SIZE0 0x154d ++#define AIU_CRC_BIT_CNT1 0x154e ++#define AIU_CRC_BIT_CNT0 0x154f ++#define AIU_AMCLK_GATE_HI 0x1550 ++#define AIU_AMCLK_GATE_LO 0x1551 ++#define AIU_AMCLK_MSR 0x1552 ++#define AIU_AUDAC_CTRL0 0x1553 ++#define AIU_DELTA_SIGMA0 0x1555 ++#define AIU_DELTA_SIGMA1 0x1556 ++#define AIU_DELTA_SIGMA2 0x1557 ++#define AIU_DELTA_SIGMA3 0x1558 ++#define AIU_DELTA_SIGMA4 0x1559 ++#define AIU_DELTA_SIGMA5 0x155a ++#define AIU_DELTA_SIGMA6 0x155b ++#define AIU_DELTA_SIGMA7 0x155c ++#define AIU_DELTA_SIGMA_LCNTS 0x155d ++#define AIU_DELTA_SIGMA_RCNTS 0x155e ++#define AIU_MEM_I2S_START_PTR 0x1560 ++#define AIU_MEM_I2S_RD_PTR 0x1561 ++#define AIU_MEM_I2S_END_PTR 0x1562 ++#define AIU_MEM_I2S_MASKS 0x1563 ++#define AIU_MEM_I2S_CONTROL 0x1564 ++#define AIU_MEM_IEC958_START_PTR 0x1565 ++#define AIU_MEM_IEC958_RD_PTR 0x1566 ++#define AIU_MEM_IEC958_END_PTR 0x1567 ++#define AIU_MEM_IEC958_MASKS 0x1568 ++#define AIU_MEM_IEC958_CONTROL 0x1569 ++#define AIU_MEM_AIFIFO2_START_PTR 0x156a ++#define AIU_MEM_AIFIFO2_CURR_PTR 0x156b ++#define AIU_MEM_AIFIFO2_END_PTR 0x156c ++#define AIU_MEM_AIFIFO2_BYTES_AVAIL 0x156d ++#define AIU_MEM_AIFIFO2_CONTROL 0x156e ++#define AIU_MEM_AIFIFO2_MAN_WP 0x156f ++#define AIU_MEM_AIFIFO2_MAN_RP 0x1570 ++#define AIU_MEM_AIFIFO2_LEVEL 0x1571 ++#define AIU_MEM_AIFIFO2_BUF_CNTL 0x1572 ++#define AIU_MEM_I2S_MAN_WP 0x1573 ++#define AIU_MEM_I2S_MAN_RP 0x1574 ++#define AIU_MEM_I2S_LEVEL 0x1575 ++#define AIU_MEM_I2S_BUF_CNTL 0x1576 ++#define AIU_MEM_I2S_BUF_WRAP_COUNT 0x1577 ++#define AIU_MEM_I2S_MEM_CTL 0x1578 ++#define AIU_MEM_IEC958_MEM_CTL 0x1579 ++#define AIU_MEM_IEC958_WRAP_COUNT 0x157a ++#define AIU_MEM_IEC958_IRQ_LEVEL 0x157b ++#define AIU_MEM_IEC958_MAN_WP 0x157c ++#define AIU_MEM_IEC958_MAN_RP 0x157d ++#define AIU_MEM_IEC958_LEVEL 0x157e ++#define AIU_MEM_IEC958_BUF_CNTL 0x157f ++#define AIU_AIFIFO_CTRL 0x1580 ++#define AIU_AIFIFO_STATUS 0x1581 ++#define AIU_AIFIFO_GBIT 0x1582 ++#define AIU_AIFIFO_CLB 0x1583 ++#define AIU_MEM_AIFIFO_START_PTR 0x1584 ++#define AIU_MEM_AIFIFO_CURR_PTR 0x1585 ++#define AIU_MEM_AIFIFO_END_PTR 0x1586 ++#define AIU_MEM_AIFIFO_BYTES_AVAIL 0x1587 ++#define AIU_MEM_AIFIFO_CONTROL 0x1588 ++#define AIU_MEM_AIFIFO_MAN_WP 0x1589 ++#define AIU_MEM_AIFIFO_MAN_RP 0x158a ++#define AIU_MEM_AIFIFO_LEVEL 0x158b ++#define AIU_MEM_AIFIFO_BUF_CNTL 0x158c ++#define AIU_MEM_AIFIFO_BUF_WRAP_COUNT 0x158d ++#define AIU_MEM_AIFIFO2_BUF_WRAP_COUNT 0x158e ++#define AIU_MEM_AIFIFO_MEM_CTL 0x158f ++#define AIFIFO_TIME_STAMP_CNTL 0x1590 ++#define AIFIFO_TIME_STAMP_SYNC_0 0x1591 ++#define AIFIFO_TIME_STAMP_SYNC_1 0x1592 ++#define AIFIFO_TIME_STAMP_0 0x1593 ++#define AIFIFO_TIME_STAMP_1 0x1594 ++#define AIFIFO_TIME_STAMP_2 0x1595 ++#define AIFIFO_TIME_STAMP_3 0x1596 ++#define AIFIFO_TIME_STAMP_LENGTH 0x1597 ++#define AIFIFO2_TIME_STAMP_CNTL 0x1598 ++#define AIFIFO2_TIME_STAMP_SYNC_0 0x1599 ++#define AIFIFO2_TIME_STAMP_SYNC_1 0x159a ++#define AIFIFO2_TIME_STAMP_0 0x159b ++#define AIFIFO2_TIME_STAMP_1 0x159c ++#define AIFIFO2_TIME_STAMP_2 0x159d ++#define AIFIFO2_TIME_STAMP_3 0x159e ++#define AIFIFO2_TIME_STAMP_LENGTH 0x159f ++#define IEC958_TIME_STAMP_CNTL 0x15a0 ++#define IEC958_TIME_STAMP_SYNC_0 0x15a1 ++#define IEC958_TIME_STAMP_SYNC_1 0x15a2 ++#define IEC958_TIME_STAMP_0 0x15a3 ++#define IEC958_TIME_STAMP_1 0x15a4 ++#define IEC958_TIME_STAMP_2 0x15a5 ++#define IEC958_TIME_STAMP_3 0x15a6 ++#define IEC958_TIME_STAMP_LENGTH 0x15a7 ++#define AIU_MEM_AIFIFO2_MEM_CTL 0x15a8 ++#define AIU_I2S_CBUS_DDR_CNTL 0x15a9 ++#define AIU_I2S_CBUS_DDR_WDATA 0x15aa ++#define AIU_I2S_CBUS_DDR_ADDR 0x15ab ++ ++int aml_audio_init(void); ++ ++#endif /* _SOUND_H_ */ +diff --git a/include/amlogic/spicc.h b/include/amlogic/spicc.h +new file mode 100644 +index 00000000000..282af845c5f +--- /dev/null ++++ b/include/amlogic/spicc.h +@@ -0,0 +1,44 @@ ++/* ++ * Amlogic Meson SPI communication controller(SPICC) ++ * ++ * Copyright (C) 2017 Amlogic Corporation ++ * ++ * Licensed under the GPL-2 or later. ++ * ++ */ ++ ++#ifndef __SPICC_H__ ++#define __SPICC_H__ ++ ++#define SPICC_DEFAULT_CLK_RATE 166666666 ++#define CS_GPIO_MAX 2 ++ ++/* ++ * @compatible: ++ * @reg: controller registers address. ++ * @mem_map: memory_mapped for read operations. ++ * @clk_rate: ++ * @clk_set_rate: ++ * @pinctrl_enable: ++ * @num_chipselect: ++ * @cs_gpios: ++ */ ++struct spicc_platdata { ++#ifndef CONFIG_OF_CONTROL ++ char *compatible; ++ int clk_rate; ++ int (*clk_set_rate)(int rate); ++ int (*clk_enable)(bool enable); ++ int (*pinctrl_enable)(bool enable); ++#endif ++ void __iomem *reg; ++ const char *cs_gpio_names[CS_GPIO_MAX]; ++ unsigned int clk_cs_delay; ++ unsigned int mo_delay; ++ unsigned int mi_delay; ++ unsigned int mi_capture_delay; ++ unsigned int tt_delay; ++ unsigned int ti_delay; ++}; ++ ++#endif /* __SPICC_H__ */ +\ No newline at end of file +diff --git a/include/amlogic/spifc.h b/include/amlogic/spifc.h +new file mode 100644 +index 00000000000..0eb759896a2 +--- /dev/null ++++ b/include/amlogic/spifc.h +@@ -0,0 +1,44 @@ ++/* ++ * Amlogic SPI flash controller(SPIFC) ++ * ++ * Copyright (C) 2018 Amlogic Corporation ++ * ++ * Licensed under the GPL-2 or later. ++ * ++ */ ++ ++#ifndef __SPIFC_H__ ++#define __SPIFC_H__ ++ ++/* ++ * @reg: controller registers base address. ++ * @mem_map: memory_mapped for read operations. ++ * @core: clk source, usually clk_81, 166M max. ++ * @speed: spi bus frequency, and you should know ++ * we use clk_81 as the clk source now, max ++ * speed is 166M. ++ * @io_num: max io number, SIO0 SIO1 SIO2 SIO3. ++ * @max_cs: the max slave device number, we support ++ * spi-nor, spi-nand now. ++ * @cs_gpios: gpio array, we use the cs pin as ++ * gpio, cause the spifc controller ++ * can not hold enough time sometimes. ++ */ ++ ++struct spifc_platdata { ++ ulong reg; ++ ulong mem_map; ++ u32 speed; ++ u32 mode; ++ u32 io_num; ++ u32 max_cs; ++}; ++ ++/* this is cs pin number, not slave device cs number */ ++/* #define SPIFC_MAX_CS 1 */ ++#define SPIFC_BUS_NUM 0 ++/* slave device cs number */ ++#define SPIFC_SNOR_CS 0 ++#define SPIFC_SNAND_CS 1 ++ ++#endif /* __SPIFC_H__ */ +\ No newline at end of file +diff --git a/include/amlogic/storage.h b/include/amlogic/storage.h +new file mode 100644 +index 00000000000..5bdb4cb00e0 +--- /dev/null ++++ b/include/amlogic/storage.h +@@ -0,0 +1,501 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * Header file of storage interface module ++ * ++ * Copyright (C) 2018 Amlogic Corporation ++ * ++ * Licensed under the GPL-2 or later. ++ * ++ */ ++ ++#ifndef __STORAGE_H__ ++#define __STORAGE_H__ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define RSV_UNVAIL 140 /* rsv unvail error */ ++ ++#define DISPROTECT_KEY BIT(0) ++#define DISPROTECT_SECURE BIT(1) ++#define DISPROTECT_FBBT BIT(2) ++#define DISPROTECT_HYNIX BIT(3) ++ ++#define PART_PROTECT_FLAG BIT(4) ++enum boot_type_e { ++ BOOT_EMMC = 1, ++ BOOT_SD = 1 << 1, ++ BOOT_NAND_NFTL = 1 << 2, ++ BOOT_NAND_MTD = 1 << 3, ++ BOOT_SNAND = 1 << 4,/* spi nand */ ++ BOOT_SNOR = 1 << 5,/* spi nor */ ++ BOOT_NONE = 0xFF ++}; ++ ++#define RSV_KEY "key" ++#define RSV_ENV "env" ++#define RSV_DTB "dtb" ++#define RSV_BBT "bbt" ++ ++#define DISCRETE_BOOTLOADER 1 ++#define COMPACT_BOOTLOADER 0 ++ ++struct nand_startup_parameter { ++ int page_size; ++ int block_size; ++ int layout_reserve_size; ++ int pages_per_block; ++ int setup_data; ++ /* */ ++ int page0_disable; ++}; ++ ++#define BL2E_STORAGE_PARAM_SIZE (0x80) ++#define BOOT_FIRST_BLOB_SIZE (254*1024) ++#define BOOT_FILLER_SIZE (4*1024) ++#define BOOT_RESERVED_SIZE (4*1024) ++#define BOOT_RANDOM_NONCE (16) ++#define BOOT_BL2E_SIZE (66672) //74864-8K ++#define BOOT_EBL2E_SIZE (BOOT_FILLER_SIZE + BOOT_RESERVED_SIZE + BOOT_BL2E_SIZE) ++#define BOOT_BL2X_SIZE (66672) ++#define MAX_BOOT_AREA_ENTRIES (8) ++/* bl2 core address base */ ++#define BL2_CORE_BASE_OFFSET_EMMC (0x200) ++/* boot area entry index */ ++#define BOOT_AREA_BB1ST (0) ++/* filler and reserved are considered part of the bl2E in storage view */ ++#define BOOT_AREA_BL2E (1) ++#define BOOT_AREA_BL2X (2) ++#define BOOT_AREA_DDRFIP (3) ++#define BOOT_AREA_DEVFIP (4) ++#define BOOT_AREA_INVALID (MAX_BOOT_AREA_ENTRIES) ++ ++typedef struct boot_area_entry { ++ /* name */ ++ char name[11]; ++ /* index */ ++ uint8_t idx; ++ uint64_t offset; ++ uint64_t size; ++} boot_area_entry_t; ++ ++struct boot_layout { ++ boot_area_entry_t *boot_entry; ++}; ++ ++struct emmc_startup_parameter { ++ //sd_emmc_setup_t setup; ++}; ++ ++struct spi_nand_startup_parameter { ++ uint32_t pagesize; ++ uint32_t pages_per_eraseblock; ++ uint32_t eraseblocks_per_lun; ++ uint32_t planes_per_lun; ++ uint32_t luns_per_target; ++ uint32_t ntargets; ++ int layout_reserve_size; ++}; ++ ++struct storage_boot_entry { ++ uint32_t offset; ++ uint32_t size; ++}; ++ ++union storage_independent_parameter { ++ struct nand_startup_parameter nsp; ++ struct emmc_startup_parameter esp; ++ struct spi_nand_startup_parameter snasp; ++}; ++ ++struct storage_startup_parameter { ++ uint8_t boot_device; ++ uint8_t boot_seq; ++ uint8_t boot_bakups; ++ uint8_t reserved; ++ struct storage_boot_entry boot_entry[MAX_BOOT_AREA_ENTRIES]; ++ union storage_independent_parameter sip; ++}; ++ ++struct storage_info_t { ++ u8 name[32]; ++ u8 id[8]; ++ u32 read_unit; ++ u32 write_unit; ++ u32 erase_unit; ++ u64 caps;/* total size */ ++ u8 mode;/* bootloader mode, compact or discrete */ ++}; ++ ++struct storage_t { ++ enum boot_type_e type; ++ struct storage_info_t info; ++ u32 init_flag; ++ struct list_head list; ++ int (*get_part_count)(void); ++ int (*list_part_name)(int idx, char *part_name); ++ /* when part_name is null, default to ops in whole chip */ ++ /* int (*block_is_bad)(const char *part_name, loff_t off); */ ++ u64 (*get_part_size)(const char *part_name); ++ int (*read)(const char *part_name, loff_t off, ++ size_t size, void *dest); ++ int (*write)(const char *part_name, loff_t off, ++ size_t size, void *source); ++ int (*erase)(const char *part_name, loff_t off, ++ size_t size, int scrub_flag); ++ ++#define BOOT_OPS_ALL 0xFF/* for cpy parameter operates all copies */ ++ u8 (*get_copies)(const char *part_name); ++ u64 (*get_copy_size)(const char *part_name); ++ int (*boot_read)(const char *part_name, ++ u8 cpy, size_t size, void *dest); ++ int (*boot_write)(const char *part_name, ++ u8 cpy, size_t size, void *source); ++ int (*boot_erase)(const char *part_name, u8 cpy); ++ ++ u32 (*get_rsv_size)(const char *rsv_name); ++ int (*read_rsv)(const char *rsv_name, size_t size, void *buf); ++ int (*write_rsv)(const char *rsv_name, size_t size, void *buf); ++ int (*erase_rsv)(const char *rsv_name); ++ int (*protect_rsv)(const char *rsv_name, ++ bool ops);/*true:on false:off*/ ++}; ++ ++struct device_node_t { ++ enum boot_type_e index; ++ char *type; ++ int (*pre)(void); ++ int (*probe)(u32 init_flag); ++}; ++ ++/** ++ * we use a valid device list to manage the storage devices, ++ * and every type of device can only exist ONE in this list. ++ * we will scan and add the valid storage device to the list ++ * in the init process, and of cause you can register the device ++ * by you own. ++ */ ++#define NAND_BOOT_NORMAL 0 ++#define NAND_BOOT_UPGRATE 1 ++#define NAND_BOOT_ERASE_PROTECT_CACHE 2 ++#define NAND_BOOT_ERASE_ALL 3 ++#define NAND_BOOT_SCRUB_ALL 4 ++#define NAND_SCAN_ID_INIT 5 ++/** ++ * @usage: init all the valid storage device ++ * ++ * @init_flag: it's only works for MLC/EMMC driver ++ * 0 NAND_BOOT_NORMAL:normal init, but can't operates the phy data area ++ * 1 NAND_BOOT_UPGRATE:same as 0, but operation on phy data area is allowed ++ * 2 NAND_BOOT_ERASE_PROTECT_CACHE:only erase rsv area ++ * 3 NAND_BOOT_ERASE_ALL:erase whole device ++ * 4 NAND_BOOT_SCRUB_ALL:erase whole device ++ * 5 NAND_SCAN_ID_INIT:only read nand id ++ * ++ * @return: init result ++ * 0 = failed ++ * other = device_index that device probe successfully ++ */ ++int store_init(u32 init_flag); ++ ++/** ++ * @usage: register a storage device to the valid list ++ * ++ * @param: the description pointer of your storage device ++ * ++ * @return: registration result ++ * 0 = success ++ * 1 = fail ++ */ ++int store_register(struct storage_t *store_dev); ++ ++/** ++ * @usage: unregister a storage device from the valid list ++ * ++ * @store_dev: the description pointer of your storage device ++ */ ++void store_unregister(struct storage_t *store_dev); ++ ++/** ++ * @usage: check the type of device is valid on this board ++ * ++ * @type: the device type that you want to check ++ * ++ * @return: is the device valid ++ * 0 = invalid ++ * 1 = valid ++ */ ++u8 store_device_valid(enum boot_type_e type); ++ ++/** ++ * @usage: set the 'type' device as current device, and you can operates it ++ * ++ * @type: the device type that you want to set ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_set_device(enum boot_type_e type); ++ ++/** ++ * @usage: get the type of current storage device ++ * ++ * @return: storage device type ++ */ ++enum boot_type_e store_get_type(void); ++ ++/** ++ * @usage: get information about the current device ++ * ++ * @info: the pointer for the information ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_get_device_info(struct storage_info_t *info); ++ ++/** ++ * @usage: read data from storage device ++ * ++ * @name: partition name, when it's null the target ++ * will regards as whole device. ++ * @off: offset to the 0 address of partition/device ++ * @size: the amount of bytes to read ++ * @buf: pointer of target buffer ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_read(const char *name, loff_t off, size_t size, void *buf); ++ ++/** ++ * @usage: write data to storage device ++ * ++ * @name: partition name, when it's null the target ++ * will regards as whole device. ++ * @off: offset to the 0 address of partition/device ++ * @size: the amount of bytes to write ++ * @buf: pointer of source buffer ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_write(const char *name, loff_t off, size_t size, void *buf); ++ ++/** ++ * @usage: erase the storage device ++ * ++ * @name: partition name, when it's null the target ++ * will regards as whole device. ++ * @off: offset to the 0 address of partition/device ++ * @size: the amount of bytes to erase ++ * @scrub: scrub flag(scrub operates will works only when the device support) ++ * 0 = no scrub, just erase ++ * 1 = use scrub operates instead of erase ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_erase(const char *name, loff_t off, size_t size, int scrub); ++ ++/** ++ * @usage: get the partition size or capacity of device ++ * ++ * @name: partition name, when it's null the target ++ * will regards as whole device. ++ * ++ * @return: the amount of bytes to the partition or device size ++ */ ++u64 store_part_size(const char *name); ++ ++/** ++ * @usage: get the copy number of [name] ++ * ++ * @name: only can be "bl2" or "tpl"/"fip" in discrete mode ++ * be "bootloader" in compact mode ++ * @return: the copy number of the "bootloader" or "tpl" ++ */ ++u8 store_boot_copy_num(const char *name); ++ ++/** ++ * @usage: get the 1st boot copy nubmer of current device. ++ * for eMMC: 0 -> user partition; 1 -> boot0; 2 -> boot1 ++ */ ++u8 store_boot_copy_start(void); ++ ++/** ++ * @usage: get the bootup index of [name] ++ * ++ * @name: do not care discrete mode or compact mode ++ * "bl2" "spl" could be used as the one romboot loaded ++ * "fip" "devfip" "tpl" or "bootloader" would be the main u-boot. ++ * @return: the copy number of the "bootloader" or "tpl" ++ */ ++u8 store_bootup_bootidx(const char *name); ++ ++/** ++ * @usage: restore the bootidx/bootdev etc. ++ */ ++void store_restore_bootidx(void); ++ ++/** ++ * @usage: get the copy size of [name] ++ * ++ * @name: name: only can be "bl2" or "tpl"/"fip" in discrete mode ++ * be "bootloader" in compact mode ++ * ++ * @return: the size of every copy ++ */ ++u64 store_boot_copy_size(const char *name); ++ ++/** ++ * @usage: read the [name] data from storage device ++ * ++ * @name: only can be "bl2" or "tpl"/"fip" in discrete mode ++ * be "bootloader" in compact mode ++ * @copy: which copy you want read ++ * @size: the amount of bytes to read ++ * @buf: pointer of the target buffer ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_boot_read(const char *name, u8 copy, size_t size, void *buf); ++ ++/** ++ * @usage: write the [name] data into storage device ++ * ++ * @name: only can be "bl2" or "tpl"/"fip" in discrete mode ++ * be "bootloader" in compact mode ++ * @copy: which copy you want write, ++ * it will write to all copies when copy = BOOT_OPS_ALL ++ * @size: the amount of bytes to write ++ * @buf: pointer of the source buffer ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_boot_write(const char *name, u8 copy, size_t size, void *buf); ++ ++/** ++ * @usage: erase the [name] data ++ * ++ * @name: only can be "bl2" or "tpl"/"fip" in discrete mode ++ * be "bootloader" in compact mode ++ * @copy: which copy you want erase, ++ * it will erase all copies when copy = BOOT_OPS_ALL ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_boot_erase(const char *name, u8 copy); ++ ++/** ++ * @usage: get the rsv info size ++ * ++ * @name: rsv info name, please refer to ++ * RSV_KEY "key" ++ * RSV_ENV "env" ++ * RSV_DTB "dtb" ++ * RSV_BBT "bbt" ++ * ++ * @return: the amount bytes of the rsv info ++ */ ++u32 store_rsv_size(const char *name); ++ ++/** ++ * @usage: read the rsv info from storage device ++ * ++ * @name: rsv info name, please refer to ++ * RSV_KEY "key" ++ * RSV_ENV "env" ++ * RSV_DTB "dtb" ++ * RSV_BBT "bbt" ++ * @size: the amount of bytes to read ++ * @buf: pointer of the target buffer ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_rsv_read(const char *name, size_t size, void *buf); ++ ++/** ++ * @usage: write the rsv info to the storage device ++ * ++ * @name: rsv info name, please refer to ++ * RSV_KEY "key" ++ * RSV_ENV "env" ++ * RSV_DTB "dtb" ++ * RSV_BBT "bbt" ++ * @size: the amount of bytes to write ++ * @buf: pointer of the source buffer ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_rsv_write(const char *name, size_t size, void *buf); ++ ++/** ++ * @usage: erase the rsv info ++ * ++ * @name: rsv info name, please refer to ++ * RSV_KEY "key" ++ * RSV_ENV "env" ++ * RSV_DTB "dtb" ++ * RSV_BBT "bbt" ++ * it will erase all reserve information ++ * when name is null ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_rsv_erase(const char *name); ++ ++/** ++ * @usage: turn on/off the protection of rsv info ++ * ++ * @name: rsv info name, please refer to ++ * RSV_KEY "key" ++ * RSV_ENV "env" ++ * RSV_DTB "dtb" ++ * RSV_BBT "bbt" ++ * it will operates all reserve information ++ * when name is null ++ * @ops: turn on/off the rsv info protection ++ * true = turn on the protection ++ * flase = turn off the protection ++ * ++ * @return: result of the operation ++ * 0 = success ++ * other = fail ++ */ ++int store_rsv_protect(const char *name, bool ops); ++ ++/** ++ * @usage: get bootloader mode for current storage ++ * ++ * @return: result of the operation ++ * 0 = COMPACT_BOOTLOADER ++ * 1 = DISCRETE_BOOTLOADER ++ */ ++int store_get_device_bootloader_mode(void); ++ ++int sheader_need(void); ++void sheader_load(void *addr); ++ ++#endif/* __STORAGE_H__ */ +diff --git a/include/amlogic/storagekey.h b/include/amlogic/storagekey.h +new file mode 100644 +index 00000000000..f258b82c95c +--- /dev/null ++++ b/include/amlogic/storagekey.h +@@ -0,0 +1,57 @@ ++#ifndef __STORAGEKEY_H__ ++#define __STORAGEKEY_H__ ++ ++ ++/* storage key interface */ ++/** ++ *1.amlkey_init: init storage key ++ * return ok 0, fail not 0 ++ */ ++extern int32_t amlkey_init(uint8_t *seed, uint32_t len); ++ ++/** ++ *2. amlkey_isexsit: query key, already programmed ? ++ * return: exsit 1, non 0 ++ */ ++extern int32_t amlkey_isexsit(const uint8_t * name); ++ ++/** ++ * 3. query if the key is secure ++ * return secure 1, non 0; ++ */ ++extern int32_t amlkey_issecure(const uint8_t * name); ++ ++/** ++ * 4. amlkey_size: actual bytes of key value ++ * return actual size. ++ */ ++extern ssize_t amlkey_size(const uint8_t *name); ++ ++/** ++ *5. amlkey_read: read non-secure key in bytes. ++ * return actual size read back; 0 means read failed! ++ */ ++extern ssize_t amlkey_read(const uint8_t *name, ++ uint8_t *buffer, uint32_t len); ++ ++/** ++ * 6. amlkey_write: write secure/non-secure key in bytes. ++ * return actual size write down. 0 means write failed! ++ */ ++extern ssize_t amlkey_write(const uint8_t *name, ++ uint8_t *buffer, uint32_t len, uint32_t secure); ++ ++/** ++ * 7. get the hash value of programmed secure key | 32bytes length, sha256 ++ * return success 0, fail -1 ++ */ ++extern int32_t amlkey_hash_4_secure(const uint8_t * name, uint8_t * hash); ++ ++/** ++ * 8. amlkey_del: del key by name ++ * return success 0, fail non-0. ++ */ ++extern int32_t amlkey_del(const uint8_t * name); ++ ++ ++#endif /* __STORAGEKEY_H__ */ +diff --git a/include/amlogic/store_wrapper.h b/include/amlogic/store_wrapper.h +new file mode 100644 +index 00000000000..0f3007de959 +--- /dev/null ++++ b/include/amlogic/store_wrapper.h +@@ -0,0 +1,56 @@ ++/* ++ * \file store_wrapper.h ++ * \brief wraaper for storage apis ++ * ++ * \version 1.0.0 ++ * \date 2019/5/30 ++ * \author Sam.Wu ++ * ++ * Copyright (c) 2019 Amlogic. All Rights Reserved. ++ * ++ */ ++#ifndef __STORE_WRAPPER_H__ ++#define __STORE_WRAPPER_H__ ++#include ++ ++//logic write/read, if not MTD, same as store_write ++int store_logic_write(const char *name, loff_t off, size_t size, void *buf); ++ ++int store_logic_read(const char *name, loff_t off, size_t size, void *buf); ++ ++u64 store_logic_cap(const char* partName); ++ ++#define AML_MAGIC_HDR_L (0x4c4d4140) //"@AML" ++#define AML_MAGIC_HDR_R (0x544f4f42) //"BOOT" ++ ++#define AML_MAGIC_CORE (0X54534242) //"BBST" ++#define AML_MAGIC_BL2E (0x45324c42) //"BL2E" ++#define AML_MAGIC_BL2X (0x58324c42) //"BL2X" ++#define AML_MAGIC_DDRF (0x46524444) //"DDRF" ++#define AML_MAGIC_DEVF (0x46564544) //"DEVF" ++typedef struct{ ++ unsigned int nMagic; //"BBST", "BL2E", "BL2X", "DDRF", "DEVF" ++ unsigned int nOffset; //offset from file head of file ++ unsigned int nPayLoadSize; //size of payload ++ unsigned int nReserved; //reserved for future ++}payload_info_item_t, *p_payload_info_item_t; ++ ++typedef struct{ ++ unsigned char szSHA2[32]; //sha256 of sizeof(payload_info_t) - sizeof(szSHA2) ++ unsigned int nMagicL; //"@AML" ++ unsigned int nMagicR; //"BOOT" ++ unsigned char byVersion; //version:0,1,2,.... ++ unsigned char byItemNum; //number of items ++ unsigned short nSize; //sizeof(this) = sizeof(hdr) + sizeof(item) * byItemNum ++ unsigned char szReserved1[4]; ++ char szTimeStamp[16];//"SC2-YYYYMMDDHHmm" e.g "SC2-202007082259" ++ ++}payload_info_hdr_t, *p_payload_info_hdr_t; ++ ++typedef struct{ ++ payload_info_hdr_t hdr; //header ++ payload_info_item_t arrItems[1]; //items ++}payload_info_t, *p_payload_info_t; ++ ++#endif//#ifndef __STORE_WRAPPER_H__ ++ +diff --git a/include/amlstorage/emmc_partitions.h b/include/amlstorage/emmc_partitions.h +new file mode 100644 +index 00000000000..5edc1f89c8f +--- /dev/null ++++ b/include/amlstorage/emmc_partitions.h +@@ -0,0 +1,271 @@ ++#ifndef _AML_MMC_H ++#define _AML_MMC_H ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++//#include ++#include ++#include ++#include ++ ++#define AML_MMC_DBG ++ ++#define MAX_DEVICE_NUM 32 ++#define MAX_DEVICE_NAME_LEN 16 ++#define MAX_MMC_PART_NUM 32 ++#define MAX_MMC_PART_NAME_LEN 16 ++ ++#ifndef CONFIG_AML_MMC_INHERENT_PART ++#define PARTITION_RESERVED (8*SZ_1M) // 8MB ++#define MMC_BOOT_PARTITION_RESERVED (32*SZ_1M) // 32MB ++#define RESERVED_GPT_OFFSET (36*SZ_1M) // 36MB ++ ++#define MMC_BOOT_NAME "bootloader" ++#define MMC_BOOT_NAME0 "bootloader-boot0" ++#define MMC_BOOT_NAME1 "bootloader-boot1" ++#define MMC_BOOT_DEVICE_SIZE (0x4*SZ_1M) ++ ++#define MMC_RESERVED_NAME "reserved" ++#define MMC_RESERVED_SIZE (64*SZ_1M) ++#define MMC_BOTTOM_RSV_SIZE (0) ++#endif /* CONFIG_AML_MMC_INHERENT_PART */ ++ ++#define MMC_FREERTOS_NAME "rtos-0" ++#define MMC_NBG_NAME "NBG" ++ ++#define MMC_CACHE_NAME "cache" ++// #define MMC_CACHE_SIZE (512*SZ_1M) // this is not used and should be get from spl ++ ++#define MMC_ENV_NAME "env" ++#define MMC_ENV_SIZE (8*SZ_1M) ++ ++#define MMC_KEY_NAME "key" ++#define MMC_KEY_SIZE (256*1024) ++#define EMMCKEY_RESERVE_OFFSET (0x4000) ++#define MMC_RESERVED_OFFSET (36*SZ_1M) ++#define MMC_BLOCK_SIZE (512) ++// #define MMC_SECURE_NAME "secure" ++// #define MMC_SECURE_SIZE (0x1*SZ_1M) ++ ++#define MMC_DDR_PARAMETER_NAME "ddr-parameter" ++#define DDR_PARAMETER_OFFSET (SZ_1M * 8) ++#define DDR_PARAMETER_SIZE (4 * 512) ++ ++#define MMC_MPT_VERSION_1 "01.00.00" ++#define MMC_MPT_VERSION_2 "01.02.00" ++/* version in use, fixme when kenel driver is updated. */ ++#define MMC_MPT_VERSION MMC_MPT_VERSION_1 ++ ++#define MMC_PARTITIONS_MAGIC "MPT" // MMC Partition Table ++#define MMC_CARD_PARTITION_NAME "card" ++ ++/* virtual partitions*/ ++ ++#define MMC_MBR_NAME ("AML_MBR") ++/* offset&size of mbr will not be used */ ++#define MMC_MBR_OFFSET (0x0) ++#define MMC_MBR_SIZE (0x200) ++ ++/* ++* partition table ++* |<----partition_table---->|<----key---->| ++* ++*/ ++#define MMC_TABLE_NAME ("AML_TABLE") ++#define MMC_TABLE_OFFSET (0x0) ++#define MMC_TABLE_SIZE (16*1024) ++ ++/* ++* write 128KB data pattern ++* |<----pattern---->||<------DTB------>| ++*/ ++#define MMC_PATTERN_NAME "pattern" ++#define CALI_PATTERN_OFFSET (SZ_1M * 3) ++#define CALI_PATTERN_SIZE (256 * 512) ++#define CALI_BLOCK_SIZE (512) ++#define CALI_PATTERN (0x55aa55aa) ++ ++#define MMC_MAGIC_NAME "magic" ++#define MAGIC_OFFSET (SZ_1M * 6) ++#define MAGIC_SIZE (256 * 512) ++#define MAGIC_BLOCK_SIZE (512) ++#define MAGIC_PATTERN (0X00FF00FF) ++ ++#define MMC_RANDOM_NAME "random" ++#define RANDOM_OFFSET (SZ_1M * 7) ++#define RANDOM_SIZE (256 * 512) ++#define RANDOM_BLOCK_SIZE (512) ++#define RANDOM_PATTERN (0X52414E44) ++/* ++ * 2 copies dtb were stored in dtb area. ++ * each is 256K. ++ * timestamp&checksum are in the tail. ++ * |<--------------DTB Area-------------->| ++ * |<------DTB1------->|<------DTB2------>| ++ */ ++#define MMC_DTB_NAME "dtb" ++#define DTB_OFFSET (SZ_1M * 4) ++#define DTB_BLK_SIZE (512) ++#define DTB_BLK_CNT (512) ++#define DTB_SIZE (DTB_BLK_CNT * DTB_BLK_SIZE) ++#define DTB_COPIES (2) ++#define DTB_AREA_BLK_CNT (DTB_BLK_CNT * DTB_COPIES) ++#define EMMC_DTB_DEV (1) ++#define EMMC_FASTBOOT_CONTEXT_DEV (1) ++ ++#define MMC_FASTBOOT_CONTEXT_NAME "fastboot_context" ++#define FASTBOOT_CONTEXT_OFFSET (SZ_1M * 5) ++#define FASTBOOT_CONTEXT_SIZE (512) ++#define GPT_LBA_COUNT 34 ++#define GPT_TOTAL_SIZE (GPT_LBA_COUNT * 512) ++ ++struct virtual_partition { ++ char name[MAX_MMC_PART_NAME_LEN]; ++ uint64_t offset; ++ uint64_t size; ++}; ++ ++#define VIRTUAL_PARTITION_ELEMENT(na, of, sz) {.name = na, .offset = of, .size = sz,} ++ ++struct aml_pattern { ++ char name[MAX_MMC_PART_NAME_LEN]; ++ unsigned int pattern; ++}; ++#define AML_PATTERN_ELEMENT(na, pa) {.name = na, .pattern = pa,} ++ ++#ifdef AML_MMC_DBG ++#define aml_mmc_dbg(fmt, ...) printk( "%s: line:%d " fmt "\n", \ ++ __func__, __LINE__, ##__VA_ARGS__) ++ ++#define aml_mmc_msg(fmt, ...) printk( "%s: line:%d " fmt "\n", \ ++ __func__, __LINE__, ##__VA_ARGS__) ++#else ++#define aml_mmc_dbg(fmt, ...) ++#define aml_mmc_msg(fmt, ...) printk( fmt "\n", ##__VA_ARGS__) ++#endif ++ ++#define DOS_MBR 0 ++#define DOS_PBR 1 ++ ++#define DOS_PBR_FSTYPE_OFFSET 0x36 ++#define DOS_PBR32_FSTYPE_OFFSET 0x52 ++ ++#define DOS_PART_DISKSIG_OFFSET 0x1b8 ++#define DOS_PART_TBL_OFFSET 0x1be ++#define DOS_PART_MAGIC_OFFSET 0x1fe ++#define DOS_PBR_MEDIA_TYPE_OFFSET 0x15 ++ ++#define DOS_PARTITION_COUNT 32 ++ ++typedef struct dos_partition { ++ unsigned char boot_ind; /* 0x80 - active */ ++ unsigned char head; /* starting head */ ++ unsigned char sector; /* starting sector */ ++ unsigned char cyl; /* starting cylinder */ ++ unsigned char sys_ind; /* What partition type */ ++ unsigned char end_head; /* end head */ ++ unsigned char end_sector; /* end sector */ ++ unsigned char end_cyl; /* end cylinder */ ++ unsigned char start4[4]; /* starting sector counting from 0 */ ++ unsigned char size4[4]; /* nr of sectors in partition */ ++} dos_partition_t; ++ ++struct dos_mbr_or_ebr{ ++ unsigned char bootstart[446]; ++ struct dos_partition part_entry[4]; ++ unsigned char magic[2]; ++}; ++ ++struct mmc_partitions_fmt { ++ char magic[4]; ++ unsigned char version[12]; ++ int part_num; ++ int checksum; ++ struct partitions partitions[MAX_MMC_PART_NUM]; ++}; ++ ++struct mmc_partition_config{ ++ unsigned char version[12]; ++ int part_num; ++ struct partitions partitions[MAX_MMC_PART_NUM]; ++ unsigned option; ++ void * private_data; ++}; ++ ++/* ++struct _mmc_device{ ++ char name[MAX_DEVICE_NAME_LEN]; ++ uint64_t offset; ++ uint64_t size; ++ void * private_data; ++ struct list_head list; ++}; ++*/ ++ ++#define LOCK_MAJOR_VERSION 1 ++#define LOCK_MINOR_VERSION 0 ++ ++#define LOCK_DATA_SIZE 16 ++ ++typedef struct LockData { ++ uint8_t version_major; ++ uint8_t version_minor; ++ uint8_t unlock_ability; ++ ++ /* Padding to eight bytes. */ ++ uint8_t reserved1; ++ ++ /* 0: unlock 1: lock*/ ++ uint8_t lock_state; ++ ++ /* 0: unlock 1: lock*/ ++ uint8_t lock_critical_state; ++ ++ /* 0: enable bootloader version rollback 1: prevent bootloader version rollback*/ ++ uint8_t lock_bootloader; ++ uint8_t reserved2[1]; ++} LockData_t; ++ ++/*512Bytes*/ ++typedef struct FastbootContext { ++ /* locks */ ++ LockData_t lock; ++ uint8_t rsv[248]; ++ /* checksum, storage driver care */ ++ uint32_t crc32; ++} FastbootContext_t; ++ ++extern bool is_partition_checked; ++extern struct partitions emmc_partition_table[]; ++ ++extern int get_emmc_partition_arraysize(void); ++ ++/* ++ * get the partition number by name ++ * return value ++ * < 0 means no partition found ++ * >= 0 means valid partition ++ */ ++extern int get_partition_num_by_name(char const *name); ++ ++struct partitions* find_mmc_partition_by_name (char const *name); ++struct partitions *aml_get_partition_by_name(const char *name); ++int mmc_boot_size(char *name, uint64_t* size); ++struct virtual_partition *aml_get_virtual_partition_by_name(const char *name); ++bool aml_is_emmc_tsd (struct mmc *mmc); ++int mmc_device_init (struct mmc *mmc); ++ ++#define PARTITION_ELEMENT(na, sz, flags) {.name = na, .size = sz, .mask_flags = flags,} ++ ++#endif +diff --git a/include/amlstorage/emmc_storage.h b/include/amlstorage/emmc_storage.h +new file mode 100644 +index 00000000000..f2dc55fde77 +--- /dev/null ++++ b/include/amlstorage/emmc_storage.h +@@ -0,0 +1,76 @@ ++/*********************************************** ++*****Storage config of board, for ACS use.***** ++***********************************************/ ++ ++#ifndef __STORAGE_H ++#define __STORAGE_H ++ ++#include ++#include ++#ifndef __ASSEMBLY__ ++ ++//Partition table defines ++#define NAND_PART_SIZE_FULL -1 ++#define MAX_PART_NUM 32 ++#define MAX_PART_NAME_LEN 16 ++//#define SZ_1M 0x100000 ++ ++#define STORE_CODE 1 ++#define STORE_CACHE (1<<1) ++#define STORE_DATA (1<<2) ++ ++#define SPI_BOOT_FLAG 0 ++#define NAND_BOOT_FLAG 1 ++#define EMMC_BOOT_FLAG 2 ++#define CARD_BOOT_FLAG 3 ++#define SPI_NAND_FLAG 4 ++#define SPI_EMMC_FLAG 5 ++ ++#define CARD_TYPE_SHIFT 4 ++#define CARD_TYPE_MASK 0xf ++#define CARD_TYPE_UNKNOWN 0 /* unknown */ ++//#define CARD_TYPE_MMC 1 /* MMC card */ ++//#define CARD_TYPE_SD 2 /* SD card */ ++#define CARD_TYPE_SDIO 3 /* SDIO card */ ++#define CARD_TYPE_SD_COMBO 4 /* SD combo (IO+mem) card */ ++#define CARD_TYPE_NON_SDIO 5 /* NON sdio device (means SD/MMC card) */ ++ ++#define AML_GET_CARD_TYPE(val, port) ((val >> (port * CARD_TYPE_SHIFT)) & CARD_TYPE_MASK) ++#define AML_SET_CARD_TYPE(val, port, type) \ ++ (val |= ((type & CARD_TYPE_MASK) << (port * CARD_TYPE_SHIFT))) ++ ++/* storage device */ ++#define STORAGE_DEV_NOSET (0) ++#define STORAGE_DEV_EMMC (1) ++#define STORAGE_DEV_NAND (2) ++#define STORAGE_DEV_SPI (3) ++#define STORAGE_DEV_SDCARD (4) ++#define STORAGE_DEV_USB (5) ++ ++struct partitions { ++ char name[MAX_PART_NAME_LEN]; /* identifier string */ ++ uint64_t size; /* partition size */ ++ uint64_t offset; /* offset within the master space */ ++ unsigned mask_flags; /* master flags to mask out for this partition */ ++}; ++ ++struct config_nand { ++ unsigned enable_slc; ++ unsigned order_ce; ++ unsigned reserved[2]; ++}; ++ ++struct config_mmc { ++ unsigned type; ++ unsigned port; ++ unsigned reserved[2]; ++}; ++ ++struct store_config { ++ unsigned store_device_flag; // indicate storage devices on each board ++ struct config_nand nand_configs; // specital config for nand ++ struct config_mmc mmc_configs; // specital config for mmc ++}; ++ ++#endif ++#endif +diff --git a/include/amlstorage/partition_table.h b/include/amlstorage/partition_table.h +new file mode 100644 +index 00000000000..4e170f3748e +--- /dev/null ++++ b/include/amlstorage/partition_table.h +@@ -0,0 +1,72 @@ ++#ifndef _PARTITION_TABLE_H ++#define _PARTITION_TABLE_H ++// #ifdef CONFIG_STORE_COMPATIBLE ++#include ++#include ++// #endif ++//#include ++//#include ++ ++ ++#define STORE_DBG ++#ifdef STORE_DBG ++#define store_dbg(fmt, ...) printk( "%s: line:%d " fmt "\n", \ ++ __func__, __LINE__, ##__VA_ARGS__) ++ ++#define store_msg(fmt, ...) printk( "%s: line:%d " fmt "\n", \ ++ __func__, __LINE__, ##__VA_ARGS__) ++#else ++#define store_dbg(fmt, ...) ++#define store_msg(fmt, ...) printk( fmt "\n", ##__VA_ARGS__) ++#endif ++ ++//boot_flag ++//#define R_BOOT_DEVICE_FLAG READ_CBUS_REG(ASSIST_POR_CONFIG) ++ ++//#if MESON_CPU_TYPE >= MESON_CPU_TYPE_MESON8 ++//#define POR_BOOT_VALUE ((((R_BOOT_DEVICE_FLAG>>9)&1)<<2)|((R_BOOT_DEVICE_FLAG>>6)&3)) ++//#else ++//#define POR_BOOT_VALUE (R_BOOT_DEVICE_FLAG & 7) ++//#endif ++ ++//#if 1 /*defined in poc.h*/ ++//#define POR_NAND_BOOT() ((POR_BOOT_VALUE == 7) || (POR_BOOT_VALUE == 6)) ++//#define POR_SPI_BOOT() ((POR_BOOT_VALUE == 5) || (POR_BOOT_VALUE == 4)) ++//#define POR_EMMC_BOOT() ((IS_MESON_M8M2_CPU | IS_MESON_M8BABY_CPU)?((POR_BOOT_VALUE == 3) || ((POR_BOOT_VALUE == 1))):(POR_BOOT_VALUE == 3)) ++//#define POR_CARD_BOOT() (POR_BOOT_VALUE == 0) ++//#endif ++ ++#define SPI_BOOT_FLAG 0 ++#define NAND_BOOT_FLAG 1 ++#define EMMC_BOOT_FLAG 2 ++#define CARD_BOOT_FLAG 3 ++#define SPI_NAND_FLAG 4 ++#define SPI_EMMC_FLAG 5 ++ ++#define _AML_DEVICE_BOOT_FLAG_DEFAULT (0XFFFFFFFF) ++ ++#define START_ADDR 0xd9000200 ++#define TABLE_MAGIC_NAME "part" ++#define STORE_MAGIC_NAME "stor" ++#define ACS_SET_LEN 128 ++ ++extern int info_disprotect; ++ ++extern int has_boot_slot; ++extern int has_system_slot; ++extern bool dynamic_partition; ++extern bool vendor_boot_partition; ++ ++extern int get_partition_from_dts(unsigned char * buffer); ++ ++extern int get_partitions_table(struct partitions **table); ++ ++#define AML_DTB_IMG_MAX_SZ ((256<<10) - 512) ++extern struct partitions *get_partitions(void); ++ ++extern int get_partition_count(void); ++extern void free_partitions(void); ++/* only nand&emmc for gxb and later soc */ ++ ++#endif// #ifndef _PARTITION_TABLE_H ++ +-- +2.43.2 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0004-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch b/patch/u-boot/v2023.10/board_trhubv3l/0004-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch new file mode 100644 index 000000000..73f59449c --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0004-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch @@ -0,0 +1,505 @@ +From aa7c8e63c6a81cf054af4392e7ae1fbf4e9bbf04 Mon Sep 17 00:00:00 2001 +From: Viacheslav Bocharov +Date: Tue, 3 Oct 2023 17:26:36 +0300 +Subject: [PATCH 4/8] Copy and update amlogic-2019 aml partition/keyman code to + mainline (fixes) + +--- + .../meson-axg-jethome-jethub-j100-u-boot.dtsi | 92 +++++++++++++++++ + cmd/Kconfig | 5 + + cmd/Makefile | 3 + + common/Makefile | 3 + + configs/jethub_j100_defconfig | 7 ++ + configs/jethub_j80_defconfig | 7 ++ + disk/Kconfig | 13 +++ + disk/Makefile | 1 + + drivers/Kconfig | 4 + + drivers/Makefile | 3 + + drivers/mmc/Makefile | 3 + + drivers/mmc/mmc.c | 99 ++++++++++++++++++- + include/mmc.h | 25 +++++ + include/part.h | 3 + + 14 files changed, 267 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/dts/meson-axg-jethome-jethub-j100-u-boot.dtsi b/arch/arm/dts/meson-axg-jethome-jethub-j100-u-boot.dtsi +index 3ecb233f8e2..e0e6b2259cc 100644 +--- a/arch/arm/dts/meson-axg-jethome-jethub-j100-u-boot.dtsi ++++ b/arch/arm/dts/meson-axg-jethome-jethub-j100-u-boot.dtsi +@@ -4,6 +4,98 @@ + * Author: Vyacheslav Bocharov + */ + ++/ { ++ partitions: partitions { ++ parts = <1>; ++ part-0 = <&rootfs>; ++ rootfs: rootfs { ++ pname = "rootfs"; ++ size = <0xffffffff 0xffffffff>; ++ mask = <4>; ++ }; ++ }; ++ ++ efusekey: efusekey { ++ keynum = <5>; ++ key0 = <&key_0>; ++ key1 = <&key_1>; ++ key2 = <&key_2>; ++ key3 = <&key_3>; ++ key4 = <&key_4>; ++ ++ key_0: key_0 { ++ keyname = "mac"; ++ offset = <0>; ++ size = <6>; ++ }; ++ key_1: key_1 { ++ keyname = "mac_bt"; ++ offset = <6>; ++ size = <6>; ++ }; ++ key_2: key_2 { ++ keyname = "mac_wifi"; ++ offset = <12>; ++ size = <6>; ++ }; ++ key_3: key_3 { ++ keyname = "usid"; ++ offset = <18>; ++ size = <32>; ++ }; ++ key_4: key_4 { ++ keyname = "serial"; ++ offset = <50>; ++ size = <32>; ++ }; ++ }; //End efusekey ++ ++ unifykey { ++ compatible = "amlogic, unifykey"; ++ status = "ok"; ++ unifykey-num = <6>; ++ unifykey-index-0 = <&keysn_0>; ++ unifykey-index-1 = <&keysn_1>; ++ unifykey-index-2 = <&keysn_2>; ++ unifykey-index-3 = <&keysn_3>; ++ unifykey-index-4 = <&keysn_4>; ++ unifykey-index-5 = <&keysn_5>; ++ ++ keysn_0: key_0 { ++ key-name = "usid"; ++ key-device = "normal"; ++ key-permit = "read"; ++ }; ++ keysn_1: key_1 { ++ key-name = "mac"; ++ key-device = "normal"; ++ key-permit = "read"; ++ }; ++ keysn_2: key_2 { ++ key-name = "mac_bt"; ++ key-device = "normal"; ++ key-permit = "read","write","del"; ++ key-type = "mac"; ++ }; ++ keysn_3: key_3 { ++ key-name = "mac_wifi"; ++ key-device = "normal"; ++ key-permit = "read","write","del"; ++ key-type = "mac"; ++ }; ++ keysn_4: key_4 { ++ key-name = "serial"; ++ key-device = "normal"; ++ key-permit = "read"; ++ }; ++ keysn_5:key_5 { ++ key-name = "deviceid"; ++ key-device = "normal"; ++ key-permit = "read","write","del"; ++ }; ++ }; //End unifykey ++}; ++ + &saradc { + status = "okay"; + vref-supply = <&vddio_ao18>; +diff --git a/cmd/Kconfig b/cmd/Kconfig +index 43ca10f69cc..71446cf0923 100644 +--- a/cmd/Kconfig ++++ b/cmd/Kconfig +@@ -2698,6 +2698,11 @@ config CMD_REISER + reiserls - list files + reiserload - load a file + ++config AML_STORAGE ++ bool "aml storage support" ++ help ++ storage cmd support ++ + config CMD_YAFFS2 + bool "yaffs2 - Access of YAFFS2 filesystem" + depends on YAFFS2 +diff --git a/cmd/Makefile b/cmd/Makefile +index 9bebf321c39..1f68971aaee 100644 +--- a/cmd/Makefile ++++ b/cmd/Makefile +@@ -214,6 +214,9 @@ obj-$(CONFIG_CMD_ETHSW) += ethsw.o + obj-$(CONFIG_CMD_AXI) += axi.o + obj-$(CONFIG_CMD_PVBLOCK) += pvblock.o + ++obj-$(CONFIG_AML_STORAGE) += storage.o ++obj-$(CONFIG_CMD_MMC) += aml_mmc.o ++ + # Power + obj-$(CONFIG_CMD_PMIC) += pmic.o + obj-$(CONFIG_CMD_REGULATOR) += regulator.o +diff --git a/common/Makefile b/common/Makefile +index f5c3d90f067..26d9aefeaaf 100644 +--- a/common/Makefile ++++ b/common/Makefile +@@ -11,6 +11,9 @@ obj-y += exports.o + obj-$(CONFIG_HUSH_PARSER) += cli_hush.o + obj-$(CONFIG_AUTOBOOT) += autoboot.o + ++obj-$(CONFIG_AML_STORAGE) += partitions.o ++obj-$(CONFIG_AML_STORAGE) += aml_dt.o ++ + # # boards + obj-y += board_f.o + obj-y += board_r.o +diff --git a/configs/jethub_j100_defconfig b/configs/jethub_j100_defconfig +index 549d5514f7a..26a22d96a6d 100644 +--- a/configs/jethub_j100_defconfig ++++ b/configs/jethub_j100_defconfig +@@ -68,3 +68,10 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e + CONFIG_USB_GADGET_PRODUCT_NUM=0xfada + CONFIG_USB_GADGET_DWC2_OTG=y + CONFIG_USB_GADGET_DOWNLOAD=y ++ ++CONFIG_AML_DRIVER=y ++CONFIG_UNIFY_KEY_MANAGE=y ++CONFIG_SECURE_STORAGE=y ++CONFIG_AML_STORAGE=y ++CONFIG_EFUSE=y ++CONFIG_AML_PARTITION=y +diff --git a/configs/jethub_j80_defconfig b/configs/jethub_j80_defconfig +index df9b8f3aedf..46bc96516e7 100644 +--- a/configs/jethub_j80_defconfig ++++ b/configs/jethub_j80_defconfig +@@ -72,3 +72,10 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e + CONFIG_USB_GADGET_PRODUCT_NUM=0xfada + CONFIG_USB_GADGET_DWC2_OTG=y + CONFIG_USB_GADGET_DOWNLOAD=y ++ ++CONFIG_AML_DRIVER=y ++CONFIG_UNIFY_KEY_MANAGE=y ++CONFIG_SECURE_STORAGE=y ++CONFIG_AML_STORAGE=y ++CONFIG_EFUSE=y ++CONFIG_AML_PARTITION=y +diff --git a/disk/Kconfig b/disk/Kconfig +index 85496958074..5c65ad5065c 100644 +--- a/disk/Kconfig ++++ b/disk/Kconfig +@@ -165,4 +165,17 @@ config SPL_PARTITION_TYPE_GUID + Activate the configuration of GUID type + for EFI partition + ++config AML_PARTITION ++ bool "Enable AML partition table" ++ depends on PARTITIONS ++ help ++ "AML_PARTITION_HELP" ++ ++config AML_GPT ++ bool "Enable AML GPT partition table" ++ depends on PARTITIONS ++ select RANDOM_UUID ++ help ++ "AML_GPT_HELP" ++ + endmenu +diff --git a/disk/Makefile b/disk/Makefile +index 45588cf66e4..23fc28bcbe4 100644 +--- a/disk/Makefile ++++ b/disk/Makefile +@@ -17,4 +17,5 @@ obj-$(CONFIG_$(SPL_TPL_)DOS_PARTITION) += part_dos.o + obj-$(CONFIG_$(SPL_TPL_)ISO_PARTITION) += part_iso.o + obj-$(CONFIG_$(SPL_TPL_)AMIGA_PARTITION) += part_amiga.o + obj-$(CONFIG_$(SPL_TPL_)EFI_PARTITION) += part_efi.o ++#obj-$(CONFIG_AML_PARTITION) += part_aml.o + endif +diff --git a/drivers/Kconfig b/drivers/Kconfig +index a25f6ae02fd..c074b7dce93 100644 +--- a/drivers/Kconfig ++++ b/drivers/Kconfig +@@ -156,6 +156,10 @@ source "drivers/watchdog/Kconfig" + + source "drivers/xen/Kconfig" + ++source "drivers/amlogic/Kconfig" ++ ++source "drivers/efuse/Kconfig" ++ + config PHYS_TO_BUS + bool "Custom physical to bus address mapping" + help +diff --git a/drivers/Makefile b/drivers/Makefile +index efc2a4afb24..91883a77af7 100644 +--- a/drivers/Makefile ++++ b/drivers/Makefile +@@ -43,6 +43,9 @@ obj-$(CONFIG_$(SPL_)VIDEO) += video/ + + obj-y += bus/ + ++obj-$(CONFIG_AML_DRIVER) += amlogic/ ++obj-$(CONFIG_EFUSE) += efuse/ ++ + ifndef CONFIG_TPL_BUILD + ifndef CONFIG_VPL_BUILD + ifdef CONFIG_SPL_BUILD +diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile +index 2c65c4765ab..2ee7af838ed 100644 +--- a/drivers/mmc/Makefile ++++ b/drivers/mmc/Makefile +@@ -4,7 +4,10 @@ + # Wolfgang Denk, DENX Software Engineering, wd@denx.de. + + obj-y += mmc.o ++obj-y += mmc_aml.o + obj-$(CONFIG_$(SPL_)DM_MMC) += mmc-uclass.o ++obj-$(CONFIG_CMD_MMC) += storage_emmc.o ++obj-$(CONFIG_MMC_MESON_GX) += aml_emmc_partition.o + + ifdef CONFIG_$(SPL_TPL_)DM_MMC + obj-$(CONFIG_$(SPL_TPL_)BOOTSTD) += mmc_bootdev.o +diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c +index 31cfda28858..9b275b82e14 100644 +--- a/drivers/mmc/mmc.c ++++ b/drivers/mmc/mmc.c +@@ -26,6 +26,24 @@ + #include + #include "mmc_private.h" + ++ ++// TODO amlogic ++#include ++#include ++#include ++#include ++ ++struct aml_pattern aml_pattern_table[] = { ++ AML_PATTERN_ELEMENT(MMC_PATTERN_NAME, CALI_PATTERN), ++ AML_PATTERN_ELEMENT(MMC_MAGIC_NAME, MAGIC_PATTERN), ++ AML_PATTERN_ELEMENT(MMC_RANDOM_NAME, RANDOM_PATTERN), ++}; ++ ++int mmc_pattern_check(struct mmc *mmc, struct aml_pattern *table); ++void mmc_write_cali_mattern(void *addr, struct aml_pattern *table); ++ ++// end TODO ++ + #define DEFAULT_CMD6_TIMEOUT_MS 500 + + static int mmc_set_signal_voltage(struct mmc *mmc, uint signal_voltage); +@@ -2391,6 +2409,12 @@ static int mmc_startup_v4(struct mmc *mmc) + } + #endif + ++ /* dev life time estimate type A/B */ ++ mmc->dev_lifetime_est_typ_a ++ = ext_csd[EXT_CSD_DEV_LIFETIME_EST_TYP_A]; ++ mmc->dev_lifetime_est_typ_b ++ = ext_csd[EXT_CSD_DEV_LIFETIME_EST_TYP_B]; ++ + /* + * Host needs to enable ERASE_GRP_DEF bit if device is + * partitioned. This bit will be lost every time after a reset +@@ -2984,7 +3008,7 @@ static int mmc_complete_init(struct mmc *mmc) + + int mmc_init(struct mmc *mmc) + { +- int err = 0; ++ int err = 0, i; + __maybe_unused ulong start; + #if CONFIG_IS_ENABLED(DM_MMC) + struct mmc_uclass_priv *upriv = dev_get_uclass_priv(mmc->dev); +@@ -3003,6 +3027,18 @@ int mmc_init(struct mmc *mmc) + err = mmc_complete_init(mmc); + if (err) + pr_info("%s: %d, time %lu\n", __func__, err, get_timer(start)); ++ info_disprotect |= DISPROTECT_KEY; ++ if (IS_MMC(mmc)) { ++ if (!is_partition_checked) { ++ if (mmc_device_init(mmc) == 0) { ++ is_partition_checked = true; ++ pr_info("eMMC/TSD partition table have been checked OK!\n"); ++ for (i = 0; i < ARRAY_SIZE(aml_pattern_table); i++) ++ mmc_pattern_check(mmc, &aml_pattern_table[i]); ++ } ++ } ++ } ++ info_disprotect &= ~DISPROTECT_KEY; + + return err; + } +@@ -3193,3 +3229,64 @@ __weak int mmc_get_env_dev(void) + return 0; + #endif + } ++ ++/// TODO: amlogic ++int mmc_pattern_check(struct mmc *mmc, struct aml_pattern *table) ++{ ++ void *addr = NULL; ++ u64 cnt = 0, n = 0, blk = 0; ++ u32 *buf = NULL; ++ u32 crc32_s = 0; ++ struct partitions *part = NULL; ++ struct virtual_partition *vpart = NULL; ++ ++ vpart = aml_get_virtual_partition_by_name(table->name); ++ ++ addr = (void *)malloc(vpart->size); ++ if (!addr) { ++ printf("%s malloc failed\n", table->name); ++ return 1; ++ } ++ part = aml_get_partition_by_name(MMC_RESERVED_NAME); ++ blk = (part->offset + vpart->offset) / mmc->read_bl_len; ++ cnt = vpart->size / mmc->read_bl_len; ++ n = blk_dread(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ if (n != cnt) { ++ printf("read pattern failed\n"); ++ free(addr); ++ return 1; ++ } else { ++ buf = (u32 *)addr; ++ crc32_s = crc32(0, (u8 *)addr, (vpart->size - 4)); ++ if (crc32_s != buf[vpart->size/4 - 1]) { ++ printf("check %s failed,need to write\n", ++ table->name); ++ mmc_write_cali_mattern(addr, table); ++ n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr); ++ printf("several 0x%x pattern blocks write %s\n", ++ table->pattern, (n == cnt) ? "OK" : "ERROR"); ++ } ++ printf("crc32_s:0x%x == storage crc_pattern:0x%x!!!\n", ++ crc32_s, buf[vpart->size/4 - 1]); ++ } ++ free(addr); ++ return (n == cnt) ? 0 : 1; ++} ++ ++ ++void mmc_write_cali_mattern(void *addr, struct aml_pattern *table) ++{ ++ int i = 0; ++ unsigned int s = 10; ++ u32 *mattern = (u32 *)addr; ++ struct virtual_partition *vpart = ++ aml_get_virtual_partition_by_name(table->name); ++ for (i = 0;i < (vpart->size)/4 - 1;i++) { ++ if (!strcmp(table->name, "random")) ++ mattern[i] = rand_r(&s); ++ else ++ mattern[i] = table->pattern; ++ } ++ mattern[i] = crc32(0, (u8 *)addr, (vpart->size - 4)); ++ return; ++} +diff --git a/include/mmc.h b/include/mmc.h +index 1022db3ffa7..721758c3c7b 100644 +--- a/include/mmc.h ++++ b/include/mmc.h +@@ -109,6 +109,10 @@ struct bd_info; + #define MMC_CMD_SET_BLOCK_COUNT 23 + #define MMC_CMD_WRITE_SINGLE_BLOCK 24 + #define MMC_CMD_WRITE_MULTIPLE_BLOCK 25 ++#define MMC_CMD_SET_WRITE_PROTECT 28 ++#define MMC_CMD_CLR_WRITE_PROT 29 ++#define MMC_CMD_SEND_WRITE_PROT 30 ++#define MMC_CMD_SEND_WRITE_PROT_TYPE 31 + #define MMC_CMD_ERASE_GROUP_START 35 + #define MMC_CMD_ERASE_GROUP_END 36 + #define MMC_CMD_ERASE 38 +@@ -213,6 +217,7 @@ static inline bool mmc_is_tuning_cmd(uint cmdidx) + /* + * EXT_CSD fields + */ ++#define EXT_CSD_CLASS_6_CTRL 59 /*R/W/E_P*/ + #define EXT_CSD_ENH_START_ADDR 136 /* R/W */ + #define EXT_CSD_ENH_SIZE_MULT 140 /* R/W */ + #define EXT_CSD_GP_SIZE_MULT 143 /* R/W */ +@@ -236,6 +241,7 @@ static inline bool mmc_is_tuning_cmd(uint cmdidx) + #define EXT_CSD_HS_TIMING 185 /* R/W */ + #define EXT_CSD_REV 192 /* RO */ + #define EXT_CSD_CARD_TYPE 196 /* RO */ ++#define EXT_CSD_DRIVER_STRENGTH 197 /* RO */ + #define EXT_CSD_PART_SWITCH_TIME 199 /* RO */ + #define EXT_CSD_SEC_CNT 212 /* RO, 4 bytes */ + #define EXT_CSD_HC_WP_GRP_SIZE 221 /* RO */ +@@ -243,6 +249,9 @@ static inline bool mmc_is_tuning_cmd(uint cmdidx) + #define EXT_CSD_BOOT_MULT 226 /* RO */ + #define EXT_CSD_SEC_FEATURE 231 /* RO */ + #define EXT_CSD_GENERIC_CMD6_TIME 248 /* RO */ ++#define EXT_CSD_DEV_LIFETIME_EST_TYP_A 268 /* RO */ ++#define EXT_CSD_DEV_LIFETIME_EST_TYP_B 269 /* RO */ ++ + #define EXT_CSD_BKOPS_SUPPORT 502 /* RO */ + + /* +@@ -344,6 +353,20 @@ static inline bool mmc_is_tuning_cmd(uint cmdidx) + #define ENHNCD_SUPPORT (0x2) + #define PART_ENH_ATTRIB (0x1f) + ++#define US_PWR_WP_DIS_BIT 1<<3 ++#define US_PERM_WP_DIS_BIT 1<<4 ++#define WP_CLEAR_TYPE 0 ++#define WP_POWER_ON_TYPE (1<<1) ++#define WP_TEMPORARY_TYPE 1 ++#define WP_PERMANENT_TYPE ((1<<0)|(1<<1)) ++#define WP_TYPE_MASK 3 ++#define WP_ENABLE_MASK 7 ++#define WP_TEMPORARY_EN_BIT 0 ++#define WP_POWER_ON_EN_BIT (1<<0) ++#define WP_PERM_EN_BIT (1<<2) ++#define WP_GRP_SIZE_MASK 31 ++ ++ + #define MMC_QUIRK_RETRY_SEND_CID BIT(0) + #define MMC_QUIRK_RETRY_SET_BLOCKLEN BIT(1) + #define MMC_QUIRK_RETRY_APP_CMD BIT(2) +@@ -703,6 +726,8 @@ struct mmc { + #if CONFIG_IS_ENABLED(MMC_WRITE) + struct sd_ssr ssr; /* SD status register */ + #endif ++ uint dev_lifetime_est_typ_a; ++ uint dev_lifetime_est_typ_b; + u64 capacity; + u64 capacity_user; + u64 capacity_boot; +diff --git a/include/part.h b/include/part.h +index 8e451bbdff9..b61e22c863b 100644 +--- a/include/part.h ++++ b/include/part.h +@@ -30,12 +30,15 @@ struct block_drvr { + #define PART_TYPE_ISO 0x03 + #define PART_TYPE_AMIGA 0x04 + #define PART_TYPE_EFI 0x05 ++#define PART_TYPE_AML 0x06 + + /* maximum number of partition entries supported by search */ + #define DOS_ENTRY_NUMBERS 8 + #define ISO_ENTRY_NUMBERS 64 + #define MAC_ENTRY_NUMBERS 64 + #define AMIGA_ENTRY_NUMBERS 8 ++#define AML_ENTRY_NUMBERS 128 ++ + /* + * Type string for U-Boot bootable partitions + */ +-- +2.43.2 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0005-Add-usid-serial-mac-read-from-emmc.patch b/patch/u-boot/v2023.10/board_trhubv3l/0005-Add-usid-serial-mac-read-from-emmc.patch new file mode 100644 index 000000000..a90e67933 --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0005-Add-usid-serial-mac-read-from-emmc.patch @@ -0,0 +1,102 @@ +From 80d41294944231f135eb3b84dfc34658e0318b44 Mon Sep 17 00:00:00 2001 +From: Vyacheslav Bocharov +Date: Tue, 5 Jul 2022 19:06:25 +0300 +Subject: [PATCH 5/8] Add usid/serial/mac read from emmc + +--- + board/amlogic/jethub-j100/jethub-j100.c | 63 +++++++++++++++++++++++-- + 1 file changed, 60 insertions(+), 3 deletions(-) + +diff --git a/board/amlogic/jethub-j100/jethub-j100.c b/board/amlogic/jethub-j100/jethub-j100.c +index 6a2c4ad4c3c..41ef5db4932 100644 +--- a/board/amlogic/jethub-j100/jethub-j100.c ++++ b/board/amlogic/jethub-j100/jethub-j100.c +@@ -5,6 +5,7 @@ + */ + + #include ++#include + #include + #include + #include +@@ -20,8 +21,65 @@ int misc_init_r(void) + u8 mac_addr[ARP_HLEN]; + char serial[SM_SERIAL_SIZE]; + u32 sid; ++ int ret; + +- if (!meson_sm_get_serial(serial, SM_SERIAL_SIZE)) { ++ char _cmdbuf[96]; ++ char keyname[32]; ++ char keydata[256]; ++ int ver=0; ++ ++ memset (mac_addr,0, sizeof(mac_addr)); ++ sprintf(_cmdbuf, "store init"); ++ if(!run_command(_cmdbuf, 0)) ++ { ++ sprintf(_cmdbuf, "keyman init 0x1234"); ++ if(!run_command(_cmdbuf, 0)) ++ { ++ strcpy(keyname, "usid"); ++ memset (keydata, 0, sizeof(keydata)); ++ sprintf(_cmdbuf, "keyman read %s %p str", keyname, keydata); ++ ret = run_command(_cmdbuf, 0); ++ if (!ret) ++ { ++ // j100__04012201sw00016142005c ++ // 0123456789 ++ if (keydata[0] == 'j') ++ { ++ if (keydata[1] == '1') ++ { ++ sprintf(_cmdbuf, "%c%c",keydata[6],keydata[7]); ++ env_set("hwrev", _cmdbuf); ++ sprintf(_cmdbuf, "%c%c",keydata[8],keydata[9]); ++ env_set("perev", _cmdbuf); ++ } ++ } ++ } ++ // get serial ++ strcpy(keyname, "serial"); ++ memset (keydata, 0, sizeof(keydata)); ++ sprintf(_cmdbuf, "keyman read %s %p str", keyname, keydata); ++ ret = run_command(_cmdbuf, 0); ++ ++ // get mac ++ strcpy(keyname, "mac"); ++ memset (keydata, 0, sizeof(keydata)); ++ sprintf(_cmdbuf, "keyman read %s %#p str", keyname, keydata); ++ ret = run_command(_cmdbuf, 0); ++ if (keydata[2]==':') ++ { ++ keydata[17] = (char) 0x00; ++ sprintf(_cmdbuf,"env set ethaddr %s", keydata); ++ ret = run_command(_cmdbuf, 0); ++ mac_addr[0] = (char) 0x01; ++ } else ++ { ++ printf("keyman read mac failed\n"); ++ } ++ } ++ } ++ ++ if (mac_addr[0]==0) ++ if (!meson_sm_get_serial(serial, SM_SERIAL_SIZE)) { + sid = crc32(0, (unsigned char *)serial, SM_SERIAL_SIZE); + /* Ensure the NIC specific bytes of the mac are not all 0 */ + if ((sid & 0xffff) == 0) +@@ -34,9 +92,8 @@ int misc_init_r(void) + mac_addr[3] = (sid >> 16) & 0xff; + mac_addr[4] = (sid >> 8) & 0xff; + mac_addr[5] = (sid >> 0) & 0xff; +- + eth_env_set_enetaddr("ethaddr", mac_addr); +- } ++ } + + return 0; + } +-- +2.43.2 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0006-HACK-force-disable-efi-options-for-JetHub-D1-H1.patch.disable b/patch/u-boot/v2023.10/board_trhubv3l/0006-HACK-force-disable-efi-options-for-JetHub-D1-H1.patch.disable new file mode 100644 index 000000000..29a220ff9 --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0006-HACK-force-disable-efi-options-for-JetHub-D1-H1.patch.disable @@ -0,0 +1,67 @@ +From 59305d9189e17b1f135112ea0333eac9746e9739 Mon Sep 17 00:00:00 2001 +From: Vyacheslav Bocharov +Date: Thu, 1 Sep 2022 09:53:19 +0300 +Subject: [PATCH 6/8] HACK: force disable efi options for JetHub D1+/H1 + +--- + configs/jethub_j100_defconfig | 19 +++++++++++++++++++ + configs/jethub_j80_defconfig | 19 +++++++++++++++++++ + 2 files changed, 38 insertions(+) + +diff --git a/configs/jethub_j100_defconfig b/configs/jethub_j100_defconfig +index 26a22d96a6d..112445ffefb 100644 +--- a/configs/jethub_j100_defconfig ++++ b/configs/jethub_j100_defconfig +@@ -75,3 +75,22 @@ CONFIG_SECURE_STORAGE=y + CONFIG_AML_STORAGE=y + CONFIG_EFUSE=y + CONFIG_AML_PARTITION=y ++ ++CONFIG_BOOTMETH_EFILOADER=n ++CONFIG_CMD_BOOTEFI=n ++CONFIG_CMD_BOOTEFI_HELLO_COMPILE=n ++CONFIG_EFI_PARTITION=n ++CONFIG_EFI_LOADER=n ++CONFIG_CMD_BOOTEFI_BOOTMGR=n ++CONFIG_EFI_SETUP_EARLY=n ++CONFIG_EFI_VARIABLE_FILE_STORE=n ++CONFIG_EFI_GET_TIME=n ++CONFIG_EFI_DEVICE_PATH_TO_TEXT=n ++CONFIG_EFI_DEVICE_PATH_UTIL=n ++CONFIG_EFI_DT_FIXUP=n ++CONFIG_EFI_LOADER_HII=n ++CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=n ++CONFIG_EFI_UNICODE_CAPITALIZATION=n ++CONFIG_EFI_HAVE_RUNTIME_RESET=n ++CONFIG_EFI_RNG_PROTOCOL=n ++CONFIG_EFI_LOAD_FILE2_INITRD=n +diff --git a/configs/jethub_j80_defconfig b/configs/jethub_j80_defconfig +index 46bc96516e7..5d1344b0b5e 100644 +--- a/configs/jethub_j80_defconfig ++++ b/configs/jethub_j80_defconfig +@@ -79,3 +79,22 @@ CONFIG_SECURE_STORAGE=y + CONFIG_AML_STORAGE=y + CONFIG_EFUSE=y + CONFIG_AML_PARTITION=y ++ ++CONFIG_BOOTMETH_EFILOADER=n ++CONFIG_CMD_BOOTEFI=n ++CONFIG_CMD_BOOTEFI_HELLO_COMPILE=n ++CONFIG_EFI_PARTITION=n ++CONFIG_EFI_LOADER=n ++CONFIG_CMD_BOOTEFI_BOOTMGR=n ++CONFIG_EFI_SETUP_EARLY=n ++CONFIG_EFI_VARIABLE_FILE_STORE=n ++CONFIG_EFI_GET_TIME=n ++CONFIG_EFI_DEVICE_PATH_TO_TEXT=n ++CONFIG_EFI_DEVICE_PATH_UTIL=n ++CONFIG_EFI_DT_FIXUP=n ++CONFIG_EFI_LOADER_HII=n ++CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=n ++CONFIG_EFI_UNICODE_CAPITALIZATION=n ++CONFIG_EFI_HAVE_RUNTIME_RESET=n ++CONFIG_EFI_RNG_PROTOCOL=n ++CONFIG_EFI_LOAD_FILE2_INITRD=n +-- +2.43.2 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0007-ARM-amlogic-revert-JetHub-D1-eth-mac-generation-with.patch b/patch/u-boot/v2023.10/board_trhubv3l/0007-ARM-amlogic-revert-JetHub-D1-eth-mac-generation-with.patch new file mode 100644 index 000000000..ecbb29d2e --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0007-ARM-amlogic-revert-JetHub-D1-eth-mac-generation-with.patch @@ -0,0 +1,54 @@ +From 4c24d43140370f272a12b0695ffacb85863c51a7 Mon Sep 17 00:00:00 2001 +From: Viacheslav Bocharov +Date: Thu, 22 Dec 2022 15:10:29 +0300 +Subject: [PATCH 7/8] ARM: amlogic: revert JetHub D1 eth mac generation with + manufacturer OUI + +Partially revert add JetHub D1 eth mac generation with manufacturer OUI +commit 4f4f974a46244270c1c6723017711c0aa8250206 + +Signed-off-by: Viacheslav Bocharov +--- + board/amlogic/jethub-j100/jethub-j100.c | 19 +------------------ + 1 file changed, 1 insertion(+), 18 deletions(-) + +diff --git a/board/amlogic/jethub-j100/jethub-j100.c b/board/amlogic/jethub-j100/jethub-j100.c +index 41ef5db4932..0d1cb6b21dc 100644 +--- a/board/amlogic/jethub-j100/jethub-j100.c ++++ b/board/amlogic/jethub-j100/jethub-j100.c +@@ -19,8 +19,6 @@ + int misc_init_r(void) + { + u8 mac_addr[ARP_HLEN]; +- char serial[SM_SERIAL_SIZE]; +- u32 sid; + int ret; + + char _cmdbuf[96]; +@@ -78,22 +76,7 @@ int misc_init_r(void) + } + } + +- if (mac_addr[0]==0) +- if (!meson_sm_get_serial(serial, SM_SERIAL_SIZE)) { +- sid = crc32(0, (unsigned char *)serial, SM_SERIAL_SIZE); +- /* Ensure the NIC specific bytes of the mac are not all 0 */ +- if ((sid & 0xffff) == 0) +- sid |= 0x800000; +- +- /* OUI registered MAC address */ +- mac_addr[0] = 0x10; +- mac_addr[1] = 0x27; +- mac_addr[2] = 0xBE; +- mac_addr[3] = (sid >> 16) & 0xff; +- mac_addr[4] = (sid >> 8) & 0xff; +- mac_addr[5] = (sid >> 0) & 0xff; +- eth_env_set_enetaddr("ethaddr", mac_addr); +- } ++ meson_generate_serial_ethaddr(); + + return 0; + } +-- +2.43.2 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0008-board-amlogic-jethub-j100-fix-common-config-header.patch b/patch/u-boot/v2023.10/board_trhubv3l/0008-board-amlogic-jethub-j100-fix-common-config-header.patch new file mode 100644 index 000000000..cca638d64 --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0008-board-amlogic-jethub-j100-fix-common-config-header.patch @@ -0,0 +1,28 @@ +From f55573d59d5bbe04046bb1a4f7b61a64ae5f3f78 Mon Sep 17 00:00:00 2001 +From: Viacheslav Bocharov +Date: Mon, 26 Feb 2024 18:06:30 +0300 +Subject: [PATCH 8/8] board: amlogic: jethub j100: fix common config header + +Fix JetHub board sequence to read correct gpio for rescue button + +Signed-off-by: Viacheslav Bocharov +--- + include/configs/jethub.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/configs/jethub.h b/include/configs/jethub.h +index e22db4991de..2c44bfc853e 100644 +--- a/include/configs/jethub.h ++++ b/include/configs/jethub.h +@@ -11,7 +11,7 @@ + #if defined(CONFIG_MESON_AXG) + #define BOOTENV_DEV_RESCUE(devtypeu, devtypel, instance) \ + "bootcmd_rescue=" \ +- "if gpio input 10; then " \ ++ "if gpio input periphs-banks10; then " \ + "run bootcmd_mmc0; " \ + "run bootcmd_usb0;" \ + "fi;\0" +-- +2.43.2 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0010-add-thirdreality-hubv3-linuxbox-support.patch b/patch/u-boot/v2023.10/board_trhubv3l/0010-add-thirdreality-hubv3-linuxbox-support.patch new file mode 100644 index 000000000..26858c5eb --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0010-add-thirdreality-hubv3-linuxbox-support.patch @@ -0,0 +1,1658 @@ +From 5f4ad83874ede037fc03e5e37394f8e4a55ac8e8 Mon Sep 17 00:00:00 2001 +From: "guoping.liu" +Date: Thu, 15 Jan 2026 16:19:57 +0800 +Subject: [PATCH] add thirdreality-hubv3-linuxbox support + +--- + arch/arm/dts/Makefile | 2 + + .../dts/meson-axg-thirdreality-trhub-v3.dts | 338 ++++++++++++++++++ + .../dts/meson-axg-thirdreality-trhub-v3b.dts | 332 +++++++++++++++++ + board/amlogic/jethub-j100/jethub-j100.c | 9 +- + board/amlogic/trhub-v3/MAINTAINERS | 8 + + board/amlogic/trhub-v3/Makefile | 3 + + board/amlogic/trhub-v3/trhub-v3.c | 205 +++++++++++ + board/amlogic/trhub-v3b/MAINTAINERS | 8 + + board/amlogic/trhub-v3b/Makefile | 3 + + board/amlogic/trhub-v3b/trhub-v3b.c | 205 +++++++++++ + common/partitions.c | 22 +- + configs/trhub_v3_defconfig | 77 ++++ + configs/trhub_v3b_defconfig | 77 ++++ + drivers/amlogic/keymanage/key_manage.c | 4 +- + drivers/amlogic/keymanage/key_unify.c | 4 +- + drivers/amlogic/storagekey/storagekey.c | 6 +- + drivers/mmc/aml_emmc_partition.c | 5 +- + drivers/mmc/mmc.c | 12 +- + drivers/mmc/storage_emmc.c | 8 +- + include/configs/trhub.h | 35 ++ + 20 files changed, 1330 insertions(+), 33 deletions(-) + create mode 100644 arch/arm/dts/meson-axg-thirdreality-trhub-v3.dts + create mode 100644 arch/arm/dts/meson-axg-thirdreality-trhub-v3b.dts + create mode 100644 board/amlogic/trhub-v3/MAINTAINERS + create mode 100644 board/amlogic/trhub-v3/Makefile + create mode 100644 board/amlogic/trhub-v3/trhub-v3.c + create mode 100644 board/amlogic/trhub-v3b/MAINTAINERS + create mode 100644 board/amlogic/trhub-v3b/Makefile + create mode 100644 board/amlogic/trhub-v3b/trhub-v3b.c + create mode 100644 configs/trhub_v3_defconfig + create mode 100644 configs/trhub_v3b_defconfig + create mode 100644 include/configs/trhub.h + +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 85fd5b1157b..c9cbd168b20 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -206,6 +206,8 @@ dtb-$(CONFIG_ARCH_MESON) += \ + meson-a1-ad401.dtb \ + meson-axg-s400.dtb \ + meson-axg-jethome-jethub-j100.dtb \ ++ meson-axg-thirdreality-trhub-v3.dtb \ ++ meson-axg-thirdreality-trhub-v3b.dtb \ + meson-gxbb-kii-pro.dtb \ + meson-gxbb-nanopi-k2.dtb \ + meson-gxbb-odroidc2.dtb \ +diff --git a/arch/arm/dts/meson-axg-thirdreality-trhub-v3.dts b/arch/arm/dts/meson-axg-thirdreality-trhub-v3.dts +new file mode 100644 +index 00000000000..624ad2ab886 +--- /dev/null ++++ b/arch/arm/dts/meson-axg-thirdreality-trhub-v3.dts +@@ -0,0 +1,338 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2021 Vyacheslav Bocharov ++ * Copyright (c) 2020 JetHome ++ * Author: Aleksandr Kazantsev ++ * Author: Alexey Shevelkin ++ * Author: Vyacheslav Bocharov ++ */ ++ ++/dts-v1/; ++ ++#include "meson-axg.dtsi" ++#include ++#include ++ ++/ { ++ compatible = "thirdreality,trhub-v3", "amlogic,a113x", "amlogic,meson-axg"; ++ model = "ThirdReality TRHub-V3"; ++ aliases { ++ serial0 = &uart_AO; /* Console */ ++ serial1 = &uart_A; /* UART Bluetooth */ ++ serial3 = &uart_AO_B; /* ZigBee */ ++ //serial6 = &uart_B; /* Thread */ ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ /* 2048MB RAM */ ++ memory@0 { ++ device_type = "memory"; ++ reg = <0x0 0x0 0x0 0x80000000>; ++ }; ++ ++ reserved-memory { ++ linux,cma { ++ size = <0x0 0x400000>; ++ }; ++ }; ++ ++ emmc_pwrseq: emmc-pwrseq { ++ compatible = "mmc-pwrseq-emmc"; ++ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; ++ }; ++ ++ vcc_3v3: regulator-vcc_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VCC_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vddao_3v3>; ++ regulator-always-on; ++ }; ++ ++ vcc_5v: regulator-vcc_5v { ++ compatible = "regulator-fixed"; ++ regulator-name = "VCC5V"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-always-on; ++ }; ++ ++ vddao_3v3: regulator-vddao_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDAO_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc_5v>; ++ regulator-always-on; ++ }; ++ ++ vddio_ao18: regulator-vddio_ao18 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_AO18"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vddao_3v3>; ++ regulator-always-on; ++ }; ++ ++ vddio_boot: regulator-vddio_boot { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_BOOT"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vddao_3v3>; ++ regulator-always-on; ++ }; ++ ++ usb_pwr: regulator-usb_pwr { ++ compatible = "regulator-fixed"; ++ regulator-name = "USB_PWR"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_5v>; ++ regulator-always-on; ++ }; ++ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; ++ clocks = <&wifi32k>; ++ clock-names = "ext_clock"; ++ }; ++ ++ wifi32k: wifi32k { ++ compatible = "pwm-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <32768>; ++ pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ ++ }; ++ ++ thermal-zones { ++ cpu_thermal: cpu-thermal { ++ polling-delay-passive = <250>; ++ polling-delay = <1000>; ++ thermal-sensors = <&scpi_sensors 0>; ++ trips { ++ cpu_passive: cpu-passive { ++ temperature = <70000>; /* millicelsius */ ++ hysteresis = <2000>; /* millicelsius */ ++ type = "passive"; ++ }; ++ ++ cpu_hot: cpu-hot { ++ temperature = <80000>; /* millicelsius */ ++ hysteresis = <2000>; /* millicelsius */ ++ type = "hot"; ++ }; ++ ++ cpu_critical: cpu-critical { ++ temperature = <100000>; /* millicelsius */ ++ hysteresis = <2000>; /* millicelsius */ ++ type = "critical"; ++ }; ++ }; ++ }; ++ ++ cpu_cooling_maps: cooling-maps { ++ map0 { ++ trip = <&cpu_passive>; ++ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ ++ map1 { ++ trip = <&cpu_hot>; ++ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ }; ++ }; ++ ++ onewire { ++ compatible = "w1-gpio"; ++ gpios = <&gpio GPIOA_14 GPIO_ACTIVE_HIGH>; ++ #gpio-cells = <1>; ++ }; ++}; ++ ++&efuse { ++ sn: sn@32 { ++ reg = <0x32 0x20>; ++ }; ++ ++ eth_mac: eth_mac@0 { ++ reg = <0x0 0x6>; ++ }; ++ ++ bt_mac: bt_mac@6 { ++ reg = <0x6 0x6>; ++ }; ++ ++ wifi_mac: wifi_mac@c { ++ reg = <0xc 0x6>; ++ }; ++ ++ bid: bid@12 { ++ reg = <0x12 0x20>; ++ }; ++}; ++ ++/* Internal I2C bus (on CPU module) */ ++&i2c1 { ++ status = "okay"; ++ pinctrl-0 = <&i2c1_z_pins>; ++ pinctrl-names = "default"; ++ ++ /* RTC */ ++ pcf8563: pcf8563@51 { ++ compatible = "nxp,pcf8563"; ++ reg = <0x51>; ++ status = "okay"; ++ }; ++}; ++ ++/* Peripheral I2C bus (on motherboard) */ ++&i2c_AO { ++ status = "okay"; ++ pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&pwm_ab { ++ status = "okay"; ++ pinctrl-0 = <&pwm_a_x20_pins>; ++ pinctrl-names = "default"; ++}; ++ ++/* wifi module */ ++&sd_emmc_b { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ pinctrl-0 = <&sdio_pins>; ++ pinctrl-1 = <&sdio_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ ++ bus-width = <4>; ++ cap-sd-highspeed; ++ sd-uhs-sdr104; ++ max-frequency = <200000000>; ++ non-removable; ++ disable-wp; ++ ++ mmc-pwrseq = <&sdio_pwrseq>; ++ ++ vmmc-supply = <&vddao_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++ ++ brcmf: wifi@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; ++}; ++ ++/* emmc storage */ ++&sd_emmc_c { ++ status = "okay"; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; ++ pinctrl-1 = <&emmc_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ ++ bus-width = <8>; ++ cap-mmc-highspeed; ++ max-frequency = <200000000>; ++ non-removable; ++ disable-wp; ++ mmc-ddr-1_8v; ++ mmc-hs200-1_8v; ++ ++ mmc-pwrseq = <&emmc_pwrseq>; ++ ++ vmmc-supply = <&vcc_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++}; ++ ++/* UART Bluetooth */ ++&uart_B { ++ status = "okay"; ++ pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>; ++ pinctrl-names = "default"; ++ uart-has-rtscts; ++ ++ bluetooth { ++ compatible = "brcm,bcm43438-bt"; ++ shutdown-gpios = <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>; ++ }; ++}; ++ ++/* UART Console */ ++&uart_AO { ++ status = "okay"; ++ pinctrl-0 = <&uart_ao_a_pins>; ++ pinctrl-names = "default"; ++}; ++ ++/* Zigbee */ ++&uart_AO_B { ++ status = "okay"; ++ pinctrl-0 = <&uart_ao_b_z_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&usb { ++ status = "okay"; ++ phy-supply = <&usb_pwr>; ++}; ++ ++&spicc1 { ++ status = "okay"; ++ pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&gpio { ++ gpio-line-names = ++ "", "", "", "", "", // 0 - 4 ++ "", "", "", "", "", // 5 - 9 ++ "", "", "", "", "", // 10 - 14 ++ "", "", "", "", "", // 15 - 19 ++ "", "", "", "", "", // 20 - 24 ++ "", "", "", "", "", // 25 - 29 ++ "", "", "", "", "", // 30 - 34 ++ "", "", "", "", "", // 35 - 39 ++ "", "", "", "", "", // 40 - 44 ++ "", "", "", "", "", // 45 - 49 ++ "", "", "", "", "", // 50 - 54 ++ "", "", "", "", "", // 55 - 59 ++ "", "", "", "", "", // 60 - 64 ++ "", "", "", "", "", // 65 - 69 ++ "", "", "", "", "", // 70 - 74 ++ "", "", "", "", "", // 75 - 79 ++ "", "", "", "", "", // 80 - 84 ++ "", ""; // 85-86 ++}; ++ ++&cpu0 { ++ #cooling-cells = <2>; ++}; ++ ++&cpu1 { ++ #cooling-cells = <2>; ++}; ++ ++&cpu2 { ++ #cooling-cells = <2>; ++}; ++ ++&cpu3 { ++ #cooling-cells = <2>; ++}; +diff --git a/arch/arm/dts/meson-axg-thirdreality-trhub-v3b.dts b/arch/arm/dts/meson-axg-thirdreality-trhub-v3b.dts +new file mode 100644 +index 00000000000..f683b585ef4 +--- /dev/null ++++ b/arch/arm/dts/meson-axg-thirdreality-trhub-v3b.dts +@@ -0,0 +1,332 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2021 Vyacheslav Bocharov ++ * Copyright (c) 2020 JetHome ++ * Author: Aleksandr Kazantsev ++ * Author: Alexey Shevelkin ++ * Author: Vyacheslav Bocharov ++ */ ++ ++/dts-v1/; ++ ++#include "meson-axg.dtsi" ++#include ++#include ++ ++/ { ++ compatible = "thirdreality,trhub-v3b", "amlogic,a113x", "amlogic,meson-axg"; ++ model = "ThirdReality TRHub-V3b"; ++ aliases { ++ serial0 = &uart_AO; /* Console */ ++ serial1 = &uart_A; /* UART Bluetooth */ ++ serial3 = &uart_AO_B; /* ZigBee */ ++ //serial6 = &uart_B; /* Thread */ ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ /* 1024MB RAM */ ++ memory@0 { ++ device_type = "memory"; ++ reg = <0x0 0x0 0x0 0x40000000>; ++ }; ++ ++ reserved-memory { ++ linux,cma { ++ size = <0x0 0x400000>; ++ }; ++ }; ++ ++ emmc_pwrseq: emmc-pwrseq { ++ compatible = "mmc-pwrseq-emmc"; ++ reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; ++ }; ++ ++ vcc_3v3: regulator-vcc_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VCC_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vddao_3v3>; ++ regulator-always-on; ++ }; ++ ++ vcc_5v: regulator-vcc_5v { ++ compatible = "regulator-fixed"; ++ regulator-name = "VCC5V"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ regulator-always-on; ++ }; ++ ++ vddao_3v3: regulator-vddao_3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDAO_3V3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc_5v>; ++ regulator-always-on; ++ }; ++ ++ vddio_ao18: regulator-vddio_ao18 { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_AO18"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vddao_3v3>; ++ regulator-always-on; ++ }; ++ ++ vddio_boot: regulator-vddio_boot { ++ compatible = "regulator-fixed"; ++ regulator-name = "VDDIO_BOOT"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vddao_3v3>; ++ regulator-always-on; ++ }; ++ ++ usb_pwr: regulator-usb_pwr { ++ compatible = "regulator-fixed"; ++ regulator-name = "USB_PWR"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_5v>; ++ regulator-always-on; ++ }; ++ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; ++ clocks = <&wifi32k>; ++ clock-names = "ext_clock"; ++ }; ++ ++ wifi32k: wifi32k { ++ compatible = "pwm-clock"; ++ #clock-cells = <0>; ++ clock-frequency = <32768>; ++ pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ ++ }; ++ ++ thermal-zones { ++ cpu_thermal: cpu-thermal { ++ polling-delay-passive = <250>; ++ polling-delay = <1000>; ++ thermal-sensors = <&scpi_sensors 0>; ++ trips { ++ cpu_passive: cpu-passive { ++ temperature = <70000>; /* millicelsius */ ++ hysteresis = <2000>; /* millicelsius */ ++ type = "passive"; ++ }; ++ ++ cpu_hot: cpu-hot { ++ temperature = <80000>; /* millicelsius */ ++ hysteresis = <2000>; /* millicelsius */ ++ type = "hot"; ++ }; ++ ++ cpu_critical: cpu-critical { ++ temperature = <100000>; /* millicelsius */ ++ hysteresis = <2000>; /* millicelsius */ ++ type = "critical"; ++ }; ++ }; ++ }; ++ ++ cpu_cooling_maps: cooling-maps { ++ map0 { ++ trip = <&cpu_passive>; ++ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ ++ map1 { ++ trip = <&cpu_hot>; ++ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, ++ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ }; ++ }; ++}; ++ ++&efuse { ++ sn: sn@32 { ++ reg = <0x32 0x20>; ++ }; ++ ++ eth_mac: eth_mac@0 { ++ reg = <0x0 0x6>; ++ }; ++ ++ bt_mac: bt_mac@6 { ++ reg = <0x6 0x6>; ++ }; ++ ++ wifi_mac: wifi_mac@c { ++ reg = <0xc 0x6>; ++ }; ++ ++ bid: bid@12 { ++ reg = <0x12 0x20>; ++ }; ++}; ++ ++/* Internal I2C bus (on CPU module) */ ++&i2c1 { ++ status = "okay"; ++ pinctrl-0 = <&i2c1_z_pins>; ++ pinctrl-names = "default"; ++ ++ /* RTC */ ++ pcf8563: pcf8563@51 { ++ compatible = "nxp,pcf8563"; ++ reg = <0x51>; ++ status = "okay"; ++ }; ++}; ++ ++/* Peripheral I2C bus (on motherboard) */ ++&i2c_AO { ++ status = "okay"; ++ pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&pwm_ab { ++ status = "okay"; ++ pinctrl-0 = <&pwm_a_x20_pins>; ++ pinctrl-names = "default"; ++}; ++ ++/* wifi module */ ++&sd_emmc_b { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ pinctrl-0 = <&sdio_pins>; ++ pinctrl-1 = <&sdio_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ ++ bus-width = <4>; ++ cap-sd-highspeed; ++ sd-uhs-sdr104; ++ max-frequency = <200000000>; ++ non-removable; ++ disable-wp; ++ ++ mmc-pwrseq = <&sdio_pwrseq>; ++ ++ vmmc-supply = <&vddao_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++ ++ brcmf: wifi@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; ++}; ++ ++/* emmc storage */ ++&sd_emmc_c { ++ status = "okay"; ++ pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; ++ pinctrl-1 = <&emmc_clk_gate_pins>; ++ pinctrl-names = "default", "clk-gate"; ++ ++ bus-width = <8>; ++ cap-mmc-highspeed; ++ max-frequency = <200000000>; ++ non-removable; ++ disable-wp; ++ mmc-ddr-1_8v; ++ mmc-hs200-1_8v; ++ ++ mmc-pwrseq = <&emmc_pwrseq>; ++ ++ vmmc-supply = <&vcc_3v3>; ++ vqmmc-supply = <&vddio_boot>; ++}; ++ ++/* UART Bluetooth */ ++&uart_B { ++ status = "okay"; ++ pinctrl-0 = <&uart_b_z_pins>, <&uart_b_z_cts_rts_pins>; ++ pinctrl-names = "default"; ++ uart-has-rtscts; ++ ++ bluetooth { ++ compatible = "brcm,bcm43438-bt"; ++ shutdown-gpios = <&gpio GPIOZ_7 GPIO_ACTIVE_HIGH>; ++ }; ++}; ++ ++/* UART Console */ ++&uart_AO { ++ status = "okay"; ++ pinctrl-0 = <&uart_ao_a_pins>; ++ pinctrl-names = "default"; ++}; ++ ++/* UART Wireless module */ ++&uart_AO_B { ++ status = "okay"; ++ pinctrl-0 = <&uart_ao_b_z_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&usb { ++ status = "okay"; ++ phy-supply = <&usb_pwr>; ++}; ++ ++&spicc1 { ++ status = "okay"; ++ pinctrl-0 = <&spi1_x_pins>, <&spi1_ss0_x_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&gpio { ++ gpio-line-names = ++ "", "", "", "", "", // 0 - 4 ++ "", "", "", "", "", // 5 - 9 ++ "", "", "", "", "", // 10 - 14 ++ "", "", "", "", "", // 15 - 19 ++ "", "", "", "", "", // 20 - 24 ++ "", "", "", "", "", // 25 - 29 ++ "", "", "", "", "", // 30 - 34 ++ "", "", "", "", "", // 35 - 39 ++ "", "", "", "", "", // 40 - 44 ++ "", "", "", "", "", // 45 - 49 ++ "", "", "", "", "", // 50 - 54 ++ "", "", "", "", "", // 55 - 59 ++ "", "", "", "", "", // 60 - 64 ++ "", "", "", "", "", // 65 - 69 ++ "", "", "", "", "", // 70 - 74 ++ "", "", "", "", "", // 75 - 79 ++ "", "", "", "", "", // 80 - 84 ++ "", ""; // 85-86 ++}; ++ ++&cpu0 { ++ #cooling-cells = <2>; ++}; ++ ++&cpu1 { ++ #cooling-cells = <2>; ++}; ++ ++&cpu2 { ++ #cooling-cells = <2>; ++}; ++ ++&cpu3 { ++ #cooling-cells = <2>; ++}; +diff --git a/board/amlogic/jethub-j100/jethub-j100.c b/board/amlogic/jethub-j100/jethub-j100.c +index 0d1cb6b21dc..53833e38232 100644 +--- a/board/amlogic/jethub-j100/jethub-j100.c ++++ b/board/amlogic/jethub-j100/jethub-j100.c +@@ -69,10 +69,11 @@ int misc_init_r(void) + sprintf(_cmdbuf,"env set ethaddr %s", keydata); + ret = run_command(_cmdbuf, 0); + mac_addr[0] = (char) 0x01; +- } else +- { +- printf("keyman read mac failed\n"); +- } ++ } ++ //else ++ //{ ++ // printf("keyman read mac failed\n"); ++ //} + } + } + +diff --git a/board/amlogic/trhub-v3/MAINTAINERS b/board/amlogic/trhub-v3/MAINTAINERS +new file mode 100644 +index 00000000000..43f6a5fc86b +--- /dev/null ++++ b/board/amlogic/trhub-v3/MAINTAINERS +@@ -0,0 +1,8 @@ ++JetHome JetHub ++M: Vyacheslav Bocharov ++S: Maintained ++L: u-boot-amlogic@groups.io ++F: board/amlogic/jethub-j100/ ++F: configs/jethub_j100_defconfig ++F: doc/board/amlogic/jethub-j100.rst ++F: include/configs/jethub.h +diff --git a/board/amlogic/trhub-v3/Makefile b/board/amlogic/trhub-v3/Makefile +new file mode 100644 +index 00000000000..9c7a3b1961d +--- /dev/null ++++ b/board/amlogic/trhub-v3/Makefile +@@ -0,0 +1,3 @@ ++# SPDX-License-Identifier: GPL-2.0+ ++ ++obj-y := trhub-v3.o +diff --git a/board/amlogic/trhub-v3/trhub-v3.c b/board/amlogic/trhub-v3/trhub-v3.c +new file mode 100644 +index 00000000000..7776a46d967 +--- /dev/null ++++ b/board/amlogic/trhub-v3/trhub-v3.c +@@ -0,0 +1,205 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2021 Vyacheslav Bocharov ++ * Author: Vyacheslav Bocharov ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++#define RGB_RED_GPIO 89 ++#define RGB_GREEN_GPIO 4 ++#define RGB_BLUE_GPIO 5 ++ ++ ++// GPIOZ_9 --> 9 ++#define ZIGBEE_RXD_GPIO 9 ++ ++// GPIOX_17 --> 64 ++#define THREAD_RXD_GPIO 64 ++ ++ ++ ++/* RGB LED 初始化函数 */ ++static int rgb_led_init(void) ++{ ++ int ret; ++ ++ /* 初始化红色 LED GPIO - 直接设置为高电平 */ ++ ret = gpio_request(RGB_RED_GPIO, "rgb_red"); ++ if (ret) { ++ printf("RGB LED: Failed to request red GPIO %d\n", RGB_RED_GPIO); ++ return ret; ++ } ++ gpio_direction_output(RGB_RED_GPIO, 1); ++ ++ /* 初始化绿色 LED GPIO - 直接设置为高电平 */ ++ ret = gpio_request(RGB_GREEN_GPIO, "rgb_green"); ++ if (ret) { ++ printf("RGB LED: Failed to request green GPIO %d\n", RGB_GREEN_GPIO); ++ goto err_green; ++ } ++ gpio_direction_output(RGB_GREEN_GPIO, 1); ++ ++ /* 初始化蓝色 LED GPIO - 直接设置为高电平 */ ++ ret = gpio_request(RGB_BLUE_GPIO, "rgb_blue"); ++ if (ret) { ++ printf("RGB LED: Failed to request blue GPIO %d\n", RGB_BLUE_GPIO); ++ goto err_blue; ++ } ++ gpio_direction_output(RGB_BLUE_GPIO, 1); ++ ++ printf("RGB LED initialized successfully (all pins set to HIGH)\n"); ++ return 0; ++ ++err_blue: ++ gpio_free(RGB_GREEN_GPIO); ++err_green: ++ gpio_free(RGB_RED_GPIO); ++ return ret; ++} ++ ++/* GPIO 输入初始化函数 */ ++static int gpio_input_init(void) ++{ ++ int ret; ++ ++ /* 初始化 ZIGBEE_RXD_GPIO - 设置为输入模式 */ ++ ret = gpio_request(ZIGBEE_RXD_GPIO, "zigbee_rxd"); ++ if (ret) { ++ printf("GPIO INPUT: Failed to request ZIGBEE_RXD GPIO %d\n", ZIGBEE_RXD_GPIO); ++ return ret; ++ } ++ gpio_direction_input(ZIGBEE_RXD_GPIO); ++ ++ /* 初始化 THREAD_RXD_GPIO - 设置为输入模式 */ ++ ret = gpio_request(THREAD_RXD_GPIO, "thread_rxd"); ++ if (ret) { ++ printf("GPIO INPUT: Failed to request THREAD_RXD GPIO %d\n", THREAD_RXD_GPIO); ++ goto err_thread; ++ } ++ gpio_direction_input(THREAD_RXD_GPIO); ++ ++ printf("GPIO inputs initialized successfully (ZIGBEE_RXD: %d, THREAD_RXD: %d)\n", ++ ZIGBEE_RXD_GPIO, THREAD_RXD_GPIO); ++ return 0; ++ ++err_thread: ++ gpio_free(ZIGBEE_RXD_GPIO); ++ return ret; ++} ++ ++ ++int misc_init_r(void) ++{ ++ u8 mac_addr[ARP_HLEN]; ++ char serial[SM_SERIAL_SIZE]; ++ u32 sid; ++ int ret; ++ ++ char _cmdbuf[96]; ++ char keyname[32]; ++ char keydata[256]; ++ int ver=0; ++ ++ /* 初始化 RGB LED */ ++ ret = rgb_led_init(); ++ if (ret) { ++ printf("Warning: RGB LED initialization failed\n"); ++ } else { ++ /* RGB LED 初始化时已经设置为白色(所有引脚为高电平) */ ++ printf("RGB LED initialized as WHITE (all pins HIGH)\n"); ++ } ++ ++ /* 初始化 GPIO 输入引脚 */ ++ ret = gpio_input_init(); ++ if (ret) { ++ printf("Warning: GPIO input initialization failed\n"); ++ } else { ++ printf("GPIO inputs initialized successfully\n"); ++ } ++ ++ memset (mac_addr,0, sizeof(mac_addr)); ++ sprintf(_cmdbuf, "store init"); ++ if(!run_command(_cmdbuf, 0)) ++ { ++ sprintf(_cmdbuf, "keyman init 0x1234"); ++ if(!run_command(_cmdbuf, 0)) ++ { ++ strcpy(keyname, "usid"); ++ memset (keydata, 0, sizeof(keydata)); ++ sprintf(_cmdbuf, "keyman read %s %p str", keyname, keydata); ++ ret = run_command(_cmdbuf, 0); ++ if (!ret) ++ { ++#if 0 ++ // j100__04012201sw00016142005c ++ // 0123456789 ++ if (keydata[0] == 'j') ++ { ++ if (keydata[1] == '1') ++ { ++ sprintf(_cmdbuf, "%c%c",keydata[6],keydata[7]); ++ env_set("hwrev", _cmdbuf); ++ sprintf(_cmdbuf, "%c%c",keydata[8],keydata[9]); ++ env_set("perev", _cmdbuf); ++ } ++ } ++#endif ++ } ++ ++ // get serial ++ strcpy(keyname, "serial"); ++ memset (keydata, 0, sizeof(keydata)); ++ sprintf(_cmdbuf, "keyman read %s %p str", keyname, keydata); ++ ret = run_command(_cmdbuf, 0); ++ ++ // get mac ++ strcpy(keyname, "mac"); ++ memset (keydata, 0, sizeof(keydata)); ++ sprintf(_cmdbuf, "keyman read %s %#p str", keyname, keydata); ++ ret = run_command(_cmdbuf, 0); ++ if (keydata[2]==':') ++ { ++ keydata[17] = (char) 0x00; ++ sprintf(_cmdbuf,"env set ethaddr %s", keydata); ++ ret = run_command(_cmdbuf, 0); ++ mac_addr[0] = (char) 0x01; ++ } ++ //else ++ //{ ++ // printf("keyman read mac failed\n"); ++ //} ++ } ++ } ++ ++ if (mac_addr[0]==0) ++ if (!meson_sm_get_serial(serial, SM_SERIAL_SIZE)) { ++ sid = crc32(0, (unsigned char *)serial, SM_SERIAL_SIZE); ++ /* Ensure the NIC specific bytes of the mac are not all 0 */ ++ if ((sid & 0xffff) == 0) ++ sid |= 0x800000; ++ ++ /* OUI registered MAC address */ ++ mac_addr[0] = 0x10; ++ mac_addr[1] = 0x27; ++ mac_addr[2] = 0xBE; ++ mac_addr[3] = (sid >> 16) & 0xff; ++ mac_addr[4] = (sid >> 8) & 0xff; ++ mac_addr[5] = (sid >> 0) & 0xff; ++ eth_env_set_enetaddr("ethaddr", mac_addr); ++ } ++ ++ return 0; ++} +diff --git a/board/amlogic/trhub-v3b/MAINTAINERS b/board/amlogic/trhub-v3b/MAINTAINERS +new file mode 100644 +index 00000000000..43f6a5fc86b +--- /dev/null ++++ b/board/amlogic/trhub-v3b/MAINTAINERS +@@ -0,0 +1,8 @@ ++JetHome JetHub ++M: Vyacheslav Bocharov ++S: Maintained ++L: u-boot-amlogic@groups.io ++F: board/amlogic/jethub-j100/ ++F: configs/jethub_j100_defconfig ++F: doc/board/amlogic/jethub-j100.rst ++F: include/configs/jethub.h +diff --git a/board/amlogic/trhub-v3b/Makefile b/board/amlogic/trhub-v3b/Makefile +new file mode 100644 +index 00000000000..e33f617eb7d +--- /dev/null ++++ b/board/amlogic/trhub-v3b/Makefile +@@ -0,0 +1,3 @@ ++# SPDX-License-Identifier: GPL-2.0+ ++ ++obj-y := trhub-v3b.o +diff --git a/board/amlogic/trhub-v3b/trhub-v3b.c b/board/amlogic/trhub-v3b/trhub-v3b.c +new file mode 100644 +index 00000000000..7776a46d967 +--- /dev/null ++++ b/board/amlogic/trhub-v3b/trhub-v3b.c +@@ -0,0 +1,205 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2021 Vyacheslav Bocharov ++ * Author: Vyacheslav Bocharov ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++#define RGB_RED_GPIO 89 ++#define RGB_GREEN_GPIO 4 ++#define RGB_BLUE_GPIO 5 ++ ++ ++// GPIOZ_9 --> 9 ++#define ZIGBEE_RXD_GPIO 9 ++ ++// GPIOX_17 --> 64 ++#define THREAD_RXD_GPIO 64 ++ ++ ++ ++/* RGB LED 初始化函数 */ ++static int rgb_led_init(void) ++{ ++ int ret; ++ ++ /* 初始化红色 LED GPIO - 直接设置为高电平 */ ++ ret = gpio_request(RGB_RED_GPIO, "rgb_red"); ++ if (ret) { ++ printf("RGB LED: Failed to request red GPIO %d\n", RGB_RED_GPIO); ++ return ret; ++ } ++ gpio_direction_output(RGB_RED_GPIO, 1); ++ ++ /* 初始化绿色 LED GPIO - 直接设置为高电平 */ ++ ret = gpio_request(RGB_GREEN_GPIO, "rgb_green"); ++ if (ret) { ++ printf("RGB LED: Failed to request green GPIO %d\n", RGB_GREEN_GPIO); ++ goto err_green; ++ } ++ gpio_direction_output(RGB_GREEN_GPIO, 1); ++ ++ /* 初始化蓝色 LED GPIO - 直接设置为高电平 */ ++ ret = gpio_request(RGB_BLUE_GPIO, "rgb_blue"); ++ if (ret) { ++ printf("RGB LED: Failed to request blue GPIO %d\n", RGB_BLUE_GPIO); ++ goto err_blue; ++ } ++ gpio_direction_output(RGB_BLUE_GPIO, 1); ++ ++ printf("RGB LED initialized successfully (all pins set to HIGH)\n"); ++ return 0; ++ ++err_blue: ++ gpio_free(RGB_GREEN_GPIO); ++err_green: ++ gpio_free(RGB_RED_GPIO); ++ return ret; ++} ++ ++/* GPIO 输入初始化函数 */ ++static int gpio_input_init(void) ++{ ++ int ret; ++ ++ /* 初始化 ZIGBEE_RXD_GPIO - 设置为输入模式 */ ++ ret = gpio_request(ZIGBEE_RXD_GPIO, "zigbee_rxd"); ++ if (ret) { ++ printf("GPIO INPUT: Failed to request ZIGBEE_RXD GPIO %d\n", ZIGBEE_RXD_GPIO); ++ return ret; ++ } ++ gpio_direction_input(ZIGBEE_RXD_GPIO); ++ ++ /* 初始化 THREAD_RXD_GPIO - 设置为输入模式 */ ++ ret = gpio_request(THREAD_RXD_GPIO, "thread_rxd"); ++ if (ret) { ++ printf("GPIO INPUT: Failed to request THREAD_RXD GPIO %d\n", THREAD_RXD_GPIO); ++ goto err_thread; ++ } ++ gpio_direction_input(THREAD_RXD_GPIO); ++ ++ printf("GPIO inputs initialized successfully (ZIGBEE_RXD: %d, THREAD_RXD: %d)\n", ++ ZIGBEE_RXD_GPIO, THREAD_RXD_GPIO); ++ return 0; ++ ++err_thread: ++ gpio_free(ZIGBEE_RXD_GPIO); ++ return ret; ++} ++ ++ ++int misc_init_r(void) ++{ ++ u8 mac_addr[ARP_HLEN]; ++ char serial[SM_SERIAL_SIZE]; ++ u32 sid; ++ int ret; ++ ++ char _cmdbuf[96]; ++ char keyname[32]; ++ char keydata[256]; ++ int ver=0; ++ ++ /* 初始化 RGB LED */ ++ ret = rgb_led_init(); ++ if (ret) { ++ printf("Warning: RGB LED initialization failed\n"); ++ } else { ++ /* RGB LED 初始化时已经设置为白色(所有引脚为高电平) */ ++ printf("RGB LED initialized as WHITE (all pins HIGH)\n"); ++ } ++ ++ /* 初始化 GPIO 输入引脚 */ ++ ret = gpio_input_init(); ++ if (ret) { ++ printf("Warning: GPIO input initialization failed\n"); ++ } else { ++ printf("GPIO inputs initialized successfully\n"); ++ } ++ ++ memset (mac_addr,0, sizeof(mac_addr)); ++ sprintf(_cmdbuf, "store init"); ++ if(!run_command(_cmdbuf, 0)) ++ { ++ sprintf(_cmdbuf, "keyman init 0x1234"); ++ if(!run_command(_cmdbuf, 0)) ++ { ++ strcpy(keyname, "usid"); ++ memset (keydata, 0, sizeof(keydata)); ++ sprintf(_cmdbuf, "keyman read %s %p str", keyname, keydata); ++ ret = run_command(_cmdbuf, 0); ++ if (!ret) ++ { ++#if 0 ++ // j100__04012201sw00016142005c ++ // 0123456789 ++ if (keydata[0] == 'j') ++ { ++ if (keydata[1] == '1') ++ { ++ sprintf(_cmdbuf, "%c%c",keydata[6],keydata[7]); ++ env_set("hwrev", _cmdbuf); ++ sprintf(_cmdbuf, "%c%c",keydata[8],keydata[9]); ++ env_set("perev", _cmdbuf); ++ } ++ } ++#endif ++ } ++ ++ // get serial ++ strcpy(keyname, "serial"); ++ memset (keydata, 0, sizeof(keydata)); ++ sprintf(_cmdbuf, "keyman read %s %p str", keyname, keydata); ++ ret = run_command(_cmdbuf, 0); ++ ++ // get mac ++ strcpy(keyname, "mac"); ++ memset (keydata, 0, sizeof(keydata)); ++ sprintf(_cmdbuf, "keyman read %s %#p str", keyname, keydata); ++ ret = run_command(_cmdbuf, 0); ++ if (keydata[2]==':') ++ { ++ keydata[17] = (char) 0x00; ++ sprintf(_cmdbuf,"env set ethaddr %s", keydata); ++ ret = run_command(_cmdbuf, 0); ++ mac_addr[0] = (char) 0x01; ++ } ++ //else ++ //{ ++ // printf("keyman read mac failed\n"); ++ //} ++ } ++ } ++ ++ if (mac_addr[0]==0) ++ if (!meson_sm_get_serial(serial, SM_SERIAL_SIZE)) { ++ sid = crc32(0, (unsigned char *)serial, SM_SERIAL_SIZE); ++ /* Ensure the NIC specific bytes of the mac are not all 0 */ ++ if ((sid & 0xffff) == 0) ++ sid |= 0x800000; ++ ++ /* OUI registered MAC address */ ++ mac_addr[0] = 0x10; ++ mac_addr[1] = 0x27; ++ mac_addr[2] = 0xBE; ++ mac_addr[3] = (sid >> 16) & 0xff; ++ mac_addr[4] = (sid >> 8) & 0xff; ++ mac_addr[5] = (sid >> 0) & 0xff; ++ eth_env_set_enetaddr("ethaddr", mac_addr); ++ } ++ ++ return 0; ++} +diff --git a/common/partitions.c b/common/partitions.c +index 25ad5e447d8..35293599eaa 100644 +--- a/common/partitions.c ++++ b/common/partitions.c +@@ -69,7 +69,7 @@ int check_valid_dts(unsigned char *buffer) + flush_cache((unsigned long)sbuffer, AML_DTB_IMG_MAX_SZ); + ret = aml_sec_boot_check(AML_D_P_IMG_DECRYPT, (long unsigned)sbuffer, AML_DTB_IMG_MAX_SZ, 0); + if (ret) { +- printf("\n %s() %d: Decrypt dtb: Sig Check %d\n", __func__, __LINE__, ret); ++ //printf("\n %s() %d: Decrypt dtb: Sig Check %d\n", __func__, __LINE__, ret); + return -__LINE__; + } + memcpy(buffer, sbuffer, AML_DTB_IMG_MAX_SZ); +@@ -79,10 +79,10 @@ int check_valid_dts(unsigned char *buffer) + #else + dt_addr = (char *)buffer; + #endif +- pr_debug("start dts,buffer=%p,dt_addr=%p\n", buffer, dt_addr); ++ //pr_debug("start dts,buffer=%p,dt_addr=%p\n", buffer, dt_addr); + ret = fdt_check_header(dt_addr); +- if ( ret < 0 ) +- printf("%s: %s\n",__func__,fdt_strerror(ret)); ++ //if ( ret < 0 ) ++ // printf("%s: %s\n",__func__,fdt_strerror(ret)); + /* fixme, is it 0 when ok? */ + return ret; + } +@@ -104,10 +104,10 @@ int get_partition_from_dts(unsigned char *buffer) + goto _err; + + ret = check_valid_dts(buffer); +- printf("%s() %d: ret %d\n",__func__, __LINE__, ret); ++ //printf("%s() %d: ret %d\n",__func__, __LINE__, ret); + if ( ret < 0 ) + { +- printf("%s() %d: ret %d\n",__func__, __LINE__, ret); ++ //printf("%s() %d: ret %d\n",__func__, __LINE__, ret); + goto _err; + } + #ifdef CONFIG_MULTI_DTB +@@ -118,18 +118,18 @@ int get_partition_from_dts(unsigned char *buffer) + nodeoffset = fdt_path_offset(dt_addr, "/partitions"); + if (nodeoffset < 0) + { +- printf("%s: not find /partitions node %s.\n",__func__,fdt_strerror(nodeoffset)); ++ //printf("%s: not find /partitions node %s.\n",__func__,fdt_strerror(nodeoffset)); + ret = -1; + goto _err; + } + parts_num = (int *)fdt_getprop(dt_addr, nodeoffset, "parts", NULL); +- printf("parts: %d\n",be32_to_cpup((u32*)parts_num)); ++ //printf("parts: %d\n",be32_to_cpup((u32*)parts_num)); + + if (parts_num > 0) + { + part_table = (struct partitions *)malloc(sizeof(struct partitions)*(be32_to_cpup((u32*)parts_num))); + if (!part_table) { +- printk("%s part_table alloc _err\n",__func__); ++ //printk("%s part_table alloc _err\n",__func__); + //kfree(data); + return -1; + } +@@ -146,13 +146,13 @@ int get_partition_from_dts(unsigned char *buffer) + + phandle = fdt_getprop(dt_addr, nodeoffset, propname, NULL); + if (!phandle) { +- printf("don't find match part-%d\n",index); ++ //printf("don't find match part-%d\n",index); + goto _err; + } + if (phandle) { + poffset = fdt_node_offset_by_phandle(dt_addr, be32_to_cpup((u32*)phandle)); + if (!poffset) { +- printf("%s:%d,can't find device node\n",__func__,__LINE__); ++ //printf("%s:%d,can't find device node\n",__func__,__LINE__); + goto _err; + } + } +diff --git a/configs/trhub_v3_defconfig b/configs/trhub_v3_defconfig +new file mode 100644 +index 00000000000..bd78e5c7917 +--- /dev/null ++++ b/configs/trhub_v3_defconfig +@@ -0,0 +1,77 @@ ++CONFIG_ARM=y ++CONFIG_SYS_BOARD="trhub-v3" ++CONFIG_SYS_CONFIG_NAME="trhub" ++CONFIG_ARCH_MESON=y ++CONFIG_TEXT_BASE=0x01000000 ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y ++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x20000000 ++CONFIG_ENV_SIZE=0x2000 ++CONFIG_DM_GPIO=y ++CONFIG_DEFAULT_DEVICE_TREE="meson-axg-thirdreality-trhub-v3" ++CONFIG_OF_LIBFDT_OVERLAY=y ++CONFIG_DM_RESET=y ++CONFIG_MESON_AXG=y ++CONFIG_DEBUG_UART_BASE=0xff803000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_IDENT_STRING=" trhubv3" ++CONFIG_SYS_LOAD_ADDR=0x01000000 ++CONFIG_DEBUG_UART=y ++CONFIG_REMAKE_ELF=y ++CONFIG_OF_BOARD_SETUP=y ++# CONFIG_DISPLAY_CPUINFO is not set ++CONFIG_MISC_INIT_R=y ++CONFIG_SYS_MAXARGS=32 ++# CONFIG_CMD_BDI is not set ++# CONFIG_CMD_IMI is not set ++CONFIG_CMD_EEPROM=y ++CONFIG_CMD_ADC=y ++CONFIG_CMD_GPIO=y ++CONFIG_RANDOM_UUID=y ++CONFIG_CMD_I2C=y ++# CONFIG_CMD_LOADS is not set ++CONFIG_CMD_MMC=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_USB_MASS_STORAGE=y ++CONFIG_CMD_RTC=y ++CONFIG_CMD_REGULATOR=y ++CONFIG_PARTITION_TYPE_GUID=y ++CONFIG_OF_CONTROL=y ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_SARADC_MESON=y ++CONFIG_DM_I2C=y ++CONFIG_SYS_I2C_MESON=y ++CONFIG_MMC_MESON_GX=y ++CONFIG_MTD_UBI=y ++CONFIG_PHY_REALTEK=y ++CONFIG_ETH_DESIGNWARE_MESON8B=y ++CONFIG_MESON_GXL_USB_PHY=y ++CONFIG_PINCTRL=y ++CONFIG_PINCTRL_MESON_AXG=y ++CONFIG_DM_REGULATOR=y ++CONFIG_DM_REGULATOR_FIXED=y ++CONFIG_DM_RTC=y ++CONFIG_RTC_PCF8563=y ++CONFIG_DEBUG_UART_ANNOUNCE=y ++CONFIG_DEBUG_UART_SKIP_INIT=y ++CONFIG_MESON_SERIAL=y ++CONFIG_USB=y ++CONFIG_DM_USB_GADGET=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_DWC3=y ++CONFIG_USB_DWC2=y ++CONFIG_USB_DWC3=y ++# CONFIG_USB_DWC3_GADGET is not set ++CONFIG_USB_DWC3_MESON_GXL=y ++CONFIG_USB_GADGET=y ++CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e ++CONFIG_USB_GADGET_PRODUCT_NUM=0xfada ++CONFIG_USB_GADGET_DWC2_OTG=y ++CONFIG_USB_GADGET_DOWNLOAD=y ++ ++CONFIG_AML_DRIVER=y ++CONFIG_UNIFY_KEY_MANAGE=y ++CONFIG_SECURE_STORAGE=y ++CONFIG_AML_STORAGE=y ++CONFIG_EFUSE=y ++CONFIG_AML_PARTITION=y +diff --git a/configs/trhub_v3b_defconfig b/configs/trhub_v3b_defconfig +new file mode 100644 +index 00000000000..8de72d0d500 +--- /dev/null ++++ b/configs/trhub_v3b_defconfig +@@ -0,0 +1,77 @@ ++CONFIG_ARM=y ++CONFIG_SYS_BOARD="trhub-v3b" ++CONFIG_SYS_CONFIG_NAME="trhub" ++CONFIG_ARCH_MESON=y ++CONFIG_TEXT_BASE=0x01000000 ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y ++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x20000000 ++CONFIG_ENV_SIZE=0x2000 ++CONFIG_DM_GPIO=y ++CONFIG_DEFAULT_DEVICE_TREE="meson-axg-thirdreality-trhub-v3b" ++CONFIG_OF_LIBFDT_OVERLAY=y ++CONFIG_DM_RESET=y ++CONFIG_MESON_AXG=y ++CONFIG_DEBUG_UART_BASE=0xff803000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_IDENT_STRING=" trhubv3b" ++CONFIG_SYS_LOAD_ADDR=0x01000000 ++CONFIG_DEBUG_UART=y ++CONFIG_REMAKE_ELF=y ++CONFIG_OF_BOARD_SETUP=y ++# CONFIG_DISPLAY_CPUINFO is not set ++CONFIG_MISC_INIT_R=y ++CONFIG_SYS_MAXARGS=32 ++# CONFIG_CMD_BDI is not set ++# CONFIG_CMD_IMI is not set ++CONFIG_CMD_EEPROM=y ++CONFIG_CMD_ADC=y ++CONFIG_CMD_GPIO=y ++CONFIG_RANDOM_UUID=y ++CONFIG_CMD_I2C=y ++# CONFIG_CMD_LOADS is not set ++CONFIG_CMD_MMC=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_USB_MASS_STORAGE=y ++CONFIG_CMD_RTC=y ++CONFIG_CMD_REGULATOR=y ++CONFIG_PARTITION_TYPE_GUID=y ++CONFIG_OF_CONTROL=y ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_SARADC_MESON=y ++CONFIG_DM_I2C=y ++CONFIG_SYS_I2C_MESON=y ++CONFIG_MMC_MESON_GX=y ++CONFIG_MTD_UBI=y ++CONFIG_PHY_REALTEK=y ++CONFIG_ETH_DESIGNWARE_MESON8B=y ++CONFIG_MESON_GXL_USB_PHY=y ++CONFIG_PINCTRL=y ++CONFIG_PINCTRL_MESON_AXG=y ++CONFIG_DM_REGULATOR=y ++CONFIG_DM_REGULATOR_FIXED=y ++CONFIG_DM_RTC=y ++CONFIG_RTC_PCF8563=y ++CONFIG_DEBUG_UART_ANNOUNCE=y ++CONFIG_DEBUG_UART_SKIP_INIT=y ++CONFIG_MESON_SERIAL=y ++CONFIG_USB=y ++CONFIG_DM_USB_GADGET=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_DWC3=y ++CONFIG_USB_DWC2=y ++CONFIG_USB_DWC3=y ++# CONFIG_USB_DWC3_GADGET is not set ++CONFIG_USB_DWC3_MESON_GXL=y ++CONFIG_USB_GADGET=y ++CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e ++CONFIG_USB_GADGET_PRODUCT_NUM=0xfada ++CONFIG_USB_GADGET_DWC2_OTG=y ++CONFIG_USB_GADGET_DOWNLOAD=y ++ ++CONFIG_AML_DRIVER=y ++CONFIG_UNIFY_KEY_MANAGE=y ++CONFIG_SECURE_STORAGE=y ++CONFIG_AML_STORAGE=y ++CONFIG_EFUSE=y ++CONFIG_AML_PARTITION=y +diff --git a/drivers/amlogic/keymanage/key_manage.c b/drivers/amlogic/keymanage/key_manage.c +index f8e0700b0a1..434d7a4d564 100644 +--- a/drivers/amlogic/keymanage/key_manage.c ++++ b/drivers/amlogic/keymanage/key_manage.c +@@ -396,7 +396,7 @@ int key_manage_query_size(const char* keyname, ssize_t* keysize) + return __LINE__; + } + if (!exist) { +- KM_ERR ("key[%s] not programed yet\n", keyname) ; ++ //KM_ERR ("key[%s] not programed yet\n", keyname) ; + return __LINE__; + } + +@@ -455,7 +455,7 @@ int key_manage_query_secure(const char* keyname, int* isSecure) + return __LINE__; + } + if (!exist) { +- KM_ERR ("Key[%s] not programed yet\n", keyname) ; ++ //KM_ERR ("Key[%s] not programed yet\n", keyname) ; + return __LINE__; + } + +diff --git a/drivers/amlogic/keymanage/key_unify.c b/drivers/amlogic/keymanage/key_unify.c +index 069fff08dd2..fff6d174926 100644 +--- a/drivers/amlogic/keymanage/key_unify.c ++++ b/drivers/amlogic/keymanage/key_unify.c +@@ -331,7 +331,7 @@ int key_unify_read(const char *keyname, void* keydata, const unsigned bufLen) + + int ret = theDevOps->pKeyExist(keyname); + if (!ret) { +- KM_ERR("key[%s] not programed yet\n", keyname); ++ //KM_ERR("key[%s] not programed yet\n", keyname); + return __LINE__; + } + +@@ -402,7 +402,7 @@ int key_unify_query_secure(const char* keyname, int* isSecure) + + int ret = theDevOps->pKeyExist (keyname) ; + if (!ret) { +- KM_ERR("key[%s] not programed yet\n", keyname); ++ //KM_ERR("key[%s] not programed yet\n", keyname); + return __LINE__; + } + +diff --git a/drivers/amlogic/storagekey/storagekey.c b/drivers/amlogic/storagekey/storagekey.c +index 646ad3f0ded..bca29c0fc1b 100644 +--- a/drivers/amlogic/storagekey/storagekey.c ++++ b/drivers/amlogic/storagekey/storagekey.c +@@ -68,7 +68,7 @@ static int32_t _amlkey_init(uint8_t *seed, uint32_t len, int encrypt_type) + uint32_t buffer_size, actual_size; + + /* do nothing for now*/ +- printf("%s() enter!\n", __func__); ++ //printf("%s() enter!\n", __func__); + if (storagekey_info.buffer != NULL) { + printf("%s() %d: already init!\n", __func__, __LINE__); + goto _out; +@@ -87,8 +87,8 @@ static int32_t _amlkey_init(uint8_t *seed, uint32_t len, int encrypt_type) + encrypt_type = 0; + secure_storage_set_enctype(encrypt_type); + actual_size = store_rsv_size("key"); +- printf("%s %d actual_size: 0x%x\n", __func__, __LINE__, +- actual_size); ++ //printf("%s %d actual_size: 0x%x\n", __func__, __LINE__, ++ // actual_size); + + storagekey_info.size = min_t(uint32_t, actual_size, buffer_size); + ret = store_rsv_read("key", storagekey_info.size, storagekey_info.buffer); +diff --git a/drivers/mmc/aml_emmc_partition.c b/drivers/mmc/aml_emmc_partition.c +index 550042adb35..6cf56b1718b 100644 +--- a/drivers/mmc/aml_emmc_partition.c ++++ b/drivers/mmc/aml_emmc_partition.c +@@ -39,16 +39,19 @@ DECLARE_GLOBAL_DATA_PTR; + #define CONFIG_MPT_DEBUG (0) + #define GPT_PRIORITY (1) + ++#if (CONFIG_MPT_DEBUG) + #define apt_err(fmt, ...) printf( "%s()-%d: " fmt , \ + __func__, __LINE__, ##__VA_ARGS__) + + #define apt_wrn(fmt, ...) printf( "%s()-%d: " fmt , \ + __func__, __LINE__, ##__VA_ARGS__) +-#if (CONFIG_MPT_DEBUG) ++ + /* for detail debug info */ + #define apt_info(fmt, ...) printf( "%s()-%d: " fmt , \ + __func__, __LINE__, ##__VA_ARGS__) + #else ++#define apt_err(fmt, ...) ++#define apt_wrn(fmt, ...) + #define apt_info(fmt, ...) + #endif + +diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c +index 9b275b82e14..1d317c6c57d 100644 +--- a/drivers/mmc/mmc.c ++++ b/drivers/mmc/mmc.c +@@ -3259,15 +3259,15 @@ int mmc_pattern_check(struct mmc *mmc, struct aml_pattern *table) + buf = (u32 *)addr; + crc32_s = crc32(0, (u8 *)addr, (vpart->size - 4)); + if (crc32_s != buf[vpart->size/4 - 1]) { +- printf("check %s failed,need to write\n", +- table->name); ++ //printf("check %s failed,need to write\n", ++ // table->name); + mmc_write_cali_mattern(addr, table); + n = blk_dwrite(mmc_get_blk_desc(mmc), blk, cnt, addr); +- printf("several 0x%x pattern blocks write %s\n", +- table->pattern, (n == cnt) ? "OK" : "ERROR"); ++ //printf("several 0x%x pattern blocks write %s\n", ++ // table->pattern, (n == cnt) ? "OK" : "ERROR"); + } +- printf("crc32_s:0x%x == storage crc_pattern:0x%x!!!\n", +- crc32_s, buf[vpart->size/4 - 1]); ++ //printf("crc32_s:0x%x == storage crc_pattern:0x%x!!!\n", ++ // crc32_s, buf[vpart->size/4 - 1]); + } + free(addr); + return (n == cnt) ? 0 : 1; +diff --git a/drivers/mmc/storage_emmc.c b/drivers/mmc/storage_emmc.c +index d938066e49b..437c300fabf 100644 +--- a/drivers/mmc/storage_emmc.c ++++ b/drivers/mmc/storage_emmc.c +@@ -922,9 +922,9 @@ int emmc_pre(void) + } + config_storage_dev_func(storage_dev, mmc); + store_register(storage_dev); +- printf("emmc init success!\n"); ++ //printf("emmc init success!\n"); + } else +- printf("emmc init fail!\n"); ++ //printf("emmc init fail!\n"); + return ret; + } + +@@ -935,10 +935,10 @@ int emmc_probe(uint32_t init_flag) + + ret = mmc_storage_init(init_flag); /*flag 0*/ + if (ret) { +- printf("mmc init failed ret:%x\n", ret); ++ //printf("mmc init failed ret:%x\n", ret); + goto exit_error; + } +- printf("emmc probe success\n"); ++ //printf("emmc probe success\n"); + + exit_error: + return ret; +diff --git a/include/configs/trhub.h b/include/configs/trhub.h +new file mode 100644 +index 00000000000..7c488038894 +--- /dev/null ++++ b/include/configs/trhub.h +@@ -0,0 +1,35 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++ ++#ifndef _THIRDREALITY_HUB_CONFIG_H_ ++#define _THIRDREALITY_HUB_CONFIG_H_ ++ ++#if defined(CONFIG_MESON_AXG) ++#define BOOTENV_DEV_RESCUE(devtypeu, devtypel, instance) \ ++ "bootcmd_rescue=" \ ++ "if gpio input 10; then " \ ++ "run bootcmd_usb0;" \ ++ "fi;\0" ++#else ++#define BOOTENV_DEV_RESCUE(devtypeu, devtypel, instance) \ ++ "bootcmd_rescue=" \ ++ "if test \"${userbutton}\" = \"true\"; then " \ ++ "run bootcmd_mmc0; " \ ++ "fi;\0" ++#endif ++ ++#define BOOTENV_DEV_NAME_RESCUE(devtypeu, devtypel, instance) \ ++ "rescue " ++ ++#ifndef BOOT_TARGET_DEVICES ++#define BOOT_TARGET_DEVICES(func) \ ++ func(RESCUE, rescue, na) \ ++ func(MMC, mmc, 1) \ ++ func(MMC, mmc, 0) \ ++ BOOT_TARGET_DEVICES_USB(func) \ ++ func(PXE, pxe, na) \ ++ func(DHCP, dhcp, na) ++#endif ++ ++#include ++ ++#endif /* _THIRDREALITY_HUB_CONFIG_H_ */ +-- +2.39.5 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0011-fixed-led-and-other-pin-ctrl.patch b/patch/u-boot/v2023.10/board_trhubv3l/0011-fixed-led-and-other-pin-ctrl.patch new file mode 100644 index 000000000..435203027 --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0011-fixed-led-and-other-pin-ctrl.patch @@ -0,0 +1,119 @@ +From 67ce71f819b5a4a966bad3113416a2849b84f154 Mon Sep 17 00:00:00 2001 +From: "guoping.liu" +Date: Mon, 19 Jan 2026 15:04:14 +0800 +Subject: [PATCH] fixed led and other pin ctrl + +--- + board/amlogic/trhub-v3/trhub-v3.c | 42 ++++++++++++++++++++++------- + board/amlogic/trhub-v3b/trhub-v3b.c | 25 ++++++++++------- + drivers/amlogic/keymanage/km_dts.c | 2 +- + 3 files changed, 50 insertions(+), 19 deletions(-) + +diff --git a/board/amlogic/trhub-v3/trhub-v3.c b/board/amlogic/trhub-v3/trhub-v3.c +index 7776a46d967..e8bf6420490 100644 +--- a/board/amlogic/trhub-v3/trhub-v3.c ++++ b/board/amlogic/trhub-v3/trhub-v3.c +@@ -18,16 +18,40 @@ + + #include + +-#define RGB_RED_GPIO 89 +-#define RGB_GREEN_GPIO 4 +-#define RGB_BLUE_GPIO 5 +- +- +-// GPIOZ_9 --> 9 +-#define ZIGBEE_RXD_GPIO 9 ++/* ++ * GPIO Bank 顺序在不同 U-Boot 版本中发生了变化: ++ * ++ * v2022.10: aobus-banks(0-13), periphs-banks(14-99) ++ * v2023.10: periphs-banks(0-85), aobus-banks(86-99) ++ * ++ * 硬件连接: ++ * - RGB_RED: GPIOAO_3 ++ * - RGB_GREEN: GPIOZ_4 ++ * - RGB_BLUE: GPIOZ_5 ++ * - ZIGBEE_RXD: GPIOZ_9 ++ * - THREAD_RXD: GPIOX_17 ++ * ++ * 使用 UBOOT_GPIO_BANK_V2023 宏来选择版本: ++ * - 不定义(默认): 使用 v2022.10 的 GPIO 编号 ++ * - 定义为 1: 使用 v2023.10 的 GPIO 编号 ++ */ + +-// GPIOX_17 --> 64 +-#define THREAD_RXD_GPIO 64 ++#if 1 ++/* U-Boot v2023.10+: periphs-banks(0-85), aobus-banks(86-99) */ ++#define RGB_RED_GPIO 3 //GPIOAO_3 0 + 3 = 3 ++#define RGB_GREEN_GPIO 18 //GPIOZ_4 14 + 4 = 18 ++#define RGB_BLUE_GPIO 19 //GPIOZ_5 14 + 5 = 19 ++#define ZIGBEE_RXD_GPIO 23 //GPIOZ_9 14 + 9 = 23 ++#define THREAD_RXD_GPIO 78 //GPIOX_17 47 + 17 = 64 ++#else ++/* U-Boot v2022.10: aobus-banks(0-13), periphs-banks(14-99) */ ++#define RGB_RED_GPIO 89 //GPIOAO_3 86 + 3 = 89 ++#define RGB_GREEN_GPIO 4 //GPIOZ_4 14 + 4 = 18 ++#define RGB_BLUE_GPIO 5 //GPIOZ_5 14 + 5 = 19 ++#define ZIGBEE_RXD_GPIO 9 //GPIOZ_9 14 + 9 = 23 ++#define THREAD_RXD_GPIO 64 //GPIOX_17 47 + 17 = 64 ++ ++#endif + + + +diff --git a/board/amlogic/trhub-v3b/trhub-v3b.c b/board/amlogic/trhub-v3b/trhub-v3b.c +index 7776a46d967..005ede89c74 100644 +--- a/board/amlogic/trhub-v3b/trhub-v3b.c ++++ b/board/amlogic/trhub-v3b/trhub-v3b.c +@@ -18,17 +18,24 @@ + + #include + +-#define RGB_RED_GPIO 89 +-#define RGB_GREEN_GPIO 4 +-#define RGB_BLUE_GPIO 5 ++#if 1 ++/* U-Boot v2023.10+: periphs-banks(0-85), aobus-banks(86-99) */ ++#define RGB_RED_GPIO 3 //GPIOAO_3 0 + 3 = 3 ++#define RGB_GREEN_GPIO 18 //GPIOZ_4 14 + 4 = 18 ++#define RGB_BLUE_GPIO 19 //GPIOZ_5 14 + 5 = 19 ++#define ZIGBEE_RXD_GPIO 23 //GPIOZ_9 14 + 9 = 23 ++#define THREAD_RXD_GPIO 78 //GPIOX_17 47 + 17 = 64 ++#else ++/* U-Boot v2022.10: aobus-banks(0-13), periphs-banks(14-99) */ ++#define RGB_RED_GPIO 89 //GPIOAO_3 86 + 3 = 89 ++#define RGB_GREEN_GPIO 4 //GPIOZ_4 14 + 4 = 18 ++#define RGB_BLUE_GPIO 5 //GPIOZ_5 14 + 5 = 19 ++#define ZIGBEE_RXD_GPIO 9 //GPIOZ_9 14 + 9 = 23 ++#define THREAD_RXD_GPIO 64 //GPIOX_17 47 + 17 = 64 ++ ++#endif + + +-// GPIOZ_9 --> 9 +-#define ZIGBEE_RXD_GPIO 9 +- +-// GPIOX_17 --> 64 +-#define THREAD_RXD_GPIO 64 +- + + + /* RGB LED 初始化函数 */ +diff --git a/drivers/amlogic/keymanage/km_dts.c b/drivers/amlogic/keymanage/km_dts.c +index d2a2186147a..2db0d20a649 100644 +--- a/drivers/amlogic/keymanage/km_dts.c ++++ b/drivers/amlogic/keymanage/km_dts.c +@@ -291,7 +291,7 @@ int keymanage_dts_parse(const void* dt_addr) + + nodeoffset = fdt_path_offset(dt_addr, "/unifykey"); + if (nodeoffset < 0) { +- KM_ERR("dts: err(%s) in find /unifykey.\n",fdt_strerror(nodeoffset)); ++ //KM_ERR("dts: err(%s) in find /unifykey.\n",fdt_strerror(nodeoffset)); + return __LINE__; + } + +-- +2.39.5 + diff --git a/patch/u-boot/v2023.10/board_trhubv3l/0012-add-thirdreality-hubv3l-support.patch b/patch/u-boot/v2023.10/board_trhubv3l/0012-add-thirdreality-hubv3l-support.patch new file mode 100644 index 000000000..db8452301 --- /dev/null +++ b/patch/u-boot/v2023.10/board_trhubv3l/0012-add-thirdreality-hubv3l-support.patch @@ -0,0 +1,116 @@ +From: ThirdReality +Subject: [PATCH] board: amlogic: add ThirdReality HubV3L + +HubV3L (LinuxBox-Lite MB0.5) shares the HubV3 pinout and board code; only +RAM differs (2x DDR3, 2 ranks, 1GB). Add a v3l DTS that includes v3 and +overrides /memory, plus trhub_v3l_defconfig. +--- +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -208,6 +208,7 @@ + meson-axg-jethome-jethub-j100.dtb \ + meson-axg-thirdreality-trhub-v3.dtb \ + meson-axg-thirdreality-trhub-v3b.dtb \ ++ meson-axg-thirdreality-trhub-v3l.dtb \ + meson-gxbb-kii-pro.dtb \ + meson-gxbb-nanopi-k2.dtb \ + meson-gxbb-odroidc2.dtb \ +--- a/arch/arm/dts/meson-axg-thirdreality-trhub-v3l.dts ++++ b/arch/arm/dts/meson-axg-thirdreality-trhub-v3l.dts +@@ -0,0 +1,16 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * ThirdReality HubV3L (LinuxBox-Lite MB0.5): same pinout as HubV3, ++ * 2x DDR3 16bit 2 ranks = 1GB. ++ */ ++ ++#include "meson-axg-thirdreality-trhub-v3.dts" ++ ++/ { ++ compatible = "thirdreality,trhub-v3l", "amlogic,a113x", "amlogic,meson-axg"; ++ model = "ThirdReality TRHub-V3L"; ++ ++ memory@0 { ++ reg = <0x0 0x0 0x0 0x40000000>; ++ }; ++}; +--- a/configs/trhub_v3l_defconfig ++++ b/configs/trhub_v3l_defconfig +@@ -0,0 +1,77 @@ ++CONFIG_ARM=y ++CONFIG_SYS_BOARD="trhub-v3" ++CONFIG_SYS_CONFIG_NAME="trhub" ++CONFIG_ARCH_MESON=y ++CONFIG_TEXT_BASE=0x01000000 ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y ++CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x20000000 ++CONFIG_ENV_SIZE=0x2000 ++CONFIG_DM_GPIO=y ++CONFIG_DEFAULT_DEVICE_TREE="meson-axg-thirdreality-trhub-v3l" ++CONFIG_OF_LIBFDT_OVERLAY=y ++CONFIG_DM_RESET=y ++CONFIG_MESON_AXG=y ++CONFIG_DEBUG_UART_BASE=0xff803000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_IDENT_STRING=" trhubv3l" ++CONFIG_SYS_LOAD_ADDR=0x01000000 ++CONFIG_DEBUG_UART=y ++CONFIG_REMAKE_ELF=y ++CONFIG_OF_BOARD_SETUP=y ++# CONFIG_DISPLAY_CPUINFO is not set ++CONFIG_MISC_INIT_R=y ++CONFIG_SYS_MAXARGS=32 ++# CONFIG_CMD_BDI is not set ++# CONFIG_CMD_IMI is not set ++CONFIG_CMD_EEPROM=y ++CONFIG_CMD_ADC=y ++CONFIG_CMD_GPIO=y ++CONFIG_RANDOM_UUID=y ++CONFIG_CMD_I2C=y ++# CONFIG_CMD_LOADS is not set ++CONFIG_CMD_MMC=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_USB_MASS_STORAGE=y ++CONFIG_CMD_RTC=y ++CONFIG_CMD_REGULATOR=y ++CONFIG_PARTITION_TYPE_GUID=y ++CONFIG_OF_CONTROL=y ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_SARADC_MESON=y ++CONFIG_DM_I2C=y ++CONFIG_SYS_I2C_MESON=y ++CONFIG_MMC_MESON_GX=y ++CONFIG_MTD_UBI=y ++CONFIG_PHY_REALTEK=y ++CONFIG_ETH_DESIGNWARE_MESON8B=y ++CONFIG_MESON_GXL_USB_PHY=y ++CONFIG_PINCTRL=y ++CONFIG_PINCTRL_MESON_AXG=y ++CONFIG_DM_REGULATOR=y ++CONFIG_DM_REGULATOR_FIXED=y ++CONFIG_DM_RTC=y ++CONFIG_RTC_PCF8563=y ++CONFIG_DEBUG_UART_ANNOUNCE=y ++CONFIG_DEBUG_UART_SKIP_INIT=y ++CONFIG_MESON_SERIAL=y ++CONFIG_USB=y ++CONFIG_DM_USB_GADGET=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_DWC3=y ++CONFIG_USB_DWC2=y ++CONFIG_USB_DWC3=y ++# CONFIG_USB_DWC3_GADGET is not set ++CONFIG_USB_DWC3_MESON_GXL=y ++CONFIG_USB_GADGET=y ++CONFIG_USB_GADGET_VENDOR_NUM=0x1b8e ++CONFIG_USB_GADGET_PRODUCT_NUM=0xfada ++CONFIG_USB_GADGET_DWC2_OTG=y ++CONFIG_USB_GADGET_DOWNLOAD=y ++ ++CONFIG_AML_DRIVER=y ++CONFIG_UNIFY_KEY_MANAGE=y ++CONFIG_SECURE_STORAGE=y ++CONFIG_AML_STORAGE=y ++CONFIG_EFUSE=y ++CONFIG_AML_PARTITION=y From b1448f482235dc9e8120627a47e1708afd7336b0 Mon Sep 17 00:00:00 2001 From: "guoping.liu" Date: Sat, 10 Oct 2026 17:22:46 +0800 Subject: [PATCH 5/9] fix(firstrun): Enable W155S1 WiFi/BT services on TRHub-V3L armbian-firstrun only enabled amlogicw1 and amlogicw1-bt for V3, V3B and V3A, so V3L booted with both services disabled and no wlan0. --- packages/bsp/common/usr/lib/armbian/armbian-firstrun | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bsp/common/usr/lib/armbian/armbian-firstrun b/packages/bsp/common/usr/lib/armbian/armbian-firstrun index 0b3d15436..fdcd86d43 100755 --- a/packages/bsp/common/usr/lib/armbian/armbian-firstrun +++ b/packages/bsp/common/usr/lib/armbian/armbian-firstrun @@ -118,7 +118,7 @@ case "$1" in # [[ "${LINUXFAMILY}" == meson64 ]] && set_fixed_mac # [[ "${BOARD}" == nanopi-r6* ]] && set_fixed_mac - if [[ $BOARD_NAME == "TRHub-V3" || $BOARD_NAME == "TRHub-V3B" || $BOARD_NAME == "TRHub-V3A" ]]; then + if [[ $BOARD_NAME == "TRHub-V3" || $BOARD_NAME == "TRHub-V3B" || $BOARD_NAME == "TRHub-V3A" || $BOARD_NAME == "TRHub-V3L" ]]; then systemctl enable NetworkManager systemctl enable wpa_supplicant From 0b4f2810ebc782a5effaf7088695e41799a78b0e Mon Sep 17 00:00:00 2001 From: "guoping.liu" Date: Sat, 10 Oct 2026 17:44:20 +0800 Subject: [PATCH 6/9] feat(burn): Move v3a/v3b off JetHub FIP and loaders, drop JetHub burn files - v3b = v3 hardware: FIP thirdreality-hubv3, bins/hubv3, dt-id axg_hubv3_v1 - v3a = v3l RAM (2x DDR3, 2 ranks, 1GB): FIP thirdreality-hubv3l, bins/hubv3l, dt-id axg_hubv3l_v1. Its u-boot DTS hardcoded 2GB via trhub_v3_defconfig; add trhub_v3a_defconfig + 1GB v3a DTS (0013) and make board_trhubv3a a copy of board_trhubv3l instead of a symlink to v3 - fix 1GB /memory in the v3a and v3l burn DTS - remove bins/j100 j80 j200 magicbox, JetHub DTS, non-axg dtsi/headers, convert.sh d1/d2/h1/cma and the jethubj* release cases; rewrite README - linuxbox board keeps jethub-j100 FIP (no SDK board for it) --- amlogic-tools.repo/README.md | 22 +- amlogic-tools.repo/bins/image.cfg | 17 - amlogic-tools.repo/bins/j100/DDR.USB | Bin 49152 -> 0 bytes amlogic-tools.repo/bins/j100/DDR_ENC.USB | Bin 49152 -> 0 bytes amlogic-tools.repo/bins/j100/UBOOT.USB | Bin 1123840 -> 0 bytes amlogic-tools.repo/bins/j100/UBOOT_ENC.USB | Bin 1123840 -> 0 bytes amlogic-tools.repo/bins/j100/platform.conf | 9 - amlogic-tools.repo/bins/j200/DDR.USB | Bin 1344368 -> 0 bytes amlogic-tools.repo/bins/j200/UBOOT.USB | Bin 1344368 -> 0 bytes amlogic-tools.repo/bins/j200/platform.conf | 8 - amlogic-tools.repo/bins/j80/DDR.USB | Bin 49152 -> 0 bytes amlogic-tools.repo/bins/j80/UBOOT.USB | Bin 802816 -> 0 bytes amlogic-tools.repo/bins/j80/platform.conf | 9 - amlogic-tools.repo/bins/magicbox/DDR.USB | Bin 49152 -> 0 bytes amlogic-tools.repo/bins/magicbox/DDR_ENC.USB | Bin 49152 -> 0 bytes amlogic-tools.repo/bins/magicbox/UBOOT.USB | Bin 1123840 -> 0 bytes .../bins/magicbox/UBOOT_ENC.USB | Bin 1123840 -> 0 bytes .../bins/magicbox/platform.conf | 9 - amlogic-tools.repo/bins/magicbox/u-boot.bin | Bin 1172992 -> 0 bytes .../bins/magicbox/u-boot.bin.encrypt | Bin 1173504 -> 0 bytes .../bins/magicbox/u-boot.bin.encrypt.sd.bin | Bin 1173504 -> 0 bytes .../bins/magicbox/u-boot.bin.sd.bin | Bin 1173504 -> 0 bytes amlogic-tools.repo/convert.sh | 20 +- .../dts/dt-bindings/clock/amlogic,g12a-clkc.h | 329 - .../dt-bindings/clock/amlogic,sm1-audio-clk.h | 95 - .../dts/dt-bindings/clock/gxbb-aoclkc.h | 74 - .../dts/dt-bindings/clock/gxbb-clkc.h | 151 - .../dts/dt-bindings/gpio/meson-g12a-gpio.h | 117 - .../dts/dt-bindings/gpio/meson-gxl-gpio.h | 125 - .../dts/dt-bindings/iio/adc/amlogic-saradc.h | 32 - .../dts/dt-bindings/input/meson_rc.h | 64 - .../dts/dt-bindings/phy/phy-amlogic-pcie.h | 19 - .../dts/dt-bindings/power/meson-gxbb-power.h | 13 - .../reset/amlogic,meson-gxbb-reset.h | 161 - .../dts/include/meson-g12-common.dtsi | 2957 - amlogic-tools.repo/dts/include/meson-gx.dtsi | 664 - amlogic-tools.repo/dts/include/meson-gxl.dtsi | 925 - amlogic-tools.repo/dts/include/meson-sm1.dtsi | 1286 - .../dts/include/mesong12_odroid_common.dtsi | 265 - .../dts/include/mesong12a-bifrost.dtsi | 129 - amlogic-tools.repo/dts/include/mesonsm1.dtsi | 2530 - .../dts/meson-axg-jethome-jethub-j100.dts | 354 - .../dts/meson-axg-thirdreality-trhub-v3a.dts | 6 +- .../dts/meson-axg-thirdreality-trhub-v3b.dts | 2 +- .../dts/meson-axg-thirdreality-trhub-v3l.dts | 4 +- .../meson-gxl-s905w-jethome-jethub-j80.dts | 310 - .../dts/meson-sm1-jethome-jethub-j200.dts | 1005 - config/boards/trhubv3a.conf | 4 +- config/sources/families/trhub.conf | 8 +- make-armbian-build-release.sh | 12 - ...jethome-0006-add-arm64-dts-trhub-v3a.patch | 2 +- patch/u-boot/v2023.10/board_trhubv3a | 1 - ...001-HACK-mmc-meson-gx-limit-to-24MHz.patch | 26 + ...change-clock-phase-value-on-axg-SoCs.patch | 54 + ...amlogic-2019-aml-partition-keyman-co.patch | 63704 ++++++++++++++++ ...amlogic-2019-aml-partition-keyman-co.patch | 505 + ...5-Add-usid-serial-mac-read-from-emmc.patch | 102 + ...efi-options-for-JetHub-D1-H1.patch.disable | 67 + ...rt-JetHub-D1-eth-mac-generation-with.patch | 54 + ...jethub-j100-fix-common-config-header.patch | 28 + ...-thirdreality-hubv3-linuxbox-support.patch | 1658 + .../0011-fixed-led-and-other-pin-ctrl.patch | 119 + ...0012-add-thirdreality-hubv3l-support.patch | 116 + ...0013-add-thirdreality-hubv3a-1gb-dts.patch | 117 + 64 files changed, 66584 insertions(+), 11704 deletions(-) delete mode 100644 amlogic-tools.repo/bins/image.cfg delete mode 100644 amlogic-tools.repo/bins/j100/DDR.USB delete mode 100644 amlogic-tools.repo/bins/j100/DDR_ENC.USB delete mode 100644 amlogic-tools.repo/bins/j100/UBOOT.USB delete mode 100644 amlogic-tools.repo/bins/j100/UBOOT_ENC.USB delete mode 100644 amlogic-tools.repo/bins/j100/platform.conf delete mode 100644 amlogic-tools.repo/bins/j200/DDR.USB delete mode 100644 amlogic-tools.repo/bins/j200/UBOOT.USB delete mode 100644 amlogic-tools.repo/bins/j200/platform.conf delete mode 100644 amlogic-tools.repo/bins/j80/DDR.USB delete mode 100644 amlogic-tools.repo/bins/j80/UBOOT.USB delete mode 100644 amlogic-tools.repo/bins/j80/platform.conf delete mode 100644 amlogic-tools.repo/bins/magicbox/DDR.USB delete mode 100644 amlogic-tools.repo/bins/magicbox/DDR_ENC.USB delete mode 100644 amlogic-tools.repo/bins/magicbox/UBOOT.USB delete mode 100644 amlogic-tools.repo/bins/magicbox/UBOOT_ENC.USB delete mode 100644 amlogic-tools.repo/bins/magicbox/platform.conf delete mode 100644 amlogic-tools.repo/bins/magicbox/u-boot.bin delete mode 100644 amlogic-tools.repo/bins/magicbox/u-boot.bin.encrypt delete mode 100644 amlogic-tools.repo/bins/magicbox/u-boot.bin.encrypt.sd.bin delete mode 100644 amlogic-tools.repo/bins/magicbox/u-boot.bin.sd.bin delete mode 100644 amlogic-tools.repo/dts/dt-bindings/clock/amlogic,g12a-clkc.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/clock/amlogic,sm1-audio-clk.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/clock/gxbb-aoclkc.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/clock/gxbb-clkc.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/gpio/meson-g12a-gpio.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/gpio/meson-gxl-gpio.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/iio/adc/amlogic-saradc.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/input/meson_rc.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/phy/phy-amlogic-pcie.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/power/meson-gxbb-power.h delete mode 100644 amlogic-tools.repo/dts/dt-bindings/reset/amlogic,meson-gxbb-reset.h delete mode 100644 amlogic-tools.repo/dts/include/meson-g12-common.dtsi delete mode 100644 amlogic-tools.repo/dts/include/meson-gx.dtsi delete mode 100644 amlogic-tools.repo/dts/include/meson-gxl.dtsi delete mode 100644 amlogic-tools.repo/dts/include/meson-sm1.dtsi delete mode 100644 amlogic-tools.repo/dts/include/mesong12_odroid_common.dtsi delete mode 100644 amlogic-tools.repo/dts/include/mesong12a-bifrost.dtsi delete mode 100644 amlogic-tools.repo/dts/include/mesonsm1.dtsi delete mode 100644 amlogic-tools.repo/dts/meson-axg-jethome-jethub-j100.dts delete mode 100644 amlogic-tools.repo/dts/meson-gxl-s905w-jethome-jethub-j80.dts delete mode 100644 amlogic-tools.repo/dts/meson-sm1-jethome-jethub-j200.dts delete mode 120000 patch/u-boot/v2023.10/board_trhubv3a create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0001-HACK-mmc-meson-gx-limit-to-24MHz.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0002-mmc-meson-gx-change-clock-phase-value-on-axg-SoCs.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0003-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0004-Copy-and-update-amlogic-2019-aml-partition-keyman-co.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0005-Add-usid-serial-mac-read-from-emmc.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0006-HACK-force-disable-efi-options-for-JetHub-D1-H1.patch.disable create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0007-ARM-amlogic-revert-JetHub-D1-eth-mac-generation-with.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0008-board-amlogic-jethub-j100-fix-common-config-header.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0010-add-thirdreality-hubv3-linuxbox-support.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0011-fixed-led-and-other-pin-ctrl.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0012-add-thirdreality-hubv3l-support.patch create mode 100644 patch/u-boot/v2023.10/board_trhubv3a/0013-add-thirdreality-hubv3a-1gb-dts.patch diff --git a/amlogic-tools.repo/README.md b/amlogic-tools.repo/README.md index d694223f9..bf0758275 100644 --- a/amlogic-tools.repo/README.md +++ b/amlogic-tools.repo/README.md @@ -1,5 +1,21 @@ -# jethome-tools +# amlogic-tools -Разработка преобразования образов SD -> USB Burning Tool +Convert an Armbian SD image of a ThirdReality HubV3 board into an Amlogic +USB Burning Tool image. -**Внимание** Репозиторий может быть перезаписан с force push. +``` +./convert.sh [compress] +``` + +| Variant | Board | USB loaders | amlogic-dt-id | +|---|---|---|---| +| v3, v3b | HubV3 / HubV3B, DDR4 2GB | `bins/hubv3` | `axg_hubv3_v1` | +| v3l, v3a | HubV3L / HubV3A, DDR3 2 ranks 1GB | `bins/hubv3l` | `axg_hubv3l_v1` | + +`bins/*/DDR.USB` and `UBOOT.USB` are `u-boot.bin.usb.bl2` and +`u-boot.bin.usb.tpl` built from the Amlogic OpenLinux SDK 2025r1 boards +`axg_hubv3_v1` / `axg_hubv3l_v1`. Their `checkhw()` name must equal the +`amlogic-dt-id` in `dts/`, and it must have exactly three `_` fields because +`dtbtools/dtbTool.c` only parses `soc_platform_variant`. + +`tools/aml_image_v2_packer_new` is the Amlogic packer, identical to the SDK copy. diff --git a/amlogic-tools.repo/bins/image.cfg b/amlogic-tools.repo/bins/image.cfg deleted file mode 100644 index 8e6669cbe..000000000 --- a/amlogic-tools.repo/bins/image.cfg +++ /dev/null @@ -1,17 +0,0 @@ -[LIST_NORMAL] -file="DDR.USB" main_type="USB" sub_type="DDR" -file="UBOOT.USB" main_type="USB" sub_type="UBOOT" -file="_aml_dtb.PARTITION" main_type="dtb" sub_type="meson1" -file="platform.conf" main_type="conf" sub_type="platform" - -[LIST_VERIFY] -file="_aml_dtb.PARTITION" main_type="PARTITION" sub_type="_aml_dtb" -file="u-boot.bin" main_type="PARTITION" sub_type="bootloader" -file="part-1.img" main_type="PARTITION" sub_type="boothaos" -file="part-2.img" main_type="PARTITION" sub_type="overlay" -file="part-3.img" main_type="PARTITION" sub_type="data" -file="part-4.img" main_type="PARTITION" sub_type="kernela" -file="part-5.img" main_type="PARTITION" sub_type="systema" -file="part-6.img" main_type="PARTITION" sub_type="kernelb" -file="part-7.img" main_type="PARTITION" sub_type="systemb" -file="part-8.img" main_type="PARTITION" sub_type="bootinfo" diff --git a/amlogic-tools.repo/bins/j100/DDR.USB b/amlogic-tools.repo/bins/j100/DDR.USB deleted file mode 100644 index 78239a127feedcb1e726f5bf07055afb3ed3f854..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49152 zcmeFaeRxz?wfMi!nF$ODFJTfO1WL{%w8bf{G`y5)d*x(EEdutENz_{VlbH;((9o8= zs6?=t320GJIW*eV_R1tcrO_%{su}fO0b0dWGz!h{v(A|_ zGXcEM_dd_>kMHyRN}l2Dv-aECYp=ET+H1cY|8<4OS4WGlZ|-|(Quy@S?=oxNzxtJ< zN|{R2ROX*4PhF{~Jo#r5K0HaOJ*1O=uT0^;!*)9J|Q*4mEG>tEaRv*y~Rz1EqJI;r0I|Nn0kcmSSx=ifUNc!vV-P~aU3yhDNi8z>-l%scB$SgO8tcJy_R>V3nb^`_L)X9IIpSHGr?sN$v1 zD%JKKRb2M$^UFNXMm2SFlHaw&OS-8%hdk4I8u-QES~M&D5#sqFr`qH1 z)!SpbZmnz7t@xL<_9*G&$8{^rGoh;xX+{jfnkNxiH(8Cur>l{5l^!b|)~x6_6>8M= zP;{J5I`VdUL($K8Lye8VZUeSNYhUMABhgAvD0-PE)OZ~D)4*@j+T-PFq%o|8qVLs0 z@gB|U7^l)5pW%0zmhSi}&!6*aQ6nASRq5Cxsy+IM7V7w*N=uvKbI9AHg<{XC_Kv$$ z`nCF+N6&3NeyHEG_Brj{pC71cdh~Px8YI8=qtj5wI(BOKwDvPKqJ|1ANn_gHl=oQ4 z(W3)6VMa8yb0DBnr!}vH9~c0BTJuSG&ww^jjdYLx(}1?`+ozBHXz+AwfU=6!NJXg{ zk+RNhJ!;ck>Qk!7x<*%B=e8a@^m(r;bzsWUpnq=_?^6;3>XoCXb!Dc9PO0j(N;OHE zex(`$mvu%0l|3zMl_szTKmDwk$;ecB_S`$r4NjHhOV0mHB)R$AuZ* z@8(^LCL^#!sg_7ag!i;mGNKK6)5&+ymcJf7T}2sMXRbW0HZh=qQvi5)c5!`RqVfl# zo}g!_HXTr&U_j|X$uDg+yk=T$sqh z&&A=~)_=~*6*3&O@lX{_uZ`bVo~T?g*gB3fE_>f#Ya!3z%E8vjJg-_c*y>loHWgjc zs?VyHet6uY7A;$?nxh`ou&hBf8$9iL=Z&{|X24@5YUFY1?=CS%hCEvESA^~OTgO|E z5$>5`j%eOQWXPij``ox~bm zGBkQ`B)Sqgi>P$+J*x*3!p(U|9oN(+mp7dp`k*ANRq?xGFwm$SFBKdf|fL_!^$0Q!)_wANb zwDH-|(HZ&p?l8=~g7b?Wz4w4pM=H<0Z!lK-zQKT+QSE`gCuvK}P=2p^FtWq^PD?;} zgZtrCuSyJv&Nv3X(tq9C9ldypce0&FpC4xX`i+n1kDiHp9 z)(YsWe2Ia%6f#YHVL;k7O?_@4vBHt@GG&I`u=1LrvWgoAmA7WF3>;d|j<=?rJ$kzJ zH=o!`AM}1uX+OP2r3T78=H8C5`KsvrVNYrAalLd`eDD2VdBIcG`_JGTg;&)!^S<%a zCFwqkEOdoUt2J!?@-*~Pv{mT(#z(^7z8szSRHom5V7E)!^g($24d~e4d6ji$mKr%j z{Ti|_Zqrql z(6*<_mgtYBVY0HN2h_q|jZ1w6J@X8tD=h1(>H~*e?nIh|{ahAR! zwsgHx#XUPKcbTf4nV8@&CC}rd4V0w_Vtl z3D!3Wi);%If8T|tCRm5E@aerrT=+8+tez}MJ@I81 zen)sjdDSl~%G9eqFZ^Dnnx8>O)j*3t|2V61MRaK#dNpR~Wx#90;B?Y6z4sLTIFUBz zznjD#czg8z$-oomr9~zqAED2MkELD1lyQexdaNU{YrRb=!HD7Fuh7 z3Ez$#3-a^>I#6_j@Lx><<1S@qa2WV6+O5zD3K@qcL488Pznt=K(HuGH_o&5gys9SBs`NCklCgDR>PZ#qUdULRDMPDu>>k=M&` zUAzpNp6F~>FC;vUt`hklQi*}U^{WRN$D32giOT3PMVy*w?#&<5UAY_bsUrzwPkUfx z=$NJ!yW_3cDcgb9Y`$eMyvgH_?I{d}*X73JN_0wqHfs+QhJ^0u6l_Qp>L}zlS%rQ> z8__{0j19U?W6_Z&dZ)stUhRfA?LMk4v|cjoKI$zfVBDT;hN4O>kuqk}j~mCq`_NhN zQ+rm1qQIvEkLK0)5z-JpCQY=^483?R!$X@3t)EkeT?Tf@UkIC`KaiVe1dhyXb@}Z; zq4gv%1syXyZ0lmzju=DFZEFS{dOEfRc2SeYxFvmha=ca@#x|0E)rP*);sM_S%awJs zLwmFszB&o-rd<6xRAlwQhX<**hkiAYnWyt`+(%gG>!aOLwv4Y*ZZhzAi)Ts7F86P= z_1sq1K5+Q^4ayXJrd_Y)=0xi*%8C-N5pNh~Q1rs* z^V)bDVQB7OAbtDSbEYWW^e8nVt{IbJ4C)s-64);&8^}Zc`eUfE@*L`Z~68nAkkcKS3(Y{}aY@t{5 zGGq$<9mb}z$0MW23T$cYi(x|uuG0Vc?L4>j2am?#1DOxUy}oLh*9h-7%3P-3Y1aXd zW(l8*E)#nwBzTTfi;vLel21Wb+9dXgmdds106hC{(xr5@SoCvJnM;g`GyD~5X>$_Z z(u;RSDvus*S*G+mvON64Wb2>luN3Ju#_^vJrtkNN4*4EoLr?gH=eowJW-mHUQFj}2 z6Xq3l%!#i)_P5anJN>*V*4HI3>BZJ)9UWa1P&55vrze07c@pJ0{qEXHIiG;g7&+}_ z%nT;cq05*{t>BqY?=8?<#-`|Wo6k;rptr=wH(%n%9u0Of&ct<(J?4Ckv?BL5ZVybc zc7R(HnSX@m5l0v7Q3rh1J-iFPcDkQUu|CPW@aXQdqxXx9X8SL14u5XzBUw9KY;eK( zEpXQi#!2ZnvCTc6;G5WYuY0_`hi0p;0{FClTq4qmU!y}WXzGp^SWm>g)+Bh!+q8Zu zGu{Gww^P5A0< zM^`j5ju^<5(0@B&+PgURW=%Ta>%XNtU#7A;Y3%r5%M5)W{B#t%WjcKsqrU0P(FN~D zctf7u$jftt#oqb=JdZ3dviV?WiuD$F35`W2yh11a3hOmsVprQ~Ruo&(c2{oxCSlV2 zk>^6{g8ri8dvCPsDhayt1lP97pF0YTT>cjt(Z&XsK0>Qb%9Lk`f$XDC6X+Y>PfK4( zAAEs$p;alg8p`Nc(bdu~GIoCHZF}zJ&&i)luZ$05xw4)jFJp9C`*b3L4z&F@0rZwi zB+FeJ;oR2mXZhZpf8LM2arC3=jf!1Ho=-ueKV;-DF*+(bzxP4jN!OfMm9y!NkzU>d zs<2x8P8xQX$f6C~GQsb{UZZWUEjS(9?YVO0fBrJn93y{8ky`8}Pmve;Qx_YIO26{A z(fiBnzAgz~0d4dxbNp+&RI^r&e3GZ)VZzMu)nwY5NR%@G95yCy+k28Zm8K^K{>`Jh zHbIY0;9C$MoxM`v@!_>goOdZ-aQh4IQr@tqESRGFQsgYZ zPtNZTp|kK7yTKZg*yG}hv;BO8!_k?3=iTvf=H~TJXLLYr3>6t0g10NdPxPzcepLo< zcWjg~r+ki#mtVB!CYn0TIH#Crd=Y(duRW&6;7u1cT=7L4Cj9EcYP1W}X_GIK?jq%N zCqHeMm(+9RU98@V!NhjZ;7w!02M323Ut*)rFFC&*MsXq{c69M494if(PJDwN0Pp*y4_lM08sh`9=P|^qbnW(DjMw*pOyoK*k~& zbKYV+68#{2&@=s0gDv#=_jpPgM{msN723P_DezX{EwY+uEU}nRg_N#r{4dtln$ipD zd9idChg~f1{bTyk#=&QX`qhFA4rAk$x*z#SwZ!H?GlkDH%P+z!nYj0?7`!k}_-Jfd z7t}TGV)*@k%TqNM;XO@VSnv7iv}N=&Z4G!QRy+Kr(#E({q|CfIOM^1xMT37_n$(QT zTaUb7ygx6bjpWJaDdD@vu@{B+ zN+y=<%ICue;mxRSj->EArSLf!qoYUAwUKD&`@u__+M!QtQkyTS58JjN<5SzsgQ-<2 zz3i-NPNI{#;MW9mYxLie)9AC*{bqX&a)uW1SIos%Kv?8x8soxrO+7J)zUyB3rHHE4 zX@6f!1?w5u8Vxdk>X?I1iSZ%&$&SH(UG3_w(yTDL^1IkPVq^Ul8;kKRqLVgCxnu1f z*QOmiMvl;~Qu2Hmnf);1fnzVK;Iv{j^$dFTxv3Q#xz9mWWIPAF1;`eOgiLJz9NKpHU=rOTE8?hElK4B)`rL)Cp|y8`L4=an@#@ z>$e^w4!ZbfLYEYEiywA5HcT0Hs|u%GXLPk{h&ZW3scA(&qaM*+^xGblx(XQU2iQ2e zkr=o|+DAR&?|P1TM?dX&op7Nw>Wno>=oB!0R)DrD-?8!aS&o@2ZU>CUljr90}8NnGTFM(>>5u+R?pGjr3fjMt)77GA|=+ zjzsCdHyI~rUtLt!i)5bED*d4|PokZYFR7Omo%GD^O=kLpd0>!!Z!qZx>EkYaR?*1} zPfCACndt<4>WjZ)WJBL&Fb1L)-T0p8)?m zzIUOMv=#W0QsyE@;H56Tc&Z}(4A$Mcbgih5_KNK8)2BBz!arg+e1$gC)w8pv zf;NpZr|F`tU9|NLyRFlMdq_urENXSq)=64vi)%MuY`s9nLRljkrjMjQd+@98ufX4g z%>9J&UdXgb(GD4#_g9!B0j2CYX;k;D>cMY&5FS#c_m#{1asPH@eS&e&!PRA|jXayUlHjt|N!V&BxvzZOGZ)?wZFK+V>iXFGa*YG%rcD zNV`(M@unX~w+&56_+`Byir?|)(?!m{Fc2^uJ+67b)1slTW9YxcL}2Q0OQ3l9pf*o~ zw_O`brN4oVE_#8rh9EMy*vykT!Cz!<<1Fk%bbyXcBK>xpHi$e*9s}BanmmG&G0|-A zq0hmmU3{9VZKhvvGj280b2pi3lQlIXYNl&TRa$IiV>7Tam9E@jrs>~3>cj*K{h2o2 zGTY&$J&HM3RU#8NG{Fj-HQPPJn|7b6^i%j=!-P$65PbTjt~N7$5FApoDQ64i!!tcL zzt70=yX}*AY3-h$X`Wo`UngBA!*f=gR!2GPML-#d50X>f(k3T^dMDLkUpIT1cH_xaSAL%qT zZC5~WRHeIGE0w?dMwNbo^{3PotTTVa@tZwP`qXyKl6g9Q<=z(DDz2EEnH4p;@gVrFDo_EaW$u!xX>wN=}9$f;qr+p3wI%H;d0`$F>P2Qcr@m4qZ-pls~jjg=EakhmQgqehB*r z+G$evJ~LEFKGQpAp^DC|mOKIIqoBv|L#%T^lVM2qOFsboYY zQZ4wNgW{{NNKI)Tnz66^DYa(Fi*G0VJ5)j84mGY?;${4Pv14DPAbFJZz!Sht72L6< z)SsYyp*enzbm9sp9Pp_+!C@Ke1{lgK`LVQLiE5Pg0neMLF1 zs9*W5AYnvEZr#VhEpe68 zc3T$`7F{lSD6nOQU+81=C%iq3-iCLBr}&BADG|xbM>qh@-SndG`dOE>@gK77(DsTb zIuDxKuni^F2c_?h6xnlwLCV)m^py^z)k;0|`6MpDE!{_dw8x@GzxU)F{yzTgjFcbLVWi|}OsnA;v`l?~H2!U0ug zw@u0wI@VmV!!9?ODOYSD8K0cBMAr|U*`rvn*WQ0<%QxYGD#`kV6X(ZyXXWCwynKWM zswf+mqAuq2UCQt1cblGs1y9$%ENg#`4s`sLO6?ucd^;nrv4_J>lQ`_~4RCq4ZKzD0 z60Sl16D|(Tj!mxgy#oT5^fiHu4d&T9kgVBm!(yMx@VXaRCS7uBCLOThdnae{TYz3< z{9ckA2VRsH5S}P4s}HP`r8(BiGH~Q7oyCJR5)P<>Y&jRuko}A<4f5$TRDxgf)-u2J zbq=o5Uxt6o3f5_$XCgxjvEihzli-|~N*Mgq^~DPX7onq5KKK%*yj*=3#9@PwSIUyP zRRCMo%`Y-h;q$h1qmze*cd&k@nkL|15Z&v}D?4s%{eX>qip*&3pKtq7_y=9Bkt2Nlx0(bXc*!;=fmcXsW{(!;$nG8+r zHta67BD6u~oo#vTdOzV-d;)eF#xQMx**?sett~a%p=Z0c$ZU7w7F$}WYM1=3&t3Rl zyV|k$?e=HF!ei{MU4^aPv=JQ7w-IDMx$vpaMnt~E9{3BqL0>e>7(XQT$Y*vBh>jDw z4!u1dKd$39GkA6q*GSxQ;`Do+u*{d1-Kv_y%2Q;rQCUYO0t-6J_e};iVMipebV|Js zyFpinS{iO<&YIXgfX^W))<5+Mj4)ye?gKb1tr@ z{Y!RS=X-lvCKD&~AmIt)R#m57`P5)|Xqv@5WmkAZv`;N}>a^=4+{k=X>XUb+yK%@7 z;qaCMzZ)m?6#5@vkM0*_T+T~-fIYc(`i#9JW$k;*WB1V^a8cmDgS{tiKi#*@Q-2b= z?`WIjuQi@3_o}%;Nh9%MdrJQ(yI&IJ?1O5SKG{h*(FwaFft%q~`iAxe74*vDN1VU| zzzd;)q*e5Xq+2NAOxhA)f*(3Rn;+gyJACSl6G^q(wpoQwB@C}riw#RzY0b>V4WHQ; z86N$1OO4VBD}CPTTpZ~8keFaVOEIk}v7aOY3pMb~_1&H_i6DIBIz~N?3T|@5a&Z zZd@|4dqBa%@{TS@tEAIMGJYlU!ft;Hyc_-%9+$pM!o$)ZYI|P3OjyHjVaM&*J)qs= z*m9csrj!2DPWoZ?a7&sb@2MkQ5y2xnPWYWPqWjFzeUYKR92I_HXOs(f=O~Zb{@V`m z>sM)Mbv6;P{prjD`nKy=vze)TiK01TCqR67^ zUl|f#kTy}(1z0nd{e?BiRAAA*@-vNV2E`BT`iFZi*V5lR1zkK^n*G+z33PzW^^&Bo zAuRb4vd*zhuiy7qPxH7v?2}`jl$xTYq4^1wnr1yxq@^D@#oYORHPSA+0C-?aMg7zC z%?!p06y*u^!)aFNl+WrOPuka1`VIWf&mEs;r5<8$ZigC4JhXe@duLdO4$lZm-w0h( z_nRZ)pO(4(DfX*Qn&FHS3(*PC@`Ta%-Vv!+FJ;Z3_^T0fZK_30JYKGRPnV}kv~=PX zhi;;;4|;SfH3(l6f8OqUfu(-U`+~gp-}1gD@BMk+U(J<)KPa7;niv0L-mlJk|0(Zv zdGEh~w`jlT^?L>nEcaOJHmvK@wtQ-EhwPbe3iKWDux|xA#es*RX&iW%w4SEQK5tX3 z?-Be&2Q~!yp5h11t^FG+`<~<{`{HFCMB4uSqMG#2=c%cWjIT+r^^9veS;{z^q0Oxw zTKx)-@=uvIyGTK!zcgP`|CdW|ud7%vwOQs>%h7v(c{Nb?k;L}$-!r!EURzdgj#qWN zNmIBr+P9lH#)i^Ad8YLK(c=rwB+puHa?_tZg+ZPDxAOiuP3FrpgUdXV?X`jjC#dv; zlT`Xk#PytEob=4bpFE9uR!Q&$e6WYUu10$ItC4R!u0|gFni~1$_teO@zNJPQY+t97 zb{647UpGl-lFlTZNjj5s=>AHz_zC>(N59E_2WTMsnft+={pO2T7O1IjcqRo|lbG>m z>f9;oN%Z@qo3HJYbP}FP82BP-r?gQA{zuQ`-~r+!ueIXZU3YlZqBm%xv~7eqw@shV zv}u@h(yoiO$!*WK_c`sGLt6xYhYpj1FW`gydu{vnKH5h+9-|#cAH(iAJKC^66*W!U$zQQdN_F9vxF7`=*+H z*r&mVL(@dIr}zGXr}UHB;J|;Af&YYOH+35s_^&eXCwT_oaRXjAN>!1pt3GmhOHc-*-hZQ>)I;XT*94DySqHlvx;1frOKGdRci|WBFh}Bq-hxm`$@kwQ{F>n8lK)Yro8)zZ>1hjO*&g% z2l@7y>F3pqrfhk%;n1_A4Wds)kII-Qw(;-aJC|Q|_;?7Ki;n*|aCyr6KM;0xhu8pm zTev+t*5-}TwjHr$W^Rlw$k`YgVVP^V`838mCk(FCqZOxGgcdnC<0p2Ho5r?*@He>m z^%dcEEn}OAO`)$2x4X8AylboJYwQzu%*f8gGv{$~>w~|x=feTdtfC67qABEkuzZj` zWQLB7?omyXemB}c-`CBDPX)GCQ%&!GVYC6AQg@bg@bN2Z$j3U5nbwxO_<|2MZ8HCz zbw;f=7q3k;(+S>P{Oq|&v8)Fr{NjJ=f$wTrzl*bO5@x(SOZ{HA@I& zRgE<)b*D83H+MgrMq2Sj21w8Rp*Mwp4&De#da)hcy>fqJZNqI_d%1~Cz}oQ@D+WVV zYU)hmf0ajdGt}W%?TWV8=lE#LU+>*lKHW$~uni&)@f+34n|3pvyw3i@FX6K@;l+Kr zN`H|(j;V(pj6^^5M9Y?{XUkR7qCScHEbzolF5XgSg}+AgElJXEjJJ_vtiMUv&AUvg zrXkJ_`p{njKL+hCh{uPWV7#!$mQSkYVfFw={bqaFXoH*|E80REklU%x=`)LD%^sQR z&0oj0`Rod3?S3cm?)reiSS)lbVGbLsG}E%aH0)E01g=!MbsvZQqQEQE4a`HZy%IOr z`xGh?wawai+h2P^)t1|P-t9cMmRm9=+u^oyYdiU6jjR@$Bw0rlxiR2TH>_9#BW+sJ zTqkL?yfm4xQnRvYs!5~iP8yjntAynzf1wLgYHBv^<)l@l?K*jtB|MO%9b#7nii`bf zLyGb#o2t zuJe{iUe#A_g@uM=;(ShA*(~ci;#!G|vL8qC$-0Zozq0kV&9bVc-n{dt_^xdKhqPbL ziJ0(|oSjA1{2IC|LA>k35IogfNB`Ju|J5G+=(2|^)v}y?bNQvU;~NF4ca`HSu^GR7cy_o&zFbS zcH(RK$+~_%ZjA3~|3z@i;tX!x=iw$cgy11K=eK1{-T63EMhv?qfzEgM0{uuh-ybgR z*~5O<3)1BIpcZEn`nAN1O>*3hKVDue zappKD?)q_d-tFX(ykZxNo~TSrbmIS1XrE#9upS`soy1qtx8Y(>P-j1Y4o`*kc}rXz z8i@}u2N4{^URy@_ZruWhmZhDOS8*zc;4AVq4L&uBy6t>F>jN76UbGyD^of7 zLiUigz?KsK-;GnH*?gi$uYtzM)nQk5G}=P{UgN$$3J)CsU#)Matye@I0^3UKm#w(I znLWJ?7r@tC-#qW{z=xrKGE9oHL1mx z;1T9o1HVc+%Z}vAkg~V`aOZ%=PjsQIhf8`{`wp*WoV{N8mvb&$(ny@Z;Zj z^85^Y;Ag5mOuYV<*h520D#2Ah3x6q%_unt6ytQEvehcY`3PMTs%96mQn+F-cL)teA zLd)o<1hkcY7ae41Z!K}(HQwF+#7~MZDiM*hdTr>$Bs$T6#sOrgil^$EWmOU%=e!h~ zCcE;>ka$U}el^Pq%vXLp9scKeq;vaK=$xQTi5H)&c0$Kji~k@Gw}d*hMDj-IH~ml{ zW`dmUOAN&Oud?(F@uiA+ZWx;;JpcB(uzFYBTKc$xbHxGtwKXq~E|Rv;rV$-^1n=}> z@-JCXJNVo^`mDg3HG|I;9xG>mPj9LEZsdtS&a#HUM`K*XN01hN2y^}%zOu*1M$_@x zgtb(Qz%<4~owZ5Z_N+Q+!(_bd{QZ}0SmQP)-Shvu*wzU$CN>(}=|Q=jnKEpjE$}Mf zqQAETUryPbz@7wWfqD9WXv5H5^e-|y(OWHW;b(!_`=P+om19}YUHw<|Ies&N$^QBG zy~TNw5!SsjFirK?z9@O`R?d2%rku4wDbM8%p_>PKHL?fW1HHn&C(At(!-H{bL>VXL zJqFFN;p^!Ozd4unPx{h8H>9+AxN_X_+{M$I)hT1^{$7hld+1wx-P_);cai-|qSqGD zhY9M2cSl^ia)kX#TCo|5Arl{AULtZ*&C|74<;;ZekodZ;5gy93FPHKj;`au2rmVZ1 zDV%MUjpq#DPiI-OhjcglY}~U6!i%RoWxXHwtFG9%lA>d*>#`5QFK~QkQ-weAZ}ip} z$I9cgXIq;{=i;isF9Cjr)IV>wWe{hFYiC=R5SDcu*=OUfgLFB(>&OUti2Uth?*vTj zq|Di0p;>lsqrDf@*)wIA+wagw^z<=RyhJH8?Xh9U|6{)m(>9Xsy${;3 z%8eOW1a|zR4?FU9&DWfCcUS{G@BWMp>q&mCg^g*Y%dj`7tHG|TYrB(vZ?3LJ#y*kR zlXDJa>#F?M&)Tr?*K>89Jh|H`H@~jOow^zmnfhnjW7%TSb7I%=9H^8znNQmlo_%{= zocORRse@*+E|OkWs$SL5Wv{~*l1|brKkToQG+}5*x~Yv$x@JiyHmmabmMDDfBEvdz zt`ncgyo>MMe)l-`l*~_6|35{-*xrdO3^~L%FZnAZFMfHaEY^|aJ)=Wp>`?gSZ5ubM zS0vtu|{Q3Z^RmvIf7z@(seJ)Pmmj_Se!EO1Gy)a(0y1#2 zev>wcUFO1^b~^ML#&<9A>d+Slx;1>vZ?mW61CDO1Fg*4hQb)N*O7vX*oTU*t3L{7K zDQDKSM;lURNOVz`AD{fZ(%_;p`Ujti^nGacaJo z^VTKy7-E8}z?|^}JEf300`W5c4Y0o;F-HX@-Y}HC&M4{iOnQ^@B&;@-F%6iVE$_nk z*~F`Cyg|DTFdpTni;j-JMr_Ql0vA0fYiqF)?EdrHj33Eumz1+t#xv8r0+I_3#WI=HJ z7Ztihlj0cqgXFpNpu#+wUOvsJ zxc|CbI`oR9tL&ouJbhRB05X;L9)%awk(D6>J3j|^(u6q!8Do%mUNAr>$J-r=j0RFPmPXWV*H6c9-J%FH|s%VxMi|8-G`6lVBY)dxpl}e z^|(JrZlb%lIrs$`PUsckms+^BQ>aAQFM!X!DUB>m{c6a`7r_b{} zNP2}2SK4tBS-6fdK+;4{Ve_Mpd*CZ~u3vRn?z^Df=e5)BKlCZ>9`X414tS$xD7)9$ zFheg;uIvY0w`WJWhkY>FxQS+Hoyq*on}c~bn<3AF1}vw!}8>pPoH}V^UAL^+qdVxFCxAuFTRcU zDS7WVgHJw9w-7%mFMb>G`R{XipPUyjG|zue@IEmweg$*l;=K1AXRdYrek3_F9r{J9fq}K5s20a|?g9mZJR3*k#wX zko_(Eqr4mN`S5siI~nX%ZegcS?9*xWnO9^=YS#fsF3x-c`PI*yIKi`v_`R$RR_xK5|G=8T z8_$o5e{GLCdx^DzxWB$C^C|XRjyKzt@Lb;bBm0nnHMlV0p&{u9&XBHU4H#L;#wp?| zl(#8?E$*hbVP}^$*PI@05I^o1`20yN$yf2m{2g5+zEfK+#ovr=r8kJ)MK;;HC$fV6 zNQa}${bi4r(u%aht~|n{1&mJ>UyVq*M)+EENOIVT?;Jg9>y)IHler{w3E9)9(VqOg zJ(;{YpC9)eGPejs|D~lyv2T<)doGT8nG+=7AH|-GfQ)l_dlTI=l)`VV5HMOP7=dsYnZa;Dr>Vb@yQV{{)w!gHhTvBnar7s+_^K6MRzP_{&!eop4AEc0-I<0 z?Q>qmw!U5**fNvo$``+J zOc_gtGxfRg@XQ{ac}gI~Uf zJ0kuz#av(J`7zcEB~Huuo$=%Jb}RLSjpK&coBr=zP zHbx5H4sg%)%pDDlv#&gBHP-x?qp?2FGl~9ZuS*9qGYk!M=I>$XtslS^JeG>+E41|G z;L{=f3(h-|+~-YxFL7StyrkE?a^`VLwO8^`miU=FkO66<$lZZuP90L77aXKa*&pA* zo?4Mpi5K|A%I-O@Y#m<)cX;5>nN+QJ;hRKGJ87qmoOa5d|JPM|ZmAh+qJ528p;Zg7 z-a&ZoJjRx*3$4p%o9!EUU(fHd4Q5EWkEqnx=VO~VV|CGk7p$#t9o zm%X%W_e{2R?{Vl@xlV;DIa^#=%$aq0-^3bZO6WJ!uctVR!1);cPeK!cP4EkCT4?t^ zq0MAyP1;23d!+6wX~VcLvj+bueU@+1)8&ux+(a86 zBkW^eBzyDIvOjV)?fg99D{0?LtYy74(MkJ~?1d%meA@dM?Y);Y*pS)wzC?QkwswOf z57H*##kJce+G~1^nKlc(E8(k3-r>Vip~>%|S5GFsClfFE%Ow7QvnHq`GeWcDnRqF$ zSmJ-^xATY3i|-^}?2EN$%k22hOuR1jQ2%jxLUZ9GWTZiO4%ukH77aCWZ$%iJ!Nzl) z8G4%V)9k%-`|Ek`Jl{#$uR(|3(Z|xxM+lE+e)MDB4-!6zehe#L(Lwf#UFub#ODVS! znZJ~^WgWh=`xJgVfK4oQ$0#q%-DbjrVd2R&db{4Bw^!jWsoX3$=|ys0SHBq;IAvkQ zz;4yskJCOqs<+SO&IUW4{)-d0UR~k`hZ4De;NbPDB<`DCFSv(^3;Sl&d%!(Bv1TyL zS^NF0$H%?Xt2rwXWQ{7MA6D(~UntI+odc z*aOa=W?YuKNwX^My`+A*lygM2SJH-xAF>W#Ds^%{kML|CW$yszr+BJlq@thaGphX; z;3GWVJrf?s*XTh1R8hb2|2uGc9rWMtG~SxU*cw z)E>feRz>(q_)YlA9#eP``p=>A|DaC1aB( zk&HA)%$T-$S1qytS06yX*iIkVv{0T^ zVfr8wS6`6nhqVh-^P@t8GWtULoqfGF4?q*UZ@ihl0bl7eoqmzE%C!$WXU99GJ-}oi z2XeA!5`K-_w)yJc`*2}s(`;2Qu+`rv4E6lO>OmjlhRD(FGM-I3UjEWfbjSPG44zb~ zU387WCr$dd@|U=q_|L$;249WhD_!ADM8uiaa|fpot1LhGB@3g2Q+;&@H9 z|7F5WMTg+Y-)p`r3YfE-wCUi)XY90JfCiJ3h1QQqCw)*rcrttAzDXTE!amJxzlrj1 z*fx2VEu-uik~$8m$wh*{ucpwt4Zp?jh<`~ z)ZO?Y-hDqVABWyM`X|*qj`$n#OB~!bZq`o(pQUEq!Nj}jR@BiJ-!tXH7YE6E&{&p* z9YhvhL}&a-`VAc+duBv7XeD|*ZWJ(wg^xC&V@P+YVTP*aJ85q~t`ADuxn}5H==k^o zRkz0V~Bkv-HVAE1I#*WsGp^(oTfiHTH09#4j@X9@RYK$-LEX$R z4gBxawKyte1JBkmyTW2_{R(!@E3^5f!8^q~_Ll84t*!SLS`S}WVX-DOlGNEBps>HF zSLU)h_n;VC8sGZQ3GA0=4*Of43DRKe)tSGIzV&O~m&!hK@(y`s^#;V=rS4PQ2{o-y zbv-A(8ENwfdw<0bL)~gch4mBil|TpkeN%6u3eD*I0KO58SO= z=G6%uJURDY1biWB_A(ck&hI-iC&2cx%idFAeUmbx|K-dxT^dT?NWTc(q^-2ao~uhA zRlslN>!S^_zAJai{P%N%-2IWX=M~qMX0Ho-q?rTFpIE=sr@H!)GaDbTVSNsKt_L5{ z5jJd{VSO5yyRS6{4+IW@6LMt8JdUo~X=6^U6L>*+XvGM+~c#a@@VIRsZGO zT`hIkdvc2dR?~#Bdt=>w&F;C<8PHDdgT0ygQxQMOt1|2C;%B??9!@=bCR+Hq9$bDv z{v)qTUivL>AFf-My3bkbmpV((FNx3Q*8U|ND4m#_Pv*s`^W!q*$eh+KQ}(yRziIWk z-2OS`>AxnSyL)`8k8q%^#P9C;o$`C`lap_gb| z2vCPX9hzp@z6~R<4xz2o5#Vkecg`;KsI=wU-KXK+f$F>~@^J6YHPSw9yfu(2@3eg( z?pey@MPO={H84E7D&mUe9W6yJp5E-$6+TF$w;1m|VG zPMULDb9bW29{nNi`VswX?>XSSg?!hf8QI~Uz}_?5`&WjZi|VDTDmZ%+q#xxj3b~v1 zBzwv3BHf$3v+uzgdV6#+=NgFPt|j-oDr3GAlk*jbKcJL5pQdsD6Eu58^2ph_@aih- z-;ojSM0~lQJ0nYq)h`p7???#kp3qB+*#G8NjD=6=C96aqaj)IL6WpWw41B2$q`3b? zz8f;FcPY4)@-AVGzL#?heB+_Z=FiPl*4=~!reWJ`b>XQhYoiS(5ActK=Qylsgt?bRT2iYtT56`0_x4dxuJCLzk|O*f{*D%DTy}%faE6yt-Bp z24}l$&cO7_w?Cr#vgah9yI(}jool_vcm6qo9F3*ky)W2z$Mp{I6kmNQ-y198J7mHa ziuscPPozHVd~2(lKKa$3M(_U;b$2ta>(p<^k34)csaL5!?ugRuZzTPW=S%z^5uAOU z14H(`QSkOXyCR11M9VUKkjQU?y6tlVA`^+9eAZ6m>>G0S?(g`sb5Ho2zoWm|D|SrM zi|&ZdwS1KONBH1p{A`$6VtIhcUic$_8q34NOTx!;uU|KN#@7q}?7x(L@o=9SbO@Tr zwq4Hdxz?-Pe=mI-g=fwYw&73BwO%GHc_i+P3#Z>-B>Vw%_W-#3BW24Ov)o-`Pi6dI zx%+(`d^GU!22yGqNqnoPcZMZY}( zU;Df1HyyqaJ__>`UzN%IuH0$=@{61ydJ%a~VFzJ5oxpZFf$el+W`cX~Jq5vAwqI#& z^;~5={N$C^QpUOAD^q*RO3Yuv)2H9k%XSUx+ODAwncwMK23@!hu5yYwvVpS_0kd+K zy!!}GM~^Yhq<)3{9mXnv4;AGtL=9v2)n} z8t{&*eh)ZGJ7Tm$>g$Kj+#fpidB187?dJ^Uo1+c2q}ejr99im7PwWHVEz`}B2f+Pd z!dwS5ki49Gp^@J$<=8rj&v3?2rTb2g9!XrD8c?)@t6d_3zw}G@GGur>Yb)E$G-t|# zAA&y;XGa$aZP+|j>Uo4bv^Q3WKT-0MuZI3-pOW3~O4_W-QW4VGZ4RJAvu%bZ>uI;5 z-8Nmg=Y+BKymoU33U?*tXra=4duN6+99#p?AVB>Z^~U_>h}4Zfvg`IyH|KgddsaH; z4$<5h$Dd^6E_V-Smbc+k`Bv9k=mVFZu~+?bX!A{{9DSI8kH1%`;md`e)K%QgJEQmC z_+F3biUjs?7yQxo_UMrz`a*|CgiZ-RK0WwC#yZxmjj z9SNSolTx0oFD^PBI`=VxBRV~^uP-B)(iV;H$V^kK?7ft(e1({=$z8hN=bnPCGcL6r zzVTA)sJ^i2UE{FTIj>hX@!9gS?bBv;aL!NzZ|=1iIE8!&o=QD1&^3Ku`7_e5#L0Ld z-^+PS`Vl+2pEaiGz<+cVyjg9Ie6QB;KT~Z^J*Z~`sZY{9MqLM)dj%+0&OCQxi%6Y&p_y&Fqqk(wr1bU0=Mq28 z^mE?bm2x)7olkNmlk=-x(TQrY+>_cx|K{5ZVk=bOUm0R-xd6V1z0<(I3NF$I`Sf;m z+R_ZYIj~lD%SSG?w*K0o_h&i78RahA>CpSRPNDbAChaPh-sQA^dY0asgxq7vmlYVE7G>7?kTJ9&`X;tWsQz@qK8hX-(QMMm)Q4d#BaUK3V~NP zZo_57$=MjzlNmpSCI)vQ6(X-{HElzeiLI$_RsNDF_t|7%&b-B04|DIVbmwg%zk=U~ zUHsnbl;hx641SBo;C82tXgH_)>5`^H%OPRjSuE=oTKzyAsSCR`Lh--Y!1)mZ$F<>R+z-Wd9Q zpSZ+D@hkS1$Q@n(gZ>>x4u&{Wm(PC}^zD{;V`%r4eB53ii`#v~r7ntFnIAvR|1oYq z05AIgL@VF0L9e5G)Cqep#O!xj$ZMosXprf1d)}JIpV_pgllHC*z9J)b8JivW1{;1p z|2ww)L)0G?8#_bG3b6$)61M#jGn4jQNZ~6FAY*|jV{Rs`M!tWQu>qXjbFb>~UlZoe>$C5w6drd8S(3mgRuwE%JN0;Q??a!P+>{_}1IKg<${p~Lg zW7EbMkEq-KA#{PxS}ynCSbO<4%|~fp0)49ObiQq@^L-YH!~e=R5tY@w-2QeG^RyCd z(w&h%{DJSl_&J|QI})p%`A`k#mv5vTxz{urR@N!#rQMaZzX!d@SDWskoVLQ!pLY38 z&MT@_vVL<9-#%5O@u1^nz94f*N#~iDI=!25FEju3i%lE-s2Mtf?iW4QHrcegI+xky zNcv5bBX~*~g8Mq~wryl=9rH6gBWgl#OOo$Z8$v(y`>~y$jYwVE%b9yJIR|dP&&$}i znfFrCzmDy5R4;is#aQatMkUzeJ0t6$fz*l3Z{I6zQm5E+_V{D_jot6eIDTVyUSf~! z%$H=1TKb6loy3--uROtLrr_&^)^3?sQ0DiT$EgD5$~UQprqAXK3iS#v&ip)gu-r5A zp_o2%SK!1r`3{!-9iM9Q*swL@EggSX>PgMI5}1_RO_(v1ek`@e@J~?IZ}>@{C8W>B z(`S_X+D+O+?f-Q{TE2(yVByT4hS*mY@Hl-o6^0>0`{VVgssO>lsU~Y zXfNY_HV&Is?kqmad_&?M$&c&5(vmfdpX9@sQ;Ba3x(?K{E<;<6lt{gNhh1odZYjO* z_yqQns8xdNztax!vk0z2R|Z|%c2@9Hew&bo;J=YJzfC{NqU_;-Ab zlFsehBcv1CS*LE1$uV||eO}PngCh0_wn$KHkpkqXLlrcIv6n90(AXEpcYQ#4cNGxk zUgn?9WByuXo8zQGYC z?kIOzHew4VbTj?ln?KeU!)~~JTrFo7yB}H)%-Ck`eQBFE>qT|&p}FLt%z+K$Q`Emt z`I-V}qk{+eb%O6k?k?JSN3?GTbv$D{`jDn+yEgFtV(FoW4w`{oJNc$b!Lf?ISEyg? zXwuasKRLHg%Fy^uw!>?sz3z7uzK&GfKsdE99-2z&Vk}XeBq9DOHbVqUmA~k zgL7$*ymQuc>hK-0rE&K0$5>C&w%YWx{tRAGJ)E8iedG>`&qHgun~3}FO5~0hr(N<5 z-?HAgpYJBqu27Mx6JO)Ci6R4O6|p2Zu)bO!zX~cF&;9W8|KGgZF-2d;!zQ zBR)r|dwTCC$`kqwK?iL7Met1B{#&Abjr=;;D-@@F?_+P3AHFt-d*WY>T{8bf-wzo2 zTi5j55f?tItL4o6T-KXvw-whzL!Q3+xjtp@QDGm!F9Yz<>sk6t>wORPp5%RuoUmWZ z{jT-sa^Ek{|8AZ1ulReT_#zbTSqM&E_+VdxJNks@mDWrgPu)JF*+n0Be*B)jqSyD& z(ng*~U+te&!<<;!@3Fth*90Dq|ClpWd@C3mCL(rBSEs6L#io@uCT>x`>=2(1eIa90 zjq>aY_*jQzkJPXy5DZ{Px9WV$g|>A6R9Oc1L!s9W2U72{I?+W>P^aRa$pq_LlHcST z1kwkhhrUUi@Q~cop5yf=57Blje?GyQZv83r&s_F>AF#)KIjb48{z!g|r_vO6(+fQe z?&nY8pD<-kk#NrBAYW;Ho|%4%__Ya7^GTka>^(TJiv362(XSh3TF#@a1rPC)p+6%% zN-bWgueo>`HwArkE80fR&WVtp^%H=oL zwTp84?{)NOnDWAuS5J9z2Z!i}4qd%$%RhaVjbAq*<^+k~v;oW|4vFW@eX#GFZCh!&9VsqI; zdRVs%RQulSCm)Fx8fe(dtbRuzjnZD(#O(YH7aS}3z70@Ry*b6%jJ%#X-)DjGBTJ-O1m9%8|C?DSk^Bn%SHZp?v0qdc zzU;Z|ygAg!Bfy z%Krkks^||HqnRUIouCbm)S7)tjVluSVVUgP*mlog40sLa$R~h5>jTZ1_bsx{v<&+< z>BRTRJc+x)i}H1t4qhHFYn7~F3SS6sM&J0SNPi*U5YRbKG`i2W*+q5_QO?ll{bSxu z_$4|Sy)rl9zmfVn*n`_my66)RM$FDf?0w`Z-raOVbGbKJ z4b^;0U%~j!M?M;NR_-!Y#d8Vb-%TE&#e8V~97u?Mj+W!2CQhk+<(CtG;o7;DT|1AJ zvqn1y9Rba-bMS*P7SJyS`f(|JI3o9jQ2sQ^F)rb5eV$SBRFJ+O{QJ>GtS>dQpR!?y zI%Q9UlozWs({1P;3;vLAutkIDL&2#SolP1=Swf$&a_Q&=*Ow@CFQFf9kan?#)%Kp% zgHh_-Cuh;APYI6}&$mDt9(};3zkDleA$vY#ui8Fr_n4b*>3nM?>00k9_DlJ#x^sU% z?MYX|rxVB{?Hr3wMh3^F27XE2W!TUnA5|}n&d_UBi}(VD!AI~Aepc(|TVkily*F)~ zH#*<`6&|v2<__D};bF0dWlc@i*0?uF?D1aOCHqqjw~o8Q>duS-wx6Jl{s+I05-(-Q zdae!M?Z9u&zy%M{(<p&h%jnDwaELO0I7u5~Z({%Q&0P2(xB*;b-Ty7>Pmy278KKRC@}0q3{_#rd zI_7Rt#umyLqMcP9?rKnFHcf1Le0&b~JeCDNN_p7d!KkNXm2so8>-a}tuMsD69;ss{ z$3Fps!9|v9VKj|IO@;QTB>Vxq|a`4$f20_?2}!Q|6tN zchPkw+b{0;C`_^chHA0J@GmniRi>~7vCFGc6GA4oxzJf;O?0BjsMsoY9!d91Y^lU! z&kTUu%L(GN4OL6y*t;^nk+>J=4~dt&l19;<%NQ3v%}>((NENI+h|Q|l6Dah~FHhP! zmvr7tnZoZGe0nR{YuAX~!i_+_TPtS_9sOUPvK;ESxQ;1B2sI=V2SeJ1N$ zPmO--8l{}~ZtPzT9ryR*MgK|PxqF4A-t+3}{Ty}mW6wv~f0qDf;miM^uZ6yX^F{N* z@9-OZss%qu{sj9=`4)6tz4q2M$;$@6V#wOj+|2ix`q{fIW5TW4)Tb#|?4+@JINyd= zy|+;wbHBwJv<-`|tnm0(N>AtyRk1$abzDtt+wc!drEY_{am6;(e2V*<_OY%mcb8ya z-XSmH&0j&bVh8s?A=4z8}u?fnp0m-1N$4T|o54V$F~ zoD}`h#vDQBxZk22S?~E6^g2NpyZ zM9IGe=SJ=4_2ypSuQCt&ip06UDs|nn@zrYvJB2RBlV4$<)vo1U^-HCyK4;uh^eo@n z+l9a7W$J3!$6Yg$@4wCSaoPBYBfI*+q7x@g6b<REa ziu`=S>#p03O?SuE85{4s-MB5baZ{mcUH9(wcitH{;&-kylo4yW-B_?i8Le%xwvV+M z+1SRr?`|{Jt^fGO_Yf1BuU%dEwS6z+fl}CBxv1G zD2(D6H(}xwztX&#()oG#$-j5;ERb*k9Kx?<^PPxjY|6r&a*Wb0iCAP_K_{Un-tD29sZCHO-+s1gTZR6c{ zWx>lOCmkrgU?*F*jzU_q?;mQ}*tS0V77==8la4L1X??qK7v0mozRlR&a`){mu{-Zv zzfL&?*a%Y1`YoF`wg9bnI`#(XLz|cl8}D3y_s80dPsBF1ZM^GtBOYs6XLnzFUKhuu zkMC|ORJT)y(8S1=D+NhUg;!T!J0{95{rxq|9ey!rx=k^oN-dAwCHUGr5?S;9u<;4I zt(hVV^NNDb2F-j(PA|zeEE&wi6b=6f@6{_WHK48Q*HC<~|FM9uqPZqMY zT5qgby*dY1?|t9RHpI9Q>{??jv2}4CcW&Oa-muAfm9hM;wzVpJw@~tZwFW$4FN}Q( z{`mzz>{%{uR0_LUU5Rr4G{4{SdpF7>DGG$&C_nkv61xjjlwsI!N`0W$`O7>$Fshut z%wtr0+xgSaIe*^2Ie)%0&R_9goIm4v=g&Oq{3SY^zf5*5lU>hb_hz#DGTDnW*^Nwg zGm|}0TPvNU=r{j63hLR%IXS1)PY$VgznWFA*soe5m+#;Qe+oVE3NP3E~G z^Q_A}>mj|(5UuEm&71F3S1(ww;Qwv!>SE)luJD=N*`58x$;RL%Cgz%?(k8Kuch?an zB*AuU$B|=awKgGzM(dy5;D8-l-nB6ih>Zz97HyTNpagh;BC1L$t#~N{i68f&5~42< z0pg*mnyPB8s;bgHR6*=3PqbVt$|j zGSDTl(YeC(W@%0gH;YbwmD)3uZq-?~C7mnGKBlu(_rcaHY=;vsbL_h)KqyGv2gxsm z`Bbuk?}T9xD?42!G*#r@z}S&|AydfZ3wBJAlUXY47vdq5b{6sy3x#14h9RTFIF;%g z8VWGb+qrk2jZXO`xh!?0%f+M<=y#!o(64ezQDb93uHqAI@Vf1G<66;5wj(J~Cw&_n zy2+tU4h`h9XkD_ovAKs(#j}8AbA{Y^0kwhzj!vr^-R?=J_oo}x?m4sxQ%G+VO;$rw zqlNJa#Ij?cXQ2DOfs~9*CXOLf6;MC2CDN^q4DMH`;f_J>;kl_9RhZV7+fm09=4OvN z*8w(ZYHB*0gIw?4lC}aCnp$9?(*#^OEt>BQltqNBr^=({qzq zHI`Eoxmjw2%z~EbOm{ie7?E#MP?XtyU~ng*%lnxDh9TXmu9YOy7S*AWV0<;fcv&!B z)|gmLFi{pvlm(Nk2`0;eNn3FLa4Lf+?v(xL)F{Lz6R!v-;Pq*Zw}!p`k!SjhoZEC6 z9x-)Qh?2HFKQX#3z%s{BTRD_0hvMZ>A|Qd`9wb8`fK()5Dyz|>fOj$xM{71UgN6Xz zAGCBw@)h}_u~DIO(Q}|Dt-5+tUr)M6cOS&npfxeQ(MCLSWJb;9$B;&0Bysco58`}i zJ5Eh$p1V7TJB1lQpA!0-PL)YbwxxY*+i9&wNw+zCP3Y%8Q#*e|Y}^`Qnp*{qo{JKJP!h_)^<{ z+TO;NsF!v9*|Fv=v@$phzt8J29lq$6SkQWd z@v-G2_*`IxJpAwaaGPGpo8Mag&sbo^W8v3!duY_4UurN(PnI#%0yw>P=BY@a__v1E zkN0lcfa_ zZfX`89nWVnn+)i*5448)jH_sr(h1jvjFB>;Z`$dG-bW^5bjUluvae;CudE(b1gZ#B z5%~W@0F_rQW4&z1!Sne4wmz>#=egE*oqEtQeFXF7IBo`A!-jF`mD zbIFK5f?9fuf=|}K7!~hnKKD^JZ$p<3neeeYgk6%!Zz7tyCKTCSRuhi2BpDguo?hXCWfbJw# zKb^Yd7OZELudvSNh2oN)Gj|f>s@NNU1IE(Vooz?>_!7rFu_p<9topg=hEwQgzOX!B zJhuasaxI|0n=hsn`3y}!gQ_N4oS|f2M%3*vTE50ss8#^v#2J2lTIY-%fvf9tq}1o)wHY zbifZ!zinwupW_FAN4!UH5A#;GmB#OhoxwdH;2$S;Z@|ZWJal_IedaFT?_b`Cb*CLg z&nsx7*Q$w4?OdlypZFb@FaNfPv5Irh3EiJQiShO0@E4bCD}4`nBkaKV$Gg~Hp+AH5 zi1@~f{thyoS@YxYJ>kcrsHu7QEy>Adb2-hze&F&WWFSN8t*{_hZlydOGwig{4OR1bP$x z*t4zyhl{AzK;k0kT0G&!?}P|6tN~pIjryZHcmw8x;cb?*fZl=_w1d_mMqQv$#Bd+z zt%&gf(Dkrj1hgI&Jq(Ii(!~ocB6JHjR5X{*?%?X;OJqnM$%HP45B>;Ji=B{ zKLAimMn*rKm}u>nBVl0G;SUPZKp$I)NDoZ7O%SNnEL<(kO-2#wVCtb*fWR_lmHHIo z!B9F^@5^O0n4Pso*iP0yCnkt1TD4-CkQ6-UeB}=Y&Gy<&^5`x2lsd7Af|QZ3A#>MB zZqBonvdP*!D@r@4W~j{3eCwp8a{A;ybLtJ{#pi|GH9~f*#}bOXJJQT6PyIVl+poG3ogcQ>AfM@^P&3 z>$3MBaC{`^(+w&8IGW=9yV2#R3`N_t!G*8n@(L)#8L`#z0qMFYD6Fl6>h%!O&WdR5 zlTcw<3&VPZg#{Yj@_Iz(RcBHP#1D9Ka-p3hzF+yYk7b4mZieTNZbd`(jyL*F zPKWfK3}2Ty$ym8~7x{SU$1KBa!%#?Z&xCUw{nDT|vQzxKwuo!$QcYRi6-Z_1RfU(J z6=7Qi1y`}BAbE$-PkhQDgULwDEJ=4%DmCIQX*(^&8|N{w=$;eG6BHY~aepoyk2ZIS zBVP}7`#>_YB3k;f^x2+Zi5Tu%Vrc~)v!j5x0+o#V*p6xo-|%9)?SZ=TsNm(MC{!z9 zx`9`{2hBK8pXk4e`g1xQ(^8-rrN75&6|^S_G5+GHWoNYDXo_-fGkL9&RbF|4C^-+= zwu=@Ty(XNWwRh&ST&KX!ou*Bsvz!xlemXg|zqzJCH_yW#HE0I4T zaJ~C%t?+A*B+lDJxLut% znKx+AbBHGm_}k?B#`8;Epd|NEZ&U((S^f3+?Xt%cx|SUGP&jQjk$wR zG{T~<=R@Lt+$fVEv$o$L5OR4aA>&m=3uWXh@3#8<7f}=~%w~dBrL%nHI32_Hf0?~m zN|{gYB}IJ+>)X{KJ_e{1*e9^hSu_N^Cj1t}+zsey6^BmWd8l>Fc6|sUhHNSn6P#9* z;(BKI<#*fmDa072ELCU*u;9W}a;o=hV<_(6m{9?Z?U4x^6E?1A;+qp=+s$}KkYxrh zmjDO4xAX!N_g1v15@6Il1ScoQoGh>R@D@uCj9kbTBUDSvFHad0gNpDx!I(Zmvo4T~ zh%<2)I&|*L5x|CKKiBioA$RCsC>xLYPXZt|ho9m?2`HM1PF3@Aq6~@tBtl~{SGpc* z{Sw~#?pSj!*L$6Yq6ng4+DM(~8ZO43hTOX&c%e~vYjhUFW^CAM;`6bj>arJpJc^Pl z-i){D{M5O!R)>#o_~Vh%2Zn86y%%Y{3%8e!|F|b!$S}gda9*w=ouRHvVm;k%bgQg5+6UL_T92Wh2;=Z&2VOM$W>Tq9lB!ADD zzKt3gm4`MF{03ZE)9nH=5^4#?2xDqZO`EMnYy&q5-*8Oy9v4=5(X>k#&;-J#`QK_8 z8AYL|tC`U@ZNASM4$1JzGo9}*yX@;}PdN-I0wBVyvSj-J#Ius+IT&WtjvhYUq_a`O zvT!-DpHVoZrU7_WE3q>i4OnX;L4Z0!QV+XN-83Y7ncI@jW(y_g@CZfd@y1~jEz(TT zIKvUaEWP_qX^+nyf^!|X%VCpb`j5ubsjUKpxXT)emEgHUM)@j%hnaqtr3PHzbq2|G z40w&8cc9lGC&F&rDVMxFgK+j*E4VKKxBF1z;n+0r<}QBek#;XGD+8$FmS~*+KwEdU zEZVdWGeL@eEFQ&VpS*OR=1q3yZ_OwWA7vC(GE1x-&25G!bv4rtTsmh!PbJZ!Wfi06{wK)Oj zQwCz~Yeo@<{~Nn{sbmVSa81V*BIsS zYYqhl&V2Qj(HgHwx#CS6GDi>wll06C%SkUJ#9H!9o->@XpRv0uGRV)eHs2X?!HpTo zaP9rSrO~_*ff>9;9ZX>ozppZkK%A@LpwGDXXus5@UW09TQ)^mPRdF^b!Y)$NbXzFL zfZda(rSdP|9V6_WBN9cra&aaq7e$W|YI%$!9UKtogrCy#K#x zbulJpi;~)ZTZ(iJ#sY z5(_)=$gj8mZLh`_;Zh+@gsLUG)i!@nIm=v(W_^g21Pw)L86^Vl4+e*5`IkCCVPe%kQ)cF z+;ia!r+vl$5`#}POj-a^#KDf41E7UynvK0eQu($l2)bj6Y};w&{82BT*C_cS!>}=C zoX`N<#3C5$x7G+FMs4~izAy6@^0SpN`Az>{uM96{dD7yQds#!*>q!RULJ&OzTqjx> z3=nWE*|y3KqR{X-_VeKF+Qt#7U+ipPPLZhh9kqK>RjG9A>B#XQ40!xx}~Tqe6Y6 zNFpq!Y-Ck+k_Y|3I}4Q(@0!!$jv7dLoy6CKxP&lUNeU*{>UGHxfCZtwFKNni?CKyx z_*pq?V-dm&5ilVZpuy^-ta90@vXQ2$IbGO4*lqewCd?trtkos>gnX*Pl@b%zCzLPh zhGi(P=yIMzFv2la@A;M26qCJXXD&IVA#Cv%hMPLV?zlPc-da`_?@7@Be!p7TBm^j9 za^b|Tf858nOJM7BdE2ApA04JxEdpJTJz zmBvRJ7tR0W;7!(dWgIW2<>`=1QOjO( zW{KXD@9`-TOfn1plDAAviTdP$IMDJuk6es-R3*AQ#bj&}vqRR3rD8}ds<6qm3^0+e zFD{{HO`%B+J2#-IXkN8ArhzXitbIR4Izx5a-S=sm zWp-hyR4d|l1=zrdT~I1dR5IVKG>ay^4NLW|$&aQX?l-Zb`b<^#cS3w~+>b6>+^O&a z<(+M-1pFzNnkMfED@H{Z^IqiSbJjC+ynb(bg>fkw3^Macy}-U+DwlKoUq%VDd7$(2 zLoNkF!>ZoXFi#fyZi+#s7SXld&+HfdE+4zI8i!+1LQHx5wc9{iVIdmx~&Lcj*En>Eqe)8383zJ;j=NLmWNi0V`gc7WfLD4Ll9V}C&uhz@%ZIjVWEEtYXs~&=UG8f$!;8Ym?M-3^S@=@9=9R>eFIh>EH-!Li7U2l$523eQNUh8uv0PGsg zpL?AKvHVF5>m2luI;Mdo72oIr+J4rhz*Aq)LvY;=te-d$(#b1xn;$KxLgqhhQ{cGJ zoS0fgZi;y1@w>7g!&wq+-tBxKWC zBeyAuyhsbQm`^XK%dVn4E)M`1yCAOuhdnPY4j68laR6Gb|H(|iw@ReUGzp6=IWt-z z&))9K6N5Vb$XPZdCgpUj+H{(y@+eZL>RNTO>mNCXe8MUQ2Ou-uJ|iTUWW%HbhM zHbokiQ;+a3{os|yw z>1uM#7wS(3!#JiM}Ol+DiQ3n1!OokstbFI=j6?Q%}=SW}@l@nGELxq2jK*Xr^;M#Yz-LNx58dRv9RQ9zhtHSxF zQnh;Wi9fTHl1Q5@@?OA18>nmXQRcFgSyj;|Ndk4M``K@F5_s z4+j%Ssfg-nM$KjL{(*TV0vt%07IyuN9@pba5gA@NK}{y76xrH-nI#dj%&0YKBj$Ap z&Fwso7wHF#V`xY(Mra8kGF^(MrK{G%2sLahiZ);r9321oYXiO6&lp%dGRtJMS^6N1 zXm4901|i7c()%wgCTZh959FHoUNzG)^2ckcVaJ>Wl@S;cyQ~mVV!a4dnH4D)@@)GM zQsVle{KpuI=f%a;od{6PC%-Ra|Kw%ZmRvu_dW*MP+%NBynt5Ytlk@J<=4-7&ZS;~Og$XkD_JN~wA+ZQWftAA zmRjjW97}XK807eh!7--x^o~-u#sWlOngCwQ$D&@96XSFuW9PuHM2R8hz0@yN$^w)j zRJW=V`NJ|RuJG2K?E7_4lZ2=FqJEg;UaIj$zNaXNu|k{cuu&JmTid@Xx?4nU(mu!> z6IXCWCbhr{JW@RRyZb>ozRdSmo9g$L)Wpk_kOj57azNF%rN#Q#Z>fPu#!ILnKJiZS z3i6nPj`L}%ci_RWrZgVuIN;PZoX&5M~ z)D$k^J=s{Lnwx_l2||d3He)0{Y&+~FQD;Y5fehWL+&n~X4{!fV$s05?rN63=JJUzk zvH~$k0^spTM*t27RZJ#rYf_ekr7!r4#vNEEk_DX)ZM~vKa#FcPZaL;p!^wBPQ38Ad zX-N?iFw4g~H6EKmVE8__)dV4~$luY(X(Bjb+Ja8n#I7}5(a>gmKrltxIs*B8PfIzd zeerQ68j8>lTpf!KxCIIdXOJ`9zfvdHdolwyu14x-$8M@AKmfci4B{fI3F|DIi`i+R z-hqRpf2f6*eP7gdvn#IG`5YM%q56RNno5-{o*a`wm#v)ah{MEFQ^z~e-PzWBF8dSl>oXi z6{NGGb~WfD(qw+)eWr8d)+usP0bUdPgWSqTJ$SfM>4#>FR@B~SBJ&94J-bVv$BQvP zUo3ZKic?3Q_=a-!9*Odn;xn4Emd-2GPgy;4sZu50Tv$$0^J?LU!$USfoZbAl)Xcs> z&`uh(A#eaxv01P>*-r1oIvq@4GOb)M;i*x)@E|>$wFi+MzTwymDrIdYjIOxsdS6D{ z(;t3O1I9hR{((KNAX-@(Y=Wv!fs7|74*-teTdYR)Ke!INtG}<`?*gQ zmxUP0Pcrbzw|<**{sI=sG)dX7I0S3ty>rRuTf?^crbb;=^Sn3J-z*d;_oW~ z)pq7`T+Jw0ZU%Zrw|^O6{00r|o6aJwb8Vxm7cn=XVWhwe6`-9pBF62F!lKbylo89Fd#w22h5}2Y|WIp|8JUI zQO)S;*u8SmI6;#O+LtZ00?R32QH0Hp%^#ytq3Dx|v-C56M|i*2%pxH^kzR$)s=I0? zBdI72Ex?d89`?DFNH@MJ0$hH+riHC!$kO{xGdoL@F2F1iz)tuxu@aGq{fFrQT!97n zeInvZS0V%_^&J%mIH`B_WsNi# z>zqSLikg-5xd?mC?C6mQ(GEOosRupy~#UOn0)o&!hPsXSm*G&WX zTco4;paG18@JFhqt-oZ`-ThHsMKC1b*Q;@=CG&N4UAsPIyc|favEReqn-Bk_)w^?W zLY2K;OUA{M^Z`N8&1MU=6E&$8uoM_~13(k}5s;e@lTL70=kw9R(n<{v-%zDb-2-3} z5Mmup)szrNugdF=A6!A}oUj|xCltFyV|HOJ9YM`}k9O?|CCJfgv+G6i9cSAxU^CA$Pw2I`+Y%VM)Iid7CLJ|0FCZn; zj7F3dILlPf`yUNMsca+Of?wr)jAc=UaVM>E<Uk-24 zJ&Qd>FKxL8ZHOO+6*NxVx0FLW4Q=eyrq#gFzuK|ROo5ZGlb48q$$H>2kIiK!bKq-` z*L4mwfPNeRykc@t!bMw=!JY2;$+Z?KNoSV6DV8_<)N~?5WUAF$2QOy(G(!iPu>Fv& zsMhPbV#N@W&ciphG$(3TFPMz2d-UTso`k*1oyhY-gNre6h&@`R zffpJC3eo)DO1K3Q3onjTNcgfb#S$5D&KK}6EMnNOB_0_**NYq#Ay&X3wX-$ z$-A)3F1Ma$Hpj~>n3F)Xi8kiMh^uqa| z$r0qf<|Wkwh8mj6S?iq^xM`w(*ZzOsIYZ%Ne7mxYfFyA|Z!;=fk9E@uV)Ta(HQ`=K zqz0_f4w5D3a6q*y8(V5>iABl2IGH6^J8Sp>HhqOTt!)0nhQqM_!qXC}5W*WtwxcZGhC- zW-fD`D-<{`4oR+PSKZq^(?r`F9H?Zga(5TeT-rL-hhNiv`DL8>DyPk%{sD?t4dpjh z`dMD+0A7rEq<^o8XBY8F{==79tM8|Q7J+{3bzOhY3IS}SSJ99_C2O0CsxGFcB`VV; zEse}$^isrh21qmpK$IdN<5b=37`BNQcAu|*&d@;9{2OmrhzUb6k z0MxwTxg@4tpX1Y|4G$#Q6j>yEsQxsCYJ|UGe1}plT4Bj(GuI))W=4BAdB(Uh01CGcyL2@nix-d73M6mkhkyfOt0N+pd>ORXkxvdZGpb2kj8f zbPKrxQwWAg8&^tcs5L>>Q1T#n2_u;qbWxXuGy9b!TnvmO{KXXn7isz)DF_Rb2p_d0 zRw^Znof-i`Fe%j__)>t&t)LWUm~XNmyb3~114$3F`}34N18=GRU6EuoIBa1Mz073F zH|0!|D!Hp*vL|eOFChDNHib#Pp>}B!U?%_Q+Nc1D%DUEG0O5)WjeWk2TI$g-6OQ>G|Ac)qJ~W7UZrVd^FiZV4t+fBymOIg*f&(H7?1vfp~1cryDuRb&X` zN(u_A2|sBliD9d`myNU?cV@mgmo7n%i^(oiE?qHbeZ?_fn=EKjpi%-URX!d{eT*V_ zEsNM6CJ?-<_n^5rhm78J+XD0#0IYt@UWjKH;k18>XKc56^*A`l#XWawMf7=u^o;l+ zb;_2g3bn46Iom5WTwR!qbM~Kn3#;d4KT(-c6m+8k`v;Xo*!)B1oaX|wo218n5sy6Uw*;6G4#YKVVkW9t`cqzL8}6a@*AEne`uR1$bUY6yR!2Ytn{ia8KOUftx~lg z&#DJIrf7^lTinVl51eU?hF)4bb4i1ha z5moDLa>vZM_1jbvI~88>IU5YpnJX?>d|U290_1X2-1zRcd(oMeNYdpO(*h8{TH}&m z$&`U$d`Ho65Q#3Du{f}}HR0kl~WE+TQclqmu8 zNwe8yygyDjHaNL%M-!*PVbOurtmBLh%q3NEld)lTMOzTQslK=oF{@i^RZS^F%NEP= zIojtJjVPtkn*yZlb{znq(h>DYBl#CG7cGTLkMv+@Mw6XCcevp4E`Rwf?lz)eClNEb ze@aD1w7)0fqs2Qw5><3g<@_?*liqzheC#PyQtGz~!o#L=DALJ4(vu`KYpgp$0Q1Oi zW(r2hmh}_XTq$wDoxs*~XU?nh@;W$Vx&={Hu-eW;BGPNuQ2hX6kpH_Q@^EDHw;$}w zBKgFGhi8F;LjPW>#|#>*&1jX7>o_B0vb0V+7@{6!D4Dl|_TXPTkMFEdV399N6*d_H z0AJ^a0bk6DJ*u~WOP@&+B@Jk8^c|gIlZ`2%iJ*1|#cd#2T2N6Tai^9~AOvK*%Gf${ zzFPUPqP4x+X zz*2=NLt29c^zR!qu}0vlBXrZK>D&0IN|IvM_gWc1#DHR=$;Nl#f&5Iz19BHvA7O89 z^Bs{3CKR+TaeMkrkr;im<uaiiNY~Hmh24I%hc| zhvh`w7l@Q{Xm1v4DmmQ?g3xzXt+*QraW<%cr?bQD@N<>t(#bH2Sa^?7rnzAZxYza@ zWtXGZnR?**b_vxdzIYt2Zz}kM?#IUqqk0%{Lmk!_Jk0YzqF2uBP(Cd9HB4MQ&Bc4A zJ&9(tq6sOB4oUu}q%xJmnzWOJA4hUzizI-c(d|8^8(X?K(Nj8~KhD zkd4lCj(-==vGJfs24#>y$L6b`N@z@jB#^%qHYCwGzB69j3B@;Fs})Xfx?9ILgZ8l0 zn<7mfMOC9H8FD00nl0bAL|WNm!F_J5_Xv2#>gJFg*3&1ZP1TR@*}^3N&9R^bF%j74 z5Ifb1QCk3{`9)S>K8Cdt-+yfrn4ZzFb;erQ2aeE-@q=9L7$oUab++%*k(z&!tA@v@ z4W~dldV<%`fK~Mp0q@2uC*?ei691jpnHx^cW>ZMC!6Yoc7%8!~xc8b6Jg~J-PjsyfG(S~)EXQu{Yjv8EYPpk5gfo;Cv^w1eL6cBMWa%75Ec#A3vAE` z4n(_OIMrWiHb7x<*t4)tQ>Q(?<#5Uc5MIaPa7_X+mt7zyQ3zlW61Frx6Za~knkSO4 zXCb1^PRZ+cRy#PoUhr%^E^J6qmdB?P^5awl{&x#1K(f?U5Z_R%7Jwds;5n@LQ4X)# ze*l_x{nfro8@wlAnkp(Hcc*)of)yyrv-KQsF=Y_b%yg^H1PmMZxsRLxVU@jnKe%^D z{j|t#IknE84loD76)LgKW@-W2CsBHny`i9gO!aXM`yI0{+43_d`2MuOH=F`F_I-P| z`Aizu+NvAVyqn|Q&ydy~*N-cuw@-HZ!}0@|iRts=GgC7{jY;9U5=l&tAcys$$`xm< z3Zre1l@g?;Z)d5BD_=>ntMSBdH(7z%gfqpevUrbOiErF=R^_pktNYDz^P#R!2GhhV zLASwQz*xOu+DXC6a*id0gYH?eISLM)01z<9iaeG>>h8WPJ?XrqoBWOQFV76PQjWsciEP98WklYb>tbd^oUPnDr4E&I=!E&#CjQ|jWdTrmJbuBgn@ zOCYoOCI=tMXv@(!yOu05ssz#Xh6)t)n~r#f*sy)9+ABK;i6G+XT9x08F$4}rSiV02 zwS-j#@f}lPR7fn7qr?f9v~%31p(HZY~h1M{DO!=I*00pJPb{%Z!4^G zQN_Qb1pNVK%){{8e7(V_C&+sfqsxd>H=V`=md1~WR5RriNLvgJ>(^APfbx4sE+_O4 zgXyC(jfPwa!xWF7?Z=PsuI>$lN)zFXOHoMpcX9{vKAps9Cv_22EMGECQ0h?9asr&a zlz_AtT~YYN{ZKzn8kMt#!ZwIB#?n+>r$;=mwF|c`Ku84A;mhE~b!oh|iO{K0!UG5* znCQ@Sxqc)CCUc1{@WOR@*hM}ESUWegH?(2Jeo!j2drOiDoZprNn5*jiB0^2$;t4hc zaER<(uehb84JN*IcRw2h-rG&4M1+nK$?SkflncHi` zqe)3A3oUL&xI!%$?sUWai#+O7Wsqu-QEEzE2s0E9cToT%+6E%NHQjt-)MgCt40T zbew;vywAvU9%7GfZ11d~7$)I~#bP^tjHS%2rDtZHE4F8hr{JY$xer(+H$TE#E6X_m zS2;rMTm;#xg2BJ!dXneJkqY-nf@-gW7ndd=K2kZ z8ZNhs#ZCDTQMQr>Zq(nJ5*{po%47{*z~7S>b*xJGqzRj^%-?Nh8|-F3@Mso!B!pMM z@o^qKb1NT=MoAw(2XH8xX99C{Ed$p}q?TriB89OEI!kw4HmkM?ex5`9-sHQ-Fv8ZZ z?97PI>7R@tz>>O;t#~B}!6omxZg-cFkspJx@OzSF;d_?JRe%{Hmp%oe>>wYNdawY- zY!zF@dP-wulkVKHx`ULxu>)9$pa&5$`#k(I4QbiTfpm@xBuvC;lg54KC|a&r2skch zPlX^<1F(rUP}`Sd{Jl2)!U8R;i*hoR=--Oi^c+*pZl;f=@?)hUJzyzwBq%TA=mJ}4 z>XC~UQ?oGuT^lLcJm~g_g1sTY3n9=qFnyQKX+bJ#DII_~uA>CvWHD5kQOSSQESn zH!}_C7RLzn71(IbW6-u{&woXH$!=^we|)RchG>taZ3Bh#RN@^i$Hk^cCp_6&1QsYv z`-Wboya{_9;M|t=rwRqFiqQ!~C7eb^8S$whTHou~hR6r=yAWk3AMJ_3lvv$X#Qk3~6uO}yC{OdOqhy^j_WC{al zqN?0vjA<&Wv%A?_*%NowS?TVaJ9bdb+(kdqB z&gqXDeMM(ePkP8M$UY}aXrDdIiq0?fh}#L^p{>I>Dy>Q!Zl5P-y=IB0U-BF~CX=U1 zww(!JD=R>568$QrCOYIcMHr~W{JQI{X8_yZ!i`INuEU|-ldpOLbWY1+_SSq=U{8RO^=MEpY>nHr32-e2VjcPF_w&-2aUKpXDBi(+R2Hi2H-NntVzuc_MYgm0 zpexk3HQvlXPl)MN!RP92IAF$%@{QGSxWNU}7NX78!YSAH@S%K|=Hw?FBAbUGD>u}* z`>Q@l_A8e_GD2)NU)HP6+04zAb%@B`9QoaH@w@^|LqqA2H~|<_CNwNuD8g7k>uZ%o z@T~egB1LdGvV~CY(P9UAsx)@1)wPa6kfyxUG%7~=p?*krXQq5e7Xq?i#X*U|Xn@wt zjb#gH3hG0qFiZf~l%m8KwXB}Uo%7iA3O)(5mkT)HN8^SFab*hJ$Rk5N?YW+{?Eq!T zX}$0=ya1qNOHz(F>N{Dh=Ig4KwLxUV8vHBET!0fZvh%m$8UaQ`x(9-%7Sq2^Ot@I2 zh{dLn&tStI8JhgP&hvpV*z^)7z09pxK~-BJ0QVX2V<-YWS7)_Iwe_Fca*(L+nkYG-0bOiMamn+J}q}-A2hkMxRtT9pPQ*+xc%SWwV!;h^S?bADI)jZHEr#JJMbe9r; zMRyQ35mE{ku`VrP3BZzeF?lAlwM(>7C-WlQ9#%wBC=dWn7+vo8G#MDRn zAU`UEe#behG>WKFnnL1HpkcsX;$2WWdQ?$zBq!iq@D2h(zSY~DiDuZ*6!3{{;LL#y zLo7WsvRWVCJmQ80S#f$Dt=69T+Y>m<9jhv!({`3wh_EdwC!JOWK zG}X`~Pm!{+FI0{jn~%IBABn(qoVWp|H83#xs+(zIzQ8fx!m64nw|M1Xt5SbH163!S zv2l#V@KaGxPK0jbw^QStvS;H*U02AbAI?;eSx!q&AFn%fjKv;>(X?|_(GfzO>`=@L z)Dkg?xZ)jfpe7du4x=Z_kRm6zC^H9Eg;;)@Wb7Qjy@HQ2vjRY<&8;ney}&`iY`G{q zkIu!Up?hH6XJt%2yiq%v*82>D*S}M68G|}eq0RCF3-7p!J7RP3X@10KIdsp^>FCQt z0IE4VRg6_pXRIM^@3`(j}`KLoOv7TBvjpdKFce|BMY3KOClF8Dap0~@I6PR51NPHeM_wPu0j z0z8mSjZUXWYOI#eXpI-4-!rlU?{oDn>rE^evUpO75>Rmx|@KiBj5o(U0) z;RA%J35;lL0{X;wm6s%RJWyftaGFOEP*EE>L`hQt!Q2|JIGIcdkZVjo&7>d_HL(wjd~!`Xk1b_;vz-<_K%BtKunv5d6QoLW5s7&M z+>A%uzue3~X{2sc>M358E@B!d(&-RGRSOtjp>2vbv>FK|DF$!rNzbLqVH;)#!VNne zqPZ2As4tJJ-1wxhRHvJ!G zof;#kWSYssz6Kvn8gp?yiC*cIHN5qUUdd>wMP*y_JmEPej0n^^6OpOd>E=%Ga7i0; z`nbHXa?*^VO358Tol}Rwf4q%;4?86~oEH*W?QPQ-pQXCfpgZ=A+94BF!DzU!h2=C5 zOaNKSha`9@Pt{8nrm#ZtZtoG>_Pe&0EJztNVXPxmJPJ^dF~90OwPG8yDuHvMY&1i& z$|-UF2k2#Q+DeX}OB311vxabtI7w~Ciq6#2-M&l$^&j|fMjiqj!ZDE`d6+9EL}7jb zAf;6Bkn>q*#i5Lr@$5f55H3HVesKKl&73lQbcJ4BEPP7>6hcYaD|93eJ-bv8-6H6J zLS1927eZ@^iG{Ye^`?!s>ym)J8m`DIp<}hIOY|jPN3bLcL+_pVlo>)^%r(>ZLM!Ou z)@dtqY%I0&fDvmN4g()X)l(LJG=C0EzhlHPvA9^!hn{$^VA*0Cp}g`b@MhXV2Vw3% zdb!@Ap_S~Gg=Qr~IgL7_)g@e6Q1S)~sadg3{(;;~MPlcz+lS|a^h0R zW-{raReo^;Y8tB1-7t#5dIvE%cDO}%i!M*3f@F0i@F99fshF^NUefVO1xS^84@G^? z%7jharzD9I8EtzWb@V}53CYymKMLmq>j6xu`$aiy=5DHzkpb8vdOqwW>j44Yr5o*F z>}ih$7yGrKp*GdyS~U9f-7)?84%qe$f?fHFm_XQM@#D~;ovn$_+Qm%KwK21Jz(oBx zLnT+|Fp_R?he(mI&Z1Zy?|-;d&{T`Nf3$|QQ0C9c1OlFJ;oAr~U_hS%17)YH2{O|I zCFgiSq{G1uHOkL~R*MEH+o|ZAJa%Xl+60EHS=*)lw>0CeqHop6?5~Y^iebpMwY`XpW`h6R1Jr7A; z84a?y(bo?aa}Qf#-{HtK6diRhF_$}+i+wE-H686v5{_Z^i?#{xQaRo9`Gtrm8}NS5hiFrps$#P~kte~> zoeZ`ovJDvakpw64{50Q)Zq;XQ3eUIYpmWVNW9pisxnwq$({HzEY-gh~xoC-s2G%mE zq~vD8FTciWOL`a&!oTS=$Q`R|+p544=w3&03|t7`nKw%;J7m=u!A2tg8QRGB*Z-OF zad+MNd4;fu*A;)-_X@B<6^=#(MCD*|{*E&=l8|{(B6H(aF-l0qhmUwJl~mpR&=q~M ziCa(5JKpc8bd9d)c@OX?!8NML%#ug2ntCmQY^u09b0)sc>pGwV8uHm5 zMm@n(=duc6Y*`}>DlYz`>CxsY>)8c7o-H}M`ZQBjVUeGclMHG@U;-ia5!cvgMry`QF6RCeiN4u0un!lflJI&Es{4JdRYo{k!u-@a}i1B*$!K+{!oh zM_ntpv)NTu!&48dxe#`PGD&k$E}*5f(ftHrbBEY($8KHuL$#fKkvrXt^Hk z>0nb=XtlYBXeM7W7>Z&s1mx2}iThsqUbFL|cS~t!7T3c$&Jn|E+l6}&q~~+!8&auU zm0D(?nPWl%FG6oF7WC68VJ0@9?@!#XyQI0@=@DISbLFYx+chn?X79Ca=TBZ{>uZwpVL9i&ScT z>51>un(q?8o3nis2GAFp;7E{itWnP&4jxGn+~DmrTH||y+3g#pg&aak9&@R~UfTVR ziRb3N5U)j1Ze%$5T#NxU$El|)spjceMC+<%y;RXx7~9UD;$^sZLx}qIsp{*^c~bN$a|DSy z=chshftStOOFa0Li*29CMl=eWO$Ks5WsdXfJcOm%4+a3?)2f^R2^zVnt2IW6I$)u% zbCtelT@SO;`$Rd4g5|}38$?;K0KO?M8L7s zeaqW3u#fAH>rgENtJB;N1^zxysW4hghhz%TON;Oz5Ijw|ieygk{s(0}c&3wcL-@j= z;33U3xv!1jRN~lDgXfs{7+4sMr0NbI8`-nj%v{;eTNf6I9Kz!Q#@0456YAuU9UzX} z1)>7jSh<9aJinUuZM>yDkn(C>(Yr$q+{ht>t{}xZxFN>}e+|ODOT>El)7r1ReO1%E za{WkeXLPx2Xg8yI0vPzrbDE10LjPpxSUMun+HW zh9^W_V`yVJQZTLl)Lgdq;2Z!QK;pk$?*6J(Z?Lgm@ed$=C;vfhPWT?T8>FU0eatd+ z!t7Qe@@%JIz2H@$SPjRmRGI3u@ktbHN?<2{bV_hz@RihdLTcv+@#W3j(m>nq5w=g`YWDWsG>Rwiw?fW)AaOVhkiAg=>bdtpFdHmrC@BdVq8?Qh zfFMYW_&m&@%&RB8^q)0%d#*Tf4ff@7zj`|CftBL(nurp-_nfZ31o-v)Vnw2^I9Kx0 zg;O)`)K3r#Wg{10s5Zhmv@B{Xz6wO-41F1=4g``_GY3Jn>8!e;xq9(nBvli z0E5t5LI3lPYeyiqH5kpVpdvBM!>G}BjbK;)rIiluOk>6_tqa8;ZCfkz0opPpkx$nz z3?A2K6m3&=#fCIT`TzeR*UQwwA?-sjk>&7IObgdUfb83~X`5zL3~(Ekp!~wfnQDk) z;oW0$+sZs_3+UOrkO3}~rM+!+#|x+vvJyR`d`o-iX>(VPUZ*pA!*`4B9$Al@O4&ec zq=#CQW4zQS_GMEcX2wVfUD%1LL}O%~IGQfEdji@T=;x zuTbTcbrI}2)`C@Y2TaYvtD;R z@sF9@C;!^#ykE1#mE31K0tvr)zCVdQS+GMTcr_=V`ej8t0~v90PH{jKim7+*;K zn-w^?lDXk!7+Tr!HZ&c-J5z~7wQIde7jvan+pv+npbH>r=c}lN^kP1vw2^g9iKOa! z%||#J6V~@DNImlD8GPTehE`wq{8{^j*fC0dxm_9mv!i0)#vMP))kMyZ0ts2n#P!k8 zv&HnF6c|abQA|3=%RQh4S7gnMrHT|ou1WXYNiG^a;@3y&AC6&EDPY4mA=0EcB>&4t zNz5jqb&5+;bVuQyTf~>}#j^d}w28A3`Oq#^^&pllXrfzz8~{Z&SKdi$E{Ro=$SRlb zmUtFK_r4&(J~qwEa^%1}Ip`7Z;hWPM1<+L}j#KRP+&0AuyGT2pK@3}>Wo&G3BJ^Tn z=eW@aR92iqvG>CQPGVC&Z&75X_q!(g;lkEC0Y_l-L9XFVn;8g~g#5jmy_*J~c{7vq zmOy4inA|Yg)I_S6L}%AMDU^A*&X9gs#;*LCB2NZi&D|CI=SMeb$BN^ox$&!kwW~v# zw&CC*mP2;CmWeW?R%>QwN5+Ig!$$0f3Mjffgg z#740H8b;hui$K|7YfY*UJ!vi*JQ?e)(%SCV@tZtx+v|NSvo0CUCAre2b>igxoEtxV2)~Uy7WVPxI)U4OJW9+YLkOgxDBqMXDQw>dOg$!)AsX&l z35rafGB`nsj4|X=s&5g9hWX4{Yg$bv!!&*lDOxea@n8oz1^Mr-2-W9w#*#M!=c8C2 z#wYbqZisRrb-so@NKuD|@~IsrGk-COSbJx*ho9-C78l>i8iLLKsug6rJ>Z! zvmXU59lhK)@Ed0{(VFJJ>(A?*ub$hB2_rBqD_h!AQi0#AqdCp>^QZ}mWZMDh!?Hvh z^QYG4Y$Qk095ikuW@L3ZN(n932D!I}%Z)`l!-dzCmb62nW328aOi8o zMjFR!(mFkn$XY)pY)d2&e(!J^L;)c#=4@3sgHP2Y8CX}>viU5Io=d$Io{L(D8|Q3f z(=L>+a$+4{u)dTi#tTiJ3ud#p^oB6&65uSo)heTIs?bQXSWqq#$$3E8ag?4U0BV+* z;q#=niznrDwKt}ZnUWmcnp&XC=A5op7R&)?&e-0`s`xw3rI?VUa}2uXha%F_Q2{Br zY{5~Q!v-Iiggv=PD9ewN3c*Z<>POzjXkrT_@W-YPc+9o0x@ zdF6m^P+nbD66n;e-afG!JsSFFuNl{ljZ^HKxPIA{USWLpB5UBoP?LZCiP4Ui(rZ3m zK|xl&u6D;!iBuZicZ=|7HR}d~x6t5=mh~93;hdI>KXO(0`Nf_Xf+yf!J1yjhz#yz5Ht~QF)Hw1~>NsVauh>Gm z`0iHYVux##o{+B`l5AQSF(V83t&DKpi{a~mly+nn6pP2@Yu z{9P1A{lMh?Xq>|MkJCn`N3)GQbQuM4^n^Gm|P{>m!4KU^Z^IHl0kk z6&LFo9Xmlue}r6%W+Zin>3~p!pJ08^msxRQlRTOC!RqhiYHjJ4zS(N3xiU z|172G)|GyR?ti%FAUg9P|ql1Kq==O)ki9 z1!2%H^auNpLTPstawU|sDlh>h!OM%0IP1sJv9gsS+{0u8C|pnzrc~<;^KSts_%&!= zsb6RaT!ztwXA$6&AXX~{5#!Vd@OZ2bRq@{G=h`;tR$q%AX&dRkplL@b8xgy*c?AI6 zQAR07FM7CTeeuXQe8s4=(w>ZG$7%lyfll}mu)vTcfjEt7CKoRTt}S}MzfA~1)f_2q zzv4*((ZC68+xV%ZL@DKjQM>oTFJ?Vl+`c=hOX1gft{v;@|cQbbBlAGe3e}H-rnFh$D3U%+F$N0NR&X_GBB|M2{u%ljDb@% zYn9Ih#r2zz+Ixm*aSvWvq?D$&+$yC1B=wz`l%I-LL3h1^`kNLfy{qDQL%rT8W}+4r zAZCl112;M5uUtAd3skwYSG%*{B^~gKOTTLrZ(i!Tyz|rmwO(owhnyDjf=4Cfghh}q+ zI(0nNj*U=yIm>ZtxEB-aNY(%(No0$1GOpun;;>s>kj`L}85;$DzEQ*Zn>0g1M;(I8j|`K z9g=|$%o9@F*cjhksv^u3+e>#Bhfhr?*hsD8i&uXj^+g^FfWe>lwlogc)sq-dt<9$n zbR$Y+iP`KJ;UFsIFom8>pl8FlS5QI!x^N~=PmKv?hTm-;-1XjQ{m^1 z^W4AP^b4ma-YthKjDssxZFK#!|L>|%Tsk4CY-kK9@$tAMK!-K_eZWh+QTHNf96LF3 zYww(BJV{!?&VC2%hW9RS*^kvNU=%YO`CbPZ0a~#R`iQAcHdOBpEGu}pluw%g*PtZv z{tVMLbcPTo$n`1o9~TgIn*eE7B!>5yiL8oW3#)Sdr~A|d#s5cu6@IZxYgRze$I;B@&+2d&A&G>YU7`}YBm=>^+> z$~Dj%?r!0jlw6|z1p$;fzvR<7HK>H2cynDW7I65Mj|$RX6QKCXUfC8Kr+N*5{#HjTvJd{o)JJ7=6Cs>&F^W2-b0Qg3`xI6tobujt84#4Du2pF z7O|qg_u0(64Cf>hX$r+liV4ha@NymZVr*=iB8{zucJbmv%5J?AcoEw^YHzCaNmq`R z(%<1&(UAQq%?xWU&`5N4%`rH-LxF9j=(4SO%^uV!Zdj**A4!Iq-NfVl&YaKu zlLyKnY(OIDp@b1m;E+aZpSp-!N&?;dXBIpsMof_-+fZBpX5XR$G$iT=m1k_aAy{-W zh)l%=G#5w|<+EI-EVLc#inb*2fDxM^g!Y=&o<^YF!hC)F6Ri;xyAr`eu8Wn9-z4gX z@AZZ2Ta$c5viOHVusWm*F%`!G;71EL{xhp(% z41Yra3!qGNd437YFi#3glv^pMTJs;dh##3|yK4{%dlc<5`&UJR(CMle&}knB3Ue5S zODZ#)U^KCfg5AbeQ7&(Vq|S>ELR6;w-DQEXf=Z z^~g|wDA11)rq2t-PUSGJ(oG9i-1|jh4%+|f?=F}s9!z=3vvRw5fie__JrXV>LMnSc zj6k{+D6>}d2uKsxEpzZlmc&Pk&5%cy-9YfrG+h-mj~^!m-ouMZLw9DSq8Nk^I3j`K z(!f=Gnpjh=|J*#p`9bC4b9(~LAl=oJ`T95j~XrlQqKS@ck#vK1EA(axZ%*PVM96r&uoPj?cU!Lc7)Se?eUUg^P1WKs;$mc68Eij- zaCGu4l0mG%i@Q;B#g2qyLV4x%)@}{zgC^d++te_LCb~P4BX_nQm*6ty2!N?wXM}L= zDnmTfg{XWJ2OdLsKn^QdOk@p9zY&wm8!e`{FDd|%@WPNgCO9)pK4U(aOz>RXnE^-LS;aoOvvMYK2Bm(u(g}La zvGS_KUc?DW#_D;_w%P&_$Qg{53)E=OHPD zqcz62HcwNVJxm6~irY1U9a&yphHqO~AHR0B{jy}u|kN@UG>~XtE#-*S%A}Whn zn%KfTXBVg2cecdVRe78cm?oNuGaNdJz<(RjjKq|e7y_<{?ibmiF@QpzX}Deso1Mvt zQzRkAOKqo?S8)SP$&3BF_9&=dqbj^-vcgR!1@}OrIcCMT!0JKO_q&ZXNx&UxTs9Dd zM?n#rG>M3w)k+$sneCCDo{Zg-l!*HIXf>_L^#;(s<)Ib6G0nW$#BKP^Hz%Rk!R;Gl zHQX~`ZwMq*tP@m)Dz@n8+^3=%C7SAX&;x<57*LkLvd*8u42V3{YKKR6 zZa&r_b>XPF)jPW!po`uRIhq;yO!R2;bdqCle>L#@GRB?cKW%@=*{sMP)d69m;>aBE z^u<7%yZo$Z)Rb`GEIYBPjAq41!2UgE4jL0h>pc!ffm;1P)%MHuox)9qRqGfp&8u$a z_9R)?3#X!mw&j?HC9>p-lol$exHkR4&QC!F`$C=dEC@8W5qkeJ*wOe* znXp-hMF3#=ixrsDGsr6t72fY6X2QRV_v_W&dpp|pWyCRulsm_|PM&W@bcBkV!5{I> zjU%qJ06NLOH;dWPoROCfI1|o}#o%q6ZJU)Hpe^1&HZaFPtf=I&7p;OIWkKY1#ZRg` zm$(lxXBg9+i3|!+tpt!>yNBT-WNerT z5V4der+CM2z3qx&h;AYvX4yN7XhI&63+m*ibx51=X%Q(?OQi)J=w~GIk=>L-YTDTJ zh-q$cgkU$zCy;&J1C-E;DEZnD{W76&T9gi^ry{31Z?g{KA6MQzp{ag5Y~-^w2(9K< zcqFEu^_>;JaX9{}Jo`^QYR@~wIc5;>aP?kwLIXbv$wad&#C1ZoTTQ#4WO-5U?$Lug zLlQRU-{mB3P-^o|C1JxGMVuoX0#1a<_+;4ZMtaZwwY)fHKmrOX!;bfFY-x7`ob9Xe z9T7c@`zKC9lbx$cgV~mYp;kJ>9Q047f=l;@^D7I$6&QI4U!S(SPR2SNyLL3uQW^_wA^OWA4;=CdO}aFkz&}MW^qX7N`F9as04n38T|S5GCOReacH>1J z*v+rZoiIU8$DiKc&Fxms>#&b0V8+c)4wK0;@``zuyHffd!S5S^3y}e%vADY`=?Ars z;>3DhneT{tXfnduuaPpv)p^jG6-1OV{j$O?Oo@3#3YHp(dIh%qJV9QfAKDUWi)Me& z8FTFntFGn{r$qi_C6uXu4VzqU)?hE1%-E=)0JhhsnDaGgBQ{)T<+hdmT2c{jl(Ze| zLpQhTJ7P5ob+FDv^NK?`e~%ETb^ma{?T^Q1-y*9BbGM-vpMBqffcGW5+Pl2UA|+eI zDt-&BUD^@gWV)t0bS##b%J)s&Z6>{|1p*UQqQx8rv$FR;=~zf7%%*5tkRXAZd^|1S z=Af)F;3Z%Kwf()|-<577Ia};cq6A}djL~4&^E_Y-P1ofzHrG1ob3Kl7hFF%~D#lI8 z07K&9mB=njrzCcxSaUzTkI&I3MA~+@5NP%pmdWAG5qg$spr$W2DeoL$)1EvVxEf_6 z6@BQ)19z*MF#z;erK-rN4>TjG4ZO!dy=!A$e9v^-px3oCXSEE<*t+Rjvo;{fStpo1 z`V9G`diDdW?*H`srJ(aToKfnBb(~ZLDv{37HhAg{wGkOT?gzy-?&l4KrroQ47(G}? z??s&fmtvHeNB_1~hS^NOs4E+y=DBBs>bWU3XxFayvt#7VV6Q^95jm&?4l7-)!PoH#tW2 zYW;Qwtcq_&mChxZl2xA{9@`I&J{*NPRoi;lz+ zx)EB+3@SQ^(B?!;gmHNIyAGn_i^#@Kf@&mckWsJ?ysEwvZB13IqP45iLTf74as3+v zw_K!Dl~^izZv~Q(+rezJr&8@3*zF?%S?C8ke=L9f8*CklcQ-_;bnqa-e*RNDH7LVd z%*7}`Qui!p6fC`z)<>XrljQ-Pku#2rh?l{d${L3k!eDc8jv=eGjy+{hvz=z^@{?S* z%wWjDK2KSV=+Mgp7!}ZV=ZWb^d@dHfjRTsijr*)ZpZ?$!88mS&6tVF-bsLF)R7<*E z-s|vw zPco6+G8VWL7`@F|e0%@Dto-8jam+40Qy4XmEykQB;p5h&NjvWB?*=_Log9dSAfn9V4B(h*nLOw)2@R`n9y@2(NBNdI0dGe644*ddcgB=|6=~}*n5ftBD@ieP;5jQTWpEF(O?X**}E@#s= zMD%^qMEm;qe}VS*fN>18KqR16WAwPR%!M@J{M%eALZ>sk$e!!S)4!lPGW-%0(#O&x znSy`k0B+750Itjn-a$k=IGpEDd%EAIdftjJ;2n4va4SCCTqTHdClzWb9?jzf!1p?c z{GziWDM#?wM2x^2p^0KV7{;F^Z>+-SnPB};eBnkDxDij`{=6rWv_hb{ny$5303pXW zNoZ4!D#aOIbj2Szb%qMO>+Ir_wTZxI>HiS=+x~(x4k+FQ#U5(gBqF_M`r#VJj4*D%@;y8yn;xl}kn?dOUHgM4!B%z{H z4(<7U2Mhufz6T!4d5_=mCRhttmR31Bx-e_DJSPc@%7_$&O=`=YuZ_fi2Ob|kRbrs~ z#B5_`FQOlj+SF2`Rjh7P*ctRVf|(-q@M+^l@uWFB>62f9gTpfAC|uF&WI0lrbHYIMN&8cjf%XH*>+5t95a)MDO*uP%}}J+qk3C z;KP5e!t#h9NaD%^Y_6GL!9EOiKgmmfUWCrNJpIzc#`f$Z{-C%CPMctsj*-w0Q)6sO zV(=N1)&A9P*gz$-C;`ttQFszUf#|;uCxs{<@_YRk&JrrErK>5Td>f8M*x!btm{2x>M0_m3$};^7eISPWsd5@N8$k zD#Ilx6g3Z6{D-`9?I0-a3Nm=y7I#ypoUyK_c<0ywYplyZ5X~%#WxmgiwaIE>#&r4J z2^Kprm}*WApG`LoVRWU=_OV27^aWt*TyuH(^>&U90(NifWmw>~Ok;o0CJoB&zz)A7 z=3C58@Zl58Fy6E10gbhP3anoKZE|gu0PKO<=?~_C+O0jpun|yQf11b~N6x3m@5ig7 z;;fW!zwsLQrXkpI`~T09uPnry&XDgFs_K~^m#%y?3>>saJRQh>XP1ikEX*rD*N8t& zV1NnERz&}VOY7U)Vuuyc!h+48$5}m)oAP&&XR6YUQq=@%VztR}Zp+Kknc^u73!VD(?`#_!bQ-?oZN1;8Y@oSnSIQlp3)NMpsNacvoEDpOnte`ze8(i`lG{G0%fF@y8$O!m$y7^ zWc2R`umOiGL5|Uf4I+r$hojVBMGLiSNy3t2^RswELE{z8V8MrH{E1fgaWZ|cbhuD& zeT~V|vH+U1MZZ!?<*5aXd7|mW#A{~WKKU&uQ4}I9l35b{R>_n`6{inVyE{77&XpY9M2F0*uS=$~xuSZ5HaCTD5@iRh5aK9aL> z=BMvpZ=h}wj zu_(&5gx#BDYs$3`*9L0zZ03$Io|uAss>Ugiin)=q`fAZ>@gW|i)vmr+7lj~oVkx)6 z;2!KoB292-yANg-h)XnX<@8;o`#y)dS4`0vpfwi3wEqv4FCc2p@1Mx?tt>)TKC17& zOxB_-9;7Ct;7APAp4cizaR#{bj<@mrmKu?n#>&vmI6w?NHAgZ?c)ppv+crB*(W+oz zdsTqYcC0Bcjgh@~;bnsj!42qtVi!$jW;xUd;+ZKgy{vvSv;yqZB0`lOU20XbpA{LD8CcerXidITns z;GTL%a74V}pxqkfEUfx?g+hL2^YXHfF}T)F_9RJV*0W@Ym%je$P?Lq7=_<@JFo-ph z_Cxo|Z>h^5RJ=-*Ir}qPMO+>lMv_nIb48Kl-_m?8VTGn&Xn*7cd>5)D^E6J7wnv#z zb|0eF0B#<{h*v!V!Vr;iT3$zd^Wc9bK?GBVm9bng?Shj=MSDgP3f z7_AS2dPRINz5@~&Xj~6FW6o}=B_7ia@M;^)hQo-03u5usAIs$96DaI;Ec^v;t;>~} z^W$OYpliM4`;u7BTW4VzXJ3_Zi11IrgS+)VUr%XB<~G9Jqe9FMO*s-Idd(#qj83NJ?F{w9I_HA2f^N1Scn;6QWes9Q!RAZU8PA=2qi!aZ zJ=eD^URve5|2&#XJ1j`xg&Mf7NRS<Y=m^oie6z+LV&MMD-w#(2#{URF8K!S*zu}?fB}#~ne3XW&2P80 zQzh9!;G?%27S3}NgrL#LZP+Xwa_#CEkmaKMh0u67qjAlCE(iKaHXahaH{?io62&{- zGx(!d;}v%}4W?l_{@SfnZLtUrEg1Y~g9qP)Z!B?dBGI#tA(@SxGDzo>Bt5#CR3;=* zu%Huzc*lu2x2J6!ax7SfY*$0EYJ@+ zukA^_Cej0<&+x*J=Yb8R-oQ0HJQEQPtNDWhm5H+rc}BId4ZNI3QP>s+8P|Bo6>Hha zfcgoz#_2XklfJgon$%>F312{qm2VQ02(PmkRaWJ%o%EtVZTK!>h(Wx-(rO}Y7j8u7 z^^FEvrD3Z@D(qh1H}&yNuFhEKg@m!MOW;_qw%~FHa5P@FN0z;6XCdZLEeC?|3MwrN9Fs{f&;3B&yiW9u_gkTJTiwoIp`(^F1F7pRiHH?3ZYteMRko%w(m4} zB1XEJJU2pil@=AeAgnOH%33rry|(A~bwX%`4Z(V0W;5{ALPCNhk%eQCgAx&cNFW!H zE&zt7yuD2&InJ%6kHWY;w&=5#Anb9@){vIyZCXH`*La9*N1m#!K4zrV!BxYVMrFMf zP)dXLpg6!;D~n%zGGpZI^ZNT2!i&Qvp!#-0)}JIl|nt7N9{3KVNV7-`|a{WovbG`4_wNh%xjx2D5Gt@lSyGHO)&)f#APDE~Gc9*Ol4y^{E%DkQJ`tQCY zJje3Jb1C*x0Wu&mIVs=d*GMB_qjUB2?Ellz#6SyQdv&&_TnUB9tjs6p@wm28qfs`0 zcIUoN4V&4;$=;GkWdE(Ay-i*rDuN(>?BBwp~YM-qS@cKY_ELe=w$xYsX@ z_ZKM12i0CjB2w48UuVUOIYn+RncMewm$_rurCkIOkCrNKN+S7a>S(_FjQDh7Eh{o7 zO)H6SrLqWFv~XV1W5(SqLZ(&_vAgM_>z28`5FYN&0}!0C?mu>LQVc!^Vfz%^FyAql zl$Bx&>g}zroV`~_7QIjGhJnhSn7SQxkfQPE;@Vt3bN#DW(mzFVOt-+7(JU21I*hM{ z1K*O8M}7KyrbMzPT+vPVlBb_%T~WZ1+ZDM|H?D}ucyq{@ME{(o^y^8gY9Tkk;116< zuw|(`9T7r2n%^Gt!Nhgdb!T z;=+sczSBW2SM8bHlJh>eTmqLSS>1tAf=9+q2Mz1ccdqA|pc}M%Zr+?70}euqe0R?; zdGx9p*XyBR!||#w#dncc0K;_58JRtn8YoYjzEt|2NHr~wk`i#Ahza6mNk4^(u8otb zY;DQpX=dy;0bL+WGNVh!TiYHHP(CovrTCtsehl0GKWsdP9ds}^RGTm1D|cMeAREnE=5pAl>y~u#HB`i7eR~- zGi{Or7x0D9_W5)-(Oq0lgsX4Io!@{{SxQOfCA6RLbXm<*xrg#ikxgx7VvT^;JX>`_ zFoG*a=c7&P>K`C8>lrF9)=+A1OpsIj)wZS5qn{@1z~A*$tg-E+avimf=ZSmguk6Fj z&@){S)nfdxphG;0UYKqIu~3{erm|GyaJ80O`-LsxU?gI*&qKddfNSv&@iQ=*brv+WnxpzAz#tC((@tBEU8I;I({`z%u$XKg&U$UFeGE-V~U4tx}f&GlB?Rp z-IP&Ubd)VQsl@BCdvB34K;$@YkBYtOO)8!6%Z~qLY7nmqA?{THKnoo-zH5k{Vu>NI zn>uzvz8tWQC0GUeit7aM^J;;M9`^plPbcvRka?pRLh36WAP{ah0yutVyqTxbwR!M^ zIJsM2RU3j_hOjl#%cNi<)HTH^0h&wV;M`*bcxYI9Fn{Z*m@!;k4sQ(6) zk17HjKDg9X6O(~*stzX|%^QUcB>gTOBM0vM^oODd`e!3t2iHh08@7B155z2S9 zYB&J0OO;Y>w8|d=o#b4=(KoHjCMSJG^9jv!>sP7x?ULXj&RsmhRI^>tIU*4P@DrkH~hdTlBZj#XC^KY-RA!|Dh8mtjG;xutrgREmE7gV{4h_#|y*rNMQrA9(22@k4-H}ROT%q(e z?JiM!+Y&S**kVx3fZJZ86vksLS2H417;i^jt%CxeV2!om(jUIVOrIylb7sz#dl78SXoG3BAUByPjTtS#D(4zzvS(e$>Q;@&Ll@Vnw)YwaSew?wTYjJ5?r z6YOri9Ow+^F`__cGZsZsFC0%*babz#$di6;s^=v{jr6Zct#dnC>omET%*01F@_B5t z(3kJ;1dkYsBGrw-3%_If$Yinwpy$LKD0Qpd*CAlS-?~iu2dy1~^{4_zlV8yHN`&{q zeiK45$;pq+FO9Ss1vP2Gudk3%On|0d_fMf5AG=B%~VnanS4f zzP~1Z@_pBSxa*pkGBY}ilCw{~8^BwlxoZYznF9=L|L{^24w7S1amR!mpG9dLc?re- zD>A@xJoAt=G|7BzvX%(LLzJ+MTf?>-tHpo>(mG(qf-n%dm;B85(0KHj29&YfI<|9r z^D z#@;P43NlFkXxSi`1<2%;<07m(m4_AwYjdUZn0AGS?px|%FLa2t_Pl-8z96|RvRtD| z#l(&t;HJEmnGcqy!HH%Wq9;YnwgmaXb#e_CqI~CXr6JB&$HpyjvWHYfpKVu5kLv7) zX`k~S_8f^b(mXUez5KHML+1I21Y`wY9^N*_foyshRcwGxx8(XPrOwf;_Iz3u6u*<_ zC^RvU)-2NrG67m?O=&}`3lfL@Q6B1YYT)a$k^0&ZKLY>MEM?trf_8T3_=`9Vwgc;C z<(8rTGBulF*L{FEF<<615gKLXLvXvMka;+*RfP~(K(2IdT@Ya9OOQ=J^G_Mm!4;d* zHb2OuYcE~jU_?X<&4r3<8vF^PCG#0KG74JSRyF)BVMZr6zMoJa&Atn;ovefr3@Tl& zpJS*Ubz;6+<5AB!u2we-Gn+UxNe`zQSLO8TKd?kD>^Lh!rt1}tIFmR>7zgrgZ?9%| zXE5Kr5!2rzs6c(K&&%$)ZbesrVAd;P6TJ9@bCIVrEtOHp>!L6%6 zvU``gZrsSzMdL2j;Qx$?hNd@QRYoe5Q3gs=LYiF#1e;1%#mbdB+6`PBJYN#v>G`C%}>O zHOb>dcGV4VTI)B6KnpW)Gj;588_Z;D7$36ZS{8@UdRD4YhD2bJFU8Oj)^3A9>h+BB$H<~I$d$@|n^ z9Ya$XY@zrY?RBSB*oHuSa9oEexjQ`|s$D2g!zhA``IwXfLdnnZA{AkeWeu@GZm=rs z*j>N$<>QmYOZLb-^HzpD!h&J#HzMpm)V+gMR4togNR}DM($0l{dL|hSTl5o&?EhzY z#wdm&rT|lxEQ-Ju{n6xLw5;heuYp%vXjVR?ga6LmwMDa$Q}17Hll8$5#LvI^_}_+4 zoJWkHsO18mQ;3rfuvh*@@OF-nSB4Br>FkyODV%lhRbw9v81x$$Xt>mNr-QN(7mTt* z0xG=h<0$+GbS<2)&v8k8G=tn|PZAT7XirOZPf-A;d5LrEbS7uHn<%(@;N?HwokVyk zoB__$p9^ETkSf$0_1E3{i0K9PA{iR&@R)MFwCMRNT_=FZ6)v)^$e8E@ZLf1dVZ&`} zYdl;lV^2%ht#xY6J9nGUALR&eLC2l3#+dTJ@4=WbVQ)vv%F=!W;bT&}WH6$l!ADY_ z3TIf*uN}p{^QA+raE3Yjr7c66Au)hROalv8u-b+T5EK^?bt(1lkhb=ry`J6>0=7RG zY@1HLvR#dfsZFUHl=<X*VJ;$6pgZ{}l7h;!a-N9E!xx8VF zMG>byx>SJN0deTRiZW>R0mAWl7`$(k*_9kW`a(igIQiYrH|^}D<|*dIXR$8MoSJc$ ziLv}te@ZwCRG}$$w{hS4JG(&mp$;`z^3nR~HbT}ly^Ej_Z*SjM%`)6*mXM7x|KQ z*i({t5sNwX;0@PW+@Q7#+3}R9vzqy{3<4bV575Hq;qc$My@%3V#Z!z2UaCI?^595-{>UM)L z8pJ%u#DAtQvt8aG&E*PV^ff9mtW9bo)%%x$GiT8(2Zd^I+nCak<$AQs`yFdl6uFxV zV!TMyYj8^>ahVnTbee0}6maodIg1pip^`>C(s)kQ>wS9Q&kN5 z7KLzW0o*?$z|V=gKd+@c@k1*uq4*bvGQZ2{zYf=&Np@c2THb}kkR*nYxVhvne8=;wVVv0~1N=wFfXWd8=P*|5u)1goBhvw~yREa)aF#~Iw5&0)Mb$2B-fnCsceLbfsSYYxj>j+$>~ot64NcvzZQ5-i z5l&Ki3KID!k`>FG0LGHzFiIiNd=}s1DIBE*2OotmDu%4A-8?H-Yq=e<4)96Z-Lu#t z|NPw*Yf3Z;nl-xpn76MLbn+c^SLMP6>caEf_E7dn+~u?BB_z$y+7zoM*N)MW$jkQv z^tU=epz&2)rp;nZEcrXM(G1E;1otXPuydij`%9KZS2B^m7HFKhscK!RTpAmE@jUQ$ z%+njRoN%ljn9!nO#>2_k7eaEj|5laia7uSRvThGvB!;Y?AoH+UU|)!B(%jrV4>a6O zl;Eyr*s7_;G_PUd=iu=d*EGLG%B1^@)W#vS{MMAkA5}6Lt4EJK>O4DO4T%g%1g?cg zE|gLauYng{_}ZJT=8ZTIsA3WOY4#@hq9))GO%gCzlpCxm%B8ot6Jz-5@WfuMC zl!?5p!y07P9v)%gKOw#A<%L}i4QwRH`MVL)l^1sap#jMi@>)UKrVfv*6)-%cdaO{! z3NGZYteA%Y`g{kbNdLOGFKo!&+OV@}QX1{EQ8X6lZgRt;=AQ)8L56w~u8660nsL7| zHOk5alVOJ_but>>c7F<2yDoF-YUim4DA*GS=Qxm69?QNuQnXk)kIxC*O8Aw|4@mtGL{xk{~nE%2h7iN9E(u$_! zwt@_@ZW04bCF>PSTsE9Vcku5m(ZG-QiL$QNws`fd)pDRmCA5-yOts5(;T_#%UyJEC zOR;H()WX-an#Vs3KidB*sK90WxL4-O)iA7KB8~+LhU>>j@D^`tkh9T)wER&6?i=we z`^4gWQsq{D>OQlF+ngzV@wQDBk_)l3Pje`p1s*2u?ems)TxUkhff4J)*AFAkGa-kI zdFadi&qi`uhRl;IFW=d2D8I*Ogo&~>ve#inO|h?DKT^Oi;hoM2Dj{A8uY%EgAGgI~ zx5p{9EG!5MiY6D?3=Es~hRK@n4#CS7>9bEt79RNkw8>iH7eUVmaE9iJ?4Ba-F=m44 zwb;^2#_s1Z_@IP2!t2ubs*EBJN1M}#{btdXt1_Ej7MWbALk2V#$#y_l3RWlpTGY3& zQ?7!QG1uKPTDkBj#Pu?23Gbs?&*RO|?n8g;XMhYL8q4y{i*Dq_41$BlA<<_`A!;gDWS#ra{W5W{fqIHe-Q$1rcKCYxwO^0jYZFuN^EDmOYGgxZ)N=@) zilUdF5+kGrl`4yk2SofPF#)j6LYK>ag0?-B>bA6q^sZ2mc5ixQglDcPhOhE~?AUF# zBn$$+(QrVPLY#n>dO~+T?q{Uxf_uV$8}d?Mg6>>2XHq+k15YxRf00eJZj<`}C$qNE zpXRpypAonDEl%@tq?8)agYYr(GULo!GKS5Q|pAX2=Jxnt-2_5f^MyME_ERh1sg?tyHj)bo@2RqF>daI7Y3M{MNa6r2V z&}H8$R?KZKSbmUiA75;*%KGSA{3!xNPAy9P+9g+B6#Uz*rM~5df&*=JO(Z+`=d&F_ zp=6B{@lZ5DrZK~35(|aA^&tGR9P9LSenPt5xatE|sjS+xcCxF;Ab$igBQUj9d(FV= zB#DJSL1KeP;SIbqKMyf43zF0s%1?UX%xG2sw6X3j7BFsKnzxC9ZW5b4W@&j1rNNFc zkXrI6{FmvZq<83j&ZYmO8J#|$DY@*FLEK{B)D#&kYaG!dvjq*Zs!Nzk)E!OAD(|f2 zM9`{*K+4MJQMg*&1!qTwr2!3izGg1t^7O_zgDEK>I7JXuaUx1Zc1-^c7E{lf3qz+S z))X23AbdjjUnmz?ilr#9b12+3s4=@qF$LYB~?LM8n0dC(|3EgNz7!8p4<3Zcslq z!^|G(dQ7^-akH>T94v!&u?1|l4H85hh!m``)_Zu*$`fm?2VhoKs!cmeAMoRwKBHx^C6A@pck`zY zc!}-II7TV0%;Z8zR)J)*_@-*GRMb(5HkH`+K1nBeBF4$CB41mRfo9GZcJ@}@- z)6FH*uz_}W%4son}70r)DdBD7A4Oh0_^nrE8lC`&nvPK~eM%x`5 zzOm+o9C=GIEuC66b-ygS)&m{#U~(92txJ#XP*2R_(b&yQ59D#$Wl5ZNb1S#wiF}CA zBh%l@r6^l`T&n_9b#Wh_5Cnj)j-RR#q?OU!0N6b4XUCJRMecjPJnhJxop|s{afY|9 z;2>8=ex;lKW~6K-MoCvC`Z~qsocYYgO|&YrN_A|CsIC}QQDz!LA^p;W$kj!qXPiG& zM{=evGE^E7K&d^Oj|SJqHdbv^?Xx(e7WQm%_lq@903Fe7Kx1R3bL-KJ7C@6e_|fx! zNUt-0gYZ6P_3e+GQW~%tKO-4jfWoF(krP6In;7fgo|~PiqkHrP4(Z*DE8qj`^yU#U z{zt@ZhDB@8DH5u6fzfIc^A+wKCmy+;LSf8`P`j~R1#+NMGms6fLUutsH4XQ`!~-zQ zc8vPzjK&qmZ_01>YI&n_!jiYN15T*VD!|#qMP>gnRBt*%C|HY!@QDd>*gr8%)LckK z;K-86JFB!#_X;TpUA=LwpqO|d%`7QSXt8*jdf0!8)RS~Mbns#GzSN++mNmVtoZYpB z*;=&CHee?YnSG(K4j!eu`DkSBL33Gm^K+a1n?~O^v7MSP*<;&e2Ax5kijn zJSU$Q7)G2X2bt5gk_=Y&6+ra%|&Mo^Bs?hL9lqaF)HpX52X zsNmQLLh_rXrlOD$#e<})(wdL-&@Kd_Zt?x=23c_nMtAsa>CJ=1;2oTLQ2F{;{AcuI@}r@wam|9fcM+d>ebVHyBc3F4x{?v>;2`@Syi@-Z-2_p8 zQU?(E@K+}|UGd*XeEYF*0~twuB(KxF_feui)`>&h%K{vT#Tk-HD8qYhCETwcufTv7 zs+(f;zU%1F6-3++p}NAD1RU7b;F60R4aV}dgy*@UQaL$G0;6$vRc;E%u2c+8{I}mN z&s&FRU$uS|QN(P79KU!CZ{lP_elNVz;BgDX$`yxy#?*|nQHch5@St>2!&QmupQH`; z!DyMT5k3)K98sB00W((FU#GAL@^kHKm`=RTUrtOMD8=gdxL#sY<%Nx?NaQxi)tDjz zf?&kq6wmW8{5E43A9&MM3t7`93uw`^fX1FI5;R08CI`DM9d_lY5Dy#1$$LXg*ZFzq zl#vHqNlA`92aJcB>7Ln|o9Vh(%j})Bl&?+zVQZG)x?ls2H4@fFF75)po5Y8~RuT?r zASxlrUTvi)hB*<%<=@z-fy%4ct_|WxZJ74LI@;Bl-);_9vHC)Cz&Bjuu3%-C`3i8O z)k9aH-6C%tdU5ocQz|!`i-Cn2?Mg5q3+$q=#q+~jW7GAi|ErpYE&oU<65qnx~DrLK&q3Eu&# z4wj&Fj)*=$hGoh#$Ogg#FG5fZ%~MiR0v-`CcN7Y%?1EYo%d%Y}uGlR92d(MAmDhYdz5jARg+MaodR%7Rh|^ zNC`eSfsVvGwOL|~fdd1`XAYo>O=-nv zQ!y@g*@;1GR^5jzz{WO@yo=I7JMzj>m)BL>*AZ#SyE6ANVaL3XkQ%M#odrR?_sb}C zpL*GrWgUtSx%eBYcufm542f%#{IBSWJPfD&VKU0A+D{!Pc<8n_w+oqooDDv996{4+ z3*ahogEn`dfF`?~egptThG>=iUzbk(LladQ%V&`r|CL`NS&-Xl;n)t$8YqpY_m-TG znwbtLeyd_a5kFCNE>2?D3&kc$2X`>EdHj6PL}6WKN$%zVcSQJ?@wvFIH#}iuME+b^wrUQn$K6#c{ddQKE1 z*}$?W$+pn(9U*X~#nrTtxR3qvO7C;kWr2imQY6(VWETmf361qj^H>NtmcHc0B}NoW zTg%tK{rOVR{yyId_bUABW)`P<5QsXBM z#5BvsJh+Xh$o>sh z6=H(rA^mXbJw#-PJD+YCtX0~hAhd1w^Eo7Y7B4sj0E2u1ooVm$Igl{JR2eK2h%fg4 zuB5;vdQDv#ATju&^d`3tG;ZWiY#)gH_3D@9K98RJoH)vPLo`6IJ8L+nx760)uVxT4 z&U~LFXYFfc!S#kebuggVs6z5LWKK1p$@cUrN$2h@wag8B%nU}hVY{Kn`>32%TN*eb zw1t$!Lf0zd3QHK<`Nyf`{~xsm_4q`W@Fpb66*TO+d5R}P4^jaz=Q3f<-z8ciJZ$3@ zIKh?sdlZ!l6?ZH3e)oo-yWZUOxsXl$c247_7%k-kz^Bn|=Mr|aM z)GvqZ+aUG-nBlD$@x$+85ghfLe0h2yJ-W?cBuVSg4mG2Bn4KHcybpUhUCwG$Dj@ZD ze<7ILnp=pSpfpBc@fp>y z%hT)S^n@7m|M$7xlEA?%ocKF^yO0YOg^YeW6UY)*>S*FT;Pa>L#^a7Gl^RfrmUO6C znwhju8faHIrzGRY3%t!$4Jtr3yy7_9bkRfMYbac5iSG)WH%m$N01O5ZdcqIev@u!%JZ@| z&4t=CKONg$BTZBv7#GQ++olJ>I6&pP60;sl5r=E2BZtvUqlbuqxrFQ_t_{|Q#HuIf z5@&u~x$gH8Bo-cPZ*W2Y0-6v!mEa29igbf!yqi|;L3wj!gE}@_a7@XKI9L^`U%KVy zME5ypZzq_aK}_!hYk~6n3-i)5y__jtE?&duOX{o%bj-=OAIpf^c5o^b4w-dt7w(R3 zYpsw8tXlw@suZPsb3-15F`rHNBzB71@nAFAfDa$_;?ImFLZYIASU%Yl^%lvUXw3;= z)P}*jdm69P(KY?%8Sh*pSB(MR-$80f`Xn{|7>f$4*K6bR0pJJT=^X{sho;&s`9_syrF`xqwGJv!+K?{FRet-3LQ_ z_UZtH8Y%(&9S8f zHiPApz^jzj1JVdO*DziG4PA^I1WlGL^DSw2Mau;Uh{pg4Dn80ktrxh|f5+&BG7UQ2 z{mqoDqPAONDYf(pPfsC8PigE{uX)t}MK`-}eC;v1HL~46()*G$8{?~`tFLGFx41zG zE%^(4Oz#Tn$LvRX0aWbf7CzN&b;}pU-LxL+ab`uSugAmsh**dI2X?5j85dG(TN7D0 z(S3Y4m6A05VE?#F7?PXEqlq?kRPw4Xom|vzZ2eS}zMwcBmu`Fk8E8 zJPq=n!54sNf*e!wmM|Jxt+Nn0tO~aw1{;vFo*pP8I)*qvT8nq38Y)nNDaou`AEi;f zR)fr{kp0-Xge7zw!Oa6!LM-{E5!RP37Y8@!CNo1xMq=cJdR5&#EhN8+8ds}jt5$3uQ_=x7o-WAuT z>nmdRnq)i7o(m}3W=x%jOsSX*<84q0(n5~ik~)dt5Z6YX4;$QSJW98Mnf=Zl+Jx--k&e!wRT*QXZuRpi z72g;mTa?EGkxlju!LP~mu0FIKC~n8=ca&ts_Xn31>g~+>eb103IspCeX z73t)N$V!9u=o>K$dcXhM@eMhXA>U@F!^OdWe&4I`k!w&j@gBXYXhou3s6f}KhT;-R ziiEqZZyWo^-{(_NBzR!)b`@;9wqg<|f0{e$@#EnW7xM!FI}KTB%@Gz&2-Ro?jx4Z^b4}Htq^K;glL^ z4B1`prszy(ev~5BtfF{Lv-OH1p2v~E{^!Abuo^){znv&KsY7>QW|lV-B9uk6u96=w~*m~`A&L=%}R z!EPs^B$ZhGtsXD?iG`|0inav&K6tSg#X^~5?M+jWgD=cM%`qI}q>}{O0+G~LII%jo zpi?>&TiP!4qQeN^i-mIJM5(FenriTtt^GVXYRLGDf5Dl@9E(iIi-h$B+@ZCKHr5#R zf?cg9?1A81*IgaR?E&2vKaVV3W3kz-qwhD_5OJN<)hIbC<;9gcI~UlLDnH5q@O+Ah z*+b6h#GM>mjrbGk*sE#czn77gS1A>nDh_G*!*@{L>x)*mu}mN_?D>z7%e^^N-%c%T z$pn!vCGHjLz!2_@Q0VrT`E(EFvA~o=U?v{hT!2?dI=I=%JOREL#ByfXtD*r6SQ2UJ zAo>PXl8UDlAVCTSCpBa=?;=s!GiV#uh=CE}<_ZOolaEo`xS6G~P?Ph*Zz59y3f;Ph zjaWXV9}SS;KFOY9z@}oVC<3d|_X1Fq;%)L^T%H8TsizzXz1Dt$zNZpB=N&gqs9t;@ zEsrJKxwC3F{th95YWe^hq8>&poMoZa)Y%bb+W9;C+1)Og0w68t;Oid`*DNRBvOh0~ zIzx9l!g#6aw^23#z61@hqvJ7HP%R;}NqcJAcF1gKNXEZ3Y4z)GELI=w zM0TkRf*7+eg8GEdscCUP#9B|Tw38tfS59)VbeL=T(S>b*dU`yBE1);KdK1O81MW%5 zDSK9cGfg5Fc0vRbsKq<-dcp_h0@jM8dg;=?Wt=nWSk$#T^B`VAoFN--`!~Yui~p+- zOeuz*ryU69gilY%PLw-yPRtsPyGEv&3JIq~w@)PBNH!smS;6tNn+w=EF{FFeu&D8& zo1-`kQ^M*Le>#m46Yt{jgO>{YI=w^T#a!VaZ-BO-e6h;C3?f3`Y~Z42Q{8%io3hsF z)?OzMM!yyOipI+&zrQ_UFN36EL%+^Vl?Q|YJhwNiOl!2e2lWD$MXg_kDCNo1 z2F@g?MlNNf2Neq&@Lc!!B7k#x2xn)fPHYy%3C@Fk@4o1|69XX3XAV#c-_Tu-3nwP> z(U+akLc5}6e&dp`^SM36mu8%2Ne5~cb9Pzbm zc)zvoF}z0Mj;XD}asmA;UQ&ZdZa{avis3`bsHPSM#OOKIRZWiWt(4;XS<0+frVLF_ z?2DgI=Uc+R$#3B0J+6ejL_Xu2^PUHov5%8wV0kF?HZBZ5;Zog>arIu#OsQZrn3ZeH ztb}-Tyx~~t)2xt<`R^Gb)~-=J;d3iT(|690U}PFzL!RmU_aRV3Din#Cag3RPi5AyG zyNU!7!K|DyraMO(BZ1_U&fnDM1v|McS&xu8*Xx*4|M1}^qcOxbB^9WNi{T-6%&6@F z9OC``sIuBAvCxKiYia>6j7|xQ1zt)w@fVL~E$og})_q506aWL1wOeF!dh~aCH}Za!!<|dgoCIsP+S5 z2$V+S5@+&9sJfjHp<6nE!4FlUC3r#18ij4TU>W`;9#_j8UyxXyG~^xF0r)>UfzO4s zxSeW?-+0o{y!m@$GPh@!Ffl< z@*C3@`T8IYO8s%bV&K%I!b`x@Hi(;;c!-9AY&NX{=?mM8bc$!qKqdmSXafqq>CuoX zh+o(sm$NV1+P>2NlbRSoD>a8#V+`Vn%y?W1a?zNM&Z~@Jgo_*1Aes~;2QY-L5?Mkz z7FzH8D6>f9VL;b#7P&tC2K;Kve@ZWu>XyG|5;WSl@J2z`70dg)b0P*m8?w{%{J`ib zj_2a-(g8aMAQBA9l>6BhmXc(z^9$~<4$PH;pj6S@BM^TH>Lhuf#Y=6m(a^qPm#y3w zV&XIvN)=O&MCOocb_ADcp|iGFDZ$+9%@dqeR^Cs@YkJOQ6CR3pX|$a7R_YF!FstTq zN);o?qfR0a6P+JUqRrcjtmfy5T+-B%d%~W$juvEcta4k zN*k=H)9*aFP^iR*F;6;4>2Goah zGg9LSO*vsuUNtzmjjfz}RmE%5MDs`@btlBztYM`cB0^-0cmb|h@2e0W1WIg!5$x zPVe0VV(<1?%qBbUWC9C?+Aex)Ikh8^^13s_Z2?NUkkaIQUsNC&s1p71{7GN;=;3!0 zz%`m_ap%{*NW)V&8}WI30b%g7byL4q0O1zKy}DvSJpP9{jOtJ!#^$_QKpzB%Eu6oy z)anXD*dJGF{-f)T#=b2FC1sf!eIv$VW;{f3+e}3;iOdW7O2UO(INDA0#x@1~$nXX| zvOf_Op3yQFZZ0ZSiPh(&6t4j{ex1Pu=MWN^jf_EuEI9vc%w%h3Rd{XXR zd`ti_u3e4$eWGgDR&vTqpWei_aSpKY0eZkvPx-MC)919D{$uS!Uv%$onO4 zQG8Xq?NRbJAwJ8o98wEaCF{Ue3p1N*gkCZ_ii+G71Ukdo8MG#4{(qO$Fkd)81p*z6s(Lv3sbM^GGd?qV`Fxs)VYXZg!*^~||rO#AiKwFpVNBd*t4J7WAlB!}L z@<1wu!Mr)=O}xYgs|=+K#3zsfZBXg9McpT1OhDi3dtz9p{+<4D@e+K&#@7>50d-4L zWy#OEDeG%iA&q129dJrR9!6?Q<_}PDh!CP>J&_tdXvMS~?)-l=c`#p_UAJql$+?zM zKS&+{dYf8Z+>Y1em`3i`lvgi~UHJT}((?QZt|RObc7Vq&uNyne;@)I?kMpg+(*3Au zeHzVrAfh+Tto!8S2*4_~Q^5%&b0lM!V@0FgF9Z+)bz@cb0qSl>Ya5$BV>bbe@;n+A@Pg&A9 z)P7LB7g9i1cuz!Fru}WF4?k6rUmc?#Pi=PMJQBo4(cxfU>q)Mil{s8xZY(AYrpBQJ zDr2#cJ^s_Vp4%h;;l`j}J!7LIzgkVg=msLhsHbW$w97QjHD?*ca6o!1fm*pU>P)j~ zt)`7O7pP{L{l_y?c+MWz7Dd~X@?8h>J3ptt=vKyxN1T#f7K?jK18uT}cYIr)h3QBM z(8WJmL+?KN#pf}jA3oYPuZbWsxf`RVC>-5!E>1+TOqIL~pncYe`yhC3!>?GNTAqiq&t8B%Y}h}c!4ZvHumN4B9OQi zz@FYM10)@Ag{XI%>GK(L0Bxtt-2V=5F{oEnL?F^19}Cp&QY%OmJ&=EUGPD0#*7q>C!Y71ooVNCi8pd-?e1T%(DHD7_o zhhgXHll(KIWRs)baK|iSIj1?cR!ecl*x2oB3odvy6tv5@MRUyP-2vq zwHiu2t~;C5jUYoq#;<8`?dP2B3MWSB$nTHX?z;Rt^QFJ*u%fFqGl(Fca^>tJuupqw zw9`TAoQR(yWTW|E(z%0HNvc(Ev|Os{9Lw>03TpotP)j52$C=7`N(518{qp!|)q|X- zfK;U@%+keQwLwGpK!{zmv*>O)s2J&U;C%lMb*Kr`RV*1HTX{q?-Gu>Q`hdQbxe8Vi zx^zzF*1I2op1;7+|F6s^eJ?(g{5lDtxul2p+j9;o%7K(c*W_+)FFDi&->w89*isY^ zx3jeN4+*}=ttzob&Ci=@Hs~;F%}FrQw+CNKo%@EQu2&SkR+|~3#UeTfo{yQu!{17( zqU7Zxl@1B53(>x2H`ga{xZOimTSf=(xmG}(Rbd>|iX-GT4<5lVrMQmbq<`brbcMGX z;ZL^VOiC^JF8cl`V189VmfM0#<83L2i6mVcXk`roq;verYd18URs}ZfJKY_?n`s># zUmnv*0Xzme3bUv6Ku2Gu#i=3x&O)FiXmmwo0=Anw-fv^zQ){|LM_WTl z1pBZ87J6cww2EG{cbYW;M1@NTRm9 zvv}24MdTXLL(Xzr88{ow!*V|_R=W=0F^3gh&e0B$tYc_k%ECcC05ShNoB%u-ljb`~ ziKj}{G?%DNL(6`VUBIcjMTu5|B`e-iJ9dln^>Y`H`obp5u*bb(_Rw10HgcRAg{^!H zCGD$@tiPn;Id%!5{!(CQfD@&H(pt~(`ysl!+x_0!B16eQhqS+$?7rQIa6}aSL(%+4 zegtBt1#uOtk7IkOVg9lwK@)hvcvqvaojQb6Vi4v{$d_hsRue78A0+zv7@q^HnrGY! zKH?NFyw7eVli-~$o9=MY2sZ?pM2GAqURSROH-kc$t)QthEI!Hy)EsU=h6j?ambQS% zg=40z9~FJJK!rWzr?dzXcER2bYv!1WM?6L?i8NMH;GnpqX!--it)cpa*r*yf@$+CQ zyn{p`+$rrqh`wB{f=3gAO%oGCb2MHyW(gas`{r(TEXJGGRJxAQZ8GpACla`vGJEj| z7feF*{+KNw>!TKKcC06ycnCdI0mx3|Q|SDxmxg#N=RC!c`?Za|`p@YK&VeqzsMIY0 zBZF-?-W4^~U>Y}%IRlP&j>=@QX>k)|`7`_$(DIPE%p|?Z>$IlJj&LqZQlYe;c8{dR zyZyGzEh0ecI|2XK=JL)UNR`g~|MEbz8IC;VDs)Kj>x>0I+yHSBjDPJWV-l}kmPwA;lp7}ii_<7#{)OEUX-}nhfqJi#n-gRZ?|CI138x!Oaa0t_3drkAe zAOU1N!qNTo?Jm4bJ}f2w?KG=iZqUa)ej0Dc?O-Ny!E+2C+d6frvi%a)<0Tfo&Ms%5 z0UufRb2J_OKRuI9Oi6YFk`~Vi5J{N{W%h40fP!=W7Nui)QgW$l>C$h$fi@vOw44z1 zYm~5AK3(JBX^`liPi7~;2FpmDHa0!jlYwwCYg9En#=a1>(@D$URcBDa5K?e5D8@HD z<%ceQBJ8N|IT`JzT@|JSj3$15JVNFCWsvI!NQQ|s;)x7PpgLe8%f|Qugqlf&s{$JOh(I~NBA!BTX4D!w75(tMw{I3 zN!bQoq1cjA)Vk9WbHQ)fS^rDxLmDsm0?i&oXdDiC;$9y|O*?x&y0r3EWTf?l@|WZu+ZRJ%P#V2-)n`EIh0&D~fh zia=y4p>5JPAT3dA&55EhKO)v5c(FD zwmu){>lTT?m01~QJGLT!x%AQeE<}&6M238!t8wqKgn;%id567nsbAwAe2l&fTu>|P54@qCW@=Gry_)-v_36^CibcJIRReR zLb>$(ZdWWk@E`ImWpr|pyRVWgUO>qCc7HWG&9pIq__Y3?LuwbSVk#`aYD8HpqGUP7 zn6~#XoB3)Z98E6v=5#A=HK1mLZphtd?|%JcJ`6f%W**SvtOPqK zY3GAaVYWKPx`2oeh%PxkaQ0i9m!yXXkO6|eo=GHp*(EmDEl>42#+I7-O>x=co{KU< z{%aGu=xW$TZfloYf!O3N<AY`1kmrPi1*Qn;ZU)OoV_GqO^8wGh8w1fiO1-b&PbffgcmoJej_ z0<*|JAGML75?WI!0gPYw%M?Qp)+wV%LQE`&N#$AaoKG;Lr*@w33b+_1Vk8n_KGl|mK~F-ltBJ#(aK?`AmN|7$?k|TiMEr z5sq|b$zTk2S)u%v-!xYq!a4?%*s6wHHk1EM;SE$GXVTFcFn}!X6DUZOQNbb zBd`$P2_chuFshy8(Uq2S?yy0?>a4Mf*J@tTCU4 z!NnywqV&tPDf%?E#*PVFSx{p1X?U3WP_ya1%fwWCXGbiITvjI~3!otjAS0ikxhWWS z^6Vi9^g>%|%yBU`>O|gj_sZAHGa}&mm_{}U_=}IYOXe_0Q8-qpdU|tSIn@oGeliId z5?rw}hSbOyD>#<(L++6IIfq4pfRA^{EHpHO+Jh}wb4`I+)n;)I;mc0g)!0<66+3}f z&=nzILa*k%{zdLT%Kxygv(+M;$$t+k$*{9UNISRl7dl=?$Mu(@Nr4s#m<%bqQ-Lw5 zu$xm4HXIA_U!a&bg(~z&{@H)o`D^g8D*-CP>^Fn;Njf| z?VfxuRS6XhsgHXg_P3dPiK8zP$9$BQaSnGFS+SS244ALn^Vr*R|HQv4T3@IBX+#W! zG75$(R>`$!#7GR6OgVKt^V_5l8dTDroP8D1%=G;AcPN^Ap7mg!FH=Io2VjpdEr5`S6k^@m!i6ESR${p5)G#we3Vi3{Yw@5- zQvq?+@KVyX>G?wfzk$Er;IPyNaiEvLiV!gDg79Yui9XAAWW@;h{4hAJ1Y2Qx6&e^M zt$9XoDbV$(+bzHoIHWO_BBmz&6vEwAaKt zg)qwh3wdiIrQOShVV@W>Ip4-YT22`(HftE&e0Vf@M@90^0EpyV7cprS$`QSOaU?O# zz)rC{2CH&_ikAb>BT0buBSlb-v4Ni!T24&BS!!Ys9qxU$EU%DB$xO+NxdWa;m zK_1ExKPkQVm1JL!UtphuE@qpR-&IaF9)A~S0GDb;r`Ld4judpWX9$QiNBk4ltY6y)og$ z6n8d7D$I0i5?K|uZ9!>wV{`bJIx^Di5~sE!VV>-;n=$5K-MqX&ZTEVzj`S25+cv4^ zV6NU$N=f#VZO19w3n-hqFA$)E$U9>dh6Med!GVDRhu_?p_JSf|s`eflBN$kP_snq! zFBvl%O-WLysT@|@(~;@%Apus@Q1}kYZsIi8CAbdH-^7jW4ZqO^UCU}}c zjlgBO!Vj++KPLc^vj6(vf;aPrrIqu8%sE4XC%QsRTlCtH|BT*w>$;9jns9~H@5IDF z5}6MDc5=A8Fc~4QcVn(0(oqRk&O7~_&Y#FweOG0lfb(c{BTeaPg@Ui3uy<|fjk;R7 zR~LWuF`7l5Cuv@nK6C)U79<^`TYmoQ?2N{uOl!CC67SzN@wAs*h0n?B0(n6o&i371 zVtO;*O+%?!Z|&f@gAcG5)2o$*U1+NfH>ZxsG~VSXZdim^&W`{M0`)Gs1L{C!3l|rL`B)Eu>8p3TJF z{^f~f$ryvIbx%k?emvz__Ntdwlld-B5*S=Tu^E`mg8k%GC|DUc^7VGPvG*@~14h5e zk6FXx?O1wM3vc}3(_VR{2wflG5fglp8h<8#iPI10mL^V(gZhdpkz6ZjL?}+7bWig} zUc{#n9*}g%oSOg&r)=Z^9Yp{^HWK}J z;Ih1v2w`gT6}KRjHd$W_;CCg@?M}{%9lXYdPa>@Z zGAE=bm7S8fRlU6;VDlz7?r0gn?=h#LdE_p!Vty~nD#Bl*uTF&0#(bp=m^&OlpK&Vi zyzIUSCA0z9u;}$x=;J8) zO)vkYr=un2rNkl;^%5Gy${tXPY^b`=Ss)Y8c7|44e3!U2MtfLQsXN46-!lr;`R}j` zVYSWi|6QzF__;71kS9t&S;#Q4$~f8)fnO#GscSQ^j&k`4<(n!0f%jhvfhJTQd*lbfzc zQfbhh3&G~h)`p9Yqrk44)A1zmgsmu2vbz%wYo|ay@dNq;V#HF>M}6aLxt(mo!3r6` z;Mn?R%?IdPpju=E`` zK)%}QX5NgJX7m~TbzfI&+e1giJpt{qQ<8P{Q=Q5v3UhU6$R>(80xX10 z9j!8R6jV4r{hIizbG=S=1g>ExtP-U)o^pkWmx0CKn)c3<2Z4PEKB?67npmOM)&Wen z_pd<37`n*2)Mfmb# zf-_MW1px;^XAtxod=oSdK|%*XKWB7ix_LO^p+s?PNE|&O34QYFbAQzx7-s%+|LgwO z`qo|Rt{Y%?y?0gZs@k<{*RBI0|N4g^3*TIGd*O(yvA3QekXZ_kb*Wh~erXphG z!YME7hH`|RFTFqhexUu7>o-rnRCu}Y!|%x3hH%28+JDK{Ju2aspKtpcy-rob=-hAA*ifnf>^Q(%|^!xR{%z%T`dDKJcdVG0aWV3-2K6d0z!Fa?GwFie4A z3Jgcy-rojKJ6d1hq;frJPPB+~(_0fIbj(Prz z({&G)o{vuY{p~OPv2^doT|fSNW9%ifE3bb@;XW14v55`4f2(+Q$-@f|I@z&@o^t>9 zg{9wZUzt6#YuCq5T#k7`wfyqJzvCMY4^!ZJ3Y?#QbmTu~_oa5bSJb~3IpwPv&EwKv zR~_t&oks(!uH5iq+e5?{#}ea=>!4Q?4quOl`XAE$GyeMg(PjTy{`$1PBQ2tw81n!( z1Flc|pYTr|M~t%p)qwvUzKPeh@fG-Q13WSm*El*{_6Wj%P6_*G78B!qz)HY6!2b^S z{}<8<%yECIUbE!hhbNAoIKE&~K~di1!otGIlZt9;Yp;&;;@e99QY8~o*OgH3>00%C zY`L)_PNXrqa$Ut{#{o}?!bkRoRjbZo!?n#8*vqD&n z`hSo%I>-2mc*!Y`;Nr#jrOxg)OMJC^Rsz!8jl2*oB$P$u@|`x$=^iN@@$em`oUvkb zu{Y@pkMAyK&H6QtHPK}n`R~0?G~A|)HAcdJzBjTg(#6Xh&*dh0l7!}qZo3Ap(IKs+ zSN7BP+*(77yY3~%{}PEY<33`15B|LXVpdR^-dO6sXcI zzq4E?>vT_yUgcO-^3<9;TsO#!CdorO3pKnzCg?rM0{bZG_P(YmP;Dk$PSs4JVabH!Z&Jq$1TZ+YEi0uK4zd zSiSd7CDT2jf!V7DHmXG!rD?s)BvamxJ~Cc&hQ_W_$Dyqgdfh~GiiRIiGY}rv+n@`F z?^n|i9@9%QnXzN4v?09uSgn`ltyO=fWD<>R1Wrw!?5kaw!gHryT{#jZ5_@Y`rfRuU z->ghP$kB;Ocv;?~8-W_r7|c5iaTF_BCIWpRbbD0@2@qF=+xE0my&> zKn%v>BE~Nh?nJO3Vtuo(wB65ky6yFjh}K&a3*kG~GfaWrT2>qIF_t~!S!z2*?2B0&IZ$(Erx~ZvjXfG5!{=w(Pu;)74Xp5N0={}cw7?_WuF|#1qEC@cYT$y$J&UeSlv{6*ESKci{TJm}PJFT}qMqqY zU`K$4Ol*{gHFM^lx)RoNGS4~NS#CXegnL$WMU~8QY-cG8F2T?;n58V`9WzAh2)L+N&-zyeP3N7j6J!e!_K=%);cee^vyDfReUoVNFMu@2_??=775%wxtTFd6v+9T zgo_x5L*OBAz4_*w7eSu^%(oQ_u~*g-V>W=cwxvrS>JRTql6Y533cz@Wvt>W}7%EH4 z(eg=V*2VS{8*g*ZqH*9cPL1$1#^RiM|A&-5ky(z)NFVLVN4@BY<=Ca0EGHE*ktsNa z-|1C1Nd-$&q+-_&N1V6V^xnLL+o zwM48HUdF=pMRYzUB|9Gxvzr2z2^F?-8z@q%J|QKgH}*Z%^GW9zjU@bIKhv+7sgWO} z^|ze7849*9V~0_V3_?KF>G~51al1WUtVJKPb$W^J5x?73310RmA2G$Fl>BB z4Cm;GVBd9oiu4q3HaOi$C28V~BJD%c#L#+os)5fBvw0u*@>5S3BPtd+Y3ta_k4YBH zsK>;;{!p&UZ>I;L1s*F&%d6yy}k?o)DQmgk|DSBXnYeMLZGAV$FvnQ#W?6gYDF_N$2QJrRl758jC+x66&;= zRe$j7vRT@SO&|HS*-@U9swL9zY8(AGR5=y?u@C(t6y4(^6#aDFge;G494B)OCl7F8 zsxNf@k)%nQiP}D9Afr8s*Yz=->CR-4ne-{fkB`NiJFpkhbwKIfau4|C zE@HI*nHcLnhfD=O0q7bfftP=)QqG|*Yq?ZvVJt0*Y$H7r-Q2#r6~03a9Q=uuWG!Lf>pLDPumVZ{$ibXAo0{!ht6!;Cd`#v)bYyI5 zTXq{G?CZZQlYX{qM+!+N7WXWjrKPt&`4(J}%uhoxruGC-lf#+7Lf!_@fB4T}GPp?`h6wXHePI7Oq=LO+S;eGhB zJfnmOt{7nx+GaB+35MUDS3cOMk=H0qog}v0n=h1u3rtZs;p3T~E4+>OmI!l&X^ckB zQ;6B@GLGLNrdOl@K34c$+r(FtTtZ}q`|mCzscOeMgKKZ++(vP%H)(v7CnDXDUUr%8 zbxi!t_37PJ)#)eV>kb|~&x9IzxmzVBtn24j zVI%#6U!Q&k<637LMC_nyqk!R?PTjUzH6N}KZhRw?!EEJUCR^3O6DqsU*lcWcj%KDZ z)8Z8-HcnxxSg*cem*a|;q(W9DYa5N}k^uR8V5LAZQszt)5=}QKjFl1}eFC*R75h`F-wY`=YQcZDQ+G0sgz-u7SH4Fdcr%OO(dwN{h6;$+1d!_P@Sq*F@swYAXkL!yBX@b6a-B02d-Q5tsmF3%oX(XZC0RbkZtZk_ z+*N9NzhCb9xQlVHWhd-+IDrl2?2cH{*1%*%d8)c!UQH}}deXQ(J#|i$l;&w%o|Z1g zNo0;|>C(&v7+EXnWQf+MaRHm`o>kTTm(}0-87m|u7whWwx4e909Qo6ZVlw$YM*0tU zQ>9c5e@YEBpuWGX?((aF77yj`msH-h-LcWbn>frNy`7cE9#Y3k^Ybos%{s4CKDo|S zKeNbFFQiIZVf)N1&vxuoe^u=>iF~>4vC3UD?>OxQT_3G@6l3?d-bY>AXO^F4EDu+( zol(rqN&%^xS#+E!W;>2@?<>YlTa*!X=N~6HQ)H@Y;AiTp+2@rXUae{`%bLOGN()VV zyMZrlj{xZT>CRG_%*z$6Vunm^<>i5as_sYKxgswI2CR@ZzCXhN52Ny?drxE#Z*DDv|LX6okiSZfH_*CD1#KJX`|}fi$bJT| zz+^ZDGisPo{%3{k;$@*Xxw~%FbZ>TdaA~%zizsie2k_{xA)!>Rt0ft94xd-v-gI7R zt+R?&=`1Or^BAk_@qvZ8S58;p9A}m2Og8oYG*kQj`a?AR74aOS zaslQSzl0b!V$G;$6Qu4d zE&!dIq-8)o13&iWk{fV7utRRX(=xMSW_cp!pIpMr9~@8vzYRKEI?Opur=CfPVr7{% z)~H5O$_;;fd74ILdgGfWw~S)ZdVFyxuNhXrQSSI$iiOd99;d# z9>)#7`J-QTWO>pBR~pUrsZwwJog?lzVKiFl*IN=znhGkh zMJmLkZ{{I&))OkT9UsC=@r3jKdMGa^_h8ou=iL~}d-l4#?#3vL7u9^&FTaEmF%_}p zoP5p`GyA?ro^xoiljmcuMW9uP_D9^a{@J$oQIoDh2duvjwT(*8^`zdB>w#=%x`O^(z7ChZQNk?##h}4; zRM~``Wx^mU=tFZ$Z|CG+dbH)V6`Ka>@A5&uoE2n0t?LBpr}O&e$>F{CEZq-`q*kSJFx`LTM$iGH`J8ZGDQ$_aik=fQ+aP|e;QME> z{l0Swu`~H;;&jQFbC*~saX2kF6@6u{1lg^!9r6edTp55YKrX-pC~71b8X;ZKbnr%| zPz^My#@qm;_@ZWGHq)vG-oa^snOc&R>tQU!qGoZeD&p^OU}p%m3hT>xWM6bheyQrN zdw`x=csY5X1oK%9e5>j^)hSwGLMh3b;bR1vgQiCeRJGrbJf^}_ZYoQkb6%-$nGq4) z5fR@sGvf5hQocjaz3edi1e~=>D6d`L)M<QiO}?bUDlbA-I|@z7WtY5}wX>L#OK zn)v;Wk*8ObngwEU&CK;Zkjmr}NI4@QQ*G$ibwqH#bBy&hI^*l6;YtkJI+_ zOq>|;2=-cq8KWFGnxY|v#Itb*u6r%VbgwOmbh7eVN4zujpat5;D6_U4Qmg!B-z9&P znFE*b^%2u$Kjk(2^g&hMSkw@ktvPKBr5)`vf-4ZyfZvNWW24TcD^Gho(PS2|{s%SX zk&*?qINNz=B-LypPd?fk;#=mBR)*?9Vy~V?6(3fO89U_7I;_I_16d96SmS&Jk2T)d z%$PY>N=W9q2{rhV^L`)xd{po<#Bn zeL7Pxa1W%D-D-Mht!x+!2L2uduSTn=d=U(^9Zsk7ZII#_!ZMd)F;rTB2iIhfPQrMm z0nabguQ8{~eo2g#L;a!rj+_bii?rfg1<(WBjWL2oC<<}d1)xZ5g%K3VZH8`OFvi6T zM=y~@+o2y<3!-Mz7Tu9tWWqt?-0|miPQ5Tf~ zf`JK#p-l>nJ*5>L|EqnV{Fa3rZjtpImBA}X9p*T~GcIGoFuO-dwB$_NCStRLm+ZpyKV$(eM zEny&=6xsD2J-A8X0g8uUJlz7*7z|uN`&-rKi;O)O7~z5bL8AKu&7*G|;TlnvBAI2L zO~KybkR#wGOL4N1G5Bb_$U0=xP?`}gBeIgtRcJ~PcZkG%26UgN7SfgHq3ym}udb0X zH>O8->IigigRdw$=w&GPOdNn8+mW4wPT~E}fQChl8qC%2Rg$#|C$y=UPy7IrS5%qP znrNDW&|v=*^xrJg+Gz{Nzp9L%93rU8}i!Z|xC3lYSBSqmjNllpb{cGkvSG!B5AC$PXWQ z1^q5%>eRz<2SB$!!#xEsmS!}`C9<&5aqeJuF1U&To zYoJus7*CBhN4O?p-sme9h=W8cx#0syQ2;D?j$7Lq|Qum1a(rNIJ7+vP-iU^}WMxDRe-rkDrrh ziU+N?^%Y30HM%t}v?88Eh$$!t&0mT`4J=W&`Lm$M$W}M|=~#>h{p;Xv0Mr9E0_gns z4CkFvq}>Y$uXA=#4cs@h&PO+s|C@cSs4>x%Sh+@tyq;hlo|GY8bbDRrTg1(`3RLJh3yCAr$K%(!PPvTMq|* zoFhg(b!~J%c8wlmH3*|yjV@y)>S1U-vE{L47Lk+b-bL%AwHzO?NCi#Q_mBSOi$?4d zJ3Yv23kEcUoql>JN%2zr66(>zZ=^h|A}Pf0<0|9flADQHYqE&Jz+1q!JcRAjel_s0 zS_93L;VX()U#>@s_Z|-8{@XzNHQf9V{;O@*H=59zwt;l~el=jm@0kIDxtt;{01rGP zrc^Je-cfy~I;Cbo&5oKgH7T`JOToymqpe1?5wb{yy`3@5TMF$v&lEuS$<3=~ETR}6 zx?`nzh*{%WP>Z(Y^T5lPol0&l<vCG?)^{B#`^C)lDn$* z(=Pq(Pk7sMiQHZ%Ro8vW@A9lIhTBhrB zds~@3^OOvkc$S)Rwn@i5Kj10&zcPhk-jM%Zxbk!^x2=`S{krx1MV#}0@yjP^4UC*R zKr*u1wkbt+Drt$B-D7*1T%!+q(6M^V;fJUMl0V;N6Gn^k(KGa`lE{Y!FZfCBH$FyI z`nBoHmrf8h9qZXJWtLaZcHJzdiOZKe8)(@|SB9okX83Sft7L5m&lL^E;ZQ%lpR$+D zRru8WF^~`XNY+iRjB~`CBAVN7D!c68rrc=Trc5_&Q>Gdn?VNd=audQc2>cGT+U95{ zHPB~Twkgw$1!eF#w<*O&xYcUlz23k1lSDqF$)ANAr25{c{W)cQ{;}}i(YxNC0e5ci zTGTMrNHJy7(jh$misg~smHvrB5_12%j~BN1jp;YQ|7xE?OWIMAB;Yjo#K158Ozzt5 zJKm%F<*oiGtPDmLdp&+brM@g(VBTb2DnckGw%nqssdMIfC+04|teNDRf>B;$FPM|tz*q_}L-R43F>UlzldRYv#T1I& z=+PRo9qBn0@gfB}emTh3v6NVE!o`we504#>vHSX<#$v5e1Gn@smX7L6e#SJqoXArK z2=tA_Y%nLI+~>gf2&lWp#+bs?eUy$3#^|xo7!i5q!1sP)GNNQkxTM8kDHdr9Tl`TW z8O-gB7m1}Cy3|t8<#o`9OdeG0L6;ES3J29R#Pe{=;L`m{X>5jWg_Vz}hg>G}Xz8Q! zLuEbtIr)Ww%)En@pLXfS-PjtH$F>^G2V9zOqHj#f3$LY2tfkCM+=XWRpTT;R*$jC7 z-^%tP96uI16hJm$DWDecN#4#mg{|-99X`G9#vAfJ3aw*W_v8uz|(-=0sc?h zb2b0nsJ{vDW!}@iwINxFP+FQFbscQms@!2>EarxvW0WbdZJgO$d!dGo_(K@E3(JU= z$R{ByUmbG}WBy&!R%JdxS(~$+Shgw)2wdk@=riBYw(BP2-`P9`+}of*3gX4kh0-|MHM%lI8a?~tE?xQttb`31N%%`f#B5ORH1X!- zImuNUF!Goyrp#K?a;bsKGNOJ*KkBZ5thf9vM;f$Z#o$a9y6dBk7nOGZ`u*?s)UD-x zCzb6+*fjO~>C79k#c=^;H}B zY^soeJ@~ImJ}j`bSW~SEkKf|nK0O0{6kVH~JnrDzpcT&DRZs2H!tN|l*e=93)obnY zuDTC#%UB?cJzfO~npk1&WuEPd@-XHC;SWe*UMPg0nAsP~D{?(eRObaNpWIj9cEp}w zcM|JbZ#lFZcGsQKj%CO78mgPB!ilYkn9uu}9p{yc`$*1W?^$SmNluL~Cv|_%8htL7&!}7h=slHAURoTHr;Wm>=Eh}lS zOy8%lExFyy<5lgIl~wI`RhG0zF;r7pQU|S>F}dN$niAQ>9C62{8_S?iF~*iN;yHyU z%rZkMTXQDVhkoxmzoFtyoa=Lh*ZjwXzxqRcetr$c%#J%v6M)`#(z{I-uBtMG-gjy$ z=1Ij(ZP`iad)@tW#dS4YjkCr*i^_{t7Dm30%rJP*QyL6d-`ovOuc4_I-nh0NM z1F>j2-)1$)qXtxPf#o%)(X;Xf8hap_u~58f;PPQXxa_y*CZ0}^XXy2yv|ayNhn|lV z4kSbOi@ak?)xh~+DKvvk$rKw-?8=H7rj6wG_<-YAv>*CqRCkn6Njl%wES7%h;C%Nl zn~0OtYP2Fts1+@uyV*5*hBeR%=|Rwj+SC}7{qHYp!x~M4CNK-Ki%;?U=?eMIXM)ZT zoWVnJPXO*pK!nRsku24(+T=(PINu*v>0B>4v|eH%ra0-dxqLyLwU27`JYV44v}C4* z*?#a`(AXFQ+mTc$y6oju8ys=IbE~4tHaMbvV{){o>1{77AMRfT8!cn=JjHAyrbw}u zYCUaKr++=3m8jp?I3|k~Xt_v~+dWh+!W98aI*L8Xvwg|ARXX5L^0Y1?CZ}RH{s=tJ zqU`m!fIlA^qWhy=F=h0O@e;TMCpyLT;>RLeT~b}uZJ(`&3Dgg!TInDz;}RdzyN@#_!l_tQ5qTf{=oa zL2h1XW~L4L3{schgmN6&rOSew3!pkJXSY3`>a?!jYfpimCoZJt2?i1eYGy;bW3#%e z>4`sPOtH>NE+42ne-RoTJ}>W<`#0s?>AI`pE?5a@al*;UCHT$AosaXs3BPgT{Bj>4 zuKLx^!Sq*q`k0%mZ!h1B{yua6?w(kOL#a!vn>G)5!4YnuWw?E|=2@;e==JsZTp@f; z{HEoW;@24Zjmq8KIcVP9)5qdwBiD|2J{OoD*wYj1e7QJ9Z1ro+H(`e*<^^JL#SXEc z;*2<{Vn_9)iZj($OQzK1S1hQh>aGu!dJv^JlpbI4a>3UqJ$|UP6{RgGor%(!|5DoW zA4;21+T;Hx6(8)U+A?#~sL)=%wr`_9Hs_hviYvP^PTIe7Cg3Er-e(bDXJuLeiD^|I z)kd-M@;BDL)EbX7fXpmNHfRf_MftFlT) zFYc7DOI?W6+Xr=Rv@U4oEEe&<{mJ}@lgy02`3j&@A_a3(QJNbJPPb{feQXVfEg`-^>OQg66 zcLed>Yho98jZ&m!>VEv@ow%7;GcOWSFKonIJH&ftL$?rNmF}+E!D6>z@9~8C6>o+1 zW+#7-2Rg`Z0*&D97>U~}Qfj72X4rmC6Q_YDS6v?A1oZFwfntf?GsVkoRg=9OSYT0L6^o%!Vz^?A@bQ5HskA)Y=coPgSXY@=&P&~K)|Y&f&_D27F2cIeAMRJw zy@nH!NNurdebC8uKR(adEzgS=clo(ch!c1EX>Ff*C%8sQ<3c;T{%l5hDr=B9fEsLcDv^d<-C(zP=9h* zf`2hwx$&ue#Bz7l-E)e?0`bq6*n+!eTS0;JVlDX3@5B7(A)a6V(0X!vWpt;3d@H3d z4F){DHA`Pz8r>O5f`O*qSCmK_)nNV_?zcdd<;iI4A%&*CqUcS`mRA&m zZB{wil5BcKiLkNqyF+PFp|lvAeJCv&X}c8mMn8vzppd6jzJ&UX1q9 zE}e6obpd>6t@U>3W($z>DTRhXWiNFzt?|BBlo&fonKEF7!7hA7i83Xd5}dCn(Wb0& z#AKKu5ie5;MGdqeqp$1Xoa=g6*1N@@h_pyTdmRked%s;;y^KRIi{T6RcXBVK45d&o zU;{-Aws_gjrg(OeU&9YDJ?xJTt+xW@e*bjwO+OtQ32=4HKEZhW9WVf(dxT{LF$#cf z2pb!Xt~ALKlMyr0yDK-*%gJk5drrI;_av-l8k-YyI-;1hMxNG%XwJgwAsM#@j64{+ z#fIh&cYCzHmB9Bbps3M+8>dkc_BB{RC!2K0>ks8EYPK3O-FY#rsn-2>H?<$XT8`Qo zQ@j0d)K?T9BdD>(JMZ;QtZG(xW3hCkt9&Ho48>BG=R-nmIT(3NL{z^P1@Gq)j1+&%rt$@IOtVa zS)+-H8kL?Nh3lq_r&H%UH}`jUrxr%Fjc`4kx>HJRFl1CaU&`q6$7LX;lj%(5O|ZX) z1hpRN8S|ar`!}Y>rEl%;?7rZqchQXOroAof@bl%gk5|WFH)!(-ARczWYM@lTqrqSy zTZlz(UJ9xI9asXga_#`Nr^CJcrY^tS`1C%Vpr6gW9V5j4IriALi#oCaFs>=hY!jF_ zSowy52+XX#D~WMRBe6saWQ!VDpz^{}f!U-tXJPj719Y^wa@t-Sbe|Rv@x&v)vGE3T zq$^5DsbS4$sz;a?)Wn$+(sxud=45D1&xmTk6ihbp7&(JVz~`xcm#+QsDC@?(P^1tA zOG+bbAd=BvCCKG*r};dsH>#YpMTKbaV^H4~S@9hoFY(=LcuV&hF3p)BhG#=t(13HE z8#qgVZwbH;y3o0>1%8f7DNWR3?oM{#lzSFETSeKxheGozRa)I-$YOo;-N_YIi(EU| zfs-0nni$qfw|Qt=ua+Sw$I6u-(Q_Dw`?b1mYCma*+QfqbK>Fp4){lhJ}9+01jdiKDWayU~=L(8^@; zqc%8*H=>D{V%zj)ZVfX{)5l&Za57WR?q|Ft=ZcSWGqxW>@+)XUY~Y(kputXN*(s84 zG)oxA1^ts|PjcnL!Y@6B#O&)xSd}Iu9%r#)zJNX^Te4t{=t?NxddU%ennQexniCp_ zoM0sE5(Z)I#(4>yxR}(K_d7I6I4bKe4|8f8E{hNpCuTv>UV&wM0s8Ib!f~ene!cVN1 zeHzGz#FK^bUI-`z9K*PaaB~6Q!B447=^SNoIk}4Mb3I-6hUAmbxZ!LaW#;itfteU7 zaU!wyduhBL@$^j;$waNWp?Aejoeg(H41nOFct6w;1b}&p1Jp)InMWx)$cpLJaHhos+&Ae4(i?7r|lsR z;~mv@HSh+g@Huv8uOH_%`v)j-q?L@7{U&p{U@T+hoBCjxmHP+pEx4yCg55|ka9K5( zZ-zbqD;e6PH+|IpuGLS^iLb#zR}Iu*Y^g;Hs&9XK7Ik0K(DNCf3Jt#6!c8Vrca6#U+;6ybM)LT^N-!gt#N zHSm*%5K2D|XIc)rouge`lCGm(3)e#1r1vg_Wx-7qH-)%~T*b%(hb#@8HO(7tUoar` z7ggqi-(3WPL+8fGe;XJt z<+`+Z@$hLEm%?{E6X7aNWl|-C93#8k6UCkkH&e08C|RRseV56;B9JRa}^=sy;25kNkn#u^(VDr<3b7zOF; zYF{zaNVvDt(A(M&|D@%Njrz(x$QyZGUi}bVGLdr+a)$FoR9^UBaI!-5~*|MbOLK~oekQlG}E_^>lt8J}M4@pIVm zBgIa?X)|=6o1h!bO7O6FOTd*IAlq{+m6Sug0`e=>p*_7X(ew`H*`EG)T<=t-O7F~O zx4c95nJ9~xs<~5NE51cTuraX9$Jf0v=M9{G-gnsL)^%hYllgns@8^ucnX-Ofmhg(G zFJR;o!2)Sd#h#i1+`2mD8C(Hcc}&@4`yH%8jwu_BiQ*XavL*O3_9y1Wqg`x)4w(P2 zE=yqKMo{osmHPGtx4B-NohqGI&h6eKZgqiYy+A`JpFE}AD&AIE%}VDKFcWyBHHq-DO)EN`1{Hh1|Do zOG55G+v1S>f$b#PV(C`r6^LZ)Nzl(JYcU5aU8BW&#G{H_4X6Rs0u~-sx)JV1xVv`9 z4oid`7RI=5HMeuL$OD|0P29Klr8o_uc~!hqw zq+-rLjxy_D~CL_NZ3N3G2jkQtV=~a2Glh5j4|BpSA%9N@)gZz@N8^k58!y3R^ z=*C*0YeIS!VRx-sw-|Q>aFax=6S!$`>j8TBqZR?+8UYD34N!+P6XG)f#w7p=uoSQi zc@R!OI00b-KY{-P)L)0ZcEASIwH5FhpdPRtuosYkvPsCFg#1Y;n}jf3^EgpMx4_7G zg9g)hxY>iLuGI3;;@69vO2UdgJ(|^{#iS6|V0Ru*VdPJG7n&kM+G<9QZ;qc6A6la` zy2rmeRmhR3tnmSEC9eA4?H%=X@1MUXo~<9lR%3{^ zsu~-jC!d$+o_%^ri5xa-NSbGBAO8?e+VyB#@V4P2WOGsm=h zX}BXMnCeV*T#Sx67W!dS3WsinwQ)!Gsbvtp5S?@~2!+ z%}Eh!mOnN7sIn_#_wu94YZ>1z=PqxprJ6AFilfSasfPZh@20=zZ&%U57c=~JJO@A%l-j@Vzn0Zwwe$}3yuWD1o-K*RMPGv>zx2v3rn2Wh= zI;w2Q!0Lew&`D*JiR&qux1;u?ve8t8d{M};)wHK){5+a^$VSWsVw}Y)E`VIJ0Nm}g zZs62>*A5{?Iu0LhNKCi8NC?v*+ievVtib}5dmF3K?u>_TU)WcDQu!e4t2wE>Y;pnH zNoAKQ1@W($QfkV8*#g_0cySi^O1ez$PZr~(61lFLzG8C71ez^1zz<@#kfR4?xOnqR zLW)Sa7Tqg2ydGjKu+X$2h7ehYx01a$&C}ION2R;p3hdO+Ud?r_T!A#2>UwG|^z|^@ z0ukDikju!e{jdqb8sG=+yq8G+D|-TnRV6kn$R3h zDnFh|HTR5MjXkezXx`B^O4lM?+jK1^0j{n?x^{WGRAHkV*BM<~bgdZ?mjIyq zA6?^@fs?Lr$_tdnWBW;Vp_j?5PG7f2JT;++N153RFX+Hs?bR}%Fk zHoaIZUK)-muKt^IT)D;syIj0C3@)=yVV&{5m_BC=?hV^+k!VP3F2RHju!Eb>O1V`ZGeSBt$G)DVCXFB+7R*a ze!hF{gYl(lr5TLAaI7RWfjt&Z|z0i;FYfIH)e1xUh!u z^spVqKp^!XAra*UmqF6wEdeo?KsSD~5*2laSb`N9A-yE><$9@AGyvxY*{k01G%;=n z%Q~}iXXnky!<*GZIR6}i-SVM2YZb|w>a{NY%v2Dz$Am5v_YHl^msWL`xv~G*-dajm zOUF_=o2|==#pTN^A?rD+HD%E$uEV^6#@RaJtVN zr8D%7307Y87S6W3n#vMyRToIsYAR23R2NIunvi{-(;{B-)Anx!Kdu8%zPtfY57-0% zA1x@T(grIgwnX+iB(ylBC?9m{B2 z9de6fM~zuLvuv7}vOHg0usjELr)HVlLSu1G!M8Q=F6`_G><>iV6f{fJ3XsUp2B%4} zA>S{9`BF^Cw=PI`8{jU9gdM=6ha*;D&uFO)jX^2gGC(E3g!n>$0GJP00Wd=Mv!;m= zIA|~Og6RSaHybX!+0KMZ?RL^b7UKr+(1Z{dq*4akvx_~h?3%&$JX&Ls)p^js`1yAE$fnQ)%c>+*;P#$U@* zarotHdGfEzGv~mBYk7(e@4A-9bX}h52lB4v8GCs9wLCG`<;giva4k>5;kSqK^alo@ zbGq8*qyu^r3mYvpz#S%@4cGFtUzbOFAmSPxxw-yYp4Mx5`UBk_!?iqLH*dU_=hN%* zeCvt4mgkG+P1o{#a9tj+XYI8-2b%|wN8bRMwpoiCOxT`_^CgGEr@bU?7SBlGmlh$u z1O7vKkGpXfxHyNGB~`7&gre?OY zEGz2F$z{JK8j0p+#l(u3iAKC;WU%jWnA0XAN~dvkZ2%c;~LpGyo| zxLSi*Ek+HAr>KPsttG{iv*Lo3;)wK`mVx^C77p9mABcsfGCY%%)2OSk6;@DNQ3vj{ zGb1Y{XncMV`hLK%OVcfSS44RVxbZOsh9&X`{SmPF8JMdE?i_f%mfk|sw(SKS*Mj%1 zZX{+{9c0D;2Q3@zLaDhl|0t2jx2h*EO=rk&iN%(}{8m@77~c}<4>YR`c=KT3EA{nS z7H`V0;-hB-x-a3K^STer_|j6k9q0L9DX!2C;qJ!>6_i(0%#OzmczIQhs863RvLUIz zKhQgf9Z)3W2Ysbwe)M)v3}a_-+LKev=x=SA&7MD#bK^Ag3Y+x|Ku|_Vd;8 zB3>)sKW=u8MC6gs180<*L#G-mO>ft&wu(8DX%dn3ke8t)rnA9m66pJ(^Jo#HPH#%C zuwfUmbh~Tg#bDsU&^v1)mj+8NKV66y$U6N=2IDe4$V?C57A+S0<+puw=VVL+fmt6B z&oda8tMiD*Tq0i*<7txu&KZ9=<0q9sl zmx?btc%dci54kr52aKr9wC^SW2H~VnFaoOnZ4?H*69n#eI`fo*9+|5e!?3`F3 zIpI3RXQcIT*NcCWj>0{P{jCT)KIx3Y+aMxO>bvl0iM~}=<|&a$NtOVPs3G#?KAJYJ z@4_P``ZL$kGDqR1K`14q@4}iA{aIa>5H3gLQGF(qi0LcQQ!ZF!CvpPhMXKj|YF{ku z#7Iu5m!)5i5pIZ>S_VzOOjMG4BUUhDsA@MPztJ;gYT=wWdgiazb{Zph&dm44?6fu* z%}K%=J>vaDz7({&^2+GD^Av$u){l2tPJ9C)i_vvxMr6+ZN9tw=)1ir?uTjVP>PmO@ zOtJ0i5#6^oB$VQ{VzCh~7I!<=<8+}%s0Z49jQI0!3P=3^1x{o%+eUF)i2R434SjgK zw+G&J_OM@f~_0<27B9+T(v4b%54RYL^!!+#u+L zbU9W}I`k1$GspPGmj1z!e4JWhnL#r;FCD>SI1`cd=nkI1@;;b_`#HR$4btB?ps8Pq zGYXL>1VeOMpM_F*>l{kmF_dbYf^Xsk|LRBa#$W9-Wz#SFj1ul>9bah>sKp?Wjlr=s z%vjpv99R-MgITWhWhpe}#s0uJ^gjdVvJ4a-7>vprxS7w)1FLF22a^C?0jnRS@RM1x&e0LjByf zXwmD7)WDpe317gY^nPJ*8f{zW3I?|BgINuDgNpg}paR}(qZFcbehGf%MmxQiNa09< zvqs>ynUmR(rW|4^5Z5nzzo&gIbAmA$+Kl+hlPR~?M>=!abU}|VEJeaP2r^3M2R#F8 zCy75C567-hyZkifyWGD{qa%G`{NDk-0ScE_34j%eN=`C z=PiJRfdMnNfvSCj7c`+V_YD}zNmi1F551cG1loMP$0X42N7(EXPm-Wu z&QM&JK+{LvI3GYdp|arBI;cGqF((S~u6c^Bj_YW_*R=ReZ*=IjSB!sf#Ga*AF7u^V z9qgISj?X+%g1*2t^U8^t!t9xv6K3Hbey0HL{$RI%xwOZ@LYiWxY@el{^pjskeN>A1 zYv^uFuKM*p#_XD1Sy|~?n3}S1w~={4za?TDy;n3~4(0cMb;+=V+3B3Q=-he5w666M z$^Wo}!}mQ1x1@uOv{&3YQ}4NDCV!lMEAe&pGkgcE72hE1N@2GkodaLAe07Osrc^wO zJ?lvaf1G|paWnF8KOMYH*CAYWh_&D$Hko!f)*b|K@+HFfZIE`*wReReb zUtQA9oQ-zk*82Fq6lUT#e*I3a<1@yG9ru=YjzoGtLb?48-EpjN^AW^G?3|}$*+4N^ zS**pokMH~>Yi;1c_xb~YUbmlq*OG$%Sz;XXs*cRSertl;it*Ir73>Tp7djag>z3L#&UnHyF+qNI_3pg76b`kbxxwxO1 zo`Bcy$srBUV4xWkq}C|i;JL9MOlj1_P>nTO5_}6FtAspa)r%~ zFAib8Pr04;iN~$%37kuD!v)zf4suRC+7jQG1`CaNf%5Edj&y-5qqE#-?+g6WvmJSA zL*JE>tG4W0Cp-iGHd>gvCZb6%jA+Zu)_CU%pUo1R9#0!5borlHb0{q{k9cP`Wv0`3 zlGWwqO!1+;wl+`en~N_u(%5bvKlyuqULNOZUNex!j3eW0dAtXGy>ph#>T>eTzS|Z4 zBO3mwr*0Lwe9OA=c@AIZnw-33Z)jednZnocz0(Nm4XtdyzKG_$;%ECKi>WW15;)xk z&Q2l?<|}?+dv?(pw(vj*n{{1*usUxvUM#=l;wO_Fy(dL53giVMZ|x&HGy>J%5II

    =Qx~RyUUw@(N9%6I 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 j$9H%Fe?BQ)koLV2cENs&7hg<^#@= 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 uV7_7G_b=U5Y~`8JRY4k^ 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

    ;CPqw0HQOpiB?8b1`szAI`&lIJz|thn(4yLy1$8 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 z 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%0A=y(B%LUym%cXvPD_xh)<~$_s9yzX=yIIDlm+kvX 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

    `SQ{&T?yfCEY}IM59kp>jRQ6&b|?1 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�tzW}w+ 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�*t(bs}@xV40wOn?_e;cm)YU!!&) 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

    VvfG#v&?xbN9NN`SXF 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 Ps~fkQ|L^brBnSQ<&E56* diff --git a/amlogic-tools.repo/bins/j100/UBOOT_ENC.USB b/amlogic-tools.repo/bins/j100/UBOOT_ENC.USB deleted file mode 100644 index 908094c5984e27aaf70895ca7b21436ace3adbbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1123840 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

    TU_ZF0NdHhO70?*?^=)v8e-}yy4t0k5`0< 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 z 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�-ahS9qqp?`G(~ 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

    R+Fo~OIfD68gw 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 z zZLVS1RUjs%Fw8X0H{eUdx@?-mO~*?�=OD!+VFWFj9fmV)&wtap3-FmRMD@IM7{X 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

    y>3=*+bz%ejv!sO8SCb(@uoez+o2p+)<~( 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�%lbmg65izF;NJ-sHh)9lLy1)zRQG9Etuy8mnF?@EjMZ7T|x9DQb#QS!s*m zU1MC6`9%OtJ+w#W>bgI$)2whSy^nx!h(uF;tVJR%r6L6LtOT&%6uw_2Z@v0vNCSaS z`QmZ)n0hzAhaI>sJzM(zefRFhK!T*#gY0otXB(1Y!QwPGWn(Nq;`0i0nx2iize>zc zuCuzKsPnJBJLsH!nGH809mE#0)H-k-kTG0{2bqf^gigFVXF+f?bnO(D{WI-7P4Z1* z^7fRyL4&6l5ANu(=#)lkpMt#CwUdctBmiGcCg-ZKw)!OTmuZjqy8rCrb&j9u)D&0j zh6ae@G(uz#(YvimOQ1c=48`{ zt3NL@4VPJ!6JMioWbRyGBj?3Q?GLcNEDp5&u}L!BlUme|5pu;Q2I6`J(F489a1W=Rm4a)$d?$aqt8|xaKWu(c zrynD15s7=b(S)Hthy4mmcF}3Q5{r2?2C76 zSnPb-(lqE-gXHbj!DS^K_bv29FhWP8kF?(8Lu1?_%i@d}{`pwk zs{YAr)xe{HjHe=4Nv*u9Yt`8l=tMU@J+z%b!}1|=Wfj=j5wj)8b)Vu=nE*ZZoG&{H z{EOjxwk;w2eFtV$aL=}N3EJ+)$2{E4AaU}A%dWlS)o877gEfYGqWo!4I6fpp6v&4t z^%C-3Q=zZwYiq2?TnKpFbhj?m%07|~;yrg#2qeOxkPmVBnkZBj{$s(+NLcJ1g%SUs+0WuRO1XTPio6(;FP#%3 zl%fv@8e7%c`>!ubjJM+7;uVyAEUy7IBF;%tci7>dL=9~G6Vm+x9ECoL*Eo6D>nFjC zqo_$LjO2g*51MO0`A$6FX=yoY|L&YeWt0qL2XUNeisr*>tuRk^=YDibi0`gPO9wMY zY46$pGPfLSeG}h-Z$C|TmxhXnCdf*<)z0G-3-$-=X>N5(WwqBB>4sXq4J(W_B4BFA zkfzeLGuc!ov1-p`Z%Ok`2x($au|`_c)gIc;5RgqS8ey7~--(T1?IlbLu@J_xl0`&mcncm-P_)wyzIBAKV zxayntaa$rmND>0lWal;iolb^^F1lMZt??kRO_*Tlp-*Wd_+88Mk}WJ&oU8Z}B9pNg z!v=5(7Z7i7G5s!LM@s;oN7v1|BdRqj{{M{egS}^^PQ9r#jL-Pi{4`#QJiW8@!sP4cHf!MbB zm|drjElvp{C?U6?{1uUErk@XsuguEi4g-9pa{(-U)>}cN-vFH5tTyYK#f#vk1&wThei~)JWPk+}Qi&*<4F{0` z2+ZfCn545G`&e>?D2#<0WI^0oE~Lw{_Ujj>_mw8g5&L&kxs# zn!L223TBMWxN8ANWbq-zxcuW4MR3Pq*8CWwKAf)jm}>qWQq#|_ky4dTl*7nw?gfgZ zk{6To<&R0OVs34C^v`fOgWCRkwvJT7evK!;^00x6Nl!;86v;jM7m_nYq+_lyZmknq zvM{v%&{uP7B0CRuTVD3n$b8j28||t-rpmD>e{z?SQg>KooY~lh*C6VA_0y?!FTu{U z5tDV_nXnZ+sYDxOml$xM2JBn*d^rnh{Cvg@o!aLsp|PKx5k-y?2I;v9q<2^|#Uhl~ z?&zbW(-i|P^vp%cH`hRfWr*J%S`Xa?k-hGsc;BR3tDu__Pygt5bPlYcV+z?#cL3b_ zJXoDUHd;e{4pj%ND$1Np7%GeF+dw*3Oj))%KfNO0u4t9D0yW%I|@W7}wO?khtwD?MMaA!w+)_KmylBKnfQRox3wx&Dx9$Fl@ z1G?qi$uNNw8$A2MzH=A$!XKK)VJX&$u;GDcHE6Xl>u3Ni zYT#usHU~>dQAcBsmNfQ!^(VX0bK0u#=~Jly$$&9FlJKSUf@m3bpDI0Q5O~A~Wr27% z!VcxMMq7luN%8qeU>*jUhrSA71|JEKJ`xdbE!}{ik}iQqla?hM2$TrQCvd1gyW{N( z(qo+PCTLBM*$+(Co({ievK@AvLBmS7@{6v8d40ibMH-^Zf1Rahdc*T496%5kW$?b? z#_lmoO(V#{zeEtNXX7B*f($TW^O@>0rA;n9fFgif?Kuzvd8ZyZ+%175K{FeW>y}4= z1y)pel(y3x298ggoA0?Gu3S3U+|97d^?Cm~-5_P56f?(Gfm745I-Ke;j_+he9^zHNW{6n)z=1LSa5$V@?j!?1=Z_Q zfKw=z8UOG+F-__CACaJ1*wP)hDON!suSRfWxBF{kb{|~FiVWa}CNJK4r6#uPx0#MX zD&dFmu4kO8e+=q6_Pw3}ceT)i4xu zF>~~2JEj9>P)@bRDY{ZpvtP2QUw-^goya6nCN|i(wSTD4k2pS5apzjI1LCD)_wHF= zA-tf??P^@{u~Ewp8DvcFx&ld}dj^MKb%mwo{XJO|Yd>G9gxwp{{iCJ)-kOR%M;% zifKiiiiUdlWxLvZBQrE)`!BgE$QY&qOEl@zaji=I8DfHk3)dc-l_{oYl`|#ZZ`fREaPX1+|%FEs{AzvWoFy z(q6R^$g%~)2;RJ-LW63DOSZ;NvByjx;FooDKKWdHt)qrGR`w^}t@ z`jIt4IY?+yYnQh&FtIm%p5CtZ-}8InpzjeB zzBSjI&gL($UAGMs)FFZV(41*1IJ4N7F`U`y1=ABh< zuj%Mr0|FD=ONiXap?XnI(Z~BDkET1RsiW8qF;Er5CSotJBEW?ZWg>;2uwEcB?x=v z*Gl@5gSGdCSgkrevKg?WxrhK~!pRBbFMZxf59YK4hF1(4S(Rct z)S+|*p<(yRe@Wk#S$Y&(31&V#q?{_0sD_fqxfrEcsmbZf16dC;_&?!hwq5WdkXc&y zo6Tk{*zINC4B8RA$i3f9Z$LLOlShY_ylKOU^_jCTsjg061;O-yB5RcOJiWX{htrABy+;`VRq&;_ zdu0GHwgy9^kF}+bMPhZTQ1$!)@>t*VDccs3G^rc!Su>$LR)cpDvhb8qRHE1I$uMz* z2yUCYWiqW0hS3sm8Sk%w+?G{kH8P@w6q{_=Awvql)PuL#JbuEAT7z6eh+=*T56YS{ zsK3gEx8Xx8)Z-h*77}uok%h%}cC(F?6H8%%HHBC1G4RK@7SfT+qBg%!Hy919_rU$D z2uw32YAN!beASI;T3DyL^n&xFBrjI28vpTov_nV19+|dsP)Y!hpQC z_#VYESCUs&!`I{CE5uP1*7(gF&q5PB7?F6Eb+e_T0xRHxZE8DTu=tsiO=*qr8-B8> znROtNWIy$0`nux~_N$>SJ&3Q@5y|Yd%QrSP9_xouFq6ngH9}rY+T-3De7oI6#R8U@mZcE zzsvnKzq6;Ewu>KpF0)y+YQexVa&zz@3KaThB(4|m%LgQ0I3c;@UyK)3Pcb%YAISOJ zW~{Wt_klc{@Fks3Wu}xqVPJLFqdBQ6lQGN>$;Q!Zj;6$1WO04*s|^ObpJb1 z@8W)JeY9|P?xBaC!}~{#KPq+L(jMj(V*bo)@6T?fKv0`mUCWyr)K6<&#jLh5E2R3? zQSKPX7A+h)B*HBADp)M%#ex~m=;Dj=!uWk8PdTsrUoC{=To{2;C zmhV8&H_Ca{-38Y~eFgi1I=sDz1D-NBE_enoI3mF(3=h{XAA;X5YR9q8s_^Iu^?JP% zy1Kh_Q+M5RNN-&t&I0yxWdK*hf(KUhh)A(cN=Cmv9EM*&NAuzU)Gy@VO@n;FFF$8 zM!ZdI*AV_xhywvPWNQg-%+A6(Y*9J;?^;Er}*BcL=-wv!ZrC0HPoOxQ@?6Kwk7<1FCDB4yVsObVTOv(b>ce!$*B26HTfX zYtZ2V>@wX4I)8dOjRYs8I5;MfH-6`XJW}{_<2~AA7cMlfw%0&jG9gIZ8)#=>UpM) zsw7Z!b&jTt*@uvI!47QJTSbu$W`yILzaNL|FDyFBLWw5PbpxTO5r{ux6eCHIwMXs# zUB&w_!32Lawq@#EqYQapinbgh&_HXcUWbq}bvMbffLQ=BJBP(%vOPs6HW6-!tG60e z`l=j7R8pt)T7IYvA&Tz#e-9J&QYXdo^EX?1U55vOAkC@d_tqaAVtZ?P>OX!NZ_mfX z#o>XGhcTy?myx+$hgoSqfF-{XoLz+nK%!Wq7_p|Jny@^cT7Af`T^RO6##U~S1obo( zp*CwXRUJ|F8`8_c8xB8ss?1aU(eC2YT%fuox0If{Yc8hc4$*y?!KVIItOJc5+5szb znhg)`Axudc_G@xci)0K4R)X$oG<|Mt0ANAmw7Sf&%m98G;kkhR^s>K*Oe%F{=HRQs zvZVx9fV)l02cG4&*PRUq^(1dVP#i5@fceTEG9J7;GX8T{xpu>;0Y*1vkxr3;1iB7x z!XpWU*j^JgX;mR{Af^91%5pPiv9)@-!l-)su4;JLn$ zely8mO;(M(Dd1As9v0v88P$YGaIx3z3 zf%kgtX>1hp=4h5O$mN9LgX4NN%$orfXEMwt*B?iX zVarRd7TGU|qYlXbSa7lsj=&HUGr>#{m-0hSBoLQ7aPVvpz_-bfur{+iP}AzcwkXZJ zpdt~~sqK(i)H2w)qkkP>X}_vaeH;!Go#yJ4rn0-T=z(X6S{2YRVYI}p0iB?JoN%|j zKKLudsB2!j5zm@91KN38pe#Dn;!JL7^xH_4Pd8ui&F{5gxp?tT07KNP#V@niSk_=9 z_d1xnGFhZ!in2uzA`&i^x3uNXwr2J&&k8tg!0IfCTcl!{7f~rssJ-c`m+P~jFp|)o zBj*ZGUlxmU2or{=&u1{s6g!J;FiqOs9gED3`W}sORf}*fjj(Mk>p7(vL34 z2_YyF$Y9&b0O@xs@>6?L@ei1Wj+(TM%Vy_#_uKjegoM@rKrNdA0;IAF4B6Kh89x$`HZ62t#v5_Nf+M@gtg_VzWN%hXC5pCs47Kxq9m7S{OeSAh zPZq9zlV0-%s|y@l6kC1GjWwfC|5_)sH!Y`1=>fX0Wj*y+aj_NSeyjbYC?)@+-AiEi z`YZLt%EbG(Xkc4$vMu#U4r2^GZD}SKMwnqtpcGpLze_DTXj8QxEf}cJKumHD_E#x} zn|UuOo3l{4C-Zz<=RlhhNA67K^ZO`=*?V0V%3@nQuH|pI3LyiY=LLuFn9&V*gKE?H z_Zg*2gnWDQ23t)SZF6-R1h8($iabh&)$5itg~(SHCvWjWuic>MRu^#ZQ7xeBjrwzm zXta_8c|_q;8m93pBnV)DNjA#=lqYZ((yv6@A0DTM5h=brq~MfaPa_>}A92 zKeX(bggf@zdOZE)3=?Un5e(;H&0W6hdv3G$rtQC+Pym*TD);Kp)vx&XyP1`Gg;%Si zn+Ts9JB`fT?%6z6A=oX5_*kQtxmnCUzL7SlO94GMeWL;Lf~&O8{N)+>$faw0W>Be9 z=jV99L`?Ci?EWWl9-%l_aF21;3i@amQ(2z$m*9A(NX4!AE-qdi!lC6 z9TU@*w9Q=cY}RfQf#ix(P8+0$cYIA5%JE&yir1C0jR6I7UN7>UNFR^bj)COzb&?zT zLA!up2K9sK`CjM`udwN&=w$Sv-#zj0R*dTM&c}(?p=?h{zL6A|p*7{ryp3&eJ7KHo zYSXW6{rYGQDKfOVbTMyfCmW!(LFS}(IiB`rZ-H-$dPQD*%@5kIM+(QPxvZRS{ayLc zC^@q39j<4ZW$e-`(|$iDJhb;8T69W)UK7>6Nr+Ks$A;8$DjqKg%Whg+UAes@3t}aLh6WcD zr+@lL={pBYOu-~8slikDPS5Uz1cNDIOyL#UZYI2!w6p>m^fo}*i`%CBRCA@q*n25I zLc}-S$<@`DJQu7ap^tnGrWlau;^nZoeh53yX~hSkx%Z6I1h(P=?@DsU{Mc5_vOP<< z@wuN>6#K*({aNs`GkK!w&iC@Z=&yySmdjD~^qCmL3GPwt!P*vIJ zMVOs+E~N}azBY8}Le^ES#b575*d9xlcvIgm^_?;DOUEEyRgJ|~73`_)f&YOvC{Uz? z%oz9pXH*V6KS3O9l-eOIE+(|;Dv%SX>xMqvmchR!>_2{N!-nc=y$^Q8KqB_$dd9o< zyd!JrpC1$EtaB)A(hnV+MW< zIKXqrA5v04bbv%8=y)>$=a9vVX$f46%;4cY4T{1jQm%cz_cBu}pjOp6DDw>|QZi_2 z2y-G9Z?Aw;G<@MCxK!&@(Q@NkU0|H-W=(h!h(fx8FWUJ=(jA+XLa^K(IM=~De>RvO zQyTbWAh6$MqFs10nM@}btaGx zjmeP$&nu6_aaAh=(W)hne?NCsQS!`j#`e`w-gRg<12V2r=7J08b?sr zP|BxFU1D=YE-3Ej=qnzvL8%9HgzLgOM+hnkJ$)n5W9|}BjaK`Pit&e?oRm<7ynBwT zs1M4tl5TTbHSCBlL&$E_goeXVkf{`L@K&Ne;dtn7$Jnkz5^SNF>U6==R7fo3ewl~; z^6@x&L<*)q5`8jBOJr%18HK$Z9CVK1@uq~2l_|)?A!$+hIEtos7K?;R>NK*O6xipQKL){tKD+>g zz56LuxsrA)L+nGY)BKb-LU7i5KMk@RzIA~=VPSUSr$S9$vbsAoLl~iFGkF4Z8%a`h zZU-SwQZ0d;or^UbL2_{4u<<2iZ+VN{VwpWjl;{&*kc5(NoY!`4(~J~ohEI};-yZqq zQik?RK^kBkPHed`YSJnTD>L7g1y9&&b&UdK7EARqqtlmvpFwt0*{I+O$4yf?tM6rr z;UBh9|2iB_l3d20t773Wuwd*YM5YRkF&>w}|Gt{UpdXC6y*7Ou2z6J^??`hBLaLJS zZ9%C+QbqF8;;t`oGEL448ZT~0u0>>7>NvaY`D?Prk$3uc1sfCz+SY}GJ>H5}VN(tW zgS1WW^sKI&E*GHTp|YI4s)1z!&JRoCU~|x6$#k&#;XPmQ5_#w-*Kj$ zYVzGO3*VdYj2iCHDBBWPPX1^OZ-=wyd4yI7_vb}FE5U2P-DVQxQ`%=v-h9}dF(*zM z^h9bmv+R>{J>4!%uxQu%iskSoqRPkQMUG<9*2I+Qe{-6pqQq0PVb7!Bi}}LCk=uSh!M7{d!R34m!c-M z?3d;jm8~e!PVf$9((8rBKzSTc_S7>~V6fKG9Z8q#$C1aiZ%KX}gQr}bOEH6`%<39T zP^BrQTHkByAP7aBU8);qZ@}&pQXpY`!7TOw!kdLyoFA_?C`FrX9~M@iHYi_hLQe;( zSb>aN_GiV+umAC9mZ()CYtZ}KFh{hXn;1&gjBnUTNaKiVR^2Om%o z+2CHcX1{y0@WE4t4SH&%sLaE2xg)6_4tW9$WkDyC6YBnNgcR-O7Ha6w9;ez%QW^Ek+uLHwzGKY=t zs;|}jb$P7*Ti*+Z_RE8f1o@2MKFC?_GL7ayaC}6|wgJbnE<@;aF>Fm}rW}#=8_ov| zSKE1-UZaB-gj&Tlq2W0fJ{n`&!10ZTrUvlYI@sI!UPV*!o@^4#SN=*G<~N){e6sUS zic$N1R&3T$HZw_n%5?b za_$B;*yPUi^$#AVaAZwXr~)WxoiJTY+aJ2D5a_m6s>{Kh$fHBMCG!Rw-uj; zR3^o#xQI}tj`@RebPO-oES^OUX2dHKqQleyyHh%+Z*|Ql0kFe)(YZDLX1VS7B$lu0 zW%mV=ijlveiU|DkSz|K-yPejBBPTf%&(j-tZE11Ih6>Erk>$&x3dr36Y;{m~1{QMH zRcAxw5ePFlIs$C$6L)+YRx(dUM(wKyF5DU-vJVy@d_Dq34;Wta;^W*?Z86)E4-faHfpa2A2DPJ;`bw#?jI4TR5^sn-P_R&mC&vs-D*T?4Cg}yE0wD}}0 zE+SpH@7`~AajAUe?q37fIQf&TyhHMiDHp3=;KRX8VAoaT%4g}Ky-IEqGDzro)d{ky zsn5o3K=JETqpGoosXzVEhg#3NE} zH4(W*gv!NR*@|@>GVR;`>i~Clb!HQ*-toP_mS;Jnh_JkcYoChj5}AD6T$Tb|OyoZd za|3@4b%h6$vyR93O?*Zk{eG4me9ZtXS0xxXn$(r_KW3<0aL0$7>RD>;-njv$G0~i! z*+tG~{?cf)8A|+DDODiHfN8`ul6YXEGSEFP#t7Sq?l)@|flB6Go?ui@6&?|Y0BoR# zVYt6}s+4F~^g?XR6P5b!iHMZ2P^{KXil&Fu080robJy)Xeu_`+|f#TXhoKB z4FpMGyhXm>C8{uAvu7rMMZuZTYDa11yy0^{(nt{_;huaJi{h&!6@#ob0l(1znz(^C zx%IL$_MpHZ>dxauZ^Cf~1-_hp~jmRr#sj&TlV1 z#bMN+dQvTG(g1U`*00e_z@d4+EJtlp3Ax(lrI0v;R8V)JAZ3s?6AXP7Nem~ZnEBcv zWwwQj$1$a>X7ij_gn|j*wWPt&tYdNyok>UCfp1!z**R^iOV7BdKN6aQ&;7f8p9Vz_ z+bUlVelR+9bh+=5kSs09#pq3i{V_ComLuG5wj@rMlbBwmD>hb z)6d7?b+G&lC%uIT_d0KVNzKMXk$**Uy(GKkMJf>tfy#S8qu*tNLXi9(uTS^`)t$Z4OM*SV}%cBJ`2uS=up`Ix36~Ry_r)1`q;oIZ210I zPTJFvAF$1R6V&2AJb|x=xGUgti(+W&6K900*?I9^jv)5oQoNzBT=H$jxnnWZk5I^M zGqJ?#G)7p{^f1wiv%ZT*x&$G)hoI;L+KBYT#LCds+@U#_$vC4#~6jH8>bz!2K(V}_FrO@d(N zN9i^jTh!y$N81FD{-scz&RhGI`E&0orjX7$at@VdHsX$0G!h2M{sH&t`S{%=nAr}q zU&GucffkL;3bEg^mvy4?9it)!VO?m7BpqE@I-JYO1TIC8Q ztOqL`VSIPBFAjGee2Bz)$gmeQXms5#&Q3|<;0PdIbMuEpXlXV@U9D=VrqF`Kk-XR= z+EAhOCW7f-g$2xLypqc;Q*3hgmi7Yn3$MnQx1REPM>_CYsmC+RQklk1tEJwy1&_=K z;ZY8_c^^npss6HMI?~m=6RZtNAVeLRoTdOOJ!b+(XAK#wKk1yOkxT{kzh9!fxcyy( z`$k#%a?N0r)iht4{f$wUb-t+k2$qC30GW)wKB;;hZ)!jXG`Cgx4NI3qYX;95@}?#^ zx3S&bpF%_ToV%tqj_-O>c?_bHUP|ePQ@;e6I_o4cA#KI;61m%W83=MlNlTNj$^%ZDVL5-3ZS3^_yN1Oxr1T{mD&8Rh}bPZR3JOv z)(v_Czn$8%Wd>=L)J>kj{OfvRUR)Hu=2pQC;Pyyfdpw5*nz6(Eqq?eQi zbPA)tklbl5gMwMT7#-dl+-0UG9Qp%iJ}s(w^^^ZRu65-6=+k+pN0e5fS%0Aka;OMw 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

    A$(mzpy1{2?0HOg{Ggwh(-S#W${hNGoo+L8 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 Ccw8v} diff --git a/amlogic-tools.repo/bins/j100/platform.conf b/amlogic-tools.repo/bins/j100/platform.conf deleted file mode 100644 index 66289ab9f..000000000 --- a/amlogic-tools.repo/bins/j100/platform.conf +++ /dev/null @@ -1,9 +0,0 @@ -Platform:0x0811 -DDRLoad:0xfffc0000 -DDRRun:0xfffc0000 -UbootLoad:0x200c000 -UbootRun:0xfffc0000 -Control0=0xfffc0000:0x000000b1 -Control1=0xfffc0000:0x00005183 -Encrypt_reg:0xff800228 -bl2ParaAddr=0xfffcc000 diff --git a/amlogic-tools.repo/bins/j200/DDR.USB b/amlogic-tools.repo/bins/j200/DDR.USB deleted file mode 100644 index 52a5f58a8f4aa819734533b3bef1939baa8cafcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1344368 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

    *IWR=GVxege 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ŢJSUzVM&cT>b!$}*SK4O;yV@rWLY-{ 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%0A$9SQ5*}eZBo!WENW{mkLuaz@5xR)8j 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 z%0D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

    P)3NIPk>~bLL}|8` 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 Lz6D>7q~HGnBoLvH diff --git a/amlogic-tools.repo/bins/j200/UBOOT.USB b/amlogic-tools.repo/bins/j200/UBOOT.USB deleted file mode 100644 index 52a5f58a8f4aa819734533b3bef1939baa8cafcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1344368 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 xeKpX;b2*e=}hd>+x zaR|gA5Qjh<0&xh$ArOZ^90G9 xeKpX;b2*e=}hd>+xaR|gA5Qjh<0&xh$ArOZ^ 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 ~Z(KDFwJp;YPHl9{zkpGFX=W^W5 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%0AGMn3 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

    *IWR=GVxege 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ŢJSUzVM&cT>b!$}*SK4O;yV@rWLY-{ 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%0A$9SQ5*}eZBo!WENW{mkLuaz@5xR)8j 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 z%0D|=7Egc&M=<*r2fx*`%eBld;0&qLlR_M6zGpLS6i!(l9NgT8a$ zk4SVgPIm3PNxSD~BnU4;NtAu%2({}f;uZUuUBFO5xC}HacTq|zh=am(b{Ap+Rj`X^ zAxO}WA-y(pNYBb6c+a`W7JMfqGyI-29p{Q~@_P(%;Zo7RGc0)xY<07-laandi`%xJ zGb}Cqsv8mKGb{!%Tq=H+?-6b@(i13DJdW1bk^=k1;>w8JFY(->=TJHN%dJ2?E{1Dm zQYNky)`Gl?7x6FQJT3Y6IUj+D&Ut?8;A~L6%`Z(L?#hR6QN(@_^TWRCs7gY!WwB?M zCoi7g{u{cH-G(zW`Og-T=Nhb}&{jbr;fFwFXQeNiK%tSFO?(eK!OHH`T zi@PVIFv6L_#r?bt_o&NN<9<3weLTH@eIhX;L%fjrSX$2KT~@StUD?OKOX6T^{Acet z!X?|Xda!f!#N?j@9XKaw%N4(WynXzZf^_0y0N^tCbdpvHQ@RLbbM8VQr_421BHb{R z*{1A4Yo~?yXv?|$3{D6id?sni$k^Y9$)uEHJmlxe(z8JcG`mqT6c{v|Hv6H9qc9Li z_~l0Gx4ws&(I6gBDw(WJ+P4fQ_`wN;DnVtKH0x1JM(+xXd}#DB{$p&&-k2ABvmoUg zw0@XXVai^PbV@UAM{E+SeBm>~Wl>=9x! z*wFSr7${3tB&!pT<*0Y@DWdy?(X%^02!@v%Jv)Z!n7dQMOKUD>SfbmhomKikEkCLh zqIl5}_D4@A?z*XtZC6FdGMrL=hf~dIEZ3x^#tMtO{j=h~pVA-H$m;yylM6lg59rc9 z_e5<6POW*bW>$Rr9vDE41`vqOUgCi^FNevnq(2!+ca7*p`sGV#QEkYAx(>SzRkowk z6_Ed~1BDdA*U2&eaDoVp3Ql-Lf7-s~qVOOL$8mcOdKP3p0!fCBN#mDOLs3ZrCHL%b zmE+}tTyFVO9GD!C+1kCgl!RlFR%GPe=^>*Cl-u4Qrd z3ZhSDKaE>!d>|fy7SOBtecK0+KiBx(L%5Fj?lrnK<5gR|IPcx_E@fsZC)3a;>C-{u zmr0W}vALii%J_9q`9G7~@5WR-z<-FzEXU6p+czh+lB}@&W>$JIzw3)&-%e_LQ%S_} zPw?-dGi)dKvS~lx(>Iq5?b16O8OKgi!*gogf#(ikK;of_a>L}*$O|RM4^wd6HxTZa zWF;=&jgCbpW+2lFL`Wc)eECq@KYuVlTtANh&r_Y3xD6VkI!992ViyC%XHo|CPX zX61Y9sr-O2|3o=^%|}D|F9yV7+~bKBk#e7bQ?D*!@^etAtOy(Z8vT&YKDBgr)BSvM zko_N~0&>kh|zR6H+93#e__Y=Q#yW5^gAVcff;3(Gl-NCFz6{3SOXATZX^p_fc|-8SJUp50?&s!9bYr*rIWIT=`-~ z*jClisgT>5N{fuS`3bYO=WysO01H39L35SKbl2c}1%!|a?KyH%oA}Ou* z=Hs2CJs~$n5xZo6gstlUCl-iptZweS~~%l8v#aUNpE612)8j(^b0-%r=5ZS-2`KIV9%B@|G{T5M#3ApzUx^- zWC&&eU8F#s@3J$kml4(LYu$tyMs1{MIlgL+8k@!YTEi`6z-^KN_hPVgr_~@;ZK?}m z7j)&C9U!@qj8|F_{4>wrd4XadhH{_Vws# zS0$75K_G&vpyDtLMSI#XL1{QTQy{22HUsJh{MkNV*H`%T&t40Yw5-))QDvH<(8bCi zDLjAi2@xQwIT_f1j(r%_Km%~6cB6@ppXx(P z<$l#WUQ!U&L}6^O=M+CxX*8DHu87i-vDg^TsfoDra#DW|P3Hx-QOFpdu1Y|td)E>I zV{buY%qr{lDn~EXIE>C3o|VQnroA~kqiu!w)&sDVy3 z_Ymccq~i9o_u6Sy-=TRciD~Y*&L)dAeC}%-tO_73sDJw#K~I36p={T z)YX2WfRg^P5#I%_!_j&DP4;Ln*(vmO8U|=&LYTz$DjEZae5DHBj9cN>UOz5uwQK50pU_1w{68Np?Zea26{wr^AHKjXLLVsdEZOC;=(|5|CPn|n z+}K-bubgV2G?5}WSVnqgWB)!xAkP03)5q!%m%Sc^9TfXwweMBDy@|iaNRAF-6lGa| zimAJk{0W1TCWvO6$9TY=fK`beXv(D? zy<0_@DBdQMj{3B;n=t(B`MV}3-weIuT)i}7>PkB8x;&q_b8*d>w8_>ZcJ#J=R-i7h zF;-Ra8bR*?1d9K-b3bGr!`zq<*g&+uj!A~A#u1uxiQa{U=(Pn{RJYi8bAxS>ju8l5 zkYhX_V*-uGginP@x87& za$XwYh1RjZFbxgH_cu)Ziz~Wq&ZBsaJGCKpIZSVdiUpWeg0w$s-++^ELRtqs8tO%C zYb$=;P4QFT_s(WzaZF-XPwxuuqEg4H!+o!s3V)_dVVzSra}BISIp^))H%AyIQ=t|b zH<@Ij18sKYShL+&rNd~7=9H?qZ+J0qwWT=}tse)TKz-efW&dh2XMKpkG}I6U^kL>< zQv6j+K_bMZi#8zZ8056G$tnAD0#zToYvy2`k{SJr@y5jXc0L20cm0p>g;&F*p|$oZ z4P{X!M(zS?-8q;{RX(|!s@LHK#;#hmultSdN~s8+M)gmX3TZ+<$`~k&T+i}CVPr_p z?3v2v)$0?{jt3#0wK8q_SS!kj>h=Ab!5qNoB6$%{%KC;KKNF>yg#`2%aM`8E{T#>L zU2zK@8c!>`6l|kVF%IY~`0ss~=ldy=1?Q<=1)q++JUhm?I;1vHE0ijH9~bDG{;BjH z63{F6zv-cb^NQnFY5DQD4$F@{J#i+Cf9vq-W7%PhiN48P!{4tW>9fIuenr4Mr5pU& zO6O>*6owBnG#hozOA7smn!JNpBYts(*9rl z9c_i2R$mXQ#LRJ-S;UmAdua%2p7EbNhxIl1!j!p$O@Z!5V3_v_*p&N1U}yV1RN^T8 zL1!-UQD=-P$C?X?E1dpSep|bc5VF|zf z&RW*4wbs7Lpu75EduL86&W6_;xFt~uKd1tc%t)C|X@$ffn}E&hBa3yv+9-NfUwkVgmFSvbp zFD6BLCagUp6@9}P|;|F$W>Cgg{u*0 zm2rct1ZF$qebG@K$4~Vx^z71Sd-*pU8+QM7*U9SI$PyonYmk5Sg$TX}F@imZgP~_7 z$hKQ?dVYL0GTNd#Q?lCofSSNnz7T&XKssH%%fPkn>J0}>m)06dB{bv=R8wf7yIJQz z+j~M$L#zqUoMwvtvK_U{z)Cv|uIDpwk;z+2*l1_vLg_On5__HaNWeOVR)$9Xo}%N+ zv|(JC7L6yaB4cKc4=oy1|Jo`mn#v5X@E}E(Ns=PQZ1|r%99r);@Px2dcqAOu1N&ooGI)|sTbC)0o z+a)lchJqC$_e8Y=sMcK#+^qB*dj$HkH8zIg!jQb*EmqmHe=){5d zLVAuiWwNmbpCvxJlEjZKm^JdL?JgSJJHnny#UKv8xN;|5`d2c1gS)8dT$fpO;c`NI zs&k(z{?3k>gQK5hRAacdJ<}=7P9{27($-&87z`FcKK&*4jlca*EI+yov#6>d)hRr_^)zpO-5N?q}7r)4}@%Qj>XJ%!n@v zS(l@2<*3=94rwi*n`l8s0xfbj{uyo8&`QF=%&b((~6xDd!sc_Y#fD&Pe?=*((0sg ztmKnH$@f}8N300hwhV)MP6@R5{4Y6tXy5T_#=>0E7QCaUCc_dz0DbTGI3@vn~$%7pHb_gC0O{3ZVSWMQ8R5 z>R{ws(oU-bhu(7~z$j7#=lTzJXw-|FGu6n~!2WIYQ3o?OxhQau&#lGj^Z9=a8q@M(=W5(ID_|pz{S~n*+T*r*zJNgL2&}(E zMJJB}bz~q(`pMxxSU@m^PxRb4pkSn0eeM4P6-La7gRssxNLnKO7k`PsGxTwQKAX(^VX`7Q~&uF$}LG(mcBBOA= zBJa48g4&EJM-$FP-V7%=UcrW;ia5@zRLCg%0Q4BpLS(>h+j0;rgs*pGWb5bJ&*7}X zHAg$qZe~ThS%b*>y4P2gp-(t_h2)K>v4ZrxW6&ZS*r*uG%Sgkf?_@iXGREqiFQFN$ zJ{{c@)kvj4V;H2TiMJGEHx_UVd78jt+X}T;NdfRCB5f-G+V=~1qEy0GE<@%Pgcyk+ zK~+|C9Z|M4ai+tEvSrM8D$|(8bb1Y8QHe4t`z8nB(>MHCA9QKQB$r80p1oPVCc+YAq zr7D8?edO^D{Dw#8A`>#OXN7K?Ip_|~4zTb11fj6`3t<%MuEm5WAD&U{?3H=fAei1g zqsRdclKW-q<_=`4Z3=pU z?U|YMX@_WpB|7mV!=C@e#lX-9)>P>~ITgc><2XRf!@tvnLzu8s>dV1M-Jtc6_f;Wz zfN|)F2zk~y4aQf=2MjonJvg8_9Lye_d^`XxRJU>Xe)VA1#jkMqp2FeloeLU1`xuX- z*IW5tx{_h9w%Z)#OQpZ&G@=sG4_@Gx<8VoYhut__OmIY(CN<$bmlI_y%$*wx8Qp2p ze#F?au`p*2+UC=as9(mf5%{kj|1~X>MEuI(*Qi){X>^(N2fW&&l4<{c+iX03CGz-c ze6qnGRkB<+y3%u0vS|ESGv|~&lD~xALRkyF-!UcIq2np4zmr1y_~d82=Q@!lPq1ev z4>@;3&s$H=9IQ=-K`O~}3+j?#JQ?&e%tUgG=R`#cyOoXQh%^ua=})s~ec_tiq1i>J zV_?d&&O7(5E`$Mf<8)W^oB3vSbzsJGpP-+&az0fMsov||DTF4RD+-X}Fc-}FhGdu+ zfNrz#8$-8w&h5C_5uc8*GVcj~=zb+%l~?|bYFxqlPzvF9F(u`^9!Df6gZ^Jd5Aq@T z&|EZK=-q~o>cOe)5JoxY3I!cucxByN6 z$9Pume%iMRO{}LNEa+S0+*&B_{y-gu#=J$mbzJ#XhGjLH(S&duj$aXr=W>PxoU=7H z8SlAFEJ8GzHAAqK4yxj-F$ZPa4(J(e^H{LaD0s|AXK-(%1{C>fu}_!RQpVno z9R41`c5zhUZp;V!eOX02nI0tNpNG+%Ut}HqmXg|cgk4l-K

    P)3NIPk>~bLL}|8` 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 Lz6D>7q~HGnBoLvH diff --git a/amlogic-tools.repo/bins/j200/platform.conf b/amlogic-tools.repo/bins/j200/platform.conf deleted file mode 100644 index d238f9b71..000000000 --- a/amlogic-tools.repo/bins/j200/platform.conf +++ /dev/null @@ -1,8 +0,0 @@ -Platform:0x0811 -DDRLoad:0xfffa0000 -DDRRun:0xfffa0000 -DDRSize:0x10000 -Control0=0xfffa0000:0x000000b1 -Control1=0xfffa0000:0x00005183 -Encrypt_reg:0xff800228 - diff --git a/amlogic-tools.repo/bins/j80/DDR.USB b/amlogic-tools.repo/bins/j80/DDR.USB deleted file mode 100644 index 4bfe9454d682dbb7a37534cdf09b9b43d5e763ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49152 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

    =oKep{oC#bYiBCGqbD22XNU~7d$ngj}g8rOI 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 diff --git a/amlogic-tools.repo/bins/j80/UBOOT.USB b/amlogic-tools.repo/bins/j80/UBOOT.USB deleted file mode 100644 index d7ebac2818977c86724b29d3220659d0d5943074..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 802816 zcmeFYQ>-vd&@^~#+qP}nwr$(CZQHhO+qQkqbGYxfcbj~d|6Xjeom6^KnN%`!Gn4Kv z0000WKmb61{|P}^8DRjv{}w?1;eYaf_{gJXK2`d$zNgI}s3$T$7fO{VY*S8g|}k1H`rknqm# z<8whjb(*BS{aDGx*6tn(T>ee`1`-y3eo&tF>^1`@d)tv~E3vZ(JJmYNSHE+n-)P-IW*oDS~0_?=gYG5hzU4 z!idDu)lXMzrD8LQ*luPu~L!{ZTgwtpi_9wb~LddWtq-&!YtKyelwfUNB8 zKePnNE~o}^nhk8*iN2rrwWH0_XK2PI)vF!tn=Wz<0x`0`P7n4Tr7pRpCpWZLC7L2S zBedH?%A%pTT_pM6syo5vJJahx-Ci?+Uhy4k@NM zZ5QPVGn0+KO4P!?iecM>1|A*eam6*rxi);ydKaTYJ*n|a{Rcv;nVI>On3+lwXaN?9 ziAXOXJ{N6w$8PCox^k#I{`{DJdW^B5HEVz(|5lA&?0uvsY9Q*Oi5vLx3%X1s)p{Tb zMc4CjDy^J_cX7Zeb0@;Qe_qosj5!i@fLp^w7)|f`K5*2SO(y;Wo=97oe8fgs(ap&r z$#tyoqA;_Mrk5$`W+fDf#x7tm*Hx4ygTYDT0AFClM@qhTqJ+e$Dt>ylLRK5i&5PEb z1`7G%QWWzk)DChQnu#~Aue%O3i(#ptdLOMyIuiH$%zqQ;1b?}lpRPxTQL6}iA>3#O zi;LK|6);SCGN&#ugT|$uk@r~F#x(?5K{w^Q@izD;aRo7O#smRTh>1uH+R|q-q?&s~ z${;ya6+xmyfMMsq*I~s5zR3`#%}y4R&|`qzy$_>diuv?w(h|%!FmQAz&B+SGvE%EM zhUnaunYS`DZ=hFAoD_k=a6*_*>g<}o6MrZ!Q=dbqp`}7R89)~%MB;n%vP$yY6GtQ< z8Q0o1beiDMgyMo6I#q#NP3j)OqR5!=5I}@Jk$-5+gp|~i*@N4~<$QRHw85Xg!>z7; zq?x#{_dsD}w_=|&2`jJB`>z$qyDd$|?=@Y4^V05bw&EXWLz2so%7KstSi|k&4R+bm z2HXNp=y&x1l-j5g{V2RMvbhEnuXLPHhQFYS1*un#m%*I{e%DAkLFU@r1Rv(Jqh=Q-Cj#^^)VTp&4 z-F;8CzG!LibBu)Rlb?sfS5#~H;6&VJJq!H0=wd_wqTV5yWgNx34TIApg$Fjmo+n%) zprUSpF29rp3wD*odg@P8BZ43nVW-6nS7llpNTxb*Y~Ywj^EpzS+f+M^pe&zgja_L< z?n;P${xrXV9waSBrLA4n>tlaShFA}mZ6uZt2d+UJb_f^znHC$HB!&BLnNIq*jLiFx zMGNIY*5~cV@C_a@%faJPBjh~_hn4S%)ymb_c)IIM5!`4-?#c)!p;jO1322swh3_@9 zh04?i{s~xn?O9Ga6DnOTFUhJj)<2#?*Zpo}tGEZiS&agch?dhOo^SaV2v+N1v5*&g z>1kY`2ss<9=36R>q(7>^fe0x`3e~DF*B~47hJRCr88$J2*|`VH%)zRp_Nod5TS08p z|F*oMXAoDe3e(YC;3!av=z-nl7;f2YlkaeqDLn(U_KEowV-Hua<)0&Pg+S?50u#ta zPo;WnF90f}ZN72Nh%+@Zs7|(^rLRPC{^V?w*kW-9(pI2p3K86SD!G5j@_y0=kV0HS zv;Me?c?SY)w*v!>rR31J*A8QU3zB;}!{i=vV#MPD~1&*uaXk^uj9E_c>7xK*Aku;qGfd@*gQc7Zf-xT*IXG4 z(bt*RYEo_@Mn4pdS!jUnYN&{78O)Hd^1?A|V;E#jChK z%TSUi-YGe^WDLmy*0+|{^`o7Tos|NzG#NQG2aFcTK@K;05 zK>e=0`kw?YYm{K9_8)b&zxJePH1@Je;91TzhJQ?E;b>U?3Rpnnp^Jn)4sUvM^Da48 zlIORWi_Kh0(G+r#D->@(iH5%NA)^nSck5Q77dKuu*HCaz7oECZm3kxY)6Lncgfed} zf+|t4eN`P?a!dr)0#-#Eu2#Qa&ox`Hj7zg<_<6E|2_Wbh zWSOPy4)O8JBvb3z!KqYy(GD4j#cY7k{`1R9do`{eO~$p$F7kbOJzYmaegCxzU5Gwu z+;?ANXWMylZp4Yqx8t>GBn`gfB!1Nv=&~S?R7Upmw-wt)%DG?tziZ6ttGt zl)5dK$D$miiF7%cdVy9-Cm(SvKR>wa+gIgIA)@PVhDziyO(igy(FxREyW6}T*sOGo zM6JZV-E}bsDY2;Ws942YOW7j+YAoe!#ybzoEwH#G$_%;nmHJdKN$V z9#et=^ao$`Qq;2mqoW6rsW^Wn4sCs(-l4Zlp7Gp>Y~BVqDlwaf5`taUaFWODNS}B2 zlzv?uR7SUXOslX+BrVMFB+zR;uODw%&1-+n!HQeU51fQ*M{?fM{wlFwl>XV?NyaRD z95%+yXo_Yb&Fby=1ly2Qp5&U2y6_QOUIOUTUKvYJm?j8WWPMTI^gyw>0hFzYc2xFx zFW4SDc&44VC9Hqb;961AlRo}j`ZhmRnPr+r65puCU_X3_sU!Vwys;ch8zaDa1EiOS z?lDUrsm~$7>6QouU)ErjSe)SVoH0 zUoDEFjPo3E>e?uKMnM3#-t{u= z!sZ`0ezDl6>5iy0ZYB__X^tuz^mN&oAhXYtD?aYhe*ECv@r??0MtPpd==}-OGN95X zISU8}%?Xteoui?7qv@z|8ahbdVeO3v-61xwx|jg%QY-KI-NiSxZ5mG2hbeq&qJhp%-XVdp z9(D^9`(}E})$Y3wcFM_$Wb)a0O(Hj%K3y$E{sMi=Pw^`Jm32xEx$i4l$Wh;7gowiL~`SxPh17wTi!WoSG? zKHlhBdDB#{R-(lej6x`QI9Jpq9ODY}DesT2;$<+G2kP)(>m?$iW}JZZ!!{tY2kI z21+Bkp=>QJunIO7FoozdIX@>~axpfK4;#tW>s*Qke?B|*8nBDT&LJkj_-MPalKY$N zZ3p0og+Tvif@bayWPxA@lARyRmRIc3M8y0Ah@?^=MWR05y4X16a&V;u1qn~I75Tp? z&jK?OWOL8GbyFI>|C$6Ixe616jk|$mw_5Z#Oo$ZJCKd$(nmZ`V-S6uRM(9LUR@)W& zGQR*hp*>^W7qro20g!Tm2O%s~SDsSZRHPhrXf;Jyd8Y!6dgR{?xL%rDMl%-b#r^q= z?UxD789o23_L&W4ws>KeWYaFK)%3pNAhU3>!{M)U%ar4`qEe0$=MR*$Gq0axJ)o`l zSk5Ld=Ka8J%{M$GPcJM2^8R_D4?$5&bNAVN z3Zv0n5@m!=I`qumNXr4}D6!hlsI?B-CC=+W7!(v*Nm4PsWkeFDhLSPXxneJ#t#hpi zdzoHCnOXZ3{G&lXvDIGN25d2VK?C0F=}qtMRhl(7OLF!iBZZY+`mB`U1o=C8xa`0w z0NSi7#bM*wwZehBvga;P;}K>u!yF!Io#(@f?j!GfBT$?ht;XULwW=1pkp||h>Hv>^ zFLk$^zyo#|9$`Tt0Ao{VPi;b zFyE-Wgef5P0xJy8wHGjS$twg|n9SSUti92`W;9Vg;D)5fOpb9jz=;mc77(l>xAbmF0 zRjwwa0&+?&7(tJUS&S zN;VRe>b{p$)IWzd#}TQfNL=q_I^wyHMyJJTeGh@w#l|O@y1Z_b$6;-cGGAX>R;G@q zzVS<6e%fB)#_|;HR|H2r0(|-u*HsyE?AV1-V}_CNswsh=zVj!7;b^X=o1ESG5gHE* z$`^{-AX@`hhF+0XU}%F%%^3#9Xf;cx7qYmAN&M(NSyANx(_^~(;s+~DJYOUuf~}tf z!5SVu%Lef9G)-gr6!q5tup*K2Eb3%$<(Bz6G^Zn$7}X4%?go55XD%C3d^Lj=V|+^% zjtA$bPAH>6y|$WoK|;maJt~c@=Uo!8=RNtM^4C>{bXX3g{NZ1oeyf-QyNQQ%Sb6K) zqQR*d468HxB%h zlW59W6?w$L4hkqb26P(Y%vL!^g1=#nuG&26p>2NB=+ z7Qto2NUz*rH6lsWc8{md9SBFt^T4q?b)g=$Ies1F42+JBGM&5e?rk&{`Yxl*P|*_J z9QWwCJv1l`(E98PJjcicU8xW@IfTLN%QdF3qY#I&y;xwyk4j_tir56YfX)14Xaln@ zK=Slwm4Px}zLS>)-7!iqVvlDJy&Jy?xB6UL238g)xUuZyFb?GO48W47DE0 zppkDH|J;W2iig+0O&8TGgJN*Vyqby))ok6=XSkR{I0!Z9gv4|KjBLcr3z!C*2q)WTdAcUp%5Ae z5y5|j#kVbVYotQ(JnB^pU$@^7$qXuwq82-=@G+)Ky4OI`=KL(B%DChGY%GsZ>5o=S z!Pz3vFI{B|0}HM5nGz+PT1tReAVZ7|_78w2WQY;rpJw#5m;*W|WPKAI zl_c1HnLUpQu+58(FV8Af@ser6gwO9L6QJuh#WevVpd`-NSP6eAC#2{6DzZ)Vybp2@ zsk~oU^W~6e;c6xdRYRCz2Ar>s_AsJ=d30s=36Ibp#xaedV8rfx{MivOZ4X8?%S+Rf zPn{84Iz^Eax2I~0u#5J;(gVSD>eUcG_%bo=5TCB++I*t(FvHBDNH1VA1dalzqc&d0 z3G>$EF|T}0c!pbeew{a08xS-4S~cS*OP*>*x1R_HbFBi%5ZS^p5kg37)3@BEsk+o} z+oExOD3OJ5!TTr`1H1mVLqVRtvBIxIszxv53ym!0S6Z-6mT4=^a94n5#{3y7CG=LQ zialP;CJ%(VnWGBj-MfPo#L49|?a)TI*%BRMZY3B|$SXnAtD)vYxtZ84rHW_Y93+wl z1Yq}YdmnnZ>Y`lKOtu2HM&pH@kUTbo#+MWRIwNOQ%P9Z3D8o_Xc8l^EI1T|`pAdL( zdrCtfFYH#*g@Wo~F~_LWv3*tJokFz2OpX(lX2rzWF)DJcg`dOQt*hEH9bDDbGXf&O z3+bI8U-sfzrW$irMe<1Bh$(eUQs zl0sq4CoA_55Ln|s3fIlGxN0+V;g4>!W}hV1+^Di9-U$?iw&q}~omg6q;dj(9GWV=T z4}_D9d?Wifq6q2Hd#$&b2AuyMe#)05t40;`2wT1lEpnfx1FKy#?*W~5Mo{AIkM^9r zo$Rbi6*8{RRD6nvTD5pGXh1V9_^K0`I|h8~qH)%SiM0?3JMB2ph-&?|1rfFt&Neb6 zO9+9waT@WTX7sl1d@As0Fs!pc5qb_FQ#}T>+A`oqYj?kctVzES~rw_*iy)|aZ9e_B;4^;Uk z2ia+=c=i5Ztma$fYfXYki!<18ENL7BGupfjbzkba9-p)f<8h4FGsXd`)()Ze)fi_3 zqfKM6RYBF+Q%Gt6@lLEX9K%wTSf~WX{MQi0vR`{PZt!{F$X=4C6q3xGjQuUTlzMqk zYD9&2&J5$&JnzE9J1`vvfe{`5XwQeJz)$`j61lOFh0IB+t56`A&<3!4$^r#AGYFu~ z`{1yyqR~C&rVilvxj3Y}HVhS?I)Y`avCSaSNbP8&?M!=5$P=9X>kny_iJZtyN3S@L zBWnf6h3O{I;XbCN?zA6GA@2I(%J&mk+lu+&*vz8Lyy`NVFeFs(XK*Sc?J5f0Y6cFgN^04$?*VtB7-fx{Szi>quAy=yzkF6mho zKAQ4z&J;R{@DqT-_MbF85az@^|Yc&?swx%v>C|YDJ z*R{rzI_6DBy5&89wwpOOtc%arACQi-a5A z`21Hog0m`9|WBxKCp;Wo*45MfUo;}Z40kPWEzwGrluI2+c6*#v&=ejmk zu_Kk#<&2wb0q#k_s$)VsX9STY{ZJn;WG7NTb)QStUq;#nKSd83kal)Z4ohfNG~np= z=Cm~F``U&Tw^?^JDX4a4h{WI1U{Z${-Ma7M=*r;Fjb z>FUhnu=<}ZeRy&3%sQexY*GMXhPbO|Ya$`BtFm!N|4O}02#3{1Q)Yk!n zP9c)!721tdt(|9!sY4FYcZT#OorS)?_eX#16EAoopqmINvzb3 zU}E;h%FcK|j=d}7B&)(yHapKch9`~?;=aoVhY#_lf;88`fr40D6TU8P_2VqoY$7&n zE-nIA*=pJeLpEdh{HFumA=|dH5=ryX8e{D*^xO~x@*|011d(fK9ZX)|JR-Q+vh~@q zCCF_rTn3D~e_o+pc;fov3!8t7tmer6H9BY}kvXN=d<0+8hR|Y|qzm5gaS_B22dhB7 zH-Y+5R~1V+YGdEzt|9EZj>53A#Bds1cCj}x29`6=zg^SLxsc?Qa@?)hpg43|gz92( znGp?v^1Abo2C)5|qKrD|T#Pt0LB5c0nrIq&xBGG@A1;cVUkQZ4ejBtP z8bLM?KkqQ#dw;m*-07&Gf$V+B{+LAH`(}w6z#&g3B&Ct9snHjY!cptc>!@eU@6y*J zTCSL6Hsf7rn?Oy>v!)aXq~0{``Jo6C+S!bFcRB4<=^jUDIZ7G@|K5#y8h3m5hlHy`u)yN*{P~p+yHZn=G zzBpOyLwF+8`!}VUuf$X6@d-V83dwSH&8dR;lcD53J*8Bl|n|^ z1c6SwAc^(S9bf1R;t~P-$3~WgIx}bztVL|)ssTUBfxKIZ)@o2poivS7(*dqY zjqh|Raax21qonJ?5r?2S=`-N6436G)m>0w|Ha;k@r7iYt8^bAr77s`q>b6C}uRiMD0vuPKxkf@qR}$&6}ZeD(NplBP2`u@)IKj<{J*4!e-MBr=+_ zRv^MyV5`*OAK4+2l=rbGIZed;`^?u&PI4zgWE&QP;C`gHv8EAF067-TXs$5f>PIW@ zbNgx$A{o^;{9*Z$K#SCh-Q?Y`8ZQXSe6x|N>G}9Me2%PPKUnPbp8w5GgLS7-uJ z?gyh%QNHAb*D^RcdSLMya%*zh<3lK>5Lrf@s&A7CY_Q6+*T}QY3G^3pA*HG4j3Z*N zIl(G{72vYN2cd@@R3kNgXgwmc^R)BwaMyCrAXAALF5&1oKMs|)JDgH_#{m6yW36IN z#)wS<(PzT4R)0F23BS-1)H2J|R$@#ivg$Sbrq^sQOCuS47xnM)_R~U~?4#TxG(h4{ zv2`ENzL>Y{QGgLevX!7-OlK;yOx`B#19Zc2H!zrGIBCcfR$qcDiB~Slzp<5etN!8h zA!^685ESz$?Ui)fRaUDDNn^CLBN*nV!;tsFUY6PDSwXky5fYXH0W|dh?K?ORr3l(6 zoriw72$b%N3Fyv&V5{jlk4FLE5mlBG5s&$x5Q?kGo}(b4KA_fb7%VEMa#;YksS8l< z%J3a|l9)@bMoNh@7S$LMz$cC>!mSg0fZU+yYQ46NM{3fky3-L~7)bw4V#k32<^2j6 zf+GY{6RKtxOj*K%s6qACCR*FvHvToU7Z~10$6xAkNnadz81wY;MxbGY1z-0``cuEm z5c--a8WERECd!Ftz|LW=^8k5RSUu1FUD*Df36V+1Go@pSeHeYd;)uxloT~SCcAPCj zh{FC>5_GV#QlEv52Hj|Ee|D8@5VMF%@hv?@+>K*jpW>o^IP8jQ`OOIH)XR*XZs4Ji z%u2X+O@GVMC&6pAG*U5G6lKdvAg}==F@Hl#NRJ7Y(ht?px|r&u#YQn)fq* zoY|HBU#}M_l0n^HM{jI+J8fmN#I}l2Smz(SehF~r<=Z8f+NXVe(ibKRR#!JE8%T*j zZJ=Y*GH**DmeNa--AD9Vs_2{Lig_dpObX}X?qLgIFKg$cA0Xt7M=bPp9Eq!cu6C3SPSy?Q39r0Bf}+67ad&yfU(UDzF_^2jtnOd?44N6-$3y1urs* zN*y++mYtwr(58@)>k`Sb0}zci4!;N?52)s_Ei0S`p7Goh5Lw%p#t5Q(EDhv)p_m!b zNt6nncXxV!O(EXlM+8)R6XUWu^c5%s@Fqk{@;q@fI{YA;e{s*=-ue+OTSQQChxV|83IvIhnY_bQi9d+MT+mmU7 z>*CM?5C9S+;s*$H^m^)5F=)5A-IzNz+e-RLKDQB8_|bL4G&{s2H3GPREm%5*@e_Ph zt%_8*#*2x|_?Eb~G@-NH#C&Hjs;;ED#6`;+MdmDOwPcFo<-tMoEhZ@Wof)^6ZHIE% zwuHJ!`n$lG>h~TzTUddu>{p~>(9lHD21J1UVv%OR#t-p<0x5d22a3)k!fHa#cD{J9 zyWse>q~Uyiv)LR6%}`y2^cl`?t}JH%dVre?t;RA_%wSf=L`$Q6us-MT%KtUxsq z<)UYTf4k4Y;PGzHsfBTt5bA{}VWibgkS&8`J@OXRy19gUx(9ns(t8}GggIo#ES*Ip z^(#2e`nywpK(rdh;$~;nViD}nXRHo$Ez7sjgO6SQYQ{Pn5IUM{V?g#Fn5sb0qI+rX zdUHAmcG)z+Z`B)m%1@v)+YV0EUM=8eC3Nqcm;c=Iw{U2#06Ol-I6hhAA2iBX)j<;= zd?mGdp;~>2YDX+mab@nu1Q@u(DBeTg_2Zt1$;9u8PX}E?FWf%i!6w~!F?4kpl&mXH zme8+mEo}2o>%^f;C36Poj@Q);=-I~jy?p`}vZ1mzC;S$^6z0^gUMF}E9e6OXGP{<@ z^UrjpF&N0&On=}sA3of??u^}=O)$dFM|zgtES>5j1KTQ)X}-D-EyDd703w11ef@h} zPWrEz!zP=hEgDiLz2yj_?nsMY9zS<&#Sx}xK8z|EZ1)3ljU;4GiiIr$VLzHDL%pJR z6mDNLC>YDOXZ8sn=W_smjC55d$y5U&C|$A(0!riR?@_Nh)Vy8XY_jL)g>A1{aN)4* z!LmY&QiSY#sWA~n?;(2EX9Ip*u?MJp0I;2qjRA#hI!ikk*7UdOp$1Os-@$v)rwsK( z-R71$9$62jNXq;Pw-O>aBrppT%mH5qSc~n*=9BE{y9tv4c~oQDpobfj4B45xW8C_q1UhCwLT3GnNSv1pQI>64`L1VDfLIQ@ zyiu01bq4^%2xUiuUa;r(SuR^uvwaqim;ajg>X(<2TD9VVj0@}JknsjYB65=Xk^v8` zP?2uH^yw-&AY;ZlFbF#L?fne$krt}KZhn_mt?thj3I@HTBvLI95?&G58qO84O3p9z zyfKW6hz+SU|Gg+DACZI`-VVCe?%Zy?eF-x0o2(%;{nY0^&*W%OUZ%K=UV z0gcDW2Qb&`ES5GXn`|=1IYTMMCPIa*E@DHoHZh8h=Ay}q>90TODigH|aQzWJW-qNe zbZ*~d-`y;yB+uui2-Yjo&E&?vOjxC-R^E164;f7M4^OU)ND;tl ziTPl9jBW@3bvy7&u3J|Qxi?q(y`w8=$qoj2l>gwpzL0TP4jbcE56AsP?%^~N@xn_K z?4K@+Nmn7kL-%}Qz(JXLh`b~nvMhhDkhLe0=^rLch-|<}5T~qgJ1Dl)Di#PjLAM!2 z2`ApSf+=V+l9wOL>cK-c>*hB^cxu4p@+i z@|ieb=JjZ6dX{)>xtzd;CX*xBYyT3mIrOP`AceW`^pS%g zg_r5NT##D5ME=sD_`SBP|IV@ih1(!(_Qq>pqS+<3Mb9xpW&)z|RzT3)`O&MYn)jb1 z3N9-H3k4;khGSwt1<3@QuFu8y+BM&ojH-fmI>6AH-3P|flggE2T$c1GU*x!5r_^bwuVjvnS$hB`Cs_&sA8W@jlA7<#2H9~|p=2g_E zFD|(4TF@)FbKWc-_^-Q`o*SB!}nbJqTj zj?ZXksp1uddUOb2aL9hH`I&iFjk%&aR2$2~*5X1Z9xl)Xk-7QfNJauE&#=a;)MH0h>ZM<=at9EWBOFLgT zJ=M6G(?;3wlczCjx)Hl7{f+!PfbU9x!kra2zy~>8YLIE&vn!Ui`iSCo&8rvJ3`H&` zZzef;^wyl2>JZng)W3ZQe|&`&GOaxg6`yTmDm_z8d3k{IwJ`iiqoZz08xX_%BYj`2vUBoR!AOQizwTM0ehkEHr?1{$XhA4SeV>mSx$=ghCOU{S5(?tN4j^YrlioALx$b zD-U32h9rEN&<>}h)*R7U0fucL z#w4WAu{!B%!**fAzWgi%4{ zD4z32+H8xKojF{{I0S9H7}5R6dmexLVcxAbzn5Gnodpn*m(~Fm@K)Ylo(&-kLGC^@ zzvMew3jW)5d5%3q3V*1-?2L9)e_}$$j9ge$2I%?K-39@25nd(8mRx`etDT$BQ%IUC zq8{~JPO*-;mprX}H_oufKqKPQkePDi`maqB7%x!l&lUA%q+H%_qrcbIJ}n!u1DM(C zx%Iq*cTX?(QpJsQ`i~4-KscUp&vwafsJ)O~Gc>;0o6%EFg`|yrK60in1i!oIW)9jR zv{=GbV}%^D#?pdfT0}My?`zEVv|};_Zsx4@NFxN3b&Hg#EG)_^od4quxp4P9S7{nf zQlRjFPCX1)JICphy#C}LS}c)6jWWV5|ISJ#Ibotv`}FE*1iAoB*wZ9eHG_FNXaUcf zQz^R`nlBJSiI#K-_z53`RQ0$5&9YV`>rx9@INZ7pKdxCzfHyU%m{i%LIA6xSI>=wo z43H`(uWPts89UuJQLIE(N(dSUt$6em(w=!-l@^MG!y0J&N@imEPd>!$R$;f2y7_Np ze08pae`OO@N3C}oz{N0p%s%;f>Z4?%2F>}>;S*TC7nQod!!CIV%NL9+>JZv=7U+&7 zcb>l>-Qk}D0xYcx@SwZ7fwf-mP#-RZqits$LaQ{ntGVKvGxK4w5w*GcX<8`|)uhZp z1#yR-rC&q&=S(cMX zHw3B@OOAA#Tb`8lSxX>KuDX(w#zV;tkKa-(O?~x&O+Q&Tqv>>xrFw&7Zez@0!@#zG zdHP?p`}|`pa19h=K}A5Vd)8wLu^~8Toa(C)qs&@OD9Z4;9a;<+KCFj@?Ol{H*seJ7 zion=mtqV%t*NfSiluKyATtLc{47%lJ`b%`+R}QQ zo=nc2@^xx&FrNPcGC)Z5tbs}B%;;FafbsQj$5uydV{7QNHmrc&5X?wXvKCzH-`~zt zkMO4Ub-Z1_Qw$r#<^!U4xH?fm2R7>;9zeHP!9`WW?}#JGvh57@Bsj#yKrRsZRsLk2 zer|hOdf%U)zW|_0Qj%5cbV$sszUFCaDJAy3)7{&pw#B>}Pxbdj_C4NmU;~Zax|fF0 zO?^YaLzDQK(5Eo6-_$=KLj0z^u(>ehS5Ye_{O6?e5@p&Y@LEZf$@z!N&nQ0)*!7%h z5?b#~Ox0h|qrbfRgzkoR@>PL#%LfRL%S0~_JUS7uoQh_iAYL1pf-pD}FsU=jfr_vQ z8gwzL7=QhZwJ7ezCAW%bTnN-DG5=p_2uk>&zrS+5WIKISvr!pK+@LFEy)0ky)2V9>4MFKIzp3*s?46O{nT zr!;hH2#95adCMsyQowS+>_5=DO)6{_e-Z|^gFT3aR29j3kCk&$>G&qlRDswYkaPX3Klc=A^jo@(*3OFw6v?_L`o{FvvN_S5Ki)8xX^R-5Q3k&}!6yx0?f_Svr6I$%pV>WV5Xoju zC3zG05gV1WAOZEB@R4Pvs)V6ciZ9QiI)#yNZ}xVF+#F{Oty zSx9MKH6U(od~7m7D zI~;*i!iEgLF0N<Yacs(nyG> zrYUi~6njaoitl|Fmyo|YL-G*@O2<>$Wgx;Ht_-%2FlT*I;-FS)70)TX+KQdj=6khg z2a@y=Y4On@!z?Ms%*QV1WfoQ^ty-HL#oj9D%Uo(Q-c<(o+#gb?zeB@Clt1v9S?Cv! zLy(Br^S;9FY7FD=1J!}OU#I>K(L(=V=O1xrW2rq~uX{~lM81EhpPq#8;%6P?89-|7 z@85l1#BZ?x#(`oPnD$~GY@i&3^9NoD)Iuu&ye<2o>)JCX{merZECcdtJhZKme_}V% z9kY!6NjMgM+x-^ORxT2v4$jYBeK3N)KIlMa>QBvePwBY*P|~=pMQuS_)1=)UiTbwa zk7#kxsaUxr%dC#}j^UHUHmoe(?g4C3$r|37;X`p(V*7XbcDWNTI@ySrW;iZ;MEXCu zGEIkN@6oM@K<)KhXv7>xs?UOI+x^4y-9^AQliu!oItQM2rDaG=83Kv{6qv8jm4&E% ztpr%@{iW7x2CtOfY|JQ+(C8ZY7PQpuCYv@7J0((A;j6$yvPe>jI&2&hl1eiEG>PX1 z8E*IZV#cr4m{3LluLA$GuKz#%|11B){D=R^|6!9-YcF-#b88&6eQBr?%MlU#7xux~ zP>2{0+hgA{V%~WUQ-bH4ajxR?9^O_|l<77AuF7+OvE zpf6IANtA)+QYNQ<(9^h{JYnwbk(J+6O46#6uwol`nYii5uMk_K%B zb$jMj^YsJ2d*O@G()QcGN?j7WASu>B4C;GZ^PGgi#bPGeFG0Ebh}R$tHtLi;v#wf9jpJr$ITLG91@xx|C#K$2Q|j0GX86 zb|MBkpM7hjTR6Z@w0N*|zARNlffNnUc5)L0&|=iTEiz-LK6GNbGIMZLGUbeytVb8^tm%Lp^JKvz_E#8@AjoRUXHklm7`LlRxy ze8-8Sg&&aP7G)#6v~ks>z#ey1e9qoU?^j1VGJBfS8v0&y3DVs-6o9h@>)a+0S>udZ z`PPCvdr1Y5irv2bPmJ{<;!V%vI62b^$Qn&5D3T z^&?gqPY8mOm2J)`+PWJg@6Ot*Pt`eSQQ`8ZNe@#!hT`734pC#L=-Ie1Fi|yaoGu!q z^&WwgPdyMBmW=X=RBrc{!m1>bP)Cp^e%4Z6_x8JsZAr5!C+&sRY*f@23_+fbKNrv2 z0dNi+EcOX!sXyp~4Znlk5N7Q`J1S}fcanSFvTK)#+dj7*O`zg9Io4x^ZG4nN6rwo7K8dHk#fO@6+7m+C{JdcLRP8G=o zcVwT+BYSYhG0x_BhT=U;^~G1!dRG0)*tTqlI5R8*?%*~BShzrO^JzA%2kLK&S+2dJ zFGo%8@6WuMm@;ojEx+)caIWM^$KS^wG@JuU=V>^AjS>0%J~18hr$%VbxwGCX8Zy|8 zdEkv*37_8QpvOM651@zTi6B4_~KSAaDnF8(te-AG)}9xIG@| zLKD~pt$Zmmg+&nM9z=yI1{&~CzdLd<4UZtTepx)2du9?-Ax-Ua^<1pT3r6uoKiBqUU?SKzaDC&jX$B5mOvFvHus|sgsJc zZoh%cpW&g>&*kV8STHWGnmeZ(0bNvjgqNS5HQb^^jmABj)~0Bcj%kDMmU)v({z>BD z=gL_2xE{CxfHtdquyiRFvZanODD$U6+Vqiu6(^+MMv`(7K6UyxD#(6m7kbUmpz#R@ z6Xd;#RBJ}s6X0!J-#mzb$m*v7QGmKra%U?mrKkyD)K>05Lf(fBRSce!ONw$tY3B$w zTE{cZc7JpyJ<&VL3yw3(7B%lU;Enh$j(B!Z&MW%i(d8veH=w%1uc;JYh9WKjKrU(&NJfn$esn zV={VzBB_UB1GK|tkvrE2n65Bu*)SiZe;l|5Uzc!UupZg|kL}b3Q}L(e>xin_5^@%RiFL zn(xz#+I`<{+)H~?korNL1;9RO@hNi=)c(1;5)J&PWKgXF_IEDIj4G*;uIp4!Wg$FJ z?!f9ROw^ov77VzV8)g3m722O{R&})Vx z;P)HvJA~oI3gy*RE5K+AD9UENT1s8a%+5i zBfDD$=)8I0;pjxJrg6>uzqsU>dw2QpW8hCbOSjha5#eT_jgOY{hG7IFUBR z-M&8pUY)tOiykp^TmM)EqPB_5W?|lq!o!!v5uQ171&+7dTG& zx~Gv~)aS{<>)O)DZk#(2X)^;}` zKoqyJ37a9vE%PR)tvA40zAH-(mGe6rwSIxk>F!&Rbg&+o5`I`0b@Ykgh_GB2SxNI` z{Iw$4Tf6J*R+Bs3KZY>OBnBuYnNWDJFxlD}F2QmW_OrPP(J`aah`)%aQ^}{WKw>4u zXW}J3dA|9ZHK9qa63Eq>9^7x_>S_2eJ|sdyS$|v8UjrWdhAFZA(dOe49BS=*_<1AM zU7Rlb1jO}cR1-8b)rkg#C(2#~>}6kmF&)_d5=}LC z<+S&cv%=rn^PZHFs0;c{^*?HObYxEO+UT;;5?Gu=EX46N9x@D^V%C(mMPkAwlblQj zrfGd~(%L^iDU(f^wJQrC#p3r(7C1Fp>0EQFf^c%obM~&luB|8vHblIy8|RS&`%F2X z7XD!E2VwjAi@vcQZWct{9MmovElLs-Q|pn#Pd%>&=2w|A>AI~IwS2Fxmv=NXe*Ljz zPAb%|7A1Mbej@xk4P^t%r~D-n$a2GQ=9&5n0NStTNJuhC^I51pX(kAR{7~>Ye-*gy zR$yx?4cD3cM9K9z^!QX7a~(vtJj6L_HZ6>H_EtE)tX^X3Pk^39qak!}rvJmk94Hmr z+!~hmkk&>5T?SZENd70Tyk*5*dIKj=<|kr-D?CTEX8zKqcsD^K93#%#Cs7VF|4- zBhdPYILY$jL5#pnw*!A1%EiJqx0N_Fi{HVX?($nVq3w_>)#!}p9s(yE4!3m5Z`Xfy zdqDF0gCeKHQrC&+!cz`!sv;_n?fyW!COy0)2V{}2AsxYGc1S|efKANDP-46h=?EE)b2YQ_)*?G zA_3^PTAZQAoWrs)DEq@e5N<7iQNa3nJ&)VpoKM#z&tr)(;=E-O&%wPsWtbkh6ldbN z>TIg2_!ZcDV~($-@yeUm^Lh6jk5a`&6m+jC55}!Oc8sy>L@(FM(+*2iSo2<`e#%6t zo-xvSt=fGUaoe6x5RG3;l8u>HByyyJHm(z=ilsntzWy1e@90a~eILq8itr++e$$+wk@gkZ2P}m*T#CR%5{SKQ$m# zdu)sl$4Z1XqKfgye0XJ&cBhTqmBbi~$g=O#S@t8UA>_!WFJY&m8 zs8#|(%tWwveOm)|eG|40sI^}|rFa?(tSO%Z5TT*JQXkuTF@?s?iYOA+$$NU4h?D6A zo=FW3?#*Pq9B;ns0DVS`m?cWjl68nXixwSiH)Z3cob*}Bs;_c}nDzpZZ<8p&@oRnH zvgcFYVtE#`u?1Fqe*`Lyp~gYh%5eWA z-g25J@jMmYogy7V|8(YJd-!Cz$`%ys{il9P9C!!`5`Vtt*7xQX()HYj6_2M=zMGQA8a&|c*m{lzMV9{+mmC*vz76+2vis00gO9ItU`U@QlqWouF?Md4T7V_k_mYIdhZn3NN4I#A#g`MW?PXYWs-IxMm`84rZbcCs z!V^J%%oH2$UZc7<@Bqpi}b-!n{ zJr$L*()Xr2E`@ zQS5QkpG(dux-9UH_f>Q(Nt%4e5JqSCuB(~z3on>TcTCZTIVCX9f(P;>u^NL{Vi=#a z;oqx?snetMFl6d)W5`ePlvLCwD%(aCE}KrgG3LZ$gNL~!)Zt2$mvDuy+t_H*#_#6n zIi{=Ertm;Z-y{{fD~ikLW>~BdQX7RGSq;w#TAI0bsvEMn6{Qt}gT-cPz!5O5N&m)5 z1YRv+bfaMj%(B~h?CT$E+ViJb<$gq+Z_fRN4dg(cL{qw7yt_og`)9Me&Tj_7Q4k@Hb zrCbjwCSN9OiB>N3ixc~a{!gG16uhTaQ#D zr&dBXVRh{`71)cYf-(A2_a1`!K{eZNqfXLQ8N?kt*Ep_H_)oa%9Gr!5j4}uiHOPlw z2W5w{c-Gk2OwvkP3=Z{AP<35{l~a-pp>cszv72IAV|G~#qxv(rZ!-i9gD=Nzf*@fl z3Y#=FrDr4N5`1#Do?(hdw)c5>{b^PEau=grB|z_h(z>-CbGG6bN8I8Hz?Xs$z1EzJ z8)AZ%l59YQvJUZ~ksPWu&)@jo;hKi-X4Y_N$g8m1=iFYs_lZ%C?QiKoh#Lx(+}TMK zZ^58fqT`<(K*@-S$TndBQn)MfCfKq|Ui@vw+qB*6xh zqSL7OZEZ0;^n*t{`L#h`LCYe`z8zX0nypKy{~k{EHPIxxf)`R8QQzn~4WbSpg-Vv# z7PSupt*S*CBm%x_3rym9C5oo>_-}N8!9ElBgq9bNOdt^w8sCu6Wyq{NU%18GExYj( zGuicKkVZv?7eG$R08?>VVP!ommEpQ<HN}lTR(5mv4Tf$=@++Ec zBg2O&6~XK**CNq4W>lzY0_e`Eg(R}6FF|^di+SBX z#Ls&&@_q~I`S=HZ4>01L>jIwh#nJZ+IWzFN!8LGcIp6QMg*g7JlynAu4ij-wmYHYq z+>@=0gaF@-17x{=he@h8Me4K~=-9^VZgR>Zn8v2}ss&Aiz|(rG(iLPpJ9&Cy;z1 zZu517_=3MO#(I&=W`&lEF+K|b%ZfAy3bI9_UhmtvKPM7n96tB6 zxX8rqS{nXT_8s8rB>ANap_^XQgbw|n+Op(VPAJ8CV(q@K4*#Xk8rdaa#ys5DDG4NzDf>lO zfqCO$er!zPG!%qWZC1XI|Cp!<1-<g~dt&TUBV?5rv`|ZjG^cx`ji@k;p`g zaCYvI9VB)!IsG479L-DBlWA)aXvK;=O|}k7lpvid5xpb)9Utd-{N^4}w*!=gAy_4V zagOj{VESJxIa|j|nLUa)m2i#iDj;0-Z&Xjz&C7HWc{%ew8a7GYTaupv~=2 zNC5xlH&ov0e>H=ao<@sfi2|lqs9^VN390>BDzsA5EvvtMQ%lk!N_W&9fMaV z*z?Qmz;m;>bI;F?ZO>8*)!=-pv@_Av@p+V?HIF7K^S2Cr{NFVO5HxIzVgU&Dgg=g; z(K7HCcs4^J{?*nXgeH86AzERZsZh(I75KCbUV@(#tC;=p4+>=mG(=VV9qL55(Ieqc zHd_(1WdLJ%s~lAOr$y=PQvS(j%z#3812rlnbhH3A4!2By^DiH>G}O7v5J3ZaJ^X~f zNnA6snoR{Ur+C=7$qPFRcADAh;L_@qVVk%q4K{Y!I?{Feb{?Yps?O@(_U$a{UPHUC zahXA|s<8Lahruj%62U>}w2Q~zMnq>T_gOazk&IS+jw#c6CK$zECSp1jWU87a4tn&k z`uoOsebhiiFV>uUDzm&l?ml0BxR#Gz0l)Iwf9G#UiVntK=igY9rl}Uq+r&X*Fg;X6A9GKV2dPUmpY> zRm4SGoCm&N$?2+fXyzOrJfw*wF03M(@x{ZP>5jL z-ld|R6B!eWbs|ZB$rfco_f-o1#a{Y55q}IFC7rcZ9n4`cN;lra`;JPNlH>2-VWOXAw(E@=B!jK{wS83*qEOI9TtytJ%un5}(Um55UI2qi#Q4%C zU~&}^PBq3ZCnh~0d{=7l!-n45=L1`zra@H(nFoXe)j`n0st0oTWpq3(kzipHs3!oh zeXxD9_fW%-uWQ`KZ~O>e5U;UizIEYe2i4&*{ryx#f-&-^avIt{gZ#KJmR02cM{E|9HXQEVW{L}Xig2oWl zO18#`Yzv9fVIoJHzFXu}%}+fQBM&Kye_h^q&)m*(RX;jXPB})FTyP1C=5XMl=lLx_ zJJC#A65zlV>f#k(PxF2s4Nw#}nYsiF5+BlRA|eAziQJ6I=~hgcy7jkPPxPI2w!C@x zf{CA~oWu7n_lJ9tt!vhB!i8gmY_M@s{eY?m+ed7FZNiH?*@EMG`-(O)N-Rj%Ck!UOsjMatv4<7L$lmtJI-4?+IWVTO zvqcyL*Tu_TvlW{M7W8?JXwa6XyVQ5VJ&BRxOO1065}%!w{DYg9iXDeO1xRA(P&g^?U&NK$t4kYyxRB5AiGWj zkZ?XD)jx5esm^e|b}sN0a>HXfdPw`>Coe_pvPW{oqxE?`?M1Bjw-9$6U+UD`R4m;d zO@1sCENh|t_qI@@1qc9iwFCrK(kish4C9(?ry-oAAT4&j7(_)^y^Ppx-Qi8EiH^z_ zgSvoQs+!aFI*|fp>*jK#++wP9IHq9o%ASyhXu(u>QKno4A{a^I9o{V70+*260K2Cuc z$(|nB5^qQP0|(19u2~*kLl;G+C`lOk^OW$187DRyXCAj&kV|G~Sh5Ogi$MS!FF4$dlMYg#F23-a7*e<47gB*NP4 z_f~Tr8!*~GD28octRHbkvoi*KnVH+8$HyL`WKW7B8;LIBFBSB>;W}+faiOO+WwaU2 z6VUve_vf%{K_u%HHCP<761+Ac-c&qO`-T~*n>q{%Cqq6v zS#qiqOhzYS+Jx!;Rje6W$yubN{4by6=zfSYsdBBHqXVld5jLQ!#k}J*>>yoRVirf& zo?~%oD+73UGy&^QRZ|8Lr#c!ETo^+QgVw{9&?*?W0v*?9>Xnq()r>qjlN@`32gi96 z+HogmR-Fxgk*Je$$aK-F#jN-J;9x-)*t*SZ$0P#I7txJyn7R7_BzuF}n4F@irC?GA zsybc1rO3htEx1M?BZm^1Zx0ZgAjZ5wPSxS?Z_Mm}Cj|Yh4nL+f%Is&)j#n=&9eGS^@P=Q!ul>t;swY;5X&vtB`EAtGyQEa|+lL zh(Z`|;FJC2G;^pizWwk#Ph3A+mhw~^o%P>xR|A3c*ln)p+511XRJ%DdPC#fAnFo8; zRe%l^a3<7k-+k=G4k!emv9m;^41qopYB3*(Xz1_&Y%sHT@9dr0M(QHG;m#nU@o+TG z5~h6oc$P-=t@U9H#v-4L9BXR??w%T?Q8>MA2s!3T*V=ky;!3+)N31OT-#~5_{pp2> zz#u>%+%6c`3fC|- zV}eKAMT@Bb{=YXz+S+2t2n4@dtks*AkNRHuxAd<}=Yt_wmhPq#n30g5#uQy+HG=R_ zI>>;)IHo?j`iW$`QofdLqE^3BJ7q%Wmfo0@t_6`w&so(#FH@riP-boHyy~AY_VY(R z233VYnI!PHF&>PZX#&VH$<}+Ak-qFQLK8s_A<9P|7xwk-z&^Y{)Bpe?!|mMMA=1zS zLhgpe@X9Lg9%N;?$=JNAZ)rwuECG?n-Lnj!Y=7!+M@Lvgejdk6N{`! zx3I;+s}kiE4|L-Ptxcyre@|7xuUBCoSfB{#aG1$)AA~~2MWAnCaRSxF6<#ZY8@=-y zi6>lQ|GRgO(C5z>C7<_ez!eI0oit9OUdiL`NB*jp7#Rh+Gn(z#Ty|Bi*z*KVBMh3R z0p_})EOkVVmpzE^$I;P*3Rlpk^usyZQXFj5@oZb6=ns6K=-XNg9WY|E-G^7WrEp3r z&#djnCMkfeTdD1OhIb~cv;?@VtbJ`$N_hzp*z_I){+?L*R&EznexyNr4Yr2}AP=#5 zTl={HNA&}r>`NSEHE*(=0_w%Pjx)U9dbXu4KLA$uY~>%Y?3yOhZ-ZpZos<^WKv|f& z9!a=i?$Z?kv?$qZ=$MtzV70bZR^bG4A3{2KL4H#&ZCJK!LR`qWSb$l!p3XLfuHXV| zh#0$SiRvi;zJwf6vzlV2us3tk)=x$g1g`27P=|XZsS=WSzBg05{ItM8m3F0KR6D94 zE9ZHla$09Y74pWslKU4%sVyW)d8^j>Yz9hH(84e-s$=e-icb1+X+ULMg}vL9)=4kV z4;%`Z^M(F(ze8as)zeG*PaHA%BuF!AMA$B|*$5DR-XvamEl36sfH*W?MYvBj=y7*N zpNyPSTut%mFR0qROgkhc3r+sOGg5?6(6U{RzbO7jWzwUqP(58m_}^YnP*}RJ&4A>|m=Byz!7E z9*I9opTzJ%g208cWUq2&oEl9h9l}V=#c7~UqQv=*-5lC!_2Gt~tlG%)IoxKaWRK`q zHB#%3{*CE22$~RJ@kd;w$eT59xf3Y?qR{@GKk85kusbZQ8CWY}RB#mV9XsvIG)9&bK5xdYC(nQ7(ZU0m7*R_oxoZ&Uu}LOxV{T zMd~E|cP9YVz)Cx82a>` z;S?zmD=p@Q1Q&wr_G;hrj!LtC0xM1L8>7a`&M=@TJ4adenxTHmNo{D$66?}|iN&NP z9sG(?#qPQZ(ro8`GjlV@hu%S~XHsk&Ll&`ES{@WTpy_V8(C|Id?*pD8S=d#MKLoBp zU@p{^_WOSHB?o2$SXNc>zdGM9R>cFki(%W3e_f!zjC5@< zWJVyirb?2$$w9f}8_RUSs>>0;Kd)!~EazPG9?|`JHDUEimeA!qg`u;hLVBBz4~*`0 zpf?Yg=C`U0kffC5A*>fS|rGqseB!{#qt!QUKa2qT1KVTY%v$yhR zQ?J&L+-p8E-bYa25_Owj7iStkKD3i?U`ukS$^=Gj+8iSbs-2EPLs`9s%d%$Z{^%%x zqumggi4Dly%)d3tQWTqx4R$$_2uAZ&sG4|587XnBj=PMgJ#J=8v;Cjkbxemg+y8ym zR}d0t2(Aa_p`KRPQlSREt)BD(1(OXnwbWNBWr}(`jAu<^+K(h&3%tzZ4C8vO=9#qq zB9z^C3MO(jQ+@*NqgClCfsU}lGGc)SPz>D%A+=HVq6?vp^`}?PdYBcKY}C*n(vtE! zsDTL&ww=2b)wyk(zazA|(Z4Oor`^Uiw!h#!A5q3wc5jOcpnZ{m4Eq-b`~~KRnBoDn zDFcKg2P3`^R<>}+WFu4%L2POKVR!(SL2&B54%X>iE@}HC2Lu}kn2b-EvfjJuIgFH0 zMue9eHQH7vAwYEU#7H_#X!Z2rYgDk@g-{o}nkDlKO!~OWQNzgeC1%h61A0mD$gf?b zZo%4NK;wCzDuf(LbWmb2JPW%DC&cIud=o|FZC;^=Y#{APhG7sU(=w(j7 zz`Bmuj0&EOGQIOh@)Ezpso4UerFJ)6Yu0u_viVR(ZZ`8eaZ=qvcSak8k&9ERuTG>x zjfv$#-{6LJi#wU|m-D85vA_l!!-h*kJbF>SHo~K^aOwH-e;tt`_v$FsPpk_T5khQHs{^75iy(}$j`v) z>yie9ismUdh4*S^+(vk^djc*RFuQ9duS(@~-T)(z{|h{du~1g9DQJLE`~Z7!5zyEN z67dY=er5?ACAXO47AO2czrp)zxTioC`0g{?u%hpR^{Yc+@CDYpu^^f~~xCgyueg3sb10hisK>Rf8&+9gdD{X0*w{l$QAmWynQJ7b1in%dF!l#`0f5@Zd6Te_uZEm)C01p+%*y+P3_6B3 z<9~iGL=Z{r#8z(X8~2Y@(Gaw_gltIob~fb@F6z#p^@}QqlV%7b00#6HEA3A(f&s8g zenUPR;i9~>gRa;O0mC^cLtj0}WlXu|aXZ@%MNbXC!!` z(XE0j1ZAvcF?g#iWwe7I+_ydAF2(=RP^lKeD$ms@D!bwz!CCbIePh_uPb<=Kq(;-Q zK_g!4*0Y`ZS{N!LoQ=5o^*U`+aNMS@Mc3_tnONX{Cg=AYs2BTI{5&hi7rdhUFXj5J z1lJE7ZY-4f;Fq*#!X{+eZxl6H-CH(%Uzo#5Y}Ov$5hr;qjB}*tw@N8HCXO24^B7;TaE|aL(GQLpa*3IW| zo<3;2?I#E@89p$^F(jVATcJx;)Y=O$R)u&fp=Fxt!C=;+utr79ceS**V;fSSg5fNo zyWhT1^&%{>3;u{r7}}#TU-^Hc{N&dZVH2Pj1Xh2vO2Vo~*WL!>E|SM^4?h*ep8VWu zp_+Lb%50p)gtHw9{aK1sJhF`TEn3((r9e?K@qXa7VtI~4LcdddKv2W15vihBFXwEJ z|1Riu;tStNBO#CjJw;t08Ii>0iI^KPP{^X9QeWd`gf71mEST?R@vG=6emVfhIdO-oBzATH*^>xA2*0MiI$-VHcD6Jo)pDxDvK? zHeaix6Doc05F!6HiU3Bf#&Ts8o%FZfw;k`a>GXbEHBTHVTSKW5Bo0M|9j9TJgKR#p zy`?mEE$HD@d1 z8&R+$aKfU(>C@f~kuMIlR{sWXBP6&YU(NuXt%I&iJ!25sM6TGHWa2;6`9$Wu29KNKSB)vpS4UmeyLt(kJN5pwU_BMx@ip3ust zj7bv77Y9{np>v+H2as)vBhrRHE~f4MG;cbSsM{HQpf#D+!PZX+sTJ&ip}7mc9sDnR zN4tV0lSGA-L6-K}z~}(@0m90X-Om-Us7GV?>qzv!_f(TU69bw}gadf>JdrnmY9y|G zbJg*IA?#5Hd5%FlkCc6qQQB1*;LcGAq6lsbWw3_av^?2d$J;p=3O%dTi(4)Zc{QbG(X#^C#4An=4u;0|)2JQNzG z$MuWZR8)TAWci8}g=Os|9WXt^J+=1S79N6nT5mO_F4n9EU3+F=yozm402?3sjnz(rgE~^t`QYHc@}Y_o!KD@ z8`$f-|66h^g!8wanDoz{r~(y`nuaWbvC&9^+W@h*}P_upG0CxpAAR~dX{oWt=a zi|GUc5`e!=67PjSj`zu8taW=Gz%nG!3ha{~oG{PHj}W5MTG*GE%FW|3+96+=TQcN= zNhEMGA@|mmAW^uYGma6d!pxP`m9MM-l3)c_l_s;Bf@bYf!BMQ@Y3I;El$a_e1qdv_ z>up~AU65ReG}y++gqcVQ=nABH%BfxdVSu!N*lWS(vDahwXgH$Q_1m1?Ro`1xd8sD{ z%@`iKtTwx5J^Dp^ZWW=P|J@I6Gf_tMJnb9tCj9%Bn05>Q(HN;(W_)#aZ3*F%gzaUJ zsv0;o>w+}HZ>^pK{r^$@tf=*+%9%Yq(@u04QR$AR9cpu0fKO_Fhr>CdiRE4X;FmX7 z_W0^lhF<^%-ogJWZNWrB{<%0z4Of95-Y|zXV#c%HJHA5g-e9~+#f(Tf`%c&jX*IYt zJ2>3@Yi7Oif9OJ43OkmYcBN*G=6r|@bLE)z$A~`&!xR;0L=(7N7DCcqqYY~g=p!6p!%z$PT;=>=Tgma zer$B>`7~rC&|zgugw z(R5fe^S7U_s;jPW;#bUpB<@qH%`^U0wVgl7#@gAP%~&QNeUj!BYG&fOz` z;c7eH?o{oB6AF!=+oAQq5}x7qgzt_d=BZE;6y3V<=QC(q8kUSDo3CKpdM%g$vvr2t zpY96~ntyhfe;~({NQvwJ0eRg0{zWP^9rvGfHdu@{Yee%)gt_IYOy|JQx*Jjb}_G_Q7(68nwY(#M9)CSZds{S5eoGVHbc=Z+)ImBCi-b# zfI1{e9RL6@?VVHlb5Zc~$AuhAJE2;re zyMG09CEp2^(KekJq6eh*q@PH~EpUz*Mp$#@e za)j<2L4*Knl#<5j;4nQ;(OG3V93Ic~j(T01dlWf9iiX_q_hTw?dO%L@iW9RF2>sga za42!g6uk_LR}65BL4#*9g7o)vce+hfxqw1=*PR^@ zj@zc^gyQ1$NBa7wXTD%nGRa?i-sTi)gU6mEZ-}q;Z0E)quLMV!Fb9i3$-kpocU5Q4 zL8QGa{v$q(18L|l?MsbN2?4ZP6_t526grle1of2Yt}V?rHa0SXM?z16cVH@+8r_z8 zr4n*nH3C^tl*0p}TuZch?_q#tWCcT%&8TyF64|32M@ecPyZBeWB8bA`LYLWWbqYGk ziz*@aHzkZNZ zWvuFR@jtj^4lTFCpN@FPE{_P4mH?08XcJmqDD3J*8gmCkoc}8!#yv1_i=meb1QtX= zi&Cp-Tl`2K|KS6QFX`D;K9F!v6!g(IPhfO?ANY(oX>8n_8G4l!-=0U6Itb<&;Zc=6 z_58zhlx%6+GV5)=@V+idzKQD)N@s&0L5RHHDv!a2wF(<*^3G>g-a$CpJE*dh%HWTm zYAk61td4Sru>$EyikD8tvtqfQmsfIm%OkCGX3?SYJ}QwMxK*-AC{d zy)IxZ2ny7bgdeAQm;iiTc&VbI$cLAK9O6{B?umYCVhfW8LJ2X}b(Wn=4|H_ruy~~u z?K%E#JdHfo#s;#qe5l3R54fhLGBO6{UtLCJ_S~zlq&)T(1Fr8T{LQqVsf;zTmUgZF z6ZSbk{e*R}J^BZPOeiHDEGKRbR>A`Kv?tnoKD@6wi>aa+9VP8v;Zuq|%#1uDm2V9x zN@nbLNBdjO8}zOG%M0AE2plPT!C5#4+1ojnM-68~rjUJybye|1K10J<$ep~ILT4^i zb1@omU*(qvdtQ=z(P;{QEY{Mu2|Li?G3R1r43U7Frae(B)$4zW zI1D$FB4NzhoPs7ODiyl()-NHa6T%g#nJ14)LzVZ>XV0T*z&Rr`XlpI~U16XQ^|0I^ zmwNq`6%fOPE)RD;A=3H8_b*__N+!f0`7RDKf06$yVZ}pJl!yj`V|__;ltJD?osm!q zkQ}%|#yaNlop9`zHr+)zupf_2G5gvMZ)?(nyujWLwl$Bl@L8RUnl(k=0%;EgT*1}M zc+<0HYu~UD+5#Widwj$(xG6P|okm(OrpNg=h%Ea+KGUMFi+XHl*3=>I1O6wsC}}kn zD?QhF1`R+}kpDBv0GPsUDR3IdWVAm;Mu>%Emhu&IozrDe>Wnwl2A&K2e(vyd=fP*( znVJ4#>qh0`C{DSJdB7Ja6lIFcaAyc7|65mFCG5um*gl>>G9B)atar_rSLqvBsqia0 z{&fb51OeD@Im^wi9%Q;%@`=(Wznp?O$EZ$G(}ffQm1n**w{+fS8WU~a9#sj@Rs4_a z^t(rwq*~eq=sI76QcS?{OGS&=SLuGX<07gtW>gxGbdSTm(*o-FgGn0B`lv;A0N3{j^~ z->6$Myo|LlKnOit?Zv({(Nua%i#Kpn7BWv!J%wXT7Tdkg6v!Q%6>XY=v#QUjMS}!T zz5s7l#N#C5r_t;whkX)vgcbW``|B_i$Y>j}g%ONGqgpn}nS+Z6f%2t~Lc1;{<+cxS z>VXf1PPvV4*ZSPipL#*#TK-T6tGl33M(sH63s?k{6AUigl-n>)PuHFS7v$dAg`yuh zeMI2$*k{B}H4PFP*Gb126>w6W@6nfqe1()j01!jY;6Aan04XISPex>s5POLiEbXOq z2!&WOw_l?Rj5~}+&WcmPfOOb&VP_l-lz#o!q|8C%MP)_n_AH^BGTV`iG>h<)gb{YO z^E61*C$BX?NqYe_}#9fcpB4z!P&%!2o}YW96% zAxOuVs`}^u5`T>m(cw3aM4u|H(#i`^DJxkPW247KCg6qtI*0|-El^TKg;&DG37<2` zi@pf!)&9!|H$PTzV%1pFGHf1tsfqxq*B>-53wQbZ-REDkGHC(ami(x<#n z`>ML*VIGz2xmJ-=XNeiXI!fR=+|K0@J4Iq3%Y98BHzv<&F>mLyft9CD#a>~+P>cz^ zb&SVf=pA_uKA&2#yjKGyQ)&P~Os@)u`IMoxb1x(jGC~V+NfL?cDqs7}Dkxj~bz8~~ zeYc};9u}g#Pukz+QdCi+pH@V2sT@Lo&}O4LSL8NIB2S$x;itR5F*^SU(~8C{Nh|0j z?~PoXUS9`wewI%S*$S#?pS(aV`SHc@fs&pZw5R<39Wqan8A1=GXjNZak4X6-Ooe7E z(6@|UE3p19H$dQZa=jk97kia7>9;9AWD!l$!@eH@ze564T6z~BL|D?qPS!&W@xzsM z#Q}!li&ESk766O2Ny=brfnYy`X8~bAL`JSE;die866_N^kHocPy#qHP`(4y4GO!2$H9*S0?stDvmKhNY9dh$dQUdebasM0oB+Y8<{a|S8tkybEdi1Xsj;$N)T-nXsL=wutlr@agF-h~SQG-1 zsuMNDtb$GoLc?zDx9;H6)pV99sMMF7)l;Ibec19mR^YSgo|P14#C+hgKuk=1h0$E* zz9iHIUMVI$tI>#0SoY+kNp{?Si_;uhy@MAXW(cSHgu?(9$u_U}M!sVo(qkw)l#e1@ z-aD(FLLUrG3ld7xg?mvX+*rzuXy4%NoLckyOX1(-nV3Ei}DLUyJI`Pk|MOt`IB0mbs#e8)Oq%`R--+eDJKIVU_(1Sg%wb1Meo!#odTi&jEL#Y@1MZ= zg!6xB6i;SqP*23W3{VyG?OTA9GEMdn)tVs zKhEv_RItit?V!T;`zOyn!p|N*l3T#=XVGF2f0D7vXI>2h0gg(D&Do51h?Pnw_q?z4 zgHiJ~bgV@taQ*ZZh}7o&xpK*;+>^R?Y+1?QT0g2XHj$}eByf2tA?T(60rsS}jo_~g z58xOoiv(aoXA%xv5`xlXOQIxiM9=qUQ#mN@<2g^5LlG1fOmhc>2IJki1JCO~yEzdQ zD5Qz+T^>GJpg$i^B57-C0znxS$V%$lFBp6;bPGYcK<`ZE6SM@NNuH^^99JqA1^=K! zDYzczf6o#pp5-DQvMlbW8%35G>hNn)uQ#SV9aPb{C#gH=S?^9y9+zrj8ma3~3@%9U z%EI#%<|FQ*s`ujr$YIlmluMt0>^jh>Y#95p$lKdK*!*CuC#Ndk)&~3=kTsP#)YTi3 zf1$thf&jDG+ubJCG|JznytjK(evwNRw|ZzmOjV9!&ab2#tSpBEpY)iG^bSHOVSQ0i z4CqB>lrA&LGsn5kNOzBGuxy|JIAOu&#Fr(6g&NSo=WjILG9*PzvqPaz!9hOIp?w$6 z+B~}3vBKXEIueDh%_BIVhe0cfrh8qwosK-9lDJtOi-Ps($gpTw8LB9e~{SJWlvrcRImp@p}gtkgCq z&_~HL_IL^f=OQ$+7dW6See+Axf*p}st@R;+t8NaL`-5csuKR>G39@x@VN@4ov|%qP zSESGHbQ?-F#|z#3h(CedFJZi|Ltj(kqtADd+6%=)pSU+yxK1=mk8%YS!$8UPLP*13 z?~$XhgDHT;=RecH;sk8OJs_&rByixCULDnQQ#8@)5rHXZ-UVk zGq_5esF*sh2A$5N`As6Cm!hH-5Xe{+%d*-2t#j6li0Vl7>|>yXcWEV= z)zu20>@sYFNzUG4wbs&FdcpUrU0HZG3#E^|8&gWheo8h@SOWB6BKy#aNmRoVEa`d^ zhTUn>Cx9FQC0^H9N83hN~RZPspBzE<0OlE||chwDP z7VsBbvrK>yR{vv&#k}<^+mu9@1wIre~UUH^*@v)jmJwKKre0{w8wd@ zz!5)o(@Pb1Yog#nkU`Pc|iEI2&iFKtUu_puK+q#*v}WvwbRSZw#4`XdymNX6Q^Dbk_(fME4jWTmpvcy8p3)$4 zO2kM=(t(;dxS<5$BZ`DHu~Tkr4mE$v_A^bEFQVJT;t?sc z*Dtk$1Piljd-oN(d*js&o2a@uF)GNEk2pxm~rc72JYL{QeNK?Fj*R>We$>h za!-lTcaNx0$(l;{;xHi^*hD&w3=d_QhW7rqdJO|8t&R`2l^KMSN$^Xj6`>55u+hwb zZqoW$`s5bI34vcxqvSYcsQ?{;c0ZB$zVpubWXHDzQ#R27fDGSJh-yQcv^Fy{O(QIL zyTcr$M6dVioAy4_aGq7*CoY zs!}iT5hq@BKX)C#`fTbpeZ0%QLZ_iiTJ+ZdBxmP1Yx()PSBI6f^jnj9@msUOl!tT8 zy8y6QkX@O$`IQ-R>dsatP|(y`EoM@DCnGFWb%+04OwndQ>J0?HyGEFstEugDhUxyu zB#@`VQWWYe_zmthP&JIiuha&W>)+DC!%X!k@7)I*`xAq3Gm4#u*<_owy$oM`1vGjY zE3RCi?y5{Vvi`GhC=@m<2&;Z^R(RR_wWBTYxLO;o^^DEm^wgw%eE}$1#CWKkXXtQX zZK${E=sUic%WXq{Q5w1U$Ems8Lbj-N`PDDZM|Wm_Rr~LiV4aD($8H>j(CtciabGz+ zw{KieX&jXco06(`Wp~?U$|Va&s{q+~w&oT~Bu)S!!vriTSmh7SoyO8aa`lWZk7t-G zqknm^hYZGZ%)Sl~dgG#6W}@+#CmM18xpXyjEUdAgSO&3s@Ywb=>I~>&)Z%7k(IYmq6@hJ%nXNi2+5M z=YmhvC6PW%h_yt0hJ#?5vMCWrBpB0fbUi|!-PP6tv|u2RNfMy`X@;rJj1e1Fzn3R- zzOM)N*2qy%3E6OAt2+th{TTWpGh8S6i^QLXtQ=Ra6%<4=XRm~ z!rqkY>&U3>;zj$)*#nl^_bD2)oiNc(d3toE&Y${BeR+M8Xk1Dy~c!Qyfm~l zad5IjqKtVMD}dnyTTT;q(=;D5+nP_51OP({MhRL$fLx7Y?iY?U>|qtOH%#jSZpT*f z-D*=Oj)`XO@~q{1H!b@=m-*naD{JUoi*xanNyzHOV&;*D(C@e0KK=gFw?k}2-F39H zFak;2b05d{n8SXY6?N1$Ru>_hNXSUi<6G*@p;!-RT< zETO&}+mJ*QZps}ge3p^)%dQas| zqwU)K*sD8EPIL%;zS@wzE69W$^;(al-mb7ZIv9h_jSPlaz_V5n#VlqZi1gLSx-p#7 zBh+4*&Syww$ONEkx#IRD&MrE7er>bFPHB8&mKc&5f~NHm#P!v&U4)cc1F!;Txb)xM zWf*!>e%kH?pgIqlQ`baIMX0!Y5$M!}>q1JZIid8;$d^@KU4Z5kiYpYdadU1)tJUUe z!}+O6W7Y+yaJuy(DTUtGz+o*=BBFCtrsW53-*Muy8>w(D#T*C}A%Ku1lW^&WpXWn({g>xSEB!g@N6}n`WXyFGK zyWGFX?5eXPhry^*kPQFkpWcV1)I= z@|3I+uLlZuwQ&mJ9`1^`qwnf9V^h_NZo<#b&RX+VFQ`}CO4?u|2LuM{0g&@l;Y<8H z*04j8TBf9Kn4%!kQp`DCHXo9f;TP7TcuqJr@LckN;bR@XG6*)YD}Cf3%*#E0z;fAV z7*I*X#GuE8#k?&guOAd09+`oIq+N&= zw3fnKp{PI-CrhBXF@fW$^~zLHIg=MaFrszNOvaRiHb`|fBHd~~c4@)`s+tRW(Yimh zTUbqQK6}YACN}K%pH`#-ppgqDb|Ep={-tryEbm_NoRT6CnBfavzyJ^WJQ#{vXB(O& zX;6;A0?U;?Q~@j@v^_+-OgJw9*opMtt)6A3Jh8oK%Cnmd->=2kUbosHZFLwc7Awe7 zjQuH~;LW1K+Xhe1h*%f|us^K+AI5en>^(u1c6J^`vVz+Cw4y}n>wy#$``)fb&Q{Wq zu+B%fqc?;OL>=cW2;?_W5t-9D0J!uU&a0WE8CWf?qUwRi7w9z)RyHlpN!DWj@J^{I zmI`cW2UTX(6bTbHx70Xi5K6Uky>S1IFBHIZM~mXj$Q=D`b(8OG1p@3{Cq&gr@5J?k zNoN#M4mZ{rkAC^>UMpcIuLG`qD43}tNi|k-QL~HN-I6yxpA()%=uu>mP)_{2zT@aX z*URu>PMVs-iv`esuP^1c=vFoXXX$M44b4eHT#LL>jOYB{i{?o_2ygicEAJf)=%m+Do1e>a46 z`j*_*xBS1%QcA=vM2&~(J?vpm^c}rg(PrXCx;XTX7M)9d!&AgwwTKJSO~hE&okGcHwJ?Sl zws-O=-ro*DzCpI;R)N0F%3{|na&5goGhS+fYY$b?qz78Qp_sL^n4+C=cf^tVFg153 zbjM7=#&9yhU#u>Pz(TraR}F1ibFaR|cF|wR&oOJe%!*S>;u~un1Zx!EEKuMn=T2vV zNH&OmObn;6AM4YWL`0jJ*TCdz7NM@rUe7#l>AnRcl$8>+^eD54gWs48{yR*bUZG6) z>)}F%IUoQHCGjmo{=CNw`0CdcKFEO_lJSet^72fTZ!kM%R<^fBsbucbJPKF=ANznb zL{e=R_$Fx7E_{ZX&Pm0y$|v)Kp9wU>!{*pVL=Vi@cw8$ReA^5fA9D}dq6QMfd7ajD zN&gLJm24h9nvPstjl$bl!~(q39e>>UVOu0t#7UaenQb@a4P);}Gu4V&&lR4|8~sB9);Cm(05kCTV10t%=?bCozkP8$gkT-r?Hj(eps^5|&@ z58$R`0KW<*XHn<$)MWdu|FQP&<=uZ}KW2wtXK#F+gbh~6c>8as4&}E^__tMnf)QK@ zw2xhCii|yYp6VR%GM7(%W%9px0LOR#4Qc6nd~6?9H5sV&eRKMv3%TcDYwfPGq4L_h z1~WO6kwn(!3LeM9n90)8nu)AKbwB|p>_0}`uW+Y0p7=gAj#rHN%2hky?>4cCm& zGs+C4I+$MyVD1FR7kHnxAc_zpo!lVgOJRMT9|pu75^cw7lq(gu(n2_BVlNz{R}ZsH zdPSPMZ~}%6>B)OB)`xeyK+y5G0eTU9>|QF>9xdbN3l{U)$y_H%$k)4>138^u@hPk%AxLXkiDo}C+q6y1lIHlf<{$Aby zR+Y&k9{YDkWgg8TOQ2Ht9Z7(5oI3<}vmJ~ftpo0;lXjj5gr?-3E;s5i6?mCG`r1`6 zoJab;-Gp}?F{E|Mw#8l;U328W_E@=olXI5q25Zhjs_S?a~){cn3lV*@G@M|E@MB zC3d1TvB+4$$dyB`wI0huN)&!Txt@~@R7_5a&gfLJ2}Cxdo^#aoY>O0Y!M&`)_u>{&QCf^ihHqeD6IvN@}^* zK1L1)=xrc_e(?D@_oYG1W9b-?MCsOe1I$8d3+0d=WkhFQw5n+iJI$oI>I07dw$^KF z31oHDTAQpl7ZtWYDQI&%9nYUTU3}33#hMKMa;Z-n2H!_(ZCpXPa{`WwaRB^f~?B zP0JFsr%OmYhV+P7cN-eZ|Iws5sl@1KVZk56t2UBEe>}Fe@Ra|c&^yaxCpJ^$Rrs-a znkHRs74(iVP9YO1M4~q=zEcukkUE(Sh8pC?$0BI0P87-cJ}1&-hAh8Te2aKCLW5+q z(f|y<-qcWfWRAXOIlaeddIdYPO*pkVGgYixEqer`tK>QZ@MDJe9}m9_MlIKu3THjq zqmll;lA|}I!?YAp@14W6?hP+Pt}VaL&qxU`ho2h55m?2%q7u*0T%spBj?xkE)w?|- zn&hTr&Op)ai{qKKNc51B$)b7iZ)c3S%j%<`P$xoRNOws#-D>kI) z3UfL)WHzjfq7l#r@}pRvjNVsNuDr9R5w0`!9i|@fk+?o`nHdB8PkfK0ir+GgTnZ2#pbXm6Ogg8UOf&=MC}35k%coHi{y@FW@daPcm!IsoW=}77uJ_hW` z*hyzOGJVoKz4nut9K&up6*`sRvstc9Yg=*xJVX*Ax&{$0q7H&ig;Iq}!G=)%!H&tZ zXC;#wTsvP)eJZ5ml;Ql23O1(Ug94PJgSSBs+3s4Ol9 zbd;o0qDDYm?S?e(??hV<$do=ot}VewOeaT@cAElkqJ=6peESp`%sf{-f-5YYOpt%t zAW?4CG`-fQeIzqxxRnt{n%R(2JEUGg)cyl*{&_5be_M!=tDc}oYIf{DSe|GST}Q%GxIq_Tp{qoZbDEv2B#HtF&*{I2f`UV*R55 z`tAoJT?=YPN@}f218Z{JLY&s?Sp?h#bU2?$h0Na>Mj*Omh?=_0Go)3?zLYdI`#1WE z5%)~oEFZrwF?Zl@kr|rV9pbnWI^!(v0070G_SWEFQ}v5?p>#@chqPJjOJe2%Z=RIv zG84S$*9+N{#K7iab2^xyqv!27(tFvr)NaiYp=!U#x%RpNuX+*5)E~V?BQ?Y{V{bYr zz-L2>$0>nPxZy);6sNmNc?U#}z+Xz|$-7bXgczBCc2n7Qcu9y8-?0QFgBka*x>;mI z`wP{g1RJ0gATDxv!>4E0Ru~o=*@N(`zozX5GN-9|*VY29ehrb_)M_tXJ^H8S!9%I` z56Ef5G((b_tHh$pj$Hic9|P$(oH9&G@+Eiz-zZn+qKzJYdK^Bzj{u=X4{8dH)89hycmsp1}QDQy_cj&ZQBT(92^jotY(V93DNVWgO{PYnkA!p(<#*Q|}5 z!ZJCXzJxr&bnK}%325E$;;RtgTA~4Z2x#Cjd5Q3s1R$gCb@$%?jkKJ7C}oC1CFVQp zK-i2Yf@>A`yLM2(7{fRBX!OBYD749dvutpPA22X+>RspRO8k7OZMrP!kQ3a2E0XkI za}dy@nv|*PpqIS@~);5@-ih7(RHg&4e>9I7Lw|LEf6Muh)+j z4#L?HGMBd>LDem%;(|#lpY_%ZNSItNQLX*ocfAZ1zr+O{UOgF9A7L73p7Ymh1of}u zN@d?G=sqsne0#m|MiEx^+Nn5epgJp0JOMZU2oKr|xV1EDuS;v77n)#>Q&Y^l#gdW@rI|2Ws1ZNN$_bQ&)NZs#i8(X98%Uy-6 zkXg&@&{e)$)RF#IHo5Nm2Z8xuNQC&fgVNk=Iu5!@28erCNug+q*um&Po=S-cLSBpj z$z5~4lOew9|K|e8hUA0%N=~CxzysUH?v4Fc%}4j=Q+f*Kv?-$6M4|?&+^aOsHEeQn z0QWPfski-^;cyX-3e+tGBGDN!V@!>$JEXFA*GjQ~aEkyJk;jf0Zg1sr8A?ibj|p8r zmT{_#B5s}6G>f>VZ<(=A#RTn*_wNuEwBf$?G+LVYT)$~9F0p7L?`Gz>(phb)68N0>UQhrd6EDcTl!6?V3ApD15iI1Uat(Myw4ESk zX^Q~G6kXOsz7uBR)~K%S$YFxb&L40XDgz2Hgt?3ds!*ywErSX=x>&OLJwyrMKx*tI zq68kv0fMO3E38?i0*)_!=HvPV|931pYM)k3dMJ|w1>y{X^&e2f zirp%o<~{IlsiDa@B7WrFC2{t(2XS>gYt9Rbi!L5CSJ%YP+Kcaf)r>)PZVft;Gk)j$NT6`HyguG!2qXBzpZ6<7EwWU(-AD^%=8c2z3x*XtGgUfb zW!u<=!@^bU-7tD`BMO28MqQx#9sInvwn1-#eq~5`k5FM01>Q>3-e(1gzZw3dZ5#Cb zf}MQhTfTi%BNX6?odKr)ZwqFuMuHPb5c%dfXBq%I+{WSqsRmy?KT(y&xAlw?K#V|` zuiCVk-A@*-<`uIoddwrwWJ(jJnuE+IhS}RztLifV=RRl*W;*dlDrebv~ttz2z%oDB2 zkEMyq`}#k3$&#+Z`7?e4PPr@$|&EmPGS!j z>g+Sd5tgHJaaK8IbFCVDK3QvZ+22d*?L2%f-80PPO_ey_;%pDavG5&oJGi$H zlSX3to8K*z0%4k`6rYe{=^5Jyei69oHtgr*%|Dwk@J3{&r@yo-TLev+{acXBEd?suCldpi@t&9>dbi}`alNCIa z7#{<{M_9%+eGI{^+fKwjyz4P?Qg~i_@x-}|;}niPTg0bAC`k>Ui+7H9-(3`&Y78ry zK()AxpC|KQe~%kG3SAgHU~=y5hq5LLVmDk}RULfBCX13O-k3Q%*@Va~JOBIlR|ME7 zjY=@vZhM0Ls@F#>t1aMqbZ83EB7pbvKYHc?W%LbBI<;myW+S$qTjhlw-f*a8m2RYk zXs+`Z1NXkr>)aMSKrDv+O1OxmgYnpH$gF@6^Rm8IVb2d~Gr4r$T1h zBIIE7T_n#5>}!2fwalAMQgr|n^D0P9rrU!uJ}aoYN>mIQ&Cd}sjo1HKD{uPV$WnXzKCH)Nu?dmRa#^rpgXUoxT0%?~;menO}R zeQY>3OlR-vEv^5}GlVVQC!oib8Ya*5b-)i&-Tl&3R!w~<-*jG&n0qU>`2x)hFOLkA zYO~JAq1C<4LPKdyt^yGyy7DVE;X2;?J7%4wZ@`$aYw2k3`02RgHQnoZr9cm&#m-|1 z2H;9lenEsz=5AMD5{@4kyYFZhbZj4wMH$bjE)r{OK1+Mxhi963MG8!i1|n#fYw2D4 zVR#A0wEI-P5?W_Br$rfw({^=&C)HkhtkbY^g7)FsNOP%zF{G%L$Y38e8tw5KF!HxT zE=V#i58_jj9zcFH(>lcWAr=+ax(9SHBG*JNIP~XHa{@J?g4|rXAZfMOeiXCcF0CFz zPV-2OuYInfHfYg9^Mg88A##`=KRbE24VPauwKJ_^bCc6vO*6Xw=r)J8CmSoA&uw!b zAcagBhsv7Uokre2@y$9ifHb{Wr_RSQOZdiF32(Kia+!`}JEf;R>ix68_Do!I1BNxD zDlVTXK^-h+(>-NNM8cj~gZz~i^4ae)zl6ELS)W6Cj0=jo#g(SS+RoLkXqG`37>;%| z3A6DK-+==WSFozK#i*C-+{5oUSu%=);(HaR{FECQW zC{$SILOQuTf7==`ZVCcn1i7=~b#lm(hX1?RU-~@yI;ReQPQS(MtU}UCzYb!-DCkyL zVzqB*sV_@EO2$b_; zjkC|I#eVQd3k7e=zh{QV%GE3C=4nK0nZU(~8=XC)R#)IE9HYGRGBhaPj`2avgVA59 z&$$HKoE)&#AgW$T_@2b|$b4uFM=Tx*xWD(A<~I*ic86QXJMor}sSOot>Z; zRiyRgw!#;PJ}5BLRLmHj6y`w089(kdD5~`5hTif3=qhkAsfr#c%fVsYN%9+bdo4 z78Ti6%HWkWP*(D_PgAT;tYy?XQp-=aEV?>^Ds`L&D`gF5wX0}4Zu5HS zShuNz9*c`fa0>pCDL^|X)tkr<*1ohv$ym;oobOW1+tf1mO8Nf!<<$$s=2bc>%fX_* ziI+?&Cp3Z|*C-bbAAfZZZcJs^!b##lsXq*`N2dgS82!OE))n!2HD$AMgu9m{-n}+K zJ48`;PeH?j4Ww>!R#>loqIS6SXw`!DAib@XYvw^NL8lAd@U|(0GfrV8Q1%`q6cewL z!_NE5#$(lH>dPcx$LqJyB+NS}V>psI%+3ZY&kq6@)k~v~-BJA$@lpEXv=A%iR~vl> zE*7~&f@dp|3|6@(5R{QVWU6f9h)qd?Jm-);rp=0+Hv0gtLxD>)0BBU0 zv9mgX1LbyqDs!7WnQ2T}jYDC@WkfRc&-de(tRQ?v$mHk^^Yz=uUV`Gu zF@L`_f=@f6WdW5UysY-$->Nav`wwc=U*ivaj`?U8NBQ#R^IZ;Z`IhC6MyuW)oyu<4 z8k700pnBu>aab%>L2l$e!(1#4P!z9)jRRP_H@N+!@@Hg-Kyjrue;CiF{YOM$;BqTW) z2XzX5yaK6A9$w(yev8Li=8b9i$HbN8%d(n-pWC@|{HWU#yklfHjx-=$xzyJ@pEqsfHwc zFxLcEhO{U+sA65cY0v49rC>YJ@5H^MKJis9DelUoXJI;-l{e%}*#*Kj{V|Um zRosRE;PNp0_*BIG6C^uOk9F^02IaRv(!GV(62ok4)Z-Y{2Oxdg!L+^_;f044{96bm z>~)HK>eFaUXqf{xF6K?h)|)BA-{@Wx^Z$2L=;D}r%Vbu=J)-_2eS|mHT8F zLJ$F(GU4H_HpG7w!b)>O9akN5mDO=A-80Wq2oV-9OtIy%fdq5gcNgySKZH-hyC8=T z2wkE346y|xG&h&8qPwx&5MxqVaq?Ln5N=zjd)I4RC3R$?zDgEDYMrf|53DxBBBnfTVw4#6jATAqN2Y635%3J zyn1WXm+*x{7RYpms0}@UZ{6NhmlUyuPcP2ljq-ScUJJi4U=W&&GD!xTXKD4at zcz(5!&j97Pe+4JnNJ6c)W0I+?Qg3xFbN)HNCljs6!e?TUx9~T|zcLEOw^>_#QPW1o z^Vmh{I|V84ztFb{jb@+gV%_V4e*58{8Oa1L^Uk249qY*3I3^B$pcry<2f-Axf~d_u zj?g!&x_>@pGBZCFz1>&tis4^v4R=C8(v4nO}<* zK+!F0RtnKME5HdttPF3N^H#XJ!+OZ^B&6D)q4|jl!v|4UzRc+%6@tR6Uf{!-_HyEQ z9I|~BNnhY|dWPsJ%yFy@n)S+$x!k5+EMHw?f8Wj8}o5Q83;GNOCTs8i{m@>NE-)Q^nj?}0nZ(RSvv?A<11~tMdlIUU^8RZ0rg>fpiulYVbh_@VSxl z%~?TaDzWwBN)8nH1J@GOr6v7B6srDsW$n{HbKY20^Ho%FOd5PUwJ7NxK{`GD9h%K` z15m4K%TFJdX>mBnWtv4m|Vc{D=0w| zz)i>d!frGSrWb?w-duWiceIuI`@*~a(0KysNj3h&9Vfr6dWT^LL~2PPv$96(h{W{v zwiV-)-N!5mA`@80l4j#iAAxTys}$*e@XXRRX4C1vgDW>gJK7G_SX%-Q?o>lBrY{h; zpoZ}1nLD4VHDc%&{o_Do#wkaXy{VtBX<@!7%EtSei`ElC5J+4N_k|ec_FVwd|!%NXhI&HAEn%@03VEDUPxR8a7+)G>9V1! zSurhtnIB%$ZGKjb*Ht%je&#PPzg3MgzP;qMoLA5bjFnpA>)z-o$e}Aje0>O&@Le(g zXZ_L)zOgko;GO8K#*50croARN+>2@dZ+NEWPh(@_&B`e(|Li63!5l0?8&{XFjY7^U zap2yaMM<7nxFf>G7MQFUEsgUljIkBYNeFefzLyPqi87Ea+oK*zJG|JrrJ=N(LrFq% zLlc5F9FM_YL1=sgI|e44+CXw0q8`S0f)A)g83Kxs0K0yFdtlDGkDO{WQzg6u>dxC} z=YoW2bu@<8j|DI7T?UqG`bvB%pstkgErdvUZ7lq`G<<8Ep(&vgo>o10}LJ z|Bn+_;5W2?>+6bgs2IQXf+ zmPAo3CSza)u3W(t&^a}ES|tncT;3k!36fArPL0kFZvh&20LD3;I| z;~~&Z4Us~+3e1h9m8~M6cVwyIqmyM)Eb;S9FfjEg@Pe`T5yI^wpULmm@qK-lxE4HE&DruK<4@X*5nim<2nD?BNnf4!}8`U>QKQ z9kj+mQeat#!Ah2fALzntpc7PqOEC}^Mm5OW^A+KP0=~j^pA}s|sB<2b$r<(R`%D#} zwpsU&%`?MSwE~&@Oa5X^5!zpC#Gxd)x>z5h$lN}|jv0i-aq9M=1|5MQ40+1LQ5Ja3 zRmc&?CjL8acV+B}iV=z=gO@n7+SO2|X@IYq319){K>G-o*1I4De`n@U<%^4QWaziV zkT=U=ZkLOmF5-}!twz2}@7@#w%94{Ek?|Zg0Nm!~j&vv8=}bi%*7Bi_=^K~u1xCp^ zQf;*W5J4VBS37mPW$seUA-ALLL71v?{4%#4_E?!J-CoI0y>m(54-6+z1PN6QUQD9ahw%_xeOL6r$nal^#q(9<4_p=0+_-6*bWN@~;*72h!b8biW&y|vDa$veo)U=q zZH+Md?jU8geT zLNVIow;hUf`Ar#O93~B>Tjhd)dHEo%DulkIf4jlYo}K}Ed~tXj055*19pNIfZhIb; zghz`x0Ikszmke*d>0YVYYUbb8zEuEpb3wrBkhl$Wr$x)O;K6h`<8)WLwFK^#GL=KE zVj|T*90<;FNGGKoS-_^3kV$SK>j^Y`Vb@oK0JXW-L}ZHN)8+rX2Ukl!zQ81% zxYPpb60s#SAToJ%S}@KLWTYT&99vD=CmWVqT38e~+nQ1xVIW102E-tWaBmWea}IbC zZJ$<&?11L_8r~+nv8N|Xh7pMIjjKFyW91*V_P4H+KzXJ&2qQq#pWA1!-&Pc@#UMg{ z=0@|BP*pSphrWkHnfmHDZ~ZdB@dNe{l!Z<;eRn49##^+dZ@;DiYUF|VY~WW;BRjNA z?cq^mp8*Ylq6bieyR>0dtSvr2tHi3bq}tV{{u{|!fg0^$va9mVuhX^E&0Q;zM7w|& zaiJStD3bgV_H50P{;o~`;#zAIi3*1pnuk{fugzasu|JxJ(nrPOeGIkcHX@^Op}Dxq zK!TlyOZg?Uj5KpDVgOddF6(ZFkG~4VYCMxX=nsnrg3D!#lQFDzsqP@7S@8^N z2glr=bZu-7U`2L=`~_~Rak0Y?$O`8Uz*$tJDL-M6lP&1=ed4=DgctF`Yp^QRWOcAL zyy3?wyn5_bj438z)yVO`Y8)_&Nb5@0nlt1*-TxK!8q3gwFCqb*!t`D813houHPUa! zO4{x{+h4-NhCh8R6-ck(A4UmcVutgG%CqzLC(PpDM1h1Qx)c+J1s!1n;yR#SUEBU$ z2I~V<2&<}=id1RN$xI(J*#bd)Z`QaAI0CZSj;D94S~X9+&r&TWyl+l))hCJEx-86= z&Q3jktf=gC-R;|h?fc55=juxyZ#!#j44J1r)rM>69u%rmhA@&%eX_5lysNG#-y50+8vq0^N9VCzzBG%9 z+hhTqJbUiCkoNqIBnW;->;G(>_+|LC2J5a~%P44LHOlhW`LK^wrY3_B^Ard|gq@;| zf9nVIK3a6szcC3veMk)2Ctp}pzxROZy#m3QJT^7xEZS58XSkFX9oosBS$W=sE6uWH z1St4(rmToeEX*JKPpttA7d@TWV`6QMq_3~44W&lS(xWAoEwBbeCNREkm;7h0VZCb}L z@X%};9Xd$IG4yb6p;sPX(Vzs{@dw(7qVP6wdi-XU@Qj`(-bicg0RwmTv%TB~hSyI# zWy<3myCB;~92AOLmC08h-^1Ox5&SmF{I=l(Eh2J6czXizK(fz%ilE~1UfJs*sm>B} z`rEG0IYjej^HDe3uNONMYW3!Ow%uANX&$d=pOE|5-vaDKFP?3RK8HN?J?TkTR!Y&i9x(jHoj>?SHZy@5n?+%{ z_FX7o-oaWJRSovSG|vnpdk;#3ONBHP>8cL1BvsY(@=DvYKe?<7In%ZIzs5~{4!`94 z)g_~*#ckFIv2*t^oz=?#BUA&lUb4wWWMI5Lftf$c-oeCMhkRA%#Bxp|5UbF1nFxpR z82*Qr<6e++gR`(%r_2d50Uqm>!aI zY;1GdPU#nI6_&Y*0B@-aG3r0CIzxy@ljYyRU{%3H@fhpBdkSaRFmlB$$4;Tb;bo?u zSQW;6_J89c%IsQojPKr9Lg>;@N`mI;<)<4+AJRDP#D|-XXE$I!hFVsQf0MrmVu3D# z|NUm|NHEIAWbfJLK9)@8ZF~0AhdCI*-km&l{U@>HmlO` z)5|K@GvAj*2L%t5*M^i>uYHCp=Uds=pIPNBY3yYJ0al~Qcb(Z6&7}eP+{2f2{SU5v zGFF2E&!|=-(0YuREeEQRCJ)`UtCe0OUvUW)dkG*tGjUupCKGsuKDU!)LMSG?B8q|! zsbYnheIkI_EiQGfS$>kVWCu{!1&K;*edfO2obUY9TX4j#xI@Nrj7Leb$ zVl_@^s0QJ=;C*-#aOFUSN=8y=ct9fY2Uo60opH=TzpFVzTO4=^W6X(|w#Pg6k$sT& z^nNNFl*ueD?Ey0Z%RV8Kka#I_%*rI1VRsHiIHlcMfckRTE$`WE>Rye9ryF9H1x&PM zp(IFIq#Emp+2)|MmAlf&{I*p*bJA}?RINm+GhYj;o!Y66`W2g^6^}weZyUpS_7td7 zn7Mk<3B{E&z?D%xc3)3Y6uwH50O|xB9jt}MQqG7P^FmDxp7qAncygaB`((7Hm%m9T zeISb42M*Nc3RtNFK8;E^^cl#V2N}wqR^kxnbwXPinOSMU%cjpck)R_Cl_Rt~L676g z4QshYlqa>+T~BDYX?+sJqtcAfBtPH>iEja`!yuuz643QP!i!QhJxQl4y*4)8SAKA= z<4stWI-yVlge?_5y{QC;Gl)#|pQ%gCu=YC5qFWX=$om0JzTG)R`eYV7LCOBuj!KrZ zdRDx{jI=)vjvPb>f-LfQK1#nsJ7GC23+Kz!|4BVYAze1y=b~Ec^Af~|I-27@f06bQ z8|E+yor=Kc7{CM?@KbS3Mv3zCOZ0~Rbit;@tplq=aSe}_g~aF&nh6Xt8=cnpiUB7? zzfc{6a8*$F>7Mjx`md);Vpn0#UJ2O)?Yh11>llOXTS*h4O44O{W2DyypjT^Eei-2z zdmqEW^pM-ueENKHHKadI?~rTVmiOWWo6ggKJ*$7ghYcU8?8ohUi!Y)qN8`g)C)QvP z2IMpJyEpa9E?IIDpeBGnj>)DIz#9zF?dF90b@qTinK05IHGom-vFvy#c)-ubnd>H; z=rqT=@9!rdTd&7^6i^P!`XnqxEaRaEI)m*oknl5gL~{ppBncBq{xU&@J)t)7k;Cb9 zPOab}8~GL*2~9}oGcPd zB=EDL z2B$`F`EUHAHuV)z@thn)g*JM?1h(GPMKPh68}$4qSf0u;$Q*uZy4ssAn7~6&IhoM- zvXM(YR&SDz#ka4f@EC&LqL~J+<|HjfagCv5k|M>?ynDAzPMa~b!0o&TEW!*}BB&l9 z(Z6UxP7EA};a6_y%!R~(W3g2k6ziDkr&`683N|mfxE+oeaR@J0a_v=c7(t^2Z_E=Y zg}cv_TaCQ}BB>k%sgJcy9$hp>tu_`qk1X=Zg>kJL1$4^u?mA(^_=q7YPEnlM9hSC+ z4gwXPKLdT+(CG|6y`hvH@42X`~Hc7-Xs-0yK2oV^Zi;La=#YDohJ|l;Kw1tbXQu-=@1$ zKy}!A?z=8+lG&|%XJUoVDe`$$6EEcX+@(_MG9>p5a}&V-rJ&KqcEdjAxm7@rK( zaYT5b6)o#f{dj+DWW4|iwWz9Fb{?t6q)FDr_%xo%^!hv|B^`Qx=jZi~+#a=RiiN4ODw>pV-yDF5tXv6llb z+Teeq`4h}&kJt?PM7}&<6C38JG1M0SjrR%(P4V{?3d)fLHQNz?sB8TA`5xUlj$*c+ z2!@o2dBOZ&FnYMis2Ml_+eA2iOH)^gR2_dU#o7nYo~~=Z0H17C+_i05f3*-d=M?(a zv?g2>xh@#)fWZo*{kt$xlb;%%5UpuBiA7PQ6q>dlnmp9aFs>S-$t}&S*)VGgj!ZiK zxkpKT$?gVDDgNzHF4DlFp7RB!@1yT}sh@k)(@MTixSz2rF%jLwbakj?d&)OnnJayK z1D6a1!)ATjGjV9!H{CBLx$Tg=b(NDkPw=NsB|WnX;drU?;TCpSqpoJo0h&8B>wA8Z zY?8~+K6xeB@1<-7+xQ7tX~t}ZIjNi;7cq1qo4BMoErVVgB|VL8UHL>DZQ3F5AaMDd@eTjptR+rb0 zF~OeNnl0nw(owVSklz90)8>`E>k$#Aax;Q7Djt@$4INv7{m3$O4~LQdYrm19H^tU72)GK_^MKJst7b)!wk=ou3Oi3M zsJ~3aPKcPwVX-PDEf%%#v&TRl`P?^NwIn5*#tgEa_RofZ5I&LD?c=lRKp8-%ABOBi zgo#vJOn-yq&b?hc_mKX;%ofDd{5{Aiq3FK;*N^~u4-LREuIb59tGJ43h*Xr6< zUxffAZ^ES6Yx~f_4!^k;{`)RvwCACz6j$+;IWgR{`ZLe@zR>cO#D5O0oZfHWPad{8 zXqb9>&U2CxsQDTCClY_Hz)9E60s=un&(_q{j5ol)nTmz~=MolC>+hB|1T%C$8ZwIY zC7?bkTA!(=-fDCu?vFBjUw6~^j7XfXr$Xy>A1y6J4$UR-g$t%^h(e|A6B;qpQMguw zPO6!PaQ&^Cx85c*+)UD~!259a$`#7Y${7CaWp(OceM-xD=Tql?thhno4Vf=@T7va! zTz)Ke3DarXnw$-H$^@RxHBgl+h?3C>{ig-4EfF%sc^?gf7}Fg}R(eRTK#|bs#=$Sm zes~|~lO8ffVN*tOKukIBc>-(P6CJB;yuH8zdPtMcbZ$3f=D^K?hOXYFL>CLC)x0 zH8`~%NUQ842|}1k_Mrh4YMuq?u~`UOA$%3-^F()9Uj1A*>v5unj<;|d!#;iiy3wln zw&UhudJ0=8RCN&+%UT){dh*T7B;u2Y0aqyX8P@qG(axdtm$1Oa9&J0rLhk2V<=J%t zF2c-;N#;AN!FX=-1%i;eFKh-&3Mx-K&uMK)u`435gU8+h-RK%wZAwKU8^o#8AfCe7 zH2!x7%bRzOW{aXxh({eweSZxYp6k#Zkd$8F1qeqUJqu0SD2KDP2rNh_jXUN*O2zXu z@TW#kx-QL)y2>rn*>j$j0dww`5U8>_ zZXX(OTWF4yNo+0Dz)<)%bF^)C zA~9rG{g9==?s|8oSdW&^BufJjvIpx)-fm>Sr<6fq=oP*;eZ;$hV8w%4b7mI*aFBlB z|J;s3Z-qI9$&ROz|Ls&W!Y=7t8%%Ckf}e*&uJ|q0vuq2sgl2{jR)8|k1}zr#D>zDa z-3N$aJqgaW7$X!m1eB0Cz3~8A9zljQ)v_>V2lH#`bjBY*i2+7s2F46-A%QCI?|%*7 zRa71cxQ6+?QR#{z;N>zBYLa;`xrcND$K2_ho-oU#Zab7zVDvM!WC;AIx=lR4Ze$>K z^~h4y!5l=^EhBl2Z1Mt*y#r2>1YB8gA*Gvv!JksI!o;+)>$GU$7T%Yz?_yzYAq8cH zwMn*ZBzbt0VUcJ57AlZV%s%7nXdBb@%&Zl^^qu7g=_=k<*MUTW&#dkH6pC4^Ov(G~ zh!Z*6MWQeK9>xnoG!OnC&n)-a$-#Ib$Pxqa*iq0kGpfW@l`T01rR~y(9nie*R%kW7{aESn$Mr1MqH|zh%teX1LdlMCvayYX zZD!-5H;Q4?8a>&+W5`FJ-53tM{)_Wf`>h{P>ji3nRjU03 zu~*UV3Nx7ByU!566HX{RO^tYJ7*(`e>e=R2Lb_OxdE}Zd?`i$y*QMUYI8+gON%xR1K%> z0C8Z^b2WLP!B<1EgsmP&l&hOc~jspzuG(#4xWm?U*=|HkbO9_PIISc3L%O1UJQ$#X)Q%=87y$X@h}Bn zMJep~;D$g+1_jnQ*_Z*6%rZwS_u&TtQi8b?L26 z(Gqk2AyFnau+a)y#knhJ6a6|b#9K3AI_@}>$MVpD(Q5aUwk>a>a@zkk%>%hA0RXVt zk=1SP0T3Bq3*$%)!y6ohMZUHtRm!sapMe9BhdwQBf_M>T%Ga}vl+BD4`))d9IK)p& zGUPICQ?uK(1n~EOx0m%qYU=LQxAGwj#4T1$KI>%=0rWUeVh96%0ffulv8ak>VT$rd zJ)%S$_{WxHvkzTBGf7IQ`0E`A7IdtpjgebI0R)7!?$c}hC67FsjA6^J0ARWbL zKhJ|-uB-mU*JwHxvo=tg;{#hFpbxIWEAw|w#U9)_hBMn$l&&LtO5paPV_yXQnub!8 zuNagQ38j}*fgTh*$dI^=B(8mcO~76HEY1ou9s1v;f;}eP0`XMF?h#PJa6~4Xcncaw zX5VM2JAl=T8kXi1;WUS9yr3&@ZL z2nZjHap%p*CsHxEAWX1e3dq`;yDy;Gw^Y#DwzsnV)WWiw+$^}}T=CCJ%p6iZ4k19k zO$cGS?6ux4e>{ifC1MbE)BiJJmQ6MGiC0D(7-|n)(r!(f6?#5X` zX3oM;ulmR(sJvxsXFQtdOhOn)w4ja_6rI0oLgI7K3Euobd(|;(L{lN`deF_tB?Ggq zJL44MA=yh z5Uzx`G2@hY12&S_PGKx@Vzup@J6~lf)0n07XRjKoCU5eDZkGlsqN#8)4UFH1ic8N8 zJX5!%ICi4vmE2{$_A>ZZNx?JQQyZc zCdOk8O*7fFD7MDpt|`{<)8SQU$5uqP^zB`dEjK}Z$0T;$5cA(u@Me=0sW3*}ca$h} zf@kBxR8cUKMUtpziiw448`1f+2~1AhcdB6J*;-~pDgS)*Sg7hPA-!p~kJAz17A5)q zF>fk8w>NC4V}~1;*_v6Fxl5!`VkI!iZ6Qzkcp%a3PH10Zb9OmVdnHx2xazA zuFGd~C2$t2>2WZiL)lS|p+rj{VsPMSOVAhnfZshdSBEV;?>*55{oDS~LR-Xf1`1S- zh9XIS)Rkh;t}0?TcY^$${$)VOg#FDHK_vitKpRthrv;B@>;{fq0t-1l-DXPaXbuT~ zE%JPY;X>co5!17%eLMNmb=xQ z@n36fgT~^XfC2BW!PqX#;bkB$$^uM7+tvEc1QOM-K6TXEhHkkfSh}26@v_=o=rF80OE6b-EKiO{q>wCOJ0S1(lbEd?m1e>XESqB z8XD72$i60C?`s;UD55K1tp=zF_-(J^mb$hH(2K5@pHBYab*XSwo^g|K1V9_@wbwIyNxk84<~@crfA8 zGQdu2#d~1F9T#{MxI0u~j?JF_PyOEoBkrO+;4x zf}nw|%%=&TC58L2uWhs{iZv-P-|FSp9Yu>tX~~*i6y<;8WyLYcaWg2pIyy}Ir(0+r z>(QIj<0eQ6`1%-7wQit3(s+UG=DK)jP}>{2xv{~8_{jq(Oeulhj0)6_{%RBY+1;U7 z_Im)F;|Y?q{(im`%l>T6OS$c*bk5d#t_6l zQ4ka8L-I_IZ(<3@!1I&cUqE)x-Vz!?TRpy&EGJ0}E8=-=jSS@T0YI-E{|eEi^}29) z6Bmn$F%3W}(Y;R8aRuOU&+ii_w($)>cY`0rVW!b#nG(QItC7F}lpj#x%Cu1QN;w_ z7glrX=G!-5$vF4qN%If7MN_Jt zDy+0kZX6Wukn%w;t@Fv+xotVnJXa(zI>6^Haa!1=s87b;3tuZh4#8vT~%b-JjH~5N=!v^YB%m#dtl&d7B_UEJRRBCG*_kR>a!xe(;!N!~XYXGj5fpuwx6rh7ccboM7V?$tOI}%5N@Q39Pu2 z1L0|B^Z$01bV5-A+GN=>ykf5AJ`}BbPz^>$MrZA@^itM-ER_?hvjv%gNU_%KKq>ic z!C;ywh7yj$k0s)N|6%KpP*T~Gl4-8RqO^ZCqHvAPrSD*5t{~UgBof~$p4e?Im-t65 zX@B4MHwyQs1x%qiJm5^J16jQh2iB{y zU!Sonw%i6jEAj1o@nVj(He@b&_qzYq^~zqqAk${w%Iyf>m~ch!Lp{seYzy$@Tup(j z(HUMVA)Qc>u#Rv>Jez)}vpiFy>jpC7I_~p0rp_vnoB)Tfm)Ynpork9i;{M}YO$W?* z2_=k~*tFy^GS2Bn8gdha`Sw!uhRPQsi-spD;0?^{00#Z= zIsC_3*i{|od0iIQrEa7g^<5+7F$wUBfw1mT2}|k)3~PWt^S^Y73)F??RBA25J@lH7V%%NVcgK@4JZRqwb|Bg+d#D zZpml{aR#64E6n&FC6WNScQvqTKurVa@ds!+wJOwJN$p1K9nV$qQ$qmfnd`E6@co*l_$oTxpnaeYF=zv%G5U} z>}8h5j-*>{LF%<_^n6oeBgR$hX|ZU6RpUiBDLv6-fu&{O&+wiM`y$tT7enw9eP_IyoQMNJ6@16{F@6N?M?)$f6t-C&nNv0@NE@=Dh?WqM8YO5}kQ z;x{imSRQRd!)hv<89&{gl>CS6x4@o*d(3l_K}9~SJcglfKaxrp0vT)fi8TiVcivR*xbq2W0pGrNFi@eFa!2ibU%1!HIm4kUpo_}^EcOB?M#pwC+a=dX;6 zq^FW_Hw*}_DdA>ktuJJ>=I|L7F-D^1b2v+GUG7Bl?2`^z9T#-4`~s z6oF@_seh3a3J}Wg$WWOL)p+ANJAaj6fDW_t(c^dq-H|R%^}N3n<41!TJMe=&BIVbJ z4F~%bD@b?t%{&Lr_LRL*g+MIE(Od5Mhq!0dkb(eEjXAL#iQ?pLo@Z+|y;&ZGRO9x5 znKHh>VqsRd5c$Y(SWe(_E(!~fDyXsd(Xx~hOn)#C#ZeXgSqpQS!-9cMfG(ZzuMRS{0l(LQ;0l3`B}nO)i_W`Dmene(7HPUrwKZ_w?f2?)c4<9~?_ zUEXfVoTXt-$UALh;LL~}4n*?afUh#dD{78l?BcNqk=@4Id@>Oi86||zDg2;I0JH5D zb0>5w#gqE2aRf>!ZVoLA56F0k@LEDGqc;${h=fR$ojv=BdfnI!PWn+#&v7EDM>O8w zjs7guI0-QE_$)2}tvdNambzI&%VZ+}DmbT`0E2xcxdi~h1U%K=@SDTAL)$M560&Ke z_Ye#o5SSf=Xa7_`REf9s&2Mr67JLXT4E|K8Wtc>oUN{(ZnJ$E6pZN8IkyjbS ziS3EfSRe1JVTe_soy!A}l-G?^w(H~lp?xL4Hm``frH@j-rA27RWNFj#Peyzk25!3)+o1he*h9_{h~W;!1N$S z%({EGI9=1%RwVe>mmHBUBD($O6$=nEN~O6Re#S(H@?ADDL#QZe@0;SI>*jF0R zHeVdB;5hWp5wE^A=rJ=LWV8og+rUHN9171yUE$HWVDc&rC!|?YCjCGb^$nYt7}C5n zWLmnwF+WZkl%yD5od#;4A|#)rgg#3f?WX{#HD+?ZHAnlJg5Gzai6h?RcZ=rz6TA~y z{*KRXJKkv*KRnt69Q-!W1-0$K_U;6GG7r#aI-(~SkaskC*U?Ww^MU3lFOoOKt}7NK zc8X*Y>1e6_s9llGf&%x?Ox2D%l5CpWobQfWKW+;NS*1tPZegr90l+ydd{lY8;ybEt zM*XY!gj6w5bQgq%Cl3>S-x7&@HBJ_ztPJ{nO@~lQ)t+o9vDtFzlwI`Yn zO=-b2K(o|(Uh=xqN16vQKI0V`hJ33E`cCoJQo}aEyIP^hcl6LAbeWm{pIkUE9*8 zyM6tnL=-i$?+l-Tn*blJ8#Wm@om;8p0Ap8odCns>%UupD?5{kgILd-fB2fOVffoT| z1G27}{*b7V8kA6cd8u`uN=~y;|23T&K`>9?z(YrHXg!W^+$Gs5siHK98-GhVoSQmM z@Bd$MB+4@DEzLR2g%}Aet(1O0doka&bvSou0IQ%QAw6hjSV7zdzmULlHL0h6h+T;T zuB-8+efDSxwyONX`d02q&72QGg4KO7e)Fs(4X|je<=YxKC%(=iw{*~DTsEd&iS#rV z3V@vWMQM$#@mce~D%A>^S$$+bOuSkr(6@F6SIX{l$_WMyCIfo1qV%e+>cm8e zQMX>@!QHG(h%ru%#MrB?MnPx7o7oZ7v+^L)MW{!0(q6ICq{GnCeBpOSoN5u>>%sTN zgI-s@Xqd10VfT}6@Imun(sAbm9)3QU$LSrw=3|bU5@Nygd&L?KHr^OZlnO!9Yq&&* zYpW>dlS&PW&K7iYF)oy;HlKJALn3s*$hJZek;!VAq`nu|ZvtGm-jjZs1RL4w#4J$b zg!Y|=71DKajSL-|$z%O;4DviQiTj(uCAhqk4z1rdk6)t^HAc^hGQDTBn=hv84#dg` zGR^=#jRp6F?8#k0VrV_G4oomW)zhKhO4Q21Sg%Yf7KDWpWFaYUbPNVOA7BL_ec37ln%ljdZDc--YYO$CSrb5F9o`*D_==Qd+MIc{~~3C_zoLp#+*`W?Qwsr-Z;1P z9M`t#LSbzzmPp~vyC0LjOq&gxF;wGn_99QEV;fyg%`!F{@SPe+>ai|>8Tl80SLw?X zYUT@!99oQ z*&8Z#5iWsgk5fijCtWvDWM89#ntNWNUr7 zH<0q2#(2H@DDD%jMbw5(1nNIDpf$o)*DSngm-vHK$7jR5{!Qu9Y61P+2!GLsI%dbl zSgm0PF(Kr;L(Hzw4B?o7toK~2|6|A}wytR@J!9#tLw%k9A-)-{G}F@bdZna!*^gy~uD9mqZ}HPyc#0(>UaVLXXRH*sH*#{r8HoJ{SkP_j=b zs2^&CO9V?fhoy_*<-CbCMMxZ^WwcjS1rkgAB!ICbK1Srs7zPntpiaM(Hel#|< z0-&`u9A7P69Ha9Sk<&Ib7s#@^m&R$bgFCyL*&WrC!+>khCgN8LvPpbG-+xTM#x;avbVy`LuN{uaKw%R z@$^X7@PfY)SOC7cbqGSGs!o2%JmMg~X|ck55Jiovt3e6#I;cxm&~4)z7dVrEBc3_~ zTY+ZtLB|hm3S=m_fOwTR*du|{5Bo3-B z5_z-AyIzOV27!?;&@d2d#_aG_c8lDb7*OK}y3+V|^A6N5KFpkBXp4!`Q!)|Qz2r*f z)nbPM#M-rT`XgG0J_KX#-*}3-05bOQe`~eM1}EI!J&Bt}Ar@2nkRgCfKS$xeZo81t zU3aCik$t7`5BEx!_izwlc}-1e9E8n%I-}C0ZTfsS#fe?*p{IVV#PW%t3eVcGCu+MN z?#7Jjpg?s>%(_|J(8fsHrMS)T@xA`2*Pxwm-JWqvFx<8co|Z`FM_4zv3`6zG2krfk zT2?d%V($M1IMzLku!{9dY1E?Dbvew{$U3q1Q|-a%Kiu3GOXr#)BWf70(Zw!{=96VR zm~0@-iR((lpw;OSQpz0BAa7Xh&%yI&jMDcAmcF=X!UWS~u*&wmD=p53+^)d9d`SBq zFth&aQ{O$+LG|XLOyOZPT^$V#wonhb+K5@_L^Nyl85+~L0!9|K>ZY3uu?S3VY!|J9V90+$3i zc4|#pUfu5n!P&5SKgKqTFgqf@q2{|fvqQIkz?Dz)Ty!WJ71?&(P`TcObiqs{Zcoy0 z^jC^a^UUtrb^PHt*6h&%Ya054pv)}CH8zQf;(rXVV-_9J9dEVncGqLq2`pCY^_k{TzMRA)O5dS^t595U|C#AWeHiGcd|B=(&o|do4Mf# z2{_t3f_*`Q%U1o+rzc`JR3ifCjGR_EnV)(vCB)>id?FprKWo!$rtgE_Q@`vjXh$5n zn#?AsOiq>#_7zW4_6v!&HrV+NV#N|Q*WzK1F$>~;gwd>%R!_iUkVtPvassl?@svFi!(Y->{aH)O%k!@Af6p6 zZ_05kYZc!jGQ22u0=zKKWz2gu@Qu%ETrD;tycS0j!E+5W{j0V)Z-uB02X}IdvWP80 zeDxLrHvEu@9kWXFVhlu9S0g=HlF?l3L`WgFpbliANAWu?xOBxZ>hlot&H>!u8OhvW zWBdch?9mxbqAgVUXnSe82B{>o@s8zU`s?j=)0uM+Go1~)uYQJ(tC#7Ai+oh4%<+QHGGWNS&v7N+EOGY;7UZ{Cw*n8Rde*cl?kV9yIkAR`Gd#?)7jR{()&9%C7Rc z-SS`HP|J_s?tOEnwvNPv5!M39*xrqtth;4@)@*H14IK&9F!z}XLIB7+{OAg+!Gl1Km!~%PlVnN2SsF+e0l@rY6nOAT%7}Q?Y#36e8BS?Q<57>{iW5m9`6Vezjbgf|JX=y<(djDii#2&n}!+_kwaq6 z1M&!DTHZP7hD^cg=fiEC_}bNUo^atteH@5_hrnf)uF-)_YsH6eMC{g%m zsiV$HUiWUlxz}C?v2-I47Ue;hRt}wI(RsS`y9XJ80FB5O<^zYz-p^$@lN-d>!NXN% z4)dL(@p#&o8aR7b8vxCN;o}q6sX$0yk#r3T%w-0EG0SG8XwbPfz$q^QZ!|HxS+ko{ zVydV{)1h8qIWYmyIV()jD?+#5++=nrLTUy*Wk+AL6aG!SR!H5e0ZfGN2WBWaU z#968=7y*{(=xkLqUgSa`#DxhHs+{^n}u>2ZER%=>TifPbn# z9ea72GO00TY9e$D+RMKsuNZm`i)y*=gZ?KDKR3xM;3yY|9YWSzksJ}goDgajvtfIm zA7$5FRAQj;9N?oleiUj*zNR~(Fr*Yi+uEK>qQ97H6$BCux0uKPIPJuhyOcVc6Fha& zX(ng}c=!A2Ky#rLR)VdJJQwpp>kIBNUk-pU_w$K zcTRkkbnPDv;~Hy~+X-WY?8jCcbQ&XrRz_?3znw^Iwo3fI8Ym5POj8Aq-JlYhL;)>y zkwY_Gr+AJjfsq`hhLyC?b%c=hT;521Y55Vl1B*9MapQQi@Zx$pgZcAvjhC2G!)z+G z#3xFzVg@FY~{!97OA=km0z8YfCCa`xkxz3 zn~Gs&I3gjC`zdQ!`*7H${2Y4Z1FECy(J1dA_cELy zEF%T~?&i(xZbn`fAkHf(wjoL=!KA%6^knG{9}tl$A5K4oQVbnP?QIk27RLaebeuV$ z583WDlp3m||Id>UXtAn&W<=RJ`-A9bnPx5P!UTdh?y#BGEv~X_3-cK6kL=%30s@K~CZ&%r<>Gm$ckYeGC z(1i~tRzc|~n4VX7I-8xqoz8fjoo_yP@F-Gk7|+%46I07N#G2L{IDJ?vfoBCBY!NR@ zr=1Ijs zI;YyhXP#XpTzAS>^@A?SlAMRG{P9!$s{X{Dzt#_;(kHZxD}T=FsJaC6CZ7 za7^2%#__8zvaClRKxT%1NQH6dKBO%@MrDy7o1Oby^73i9vNSlg8%jKZADirxWL8fu z5;>^+Cdnm8b>TG8@kSWLO=SboRq*VGal%RV&mRRVT-57d|{xBiOc4J31Hn5=w4JhsW@P4U#)$qybyy%Lz) z-VP1di(%VK?E3mnwwLO3_EVh+D7s@UqtbtXmby0+m409Ffm9IP!?=wf5y>4MkE@!W z=xDcXYxU%{nt1R0C6)fy&j&#CdOK7!BZ_?J$lR=Q7n82eAE0|d9rHWc3!UaKe-(|b zfGk?2nadww{$JW-3tY{c^(G_tcl98haPsPR5W77X@DafRI8~_MzAMnG+PH=HdL&;Hto!!Xn4qnfnSS|t%WMK zjQ!nc1xK7e>nKYO%a*o6pBeco@M|;5KFP7wZ9%ah?MHzg6R2N*;`Lu~k&^nsYDqNv zbR?4S3-Tb=L~SzNt77xVr_@?I0-s1jmC4blw{x{cxIv-4sRXqFBkjl39Hi-LJRf?rO%{tZnvGr<;DY{0b#a;Cbo6mgRYYqLW z%`&Y>1CJWLA6N}v!3pRj8262z)JaKB^Er5@X-#T0UARD0`-8a?{Mo!Lfo-Yab)3|* zu#X+!y0v*IUi>BPT|5uL;HY8YnV*jP?IR=7QwW}LNXR!Qb)vK7JocQ0FAoWGK8A#8 zr^pmFJ}=Nh6nZ~Z$dYlbuE)V+*xQePllEi7e_>dJ=Mrs@zwLYesVU8A)tM) zNk;340f<&OOP(XSRanfpj2~eOj+{ZWGM3rg?WfOGf=%|58K)&0ZT-E15(uwZ@qoo! zVX8@jOB$V~^*RN!F*2T`t()k&(I)x;Vo39+?mBl?tLk9TWH_jOYXA7=1X5&Ut3Yii zzzK)Rh>jvG6%)G#0;bEUnrW6p%JKPx6W*zoM|lmvv+I4=>DkHLpTN%pv-JELf=wr5 z0bMWtpM&;Br@q1vtn~Mo@8K<^#X3t;zB^W0nTfas<2OHN>U=CygN#&-+R`_-Vc)?X z@r%VHn`ztjkQ<)0$qMGEH|ul24iPK-mC`9Wk{4Im9s)4BXc`#py5fXGyp>u9N4dP` zD7_zwo7{avj3~g?X4|%H+qP}n=55=yZQHhO_ifwe+&6i%`!|!!Y8F)|=cH1VT2*rD zgScsz55b;iEC?_HBB*!}#H6>u|bgI?1fBt%G&tRy3^X0a~S?Nl9XH zQQDtKUkWmoJAh}YIq9D?hjyS&EPrf_dO-!XyaVBm-4c-cUm=ZLt07)T8~C%^5G0Vy zknJTMxQKC;4*l)vBNizuoM0D4%u0DE?(Jizk0rPtV;C%QYjgPX?FOG6v%g8f>e?3> z6iU+pl91)8(10-?C5T86 zLFc|i=)Ow7W$Xku{8aVog$dasTZ*xyumfX~SkgA4*R+4|3Cg^p>s4O$KC?8@3BJYw z5RK<=DUvY6A!+zX-_s`P8GfShSp8bS65Oda`Zc}B+mDN2_~Ga`CrNTZbz|K$O62ob za{t-%O*XUOioI&H)oQyK?iWENT9ffX-l{ZKyFvemxmB}U-g;Joa$09BG8+2{Rv?7# zyAYkNu?k%)L!sd@xa1`OZDkPq>6(SU0r3o_ z1Dky=v7lR}oYAy+IIhVB0kWefUREw9ZgvCyT?b9O^ERZuH3yF)YatESTKDPo$~CG!F&^ z87Xt)YB*RYCZ|DuXt%*wS1wMEutRPZVLR_uRy&Nkd<55A2Iis;e&YYZ=UBmq-$-Ovve1!W?`lb#9;&Am=w<0 zAYU|vzv!~6+eDi+iO~@kpV^y$W`Xvq#AQVufC$YxR-uRkX*<7AOY}FUFie^R2KmN>igwa1s4@$H@sDWsmYCbg+lvsQk8em6TRGPLZ_^k8NjCqY zJxYr`Gi@6zG?u$yT2T2k#<|V%1y{;PjR+N2eMh0W@|+`ycjg6>H^cRvvUJ3~${q4X;qv2*?A za)2b{aCQbkQ=%fhERQV^UmabWSu^1+4xqSvKOya9xZ9M^BF+nR&bG4o^fp_CGK}1O zu(zQl2L{oJB#vXYywtYCi}hry5q@5qu%|1>tMzLo{o1)Qdj572+sd|uLnIc*H~69K z!G^Y*Y`SHiWUEa7ZJM&Lg|3GSD+5X~e5`w)S z`_WueC<@1r${4JPHn_3jA}-Sm=3)dordbJe4q=43nxj}vXmBfJ5wD!k>8VH+@X%ym z>_{74%;*LP%8>#d?Cq@q7&scZArG4$vLC5;$X~Ga5eFnKmr3{mBA6k1S7_q!&%_07$9 z`G&7J)N(oZM`e|k2_0h}Viw6D>9?BwzyLM)R>CSM#!&ajqV?b@9b$EY#Hq&mAB z@VD~hgctyB%yv4?#D+-|P5MtvEl)bZL^TRDNA8F1dXB_#hyK&o*CA7GCPz4ars1vf z=hfU|{}z`HFWpMrjIx8}~xc5$b%*y+*^ zp5ntNl0*bq!kkDVV*6#DzS>8UxMaot{E>+c1hmxbQhJ&8G^`rFQ!KRN3R!TwEB{gK}~B`HgQt>lrZKoTI_FS(yiS zgN{wm026z>$1>GXo7MB~*#S^1W>J#L7Y5bqv|Jzj3)P@;8Qu}EV0|nj?*=&v>r0h! zNO>7bs4e^Fu#LUtW(v7Chv2&3v!0d1QnWGTy%Nu&aIIviyTew@Cs@eR*|8R1l#TX< z(JpLnG3MtwMg5F04Iy#{VBx+cmzM&slQL$47LP_mN%>*wEN*hYwy*Bi;WILk@~5nV znbE)aLt2|KOQCp%C>YNu#Jx3?OKTARN%?c_zdFNL3?ASA6IB~96DmEA<|v24RfH#2l&vE3;}n#L9cNE=bM7X;%fXTp8Y}l1Fd-*rxi#_ za#<6)l)cvDrL&CT9!t62$%F>ov;m2{Z5 zyfgu0l_3)#ffL3<0XiBkiF^OxXo*~=O`g7R=_DYZko1~fmMuv+Gc7IoV==d|%TnOL zCiG&oL4gpel$DL6(>^=1(1l*|=LdWm!VZAu3oe|cYN=|Z4M5I!XMQW5hPl=BQhHR` z1%yYgo=KA-xkhDe>f|8oQJEysYl;CnbZa{^VK>6nRwxiIghZX_tvgXn0+(KN5&r21 z+!Z+^BxXYH42Nn~d7Qd5@E`w;ZVO(~kNGvYLx!86O2bK$A!ESy)BNOSUP=)?vXZpQ zg3aJIX&A0B+HD5;2*&W*A=7ff-I56LA}91JGfsZorE~JL()o*5R&T6esj-5FAoL%a zLGOPQbAX$*h;epYB1>T>Qy~sOSJ^Q$6_CAb&jG$zn(_LRWxtr{&l98?G9DVG=UGMO zNUf?E6TYQ6=N1VTF9}v+UOtVrnS4sq;-*bZTXQh*g$aLCQmo&3)hLCcXDFY{U4!8b}&Z~*>b{HiZzZAau6By*P{=@20NQodgIFIS`tfC#aRQX zfQRk*kD={qaI4LbQSe^-jX17{)7ecg)|_fmSy7C`{l=|LXpQ{ad0YQ_$24~}?M#Jv zm%l9Pd_I8Lh-Azexi$P@g!yWG_d1;Rx#4m}I~RVOtKPO*$46GWd1w{=n+6bCeRKQo zX{TA;9tLhw|9WFH?6RaeBxkrC^-_oWC(_4J2t>)M8;!_YQGW+lE30M974eIl6*EIJ zfp>~Kai(stX>GK*vF#Y1iHf2qC)<=AMjzxS;yXZvJL&H{*q}; z`l4&I6txW7H}H=uBwgS6OD8euq@#y5iXeXNng{t+ebLNozb@%wGWk(ZyLlB5{e3v}UJDKV)7k>Y)g6 z0Y8_hH-?;%=E$UNyg8_;kH((;F`B5!^I`#EX@zx=qd04CtIOn2+SF~_fQc66E^*b9-T-khmpvpH>C=t6sj2|Acw+gOEWdMO%zrwV zt7ZNgjaUGIC!Dk@5aO3doV{4=NY7hK%IUZ{0nISiVl$%V#{>1H@d06wcCcASZOPB( zaGvzZ{cE19rRqZlJWfjHU>m!mtL7`so)^pXmr=%M!U1}s0L8sXwu=xfMqC|_^r>CM z!{$;atyjoO(NmfgC{<@^)@>7L5qSAg)6zG~j@y#R!2-I;6oq_NU3S@ivE(TDqMM;2 z4CKQ#Ag69j8P6Cg=%FP6Jtv@O@k7qM#oK>F>8hOUI`Q|WO|I=w6)n~lW0^qv4R;+i`aPZjfU4Z70fcK3U)pbg&jN$s&E zsuuRUd-M%mgRS!`umOsNmqDaTXn_Qn75FES*hUdP)%ft7lb-3{C0`17m)~V_Fzv}V zN6YPP;HaLZ8J|PNTd@U`vYXe^mr`Z-wXIytN7ZO1kzwWsQcR? z9(1_Uso4jF&DT-vXUZcz2Zk5NvCMe=y8MmQ3Itg2e44s%|6}eBt&xkUSW;@?R#h`v zLsLDvFxJH0kYgdY6v1?vX5t0$Z|+mnv7)F59+r0(-utWp?V1ghdW{eJY(wgY`orDY zOJW;MUXSX@a?YOxm=;nVwRUly0iR^t*LL3w#&)~b&~4s7qGvfyX-gl`PbfWVdqna} ztLWx&LZxqy8vpD)s@26_?D6%wz)&W}xrEf6)Hjk3vS!VR0n_{vQi^a+-v@erF1kHO z`J>a5W-vvrb_wQh1ct@*VSAN+zWHg`35Bv}$ePXac#N93+C;UNQ6}iyB6-Bkrmjwf zVRtw{IU^^DKv<-85(cb0%|(u;340~DQR41-IqnRfM(S6-rzU>8X`P*RZ?c_X%q4;? zGk0h(hBkg8U+DS4(*4f0f4h)8oM$m5c=ms)Y!c=R?U)x$U0E|x(n>=9$SuMq@92Fh z(4b^kKBb`;QXB)PVyt||K&KQGa*<<2yp!Xug<_C5()ME$sxt)op@yK+Y9n--mFht3 z2N7F(ONA=W=XnK9bLUt9C(MVqW$^{VEcy!sUBM>O~gb!3LX5+|K;n^y)z*XC(VD`Ed7m!R{>Nc+Zk< ztBXyZOxDwJeAkh7!PLo?3QVo_h9h^T{EKS1Szn!~&qYQ#7ZNJqdl2>Tc@`^bMf!Nk zjHRXXY2UMoZ)M?E99!;;OxKivz#j}vj--&lF8s$zckv&=Ihfw?CT%~FG#rextz&ZR zO>PO_khme;oDz8WYXX;7RwkGG(03LRd|9YB1|}p_Tcf1gTTSKAU%kwmaHPWyQKRyC z_0P|aj6l|g455CR2dMG0cKiAkyuUhwC}N(PrKB|ffFv$#MEl9=hM14C^k0e648p+j zf{l%ni$6Td1K~-53-xi@7Osp!U9~A-aXU2>KlBTE5S1a1M1x|7QX8h&5l?OpmSrrY zY7^AQrR#7d;Cmtn5tG1G(UP&N#EW2klLxFoaHB)OTJ#|tl-nF=q{kPljBsi4;U z$vtm3S3YE@n)=j!BB-ja#8<=96*F~f3*vKas1wx{p~Y!VguP*&xQ*|IWAba4+*xhM z7G~X?wbA!OsyQ~>g1~Y{1FPG+;j01)r0CoRjSr&O8bB&wv7!@)2dsU>oNyr@M@Abq z9GKm@46i*0=fK}Wph^-+X-ICK;%qtoBE()4Au7o|wu)Fe5^H`;n?5dkbKOp6v*-J0 z_`a#e1&C2(ruc`84&U}2%eR+xHu|yL*nkBW7l8nf0I4BF>GGt z50qBlXysz`2wV${D3~xV_ffkVZ3@RnLgvy_NWjqtyGqa-9ZtZ?F3A<^i9%KFl zHz(H^oeOi@B$HWFU?yP8%+kLVAigUpx;B-oEYvSVh=*KL&5&j5%R)t)WfirXPqjgB zG@3CHBOLng#;Q0j9BTYm2B*U;l;&{r2tAdc)^y)#VNrxKL;hl9t45h{?HivM{e3bQ zFkRY(XI($#3)EO+D)v+|teILx)dYu8(n3p<8j1nAOGou}qp)~Le!^2kg z3u#{o@O9UA=hs<4s;((u{W1bENgr+KWug+6k<6N#ld4ymAgdELgGYAho4|OP^82Jm zn%bU!g+iB9ufieySaz9sqlVDoBcAzrzP#=`5s0Qpa(RF2?@Kn3a%|VXT{c;z39CU&?$ihCY-?XoYaCEwvJD|wd^pE&P z&xml%`)^4YWy&p`=uLLW`z9r~$iU$D5ZGGnv7Xp~(Uh%Lh2y~E*c|}PS9W8Q%hw%d zcl~N^T8wq))svQNPkBYCrlmVTx;w2C(%(r17gFHsPWUlrqEn`y8za-8kQ8tl+48=zIc^$OQrE} z)Qd~39}518;6blkw7fc^Wu+GLn=mbG(z&C2#3?lKWO|``_9FLf1pA`+q#SaU)-sQd$Sg}EY|Az&{|6$ekTg@=ilF#v zCK4@f2PJEQ)&YIA!Gl{C)88oL-HIkFe(dn$H0-1q@k`_eVXvK6VGbBjf?v+Cui>K| zn_Q*phP`B^H#%Z2e5NO(#&z{uWb-E)Q|5a8`z!$y{&@Hs$7*r&MZ3b6(hPld`(}w? ze4*wqZe|B|pcG32{adWGkpZbj_w3p+>rEHpb}VDD{%(l32Y=dU#8gbjFg6I8H4^+Md~CmjBx2@hd8ivEP>TpT~%X27wDR=NAn zn~1py>Wef2h&8Z983{sn@FttGrJJMht9qH@FP{9HQLB!7by-+FQWQpK9i_FTKU(4vnMTkS)mkFU^O9*>K%CjtQr|(Tw>+9O0376*Gi?$yw+9< zn!`A`>Lq6-cA=p!aENgt2CTPD_A@v7Cnee>7v+Onn?bI_i8(nc~k?6pWMQG-QS2VZ9XFV6u6I7wO zhHqSmRB*n3qbRysP0Ydy_E`J4n#EWG4TTQ}W1sU}42~ z*M)Pi8MNS)sOjW41}%U*V-SZY?jPAW7-ap}7KkW^ho2`6NLCTKOgNcF9vMK}Ij*y- zMpmz0iA|ZGgLS**Rb$%ybVoX7f6wFY(NoG4Ld1Y2@vnrq)t#93mamv-{Z5-#>P)IC zR0Q*_*91q5!iUTATW^mMO)y`0Am}W^5pd1Bf}rfyB;drzWZ**f=NN(`$c#$kd}Cn6y39y{a_oH@Sh(XzyjqLI+raD*pRH68d!yWER}V-hW^6@QF+iAS&(zN5?;}z z1_J2bl2RL`rf#Mg1gOt}$vq`_I*n~_ozY1^VEE-``hBP6&|NaFObzf#BVcRVgI*p4 zG|XtHJ$2^;Gx5|^atN#1(}c5t^IIC3hcu66)s|!HS;w84afLYgbkdPNI(l2we$~`U z(ZLsXEqjeY=p^PyAcJsA5{!P)Tk#HmU^5Gln_N+VRjJ#MGt0e$ z$eAM)`}o2ajh*Xw@NbUWn(zwEdD`v3QbD8`8b_PfzIn-dy=xMV350P4n1DXc2s7k$ zl>3d&#_LgC-KOMRAYJK0iTf-hfI}nL!$Psk2ra>!DQwm6a2(B(Ia?rwsoAEKJ{hvU zI!GCWD&)^5J03Ys^-|WofdmowpD_c8RAgOceGsHLSbe;9CrnF2)edYrodsAt14TML zjJWdJB2YlUNaXl5CpwukaklZ?yQ69877Z(us*ES0a;$$7`43YSp;~B+T9`*Dk9%$yNw> zd;WGCd*?2QYZp;OJBIv4h^TA8@+q>TaUaSZvDpIQ5YCYIc-~9Y}`uHvi{=g}BO;4oUo1Z0Pcs z2$<&TqJ-O2tGeOLR`l__hS7>pNKj=<%Dp?DtISQevQRQbBKV__p*k|>-ZwP2?ymoy z5oOvtDgtJNA&_W`)Y`%J)(RdUEu$L(U8r=F*{t2fGk6~q_IirX{u(n`GXhZJ5y1kg zk_2hMygfVz_2blWI*=Hb0stbHH2x?WTBdYyW2YH zm|HjvmWSsy=gNz?W*nY8H?_YB`!U9En6nPx87pa1ZPn2jxmKw@b7o0A<+GzO8-R5e*^{zI*D9sFMFiH2g6WfMxYw5#rIyP~_0ZDuHoNaOiY zNhXI%IW|PRvxevFfyKzU>-&-mxzK8UNDK_|04eD=h?9)_9c zHsd#MP}fnUo*i8w6ICcG-J5-4eKEiw-(p_D1vthyI~qvu+@&z1s`FfQj%MDX9D*@m zv+=JdR>Ndmv-*R=;d9-zrJ@-Mw7lk)7o{)>qe}@iS!jqLhr;|-*&uIJ+m$*2Zx4$k zYz#?wn|bxwmf{oOx`z4lW zsj|bNprVp9%n<~kT6{-%&$jU?CW)hn)(+L?g z`Vf8A&v4PmI8n%Y5h`zIrqVk)kvh*9+qtKWs^(W6PPGJ~TDUhpZ(M!6Bs( zr)lK9a2CoFs52F^2ItTsIL&c+9IWNI(^LDPTZ+lbb-TR1!ikZZ2COBc z7)`LO#@UP6vtHe~(rKlXCtUuSsJ&|1a;Htr=$dX!u)*f`_}s8RI!6*f4Vh^rZEH?K zt@sXl2~usiZ_aE#tQTz~;e32YM4_ik1il{Ys+U;MP?45dD}?Pc$v0Dz>w$3w{WGG6 z$~3JmmGm+I*k;hA_pSq@sUAsG7J5$te}fAO6iBF7iuTEfk$fdY=CjLb=}gn)@#8)J&EPiXxtWrcGl9*bJ~Q zBUO6L<=s0~m>W^d?tfOtj3~-O8F7HVgAjT-9yE$R>+}tO*0YtMr_Y@H8BYX_Jyb~- zjn3sy=<5V3un|w40Mj0BOR$`!Vrwq^6)TUS{35lF7^=kzw7?-*Htx)^LNy{Ro4Q>9 zDs~3Ez>Y=1XbLKDXY6{QUiwArdXOEm5rjw-h z@6P4MZDkGLt5_rBetBv1j2IZl9O^vy5UK8UemQ?^45yppGuFU`p%<1Q<@(4Q>N4N) zCF=WQX3e%?NHBv^{&{$!&kbyCCEgSlP(vqTnM!!tzHfjhlloTEIx?WwUm}9PFA*gj z$G3@a1*xK%=f7a%{;`fVs; z9yXTi(@*T&8{9^U>`wvuYH~P(&(e*#-B(oQ>xI1Q z4}6_zj2$l#>L?1)-~VFz^@s^WzCsF|GEs*tGWak&vZqJ!aqHl3&=OAI>KEeVl;@k_ zQj`N}BZFHH2k*Lcv-Ej3Xl+SEa4(eVFb;8G9_qbCiFurA3MA%?*d_KGCwQt@t>7{( z)N0h|Yn5_*hd6*mRazfc{sPp|DA6t$k(bDN2L{O0V{*hj>p|ETd9cwO9wE%&Cwk5p zQ{aU5PvD6GTGnX1K^(-dpOjA;9Q`*gU$~DTyj&4Ya+oG!;!o%D2u_ZhaltdmD2x4! zw4KgX12zoTkgfs@p?Au~lYC!?jSl_XH|gV$rcr$H!c}}Acy{;X2h1vVgf*B?*9bc~ zq1g*w)WzQ;8OI1*UCexwRvo%}OOUAt`vrTd)KbMZSc#Q%rdA(cabDO3FOk!oUusk-oJb3(4O|Xx%>^T>`LJ}o-pEPAN5U^KVDk~g zMv^w^&Ko7ggbQM|2e_^TZulVuCOJxrhVckov$rG+9P#7TR<;UJ{Arwo&9#Emv!l~Y z#&{sZwJ5*dz{J(u%`T^Se>o}$<_-jd;sa~-Bt7G+(~}*=${hx)lI%{!4`xk=!QhTo z?#MI)%E9;U108a)K;R8){D?J>68W`U;QBaFW^pfig@ySqrSNyAR|?I|-k0&wGLHfP}$F|A8(eX(YYZRrj3}|N3v=6^uC>E}1;2jh-d6iK@=p>wo_>%_shEo=mquui| zC3>2DPA!>f0lhyBM1zNP!oTg%?(A3}hrvzb@TFQx%l!{S5UChP-97jw3SI?EF&Eoy+_#TF&Bz#EoWM*p{k2LHO5W9Q z=u<%vtio1JJZu>jB$-z0Il+&wAldI~ z(^ATvW>U3=KNwFuIQ6+_9igZ`@)7HFDv9lqymcK2pU6YzYVMsz8N+$4)*>a;gM$s2 zTJhrLh~NNvwG;MbJ4|Rojr+Mm*&+aN0WC~Qu2KrnGA8;GlCUfC&5AZRHqdO(Bi^f#?a+7=S)2-)2%qN%2Vl!K_I*4W4-9`6x zOA?WG#g?|Dwr*J`fCLtkCDYZ{m|&eR8TyOLL4!f7(9k1vFHFitmAB(maSYE*-vxMS zWb4s=9lFTe_^An1g)19r;WQr&Sp(Y?kMi4g{yss{6%$sYY%fM)|5P~$suJ57dmD{3 z9(e4rNx*xiNiL$^z2B)wA67K6aYf< zaXvC6%Y@p16+D-41j1fTV&(L&c|w@dx97!c=4YgB#*Eo*$ZhW3&WBJaC8FR|H*5z} zAD?UGgkQW+1jhg&syJR0N>3zW%XQlA&ql`hnIl%pe1Mz>-tJX8+tdX2UoN^6vqw2J_g@m4=T{5vi1(+=d2WN27{if|ru)4rxULamA_kPL0Mo z$t!0&mIC@y}?v;|+Vo+f1eUv%mZUB&!X;yy zp3@e>M93Hm+LBApX$+6IcPTQ~2^aSoXYIYx#ywqVRtpa*0?=OFq;d8i#SY#pB$;6STbnJ`*7sBtTC}T+MM`hYCjvo zZxg2#pz2e24t~eg(42o&7G&nTNiSP+a#$>;=rk91sHU{+R<~q4r zjOi2kPBRd8o7r!$kb7Uojr@(f<^US&#iU+W0Ya4GZ2PkCha>{V< z2exGR9sv%)Km?GFlMSO^1tW1VgqU`j#DP6s-NJLul_1%iq0l}4^v^6o?dd-7uk%Pq z>VsydQM^*;+jNB8748a7zf4Wpu-BNAQMs!THrHtbt$=mhe2?Tr#1gyP-M@EJgI^t| z3qKZj48-q%&n(Hh^ykyPOGH2f-MtecNVa_|8sSx(KE(7T;%I$b+M4;^lFov}x!fWW zpE$A5LE7g_+eIYuqryKZMnigi$ZwLShDm{7tG()Di#JC)982ObF4{JN^%`bSR3i&w z&6FiLEx5#qSHTt|2Fe7Dr24&y!<@%fMUpG>^BV={%lr6Ewc>r%^y`w7{pSo1oZ{3nR&X*0>fDX~ zD9z+K;v3|2oU7#tK=7`4P!c20!k{J1$d8GZ^g>sXFUUvyH?TI8hp3&Wr1atR9&%*; z%9D1M{eW{161^M(i+Fy6v{#piKt&(abD`Q&%K}e%XIDjhmfrdy+hlTrkzz3B0`1H_T?VVt>vL)rAypr+SQfE?g()#(7fC15Rlxr$F z#{Am`v)COFrVL%*RLQeud2|cFer>3wcNCkj_jH!a{yB>O8QKVs<@yedBPG-`^!+vW zwN9LnIP^9iT<5TC8Cs+bt!hCzY0Pw8>t5pETFh(bWef;K`95D;B@~D{MsBz6we>H? z$HIDDy{1R(pPTpwkPbqXu)V^IrKxb{H{AP~)i1p9=ss4cL@~5Fq%uEpy?pQ0INm-% z4AoLR<&685|6_rZhD|(Ic=C{#I5AswuHLc_Q#V8IDVqy}!C_sbb-SMu&W>%@jeW^R7LHZSRo`=iC_{tT*r!5GKV2L}Uq};PqKu8@vYP%f66SDNo-1 z>y%$a1b}BGBJ3-w(m3gTE3P~WDKI6m-IBzhO98`|S$)u51Au=ooWqtb4}iiaZVsYY zK9><3Ow)3pGC*)+2ULX(GzlYSF0|V!^zam+^|lE#<{T=W&rSREEq7?G5F4tjk(kl9 z?Cy$YX_+@<=s7}hE#n*$RuC9`YkJH7=$iOX?h0zF(C;4REMZO(I>qtr?@_2l2*kCE z?RK+)l310dQwu8!3mE}U+nwoP$ZD5ar{JuBWLI-*x&_)r-GDHm+aK1-Jhf3ZF>1^y zz-7iR)Zb6Nu6h(@3@YBSOaC*&cRc8HmxY_oFYu7>t=9ItmS#Bz6Qd#TXaEuS0Gf4A zsY9gRW`IBS5Z^V2O=ioMSVSAXAvqt2IeZa#)`saVqLnW1Raccw7wV}wJyu|AG5e}W zJ_^KGvDKXKa0_+H-o!HG@GqP1at>+GTRDdoJ{+DO;W?=2QgR3y_Nu1 zKM$G9v^NDEY|#?~S+d)_Un0n{o_b56)erH2DWwBQ=vt;C;$S|$h@*WqC|Q^B`@XoE zI`?}Khqh6!$WstirMCAr&o@?KOjS){BROj&S=W8lAi8)X;}QF=^J zJA$W(bof#PCXB#~>pQ+m>gU9HcSX7q;x7wJD!@98B13~uhcU@xyy=)|PU#lXzA=}# zbmMJqyx@~aP-R2&m!QMaNNP#*x7DYILUOeO+vs&s`X+(6H&XO(4o_lR?@{GYhn!pU zCIgM-33?aSuIa97-fqqog2nsIY2|S7OsrYRcQ3}uZKz&j&c;nvUKIjw`K<NpEYa5vu6AB()*ou*5Hb6io zl`1O`ogI2C5b#kg1s(Bji4_Q2?vbk~+WTA*hW==y5`mDXx*Yuk1EXAvgg`TwYpdwW zT0puIjGs3|8Nw6WggsE)UPAg_yvICtK5hsi?tscUMK{9Ez~p%RkF`)1b+3N;Me z#9`TE+(uKqI8GZ!>N`TOZ$)L^SNHx^ZqZQVpkKadTmtsW}1gc#s;(i zaC_7b-gn?OL3;5O4Bgil7EBE16w+>WsqTds>vIrmGb-m2%6K8Kwk*B52Ni7|SLX`I z`cLmN!tkqpQHogN?$J4Qd4!SJPbBCr~)ypm5Zo-VvbP)_GKn&b+2PcLjEN|KR?cTT`%O zD_E+B41snvfG+l?K!tU#`@mhREtoFNoFJvpV^v#4s}#wXmET(N*k>WDn|z51=7U326^$#&CL&x63?;0X&8m~Og48dzP=QMS&v!)d z>%fHUI`FzntoG9-3|u%RzcOGkqbVT`>!vsIYjCa=5%UGk6Y*R zifv4YbV)Utn8sWAG{&I_x}mtA)sAscn+!1!d8t$Rb$T!l{70RP@bKDh=I zNLOrab152$hoV&n7K=z&)ibweZW@}w>NBSsPC@{o4E!8G%P}b(d)%qw5cRq}0rGiY zQ18%>WgqCCXTAq-0g4XtKoT(< zw-(H&Z`LGDt~-5x+ha~aW6@uYp!<~}%-DcY=XM{r9(GuSiF8uZza#^18G7~F-%TFFuDvQ z59r}!YG;;TwMs4HajabtTMb0{A|{n{=@@CnuA?T_TlWd9iyusZa_3^l*ua+0%~2_z zw>&dpnug@F6mi_(-jlrYqxSO{nwXzX_@HySQ;~8@HHfxI#q2IJ*UJ&pEG)T%O&+1g6d273FN?4{IEx6&KwukIbL z;1+gufx@VbIp2FlRB(77DVHb&T3t{wkVi*=dO2gGPeo=kjDs|wFBn0_kVy}7lO>2Owd#|? zdYpZhS|@!pztmqx~Tpp1hj$kj}h3gjlG?CXbB3aky9`l)Of&CLJJ17hUM2dAcO z8mV|X9VpUJ&%b_DkwrY$9atn&`A7%p*%7L;O7?2h!*EVBu~%L zhv!og{j<*kNNTqQdPq{B%rpAkz(Q7Yk; zyX$yF$sR3cnU6Tv^JnEyR$uHXI<-BEtav7}mIdZ)=Pb?%vwmH(&8_pGKs?$>_UJ2| zHAyqMlCp}1@BT-^4&YWL?8SovKoBfS^7OcgHfmc5`Z}FV%Z&ck>=7_a_B_$A(kOuy z_%Q-N8T-sKu&qEJ4Ji3r4$*}xgSPT$srDQUwcVg=-L)bo<(>WUo8@wkS2{(q&XDX^ z=AY;E;RI+T-S!=(?FDd3z1~eAM4mgM=tCYrf~&;wT^IJbC5;8x{1Pr{cBXbRnJsh2 z;b3nTu!p85S^jNWq|gI?Uufet$-6(hw6Z%frnu7Qj{Ck@(D$6OVKzUdqb(vO)?C^+ z0`sT~#RYAb^7-3H79!$e00YnYS!AmYRkG=Il8f0)hrkW_GZkvBGExB?t$wEz-O_1x zggjmD|7zwmB<22&F2AH(k#P-#{f+9*C&wf`E8R~W)~+>91KkTQUg7(Oi}`xVK>4e4 ztr2JDZ~&7AR)$!Z_|~b+6x_rW%DdY;(*~|a2Vd4*=n#BO&C-~(8t}gWLqNR044O)? zg}U2@pr;7Qk`yLGmv7?1KgrD+GKH7*QD#x#2DJm7XvFBS<%@t-DjAe~$mk8P$UB#O zpAhdPBD$}aL5W{s){Yi)MDkpS4=fB=rnOG}_Db)Q;i>m!zoPK3}fT> z-!BRt4WN85hixu$LEoXg^(PrFzIl9k6cYcJudHNNS>E@JGQPzhsN>csKTcS%i;PX3 zGE!NHn2aafre0Ocg|k`o9IzGo*Rtq@k?ls%QPn$`Vv13>zaUu3#K<_P06%0>@R7Z0 zT_UEUqiTC?vpt@=ab=G z+r_y7nzThJJQ_>e1L|dOvyvC*P2Y94(tGZpRMgXH8dXHTCDqc{cIBRX9o)l~Fz|CG z2zNidG|_m3V_h9Mzhzzc;U`}-I~*~a2zh4Her&9-_7)pLFbx<{V?#*Y;OAGm)q|UO zQ>?37YFz20RsNI+_U`d|M{GVrq&l(djNMA7A$M+9P&(}7-yk*j!0R&}ar}0ms4%Wg zBR)tymzR%0zlTOfK4-q<(yO@aJ`{fN+b6TvCR|3!0{tuqvi2XD!=I{=vYCL2aSx)J z2IMp+I05s5Rp)=_v5CehWJ#tIW*5v%N2hy_;xTkm4|WP+va_>Qv9`jf4K7snlo2oV1{~qRP*wj8yflrrblFiM zeJzX9=eUjnUqCb}k7kZq>)ICZ0FlN zszc)3*0V5%HJ_;m^!UL5{Hmqfn96eT!5G!%F;mt$a~kp-Uc1U#>v;DTJN`WCYVAI0 zL9FjK;;kq|f3j1;RSf;GH>x=QtT9C9{!c7v6S?rG2--)_Z$2!|x?9tEG+zzKJPFFh zyms&7bccW?NG*zPEgQf4zc?O0&U)+w4NcEi^Mi@{AVmLx=EULZ3=S@36lVr1*PWmJ zf4d4ddB0{mFo)}8^0|>CbV4h-s)cU?9AHF(L|FAS+zow#2@YM}c2#?>wtGFy7`c8h zp_qE;HF=NlKCt!;6A%y^;sHO2i~~}z8D0K!A=0(iX=`Z6hKCKk z$K7U6IBd#lt0~;_eTr zVzSBmpa)o5jU@9-7fax}1}624s`WSV>frVmNiv60jizn@V=n?az$Oy5+UwgE&CF4J z{H)Dg#MsQKW)M){$ojClS0Td8TQuT9rls@&jSN_Afd+e^%;7ncBoP5)WbaePzjG3w zsXR5ljBBhL_m54LX$2%3rM5;+&FrLoT6VKAlNr3(4?{R}$(ekBEX2R-+}Eiet8bNK z*T7k7H*>X>xlaK?dFA5J#_FSyIDw$?TSdepwumIpD6Inb4V^UDMTJ` zNA2R+`mG?dl}ZA%wc&&qZB6TSUWz-Hbfp!?J`GN~3;DqPoq zb~51Ubb}9PR*B52S@EZj<@`#(L1L}$g~3m6BzSv`eJ1>;F|vKhTl;!Z^Q^D%5`f_$ zJYO~HiFQmLx}9kwaYqXd&cFzaf`_Ce!!1H zZqM9c>&qwdC$jTGpDA*>HBjl=VpwIre0~s3JRos;4oUaZFR9e8V&`FDX5N9jEsgg| zU`+Jelncc5bzj$~GH})ii{1r^-7cXM!(onjGHv>!x5WpQi}iyiWBRrK3Fp%x$_(RL_IT!ZH+d$Okr!jWFiFo z#noLBem8%ha9+Su7b<4=PKJO3eX+aSv+1<*K9Sy7V?Nr3eIcl5XYqRIt zSQ|QPZN5VInvy;D%`Qk>2@)UOV#ln}79sXVddfThJ#+q+Q1G?rQ<$JKAdXksDh*AA z6se<^FQN02wmER@q4GUCpS!oD22r@3(jL6+~{(^H| zNknh0s)_l%Aj=h9N$bQFJ6bVeC^M2Qr>4fxK8-Oqih=gP54a<)oE(Kwoo%L4m(!qK zT`lpA-{CzPqIVqyX;fMU)EgtJ*gF+Ft+x5&2rAbu??rXl%7;)y;Em){*I)UYQC6!m zL}$6~`Tt2<`FXTJ3Oo}T=(9Ag*ctMnya(1)BdePFSpsGeFgHsI_? zF6~dt)M&*L;vs(}+triz_)zs@DjR2!*5>KLE7A$&t{IJ>{iCON9F(CmJFWhd{HAzk$ZU)Xy*f70`6xr z^}PfY!bxAHr@di2T;8AYSL4b`*Eup4=gt_pCz zJkpO2C|PYxWV`mlR4|fbY=ea@n#tv56z^I|$;8T5bt&IR(60d1-IYKG!{y;1;?5=S zaM%TmqFXJy)i~kHANg}{;$J`n|DxINa0cv(8Fd_|P+-nQf5~=zW&?3XM4^GafU@eB z)>*gmguo9fJ+^};Ehy@mH_VW+ITV_%h{`Lj*40DOsyo0cp1~m5et6{{X z4em}#zOLB>Mt}bS)cxG)i!T|F#+M22`5t--~dLN^{yT~QEuPSiyW*W=^05&fo-h@5%P=O1&Fgp zDG*t0o2)~FE;@B?H<0IWsX|#2`@dPSC!;tP1f;sLKfRP?e^Z&Y%nm|d^Uvidux)zF zh7;k%M57u(H@H#po-G#zck|tvxo4%x4|Tol2$JZ@{qMr9JlU*($qRIMRPjGOoH0pE z=QHIl$3~PD5xkGYk&SsegUI!;FKU*t1MH=qmS_Sdhje~}sA6?*U_5`ynCo6+w)$vl z5q)C0!yvLIao+*s=S^~!xE2|X!a;R2{iN0q0au$v{eQ2-KkZF$->eTa8$Hu26Y7k& z(i_F$;z5u2XagH9GF8|qSF%fCL8(Ln4wSzdm!$!gIq|++hDwGW1>yu1lB^^8Rq`rL zd2ZwLi=~!)wxh%iycW4gZ7tUfN+ylw(2$S%gQIMB8_yFDvDL?52YTRvtH4B*&rL;b zTtmSlSpj8_GbuXxC3Heh>BdAfqRkSA-l$nbJ9_0CFXAM|o#Tq}%Tx@La}y;5W|tdb ztQq1VGq?DnFV31-TFyN!_TZplWpbr3={Yi&1+Ckgim*f^W0m*tzUH?`C69`G{b7!L z#bT^_=K7Z$P1y>_KyBJ-$f3sI=ej zKPe=obYEu_JR2r4O*b_&=hS4qXTfW#KB(GMQIGBU=|sLr_Xcs2*GwNFOKGDkdlBfj zDpmSCDvuoIWG@P+;Sp6b$<=X;-tCH?ptWrnO0Db7`YNIK?1-ZM;|ZD@efdhEtz-ue zy6BKA_6*n^LWbC;i!O4OI8922-4MJgNuf?m`~5XLWFEG!76KHS$(HtR6Vz+wRIfGA zDDikv{;wSqYxPN=xP^+cE~mCL6DFkcZ(M{Ul-xzB%~{l&d|_yVj;@XNLz(f3_t%FS zB-Xs=$Eaqu=kKq#ekvD#&PPOzL*vQYT+{wRgztwlaw$aS3r7hABKUm7y-crt2mUnT z=yNv@2L9i~?&Mpjo!spzFzUyZj5SaJe98-0QB4l=a6>M8l()0kSXeBsKC7uif z$Jhx-p-b!kvaD5wCe(ywTXIVNkoMD^+rmv8U+J@#&S*q~hWTxr?>xyjXpH6aZMa*n z^x`oI$bbjL<)6Nzu*OvDu?utElCHJyifCu6C&qpG3~qK zCR|s|G+Nf4JH-{a(REa711gy>lf-jC2L(lGa+{DImDuzJkl z!%3qef{T}XK#sd5JzFJ<@~5|2`!_dL%mt)dJ_#?4>9z3)`>LEF1y)YTZ<%Eg%0U62 zI?;k-mhXYoSyePgtdn5urGQ^V+S^YCPDuwfzHwy=_Lz+16Fc;N)9W5GMNF{})Mtrh ziAy%B&2k#HcH24ULf8J1_3AvSmmU8@hDHw!%(tQRHv(Y-8BB1fc&7Y#Zc!`#92}lv ze>Ky3@gx9(+2ai5(RRf)LZauttJgzgF#v9yfB{ZIFM8Y|a*U{5kvi=lM4sONi(K5? z6doBnRS5rUdr@h6*brGjcjq112Oe>I4QdB96;O~Y(rC1fEA%5T!CMmq zX?HU~yS-eyMHn0g1|uH93Z_{o;$I`hx%|MrMDoFC^ZkXBLF9x3`rQe-`j%p?_E@c1h{z81O$i@`{PAesuo>E{ip1B9bLQT$J8NAEu`H;bA@5~na{>b~cm&{AN>U>aW5*umu zq&&DG_6@_i68n=819#^cLo+x)ZB=hFNdvSAno*BXIlHHpn>N=*kPf3)O89W3f_etUX9@#))@AwQAdIC9LrthW|Is2zr9cP&!Y21)X!C9XW;AF$9@U%p{sqCwc)&Sj z{ht|QEr8hHNn@jGNSmX|qN73hw4BL$7j0r>cTH44T!9(N#M81JOuzK%!fcBuF6}{k zL>S!<>?z;U4f&<{qH5uTSw%Zy=m{2sT(EYKdV@;^EaMVHnq=d(L}f>WEX7?~6gKL` ze10AtBX_>32g*kjPQgKAq@H0ogjqT(zcOD}H9sv_snQtpA!SYPoUPxJT02 zd9~-#jTbd|4fNVz&G9yrT7XG+7`r+ckYsBfKnJ~+{gs=qEjq)~K1@rzdZX^5Q$$jA zLL5qO4i|dDLN&u@e;IOK#7G{~MfznjO()^P7}z&Wcv#8Tr15%Qp|>wGq5sXLfU!SE z(;+Y7QyDHS4N1}|;EIpMtxq{$)!*e-bhK9nS8<>U`QUj$K)ZO=Lnkn@gW$z=0?=;B zrDFg5$_X&W;a@gdG!2~<o$Bx%ZP+e8D;`vR~HgAPzq*=gwv3z zB^o~pB~%@vYKqgy^j9RZBA%Z~#Qu;GNkO;Z=x4D9DP@Ln06NIi%=roaP$R4%vu-4-q0G9K| zUw&yUAAlojKGpcStsF#h648q-RN7G&y?auextmQBae`?NmV5I)ly!!zzuX z{lO4j=Hl)6Z8|FE-%?%=rN_XEyB3sLGtBodBDTu7z=EmmD;pEU&p( z>I5n+g6VHZEWLmPvO7!kAJOVJMCe|i_bpZH*mLnaaYZ;`WX*Brq|lvk=`)e@V8VQQ zd?E=p9=Gk{4g5jrBSlP%{&z8~8^gJV>(-DR{vWls#v7PyO(Lq7gmY_NO;WkG5)sD% zV#1zr=Y)<6b#2*4#Y}>}&q(z2)r>Uvq&=;pytd_U-+kJhe~L|)pyDtPe$f2RbRicf zgXljpA`bQq>{#SjBQhhIyr{3HxAULJD^iU_!q#;+WC7Z7aGLZD*qd6*Arb)Lv291m zl~e5L#+nMlg(%U)KMxn_VGbWDxNrT2z3fO-Hj-W>?bxn}SzR3o%_eXsby)Lg%k-$Y z&}ut18Z$n_wdPegNNMQ7tXYpPLyv!MbVLp+IZug?FkFpgT9>AvTJi7fSYeZr=RZFJ z$%X0%l(ik84E11BOg(V^?XW6k22G)(aS6Hx8(R4Rv3zU0&ZPB`{$d_7E<q+RG zy41Q(ykjbc%+2=_OZAxY0K1Xs2M2L!6btCA9^Wv0 zg_2ueU6kQ`^RS`_)*2;8jLbA?Kstfuj!-!fX0lZLzia!;wMP4rg9L$$UV7@8<4JZD zX*)+3x2w$Ta1#gb9&FW(qTpUAuMQSgY0E_AXU9dnvq|^7q)0Q9Xkp(bLc{FxzMGW( z41d^_<;K5yX8>i1j7#^JkUa;Ecf6>tHj)PiXp+~Z@gE3?LJ7|hw~tmgK8~%)jq15w ziK9qSd$u?P`5y64tnd{Y_t>(K=i^2)Sdpp!iMU&pL z=HQ>^+N_hm86pAjopH5C)Eu{Fx}Z+T5@y=sm=^O!ETW+>PM?(xdsXhqyk0cmUR1s#_FYAhR-B z_pyC)E)U$rrIy&^J@YZ+$u6SF)-6;}mpoR`_=S=MfeJ7&B;?aXNuT()BK8aCV(<2e zDAh9UK7AGYRe)J|a9BPDv$~nY6&*_K+}`F1!-Y6W%Uq9VL6p4Vl7Njgv}!hCc8W2j z!M3`#?~Yk~uT-)4l(n~a9X7O$HYW9<9527f>T?VBKkj_fzJ81D=`Ued<%EWY8ftwC zaqN=d(H*Terx;~qCtV>vit%N>)_EfmeL@j=2c>LZ%M!5&&ZkUD)pu*xD>}m0tBDXy zb%4aP`qkIvqPp?IV;K6NhL_%^bgTWHOLfAL&RU^3B)xjgHWg3IxJXXwl5h=ME}L)s zP+y|FBa{4+qa@;$t^e$5)IvQdKBA{EhEN<@ao8p6Y# zQJYh*y$x}CcIL3m_T%6*Yi0a({?XJ0VW~ob89c*dy!MRyqt<8rcGcpjs(aKe+xw?o zV5vrbjFyi1S+z$p{m;e}RbS!ur{yd@EGH?u5sMngWo~J-Gq}DD19n>|qAKNWkVi@H z4qhJ1mzJP_9=*eIa8>y3$5H#BIH4y6K|Y}1_bL@w=vmAKnnf28O!?ST$!A~;t)Jnw zq(&1xU1yCU>ChQ^A$;KI#m zqAt&%=<#Fp#W8BS+4h_RS`e5QTWmOz1Zk9f=uh)ffH(dj{7Ex$N22LA-@4x>&-Oh5 zsxNp)gOgy?!s)#g?l_l7-Ss0%hK(0D5p^JF{5wr7s=qwQB?S>L zUYeofVI~^NhE5wHn($TD74y-|redC($VPaYNOUtst0L`MG60Bwk zq+Xfv5vqwox4FbxQX1*#R*AV6wYJkoj&P7ZJrRyrYs;o*H#HUK8mQN_Npx|psAd$L zi(iHCF50HmYH0EKaIlxZuX)0_9%aUi`CDY>&Qg1%>) zz4K;ea54(zYHbn7>@MM+a8cJ(^?v#U=@DslDh#k=U9s&}tp#zL-L`-^h(b09_mT3u)kBIhmZztKu-NP{ zDEftg7VUw#$J3-K*{3v68ytk<7mf|$Peg#ZSG}jlCct-){T6;SCN^X1Ac_96%IJ7L z4!{8{^HOlEO9}pyNH1z~2m?+edx{9B3v+!6u!&{s@7-TNeK25W3otM6ILI{vcho?$ zg#_2yI_v3*vx`kT`MIwBw4h301vc}2B?cI;!L{hk)Ydt z=D0A6;pD+xH=a-hz@zuowMQz(ZRlD_gIw?{P~RKRqe&D*taC*x;B3`x*DpZ5dp~5Z z){o8QV$?l{b1!3u!eKp`@v5gL*0>g$25R_$A;Cw=ZAUqm#V~Ck77JlTd6$^<>=tFfHlQ4{DeI(!?LbAL!8;9KCTjYv#J(>B?a_h&Zp_CXhK}n z*+#nIWFzn2t(ceuS#seN(k`!U?ddY_&b7)w*|)Hp8AH8~(OH!y63WEobD=3XyPkbsP zzyKdN9nJlO<}8?OGUWWDi0ZzvenBxRyCuytr*av~Dtf%b7CVyLfOv`X(50c-{I$$^ z_El2OuZW)!@0pXnn4EqeK$jJwu1aDD zeAX2w<@Ezv-44l>{mar0^dx9nHOrXd|C0(WN7KYZ^3M?zZt>9N1y;2`@qk?hYW~89 z?yKAv-<2p)@S3#B9~b=apq6oVJB?U=9bI@a{n6}_?16&n~F3AhL-dLf?uc>5NYQo4r0|>WWb)AFWinxITS?Z zUKh~>qQQw7xy@=qQslR=E!8b+%x<+<)fN4swp=b}V)&lBBvw7>aulD{nh}jqm#{=Q ze0;}BvZIeols!5{BBjP9y9d43<$6}}PRXXOLyfp*YKXc@brwSA`4su|q7fW53c|GF zpv`|N6%Yc6p3*#Rx*w{U(ik^K!vzZ%_@~AjTSX%_1{QSueOm(-{rRHsBl|~)S6H&K zp66vB{W07UA+!U*A*=V}G^L!1ZG6iVHTLE{IZw*^)qCfOMsmqoTHP z6mgB~!9sUVL3}ufYl5J*i^dxH=`HO@$oS#^Dwb=JkI4ld`8yRg7cBI_;SG=zkB3pZN z1T3=y7$?D(q<0}S)Lzwc4?EUiPx^5(CtF|rPg+J$Qxi10>r7Fu33d(n*_o0(QnYM#Z5yda4c>Y2&RmlJ zLP4M8b0xdZ6Hs8^|8;DPJLul%hcc-GYSGU%tU}~fiL3_7jcu#u`<>qvg=9&Kc}jQj z0(4R~uj7A^qP~5vs#K~60WYTjfP<8H&n=ab>C`zxqn8sR_Z2}B#ZHXwd+A^?#m%f_ zwS{n|io5Zh;Qly-MO1l^;7QAg3-P93uwz@>tEsC~IhJc6^|uw3#!*$QEIX>zhb8{? zc_$W&C7LVUyz2vdxZw2{Ah8r9&h`q*F+I2HWd{lpeQGDf);~<5dfN>i0XfUL6=^HM zIu7Q}QC2H*mV+++i&B;LQNZxZ{ua&mqchH+d+4Zg)4E(2I6Kz;%>w9&O|7soc7ZTN|KYL|DVZz&L$O@4s5a^Xm^OFCqeFsvzTa^e* zn=-Ng6$%;9cY4yzw0Q(Yo6OB^u3x&W30I zY9U7PgkK_iJ?W7d9!z1xN<4x0jl=G`5%u7`YKkMe=QPTS*pqu_Kz;U@(!C!KF@X+g zU?+)CA$Cs?-Tb3)d>EA1N`U&o4V`^mEf|B88=pU&108~>-Yr~%x%`%Xbejl_bDGm3D} zn9Uo6G@3gG8w&UVx)vguUGeeuZ9nrKM{_Ju=DH+_mNt1$nvky}!p1uq+RWeW+1qs* zt-Q_0a2>fLFq-uRtTwWhQ-*b5+KEey?Uuq4zu*7Sod8#Xq+4%Zm_}y$sW#a-@+r+M zok@&RF=j0UgF1B-)g-m{`+6@If%pWM(^Z`Ai$`{tNA`L>8)sA;X-d2KA)^xcLk#Mwx1=XWTREhMNr_^WM%tc32 zgw?DYrE&D6kDuS*NEIfOS!qnym9sxcc>i_FfsW*72qn3&SiFwvvS5BuOiSn#h+BM_ z(U-^P|G=1NJS%0`Dy_-LmJH~v%F2UOy(TTlJ}%@77S>}KEAI@nl=TBcv0T4xbK^ZB z^3zkg-1okiN=<-+uREhsYvk9k(rZToGWjln&`O(p*@g)@+U#wE$y%))AsY>& zfe%?mv!+~^mM3VR<5|6s(*(w26imq;i%8U5fk*e8_lllG1S;S02L9??>-oa-}1Y(Y`=xv9g^O{r^{zF-lE_ z_H-qsC^kp`x%542uYHn0N43{O1|^%GATdVM`-bx?^s_G%u~tmX)xO-Nv!?dY9c+CS zKQ;f@j*cJtk7&0fQzR_wZpUJLiWK{R=3rC$ji_r+)Hp*0NYZIi#8wg z*(Dg-hd#0M_m`Wnl+o;~UGUpRE5JVi-fUrR;#x^IbAy9aSkgnV^`=G?nNw^_#82xf z8Ph?CT?k^YQXvqlDxx=c1i*&~DYzlHwRJZe;h#O9pSs2~uh>A^N}|wLY~03A{ltu| z{*0r3_sd%0ky+%;^`U=|=xMi~cggE&QTzTMA;>%%U6XGiS>Di3-=xoz!L>`Rj9*n;0qZX z>yY{WUvQF3&`Fm5%w?!mUo9Au<(IoVR$b+o&w-NC)XNV_N22}5jGVmlw%99e9e=L1=kutRhUv40;dvD#2ZUa#pwx=4fk z8hsLUSeSl1>3x)@0Zn9IM(P%Wsl2ET$nt*85uI<3+~RP|7P!9SPI)JS7l&;ubP{)_ z3dzHSnud9lEy+iac(l>)UwKTH27eZD2f9ngeUGw&x2IDA&FMJzNmlk%c`@MY1F1B7 zGTBiJTCgxDJor8^ZqKTN@H<9GR1mV3N_xOd>5ZYf!1#!YYo<6lwBj#7alw>;w~^he zDk}Z-#{3XLiM8rT23{FhWL;)JISjjY(Q!JqZeQA&zs>LXG*r1{q?6>JS@6>x?Toja zS)VmZeVv1T_##sw$NMCi*kFlF_V)A@-q$t`m>~q=U7;*QmpXKp^STOOZBQ01ZcrMW9W4Fp=DNN#WZnuqLFvQ^Qm{jmSBPuQ!p1@Sc4Whs+ z*3p|oA*>x&Hx@?@$)iF@p~1*hwuWJ!QjSwl26GY-@-k>)ni8OwL&dCEvS%#%YuVC8fH1#1iFl4SLLqn?;h z*fi_hJisaL;r-a#L1e(Ci9?n=sdQ#lRPm6QUFG)>k(*-v0j(l=PS?gm3uu$BdQhcj z_$qj}BiN(TaH&K=GKEGd(i0VlQtri{23c~&<)5WsAIJC@yrq%KkLAvq1E=fTW?7Jr zF6I$b^-XrMZTTDD+l@Q>7vE8Et*wc*R<{RCk~_(Ir$L)Dyd7TTwIy#blzVh=5YBsr zu5V#NPjN3PTU^=i5Zqzo(Oa*784USsl)CNqI0BL4p{uC`yI<3X$WYaD{Xmm<8(vtC0zB-MyE3)ZKez-V?n> zpJS?{U*hmdi!@22R93gRv(PHsI;dK+U!Ce?vZ{*yb>2Tax{>O(&1M{j6drT+>RQsd z+rf6hV&J{I893JMi7osG>TEIc-iYbO(~~>mGabaE z&eK`=RtYYXvQ)c=t%wfpFYQay_Usih@4_-m_S@eS--YD9~JHyl{} zK60bRg~Un3neQg=3p#A4#K%>!=IwKu?Ft^-qUi|7WJs$au2cDc=H%ey36H|TQDiQv zm&d-hwyEg}IjyOZ8%H*~kZ>hqR}_MWHwkKvH)PhF)94@qM%=yxEChmuHCDb>9kK)R z1QhSfQ=aZ!s>OVKNU1%_6s-^mRXQm|Lf<6%NTcTkqm~^RefiGok22A9JY)RFnOLKQ zy$1s+HqL0uQ%;Cg3UjZ1!})=gpV}FYHjx%$uj6H}lfh@CB-s;0>X}1ly(b|-I_?$g z5m|F%#kv;7EVnucL}Ouq%Tk(r)Y9mF+Q|=KCV*f)J`lY3R-icwPnG;G&~w=h+_$R< zmOQktqv><5Y?>U0U%o+$JK!=ocI3+JdTNC9Vkd!F{o}Q8$BuW~T19bhs@oavVxlkj z-?kd)CoPHLi)9Hf?pHo;!=77PcWo*)6TxRU8Mjuznhw<7d>%_g+ar}f*tV=`uLu!`X9EOGxMKFe z)^S)!DKO=0)n(K=@J7`K;zGV8hd-4;Oj0YU%Oz2;&DY@J#zA^F>~6^J6x#G#chh{* zQ_H5i0h~E&LN&PHHf;8u7Kh7M0cVzOHG7;L9gb2z)8hKE@^hx=i$GE4AVgT!{P}?k z)`sdF$~{MwtO635la(dx>=cm%fQj@BkjIMhW;nfQXc|0|P3h6A)Uj71ignB;s2A9R zwKDt}>Rq$!*mj*9vP;l}T*48mHOnl(fE9uBFPuVA63c*XKGBCjONz~>cYPu6`S4^9r181ig)_Jo54%^F2yXte!+B zuSgGeCRaJf*Fe00lu85;^`A+Nwb3-}hK-5QX=hs-8Z0k|j=?-`O++G&<$?otA0l6z z6nS^s!k1H~kyYph19c$^8(r8*WgocezxJ%&1$(Ip_p9reMqsBNk#9>=)?ISc1Q{`5 zY#o&|zBftCLmz$3*wZyfvTCeGC|73QIWiFA3`RH{-^S1hP(@Q64OzYLh1m-=s5k^m zM%t!{8U_vG^X_ET1D&<#Am~Dp|Nf-V+~Qh09|!^m7*-RTB=EhX+(TtRT8w(be>FCx z8{g(sgRFF!+go`d$j@em>Y8TDU5Ul~fOD%kI6`+WB(Oe%(P-K13A6c7=16xPVYjt_>G(Ss4V`N?XLiZkT) zCuoqSY%M5IMoYTzyG#usaD^F-e5fXXm}`i)-4SdgBw!|gs|GmmAudJD*Jf}GzP7%; zLOKX_9c-oq8-Gqh?`H!cgjftk348XIU*KTR(3B0%tAHkHVxD$=V{y~|P@xRL^aiFU z%1?%tue|Q;qerJe-3kGQ&Ey+{6>sxZJQ9q54A-Z}HQuBpH4J7b-*l_Ap5kRJ8_Axs zd>{wjtky-ronXP)rP%Iyn@{xPPF&%s=uO0$)%U1d&c=ZiZ8^ps^T$LwC{ASp#0cuh z9fkJzT27^Ww_UftM{OpXUJ7oRUkENVPy3?4%z{Pmov#T*8a#o*7jf3>>POos-*>xp zybrrwCzjgsCo>vIp)Tq*&=-a~6f5;gk%xp@tJ1$Iqcbop?g5k9UgM1Xy+kLn1U1q_ z@SwJh*h2Du?4=?Wh`7buJ||)dGV-i`{9m@>KD)PTKDQ>kr59Mn>S$Sopq>_66$FT-ORIZlr)4)WU- zLM7Da3)mQlm1QMneEG%zP!PJZBl)r_l9z0x$v@HVGHAVJph_ANnSH?FYCt$(#Mr7TQ3o8+M}wm+H@XG zsC9I@`}r!^X&?aaN1bC^?$I56Z(xhsyu`jQi77@?G~ z`8*BHU0M+rTlp`%Z0U1OG)NOD+}bN(nnM9_x+T>GAE)1oX5uS6MPQ6TGRihj0u@XC zri2 z^Z8N%Y-~@rKKXoXvIl=?%(U=lt*7Vp z(x5sVf=%#5Le2nC4eRGqmorp|qGEmTJhIcuj;#}?J2Y+ArLFb14_7vdh+84LW}h); z$J!N}y#A&rSA@npI*SlUms`ZQsIjaI2{c;9m1yBi^Os7Kv+qZb931ICClz>S+z3RK zNk&o8T(G`4dD0YIs5vsnXAKFuhj&)!Ea1EED5+Hm%?M$!g%S2b_K=l;s@OofCXre$ z<8cn{(58>dK3?gAOG^QvXM%O!xP+FN5r4Fu+<$)1k$km(8CY*G#xv`wx)}59cqT1= z)V|ZsioeNxyjm}Kwke#Mw*kar7Jo0~wFzOMhfM03*_A2Ppq2Nb|#n4k2U;R3nET?WQY2z^^e)ROH)mRVt%z@l}Q)ReumWiAR#3sbj zpkvNZ$4*&uT)owsRN@i%@91)@&_CFXI#Vf;eANMPkZI+&q?n5&7Ur)10H#sE=tCH1 za{w&m^H%to)}RM3k=3OHX@muU+sc$^`SG*EkVs3w6W+n*AglC1`nq;?*RFF1C7`|7 zz*%2D53FLD-*_3iK7lzgueACnk~ocS?$M%?>HB$zm!Q)ZedOY5)kt=FAWUvBuzEj& z6_$*l%|)#wyO7ElYSNXE>Y3xj-kgvJx%G1Q0v1gN~K4)DO#-ewG0HR%xmi8 zTB3aL`HD@%$nU2Y)?;c1w$Y{h7qw9&+_6mmvrn~*k`cP}mt}~&yn?+7?aYXbZV(w& zmQq0>P_}z(&!PyOb0-5U{HZa#!c9#}H7$RS>A!o@QQ0Tj4p?4W+1?F_YFK(F9r*#u z^be-KsOX-pT50~Y6lLjm&&;L3mNO2YzXmj@!<wxKa~*izwx;fs#C8 z=naqm{#&Bh01);R8$}I!jvYqC*jrRJs?jEKc4|QFW?}~Ns;c<2lW5Ccih0gY2%o9+ zP`($|b<;=qyh^Ur99Ni}I$;iwEP89OfH#0Hjv;s58=aR6Z?;Zekezx}RRQJJy;vWE zRDcuq!ckOIt3ZgTCl{8&$HHIeQ!4k#cDo4i{GFL3blkkX=R>f?8?+_T`)lc{!!dyZ=5Q7*YB z=`{sR_3u`dejxE^Efg0ri&6Hc4bjsV!20-rIRix?yZ|jSEy1rh$G4WvdQmB`l-Ivf z0^Oa^JRjZV7ho0+sh`?(#%`3CpMwtFk)r*@3Y^n1KAFUTA>6xzRglwwnBR5kN{Sn4 z>tlA*3ol|7gR4w()Md5+)(;pY@K+TPl|v8&ZGUtpxRh1Z*{d43jNWY7~GytaA3_Uj~w zcsIbxB7UW#jynMkld!49$93y39oQxkTaF zsBF9}fN2>_7T%$;#_8T&T3qOt)D&Y(NifS2CV!?1;2BQ79tnHSsSio=39wy;Q#Y|k>SW6hCu_Du-SrniI`k}N#9lGC683`L3JmW|y zhf(oCJ@_ETgG%C7Ij6Pte_C)6msQneJ5@tySwA&N%J_;Lbw?FLc+v-1VkzW;HPe8B z64~t^cKF)~E2o*>eK$!8NdDT|w8F8$uxym*T-+1LX4yNTWQPPSZlTh|j2;f~iBGN( zQHi~DYWDy$KmZiJ=m5MEu@_|6e&Y!$J4$=L293w7+dt~={h7FtNPOshraEPOfqA(# zuUr(vxUeC-7Amu#bg()AJ3z$0q49d1Q+Q`NHrGQZx0kNhgt6UR!^O;{Bu#!03oPSavmYlaausbuMy7zD>?_vK?y%KA|HbKm?zER9MRDK)_* z3}w0B2b0;Hjo86J!dk(5$?lBQaLwmaXqs}+qmw44A&uE3;g&O2gP(D+89MmFY6+!1 znB(EOEkR{D9*%mqIkuVRB%$h{WA%s>aNJ?gNiyF)Y9KTG%Fnr(@wt5N?5s8%JRN*r z&4Y~P5}3*6F%~HdfsDV7rE+5pnf@H+2X|}q2d1xR0HrRy&m5@bdXuy#RvgdhKONUK z&10U-bkd#@=yxL^_PuPg8b0xC9Z*mO-rO`+y&p(ml=T5SrE zZU;Ht6Ep8%J>m!H-eh9qg`hxUZ2OJ&rBUH7RLewE*S?Gum_TFKLOmBEC5n&HxyLv1 z+s*ECa6xS!$lTOVINF{Hr^PW7+zH^84g6)RwVg57IuqPsxHluBNsV?RjXk?(g z!6vW-irY}Wl@nT3C6SW=<<+<6823Y33rItOB6g@?+Lo`dav)MJ@AP@xHyfcp@o}#S zIH{)_cFi_QHj;G>CVJc%_d)}**ctjTp4M9XWz@>qCS64w1S`wCRjdfQXgM31FNFl* z=d?lROQl#fukJP)6FEz$ow0?#*?D*r;%q6d)$@R;YTvZ0!)39L-p=_V@crTeos{xE zIMWwNvnpKY1${*mL0MX9!eviwjH|%cFBmP>e`qE;wN6k*#$DVKR`$<=7zQT|g6d`t zm}w~cUrSjQGCgs|;s^LjyluE=(p(}W+}*TsEAVrK6&NSOuRI2d+l#NpDMdz^Y{w;3 ze#l>$io(T{KmJHuD;~GSt?nxz)o2zO;7MlwGOAHjPz*gG1RhkU7Kc332th<_4T5YA zhJ;fKqT^(L)8B(qR!TM$QP;M;2S&(`cq{F+a=%p*^}alHbwZ$hLo(+7bqe>`^#G`z z+ucS;>e%^4g{cNcy$SL^{a?%;iU(;1``zP1)LWe%@*FsxYijT<<;S&!W}VKq_l1qf zHmIjUY8lopzqA?c^v*DAA2<^a=p4;^35wlhK~lue<#XI9cV1&Epb9sbBvD`!$sW6f z2>j5-ai}EKPn?Mb0W|<@?{Rz(31Q$}sD35SThYGYHqq@6ZXZclliM7iW-wzqx*&LepFd<=DPM`d(0{}{U!348h4BsJi+MHQ) zd@-lOo&bZIbGlP*l9rhAWU!1#d}Ye#wwC5s;+E@6w!5kmz#yJ4A@?`fCZ}%k5x|CK)0BJoj z9tX$wi>tkm*5S<3LQr*c^~{M`hm?w>FWP-xw@raj>YGj;kZ$e8x*ZRY`{kIAFHN z;bYF~S7MWy95BlX4Kd+Ye~8wG^NXdNdHLbW_W3bqyTntPt24Y186s6h! zj})lin4|le#U!L0NZP1MM5Soa@VFT61RnOxHVu_FOp(Z;l#Fu8@b=k~bN22Q)NO~@ zlkBYu50w}slpdGOFb76<5OEfZXQZ2Ct7S?C9FZAf}w}1vtiV(-2s<7ydT9 zN`A~%AaBT5;O9cyp9C6vlRwQL)9=Y+zW#TzExf96#SKvq=;Y22EqSjpm)K_YZOUMS zC=a%^FZg?93f|X4*we<4jf=DtV|pS%aaVGv&~tJ>;~z_SN(rxXdFg)TefQFifP<@A zcLaMLdZqY6Q*!1^NjPWgl$4nu&69ZM2@X&l^opYwUmex*hXZ3ocdo>%hB?l@M_yrB zQ)8>xh4RDEoIkmmfO$EdLqNQ1+saH zmXCM;Hr<5wjyx?Ktcu=MUcD>uOykNe+%6pKSZ|%>wecS}g#$K^l8ZaB8`LT=+O7L}hzYVaJ!o>H%5~@rfw}O-IUeSvC8OIgp4Z=x* z?%9beP32>w31F~hqR)npqj#=-Vf%af1_DLbb^Bd)A=wbzC7pnp+Amriyi<(77&2J_ zF^zLSaG^8Qs^df&|T4yGaz4#@T=3TCyk?<=5TZxGFelf#<$hcrG>R^v* zEEwUu<3}l{lquWI$lFx#w?WaT+Mxc^F2De^Dj@}~?S}rnKS8mI$=@QL!98MaHn>ww zny8})_A`c7NzS=qTUvx2bpOG1P2;|}o%~69348waShxd$A!3j{l|zFouZo}7weayl z7U9G#3R(~dKwKvCP99uA%5MpeRb9GM+Z#DpI$GdpB1n5vfuocipynV+fvRvo0Ndgm z=E)n%(K{8l@SsRD^x4tfg^CqX!pPH~s;{4eJ6v?b8~_p59t3Ums0(i)`omCX4FIF( zEPCoqgK4~zO~!jvUD|!n>(30EhHY~xKkO%|brT*fL6j;A75?oH$uq~HlFb70;Mtq) zcrS>Y3Bp!FNy+VkE#oCRYdx@;j^14>F;77aqKkaqA?0!@kqk8LAAAAqL>~YQKwJdhC`-g)1-UH^$o}9np+79;-wSlKb;%E zx4&r^&q3qepHF(KW)QDxB%?<&bk$7w9e-(OI@hqz565ahA`O zijYY&{V*Z9i+*X1J~GW?h-Zb5fmnpFkj)Y?7^t=HBQZcTMWhYb88h04H5elSkiED~ z_+_0(luL4dM?K6;?JPnkXOVo(rB}lNi4Gx*rLjs8>c|TotiR6bM^?Z2T%K0!uno@4 z2Ve=WCiTCmmnwwnkHx!zJH(bRFKApzee14Z7z-C|Uu#gJ7lKOJRF{_VM7rsYce5>4 zZh1RWniUIulc>1bXa6jPYV-t(1lym;f5)I*lKe6snnaW)b+^$G>M8J;@|Zc(JKZ(! z#+jDjqY91TTb1t}&y{hvF)lP5seR4T9r0Fz9SZER)ibo0ycfk5`$!S2v-cj|Yb{2g zCbV20Z5LL>#D;M7lwN%bGbxvTggbLX27e+vMCbnriM{*cK$8)-kh%+Jn& zn+2*AvI0)1#{dgu9tg1^LG&e@xAb&75ZiO|i($B=3vB_W)&w;*r&>|G(bg)4>MUI3 z0cgVoj05j3;oWu<xsShU8@D;iT^U)~-;1df6s32St`pxvf-6F&^Ll?}Zn}g&; ztAo7#dB52k03vx!Q8oLxvU>kww%dw<`XO12}hM4CjRpgE{~zt^zEu|(t!gG zweLue3Nr5EC(=4z5Ok0rCew-MO8>Fkk>~jgju=+8eEPfV`{fP*;n9Qzb&WR**Gt&0 z_+xjQX0mvPW8y8C>_>JbgAD8u;KZympflls^RI!*y9c1+XBJA8xunXm^Ukg-6vcaT zUGw*U`Y}sfUW(x4qZ89# z;%9CtjHAMsGlbWa9OeZi&Z*hmG9Y{~IB%21AE#Of;=A*s(Q;4svEm@C-1L!Ad3Z*A zP6bIg?BG&Hg;L(+V{H9>REUtPEz^GZP4`*GS|G{~uM~{Jp%vf3^5I!(EWq>OsCpe} zT8=97+S~W&;S_93*!51aO(R#i1%IY7UDwgVbkfa&tN?X<>gc*otvjv6QVYBK{E%>^ zb+hd|Bax!_aV+tVLLjq$0`SwhYm-~8?Ag1F@w9O=!6*j=atBjV%R=w0OTgN?4D2({ zM97;K+fqJHtr@@5b-Uu(!>kzxdbUZ9-+Pq~#i#0o5sfKmg5n%1`kV(VjW`Ljv0K(| zb7+ilBvTP}-Q3M!kZXWOh+wv}=cj1hrZ=glMYp_gM;>J#|E;n7?O5{xi@nROk)Hp<*-2d;@186n8x0Q+S{?=Z~k z;b`>932r|t%-wp!#lhY}8mrhwSqKQ+lD?6r{lRL7&615)X2*tWWF3;Tee^xOf3QH` zdIaz&?k+n(^bTflB1DBia&%f)3|32SmS*5Ps&t#;LF2;e?MuY`#K> znr-uXr5%TA#A`nJB^jmkjckvbrl)I;OMsbpiT3f3Wto7LlD2mBV_W=7NJpxwXb=?l zAj9athANl@VdperY)gWjbdHKLzFLWQ;Q5&z6jl(HVBv> z(kM?U@UA6dI7X0>Uq1*kiQ$7=D(SwE_$5t2f$2%~rSpr61F9;WAWoa%_E zJUrdXFlBCYnIqTQddNf-iGpRe;rsk-ON@w$&}2?xprdULa$ze|?)Tpg!%VSKhko#(ET)Y(q39@&E2Ab65t_U} zvKT9`eF;x@E76?oP|@c2vNPd!Z1M-R`*8rW5Uaj zgLZ;90z&*9;L>^|=T!}eA<4-geG#c9T&MZOdiZwO$X7_saUrb)@m~hD5#$K(3vRv* zVQTgzR&Ph(@139ONLJJU;WJA5xkZ9KM~2Gt&yPa_CDGgzmBhmG4Pm`eIJM)BDu=F_ zH70+_-D&lqk|c}0!26EfQ09V3%-z5h^Ytnke&QT$;y;I5O6+0j|1_{XRft;9R!cd> zcR)K+R>K1$Gj*3J+u$wt#~z5-G7LvCpa?}y;5JkJwh2iQVAKUEND9 z2e}+b&W|qP<%69I8phKcbrHX~F&v<9xl z$CN%yh(BAx><6MQ1D8(C**OX_6Y(1()_1aQSF})<9wX$Q?)mU(0}f1*b{r zAdW|ns;Cs~}9zj4tMQq>b6DT&z;Kt`D|xuw4-k+pFW3m4MQ%Nh1Llv{3EolrnNK z0;9OjkDy~n03ivYYFdd(bor6o{_ZgY?U&>#ZkEn#Eg(j`rjc<6g<;v10roeLOlkRA z!e1)EfG)ZiT-e6d6i!mUomgBXX2B5X1LrJRgd)d1Z#-FADnu{00l3Z4GBHN`?2{`* zR|l$e7!~03s)&Ps9A`II?AwB$nxJFbUOk#?1c>1rV^6`?AX`>6xJV5Z79+zb1qeyH zL2%y>h{&Z;$jwIbcq+~(njlSeJq2qTQ0Z*tb_gwX08TQ@i-*wi#3w zsAzjfr=QDgL~^%Wl}P7^>(lv|-Va$Rw1A)|h&6!U9vp$m#Rfb5Y=y;Aq%6Iy2d zmHa&bj(z|c!_s**z??jp`+7RkQMP)iH+HGQ*|4+$2sT!h%>Ns1vgk9406cBci`<;- zn`!y}D?5q^IY#E?Dw`gC!HE6QT#+go1NcJzRo#n2@<<8h-jBxVN6imbVvN)n3WMI~ z|Be`PLWK!%o#UikYQfOuPzC`szw(J5C;Bn)NJNo7@x*-#W$x3@#L4T{$6N&YMP0n; zAr*)9qI>|ahPcr{eQ%u=U z$~pwzWuWbl@f{pXU!L}SZ#I&YQX3h@^=Uo*%DbFR^OlosouGOgwi0%+jK zz7A@>08NQtIAG*Le+&A5#x0Oc7&||gF@y3@IDOIIb(2uxp|){jJ@(YT#v+(2s0)gS zvb=qclO>!>uO5F)Mz3Ltes<2#mti9kIA`k$`&bOb*VrI@f+{$b-9tTO6{seUraA_; zT#5}?8gT%N`&XkAe*d%pNTT?M=BirLB{)Ad^gHQx5Rh`&ne&Opp9q-IXpuHw0m5YH zasI`YB%PhJAgX@s#QNcnt&4wi4917B*F>K^kcYzU!en({@ z*vHt-Jvv4JpmTB^7w&?tI!S^~OFxSr(v_y5;i>V7SDFJ9!kXl2y*{fumATYP4x_f( zia{Hd^M1EDmHidL_7C^Y)2w#cg?%LHll3L2>K)wxi8x*C5_s4wRY*N5SVY>Q__b&n zPxhD>VbmRVAh6%6b6=mgQ zEyDFfpphn%5z>opP%4GkC7#vimq$oi*e|Lc(L2(z3A*%xu{#YUTjBl)DY`xN$y0Fe z-)sk_UmdK7(}I%<%`MmpTPO&I-v!?F;N;`3smAV;fqM`MqKnDoQE^4U4hh`+>>ubO zaaqx#DD?QaQsrP-KhL?Ruza|=mUo@NpZgR5O5wDx7&ecpq7=!nGwA}62jlDH6k%nc zY%~>vxXtY`uj@cxUC48g=e_Zbz$X8&aYX(D=^RD4iCX&12>u!U%R9ZaBfr69ars?OhJot(tEZ};NumIzkj z^zy?(ZQJu2>sijxFZ27G_E#hP5Tvov0`ovBtH)aGzznon?P1wu#yiCXtu{M5WHU_I zs}hObVf!z1`|T@9_SW`P4eCQuS~T-F;9qAlg=<5+ZIftki2JPi=SPo4uNhezTrWXa(2&{|UnR^YRL>SN>TYb*3Th?uRN85o3R6^B54IXIltVU~fnuYqC&Hhz1mdGZ?at9UQVA>MQbZ;c!$)qfMnpSnHWHX>YMcyQhgpeaFLn zVEMo*!PSz0mpK#>O5;4JQkY-Xsqj^xztZ>1Xq)YS0kWNlx8_sHw{Dg!dd1~+VljcW z6|J||f|zB>rA`e&{k8iIDEMuh2>Q&RVq&N0Z;1_{RoFTBhI4T_M-*tr5H##Z(gV&} zr};_abz#5CJD}nRdg7}_9xumKr$V-+;_aCDxAEK`6znLbhVQ!-*kB%SxcR$$G{90$ zKTOP*LiH1vSn9&nW~#kW;`ZaQ*}TL^lBhZ@lb-`50$4`CulIM3BT_(6r7><4U>#iT{~(rOgFKLZS=wC}Un+mIfOYVT`u zydoF>PkFFQ*u{Hd?mYllkKx)~ZEzcA8N?@jkE9THz8>e_EI(yTgS!!OZgoS-Q?|Tp zWOv2#Li$EWo2{9XamTJ4WLNoVdD+i1r{QQIsK@YkqrL`1cP6I);jhNqa^Te1q?Du< zDOok**k;Pm6IUGl5g-7GwyyHx$F@=5`PdZY46%f&q5sSE(5NnpViZbG8;*%bkO|?C zqdnW+FIcu*%2>(@)OgMc^9#n%OSj-LRxZ$Pa~GiUTZMY~W%2DXsgR7IZ!xeu_^&3@g2s~qIDO3h+noPup zr6eRvO+%v1%9ByE2l87 zsdqEoJf)e=#b?9?lua$TDcpHNJJFDW&9DlMPYUG<42%UqgH){k?DS;drGR6=8Z$LH z`DpJdfu0xsafz?8te4_|J|cj$NIcZ&OHUz1pQ5zb8ArGl{B|3&DAtCg*4z*<^T{j- zgPw1p7iE(Rj}iDt+aSIG9qnG&`kJLwq&6sF!{D19^J;|PJxgy9eWnQFmnQu<*ZyM9 zXM_n_@ur}9kT68_bq{hZeVGyH{L#5Eqp6G~Ta)YnE$5<6N6Q_7)i0WcFOr&B{Y!{v zb$$xk5h#Mhze3FfYq($uKQ<2)qY1$SPmk?|={i<@2gYeVtxQsU)Zk0~*$&LS>lFyk zNfT-Fo6y)T6I}nruZA|9%673Suzz!`;9_p%52(Wb4H3w(%;$xB_6p5D zS-0-Za}h8J25mLrmRXMq$9_S&IkV#ajY9jj8$3Xw_iO7F?=H#@h;ZO+S!8v{nw(c( zw913Gfk{a1m^)vM0X95hYcLn@l3@7I`|&!Q3AJ{g-QE7VX0Z~&u!HG2H^LLpq>Ct$g+gOww+6&ZVggZ@BaQC62&CP zift-tC>yi9a|yx@4p=d&H3q5lS$1e!P`Lyi4Ufg0Ej$zAW8D1pEv{05!LF7nFkTmF> zg+}@FV7Sv{Z$k}WSPj9*XI`)g(egA6U4BhHGUlut$rGKHPw*{at1FpKIJI_lu+d;9 z;L#6$PqGhB2-}buT)t)~)TY3VJFl`l|6Khm_bK#@Z~5d!u#4WODd;AdbKBpyi9_-d zd1$p*e+H&E$!upW4bKC+*^F;Huj<$508U4u>o{hAfwC1dxNmK6cb~}7>Jd?qr*6i! zK)JAF3I*a=^9s;=hC^|2ER5Uu2*!bYKPjG@M@UrKDs|iEYS#j}*Gab|{pk%KpGePz zw55p@+?j_3q)^_-UqwJvsuse?@rDQq;3L~*X%JTJbo~**{d&OJ%AxG{XEt$naD>^5 zcYJhs&cLXv;bhwgR(mQZ-NuFN=GSZ`K= zhI*!=C?dOH4BM+}f~dC?NmATA#TnKAm3j8xH5(v054X}jqRYg#WBOP=-)wfua^Zad zCn>heG(HV+iFYo0{Yo$WF8i$MlGs1ufajX{#_<$yjo$B@v&cM8KyqN6SH=PWH&d`4 zAMFmUsBLdkNq7>sJuMzj5o=&%PLlW)5qtU8Foq?E=u2M5CZ&&}K84cd*i?j_ zcp??u4KbatQ%Q7gx)9eRf!)5_d^~ndRvv60lxlYNiwF+F@34Uc?5-j^-{uIb7YCxk zTiyPB+LJc|3yFpbQi4A(j7BN=q{O-8^uF&}F-%Vg@K^*>VN8BT-aH&Ot^p>!8TaIi z3pGx}BCuN+fqiFK8X;C&c!U@0Vb7|s*Ly%RP^8dppTBi-+B=cUR+cC&c-p*tb^^65 zJ#ko}>DQG$w;rzR{V9M!Sa>lpke?*l1<5%0_^_3@845~i=WX8sYik5eAHst5QEcyM z2b9HfGQFKznIG8Ff^k{IA*x{0Y_jVg2PdNm^rQS=B(2kXOVNC=@Sj-fx4(0g^Knk7p}o$QQ~wr^@K_Q=w|gT-<5jQkT){r;fY(keDJ!k-sdw|io>tB=KHdc|l;xc&#O z*2m`))hA5vH_Zb2YVd!_bM-%aTbJw(<>-{d-7`rFt~*EJUu-5dsb^1IKEdnc(dF?j zN-mCzEXu|1WV49Vvgx3_Ag>H-gJL_k&7^c#7X-@bm9GKmUxxp=M`CFk1s~lSBr>|P zy`o!XvFqZ5+KmddsEg4c_vMf#)|eCOUI%cylBOlKHPtH20~Z(9Ud!0@|9cp>2>xLy zTfD0z@`lyK$5crljq`Kg=%h;x0@5Wah=v$qqD9>r)jV!uvZ~~%F;OjSDd%BVm+-vD zwdQg76ln@+;^JgTs-0`LMY|KZo8$mHJsr=VMOO0URx%U;~DsUJtDh8^`IKdN||YVR-jTl0Yf4EgrLxfm5?z zSscg3K+eU%cxu)JooDlDQ-T;gudsjCn7UJFBhn6XM;lk#8!cW(D3!|jghM76;?ABs*HFg?a|Heqp7Y>sR6Yqu)=42DYV7@4q6cjfMO~ET>6;CSws?U+yL3J_Tz{V^X?y z`QlOTsV@MAfHFOCp_ziA%gq!kwbgu?oR8E-$QbE$XKgw2F8H7Oe-+K*^yWx!2w09d zPD{#sDqvzvP?17i&sw1|JP#&gfqZ3f2In)BV<`L?qPBQ(38=TmqkfqJz`l2WL1dBLC6El_zJ66iDpC<+?qU5?6!~u~hX_{N?en*KN5maA zp?tFXxevaP1ix&j&OtP(p zZ;B{8x|XLVgiL_WbtNpc*Q3Gt5S(|*IENX81iCwdBf`Sz zUaHE3j6vV1wz2X?KGibq1mIBM!>%ef#5R+hPNfi-L>t&SqRg3DegCW_d1F>4$Lz;! zvWV!lYT0pG4uhI05#L`4C|&MiEdjQwv(Zbi3c`XvhsRnvN=3B=cv|E7B9rmjDzWu& zK&g=Zh-S?Kl(DXYLEvJzaTPZhnwx?AvH!=EyJm3u#s<{5!87qzJoY@> z1!642(V!=eBk;%B)^7=!^jL|B++l#R9|da3N3rEkri|F6xfd7Jkg%F!NJ}E~f2HwG zt25PVtbfSL|L~k933m*=L1hcl5815s*3ZVB*rcZpY}ttTkqe#9G@u}9TW!`-)C#FS z=`8y$j{WoRYl?Ck-180yT6@df@wv-fxSLfUo0;8Iu6B4u7&#wx6`sXKn&vqS%H6yB zUQj0UUGp_})1!w)L}u+X%FC>7Vlvjr$_m|wz=OyOIQj9@=t~`*i|Rm5>L~)6SK8&j zCQ(qwuYFE*20D*J*`FFw^h1 zTYmGR8*nC&0c3x7IcOsETGC!IXOjH%$PYA$LWQ;xNHq~A@)&v&PL-@t_Wi#RpRp3l z`5fm8uq&Rl&c+-kPuRPzNye1B?>r6q<+jGCQW_y{prT2ePRc5+D*k|*&(nGG)_Rx^ zyIE{&4VbV<~iwwe@93qR!ZWB=l@9D*ZPPHsjH$v3o=^qMCUZmC?8}V4$3Ca3ib5+u4LHN zT$XC(ZNE#dpear8wbU#h<)_0bD@+Nvi0 zvPX)QRR}!T4ox9;fK!*aHV*JWjW67iu= z)d!x$QAd7J5@8a)xS~rg&-9Hi)?N=CS1~$!!}(vk{MJtRH(ORsB+#mpD$i)rMCD~3 z$Z4!Ku1OY(u(mAIY0JZ@p59sui|}$$olMB6t1BMA<3_LrwGgRhU5)Yx6S)!HtjHmb-8W z2F?AU-Wj|lxtmzuQ1D_uTIS5F<8!u*HBwdgc+>b%w^IcF)=6lXesShFoPs$4%WmL8 zE=qaw=cvN%;VvI31xGyX?X`FYW9?+7BAVkzV5+MR!>g0Ke;a%;J?FEeLN}Mi2={DO zh(^Foa@EdRLLCZKnV`OF*J0?gO=p6@%F0KIOwn8=Q3l{ZRPjxM4{iOmhSS2jY~xd~ zA5UqMj)JquDKBnCk6^L?OZhfk7-T{s#0Pb_4?-&YmEV`W5f1Ffh;VAMuOE`KJ>0eX z8{pd#ei6p`S(3L5K-kIEL8QM3-JCUv6%6J=I*zysUh&j+vf?!6ic{O~Un_K_X=k-P zm}cTB-nQooc(sVR7}>MlqpUK6MXS31xXwFP&KN>Ick69g;C?ta{LOr9YJ!WuNh=IM z104|Jqbm66ZItw1b^795EZUqR)4La##QpY-7%R@l6vZmvVGkLn$x?ntQ)6Dx?BXz} z^sw6T4dCvDw*fq$^9?yAe!xGR8&3f&D-2Ju4Dvf9z`+)UMiwru(WnUn{fI5v-2bmq?9EEzS{ki%A9(zB>hc1G(myJCy3+=Ax=;jufCel&(Z+i-$hq1m zJ@f+5YTA5u=$Zhl;_(=FD%Mib+8Rbt58PGK4r~;akh^+e*qR{jD6DJwXRg0V*0k|uexU>zA)r%Jp2|kJ;bWDT3 zU2JdIMxF4I%1W+JO0?McoYMy3qM#0BM*6J8tQ)>=qI~;coz_M3%(5w84P@+o7CM$r zg;-&5>v8uKGzuDCXTrkO*qCW+`m?p=DHeEG=EPD-iN-(~I>u289^iX-rw4%7I!JEs^_v;*CdWY${q1kzZ}f_1Mr)oqMxlz75Yh|#-KUM%>CQ;_{x zbLiRe?W$C~e`Y6I89sXsxju+%ZR~~?7O6%5Z_ZX@z^Z(nJhO(f=ev2QlBKXNFHm_A zZ8TidOGoi&3em}qzgt3$=x`}E>NLc%1EY(D31KcY<`^AoL1j|zVuux^E297$nm*!< z@Y__tKv#BgB7S)nhWW{0!Xax`zQH14KaMZWo1VN{*L|DQCIRZ|%L}jgNra2bv1GF! zs4JF`u9Avx+@xN{F^9L*U5L(1^UPoIkDfP}V3#3#a2poj6lJT%;iHQP>c4mG2+w(t zMl{$u3X6$Y75zDBvPM>V^!2k3K+0dIC*C_@U_+nwgBmSQm;qNB^P0IK9bO^glm*Gj z3NTxp-R>re^((6V`xs?dzle*<3M-7p7(p|^Nd*Lk@MXY;90+wAq14B%E_3?IFL^><;j3E#VbLC%g#zscj1G$#wIRr+G|s>sl#eaapcNqGPc$OAT`3>^bE&1;jc?3k|hsHXy6d$vQ% z^8AxvHDf*|`unoSU)}$fbMiNViinM1$Nf1>Dut{LKLK{k0vg@3- z4v;Kf^?H2iw1UE0KK35i!GA{!*6>L8Rsp4o-NT(Vbtk^JaVg6cgyt{V$xo z<2)E|KCfHF^Y;wXH?eNF=WJ?Awl0(h8 z)f?rs-WdkGKS>+Zb0$*4SPpzK5Qc=hU-a3=a?9k}31bCYpZ#HjFYr8jB?tus5y2C& zi|7+4h@FQtVByKCDNIyU<`E}JpiR?{q<}5$K*2*>ErQY&>r~aIB{ODCxs1D7_`s{= z{j~~j9Q4MLPLWT#*DADU+@67w(^e}&h!V-i?wZjyHtMoE(8cuX<8vog9okohZ~DyC zh^sRjTca({#LJ%ckitVcF&zbhR|j>F4dE0F%aEH5V7hxg&d@D>1jfmPkZzaiDR?gk z&y+~W{S!Oc(g$s&7qy8$otG79h|y_}m)(#2PB&9ly1hzvH+CMSN3YWf9kxT@QQl5nCDUK3++zfQi-wK0h@ZcOGAvgyW*NhZv{5gw4);^^SHz>qj48>xh zBQ5hr{No_NDw=4DU29!W`D&FeU(z0Fl`7uG>}OGiaox(Q1sY^>^a%hpR>?6gKNbE? zeNep5v658&2fPQN{G6O1Gee8387UNi%+Wu0^fCAF8X&+STuVFkEt3U?h>kVBW(ZxZ zgr~!FkI;@|94|5QJ32_e-mGMo)=pIatUoRrKAtf8gleiA6_HpmBRbTQ%J;y|FBk#+ zQ>CY(1Zf-MM>xXUpi0>i^d5>$*ZDTo-2R!n&|T@JC` zUpB`plor7%;THok$$8>*NivTI)sW7@S@BQqOM~UsRfzV{F=lUHciTK)ZfY#}1fxhG z(elLl=12nGSqK0UBK^W3lKw;;cJVbaW(QXqNdjg_s4e5$ppK7p(sY&cM3UcP0Vz+< zPqY8?nV`FAl5*%;JvlQGU_wJpFLb#S04VVB=E>K$c`;tKz8U~RdN3$f1~1a4o5~Ae zfncOrwO#}Ku4sYgD&_iw0&=F6M1Io|*qfuo+0_dxftMeby?GX>y0M1gbzHTtuwgsZJ>*WmaDuZ3}b#Efb(!NP|j%%_8Lc8OF;kYesG zQi2fS`Yf{#;Tzzt;}nuG5MW>`PFDz|P_ULWwudueree-G^Orhy^^6KICrNS`F6B`i zyUC(VekR1W(6lo2Q)c2hl>g0v<>UP#eKZOl+x<5xdbB1MbU?O$;lC7;tjtj#O2q{h zp;X_=?D4|8Y^bMSV-kFS6wxz=B*Ap3Vg$%rFmi%bXkrZ>$w$^~P!a1k|E|>24uFfd z#q$S+H8|a-$01CeH8}7#(Vw6i#rKi<65Z&R^=-~nRTlL%TC z>%6#{uLB%DCUw{VHRpy|Rlc2I582?NtR>23J&H9p!^Jpk%~^w`iu@C{wi#E!Y<$rnggaSR>c22ndCIO++nep>a z^A9H=z|Ru>+LgwT?#T91aR0|quS6TT7|wnkA#%=N&|I*^OF;`gecTKHu-&|?78pgw zOJf0!fzmA^jB4#bJq-t%=OfFnagik==rP!z~jBYJu$TwWG4eDY{N zrg1);gM4f-;PF6evENYe@E}2vdstAZ>DHlAoMdo6F5-fcaA`$n5Y|97B37Krh8_dkufS zzqbYOi*W<{zQF7u{fCJ`cP6{Jl58-Rrf+>`Q=Uj?9|20+{S`XEuLxOcfRqLmmyO;V z1RG_%Vlq#K0pu45`Az~5m;HH`Mf4frVh|XN=Nn@l*D$3Zb#3ECqfB-bc7EccO7k& znMBy}D9jQ8UIyP}m1QL>+riBlX)!gK4}xsYL!(_Me_i)&>*H%yexB6ErE-YrLQh|q zD+#I-E_q6z+$|R9eoT{azk1Lvfe2po#|D`uW>iyw+=*MBd#5iwC?-FavPDQQZ{%qE zv~VjhNP=7n`hD`96N*)T%?wN|KMGA%>$OWlk*_J^Op0^D2zFZFr&m6?NMf;%?p< zHp&Qt>IH;UOK7>2Hez20<&1eqv(ZmeCT_LTVwe6;=CgrfCCl*WwDLs}xoJ1yK=WL_ zGtnb%P25Yj15X&|F$bW%&!A|%YO?grZ6+cP+Ytwc!YAEi`8L(`UIXi*+oEUBUbJ&# z)FpZ=D-yoicin2W94_W-Mkr=-I= z=0bO9&6Q$>XVp6cZo+M;4^E@~js@uSmH%xu9!_J?a^CGHxnkx^fBgwkb5o zBu`VEz|!VoKpLfW5pR$D@QC@f9w%hWK(dXeiY=eg#}{1rHAwg7@^(HNOp|TQ8sG!a z!7>=Gzy$^MY0me{)M9K)T=4<6D{_Q!Vu)Aul{kQn&e{Y5ML4(I?HX0;VPFxozzCC1 z@RSamnjQ4d@woq#L8W{j*Umth*8yeD^|>s2O5S5R*=O;t05YbM!RDBEf6iq%(fLL< zpsKtR!eM7nsM@r+I_9Q`_1im2O{e3U>Z!+pObrV|P=Es@j09?g{^*sW6pKoXsqtoW zn;^2H2Lr8z6bY-?tjo*>=_res=ny5SydFrlqg)Ql%}c+MilWMIcY^7Hb_9>1RT`%l zNJo=79vblY1va1{b8HjQH4yZR!TV~?4TiF*XoiXbbt)L#KOQF>G+d$$Bh#A!iwCCl zJqa&XDoiT1Yp&9?x%Nav3%IA06D7(V(p%nSJ|G5CmgW4GwpXRk8@NoUlspPmMKR2 zWa-d@H2`+cr85S3)M7!g5)ZgI^LGGZVdQ7y#PH|Cukz23;Dl(Fi~;=lCEYKRRAgZO zbPCpfgE0cfFllDA6Qy*vrs8*m-ZcG69SfODxWht6XR9uBu-?D_q1+EN^CNMHWb%k{bxszJgDj9cLg4EbQ;I8vE+3rv--wURf7n%#THGR znUdPCL8fh$suIrHXa>N5S!<{x*9b>a9Wd9W!L#z+TABL0hv2@J#ZDW{N6!lC+ogOU zU|B2!gjfh?dMRuDU!E;{%3_QWUm54=a|Nckv+^cfS^ZGZcD-nX1iW+qQU5_sTzVkG zWrCkE8T-b+@UhbJxG@Lf)hW7Bi0%@d*B}C8^W#{Ee~!A@R~~s_%yV&x@ZbDCE*=3> zbQf@WdDglh)l8Wk3=oC zfWlTCbCOR$V&@}p<^%lm_(E>5;Gh}HPmnxmzrbNSZE{7GbC{ggsc<}6*M3#l^x*fQ zpqcJ@BQpK5t4p)cPE)z*P4yio8R-KNYX46!AITzyD#zB2{!kWECuVeN2PQp8bwqaC z7j+u!T)#OMP{PX`3yn?(`rT>WXUv`Ee?mHFib*4V0e4-PWeQ0RZTZz-0*m)l*XA=2-Vla@GKc zRvGiTBkNpX2l4X~7|52GokdjXKE9OOH@b)JRj_Fn84W8n4t~3d=_E%|p6a@8080}m zO|J~vv)xma*;3a_!lUVGeyg|sK+BbuaG`g+N%0rEpTzv(93m#CNxe1A4v4dn^Qk!i zS{TlQR*N@4A-5N`sz+vXt@5BvfSINyC#2e!kN^Kqu7bci1DA*uo(t_Oi9iAAw|ogv zP7krCSjJiEC|M_+JNl=bwV=4gnw}gCE05-t{lShO3|<{IjJHiFPnc*b7A^pddGd~> zfX0IOiM-g6Qh-P!nYs|(K!rN;KnLtIOZR{NToP(g=Z)-_mA==awm3QhSfp6th=5v* zak$zB{P{)jy_D2l?tZBoTXk43$9Ui=#%u=!TXu*QB;v-k&}hAgq@a=oqtOjK`@IP= zD$ZH=K5R3~!6h|c;IKiFd2095-0qT)f_nkSf^D$6qhN;6dAq$VqmCI?qTP5(ymu$h z6S((TmFSKKTfJli=##=nP49XB2TLbR(e{4C_k%Q+i9M`=rt9$&Tv~fCp$};Zzz&`x zhxI5o(sVa2KI%#AgD(vgc50u9ddH$fjohIdu+=1=`u z$Y6O5dd9ggQq$fYgGR4I3JOuF18FQ9$`n5Ai_aDOxuNYSvpprK$&;5f)6&LaK>>N| zQ@!GR?hd5+8F~U^{x8i?pvfSy^Xh-v%N?2RQu!aR2l6K};EQ;TFz~w;CSwm5*a_;v z2x20yLacLG5|(<4_RIT=hp@^xW#=C+twGdEseS4@VZgCXm!mL9`{Jf*_inZrUsF67 zjAI5Iy#0R!JKVC9jh9wjbh#(a=rCe<+2cjTp|kAw|DDPd-CFU!HKwU?BH+pmUjoQn z!cFCP-0^=c=N4;Qo4hqrHxnUV$d;(ujsO`p>>m0(Xd|GV3whv$zUVHIYB~~lJ6mlz zj4T|$y6n0OL8T@}+=J-gyQ^`Ne8u`fXj$PABl<5&RBKg+&4$b(?t?@!qE^5LeDgE{eMc%1*LyMfrP$35Q$ED4?@A)FncMJsAqk9kth zVzYhW>vm}A%#e}{0L?V7E>5Scaz~ScSdiQkM=1wn+|Ws|Jk%}B_lCzsIkYYgl3GI= zkeIbV{I&O@|>Z2551bow$nPrh@ zOhXW^4s62@c0&}x;!jX(*mG~Vb~}3>gSJLY#YT-%ht(P$rcisN!^Z*v9=NgljvQlz zyZ#ZjN>i*E{k4xphc?+R-fsWVPZl@x1r)ZZcHgYN1d&LPNo`A~50z3~znVIn-pfpg z^l|k`no$|Gn4KJ4M)i9hUkEm_V(?VN&I#sAdBnLl0DH>+!t~z3MyUS3}Gth`<75ogxH9i!xbDqPkr0AgSZ=tw;N4D z{gC{5Gp<50`&i3KhcSyc+@WrJ*8s3V?;;1^g;B$b2tI3NPG=t*VVf*mX06l-ch#-+ zcFev_IJAGpq!JE9NM81(2)M%iu_3SS@CEw{FcyB-wbH0n&AKe@MrzD_b zkMPMLuFv*{$>nUmxcK!_=m)^#;9{lwR!M;+W2sni65M$aIcGM%!j!VQSTND9SN*Wr z&gqQOq_~MKGWB-<;+KR2WpEDH3LRU8`AniJ8{GSXa`h62x`oC#N*p+o%P0+q$(l?;0}oG7()FKSSYjb`QL>d{{0>D<#gGujOSs zMc*%Nk2{uEI!0^foDTv`%C4AWd{*wf3+6BPk8KgGi_Z z!qp75+Enz@!SFJCgxt#W(v-A`VZq!)9Zf`dOyp==Pa$TooVBn&&yEcejh|1PE&h?p zmWD_Qv#rZ&_NxFwmqKm64!soPG`XO(3ir#`fpe1E-L@aQW@@9iIXIF|02>!S2{l|{ zagcFhOCs@89UGlfp(1@r-OWZ(R|dEH)U;&yXZ4WMZ~R^5H-C|*KAK|Z_QKrJ7YWFj zS05(7>%YLRjxKe0gLTreikyNRyMQs3iTd~}O^E6$k+8dX39OT1T{Y-=NePVct$Lp~ zk2My-0-E}&Vi^?mugTe2;-Qb!4x?l?#A2hCJ5E0sgOh#b6N2a;!YPU+umQFjd@FqJ ze_}FQv<}RIAFuV$3qw1xE+gwvu^B{#x}FDZxxdCSh0>8)w6ocy9q5 zGrPJ8h%w0p)#?3FmtOiS;*3T3Gyg_KIKOn8@5gCJIN%9JTPu5v#^4~zjGPzf7K0cA zJ>U}L?}#g;mwf|2{HsP!7Ex>|uWm*?7-MfRQx&;MWIgtuDfcoF`y;}8KNT`T|D9sE zZU>%=wa>I_nEq5N$c)Sb(XLtMxB?|lh{Nj^yZ&+2Az&hY7cCe;(!R?za4lDN4sP%9 z6%hf{25`OC45FA*?)nBa5dHsbM^c~yMoWo9amoon<5)|ieDu5dUrTEtnf$aA4NQc( za4dySXuXxUeh@F;dq@>xK#Yr_6G%CC&03;EkHgRD-n_qK;p;4T+Qj%X)cpw9yfQ@K zcPk4?bGmXpsnJ}<9itID4A4k*<{pE{khd+nRcP2b3KS+$*mzYrEVI>3_iUHT-gNMx zym?wScq$WuT%_BBsG8Fcp6UvC;^CkfJcu9JG#w`}<4dEj-g8)B;~Y=$Y^wCQ_T zpTNAU#pTxL=Drbzdazk86m?2{Z%GBnVt|8M<$YSg;asqwfh*Dn&XQGHUb!_U)4BjM zv;kc;=8!b*!Q-2XvuE4WV5PDsLFI=RH;fJ72WZ!dyV;=MOJ@PC-U^^ofPnE8s6BLO z@!{f`7<3yTLm6me$w<|0^66<#Cqx=&DW+SJ8KX`v6S}ua9t2G>C2K_yKOo_1?J!?b zR;unk-PZc14^NmY8m~m2U;pPUf$F+zQ`(!@6@3G9Y+DQ%9CVr>`?o98=mUK=NwU3U zcbtCP^n9k+aHk`*#GFRR-^iCd(p}xqN&Tb@=$EB(GZng}tw5beB>duBWIH$hFXnjagL$(HX^ zI;%w2$U7u1?w!^BNfPxlUUN;|TfWL>7C)zkFSsX{5JIwiljEbELGWLZ-PrnBTy6iO z{e|_S!&zcILVkSFB?`u8cB=%4_$TTx-fpVEc1xUS!^~}740pb$%xhnzJ`y{#dt%#P ziGQ%*GBY1^0Vz%W&;q;R+Lly2B|mG~CKl6a13Bq7U(BCe;0?sR`AkLRv)%a$@CM^OJddFmzTgY&Z{Jv9@ePf%33~COLac5N?JfT zdU!?AYe=7(JW#_RE2+@djW67>;Aeb}exo!<0`be_53rubtSETMugW98jd~~>erVb> zQZQ_Fwh7dpdTJ^dBO`6NmtQ72_{ zBK81-Nt?P1s=d(G`@#7#iF>8)X@S~_SmdT^i}6Q%nQ7lBU2i2OCBsOR5?s zCgY+-FzLD-?7|TU|AeQEuo27~mUPo(D38KM@9C^LVthD*1R+nCCY7p&R%=`)VOecg!uw6i zD=dNyi0AT_HvOuii+bg*sOyMF*;^4$kpZRC>TMbY#F?-yMq3B*3H;ItRO$RdrGO53 z#tNGgUpC6`gwp%|`wS763c)h<-cFkP?qIYv!aU%)E&+%Cn{F+bp$xTnw<_W=O%={# zfmszQrJK(VHC}OSZ=3_JPq=H_&5NsTd=|U|gMSxl0`7>|L|-{26HZ%6-@f$j zM5E>(du@V!?jjH*$-aY{v8s;lEgGX{UQa-A_d9dtirm%Xv#u{|-VBK|br?E;NW8RA zzP-j7zWidh(7)%-8n0k1x^W@y#$;QnNg~m-#k&>U<2&6r;tR6x4U7hmXcZ0%d`jwV z!?94yvIG`wb>lK}BFNIxU35Sq(jej8ius9YN>Q!oJ90^$={#-YGL{|sljy*?v7^5I zeLwfdFC$!nZPK@1lx_YY z8v_&kJsI(0mbMf8j!xl%y(MIBTG+P(ZkUzsy|ig@9DkJfwbR|hN+P@hA! z!&ZvHK$*)tHnR0l_dRQKA&Z!`mYc8h&T>imQCeQegJrAnQ3#}tl*KWy|K76GUv|GB zp}mkliygAqqmE?Qf>fUSj%Q&f4fXoxrRlV!&{`9~w~66_%}R%4b5ALPW{S3bIQn#i z|BPepPn14=pkK-Mls+$mNfYlc$wQ8}XmXX&b&K+qV z{-vWhMOYahv++97NAQq$t|$;42N#C~_B~whIKMB49sCYY( zV*OwsCZxpQ65ABmdbjC7Cq!^{i21*qj!BaV0l5QkcyAbJG21SA)%DS)yB<+~qOwc| zpTvQ=pRs^thxYRE-=45fZZO6uBr|bYzrM~taEy`Vt}tO3uQG4C)!;piZzw6tRm}(= z&C9XV@wy(pmML4JMj5iL#lYIA>XN3j)`^-k9a;%iTl)hbwqNp&AR1Nb{)pu@jYR^!U!KO40 z9CPu9Orv{h%sL1rC7DN6-PvcOBWL0(or)x4ek#EQ={n!*YiYNR_JbBbqSTYq%T~Av z;e*y~&+bOa0_I=&tGl@8a2-8HRM!P2p9Q0-IXUP9#T8(ykKzvjkU)M$=o7)^@-&B` zDU?+Yphb~vBXa5O$rWdk_s@~_KKXF@L?HYkwcg)K2&w8yE-!K@91Cy|#P2Z055~v% z@DT#il84r+_Xe%vvd~tEbE_P-Vk1SiQ4oCR0q8%~; zZa!>egT0gwFmAQ3GQ=FBhYjSe;Itfe*-sX23Cn+v{f^>`ADXN?1@6-gW>GOUCFQ#0 z1n@39!L9S&nga&28>ilu%%&6vT@YFV(k)q?;8`c9^gmaO8VZC;LmUk0gi0PP5Ose1ILO-JgF}-nRDmbj`9M} zBW`0U=HQzD67dD7U15yI;@Is1N}tVpmLlwnK%~t2pe8hsUCW?5cAh#G#d(|OSdX$lg zmS40YpM7snq18Q9Vfhf9!07{gUG2YmqjD$lMk}3Y*6u_Y=vG^LE^Dg*9dcm%_yM3wdAx8O*8PNA$Qz%0cJpPh*}Lm3NB5L#R}ES=!rnjoL>VD>{vS^ zVtS2&g%mns-#EK20jRx-8lx96inJW*z6DsTQF0-klA|6N1K};WGDJYM++P7Sn!`EM z9k^ih)MW>1*>aICw#kqu%NEQ5sDcu6?!^>wa>w7prPUO=K)r6lJ}(rkI)2mZD^lK*t(iJlt!JCwlx-u@~2GGo(_PdGtyWRPC_tMOxlyn zObsF1ELo*5kSg`p&$}bfb_!~XH`vi6Z3n)eY(ok8r{WdUVlG3GBaDOAKu9reEWd|Q za%X8T0GrBtiYjTD;8rv=M;i!-LcuA3E!IU}FjK~KhF0dRI1phH3+;7!Rq=vA0EHW2 z4(zqvz@EOASFh%4XN|XFid8ZI;jG@KvNN4t0>DBmZeVlBc=--f zR*Z+tppk<;NTGeh7LAU34bXd+N!AAo!F+kEm?AI7$p`uyTEqqoA4dyhh~2+t06s}l z(3r>MQc^K-^tF#_%^+Q`KC{1Oc zc6(a_gKeTPCa*{>^O$TQuSqYeR=9XFSPTb(fuqyF(pZS^oU+vOBv>b8vZ=Qd5qn8m zEZpleU;UBqVe3OPT^$(ZBiFP-k_+{TesRff_HG_xcG`zV)@2Eityp~8ISEYfMcv}EPtA7g8?Mp&2n{$D= zb&#Lk(gCKspZ&6w1z64`qClXpMm^M!DTEkbmpboJKKNYE$mT{@9kk~cF7u@X@#lp> zUNMZRnY&*wiAKUcrL16obf}j>lmVS$+&1Q1SO;8n3QN>P7dsqHbeTV%~`nrNs0)1!BPf|^& zKXsOd{<`(rQyR|?$YDVhQ-8j77gcWfG`Dg#ME~r^%v&-XEu#(|^<5Cgs*6y1U_73D2-9n<(vL7#C zhx|a8@%KL)9n=pDlvwVG9Aq3PCpcr2^cV(~Mse@RUpTxb9^98x)W3k*z30jx8^$KM zoQUr6_K7X!A9nSlKXyiUdVu_4!nigva8idexgi@qNEgg&j10vYdU23sbTlyyuVCRY zYTe{G(*Vg$yULnT9MZv>2q6&Yj@mGl*%?MT!s@gb7~5?4T#55Yt+hh{-!lClou(J1owy{YaWFgp$q+BQgPoZ+?zmj()AXR( zCAfjl0ATOXnWIF@I89#%UgSAcdU-Xli9LBM<1%6nVm(+{Qd-_1lE23dot3_u4lmE8WKVDpb1qGb3d(&%4L<${rYdT6h`+UhvcH$V8>tdF>j>-2Y z7=Xfz%LC0Aw;ned(eL8-Dm$1cH#s5U8n;g=cWOWl{7}3bwEpTK1Rq7?D?Qx83rU_- z+p2%_;wPQ_y{~kq&)7+4<@RxuhSTn!a){kj@k;^GD98r30ky>RAS!XkwyP$mxD=!- zTX=j+mjTepC9Sh#Fn)?TI0)`M;24DbSJ)Ew1y=Z?;xj>`>V6}{k^0kNoz!Qp`M0*9 zT^5M__YnriTh-oHe(_w1X;joVN3)Nl#8Md7B7WXoY52LGGnLmkaUlb1I=|s$ZR1nH zxIR`l3^*h;cA2*&m0;Hwp))dC4C6Zd1^gS^oI6Nrxqw+{)Mm*nZEXgsrP#J`FgB`W zP5w3UHM8D%_jUnUANMhYWP)X&DPG4w2J&06oIR3}fn^9KiL8-OLWWvEac59ktU=TS z5Z|Cwmep@&Q-h6v<#P#_HQ`XZVxTXkrFASe_Y4ur%kk&2wsqm08HrXHJayXkIWV%s z?#(GF>(6V=K6Yfwx**&HZMF;vVZoyw2eEwpASLZl+RzA$j#UfffP=wkuLG2JCo=g- zoKpri4~s94OR-ZT>pgn!FL{>-sM)_y{ea;E+QqUl(jqm`jkDB1d~(!(Mj|iUZ}FzF zL|@vCecN2#JCer>6^X;kJ%eu{=`a!npqujk;5K`inO-`R7@)cg$A<;8*+Sj`t9@m;oo>ISwH`C-Fg2kYqi7e`*2vO zQVMr7hI0<)=*aDznLO<3c8F=u_Db;?CltpM55gGy!GmUKrQWHKyTu* z@0NxSt6L-5q&TOWDT<*!R$OoTbjM9&UUcHV72#2}D?*pA!Kh!4TDU9Bi_Z9mEz6-{ zn9V4zg>|He)|7H9K^+wy!mvc0tSZ$Bp#)0wWJ9~WCrc1wj#>uk-e4KNF}A5Pv{#B5 z4!ji&P|M|Qh$6X*Pa$d-`Gee#QP^~VapW}w%7MRl#ERH4A!D80l>)mUW?P@|!8fGfq0Z5l%UU|{MGoDDBB>k`u8RFnJAbwj0 z#237)%47X|A6j)hkRga9c5J>`oZ%Po5b)3qfH4Z=%T*YM*VBs{r1C-iWp3v=xFAm2 z@cBft@&q0qV$c&a7{;cMHNCB1>+LKM*cuFRo+$2W#Xe8e>)YC$)1*K(Kplu zBTZkf$jJ$k9ulkkiE91WF+nQnc^i(!HZ_6OLSC6YoB(kG>`;Uzkg$7ZTRzls@k!kM zWfd#0$RnEF)$K!L7}knl&5W7fVGFOJ#_e9)<xhj>^_u8; z7?M|kge>BV=M!A>2;g5T_PS=m^F$RX-aK3|v>a&v!9)nCDk3p_ zP>*zl%gSzVahd!9;nHh*Ut5(WJ%^rk)s6pxnH9;zu2gDho@kw^^`G3x6!3MJ=o2W{ zAbV;W2~w|Ao{e-Pc|wb0Lro5Q0_pP%Y79c^ZjyWT z*`t+g7!hIqWD?sxity3Sp+-H66I1%I$|7}Z6qfEkNxH7LL3NWZc5CV_>2fv;igN_T z3TcSin^{7rdahFN|3TiBa2+gB#k%6x^ffzQ(pBS{FFO8B462bLyx@(5FyXOW_tTI? zo_wq(CMi39>Pfzc?yoK9Ik8`=hkViJ76=tZT6SEKh`M@v(9;>u*o60Ku#t@XA20kI zOz(c`yY^&87i!sPI~a4iiiar%H}c;2W0SvskE`&g0%3pB%1R4aU)K$T)-EaJ)FmCR zyyBo&-1ldUro!?4Bp_aXfnPtTv?e(Qz0>RgkG1th$+;s?rimfuOr!wOCnxs6s%jv( z{>cebOVzmoQmpY@E9=3s1-yQeAx`Q!uY(AJa?C@#{Abg4xRMxJ+M>{Za4Q3Kzowee z6uVjFbA=WmVN9~f#K!%9;(RvS{kXGpM^i~$^4_Nzx<2E~Y#!`}ws!^uq27Zk(mloa zFU3#6(lHw-XU13K1IN|h&lwd~J+UY@k6*NY?~EPV2avKp*8hf!2(!{*m4Vm^lVSbG z8w}V#la$rU5GCzpeazyAS8?6gUC7~lO%-Is%N6Hi(~$#p+Ejz}Rr*gQE4yavN=5O@ zipRU0{A#v(?4Ki`C>H>_uB%t!$)o;W1!cYZkXzfJZ!-MbNEuVFTr)LZ_f8BccnVCN z=VK$aXC*|)8FV2{U22WXfuln<>M7cQ8!0v@(Nq`d)zu;iFQE@E8=X2fiSWj_@5Z-2 zCIukq!+6R2HbgmO6_}NWk>|T}63turzj)OmH8D$j!f$L3(&1Mo$WVO zDzL-BE%;f0z|`1X!YJ!6OlNHVZ3SeFSE?O0(J!tC*YoeWgc3a*X>|dC8iikjQ0Hr% zAelU#I2$2yc_b1^d4k18^3Tzx{&OKLe0vANO}eIdp$w#jfp1U*8+YYI%&GkN5@PL^ z-MYT{whr4~BHAkBiM!04y95Y2rB zXP8#b9L7DuwMi%22%4O>7logaBbGaBTNroGiIio6eHask1z0d}t(ofB5Jw2dlJBpw zl=*c|gB;}0zclp_%pfN-5Z71olb_47iZI)j?8g+wJ)K;+Y;qEEjA6iR;Ah0T5kUIj zN(?pmr8DIp*B6}}J)k|d%t?g>H!o)q`gnh^hBO>$PV7)?I3k?8W6iwWi+`AvAVnXtb??+KyJHz$-#^8g z4G%q_j+<(7G2wuSCZr1>w57%A)A*ikG!LkI)6)#T+K{Fro;C6bufxw2$$bvR9SFu^ z#{?@XjNAq_!g;3x;SJdaPz-6EWtTEKTA)}xYaVri?@!Q+x}cHA{va-`n1lczoFUNU zYcZARt9J@NxaC*F`8JHk91eVOaRV)$_kaXYQCZ{rr>?GwbRGxIFCK^WES@qV{Cg zsEoEUBO%7`&0>813;O#?C90T3)2~E1bVCT2N$!TWPw|@4vC6N#9^0vNTwHt-sCv2Q zo@~eZ#5_?ZaWR-CK26sBBvxJI0RCXHGTFg02TDt6YrnjJvwsB9u`-8*$ zk$J0O4}|V0PBuwBfBlilcCuQR*J4<^q;#yOjAotzpa7U@pO;aVvNVcOj;DW9NZ0hQ zS?V77+r=RLyX;VS_;^H$^sR&#Q`|HTUNG{X{2t=x&Uj<`bDEe2X5po~68ERwazmRS z#mcPyax2~BSEd4BdZgTRofblwTs~9Z?$hiRh3o#Guhw9tp&(>uBy~e69%h;F z%1DTJ$;wcUY}A2PW)DF7!7!i{N!A^fuQ4GQ3UMPPdgP{Nlrd-G`mQk39b$Mtc_ajm zN1&O+_^HTXvGgOMH$|{DL(msf7fhBNO4p(RoQ#ANW4S&79jvQCQZ^$H94=fWg(vXL zF#~Vkf_|1Vh_59!O#|8s?hj)J{rbmgyx&lOglsc-X`vGt1)_zs{Nc0eO}za?&QiL! z=aWHYW@o7;tyUd~8-Qh4oQcYniSd(qpuZ9Lg{Ac)86Cic^k-j_0+!wpNTfTQY1lR( z!(oUwUaiKPB+T#^D9mCNItaR%6T13C#HRx$%xlqXvU~v5D?f#mvYQr=fizJ+PVI?0 z*e(+xB0@3Nje%Sf&wQu2s%ZH$%7>!l_f*Nuf@TtbC-YMpgLt_PK2;2q;a*@~xqZBR9)dungB|Xmo z=1{|QgWvYGGb<298}wV(N(wqBrPHXr$U;R$XVK;boKkr?9GJ@Cohuf72VCYB&7HX+ z3x8t6^bAmIcVS8W00L{f)Q}L}o zvMFkwiSWA$0PeT9!Ajn035s^=ink zUo!^}jc3TjRy4H&piH97%D-{VKfrV6YW(nmcc2DqX(g zD92aCQe98C#Oix7$^L!A(B(P@l9)pRfKU#a7&?WK(s@?jH;;Otsh;i5&b;8rL-_-b zcVel{;)W6qP^{aRcC|8M^Ca3tmr5GFQ_ouM$Q#$uBtl$Jk&7qp1i%vXf_r6beJI2r zfnR_i91CYV5~k#v&1TmEW-9L%n>!+}@&I4MKw`QZFtT@4s^8+h%IgT!lR~ngzDfOv zx1t1%beI<@Yh9n=ei3hX5guQpNb&Toz}y`1GT_O~%V2LtvQ8H0J)zc>!2 zx>I=ufmv{oy769ioqD+EX)1xI=H3^CanMNo-6dDr%^+WffA{dk6I{uD`Gnuw*mo`8 zfSoT=$NNM0B54ue-g*_)fVBO6@5a|1d%hU#$r5HpLr&9G?<^zH;prG3NiZ(SS^+cX zU0S$aSSNlMus%G(=7p9hIax4_oW#dx=E`^HpLh;LO2ucN~>~a*(IN4hQV1OsUxn5K+F@`VdeuQVjVwCxX zJqNj(vhPcZ1X9M{_UBB!YR|SY8gQ}E&doACT?{W#*;C*t@owRVy)cSnZ7=MHI}}`C zj5F%Zl&dvXcacpWg7N;CpRZxYQD{ON{eY9fTK;ut(&sP9M_EPGN7o;HFA2%z= zXtV>Hz01lQI}F$j-O_6e7xRVz1J4ypAf4+)To!T9;(|4u{;l~>ahP%|Z*~;mEAuhN zLpP(X3E@(FI#%YV%U9U(HEZ(PN|;? zPOL4E_SKdf-RH}b>d3?M2tUExYn1}M7#s;xu_4se29@UuG+1D}U!l5$EcpGYhwJMY zO1{iz{%?M~D6WYKvQ!7CFWddDRrQA?#6KLsCx-MrG|EvjJFvHLz{_0biy$SgW6_jf zyvYnkv=gCLopn=Bb{N1))w6Nb{n>mM`1*FT4|auV=V-mh9YbLda-6@r-e*m>b3#fg zOfB1JZUeC%3`%c=6Nh^kJdPh^IafF+DVHvnz75=1h{m4<2~bkDLob|SUuc{ClQkkS zAWqju+x6ROw>&?As~%Mpjy&Nl_mPilaL)T?^f>F%M$}t;)~1Ko-YoLGf);nh*s952 zQyu#o48kV0+S%k2w43XZt;du3vYwnLA3GS`1n_plIGD2)YnN=VJVLX^W_!4{Rh2qB z7^6u+=q4E^^6YUcRsd3$;5aL``(aQCS7Fgg(FO}VK97#@-aHIpUv+CsJ%&t3R!>~Q z+3FSjWmJ|*Y}uZie%5Q!F(Oz+@Bw`8l-VQmrZQ557mLjfS7xKvPY;V8gEIc@Cwuv6O-YJD+=J?`#QBr$<{aDOeT( z(z$5+n{dN!=!0pC+7VUN5+Eu?O?;wc*;{qJ-k{FLz9%S| zIUdq?d;dEWG-h|fHR!unU1->4^&paqlxvGSt{=*H{p00D@nAXt7F4PVd>IAqCWu|KLXj4-fw*Z`SaPKd6&vc`rr8B_V5AHmf=|g4CE{u&EmftJ8(OfSW>8u2m{WFY5RS~99d`i zth{@F=m56ZOTKg1D!^@;`(`|qDo>!lDerLV@bj5tCs673VNb`75L ze=m@cDVV42=EqC<)P=gIn+viJEETuM0yCIcnqKhCST`~I6Cmez!U+)JAn!1v*-jyc zD0JJI)pdPyPc(OIK8q|TlBg#EYC#QnNVGhXdT_N6@6ZqPJjo60YQF2~;v~Q(|qw&{g6s~)_12BofLr6VJat*(=5aenLSV&RGuCw=l?kJxOAQ_=t&h*I5qMx93-kuPAUh8mp?4!Etx1s zb(lVho0U=LD@z$ExxS4mv=z9rB?wHJLNQ?1oN3 zvc2t;jH93a#GzN+t~r>|BjvjyUzYw3(*O{+FZ}CYZHxj#E{qb* zyfSKlN0v)|a@^m=h)e;5`!Ryy+QA7CuB@~(TGKm;f(5?l;0c1||6G`VYxZ(DsghLB z(f`5iPlyY4!GYGm4aK6SiN5$Bu5lMfNq@Io>b#&{pDZa;*3X#uMw*_1txc2`Sy-l{ z&TWKv*JRK~l|-vuOh?`Qp1|7d5-8I+xCPm|?PLiEt?~u`5lEtmtL{g*NTZa1R51Xt zqS%PVpnNYfctBC^S6bU--^DzCuq4el$|{t#kCz-{;~(s%$0RZovKY=AzlmVFjTbzM zXPTFdX#ekv&r(;qM#(Y9#gLh=GHmZNXolvt4_PrIbFR_~@_p)+iia()Qr~&x$tP!v zYcnR=?YFUAb0piT1G-IJ_=);pVQ8ysql!Cb^ZaKmPmHRSPw2SoPOjh%)*iLF3HLNt}nqB zx{*`3GkJ0)CD*LR8hL@H#UbB+WI)1A(hcH3&1?b&%LG9RTJuF#J(@VE*5*ujmQQ?# z+UocpaGQGTBvgnmvcjEe3;;u%7k5T6q|H=x{^+=z)@ltxbq+!oe zTWQG*zce~kKBBm~iASU0&(SL{q!tMe@}<50OfJeM!xej2**=k#strF`25J&=Q+Nq< z9{1*CUSUq9|MCpKzfNXm*DjX0ARV(fT_8EYf87uA;Q6aLiJ1Oj+X~6j2CQ+X!ga1A zi=!Wr$BrVb1rnKem-dpcdSGOW_(zYZi;yH$ziED$#&MPXxq0vtANzwIH0m?O4sG)m zeBp?EW;5}6e0D8nq5&<8bX52^KT~g>43L6(HkTvT=8%7eXEIO?j17oXy8JF}#vXdy z`>Kx*xh@|W92bS_!@I>c3j3LQUHoIXS*(q>5&AYG)Yqz*2PM%rxUk8zezLA^fVZ#Z zmhSH2JO5{w)9u(UM0hmHTtjcO*gcX-{F{WY)zW7eKn;}yU@EiR{~&tSL+`CWHTgP^ zg+RgiR!=JcB`{2Ukdkw*fhHg$c&;bXoZ-~lg7ijZN4Qfk-d6FVVu^7>*^-5+_@}{_-n>;aq1=TkAFzB~t$QpV94F>dl6-4HId^i&-Jsj-OTq zQSzk*Iysp;X z_H&l3ilG6g$kFdVns37(r& zh?dv?IXV*DyThr&62^Z-jn<`m+}`!Vr*Ls@A(%{25vf!JF)ul4lOGqJ47umyoK7^r z%Ji=?>}i@@Za2!Bn7Hw>9ITI#5q3UqAj)`zhmrlh_#8ybQ@~4Wx6sy1VxUvt`XFa0 zrZYdsx>7fWO~2Pc$r5V&y@FCF)_O5Y6PO0|ip$!LqtmRmfBJf_40cJA z{=6XjZEQcvST8+-o19|hK+m^sIMmMhu6Ckb<^?AYk+>Tell`} zj4o)*&gw(G8TATVbuQ+tbv_Yx6GUguq-~IR#$78R{&wQXSG@QMI+Aqtwzkj5+cVO|?Zva?H*b)|xnQ zZIWjY;IM|@+h#IwZ79;7Qehv+UQx9Hx;S#ipv)Re;c1+L+^GIs&V8+OrB%>kmUB-)lWTL#P|8bs7%>2%_X7|++81-Iw39z znu{lk0sqPdV8$<-73h`+#OmvA`xiUAMCc(y>GXFOt;tf`IsM9%_C>| zQgbu+yXaSZeX6&xO1kP0N<*~0;Nan$o(5a%_H1#DIS4MfVZmff>UKjwq zU2vD&HnJ*Yvo8qN8Bt{N`y=no@4ljKNI!cLM2c#_TCJku3`9-YB~VN^9+FXyYp!e&pK|zUDrO+a>6V=Z~u+ ziVk@>(nbRfUxHT0j8Lboou3fddi0aGR#nP}wq+L806$Cw4xLsBYC}AHm$Zn1?#+oC ziMP|XsCPl|;f++EH+51cKRASVvr_s~l{c<+soG;Tckl!lRl&xIiCVc_s-Vj#yUeJZ z3+bnae$ie3YZB`J#(_CRov(+>{4FPIM1m}|ixi~5WTOhW{vLc!Ah^tV?t@tavgg&V z7?j0%mSr3>Oxx?>AX#nz^dL0u;33_Y5cjEl)=D!Mz+hjvc2CwkWS{c(onCxRvmG$Ofkf50JmiXFS$XpYuRu}ET8qDIE-qJGb`FA=S*CbG@szQHI#R5wR39C8v1 z-95Q8cH)>&OaWHreFx(|MNLp&nu_F{8{UMbz`jc0bv}PuOM)>1ka` zon3+N15Q40bR?%D=tUCT7e|79%rQhS&whB@a^=7EuQaeKA?MImmPzLjWyu-c{Ijt| zZRF@xo4hliBhp9}-aaBsm#8Y%s0fQIQj^nD?+@Mp$^;vthRf~)Tp~bGP66ZCtK+J1 zdZ^yOfx#1HF`=SZOHK6D9yoZYc;`IX!+MUOQ^s6V%EvnwjLAk4e=`I{}dX1XrDu=hPtZ8=?k6LTL+~HQ&k4V zx<*OW4G21xWrpO}b=Qwn2WC9{MO5jqijnHCYEs!PAkl_6S&5Q+qdz)9&EDff>@`BH zK(x}eD+gU0`q!pEZ{U-{?^q>H{rlXp+vmd!f0*%l+E-`VF=K}jo%bD*AM$RyDnPL& z$h-s_AJmw2PcaX+#}Uy2_$9Q1kMg`UqBri>#feBa1e=n7m_F&_)u3&sa$n*-K|pEJaxzQ}lzF7wW@z&>oaVsW7Me8}Y*HIX1mBRIc>O*O7n6`35od z5N-B<n{-#NjFtAVdZz0T&-vihy!}X6j;0Y zovdvv{#=rAlvNzs&N&+BP1lg@9*n25NZOR802 zZwn)Iz2edX|4)}3UV+oI9GgKGzS{cn-y&8V?vUmZnH1IRh#v&kS{y-jnh86{F;AZL zjNAOC%Ycru3J`v*yK)P7B-?h~v#QDj)+JAjkbggb^xRP&mirCqk8-Qm7~N^ySi5YQ z2`CiM|Krua>VBz&Xd0sdOo==fYlAqyy(Ns{W)I`OLunmGJM)S)TI39`zx1)l1w1H0 zY#*3ur5HaD_Sb)b!K0hv0^`w6CW%5o511UaDdHp-*a$Am4y<8>*5oGNPhBG#hQxsq ziL`02=~E2CA7N9bFbWWr_WhN>1>QDGke}o3Te7!bFD1E*{KN5YD9LJ0-R$BuA)FQ9 zcyS_~s|cRp45=Ry+$N3|crCrlEWN*NW<*kFhIzwka-9<#vR~zspb_DC`tPrd1?1|E zt_L;PDIG&`ZK81)K#EgTODPq$;;S?K^|%LI**yoCRoL|z$o7(N6uYe#cJ!X&cx+jK zC`I0>))sgUlM&W7T`UFW6JxH1oA*qkEosCloPHlu1tgYOmQe=o$bG>g7u1VFLC%HD z3^415c+PTSIVLZY>Kjc|n!9SCJnJ+P>?d(%|8F=qxctpNg}Q)bhi(a0!&zcgZLm8o z-b0woE1RL_G*Ua!yTc+hKxFL<;(=k)6M!%Ax4~+R{GaX13YUtcL9s#<9p|lpBFb|6 zN43QAF0Vi6Wu8Ww`vC};2Y--*rZrEIf>aYm(j*84n;DnK`710F=tdG8%}(zdQjZ{q zbT2l%F61~s(8B8$pU<_QFQ?4vK+1CwpCxV%X?2Y~y!X@59G0#(0dImGS6{kEgEC`k zv2IVFYNC);%G@#9;xPMh;!L@iuzJ`DyLdUtyNThY(N+%ar1j9fjQ-F`r*E@S zs!MU*ry9Fk?; zq$b3(sJ!wNg2A9%s%^aS!uPI`tk#HzF^rIO{TiOSv-jGGSl-2p988@Xb;0I6u z9f6%~*1x27I%eUbY2M?P)}RCy*w|#rh)dRzB+UObNWHtPjm1hyg$SP(Rx@4qDdI7K zawK_H`ijm4Vd9(B`PuqJiA|!3XvzKW<&)dqcU4MAAnU5t7H&^m8$GYv@=6T{-)AqB zYi@J?bXhI8RjC<L5_f%NzY~Q&*&`rL_1kI?m$DAv? zNd9+aeW5idXXzT4OwdUwQV0+!=ap*65j#+6t%5oVpu}i{PmHQvhyH&~E`9=7H2&Pv z9od?#o|3h;8;YN*&_5dlwanVB@R{h(@pn|wK6)%55yZB4559qKkvDJLSyHQT0FMOT zwl9wf={%xx(FCB8@fE;Ddnp=d?*)?oMp{!)JH#ae=PuXK4jKm|W4vPQ;0Q{=H`+S&3lp zhqH4iZ4RmlOC6sK%*Mt)kJD=lM`dZ;DM$NKI<^nrK?D6ydkX@KGHZxb3=NUe^Q}RO z9T10kOB}NLnrhv-VLv*9SwRIA-9oCU&|nV_eF1hllEd?46CbHY`={-dZIZwBFWRx_ z*?=^~G+v*I&AtP15?S}dqR!T8(ysn|PA10Sxg{@?L4>w9!AH6H5faJ5~tI7bzOUXyzD zcXSMAR8l`Mp)Z`-S-&$gfY==!!&Us1xfGthx7heUOcJC*Pg`De>Z3Mtj6&}dekv+& zT}FndHm`MCY(s<>LCt4Hh7ON14kR7rOY69(4XfElcB!qLY0s?1gGj-9jCn;>FVAB^ zV^&Q68)e*H@N@nz4I4s$QPgz*KI}biYMZ?#hspsX66GIQM~lSM&jf86B@%b*!4Vu1 z2m*#QmPK-yj9Vc9rBXPjNekkS-h9|QvGE!|EYOz^M!J83Sn8iRZfk?~M*Po7($_t{ zLhF7)5-z8L7mkb$FcHwdr(I;omifZBpKg&SbJxx=5l+4_G<14-DB#S2Pm`sOV#PRQn(<5C z!JUFh@dIFM4_STBdM67#=i%hLnU1U5P}jWq5}+7^-hQ7^3L;d%e2Dh~VFDJ($R$gT z0&m}Qs%MipY74?dJ|THvogp0)6%yKH!5aw=BErc|adJjC_K^IX;ow_z&`4YX_?DJ> zA{Defd372z0AfdOA5wc_@uD`EP_+|Bz7|7X$?tob)#T;AzAWCBg`go1e98!mVok|F zrpkBz@uaHW@`O@VbC8-cBHf>$NmmHo2O;(L|Kd6lFH@M=o9I-V-_vX`WspW=k_G zve#^~-833vKoqBA)Q}@olbfY>#d#9o?vwIag825zsOS-#5eK%Gb%O?)$|W?lj|*#F z5$KEL3_d1&6fj!AUbkmC$xG}dA_@t9BEs*v9AF|CVrUm`*Es!Y9lJ$B>->Ut4M;z` zmI`Dr34(;W0Ks&`WFP+2qJ7O@tnhY6yW5D{4quf*Id7e1yi7?P`=#7zk3H8lJ`W2U zeJL&4?))@Tx5s<)f$S|OpdB1FNo)!BZUz8xK;;T{JX}3=nL!g5L85_Z%NzSU{Xel` z+?{1{nuw$O$zR9obt6fCci2c{mE|#jxP9CT=vMPsG;TFXn>=P(JjgukLB16r0GG6d z`h(6d5r8gA6F*(Xqm)RQD1BfwvD#4GrK=Myw_j}fr8dckVoSqu#kc2c6Y*jbrl&|C zM~1v2#PH;41OmRGAdvy8)uLcH0<$hOo7Izy?S4hUWlS^O0N0fgC7NA3f23YYQyTcR8(Oa?k zzq8R{7{P_`Cl&)7UlxG1Tb7!<_w=m1A;m40f-u*j=ML)=pjCDKiUW{VNpW>UbO`hFADd z?%413Dgz4$@+pR9rr);w7`H>JO{Havm1KLo_Ezn@JE-fh6p}!}ZzzMZMC?o~Cu-8B z^nPQxTNAW3L+jto6QJZrxHPN)@I=_A5pfMn!`J!tcmui&BUfz0@DUCQVl_TO4^+9SHadB-nUY-gj8y6qx0Q0$D)ao&HrO)b!!!* z+TOufJQwsUZ>!NPwXI@M7iv&wfOxGpP!#ORNQGA6zhNv`zzMURU(HLkW-m;Rb+_?Uz+30mey%-d?2`Um( zZDdeD`UhHqI8_+og%Ls<1IrhR8RlBgz}bjp6T10Ne=P%KVB8!!cky?;-Q*RJP?w6F zP=E2Vd%^kk|5@baZ_2X~L34iy4SptXu`qO-T{^4`_P08yPlL5gQNWY5w2{vBc1Ye~ z;T#qP zEFY(F+sZ%i2ItWyEX2kr&T*7wWq)sFjo%wXJe78(`uLAEi%|2F@Dn%Wsuu-5A##pA{`ZRFVWxjpDd-e}VWsqnpo7xq`~O08QKw;|+*=Fw zSEC@HyoFEWKsE-k+z{!cvV-pGQE;1gwc&LB44808-Ad)-83Ud$ipYv&!s{jR-Wzc< zZ<{44g{O76yKq21L+`zbC{;aYBq3zgH1jsib)-zRRYo5!Y--scZ+(5 z3ntqUJQwl6^DLoE>#Rn^E|Vjm5TSI&!y>%cIz-+f5^wxoF7>9W_*w_#g6I5^F{YcL(}E1;SUkIwoC7{CNc^e$orBX-i%I{1YZtJ zNHk>uUIo0g#AtN)Sd7R(gpl@}YrY{W4F9iYMLeqh8X~5y74nU}{VhTC13&#s^Km-@ zozA$5Ce;Bh*kTH|vk9i*^LKHMJ$~kZE^ch2C>wI&ftr=85OMvOa#etVFk5`LqVHlz zKO${o61-79r<)bk>l4;%;}DpOC4Bb~PC1RcH2PGD?NItDU4%vI^kO|Q2~VoCF)e$( z43Ck-l z32Dfjx8)(t2Wy`gpTU}W_Xsu=#sk!gVOYyce28mYP;oUH6WP0g)%}Ccgw_%MPT%a| z_Tdg)l_Hfi0tq;WA*-l|orGkWwaFtH`KyGu&H)-omIRV)5ztp}_W8cml70i$j6H@! ze*P2_uNz_|lERrwl8PEI*_bW;R9b?&%CWVx^p}5@&#cm~$SVNox;MuG{Rn6=)b#D`UBV?w`24ZObOw8bNBX!5Dat#sfAj_?e zUSziYeHg&U+zh9Fp;~j$j%e;1r)4f(gWE&;%qfU7sGe2vPBARcN9IsR&hs`qB;ow!>G1ld~N_oxk zCi3Ll?0Q>3AYl~lv-~_zS&4!$8G;TMB$tZ*z;ejaS!cDoVAkH9WZPseAU18*c5$J0 z7ZdxB%Bu`sjd1{txKSm2Qoajj1@v>I$#muA?yV`&PQ?0HH0pt-l$XsGwtM*+-*h6G$RSTEITYraVcH-LAEod_ zMoIP~u~aQ1(^LyKoGCEcc{w)e{SmO;RIn?`{R&764vM*$*#+tSid}@8-qs;E1HLCr z8732{V5wiJENp;yWDBua^WMjib$Z9`^1_ohkQ^_NCsIP5$5a7^=FzqB3a4>>WvCvi z_KF15QI>Y0mfb4SS-fPTRlOP?3l7Q*55&l^jTRi}26jw5(_MJ1=>tWqcN@6AsCy}Y z9MgP&0RJrmBf3kcUf#MC#gh@$tFgve+ccs8e?QDZ8u%nJ7-^#h1LKt%E8v9HqaGc| zVe*%s5-pLa3-kC~YG1Vr3J~DXt0_-rg?N|rFsZJbtoST!RMjy|*vZ}0$+;&7lU8DE zF%{FhnaZBF@iJuCua~{8C;*HAWM5~`FFm4VMC_g;ZpD%gk7}G05(ne_TWm^{m}qBe z!x1So>|pys>>H0sr^elkjj<|=fxwbc_bt;@xkQ!@$Cuk%LH*Iy$(?=8i=KW#y(7bZ zB19?lPk=O3ci6PwBC;n6k3E0D3rNIoD9w`kYTfYfq+`@YBL3NJ76e`gxbQ&xGt%}i zd5kj~B6iIVdeI#M^Az^I+P{=tMQoqfPp<9RFuRW6)^hvVw5_A@z=D9s#cEw@ok>}G zT450Lv;6^m$WU*YsCv4DFuqnZE~Xd(l(I_G)~(3^nc6mlp})4axT&W;klC5XYo z0LUY_z76HLinXHXDt;2$G|WvNS@8U>Zc2SivJ8F>WbO1rZ)&FtZx1}h{#Otc`j z471n`fx>xeVFk)9X`Dp%Q}80H(txYfgiHFO+2PjH>Cb}vND{wvgS!u>kNJ=!MqY{! z#fE)Byn=WzEzM*>!aBVbXW9GwpyRA{%4PN#(hApm^f8<-Ylc@m`0pQuq;!}_eCI!v zn--T8>(4>Q;o3j@M&0@t`C&$jj7Di*=7p`Wa$|lvu$-Y#oKGH}u7`fC`gGyzMOLnR zhjExGP^)6P&(Hm}xxc+~@Jq&7I-3qy@!eg;1p#U!OeZ4It*NAPFMokxcUX?`zcsq@ zoB_HX;|>I;1C<;J0Y{@9=$?RAc#f{SPZ2tX$34-H_D|u%hcg8%9&(G$hqU7WR}d31 zcw8c#tXO#u^W%iFtGj7RzS||+k?3Y=(RI$n4MmxY|Ru% zI_pvP>*m7b7rBkYXly}Kk?}CkMke*??vFOw|K%jW2QKBxOw9olip9I>gi^!z-)1}^ z00%FC6~7Bb0s>wcow|X?^*E`0A5HKI6IuBYE4eu6f0I+T9L$h3&v zv!t}d=bM88_=j#wKqXyuqi+8KuHT8?@%8nT58UAhgh!u%%s0OPjzGNBR%VjIf?kgNWugJ~&8Zo+VFGk|)Q6Pp9j~q^XuaAx9VD{)*&u z!iXWy>sbv~#jrq<$;Q9>i{~i7v;e8K`FvMQpF7iJtYJ zk}fj<@1-qxZiT_<93as}_Iph^@kEUN!rXNZb#wcn&l#cqAf-G@Q!wHAwtoa{NdW;O zG3RqPwAJB1v5m*PZ1Y=VU(R*xiXnX&@bg{?ASNYI05Q8w$l`Yg(Ch{{$8^0{TmTsw zs*GnkGq#=I6K5cOVGM8+#D!XCz5^ek3jb`1rwu^FOqGNJTr8G^BP%wR*5rwr;lsd< z4Kg!~1pNrmxc5&l4M5?)7j!Ttj-%cqXstM+e9xL4{GT-c;Viq&kpVU-ze|B{$kE5D zK26vDBP?~y(^Ek2{^VSx6Ie@;gILB=Njh9LFhPW!wX*cvpG_!fWH2W;)K4#I#q@j^ zp9EY|eZpq2#t$(m=g2ek=r?Nh=SX#?n=*E0(bP1w%-QL<9i~R`@XZuT%S52Np(|yK zLaN5cA=igM_=s-J)$@6eqwFB8GMo8{H*-fcFT>sTzGM}-5Mt#e~@P-Kprkb_LXyf!Gz*66yj z8q(-T;YO3IpIA^wZV5Uv)KcG}35t{8?P#K@0E~TvPH8|45Lz3OG@>vQ%hQ4R1AT|I zjriR+R*8|PYu{bI^;fyWkR=s+ft&P29Tu0mzuG+;$mrVpy!Z4B-y%7kOizlTkuWf8 z)o<)Pc^vmGc4Qj~jN^r^cg@{1&1(XBHJEjn-Zq{TKT-MM#$0^*K&^?Y8=swJ=M}*> zKyqO)5v#+S2n@QGxXRzZ$KlT^k|o(zQ7>uB4KwtJd7>Y!-!ro-LB(zg;rNq&>V4yA z*t<`OT4yq>dH8G?c#Z9lSp#i!C^+qerQP&TekIMLzmDjvmIOlU4_iR9@wVl)|GZbx z)+|jq5FDIJHWD9bK0%;lE#dvbd5n|rwO+_(zu5#|=8l&C*DdF5g(yWb(!=$25d9g#NxM1Ut{GCA1W=MqDM{@}BpUBgGK`u-X0eUf&xazI=4*7^TEfy`UrhK|v#5eh;S9#d!kv>LRB|3aIx zsz~woy0lWcDVBL&x9hOz+}J*T<5_lbNcVTjHby4=%n<6Sb{T}-m{f?yW^B>>eDF?Z zUQ9B(5{#!4fHRSyONdWwIBt^`Rd=>j*|Am+TsRhU9HfHsT#Gq7#t0Lxm=1BgP#<)BxHl-vS2IpT{sBXT@dAr=Q)oSj z$R*9%-M~2&w}@!bf0{d%1H~-~)@rScNUaF&!1a9$^p(r*Fw{<3Bh3K(mdwlWO5V5< z&|4a&NWdup0KpH62T5WTXInR-rjubN4oXFo_kQoF6w-p^Cm?u`y-*WM-QX*%xmC|5zuz;ZV zL8W-t$G#-fwtYH)O2mClv+3{oEy;iY*p9Eb0z76gJ$@Xzexz&vpBqW%fc*H0l3!}y ztV3F#jiTng(Q(T>R9%NP`lGM0MbvW{b_)eU2nni1luA-6M+(;lf5GhZ33LvSiOj}_ z4GIub|K$;rZAOl2yYNf2{HN&Vg$ITtgbpKg!SdCbSpJdZ6NH&{d>-opi;3njx9J^s zFs#O6b!w_m72*6O#1O0GUlu3O&wdsrlhWZyLLcwD3-jL)Su^CdEzghMXtil*$vZn& z*ZNEyF(aT4S10~Zvwz#q&|AWsm5>sZ41Wg@X~%lL8??qk6)(R^s=?t=bQgVWvNlo* zBU!iGxwh87o4X3wimmsq0*01)T^M5iRCJ}jo^$QbaxFxssW z2IW*L5!{w0J!X^jHWoLC=t=orC?*?M!qb_@rKwWGcH|iStN7~<`2DS(S-Y6G>O)Hy zP$AG#nz=OY72nbp7)+Ju?n}bt3apBpQZC0G4@M@lmm7Rz+za^Rs z_Cws(;9H~Joqr&QIe53-EBO|3P1sYT82}O)g=W+;G8mm+JcI%;oz#+{MqQVy&tP;T z^-%)EN|dA#9Km);nk|u)0VTZ}_k; zgkUJIE6E8w0&OKLRhsO<2G<~jSe3wDu22<9q)$)Of(4C+XMQi>cU^5Q{#Y^mSRT)! zuWeqyUaqPJI;+Z=eC_&PV>6+7Lms~!>9`XXEJqj$coEl5VJmM3HnXi%=-FWZz%jKm zPV+chdCjnUxi;ZA39t#AW{RoYxC8O1gsDU6G@LR?4drV{(@Vp{OQ>A&G`Db;_8 zu1wU1_R&7@>$#YEh}V>evN18MZIz^s_6exs4x6EO@>lD)IY=EX3b!6#d`ZPs!okqH z0V!wJJkv^XtRK80lm5J65=4sfLU3jIYlYiO1K zzCmBs?TA{PSNb;FNrWa^316?&i`)v@R%Hz?51AVuMlzuZMR=NfIDd-}M$#?B+}9QY zvn?30k>KLn$aR-xbJxXauUP$)s4kqdbYOS7?sD+g@2Q0266C7Fg;-_O=Xk-Y6G>iH z8RE@_;c>P8z`ly((pqqay`m4Jgv*(~majfvQ&PV|7$VKa-a{2ASPp1={YL`_?iTk* z(<_J?2x}`I1HQ8VaaLefVHj|j!JdL9O?UPtrB(OHca`PLb(dzX5RQp5Js+?eM1D}^ zI5hZ^3hAJz6*9jeZP^gd*HD?ttP>9W#O|N^dR8xZH7k70{oFXb&IAVjls4y5Y(q+pSk;ZBubk8qIMAI{S>G?1w-|zF~kU!%`XSn zgudpgJWX{WHxGSN1>Ll1&}Z7~{fZg=)>EXTZ|Qd6D)wzHGC#+~#S2T^K*238VV)^N z8bdN^lUF8u46#O+QKJ;(_XQd@Vrvqh-vj*Jr{Te&svSKle$amXc*6d+3q2dYpl-$h}%hPh&>sr&241&3nR)m7L@B&0}9=Qc%+g9_#eTxSLO9Sz^FZ( zg#n%bM{us14~Rk6-6AuD`B$s6ry)_?=!OhJZ->pqfJsbT0Cz^X!ml#8&IFBh*rJvS zj`k0yTBSlP}^ z9rf+W^av11{U@urKr;YvJt{9Hln8=SwuZlUd{oZ71K1WSGr{n0=JIcDVVyKiV6)LR zhstd~*S7C*WwP9CAYz)GAh30k+h75w8uX&jZV`dq)zeRE(9kh;cvvUmFH3q)2*$jru zxIve)mDMiT|2KOT7Zlm8v<1);oGhc_%M)D+kjz)-Rw-MzLW~R0GN)Wg&?l+Lmyv#d zTZPHu-}R<B?ovNyda2-C1R{-oWTZBgd->1`d8zeQAKhD6gGEv(NF8>j{?&Z@ERJ*|?^Id1M?+ z$rS$sBY|_HIgGdc))23w%H+sddx)l>8;Nz&v1mya8$|M^q>i){&wm{R$JnG<3UqnQ zPF)~#zfZLoKowm!hE>#$fPPHBEA?UnVWTVWrnS%$Tzi@P|8~$UG3C+>fDm;9qkQBq zh=?+JrZ2`mbRo~N= z&?b6DGUTkFUtkNxGRj|G_b4fSCU{o;=Izh4a+* z7Gm%U3n1aBK;P@^)vxj2x(;P3|uy zRh0lI01TfkjXt+1JuSDcgSHXS)R5$e{!+i;Da@r==MBR{JEJO zV3yBA)i)TgCqr@TTx~0Z^P&-HB<0F_gBLC5H{PK2NKcRui3SKU%$z*z?-y3K?X6vSs~4t~$(1-mdPL0cinX)2t%fUUhf=sxL(%KjMz( z7N+`St70tI(xy+cR@CAl|0<=q%jIa<3r!VNK0mXk52tODG{X=Th$q^6r#{q-^xJ?e zHewc`&2VxDEhFPZHJE-Ucl%sJg@mn!0L@^h42)LA&d({)j%-E}i)NLh*{z@XG%8rh z%CAEsyc4r9TaKWE8J;-}(Out9RnU5_^i_r5HAOJDGZ$@~Ul$f{1CFeCSD5E}lQy?I zSla0N$%|#pt>66ml91BB1xY(s+ct?s^7#$WW3`?Q&wz0Sr|6c$ABfB1+70+GkyE)G zb0T{|&oP!n2ne0+!&|aBT@S++A!ll427MUUkawi5f6_+>F-LWYw#yWK#f z^TT~3gOe^Gj*p z@W#e2TZPlXQOy;xmj&4XmcD`tVoU16@tukl>Ww$a&j!tyReoWU>ATqOCVhb`-uRbr zd*ga8;VINFCDK_nMu+|f4cx2Fl=Xb~Nv8JK^1M~Ss163Gjd_|@#q%k+WtlJW-VV#C zJ^fkpD0Mo1ytjTA8bKe%hi}*z^*q4wN7PS4`E^x*(F+>up$!Bd!0@@tk8jnU8D7z7 z4_F^BhTp+*mX9_f*N9?!$Dj}v(zNr+owxpL9x;w>Hag~s^|ICLa+y_kY4c|zt_QID z{O8=@Y+PC=lGF!GXW48dmLS#&X1dCewp|yoiqTXXm@TrT_eg0FuZB!dY)}QnnSes# zgs`BL=|?XnL=BV@ANKwWN~oG{j$b{hRW@sv?v5{bxnk-^C{k|^@Oss&dx&2%%E+J- zse*IRVf8w3A6Ho3k(;;4$en!ETsly4Yv^opRTcTee6 zz5d?)6Mqxe=u)K7$1;LNTLp?X3K#fORA!aVx*fv0p0vwiQ{4 zK)i1Q*q*h;U7KNe!c_#1$uq?AF%SnGSB5YMd=8q9s4A0_ySz`p%3eTn-I_2}X9-aW z5-u4HyP{;eG3QIO5^4T^$L{xC{^Vc=;#OVRV1g7cvthg9oiiw}ODeKv^@VBuY*2_i z5?hTASS0NOp5q+2VVO)=?^fwpO%lUV1pH=SoorLN1^3Ns?F1=t#7Mjd#%{$cM z;}s9hkdgd}9$>-A@(F0rJxdFj$DdnbxP}=eYT7bW=zQ#)08b~ zlgzIJoIYp0f57%h&3HkT&Ukag2(~S)tXy;ejdlN&#jdGwQ7zw_RP~*?wdh ze(_%2Q55M@LDlllOBYk<%QLp&l{8XaVWI*u!6&bYuSJf4nRj`8gOB#1*$xI=ilYGo z4Hk=e>?uH!92U8TCG6YBA@`Q!P3WSfK92sRE{*Y(L1tbP6M%Ga~(Qd5%#8$gGg z#cj~=S}|wp!7?Io__K)!vu>*;6?sc&ZamtXoSE-Fh0;f70UJC6{Q?g@Q%Z$?5r8|~ z6lH+$+!vh}K!4>R4jQyt0C7%e4&MMtdTXm!F%R;rEDavp831081#C45=5jGwMEnLX zJ0Lqfvtd-$y2VtWyJX;qM~*Z(@M&YKAE+@ZZlM76P2hp5#g=PQ(@F_*Aqm21{ zGxPbsJ=G;$yi~QpP|1xm?N`B(dI+?#+x`m45I=L}Nk3z}Z*HlOkEHYsx{DXx>$_5ls(^mIFQnte3gO6k3Yc@#${-(jR{>)l_n?tIu&uuff&Px~~MU z892MC@psbZW`th;(>@29@@iJS9>y;Ta(>rkSG-&Mp*Nk{Vj zYHqNc)5f3&s9pGE40rSo+(@v^rnSca=h?;CsMEWtUrF1D1q;dRR|+}^5?jiQm+sd9 zJclb2nxks!AmGhNp4V!fAhaf^ptoyoK*R+aMP2|^+wz5j1=NvnW*{XAWUm>UUF~y7 z8*4DyYV=*?iWx@od_G}K27YMHcdCW-pE!CWL)1V5U~HIM%ml$(AU3{1D`0q#yx{y? zYR-jA;Ce2cvOVg1Z2T2`pa_uD`bxrNHBD2)IPjtI+z|T0IR{V)Si8nnZ9bi=b#IBt zk$$8}_Ds9$FgwPCnb^#Iry+NBJoqE3r^e>G^FdRF&bJXPZ}jvENNv2 zIB5449~tk;`a`=kDTK`or<2hD6iIM}o17EJ>hT!aX(0;3>*w&DM@{TnLBSHq6#ST7 zg8>N)ljrv_e~+jX;bTc?X#0@`WoFYJSmq|lzG>6Hxm;NB`5Sp01nGD+pFns(KQk&y z0Min`*kV2v#&=zc7W+|8!}a!-Gct|n(KUsAY6^ZZnSPgn)=4`0WDt-Mx9X7XD4%6w z{g$M=D$w2EJsJxuO7=kzIhIo2Y=*%x_F9J^%RBn7LGM>}%!-yxIzRgB`E~7}*Z*ze z=qxGxyrHU>tdtOrz@YUQf62IaBpuZ?>2$G+8j^e``+#dAK^G~1Bvg+7Af-!WKpGg| zG{Bnhr3~hnH8&qz$CYr(i=vQ*-a|x(IzA%gfC%sq(agPZe1{CyKi>5QfTe5a?o3|& zv66Np7?OxlKETFMKqbF#kIyhSQx`^$>& zeqd-M^mR8KHF*N!wr~T_nP0OCbRlwjvs{zm=sXbXS9y+gAk12B6@a+x->&00hD>2< zl_C#!km*8W-;MM)otm3GuDiQ>l=QDyOsg}K#q(I8H)@{F+=M$?07rJ4dEN$Gi?ez; zC!`k)O)wnaykBauq{tCQVCY#KD;BQNCB`5(^GAp5*0tbDZMuUm$c4`w8H)Y06BxD{la(C} zj9}rXEln*Guzph+uhSpn9RICneP_NWH5aKYPmp_D-p9HMkox?CkED@p9& zK5GTh{ zNodvV^+QIysu?sq?cxGYb&}XW^iXEMehLw%I1jQ%ywW>4=T}w1CAVt4UM;Q z8UFk*!ye3ib@mmU^DdfxE;aZ4XmlPO()s(xbG3 z`^h^}YuG$IN}C{*`3f^eG!rwq_4-N9JhHew00(5gO5*rB%>Xq(%D=y+seKQMge9EVlg1d;GWqQL5fKVJ-^3UO}~dGW-F;1crVW2?PzDnn-7 z-VpqdJ}^EN-6FY?a;wBm175gZ(@2~l5yTC7l{BcQ3)~TUdJ~p_JH#lj6=5d$us!wc zqsj23dNx>}r5>nSP^cD18j8%Y%RF?9DMAC%6?c(TS$NcQ7yp?{(D;P{{N*@*C*Loh$PU1vO*F3ZC+D8EzL&ZK?kLv?eQ zC1wmhuEz2tc9~$JISsJV@Cj2t=^|bp>Bh7C6pTN0e0B~#OMeCoKVSidLj))3BMzw0 zO^9v|IDOAje3OE(%fcS5YGr`4%4w(@ek%EYE>3S0gbZZ{eY@;nA0EN-CSS7&{Fa~N zvvQ04L59tB$6zk=iPbwqKq}iL)?>NRPqY*K?D*5Rkbk(rP ziK_A7e)Hp-JTadP`zCPz2~Izb)RQ)aqPWn-Xe`^u0ftBkF^sWyGe@ zW|kRQBAVzZB#JLp!MD#{_&O2|jvJC8^!d_2xz&2?ay}eqyE- zqAX|-^dxr%-fOCA26lhzQt)MgJ8HB=H4Pqfnl*VV@4LpjZ+2+9x_Hg<%L9u-n3(?^ z1U^?`1M6sBiu`UQm~s2c5`THu0Y?d{$~y{I$#5{RM8_)h?5d zVoge=&R}`U998hrkE_s?xDmHREMi;U?&RJcU0 zY)xHO@XEBO)1*tGlDI!2!u{Cx>gWHyoVglU`4KM^owiNVIOwNp7m{AJ^Huf#m=zTu z2EdjunvZ6ff&=FA#BVam{eq9=9*RJzhk1mo)Ml&zknEJ}_uzvPV`Vt5PDLeKjWD?) zTUEYW+#l(z^fp82LYJNQPb+0q3W=!96xF|Dd5p&OkGyzPWRXaubUQjB$MM+dmrH2f zi)~Yy-U2xymGw@%bO!p%QCqZG9ki~TK|RNgh2WDc*+#?pwTXE>%KCugGS+$L-g~~! zv2=jhbRSCV-aU4?*MY;vgJk;?+#I%hnIKzC-~9)hOm36IhRqAYaM`5<*L}Pj_9RaU z8bq^`G6XgO}SkT!~TXU$P?E=mc392kGly&eg}ulEdgcR_|WD!e%>N#s|mNCAO9uvXv!?6RU-*_GHpiF?|_J zx#k>eb;RJ;{~eO1S>~`B?1g#S7AL}OLz)PEU*7w5G|lb>VZTs# zv|`@Qy5XqQv}T!oNbQj=I&TF<7<{+UsZ=kxA@0D?H%b=)DE1jy$X)+&jKK6NVyyP1 zyYJo=yuZru)14ax1X+*@eR++8!6zo;(2!RI<2cBBnqn1H& zs?svMg#k7kC+&~4|9^*EfUnhp6UnOwkOb37NI0k`vq4iTT{;vv^v+X2iqQN}S;SVn zN#asIwElT;&eGZjnqu)Pub@ud60!M;HFLBa#p7hb`k4Y;<`Gf4VFyzp5=5y+JvbIL z9Y1L)@!}s7>LwH|Uhp;>-wH^G+jV>2{;EuLz`L#kTRyP9G-p-Vn zv#1niW=%`kTe^fZ46aLCR*8cJ zk)%8R|($BA6oX0geIfUts(0r7gyfYD_j%_{mHl^@f21w3HfKPl1Rc z8FEB+Fyhm`U(Wzf&4mtbQxOz+dL2&t1nf&zt4mJ^%=MQ#>!2E2Yg)AwE=bVbO%ErI z%FdIJ*yOBDhIm_4SDqEG?@OQg5Xkoh2{k4c+OH^k8`SyE+q%WgL@BWz_x=7cuI~!= zyFJQ$vr)}r=>%(~9)16AzlJ80OYBHitHFgt)lO4s$(38`%M4BaI>Sg%H31Fz|&{(<}UJFxcd41FNcG`}g`7YG=N6crhxC;rxhR2P0%A`j}@6;3b zBo$$QC7*0Q&|(Q+zWisw{rb#dHg&xb{R9jmIm}|Bt8b zHn?V<%F)v1!PE>7gz0Om{biRh` zUKDkqFv0%Y*hd4&qVxHffc?O|Bzsp?EocaNP6wXBH5lhTj`#@x1riYSQq__vf-=mb zTE#o%KYOMh66*r6?oxW3;#BcKoPxm9kG;*6tPp4)o`DO)O7PelvKBh2?@|Bx6P`N( z(Ey-x%n#i|Q?)gqTW)P?T7%8T)lZdbtZ~693B-%fR09|x9P=fx02~MI>MzKRxaxSn z2%}|@Sph>bO>lrFAgNxffP*qgrU#S7vImkS1QTaFqG`kkwTe|-(8f|`EQh2g9)-uA zI<^1c8WlUE7Co9qVCGCRcInVb#XQ)0cw^O3C`*3*7*apXd$M|prteIylP9tML z##CoBVozm!uVH#G=w}lf>~wc~%UjMncP~XuaIi`_yuo@eF)&8-7*}n~uGm3Lv&DW9 zW41%u%bhC@Qs?xuGv$y^{-?b>K`i%G0+4_YX)*RJsn4A?g}|`&6W;I!h5?R~T_#c2 zYUFZd@~%#2w|qcMBPqOMFW#}kA~q~_uC;@h6YlU0E#31OC4bjk-XSrWNlC2%z6cTUty!!P5!GW`(^H!e9fKJ-CW<*&!L9zc6Nb1| zlxT9;)aYbx<;7+}a8#Vy#q$3J1-`u6IN$hC`R|3g*8Ce< z6AL&=pqdFhgV6j4Fxun`VVNQU5Wu5(TI%~;5Mq?Rcm{neOM_Idtemd;WtN`}Y5*TT}!z zg}XvIXJ^v8mg;E88HF=>HwNvA4&JDFeY!ueY8kq2T3*+|_^UrkVPF}VW~Udr7Mz-0 zrD;ZMij3@gjz^rG2b8zys7mvMw7UxJh+|9Sp+8%yxKt2#+#t_I+u}vf`?4twQ1njPvJazH+-(W0}i_}R-=m5Id@>0zlwAEAAb5sPz2JG9z2)=BP7S&3`6b3A(xcj>7AHP!(%Wo%Xw?(GFjv}0k2Veuht@$r!5SYTqZ8)&sib6tPwn~B~ zIAh&RyJ?Rp`fN4=I0_CT;xYmwBR_Pvf=G%Kw9CW?Y35ZDa;)#~(TvjG;Ux!5P`Jo? zjAH5L4I0MmR0HFKv*mFlA{s;Q@FXyVhRWdttSJ?wl-=wKBN1f`^X-sTjT%SXUJ}Zf3IN)Id#tiCjM#zpD zd!xlaJpTLtn}oun&&|Rl&XUj$CPLJW83hw5M|`8m%g0SA?SI*rd7F*)aCk&0G6k9s(F9Pe~>v z`UI!2h^F($D@BR|p4OOTohG3IF2tr0Poyb%!Rfm&!};LA{wE0Qd0um`340r6&ndqH z7L&kHqoiP^1Z?5|iOQbO-s-?LnutG9Y$shXasFSgo2!8UQ&QH51Tvle3&P*p<(?%i z$1GesyF)=ma-zhc_W_@=%!9L9VN&>EFh#H*OqaL&qyqcoVvW>~n=?2Br=%+b;2^6* z2dxu;O2Dcy%=J=jmTy&|3WH7LiDN8)^#OGmlpVLi3i3BK+yFg0BPFw~rG0(P+ZUg$sJ)Bp&XoPYg}- z@$W02s)Gu1UL;0UVK9dBgJ-Q;oZSQ|c40m!e>I1-yjSO>PC)m34L04_;WPfr<+dui+f@6gPgzKR8vVj1C)wj?bCM9rIexLze8?4i{E40BSGb%bSJDqT7 zn(hcuxHodx<-Wn3QGP_!J1l!&?$K5A5i9eXe()e=kqr>$1z_@r3RMWJOVVsE@`TF& z*wM<7=fi|>xD@9(i~2l8xPC*W&n{Z!x3;olPBSXm(D1)Hz3M!r1$H-;FT=)VlLL9u zBKzpE3>~}zPb?sJ(F2PM$o6>w&@{jRhyire(sEt$9QXHNMynkQ`uydr7VFN#biwTS z&Bv-r&;5c&eY5fyf94h=%cx&=EY_}``tsBK(P*rLw=c-J;?}2{RRsa_xK+1Ll5L~t zMz%La$iZrc5L0nsr63Gx;O+(_2-MJ4gv22c7ZZ#axVytx*`3!HMyH-gwN@6h z*Fc4>{Jc_c&sF%cd!2xP0#cF9_EaWeOd%j`g=hjBuOpfc~EBu5Xyen zEI<^+sN|vE%KR>Ug&NIw+INWNk?gUPbHIyR=F)?kp0OG(gZJ?KFezE=ko{=84(YEZ zqKa)QyYIk={cWCdd}-I1^Hljio;P}s%S-3DSrWHOy0&#C773cvXu0WTCJZ^#G~$Xa zPZnq31(P}qw4AOTclicY=vzki+*TgSMmq6MzIkE$t{N?OKQS9O%sk6}P`U1*>0JT} zjC4;Pc1rsY_xs3Z(B78xi?IHq`REcuC^5}^MY{tzcPAPSHGhu9J$m+*f~O5mfYcWM z<*$y{LylDc4zZ0MZZ(N|3z34m$O?SyQNX|=C}PL>Wo|j3U5iG+>OAnwaLxB^C4wNeTYxR&e)=SmOGbx!m zJ>45F@XMYhkux2hsq#rCt_-U5^aHnUq)2XiXp>OTzJQa$(PjM*dY)9l>=RQiac7&^ zBQhKGXmf*|@ge25S@6J7YLLVxz6tegHPR43#4Ehd^=!zpxR^XMVLv8}Wlb#V!Nha> zY)aKF%>2F5+IR@Br#Zk=)hyVgh7BAG@`EMNCSq4Hi$v;vY-(8k6VQoJuc^0Pd?9`J zYkWUelnkexjz4o(HhP6^JRaj~w6$W-VKwGsq-yt8(I^7|%J~c)$1hNp7oDCf_7jOQ zZabngkYEbPTX4t-v!blGod}q^RU)`Bn2cZg2^B!4C<+A)7USOr`>DEl`%i5ps!o6H zP8&a@qsA`mM?c(#MYPrUetD!Hmv3BPgW~nx$tu2N!&JCa@@hFUQw3x38e^3f*6i6} z;NDk*lJ5^`6s6n(&rrg*?DeAnM^CXF?gz{?FQT54dmBY?SFRk_Uwvy~rni{HP@qni zm@UN|zIqh`zQ16f*tyv61yS4XxJ%(*>r;vcKfP4R1;{@GU+i|Z|3YRnYgpuSTb%Fv zM0f4E$>eevmpe17KAEI$2U<*OLo4XPZkPGp_Z8(Y_r5ZJSs$#Kuy;;Qlg{h{Z)R!=64q9H^8Ai<#U4jEg^)Ar*ijy(6GP$vo19w7*!|OfF|zrVl6Tqt#O*gfH0bmK8YZm9B#-UJ_WmN3hrCsL z7a#OUD`n(Nlw3YP&*mH)QB%%%#ECf43lbpR)h26hw^3eTOW|3f|Dz5Tr~wcUt8~a2 zP{^H#Sik{{Dkt&pu_|z5DK3fVYU5XOHGr)@L8O8qp+%g#oM(n}BPaBl!PMs8BRuc6 z#02XiBMPxzV~{sdsZ^<)3niX!3WeJMT}L`jwNBfaVILWD1p5i@Ag|My8m0vWj;hGU z(eCnnb8ityj2A4MDp1)>PIi&XoXIy<999wTE_ioqwn!w?|4{?UYhvMG%IBM=2sAwO znx7*lyimib2)x>Wf6&i@Q{{7f+|x)K`q4Cy{=CckJbLHQKtq5GfIZde^R@FbQNCyRF}amT ziP!w~OtzqY@(w4hdKfwy+p%1Gch|rpSVhcbsdwcZyw}_goRaWR#QZf~C=WgZO~YW2 ztD(n)op1v_9s3JKg{v*mc+PHjv5Y>{XlJAlu&?DPM(lz?-W`7p_Jm|l>e&Ba~LcT~2 zaC*}Re=yBd>_gadEhfpq)d(be0F~n*7-^T_%}w8nL_2R_^g`^sHwUAjhxu0dXw$=w z;MMI|0y8eqjvmBpB2a#HHz`0W@Yf6RE7{8e`&Zz4YX$vf=Md7-V4Eq!hW=L70p~N$ zmeTzj_sK-l9E|+)xKh>GIExE6y*l)43~@AbYr{~%m?Xv-)?sn2Xs%U>`;8hN)_z9P;wOxgNK zBMPEM;JI|>cvMyKTT8y1pU_-E)Ta$IBGU{8)2}m2eMM%ocCHL}XK}SR^}!X(XO9#@ z>WTpLpkyTvkMyZV2*=147T4%Lq)JSf*|2&2cry2G7#3;pWT*>ONXab^V+w15npF|ls;2W=gF^OHIZ7eO&ab0)kn#-2D*Ife z=(J<5aCKl!OQ};*xyBq~qNMQXY+6?{m`55*7r4GxE_Wl0K62`X3y0J}#v(jcP#PL> z{%rJXDvTo5JliJyiWe+E2lM)j9f_lv%+El;A5(}oXe(+qu)CrimQk|jsTn_q2eP!> z$HmNrp$2Xm*_$RA6+7|EHghRT!BGEZl8-6)O`;hQr_|K+FL0CrV{UE zpb(8e0EIFmUF0I-CJq6jy$tk!TyD`Kc3Fjo(*F@*>p+(@=05$hZGz9KP8d+S`Vr`^ z7K7nwD$c;_7ZIXV(T&D|Y)I3px1RqNeoTwb>cIc}efv_IMyst=4!78bas@?e*pUGR zGq*d@skflLYRU^}^8Vz<_EzNU8Hcl7D`WZ@V1cnW-`q#m8+EOA7OUhE0V~y$66txp zl~Z)-t)xX#vI0vPa`66-Z|4()tC1O}!mbAlm!iae(w=__c2r6YbMmHR$ejyZ3qH!t zQiYfGLTN-)6jwmyF+n_D4Q@E`>1$&ufzmyaLaf&0Z~Vke_p~O3s5`Nwfdu+;l8`Gm zSKEN}9{f^opOphPcERW#9;`>vR9{Hr%tv@r9v)bKxGokA0N&N@63rqdnc{O zUPFfq8$Yu!h2p+4PSwqJV3a8-pR|qb&ZM1jWNG|%6r1Bo*S(?#$ zWPM%wr@dMYz%>4mcgsiL<*tR zo@%*cv?LtcTvH<8mYspXH58Xz>A^89>{0$<56!YdAq0xVr8p=x zc(TGA89VXbzU*6_nf$sPQ3_RM^w4?Ezp7|?6dUbQgi2o8Z%!Voy6vU5W0!-of!0GZ z8P))A^PG!EFr|T79;C*R$#~ic>1J%Tbyt?*wh)D_Q#6Jt>d{x!PXlrPP${+uf_@6Ebye}++#hc$iMErnc=aOwa& zqVR|pfkz+I?7G=ZRbuS=GDgho5%x2ng1w3VO{f(Uqlqu|#fy}f%twvI+Rci_%qySs9tijtitxwd(cw0EAQ^(W`j zk?g|lDF!fOUixbs1c99C{F*uBzh;MI#Ru|*um*#%xMIK3lga#fY~7v61gET6jfeJq zK{hp2EGgGP<)baPtKWC*WvOmKj2KPD_e;9ZLp_&!>#nX@K)MH2GPnzD4#Ah7xf7He z85kQcBoh7QCK=6(+E$8LnIlQMJgA&aO__Ov#e!r_z(j0M;;sWHI_6uMq% z$mR;Z-N+n=xeS2}!;o6*s@6bv`uHkGk3;(*+exe6p10s*+j6i(^{D8cKC;VC0VW=s zkYDMaB#RC}OUXrJzhmb#`_F*`%x_Ldl2wITHi}=){kJJP4rwn!M_S#~S)0T*BHezF zDwdzQht`(@rJX!}CCFXOGwP-MF;gDxp0$_b0KXzQj5YS;xk$p?tFJu}gxj>*#X+LX zm&(vezfL#3j&LXvCVGtU!6y^+WD%TT>PjJDxZjJ^HnLwo6riH^U(hG(6kvCbY@CJBT?RfOqW zFo7aO#nae6?P3t@R2W=MW-Pd+h6U2X^NSxs+cV*yY5Et}u`h+EipzcuM3~CB#5|}F zd$aM?Q=K{M_GPIne{3XO3BcBkW-dM^T2jB0@!-geBEuJ+t5D!Qo&foykEG64_uQ&J z0QBJ;RktxE=)-FsBJ4>;Zt@?a62Y3}9uvtgigX;6voJuNPVVr}hdK3kfHf6MBVJT3 zsK=ALccK}X5)buf^J^ulS&@ikN|Cp|PO+d*GULxWWzfc0SN=kUY4~Xtng)+eAE-$a zx!=*e5+HNj-pR=(ZAxy+Q8@IQMyi|3z5244R$B$_5$$viCA-pc^tCs)NbiNfkCPVA z&jJj#BzQOfhl4f(DfKQ^AZyj^<$ouf?mwzf@)Jv7iLY6&wRV z*{1XH5L`RCf9Sg$D24OEr}I#`6@c;R!6*@BWLZgyW7I(XMn9cH@NR6YkfJ^2Dx=i< z9~>81>soOdTT%07r`l;|;G$_FkLxdQtd3nVPqQg19M=-Zjk%TkYc}@49Xb)FJwD*v zWgqy-U2IFxW~V)4>(_P(#F_Tmi54K-K|)iqoH6YF?D6Ig%MaTQAQx_rI$!kTd{?a{ar3l#h!OcfK+ zUX@+k;18iW?jMltQBZsY^g!)sQEwGf=>R(Lxu!6b*XbSsA-~aAAGR}VnDnpk7bmIZ zFzb#YmR~gk*Kt!K{e&idES8bRJRDs>PV#zAOEPYL;PfWC!uYLa6GjmEG!?1lORN~w znNqOzp{nQy5jCkX5`TeHb#BH5w!yK={ArdlE^R6X)2XA}jH2O4M~<|5mFTVvd*kh! zJ|r3^ClGgj)tBxZhs${gpL?X4T#)(ZBKt+)OJetx^KXX}qaqR0xA@t!b;taobCD~5 zx?V0VP-l2v_mQJ`DFzqgNH4=M@y2%`?yxzL(m{U;tt?g&Ir)wkdQ*%$j}pp0UIzem z?q0tDoj$oWd3pyfti$BCdW-=+=+;W&sA4H=jxmQ93qZ+cC}d}D(TC(UowBgSjB128 z+CF%W$SKW$&MQq%oDjAd^2gMp!Xv@MyrQiV7$9}TJmMQ$vC(6Ot;t&h+jOf-pFqsk zeTE{6y90CuTJ19ITBf&qK&X+D^S&Bs58uaq1J;mmvceU>DKzO~;Ei_O{ZEQD0`kE0 zjb3e(bAsl#tx}veQSv^T!SCRE=ZFS~N5KnUKeJg`83>xXH2@oQOa>~wns@VuhQ7Hw zLE2CB$u}`6JYlUXa&OWnU>8~v+%YM)(jZy+|N0ImsgqMk6-lsRw4WOH_Y?<@P6Zuk z_Xpk%xSJRojZfh=^$6F#qUnMcJ{VWliSBSdKwBU`?utzB#@u~ImQ9Wcx%n*m-K?p* z5L!^dm*%jqEDyj)(LactJew~P=lpV7ZTSZ>Tc>8!nQ=F9zG;MVx~cD`UCxgXh{Z?L ztEge)mft&5Ft61EPSsPT@v=%;Wj(+C%=1xvM+72s1JQ%kt zZtwa;usE!bum>=X$Px9qe8dwic3ArTu+Tm;)Uh`W43(haqOX{OE5BXiOuTn#R$fmh+%AC9F zG7=ahp{O5#e!DdTl*9rwxsPqP&npO{tiV=ikyM0zA26(4DiIqYFkLah!v4)WEcSG} z6C3G*WP(UzVN8DVdCe3|+04G%JDr}h$I=Ad-LwvxcXb0$6^|tlALk6>A`*7;w9Feg zSZqHr!gSylF@o?Pxtcge@VUqrnR|as><#~zw0Z9g2>V7Ze}9a}&=_e&dN$W1`gXiO z7<(ue+BlV|rilD5&`2-boFP4Hh3nO3JK~0s8bcmtwe^H3ixc>8E${#8O#%q=?o2W< zw*suoGAGQPmynz3KF{>fhn+){o+lNSnDOib23Gbe0*)w*y?zJ5aTj%Ic?e*JW{%!U z5j-u9K(C0vMSWA?CHnxvPnmIAP`tw|SHU1zwMUCuGaH1otKA6#rsljU{4wtX&1iNl zze4Q+s#sA=Hl(97eV=zqIj;+yIdDn(WBhgB0LJQ7kQ;q4cH_C*OIhd~QL7vi_mqq! zRS!33Pcbr^#E|~XjP0hD(exHHZ)dQSZh?bzq|PsfzPe6Pg9l7-PV__26)J zNdK<02I(pw*a!o;;Wb;C1s*Qpe23>ITeh2E6L-##6;;JkZ!-HxKU`=ja^ja|ndl_Kz#l8JY*_EY@60Q{~ep`|14g6npr zL>yLfek&*}*<}olq{xWDqYSr8Nl>z{`byx0Lq~Vm#q#=g?--#Al|1+Bnm)Dwx&413 zx#WxX&6`0O*p^;D_5TH~UlD+vW`Mtx;~1M;Y7VTI`xS-6g1ox~Sb>ee>iQK(xXCZ+ zoRk7TWVGSLMKa&~lkma8Wco)thOLdoP4R_xvxHs5;1*Mj%D!sWFE5OE#9V_}X{Ujd zZe0-4^%;(AvwbaNfsLmyAd()yt<~u{dfKZKhuJpz%gY7*Y0Xht_DF$SCc#tIbld>V z(aSJYhU+DyTioXADyE*VDzm01k#p>Ad@@B5i3oWO5h^h(;U9YfxcwdnE0HALk=~Hb zVcrAenp7X8S@{v*~+IzQdLq)8CJX|?m__X&D}_?U zl&oUAPOPq$8m#HrdPZ`lhfndeRv7^_rdy^jn>4Ku^Izj`5lNj0_hQyS2nS#&=ckFWu_pMHA;iN6 zL6^*4j*M|Qgl~qymV9+E2W<`vFlEUr|KxiKH}I&swZ7;uU=9&aasIw#Fv)c2UwPb- zBZT@|0flo(pJQfLnW2VR`ayJ6k+_SYr(HlPia3;*?WI2thLW~f8fIZ8{t7Xn))+Js z`Tc>|VN{U8BkvpOpco*r!8vY(C5pdQ(XHjlu0NHL<_Q1TRc|;YFx}ODHgDG8B!9Zs zE)p2EksSMY%+ks;yTg&&n_w$|T8*Jt#m`-oXn7)GR(6!t)poNsekiXVcTKSbtpp{n zr80(GbUM>m-=GGvl5lJh5IZbKhUZ?6CR6K5^(oW??Z&hpr0j_rs0dZ>IlNNc0I(GG z2%+@Hdt%ia_%%7K&14|L&D}(+l;PfgVLZM#s_>iOv3IsGwQ^=B$DEg%Qz^VBY6zN3 z1C4bc3U&12L|0u$+C*8dTm~H-Q4-RD{-nUofcVE^e`2~B=;-be#COZWH6Gc3k~L0= zagK$p!FAa;4x0yQ4KzYrr4Z`&5?ELV_lTXx0(G{m4qoOR`_E7HDm(~sNi;#{_=VW< z3>(x6CzjP0Ur6__OTn2mfaDM6bm8)@V##aCD(Iu)=>A*%v*!VoW72sk5!`R zqMiOX+L2YLsTCYzM`;l`wZ6^4x~PDsk-$7v$2Eu`T0mIEL-5XTHo3h#@ctCd)5BBk z?M%AYn#3t`1$X&pJUPdqBWvoqd+MHNr|Aeuur*L~hCxxjoC>>#?ExZO+n5Urak)rt zNII>w#cBTfAWVUjU<>33=VHX?@Jp38mo=aXai0(#@K$8;c&kitv^uiO!ylDVS#Vu# z(4(--bTOcr&%2u)o1Ne#-=?nU)Ej$DF0XgDFX$eUGy;l5A`2{rLwx{}KKaa4?$A)E z;ihow&TQYBq(o`+K{#(_HIE_$({Qwk7pi4ml$QW zvA3p>{R9)Ro?+3%-(zrK940Ty^GV%VLSdx#ks?BQ94Y6u2kTMc>KNHM-PR$Soz~64 zz&zW2_vrZBz&4xJ%6VJ~pVjG!`QPqT#JKWc9e~A85)&KzPU2<=&Cs~@MtJstswk$F zMC+EV0bF$AL~rE{M%%UW6WT^!`QtrBuSW%xkZL%cy@OD#{4OT#vf2Q(Qv_luTzkK0aQe{P z6tV`(!)o)VV=SOe9s&R7%w+*Fg&i)$OzoLWPz zZ{tdXf0zZJHs^7r;78C2a_&JO-nu(!kVt6Ok!vEy3oFN-wj$c7K!XlJXWjFVE({5c zC;DLijO?x(*{`bazv$hSui(ixdl(D)uaUM^#`Y;IUB2%okSDEGBZFXNBvGrNU*7cbKdUM{4KicCGoENaWS`nUA2t(zLVA;!Cw}U^sob{YtQ2G2+<8(5$o5`6 zA%Z7Yru0g|X3HjTb)(eH1B=7u_%1EF}2`W!05L3xKt4K!=?(SD!AP=WV7;X`0tPXftP*_rYfH|yDt7f!x49OS@C zt%z5#?rCo^wh0hGc1Tw`I=0Hf`frqTb^bl7uZ|do)KtmXQe%h%tbxLNRuvR1f;Ab{ ztkF*Iw~5YwHDXiBS764(m){$THht|(lVKnNg*EnGt5}b>;Gpp7gGXhxeU;&w6n`ji}uKYCU%=Xr#|T1<=>$$ zub=KQe$8EqRdoS?0s$J7coYv1*lo*tzC~S-y6S+>d7qw}zWk(zmmg&zPCe~%d_Ozj z6*#M4xxAWw=P1uiIxagi-i(`DD0NKP=B?^tt0t-=+A}S?y7`Hd49#9}h9L{A&8$T2V1DU5}0QCOeG@|He0xsGP;^l<>IZNe#i3vUt zawb)2XC?Pt9;%3-8LTwc>o8?h+{Bd9mFniIaV^0gt^QCbwMlF`j4*vx;hxfR zD@*FQlZ}pFj?~0Kc&aZN?lQAi1rJSk%20 zB@#_fdfi!*tcAZQ3QmuGf4-_BNo&#@U^ppa)gL(OxeBf!1f9kgeLYrUXLN}5{?)gI zc6P<_t;KD+-$|c}2T{T8#!1%q5PhDfrw^ z4-;>#rAiNSdPE(X*<*Oivr|-K3IaMy;wF2ownf*O9{l)0F~%n;1VBZ?|lVPv7vzK0=ITTIYgeNB_KcgnGH_Uazj2o+&8`lfLM= zaqJWXt};vI%0Pp5H3P2VbfdJ7;f>kXFX4_n)&d&MiB!CEJ<=qZ-2&0kKq+~SY})_v zP2@--$v?3@4YeP+Z~kP|+s!wF?$oRW1!g?iKg2EAN(|c!gHmQMa9;MO6)40yNeL_f z6G!+BddXTS%e4VrQk8oe*sU3ZeBe(3;^>>AQHF8JL8qZ{8cUkU*;P?CeOM|dP*E$_ zF0IS2EMhwwG9L3p?Pt>rFoE?wJ#cuB-+gj6&7OJ5LtoK7$dD?ZTTnbsWKOf^1`YCr zW75%Ok(@gn9~>S|Lk`W0Ev8fQv?p4??&K=?)zmF^I9{@m=aiDx(@9D{8DE9?@F2u` zUwX{Uvqjk!*G$hD5Cb4$EjzfuC-nmA1MyXuM(eha?}U&sOOzc!YtDbX$K&2vcb6Co zbq;+$4BK4`KyGGrp(jl=mq_H{VFwr`?rp37gEsIs+C?IKLI5624Y0l#=pnWX@xvKf zI4}E{ae=^FsVbeFP@TsllF+`0(GcYPbK74S2R4@C+%iiT#mWA;PF~!*V0f67mP3N+ zycsAa1Z_5aLw|FK$E-XBuRJ00bS759_>RXA!2ak))Ls1c3&c>Q#LVT;D^P$T;O<*0f%+@}l$7tQ>c2URn^B=Stp+iUHG+4x} zK?w*R^O1dpI&OO#w$>BIbMjZSqE<4aW94dB3xMr~NoKgWM2W)lLqe>>+j5>BVkc5B zE)l12aImFGUisO9r3U4$8WJLWEcX!Fsu5Z+#3-KpMfg>Z2xp$W1F?MaYa)EK*8bE6 zfsAHC_@#)bXa70Yi;kG zl3sdNq&@Cy5w#Oc4NMVgH9PwY9F9^T1|hL1~R7;ibq^IG4| z6TBm>n9t8 z7;sxd>N~b63JS$3k6x&{h(%Qt#K;CnaprYH#-N3zBilThmMyQ)(;QE7KIzZ%C!nBA zWt8Y{9v%qDc?PWNhi0n7(rWOE+Mg4_{}8kiJ14<0fZN2-g+J8VLore=v1?PpV(vt6 znnZkhuzXR+v;@Q~i<4v!n>6FQS5<=eyI_f3$Cnh^4c^*W6w3e~O>5lAI#P9+I?{a% zBfdjaPhN&i5ldO+_=kKDxlIu6*;(rTYy&g9_Nl;W}^PYg9^3t{JC?kTz_EUUE(_2x*u*CeaMYX z72Yl)$YWpnFdJsjJC83%kpj}=`-OiCDx2x(aa-stR42JyAGv~+j9F42#y=VvF%CQP z%Ib(%xLY??{iR;&Q5$g`@Vj^`O(Y^`e3G7ZJ z(Gbn5`BP3yk|9Q-M2lSDTI@;)^OcMT7z=7t>@3|~K@yI^$QSl>&_j9Q;B#n($BE$v*`H{fa|&}?Z^s^jxKarK}Jwil*eaL<-jj6=vKaSUIGZ4pXU?9IGp$t<&0G&>3r-f^F6 z#7?v(lrFu+&yCyj;|b%n(%ai}x1=6Q{ZMF#-JBtnRbXmk99p99ELbt)rG*ZjXpj#} zGaR)=g(*MoHlzgv%Im+pG@bpB0u>wLCqsCiS#|jCKRaho2XLD~jpA96npq_b=yw7Y zM;G`z^CA#TRuI?P)vtw1NBaM+zaV>mMViqw{C?H;$X6zTTIH+rPHvtK@h(bk}Y3_;dD4qW@ zQo*J6<`purYbWRy#m(k<6CBEcjaj{Eh%OLRw!f?Z=#M$V^kw!`Do>ap9NmD#&*1*9QS1ndqVa}!nvuaC4H~?i$Xd}> zJ`v)eu`v{LR1*qw>1aHrv&z$aFxEGzG_gvrH)niF{wL(8< z&bdSzcU#DiQBtwqp{W>YBS|yh&;iiFO!d!-I{GAhYpxMD-=#(4LU-Cem(p$v-VdHW zhje5qnuT+LNWhP4(z__yQ{M%S5eZw`6kt<~1$A=B@dGBLpZ zgc`+>9BxsoF&?vH11?w4gduh1Pz-s!|KqB1Zbt!iu=U~s!&XLYXTXcc;l0b zKp?1lc<|H3^!}O)=Y1mYSJdk1_(X@PnefVjU>)TMN3*5)x+3qAkd)>`o{S)uK;Stw0o|#oll0iL5 ztFTitbmPv4mo40fg)QAo;7%JRg$)Z{L2us#Y`U-ABjSUqbb+Y#%lGMMxo_FFhZQl) zzaTy*4zkj~8dyMunMm#O{u<1VTqd}=?QVS|4X1$Vr^A})c4GU+m?qZgdVzq?XlBZO zfMOjN9n}^qDy+Wi698~L)!~Ezqo#OVPVW)j*75tIP=w5JQDIgmAFvHCCM^z6f#moE zVKT1@B6)K+cLAUEDh_+pgB`5NgLGxkcHO9@pxh&OwC`UFW2FJkvTN`7U-+`4F3cPK z_p*l|^)5z(Vh(5F_qu7LUDvnw{24(BS(>$9!d|bjbH$pEM|L%;TTS0>n2$@mQ}nYs z3Hs-~F+DlZxPfP_ZAQVsoHh3WMAzQ{Zcbc+x7-df24N_|4_Z8z69B5@9>~JTp_30L zDlk|d;6b~GS$9y2AW577{XsP^#;~VmD@2ek*&MXF_cUV;POcb0@}SbxzAskLb8I;3 z35$5k)|sUVB*v*sD?z8x`d(|n@-qGP4?5FCh-rbJ)`aoXT+sskR!6`~2mlDNQF}Ty z#eCW`-QQi6hfSqSC)}CMxBoa{IN2aeHRlx=-C7oJ3ySG5#KK|Jgf#ifmCR{1Pjhro ziiERTx=4q3AYa?(?q}BKq9{T4wbWE}i(K1DlFj@Uh3DW0%czI}*d4uFA2VAFGJhTJ zD--ZgI1hOzfennRcFLPOuxv|iBtyMv$HNL^klofZ)^`rvD1}lH6-bTzqz}laHag>( zQ-IT%n3lkjgDrh(60A9PwwI|n^DE7yi)0o7{MK}29o}9~kNK+xUJ_Saau{Xr`|Adc zytIfVKzWekbFs72O_($wLMLAn6D{4sotZemt?tyy@wvRDn4u7>;dHqScpwXaGDR2p z=jhEaDW7)oRCz84c$N-0GTA93Gr1)HjzOTtFp2-o)OrhCD8oqIe18*x)z#pWXwq*cMAOG;f08%pV#W7gl?y1K7RgzJos|>9m|;sw&f6u`j$tkq|`}&tVoW zafzvt5|gIRh^I|ZjPZh0N+r7Z2VjbiF8w#@YI{3Gw40tMGyRO-B4C09%%OQaHIwHP z#0K?-sX2V9#&DqvI~StHX%e2>lUi6!yRm%2NAeZf9wZXurnTB~R#B=u%8S()%qG`0 zVn=tTe^0DWFm2@{0{9PbmQ>ZhSu~BNr8)yUA&1DSb~=jDs${Ai@Yr8jQ7q%{8FSQx>}v85k`z)z^pK`Wvxy#jp+gSB9t;Do=%C2~qFN z+?Q&NY`ktEB1Vw3l{Hx)2l*=Qz8!MFu}amoAOXMrl>|paw7e|Hc(q=9j_6PoZ4Y^> z&mYI2?UVz0%T#M(=QVTm{?NpxLu|KXI0naEUOG zVg=debVf%yz`*hVFI&#BFg2u;%lwaO3z;?SL-SrhB**n+$-k)5G)hA8ff^hcgU z2-l=)uTvb{7&oy%3PZ=J98pwlC3u82*{MjStkM&;#yMV-La`}Bv)C^Z(}DlZU=Wl| za8UB21zjGZK$ySO2m2fug4&6`2PwY5C1}OE2$;wy_A? zFD+~M4>hzLHE)PRc-z}vTUmdP1%ykv7N ztPsEOGpN~25w1B|SSHEkS}$EL;z1Vul3F*w=;Nd+Gdzs53xyy%GgF#*sEokMp(R)* zG(UaG?qD1B7wyF#(K8OW=tC@$j;T0D?VoZ%r{Q};m#qS<80bFdHWAziHi5~y#)S^W z-72Qv;oy%*@*YVd*|S3Evm)I}{Zh@jhv8hk7=@OE4OI-BLb<<^1Cc(m)G|&m?N=44 z)Oy%YM`&{*46$?(oYe{&k55N**(O!%GGXyT?2bX&mzH*&QMd!9v9Vevcl;s;z=wDS zSVSk@g$|Q*Jo4OjM*RICW_Uo}h}@gyF5p2@K1bUIU9Fs%b3aF+?Wtj*$;iZ6lqNq- z8elwpPSa@1b?IHa?$iyjzl+R@coX=w3l6pRf@u%MN76J1T zvW+A<>x`{NJ1MA5Yl@-(zeIOBBo$;EUK)Y8JZYE{)zny2*Ni#}4|$iC6PUIHwHhK= zA9%KiQZH$JxTFGOq#jeBKDW85qS}z2r=LZ@aW+4obAhG{nZHl_H~n~W@6r?|KCsC^ zu0j`fGK<3((EFZ7L5zW4Gsd~_E(16!8=A`veVb^W$<z>`)tvi%{|-V%HxDu8eMy0-fIQLOCdiL6faeLtJ$M}v}|_j5&3lFX7Z zg9?@>B|hJ=or6kUF8i+ulJ$a~ zr{b2TBpNRh2aTt2FcQPY!Rl{(w-|S|?oFDnJ?Zfu`XyC$J4r~VWrF13juP9bN+y7v z!n`)F9O6nx!ger$RV*sHUru^|0g5K^_pK}=&2LDps%`Q|=H`WikuxPNC}xk4(`g2P zI~1W&cEq6>ayd9hG$e)VUGZ!$;6XM_+PpzAi%;erdHXk#FDB*0)AK?%t~-3vMdJ_7 zatctT0g#mV{@s0h8HitH^h^#6O(xZ^nFiPxS88X5)+!7f`;xk{}=9pHI2H+|51Hw;qqJQY85X%#?`CUM}!g!Cu zV0PN9vREDV#~q)v$H}nbDT;&Z(PS?=-4_ zx@p7(BAT$1?1!mB5c);;ZT%3jLPEzLg|DEV_r3Ra}kx3(iaIxXk)` z<*QKc)El5LD}*8S03z+<42>ffg(`AD9Ok8-3q~7yLujqA>o?|C=lz2iA)m zX2n=3Z%#vYuk89dxNbBDpR?0hS9BO zM7e82_YB4o0srmZ_g8OI*Bh???+AHdM-0zvc)BxJa$_G>~E&PFT-06rZ zVXj*4&z{_9vawYn4cBa0L?g4v3p21_m7W#fa6_#&s8LXlhDt2h)ftr7{1)d3I8HJH zksix8HPgpmvXIi6Wi9h2eXxKra?Toz!!pPjP|osfhceWBpaxyfwUxLC^K!A#X|DpZeWGSJ^teq8brmWI1%OHUr{HUo znN5DCfs-u_Js^L(js8b8ut^DH4-4&X4q7#UsR#M8jL_HZ|KgxAt78mypX8fu*~`LI z+DNYbEhiday19YSJU3@RX4`k0zVyp;v`5{dB=niWUA32u9SDa~xxsnpYjptYz7wX3 z{0h|s*AP}ZJl6NO4Oje95e4q6Cv$@vOWXJyBg-xNLu6A&#@#Dd#QCF()^Eyt0DyKC zHRrPr4Jv1UR+n91a1kb~_vQ7&D(utaBwG$L^e|LeNKy&875NI@RmRh3+5|!zyscws zA*dXm-iN}a;q*EL4$J5~iZC=Z3njUi@msz~xH|cNiDsWD+J~eVEoAZE@HKflmvfNB zo6w38h3v!l(Y(afNNY@$S!-LEBUsH`K*1K}>~UKi|o zzG~hKxDYu(Q>p>Lu#o#h2^5YhS6cuvj1%ch4pX_z6Ww}w#mIjt^{V%U7T2hpA@O6o zQ*kH*993-7bAlq}xKNYYfdj!b`7XAF%(`oC?RWI#OdON&&-(kgD^^n^#{FoJZS;Yv zg32$T5~L<;$QN`4n>{Dj||<(?EH`Ka9&$ezv)^8g|c>|Jv5s z&}^Doj+^Yp@!H--DL>t245FipUA^PfZ6>V;XP{vLR(-_ljz|1+?oP24a!{;JP>HUB zLDwRK)rI*g->O8#B<@~wphU-0L32ig);Bz{a;<(=C7zi{(d`f>0K5Xb(IzWqYvIc= zQNg+)2K&)q#~gho37*opt9JyfpP0SQAP<$G@edmN@9z-eCS{GEPtiQ-0giVfZ@qq71K{OJ|LFKM)D9%*Ydl$f(>89i?Ee=4e`YDdtp>#9Fyn3Tsd%HOq07Pp z+98pIG(GNokK;htDH^U@HL|(a+2;OXmaUC{i$AQ5JSY(xM>VC8*j*-4HFzl%6nrON z+&bW5bANlf?b>XnGBj!8+Sge#*&&QU_RXJ2YpjXHLI&c=`2V`K$=X>QWMmfjiBiN8 zBn`$gF^2d{af!q*c;Lz8fb;^rh=QWR76 zAm}!=-b~B7&5GA(F#P*50mq}50*;Y?C=riGr(ynmY+Hqsb_=LH^72T8pCufMr&R8U zzD5h?&JQ$FxyQK0S&mPz9zcUdOO>_Crhw+=v9ev$9${!LTGd}Y&6CJsIXceNgVSoC z%j5Zfswi6iqw6DV_Uh)nk4QnphLG{%v79_&+YTbGOCZHORx^cV14tItgrCl>So<}^ z%lcd$P1)0;Okm)iw%MJKf4GfxHExFmbF{BgxXoCFV#CGAV3&mRf3IP)cHd$rcix3GY49zL z1A{|A2##!Lo!9%3d$ob?dkgloZsMgoi(h;9(o449G+Z7(`NZD@Ei(w7c!%HK#NMFk zh%m=A5ta=Uh(YJ6&QzFM)Vy%yuCq;=Mo46f7de>~hDys>J)l{nct4pO0H$xL+9sj? zhaYt{JzIc-&Xi8y6h(x>uw{B+{yQwmVJ zcuzX6lg#vX9;>f?qP;Y4P^ywol$cFPpvGK$=ml`=KYOhbM;iqBdVIac?jmqEA^k;Z zZmihyFJ|_g`l@Lv0NP3SYXZ@H?SEZ-2`zkx0g4Wy?_WfdQq-b|gfpkhOP9>irwJ1Z z;rF36_;tiEC=7Xm*7%dQo5j+MHh~gJv_Rim9U@A%}g~;CDc8hm(sfMKoW=OKYf1c22odtK)|>cP<=M!e)GvZfxbi zUPZhQlYA@Ll4hBz!CVI|=>b3vjS2|(1T#(57f}XU-@FL-d#6a>ffqxUw$EeY4QH)u z2>uv@QR&zF1WV@V)-vvidJxu{+0M_gMhP9Au6bbe)-gg;UWz1`PzYJD5*%7IO!@9U zwtmjcKWdR%z~`Uz&pJ*%6~)n9+P5n@8}86G64^1Y-*z;_Bw{=+t2;YT4bnWUO``Wk z2`H1*=e7We1uY+j0fJMdf(w}=2>7g7D8S)3@ONF?=$AKopOaj~YgKKogF+xHkrI1H z?=NIDgt3{;JVu<0?pC>38QjkE6$*58lqLLj!_x2dGd*$!JCUimcpx~MZu!( zdM%4E9=8#QBMIqT)&h8;9ZuCk(-9Zjp*4gfiuf-aQ1E%Jon5Z8>tLVKNq|PQ~-h+Yzhd`<`4-)l4mQmk-)+<9ny)xn+0)k8}&>wgx=H z8G2WQ2RILJq&3ollE6B2Uj>Q6ybyGaqMLl6hMP!-m0=0sXmc+c9%mw(y}zL~8l6%jZBm*9K5~XDxtH3B??~ zz#%j8ol%+9tWned)3)`WFTQp{rv02B-a+^svRfm=0`S~Q{XGvDX?rh#!5jz)K!u^X{4eZ+jZs>nkcP0O1C~<^?Vt;gYd$?e2&HVw3pB ziUdMol%hGIJJ9Q#7 zBZ#{=4M!@G4>nKG)0~m_Oyk7%ccPwMX}a|VGU-TEoy;~N3^r*4D@G9%*l?q+21pj} ztFp34aAczpm0jVnFrly{E&^__8WwF;yjGMNx&8Qy3KA*#cp4YxVNdi+I)^jtI;R-f z0f+r>DR|ALtvfR8+i$$!;3}ijMOc%K71%Xdx zUpmqkDXa{S&U&+!FNsWl#-#wV+WQ0AsYg*uzjXlYcp!AsR0JIQ-3>R018e})WvY%2nNFNi{)d}#k+ln z_XTt*CD-8Ir4QXJhzR7M=$FdaIgBZZB=3El9Hk4Sz4)0uO>tU55Fu*oBMIGp+j$+9 z(Hlz(K6ymEwPA~fnRDUfuo>$h_|iKL8|IyM5Xxl41ZDhV@u_rCwjcJ(pqSex%`QMy z??Fec`)r3SWF|3{2f%*B!!Yv3l-O1CSlABO*20bpeSlhGjvajexzkD>U~eV4KC^$d zs~6RhO7zFk)||35*JaGUc~&Gs@?F>Not}=LGFiHI9tLCfwv*0YFPOxBso32M?T(8A zTMVnQr;~m24p>#Sr+v&E`YEZe(&i&~3R#Di(^R6jJ2S%XJQ| zDS}BMn@FT%|L&A`tgKW4K_YAWQP_rb?YVX5g=bG+(my{~&N)&?&uXw@+Og7$uA@=g zAmBkopwRGi`CN-w3S4f_>I#za7bl?yj|U42zVGTm*~BVDhR;Mge zsDn*cbuw(18sX8M(fny%#OJ$^cnJKag zwh)iIcQTu9a^CqYOR!l@{>~RP*%4X1CWzz%5WIb88wcCc++7A znAb?%AwN0N>%L|_tgq;G`SPL-^EM%>OYdv7$9|K2i2U*F^jFD1=Lv+Fubv@3n7KLQ zukQd(0~ehd@SUqo9F8g2esy-wM4}str?P!74Yx@buber#+C>A#=h1$FkW;DNA%t&& zA$Aifxw&Hb%WD(E;!;OYGm-^_ycwUdKW8%kc1Uk5N&FQinpIFI$@KpBuR9xg?p#xs zPZ%l1;XJv(^KQUtQzN?F+siPonaxQNG>4nljWIH7W=Ad5vaANvkvFi=lpFMW{g4)L zafDl1bZwpzgVo;J7csvn%W(}DZE|k3Fkqo9U1{tJeuMh06da)o-92qm2Z{|$=qSG3 zRxJU? zu#~JTI$Rjxy=Sa<2{zI>!&vIH+-ins#PeZZ0z8GxUH+eXFO0E3hB?xnZGfd>D%h#5 z*}wCXsk0;-8lMUOpcY+$;g1_MP0RF_F3 zHveTOS+#rBtWAbKJ{FnCwpMOLxJkcl2Fj_Z0n@<|2dDlD#Qdig=1TiCwg!6K6|WakEWF~X%#kK`e|G?7fBu&}&yZI2s@jK$!ex)NGI(V_xfe*^c9-q+QM4pr z%uSZhP{`zmK~(M^gs}9u;KeldB?to0 zCxD2U7wVlGs0KO(%L2#)pnX7~J@bhI{jshs;q%`XuTD}02y>+cC(Z8ZL}%qGNqcsF z^GwqfjQ8TTYd1q?)m56tPx&IIrWI-aj!^33Akcapdv_rL&B&S+&)_$oQGzPb{Mb5oe|@LJQ{ zlDYZ>deF0o)(6c$`VicQe0OK;2D{U#4pl@P$A#0o40`DwB*QxZ!GeGfyMI`P6BnOs z^>kZY7579Oof_M?lO}7sb<6Un!pD5$c{a8i_x*{YTScp~?A~tb)QQAfK73f!PK2n$ zPHCbOVF(oFZXwpZ(YkTp_MiM7Y{=@l-T%X_qc0xdloqedC?nJ`RVf&Mw#`n}1)MF; zV|^lMu&s1d%tx%k_7cOpVyC-^5!n72n-rjN-lY8#LZ||6h`7rktidRDH6eE1(F{YI zJm#R#-*-?G%&zVB6H|XdyXN};4mrUv*YGfut*Bi{>oN;U3W4O2tDtnSr;r?YP&7=l z_9z-zT0bXZV21Z$!ihyD+RNa}i(^nRPr$PpU$mm^bSaO4*m0}ks+OE&QDvqo?ZyXg zjI^lhn^Pp}R`8G}83fCn>YRboeaH@02ds>jB`S+1RsAzTByl>Rex|9>KH-&bb$HBt zARm(vq}L#bWh$ugHMV(|f#v?f$w>HR&`rPb^WFVagd@5%^CI;vIS>{XemOFly$n-CPhmwX~q zuC}Da4+tjUMVT+;a8U3`3FHo1H4j+;>)}4^gr~|z9({!w?qyMPXVIos$|1$Y z&XUceqq{@AjPXglJgdH|i?{k45EDGTX7_4E!YQsc=Ae(x;`1Zp(|-PYRsiSt`& zS)Ve^qD`8-i3IU%_7f=Y)~|QuWPSt28hm$7adt@G-H3~A{?iBttFNH9J(qV@TssH) z&;$cL4K9x9%GFH_m8{(wIGJ98NVMp}A`f{|wa_200a{f4ZMH6(pIRNKO(v<^~ zZ-|L1&E62uu}P}60zaP%(GnuVmycxBRtk@yh9X7F6kD$=rbSeUW{hi(8cZ)7X3e2iXHR z+O!v`j53;ig5jLi3=Ci;0scKUWhRV)v@_=bQO<@IDVF7&QyuXv65M?d)g&mR-9zZ* zIGOuAvw=LdtUFcPsCTHbr2|UGDR&DyYKYZu zNX2+H+O?nC=CEMzMZN?6gOm|M+F~ZOw_kgidmwJ6@$7W7M6pLyBb-it+l_2hUpH^r zI|qvMvi<}fjx@Jxv9aKT%)nBaL}bz5AoI>PDp8g~O@)Q+Ak@YVim`cMhUWYXOS@0?& zh*~VrU$sw!=W~zaV}EF`mZoSRjAzW6+l+}|Nl4hy!`Ry@idnB#*P5&2o$Z`N5njfW zsaeq|6$h+?%VQ?Y(fBqD``6K-XhyW(;)@H7)b_{ol;3m(j}2eHCDFu+)v1!}a))wW zFfH_*=c`YbN5s@|ewSu`X%b045YFK$@!_Ye4LZP@B>k@SMLj2@-D1PsyJi;Fu|+BN zwG~PtDn{=usOuJA0}~;g?A^=Fqh<@aVil}j42q^12DC#;EAo4?VF$y9!0LkhKeUQLsf*m@rx6Nd zd2Ca>?$i4o3s=8?IsPXMRdNJ5XfRw}pCRFbR6gSdG}p?&A*}%wPhzdYQAE%u zHfive^?@|0JZ%{=P1bB=oKZ{Be;kW%`k~i8ink{q68W zyxOTId(MX>%1)%nY83|=Jm;Nd?fD^U z?(v_epSM@jPp{%R4^1d#XU#2ml^stA z_h}36IqS80ZNQ{PyObdfX{nazTS~8p6n*j;Uvg@{LmQ2_p2HN6&2Tl*;~MHg(^CMq zEJpUahnI62&aG4K5MQ*Kh|>!JO&@!iHE<0EO4eEuLvZ`l`Og+S#8m6=jndiwShpHJ zR;}&0G5+Zl{ir7|Q+4l)hE648>4~!8WwdLbA*do&zoJfgSO`JF1f-g`-K+obLetOA zA%k)+!gufn>Eh4pP7W**?nt~Lp10n|R=2OL88<7JJ{%3)-Ni-p`mHrv8TCUIKv+O* zOFIL2)UELr<=R=lh>v?7dV%)c;L3SQEW4HqYECZG`E*WSJy>qB zcQv1wcTaOaBxajUO?w{kqmo(lNiA0=(8!qT~6@yA0XI;2qkTD$#k7k{EMvh1lg}WAUGQzgXtlX1O9Hi$^ zygH)_t7Ofr|H(A57u%8o>%HYc+VbUl_C2Xxsun|Y!v1DsO;0?5pM&F{7oBzNzRTd1NdC6FOLXB) zM*T)23c9$Vhw905lz?1Cr&Gp{x%xBaMLz$fXyNfQiKA1jFV*y!b5^McoAqn+mkC2u zDw*}RH++?T78*5|xYTUfQZL(aD9?W1u(KP$Kv@g0TZ|Q;)d0dUCy^O+g%Xi;trG8I zCH&UmfjK7W^X_@wI_=`Yf)G1LpNIGPjPfSu$Q~d>N^F$82r$~`i)DOx!)Z!>Xht;l z3^(qT?N^s=2EbTPcBkbrI$Nd_%3mD1a5P}DcuI&}8i_sE%lmS|t%|)XcQzB5K`k2Q zPq_}cewP$Wh>;agS$>B}1&Wx`F38Q$(8gG|6(mQz5p9(Q-W&N89Q0ecrwUdt6@1?6 z6CyY~-zALKhMaGH&5^DCb%6dmUj16)0)k zg6r8t#$g|6ZLifmz_VF)Z;bnK!sLB7l5_f?4^kk z1DjCkdBz*-I=dEhvS&?dj&!Z$BBv~S_)*0914c9tHi9_~}-?Cl!gl z35)=-IdulPx z9^`8yOc;o3guNMr?yF$^7*j8N&SScrAKsWz3};q4mn6 z(67J^Ns8*lB|Gdq{C^BvT@nEAnWFkvx^q@OhEPH(7appBvKWMD{EwKZGciZs5ox7g zyH3Wc!cb=N$UpS2oVpjK=jByigj7M%3`8`ia6dI-6d+7ROSum#U=$;vn>6@dMNn*?lVUMe|@-I7&20ApBoy!KMK8*gg zVKE~P!u~4)#kjG#k>vq zu@-}f3BT&q$Q*)v^OP$VZn2ieKD4LR&>YZgj6*=!>;STqyn+hvg-28_1%cqrZO3AWFFxNCN>rYkoL?<4x+1fF z#macU;B{HM*X;c9-n42TKVtMZEq!fv?c#7d@nGxB6o^9!`j zseJ~27}rN`X3Khe;$y{%gC7DI7iejqbbcW&n>BvoDERt1<}mkbYApX*bJNbAhzggV zXw*2877a$-H+)m@m2oy;@+b%1-wy2?rfK)_h*BO+uN2huR(%Cmwh)b$>&_~{$}F-X z95Q5h+Dxy|Co?}*>v5{9a$<{0yhGDiACXd{{!HKP%BlS zr&Uh`ypx_~b!73&^c3N?L!hCYxnfi3ZcTuJAbMaR$|h29)DV9%`zYfthcBm<=7)BI zZR)syt}!=WGu@1>m|jIsj{6_nYfa*83L!{%S{ireFnvt(0Q|83+a< z6WIwE^?dzeSc8ynPa_Gk-8HA`Wf6HEgc}FZQGrQr1*>3Q{ZErS&nW$>!>4 zH7X1j&HF}#BnfHy@S}wd6u-MIo!bkKpnvL$;s;6FT)%3W=I19u|8+M8#(PjWnYNd| zd|NB@!q3(?)oJ|LO4h-LfT^VkelsB0%xXlV3sSYZ#rq}sj6)g5T?LZ3?~H-1wRaoM zp?dq1vnk3+Ld!ja(1|Z%NQ`529P#~U5Q0G9iIJ`0Ys&9m@iiauJvt-8^Lq<4>0l%m zlO&Z+R#kAMpHpr1TyI3GX~;ygBNJ7H5hXH;ub*zhNtkqIqR)dlI~b z^)tfGv$59Vq-so!IKT2(GabGFA=iNi!mUZmchM70pI_$BN!!3$u^ zZl8jFt`0qnas#u^KZaw5KPL>R?_XfJxM;nlwcV&GXMKiS4V~FFx44|3AZ}Rj_#Q3U z$<$^KS_crF2WgX!z6@ZDq4~V^W06;dfRqv@1e^894^N~xdr>W|$aGhZBG0T0$STaQ zyl6^&A|;Yy+U6eydSP5tE8s?+{!W^{9J_`9?_y%DTX+wjPwRqc@7vQLceMc=T*_ps z*=~c#RgaBY+nb&;7gYkNSEK@Dhs=tc!4=EHWefpZEIyb zL8eG*4CfOnQ#yfe{f_@{$V)HRU68yo9 zB#+aJ3MrCMNHV(;k}dcf>E$JQXxnsGPE_{z%pyI6|$2hga=_sXMJL<&}yBSi|j|cXG_>sIY&-nU;roE7aTEJi) z4C%L9!bj*)!&i~vIDHyQ(y1&TSLwj8;xd#&Umqb!RShFE8=8<1n1p*~DCcv->%Pg< z;!0i#=Q0vIy(aTRs{Q`OG-;=G(>-izB`%slt1kvT^PG$xw8LmQh1^T<=T$0C42EPV z$P;19yUd4@#wF42P%~R&ps@6A1HnEtn?!gzu#^^q$HjdXs^1#W4jj9jzBwBwE<9E{ zl1HLy!ddy8PXNCN6A*IL(3UyfnAaZB3&7%wrMDkt@H z!NJRq))ee+Rz_#m{Z3a=CCo^PXUSA-9@H$x9O7~1wW3n$pklV+!-ACK4q=`Zoc=PV z&vX!_idS6fR*BAg|2`3PoQ0Yar1_!9LOX_U+m1rTMM6i|MevTuQvF7{y}Sd_@P3=oC*1=~uxv^BIq z!7{^iUiUU#g^1`X(aBBkLKUr4loIgHDo-b7^J9Sz;OG?iq#qEVIgc=K1&{>X(hrtO^Dwjiqdjqx1Q#gzgmV?{`HbT8!bI`F?!bsgEBUp zkDB`T1rR-5;W>)DK+XX*X{2Bv@G^Ac=6j^57kD*`)Dqv)5CvCt!DE~Dp| zVg#+P$s5k?5+OL?UbUrcfe6}+tVcOZxx%kz$Fc_W95_rMqG9u=G?PL8N<+UY*B(V& zOY;YbXWFH;&(B!o+Imz@W;TTFelG;JN^QgG?#^W>hZkbH}YCApm!?p?l-2oGg-wp|f*FBqJ<=Dk#lnKQFMR5Gu76Gsk1%`v;12N+kosTSq`{|pk&yZ@2`>@u}$1qYl6yDHO1RiB15CWZhyK*hgJF3^5k1(7f7O;DVl zOtT-*aWZW$q318{;6JoWKl=U+c`WRP z*ePuxJ@zm1QCIf!`DNwGX9iKw7A)dIDjB|TnSC(PqiTE2?+BYqXanRcO7_;M>bH=h zt$jpqTvEdF;wrNk35(r3j!JQWJE~)VsIGn!x4-K}#ND54uJY=1+haN4^k82pfe_@b z2zXe(q^wENn%m5(YcJu01}f2xt12deRwrXRPFW;WvhhW3oi9>!qQ&`4`>0Nc+e+56 z`6`~sfIZwE??%Q&xs%D=`E$ZHl@w)y!!QGluezjrQU3-<1Oy2=rY1E z2K#82?!&bi(EJ@Hg4n_L!2N^th9($v9#JzN=_a$m^4@<+j$T|@!D+}8Eoq8?pbQrxR47m?l{gB`LBpkfj#5};^KNr89P=U-`uHWbJ29ZzNdH9>4g0Kd*0X21MW)~Z^9 zptCJ)V+hNKz!ZEf$i{eare#-q2Ua73rZ|)J+Gi+R_^snoYy#9d$2(&=$RU2d>Y89T zk}oFypyK_A8&fPNrYR}|ykaDb>Bm0Sr;Z4o#IjIH>Z2bzbQ}wUtUT3+4iu+c9$Tk9 z?FjzIYp+>*WFW9$n$9L0yW0l>d%Uqn_GHQ$ZImPwxSm}CLwh#VerhzkRs9-*V3Kg{ z$|R{XgTa!M0iSD&Sact2R#QXT*^1hJy5~i?s`Uz&pb}((pI*2v43oCf3jfH8ju{3gaM|pljQm!#1 z59BL@fc@+IeN=dC)%;B2eC8W(xPfPS{Ouw?S9x}dnG51dOZXL_gUlMXdoUG3CN@cr zU&MeZAiM(akzyZM?jCcf?uEax?9Uf1nNjR>biN)dyRnK)I&pWpeOpLVnK$*z@*-SnX<;n@062c?q1Hy{0oc!nc&as#bnF3s-;3p_jA zQ8Y+8%l8E62&iX)j?=bTbev8c!9ZIv@LN|IdDnb>1&AA1>RmgHY(9NazVVS}jnB`a zHv;#V(c21jfU@2}BZ`r8zm7kk9=2_O($~cD>*Uw_*09+urx!T~>YV>S$ku}Y*vBl- z&f%V|N5A=%{}+Nf@xLBlxcJ_gT@@bnAV`7np8m}c^f-S{rj?Z3dPZ4Id=2*5E)9>e zPB+qaJ43M*Dy2<506Qp}~fLg00)}P>NwAn95}C`yg-yFQ3h>^+OkcKI}a8& z7U1?6T!^{q-{Ar_WdwP=1G5Qxb11j{ok$k>^paTTwQWbP2>qdMAo+f&kfx~a zFfxH8*#`~8S(Z(lE_PYch5dQoV^g6^`*z@)x3aiFKQP#u9sw2;<{lLx*z9xr@BtBw zeJ&3em@m*6sk4UvI$UHOi{qsZl2KgNGEz{G-@6RbE-IThfwaEwI$Mm@v5fLd2h3}EP^d453KhvqP!xdzGz>imgyuz(*R9L zf0lQ46<0N^os7B?PzmZzJQa$4;&Ea<@7rEVq8Utalu=;ND5f{IB*;HY_~X!iF?cnO z8vP(?7BRfqVx>c+bv+j8h|8KC(7dVlP}zO$e0YC6j{j=Tv#P;PwHzF{x-wFMk0VQL z*R_jjfRyTu>Lt5w_(3^&7|X-DcSPygP5M^fhz&Mk3gyD~INI=%(m>ry<&CB0)p7sk1?fL&;&O{rvGYr6S4Jjz4u=TUSFA13%Fqbpo{-@s5aq}~ z;OjK;6ZCA-`Yj+BQ(D0M0tlSAD74rE#J4XXcx50aJLH_ekfCSxL=jNULH<78d>3~) z+x+&PAfO&VrvV$%kMeh7j_R=gRLw%x(oce{xtEUIW*)kL1N>tq?h|g2@3!B%B>x|k z1<5ciP0}{wS0-baojMOcozba>*t{#&OR?I5 z@FxS{7&$EMcPXXzIrM)R?4#84;$-mlF{-rbMn7}*m7{9xDB!K9kNY!Vhn!^4u4=Y} zyue6e4F99--6_qIu8e=2WWY=G1Amz+#D(d?76I+%P(6Ppe>S3=&8p7nkBgnIjSmZQ z34$>$=9Oz!o24e@?UA+_bu&^!GoLK~(6X5)RInHI`1DiAHt5|YbT z>lc`8$I4@%1=@AaDKFP}qd|=@4kVnIOTVOIIn4&+uhB7)!yoMduAGcEj{8WBuNffJ zjCnHze7b*($^WG3MHrm+cm$OOGw%!9AjsCk&b9e|Ql}+rpt+O!EiTWgCssz3xIu zkXRV(qs6|jx}o;#D)f99jU<6hNlLb}i~*#IJ3`w*+lJ~kLkQ1e^~i!&GA`QwE@QUW zfLDPy#ab87HAia`4pr=no5^in$=03re6}+O(Xqy0kuLJnM=)SdZ4l$xz&~wJkZIYD}gaEUU z5izFqH<2bU<$EV?^RGR^f{!o|-VuTx4_)fX7QRZeF(!jpOIRc(^G`4*gz2FBo2r== z0Jr-&XN|F?JRZX zZDn){QColHgz+mn^W5!zMZhJK5W**l|8S9Yu>pF~)3o&v&hH^78UsU+Wq9}(55%n| z{d*|W}ZQ{4(w~_Ymz6mnZG<7 zPjzCBs(m+bB9!)MO00zouZLSf?p)h;M8omq(qFvTuiM3eGa}DJvtNXe#3{xx}g2r5~D0oVpZYxyJf;b zEoA+Hjj}4fZRrLmX4}(;gsyD98soSUGgby23mPNWe`x0QaViw-y`>I&COu( zxf6p6N22JKnQoGpbu(DN^xHNPS>t@zgQV_O9l!NMhv1dxWS;5gnvXd5gsjS1{=@=p z!9+;MM~su?o~beFobm6jEgVJ|17%Ioe$VSdNjrG<@3*lRTTKG}iELI7h1KsvGpBQmmJ&?|F=IC=7E;zTT`i^P@Hqvh>0j+j7iioItz z+v~Jw!I+5J3)NEiSkASsXW6Po&y$2w-73je8t1Rw(m83gwvoN81Ux70xu{5LU3Cz2 zvL)lo05>B%_{WD)^-8RjV+`*6?_psyw}eEf8Ug3^zn&D1@{Y9|?_xlP+K!Y_n_x3H6qO#=d2}ZRu@6uvb}qdnX`V%I9v_en?o6 zRQ^#)BlGH;Y=AK>Bn12s2aCoc@T7PGF^V8{)D?(|uw8%i!YXQh33Ti}U4G zXX1lFrN=nLiTyNRmI@`7XM?Ln^OT!JMth8Yluxm(T5IJ;Q{fwR|I$PSKdz+1%E`U` zic}f@$6l?3S>5ifFg>Jf2FxI}e+Nd<3(6AGU>ME5_mRAvUAeq2MHh6$2|yMW@$(s! z;|v%7$aXP|eo`$ehEh{hPOp*x=GlLX@r_e89o4MxxlC#B9y#Z3QO`S^l$NCL;R_aD z%Qb;rQ{yr(QFZXy@9NoM{E7yV?~CdW>`grChkOsO&njq}&$N+e-wk;p8nH{Zis-Myl|K>ub>?fUfq$tSPloFb9&n~;q#d4yTi zsQbnbWVcjt__7Gev(s7IbGiiamx1qdJ zTYB5+Rox2kR;&;K^zgs%s`#)B8jr1X4*#vWE_f;IlyFbwzD%OwrJ;V_jmc{UPU$7W z-QnrGjy;r_rC%=GUzOPKa^F(rU9!$D7LF}4(mf~u+!1`Zid6i^w0 zkTe0*$L|Z3(er0O{t4R8;>yo$UiM-D-lB~Lu{ura z$-7N?RRHSK^yN@7)Kv8^fs@0xvj)9ZNLT2V7xH&i6fgccimkuJ1|-e>4rR_4?CU2G z6%Y^7Amzg#@Cvmfdq(7cVYnA{70*V3OYnkBJ3@+*n(+?22bpA62lQuF)uX{m)Wzm& zMn6=K^=MT<2BM90FJ49c(ZS;j1o6uLSAPEEjDtZ=(SgBz5(pS+Z=wAE!z3ytl3OvV zWVAZSVmoQmy`Ivcnf?y`mng{HtAO|~voyf!@m0=ui6!@-f1k@ufh1}`nMx8;*aYAV z!rzXcgd;24?Hc`o7izfnXxZW*4<2kVMnMkEr)AsntcUCCt}P5oGs;zrjZn{XA4?)u zb`0nmVhwUUwr>=&qm6VIbVoW8cnOS1uhHrEjY7D>LU^>lW>hoT{1eiSIf$Q_-uNJ* z3}&F>ANSiPzcOn<;68R{wH}zXGso4XVegmMZgokGpZa2ie5ggKg_lOB2!jbNo_f!c zic!hWZYK{s*a7=NjbWnPc2{E2E&l<>!L{SL`rfn;_GTC*K|Wylz*L{#dhnTxoKChZ z`N#}MOg=p4zs%%DfgaOr z#2~wqpvr;>tV@W5ATjvrKdi?^Dnk3d!GV+ZYu7YhTwQjT1;5___MHt6iL-j_`)z#P z_!zp)C71*{01P#nWdj@yF2ByTJ>pS?qZ*AX-Q&yIM>n+FOrH`gy{}g! z*v^7n$NfTQT#g+=V3_YheLL`D#?^8@wGg&pN#izwMEoS|_kjn#Wr6hh%27A+lZaw( z@Iw;0u;9*oMVnji@UwQfSCy^I;Hb6hNMoBGpYTPf`!sW&bxfR065{fnYRQ1k8=T`Q&_YPXO zQkmdl)NH5^P0Jrue>j1?ttssT=B<|9A34jrYIW)xkau*<$2@@Ej#jfG7~KOsRMntn z0!<-BR$+Qy&U>h6KR1%guqt{XoQ_3L$L|b2$lX3o>~h&f%i2}J`UlW%8SE7q^iwr2 zc>(9i={->K{Isfukm-M+)9$s)B|CTS`{Y@x(~yMo43Cu>eh+fI3%!e$Z#5qaot~o! zms0F?Fv{WRcg@1(`T|xEyV9rq9voR@$(?la<$~%aBxGwm1nwkbP)2@{(u?9cHN%r% zb@~)~HEfl}m?$&$s1baxvLVdo57)AL=ByrIuPDnb6geOImP4MUOmi&#kNAb>wcN=A{XJLk!zTpJ-i77*p9Rq|136;=l9C0Rh0GhVyL1uqhi z%(LbH?^UVh(4n&q+}hzDin^C>(3lT={vUuZEMHGrDhjT`cBMi5;h@Id?a1B;XNDKp zpmh1iJv|g8wXln2UakdNK!@a>3Gs*I=V_!boVqVzdxNS(M$>x7-C!CkG^ZsJyLu>+ zu(vq(&@!+&OmH7lTJsL>omI~n$+m@us<0VUpdA{(=#32K7)vL?A{jQoo_)%;%n8NF zO2X?UI$$9Ib-~TO%m_m*nDSUKe=0$d<)&&m3Za0d0XtDteXziQ(q~yd-VkX}PgE#2sA##L``cj zP^$L!582kqVUe985_~cGfp3*WSaNQ!Htgql&ySU>1to+9Xf?}&QE$shHPP-CtST;$ zg^&ofOzwD6AC)Iq>YL?cS}F_dsn}gYY;?1aWJd4mil;I587_S)Xo&sg7a0e~S+(^= z(h4cSZce}+lmUD8p8tJdL@GAxAE-SEgjJ-{uO&j4bYMGv0J>SoTF znl36d(zk83dY{grwjKTb6Gs!0E%%^}TWQyj_^96vh*wN=PrQzth$=9I{ITjzq&J11 zq&rV|U(Bvoq-a?DLp)rG+R1H+yi#TF^`XiSS>vrYHaH&t^&$=F~I!9=bqFbb9R@YsBsY+7bjn5&ngo&5R%j^W7 zm901GA|C$6ABqx08MKvoca{aY_VuSkO1i%qje7|gXT*{Gr|cNRMWvzR?=9}fTmiKw zg%Q3)KrtSy4k8jqk*a9c=43wjbP-!?d35|f_cd^Q#h3ZEw8>jbM{DGV)@VrT$XB7g zE?Z)>diiWLPW3+|-=|B}N)%mh`x#{E>ONy)-PATXiMkau6*P%#6M-%naDQoI0e_$f zIHv}}BOBp9W2SyTfl0je@f99gy^kR!=NEeCNe_Q<2A)bW2^?6TDK^yC*}z9`$%Z} z7N8BWbBSs7I7_|*>BU!{Cxhvo zkhwkEFnLKh!#TDGWGGt6?u{w*x62+(=Rd8{xMNyu%>hMWBIWQx4nGyuKI8@5Cp&!dB75R(3Z2mv*EeuM@=HP&lDfsL91>rJA!2 zN%(AT4ITO4e0GKPpSzvg?ia@4jBb;{7wg1MpMJF$9!|hn|}K|xk`3D z1LY+?j;96}are1aYPP_ywNiXCqkOXEtpb34uXOxWn-sXeEHMdu2+;F5uWiT;tEex) zY$HQ`img$O@AcWsNmwjFnH+DUjo^smOzN4>Q*7=xEJR=V!|FR|b?~_E!TTa5m@ydR zs1`&VmPMQqA$Z@BV{O~_5Q7SvURy%f@ zhr2&oBQ|W~x{G3|)s*Q(k?1zn8wVZ(FB!=4o~fQek0mtHyLj-noZHwDyq9errCtd+ z^#Ukn8;yKi4Zg0lpZl;rb0!tYLX|Kdm+?d6IA!|XCl*sA_X>E`jH7;io!EKQQrE)2aak#$9@&tOYiWrEneQ*z;XLwdFH+bCOMWyC1VwGHt ztzwH4u>%zXNZ2r=Hh1OaL~yZVCWLB@wueVLR8y^PrPUZrdcu}-I3{zF*lb+RX9nBU6X08-+MX#(Yo^@tKHCe5VH|IveE6bw|ne!Y?gpD z@rQODznT~7h?oyCW~VttWf?lc@5M;+vZNHYUg{8 z#OUhe%<|4nv??RddKhlHNCHa7qq7&liTl*hvSm}H;E_3LQ%3&Yd!!Z6aj9d1+i`!M zrIB{`%M5dRz^{qyj83W(zv}qLoe>7oklg`I^S5n>HA;@8_Y>i$tuvJ&dqy*|%d{WU zJoGNznTW>KxNkM?T_=0k49?#;@s%G$A#u?6gjwb(evDP5cqx~1k3Z7do6CETGI zvTyW}5!>xXk48Yw5#s9nOloP+PuU4-bo|4sRWC!cpZL)|GB0{2gic7u+&F3;=R{TT(`PqUC5GcFF0f|AuowU4#?>z)ZHA-ZV_4y- zMlKLuTsZR2m5so!@5qV8%WlZP=3$Xh7Q=Imj1YI7!L@Ph&`KN<(p@b0oHI9{b{N&5GH^x0bH3$qZbl}o z);A?{W8IIEf{cerwu-#o&E!!nrv7floUNnK*L6n6%YnEY`t@up|NmcYVWsNtC_7NzzVsk z_9XhetMyP9X$`IgaheSAIK!~@O9%rS7Ad0vD^{1eJ&b>~HwmDOCvf+V8Q$h+o6zp_ zrJgeTeqYfj)0~&Thr{tPAJTS(1S(JMlG8lAIhgCci+gR4?hqXn$X{uQ*;ulj~Fvs(Bp5LsZ>$T<}==7Qi_hmhX&5co`lEO zLja9}M}(fleIt7mi5KJ8O#UdTLeyAxt{-rr=>{{b=E2DBlSWe2sIOs+!1e=cJ-|L% z=f)8%)<30Ff4osgnK2-q>J48h00OY7NsQJ4Whc3xs{bdPvxNHnB^-n4!t@CS(B4kE z6%7*jSGlk-$m9TlxAqXu*DM0)Lu(n-@^oI=sV5M!x#UC?SNFQ;fsVV7N<3<0UL+(I zP+F64YR#AzI@FLx*cc+ZUDVt`by7MV1a3#Iymur>bh+l-S#e zg{QCXrrK=d!v}VP?N(ktD1t)|!=WG-UvZ!1%+*1IMUij^@n&4BdD+9k*R+n-LJ505 z_9&Dpc;=$R_zV-kJuc02Ly+j`Ls33w_O=tSVdhujGxlZJ3e(d`sS0>GyBnTTE1z@4 zgNd%fabT|I8Q(MD*SJ0z`Y7~^n+?JXSST|D*1u;*zoxQ#R*XSXQ_F`g1zQ*)4^H9s znSYf8zfmN>I#YN=Mh*B7Dk@+9?bpiP-W%#V_TH}p3%8y>qj8(P3fOKBX|=oAk8$>t z8^Y(?iQA|xG-VWmj7&^o+!nm6` zjYY`aVRKHMZ3?#+X;C4WZvC5DJ+j&`xn)pO+5R;YEq>wj;A4rjG-}g}gF#3*r4z_N zq~pv57!BJF=lC|?71KoEJWOp_Xn4V{N?8{hd;AKSM|GN{WuM~#@Q(Cr`^re?fNaZ9 z@QiD|Bp}({SlPh7IRkya#5UC~#`jAyR8AG7NF)0F8%id5GiIVum!f9$R1X*A%t&s^Nz-e7Y4)3{cXB$qad)c@;xiGUy26&)#}0*y7xe* zXoIfpc48IP^rdmB~@NLM>y%@lWMF209oQoygK^gJaO(QJuWJRyYTD%dB@qKH#?@p{J7OYb@8 z=J(!AFjZK-LHYY;cJInC4$3g|F$0|Y0xm|pRGFc((>SnYsqb|Pui6Y&dL1^?v?L7a zyjY+eB|?*rJswt+k0w5e@;T8S z%_*w0<$k{`L4-}=Sd_zVj~3jaqJo}&Kp^v=Hwbl{D`b8O75o|9{@ahQD@*+9-6RKK zFtJDuQjp~{@QW_u=_u3eNSL})K=BR#EbgG+#34)G1qF0Q2FrTg2t(N9c0D@*IwmBg z=;Z|~bxV3T-d#AO!fthudLm@_b$xDrr1^j=(Cm7maPT++%kCYx2}Ekp$xc*A2;Xl8 z*uQ-JJ;39?l?XH@&{oF#iq?@8N!2#oP#~e%3RBF{j3uI%ttXjef9;rbLiujCet1V- z44??lVF_6um}!2yV0788lM?7&8Nv0qk&V;jTH3#1*mkh^#{!12Bh+NJo(gMQ3ywnw zTC_8=+UXL(i~rdR#8icHFa!tVUK&TD6lpf16hVh!hi#wH=qjSB;m#5GCj-eJXe4+W zE9tA{pOei^OvK*b%F3YGqAtGe5P!I{>3t|J{;AY_9_*8QJGloG)&`-hD+$xB|A2pa zi0X<>-|*w6&O^(qX6rA;X9kJZBc%NiiQTtCqcODuCTmTu!$v^I|IOwH{mmR}TxGqo z{eWh_pdd-VG)>cGoYmEC){#Vqx|3s;N`DV$$V#|Ccz0Y66%9XK`4ywwpV{B}*0;Z# zH<-$iX~Ra#4cc?m?T@rL-?zE}?OA|&wO}9pT@%x?`iPZ>MaI-0D`s_uSj(svdBKmP zP>PTosOoT*Nk%=!g@aY#)Rd%5n1JdCxtYf7CEHoiv^@6UJ;+D&fZBbL%g*Vp}x+W#GPNhr~ z35C_!olkN^MMZ$3_9DC=4HZ33b4`5GTRmUC5upSq8-J25eKCl1$H5Z7<#}twn}p+& zLwwe$kSKR(T8s`7AXfjH4LsBn_l3ELZcbAf-PkhU& zE7UO5<+ix;b#vbURtwODfcB$qbnAcI!1zpVZ!l$;O@;8PE~B<`i?F-_(ox0u#2Lz2 znxAIec0@1)5v@*y6=(|hs5qtyhUdo42U<11;bX?9NbWn9ZcPyKe{xonP8Ms(ubRZi zv`dVeZr#+=KO+Y$H7y)Z;1Q7qpm6CUUv^tV2YoJ9O6shO+$-sGdut0PIiUr64>Zqr zZBjE)(TZFP5r_SHzw6cJH;He6!L)CYqN@tyaGS4Z7Y~U9Ld5Vdpl+cv9YU9LeS?#V~IV5>0ccC^mUG?Z?4d78C@d zzl9^(VLa1`&L^?gRXzwpWo}W5xBlpF6M+nE&jf-{#l3PJ4+PR}!W3KyWj^3Sz>tuc z&tQU4+ee9RWWW4=d<*NioWQP+Dp3%;{02rmg30GRNUe zvASctkybr2HOllHEb=kq(-TmLu;{MJsloq!B-Y?T2|*O@pI7h>XEfUMVbf-Ti>fl| za9ch>Zrpg7y7^(VO9lxJzT7LqER7Y*>cO$kQWx`tfKmK@GUk%aCO{(a3rP@^yn3b) z_enB(jUa)jy{n(8{=AM|F|)n|AF>WQvGuBajJ|^lma3TzY9}m_5p~EBmJD32p+Gsz zn#`pkQ}=540hb=rraj>abS_6bbIdU$4_N{MxG4A3*Y-6&&@G|*Lw+SE0i1mgjsFRyz{RlVT(Mup<${DXE$ZJTm46NmfA}TJ#zj%T4j+QqtOH8!BK-1n ztvuG)J1GUxrI5{;?)j6DedGux(nZF9H1be;rsD_l$>ozZE*}JLZkMdRZl)ps69Svj zV=Jc^xnf*JdJ2rg%rXU_o?>&B0(3KiL{?F{rC~13oo$DKy?%8NkH%;U2LrB+22@9v zR}fuf*@WU?ZDU~-YIOLfdhH;_wgT_L#d=*IaIO2dGT0Ur7U+8ISzujNjmJ4cbkO(9 z)t%3x2(`@#N}g1!T?*!w?SXXmDjzj(vEoC?`nn^Ta1oF}Jv8z^xUFxjkisyI?9=Gj zn!acozjP5&)mHwRP-uxU!7y63Hv&&LFqIW((jqb22_vVE8AD=<`T^4p9!Tf|n15rx zYHv2!h}CrwgoWu>5Zd|iyDP-QN3*3!@M$W}%c>#JMAT8Y&w8IW% z;N4VV)BD|)7K zWiFcxz%dE)Xau5!fa?-&U3C$V)Tr&Nyq2b=)J1Rs86e+ugKik|Kao{V@0J9d4LYC} z;-{YoHl}7NzC%?OVULTEJ}7y4PH|Q5z&`LfalCj!%CFp9leM3Ur`+2rps6NRHl0#Ls=o3gN;_h3f{YyW%tCn3ykCLEEd7z9`@#0b7dWl!YX z;^zYv94XoXLZ6H8d>pfD9-E`!X-Q|%`NQZ3V&ajGHAHq=MgB#qd&5G4KZ^sC2|P9& zL3Xu)Nu?Y@y`>kQ|=!h?vt;~YQ!1FXgEi9_F^A9oF%_GuN zXkPHDCF`U_s+u{aTz%B@Z|!CPJN3=*uI272c#EvUCF^tPDZQr=r%#LPJ-xF_63bo2 z;!P=rkZ38kV~)alse783D&0T@=*X>kH)bN#^d}!irfXxBb0|s%v~$5@aEaaj$^GH- zi}Nodw#VL)k3uN_@|;5g0K)ZhJBYLGk!0`3-x4)U7NlLhG}>IGRPTSkBFphEa1prb zmHVuUxK3>Rzvv>n-561J*?j%Sf365~dp5X$HKo2rmA6WT)TM-*qW+JQxmUd1w1WIw zyA#IBdHNob8%xld!D&ngXDsj6sgT)E9&YYwJExHuzP}HLKu^|Un;6rrK(;le&9=oJ3Iq@Ib}S&?ce71Q)Zgj&Tc9I; zMB>oW+FLt9*T#@dkCU*%69A`yT2bVZoki8JjfK<0_gve;WDMWsoxsrWh) zEtK~2j{8<*P9Org1t-&r+wvlSSc0q&M~Lv4&}P`FGQ1w(tBaMd&#FC*)}(vyQ|Ae8 zZ>-U&OfH<6l^7_?N4>&z!)4?FO60~BQ{Sc_;d;(wQRj{O)6!PsHgZ8dB)x_;Zc}GFnG0tcV)H0f-9zwn1mnqc>X8rDcu_zq z=1bQObTWNnAOP95J6u>WW_#enDe{(5$MwYv%@6d8yvV2onlvTeXj+J#2XlHF5Hnv~ zrinL+hn9rRd~cxb+K4r!*=(GBg2Z#4^cD!Ns<|UmmG=-4x{zRACnWOCRoard0}Gji zb0|5&@3hS%1dfiXpd1MV2TT-|xE^#kYq7oP!M{?hnRxIGZ=h=KTek=!jgT6_qO}ED!ult1_5D&a?Y(UUf2K0~>h~FFYt%&A*mMkaeGqKZ$HC=Ol3Yc|=vvppvSes~G<2{ETQ zH&sgmzeAyXRdjIioev~^Fc;ulbn|mRO+L1gbgewzc_-lUKcrA|XX?I-MwGQvFATdr zJ0z6ah^%bCEvf-~U))ERlKhUI;W9im>!*k6_gO^fmB|cKWqP2jTX}>4@DrCKOkZ^kLtFn7#fLkBz+C1x>RZU(E_F z0{qIk8IC+gEJe8nsQu-)wRHiGvHD3Kp|}28!hizb{(C>-v3>QR83r+zWnyk_qU`g| zFW+LE>uY*wR`u#+9q4$j=vN@RKmxQ+44C{-)`1#CIJmva2T%ail6olFyrhoV`y9i_ z-kI_s?u%yO5Qwvfylj8yfI=EhdJNN>b3{mi18Lu~iMM&emr{VjXZB!o6M)=Zm|rmY zCDaM@kyf^s#eqEDJHc?1o@gkXbY2Ng2a8e_LYX{cgqVki{HNf+Zkl}?FyO{PnID}h z`zZhJM31OH+J!m9*krG?h#mBH#nIY6o(-*DLsH=(js)d5{SD_)5N+2F5UrGz7jQV>@OpRjf#xKe&FreQjpi~tEXB#a$tSGG{fda}VR z%NsQAD7=aR6#9-eA2;;EHG&KiFZx&SbbDu*5sT^ot0Bbl5#Sw(<`LYqCH0$_U8lL{ zCLUAWlgadCpO5kZ5*r2IHY04~<@k0C$6uS@D*CJ~@FV}N4;`v9cDXcYgGl9ToiQV& zaOgUhUC~=g3AicVwpK3*3V!02Eq!m>)4W)G8#?V4p6&W}>Jdh-sL?S6PyFEqXlcIP zePW0v;^Tvt?-{wyi*EFeGbhkuW)*o5*5o<16kD!AdJSEvdyU3RkAX&r5z0GV6zi&} z;B3{=^h_{t_~scDoD*0jCygwQvGcE8nnUjV=GkMljhb2Kbuc!qU`oIf>j-W7HQP)Y zC;`M*+1FA>!F{wmhhA$RMU$B@WN^(Rmj9U*% z8s<#-v}E!FNvkgl&>K3l_nM;WdWhol{EYJBy8t&j9D1H(QjGXq>J6H$hry^Z+=pCb zee8#YVBo+DAvSMG@4i?S$T%YnRohm@&`g0%+;=)4L!!+RM^q~h-<%?f(_Q!+D)g_) zt5%X4=1#g&v11j!pbPTgqqWG4ygH7MRn zZ{cr8K_yt9IUQ|0j0Hd9z5YSF&DTSVV-VW!4QiRjLq=$|4|YT=SOeQ*O;kueB(HOv zQ3SQ_xg9QE>q921dcd`WOqcxDz}n~$RS=o8o1-qj#r+FV48gDee_)L^!NA<8gN}W0 z@D)xfh`lO&uuZq5@S$E6k-8WT=*4|>qv48Kk% zz(l5nV4BVWf8!tUt3_j%U>=kSu_m7Oz)GHxxb*@7z_6lW;G01}CzRi-EQQ#|%s$6S z;dB#ih_)hWFpLwkOD!bx2bDow=7>sTQ59gx)|e(kGl!cVf5tw<-_@+on5QLt#LMqh(>==3stH z(I*&N&%)1D0mAr^X!<*D_qDxOmbG(sTm=|S(4hR$P!M5Bmp$J1XaO2fGdypnbeDjC zw@`#$Q~go&b?QFK=`v9Ari_}1R(eI^5;we%Mh6we`*OKLsV)~wS*E_L+bKSbb3}99 zmbw$39iB&=jei7Ia4nR?Wfivg(yfof2AuWP+tJ2g!{DD$P(1Z4QRn|n>@s#G)G{eX zdEngVz|;j@SxQOgW^cUENu*k5#PfqU2{QeV8+?8vkF8SMDLKEY*WK!FcbG1zL5iII zFftk>5sm+=eik;(z<_2$6#(9NELVAvI(_yRmt-2EckEUB>uK4-n$I~ava>d7O33Gw z19=~pPzsZSJR3A1va|i>P>@YjoVfa}IY1nFf-Dk}yb_42ZAP3VM!T?0#c-`~H-!8g zjag5+_`=;IpbZn}JHl;AF-zfLjWl-COyvHR*MciYKC}@$-TYO7IUnnZ^MMgn!1r{w z0keU#>pDA`oWl9XGei!#Gs-MXj{3QfbRI6g?^Q^8>4>12jNijc`k+aUp=+H7NDl&% z?^_=C=m3)RLA`nHb56@hUUEdBPxbKY+EiQ{IF9qi>d-izaXy643>O_)1pVwhvA#^F zw0NPz8R3|!Irpr5)I5O3IW~cRvaQy%#=2+NogU{{gZBWJ6B3CCJ-lm***8PAJV3dX z7z4(Fp{kxJJ`pba$Xj@Gvii-tAL3$EuNMkRc6*$_5C@-bNwWW#CT*T5@b*9zEnqf$ zx|kvfhdP8PeV9^hcQe_q3c}&`{Fr5W9nOj!T_D4mMG6fGk?mLA7Yoy)Ul8>u-Pc%F z{!IK6!#K*>qQ}oIF|eC#LyX|_HR zf(<1Z*)+}&Hcq+19EBl;I96Cje9n|7;4~K$yBL4)uDDCu>r^V|K17O4QMwB(GZ_<+ zoAs9AV~1X;((a?CmqJU~;??>raOUVMvZ>3aT-fDbR>gjt?=&)Keoxa%_sc-;#$uE8 zSwx}}_B0yxfzQTL@aTR+>PKJCl#SS`msCjpnD09teR)fn!#;5=At*ST7j9!tpFzSQ{hVU*&k8H$vBRT$q~ z2CywD-`dG|?uc!r1Gp7Nb8}zrLCE`5uY#e0MZDjk_Y9Nj<%YMW+S9gHKZZ$KU_R@E zGK*Irl2wCLaG*x2xlqWsNBq5qPiGccE!x%`DRFF&B#%yer9@Kh2?VLE`xh{aVV#W3 z*BWMv3$h^@u;v*a{~l?>hHI=K$accz&c5e|67n(%zs|1k64-$Rx0%wVHnC1Q$4MQD2&b-3}oSI zn$n0=#@Jkov*v9B4rcA4-L&BMAGIFiy79(wW1jwic7GyL=TY-#RCu#nd1AijR{%di zz`s{~ak>BsyJbL^YPlg5zG=znCBq(|gxJq!tS;>Crka$^PsYWi;4*m*T()7oaYycG z1xs)>h>`81rm1(y-x}}J$=6i4@j`6X%9-cp0*t`aOedicUIVS4LVbANSd`~v44|-= zJ3E^g%lr%~X2I$xjLxQBN?GX24IVrPjZL)HndL-_`ZTw6LKv$XUn0j*=ygjyc98e}R0u2u5daa33&`J)P^bB^V{d#gW^Oa;l3Zn0? zzoupq69-4v-$|XB=SF~MU&UL|G;YBzywV!gk>3{6{qK;wm~@(c97zs z`1B89Ou^erWICRQ&It5}_v_D2eqAlx5eyPgtY~h`wOKVx_W)A8vqQt!Omi<(L>e3{8m~Fr2e?1D>UU#6Anq$PHorF5LTngEWxWvr4`ISF&B`ZXnsUBX=UqbIp9>VQ?` z^FC;E^>oVUIti5NE#D�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

    cKO>?!;VaHUDH)1 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'bMEYGx&)-TKQ1uuuRuSB86i`&ym0I;KzkQ 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
    9{>s$S#C%PGyRM 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 diff --git a/amlogic-tools.repo/bins/j80/platform.conf b/amlogic-tools.repo/bins/j80/platform.conf deleted file mode 100644 index b43ad6e55..000000000 --- a/amlogic-tools.repo/bins/j80/platform.conf +++ /dev/null @@ -1,9 +0,0 @@ -Platform:0x0811 -DDRLoad:0xd9000000 -DDRRun:0xd9000000 -UbootLoad:0x200c000 -UbootRun:0xd9000000 -Control0=0xd9000000:0x000000b1 -Control1=0xd9000000:0x00005183 -Encrypt_reg:0xc8100228 -bl2ParaAddr=0xd900c000 diff --git a/amlogic-tools.repo/bins/magicbox/DDR.USB b/amlogic-tools.repo/bins/magicbox/DDR.USB deleted file mode 100644 index 78239a127feedcb1e726f5bf07055afb3ed3f854..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49152 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

    =Qx~RyUUw@(N9%6I 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 j$9H%Fe?BQ)koLV2cENs&7hg<^#@= z4IBGB{LjL?HRJz1_+M}+HY)~pMzOY-+>lcu;?cqCrpLgNl>u3w%s$MP6ku(p`o`Gx zZ>qR4xjI;X>6I}y)v4X~MBv$_2@{Y@Pl$F>KE0J92FHbl%dL2s>s)>Mx9O7DtCooRg`JAeW3f&U%DW7!XF4x}>9I7DwA>ryzMw%!b#EMdWfz_#h%BTVKd zP6tG%MV{#yWP6<~yyYkDy;*q1aSdX`GP>Oy$LU&?&M?FU(mItc+HGhiDV=lenSR|B z6d7IDDcCaNoVJv#7$5R5lZ!pN9+eI!w2;F<3rlYHG0Ykpz2PiyG6a6kqI2E{@$^M+IL;NOlw={>e~!FO7{B-~^sn># z?mNJY@AT%t%2V5rCY(S7W95wTf>Qm5gnt|-O0h(#Nq_Q&;G~^{nZJUwB4t*DJ?s$}wLUtSiLl$ZP!dSR=2O){;%I?AJK8`$AhQ&}v=lh^QY9fu(dLJkMh@D3;ef?X)}TJv7!* zJj~Q`&k-)F`-j9(-)Jav^zFK=lapB$|&J>$EONwhc}_6=XoV!yvR29E6|Id z4lz@{?4zD6_){edH~LjB zOR}aOwi!UEDZsPo;E+^U9gVn7!W*D3=k{`c0S|G>yNTQFZRK9R;^#v1+*~ZvoZ^2F zjT^XYt#RD7pz#*iDk%27T%p`QSHk8Yn{%S8#t9DwrwSCkdx$(Gujes$d9pW$l{K(R zX{RWM7ex+gKxYu+kr_prx+OwvsM^PdpZQ6#L$mWWOL(Umqb@cK$SBR~i^>oU?(Qy5 z?n*3==nh4M3)0Fd^~u7+1M9$DU_V4@2T>aNthxePoM6cNJQ4H{9b%_zwx95>PJ$;y zKzRu>8qcl3?7(h}UygexaGLV(yi>SMt9BbOi{K?i@{>5HD7Hff;{a~ly+f)xy+N574wS9X=}Exz z*K*ShNy1++Gh*?7_plx-n+B)&WTDhY*Cn_r@-b6y2iB<7w5~Ko;pd}N{6 zIdnb+H5WMG|Fo;(9-KJUpxHR+sfcEsgRvPHDe(190y=aaXd{aA5vRk!x$SHVwV81y z3BoY#>-1YTFi7dl%Hpk2@D?Dy!G;A_`>c`M1o;*-KJj&E`9dQOpx<=UTsr5qR&70v zW(^@tNpdd{aphG~9kvZl&j_i*x(W$S7~b}$5yJLZiW>a^mWcX{0xo<<{docdH-YnDje=8?XDrYQ8sPkQGs^T2JYnK8Y6I}i`fvY9WkxKe_zFdyp zItx~~6t8x)Hj%?5xe&!(Kb3-&C4=O7mZb_J{nl+HriYTJ3(Qq*#Sdr9B=bq4Od_zS)rMyxYYJnT=$=LY{8H`}0e zB_*mFbOEJO(U6$WB^I%!F|BjJ1_2mHIN?Y+K`BN zbXe_a4OodY1+Cy-M5J@rRYIiiXJFW#M~sRegLsM5*JIGU7Oh+xO6G8XzzNQ_yuJ^Z!o*}ZgyJKU1v8d zt=r(aMt*CA^Dpxm;u6NVh5LAYJw`H}np1!@1wKl(L{MqrJ*q)1vf_{FC&nK$Ou+qc zAPz=0SmGf+D7m0k%tPMrFb2Lq22TNeU#9^xY#JYT0g(dvcx#I#9-3NUr${HjQ^4B_ z_bYoM1Imp0&112mmRw+UZ2p(tahCXF5rqTZuz*%5<=A@S3sbT3Gse)TDCj8dX`=o<~Y$sf|$;>qA0*tQ|elG#LP+eG* zutisNYIAa?wXm~-ZK`KdPD0L-(Xg=1?X#PU+I%WUyr3In0&j4ahiqN*%bdV3!)VNn z;zPUG+&R1gX(|wbv64Rzty6TjSDl;B&*&tZ!(PvlKF32L-PLxg=?Uy_L&N%Z#9Fhw zl9*q$*K$oKaXTZx7;QNcFPO(<^VRm_43m?6W@##H1v{9`4t+BCfZgqMr85!Scgbl&dpw8vFu7J0%Rr8LPc? z?~GSn(t`9V(kmF33sj6i<7JeGptEGlQ;^`=b%#vtA@=lkLq?KN2b~{mK{2*SZv#8g z95wKa(HAge%jP9xAt1-4@Y&pd;s^_2)8?Rl#>?p9ab>zwT53E+}+Vkv8(=+kQ zi=(;>Ib*s?i(qBRBnfc=;8noSD_@ETM|>K+W2SEscUhJ#Kg}HDXJ35}?CMM67s>BQ z&9&ziEiaDiT5aEDiS9ChyEOZBD`(qFi;{#h{<%Qsy%ujX z1wFcyJUoR)m0;il!U;JX*4yCg{QrP$ISZ^-TDj>R{~S>)3bqNc{AeA%Tp+hA)=H(Du-83_ zsO)xN*kocQmh4V5b&x7u>$AJhNZLx)kYjtsqP6Od)kBZQ7-+>O39-BrrwdIZL+pE-KhmAe0Okrm5-KIlv9B>;;pKe=UbbUnv zmtj}e1Iw^pVYef8wk{(@;1N?uYFV!Cm@X%*^M-a^h7#wI6rpqEYWY)x<y8hRs3r`Qa8DZFj! zEMc8DLhqB6O9xm{RwHqm=4g6~ZW#-7@VH!<6)IJvi2ym8&g)xJ0} ztOAO}`I)126$>3)TuEH{7|aoPHFKI3rr`XT1s;=dbVp+%MuVn@hK+Wnu`u3R+}lO= z$OT1_!e60jyNGp>=1VS6H>LG(6XKymQ% zV-V*e6zi!PC_#ULJkfyYZG=xfX0hK}%e_}D^0`%+Hms{{C*jNNVss~=*KPwsQ3&}q z$3s{DvzO2v)QBYxoFPaqe&sdr-=X(Sv5JUcG6j8kKNnJ^hDY-p%pMkK(?1NszX;OB zRAE724p&)4s0d$Oxi>42X)lb>{@RI*n+)PDr1r)Wl<-N zjf`e4Ktd9ao?h!?CCy3_&Ho{~qZ#Ozewpm+k^b-S0Ua&(BDfjzMj>cHx?>#hFd3Y6YIl_J4qnrx#i!o*8}3=G~N z%QH^mrx{Pld~MyWlTmoP(qjSIVIbq z737%rJ(Tvo@ohXa$qJ9AoH@KQr+{ZNa;(5k%$b32`S>;wI!tAb$pc&o>ls{O{wOB% z;FjC2XXx& z(x>?LIrOWoNc+I8-H)+Id@FX#W<3&ca+;?x%x>_5yB8w8kA!pNZrGOWUVz__c7w0n z4P9t6^rFoyk^%{`+h*eVpc9e!J`3`6AaVGPwEI0Il+%oIno({u%8+0CZ=BcFRXFvh2-o30FRfNffvO+J(^@R+;Ky~o*?t(~8*$ZKBxf|5{Ngu2 zWG6n|WRDOY8dhWH!MXvDWm=*CJg8XIFCz(Hy`Z)1@6+V*T7VfBhcUWkWD_v*DMHF# zNak}Tj)5feM0=8Rq;SR7ZCo+t<`!TLjFDP&##hoD^Af#9>%1(QVO>gR28shBimM0I z`&kZ{q~OOs$NtY4^F3-;QZ-rI$#<8IZZ=B%=S907_jNi_^L7-EAcU4A?~z%<$2qy zDgP4swv%3F>Lq>>qC1Xa3=<8BmlE=1I{FSpm+!G8pNhs>@ydhIr4&_{{8RhH%_Dtc z(}*UZ>}M{j!;4oOwWvH_1C_klqU`b=W%HlG8BWjP{E`_yL9s-{cpn}af$1zGteFb` zcBH=`5w9r6-@82Rs=sibxB{iuj2O}>&Re=r`OdFX;5Ur?79`>a3+-_n&M%!hQ=)MD z@OY_TM|n*0-E?pUgM_jHT0aeq=Q_91ZpdJ>o+50GtXr^4v=^&7K}~%@QKB$!cnZ7$ z36+Q`_e*Owl>zAnP?2cgL3~e?vDuBCEi1?Vv{c4DKu~1HXm~fuAt{F$KO)Y7RSccM3w+hEVlZL#KkYYSM@WVoOqZ7;oVjxH zPZ#2G@)wTQO_lp4S}K=fR9!9i;?QWhk->7quatYhkDbP~qAJ_GqHOtH6_~N}w$+xfJAVX)e>4rE^I46q!EE zBjiuxgH+^$>b3An8xhN~j+DS_!sMVR!b^nY5MR;7^?QL&LH&Nw-dn8=sPftA@mo%B z))$2Yl$*%o2|MMnhIRj4)`b7xWx0Z7m7}bD2@7T%Hw{#Nx~*1{;u8iCajq)o1MTzd z(BUu>N!9=fK!Hu+k`brPXn&kPlKahj$~OsCdeiw~@$3kABI8v4Tc4wup>t{&>x9)c zG(`>2VX#e3oS0Ouxi;0o*ph>m2JqHjdfBFQtRvwjl)?aOF+VxuAiQ8tZ?*x|MY(qx z=K^-H($xZ+zxO<>i_K?&psp@Cg0r<-UTc8~i{J;?w`97npDfe7Jg77Mu}<5X-<0{2grL|U|pamg`6veBm2flJk42ZzN!Au7<1=%HJhp|=j9w)mwU z@}9bAPtFjk*~T#R(C_PN;ZEDrpv^hFFut9g4lPB=aU?z%D}w4s;{s+P!p=!@9WVcZ z>L@PJAdXeBbqu!?$jBd5C%FrQr*In2vrrGl*v}ufKY<7VuxZ~7u0Z!rHEI;%2ewCY z*v0jQ#fq*sS22d~y%+5R)xFgr0bM?g9JWXg{7U8CB=k1}j)g2az23=Kb(1~H9tUiP za)9cik#>&1qt`m16<|;vNf-uTCx+5PFRZ`0IH8MaA}NQWkGS@D&p8Ks*HT7BuJX04;S$ zK1fzSsHXkad1S7&5mG58X8}K_B)(e*YSuv$z!*h78`p0RuW`=@TEJ{BQE2lkIbl_o zJFi65oegZ~Fd@WeI_Nu^jjLqe0Hl5KT&VEKKwt36GVmL&!hvOe(L286f_Hq`cFT`^ zT2~hSM|H7twp(J3N8z)JXQyokwRH1uw~^H1P1}r0#;_KadGI2!6wguQ^mI|Ixp-(A zo)3Ho%;W8r2YH^P=*#yLzlN^7bqTb?^f)?~bg z4dgQIWy1KzX_R(PuF*gnVfC`5X>73f{)k!d$qCRTrK%jjdK zC9eAYTmL$uz*}YgJB_c8jq-bEVZFSxa4bh?a$DgKN?a%LL9~}X;IF;XS|{pYL>;zW zsl#;Cp&6}Btd8z8&!6LI0P0f-B;$t=7C8)VO- zq5h~NyYVp8b|0uI*LDP0aq^h>BtUf~EdF~S5$KlQP5ogO9;l@r*#KJ}@+Z2dmZ-W1 z{O?kCxM6>=f1UtZV1>IK{nK7f5qaoMgjaM^twH$nFtz-}0kRcdf&Ph>IAybNz_A?j zE01Fh!(s!B_|{N;vfm>MUPxMoz_2-O8HbjT{u651Sx=Z-s#Ru||H>C@&fw;v_Diwa%)|(WKarSzIk7hMt$^SEcF~dxUxj{w?`)<8 zTG~ALei=DXr)^lwlW6ueXl4aP9t*&q)yxoPY$D?IrV4e#%2wc2K^qy5-D2v% z{vM?wB?q>p7)jyqxC(DwUKHaSf6Zxa#L2gNlw+b`0~HR7r%1!fw_R^oE+{i0MW3(f z$}j(`H-l59D_X*Z2S;WDHzZUrN^7di)4QI{M4RTeuG#_V4UHJ;)3aDL8RN4aqGE`! zYWPR*UM}r-zk8(LH}pMvfO3Qj1HtbP9Wc&_5B5@7U|iV*@3`_Rq`l|ImG3?;qv_K= zL35w>2|Bl{@tyXHX;BP6Ert=MvG}iGI%w}$0C&^{_`X1a1X;TY|7k83h2r-RhF9U5 z_8i)O-kET9ex`BvLNZD?a8I{w!TgkMAkA&WVfKq%BZPf71e+rVEO%7SMeZd>veH>Y z0x-=tqTO>n73GoLw2uBVpv1g2W8T)G#|&;|LmhSvYx{NOWCS)_1KtILWuTqT zG%WUDhBL;K{4ZYGyZ$+#3YKuc)aT!MR8kp0EcA>%(Iq``lqXq>!Un$7V1d;boAI$P zoay*UQKeW#=c2iOwm@sVRg!n9ZplrbF>hX>sq6*t8tV3`?#bo)Zf0_TXQmEdRD}Zd zx<`BmeQb1JhyK1SR%0ftId~n~GAtGhzwBiupF`g7ujCDdE|Hmh8uw0JxmOKzj2kX! zmHd@EONMY>p8PR#b@Cs2qw#hT_EjDD{+Z{fSJ{-&&ZcklW$A&XZBR8aIrIB!4vgN3 zHQa$S_t7i-GmQi4OR~|1OvXlin4Bs1p~;$uzPqYJB@Jr7I0#86$suST!1_NxYbwR4 z+loD|;0RGWZh%&Py63>XAKmOOMPrNo8LW7dJr{uR+hoZG@A<+2Tc9#dkSM7fpBkIM zY^iFgO2Rl-G_kIz>f==jtG>csAnRshu^XHY$T@x){>3X_#b8dzSL=trho`m|>71mE zr8d!+w57{!iMG<&cP(@P^69r9m^~WIGCKcW7T=N1r){Y5MDW~3@FT-w+c48OEZzxz z1QFLzXBIVRlJw`>4RV%d1dyK<{tu+kkC z|K?K~b!c0phb%>?FK@!wKaN#T{?;*s6La~e=%bHi9wfM@Q$M|s_WO0?2CN%5pue7M z+k`sPzE0i%wBr($k3fg-fL$4ruW*h9x~5rp8hn_J8Ac2d;*jLp%4eHpp6fV83;ICX z(X5DUOZnc1wbUF*uICebrFlQkQ^EC%hb38poF_xN51ldk0kU1sPFQ(i{-cd1v~dv- z+u41C;$xKS2#we#i|%+?@G%af^7IoInmNi@*DpZDBOkgMeyu7 zdN!u{@I&fV8b@;1EV>5K-ySQfgM8&Tj0!C%8;Me=*QX6_glt8YHTH{>M@ZJ#jQb7v z{YSUj)c~K%{~2M8<(@)`-l32W`ou-3?Hc?FtX?2)E#+t|zl9YK9s{7^Hl_ANO8Ka@ z7>%+^1D(D}bJjUtovzChQKok7ulTAmeib;|hS4Y3?acNcVPE!fP?|Wp7C2Jm_HTz>lq_>SW!(#_ zSdv|7>c507c__^a|18^}$;3wj@yw%@4=@mf`RqC1N0nf?tFy+^|>T4-S_+x1VXLK#Y{7HQ!mYI# z_MO%yi&?0sebp{9YsZ9p$Z{pm??5Y3g~{OAC0U`TZgF;Z-C~L#a%7~%%NQ^7dEh#1 z_Hbc5a6#w5Dy^$JRM>$ww!k(gRfzOwa|?XBFj!#;m;GT4+D4;kDPp}4w*}qrB>0|K zl7-k2vJ8xYjasUp_y60gM=RbNwis_k{S>HQL~XkLVVuj&g0A+gojhvjT2cD|>dXjL z8$-#fX*pfrwGqGKDx9xb-0H27e!nevuipcEfefa*J7esDyGje7OBW=HzUT>cjcwX( zKV5CJpSH(4!-Zr1aZM+FQnBH}+y2l7@R5od_y9yZqgy+wd&Fhn_Sd+>8lszWY;tR~ zjsMx6*Mz6vtwpAX&$}15<7P7d7u4p5oOSKJo%X zt@*p+IDWFVsW_bfs<_J2sa2i$v)uxFVk=OXNcR_>chu|D4xCtmy9!0Wce(b`36D?J zZ4p!o58nMVv`{ur5?YZKY{jE>)QWY@>D)U~8#J!f#WOv}wR296)_(>`lNE{=+4{A> zo}?XUP^=%`gF1Z+dBZ6G2wjnbctzq5Ehff6=SYj0aggkx*v72s0KfQXvOMoP5XP(n zyyJV6l#D>=a32>dc^>U@FMjL16YY{~txzD6H{ykb=e^Q$*#u zp5j>k6zbwBe(S$zEZ61u|3+g6(fC*IGt#{K&JlTl{Ai)!hc{{hWaaeD%q0jhfh;;f zv?K_T!1d87BleGVBBGzZ1U933(>O?6Bbt5FOY!^lJS+VwcwqByunOj|q`+B@FxTpHvy-$2zZzS&N zes}Mf?~Hd0?&*Jb?~tz(QfsQAAuK_vMPmJ@(w!9PTWb9WUIXfz<^e*slh)M@eeJJj z*pqQ@L*Hw!@3k9nr{(q0^<=DbY-^>RsQV~ZOX{cV|27u%jX58+c=0*v#ny8j8T)Y6 z@!+fHWZsPC1@YP>zvQ&?xr$RUJcqLsr$d5YB+gw9I$IGx{yyf)`(D(t!gV6u%xi?AA&AXTr&^s$<|WqHTx=!TkNuEbM$c+PbH|cmbxtqa-tPQA)VIInV*4_+$>K#}e$UJeH z@WBw-m&hKp#A9lL^^j#pv%q7{LM@(#zI6-u;xj(8W3F^Eea0tq@pLNf7hm_&>61A0 z1n@GjGxjJYj<5()ydg0k@1O6XUmJX*`c|L#F>>0Ezz-peusnyLx563l2<3Xxr;;?P z#7`eWE*`jFt>7G^%2kbY!mSPZ2}E`)8*+)qZ7t*8gEqBC%#mbD7kMpYE?&f_mAQ4I z_mUwccz+qkew5#H#L6_Mwl;EB*zj1KJFCM6>BqUH{Ij z%j)29f6S}0;w)kPB1om*)2Jf)Dvi=OC-+=iXIUgp67epL(_N9>!d5KSX-#R+J0 zojXKoGyNWe-$_c_DskcQLOV__74Da1U#U^=^QU%mSo@`}_1Z zB~ap%c;)3N;=aQZ*}ry-$Ly-a6Q$6cx|Ti{5F_ex9BTBoR3p{gH@!FF?mu7=g>qu#vO35gK8AR7IiGz0pmz~+ z=JVzFJOE2`rcl}cz7nbMRqto^@7-h@QYh&xgz69h78|I!+L;F38Z1}Z&9F+|&^P`- zNTa5K#`|Dkbi5~e+1w?b|9m><;F|9@I`bc)-g}ySex~*lj`go&mjRByf(i zH}vTb{J*&)0}bA2>x)5eu2J6DRKTn;DJpGPOKh~Zm=p_agd?%Qg!^`+3Zxa+5icOw z>C^l&Vb3R9V_JWV08gOxJC%C~wm}a`>v!yH&p`7;EBN*w>sVUD`^0>VWm>(5#2YdC zA=3)3-hJXyL}-#%?;-JR!U$U(X~6$e!qP|{hwv$fE=uFl?x*wrAkP1o({8P#{n4Db z)@qb`+~HHZPJ1;#0Ma!t1uE<7BYDQTyt2z=jO1rnfA%ggvV1Wt_AnRLQ5~0pgB8RT zLz&%Ea0<#oG?k{}H2zbZ$F#;I@}oEF_65YZq&fXLc8I-}PauOT1ucfe?}ikdwlNH4!!>-YX!y+jV3kLYI6-_YRxBo1r8n(n6D(A z8A%30`6X6c#*)&dLF=ks@zh|icyW*6Mgk8+<6eD787oU;1OcKBc} z#`+Ighxwp#y8`;TaPvy&M_X!|QL{G7yF6q3+@o$%LQ?k${*&k3ka$s&u(f$qux*K- z>q=~`)VMC%bgr7p5LYV@xms7@#9Q9%ozA^<#aEN;I7oLweM)^yx|8kbADXjkLY2(T zVTg@`GzZCu@4q4OA+o({zxdklf7?6uiW5NPg27RH#{fW7kL^`3r;(_~Qn)hkAZ6&k zEzqNo?;I=xp+(Wca_d{{t9|0MfCDSQhzLByOvtjFGlW^nN-4hmExdWkEnS!08rtWZ z6*y-y&S~&eEQNkq$EXA=_TvtB67>EW^lMJJra>k2W7RNlT8Rha&`W7PvU3IpVG_la zlDzUu-hee8Q7g-T!YpRF!qvrn<{9c$B#qGykzL_GK-W6N4go5UC)s*FonpUT9Sv^+ z&57`!lLT(~V{aZfr#|s(spR({iK0@520!#79l&@wwGF^=lWL`$RO4NsCk!Z-Fg0P>Cf-i#Qxy^hD++J>-J_Qf1*xrW;&!R*i_ij<^qKROtHNA` zt5aQna<8rl-F3QJi{1`*e(uiUmX#9EbH5~Yn#SMLo!ZbRS_VVGc~!u_{hW0Fb;!?> zprh|Tv2d}qJEzKkIG#iBPoz_AGptakgjc0AZlh;^bwrOTbPu9gR3qQ2$_w`IY|HTb z7m@~jizmFnc!U`r?)vzWBRv9m%kheg)!*48>ocmx)UT@2*YB}M)$gf}u2*4AVV$aa zpq>LEHDW*b_&R3CZT9#~TTL6{UmtcGfU*_a9WQ){bBWoVwir(^Zv#1;d{xf`?)0*t zGu5n7dh>_ydrlP=!wY;v-@*gwXkFL~(6R*5xe&Ct71XML+^z!8ejd<4MjIoIaYUJf z|G%w9CD?~Ad3B5DApPdmEdC{k4l+8O>Rwa^C1r`bN} z`Dg@bK|9h05f;=l0Xn}Dviuax4A`UKG_Xt?eX^pauKk0mP3<34lVu*$NR|po!sD>F zlyy65)a~|RI^QYF`*4;e{SG4hNV=^8jXc)pkR4xP95-89AtK?AKw2Ix-a27`tWrjx z?;wo{Sq_^gUk8t!KCv*MLGPPUpYu4I5??T(ETMX9q1m&thRMB_KV8MZC+r+{a?(_+ ztbwH7p{6y&p#XvrJVP@fkHPwpi>I60)mSyY8XA@DXQ0mNVba8~={jfzMA0m1U%L1U zUIlhhinyt6G}q8x!Wg@8qNI0Jfc`(AG+BG0f?cp=3k-W|6*fTW{El|Np_bcBwzqxa z|M;kN%VEj%Y`fktPIzO4<<Ay7Yltdyh2p#R@i0KY>44=`B{L;Xo{ zX!@Y5qjILwDIMPq`FB@^xYfv8Yhn2iyAKwJga9%kTHc|)m!DZDJrfsv#^rydD%?E= z&pZKt%q%?Ps%}_#&h{60ee`+1w=?6Lfx6J=p_n8Z#HxyUP*Y0LILL+>>;C}O{{brd zTBVZdL%M*3UWFYFtw|P)eyZU&SPcsB{SLe>)*V?wp4U%+Ysj*T-f+k|n(c=6@9p$v zCUdWi*5Q9c6V=0a+sOY$S>0mC6AR)O%I&8yOzWcy`%AsFzmR-D9zDcYYGE-;Z`}*t zPa4M=vQLvHvro+Qzg{)ZJ-a+4D2J#*pN9=Sg%xh5z1KS(NJ-Oylw_QdOjZ{-dy3*b zNqTbLW6oR_yfZ_(bH;NClsU(*tXA)91OGx}qSKQkT#!&PpbPJru2eYHjhCReRAS_1 za-sLgWA7JeTzu}D8Y8z7mQLpU+*Ko(XDa9{k~1JLPA(-VaU(0esCbK6f>gS%l|c)J~=@L@zAN)lcls0;FOqw}4{%R@?e{DE$e zz0HFRX&z?XX2_5>OL0ZD&P%Wtm;LIsgG~BHAVUMGfhGDW-~-(!J|$_#mty8+qc=Ar z)?Z?^N4fCiaqYsBr>j;bj5(eQIf^2kbZVlw7u=7zon{vKxfOuQ6@$rSoz|e-!Pb0G z^+~*Vys*Z?IciQZrA9}8!w2%ibk!p^KS8XQZ&41 z)Xq@CeTFz_x{S{%Rr?Yp%&!k&DfR)+XqJz_D$2N7|MXyv)U>8hlJ zwByA6v*}ui7AcTF{o-L7gSdr7CoC$9GlSwtSyUYSI)xyV z78J!9ixp^KP%@Q)8PRba6BeZ`S^ne>51w7(2@s^N_yEI2LPak5T($4Qf@daFA$9dvDlUN6n`aT<4Qewy}pS_SFr zXa;l9x8DQdY1YD;g~#CIP>uQ0dxg5~vw!ME)Jv%N9>{yPt5XUn#^LtNW%LNWGxv7; zSMcFDiR*YEg1!)mC!_hHv*WEfTFxTh291!n~7Np6_IH_^in8|X_bjl`+bOzAr-TQ4qWg9nJq z+dv4X*?`dOD}lE87gB$dR@}yPY#80Yc7{GVK{^wMzWt#f_CNaeHauE9^S=uS0c91R)fJ+zBuDXe&guuO z?oQox6L`RxuBrRe%d^I+;L)GvyoF7#0?O^??~yGSm!W*X?^Zb8M@b3Lt?3cg{3wU_wzL4BIj)aNIRBv1xRwIcIaM5mI^(*t?wIN2>bC$r?0o3Ku+0e=Z&Y9d5{aLmOSju>yT^5Fy(_E zn1KySJ8TsZV-1@jGAEg@1(syg+GCFKH=g=EcV}mY$F9XY>+nkr-nke!o^eBY7BMR3 zb3fx9vZ;}^lhqTMlN9u`53c@-4~&GJlrqXvKh^GXWFB~G<)~vq{rOO5j}NQlE|;qA zDOaOCBhtD7Xx#vA*H<1ZTEbN)9eW>b=ZcUywHguzW*{7j>WxuNLEq1{qwQL>eE_xY zr$ALEy(KgY%3EA@T?V|i+!rt-7oiE44k`O|cch)84j3)b70k`dPa}`)+$_#`E!04J znwPU!7Uv<#(0a&ZqI2_-ju7T^*f346ouXQ?Q)uCX5|QkPgALrDT;>w5z{i75PASNS z#A=>&a0Tg7G5EO?$caF8t4Wv2@K>JKXeLC@bZHv?qR&j=dff8b$&r?}lVo=b<5R_$ zmD>GaSESuv4b_kgfP80T%f?o?8-bU;*DXff`=s+L*;y6kdU7r^wL6=$O_G+|9pvIv zyV;-_KB9`deR^ojtjL?&XE_^G;nTJysR$tj`BcHV5DP<*+)b7;%B*uGv=FO)W|L5D zwD8qtk*mHNQP#5SO6VN!??9GYAe=?r2kjWE=FE4CvMU{^KZq9sxyKbqMm6 z^d~)38`OW|VJA8xV=x|Lu3K@On4p0~L>?oJCgx3gB_7^k8Lj! z^`;zT1XI^#gW_oXIgJ0Ea$m)I2wIy;;|*L^J@MDg9V)_BhxF(2Fle*hMxH#2v)nUl z(Hv*A*PQ*jGZM2%CX0oeHcR6;{(u*8=LL2@z>Vm0JxY0#)}Xt(JzVjlY%x-vOHI#`O=N)kWJ(wjfe zszNMgt|Vv}sCuhNXl|*}kWQv`9z%&PaHS7U5TNfF-1%e;#ooz_s`$|@cwj#`#c0XsR4J1@EQ%MpwxSDB+lwJQ%d5`7=d{T?*rT=p7U+{E#JNb zAM!5%L#gumOH0!wxm|sO{gx;@2sF5Fal(Y|ji^I8b47U3#n8{=UCDA+iJGeC8^x+P zQI9g%l4`LQD?g!~B5RoRLe)2N7IFt(RCPMUlH@b>^QU_9*9rNL`?SGQqtU!;{*D{3 zEKZd^ZLe%C1z(J6)38+OXgjl1wB)Z_D`ysDL^rtB${D77PbU6O#oue?6jRW(&;#FW zma(qtB|fO*xI0(br=Cs3Z^@>$a#G@;`LjHI@Seex7{6B5CnmxbhZU&@p3P z>FgjPZ|~H{6rKLW9C1X&H?ptl1T6P`f|}^Kwo2_PaJWPA;%{ewP6kNhwGY&tlb8Pk zaUizoo3Q(-C}K3p`?niaE2EloAw_Yf+)25RqX;wqYG_uc#e1=!z>z9tw(DAEHIF(v<3og!3i|hJBhEiMEW~d;c~68DS6Z3mlELGF7n|a zsG0k|Ir4PbFP^Tz(DZj?iTqbhfm8EIm8K$7^lw94X;J+wH1)lGF*m* zT%lpEbAFn4$9zOBS^gH#o7e85QKb01MdkYf?*J*sCLOLiA!k+54qWex-oq?~&PWdL zhs$4s$9AWW8ed3}S7dP$u z*Nv**Yiez1k#5Iu2enJLb>lv^aWwYc8nnaJ#NDwV=b&S={lpp50-K1pjPz`@L$kGy z6z1s-t}R>;=K!TG(H)K!V|MM{M|<#-czZF>z+PJF*cDw9y*o|XjoL|WdTo9ldhrha zimuVP)1+s@8Xz35yxzS>z13*mG5;vyl7HKq_hB5+gQ|YN8|e5eum89wu`FMVc`Gua zzwTa$So8Cj;y`&MV<7Y!yB*|MTqJ9d%tiZHQZMa3wMfm9aDB8;&HlMS%}UBe&@HHV z;*Q2wW;!5I6}tLDuew`~w)TO~x60iIn$S4^=!&~=+J1V;IIKtbp8|=Wvt)orj1L#I z01a5DYJgk-zQUFW4YsQqV>t8~B*I3oVK?p9S3(o;*K*iZaysUs}Z@D{Rs z@5X$`zr4e1s<2_l_`HJ+{>b02oHMU*WV+VKV~uO%(Z;^L=gYxZ+Y`IkCJQ8vGR%%e zS<~nJl+%}RzFFQ`|E(H64y$U=BIH^ev4iS}Yl{}*UygRCHYB)N-oJdeOM%2M9tjwG z*E)^c{Z}JveG$g!;x(QIJzE*2od)9j1D>;ycSP_Zxr; zo`;cLkIY(D8;#|F4mPX^s9 z530CL6C-=#YKs(Yz%wK7*U@`8_gcKJk}cHVFNA&!lA$Q zn4s0s`iJ)ZKGvG)&8ch-5W>qKtb1mp_o#Mi#pTc=XaURn7;$#np~ql(M}455tFKQm z0gK*Ms48~_w3Tm0Fs9eg9(GIagEdQv$KON? zgW4jr@NbKT89@VGE;WNan$5!XNE^?VNj%fx`}e<5Gas(t6`rYaUxh2aoKRfQ^5t%C ztkSb`^m??l5WYK+9%U}HIQ56Zp=02+*M04fKIx1`bsscoSUk$>c_d;dcZ*vl?QM*A z7u6-WUoPjXN#X}W>V{0$5UkkGe@H511DT{(CYvUQRry;f6LYmaMo zV&+n(JyhldeUTY8VPFYTOjZ`rKgXMPOKoPs?)>KTWj zrL?>Z*Tj~@>eTvhXrO|l`758dEh?e-)Nof~-D=DP`4^|xqE$61Qe$@pzNzr7p*s^< ziQ?KG6LQUIzz)@+ZLf77lBWQBb+^0-ykv?H<<52+8lv4f@R5vh_jUJgh;^IXadl=l z8}tufq3g^`Zu{Zm2{_GYx5n2AHQqa87r_0FHWt`kfz8Q z*d~W4b{pb#{&wPKI<#m`cja~4GOC+1N7ZG!qw8{zFR3rGFPYr=$P=pFszMF#c1{J> za8$zaQ-$E2qo@7}*4>kVED=$$b);RH4*3t5jDcZ_q!-bX6U`I7(K+dj%PO`J^yb1f z30MEiJX?ipEohp<=L5KQ;rr{zSG>7z+p3JrJpO%&j;Gskn286^lmxLdQZpNYw*2U8XgpE4i{$P zUIuub9nxxP(;+!SuWJ~My@qxfZ9^GPaj62LT~qhyfv$Qb6pO#=vD4fUlWXQgb@fb~ zdDEg(q^xp$c~rgNP6ziE>i!x4*TC5VsYX!>EDMyq z0Wxcbv9=2O8s%QVPvy=8pWWJ}!~Rk=mr6pJpot8j&*lVoChSO4s}1htm;XneX`{DU z-lsk`=wo>PO+d?qx^Um&6kD;+w{issp$yD*fecHCLijN-Qc(!pp&LI7w z`*y6B`*y5tf6kjKh1GHXc;v{K1ieH!bQL=wq4^evZ{@~*V;@N&K$qH>0)GKDycUGo zfnq%9aJpE%&&)H7nMKhJocE80UrT*@inOGYexHQs(SgX9z=38WKJY&IVu1l1Y-N5@ zvq1_c82oobK2%N+OHJYl`63q%{TbQ`{h?UQ(K^U0SA6hE1#Sor+>nSZkNRgs{JaKy zFhR_4&GP18UANB3F3b6OT_<-**yjvSXL^{?>ZFMH6RxQ)e#8b>va27z&K`Aqx^rMe z!k9xEp7+5mgZ_l_u}<0*z=?x=e{T3l=PYNv>$FP`j?A}l{Ap*ikHgN9@dWjUpMxB0 zt)O3Af5)|FHh8$A*C$;i8)}nYtNJx@zvT=bM6Xueqj19Y;Me1<%RJM;XR4NP$}aTk zODU47gCfj;AS8+vPqknku+O1QKGuI(3v@Sh##%~wz#mh1@O(e37RZl%=|J3zRYw0I zpX&agH9jyIGbQAV%T3H9a)>G6_FZ0L5(^^HhHz3^vh{ZmbVpe zkLLyFL}y}4zN@(8Fmg`wKrlsNjR5O+4O)RV(EF8MdM8`>iHDH057+(W4@4wApqT8w!Tlit zzA5kwiUL}+YbADE=s`g9Z^1Lx)l>!Fbk*CM8>^Rb$lP3t+Mh!lsjdmSkw)5&AN0jQ zYT>}g?VZLZifi&|jfkga2~YXW$N=)8d=cD>=mUFC`+%k|@%QL*Hb{3k8<~NL#$!A^ zp@TgPsQxPzt~uL>oEAN7*uQ*Knjg{GXW;igjWh{*!a6$LWAx@vZXrE)^iPNYU{f1h zr?oLBP;x;ra1E(0)LK9|Sy=z=4X!%vYbUAR2}(RD&~Hua#F~JBOibDqHtc}U;-Zt^ zO+R?^GK-UbSqa3a@R2WR5VpvNVvo#D_| z;1Jb5wYUk0Sby=)55!?y>D)qR6q3Jefrza2$%CMga`Ne>6ShWN-&j^kagytRen|SJ zD4dwagsDA?&oGP}`LodaTi{;?x}A9prxl5d;dgW3IeFkYIt%mwjnmNH8Nj7rdG`V* zh2Dx&-kRdWIU-xLl6{G_h=}VavFt=U254>_U z%IFUcoVMSBoE&M=m7Y`&k0_YM9m&8O$&!|Lkp-DrT#FoFS<(;P^fvK_`+&3-4n3rt zS&sR>3E=(?HLT$u!UusfeTcuPedAHKAC@rIf0+0=?3JwlC!pAmdM&rN?fgf+>y=R- zz`l%Y1g^ygs^vU=L~mc^iN<;&z1|M2)O2Y!>;v@I7W|bZ^@l|mo)?olmG!#mensA# z5Q~TlHO6X|ugnuEDF<&=c^OuCe#OWZ&Xg`C<7`4Yf;=F-K0D^;fZsN>;3?7oIr82i zj1i6HG3X_;q%S%n2re}DdSKZT9TNo~lTAv=e^Ex%=ld?85d~oJ3l%NBYn%2VvX9EJ zEA%YfDOo`vrKc9f|gt08NsB_s>n+e_??Qk=QuyD@~D%Gu$LKUFPyXp{G7CF zZJ~zt)SyZ?_*kCnNczBI3tZJDLz}BhO2wkX)rgi1h4O)?!K62dM1@VNapP!Am<>YQF%QYkSm z?{F=6>@+c1`YQY`P>D3~)P5D&v-p~6z`kGwWq9A}&_K@mHQwIg{gtCBARywPwYfG^ zTSHGwD`D=u!_$C{UnW{H7j=qce%dFvkt3=u&6Oq9bqUbNyn#4%4*RUCDo@M@|N4FB zy8#`%IX^!3u3g`JFcX@i>7|ZB$4>jbm|=?;<<3B>K0*GEI>*I~cLJqEpVP0v&rb!p zK9c`b3qJ5&rv^y+n(`;$PrLLNIX7?VQYXNMfAoB0O}{e>`3W!Ztm8b-2HN<1ALz%)BmO=OEsg<&`38_fwQH1aU}|Ye(Clatq4o zjByKz3ATBmb*I*y;QL==NDsefvLv zxWBkMOKGFNDKc`(O@*&TmlOb-Zt_ZVP+_ zJ@(~*x||njzta24Y0!@}D=QSdPy z16}f+Xzkk_5!>h{{C+i%F2|czD=*e{DTiB zOZUQ}!sCvSB})%HCpi5#7p_>qXj8G~!0FuXqkP@z8pMw_H|Yz#jAsS7xKUlQV1DVmWH%?S%Uh^>1Eb%$ChW4d3U8{jL&ROuc^#pSGviu)?v9*zR3zT;+`hf0$ z6^3zI+!M<0h_B0XYL)i3btnkPe7Kh| zvL^*KrK2XQFAMb%&mgLXPHHmgq-Y*LJjb)msMB!|^jWVhW<1kM2m9 z#RH+oHoWGRHdE;5MJRT-_Ef z+Cf_QyDMA!-&xt3S43I2n6f|RV{Y|LsTJo)oBr!J?Rkd>h#w$}+v)UuH>w`un%}=s z_3LTy97nzsH;3G%JT&(lyl5|G-sKqQAU)A&F*+!4$ydPLr!cumeY!UXRO%%v|93+*F} zy(2)?EOzqQSdYdoPrCFsS&JTJl-rTv1$!QH-~v}ex)++!gWi`t37>1)bgG1-37;n% zeHq?8YjHtqMLK~jD}RmiLAdbRoU4H)uJSD8P&IPW?4B$S)xb#)hRItuCH!50 zRbEi~)&YF7q66F@)wby7?D7}Qx6klbLWNydLM2^XUW_lz!{=rBlHe`M2l+l5S%%YL zu{cA4zQ()ydpaelr1(hCrq^YxHE|;+6x)qlP+g$!zSS)MiGI*LnzO+Q`iL)i#K%0}`+Y>e2RM-xI}0;e5EUIl`y@-^zXJ|4?o#e1#*J zIzVp-Q@Nvi%OwoQ9L1yH4R3a3KBQ)&xY7ZAmekQjxoXvZij6a2{+ZO)rH8L?p;JDT z1YNzs1sk2S55Dz*1|<<16w#bmme{L7xe|J!^GfKs&SGyoewk>FD~s>_r7bWVV|o_r zm-e8PyVXpU3tctx?ViT<<7u7^Kf|+!aUH|=G<VqV-e+StaivO&~tTpkH~|30~tLw z2XW=m-afHf902-!2{Ko1X##vOmqWWj**1CDg1-#&&`%SlmkZjOSmeixjm}@7Sfh8e z&PR@UWCkQ1$aJz#S4|RCyTYN?ZoQJv$>6I2$}(BL(_l}0rAKg$!AXQ#xGNlon01Op z()u#t@uIH4NgO)j@!`vXc;W!hM`(hBt>fyKy|M|~`yO)q-lep8qmrGirZH}h7QQIV zgcEp`RqSWxH&A`4kiJqoh<~KGNnR^dYF(`KWj*>rnkQ&WHd9X`y|~(`_tL2vd7aV2 zF$>U}9q`fOI+Q+Mz^+y8&0jDL(tDX0RPNFF*yc?EI&P|;q4jCfK}eV%c}!XO4h=;( zbgCyssdsod^=A)&Wb}7LPk~4y_gCdS*n;yQm2w{OH^kZ6x`0AoaR%3gKw9ru(Akh= zvAcT5Lc}=y8#!-@)&$r3UTTB>wTBr=uV=(~pYLK8;Ac6B-clv$??i8p;2q3(x(Oasa4J@@gA2HRQFC zCj9}_)aca_UB9eGq>^qI2U_TdyE7HaPWJ7=*`p9=(>!Q*UV(PW<I_Xop?iwukn2o}VE%pO zN9Nteh)-WX^HhxfJuznH&zB8eh@4VAK(@Q?*za8GE%+R}!T@IZIUq*hm+ni*77iHQdALY2(F$&-0z(@35 z3a%KZ>@Ylf z^O08o)zXedIKI_hlKc_R4DC7555;saaI8=98+>;~hCWR|pG;Z!rtrEsU34l)mEMDw zZG^K^3lA%Z^~lT6+rGQdp7W& zrYS2R>57Wcn%ixA2P@!q+y3y2wq3*b+igqgZQEo2(Y7UM8>nE-a-e7u4eUU>L|h5T z8@#-K0_>jii?fjHi4gk*m(BHxYoXXUkP~SsJkAZb?$*y?Fvjj%oQKQl9RB z@Tl9%p62qRn|0*_%(}9upXWE&a~ar#RT9S-E=Uo^j=)>Tcyl2&*ha)8HfryR8%+N%@qzi;2PeR{v4 zc#N%h#@wt1=Xw1P^p*-bIHS;^y1xGYtl}4E$cN~6U`ZCdWEak^dB9*>b59^pJmV(# zlBCGf#FuKt0{D*+7UfPQ-v?PZNY_nTW0N~c`T~?gT4(|DV-=xOxet0ic;5_h)gy+m zu?c%K)(FiWNix$Q$+$d(|DNX`F#8jn-%Q9=712QFf?Dc3Y@{~0+lS3rl^FGjs*6|9j~NI?7sW*WM!Zsv0M`I22Y3HJZt;Nzue(+&7> zEN`Mycv6@(rPoa_$p)`mR|TC5>Ri`8)tgrSojI+HB7Vpl;Bu&=`*J9@2R7!dR=5NU>}k-BB9{G-8ox$<8{MTfUQv8( zb3fqOS160dqD~xzd@h8=^C_Zl6uieBGhU@Qaoeym_peUH?WWAHF6i7!(elT-H-DeN zp2hX%ezMNez1O>pW>dDg-n1o2+6I5zLGHQ8gfiqbS)(X32?NR?X=B2n31QijKBdv# z&!4}yQerX76-{1}RNPHv(G&KbMo8T|fO{7XIeV;#|KMUEwIVON!}@99W4T{rGkm4y z&KV@mhNoMa)FPKDG3}HICR2K$T`0X7DF1ohX>Yy$S!CXam0Ke`z4!(3wZ^gqBrS4# zN5djO(qdoevQ*GEu)ML*{{dqicB4^1#bUM`WI>L>*}d}muBE0j^Ut#zgW1jQrm;b1~pM`i5spU&tn$AlYH-r;%}fXebaoLPKG+F;kaMh)gB3D@|45^_Ql{)c5ne$4f-Z#6D=oY|+^V|}&cUPwXi6Y>%3z-pnMt3DwgWyj^%Dg&~D6^KVBmU;`IZ4+ve zq`Xdg3i=1c4G;WzEXw3TG+V3Wk8jtZ7BfpTD|+kLdrm%5rMXvl+v*xveNsNcnA;$7 zo1(!T9j=q8jUot_d-02v-&KSh92AjR1n;^6;3h=-g{{N`TRR3ql8I#A%ajsi!k&%P zOJ}7`x9hG<5yv6|YHZn4&^)Yx2mLge1D+)_YB#d{B4ETAwUv@l$A*mZ6_jb}e+<2V zJ(K9Z4x;`NDqOgkRP* z=`AGv(%<{>cPZkVKgAl0Y0YOX|&@r^T6ekf?gO z5YbVH@7O>&qZh(kAhzzu&~lVWR)a;r&P5a|I_$V^xMF+}rgu>|N#PZ|NfZWQIbUAdb<8nyd>FHQ?jWfUBW>ml5 z)>rkGo%xFn?aZL;@`A((eF|A{jc^|#a<3u(M4EUR=Z+sf#X9(PjP+xv(Nn$wEa0;@8BAQYYwhAananQV{X#H30`Q7%#9jz zqwSp=4RmABhCx3TkNH^#iJE3+8=`7bq}SWWdeuN}i}7n}wdH!m)@1=Lp+Ti=VD;w4e zNfXwU6XI8vcq__U4H}r)!?_B@`hrWaA4rF2z3F?)Ckea!N!^pNBJ@VheKB6cm*$l9 z{dr8UwPXG}iuS*-=+6D*Z5q9V%cVKz3VF=FM;489{~xs_ca+rV;HIQY#R&H$^rjfj_7(v|DHl>s?Jy3ifLvrhUTGJb_C zI5xU`49Wo~pQv`NQ|4_Q_z;jThCJwdSw3iEgQxq3l?nC1(0dq5283d3IlP9WNP=47 zP{X%O^)j7a%OJHMY&t1#vT}$S(nk*xxxx?dmq60O4wANZ;0Y^ES8D}zTRoI&>b7~@ zbdh`rzeUL(fkSSxI^gNXZKN?&x6R<$MqW7|81QDP_gVQMqtm|1NApQsvr-mnlBGT2 zB*c`2Lr;W%Ni&Zs7=DphYl_XHdHw8Yq~GU|u#EPu1kqboBYMl9bnJ#4%o#U`pU(UU z-h_7m%kP|gc1OP3AeCV~suY~y$*YdY?^Pf9!Mc_Wz26tLhna})S#gR<`9afwf_$+wqF}zic zHFqZ{#2`%$S9u*4L_xw!33Dpo^yx0dQ-phyw_k-*cTLaR0WP<(gh{nkjX#N`fkst za#9&{wKC=(`89jt5r>^`5Yc26;o?B{P|Ew8A7c)hTiZ*Q#Tap5?kK;#?N_~mGlh=t zkG@8I3GTbyp3S zni@MiM!At1t3mpA&pYtZxer$~u3ra+C~`8~2)Kw6Oiu%@lAp%6GHD_drjY6g?>m@s*0LwoyTWsqm|}FMKlJdjM@-gBJc7pOBS| z@N?B65@p8(@nzhhwljCR_@#?ClaxhxGs~Murs5D)s;Y-Cy}Kbh9NLCh*EHq6y6p~5 z4ZqS^-~yS@M4dxzjb3`grbuCU-;1a$Ljycb*2)J#%hq06roH>=PSunf$VLGliSD-E zp0mTW&c8g;%intYO8MCK{zqTozdm>>`kJNml_`B4t@M?A0T7j{qy9zEFMrv$U;UzQ zy?xkaQ)D`vIh2-D_6#@jqr)O8He_=q(&<^yV`t=7^cb|)NLWxrVVm)bUg2KJ-PF5? zA2#huah<}Hs{ww>wO-F@>Q^g}TS%uNADEn_aDcKW zS(;u(-j{UlK@>Qw^+Ir!(7b4sUFS=}TU&=Gl_mB5emwBaybNhfJJpJLa&lvi;+qFL zhrb4>-3#95*)zC0a81JXATHHWo{hj~DXv6(Pr_#&t{z;p8}$_jLYf$enX7N)ahhL; z9ew*ut5}U_*8$+mh8|{G2w#`IOF1Lk&=yLUtM_x_FbnLFZy`=~jP2?J1`g*WAR^w}0pS;Dtc49)1}q5cnT6Pe7^F8T^fItgrtYuCDcp$XslU&3Bj22Pr;}NZqV7Rr zF!d;EW=4Ad=npyzJUtrK_b8EjghP0KJ!IT z7R}Zr=qM3WLbJ8yKW9s~ndWP7`|bG}-97-a+KHw}x&4sgi_YsBahHPI!0)Dcpll~Z zv3~=4&25U6LPvT^6^iBFDiUu~Y!7@g4tha5qEOFXHAt_*mx{A!%qnQ$cu zL@1W1l_>RsJV4P|3Ye)jnJ}6MDzY-sXH{?8$Oi^-qOTw`6YLf*h=oq*b;%Q^DnbA1(X%L9$)kxi9P;QWi!sV8SGu(ztYQf;3TUucDs zKWgGn`ZTd8SGTHF0gdj&I^5f(QJvhV;ZG(>M%CYaITd7$J`}KmvJKMOj@9BR4+q`B zYNy^Di`}oXGX^qFzo}HiC&-*BAd>;t=PfzUScLY>==em=Vn#3d(EijDi!2_a;cH=# zMs&ta`b0J^X8oRWkhbz}*C(<{{|~H{e_}5qKiIW6qmd1P#xJE1z9%|0yF47R##*w? zsYNwK+Tq+%*v`Oj@}DJJT#7Wvdm6cQDf;SrPogqvmiC=4Zp=>Seeiys<672>EZKrM z`9CW@v9I^&l;`5w8PFv)WluULIe)@wi!e}VeH}!3)wqsmBK|zdKoem5+dT&5t?M#M z&rd>@3xo7EBF5Kw2=&V#9qphRp6Ch8?mvh1BmI4fbQU&e`4C@$NC|iW(kEfTQ2(f& zS*T+uE|Ltg#cAaY(BzOFRUfq;GMuoHnWjt{vF)6E0{Fv`_?m&B=V_f}S>=8GJZ#7$ z%BHztCUP}(_=k$a@YdZJpZ$o3WTwx5h~?BZ6fYJJuOm$jkeaq?eb}OPF2@(A~ zJnRU=g1n`HDuQ$L3Osv%^>9;aIqB1GKg%QfAW7=i^<4mx47{|=;2Sj)$s73+z7Ir= z+K$x$Huxk^+42=R?BKx&U%169-G_Mg1TK=vUchH5t|ZuTkS!W~qhwKn=t4QK%v71l zmSd2EX7Tp%k{Vnnh zRsr!!yH!_rU&a}o(8k5TYESYf2LGjH(jBXw0@}9OFN)9MJn&G*b26*5;WQnIA0N0X zUGnto32J$5a2n4A|EalK9)6^^H2&S}r+uoCa~Ebi z9-ezDV9VDkcRpwf_gCLosqPxt7Enu)PzBUu-7b=-hK5<*a-XJ7SDVQT*B8$<6zklK zFc=zCI1#|-->s{Q@#u%BkSBsA?Dc8ua$B0U$tS172aw;Y3O>tHq`A;N|H}7Qd8(1K zG}z*X6u0ui8}d{uv;uWaD+-2qUn7z8d8Et}63fJ44 zE+y*fR&NZ&RNJi{=wSC9fBg@8RYNZLpA7u8Z{LuA^_Koe)P2IItDCd1jtMuoWd_H_ zz|Mu{MHl9}?c=X!>_vIj$6JewA8(zml=%0+LGg=AG0I9}hg;u?&@`=yk&Pfs5)CMTa=jeGW+?+ucL#i;-D-x{`s?Pu?@ zLEPQk4DK0jJNFZJnm@-c7M>KY3Od#Oszs_8^%7NImd!mb@j&hScgqFWGDP=N3qB7J z|7Fq#Rhf`?quaux8*I9fIgW%OSDT0PeJvaJ@xc`HzRqjc-VYWVYV8_iC9b)1g`;V9 z@y)xJeI3w934$(Pz}OBGdz{?+joJ4{Pt6|_Rw+8 zOqwlb-Z?uF{%iDHab9ILeBFmlY94Y=mY2R;s|Jk~}L#{O! zYKBJ(!IZiD^_BKJc!NW8eWfPHacTBlb1BlJ_~u>9<~l9&R{+JW)5%-@h4K6s=Hy@4 zoiEMpKMx48HIbZ)%p7S&XAjLz%j}}LbDiosHFA88Zr%z18LStfKi16Gw&I&pmOZSr zXUKoGhevy$VH0*bKfE?U;PcCULVksh%UAn~Z%#lvZt8?_Y4EsSRJ6ijc{s|l^Wksg zdH6o}VYTJL!^Jlz;u&?FCco8BPg097EcovhulK5u&xlD)Yv#I&Z%$nb3F+#AHN`h4 z>ae^`%$;%a4$I3 ztseFr64P85yKmo`>nn@bNMWJY9#2`Q@vKJax97k5eF^2+mA13~bLI^dHTgTx<6_*I zyNIDZ(W}eh;ZrV7$N$qsmcPN50e&OYP+anmZXL3GzZDds>l_&lVdI=dyMjX0@r=3i z)?6Z*9DjYq-v6BSIMAd<>dSw4&0*jnqkVX7jfpE%70h|$otT}E#E&yQvhT*9R&u9u z@&(YG9<6S;#4HycDZW{P7JVbLRP$p`I?`GqrB_htF+}n8pm>dgN9i-O3S@(|YA3Rmzj((A$Gl53vxY0>7Zp;;TdSH8-%RZjX~Z7WxplQW zALD~Ud`!!GGOte<*#Femwx2SlXQ_gA{=y@#%TMUfKen`F;IW;L!sn&H_$Y^U)LhK9 zYGPUN#n^2!XKk>5+Z^fN***U`dclBxV3EHjtKOcjl-j518@X%bEh<3$psKq;OXIH} z-ThbjiQz1N9^|pJ$`c0hhwmb#dZ^S)8ns;*wRp!@0klofNCGDmyrbjC?U$FbXvfl$ z37CO5@a`9Z#DNL^Q>ZlqwZ7jLwqRsA;l@fqD7dNXF3ff?V*Ey-W#h{nvV-urJc@S zu5i^>;z~^VvU85B6S{cfMYI>x+G!{Gintc`iIvxHzD?dvkW{VG#n&HY7WzhaPRLVR z+_p2tLaT<453c6#Uak{&!QK#=wJ&#L*79lA-omV3!qcT3R&2dmUQsFKDk(<(VV>1a_ZYZF5Zh1+69~#n=cC3FD}e0zFCG*y0B<&(}bI!70y|7eroZ} zNw{;KXdV5V@xSR`UT?b|`LA{bd#PjAf8B4eUpp-2bWvSfR`RZKDx>G=s`cq_Tf8I-g)J-d5G_T=Y7)zS~~Xtg0<{m=@M%Y_Rt^ zHsR*cg4r{dc-Et)eitLu@WtEzNev$bW-nCLoREu-Y_RVD{sn)mWx=!z&Jp97y=boE zkBB&k7AKX=UX*uulK4W#?0Lf0T|qvoCXKrjku#q{>+r=Idpq(k8Q_^ne1GNjoef0u zz&UObYL92kS@ey9lRp0X#zgjP)__u`qDP!19NOI! zY3Wn{)zZG;(W+X5q!ON-PrXfaJUQF6Akkr(WAe4k-{>WofaC#^3k;6oJibFRI6vQQ zPX>CEzMAzPDk8&B9d;T{s7uG0mUUimwalgxi{^f#Jd-W{7_gPo)3)zy84KX(;n+qA5Tg691Z zEqs%7LxJzTTYh9J*Z*Ca9VwENTey)4L#{gp$ov;K{H*`W_IN*6+v?#4jrF}S38$!- zryQD%&m%fOy)gxG!bbzbtE1%P#lQAYyC!N!$^AY<&cXNra=#z@$yrmmk>>&$V8A8C zs5iZ0SJmbn&Jnr(FWHL@$BXFa#(m-eSYzTh;)FfO;6HHVo|Q?>oH4HMRt{2MRhl$5 zyl4{iO_@~lLe%_^09VT+E_MTSw7Mf`Q~WgXccKopgh#||N_;zE(~FrG_eF2gZ37zc z3f-osv+ghX!|{hoo;m(zFh;A{mL#Xzw42oUHFfc8K}{6&+8w;iI-;&a{$sJ5@U4Al zhvs^0jlqx6}>>M{7sD`>v0$dHB_a#bBT1nn@=(k`q#{v&6x^~v$hpPBGA^5CXRhR9IssrBe zj(09$ysZO!y@S}{OZAa+V?5T=N8@?c2cQ4OC+WH#zh3n_pPY4sqP{jXs^;U(k?JvL z8w1%rpEs>ZNi4L@?gChW3Ah8u{a9% z?zf$lt@_vvbnmP@)_Jj*X8Wvc)8Fri-xM8;Q6+4Oz47%7u39xh^RjkR{J@w~_blfS zGsO?5clyZu{r_Xr7YugfI-<6zwvVu>gKM?Ph=TpY@|Ei@+sZN>UU1(Pe9db6BgcfA zHTHAI=d^sMv9*m`H4dlU1XY~xHM{BiczX zecDKUPyY$^jYWOY+tjb3z8WoR)T72NGS{+lU2aGG&DVnQTnp;Bi98w!s@Lq%$2J1t z5UtiZO5!`Xp5Hkfr?}x0U@?sXeW-e3YH~qwmu$ax>?FD@B% z4462uTowA(LWj!LtfjN)6Q9W{8&~ss(9d&_FloK;&KGU(J9ArA8os6)s84~a)fwvH zT#X&x3~qasbg}Aqh5*YTS8JI48AkdujB%o(DL|I+7JUIfJibGRmi;xbE2xd4lf1#N ztNCpS3r4ACI7T&3b_j^uQw8Irl5mpH$y`DOB1o4x&Snm5xmHqiEWTz>Fh*C>`+VQ# z2OO%Pjwx^58COm3MB$ydnzeS>U*l*fi9Pn`V2oOaGG~bRwJxCsWxh(k0?`qew|&LG zAbM07A&laOWSn9{#$V6g`wDc={E)20Mjuz09Ed^7ep@ob@x%Y7ZLgtije#Ut7%Pm^ z;{PO>AFIWMn()bu^#xv$IU6!G$XtbV>6^?gn4c_h4gMDjg>f{K{18Frf7G@K@i{X0 zBA$Cur?leqp3dd`kPC|ipC$YFrQaj&ecY3Cv->ak{E}0Xa6(f>sei|luU*;!i4i;L6Hx&j-r<3^-zVdr zZE8L_Ak@}nybpX2t}rcd&m8P!PV8a0NRO_vCQAv(Kw(78K}(#A`b|PqunM`d z)y=B5G<@&rNrW%<<5Cn$Xo4`#iZ$2zg= zYM31OsVC0Yhr2oq?jS2=)R!!s>KTj@Cim9jhkr0)FMGIQz})Gr?O&+PcIu%0u2aTr z=o5R8$$~uFEj+%;UT_?dT=;u$kA4_18%{k3sc@A&7k6WE_YL@^ zM&g@a?Kxo2Jig1Getbw;>aktaS_V{ZSaT!2_*2gwd(5d_z$3CDK6RD-9NMm9SMYxn z`w{Vq`n%QDl@DBX!-gcoj0n#qeXD(+El9ScxXt?C9T54q$w?FblaP1(ly;!MIbG5wAQ$|I&jJ?cx35izAp4TX*{ukO zt@gyz--~RU9W5ZQizQ(`FWDD`2vIKYnt!qFwK*1}fB;(usRkLN3=sKe_zXNICj)iZG=} z!p9U8czD8CDBBcy*{lk4IaC@X%5xm@pm4Q1)J3)cV8T$0TmkGnuq9i2%Q7fVfEQd74Pt127gHXOgx`rX&9&x^u}q6q)D zyPvh^9ch9zdc?*xu)JFFEqE3lZ!aj6LuZ)} zx>Y%GXDSfgpaOodE(&oJZmy0Eww}Q#pQhdmy;L#;V=}gb%g^#p!Wa^r@9ACx6bQa< zyS>j@ic3qBd|fVYrmR-bn9lnKi8dgUCrYcj^xmd6TSBwXgqSVzUfBl!uTKL^p^AeT z_s;_AUY+-e?U6C2HrI%`$SISH`Fj@r1!!FiysX{v+sRXHEcDLF(ktYNG*~$OKl=we z*?^3eLCWkVO9j9mGVa%bmxj7#!B324ykEH5!`D_LXQLgKxsUmsG(~dXp&2@Co6CWe&D3WYaN-9kTK>N)xb+pY==^hS;#M&W^PGh- zQ;UBTqhF11h;Yc?rOMHr0V+R`R9i6`XOxlC{LBN=Q2*ri>F}vAVXY-gcXZo4tgZ>M z(qutSlr8}2=6lQ^y&n#}hqu3paDeC8;UDWFZKd^QK(tZcd&gj)qj^D-*$NFzyl9`8+H}`N>wS!f|N_L7H5yV)>s|Z6}I<&O6T;h0rMc6S>wr=}$ z;KV>nVU5&q9zJ4DZ=9F)<62l`brn_(9}fYsG?Bwn=)c0wS9 z3}^63us~~WmIR)jKMh}7nn^XhtY$iavtx`c1T|aF2a2;={1F7)JCVhYp8cl#OL&4) z4B6P;_DKi&lE3ZbXB$^QPJZBC^0?*U$!x*w?}U9Z&)d&qh9@OolPIY>1w=oQw-ATc z48r=C4!yqh);bPh9S_Ai9*RD~hZpEfk*F&UJ-h;)|9F2fxIzS1ouN^W?c}VLtt>sV{!6;_d3~GJii|eCivfv+ zH45Of8Ov!$PoDx7F4u`5b zqw-{AD`NRyVHKw#Q#4WiX!K!zIHoO6qsC4%1w2FBrExTtM4#E2z8&Y7VU9QL+UBNo z$o9~_36LRq;hVq!;H(jP3$?toi=v8YjV$YkEw?zS{tMWv*G+c<)hCP1osChQz7wrG z-I)vxFtfDG{yV4})B_(WUtG^m8*3tSpImM@kc>5(buUQ-v`S(+8PGs)#T%xft%k5F zKhZC^(iBO})+#tj4zjiKu$>FW$6*y#<&hNo9r!{VJFiF!bGAgv*C_Z2;n1hZ(p{XT zJIot(kagoA>$1ZGN5kK)_xGl7V_SGUu=enK8tyL!&yK5z&q2QXGpFEZgMCYO0xNih zLvTiwUzj;v&b1ah^ZplQZywlGmG+O{n|*E5ra);~(xyP#f&_|K1T{_5+a<*oa4CvT z0GE_Ss`x4@Y6?1nYiUs11{6eR3KeZdW~hkZHsiQWf}lk~tEhq0}mxw21hn5=0<>m-wfn>X~xpn z11oFt85>&wYk5od0kTuk?1erO&o%bzhdtAX&r-<7A%CRkfmDrXp6qV$qBthTVMc#_ zAPD`tf^&#=SYHa7ia7qauHTye?$jQ0Ow}AS6~xs^BjiZ5|APLxkY+W^m%<`@IwwU= z`#JP?r{b98F&Kw&+Je@XBhGC+(HP@B)sO5uRA>u3+JWqYH29voVVg~yxf=DRePdlv zi%78AA#c&P&LdrIoj-O3VLzo|HTF3Elt8}xFD+0ozu@=`hqwlU{f?5q3+oKBz%l`! zV&cJ#7d-P0dzN_c_6wd}H|&}2;B^-~D<1Z&_pR7#fx$s*F0s7Jhduk{t@I1tvk!aL z`c?v-5nh3DoZ+jIbNhf-YT{o-lqI#>;yxB02$>n%c#oSMHUC5h* z^sbH4`{`lyF1&!=$Az}eUl0}G^*bbroA_S`vJVu_S1|YDScv0%`@?2)h~A|KYv&Dr zRx#|E^I+u#&z1~(Hsj#33!Ysy?AgSFo3Kc`;RCugH;>#lR^4VZ2dj`lP{z{+UpvD=r4Q&y*SGK z49Cwn{yY8O`Xl=H4$;5*f2044|0nvhNHu(H`fv0v8b<#}=kb9^=Pv_}GsW|V=-;1x z;QdksBgZ#=jeiyvfCHVS2X_yh7ae>F=M|)z;9{^gDLKc9J*>a40Hdw)4tW22(8p%d z==}RWcKGYxxAE9vZ5-*WMx9<9pf;{Y+E-B4hd54(Wscy+iR1En-WiBNW0Ftj6qswb zIZC0O~G;J-pULlc9e z-92R|J=S}dH<>QdhiGJl*Y89VV#TI&d7LIyU2o!-^iwoBTI(`aiu|ME?-sP^)g+s! zqWxNqetmC`%Kb%HH*754P$kj#DvZVFhKO7L;X|dE=$!7p#VjIksLv+nUlb& zb>8tV;(MA{likFR1&wx>D44f!T#keKj8YsUALxN^%1|$za*#Qwyx{q57d#(}=aDOi zzkegp=FY!w#PfgQ`EXh<6KSpaKhe7T`2UO6TlyoNuk;hGgGifPAo116dHTl=PQT$BSA_Ynt3x|8Y9oz4RnDEY~di8UhqwNW`$2`;$1TkAfG zS@~QPrFL*m-twfx3rD~Q7M5XL!}y^*$`3aW`m;0FcTYh*w1!!5)3VMJf{f#2pT z7&T~h5&qBf!(H9O`5_tf>?j`o{FV!z>+$@{3!Y!oJ)9qU-eL|mm!<)zEUvTP@gw(9K~^-rVokz*YJn^cOYjZH@bK{w1oqm9}bK{B#S&R$$S$)F(W88 zMnusW6^wU(TV}8W(O^soaM5H{Ov-eM!)6BBBWI{p@^^wRN|7#7v`Mx5N6hzR$2>@j zcOF+TM2AB-5ar3Dt9UdD-hXohV!GUj_-?zi-I5We!9{tk58qhE2^=2RVC)%e4 z$6wr08AR-tuXQO!S!Bavnvu$T92hD8Xhu3Oi>$=^!DGK~>)|qNq_ej-(itPR^**G1 z0_E<+@eYpFL;dF=Z!yM7gIra|_<>;5@y=3d#AFLd7e{SDdWjlnBQ|lCxdWa57|;jq zcNv~HKBwSn^5ntMNJnzzq&=pK1dNS{b=dKa$3&|Ow@2(t7JG6zMP#C}G%*;5o@AKe z5)^ZQ#%HBCIk}v!PRV}{U87p0$LENwG?>dhykq>f%An z=nPI*Yac7;R}9Fb<+Y>VQvSpvgEDZQC?``JErHhlLOGdYvnsf>f=!4VvBqV5K4z-| zvaL_#p>z>59qWoON25e>ba+HHw&dJ3z-+feDwx{yp0H>E=^n=i-)OhQj%hJYO=`&; zZ^-d+P>o=-r`b;kAs&P_P~8t2~x zsVpkTv=`nopoocoT`c3@eIBulkD#5RGRBEzB#UJv3Yr2#H23|;<(FvgdvOkYbE^G8 z$`dkJ?wHgm#ZxdZV`uGECG^=86XhyFF0O*LeiMIx_awL1`(xSJ6*c+IZHHpj!SMy! z=(=}Ca3uc);!7%bv3}J~O@pGIA$(*JSJ|@vY&m2;AXc0$SJisOe`Rew{u40LDuB}q zA7W5hiKvUj%b$hLmY?=&YAAhrxf=hZ88640`Jb4b-yg!~9rTA#JRd#xe^zc++tPy$ew#zR^K56nh;)2%g%LGX z2Wp)1!_o69HSBd4hk&HsDBaoL=7^0wJZ-LY0}4xJennp;ur#Dx3ppo~%}vK> z|5Dd9X!R}IPOd14%+r=4>Pcy1P5#a{hAri0xmxm12x(O_y(d=`(35R7`O}gLa6g!j z*utkZtb!lk_i9)J1YOPC1{^za{56XB%^aMT!c<6on<*tf6fKTHU*YUOpQpz;PNGL0 zH*4-J_fwGhRIdUD0i3mo`vu7G*%<9SK0=fK{7)?eWkrD7kp>poS}t?!3Vp(68bj$7qla zoHUgfsZd&pNP2ELO3dmLy(C55HswiU(d+A_d`)}hHfK=T!rGF8GTTMLq5{(arL8Pj z@L3}w9d?G8^aq1nL8bG-Ak$vqU^)&tDxGVCxwx}7RDgA%y_HEX4LWdLiWI(5)?Vpc z70ShvLzcueSyO^X-jwK(L9;#D6AClwj^IqBbqu9l7@CE&t(Gxqr||TW;8Z-lWaw#8 zXgZ!kwyUtDwS;fqla8ks4LzM5nk+s&RAEp1S2%r7DxOXldOA5Y0Z$!gv=(RD8(}NX z_lm!-g;R0+^J6$Z!+|jsIFMO$v)q3H-^X(DT}%pAIX*djb`^1?FPtDEnJ5|#!D~Gp zb88|j{P)8%dP4Dpp*@!?z!4d}s#le@w99u?M0xl%G+rDH-UNOWjhrfAh*3m_WOqu< z&t(nEp>xDIq&Q|SCX^}tz!%|$<*DcgboX3K!}7G~`7b!P;+(ae4z-m}^V0pc^4q;B z;(wEu-Z>GTNU|hw1gU)*D~ma|+L$0cDm=>gZn*m057UlW}*$d83$ zR#Oc77YIXZKg+EJVt6cn?SQP7WW$xXTMuL@ctC04L0q+cRkruHva`TWI$QqjZEM82 zB4yP+{AU4;)w2qHc?b!MMayjM5qCM)f9N~k?@%Y;No8UWC=-3Jp;5P+Jk}nA$J#7T z?O%)Cwi7~dTeA1!=hFR}XJh%e0qwKQKH^_%8x&6$Vl@h1g+3q)OIR_1 zEYERBU?-wpeUfZM{hQh~J6iumIU?VnO~;FEIu3362(WkM_0&Stu1~-&m3T)fw(UOb zAq{k%qkUC)r_;B^@;m$G;%>%4++714WSi&oZRcAxeHFFp>Xn4X>qUDKj*+ChruOXU zmiDafdho*b3~-Y$pAr)A+n_M?pg}U zl}WwSQ|p`&0p9Z+;T+=2s1Nz62c-If_Smnrf%Z1k6+ZO46<8%PDbJPJ&^i}APdzUS{@Jno z$bRg|gXYSHc_PhSsK=pZW$n~JAyW%014V=EY1R*fax3H@;8CdfzxJzb=HN(MT(Al_ zPzE{;TeoXw7zr zwfR}B%?=OMCLBE{H0^K2nyo=?zC~?*zJyJT*r*;j&HJALExtWQEuD@XDZ?j&QJ0?t%s+3l8SY$NyWhwwrX6_xPp6K40?DH))*9RXawIj zkl32!{vsu*fZco_cBQ0vohE){Zw%swEnft@+7LVKXn49O-Q@sPExjiZMTIOrD53@R zvD_|c{o?bvuwFjT6C^_{S}XDKWmjMhxlF;N;J+FFS%}AJ;A)%;gHv0k!G>jaFt%k! z2V<^rj)7e2!+&v*Y|acJ*q3B67OO|onvUyy$O=2e=T`(LLROfFdo$>b1vSp!LK)&L zvb@XUNhv@(W!6LT`6)aeX(j|m;JsY)jt&J2!sKKAiTL|rI3DN!6o20f+q0PpyDZ0JXBm%Ow%9}c!k)-f zkgQ{$HLb$##q)*pD(vNpE9@GEzk8N~8GRWrKJcG_V+4+oI81vr;#w${zo^#&-|6K8 zcC3ZW{H+5Ptc4Qznl2f>nz8godCIic5=}o+OurzSzJ$`_{bd6Q1!>}X$;{_r9eqw* zFPRZ9SXw)o7&AW$=cjN#0q0pb{|@JgIG=*^<2WCK^GP`W9Q-_deTAL8xiv|kEL$a4+FD#-}`p92O_EA`Wwp|Lu*2DUZ8$wps(0`p1?a#jIDBY|?R zl5%$Tw0c>f&0EpCcff{YsaN6mG$rs=LP66>ugY&NSNoTiYy3OPwf>XkI%uvgrLwDl zrwq)TaNqgzABlcv)%o&aN3o=2iThdXI~cf1Xrh^vgw&ogQ@t7y(0z@`-VylUu+6$P zmhbPTdSDfTwaQX&4C)dq)}vUghY9tFLp|bA4>RhK;MW0p5|}-h?P|n$!&z~K?xJBx z04Bb#i=>GW;_B}X(BYDSOWn13GeS9{G!$FYQ}z{BLi%iNm9{39HvyZ0u`LoK!x$Qr zem$ZOVWlz={%6o@l;N8VRoVtqlw4eLZrAN>mDQbgLHfS}VQ&P#vhSrZyx%g7K^d@anvgEp zO{k`W=msX<-*q^w1;sNwz!*HN1xh_3vd8jUyWlBY{O9nf=$uXceo*$IF;LWNMCtM| z`t_4INWNTy|9Bh)IKInPFgf^t1OFuBRU_`oDc`e=vx)>)fHQE0S1pLrtM#j(xv*|6 z6J&M`QLie=JEA%*HI^USo$57KPc8CzW2@*XwQi=@=2`F59JUr~hG;Pdw79)rzmueu zTu~#zhf)j10E_xLcZz#Dz zL@mo`QOly;d8Tu7m#0}9$jy5{WOWbr4a5qDbZ++~7pMbLKN=6(`TG(Jeh4cjM8f*2 z(U^1OhzCVIW|aA*3<|*e8daTLpo<{Uj?6uQh??kaZW10JXDx7 zG!Nx@&g(sj|K~hS-nv+#g&#aQqx$*A$BVjLb>K;3d#NTpfcS`raOdC*uPg-Lsr+k7 zlDuO@p8QNm1$QzjOMucms@eiB{ZIfZRqp|(IkdKDR1KvkKFz?&E#=tqVl%H4eYzj< zrE=av>~#s1t+y6E?TiabS}EgDd-YQMBHNE4#L~hJOiS=jh$r|bXfF;prv~*q$)@C} zh!1x(be(&v(-@`lR;)fHDsL4vUOs5Nz74TyBU|T#%JY$OIF+{!qw-egCn0&7thLAu z**EQ{&ab;n?JMNkV17{?_y|ZX)8DzxR2{P`#{bSOI^b{U1JGYXYYrOtfS%Q813sX- zM#*0ZyezeCBIN9}U`w+Oqm3mL7m)8C!^IIkMqQG}%&+gs`R(ncEHv(ne-c{3B1WGc zD~_a>fdi_0Gm29=q*+Y5;ai1o!()K9b>eiqC8pNt*aSqgiNGd%`i_Z(6VVUJw&--H zT{zw86q39#4RvS(LOjciPbnNkJo_aa8>q$oad__;pmz>N0RAp)9V*8t><*6~9N!?b zki38Uyk$2L&k!%E8KzW}YX*4=^35$brC}FqVBoFQ=XvR?EbO1pfV_)iKhAgIp9O#I zzYV-!}Z3`y@TH0n*6` zSe}xeS%dRfoJ)FUGa}9n*E7@D5=2SbC^>Y4R(2}ubLZ7R=K>sWC${Tt~;#mOwMG5IfSn`-;TEFw0<#j+9CrG&`X;Nn{u1f zh4afQy@!SRQYYk;dRQT_Sfxn14LjbY@zuV!wJEm9RLG<;6Aqo0#ltcpkFgqyjKzme zE1br;#-c-~Rr8HSvL&+iJLj)o@yu zJI>xV=fU|g^B(sCo%Y!J@k3atKz6V#KRX4 zmVvU|cEl1Jlj3?07>_%aWM@_ilP!j0z|UBAMdqAiENs6fW2a1mow9ub&{&qxlS?u$ zK4$fv;+A-Gxa2n!?Kd&;_|+&eOIbCkG5nD}={*~I$W|c>7Hc*YQ0_7lv2PUr22-s- zns*R=Q<1gTc_w7xf+=QxT_2(ZAjU+UGZu9CrhDNSt84p`^{7pA`26{yu*uRUS#_`9 zwo0N0@sbi_W6SneftA*co&RhNjfhJB9d1SSTF86f!-BK5k)oavisTgVRbD^rG%So& z>j$n=))g5*fXXtoESc*NBN)q}IhSw_8UAlRSgm$rMBim>(CuXW+ImBS97uvBF**2` zd}jXDK8jO=m>|9kXdY6ao9XY|4&Bp+<^@=Ts{9EJYQJ`i`FT~1oR5RW1;s4D&K7?~ z_nIbdt^+;H3%oxw|01HnYwKA*BJBBNKaj(|{0(5xvwl;6#v*lXTtHi+;;(^q&&kkb zZe^XKR#$^>ax8_#p*~=)o95NQ&-&wveXvbD9MabASZS=&gU?yi?!(a1<#f*2nuFHm z=33fMU~GGWCs(p5hPuh()xMCS?g$WW&9x@zxEWhxXvb~Fy2-WDdpkqMI_qt597+6) z?S+sbV5~hNJYJE=nd|n6Wz>Wmsbw5&mMt;-(|!8qPp-%&?SEBG{vpJ9Ug*l^KFBv* zaMuyNyEd$xdv91V*BM2UJioU`{qBX^Bsy=II<#&;e27(ZSGixsdWWdJ9y^PhFnY9= ztxZ+>9b7ihaf!Qai6tYLV3l^ z#G}HCc4{S}=^MR7-!+JcBu6>MfDG8*C<_$U1=OH%Ku|(9lz7bxzF*pv3F=6>wS*{V zDv`Ax4$^(;{NvD3;bV^m6hCoV#WsQ(PNalgDpE4G13@!?i-;3?Y4E5}W7qC9iT9`B ztu1yFc!pAC;Og-TeZW+wtBtGKmv7o{3Z(Cn`4j31fr5EP6HwQx_`h{GHZNaE@&62X z3#C>VMLsj&je_RPMCHA_4vg8>8q62sRK;LrNIDrRGl%ig%$mV z_Om0UfD3p2g2=;EcfU_wS3XX`Ex9zq6$dX>MeZhNH~hL7 zKIBu@>DwJ_ymvlOedeQAyYsFKDFYwo!E?ImhGVx< zB0xHMGiPZ%wFuuf)#*^wymJ-m1z+;Ng=vpyP+n7EPW>L32xOB@vH`wLM!nd??-fgY z3vqVkhz8Rt>Zwok(UXl`G^#uWUkEe*csGqL8@s_jH8R*=>+8*YZnr#;3-1C|fbi}z zg9)%{l(=pi2Q(e*Osaq;8t)E;#~_mCIC%Y<+`z05@1I2tDebS(f1MlaMm!0Ji@6D0 zXLtg){YM4Y3j3Vb!g*0yl=|~|dj=CP$#vfd4*vn@bGlrHm#ZUXZOrtlaVw6sm@sA=72l2|Ym2z%hkp&ibh^s5EDjfWc zmCXg3t#Qw-amje^Kq@E4Q$!wwZxX$+0KMRcE~(Eit&D*V1A5d6v4QxV?9&>o0`|gZ zmeO5UIRc3Oh%|-tpNR80gLhwak3j#US|%@}k@4}oxxlX9uSY-EN4F*fpVoOy%^~JH3 zbY9_=u0~d7c{5)=21GvGH6?QDYL$OOzA8YoX^Kk?Dp%#N#y-gJpF4)0+n}e8LBE&! z;x|5-C=)wU!ksozes%y00@gKcN>Lko}Le~1qCl63fXzWV{&RkVK)j);4Aw;3e zSJhcEm@_Z>sK(oU>VN}1f2%JClq^G8HC+npW02lSg8!qsrC`pN>Wtg=QA&>woC{r`U?qLwfXy5g66H`z@)NJLzf^uI&5gqd(J? z30DG;-m}DKT3j7!*0txbmehqVdTzv>HQ1Y{(M8{?+Z9tgseWV_=mdIs?p=tFo?I+G zfsX8B#I{V}lMu1SjOa7e|KQP&-+u`P^t(p{$+AHP-73xKv&Hq|rRab6A_iRg4aqmK zGu#fDz+SNheu?$mMcfher%Bv4oXLwn6~_fy!%21zz;wM;8W%3NNiq*s`RKX&;%4!! z@59uOJHyO`Z*T_7fvv}J|4YocJ7Hn;R`@cpcS>{ZV4qx7{A}YYSWhZnS%>I>PYAIl zi#U^>EQ9re;H!%2a(prT--V@xih3Yj`hVy&_e&%8Zo~?RGLbVa@av*?N}}&P?sEVam+o-UJL`SNgcXg}mEWzP=)%%W z!v@k_WteFO-?ocsS0W}-MODCW1JYduT+2|pF=D!fp%!7qe@&+m)8!#uh417F z$1wSnc2qtX%I_S$y9zvonAWIqH?GR|)7dvTv+rjS|2>wa>sDOz&G*C7#l}s7lxTdJ z>V`-_u6@WWMSS~Hr15|UrM&)$D;uuniO)X4m7<1)mU~M-3q4aJ$A}|03(mQrSJG$_ zUp%z*{5*j%7TDuA%)P<=ION|->_M{iWrZWT^BRBh3jU0FLeScibWaEx%MYDXMO~wV zf6~XI)@!3<&?7!ss%+=^I}gB~6VaQI;!ZKeU7WRR_5RmX6OhWWzxTHPR-PGY z8k^^=qBNI)G7`^NIHHSGZy8b$B?`r_(BO)`rUhDk8oMY)EK#AZN7`8+J7K2u^~D#^ z0k!~3-Mc&H-d_zgVzL7;whI~q^l>-3Z+OK}xAxV~w|<5-i3#)FNB;2*7{mQWUOhlE ztb;T1GV#ogvp#WeI~!+0e+ukm-9_q}zRm}*Z_L!#Cyi+&@35RNwV~d~|GPi)UMBNqpuXy#{RC**vHqB6lIkG| zr^Zzo+pj`o-7>w*lU#p&xv_nbM&>cLSLifVW9yCn#0G8E=$%O(nWsQp*CC#g1=wPi z4{?mH9#^fX*4D|ZHFa3`$2+l0pxL$%v+(XNi`!85c^PB7ESOZxO!^$_p(IGO*<3t7 z9d>*Q|A_jr0l9w+Rzt~HZHyMzyE1-6_uBe+{=2>#@cT{Q<@i0`Hy*#o`b>e3prw%z zeCJjo{!h0$@QEp z_?KY*R#vKO>F(#k#||U@X{CIJcv~YUY zXvFrSlCj=SrE*~{h(5b^y0PPpHB|EFSiQy7{z+V~IrvX}n!3-ig2Vd4WP-d-b$HjO z5o<@jq_}Uuqw7Z1($`BR|Jg_Dl1s4;-hn;vlPDKn?z{%N zi8YXu*J!q5$BrZ;wu{8xW5?_@u|RIl zfYxrH^I>uPdhpz_S7HM1*6%7WFNY0y^xnT;ISRd#4=aoxI}b$fz5hyE`Prt-du1t1 zX67=@L3zsfO!F~)z}R8Ehw7~ZrZ!ok4|G=aIxq&D23mXqpWkf(E;`d1SD@f_{ODZ< zZ|8H{Udg;yj$9g$iwwEwkP9rM2**);zqI!h=H17CR1`n@qY)#4WH&Ns-%HUJREW`F zfi`v(32V@1U zVa9?zF7P+;_*nNi>}gWWy{E-!NbK$cdC5O@dakl(r_$Bu}ivW zhg`;ox)7~}V=OAf9ivg=C#;0@JJ)!Pe0Pr}RlYMDXB|B@t{??g!mx@x5gs98X;9g3 zUN7}6(^zRgVjTR$M~Hsne?{zFgN9}zCgu4u2Ygx0K$2AGXTuuC$UoIf^+VJPie%A< z)hz$#-cMjJN*2|sP;$WpQR{aRYWclDJ_8*=X3AN_6>CQnrFk62A^v654ZLTrVcoi5?Mv75qz6up!L`~oy?V9ejWGF(k3z5M8sY}zWDEKsN0b<3ZAzd!n zlG>x+LO#cg6;a*cSxf6SBYcjZwy=!05Z2bfa9~o+yr-{a zf(mFVlYs?6Ye3BFz!$K|l+ zITtg5fj44JY(cDF;+>J8E~Sz8GLw~}ACiTW%GINt?a<`vXjOzaZFrN%j1h?<3NQzc zFO=#thWwUutGHy;W@96Z2q$(^SgRB!1k47b3ev2OyuS9H3djBp_dl7+dTF)=;q1xZrqZZ`? znRwR41I9QsHghHPF1-O#qifS@i%wc4-K9ZbbhEy#@5@QaI8LAKYP9a7>(F#Z> z8?b_~h^RW)ALGN_Qbb!lAM7b@GESuL{JERru-Wl_Cg>2y4NwZ=t8`IE@)Kl3LVbwi zX9G{-N8p~2<>uqpO5Yv>8=@Fs2mHBl%)!OX`&Wl&uCu0#bhBYIEtmB-h7Euh8l z6=t64Dr-_<*Ye9$Wua;)-}jO47hTy0UcJiFGD$DEO28V}bY}ouBAW z9yezzrX`Lg zh3g{^$@^Wst_NM~BIY!DGLRs{ll2jWwIp(O^*Y4yRq(rJEO9J#ltj+lakXF?W4f4m zt}>F9bhR*MjE=uTzdphu%@yoIA+xbeNHIMYVc8GQDl@OaHH(ybx^mN%jIQ*!T6~R^ zPXFFnWy+1`&vO=?KVN*ckWhSW^!jQcam>1iUUrqEGBQ00rRh;JTZTLrA_bMWE7r#C06wtu$xumTwH#l~viz=TMGiN< z`VJY|Glk^`;@pmP5jJ&wq#94NrqNZU4DFV)@wFnf7@LdpIF^sadrl9o&2mqIMM2`u*+6vG=zCOR?LC+p9$fK`jV-4woH8xc)1tfdKEh(d-6Gy#k|c- zxT3fhqsSN_bS~K$>l!7@Sv$39zF?_H@y6yN--<0jb{+m?V)V(x3RnruNSyL*NS0;E zd^t4XWo12Nj|plodokxVO<}M@ToQRC9*0$aZmn6yubuCV$YmvwXXttXo&V$P!)EE8 zI;$k2&X@CR7pTvz9pw@zWb^C`YV@^Oo~&NeCS#>GI@(8VlpbxNJNsa> ziTVw6uA;LJ-|Z_PEtW@XiCETRJMG6iRO`lQyX_gW2B3Cp=^oy0SN*P@KGZX2u%79c z1sU6H)N|Ga^?dYq^{f=@sq8p(yF|8Nq-jMM_%Ng~_Bku`{r84fh@$U26BRqlV_B`(nN8_I_DWqkuE#- zRFYz9VT-(@aJAL7$ywL}&*+ZA+mB$iqT$YpC=IFHSMcAdKy1#$toH;U?Xjxs#yup=K-AV}oL98G z+c9soqGR42R_r_1Ip>5-h~jxwmT=(LMTn4$QSvWg2JugKq2<`=20`B15LU-vT*nhe zwmZCz@0U^Tn}vzif8|nnn+2O0^UIQlaA&hH$$AfJA>PT|ETkjvNm(k?OsZA7bx-)! zMeKC!Ro=HRj69PMz`Es7*b8g~!Xbbxk)z-;OCAJWu0-D}4gv`}D<~w&&8`|}-e*Sc z$waizn)h&bFEC}%Ciu=VS#{1?IM-xl?q@92MkJ@xwJ9?ul<3ZZ&YQ71xSnC{NqPWE zNvW=b-3`vIn87mr_#(`iLYno{ux=PFE`0Z+;3udz@F6Y#3J2YTb?+?M0G_vOA0_fU z`Jb6A66zSf0Fj2Np7)1>LIS?XWStF6uDd=vgsa$Q#u9=5UpPqmf$xJ%$K3lEP>Gqy z`Zt3%rp)p9I)gdZ3Jzo+b83#YCRTx-?DWI0`G~F=dBIF~nfR4#t<;B7?GoR>IwA!6 z$|)a1Eq&?X*Ea4?6jY_SYxN7RtmO`^phDzWYAqA`;CcT0&zx$8T8y3fcPC6u%bK zHldvo&`u@ry)1!7WG?P$vi#tF;^y4xX$8y#aI~CBu1tK)IqS1jH=@{f%)4FDF}I=& zmUN(WRvGYesm~~}Z$a1aaPKI*lkNtvznRHR$K0eo2At;1ZyzjjbYrL51gzF9Pi$+9 zn?dgjf?JRmMxs=^446t%UZhneq+Grdy=37*SlM=lO%po8ANLLnd<_f);$QpTMyy5F z1MO7az9H*fkGwrSmzl7m;~6tqz3uqzv8D3GJMbiTF~)_(=k42AYu>G^-FHH^B57K| zJ&Q<{fimSQ%mnC*VKslx=!(&bRK>*xep|O=N@wWEY1vOqinW~a^W4&M4_dLN3CH$v zbhfF-#cb_%bpiMBVMHFePEg!Ok!xg*I~?q^OA#4pw{5 z!8N(s1sU5i-!;z2?rf?+!jDsIC)IDlVZCJo>gjtF94TE9gq&xy;2*gXf>hp8k(^i|XcX)o)5}q$?M>eXtEj z6%L=2+bt2fl5ztts^bJ*sU8^gS0n1dWiH6#6_>eelwT=3P05c}I?~^7w$((VFY#|>K%Ir&SM!#s+s84aDV;&N&H;pztBwS}2t$RpV zXreasa7{`xCoJ=VuEpWTB&n8+fE>61p zP05B4XYXLF{CNncGzcGdY8U%n&7QcT_(I7lRMvivQ`T{(j7gJquuEi%jYW*rx!6#& zZn3OAo^pzoh$1Yx8$A0nxgef4xQG_AM8QuqibijJg0nn*20+1Y5GG0e|@U! zrWZ@P-->gSzc{})mV2y`T2kw;Z`$6(?oP+P(#dY@)^g-CZ{Rxw3$)2`d^7N@B+o-R zzGY;;DeX7lBk%_v%9H9m7*9Bct8OH;<~aYprlzL#D;~@=x3Di`b--`#vO}gL9nwd@ z6>$JD`6=kx;zX|<%JZi_lI!AuJ2NAi=Ns<*(SDB=g=Tk0{{05@eIxq)`~HLmE#lM{ z$hCC_Xx`7BlCj_6Fx1up!(P$uQ>DT3do1iPHK~axu^LuC#Vb z6_bAs$!ic{-4HxI=3+G$JS|Jp0QvK?!qbM5$ony0Glh}7Syx6DJdhK~oyJA3zAK=u zjKr|Hk%yOVjHpyMVrBdEh%ZjZPb-PckNM&>^X!$8_Z~pp4uiQ(E6;CZ+20a#+LX$r znmFAg9psbbKI4 zEvp_^r>-7fr>P!^sN?szN7b>__qh^b>6iMJviij7F*hrKHIU$tcUV@RIGyy@c>m}+ zRkb2e5_x(~apcd%qq+7|GFUw7tcp#03{85}J1ZyhaLz8nLdRKUZscmKGxF!@Zim?~ z4?G@`86rw&Y%}KE_)i0>?Bg`mg zq)LX?7iOLxX##gGZbue`~kaW{{E2mMILCxUld za5AE$z_C>tc!ZCs(mbtxM&{Q&7qitCHiD}$b3WAypML85-q%^*G{;2YOMvI$mXW6XF(wB3X?fgAP=RSShlK7 zDNVou#|}e0U)s&KGPdrJ(VEx#)k<2o!;_yY-H&%Mb{}CrL@npExK~Q|`DWa=5azId zw!^^rxVAEqda$EpTNy;0D?(igM|4VP!Hwlw}`b(z}98MrV-mVjT?R9maMh zwA5Rb`Af?S-l~kY<9_GqxSGcPI+ehh&tzl z&^W9e%=gX*SJ^pO6INMa>o+KgGq!((tlm=GAC$shKu)7tW_y6WIgfa$r+2T|j~08z zuKp;DNNCAsL3zk8JjM7Bqd3Qb)#8|s!k6N$?~jc{Yib0!h0XdZd-o@yIm9&qrO6Jx!zmFLO3vLej;&U9e0_(kx(>U4 z^9Z@ya7fG6Ey4b8`}z5R7Q z^1q@ znq*HWv=7WsA2vc0Noi<*FP^`s>zI&WCo6DSAZaY*4sTnS4X`tk#yzTyVYFTo<#R`(49&v?hHHC{$XHTs<4wVVEqT?Z`vs?;PyB!Uo$Zx zR~g-x(@I}N9fvOp-Zb$iU>zREzu!-2+`?1Zw6oxSA#8;74qr6Xtqglu^vy&^^1Y7% zDj&t4IMwuRlc`7pJ?eg-{H){Lh%O=Fmu$h#a~UvT?ptodsLnz=IeR(T8IWg68zcgZ zvyYe%A&oh>VwS`wMmNhDA<NiPZI6|@f)FA8H$ZVJAX0!rvh7(GDXoMA-+$rTbtoSCg`w4w;zZBtr^iC z<4CrG@!@^yPG>uDyR3YyL*VM$o7stX8 zrXo8db@DGE7ORAT88N^Dp!OrY!Rr4<-uM4O-bZ_+yjT8V-b;q^o{7A#0$pg1`=ff7 z{6XG-jplvDALcz{DDN-f%k4tmMEBpfYw91g>qtQ#ZP&PHyRJnZgZ2A;9?b9ZF!JXH z3}PNe;4DhC$sSe@iWoEsv?<*)xL0fBPl$W9Oj;6j3G)R-a$!@~{*E;i#-%inv>o{{&&uVym83ypW5ms>s)=4>O|tWj8L*XWJy2|8x#;h@!f zoj5{}97Em`zGkd2WJ}>WZ#+KMRpS~+Y6~O1JO{Q$Hqx)igZU~B$SrG5DMO zC2KGzvG$Wu^ibyDUoMu$0P4epHLbhy0oR%)2DLp$@_#dM`?*q~CR38~NQ-IXDh`+? zP#lR*;lDgMztf(}dsT?80~wF(K(E3&V}6jyEDa_iuTMqk*e!nfQyE;#KIzNXGntN1 z8h!aTd>y{)GsJfx8CxfQIqeWmBkyLd#|zv)YaH-gYUIG%^HY>Djr;?AUrOsJ(Gw|d zO=ZNu(ihe^JC0LZrDNo#JV}Sj02hr~N`aOd@2YQ;Yl7j7MXViB`!X@&oR>xpJ~{MF zJhZqYN@y49K}27S;k0{XdwQD&I=y}M%_cWIljb{T6-`{@=fE?>W)-R&>-=qE=ZNAuh&-mFr> z6LSp5AcC*FqwZdL`-}SDk`SNVC%ES3$wCZvyo9G-@RHmd0}0uJcG8vYc!2|P1ZOYt?(q7ZEurtcDdkJRZ3(hH(0m8KG_Qg5`x@GM zHj~*A{2*-3vbxSBZgReRJZTN>3_xB^XEHj1`@tj7oe%Md3iTa<8q2}asPTQ@2>YtK zT+EcKgX4zwE10QR6-@3F`^z36B#=b7VBAw!6_8BW){mZEV1x3}lanM0s{5V^eI!PVIXx#PeAKPN5qzTn-_Ce!4) z8k~j}D`sD^zZ&SA2hYIf5a-Hwz0{^rHUbrZWPqr&S~Ad?bI``^#CLh%lRn7%)!d~e zDoFj15bKOvH*zssMxXzlYU;^YETqQ9>xGGoyj*i|G?%it z*7^PM5$AkmOdT7%KFPWme6X7FuP-m<*xK>%RM>~_I1<7ecA`Wax0y>WU+S6Y+2+A6 zqYwBQ$9F1BN2KR3vP_)^^c7|7lEnPc0wQ$UA)B{F5G%&aTFSM_)N&jv<0J43al`7*k_yw zTtnI^oM?ZpJgJ;oXNl)^=n$mVk#@f)NAnUy+-oK!9#M+9MXMG);JD=~cA6<&2*nm! zxcOzD3Cu`ZOQmolmnC7(d+9h8S3WLw23E#X$%AxJvX-ALn0L*?T^$mD7OCAO_zBvAQ?7^QCcOct?%+z0l zUkHo}v3hVf5`sOKCQbW;h?c|z**Ur5PQALraj(L!s6)z`h*4=dEZii<)w2Y9o1jCx z*UhDhwy`bfGarP~SQGqCV(XQ#;z49ves&-6{scs_F61bO*m{a{IiI6hwJ99ia99}A z2q^{ghtf|u{1ra2csF?rcSGK{!P(Kg2Rg6ESWz1?U2K|p25;$it6z@&=;2eb47JL4 zy|XcLq;O>zQ}U7S;gAM9sCw)ls@h{^kGas6?^g=TZHKm?~4eT?m;;9}T_gQicdLwl3#PQ0Oa)65O4(AFDGBf3y$rjZa;W|BJB9MG0zb%ke)5h?*K2z0upXA!#@IEsO@4hhIrwkUxVKL!bnfbtvY zTnuV#2kkZOCQUouNYi9-#$7qkVh(gJz%zeHxl2ucYoNHYJ=S1wnK+_3NhpapfU+dg zT)S)kqIa)mFELH+4p9#2c%QK7nu2!>VKm=`_8g=&jZuWZaTE5g$77AF-LjF3Lo1S$ zLDntIWC8QcNVHc+$mGUc?<*4}5>v)cA(B&O!Hz{!R{&oz!j`9Jvv6(a@XQBJSxvKL z3wGO?YmSCfGbK7^@6~h0xe3r8ztChT+Fh36UDqVzzV&+G7vdKRnvVj7Wk-1`km|NU z=cs8WoBiwq5`N0-8Ru~%#&I_nZ)|*&TkERg;^C9D#GSB}Y)2XRL#q9yG}h`_=t0%d zv7r(Cut{Jt&R{p5hmFxML37PO=UrW->5POBu@q6_1HR?nJsr%0tzVX$1L`2ZxVsWh z8UAtK^_*%K;Y#;+CJ)dX_k{A@r@Y^n?ZA3lR%H&z>twZxn*Pr3#iuvJgKOz>Lab49 ztnJs3b-9FJ!`e^70^%XNs!qD5oJxT2F$?jni8sE))6I6}u%`~(sjtX|FO34&==(&y z?97mi`|GM)?zGndpE$~6idY`$Z5i9X;BqfhTbHM*u^p`AmI4EUw7IR#J8qi}jh`2D z1$4&EJ62BTR6w|=tBPhq1Igkdupn2~QjS>pqW<)hu~h{X@F-P((BGLlPyl32=Jr^4 zt`|TLaC`riqQ2LS-&lP?Si;;{0U8m1MfDWG3R+maP{faq<*MOPLvajFLNh)B(M7Q< zh}I2=c1ty)^o5;AA2WsG+@s80@ISDtfZU?2*EIBZ-q>FWkKcUgC+yt!WlPcWtSuI? zCe>OcYDmZ{{hdMB%oRk}Ot%M3e9gep<>XsOX-|U=cC;GlK2G91J9>U1wA_ohq<*D{ zp+e7z>PJHIx_M~7>+;lSNx}}NyZ;KQ1Jqg(c+gT?(Y=G9(c=|%P7{cD2k-3_)74jG zl#k|!Zj`Peq`|wTKo3xJ%t-aoZzwz*Pui>sJegZM;*1AS0OxC(G0rE%kmT<3@2F zydM2wA^O9$LB^Wt86AN2YvxrgqXV+cw4mM1dx7hO=!@CV1AZwK+t+hE+NU6o3+ed7 zqPLN-itpjde_d0k;%bvcT_Py4~QVA(~Y417u zeq9TG6Lm-NtJWRHuTl5!u!vjvRPm$>+hZ)oIo|gKMhwA~0FR210gXS~4V?ML6YxA9 z^Bk>YqAg=Xn`A`WHmBq#fGtf3PBDRQa(}MjoZ50py z{|v7-u+ABC*yd4L6s<{kClw=bn0z?JZ=Qy4p4+dhrd)J8lR`;#;Jxb6b;?ciI9WBm zaJFLesDK9FeHA=mPKMZLh__R*=c9wy;s+iJ=FXPzXnG58u+{Jb23i_}-JoCkf5eLL z!*HVIgJ>IEI`P6bc$C{-{8-~A@PrQ@70=`AOB+XE)FfF->Wi6`Oa{Z-DuMM5G=a2A z>We9r``dx^A&!yqVC*DcD|2RaC1X_~s)KSUszZP0lZeg9*lrI!>ZZK~MGg8W_TcE= z4d7oz?J2S6F?^>l;-wrN{HH$bur`{wlgo|>M=H=SA>r&3-*AZ|p#~!%A?HvYv!gwV zdR{qt6y2K^QVjJ*HF_i6n-sE@Gqy{DCn2#gwydBRSN7=DrHfbgJ+@_*J(Nnb zr@mZhqO;Z}>YqyV#?$2r^hU}r3;hCI37d zm8UNoEc@+{^)^MFs+O=^sV>dY@69MjDHuWM-m8#2cidK9PRLJm{a3nPsS=T(==%8( zJLwHEZzXC|4jeV&UdMp8+TQG)EG^UmPxBU-V?*a=Xoo6(@zA|XC)Q7Y~WNi_owj4NjHQ|lWq>jPg)ust+FRv z$d@%-CGcJ=p>=+uaXowy$#ZVxR`Tr9SFbH1ix=X?HgRS+%jz+d`V(Pz}b zANDaAd9=GUJJpz>i=tQ~|MWd*S|B1mscU3>B{bpWDf_x_^=)j5wvPBpy3^qM9CLCG zVjG=D@7eBK4Fo3%ap`zS%0+`*Zj9!#DVhr*H%Yl{_+2g!gwE%2B1EO?hDxmf0^{ex z2D?tA6XkGgNKu6twvg`(GR#GY+o^=5t!=Cf=ZSLkwDvJ_%!IIP>+d`!?gHKj1U(1( zf>eWR5m98beV11&#!{giuMF+EjrecyOF6L)=fC{&Xq^VXf#iz6uWBpTijoH9Fh#tR zxl9+mW7{v5QLYB!4wZTe$b3>P76rEt=j9^0Fd@0Km`mWPSVO%=lcEmvcglP8ut@?< zv5Td~82Ax<;bQpb`rAYuy)= zsK*~oD3SpgxIt`#4b7R$fbT2T%+X9^;(SgPC=?~^kAV@eyqum5Vs6V(hmAdC871vP zZm?WXc0Q0L;m;X|vaxc9t_d+ys!$Tid)a-q*p`N6ObXd0ysOq8{RGbjwLY{)9_ZZs zR#b{UXh6P$vJlxdzW4vJ_U>^}ReS&VzRZ1wi{J&2bYM_{@xo0b@gxqz7NtVXip&zT z%OIMhohPz$4ujggo{;GROd4g+IV#2_@|@60%Q~kzbq07SyR0RaHy$V z%LQT|=3Ljqx_<@6JerI3?vqhm`mUFKo@RR+EH4ePD*qstcA0r-hS^ywfc&_= zp58?E%D0h8T?grmG2t+36F%u4|K=y%iEl=N$1UwmwfU3ot8qO~W!h=l7v|Df!fTks zl${*X#bty62bCI??25pA7?~J_-*|8fO-VH4Y-ZwY{AR!WN%#E31vSKVBVpDxR_n#b zhr%q>Y8UpGH!Ot}k%x=|IlOz%YZsoN;@DDU(I^gdItO5qGz3RXy$5@PY zSUb41Zk4z+z|P`@N4?5DBa+s=4M>lCUyLQsw^&{;|9R@gwi3cN6ipGNqOV(|!b-cg zS`D@&4R~7v#X2ywyxuz5vBnh+4vEv!8$0#z;RFwE_`W|^Y32WOm|vL)M*OjgwAGB* zQ^h0_ODSF+WWC!0@6oJvmS??Ng>}lQs;>%9f-hi5UVqSNOjke(gAX>ttA~9t zAs`s>!>X{pWP=*gq#C0DFfeK0)RR=zUx(=1@v&FxJA+?eeYZE)`?mbc>D}JO0~n;HSi;BG&k@jPutRu zut)t`;YZyXFuZ;wMVce`e*}x_cke2zXJ@iC8|n?0<_;k!gJb1^! zY)}H$?`CH9T+i0hnzqloHEHdRyxcnMO$eL&9^N2`Te!of)Yv+|G_C}! zq!^hdf!9Am3{q*9;cKiz%G(e6AG*K=H1oO!wvKEBR$@aMx=fd~@#}b41 z-B5|o*jUul!SLB+FU>-#j49EJIRRP&Fyf%o)X1To!5<^AkW6(lzD+oxxCC=+0iO8R zAT#|f)GVz>8=ad9%jyHgdKdMm$s1`F-0f7OFD#n|i}VC7^%G_~>}10X6B}n%&v1qH z)#@Sk%(`$_i#md9O7ah8=uD8qSn^db9vNRGOf@Exi?>9%Km(k<8v zz*oJ}ej|R1*#bdZ$JE&N>mA|1ZFK<4!6FYKvjB3q9ab0xa<4(I7T#jpj~<77ZF|Fk zC)yTzmy+O0;d#=4=(q%%Kyg1Kj!725;)A&z48*g%dUshp-Yzn^-nfy_H#JOT`ixq= zxF#UAuW+|v2mQ2Ue~DJB%LF}SVrwB}S0Q{aeYpVEG8&9jS~vF`#`^|?_{V?$Bek^DaaImVYh@DmIUJ7R0Y1pgsR4#5 zLcC$*KYd}-&-wJzMISTspl65e_0v0iuiLhLxx?oC@?l%^mj|#XvO89pH;b|NjXkP7 zC+5y?t0S;GplGP1?LZEC=3WbX%97vPRdaz0*uczQ<$0zxy^xuX-GOC$1uN?BEM)!! zyx9){^IRtRT4>*diC35W+ec_Xz4%Sw0NSJONS3e~`_^phj<)!@C$U>GPGB?4R=;PK zRr0KXp8jEBH(G4D5Z=dzn^Psvtkj=9YoJ>^(fU#A%YBQ&-|mZzU^~p%uiA6*3j131 zw&U>o!KN82tgU>-SJ?!zieC)jc^8GGG#dLyOZ~@+X z08ADWmKuc#OSal?DxU8!w5i%|cQC0}oaO}R$2JWQ_+hPH-M+`cPG?-Iz6~7v9FXqp z=TghEGmeH$d!gNnX(w$y5A?SgeIe2>!PQ@BTVnNYk;NOL{Qc5{2@a~}% z52R2na?~+wUj^9l*uMLCpkw>Wc@=&)@LX-3NNKDZ$=u@AaF)Pl3Ut#sY(4UPbwk|>mvL;};7%!;Kp$+0k8G+{1`gdQSX ztQkxe^r(l(X@qx4486b72fvbDaqg6Lpd>-qvEOWi4gem`tXF%~4tCaWyu^=3JMQy6 zQwurFp1KBO-v(Gn^G+5T3#NhUy94#U7jtR>`oT46#Jic}Pz&TqAiG49MBJxOgPBFa zs4Z!n9TsG2Nm zJiS$u4ltHP>~c=r7t=Ul@9;pQ%s`tfzTh;tZ-MuWZwvJyUnB2a!3!n~eA00Olhw0k)gm(d}EId0GO$V^}FfQVfkWvI?9nPM>HJJu>5K*% z$?V|0MrhoRE@(IsW4qvql~iWV&kxxA;pd1`bdCR!A;S%9)=xfb znLfmY#HK}hXobnmv)-c*@h0br3#-b?m;{95xh%9cz3ag@hjS)5{>yO8xMgL;$|SYt z;@hp4BA_jca6Rsw0R7{1)M3O2!vjwbjRR_9V@P(gR7Hq44%1pe$>*51;0QbKq%Wp1 z%oSGq09btWbqq$wiSWFcD>7AK(D78H>Ff1abra9;8+dZA*pIQj!u%Q5cNa_A;{=Cg zEv=_0wR6+O)ThDDN1?H3Qx(j`aIbSxW0Xq|Bw+=(At^joh;}JYIOdF^yv&Uo#|aGH zke=G^45PaGRcV@?Vb#Qe))Oo%lT*m`v#`IS*#s_rlY2_ZRyW##ZbI`D?HU&cUgu@- zh(Y*8j2aebtXx+)n4QEowiqk*65m$HIw@YG`!(H>?udVZA)>NK8J6fJa3WZaVfWiq>Vt=RyS`= z@W$@D>Qw{$(dAlvN= z4%UgaM>I)nT6W2}u{HY@o(QoIp6!%71u3$99PT>fiwuSQ1|i`H`N9{zG!uHIWU%Y& z#F&xKF@l{^cAvK2HBKpi?dLqR`wPfN`2QXLkKq3g_+LH~5J$M{R*Y(2 zN!eM3oyMBeQbkp7aX7}d<&ZsN!2lnZNisFNjn-2mRVH~o<*yKlOk+eH?~psi))0WSVsI?6|KSrdy9}#Ea(bmy} zBH5ix4W9@tH*l!bLK(5fN!)>tju4(BSKL(J`X{cv827lnylWD;_9jBc zogj1V4G*mGPp*w@C8qM)#o<_`Ef0+}4`ZZB2&_h5n&hRPF&;g`;I0zd;9WLXEUn^% zvW;LZ3hAqkc+24HuRSIT*9U#8(NAK%e<{$Rmvl%DGxd|TGE;6L=8HvGi7crq+h~Tb z@6r2T#Qo;Pf8$PC`DIs)t7E{dd7oZWqfJ!TMAhe7R5f6cON@7+4t6SSybu}#R$M5L z|CRlf&9jzwH!1Y~mHi8wX*?ZYudAav zP{xh92zxSj0<`brky1g=SN5mMq1Z1#=(w@asm8&?;NTA=5(f&G%TM3*#m{SBT&v^?h9>Y|>{wUcTMF3h-f^TD-xtIq%* zQH*KUzS{+wdk@+AJ;oOd?pIc;U~_BthxhO3F{#%0w+}tJlFj(Zmng*Ti-m0Q`_Nce zg_6C1lEseId<8{RbhHZAzZC%== z)wG&IKl*m)wywye`*Fq0uIyjYbW_*$@_1Ptd2zgK`%D>I9upQ{v$*gf_%6wJfG5E@ zNq}W`1Cxk-t`;z=?xmT5cMT8Bki7|PfWL-pV5Yt;w!kYUNg}s-Et?7i4tsHQb(5Ea z9P_75DL}ryA%|S&<**~Z2mTh66oMB%eDC3834`vq8ao@F@>FOh38AgrlZ9MTAyYnC zzGN()R4*%seO%6A2Z7S*4zELhU{PmmS{Qsm5ErU^4$b`{`CKz4=7@HBSSMSbBJ9~n zI|65XbZ)ta>oAJWL{2$AY0WN8-^g=xqtf9U=0AiXJozHoT*AOu9V3Occ^&4J`a( zfF;oBAniQK3Ve-q=?lg3KCDpC%FMX3gvYKFNeuNi8*=rv(Oc9mE+F&=Sh? z(&XpWwr@r(8`@JS8H+8KW6jWyvk9Sc$gN;#AUpUR=I3V=9r*SP!^L`{dAL^i>ow1| z{1sUK#{^Z)6zml0TpHjjqA~lDHx5{x%Jc7*Dq8x&;a!|>^{y)=do{}OQ_QF2DWlD|#}O{)T0p3Xl2mwZfUH~BB0uw_Cmi$hI?U4% zq5rVZzp0i|)GprXyHT3Kuvdn``^?{c3igVRIO+`(@Ap$5WW;|td56;975N!< zse1``K~nc&a6deW@nMUD;$UYV3U3aDx5?qUvG6_4b*1zM#3}rVl-0tB@A;LSo^zVu z*^Kb3Rv{eNhBvU9P+}f)o>_lV-ucU$LNdA9rN&A|?J{|JH=9}J*|VOPJ(;Y7^@rvyE6=(f-e%xO z1M+P+5Hc6buoygGOZ3Nlr1_rstGlxQ+q)cx;hVnY8{da{Vzp`pIse>bAC;FgB{NCcOYV zN|MKp4o1RW;jO`O_&qcjh2OsnstHwK{K+1fT3wLm9^i8BTZ&^uxd!|(8` zs?HmvB!y&_0ab^$udeM(#pef0hFh;PsNI`q8*H#KCqG?eMg;8oAS* zm?1)M^a^4zKfnrM^v=m+cRmMv#P}9)&*{{4oUx{7*gqjmUw!dTSvs7?!6c#Z#wz#9LfQgogXI`}j%W9@)N z{c^nLGK@DIjW;FAJ7)a1;n|1bOUe4SM+eV7eD5~iOud!|i%Y!5eM@_o><19NHB_4| zi^Dn@>pzg1b|^1PZ(_tk$ZC(a-d-ABTTLUmISl_y62`PFvM|KBCY}gJ!p>+{7f>s% z9lkL1`(>D$2H|lBE7<8fvCe+6D?yeSzf@n=uNTD&roxGW3DQCY*fGtJ39QgMF2h`U zl~Ce<1&h4v+yMShaZ$`-{8lkXRGgxxGZxZ)gr|kKY{%|my@Pz%FQc7uhjK4@w4-~= za|uiPF?&(JN7(VC=bnNU@SuGg&}m;uG4m$wnzS35Z5i(h1Q%u!|2CR=2jul{|29JF z^lhUx>5tn8KgYT>`}B=K$GLQkLj!Ni^Mc)LIFJG)E4_aN=3&yx8ZZ_v0!l78@JHYm z@989*D_sTUJFJM0M*K42M;~~3=3eE%ULb>VAYsxu#;Ehp!`H!?OX_lA)0tAt>X8@UX`URSiX80?mHo5i z5M3mFw}ap5#@4e`FAMws(iGpN9$VKcVQ)1>{VMEOldenqi+ew88u?E1i+lgs)c>on z&zgF^qxN*M)t`BFw4IE$riJ}~ZTkGXUp`@B^Cxm{7hCK?XseI?Dy*=%{a0^xM|1Oc zd$3zTHE~Q^dEs{S&C#{I@}4(0@BWVD(30;I%+%wUGe+0zv}PlW(Sg@-WIfap04FKo zjKT?DBx{DrqbMUTlxK|v@=S5nHo_Op+r}ia`y4`GpfR`&qvioygqMS*h#9-iLkQX1 z%GWOot?l8V4r6sMIHt)y;i)0gg`UN_{xleOh6W;}ZXf5)kym>pc?SnpBgIdcIpVVz z;K)#tT+*e`UEj*1(R^6fFnC`IIpy8&0GiQ3wNBS0JvO9KioF=YDC8qb5gLu?`d!R7 zN-T{P<1tn+9O-{^#hFzsG#|;K`x2p3eq{yQy&566N52{MhLnleI}J-G>1i0j?kE;#BaJRKBsE^Wp7d0zebLCptMwi zxmBeOW&Ba@UM7!ZR1cIw2@{$vn^+m`r(9n>mS(h+mHk=GXV%jd^}`8OY^Wb9>8Ce; z2JbIQ3s*v}7|Y?}Q=;*d6vt>yRQ4Ok(u~$@Wk1`T>abk$)hhcXc{HFDRNLLoU&f!k zEdGp>N}`NeN=Z88cq#?mf7*%Kx`&ZRb|wA;c}%*zKHhFxk5VYw4<*&XOLD2~Z$f-} zNH2D6IZHpO)9Sr2SE+6|3C-!}cSUQRV>yHdyMQmL!(=Hc&t88*K8 z{CAYQG7>83;+nf@{4)IOJ4N5PEWlqfeo1*%7{8V|BZTq5>7Q%WVMKZ*sD_LeQ3y1G zW~l(5DZleLh_vJQv`*eh?Roqqi^$yf6;FLNl+_;`h2 z1=iRKx%@F$M{E;z7e~F235y|oZ|s(Vfp``eh-Y5qf$qZ!$riihbAfzcXw`S*S~N-4 z67qgQtRk~LVPfeB+n38=#bo@XTV>RWOCKgdO>+!+QFl(VZY!2H7q3#P%wdl0hG85 zFS39h?bcXESqzyY!~-gRef-$}*{Ah8V1fKU`LsR*9>^-mY&L-j@(h?D6`$5-Si$KS zo%ovoV>tsh$TMJryxgaC@nt@(wb-X8pVs8tO(!M>$ftF@252GcMW5DM5jYOvqEBm+ z7(@DP*}F{y>h-t7WX=Bd+U+Qf;?r6=zmz5I<9?;y$e!LQSgv)!*8lf*!)|!iNx2F* zk}F|nGuIOsn2f!lg7)~r3eDUnk^T zmjjNnKR`C9fd%Dxu;nN$WyH-n=ZkA??2N`KZ5M)-#T^CcecwSh*4d7|29&E$-q$Mf zJjie^YvHCTTKjp}j__EklPqw(loDdS2?y?1Z#1JEYXS_`cnTNUJk+FTh?((EpQR!J z8iHJ5ow$&1L=cNjH&?@GXPbxeQ8@^lcUfYEjpmxHiLh_^E59(I0pmKQlLGFs+o+x@n!r{lgr*O`RO~HR2W_R(}Y+IO=JnfXzY8en*+(Ioq?x zh1Luq0s9eJ@i&9u__`s>{s-Tb@_?L=1LKYW#)@=#3?>_ACizFt?|jb;qLQuJQ-(si zm+F(gq3F|^?}1Iy2A_s>D@CJRP&3c*p>MH0^ewhs_b6HbLz!c;6#;5XNr!G zW^|d*bk9BQ(`BmW@~)FUW2SB{u^LhMai3~#v4aN#3SXlY3naDuLmyq8kW>w;3z-DI z1_+k9;9F}sC1s%n!V<@GDunPl1(dy7_OYC&ZSsENQ@wg=IjOz0_^32sA*Rw8qs^I1 zGa1VL7VJ8aHwmBoEV@#@XaCss_jv?FudI8*tJ#4q{9eq=0qWq@0 z0^SpA1$s~T;HrMxM-~LMvqJU+SR3FhQq*e4dktXDP7$IGp@cQ6KDAMWr@uZt<6iiV z#ojKZbF>?K4Jx2o@CNX9y=5n;^8+G7Tje|B!1*W-*kT)S7Cdq1_Z$XqZ%EoP4V=Z~Y~G4bp?QutWQ zB;jG?hy9G5Zkd@;>w)X`(0+(&tq(#R`O49jz?Kv@8Di04uLp(B;Mm%j9F`OY{F5A z!;NDfj=$qLiNlBE0uCPI+nQi7n1lbRIA-B^3gHws4(He6uwZBPfmp_&LCIc`O4>BS zb3P?Z;Me!Hu`6&n1{!firPjC@ zvEBd5*cC56EbY1^<&r^q7p1g}xMT3?&{Y^@AMzF$7jFeYPN9cnA# zufxMgQI()@SD%)$8nD+5>>VKjnB*Hhv}<#{XI$g#f_Sn|NZ_7l6R(#{8?I|*uO2sB z=-|NWZOYWx7J1n8b6~<>=*h;cc_TPOpk?)ZCG7yZgL@t`O8832v|wd7H}i1onknPv z%;*UBYX?kO*=dt{j1gu}Zg=8()|O>_y;Yx*qSe z6Z0{7fjbbSU1=(3y-knaaK&I`(mBlk=Y1Ub&%%;^QaqQ)eJnV@G2_1@HyB-7Z^WS9+M~YM~82Q(ntwJ*kdW?WM5LG>OUZ4|SJ^mF1&Nc;0tX zufy1GEiF6D&Tj`Q=#oOq}Ea2A91_Qc@#@)<8aIpXsf`#2*zFMIAGU`b+8f^g}ye8!8P z`#a<_M*K8zA{4eR_z&D`6weNSB>#UJ{A(ypN#GqHgSl4rIX-+?4mFC6!+-YCOv8FG zqqH#C1HHvgHr7vJe0oA*2z)xJSE(~ypEK_4jU#b;9|9|&f*cMHXbv9e%T`5v67k;X@$6Zi*@5F4Y32rY-f?_$ zALPE5(DzB!A-j9>gvJTA@a5QOn{aF+Vd2oGQe>`At}*ii|LqNm?CI;-&gArAG8y@c>TyK$P3Gm+w=Z?`7^z8D~>dZ#eRy- z9Xaf~zQRyaY1MTUmT;B=hb}$FzDQD;IQzeR^c>)Kfygf?L5p#**@cdlzTiTRFcq0+ zeel2Z&ue=4neRxdqatQ8RhpsKh%(EAKhq)e?v6EVQ5Df5y1xl-Zy!i_)6w(_%bA?bvR4W>t+o(p+RKehn|7A zOw)1nsWdPJ>sUzqbZ5Pd5&!Bmi64zjvRKOvNp}=wIx6jLf&TM2&Zz=XnbK-rJO*p% z499B-RRy9g6mm#9TfW8d%XH0B^1YicOZP{~ac|qN(z&I*_r7*nx*F;1z2|?G?hz?@ z^SR5?{XueU&Mf`qbGJx)H)oVyTE6wt+09#im2Qocyk+xfx}@w|dGSWcu_beTGXO(%voSf0a*;bau&xj&ih;Dk%DltCTFnF<2Qv!{D|5iGG9A1S?!x?WC)j=D`!Za% z{OSU#4VdT5OnCKh*`iP8l%Qo8PWe_!7RD&f0pr0559?O0Vgg`ex5Iyr>kD}LB(KFL z3%4H}-jJ_yAYYMB$XZ$Zd>FZM_26Mat{k4ponYNLB`u*``~7S-=jN03n3EWhGfv57 z>+l3~K|EW%9z52Z>sv}`X6xQPza#3=_}k&lZ2igqkC7;gjq*U*oe<+Gl*~%}yXIuF{$L`r?qkAH7k8125b;iYeMswJ9Sq|@FZ6|vj zdqnk}(jQ}~Kf*ics2+%Qd0PL``ju1+#uRSqRO0Y+Jz+C?wHO1GUcY>3ncV9w_RJD> zC!2{mi^OUmA=7s$rv8;%8^5?43$$sM>r+d0sFW$>`w4Vyk_Hlo?rNKc+s-@LP&&l3OB_`;&Wk&kU#2TYx=Hdogb5RuJP0O=Ny2Tg z@Mm2gwH|F{k}LxA%zvT$d@J*8DduS-Q0Ix_Y{%w`1#4hGR8z^6lR zLHalrZ}HL)N3&H`(>F@lV`z1mw^Nve)_bglJwTj+z^+v6DrORF7!j?GMVJTTr9Zbe zx0Yc~oS0&cNsN<${wJ+H0hl0-=!L8kb0o^VDCGOXB;GT`!uLfUJqdnqh0wF`B=nVZ zXz0@Mw0H3|vRG#lb`_iHnVacZYOyOwdlO5b3tEg`l26V;T6mE-TYr5# zlVbYfDp;(}IWgXzDeR187d&B`N$bd!^Gmdy@J_=Nx2q(sGiZ%J$%e|6h__E1S|+pv zhWw^L9G{lC2guuC>W>}zgBQj52bfQ^v{I)>%@g7a^-ub}UYZ*${FA>pW<#QYAl z^Rv8|7xHMZbxK}-x>t^Epq29^*fq_S<5qYzeZibnLVbQp2VZY!G(5|=a)ecF`g$G+ za@g1p^R$xy>nD=$OyYTra5k`Jp(K{&@iqCAPr|1W)6)9dYBqI}cT#5*c)VgIo?$Z= z<&G;qMx5f8T>st2V>jZs&j4wmCjVQn)}pEXD9^Byv#V+u$2Oa_0{PF&EZ&8&F}OtxCsEa=ciRIWz~`JEGA0KZNH zp;l1Gz>X@o6)Dt4`ke|APISiB`Ujqp83~A^BL-J{Lszdl|D!Oro^l{7=-rO-V{PSA z)n;Z3qj&9@Qg3sL9;Z8whlTo4@$XJ>%ZuA!`A7eM051)gt;DU6OQyAITg%&N%@j4L zw2|;Z*<#p}i!j|_nB}*f_=?XET8prW|KZWr6Ha|(AX@&CMZi%p343E->E(@Em`1Eh z8gaG?xepF&dW}5a#~Rs0b)6cLX3t8#UM*UOd3OxH+AVg2D<7!6(f82R6GM25tsFd+ z!JHhSu~%bMEC3eadAz8`+aGOTKc!0ed;UD|_A$?qZ)u8=z{F78uEWT|39s4Gy^yKQ zFWcrFhkbvp27bk1?TIh_m!Wj@6a)D9$*-|NY#yRFd|smO4PSTo-6^4Df+oaEl!5Qe z`iYV55o&b{CrSE9LWjZQO!-?rVrrZuaYxw<@?xMXf7gc=2hM-2i=mgy!2ADYNaZe% zUn=nMha7|J<{`r~R3hGe(5HvLyhzIjzKP)YS6UBq~kYD0Cx`z_01 z!T3_44!(2ru7*N=eb~;^(t@fJ#U_^#ttU^GI#WYdjMJ+O7+G=!8d)~cN+$U(?=m;_ z>g(KbqE?L&WtzJ83-vCviKwdoL~bjf!@C6d@JD!LX#n zPMy2X4*z5e-n35hXp;y}Wq=Jb^+SW$jel(|xB~F6#{bs=b*)kSFsQ}vUxSqIu^>I= zXwZaym>1G7w?V#28`J2f&-kb{D*<&zV=Y9lMtk}yk9P0~O z_zRW%NTxf^3Qw~J^Y!`bJJ?h=_+pdO!1kao5JdO9&at!5gDwIQI|GMUH2HqP6r-XrppP3B} z8X#BI*fT2{tP*JC2=~O|tBzlCq8J|TfII|q8ey4T%yXy_;Pq)vsO-;eHo&Ik8nl!7 z&?@|&bov&*6D<2cN}_WfwH zXXTkO0+@1Yqeee3w^gm5lmB^e7hc^8Zq!!DzO4vMM*dIwR7Y!8?0qU z(^Vg)R7-H5@{N}rR>8g}P53G9PrW)LyAUHPkGTWyvm9;O*cVJ=VX2U2Key6`u!sB% z_5hX$Dy%wq@jh4+EoK|`lXOLi($D7lp(jWGO2IOe=cyw?%S)o9{7-4+ImIl3x@0uGbJtMVe6_wR7`{ zV@8i%TE3QM=%Zldruq7ij}Qse2h;p&psbe&Q|-{8;CZV0H!X)(1{1aJW4-V5HfRRa z^-&ekx$638aDH7;@<+73qiB6^D{>`#=bSrvvF$12<3Q0QVeZm+;lU|eu{L=WXyUAf z@ZGHS)(&ot(R1mnsOvNGdu+y&6U~}VU@dF>1DwRv!&j(B(I7>juJ+jY;}LF+IliRd z_e!r$e=vSuA8+L5qycsR(1oj0@cxT0vMR9(#Eb08+ertZ5SJSI!m}&Qy+l0C0 zY#nBR)foQ=BizYCe90$1J$V#$vk9hpXemSYv*6ygg6-g(hxTAr2|;L()Z!XHETPS> z`zm1nN$*J9v*QILF z1@H7uroOba6ESZg2EGHpJXeCNKjR8a8}%t*BMlBT9;jwkK7Hw5VZUNvs40AYBjo)P>&`zb)%@O7I>u z7t;PD@jhTKT%;DREP6D=%5W!G8P<8gvY;DfW*|A0m>Fm<{QsYwfp{4P2i}$~`)7L- z3tw{V1uH`U@&}>nGrR$?tr9b+1~#sN(yzhYLFZ{WPbf`RQXO6dU(hkk@W8Xs`hCz| zwtn61WsY?vjrTm*nml*UUCCK$ptl>bIs^|Ujh|Jt!ww(d)_xzM#AXN2;ol&7q#uE| z{vO}%N!a6!av3yWj}x9&8kiYH;Se<7YCk^D*rxiQ9LmLL`8M9A1e)r1 zx~G_SdpE~@@BJ_Ama6+ISoli38#Q|OPJFdwe66GK%C5*)EZ(_lNS^z_%>Vk^ zJ;#;zoKiSdX$Olm!prbyOB%2Z0{WghQPzAVxX?Cuv{~7wWh3$(o|b^I${>n_y`qS}0;*N@WC^>ru_qE}kgphwHD#g`9iEoeJj&%hG!h)$wufloQg`@|z+QTl` zw+6xEqr2clD(B`q4#eWEc%&N~NtEBvAYOwRHbb6cSNju$`Oxee#G7#T?Sc7noh(3n z*oAF(X5g6yajt&_bS}AgdIxfV?6s+57o<8m z5C}s(P;cGgRlZZajg{9B>;-0XxbR2|i&Cnqiwjh)3Om|L_{$e|{BFCjMYvyJtBJ*D z=q&fx+kF!v%DvIh1|WrMaj#x$>yEpUvE1IxWx+ z>o8)?{0G)VcpCQ)aFqNDww@P|=W$?G;qf|8m(B!CiR{ij0jBW{_~vujOM8u6v+aGv zcVi#AcnUl`PB0o~M*XXsi^}U!ue&9NbJ=@2AVe@$WOd=VQPM5IjJ#0gZnMF5L6&7> zdU^g-H?tIdLc5}yd)C;eGv1kJ2Zo$%O^FjAA#Gx2e2boUd%onwE(Ij;b@>5ra9~ETO4h2;7d_?=!=2(=o&Qk2r+82+ zgcn4>Qo92C4ikmP8XUMHkZZ|6n}<{f4u>3g!L<+b^@>j_BU-;2`y`K# z=JO=!v8BA7LgLcIYgJ&SAkLg|XnijM!HnL+1g9I|K?>&=oZ$R^PC^eTr}&-H`AB94 zv@y%z!;8OSky>Qcx?U~Y8Jj9NuQZ5HNq+%X_yunQS}-#sI52ZW>E+2Im!{epN;R=B zIPYJ_36;nkS&6pl!4Xp!8yZ_;u6^|a_j@hSh`+aQfSt7&y&)6zXArNGqL!NXZk0=1 zAVn_8-TMIe=JQbAlD)x!1;aMECj*C#x>WR_M)3;NB}bl0VT*L&6Qw@0a#?0Kjwn2L za$)?~nAQWE#TScn4}g35g7e;uLXM*pJ$lD*B1Q@t7mPSFAJFwV;hQu#pc*EvXmFr> zC`DL{=WiI=CGAMZE*E#ca(mCa(WUk0@6QSK(JuzqhsLq2P#I{(FbYpCdG*|-V3APVoisDg(ovD5B-D8SwjhcVz01 zXSw|EaeR&AoEK$Sp{*%fn%c~onS`z2#9I%BJOf)Kj*!K$QCCyc^984O*?I~$Yu$ze zOJ7~zWCrs-=QM~~?kbFAh6f7#oTP(=o(*hbJA$O=1Iv_H8B72wgt+C7;mnM4J#5f2 zpgW}4cKHkp!dUY!L4E4QFM|8Q4+#vIOD}#JM2+M72M4YlS}NZW94LSmN6F6}Bu@~; z)z*ldDUUaS7*n45GJH~zy+Cjv4e8AoiS^=kj>ar1RE` z^|+HXn|d*E>>aKM#zB)p(iQnr+mnyqOx=B32AP5 z(WX1{9CBPO@F!@6jWG}YS~RZ)2S$eGpp`LZDlMDlgIt^ozrJ%2Lbyd>_$}sS3LWq= zGvM{K_e)_W;>d?Pn-(vzPneU>2Er|vBP{)1_DbDc^PFDqGUPvTh+4##kS%HE*L$GH z4E`~O&B(*M&a1#q;HGk47`_Iz5atNAk$-(i7_k6y-G&R(%p-gi8zW7BBA6T1oM zsW*coryDqyQX4C3*&RYXP{KEt^8(gEqBdOTeOum^Cbx4kCQe6~IAAY%S!1#o`FD;$<6;pnsVzdnaj2_f zU^wdrGUHykuE?6XKHe(V7Av$;Shz;6FV@qDovXx>6TVG7tjPpkfAGzj^nODiMlu~W z^%za7{e}VDuZ0KN8B~8-zhMYC4<25`ymT+xRQhMAxz~IOc7-`&zT{oWx18r0H_(8C zKzWc|?R#0Ilc&BKD{Ggp+s3Bkp1XG27wypXTNzQ<##f}}u)y`^ZBy0Y$vXXh?LJMf zj-h=dE#569#6!LtJ7Bf;Rh`j}Xe;cGwz;swpXJpFDschq_emp|v@IRuxC;1x)oufF z0h;hx23)hGOZ|g4$6=_i$DWtD>cP?o`D}94;nK(#UO?Eys?WQ1mebu)EVyisR3jt| zcJlGg1+5PPlY7{ajk|`~zuFkgb%V}<#U0;KF-pE+uA$cWX zzuje=3IHzS7*nG(acO{KC^^b$J__C&QazB)5Q!j*RfY%Q|1bG z74s?v*7+=<)#>Z$p4E$m!v(EWPR?^uicHIcu9WZqPy2Lx^ z?Amu;-9C6y6ZL~XToMP~Wwi0n5r-WaXi8>}{M)B#ym&7w?!tKSH?O8vx9>w(O9uyH zM?U#Q3UTCzUxaM&lh2^hdsyrXwSj9}3*XVYG_{q7E>6eaQjsUW#f$P=Fjlu$n{<

    FqEZWYoe39j`{~Wp@GqV=gx&7S{{Lv!)amx4jFH5-TRgP& z7pd0ZJxMozG1bVx1nKU}QZeFuylrLwvP)7iA`@JBSt?e13-4Fi|C>uvvEuf?qFJg_x58?~>Kd!p`HR@{rd)rUQkE(wDjJp6=!R~$M}`r=59Z@vPk-pYPe zvu?k_DSTki;G@`x)Nx+as*LzZ$G*U=&C?)DF*V9vR}M}{hDQhR1%#!Z^Kuo03rS1u z_0g`}XlsfIOi0#2S6A8pSre0}+gE_uW!>N@F!~K#QYu#b?Z`ggNk?pZY$-6J{VC0C zMt0`CT@z-8dzo1n)si0Qn&#FfMT=a74*g1c49<-3?q6KMs)J=AtRp6<2!*kt7x}SX4J=5h4rbvSpY+azk8CTjyy>y(+R2kKLX=~yXd#LBAmTs7 zbK~t_0;d;~)^?aU_`tmf22d5lSikTPF8Za*aM9P}J@3S^1;=(AFXDI=hZo0JIDWtp zz@bN-Tm>8?mZ{7%9GN(FBAmh|;rx0WG^76wWrL;!$Y(W5G{Ile<_v|Xfjqu?)Y9(I=gRRf?L=ydg7IK}UmaM@C0mv73{v z8xM4}wdC%xI~eg$@aQF1KMl2yU9sXH245Sy8XlN4+=weGwHl0NsY9=fU4au~aMvX% z5BZChFSqiOxTL3%iJFZKu_5B_^(6dipXWNebFNcOE3*1&RT4O$hryMUr6 zT_0)(^V)tH2lywaY9G~|3L4@=rI3jm&b9u*@j1RS|0>#rzP1L!kGUdo#;lA5OBQWdxpL(dSLR>GWH`EfwANaTHoY3YoN9nIMsF79;7j5k-|)6T zAI?b6bVJ~K`HY1u=<^x+IC!sT_1W|O=u3r6tQS8Y{8Bz+#D<~I<+I^|UBk!aGgh2A z_zCXTiLJp8@vj$m4Za^rlQIluXN*21DX$40l0$XkeZhm+J?HoB??vkrw+%YlsU}pY ziT%*tQe6N^0-erpu_yFfpGw#gvSeb8NNkmf)boB^ zQO}1HmiFAd9&xK~60in;5vy4Jk{-1NA$L~~GRt5Y`GsNT86c4;kLtC{)>1x@ydU}Y zwb49HCDDgtu3@Gj-@9*vR=3%fLqnaV$d+~w03^?Vk;xF`SaJB0~ps?C=PKUa80!LdGb_?|wq_RCytj?N!GV($r8 zCBs5sLEar=rAjTaMV+XbR^MH3fA+f~2D>4N8Iv=?SV`ubUlv1FDP^>5v5NU}O=iwLWG?h>pnBmUrTDZeAp z3M}pA;a~g3atgf^*$ehFf7-pNmmq8z@e_afy=A{j_pZO?-u0KIYxj%yHvTGIlRs_q z{>#$+m%n^-@2}F;`&%~mT$XO9U)*f{1=5xgANHqhNxcMV%ZR`Cmv1TiRl3domM!Zq zOIPX_w|oY_hzh3ZQRi&)F^o930auxJ-yvX|@6I#!vBpDv`iMI_7BA8CjpK^MaRx&Y zG@EGMFUs_#{Z07Bx~Zcj(BH?^r~>0uS1)+GLJgn8(TArdD&dS@!V{4Lr5!(+W@GW^K|`OK%f8n&WeXvS&0SqJ!qdLL z1o{Vv>$N2?F!ZMK#G|^^jQG_c`9=hW-S{Nt!AQey;E%Z)$kBsbeKt7R5T<*-OVLxW zI;@OuZ|>lk_1k%7DULWCY1v0#(5G5R0VZ*m zq{Y>~pzU15mPos~q!t*B=aBvvH^}MDKRB8=N?6@0bx(eu|}LdF2^>M zOig~EV;6k71P7|*xGet8c8?rqUYnDAE8-#%a;F?O4re9G z6A@R`!C3aJ-6ch(t+K{poYl+P_gg)BQ56JM35;~{gSPkuo>j?OPeY%T54X`_wEf>qX29;=mwpM(UjH7824U{B7VAtdLSwZQ>P zkcFNq(G(n*64V4(#(evv`cs zW;(%URNvarm&WU@eJ9`bMI^FKh8Y(y{=MjnHt!nqe|Xm$V{>EPR3W)=r)+lgfjR!7)B))pvRe1A9WcxbeD}ikpq8j(0rjrw@7*M?*Y@U zmrjy9(+*D@)WPC8{)L^?|>#%q(g(6t0_BCG5cy>E7DKKkKUUKk(9Z?czM`F)w@d zJHFA}!2aslBiB1~SVz$ zS9kSybJn59Xgai5 zpU_U@Z79Xr04#B=n3*jab56;*(8#H=et+4>S%>xgx6u8v_1-+j`ftyp_PqR49jac= z6lWiA=YjPCH*j^4$mxs3WF34Gbl#C~Aj^^ru7+<#pM*8fmi$MLXw2{Uuv^e<5G##w zqBEkf=iMlu_doOb4mKTL=@P&8Jq{t{OZe1BY%9y=|Ln_` z63jl-!3!bna7?HUl=okaJ%iP<1WjMhJ;sf}h<}tNi9ND6z6K}1UnhR-Plkq=tO4cG z_!1_F8uYAN0$Uu(iE|xQz`f88n%2Mt)N@&AXjRaC&ODJIXe_Gz1p+&be|B`dR-q@& zk#!~5=Z{8Rg!A>=X>aLhl@K0aGYRv3yPe(1*W~9vxjeofDp@#yj31$7#tyb1Pa1jFQK@*_?_PeQ`6BFZ+fH>%ut9Czr-`YrS;X~@xpy*>5sQyout>wJ^*$V7YJso_x0dW z`27&^2YO`96C-{skCGo!uQk((>v`vc@`}q9T5&z?1hUh>OjlM~#qvr^Sz`fr8(L$% z5i}%nv|1=xm;4`C&CnXFNsd+4R}@F) zgLEsKsNBy6;LRSnyW#%x3GP212gqjPO=uB1i56W#dL!;@2cq|^pK;Hk66lV#9c5dt zl#{B|qEc#UMlMKf$^(?xM258cssnn$kpILqXrl8@`+t)#7WN;;DlnJyy9t`nnO~xC z$z2M>{S_c?b`(=KWDmav!fK_Rp`aJ=wVKU+J$aMEbo40!=XvEDj@YBI9{3tP#47Y9 z(mdYm$j1q;Yuz^=I*yh^oZkkYdW6PL_yoxe<@j{acv-}-qkh$(;YEqM_+qo_(Zzp zHg{^;oOdD{GY~oPBF` zs25Yn98^`1)4YSgfvfp`sz|8}L5@3))($8TOvBcDIzIGFffDj^s6t zKx6xScC2bNqvVYN+)8LPuyV934zMqrdaGYwq@IU&}sPqLmo4&6<|5PL{1_k*VNL?5pba-8nn2mzuyFgwQ*`t56ruwST)m7^Xk?9#tAP> zdEvIzHIIUC6f=i|teXg5e9PntBSf;vI1%fCG?VRk&%t<-h8E~pu92;g6e0OI zc>i|kZFhmf(b2;~O_ROq{adS@gqEN=rJ+%9cb;(Fzw%GVa9WOem+ zm!>+~_1rb7&%xTw)w~bkHei>YR`P~rZ8vciRoPGYH(_0>v&-=dnr`Mpero5kYx0?Z zPnJUKSiK1nCerVE-oGZ!jkeB<#`VZ!f`7jf7m{6Q-R;r1kUS#1<4RmuK8?1JCNq^8 zmOb5@uZe5!sXP#g>Bd?83~?7BKbjA{YRKSq&%Wk61i7rg`nF2tWkX+xH7sww?^nuP(MswGxm?;1I&?}L(mIV7PY=^sm zY$LE^7F8Rm^bS3OTyR*>MR{n48q587}+vA_I?n zpxr&rjvXL{Rg>B{NUhm}{5aU1DQ!~pb?(|0sn1rcv&G%k@AlQ8%G^6AM`WrJ1U+ni zYB#VM+=g92qg}m$dsDMPOZw_jNoPR3o|qb2{VCvAbnnp=v9N`cBC6aG>u-gy<51{Y z=^~p7HAi{I2=4(KJ#NwESs<=vSjg`0>r~n1d9={t0X1CINxOPr^%S{ET-#m7`mG3g zrR!3l9C?Gaj`POlyFf*jJ&s!ivGfkfz=_CsFFBfFQg$h z7B&l5X?^%*ah+!&Gz!+E&QC%M;H7|SAFI^9)?>I*`~5xlx?TfE%^%=F>0zbsps7zM z;70*!$vs`?0K;?9maZc_)4zxr(I0bj)uvlT+ll4d+fOWKU*}S1Bq zl;6n#O0SJtd1Enio^DNz5%QRITO(tK^0JJz{o(!ak2R@t$VS|Xw(n8i_siKg{&RUc z>A|2nDk-j$R!7Sd|38%X+iS{O5G~IXEzhp-Ck6`>(C4+lpACB4)H+PD(?D5R1r3W7 zV9=1A43XYLcj#GAs>ti5R!RiTR(HTBysd=HMo26|4tehZ-I}i?T*QnW|9h;ri3dR6 zsETP6gD2^mYISOML+YR{&8`r)XJ~#OB z30_#D7~=;g^Jw6J$hAMMgfiKFKYPn(2$?MGg`ZZPab|FsP1XLiN(-9+q|4HAgn`r+ zJa4%_3G4?<8oP?wlF+TXkmr6UN}2!grN~^(i1KQtV=PufUuYH4xwn!%AZ^v!A^o!T zSf3oL-K@J}BWN|C`~EI|Pd-||G&H+DeoSP{}NS0V8SbOS)KL;{nB^d-dxg{GX^)QmTr)t8iVa^V5T7TS8$0 z{~HOCQOfj}~_RMM>|sSLJM9e|8lV3jQV5RCzSnfkR!Y2PUy zG;h{H&OXF$DhDM;D}B>r^t=i>iU;Sl6t!4a_t(gn63uFmaAN99kfLcVVk;ka0yDJm z8>?q)u(r~$wgkX)NM}^U?&`M(c40f5y0H8qY(9kL_j=M20Klx&z z74T|rKm6a;+aLd5>P^J|ExiUy@(xx?4t@)3R}9i`gD*Amu5ldS)X&Yz_ji7xlWV0a z<*U*EplBC%1@kLaqjm*zD#P;g3OD03KMO907JBnk#s^3Rk5i+<@}HF0dOwv=(8EYW znW32v`3`jqzFzekUd#uTZM+-ukB~NSN(*j=hkG$t?h zZ1m=>g0#v;^xmeGbltRW?b0DP1D&YZXv>oqC+&fqachE`7YYKZ4VwZ9uval#m=V<5 z*gOaRk3~6TbC}6|(Ps<9y#yaVG3w2)ckp^`dkmykjn#JtvyGc)CseOA-tRGsX)8#-~$*pGufp+UA2GqAn;I>Uj-rI5X3DFT9s!o} zBzzG^=BO6=p1kfZOz3zyLqJ4@j~6?@kSk;vjUEyI#b;tYxx|xAh0#=?Uke zIm1Ntb1U0UKKyF?$%j$GznyRFPX4(tY(if>lO_bUzz&#(Bb%=7@r|$^xVGk3Q^|f& zBCH$CQ}hc|%K1UClR3ZLt(89R;%@l3!LBnxR>rR5ZDxsuohL&RTm68fjWxN*+fGb$ z=dJ^6)dw}ZZo}S#&U5$QVZWEn<7qADkF=6iTH_5j`@ak7PB7LoG31;LAB><3$0Fvy zE6@Z>g|%tI0gnZW+uQ~|{ml;E@DEXi+{JAlvv&s#W!J$|+&}k@D}*&Zrz*?fpU~e5 zNFC1(2?B!;sa0NNQHSnZ1=@a!eNT#2($d zvB8$Ns^R9mmc4mpVR=8+Mk8*-bD^^{-^offU4IVX42oTh|JvARqvsdR>m!(pz+X5f zsVEtz7x8w~QH_F?Vv5+JO*=lY_%tje-5unMm>kX5xW6bIl0iPLbT{+|s7)29&F~HB z;t=He3M-cAy-fBG{s*Ku=2U<+{}AQMFbzE~MCN{BMntDE4K^fSg6=79(U#0=4P@5E z(dza1pFw&i^Zi$-F<$#RYc4VO zFz59v2*&J+esL=-f^kRx-5RMe3{UQm^~e0eP6GBs`XG2(PJ|B2>s^BZ%U|oFQr00~ z=96xzU&T2{GQ?FB{)}yjVZ^{>AC3&|vBARgAT7A$*jot1nMcY*?T~y8nyY#ACQ*HH(f}9^TE2Tx9pBEKhJhUK!^RDhxDN^|> z;3H@)#$5)vUI$LS;Qa{;p(Ml5lXAYg;g!+h^ zsFe;X_5BL|O!#AYvtrYA{D-XVM{6vO5@?*<=})5BMFY!yis*`+##+G>X{AM)46;(VGGqlcUZ z(&@P>176^;}^m;5Vhhn4-N}tdx&B zwbh0^Eqpu1K?C-Ze?^gM6OEQudNf2c_m9qG{NL9}E5QS6G_jbQ1TUTRZ*-DB>OS0{ z6%eVZS7YrwrMAkac>>Zlzh`H?cQs zq=O+r0Jka~eq!Ol6HrYu>($keS{+*r|F@YoYnNWJ?K!87Q~l&C@p^Gu#=wVt7H*Yu z&_+FaxH&Xc_!bts*qhd;RN03Xa?r><4yqdyb2T0HgVH_~x?|#nM%GHPZ`lX$j)$$o zKefdGtDox77pgWLDLfL-b;tDANMph=mE{NGt0`v@q!tZaTeRL$(RzO!ih0Sf`Bq_T zAc5?eRb~m~bN)$2BTa{H^*DzXJVOdKR>P|KCXFP72$wyH^DLf^BM8VR2V%AaqbJ+_ zQCM{A$GD4r#4}C>k6$MgDtJ5#9dw((?|NzWT4;`H0fksfe-*m}S%@YNe9+I+zm9X(1t?k!nNQ>Xop(IiNZL7NcTe1CJ?T$34(in7~0# zK5SzEM`pmrpcxufj-bVcl^tWEGfJ&P3-^a(@xL}qE#DjNkNJ|8y1su`<$K0xV1 z@@eF~3>}61Sh}M`(mWORPfR&N-T*1ZS4i=rzXr4-f~aA6QgEwxELJT=WRzdM}Hm(Uq@c(DsQ_x?H z#3(qhUHYS&&LoW#RPMEZzzIb&-JyK_4l8vUzKWEzWqt;&MQiU^@7C{8=z3BEZkC76*SW_iw^_hq>^8L4 zANP8?phGz)l<$1M@%3Egy9wW`4$w^@1X>4^=?8y+`glnx=MD6L=4J!F+~;?>p>v70 zRiX!jTUm>KhejHVv03GfuQu+1|7lR8<96QQAFz3Vcto3hjJ24MSEG#H&9DHeS{IT_ zKvf}nCe6vOLJTbU%?_&+N&2>+*tlJNhI5Y0kS2wu6Xbx{wtk7Er#)|DhA zyg@Ss8}3SP{J>GPZ_r3D3**E>f8X(agw;wRA1UKD;o^OJ-bRQWA#W=o|L~_^?3%O* z$A;jySsRbmQcw3Nu{$t3H0nE|xr_F^1dHVfZ%~RMRm50`P6|J%lk#B$TUYB#=Zn-+)RP}~KI$xYHp_E+o8_gw+aWJ}3G%}UPe=5C znU48dt(lb$gD%NJ3w4Dy%&hBKra#`> zN3%>m>{A&~+EcwNwfbZFqIv21Df%n5hkBZ2V{azPKXSHN{svn5^{4ag(DkYJuHcy3 z>saPXICCHy7ED&WFhq#``k^BG`3KVoGyKrN%fTpwFFoGoYeKDF7r!ROBgL6ow-5~ARGFc!|G?O zKL_ZJU+9^S+FnYZH)VdbHfT!0vJ2U5fxi#zS6$0%(98y9(p(^vU|#n(7(l1gxtjt` zp(~n}R^eZjoxaMwP_&vz_Uq-@YaBY?B$U24ebSUk(b6}9iuUrf6XIXQgNQ9eY+brz zN?|m1b>LV~*ZM8)mlS&|Vh^O>I_1`A>|=pd-ggi`!?9I-$Fc4tA5ne|a-K}jnUWLD zIWuzjN@E;qg{*OgEn4c(2CqH+VAf z{(Jm3;2DPZyYagTPcq)q@OuxQ3wSs@6Y(S>{5vLuPtTs)-IUsy&Gk1%e`yL-B-$b8fCrEjhe?Z*}9e)h<`74 z`ji>b__Ki@lShgZJ;k`GEn9ZSl;UVOd|#BNIpY>U1E;wNam$xYol+EyI~JH0)Xnep zEJ|4*K7*MP5dXVn6Q>B#`1b?t$tA85@kdiB*2L}Kh_fpk*}e%#^@n8>rc8*Y@&vvR zYnA-t5%cJ>aZ|=eV_pfoE`FlK&}#ZIH~-3NdLaNGN_Wk3{NySS|Lg*vX#C;8S@9p@ z9<;)Sw4J%ODYj@S6@mTY2Vy;9Mk1ywH)qPoXv{-_UzuuLAG+>!4Rhv#?{cSw?=UjP zv7{Tb1b1Iu3#}%D!+K>k%?p%>*{)#y_i%!cgmM2n#{FHqcjDQG_c!o+0?%f=Ka1ZF z@VtTd`|TVVabSgRWodpsGf{Iw%#N^-Pc&GKKmn&p?fj*0MT;Mxw2be%5|WBbg)gei&9 zG(QD4i$|0gBXXBIj8lx!nC}8BUAPfB-gh;+-V-;v3QYyBf@yQX2(VSI)7ZGNOKj0 z<--Rfa$QYN01lx4+kek8WjK3cqNDITSX|KvR_t5C&<4XoFyxz266C9TGKI2w75XBh z@3FV3qkaFik^|O}h--dm*TElH|w?7T~scz?@Ip9uZtEz^H+;hw@2DTDj?e4Smgd1fq zS$MG7A=5Z%J>VwM>dN-5)PBBqtZ&wk^B%5zrz6!@n5t=I$Fq6&r4IC|%HMD#_)NlP z?Ik~#V{CN3MQQXt-dUKcYNc2nv25N`p#3oBvV&!lVpJ+&_1*&LK?-de_`v3KIdQpt zdj~tpf>Sm@a!>fi&yP0>T#nTERUlC~3Ok421D==dj*6b&1X?z|( zI!@GxyB#J!KNeOF1TO1*cqQ(#_`6RCeiYGpb5Vw{3ecn%`pl8+x<&Y2S|o^l@t%lUR;8%0a~w4&N;|8bZ9?#1LKP(1^MDP zQw&ZnM{dj+3SO})15^TjwAE>G&Ki>CmCzzim^FmS>IAODjx#vX_H45A^|GVWPqDLL zrL`jCiVlWyGQquITPE|!|+VJ zx#<VYq)mRfCOLO zP^-joJgikag8aNHN4H;t8OZT`vNzR<+ETV4gvL2R7%eb47yLo2L{4}+kSq*`t@uy& zGRRFD2#;f(G1-fJn;iFGU#MF#{@F~{T;CeU-O8@G>@V9_(8dnuMOy8DY~$6hbg+4^ zcCfkDHl9mwQ>zjRY0by`ae5a&)u#C`@#mm}Tk$@id zLkfNQI4}0dq`n=*WXrxPhwP)UvVD4y7q?;Wq1@3KZ7S6O^kt}Don}Z=wbFYMZc~{8 zY?qGXNB0x4%X8B~;d{#=DJ5rnHCJ|Ktf$Hmq*BqJ$nIns3fdU#My;=KNZ_0&E>zo7;x+S8CHyzaurpYi>;{XLCRCBnay; zVoBo5N()(~A38r^<(>hY#yI{)Wn3_N9RHR>hqM;h9(GR{0_9N)e)r(%~ddnfi0 z5Y&`*auC93C7ffaS z>4CWO4#cgSd`5PZ>Mk>1O3GgJvfg_mny4DK)|fWyUH7h8${ z+Q*y&W)E0zST{f%y58f772{#u%~%yz6$=~p!?M$T%e@A0BH+8FW#l`Snx+;s~Q8bn~DBDPPjv0 zb3qFo^*JOD^y?rYwl;SC{*Dsx!%Y0|QTgCp4#qpJhb8B8h+(QUk?an~X2jl?!@u}iDU&h{_G0Hb;XoS_r<2D-w|6tH}Sn0=$Y8AedUF|>CsJoC~I(A-j z`Pd_xixlc^MSNc!%&_}U_0@6j?yGe?tm!_Uy6POtPk@{Zxck{7d<1ju%pL}=+r09n z(0h*sr*W2k6~ppxdi9m=Q)`L@Nu^SBG=N|nN;+;{38q&ySoxMmF7 z0(&t}|InN`HZ<*$GD{Z&4=E!k!5Z0c>>8A!dh%lRZuo71g{>FBCwo-C?-Wd824)J+ zpQ1BT4-1lE`H`RcSKDBx6Bq?nZX|5!PbA6udCGWQ(dW>5|KW&jG}7F*?o_RI za)T;w%c?=~o9ZgBk2v^L0sE3b-m_tmzkzbAgv9MlGlXry0@ z+RFRll=J2n>pQp0UW|0Jah9rzIK&_np4z5G!{~e+D9pKI&eV_KZQCuZg^&7g zg7%m9&Q`4-AWmFQ)()R?&x8+l@}=>+mg!UZk=bN18JOD9`NdP!Zx&y4KWIh>>;m^_ zhuqgvRP+(722Y*Zn)I0B3qCA|A!#zVMe8J}a=$OxYVA^AYS)$?hpn-g3DzHzkp7X^ zL0A4vCM#lhw2Yq${I7Bp$|Rm^E5gPhHzW1$j--X|bjxTZ&0|iI6b#E>AkB!D50c2% zk->NU)Iy@y*L;9>Jmz#I!9FG8lUmeH3UMV(hc$7v)CRe)j~hms^w!YG%!bggk~;@_ zN`9q>Z=PYG@i5k%WuM85;14un|31~HmLBiD-THLEG_^>v=u16b-(3?JSVZ_3Qw0wk z)_(*-H~iT6`&6^_1?$>fii%&a5E6M77}tk=?*N&%F?q&G7O|d=nO}%K_y> zs^7RgQb!Opo_K*ZXIKV-^D-p7Q_Bl_pT6jcYxoRJ@~6Qj`Rky~1A67dMjI%VOIhg> zbZ~<8XMf8vvrzwU@hnGKMq59jMZUj#r`Ybz5#dRzdx@Cp%t+3VwET95{^+2hS=aDS zn&cNz@}8hscoROy?(Z&zcZr3`YG|%AmYvW8&|&;fbU_-~8(Z|UB^IHbKbsYNqB}G?O1wcs+HUDsj4aJVSUXGXe~0!(+;g>iAU6?@obi+IR&qAW<(&gX%}ezt zF&5#mljkVm=L2cZfv!vsC(c3pZnHmRcY;dGG+bUgY0Ea0>BO@JPYxbqEiAuhEVM&Q zINGXZ(Xyv@az!)kg)UBvb#e;5lk&Te=k!w0^~EHos)%(_3c71hTx5)NQ&(Da(J{)z z80np=DXQowMbeEy8Lyy>$XF3XrLpQax!=@v(XldIGgf-^Oh5U#=vY}qu4shQ;wrS4 zV6-CT-H)<{piB*(8F&X@PG&n9v#!43Lh)a04QQYF-=A|A826zID~z}?)pA$`GNdn{ zNyV58Kb0qUo54?D@b#(eI6x^$l6PxI0yo<+yPynq8(`zhlOl2+lTvo{yY!de)zNRp zQZ|WrXRF{F7d|NdsufILepsf${W7P+iZpoamwm7ep}s)+-%P4aC8oQc#66bHEdW=2 z7MqUteSlOa;kEI5-_~?pJI|7o(gB1u`E0Jnz<0Ff&pB_1xxnFT|>tte}72CHFm=#?Nt+gM`5jM(XZ78!!q#1xVLpvd3U+mK%ea z9xHgNM5UfrYMO-cupE}vbv4MTYGm;q_R_c}AV*mKW0={X0+o?9AC}*OZm+RE68=~; zoI&{ClyDVte(#OME{Vpf5W7){B|hcXvH=niC`buNyz2Gz7Wv z!}5(itqbz&xza{4GBd{L%;;(l%YQ$2=z_aUS5NOX=ju=E>~_g*S4#&DP{?aah*=5Q zdw}|TSl)8Z?4l6rt6KV-61u>1Sgt%rIS!;b5FS{VEN9#Chn52)SG62Eqbew?uaF!CodJTk{ouFs zQ`lLDWf$dy_(cBp49!>2{;B-?gI7}wy^`W%`H`RdQY<}~kG^ZoahSb7gtTW(#SIr8 z_{-q4i4&T&hGW)?PnNuYA(poS@3R)N8QCt&$W>@uK?y@IS4l29sdr*<<#Lm1QS@o0%^f%f8p* zSF$tjUr^<}f1v`jJ$oBx+s;ucw=08d#4qDI9!Qjo@W<&lgH~gHSsf`u$%``Hzpx_V zYF?}QZ6)u40P!6L0rsat#_V(X*FEOKiNWDaS-sH%93p{p_4gD@!R4`lUjxn>CvdK` zv$hEY%_8FxmM_5C5a~iTH@`jsww}2rq62;> zYr0IMF9dY8U&z{^?~I1k)d%61A`Yx0<>QO3vX(Mc8&1bF$K^HM z1Q{bWn$oExN637o)bSzdN~t%64qYkL7OK3a)DfZCUbKTfF4uP1yabV`FYzBAmp`cM zD;sjgC_9mQqd+Re?f+$*CY0&ja9XS6JubVi#PUi`xwkLp5&1EUL!`x#QqT0x_HIMp z7odkHd#{#qL_TmOWn`p}A=Z-CH`Y{6LT#clo-|e;^j19cZ)z<=@(z+dJfic~JHn7q*)Ip;`W8jycI?$Ig($*@at(XtA^_gqh>X)tm zlJXDNq%8kM%J=_eR7s5iVA9B=107@=Rf1^@Sj7B@GWVaz4|2CO|zK z@IPB-!}|W;JvaT2c+3&}|AaDe*EMg%IfrlP4_825t!&ctAb(3rU93wEsO}He#=)Y( z1eHJaOVH$3>n?+P-WIOXfj6#sKzfqBISbZi8MaH)!L~8*B;y7>Uvs&jO~X2aR^xSz zpuncbWnbT9z27V>xF4D(+PU#9jHB%x)ya}=CCBBwF2)MaHSiSw>(q@p^Y!57GR|Q7 zA#Jzjyh<{$vw~)GdKY`XZC0Mp?hn?(@|iF$E15VX>E9!N0`h+zKwa?Z_Gth&e(0)j z_Y?LDA3996Df>Rv(Ixk@c}wm))M3{!*JV1%ThTrTeF_&NAQj0MTILPydykFBY+z{Rm6r9@V)>7?4EjYaSKF#b zTe)l6N*Gi>%$o!4?SU7jLXqen(a`|k=xWZNdw$gC5Fx)E)^+{=rFkYAzPeQmzB zZ>M^lWJ4UWR;5RMW8K_asEocbI{GwjzTTBr!>-KK2k<8T-j$g;E1#=7E5BGrxSSdo z;Ft0QXy;_&cU))j#m|=E)MRzGUf4v<2WI}IZ0jVfoR_8?$Ok?<5b3V#B+o!P8)0-` z%3tm$oX{8C!iXNeqfC7WymRP5VTDczGS(47GUoj=d2R4maHAQ}BDlf$rMwwmm1e%< z9xl;&&*<$A77`S|?7#_42pUt#_b(t-E%<16jjGG3o0{qbj^Dp7wJxEM@O-@=T((4O zoxTn_l<+;7Qa7Luw*o7TIkj*I+IT#e2kF{KE6dQzm0pZ#F|~7}>*<=+!g{QnelL<% z>GNJ{dpWf|mf8-lxz1ksL^u!rnMhXsGkIk2{oocC+HZqDve<0r`^sAxr>aWBEl*86 zyT2R@Zn4FB<44YId=D}NyB(Pg*9-H!bkJD=dLZX30YKUYy;OdaU40;?}wI ztWIvz8pn-(gc)-owK)g1w}$Wq%NN9>xxpXX&akR#6T**CxGfJY*kUtgAA%I9Y7>p` zVYww-&p>tztO2>1su{Qy zPfyTkE>&z@{2JK%csC)?VFFd zU&MVW|G2*|?l^QTemPg&`)RITILmW9UfT``Mvq`Ba1`|zPDZSOr2 z+pX`Mrz>pxVEKMnBU%Z*>FTyS)yMr?y8e9OuU*edF?AE_-aW%`@19XTNONn%F8C9) ziS587cH?dm!5!YgiV7FR3zb-H<)mxeVNe@~GZxZA>6PCBw1BR6M=Csx90+X)j)a!X zQ^6eLQ^D(vW1%HkD5#!e*D>o{;&J((Jv^%I86{LsP3 z$|vd#&M=W+Ad}K$w})yp!a~51xdn&2vqw@9z-`b;Va;4r_(KIJRsVQy@Wk}CC7A~w%}G{ zgUx;Hh{$X<1B%gF{Yvgqpc`+C;5`Hbzmla+-u4x69>VLL&qJ95IPoyVL_C%oh!u`~*@}8$G zJm5IN_f4oLRT+Wb_Q1!8(#EgkCBO=)Tw0l5$vb*zWqu{U(la8B7oJL|QC-uc?pVe0 z9jh2)I-Ll;a>YR^dwsN~k^5=P*HTT&nBUu_q_srG{nvFj*AlPnEBUb=cww(%I##K& zqjeXfZn|Ul)$WbfUVBaLMgLa2L#chcQadM|1(yDmyyZ&m!+%lx&?~jC{kPiJL~Ga8 zhUDM%8YLB@_A%0(T`*Q;1DygZp{$mySKB-lxJh#G8pv3!t`bmQX9R~ajHhN2dn0aN z)}4;ajb{VQuwcOCaX`)%90ETJ{FN1_1LKVGvU!&RbTcQZR?zmnbl(R>dPJ8GryRU0 zZg(X5fAZYNcmPRK!8(Z^-YR}AkHU?NW)Hg^qf0bVovjgiI#=l@qz4kY;Ss&GQMO+b7onHt15f9L zCi(Ghx7aBExiecx7c`cyWq(g5bOEV+!Y$_SkKFenrKJ6PDQH_ZXw4}^wVJ_LA{1xP z_EYD1e5cRd0Lz+w`)MZiAkM=C;es;mBwuB$y=}<*u>CoEh!2?c2#+b1W)xIhb5B4A ztq8*HrZLXcEsi0L>@9bsG8r3C5@eKviMF!(CFQ{XVeg!D)k$YvgHXs&O-PBk8b&GE z(I+vp&>hc}YG>#+J2IQ--YV4_gNf5#g~jx5_YS)LQsb)~V>u0Mr;i!QHr;&7*}a3K zu`PQCWuKy0!@&+s{E29M`(CbHlMs6+J9>ko+5c65$(WQ%6i+Qq_6^}_o);W3M<)-N zKO`TPd$&6JZcA8C=vfe!NXcUTG|%lrZgf89&>WpT#OSO6u7W*|{s(dUqZDOVQfQ+o z@{uA_NkQe%oZDneXCVE*F*1Bu}Yx;tpr5ZI(Cp@Zxw-;}(i}p1H1tVuGtl9t&7% ztal)V4k=dmFd|Woo8-A&*cy1J9i$f2X2PqRWHlh58QO+~H}}f<$V#1Fm_PbH|75{~{Nh31+RgF!nE$qTyssLxIEbm$Ecwb6i@pH_5; zjP{T`{{YF|N9;-I=zeVJm0#&9z8qe*qC!{SB=0`hB%eMQNdt&sLEeK5{;xO)-7<5t zeE)u;zctH?_v;nvWD52|tfy}u&^UR51l^nE-vi!<<;&rfrG=2~Te;v6MhyN`rV(9( zZpaGt!$_x_3N7cm)mR7Lg=;z!?U~?N66P2=U2;UH$BMfIJV=4BNS-=x>Ae^LMkmNUO>%Hp_4KR0e-#$->%Vm2;$74jeSrlef;x2UXpy z)GN>2uM(?DIqytRf~akrNO`ME69B6i>8&UQh?BlOXshMZ;sBS2b#b`C$E#Fh)meJQ zZxIJqkQ&W2_+OvunuY&sTzsBklrj5^-&W6#VMp}st_Y>SMUL&Vi}?|VRGQ+kC@_*B z5coAnm?k75?QLgSbDOBnd zapNRWY>}6QB9wJbdK9D6A{Qg|XeBK$zFwWTMSdUa(nz>p0qu+yd4Ff2xYCmz?3b=TipPWI{@X;4<0L#F8EgqoNUoYc z1KoJ1ctWJpWGnFIGVr&)eVg$@#uq0i*Z8iO;N0YpkJ?LN?-}bUaxVG1uJ$l;x)qhu zjISx3>DjzsTd5iFD=Y`DthrYXs9YBU#7)3{EsgbX(R0g&5G&bhpwn!6J7-P_9!^B$&%P)qf&Q&U|F~%X zh|Bmc!VdpSn6cLEnK?x7`P4*QAY=Vg;>(V%qg<)g$&TCXxYP)U=wwpP2iW|WOdV`J z*w2U4SK3)~0<=B|g3x2!XMolW@G>j*)WNV^h#hJW9AXjb8r*0)x>Rkq_H*gyIBt!BA5=tg~FFX8Vk z@`tcN@bFuiD0M>kDaUobuVI7B0v__M;F{>nUqjxx%&W!kO`&OC9>2LEo0r4y^&z8I zh2N|Yl@pd1gqz_Vjn>E4vN;r%=Y*54R||evYb&c~hIIp9(gSy;ld(T?#lt>?*=xj` z9&ava7ZZg!EZ+(#f=tgha%bpiNXdLH7vMA~Q=oQAo!z4X49@kco~W{~D1~(Jk(CR| zCi%q~kg&kI!d}zSegXe4Q}|X+?Xifri_FNNzZI+h+wd^>Hc*Kx0mr6^YZYoe;9cQU z0yFHd!VV!@cm_B(pxH_u_Tiq6$>@r?2$?-zHC~;Qq(HW`G?NKBxxpJ@y-%Yl>;kLRTzya>{tN}-Kuu(VQ;{6ZA`3%;QLU_8JHWBw* z10eltL6avNJBF}sc64jtJNfB)$g#KzON(4dt^$nCcnemLd|5daCwsn^9}KoG=A?&l z>PF6wGOw{d7U!Npm?~CB@hI!!7EX7(WC`Dq&$KMA#wp@jat1Iwk_V8a!Lb0AaWUSO zQWp7%V)RWo2uihFoQm<(3Tps2vITbiSh3CCcV5OR=jHI>1_Q^<4XTaBkdE9dRtg2) z_s{UF`5TR+4L2D_{s<~xeCx3@{K3!Q#jR?hbd=p_pHu1h>F8F>qOBYH2AQXPoI+1q zCX#IYUi{~+-(CZ2Q~piz;y+T+*KOoVZCm#RsOy!LaoZgy}8WZBA34% zD{=~sL3mo(q)#6MC9>9#0gnZZw7WH}@Q!=w3-RGOSoNe~Q_to};FmDz1!7@Pmu&*p z(o%OqUgKrN6EY}W;K!L2DGPcVfKjo!fZNo@h>Unnj_Dy9L@c0?N;C=Q<)U#oA>SN|a5_2ZH@J)Q0ywkE%$|_9bO(P)*R!0Ef35Houch{} z2%V{fMs975^41{Ehilb0BT_ZC-U1!sys$iq4b zmi#?L6a}Rn(G~WCJU$py=9s};4FuJ=ukDOz^7P7Lh(cV-`$D{zpl4J%Pv=*xO6m!_ zL-3BcQf0Iu$7(0U_#PbF}iE%+q5g=Y(oDjCIxp%!VaDinVdvl!Z!63**;v$F@K(AyrVfvUxLfmji6xCdavEix7~DdKqsHXfTmhJm~pkX&82UW_vBa zCEVj;*ydd#5`Gim)9C2@sa?Aiw*t`R8?iD;f&^3;g|jmhH=nAmkG<*X>W<+oSnp7KMN#NgqS)VW|`8ggypfHeZhKjx@Hu8KaTH!?{c8;dpW*O z_|67)K(>Rmx`X>|+=IX_I&>;uaFvk}KapS9uh7^nr{(f`dSmgnTv_o3^r0=R^DbFp zb>)Kx{X@gya$P!CRuf+fN%GRz*(Q^;3T~+wtVZ5!x|NhSR9yB_8#y^uO>^`d^Y#$GN6H8v7`P&#PPM{`Aqc%DXOoULA6}Dd!8I4jP0QaUDDd z#HA&JdZ2CO(|hE#T~^>)d>*xjXajW5SS7q)IvBp9mU~VvKI-{?@zy1EjJ z!jhr$C>?B6f^2A-vMfD8I% zvI#z6G8=9MKEX(*gY_wTUq?!oP~hCUgppca;tN!IxWy|yg^QPa-YYHfB#V{sRxn%Kdg+O2qw|Mm5@rTHHeh=6Kz1(KC{NGxy%) zdkZeVpSx)RYuPld;PS_czS5>?y7~uz0e0iQOC@{5cJJZR#)YPm*(Eykn(n+GG*F6& z923p<-+MON7abQq-A3u%27YT=%C1fSf+Z zVkYZ?ui&yTm$kT2jz-wwXKHGR?_UGB3@;d#Yh3{tx_fzLTwFUm6%pF$@eQ{*>=jRjTlnjIV^x@||2I zhp!|!egTGx@f#M8n21QtE2IJG@gsb ztD^C&63;u0dGR9-G$zDkIo0i40`%-LBOS|Yx-Xo^9H6Ba&gY|*Y>EzTJBRzL0e9c? zZ#&AN#SECWqWq8o%?jHX7X!XFo2hM5!AEBQ%wj2n$!y5PUQWeh#zXr+XB&uB*%}s1 z?2+Fk(QPoH)tm-;Q}|DgU?UG}gOEWC8&S%XBk%8||!WE9T#;r-gdTnj&5Oy8k zjJ3{iHNOh--PO<~XWwW8|D1()I(8#`1pe1FBRaWg8fu9VdvY)^gKs;9)LkjVoNrP$=kxsN8c_{c(W!Ot9 zK$!nFHihMEx#Q7-HqNrL9RCa6qyG!IM`P-gk$m(JLH@$Nkt8h52ntPOI0k0s)JLe! zBVl8H1$>GzW~S9;BK~jWUP>N&m`uL;X-}q$`cPI+6f5${N-K&PdC5n)-wJ2Cq(F{v zR=M*s8PsxE#t0KM((*)Q)S48wN?<@#lcqt~QplkWhXO;YH1 zZroo6V-%Kz)kE@HtmUVYZphB{jTNZJ-QdG8nOb0EH{-rOHpPzG7r?H$`7JvW4B!g($WI0>@DNDxB;mVT;lM^>mR%FmCa2XAc5rpomjr?7f-hg| zP&G%WjSjS#T44*#_P|!B(w|e%4U&9(3OjmaiZk^zcK;cLdKC{&_8Iw1h##VD8H3wY zCcZ8zRwCKv$PS{l)h53I?>&4AlX=m{q+4K{o+k<=pu~UMA!<6{7OcIe12{!q^UM ziNKdb$ZO1uN7)2jykVn7h5a6u4*@6WKT_o@mR8LyffPSh6?QXhSu=D84;B*FOx2O8 z?T>vqM9{W#y0E-CtQRaM;)<)=wK3hWR}DSenbhiRc%WJv&PD8GjB0#{^dc(4J6!NG z+OE@pLL3$sQg6a?dDvnykERxo*J2w|2Yc=KS{y#DocUsyEaGGmKCv>w@i*8iv6_b> z&0LJSTIu_pVcwbJB+V~VOM&xc$H2zjpiBO(T^IAR^Yw}Sj%H${3Tb>M#x}l^A|<`j zu2XeGR)JHb=u&c=nJKp-WXBtK-4Eudl z+Ls|V-<}+neWA>SBpnVs_Ais+Uy{WfeH>bel^vGf50NxaAyLE>jk-C2Xk;UQvTzS# zYeRPQt|r7(XD)OI^PJORyNey(EjRY;3mBktYG0NQ8=lE7c&rX>bg^jn=Fn`{$AR&} zhtV4^L6>gavD0B+gdhvubK2xXURr^Wk${ELMo?zq)eII5BP05FXlg2leFtG7q$qKhdC5=(O5_%(Xxysku(XVXf z>mSOO(I&|mZ&S`!6@3qQYfxhUs(ewb2bv>ovO63pDNc!fRQWO>b}sn)?ecXBUyGGO z4fJJJz9{wqK%Y3FU2cb#OeTH87Z>b0qbkYf|fK z8$nm)grzpd*Lc59Ic4&}Ux#<^t_Yn5Uf`p-KUPXLqEtqT>)ML{`mR>|*LM9s?7e$f zRMq}JzV_a8=Qao`0_wn^A_InkX`(p{!w$p}Z-tj?6s-+tp&tk3Fd+l{! z@AY2qtF8pxvVV9K?D!;ls|(aZX@Z@2d;DYiwyA?lx2h=Ll|puzuG4#+VkzJbGLi#uade=p z+b!$xzHsA@T6U}D?cNRGngrVxe0I_MD7eG)zWEzg`K^2%-qzpyFdFs-`(yq?(2t>f zySMg^zW;X%7>Rl_3)XPEJVv72n*aS2eEQ#?LN}!2f47}NrZDt&YRAyP8f2tr?#R`% z{(flPdw7HD*iL?f{!UJNJY65QbGph&yaiM0Abt1l4dMs`CVhKua_YzGZG1{f_#f)!HmP=eIdcCWLWiqA+-L6d+~=a>m;p=#3U ztpLtLd00II?O~&L2k;X3`m3ikP|jG-926Fm-$yxFtrmepD8%y!gZk&b zhNgP0{_Faf|9Y>gyXcMXm~?enIfbm3yjwpluj>!~!79gc#|TL)i*T!kMz~{f`uM%) z{g7&7nSd>Es$GTgPwEt9(5T~*yaBpW1XihnKfLeYKKkw5?gUB2X$_ff%9&EMsc_1E z)m;X~Tt4&5uUQu-@G*DA!GgRNr}+Uq(JcwT`}B}Rie09y-tz}9iVG~-phAxl9i zVp~hrJIAMKn<4^qQX8({uH`z`%@hEIMN*khxCc$eeVF|v0x!etLp^+!8CxhMaT&CIX7^F zDW^4?iznNQy}#;C&%A%j@Gq+qc!OQHN^*NiV4)D(d@3Mf0XP@5M|9O29m=nX z{*t#9&kjLui;>1cUyMSvc>aLH;dswc3#h;tqTG66Abij3^a>rN4l`}ZENWnq`Rm?q zJ9K)2r&qAj+QeSEOThP)ykZNL-46xl7?M)^bVEDbxWjPp*oXTLJ$F02({Rfgjqi_k z&UfgBwYn*lghK4TH+7CY+!kT?!hcePzdef_AsyZk{vno2 zR1YcuyTSmwxD(oLxHZtgoQTo;M4cXcz8l72l(1JBK>I?+L`RN;Y}CQ)N6YYU;A{P`Ono$;6@IFM7E08YzcXNv*T6A zTE_~L!bQC*gJD>{y?GD;I+SYHphkNwy)|e@3EXX<4G2xDq zm-NUPgopo)YaRhS{9{~GcL%O{uH?UQO{V?-9j@5{T-;MaaZL{(<855?XW#$EH9d1~ zw-stctS!LCk$Rt3Ee!>$GVlpJV_j2PF%3~v+3 z&@9(z-Da%mK9JNuu#e@x;3r8$gAh`{PxXa*KE+pkUEz>Lh`cMZso5thr#H!Fc=?-b z`P@fZAa(EpWD))~8rCUw|1zCd?A#2WD4}*p-r1mygxg=>WCNsUq_TEu3zptTwS(G4 zc92&L8+1)1`m5gWoW8pI1+$U_u4%cW_|G>-&jGRy@( zd0AB3Imp!>2bwaZUbCW*s{>ajO6Qp2CWU`Amd(wOe1rOE1M_%?b{ z)d)KY<0nZnGP<5(5tP?L*TJ4^s|HdTB`S*=p!`EOj#7EP-PhoQl?i>61$eAy6|)8s z(aHQVM~BzsKj1LLkR(k4S`soWIRst@Ux#hj*$#7VY-6THp;NZNB4^eaF@5ysd(|my zGZT<%+nVcXCU>28J>*M*FI$$}=Sw2%O{W^70Eu8tUYBX{VEij_Ps3YiMu1AGO!`q|ve?8I zXZzFOWeeZ8H!YvNaR4#I;Jcs1K1m)?nRH&%?hnB|ZG?m6-+F>VIPE7_y{oWmspZ4B z06$fuD~6}nT{+L@wjitpS0x>EM%ZA-yFUDneO32Vq{D~Y_mh39yOx{Q!RqG20^6!! zCkjZ1u7FiWS*ud^B5aMqYS)+d!&YFJuncyh7}#Br%RYmJl#}jTlu48s%3zfeeT*;4 z2zyzr(N83@kw`NcefmA%kt?-^-_Em-Uve*h^2n8NZu#Rxf8_B1zmK+b3~eiDggLae zmtjRQ8dR!Wk6O9bgtk9^B_P8S=u^*}tC92Z10IE}#G{l4a^?neYWQp3C7;wdsvJ@9 z$~y^^n9~(^A?27+T|v3gw5t3TRvY7hcdXxWTxFffL2t)6#ckKUyFr1a z=O%pHg4zK3Z0FKscva7c zqAh~lNRsA?7!5lH>5WJBE=^{eLdvOaE`PGDsS^EAm9zTu;^8aGB)Y%k4a;$7>ioqm2WRYASUY=L}a{0f?zd>uhL2JH3YrYhr z>6LKZ+aGec1pGV)WM`a?J&xrik%>`GO`uJh!TUO|Uz--MHprW}(hO%#sou$skVGmO z(k3ckhhD3L-vzzONpIs!hEdf{aryh!^N?)V_w7Dr=%{A7z@}w3L1V}@#E{;U44Ena z7~E|Jvz_vh*jZ{yAODY^r0wZ!zY@zI@f_h`>0-ntNFFdFo{En)?}exNhkW|N0kHjf z&b>5M-o$3YE1)qzQ(oy$WtzCm>msbWjAt5T;G}4E@P%FXx#NI?8QQnogEwpF<<6ZHPo4fw#kQskxO&pflwam5^@T>ZozBLnHAmV+hB0j3LCmykf?H zZ}#3Cs%Wll^D{(OU@FLtvIHTYRQIR}urp}|^p&MUlYL2rQ+!F5{>FQaBjKAgsgUw_ zwm~C6TX$lwI#t=kSvUb4RkAi9>!>}ntu33A8`!2%V^~X@=*J4();0%EJWUUcxduEy ziQ6sCour5~bJI9zOGPkDr~DaZ+URE0I9P}di4;zETA~37&DP6hT=BFBUp>z#3Q~e~3qEgBM?l_aC8+a?z}}q%Z98ieGZqkaU*RY4B${~m z5ntl^_hCOMKld$OC(<#gLaYVS?jA~ zQk39h_Qu+r+$RpupXS##I0a~B${1jcT!#$an+K=MJ7ib&usR+ONIBT(J7jV!iuZZv zfYx`;OoLi@e(Jf#af~R?rn;Mo)?ooMWst_cQYA>VG^63TY>jO;Z-i{9H_v4?=OC3 z`e9IQDL=CpcHFAKj#Kh7PqnOffSM(CDIoJQ-vN&zo)sKql=v8PJNT1yR~^8vdJZ1= zDBeS*%~bpX;cc?P6yMM*?r$+9p~JfkZxeYfG`ed{QRs{B5cp1^yCEIPG5;p;->Pjh zMoRvONVKumB)QMy{@EcSk0O|d$@mv>&NyX+98Le9F-A)AGgb**i4)bB4JG9QmI>+R zJs5LY)4*ZjO|Km!I!%ifGX>ZIDq~?JB!j%WKp(#ZS++8qMjSIIr-sPJ)I#zL`#DjT z)vy0)*AC&^!gg^xM)9SXXNz7cgj}0Ibr6{j<&~(Mgbu}JBUU$)Stit)+M50a54~Tt z=@ed!J=(!a`zNZQ{og2auh|DTC6K89>eGQkdpEyBh(23T$8E-{1a{w2DLgPkHWF*n z!em?)D+Q#0QDzI9A+OQPiMa-@nr|v4S|+fbbHLR23uxn)0m|um6P0=H&9kmmrlIase!f6` z!q10y#&q5bOL?%mcW|HZ7Ix2zrW7~zFMqr9muuazX^HhyI3KYkM0Mp z(K)ta>KIdq(d({-EF3~Vjk+G zyy|i|K?dV28N803C3g?!e-QDNmdX54JmKCF*ol~9<6b~!dcQ5s>2oYHz#ZNPs;=UA zkg7$cdyG)u3+gb!!W?LvUiUmxs`V;HJK7K39PDUXPSh$|N>r!p3NiHgIat!)?kH)- z9VJbo)@;EKp8$x>D_+#1%z)mj7%`kGW6gwJQw@|*rt}B6w~)d z4UqA@T+zoF1BX?wv!nweum**DExhS+xa(0Y>Z+Iy2vcy7N>f~Rx1I@Ny!A5dEtRkC40t%)?- z=8bknFJv;K=TBR>&crlKo^P8Ul&%T`*Q>+_Zao88P{_HodtEp5C5E|_CP;l9l^ff= zufx6o<>F0=i8#8(6xK*mAfqm+z;k30+r4{ylt&WePyGWp4s>W8?cPr4wfO>HZR_Op zpufHm)G#9{QODOiVVks#Wn}x1y};fz=}i=?z- zbtYM3v{{C4A;$-3NZ=Emdh-pgpOy6_70;L~oO&oRDG|MyLlQ;)D;{Z5vEO`6f`N+PzcZxrowy+r3-b8{mts-Rt|9!QX2iTYy!l>MYQqZTGS_ zIertoQmGELdkJ{?tU=?dR)H!#CR89Pu&Ypz4XV)f6WT+pITTWaI428W+c_%=md~%B zxPqNUp`{Xi+H@Z@2EZND{Imx){^ZB0Cr_Hv93P8y={rQz9Vc!*y?Q*Aze2}jk^YSZN2bXKPR`gND+~YRBHsXPwn z4{f2pvaw$L-Wy#lA|1OFfsUNP!oL1VcU|=Dg|3K}cVK~pei*3y^O^4zf85HLix#(EDArxr(0|dm?|Z^J*LY=6Kipruyrb zb`kp{adn+nuMk_)*{*I_9lM7hx>bEevI%ZZjNrClL#`_aVSVyhZhb!GE<#Bu$-z+joWDqy3u4!;<9{Iu`~TEG13q}J)Gr}w9+WkK^u$~TGe+ftByR!TaU|92E{bJFgX5gYmg6aW9d){|L0S&nGWg{JjTb(7 znPi3gH1uL2y(et5SfDjR&y~@}W8TjK{3w#Bf<}|y`zkn+lph5?dqBsl-J5a49IpeU zxF0u{n1GfSp5as~2mN!>RqIpy08sXH8Z*aNnPl!b%@L1QM=6T;MZkd2j7Up35z(*gQeyZ4{qtb?W)_$NF3=9$pLue8Mb?>e<{ z!wrAMeTR91XA#o6mT433{4KlMdB^)N9>3uamh$J{KS$ut5%_Zi{v3fnN8ry9_;UpQ z9DzSa;Lj2Ga|Hezfj>v!&k^|lVg#lcU-_l5@Xa%YmN(DH3SVrISzc;Ukm;v1glLkC zlYX%>b?5w6)h~TX(PE7Z zHqju+Z4A8R!nf4Tw@R`vv%RWJz1*ryhSw%i+k%U4SRC?huWB;sHCPfV3Sl2f9g$EvQTXdtL4u+C*wag_BG-VjQ51 zN&`BrsE684V_Y(+_y)DkBX5gge4#-@(7)}8V4W)T ziCS-C3`&>0AjiVC_`NIr7K=j5@rR9g!&Gga~U)dMe3F z{e&C^1yLpq>V$r5y$t=*Vk}+xgj_^uNAMzif^Y#L6Yq!S67n?C=?@Hq>`MCme>FpH z4LZ;LsC69UU!dPLw_~frFcH6U7~ATEp#?9%@`0{LZw|B%%1h+ez_S^V9`L18yL;K3 z1iLwH(Hyi7S@=4E-U}lQ?u;+Ei1GTsIa0U)4=6E&m8`H6L=wL^AF9s~PCI+U+vOMM zHTvj49FBhIIuc4C3p<>0av13|X#Q;}{1149td!MBWyZsA(kDNPjj)*hAMulgU}+=V z$Ri{deY%dA_P@5v?|%wmX+S?K61IOXJ9}f~Zq3I-?TpUv)m-cn8ywn#NX+Z=X3nN9 zkXOs9kSl@MVCP%UY={NFLnay9MNu@ zGkXO6B*2uqw-Xew_sL0{pijQtfmJ$$w5^lp_==Vung1$0!n}x}D1Z(4@+Ib(!WX`+ zx@e26Z3{ayAW`~t86jZ>&|gRhLpue?i@jb%HW=tSkv?qCbCOL&T1p7V1a=&Uo$w!M z6nRA|`M(0+(!KRz!AJO(ayaDt%X{oaDjO`0LOxPsTV65C;V3X(zMQxx-_gC6S?R4V zR@&F~(!#eV-Ro4@Lu!JapFgdXNqagx3l|GlVF#!m?B{($J?X)Mkv%ppF3TvlW&D*G zo_0l>*;XYdyY7E_tnt^_G9kxlFPL<7{9=2)y}O3*#8~rAVT@5z4Q^BOYpA~~@zwm- zy5D{(%I%u>2$gEr_rv(dwp(HEYdvx?!`CCvEkB1c=_%Mbf(^0@Wx`_N2S^*U9!~8+ zO0{)UZbSp9_8~ij#@swUxxSJACN|sLY;H2Y=Lylw1QeOn@iEnScI83p`j~HpZZc|O z+bd!Dt^zgj3IB6PP51ip_-{mykYn~(H1>G&`u zy&>96z0qB0renauhSON%7~>A%?O06}o=;P`=b(l`Bj)7K>F#l^NNk$-`hhnklWM_N z%X7>|j-kV6^=QLNQDdiL9d90MtQXm9)+yVsS&QCAd75k1nPu=Qse%4RlfO4!6G ziH)GVzbgJG_>jq$Wa?SU$fJ2Eb;9tx9;L$7tv@wyHs)gzWY{&;En+{3<ty77aCmZ$ocZF`-1}Wgcs_G@Qjh1H^cTM@PX!o9B%B$5 z$hh_}7a@^YpYQdYO%r=AyiE z$264pW#lxJ$GmoHCvwuRK#2=H`U+?;uE&WmnHZS$WW8+rQH+tQUY^KFdHBA_!Q=by zBl$bp^GerAQC}geNt~16#LAvJ*HUXi8B3xg$$b5NEij!kXgJoPBLupGlbLK>rx=K#Xsd{;@ zFa2=B+&recaVTR}KmVpx{U2R)5 z;P)r>Vmw-OX;J(gEi!az@|K9KIkEUQ{?pf|1b2$mFU_6E)Ahx( z3nQDFJ?xGa{c>|ip5ME*H617D1O7^0D7H9LH{ZYI`EZ{ahO^}62hv&J_xUhsQSQX)TZah3X#>%ndOP`Zw}m|w!un* zpA5@5ZkUk4hbJV%t1>IKbhRkiV~h1K`%=^2Lh65zN=u)MR0UGQ()CC^h16Z?1MHLe z{uAeoJ9qW~!%s+>EF8T-K zS48(O(H{;hCQdkLs&|KWKl|D56r;Lf!`SY=nlWDAVXf>(C_{J*L5p{@5Yus};)hL8 z@WZg0SMFhl_AMGC$g2VWS*}`EZFDcLP$iKRRlPQ8U*}b5PQ+x+c2J0%(@UREVRCRS zywU+Yp<@t6F;oLT)FHXKkggjP)-n~nB70KckA~vvkKg3%azniP89`?6Z@!h+oEzo} z=1c6(Hx>E94H`Gi^~`*EO%||vIYy(Riy7&LcF!4+-XWw{-~+liIG@eq2^omBaWDEb zu+A)OFoieA6!b&;*lMNy1d4rglI2Du_P~JijWOB=tFYYEuNk;rp09QG><<0C!PlVDZ^vJjh{ssbj9dey^u|a5_O-tmylnO{utpiq@(KA zDZ^awWsMdvRm9eU+9~YdB;Ad0)c>DzY|`5?p$)&rXc}tCHppjb_z+-`Ec!+H->=uJ z3(h2{@7O2YjZ-46v)xF@%c!FR@s9}8kUFWylnC%xJk)l!*{TSdup0n0E;N@6g2e*wh#WYJ&l7=y~ra*W=+ z=i=0-i;GKNho^*Rk?Ye%&-BRU5tH?cQ5pvcnquKOb1ST3mX##VgT1k?vXbI?#TCTx zihF)3NhmIx^}r5OwaX&Jmayg`L7qIty=@*d+?a6%9v_y7b5TlGDQ(lSu9(Ch&#P7w zy%B4am7cvAm7{jeLT_x5Gketi0rX^I5`%f>T`VqbDW+|liZ=dh(UczfHj4_+i@l45 z2T(%_dL3&vl+qTy)nzFC0Jbm(h!)`|A=oAsZA#7!RAk)u^ zQ8d_NWDPaM9>KU_NwFafZLM6C+T)8H@v(|QWoI2^u)b6`@(oy?3c~8?@LH_nr~6`3 znY*X^bn&pDbn}8p)7r7qeaWfx-Do`h?xwzUG`?$V{6)O(_diM3a4h!fXsp{85Pvid zBKSD(_9GsGxIe-gqz#DYAs*TNOoP}rmXJ8aF2rewJ8%xhA^ji3=d&n0y8`P}t9S;U z+WSKGOZ7S{o$eHz{m`qMizqy}wbF4Sb@a-EPufd$rqG5c%;e3;s5{;lbcEzx6xDWa zj>eud2U>1(V3T()Bx_be!e)MqB_2L7>3)?egLoM2*95fpakOJN;`>1Q~w6s-we;V4P{2)l4Ur*c9s&Gp){prhX9!vKXdo! zk*(rMU#g7^KIu!YMOfZ$?l9ADlN;YzNCq2tVtB+&(u~p(Ywf}~VINLytF*9^=-&|( zwqoHz?CFKG1lS_m3Y&Sp4Y(U|Je3M1Qe5Q$^!)n~ALSoF-zh9lZlSG-aC=IqWFl+Z z2@kJj@bGFVc~2-odmcc0bR%J@C0FL&Dd-8$AgT9G!I;E% z^55+)laZGC8L7%YGrsmQ$h+x&Mt+;yP;&Y)L#h7pou$Q(ufrWay5&=}Th*``EqW+% zbN=S;uTP3IuoqUvgfwh|+;3#V2E3nOzyDB-EuA9t5`J+M3edF>lx8R799JUOqlqi?S9a&B6(fae_;+8Q zt7=$|cXJY#=P&Pmw^4l1@nNpYWySOPiPn5;_w&`_@selxQR2B0=H8P&sS;AsYLYzu zYUXa2Pj@(5fUWU#2JPxEaPVFrYdPi%-5L&gGh6P6<^p4eN#!a>iIs^@=9hPuXc6BN zs!`KIJYSZ$Ab(-^^J$P=KZ4eUn74Vt*;-FH_nyULVM`1pQ8}NN80L&|e2yBq(pU@V zEFI@c4vMgubojc+wW>k~KquHBd>|Oi#kpb4T!~$&I$DJCYZ4#IFX}EoNwoT6)-M-U z$C@l5=H-?n!eJjd+|T@(<#5SH@h9jnD0cnilj%tsLwJAct_nDc-vSmWDB!mYk$GzqV1fmw_RrIW0%|R0`6&_!2*`4>8;$0itA@bt=XI{L zk2#1l@^f$FjIa@OlaW^53~P%A#;6N<*Q9W>c6DG@hhkQjwco}Gq4_T5`;_*6kOnUk zR5ej%DzVCB{wl^A8P=7oCdzV6j5EmGDmz!RuhV=Ng&xHV)awPT@g&OH*1^sNEA@hw(lr-+HX5PvU;khc#qFpa zwzGaKa&~$9bO}y%!Sp+DHC9RsjBl%l+FyWdWZ<4Y2v8Ez{7O7G|j|5H827h~JWb;eOFcq~&M9uVy-K6m;zU-p4ys z$T2%N&du4w0^>gh|LOn?6wn ziC3C)DoSOgr;(E}^l_^;J58aDQMf&aX7~F2uFOhrb}6y;W_yO3A*U3cJbi@m+m5w4r+WUS0{JZLFnq{IHTi9>lyJS#op(}S)DYVV_`=QH|Rv|>V_PETiTg=!-)PvX@(tY<_@^`!3kfrQ`B-I~|v|ZWe<+9TcaBDh`|*NxnUCigFMpDa+r@@k z&DX#mUrF~GesuheQ(wtJFs+ytqWq^)^xHsa#i1*=rf4n<7oRF^o`?n*07x4>-=~?GSd_Uryh(}KY z-35WGpq#%jsuy7x=kD@)ZWdSUH1&6_%iQVgkM@4x><{h@i=K95#}&lqan(zJQ{pVz zK=0I;{~J-*`;VOOgS_X&KFE7cq${cnT#7F5Uf3g|YlNmZV7R)|Gj+2lC&aF$sfcqm{LtlPN$GJ}Xgs{AVQba=>w`iipf`FZ(FX1GXJq|j! zNs_Ur;Ju&^?1l;s74}HnUPO|eax z|5>Eo3||uNKg(YV!ZEUZ`k?9;B_AU>Ac;mSbm&M6uBbZ5}o8R_|U zMq1Z?p`o|k1>H}0Z%2>dbtQ+h$v4>q);3izQEGY=#dj2&X@9!B$z8`pG8j)rJtqEI zLQn1J|cW%k~c&+4DO>cXv?#<0GAfjYdx>n%w*D$YY6ZaVe=xuU)XRLXzSQBEY?&q($}zW z7Gf=AAoMEOz)N+M3Ks(F7_lvnpjNhN%fgj$(M~$5SH$_kAyY)tHsLRE8%-e%F;6JW z;g%wy-xIT*V9boJpZQ-tqLmK)T5?t#PzX9cc*T?hnU0nF+8*${w?~8P-P^`UMK{ZM zV`2>SVqh8ZhI)bqbj#<=y#zJ1aNqOw?xuIL(%Bn*u`}KSuaUxq7?jxyVSd45-S^OC z{MtS9^6W*j9iZWMV{hO}+hCFOMvc$t~qnQfA+M+|=wUQxA%mW0~PFO@6w#Oy2 zr!w-_zB{k@AJuC$t7usRT^n%|9t9YDeD0`xO6{O)Z5J$bUh7nX%W$jw$*{H@EZ=eC z@0RZYc^K((XMEmDaidAqn1VK+pPQ1O(*6D4aEnw~LC01X;qG!=+3%=gCv<{r${kz) zBZ}@++P{GgtK7Z=?^Q^LrYn$Eq|^M=M`IphX5JibkokbBnhfkyBE5lGb$60CA9Yd=&fgYK&8IvZI%)*; zdm$JqqNF8sbDK+mC_FANQXjKDOr6$Pb`WROyMP@sr2m5S3rHsv&@+nOJMNQI79ySQ0;RRfQUQu}0F z9A~n7(y>^{3rhnxz56fFTNuvS5*JRRCv&-CaH963#7| z0}6r{aPB_^guF2ncmUSifgw2mv9_Ma?}rgjLrgV*{jl|6JlMB@N`DLxZhAMvlB9N@ z96DZ$Q1j(ZDvLqVyzW7GLZnh?Y5Be50x}!$9N?xmD3aRgE=S%2@HACkL1l8ljrx?@ zMIw1OM7k%2p&fKJD{$Wo-L#%>D~snVO`%OW1wukkERB_3@Quy8=^b-{m3Fs3Rk641 zh=VYZF;PWfOTJ(2_Q|$RYV93Iz23usx@++Qo2hqmX2Ix$%pPNMLX6QDr8ZA?U%3tH7}Y{VG%BqybvF)rLe%Wv5TU%C$-U!Qu@ zWN@)*VaQ3xvXny@OGQz z3jFS%^=!o)C4G%~qWB(#8&<%H2!u%p^_Zi+h$(K;gm4!E#Zj#M(FH4UKkCER1Tc}; ztfm3km*ulz8*_Zz!P5dHbCmDkKEtR};Ww4uEOUWl4&)}a&h8ZoD-vpW^ig+k?Rz_~ zUCC}$tL2?hde~@6zo!+R^jy>Of; zQ>{%I3n#+cj;#80j2yH``Q{z)UIi~Fu+^}}bi4`q(q%QAjlxTt=^htnXGR@YwjTSp z7%Ghq-_@og|ArMzbw_yD&<^g38lKT&a#+}(u5HsXM<8EBTR9XS_#$&?TjAFf?cbt( z0CcE5o!8proso>v^BL@I3}5d8y$$p!!nKBXTfW}nR(iga*NWt|sr=0DJN98{sej@k zx>v-F3rN~p*Rk{DInw~uNIGf&q!UiRe25e5I49a~Q(+2r>k$p=qv*yUe$jdn0d1?>oYhCa2rKX9a4i0(IVCvH8j!}BYy+xb4gZ%=@- z@*`xreiUi{`+!%e1sp})Il74n_pjdb0;m*Gil2RE>--t10{g0b7xSw24dn)sB;W9? zKwedBcp0|o{9eH?e^U=lVa1No{Oi7`^?vW0kT6*9pi(H|ZYpE(w}6brZ8-%-nh80D zo8B0YVuJ$oL`qXK;B=%ntsGx~rnvkK@DnLqZv|sp z9PA&XG<=z|Cc9KNVy#K%+Qev!WZ=9FUG^bn;1gk7KJ@IacU0aX+|^@ zsZ+vT3Okdbuq`T8*f*P`CY3!RK#w7kdKn|N`xlo*flH-M4sq3@Kf4y!=GUUk;HmxZ zPWaF2EGktct6Xp5?e4{Iy8&*KV8~#Ud2;ao5%Z+MWgEF6tT+^e> zqavlJFN~zr^joLUx1!4zV;yHsQd3Ab!L_J#Rj#^mDQY;hXlajpABsk_<49Mq9iIy> zaK?LiRLby%a@44feFYvVp2k<7FM6uSS9Wm`YOIW;l=E9PR*9^Kgq##+mH1+MH!K3| zof5m=6x%2uXH}%oBj*d^R=yV0vUBj~NmT%LFBj|EsPcAz;BPNE^so{ zIXro7X29Bo-&@qB8nr{5=~Jh}&#gJiJOQa|BGIgXci~|u!Ei4S= z2xkLd7MM>1M$xk;Ky&Ec7asvm?8d&Bf)Is0l7x_n^fiQJq{kyfBYh4y&kn?c@Y{%R z7{B$1-$xvScm?8ldO{vR>_EOTh(ATFMLZwz#S}uGK)fCCcL);^Rw5`6NZLyGz39c4 zk@xoK#fG!@JE@$|**iE2tItBzMj!g>3RAdE-82$k-4odpCwT5Gwc7s@Y!L@XQf`ZK zgxc*-%!d@>OxzWdc`C)VM4-G2&<=0P?V<05Z|aA%088BGAtM)O@&D(3rw%0_i`4aK z&&0DtA8uo9Gf_eUz2R~>z?1ym(3?abvN@Iy-{kl5H&w6;9cBx&r-_Vh($$NLAdlLk z3`SyZq@bJ&XPAud&O~<8vj<^}jKI+%5T_tsi{MQrWFy9A58}rVFF+h!-~|>J4fvJ2 zAc7ZglYFB{mKeAxNZ;Q)z2GN8?2X3bd$TO37nC_U{poqN3uGhb&ttM`=P@;mj@}$( z!1(KKGFhkRT>};@9hwMvhfqwxUfe;XN!7dqrLW!dWf>VF0|p1#Qb=yf=dt4`mq595 ztFN%UA9}5PP4yb}?_z;;<0gl4v&udz_PB~`W5VBrUD!y^SCA~YyYhK~NlA3`{7Vv} zc(mgsAF&(xAb)^JLn|3+(al{RC9CvIVHwZoipjnahbOg81m%kujjf?XVXnjdf9iln zu`k~!-qW9?$c|4XoJ4Y>a{9q4mn`vgv3&cSc|@9wS%j3BX>S{u6y|2pZ%}6EDRA4Y zU9iM?wu}q|WVMpPJ6ra)F_VnaM(dF)${Z%~mw8d}C|6tt9B{J|y_tmbhDtKNXjQ!4 zTRO}s+#iq&du1bw%lez=7dMGUgEH{s%QpWY`L(6;8zb99xg>E`!#!@*4odAB2Aen) zI0IBQaV&SWyf`XHWg~_sU7+9(0-hEETYUBqhc-Whc!jvtFbL0;a@k<;2SP@gY3Vay7wsjK?(f|02$sFi$lM*3v&%%wzR;|& z$0|Pxv;#TYMk8k{d}i#z>}gx}!1gV{h(07b(hS`_b$00-s@HovdP|Z#*0ls2=cQLe zcB{nW%7{QIOm}a-LMfMi?@d$=t?gD1RCZz*fAufBWof6~&xsfI?oIouyYw}{ERMQV z_PJ$t!d+vYiZWM=wPlG5P8ZuuB1l3)n&?(ZF&#mh@udFvU_w-NY#wgs=ehuEDUFxnV122V0T1YU zgJ8Wmgpsay{$uaEZRtdv9NJ7ZAO6#+b1Dn6;M<2{Wbd{;L~`PL0WBb6T-THyA*Pe}#kza|xZrULRdB3!Oh2X1FSoGgIJAS`EptJMex;UyjSE8&y zo-YT4r8tz|n+gwE_xe{1BII+-MGFF~N2h>>e1hT&ixP!=iZKN9_Celc>{tD9&Sf-> zY$arXI}%p<;@ql~1NExJqy76F-C&AtOrmzB6W@*@Kl%>Mi@EWGDvfDV!C?E}Ju>A< zU(qS#9VD25b%N@4L7XnUZz5MVSwD?oJxu5@v%>hUCsgqvY%+7Mn0ueiC70J&C(mHv zMUwT%!*@VlfJ)HrP0Y=wGPJa14)I6WL7P0;3G0?BS2o^$oS2=T-Tii(SS9>h*o!yx z#5|ZdE}x#6^t+8BrGjYPPRl}5mGHe~x+Pm6L$$|8A)h<(?%%0umE!xbfkR~ha$&<< zcGx54o78dIp_$EWKQd^tMLyXqB$%@;&B8iZIaawSRqb@*(BG+QbHpveuYos|Mso&Q zGq-3o(?qw$X8FnD7S>oMgD&wZq#o!w>Pgh))0338(j@*H^wMlWl^$C%B{p`>%o1kA z%sG?AYT;qggn6q#sKdNng1X1{B*+CJTtirca2UahP>%2}f)61N;jaiD1Qo))2%jQc z1TK<<_$0!&NE5`@5wx(i1s}xl{iNDg2s>9b&O)Cywa^zDuN^ZbcAF{kr%<$b&WMow z(C!w)_E;A@6L#IUh~*Ju!0RQ_lN}s9B4`iwr+5#-29)osgZ*vU+7c#X?VO?j#dX_= z2Y;uy!k*Ag*g3k1nqe_db$klyIx=E%K9ww^qjOO_6PqUFIwk?{S-kjx{7K!dwbj*vJBfK0~Pmsb`e0x28A$nqqEyco_m=dgq z`+pXSDnaEKk5c}+czpi&?ou4$zlFNM_n_}xeQt49{@Cs}Z;Lyi8A3}QP3L>W=={;$ zZ(b82OZDI^({EU5>nuj}>7U|7;Ui%;@}?ti`-t@X^zOWsBCK$NlCE;4;Z4Vg)O?Du z(mp>eJ{+^h@(&9_jesfY>Zo!Ff`ohu#$(>D> zoS1A&cHvA5l|_(rg!DoErD)r~kiLwt7{B)-ZbGmj?X7z`MmZde_pwv zFKwAaJV#igF9R^A%( zmH?*g=Tdq#gZhNA3gJIc>f8bSoeWuKn4l1LnPS|sF*<0~aVeLZrVUsOUo@Hu%xHa5 zjKUS#0_)`CVXf*e8)RU%n!Gp(%3=F(+5nHZDVC-%XZs^k%(Q&ip_}C12HRRpn@+~G zX%(=urA$-HJo4xVsXybp@1uW5J?M)cdmqAsz8J(Yh@;28Yq}4AJ?^sjUQ%cT3yg14 zD;K4L6*I^UnESW}4h-jE3%lSxpKQ|maiL}|)!UQ`1FsyL1pBzMOuae5JZ(UVQ$mY4 ze%b(%((Yn1nXFLi@7chi{cpiD0ew4d00+zQ(*Bo}6I?W((e>?Kj%Qn<+x(eh8j;iR zI{fW&scFsM?TtvyZIur~$Q{-EHu}TC0xZ|2W$#uiJ&L|2pLVtu-ZA25n|v_{(X&4` zU3D*xk46tU3bZ)Y@y*_NGir<5f+w_HQG6yS zp;z2KF&e%VKNVy7!F-EIM>PuHhr8&kWH~YB_uZNiV(`N9tJg)JmG9RGGT0=I!T2+o zN$|4JOR|n1=$7{n?a#K*bU!z>E(!aGS+dMIYi_cIyM6`2nDOW}&HU^1xHYHh3*c~!x`u$Qbw zP@&hrLkpn;4T@YC*?NkB$ZZ7dRg(3G&h-YbvUd=pgyi{JXamP2!gAf?E_i(~;J(K~ zE125sGx2170U!lDyh?9${R|CNc!tvd46W5KkXCo=215fZDBZBU3w#l}rzGItT0U|@ z7$2Gc;-2TtkN119h~2@yHbUU4U-u>JNOdAg%=BeC(j42tNhX}KQR!pGaseI}=OU7& zOFzvkQeQi-c9$8te^gz_#L)W{J6|xd>lQ!oX^WBSeS*?@en9vxV5>Dh3%6T~9ef zac?`~BYS$;2iAmb3TjY3yqri8@J=d_%#gOKWshoS_KwCOeH?2dENh(ZZE47H2swr!{sgfhLUez| zhtzxvZiE@nu2`c`-aQc~PK4CJetcE<=Iw3iDh>6NQ%TzrUWMO`dg$fmefVNJzTlP} zXe&aTfOt~GVK*;n6(beKwpS`o_8%fCmELn~F725H{Up*UYXLv{mji82M*QZAM@=R8 z@}O0X)I6j&D%)K$FVic}b?Y4|7e&lFnc>+8a`h7H8$Oo_>l-n>){v1WlD!uhBa(%ckj_90IIL}&W_-)7Sz2SgJxe6@8Q2=F`e`0^8~7|zntHw` zSFS+~M(NQ?#<0r88mMLn?ei(sIaPLR?jo6_WZ?^uPagr>+G7BXQ(>i&F-i|swkZ|I z(o1z@K9lj@NuJoi}u4gMXHR%b~SWs%N{I!xK zYBpDyjMB==#mc4EhU`LV35~EIyVRSotLJ{4naec?_G6rlXR0ml3zu9;doN&=M=IzD%a4WCXnA+vBhb{B&RmtV z_#JEUoY^Dq!1vP8%ZlqqpH*C?PpvI@f2$5M=!vtp>X^Ulb{)?sI*-M#x`gth>?ps0 z7>2qi%$W`fPKbS0#R5YDVmhCjCJaho0Yy$PdETtH74o%9RJP(JN}GO(!gl(3xvlnj znXUMF&Zd8!wVhtY*lJfn9tP6>kKfd+x1L>7z)P$GzJR0()e^H7b3<1RlTnO&|8p9g z!<@FJadwIt^Eghg&S{lDMLo%3o}o}2Ez%t&@AxUO`h>H6u3Ddy0rmviJE#P|$>Q6; zi_i9vbZYD>^spzBvS2~XMc;dr;nh&>3R-6Tkso|i~G)J-WqAgJ*!@mO4s|Z4e6Q4 zGqLJyoieYU&De6bdsS_Tc0_EMja4<9m-(1kwLCLs%h}MHSit_7xl6CVy(_TV>^A<5 zv-`0!w**$>_^Yq(x}B#QdD4?`Mih{g@mE*x3JsLG!SrkMS|4K#X=6jIw`$uQ>4?}o z1GUZIVI#Rt>=Pi60O@oQnN$L4q)^3SGBZhrOk+w4q69(L-V3f} zL3Bk?LF^5?h!qt@*8;mX)OGC(D#H8y-g}=Z$prcR{_p4geg5z3z{zdrp4-nox19%T z?7^Cr16V%@_vQhdFOM%ODKD9|eaqPe?fBxz^+g{Zn6ZBA{BBqFZ!CnqUFXjH*+0xb zsc}=@lK1mw#ix(OYs&L+8|4SQYIFz3H_Bd;=Jq`q%d?NN40H{J7 z>}%T26Ey7+K(D^gCjs-@2aYK_rsCW!XBG6m>+1#h>OfPst1}yM%l6vt*B#zpaJYL& zqT2g2WuG-T50Gn=)jeO`Iu#Q6_gH^y${V^fe`t@rans^*>xUk{vs>$(c>{J1D*8*$ zpCFkhy<32;XwFKBs%5 ze+H!9>}1>!psf1g8}ZYUin@>c_TAl(xZlEktAAoIa&^z)kcabzp7e;mcW`T5&W?Kr z6kXBt=Qjp7t``z>oRF&%-++Afr%0dw>>ScM-ckQbx_=|dcSRibD3c!7zU}j<_U$i^^e#%m zPRvJ-K-PK0d;id)?wcB4j=weml4bX6yujM=ND_RhBR*NgdIXrS13m?8dL#=kO=q-r zzbUx@=igsFqu~rfAF?DLy9-%Q^p87#(1r7dELq*iFW(+E6}0yLYeG|xrOwAHzMY(S zf8MB_iND4lO8Dy7KD7sq-MbApONQeskr!*n6ny~M_JadSNyqK2__APFBnH1DDKQ2D zBQfdV{`AA$_Qs9BKkth-;@Oi{X(JEdeeCP_=1Y&F!q)hvxA9HT+@<>XO?le8-Y07C zVlS(xhA;Le)ZoS5!TpaM#@F&-PnuSP7kdnw4BvYW=PsR$ukd~M)+hMN=J|Nrt?8S8 z7})MDo(!$(y&A8`JLavvCl4vO249wl$2T*#9Kfqwitp{h|G7_=-?i&;0{R&;5aXey#Jv1A2Q*P50P~o&s&&(2bve zc>fJb(|tbrl+<*8X#al>QeOo$-DiBU6RYLZjnkY16SVZW4-W0$b?~md<31cCzTG(T zK;21Na<8wjJH5a4fHvHORnVdReGk3z`EU_F@W79sufsRPdW}tdPsg^5X>vj;_@BP^ z$v9npQ}GbOP2C5NUHhb-CBLWG1K(5p|BK%6!~0MEneShyTRTbIAd5T1@y9pL+PAq6 z^VNX2I8wj%&<74j>CK6F>r>5BO zm;bcV0?p$0I~v^PfD>dqHnYQ~EeqO%b~7_+ZM0jP%-%+u&+KrUeHM3vUHL`Y8!i6E zfTd1_G`NFi!^dxFwwwJPx5Z^Q*ZVv!v)|s}vbzJCJvYZJ1KV7TYM(eh%I$DF0wM<% zn=KT{>hZRjeRdSqYqyyL9?fD~8uSN@aKGmDc!N$~5RgjZ!EIp$M!9hr7YAHP{1Yx4kvMM)LTOF$2}> zbGQTS9br6CvmoIxTYNrCn^x~|I?axHzY)a`T45ZAyWV5AdR$&hKw`4eRDY=VM8=5@ zsHm?8AswlE^bA{@+aK^{R@YS3nDTT_Fu;ziI*`Tb^jNhryUV{^_q*V-`}6?nQ%An+ z{^eSp#ipZr8r=s&(q+uxOCY{ddi4aJ%kf0 zOy;Q06Lj1BT8baEqjL!_k=-yAfs~PvGGaMMM;3^qQFaQnRvm|~>@g}Ye%+6z4%18(VHD;7`l+Yt*&4<}`gBqE`t(!v>M~PlskzcrTxhN?Sy-qgn+gid6>|%# zib^Zyr3&0;3>@D$UD#c0(Q*1Hus&B?nxrM0RG)Tg1d1l3dSrhY6`4$#sd{!Avl2mF z?~Ea7i?o?fug~7hp`1QldX0_n5t)+sD#54-$}cj8>V>ivkd<(qsEo@*M(Hk#zbPWK zq4EfSEu1Nl1r{porP2_j>z$ScKMGk{WS%EDyI^-}f{^1MQ$(n{DE20LkKh(;0j=4> ziV&VIODlPtFJhJuR>8~!M^@d`9dw!N+5&bzI;>#Px(lpTud`!1vDhqiU~ffYM56cE zbXf|Q10yzIZ441twDd(Ow#AyBik@k4rNJU*JX$aTTAR`|pS=N0R8PrS9-OKpw^^+z zS!0~7=*l6h7$)?eh!G}hg%eh9Egiq`3&!jKio}c~ z_=n-ps>PtJXJi$u#+kj@?nX^G0}ihf!?s>8bk<|)s%~>>1%j)gM~E2#tj=cdzzZZs z=S&EO*yhSCSWsTQpo}?*_6cPt+S?fWvGRoJlX>dEYLAe&Xw1%e1aB=auZ?82A!oqj zk*u2hHsl*(u;gBxM8IPLkrPDhNk#T)5dj@GVrt3F(ZJ+TIkismy%c|)BcP|+TfL}n zJLMO+(0_$?N{Zp9?h07UdNo5SCvVgoP$u^hvG6-HbtQ zqkJWLTdF^e^9BV2|04W>T-3Ta1Ctb)z;Z3sPD^=hX(?qjzu`#JSFAuL_2kGfNx?L;g138_c$rK0Y{B6N^F!f=tX%h5=V%0oIZ#EAuF(%8I zL=1lw1M@mZzNm>PuFLF$^ZFqQFM`$Vm;Is9EK)~bsGeD4t|}~zfuXpO=s9Q!PkpLn zB2{+G>R<1tz3`TeInJ-DgM!Vy#><_WI$u#;=sJ&PfgS6(AUJDC@{PGwK8} z*q1po>YNUDld#p(#)hcVWRUO(BdH*>knlit(S*TzgHy5!jhYsf6p>xM4x}T()1uob zqCx|nfT(SXKUrFA5=Qfaifj_Lph(;ZiH_)IWx2z->yUb6kVZ%Bwybj-fiYT31xA%W zD?2B5{Dg^e24J8|K~J+E2gd@XB|)LGJ*}Et~tdU%r`UkM`5Iz}(oq z{asU$;?KAr=3Sseb8}+*-iKi#oq> z<}Nf+DonkM z+V=yPY`3KMr8^bo`Jl5zxNm8HSeP5y`+UgoTiP!c=KA&zgt@ML;75m7+JHY2=9asA zx38eNDZc$hnDgO(knYWT`^e7@uiSiEkM_XlGW=GWpf_?K%`NR-n9N5z%vaC}X>QrF zuKi*aezh=fX}?AJ->LlX5#}B3uhG1#d;8=s81K&Z<-*+3-VT%PezS0IY=2O>KTzQ` zSwDlmJiPL5n76=WeqIpfUG0ru!HxdnrV0P0!ra*2tlR;ZC?+1H#I4%0`M7&&O}rQO zE!vun_B*=KzfUKeuHxPiAI3jU(ma*yFj65x0M zfBgVD@cP4?3>W}N1pEq}f3*GrGgdwk7W;?%7{8=tcq;@q%igUFfB@!!Kl&TL`(Y>i z@BHDx?H|8CYT%C=_@f5?sDVFf;Ex*kqXzz{fj?^Cj~e)+2L7ml|G^sA+4s=bSe0_M zhvjAuXs5)TZn+FiQrW_-)EiP47BT?8 zIGk4E+|-X9VE6W|_?xqP9zM6d7oQlHS zDW0Z+LIhPWZJC@?l4GxFniwdXm2DbdQ=j9QGiQ#;R8Uc2n$^^_U_wES$L5$hH`7uV ztZB&0>ylnk*Yp;EUf%4=g5?XAE}T$Nvn;E{U0cvto@tqt*V-k$M$((uauf46xwUvo^#u3$>S}M@(uOI^<}R#T?kTH6q{`)mb=jq^`o>wa zoxzHN9PeCbb46nw>9rJ;SxU=V3nx?+Pp)V&<$G=Oi;A;KNY7N(>hUixtZ^3BwM;UZ zW;?U3wRLltzcSPEV#o5bs*2jG<^sRTv~2#|)~Y~dm-MokKa+K4bFgAUjny@0;{16_ z3(DK-W@gW?W&ZM7>|@7Ia+bF(Eb!VaWo5au{PlC~b4YJlR@t(NR!3HCVfC^?Us2Tp zr?atQLLuno`{uOyyltgbbE;;0s{M0|9P{QCPHO71eO)!A7qfjAcHO>C=5KbOV0O@5 z5-7?mT-G?dwRYaDg$rte^SaF6B$hWnr=+d6u3>50f;pwRQ`)lTEcB0WZ19s_>4K%R zs)G5Ivl>m!^|_^0d9LM-;sO)t*;|$^sB<>t2WrO_mCSC)Us%4tRWq68&6||(Z4Ayc z&CaeFU)!(@eKFgyu(E~ao#~(LDxR>w&?UG&_$46{>qPztax%HDK<+!r4s;vvlC*;>no zo+xijdak9czmlTtipIu?^A*}an|m$~YeE@+-u#`<$) zENJn2#CXeX$t}$-Xv-`wc6+iG*cUW37Q0+cUDFfo8~oY^yGv)aG{= zBY45g1*8|7A2gC)O#aexDl|lhANe-7IZpsg0B}2z&38Wf=SCVPbvG?>%Ttrz~k>j2k_rG}SC*|AD%^vyB`wzeU z>{)$kJr|t$ePHo6-@VtKaLS>3KWd-Qe|yU9JwCYM>QRo@1K-{7^qaH3yZLFy4WE3R zQZf0w;%(nN@b<+Qy>Qdh$JuYZtL2sTeMSbmja}dw_eJ{ZPyXh z(;ukrxBBnr|J=N3PyN5E=1gCklyiT&>xJx%rzQWo_QlcNw|sK!H`}(aT=3*Gmu)=t zhhz4>kaBzPtBS9<{cX=V-S^J1zSP6(KDKv5TH3&anQs=I+xwx>qjroseRA?i8DEci zZs9@KxUxO>U31fbzLTpzvTnYp#^2k%acj%8$9gYq{_LKwi!*jSv+9%y=L|e|obO6o z_wP#A?|br=xU9U#XV(wec*S)Gc6u+G{Y=)jnjRbGIJXa~`sSU%`>uQ==?;7C$R5|f zGe%!F@7xK;{`l}4kL7sRElqlH=bI0o@bs;Nt2deEBswPzyZ)<7_msBG9KCVo4gYxH z@h#)63wJz!U!S2+x+bY~8=%=WS!F zeII|{y6lA;Eu+4CZTje!dOq`1^7e<%dt=yFdtZI$tiONR`iA@8D=W_W=~2&#zB?Pf z?eVv@FW&O}S=Qe7^!<5T{Mys{om4z@z=UI#owVkx_z^#~yq|j2$n7)E-1Jh;3$WfAKA~H>Bl=cann=cLR9cA9A%>Bx|MVTKd z^XCq3RSf0(f8H>J$supcv{NpV=8|-2&fOu+t+%W2YgG7lX^wM9^Yjm-`Oa_B%>Jh| zZ+%LdhpMINepQ-pO_Zi1S(@|frCI+!WSZWW=^Mhcbp5~c_kX(FLoPe5+nBVm`IkNS z(VArw+8c%r`}NXKCymO#?VXErea^GyY5luvoS!&1abDt_#QBJG5$7S!L7aa$_i*0f zoWuEsa}DPi&M}-{IJaE!3+<>ce!;pE@s-Q?Tk+2q&c z)#TIU(Z?U#Q_CJRVrW^>X_Fmwi)zk2yT!ZyFIQds#DkkRzW3(K&;9i8&-eE0-Th$t zs6P!V$vb7d{fv2)tCstnH(h(#`HyVfbnDx%ZGY;!FF*dEZ;!(V(uSWjuyFdMEX%^` z(zBX9jn`j!(V7SDxqaOmFFpJC*Prcqw^z4ce@q#6Vv=cU?zqKsD`vL&nrs{m;t$My zlrlQ}o{rO=GL92-lC+&;aEcj^e>wfNox{b6ChT$APQ10m=`QTuw5MoKq`jZEb0F+V zv=7j}O@hcW5cX`)SqgvB$p#MT5I-9<>tLs-lMOm~DsDFD(@y$~I}3IrZa3JCxWo~0 zBk)b#Wq#;yQu$ z+h64;OXY!dvJgEU{!A+?LE2eASv{nE5bZsseJJgT($0D_=nFb3Z_Fotp*A|I@~V31 zSjK|htSc#M7W88MbO&`opJ{}C^DTJyX)u@gIAuedz>c!T!Bnvj#OU-V9_;ZzAP#(C z3O8{W1|Yr&!XL&FxQs?z#uIsfKhvU}cq(1tBn<{gAf8AIPMIgB!~ZfL^pkmJ6qO#* zG3bkY6Pbw!n$nPI(;la{C$($xp9VXSlQbQFbuFn~hd=Bvi35OL{ENVWKXDNkA@V0| ziWcGvdNPc-vRSkhk4^)6_;*BLsxc$0Rg{u zg)99@2R=z!VmE|!>n8T35;d3{BKReCLjdf`11A090bKgQo+#qNUqm1cNlS)_aN;8# zX^FTJmox+}Y09)^Iz(fD3>ReSB(jPl^C9qrKl32+g@~{-Z?K5GivWfR9GO?zg+FOB zZ7mKJxJuUqv}>#!xV3h47Jv>9{@_PgMGzjq!#{x|!uf~z^yN>+WuvX4oj$OOP?~y} z7X3&^i|_-w{K3zNXV8fgc%Z9;4zO0y4U=hTI!(}n*)IGIyM`a_?fApesT|81sRAVRYz7QfFw=44AMB zE+Fl2YC8NiT8NuOMEJo2{`iX@{b1J_q|K0aK||0YP2j*EVKR=g!<%trdcc)&i7#k~ z^k^pzahaaT1M@Zm4$`MdH-5;6pv5TRFyW8%1q}licp?oQWVLRZ9*@xw&sb~@+Pftp zD3Sg;{9(th8#pO|KbQ=IP2s{V?c}xy6LCd6+67I}75=2dA8{f~v`HVKg08>? zzDPr+8_u7~m&~U@Q=}pD&a|11%7;OVc>=u|P~C@r_{GB>FPe>hGw6k?o55tY_#_dQ z1UqnGXQgU0h`}(r7)Qhg9nylo#1%;55BQaXNXU2Uqo|?1pj8S)PfAEXNNty3d4=m`m>a+FlzWD1~pMUo1 zKa$_+IqBIy_kH`vuLmwHO!(sCI}U94=HPqXJPj9?j=3an$}fjk{b$*qhg)uP^_l$X zZv|g&yY-IOKbpN{_GAC?KK|sk7tX#R^_S7>zdSeVn_USfpC3PE=dSlYz5e~r4y?H4 zPxiTYJy$S1?Z@j5kIBD%#MPUoth?&qvkMm4uY9G?WoP~P&EYo|uQ|8k?2VqipN%^- zFh6d?`hJP!=bT-=f5P`upLp!e-D9qJ>pZoS0$qcsZGs$9*cgPJK-rzZyN?9w)gbg$ zpu;32D;N%wkfMNFH-ym&QehI(6pV#Q7^i?+3i`Ka(&;!Bm(8emagYO#wGd3HZFJ0DMLj@6u%todMINAP*)XUqJy(0uRmz zMGA^x5@sqWfk~L9U^Yxbse&??gmMKHFbS0k=D;LWDc}|gp+-S1Ou}3R^I#IVCq-DG zU?EJxA_a?K63hxLFbQ=ExW`4XDX_yNaBGIppr8>Z!J%L&OhS_aCrpA%fg2{lqreN3 zuuOpuCc&>D0Fw|@&lNGrldwU-NSL<*Zc{J<=HCFf zD`410z$OJ-U=r?CuoWiZJ_WmB-Vb;{!Gkaf4=LCW^I^ba3Lb|^ctXK8n1m-4z#vx? z+%X@B-j;@PZ1gvG{Ph}6fA{FXj0&W zN%%j_tIkB4gcS1eU4S?GLcLVMNJOFqS@HF6gz;?h}fIWbZ0iOcC0DJ@Z4)800 zyLdeTeF4V-jt2||oCHV#ECMVBSO5(G4{-PELrMk%UYRN{H(=FdY=Pw1r$Nr+24Az_s^BLPd#gl>qx3h@Us{-Ayd zJsH2p@d*~jUy_s%&-mR3CS)^yR{w;)jNj*kgr`OPB|Xuh62VOpleB?}eyx8`jD|!n z0JDFur?jM=yqW%Jh)u*y#}7L6+6a^Q zYXAjs??Zgj!%Uhu6z;X!z@8YLiI`myr@{R$%7am!h?y>N9NZ7X>;t$MPzpCbKhYBn zkqGXY*dOU{K>8zK_W>a7^m-2I9|LVtC4;_ z?2yV6r^3Ap=?{P%GjHM;xbKI_`n(V@3+^8gAB~s@?wojnHUmW&&@&hIW&otAUauhi z<6y_ko;V8byI``u&jS>}{V&At1v?~%#9?sXi1e+nV>V5k4)+I0|0LMm07!Vf9*21> z;8H+2+y^z;{&V2&hw`sh?GG-Nn2qpfK%e=w0FvRp1ttb{;wpd%?tdbj`2jaf91QoB zs{PyGo&xuqs{I{sr@_4yCi8m%pakyk5ufde87lF3Eh({EoNWIf+!GM~l4^fD+$nJ1 z36u48E}#(ZFA<;ZzZd{c-s>-_{m+8?RJi}H+8>-bF&*wlVX{A60w{y~7sO}#v(F4b z`JYwo?}r=h(CY=&{;bmxaQ_V^@mB-#;rHQf{4EMhgpY>@5VBGe) zS+)O4xKD%oBh~&MxHIA229y2iGC&2~hgAD_HU6IleYXD+fDZiiFf~9sUaWfggX`PdttJ@&Iind`#Z#E`*$_|cc}Ka0cRxe?|@1CHGl%R zzd(G_I~_0-?(0?iuYh|R-0!LOcfvgm?nhwu0bC3yh5Kj3XM1)v{-0OvUk9Awz`qS< zH^4c7Jh(qae746zz!12vQSHAR?x}FUt=fMn++*OzY#%lLe?ok=e^=xGRn`9Wz!`=3 zcf(|Tp9d&{`)kB!`=0?A2KP;>{m+JbI@}+s_IJab0rwLyj|E%`D2MyE-x>eUfEKHYb$_syH?$^z-04s?VNDjiLDC%51Xx+;(TCj83(2b{|x` z1cOlhDg1PslZu9XZF+ssEw!6@sYA5MZXgJqSyamf-IZ3W9nTqX(>2+M4Q;1g#_T{y zY4>5Fpfku1g{IKCC35Rw}jf_SOI#DC4CKc6_rgR2D4<~e1xjkk-)LlaV zP?HvDr1mbjWK3uwKMyIZX*VDs2Vy;eO{~KEvgx6 zLGAWvAAitKEuDs^tYFk3bs~w>R9Y$k3dy<%5js(sz32!=-XlUp9du4Xcz2}YZ?-BO zr9RCG1!6%TdX}gfDk-X&SygB%Fqhze`CLwc5Q@!9-PrD!6cdexbDm$=pKd zmGq;&pbZXY`gExi){Lsx0>NgP)nIe_bkP?hvQIymVO4u7Vm(!I`dwfw0h=6+W-;`k zRI#C>AM`2Opw3nLBaXxuYGKiNr3NbYf2ror*PvTHo+gK#8n>Lz){xS!>au)#wT95B zIg*7UUTc@F8}34)k3damY<{E4=kel&6HA8nb$RNRvI{{oADT9mPBcU;W@V{^W;gZ- zVPPCO0F0iRYH_5A0yDPR>w!MoXch{mKj4DOJFrtTloL`hu3%&4pt}WH(cmdbiy%R& z-U7vsLcyCRgJjeAG^ojg0w(B-s<%`9rJfqrP%Gj<)nBUAvl@Er1wCdU#()-|1AQp` z3@jWHu%KnAaXG>ZdT0GmX-p+-iUL*7`qM>*s1+@$jZ*xYUhnrQRcg8(2-NwqqFmV_ zm(^hti1Rhw>J926pqo$+{jA;)6-|#IK?L9U5DhpchaJA`9OXcqa6%%^gfN=!n-byh zd&6;z=rS9=iD5KfcDNY2?lek>baKN;%-f`})0Z8Y2d~vgXOXD8#k#CQ=#!Hc)wp_U zz-RI5`IWV4nt>_W+u^1fI(EZYD53}0g_2^?PRV*qEHPQ?RAqStteWV4kQ_-VdT?}@ zBt-}Jd*vi)^ma8vii|^n9~2kbbvYEl2HXLtjYfZ#g@( z!%D+5MxF9PsMF2Bd=1WU#7yC}qZK(K6A$q|$D`tBr&xWFMO#L=UFaf9t)j}bVV}vXa@(4=VpeEnoX!R%?RiJ|<_{?f< z=5)q+EW}R0GbjU@ErKh9n+AeDw?MJG>g+ZfG?Lo_(%l+>fMs#g4b6mh3p9kImP39d zOLk|5%36=F4T?Ld>pTJ>h_{4LVjk&*Tv@4MH7a7A$D?$0gJ-!czBW`alx+%npzm?p z=%@5|W`dL3eV8@VRk9-#=Sa8Oold_tg6jE{T`0SzChQsH`)*G5{(Ax-w zwV3G4tX~L&O5M4+4oZsMoa?(npum?|@9?==ERe3nv=(+p6aw|ES5&5R@I+?Y&0z%{ zk`|w5oQRwrSdOtkRqNv280UU9S2nsL$e~^99Su;V87iY{P>IYA+ZkKchQd_2L3#NO zS$suco~f$5q`Y{lUegG%ULnY&f<8I_xEu|QLL;<;y%&v^tc7A#if*oEuf{;Y>z|q_ zs|4CbEw(_T-R80SGaQ~wyE~J;)E^M*5ln?v3?zFd6}O_Rm>aMPfl^Gj-Jj7Ia5bkJyqsaPII1$bV#_e1wL`lKGPyHGnA%28A? zG^o@cqg`|tIL`g>!jC%4~A>2aI zCA6nPexk%Gl!B}HB8Hi(J*SyT*{yY`HmfE{bqKK8V+2_1D42E;5IY9=aUB?8tVpc^ zt~_E;V*sg9SuM(dF^s=W_BP>Y?y@2vKf9VIW4X<`=oq(?N46rGLo?7~w=`*S-Qp9I z^cn3ZO$^O6Vp8fnBdG}};H-0)UCkExT@AAZGcy*l4oLFin*hQpmYT__v||#4&Qu4q zqn4G`n#*g;%%*Cr*(yyXRn^P|gbFjqRceDEHBN^>jCK@DbKO|y=r)W-W(%ur7j*%H zUj{qWiOZEKW<3lHR0Tey07au>(UV_MRcL17mBj@mRpK)M)OQ_$(di=rsm&JTJJmo* zM-i|b#Ih}w8e=<#XuSsxO6p@IF11PH^CxDAv6y{DHpOt|3>tK18~$|K?0%~pjiKoB zOBVQkg;Y%(@+Z2Gz9hawY5r!o?#xz-j16C|GQz%)M<5qN8mX=_msXkzJ1$lts?OXz z3AN{hvUW@}_?!YuEnQHEo1=Lf0;-*vZg^yZ0)wm;ECdi=*u_U!EX|k|Q=46oQtCZO zH%jp7vX6-c778p^T3}RWf1^uOteDmKnF7ct(pTtEH^c?QlO53T6T~6|qNzd{<)=oX zJuwnHdy20H*u@epl4f*FISL}fu~KUYT70%>JT_-t8)j`TX`_P->8nF9StrCb)&!>% z4PV9>4S^iP0i!~EnE(=@j$pe>7doT!JwZqslF~bmdjUJDt zrw>#XQ_N7lP!jHJ(CDZSPy~q_S2IhBYC4Zt zQBU}M0ZWB`Bh&PFg=YFuBG70!cyev5b{0FVlA}ta<|QuIf$g%mu{iL_#f6M5mlhpJ z)R?e}kh_Jt*w?c{(BTZ&sw!Hpx51dD#(gou#7bOFlUhl6QN>g)0rN_8({m`D^w#o= zip>R8rm`$^o~gQ!%2rT+nB7n)d??^32LlTtV?odm^P=X3EP~AdxFMyPmpTGy3QQ{j zA3ilC0~scIN%S~nL`c&3wo#_h_=1)LPYffb@Q}!2*Q+R9g|;_Co3Rmun3U3CZ*I;; zD?(36c|k$Nyz}HETjn7JnLBkUJ-;MJ#SHD8T{r zkZ@)TBzG7c5j7m%bwTZhwDW+f)VO0+1O+RgyiR;1VS}g}J515Az)njHr%wNe7#KZys6KDf=%{!zM8Dyjf z=^HDlR);I-!W6_Y(eXsIIwla(AHyo(^QA*c93$FzfPM?H@YEVfRO z8*Nsv{33?nB}=XI1(lgUod~*`ynx!Sj^$p&P{LS*VXuW zx@>&gC6zm${1lch&z!{00Oo9V8cY(YoMO@-;JO`lTQbft*rQ}1Lqtz@xbPVtZqi}x zM_wXMx%j0T$qvP5XdKNkgRs_M5hKF5Lm%N}87y80L^rXAz^}H1lTeE?Y%N;xp*ISJ z5rGu3pgatdD>5WLqY;ky-^?3&lUZyJaYMn0DIg*_hKUO2_E9Lj%jr!_YqFwPVld8n zx3&lqHa0@l782$)FTVSQ4J6oXi^-GJr$YSr;sltF*yxhqQ0q-5M^Oq{z_*{U@siPT zI_K;z2c?|eI|>AHIj^%1Q?pv{P7;I5e<}_(g1tLTpy0cO=9-eS!YXrqO;u@(IW#=s znkvk-rm7nAyrPn#iWrzYSK;UeCl%jn)2a#!(@kZin1&%9wqZ7Pu^L!Va*wugI_3g{ zh1OxA!DCk&X5=pGJs7ZLvS-v|v&w>69}}=(*Fkhbe5EKn7-&+I?VMQJDNHBley7J(c9%8buSck9~j)>d4tpSbk)~D1(?IQ~b#qNucc;++vX( zF)M}VOd-mPEkp5%F{3|F%8rVyh^e9W-=`Nr;OH}fT1Xa$;P`-__~uenNhu9j@mVRJ zlItRzlq218CT2KxTRP5w1}f?+l9FG|$0BZYkP12CoP1P;i%8mF(*b*vIPeCmtEw!^ z(~3&w7Zzw0HI+u^8BR7GNEXS8FFD0TjV@RUzV~(X#WGIm#HWcc z^mKf027@mm9knwms_?&68AnARc6G#x+GT}AA|HK~M8-0T7g;HSA$6{maJRDJ8&42Q zp)qr+sJd9aK;Xy$r%pv#-?1>&hdz%)PjD!Uv%!Po*G5+ti8@?3tib2QIE}?hM==&0 z1a^rPRfk=pVPt_r%k6i`w=qsb11X|O8|@{Tk}qIfg%AxB7;BkD*wMOiz}M#hwpTGs~Y4gb@^b5qxI7-QjE$UgfKqD9V* zqWlmDb*yIa87VAj!VzP%aAX-mjh!57m&nSCm}ENDO^kUuGFkQ!gQaq71({?|FpCi+ zZeN(lb*mKD)oTP7E#qhzr&r+|FOZRu5hW2T3gOl?vfQCAn2auk(GEi(60vMQ7bbhy1Z7z)QlKTB_PS*+<; zs^mKD=E(lsJF1XnC@q6vYAN!glnA1?<$OvK&@ClW4bxC+1@Zda<0Bz9W1 zdk{W*$*>Xi8bww(2%yh~! zu3eZ}2TO4^D`p_F+jZFZ*kJ}i9BKLeEuAYJ`6kV-f-N3ycOMBuxX@-fwc$$H1z`$q)|@M4>x{a~m`x(3(BoEDkWm?pDV#E1aC1-^bzCg*#V= zB4B2X@>WNO#%{E^92s6`5chdHg+T<)P@Mr>e_7D3c0;0jDX}1>903FUyTP7eFd4D= zD@q;O0ajipWVDx$b<@!+5{uI=OCa{_8ofBT6#LDjr!xt$O~So5v0slpCv~vaTf-MU z^=LG59Nxyl$y&CqE}A5B?+8mZPE-mzC+Db$Dzu{_%3>Y`(Gc2E5M;;HP-A^{MNZVIEXI*gRK@)s zN>?eNqS8?V=|~Oxw({H@-+32X?qcYQ{s#;lm>~>DGgb}ysa(j}TfMkwC$}|_mvn#j zBtZ<76}BT0!=IHYY6`D6WJlJyw;aP;ZeFl?Sn;X@iGv_W$YSQ`cnmG&;qXvm&sT|H zI~*A@N{TU{x9x`%|k=iv^8j_;0R*onK<7>u}D%X`jPG^PacB!jnM{Tce0F-0Dq zm3LC{(Qr!>rT8&pu)M`l0<5WmM4HBZ5qX)E)VSR4Dq;vz6Im!IGnuPvszq!3w=w_% zItbuJ6Z(9_l7Y_1BN4i7E(@+b)dd^0^1^v$Ce5oPW^f|oREH=0#1sQwG$$ms7Q_?2 zqRqsyU4$oAL7d3>rpv&U7h!n|1Irig08e(}oK5U_PDY>L%`2=_#>0=7y1EE)_?C4M zV)t0P2*EqHE^jUAvDnV9T2NV2A-YXfVX?SY6JrHQ z;UoHJQo3~Y=u5Xa#qk!>MA!3Ly-j!)W1OZ&iA!Bff+6h8kgen955`!G6BT0v(~rGP zk#5xf5PdSDw~Xk;jh3+Y5ssyZoUCzQ02ivbFVLBZ-5M9yeYD;qdA`o)o=5tv$zLBg zdflyY^(B6P(C+KjP#vsWN_MOj7tEVK=I9AA!hDmyW@)vt3z|*Rz9z5Pi^Dy8wmE3? zo4JcoAn(V|1|zHHMduFeBz(@v4Ft81P+ZAWl*EU0s0}*m!BBHwK$@ji;A5YDHI& zw-ab(`_Q!5Wr&o`EDA&1U9?-RT$MTTbc2b@=^xjXB@yHdLQTvddULnAV-)&xLCcMh z==4Mk9(Y4W$3ZP_U3Nh5yK>ClCOfYuGiF!8h7^X{Zbq#!-|5p?OvA#vq=r3xy0{~3 zIHQA%ikCvD%#9K_DQgnhDoI16<$S;kqwk^)E31R0{JYHtU^ayc; z{X-N-HWVckddUrNqxubBEAITM#g)w;z(sg*eOpllhmP>k1cJB8>YspZ8XN0FAcTA* z0x9#zDHLvaXq1ftF5Hy`RX)eX{R(*l3713M`dIQQT=ZsWC>K#}0z!C{!zYv|o@mBE zt7u5kG^*Pf1!D`bLU1uYR@=hAD>{h5$n8hsZbuP@#Kq|Cn7ZGUo6dkPl1H$NrwSn0 zaZDOrSB0R#HYbgDF8|`tEB`q4p%We)_)O}r;}XU;{H1x!w)ki7EEq7V0msT|IuWya6DxKKv^L5X? zc=MM}UijvW?UNtau>bqlezqLHe(ybtZ@ppsklMSi%E|ia;(I?n`9J^6IH&%lB~PV| z*wnYW-1GMPlL|lj?b6KdhnMX7#zYYEzL343k(y zkgX#SVegJ4f<;(NA^|ElKuD)iB9cZd5;5LK$g3Y%*;{duP-ziReq`FRUevv4hKmJ` zl){k;u57EVGI@gp4>52f5hI&xji|UX08ylcr*flH{G*Mv7N4~Fr{ctNT8e+VcvOh> zi{FFOG@f%o0fEQG*M-LWEIYC&gN=~t(Azr|!d)M^&&3l4EmOUP!sBwVqI68SjaoPk zo(1SCUR17?AF_@8S8nCmaF!v?CP`g->E#~r(yto3R6$g%I6X+`o)ui4Cj7UwX*N9A z5Zf%OI|}KM6Ti5sCN_4t3c=eSrvsPlq*cXW4QR?P1BAqYS8u$+Eqz2SiCh1aB_fh@ zS=vA}8d1YFXw(HR}nB-;9#jh zZe8I7N$h9nja(JG#U%tj^I4IuhcV#K5~DMyP8V@&U1XmjVI=e#Xy&L#r>kVyuqeh} zsT)r)v3ZES6B(>_6vMIP`J0N#yw{jYO6Qmh%PMOYq>c*JNkm(xscK9|HEIryX{_Tz z$}0q0Qo~O?eDejp+%-#Wv|;SkJ1q^=SW!|_Rb;N7X{stL5RZ*g8)JuQ)$;9Wh>~u+ z0q0F12%dcMO-{$-&xi*T#>;A@V#T<*i)STfoLWRRyVS9wFgVS+{5;t4SzO%R!fjA2 zny_&Up_aRZs$?M?;E&cu>(Ki-O{?Ua3i%f;!+#+rA)V-x^@8nCyo{n}1c00edq*r0 zHnYhrJC_Xs)L+4!15ExAnCOv=gl>;Fc|kwMFkbd3RCLjL$tA^#0C?QG3DJ>J@#@Xt zZVLITyT>XglBIQsVRee@zeaW>8S1tP5s9odjv1tEJX67pmOed{FEL=`5kE&9g{4p! zCkH-zM440uc!2C|CCfxlm#;8w+-hXE5Z7NwTS$lMAw3j_DD4(3xPy zmfK0<6*bsr%ROS}qBNX8986NzNju{c6)j>Q3-AA;6zL|ve;%*GN{o4L7ePy#}G?4^igbx^C`A?ZyHtQ{)p<%D=aKRWr_DwDLKo7 zQ*pbO6`3^#Rp|{|#m+1JCoXT*<&edMByLSZqXuUJ+LccSCq|^jDT9j)s}4;*JTa3u zlE;c9u|s8WwGu_}chD-sN&gOJ=P_ecJ6;y^9XS!uxuS-k;2`qSBiR+6MGDL`5d#PO zbH&?AsFT5!Q)Q}KWpyed&z_3ME z@S}A@-W{SyXAC?;se(aHY*lhZXp+1d-O9xt7D~$ynY`lk(`{=8Lov{;&0@(79%ZIT zBf_|;X=rLdABW8477~Uy3Z&kiNY2TEqJpD_5Bg{u9(>~UWLj(uKgN!_$hyY#Ft-Ke zwN<>m4zy`_ktcVTF*G}C2#O4iN}0Jkx;AQACO2=DAS6nz8J?ooOBXf|Ffs#lV3Kxu zusfjYiC#jbQG^@SCG#(aI44pn#yQF?sgj60X}DU0(|8BwDdj7eUxU+Aho%Y@aXhnZ%2>D?Lo?8JSB^?GXWDlXzD=JJ* zQG8)39?{A-9#OqSri5<7XYSK8TWT(X@U$4zBRFC**<*o2ChY9C9S(4;2DoMV`e9E@b#3*V!34 z8QIy`3^n|?&SKXST1%u>3pp{1*LM}T7>2f$uT?t4ia-N@_xkNYTS$tM52w|uVjPo9bjnq?{7RC=- zOFa4In`8MRy4itcD2G|3^1oX60rm_S{tv-q6&>{f`N!6!~MJ-yh(I;VZk(sjdyJH+qHVUq7O=KeW5BM4jEC` z%Q?}^96x@n?y)k1Y7R&nLK%`KdbkgEsHtXd z%A>Lypd-=3HGp9SmldbB9PYTaRnNv1<}@7&1}K4}o5E(SnCF(6i%Lz!=EBOEg?Juk zDox{CefexhOtB&HKVp^!|4vO4>ko4EAb1q^BIFixvZ4L}c`B(kS60l!o4bl4bIrU8 zLl?+Vi$+IkFjS!sI;|FHwlZ^5U37O0K%?TRbwS+K!A`bRekMAEsC~8;cCCbBEu7g1 zom>#h-breyH`4j9WzI@TQD@l&WOrW)CGFD;{NQDa#WyLh99)MI54f^ zEhQ_Fy9k23C>~DlP*qZit)MP^u?D86nzLCLh^LUomIu=?#j8nN)KRihLW8`M3vq#p zRR*sA2yHav*9;IoP)O4SmceL^Qe)uZiXeImhh4JaE7-o#FH&6@>?Ubi3G_E9Jv?X} zsC>hzIa-|Wkbfut9ClJlJyjp$7h-ogx7ShXRluzn8lzo0GQ_my? zbXR$I39p}!1>}T=v9lucXn0ZsiV-52W-tAPM+XsC!`ua-|n zAkWDc%z8w#_#wJt!QgGch~@sNpBDrbD@R|GD}Q|jc0|y5s2Vpyw~LevLRx}4=vyi+ zoLdOhs^Of3bAi4fHfLluZH{JK8m5{kT+_fxUCt)hzfzYq1T%+t?90HcF&$aOG*|E8 z9Af6X2yG0fxm5lIdvCUgw-Vs+o$$ha5jCP$nkYO6-K-y*5GAza7~ECv(`YVENu2w6 znCmw*_Ho!^3{#sQ|D-9k5>R8q-kz#@n^gCgGGaM|Vkt@l>YScmG8flTSY7{!Y; zI1Dg^A#jQvB{kxeLvA(ImRA;=tL8y{m=@_#(a~c*Jrqk(1dKskS(_(Du`-Rp8dglG zIe6cN?1u{dEIvbB0JM>DGUd)B>Jb;v@s5Y;y^e0HM9NNb!Kdu3N%9N!EgZxsU$rO^ zqL$RPm16{nD-#AGW0S-vmr(g+I3Q=Mi4werGM9`6_Me&>1f!TZ-W*61bI0`QxK9dw zP29W-2SskbM;Sh31%WX4*NWhzl`#K|z&Zj&jc&dO6$F zM1hN?U?AX>yu@f6lK@+r$IG@tDV9#1C9G~-j6af4Ep;KVxWo#rTVozS$Q^v4&>p4K zQur!Vs}@Ixg11l?TjV=MvG-EMQy-i^LDLWv+)vd_J{KmWYI$nl*Go~CQ?*_xlcB*h zM2Q&(bMHi}&WU^RSWXK?sm4Y?N_tL~9~>Kzd^qUh*7f98arM@4^wtnDr&C096|pSE zl{xWtjPi=Ou*oVDSMaN<=js@ydNn0-_~htOJ{Wh#D`AaFSLe!iqO2G^5yPvn4iCgM zz97?~z&#}^r&a&o_eaa4jt8X9OHaaHs4j(@B3`nJ)FDFZRlpW+x3jcTPlLGTrB};0 zbkb3vj*2TS4qoGtp7|aZ9`Wh3aY;+u!>^f-7XxtVCdv%r;fV6j$%*X`d=uZ)gwZ-U zYdl^LLd#0@nUw{|k~otV>Z|ygNfb~$Qwn>Q8&905RwI3GZbtUxjI8uYIpgiN@i{rU z6ErCO&}YumO@-BlwIFQ8DI`8vAu(Xj$r&H%!bLq5HnYr>Z`h0T%QRC}nVv5$E$M|+ zWFrpbz!ac=1tTc~+QG8q4gxp;*3{@(V*MbF|GA8XN@q?w;$05+Yj{RtsJp?LKf0mR zfGC!{V$UT)!co$M6f7HXJiw=nLc5-Nxfpt68Oj4hcjLe%EEO0zKplCM3ix;JR z4)I+DE$m0$juC5kNOoC+`{)_mNWeA(B!^O=FvviuF;$YXm?DmdC@ThQN-T;qa5*uQ zhyfBz8HbDIrd}{z3h+>g0h6npTzuduQMBh)g%EMl54DNb{1~4y!Ow(~z zC{7AHbX|i2w{RdOVC9ZC$kde)(&J@>fMsBV52+jb@kRhAL+%v>U7dm$hZJK5pjq8v zeO?ANM!`z8NvjYSpt*kK4Gyi+&7jb>^s!xj#d zdZBN!S_Oh&oW`?^Wsqdmt_pW+M5BtcI)Mr;PN>MBSKNN4PA3_S7phTmoWL3ar;sJF zu#}64=wc~KC{k2XTuOyJl!)f{)CZ`SoHYso92<=p+8F%wd~Wzq|c-$aQah9euhw!TJsE4m_m_B&(>_RxNJDg(yp zqrB+i)RZ$0vN<;SG0dXv42$}+41IXxKQC(C=?kc zvf&VSvbjMP@>rC$m<5e;qnH)YWG!xmnaj~wEPZ{3tq$4oBBmUaCV{)5r)Ve$T4z9f||HXi0xMJR=NCV?+}*-8=<>VDm0YWGJ&C( zj!};iL-0b}?~AG|5rnEzC>_7N|rW!Tfu2t zL@nCciv=0M2m@_A;*}V3J3=;>O`sUbkPc}!qM0CTK%|6%P+5wO382BiU!u|sr3c9q zRj3k|4jc%`e5u@u>>1e?^#V@k!94~l5HrhH+2E$Qu_iXQl!9f-r8pph3S04PTPXZe z7^r^UETX6@cbQsm{MU*LR#w;k=fGLBue|R5bKSdM8opp*sbkgE=bW%J`TkGeoOr2y z*&Tc5E%LU-HH=%Ad;aX|%7T8kS3dn;Z-NLcDrTs zZ4=J?{*?XO=Iwjsn_qujarVmgpI4mm(T5*B@%fEszV^uHAKZQRXTi0WLF2#u`10eg zc=xMQlKv9^%|B~SNFL@Gl|16j8E5pEHTvgZf;o5NUhAjJZX5o~w=>%sU3Z+gso z&YM1D!cCvO{Oz8*r@in-;@78LaQWO<8xD_MnO?ACL+w|8^?$kTl%0paf9tn~`<^^} z_Tk?S{rcPfU%%PE=bI<@tc>A41Rj^geTWI*A(R~&-?Au z$uHb=#iqY(x$XO>bB0}Z%Io)>dDpW)HQhOT_2&r-c3*Yiymebf-uCC+EeTh+N(b-$ zaaOPQYg0!2di;myytn4%?*@GS#-p~MZ_oOwe&Hj-Op{thef-$p{&izuUC+LS+eUrU za@|SaZT-iN@8|s^Wq3}`Ti5RTZ7{L_as6q@a&YE&$)Z;Sug0{^xEB) z{_vU?`hLIX+2=o6F=y@g(_a~PL*}J-Sw_9q^T37Az0<$Px-+LHUjEz2%|$n5-dMA@ z?vsvHlTTU}cbop$s>*K)yv-jUUefYY*;+^5yi1dUWiz%r4o)eb z+++TRQLo;!_4>5pm+QA~zkJ#GAKbj;gGb-F?3|76`1==Vt~|#&_rx>$?)vmESAJTz zZu5h+Z$0y$#ErMD@i+W3=NSJ_18$zQ>ZLEXJu~O!X)7+f{NU^Q)PjAl9jNc|^NL-+ z)bHrGC+U^z&Ppx2>x*l8-#hM$%r_@5dj9zbJ^Og}0klY|NZ} zXzH?S{_J|d^0$-)(+B1yY`rYFXz6RS8xJNNUeGvu`r3OQOt|{5Pk%h_;sV>SORBxY zx1_kQnsdi%r}eFPuI=6PZNU0o%gZngJV{F|6;F%*Ipj_-p;MAKfTm;m$fN4>#|E1|7q8IKdj2QxN!YTCtq;s zu$pT=z2WP@|J;{*+#Q1!9$NBVcl+3vuC!&`Jo31UJbk}hchS~U2Dgthk9_mWl#kc+ z>zVp>+XFW}G|YB+{Bg_AH$8G`cJBx8n>)w3dxp7B+>oZf46VE3y6mM3dp$8a@6^xY zUrG)vSsq_Dt77YxzL_VQ$4yyTn)SKmlrxTL{Zp^+FDX7J&$@MJpRJFrz3KFqolpH5 zIQ?7ww)T zTTYn#!X4i}a_GbZm-qhb$$Nhtcd4)TKx=!&lLPj?U-*xccAlb{PkL(iwc|YV{?YxW zbNa6;TbB3s!1mQY9=|(p`B#BH3(kt)x+Cw67q?ok-22^0rya~3+Ir!$8`_^;uxIn? zCD&axcFXI_Ua4KOxoUjMD)-_)KlYbB8Ebdf-Q!rZ(X(*n%{|Y)qu0_8&OG(BNHUwL`Nvv&-$_I=|&8>fv)dG`F2 ze|>Bpwc^{+PrvqZp{M^PKODC`>)>(wt{Oe{yuF`qx_#BnpW3I~dT;w@_YQAsUR^Zo zCCBaAKX2Us=y`?1uk(D9?pZs2*iU~SQhw;_l!~Ia_f5P%ao3A~-I?>_ydRU6&S=^> zb=Ub5*U$ZN+VWms&-nVq)sOExIWXwtf}8f8^<&)k8#e4a=EviINj%xKedj~_dj2@z z%fip+XodZrZM=Tus7rR#73I8l@fDAplbt&+C!tSH?x?R{7}3yr)f4j`@>cJ#pFMr$ z+Lh~b+nkU7b&n-5YR7&3KdArcm9MidELrzx>&v$cdF{6)KYw)S>z{1T{d(`BNuQm# zBmVTKUVhth&vzFOIeW~|n*0qTPTaM#;fhsPzO|uYWbVHFGtN%?Wy6q1PiwB~`}M_V z-F@C`&u^=Ia?AF!mM%Q|pXQ|-v%jkt^5%<=?mcDczRGXYhva?#$+xHN+Iho2c8|Qf zaEE#DnYC{&IH!M;sjRzW%6BI=p5E|tS>3oNzKu`$==)=)opt4spU-%6(WA+IC-l1Z ztsn3H^Y{~9+Is)#nd!Ih`q6p7^1!S2{p0whsr?t+bKbwtKeV8)>yoK&?>zP1Q+DnA z_1^d2-g)rAiU+n?pFZjBov!uo^}qd@Ul%@p<=>WmI(Bt#itW7_>x-{#SYI&z+(VOo zdaPpjRlBynwl}`SIwkqG)i*x5ZTw9yonVdo;_uUjj^1%f{-eH=-}Vl<{QJLe{M*p+ zZEdGr{Bq9!0y99&zpz&-@VEh)Kx(uUTi8Myj*;c;2}W%u%L;; zm?a-Ra5dD=<1Wu3ipkmp-!qa!O{r$yvdzhW1vomC>g{%d9T`FvEB>L@gc-RZWW*fU zW;Xj$iG%U54q8qIyI`4zlcfao23P`#z=sJ2+W?Lg5kiqV`vQqEwTX#7g zFh{F-SjDi5BQFkv4h;V!GV&9lV$U`w2|XH0_1N$b`RlM1bF%kh-K}cfm60=|Qahw| zTJhV`i2E62hbL(TgX;Ea0WPBvnT7!mw8yL-WLZ;lxaM%}%-Tn5>%f{#%+g?d{gbpz zBYp&+*b)QV*IMsG7E-RXcDmybjC2>Ohl^|t>zQ4%sK$y%)^PH2uv4<+Z^Ak#z0jv% zb{MSX>wPbZCj66lG>94*`9M&M8@+_4T$8>>;8>vSiy{NE2)V{>K-c5J?Lf7+!&*$} z`y$kg6H}n(6Jf?gM*SA3bCQo>nF!=1MszE5xhn+at*89mz;S!x7V&g#l4l|CCgIF; z;@6@XV7;NHG?-kqs0NMs5G-69=7}}^xJA5Fa)}cxLC>uyxI5Ng$t~Ws8oS(H0@= z-9FH^i&{z+`Ik8P{2KokXHdEg>*b{|qVhXQ=+P*la;0CpgT$uOSgD_c{}gpWxXiC@ z0cj`#dlzfA8$`A#*&<8?iQa4h{(C3RV{LPi{A=_`Fx!=UK+|HwtUMEH>GGa9!!xX$ z1mW#!_-us7E4;cr6ETS=0(^o8i&)dh!}w|i`r#;VSyD^t`yi@;|M#LvtwubcD;!~6 zjx6bN`lMt+zlNPh6}im76D#ZX5xNv!x3X+a2fI7#79Jlt&nCTpo=KW0YBnPCku%6# z?A7IHpgv;XmP37(ur9CPe-tQU1#Eu`gFNjdp-6<#;EbO)J28nT(fD_M68-^r;JE+9 z83fQL$2B0WjL8N3wk~Y+FmAV#oyO*8bnOtCW>#KKv90R!F5M0#R)%XlL_adki9kX8 zO=(rmeraFM8M9gq7NoN7#xcSkgsz`fo@YWy^!Yt}vkl!@`y z;l~(TwoeCi%8hYy9l%S%qhqBGwy~-&MYSC1hys=)fz1`y<+MwhW+)x=1rbmJ4ISbq z@jGK0cLP2yek*1j(7E$#G;ZDIQ41&IW~nQfS(D`jYuP19%biJ{tHgk$Yw3WVIvGON zfRAu;B9I?rfCmx*25jf^J{~_L?G+#N+Fd4VdbS^Wc}5z)VmkzJ)_o}h#I|xU>Rn~u3)uCY2(uUZryvjYJ0C0~sJ5w}yJ6 zcCRj110LrwI`eQfNI_dr(Gb1y3+`JvOG+B>IXjwF9Li{ z_!;-e#cz44&OR$lz~71c(IT;>g!ydNOy+1^?WfX3 zv<hAL`uv>A;w(!TjPf53%`&gvfW+z=1=!`gXxB2H;J78FoC zaBrdmZ243l@k|9@v-)+C>MZ&9fIm(6L*AE#^Qj-i?^Z@cp7IFshzRE&Il~qaKGCUKYAR6AoKX7e0_A-x z7UWZj0bU7GZ6(1dz|#H^X#6DQoo?`tkNKGv7J5eydQ5=c`Alk{T7LyC_nUv2lOOwm zf0xMZusKJFLJM6&sX?#1%L7T zRcN11@H?l_F=`t?v;bh$?I7u|C6M(7zlOqn6XaY^p?(ZPC4RnzXwyAZrptXUk(D!p zMh~x!T{B?p;sJ|c6pL&8+aX^E-%SO*Mf>?mEwup{(C8M7o@L}iAXEFj)9_fVZ6RO& zMn^qu3z-dx2i^ty!0u&C+r@Yw6wmfpL31*y&G1E#jPaj=pPoeLoRXnOZi%mgF@9gp zFLYcy2jk)yNoV{8G@yL&>whUU`|E(dE6u|91I;#cB&$813^YrD9w$<%X(ALOQfZ)` z@V_t0-_X^VPSyLO10W|B(2e;BCC$hX4R5Bjt%DLo?v#m-96 z+wmnDAEDN33e{ZK`yD`MT?-jmN~l#b(@$)R4I!?Wv5x3kAIz|)^knc!yUe(%&$Cq5 z3?r2ONU)$W9_WZwd$$HNY^7c^c0lfHOYJxw_y(-A>;t<*WEv?7lgQl4cL|}9*turB zLo~<_Cv+{s_ITji80l5RZlPr?)&Q1QhKc1SfaR8lZBB#i1b=;btAE zx`J&oI=Dv7_6N&`Jh!#lZq{zpnDeP*Ye25viIsa;`8&XcNH>`!G(&quF*2K=X-<|k zQ6j}8greGACXAY<;v!7qsqhWq!u7FhyxL|HKGb7pZDo47G;|E~&R0}gd4y&Yc=mrt z{1^=$f>DlD`~$;3f;Ud6)aeEj!!knr{jXxi0ckAlYW*m9htzN@;)72-!TMl zt>#`envsb>nAD_~(?DNxvK&mV8C1Uy<&JcWs$_ROSf<5Ws@YA%r%eRjONgFq$F(M=G5eyWG#q;Ne8`GZ5p}-sfda$lB7?f_X6U;E z-b5lt;bD$OJdDnOYw=Lbo7nAJs!s%MjTSl=&NijUw})AGl9!AWgttpD>z;y%O{7Z* zUe-<4MFv`&8y#48Nd4gAy!WgPIIFT1XE|1uJ=4K~|U8c?}PnO1l*_CAzV_5yc*hQ_Argxaxxt2O&Npc6NiC)Y76Pq)`mc9 zQl!|KN#q7{j>M)p=P&+dVM(8B+5Cm)D8H4fFc8|l2hYO0C~ar8;yWE#_)dUnZ3lsl zZEwISbdBl*fP<_h>6$nvf$0N)X~E*-nxxO?J6mf16MmfF2G7a$gk6n@&rG#$}Q~x#sovmHztjP6ky&fBh96Ej$KzwnJJ4 zylwDccyb_~3U3Y`1mVlz{pB6dzsi`V%&pJR;^iLA9$mzsM*yF#@QjD20G^K_t!@^v z@Ygw$@gfhI58SdWy@JdLE>>Yq1DGu#@Rw$!8V&M`(YD$Zo;zzZC#Ra)oGEf;aGO)_ zCG%y(KbiqPSnt;Xp!{!AIn@0z(5;Qo6Rf8voSC);u;V8{ndIYoppGM5sL(@8534PG z6Ew)b1lwS&YKbDti?yi-zg@_n8mMCi)KR=I3D0n5;$fm7vW&TAXNk6})Wa8M17AfV z1Ol*->mpJ%4oQ<7lW9L)n5DtQ(-Vm80e<8(k!eDC4xgqc6D0y?qhROiD~~U666~@? z#3UCROfg(*trWafq# zI_s*1o_-~ytX>ux`y`g~u^TFm?gI_8^%F8o>5Fh}C(W zPJmNnCK_rK93F<$Y|mn6hR96Is3AD;fCDRE2rAHX0R5~`p)nwF)Q+D0jso`r2Qn>C zrALFG?(hXix}LAr?ip#efd!T7LOIjKlqNyGIkrpGJadkE>?S|Ii|B?_^A0EJ=X*hi z?+0nI_nu0ta8wSGl?@;(*T)GQ1cww=W{CgAghs-MZiBCX4i{n`;C(Yf=5R?Z=hLP- zrv6tg`Lvd&h;==Nd^Im}&WZBB@RKk97WGREHb7`}gv=>U^f6eo%g{>l_JPIN476jQ z4X_K~dn;({s=oMAi^K9?ZGggyCHc z?{`3^`fdlC0G^K^?1JaH+m(5H7ub`>!LNU@CiP%F#Fcg0=c>>}*rM8v2KnuHs#ojYpU?V`FFWnuE<48RLPB=qkWD zS^hNsgZMFgm*hDdB()Jh1pE_qc5t%BIS=)Od}kFN4~FsKkkmcA-!cHINuRZ^%Ub|`Ok4= z-cM8h3Mqs>cgE3`ym>+mp*+}daRp{lwmN>NluGrcfD#D}T8k#BJoEGaFenau+`*zB;8R)xd1fi<%9ugJpw^8Ql)h_a@PfxlJ!( zep4*4H}3Ls?qbZh@{^7SQEDup0T?771F|}T>cULPbAgq5)5)uurPW!Y6~i4!}UrSJ#&@ z8hvpsqKef?|d^!A7TpK$=9iG4)h%|CI7Fh zl(E34vH$G1!?8>K=JQ_ax3&06;JGXRo97Ia=aRMt?Tv%^uAqA!p0Dy9;kp$u(qp6j zUKk;V`-~zZAEGu@Cbc*-Dl$QmSXD1ijOyjGD8Gr@r0}Up1g?!{d-+K|30eCtaw?(H zJ+T4$Kc<Uk76Z$jKRavK^OGUu!6Sti#^BD2?nD(y~mB7PHUfQ~q5a)Y=FYt^+D; zg)l10?qnd?dqwCR4bpM^7B+Rsu>M{YUfH*(Z| z$_H5g9wm?x9bp7$k4MOUrD4|-=`!L+%CtRq0Hlc+S<@uz8=QsMw%Q(%&7SiqoL0d{L8nKK!Mhu}59i~P6;x=#M2k-00bnteBV zsVAA^^4TtAB(v@U*2(3Gq=MwG>5d1>xO0zk?t8OK00Ja*A|tY%^WWB;kNc&=&fyQH zd*(lg#!mOSMK+)D@%bnGMUGodMT303?a)K_hZ>E3THXNVOZK`&hL#rmV;zf4V+WO% zBpbBuiMyb+L$7@(-RiM8mYFRTIZ$T1%Ij~1_42>Nq&776W#57aQT_{ldoPpPHVC5M ze58%d{>v&GOqZ3fEJGVf?fWINkLV8(vOe@!Jl(-IK5a_7*gC&yyN!E>?2XXNBSUq@ z719e8;5W`^&>ispJG`%gcQ!mHZeh?ah&RL2RnDN7;l00H8D|>tOI4dXUaG7wOU9Z; zq8Iq4H>*zsS9EAMri%x_d&}4eBRMVw2$Q-vtm{6|!-5AG_q@@+>h>N#XVmXTjV4?I9ITUD!^(W< z+J;>{9G8@DgI?z3%O_kuLHVVmq#Ak4DQUDZ0+jwv(zNQ`88uqB5ob{SfaDJ!&6F2J zmX@dNT3V63^FWVgsL)Al-B`dDDfgzhr+JcFh-}qHm6ql;=$i?wIljy;H2xZ&zF8+1 zhQRLe-vJUZVaB3C<2~wMQ>T~z98B*fuwO>8JMB*dDq_4<@RK>)yP~75`tC%)4k?V! zpJVxsq%Mf2T7!PSln6|Uu~wdzoD=1&eG&x8U0owx4M|gv3g%zB3{c~_=xon;_->AQe8u=d-+eC?I7skz&H%7Fcf&fUbI^$_oy$)JBgcr}Di2CsRHqkEJ=hxWg=ED?B(&U?@GJFw9I z`Z5K=N}5&jEwqo`nd-`YI}2rr1PK26{`53Q5;nFs^^`N`lNli0>e(Cz|!hngIi zdB)!RxJdx}{vW5wcwFJuI)sYW*AY)x1b$t&?A;u;1jwI zf249U=*hl`=+^r+I(&wB`cnaC=N`wP%guK9(E z7Y4QT+bL2ao#LwPBC9(3Fp^Wx3PZDK-)O=LKQYku58+MFw!OE=^vr*@-TQv(7pK80 zS!J-0_K8HvAW{0T0>zF!WIlc#$OyYkfv-!=*|G;U64}wx^e<28pC`FH!Yn}hFhKi- z`Jsx3X;0~BPd$GM^p;@?CcCEEB1#=ADUN>&H(>JBGWhDad0EA>L0>(3s_u^(3;F8d zGEM&wfb6Z1^6jmAH2oRNbxpcfq661zX0JDsBavE+w2Tl zG>1W7KzuQT$3gfb60Q;~1fTjcUH>TP<&RW(bMDsl=dR?y3s$hbT}}U=-Hc@}&@m4? zX!?4UzH=xQ)&@JEck^lQt_mu>`$&+HYeI9V6qFPyGC(9i*Pm5)!>KA+(Cd1B6j)5S z6ag%RYpiN(V|FXOMp~PVYksVfS-q}*)e2qznq{XYu$k;&GuinGCK%6k@@=CNv*bIHk{mBTuobj%(oUkitr+DK%U|fc0=$i+&Cx(KMrI|h-ksG=^t*@Zcjij4 z=<1?@CVB?oh<_U3X<ue8v&|w@oq1n0tugrTPYPu_+)&)XN`%3zK*wf85;T`UI%p} zBRh@Dw|4F`>beR1B$`I1jGl6E@4-s5o!p60u(s{?Gtt9?mb+xL=P zM)$>Dhxkpt>0PK`xsSlt0T$wwz8Srjt??0`{^7ZbPd|{qO*(rGgLeOsLCZm2--2*Ggdc`* zBZTKcct3>eAY4S|O&~lQ!Wj_W3Sk?BFMwaa4Z>?2kE?T~WPD%S!P7lyDfq}4e(f>3 zT1obd#siNfI4hEWcJbCE9}6MBE5oR39hikY?aGj^kD+l0EZ;HsT|5gD_?IMD>y%)$mcV@B#|^z8iC+soa_+Nx^+dz1#QzoiL_c2ztVcGFTaa}e^XbsCrO?}_nGrM zH9K_jJwdHo)5^Crl`u!wl}rQMvbcPTV?`OaLD66AMtiTNmW<*b7zJ4uUTC~WO0|yg zjkbR6uj+er_Hn7edYMn#WrhEIs}FqBIpF<{vu60lTR(!>O~#Kw^3seSNL78SX1@pj zH`KiYDYeG8;ooFD0RKyk`z17fdf&2kg4glbXwZlEv}@fKSzuGgPVc*`-3T_+qV_`) z8du*}+y0Pe0v->vCm6p+HPIvO9Q@<<1rjQ#?_1D524m?;OiEwhJ|0g|S4>f-utV_; znx`^o;%v|{WUpOmBi^s<-~v7WgnF7K9=JcQ#bmEaQ*1{M$7-;4?5M7GI!92#?G1jD zZU@Q#7uff=g8XFF-~JikYS~gU<+E7@W4r7HX`g8egf2}%%4bYLlCRGAVmHvd@JC5s z!21G6U+PKWnEVS}gui-SWIhJTRdEeA!n-~GEVbcI)^1kqC}z`eyrS%uZhNm8S{T#y zdcRPw>AJU%e~3Sq4E224#gD(-p9*!o;IjA5g)*r3G1u$;nf0i5C%pN3!!dhrI;7is zpLX2~-q?%T3~0wzmuS4X``*6HI!pF(iD;iKC8@wE_TFVsRtxQntoK7Z*-IB?|4VwQ zf7Lu@nkK)wi-VR{sZjUD6sT{AFQMb!@!G{I)C6W`6Y4z+d~+_i$Y=(wwhmgz1+Df3 zypum8dZ+%krR_w!Z7Jc8&FEbN@A^KmogdHmM~|E8^Y-vVk-XXE1<$-n7Lm}|YgA5g zkadC#`QgY*{cGp()0q6}zx|PXb?><=KgkM;dhd~Z+5J0((D>v5e?);h(;X;vfC+H z$Nenjk2@(vpeVoIxee zNGm*K7HxX1@!}i;>MyGsjs^L;;E?hp`IfL|t9H+B0gap9XKClne2b0jAB*yCzKCzq zy0?_H`Xj{N*bO-#;=1Y@zEJq=k0|yyq4x`gHEq4AR5f z3hyj#&=iFlCxjdPXL-iR4^hJkS^= zJ5sgyTsGUpy0?O+Lq@s#(r!~ho*5O~I&#WXK+qd)Vl-e2lO9L%k1j~hTi`QvwRqm_ zNf}D)389lQBI_J~s__WOG#x^ zLals#FZ@4N|Gqz~d%u&n9+24aqx|ISAwEsln!Hr_o`LUwfiG6q^FGhfZT*ieW%71+ zz1cHl=p6sdvQ^RnuuWd}llXQ1-z0AQ^L|oe(r4t0b6raNoluVk-e38@r)_I!+pj}v zUdE>qfo*QMK|)|FUdFBuUS?Zk(l%*#k@UAh#ESh(`&LK=dFor*u5+)+-|l-H!b{p+ z@GrKviSfXz5mIg;f$-B&_Yhm;LPN^^|43uvy2RY6T zbM9SUWOe%vP}`2orf#CMpefxXUkD@X_mD?+JAQj?pONiG*2nyQBcq<{8u2jc>F?9DBSmWXoSXmv82bM=P;2U4@Cw7>kewb&Mk6G z0!-@mrQkJy4Z%cnaVIk0Bzng=?7zLtj;k0)t*`5;^`(>7CUkOZVvaWta$jMs6?ubl zf0f7?->SZbr3mnTG1%=PvSIeq)xBLD&9Oqx=3q0;83s9A6Vu8yuk>_zSvSoGIJ<*F zH|s|E-}`=$csH?TewM6W4aHp#xNi=!n5U(USdx&jhwh6PRQz9?$e{bdSA4geLC-+= zW(e;tCwpj^bMLaFaFV#XMC%g@HgZq^Wp4fUlRMg3Lwzu6dTm8?O{ zorfT&5FR@`K>1l@pHAH@Qa+iUAxxFYIYM%-FsTw*>h>k)t}N3;xV~4a*OUl;bJ=V$ z+fzEcx}-D~l{U5FUrdQ%}?w{_^R`lB4r&Q1z(Ou$3`qxKHdSN zSB@5Zzf|Gtpn$k`VtsSZ@XsixL2h+ygC{Zr{gF!|7yAVMHpzG;wuy=mH@{7z|0kV#F_ zrhd*Dlg}YGJ;+?c=V$wh993W+O&nBmr__+g`nLqx)Uy)ETJHkWxIwvYi7DgV%#;@3 zcq{SXOji!deMo!4zAJ0KavRUpe`GlY8iIeQ>|;&zh8nK`9&@2j;h zp1K0kZl-0^FQ&g&`|K$#q+dtV*^B8nEM0f%m%lS;22IyoOuu7k{i!b@{c1?pgS6WA zCFiUx<0D+p`s&9@IKQE+QB1Pg4ifEh!OxbjC<{t&L3yK%)ML0<&r?emoO&A4Bc&ug z>04=Q1(+OYjgzmWnm+| zmt`m>mgB|U2;i?7ju)-SIB+@C@{*0AR^Axs=VxQwgb~NcnM@JuK(1d0y{7};s_kCE zx5bN^6Mpu`XG*2u3WPD*;H<$2q2Nr3lO+gFkf-eI~+&()&z^G1O4I(W+9 zxdt9X1!Fb<%&Geb)Hg6Z@Z5>04m`WnAX&=UZH@d$C)r!E8SLgM!DYD|7hA z+aQlERrZ)Ma#NU$#7CpGPQTY8wuuYH;~sLxHq~ZwX4It1zeRr#=ZnnL`86*%*{SSU zwyPCltu;z}I{C>?#!PCMA37nuTl2kCOiyKN<>s)_G#?DNBGgFMAZ`hg9RwC9i<=i#_0^%164$drb6*kK6bm?lvuqhhoO(<|)7=W{I&cd{NnZmTYRXB?jIPXy45?0pwzQgzw2l z>GD|6{iz3M*PN9;-vu@vJcOfayjhMFrmX+CCq*Z}7bLvm5{(`WSlrX&RveNnAaSdy z#F6@l#Aza=y>yw04BS;A!7QY)F*Did$DGW#)q9++=x;BAN=~f zLOPlh*lgp+kH1YXjcYHmXrO+swzPJ2E!h<;_{e_QE^48)MFbCHu`HkN zA!+-?NZ?sDrLPtl4c$WSF^S9lN=nZCf{sMj(cKcnLuPV6k+iuVON~adU%g)%4th8l z4_EiQDms{)M{6#z_#GmjZ}dByDbA$)p~vnew~&~pV1BYremjcXOc82g^ZSk^Taa;4 zt+pGDBNi^PDw8daT87%}9BA#g!a8+Vbg)U$w=*4Bz4a;O;$1!a=$_RX6-+xhOa4F^ zvEW2=L7@#7HLX9-tV5Q^$$yhZ7UKlIEhU0ams50cSLl3b>GALqrwF4Mxl5oJYh*`+ zoRlY_zeJQXlO%k7lxQh3N;u=ldX3NAKErIHr8dRQ6~rpNS7uQOz(DQ`T7O=<&LBS* z6}=-XOYsa-F;zO zg`Q^^oq0B3`p?+qX7a@>q>+b1`s<9rTn_O=f=1p?cJEDenM@n)*s?Kqg9#rwGv>7; zXRPM28yWNZV7oERygRtqzB_miJb#9fFcjn5#*&7wQ56@$eG><_=^vp{U-S?M_AMbd+n%$$EcOkYbq2`e@ zs7R3#oliNpPG%fu0k$(keihH;FyTHDx|*K6JV)^y8X^1F5Z$L!y?2q5+3pq?;OZ|T zOzR@h4I5EY$*|9AJelA%NXs(m3dnm@4{PNQ5?c8fj1miLQND66dK5k+&Gs;OVXYB( z>O$B?Y4HZg{_9d*iiQE!La3yD!n@c``ePH}Sg_ipu#3LeM|3-d#wnPD_eIDJ zfi}R>6+Q%#^R`r%^A?${A(Erwcjv(Q+p5d(BEanN4))asdJb*izJV_Fz5&vI83X?O@%yY|ifBoVrS*!WbpCz+e-p7e-KJWiN_Z{h2P_V7@B2x}%{N-UDmqS15 zVLVEc4=0SZGAC4S>4$ywa^TZlzq+|$cfB)X&#;+xV( z!DRc_zKh`1MDEB=Z=%a}O+b+``c@m&Hxr=dl#4e7EOMsi%l^+P+`N1wQAqC#(8%3E zEtNeI_JM`|t)FpsfmMVej9b&_c50i*tSHx|bC=32r)x?z&%i{Rd=mUvGSFG|l}{-! z-{-hrJ;~(48#|KmbJhBGa&EX7Yj+okX`sdW!UQX1AveBoP4spE&>-)tIwMV`2$J7% zr2&5q!1~t&IS)-jFVOSnXF*T!G~Sv}_9YwX8ChQ5NaJ7o`Bn|hzm3K}qqr>u+&=Mh z&19dAa?*XRi*wFjJcmU+kGW=nU3$5Q@{0XOHPb)Ww4l6FKbdj7neJTi_^nQ`*@$&x z;}(}KwDf@`zfdPv2FE(Bc;4b0?uHbLMHV=)-xm?9dwu9<5fyCmZF7=ZN}}X8DiXRj zO3rBL<)#?ffgB0chR;gt#3Zj?JS26A+e>DE90w#)axS$=yuRg9zO!rb{KaN^(w1+X z?adthP{H)y?rsOaiwD2!nP}j-&@Raa_7;bcF&g-YYR{K_ZPxm}8{5bJU*3;a^?pbz zQ$nTSO@ye|(+_&{8tJ8+snQ!c#Zo%$Ti-gRZx?T4&;<3)hs)@^%@ZB`t6K2P$$b?> z8uJI;S7Gz&j5_L<&j23$S4@}po2n~$xiQY{EW{-AVuFl%MCX&(>v6(`Y%51&4RNwV zfrQpTsjom@SA&ka%zs!MLA)SM^5;XqLo6sssTcw}?N?Q&;iy)wjxv@LXIL2RpA5c5 z_iT98yDNTrLOuIsWKgApLHg?$H0>fzQvs)S9an*l;WHWHGBke*y`MH1)Ddjt4rj^ za)9>`|9nmM7w~mUB5*hG^L{^v;p-NnYchf!X@pL%<{p6D9e&30EBMzhOB&;gFcuOT zWU4f{b&!6UPfup^yUAJcf!jxlXm6q>1$Vo8|A-=;%^;oMMRj?77q!VNvBg-CKrcNh z@Dt!`#Y8Xi@`o|y{t;zt=gFKoCOt}en%;v*ci>~P; zcfB9Xc8wEzq_4$QC7i#N&YU!;HJILS_h`|g5&*L{m59@na;j)$)u z7-y~}cVx{XJupoj-R1^)momPAyR>&>DbvcysM^&yn6J>VhQLc-| zbd>TW{Bw++)_86&S?%Jc`SyxrH`o@?NL{|~#S7%NAwRhb>Xy)*&O1HZ#V>-WEf#Rb zj2_0U=%uTJH{u@Yf_Or_(QAYFS^e!xFJt#auH0AIP@*b4n_!+H3Q5qkM}uo#cUg=9@EI-%^WRG9M*#g+pf^~pyS+=P8e)?BbC zk(`-Be%hfUMvWe=16{V!XbdwwjLa|s77pt3GP|n!^mTm_H-*Vt+lfrgos6kR(oP9T z!jyh#TaSUerR0_wKS_Ey6hfvSrNd4#UwYWn?6i7xa!TX}Co;Fz&aeH!ne8+}3Qtpp zL%hqWl@rl!_>V@B<%inTgJT`!^iUpM-F!@3)A3xj6*y>MeUoh>XV%ENLpX4MnB4!v zxku-x`Se{}zQvcCpX@shV>imt%ddxqc3+tvJZjBnkL6F}@-K9;yO24}L?mKTSn#r2 zenbQI-DS`}m0@-li>vw?m!4NwLJut^Wv>VmYldkirz6=GMi#(c`JUROV^=G5Trud* zpub$aGf3eJ<<_7sdXD$fT}uMJHOP1I)}Vj6mV;ii%O9vW2J!NzVRDBe34Kp(j63{_ zwX~SVZt&}9Y%`7hk?Q65BIF!Jn~QHg3_N3(x4Lw0#;j=>C0ejvj0P4{`McV$obJ-N zwe6Z7fz`E)5Sb=&A1sH9!Pd~l$teXL$i$>5GHIK28)AV9dgCH|(UJ{1?d^Z`_Jw|JGqUJmOfnR$_4;!(P}h(ssWB<4g?}MB^rBqM z2D(2TGVIdR{choa7!o`gIj1DUR(@RAKNjm-lD2DQXCw{m({SJdU2A82nw-zcEqF7M zptk*y1}u0BbN(eIwFq)eB8jfUlhRwk(kIg5i=cwH{F-K=9b_RgmEI(!c_tj_qx5L^ zYa7Q>uT(2fj@)1Scd+_jmKt+j1mAQUgtx0V2Q6DQuqWlhtkHOsqY;mSp8hj#z)ylL zg3M?mS^X%2_Qppu9nB@9{RBb;5Z(Cos5hDjrGgf)v2uxoXYMBK6iHvR@++ z*a4h6+pBfwVNI(YD3Tc@_YrC3S&>IQWLMp>@DK;rXzzU>Ek#{@WH$}R%(E-XG_oeH zyLg99n*3I9;7$%!g`vEZLB~rN)I5myH~)X}KDjlE@CK29l!gHb5E_;{1>jn~VL$?| z4-H5_t$G6N2bUrPKZTU|+b)5|Gt~SyTzVQ$QsaAEBvu?I;m#;#IhcagjP4rrP=u!H7+M6SC1X8%-jHz?Tn*V7A>W=O_if6VVIu8mVM2o;VS&hhm~fvEz9j!ce5vx& z2?8A}zZ+=>c{>WS=LgyQ6vAg!+51cVCBDA`-{c_o+1+^YrXqf~>;G{hAK|b@m#)Ar zuXp)XuCfG~oinHvd{v0h6OEtdS8U#cL2@S@z3UrtZu2uON1SNf690G)2RN0{8%6K( zAqyE*ndW#PM0uy!&$e)QBBT(0+E4p*yuaVey0b-AE{W9~AR#30jUww5Up{7A$=68! zG@9Ez;4$l=<+pswj>joL5lw=17vh~F;eu^Yqs>e1e2oPjpr;7@KH^DSA5G~VsEw7Y zs4nXTtDJ2;?o1cw*RVk8c_AY{Dv|aXnF|{|FnTpJa(4J9pzk+8=bxn-ps~*Qj%xcF z9=^2i?h5R5T!x+0-y&4j?p_PJj@(U2{H_ty=gQpjKAlJ9i)MSPWSxO?&&GQ7%w>lw zRo)h7tO9FRm;qHql<4uTOZq`cRP2kt&wmK zdt3JlN<{$gR~$~T{fw%~^y3xBVq&F(mcUB+Q5TlnB+r4ddtFa3LSCFn^C;?R5!9QZ zcCmWQS85b%c>B>6o67#8%t5)|?xIU#5;eW=EckP3VV9OeJ_W1?y;R?ILP3p|buw3= zm&KZ+E4GyFf>p2F{0BuWxFEfz?VCRL+9O(@&He>PK7(iND30jh`y@P9kJ8Q^M$kX{ z2h%@7Uxrv;rtQI=)Im?CK~Ewj|0(Ooi@5p7*%UT==2k!t5(D79Srs3i7hDJ1^yzD4 zq*Z<+XLOX8J|GL@*GRhYrq@$c*`M^Jy+r-$B0 z*J^0d8)Vc}ihmn{qbvoA2HkORm&iuu9-F|kh0A1gU(fU)b_Mm-Uoefr(Vz)t<-<&y zDN)Y{4b@9fOC+0xow4;)suw8Y6+O&UXM8=atT(_q_%54MQ3x;E7jWrh-S|?qUC3!z z?g&H7M07{oP^DAfNf_b1KVgA)B#{E|-HF9i7tTnI?GIsW7xqGpvq`~u`BnORB}jj# z)Ccr1R{qe3FgMCZrqMFBt-v&g>02};R|xX_A%JjE7smRNjO7FqhOnjjNX%B310jEB z=?}`5YRoOn{vyf0huPmQ*}!m1cK5t})2N|l20#uYup7g+0_`P?H`IL0aDWba#wwu} z$q7CBrqo?2Zwl)DtmF-_2Bl=8zKi?2-A$>CTbfT(YN5^JKPd)=v2KQS^J+;LpTh2d zJ(RoyHa_CU<)Kz_A-hIn1$I)&nRPZzk-<1{*yvr=(0b>;* zpT_p38z0uj|A$jK;+@8kCDU+U+Lhdw9{XSSrIR|l2X>~X0NyR>xwtbesA;|9=-m`u z_C8%wXSa>*mk6q-7yT`Ln!e(!X(Qdo8`(LyFBJ0-rPp9Zo-_!M)>3j{I(bh8jYjX0tTy?XP3j%6>X3jje3BV&Ys)?#T}5AAMwn zg>e%L0+`g!67O^rZ(@a18L5o%zKAST}~Tf&bl z+on8e#}ZzF5*p-M#TX{;FC<+x!X$&=Cvutd8Rc&0Mp&bt0vc!@tkc)QI(-eeuhmBV z`V5{FPfm^>TXJvIKu67CI}&e?T->k0x?fI@6kd6W4r?cj^e>s6g>BuM7J5PbjL|aZ zWNRMB`hE-h|3OA~6>1KbNtko%FuWR1l44z7E32GeCC?^f_y522%XCFwj$f)@#;S(m z7xl}O52XLU=@#mW{`TMUSanGr6OwtPxl$WbT_cX_U4}-TYv@tV)i29mKHKDqDKpw( z5P40Fco)yySX^YdL~2&Mnb)kK8`sTT+TtHXTbSnLAWf&PKzOkj8XmBO(B9VK`qO|H zKfUjC$?2s0lTK}n>C~1O-pAUSXpH5S5r?L`dp$LW3RldGeCwCAU=-A31Zzfry}DOFQU?!d!7uB{-=)Xn!Sjir$)?=pFrZtXS>hKMP{bHmB)IrUU6$-8d>|N%N_BC-4*93#qwA- z=Q4>4HQ9Ijch51`JOVIlx5x&0h5;?7^gZvdnRSg^J_cc#2e9mw(K-Rb@OjsJ3O9LB z{uWt3MhttXCAp?h_&fHO$Td#tV7LLLL8mM zO%8c~l7)%9{GlRDY>;*8v$(@nhIP#E)3G|!K3#Y{tr^MX4?dm)bi%M0+P51e>B0!b z2w8BaLk<>sjNh>gNA)Ctysln1#;(kX2(F)$QT}$wo0D_>KPe;qKPrNolXLuMl)?UH zWid6V?TJ$gw$oj#oqi>WZ7KYf)COz(e84IzCBUt~``jkG1JF9i_T%vK^jRyzrf&eP4m^_U-p2?>?D1a`)vN*$B^d;4Zpc zyZ=-K?!3#jurc6nxr`%^nK;s81ezJ#TjBfo6pj>w`vGt-1@{eEkOtgla2vtD$H0-( zg&g@uCiqkHn@G3+5^#1%($lJD&4;Lidpi{~tOVG%xAqvQ30BA7$H~O$9eum?%1n2n zWBu+~ZvOaesO4kHTE5K2;@XafcH7y1bL=b4F2i$(hc?q^=%%`!5;FErD~8n=HphX| zSg_cFs7&kLDpFY59$WJAqnpl=K{UkC1r=xP=K&NmO}^C#+(b?ItjLiZxX z&ogb-<&S~*nJbJC|0vT~4mdzE){y*D63NqJu2V?C3He>To7X;N9o|wkpU+YU16478 z-O50k+W~zw7W!(Q^a>qAr!|>s^!b@APkl1aBe5wgUs2LSzVAqyCJtLrQudBZ%&b<_+oz8Wk6Oz+M+p60e;iDsSiACTr~ETvMTiH=riWmq=r)M{p5=P#0_ z=7ka~-hjADr%K(&lpUSx7V^_X_dgnUt_ak>471E|-^(R0Go2ZiF`XHr`p;fb?dY9K zb$}IxJ}haMGTUtd7}An3m;nZ35{Btb{drz!tX;9N{#n2nGxMG;dG?Y#zf@MPco60; z-i2J&_-cFVf{^!N$=fJQMZYJ5mo@U>TFYj(u_4=u+P>3(qQ0DQqC{O@kyeY^#|40C zC*T>WwoNKE zCd6H($+A4o&y@M_Um}?rU+sM2zL3`|@qigI%<6ns@k3Z4i(4eU+TO>~7@fNn3jU)d zE33g+No<@6|Dz=D+hho>F_@oV*CQW=jCE&rE)d6(xt25oyOik|2dyf zJkIrs)mfqBI@c=M&fh9F=Oc>I`7o^OGkC;|d}Hx6gFB>XYhdp2Kp@REUUD?*T_b=V zZ~;BATr#L{^nTgwT0zvky-!6}N1pP!8VnTcuE+;li_=d_A38r_;jf}rU|H`x+-!2q zmQr0!SPsw#GXMi`Zz~oI?#9MLZN_xmXTtPE-4a|(|CXdORE0En%tZB=h?J!x9+3bA z&k>Im+&V($S@i@^8<{7-Gs#ZM_4u7Z%Cq!DoivG*GkWG;j=UfOu7a3DCIgQH?tE~6 zJc%QB8j2xfHD@8Pwb2J<;1BPHtpB(6VbgF57Ji>)DOm(%pud)bPS( z?q(xPgE!tTrrQVUW@5U5T+_lNw2&TEj00{=(X5Q2uTodD&iUF8lbo;qfU~+&x{lt~ z%=Q4ED;M!`nf?iyj(YoMGoeN6r~6!vm>I)`qw6p+B7yEgGj3i+&BG z`vKq*gk5@evrk{^3B;l|^cwIS19$|hENta>m8!Pl(?r-}nBr6ooK7WO23i*BiJk@= zPMUOMxo{CpWw>;nln(s=w=qJHVnmIrsclwMmG^3S0YwWYMEwHNtUd&-3tR#}c4WyC zqfULTOBWVv%sX@8Zy3;uTf1P*BU33K9!CkZ)Vet8lrL3_XYjxs{iWN0Co45Vcwg&B z=~<1ZjABiO-9uy1NszZ#C8~EM@ZS2|I7-%i6WgO0)M-6mDYuVR75&(qN_vt%#`{2c zHz;j|wm#N%X0Oebkp30XT1uyJ?M3>yt}|yX-bBk?D@eud*E?_oqyPP=gCl@CIGPgk z>L>V@B=v%6c<|P4Q7!L2vqAv+Hs3!dPrDB=xKO)Om>1Z~O4{MM&y{aCnlC2>pwd@uCkF0_qmGWtEyk?(Pi7KL}5Q3OY` zB05eh8UA^8?gd@jVA6l4E2@9!68&4fr{r=Q%JA!L-7pW4cKAEt$kpRHatl1~f_oHv zSHKel_oVUKUfCwPa_-7&o~c{oBcq?DsOdTT<;J`Ar*NK(Z2vSyOByC+iEt}gCg+fRGI$$2q zNw;=4#;l(E>#y^N@~$hn4%)A*P;1>iaZ&vc_#9&SUTKVpBoQ5%D6XIFe?D(^$?So6 zEs78p0GA^sxPCUj09QJrT^a~RbLw@~rii}gzWTBL zxAVr9j2$TPC8qJ=*L%kA!(DT<1*BJh6~7aF*LE!5gDo<>RTQdOKV}BITfe{-YB2G5-5goG_kiV!d-5gqMPuO zOvdV)@|h-6QFZjS2AqI#XYwADAa!bcyPB zUBwWm5MbB<`1>_@ZeezyvguMLPay6V-d<0i2AqcN&q1qf4~S!jGd^Aj6;koVSTr8z zsIC44qi2Nl6sZ)blh^ONuA~%7%1(}&El}1QT|y<^9)=ts)ycR4QVC(+ZIJ}`6v+qh zJ(1}v@eQOp#m-cnHc?IM#r>|EfO1JOmUet_e;)Oe^hEpO#qAYYdYVVaml(Uryq;)h z9Bnb6FYs#Mrw6~*xG};{xLk5k-B?l0?7gB1bM-*3r+RdB^}dUF4u?FyjAuA7$KlBw z|9VM|*~uI~Vty$$%{RS-FyD9L#PwH6nD7NqjH2l;F*5Iq7^x&plNg@v*9@Bu>sIo9 zWb$q#yC*4-52oIsjhoN&Ig$(g@C$fC;BJPs^$k5oECG~Y*pbwRVQ;ho$GA6vw{(X{ zhQ<$EX;PERDiNDO4R)EE>N-DIn+n*?1UR!p*8545-tSZXo~34W$hyxG5cc6tTWbXGyUu|% z;m)qlB3p69*~6FIqRICNsy$IP=Xi`*SNmeo((V`LG$!38-Lmt#rVM*Aq@LY{J3J`w zfPckZxPOgv9DN`y%<`>3CmZW^Re|~^p_EznC;zRKpZYSLW1IBViRi;@uQV#@tI?9r z>OMU8zPAMBoi6J$>>5Y!nIozTd-e1)rak+5`vd+5|1Gc2`aBfof0sywOSqSJ0IxpW z#n}z8^3CokhIKio3vKriSF0qdw%#)e$Lz{t_;33VU+KdLKc0NYqAw=xZ5dw5upc>V zBuCDg$z(d$k1Ob67Is`V*BW=tF2NJ|)R?v(XsI>rn#p`b=Ce#TTxJfRGj8*)JZ1@R z^9GLnni$$R%b~Wl=~p!hSCp!P86{~&^;b;C{>>7G%xx6&f-$a+FJD(~t}#|W@7>U_ zb66Fuy7PPZCQdjg+(*Id*?N=nc3io+E44ZZxTFA@pp_;^9>TJN zAxzxG1HO2MJcIdNE)|w>d8us{4*j#b@I-4H-Ko-Wm{V`thhK67d;#>A zuh-zrX__41rcN$fn{PUfw@JpY%DN<0t5U+sIvgvj$M45oD8*_R*oPOSH1%Xcq@77U zF<;!8yqg5;pD>yu3*mdh$qm@J8^UaJ;2yGZk_b7!w0M3@EI7jK5wV@*a{}HZQ7dBo zlB2v@8`IIIdXxqo11n;0)YgkQGIsz+4gwsh2mGMn$jkv8X$Bl=1{~Rc{$c`HHzo}J zPQ~Cq4^Nx2YP6c%U-r%;L9Z1a8$2F(ib-()ElEA!dAz#f;AmC@=Un3?%_7#ux|bG< zZzJ?tk7{x;D1EO<20;JBaHl&F#rA2c=b8I>0;M1X=029tEGF`5PFGdEwqqcw6{JuOJ(}Ihut)PC? zE2v-gx&wd(^N{yVZQKVm@@Q!v(8f+_i2ugCAtgD<*ov|bXyxG$mboh`Z zujnDFLEzlAft&_|=K~`d&KIqR8F4$QVjA(XVK&=fHhY{3(7^4mzRd;N<1TnU!F3P5 zW}uI5VXb$|fQ6F{b?NNnN!&d*;GxDzm(GccZOEy=O>l4GnfukrHbnOo$u>myB-Vy# zALgMLaXlnY3#7Uy$y^xgnIiKrX6}`*^t;P0j@SUS;*)(^i--_I=e|Xr>_4Yqo8Uk1 zzFwZ_|ADmz{tNDF0o~{EO~c@;LujiaRiRZpb?k+Vs^s5TXIF@o1@}NlzRRv-Tl$w+%E6unLYW6X4wAG0}G9oSBWRR8~KW<)U3hPQ9*A zgFKDZ?-p6l{tWEz1}6WQh!XZ!Dx26}SFfh2*;Hd>wVcF4i)D0QmLRUX37IL*UU4GFO_xMut&FfFOzZ_4?u6DO^EEZmjV6S9X*k_f@wP|&A9wuw4Dv}=$ry@ zDOpVipufjJirlr$GVUZ4$s_&K%0~KiO?ntJljITbH^N_7mO3!P$3dG7>ea*O$&-gb z=n((UiXKMKaCtEN4fdabKf#?XXTx8%|9b`Ds7?$4I2KU6A8g^Ia%951;UaNk%SQoTTT`o^zV| zP)}(`<^B0|R!Mhse~*Et*h)J#!M_(c14CJNbXSitLM9f;y0IR5kP52QcY@_w2D!e{ zhjiI7Didbm zVDqY-foL=xAShz`kUo`x3n>FGr1*6O^&dqghyx{zEYY_)Nq6*CW*bm+ri?9a9}W2q zEirV9knaL4Yf5QH2;vS(`psc}7;`Mdv?hJ8PR85-~x{U$iYM0yr;{I7eYc#@J3t=3f2Fqyl!EUrn zbV?R$#QY{%sMhZk)Zg^x(S;QHVO0^d>K)9^6}GA@qeQlgMx!0^Gm&+E*|}~G@;Mi2 z+c`ih?T(?vrj@OXmpcslJ>@cl5Kk zNcSn69W90b)Jt5Q@=T!LkuMU}f*78*>t4dT87hnDO#ft9%{4jJYFVI$UHvU_lKCxT zc8z~0U*VsuwGqVbVRYv@c?$ExHtLPGC$$%^-cyi_iM~qG_g8!J{m4N$m?rY?lD@a^ z8O`EuW^v`D?~QxxEbeF)_s>b+Yxd-_xFHtzP||nCo*Wi;EQ?#0^u2sf7K^)u#eKc& zH;Msf#UEr1{%ACX)$Do6uB0UIp0IHXyapS?|7HB59%vlDPvvoBr-LJDz+0sKue=4P zKG(-FS;I)5t_rz_4~)1ckfvTANA7?$^ey=RkvoV+XZ(xYL7IBmC2|LUT+lCvVP|*E zQz_ae-MZKq(Cnqk3DIGo#LkDfU3{%8z-@{~hsLcyF^g`qG|0a?Z&1mg0h;h&Oi;gw zWzH4o8Xw=5&CQP$&fDWP$$aa_LU=`C(t4=@U^w5!6&l??;dxo{c}2(8-qlH1_#X*r zumf!mkJ?HIYQ_Z4suA~huV_U5qQE^h;@+>_m>t+=#owS;tX#Xq7kP`1a1n=W#_R71Z@v+1*t2L&SVjB?>-UTl~`SWG8UXt+`c03WbDywc*IA1i<0Zf zIB1<|G29(E*N1D6u~4Mu5T2_KU$G=|GPY>SQAjlpQq6-@f#j~%$=DpHD}e18Oj#N$ zv~KYFSbNrW4qkgK_ITx3rqi{`n{rfZnPIGDnC8_rq}2@6_1H$!F7un5`gxBztQcSR zjyrn0Qx~=+PXma0!}>JU-Sz8^?8iuJnt+-}v2_frt-eRis*jS^6yX~MTgzO;xl)f` zNsT+ZqxErf6IYn+-Y4swe^*T5mx2HPj))E;)`>W%v8IF~RTk_r(47%uxVT-H!G})H zIf30G_xBLT9D2UY@jbS5Q6Ji1(>b41kW*OzbUA9BMXDG1 z6>)8G`?iYW_Dt~C9shNQah1i#xk-DdqArk#F6^_qiq&<&{d0+99QHtG<)hF8q{6$3 z^}w;1bCNz}*ag&DfK!L{7{dEnzex|OODojSC$OI{q)!rkCjb8Y7 zN!~dp6?Bc3X0X^c7W+|UI{1yi(^mKnm#&_pDp!LmN5c0I=_(di+jY5<)naYO^gT6- z$99`ywcVoR+LkEUwwsh<+l`9NcD-V>Erikg7oe?6TRt}H+fw-XR1d4(ZQa<4yMpnk zmr3u|RJZ~fE+T4C1!?~zSlm7z{!%5QxYw_Z12!=KG9un5^W zavq*KaIb`~GMFRV!F}{BA)#!JjD+uxX9(Fgk|Vdm7bsOzwvyqP%uev|{?VNYZ6$ug zU)oW>>h*uIV{+cgtBZPs=KfL9)KkIM%#Pic<}fRvt;8?FC|sNI;w3qpP`JD+DbCjM z-I#KEN6v0rGf-F1W~fP9!(>E#A_#5OH>z2~aML?(+QT;@W>*16-3UGpNX6~T9CMTS zov0rLhc;^1>n=P=Z(rrO3c@N_*sh?apZ+WP?tnGFSUn!Z9??M!UTxCw{=#9 zh!Y-@(Vi;I{}@VOJt$44SgxQJ#SpvQXrCH*1~{~RurgS2HLyS9bwUd*fNvgrGugM? ziSp>L$9hjgOM%Z2DCZgO8Sfy7aXb9~BzqiBM{2z3jo3aUFN2<3_F8kUqeIDdv@14j zd&f_T)$yb9q4T(MPvEsf7e}_J`g`TmT5I4M&>Kw$O8B$WRwgM=)Xx}4JH6xnJ;dRm zP)|?2G9{3$ri-aE=78sC-z9xS8B$eu0*`n`u{)cAM}O_~D(9=G(+9NU-kZyjoMu7_ z;QRL<`t>bW(rtAoV_TfWSv*>bu zU0<9RvdquxP*yDbUEt-w9g*AEeGo%<9vz-sBXifKs@1(?Da3W?LOS<&h&z0R7!ty_ ztRUlyB-9jpT0%>$5MwIJjGd4VGTEc@3NDY28{0FP?9qyf<1vw7$b1QHFBp!)sN^fX zL*cs-zN4jMls4(YdUpydfoCO{o*xlGo@}2)MvKoMQSi+_|GA={pp&7k%xS<8+Rbk$ zh6yJ2uZRB`=9eIRsGMG)9%qoKuLaRkHBq+*$;7+lf55EFpLF8VdEH51Z3x7Jkk1d0 z?o=ai9jeZPYec1YBBQ@7NPofKNJeFdNM+o&E{DsX)`(@SlCXq(C6pGsb!yt9jkLI;9)x zOxAf*8}~w;vk+r3NML5d_a8VTZO5?%AdVVyJQr)WBI2OA~)ep_N&4U6ah-o=m+Oczu>3Lna2FA(s3+cOs zu&L(eWhu@7ng6~Xyt9TQ1yB9?Dqh{tYkJ;BUsH&yTh3=UpLjLcYxd)gNG@$-V{iI} zd3*l7UDtIlP)4wQja8mRg6a7z;m8{~94Y=MA>TB?S`6!Q@eq!D1K)?>KNY@@ooh2&8*CctU1E(pusHmwuJpcf$M0kNGtENjgEuMj*b*vpLoe zqnI4cMmmU^UuuLIv2OrxhrAOR-VS*^(vHr@7jn=`6B>zgN*Q?pZ;F(#6-`thix2Xn zHbXo01bFrR9)T8>sS)zR#TdVe$D`?SSELBSzwRmR*ie2|nbvRl23acY*jOG_(#QX` z5&F>9uIOwk)Zr(EG$7pncmDsvzw!U6|H}V+FWyZ}rx}64)R?EERrGf`{4u=^cmCh= z#v3^wo^|Sau=bqoR8A4II{K4*$opfXzNWyJT~=6jMnPK)#Oe0C=ccw9jgR>3R7YQ0 z%xx)T_b5_Z1p^S1*^SXu^~WwQY;bor@~_N~IXpvs#@V+3O!&-C zK6ZFcB@zjI#xt9UiRk(SjP$N=6_M$@FYVaAY$kP4Zp($}XI(kuBm>tltpeW>)?YRFI4f60Ih!ytMSlg|@@$3@;A+9QN}hsfdc>iTYD*jQNW%|416 z>0Znz_0Rhk`zIXGIJ$5@XT2eqsy^2BRs=0-eAmZ&h@Dp(y7AuTOqdDVGG_Lt-J+%4 z)z_r(wpPVPuZa-#<32m(*$L^KZp`6O-=hxqA{RXovu!7+%g8QL9dOPs01fThcYE$Q zdJW8`$q-k}v)RpUMl-KY>?RIFn^Esrb)zpAZF*VW@n$tzq|rdtf3j-yC7j_X52xPU zhqpmr?8Y*;bk`_GpkEi$lr4rWysGcE)BwG2o=;PDiutYvJh|+Ni+S^@VJELf>cLg^L34XXf^YwHy{zcE074^{psjiFlvivXY^!3$D}Hp;ncPQGs<$OwmFRkWxpy zyN{eTd!9X)@r)_F)jLr(hPlE=B++5qg;Elo(Z8}Ag7aiE_&*5#W@a}SLmF7fOd0aE z7#+CVoD#~Y6++LR%X;S7bAz72JX3aCAlKU<&J>itG``vdczk;y^#UD??R9zIdfHT< zQDr-nS(8#J=4Z>6>J+GjH*Ty+3D3_REY*0krS<+_+Sgw~!%c=>e5$upl`U)Mi9l5|54sPUA%>v*t+5Qzz!PB=gLPn`;*4ri9Iqr%_tvf5g7(l03gu z%%R^ZdZ^__sHJ|_TEzhFN^l!?J)w{nZl*$5gZVpl)9&}djH-CFFeZ$A_S@-ha{lRH zW(^0F(38QG8bLMaGgjy9;#*G{jk&1TKPQ&`*4(%r=wps2>gHfhEaj@g8G_0It#_{^ z+wMf0M1^TJByuWR*fm{NUW|;1!{791{ab?yZqxWnNQ20CqC*q*qp}X zxl*e;qo{pskEEl!n=hkpHS29%%BBe3OVGDroh>ts@Sa=$Y|KSC7)u$|IFf4m@E#jy zBXRu&+F~{vp|!qmCgc7ow10sDX2W?3|QHOZ_gZj*RV;Szqjt#sXFtqAY_Rq2&{dTx%PU|o} zWb~KWh0Uvd7jYh^mi8EI&B~o+maZejtjTFqcF|Ni%HEZ!H>X|;&(d)eG;ywOcYWHuVc4qZt9eoDoe)={pG(3>qsxt~~ z=BK^Phcb`iJ&hbGpYm@eqR%Jr?2V(i?i;&;G+6&dOstzUhBO(*aADw|8E(jg^6L6N z1=@)M&4P0Ua9#{@s5Z8Wgjatb!?0$}!pU>rP19g99AGyRGl$U`0o3s>)ZG#jyN9sV zV{lReA)Vr#-K~p--H1O?>cqiL9VOJi1ud{Dfp@&e@F*SpVof$3geGQsVDVTFbA?mf9Z5R^@6Y4N^c0ThnU#>C+{VQf zKm%cnnB2d+zXjr~Jz(!x>qw=Jj`HQ_>xazk&(#6B-VnH~MK7jFICeAqT;=-%7RrSe zhEe``#0p2^`{R$R#U`oPM*2Mk~|gR)bTx>I=u(WM2k`9lmL`>8NjsO!jYBm zdoxAK)U~6t2)Z zxe)4B7}(+Ej}qIIvhu@tdc2)*>beBbrLGGSaoimk7U8bS4;06oHb`+Kt&^%kHpcHC!SEipBj+aDme`fjeU(EWpq8p_drfj61=GRXTqct%;!w#?wQlaePJ zzdSnImC;!2N;#@`=^J$}<5A9~KTaH$vO!HI7bm5;Vlu3}_fKxp_6<|m-o%`Nv!Sz% zum+bEJF?2qDoysIW#D(RF$esDj*jGAmmGGZcJfhe_t3=7K5%yQu~*ca=29L1jC_ z({6GcP|#jd8gLeg=#vSwx5-JS#yjc@185tuu*}WA?lPh2wa#^m^abt5%b~qSPbS?d z`#lFzu1UT23EtXEktpN;P; zZiwYxH5;BAVma{5fp7LzZ+K_JyH#G9o2jOx^J==Tv_;4=HssTxKEXFw8Z|17-VhW0 zvtwfETf5IJr<(snG5>uuggP87ZhL|iAj6Z&4Z+gM37Tsug zW?gaoHK>o!W-|zFR{nC6p;bS`8?!F8PWHxfmwID4@MJH2*V`fAmzxbW5Y=?O(8_0K zNrj^vsvwAkSw3$}ToUqj%X)ygAoBU%TpyG+d@J}MTv>DqMV%TkC7TNLePtLOLz|S( z_Yz1=#(AYjBEo9ozC)_^-X_h=)iq@Sq$K}l>1pqcQVy*#T#(E6&uHPshymK7r%$$s zy4Tvc!q?ll$&MCL$ZOH@Su?ZL;PiBP9<<@(E&Bfw{<9>ko*AhI9HMV}2Jf23xaq{* zh1L)NNrm(PYZ zftJrk`wBQ}vY>`(5W~EBT7A_p2!nXgYZFn9B;<`s=vThq91sJqdUIfWaZ{WvJf8{q zj*@jFQbzDi=pG6jvWs3H6Q_w&(gHi6UU@A7zt5|(oZa>Mrv7{_k&rirxxUBjN#MI- zMhk(_YmjD+>>n>Mf&fzUztrq!*|T4usUv2>j2VYzxs%X{*${eO;-+1i+5?@G3bq(& z_&ma|{sQ`d1Nyq!J6N*r=L)k|Pl@24LCS`HAq6qnIt-`_fB9@<|Ceg5ZXAYr0L_+y zl)xR7j0PI{a`(`uhCbs>IXe9oYfNZ*e^$ZK5tMW8Xw|1^A??RdnuLt@p=Qb}K8leK z+(SvLA>|ow+R@yY_yMMBo|SW4OJy+jhpNZ8E6Q`9^76-uD5MG^wU8oV=@aN3^q0Pm zlvMmPPNY6M%lD;n$1I@hrx+VXP-6q<+^6{d<^L1qWbE;eG}`WDEcnkJ-`nj|u6>3M zrOT;#_tIFJX9!xfq*gka4i6lO6--G)pH39g)Xpbv=PIGsN^4-Y6$bcFR}Lv4>iXdF zkwU01$5OjyqaXi2IW}r5?La|a8nwBGkmXG8@Ko{zF<`DbdVMIOO zR~HY$dQT=8*OKO@+84Hh722FMFf1 zuGL5^O*~L|RX){Mr)afo1%BaKpfdE~6R`p((z(Uz#$YP6FjBF)aFs8juof`Y`v3;> z!jYy>caAZ{hl5mn(LhfPGlV{B9{0w+f^h+JFnc?9D%F3L9Gm-WVRbx;AIm(x<(4*$Cs&So4+->Tc0BL8{a& z)*^zuqt%kO6;odEn_1H@tlER^VtBdAw^h-F5t=Gr(DwrHt#!(YnAp^+q^Nsi{A6t{ z4EwigG<9h@eWp%a9bT-brqv|Gw1mM38&UDfzQ^e!xn>G{Skvv1E#BN1S4x0m8o}Cv zVex`?`Q3VQ=-lw~+(cC0D^hMegt=0s3BD(Rj=p>t(9vT?jn6oawiPGAdjBY%g$>-i zD^}Zs+MTc|z>OGp;k|m49W{n|%2jsd6j3omRJ3S*FN|kHTcT(^T}Ky=)IskVLSlF) z_NIw{v2~c9_1|PFgmkTD!*=MuccK5ny~*)9Q5&xxNL+ZytfGb`&^z0_S;vJ|GslN- z&l$N?@GV;!@#>{Q?3rI<&-~syUN%9`RI#2}GOMa#D;;)R7dBKufAKqVxYe&NMZG=0 z4_aEydY+E)iLK_efA62Pl$X4nvZal)oSGGA6vI>LiC9iujjvV_!g!uCmDc#y`Ce1B z+U>;oX|Da3`H3}rH-}5k&&hNGO@$dMREjV|bs>GL*@CsLZRL5QI+FFp69%ou(>rGG z+3g*499o6v!ms4y0MzSXKJKOtXi)}jI$-|kRWQFyt$dmnYAb}f!c0jBV?A{PX{_=v zs?`qSUk#L>{4UJLMZO^lAHErC(e68_h|INLA>%|GBTf^JyAReX7WJXTqZ74phn%;S zX3R~c86{8Dt?}J8^oGU!oBWHD1H$HQF_(>O&Vv~}H8v$OKC;t`ysqJx0p^>Kv}#$kvt z0lx3S*PX7&A5u%r7s|mlUpne#%Yyu_O#kjXOAWE7ZAz=&+2%2tZKRv4Kv>c?!9Qmj z*M58-q_`eZaO)1XEr#zX_?D)BAXC+8RQ6VB6j4l@J!x zzX4$nfZxWT6H=~9e@yzI{T>LvKRqaqqBq9GT0Ga|<&&}E*W*5Ocxf(C->eu$iG3c7 zuitkUMa<#tt!A>`yR$)n)*-eEx(`}sHRLHnK5No%l@7K&n7+2-ragnzAk3~!|4VI( z)uxKnwugm`(E0E2{%)yiriG?as*3vA(AU_O z*n`;suVpjFo7r;eelx@|x0UZmi`HX>~L z<_<4f94S@Dn||3kOJ{}>iq%^yIQIsLcN4WUh;c-dPBv1hP9pJc0+FVW5bAhZPc;*(z$r^Ea5nti^D^doA#5^p%cGi zJ?H;n$b(9qF7{$$IT1Lu{&YH@mQ;AhFX_Z+nFWqNE~!&j*_!JjJK zO+VL>kIxZ{`a_3~2ftxutv}T1;*iHrU$*NneEE>R1AT){KU^$_jJ~(Iznow0zF5wK z`tGlCH~b7`WQAEg_c#f0&h_rmvL(D^^*wGoe6c@YoIBdi0~R^;$Qqw1G>`6h#28xs zh#};7L?1e}Mi<(#Mhq=qBZM4l_|T~hTxiDz5^@9*(Lk@cGT6KkAfPI*FI86?AMshC ze{j@rg}2MlYi8gH1#6Ad_^>GT z*J&mEllw0I|FU_oYBR0vSOPU1tXg?aO17mbF6C}$RswU^_%bG2H+%G%UtJuNs^Oil zury9W2zduWcA)uIh#xXn;LFTsTsyb+u92| zcC+yo4$*DR`(bQ`cWd|RpWl5k&L)WCaY8IV$)Db_VYim&7Vqif&&0T(rH!|&?Juo5 zBa&Wy6O?unmMvjPj zj)Zj_83oUIk%Kiig=V3QG$otRI>EB!o{H!fUE*9G!)m- z6lvVtnW!VW?oW{O8eiGaMDz%R5B*l>L!Yvt^TP`u&3oYYS;P1ov!idktD$f7^6Ljh zmfvD_kB~HhCyo9*H3@n3 z@^+wAHCPsnY*mswC=F!Z__OIS0#nKM@5d1mPbY`Zkjlen@V4;?noSL1#29Y*)5NH> zkI(UzVJjx1BnnsTUDi5-`xsm|Gar7yhv!gwA*a=7ENL~FoI`&#gRQ81=Qm^w8N0Z} z#G7P{1!?d4TEYDT#AZJ#e;m4Y#+v~7cCYRj8NRGl$8nd>ZX<>}jHNA$VU7LM19MtF zU;QiiyUFyelFiOUve^v^5xBQ)OnW5S)ZuGM2ycE$XL)8rP68Mc(H9dZ;Qy1e#Bt)R z2w&b|8tDBuyR>^1@7cBfAH(tK*;*L-@U^|Oi*7fJTZ?t)c$(3^4LoI4am#yC5pH{|BT`JyayOGSyy&#cR z-JtEWevpZy4f4`KUPY{(ijq7u-d;{Y?GJAw2W?2+yGD&hyyeRJf;l8?NNORnsA_Dq z9rg09?sK}@WXGEE?w{o4kBoP>$~zt%?>-}+`t5l44>C%V80}t)xOGQ@4|A344|%C* z7u!rE5v>8Ab#z+NCk=cyCHR-t(+l-kQ&QWqOF zY2c?AC!7PWRtUWvvu=MomRa}wnRN0LJbcxg+P(AVSRHLidnzyz`l1(l(Rwl3M7F5$ zgPNWB^!?fXL2RsiRJV08-R20)0E}w^j(yOHyD7JOb}iy(56vpeha9H&=tlD2;w|I9 zCuSs1K#`-nD@I0NP`pfEkO=(Plu;MUO+-)k5SRW0*5*(`n1g5g?<6=It~EOdp1EFe zKu6P<6wtFVLbNm2XJecv5&aZW@+Sh2@+IK>&g|{y{U$OiwWOhLWIx{*o4Ju5jgjCW z935j^asBy;D+Hi=_-Q(~L9^c{==G_owE;)jU1j3s*2|1jtP@(~!)IdaZ;I)yWZZe_ z_JA$$uGiHt6>564yHznB@I(Z4=Z`s&!)J`eyhtcjdPY3$gi+JcdTGknASJI3PyA=fhJ>~j|8>NFOIyj(_V)c}+E5wqIefcvkSbjl!RIrgc#(z#@eNH+pqx|edHYyFuo7w6k~HJ#T@lAUqX;>xrq-@_9 zXpLcs!7+>VtC+a`%?MX*ZZjB=D%IzY^38~i@#tWkTR_JJ`l8LtG`o`FMiHAGWtM)`C)$f?${t?5zRyr=r>K{SdqH1|dugND z&3;|&R63tgFms^Q7PL--zLnu85&pP}iakAhn}6C4#m{@TL^Bsz(TqN^0dX zt6Tc){dCCiOZQ7A&wZLsE?IL4>{WEZVqtUsHry={^4wcde>Xx6(B~oK!;_F(`*I^9 z;3-~>^``7G)Xo6d5%PSt5BOvZ=+%YAh@(t& zTO`eHv&mmIOUK^4gmMv2puJpru}1D>jj%tQoI1`h!xf1o77xda(YGpi+swD0wY647&jr;Ue!3s=85 z%)$H9!#un{Ih^CbGkl?&=PSKLE@DEU~6&2s$%%7{}KMc#c+QHTi4R)1}1TW(mV#hoR77b{G2eZv#pd0Xxs~s(W1I?!Xu7_u~6XpRttLt-A za@%Ox9hggxoF$$abS1OCa6=0TyURqnA(HOj>P?f3g}Y#z`Hr^qtgT+1#Dfnn z;cUw2F%8&2HLC}Eglo?CTkLHx!Z^{xWBeD`-2ROW|Dew7!PIEGZ85P!>D;t{B{U4? zs1=v5R=(Knna}OsBOut{XM6 z|DO5J>ApBV)NT_{AHM%besfv6f=lun!}2R<{TD~asc zNKsbiZYB}v4s%hm-D>ILe6?!&rCp z<cS7>d=a6-59io-}fugAW6DG68XKq^hKkA#(H2$W5_Yl)Wo zp*XD7H@;C8JFLaP@R1PX=lCF%%;RKU-8B$nl;6hgYp2moFo(7+=H7G%(qT^SKZCk# zjBg@jyU*Z?mlm!TxG!O5#SP*9Iz0*Q{yGKYlh~~K?hM*0F#g*pUB#>&_17n-I|D`m zj=j&aFYU8(fOiACH;(%FHSBQjnSSgrjv}4=2Ez^|@r%9H7B@0p2Ju62_C?vSTsq8O zNryqc>!8;(3uV}A#Q?`6W&OQ&FF?04uJuA9x}?`ZCo>CWP%`TgW3orA@il>qHFzg( z)OzG8(tv$(ChKCkHFOf-rAeBlQkXG_m8{ze11@TSIa3gKK-=WW`6Wg4VP9|b@kEd| z*5^~C>POB=MCZVW5Z{^!e8KP%)N+|eIR}Qh0*UArpgsCEEsX*w9*7IIHdxE&(uHgm z{vO)iS}(wyZ&gwO2a7yvl(Im1dU!hraPqD$;`mY1$OG`JJP9)W;UZBHCkRQrP@b&Q z^mdIdNvF<|YU=bqj9O7>CH>oC(Vn&KM67r_*6l>h2hz@~~UaCmNV^XNOJ1qv;YG=MEd3=|b8YMZ7*A;t0#x2UTDboZ8`R&jUn zu^K=TUu&VLKmgIMF3;MCRVr5Swd?xY1k`O+w948GEsxvs$ZeY@-#K${+Ms3k`~AM} zkDJHLoHOT~IdkUB+?g{QRozYLVt7krn5RZ$gLDjHt4z!5c?;SD#UftQB>=>QGdxx2 zAYk*xL$8kXgHtjW)ekmwVPsas`E+u>{nbbD^WwBm_aoIB>8CSz)4Cq0 z)%$c&BkloN@n0hL9p~sHsKq&y?SFj|#v{D%8pp|D-VEj|{v<1-(D(AteSCvvPmX{- z?=(uR`7jfyfSfnaC}U-rH=fBT?iVszDMycwSzSDgkFn~0(CBgIJ5!{egbVunXA)H; zsI4~cGedvTNSkDsLxKJf>r|k?Mv;bxfd=qJ!Meo$qISEi?b|6DE1i&WbXHDgMCvUz zMf7Al$a3)+9IaxQuQ(}hpf(>S_qTaO*YwP1Tnq3eXHXJ`0knmaf?x={tRmUNgrC?<37~5R%U;X`IYsOvfRW^xx+*%%b)M}NM^3PKN!I<|I{UoCR}DY5v=(Oe z6Tt3HqG@0Uf9k2JSX7bgs9CbFr=yeW8I((M{^754>`i~Q!tc;*CKK{}_Y9j^boG%X z6)hFFjl9|ZxAs^=lHP9*~74bb?j^k(bMgwxt1V*Vgv4360*uY6gLoF2=X~#)~{&%QlX*h7MOIaZb2hKEL zE5(E5eY|cH)l^~mk3#Rw+5l}(v-%LUIKJ0C2;X=3u5EgE=F|2PUsBUc=iPIkw$JlP z6Q8#K*7wr+$LE@+K5b9%H*_3IiuK*nQV-=GV!6NbDP?c)d1vA$>3ntNYlyY;6*rf+ z#qNfd-ot9Sa@C)jYR-q2Z?XTr33K?vd`D%WDUZvU+(gD)L2o@)0~kKX+AoCec^c#A z1Ad*4>!>W?&L1j(Jb%M^_apC$o1t8nPp?w>K2X(?v`>5 z^E_F;?>u=#(=<%FE{XR&GkegnhV$g^Za<#Og|TbZ{tj)@SwFeVoS8>yOZGYU5-5N7 zX%R|2BKk|ukui94+fPt}v*u@lX2vdVX*hrAkq1Pi=4(G0b6UI~IP@RkpyzCAMy~EY z_rxD^9P7mUAU&b!jgI`=Qkw2%QaHB?CEu|s2ohNBdrQ0%Qr}>Znr7^Iwd~~fZm7)& z^k8k*&~YtyFxX9Q(%I}@!hZi{rLk!d{1Scmi6@?2&L2dVn)gT(-vRU3JbliZru`kd zq}6`xTWT1uS^D|iQEh$Y{wtLE2-1N+oy0?)6SGn02cZP%{jH$$J5UR=d>xIpqm z+Pca)6Te?vb@w?#CFj83&#x+NOMUR~GGA9P^Y60JjcK2+B%K>pzSNm87ys>re|N9c zPQ~AE!|&TxYS{1BS7O_iN~v7hL1O7}VO+Vt%ciQ=7oA^}4^V%XCvQIhbgz+ZmHE>7 zmHLk9T0DJerpuR3TB?yU+I5WHj8$WuTLIroD~Gc0Z7VTe-GbgtKUzQ%kDN2Uwx7MN z9<~xsEkAOOy!JjNmlaYzb3UG55EqLptj0UFWs%Bc9kH1-#KhuesxdP$UIq*Y zCIf*y=z|z117pRRj3ggpWI#qf#?!C?KEUb5J6CYNg7>e~0xfT|xFiH-i1iqI6~4Vb z{J&e=!P;+st){7_^UQL-8a< zr{OHTfy< z%*X%t*YfaR3;*5AKMPsix!pB{k>Etu>vR<+b8!mi}-p zYVQ55Zuaj_wV8k`2zX6R8qo5C=kBTnysVz`TJ42Z%kkIkEbSQUA=jPzZEg76q*}g% z6xN(CoR2pn)mlh3nfJ9~KR0C-v=-4B z6jOBSugpx+dOh@kg+4`hZA^E!x6XpJxxP5CMvsBjn&sm;&K25%1GqG$2E4!f8W|`k=vdnGGu#~o@T4uMJEzVY>WoGN&yrpfk2%gH| zt3!deLcB*>jFD1kt$Fs@3X(&l$K5!m@dqDnnM2z|jEiVXQ(|tTUSq5mTQRA`*e|v+ zqQv8zIZukg*AzQe4+yD&q6&)6x-N6rQJo-I$;K61W&ufAinn)fctyYAeN zdr$uCFn=e`Fn=RbbCZ}aS!OheXkB9b8eENou`~6Aui2<|do>WMX4-|jFar5)T%-)kjf z&WWXxKJKocp}pfO;8PnX{A{okxSpcF``H1qLfeBpO(q~B@ zZ8)Ap9)kzDgBi1R`J#P`DjTP(eqkQ-3-6{n@Xd(@V}nki8JSA7*yhsj-Cu}W=QjH%zJTg`n$&eN zyH1V0$lmu2Qr90It24m7|4#b(DH4Y#&oSyW%JGKoo{DVx?jn0cX%6hHW|J`|O90pltsN zc*Y3|rpeCD_BnpNXJ3c8w8U>7ozO8khFCIbF%1TG;2lc^cs@NGxHX)$kJ~*X?Be+?jWInC8XZUxF;91M=2Q!{1mcKE)(xpSr@{Y4E~xP+9syWL@enH z%VFR1qGl6Pb_&X1iJZ`~hW2tY`mRNVjLJ2lq7_FWzeD6{471)3y=G+JD_;A(IJ7RZ zX2r%^Xsee-gnecl* zN<1m#VtRUv$^F=(q|I4s)XjyU5p7*$!h9b}eh!oT?60_;7~g(-P{(cuuPNt2_I5w6 zZG{5QL8{qn0gq$6-#ointSOI!++4rrMT|pth2L8KqJ4am8S4A87i;zR9xDgmWvNng zC~#XyM_mmQDdsI?G5?$V$I5@tBy?<%SBwSBwLbj(mygTcYTv;=U-6-DBg!v{{Om6E zc5iYJ<)TsNW!GvVF|*^rCJ=9O12J>b7cyuFXg;p&Pg1IVg<(US6tMaP78SIyGhi=UHi<_)q9qoezmRxGKAVA(1k zUwUlmA#X|pMvi=5e!1eurN@^B11Y^V6}y-GSaH09ljfWjyp6}FhHJZ#~QAOK!lCe!RZ|ux0ykg@BVhvQ^Nq_^Y@>!%lIP38~9E ztzoMKz6Kl-FeUyp_I8^Lx|_Lc3HJD1i`y4P?g5Pjo$<*!*0)E>XGMGqB!SH`^y@A> z(}=p4N97D{i~%IhsoZh$vGSW?OtUUcftDgtSGZ$Ru-wn#XsLXC%IGE1w_#$fSrV~LOgb|*(;wt>Ro6Jz)^$17(o~R-Y1=|s zTZwB3=7z~77}w!oIJG6Ffs70Ic{cLI$`wGLpIyCSOz zMZo_YxuSy0Non3yk?DB7=WORqg`gj%Z0|y{&OYVfyx~~~N#;ah9nAA4xrUegC}z^r zBFW^}>DF^OLz>f^cA7J^@Wq2w_|UgYba;6d z-DW<_{IPX@cj}~w;{fh}Io`J>8Ik+&Fkx~pQ`aa)fgEmG_Zv2HbUB^?Yk~U$^&e27~AV1=${_#{a@99JpSmn3I#KvFW;LfahfOX ziz@U!__rL}3fsugR8x`T=wFYx)z4**Xs)R^o;K2(EAZ9$Ue|rPD(>hB{+*U^9hra9 zmb0bEc(A%C@$jt;KgfIBhRyl(8)lnk`Ha$*a2EYhw7EJ&E*syf=QMBij&b6S6h(SD zxL*1oO77~gn+gZ`t+~P#j+@gzKf&AZU2`7A{)n2=bkfZ{;&lHIFYg)QxYDJJVBiB- zYZiYXV(D=p;XKeQ@Mxq%P`*|CK_2hU2TAM-y^eZbv={U|MvYqo^B|OYs9)ZC=Fdd* zok-7ymIzv=?;zdK#rnQ76w&u*3m`*p4heu5c2`&FZl* z9T>@UAl;uM*lE8dnF^K!>)=mnJUK2MbvGO<-@aIpZRD1QSZK>PL%P|Bkq=$UW(0dk z-#dYgK-+q@`nLhRiu}>q+9&9XWtkM?FXag-;N!j1T_I>TXmhNrznWQp9pTsPo<~Xb zOq$Eyj6Mnd=}?1abA|__-zJo#sC{@4&~sO4BF(2psUk$OI{bSUOQN1xg*STJMSOEE z0)45hcVP@Er12J&KD^f~YoBFbzQAW${5zJ)4daEB;z#W<{+bRKF=uI;lS}aKvC76W zLzn-1Bi=Qu_mJvb)_*l8!Gi$5;Is={cgK?UMaR{e|I~X-#5MRIpk^HZV^#m}*R8*} zcZtBOt$a&wf9v1a8)@xyUcbeM;) zp5aW}_Ml_tck2btG%K4_A&ruH)`vk}y>3*Apoa$1R}OU!!41&6onS0#BaN|N)K1lySekM~K?;8|;rJ^X{b!#&ZZ^W>{HJyVd_bHPPm zn?Xvkz_pIczUpEbK_QgUq@Ww-W4VIn1(cg{D@sI>Qw+!lWmDParfVC15;$sdzHLuC zIE)%SYw0h?1d@G_?b~_Br-#o5-zHJ>f|IpH0sXdbO&V&+cVg@m0~<1vlq3F_vbB3VSRmB zPd3H#Lf#(SNkF8xddy34baC}85%j7JxT&W`P)aZ88As=WUF!|}C6p^1a1m>d%g|xe zelGJczGZK0E#Y6OY~93Xj*RJQk@up6>4F@pyNQ5EW*-k{y({Vw2#Y}i?}@0eKD86 z>*Er6eB*pHkCTDN$^RdDT&wc@hk!?e%GV!(M~(WsvX94|z5k2HK`M`t zx9>!n`wQ*@-50l^?_58B8|eh#Z-R1r$7@e1^U3W?fw#$3XycW4|Hv0#TkKVOa$beC zLE-N}g~DH2cNvU5MEb4Dmnn*`Sl}z-t?X%Id(zo{pJ61O4tz{!D?{Y9Clx;2OW7KOvg-tSI03W6 zA!p5V)de+J*(=M4A6I;vr&m!4!)seh$wi4ghyVwb|H zr>mwfj5G=EP5gM zpwc%C>dvn2@}@rCQ@hRTE{e!HdzQ+-v7Shusc*c&vNjkSx*xse=wH?{1;4y=5uch}FqknIzUuB2B=KkX>tHhHk`2C$*bKZR~-YWg? zzF&vkFaub87lXj^pSYK?yQu%}u3+Eq_mynKlK0|je#$g%Tz+T0`}SFo;zG=?xwRcO zJ2y=a={w!GG00aSZH}7uqWfkjOXgIucR>J^k9RNOzx9Bh9~7zMDL3MWeACP4Gg$sA z_iVuSuupToKrOYxH>(6n%zN3s+{d3^#q;Og_tn_(mibD@U(f%=vEBZApS^gs{dONY z?>50RXSMxSAL*#f-+um!{MGg{-*m`b;LC&0dGNUk#`9@VM+y6!i8n*dGfk?-on1f+ zH?7*v!92+B%bj&`nkIXS?}}ffX|pHza(_KP%K_Hdtd7M?4?^M{!;jR%Rv zNKK7qNIUPt&rTnfjDh_8M^1~woFp4Zx|1TYw24Dz9%nHuVGg5F-skka$ARBTc;`)&k6JL+CFylbtkT;Jl$6ACsNTVS=#)JF8Q(81Vd`B_WfxpYe-6V6Sp1=da_)MLrlHGJ!K+B*e7h6d& ztKQ=T;Ng#9Zt_RsS1`Y5fY!4zngk&nNMrHfkNb_AW)>Nm4IAS}D_HoR81jv%P_na~ z;}mKHfk@xC>q>A3blO3lz9DK$K2g0vwx<=Ix>J3!Da@b?pbZzWv2`VAW@LR_2eQ$I zO-+Fe=}RndX(clJ%i z{WKV(BuDG#H*ym6tt#GQb>Y~0Pgjw5l5?wF=QHMRWown;z>E;i$Cc4!E=c552w|zB zO-bggNmu5s$Zg1(dA}nQ^vEC$5684*!M}i*HERmY;~#KXK#v~o)>LUc7Gd}-E>~0i zlzr{N!SqAXJS&%40O|opPrw~MCFYJ8F^g2=e~XX{P=5>`6ElU0^ss0ZFlwxgYIgIR zaLrBQF*Ri3p4Y=%o~GI_>Su3*XA3-kRo4ehs$6xd?%{i*4JQ>DANzz5A3RgvA!Jl7 zAzR`12&Ys(gpOb`H_&*tQ%YCOfkeZBnIT2yKlE}IeAn08ORN~BUb~Cm4YN9!qlW{} zg?OsnxT0aY7gy+cpEhp`jFsWQ-+Fa@yQU1%^&w5k1$NV9gf?@#LeofA|Hxm|&$Iet z)cRlSv+* zXHh@yRVcW%cPiV#S=g%s3N+Q^goqZ1T-~erl`Q_%i?YxRD2pG0(Xv?6`%77D zIPu?TNM$q>s5JaLn9684AJqPehG!TJ+5u_UdJzqdU(sMvX~0;jS{M;v+_K<_viE}6 z(~ag}V0qZ=HM_!r(_y^#nG^>_)bC)R>L84b)&dto<*>J&gXuWt+v4uOh#kSznrS{I zYR$@^ewS`%CC0}L@-*v!P0(*zYae_#-lFr26N(Fmm0_>GqBlq2Y+0_=c5+zRBd1t| zVL<NCb0o(P-@!N7ODxLRi@W)V+L5O!Z9v`jC_YV~!9-8zn(ghyTl)iB7N-SH;%$cb# z4&IgnW4Cs98jQ^`vX-rzbH1V8jE12lnJr{|kKdGO?;Ly&zdpe{oEkQKF2}n+ms7WY zE~ix)UkC?^!uXDqt17o7IuoNJ^9~2v&dbV4i@3gBz0m$W%1v(AZt~9xog;wGT`R%b zmtKA%sb%|*e9PrOCz!VX7(+;VOaA32Naglp#03u_XIk8i$1#l?AWbtsnikTukY<|m z%umtj`~YQjkj4#ARzE;l!zIeb3{ciMKw9hoX>kLj#Sf5{FhE-30BK2=pwToy+2jGz z1`UvwGC*4DCF&VGK-nReC_D5L>1hMt7&buK@Bz}&2T02pAZ^3|X(Ii}g(UqTjRE}_d~FOh!PCDOAlk)C~tddERJKR|lU0JM)EAno!2(k2X$ zcEtc`wgJ*64v;o!fVA8J(k2g(cI5zRR}GLx2S{`OA`QpxDyo06PL4lB#_TELnsCfq z#;pbS3{(>GEW;=NWN6HfWZ!e^WB zFLs@Ov7i?wIflE8lTV4XsK@_1;Z5VUu7H^09BxTrXSul1kJoK2%gD@Ov8lDyFq_y7 z^M~Ex!2U4rsj=%1>oyZJT3{ns;Nx<7x^^=+86ygAoN*dF7(APv)uPy9o%2Bl%;p*} zg642xmA%{N5dts|f4>(Gd*OO$W&H>`WW=EpB*oILJ;zH)JU3lGeh|zoc!}rvWO&Ft zIVJzl2~E+B?3*v*b4@l=POHDN@z5zv+@Vu^+<8%|f0_;!h*dvg4B%NOAf}<^h$|+7 z%ZRx0>rF!Ywke-$`Bs;I`ix`dPNP7Zr_7dsc zE*;xnhEE)Dw&A#zJOXnmRK2#WL;A6^(K0V@#ePJ9O1}cP+m`D|PjZg*v_!ZWcxg;Afft z*kE<0I;^uFbo|+o;mU-(jY9E0--+15U_-lWWQ*408D3*QiSLADvfWA3Glwz1^k|6p z?6w=4@TM!inwxxfDPsIe)OhC0V{F`&*lNcXf3P&erI!M|X8NV5+nmS7SH08~W|77p z|M+{QJs%5$ZwzhsDDYDW-*>^c0FS1aSn$5g7Y~qw2YSQd!A?{CgO0%^>B2(}ZG)+C zn6Oz`X&>Ql7T)&yUClxojdcYB)4LOxevq6~{&?rHvYX4bQmQsJr`0C~{?n!G#6Nsc zU%bLm;QEi4LYu{pdkFdZC?PMyw+rZbxJOw>@X)(U?sh&?_mBhMcXC-b$l5C9*5C>! z{B|#Oie-4WN4{5+MWiY>F@wK0ITZLdbae~*@Vi4KtHi$;sHv9u?QgU5*X)LJ@Ujne zk*r+*0`OnB%;ERwr8~ntf%cvxT&@(3@4g3ubC|-7RUz{f^IN<93*v zbP>rD)Jn6v!vQWV1@33J)E@B>i#c-&o=-P*2maI(w;Aa))6Mq#K;8vmVl8y7b`?5x zt_K}A3Gcg1E~Bl?g)1NnLwG~QZN7w#_}EEQvvUrM81f~ZPLImQ7Qol?&haFY^x+ox zd=#Fz4qh{tR#GXD-!+fIOlT8ogCj)7H~J9Y<>3YqdA~fgV_&{NMoWPyU6^hO?`7$h z&?=h0PrDcE!u0Dyd!p(}@6aS&Twkm|8*0-?Uv=|zoLXB#=y5TJ-b)u!yrW18Bz8&Q zasRpR9T?764Dbj?75#F+GY6j3Aigss#0JlMFh5`0O$c9XtY6{i3Cs_n?`~?xxG0_j zglMfATV2mt$xS#L#(9uSM^QI5(nPurD3HQ=!fJckku2wI`h&c^MKgLwhlVqDgr`5~ zxF$2?z{s+%w8xOwi(-!uYYemnXPe^U%v{S97oJ^{pEdrL?+8!3v8c3-n6=FrGGCY9 z76&T-s$JWhrv58!t8(60lp@E~JtmX7LuYk)%5SbNsrk^^$A+iKvD+V$HQQgc$21e^ zIxB=G&3;N~+?=_dl`^orX z-#G7Z;br@jgCsNSAeU*P87^Gu_(5LlCYQ;MG?{CE7xech-yez${@&N$>Ch(Sf(4A1 z_?RJ9?&{OxUV?FePrvRL$9abdFWEKCv~BRoZG5MYLUHYrFUA&g_HxCcz?j~U zc-bN^x$D3$^Yd8#;HZ2&O{=F`>7L$G-ji!}9Y({r5vksJ@@U(9uZ5lA-Q268Hm|X` z(t8ufx2VK0P;AV2X96A1-dSt*80dP6 zv1)EE<0w~crplUSP53o?hVOcs&DPqsgnv_%&|x+X_AMwH>?>mLI$z9u-p$=z7RPJrfvY4W_dq_)JGuo1CdnWy6-(JCmzmHM!8(@iKM&38fMeqhH?)>xvioSMIeb$^CqOOhSc>? zFP_)_lBIfqMhnpRxX3Y0{wGV_3uPaJvJZ*4s;-sZWvM$Lbq%E60~k=I`&9n_OGCGNUx55)Ab+Na)>#hWjbI9G zu>il;TLrX@2HK{IH-V1Y0B%H=hMjeM3LyUikmE&;-Dld#+Gh=slwN6#apv7ee~0kp5UJVXgNYcJJTXCCTFEAqoXGTK64ajq_5ZdN+p?`2TS)9i$^54q`TemQ z`^fj*DbNeQ?Z&>?)UEXl>$4ZSo^)m}g8x?Rg#m2EskaC@0#746e}iWoJa@uV1kV-l z41-4t<|96XKiY=!5~@GOC6Havsj3D*?+Ty?GxY3+wTGLOgwvXr>cOSKxyXm#J~tJ5Bd)up63n#ecTw7>0>}VQ27B zH{y6mUT_mUd zTQasyyvd&KCF8W;qW?z5^?W+2sGC-?Np$cc^T`_E)H(ka1NPQwra3;=L2Cawj z<|1!SUg(*~DW{(vL%Wc5Dwe|wHBk75*H5K*t5UL;=2{B9FBFR zJv-1di5>2H%|6_hO&3tK-;SQd*U)~vDWiung>s&a%tslGBW3amRzqeF-j6bdo&X<3 z6mfJxt9GOdtx!5pa|oXB^<7?&7pT6=dKqhdR>raU zX_oog|(vnnwl zt$%mFWsmnOz4o~twEZ{urWA)jTb~4;_IGRdD)Ep$VAk@9Zar)9$GX?p2Or61P-7W~ z<3SQSki;=j!F4y_a_!3k4p#$*O`^UQIU6EpvynZX!B_w$8DRb?D$!>aFsY0Hm?r?{ zT~X1D3v66SgR&`5cAtnP^)gbSl@+_PwHr$$Ly2@K@v?}q6V8WYHaDw#eDqSL9Ep>( z^k3?l{cB)n;h6zXHasct^wxr%tyOe2(V6rsT`lNVDB9G8x~h>rV9{1>8IdS^I_Y#6 z^>xx05uN8K#^^&l{a8jaN&ZvC@lv>7-*wU#48HC2$QsemH*_TrI?@+%)htq%GaQ)l zHaS=e`B|69zZ&xY0{N36-{Q`)t@RbO)(Ix{X<>u9LZXv| zaO6E!rOMB{tym(kH0qwX>`Tqn%q4=2@@1EzEa}(vpr* zJg$e`9>cfKPaWaJh^74Gf1KjtULrTjT6|+ibkZ{+9W^zi6!!)m4q2GSJ{{Cr(AQfV zOm@zrxD(=R8SdA5wF^BF*4M+?RDs?WB5HI%q&zNc=!+lc`%Ix7$IsF5#NvDAgUXFB z*ErYGYi8nkG3{$BslK+FDs!GGU|B}TrVB|>+htvfe63y0MP^?UJPYVT#@+C)mx|JT z+u^B!$3o+oZB6PLN3B$eV$=v8jN3aF+Cqf3*b6e31}Poj4KXY)74j}X-q+v>YotXXY~5Q!ip9}L3q$d{x7am) zY|Z&0&Xd$96?Z6EU7JW$Wuo0f$iH?IvJajBj8=)Wlc))7aw`3^1Mdw%I~)tO1@DPv zcK85r@Q7@5;vMQX+FpiQ3mEgmf$#Qre?mwh;5iRCO91!P^?V6G`yt2e3-JaBO)p0F zeEkze?=Q|f7sR~hKT&l4;=ERt_rNDg+u_VQ95{V&l6ux}BD0HbngBH0`p)~IRooFo z+Q)(9M_R@)+W!f(TV!HE&DsRHl5ZLFb@Z==16Rtdy=ub&n_N^h2u6)7nY^=Q)HECg zo(C@=A8c6Zxmb`q;);{U&@<|2a1FC?gP^u?V0X{3p7dNVw$A$Adb`pt&-C`&GoAEy zZ^WL>`$TDr$9EBOJ;-hs;b#nbC^!v(CK+2NSoY2ZQXz^9!h>pUb2BUB@gb-j`K z$2Wl6CoZJeN`DAN<{#fe>PKw$s*#pLY8jh! zO6k$`G|I&`e)C>=dL8^byBGe20+V3gS?sj})>go}S;SaKXc@j26)H2?yfy=^1CG|L zH$M=>n*S7>OR<(@R$?$vkOvgpFCqu!!I&Ky>36~YUhWENJcIjs`7=RwUiR6KKUUi5 z^BsiT1JBLy6v3l|=jXqHU;H;^d`ohgE*jrLf!a{~OagxD{SIDg4JxDDgrIiwo84=q z93ekOsb^u3XYc7_|Dn`#;B+_~4!qt_Ib)P9KSpCy_Upm8)Hu>PQXR$C!YIak(mniM zoOhsK8VdX|RKU2sHZ|^>P#_CvW21o)+AD-HlH&J<0wY3LV^z;Irn6e<&Mu^QBv3UEDL%iUG8E|P zwNu5vdOe6V4~5+M6VW;#?3y0zWvhFz&D}lN=6~*)%Qzg$I81=j3n!xAg&f}9lN4n; zw)B|P^NndLf9b$m?<-)-;lcLAcU=iE*V$6WRVnwcYpN$=gi*HBA`Wmo(8KL4==_*~ zmbT$ZFFd7o2Ig(H#_1m^I7ihhF_95RLFYfnGqTad?X)rtNo&(?CN`_k?>Eis!TZ}g zKO6}5?-#*#pZF#0WCr`@fUqB31pD0pen5f0uV9BT*arrL{gCX9f_?W_uyQxTUfTzo z;7kBtEMpTAEev+e0I;R!*38kYi$FSl1^I|d^DGtCP@muV!(6?StJ14)1aXf~S75JtlW=VX zA*G;G-GMLPA(rmIj(0}Y$2#MpxGX*Ao)h6RzAvJJPMXDP`tJP*jd2%26?AfavgthD z4|Rn~->a8|)AYf89R-)7!ri69;ccYxvmdWRF9IdX6O_srLA#!>);$*r>_4vSgFWA+ zyw{z430U1PU^hp>{#%8W-;2;2>x}JdM?L9pi-)7AeWwelefPaf@o4Dd@%AXFm%0=l zpB%6*ZB$*wQBZ3b)I1fYvVKs>pzGHFZ?Rkdx^S$Zdwz%aW$#vRq-GQOoW(xFv2^Tl zBa5@BQ+H?SBv%(#9AN7WxF;#&y~rFXfsG-0inJgFZtwkGZfEJam2*M?&GEDb&Xemx z`=af`l-Gqjr{!Bkt>8dOqR^ejRQyt~FKMbUi$)e5o20lE) z^}%rJnT}!=COSSnmKMBNpOy3mcAPObV4Om(kKSXlveVn9(rY^O-+3?S91VCLJu?vR zjq=63e{yhOy|Z1UcfEmI&-Ck^M^^OCeehCpo7g8edz9QBkrla76)rMX@Gw>=qyGxl za;xU_2F5b#tw8+}m$Kf4)ZZ$j4&XS!)&D zuD10Tr~BJFPFC9b78N$ZX{txtzNRjN$+lGOE#M!n?+w(Qwl(k@BYMtDC&Rc4Q4bi# zz8ftkQ~esopRW3TFR3zRay#U}t{#+jA#nGX)BPAeWhVplj0P6hwK1|bhx1??^g`Tq z%k72sf?06nwsfXDRq>e`!257dHsGBNco#?EeUafc^y%Sd6|afm?WYlE*oaZH8*y`0 z!@TjVE#|XP|9ZfB)#->f@zQ-^q}0)Pu}&!d1M1K{Ko!E30Nn7?cw>9NKJ(H7Mw70O zrr0-c<$?E2s8O7vPXjaedHNg;Af_eF}KKP=zHHd*>p;OP+%!r>%Z4O)A0F z>Wqa*%>#Yb$^p0zpZX;|3BRCc={pg=E{&-OFxCDF)A3NWuAAQ($nMfUyW1Oh`joa$ zrk{kcr+staf7yu{P;=#}U)u>@+8MgoPQ3g-aTNouSp(u){R><-9=MdVs5p3Ur&RIZ%5hTf7RDWUU;x=h|dtkfmRQvMrlU!fjV?ye^7jH+eAxGjM zJXiMwT}@vsJ1VbmkJ^ec5UTb)v2V@3Kkq|{%mr%RKgm<$0nYO&zMJs;6FzYdOq?%Q z7?opeE|ttN+MToL9OxY%cKux@RX7`s@#R3SzS%rBZs#QM`Q^ZyT@zd>eG$-k=^M7E zeXzQof;`<2Mc-zc?OaE**_`+(YM?M5t~PH=7mmu0x-+*9t|nPi*(v&~d}P98AGv&z zPXpA>18SE7wP^=ZJ(|taT%WRg9tNVAS1GO-fZ}+S;@<+roX1R+nIY2b2Aa<+(Uer0 z-)M;Rw}Q?}=x@gwO}}c{m1^(5hu|y%EWpWM_LCcWqx(r{|D|;6-ag%u+xvCv%3ejc zUcV&V@;_Ls4+OK?TmfKQitnlq9I*t^$cZP(kM(NUUd!pp3oS z+xxBM(V${~jr#|(2Y-yR2aiV8`aY}mleY$f`BN0k(kPf64CeU(VOB)J%!z{e3xiqw zR)4$R5A7Ow2iK8C(qYb_bQpW{x00rr*QzsqUYgj=Q@8if39_-A9y+1YKljYW-h)Nysqg z@F*XHRAG%n*xtCD2F0%!x;_r-={`b8%MsM0#FE6>PcS{=tK&g;u$`({JL#$uJlgg8Y6Ixf18s)B z)_RNG5I_zds*mX6KseU@3P)KKj^|Vy5B1?lE=ivKl&a4fYodp*PV(rgO&)!9vPaSI zF+xG-dSa*^}ru-k`tB%5FjKWu>;yeCE1Yc@N>g;D#9tQ!Y z6u^|~F;ou*=pmk%>Y<+4>NJ)24UG4=>S4fpe02ig{^mqNAMT+&NeuVKHwNk>&qei- zcTe>9k)Sf~9}wpGD44%S!TiKvVh4nIAqwWnD435K%-8z{g4q}aQyB$Q%V1vK_uqZ7 z(sQf9L%-p~FD>!2-4~Cul^5YL)vr}=vOxbe4gA+YU{(nG+!E+>6HXZV@Ki87#yOe>Jpk;>Y9APZesN0$3ji7OH&y%s*^)b)K0@hlX?HbuFClTBy zy5gC?H2wbqH)oAu__ga1xBFMP52(0XyaVaR9Z|Zm_;|lmx3gLA8t=gJ`JF1CSyA$N zT%GgY;EnJwv}EY@e*qqb01w!k2SIO60ZvkZlfjG=quT$*3Q8NtRTp&ro(%IOfVASP zV_-x`Q~Bxdhx5A<89y2SNA;kTl)99f#tK*y_VtA46^(nSmy=N|R>KYHFqzQx&1< zUPe>g0o}flp0nQJ9t*vgs*xUrD$e@(iTEk~v>{zTosOnxR1`%>kFQpthbzWirj;}3 zXYj{dIV1WRRiDgmjDlXWuAG8~kb=%Sf;y6aVWXCVI_gemv0E5QC61&W)R-gMqLsuj z-)95IsdXth!B39Z!9fwMUWPRoSbIr)2cz(Py*K(isI5MpKFii%5~^wE#Q7WTsXk40 zekWbTRi!!8`c_LUw&CF09}Sv{6PQ;t%!hkEU2)|x)z0$R z>Zi)%sy{8~cVds4e%k0c=K4`gQhoKORT>Ocgw#LVZ&OOoJwB&gjgNw{6oP?~eXA>4 z=@#WC!o3&Up=cPwVE8B)JA?UbPt-WV+C;Ms@9)C?%I?(al%SU!Kh-a>u}osm|4+CM zfcq>8E|$UFy64ySwe%e6TO$t!UXOy2*erMKo?qG)Ea`%A*WPJjmN^*Mcq%gHYNfB# zxpkynJ9kIcWRlf(jjXM$^{({B3EWP^luR^G`+aQ9!P>XJrj=?hT61_~cmH~bnP{by zgGs+wwXF2w8vNQhio{D!MXy_GrN=`TuUp=Fel}fECdZjW5^M73*78=6Y($~9w`Hlr;THe3zY|^X`22P&rm+Cks2VS+a z+f;atrg`n1Hju<$-o>~fm}jd`DoIkQ86)VP;~JK;RYs1rGSUPiz)4*n=HA|m*U*Z0 zMf}oV;(0I%kB2CjHb-GLPk72f*`;Y%)J1C)*I8P9V<}32qqWH5{(Y*$D@2H|}JA+X=mhD{JS#zMs8wj_Ugb z1E!Pxy=b;NFaK%BKz;9tsJ?fuy&q~4gW9#@zs-XzriH67!c3^+pXCK*I;#`(lGP4Bi>-~-u4mq%`M-J5W zypCrQEl(H4G#7Il1iqaln#&AXI{)`_swvUI>J3aD1v33F({ zB{WQP-e;K>b-wO%nRm+pzB?F*4>hhOg67J-Bpb@F>o&XaWR}hOkj18!=bpp&Z=!fW z$g-45B$n&ZOr4*xnegiyA>2}_R~kK!f@AUn2(NhDLb7?+hz@F2Jh#Y zv?t39<3{?+%ZKCc2Ty_HDf`cdGljTzBjG(e1>YQek36n?m?IDc$sp5PK&JTyj(qYYA;;n2o+9LP_`VOGgYe|T zvqH}i-l>5ZcfN45kS@%ZGtDMP<%|{`-lrNUbyIWc6O=P&Ssrm{C4v$=kl{RJ$%r}+ zZ?egOJG+8`KlC;TqchDkwnvwIA#fo~tV$(u;!G+ACmH*LoKbfrEtRrjdmQ1ic5(Bog#7pfA@m7_r&&6@ll?Y3 z8O`NAYA1fFajrai&OCXvYefFF`BxSez&~zshxl@bO>3(E?)8}Qh9<2`E8H#V$WwS$ z$qe(gjsmSNN7HomG>xl63|qCXmpc|gN_*39rkxj22Op&gG!>{IiTPLNPkyH(DT#Ex z?=EdKW!x<#@qAA_DQ$Z?gKLl1Y1-p?Lsow0EAF{+yo<9Kr2SM zGctU}D13Yrz8l~lLa!e-)q!`E!|$;UnIErj=Mvq-LUrvV{*I!2>4BBJ15c6VOHZvt z9a$jfFWb{$iU%w!xUnPK4T(3%`41uV(Dp=w1AgnC2$R?g-{O%8mWlk=7n- z#DDtsxR@KD#E^EQ-T~hWiF>q)doh=G^ovPwaU546yDcq(gx=kwG@&6Ndyox)18EX2aa2um=8&%x= zf59Est~X#GP;m3hBBk_z?Zck|wjx&O*Ky1l)SjrJjsls_iS#H9SeRw4Rw1Q5Q42Wo zAYBXT)@}5TR#Uw;GhV34xEZ`Jqt@!s_V69twD&qR9M_{g8}Q$3*SbuN!<~V8uESk` ztIXU~(!P>Y?lfF!*B$1Vmpcl^>bx$ku#}Q&GM2Zd(m^u!AeWaSg|#!<^kW15Sb?nP zGgC2j+8`;cnbD@T2K@Oz571iPtls^)e|z6tbVjnI< zyQ7^m)Y#LHOryl&7A^$F_bwH72*ffdJ>RjOTnLQr-6>3>bLdpZ$1sMN8#25Wxa}6GfAB(}D!4!%0x-rFF1HANVPu^R_8dQ?nqf5CbY%E6 zis>=Jx39DH^wQe@d<$bc&?%4J&P~o0k_630Lr?70TF-5T^JzHnMQ{?$qd5NK3AKL& ziHFMk?%|YJ_swY(ee4s+S9J(W){8F9s^bu#$Xt^wiL~fGfnW%#!b@FcSKvg z(UzckUUw`UFOX{7am(*CY~V&~H|&*7`MM3-J^Bsdz#qc~^$d(wxQ@ zob;}oVQ?B};mHmzGhNWQNiMXJwa^{OB?s%aDf_Znd_wTbHhSHH%ezQ;f@q|FcD>Q1 zvEA%7I$sjn%hCjmv?t72t#0L3=_!rdAtfPnURKIwyiW4&>n_!UKk_EwfXFz9~S~6f-ec{yo&`J#kPH?XA!hA z(z2S-@{~6YXi?yP7rw*ws*9NaB`SAbZtg`qKlncqk*@c8&xq5ad85M`!hxs5c>2~Z zJZU%h*Aqn_|I>p!b&BD@pToFY5Mwch1Dg&;xEXf|ZnPLJqaYl3^x(pgDZsIfG zjU>>DeItRx$ND(@F@%)0s2uL;c}aM}yNlRB4@>&^OJV$d;7#h|??UJf;OKU`cIWxE917=U(dLm)r)a6mu*$}t*l>bhZ!o3^_2+u!myI8uo|g&Z+OT+eGT(=90{G-|J4KnvBOYTn_=#C=oGIY>Pm%Z5IHBKsgql=ih-1pBO8pKUpn17@FH$>ABo<22yVLmrC+s$$(I`i}L zo%vjz)m z&7ZTjX|x&OTaV3`8|~hEGQxpTAcy0=fCv_soD)s7Q~=q%g*VoR13!fgwnIi^BWl7RNy~wyvgjz+zMey!7!lg&l^Z*6u}WIQ zSF-U?GvTB(j?2|_a~-$H26Jp-34GSrPx;$LE$znfqF_+pn6#c>OD&+EgYjH4^c9qxMI&c(+EH<3ix^E*y9EgJ#?oWaG|Cq@z&qkZSvgBgu4=J>I{8;*2!SUv1|P zABNeQly)KTQ5P|fXt7Az_{X75wEWNHH*$Rb$^29)oRs9}CjKODp~pnXPwdZ6g#7z% z;3hVKqzwdb_tsG(T_*gMY_Mk>9+du4gKt9NS_7%|h98?Q@dR5~TK$tTR5j5wwD<5Ed1}TzFcI-OvPMYbKvJ zY{W6&PT`X|UE&UC^)+dKEL$_@H2j8f(!_Ne&ZZPvy7is;U~9O^6+(@@qv-LDRlkGY@7gWLzicg0-5YIqb53BHlD|e#R-F@gwXFGn|4$*kYgU*RG9U zd$UO^afa1xH)!Eo`;QJT-q5DyQ(aUT(hU@?9c_tF`ypm|-h+{aWG7#=+izvtkIQS?e_YP( z&``9NxTsZc4bvKuf5EZBM&+1=!PU~!mOb_rjDKO9E^ zv%AJ_@-IRin}~hZ+KjPLjrF z?9)Yd*^2+J;&La_e~Wgs29uk_qyDYT27z|xzYe2q5{$`93Wt1^%+B3i1>=wYTlCP8 zlSjY2tA`nIa=C(yT_mUFuv|EBf|-gKuLLzB^TXQ&fEU zc-F3TD826gVeif3o2s_I;d7F7E>I|F8BGh-0&PhPXc@#NO+rJb&;bgfY1#%7=n&Hs z0nr`=6$G_V#6nSvqL;ZvKw1UidL7Wm>um(DsCdOOUO;UbY$&C9*V=n0P1+QF-skS|By8q(&R-1Zq)7k&^e@*{hbgOg2N%WcP}xF!mJx09#d zp8I)Iw=Mgt(~SebDwGE?4{8G`N+>Qq!G`ZJa!!$|ueJZw)zlU?z+bJjHMR*^ zUwyWk<0HdcM+}Hj2a>CBIRjzkah(U-&9kA5UpvsBWt*fFpszzi8ddnEZ|8k}gqnUM z@Zf6>u9}OSaUQ?R{!e>YB<$AX@}V{*H+gmK+gTURa^kw(#;gl#MWWUbBG?ZHiaSKG z`jg7SVbv#!iY{TChjY~?*3-3F63=)OkkZpml4V?Wzt5c~?unUC#D( zjxhNDq$3>uuXfx9{{=^AFo26F7P(f6ChkkD(k{x8bZ-#C=juU!lZ$-0m>Y&JgmOlU9IvM#I- z>DM+XFoC@N>4O_wOvYEUiJof-$CEa&$ccV!&LqD!K_#x?@2%rNj$c4cP@9ku`Z~<7y<5$i5?H6suHo4*n-$IRaa*=aNGFN;etdhw~ID!wGY{vte))%k@AUh z_>b?ihq{pOl)l&^vj=PieGMM)(x7c~95J%&{5@?FK4{~Rtu+e%qF>O8(>Qjf&BpIU z<9qh}F9w6{2gVMs8&(js?T!5T1#=w1(%TMfE5JJ}{6svrJ7gPvnJs4?KP_iA=VCoh?72PNp7O5U@2nKS4deU`XBkdCvBKf>yq63n6_l5?b`!xgmA< zb}IZj4APGSeG9bw`@u3b_C;<77xSzQzwMf+){ve**oiHnu%W*eBn7SxKde2i!E*#vW=D(#;7F8y@~dqt>*ka2l0KGk{bL%VcG>QBwwwE9d+!l z+-PW%MEr``;|lJxFg4VfE3@P3@H(usAF_+LK4TA6ul~8bHAG_mInw>Ui$H$Ei zOCRWQhjaCXA1YtF_(P?yIf~yac^==v?wY6g)}c;%&-B?1t}{n?r6deS;M<@!BcR@6 zz8#WQ+sDp!f8f3HHGSJlF|^9XuU$N$o%oIw zKlS&pHVpFn7WU5ExVV-HU-RQ&XDQ}w;sXEkqH+GVr;US*B3MI-@M{;xGs!wO;4@es zz#j9`SKRmuEvJY50_*Ht$DP{PP~`=2%Ap&VuZnIAp1AJ~2q_QWxO_!)BRmE33E^pUm@D4Uf=k@EPwR?_24?bW&wFqiipg*I4f|MUlnj15l=XEA~`T@LLmH?$fU3< zPgaF~$=AWoD8DB|MkYS6p>A&6pahD-8XQwnr|JzkAgk2*dZD}%E3zu%_G$OXoZ>^cizS)ePT}_ zrTLD$2l7+f@#_&#CXo$wAVMa&7#QrgcaBsoMD2-L7I@$Z`7WUOwgY*PUJb{+dxM@yh*QTeGZl%`VBsnkK^RIE?gtyc=n^MytNhqvGIc}Y?t3BmdpscI?onu|?GV=Dik?L<9%Qo+5T&=#Y9DrX3i5yoKQ1h+BILUt# ze*bd-o89Ul&){=VE6D(lS!vkgeCx`ad!gjvu=na$^IHqfiO%*l!2QeD{%jI zak}r%Vt>pf{&Qz{8wc$QKhV{F^9H^}4xe2gbW;oegKm!4)zuz)bLcMgW9k`@BBn}c z4O#Vj40kzrRTlgYT6KF&zq++2#4v*7tCtwXuo{q~4v~>Jx%GP?>q07z@J#C|ZcnS-aOk@^{O<))~3+m;&Ev(A8euMR}S8lToH#$9J{A z=cF+W!Z`B2GiUn+Cg*h_plbfVM}8~y4)GK{q+FK-g?-D`f( zzKtZ$2W%#zUoD@|)xL{x=h?)y;rk-hgX+eq2g`0dz-{Sj|L8`f8rMJflN3tZMD?I; zV@ZsxQ&Pu|FR}TfJqBf}PpPxiryY{|khVZ^NX>0~Lu;DIea%C{TLkwCk~&J$*mniikeFG>kO*nCx(I4`;AKu`q$MFtq%M=sBXS`FU(=|O)EvP z<_LuT9oHFH7dkPpCU9H-x*EkbTUecVE4I~tZrlbsFuW7>A)*uYVMwQ|cdD+wb08e` zq_g>F|IwX4`;G4SSu)!3b7)im%yM!&woq6551o~ENnPk&CeROOlDLjf2GKN46&vndF|Hm%b#^1eZcun#hDU!NFiqCD>m)(3=59IxzBU5$dEI%5l zhmwaL7+4cJ`l$;+utS=q2u=}i{Ve6P0pc4$1H0OHbOu)!ygiVlOjBjGhKet+d=pr{ z^&P=4_uDo@U2hM^FIx)urMXmf6$g6UA*q|D2xy_PgX&VDwq5OOJMjF+g`e?cLbyG6 zyT~5N#=|-5y5FUvN~3qhlw`lc9}w`3Bl};@Ur*jn)YZ=4z!9XYV;*_e#nl^B-!){M z|CNL?ZAb~d`8bISytzuPZH^@Vk2+(T=aK$63!GEWqqT?0a6P~gE01$(n?F|JJ2GNU zXxPY*^!8ZwPj;mK(8-fL`@>jpz8U3x)yWgNeh^dJJeE+)VH6(rH60VW+Mj|^Le@;j zkjupKK59Y#8y%Rgp(B93X)Y8-^>ZDG2|D#ZdJ?k88=B z`PQZamK85 zYS`t2J@GZu)9C$Ad^1)6Ijt%h-POML244SoT+OuwNP@nCIa(Z{=IR2-96b+ezxTR^ z^kOq!{r={zSV==x>nL%Oy7olJ=vwT9>kk=G|7_RA(4Y6%9x~#{_!xxNzKw5@0;{?q zR_DV${7lf8)&R-Qi^0L7eLRfl)cy<(F<1tD$IK(0Vs&FP>}mpswnUL@RyZ?@)dkJs zJ#-`K?P|Em_sE*`XS%yqu*6<9I#6aT?Wc6M$X#6{V zn@7z@imPMDQ;@he!EYFYUR^0!)vs*?^iE6&zR7P=a96wCfxYsh184j19ASGS)RKK% zO?U%Xumk(x3&(8-uy&^%*g7qap}-*mdH>6S^Uf)U99DtYmj`dsz2Hj%?YkkEUu(iD zq~l)azt<`KSwTbe;58P0QW#5G??n=R%tl9wEhO}?4c|uF)vhDgM$9%2M%H=6zt|?K zMVmx_v2DZwI*O!`@B$mozC-tg)(tnF4Y>F7h&r5IliM~4!3}bf*Z59cDZC|2Ay+zZ zEF)#H_1hh#4utT>B%EXm+nq?l??QO(+gv2_?uN8B8%OH+Dv`5S7)vylgOG6ffDj4m zON~>=``sM+3VGU#rIH2F&3ARDo1{psK7=MP3#FdQY2IhEAOR8G5 z5ylMCC-J0D#yhaqF%AjHiFV+e9_7G!{|*Pv_#;R!40VXM@^yi1#kmr+S?L(64&Ot2 z>ON8%n{A3ZU{4ZR<%sGq=I<>Zk~ax=wNE6u-*Mk2?^}#H4TEolsNXQjA{79ZJzziR-2YDh%_}i9e?Q->0G7?6Rm?v$K z>V70e7ztNheXJpD56%xMAZr|H*Ka$id{slaJMKD*Q#2UR8u&uoOYke%tl22I$A^@y z>XB*HQx-+d$IAkp{h5eNC0Uu>N8XL}mx5q+!T+0Jj-^O)NoW$zzQ2diTuo$bvh=-zT& z+9vfna$OhiPt@gqJc_UR#-Xjo-KG4Gn-#EQxO`pk-*vNnm~(LJ9RV`YLH7x?WGM>*RkIB42cf?pl(3bqJ=QFMM!CsM68|9#ksH{16) z#bmWkb?7=7M-AlKSP1xcHIwTC;1im$Wb{6b3}hs;Fw$d)%vmkrZT$z#w1u*qZYQz# z+5Dp-Nq-IKY_TU_-VN<^$Jyk|kEU!_j68ez+KQ?XpV2lO2C=_Fi$y?eN7e10U5~x} zEVfk)wAI9Dqg@oe&@PTHwueR++9lBicE9Kc?f%gV>;cj9?Sawx_I}ZG>?5Lc?c%MN z`({#;`>rl-@ZW_`YiDLS#5)f}yH2A^tYmv8kL*A!@kk@sqqb<$$|EERI*0yrq$Swf&LD(H5ZgBHX8p`kXIl# za$^U6Jq0*zQByQi+? zloxzy++f@edBuW+AEL%1g?uwk(x+1*L3@*4lYb?43rHsWe*#spKsz5=j+q#n~Zbp+zB4~uL>Nm=eXaU z&ZF5Z_dfHF2e%vC4RAcTDsY#;omjwe_W~XV_bT`!0ndSZ6#O^9wLO43 zhNmztp|&2I!(LGg`l=t4TAvuI!S~99GtFtbajpI18}GI` zqeR!LM2^G@c35RaUTq%-HWH!6dt4vh5BnI%L;nEkV0~MlWW9->xL#k-`~b*%C2@h~ z0gyM8$*Tr=uiVg*drCoH&jpTuB+k{$b#we`|7lp9G2>uvTGmyIB}bF%rkuC;GmTXC z({ph_Uu6Nc!jh%Qa#L+~ts`(jzeB~t^~Pt2u4P?)*g|!Ua-6hZ99C3NWc(?@1bUMF zjWK_fBEBUB_#U$;G%0SrefCd{M~IC3fVSK+Lvx>-_L6^tG1u~ zFE{6Y#U;?g4F$8v|)V6=O7G+-YXpi;Uw7@Ou^yLw{TY zcL(%G9^h$kLExVT*bL4IeKiuW4qQLfrTHAU9Q-2ip9cSI@P~u{DEKFX{|NGee<bf^!M7FV9pbJNQR*x0Tb-{fB;Oh$1vGikX_hu#>kBp z7rbh$f%YE^z5Gn!V9j7R*G2m_<7b2x1` zaj<`)& zCV%w^wdBP&4(2Gt7erjOVxX-sqTiXP6(Og&apTp2CwQ2Zo$deX90xnT#1NcAf>#G?b${x8whl8Lr~#K! zqX_s6uj$|#Efq@SNO|x_4rY6f2Wewc)VSt%wm;mtikwQtFPqJANEW=`=8X2cR^{iI z%*FBNob7p?`xFDd!D|;++D%=Bpj$x~{kSXb$Gf;FdRnCR=0ELGgg&q9s=fWlGZ6s^ zpk4matpR=#^#Miv+5N+Bj~oA`cyW01k!wQvou{MNn&5cXU5mLWZZm(+K=pak4GvES z6g1=bx|ofx39L^8p-+chAHDdzp1b%DQL4aWx@o{8BqmSYL1_J|=Vy)((_Dker^N)IC1aI=WnG zp9Q)|!$mEJyaq#FW)kK}I26JK5MCfP&kQ`WAc~8;(jEyjOD$MM;Bk{3zo8zYPKx3{ z-y)#>nr~8#!*BZFbH@2F=Z&hyaY7!E@mb6)F1oxmAasTD-=^CaPc+UqzR|{I&1m7q z4gM-ufzSJlAWxfw*!Eo%iMVmtdrNNw;x~g&4^wVb-1X&X^^f**#+@)jhqep>dp=pMk$iy{ z*9F{bd!;SRk8hJo__i>At}QGeE=Y3GZ}1#P*z~ZwXX5{R<~T-7p9yY`BLXl2aPaik z6*J-gMca}QgIYreh*}5uWnB=52c8(G9;y^8-)*_$j{a(}svafE7DgLfv5YW|H`TKtvvS3Cc(g9SycGU9#r zM~?@BMO#>e#~AZ>u-X|TcgZ$LM7O;ji z4qa@!Eq@rF1an!G$PBULxp6ma*X;PH^|F~K)!fOKe;Uxb;rzZ0PN!#>Tk9QuuSYnr zM_7RLJh#YT)fF2S>MKjEx~2M(N&{D9G3c!ZU4^yWqF-dt>8)0asj$*&sK949z=`ml zI(QxeX8|XMFiW$@P`1Rd+&c*u3OpikVc-U$0Dmr-lK=`FlNiXPO1d+^C@Dujh?flV zjfSEnx>7@tQD0`NDAnl~=}l!7R-M^WUSz1KFqJLhxK)r=02c)=5}cIzT{s%t7;w?x z?gV!ixEPjZV0Rt53$I&fDKFJo4W;H1Ah_todaK^EhAg_sV6mDOnu@$dU=5#SRecIv zHP_t^W5MyPZB{}2;~Xu=I&e>eTMuq6xDDVcpxRc`3h0&PrKP$aZS3kWA0!FL_5&9P zE*P9YxB%=kaD~_>B3izIA})ClxNvY-20ia?4|8QwC!5R5OMp&z^~BQ3 z%?69!3i3Eq5MuY(%H7de2N_R3*~$fV*NN-r;rBzH2-1~WfAq(2X6Qz(8vRL}8OBy^ zGWt_FGmMT}tfwrWGebJ90{uqL4C%D}(LXklq@9WWDG4NP3i>s2k`})+Dw{W(q{aT0 zne-&BJgmDsiZHisYEzgW9MjkRU5X^{a; z@J}0)qxy~QBo)!}<%ww7v?5xr0ue0}HUgH1WZO%=hmD|>TbG*+5O)VhY_>j(7Qg;3 z+DG*hjmrf?E|v@(O!AjLZdLl7TerH;{&(3?p?7 zTZbs-!k$L-=Va>{4y5fMi=^!!n?u_{Hk-DCOi$ZE_7H6c*&xOr#rWqk{%poy$oMUc zpUJOh^6Q!WdM3Y~$**Vf>zVv|CcmD^uV?b>nf!Vtzn;n0GWl92U(4icnS3piuVwPJ zOum-M*E0E9CSS|sYjKDJTZh@esxul&py7R}V~@Ui*rGSnnZ0m1r5VbKpl<^>su(zd z^Efd9vcZNYF0A*Mf%#OHmFmqL`b=d@VJOm7RGQ5?b4leQI?jlh?W6nkC|4JP+;#a4&*;72Myz?FV-V+!1gm!2KQE``|tVcN*Nc;P6B3KY{x%xZlCGfxE%c zc^l`he&7ax8v<@9xZ!NgH4)rB;HH4P7hD>++2HO6_W)1V9E-q}gR2Dh2)HV6Pk?&{ z+(vL)!MzIZHE<2!4uU%h?rm^?2lo-Ue}elLxYOXi1!o6$5!@AU?ci?W+zPr90&b)T zUtY^`ao{F`n*wecI61g9aHx~0Z}Y(Ez!|`qz%2pyFt}CVR)c#A+%w>6z&#Ic2e{Y3 z?FDxT+;MR4gZme_FTi~R?gwyoaKD4Q2JSlQIVgr7xNvYI!Hoqs9^7Pb_kf!Q?p|;+ z!R3LQ2kw4wI&h`n9s*YZ?qP82!954=1#mmS?FP3W+#zty;64QRzrfkReF5%Ua6f_D z>U27B`Y*&O&uY;Zc`aylx?WLM{RA9S6A~s=Sc)ce6XJ_FOOf>6d)YEUmy(vP%Sz*- zE2c`zE3MMDdnZ5`m$mb&gR;36Rb^Gj5K=mGO4LTT2^kAqV<(qKrB}bvw@|2xsFO? zi-3iuvSJofL6!qOszgap9eI(}wAA1#PK7~lDKbJyVcl809Loty#6=cZWpHYc=wgF< z7M18LDx}dB(wOMVvAqjbX)Y$KWrL*xS6Q$CEiS|rOQji?V|3|gg++9w)kyawY!yaX ze9&<q<40!w>np+ z&CbeIrR1uVI(c4hswy*AlOoU6WM%5K@?2QMRTh?*inz)OgJmkW$WmTup2~q5gRU1# zwVF(+JSANUy#cl$jgyv?<7Ck%xv0FP{8nVr3R39INa&fk8Khs)ti8Jo^kZ2JsaUMk z%{QcdV{|4>v~_GuI58$RCw3<0#I|i4Pi)(^?TKyMeqtwI-uwSs_s9Lwy}C|URac$8 ztE;+u_1P+1+SL2?xvGtuGM%w5;LYfbCYYzzGOPU#azfF4wGeM&N7!kIOTi>-RY(4uNn;qfv7C$>STe;-sUL`rh|Ty=KjpkPtsj_7FKyUDPJ`a3`5D-Pn`9RMn&G;zFCO zcd5f=6U!q3-l2MFG|6EGq&*vHx4o*2t5|yxqKCep} zG^mNOF(;Z3BL!8i>x)iJ%9)i{XD}P%zA|;I$6g%CmB(`KjE+azoP<|@RiHqR6k#Yt zbX&y zq$nkUIjT4Fkd$yI{iKshNIMt2RU#^)&cG6=5lu0qnZ+8*lMLYBB9AV zIkcM3I$T>DjC{yci4~Echou}}2s!{~$$eVAC5NtQXq$V)grGD!g4NML1W=N)FrOes?;`<+%BI!DR7&LqsKo{~;1 zcM~}-k#vsgHAqe_dyCEcVxv2Ymf+YPZgk$c{Nke0 zN-m&-Wzj*VeT*iG$J0ays#4w239gMD)I+9VB#?5rk@*9iEQ$M5|mhZ}fqlgPy_Zv|L)dna8nMbxU#)PbM5r<2MP-dd0+q zORj{30U_t(4v>oARTFx%Ncu_Lr0~e>sKTqnFe)w{QYJY8esU{8FhN4q14qQ8=HHdh z1O(ztc|8kj8}D}{px98%ilnz6aVceE(~|&~O9`in+!`)tv@n%7gHeTv0J<5vH8OZO zX;+bzimkCZnSp*wX2A@i7q9E~KAVt6Ef+SUg^U>*;mF5TUvc?E%ipVAhXY*1liY03 z(A<=2+Zc}adh>-P6>}2!4!4aQ9IwfT^VwQ|l=&z{r|1$su%|by5Yvs58Te8WM}Yec z+^dO)F*DoIfX9m1$|bo;h>olN)c=a!_0{ z=Jp2dP5zI1_tq7>sW#@#?wr(E<#TnX$No^0nPI{%CJacGn%hbX-I|pAyQh|DqrK)_{MmadQKRtIC8ozXHy~W{J=&?Z1E9J%wrPI{g zFDBA-6oZG2vi2(~soYl`mAv6q4$2lQB^;T1-#w8i#ZxQdOWO7tj(@11(WY*C{xhE` zv?G6(%ZQtUt34GfCVC4Ec`xgkPCUxubz?wDO{ z^UkPCPYs0{u3L5A0%wig0PM|+GZLn9G}J3!nKPm#=0i)tA>A;B&w&m`6ix*0C7kkC zc#4kQXa}I52+*EuZ5yez_*ZI8FNRRG9kcFB1WsU3<4?7)c-9J}+-LnJd7Vl{@irQ# z^fr}Dj&IM@YCG0L?jYeJc)}U+k4GG@=4|cMJ7;A0Rq1R0aTYx;Z}7>&J7DCUfdts1 zQAjA8x{WL}KEXb(i~oCcFL)9M;lbUIvS(0jrE)onESXqvo8*V8_pRE}1?Ok6E_|(3 zry&y)=_!KJae@+;bi61|#dsU2JzJDYAqeXdm-TxZI=ISJg1A%hIokE+*gPp4XE!dN zeJ}}dQd~pY1yhZ#o>rc@K$`=3C)j@|RRcDkWm99;zur+A*}?7)e4?f>yvC4g^-hev zdCQ&2!tEe9LP5^|*4cLOQ0`AyG0oQr&VX$nR5|B(dL(^VNq$%u(~MQDZ|qizoS1L| zdsN@wA|+#;&(x8LtCCb5ooyd^?AsR#QdOvTKdYKzT?<)K5Q?c(t7Ld6Kqrh^+w`qX zpE2@8wP%`Vfp71YiPx0=RcTQof~rtE~xHUMr**C4iPrKDUYS(fuqD5n$wiZB+%Vk~F)TFp3L z_0q|5NS2Mw5;Zz4GN8{R+^wvSM-!>0<^S5>I#H&RvoBUCD<~+}vYjk;78YoA;MS}e zJxUl*UqnDSn!8lXu9B!Em0e&AS1vdTQZM(lb7XDm-bY?#Z+JN8xZXOcahCFs3o|%7 zYU^EMizN^1tQu3@&E0v4oT8^|)wnI`*6u@j-eO+1!_Gh>a?#|uD&?#0s!7_4x>o+Q zl}wgIY%e>FLs8@-6e(UOiYX%$=S_~f;&Qt&IzDuxvpnpsjvMvV87uObry09Dvus&% zhka`OcMg|eeUE2*e&2nzj=vv~LS5@x@Y-tk&!)-^I}Ps7!yuhp4oyzVeg~(3zuv`3 z8klKPw!Ibae28642C(bWjUKD32I;na?d)!-{``+$nHtx=P8q_rQlM*lVztm{`G$7^ z*mOyKLWx2_cV+880a+?FM8LDbfP!KiDD$a%rV5T&{NbT_;+&bIP8b7V!hs$6CmpWp zsK^-|=7$5)UA*Yl`B;J>7W;k;o~|8TLC2F4)oXo6<$VyK0&~g1eDD^oB2TG&GKmGs zV`7qpfI2mFvS^@TZj;^oBrM~~bDoPQdYKy&`RoOHM^{Zv@5g7b`zH_qpBvsUYR21< z0QqAli{2%oUhKN&n`v?&H0=npCYt^)R|?&%y@4 z>#^G`c1nuZ3K*Tb!NZvavB}z0o4A%c0L7(Gc|~8+W?swX%V4f|ReW5Hy0@#H_9-mf z!ar>;&gOmns%PP)b{OZ{s1LGdIT3WVTC8((0z@>T>$B7=)*iHFXX|SRn?t4+RCpZx zar#?iT$cCNNc%$@*>-31lex3#EWGN3%`Ozkk-yKUBXa;&w=yzHaQsEQ=dKR$?QNw{ z@-!b9mFHrxw2(@;#TEkTTIzk)m>AFoi{HzKAXqj_$ z+Uz%23vN$ha~VGt4Ow{#ld0=eivyE+#G9 z7a!@ly%zVlGtjesJm?hl{-#~S;rd}}aF*A@U#Irh^`mYWb?f8wS%}YIY-Mn~S%#ZR z9oTqfcTq6VQ`uF#Fj1w5V{6Od^QO&$In)izFg_1dy_WXTU7y%);TPa{Z+{t8rM)Jv z@ix7iORupAhq-iX7dVheFbl;#?Jv zjEaopC5!vH@Q!>W?S6FXwjQyc&GB%4Dz)zug5>UeTRd2U3g27Fwdo%5g zf!bv>tw<==)v$G)ZHnx}aTe~>(`0qf*#F>LQIWMw&;R9i)mq3idk8Ii5Ji`k{-zgi zY!005u>G2@q;nlg<_9WVhRI}1MLBEXyYrZ=?<9SFP!qq4Th5Q}1O( zHvQ$+$bLusq<^D-ALNdy_IRnY2-B)Ra9KaRHo#!PANKhyGc&zC3>l264)5To`#g)L zDsO1Iwi$gDyzySHEpIoy{ApT+2b{Cs=g;DBmFN%5`K)12hS!M?~^jLf&sydst{jWOME1P_pGm<3tS}c8Fl55@I#wY7SF_=g!9@1dAyb<)&8_HsI$;jil~3_PTB8EE(5%K zw?8|UnMI3FEncUKdMYxIg{q9o!4FH&(ZYSR-n=GGmFM8MMQmQQ;)%lCOjN%_)gK6H ze65fecQJ0)UfR7LW#aaWihG9xhQd0Fx}Hs%kmKObXg{y(E<+~C#U=Wl(J*? zC7F7~V+`gJn(SMx{*g#A%AxSn#(QU~=9`cBTgM~FN!YhxdaFZnvPcnZ*iX(PX8<8E zt6Rs$PdUkWYX9UUisYPIp%QF6!IPM#-K#i^IkffNmA1S!D%R-}XU7Z)=N~+q*s7F@ zl@aSp?#)4{Iishcp;4%#ni=gKbf_QvBaQsCeee&0w1Zr?{;79$O(AbNjfSV#n5R$N zVEmyL=ra9)wQpE&I_q6i7zd90I&bA9vSggiJD9vnz(gQ6(=LbdsrLbJ^! z45L`Y*u%02vRS^CHX}TwK(IoKM$qM$>^BW}%BIQ1gB}#`a}9gOi8(J}jCpGgF?m%% zU=g|Z>mw>m{2~XxA_NAj zd{siQc-*8Y4co94rG}nya5yoLV=$;ZUIU`J&a&9~&1HDqF zg*F3(lk%ly^nSv5lo+dSbirDV*!--l;p#;(xF zIgHGT4R!Bpi_v&v^s)Cjch0Hmd;QQNyWRBOBs)*IqSoI=s4VnmZk61i2&_2h##W-b zTIcWL#&)78Y2i8?`D-Oac+=(4nK9R}y_u-fbzOWv2kO8J9neDA6j2ltw3eB3UlSX?KRoNjO%Miydp_H1{EoE*{&$5h8D&oyM* zTD|GSK}Va;=IFy&55dbl2gVgA<-^phsZ)*PiOzuRHQ0Ul6{q+sy$s<(Hncs5DCp^=y_jvEO5%wE#~Wq6rX*=7b32Uz=yW$c9f7i zIeNNU(GB4q<>QU&A$iW^@p3Z6C!S5RL&z8S7l|uh2umm5q&;GN-Pn#g@8~HHyU#@!U6L?L$Ij=Xq7wM@7m>+8+sY z(Q-OeauA+#hF6S179L7DOQDjEU^QO4VguI@ai2vEZ0g^1@0>trbD_SXE}A`3GY{l#=fJywXJv z*}QBFKt)Xh%ZJnF`GtHS6+sz%%Bf>q8oMRMejEWzv+2}G>e#T##dV1pzJ!gCRSjGI zSt$~H&--(bOy{UCDHV<)F_wk^0Q>9!|E$Ud+B&+9T=|OXF#ltk=cJMh;~vStCR}Jt z$2mx5916P=?hoNP;W(A!@jEOudZ1bf>^8+rMAMU-y7-oyLR)Myi15KST=fiC6hH@F zRlL3OM~*4kGK=<4WgrI_*{<(qze9weu2JFNtFsJAYVuUQ%ya>Ve5yReG4qF_dOi;S zB6(F4HIu<{Z$J?|9h3uiE2E8Q9#eNLCY#NWFxgFTuD4XEE%7T18VQ|K0vxaS0iBZw zQAi?)?zA6dHKTxRD!dM1_!HgJlul%K!t2Pgn1YCfG(u^v2$zjjo>QmkxH&9A1L%Q{f<*Q#I9$wzoc!8(B3# z6V*A3s~l>GKOa}!gvkA3RN{%UZ|2gTI7<>kWSQS;$p|%F;dG!}k1EbjH1H@fP1U48 zRheNav>}h*zo-k+0{@1au_)W;j~iW))NLu*E(UL<_l`VAN2aD0=@DXPIn&aI6}n0q zGAm)PRaQD>@o2NKpoOP1y3n?uI}D=Rvy6~kUD?k+jIorhHyi5fu$|E8byo-NE?Ka~ z1}QPDc-H>QeDik5B(3$WPu)BnsCAhul9SC@^64@O@4^X8~TZ8`-8xN z+qI>X+Xv*(H{W#a%?*gm(ORO~{n>r@+H-ik2zxehKawMNdHW^)fg9|0 z;@Rnj+DU-64$GNI_T7fS9V>}Hp_MNxP0{}@ib-8nPJ(zLkScmf{~emw|EQiyFRhj) zyARG{#&?6A*bQYLqXsiscxm{D=Ldb}SmFB`Edn$QQ$rmOXn-MG)%D>j>({-NMoiNx zYbWvmw42~a-~BJag+{>}Kd*U1@B0E4{*1Ga{uwXO5*oLq9ejm^qnTvYUJ=$-4&=^K zZo_EYQl&BLKxkHQ&r(U}D~lgnmzOw|q3zV8qLaI2ULy=lnSYjpxx%cjw>yJdLpoNO zc@5zc+85&y8i*jwd#Q8_x`nJMe6@qKM`l3hk$hPONw?*w*fQMJB`7*IBrJGejQPtM zLRfHf%_sVxrYUkr0G^3->Wf~x;R=5mW7ygAqXFlfkXB1u=3Ma&qN?XWLQ*%Pl|el9 z9(_-M*a?3zq5&c>SW!-~E4ACdd7#j=y?n}*qar>>r0r8^$5C7Pn26_#Q={56r{FfB zyi6y0<ojg7!;pk#;K{B@1bzZY@OpB zikK&KA^VS!*oED|H_r&UX!$DdvcrlYsYj3By2hiIl=51(_tY=vqU5qZ*FX8o2s}yk z4XW9*_J@7wnev3bMzmu{*?SEV3pbC@8yQeWgK(G9y5*j{(v`n&R{Bua8+U-X|IxK{ zqv3ky6@gFi!Fw5&n*EG)#~I6)@1GM%(C-|*&tJRzIr5xYUxmACa^|lrIddMt9}#CC zo?rQwu{P)B^#Pe#rlnc|vD1qz6E^%}d|`G7v6>{`i$)+Hmg}d?OUqZrZ5G8Yc)&gU z8s8X0s<)Tm6VoobKFngCECk7HH?0pZz0^#aAE-t}aHTE=l*V zOs;BOn6xbwz%)S{}YQHbOzKtcZ5;p9CziLpgZjFSpQ~qwj0sFb|{1CHHi@tecO0vIaS( z01gRvhRvf&3!tyy3M0DweLyVVgt{})4x}LGhC12%Zsi!npDs1d%;cv7af-T-1_<2X zugJo~q{#gHz5+82SVsIg8jvPRXvUw6zUVSfdi>kEi}{N^l=X z7w>K`vEmPE2P6fnM&@1Opk0!FbhD%{y`lCI5x>YvZ|kmv!R+VU(${WU%9HmFeOf{c zyHV8Tywv%1d<1LPDP7g6t=Z&r{Ob}@z@xi1`I8zFd6PJeCpYd$p1rhRJE7hLbv}=#*d0Zhbl=)UoDA4NhR5O0`3@? zbM3M%Q)PnIj zv)4V=u@=s#BTqmOG>pV4t2UD$|L(BU7(Z1YAjMezvlwB_l`1g#njN!;HeqZtP2w&i zQDk6HJ+Yf5qS#U}$hqLJ)Ve9qiu$;DHIc!WP3AaN<}Ss!;nhU38@b+`pW;ydQ=3ys zuHPZc2(OYHi}v3E@#9aGquKj0&O~3tJ$fwUc*((}m4&|3Ps^wJGcv?SN5KkK{(O!y2gbj7>A4Zt-rr_N`0*rtIM zREuT(B38b(#IaF^qMMq;IS23lJ#LWYX3mOsEN>6&q>jc&faX}1QC2=1_vowdhHzsi z9r9oAs9O0?WLj1qDM%TLCIt_)UzMuS$_m}JMY7Dk2mBX>=ZP4N+6e@ChZt3b@0Nrj zZ->DZF>?+se3CE0!{)DRi%MIbp@=B`^%Q3BV-!@|YtBl(WODQOpK^+A32ZZV-!TP{ zU;HvO^`$oi#=CaaalXbIShYIi0Qk7(FAnUp_mCN8oz7@c+f8B76t;|9zlwVxLeKFn z5ihToa8z<|#%eaD2gv+T(SRJ$)Ph_Lw3MJFAibrV9$)U;;Ic&wM@xE(-jo?AgI@ zajreKYNH9~df>ZXl)Xu^*n%o7hRd-lZW5FfOx*K!zYTv&z$YA_s`=e{+=&Qe!P}q-$}>i_RK?5{)16B3^;wf zIc$*9O7$JJ;?E z&aQ~#rT*4SzdG#UW8KmKoNK@fFo-aTpvtT@ZpSj<0eHh=WAcj8haYf6@YQ!q zB7Wi?ln0<73^OJ&Wlk|B>C+E@0mu+in6w6J(|26}9asb=Zt=Sm2-D2(ar!g^vH<@o zbZC}D=1AkzfAXX9<949JB*HYp{<~0sCInYzD}-RTejx3@-M6Dw#%B6rJI2nY86))}gsBFw0L%ahgaqtj z<^|>nQ?=fik(miQ>~Ak<02UD}v6omj25aN=(FPI_XX#wU6s+J+CN zSVN2fd5QW6!q@|(fKdcRYzyoo7Fs#a@K=luqZ0{gpN)3r&&u33lE@?-Kt zjA?nv-{`Uk`|JPyCR@}upx@ok)~6A!4*cJ8TtSWJN5+|eUs4S8xjk^0|G8~ zw$V2ZJOe5KEsFmw$1@6BJijp2w_}X}8UV;|;zND|a*oZ$%rpAUD|bK@0zN_;y-CTp z?*UAadK>|}SpUNaivQT3rceESX)gdg7A6ZTGb@YMki1@N@^?=rzcIBj{bnh}fHuMt z(>KXezri*9?%jKkegsX=9WDO%c={jmX7AE}led|1W9mEe6V_)x5Dj4Z%_}Pdx3F)Y z8h#h&832j_o(H=28P?q$Mi4%h`}kvLU%N&Uu8|DhDS-?|pJ5Dh=l0L@0lIn)_dB|S zdxVf*`x9Sy&p8G>9lbr#gE?Sd^Alf?&&w=dGQb++_rDA`2e{KGIk2A=Lk&OPpLvbr ze?CJqePIGaSiS^-A$82Y0q+xEA5u=!5k34mzjDe*dty`E9qM8Z;C)cmr(}oSe5oBV zpH=JJNS+~&bYXp{?rb4^NyjZIo(t68nSe1SpA5bHfR`FS{`8lRbNAa1>vu%RFYO6_ z(08VZ8ZiFpclciZgWsR-Q?&C_8pn&3lXT9>f1}h^TEgVd=0_>MnGQz)^koq6287ivm`YI2?1{g7X?G|Nj^rcz49w1WdXfmDJ?cV zg^tbvrG?ml58amWCj8OE|H_h!B7cuJod#kE^3yO4bW%-6;MRKXxRkEz7H{#(7sLkQ z9kZ4|USZOa8$=AO8;k??M~`|sXe(MR){h>|b}%60j*GxM;1t@=7VHzm4IN0Xho*NR zn#~Pc3i{7BlODnf)C+6|!1b*Fa}N59zw_j`ZOF@ZqeZi0Ch&e`&b4FQ8^Sg#>tT=lYVF++cB+fG*!B0f(zSwR=_WlG9>g=L9>>l$2sF44Tit_J` zOW@t)VW3G#Hyixlxk-n`X;U*Y$c@H&n}$bDKE{u0!_bynJf8>;#vPD_`6{L9t98i- zt1XpsQ)KHRk7gu0#+?d3x5+Dx9c!~3&C}-(ZaoM+AX_#r92O!6g54Qgc}@eU7zhsN zO-5S<$j#>{yx;T329yBRPRM#GfiE-`q#M2+>rxNW5aoiU!26O7*G`sS1jr5Uj2ze= zd#*0{ziS`?I3Bbc&X1naH(VkgcnvT|I3IWqS|XnkcI+QDVpHp~m&JJUfCorvhz(E< zluL9w)E(1x^Dir-kA^46HHH$ko~}EdsIPl>9N%5{H9{XvvyZC{p-Y8^;M3iGo)RT1yK6LrgKiS6AqgFUM29$tgf?slNctS2VFuGf&-A4Iq~kK5 z&D_@^ky-~?pX@VLwtX7Y=kbI@z6UDF?FaO#;Uz@Yk5!7&P8qpc%MRR99iK-3v)vZl z6E#<7@XPI#C4~=aO{ur@A&)g(aJHGpm@R=f^H-=fIZj+Ne!4AzyRTu5^c-)xqz(&k z#4l@JI=Oidjjj1}s*jL|h3@R4kxeb(hp(p+bN7$sd535XxpU_y4+}B#b90~etVVpe z<#`X@iG$3*kG&gjo+qYf-EW>;kctgIRY03PpLaPSc)0UV?(>{VL^~4Xx_h;R9CLx> zn4U5*9bqpB49Hy_jkYA`7@tD2#UR<_p31#P9rFdXmSFLQ`lx2$4xT)3I>=tgjdAB< z4_U_8p$FvvVdMZnt{6M6pqzV{bE3%Y-xOJp{P01`o$4Jm!i2KQ6960@sy!})^rXFE_ z3boFVbi(yx#@O)&C5-0Bo^8XzSPrzWKheO9tNRiS8^h4>yoz~69xL$l3lmq~!%zsQ z9il7=s9mBg5gNjOKl0uhE^M`my~EmYi#j7c1Xu1y&%O*QXCue_eX}2Zd&FwuS8e^k z$_mlit=)I>athv$o_~m-$%NAn7Hfs+ry|%LCi^ru^;(rb1nJ0ON4&uE$ zt`gpQysHtWf6IO6CvaFrM%3j$ux9u`_FNxN9oTxz=eV$D7!2updm8;tDf+Ig`=o!L zn`RH`x;$?AHVqKoH0KbDbzYiYpxC~(J%zS>Oz`bl^G8Ixt;;Qbo62~(j&E zxsF3fzRUESTJy)*daTFn$=JS8dCaf-EOmaHYPwdf8J<0#WNbZO-v8S@eD7d6&a4^Y z#JVnx*Z$gij&hG(81qDFyELxz0iQ1Z+PbNY{n~8Y!*UrJtXNM1G%5mDy6Xis+j~7A~a(Ca8EQx?d89snImPoG;Ap5@pYv}OykK(RfNt~n`hY~=u8+?gdlmr) zOf+c$KhTY804NeA9hfrom=uvaWG+{PfhdBrg7}dL$RSC(|0yYiK7kcJW+}t%<=2;2 zEZ0ms0C$=AQpttXdFK;5-kp}h&-?|dHfub{Je%{6HfSkBl_Q+l5}i2bbWrgW?3rmS zhuO!!bk$fNo{^8*@2|ak!|-F!W#CmUJMM_)sskVs$2$k0%Fr4m`gb@T`~g@$EN6Qy zsrUqj`Z!`2{8w(|8wAg|{LZ+(Ehtzs6A@4bvZcN_Tg(B&!L9L$-LfCwc*eN(P;TWU%e4)WTGnm>yJF)w}VDu5(>;wiM?V%y|8+X z!@|%bsY5>Tkb`@^z*rANp)oT~Z)JDH_yp!L->IjVjX=P&qBhlIN{{ZR&&%84_5bf6 z;brf&&0Z1{JBQ?XTN zzbvfPwUJgRhBnt9*j)mn)LkoH8l{4G9UWLa9Uu5Sl<2skiVLB;(2N{Qh22RExfQh9 zp+W{GN4S=;$fcO!L`E8|L*vN_(X}e3x~SNFQ4?iY2hEPOUym4)ZY-5%jE;zGV?QbW zK`P4#(O3whJ76P?swoN}F)K}0rc?QX9i}sA(Ii`TGREIF^-2jOxbHZ;<$r%O7Aiv6Wky12FeTQNOSV zyJjxMh_X;5R#{RM`n}N5NXc`i6|B2&?o`g3C2RbVIUnLPLt^}~3vWR;cKMhFWHsAQ z3oR->3s3LN+|0* zwbT)xJ4CW7H!Y5rdM7fdsrtDZ76)8~EqRaAFAtQIt%(vR32}rMp5;iLEHM{eu*RcI z!}2M!kXcN9l$zUtp+)h?sj`kJk1Q4WUBNRMcqWQ_|7&*5an~oDJ01?dxq`A8N+PR& z%hp}N7g`J!89Gc^Yp=;OZq{OKSlmte&yYJB%x&4H+6HvsVyi_D;x$BhcrIuKZi!T@ zFF0y2rt$u+qxe8;$?ib@8ku=MF^0x>RLq@3U~0k;2Lh8DGpL+M>(4^t*iX1oxKY?Lb6laGkn7{!w?o}Lg54}r<)ZF&(E_}R>+3fx=^WY9aOpIkM3k}( zI_lYJ=~TBpVD~@RLHzK#*l=5p8_^V6Gkloq{u^=*FEOhA zAn&^ISN#OKV9E$wm}GGRLGr~ot|2BCU{b1i{f~?P`qH^790GUW+iJHoxA^!90%!l5 zGE2e@dL+5lZG;z`2@u+giy%bqt}<}aM5ccJyFV30yyRbwDkl0#d0 z8hnBKj^S9yzIw|9^@rwsg3C{x5cXZg{D%i`45v-T>QO)74t zpUaKJcam?j!R$%YE=jsByhgn=m*O1c<)SG$w07^8V#~siMJ4kpYYfVaHl$wU`4{;K z)Sgm5C260EGA4P$3AvSvhGT&}dDru~kA{?&i zS+-v0C~EK)uMiwHjokCGK%B&qETt8RXcp^eQ~H^A*jqm9j8q&`B)JJ2_?RxwExYT@ zo~UvBLtIOCJtLb+p?-McHN}ls(C%M@B`A{p>>2ELqtOQn24XaQ(QD7Z8U{SyU-No= zEXZls*-s4F?Khdx(cOa8t^SXS>i_F;kweh%v@eT9hct6`h#HvWIBQP z&Kfiu=*>OG-j+5dg!>EBH^^qLoa)@n61wIvb3>-CKp zAl*_G$WC+;mBGv@w{(=Aq;V5O>H;tFdkNjbn^Jl2yMI!A5xRwqaJRwnXFh90&NFx) zIi~xiNiQm8hetSYFDzB%y4j~1nplvknlH@^1-M7#qn-j?lELNpf$C{)Dc1ta1z~d9 z**&g7JNa?7KA}r$!SjnZ+BB)8Perz*ghW_o&g&jt&@qsb?zjxZRN{688_hYDo!1f6tPg_M!JyRFOP{b4~H!LI1veX?<;_RhW9rFKjLCX2?0Q78`1P0430M z`S8Kpt@SdG?yrGdpIg%J%bhp~JDL}NF(lbR<4s0@fmuR@gB|-2f+vF&GODOZViCz_2Ikqux-KIb3=^(IS06`DJYaiSd!Ow)OXY z1hUDPc^)GTiNLGh8Xs#Thcd9{zHDIVH!^j&2$K1df@ z7P0={-$^MmKYGeQZ|Cged40N?GUzgml%LUX5Da4q3-Fvymn_=oRb@oulv8yPFXudb zop{A9)aws4d@G|ZYq7LXe`soXl;foBu~oIG2dAGImzVh9^+2~`#}pTAlz<)a)*0SR z85{+%VzO+cQn!xis?-h_W;=TE-~R2EAojUZ-n!qP>oOE|rYSQ_+aU7^(vz7u@BtcM zc7Whymy@n3<44%qX;)72eh8zzo`B84ZR@Jc#HL(bymw2?g7eV(Y*oFV-VGtU#~59d2}(%1;%HZ5gKh=J$&_S#^3Rt$9CDC#`o%p7J#)>~3|(J8yTz+h?fGU9tR5^z=k@$Y>MygCAUM zUt0zPqn#OZ&~Nid(nkIet^|x}UWDjG1ioaC3nq~D4-mz~}iFE!q2ol1Jn z8F^=ka9*tB%D|QL6OznP5(j<@y31*SkGY>Yd=Shve_ST2@7NC3G~xo?@JxkFNKdB7+-Va=Z4G7} z2)v^QZx|KVTgcsK{y1xHKp5O?!>Eyu5T{!S?d<7XOF?PHTQ+KnkQM^mr2pxVo@{YU8pk>q=O!7J9U^ONIQmF zccoYgOO#p{vCKJ3X{H*@Xf@{(&xoNa?LjL1sQXCA%>K$%!ekdH0cm%N6BVd{TpM+5 z!7VEFi=K)=(-AIpV-eEzAo2-f9TYzL?@v=(NyEl15ENiOAM;awbGfTZ1=4i}(yUQS ziu#t>_&tU(wVWbLY3H^n($nntb~D+Vf_>nbSSa*FSp%A}Wqn58|F61fgLr{M~yD$&%T5WEL$S}JwO4skSpC;yH^}DpYw(QW z0$X@2G^?0jQV*LaA~6R}8xI!_raMR7x~Na&_I0lF$usm0*$~VYeL{Z>{X2R;kkZY* zlEEy~Ey&dIweVP!hVmUQF+lCeT}7KF6H5FM)9k}SkeB^u!2@%#IXk#D&kS9*j~cnI zR_kl~mmw-&yMX094TWb+ws7KNb7@2DD@^rOqQi+lUOE_WjqIgTg{iXztGc-_Wg-vb z$No<(H8C7U7DIoVD+ZAKej402QHGRf zAvp05TpZ9{Dc}^I`dEL2@GbaTFj;a@G#{4qa8`GsX>(Kk-;C$XkoZosW$p}kINII? zlBD|(#k}_iXUGeP{^N0+M^uZ|BZxFz~a|&UPsHJto=0OZ2PQqmh zJPJ_jprbH58j*eEi>v?gPw|iE8w5S9_|cZVxlGuxMa8T@Xtg;{*b**cd4qz|1~62s ziy6QAtMlqi2CkDqFMm)T?dzTFubiTQO}IUhmi5HBdj6oesCd8Z{H!@0UU3{D$&2GV z+LFp*cfDG_UMwuN4dZ%yW)hKtT6wI{Rb{%ULfScBY_rJeKctM0tcY#+_X<{4}%K7%NUwJkLoIJ&jg!&hDNDXxqCd-}}4o?P^dD zeJ2sbeB4rNYuTZ+rX^U^HBLY=m)uHEebq(Jc9Y6~krhbCXxojh&p4KS39f#^F3URg z5J>QgrmGn?aM5-npD6;`?Ltp5T^6iO3}rO; z0tpI z*taXp4g4Y70tkTD3-*%S*d5y$@)OBHb^T4X@%<2cH&VT<8|HeC6KTZj#XNyirPlHj zmM~a3N;GnVGj*-hY67~05I62AaD*OSoh(J*Bbu-{Fi9@{u`(Np=DeY+Tt*xVn;5f> zqY~UwsTG3&9I8qKOD)RSuHLvYIBK@(DkZA!ylb>*dVjP*Wk|1P*pVi+J(JF;X*kt^ zo#reyEEnpYJb;HJ{C(7}IOTW$tLC$}T8rwU8q5mpEuM7k7u`iaH^^I7EI0H|y#Q}q zJy(%BQ$#&mShNc(wO#!#6N-$A2mIJ0o2Y_rHDd2MJ{oylI3@xb0;}1}SPsicFjtG)zdMQH>|HOKPmO`Sk zi3ZCKR?Sp5&+<~)jGstT3&Rh}-^PQHzyQ-b@3tzQT@OiS8hR@@zsphI?l*RPY zbgd2ft6H@jvnW|Wx4y`!d=Bo=IW*zY)!254C$*|XOG&z?SdC)qW97Vs=@NfprV#`<%)QhfLvvJ~R` zF)4fDBJ$)qSzO~ybZoXI_|$ou!FINHJ$d)`uEgZcHieId9NI@l(^Gw#=&m;dc+T`O zWtVs@vGmobO$~NJ_BzG?iN%)dSS$IT7n@vo1XdeXDZxmdS zar+YBCFAKjz&pDo4e;jp?#G(9XJL|iJ>*t+lL4jLM?PbbP3}7d@d(OQx2bbz9~nR6 z`zEv`cr~6pXS_EKTBrr&1ySVB_OWGW_;?AqI=WX&urG{aCo?P(hF$Epbmo0^>u^V) zc?2dg35ye9mSBxrDso9oAWVV2U4o|p3gH47eR0w_q6_44^nEV{l1Y5Tg5+6!2oU|q zGtzw+GPY{pl4T}2hDmXt0uCA#`p%73?a z&^|KyG!T7E`7iuj5?wR!-;Mx=jH6-Z842_c^fn@y`}kg% ztM7QrDYnWrNcm`}@!Q_v0-8tPISsi1b|lAT1M<2;K`x2Sg# zWZ#`9GhTvc6GMFtBdbT{>2K3zxbAP$#hyvhs2T?Cu!0}H(n`PXNo*KwPf>3YSOKxU z18>CkSry=|X;MnQAv@|F-ZYV~Nxw>S&KV*|U-xY{9oZ zYPmMxs2>^wC|>Jf8bQ16Qhcj4 z3OVR0eG3C)zLSp!AIyRe*7&p_PYIt{13o#m2bs_F>gYWifkrMHLa!IHNFY9eiTVX+ zv`s75$#F>{&YHCeXE|2bpM!SQ;(t}J#^f!hMC(@4wo{@VqA4Wg^stSLdl*DJwA)7f zZKFfNHV&{^TUfwmzzS*Sd^oh=H$B=YP8~!Qn*psxLaUBJ`28r#~M{Tz{Ncb{kBCO&2bwh9rlkQ|Z+{_w@Kaf3QV~_(1A8?DVLBQut zfKlB)4i*Hdm~qe+q``6t&&OYn^}p|R_WR!=KzMcDv=%ukdLN{ec$I)w=~KkaxZ{Iz z{L=5=$-Ved*ytFEjez%gn2&T=o+s11nNqAcJ1EaWWx__1@97fmGmZ&iE5QdPYIIQnU$pX%gx`~Zzo$pmoqxa zY^9N6#mNOj_4#w+V4wHfno^1xiM5QAtVK1XwJeb+X`qay8%ySp!Vx%2@(S?~alckk zKxU@>WM-P&0ps={b)CxhftS86$v2{ma4HrRr_scOQwq;1oA&6iGF5aQPlGmY6VXKK z6zl2YC*$!_jL_aetp2=@c;2%dO^`GiNnMUvkf zhe;G33A`O4qu>CqGpUGSv=vL6tBgqLXGKVvh$l%Q!z-gV1A7ArvW}crNku)^FI; z6TgqwZ~aDtQ0Hmu#B-=>>lx&PgwPMCU9D$H9yLTBJwzS@c?{&~XTSJuY(6_gT?OP( zL)29cQCD@1x|$*Cs)xvn8zN6TM4oPly!avV5{Af29U?Dnh`jV6@-l|V%N!za)DU^2 zhsYZBeMf{Y7Ox*R-V~)0E3WTxe$8teb5_;8!An0}fkt-8 zs+vdP5u*;BL&?S-<}xcJveXRagki_OKFbO$%O*iWbH!xqp>uTc?b0_}%;xDW`rLMZ zRqLS(wD!;iR{J9_G{1m{bI7b5H5T}+=Ln~fm4uh3pO>2OvWm%iEGAb0kIDMnv;KdI zXtvNAfH}=#7>QMarALV?T9O<$8Ixl6enNq_!$|lbsKAN;O#Fl-EwpUISq41==?e}S zx)(Ps9^uTs{wrqzN97eb<@GWRKD!q?$&LRqg>FgusqzZRQZ zhtJXW_%5}kfD`QscYK#Vj@`fripV&SagtlWjpmMv$naQ;*^y#5-@MBHggw(~g0gz9 zWWVoRTv1<3r*rga#^XufZaeQoV-JgHs{?14(u`znbSlhx8f~iM2xd3dO-;G9gm65@ z)1F(!u@-77>9sS9KU$LMR0-!G2K}5@G!#UAd}*Ij^6~5|a(_M(i9`(0clpqsK1e1= znULrbWL$1%gvJk0+rdyIGTfnWUS%I%mcc!4XIk{FXgEA%#iFZTE!&`d$)kL;^?JlqJjUh0gEzWPE~u9PDb?MucvM z?-IZ>xn5r5c<_T|4?13KdfXn5M_?-ZHj$}4AtH;`eZK>)T}vE%1rlmpRxh0mQLzgd zAZC~n2|U<)!)Z0>s4aCQJ972M>ml5WNA^|EA3cT4v zBE6$NWHgxa$)2)46u7TX+dyy{aD(j;(05%gG8Z{lJBu6&=PLW1+=ouRQ*EhmlKr*$ z;nhI@J70X4E^acWcg}{qHQ~?k3|PadPXoWx@1IRXi63u<&oz*=T`WBZSAp%`-!m7p znBGLJ!5&5vT787y#7GNI+CDM7W51O{S)suE9+Gd2?3VJ4;is{6KeL<2BKfz3cg4uc z=%N#^lo#h857KDin-Gh0qSE5S&+)l<8J>^75LpxojPDV6rtArMC+j77KS@Q-8NMvr zS3V>wq^yCE6>?bEWc!W6H^HixRWK#GVV@^EHYtwJK*+ig&JQHA>LSuth549ShRwoZ@I^o^m zEyc8-Xu%sShO2D2+7+Zc+UUIlm5|>f_vYtyavwgu3ZaFoh~ANr6}Vpco*G#Xt8o%Y zIopY{9~3C0ZbOhuTH65YDo+!;SG6Y}$L-GY#P34j1+ChEBfhIlL)ZNTev?}7sbJh0 zT$-B|DuM*hydc3cH%L&H2P@#SELZ}cvw|abumTPuBdTYG%^|}<%1FVLs+aWQcO};D zWzdf!KnLAnSermePY-GLS5WdWlyvb#cdRf5a>>c!7phNyMn-`~zJn4XXP8v~bI2VH zxhHtEiO5w!?sBgWxU2v!|Kcel$(`Lt<81FgAonTA{fI}k6`+HMB2I67S4G@>JR9nC z1ZjN8`w`T68tQm?(x1)<%D&)79?DpOsXPR&&h4Wm|M4EwdlKqx;b%!W{}Ci;-i6%N zkXr|G^C7oZ!srEzM!@(SPf3>ijFh_@>OKQ?ABS9`!c0xP>mYYNPwr8vBNg6KJPi}s{t%6~dS8L^7omI>PdtGL9`>SN z#`agBukqFbwk*IljlUCYl%P8iqNTO)I-vX$P)-1OB!7=2?^(!Q54lF3cs?KS`?HVO z_&>t6-a<)_aeXM8J81*kC%^Vd+)8{aKu$KuQ2;lhujeFgj{>)sfm=^I@ohW91pRnP z8_Oj04?y`VP~Oo_M#iQndQyI$g#JD#Z-DYI+V6zXO!T!fihdEu8wc_Zx667g?5~%+s)L-8|If`hKlwSn-Z$bVu?MUjqe)Oj1~ zJlt-SM#Sq(0-xI>+3>kFVt~&rkqY>1 zh$Qb|gjXUX;B!NS@uUs-3xk*;`HO$9m;J?)D-pT}QYoYmxJ0O>JEw?n!fQYIu8()m9k^f{#WA-w_V1xOsExsYZ+ z(v~2TzPbFet1zx?xm_vDiD(>;+s{;_I`dmpC6kP*(&hG*_A%fu{@zFS=Z@Ece|r(3 zGQd9jF@$`7B>Pi3{5+y(AY&--gh-iar>$GRY=cd8LQ(RBQ6X`d1RQqut#J_^2|%~^ zkNx+YGGINQ0Y2`Trlq(BtDx`5J|E*|gfrn%=zG$acLuk%poz>E#H-A_*6O z+(_WjK4Mn^5#mmZ60f%Dj?!RLByVZ3-b>?z5@KmqXwmFGby+r+&Nv8L0Yw2vVi^Wd zOo*_!E4rVjhdF*}RPOXg5gO@8mG(>$@iR>n-cqp?W?-_jKxE(0H%)5suSMcH6HDF& zNxuV08GVzaHkX4RO!dZ<9Dw|8p0xg+aQ``RrO+jv6BpOXvV4yqbO2JOV^nni=UG_W z(7T8%1<0cMSd#(AchVFqM8w(Nq+1BT8DRzRvp_pif#auP%F`ND8#3NQIqa!CC(7+S ziNjo#K^ERjowNHBk)7jufe_I=mLz`f3HWI~(V5 zDv4=&30spbS6??@_seS2-`zVUb-CjQ&ro3NMok7Xeeq2y!AQ!m9RS!AY6S}sX2^^#{b z#^Q4jqwqYLT}ZoL3KK7s0cZ|^7wX^(C9AMYUVQ}Q{snTsmh7S;be9ynFv6{&c~b1c z2)BfYR7a=;K1)K#lN9w!O5yWRa`X%YLU)3GY!8Ef0o(a%8A9(u+6u`o-BYZ^Mbh2t zr7%_#AhNtwq-zbB#PJ%?*1voHY}5JWQ9DN@zW+8~en}Xt^?7L1fgWbJe82po9)htr zqLg~PF!HQz_|frFk9{lo?Fpa>1!&?7FZ0R;Ue5j5(8ATw!sEPh4{6zvK5~DJ5k8e@ zj6jnFG@tQ>(oB*h`SDRevleJR;3rA^_ephAp>8tN-Om&H5Bms;wm#XfY>_;D64c0m z8rvjodiyleT1D2@jiLVg=+oCm&qslNK7RYQ+<-HX7-=LQVN<7u~)jL-{vVy&TtVvgIq>SntUe87 zNiGQozLdOEB=ABXVmntaW{#KAgBGOoojK?yyp$|n*j}heK`cwnw zi?%*1V<+=x7O@+kd##PMAQRu{sKGbFs%L!@v$q;6_qegV=E(=ok`?bJuKc4uO zQN5&h(|h|p&hTDc<7OM}C%u{2OL-CpwBqSaimrpddM0|$_5p-2q#Q^An5`0SPQ-ff z$tm~=Sa~W##1F@Tw7!SpBtLu*TJV&pc95q|Ex5CSSS@h0Mgm_R`1=}!-unYWOTj*7 z0Ph=`*)sO#$L;sbCr>!hA#(Eb={2(5Us-m!kCgp>jcoH*mbFV|rEBEABP;7j;9}ck z$uEwO?w+q}a^ZNuY?1t8zgOJRN3iFB=0_WIB z{veH{IX$FzZs}>Z$^9~`C)S@G>*@DrrZsY3gqI@p3G_n~eAhu5>li1G{UUPmIYDaO zA23-#$!!b=zKFbIV|I=3ZI#yC;lPoI?4wbS36Gcj@wqTTO?-iktQ{=jKvQG~?v&O! zjDW*UJ+1(`>J1WvV(=-=RdtgkdF zcRvlDK(ogKqsXv18`Izqh6B=PBE(+8f$GTr*wUgSB^+28A$FhaCl;>vo21i)@_dW3 zpY+WE)PE;27oeUOAtPl=Fw2s-mvNU1ly*Z9S!UtgVpdZ=euF%{wuc2db0US3oSP$> z##D$P6%f-ZLkbVdHu%$|d2eY?|N7$#;O*n*lYSQ__4cnnPD1V{((08F#zAg{wEnmO z`ush9^r^|@jKYR&kZ>~6D$W1|3}`92m+oy9ODt@|ZgEBv{JOLoeuV>*BQ!4Ynt^LO zaBbkpy>j9izT#z+CTag8lXwR*TT7$)ddXMk1?ONQB}u9=91s)$f)zYz!PuY%);Ol% z;3&@w(w^Z1qkKnjq%_LwpO*W{4*hg?2|`C8y$|VeNDCoNUn0+Mi4Of0^IJHuC#;)= zAWmIjR|wmJ@+{XOG7azcJS*gKR*fv@ksvGGm;Ayd%Q<*45{U%%wN%XS7-HG~e z;I{BI$;NA>XiNuXH$s^pjkL`o(aR=LC7l?bvsOA#HKW?ZB2YN#`$#<~A1CrMs38lAABHn>e*hDhQZW2kK&k#wUPZQ@z zEgUJeFdk~ppG4v=(!yLZF~)cNS=2|*G|7zyawNS~4vXwJmr93wIDQ3`4ONV$tRty7VkFQ3}i4@()5Ns+TH4Q9^d zblb)r-3e<8g>W>C42ILJxr^7Ef8bNh7kC%f7g!UfEU5M@{|sk_btQ851y+Uc$I~T$ zM+<9vO&s#5TVTC;#O!RaojRf@p`y>#D#^;NBp{s_BA zlc$1pk9bYq(_9ZL4ZBbMwo2M@Chsn&KdAQTOsB-mt=nyB{u105xFH@>StvS3 zPGD#nY4B_eIkj|OHjdjA4xBy9VvUEK+fF`B_p)6j;CbRYDeavirB?`<5uHilscI>} z%%P}S?Q zWG-y427STHNOpEol#GVs!hvmP6=me4a%vlk-{G0Ezejh!$$fLuzv2^v=T9^7Jm|xD zpquBKs$mv|Ifg`I781iT5xrN9LxH@A5k^2LP!KVbH%JsF=hnBSm{~Vl9}3ihcR<<8 zedN6w$j!XXNPENfhytVi)5y6OKjTr5_b=4b!c9GFE$cBmEx>C_u-H4<6JU78P` zWToB6DTK#EbS>>Ma_Oa19_?Odt7#jKKjsakdDsY4EA4%Ovfu?iZ`7z#7-pox0jl#OLk=;ZK=fSh;TTJ9^>Jh4dcKdnd&96e*4CxK|tl4UPRIiGt z?U9)C%g1FM=iY}y}t)P3~7`@XdZz_Njg_yo#b^DZVEIS3Cs%1I$secGju5M zN*I}qm;ueQjrpMAJkajTVHPv>%Ufo6$r(7-#}sS^uMi3pg8uqXHz|ZS!*tnCJb9Z* zKQ?ZajA^tafAm%ISxLSoDt}s-mE_+MrhX=WUYPN)n99}rtj1t6%8_F*Ixi{b8{ zVK}>Ta4%>K9_^5ExS}Y?+UnDgj6e(#4;%`d3Ml{q?MAQUVft;d|2jNOgM3A9vcJNs zmCjZX`3j#luOG$xAtnZeA$WPeC6>B1kPf2NE74G~?? zL+WD16}mVTx>^@suJ}(FQX~w8Q49}-QX~v7g_xgVcu~T@42j`}D=>I|hM^*gp9i@3-l_$Xw_oRJqcrwc$8N zI<-bl>Gk^&l^bPGhiIDkkBpG=ZN<(i@M(McSe$*(!YMb^*oGg`85N!!uB0fff{f~$ zL%AGf$#$-`p(FBHHrXSj0sevzy`eCj+K>w|*mPXQg#r^U67Sd`(WQU zJX;pz``54iW0d&74a@uWK1SN3BP(k%f2rKF_cI)or}B>|>pwkf2B}EGZ3WzO0e4Ny zcurYQO&ag4v2`A&H)sHl8St1e2Y9}_fU-~fz&ZiXNeRhgeaFEE6C_owgU|yZN~$vf?KiWf9TJSdOV<-HMk(fn66A1GLk7))Noc=)_*!jL4YaW$hN`_sZsVSZhmys_$eIyD^$&^a zu_#Sd^RTjEw>%4Ni`(+X{BfLO;|}jO?-p;rWIZ~3jy5BhCqjYr3u@`iydrvX6z2aP z3Swe%Z-Dq4>%;x~neozkPl*W@g23fn;iYz#U#^}V3jB0FwT1HJIf;K^1~|ETNOUc) z^$4$yW!KV$aX=SG&JVWA8P&zMC>_|O^h|6eIlBtlFiB4ihXM!AQv)=(M}8J|X_O}R zSz}V0^AdSx@Q9nwt6RvKb7}x@c8|Ooutf1rS@xgXUf7)le3lQ{cKWKeUwmk2yR%$n zcXQ7V+TH1(YLs!lfEX);hw6t96xu>D$(k1j}K!3MW zzBfhCZx0e1AoGNzhlgU%59^z2rKg?}-Jg1yMhZ_brNZp15GlY@2>K8@>%GKBxgXLw z;s;LW>MZHFH?Xi584?F{R25995Ab>k>-j2K#;k>~hFtjbzP3gC`oqq_zMdV7KKC4@ zjd$pqiEn?lDO1vId33ZW+)Q04@J6Slg{>d7^GQK+LRtwNN~>b^q;Gy!YM;Wr!i#G4 zCTa&OY>W_X7eVWu?i}Qx57H$v2f2@RRsHwT$ey(YMj?sJsNK+C7bxxF3yhXgvYSX+r=nGc3DMD=X z7T}uGIcQBSB0K1a-}^tNSG7@m<$hI`JB2ux+*|pmDtwp z1Rm!*21nK^k=PUIE$LaN2V`1gv~@2+3c-6o@31rv$BAX+&T{5_f@bA_x3UATzjj=W zXYN&a{`5e9yROZt7&vYF8K;S2tgYK07|QSB7{BZ47#wMdA{lAnKm0d8F%u-;)A4gZ z!3q~6SNe&+{#RZl!0R_d^7`~DUMv4_Ex$2qz;C1vw1yRSL}b4)`488&5z@bf-KBt` z@0=Pi#LBOUT-hgmONaK`j_6qa@*FiFdr9;i2JbA5-G9k))Je||yxg=Fug0%coD!G2 z#%w9zlHIlY*Y1CI{}cO(M&R}ZD9^l-SHcfk*0KTHI)8T1wpNB^+xovH*P?rPfX){~ zcUP3|)oao{GC=oE44o}X_xmON^KN`ue01KGDM<`e*!?Jq^Ni)>xp%`^#Q?o2Ec@RH zONR0XkHz?dRJC?$>_uHU}wg1siw| z($*!!juOfeZeAVf#R?A~kn*hNtv+ZUi? zT2UKakJI-KJnpcCxX*Z&AOr2(99B|zRt6jD9#)^L4*Y)b8c**(y zgEwW?Nc@>P!uye*@kUYJ>^(!-#=SANar=cqt$r`9df&c#X#M;?s-NG)=;xo&HShAf z``a+GY~(F}f;NnRHjvRg3`TP@v?K*uGF)njIy(NwadIDP-G$xvp)^lCXiMkTZ0rl@ zqU{+RhxI)PQhTibPjZNsWLdJLaU79E#(Mll9kk^5`K#sJ6P0s(am=3GfZn*6eKYdb zFpXum7-#7VymNj~heeVOmo4re7ZgsEM#fvx$QTRj-}~_fX|1$VTDNY8k+I?Y*nyE@ zmi9o#Mb|5nqkQ_G%}u}?q_d#85QiQDPGu6OH4>*cfK%0Z@?LYjDZVR*B4;W7C?*f= zrL)41K?-8Zl<5A-`9*{APl#F=IX=X?9kAwK$0^&d&A$at0BkJK%Y=r3mFdB3!de(%51bphR>7`k$a?&-UJ?qAC< zquGQ0^{p71sS-`;U03@SQj@%~-qx*`Jab>*g^s~FH(iw1*8TlD;;#NZnWSjH_V2CL zc&oiyj@n5$B_SH5bJCuJd0>By5iUhy*HXuSJGdWWfH;2qfyAqJEvvj_558u$tZ{2c z?7k&K-v4*SzU7m@9eVDd^zz(c80axZ*b`lM<c^*iGvhfp4=kYp>X;Wc0B+l@R@% zQw(rf7a^;qo`qN6V<9@N9Nc%-({+7;)9080e_ye7WF1;pykoj|azaIu?$_vtbB6FN%7@i(-<6 z@KbQ;T)xYliPwOC~{_1tmr)O0I9BvQG>!A85kGYOpe!#P^>voLT%vKPLyD% zP-QFpUx_LD1Ur?NJ^2fsnskx3`jlO2HOCcVhTQSOoRe#r?s&vFJ?6RV!y@Yn2F^$N z0;spO266P%-Do`2|6{MgNuJoXI371zqV=hl$^AE;KgeYp%LNoi_0rRB&1^tyU5lvG zr{g)ramNqVG}ta4HFN3CELe|@cFL!c%R5Skoq*`)#nk63R5_#lm6hq_q@t(LzRvdj z5fi8FR3p~2lk?3cXTEYO)9j3p-uZeAR7}PrLObC1B}k7zI=>kq)Kh~4!tE9m}lb$Oa>g+t4Lym zZ+nsX?#1RMx!#i^YZ%6nXZ7!1T#B=e224#oG*gKW)->9_KTb}zo$aw;=?w8pDhC?( zwV2s76_*RyalQ6PMJNA31wz9C>q@)arVl)1PnC769Q1l*l>33HqiWN!8V3V<@L%Lk zC~DhfC(nb@CB1>}3*@<7axRB4)0U>*OM(kg7V=J2v3v}60bK%Kk0SvgQoyaYr5??8 z+>E~#x1Of6c68B{x+^kcmHkFj*#1Tr9rtFZ2JI`3JBrL2=oiY8?>??49TL?+Bn)($N~^jkLOL~8U`c}K0|_Tpqw+w_cxnhsr36v)?9Q{st3 zm!3&a7UQ-)Bhp*nvT05r;U+X%MCfc4JC&L80snT@CBCCd(h(Wf_U$Z6Lo$xp~RQtP3N}R^4pLpyNxpGaVGiiNvppWYh378qCHilIzQ+_ ziQoDjEmrwM``+(j67!CKeO4#1nh|E|hKu}e1Tm5B;yyp0<4xmUx6vnX$ME69=iNwA zQ_2MzNPde!rhG9pI7S0Kch- z{6CK0*-#c$u*Qb`LhBqcYxZ0*%Q?#W8|&1fLij~Z>EgF_Sr~oum-{pmRL2=7!#yY{ z&^ppCgT8fJS0SUwrH|h*opyHd5i{f5*0l(7I*;Em{YReolQlRVr;z_7kYJr^o$`KH zVj}AP&{f`{&wNlwWZ7OF^vMgERHsfscj{PGwzd0B*Bnvjq>So(!xY2R?Y+wTMt3R` zK%SB6RH^5}*dEa8X9Ote%lb;4Sxmzp`qFJ4)T}m-y*p`00k^r<3^UV)&_t zloUs&YH1>0D!qm7=?Wvt{ zYVu3jsny&DHAZx*m3H`^C+3sd%lm7;3$_1cmwD&M@Xn9&p7LLLPl@uL0=zBP@(KMAB-;Y-f7eE^7K;V0NNBEEwJ+p%`2mDsR16V6hMBmA(pEIzpFf&PD*wi*Ei|t&`HsB&ofy+DAsL71F zqmxo?w`Clij*-#D1p_%fOSl~zG7ihI+Urm-VCvb)O~$kFH2bFz4;Wf9y+*u)iv&Co zi}b$C2L(nM%A94*4nQS_mJ{^;M z4R>;%bZ?}5&vz#wP6M1`)>djt9+$|`^{U>u8yL^;if)Cd;a`1|aRDZ=966c#w?5>- zBHNgbk$L~@R{jprbm%V8RJ*H_p=K4o-l+jE3-J`pT$_t$iY7h$vQU#5{624KR$Jnu zQS`m@CveD3o^)b&sy0wr%!b{f-m2KZ>{4!s1Rjg1qR$>P!hVrN(R0hA>n)i5rDQZ)f%g@6}@799|yWZ>KoZdy;T0{$<1>XtMmIYq5 z<8`jHB9&u=Wg=xZyX3b$=eKU~yq+Z;P*UYrStH3t*l*(7t4;eII!fqwS-G_apa0>)vwy zmER5#xzU1h|LLcueHLx4S!(SGf3wuu($HCmZ9l$QZf{j{jZFd3Y@Dx*vvNyYd|t}@ zG|F|6aTN?K5s@M3^nT!(Wl3(KW}pe8pPKS+5Lt3vYix=W@)MV75v#YVwUI*^$oMp3 zI@iERyII_ZyfAiY;iu4-yu3e0-UQtLB)tmjO!BkzwD5gMXChD1(ZXrCB5$*yg_EKF zr{!tk&WJ+tA$!VXn-zi2EbtmB@7523>1ER&Yl%k#7otXsP$CnPJRB=?^tyZSP z&fIF<$592jE;FWPL;|OK9_E%1&d2ky*t(OOBbp5+Yax76dELAy=|e}}&*Vo2v2_+l z-n)UagZ@g6JhQhQt}pqQ*@(o+MehWWp33|1(xGA0r1{p{ZFe9VV*hE@`BrM$c$ZW< z$zd(9I;>QI*>yjx6+S=F$ZZ3C8mi`s2EDFBm2iV~lC`iSfhvOEkY~|#Fib&_4X!B5 z_dMBgri|qOYWzN|z%?z4ISLbBCI&V~wsX&Rv@b)~ZR>1bmhL2{v3Il)`^?5wtwo%- zvuKRwNU3HuM+svnSf`;+tw^Adyk{ylQ#s_^_;B#Ob4Fwwm+R|~v~a92hNaA~8tGxX z=aB!J(8FFfchF2G#Ma}iVyn&jP-Y}B2J~>&7vRC;qRYGc`KiyiZdNxj*@-$rSG7i@4R^r=e$7wZK|WPu_NgY)Ll8Pg&-w z4WMxGG7!98<>;o*cxmE`y5W* z2LmIAYq{5ZfcvC#4U>ZlajKmbUhE_D&H=ED-}OoJPBp<%#Cee0HtJ{+-elALf9-t< zR8&{i?zuGs#h{>~pcWvCOd^;TrwB!H714l-1``t~p!Ak91xlmobhv5;ZS8IiCMuFBzA{V)4{1VYAgdLsWNI^#(I0-b3yE+|Nnn)z4x#6*7{j|wa>86 zKGQz?oO6eB?HgIVx)5xy)+^4Oft@#)F89Y>L^t?q80>Xkfj*Hdz9Wwd+LYTVK~9gq zznvL<&9Rle?tpl|2l0LoZ^>asH$h9Q37)#GgxzN`w~K7lho0#h^2cBjCb(bkN?^m; z00W7r(Fclp3w77lf#s7kf5%(`Tq%7Zmp;&@JM~Wc_l`iQH}I$^50iA7*yeqkLIh^; zWihAA4$R4qo$dwNqxQH*dKPmDhI-HuMbprDzotz`iO&0K0B9DrJ=2oi2Q5KRCyDy0 zQ8*4-!7S#CX*EPKey3jD1aoV+V#2_|*Bke6Uu3sBc0;ef9K1C5#h{UK=6V;*^g&A=J|)1LmK4poQ=dxXsp%;ov&{tO#X+L`US8LLIh=Q_!qJ$$7Jn1A!5&-3e&qmbl_)!t zum8gF#E{vcKR_8j#nCV&lQVEz^)u}9)!Nlh2FRU^dR23d9H{&=7o$}-%N0TSEZ5)V z`Hk!hUdM30Viz=gqo7%zD-7R05A4L=7KQTn%?iKBW`ep0kNAHvK+M)rB=$;}nb-&XEy`L>eTqp0q-iFk4Wo|}uOhkM)^p6)B4GG}ZD zeTH)u+p|7RU9VS(mQmKYT0hbr%bGYQB8fL0rDw#y)vjiPj~?Q7fUSE;A8nVnyd=NW zP{ApooO?mn={xs-YF`gL7&nMZXM+Z&35rZupDSQ}KFk5@hqMm-B5-44vS>ecik!0r z#Y7VGrJb2{$^kQku5XJ%I}>Pky3iJxERFib^?#6oNjUCMvzNp^Q?fanAG@BNXnTg+ zq4zse=JZmF(qCy3Gzl;(OY%XBCf;`7Xr0uKWw>px;NH?}U|#AQ(!gyeuM)<9R&Efi zz00|kdNsy?1$z}{b{^)P{0&au8-)f0&aC)B1niM?CM~H!%OGF5(IuYf=R(5aIZE=}R-qJS56(FVe^IccG>G zdz?LT0#~Dyz;?yYB&PpmDyh#ylAd@-((H#Mxw@RFZ_xpV`$$h3qrRz-i^caG%cOc}XEf4xwu^yjf)Y+Mc-@zUu z{V3iq^lDKusOKSVc)yzwb$$t`Rjc(B|dx zjI%pP#97DDUixnb{XY#MQ`v(Y@CV@epR$&hWL@sWu6{1hBd#;V8rXm%@^i-#fh3Gy zO}66O^GW=N^s6ade-|c{v8NR)?{et-R+S(z0 zG2Z8K4pi4@*bCyDXvFz4FLT~&Rn(!*O=}&#Y`9H4FSB(ttc2p?N89mwr)QjwZFLV6 zj<^E+Rjk2Y@8YvAoLNPfus~<1e-x_`ufoml11pbK2FC6jJIeT>4c%GxF$Ny`TI*Av z?rX>Qft6zH^ma|d+X7in!XCW}mc#3Bj({-Ot;gj;ZHhY?cJtA!<|ZPy?%}eUSIcD1 zP#NrpHS#tYtp0Qffw1b+C4B9mCtw_boSJOI4VcS2`qPc6EJ%t$NmD>lxosq?7sr&| z!?4NFhVmLrW$ME6-2_|5Y=HH*z-*~-cuCJ3{3G?j^9BRh8`E~wtE#VOGV6b9AR9=S zYO^(0Q;lEL0-f!|bN(7u`0ful5XIt|iyrqo0`}5Q!Pk}RGnIwfdBbQEPy@FJsx8T^ z97ayj_CeL5`^>!wTuo~mKD>)ck|@d4q(U03z1G@$ua%NLk}1j<8Z;=4Dxx%)r^sA{ z%wuH86b$)FpNq>p2 z+TtarbH=8mx8I*Tf*j&`&%rIR`>lHxUbmhe$jeB!t9&nve3)4kln}M79WT3&#_V^e z2ffnDKC?wrqxdFs^wF2soi1xXiQT9BQNKP-|L%et?LUus+q*hE|FX<&bu{byKE~Ml zbin%0d1AY7KiJo)$^Wiv~m8DJbmpiu6b!<#_8ZaekQGeI7yKKC=o?t!&I(STO-Or{6 zUpJ=u^RzvKd#(!~?>R@Bsq+5bqvmB+2e`&VWy~thi*L6kX(l@QA z5>9rCwH-X>Ua6+1n@-nB`fI92g%J&ln@-I+aj<#zhFNFEUow446@H%5YO@-Zu%3wO z@hZe(@sS5*_p=11FV-u9_uGjIH{`UvF(!EZ+P)j2yJx4=EuLx6P}1L`CxYGFP}i}wXb}P^ty(y_c*?J{?lVSZ6ktPY+ig|PgYZA z=~y4C`l|P`)F*Aftd#XnHa&RHe^~0>)s&Lu-Sum1LZ%hAE`K|@Ta8t0i0=bb(2f0; z)FgY@y^OCmpOL-pLdzjlcgln6_Pr<{{5a@T*7JfFy?jzi1+!jeL~Wk5@w)B%FAX;r z7w0BCUAu~RDChH5;nv|*9(vm!m=?}_dg_#9_o|^mInkDOX1AXO`MU+1c)W5_s>;=S zZ5}1h>usfXdS<%*jN_YDWvcp1`;_Sx_FetzwTLJ+IS|u+<)-ewo&yZVbN^o z)U94KGA>qMzA!EIQ=3#R_k@{^%8UJiZ2P|In0hp9-qQz%U8F~CD~302I(?*m%Z`V0 zpHOECVqQ)j7vnx1d)N+NWrg39F)O#soj7w)M!l`){7s3DAz3#zT#s~^?$;uh=@Y)U-ciqS)uO6% z`@0TVb#D1*eZ8&ilGK&9UwW9<>S3^hj4klKa*Y4M%F}QWo3a1m;Px95UN4B)6y_zU zb&=0FFnDWp%G_zOp`&ZfRi`f~GjSi&bnmRXA9?zQ(bD@5dp0a~@4VZdYFU3JRNRr0 zxreKiZMD?dI@#gA37fXvu`pu9+v~ zW+fX9q6{3RtIqc_EEj*VpL;PmN3nEW&Bk6H*%QZ|w_QTTkD+%|vr!?ni|6gQ*Yi@3 ziMB~2E2lOd-}?FP;Tg*1vsygsmVc`4nC5;^-wWc5%-+@7476AIsAwM{An6MX?i_>eUO6 zTTd|AZg<+FPuQnb$!!%8=Z#lCZlA(zep7qx?7Y;c8AX1VY4wSfTFa-M(pi2dSnk?> zU0~6O>?MJM4|Bt{I|hy#NPE6{iYw4Y<`@$WpwLi*Q2+$tc|ao^s-;C znMQ9jXYG#-xWMK=i)nu{c;d*w%24~Vz1ah54hlSCZLKr<2r8a_s%&eUS5_Ht`A$^z zjV)Q59=t2R*E!?#^#c{%PIfI$`ZQu-`%xGBMvrdlAg`Q}c4dxRnr@42vkvTcymEHV z^CL@HHdWPW#6sEin5&w*(&&jcA;QMVxx|h=H6%9FNXQpRr)yG>U-v4m;AUf zt>=pEvjdvDQ{|NoCdWPcPa`ffnSIO3r_O)(NH-_8%4@4nrrWXQ_m;m79TV|k+=(|T zhsyS*3LVBRD=}d6XFDyeFu7PasCD7P)e){`)i=hQr3Yswy>y;V?Jl|zUm04}@zl%0 zvg8*2=L@s$`wDw)ZC0v@Ol+*JCps3`J1#MAQ*U}a_~t;q=~k(S_oO8iy{jLUCLG>f zXjz}SrLgkZ?JLpy8msP%Hf&$zZ&2FY{dV-3b4$vpSJbjG$xV}=)H;o9IKU=tE)95g zXKe3L51x8^uTt*+W_3}i>e_p~ryP6X-=|#XZNH@Ruhb*vA9|73zgZFCoBGgn=&@aw za$OE&Pu4ng?S%XIiZ`#cY}(zP{i$8i>`!@V+fPUAtBeUTYFD@8{B&pC{He~J^QSwv zH!ixnV86$@!PDF|rkzTQu$LtPUV9G6zS3+1~`tW2tRejSl~=$4Tm^Jbskl`CZbit%NmMrvT^=n;j{JCKI+v{qx#%kerYd!LOZ7<@No_MIWvyE-uZkMjr zgO2LGU9szR=AGx`Z|&Grop>Uu?saI@t9Py`vFQm(BxQGf?^@B|kIUE96hD6Pc~|hw z?Qf?KFp6o>F+9}Z#)nZY-=7@nv1!W~(e1pf`+J8!vTk@IoV9NE#~%IGw|n*OaqqD3 z*oL|sW=irqo7l)6nHE0n8Z2%o88}8hYWAsgsUCU7T6AZ5#~u3vH_y0KSUi1S)%&Jx zhO!dR>GAo~4|X_DZ?Y&17@zd&%NdhvLdUlWJ)U%n)g2JkU-_WgBIepN+Xu({+^!Bd zvPY-$D(`{)Y*u}~HT!Tu-%fnTZ0n}pM%PZ~om~{Vw%w5jLZ^7E78bUzx*tPY7?U%| zv~Z8+DU;=Aa=Ye7AJV*Y@7Ug*Ix)xG@AXXYxuoat^FagBt!|d8KPcFtf92f(gSWcJ z0#aNHR*A^Z54Ns&6El8E;G`CtQ|2AJ_<2%d)PBta_Q&^ZD0WI?pOi1TXL=}l%BXu9 z)Y>%b3u)s9^*pN;cYIUvg22_qFVwbAQFN{BzWbQU?5IIqb%r^fEYCTbuC;XDH}fkx**xy&{63TCzpY}x%+X5zRr4;To=#qu$U2jWQoB*3y>E6Yof=%bWz&T7 zp7=z?yX6=GJn?}D)id|%u|}|4<(lTn8WVRvA9W8Iyrq2pp_ZN0 zUC%PP=7QmpDxu+rQA^Fnq}R=MQ&`T_i_cX$bmIKDDIL?RHwYuwJsCZ=!XPVW-qybD zBU39w^ZKP^?yza&Gi$)>f&qaoOE3W{rh+8aHj7wRY1i zDKj|mt*YbpK-+lLHQ_r0PcPf`_RWnGBOdQIYS5qFj^4XJO zW7oWQ&-U|fJnH|(aMSSx^C$L;@3|{-Qjg5$#XVQ;yVx_qyZyw<=!zMiJaW zC24!vS^u$Jtuy^l&pY%gSHkuhYx^u0`3)Qr)bB!(VOcWoRp& z86T1O$k;uts9nhM=FzPR^=|Z@;xNr!Ki*xb@kv)?($wN{O5=Br=+vqkxuRibTezVD@Wsn+naaq?Yk7Ugn)2Eob z>P6>1thV4ythB9uIPlb_IPXn8GxQ#KCr=%+?erCc$T*jkL-OrQmLILkaXBEE=kMhB z$)<40QU4|7qaL5O9(BWF7c`;Rrnd-ANR+mrL|n~KU}T23LJ^wxQyc_4kC{_RIi2b89j zcF8M=DCredvLUOe^Rydm4}5}|Zbj0w!b^Ko16mZeIqX<^vESnMhwhJ4T{oju%j^1kR-shH< zpOJ-2K!Jt+$e759;~dBC@31S4dg|-mI;788+delpY{=KTb?VW%wznqq*?eljW`-&UZ`IBzm1&a!%RezZ$ zXjp1Iq|Vzo%C6Gdxhi7xx#drXS)^gluEBHl(6*z_4-rmU;rt>k=xXN`rA1eE7pZT| z)SXd3*WX7wqkfM6(3TnX@2ZOT&)t+0lOKX?3d^Yjo z+c5LzN8YF#*G#b#WDXipXsma+H2F;Gi*}Q5-b@~Sp!szZ|Fc7<18S%GTi?7&MAuB6 zKX{{HR+qwC`2p@(p(kvMo*9_srCZF{sT-k^R=Xj@CfiYOr_0-YE&=#>$^!$e58mI~ z_Sll?cTHWp)+#jwCC`}1n{Y;Ru%haYX&qOO z#kh){r8m~}&7G$=xkHOIH|?@pEh~4sM|6o9@i=K)?2h#-&er!ECg|){ATwmQs@scB zmYiDlDd#AY>vt|fWp(hpXY#Z9&3PC2*2}su-ThBmNb*mtmNL=HK6E>qu$-N6U~^Mb zk7n_q)cN_Bx{frjO7|TVJKZn6=F*b^iMv+!?fPMTt(TQccmENeD)OTQ!{)BiZAv$3)ytx8>dEY#OP>u&?-+mS^K?P{`^_KpmunW4oSNG%vGvpe=bcHXsM3Al-UJ#BLsc`Dw!Zt!K#;BONEK zJHOd&Q><~xtamCg@&*+(sPmgMK z&t1<(1s%kHot4`Ahz%dAwXa!y*;&xBX`#|?r53z2hsydd^DNaqndP*twA^x;7pr`t zPo6!m_t^^NyK|yc^ZFDF?P>DA-{(E~>gO^g>HilEscb6JLamdG)O8ow%y`t)mq#T5boPRTX)Rxa75H zylb`ZrRSSZin>Le%)NM0eUIAWXH<{(7Y;;hY}$My+9|f{`;dt-t?#~D^K3w6^ue|# zb!MLy@cAZ(7e<|W)~dlgqFZUH@j)woKa;GUL5H91ee$U(`$ck%iRNNWm70@a8$Avr^u9x)fufI!!7Z?|kKZ#K(8WfVW!-k~T zEpcbc)|)n+Sg>K6cvsIMf?YM{btWNidoHxtWgk5JrAc{R^jnp)SubPK8rZ?xJjdQtSM~8uXxzWtx3F42d(`HdO3iIL-Da$H zjqa2ZbT4P$(^U&MPuS!4?quKP&sGPB-@4Zym_BpfhEbW~lw9Nd=spLJ&+O`Dz3TYr zH09S0+uq~%0zVq;wYH+QUQGL{2VG~h9b42O+0eTFQ=*E#z5Uo}L7QBs3R_L-e|ulu z8*0W-wE|z~tuo2OJEB%M>gOr>oxeSHLTyx0?)21lDT6MiCEn8QP-{PJX7{xX`_`N@ zFHD^8 z_J+}~-V8gfUFzN0bQb$ux8+RT#W9Na{%2EKeEDcIHoMzq!{yYu;e}Sg3r1{ZgQh=e z$c`?29-{n7wRV2(y#9i=**h0i#lJkau|T97yR~>K}GoA20K)vI;DC()sLUwa&s<12!hO2Q$`FPrEO; zFRY(iJ!{)GH-)`#S@_7KkxK+N|e17W4F?Dr%1Eyur@;w)|di?fU!L<0s6QlGNYFC(QxCB3(#+&t(B4%-I-RQ{f38`7L zmbfLQ4`7EZSh=jB*nel3&Bm&a1G?VYO;e%!ZLWV=XVL%a$?(>fbhmUr$eXq?ahtp| zJ*HJsr+3NbANo!|*v@8ZYxjfg+R&YR^DacZcYbo>ViuF0=3EYy%i`#Uve_GS^56EK zTa=eQ_0@3uj+e&0=pbG>s_Qnv70=?Kho#=bP6Z@69~>UPn3&f&bb;*AJ9B$BnVKg% zAtXJM)Lo>8vlp+_xUon7)9AjJUbI6u%bX_cB*-qsmn8mX2&T_`LTO1O>3JvRR2}qb!P4ATgEJ_@qT>0N1;%wcZ#+V zv3l!`?E~XaA9kqs_ytHdb#vvMX$N zj6U+1@Y$?Ym6-4LaANq$)erj?y{;Hj?bZ9t+(*ZfGz4wB&O1GKQ{>HYB{w#Pl(_D{ zkla>(d~(&)6Vo=FDxPrGDB<*eoht3sI(5V_YhH|MYRk7ObmP+qk2B-k4l(*8i= z21jhE%dE=kRTL2?&~Q8ZlxkOHc&A&(qJH{w8dFZZ8?QF8t?yIw88*kY#^>e47tnJ? zduz*5A8qct$YDXXwzb8=yiVH1LD_24Q}iX_<03u|3U1+SHCgmZx4s>IEwysEZ%U)a z5Z(0f7v67BSH@#R{*KI43?&E6-pSE`Ng)@=~)T7%Mu(%KMT zXWpR;J?B;zhw_qwN$qwm@Ts0HbC2?dDDP0(#Upv+;vU4!_RY+0yUs6IpQkYPxxkWL}W?~I=~=S+?}8fU?4`tUI#u1d*XX+qrey)*Cf z+~VxF7`hu7wQQ$8P&r;DzQqt_FJ&L)%`I(J2<48-*LZ_@*(xKIT$P)Y4k;Z{Ii&MW zxTS3#Z-!w=2aFn)Q^Ipox}|)O*DbDNPA*ThMdyjx-05m<);&ENJMV(hD&8}m4sUPV zkeneo&*Emr*~Y26t6HksYK&DHt1?67omzjv6G2YfoJVodaniVFagIuEN?A%1R41r0 zJbR@|B^RYOy%uPG5vcV_3MQnMa4 z0rMYB`jmKR#^vz$Ke>kJH^Uk1E)*j=YlZ$nZHm6PPsJ#E;`;?m7rLW00+uSA}yt{VY zxNyeldT+~J-H#kP)9dl1_%u4v+EVDfMq;w2 z*Y56^oLEojb+)?n;Kj?xrkv3yPe$Z81&G_xyVI|v=S*mQv9j&!b?*BtQ;Ed!20oF! zXuI<{ijK>>uUz}g!Alapa=A<~=1pE#^~!nqiyb@-KHe;RKK0TZ$-oi|qfse70~hX$ zdcCT&bma)Ly& zpGX=WnCCrr(v8iczCEKAk2hZS+2NB=pldm9%TmjPd%AO5%M`XJQj>Mw`gEHvJ$x!} z?3B(U_HJL`d?Lr!TBy5B&up%TV0=yg#@_LJW=|L)clA&@n=>L$_@X-Fh}o728sTQU zRvlSVwj*_t$C;gz9L(OAD~HLi9=+7sdDb}AtApFvEYldJSAz{gT;erqZf=ebs>RIp=ozOpbe#Y&B{1tD73s zAgkump%xbNmmhn+##`5A$hrsXTIU^bQykUxHaogn+wfMOv>mB?^vVNnoyj4upIK3E z^@Z;o?5A3L+cm4Rmf6B}F^v1Vy@kF?Yi}MT5|a#iJ2`yRUTPk_{$k51W9XfSUKL!w zek-Z^`p8a6ftCWjHytg_tz?3G^3jsmxixRPA2zYbY@YjJ>_m@o?QPDeThyPq<+SU( zfpG3ByUD9EMvrkFJ$gv!wQJ!QFD;qhLqCvKJ~rOz%nt1V$5cvtv#%VwXAJ5;W}2B( z__+CPQ+3`euU&R5-){20UM5>CdmPCbJHfB}%E3=!XL)_xILW4q*e~9_;p7MHXXIWg zashc^)H+>j;ke$<47;4oJZCk(%xjSKj(rw(iUsvy;T( z4jmVHF6y9bPsa~De9FB8Z@r?kMQiqhd1sZP>iKyw9X+SInhC#bUmZSkUFo2FY3S|u zHu=h(F813|c3Up*cS1JiP|>7)-5lDmVa+;ido5s=+}x>gE#~T=__b^EM4gE4M?z&M zcqU1m^Rw2E2-~L6o^pNHkef;C*yu~1;~r3xZ{Au@HB=YPbR2&4#0sj9%Y+F|E~CE; zk?-`rdV6xBRcz&Kv-r++gO84l+iqy7d%*nDg_M^A#VYT$Y%B)O-ZNK)89I8-v0gVV z+FPucY&l2WIsRP985M7WuNzA5*}eYe#kJdSZ0WZB!baagzUAb@8yWLr&#POi%-p%l zd)>(a*DZz&)*G2LB*S5KxXRRojv>`5>4&B!^mFd!#yjtK_?1hX^-6~&E_phm@+^8g zS}I>@KbUAgC{E=dEgqIMm_MYhI@>zpL!VBucCXW(H(EH}Xmo%4p?wi8bN6n@)c_SmJaHQ_25Cl|KtSF|W|ise3ATJ6QVDp`0> z{RhQ9cAxX~YeUXCr4D_aeKRwngE%+)^@ZD&SKP`KT|N%~Jaxk|o#ed%;*n;Zn6Vvo zLk{ihvNxG=(9_dZSvFw2C|YO8k(WZ1ea77N*;l&FdTH3Fp5LdD zDHyawwM=vA5|`G`ws+4ZwG#(qJk8kC`89Rq=#gD7cMi){*A8PqROJlOOj#H*lc#2t~(Dh`AlW&vL^V>dcK0ojb zO6eCRY%DF^c_LY$d1J|^$eQk#DpqbC|0pgfw#ygojGok!`ryK)m5-ZJ_UBE!-0c4$ zc6aibR+To*3z{ouHS{t_AN8e;^@QbJ~h;ySW#L1qGvyq@HD-WdFe5t*k|U~Vl`h8PaI=5EO=>DZ1Sw2 zMRA(nlV)|ASDKu%>to=J?XO+c_Qk#H`Z3+MOog7MKYZ&Q=TXl6%kH%(ZV?(ZFh*{? zWA=xv{#TchF)_wN8|b_qt=xKloVl{HtX#t{V@r3->wfznO2Q;Sz+w|ecmAWdyUi>H_4UMSm{T`WYMMbrJFk3 zt{^w3ZmT#GqgyfH{L*xT$Q{#^n%*b++KIAcb&YQZ)2=&=`ZVi4FV9s=+ZtM1koV!X zz^U2T?n!RS7dy=a*TH3*Tn3j%`RQL9QGKU*;N|AK_W6;UKIzn@xH#S!k&&Ej_Az#X zV_9%<|2p!+D9e;NSgY~35*`e^>~KqQ%|60JGyC+)djEX?yCv0K0#EEsyHk@EwP}H2 z)TZT+#;4th)OsX)c4{d7`To!~RquOjNSjW5`uwrxCS5#wW$%x9R%^0nXw(%1Z*96| zwI+D1rd7$iE?r#Rq-C!Awtmzdzc+UO+DmRnZijC;P#7a_sy~qad3W&kP=iN`kN1PO zzt(=dy+4~HHOlR z@i!yR$j^I5+zve;%_vxya&qZ{u+zRD6g#4#KYk3p^KM!9WzTbsi@RPKkSVRZ`OezP zt@8Am;M31bdVfsI8hqV3J^9*auM-zeEL>N9$>3USSi;@lD08=Z*Dn41`vfNFH4OS} zIX`99x$RT@K4iG;)t~bEUq~Ks>tM4_ESTn;`955<<;EZyd^Tap=DWYxv6H_hZVcZKdiVE+|;VP>}K$n zq?%%d%kHO_XT53v^6Z`6zKv?p!>%{x=96^YfAHR{ETv@No$+r+KAyf~ z+SysR#&y{owY)|*T3XliMnr!;7QCk@PUEg&&q`ItS; zMY=9o^Y+u9FYKpn8+&WUR`)*EH+D_w%1NJ`$GpxkY8?NtWOw%3H?>w}37I`!>*a+t z*o``B+Wg*sX*J&2%VmYtB#EIDC1X;k3r+i;X&`r{6vnZumi8 z`ThILx1*XaI1ZWJ)H+|QXkBa1t>$Tk=^g5?-_`6p+qSUUl6ZEnm2>qRwZ5@_%MPyE zQ(CfS@W+%jjj><8ysT<&u)iDqw3Bf|hOPGl&5vN% zVfd;QS^X1;_x-l1=2ccdd3QTqN&ic>^NQ748&9}T2wr$NyV}I&QbE;@Ty9)@B9kwVyk?Y#aTV`O|mEUdgi$UR8GInvt!Qsyw_HHuG7>}_qsnWqyNcyO{3z2egaL z@;$ZftVX1lTRh(R`Ge~Fk3FttY8Ew`HjEC5t+6gEZc`byD$3+!c2we<_Y=45E52*j zZqMc9U71!l`4O{&iU!;%jtj3_)!6%_qeJE3zUFDe?pmnkCK$Upns{lr8@Lls9<`A? zR!vg6ZX5%WWz?qWlB>?(FPA$si<)=s*tx7gK6GZla_ilxsV7%ZrNtI!3Ubzm@10tv z>#cF);*)*7p5N%`yw%%bzC&WSln#kWMC627l2z8%#*WY))S$uhFOKbB zYIVu>%w4s%XMDT3jp*SzY^mGW4Aafj=up#s)9%O5ScH#ir}eB%s^!-QTO=k9pR%{z z-oqCrv{D{&v0CGLf9reF9nZs7v{yRo2C{w z`%c}Gf`RnFQfcy{YMUn(B_9W8i8G&Xz3CFWXvMQEtq&RZjJt&xzBQ@Ydh_O&c9-n7 z=K6%!8c&M48fEZdvs%9vwS#ARn!9}*w56w(Q`h5<%Eg%(AKyD|;&%(|8_^})sdsFH zO{>5r`f9=~MsK6d(3f$Q*_GWFy)mwS+O7M>FLjYOx@+Bc*|sUz)N5MWbmxJUwhqFY z1FBi~auSOzN`huODxcZ$$#=`a4b({2hND)+HA^C|>bz|KWa;O%_2cjE*Ia(Klil== zZ+kTl&LSOL=R6;f#WvrzED(2~o_X>!o%ts3 z^KP}7U1Q{ro0X?(UY#Ny>F8`VnzH6I)`XRaq`kdplB5Jiy(W8l8cp{O4f6{QGGeSL zYr?44fMKJIMg|85c=~$y1sVAShZ=?ZdK-zYLPCRm`~vVQ)YI25+}ksJTBtX7jTK4o zS!;qa>g5p{Xcg)mV1--hQGST(}Mhif+K>A@Sn~@LcPPj&Na|G z+&9<@S4{T^@bfZ?@C)(^jxY-Ii}e0^Y*Ik5r@vA7%#c40g@p%)dV3jtdndp>Y-Zr3;DE57V|oUAd4E4I%qYw|{O22!{K9`+ zAL3# z_aA~oX1c*Z;oiJJF99#i*MrafLy|Q2jbgrj6Yxo1Sg5B}KQHev&rl;fJ0q{K@b5qI za7*t#0e+LXzv01wo}n{C!uxPHvi9WRRz^K~7~z{$zu=HC?#doNZ;bw!rFC;W*vfEc*59SSXa2`3Fix}sj+Dg!ET87AJK-K>OG^ExlyP$QhgBerkNLas~-cp`FqcF`>#(h z@(B7l(D$4FexUE^VOqFfKv*B|8R319sRE{XdH3=0m=+N37U&o5H`yZ`b<5h9=VR5+ zBXqJg7vo&O_rlMCGruM)BUdB*z*!0g(Py|qRg&9+)fsv10%)>sjSvU zrIkiorIu=~HF+&m)!S$(^VHg^v}w^=sg;(hW=joa^}mY(KHv+VBCQE)A647cLa!oOdJcYd7w zySJ%7-ll$?;m^B$oy!jcQqQ8aA|V575DES*HVJ7Cm~IKKZ#42!>zb~|J_iy zoHGMHFucrRZN$f8tQ6%T8zd4Ej>&(BI`*&ykI(0z2-;YK9 zazhwl{#Y4U;V;hmb?UIfU!3*p++l^U zXOY%?fe>-bXGQP>is19SJ-xy_tT<$B6$C;N!a4k(k8zIt=VP4T{&LJLj7RWEiWUe( z49k;AL{d^LQ3y#nC6Eh+3?ULq*ktX#oJ!~{*Te4$(}lQS%zFCs_@ zN&e|dk&t9$3b9lu5b~u09>LO#2m!;g0L1k3Qm3@eoj#0s22O9?Sa z$q6~3P>4hVg5U}HB&Lhw0tLm039(qL5DKJ(TtSdho`5ftEBFjwAd?8>G7+tiN-0{( z2xKCH)O2`M9_m^gt46p&JZgc0(j z3V~S4P^>^AR>&oMN=lG2G0BoL8O$VRD4tA6P<)nUFe)XH;2ed3l}cH>RIp;XoX^85 z$rVyD#lT)9%V%Yno=_lQBod*F5esBI>id(6zJHfsx+EWg$n%Y46#TmlS`z0n&6Q*1Ac_%r)3mwD&iADg`B}kV-+Pd{lgCbX5t?Qe%$&$ zJyFWzOIeWw&n2KGoE;=Wm`TB~3WhJEWi-}ZAQULXG#nP?^xwYt3OJX7B}HPal2nWZ zAO#{GEoR})LWYqm1R{!LXrYi6vJ5L^q!i4>!uk@0lp%Q}B}P;T1QcJ0M;6HhFshX0 zlLQSRg-?k@VyS>L(LX(ooO^z;RP@tPe%RyB-+!El#03|pU}c2_AuK@%ORy#)nkBf& z$`E@3xE2oo{<#TE56i<~srZb767$7;p@b(OWl{-2(Ikr_e32a1Q7HKECqf~DYsn}+ zO-toM8BZY>D-?1CVu|7_NLDB(M0|yqkSXAQq!jOpWHg1he}8kngi+vrNG1|ij1U$| zgc6EJNoZIX5krZ@V&EAujkJlpLJ^b@^AO0eo+7zK!ec2$s$eM?ol(f7a+y$qSV6Sl zfQX``l!Bn7v_dZbkBt7Sf&beJq&y)_A^~BV2sMU~iwK2SBxl7E5$X~}&@7^mk;wr! z`Ls~NO89?y2N)N5m=bd5A!hj!T1Ju#g(Ar?GBJk6vJfnx5Q^Y=Bz~l^LJUI?+zJs~ zMkKLPC<#2Q1o9s%P{2WDVyrNQ!+g$4NVzf@{8_=mFL6kO42}vfm6D_ki-BvTI7uL< zSt%hCQbJlx{q+LeF$lxcNF-$8D6AA=B_%|pSSDn#%nZCwjH)D}WqdvkNrZB#NGueQ5(z_!35Jp> zaJhtFxD?Kc2xLk*vL{KR7$Tn`J&Fl|R4f)D0A*qrUW%|35}ZE@5!ynDOu!|mzg!30 z3%Qr#BhxAn2DCy*6LKjZsZU12Yz%S;a;BIs6Z1t3CE^QFQQ(6l0+2?&W8_#hlrL7u zLte*vk))7*=mLz{)x=`{+ zIf1lBP{_(M_zEo$NCg08l#C}40sKfMh(HM~QHT^2$){LC!qQ?SD!z;o2&E+0D9{{A z4I&S40EdD1Br*!=4@q300Mf!7xJXsVg@7^?00e@>baCBk`t)&KtBo~Kbl4jz}PS|&I1rqh@=G8 z6D3)W;{XT1r$QK4Ecoek-{Brsa)wq= z5>_e(I>&uUfq>5wO86ofYPXzEN@;*RkN{i)C!oZLQUxgz5tK;A@R47!He%EnF}#+> zoLNSSiqAuZ1yDc~%aQaItb_raKv@D9Bor*rH_1(z!V^g-zCbROO93-!LWrb^kmD=< zScM-`{tv%@i)=i}|EaV7Fd6Z`4)BvW{MF3m5;0&U%qm70lydtfC!id zf`QKp#Q-M)fC`XPF$1DUlBkgqLO_Wa@H?r94~j|>VsK!g992Ssf+`WiVUXsL+-N?s zA1Rbs?FhZ6TNI>+F8Mx?KEM`o zCj=H2NR|)iD`$}}fig)HGxz|Afr1brs{#iz0K+6`wE~VpBclT0O2GLPP+0z7SProO z2%Z7P1>I1vLeyL+F$AAx6cA#7`nYT+08?QwapV*+>KDWSI4#IApg+VK4kQbm3KvN_T zD_$Q}x@3_=?pOjIf& zK&43$30(`hMIz@|2aDt@1Y+U+5H+%2PV(?Q5!ACxj$fO)8L5u@l z3TT!@kb@CIG+V*WnmgZ{10~q=LIETxm?1Le;5qf2_zGiU}c1a z2el9BhLXypfcuyOWIXse__9O}l>i)#0`O%xM}|%S1jl(dR27y}13|Xr$c1va3;|aY z1D61_133yPf|Dxo2oehG#GojGl29yMQzDWe3G&5q$crKf3ji8Wa)hX=K!^eYs|uDOYBYev#NgDEW{uAz1JwQUL>v z33L_Lj`ec54YXK6tj7BA9k^JOBZspKpf$w3`Lb;eyAVWc*=fo=-nv5KRszL-- z0(2)u*9a(3Dxo=HM$E_&D^Lh%6nP<35*By@YMB_w9cm2)H%B0|&|N7oL9qzj2O1em z$@mQV0E|Kk!X$($B4%(m5l<-Q1bv$82mmsmaR@mFe#-|OLVA|+rQq%`5VRi@DO4aH zl+Ld&pwTl@$i*`FA`%BpE080xM93R(KzIOfCW)o~iz%UM!0n;6NI33~!iFL!r2%^I z3kkaD32vKFp_AdZrx-~pRp@vwH#{vlflNr+`I9KsHXPK1~vkPbM>UIcLsIZPx+ z3P8%@!I{xO0bxY{LI~qvJV;VvyyS9^fDh3X3I_B6)Dcn))eo-9DgKB+hT~~c&S4=a zAj*&xDF|XLNeNN*z}-+Nz}|#1i3GS1MN&!=NR)pwRRWqE0)RlI zJRWiyXH#GR5mt|rV*mE-;;!N5pCoWa1b^in>TG9W{O>OsEY2|zmqV9BUf5Z<8u z(9r!DoGynup@30{Qmh=Fjq_Sgg8*PAr7|9}Jw#@dWk|e)uK;eUG z$V1&kgoDO#ZUM*z!AUAYO9tIO%oWWJq*D|sp#pL$0U?hD{=|CX94HNlY4AzpHdF|t zbnthu1E`5GuaJR`f&c`rluG3iz)6&5pgiy*F(4=4jsV#c%s>cu$_dg8bTPOD;Dmyc zqYz8zSfNy)jQ|V;u>fKYk{eB;6$E0%p+evTObjzd0-=Do;AyB7zy^47sf=M@Di&yg zyAx6cCWKjvh5zXz3sChHeB?#cIrRAu7szoyptv>5N9lwoNd+v34G)4Vs0`|f1l0*G zH}u`$&qz4{2LKF+3Aipm5fT*xRYQnQ37{>q2=E9318ptzHUXw66n1pSAk$+dW$<0_ zE@TY=OvsE#(a=>8W+)mE>d;*SzvPRMK#=(`2*!k~fq$a$gGD7#j39cED5hxEF~CB6 zIGz}#KnP++0BCW_76dRz2QmfF7J4$MG;j`(-LESOQ5xO^5Dqb1EQQrM)C&9nfrigO zDJ1Yv=msF!LB$s#exaB_okbdj8VV=EvJr4o=!)p&NKqxZIsg|VN$&Bv1~DM81oZ>} zPQfJ+5Na_fhge3#9cVGo6r@jda1i={-hVm(pw0roAU@&AAeq3OKv8nc2fbMmy1N|x z3^_2K90n)Rs6aggEI=^BiCADRFj*`lWGzUwXtn;gCPK+WIYm|%L-{3S zS{x8Lv1EuJu6hFqqoIo)Bj^wzr!g?e2XcqX!RK=tDDH>+iE0XJ31vYh1H=a~0Q=&o z5?CVSD3l{9Kr`CQXzk%m4thiQAb_ldKnJMssK@Yp07aTZp9F#fWfT>UD-nn=jDa>X z3MH_;0)Uo8|A}LJU~e2sM9?Ac0oCz9AOSzosgs~P%@rAvB1I5GPaqFWBK zr+|AQtQaV{93~MXXhGMwEGR(L5JT%g6ACAgFgBV-T;~ulK!o-riU;~bK<^@?IV=s* zDyo43AXF;m{ofi`CPgy}xP!$;Ezm)PI67SDQDRY8Fi%(qevUH#zb*lC3Wf5{kqtlz zWL~bbhKz$i7fbmBErM zLL38FC4?My0ysl1BRQ9mKv=>y5+ntPQCLMd7b*^91UcF+$bcA>Bo*lB0gWL!kw_*G zJH#Mn9LGj@K@Y(4a_T44D_{W*^#Onb2H|;7N}z9HmjR*_{Y8L3v|pgFU`LEphDwO& zmNDoMkiUiNzhMese`53qfV8lZlmLtp5)9xKyh(-ybhte$Xud;9#U2c_bSWBp z50D$dV?e}^2I1OLP$NVIggop!kqMD}kul(ypx0cB1MP1p?i`0Ck;Q@2AoBeMi2h4l zkDYFSSwiF_uCRj(!|)K1Q8p3F0Nh-5<F zkp$Qg#1;>VB*mcyr~pVW*x>_B6{sA{ghY1=?u0!?kPScs;28|fAs|pKgdC>~fe8E! zl>Ix@EydOyAbn688V)T*0}eY2L{Pef1iJg&5)eo_AlvXPu89B=h$O?HiwJUqgo%uS zk^_rV=)1zQz>$C$AVKgozzb{!L0Xa$kY!O!AS?l?^U&OYx`0Lmjp#yt2Ub%6l;8lzwNRWU(um&HPTS4r$zq^RSEB+mLT`Sk-5+XgQT#`=z;=3piCi| z3$Qr=il6*Hg=7CI0>vYV6qq_nC8vBN;X^C{okf{M#pjS1*dn3_P61y)x)A}UfIM?_ z0ZKRIYEVqr5$YVC2|HUT9_)sSr+}m)M#l?UA9N1XGN2)-AV?}4SAy%HX^ry!70Uym zA&g*DY&L->L7@SYp^+*%3QzJ-i$J}gJAwybc@zi=Bwjf_s|IWipjQqx9=j#ba~s<*Q|t|a4$EB*9**4% zsEQ0Wq@X+iF@bBMMFNljy$(6ye=W`bD>}j&L7tRgFB1oOpjnF0=z)HUi33?;PX+WI z)I})&TpB~$?`tYYsYQCHHw`yfL&Jts8|$|86-Nc!zIGb9pH7OYT#ptL<-2CfYGR@ko3u~7#CqnH>?4BX$fdx`oa%!18AgQ5a;XL(fTHtrW8Tj`=3nT)P&L1O{rUYL z-NFCU0pRAq`#?k7vw-)am;vrWjDcUEcfcYw0$gw!6{pv7TNMHEfSCaZA+8eW5B=i| zIITbixAunOSxfDB`5O>fTpv0l500LumpiqF%LODZVLlg&2K|Bvu~zWQTxv=}i0Rns$Mnp;?iUyvL3A3)u_ z{vY<<2P~>G@BhDtnWLkQIVcqs>8NOEXak~9k&a49g+)fiwzQ&RQBh&yE)~UXQBl%{ zEp22}SX2X|PA#>xONm9BCADN&)UquW6(trLZm1Z)*XNvZrMC8YzR$D2-}SwI*Uojl zc;BDT{r}Io&p9)5hMcVB^0ewv_p0k9LM^?D=Qrig&1xx6t*WK+l#RNMM}=-!W@a@b z7cX6P(yNwVzc?7XBr9vNnfiMVDP6tthGnNofjqUdblU8t+0%Jk^_N%PxO}-h zLgZCT7hlhFOw(o$_FCzdniUXUku!a%Jl$o6u9T2uT`I*9Wjc-~3P$nV7A>YeDa4aV zMbb1LPMtPe>dxV-=hJ_@+{yox@W-?MNWDLjbzX8*6weIb=$SfYspnMBpq`nJP+7fK zKR#l?fo0%sFnckZUhq&d{h581^;9oU#(Jii!5glOTA6p_DxMNvDvt?I@g$z*nHCkr zJV}Nrp0h7retjMdh?%1BdB&gRx!{tNl;DgU9i&0c^(>|6!R`J291R-Kyc_b&(UxX$ zYjCv3gNisZy;F`%iOk^lmc#cmUN3`ny_vvl9r=zFVb1WNC?)BBd@h$>e!ZAI+iS5#=~YR>iShVIaAamZ$kdGN#3}B{E5w<RLR&mi~IRUSg%otnkpsS;dy#w5bQ=jP1AF8Gj}b@W+B;$WBhrDwKB+&n_ebIR(R zB|M6r<;lCjW9HylWY46VS9zA+l(&3kv?n)bIgc-U@>X5XA0A$pjKO7OJ#>8ZslwpX zb@HHHRMamyuy0(PH^qDuda@^K;n@r2NuI@XQ_fv*0c#{?%9QUfV0kX_pPolt#>1My zr!{FD4_0Q~aQ*Vd*WZx0_~zv|-teQ5v|`zHxj!0ZJp=!b66ML(A3pziB$8u(v6)<+ z3jOB_zaJf}a`5K*gYbjKOha6ax$&kxcwvkYf&JkdA%}CkuP0Yk{ITtnO?Q38FKQ_7 zm=N`+X)_HM@h9FtCuHiBQ|I5`^ik1@nfj^+Z&j-KeWlL1a+WddX0LJJg&D@#e~2;u zdO?hFiQj8H_H?GI1?l;Q{??sP# zjpC<6b3gj)#lEMiZ%JJEw=wlkkDY1Gk(q7KpEtI~7`~rh^TF#MZ+`afGIz*RJO6Z& zZ`_Zk{eral_ndY{;}u<@71Ivh+;P&&4OxJ zskt}zJwGI6^_z>%crN70dpA$`@w5lth%xF$%`{$QEqub7Fm#Nu7WNWOVV>sx!E5|w z%M9aKbmxn#4ZZ z3EvM>s=UVD9W#uLcf}YtpnK2@(feW0aGJq|_r@4^f*5by6JwlA+NaPTraS%a7~>7n z9U$)0J7bKwl(m}h6+cM3zxbc?{;;egc4#o|OO*WqJQHl+&OzPRUWxP@Q7{|^{@kZHY@kZ|*@kR^Be0PN$_gdb z@pz+XQ=Czn%Q$`;%bJWg{I|s$_4p6J5oh>*P57#Kqq#E9@D@v6pOH0%veOfc2F{JIHTp1cw;T&-bMZOq}_(U{PF}NIX~Xe_zrwC!|;-(llJ7U zAiqA{h$LOdui}lf55yWTHO(+O=!05vhGDCkVR(|ghOLkGdEyK|`2v))`ePXfui?a2 zSJ3y;IOB@_q@k?w`(h2BluP;hXrm&3&t36`gTA^8L`aW*K3t;*Cc7n2ukQzZEhm&&N1*kiO!*zCt;SdeJ~2pk412Q)``XaJ<`CUH zQ_|Jw)LB;gT+tevcEnrhI#G!)Nf7nx9#d;{%IQ{o3o7vyXISwOXC5frO#eGk8Heyh z%PvPZV0WRCKKU%PdWfz-#qXSry}_ybL^r#&V=h`dMi+=~8ly|+q14|bx*E4-{tM??eMNhR#X}mXAs~YN2SY?n0&f$O|lgqN#qJBUrC~X|cpRbVMdfx!ba= zbcxFk6tquXLO1dsl?C7hl^r@(fcZVqX zlCBZmq&?RjDBMW-*{IZ?ix!cuFKCzMSm`6Lv({DE^;UU4RMMx2(w`M=L7+=o>A6qp6#8#Y)R=79ClnxHzCEl+yOs&xYQyG__ zzc*;Bd#rSEsLX$n*pwe}ulNHx4wd%gqODVuDhc{qOs&z*HCFy;(ajUI>weKN-SQi2 z{`*n0KV?>VK2*lJRP4=8?RgO0WY-O%9DlxttoSxm_F>m!qN8=rdX(d-QSx_eMK?$5#Mi9+nW*f`wW76@|0jtL z(H)}L(XXQ%9|fYUSKl^kp0}amPkF<#J#UK5c$m6LM{c+JQ-w-<+eFEq|F)=8`~NKd zO}eN>Y}VaQu>-mfm35T#zW80*-){M9MH$z)zl!bGX{K({9ip|NI_V>{dbrl2n*%)n8;MGJ;d?|~+VRza!bs9bp;2fG8ja?mUbF(0`3dil za%#2DRE~2|{89TXf4Zrgbc?Beo!g7wZ|GW7&f5w54-|G!Rw^5n>yEO&qwF^wqKup8 zTaR$savUt&oc5efc3SDnL|NCx!_e9@ zb-SrtFAc|Lewxu}%Ig=K{WEg}O20HJ{(#u{!(5g>PISX$oj6kblXSr`2hHQB9+mZ1 zHA>W}Gu#IY`zEnZq0+uOQ~kOXbx^J&)XJBLN_`oq_)CKRhM>Pa=y#4jSm-1^4pl`% zbQ!L}N<1y}7QM>L%yiP#0Gl-G$$x}qpizpfNzzjjQq>|#;Ir+zBRx=oyhGMeA6MDEU)kQTkPnc9X7KY>q?E4DqwSp&j^B#irj4rl0F; zQN}$gPSVxra#7|nW2RMaV3uX)#WNq|uScalJ*f02A_3*P)^oZj^M_WDt`(K>2tPy8 zG2W(b(haEidriAWN1kbwmyF8&MX@O5cA%M*<4UybG*bgQAjwM8#U4-^e z$B-%@z?6!w1b6y(uG}OrRx-BoYF6~>;hA3bi`#={sOd!^!2E$r>JyE zSE&~hp;EuT0+s8BU$D

    l{BKC1QYMH20mo69O`t&N4`AHRJ9pz+;?bi)x%LK+*Z00TP zYLtDeMU;5=HKH{-QIzAn`C739x)ZG;UuF(A?M=L1;)iQ@p2X7+Q#r0hxo(PDW%aua z72EwwN$=7*zd|`~^YSe_;bxS2Gev24(Jd&~cl8BgAEPU7LrL$`DEn78D)X4K8k_rK z@9h%Lc>ooEC+eh~*>_muS&z#2Hx^mrSbHbwsn2znl|C7jan8D1`~h7ciXA9sJ&tD` zq0-O1`$eO4{%@^(ZK!$O@-Rxi2vOoYAF=HA3Y2+Fe$=wvkD-iPhbZeW@^N(YRNY)D z8m=4Hi-zg^Cq$3Y-X~GYO%i3EyG*-Ur&U??=cBUj%0)T8+fCcAoljxY-jrt~p8G^m z#@+81b?T~W(c^Sy4a)U&@&>V^bVe;oIh~@kFKQ#oejE^G-Q{mWDX-O3<~eAGZx+8_ zr--u7ik>}KSn1)tVzdgaMg3?4D)ZBhN7_CI#iC2h!^m)jypwZPfNX|XOjLQ0~d|8z9Fq{ z{2cf1iw@VBABehieY<6seuOfA4W{xwg(&e^9pd-vQc=p^wo5cjM|PsLr$Utbz~WD> zamxA(n|?NmQcut4DEG~MT`29S{X*2xC0~l#b@Fa&e!5Uu|IOVf^P9B?Wu29ZlF$7W z>5h3wyS~Pz-Z;_CV|7-KRc`nYJV3 zP~m3voG!3q)BidL%6{2pYOQWC4w>hH4piEeJVerQKkbxswYnVLJcr|JxWo_Ft`XSu zqYstyM~cfz*C5I`^og?0nnzmxK2gdoJLZtNZo@}mb06J^O8!jup~CEwm8wH?&>mFQ zcX%l2D6d3x(@32#TJ(6GIL3<4MrHh}!cf}TCCYta?r~@>>5oSlk0wzW?{Jjz%27A< zG^0{~@(K7^pJ6A8M(S2k#>ah<^n1AOMFSf>x;X;f;L%wpOS%cVTeNnHZW=4LQ#Xv0 z_#rylW3^ACGT*-O;&omz1!gaCO!?kmUWv7U8 ze0gSzPS6Q+Mcuk338kEbv#oM^Q0Z6uIrv#;ISWwMU#%$P+apT(zGN$X7i#W5=SjR> zmzm0SyeRvO_k1h87NtB#3d(VoEXsb^F3Nrru@I%-?h8>_?`Zx>Tt}e=XsP&_x0aw^ zrCQ?Q4p(oEOF9ns)ajHaVN9ihwpRSW{lKLImb*tEkx?GEL-+VhtJso!tpYojUzZ;wJ zO)f?^gy|;H&69cm^H5>*iQLDcQg6K|_gQ_S^iSU_%KKkyP>ySF3CjGGiIOhtK9uW* zbWzrI0G07>7Mt=Cer?$~Xg>95v;g&^vhGvwN7?tiYo#9(bk_sel%M*bG(N0&=_&hHOfwr8Cv*JYygJFNocxQlz#@|TM8{!5!^O{k81jC#&_PKT|>W*qxO zDbMw!=nx%Qg;GzZshf1-Q{s2%w5P3fj%N-Pww}O!KH7%%qwQ#t|4?BET87H`B&u4< z*`y0lNna;6>#9eTb=qHJ*##RcyHk|-x>}U=Te1;lz8XYnU-2ffH|b7OYjoIVtDZ*G zjDOaOk9ba$&&^ETq@#aljh{y4x}v+zijR2S^5>zl{u^HqKk0vO%~v)m>(BY3D4z@d zLDZ#-8Z0|(i)BY{6?N!xQE4B#c@Cd%y(;R_U9U@gh<3hV?X!KT?5AmOiaK@5b}POQ z-8^Ty?)x+L#?iW|MQq-e+$r(ghrK6$hmLC#JB-ggMLjy|Z>Y?dsWrM(ly)|LD#~^9 zmsY(ksPw03H_E=P9IyY!CG@Z+_G~4}W#2Fp4jYMD=idpo#kq6?)MERLZIB zwfx2V#b)0AjSB>K$-UfQTDIgL!x%w-;c6hvk#-}w*gUX_jk0L z>y$in(;Pl07{E`zs_gxY3*#|FlzN^0W__i@Q0Bc+l=_N?quih6j1d23-H*z=gpIWF z_o9K?@jCaI{=(ejIp2)JX8o(s{=y9*&*>CYj^|QT&X1na{e`u*=X9y)oGDt3=`Tzo zpYK>HpZg@VCiFS&M-%WTACI5?HzFLR-&vxJNAd}xC+euNqE4OX5gnrY#-psC{t2QR zb^k=m-!fV3fbI}w9d<{d%vaeIu|st9R4YDDlyPenW#1}4RpN*6zMAFl7N!2q>6Smk zi&9R%sUcd&VAIZeQT&;)l8)<7QR?^2KqqIwuL`zN}7^_=Iy% z+Epb=eDwLE+^3|7hU>nCq8{zI2&J7`lzK~0|FP`Drl0HKMg8W!orTJL`_m*HpFdn; zwX5q=%dWi4%I`;|y)9x>e^$Eq`TSm#e)gJnK=-5R)D!nJiGMn>CI{OuQ3e6y)f@Hw&AmAb&x8eNHoQC>i7&fm^Vly#bhI`J2aO@9MdNj^URLuK9P zUTvkTM5W!GVl&^l*Yp>*hq3-qX@46k@!o62=6w-U13Cw7Bwd+l*Kq#sFD!5=^;t09 zkz=I~Gc};oQ5nYoIm*%3j~3M20e(7Vud zwA75}J}T%Jm2%%kHSuj|5&E&|=X2)kt$wAUQvO}2q%Ss=>zo_J=DN;Qj%QTT6`QtS zKNhqb(LBm+LS>w~gYhbt{G7k0ic;=-ruy}e71;DMO_cFG=SIuU7sZ~v(yHfDRO~EM z`8+;o|2k-ILZ#lipdAq9ed7;JyIRNQN&bMoz|}KQ~mnNp#4D5t_<3nOs&;#2mN0K{i(mQ$}Kk4ul=Uh=od`odo!qv z>khPU1oITMXXjh>-X+Su@$yY5z6r<4{Q#ZQ6``(7phzq#c(A?VMozZ9)5K)8_NNpxuR*k^U>R9PJDG&$!hp z$A?NgE)``xm39@I%KjI$JJ3?<{}`2V_$(MNeyRWF)mFYDQv>=g zw1RY{L3vpSOPE_nO(0<|*QN_BR7mPp8RQ8>qofow4 zGPPRQ1^s^r`iI|PmFGpJe@Uj+>O4`#zbfdjH#MMNL8V_kLH{vDR=Y-ertI?SrOPYR6qx`Ycq^&$`>HcM&S%aedIv zGj*f>43+getJq4HY^q;ZiE^Gj@gDK}^>kAM`i!7`fvJ3+74$zAv>SqUtEqn7j>LLbjeZO}g?2rS$~X_XPtphUbX3}t5VRi)+6|`7`*FXv(&eM!r~G~^ejO_1GzRTvQLY!-*IMze2dwnxpz=A%T|s*jD*b9TmGjqc#Af_Wt@C@@sO47JXGd? zcDdxQ(P^lpD?_t~E42>IM=Q}{^l7vltwk%)IZ&tf$ey>zpxW^q0;|fpyIzWXm1l`{p>L9O5I^zJRVlrQUkftQXye z-EPMF^;f0_^p|J@{{Eodht>yeY1imS`U~r@r=sFdK&AY7L4PVL>2kzR{LMjsF)HbQ zi%R)Vqmr&E=>IV2{}`3>x=iIdqC#xHjz%SYfoTVHe$aj*7+)LozZtaKg7%4zTJsW# zn)7FBt$xo`KHo5v@25Ow)vHXc)lUTNr%mx@_`ZQ6- zEftk{?-!eO;d~Nh{RTvd--Jqi`-1kYD)HCq=TPxq@RZn8x($``mOf|sUof>skN%z5>vfW;0ez0Cwfe@O zoo6cVtC`9^Z)%PH2$g;~>Lh=_R4LzQ+RRVT{|7Y3$@Os1ZZy@ezeFXy=XvroK6$^l z%DLXuTJ5gKW<4Ay%J?UsQs3o4`x;Yg^zEX|_baB&`4yG#Sv#M#tqufK5kX}e6dvsV zPuLotf7dune@MohcYA*@{{OD>|5MJtcfS5Jp8q$D=i}xc_3xUClIP50P`1GD?ScQU z^8ZuL{|#&A|NAy$ zh9PF!lV0P{2Q!Q;)OHciV8XCPF~*XMV~n?8*CjE=v`bM~{niX)aQb_A=5Eg?JhR!! zbGx7MY$Tle;S6Kz=akVEV_XD}!n7}9jAvn^Bi2|kB-S`$jZ5Gj*el`4SmVA)vBsm5V~wAk5^KzjB8@H9e1=e-BmAFm zE93WR-T(jDLm$seOl-UFu?sHP=zY|;EB^2I?BhA?4fCgdv8^sOsb=)E7cKqSk~918 zeR=-Wf$P5hEcBk{)=i6^`Q7hAcs@H~?4e(O8b5jdQ}30`xH0F}%ZB3XZ@OX8XSa<$ z@3)`a@!^BZ8@fXAHO@FOx;g37(1tS=&oaMu(h2xF-kRUhvgFgyipiGGgYTvu$2wp6 zUGp|P@Y&BhiWfgP9iQil3+@{G+bdHZd*;ushwIz6B;b2t;-r&qPb~Mnba;Ex3BN1O zoQKb~=Wk!X^z^$)6;41+&^GXAPuQO09-O=*S#AnrU*^y)_k&rnCgW7Ud(8o`_ z{o^&8kXhcKbaU}p8H*%1#H|Tr5^Jw1CZmTU<4DwA6`iw!o^MbyOpB&A5WzcuYAm3d<-{Fssrh6*r zduovH^`LLzAm3*}-~L@k^A6c#weQhEzKKEK*@JxN1$}!uj^gc?GT$}9 zbPoE7 zU+?Vk8gm=DM*Z4rJoS~={2dt&rAYa_ZTOEm^0NNtm4s664C*lUa<1;N>Ie^(|Brs; z-S}_m$3p57q+Ab(9;svbvZep)Iw($^Kp!4uypGf%z9VBLb^LF~O3K^ASlt9thm4iH zigNgUj%(u$588W8ywO1TSB&c+IAQD2-+AF{Aj$_$4r11Y{3q{0XE7rFO|OT3q;C10 zB_9l`oBuQWZ>n%mF~9$jx;@1EU~t|1>+*m5tDo`Dzm7S8ix~I8~44@H4nyCwx;(jIkeGAII-_px zum*c296Kk*_!)X8@O%5lvD>Kw_G7;fTk);Iz77_{X|UvM?(dst7`qAo6*dAxqx`|& zBnt$!9zF7VWfFhnCBI{I>>bowM163?zaQU`u>6M453i}5@_RtR-|dp$4dPeO)Y<%2 zRVw@(u7Xu?2iy{f^g?za6b(6uuDR?;GU1I5PPAU-%~x=IbHq%0a$Z z!b9-gj7r|Q9~~`k4L-THcz#fMn}R;vs+`{>lIxB4@rf<3m|%R*pmdeNbdi&ew#7?Z zWv^U_@5uE_MKE2#pmfQk8%nxI2Kf>w`xtz$4$4~=%)56`x^qZ3l5}go<+t8?SWD=V zuXt}|5AYt5umz0$*n9bHEqE4tJv;(elP;8e4-#Gr3*nL=3yFL1YtmEZ0m3oxIdNBD za~`PFT%t!QpDmr=nF_`BakROE_82q1k#n9E&mKg2&ACIH=@}2wtB_=lPRY-_RHhEH zx%aEg9b_{Hm7LR@PMejU$*AN8!BHH{&-{MRW;~@l$C2_GqDpW(L#+IbO07R)Z+kq> z*gD9rW1L?ZWVaIUwaRxp`Mp#h?ZsYC{cex4IXj5wgjT6Sl#Bj5k}P|@*kSy3mlK^8R{WtntOUvBqzBPw>H{SR-aZtZ_AZ(fn8= zbY85n9DB+1SmUI2*4n~Y;}&%P`NXC1-XGx)Qe%xP2tT|i)_5m{e3$Xw;6<^Qdu@U=m zxD|U<1@D2vcI=lR^ik}`V~t6$m+%{p5r)ui_G0)8X-;^W_g|lhHFo*w6R(B%@2j@L z5+}YRFNr%6mbghT9*vi{WB>Ti`95vnecE8YXB&BMm3vev!vj7D0ftf~b1>P^)GzE+^#`8{K~hx1H5V~0xmXLiprJm_le8qghQ*Xr@ zJ4yQm+=+b^+)Df>r2QNG8J>k0e5;9DLwF@z0ef1QL$n(GGjTD5zec6rk%T8v*R5~I z8sFkOi!>Ym%zN8}H^W-kLz)A`FOx9sxCyq7CGF%H#;WKU#=|G$A3wvGJCyVxGmKj( zZ!Rn$UFH|F3?KD;i+u>j@10=`g-I}geKKl?1)t9{_huQ}!S@Z%61S?2ar%Jw-uH2S zh6VUY_CI;d#qcnT!n26Rg>EcW2noA^KaiMTKD|NST8)K?rkkVAdP zqvPO6xswRT4ziEI|%cyuZ<_bZi_dv;5CqV*%v2= z#2XvHYmYachcg`U#ukux*&CA#epeV?hC`4rB;HsB5-_;a8y>jvW?n%!aE#;$^QaCA<~(!NlS5MjG4+5-P#?Q$|_wvUlba{s7K! z#~Y78KU@)N#moNrGT}L+`8{NqJ0{+E1?GoY@v?_X|C+G(fb{RUV@VHEzwD#ZzijM> zLHhS5dMFq#d#Us<`nY&wIY|E=L*ECEDSb#v8YQZvp#wUh3%a2PdZ7>cK~16m-~<=AAq>JH0z422Q4kGYh=T-31Ro?pGNeE% zq(M4lKqfdcDIZ)A2H_9^9*Be}hz2jjK>{R#50W4mQXm!5ARRIw6S5#1av&G-ARh`q zLlG2136w$^ltTqnLKXO-76MQQ_0Rx~&;;9{8Cswf+MpdepcA^F8+xD@`k)`w68a8K zaDf}bARHpV1CbB~(cpzRNPtA}K@ucG3Zz0Bq(cT|LKb904&*`}zLE^tE_ghK>) zAQGY=8oUq(36KarNP=|80S#r~hX!bYPUr*IGRlKENCY1wLkgrpI%Gl?) zF_c0XR6r&8p%&_(9vYzunxO^SpdC7)3wodz`axyUZ*V~vgo6hnAsW1p0Ev(U$&dMVkm_Q zsDc30LlZPZ8+1T7^n$vYK0+8oKooc(5t1MkG9U|bARjc8Kp9kmAL^h1wm}QDLnrh= zA2_aI93dP$5DjtQgJej949JFDD1ag;g>tBZTBwIcXognkfG$Y9ma-rTlA#i+zz?L+5u`L zkOkS01G$g~`A`5Fil7)upcKlW94ep^s-PC?paB}8722R3I-nc+z_o%lLnK5&G23Y8FmMreT!=mC{Se(-=7e2@y6kP8}0p%Mbn2rbYGZO{%K&X-BzoZtdCghK>G zLLB%Y2~r^qG9VjrAP@4P8Cswf+Molvpc{Ii7y6(d)UT)$oZtdCgh4n&fCnNW3ZlUa zagYFs;DaPch7?GJbjW~A$bxLhfn3Ogd?)}7MNkYSPzq&G4i!)dRp5tO2tXawLnAc7 zHfV+xXoWUthYsk2eo*=J5uD(HWXOap$c7xqg**s=<0jIA3)~P6Igkr^kPjMKp$*!h z1G*sbX2t}PAQ@624bmY8a-kSXpcJaW4~@_S+n^mfpbz>X>=xPp5#WJHhypLfK?fKKR!9_WQW=m(|gAGp8` zVGs@x;DJbp1~0@x0wjVDk{|_AAq~?5~M&Xq(M4lKqh2C4&*`}gSvzMfeYLa2H_9^9*Bf! z@Io9UKqB}c2~r>x(jXl&AQQ462TGv=D&aq`qa)y(yD&xGTR!s2{gr$&#e1CcrYf&J zA0HeMnH7D)wlCTryv#P?>~*ti-c@m#>}|>y71K%g3A^GwX~Qv(EVEZ>OI*{FRhU zcjAir&qpdLd+qqfzuxQ_bc@uZQ9Rp{)U%H?}b zg^u017&3>bbk%XvPQHf}rWzx5b`;*V!xtK{)8SSFGs1VOA(cCP?(m%>`4pj2CG52I zXTGa4(%)76+3(VZnnr#}YB3F3;!x=x^jH*3U?e#EtwnejdPVmj%Y0sQpG~ylGqC~7jtVDCDMkHV+U?%MR*uJIu zW4pbk!>-nzH(ZsKsawazlqo$foIj@x3@cNG<31DnE%{T&pS_8X3{z#UzQT81>cpLY zn`7TOM4i6#6{qikd2Y4#lR~{?nd_W;m%AG;?;N;)M^W54_kKqCuX|owcaLpo&E1|? z)=fc|@S)(jzjUUJ>M_o}&AIbW4z>5o?*`KNU}*2XXx6Bn&|P*_^Eky%rTFs?r@wpc zFy8~`hp4)*nJE_bjw01_Y>7>+Ntx8Vu7tS9hpD~ivyeU*7Ns+4BSL@=FVmPsqZdx`5w5P8s>Rk zT{qvM-r=Fndp);}U?GRB8K-Q!pBxxSqd1TI;&CgSJOAcV?sGHUV`9?X_9EMuIYqXa z)p^RXJ&V;aG0d0nY8Y?5D(9?;k-q#_BUOHua?hHWKfP#pBWksOyLYvJTEbTUTM4WEi^F{T)*l*3JE_y@oJny$HF;V> zg&O}xRJyXID$l9jR27o0V&*AZgFTMAa+Q&zCd} zLv@)gB+3?|ZDEBx{Tr!liF}ghDNHaw+)ZS8@C^%P^Qa-Dn3JK5bTw|5wt4mr=Navq zQzF#p&pkt@e(nQ3v}SRl+MAqf>lqb3Yv`S-Zyr-L^lVi>k7*k^N#)ODDu>$C={YK< z)9#F;zc$~{lT~#UzoKSyta;s`>I!UQh8Nf-bf^NGYI1~L8_hk0-=TVJ^H>r~*?yh2 zkTpY3o>QH!M)^h@yVvQQtKMO>-x+$ct$OImAz+81D4XvZj>K@=#Uxm}E6>(*(&B!# z_de!sF|&Ls$NncA(VrYXCH@|z7cFu{{+S451U3^P( z$d|<-J+}F*#zIzCcIDXzNA$CKa1pH>Maox%vslpw+uHM})NKpQQ^xkFyb(K{HlFo( zZg&mdd6cs2@8zoJg4;*Z4P|?C+%Vt1tqzsubo%x!3E=^2YAZQB|6MyPITA_?wf9Qp zc=L77;~!qd>8NB_-wX3d>l?zBEmPC(ErLI(ku~$1kIU=1^?~ug zhwzn5FTzDwtK|td)CcUBevT)C?nxonwjZNx>*kl^x0CM zFI0|e9U;C<2CGkPP3fQiZVB@`j&>)92h?y@`*0dDe0zjiSZh~x{i?_5e*D8{Z0h;* zXzFhJ@a^{OYx^Q0Ld_q7+bhoys5tqy?B4LtzZ zhcBRU$!+Snvz7hLP8D_U)5=jZnc<&ZX7hc{u(LCMZXdcmPW23PGJwuWuQMFZnq}}c z14wZXc+_Q|d(_$}ZF~0%<=nlSABhZMq$YA`7{2hiH~T#EZ_Z>*tl_bq#SXQC{^i?Z ze9GR)M*+4_oomY(#y|~Q6X16)S@dkn>Y^({)bmqvY>yAy9>U;E%)T~CgQIi^J_kB6axjobT(np@sQzpH+u7=4h;DdU*inBW+>=$oj?S162pEhxr$37y| z<*^?N?h=oE3FDFJNebB9C6RWoIT+3;`_hFhoRLGK?2}bUl-SjTHO$w+5u9kdYyr#V^K=rY+plP5ku;~< zPw=GMo&D;V3_GXorMB*Z2Zp*_#)=89t^NgSM0!Zi30E^9*DxTTvH&LArhZxJ^d001 zF3qFV_T@4o9`(*=cB6)?%{=~>5Gzo*Qr2+14RHLV*i|a;;n|(J_PvpuvuftGJpSRb zmZEi^vOcyNs;--<2%%Odo7!BaVmedt_Ti*==exK1vz05t_RWd+D%bWkG+>Br%DoG0 zr{4QEv$RbOtx-So9c*M)iaBSqfbzFjG@L${1 ziZ@649-#0luCz7I4e=egbe-?OHy7Kgvqn(nkeahOU2}D?ZP?zh)r@VN zPOjD=YRwq;@&__i8_%Jx-?0*VrRpI3giH0Fa0#b^=YKJC?JoNmE=!NC`J|Z3((kT# z*P|MD6o#nX{9CjgD@W^f9xhH+;{T9%8&_)+Zr3|JDr^l8gE`r8TU0LN;kq577}4QacqR`IJC((#CL#g=sDjIbs#gu$t}%iO)9yQvZ!cxxH{>J zcC=kh{bHbAownXqqU_dRSFswiFISz^ldDFfws1A7U)g+(cK56(n_jQjw zB5W?3x9^4rv|9SNLjw=38z`}z_V+{mYRs6gOVort1Fg1UrD_bx6P@$krMg3@D(L_% zXthm!?@+Vt*d;#O31L3l@#v^Vn{7;QhB|2f zQYU?rrADLDE|)FjG;fN_Hhl7fhupR?e<-o_j693-xldcO`q04fDv8C>vt^%6`Cgn* z5Por_(HrWEP%|bJxG$cU6EWHs5l+~7u`j|sgKw{m_P87~q76MxalIaX;msU);YQEt z`^TsQ=dz@B8LD(YmrLJpsq9f_t)1Yz@Wpu{Y9^Omi}()p+P`pM_1e``HqeJ$X&^`OG+JXN4VWRE@!BFbfoGXzFL*;m}sk9H2&b0ef<38 zixbE@FVQ`Ef=kT|Q?V{JId5dRnw-hy%PwV~>PuBq+4^4O&e)++I|c^gJtfMUKWcQi zTBdEKJ3I#~)sg}gs#4CWVi$-scpJHE;fowsF{?SXR@q`Y_<(YV>KvnO$;FFy*(z@g z*fbY;C+V({FM8z~lXJ6CWJ~C`uh2G?;N0usQLz?Atz`_yZ`mvHYo8xGb}bK}gmrN2 zzrwP;;qF*4pD1AwyW$R56r!rcl7^Y+q)|*%)N-Kg%O<$>bN@FigRhh`jL83 z2gRwJv1@1Dox(Vj+f=2^QDJK|3VgrmU^B0#)O59)!D|`c7{4|_ePfFlyLMv!a_VtR zolNPUQ$llyDjlO5Ly{^v303m0KnK%nd!Ts7lI|`0RN93vax0N;bB|B5@3pg3CNNPd z!#R3FNac;3ZHjEFUfJ4*-WY*v!tIM(j`1&7du%Nu)B*K$@s3>s_br;Q&PMmLQPm*TEfT3)LP6pSNNb!O|X?jsE|He=y83v z37H`-wKX$Dz3Ah|t8ZiX2vdvH@v)g9waW9&h(ufHD~UF@tzCH?;juZ&?m4a}eCkq% zYMGZgY;A{4FBj*qzQ-Ff+0T!}2L z&s3h_p6m(Sh&iG{9FZZu84PKwvu7$3IF&IA@Q%#dSME|}TZXF@Toa_daGUQpA2V*5 zA;+zmn|apSUhW`0`I&ullR9KHi=e{~*4)T8FS zcl*+_)~+PKkGKS*LFU@xP> z%(e-A^BgMl_S{h~e!{U?r*e}b);@Tb3iGSRc_i?)jqeMgCbz?p7!sp$FHE-0=W?Mn zUxkf!*?iol)>JuspVGf@Tau??!2zGWazDMO8uAmJEa{TFp)DwaaMj$9CJ)C1mZe zJ8E8Im-rpi+3B!d-0RYd4sIL5kByAk<>#w*RL>>*8(NL3P>wOLRHzktsNV6hJ*0v! z%&Px~qi+w0;=2AncV_khEHL{37FcC=K}96G=pu^}orO(;32j!~G}O|%AWf)}1e7Es zA#qTe&|+IgH<22@aUrw?N?X!k3#qNEp)KEp_Dcv&ZNK&#d?caKq$?6-4GF&wzdvB- zap%r`oO>RhbIu)MTATO9Gp8#_uyWxW=7VlINX(LYA;$%(V&!NnyP^psg z=njQob5@~C(;P)FqB9alE)Mk2a_*jJ0HvGQXq@2Z8gA__fs`DbAafEV#s`&LN5i!F zeu&BX0CQ6-h*!$e#0(23>H59YaEaIUU*$C$ zjTSm@9*7FUNOo~z{zB|c4ioOhM7BcvQ&5wK4wHfjKc#^24xpcy>_MHeWl(n?-*04r z_+)RVE}~(T)*S-mOsmamvfD(HorD}&6Jd4&KgPW*+#_6vzQdqN<*a$z-5JEhZD>QS#qg&rtemu8sxA}mp#MoD{R^3reH%h`b7tPAZM(sgj@ zuS{}SfO4nKiNi6$oN-zwBlTweutq3?hf5Bbiioq3#Kqc3I1KdTQfv7aVg~sW4xzSc zES*C>+QH3*_VJR&a{#S6k0kVj^BV`kOj53%Ya=I) zTFI4(uqOS!`>=5L_APpo@>-tnY{JOKlt|%>VMTAuFCxvOX`pb5bF$p5|zTS>=%oD}IF| zlWZZEvSZg9I7I?CCP`4|NRG5paFERB+qC6(K|i}J2@^S2K+$)RvT-`Pm~w>|H60cw znBD-doFsPjEDlR~=B5%!(~ni|djSU3v@=PDU0R);R*#>p#9dW*fT=L+(6#m}B76B$ z5U~X2f6gW!xsKx%O2&M4oUE<2yL%Ip#Gfx{L;BnX+;D?Zp%Y(xJPy zDw}pd$n6c_3#KQi8feK?wrGi^VVzuz2g8U4MT7m&unzOT=0KDXlk?DV*Ag(>!FZns zeI<)gfwi82PId)!5ke<-qmvl@_7xWHW$0>kaJrIsW(?vQV3g1g9`I0YVE*}9X`V1V zO$p#+X3ojTrKK?B5_6cNrLp1_H{-!&uR%-DJPO0q|IXsL<_11Yx!WDslj+_KTke2B zueCsdCu>Z7JWQ!Aauld?S~-lOa>t5y{s79_RxC&VkB@1W z*UC|7%9hwUuwh0OUHIeXG!jKeN$AbE!KQgrzXyemBoMeQ>8G7$HVw5J>^*K)oQ5V* zrJ;%#jC}y(Q;g%B+_Sy0xh=hzaUablBvSMo+#HwjCktnLy#PM!&GM102Jw0e`BUZ? zz@T;rqv$T;uU>|++2k~bo18}caeCVK_(>Lo@zLzGi$&RXRx2I>&KID-#*D`UQuVaX z(|7*Xv{sl&7l!llrGhv;ng}F-1c8JZy*Cq_VUXS6_G19|cW+XwFa}*26lE98k$6XI zXNskWEK2!jP|Dx9y?6{(X@1j< z#bX;`%KYTk;;{jv@!0{RT=nJRvD#QxL^tBCtJUA*A-Q zbpby5cp8pv4Ll)7?U9zraBS;ax0aT)r5_(I3F^s8LZ`k=fj7#XQ02vNm2efp^;q?w z7Y_*XJG)EeXfg4C)!5qw&oj%l1hz~qfd82)MAc)WvO zmQ)!hX9y|#>XA>GsKC7F|0y_OcI=X9{Q-`e;$)OIc{KvGR>0Uv%0kk)e7IRa+8x2a z=BN?ovGo7$%SeI;vfomcsO(c%aGK^fI++--#hGcIHC@Y5zlE*?#Pi!U2QkoC(orcS zTFOsziQ#zY`VKk~CkC3d*F~32eH=Wm1zmi}K`J!=@>4&xsb9tOEzil(EI6_1Z0fx@ z9R)YpttI0*t!E*TRVL$0D8>?8Kkzg)K;;`Jdk0o81xOsMi31*@RePzd@DN$9aUwNw z^&P3|dKACH8Q(jRMZ`arrq=(I1)ao|%vsfyPD**pNf|Xx(v(zK)ij*{0p}G<=R+xK z0?vPp^D-yatpuF1IbMbBpYl^&lLMqF&q`Hq9>j&?xZqlPsLiT=jPoDjJbUT?L*-7H_l*?`OSqJvHy7S9ZLo+tEAQegSrU? zFWT6Sby&N=L3~;o8v4nocGB8^1eIq{>ec^VSPWAAv_Z{9QCrHaE*Wl?X+Ak89_LTI z<#H<^{4*PEnZ67QHB`AEoRo46?s?Fh;<J2yz0s9aS z;zF~P9=-z?romfG9k{s4O0Pv1^H0A-!QbMqhnjlg)w?m;KCvOX*9$%UPrb}Aty9)z zu^{x4p#kU?T!U|o8dy(J1MP6;s)3F8mDZ|(V*CzftAQ=R5M`9uWT1}LNj+4UfQcl% z@sv&5RF|$!gIjxJ{b?(h<)UBTem-42k1O-pdiht-00ep{!$$iQVLWAry(!Jalmz7A z<=ZK)($ZpYiZy)!4qj>nEbOmMS~ALg@pO%7#z5Cn*ab_<_byl*l$ITD|9)F`yaHVV zCg9Vv7D24?u`1VQ)o$6`s$UYIHtp)4w^+r*X)RZ}3!Sl2%utdk7)%nZ33D-a*y!f= zwn;n8ZU&W(^|nn)qX)}RBvE#v(3w=wlHGZl?90|qP>N)syhfWTo2=gtC#9r?lk91x zfh7N>*2#od!bzs|aFX(@G8uzuK3lIZ|LDx*xjbtuca2t@>y;At=2-brknS~WPTitG z&pl2~G(fJFF|K~tzbw~{6iF*k1_uFJjGN2q%HYKt4+P3P;gh2V&$`FmzAzFJ1B`R*wkyd zfkq5Y(V(0A8+$oZ;jG_)sB2ytM@Sy@{J`ViX$XuZ(b0z))_^Z*=PiiSDqnWIZ<~0&BGldQO z-m)Sa;v+a~@^kVCNO0t%Ce1R_U;^n=>tQ+|wj}3*aG&pG7Ce!rxsp(-U|iiKRh<*)^^E_bues#0(HSPud>hgwz!;;!rcpC1;0uLRdf^ zJ`1PVN`AnCjUnQS_=L*D2IN-{&hgA2FIWB56CGYI`=F~0B<4L)ogl|eoLw$Q@56LalLj zj`IrZCx6;i5xY{+!m6OIE*88EDb=-`sgN5B%P0^_tuZu3;fsj6pzL_H4{xqWq>AO& zH6chM1|xMV0wsO`0iBP|mnM~;h*w`aFr}f>i7UGw7NAIWK~kjxMilf=2o5ooht29r zlP~gVIZA9m0U#Gz*JK$?#=NHW0}ATz8cJh53A0A6`aQf2`R5H1JaR!GK*M zPA<&owPbmNz;Mqm!KTU{w4IAnMn=i^53sd=&SYIrxVPGUkx%LWUN;L~;#2!soIDcZ zIh6#i{p-Ssq_cZxV54LZ6?XC5jAr7gXW*xTaDWIIwx(H7TF3q3C7<8C@J%IoXOaba8<+jWYSJW+3)4YtH9u}aAFZ#Dg^C?c)mh# zF3BaKHDiJLGMf3-S){pUO*>eIy*ZvMqnLWZ!N_Z>vVbr?GwXHXAqTKUz)h#@Bu|*~ zhFUl&&1Y-@b_vBGNu!kCXyl=I`0UO3FJJPT!f-Sl0282%8{wLn^PhSa}ej?SR*87^v=PC1!Yxt!7A)e46i&O>MVs8zaFF^AJjbtY=HNq%K9AZTpNe;483dN#T_v!bM#2lajpMPfvW?wY6aY{T zN`Qkh>Df?_1eW5EzMAd)A(m7R4 z>KTV{-E(Wv4}i^!cG(pNmO-(W@~4;k9zi#54JB;e`GrWrsrNyMe*>L@OBheV z7(0veQvmsgXPw zt?dPrG0!O(!&`wqWdQB#fuV!04l%T#3y!lzjtU!D=Gd2wtk??I?cpR=n&f>9jn8K0 ziW*KlQM=Y&&jt)El;#A;uP5=(*{gUfzUC_^43QWYlMzg|n(7hDnI@j?Fboc?Q606_ z?p*=`&$bDJX&sqk)$Rj`3~6y~kegY9tS8f)zzLo4#xJv1!6dRL_*m(scycKk7Ib4* zg@#xf2_(oPl{p>+#7heaRf4()y2JDe@}*w{C&65fWYp0}(yMDK^x-=&!5$Do*ISbN zJcZBTXFK!`^b+6s@=GG|o$7JA! zfZ5|GLbDq6+dpQ(Q}}%xW{;nL?e^l3h*t&h+q5b#fkvS4>wDO1ReFRK!ZD47Ri=%( zqDjtNFwu<8``?)TTI#qDwG=!?BOf$s8t~@JxLToe;)VV+>ZQE=8=5)V5rGA9%bg;A z5;S5~+A|h(*GoB|ViC;@?x6PVoS>A4&PnavZ`s|o6kd;71F`Z*7z+??N``P4wHSlI zMKpz2?S(TjWZ|gPBuh6mg;^w@LHMYb8E5A;slST|tV6(LcC-nz+3 z1~~}j%*xf$w55LwD)=$}=!?aCH)!2v=tyI^E2tDuusjlpn`V34F{4rkGd4mauH`J=O`(}s+p>LyTNeQA!_o}fA%N}9bt>1i!l{)d9l2C+&8RA5qv@2?N&kM>;aQ$Ai z%&M~+pFV6e4)vI~TN2cB&21|pT>nmV9iS0B++^v3?q)%z7z%r{0%SRP+$z*8Hxgog zMwc9tjv&ig>6yY4{#2))hTN3*gHF(-tiUUCjao`@2j2{_Ou;dy?EB!L)lYI%^LX;9N0J+oO>jf<*j^< zP9)2F&?;w)at+IB?wkiuu=wo|odYv`;yG^hfdn8cZF=9Sqc|u{r(A$N;9xf22GG{O zI+#h@$%|vBY4G-<>u9n(a^v$wR}GjvRg;vcKGuvC^G=8@8)+0^+rq`2N6Lo7@uFou z!?|D6H*6D=BU+j>9oj(AE-djXgD!7*CkyM808giqfEZZdO?m}AK8uBrgcZ!f_I8j? zB~YLttPf71@W%EJj$tipu_7WY9=!>Pbm}BW*Y|V5<6bi43i+S!zbjyp4{#}0odxnd zXMS6zBY)$pab1uKB?!X^5N0zehdUr2t%sg~>L%j2A@Zd3Uq9yN#KL*1PQko*bXIa) zJ?2f2r*(8{LXgui3g=_+V&C4UDEK+zGa;j4so25(KhGtPo=zQ~r~N7Y0dyfclpA5+ z!~sm%cG8pT!n7{Q0d9NO2KZ47TX&@NXPjicmb}z{mk=9?OYIL~6`n^e4*>BBfw@k@ z>-2YsG(Wvoikfb56n9Zerv>>udJ-1Qnt5VQ>|#%@2y^O4jcicb(VG){+-{i^XlBL& zJZ7Z{+t^0;O+F-lRBE4NUxlL}_!-k2ay)u$8I? zfb!g21WHplkjjRazn0#gjtc44;!rdoh0^;|aP~O*Cn95v6f@5LjyAR?AksipIBWa2 z(3*c-TmHG83ZDeUea5Hv5947OD};C|90_xd{n)cioFC1xcW;`A6CF+Irh+D$L)Lor z;>{-Gc8q|B^{$g6j~!##HZh`)r8%N-8jWl1pWZwj=TlF>QV%53GGb z$AtjB7UK#Gf==lM|LarLX7#s+gubD_Yx+W&O#P_T32B$L=2^FxZOJK0s%B7z<4#tP z;3e~KyilT+wv{sft&~VgK(MCi(||Ll{8~?<#>VG=@yw|y10ObOEP5K}42SV& zsKz*v19HiK28`}=1ewX;p0A_e0nWD9%AZWL3gikwZM(tSatxXXH?KRH_QnRvKLt&D z0Rbuh9*;HJ26UFFH9o@5-d^-W+?`s0c^L*?lN+;yXJ*|?;876tp*S*7byalH&xD0^ znMD_e+8}I54$Uw6-AsYf(9r!Oc|?v=4w#_nKuZjXvpP5xpDyGNrfub^L9ohCSDBC; z!`H?+wn75PY%L+PAp-lOq#!x$rD7+k%eKh&1JW_xG ze*d4+d`OGgx)$gBjV|W=dJ#O0rVT=XZgCf}J`oEV+>Z$f-6u!gqf9=Gb0=kW-Cs%` zu%X4dm3id{zMKOkT<8&$SeD2w!AydmgFcDopmq!HV zYnMlE6;ItIu{be7JY%B?G%mcSV7?Mnbrl$pMnC^B4)sgmgVOzTW#loOLHvOhgE0Z1 zT_d4G^-IdOl~`OZy<-i#+cR`jI1gvySiKOk_TTz!@tE+Y)E*)rbu?-+mt?Wl_u$$% zdvMo$HWNdxwI=3T+uf2*{?pKml|+}xzH+fqvoFUF*>hn1Sh3^4$_1DF;FpW}hne^S z*sU!G;uVH8l;DP){IRrW%qNe3jAi{irsP8_4GGY3{)o7oj{p{g);pRODoAOCrYFO7 zy1#nfLQaXQFHwDFjV zOnF4HkgG+9na9%Z+9AhZ=L=NZt>@mYhh)HcbQ*e#Gu9LyBQ}xa#InFh9gdfa$kra> z*q}wWI901naBhY%r#DJjhFP{+4PlBxCGZP1HO+_OO5@}c7_=#1_8PfmkK}IBR(FBI zGK9KB`A6`m=}Eqfbvi?{@fPS6C$*H915NKN)|Ld(Zz0Qlt|l5O)2y?=XU7}gUJ%3- z3+H?g?~HwD{zVq-ez3;^Zx`49->Aop7^oA5uG*&gGw4LVzWUZBDC2t)J}B5Kr8+JBS<}p9I4#fub9C(>E`KY6@dR^S51F5; z)QcaC$D4F>l=mY*Z*eThWYC7ZkW}v~Q2z+&>n)HGEd*C3W%1z_vpn)9rr{t6F~rHc z2N`(q4eh?86kLu%L*Tmy9Mo{jgh3eJB>u#m$xmy|J*9f7=F1|z@z+^8!G)-sI9~?; z>}=pdzA5C@(-lsB03+9lC>6cwF`r(cCarpkJGs*jVW*Y{(lNPGNz)U_t69%f$U$VDp zRnX9JPEsbro2(pFl5}KFM(DZPQnbuz$Y`31mDd23Ld=ZJT06DsDxBCw3J+-2OdN(c z0qz~O9Kj*!GE5oz3md`bnaG!iwQB0^8H?w4(5@Au^H*!sNSwK96bv}uvjE7)ZBk)1 zMsXB6Giu-HGTrXg-Qa$6Mjp9|h|DfDI+TgO4uafOzK8mM`ykj(jQlr{YBPfFV!{G0 zo{Xiuvn$B&rbyfeu=+yx$kG3O8s6-C5EB5kdU|m&a^{#=Ai33A&T$b=g)mKN)dI}q zRvqP4mU`Wc3Y_GmfH@b+{2d4)loMqcoS1m?`=k6r_RuD^`!P9dq9v1tdH}1>!7ufr zHm<5bjwY8j>qR95J?P{bpdNRvtV*!4j$7zc_sjCgZ?eozEp2ye17lE#yD1nKu;qLg zOs-QW-ts3jLeMb@8Bomr;O%p9W1f$M4D8r7>nc*ZQv>QQd z7#M}5??(eEY@8YMeGJ=>sF#~S)fPwSLAQo#lA$L~{1^j?CRSUma1IUoD? zqW`xt3`o{6?Pk&qHg3?IU}F)qb8(h6oc(Ok55B8lCoz}Jc~l;mXKe~*uo{1(I71%L7=Ia>%YpZmK8hP|GF`0UnA;MI81rN&`R>HU zUj;bRm(zU1`=6o>2r{9vU3k8p30~%1hx>@s$;A(%wpZgPi_%vfChzSp7gKDsEMuI- zHnJFn+2@#r(G0#pLgno0qW=fySFuJaH{gl6Y4VSFK3;TLsa1>fAENdtmKl1vc?0%n zYkZkT-a} z6c7B>JAk_Q5?GJLzKYs5I?trgH9?%PYBEEa26Be8)qxzUOrX;_bS<;Y17YRO$=dU> z+qvwIZs*Z=0Urin?1kXVXP`ZXbGs<1S#iuji+Zo52F|f41L$c-HUk5SiBy2-fSpNU zet31#I*Y}g^!VWw>xYWjh2?U}aTau~W7$+bwN8zH+-WEGdJp1xpo?7R=GLjY$MFWB zCHCP0HSUJ6Ol)Xk_4`dHcbXwk(ql#~lx;R&b)}R-a1I77-VJRfBUy>z10Vqj`DGLX ztQIqiL;1P!X09?B@lgg>iu|8; zvINbh4-M9q$^Bpz|2WEOOw?g?ls@Sa6{v%*4R~xQUM!u+pU4a!w^Pc;bNunNtyE{0 zPNwB%D_M22m3{~6m%jAs|%_fpv57Btz5qYhRs_hh-^t>Wcp!gLq__ZNjIrp|_E$G&D zy8eiP9G>HTucLV5U}k(StsHO6CDRt@trITg(&EV@m;U$6Y?*(hyrmfhx0I4>M>v>s z$vx`u-0dc(XQwO_i9<+Di@U@hMA)@FV%LXv+KG#^*FJN^Qw?`tbuA*tiI<79P{y}v zu-U9kHFTF9L1p!nzlox@!m5+CzrM(uN>>m<90qBYD~A7Yb<3oDw;ZjQ1=v`8CBB+! zt?JwpH7oR@1fFNFD`@63E=x$R;pEOq2a-}etWIDT)}C%$r#4}RWq=k=a>(Xv$`Nk% zu5OjT1tk^GQmgd;+rJaSZ7sq^L|RADx*TTraFxt>s)J1CD-yG^l>x4enK&^HTbQo> z>-C|WL_ICj4`s_OfQANKY#2~yY&pW0Uhg=+f?VsUm-iif0`G0ka^k9GTgNVJNIL`D<+2eeyFbD1qGOaIz|HcDv{;nK~ z)}xdsN4Bn>fbG>T5l(Dl`ASo>D8XUhr|vRrJ2D=)se z;++c4$Sh=BV(h;@|N&^ljI1u{4`=U6GzbMKgN`Brmp5|lq6SVe= zMY!W@xje>hLVC%oS4?Zqne9oln+MDatk8t{182%YNU5BxJ8$R$vvA@QW z^?#94DWXg5|KAAWe<>vn@pHyvpsC$J#{4G7ub!NDR7==tr+Y(XeE4M)x(x5*C3rSZ z+`($C^{0_90OZS^L~V$dYgodSA~DI}G1zug9fnnN=06nuI~duS%WS09vf~p-{eXTo z&8(7l0TBrSi*$h49J^*Z6GZ#G8+dqlmMPP-_N;TqJ;>8?j3f4Md4!~m>W2trJQqvb zcNYU8%Ao1&jz5BL|0Iy0PTRIz7qB%#tEe0g6}60<#DW^loKgx#~pCA3J00_E1=_K$9IT+?}EJ zFni;^CKCH2>p5i2oOcB>)F;1(xhHcSSjffjP8N>ckfGX?SQ?0dGNA0iILl_ruV3w` zdufd9J6@VF`Vgs~oYQDEPEW-eGp1r4WiK^u_JtE@`}+}BJ+eLez#)2(yDI#W1>puv z`3-Dc<)PJT**+N-bB6L`B>ohZXjOzK2O!xt)e%$7<-2+KkPllO2VS3J-7Aklw!KRu z?{nGlG+-8=@QM+(!!sgj^c!!YH}9=knaDqY?EVtW3#hZQl}b=SW7ytL-X&qCBrU`rr_)Z zAUx=EmWXVD6J@`x{VF)&LMt;)Ux^DyD%@KsA+VY>-+MWk>OaB>VoA0vCHGI~*fTAi zo2v%x9d>oxz)7}#CzD6(DVWRWedP)4z90|&0*E=~-EN?)eCDFSaHjgZ4mKWFb&3;} zNj8xe(5Y|y2bvM@_)kNVfz2h?TY2>=NIJBf{OJ_oQ6w}0hGUl#LHDfm}dz2{lGh3`p+CMn#JW}j-Ho6x*Y*tSqa*^ za#1O_@@AKnKY9dp7NU>8pI&bXo!(qOgx;VQ|1wAy`>>;ur&eMi>hP~u&!MRF`A`Bs zMCHLO_4ohDm1s1c4lkoQ-ah=F!y6^n-#g&IkxX2f;Q014Ub~0cLzDG<#1=wgAI!Ul zK81s-2r#1n)QU9;O~(rL24~O-*eS%&ViB z6}g&-VWp(2Uz?|SiPZ?ZmDr`A`l5meWv8p~tprI5O=2lU1Nv|^>cssKyH}15#yC8U z_35J0k%WxY=t1}`+AxM=>t2#DMBly&lmH%@f)JE zAxzc>$h-@DpD(Oi%fh9`l-9N8mA-^hVOl94rLzBmiFA6ic}ISmI}{tFa7@u=8Ga-Mnwt#lPhpP2Pa>W`OV#M4bH z!MI)FQ69H>(&y9pJ0+*uW4AxC->@Q4NN1WWYnR;VE;3GeNp-5hw^G$VzCeSi@*7yO zr)`4Q>AQ@h#@zLMI6*n_sIO1aihbt`;bhy8r&fo_{QEG;Z(yMy<`IBg2o6*E8^cH{ z_~*n|<@u#qHMYI=b%d^5x{H-MH3)F8}qFAR{eaYc@JXilNBYkW$?NuG|H*i(4w`{47FrJ zH#&{=FsG}6<#lq=Fut^#KwjL_H2gJLHjuy7=8+T0FXlRdr2BN7S8L3fiWT8~pX^b} zk8g$?c(Z?>owsN*C1%l-H?L8r_SI}xw5a%-p!{)-_|LKocot2wV_Ei{P1ZtVzKgbx zu2KKIuT&$MZg_L3EYWm5oBVMYh}+HHa%-;o`+aV`wHA2>t+{F#T8a!w9bUt{1|`g? zzs3c{rd6Ol*`JgPw_06C{XqFEs6qA*lJ9h``r5wXTuCuCmiYj?b({;|zb|A|ixs14 z-~*}sH9#`j0HYR4Va*BQVuHE~V>I$t77bw_a^r4jvk1IHDIdcN-oT}=@0Fwf(9dY< zudP*ohJzjf}r|4lu z^Y@E7FAc&P9K{-Z6*Do%XhJUywT_W||Yzlj#M4Z;Z!fRDUoX-?QZLqLwR7@Oc;a{w%r z7Z&qD4z4)gFFyfl)RSW7Wlj#PRUbUfJn@R@={9|_rT>wqnm9*5z&}cA;${=i!bhS! zEf>l!@P*2A_&tQ*efVw1Z$d7DrJxu(rD_?N;S$1pR(=czPoTh$_(K2JjI1&KfsVq* z)~Q~;yaWFqjcg_hys_bRs{AP2yr)1Qp1tzO1^Stc$hYDvMz!R?!rc*eWu3YVeG8*y z_hS}Pe_!AsyjXr^VC5~>KC|We(RSbO7MouW|NbR?euU6?rYJ#YmtUkV}tWGpc`rXLdApus2Wr1GoqF(Mpj>KrDt7b3nqtOFt@^W3f4Z zeq@eqfAbNrmvQ3SHg_=iGALJ$^22V&e-;}lEUZ_%@VtzQTf>6!;o24A2+Xksf#!uw z219@Kq4o9T{W+?@5Y|)G&u}C^JP|XYvWaiH<%cQi!L*{aa#Kb=C}Nb3V04t{0)^5c z$eWNv_IBQq*T_sC!n5rRF#v@=}l6om2%fk)EUz!gYZ=TvE6T zJ3Dx-6;FErn7vxU&EwM&?v!#esegH@Ex|7g7jK##)08+js6D;BKNGe8tH?0R^{iK4 z!C0hb$aV3+H_m=>foloCwy*wvN#PtPR|CNx6e5QG zG*XQ`rKb;;6h8iZS>G-_H8egdM+4876v{TKI_L1Vvov&yV`>)==Dkmz-{R|s)>~e` zs$&cwL{X#ojfaA<3WH$^u(vDHde*n-&a#DsJn{=F@c)OGTWPaD_cHU%&+=B^x6xlhc>IP*Wv3Y zKSU5*XtVk&99N@t3P>gw>|2`VLuCPk-*DLlNWGY1q~t|R@0-&05zKr7HN2#87QCl* z7rdvF3#Pba(-X4~ZoFcxrbf3@QOXamrnUt0PkVC36QfjhP>wcongDZr{Paw0ceO)6 zY@DDbKa)*W!G%Rv*M_o{+!b^3{Y{z5S;VFM2>{~-CVzMhh8tXFoZ~xBoad3P%Pvr{ zzewGDn)8`zF!~pWyc-d3DYWt}q*uyA+}8Jed|q_X<))VncdEJQ(BsH$Ocntd4kU*#er_XVK>s>DcFDb0w zB6ndAjxbZ6ZU;r+aD1z}>MByj5DfU~#44xQP$ikftYOI6q3H~Kv1-L?b;@UI%y!8W zkVIKNNA%NPZ*>48awE=yEFr5|(nG9~qe~M&2!w`)X7ai7+{$eA^m-$I4Y%@XhFTdo zb^st`(3lre+36$%&5B>C+iYUMLE7?nzm7nl{ZGKZFq%DIWBzF`N&oZdg>A;IhskgO z$=b`Pbo;>%K}v+Z#Pr(&$^A|=-@@s~D8acs!1o8ht1FF;41H6TH_!-2k?)?a%ZtY> zcg8f5aD_-QI{sW&o62g8*Lzg%&I*Tq;%w{gL^6XNs-_5#CaFh^E+e&#m~rj z6ku6j@aNOHg$?Fg-n_f!;d}Px>E`ZpwCJGJe%9-60RIYf%7p`*6I5HjR$TOQ)9`A~ z0X?EjQg8ECoBP+3mNHkn{DM4x?BlFPwGeQ@F5Ysr>cagksr`E)^LW9Kt*Phz_hA4| zg_v_ZOC2TimJl;PT*~>X;k3UTh;vTlsG$^dXoy`$QZ-qAgJ8l}5zgPen;}`PhgE+J zGcvTHeiOBA6~>uke_bRgtia#hi06ZoIcjabFl{o--F?S@9XWBIrZvwnQ7Fp*qx?B3 z4#WLysziQXj^11lotYGc6K#O^Uc^Mon)>5Ve7kvuXkZxhe|jpMEao>F9p~WOc)Ymj zPW4}pvS|dz#5N4U;ShXiwTm2g)}4nJF7vwPNi5ESj~9=v0Lwj#+X89g4!e*`=4`xE ztw?+AwgFlco8MUT7!!|-`hSn&=HdGtgp>;cuJ`pL2+Z0EIt{TM zi&#ljr&)J3UO>}#s{iw-x6HE__omoW6I;}?cyxTdDLrCF?y|$f>N&c`agBEwdBJY{ zS#WE@d`7C|vZb7cQ08*71qa`6(MUqSKSjJ1xT_2E@Hg<}%e?#j~xfU^-nDR+Z&7=Z|veNpw6CH=X1nVo6e2xLi+B46ZI6!+$+4=9P>j=KEIo@?}o#46qiFf=RD#R_C0R9?B_>9W62r`Ubj*y(afU|2T47Ww(4g95}b;wgn z>L7db>vAd57Uj8_C8sHMGSA7~*1`#sT~PW=jiyDx*1_V!ltvYt9D1Gy!N zweX!86OCJ2Lp-leb|4CsIlFm2m?-B|?O_I;`P2Zb&!L{p>d+$=HeC{x<`;+V!;CF1 z_0dh!i3Drt3gz9imz~~7?rkmIi3kwIjP%kWu}JMf*CW9k$~6m(ly~9rnP=4r21`Q@TY}#A|b=|2xoJ(y@M)ef# zQZ4{G?TAE2Y-#E*a3R1N?3IOs~WW`$(z;fUMiQjs9PUtla2d}?m%i{8{zA} zYCGN}-(Kv+?${I5T6w36{FM~XAih}WR$C?z=t1|RRexz(qqY2{ttLL}PAbyo0b4BF z;%LzbcRK#nHpn|9jc<$NTQjxy$};xtH{3x&{*Dcp!#RUhejMCpEOo`LbiXZT;x74> zHUw)Hu{oW&t)6=myy^f1djQEqyDY>i?liTzw;DYmo}1o+bYCX~bt_SC4Q12z?_;@L z_HRCDe*14w$3ogp%8Y+(W_kJNi$kZLbKXf(+|fg*{N$c|_y1*?!tbKar|`%V^NXjN zbL0thE0|{f>-aMB3`Bl5$&cY?&*nAd}#7?;O^U4O%TJ4{tiYU!Q%j|LwIv|mE9 z*{WF{xrE{hC ziiLw~ln@fPGVq4dN&_5mXZZ#0$Y_fC2u3Kt07Qg8YBZS+j-l~}hRKf>kG=nvYoOTp ztMHl)=KJQy)|hVxYxM3I8YTIcxGU~6{;M>fvt=7ZUWOliB71p5u-K~ZKbPuUA@Aob zZ%cgj{vUeZohJDXF{x93gMHfk?g3;yKyPa|0LoACZ%rhgHMHyr%p<#D@GD1NM7(ZBTG8BZ4p6zG%Pij=Vk5e7bgOADB5i4GTmR~B2-jimq-7EP0dKhvG z%f$|O2Nw)-Xi?~kIKo{B?*-|!KZ}~nOfnD77m9Q44r`HrRBzd*esK_5W2XCF*^k5v z1Jq=eXz;V@7I1*}A642~w&S@FbhP+!8KMFs?2jp2cx_g%_R^o_+| z1NLPtxF#V0z90A;$h0LXs;o!E*S%~#+ zMLK&cH0zTAW!rTfg3?>j)=W9Gy%pIG&%;JIK+IjJtiUtht^Kw;WcHmQ?Vc7|W1`AC zF+Q-Rum2l_(xOH1 zv{XqMdD#5fjFW9aqgsRW;VfQf*_y?hG+DfTH|yX?{^qLJKg{NnOR|@uYQzmVT!TZ* ztim)n*_zE)+X4Td{b4rmcmX9Hr`8umdyfD8XiJGH>GNIAog#+?cK~b7gzrOaHJeW@&yE#K|86 ztZy<<;QKf{$X9-CP^)^-EIXNV&Prd6YfTiVsmAp~EMR)Yjw+xd=l{DhQFB2LF!Y6w zkQ00j3C?;`W=FtVvXW6-O~i-|;&Q6NE|WC~ZeVisVMK;M47BbeDCK96H3BbQ)kL>2>>veC2@N)wpP?xQaya_9(?q_KG5f-xoI+79d+GqfB7P)QRE zByGo&TWb&pq#X13kTRznv(xrklIMY0S_vrIoTD`ka`%Sc%4AX?BVpYXc= zI4JhhRJuu`#B`-kl&f)92@&;h{=zY3uQi&OlZj^ykELng zD-GRT^!LQr&m_UYctRi1GMxVc?^uJV=`*Pa=S4Pcu*M2?-i0k9Q!r5?li}xcjW&e4 z5N$`8u@KANSj$-MH|obNsus$ml{QXCu%}mfg+(pd)4WPNna$-z3O1Hzlz7uLoeyX93;ZIi8kbNKtU&w6L#}@5a z52CTfZ*cxUj=n!2iZcKI{mcx@0xQh^0G1!h?6M*v>H;gUN;)j4q@*j5qG2pZNkS(o z6(#ASRFrfvx>tOR&PAz+sH4Jy;?A|WJG$s1rJ~DAOzP;O4wVXvD2I+UTr`vq$5(s2#BLUux(Cr-H`GLO_AOw;1V zSS4szXEmRx*T7~@ruNuD-p6(Um`~GhdN<40n*+2oyoJlyaNlee_wj6&Jh3FXHA^1g zdCNk?S5TWEa^Bl@*(1lMy zL?4(CV}F|Co-iTu`q8E*P6q<GC@hwF99%ec`8t^{z5*5TO{Je$%G7sF?;5SGruGSZn@rinS? z1MLF1He%1?PjXm?+i+L%GT+e|YU+O-QL7i3VwfRa+6>93@t_DC_7F@?q42Orcmx)1 z5SVPJfK6>FH%aE1(ywT0hk!=$ERunWD&6j@;U&B|9^cSk6XsK~)tYfe9!^(G=&#c)w~}0DXl=PQPXn-T<8YYi#ou+^ zdDF3FindR$G5<^xxyHXl12}9~%H}%ZL5VTuuI3>ldF=gnk(I9T??I|7b;!N47PjTn#)d?o zXMB(u%8K$Eo&d>F7m_C4E1D*_^mbm!zQ=Uw@q%T!;1a+uH(S4mc^?90C2(EH2WBws zA2n1N6I_(PbrdUJ5y}6D{|$GUpBQZfA>TbTW?&7*IxnYW!l&UYh;?wv*7Dq)ROF2L zu9?J`o@P?V_%{>9^;`sE>{a}UF*Q@rJwxQ=m6T=*jxV4_Vg++ecW?tnA=j!sIlTfX zrWX#D%~jgRDQMb-xAvF|`eF;{l8ql=X(5hRMh8l{F zd9#L8#3Ob4{$`ng_Y)iK5kXVxdRPke*bZe ze?v?N?YRvdffx4O$AK~Po#DbOyeBt5)Ch-6Q!)YxWYcJX5-*ls#0VI;u|-s*-3f%5 z^2v_GjbTfhLAp}ply4df2UhWA2lYP<=;lsoHb(qyARzIPYti;M$ z^XFRpT>APG>0DTd#LZjkyDD*fj6vckDpulRBC)ghu_q*MPP%T=&oJC{E(N9#8z7@6 zuVMv(>;f*gX(4YqN%`^a$wVenU3Rjv8eS~_9JR~PariLk%T;m{3ai(yU5I77O*bc6 zTMsP3(5IjBN=}|=qe4@KFv+;GWs?A7{{jfc3C>tifrom4AVRN-@4Z`mI5^%>nzFxo z`h=>=QcsBedgX4g`KZmG92zzvb(8)X%~rC6UtwpU$ezZj2jU3qA(0)Ht$ZTokKUL) z9X_g-J8{Nm(SK1L;B3e4Oy_oL*ur`4o|D0wo^BYvhx&IJ)|c_3se$LFi?!=D2v>IJ z9mrq?HR+#M(@EUau$}g4EsZ;Q*pTw)s`9v*$g=2tQ$H>=PaWD)x;MBF%!O6Bd z6$QwbfgNgEPQos8#og&D5<<4_S_{L8CS>kMeJYb4so7b45vvTzbds{Ior2YOaNVm* z^&NM)5La85Ii32^-CZlV_K>a_Qr4p}XA&qWJI-7ZR-U+LRR-;8Cu-4(oad2~)nHyk z0av7KnU|MMd%nd)P8Jf)m_vt|l0l}lyQNrhsNgP>?d~pn?DfyB0pdta(hyd34xva6 zq@XD#>tbo$LoT!LFvfQW)EXfGVcEA#`k5j9mV#TsK|-Jd0;2<>sFN3iYYR*QO=#U5 zq)_;HY=aRp4s0q1O+i6^Bb4VKHRR~TYcst<%RC2jTS2{0na0g9hys9ysiU-?sSB-S zOY7S%C+n0j@0Koz8kh=|pYFm?FOY9eh$4j`;4A<8yU1{HU;&_{=5Oz+U#S0&n#^gJ z-1Fs65jG2YqZARQ!3E;CiMKmdNX_D>iArL7?#+E5S)XtzcP&$wvzq(Tvvo>Cl>9lW zk`Z=qbbpH5+z%sMbIK%3!=&{oOyxg^S(SakzDP}^(~j2Ebgq=)Nm(?#h80#XwJW1h z?27OnYKY-OE9xG)uji|GpFS=kUzW=02?)eNEVu(s=z zE)=MbjBOBk#pkRV&4CYa}>hY?UM+N^YXmx`=ZMRgzML z7T;Y>CbjHA`*`10=%KAJL`s_I>CR1}-)Oe=w^>_uYUz7eEDx$CZWr|zib>iY7CfyH z*CAvjYig$pL@^K~W)7O)rz$n8rm7xE$w$R~#hfwrQ`S**7sO#y^Wj~r1w;%c<<`5Z z7hmz~fvH&^yHNQN_+7SO_4QVW9~L?^W>V5{@q7KecBpcnvn^KH`o*C0Z?x=UFzvY) z!o3^r)jei3lot58OyWnH@bsT%Z9XzbK4!f&_M*WWn~C{gI#)Enn_{pTKa zwLak_OwpI7j3uQ2+c&Vva=$4$T5D0Fzkn%{pQ6`3{C>9JSYGB!p$k@zQ=B~7U}5cd z=}M%`LLUe?tNO^=U{MNVVTPia1s?E9S)InD7`*nIU~>+E;R5uegG7_GT7wxR zo?5GMIn=>7;#R9&mcfgC`?bbgfBoSh=z>>f)7m)SDTvWyV7A&JMJPELZO3=uo%(7v z^~bUSAgcD@$u=8}Z+uXK_$;=|3-wTDtef){;(50Dlh%c`X9%tUDd|+2oQ`~}Bt|9j zSj4HM{UTyZh4@hI^?2QtAU-;19~XV(>Orgr!BIz$`dPWiMO9!5|jN1oH=jD$2GlP!aQP++c9csM~-Eb&=;~AUdR*+Lr0$^I(ZtvnK+xxjiMd(cks%uKRktu}!~|LXQlvDekn6lrM4Z2^drpu{3=@ zOiASn6e~Bso(&z$WdC1e&1wi&KCU71rckpW*Zp<2pmL77g^~syWkNWK!Nw$!pHvSm zP>!NUR{7YTLr73z5giYeV3ebGyNwWSj0hkuyxr{MCj|HZVWho~UNvR-*D%23hoa;4}q#s{x&P05`mj zHrfwHDPt?BJJR$dYi3*@Z4wqL2X@3SgE!7miNMmKd+Jn54Xy~gF{yDS^uzY?pw&vb zRC1YDJdZ}X4+>SB`y|HY)$PnPSpM273HTzwUQBnC7}Mm;cGHoGgGrbXr;Lyxn(it_ zNEWZJ_|6gysgOZ=i&2{I0nT%oNY;2s(cGC2&_Tl1!qZ{pp!1f0-?-zGTu5JHEs z0^PISDZ-#-J{y>$De1iv{F|!k2&qFF_BS1-!~*%{|IH$>lB#KW#c#ln=|-zbo`3VT zV`QO4>t`&a!=?xH>X0uPS7u8+BXD(FK zsNu+OUGe;c|E9q-#q_yGBLeg-jQJ<5{c_CTe52T)lIiSh+K@kWb0=?ufO05UzP`P* zPrVcA$x^F!2z!O+Akp*A9@eSuGMvyV0ru)r!qi88BHd`qJbd82T14xZ-lPWNQS>+ zU&Q_ZqCC$G2kP`TmTgH?-ib#7$apdrB}y7AF7FGB{g&${L$rrDDBG{#kfAho6eD4f znn}A@BJp`_j`Cn0As!YGM^>TOb0}8HnQytXmVwKsYO(SR4n$X_VC2r7l~`W<5~XXz ziEIZYVS%+l=7;LL)u6!7m!c6dUd1Tg%82W+_$#d=u!{jXKN4vESN*77Js4>Iq`qtk zyg%ZluFX1baz(y==tLv{Pw=p`9XOi4L^*;>Mgt0w6{VO+#Z8d-skqLHsGw1Gfgj$4 z=~004mMFz&5J0S5OOzt)O=*)7PRx#jU`jBbyeviLU&Q-;ttN26xza-J^_r#1m&mAe z^4Qv!av~9cAqGsUz6LxRbodGNNGt2Wwi>m38_!!IHpM@u23_WHV(RLks6P-h&ng#U$w#cgd1(n4>sJe7)wvfzW^@Cv3BSRvfD$TR0CuPbTu_~|5IKfzqi9RB$ zXs(hr#$*{r-V9Y~e`NMUmzpd=cAyHIHFwNF&HBm5@_)wvDW72eHx+SwhH6j8oq+LA z&vY52b76_Zdx8uOH)Ri|E8%XkJ~_M0N4vu~@_aXQA<=K%;Dtoav&e5|FO{W|riQ8? zNSfyT`sSDy{(DL#T!=G|-f3a)xwz@H8W>*2z-ZHDG<5hL)fg+XuezAQm??~{aBo5H z!l889s|v}j@Czz5f#-=v)01A=&VXp^TEyEJGx~|m{fw_qG9{II=7=4Ta01ZPBq_eycGtYb7p8oCrcUmcysmnBQrV~2tqq2HO9HH06Y!zOozUn-bq z4tZn(G+p-!zGdQo7{vi1o@QX?1>36vMWc|^#Ya>;f$!|p4yI%;pu`+Dd5gGRUcjpE z7rz_3S1{6{hcR`YGul(NLMhO+P6_VTuEVJmE>-} zMcG&aAO29%z8%zC4`ni&s5_k5IQ_0{Y9io$Vf5Tq-<@T}`Nkvq)3vZX0@0obycy}g z8qM9|C|jxA;hJRkPtB&D#`;}Du9Zp>Ds9OKF4N8ZyNeTwI4SLpmQnz(uU!ZaaMFuu z%3Kr(fuP>cSXqvK^8kb0dpZrUo2L3SbJ3k*Ov)&H>0EFX=h}1u1SUew9#Nme`xUN? zo$qQCa&F9~9&Di7#?zE9%c~^TA@SOP_RS8m?JGfWqLJs)qnY~-8V{$ItlaNhWPl5L z@}w}$Wi5lR(z0WIN2_;#@C;Y_GaMvyxDjX$jU?P6RPvvgsw@g6E?0&i2b?zW$U9Mb z3Etp!^#;GVe{JjL&DkZxegQdD1qb9`P$oTo&o(S&+n&)+Xn1!l%SmK4DxkpArY_WF zKDt7=teKNc31fw^%n+A9garu3Mr}en7aN&S+kjZrs_qp^8|sZ;y7KksZ2?+EM2#5WC~gU^LQ zVAb>TS3fW>f1DRNmvK@+L}4rR;=9T32oh0#Fw1cjLsF7wWneX*jiBE3LzLBmmQ7Pq z>QAn8<~NoJW03epeQXsE(&`}E;|UPY`ogTB)tGtSb%^M?nNR-%7fk>=>&?+X{^QW! zU^q87?s8*|Mv2}Z%WENc_cp@jwZcF2FC)JnY7K#5^6<@&nwaUYa=80*i$-?9!8&dUxgg z62g-A+~LNJx&%N`m||+OD~m8?0l(FfYB<&D2l}qwB8*lp2{wWgWRI!OuFN~kDmCCZ zGwX$(m0Z^Wm%igl9VF+4t=?Vs^f&PFys>n0zG%?bx_ejHo_< za4ivZO_Up$H)B_RzA?1|_F+i5Kp!MI#_Uro%>TO~9}r1)hKw*S^nGKrf3y(W)jAQT zwk;+k&lpvi@4sWvPph|;X~X(ed}pMeP35}%4(J9k{i-#F?^^lk-(U3~#Kd=K38aXC zLwR*(xi_CE$Q?W~hmT$-1zjp~Us1!%uy2DwSITkgW$27<6@g5O>!{tOyVGz>K6M?7 zJneOcwsV>p!2Sh@WR7b$@N&V9L_M?cZ=*Ota>zEsISHI4>uRh3_$N-g9B1 zH)r#uHxZyn8B3LJFgZO{TzG#~@1-3|-dkzvhb5`P`4X5m9ZQwRirXU0?ImLgR9!+B zY*@dKW>}Sj5QAIOYV}f@cbGyQMe3@|#ne502yZmHPHy-Ys82wDoz7Ka=IwaTHLOBx z;+)JRrJ}e+5O1a=<4UT7B=7nrmX&=aKxih}o22}dlXfiU2!PSjE|bbg?^%+SJ8&Zs zz2|DXU~E{G#EIV8jlObJ- zf9I{)X;?p&`ohrmR3B-wU- z%Yrf&2YdJsg_DiMP2KJ=;&&NwuHB-+$?{MmCpvF8Kl{*yM$v8+&*7~74NkcP?nU-N z*Z!uS6LdZ111UYd|2{X8Y{l^G%4k(oQi$=0W&JsK@$|0`L3i7qJ}oiJy|TQ&X1Z*@ zoQdDvP$l<~ds%7m7b~XSs)74K>DD!0EO9*q!9DK_piAA4P-AsdFPgdkAeSFKu;U6r z@rcSH&YM|)T%0@mCk^;OXo@$fxH3({evt9TEy@z1_c zlh0Lto7DA7_O_BEsmdrvUE$7c=a(r_;(d82F{(0dxhx_&-KkOuzeN# z!0XK+;${z7v8N$<$)`}Z)KE4gLx;58^vh?}Hka*W)g3oGSK?z|GKL*$J{X_YeZ zlnP#>o{O7ZotujM+FYFd|96O>`bf4E8H!rzST_yfOO4o6o zJ*IAMU=CQowBE*zj%elY+sWTNvSlc+boAHRRL7k|fntfYh--rcui4axwd^w|i+I!e zIOm&V;S$A;xlrotxrOY8xW2ss{AR zpP)eb0%_Tq_0)R|ORS5Ve9Q?Vnd7bF$EFy>-2Nv4>t2L_9-#3qjW5(ly)0)B% zM?ii1ovjB#7 zDLtG}J=Y|k@7va7^R5R;_HQ9+qn#%2dbigTUb3q?9cUd}Zd{VzL8ghPX07Q|ENNIG zoJn|-;W3TmjgW^8;->86*Kq$6990Ct%F}4Gf~mUk0dq`SL8{n39NpCjD+y!ZT5XUam_^sB{^5Y{BKV9uW(3oJEL`h+4IdOg1eIlhEK>l?SbY!{}pre zN86}$D*VLp>$4OZ^K;iiOy~Tqub}<$2EKf;jOl$7o+dGp42P(Ev3RNG_RUhXvZT6v zF*j}r4=rCDVJKhB(ia6=+e3BrWlrbeyt6Tu9IaQ~k~n{|YtgztBV4TWu#_o?OI7MH z^T>h31$*G_Yx?vDRv)g{58VM3nJM=d6+S1ooy>p8I2WPvrZ4}OeYJD%=@P^uXKCvD-@;GU)Wl0idK+$5}P+;nB-N@Y6=v@Jzk=LI9U zj?GyI24E3WF&kwKtW=yf%8QzW7&@j8wG{wWq=_R7T)||~9}w&Oy+-rw!wq`)CP@(ZwyK9uO5z%P}dq`|NXG#sqo-x zF6&|D`O!dPtMNELLfY@;__<;I;ZYYSEmu|DoPPb^asGaXbfk{c2OZ?XzALFziFuY# z`95G*DOeaQrJ7>t%OA#{h=iG1=bk3Z-|iT+2CI!S6+d!LotU2o4x6w0H|QnNrkXl1 zpG)u>{IP7imjjmDkYc`9RfE@r2?KP;)40{oz*Q+$#-l~s8c*=iETK~HL{9qaA#Xg2 z^D#2*(Kj87JcIdwc;kH4$P)8`hlj(dxmf%JTo@`&IUUC-W8hJp(sM?g);LmP-t>cU ztGefe=r)28RX(Oii>?jjuX)&=_r0+tTGzFHw3rUoYedXJ4Y{+nr$0x${7b*k063lGIOOBlVL6Ri_+I5DCA3D!A}**3eFBHjUrgfXe8mKDq|Jpq@&1hdpO z!5h-G|36wKy8fi~)8r>$0LNzZqWwNn5dTN;`qMGHuf&ahM@M3M7o3CaGiN94c>7`mt zu7lang!L~}H^atO+W-e8Pfq{3(}w^f!wZm6EOUnSG2X>|y8ugqKCSN!Ra?|qv>(R@0)mCXmz+1?Q0UK+?urH0oJDqsX0mrgIZXuDU8rH#j6n*Ku2m@K&EZX$d<;e9{3P#M*Exf{f7HTRed2@Qhba)Y2XGzhzweor2kP{s4HMcYO;`d~Hq3_)3L zuug2vXgvIG%8_63Qm;)^L{oRYc^`R={+0YQ%h5Yv#nbtwnR!`l^xT`Hf8)1G-Z=+O z-!p>73Ul^|iPT~Ftx!?Uf`raAQ+Qt5W=`9dVGs{i%6`$b$$6f}mRVP@E;3Q-kU_|< z1VS+>yp~zbVy0lSwv?Z5-ax~G*}K2mDqL_=O_l!Fg7wJ7j_h+xivPZ;Fl0ofNJVz}waOStS zmIp-+_3^w-<%mc)Fp;>DY!Rky{)OwL1oK#twHQXe2=m+3?MD6A&Re*Q?FWrY8*2OS zFs}|t4DwrG{XQ|MxMh`cbZcTz(4w0Ci9uOYtCUA zw_1g2AbIsk#rxT$MU<-luGax2tcw0UAQFM~dy?e`XFRWq*9(K-G^^SG^T)oub6Y}B z9W_bkj}w`mxH@$k%nd>?$G##oW;Mrk2G(5ZOzUi+rq9}eztmC7CSn#JW%l4n-@4?l@ zJbiZ-n(ZHgz&r|bsMgrsqo11CBc7?u<(oIkccVB!?5JrWW{73u zRk~RZC97}X?>x7MWXN3KW&1%d(F0ALf9=H+k(W_#e6-p^&TDU-h`ccUl#H=?p;MCw zMg)^k^jtC=9LDE#1d5olIVUUjLJCwvc`|w)GMDgOC+w!2(gr|W49=26@=K*Nzt_!9 zKyc^C7c6vgdcI2wyJcRBL3y=MBZU7rvY~#KU-~iULVBDi*49a74t0Bq>7ri~FCT*q zv(tWe?|G1hHH=2=J&hgLu65aepmMe7*Vh3A8<)6NZpE}wz)|^bYN;(~D}Z5TVBP$S zs|`U-C4tl(g3rES?5K1+Dscfo=tmpll!ih?a5h*@Q+F7n66;d(I3o?0ETMUt1UQ945dD)wF#nl0 zR$tf@d;0U7aG^TgfxcAKIxarMd387B$>_Bbe~WMKoU-h~FhEay!x{5W_>Zll<`_uJ z*SRyG0y={bk~6b@*i6AJ9#Mq?dBOS%Q%SGJ(te4A;d|{oObq&zS}^9|z4J zZfQ8G?`_F9>U!XPYv81rbBS3&-Lz4?Ncl@Qkv;-);DwiEQ_CWy?0znr{0qs{pIAsS z-@tvpab}UyUWihBAxRFtdo%Jd{&_5$vdt!L@db(s3MM@2dCzAB?xdMPi3WStJ zH|^(fUMduvThSA1WYP-l=xc~N#Nt6z_Qyls9ZdPt&Grdm6!6hSL^(XtafvV5h)q_> zOO)&_#=QijPvWauZ^KT<5@qF<3oEs<6tYjP{2mc3Zo{FbLwKoCZFg&bTU{kXN_3Gu{jbM=~3qyCGQV+^osk;nK zME?}apP(mP3?WA1Yoj>}!*iky<{uucK1eQNH3v;Qtc@RpRM9-ET2{&^ytj&C{!m2} za}Iw(##;rkqb7qhSmF&G4aY-2FS|A3-Ej{y`uLGz-SrC(b50WE+|Vuch_PHk77feL zOa^3n!TQsNZb7_RX1i=BnRR4#%J!-!lbDOu(l;fDzcy)Pt?50}5%}6?7ULNo%6jI9Zy8_laWr*50oA?)J?aW;qU3~__`<*)C6V|! z&p_d7Hz#Kpl<%^+($Y+O$=#XwUUy|S(){0Lc5!}QPBw%p7p;_k6epjy!rP4PkH|0V zvXaRXmhHa-#KZQIzv1XVu>BKfd^i&yKIMJQ^(F=Y17wnj_)!VNUh)?_my2~=+v1(; zujb`=qw={ZaR-Y&RHs zC)KE<6i@K!0Txvz9u=2d69-{rWVPdPrQ0r^pMhayYShHRQtmAs8osG$@s zFuS-8(|f5$f`(bX1C3uZM*4MQq}wn?_&z8;Q>bTDuc5x`%iHws$Y1#739dYp+YHy} zwhYqU3G4gZS=esggTL3tsQU!R*-xmj1!4=vro$G7EfU*2&fYo4Y~IqR0ogINkaS4p zdU!Wez8V61BMV4reUA-hPEl0H16bv}&%iIo)2`7LmM2Fjdv336aRy*UyE8`*(ualU z$RN!|zXC3E8fl)+Dc`WQ8wTY=X3 zE^ubU?NdmtG@rSmM89;ERA?{!BU7tO=0$=CuOY`@a6K6W{Zl@FGRTU`KGz2T1yKF<&8f#4|* zP}`hMPk)54aD)Om`nPY=k=>>4d@jlE(!{q*n4lM55zJ)I6sXA+M|M+Fq~c0I5|S66 zPbK@o<=EEHn10DWKWaHC4mU-YBrI20wp?FbcNZSD#4OtjwQ}Qfr9>os9GssM%a!fe zO~7vT3S}#HQ?Wa>Lb)Bg%duOVp=?4*>ov07^Q1Yqp!=OD^CTiCV4@sEa3T3(B(ifB zZ1H3#_7##F+Ce*GkI5!`%ST0VxgWyoob#xelSB}=a!N9}=V<2K zMB7vV2ilTT9Mn&mkrdWa$t?R_@yc)cpddsDF_pRw%~7^~)Lg57V!|bKVWpiTH%BSI zc2UsSdb4Pl2(W{B*cQtxQ7wVyEfm%p>Pw`iSIU0)C-~)5(;`43$10}9 z*vwO4tJ|1k6-qC`@V)T?&0%U^L%untdF8%2Vv~E0S+}V=iJF7Sd&nJ%;q=0$ZZRN5 zCDrn78j4j0H)0_teN)vkc@#MxM&UI`lAlLs!3H%K|7v<-O>E}AD#4=s2@euYRQR$0 zf5HnIO8!r#eGJgIK58d;@V(VFXt5{D=*&PE>k-CXtn8&8z)GbY!x!Q3g;`w(Kw*Nm*o)4CM%qF zJ)G=*Tcr?hI=Zp?ZD*7B=zOJbXXfuwuIb+QzL~F>dgd!n;8%%9aE@+{Qyz68a@AyY z71}4W&1dWl*m<#ID7>CMUhfvO`qf#JbXcD*~&cT!w z|LoU`KbGI4V-#z?xNC?rv<~RwmgbB}B?ydr_I_5)k|=r&bkeko%E*9#(Ok0kMkj>5|38M=58;rNvVO(C%0E>#nJjAMwts>k$m*w; zY!DZFREp5WfVre}u9TYQE3+G%SO9J^PTfUg^OavV$Q)}!P=(t3FUdz6=xV^lLCe|3~M_jij4yqy?8YG?GbJ+I{zq48)K3~N{F;UVeX>1A-)WZGkd@de`WFz?^S%x6FBd`b3(XWG+|&x4qC$ELDyuE1vgrng&07GacE5HW%*#=E7q@KVGS{m3pFyu%53=!G-hx(W# zbA3!T?6CfIA2UWyb4@XT6QyLVzODz)F_iTJ5IptmD_@`=K{V?(eSrQCx+M0o94$mY zN)wOJ_#^J0LF04@m|i!6N@A%nI(BPCiz_c^IxR*jJ46llBh5L@DH(bLHiZ+}CU2s$ zFAf{$KJGSWKZDt*k?#LLXkb6CTupIS3O!P57LT>jf|aX#Bq{uerkgpRMevnE0k&8$lq&18`Y$d}Rwp`O!iweRS%t$vDDVK^kPV*Y6-*IBFdrx@FwSsNq zBzN6Gp&$GQQDfh5+!63CC13&g8W3pwqMSs<*0$VqU{h|WcBqJBWiL1uD-UieTAcH9 ztb9HGp`_U?CWl&1m<#^6N4}0~uYcv^I0Lz{`=AM1p`V!D$H^qy|CRfp6)>)mH}wOy zE&6eBNz6C#iL?tQp{5UMF!5stp2W4%?|R9~)z`hAk`0TLjhmeBm}N~yoVGzYH@D9! zgikduB141p#jeV9u2D+@ul6kv=es$6lxa7uAVZFfn)qv|YOXt4N`NB8d-H``v-F z_8*a&?my`<(pj~@^zWp{1Pe^C6xfdMqRLET8Zq%1al?903r-ItJaY}r{}TJxXBH6< zeUxb0%X&nu*XTsg{o9$S5d*6;k=!rhND0ylzK6Df1M-7tCWBD*h{PhGLd?Tl|G;&FF{TEHEANT|w%qDuUVZpwe;y>B1CNjT5)g{R5cS)pV z!vlGlXFaP}Vg#FRcJRu7hO8tE$#KQ%ngxc?A(@O3LVOrsyMV-vz^$zS1CVyf~K z4jSt7bzF{LZ2Yc?x|?%_E61;XA9|w%VsEye{<2S{t#cAz^;lkZs z3tptO9%h!6jN;^XaIc<&avFty;N73U1z~k31fE*X$kU($Y>`xL{&u?ltH+-ccqmB% zAIe7JBbdPV}1pKc<)Zm8WIS0Up5ivgthp!juq#D!{#c8PUVWZK8l1H-P5VIf$nF8ilNW@Sy;LCW;T z!CMmb9l7Am4`dl^2sTB1?rNm!Hhky3;k1v2cDP{DUGV|dDEQ~cmr)H-EmtL>oRsU= zP%d3}S?^nx<9FS-J8aQ_xa_x0h^{hoi+sAqZ~pQ4l|wUcBOz2wS3PkZH@)z>qt zSDSMDs#V|?^{@PbWqhq}KFF7Sk(r>XWYrh+K3iJIg>8(w_-y^d?sKC{-H+~J9(}F; zSr|`$s;HF#H`^f-f8o#KM7Ky8Wz`z@IWs0}%V~8Z$65rg`%kQ|PWJv@p6;o2orS3K zE{p#ooONtxcRE*=N#n~&-bnRl#qYYDeAgCA%%rZ(?$1zg^y-G*vANQpesC`1hJB9N ztHHg~4_ovJiE%bN=;I#eIHfB^6Pax`kV{;Pcr(PEIi)%-g4W6c{(By<`Ut2h{ z%!anGwg(S3FICn_>G2VyYrtpI5iHV-yx~QuqH!>#fbSu2M98+RT4u+PyMsB zqNY`fsVL_>Jj=RwEp#QI^nL^Zb+1xZG=`=e!9CG)Rq$zOf>IkCn8o>9qXK%1||#H_PJzUC~VW1Qol$o*_L$@o((7T#kuijfXOe znDSvavitN(B3_JqDM9Ir@{~9by*Ry6ag@{cW~RKmp@;c-xZ7Vx6;gMpv3p7z(bZ+u z7x#Izz+*7DM8_Cq%n?SCS=Y;x!fe1xXOPG6%p25u8#ID9kkn*m@kyFb-7!4vnJ|y# z@by`o^WnH+Srn}n>h5mHJchKFgW}O{mEzsCZ~F54gG4ipUFQ28#c>$@oXgK zrf|=VL?y9rSk=<>F)R`q?U_1;@Y);`a_f_=zKmT z#)U1UVljjXw|}**?$cnzzrjpV^mH)CR6ywbQS@UsX?FXos~zAwH$o-7zCWI6`ga$s_|Fh zqL#`tdR$*tGsyU*(MWH(?_eb>^`V3Jy+3}x?9P(y%`$wjlbkyX3OFBG@d02Y9xf_q z!KBr+YhNytcj89ldb7(vm$~o#VYXn0nG~5eodUkU&Z5&oU6y^jc1){xxwfI?sg(3) z4jL}eJc*q9gGl?$Si<~WI|`V%v6h*?Lto6VnOneEP3TeIVr4BZaR*f*H9!n&*^z|g zYDL_Tn4*l`2J02Tv^2+8LCu@IDau70(L-TudLwz?QB_-Y>Bs};r*^V&K5IBd`81sn zLUe_FzY`Kjmc#B~lv+#&uU-gaUB@;VKuu_?{7CD~UQ=aLhEUOIaqT5^Q+GZ<9EX-E zpRQb%v0LuJk?d7E6aBF_hhAk zUOPzg)l8~8{{Buj*m>n9EyxiQ&Xxd0w~7ulBYLnIpzU#+J4f$mAwc9xU&8%8=H?vn zV2?)kYmNhO0IH?@nK6KVz}7a~^NMaX7Z$^yoeE0M+;FqQ)r*z?44|VtE5x)hUgc$H zyG%w&xrk%Ff6t?dSvh9I0;1VxQ)*Dl3)Wuqf!oHP)q2}a z0I=@4S+Q#A7dIw11(7S*)GB!Nz~2X&3wBQgs%Mr<8+Ugmv2in-RtfDI^R2suAYoF4 z=!g47ED^jWj~n{L2E1QEcS!avejx*XK&8m)LHI#+q*+T+sCZiy(*@>;q*)a1bC>I- zKI9+`uGOlmZ03mFGf9FI&UKaUqrol7-6sNla}2GucK62LN?&B(Z#a!|X!-i0VzUlP^I_zWL+Aax{*dcaBA9H?!vvbQGe3?UgDO#uUF!MXVE3k{7 zPm7|anFUISh>$4Aw#)qL@1j@H$S(7f*WJ8$shb_DU83~jVp~t%oWf0+?*=>UEyPf`_E; zRt?Vvmg~ansjAkhJc*hw2|$8-iCV{INR=eu)-ySVaX{dh~1{+n!{VNAp3iO&9|t$rHDRdn5oR!nP{ zK3igH!>XuNunhi0@9>@{V$vX>FU`&^I_r<5j2kMSGWEZyK@8X*{Xi9SfrP2u`pF9f z4lw=FOh57q5kDFK=e*wuezC#7n-Ic++qGgqJLf+_Cf|(fkhNRrnz~<$U|7Cv4)em6 z+!$-!7M^bjme*p+Y`Qzd;HQs%3;jI&XQcnl>r7XET5kxFS7YWMgvXb-!6cVm`QLhc zV`P5nE2Cwn56pZnRnE5c_cG6~)3jvh-XUiG;NF5j8oyt0BVjnpARQZezg5(mpuTcg zY0E!&tyZl!Nu-U@$X5-rr&iFL0CA3iqiE8P)0^P2kHLp;GSo#%kp8_-4Xr-uu*>Al zYXL!&=Pz9UTjctO?^0S=vK~`OhRJ)i_6M3=Cyl1bpGi?sh3mC0;aa-}t$A-5m7d8F17UGxSw6tC-^T5Q9ajKz7=%N5W1 zsYI$7nPdu{`1yTEmyA&KQRJ|X-XXfjKd74h)81I1tBW9_y*PR+mYAp|P)Y1&)ZZzv_-%-=M zE8;UGZpBxirrLXq-2y-Q>iTJ7bYeu z#dG=m{@Bhr+j;qZ&-d+m`COkX>e@lYPl6=q@cMp-jt){20pBsE+U8nVLc3|wioVXB zHHX&=-7Q$J{&-Sm8k5C~2?#8&LyH7KN!lqtxer`qe@_9Z195pp(^pOuJ`g#edhch$ zy$|9L3wmkd`9zQf^`@V~SgTUheKTk(Xpgmv7zo#EMw0@rqL=f6KzFkMnXpPnvup`O+$1^au=r|}Ut&~$lVKKq6B*w5&G$l!h%k#Ik& zRkHM0(s@rzE-1z%sD4+VCH*Sur>YVYItwQ0VJ;!*AH^&X`5Q~p#Qn>Q*`NufrE|;W z1y!%0$sZ=e0;*@37@@6d$j@VpSadbCfsgufPF`Mxv}g-mm#TIZKcqdG`=BbJ%gUE+ zsFDl_=s5T8AmSEOnnSCh^Vd}I=(ic7GZ+&AEQiXSjA6F0bpvrXJ;gfHkzwkEgP0U5 z2q(#t&GY*-a>Eas526-&?MYHJ8;Z89+=!^HA2N9~(`;SuUNPDg- zJ56jjBXCN4-&3YEvEGPzz~G+c39{{Yf^o}Rp+Tsk2B9ZU30nhtABK^wHXhR*<&0}o z3F8`OunroxgM68~#{ZQjLD7>hMZCb14B03h!L)y8&JrJ-OmI9UjlC z$8~{00}g1gvA1pWc27x>t^yH^-hmCQYpitVp=Bu6P)?QZUt!x@A_fj(AVCx^9BL$q znb0l?F$z@ZfR4`9S5y1TXM?aciT2Fz*saoZ?5;V;!R@IXmTSgp7~gKHRu`zjbO>=e z?-mEv+7e|D=aOv5}63TE>yJS3E-;idc|WyF2G5dwznVPIYsaP=iC>e-zh z$VskVdOJO~W-P_OK)i5Pm0JsjmtkNUM*UN9Z_rL>Cql=E@HQp24^HGUVrlKFiLIxo zFHg39rF*80naLhkV20!eyO8TP4=XmD2I`fhG3TQjLQc%aA4;jU zU6;@wwx^2|7vk|H)JgMMwV1K2!3w$sLMr~&7ZH9TeWiRdcY2p|3m3{Rl9X{orv$t^v1+ejeL4kF=iH6g^Vr_{9arhiZ{tC2?St%poldMo zb~WrDxAB3PY7^>LlH%QLnLEn#Ok0U7%xu1=6C;KY3isnRCH+iJ`66-G2=MwnsIl$A z--dzY8PKicc2|D@gYpNk`3EK`S^10M-eQIsFfR5WIJ+Z1Vx5CP*XvZ*TVogl+4734 ztsI>pM^U#eFkrX|BKYU>Wu$TqUEzh^zEb^okQnG@dU3Ow>ZwuzqUOw8& z`t3xuqIZqnaw1O3uEgMiF0quyG~eq+>sN2iD%YiZRtR+xsuC#-9=mc0(ZHAPnF2$d z=Vseg2w!q{J5gjQo5yon(rTS~B?jqdBnLlQI*?6#0ZGLC{n0`bdeo^+Z z@=~Xjs&Xx!k5g-5QqEAk_^|=*F@1ZrWcmy>p$4H@f#r*K!S!X5j-{Aa*ar2}M0FFQ zW*q!#@RU17Ve_r9y%9t8=nRbxM4$^laoh&6zYrTZCKO^Kh6!N^$tTP5l6C)Grlzum z+h>+d9N|wd)3vj8cF?aDsy7nXB=Y{I!|D(3_1-8bu)hl8hsZ7AU1pu59GHZhN=kfT z5)z%0Q{bl2px<}J-gB8ud6mTQd~L4&sI z#$X{Fmspg63zqc-<>JJq>4E6QJpgk~LJyd*7d26ZIgt{tq z99rMeAviHPj^SfX)HqH=w-yz!!B6ru^ny6|_GTt(k%h-$Zq_y@o}Upzs9IKBj> zpo*-`QT3ido!?>XfLX>JrPuyu<9$kW3vs|&b)bg{*?MR7X9x9Ba;Z_?45mb+Ks8gwWzbk z;_=mK`BzQinI!`>XR$)_J`~<8Kg<`Er^-I?JtswGUwp{cHQ8-d)R+VV`EGBg;rd7f zrb0%;)2jcO@|sY@Wq9V4Z4v5vz`|wZRTZaBVjwdnV>-B_r_#9s5!Ig2sWeQ|^HCGj zj7}9U!{>%q$}QpTr*f;~i7|NfT@+G_%mitr_+L(zeV|lL&Q*pt#tBF8M)nY5lv7vR z*?2P#>BMydg$4t@m({{D6ZR&Ad3rII8pRB?v7Kh1eNXV;-*sg;HF!!^G9;G$4k+w! zc+}Z#RpMp>_>WJfgT;?o9O^c3Cyh(!p$EC6XzzWjg~Av{A1D@x8}R*gXzhY+sw+`yp?dq$+k-0G0R+8U>=(^+M9}C^X%<@R>@rk5>RWl+65IWT z{W*hy*^%w9pR|7kB3_eYPNY|Dh=fm zSLfXlT)*}H1%;$9#41 z*p|`4Duoq?>kU9^?WMYfNk1k>km(9?cmUy(56ryZ|z9Tqjkc#i&^DjMKIXMKa1^Txa zdw*12uRKE8mhtV2Z6^w|v7RSKQZ!ix4mvOEA47%V;SBukd{MBvZzLqZ_9~OUk{(m= z@#B55CRZ~x@*=W%gg76E>Yr#Nf&>lsS>p<}#5lZJf$^dkD%~1O8@F(VCZslx3TY~q zhqxeI**W^sI)9LOt=I+kAq-X-n)#HCRgo~Br*v93X0u}U;zl{UeDdGQ zi%toYiw-a5BfHJTVJySo9~h`yKG&Is^(m1G-8kZ{u`Ci!DudBi+Zh$hCSVsPRC*jKWKn<8B@$YSCNr0E;KT z&8qR&e7upF7TLvy*n8)8&?1KJaBFbaz})k!aF5__6Cj(so^T(W4ocx%zzu9DiL z|6&T>+iJ})&Do5hYk1+Ffn%iepCof}?RkLI6O{Ui#zJMN(P5F|pN4qTzes^Of{EJ} zeJ8V=urWiyTtNS;Wb9*UW_bn{&!^#|$yg>Cu_>XVqG0Mc<}1{$V$~JFjDu+IrAR?Z zwiHWKn5g=;O9Rf=br3gpPFJ5g_+iX*-x@co{zC7L59(7L9;LZ(=9UHGmpMqb)vzn+ z6F)F7L)k+0@C1=Mh~s1Y{k{D;S6h@%O}<5JuM3%?FK4jSJmaZLh&||ED1MmZlEp+b zbxFjNm6R#oGzF8%Ql(wJPrp!Edq>KtElF7<3 z1!t$cg0LRP6RP8l_Y;#$HH=}!U2BR>|gj+co$wfg9elP-n1Xj@WWDh$4R4Fvc zMQ2X$%eBq_&B>VJvY+rQg04^32Z-CS$eu+3J;Yx_f%gUuiELIKe^Op~#1z*4M|yy~ zg4TBi$_di~F?TOk7U}O!IpOt#coz_YM8B;uG@$8zFzjM<(Vg9v>QIXJ=cpf&^wRQTG7Xu35_}XbC`p4sFE~3E0+JTx^;7h4Q7BhrW;rh{t$5}h z{rlS+`l-@qkRJ5&Z{$kG_9A;@jDexw=pl+bqXS+yg*%=h3I>rx1nY34dWBW(2e*~U zeG3Qj0F|i9fg;U2T^eh~2a(ncedGMx9{nT7%YG_Lsgmf@N}4!_Z@yTByD zv>Sr#3&dZuF&f-pv0$}}{$PMgMAB9R)Rbf1Ec~aV^@vg%x0c;AupWcVRBXdf@($qR zj%(*#hg;Ni)s_w6NjE4ie#;E7Z;<;?wv2;U{+LSH@_2aC#4sb5jKoE-O*-h8r#uao z{+Tcu!Hr||Z2!jv0h!!DSEOybhPls54gy^z6Wy| zpLbGl`&QkYf`(rZLoMF{eXsMcWsh3e-vvr97g~O1%)tF>Pf|J!CzNu9`pK8E>C1CV_i$1lC4>gFfV5;5PMwJSxTTj~|K`+m)gNFX)|#DHD<9oMO=hv# z<^{a+hk7!v=?4ct@6|_{AgBug2ajc!vq5=!w0N5XpWcI0)|NNsGuybE{tx)&zYN3@ zL(ro=QqlAa^lxA<`G18bfS>t_NrDaiy~gEHd#EOJlt1x?*;)7cOi6|${G4y$cgnD}5<^=p;7(wj9G(Yv!+^gCgucbikSc z)y@02140P%xcwZvXP-R?!&*nV{XS{&`zH0SOZ9QYp5j61Y2f*NNB_m`??`ZN!~$6G zZc#`Bv(AYkzGyDw_9GRhy`1Fl5xND**zAOp41PhC!lzp;+^$7t0%AD1uW4|go`S;X zetquz9aLzVGA(0(E9sgTMr=Y0wH?uq#%GnYJGa~bZTnZ)soGKLE-c{o-}K=^O>x5& z|5X3t4$H?RohA#jlJCn_IH@KRhO{o!KRwyFRh81hl|;19!~$A3>7OVq+lb&0UT0As zWwUK1**dtcx2kNNM-lNb5VTHajStL4{=fj| zJx}ra@(8hocKw8Q@gFf=nPF^`@L^53gC3NE*M6Su7t644%h4)J+ zDwUvEwnfg#^`M+$>6V|-k0)2+K8lfl$SF=9fcxmjlZVzvaG1sD>7Q|Si(A0Disgn{ zVLUTfp1{R*{*&W|GixX`U9`?Rzt0ykCPT2M8+X+-a&h6rDA!{rqU4kBu(vCdn64lg zpDizc0D4Mld0f~|fi{(SE?Xs*2pyp;H<$=@CmckVmW}zX{XzWqL*pB$5uub5S78k+ z&nr38I3f-hPaJ=9GAdBc?2t4pAn9DPTKrL+#Mh8|NU8;0J?QI0i}Tpp>c9e2cl>`< zznPO8CJqh1X1j#uY)X;BO==(DCJnGdtr1Ol>nr^oP+cl3SExJ774ohydCT;ek}%!V zwD%S<=YetY)8(b`^(Ly$RK)GLupxY^BrpLz#*A)?=KoYJ*k3Wk5d}FXnuxC{_iHzsUdi zlVFv%Vy2DoAUDKhmF8JBs;=^jlujkRQ$o^1ph3-jHJRo3b;=94 zpm@poBd3XY80V}O^xRzWQGD~?!|^uDFu2R=F-g#GIkF{f{^8_%ub>ZXs9ayGfz<1= z1;TCNHhS6djbXM^_cORXCR;MWy=I}wF1SABEgK-AngR4>caW>UhD@$TlGa%$eR4k2 z8$t}OiohhUch4F8%2NA5O}_Oa89T7qAZoMFVD8wNjqLEH-e(Cg#28X?;GDIpq^qma z0rWL|NkPMRsj^zCNTp~kW15)7@5c}^E_P-tDU5^`vO44#8gvY4vwpO9Buf<2mG%Zg zTF(@SUxC}19!&L7OO@iKMVYFI*i02yHo(jpzSwkt-|}_CG~v{zmFYbRkSkN>jGtbK z3uR~4a1eW`{1h3GU^wr&Md`u8^>0zbm|e|~u44OUsXwYWMW{#3x|33;gmR`bL%_Bh zUkVyUrr}Wts(w1gV~6?Hzp2g3GS#m*6=KICa3?ps$Uq)FbIDgjR`pRM;a^>3kXsv3 z5^X%p`jKxzO%Ptk;J1SC&@rlDj6h|owkX7x@#@R&V2wXh!%RLeH5!zpH;h02e&Le^ zetiEvM+#?gq_8~N|LhXl85EiQzaI{_Lbkd#B5E59umwdwg8O#Euuni7t~msA3wxJ$ z3v!TGv#$<^>5rx9)cl*>-e~Uf)j#!B-jR6+Q!YOvpu^+*zJjsm5<}aCsG?0VVm=lo zZg~L5_dJP{MU(q*rP}Bw}hf*>sr5t zv1K4EwUs_=N6NXoC6na39;hKEvE*-JMZ&u2rO;{;zg$=~T`5F8Y)TYAM-xRDPD$=W z@e|yoa2Jw9^a$~PTM+Dt7^ag8QTnHPeUMwl@&0P78wp}H`dC*uxH+e2*GJ=qzD9j8szhxTh1 zUzuMXu|I;{x6h99i%-@>tMC(PZldGe{Jk$#6V1B=n`p?}$GfFXbpB?14S!nS9izPA zxZGvL4(`(heY+1vBKFI3RRx_P=(DH7hjzkXh;vKexBIsI3;&?)PhlklN$=0>avRZ^ zn~FmC57TUe%C7Nik|LVl`Cd`s<&v$!ZM|V|Ulv4MyG#(q&!W9#2mi>z2@2}}Vv7GS ztHumF13m1IP?U%QYv+UwCud$Z+UX&?vXL^j1O+OS!N=i}>&7SF!DY8NR;ZCi?9cmk zaTZY5>eC#<8Db6=WjH`-_jAa5o3*g;P3Wni)KEN`Db8PLXM# zJmxZfDH(WC6~kJyQ@YSRy>E%8{k^Ze=fJPAMc};@^#?bH{wV#eS6!W!MdS%N;o(iKrvjczMM8osZ{XUH(CMPg6az@~Y z94%mU<3o($P~=TJ2Mw5^k24H@P{u9RwC8_S#<4E^n5|Y#rfJ6PEK7A2o1~Qo;W=L{ za*LG1FDv8JcnW{`bW0$yeyYDhdS^1Gmw6|6tem-DW;&WCRDJL7d<`WzElRo>xN6*i zP5NZPmY{@Aq73aMR%Bo<^uABzH%zyX3L`HxQc>#Ew%28%74-3uZOZVGZKX~;*dEhk zC>8cd#p=wVpjAi1VAs!15*)P_MOfWgs-hq`cae~bWG^6t;z&@-3Z9l@cbX_lLK4fy zH!R3jZ6B|*v*N>eudXOk7C;LPvEE1G&?I7e(BwRqTG>VAHj;p+ zgClZ}KAXxd zN0#+7#mNQ#x-+%+Pgj6)xPDd0=yYkU%X4*>+>PR&SvTi{I7Ugla(&xi978GxpoKE9 znQ@FNJB|@(Twlw0{xlT5NB4_tk$Em1$AFH6GzAf{1kEY`#A(gf@ezgRdNIqA>6qbQ zOa-M>S5Ppzg+cJ1>QC&e-=I%>ts7s~csd2{AX&q7dFE%tAlp2Sw)tB~={cQ|Ke{9x z#bD2L$~E2a%ln1;1)BDaa$-BX056aeVMTU^PEN!eEKm#)57DDfN=y~HORY)ZdM z;?793AjmgGlgSX(uY*J#Uj?P_BQRzux;$)t!~${Z>U9{KbZ}0lgy#K|nG#Hv$Ye@* z?pCIRyO|ltbka48vF%ZqOEE~oVhoa5}7=Kjo$rZE_?U1Tg7@Z5!%yTe`G*D$K0SZ$ky|D6=p?t=n)ATd4h!T#7qt(-!=R z@vC3iwA?rN`AH`Qn>O?D<$bD1~*7JrxxbXq2FbjE zuNx%lw>rzY+YORk6(Qnh^TBSFofji0&+7 zw6uj1KR!CTo-{?yvYyw{D7^A-&DYYQ_iJf;PKFK<>BW&TUTJY;?AMF6^mP2Rc<{Bs zAga#t;>hq&Ev2<>^HF)|>1N1#|= zY>h*Zq;hA5z=&t=WHlY5y40{%R!t{_&i97P1N&HqB&(McB_tOIRC@pB2M16t?^ zb(&EgmNty`qK(eGG~GVzo!aY03Xc)?T+0HfPs*Rns0>zKsQ*gppbBabXT6}JxzzJY zc7|QnL#rRuMq4$DGsb)9uyupdF`3z>-mhle`-GsueQ;I1AEe;@H|1^(jp(6kjs^~* ztwX)vG`u(i{UtrLDzb;x7pi;cF|rST(c>UMW3E|;$`<%I{e%|fIr{%^v;KD*lf@wX zdqS(pn!q83acp(}HlZX~Txxw0W8q9RR6ojeqQzj_o~qUA{Wme0-S>VKAP=)6kFlZL zd>exv{+vqLj~#=nu9-=x$7uF3e@G4X0v%?sqN`WxHSuF~<)C{1`SGc}nH+a;@M&U$ z{F?}VzX1W<_IetefLR!!j<#mgk)P#){?vGJbb{H{qL4GA*O=VrxyPy=Vk-9~tYaH! zBy^w|^*WwVF1qv?6lv!Ad$hAKtppuo%5c-c_3CMjw611tH63h_v1yZ~JCGy&8AK7> zF4V;Le9=UQUu~jSq{Vx2SEdPSqGRa`xtS}iYH^i!;EPbR8nP?Y;>wCpwON}9d2!A> zY(7+lQbsQkgroJ8Nrvg*QQ!mqs+X`g2VbMd3Gh@j+q%q=!<5H2UveM4kmiXg80NVoNe=};(b^oAPtc!ZeEIM)In{{{r z!Ye?>i;;2DS=WUACwAi~0p(z!R-^h!vqz}(!zp7VK_WuwgI4|N2>=;ZK2c(`;r`zJu@qYVu!xsthe>e^V zhIdcQqleVsPsYIbYg(%RYyncVc=nX1UK5A(>c{H~C=F+XzRBzF2R zVu!ls^_;zTtWD;*bZznmL<{HdoywDhFv&#T_iE00bPpD%@$q)W8CCpHAl0N(I!$lr zrJ~|}qC2jeFWPcAyJxe!M_1xO48*+7x*Md@CAiL_zp*L*8T9&2v}EZ}Oxg|h5a(QH zz8B_d8!xAU`(T#qre?)BwL2KRYq3uc4mu=AWz?#J_&k_XJ1-A*kIfMg z&7(S-)>jGgV9wqj!CjIEM<$yzkz4-v!{Jug61FEozV14cfzLov!?6!(BpHuYiEFmb z9ox0T7e5$*!f~qnfGz$J1eh4*R~WR6N-$qe9nK79dSG^bSDNVlzAgrOz;eoj4Xep7 zGKvS%ihAq^g5i3}U!#xd&~h}5JMW8t{z%l8gqmoK{(BGM8DpdmR|yFY+{1Xc4VX>S zyh1p_N!#QPh*xN7`(d4pZx@GT@wiaYz_)xfQgv3j|3Rf0p*kb8R#e~};cHpw zr*5P2(wHQ4PG2wQ@}5KLu>^|GzFRb)G^?K^jdk`c@#%M`_KqUVQ3eLRx$*! z9t@$zXfPy5iZGpEhPdusUzDl_x!3CS1@jR`^mQEC=r?7{#RuOVe3H9Vjy9Y_?AZ~c zDiG=lo|>52`>D>YD~T+Q!ieixMCLK9{jLa2e*FdWmORwy<}DA6Ga4_l0Qpn#RomW+ z+5WldHlk^N)N9)PGf3}2yz^J7a_hg(o=0yc%1Ec((^-vtmc+YCSdSgYHl0KnL2Cq^ zF&iToPkBCP<2&Y1zJP3*=u0&iq27dq9*O9b=zJD>WH4fg34GTc{{KlINleFgOkg@% z2gfkl_o3kcv>4vZc?eSo4FtsGey)ffgWsmS4BD{jZ~;S=LM80v>V|^2nil5&Zx8(M zHs-*+1q^>bFcjoeqiyiQtigRzK~^wuok?*{a>RNKzi8XkYz|m6FL`Q+x?q?K4 z_s>-MaT8pBY%GW#i&w^&7**KBo3yq_^Jf{+{7`leO>~bWWkjp53@n^Mc??-UO_}Qr z;XIMo8d0{3A z4a+3_ywtwiY{W#M>R8oM{$PS%%GwokWM&e50I^R@=URUB@5$um6Wfu!5W^7I@8qn! zf?B%?8~t_#Rq!}&?~EWC$dOKGZp39bsSQ*Aervipb#zD`e!gr;aM_4_aE@G8!SC(Y zCGihZ<-;L86B5)?`5({Oo^*LIlX^Nfe1>tiZHr0F2X!^)9P9IoPJq!G@oI6t~#32z1ak@1ffpVRCBJ<;*N)I>Q zbCMkzT}qeFhoVZk!vkef7)r7n%z@igFSCQTc3OcP#YO)iqXEzvAWWh(r+t%~rJx)q z{)0(1ve4zsn*DNKLycS_eWx8uaN_`ldala#O$nLSI%oWa2#`RkV!v?vb8z?PI_FnCGvP$H$pA-9(n`+t zN~wUid=XkZFgNlp+st9Aiswk6~kYWsQjboyZVZ50a zd43lZ{;iK_FC?n_Mi9D#H-gOvFhS|{gXoj^!x#{({h-JgJSd;Bw8%KiGQ%rV;8ri` zlFj>lRgrPtud5nn&nsBnJ16FW)kQ{GzpUUlGq@#1#?=j_#iXUDegHm^qzxqiUMnIPdd|_;q}hd~Qta>Z^M-VO=Lxt26Vs_wB}*vd`)= zPNP0W<3zCoCkngW$gOwDxDx!_+iw5gZOrz2vxG~g*FhyH@+%weFAZo!Aw zVKh{^kyK0Nb|bbjrcTZUyOFT>?S570o{yvX!_zRV>Crw`#-%%VwD=`F>0224z0uG{_<*%F>=;PnFpI*YC*fC zdPtUti*})2b!B1>)q32@wI90CPnU(aH_Mi`^&&o$f+m{XK0XKBo0K^{(^+rvg?HBB z>~ja}(6fH&I9uOHYj@elr@Tc{9WY zp}9e52voQC4%t7zF5p>EI5#=++Co;&zFQwk3k5pzVd2~_Wo;*L#I;OY_C6`e^>oOIkYVjZdK~sQL1gcN}F5@?l!~_YSMOEB{}oOxfkodp)1qJXzn8RN0cQ_Hph#HacbxG zs2|ozcIh^c2b^kO-mS;XxElHSeK|nx%aKl`0)+2!Tr1`9CwQ-(D(LzHgMC2HK4|ko z-kg|*sOl;7vzz(SFB;4`Clf_y$B5m@MKjPZ@(uUo2#Aio8+L^$Q_pJ%~c%P3=Je&m;r=1pj=HV>icHR?#-q_&k1j|pT z_@y^PgI0Oc0TKgoF2s8{V}%UH%s(4~vlT*(FHjM?sv-13H7LW%7=6qiiXT{WCsKt$ z%8ztdG4R=^5ZOBPwh)Wgvc&of7Fa<_9>xt()IH#Lbz>vq`?$U4T8fz2w~vZC%kHWu zRqD#k%809SZi5>Q@&Vv6!AP9{3=_5gV?s@O8h2&wTU=OWQ4M+(*$TR1|b( zpS)Rl2XS;5T;qJ(gvUViZ(h&4q%`Lt?lDSqG84q1MLa-6`v^3tJ}pG!3{}{UHGH&- zBDM_}A9pM8%)W7X^gFpA#n|JFFx0_o8}S4WHb~qx4`k@>VyUrPYxfXz!R17Wr#|x# z0lB%b!PBuPRRc2uOdas9>;2ubY7CbI_KNSQvfl>83A(DJ;RzWA`ky z`?RjH)#Lc)t!bJI$i-QoCO(FbjB%q=5>$SFlF)piCV!BE;Ur~A6{UmD;UwL`2W4i#7Rm*{9OQ-xATCjsIF?wxc#ga7B!zV-7!1?!XH_#OBBt z|2iKxNaP<9SY0KpJIhU1&tLDyL`Zj%?Kx&lDpuKPO+u-sXnMgX$S{4QtG9Ur4&?I$ zQg)thO`ZA5Y4x{kVl}^o#?mK#18fgn_VK!&6!CasM-Gi$y-tTwWLS!Cn6q~1N^4BERf2nj1CoV^}!l51-so6`_I5H(c&Q&Xa!r`d%WSS(qMs%09;Ed|V zkI_L~iv*0&xF+l&Rg&hy>Ecfa%=wX4*Dq2{Rw8#70}YD`=HrvUXoy8(%G@7yi}MEm zP+F>8RvlvayTEdp)aLg|Fxq~ENw38&=MU;66^c3nTGVnwhCiTVY)L#zeFdtedhQI56XBtV2d)=ZTSx{CqVM2Ab9iqVq9@dvo%-qvey&mdKzp+No8n zV9ZWvs%6lq6!n4`gHVTQ?(fV+?B|2QiOZbl`rkH ztwax%S!fBb)wBZ=B);{Q&%~Y>cP61~Q>8Hxk+J=hh$M?FIPm}nl#O?( z7B*k4Yayf2!G>SiQ$;sB$I`?)g!t`5R)Mkv;>dNhQlbr?+NdM0;FW$#Og9a4!~nJz z5zqYTRk_kuH$&&Lo57S9B3j?6nTL&bFfgw>9UPgI7>`H7LbkL5bEpvU$Dtib_B&Iy zb`HS7=G%(?k7e_V*n>(RD1yyeJheuJT;j>s*1N4*&6`Lw285j7kR+Ca*T$$zR@$t_8Wp))gq8Oz^4b zmZuAxS)$TfpY`-apm;0+1C1eH9V7-?JJwLuve3`!%3yR=m=0~@>X@Y-*+KgH$XFK=$ggU_OY$q9v7AEyGO_?fB{5B9($VjeZsn6GqMr;J z{*}*?4^%+|$8^k>wb%peqZNvru#MiZwOfiTZN}mikj`ih_U%&*RYT0cL?%ONo3m5I zL+y@r(y~}g^E!X!s3hj$*}mB@d>_%-@V~_g>=4s;Y+m)7eaHCRHY@r_eUv{kzbaKs zO{iZAItP2Db&JZ=acov*TgNf>(%?-~HCr(J5Yu^#^sG>|Hw5yvUwA8GQfH5R3X=$! zdJehgn`6-@IYGEcG|7*>Y}4XPm8$zHF<`_Wqe+_h8q}ds765f;822anV*AwIw{@M8 zVhO*dz4|?aJ){_Olom_$h3!TiF((i;2<2(w3N?r~rc$CgOqdbuU1}Lyua?^-kvHs; zm~vv5%pGIw63c2dE@Xl}UEVuAw$wCC=?8;`snwU~p<}}&5x&Q5nSwD%3P$L#_MN#5 zR7;>q693D}CdsTX=QT-qKF1bF%PAt4)qG$>OB<>K=B;FW4jQq-+KcZ1Ly^XO?Gc7j zhA~vke_I`&IL4+@wqCo(-N|k>&CY*3O_a7*{H%~u3CCLHluUV2PT9lSXJZ}nFdG1r zj^l#lysFOOC(qj2(mT=cA7pbir#kaZ1nfDCSIQo9N`n;CtiInHQlRm9@R4{JFPHL_ zwsPq|W@FG?>0B4#|23~%ik1e-PX0;6ZCJ03O`D=W9}J}e%A{ejYPo(dW%e^@>1!YV z4|O#|_y}uLlnS~3;CS5+G1*ZQ8le$3w<1M_V$m3-JGE~eMEz01K;b%w_~Rfg$JOtT zIxPqf2vApg-U>e*jDg#JO31LI6~z-XdYyZ<;TirQZB642RH5ox1vd1ZrTFS@tI%A> z6BsYzPWt_N5%PSEgE>(pW*^dgU_7rut9pN(%IFt1SO(*!`G?eB5CjJ+&6J7 z4MRr#XG1rc@Z}u4L78r?|G!M$~1jE6}3UCKsB`$ zdRKvWw(>uDLSWO|{EsUNC6JdUU=FjD<%bFmmV&r_BpAkLg_z|M{_5P`d^Tz*(!|2b zPHC*18J69IKB<_D4t^(gqvls~+Q#TdClGOMBYs+l$KT7+g+qIC+WMrDI9OUH6R*U9 zNtca)u30H3^P~a(bbj$l=h^#_i=!|PmX69qRP1!qvKz0_mGYbpx%m0SHreF3jHMIa zZ8HQ(XK#YCRZ#XXVA}cb4;QcEjByW1$}=^a8rS5bPfxqDrCMJ0FW$LgA_~|=f)nd8 zno)2P>k+{&iWh?1L~{^{hIY&y3SnF%K8|t``xl6`bKb2WE3IvpX^jrq!Hfm^VMeUS zT@2AW)0K;sEc34o0nG%BFGpu!=ud57v(l6Mr%o<9N|-!gpDvrLdqgsxNm`7WN(9co zW9f@P06AM_;ti2fUl-coG>;j9KVoss6_CfQ&?RA-qRk1GR!YTU3?+Q6V@2rr z0D*LeTGI%O3p6$p=wG%N%!~;Ly8y$(ZGcdh)Cx1*f)4y zQ7P|toR%6Ge(M7s!FCkAK*H78FhV5;D!R*a_MArR1iGr8`^5WL65@?o4j;@EpTiq_ za19>^y#&S~#uH%sT}4*~hS()!55at3zpcRVslJE6hI7t_+KqVn`66e&`G{koxE>EK zO$LzOotqbm>+ryyTeD@MSd4qW_*Xz@JZY4y@+=Y`U(qN@d{aPSgc+G;J%n}Y4@65g zf1h!b;=VSx)R*E~FbGTgJik{M2k>)spQEIJ>h3^PFjamiIZK?6?y)l1hA94*@M<^Y z_aNKhiaZz92TQWVxkgtY_p>WqY4_U7vczZaA%~H49H6NxSC55h1n1^^mtm*({mRFo zjK>s*=pGjwCVB+)qo9404EBco?E~HeK41odV;&ZA6{{OSlp05a^_ZxLC9NT(=nW-q zG|DoBNupJRjIZc>AAfiB*R~x>G5sriA)*@p#t*79=#cH*QGI5M2{Y%)#-7j@7<&v1Cpe zjg)rcJ3ioUm_hJlh&$Z#XxIuZ59!`KQd}&n2b~;zA5)`8O=B720BG#Pz`i~Vs_WP- zjTf|=Y+!4eFYY-q_y}@1#2ozH271T*ykffWCUI77d*KM$0IyA%;GGgA06dB^Z_2eP z?>{&L%zoVS>r~ojCz)7wBSRAV!0oT)r>6Y1(M(Iy96;l1YZ5VIXfdR%Mo+^nv~2OD z)u7Uheyu!s6(jO1aHhVhIT$uF#07LHXUE0rAc@Qtr3t6Bg;$~vFG6? zYaY-i-a3}1$kEL|a&=j#=ISyb=pZHmkP4>|^xBk=osC{dZIV`NdmhUAbOXGHE$Pe> zvpeP~0--trJ9xyB1>(i{ds&v96)Vt)Fxr|*O+P!>!qj~_Q+6mfl63myUcx#v-$cfp zmDLI{dwvV{EG8u8qj-}fKa&=Z#apG&v=JFLleQ=n{%>;441k0=`;_XA zO73A(!>Y)nS5dP`V>IhJhjiO!m?~1XNQUu>&wNt-Dby;XIv{yTNlph~N`wwbNbi8e zv<_esQ#*iB@9BVWSv_>1r~sw~VmGz``;GgbvFlnuIn@FQQ7xbdZvjcedr1E!E38-5 zBRSVCBcUc{)ux7U;^9MFH0DguuYVJ>fS!zWMar!4iobbfRGuxw6))>Jgq$tVqSjm9 zoQca9Fo=X7c$KuM`Q>jSTya!?Qdxa6);*}?KHNO0e1WU_7)3|PHW^XQq{eOi>(aZr zCMfC}Fq??dK7@yDTVX0}#7m0Cb+n0WiI>bdW4Rf&XCsPD0rrF)aOfkVG|r zcFBc}4WJxufP`N)K;pgzP#b?7YJm8&%`=PVJoEoG1)ISxi7AlERX50Kh;w-nh1@*=}D`vP@{tNs8dtFV|q;##Q=WS$6u%qW`i z+J-wDFPGw91-j;Hi8FkAtx>!$&l#@Ue_#0{hIAOtT29G4khW+kOvF&^Z+N2^x3qHw zm6^wWsr^GGt?rscPe_m>Y)pEd23<27%u7XGB_M*hB@BGV<@)dn4E?}6%|=S{hF%$1 zD*kLlJ#i|Wi5erxhJQfyqdSsJ;+Mt%iA_jF)+#D$5R~16V7iD!>|foWi3$*D_m;#B z0i-hwU?H=;(j@+Mvy&u*1;}ze>jBemu(;$5R?M*hV*ZL&w=Kh8g>0BKiSJed`@hC5 zFhCZo%0Y9q9A2qjCcc8#cJ-04$N>X;+wyrjzDIqBl}~hQofP6JXmzZ)dzol&4CIuT zTB$HLow zocXtvF%2Uu8J3gjC#Z4I6&V|TOHB>(S`3}wVe#n-wyF-vnJ(ef+or$%r{Oeccz8J# z>jK>dV`H--SVZNQCyBYnT8lpO&+PiddJBMNwFPwkq`XLd{r2i#D0~&_x+F0TA4k~U z_X?Ze{ZDFWWLvU$FcVP8`_h|{M90n$b_Dga_R5$IBgvv=h8U_c{q&==3znQXFQ}q% z1ycj7a-=tDQbZQ3>eGhHWZe0;uvZ3=^Q;t+O#VC11EM{UJXq4v$V$g|a<0qj$KHKF zBYuf7?~@1#o%jMOmNP?%+c}*Wx_KxuWj!L8qw9ter9B&6yYLZxmD+rdPW)=gJk8$J zK8=YclJ6{3Luff{pVW!pZz{)N>CCAu5{wMB>c#&uX8==ESz&`mFJ866-o*$a#s$|3 z>&Ers=l;WSpK?U`VU3y^+7t6&kt*#6S}HFCJD@{U)r)bgj|U;;JWSvJ`n`DXQ5;pT zoy4feVZ+#Bv9ANtZmxm8TV(S0n9l8BqS&?sykB=hYGM=a>Lp4#L9t;tQGB@*w4Zju z7B?sE?gR!V?vXXfU{YuBon{+zu`?(?VdV6Ky2=!B5ALt`tQl58V2{EV;5Vd*4=yQ8 zh=0((XVb+^$YG_6?hP``6w-pAu7)&Y2B<^`!|TtOF-!x`SHoj2gSZ--0m>#XNHH~E zqd{DOvna0{Pix4IH*q*l2MAEJOWl&L3%E}@og9=sjv29&@##K73;h(5@Z`YZ6F3~! zdy$TI!yqT7SV%!BLTMjsgxGfXe&d{eV91j~X{+|2sP0lB7Z%a+_^K zp*MPktsmOAJ&+*oTRVD%u6ZhQbxNP%h-3FK-0?y%g|bypg&|!E@DHl;UqvX1=4z zL^GYYrT}-py<^1-7LkEcvN$N80Q;zfJaH)tjt zqU>8K%2)ngc01zq`!*g!?i)a)Guf2~hZ^xlH08@5%wmz_`_#%^SjU)3tV27>s?AmK&Su=-T$zI8{9jCO0-j0h){D*m zMu|2u5~f>NFfOG3`|nWuZHn$y7p&9ckEV@$kwIKs2HDT?NBM@m`11$#+EN8SUhFoA z1$c`JjBTD>e<(?W#$=Jx`v-9oeO&cjV(z?X>AXq5IND&XFE~U)qR7wJ< zy)As144CHw6x9hiy-#VC!}nLlbp7K(degz7Z;-tgw=a%slT(UY@I||l-0=g;cUPKQ zg#60e{6+j>p#Z55K8R?Y-t(CCA)0DI`CHUI%!-_ z;{w}fS8GlWcp@7YQtqL9ep_{X0~&3t;JbZ9jZ+R2w;%thB4MxPe3Ov>Q&SIS#OnbF z(#5TKH_hqFLqzK_5ZawkjIM&{jl@T&>icq3qRh}3avlC;>Jvj`70GTY81n229+S`^bUK5#?bY+P2|aW@yPEwl7#iF4>{{Ly>yGVmr|`B9 zsMw|ep4)5E0=mHVF6V8Qay|yXy4C>S{*3p=ua2Dlkj&1KwlBc*YsH$;V^05VT+{QE z9xv{)m7p-dY*uEy#F9-b+{bVi#t(2F^WktPS zov9>_dS!`^VS_Ut>Hc?u>!WbHe46#OzI#*(z2i8Le>hFJ`3nO$mirGpGyD5c=$+iA zgX_++m|q1T_fIIjyvw=ZN>6;gMJe_t6-BTr|TuWshm@u^gr+X^5nwtY%Uxek~F76v?ePR zR^Ya`PTy~)u5S!zVrm9J^-3)XtgJ!thC~xh*oem07z`ap*b=C&Rf6*4N^p6s%Fg;|Op z)u|blx`P6+8w4o8X8V*EL-t1YREk?$hq>(}#^ zd5STET4HA94Q}Q|r789BKLn+tAAnN?DCk%FPDhq!I0Yr&f7_pI#*(%e_CaP*O!Nfk z&KnrR`5tu)j(-g&{?P!|H(B@8w|aF_tvn_M9fZ9GSs2$36`gF1%=ZYA1`7JTYRktDHxdG|A9AwB&czC_SECEB02J$Jw?fSuA-*HM?+mc z7eT6jTL<;|y%eU2O+v4^Vo*QN12B3kVa|TNF(~!{kkLPHbDO~s7BmVltfZLVDiHCJJvNw^$U^H`K+oV z#f(W`+Z2p@LN`B`$?dfiXc5+@ZG*HD145B`f^BhQM3Z#MFAN@O@)F)7Ejf=)*3Z^^ zq|gx$jtKoH+>8q8{$%h>Sgtb2Mj|P_tp?ksq{b!%AAb zZIDX5Y^mUvpTt&wIq;GhmMoKazx(?bU(SNkIr-_Up88IU+#V2El zzHiPKl5#$=84?oZg#RH?$Y)7G9G)8}lc!D4v4wx(9)Bb0ak>U_#%b|dw=TO!*CL%z zl8zgd=&8d|Pw#m*C^;I>_aD!2^k1c6GbZQ?kA>Lq(L}{<*T!3fgx#h{*d8e_9!KM` zI2qTRAN4Nj#K_TP9LW}mcnhWEYXek_J_*#046pjgr z!dGIma!|({g!&wy!}d_fhJglR(`||cGc^4*?`bo}BDD-iE7xU5cRe(h>dCO^jLk^c zg!Q)=KtQK2=nIToloRXp7L7$HH_X1r9_nB$X5XdM6^1{yIo^QEh!~R#mb|04N?4PT z*)0{{!izWB(T7+LCD0}n+x40I?eoY8$qOm%%PmtTzfPhQ5e40o9k8C@_Ly5P~ZA`d4Ynr zr>qDO*V&`E5ur8?#+07P5D`4AICrb3X+2o#5R|7{T}xar6C$o^jv~xk*)nmZ-lbqK zIm4NnH2sCy8rkESR&*L+7R_X%-l&vJF+7Z%y(cmC z0gN9<#)v%1aZ|6$Xj}?olv_jFMdMN*Lyi0$@@`^+>)5oXLdAinRIjT?>7*=QNFur- z=-CY2@`gBRHyD1_%|LZ?sQ4pl2G-lo6(<&sFU(IUljXm7YYrh5d@`h8-GS-p{+9`- z=6486a72mU>YTq-sX8`gpT%J)0>K<6BD~?@tFtMrZpyIUUR9plal0TEtNNN#IgjI8 zJC9+>da#UFPH?N%ar}h;NqoIduEN+SDOA;IWXk>Xp9pmpaJ`DsX!7T4D8v-!D0|h% zI1sIJBL!0;>Z)vXDit4|in&K$pU;-2;vSK59j%dm^H=ON{HSj2Vf+FVBa zRx@RITZfLMKA(=VYZY&0AeItdow`~*Bm@g-!WLj!Ezz!4PR2!0NMPU|FjQm29 zM<{(A3%ICZvZY2YZWzY-_0vs!YZim${3Zv9%^W6aHXR_wY>4R6bt55+|5Gyd(_4cW zhYE7+y!-9IFT;C}Jt-TP6{q00`TM)W%DVoD6A*@J7sFp~PZ*|ob=Pl9wf9g1AqB6Z zz^g~fuIT0tjtUWRiPlxlBT{-I-)N@_k?3ItwZP#S+uE_>cbzHHS=%48J{t z4IWKRx$3fmejHD+SGymkeW4{_j1;eMgFpO06>SsppTt)8AfW9iM%J}BDE8g%NDEq< za+^nj!{x=9r{&Mku5J1qdf!yRxD%tT)S&;@603ypObngJ6zed?=4fOe?|c}QZbc^} zoKb?S6s_1HIvrUBhG{mp!L|JgY7vhPfw7AlrWNsCTA%soFs(by1uZLLS5qw~)&1y_ zl(!jEbPqXTSqnEtD<2x8PaVO>c^aG7ezqbsrDNV2osx|&c5)-vEL+i2`*205?hvQG zZzT3Cf}vMpXwx2?_uSo4E`h;F@c`E%adyrwxDGb>ohb6pD$5SIVRJicWpG+n*wgVL5mQ5)&>1DZn@Qz=ypU0xk%~z+@21?Q*q-4= zF6qw99z(Q=2e95laEkNrRy)ol;hzf`bvZo5;+}ZQ$vd?m>!H5_h82(CNq%x6sg9h^qGdJ`lJJIqgAcm0{`mzq;s1PRP>r<7v zv8GRUx$di!Af_2<=KKtwfJ$=Dqc9c#A7@DU>L_uGWZ4W#-iVo3j>g~y$dA~+w=g59`E^cO))Wf3g-X=f4G^Hz!P zBtf#qj+NX%X`xxnBtZ=C0L?c^U~gU}zSam2j$n-=9gyF#N<5NaIU-=Yl<(Ya7dmqY zTReLDIz3~bd;d5t+1TO^Jkw6`>gNo4blK_ zByzeK10myf5&35-es?0WXcpK;Lu;|9vtd1I4F&vH3Y@ z9ps@JRG;`BWP1L=s2}H^j2|E|{dr68s^nL$Ss9uHGBA>_KoYVf%yePWs zYKsp&@tFMgdhOrYIZvYg^lS5v$9|^lo&c>a;T??J!R`?IQ;<9_?=yNIYl(CU&0%5=QV~_uYdE3p{e|?UV6- zD%2N$#_czF;VRcp7-VnF7PQ)_~l8*G+>{5^lOHF>GHT>=Wz+ZbcyU>Rkk zH(kGjW-Y)`4^r&O_!>khO|68$ANUDe#9HjcmjQiGg85CQOb(U~()N*NJwTH+75vgMubRcnNG4l={+mq77AMv9sO}vdC4Qb*G ze)Oe@*YRU0P5d9K5^ZL&@_RjK8!yPFK4J?pTVVtgobQgy#Uqshc89}a@GSDdrI8fz z*Nc!*5BV5RN@pZ0zM)Qivl8t567hx{4!M?yb$I$RB4u-hrLYegeGqvZ4+ zL~$L=AywyptOk40Qt^{&h@I`m8ym&%@i}lCZdwkx%|`JXIR+kl2a^(J2Gn0@z&>dd zd*#4umWuDSl~K;`i65im7K4KnBRE97Z&BvBtS??|ay4_uB|#HphC}THr`}Z*LgYUy z>!%IiuMZnf*ACRYK#c2D6HJ1BSIbN^(_MzrgQ5Gy;dlfiV^s5$EQNg=&7xFlP5t;0D4FvjHFdA5+!)5 zePS>uVT63)lXPn@CSv@Yf~xu`A-{J%l*Ri5!|UUPPjuE}NXK|`XS&sW*lshTtG5I- z`Ir#ed>AcgDv4+N3OWq)a9dzBCe=m{4sP4y__HqM`C+a}*I}Q_0@ZgU>Ba;o+yI+(2%Tn-`bhgXT!@*L1ekR32nmQS zTz7e$oHV`Zv(HHoX&>A9fx_3fHpeXXYI|D55=0f}IHcl*PIbGcYZjL=_uN7+yQB`k z0e<^iOZ?X8Cg`wt=wS?m1K0!DQMLw-8UuIqu4!cKnV|r~B1hJN=33z?+^fk=HEBMW zUKV7it~%7v{3nS>bHXL>SNo4#LoPsOurKX5xHn7_7ZJ+MVk16uiR)}GhClJHvt>Aj zewyzvE&43*UYgp005a$pmzisM9=8rUWI+NBlUNtS+p6$)b&Gk-V9w{@Df^0%oQ9=h z1Nz6ZVE>I=4YXs}a26c6QK#fH$E!+%OL09ld4B0`z!BjY{-Dn!K8ke+@w^S`<D*nW`Xu>rH`K7vaD@ohp7U2LrRzDutSU#Xa3uNcTrh z%)-KCR7ev4m?QzWs%tO4A!eoo8tk^vI|F*YRGPET0XOKn!+am~-6NK15j#~YD;P;Y zLbzC*lf#G6p+{LFl`)0P<<#ZkU+|Wg8P3KtZ6w#dT)dzLPf5JpRvcruC29o37?HuK z?2`3%8$(@Mj7+bxd&T$hH>L3n5GaYs*#{l>Vj_^7eYpLJt9&ys+KB9TkTptul07C% zqBM-|`(uOeu)V<;WERk0{<%R)JdoeKTzn&euYY`jrY`Pay2s2nAEAATN{=rwff{-$ zn#tS}du5(gpC9C1Ht>gLRm^deiG3V=5in(d`FHgv#iG_zf=b9ggU*1PB!C!-Z;SV1 z!`_t){a3Nd8_COY{N>u*o{)ak$nW%mwDu{SH~{bIn#7(0vqg|P^6;&)#sFf4o)_EH zE7H$}O?*QzVNDBiePHWEhlJTYgw+dWCjAegrcB5yo!IVrpO3Z&;Y$a#tmp{YrnZ-k+=Z z9j}n~%<1L#^~{l(Bc#uj6C=hYRKHa4Z`}NxvAm2=QCA)#DzWv49B(S@Ju#|cp-i=` z5(=8}{s#h}tglWh>(QC5BEEjQNGROqxCfJduz%5in<=}u;7?f3?TTG$zUX59c#Jp` zKcC8$6+wu*RyA$~VFHEhISO_)N^vJ&=ZGB+1@{9iSJPXUN2(@J_LkR#D@aW^J2m-O zfreDMW!@-ZGEV$wJmx3l<$Nls0$CEzlPX>3VHiszZJ*`Di6imwyeF|6Yd~YFa|Xeu zEu@OWV2;F2Qq_*TYZiy5cRp4e#9D45^;H|>^9ka)cxEqq)%BTkCprz}9ffJopHm*1 zO;(gLGo~MCQz_~#Z|c>i5M()#B2h-i&;!l}wm!aOrc_D%xrSnT5co{3SP%eRfXr?y zNgT#z%>{t1E`mdC8qtTh8xJa2ml_Ts7^W2uKT`wehtVa~apEyNyrfa)V|3t=_>K+* z&z@VU6>F!FS({?(J#_xqBJpicUV?sam}dEs+jm$bUTj;xRD8oTa$R)}GX~CfTTs>& zCFlPl45NKosBAx&`L>T$6A-Sbwja!i?s_VIDpdc&ea$sU&>>6xmlp{Kyqoc2VUW^I zFKW2J480L>BY17{KJfkx&Dv(U;_Ggp26w{LySmO-GsC#_XKP38?``N8tg8IN#o~{5 ztV+jSi?tdaS%sC&PV8h?bW-7(C-nDZPDW;5#Y<&pm_bA3&|=Yw4_FC;7H`N{F(wE7 zf_f?tCYd^Mm(|HrD~G^|5aY*em+@oDm6($#CdW@8`SU)NcLMEM8?e1x<*PLb(h1-( zXlm6cBU`Oj-c;oe#N$K*~Viu5Qv{dFkbC36&v_D)Xx6q(D)n1Z2IVyGuc zV*Yd?JrJebX8B6v3Nk4pYl2LPkJ5?%iJNBh7ec3(NsLs!T_@Jx>FHGP!T-zAiI?Lr z*WMqsR^1 z(mCz87cZOoPu1;G`xz8gvr*R#OVDsUoGe_jqr&ifqHrlkv!vC4-y7silTMc0N}<#* zWhJeoyx2+u-IT*{L651p+iolCwA;J~g*rKZgvgMpHBQhEK)=2g`p37q2f@0E8*ndM zN$uLC#VAdSq85Fy@=MSWEl+hrw8<jRtmIlQi-iqSme zY|I2@PDf}uE*F!b7CZ-o&yO(C~VD2h4>ON-94mVgqJR>R8Eo z%T|N@E`CBmCR?MGwRy2Sa3Vr&5O8K40Vm+jL}#tC zVnR|>MNsIgX>M-UL_-Xz@x>&Xt5udsvUMAF`>n#?M$=}iZg^oNwzz5-4Jo_vmkN~@ znC5PFkV6`kzvq>qLc)P!fQKlzJp{`Bqr94F4Tjj-aia(o>0maBw^Bs7Ng@QL#PbV` z4{W0YB^U&%lYyvbP|vl2<3Ski4V3IGww53Pbq+|v(8#ZEwku`Y$G{C_zE~K+y}X)4 zWuiPj8jh zjM_L^>bMN|D@Lf0ZY5pY?qRx6x4p!8nZnh)>F_lezr(K*j@jkcF?&_)r8*qy3FHL9 zN9q68D;l=)Q-T&r$Q@K+sME>kk9sTki7et`EdTlreP|4xT|J-Jw)JOL~-`CJLkhD>3g4ZMUQUzZiC@#tKHmQ6n4TlX@ z)9fsatc1>bp2hj(j)rn8WPado$7#$n=Dep@h^S(Fk#85qVmKYCWML?8_X_b|EW8zz zjo6Mx@-`KxG99F3RW(gy;(jMOM|fsxBc>pP=9QvBGh%yYl2)0%pw-RDF0}avoJPlw zhJkI*TF2$1kzl)uznESNHByP48ZETj9!Ftx66jsSFcGyR0+=&rwt*p+Y#usEp{z}=V5^D#RmA^}v zA@B7_3Okav)?Gr;+M|P1F{hSp)t8s_?O-5H2;R>bTDujroMA6D&~Hicn)8F3`m==8 zUBpA_)G1cA?xk26rM}b`a+6QOsw7wyjhB^TRZH+~)YT@pHq=U5|1ucXUjj_iI^e`7 z%9Hx+__@Op+JCZEedc6s^qF(DG58mIW=DXT;|G~J6b9u#HDbf^DXg*OCabPRBFD@Y zcd96Sw5h)*B~AD!%)c{;L0X2^XOEze`{<>9f|o)qY3=#KQM{Au<6|8Qx#1UQrM&-h zN(@Sm97h=9PkWG~!TS>e4(R6pqcT_V+whfDNAtZIt3^$SvjE3E!&0o2$u8*sJTaVw zPLO=CiG1u7=9I0_nory3)aIaKAB{2YIA@BHYJtdv{NjW7{T%eyBr>+W$3y!^`h?;& z8~acFn~1YX!b%E_DHIrLKm`|5nLR&X6PL!KCe$sH`p#UBDmH=t^lIXDC)#aptjUcv zCGt?^LoKsW8jK^sNFD)M{eIvo?%30~*$f|`6A~~iPRB03F2U;E^9!qrG4NhMsg1D} z`%bkTzQ zLhVL|MhCFx%m0^ahbp-_NyVqW$ga$5R>q7S1YrvqjK?snDt9{!>R={}KZu<$@N4H@ z{P<`n5*ky@_^o>lsCA%~LmmO+E$3%3;Qj4PF2Ib6s==rP%v==H=l)CjSRhALvSA2UPF%6syqu(q@VmVlp$`2N$5fPU^l*@mf*@0n2^j@3Gp7 zLyQ>K0zv8#yKM)7UGKz#t89neRxfwC()j)m>@~i>3`LVvB{8#l8t|W<7>ObCXWv6r z(O@Y?w-NF$9=FfI04@4r_)adiu1LlvX;pLs==}GMq#5)WP8fvEjCfOAIKFqY-4+Le z(i{VA88CfLXxo8#Kd6kRLI@munz6wQh$m2MlEn({WjXuKV@hHVrbihAdyJ4hw_rJi zhIP@i=L4wr?+8E@CkI#F8)gikY(&}Ah*{3piqGPMan)sJJt!bl{f-udk+tFzSQrN> z%CO2j>hBKR3I5Oh?IzrWeK9 uV7_7G_b=U5Y~`8JRY4k^ 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

    ;CPqw0HQOpiB?8b1`szAI`&lIJz|thn(4yLy1$8 zz|p%h68rI0{B$Xf_Lk_ygGXfjG45jp{g^QAN6$AUB}W|naiPXPIdfdL)>4fDf=kn| zXtDt_b3uNaT-+4dm&#wk*Iu+vCA@Jlo)4PT+5anNBL9V+<%PyX~ zjC?AKfB7+%zByF6F0>|$>AP{4%e&_S8Ttcw%H)+@=0qAMm7cj#1W|f1g}J%inVZAU zMQe+KfS>0M5u2BSPhnxf)A4`YoMBAP(VtGf?@7dcFyY99KOSQFN<_n}nzQGaNWkdE z^7XhC2gB1jaX1B>X%q`r_vCR#eqK%U%sk_m|2tLIUz!+Xw+{8Jy@)zT&H(VC5E zr13$;T+u}s-=k=({*D#9U5VFvv>@|@Z@7vcLB~>c&-6x#oY2*aVBo$|AI5od^6B5= z9wm`oE~CX4A`r^HRHof1Tt#h?q!Dk&J-~h>_3QS;biLe&eln+}N{87MB9@ZWU9=h$ zJ#eRZMk|IaCC()ZuJUjWBUVKC(_t)x&V1YB(RDD$N<+Mz2PKHdo?^sVJaAKL5Hcm= z5BQxP3TJSyr&5xX4MQ%Il!N9hv+HMFKg+$zlJw+Wqks4kM zXO-fLh>5Sjidi%+fJ-dhWk6B*f6NH5srkoo#eX%=;k>wl#q7Mdf@63E}59HCFF~pqlgLj#av2TcNyoc07Xfm3lV$iu-l| z>^!xHh`wAtyS%th8)imH<(C>ZeO1`IXkrEye`>u>YqN7(aFGh0)tg}cRH*&0P-#i~ zX^+I73Vb>=${;C2_g($OW+JR+PeF$npQk9@@MV2cAFaKMorju~qq>?z@jvzGC(!_I zBUzxpmne?a4_YkC!BV&i3yuZu5ijBee0(0T*EDc!C{g?rk2x*w6Vz*b#^Zp& zjKY!=&zT`+38KnNNakZ^PV7gB{^Huh7&Y>94ksRycbbwkr}HMInzE|8RPaaPHjd5k zal>p4fsInw#7$80+)7StK=9!IhQ6c=-+U%33N3=47s@iOlXi@7`ZsRQA2^yWKCv8Q z?y_PcwV*3mUYKDvo!aFpR3vcaApe@U;Yf#0tiVdX+}yW~JytQUq&l8ZUHgALy?tC% zbrwH zpJtv5+>%KblVP}#8m#Fr*?kjSue>)dnRE%t{klMZ{(qj84@@}jG=;-KAlyv1@QA4@QDeF;=YMz4Y@bLj^cJ6Cw{4_}*u)9H8r5jtnHg@~T^!n9mCAo)5dA=5MM97!? zH+gKhuN7mu2b)X5D(T7(mhOn7wHuA1&N{&X9G7I$j!@|el*eZ%kCN_xUcM#DRQvSe z$EV10$ChrFejU{G=0s($hq0tJLa zPrRi6+6#7{KgMtNlCZeSOUW}{FU5QW zI&*Hj2K`L9XP|W17`-YW~sm;?)9W94Bsamp=a>rDRkGAA@;`8F@O6R=zn=0 zmH!Dp!8$nNZvw;gfisMr%d4gU!?`;AE3+5j;c?Q=z9(!5Q#pXZO&d6KE&eAU=?{Y6 zV6U@2uk;y_4v9F1;<#5YQeKHC??j0RaFVAvkMp!X!NIvgh2aJmZD6VKdrmi=#QC;;J>4x%un{`^5g+3K`or@MTsIkv?&Id@G1}5328S(Dy~EA zKWd`gJecpu|K_UIy)9HL@4&tr+R~0h%5@33Um;-U-#&qA3LXtrtbl2z7eq|FrW*c= z*Hw}C7pDGRJ{WF7e;mSX2q`f@(}I(URWXw%PY|8Ei|#1pYvK&sfDos_IPrySkHOaT z6-b{ZJ$zyBksgXuE7t(bG|jAFCd&1wmAMe##>l=Ht^~$egB!H;E`y(=e#ajRD1GbM zfR5~Go6bs`}How%wG&mBG;c*GM{t!*3{;Zeu`lJ;hfdV zUqjMAU-OsFy2)BqyH03s%v=sFc>EApsL2~GeV}fw3Rq?iVCcajUgS=dAay ztbK%mDzhSEuc(ycse7UalC68zIbIbYJBER%SaPA38=^c=wG@SzUJxzwyAPZs#ZshK zwx>+(B9TlT^CWqUTPiRRh z;i@Co>Q}pyc*~t>35zD5@kJ;`wEQo&&~_cy+t?cDqk`bXN5YCZKeLQr&3LJMHjrTP}!nV z{Xb}$KVsQ`2x|9eJCE%N!6&ry*xS_Kh&}#pc!JG)Y4FiY8vh!m+z%%nMUdkl1WXK| zSW3MqT#m zQgkGdXG=X2ARWwJ(Qcx_<;*YGT^c2hj9F=KL>E|V zpUkS!Dwa|5AQEp0%Jd#MzV1T2o?KD+aPAiboAW*1P`2M2Ku|2b7>-j}SPz>vMV-uw zQUw}xDMw@P39ctMFG{`HBek4@ICkZ)8W?(x47#~_#v1zV#neA$461tpJ@CZ9#9z;p z*6TVyXpMYvwL(_N@$ps4o4Ds~B9m14^4oT$6aW1RW5-jtUIcRtOH#Q*`;RSzt>~^g zMCZL{92g`4tn67K;(bl7)ZJ_Pbbq&J(6l3=Y8OW9e{NaQpw~-j2Tt3SCOoQc_l`c$ z;8f~M8}Z+sjFGc?so)?&>z>yLWmY3KZODEe1JFS+h>R6$(ls*-S?hP>+SX#2-{ITa z+xX$KG-~`1_l>^(u%tMoLC;N>ew^L2YC)!NU=m!*?^Osgy!KCgfAqO z0%TlrX?AJaHfS8B4c7fK#h!C!%HbC39OJWi+t@H zy@zA>JWEwO&Uj*_nKDmzs&WhNOK-Yj$6&=en1S)?rMfokM)4W(lHK#s8PMBg3}*gh zF*XwUN!LW4mADCO?nnw{v7yYL8p$Q4xtD%C!ns8jW*J&MRPEe?B72|rEX9?Q%42BE zBoAeA!H1R-gL29VZ0pBoJ~If6mm)M-Pf8v`Q1D>8uOEb3osA`mGE+?Y{|&l@B0=Q3 znH{!#Gn32yQM_APqY_!(2qJdX)!K&pFg|{bQDFi#JSQ)L^o!$V0h_Wx&Rw6td=}nh zmf$o}lc=^6F>UD2`d|NPn6uVhYk{E|etpksdtoiIFmbYUr<7~N$4IzcQJfVpbOpTLJqwk zdC*VjBR_`4+uP)Rw}A}vT&mGzoD8d~h6>YLOoM;+P{kU>_pH_kA{7KeuRcHdS|wgv zg4m&PRl?(S*(aj!nQikN=czXqJ2)@Fg-T5vn(|-ct2+cdx(zE}?Bas((YBi9<^wD!GG$IO*%>R_}m8`kguY!k72kdQk( ze*(7WAMM++?|_()X>pxQo9@7`4U21=b;|uHT@D#%TRL?~i*t4W&NNn!9jxpAH7kIl z%Fp6N&zY2ZUtt}l5a{+Twv(;t;mTGk{B&D99U)FXPe;2$?1guqwGpeVzq>hH*}S5% zzVvxS{CKvAIym6m#q`*v05^yfB=<>a%1}kF1yP}re{V*(vW^=eU5dA<4&Kq$73k)4 zV0oxM06=3A+y=cG8Vk3W)!vtG$eXU%mom^fFw8pE(AXjxK5GyLWUE^};unI*+Z|eZ zH^4~ePE6#MNZn3k(8(@y>7{Pg@2;>OI&B=%_vNrc)O-OQpR~>Q@jJ0yK_h?l8T*u{ zOmM`5ZZh7>;;xaOrS6mnJM=y3lp1C)w!E>Bb3kt3*O^3>RcOh|c$yExLwWDbG4Z zX7Q^ljFz?3`=cjBNkCoW`R4oG^4w(X=G{XErBdG@H9@0o%m-k+OvV`3x7L70ByyLKO>In@DL--;k@4Ma2cmitW-6hQDNqRM?(tzk0OGLs8o;+_Br!ddv zey#(%j292Mb;z5hQ@VwM=W}JXJO@I~s;AzP)il?hw$UJ85bQnSN>B09e+({HH65j3 z4`~xvbqPOK++=H%XZMl3;aCC3&tQoem1VQMJHVMf^L5^rrd58!Av7s2p=}@L>ORDC z9rMDNd#st&+=D1fGG$Y4mR8>V($Eq&mkd|GuQnVS`Qq7@L1#6D0115UfiL zJWu`=(lK@5B(PjixysiVdK;g%wrZMIcx>oRf~MB6jJ2@5Ze->adK1XLQa%SU;Zw`* zrE*$Pk@(@P-OwB$D-rBxQz{xLq+zu%q?UgUB(nW?RQbWS^I(~D3UR-#M$4^^W4?g` zW?B}r)q(9;Qs#2zyJwPj1$I99ujurv0#I-VcbCl8o8+|fJ@wfCrU8S!b`#Nt@d(c`j&0XrBo!u#a{GdqdZ#6^ma?y%Ni6@3p?Jk^>^?UN&gP-jF$T zsSk#jhpj5%f+SMUt&uf}B$QXeABnYw4TMm&tf>uQS?e8;tWwPFrD){tQp57@QgPc< zi3b6#N9wswIj(Z`0^iwpx1Z}G4sKFBQ&&WeB&vDIAWOdy4|SJHN0v7-yF6FYo|uQ9 z3zxUNWOPp~GfEY|O1K<06cv&EE-Qb?`m^PeZ)i%iiX-hI ztPmt=w;19bxBSUpPs%?MF(vCM=|S;?XI*Uk{H?ZC%U#<{gV|538$_OFtL}z~*iCYG zDYcL3f3$rOQS>yc{54mt7N*v(KC@S?6|8rtMnf{Uq0=ihY^q4Gsja)0^(JH;LJ0#) z1Ft=cT%e(p`!Kv10Vdy#U5f93cmzx{q1l`0f)G@_vls(OGy4uEN{@G#DJOSADsdv0 z^|HmS3ktw}=x)_2Pw=C26jW6~Eh)eZ64XYyEKxMaQSLCSlDHf-D?`g@X|0xtd|`wg zM-3WssmT?ZbsU*N8b6^xME;;+;H&K65Wzn3aCf58Re*+znDvBa%PPuPiExXC5{dJAT1m&V@#~FIF`;NrS{hu zd}^_&n(~UEZhxLOD0aCSNordx-*_luY)mayoBvw9h8&>@N2C022i(ze+6+Ld@iSCa z5tMhqy&KfHUxAhdF-ZXU5N`~dL4@3Kh|)dWqKp19Z$1pM8!@Sd_ppJw$|PR-J4DUM zY1d`ml>8+t9^h5Rb0<2es2Gf1))=g0Vdx_0abn*&y;O4M{Yshw}|;_|3GDrISEXr zT2=IVt;$sbH7UBAqas9vsHF_P`VLp#VN?VboDnsd*F{}2tD^os5T>0Fghu4}3uYVQ zhvKC77qAa+sv$uYG9h448YhmP@9KBl<;`(sWA)n_H>74~^>O z#Y5g*BK9Bna<+`L_ivHr|Doh zO+=EGsZG$+d(9*a-X(p;)u>nBqReX}IYf5W2tX0_gt#)%BIoC)Wq<;&!X2I{XKxlS zjKr}rZSE}!4V9J?!UM&^0VhN{m2JCi5KExzeQSJ~FDy0Q#b&kI@;~c;D$sB}dSqy6 zD!^Ow@yHB;X0)?42Qsh{6(`c%Eoh(ueCOl;9;Sgzw)cv?)$62UZ_RD2b~{&j)@9Zx zldN`@Bee&RF6iagX;!IOEi{A)-32oDkG*G-fW1;#&c%9e6xTMX0amUm<*~K$*nMi( zHgMKZyV@dayeF;(a1^llM#I#qF&_qHl+24(2 z-Q^Ke+US_(?XnT}<(_qhl7bsqOL(dOAh5#E3?!yPrAmp|){BLub-8q$jRU;1IL{TW z^ejxc^d6nQ+NOMi5Rtm}_?Vaidx-!&a2cC#(K?t>7$lHlaxM3jsg;IU<{Np3Oe|)N zPe+sL5EnB9Tp)8{2`3jfQ+{={@+9jxX)lja(#=sHH5#H$mI*?GXop}Zw@}Sjs&+lq z2!Kq}z$$h@n;B1YEZyRL1xnIRUHohhd0)Y(mATn>kiYKpCD0fOQ=19lvk3eouhyE& zyjreD2({graSG$E2JDPAn$o*bFAq1hEPke2Ad8$R4~a(yIj39W0Sejf!5)Sa{EV8O zSoX;w)BCES`-CDD*Yvbr=uMOFh4ZleMw*zWrVx37k07UVe#bDs=UR?BQb2^6g<~!d1yD<^_kn`)k@2V()9}s^Sy(K4@NHz zAsj1|%GI|X`>$hm;9Io>oet_kJxGOhG;{l(vTGL(@dz_H%r7olTw2WY+fU8w<~-GK z{Kq^`v!>fDM;^&>u!<j%fSz8dWXu+S4DXd)Cl+xBCnP;BlemH#Brpi9`7({!4kwj__0)kewZt_sO)# zkk_3Toh5Onu>fSEY3b?e*|2M-2KUj0-Husb^Jxob8V_d^ABmj%;S#KxFyg^`+GpUq zac0!Q?JwMJ4;H6&7kDszlwv`e9?;Uzez^@XZ8`x951Tk|NAa~3*m!Df+Ftb81fDz_ zl6sXV*LZ6GHkOp?`5t=xzcK6mL;=qF`}y?8t*f|EgZQy|=SH5CxM|K&Z&4amM!DB0 zPBgk6lt}R}6h=v{T*I%|hzeh@hU^aptU53rc#3BcXM0pKlj$4kv0BPiHM>K4QuUUi zKS`9_0sKYQ7C#~ZrUs`~c_qM)Smc$8V{FZ=5iJRtgYuo0%!iwITbeRjG~{o~18!4C zU|^fjC=zIAM4HQZSe|p5Xs*|U^DKo*J%WPCqoY*6O0m&xT7YYMA^?Q7mkJ(oOJnX? zCKcpH#g9ix&ZV~BNYpE-^4+9eM;!)huy?FI5*fDR;}9$qGnq}~SuW(zL@A1vfuhN{ zoilkdE%88C+n367y&Ca+npRYgthZ>_NsA0r`Ap`yUNZS8BAcSk*<{IFTK-3=>*R=o zwLh{3*Z3&&U$~$rSLNeZcktTAh+xVK`p#BftMH1U^LK~Y-0zRDxz}H3bCS(-vn9!M zvo*zYbAsJ-v(4eTd0Cq0=EQW*&8@tsET^V)w-@|)z!z|FG2Cn}jZ#p*7kkLo%y6Yu zBXqWA>Xg=%Xalv!(0V`he+CwW?!`f_Ei$XKEt11$6Fz+B`N?-&P{b@*4Urj4*=HSn z3r%>>5TtHNa0XPZ!VT6f2@P*W&(;((&sM>Gfl@-l8ihqY^O2VIY(A25LM<^*_Z6ri znR7yU{MC{8dr@4m-YJUKl?g3vs#;ohG9+umCO6u$`i4yH=KixnOnAey*PC%>$okkq z<=5if0p6gKGp%mbh5at0F0}tr#Uh#rSah44^?2gec$_lpNuO-ii^jMlZg|%VdpPzO ziHBcJ>9SzZMp{pCL)mg8)H5kJB8Ti;@`V=Sn_tmF`M-Q^@NMJeMqbx)KC;3JDHCJA z!n33See%Rut}R{Z+#NR|Iz-}n7uTdK?Ym(khnuS~T{*lvxIe)`QyDbHF_}+Yh+HS` zq1v~g{yO%A)?ybHDgG@$>7e<$5Mh*C-Y7TXzv?WRmTHNaI! zd`y%)f33OBXzU1)It}I)HX1FSX<92LB!yF2J0!+Y-^4Cf9x^TLgkaf;vK1h9;3(ec zJF&dSD*k1hDj%z!EqQF`tQEZIb!aZopeN?fG%5LHZzPAH9-9y$> z|Ht*H{!eLU3S6WifwliUz@6GyOVcmG9G@v5?Wg>fQ=qwRQ(0LzH*G`1y2a4`Nm*wP zmFIF;5avVUDIX`lWx_?0xY^bqZt*bJ8eH^IZ$wWBC`Tbj1({B3^DY^0lQhcl**yo| zBl*BSFw9&)_Rb?Hbv#pD+&1&Xh!=9}V5!nl&J*%m z8Is2S4{>f{qbCdUk%C!slax@dZfCN6)7%>u{*s4+Jj`+^>r0tnU6njq*Do(I%|$}+ z>vPDZ4j0>8KwHaI{vNb8?+J1miR&B5azra!9a(!T3ix;2w}&(r9WSO1ik#!qAgkB0 zPB^ySs>h@2$}O|CO|Fgen&}I}WS`GG+fAb6xyxS58KsO|UOE|T5uOs|LPok>BXb$U zmi@9&Jd23f&JnT-x*|bn`fTKPD9A%7$PrZGe=~N^{OxD=h&0_$cthpyRzoBEP_i;SqaDwhggWA)>GIx1&I+cV z5&<)uZlE%%$~g=4xBg3Tc&bd`EIbS56aD#YF)*KZc27anGzgjWCz~Tv?e(#JWJiy9 zN%S|uRY0lelHMPv;g}u8oegD0AypW;tw>`7ah9}c&KcMorfMtQgO_bIMRG54sDe5Ve>oe8Avm{z^D&%|}MHd5yibbz|t zItw$>nN%E0(cX!w_m!I?41^`OnSNq>voMw+f_6m0LXb$=#?7LUOxqiK@_ zm-YHE9z#Z}6S4jZW)R#=;sxKscJAxrS%a0;OAQ&bd(O_zU~LI9KQ^+zLyIM#I}t0L zoXwvdU=?jSbG9V)p5+_vsl zS$nqOn*T{G7gcT(=;`_Bq?;*g4HZFM>qG6y zAj`y*-G;FSudn|1Xpiw{&JPaT_U}W>9>%1#2uYuc)}|^3cI-Hv6ssUYELI&RK_|%OvZZvrag#Q2q1-k(XC>w@aQED zJqQY#KOKiyzUMn(ZX&|#mKawal<3sNxwgybTq5JC9oMj%!t$KMSqFa7YDLMmjwNxG zF<2RlVJwBqLwg%3i3_SX^6cVzl?FtsaPoG8a)TpluG(>i#Fe>E8#R-jqH3OL- zW|I&l+hqo6g++HPRbrf|m$bg{>1yRDNSd6o_gX-$I(6N)U^xQ=_NA zD=m+z<+-fv+$UAD?_O@$<)Yrwy~QS#{j~3jUoAyn9He0AUM}N@Qp|>9oathQ#+Kb(J@Eox`k*4WqfcH8kf&5r}I7FIks+Z~W~01-Hn2^u^(kBpKR)ctIF|3hDBkN^PhOJYYMrC}QcpC^c_>|->N!FFIx6g+7IvU-J+U~= zF$Em5vvo^JR8cx-{3QFI*m30lXV=1^iE6eYMP1Fce`dIez_50X2Y1D19V666+WhGWPlvTT?1rV-@L~@ zfyiI#;UMfS=wT<%z`@WH8d!(+J%_eChqfDT7e*;zNNC`qabTU`M#(dQiZuX0GSp_B z$msc#m7~#6vh!Apc9fW@>}~)#E?gVK#i7^#M2r#Z{aq%S?z=I%tS&)?C(s-d_%4lx z@eXZrVT_DlKt|kx%1)8%3Uai$2VPI?m{b6tjD~dQfc!jTej4DVweeQtFhIWbsV$UNsoR zldy_dp!*`zP#5AfXJN?gT8kRza2)dcMi-L)js{MO-tW>9v=oLbut23#U>zYv9vW^r zuB}yzeU&0aqNCWI#{-g~V_N&oo=O-*EbyLd&E$F|hPs=C+W6Zzt>=ss72705t-%D7jlEqE_8=M?S4H{ELF73|Rr3y)A<&v2ivvBCqDN{H!#p7_X z@`ah|n{jp`N|~S=Y22c1F1Bvl+vJj;gzi&Ts-3@~su~Vz-{Y&@p=|z9*7M#&3Cf!& zh)D8mg3@U&vp*qknDvQYr18=&xpz`J^gkVWcFP;iVH5tPj_l9M8@!L}C(A2b>aNdu z&EWsIY|2izDTfM4uCXZx3(1Z=Llp&Ln`6aVoEv3(v&^x zTQs}t1LJ2Y*Yvg~w=F6;>4;e7Ez8T7`>Pik$Qp09Suq|{+m_40FIY}=-o!HH-nqg@ zmwcXn=aTo_Hm*4lIZt)zRyWOTH)>>`6-#!s^-y(^oot}+iL>q~?S4u;Uy&zBoF%vx zsW85TEn)VL4CNmNq9E=wgeA=0i1Qzrv6toyefa#lS;v}dHIx4oyK-J$4Q82fTXek3 zDgz1^9JhH|uVjJ4nR;tfRc$9psaH|sjj1>}J7H}*=}VSgQ;pSVbswHEbzOz2+rOCR zS{F~)sE|)M5qhLxbP6WU)lhEB5NBPY!OM@}N=z_XLgj#A9*Fup#2 zmNiZospntDP={rtAyKIXN5G4CeCx{U|4@-2FH=0TN$P2&Rq2G@a&#qpSZEIk?Xlx$ z&i+5a(E1%^`>P6IOR4Iy_NSA zp6kcdiZ``qN&elV+ql}@B;Ie`d9Cs#tfH>CL?vSuX;nOie-4`Ku_XIfK@%-d$$kjm zaluljGJP-R`FE3pN&foDJQ=@kvo}uA+?Vj@siDq41g}raD!@!FCz;>qF9r;L0`xeo zD=$1ML4IG9N^TjBuv7n6<}l-{g%6(vTZSLb<=auP60Vu$%_b_bvjvZNjsOMO2JDSn zFQ0}!+7boDmo?lHz^OWT5Ix^4tOa;Tza~46l_$|yn0Pt`+quinVO{l__y$uUTZcYrd1T4J*muUurgfZc z5c6_?k!hKmnpP?H?vi3V z8z;&h5fjqx+CjY~d*!*$0~+fayf=xnWveGtTQ5U$IQo%QNZu$q`WDfAnqO8JIagSa z14=mJx8zhGAbccpghg{B9=;}-+;^$WmQ+Dj2AA-|r}JNa0;`+8`96B63u_4mOG_kkMblc&;@|B7G zp1nfHyJCFV7P_7RWOt=w)7-CM)br4J|4F9Ygclv(D=8d@#pi^9T?chN_C#5j?B@`c zmpdIsEo+pxtB7pFyctLK$B&jmfU3#y?4U>bd4fYRUX@hV`<`%>dOievVZ$RU zl%hoIJu~(PWC?)3i9>QO-eT*Z#zd)YeKzOhx)SHoh&sMm-P^W4Fz7Mh=aWy6G8QCS z32Q>BrNyG?Vn=(h`L_y}YsmEyWJ*m1XHm=LN%E7h-kN_w-8>V&ta3*viz~%W-;>a% zOh_~$^rhr!mni?eQnX$2bLIiPqd7bPl?K>KntSrvLa!jO`JW7Y-_6)j?)GUjl_BmCi{_X1Vi<| zvv%x23)eE)nXy*sywa#P`dV%RJ7rRS3I;+{*6Q4NU~R5QmfYyBTMTUQujC$D z=vM2UEk`h_?C)7K4VCcllC|SfH@Q+#-R3eTCCY<~#QoJwE=90-4IH2eRKvuRrgbBz zwi^l@{4aCv#L5>XE-X&xnM7vJhccx7WoF9ia>H#BNZ7a|@l12AO`U4S|LL2<5}w{Mf*a{ZW! zj4#br&uefjL_?hqsIALqb9^Rgn9CK`DObK9<|2Cj#Y~H+=(ijSFFY*>S($1KjgCLC zmeAZMaO4;7?Lpo#h`g`AUpVw(BhmN=nb5|rG_03@i|@u)f~w;%bbX2~zlV!HMNM_D zeukHelC@zDd=QloW!4|A_ENUzhlO4rC7=Et^d`ApA`hh^-MU=w<#lp@CT3Q*mUVoc z3KVv)*1m4joClyn*lS1CSsO8e8-&PVjY|9;78JQP4?D{KjzqZ*DqbOQvSsA!FSQ7= zp5~`IMK%)KBe$MeiP9f|HmIYLy%;f{tsCm`@5e=o4L|IXYW2}&z0%yPqRme-mrPpi%WZ6ngaJ_^ zTlN?7dUYXR>PK1kUf&oDO-0l+0h3l#oDr#%f8Tyj>BDHi%VFc`tReBf+BBu)`@)Th z`9e+$KlUKYuFw|h+3=0_??4ssOB&J{&o!t^&smo!vq9UNsfW3kg5Aa)9?|HQo}sMt z#DAJSqL9AMdL}rom0R~`b>?sxS$MvVGR$3{TrH?udeJRvCnwpYGpu|u$rg97gJ217 zFQ-YK&-pfgBVP2qcbZ|T^reiYf+vJb(R>X8kwf2GrTiyCRw^!`_tj#UH7rI9Bljl3 ze3(t~TnBL#p>op=N~k+$IZ)!E`WWP>{PHS5?wTa3pGZ*%tETw*kCx)oy>rGU^G*x=B1xz{HOUTvRAB9Ml9BEe(-7={tibM z0ImDW$ohY-_MDI>kczbDN&RQ#ustADK-^maZ$6B#hI;Wv`nxMIWM8CUWDFmS%sQ=y}wNNRaN zbT;oZ{?K=#Ac}h5Uf-_MCrpJJf0Omd!+-b|xfG2uC;nCp&-)o%N83bE(C$bemL$g3 zn<>SNgIlAzs-u%cYwwSKsG5}c>W>aF!Oi-r#W1)>i$*Ff$}dn&$7BY%R@MW)VS=*r zi5SUjWSLoFBkS8M`^GG9{*cluHVs7@-6LfAW-hQ&Tx*9-?hsAB>_5iQw1*=Du$83} z<>iPhThyfOcK$a8;r`DU=7yT}fua00@k&s-4Mi}{WSc}O{dumBsN#^}%i-tYNMR{6f6<38hD;X^M8*i!$>Z`>%AeemaSE;{R?70L+{!EUD(1Fy}o8$&!qcPSW7qXaCVXHYL9ulLCulU;x&rZHB z&ILADckB%^EB|fvCmDAkGGl`6uqhWWFC4m5kY;?bQcO6`Rf-m`R4H0Hb*1Q$p<*IZ zZM~bsdsCKIrpt5w3kyg4#KTDJ)?1C8MMg_G&ulet)k};WOz>8)^83u2xU}_ic$vyT$tO!MNXXlP-O<`!A`+E7ZqX z|8cO0_dsi0?|%{a2&nEa%X8i8iM<@Bm%)GHRwFM1n*unm%UhuK9v+jaSvx72u@exR8{oH!zq5uC*Kl3=Jx-d^Tiar?*Sn4Y zo5eM4%8k=1)89Eh|JhtyOiQ$7Fq*Q&>2fG6-$!OIW!B4_{1@iy;ezK_K)w8#$8-Kd zWnL*rt{(k*c^lsmrLAnZbMbd%8h9mQh!RTMayDCI$iBvog>V?*IyqY9*mq-B0oDD% z0X`n{^V%_ZYaAsnM>F5Q<_g|reJ==7J_>78(>b`=;#;qmyAr>?TSGSpLE1W&tkhpW zmxptQgS2+5TdO>D{e%N2p0A;VhzV9VwN$wcqSW1YGv|pmdS=47S_&O6Nr;LbFNvI@ z6S6zofpRz(Ew$NlG*D(eQs(aXrbWk7Q$A2R@cia?wfP#0*tbAu0#z0=AK6};9)46G(eU_ zPEVp$wKFwb?+ao>@Zsn;u>P%sM--eY&WwGzhjF_(eiw;qIrD(wN3pw})*Dy?@=NkCTt+1su@RYS$ ze#L~j8^-z1RxVORJa6ZCn7E}#B=4J*E0r*u@Xd3cr{(@w?67_|o)4i3ScUVW-%5u~#g1YPstGNkqa-kfK5hulUUEe@V-P;3| z^!AJ7L&x+u_+aP`&ZwBTGvzA4d<#}eos8Y`vsQR`jPt|J-BC(b*|Te6k~zO*t(clo zu`w}fd&3BG#ai|}T>YkTZQtXpl3e{4H+6>fy<|rUPp=wTNaTCa`raJM*00SNib}tC;b47yhP%Pin}whI$sqzOV4*MbwcuaNlLx-Yck96pO5GB z;k}`90c@gfrt1zXZ97cLuK9|OB>&-}*Yu{zw`lxfk>wO?-92wsNv($` z+V!TEWgwZbZ?qnca6fC^=(guais39VXz)<1B!)+V#A?;3AxJ5>&lK}#Q0uq@*V*x0 zMCGC?t(+UZ+un8dVvsANUMOij-c!lHcq~nn5~pkiNlLDjbt#(`&AaL&JUlgu+U(n_ zMxiVCGVI!<7=fo|2UD%YAP6@|!&Zp?8D z27gee@A1%A6&mHY_^l09&hScb;>dPlo6sEuCtnd>-*z7W*=DXavYarE&JbA+wq(Z2gEl$^et+>8t6I@XPS+oXz$0;zZYx3x)$tsCRQ z+!H$L{ii-IOg&G|+wm07Zp-xmhUa9IxgxUfD4a9E^A;|0gBt!KWj_&W^{1N&G{n8o%j zlz}W@bBNMTlk3K+cQ24{gE2O!7R}izFzq&x6LznH(Z^IhYG+Jxtj3Y==rVqtrOh`d z&+@VJe8!@#kZ=2L#S<)R7bpZ6SL1850A4c0Oc@s=uz&umBFbHi^ck^5BwhNZh@x@A}BH-^I0ONVTEG$vS*4p8JvKi^eVf;=$Eys?*B+W4=v4z+c$$g(kSH|diz znKmZ3@1g$J_f!9?Xpcf(o_h`7PvQGB1R-tAMo4^vB7sQa#?y;)2be+22@sVL)^LuK9aL%MF$W%ca3GHMEjDto_y-h>bViMHsDTi*`#++}>- z7tZV-7_Qk=853X&P9tZCvi%#M`K>K$@V*v2vvrN38H_!<}k=hq^fU>rZAPJQ$% z8djO+(p2@ep^6(1UMQ?=|24L8fp8@1tFZC5=q?+m)5v%^hf?qUinMR*{~<2YM>j=q zWf%|27Ti;Rle0g=p{uUPE~R3%;(hG%0c214B@#LusfTrl^9j|YQ`X{2plf^P&9ers z{P*q~@&7?q__{l8OEC&)H;^`#JaPKvB5RLJz89xXfUz@+jI9GH%uN|yow6hejkw>x z)M=%vlI9l>5Fc~ePJx5qFr+D+BI1ccp*#=^Occp7o)FxT>{nrVU#2%o?tN5`hRlphdu|HEs(j{O|&8vp;t z(boq=QEvaAXJ&R;V1d~eV1-p?hfNVt7hH5#QDy;^l5_=1Qq)6yDBOe*Zm!Te?0r_ygf7X%=2=db3W&D zZrH3dZnS^y@L*wyHwqQTit-f&Q}=+mDHA4+?k>lALj6ipCYnyr1rV*4%7PQJYB*aTE`5gAdZvR)Lxkh@ z6+h$U_kuG)(Xl+lyDG{LyNa<5yU^}lir9>)CS2Al>!3Q5yPs6NsG_-P(}w_8zw^o- z-<1?0y@iFD+oM{L1&OOwhV0WcTwRgoN+xP+x-4Vtef4ps)9a-65q}rw# zqY_INGyNv*f$kkKGu+Yl|A1@Wv8hqshh}*9x)YQz zam})ZOol>fp@77Koc{0X|9YpR(H(td2>Y<=agYc53s|jiB+PlAjkNq4DAD+t_6)pF zhIgh!3k27VM6xl?^dV$iVr0kTvDWf%!DX6GH5UhU-ehWiBTX+b3CK5vClW^1Jd0sw zV^9pItkSB@m$Pg9DkpuF%>5k7eqdNwnNfI8wbcWsucb@%VE5zoI( z)?%)p1Qoll5OhTK6zy_g;9Kw=VW270cHG))UmC}jp$^2;8p2@+0GFI;a+ zQ9H8VV`CVKzx;Hcj$8a#exg&eBHa_Q`PYii13-v}e0cVZXC&Tux(lQvup9CYJ{ zS^(xK_Ww#XCUj1Q5#b1>xvJY1F_;57b;VjPXKRi+6SR+Q6(Yh5?SzXG<}+|s7bS4$ za>V@G)rcUcn>Y=peX{yQ$W%#G?6>PSjS^`7x4ZAe$8nMlt*mW{tU|Ym7A%O}z?*?G zLYWZ7`nqSUuEKNzAFyKC33}u`oKc|UJ=WHyMdabW@}ISl$R*{RipoM=C|f~KTA;s# z8r!y2uulAj;_09Za^}Vcm4N!YYAUQLMu@_Wr~lZn6}VbcssN@1oaU+`X#ZRIyr(eK z`{|_gEFYSQL1y^zH|}G%v=zU17X~Ci|HG{aTtvU4YhUDO+R%rp2!jbWB95sCc;{mY z4Uj}yLH?Y^*g|IP0F23n!zjc3#BNepgMA(7E z_Sr%G2Sh6rM&kL&WkVFoBvPR^QW zS)5&uvBg;*xj3y9*DO0JDE`ikDqY0xrxYP*=b@TqtLI5^t+L)Pyo?d{zKA&HM=QAT zW+*yR%3I>><95>BU}}?{WRj4Sh2Q_%SUfarxVs$((uZ)M*!hIn((yQ3ZI^Mvj*(*9(LZWWdgdhK zt6{jJilXr#yn*MBoRf$?!=A|d&a=4F^J%1>BI@t$Jl%W{~ka=9|($>dSvNR;p z!*h{D=46Fh*7^>+YMjV>yZy2YVOR<}Cd&lZISiNCax9*b24i^x)Nf=vI^HqiO{xzh z_lyU84ealJ2P@P5hiW~;Uo7*Ktng%JSWza_{URizNhzCPcerF)PFd@^pgWwTZ80#U z`FVDPd61>b3mhpDhb)D)74&#j@;jMS)?(Y09<#;0E*-T(rGVa!(}XB2rXQzUG!U$2 zhgz@r758Y-bco$UO~pkPHhU3i-9sS1f419&xSs4p+}+TSjxcE?I&k|?d_&gWgD>R3 zIfP|<5vLuG7hmKCX7U$}C6$6FDEqi`u6;-k`M&XYgkJ*(H{(E*KM>+aj6gO@#uwA@ zerO=LD8Ob!4y!HtfZG@Hz)8=P@ddV=&kUnEgCvWa0{N3jUl9^=($Ktgcmw<3*iHdA z9D{Bc+hE3{X;hvyAgo%o^$J z3K@I0R>25%CSf-Jm<+>HXdk`D@0{G2DHuWc>$O1s_}>KrWJRxvJM$|JQ^LeDZ0{G# zfUSq><*th&N=7#W`EKBWb;IIaKchgd`N$1%ucOtHjmsv6Niz0=>*6H6x$AlWF;Q*< zPR}Q>wc#?ykO}N}yG~$#MlkYTAyoZn0f;Vqw4<3>GF4=?4ytDZs`D|<(Dq93p1_{| zEFL|Dv6aWlUGwlk-p-_~t+RvxB6u<0&Qo|0t#VEb#LDo!pU&9 zlw+t3d&X$a$@GB?ZX}?qWlxsUdBOO)BjP=UF0e~l85sPRa4u0=WXdu;!Da6i#1gc) zQo^wtMABabU5enr)kPZGQf0j7xoU-b%RN(iU%=dm82smi6n4c}Fl46+jVSVEp*x9{ zZ4owb2=nVoZoj{T4IzUu?y(VEE#UYw*2Z~5r%ESqsd5r`5py-#us;!!u)~-R+3|7n z)5~Z3wb;Hd-NhTARGvN-v{{Ls8qqlX1g690M&xotwY4>Yk+sSUo>?{V0veI(Dqh>) zzT0)O9G!Ttc;}MR2T-IFu$ZKp7>5})V;r??PDHoSG$kF4hbYZ+*xqts{ny{$~yi%U=l%Q#6rTrcl;E=d4r_#_dI@N@AA`1Nktd zt`PmoiTlH1tb4gD_hy|8vWuYR?~YZ5!*LiOErJc0KeeH2+eq^QQ`Cx^%)`*InC^@* zY}=5aWK%1{Hy^=EvHlBI3K)!6l@DM-)*_Pw2L47RyukT0Iv#bpmPi?bM)IfKrY_$g z9~M7!;CjYn)_x4E8~eE!!C|vqL1mYsw*ho~jqr#?BefU}4`A3*v;bdBR2MvbukE%e z*UiLDuKbR{IN}qw3nYDG=oG(1T zf1C!Xrl^aOqqZ9%`GI2Y%Z}yH4W<(6aM?TdUTha$?NtL#mZg19qTfd(_MRJbOv@B5 zxGyJl?{ixO^qZ9*7wL}wWFTch@uVj2XvDJPPdfX=%BSG?R(`NRr5X6k2iws*{Qz15 zPQ01iv(9~y(rm(Rnjbw0&(P6{arh7w7o*b^i}oQ*=LyvB+MdJcZWsE0VG}({_ao13 z9bXh7Oe|J}yOBHO2NWlGx_n7SYzraf>kQxjQu`lD=u3X?neoy!~W0HTk?n5TG4;7E)Sca>mVn40y;)qT@^=l0WrEBDzef#~>F zClp3PmbR!EPdjr@^1*@71gzKdbx`m7(*ty!!*&#f`~CbRnpV zbn9sMRmk7rYJ3SJ1S3IW!8x`OWl^f){#}gpO;OQ)>CR34UMe{$1I=6Gg>VcbxdV?uW@55xMB z45nN5$HwIwVe!*4>c-(b_M9&EKLh3?7!a!~q~UY>YVY@3$36S~n=(OQ^=^mCyAF2T+bmuJ`WG69l!D-803!(-UHpCj__cfY4M`HR{0<)^<0=Ca1 zLG@D%rzvHBk#rOTXg3bZKd@pjhA+)n!Y^063)vI>Xdk(f6I`T0p2~dMcZ%{M6bA0cb^mAs|b}=1w<^uxSG$MQK-4t ztKC0*EFo?Jgx1hpz=OxXW`lklKisxpqFkpGRNVBg=EP+f`5E0A@$n z6wV7o5O4vI7Ick@!#X{VruFx*_kV&lvaNPpif*B>kfX&^j#02x3*+^LS#`Kps3h(? zCO3($W2Biwa~FbLxvnQF#yP)6O^ZLXyPHXFx-e03MHH?nuzwz0k1zEv zyfg-;pyy^(Xq=fi_X*F^`V}R>KY68|^=`tmU{m?{1u7=ALBl_O#k3U030HDuTpppn zr7+TA%%i~#8l$0d77mwnS8>MXp}j)W&1pu}>pznFgmH&65#qh8CN z>AIxG_!7aSuH#+)w-WIH`=91lf}GFu?*w&|JQ3&dOND?Gh~Zm9(P0eNbpwlt=MFy< z?B|Yhs8hu=)Zdg?7O|HqXJ&GqbN?NY;l~DVtT&3m@aTB`mw2yXYt>uFD2Wk4s;p$A z#tG#PX-hCm2k~7zFD*OX)&mt~P;(CS$L=AGxu21CYKb;+n1CnC{W6~9!`u8+&E%pK z@j;1~p8n>jf02swFQR(GL_k7{<`RVBB&0a!OPlfRzP=fmc;->G-u?NTJCtD9KT@A6 zmEs`|Pd&2lQQRFp8Rzo>?9atA1uXMz54yuC=1W<)eW%o)Lig)!tY1WHWH-*4e^C)2;swF@VJr`Ds| z^bHirUo(v{6Kp)cbaMfTd(_X%r=2UY(B3Mh_OqiXiT6E(^2Dd^fmZ>wP<7buY-1evN{pU!gpL9=6pZ;pP%)d>G&2xo18= zCoCg|sfrC6$RgRGES~~BgOv9{&ur;uJR=+@y`&K+$=2K)*->N|o-LWg`UhaFpK-1v zo^NyAbEI#F>tfJ#EdI4gd$x_4EB!V?f2LZE z-FyEM(CFYA)sFc$m_qPSR2pc8-J9bh6Kj4`C02mbKU?|$pMZT;-qiQFCh-lV6HR+B z*qk`WwY+qnU`We3?^ckUPt=yeD7LD;#t#A`*|Hs$B0y7fjbU%;Q>rd;*>1B0V{@fO zpYoq-s$>s8G@dX)!>g@pLlIya(7i;Q&0$&WHF(oxiGYz^0- z#*&zC@w+#&GQ`4pR3U{3!(I*MsgP64j4eSNvRHu^3IPGA8W*_8{;jy_3IcN@ipE() zcnUX1o<*y*&5Jr35$v5IQsl6|nQr*TkR9rutEeaJMmyXmgA$A~Pu8r(^EtfKO&)s) z|9a5?2(^T@S3nT{t0QYx;NE*;x0@6%!@nLHxolja((xuSi^FhPgN7drN?{+k+OA*2 zZU9D=#!+!pvrGRJd#UtEy6`mn-#%bU5aV8Q8b`=x6O_Ln_sa+Yew1WwQ+ey-GE$`8 z%RToI49wt9k$Nsy7UcYbCABk(gctZ$S;DsHYjxZ2ySTpp<*;(Iv79PPvePZ~yskq* zlAdI5Dc`tz>)Otwa3Pve6CCNy_p7=!2&(NezqNDo&I%wwzky7eq zyBb5CD_Svl-(|ERIq_dyV>9~X-AtqTsHb}>h{6pOK#y#VNKz=ZZAl7Je|w`VQF7l& zQba}c{a3E?nwl{3un9U1kKG=^7Ir`U&7Q7zUiV~gdOeL*&r4(TTo33$gVNjTNR-~a zVh)nV{4!*mM*(e{C0!o!+;eVNQ(~AQn|ESKJD{v6uYDD1j!vvE z4CY7H_d8Tx^D*SQ9bR8a7wwIkB-ci=F0d^)DVm|$P!l1&BfA%+og2R8SxLKP&Ky>% z#qt|wX@1Cl9hz6fUZ{YjC}SP8!}4}k+HVI#->tIcYI7|jg``nrI@PKr@5K&=Yws#R zx_`BFX8j1AJ&p@25p+96SYD!*o2Tmn!WL%f4H0|xI4&+Q3N zC|0_e4~E$F3R7fa9a&yGRfXHV(sT(QCq?$<#6q5RQ96bhygyUBxb zQ+3QJS+0+hpa67>3t+`?oYYk%Hzh)AB7J-rB z<&b5LmtHJ~+2cA9`CNJ+E~cGO(Vh7)V*=k}l|No`q9gO1|0`@K(Z_RO#+93esJ%2w z>jm`vdJ_vLSojb{LNg#Tw03f7hA~9#f#i<+Bs~erhsd)YKo;xB>{2pyx(8YYpE7TmYWLv0!wjh%Upk z0Plu6q0rmYL)4a^1F0gyTS#1jGeRE!b#s5BtU%4qFX>V^{~EQNJp|e}FsREt^s@d9 z6HQrN53=p{38#XV=3fdNOz0)$>s^na%*H_KH@a9u6&VZ`sxaykSC|KkX78om;G)H- z9NL+o)Ul0CE7Vk4rVx);vOs(fdM&gx=f}XoI9y4m$nXkbMx^xZE%Z>N#!qws{SfI4~CG0=5vwQ|P(_VJ=Z~Q}=HTm!k>M zTI4nRiZ|n_&oDxmVZ_{*$}cWdsvu#u@WeXAZH5xd9@@Umc$P}rBSv23aAn7>;K}pZ z(h;r_Vprlh!}dMQ^o@#&U@g>d*ie3-^p&qn$rmw$1>ky7$V7vUE(r&awlJiBmp>G*lf)`dZs53c&Dw1j^G)LPFK*#>t z8%*afo`3({Kn@t#gr;dK$iA&i*b&v)K8rH$CP}lDJ}V_$vBgThADctt+sB-1n6x^> zv31N$*4hBYo-<%|$#EV0Ip%8R9%?d#JvGKDO}pumS8@YbpWI+ny!E#GyVzURM9H1g z%xn5kmNgSh(Zn=WO(PQNX%V?Z=$d6Dd-4OE2mRZy0#1A?PonsDe^e%sUKX9=GeCNO ztX?NH;YTxp>13j%dJ3tSZ+v52b&6_=J7cH@FGA&LYC8hkY_!_}l`^hj-FP^#qhOZX zRMNy>tCy@^Kp|gC#~jGtXmf*pI#Lk)IVTIwCGAmJ>>R*lO(az+!juJgQa(zR@8hFny0U82S^lMQAvI8D|LtH)!cr`J`V zrP^WDXtZ>`_gqNir{+%t3j=KlAI09bKO~$&->zno3Q*PE<+_E+ty445EA-#Iai~9p z6Xb0#sjBRh{UNM~2oEtGij}IdDLthA1Q)YS$tt=xPpz?Ua5BQ#>W>lB@dr=(_vYwVtcJSbj5oGACoRFpFhJ#tFg`sqJIDB%jMV9BB6u{8UyOz2?$7_z9PQ7Z= zzeO7%*-)Q`jpuso;C@*S*gpDS;6ziC_84~{M3lKxvEDwq6F8CIUl?I|Sg!lDJVx7A zXwg=UKg?JjP|vMSf{rNyji`fO#5_F=6(vxe58|V&h_QbZ?dWtnt9_anbM-QshK%dk zkJBa%JEnF}_HWms!F@c8PN4bIYnwBQUFZqga%r&8A&2%V@Qe`Qbv(loj+O(D2C?Z9V8Z*cXc;Se^r{9&|r+pYu={IQWy0}OBccp!}GjZo=& zR}hTivk>QrjCh`cBRP(L)c;#RFLHtB8r z4R1|hvI*r>AV6p})ECFB^|kZiYdim9^F^0`IBcft?h)y5%RX)ZO7}NX5oGU4m%jL^ zO%|@*NxIKv3~W39M~O;Sma3V@RHrl^0l!%t?KcxsYNii8Gb+=Nl{|+-ZEMy_eh$@Y zR@634r({`AYt0@3l=CA7PvRhUKkI0YcKAYZ1vS6D6KV>83A!Oag`o*P{!}iVO2>{u zQ_^)D_Y1mhPkjFaE&xKag7}}V*U|Cke;AfILf}N?`9zcUR?x#}z;)sB>HN@i2|QY9 z=TA77Mi{%e*B;3UrnrCF#JlA9J&mA75~I3PGlS4Qvb;NwT_TColrUXbQrn#;;>L6n z+HugYI&m!36C;UpU}EPB^5can_J+c`T1QLAf55KO;+5xAZ*d#A`O>?OI7!|u6qR1@ ztl4})ek6vRPpp@7#~#UfQWafyimsV*9a=yJsg3w1B0k)g(fyJ9c9M@64;sY>{=g&S zu^LSRt8#h5mun^Ix|fMs<7J8)ab)|147NgT9PxZ&(@M!dF$=V9Mjg9Tr`$IdFnh3y zp826PRS?Gl?QIvqw-;~_C{@h;E>PMStm|w;ak)(?XG190p1e3D9w=3;QeT=JWBub} zjY_PZ19C|9#AfYQwY%a-l9`RH->CA}bvTQnB?=FthMaw#C}!?L=Pnw(Ha)s28IjVR zA2D7UL4UQpkx1$0j~MetX@(S0uxg9VQPS^bP_t%Kt&eF(klISC#n>#-(q*JRZ8|LE z%-g%w{i9l^=*SwxaXtTkfOx%c(MQDp`vZ}QN8_p=o0&^G%fjrP+Ig0x@}$+l*`3gO z1WM?vhvjfW7fKRd2~r;Vz)EnIc}Y0lgd=$-J7k_?2qnIyn~!1CiKb&DX++oww!8xe}*Jm~ItSM6IkCpSO{I@`S zmUW1_G*_h5^e!>u!g7kV?#H?egF~LRfQ)z$T9fCBk=Fk>u+9cC(yf6fVKmj8Al>k< zo34$STxUp%DF~xFPpM*#3CKxhSRch`*(LLln0z0g(OxIr8DtI6 z@8td%9Q%RFSx=Cg4SHjxUkA|}J4LV>SU|6Su36!E7Tpi#(Gqk_(+H>@F@w7piz&k5 z93te_O_7EM?Ga&m$Wp{e6a5BrWsKApq5WJ7S>71wPlRb{W2L@9Tp5nXO5KA-73(&t zu7z~reI7-1>7xvWEC?4SreofPbZ{BXdgF`d3cx?rP$@giB?$WrlPk_cC3V<22Jgys3`Zf)qAP8V1UV+@U@ZarnRz@|J3v-n$lvo`o|O@A z0avR@`YS%N;D3c~E#!BHB!Pjy56%632^g;(b}N&m7x1vRFcjK8kGs+YsB7ZHrzwvC zI<}&xY;A@Ct=HNNaOxk>N;mGB`K6E1pheKDsFkjAFoOi+e_YR9<{)!g2x!F;wLghj zrj_m=Y@X`c=pJ_-zUM~@J1v>v1^g5zom2;`^RJhn#2(% zp`qZSV;C=OoaYKMTQ5O2s5RLb*mSz|$FREU77|@-M8qWr>Szv@4osJ>FkV$`nc48> z-Cp(52`@%qxuX*6Uq)}7>R`V7$B`vSz@+?f z$aoC_iX&RWpxubKI)H*jXMAqW4C%Llq!7V(Z*v#XVHDaK(%*il zT^O%^((={5pB_e4A95gcWtEYNa>LNWqy7}LEvPV(x8ELX0n;#Q0Qu6}o}+FT75U{I ztg1RwvI!w)Jqo7xe#4qT`}yPr<@Dh91}ld_yt#LCxdiEphZTH$<1rRTp;2HdYNUtg z2Z%qC9u82b42tXxccFMHJ&x1+XuNO-*}Z(I@C)*q5l;oc2x`mO9gLORgD z!Sd=1h7P^_HIstOjwDk-hw_C;<3CusZzCZ4Cpgob*Nc@@sPZ0tHx){8aB`;_j*k)n zWsM1j0`!SssDv+WO_Gds>7STEGo5<|d)H3ONiNx&vsx|3*daG*t@w6I;@5XagCXYx zFdOj&@ zagj;<*Gz40eZ@|VFSC-`=v9n8 zm>h|8!SIfKflN5-+X~El)r0{A#(47ML*IB5@g7MkA6?*AeENCQKp+4Sygf(;6 zIPNaDI_@mDBEOhq(IGDub#3Zz%dFe}SY`!OID!}*y6ws`Ycv-fDh@5PqL>i+%pJK@ zekVv$;8G7G)%imsTNG1brH1o~QV8yPOf6WipqAZ>QE#0JKQ)Xp<$PSX9RUO^Dpu|2 za<-cA6lC75-i=0N*3rKt8Ml?ESZ$%1TeYKaCGSb}`A#>^5v;=q-ndNb66?WFlh8(- zU-f8rZ1K%?rFw`l(PMIaYGu-CP>ip<3Xn8Xw1Sn>6GX+f)p z{C~d7summZ>mI#}oxRLkv=JM$3#yTkhSJ<>rmpEc_?!Wvqvaa|lFzAf#Io%e5pf88I;8!F~6{0uoiV$tMB=Z<`t9A$xkY5xu z`ZVV{XWDZ#1ACeyQLu`0bdG3f!}U``5+4G?*g{a*AW{xJVRWP1e*C6 zl{F;^pkT?p$Z(@Cv4(=%xj1>I>nkHZC`J#bVo#9d$aeI!YaEs&_EPo{Fvab5FOlje zq0Tid1D{N&!@s^vs+>pP!z6IU0kzqXlrHJkcwIOpyS5PNWjsS)jtl*k<=E zk$%N&bcysci>jn_SA>95p;;jJcVT8B^uQvjj~1z`yU-1xdLWO-X1x)Y6qBhiSxq{Y z83KW_Tbey^ezOC~WW`XS0ewFyz(8zFHDQl*gJB59^4tY@-y=AiiMWhS&@(=gBv>=B z0cMBw2bB@s1tjIK zlhFAn-3l`MjBx!S$`!V@J4*U*OW(Y?tMh()w9dsPoGvc`n# z(vl_a>eg8j=S`5P=A-ArTwIxNvfhsB z*F~f#)Wu034vfrHc0Qu?JqP1q3V)blikt^p96JU$d=UrIDiR-Q8Q8~qN9NMm#YK?A zNjU>)e6iyw7W8%jl73?PKTIED`WVxv1)%+`0KEyW9xnilabg(cL~XI-G@kyie9-(G z(^r_zVY-0nd-RU}DIc)mp>81ci`xObsJ|<&zvdC_SLyApklG-jdWkS$3L(y%&9BqjckZLNE4Dk)3??3;x9jtmCWfW# zJUdx%hH4I~ha{CW{B7XiMdL!~|2>@!k>Cr$h;K1o$!Es4YQVO-izhAR546&5ZA&>e zQ?sb8udwek>$Q7xWO;QVU5DBVZbVQ?7mEnCV`3$R_VZ#l@-GVFQ^Z-K9HHWB@UVKAB>UedGEUWcQs zty4z}a%f&6*lq{%D`;@h*Pv(*wq_1nGqx8_z+E4p&uEKd3pNcGaUsjCr@bbb^Wp)& z9I&xCs_;`+ft5$jJjcs8da<}w(G!>_5kLDB<_+TcqAi$rmYy$q7V|;pdBbGIdB+Q2)f3*aM@#%O9WR5G zRO<2^uVRiDIQC(V7dT$W94`R8plAnJ9f!awzKIE2rQ=_M)lE`%Wn$jD`e`Q5JV3HEj*7VY<~K^9}GB)-tG5(Qt;=#`S=qrE>Ti( z3sI;VeJXeFV93I~(Sl?a*6BeJYg#>}rdcVgp13MZPvwfBm*;uBu zY@chhTE!_Xj(M18fnU7sEKiPgHfyz>^2;`2C&t#g^#u~UHN<;Jq^9ik6mrq8G54!q>-k-?snEk}wKG)m zhR!YRsOj5#G&AQgR|UOmMY4Az=&pJ#{LyqB7&9mxa8s_fE+I+k+!019zEC3rWt!Yl zD6bnd3{F&hwYsGaoguU~R-@aKsl8eSS&(U#N&iK@9Pb5#fvL!;Iw79HM*6uhKx@9t z3f6p$>3lD(`4%O!A9`u^#a_C|g+!|#$$RcMRIhHUP`7u+tMm#hH~U6eY4CW|mPCw; zCz&qP?GRiDys886RFTfbxy6+9*VV#hQ)4k@`tPom7gwWC=@w#-hq1r)9b15*88ShN z!uj)1AzQfFS5{R}k#YC={%G8En64dVo>DX&6J20tH4l3*`#j zJb?8yZU7we`9R{`dJB(`O5UUQcJ$>Mg{c+>v1NRl-eNi7m+!$LgZJVocm?05w@i0W zvt(fK7aT!&A8vZ4S*lp@;<&*3^_Fy)YT+%x{t$L5A|$aCZmK2SgvpLc#N^~qwLi_0 z&SK&)nJ@{M?3hGM&S@5-Yno+x+ce7_9Al1xdLQOE##G}NWAsn6WVON#1H@Sv zd^)2Wb9@}52XlN5V;kmptZxN-)Q3r~7bm zV~fLQ!eqiEV6tNpF*)&iALdzLP0z-ZgUOC5A5#IQLa@e*U@gXbbERPQVbrPkGO%*a zu}l6iSxb63p5wxIcVqHkYQt24`zm$!1}f_f z1!G*fK+$!GFywI0+JZz}hj6n`MS8HHG#CP*6z^XoxU_;o!c~yQOAbst)+a z|EELNlUeEuB_Mov0bvgYaI(qi9drXm6)-BpY&frQbwzDfK=IiokQPoX4W^WTVaCGL zcPkU^?G&!x%c3|NSACN^kXyJM%7kiWTrSb$K~kF@#y$McffA9c7MQ~veYH~)RQHiO zx34ICykZqb)bMAqGHxh+j0WR@r@Ic>@V)JB0)EmoeoObf4va|E??+OwB?Q#%$uIK~`|E2X<>irBAWwf$>Vh zT;+J1dzJ01W4f(2xcD?)+r3a5ygAWktqVDQNEgh{vFUOn8ZQ@&1QM*LE|loa8KKgler9fN3fA?<>=UGr#AX!|_O?$_h(z5Z62r^=b+kS= z>x`nO8j>i|A5V?aTab#IYH300ZyJt6^O@N5g`YB_SI{A7vwn8Q z37qJvMfoHZUli*4rzt#c9QC9O4b21;w34A&!{k(4;^aiIL&#QyChq=)Ft9keZjU-= zm&!YAsG21$zrAta-%G3D&x0Ba;^yD;7lcxG|4`qSc%^h#AZm04|ME3~i@sh+hkO3Q{o{BuQHW}aWmUxa8X5QunqH^-LG990 zsy0uL30X|~Ad|+c8)Cw;H)tHl9OHbPjDW_0F;_=m=G_2x3Y3$Sol`$ix*v|jH*Ktp zV-wpk7}rWQHNt^&H}P?_xQcCQc%1JEF!y8VAwSuQwN!^I;ZKl!W=asOZqTzaH6YM2 zoBq?kArI$Z$8tTRS)pgttMp7UDseaMB4}&IX8*7Amir9|Z^#DA)|lm%&q~tqEvp!v z1`Q-%t;`C(CLLe>Fak4@#?K7Jz}X_P^no=LefEVO+wsL7=L` zd15O?4KKX3yK2LDaUg&^we(dk(7sFM*O#rr(A(GbQ{_{?Kt*WvMWUP^!gjJZnzvK+ zL0p?SN(=>21&{iq2IJhE8=o#IHQxu_HQNTVq0cGfy1DG3>3J4^8ptTgOD`Fx*6Y3_Bzy z(S^ErFQsE*KGQL-WV~Y+T2S)Qne1s|qNg9Yt7GnSfsP^CrOYJF^XKc!RndiiR4d$H!uX6qysp3|5sob=47`3Jkny-|35 zX#4pJB%yhe-xILB2*`}(>F3tpQ>^NtM3InjJnByQq16iPbs^5Xq}*sehd?6WiLUw? z%`Gjke7VVxNkmBA;D^b6gj%Ohk$y)N1+-1kss21*nJ~q5H&_>?my4fM$v^`q0pY5K*iAs zROss4sGPc;KrM)FnUX-U&kQ`p6=_Q6Vn~trch2DsJSQ?bfl`NZ+rtv5=nDyyy&ms> zX_&C_!^q~fiHX3MBz}QV#<}?hQ_AM_nqa=T}oq#&JWFMWnt& z_weJ|VCd%ggA>^c*e;90fbsAy2+~dTHv9qVx_hUE&Du5SnKyEHT+HKE>A z1#JpOd=y6Bg?8WtA9C7?c$4ZKhR3%d;g<8TM@)1JJ=~HxK^_~nW>egpYt$L+dK>_u%FnlKoH*aL`qY!inIu) z_09dDqnJq1C?M4>i^4fn_X)WC&Zb$y#LskepP5zV%Xs!&P9}ep_F4=d1P~ckKMYz! zc-kA0UuP?#slqO8yzv>@9!x9$qi>m{NNJK=0F5+g+~uT)vW2pv~KJ z9UT#C3?Rm9yUNc#44eenN;#?Q(nQxc(BoVAbvLo4H_VK??Nm}xCygQWjCyu)@w*8)?Pm${E2gec?~;R`-llun_~(5`(&WJ2zB78MBV)te$zME z^ZW`g>MbI@1j9%W>6wKvfo{PQVhSi%nkK}IkrWEse)-JnbOpNj?Ld1)Wel8r76Yh= z)7oFNi&gB*?;D;_ujx^7VpaKSE-poX2$Jg1V*r@~T%K>RtY@)IkG#H}QoO=1q8iW) z^Pz!6R4nG&eF+DV{fC%wP zIq0f95rus=`!5)rU3=S`0Ck@QDV|Lp8w2-es^5{C)RpifUrszTBE-p{aQ`Pr9{n2S zd5n~n!Du9Ml0uz_lpg26oPA^UCBn}CIVZsgE$wF?Dhd~lGi-LsndTSrnefiDOwE17 zuTKJP!rLOCUl`?b{>Z`nq=bmczmhz}{7&5Ry#{4Lf(=bbZN%k8r;5ghT_^RFFpSfV zKB*WGMP-Gq23^~>2{w`1l0-Gw3MKXDdd)C>aVoEQx^{+94I zo;{pejrRBU*Ab~Wx8M%@^r7?8Ea%6soD+Ze_ej6h3ANg-sDL_UpLZw4kHKUo{mDN$EF-+095n)9(xH<^{-~_ zCmwrY)Lc)Pt6Z(!`yDD@?Gee=t41Lnr3fgv6o31u_r9pPdSfyo3Iu~Q9$V2?Ynjp>3*9LfqO4t z%BPb2q!b=XikCJLAur5+Rpx#w6Oo%2d>T^v4ejYyxSoQhFhv^A4)@aR1B0_n>K5Pl zDW~#*any#K9cOmLD>KH^(G#0M;fDk$j@gv8ew~QNZdxj#PQ@72P=W4iuS3PfB2ED( z0u=kSW<$e4$Pa_M*<|=BsE*uNz)9#pI}*ebxh^RFt@FAdKcL%hSB7xXfJVt@s?a03 z<><3ja6AKF^BJ`^$ZpF;N+s?+j6RPHB{9OpQS9;$;rlz#x~!Bm+WMVL17m*`2LVyx zVgJ{_P@`vqEle&t#(Oie5aSmtK7JNWr<4c@SfO%mr+QFMjmUF1;NCAglHw&6sdF>1%?5!c1JHPiCnP)rb00 zn_{tVVlX>{K+gW`e#;NarQ_({cok5qeqW7!rhEG4x7ezfQ=s+r^NrNl=^O{1S^9jq z=VjEWw1!M+^L>d5e_R;z6#?@ca4og-0!U`=gn^>6<85`wSJeNi2~7n3h_YsmoI27n9MH)%aQleaS}CghA+BpFyq)qy(6xgPNF9fYHV z4q{6(3|Q+~KslE%*$`6uHk)4gX}tN*EDA~dWNt!N?$BsEChk9m+KQeRjYHiaSsCIZ@@S`I7$gDm#{k9B9AJbB262x+yD4^W@di?3(Woi7TjQVS#eoW7g_nCq_Zn3CDpo+QE_txDpGEN zVq%gGNLRX|?IO*+FC{AEZc(gAM#a4$ka3IKMdM!ShJ{LnMe;qq-`_t!pU)p> zXXe>wX3jkG%z4gpo^xJD?U=zuKK|CS8DOI{Z-NFmd2(AWpN!19tW0KL9EPtD^`Zn~ zaD~rE38LxbqR6eSXXkN{9tXE_eo$Dn?ok}PiNO1A0$VMI4z&jG=*9f=rf?GC}Z9-2j zxDOj@XN$}k@8WVUQ1ZUO&K=mzYLebfQHfidgs3A=Kq*J#fG~jS zN&N=Q2=5T0F4O9oM@TOs#%wUKe;;v7hT$wnDZE+tNZk{lyu3nCRW%(Lpl)>Cpucu` zN53lb7VM(u6p!OtbcIZf9)6o$yJYGDgdS{u1~PZ^c!pC8u?79;Dn|M%qY8|;3U5Tb zPXIIT{coj_KePeliTucOE^4hF|8zt&aXfD(M-L2;8}e(h#G?RWyrzsU`Tn8CE_4b^ zpzkfX4t4eHqT!ad3nVsdwf{kj2jOZczwkxF0P$Bk0ofbJK>X>(hU?fXNd0w7f5U(d zF=Sr$6it*izKkwh|M9e6pA4&fe~+_q3@wUsgb)a=bYg`qL;=1S7JQYL8U|vFXpshc zj0t?5padj;^>4~}(??{%I_g&c)d ze=gYb*p$qTj`AH_2bPFO(cO9L!KLCo1T=q6CF>dx9w^@Q4_kcI{rlxKu1^d-!dvp-BG8F=FlaUJH7!W3G zT+jPl3sGRfsf~eP-MAPBItyf6Q}XE$wK^TN59C7Bnlg}K@K|LbSX`_5u_>j>0%_8F z;u#XLHVZUPhRD(pt&#W1|GlvcRD3zGleT=c1m{ea$#IFLBv@sdOoYt+xs;L``=KmG zl>-{HMnUPzquI&e>NRHRYCptXJKzS)ci`K&T1yy~tf>6qzzj$u2x@8!HbFXJdn_82 zszp;;IbJ_Ne_xM&Gc@WLG_vx4n|INvJ4fMoL=RCIldfE^JrQG_ zB&*`~XP|j-jB=yLeoj{il>VtLi%e~2a*1K*U@od1O0^`H=%R49VkeoBu*d6(Hj0OE zMD334mhuoYhewl%>jwKOZY@v5-oUt0<8y<%J~w z5Z!9XFlO|Tph{bljb`4y`Ijhp(zgx*~irDW_h|8kt=p;V8pTv&<(etoFe?3`52ZhlWxLMNj_vX~xAo zKZwZ~rkNmC^59N<`&zWlesp{EGiYzGl44n!pze&X$nquYXT`Gk`W`J<~5h5~W{Kha$ ztNLZ>ztNBKm?epOUx+Jmd8I{jz2m>~F|6u(#deLs2zpL$gqYPvfLJ|gUaMzAjj$sh zYf?q{2QQqiAHe_eD52_P{ea$*B-Y4C&#xJHfF=jhMo~T2N>^gXi9t*vK;K>-UTVXN zoL;1?5FByJ3eTLvV>Z+ZAqL@eEp#*JpNR$v=SlpMjU<{FiNQ@73A$EyoP&51n+_xZ zJMmM65qnBNg*FV$$LYzFs*muUUG*o4fMNH?gjDfQkL+<4J-WwvFVaR_+77C54HRwm zwieCzZdPL6TV)ntNQ@31&B9Uzx?EiDy-2E|d!zSCk>0Ck(GiB#!MS_4MP~=y=o%on z)iT#3AZXu)r{;SxNz1+yMfqMk2jT{xuFEC7FViMBqju&)50x4NcT8w`ds0S;nV6jN z7%w-^#T&0e6oSlZ-aE2jkHjW1KaQ1K@=pz10oeC%Y*OILn4{P2Sg8rq-{j}OWbh~s z`y8I>FN@A5$Ocuk(Q8B#wp}h+oQ?@ZAkmJfzkqs$@@j&P19vUymoEL2a~$bYq^mRk z5D<>`7zB%FQrqk$lxni*B#{pa`Wv$ycJxy%CP~LU%X_Gh9@0dxOn7?#faIA@xf-oY z?C1=SGY-+lnvRrGVqER+c)f{iCEuUt5lUwYodWKkB;DBVHqUaAerErGz2yPll#Bz< z%rXmQ_6$iTkwa1MrbG%KN`g=BIz}{v&cK&OB~om9@f{5rltMfXE(*t!McM*CV%7tDa5Pe7j_927LS z6017ia0eyY&>^-B5QoHuUMe-VcvC>49{IX8kHW7jz6QsH$g2O9S=v+oJ0@UyI5wd; z2&Gn{{GNCZs1r;O(T*;q9d9twSa1wWVVI~Dx)2+V+c5Q`GE^7hU-0Q{L{;$qf%DjW zJU9x3g(AZZkvtivRXKnfS+tlw@ybvw>m0sEd5-OJS;Vt5cM#xL7FZHR6Oa)H$$X2w zT~{8qfL*ILR7}L4n9-TzW@yi~Nr(}g>i$Df{un{E`!=2EL1l@h+CEHFn|~_&LP?KD z0IRBl36psHli9;dO_T*SCeJpeCv-Bb1s!U(8p;PDH&hkjIWV9GwK)Q{l_cz|M{bkS zoA_mFUJwoq9E#d~nt!TrViY{3ywrcA zK?D9rx#XFmOnUl5!5S*QhL1B?b9OPsr%kGKZCY0TPVu z2Nd#vx-Oeu5w_U4HQeTZlK3Bvqxa{j5_Rn2mfMeia$vv)9uK}!v|h7q%tJN~wZ}Zj z8N`7>$ibwu={^c|9ybpb%Cn^?GH$y~A&IpSbP(nliK;ROKv=_|P1GvHZL$>yvVuDU zG8@*b5HHI%i3TePaQ%!?63j^!?Qh^D>P0p9EBpU{U;Ll_JHP6PS`++FjX^?Isy8z|yPZpC#&l}s4WyG^3!TSn|E zK-1)B;Op9o+wZ}LS=tUKvyk$0xIE=6Dq8i*U2KY`_G<)L3F7Q(s(DP!w2vvJ#TzVw zQ{MkDJtSQhjF2@U+DFF(CyRSZq-dnFo7dC3c8A1w?G8m^k(5X(BsG!-DJ(u4mjmja zjm{3kF`(jpoA0$v+q@0**1?@SRjQq|&ivY@CEhP%Ai3#Vrt`tm1?UV>fD$*h$bbNm zlfoa_f@&$<7I@u=4u8Jg45DRW`tv3Xou_fE+lXb4Y>&ypenD`aTtP~7K;F7|cTInQ7 zhW0;V?gEc=uhX*?-BRViZnv=9UT1SP&tsvt8Y3Y0I{T|wkV6S#wT(*lI!l(aemU^y z@Z-VFq5nCJKaBGPJbDcfuohfLz{g4Ux)yRikc0aztjXXV{@PzX>DcSk0PddzUoE}Y zxlgv&smCpa^ewg5*@LtSDGo`7G*0$9KSg>Q=>XC*NDicnc#RK{>XCLJJ%Z%IYi)9c zs@W0vKT;@`|Gy|?1hPYry}%KeTosJGDUmnaQb^w_kT;}NNO4Fqr12o+4e4#914z#x zIgl;}B5z3bNIQ@oL2}`>lJNdf{}+nH^8XiUkvA>!ra|5^B9ON^$Qy1cq;JEKH>6ca zaY!20I~NY5ZSkS=PFH>7%`9Y~KLx$s&;-#~5%t7-Yw87@ygx^kLk3-f|X z`DTF}sD^O>*nC=u*sX=^m3TA{_jlrcHtsLdLilzq z3esb%nhNYYSWunBk1kdLs=q3LovVNwA!m7?p=b_H`FWpBOUzAYFh7=>GN*&i-1wFW z*mM)*2j#{e{S0I7B90cJ``DLwMuH-{aS+dN;Td0JQzKJ-GOp>!u+|ctZ8O1_H&G*| zQC>JGbK`3mLHY|G%aAj4)6f15_k(c%kQNey^5Ux@{3V+CC=xd#aVozYH^Fk= zcNN>VcL9F^Hy(sl;3 zf#P+OEzlf@Wi1cbe1TZjvewq7nq57PUEr;UY`$?6&TnPgd@`HN{4tijiPH8>+&*r% z`JPy9^IbsY_#<9oegVr0@3r{~aa)j#TTHQyQTeJpI2TxnW%qi;sKX zEHZhI;l!b9QeLNmV)>*}ilfH7@ijh4(G%XQ@ciJha-HfJ$jp+WI4_6gJr6Mm`UJVB z4q~p@-B?I=jA&Tfh(?t@rsAqR#t)Kgw|Mku$z8y`@Ey9+<84tEpQrccjGh9NTvt%~ zoe$pYdRGlC0qQSW)+EjD2}r#voq>DCaeWntDg{WsUjiu{mQ6}rQZ|`F=0{Onokx0e zC5R{~n7P30JLb;ty?{Ja<0Bk#1bEO_2GH4woLW^>h}`c+?xTS;ttv8l^~gJ+fMCX8 zQodmlu!zPhbfYumM>x|%395xz_)SEz7@^lbb_0=II<1!zal;KFhhfm0Saw1eBSW4MKNG{e|Gz-SFelF=ZV4~qM+L4W7 z(e4gFK30fz+Up7vwuc$XlTE~9eyMoXog~V|c=6ti@i~Fl**}$U^kT+7d=l`*A-|s$ zJ?;%E1YeK`X$1UG@>$W7-k@}FUtlqvoqH|T57H9fW;w2`8;S3;q9X5wqD|f)3-L+Q zNy9xX)Q33JF=q33YyBjtHzD|MHfm}|h_C%9@qs^kD>jyX@|;07Q*r`rR(v*2H8@b) zbP$35KymwSD?t4>6Iya{{`K>3IN~Wy?NFh~_!1W$UCVIMsQvm?wDyOB?vNoBM&wZO z2&=V(LH*|lM}4QEVz8m)Pcl;kJdykbl#2+&1qGurvD%`=r= zqBgySELR@FOr0D;<1OlsEeE^u6+AT66WJmm3J=+G92_NBrb$*JG0s38Jwh6}Yfxy5q%WeDi-9Jv@l7 zq6=Te2RKY~q(X|#mSdEtt9yaJgbg) zaqdfeP1w>@pF~~RCjl=!l!Etpq=Y#1xMH%Ng@bu)HmuW|=^W%M9h+L#i& zxeTdJn(<$J)ONV8_$y8UtFbR1!+w4N8M=y3Di;I9dmBm3Lz7`PWGxo?qOo7o$QX@` z%}2c51nl1mWN-ua`AIKNr-QF#I}DB83{SwZE*AT`0-3$jv%g0tj#%v7dhFdaGEUNo z&prbA8?bX%!OhSY#8&3M`%i?n&<$T$dE0fpP(IsYlCdFmjJ3Twf0aO@aE{6oCIAaZ@y2AQBlZ zCQy4fc5`UwKt~es(?ruQYc;AUFQxZO%W@5EV`zhJyO3(IU_*}+`3xi$_^EpNEjZQ& z;swqsUTvdA`MH1@02cs`r4x{yfG>Fg?$#1ffsGxEjjgDcQ|J(vCXtPcbmS&uHUiNNe<8kkTqQVJ?$)7-52Nr151rrd3JH+xH zn4S-9A(97=^%F6+9YUK4O*|yH9byVRWH~!HYAK~n$*4xP6-()IGHCZxVgY_N)%euJ zN~z-}n9`3>h)ZzL3mLqCFI<98D#0g}PBCecbQogdY`1j;#$H#FX`-}DlNiG^@je6S z-v8vFtN5Ut!%J?{x#%-9HhNuE3FlY%#zhcJ)l-O52WJsYlD5%7hMTJ&r#!Bp} zsZup9ry}Tn#pp_W@ie~OmDopVqa2coympgR!N}BlM#gl?o)~)df#mwM`oR2qUY*T3 zPuIyXoe5B_)Jp7C$LeKFE48A#sGwdJa_D2^z8kMDYmg~rbr4c7TeR-Brj%&D_N)$Y zy=Aybvpw?ScR^u5Jk{g@OmEy3B#CcKLOC8gal-J;Qoj|7Q(*dC@Ep-p7N0=aVAk$7 zKDNRu1qXlf zg0|I@uIv{|A$JutR4{!hsv~_V>{Qk+@SaJ;fR4P~{4z8hPQRr;4>k8dMJ$dmhKAXk zEv1e4?@uU=*K9JUV=Uqk?^4U^G3ft`Y|J)iDD#B&uj$2-@;t*R&8^k^T%M_VD`y!q zlB(RMeFHMv9uF2<{Rm^#8~&DnNqfc%;_%riu0c5o=xl4n_uG!Qt-BE*YJti7LVt3Z z^;@FI0vy$TVFA3UL@wT8%r7T;n&?KDtdoYFv(}w~qj{PyER;NV$^14~$p|E<*o_K> zv-U3UmZfdWl^&*l2_tSFf{>Pz-1To22chRA);Pb>BB&Sx^7m}`4UV&2E8hkwC5wC2Ax6k)q=ByV|j)8AVP6L z+Y<3!Kl{9rFaKOf7FXkw3hEk;L;PP%vkrVWLKbtlwg>v<{`48v&3^gPGORO-#iqxI z`f^>np?X=T19CR=b=@FlMzB-8=`!J6I_JUIw#M2xN#471;T%14Vj8ku92z9EfX@AuRJK*2#pnda3wN-1B4h?}Vq>2=5!jHQ-5UY95H80s(ob`N&y|TE=Yr)<0b2@vhZ;^6Y=BUf; ziKWEfGB&HO%=A*G3(Clf_B*~V^X!4ml!|Gl)Q!#HZ^Sy_k%_M(S2d*;0{qNUQug0$ zD>lZjxz8-5f)IBT?aBISnHIgE*F@0eXZ4FZdwc+$i#o1k0H}9o04aIdhUvI>j*~lK zZ0d8EH55HXlF)%=t29Bh0!B%I6%1RtbQ-0{F<=iApYAd;>;^_lXRb3GO)9gwb}q%3 ztfT}&8CS8Fx$126V7@}7z8{;aaGkelPB5MIeakzpDDYE$umz*YL2n9h{248@iRcf- zw;M&sxoAa4HH@~IeBS{JyMrB|wK-sAbAae^0JpV!=tupA=`3igit%zhw=afI|Gvz* zusb9ZT#NAG^XIp3a_Y<*)i~3r(guq0SoY4;jz!91*Q2r!-94lvlj^a_#~uQ|ZQ}|A z+&X=G_%+swD`PeH#dT|@DUD*9;*An9pqH%B2+rIta+}(71(9Xc=p|<2eU-Rq@XN^G z0)z+YUPj_iljqqJ8);GxY;C`dsfSn67l=*af^#su0pkAsVFP4b`Ed4drx0LW=|?Zs zJiJsBI=tE1|4F;M=NTf(i9UTnIWb=RFtcKh#+)4?I4P5radN@prysUG4ZMW23l_Pa zn47DVw-XL&lAEz(M|eR0!G|RoKf2Xg>}K_Gq7U!#W!Xw9@;x2K^?${+k=|z*9SL8A z!-ZFt+cnD^&)~=_4GY98k+@_PB|yaM9C`XLcp5o6QkjoVFYTHu^)@J82QB-rYVc77 z)q~G{g5L5~Q8-_0Fp;@?Kdk;9-D9~kQG%`{NUX$jui}*3`)7gWZ~a1R%p|J=%H?+= zS}Y{CHmz1pdmVcB@BG8WbwA1bEP74}RBy(!n$Y391eyltAn$mg$3LuC1!d=-=Fkbo zu0yz$ybq^q*~_^&tC4=L!#X(%aXp^aS@MEZ>2)8HmdU7w73yb4cFk>E(QlIYzlQSl zs$$0)PW52wf9^PTPPzX=wLj}*^y0p>_CFbp1R?^p$3~BDDj48K(W$;L&#;^7z5moo zR6(<`f0un4IW5(fy>FDS>mZ0`@6A%ZXC2LVeHtnL<$dN`8;^BL5QoPoK9j~(vrCHJ za6F5V6W7WhJfsZuGrZ=Az;k`kXi-w%6kuH=S{H?hm+eMT@nPY^YDg{9xLk11C>I|} z!%<1@g6jJ)nE6@Cb{q~HCjOOE&L2@hY3D0Y=QlK-$#JOuG0~S|wVT?AzJDS9On!jT zV4BK9twwR;16=hpd3(cG6h8E(J`&-tF5@&=)eobe{|im;Xz}zTB3jcko^?uXA*D8r z{NcJ3K{uAXf)8;R=~DDu@t1q&iW=)?Q0#KWi5KyL+&RcQsywR8r)GAp`wRu0if<`ccvvZ#K{09jug)qD!w?J^#q>`S`BcgjiHQhq1x1^$%TR=XrapKb-lt_LM zp2N_53O47XwrPk-g|Na@L|isQQCw@TJGQqh6$5%UHI7T7Ih217eV}0^MO0O1oan?G z_vy~MMGfGZCAxGY-#tv}ZbY(?^AjU3!PYZWp-${<7@24%IbZIICj-N zC?MKI6^;`Voy)ABk+f-Y*}thQ)q|LLe#|gc7dYv3q3FRfHN?k^d{8kaY1)tw?U6_0+72S3c*4}1V^&DEUnJ~-#+23aENW%UPg z-GS$f2DSDT*l>+*(P;V3OajUF&Op5<$wA`Y?3|*} z|0cf)Yq=B?4M$>_@Xg)0BHN8`TVLPlk`Uan&}>~btWgNgf2Gpwx%$B9;B=V#VrQ0& zJu$Hwu&kPgHJI-A^K@E0lulRvjDl?izEIa&^z;uPFt}=2QX%1J_GYJc9lkD#Dm1v$ zJov)8){?XY8vnAaA!#{m_WEz2?iZ|h+#^?pwji!0hhJX{7&dgKUqG}S;Ar=w$g2m} z`QI$s`VziG_$)c~AH9DL4Dq(TM4_wjBeQot7l{KuTldYGeroKk)8;T0{ZX4FR%`wjE+#+&A~JB2z4I}c$bJ!oF*pV&Ay$rzOVUF zla+!}u9Idg|76`Gd++I*1Ggqblyd#VbMR+rZ=~4f!;cFiF5Z_T6a|K4P%wSn^7J<_ zauagC(Rb*}UO1B?QaJb|A#vQ**nrNSJ&tCnDDAY?g_H!b=cb--L{`G^kvj}Zm(1mP zu56l+7Ne5)B!lBVFflOm`aBA!$$BBhPv-vkegZ>zjyXrA;(yY`lZT z%x)OOv_;=o`VLrT*jw*cg&3UK&U)e%U5Gw{=>#)`Gc;jQcaL;Mn5% z(a`t)6cFuwPF;Z5`+jDdVRuM_HU@OZn4p#~x*@03vL#q@rMFGAdR4t<<$pOcvVbBEEPXs(nKNq8rt| zxhQKSO#cuyu_uzx{MTAc*LF$g)SS>r7(uOiGB+fpBi~dGs=9KR^K3t`TSfw7Ohz@W zo|+tlexUnc`4U5X4rn*#z#+d(`~%*bkDqRg3|EjvORn%3G_{Tge}Y`R5B~wP;QSh0 z@IrWCe-aoApZvWe=;=#nzi2XN!OG=#P9~HCafRh#8XowuKIf$PU{ypOS%&`7(?DD# z#66AqcvZK##*~h#1ay(?M=*1gGQ3MB-qlG(CG;GNBZ^)i@_$M!jUmNg_~rLvn3un( z81&^!i!sGtF@nbV$s8<*WQ#%ND~6C74^!-n{rY#HwTUA@m4Nxb?^&p){_`HTWn%41 zp$U|9A+^{6=1cD-P_GSOF}D~+VFJatA5(k$pc>11B8UqK;?l$C$^W7%?t6$;-PK~mSE!q3W|sRh6bqZf`Z>O0(BJ%UchM)PSX+;xSD6!Inulx zTK~q>6{`EE0-xj%{>`4AOZ4))bBR+xriG!WDaFNue6+X|k1kPeKUDNFUDAhnWpm?ZG=_ZmE`Gv^Uf0(5KS+=IXOZC-ArmSy4~ z^Iq+%=+lqk$A;|pyqgW*zhC_kkD};AMOEUv2qp`Tf8*$Dx`bM`BZo(Bx>CB0u68dnxZLcdC_s0qn;VJK14%Bp=n|S=Orc;=I!(qOV*iU#qGYVx)^i+0f~~7`M8J^BW}Zo zR{v8r4kN%Ur=Ta7(X}{-W5su^=y_ilWU$hjkHZ>^{(3A{e8-ButPg(!||AJA_{_ppqJwZ*?p5|MoTnS=tU+T@m(l z@v=ATX_l+|%S!xue(9gXq(huxNjd^MrQ`a<5}a!=cZ&mf>G6Q0zTKD?G!#mEDMtB} zD*zKo?5O+b7rJXDIwh?}mwi-m&mcHcejtuueaTa>@k2b%KxHZ@&Rddsx9G#eVTxae z-$~hKw3)EK>OLdQlaumDGoa#EiHctny1G$C`H1jAZSv2=hfC2!#NYpP8n$cnf=&c8XV{>f=vx+=KPp zg%OD~pVrDI?xE5OLw}OX__RktLGh7~8?IXxfS@EMSjSW1g|od;674_Lf%Qb$>d&@>l=fDHN5qvuq9a`d4V{Yl zu1YX5AagMe8@ZnnPvZq|-EQdHk`~5$oR!k@=hQ;yo;w8123D|s7K$T+q4BKu=$#b; z9_)j7Vg^u!&vTU_h0oJ%o$eZ1d>OAYa+}|(jK~PE7osB8e96X$2hO^`6P;Bk8!xK> z&8N;*M!apS*Fakd>o2CFO*O#p#xqkvlFs-|$j~q&?!W?nX96bV$=-}7HswM_n?xMX z1w(moE=0%Y!jn&7mF~^CxMDZTY?X)wc!&sasw(b?@VJ_ha3cZ?}Xl8ogb=S0*odEo*}UN_BrIeYT%J9?U|`HcFx6G$#sQ)z>V} zJF|Gn_K@Nag`JCM4~OB%?}&?a`ZDfiYSm@9I?}yfaE?)id1r_30cE;qSv0qpGP?xn>DZ;_@HiiS5gGvCD(strLfE zPk2OdwpB~@Jl`f+c;%65nD^i{8YP7qSAwti*mUm6De0qx5T!WE3>53pelDL%Y7kR7n zO-n0k19}S_yQT4s=Ph5*40_g{UA;oAvRO#%zIRI~zAaU(QNUUoqBJ%Xo~y)ASPDgi zCkf-Ql@az%Fz8l*T-ph2TbYvGR@bDmw`&s{2O(iMcX4K-Nm>JO-S!&P$j|^d5s?1` zKE6LK9lCB)!T>v;9TZycEfEHO7xIH={s_ZK%tR#9 zHmbQf5gC@!UjzyT8Gj3A-o(j`zG*g>+HUP$DmZU0MZcC2d5|hCgQ7Y~wI)qmf;YR= zuMAHadRfq;dV2C7P*?mzVho>TGA^_)a{xaVYqZa3u1v@eF2mm5oF>M+D-SX>X6L>b zUon#z#J2GeN1-;VR%47#QhH`kb|{|m6>b-yJe$f4!r?8V8%HWRJ_?<#Tb;E zGrf=?figK15BUF#_Q9%6+fw0t%D%z?A`i6;L*2wd_be5)`4gN3pRfIzDUwGd)MJkN zNmlyP$}& zFB4zDM`b&j%PglQA{r$sn?N8Lf5Q{{u=+w263=$@$#AJah5Okhc-2}|H!|dGWrdu7 zhY@`aP`jHUdJ&qj^E=Aqwni*;fa=b19$uR9k8YTcN^4n3H_Z$ukfBgash6$#|Hob?%-3Xg`k46V`qiR|vMU)f%l4gSj=7HwqHak{%r4=##3D@*|M{ zrr1#h>#B`E=)jgLj}(<1rVwr$<9=8frUPh|$Ns@GCg^eMsez&Zrh3BAFV+~H;wjQSVzsyCc6rE+7ZH~ zeKZVApG(}Zr#VWz+Kws6JU_7SGP?U75S;BT3u8ViH&KjS7F1%A)XDN!WW{*HZ}&>{ zS2Bg~!puC;vw%Mzx4Y$3HB;|T5zpf#;2w=kns+V#ZhUM{ibj@|e~;kA6kF}>{W3>J zs@T@9^HCZZ-S){dC)#h#9{#R%^PP-NWr3h@vaX4Scsb8R1IQugltDo}alyqqwt>H~dcdn!@(PtPwC!o}y28{IX1 zV^Y6{>!-%`hLUhcxUt{t2&ZzIN+1GrfT3MS&Xh-DI2WA*L=(Ziw`lCgzr7O@xz=-75#wyvXigBac3 z%1Qkt4w8d@Tg*0nE}s()j{-Nj_7RoY}ZtZ5i&vwh7Ug2o5`yjY^%R0|% zyD81gJM5uOSK@O95frLLsJl@J2*iS*Go$4g7e#x?OG&-9TU)6kf9c;s7*}*`#-jc$ z`X&S>V!$~F`EoBH}$<`jEE@#>QpRMtU-y1_7=2yFP7ECzaD!|P{e z4_~W=;Pt(W#VWQIBHXnQv%eM?%{H7?`cVO$XHeo^@8VjRv#S==&(&hc3I%y+%9ht| z=U~YYMQUK3HA!qzO*}2>ry~AX3+7E{($Vmqh0ZD9c^*bmUAuMjU`;3yflgBwp zP}$Cyz3EA`JO6E{JA(_Rg5$A=P^Wq}ZWL6V&4#(F&-6r|azk&BXh#+sR}AZ@&hhZQ za%rW06`JoZL7gROWw=88dFp%fu7#GQ^-J2I?xrP)br<8{F|UCb;?J}tz3|o|=?c++mttduFVH38Y*U~(LqmEJ>9wr)E5uRh*j0Vk$({;hJJBRrrWK-Y@y5$i z@Udr7e^}@4Izjo+o>~(;{U71fNlfU1HpHwX$VfVM7XR_0WY=~D4^70~yKra%tyJo^ z;>8xpbc!G2^%hT&Pw*i*23Len*nK{{aSM7AjPf2lvlE`MPX&uyXgfS{5U(qM>o%_F zCt^*LG@}*gVipo-m~SD5f1c*4{`K=wkfnx*|2RE+_^`rC!*TYq_L@pIU6K7E-s9`k z50zi#EVMACZ`aL@o_3|GrK$r>CdqKNan@wrtb3?@}jH?S7 z592(0iYmBBv;6Nb6r+fFFL63$g3NV<%`Bdjn(={n6SPO7&!pOd;gGbv^te^0;!~3h z>*G@|LY`HfpLZeOj;55Xwy}LM@hm&-XpD8m2-Yj=6RYrz;w`OOI%aXhl68@0yP#pD zVapL>D|&Gx&gE*L@;-d(Tf5R;8=;8YkN#3P!*GvBBnmqXqv(ehJDtpLiR0(@kvPiQ zM+}=z&rnZ}pT;g>ouOXPg^LB)JbHc!@?RanZ}|f1>N*o)Jv~dJwMAeUJ2izE zKV9h7J>Uwx58yiSKq?qpLI+)W{2OxBZeQnZL=}zd;lqX*>{aq}Nsdp$H zdXk+|6CB8k+f_sT(Mq=toLMUI*923uTId57tY2Ds$*nTwLc<)CYz?(Qc*<6$6200h zWb7JyqMULB;}>>RI}xoz+jA`r>POe`x5m)hzm-UaWR)hh_yQI_mMO95PN0JK33g;H zcI4fUVJKrUQ=&bw%rtv=Mz@garEF&G##X5+aafXMbv@?ZWx-123^9V<6=Q@*lM$4- z)ih;-UeI6x9w?)Y(3FOg_SzLxXa$bN{Lhlw?T56G!OS ztWz1%fkYGl4Pjy?vL(Gear@0!>{%5M`PWL)&O}^6o%rr_xFHKilQWEliD_8v7c}@? zmIwpC%uCqonu9O3Ii>y2>N))JNzk2mDFJ7xmOp1buwlo+m3EYf($>@k$~lvhmB*0x4wP;c_6>pH z8~8mdRie6B6cXYMx0>Jjz2#REn7!evjxPmG`B&Wefby>bgn-bDMbh{bk{f1#-}5d4 zGYImBAxFi|PyND)BG!_SJHKfP4c^vRjd?aOXCqX9!2R?=+Y8F@LX7PKVeSRAjul8n z1te~`0K!+RB7es@xMY2Kj5yfV9}0zU%>BI0|B<9slg%%Kx~b`S)-TM7kR{M6e%xR< z*Otobhh)NjmAN5c8z;WshWSips={qOD-NQjxnv0HG|-$*yf@aNaPxlK_aPa6uc>Qx z&hf5U-SM1d#yzaRRuL_)fcU1i67y-d2ElP*f)g9s5^8xLGM2fFNqB$m-{*U_yR9AP z1H|oUk7`@!=-MMsi|Q!=owoEqc&Y&xp(kT+26QLydwmelSL{dv+k(O<0+?aFgvG&e^6Hx3;xO(1vmd$_(Pu z`1hIA?J=jAVH&}2s`ue5_yZCb8e6%vxh^WAd_l;CWnk8RMw9$w8-%O+eL9KX_q>TOT}(_Yy}!Zxst`Py0((V6{8ViB%a&; zL)>>i>axhZ0bDlHGn>Pe&Mo|C5FHrVwhP5Y}m<)WcI{ZyW!kPOQ@8) zTPoM&FT*#}cxYlL_v&Pego0H#;aGUbT%>&`59~FO;&P6+0OLEfhJ7-o=ypw%k*-R>L$7rMb^ttUYeYZFsNHWRbLSix94PAqEe{- z>?N(Z>m;u3s9QfkZx9GBImn>0*KMBoP>}zK8YzC&ZhOw9Z2k41?s3x^6jp@!r zlh^8#T1JyJ`M$FzLbRQ%jmk&Mo^!ZO8)2y2}I*Sfss=@eLfq9H3C%&~3WmW2bRl0PtkwL$!s*v_w%usN~4;K**@&iNZ`4O7- z&r+FWW#L_7L?#KeM(cgY^B~=!6H5fX8C@F_X!hIc2r%wW#S6&M5w9vl6oBuVrH|Jy zCwT#@W+lfzs|CB}#Qog7+7KX~})H_x>Dy22E>gfTTJuTyXt(hV2O`stJ2fo~> zc90^NfEyTvCGq%0==~lQ-nfMGmcOIRGS**} zo%iNDIr69#8K1a0~Il(tkz<#~*%utA-1_#K?`(M_5_G$r&zi3i`ASx8Oa?ZSjY z_=iPqXiUo6_3(e=F_^h9GB9hYB=geTUhPy{?8R=ThZtYFUm@;zC+8FPOj)e{xp^8cI@!jxDd8WH^Ek>J6cHPh$RTc%P%IFNH zWz}1Zq- zbN5j}vG#MB zHBJgEjS|lmTRWi(!Pbc3fR>*uS1_=LtiJzK6tE;@YB#tTVcDlpcNzQbC_O3RiWEL5 zdeJEac(!cCRjg4g_pW!SCxd;XJmcI&vei=x=pmg!=*C#%tW-mtmwKQk7&N^YK~@|) z84@e!(~=c@+FUK4wnWEcY8gK5SuWh%!G)P)tk>}s<`{oA@B#I^Y$OD7{QuDdrF+ii z-zCp3*^Wt9w;Nn^`F2`U<92r8vPs8cA*y(B-!=ncOAJMet`N9YB;&ixP-k{1|D1d848t(Mod;lm5$;?D9Eos%5eFr? zJeZhN<3NSU<^YpXur(+p7ONMeV$)i#ppsG!N`*u%ZP+r!=BQNc#&=_p_RDT;jpVkJ z)Q(CCh4TCOef|EJ$9wNN=bn2WJ`eBD`y>54&*oZ0htsaiOPA{3(ygDs?AFqgSi)Yc z{clKxggh)iV1(jWhBUYuas9anqFZH!d?7=svO=vBQ^_D#o0SFb6q4Ea;;~QjHMkBh zzT&8B(v-t139Xc;?;UVuNdN6cEXq$y=CAqp{;Z<}&Li_e64OHXt{-hs4m}xC(OaFL z83X+AgPY?dDiAl^E0kj^2IK4|RzT+W1dC3{@`L9r`qA1rZSuOeiiVvLxUOlFi-v_J zIeK@l%Nj`HXhs9MJ>#va{rX<(J%DRdCSF$q0o7}mg=PRV&>X>Ml!?#Ih|ey*C&)X% z>6#^H*57%Od{ITNQiV{P(;eh3M6_0X0o3xL^P+a9l;Y2Y;2RfQ_owYXOj%EgdWbp< z*L?&obzzCkshTbyr~^K*&8(2zW`TNZDQb)ok)W^SYm{0h=eWij12cG`nr_|G@*@tn z(^qkmemg)ZPX1Q5(N$-f31*<7y<-Ah}~ge88&9exG9(c zzK%aoE978Dwje8nsvFLNh!Ife8J+4|iqh{J$D$IjjQB~U37EGd@g*U4NC?E~Y03@- z(7i$`I+{0%=MJM8q1N`D=cl~Lkf*TE>v-315|9xQNZH}_XV`y%;U-8RmWg%wlen$qYK=4a5BiFB2H&W@@&qYx>;6aCRe9XadvZ#a2N{rQx9(7Zb zZey^fxv7{vI1Y;=dw4`DT~)zXXjNne)J1BLNjn`dMi=V!s6mC^)VHu+_ly>^8(@&`J#7kD4Zg;40yc$a zrr}8=2eaD zF@hP{9%Cs1xW@4Y4`4PDincV4gO8RlA($f`Q@GOy;2l9dNJRBuyiYx7pVEj2LO;5A zvMGi@+#vDidRe^6PrUIEKZw-t-gp5&=MW1|r`!}MS{$DTXjPD5fX;i+)@%*V?L-~L zqo`|q&f&w&!~LvDgrZ>DMuiMF3k3VgLga=PDzKWad4_N}52-W=#Fc~yml9A0SE?%m zesyCu0s)@E5GQq96`=}VqRdfD>q|*!deV@FdyUg^2vz&mbuZyAQWKc%{u9iHdYVj7 z0hE`b6neqSaDtb{Z9~3MxIi%i^2iEVj{sxfuC*B|?5ONBIt3|8A z5gj*X#H1faScXh&kk!$r3NjdRECu8zDae%ZjpH&L)30G)oWX39XRSVsZulhIT>8)o z1x!M7B}Ns~%&nEAq6txtfkhL=eyd32I52HaII>vMCNij-e}^*i0FdDkmKi=-!5pLU zb`Cs>No*dgGTM5=+1~8WVQ7|BOm$PuiU8@tK_NIXTNMMD<#=jJ2vN`i)*`wu1{mad zbmE`6Dq$fHA2TANPEDaroZOp>k4J~FIhQF;nnnfsy-=)PfPvg>Qz8f(DJigk^wOTU#T? zg+rZQ&m_`~b#m~yiR)RYr`(7)K*!3lmUXzGW?-bE6Ng?Scw9j2{>@4dHJEP8g1P8g z*ffS@ak3^fIT#TE)RdAGnzH5u27PDcj6$th5%`wnx)D=$_GqJG=oP!~YA*N-2QA+j zmAdaO9q)bZnREt{q`k;5^DgT(ya}c^(-@tQ?Mz%NIyFZQS|L@&^??U++ z@Xppda~5-I70lp*C8%~I7aRc0_LGBXbyEsxoax}b#jbUHF{swmpejbOG^P@(0$@U% znfSy{fb>5s0_Jhr2ok?{O*_py9XPi}gLq0cnqCgbH}^)Opba)eP}wEwCjZxLbL)`X zB|7#Yw5Ii5{@ECVDiCrgQpjox6S5AYymAQT$(<SW>FmgmobB8K!PefdFj_FPQf4TlH#u~-#NSsl@ z)CO*Y_dp2iAAZe(dyZI|G)?B>(ZFsvzUsH^Ur0v9V zUloZ3yt&vP2S`7GCWlrB3%RPZiq?QU3uPv+aiTG18+MtIX^bIOjMm66SsYTx0&zvF{39OH9b4TGi+;Mj> zQaLZcfdleO+IVkv4n^wz*Me;NToR1@DC!|ME3(Rw9 zDJcg>kcY6_DxErI)`$aDh@?KXbff`<>v(11uZ5q_rAecvf@oBU`Y0i~I_ubMtoVxw zx9`0|n;v}Sy}sS?9Q`>}MIE!!@8sIR+lP);zBH-luCBcI(qn`fm%?G1fWuA38Gm8)TaLHyxdP$;lh( zs7rCAbmhJYt5k=#ZN$)tyvLj?A)9C)%qFdMkBN>4@UGwKr)ke9Oui)i5z84hh)509 zE?`eKL;$-Amw)XvlS+Et+%U3A+Ui1+QMC*B+*AHL4h|r6W*wH$QI!@ko(&F5rqp37 zx&ehG{&m#`#vYGzJwg>ES&=d3PF%moeK*yc`xulsz2$2J@7#G2Wk9bLs7><>t|3>b z&yT`^Ck}#m&p{^*184pM{pXZV)Or zqPqp8pYe|tn8q5dB{Zzsi>Bf;e^uNEeiUlM&P70 zurc69BNQ4mQi$|r&r(!3X5YzgsraY?60> zl&?*0qzXT#%53b|tjzv<{M)5dYtV#1N^&qgK#7>m3SBrD>q7a9#1bm}m=_UpDF_08 z6L5;?1hvzt#~S5}YN`%Ryc)jom$Kj5FXFi8>)9@fWElewW#uzMa}at*uc#9+=V&f& zDwUX83U|D$awqA{N4={Yb5G==`o@7)kE!EPOD@MNikPI?;6mmxeyk~`A{{MB{l|r` z@jaWdSK?yCln6GJ=~w|{EYF-XaiUMH|H+%G@`O04Y9-fy%?t;NR!BQ>%--MQizSPR8ri%`NX6Bt4t>rW zNy~l;h`rHM}(f?d`*o~Q@KmHWj*`L|`n)CFfoov4C1zNX;>L9oc`@)4T zC%di8Yp0q4L9HA30SeI!?%jZW5VD%_NzjEt78K!m0^JMebDeL)?*21Py|8;4bJf#^ z5833>V18GaE;()Q8W?2wx_eTn;uKu#xfDu3fj*`?*v{eV9*>EAp=nrN%c*=ZFoF4+ zwgV%^I5RtfnK?qW2O}TtlVdVBN&x<4o*nw-+Amv!+3!jdSb0MWw^V{bLQVoqWw{YM zV^u=kH|o}wPc0om2*2ZhSXS_=U`Cuu)mEZ^`6FyVBz=$2(Puh%MT_?C zrTk#2eF_-^0{yRmNGWPKq+dysC=_lyk4xKFM5p3l0L#iPXrnKzsEP`Nmg8{_r7{Xd zKHf>PD%RY&a6*d|kupVQm6|)Tj}wR@itR59OUqF~e|YOT1g=#Aq|=z!#k0o=-fc|m z4kj#jCl(}j!lj=yKUc+){s*i$FH~V#XX%xbUC*N=l7a?9SvTCyDGc{xYz2F39fUg#< zn2%-x9d@aUfc`apWN|278;+BgvyuKHlq+#m_%UC5l^4vw)OhWW;UxHTkz2qkb~1!z zI_Hclr9O&P4zN_|2Ow%;Dop#~flbH2rNn(~>+On+U2d za>EC1)K)%XK{CLVh)cA*7s3586lydHDx_3vpo;T~bj5j#Pi#I}n6UrfD6&r0gXu7^ zaaWZF!JCh_PzfaDECwK<6ueM@5-DY{tFLO_K(Vg}i%}SZdf&h~^ct=&NOINtZ>Owx zJ)p#PAVfFbL4bP{+{<88i!ruE@8XDYCYT95q1MFKL}(bh&d#86u+JRsuy4K)ufUub zC3>FFCQfeAY7Bk94YKKYEQ3)rB#hy@I8cTU>bTjk!*4BV!s%RzMtzD6caE1U$T6d3 zbs*x#(!jHL!%Aoxe*;YtauCO77|m2lMwd< zVRuyh&VsXI20%n&TwRpMz*w4X1xR@ueawmdPq6<@D8-7{?@j~SCf?8Udgd@qhp#pZ zm{?6b)?3SV`NIPWB$ppS-Vq;o#{HE4Dwxh56|MzkHj`uDpTkajpYk3arF`MR;yBLa z{Z)g253-Mi$uTJam9Z9k%(y6`_Iey3$s?{oCAnFpM{5LjI;Ydu&FSI(jj!%uXK zpU6|RXs23PO%(v0>LCRPpHkwxhH-{5MIaN7iX?nL%sg`eTxv`ylIbxHkz4^gP|%=c zsIjhQ8{Jm$X)UNk3WXI~RPjWak79o`54vsIV>%oVuFw-Zv$V&)LvFBK)fnxo#BM;i z!KPds(!-cmKE(`#GGoT8W=Uxgd$M+&(5PZ()fGxo{n) zlo*`5B3CBth7_idMyUls!wHXdILd&nbZ&Ix);mB6UYy;-`(X5lP>3Alvl<1EmB>6o zv}wMpONP4@Q`aC{!wg0cJ(EqDGY3y>ZUixt8~z1DC+A+f6ukX2+;W~=D!GosHFRWc z8ul}5v%J2++Z`gDWx!e%#Li7MK=)Tr_?^(Z!Rt}o4k^zDBJlZ~ITzyf|C3(u|1*EV zhQHBJa-|$kX{3-&t2fB|ty6D2x2ZJLeF9IM{%5`~gWZoypB@DNXU{u)pR$h*M;HTV ze9>%hfBdZ~%OGuUZ;(yRbHt<6`sN-Ccb_0cac_1>nB>Ap$qe>GbMirQ0RJoj8h`LFWU6A zM4ve~_lD)eP2NB>X@IMgm6j5*sN)}oV0Bz3f77EBj5yPK6r?`!*SPQd028or>lV#3 zSBW|EWgL?i))gW}6PMYvq=Rb|CJ{XH#Y6TBUr@;0M>mdl6h#VpT(?|W_0#OMAb6wb z(IBVbeehFSDtHn6n+i@-M7c;8pI!%=s8TBJ;?i;MMD1xzT(XwdmqJn_Z86}U=W#@p zH#*!z=%5=HeDqlL|h@Lq!XDZN! z!m3iDi#$NW8Z@%mhXeGXAjoX2jxDz0hS5G9ySa^Wo%W*#hyvwK?3E0R&CPB>Sm;Kk#u(DvPG+VHV$=PU zp*t-)owIb949S8L#^jVMMjhvhNdSTvf8a#QUPepZ-KJZC5WG24&VA>(i zk_l*@_jO{9#?$C7dIkCL4unr%!m0QOK8$D4_OoyAL^P*R&75^UvDxU0-JG3tHOQr7 zj#U~I$HaK<*mJn;uc)A01MT+Uhg|t$EnwdP2=Dzk)N+R07A4vi+EIFL#U= z#G=;y3E0{kw9t8i*nN{g2V#%qqK!+B3(;32Uul1=xnH9UY|w|y(nNOy7o^r~nX#&9 za2@OM$Vtn07D#>>Q+f5gW0||#TOenr`!S_$w$;7K+lW)fIh0-7$w;Z)=ulM$Ei$o! z!pvTrd&d&E+uI>$o2Ej_(a!ue5v|Lig+*u{jGA*RA1m^ff@6@8^xc!|4qn4LohR0N zox*H-@=l*Wok~e0{S|D#CDC}YYd$`)dWAmKs7o$_@obqS!>ab4ka>j!>sqE0;!e+A zq^#hu#!2%h?FL@D-kjo$_-X0L`uPz;>ApAiFO6gytUZ=QEi*J6Jb5GS8ckax*t>`S zVPu4fG-wV1w#fMDM=fcV1)m2km&5+ zDui>m^Y$^op+KtOBO3fgy!_*mbcOHHtptHMKMii>U;2ovgq}ZIF3}OTR5D^!i*uVR z*Ge5H5jy;XY%yBZqPXqlr<)&U+H2^(UiO-4Or!MQsadW2F@4DvR_|-cXwBs+O+uvQ&L)RFo6C z)1(d9z&Sh_EfD8ITu9-MR*2-2{WbKEh1l=q|BOM*wP%ov0bP-!_vspEZ#UMgw8rp; zlbvZy;C8NEHM^l9U5dnh>Zy5z>3)iuAw*?_J~b5W;@%jt%Z>A^Q>>BlsY3qh@H~OS zr0xH6%Lk@3K+|Q6*<>ce;-Bf(^y_nq;V+GLsGZuk%Zoa+vID7kY5)fJzE0|dL!qrubrQDke*a};%~g`r^%qwa%@cX4CHbuX;TYO96c$6Bn9@_CNl_v zO3H1HatFhzHas%gt5IPVrjAu?SIzBglrZNEl@{<}sFo|*flnJY2PJuKLkDHbur3Iu zb_mRf@N~g8u*%rmN`Y4VmBGFES{dxa%ck+NqR}TvcB);^O3U7B{e+v(v;w36*QO8r zYDcK_zj#LO#P8T~)&pqi%HGA7951PN#`{)XP9T#h8LKbPbbKNUz&=Dre}d;KhiXNb z2$Jr_o0^*fy@B!|e5<(fx$!X>F|=}0(kv=1PD?+_0Xn~e}w(P4TN(GOWD2u@U@rO9>0{x=HE zB(wC`X(dR9v4Xwn@Xke_>wzZ7`uojJaMXmO33Hg?H5XC5%|{YS#I)*iVNPJD>l){P zZ9FPc)c!D>x*sE)GW*Y9->kdVah2$UUJRGEVa$7NK~>3K?SOud_NTx{`X2)y z(KE{+MMXxg_xp3Ca@13IB6pGAe2v2F8~aCY`SJ-W&O!vnFC@5r)jCL9KP^F5^HoV`i4%?lSlvij|oQT8LI`>eLq07g>L^QBp+S>>WoajS# zly#I1h>BXS>FVF;=%J;sF5Ns#L2kDe+2)i%olumN0PXW1j}c^-YQ%Dv_7z`twyNSb zRYB6c$Fv(}RKlDGIe7lP4Xz_mhy}nn>#=N=*XQk1$fW<^p*|1uD!63Q*ZBPtu!pH0 zcoaA4w&@)IdFXys=$PJ{RT^?t_9PlS0keUWqro!=6B~5ls@l9^2a*1Q*9l|MY?kNu zb~74#G6pCZv0C`gk4`12yB6c0Xt*k1N-6W>GSqBQt+)pMYZlb9I=>?JH~AY&H6XMT z>GviCnEhPQh_#8+PD*g%8S`_35%VjRBs$_hplZ(=9wMyLxJ)s7Zr!S;j6#xd)YE;Z zX14U>;=|Yku5J-mXjLB+WGg^7{LC$y#W^8%eJkh89mS#)Oc!oBKCou8@@L88e@|a5d9`24 z7ed@R9*^ToAaSFou2$V|%XTzar2`^+4gAfC?Ry3-E7n*Hi>=|gWGVap zJm)TYp|3VCO{$J19`C$C*oC*Rgd>GEo&H_hVvlBppEc}51<{w+v!3x^49`kV+CTffbV4dFTgM`83Emg#tB&el<yz>A&SPWsT?{yTjq z2lsmr&mY4f{AFM}V8|l}#GvE?G0qVDs_hyhKlqo9k1tVhc_T7+QCm78U&7m{8N&tB zH_S>0@CUaA*%XKFWt_0VrIjXev^V$>3gC(%O0Z*{hohwmG_4rM|SlagHVycr0 zPzH@;oZNMx3-ju@@z4hu@SP?0@}I@KiAL##Cy2KBgqU)v7-U7*uJvTwq9@ z*0vy-Ci3$KgHFoDLJ_f`+ZKcn4zw8VrDHBrrXRwy0Tt5Y9s*OB9I?IAbd27)&!m+s zczPr5a(TbPcp(4_Xp=2yUOk|bmg5m8{+mC=rQwrv-N(_6xVdPA{B>yoi!ty}K}EP3!B zvRi(=R?8h}7atcEbvlpYBVXSg($!Z{3cx4+69Qn;h4#Ox#rEsYb<$=0yXSFrRSObf zr9n$@bX@~q4xDGa$KtHeSuwL^3iu+ zL!wB9@HCoAOFAIZ-2ujdSDgij)N>c?ty?YiV+s8wTUYH#l(Ol%$#v2x{KJ-&^z$D& z%2N49os{v_SLfC8zFlrpj`T7fvkoA|BYR%;=A*c^o<5P|!XPvkBwYN%$QDS+)jXDR z8=5(4wxm)ub*S&Z+FmbQs}?m}tk8fL7lncURx*U*#b~5SFa>G-=BV8GQnVt1V>VlI zzgn2V^SeO7`Iw$f%Nc+>wUFBPXgoP(=6m5l4O5Hzl+pDvg(t~G_{qP=! z@WQK1ihUh6t6<88!!&D~;?lfKfL9AvOLyTp)LH?w76CI|WTQxdu)$g5h@m8nO(YGx>K^|Ci#4I zMPnok>^y52@yq9zj#Ogu-AahsUn$SlbGqabnHFQy1PA2RoIFj@2cX=K1@YP; zx4K`qr$4Y-`T~C!Bd0a4hn}ewqAz2=2Vr+bo$wG!+^K8zHdo>wlFTvJ}c)3pt|+S*X` zxrS+>-^G*KDD9>X`)_ASvl@h=fzluede%q>v53iEF}9~g=v*W1dvfWB!pig@`~6cm z->)rM_b^OcPA4RYuV7|K+X~BCse!@diJ`{noPsdAA4owM?~j`SaK=0iXqe^&JLqa! zh~Qo;IjxFYyH*A(6c#)8e?@68ds3?6b3p~VSEe4-XboiFz*=bww!m%cANNS-niU-v{mI z@lH+&Z+nkCo>zubTFE8RW8!Z5d5~Q1H~ws(Q)I0IJ~lEgj03M^XRuT`D4a@ zc~zt{s`vfDThVXJ<6m(_M(rwfS(0D?-EK9Grs!TH1WDWV^A8LAo=1aZwXU(xQpW{J z*yi>DdD6M(2jqOvE8UFPhKCuvp`I}AnRB}5)v;`iakD-p5{K!o4#LlOwggcD`*X3q zfS$N(opXw$rj{zueveZAyDh@zyb$Tz&anvo>6^Yt}WzP6ds9GXxzXm-#RR(}jqD0IDTOG^WowEPNAxbaR(`{^?W#iR7VvUKdHu^YLD zUiO#lh}vW{JzCE-Asy{lGeY?xVSA_Z{#t}yG%h(WxSuEbC_yQ0>+JJ;KzH&ykxslz zq^iYf&(}mcvo{peg$12@QpS|RVw|=SsQ{?oVC>CEM#8B&sv3hyR&xZ!DC3(nx{?vO{4f~B5lS+=YstaRq8tvAHG z)Ln!7f@;1)eA+M01|oidIl6l)e=( z#bLq@{@ci5fNsWt(FsQ{)km_uEveM2Rfr0ssHX!%#rL+P0dI+dv>N!TQjpJ%#(gwtJt%W zh0@<>W=Cl#-9p-ldoe|deHp9kVLjQ(01VnBgaS*NBe>gs4C?x{rg!&2)|uxaYnaKq zU0OU^vI7io1oX5Ngy#sQR8o@%IbW_ET_g_Q?a~iNTf)@7vG{zGwC?w%OcWWAMRsL_ z4#PU$9MbrjVL%zD1#kGBka!E96yEw4I!*8|uyxX1kQR2K$6cU&;WyBCKj@ny}1 zmSFx`NaqEXYu%*o6Ap8&ygjxY2}APGWE%wNFYtFX8yn2hI9eM9rxU_|kLy>rSsFYV zu;&&>;7)Xb-7rO1p(cg>i{EKa!+J0$j%@7nh(FiggYHn{XoM#L7d6Z_=h^d{$+q}9cM6IQ3ZP2n*-Zy-3X)Xd<901vbm=77HAzGwc@T({3iBF zz)sdTqApsr-VGrV@626bgP`oJ#@8P5RI71VDV=YgCBjR3dy>e>o4$ z7O3|5ftV?5nwe^2ussz@!7JLgLCyF4(#y?!8WuJpr`RBMj3uh|F1$qnEvf$$uO&R9 zW%Nxky}w|A`4Js*G&q7j-;Ew==W29Y0-qg`eJ-Iq+*j2P`pXH(61cRlPxXz_nSM&1(KWvz!Z&{P|f{8_o+-g(d~0 z-&T(4oZ9LW1bJbiQ%@lI#PauF9%^#yHBu9{o4t()pa~OzIN3N2W=elE8^nG*7AAP# z7=7WYW*unTG#H-EgZFR+>^{C7cHfWu?#Gjn;2ewJr!u@vI>=Qy?u7HWY5kZA-XGWD z-Ow1J#Sap0I@vXxr;?<^0P z>E8YqF*rX!OgI=?Msrs@hp=lA5ry3=0^|^fjoQ<5>>~)e{2F)ss6V^)8^wi~k2|%o zPD~ezLnof-syC|E34--9dg77|Kt=DJ|_$0Nou^`1ls3B;0;JU1QL`z+qVFfAZf$!j4n8xDdsKs{CZ z+Oe|`dD({da0X(kofH2K5aop!?W8tV#7-r6zd560BBH^LRpc%-_um4es~dfX)Esll zUELK5B`>Fpr3UEekcRxMPxUB_9?2HGyQrv5RiWtO;Q#n@Jq`6qc3vwyolvHY<7Pn{ zj1dA~(*{N&hPb=iRT5oFhgGdCj>V3cYv1Y&tOC=2J4%Q#BAGqtKx6WE z9nJNAbk|nFR}zf9ve&Q+X8d@&P3%mF4n*-j0a**8mAGIdvjKE#N} zuJ`?#6l{n7qY)t!!j<4U6{171|0{7MHSg&@wii8A`_L%aeuo8^PbbzH^I`6JV8ci= z&l2DLel6|_H(qgg9I(Pkh146Ul+_j-7Y86@@*CZ_E+{Fd#-&i3&28&RGA}P7>HWrR zUx9WvMr1V6cHMTcA^^9eAWz-SHjR_Gek;RG~9} zGwzSIrN2u(5#)vd`4x7-_DEs(J|s+dSR?GNhg_FZ*ljsWN|kw5siebJO$s)|$O|@T z=UVeCP>&vacY5@CMH#kOjI7#e_q-3@CjC8QcAbT{RH~HOz9WiGpZ8f_wZ|6EzGqQJwHo5mY`mHA!s%TGK zcs3Ej@aD?YG8?_wwMq)^D3szg80{sixePu`Ersf2GZ5R|Xe8Ryvk5Lyu()P8!&Dri zMFf*4M_BM=u(Pw7SHfA*TPdvCzlNswzq?EDPGKK(oTsD(3=rnN*3CaAG`^2F4MI6? zIOq={!X?WzB^7}kdGo!IOul;8WG%aCl851`K=4U{6QMk53lgr?y^PvWUItWETat6H>+W&_ zvWG+UP|1OFm=@x-XKqUZa+jH|@J%aTpH7h4ZIx~x`k{ThnC2VEwN zS?hLmjX$!NDwfR-;WoCPxZiUl{BQ|jd#3vW5wVDy_z#Ab zenUqje+9ACemW@mAFan?UVj9N$~y}PdJx|E|ANIQ6mJZ6Yg9i{pYYbTT#EN@Hw2)DoubqjD0p&*8f7npZ*l_x%k_Y%?Y7J`S?#n%`r(<)CUnG^0~dZA8iF zz`va@ph(edX~|V9CzYv9$up4f&S8->6s(or#&*yDN;l%g7N32MJ0Q=`<^ec?Bf=w^`XayN<>$OkHf$B0nO1W|n+r+@Zp)>z--<}gY*MaV)C zz!suy?BpT)D7WcwO?e=QmMUJ#T~VGYWH}Y*Fb0x@zyT`O^x1O z>^@YjlZ5Qe!9{SJ?J!dwCfrabTQe>7@x=-S)NM}70b1;ocJA4G;Q<9mw$kTWs^BD5 zv*4h#`}O<8B(7a)_%|1Ix$3^nUm^W12C_OqH%HUSf!8$Uf#}?Rqa~+@BOd_hP`_BwboDvCV@M{wEmBnhmop&no7oK?nvC4S5yj^IF5zQ z&7cUW61NTJ;b$}UWQA|rU=x1+yKa?$*H$_&V6<<@cP(jdjtfD|zGgJ1^^5`ol-b6Z z%M)RiQR)h!LIu!ggfB&zDbl)K;Ssbx-IK<6wRnBcDlSqSzp{k0(|I7x5x7IrsayZU z3z5xj!M<-fCJ%e3)~8GAS3)iBZY6Xf+TUpL1jk4T4GG8W_X#dBSaP4)QNY52OAJ+k z9pieK!hQ|M94o{e#-@~9%>I*$ffD2tG2v(X%vb^P-wBAoRS<73BdE+&FB(LR4ZGWh zaU?d?Kr0qWqo$P4>cZ7Z6~I)VvRge3z15c#?qg3n|5v<}6_bUpok$MkxZXdLP++#}3)sjo1?IF7~6kFpE6T zyQl_tsQS^d7sC*LBrCavfGCDSUi#RQ0mAp(&2~kA%kv(%XWK?h#W;;dVgAQ3rg2iV*DizLxx@{6eV#Y) z7*+5sY52jSufE)xL9>ZS2kTrWeb$cs9!Fh@&WPv@<*H%yXlj#w1hnTz5T8g&8Vu5z zcJBT#LB^MB77rU0tnPN!T4iRxbQ4Xa;sut{g9T#^hJrBj23j;;#B4(L*Rjm-h0kZ0XrNyToOHa%vcqxK^LY4EY3<#EeBpjqZYD`Yr9xLkX@q{pri zm-pugU*qyvmci(D@UK0lUzXZrE&`*ny(I$|;R+d^qC!K~siqMEdcGHWVl=J&#k)%kpMA{#?;5Bve~7t(~^x#!k2S@VFnDKV}== z;Cy%z8Gb8jVXRg;1a#Fasnh8$i0$hKzNf7uNUm3f^&z`%Mj^x>?E`2#gx880i0$u3 z+FLrDSs>bZD+XZGJsOttUlS1Fa?P@C!hIf!_U_6#Gnud9Us@XOga7k?w&i7tjwdt4aTv)=sA0PdGRtb%(XQ$aI2u z1dTq3H`_lNT#<_6r}0K->^6eX`+(3A95(WZtTadc(~JV+tlH(q2X5Nerk{RS$-O1> zzqHv&q?K(}S-63tnsulPwqxcT+>p($Aia>*m_oRnYb?w2h_tNDYO{1v;{4m(<-d$j zacc||r)|?WP!l@he*`DkJ{={6V&{FStJQoxRYz=jQ5^%vQk&M=A#v%TLTL%SyVfn_ zQPR%`4{UY}P~iP@eYu!5O`t!o?>5({dQ~^K8EmWbN1Rz=rcuO*1Ou2W?ODVi*ybaB z`EuxYHRmqmV`j6VU)fzA)LWZJ-8NxiJ>q>9m*JqKdM6^8`X4!w@qf8I=kLxR)tc<} zkg~&qh{^s|O@+CL)5wO>T9JmXfX#op97?uuuqg$pU)A8r!t85o?xlY|>1U*zNp7&= zS8EU_T=R}m*K7C}xD`z2Rd*P|(s{^g{=(vq6-zAKW98N=HE#-IG1V=xw5FkRXKK-n zz%5TC*k-9uLhypUXlcGiNA#i;?(and0A%S)jqSAJ3+^~IyD?hV`H=QC;q|DCg|Cyv z?+6>gin{HoS=T1Fk&?^A^8-gyv+uI~rfmMg@8;ixMWg9|Lv`{LU2?}xsMo37TVObt zIP;+F{lpV%3_nsc@9T(bz;2DS3cG!g&;Okwu>&_ZUT`N^lK*!pMdqAeeVP}p8h*{5 zXuXe^`7~X~*l??BKJy|{q#ZcUmmPGbRl%%D+H$adP~Nf|oPpL0r!i-wPViouA*&vY zD(1Wn9BFTcE{4Wm4cw>WDMi4*ZxcFW`E6qVBf>TmM)jI-(Lgq%8+!M-sk=N>Eb@J7 zSD{fVB?$CdVdrxZvGa!l#Dk*XzI1FSirCG(u-g`g`N}+%4G?QAjVktNTK{VaF5bIX zlh@i9b0CFeW|o^-qC@kQyX1B$;^5Me&QNH8lAUsG$k!?mo{B5>bLrUqUJ=*Z*$ABb z2db&;qfihjUPSuqay(B&7n>Y3E;|N)wQ_ZPF9=o6dZ+8C5C&)%#yBVay)gAp^*Nku zRaY~24xUi~Uq3X~W>*8o!!NRJxmD#h)S#2!(*vyoPrXs4FXlKQxnHFaP}F-{&lo`* zH3pbx(ZE{(qBjv!cNBo&O&oExKc-t{b=aHHY*oD!b zHl!uk@ZDZ%TYqy&$Fu69jbbyNdE5q920pJ~+(MRV#0=X_Bb7Ghh8Y^6UdZA`5^O#9 zx<{NgBWABF(P)KPebkpDMlu&oo8$$DafhDIf|hkrbZ5H2t;U{~QzddPs@Hwcjwr_q zc^`rmKXOeR7P?d5Aq*0kB#;VxYN~9JEH)I3kJ&T`{Ww?+uNo6#fBgS`O zXnG}9T3H`Gr4`~)Gq|)C8lnWORYEF`&+Eg4ZHDye`aTKUJBgECmoWH8n6QvmrM(i{ z{NI8esJSn4-7uwlq#gtVB~2F?Ep$*XBNLv-GG?K+1y?|Qf{N9qohT-LtFs+%=&7aA zyKdR6@eqf66~KruBs{TH*LaO!TezjwnVttk?-}Ic_LRwtM#`E;0z%&An+O8=jXEf0 z1^#IYAPf_yeUCm?Rby&Z|PEzebZ=2|`lZvG2N8)+8FEBu|iR0_nN1zs_QAcXon2 z9*W=nD-jZpv9sTz5ohQkJ3lL1xi6$_8zmgVhud%)G~_0@)^xm-{sdXD{DXtjR*GF; zmAw!9?PMh?VPd+V^}s?qnqr&Z5E!`Pn_HGH7rf?|-0P%oT9=MonNqm7Zpz9jA+<$0 zwO!lrYY$bFBiv8sGyQR7>I^-kU|U=-(ski!$K|AcUDg~OX##HVz@;>5>}R0_m*-|o z42Y>ikb?#a8lNKz?Ev*F6&&KXf#Goc9Cseae~W4JpEBa53ijo4&ss*BkasI1tQgJm zCL?_&FH1?Ik3Sd~*ziQ|Lf7Q3L&?~`_oK(@??s@FM6UU>a=)@xz`Ej_NtFt^m9zUrXd_^{vS`@AJ&#QBg?_KT1l>9bHLEIgkpuR8*MI zrQ0;>QgMrvii&$fq~a!Zr;_Bx*X#QSY&++3KEKcB^L(D?{k)$5j(9j>E!0z7 zrCYd*=rCl<=88|c)pV$i3mpFQ0DmkGDYqq8q#_m8tg0g8H{ee?p#8i*q)# z0w)oRg6WexaWQ<}#CM%=Wu7U2*S!}7yHgZ#wJ_m~<`HDG-sJWn^FXkIwX2Y|{XTc! zyZxK-_A_X~cpg>R`VQiHAQl67a=9gCPc~4hL#HV9)deV!>2xSKUi=!%!Qgqnlx=~N z5FlLK{{WmM*YQ)Oc_IqxUBwIsr+HrvT2yndG_N7Lt;)aHgqZV>A(kZ7-Ey~|Mm|b2 z_QN?eljl=u&sJdxwm9YyetiZW)!ybgWw;NK<8#FY?)rQ_>@<42a5OpX7HsG znPaMxh%Y=ec?60be&W`F=#v=8tMwcrf1$JZ*4#jX~rz&;3mIx1)W}T}$>fB1<{fdVhzT6gC5~?KE22 zYqM@rG;ZG2G`fugxvdh59Z|EUAUnTzSNS#A9T))YYf;-*6 zS(92;Yv=W?WU%nM7do=MBZFeUE8YxQKDg{%F;u4u238n^uVZ>5X2UCj4HMZPK&b6Zgp?EU~5;O!(h4te=xe(w~eZ$-xU-R#Osx>ehIkt@P`gdfNy zhR0kQbkxD@O4;ohsJ?8h=G6 zhL4{LZ>r|IzLt^^=tpZN4i%GXbusA&t6F>rU&H$l{IVIx*wjYo$na(z8GjjcBqtD< zt_&lC_bQvel$jyoycy7~I=3+9@+O>B*PruHPNldUGw4HBd=iO$q3clw{L~s`L0FAS zG8XwTdFv(bA=IL53C7*DYtP^uRRsz(N8|1?`E_8vfpF$NeDSiF6UAChWhtn?Dh0kz zCB~`^?HD`igJ>#kg@@W+ejl`uyf;v{wEGE&J0w&h!Cyh3X=!;T-yBVeyoB^6dc#|T z(dyTDg%s;3Cwp~7Gb|NfxLek`^&Ut)Ign12?=l^FF|a5gOh*&^^MR;}UBjP8lu*MOsGrX_ zRD(E8IJ`J(R(7+Dww7c;(Kl?U2+o_6v1Y&OlyRnJIQ3L`9uCU{6neLiVqc(ruGRA= zo*-#~5134S_lVHdPJL7H=u*qqQV@5OnnS*JDhW-79dyRIhcouJ)9tuQc^}Bw3+YUb z?WMvjoJqW-O~#Te@*jn}UTR<0flI*Fdx^1KXoKCZFnX&b$!b{b7VnDvstkvL0}IeoJp2rNVAtm8wu{0 z!yR%3>lQQTi9a3A50d4DLyv^dz@Djjoh8GVLKArsk#{CMJg^XG`-IB73xvarQ1an? z@3NAR(7aEOH}~j6caW1y8=vnaj2|8L2eA?H9$?OUfUwKvSU$OUITAXSy#=0)nCq~Y zx+cxW1E;$Xr;`RZhCNj3$^tX-4xJRH_oLp)m0<=2h|xFTojZ{84qqao#W48YDUS3g*&e=cfX2 z)-`MII@25))7VfCF$WHh266ij7e@--*Z3~47l|aKD7c#_`m;8|8wKjCJEi2wg0&{X zL?61#_da$M<@NHP$!?FVFokjChnFCsz8WCut-0vQm_yNPhN-ZkW$yEsq=A}yXjnhr zNzVQ3EIF4BX0{nI(iLz`$M`mG!Suk3G3QUU!tUR< z4iph>I_4GE4v?o~%COIF=J$QYU@SF)jp2PJHH zynPc{6SPw+24QnD(4Qe-h#=`TyjG-88GD^TjO%rT7zW$UG_K*NHpx(yec`#;wvuD``oD2~WIT;;RPUQv6@h1t zH;~{Wd0!KB`DuP9sSX|oApyq>NqP=hmy>Ejsa6w5TsrY1eDp#s`VhDYKJK>E8D2=C zw;35wlt|aonPG@h0+~W0(0new0!FRx_=r^WlF=veO}IFz72e&XIr)CTZ6t0q88-2S zV-tI_Gr$`#%%ff&I_|(O_yO13jyXOLK8M!ilft9BCiQT{jCW2wnlhOeP8dI(lFz^I z^)n+;LjFH=$Bc(n$0sKkLid92ku>jVNb|l1;_-ldDGPp9m-E>(sM^vm%l-lj9humu zNXdWB)H6?H(qaz1sZZm2y*<&)NZH33=&6Co=GBqn<8``c7aZr?v>9U}&viOcJHBe;s$gd;SZG`@2q;cmo_mdy?>38DuOHll})Ew?dK zZh5n;JvZt12guxW(6^COzA+t*Zixojn?tnWtdniaOc7Oews^(m30+Xj2iyy9c0T~k zry0^6VIslIzKyW~ONq8GlT$?h;CXrg5w91y-(T-sNjg2erj_{9vV@y88>#tW@jhd9 z!cuYi5S|y?PDe~MBPr84+X&i}^f898nYu$uwy|Wxd)$SvVIf^_tH_8n494~GX2k@MW(R;Xk(>h|Gv%E%#7Va|OVx_gvc+9MOW5I4*}f2eyt z(>}B=?)^iIJE+6$NX1_E>X-27k2Bd%uZ`aG_D%D@Li%~tWlt2k&|d%>lGt2;&NShM z6lF6c8$)`gk7kX}6Z+?PCg+c5!5kUdfgWwx0Go~9GUL2tCo(JXW8ffvhj{o<-O*54 zJO&}RZ!)aaS%0=(!Jxh+tBHga%BxH;;XfS7lmfTskkO`a_GnG%;?6iisn8qvpD0~? zdLrfF33nmg;@r+(!LlASC_h&*ZkPgz^^R-U5iWpxDV|Cn%r^acRz-5Kzk6{y? z3-LJYK8;czHa4Zu``mzhxoE)nre2ht>~HiRO(Ml-2G$uTm-a(Ule!<&iT#K)TP`ld zI{3<$fQ{5v2mRBMw^5=A{#kk&qNPf_8YLT-T3LRXam6Xg_>T7o_@9$ z9HV!NQ_rTSqzT!d_aBMtZ^=J`giUI9-R2Z;)3OeUgg-*H--EG~>G+;t<`4VLB#LUa z9})5RwH9?GXOn%62hLv53E9)Safto;+2RG+2?p`vvx5ywhAF+TQM)2Rk{t>iYu;d9 zR@{&q7!4Z3rsu|JXVtGIR?RJj`Q6W2+D-26xpnWN;p^P9v&VmA;`#HqRu->>xO`@A zJ_^&sWNHdFvC2_}crS{8LVT%^HMp?fw<1M`O@4eFSaZkln+HPd%G(s^Fg} z>7JtGD&~)LDdf-LxLKSsI+SezW3}DqGKgF962%es90rPCQ)&gm)oB!WU}2_9P`(QC z1Hc*rV|S^heff#E->9&yZm817LqfDz@a(Xb>i#G?J__lzoa44o9y7j|hm4+R(eGSV zq4_Kgc`O_3A0op#qRY=2ercq)hQ_@wh4BT9w&V*+zkwD+!_Jq-HcI0p8l#&s z=$`Eke!IQHC}e|sv8aAlkVz(__q!SK-+y7K#LW5VRwU!$bSWB_z-|)hX9q4Ok#N@j zxZyXiQ&2U>tzP*omSzJ@j18i1K4SxbbJ;$Vc>Nh!8^ar4!Nsh-=x%=JKaxc6Dj1p~ z)7KhRt@Z!pCT6UGkE4UFIWu;M$o>y5%2&)zVrU`Zavd}$iGz6IZ*iI2{_o4amDS&u z^Y(A3QuNP9jUZ8`BZiVPlSTd@8r!`*^vh&z@sKB_^BGlTUzFVZ_V!z7U_gYcC6-aO zWGR0iyIZL-#SXXsfFP|k*o8SrC-hESNj7Tes{_&LJTHpLD4xH;9xYbM>;!lEnUe3= zcVr&IX%tUkJxa5ru2@D>S3$U9*|&dB0E7xXl!S(V{oG)y_pa(FiHiB)7cBcS*nifDo4 z?tDg_t#I1!u}H;bc0#k+P84RKUqDA&!llB0OyGnX9V+JOL4IE;`?v~OK}Uj}uq6hY z8Xb@xN2edi?vsk_GbP`0XC`X0DR@-T8uu-s1F5<&@q#=LbWA5?Hw1|CXLK)E-=Qdx zmR0`nX^O@9+}uef`yiT4OfMmeYQ8LS1jEn9{87uF<5d_9*(u|GuQjfqa=&C+?Xu`| zS0|kFrx2MP(=^9Ra$~jj*V#*R+zk~nakLi0)3SGys=kSbl|l9FoXKEPh?X=okRBFt zmuEL&_-SW1+64LyTPUZ#_yd%#duzQ(7LC}$V4!V{_@7WT!K;#R&J?XbIyaLBH?4dO^X8v8N*niw@nZO=rMe8E_YGfCvpBOl+6NhRPCOks*)hk;pL zn&Aw)s%bwJ-m7H(WC8=qU)u6s=F-nDP8)j>F=W0_ewJ*IsM|ddv!_7?v61oJZSMZj1sU`4_A zN9t5xNty62iqrEI4l9R?^?D zT%Wo0s&`FpqB3_3)X=?{$YoSl%GNQb?GQP46bk2J2B)j*tHBh=o~|BO@>IO4w)mYS z^jnZ+R)&3cjKbmA;tO9A|M_po#Ns0`esMUC0F`%}l^>bU(Lr4Ci|ahupag#i`@kGy z6RZ8KW`{p;GX>WkL$|ukl=T{r-ixR4h`RBTaH5nahRQQ|vYAN2@l%a<4q~h7t6KG48D}eMSBUu zlLy-hh;o|Ejdq{gnIM*72H*AkNAa^)nn|=GM(1xzPJWDW*U~lMSt#zuaP-4oMKs+& znDUA7G4M0&Gc)5#DMQ4J%$F0cV8d!Lc$W9P-LmJdVv^?3A{nZ?=_3fF_o3b zg7{J^I<+W?b zx&s>R@gjj4hX3X*HSh;9g*BJgK=>gB*y`&IOEXk!c9INGHd3J(oWs>zHz|>k`>n`C z8yS7|X%ljx&(Dk(e}1|i3SIcHGqJ?XYtWIbPOtiJUZ~>{ymq>I9n$;qThJXoj|7wC zID2ZD*!UCHC7q1n7SlxZ7f;i~`GkdHA8z;TVj=sCu3JSwn@`jF=oqfoS?pET)E2Tr z2ydLEr~vn)^UjTLRqfQ1be)V(#m+01WqgYUDI=*`?NR#>&piE}MNHdo5zAa}xsEa7 zGglF!^F1^)aQBZFQ)I15q0imQ8LySfnBCKlauo1P1`TI<;mzdv;tN(HdPzXOe3J!1 zym{!iR`>K6&F#$V*{I-6$(b?Y(@*Pigy&K8#);XXqrd^s@7{hS1cQ-r^6?=4ywch= z@py(=4jufJ9SE)51fcFWC&!4THc%;R5!@l!UWuFbASWOETeMZ$FdWcE#8lnaMsP(> zk5PIU z^kQ-qj$(Nu#N})$MQ0h6v*z*d(-(?*ELMm>b--0ekaqRJ&)XM5$1!vu#h^5~@nR^h zI)iuaw)ip8U$aFL&4YuWlMI4yAYN1Fg#z_xNZxo5czi%=3K4HM`cxYnElvl;3-CX|Oy_@6K#^af6gRomuu4C%?cTGeC=mN4nul;+G}w^R{n$hJ1Y;8G@d+jB zLQWtY=lu z=o53z7=9b9*)1*6a9=|0Rw#`J2Ibkkm3@G38anc|kOYkyuWSw=I||508zn=you%OU z!8aD-qNByfF)OQ<$sE!wnNAdYsG_;8OVRhU;Zv^bMgCmjF#4`HJv<&qnwNPOi<>ZU z69TO}KSa5XPevW|7*z>6YnOm$EFs6h_nqlQysx*i|`&{#4@tj9Xjpq99#9^95ub6Le+FKY5{p7C7O^bqx z>k!1e$O_?cVC%y9pd({06uUtc=LYshvANHiBpR`Vmr-lX22#@x6W)OMhyQZpba(`v zp0$3GdBpfeW0I)CM2BxDA_O5f4cUyB?rBTOZi*BMur5%&KyO_<@+e^7ucyq6g16}W zutc1#L1AN?kbUr{+2ecUXO+P~@H1G2^57URjkrG`@!!*b(Xv>U>;TPU9T5FX%_JIp z6RVQNpYUPlj0r<0B7jHIdLO<~USzHPt?)-fA?8yCc!r-ehAuzF@{=yk6svZ!s z-@`o2woilReNyt4>k`hHo%<}qXCOa6ZrrQABVI|LFCc=*NUd2D0Ptr(yu#?76pl7*&uUn!DhmlI}vHx~%R6vzIH(e@tQ-TMm2xHP^Q zK`GvNrdqwql$ShNhV2M}I8=<6q`IXT_zT~Oinu`+X#^K?8^;SlFd4(dPqu?_35{UP z*RU`$v>tu+YQ{yV2?H;RM?Fkx4H*?WzK=5e5GUUuaYK%PMv$LJQJHrLe81C{42Ptw zaMGyzRltafrvXx|Uc0G`n{5A``Q46?tb}&mUHbr$8WjlUurvV+46P=D9eL_f<1V6G zGpFnqlK+~}m&5QdQL~gQz2$HvUeHbgH&boXfR0AGUdJER$f<=PSZnvN+lt3mN9rtS zVYYy@7q^1XxvSN^gv#SgQCAMj*CT=T*4OGI6!FEH>;YOFuI8QG)f+7o3>p$SR8APa zuEv-?elHlThS8?XJqM8B@1as{>+iqM9-nICVL%;fMTV%4s`X#0;?47z_MT|YSKYSQ zLEge8)lQloO|>vsxtkNpW3(V-pGNEPh&@)jd~_hODgx<9+NwSCi2P!gL~OxYzn?2L zA*+O&=Jz4IujG@cF5_kul**ZY*Y8Zxz{kp{fsd0;Q-nR2qlHqGi|$}5WFJxepK@HJ z>?1h_mVBzZBS_K!s>&9EboK=K+3kP6ii=??->);=GwVuN+;y||Gm>pOBeTJdU+@mnyG-ofLbW`&`hUn*f?_F;3kj(T>l>>4V|MiV zpB2N`<1YDOHV|W$2H{^Y{>jg@{2h#6K#7`nB1WM@DL~n-NoN>FT$KwOamY6!!)nK! zP_n4dhy(4FF(!le3D=d}v;riP)B}va3Y||86NzSjltl+ZC3;h!M+J`6ENVcyKF5@~~=?T>HN= z)=wkj(n0LT*_*K4hW6o%*l$kgH$uw_RVTg)AC~;<;^eGZ_}((9MeWV(frReFCfNiS zZd5ta)Y;9z=g028aJy3xl0{m-hFHb87&m5!** zm5RN%B)&IXy1hjyhRw_zuh|+I%YzpEfuL<3Se|0$mbdblL{}@}V}`hABx@XWZY3x(1WfRen1D(pE zN{H43TC0fqNhCuiaUV|V=NdVQw z1W1bVNAW+?rG)9Lzh-2=vF2f6v2vo$#N6_IO%wqVg!Eu~mMQ{V2Dr+A=5)nBbU>mA zS+gJ`6%E(}t8S|r(3a=qgR)6}-+96UxIwGl#Gq{d?#(exz;>KcW1G>X5NJ1ef^%*u zPo1c&0p^x9uo_)C8c`0><}Ft3Lyn!PS^6vfG!|Gy5WfD%)ILIcS0BM9o7DwX648pC zwsf{*@v$E`xMsk!qh{bZqh&>Ln^w{x6V^CYBXG z0_BB~gQvm~weqO^KDqaf?Unm>PNHS4@0XOv|C(ukDB@asr0Rw}2F8Q6!)@neC1pty z6sdQjQ4Dp=Jb$NnpPw+PAVr7Vb{t=Frajq<@%ei4?9d0%}XpB6lzrZ;)%4W+5@w3XZ zRK5_Av!j(@?`}lqO>sW5B(WW*Q4r+s|^wi|Oc>>KY{eS6~aXYiIsxspSRnhls(-@Aw=Y^qd0DG&kHF4p*U zxMe(%i?f0jO|N`ToRG~(bB^INFUfcDziX|#@ftGwlgd7 z0*jMb-A6Dg+uv&QC1NP{&|DYM(J2x0u^Gb%(75dmGAI!@*5bP&;2Mo*?)I}NGr6Q{bG%`N}YBUpYq=W)^K%VGc5eiY%_$(no-}ZECp3RLR63+Bzv6Y z`h>Sf~dLQk1uWqI2Zz9o{bh8e4z2>WM)RFUEGCEO{}T}y6Inu!EK9xn>`_%3z! z`c-`A*^BU-GTWYLQiyw9Kn*&Wg!Bx``TM$^n8x-iD(mOdHS3Xeg?|Jul;__@GduAv(c<)Y10|^*KuGkb`$dilv@n{-{*U(Sd3Xx_ov=it7Y= zJpyldU6i7mPd)J@oP8(S;J9cR=Gl#;Q}59d3hWds+g7t==@2M#()w79c4AM zVu}U0WMR}2{n~69E=~q9QAl@6!v3DGXExLwD@2L@>lYS|{ia|hvWbKn{8?$nrIycl z44>WA9iT|7@h5AyZQ~gxH2*Cj`cill=pN0WoyvrC&WcN(Ur%!(Lirq`h~(WmG0;au zBn&t-(Y=c^!qCE5xBFg=>X75lX^Fz!MrJQU8zeEf!*HuY9>ciD2aZitplFX*uXf*| z`bM4Gr4!k^k$*q1u7`sijGgPt+VGVSCo_JaJ<&C-s}n6XgsbbOdKZR6pq>$a3IWRKLI>iAl;0JCDOnNrgByJe+e(GO1+-)BOUwA&;@@v%1y z<1vkz45rXwmDRW(L7mTmTU&GM%IxtJ6#4zH(PgyijT(aaSeKuQfQGSqLgkCXV;-aA zi#Qhl@u&fCqbj8Vm*Lz0D`)m0C!=y@ms7LR%!yYI=ocxa({mS}enG!TMOgnZ;VpSJ zJ?KG#94`JCYP=1mM^coMF8F9e4JVESlo5u$1L$_{SIb;;`Dn5CfbrWo-GtqZIy`z& z%$Do)B1t}Ig3vYdY(6aMR|nIJxVH`%*FzhIWLpzTFG3~F(n23vzzRdgJ}~%j{75L9 zdw^a<)X9Kelz;pHhA5NI2~hWtMG^(!eG~(mdDtC>{7~`xsTuZQ4vJ_7${BpTAyoWo z3RiKt8r-9yVn2R|(81I&mA!|3_@frigd(Elu!=%tt%+#^cE^E|WYXd%+n;()B_2X8 z%?0F@U>`ov`HJCofC^~dnr%^tg$G!dKXy6Z-c`NX;ykw5vL|b^<-KHn%F99PuG5<> z$okv5>z&P(FlSh+GiS5qD>CfRFy7m<1wDsv%ZfWUTeK($p4%Lxgu7H6>YN(1Xg>ef1hW z%=*Hk2>v=^_*GIM;#pw3uQD*59ngIh<5zK(K`p-sYdrS4!KbNzB57O8B;yTrz8=Jw zWi3aQu->NxQ9ahSkn@r4HlDbRu6fa&hH#DVn?TeRYaIvJlTOOB%xe(S{#2kALw#uQ zO+k$xh}6k$c?t$nxm<|5$@40{t9~aDcb&4_XP9|%>;=QcSYsH=ca?YxdXYBxeo9c0 zM#5CC6cZwOnmu9vBL>B}C!Rc&}+2kYt`~zfv5*UxF=7 zz0>(5g`t<+w9JN19DdS!FGIEDK*PNRzbD7^Ph1;4%g_&o(AivV^TdC9F|HQ?zD!LK zy%hK1lgKV`9&_^LJ|HPcLl;iR9gWCBa(bPN}T=yIV5*qo?=2a%Mi9IN$HxgtlJab|0e z`(qdjrPGz!)2#T>WWAc()YG$*VPUCKI?6yT-}L_E%yA#Gg3n6x$5Dz=lWgIWL%}S6 z2H{;dSX!N_5g&X~_Z+_yoh(hjevo5)R}t!4%(hH=gXj)gq3WfX)5Q>mZaYLTo%HhL zOv4F=PmqD*6#-)uLOF4=U>aPkK};@oPTEMqxmNix`l<}esYtFF3~5i6gc8%}^%m`b zof^@Mm4CTh!HgBh^EntaO;BUZDCnor$er07DAu?%Vy{F}N4glTxD3Yxk2z6!z0Bdh zvpgoNF&VOuGQXz&1TIPKDKI(2Z0iG!+(smF#%6T;un}C2(MA}8pKLg7)b6qo*|UKQ z4EbZvD>m4OAV#WK|9?NC>^4HKO0f|{_cCmt2}-X-#Q^GZ%5wt=8^IonssD11Rvalu z2Nuk-G1(3=(I2aLpKvqLav!I;f8p~_xdrx6ufi$sB)%w9d?Eo+I%@xmJvgCNI9f|)`&mlKS z9VWWjx7xIh@9Gbs2GJ5wL^4XjNOux3{4_w2}4_TuHf`6acfiv=BpE_WB;ilD@<&cCE#Tj*!`Q zYv%YgQY4ojoBzpQMJt%r=~3TlycXp%U%f#c3-?7w4--X2M~yP^6};?~^lSJsoOH$C z^2hOa=e>|XIiA139%?k-5xK~Vj7VOTE*F`osufreQmSZ$mqcAFi518!kLWQ%oQ9K} z!cX)yt92vB76|x4qjL~vhayBCoA?4gqJ~R)y?6)y67d&McJ#c^i={oFr10%*E7*wL zK6$`ON_g~<(2EN(p~}<;q>M6*ES@A3{XkQbgkuiYpv?4D%0hlB9ggbeiF!=vUDz_L z9ASTzwjz;s?BOqa|+sT@o=wkj|V69g!6gV!A`R85yhMRq*lB?6=f@|$bC4@ zY1?#gheXhGU;X5;R1V@XTld2faoT61PMpA#sBWaP4O8YII;DF%WoBb~f9e}nWWew$ zop>Rjn20{LKVgnzdal^8U;h*OJzhwd!_EKMJx4W}Ysv}v8I^g%Nr>-(-bIEZ`@Odu zts1=MN35ooMEASTE*EOW(mZ4rM@nG+#g`GT0g5Y=feMuaIK|KQP#WR4Re|-O-dhjZ z?cw6?{iyGoMHROf(RC-hVEq%n=MuZlBiz+_9pOYVg+X>uKV*k5m7d z5Ht6WXQ&*uUnTW~hUow*5SSNF-ABuq2vCj2{}j$uzJCi?#k{8y`D#NmCtZ*xgUWUI)5 z-Zc?o#jO5MiSFC#kVoSMhpbV+xay89DbwY|9#}%{t&)7ppB>i?KYtvK*y5vfL86(Q;z&7v0zy2JVr4{*|;t1^z^55%xm%Y}t;W-Z*AN_NuEK&KQu*rTw1) zEnmxWR}wU>u5_+euG7ttO}y`yqPnMR7go3cE8NHtt-A`*Psql!V}(;t_WJ>i5Uvdv z;nz>1$+~?Pwpy1OBWjCREzqD%g(LDYzAr)uc5NuX;0ManxH zSU*E)qx}iwU(P3u3-*=XRBF=6_1*JDQJ~B+BV#+I16#%X`hW$;W+* zu-`cBYq$Pyob$sNcGgWEoujZZThu~Vw7hs9LGB9_Ae^o|=*b=NHTA1*F zLNiPc6Fd>G`a~9PD?mn43suR{6_Bf%7riUfm zx4U%`Bz6#bSaATacKSjh(_931?_R{3k15&gy?F;o{xPJM1@(r0Z78m{YMU7hZ3bs3 z2B)#!i`2c%NVmGIR$^Sfw^{Z%CoaPp<)ZekYFRF*lTnXR#tolkHnv059Vqh9ctIaM ze6Xhmr{_D;uwVhFsE%GQ;A>UWCK2h@8l0pEjx-Y^J4reiI-`*mh|JOMow$qaU1h*C z2U@+p!P_phsKMEgi;u!^! zsmer3RGz7i_eZ~SikN!!G%@wsYs3_56qXy}gymdfNY@2wzU4ntPrs=fIichB^Mj>p1Kw+6_kxgxqmqnKQ}{HQ>gV!Qz(glD?64s znnI~F-kL0THHhz@1W(iI(ubrqwLF>)JZ1}>K-p(8yGa#H$kmPXU9?ZFdBU@ZKP83j z9WriFIJ|y4G8j;N-3e4}%!TQ;crX4dcnW|1{jWT^yPZX_#NL0SipwJGne-EC^55InKpl%=>4K|IMI6y77@x-W%}<`fnK)S zmL~2i!y~@@`NY~QW(x>!D-E52rg+`8$u~)pg&FO;OWLBAG6mJ>#q<-lXzSP#r~wc_ z+2oQd&_Jmy8(qX-!u&Co;C*F|c&_}fVR=m0wT7kO&X!p5Ty6!m-3lh$bQ_jhZCILn z<3nlR&L01CrY?|1>}yppVqepF6yk#Om*!Y7!3Sz{#zwRrmr_Zn7j3(R0$AlJ&iuaI zOOs=FK(pXX6BlB-hDh3MmYd8GuhT@#1-Sq!y#U+|yu#_q`~{h_sFWJ&F{)dOuP?mc zkC@94B%KSA5y}v=`5`H0aCmko*$^;On@HrRAUH7ks6YKgfCHuEP!u+9?r~tGxMc3e z9l!u)1;^!~;djvnpI&x|lW5ti+Z;X4BMBp<*Dqn$L z(cH9o`Zs7xYC%4l?~3}Fr{yGkEpFU|IQGgo#+(ZfsV zQegh+2!i%vM(TPwHghWdF~`LZ05DV@UGx~ohTuBV6BpRrMU(=S`#QzDpbS+BkuboJ716sfPwk8R`^h74zqNp}BEa08SHpo!BGp9Ph zd$)6MWxgO6O~#IbdC+vdFvr+UOl8oq4A!HQry1G;bmt% zEWR~U4|l};7ymCVpz48IeDxas&zZi4&8P>}m&1Wj^aBh&C>gz?xaLvF#x~GaL-f%< zIyZ2DZBWh$%?4cJasZko6WHWsX|{J|l(L?j7uytulcBDj z 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%0A=y(B%LUym%cXvPD_xh)<~$_s9yzX=yIIDlm+kvX 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

    `SQ{&T?yfCEY}IM59kp>jRQ6&b|?1 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�tzW}w+ zq*2yR5)-mToVT;ZzLQ^%>@gx`zHHkiOMSu{15gZxTzqSHIiUnXF}(tk$EM)X<>0eA(nK=;=r0z_7il2 znX8TD?dObA-NA`M8)sjFx2DMJ4W_`D8C{Hz4hPCdNx>9`D{(BPNt-;BNS-9TWSeSf z2c|SUIJv`zwQrru+DD$Cq1Ue;GldeU2x6ZQu2CqP(__f&$;{#nmBu?;N5!iX`Sc1D zC>l(ntW4gyM~uqh`RpUqK~%?EB9L+t<69SM#wIbGiS4xJJ8%b{+_^`o*Nu5MDnu!^ znP-8bktW>Y6XA}jS9<@9QF%iul-@Zlu00tqb7OwpcK+!M^Xvt8`MN~`!e&^Feg^uH z7PzSFI8>vXp;omJA}tF-sEnYBHDNcMjPB@z;?xDcRMr92mfiaFx|73u7Psy&CxHPQ zMn_Yq3@o;+1tu!X4ov?Sl}%yFc*%1qtX{m<9cjiEDv|F1uT*%+r0{OS$8(_$YV$(B zFoPMQn%=PB`irwLpf*fToMt8SP3QutrH&g^mItMH3%Zdy7Qh}1zbZ0apt4#J;GnUb zfqnwIrpz0GL8ENhxgW|JZRp+8!>oZ;2Y4>=Vgnfxl?_yui7Y#gS*|~=xt*2*D`QI$ zZldJNIN2Q}6KuX5B-b%ETMiP`7GhOoNe}RDiyqT7yyrx?dDjUPG4UvcJ+5k^H0*|d zLX?L5ytksC(G4fE)u5R2%7dg850ZWoY!R&R_Z~~7g@zy>Zq#5X-UX>ntFM$E-l)Gj`1ayutij- z30!l1)E=!#&;*+V!`fNbd27pomF9Ls`nHNb!OLZXgImRvCp0Iz1$kOqSqJnYl>IPr zr0H6eFYTy>Joi=-eyth4!NmXV4Klbb2W7@4%@HoH@1Kz-uHF_#Sv6Svw^4}A&Dv{@ z@lIiYC81j&YSnH{tIxEqKT;0%XHzzvH+atSUeGA^%`5i;A<-4*j3v|4y1j$vwl`R8C*8wj0zD-UIpq zl*g0u?DLJJ%-Rd0u8ykrVKQ4U;TFP5YS+$66+jp>Td$EfRY>te$+8#(P<2rMZ>~uu zZ>wLwOomvyuP4)P6lU9}3bPMF|8F$wvd0Uvqfj~fOhjM5w_lcEX}8Zo927ggiVFkw z`NHfJcVvIe1Uyd`W*4aO?xIn-A5Z3i73Ow_QScVT2(vk5$13|0VYUsf8KO*%&G~2i(M8_#X^alS$kDI2xzSO1EQ3!Ov5OuxB$;RHeI&zwZrra4hQ`-4nznytA;$|zf7_qHfp~Xj z6tB^FAkBxa1rH!)oN$3>35PR*W<5323_clmX3sI^#m3RX`Yl7X>K3!;H9!&aBlw^} zW_H54JI=z1FelD+?UH*}p@P<3i)Pz)^;Pi=C9V*Icj7y+07#V;SlrR8*)OG+hu=#P{~)_VH)ZV6Q#k4{W3xBRlYa8r%&g}1j%v_x;km?G zY3Rm%La)I0Nj!~HORt+dkcXrI3&g`CCu~41>6Eu%6KiLtyDAGavGz84p;PdFfvlkS zK!||t3ew6*Sb2xn9Udeh((^e9rqRp}vb%gDNR@b@^}c%CVXn6BhiZwPWCj+YN#Tq< z*XUDsjJykgJNWA9v9s`A2yav1$ZZz#7VHdf<7S!#bB)%|3uk!7@E(z~SdE<5BkO`B z-j_fzwqk5peX)ze!AxjM=MC{fcXhwqib=2^gWie>AYlSnG5F0P)PZqt!#KBM+(TVb zzks=rhk0Pdc(-N>-aL%|KE7X;hoKil?9(4GY~KLa$b&Mp$UEksJy!iFcp2`kT(=sM zrTUSB(3KC>Zf15^x;bcAM|YX0>&nQU)^$+*ySKv%lp8mER<%O8X={vm5|;Xo0;46e zUQu=f^}*wvS1nnarNKIdYd7;=!R$zoxlZEIiT!ihW~r<&(ZwDDl)Dd~Y zLGl3e7@5FvNh5}yZ>_nx+73|Tl13Qo-EIzr%2#JCZ+{h7p0MAz`n$UEWBXlC`-i=n z%npaXbKM8q5wkw*;%HVLv>`SZ(9Q4C^RU|(lq3d;l+0pmT5N<{O<*r@Lko|N7@)ON2} zTNgYjdz>9u_)pCAhIXQxnZd5O0*XaGu_)RKNj9SC1~h!R;bpipvLpdYMF0;ZaG{wAoTme4IG~wjN8Y8> zD2OU+YMk@Z$9WCe<4mpj&o||B-lPU-As|EXNZ9)HA!sB!;dJOvC<|ae@3p=fi2m;F z#TbTCWW(Q5MU#F9+u%-QW}4kSjqERRX-!SRhs&`;Giapl3hH_=4o4I4yc}w~_vQzwwh zF5FevGv-&$doX|+gAFkWdza`SUCby}8lO;0oE`*+?UGzQny#yqR)7w$$I6J)Jh2YgPU05zXLD;!Ae5+tQ}e?mjLP8wP{ zd{>oT@4=J34|YgRmiDdT)NakB_OLvHd>%E-NoZp2RvC3fui&E0Lkrs8h|@)pG?koY z?O!Pe{X7C)P(liI^e|f=s~+HAM#?{&qoHabIE977dtTho_NLgMaV=PR2qGlQYlw&xjp2-N&Wu z;9O)1_g?p%-j4%I%O1?^=P*D*zMbg(6D-2nJ`r9IG}4modbl^|#Bj$XN_b)aY*fLT zX>PZYug1XI^a|GZWUT_(hGH=+{FmYW=`KEg#^rNTOy2*nQZgaY$J}ulgc1d_)4tdU z@9&7s%QWj(u#hKB7b3ig@nnq=D;ig8KiLviW`K^yFaH^7+qJq2@12aA>H#`ZZ^iOj z&&(_gqS>P|gG}s545RifPy&}tN1z;CPSJkJyxu$%)oK?GgUWOzOeI8-Xw9O9A?6_| zi~?#W3!0d2%Dfrj^*>>11RhT`*;lU;EjKB{%6rw*T`l5_x-qnc6Yt;aXZoCm&gV2) z(QA#Md)Iu9#WZIui(Rdk`a2i)@a_M(z@?ml2nC39F!$X0y5Q-+ZLdBB@GkMsgS&wu zo^W!8C*R3BWYmVA*QVD$i?$V|Ygayx@aoUQ;wl<(Ki_{uyqOxIqdFP&dM^SG{y824 z97C^RLUTMjs4=?FwNYH9QGW8tbWSu6nH$jzgR`3IVQ-6xWJ=`k#swRyHW+Vx1HR@f zJ#x)C(CQMN3%_#nL0MG@Gy?%AGFZ=LCyT8)EUxJIaMTWQMw*~Kl^%4UX&XqB6ttm( zU}b>|8Rvbe6{bA5v3AcXNVuG`&n$1PM9bHl>LTNd@$O>@=!a%>^D34aqwIS(brM9i zL>zcH3&U<`mPsd}OUp7qRMYnunSz+z*VP~BmC_h)=)_A25THm%VMC3f>@G`ibM4j; zq1P0bG%}JJtg~576h(rByT84pZIs^A;!=S)BbLTlU?1g7vo)ksD-U^sN!<7-{{(gV zN|ZDqgf{^N>%UjLojtY%S`xF-c2=y+Jse%&VJ^zJBEChTH)KEQO7-_H!^5OBDtuN5 zDfj$@6H85aZF?U_IkkHAdE#$CH^EH0t7fr*d{uG0Cp@M9^RjTEeHfVY5k8@JVSC+< z{UKO8&765?_DC3=VLc1muR_o(0)qi%G%alJIU{p3TMMe3!t6el1PuEvOq;re?PS+# zFQMaxnwZcqP1(q_-C?IR166)fe_-L$n&;CfD6NCVQGx|ac5Nsf9H+_cW&RDvbQVyJ z#d?!XnAh{T9;{RP>biU|u6&WEOUV+bck1#@kF&|G5)>}Nw; znDqwVelJk7)&2hcop}D^NKGbper~;$j|!oAVwGuJiPbyqsB^MB0#` zTk?Cv?V&FdZDo3n93%PI+npZ#p zlS}oP5hUM`HrsO?)E8qSWteNIKcrt>gzY>TDd!?hg8x7`G6!|f>T#Tq_?RZ6xjG+@ zn@F45L?XD{21zP2N;k^Q z)gAv*t_YHXVy?_5?GGHc;liII4V4`XG6>KEUS@&W^&iC zbhadYS<_|m=En`UsJuysZFqkP?OrYKyN)u`YG%@Y+H?yHfJ{Z`Uw5d=D}Sr z?&l&vCSouQVUI_fp$~1{f4I?w0+c^MGD?CM_*qOdR19#ge2fNJnkB8ECc^-)wVZlv z5gQXl(sWqA2wW?SGhfA+xxuK1bzH^RBC#fvh^a+b#ch6C1K!vaM*cYxuZAyDhX%;i#C3JmV5V((9XGuq+{DKp<4zGe7lm zLwLxF1}ID1I=sL%YiDaHRd;|c+^Cc!F}us!v8o9%P4x2da1e-%RQL8wY@PxUQ}3?psBE@e+=Qy#QW^~If1tY<|zE2mPmJD#ey&ZO$j4?^F=n&nZm^9AN$ zF?lG}&ls$zpKg|*cgS^sq_@p~p%g98nj>J^?Iwc&d`3h0Ja14~sIew9c8nB!xKm-q zb;g(*7pOaxnm=S_(E$?Gdm|%TI6BElZ_F5rO4_1BEg?P~+zq8ze<4*H)ESvvudky< zxi(fLqb}MWVw`!g(BCG32)_K!s#yVUKRKBt<8ODH)Iwpa_{WyH;0|>N57e zC1!*qXx`|2(*_+65G#rzzVRHptD@Kg20dLbWvS;}AXQsH18z_#a{O7HD(K%Sb7X0H zp*2bTIjeL)fkChjY$5@@!$WyI2UQe?#_2cbn_IpDyK5I+2n{y0yrF{ySYtA4R58zZ z6ArX3JQg8Rl5Fq$aaUi?#Dz@^|1eV4sg0i>-5WIa=LCTYLoIbJAkK@1^5oQW>A*y@ znoi0FgtS@Sj-$hS4!w&r1+>*kF1|g4YERDezKhrcA*2HiT6=w_w-vz`5$r~=aF+K? z1owb979zAut*Qa)QF(jN>A-usq|WeaJuU22c`xg!!(Gm`OXtI@35hrPkjEGF0?Oe? z5X=TMXvDOgz;$_j+Hi1~;AaYgx(@2Hu3zq2EG7WQOrWy88ZU=$qbBr=A~$5|2=MY0 z;$1k%hBz|8zx|R?fY~+kwo9&4eFS9`Mq-C@A^80F-L~0*0UiFjBi#|?R4YK9k151? z=A;?P1$IJUT4-+q@#g{T+ZRN-6WX!$d%pd2Jl}o~@c*tL&oqbt90TizN@DvQ1oMrpob^UX>kl+EB{!#Qq-dXV zmG{r%uu~e%i`t|In8;Ryq_lg0*BG{_1p`DqC%6_u4O_S-b;x67{#5nGn5)a zJu-OXfDEXsSmM|`%nQPC+4P*%5-c(WjK|0b}HV56-x5(1%FG2#@ z`UUv(_gU=q<)7LXT81Jh>jYX%8d>D=wJx|K@#gl<@y0&7xzf-foL6;~*>JPpiXN;2 zXSj;${uV4; zPoN90iBIHATM)Cb{YaEbM>j80lZH}6>hN7@LXrjNedDTd)i%Ok3dP7xl!&`wIK^j?5W+0_Sa1aezE_^I6^%GJk6K|o3^Y!;@tHr;1z-1OX4Z0b z>UCWfD0GTE@-M3MF%CtF@%08!y%zxM^7QIiN2I)PtOsj%YYoHejOe zJS(^-mHj;hgU3j&F=PUb!Ru?X08CaHF+g#|w%s$3uE?d!09KDP73zWUSD`44+Qv8zZZm6#3DVknyGnPi9AK-X=V3(#A&V9%h zVCXm6Kcl|!_cr}K66}h|Y))>E5C@O3Udp_n^)5bkL76fSPxKQA(#qbyN3gQLeR3g` zxGBY;yg=-^TkZnq5m*OS4X>d$xxE#oP5PFOOvoq%`;fc7Ha*U3Nwt}~(nU+1VMk%m zC=+KNs!=P%ojB)H6=U43z8h}r{H(Str5xoOObIkp?P>}4p8RZNj}_d~t6AYk?@scz zA=rU6-<4)a^lytv=T0sjqQ-NO>3BYoj4@vpChOK@fvfT{Vfn!TKcXWmmGQl6s|`8f zwYahWB^DvUZ0Gd%nVFCy#PMCpZ6NG1Bi94_udEw4kh#1+?v4aAPcKmziM5@wDC<25 z0pQDuH&ddtO;Hej9W^9M9vTFd3H60e(pr?u4xHs$G>tV!Q%hI4_aQ`GM^vGPx`6Sd zX);=pyOP^IAB$t}sDn?|g>sEk%r)O9w-XdZuOR(mQI^uANxo1cdbTXkgxu}DTviwe zOO*nZO@iB-WvTvy7k2ukf_|0ZJB1Q8l1J~>a%P(taWHxx?yrx)QtTuhHBF%^C>l{J zz=hT_*wbRGSz~(BjJ^WPkQG`U3@uT{9E<%$O-`d;Y-wg!jaDpjJvft@X@_LpqU#T6 ziRk0nJt!MnZ5aYBFC!PF5b7)sfij$BzB$J5J$H~D8!2Ez3j`Vn>fx%!>vGJr!pep^ zeJDSqGv+xul3pJhV>Kv+Ha_%vh)Aib1T%N_NcvJCCUnDCrpC)0&C z@Sjdj}uIocrF+DPUU)4kA{0kfVPDX6{_?<75Z#9kMj;9Tp7EPBqlVf;-tRh zlfh;Qy=#)24DRJETUj$yyzyYfvRx-5y(C6?`&&G+$nS=-X^TC|dkvrOWyUFg)nX!H zVn>9eyu&GvX`bs!2t3m)vJ^@Ti|{%(39dMU^kx;ujzpmXk;cm=e{HYHU;OgMrOd1d zZ_u08NkS6`6+-CJrc;WceWw-=!4yd2Ij)Xb!AC$gATml|RDf3&;0eZJ2C8R^($8qU za>S>fg@B|<^^0aV1<;IZ5clvEwuS8W@phl{@%GC4p^M}mAipU2%q%a>d`BfV?kyQ5~^8f|Y#aO4LUE@;drG1HvBCf9OELQxM-WMM;ypKh5=N#WDc z2?^skJ2)kuj_iR-lc&<%=G?bO_F$zn;|wfT<#WnKxg+=^Mt96_+^=E~;)>=xdZrUY zXlz>u#o^ozUHhj(D8g)os`vNTm}vQ0g%V_AmGR|e(PRuVDrv#AU0|uJ6ATc*rT`@+ z>#R`W6^kQG+^!n6lE%&uNjD#dvH!JUH|Y7N5!ZX#5nQ<*cehtTH1VW_(2wAg&ps!q zLYT4s3#2^pB816GAhP#w+&+yPBp-MaQ9@l6(rr5@AZY4T((;`j;_?D#Fs7e%(WtzE zZuH5%{XoY#^5+;aZGI!oZe^T{j8WH3WK3#f; zgEgSLj5iJ~&1SmLDrWp)3Sz!RO|Qef3HSpr4B&w6`ND<3oDQw1n*_kS@o(Ov>f*HX z5sC|;)S3AzMw~7g!BhYmH8MM&poNUI4|NdTGlw(rx{7E@OqAiyRs5D&vP6!T&^B=* zMgCGDF|A3Y*#i}-bc*5KB8}CFBt8EeBlA@AXBQYHC!6(jURdBs$=A!{jeDxlip|LA z9l%FQiut;#pV$3@wEn6BVY3?9kEfu($j#QOlh18Sm4cR$=`0Ivhi0KUT4|J~F^d>_Rx z6_iTGH{up4k~)V6=U0LsBq-T=x>pzJA>C|zupEFabz1@0h;?t_3RS23JVomMY9iw^ zXj-FebnIvWXv%m!r!0geaTJF~;z;-q9&7?YTbAy>b)*}?7n(}s7FF58>nfW7X67TZ z(FeNKP&D!DMjHJv^0i7U`kr(Fg-mC_v*|dvFWRK)r+_9V!(blU(?hzSQJm+w5atuO zNn&ajoAM+ja;g?iUj$8K=Rttks5;N4?Jba)PPYN?)>K9_Ue|`?J^}Osa9)iRHhN^b zjfF}yzRrU10~_nPh>htif0~SCGk=wtMLvmAg>KB|qt9$~G5WQ60m|+vKs7`&0`|;x+b9~yC);v5krJoCYvtE@=xB2}|UBCX+K0W2J zj>5O!neg04Th~a!ZEoJVfbF&Ai=V2VSJbok;p>k*6wTk_>R#M;S2lNPlia-^pw=7y z&azax%@zN%QvUkE&V{uQRynNRw>W}cDPEo)o@iI6uEw?iTNO0hA`Yn>(mzcXm}gKesBxm`Xhex)acOz zhC<2d{u@HUES6Y^LYH}7Ir_4Mm(abDk(n;A9%wY535b%xofJZ%h^QMhmdj>ixgNY} zWr2J)Q}-+MB_b)UOxcA&Lu0E%ny`6l8?k1&Ad8YhL;G#4m{_Qg5$5`@rlmU9z_aGy@O5uzbv0 z2e&QQ6;f0D&6jJ#UQg!u1C56jJ*P@t_psI5wL6bpUv}z|xTtHbBVT^-uw7aArMec>K>;moBa123H^dg1zy#4G{9tM9FH^Q(f3@Urt$RuL-hrTAQ2^8&-)jprxwE!X{jKlRbp2Tz}Ux_RDhpT2YBUsLa1?0xOa(rtWS zM*b&qSBbxR-K0tSyVEW$dPM!s#0eiy$VoJeo%-LH&Q*7dW0(GL{FxVZeu*o-&wp!2 zR)yNpd~8$Fd+PNYe}417i>H2kwr1{(ZTd%I%XiuNfwX-$PVZ-?X=+}L$dJmk1PO8(rH7^!UKBQyN(v|W5J-qo~TJl}PxE$Ga_ zF)LoTWGJ1p!k_!~sUOldrA};4ec|eflPwAPt3LklxNq3(PoJ>-xa4rpvWg$`H!c5U z@9G0>$FAHiomzPJ*zaq8+xE2EIxTo%Y5pr!<*)be(^s9Zy*b++s^mV}86BP<`Pay) z`d{AP_WiHU^n-!b=Z^h(VCdB373DwPswz9T*EZolpU8b7y(_;SRxVv}K)(3C?b!E=$ zrJv>oXD?o|b4-eJ^A=U19~blWnn5n|=QTaPp=&&R-4T2CZ$BvBrSWrE$U99$|E8ybu12wJowy z|AUwfHcX%*_(vyeF*c|2wW{U-ou*BQ+`RU@Ob|!Yj;w=s^n<5FN_}>%iVbRX2M~Q^ zZK`@S`UKYO(Y0ESxp`)7pYQ0J7>M}KMABc%W`al1t(5|FYYP>4JF+_!Sl_3b#S#^qY7?&?Zlcf}6CXJ?C($n=r-kt`^K%AS zWLi$Y7@CtV=<<__=A`nG@8u{pp*d|_1C_(cC-9{pU~A2Yy4|HAw;!k=qk;bn>PMZQLUaTUWU3!s_obcy>SbhQw==LHLONz-6JQHq z8{jd(lYrfTM!-vegMh<;7QowplYp~;^8oNJMsNdmXt%Kt| zEPV_L5s{+C@gFVW2v6t9k_AdK~ zb+fDNH})4(aC$C=Tg(-64{?uiZs8@NS-8c?`4{C!<(;w~*&#YXXXrEfntoRDxBZwO zBMJeA1gHW7NjdHYrYQJsHE8Bp<|VUc`N}o2*1!&$LYcG?c~7AiZ}R*& z+3s1hW<8j-dc#cXZ6B}ENFe9(a@G5OT0bR>X$lIJPd&e4HXWwp-8j;|hWa^J0vo{{ zMls#zBBHY)UrOcto`=)mQ%G4 zcYhQ5>-F!7Gfs5h`RI|$+aG9j>N=V?*dH3o`{(AzjwhDqF#Xp~d4B%9fWQ9mQ$BfK zDw(@hEK0j>v3^-zwr>B$>wMDUZsERv9`U=h;e`5?znV|Xa5f%GzVh*V-e<(-bS?!U8b$CiGcabk{}P9C^sdav8^$`4DvdZuSyap%Q@f8V)sdHpX%3-5ki zlCY?5-5XtP)^94N2q`~}Z~mm4EHNxUchUPh#e+AC?cSd+*}9l_y{Q zPJUv+eKU`xelyvxCvB|yt^Y0IXIdW;EFb)C{o(!});0hBR7qU*siH+YkJ~;C-Cl6A z=~C(Vnb!(4pV{PlfnV(NUV9K{oHjvr|Eam}ei-fZ{;^%FS|g$cLvZ|*&?zEZurm^&m_?Oia_|JO&>Dav&#Nw#gt>1Xs0wOxC2 z^3lzSW8e0D;i*fz{7!xO(>uTSZZZ7utxxx*%a0~s>mC?9{#{|o_HQCS3p!P^dP4jE zu5M~6-L&|fke^p6>s;#tMn0Jnvs_rPZzzJH+XqugYBL#oIzFB)J?x#^7|@l zyRhu+aUOP%*1h&;khN>+;-Y)M-BdDv$@+_L_O80}b%DCr z)#WMkDVox0B}dYYf9%Qud7#`kKpQwIHhkLL`SCLnEx69;CB`uJ%B!B!kU zerkOD`1mB1`FGc~;Yh932jQ>8Rqpo1-cv~dviI0S z=!yb^7@{)86C`R%@FlRnYvRcjKsfWNngAVuKE`&NIm7`vM*V0D z4*-6h=l=&8;#2@XfCdl<7y}r`R(Jx4Mht%9_q|Z+b%^pW1Vch?8;ZJ+W>6cAp|N9n z{4DpaN?3~PT)A}5WD|>8Vyv9zAW*Qsi#6c+4W@AQ;r^DMKCu`>3T}jQ>va)APuFbB*?t$DM3#rJ;mxNT2E1WlJpd& zhYdo~6}h$lNHe3p#;# zOGuDDv`-v}kBW*3AW)MCR+ULc3R00DY0yRnQ2H!nqZ%L?jMXs4F&;cVIar;(V04Et z30El0%(~W}=g6bMH(LCHW&Nm>o&xcML2C-eF9g3a_+dq$vG|4IHx55Dexi)w8}zMA zgA+6pH8L5Ekuf0j7eIVib6rQ36j;2Sw{Gt!}m4#ehiWe z(a02V3@CGVsh^Xhwo24jjeB!`m_wTHWVZrP zz6gq>$uynjV!W)Ne9W-zbO4k1N8*yApcLg+Xgb;vhYDo{X%$!zlrDe?i$({D3N`#z zfP`?<Pk;m-zyAY6~>HW&UXKqA6jq)}+#F9bv*+yWOQV`Uv672$q- zFTfA3nG!9m{1M+zhTjcHz;mbzQ2@aO~%54ZGBXk{KE8t%Rz%W!bAoqpvKLnVAa5r+-!M`35gK#U{bk;xR3AjrT zzJu@4-^vF7K~OhH$bCBe8v!%%`~q^vv{x1YCLnwSF6dNq9)-II;hXqg1^-$=IKq38 ze?I*G0?bFa7x|BczXUK9;gfLv0Z##zA$*s(-5Ky}Q1k8Zm%$&0__M_Av%znGe?P4r zcR*Q#kOiS@cP4N$?+o+d{h^hjTB2w}{(+Km36tDnX{^ zc2^<*ew^wPeB*$BJp6~@n%M3~;M{}YfAHEG_{YKjJp2#CKM($I@JTWJQ{aCWZaVFL z63$Wt{~`#n(h41_@&Uf6Ks1_Cbq>*4%!58vy^1Ik?cNRtouv91Z>@$O4WxP&{>|{u zh5rij*Z@C9q3Uh8$YTeb`w;veaVxQQDueO*Cb+W@_c>l)2R}Aj)thi#wEHnQixK<{ zujRsz*`#_2{;lvYfd6}ZQVRbx_)o!2rm$QTrCcSbRf4}t(5ko~6&BnKkv^tQ+*r~=ig1hSAKd;^WBK+W zZ0uOd{m_;ESk?pTjQx}R`AQt~@~9L)tQ9eQHsQW2-AmAijHn7kN(h%y34G;no%lJZ zd_;9efy;z4xk9N@`}q3#2k;n_GC?61$tOB+AlYV@oQ{%p?m}t2T}r}#Y7j-GmA3Md zqLOuUq;)p8W0S4A$R(9H9Cn9Y%ByrsC8chu!r@kv+LD6lLC3D%m%NEbUp^mDBCHB&Csnq2z zDlM@&rMxMWQBdS`sHf7t`%4OKC3Yto>nqYMpGa4wq7rHOqDA*)PO~h$Z%!P`DB0+= zmBdr)J(-!yGv`PyG}Qly?O}!Mijc56k`7uc9OWAwV2FGqRiN#mXN z6U97}-JM!IVp`TbfA&>G!Tt881Nxp;9O4k+T zqpGfj9J_}NsEZwLo89KNNrg7FYRN{Mv&b&3bCecu=0;et4KGU-Me9mz?#gn9+CqLK z^2!nrJq`=b^Xm{jVfd?}vB;Hx-Uc)b(s-~sbgS;F|rRnIl z9M+QWE-jyeeAbmXUS;z#Etw^Jz#(1}&`5#&9JU-qsQiqyBYb{ovCHNz%5yp-G-3t1 zh-X3ASgE7R4Znq=bJvxZR-%O=nXnw=yR<+mb`+OlRF^w!_N7eg ze1LqhnM~#6I!Z6WsFEs#0PISthpFD?c9$1nRygkA16qm8D<~?jaOeI^ALJI5*d0~U zWT~XGSVvz}NTn!CfwOdz!;YK+Vi{ZDEUIu4?;p%q8Cg-^Jm-cW)-RA+C6PL75oQef zt+afOwCH8Zlk%LU`5TUNf**--xA-OYN$M4ka!+6u+Dl6u>P2LpIKE=yE?F5mb{WR* zAm5E~HFYY|EzNg3+%@DHpFiF{KA)bFai7X8w(@ljppEZSWS*^qODA`M+x0lHnZ&SX zJ}I}9R=TN*ct2tXiSCp0A#!O`Y#kd^NySAaMa7lH7*25}lL@m>P2)}R*#dZvMaAp% zGI@q#LP_aAKnXeR+(xs9-9 zI7%uwx4RI1v99pAf<+L!LsUR4mljSXX~hg7(^NISN_s@*o+n{A+U%=HoD)WI&MI{v zvE#HLMoDu8wv^Q4DQf?#?YJs;YG52J-#t+&o*!h6=J3J9CTT^U*&=?pzn9 z3YJ-l zSR5VYx%qCWwUits7y0~LyJKTf{$q4)lMSUSC@s%*U`fDfgMWYt(InbN1n zvhpgO8**F8obN7o`q6+KHFf6aZg5oR<`+8hH&j#>Q*kkBUe7AfZuuK3T@z`h-JLg) z;_?4+cF|E#S>ed7tSHa5xr!j&GYQ9s%M_Piur7_PMI{BfdDUAv^)ynAr@5Hf5vVhV z6N5U0ST%HU(*TD>DA!hzUsROqF3ruWEFfUn`vofCxXlz)G(^gM^b zRm%ogfer0}4%lN%}3dkUyB@nlZcs1iA82^gGNV&6Mc%+9i@Hfo?@&Cw4pek%xKGUV4AUfY_UztH15qK$83bZ_m%Iuob(U4l1;l=N4egJx|;A#HEeS7DX0Q1Q8hF>>#hn9fUAFQ%odv21~BMj$kGFgRubOcaOfSdXRCO$Y?LU z!Er}oFb@e@jOB|#oe+!hkTDYB?IocJ3v2+uTvCl6D#u*ivt%55i;)8@XZ z&Y}w2M#mu`z1)ErJ)PZC;d11+Da48svI))&BJn_NKjcN+UY3Q@m)OFKE34246>dj) z5Y4dXt@EXhe5b=!j(*$VD9J5UEAOX(U}93?rms1mUmO&B2CF$MnJVnL3YC~UT}UV> zsEo!CQjE9dpBOc!#MUx)lzis`xhow}9j&a$wU=%xaboGaE5E-8o2uAU-e;S17AqQ53k!9WGlrjw_Q?LN7&E6@)N->1l-`mUN~6QkW{8wprXg1qBt3 zVUm@~19KBqs?8*So?a=h*hrNw?ClPbzy!~?JMzn`T}Kr&^NU@NbN;WWI0K1AsQ+AS zAJDG|%>?@m3#onUyuu>oGTBN#tzy_vPfu^gGwG1nK;>6wZ`^3 zZzw5^A^%5-(=x7<$seI)M{#lfBhUlF7rKGRIP8IBvgPMTs9ymVgn8_Ath3Ey`~$Mc z;$o$m>y^pEiTy!rh{fYWY;~uU)CPQ+y9zeXhTL_PMRsyw)prTFBg%%9>KcK6UhdN` zqcf_I(l}x{>UotmCt6@YDO{yEpl^TEjEyeW+q|*3_%NqBNHvbK(u!Q5Xf?cv*12Bb zA?6GGUIOh2&5;#P=w_x&gI7coPjr?UK0tpMHLq1 zD;&re>=BaZGDEpzy`RROK`Je=R_uGkS20;O$J=;eKs~XP@;MF%(%1mjCudVgjnnxW zl20dLvyUc!GiTdqE2sRtHz}FQt8&Nd1Is&o`ADYT@1xH>;KS6!KTf;yN^RIqFemQe z*jU{6BH2Zs?YR|&*f{em|1Iw-+(heg?IlhuXX}bSl5y`6`Sz-#Fi^D%|TW$g7OkQbefL}aT$v6rKBF-PH$Nx)BXm#V=qrmO}T`9%jqar1`PZ^lD-4Ht?K;yJ?9Q>-K*hk$5)o* z6-n0clr7uxjFWiVS&nfuZ6&g#SW;{!7?O|xVJ1M>6bO6IvMCTop@o(WfkJ^YOQGx$ zM!(np?|EX$R%Gky>fCeQ-+B)xnUvt~Upv~}Ic@^1M5KYiF_)21=TQVfuL?+oLSb%O z-|RFl4A2HVUTWP2DY>m2efb9XLKM+~hl`l#yHVJpgbDl$-@^~`$@I=K#3^_nv#AMd zdJ>BryUUrrTnBFp+%zlTv@*CY62aAgCC8{Q?3Iean649tl;CjGoJ5_;M9nrCgqW`w z9Al0Ubc`bsi3VbEEFL<^oms=yRj^gLfN^wEA`-`Ikq?SR+F+F_0HTtW;iSyzYTxs|& zASP@0YCThi;717xtRM(MQdhwO(EnX!eTLgZ5wFTPig%rWh4V)_WG`_ck~q!CSCdq5 zt{kTX=|(weAmt|MdJta9A%xMJoNnCJ0;O6+faupL!Tai~L;^W10R|aKKS7j2@I@rh zb>R1iUIA7>sa#d5sabxaYWcqz3=lBe0DF$H3g|GKrS9EEQ!IY946YF zt3V)zLmu5(^raksnKfP3T@>sLBq}n}DSEg9w@gSHEK001h7r)DBP|Bv0S;Hw-xz-) z>9bzXxT@23Q|>9_iERm-hoxURs?I^!c##2>_DDQcA+w(a%ON^ND zL$b{?tN>If)R~HNoMFkjiOpD@u6q10IY@Ys77-)IK0--p4lp_2YO1So@OJl%k9JQX zz?_U$TGLf)aXi3KJbf8L$+;VI=}Nsz+7?Oap#li9CXXm^E$^6E(?9taB1U~2AfNM; z#w1xKmaHH;X{!P%SaKNhhAv^Kg^;bq<;g@PkR!0i>2f&T4&09c{7$@!LwkRE+Peji zR+!?TiojciG{iXZglgbmI6Is2BD|T{&TOw;nDi!O2`*IK>TN z$+l>FkTcCDYYK@4j-+u`7+p+c0tp5Y1j7U#6bW{cS06@EP09oU4jols9{cs`K8#m!q9#^>PU z4kaTH=SUL`B zuvF0ir?Lr}fAm$2IRz)hp$(MLBa0)BN22AzH>#!?uDR5yNqY^-?q&CqX$1?O5oyjY; z7a?kr-L9{hauxtr>MB6#WWIa($3ox)gdU}HwZIqQ4b6qSGJ)v{Yj{$^xx|ihbs=W~ zq!iwSYrR*jT5h$0Ag%gZGc;Ga7`f{gJYo@a^}KF>zyHIPd722>$#_l!%{U`WgP150cl`- z?OLg?cuQmsug1=u#jvJiIPI1E>H8EoljJCvGvqF;9~=xxkW=vh8eKRe+>A+xR$UJL zz|fUK_OTQRaaji<_nON9Oq$`IzO~(6z5HsM)H6QN>9wYj1t@VLQaP2;!(Mg3pa|Ch%RBd_sw41%D-c&5m~U4N5~;(ny_vRaQ8*LwbXS zYfHC#k%rtR`KlpfLjrQE!T_77p z%1vn&T{SoeSb7w;+av^Y*02oDv$x`RxI*}XK=bhkfI~z+1VS^I?+8cIA!Pj!)wJUh z{fg|$R1y~=DKr=AfR*eSl5i9%gbu*V#SDX{uUVvQUC6COvr=U=9+*x`KHoV+SM@Ro z*ARtph~x?I@AapD1zGbzaR(t|n!?o9|>iSQVx$%|C+7<3~fvFGNKf9Z)kXRiaH4ze5RF1b_T zReYn#Q%W$1&u|pspDtGjD3&k{MuaH98gg0u=}?~2E2aNksSmtq5Cb0;IMW&Lyxx+H zsF6a!>T{rLWU#Nx1pWk0b+K?oTH=ei+f+^^tjVo5#QQ~3qh$&Z@d)7O9nv>dwI+LkI zX{J0kq=NUlM*RI=3H5+jM(R$iknP4IF^#i-L;;67k>pv~i7Wp5TDYlbSPEn_$rGt$ zxBsmo=tk0bHvOY~XbQ1ws>48X!Pv1-&MXN!C9ZYv=fnLhMIgA7j1Rx#wj6m+ z`^ZVZJ$htx_lDR>->+^z?eM{|jlS`}{I9;Y@c8@h9jq>N&rE##&)ZZ#-}T~;|GuTS zbjP2HE?zTzP4M_XKmOxSU#4@X9=L1oyL|^<^SyCn$0d8R&%U{D*P~-MmW8_>spZ9% z14m!_*2Y8*-F4MV&zjcdT(U~4$o!Y=+;N?1+i(9m{)OgeVWIv ze>`x`3-vcQmE5#6xoy+POWD|s|2*;C;-a6A6-?aUyY|79^-zM{A-Fm@bH3dVaF5yz{JcFMRNSx4!TlB>r??dTig& z{+`j--s$}P?yU>$i|ejD_1jnWH2c~Q*10boKKZ97*ZleQtN-HsrRcW`Yq6G_vc>T zwDqc<_m7-eGaMMcrvA_=_x|$2P3^Tk7oSmh=%2@I-pAH^dwQgAzIw!ULe=jZ4!So- zFS_K?b8^g|-_-j`=$ZV7&v{w8a^a5c_c-JSuKs%IF6UJr7d@JI_6N`VZ{7K5uK#yg zGI7zFTRktov76c2{|UFZvh=@OZ_1wZ{=f%^Ck8+M2lL>bz>c64_}MN7+EjEHgB~Jj zD;B3LhU3~6$-k~+YREq_HZ|by@1E-SZep_)QlE7jogxoKz zQ3t1XM&^=JzjB=ri6!%vRoC`-a(dbYE~E@zEik~TENWR!$By6{TbBb5ddMmulTFtc z=}XHj0&M4*Ek?3g4iQ_MyRNPo(b`lw2neXo#Z_fyDiEJW^aX?b@{&#`NE(o%!z127 zoKuP9jv@qv{|#3n$&a#tf6TuYS5f@)AIj;kMTW$+rjVz;7T?Eu{@B#I?vcK+jZ^)D zUENh30529NGmEoWo8|$lccjc;F=24J+@9LH`i4f_!~l7oXotobj|Evs;eprS*K`45 zrkhuAPbxr>!-_f=mKFE0NF~U8a+w{hN+{QH4KRchbUb*Ufo`+AkS!aLabk^O@cx`3 zEPiA00S!5_5-YBOLc%$EJPpt_s&u9Ti+`3A1fAdJxKX0`D^GO1DV9F09Yzf;nmmJ$ z?=9$M(5-#OgP7cuo_)NS{BEEp@bEOY?W_g-$eqx?hu6mr*R-R$74qd(*EzQ^uUA%9 zW|56gWsrHRIu-m?Qn}=3_M$r2JJ8=f5M#C=Vslkh6{stm$~SKoFiS%+t~fykUgf@@1~QEGH3FDJs&l=!1q z7eADz>rsG1n*9@jmt@RW2D(>J#5-VgG71k1ptqd0A>|kat5?Ku@7KhvbsF@xm z{KtwyR08+oX8(i*C#Xk=N|cBWcoQS7iF~cpMb4$n_eQn~cq>S?brHVa8z0?e@TET^-{96{uQZwJGNTW=0!z)V6{**S35{P9pvA83oWtrQHOeWtnr#Qx$BZ)UTYJrt$ z$2;<2B*N{j6J|>+ebkDOD9%_SNTrcZw$#&zWX{G){s~@zySL$J1JiUwuYj6Lp&qsV zx~(XozsS?(+U5VQ-wF(PY%Y|1@IrppF3e%eS-d7rW5x7HEt>ZZA|0|li^^*F8%iEl z99rccT{Sk+-90regM2ysrnqXr-`m|aHG&h8UU>+Mh^cNYM}r@%&_{5WAz~9}J9HRJ zqrW!pmi#+{gQ>LRBpg<5C{()E4vuByUo$-$r+U`6Usw#fSq!C6@)VGJ%1FRV&bTmWPrl-6Yk;c&4|ak4FF zLLs~BoiKt&ANj3VrY{7gp7`sW5hrzf0~4%8MOR5@)@nU*(}oiA&4)z!W!ldVO5p3Cul2&uXT90QB#drFjf z4OGRh!xB2SP|Z4{vCJ58c^aMH@~TFpxuK|`PepH_LsIW}UssCaC&D%$xzYi(3#Wh6Cm8=0h}aaC6sF>66d%*2+HO7FcZK6x1!ZuJ= zxIKU4*(ap3Wc0>jS;eV|V?b|i_#d|>IBqw`nJuncN#{o+3wz5wH z(+oA4pkeV;N=&OJ50c5G^J4NgY&wM`BSQz_`A zk3EB~hNjxbc?Rtor(=U6b--2cg1*EO(-}hR#r9l=H4q7k>)%(4;m?gu)O~w#hqf~Q z7ul!>N8ebmjM)loj6)JbRfCOwg(Vd24JFHb~U5LJi_lR zZvpMEGS;9RL_<%$F9Ljh?PwZ2#?KEXQbYai9Z z!#;C1W1>(F+D842+Hs4GoTrb)TveN0oBir;@ia z@2%?gcXf}z;2N9|#&C3+ySvT?GO3W(b)4F+TUVyljjYjfKZyFkuQl+EjNNH=2ZB>R z202%#bk-xO#O7NpyHrrKB()e+*ZN!zS2I+%O>90F2`hy;Ip_0{cRa)`Ll5U%vlI!< zBqf}rMz{u_WtSFGOU+U&DrHhEaveix6^I6`4&CCPtx~30qby9kWfhy9b=Neb52P9J ziLoBoo=r{91;UXZ^2DWQ*iu&u=A$L_iPk`;aIt zmcll#G+_aSVe&BnHtG>Ukp~NH3(5^pW?kq9exeAs8-+ckBU0CFK-y9OUul^~&0!RF zcGz1{U-_c6Hiah|P2@O+LeYgX5-!3cE`__sM>{+Yr?g>JXJ1V*ZEWpSf+S5;kQP~a zIJ3$>JdM^8@99#9&l->aw*&b;GF_4CL9GOhCGKwel-Mzb%k7eE&sr3oLW@#gm_-J1 zkKKuug_T}*TLD{8#GYG%W?C)!1+yKfNpSE7;ITH-i)X z3Acgp0PxVt<^^v7CSk1TitQ^f1`dcqCz5ZgiN3?8q&pO_Na0lAC!x*kY-}Z3s^!VM zunDaqiA*mk-7pPub0DLnrfB%XF8HgGe#R{uKjxukAh{F&&;_{4w$l~VITDzCv{ra& zd3ytgm-M<27t&-*Q8VziV zTweuL4)69rf4;Q}-tAz2oPL1{TcPD}Qw?ed+ zo4e6N6xM;P&O0(QkA{e29lhXm)OOYz?0AvhRb#Y2>C@Slc=BJWLsJjAz=@n%JHB80 z(~Qd=nlY^+|AbT`1LLC*yn#PFw`fl%L-yo00nItdct+dmjHT^QcM!e6SPAnV6{oEw zf?23SFV#8|Xr3~{I$#=C(=jwy4AB17{IFIt4ruhj(%gPgF^f^lD%# z!8{d^gCz*4+i1vP{2*e1cp?d#O1>se=;~hA*V#QaG&0yV-Z|C{bOR8V(*T}o(QW`g zAS6{lp7&NlH`w7lHIW%*cUtq6*j}R*5WSH~kd=Ux3_rP=N<{ypBK{L&vWi*D*#5+6r(YUVB-gTSVm*6FpXJA!Ve8fh3J+<>O@MgW3f2cQv5P z;`}1~K8QA(a5i+?@(XBg0rD|f_H`W9@_GbpC?5OKiU;aeP_BfY*;qQHh2;fIgLIlk zaSvhcAoM4YeY2L#Gb+;0KDmMxGXl2!lz)V)-JvGV>^4tFzN_Fd(!Cl4q}BDX4c$k! zj#{+0*-P}{hg9^NYWkp(KLNdvGWfu&`MQ;^kgM(m-dr#H7T`pK=zVxKJ=CQ_s&Fk) z831!XY9l~`74nxgz&8D><^EK%~RekhB+mD%h0jK=l|52; zKBN!lC)M->W7vo-3<&PN!nS zE9qN}?ECdlIg%qOR_eQMSAvN>-z$yArlroA$b&U>ldA(gShf|pb3SXzhOWLl1u=CP z=7QO23He&Tj~QA?0tCVM?0_z`wfbusSeTyLinfbva4WhLr*^o);+}8@tkr4I>~G?H zxx}d-szmRv>4cK&%Koa^kEP0vZUHj|B=yRp1*qWV7hCw>Hl ze#w>MA(X>jF3{`M^ab3tuudO~w!=UpD&zF&HtOwwv%BHRT>pG>E{rzrt=QJuRTiGQ z8GAS|L=E^MJOnJqFiWJtzoGZWI@(#MuUTyq6W3`?ap^@bxCuMmO1r!{(w}nZYopBH z2$u_RPkEgQ(|90j1%6{2H6gW*#K_E)x*`~#oq(zk(P zKf*UzvYR7A98&wF1lU@izVi8IOj|IhWvv4G_ujI(>AyBAW(k`D{x^r{SWnpFg#56w z)Nwfw;3=jp@R}jQGVnOftMx&-HI4osk5jpb&2uGPDyb|*1Ccp6<(UUY~`V871*mBq|Mo8S^SD4`i977qmDjf`H2 z8_>4+_@cG~+p!L}R~qm+FK~F=X-OJeOrcBYV=iZ;wN@|HpdQ9L(O`a=L%-^Q97E?d zIpi0vtS7drkUy=&h2GmWfPF(0%{6p68d9UU+o4lFuTxyAX7#|{Az;%G?zqa|iFEws zxou-J5osBsv-bTe)Rj@J#T<0x-BJY=?0O#?+Rn+aMPCun91KU$Nx(*95TNF4v2Y=DA zw;I}gXqdm=MV}`8^M;hqgGC$ZydD>r zCq-XTPo~k) zNmnzzW@#aPyDz8tIkc%L(7wy8sLPr9s?Y$(*UK*gkS5{uo-rS?s}2?dPME? z|M1lGLNExay+(woP^v-e2)tKIj<(d|vGW>&GKU$y)kw~TI{d1~uLk^T#IGj&3IK|E zR*d_n!*%Gv9_?p}KqqOIb362*+JktpN9KGesJ-W-Xe3ltm8E_2)%wtA9bBl<`&Jdf z9P2{cXlJXg`85q`nL>Q^CyD;|J=50%V zA*N)~vkrD!b6xTr;zWjBdmEn)Vsy2c9`wmF}>T@o*oi=po&Mi(|jTH*84!E!Z&F2ku&Su!>FZSK(M-;_HF@*!F`~B|u zSjy?l^;L;zr=w3!VBSpE{bR3lG!lQNDA%{g!zN_pOKS9Kfy)C%KU(Q?;&zojuLk}= z>C;1aoJ1z%`22z?nhvZJeP30SMbp?^GcX%X!`&Q{8n*geD37fKIs!ShxxgQ)>haa~ zSGLQqt+LhE_P2ZL`zuFHRfH9IA8KrK;S%s5PAY^> ztbl4B*4|k&8%ZYCXENHeh;AthXLru486?bqm)O@zzf8!m`Jmu)_$6itV=IgrouA+pf` z{CC_Gn-gIRCQKZ$=oZ;{+UIPR&@9xe+7eFtaM&CiB{t$gPjd|`6qr$rg&^_@_;VYZ zhfXT=50v6^Cm`Z*;^Q(9x{-eT2?Qk1m@07NV+s&3#MXw!k3(31p;_rXsKp=72l(?O zT}`oKO!;b1{Z7=VK>i>xj^0m%>oFyZmfiRwf|C2$$Fmq>vN;!`(MG4|zd7gQ3YJ99 z*pX@zX6+bR^e8%mkC!IG@3pJo5=_T9Q`tc!|l7aA`h76l5ufxy@RS?_&c8FY!g# zB)iDB%_{U+4g4p-4QS|xPV!ta`3Qvbtvp)Jmzl95f@G+=J(P@x?*sNkKq^W}zSH3B zg7tEFG{)d{I-n*TVfN&81=3S10_ACc&(6&3A1_SmcU%NIU2JAH>|0Vke=nmEbfBi1R=TRBMzK8eugkxI+M; z7=wGOJ3(E-z_W$28lX3D#xTx5(&H*!7-`@lD#mUS$Ok;8h6y^f{{P6XUXqS!3h>jiElKZbigqFKww0xt32v&V z$kL6K1}U<10QUz$_!M~NOr`P(1H4O?%Trf1E@b6qiiJr5urC%?#=;mUz1RhRV3w1q zf5$-!%AaJ+nMR%Tor)}y1vJK|V&UdqV9rvhQ90^$Fj=F{S05?c5xiQC$f<9Nyr(cU z|4m6Ot6g~Q7OtQpEf-0>Lw$q(!6{D*sseeKz9H%Lid&WBIh8o~%``%isV7*t54WUW zgC7p?EJYHOY zk5#^(@2Zm4{ca|oS_3Fzh8^DLY-N!hca;wHqfi>hlumn6H;bOq(a4+`m-%L3aqZ~@ za@j`qSQ|ZNXzCj5)Zwr!FIU2RW;sdz`dA&Zgap`I3M3eLDn=qEG-W(ldS@3}%AvDM z8X4?I-=H<6?>eC}H5S0C$1Krgm1JHE2Rj4k*uY*C-Y?Tmhc*7vxK;9Lpscqeo-{2; zxhXUWQF6gr{**%b*=@_nEtbGU?uUi&vzd9U724}fdZOMJXg{Zjd0f_giU-Zb_o6AZ zh+6~n?yc&MW!F7R#->Tz8s^_y+bXND1kjM}e(J>-Q6%wdi#WY|wa|nV9**;8rqvgN zOz7U@@96C6?oleAEz+;MBZN)!*VDt*?3Mw#ZX@|%V<)aP(%seTBqVksf41O>xJnIs zW;){-GLc)j9~@RGrkxvcNF$N7(6B7_O1a|HyAEACJ;Iu5$yP1;wPb6|RZ{^i@FP?2EVO@ZvxCllYCnt-Q5L00k;8z0}8ep;M)3;&JJlNu&Ssmv4|49 zEwXTMP*JCDa(Ue+bHunAs@K zUPx%+Ft<;r3QL2)9|&go<(D(4?V`7^0e>X{>{e)> z4a{wubILY%rL1WiW(X@*pAf=uQYPZS9tW4ZbAyLTzH}YCB4EHzW$=WuR5rU(C~=9T zx4^QP9wTb3mf!DX9u8TOsh^vfyH0@r*qM$RXvPRb-na76oxTZcV|KE?1K;=hk%7te za|v%W@Pmho)@(tt3LS@MWgt*VhB=*+hcXxZF6a{x&N83+&-&%mX~T49C>@sYs{8j& z?!6J`XqWVvhP%yK6zr1pN`!Wkgx@6b=;v*7!Dl7`pUB+@HY7)&)HRMWE#4@WZ{(JA z*s`^K+TJ>S@doz!4Qj-(4HBYR7K1cfk&8hDVoz= z%QtSkF?uio_jDDr*Q!8bs&0%qYUiIpGk5yU#bJz71>)CL=!3_)*=MW_w~qU2yj1zh zRx*T+&>7{GaoMoNjh4L+*U3B)x}>9P^q?T*UxU-A3JE7Uhe6d)R zUIk`b<=0h4pUy%)HRt-ea5Kfl%n6(|9%&_IeH1Q!d-0q~~sg**fMZ11D<9 z2tyuK`1J`c(yR|{c9p9`ZMA-U)~op7>E{9&r^DX1VDb_qu;9Q}SH`yZY=XPv(D z(q2P!zq-`X4|;lKC(cxN&d*?l*%jG=bGA##T&BrQf2}5O0sYNPZdA}FYzZP`R&ity zX?6}X6FDwyoN&@g7IO>;1&cuT)&|8of;~M|>xqb5sHKA` zE92UmWrgi+u}C;&g+Od8$TR^e6u+j&GQfmdm6*zdR%FctubL!2Ieb0 z#nudu)bM}Wz$(^2^dxdIk~Y~D*z;RX4#{+7pOdmO$t%Fkvxf9QQ_(^dwDrWcS706A zH;25$6X-<`Va7F)%%-KTQ-nHXg7#|KrOu)8JQkzQO!;!Kxxc>lFD-QSPzP!PeP?yL z(P#V7M*3MX{ZA9U}S8E~GGgb2)lSkudnlW%4Ee=M*q+Ju;1|SR&{i3}eI+$ttcKcKWOf zHvE?=1c5b-9X*NM(nG&JiF~KrJrK!s;I*IL+~l#lrRO!)%E0qHtz!*UFVc!+vcJuZ zU^GpcIv;Xtw6w^Q&a|qS!6J5krMPgJtzsHuY;@}?)96kFd$dh3;jsBdW**&H2)ePa zS4ntob#OVs-d&XLZoM&>iO7&&FeiG|cpd|7sGGhuG^ zQ?x@QjI<|WOh3xxD~}@6eFA?!=BO7Q1O_X~Fa0XC!lzuap#Wnf*<15?b;PkGdPNwvO)hy z=PE4h^WsmQ0#Ad!>uFG3(W3axK_3C(gm#{6+Us@%V=r_xEHu_<(aUifEt}^4IHq2M zlym|1AjvnK;fGlL)t!U=L#QebbXPS}@|xe6$RlW}p#^ZbcYFZ#BCnKP0ix|SuHBxD z+HFZ3Qro&^lVNz^Ofg$~MrZeE_t<>BC6jzZgbOp`KyABx1n|UhUF||2Xxi3p8tjIe zit)t#jq-d-S18fK-b9#T!aOdgzfsw)PNPo%;X9e?w90;TsYj&j1&n)VEcLnGT&4Vx zQXhw^f*85jIFjChLH;AP401H<$N5bRd(TjLGJW@HtXj>b0nTYP1TSFJg_yNM`8w_F z<*;GNrU3P&x&H2j9SiI6$kQ?+GjwW;S*zLX0ebrY3@4a&9eJ0dxu@l~Tyz#*9gGE+ zhXNSiZgQO{wgB6cvGj`|j@?+G0w5@npq3}wuuR;fRaJotf zn6;;ys-)vv*_XV=&8ZEtrD0hzgKYJywW9K{O=q{|Gk>!ozGGXO*n^AYD;rw|{JU$U z;MNryOJCQvLG~@B7@4f2=u*s4tIr(NO2D4ElHTtnbpkoqO#|I(PE@1?Hh&R|Pdr0J zwbATwY@+mdKIs~(lGVBg5fM$^5;E@G9>wb%93`a=3o9s>&^`qA7X-l zk~Ur1O2)yxBE-LN=Nt=l#jH=eB`n7a{68b_AerLU|#wBp*-bfz_e;%H{`_co0mod*Q}Kv1^N;8 z4Wnr6Os49!u*t%{0;*h)y_bs#nQ{1nYsK`<-<0UVya#0th8$Ruf0OUUDEcmux|+G0 zXCS9-%b3TFdW!;ACk1Xwtw6mB!Oq(~Y^ajVPiXrgC%O5crWnMz!vz+sCO{myU<)~w zw~_+R$-^GKt`bS%Drx1KtR=lu1WT)QREdL$83I}l zu=3QA5VkGIjDhm`tS1p!xK=LOZg2D8xI;I^j7FTed2Qz;@-$Tq?1um^cVTs@_rAu_ z-$+?1k^|(KGb*X;s;D(f~L%RdF%; zX$z|&q$DHz8FHmz=p2niwr#<-Qmc!UUF*qBP!pNEqt8HYX87ubQG8R5(1GRhQ(T#! z;tim<0@%HnE^&BaA2#M%p=;US_hJ-X>#fp63-VMG-kTrz6|nwR7uIl23VPqsTLH|1vI)7?1eNR+eGaoojY|l z0dOT~r&Tr8d2`HL3aPs0g+@M;lM~eqq7yJZ2u&O0(TnJbrM!BIEb?S?lzL0C=|~Wp zNtE`(4IoaPwwhiuOn-=(yTmr(KCII}9q=VSEP)^kr988(Q-4 zV=DWjOmtj#n1mGTaY>&|Vk4w)NZy9Wm%A(JY#&TBzm`_aZhIQYD;Nk%K-xXKzxq5t@}p+liSMJ-R9dWYxq#${lB z@Dwq1M*m1^W-;w;L4l!{M{8UjXfFmPtz`BA#pisL@WWgh9^8VzE=ijTh!PbZd8wU1 zvHIVH{Si1!%>PXoT2Nq!^?JgiEc|z>Xaem$L{kb}A;(lpSnP?`8zfS&o3!MRVl9hy z)NPTS0{=j{2-oyTU1JkHqEd~Wcq?6Kjo3FH#1tQ%sb@ucsAr^jn z!|v$fdhFCO7So@OYTT$D6L-?}YKRc9wu<2w0-{v8S9EY#n(sJKZIUo+Gak2Qm9X1o zfNL4Ux`W*qREAzF7f~ijhEF*)@;{uN|)vU>Qt;2d=6oA75^X%w5|J zrc}e>aiZGmeV^= zrH@W6kIcJ)lyS;c*coOq&$kA6oEnC)&CIHuW6M2B*imR7>GZh2l=G<^21CC-U#o=J z74z4lj0x5e1^lv-eMD9kNf+bZ9PqWm0FQNw>3KOp&i`w4kOcyOU7esWa5gb?DPI&C zduB7dUS|qvm;*XCCdxd6|3_))f@iH22h{zdZx3p2-ZNy8LAre-yHdd~=j;d1l8^Pt zuE~Qt6(mM5vVN&bpKLCHtyF$%4y?FzY69u|$>)(_|DMR24!F7#p~-Pw`jR}ELrs6# zn73^u;72c?u3_HlB315Tw0L^mEx^51AjP+R&)}-g_bQPcSIFYP-W#Nc!n9wmuZc(K zUvuH^F6KUgkln~#i_)fpy2O)m?3AaA8oG_sAA$CLGK5Ba zeA`wrFVr({%p-#>{EF`9t$9VJ_i$KHPD#{Gg5K9c4caL1gx_Mw?HC}$y4x1WUyw}zasaR+~;Z8ZC`UNwd*mEk7*}jI26ms(tf;aZ;3iuYd zTByU|J~FE{gvaiMb~({&syB$HdNyb5pA0EE?7=DID;v|P$PZt28hH?O zv3QBtZGja^#EeJJW?KQ>uS9zlFM)arJubaw>rNkVXP*im!uA~#?nz9_my^bhY;?t` zy1;$2%w__|m}=|JDWKQMnKk96gp_xQ!S+sJd1`JYNZoTUC+G_{7mm5_wXo_k78^-r z&Vs|I)APaPnanw{JeGJJ9XdvH&+Pj{HlL!s{q?2$o-M@?%ZH#tOQ?0^e%b{W=o$np>Q6;Y%1U69Y=*E66X-=m&5&FM<=Nik}8aK8S)V4^TtInd=Ip9wWx#Idj4TfuyQ-9RK$A0o!QSEFB zUO0<6(?PFQXw%oQ183rNhFSGXm3Xq*x&(j9*dddFCYs#2PQ~eqJtmw z>{eZS|&O>X;ASfHrPb zd7;(>+R{R?;}$UZ4M+G5#m;atdw~ibEg&CO45K?M9@T=ynr4Dqu$!IPS&dysBXV^< zP^psEn$Q*SsRv{$OzEm!Zt{#$mwxKRu1)B_+oDgmwY6a(GXI@X^s0!vabdDhjj##h z)yfm-*8DOsZ`x_j&Ym?wSM@`dm3^V+*gbifaSeQ4X$jljIT=o_#c{l!MED(&vkwAYA#udFo*4PJi*hvJ8z&9gp3K*Sb_*&eN zAXgSI(A#ny9rn;-Xp>HyJrZ(7qR|^K=6v-glTv?0J8IXFJ8Q+M$rGuj!5=_BFdCUL zZ<^W!pR?q`Qbtr^KwPp(53Q0S(&M5jkQmgJh0|jk{9eF*&Co-IvRA4_+n`9Eni`r3 zq*9TWw~?RRq_z-g_hsKF7WreC_>elM#L?rL{{wmMQ{=6u&~oe!@ceq_mv!{_1<~>5 zurkMh4tvf68n*$pg><40M#}lQVx6}i`Y;;oI{h$GLjT%b;+_V~banza16phx`8CMt z$yz72@^X9CKt$zf_LpH}B#rAlNL^hc5N=?$HVp+5*=XQ=3wdl*=lz_x2fO!sL3XFx|u3tEOGz7>nYbNC=8#HXy`X-Vq@)pmaQ+Sty+UvKC3`{Ak~ z`r8)fx*~Ebg9|;{YtW1qv2TQ9jqrURciwV4&01_R_J$j79GAkOJ*M`t(Wy>3276E} zwuT?HOu71Dhq)p z_vyIJPJJX_!~Uj6Vpz_mqcFvBlM>m~!#FlE&yHaQ#+!?pz2miZ4%w zw{l3-D?CswXgyGm$9})a2~l`lWqD&da$)xy`EO6|fnF zw2ab&r{QAUCK(y0L$VE6igzP5#oApgZeT|;u4;SK1lkv5y(G;FYkBJubPP!BMD z+Z5#>3pB8+p%a`7PRD>M4v>F>Y}Xye8o60-zgwrPnIAmWh8@mklL@H`G#H5csDkxP zDA!?&@#&{90A&x)2J9*HCjYisXZy`hH=~361|EI=*|qx22(VYGRCfUE!+_4+=yF%V z8dj28K4!@0OlfNa6ziQAXtBdfZtJhOE}h90OtBy7tJ9Hp35v)@ddof0TnVgCqv|;ZTwm^=e83Z#aHYd~n@sK_( zhR{mgvw;0uYlRU0#V4t$CYe4;4W;g*REurxgbh@w#k&`Y9M@!wCpkVn%vt`sj;_vD-si<$~7Ia8q8`ZycBe-IZV?z=H`-_5=_E(2y zRzMl{?f{)hW#PMP-N|%#En&XWG2ir(#1XM;*F61XH9fV(AJ0xtr+vn@l02rgmr;q# zr51`DdS(~%Lk@gwU{9;zya-SuvVEtMODyC=k)D;$-EP4qF-!|Ek6Orq!m>bmvmEdT-vv?ClF;>Rz?pH@L-AT^*^H58zH@X7~Z<6-M^qO4zE{ zllEep%V69+3>HOnUopLMNActxP3xn z-I`@C%ZCnuT=58N&CNCK1mUqLm2b>d4FEZuUx&@{dUVCo%z3iEo=)`<#=#!xDrOAj|+sm?9v1D0{dSLJ}Yf1QR0Qs`HXjC1aBU7yeUqX)D@<`E6%Z)$Gm z8L>^$;qc{Z!X&p3!SWr7lSPHI({sg!X<9K>!=>O*V<@%`I&m8zUAiAj)MI0z5jQ~{ zoE0^;laskeJ$C%!kdCPII=C89=;`n8zC4mjcEG1dQIwE>bx@nEGo>ZMNC}$=>=ixz zT9@jbxfz#ZgSYhDR*>#yiuJ%xDN?3Gns??|kYJ?&$6bC#o3_I1);7R?42+O{zz#qJroH4;xESqMx`#KltU#A*K4tfQX7{G^OA( zdAN^Y$#6D_^QY1{ZF6F%ZmiKDM-llrT$Op7%B<+7AAvcW^(W%gVdx2N3Dvin9k`(k zX<7U#m_sE$8?;5=!f+q{m%!q&7IB2mG?%E#FJCGFD z;CA$g9Y^QkR6|`MG#XL^eIl4sQx(fhuE1r316u>F}!fxgV4Oe|EETaIE#z6jv88n$b+P#l4d{E$*y4`4fKI}IQB z6v$--Ydu0xNcGg*Fqvf^V6p5_Q(~&~KP3#fAteRh{h}K588=}6roIa_i&IoO zd1B-bp$?z3D=Q<#-QAJW>2!(-X!3ISykbR3iI|;=Z8xheC)Jvnh`Cv*HcO*q_9JD(mp! zP*K|=cDn|ku(jCJ+r2i}KZvkPd#XJr6|bzeY-_eP>%(NRZ`KMTeJ?qtZ&o;1+kKwx zVdOGF;a;)d(Vy#jLKpa3&9D+|^u_e{@5SKnaD<@?c&cCp+kpzvy>wcY^kIp?S~e1{ zg+aF&mG36E%LbA!!}zZyxR3z+lopLl_c;ch_o2XgB9EOSU4KD_=oC-wjdr+xPx4_0 z$>9(93K<+4fx#8z(S3(%>%?Y6hnmD-C5FGUi$EYF)#(9>cJgn`7?D8q<7e|P-DaBVH89nwUD1Uu`9 z5D)>WRK=hkiC210=X3O*rP1b`$9;89l;n>@ZNw=b6i7)Rwh(Y|uCOBnLl`RND(m1W zWoCWlq(275TJOS#;gRM1ktm(zNnb+%A+dwoN=)@FMPNtb-g^bwe$ObfBG%Bfyog&m zM&EQ^8Z9<`6QV6K4g<>&|7a-P;6s;r^=}YVYFbP`ezd}Zko(`3b~M%2H&vB}1TC$o zYpy71uFn5Lxd=VP{@LBG{QIMs5~OX(O=b1CVE)K1BrTJ?Z8TQBe=fRDOc#Wy$!uz4 zh97NQjdysD8)>iosqKh^>z~;_*x~N!lk1k$&+K*g^`t&;?=!nF>uqd1`45v*rPB5? z`oJ4lv;1(j3Hfka*i{MX<)VAN&pyn_=W1PT3SsSiT%MW+OLS>i$=Iahw?*>kAHq*1 z0d%QNx^$$UN`U67dD~p&UMb?lXFNj+Il3T;e>zEPUUq`Nna>*7xTh5!P0}12l2P+B*kzFf?lL#cX;bqLg0O5K z>yE1<2>=!ZgvmTysW2in&&5nz!IvMn89KuM!Wh&PI6Jt(m9>wwPZLuOc;gb z`P_321ci2g+H}sZ6tHXzz5EJ#E{ej?XM&wE|N3P1ybzLmtRCB3LS~CS)#;d5Yx6_u ziEionLhh~EQd_a$xJ&Oqb4brmoq89H*5pGFeYFyIZPM>T$RZ%93AvY<0=|Wm%0r{` z@-etEA#-}1GqDg?GKU&b>F4g(zn~n69fFlSs`gMoJKJ%4Iygh|xKQO_V{|#630HAQ z#3&ipV7sRWOdE<7GfL7tJu^y1gqb!MOBO(s^93|2{xCksallIc9iP(~@W1*9l%(qV z{@5-o=K^+)g6al%CoOU#+l7MX7(l>gg043&239Tp>qeSCb1PTqdKv#MubrJK$#95Jg5SrYgS6V z_~3keuluUSP*$W0_0M{nt-XTVEKI=Q{^jUbQiUG}y9Vi8z|Ko?b$WX4js))CrwsCq z^X@>u8@a&VPGkemc6Wv>aI!q&WtoumW)Gc@$yABqcq@Nsg};ds9v>;@*{rNl9@46W@^> zDCELk(wVpD$@`7jevfP4T>5mL6~8S>4Yu#T2n&jYuKCePNmxp)04}SByHbX$FEV<9 zuJ8Hv2lGm+8nI20*EFd{0#z({0VZhx6*~A2T;X0h&m4gp_ z)@kVRTru_A??mGGPNv8UV&_6GGGWFZtSqXnFo{K##bVXBvcif+OwUkcpavxZ1+U(Y z{@qpbNKhY9kdujz43<}w*CA=Ix_U^UA=O6lqqg?SIxJtA&Kv04HNW9J*Hm9tR*IFp zmKsFT9jf5YB*Zv;6-I8GS35&&Z>p*-uY;9s=s|pyCpk5=55jXNJ*`~-it2|`dT1l{02jLCJ4)$*@jajp(VxL_h>Wf9wA#9DYpX>iO{H$3dEsI$83?ejpU_n zGVgizh|(y3E{{~dLN;GzID$^z$K~HeZoLGCmkyVd*AWr`oIi8bZzPS-{TlPV3BKfm{tf^%mj_2~$(+5hqnZQ4qMEAGJ zzOMt0Q~gwDOkHyiyEEE>9b%kK0_WMk9wS&&Xh6bZBp5UD^nE3G5~S=#xnh^tBmQ*> z{vzDhV@bj*H2xKYE%iM74B6!-kq>Ya##qsYe&(*@HDxt*jgwl7i)zO;4Lo5S(-=v3 zn+E$BI`el(gHfPkmh9A|mo_)GchKutWZ7x%j6YXAtW=BB^{rQtiC4)59}Q(3vWfL* z2|gm#%m-eL3-y(tD26d;&L{*u!f^g{Yhxm@0z$NTAu?`*N}qPOvata2dc9gc9dAFR zObZ%mr68oft4;V@7MA!)1udS&WRysq^W42wvd6~)( zYN%RT1!K(Ir1B(?H-?tWF}vjTv9TR~S%tCO&lCR)=24hDJzG@tm6sV-8?zbEcZDTk zBt?dTBH=TRy?38BX0eSe0$Ke@*=K6?#|2zjqt5S8(o-?imfq&?N^tuVB?38=uRb@P z>@N$cL?%Hjx)1~PV9FKuv`}RM+t)%d_^&E>lQH+I0A*E*OD*)6f+`MzGb99FXwt#R zYAqb!&PjRc&?ddvCDR-QfqQBxO6Q(!QMp^>FJ%%tq2UkmKpxxyKC10}>0$EQ2+dCu1fBeaO_838t+ET7aRXu`swW`H z?7!zQ9G_7TX!k7I3QrK>;CLYi)X5Y07v<6eTM?w9+)w!0X59AR&>2dDO9iUUEu!q^ z-MoeJMKri1k_P1lV=;UZ=gKyVB8v3dvbptCRz`&NbV^+l`hBr-_X2P)jbfisUD?tJ z+WKSF@F+k&BXti2LEnB-zKd9fJ)5&1B9l=us}4%5EN0Kdl8y&lDP6d}fy;ZXkZazM zhXi6nVhwOD=e6SJ5qvTyt(_($L7B#W>Cfy9)pc!=TxvUlHf zJa~B*Be#0sJtoQL$YVslog?S5-FhT3tYp_H_7HZ+{GrGchcMAd+tN^4ZqCVc>BXW@ zgZYzM__$VQz6bfSr^rJJX{#uirywC5w^C_rJh+=wNZ}zST+pdbCgXVfiizvqs1u*n zvg?fmMGPmTwC55%6lqHBZ7%0t4B<`(2U$*rYhCraJ}bEUY@S{LGO#)MsUVGK{Mhl* zL54m?b6pdDUY13%W|!_JSxFFjP+UP;qe)dLnO2XnJ)PcukE7fe9#}0CY$>DjIEB5%i#7pm>qZj)f+{N@ZpU)&Bl{ ztljC>2Ay%pU4exnb|{zrYGGv~HSfJ7Xr`Z!;gP>(6=^^zT(H2g8CE35z5fLGUmsz4 zx{*nO`B83u#v<Y5KdIh`F?H_5-;B(E74sx3Cu@c#bIJ#%2n|7~5NDyCCAg{^z|D7$qwm1~gyC~P zGxg3sx7Ro&Y?^l3(~Q2b4&K8tNs3DEThxwmBZoi74GDdxx*m$rwRk~~UhOb)T1#Fx z7EUocr+qt~iy(0U_udk+gv;)B^c^el`9Fj%@)~zO5=g}?19KlVUM{F&$A}Frj8rT+PE(V=3=9setg_1EJrzjCRg!-&sCn{E| z=q)9C`N@Q$iPulC`FdIzqp50=(tQ9?pR(~ts8m_Ft+mLo#;uXZITU(kIKX7hJeGDw zY#hV{kA^eauI3rXF=)x{?eA#yBOUhCeT}VlYfi?vNY%#UY8}|idS@3$a^s&7dYCr1 z+rfSuBKMDMoP$g9u2qrIt-hzbNZl*!zscJC1yK+_m5e4dMb7UGW+~rUd)=P0V3v1H z*Sju(yf~W$N72jIMw+t0;_b&X%W^S_*d}WGPYQ)esa9;+nFjou8e{Cv*Q`Ol8zsCd z2+91n%K3+zO{wA-FxbWbO8ON#+XlqeG-yyG)K`h-CCh-jJD7~T&ErH@1R7k|Ywaz- z{u$5Rd7G{cfkIT;bO>wD)5nlS*j%P}y%I?>-@#LIc#p0Mqwj6BSJ_KyqqsvZ>5C%` zmOM5Kb;Vx4J6F3%Z+W>W+Jd+&`p#-Nibm@VFnL0Zy(BYTVvM1y7?wwh0rz4<*LB{g z(e&Lj++A-&>WLOdgru%?tqCP%Ouj(y(BPj1O_&$JxfA-%g(ums~o4?mf;mJb{0x4=fWi&ec| zo({Z4=Eb7GX2jr$Mw%_r*PV!!?0T!KxO*o0cw)!PFMq+4CKQ!j2jK+=%*=yskVQAq z%Ph${xB$3!&j~wEsyDSIn^8bX$8-hvUwKEeJsr2~e0q{()f@7%Bl;;el{ihV+DnRw zwKmYB&)4Uj=;cs7{p3VkfsE9#V_QX0T)G(rgZ$@4-krlA)vHbz&;IUhe&PLus=*yirbMV+N zZUuJz1iJOe&5dWsOq!y1g{R;j)%vTVw7sYG^e7cx z_*5%;8emQ{InHdD%(#9#G;++WqJ4icB)~kso{X#^=a{M1y)2Z<3yZ<*O2q|xp$f%b zRwNSU={5X&61IubpLJyJbWO@>fldvIZ7$o(!Kz99r5=ADo(VB|wCu3EvwmiO(;Ux^ zLwPN==q#+NEh{a+hGSeHnTr(eu1!fNH?KCVyOSM!0he4tCD-5agNj^x z9PUk$%}CbNPvnK^UHWlJIQ1;hb{>mub%{gnex&zl$|rK_3JV<=89m3fJDL2Lq3#=> zg;n{L5YkaNQNSALf;b&azHJqKgC$Hla;h#hK|-%c_5Jec2vS)-QJ@b`kmnL*7QqZ3 zQfi^umt%(d1{>J-6F^O2wZQ#0K^oOSSMb{Qe|d`3BY*#+d8Uq@A6xlJQkbm6vZzL= z2SaYPMDJVO3>}m|yb$qGhA0gZf!nQt!9|t`Sx;fXS6Ul~=q?*!?O$dXm z6A|q7}8QwlsABn!23`#ne(J zG^0X>V8^F{7^({hKK@$ZoD>iDG1%9@f)soWSXq-Bo4Rhmi@-h~P5Kr{%gw_6Nx?JE zFv&VAt`yZbnGg=aP6-di2h;oG{n=AV42Vs0?sNxDJH_Zh8tht)s=CQ!&2Uh!Y#C%= zGU!YyKXV@&eK;t78)mQc4|tp}PbZF_;W`U(WjNA1LpGHvxBHTTmt+4T@?r2la*@Dt8{+fj^BOE&b zy&sneI-nP9sy{z7m2@0EuWvFGUQ93@`>Qex%MR3ejc(XPkx3o+>@k>T zYZTW3s!Dkd!dX^iOO!I&igpdKwYK+5pm6|AZ?NwVh>wvKa>p5L>83SCbl$}r{t`<)^E## zEaV$&pU`*zWoFe^!30)Z&X?!nbSeEIqAV-h3fm&t=B4Z>X9x=3{n?oikGAQSIHb9; zm7n6VMX%qKsxG!-B;%;`Okf)97Xo_7Zr4f{pXJZS!|!3b_!H-?7+)IqR*3Cqz@k65 z`>o{c^p`HM&Lg0FiaH-kFNvmEEDurWDSB(SKYM<}>o7nJtK9BU5b#=n!` zMo12c&)}c8(bc*^a0?~+~# z&z*-K&J|lnLGHH(WfI_D8+({9e~KQ{EAM$1O3@a);F1ImQP~@p*fW>LjItvtJyc(i zj=W09-FyV`m0JJZKyDDS^`f<^q{w@@4LR{mMaBDS#dgo-V3wWPKPnUHwAS=QBCWWn zn0yc(eYez>4!I8`u|?-)9T&1QZP^=vTw=0OR{+y;>@j#cyd(KUL42=Iu|c}kYU7o^ zUC2ncjXG%724Y>YX~muk!o^E;=nawz|Iu_Sq-Wp{X4&zQg|BXLA~NIOHred2ayS(0 zEnBkGC}BZvRes7kP)pOEQk!vf#ry!2XEF=oFfi}TvTV@v6Y}py{R1JyqBv**lX3H4` z4*Y~{c3ZOq>z4|0_DX6-78*wunYg0Am6xv7xRB zB$lOyvgdw-vxS*1kN4@y6c#U86n{^syPA}E|vH}`f89vbzSft@SM0%7*>Fd|s;v=bn?aZ*`R+R%+EY}yQ| zV3O+OYi)Q_)}%_4XO&b}wcC+AF-DjFX%0Vit?)&dByD{rihM(s>AUBym*M#LTQH?z zWE-KU8~BgxWI;Zgw*aY%!b1_!y{>;gi*@$AwuLTK^3^}fLO^g-^2Mw9EhFfgKadZ@ z;f-~=cGTYNFT$o383htlepU7CO4XW#GyH^d);WqPO4)4{oh3>Ve$)gP$>@><$-Z(p z24j*tF}aY@&iK&2MHL480Hj!V`Lzpi^3YbH{Pr*Yxi1hPZ7{T_0o@#~ZJsHS*Z&>X zqfVJ{Xyuo|@hbT&*0JKvMOh z9(6k5ua6qGHg`sH_L4Y%KPplxX3>|Irum%Ma!X4oz&sn6ObX-haZgnWu}0#XbfCH( zGex`spVR%{FVsvBxEez=UZT=^(jmLGr+qtxvOCl@QDFpaOHIB!jFPwp89tY5RaoXG z3kA4}Lbyxc53kSfzho~jZ^5cwhmIb0h4h4UN!v^5A3<8LakF-yQ=m!fWO)xX^^5pZ z{1)2B2@zUJ5LOo-Jg#$VhvZI>?SU9CnkL~5;C|=y=27FYw}oO2vg|U; zc_7-|f3%c4pjVchmOORGAU?(6>BN2eFIyH4_e_R)yr&>v%t+0+`hiB(EwPuNF}+Dv zO+xyP&cq^tWaiXPv9d&*P~Uho1IPO*!1p3>8;@2{r6MZxMND>U>_%mvT=OJw5-%+I z|H7v)_TtNAy>e+WhA8yZnY4i?Mx_N3C*gJ>VCCLlJqF{*GkRp)gjl`58W~xk0){}g zAand5e!<=J2pN~w+*CT2r^RNNM~O{O-d-17H*T3-v#~~}Ia|$G3S}=>tIrn*xj)Fa zZk8E5Tzrr`d#X@U9Bt`cJeSL0i?_2+?V<;?XX>4psG&Ps4PnY?&(iZ`jLi*+(u%kcFoB`P)wf;_%8D!3Cvt|v7O}+j^UB+r8z?-r2Fbgmr)aC8Diin2d#6bU;O_G8_ zdY_E8#n2zS>B#NczYFQS#_dRl#}&eempJW9Jbj7$aT9heWuL#q-*~AIT)ln)wB9#WWYIbr98G_03GaJz z72UFm9w%%}G~5%-upYFil+Lv^l+`wuHGVQ$+6?gTbf(zBGOI#ey0Jmn8r56E$Lewg zFj{6{wh~U&md4rt_x9SP;ak7O-|zDD=5}UU@vEENQVnF{6rjPGDRot0Np6qBvU9Q( zh1P=3)rf0_UKQ;xY5&sSs zv(uv21t-|1SQp%g)cIf3kozJfUBI0UC&3Z)uX?-3>DUz_^PcB_PBWO%Idltz8=IL% z#xRCx7J4SkvMQV?)U?k>OCBYkw(;{b@C*R|RJdJ%)mdsVSqMf@fP5SteTO5+okh(2 z2RmlZnJ=q7%&b z7IOJd#8038A{7VWA|V|W{1OX10`zZVQC7w{%SJi<&Pchp1TPc*848*3(Fpe5h^W9f z$tJe+FMaFQPjtRdM!}cTkdDyF_7wNv@(q9yR#GcBJydI=F?!EJ$`Bfw5{hhKlCqu) zLQCjb8DSC9Ws_q4o-rc{qP@-ah;iY5TLPAg?DN%R5=fuk%;j$83*vN^b!|pJ=69K} zbAM_*_wO3xoDmJAEm(MSq{5D&g5EwuEMK#VgylKV6M~-k%89rsW9QG26O`4>R4C?? zrRCf=7W#T7EEx)|TeVU${^N{{3e)XY3}zCVfIbt21wUyV2uShUk8zNjgmdCh^-{9wah^Bzd zQKsW=ECaONd&HuYzV1Lm8%_P)-0z)no&3geQ+RGDpLoNB6R53~CB!#-vw1dk3jK`o zdl$<4QphhB?%7*hvqyOGeL5!AVEH~Q&f9^{�*t(bs}@xV40wOn?_e;cm)YU!!&) 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

    VvfG#v&?xbN9NN`SXF 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 Ps~fkQ|L^brBnSQ<&E56* diff --git a/amlogic-tools.repo/bins/magicbox/UBOOT_ENC.USB b/amlogic-tools.repo/bins/magicbox/UBOOT_ENC.USB deleted file mode 100644 index 908094c5984e27aaf70895ca7b21436ace3adbbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1123840 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

    TU_ZF0NdHhO70?*?^=)v8e-}yy4t0k5`0< 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 z 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�-ahS9qqp?`G(~ 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

    R+Fo~OIfD68gw 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 z zZLVS1RUjs%Fw8X0H{eUdx@?-mO~*?�=OD!+VFWFj9fmV)&wtap3-FmRMD@IM7{X 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

    y>3=*+bz%ejv!sO8SCb(@uoez+o2p+)<~( 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�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%0Aka;OMw z681E(8}!*29n4*@*n^CkNQ^)m1;}-S9&FmxSGZ$gO3V{^ax+9q z4O87l(h=OE$vo^TPlqI9;sTtg_Cqa?pv!{$8fQSLb$CEXTqkW^FSh#zKI8^QOqzTwhOeDvHL>~TR$&7`^`{zn#c zbeYkSwjX#_c#E6k3?{J|B`IL^QNR2`$_*E5&Q(4KezjtpQk2r@kbgI#*udgjV%(Le zW4I$&!9KE!3fuWkvGeV?`Do2ibb$C?POnI`u^7^h4uu1ARrQPTHwE{#m9;p6u0NVS z>V+9IC?(7xMQvD=H+Os_M@v=wvL;&2PSm1IAI5hVgp(Ibw0gg?`jR}^Qo%sshK{(O!!I7Bv4{@}3JUtS+}Pu5b>3~1cX%1sHIH$!C+n^(wE*S{SAM9Y4x5eN1cNW1?!`UmIOtp1+=ty zJV+Lks!QMv^lcjgWY2XZ1!d-Zxv}RDklL+&EfXS(yPeX8CR4h|uAzbfDAhImgr8Nb zDitMNraB@pBf51-C0o+O9MFGmp&(a2o|{q!KQC{Dr>=TNt&?osSPi%smJ73ng=`~> z3aChR0Y1u^llKC@y-?8^R4}%>JgGMtIuk>D z!h3Hcs9D!oBdd0ds$9G|v81m1>)QHvlf(8@=Oqx}9a-!8u^Y;MWbxlg*Xw3#NttXq z&y(Swbq}XaGLgz2i`g01e@3^pv$RE-nhlWQ!K&cZ^(Hk!imlrQa*C2(6#G=c%*_>F zp#_Na{YP{)Cz=?3hM0Zg$+cnK30l!u1LP#0+d$18i2TPDFS!6uQ7$71Eos*7zsU5p zM4WB#1)Z6YtXL-Jh0(J{h7+;A zF$o=f4V`|=SpAAK)_l4cf^m_p4%L|ej)dRE3+VB@OZ$?Luo?SPm3B-?DiwvXi|@HE?cdEP3~@d(0Q)q9v3n<6@sV)z4pJh zV#=ZHk6YxHiWAU!x=mpNVg_4%Z#$qff0%<|&}riFidtgPjt%`^;X<#Tzco${yb&`M3zHH8iFL%B%f z4>kmvO9P6j#W5xH`-~UABl?;p#aS9-$3~# z5Mg4RYW;oNeMWpuz7Af4&IEO4qphsje|=;tqyMWi+GlX9LnnqKh%d@nzr!Ot>Ed#> zzZG>x%Wf=#gGi)#HO&-YF7&WW>8#qt3>(}_H|vvmwvYNg%+hSuCz3!RE%HQXil*!F z{Itz}1Mc45&o8DOY6`J|JL5%B?pPeki~U+qZW}Iq2nWh5+mk?i$HlM$m7#fU%R_iGRSLpNG)?3P6dxI-`gkMzAr&PO<943|2Iogh zZgK1h$iYVzuYHwrzagx4`!Wsb0%b~jgoH80ESKFI6Y)lfEU?a0EhvN1^6q(_HWblJ zZhQ~QER&->2Z8WMj-LoBC3+McH#iF+4CCIk!95;DGW6Z=?h#%wrlgAod71nr>P{(gNzf}cHzEl z+(k)WxmpgxFSx2lY?B`h5t@YlP{tA6$46)%GHD~Ni0zq>x9u|l2e06&*OFvfo9TI4 zd?c-z#moe{bs2-*q5?kYgZZc5E4oi*OVe-FZ2r66>Tn8cQ;&hR1l&>hTlwnvs#S3J z=Y`yu8tS7a0$tEQp`96hN8~{p-xT8X|4*|qhZEZNMN*ak6=0!yt;h# zk4`Pyz1pf`>12RiZ3CbId%HyP{@}_Mze5jIN%jCsTf+~2!{ff&W7DJqA^C!W6@(j* zE^$05ac4DzZ?o1T1vGoM#iabb5W}4V=tn@p&0wj}6S%GCOK(NmHqkTzq~bydV!1Fn zd52QHhf_LMco2E&5`ObXZ4?Lxj#a!3r0q|C`zFzaKqsQk=-fxb%_)uE@6j^@v~++0 zu*nu>bAA+)27HwqMosNO=}Dgt>ncT8jmCF11yg810}Avou^RHRj-d3>7rHkAxXbkJ zzD-kwkJ^6>n4?7bYTL~~kgI?t`-rvX^t8DGS0&r8w?dCGH^ z)1Q=sYqGKdN+&rJJ&JSfO>V*S_i{$h?MXRxChcoSsHC(*5j7bJuDf?fWl}dQOYFi(~suAI_ ze?+-P0ai&|2IGN99SEoip>gi7dq8v-5Mg9cRW7?wygXuwp^&D){sYpImc1|@Hg~%4#c7K z3YF*Z7lXS%U7(G#QFhk@ne6R!K2k%M)_-K(s)!JhlZZWHgh1vx)y|f+c(=1F)+)Zm zN|^^ZdN_OII_mN@@(L14m>TvpgaGu9WX%b7yNY`j4Y83Yd7zVVE443ryz%tExBB)G zm|XL@y~`^nAawP!BJZFZvLy~wQ02Z(f0^T`oHU&wT(}D%WpLUCj-R%;+>KttSaY#KmwFsDEmGZM-lGV7TFwkzM%j=`}7LSvlj0$&$;a8=tDW=RSgMSYWGOoaz> zRWeGQh%+Co#iid!3>M>Ftfy7l_}!wi&+uuDwys&3w}*-~vYUb1%pjc52cZqY@9-^v(h6 zlXvAFhJHD=X*d8T-A%1a2&~Nqn(2(MAh+-H=M-tQWiXt3R;bfM38@X zaiA>4K?i1d(xCK!=p%giqzzEBj$`5b5GBD!ymChgZS8hJc2eHWFN* zUPo^n9#@0c4-sg$%;;874E}Z~)i6_Te@9yY<~A@-*HkM}Jy~8$I=LPPIBONc>^E2Y z>@z(Y@{AV&(Jot2JnYOB_Pr8?OT|){AkU9i~rmT zjzkS^*G$Wz4C${$khIg6^X7koOI=<&(3b#;Qhb#j7L@&lz(Yqd2B2EgfAc47MS3?y zE8SNKU04|gh-&Q{7n9Ek5xLYa7()3E z)T2wH?cOi!THED0y_%2RZ$tQ_S&h!{yB%<>5sp$7W_!v1ndWqy)U2X)#sD-x%fFGX z%*AJ4nfOv-#y=I3@z(t#^~Qp0*WIfkpNqW4n`SQ^-<(q@-C3~hnn|3RBWLB5S*g~?ya&FK?!XJ;HWdq+mu2Ue@zm3uI)^3_WLhmH#{emrB!@IaMxtu|hrC)R?_5OT{)dA2 zj7&HXu@3_DlbP$LN11-PZv_+sC69kU$1}uNQi!#ZyMuB@V2fAHXTa(&#U}HF1b(!N zyyeDFZLJPox=Y7WZIx6GqQr5g}8F<<>p+r-FniA3^4rGp#kEVP_Lsxh!7k!%;=o&lb%4!f53#t^k7 zNME14b%A>*8St;S1D)gbq0;AZJ8HolP44#nTC{>ZJf^LU}N#S$8C{ zd89r16s|@BRgnHQEDN^_-&F1|a$S9jb(}0^4+M$k6sGjdS=;}+hyAQ<*5h|$5 zUNnCVk#J$Nz~pZ+y}>9dv?kY%D0?-I$di^9L#D>12pKeJVNsME9p*r$Lt5 zh;a54b0yOdTM#8LueW@9e0CEVpdu)oiM^6Yv2A>H=+Oh8r)G(W5sDh&`Ynkvn|eWz z+f8rVLU6?V1r*70v%n$2UT1`5oGKse#A2G}b@wH+3z(<}1l!xVdOC=T>2wSGPL^BL zzJ2KlF;&YGB1(T71jq_T&9Vhb{p1S2P+)8s!fZd z2|Pj}?w2C4?+E?XtF5>TeFQVnGyh(~=5-ll!^8@q{&_^@)(Lbv%h`R>=N!W?peS_h zYgT^UC_K6Ix1mY8TX*j{l1~m1Sx*~E19D*7opS`ePaO`mZtCplC(RG4aGjtJ)m$r0X&#cs5+h2 z5k5?^5Qxxuw<*KGrI{>QGFy5C%yUr~-kM;UiRQ$7yaRfX#x(g0tAhrnJysP(B9N%; zz-AD!7|FD6a6(_;=!*wP`-XjL^QrV-A`~!c8uDP;V$TZ;J-GvV>Ic=5Kj1$ZNYcy# zMYsJM*XLBF0n>FeHxKrY+cBV>0VxzR5&4b|Gdj6Qp{I3$jFZiDiC-NKpHgWX=KH8}agJo5#ry^Bxn5P`c zKs~Zm#yoU@0J9?rL8mJVRs?*d^5HoQ^7xK6-v5+RfQvPkJ!J@EwDvaj51n4+W-&_7*F!*({9U&~3ujl%^ z^tjXEsSv8-Z8xZ9wf~^*HhmUO{pZP?I2p^e$c8`stbgGPbhd_VZ62>tdyi|w{l}R! zl9}uHdNho>I&yoN(ivxqMp1!-C>H(L-9)40-C$u9;^T0x8B_)&XWZ{F$)seUJ{I06 z_Da_Am7DYA5m&?28v&a&N7GIsr17M?wU^on7~CJJ8$e59Mv9ENxd=#WDe|w;U5~rktM8-6O9nN+oOGDOhJY3)+=_Ggp zGYLwaHq;+JcBZEfzy-XC#!;pFO3ML6MRFjFrPN;v$j1N=5l+E`Y^rX#tFZqT8YUWW zuLycbi?q@eJ@@hy%X1*jTzl*m_5SD6MS#nbzgxr^pYCEZdrOi5F6c~_D)t|u#QaKW zCqI1vKh@s86M*{(*}^7mXUS=1tM|6Py@mDv90TC^w7rr2JQ56rKC3ejjlugW7d*e)5CI=fY{Tj9Y_BzNvC& zSE%+bWI8;zA>0UDtrm^`9I+3!jc-5_YV&l}M5fX4!50m>$9~BWtuJfIRGQLCqxw&d zO)#?mra4S=PkeeU5-RYO*mS!DtVevgP}c_1HF9N$X6xcRQqxS z?!3(8T>vw;cMuA-&_uLzNEb~eBFH9yh3siqgo;I6+lWA0@2rgFG6*QZ!QF8^E(N2c z87u&b94JB(2!=MKlEpT-Cdr=1? z2VpE#%3{X&XS*;0ns@8-CDThnt%#S3vj_bD~!eDKq+#*z&=(N$zdRFpD4 zYkIFW36n%1Wbk-82Zzp1w;Y@{AO+Ni{F+kl2%a)~Od;cSs9P$FNo4r2OMnCOTTG#H ze6sJb5@x>2p;0su4h<|Iphj#h3fjMHc5AHybVr=LtDPpykI$v88rP0Cb>6MCQye*i z*HS6nPeNdWZTDYYKFOcj)6nlU$7=>Oh$=`_NBh14+St1Q1G6#l;&vj%y(7EVZTsj`RF@cor#fi8wC4ZezAy;68RwC*C6)+z95EO4luS^Ktwn057{80>2pzEMNp%o5D@Bwb~ zoyMfhxX75mI|Rx2M%{l3a(mnak=hz06z$y2N77Z@ExLW!4;U5pX)~;zGI1*v{&+84 z^i2xJCZcjA&PKX52-4B9aTWO&<7ct43}WUM(2+%oNpCLh?_F)<%HK1!)aJfDR%4xzRVHe-L9jWcJ zPMSH$I=h0I#<}U#ej13lztRdiCdqqgiL@94!SWZ3q`JEd5chtLn!;^Tt!D{OA0hsn zg0kosmQ|tL;L7C07!ru#bR#wX60oB81chEmFCRmK$5W)Y!R!C~TikCX4~K+jO9@V1 zgysZ~n@IYZ-O&qoeY>uCp7GV*M@0rUhP!}vyTIkmKEsd4^uNuZebJT!rr5mqlN3DK zZ3%TI3~wuF5ulpS^NvukCW4Rw!$By-9Al&Z&vkfK!A;*aI}Uk&bp?mnsG*;#7-tsorQ6hzw@$k(9?p+YNX-$U$MTvctoTpY0f~Y~ zc~luYpK5(S*Ql}er0{c*qaO$Vr&bGN9 z2RkMwSQ4E@J+-~_cr!8}T9yVn+|pG}f9OeIPu0hY*GoM%*UBmicI*i} zZ{_$CVSd^d0;h7pxkL;G>AM%t#OYiGA$(rsWi`Z9(BI&7c&6MWFvf5?Lr?T%d>gMi zG9uZAkJybVF_Kakj{O`qgYhcmb45(#$-(Dru45mB`J;J;EI&2M;CILYJuje*c%9p@ z>7u-k^HheqfUMu^79`9B)2CE~-ie@SI!t;si;@DC=pNGB)s-`b4%#}oB9CS8%Rax$ z4v?mCTGXIJYKxGZuKBRD9*)*$w+EAq0yO@SfVega%yB^hLdR46o$@kLSZ|;&8xp^q zQlYQ&My;m~h1asFVQn+$l&3C+3CX16KmISB|80ev{ie3++TfX1W!V{E-N8L$-kpSH zOpY})b%cn8mFVDRq-l|bcS$ywH*GXv=hwtT?P_w^?m++tlrOuUc%nuUL z>o21<-|JD*IOh4ZHQwNOcE@F*Bk$Tjs$K?hec)yvSW;7m=3RSkz0&D1t-dCv+_<6> zxA>zy(!kk#_N5$#v1(wg^K@?9;CHh?}A-PT2l_ZqQj5@K#MDQ7oP-y`Fa%i7N3g%{@irKQtwJialc- zlM=+SOI;jhi`J?*68x11V#hv4kp7r02{!O|p}7RKf!WjfdUaRXmkGpQs}i!QWT_22u)7H7 zor~F+u31v9Z@kn@0@%B##1O=x?{C~=yk%z27%4kZfW9iTHh_gsf{c>n%pL)w2w)HOwZUpk>5VHq&bD~0HtI!D7@ra34x zM)y?%4lg2e6asJ2^mt*HAG)JD_+MyT@{gs`VUL6@9Mgd>{nX?sXn(~+PYaAER_1CX zhc>1~XEEgji1$9=VCU6vV;odtU%YOh4oppVd>EoghJNR=7J+LAC6T;8clcwXov@bv zI2z4-z2jd3=NVB zfzr^cnY~V$sXXA@AR*_&g`fc!80Ht5INOHEt!j2LdivD`^}7oOCZRv@h`ce9nJAY} zA_DO$dcdpZ{o&;%+5F*5JB!u_2k9W^es$ed;wGu>;alsg=rs)o2Z2Cu1&{IV*)_(| zG@in1Y}tO=Xd$YTsR$K1l(GeEDxe#;MIRCDckVTH!wVFFBqqFKrTuouy`5deZ9%AK ze{E7Q0X+q)EH9^6h_H0hw&5Ffz|^ZwMIbU}?HGUVH$cg31d2tYXJGM9UyW^U5_=K> zJkEI*O#IynxO?oO0UWqfk1{|N!KQQ{t>U2VI-qy%WAIs01%#6;1Y)09!|h;AfmH#3 z<*hh-S}8ojvtL37YAygaQze&13Y##=kI`w2(qOr@k=~_c;t^ z2?s0sWp=s|>U9e zv;;$zf)FjY>ZQDxB)fh&ng!oPD~)+i(4n(V-#Z$h|HT3l=uG)%k5A#y55r}DpkRgl zW4y0XQRT*VoxAn=C>+Ck!f4^w4VVL!q7IPJFSDqyPLXNmkTlnKG)P6+i~V|Ao(H0l`DWB)c*A^o4vpwa zFMf0wG?XmR{ERhZ2=pw|g+VqOr7*hFBeDT_42D)fKlr2J(pk?n^4NBb`t+>)M5C*} z3TdRCMK)!W0;GfSo}V8KF(PTUX-a%$X=`(BsFL3rAAO3S+mvD!e~!;K^LgE^s#5}o zgItkq3+^{}n>U_=j<3OkM*;+MA7Nj3AQ*nv`l{V)sNjRyq5?;Yok=yF2x)+*V(Ro6 z_$HV8r00qztS@uqzAi#?gr<#DkUFakOqL`7$;J&lyV7WYxJXDw2F$U@3^xZ#^dwA$ zG~EPmH&U~LXzHvv-cN!)`IPM1ni2~MNNl5@m6`%Tr^I2<+W^v*?gFXl1U3rHI zl$@oFw4R_7f3mknoZQd4gCkbsG6mo zT6ljJ5n8JxMrDUrzK^WTE<>F>$+rTJxrL(O`)QbF8JTH#M+#Y$pj34`k^v)%{-cwyK*e?3QX@;@*{f=ftrNij45*zAV8G|HP@`wW~&+M8+2a6)-%| zqI}SAkv%=cv`&gW69=EMOEDo!`nk=fOJ|vh#*MAs_-y_G?Z8=C=WrF>$q?%RH~T1_ z<%tEN4hfEjuilH|7cDelL*msTgdb9ilmCcq>1BF#n#*s^y{v*x&IEPgk>}d4Q&4T>4$J zDK$GE>!g=k&Yq(dqADm^wE=y@H7Bsq`L|Kw%W?Y8hFr}T^HC^#Ze2l?X#Jda{x5C;i5O%?pC2@%%SC7ljG5#(Io{Yf+Q3B6u>^yS87mpivRP17!gK1p ze4ms=e0Sbxd?kA;zkjn;l2aTXSR~w~V%UC8{C6h-whD*}f+Xcdb+g!spZdd0laQ7Z zn?xN1K6Q=BThU!H$58+VWlvcTL7_#`??UPBv)SZUT-ImB778)AA7CR%x|ux5#N6(M zkhq}}tWSnz*Q^#hc>Z$I7iS_-*TC-4Mj$8*i)PB+r!GNW3L9cVTm|Q5;iEwR%Sss^ zh@o|cNeSlo@C!R!q4|A>8HozJB~HT}Yek|WmJ*9?P&2Ert>F;WcUQ}jwXM&R$$2en zRk6mY$+4rPzgW|k@2e?qpZ?KCnL%zQL#%=8p5J?(!(o!~jR$R!}>l$*}O4jei-%3y-|$^@+5Iwv0I`xU$u2z4q-S zrXm(8-Q<%%Cvw_U(oKmA9>qvNWY##eTJZ5iXv7Hp(Zg~Om&CgLwyA~+Qif>783%k< ztqwix5MV&-Sk57#j_k>T=xZCXU z)v~}(YC4g$5Jg7pN;3|P3v5^y37c!5yjSktC778+;1(ai4dcLo0zPw*Ti|Mj1cE4f zv%MCQk~uIC@$}czlVf{E`JaKh^lLaWNZevBGz18&7jG|`DdCUE z*-Mp)$%;`W9izd_6#Aa4jkgbZC2Hs}0w1g-X;<6bE=L=(wVo#Ds^?M_cCaqiR=Mrs z3Ge|+ytji6(#bOn>|TA*au*}tSisR9W5G)8~WG45Ln9RtB*meB=7n!O{eTS6AF zO3R);f*u}mz!~DG=8CahCly1~e>~Oq^4my)oF8LEF-ypsE)wo)&XHk^c-58+8i>~w z6i(WxZ$COl??9=u!7qmkYxBQ1uLcQPU7VkTA5U5^)h^UCCvVaWwL#k0huo;5Q&)C9 zd)X6PE$C)JtJ&_h1r8L$jQ1{nXy=?I>JfYQp_#9)k%di`h*P@ZF;@ri046#+Lb8JS zo8Tqv#UmM({T{{}pBT~;nmzNYLJs#pH|YGB6k!jg{vDzG$UB6|X+7yG(iPn>v*cFgRsY=y$qMZ~*vzYfif)%trh>%E_q@L00kAg#U?P}Ke$IY|V)+IqfHTPl?twn*Y7RtdgsAz~rFC|p7N1W0h3n(vx2pD8G>b?qH~tw3aPDFc0$Rt?N!zctO3||mFuFUX zSnXMTn@$Ui?g8Avt$6a`_Ep9(f4QQsIS(S9070}czW3l~0Oz_UNe>`JYyCY$ZB!}V zNQq?ZqN`!XJ1o4_*i87IhvonDC0vzttzC#qPguOxmv92$!PeIoV`?N`@p3mV-9o%4 zHW=FWyV#=E!$_%AVa{PDY+sfaXksh{uU62qErfsY0{d-m9Zp`D0Be;p8Qi$=tPaY| zUFrmBpB6y=LaA!N0DaVdJ6XoK-}L!X>Y%HMi7ozKaD+!};kBA;*Kt9u09QYh->F9= zS?^b2brvwIk5FvSFmwxN!QKPw z&o%wZv$L}5uEOvD{7zdbg_=hLkEJ`!!NrWU`s&aJNk;OesqB^{Gk$B3ZJ*ZzTCddv z)1|zgzQGvJbeglQawnHBDPN4}U$aWmbkLedoah``occ@k#>dpg^aVnLAQ$~)duxE2K6+8Ztcs=qWNQ4P95u2 zi$qRzp`V&>)Nt^Rxmdz)`?n5TsHu|welSGI;cJ$CJMMdHPLQC>XslR?OjH#65%B>sTe^3gM`w54*OO zT8SOOiqi_ZvFTJA^$v7VZofLu^=KrP_HL$6C`2|8Ikg5aRsFhd=AYWXhVAT*6=jY4 zLt9*EL#1;jhC@D6$rPxB?f7?qjhnhC7*XAAyu-5_Oc=`$3ToxsA>;CHH!&&J(p39J zM<{x(*e2U-5C*oc*CzD^l58~ST$F(y<1YSu4VGX@ndSewLc|yXkX`_HOSXR>#}lwy zcx)Fcyl8Mx*gco)hXFA%VE#%+VT$MGSkoT_>Jc4sOJAdzxX{lU>h6H^Nb@LF9G9?uh3?rz7vhNmZ;+Ul8KoBD!b4TQa2&yS>zZ9h3dr~PN?S- zK|FX$FL$UN)1*Aokni%CLpR{2X_va8N)@wM#MFGkp!Z(?jzHQXEkk%jjChpjA}v&) zu@1Z^N_{3D{=Zish_1NFtPXkOI{WZmQ~66>s_Ch4@fdL3JRJPzi=2nlfeUAoY{}u_q{-}QqeN1j=6i_Pz7_nkn~7( z8{$bFJO|IiHT@9rC)x?vg}Ivq2n(j5Rw0tA_YEPLWIY`)y36zc`o|j}LII8)! z$;jQ2o!@cq;W27w3rvX;jc1aHO-oSch*zjZkmXnM z1j0cjZY(J`7gdifq+td*o#e2=>ZA-N%@9*bM^G4 ztYiR5EqcsE77rJzA%J?Io%+*Bzo-Ooqj>TS^4-EjSHx%cjkW!3JY_HMfKn~(qht6e zPgWuG=dk6TL@}>_^GgzVKzPI0(bMjzg$PpX?T|ghcfQFzNk|H;-#Egurds#h6o}xm z9NCy7VvLartkimp z9|7JTk`_5;9wi-a-z#@m$DCcSQ{k7ddLgI%6DrT0+9Nj+&}{zf;JVP0Mj(!X=k}i$ z{Ip6&TsEIa2L__nELO-jNYI7He>hy3sqWAY-MSNA%Z1C$8qf_R)*K(L^mv3}T+)y& zik+_C?!zMLXk2xpl;C4*M*Isf*c(cC_ZMD0=w49GiwP8f;`;<+$(Fo7cNYxqS`R^w zi*rs68Lr%WIaB4$wTFDuKar1|-#cS57s>c2>Ga}$hfPTZR7??-^t4fa)K-DJAg?zF zc!;y7cHIDxLK@XNrjQBSmsi=-=iM-l$e}ynvRbg-YQ0gc^2gt!udhc5G~5O$WKSCh9>hu2=cQ zqAc;fWw5u$Y)AO+z+^7w=fJe_r#s3mbq7GLE60`nyW2nQt2dGZb>Sxmf zY7c5FB)WN8d(w)&msb>>uLL<2VLplF^9|KwdBtK;8KbdOa_+hri^)j0>aG}bfCBr# z%oknP)q0HoQ|@d|s2DtB2BC^5i`b7$F5iYIXl`r~$o9d8{^8tFo%ijN7*$b>y8)5T zLF|I__C)q=5p&`px|Ko4?w~dmoROp8tr+@p6c7k1?&lwi|?HscHo4Y z5TT#5Q@BLu;zQKkyq1wUpnugMShH@V2!;0M^Y~2Rzuy81WGK32EL&+t7gzCUtqIW6 z`Mte6@4Cns&%hx+%64c&p1q4-H35gZhLcu}-+&lFc1(FMB;f-qD)ZHWD|;GOmg+nK zMMnVH#96GCnuXkML{<*6p^NX(6jWVjPnwMXarAdAHMRnzGO{lXUV?w3JR$|5v~Iism>XI#sXSzE+*TlYWYL z32H%&!dps1*c>5MzNFOWwSBP5fn6+~44~mcZlnW<_abY3z(5g$xTq7p@t&2I?ufdv zGb|c+e-#4+4FOtX^wutpy`YW!MpC9jmKHn3&rgA2H07)>+fLZ%qCkjYF7=OB{lukW zC$u>Ey(R241XQAX8HYH_@x9?n(~ijNns_Z32&wfkj5A$&Y)qe5u2oE21?`F>QKfST zJk%rxfj&``ym$bkRrlrw|-m0){Iyo$BPEkfF21&Lz1<20Ih<6Wl7_A%7u$^)r&8V znyG>~RAIHvOa%5(B({!0j%#f2aLTWpN#5!wPm3@b=)nrzGry+%R3k$mh9Zg01`Jl1 znk_dRl%B&>dPqN8@v9)1C^A^uEK&kd=kvxla%q!%UO~HO6Lhle@BusJz#C-73dYHOG#y$_b^%f& z=sWn>Hr7QbqSEF%%gkex zBzmjlrvL&M1CUOUL2y5*52ClQ{d!z@I4f8%5(^cbI2!O&qaOGUr1JcI(sLE@bh2|?!G12$8a9{i0mr>mB=wBkTaj5{ThOpQeQ_as?qA42UTGRF zhc%0@n=84LYzp5VV@BEt9D!SRG8`c>wNZO>&=6;NK%o%(8h8hqVq z>HO~UvtB#!)d;i8X(?^+q<_>*?FVK1aKu)LMgtPbgircyOldV@JVGeA&>}}M%B-@T z>4R!Nk+?^t0&=M(Y*zlJ7`el#EyrnY#s-IH{oPDyJ2@#vHf-=STuVH2|qC;Urwt+GvDM9^!FDZwp-mtL)97op2JhOcfN< zjrgM|!?trOZc+c4rfFPHyP^<3$+ZD01y+jJ*n6t?ZIs~+-IPGMmA-p5%2M6}6CQIYkxf7M zVXR2Pq3~KiR56HZ#p1086_WPia&hO*v~r?8JanxWkxu1AC6Vsan@<>JU}dAU0|VJN zVuP20OlF=}%wzM!l;BuWQ6_kQek|1Iu0CxsH~s8O}`E;|4E0@!fn|(B*zl>nymvYHd{z zr_^;9-G^VF2>>D`h}9K&*1`WDsuVlW&_3+AouH34{xwcllf~Uv-bkG7?E015Qjj`o z)V%B6ZP!lw$teDDBeN&wJ#vKor*0aiC$~doMh#NpHxz+r39t?f;45x14A|#w(R0OR zu-8;sy9|AK{PS(n+ipm{4E!0st=bSzSiRB$;^M{2H+Ah3zye~5emGP2+T#FvSBtA& z<{qH73^K>ka;9~Y1T31mB%%LaueyWTfd6)VVN4Dh(2acCZ8O$|6Hqb4;9hXhu!291 zIdy|Lt}4Zui;S3Xkpm~56*xHZWrWp1X+vwA zfpM!pUa)jF6D&r@SQh+c48x-Xl0<#7GrwPYC5)ts`gdhxCr5B9d;u@2KNWV# znIA)gqZR-%cP_Z$^Y(uZ7^^6KQCflq@Lu>;ihlxjWQ&i%0eqxbM#JQs$qEGf-dfQ- z&5L{uPn8XPx+)W&5jvw*&3YhkOkk%4T&of)pcT>$Aiae222ZgSqtETI`H`pRb)*5b z1rQp^7tst44UYc}GG*#-600_KGbsvxKQ?#h3g4le(I`}5H-#tfr@hg zc$~$BTjbK7TFcT^evs87}@p*mwe+D6$XB>=4O_J1(D-C5X z))A68mO92Whb;6dv`gTxS54Q_m|pjagq+_vc%Px&NzdaUi%p+PMp(w>ec9Na26fyw zG;Eyx8QzI!7YcAs>Kgz{zgSqTI3Z^=KfU!~I%6KM3M|>juFJKge_KR!x>w3~yiHi= znp%aNB2Q!@{hMf?5JG0~I^U6>sMHEl3aS)6^iA!Wo{3~nh2h+q_;Vja@OMbqJa|)R zpFWmND~T%S=2*}eNa$?KPg@Ga>a#os29CVJWPq!SBb{KW^ly!{n&K%YO^bg)|Fvc< zU}9Ihk&%m8v=@Uo-y}r4uIsW*jc(tDUdiL?H~8@-Fpb8hi>Y1wp!VHU$^;`Q?TP1Z z^olP4M5?AU1R#5C!gyk+s!PRzoxs*c^0xX7tvev_d9JjVS6%nN4Q>X@^(-2I2``X@ zy{cM>`@x_P_Za#%OYlubuAD#GSoTfLB0oKMum;HC23-9gug=$G8F3c%_W5typW%q; z%LtATF|=8ai9}F8g~v~wP1QDMB#A)dv?*z^-V}NY>#n_461MnY15KiYsXu}h4=-K( zSK%9-cskZRYM|Ul@=fiNf@J>2C$7&JtMZYn%Obb!E?!Y@%2;TXX?4cVd1&~^Zf`CA zHv-SmKzf1mICVmD&kc_9j_bX~zF@Te*u8n ztUBxT(|LJ)PTOa##-}+JZ~mEYlU_M}_>O#@W!O?D{Bc%YUB>E0;RT)~Sj#{-08=96 zVr^T12~oO5mUoN{g^zpWF14(IZ8I6i@sFmknWd${>>$D%NJKGYu z0M&j~)}@|!>6uXjBMo}Cm%k~Cf;Y1~XV$KX|Fqq_UkPHFH#lgD4+tX(Mv_k)Kmbg* zZGN}dBQQ_04)zRSfUd&Neki$;bGny8@-`sKSD0lI&b}uyI#+>Vooxh+>Y#Y@mM{P4 zk#f?(l`*P$)bmix-kI>&1oe?zY*>8+Ys9z|#x9opN`h2s%EL_^p3DCDjyn&{XX#ja z1P-iLmbgN(fRs#cHzxMkk+JTvtHq%(VyZ2b#QSrcn( zvNM|-G}TfZp6@ZO>-zY1tduoYHV6m56$;0q3maZt8e~U8W?&3=n~3Xe5<=-nGEgnH!ZU=9tGl9wY&Rz0l`qPJ)c718SPOhrE`-= z?~ZrvC1K3U%A4h8jK{MA*TS@xW(>^Ac}I6VOn(^g@}X!dQYeg&>V=TOg5?*h!hIn;+?H_CiSAVf;KV@P<|9;u{ z=_NDRhqHC7XCFcNk*UIO)z+4pI+Ievk@2*FKSNXuu3du>w{>xW9X_j{b-?hbI#UG1 zBR?-l$@vs;vReMN!+GdL8fjR&jH=f4=kC?C$fl1{(_QZmY5s7hHc@PzV_JXsTE8ct z(iXYljK5HUUbVV|H+nUWpC%Ulpi-LuolKuBO09mb)o8~+ZKIxKy*P`#MqCIHfqZY8 zA92f=cuo;dS`)&|DU;^bn=vM_fA*oe;M*Uj6M)Y-$WdK7ap{SYR_a~F4eT6&ni`=W|b}53+bBy zPKL$9cDf)7SvZ;yG!{cXwMOd}F$i$LZg6j&sX3-ai4$lKkhg8;?tm5xYBiq?WDfJf zR&}i9A9Ng9YvI3cMC~+}*Eo+_X)1V|MZuf46)i?htam^t82-Kr6=@Z)-sdFYO5{xCyElDyR z#_AxDW@Dh(l7Us*zc?um-3b{y#wyR`_zI6|}`1nbrbXD)z*>#S~*{(jmV@4W^BZSgt1A*{{X@$)g>u7zFYM=POpOrp- z9b(o783Jn5xR*<#mpu`H1(S+fz92`MQOTUjyb^xUd*t1Au zkD(|MFxy%_YMgMfI~qEQ>D2Pbe_(+FBd&z2^l%Mre51G}@II!#!uJ@)UYr;z+SI8Hb7*NW~iQDwnE)-+A`l#AqA#hQ-oA*x5XGzVK zzy-->Zv6aweSFO>yI1A`Rny$47~|Fa8qzp2tm=cLliw(mCfhM0+wl0=M8+L!W=6QK zqgROw4D?fdA|Sv4+JyXSt21f*rRh^Fn@TV?wQksXkt(0{uuP5yO*^~JAIxHiqqS|l z)n#CF)Nl-*U=?F{ZgZA@(bE(t0-JJ7F$QA1%UOlkSnYf46Mt=L&$`s{UF1=K11u97 zY4IO%-~KhUSlV8gfQWGqfz5GT?wLE`Me`Cs_ckM8MAiOT%yn;Nn&XjU z{H0mX>#lD+=z(yxKiAmLTJy^k~#qr*h9M7v#@Cwzg(>p;h4@M!WPWMeFP)nA_`Wg9e-tLq_YL-X6vOPOGtTB z>td{vwvX&<4NPSy2Ba|&T%pAbau9)GJbn3Znib-inasZ~%|;Yc@s)`ndC4@5H-;z8 z51QSUNtskj!ee~>Z2ZIZPd=BTcT|CC0vuRgC^PRC?cC#&31qrmnP1jI3hJcJPrBrq zIxSz&(|Z014RlGKng60b>&I}h`k>68qf$C$8Q94LB z8h;9^hDVlz{xS%_vRmAdu2kaO@l&CRO$9~du@lf;I(08GyVQUE;$G}%qY<+2E?7CP zM9J(02P$^>_yQQ8)o58fj^iqd;t1p4Yx&2Who|fGTvL}2yZc0fgZRlrAOEbUmB?x4 z0})DI#T~NIJPv%^l%XkEG6UoOBu|2R>I$SS1x)GgR?EeYjBrg6o#L)@$3}-KdElQ? z{Yu5))pYRv_nx(6`|%VE$|M|zt9nn01E#{Os&!B-=b72C4xadNI7Loif{Fs$-Z`vU zYc&mHyy##gP^iS=BA;AcCx{#Mw*0T_-T3Z!d+S-g1$VNwTH;h zch-*me$%1Pp%RI{WpdegZbz$nn#Y$AN65~xYQ12HMTKx_20t#E?*2fSW_mj2{&c3i z$`tRfwJ05udd0439HVBD(d}eEHa!j#Bx}v_Snqw4HY1*ipOK9~Iyq)ZaeqMyHpJX- zAdXS;0acTPCxkg~Y@jBq&b_~7l4@;j+DbU%9SK5*pjVQi-qH2y$j%U-*FFRj}Wnzfb+_lK(xW`-xCeRf z$~yo(K*GPc3` zK7mXiBVUf+J>id3f%9!Mv!I&}CFRwEd82+#gZHUOyoF$nl#{a)3xK-b_>5ow zBwj};(LKjx*wKFISTC8>V)M(`^vdWzcZfcjAC#hXWMa*k5AtXJeIz0PL>fmiETa5Z(k--KNK=(omEb6o8dLZ)-^f9$B z&kOG8X9InTH+38L6%&dlMHe8&DHaJFT)pz6 zpst)-=(8N6nI=x_;#Ro1Qfq2%TxZ;GOAv6eIB*{q>_bNSKY&cbsio}8tIZZiYeU0G z9cqG;N1R!R)I%NB{N(a$(88~W;in&eh{UNLF5YU*U+z(Z7ALFCh0900OoXPFtAOOE`dl8<1GS_+L(1n7WD_r&a;U1I zXpp`dGoqmAxy~Cz*pdHciIbrNVd^`A^So z%!@b&$hdnUi^NvcejjZ^g+Un=FIE{o<0W^fUKB8xjufH5)T4N)eHOeOa)Kcu3VXS2 z(WXJ-#P8c9q#O*B>XTuTSn;t>s2&Ji#dFB4Ec#f749R^6YUAw5nI{7vDi)|IUKVx$ zr$Ev%d3H^_UrezE9Qk6O9OkO?PFw@z56lEO*=?nY1K_A(X=syGNg%a!H)hMQHVc}n z=+I>an$oZVHz&a6nsqeUWF0Y0Q%wb1UL^u>*4xN2F+=+k>4f z_eJVcCs!4FIin9an(B$=ys2?t=H|RsC&wediLh8>!SJO=hn($JLt@9IJl|-GZq&iG zJ8v;Zdsu+2X98-5d|!z956Z`l)QwZe zEEQh^2{1?w+rzp*l!DG6T+Dy92=qVt0VBYVZ&s0Xpx+!JxVW-+L7HC8`1CF!_60M~ zm!d%H0U%WJ{MThp;C04G)kK2OL~I1Bz9MH@^MPxoejV!VUiee=NzagS#6~6hQ-5|N zH^!A_QRX}3#Zwis?fl`+?G$ztGyzEFp<4u#Pqqa8E5kV1SmPLl`4)Ko0_h|*| z#|_#f#FaW1DMkykC6uVPvLMoVg)enZeWIADf`$&t*|>0FiG8ZwI46w&n3pk7!i2ZZ^+u}{7W&xCdB zdEpfm46bfDO$q4uqLfk7X&?f@78p1FV^fOxSzGH8TIRj=o2&3~21Tq|c?2OKpCRqH z?kOR|&atm!VSg?FhpQNL-H=vV9J&P?MTD3qXJIYqs7ym{nweul!@COfFH}K`%K?5X8dG^y3;yfyKZ%*sYCQZ2pezbgC$~hk& zXh)j$Q3R91j;1WQf`s5SQwt)N(da7UKMdTGPY5r#mKMGEay$1(G*lyyfp2VcESdSf zGhU_E`$rTS0x*6Se=0jZJ9#E{ZQcFk-ky6L>=m4oYXuzW$t9V3xbY$pIP3wtS~0br z8V*7@)NTG8Y5;nONc#TF0~4i1mLVR^2I65Js|o9^n=q=S9&W`UAK(a{V7Z zY*3e@7?2?rQl*2b{1F7dk2MSuo;^ZMgi(XN%PYjC_N^bB>!o?O-#4lw& z+Ew>cJPs!N>~_)Cf4C?-4dv&{WKsc$AHioDaTzpQNjxW8cv|7NVKzpX%TffL=!9(j zCh}TZm)N80$w>U5(&px-vgz@nt%uz&23Ob%&@IR9bFgR>F4O+g?_x|PDMqCs%6L*D z5PcUCA~)+!HZD8phU=lEGGu2|^%^L1LDA1p0wZY-ENS0iaQBc~H{%Coy%L(~?nXOc zTW&U%tL2Z#`^`Sh8=eLgewipchL-;@dPj$osj&iMQt4$y`N}S!U5NoUT6J~=G@+?J z(e@HeJ-exNph=T3u&0K1x6SDwJxzeCMpK$}!~}-k6qp=)KizA(jD!ALbB7Nwv0t6) z0BPIAwO{1zlmBBI+&?)K*Gn13qpjkAFE2!i>#x4MztRdd*(qaEk* ze}MHXg2f5WmvOoR+=dN)x*Znyt&CIn;e|bdM^YS7>-Xo%*Hc)B@Kwe|!GE(t=n3(7 zA+$m*vnf}Ot0kJP@-^o8B9}La>%u$yvAP>4^tZN?GSouf7|?quJB4$UT|Pl`?P?#^ zJh=tDXEFBN7R|)F8c0u{-us5rm#JW-J){~e1-+xpvSNCMDrpXDv)XYE%U&=X?g*@#jHGb>Xv1$co`-0>`jLTwO_o!_=yZGV zQb(vFyD|ZU4HI)jochn}tbjLA*DhEaQVvK`K3HtXrrO*F4fy&Ww}B)kx7CdYGJ^$x z44+>E<4U5|{&i103LQbi`nJ1-XsO6KQ&ibT4oxneJpg6e(fJ7v2y&{z-$BAN8dV>l zH38GVkqxf)?mv7`P<4eV?qCB)6Rvyz7SvTQjoM6LKfMj{9Yl zy$phCBKn(eVqZT3kU{wvXRX{aytzv!MWBMG#e z58+K{l8o1S%j5uUdpA;Fydx;DFC@KI-^q!U)orCvR$%+4o&nD*#R3xXwIGWZ_16S- z{(JalJAfa*#w`ftU#KL^6OB$L9WLL%y9TT#E7G?$bIX5*!TFC^rB&N|^Vx8uNdoeD z?Jt563xYA=HbyVv1HQUl!NVkeIYe?~p))%hCXH6z}=9GX3GxMD(@h zQI9k|qIT~zmVHB6ru!;TQ^g9CyVUEjCczq>8lXPoUzpDoGYGZbjY zcjef;dkM0HJSq>KWk3-J9QpJvKupxmP*OH2VI3|TN0?eb^}l2}xwYGHE5S2a2-YWF z|1|p8*#%{_l%C8<4*J6OLRW$pACdItk9!>_+WC&)0IJ$A*O2TqHo3pIsLGNl*~VyP zD=dGKFcanty%8V0{RGK%Err*$Uc~sVA|J27j113DTXXj?W2ihJK;6p>_P(?r1amVl z`^d41pg&VE<`YUzzdQQu#@>?NHMOm5syJ8S?rkd~%ucVFI>!!(HFp^lGVr?7X!w%D z@5KH{hT|w=@A94RqC{zQhH9SMz%2-HdU;xrs`g#D;hfcCUmN*i;<|7$BP|MOwkpvL zJElBoE)dXv>8Hy|?y9|6*R@XC6ItI)7e2AAJ8P^o!uTI_0LaGjvw%?^=@%)|t~hj< z_t6q4bxPQy1+NsT7s9-=6~Nf3ko`u0eZ*(dJ5Wd^y535zUAa-rV7N0aA@08Ex!X57 z?vOS6W~Pk&hh5OG;A7m&$4*wL!_#4$MZJ|DnsTGK#_cagtsl!@{o*$3E%m#(_#sax z61I|5U37+5>IS6XQ;N}J=s(8dySHTlKwrXEfaPMDC(E3H5-7WBxKaLjP_qGyGe|xX z#A4il8MoyQcRf2lETKrV_E9bkD?tM0KFzkFtug(C&J_Nv_4ml2O4sz?=C_}uh2A6x zif=)m=>gTY-)=j$SW!D@m^}Xa>fG+(j`>F`-_55IIkf z&rYvA3+`*FzoOX+E%X{CrmIB9tl{Ux2gaO6*k%A zJ~yw(Q`V+g#OUqVKSWwDS78~HXb-R+>o^D0nM-5JFx%k%kvT>yK9HY-vqD5fNFQEC zLgZfTB}$kpZv4$Q7!SdF&8POBnmK(EX5$$WrWIMSR*0+YaRf+$5_}=w4o4-Y&xU+Pt^NO z2Jk%~dVP>Hmr~|vi%m9?lf&A>9QgQM{y2_g>t_!Getg=0XDGH{`=p1k4gYB*D}~L2 ztfP?I!L`b%AJ&6kM|pje;uUOxs7RY!J==6Waj5B%pKC553=V12V4tfP0l4|I%Lm{u zfUgI2%j?e=AL9WJ@rke z1m{QGk~!q&R+d!R^v?aae>#tjuc zp>l>?!8?J-^>99O$C@s+M<~mOXb{({t=M#+p21{Z8S@*)ODyNOKAtlnd#H#(x!=m% zzAKkyA&aYtQ_@6B0zkGEj2N`zgHdV(wH0>(?Fe=Z*j;pfoH z;nP=moYv7A!zrguhuYff?k3M-3_m6qc*C4%MYuFt!j}F>W2?I9OxJ$g<~dR!*4=R| z_Hh@!-Z$=t@xZMm#QS$?a?b|lB5o+$D$G#MCB+h~WRB+QhX7IU!Ig}Q9Qm*Oof zEv*4@4VU&S$L#MC9v#$OY#o|PeJro0hzKWt(&;#`-STp-ZH6rmeGW*r4aR(#6E_Pc zpoF-gxT$R7rXcIy)v-k%>5K(kWh|iG_^eUvNh@eTsmG*0Ja0IZI{Z5NU!kf;ELO)m zE|K;)e7gy5%qelLjFnnKNb<9MYY@k;!KNho2BR`MP;x`n&Qk74VAl+BudOgzhTa#J zYMaxU0S9SjU3XJtj_v-HlGbA`O-gYT2pIym-DJ(KOwVgxwJlQw9YO`r*l_nZlthvu z9%HQ z5AOmdPpjf(N!_=2`iOXukxa;R*Oh1CZrsctf=%rkmn}7ODLNsP2PN(}@ zvp7??=ndXi`80~6QOkO{BZz(+7GAc}xt@{gzjhe-VzzL!f8J_oXRpz?oK=>SpzT-)e`V11gy-v9;y1u*>?n6y}@vEt^xma;oW*N z@3co(n|!;v7$T4wihOxR1^O>|z^Awq)p~>Mp3$El+7q|DG$Q|54gv)QEPW)5=)*Dy zdjc*D#oE@B;zS|^6MxdTryF8%1{RfCv&N^ zm-!jKG=H(kbJ*w7>42Mb=v7`1X+G^d$iopCY%H6>Fw;}j;z4NhR`4tR2Dz7l)L4fN z{=Crb4?yq=w&?Eua>6w!8)2G2j}TD_8Cd`nr>6rUJi|831R6ovXH{9!jY2wc1|Bkg z7Q)XIJQGxg$HQ!Wh`I-QQ!0(EeQ;RBWDM+VPl?b zCHShxAba6KCDLi5Ux@V3lZPS1$xmE|j*oEV<5 z)8w4x!sDjB&EKcy$Bm7enn2k=M!`WW_355Hk81CINn)}1{tozpS@EbBTcu#X$L_~V zGwFB5KouTFCsuo}!WF0;uyYvU$8FzaU?`Y1yj>=sIdpnJjr>%gKLlw!?qB~T){By=C5Ce4m`GBIF?M zxLG+%Iu|s~E7SwV@8POstq>ep5K$+Fc{BZ*W><$~8O*ew)LhzC%IQ?ceUPj#jAnPV z-z~@cwGi>S35^yA^(*~ytGg3eDh>pZ?)D~N(E8KX9Tgr-?*)wBHYaTc0aFXVWx zs7rrMLXd{SJynzYSU82*Z-97$H#JiEa;k~2uxy{0Kh z(1jAs#)6dVBLR9FOr-cNEMGI?2_^kv4+B%_@MgNe?LxMjjqX|~2y#6Gv_M(!E zy8>iI7$8o!PRxUOVt-|ME^8poe#~2?G7RU5NF@h4*Iqa3vFk)Hj-5dkh+E*B17kPq zL!V=!E?h}+3cY(l^9kdUfJ%1Wy)6AS{4BJn?aojOY`4o1*0BC!R)d0sWj{YNpR}&k z5khuo5gq~jpr-Z-fT=03ke@K=Y^?j;@Cp5HsiA*3$KlT|vaelMf&EM$z8z7nG+t5H zp{G4C_Br?pL${gzlGgau9cGwhD%6?%+f)Jlg1m_cKh3c^OAWb_EdeMWjT zI>}l3GP{})+)#Ff!`sRwp(Ry1D0?FdK4ioDdOD7Wd~<7p!bHmrT3z3B~_%(~<5`_oFS{?>gbU?~*cw_^T9(a@T)MskCSeZ^6jsQ^Dj= zihaXB4Zc_i;HNH5#xtlyG(W#_gf z9w%(G1+p01yznrN1i1)d&?@-3zLBSrBy9eU|3|)V>neYk8Y#GY*#ha|`$dD(RZ^n% z62y-_?>8&~!z^r4rJ;h#u&+M#9XWxE#mms8FyVe3LMc|Xjm3Eky{S#q_l5%CHWP}r zGT7PVI@W?Tu=M&w{qHs;l_hz3oZ}S~>K)m`np3=cH1SKe95gOLb_C+wj05O55q0=esl@id8Z?crK&pP<$9)-fxk<1|$JpAzfXgB+OsJO#B z0|zUWxV$0_<2d4u&L6)P2|Dy`Wjbepxio9Egrfa}K*h8s{%k9t~w;Q6AZ`oX$Us|2EXN zy_d*ABTH1JUFy{d_nGT~-(49+$AvRC_U2TXMp|dfSI*c^_U(qfwM&w~fhYEO8?nWZ zV*L0U;DTdb>~%ap#y5{2MoX}PM&jHLYzIJmOX!cZoev>rwTQYg?23qoK6F)xaSWe7 zV(|Fp&!QLLWvfyYTaIdQ<@jUSyRAR5CINN!1(GQk*Dd%6uAZEOFx2fNtmkNfA|Gc> z53oUs`aTsb@xt_p{|lnPMAlDzr>axDy1+Yzf+&+o)ci=XYlE1|$dr`~P}*a`p^+hA zsc)fRZiQ!~8j5d_jpoiK4bzXn@CVp7ByI<`-@xTx42~?YE#NzgK;`m zs=q*Qy`&OMg_G+LJnBR))K2sLgWvq>rZ?cJ+N&lB;E4dst-Q=cQf ze{n;&3@NEU?w&l$^$SjSykNF{JtEX&rcUG4r@_AeQ@9ZttT(`H z>-QcZW%6*%IgBP&994$-@5VsvvN>+Fi8hC@?!w43GV8(rkJQsywT^y6EZ*c=1wOXu zg67gO5E-c|#{}j=60`Q(9xyfwcXsw6_Zh9}n6s+XplZNEAQ{RWo4~3UOR8}eTnC@= zRY1jBo;j!Mu!{`Xue}sME#LBq1v-(fb$o<~#-1~tRa6QS86Ku{Xa*@q$#Mk+XM0VY zr0Gw0@@cNr>L0SFSK)-3*`2rjp6Ep{h&iY*#B~W1mIgvI>;m`6LK6pfg^)!Mv}UD| zs3^Zd2_tcR9%Lu=7$5-wpa2}Z?D^!0AdR1)H30t$!0S!&rsPmLLLC`#Z7{J z=iqmw7s=g*!e51hYr2!Fqkm9XW*Vc^bQOCknFKR|t`2LY8SLr(=tg2q4*QR7}X@Rv8{%zrmf(A%-q#lpYnS}_ufncEVLPit9mG?QY1mw z*#tjw2JG&7BmIi`Yz=?dD&ZRMCAA$#7Q*#LoW}#63sy>Yel$kihS$3K6s0)5rhRlu zY4u$EFSJG9NBv@WF0^mh660I1*v0K(_`9s>NbE8}b5>CDuI#SeSM~!ZaKIHJy;Ox9P6^SUz#RTvOzWQV(mLC<8m@t1QQ|(o3pZYikM1J-E$#P+e zPxK$BQNPAS3k$J?Bcp~gln8Fn9+U_I^m{Lx*?RjaZOrlibfX=BKj1k|nuU;p+tF7< z8z2C+xdpd5}(nbj5z$zemsbv?V;Gt?AW6V@XvV-)czKeA_o(@X9Ylfrv}6y zL0#DgCg-Fw=YirC1Tgj~PIvh4J!F~FmAPTK@nUL%LMQkeGE6kM{X^XM-zJ!0WM(Kn z)V~7Iqe*CIL+)i_`umO|z4=dB# zNr!KkI2@IJK2GZ6c~&i|d=cVWSeb1VXHk}1oKr~#dEeH{XG=ddt6hG&!-=b)T_lO; ze)P;I(E*415S1s%0(guTp0~oi1J5W!JS;c!Wu%9i9V|Gh4~#qaENYrZyVmjlzFisB_W?J0_wumXHK^QI~A=mL2Jn*FRe5TtW{TLJbEVt z=O!aLHlc8Nee7`L-Nd1@88B`)nogt(vs-EE!BKx38LvQ@tggf^U}kj8y^^1d!cnd? z`TBDL<-%r$3(yj$TQR2dJylLvBbz>V46O`}60Rm;^z2jhzcH=uBE!k^j!Hd;2mg~? ztAJLN^bYxzy7zR!)u2O);-!yEWP{LU?x+r0JnvcW9jx5A6(w78nwQ1WG{D;o z!x37C*^^mwwR}lfTK5Yn6&{qyrp={Us!yFs-w+xocO$sJmfq|uuTK3{Q22|j61c9f zhK#*=mR41Dn^;!9uCHf(@K4;mT9RJClU8La^wLXjv32^l-snLml20E1glF_D9)bSQ z24XMo8$yHtr606X0$P32$#5?F0oQGwtV-93%hQq)bd*dq1VuC5mkF5qFrE)D=56hC zgFm#1n42852cCpDv>zc9*p1Wqi(Mfq$I*pAH*XuJa+^C=Qt16OFe6yh3S3HDYHB+GkyS{lbEq**m0!_R4s?^jWmrL9eFhXI2?pK)K9e?UefOG7fJl+*z*LXUyaqq>4U?0UC&5Dg!vK|^f%3Z2>0CNB0zCLr~Ls=~M<>@zYK z_s8KPc=C;K%A9nqy6;0Bfl6^H5lzC5!4G^DVyBvTIDAL4D1db^p4AYiYN535n_$15 z0U$=l=X4bao4ZyQms)`y;pYZc`R)tF(#_r2#@6iQV_?VISSuY=N3c}RpE5oVdOC*s z^+w*pQ@}^fJcu;O!6}tFcG1A@7*fn0NRU>r_hd1n8-O0`<2Q^9l(`L#4H-NvZ~TNa zAA%vFSs;~w0Z3jX(q%&eDh(tM_RgHE<*Nel!XSuczLxipTM|{|yAQKA74v}T_Xkpm z-h-VL-V2@(ej4o3e5vN>0)*&Bi&d{SVH|(fDDJ{L=Lz=D+}V|83faJNygMyt3XSBw zm5YD#P0VxEu-l0aZ%vZdk6m=5DuHwXQ|XeI4D#4{R=+!Uopk=cgfw>;%0Z(+f?5|K z<|qPCHpJAk{;`poBcY|<^RjTDEkVH0g9|)$>>U)R3u39UWWo)iRF~g^o<^OzH@tHP z#D)s_l-=WZ9pze@0cOO^c{AB%mK!jOeCrt64(T6BR3n*UUuc<$EeF3wbE=z?LgDln zP0~oHqH(g3L)opZKkwtm(Is^ep;eMG|=h7I|~4UE%y zaKDJ>({Tfy5N(A6+DWO~{B0v5sbPKrzo}(QZ1;@=uFx-h#DyHKU~_0rqdi%?Hq3Z9 z5+-4n!yoQBY9}zT((~=Rx?|?VDkj%HUWjS85i720*Q#Qqmt0a}Owpc{m$y+t6Br{X z9V)%{2-4{s)J4J|+fn;+Kl^_Ib#zQEtUz+x#J{k9&LoEoW*c83NR@ZQM=~HD&5UfQ z2d!!zpA~ljY;IX1JLa0Z?4*$D_(D%gPNU`-On>%E^ZI|NF0MZ5lS`W2Xw!ALwbil> zaW9J}V@61_u?`PF_0q-2cX-4><uT_;=8Y7o@t^VX0>cL`a@B( zInRa#(C9mHFBlbFShjeI+?-GWmnS6jgsc*^eqt_Sv-WJ*P(79>(_yto%HRk;o#0Pc zrCRpP1t&borEK5jX}KLg7ZMmWXiJy*U$niNgim7&+l) zSa|0SF9`P>JFZchD{l#z^2p`>3y`C(z77+DX0%&MT=?=b1d%;Dyis_(yY|^#7Mi&$ z5wQF%)+7HXsCRzLw&~?dL}H&ny(XDjvq71PYPQz2wVTFhW6Y8X1HF=IFabi&H1w`B zqmetnb?{s?@9|2nNpVz|9F?sQQ_U#p(e4ueW}Kf^nCw#GseoVNkldY2L)7PTD?A#K z+Z6YV*%L+#xg7Z&93h0M&_^BN59a%0$yDKJ&c>6tkqR9s;Bf_*{h>Zpd3)JgJeI%2 zoP&fnJ2*PVuc!fv!vQ>1JX((8YvhYwi9@yK_!OiM*_Uvd-gYp=!~#p+5ojO^{3(ezId3hNVN-8I*c3tLWW>mR|VY zXitYmL>81T_p2z}rAy*w$%!SEZt;{wDb4OhwHLH~ zdN@LL;B5Bw+d)@1SU{UPO&Rqt*;X_8ZH}2?hf%j0E`a4_IMU(&lW=d8fh3iJl2h)A z-4>jyl){@6*ubArDp79b0W_y)=+w0T{()E;qRmzhY>_IgwM;fGj~>K;Z~FPeK*|%O zw^i+d8xdr+O;^R0qDA}19jyBJ17Pp@7`2~3+=c;5=gTFW59-rZd_wyKEP0Ww+$+dVIfHeC0~>nhQ9ipr&78FG_97lazqqZ@!<$pRSuj8gx$}Q- zCm>RvbD?T!_p!AI^v2p+d}||vw}C_3)*AQ&Xp7o?eyOX($Vwfe5prx@x10Y+qWu+s z?WC^>Qqpg`*xvPTT@g`M@Ef0rp@v=&2qF;da{qQIEd+;0RXiRu@9voG0P|Tjk|L^} z3{NoFAJYk7ec@wZx5_T_A81Gf-Dby99Be9g@}-gKZN5TiD^4>Gk4FS)(EjV%^Rx(n zL{34%#$m`h!?yL9#V^&L&|LzcZ|Bx<4t1pU23(}TYzW7)FRw~jE5@HrR%d0$-fdh^ zz7|!|ju6H@xF3|x4sZ~}dY^D4v0C*Nms| zZ1;yT0I?Y%P)4LR#20Q{nw4X129%u$T8vv~G6XYc=qaPmnjdGBB)#2CDGJ38`(h$` z8x-ne2lIJ^fufjg{$9^)6q7KAvqDif+a%+oJ`3Sa0^zEnB{6K(mpD11{pUCD*n`qT zDya=S9#^7(<@0`w9-N53EzS03$Wi~dL}DOlLvM%h1jR;gcUNJ&*~S|`!$+Zh*_I`u z2QCS&mo!PB;!(vGZ$KBMqkD}&8)|N(T#IZyb=dDYQoRQ;0^GOP&Ws1Dgd#SA@7Mok zqPIBI-yk+w(sBa=AdNYJya`T(imIZ@I};OJ5kOR~e!E&#$O3|euSgr|mPyMcc*6(x z{OpFOPnnGA3N9)oDy%Ukh}~G5(m?|3AYB(xTR8#N1hLXsbS%IQ~05Q&j+&K}baC%~mxeikYu9QRAlsb{7pi(?)$RBwH$HH}W%wx1p~ zU*qN{nL2uCJI;>CPo7_VzQaXfKJioEnv+z~q_h|D`01s@BH`4BMY##HT*TD|CUlC# zqI+t!N%?o?skI0aYt968f;6Q?_fAtOK=A`%0)Q$6;Bm=p2b17F!&ft%*^E>eBr&(> zYUOl>v6#}vDqW+~Y@6aR8zoQ{-uLx$>_n!4eU*$pEPU4@kiqmqsyX(vhpvVI>k(+c zrw=wGr<@PD%xzpW4`@IrgWfTkSge`FLw})wdyQLl&eh#6v!@G^9M$Gy?FjRGoH=LvgfPZoejLHr?#!9`}xu3Pu;EL`k6BIP> z{_49yD?k#i;#_Z(gU7Qva|5x@cRLkpyB#!oLUPD+*BT_E-LsJUA2JzQ%6UusSULWv zNj3Ko%5^TYJl&j(qFfx7QQu2%?Qo`=!kD-ZiwUSWnOWBRC0iN$rI5)H_fXWmUsO*v z-LrcHhV^XXw) zJn1Pod!V}S$QLa~>RN1+R!5Ke90U-SBTqpJA3m^SLkGY}d&qF)?odRywpDC?JD1r~ zJPMz*ioZ1JEutOcpa|=M7cgTjk_E;!4Z&(grZ9K{;`jtdYFa-Viy;`xnpvy5akZdW zW4=e_Q>+4o)P?R-0?8y`X|Od~4Ox!2+_})_27!V%`G!J9(f`O>-TE2{{mimJw)!Ex zHhAV`dlmAkOu1x#ta1B|q-_;9X%9nf4=A_KbW38e*hrj|KH=dX@oyPcKG^ywI`J?3 zBdE`0d?>j?6@;VQyrJn9(r<_5$i*?`xXI4(0g!m1oJJu)PgMM^M+z48cEls8`P)QQ zu#97;KmuC&d8U=!SFq5g@E`7}@lRA$2zakd;nFLU{iJ;sjG8R9DZJoL*92f`ruEIrr0;*%bHA&XkHS@mTcj(osgtf-!xIiT#Tc zeVLv-TLBAI{=%YA8{66K#{$0kjgthU6&eGM6e`+SP~^p_{$~o;2R3D^x(spa7AdJ@ zSn4Q!+&uJgZ2o;4d8#8=wQ$LUUb~3PHfm`Nz*_Ud%&u8$-L)<<r6e8{OzzSkxb#<0fN&p9_ot2 zCk%P6(QFPC3_Em!sPGn?aoiBheC^yBP-02qfIpF)WaA1r)Zg>CdH6_G4j^L!h%%O~ zjoESWD1+C18OA2ZJhZx#n~-(VZ`2_E%fVOPzJG*`x6gRF_LQ%B5@WG02EkBF@!~f5 z3k(28Xa~IQKI6hBQM86!*Zp1BthLAQA-IPIgWx1;Cvf~{8vun>Pl$e_BwpZngm(Sz zsV%Mnl>y7?NuX7q?2tb5;AC-sjuNxj-~0t;>;_|_v%CNr zo?&qWqd{#Phsv@=oQii&ZH4f=3X3d61VX)W6AF$*Jzn6k16AV{fii$y*o#Hi4X?qT ze(Bg9pa-7cqjJXkaMkMj13MZJBniV0D!YyEx(Labqc-0BJ-)olpMo=#z?i`GTDG2N z2AMi<*ajmUgp(Bj2XuI&H_~0sm zWRoP=yRwaAoVA*88smIVC^06&VmY67E3c~WZqN!14hDrd&Ht)YhoNF);yAFsDo!1( z3*_08lr~oq1m~mhX_=6~-V8P}b45T@L=QZw>ZZwUwVpO^j;{UfEVY{d<%3$a1Hv@O zH2cN(a);Vz7$G|C1BHwy9xK~|$qafMv$W@QxUU_v)lZ%fP^A@n9YgVPV{-Zb_c-?m zFxTj;y>G@D+4@=3_pcsjHG%zg9$}}nSg0MLxmo?7{(d?B(98{B^I^2tB-m8!nC{P# z3g51#xgUe8iJ?>$%iv?u+C;5V@*B4W&Eryj<_Zb#cq6-j-Q* zH!ft9qfjuov=q>N;x;W#0f3V8vQmy@o>GL=9|;hh13_2VE2xkWvwjXS8qrPS2&9^s zpMp9z7LR+M0UXZZttz*!=Gs!`?seqZEGBXS(4$N#%#&m<`kcAK4hTOgN#+;6XdUzLe5HE*Lgf#KZMQ zsp)-Yqn%$kS<}<)u)e0@%VE8bAqg(qNC#E4)(L7F4}h90?UER*(Rq&Ree@<5U*`FQ zg#DGwT)Q;$UV`Muv%8fGAAocDM+XTfxXXcY#hTwENJz9HfzP#yh%f)_O zZFMLA6|fTv(xn^*m(OQB0~#ybDbv_nyvaeG8ns(u?+Cz&tH1a>F5V3upWmszp~jG# z%wB@;(g0T#ay5spxrQ4>SotwIyI2bobMiOwtEWLPpSV1EDu8jT2hLXBjKEN`Vqpv- zj0?KLdrqeJm&X?eYY_d|e4(Yl<%y-Fybw?jm*Bqb3F)?);#mquQF(@={qfb*L>u>7 z=pG>4Ipw?iy@cZ!J!V*7PA8Twh4n{cX5W8Pw!Ctaj#_5OL-%@VKnv#guQ475I^Aj= zsw1YuWRpDb@LswOgTWzU>`Wp`%@47QHCU;Cw8imy2#KT=#CRQNC0UqCOfx;W4EX^^ zAUQNlzC&^2Hu0JTLY@hQnz=s~1}-GRTtqF<@L+6ksVov&zAv+)psm%+!CBd zRx*!u0;Lae^frzN`c7))98* z=;_#H9XU69NG9edj;I5a{$s=GGL_}dDB%YZ>>UGl(uVYZ2NF+*eWXj86D+R8C z(*j_hZ^6UMqVT;s?}F;>zl>l14$AQ#&cJ}vd+8x?-5}TpO#_<#f4ove6FLDUkbM`% z!RxOFi34LMB__BGu^i6Qo!$l*hEhDKJ$;Ayn}QSE0%-{z7IPa4zobanshMZjU1NjC zZE2wPrcD)ZhFc%?{TNEw0<&!l7`?(+a1iUFKK$vANHjefydD&!c zO}mANEq!UlTtrt!P6veoa=OX1)fC$td^P$3`)j4Iz*0W6O+7mDG^>*Z zkPHK36{d3VdUxh(EtF5q{;H;NcGX`<9ubcz3NLE>U#^8N@6^aG(6NM2p&n=+fs!QV zQaWpcaLg($g3R;I9UZl>GH?Hxtj;!n|G0L^i|LW!(BvpFJn!!STi^G9|2^~&)e4ks z4t+*AQJj|d>^Sd!f0yS`|2L|m^pl*iG_pA?G4YukA`l{V0P1MQh0%tq9a!w9WkRMR z2{qpzd`!(;&PbI%#j?G84oh{Wrg_B&&^H7_?CFW~zh}JPY5CwDKh=zI1~~eIhIdgW z1r5w(puesW8u0V$>028c-u2C}K=f3sU$m!E6Jm&G?7Y_tK5)%$@Ks4R2DfEk> z6Z}zJZc5^P%noQi^RC|ADnp?Df0<7P;93xTmgT+&;}`_+z-5uV8rDwYt>{ zals*~QDRw`)dw~j%LM36{Idt0pOGdE`z-%EWd>C>IQsd-%p>t52Gk`yU?6r*ZfKy4 zIbX2Q-`r9Z7trIPiC;$ChS$5d5#@2Fq^~sX=vQVI=z3f=J}MGFi&u{6lZ2*~hOe!# z6eiN*9&T~X*IsZuLr7h;pgRR`VbK+~6Fpru$PW83iMFKAIq#wKq~GuL(b% zGdnWPgpzGf|5(1;Z~9U(@RwaG``rczmP0&BUpVnv1yPBBGCy_)bb> zZMg|4HEKj_8K!%$?lu=ZI8~%h;LofrQw{Z`)y_TIYh%zEF802b~t%CI6;TRuK+U-#hQ!Cjl&Y7 zl;92HJ#)ON)k=F)u$7eMj&1Ufsdn*4HSd5gCgu~<4H0#{Grca6q@r-!J&8I36S%Iv z1JS&()cMk<9+v_il3=O@;6C3?$@pDe2IovQ2n@#zjS%|}5x+2sjNI000^29FLd`hl zkN-;XU>@xe#IBy}HZ@`s&hB5~UoB<5dYGbH4=8}#sy&rVabcR9v8`-phaE5-m%}MM zY>ISOaAIpq69z!o(0Bz8!27(X0Cu+T`~X@SI#y07yKb&9>hkA)RzC^v3WSN!<(A2P zKO^pb>0`M!f?8;VO@=QsT^r?QU5+8wxDc_SK@H6+*h6+rpDSO$F{E7N<1Yu6Pfi z1b+nn6cUO5uJ7Q(GMB1Hlk8Y++!9%4m<}GxyP#-a2K|JX7Kw3z+ioUi4yQvanFkn1 zRObx5b*`&d%;n;|HPdsd7F!~H#|<~rQF)KaW)#fz9C|p?+6>7< z;HZ~@mz1?jZ{?T4+xE&&{qu46o!5>{*vpCf6ye0=cja%krGp^m2A)DIj&Ga!gs zGYu&mOhxJ4_aLfzry#Q9Uh08srGh|}+FxJou9umn5gAlk@UPryf!w(Jvq4zz6A(dl z1Cqa4F^PYL;fQ)nG(AX9LkISjA*zO9jZflnE15>;4~lYmT^ygtduVa?TuFqZ@`+&M zY&#)1Hk*Az0`72**C&6 zfYFX9TN1M;*?$TSgCsM1oTN4TQ{{Wi+Vx{D((+^V>VPpu;=$KFM4{(MyCu!bJi^3` z{-0|{`6|A`JKzm~Si3Z`O?%BqF(kt5;Ajyuu97KQQ zO&bROGWrpKrQ{@hmN0G|N)_j<>uK8mD06ML@}TkPPtt>{gxg!$5qGyN81&7l+M#(mcFv5i~+awBQNpm^aYV4KDYwVmSYhd9Lkqdt@*20zR%dWZz>xkpA(C1*| z7pYp|miFOf`(F7XU`lS(2oDKT3xan8CF5}FBrHE_+FtX8__kf1Y~)$^gtM+Njw%pk z&`h2Z91lPdCHK3?kFZM(OFYSiHTXT}2?&|2%@aTt0ecJC;7M?d`N8c#DH)TxVStSP5Fytkamg_lX@e8H1QRy z;N+}h`$=#|!k!bbQ>PnV>u=DWU^yfw3&zGSP}quu=hDea3m=4t+bvt4B;Zo{r*08k4-$d#x^*TK69Ry! zL_~<7E)z#^m9dI%~rMQxPi%3r)0wq0GOFh(@mHkHa4lf=C>A6K*!YE1=Pv<&|%r*Oft>1Hv7{E z>&nipQtvr>Wk#Iy4mz)IIJKN#RA{aRh;0_9%>-VKiOT9 z(djL|uQEftaP(=XTX{q_!c_8v4+9-EDNJl(4B03*Sz!-+qim?kIYMY4p zgb|Kw!d|+$tdTW+UWbf)40$Q#u=6)25w0q2n){p1oS0i(vA3G8q=``vWrjC|ZV3@7Pqy?A~C^o|bG7 zD&jE{kEZ2wRE^vX>4&>FV(RaB%`N%GjDoETZQ|cnt(c~e3|=9$L!)oR5|#F!*cj`E zvQA}Ww-sQ0p{K>#pw8bR(%+9erI)>p?wY-^lT31B)R*~cVwul9$%Q$x=B4E{niSpW zItfK!$If_QZL87V)V(6LU9tYxr-ah8%n_;aXBj$>P8dv18KhSX-(-o8OM|JWnnhPQ z!`yg30SVZg&Y?vLq3#07z65j@p~k&0z1CZ7ymqrPGd>+}(T8m9n`H5Nhk{>J?V03m ztJ<#ADL2UT+o$Y~-%na^DeW{jxz#6nPerk=*h1i)(z+q{(0xkGAFMvYNu5%Es@pUJ zM}u#%o!RHZrd=+-zO2iXTYL~a<#2LYBYyX=-K)iu3pj`mjC}*;cf`&x^Ie z>Bnqp^MTSb@v#ue#!vKX_aVLKgiC6C1w+6&!itRQ&;ayYx>RhyIy-zX#3QUk&r7l_ zy(mGgvgUD>z?o`ss|}KIk!I_?p9Z`sl%v;J0jv%kF_9kLMwpvJP$ znv0g;z;>J5_HkVERWW1m?4wjxD;~ZhKSk7#JCD zAVibOsx19i;=0HK0u0aK%e|luQbJNbBc;Ia1na}H>?24UkUj6XkX`RoD`muB-SLvLN z+hT>aRWG(JU;NK=eOvRnnczQ`C3h**)IJYMJXEtcVB>lz-GT9zjco3wjuy1`wzNDo zqz*~WVfUoL00&z-e982VYaU61V17m2u|jRC8*C*Hlo_`24_6?6Z3|bs1UFf20_~mG z|HJQBzbD)dnAJC+VaobzE&_xh0JP=k-rj6td`Us5<}>d?lMp5(&^a zCg;IykOzTLziBLod%+WQILnS%nDf&J7x(7kPN;Z|Evr(s?cP~hP+o9KRsmUn9`-jM zUw0aJ=&F=Y&`tCn=7*w`uA4#8ngESB60nsU*SHjw5b3KPoDgtaZkkO|ya{iY^aoB6 zI^Hh&NE1fJB;%-E1y{uc6AfP=&pj+j?XN0UOXrXoayL8}>-v1VEw zOhuOhq49iJ%lLVcHqSv0#G&?Ym(%Toz5kQGy*E3+4Z8h^UQpNzs-2kruJ6Aoy11a?5)DGejG0nxv8>8Mrh z7C7*lOl9s^M_^Qa_DT-w;S|ldNEq9ad!n(&jl582Wp>c&j~((n_Ut&}ybgMa&(WR( zK;G?^Fb%`}oSR6=<%*{nKwqALNx!@_2k153CZC`|M<&GJ${rx~23>3!#kDiV%2ega zfU!a4H9vQL|F+gpb?mj>8qpVmqtkv|4odQ%-n~#JzOmw0iFp;l`^*R92uI`&8^*E& z=M!uAo>*q+G|}WM(X-9r=z*F{f+t8d+ZW@^JqFc+q%Z9WET7rUNG#jFN32gi`dLk) zL>>miTjsudD7fJGJo86sZ&o@{u&QDSO*x#ZxmJ!7EuyQm!$CQG&B_YRlLJZh&o&?9 z@jkr}#B?M_r)sDY=ecU+h=h(cb+WLI_(p<)z$z1b{xhe!R>Cv*?Zb~0rF(KznU5^O zw7-VkwWU8g2dAcNAJ+Q~-W;gAX&REJCe^wa7K(lPDd}2Q?eoJR4i7H0a4Q1RCzl>v zYunrVsMaX@*{f<#pfUW>KItZ03qxh(uz|hO9xTZRnn*PF&f%~>7Y?qy%-!T?U|%(_ z6$npZlQpjU`y>SOKx{6~}Dc?kGdz!S&^c;$)Ks)rvMVe8*uY(^@48z7ZXm8g99NXNvhEKHZAN8QPCB6dKcWN9|`{`GG`@cITK*<*JrL{%(b7+?!TkC|zQUl^2}Ay)jbmhpm*S7{jVK0*Gf?J0JmWR3HrFR_#Ii4>Nr56OT0BCKtrhIl-aG!Ts zWLtca?{Hg-76?|V8fs|Q*_S6W6e$p5;URH#vy1qwqU*Ty8P|lD5FSx2-?3|6fZbed zx~rT$Tk9cgneiW`kAPcxRwCP1-LZ;rp1u~>)(NnAQBUN|r2fx!=$r_WQlA_4qqiofdK~k0im34 zz%M|P0LX2S)KIw<^~sD}$l2Iqkr+zrvBIw~D{C3^$89z;bA1+IZ=W4Ip_9oRacyws z7};&iT&RS)(`?U_p6^m&cewZ67ydarC!kQF6$ZW|Hf9Vza~q;Z|4WrlwWC12;FN(M z3hP{6fGB~GoI(inmz94S??D?8>^K858EDwP0dUkJ*l5?#kZE{aa^9B`QFz%v0YL-Cv+oPw9Nda1BrY{iAwa}R?~rT}qcxgP2f?$x z7b7u4drAl%6!(yZtkzQ(i_-2$g>4Ju`ji%G4?bSGUz_V{gRLYGGX-Js@b+>ROxtb_ zwphYLFtiD|ze5U=OUblWn=eLm`C(TNC?i`EvWg8539CI}T!k%HBeIT@ST5}>#r@?c z8)5f1m#~&B;?IEO_3L+#hAC!b0S&FGtnn6IbrN;>(qd8K{3cribP`jjludJ*n?9dG zfa3Ljb4ZSGr`d9x-Cus(f&kkI({S-_Q?Pwc)r8twMHogP>%^14B-CeM z{Ohk}Fx2$c3QP3^mEJ7cAU&{FBlF~mG@!-g;}iYg%oUV<1w z5=iZ=Fn8)bC{C0_bB0n3LU_(7jv;3gvQMY#IBqpN5sNTx2&E!V;zIX+hmEJeBbtSj zK~2+OXZPsM_5q~D%CLje-rT0WUI9UOQ_zObVzV*df8B^{d65c^`Wf>Nnh!5TMBTV> z`oUnkuxJ&)7kaM2Dzuo~dbr1NHZb01?<>e*_9Ovg%XwRXL{(sk4ey8OpnIJpg4RZS zD+H*Hivy3xMq0GtSm<4Qf-Kil6<+0{a%sAXs6 zawyX@)rf29e^<#Az<<7!KohZH;)BTR8T04*%3MLJQ4Q>YOO;wpJ7){#@pHU{Uu%GDZPWIqEn_B~E{WOD z`mWJJ95UgMm;o#Vb(@g5D|Q*we2-J2!GuyLJ70}(9E{ZzOKyu8+lhDMZ}9zG z)v3XI2s6>!st@rT_EqPKE#}~MS%odKhP-b9@(Q(a z#kbka@$pMW;^`Zd33-|P1`C1_6gElf?+zNHE{xr2xW!I$*gU$A_Mrf@#X{(OVk8fE zVQALs0R81GNLoW#8Ri;vZrjfuZ~$sN%9-Nap`Z(TJwI1&9C5qH-^lAf&Wyo})DU5+ zy>A8vAEgjF4UYWmP=G8ZHxwLqC~?kgXvS@}$T`T2vux6k|I?GYXIzrjAX#sqhTI8*c%33y*M@W z%f|yDu7tDND zp+->lp%rSbAV3<*n-f;}n8!CyVf4S7LkdV&)x{9nx)C<561U@9a_3jXYkSY4q*TOl zS8I5lYg}i~--e$TD~bmk?lUM3BNRy`y1fw1&{0Q(QwfX-Dh|3ni1?W31Be~CiFoKtgyy* zW32jy>a>{k9acU9S=fLV$S9GXSKxf%PDGpdli4ou*Auq3cycK=MC!Ey<9+R!$Jgp= zO7J3al)_Dlr^OS7+VM3_4fU&mfrNfS-Nfia6^xpL$3Q*hk-U8$%k9baY;XmYXDpbL zc%9K9I*_veH7B|_j(ybPIqb`Pqtxo^BG$ojx6^DfIx+fH9nD21FSotT- zpi~nLp=68fKytrd{6KFS_RF_2G#)rHs+!3|;fifNcxk(G`9DQXwanZN^=bX~&yXC@ zZ!M)~I6z>K(ZBE~hc1?sLU^Zx%}n-Z112zz5Hbh?v|+D94-PR({yUg;ngauUZa`>o34pi z*SMo$5)3Al=@CrZza=o;>YxiZ1VAsmK-3aeo&Lf+n9QpY7hi2wO#ol*xCYf#6Gqvs zIZ;2FDxF>ob~^TJ)1Ub#H4eTcLn_;`WP9PAOHj1yt^8LLgy!1iV0b58T5LOu75;)J zRf0O6!E$G2q?PkXoVG;Q`5zi1)`02O7?f%jw?fiCqFh>>E37fHtJ;Fp9>FVwC~7BY z`smbA8Gkd`h{dU71^0v2e;d;cX=Ux5%-@ z4d1W1`eULBqX|5b3asjgiNqR4i^Ux|LrrK7f~zHbVdDmqc^qxfOT42bIp)B!OOQ{` z2(>kd!R>St+XeBd6mOkk(zC#u>myW=C~S&EvRAnJ5W}NKkodvhUb@ohx1j~fX;7`- z@oU11h@B~Cus1|kdKxj)IeCZI-GP_*s6csxDH)>B+(1vMzzP>3%Xm?Yo!)DFILkj^ zHVKu6uA|6OD(yBLR_XZKYc!@W^f9U|xpaKsY$9(KvH$x3O$anbuE*+QBb2jA*TnL@ zr=@LMg4zG~mcGiLiaOZY*K^juWnS@8fDYU)dM=x~7YY{@~dg5_;JaSY^_E1@i^Aucp;k2GvpLZE6iSz72lc3d`l z1BR4&v3POgKs+FqGZ?;0Ej-Z1ynl0T+fc%`b}0@tnVWpN^NJn`$_KGRzQ}S;-VJ=_ zA#wOYEJm?383+XK!IqQ-e+`DiABy_Qoh4J|i!c9(0?ti;a%LEmUy!r-EOIh%bl|z;{TwBr29ER0v~1=LxX*2 zF1EC?)C;tbJ9dNpbJv8QJwG?2&bo!@J$uVyR!0sriGd!vblM(%EpPaTc(jHNQG?1g zFc76uCHGdm#F@0v%HbvxqCsgZgfAx>O9ysOYHGoW|<%pq5MeLy{XW>FB;DW~FM&fE>Wrv9nVe@N}F0ek9(@UcW*z zr^Ovl)*29SiJ^DUVu|H4Fnne(r#6>wbTbS_<#%Jy`d5DN>>s1=721>xiJo`9^#2w6 zuuV9+rPn6SROT)wSayqT8I(6?)kO7u0aE&(@^jT8@S6=Pm$@4Qaqk;|&{#5H#-DTG zSAK%zTE#lqnc?{eaxo%<`3zoGK0dDU?0SWGG`I{=qX->gvI2^HTjSIX;_D_-wB-|M zpvH}uA_~%OwHDc~^ddlp+q3B+`vW$jEyUS5M3N8dSpes|2tW<}FKLx@h?0OKu0P3E zLZa0byK2GtXH)yfVfTpmq&LE00L06=)jXL7^#8qHIzHR$JGLChzImBD?jE&8sqyN! zMjbLb6Nc-X0TNAv!?nhrDt zBgEf>RHRfxyUJj?bVywmEyTmqg#6Hr0&2@|Xh4MG>+#q2xf}=gs8Rbt!Jz5Oa$d># zF}Al*{#idH2ZY?5HY8itMj{>0$)dU3Af zLsUd38nvNB_x8wIkc2zljuuE{)z`JWcoCxuq!?Q_+9CXmQUofbud(5UD~5lb9Xck4 zhgm(-EUb;>jBuq*)ZQ)US1!&$kT7fv9%%ctnyXW3Yva|Vy7D6viQj4Dk6(eBL0{Zt z<7qP)W>ZO?nYK$vfP}?W@1t2@IM&?R>h3}7Tkj`KrF;D~nqWB$%$(xI@0$e8`e806 zpC_{K>m)&K#>?FsQ|}QJd!W`?u$9K-e#{1u1C=5pJrkhrW0a+ z>_6L+w95aF?PbD`uTHHmmm-rtL4+JA182|Ck&Z!Vv26IJwH9{vb(6~GFqQ4qT#vsr zED%Yx_v~kW7?;q2!Ez=?B^eIn|9D;Jf2l#|aAGoOZE2*!*8DcXIJyagq}Go9E4S`| z^7p*MeVEK{#mY3H^r3M&7g=E`TENMmYp7Vl--Fx@tV^{hzm=$ESavkSAZ1~Pc>JPY z_p!sn{a#2zc#NjBc!n#av>PdvqMA|K&kJh|b|h8Qmu!6^uASVZ@Zk5SlE&Vx7@w`}i_V!rqwqxlr4 z#s;4V#qHev|ri*JB}y ze73m$l4K>AjXC3UkK@idZm8jR!2w_^;Kdqpc&awW`KXK;m1`n%C}Ei)82nd@9yU!S z!WN>Ef)r3x-igJHl@)dOz80rI-jeR3kd1X8`7Y~zZods?yIRI46rFYaKkR0m6|F5m z%P>N#O7SSq!oBB)-DCE|asop%;$6gu|K8sA{8>X5HetsIc)Wubt*N< zR4VsJw|9g#CGX*tPlP7{wzQywd;0G;mrT=Y0C)0J_T_{J+O|ZljU2}DyO*afO4u%o zO|xj@aIN|*3Nw8`$5yh%#dz2sX#LDP=`}dZRe}fCT)~{RJ0>Vx-j*6H>ued$4NeBT z<9#%x;8B`*(E*y-}XyUtmKmhznIge;2#T|mCG^mlp#3AOQI zrdhAlVcrg_rwTD}3sV%$iBw%!3X;u01@>{7<6(NcbG={s76hy!ndUih0S(HHq}fM^paS4z%b3+I zB%)~WN~q6c3dw2w)(Ab!^gYb1Ug7?!&4mVjJ%Y-;D2VKU{&SD2Zu>qWIxH^unOemm6%Zc+WI+GdPz7DC|F_&O zuEhI$?{*JZ!P6lizQ!S#FY_=JMh#)V?~9Lw?q9H^K{!$2_u6j zEG%G`6vd+x@serk{{R+Xs4=v0A}_`&Zih*FabI=g2VM3c;vxW)Ri^c8L=xrglrYEK zyHlMwOe#MajMhE`tJOL*+&taBNLe!R_uH@y!Hn%rbx&<8sanJRPgjxG*vTt~>2e=% zr({)H2cBJ$(2pEP3EN;0ry0AdaF(#4-;{Cbv`&-K*5 z4Yxy@fIDEU`xn`u<&b-6XJ=P^oj zn0vggSFj8Hd{`9{{2KkV5IIim7SJC6mo^yH9ULH#t1}jF4(m0hjuvyVJJ@u-RN)uz zw7lNEC;~z{qq}{2t;~19f5=<_-xqww*2^ z9ps|(xy(Z=*g&*fIs=&GA1MqE5WClP7*{ns`<)FK$xd}Eb5arWHWAh=0KhY8q{S(ObtDUk zK>Xl(W8!MpWi{;eEB=*euTjYLcwyqgV_AZ`9aVk+;JQ1pGfWGLs(LPDaKbTMEzi6& zUO_M5B&5YwziRjvOsrf^C|+bsPb3FBC4HxmKv=P9p0Y-tyyJVE{~%n3%eq5~MoYKc zVjo^0R`!Vcjyz@}7QW8X>iA0}mhtW#)&-=3aqa1O!d3tNS|i!1uh|pKJU3GurwQ{} ze7D#T${1Uj^dHowAeAwp!SBxOfwLG@7mGAh;FW$^6|&OUTw}=V#ZD}^Y1BgHBqe@% zHG9}U)@7#mOWM>_9BX|Nx)`z^dMwt(PYjPq<1^&c$Hnc1f(W3~0lEPnTTeJ>=R2jU z>)KXsPcZvczcW9#+&wPOMM8%o&&ZTZQpo6Y%KE@yQ6c_L24fa)(jUEe<0h`_B#=p1 zd6SavxcN*x`L46E2xnp1kJDVT5H>U`=`3y>?TGl=ajHv%Ga6rrG%PGL5C?OX3YFNf z7r;iTfvNFcY-qOCmV!|*n>UG1TZ9P7o4}WuDW3# zjZSWu&MTEtYG9vbZ2Nw*)s^VGSkd)(P_U2EPvv)X{ER*@nff-I<~D4HmnF*yEf88k zY&wh;!FUV6z;>LmzXEB*)~9N2w9U7}^+YowV6`Ufga2PU(I!~qQ7&l~76YdNh-=5O zGTm$AvN+~06VUYfnS#`|#F>K zjGr<~3fd22^ww01vE%2>DGh{q3e68?<=Ag-iY0FtP!>^3AAp~1_ADbe) zJ(k|kX zK0fXd(u)OOAJ45A1GWa0FmW76z&M&Mm^q;fw3X&z^XAEB@U%#u*>tH9>jghEGKMY> zLplmq(nb`A^2gGP-XUJp(@6M5DD2sFHFI}5-&eX9!SToUN{!`fnCTfid=6Ys3ynf`QywV15 z2Vz2QAe|}%mCr)MU`(Rm3pt}XmC#OQfOtr=Z!WKJBsa*$US>X}p$)6oc3yeL2ok#U zpHCdUsU2jH5$fx@-Rq1anh>PYk+i)%NiAov-kYVKKPWrd0y|#zekrmA7F9Qm@1$f*g@(FZ|9FfwueD$2|F>+ z!~@#uj*a0b^`mh>HSgj0zDp^WI4=tcb^D#gPy>Ddm>ksA1#fE+-Y(Gb2_?Nacj*m4 zVUYJG3*S^8p=a#QEow#tR52N^)zPUCcg~kuaz(3eaL@fSL!BOC^a}kT7tX;|fEJ-O zyQDMSPH%8E$|+~*lCS55%;8#z{B+Q#b(^8jbELDm4{@XYZ3heF3SS}c^-g<9t^;Jjrjxa>5U z@U!|OigG#M_1d0=3g=ZX+Vcn}{2W8_K9@%eBS z_W`*s&6>0k6Z}sxe{(1`p5CpMDJHFp;B%%!-~`URkF6N8S0%H;7rbv36K7aMNO)7r zMZ4!30un&#w-;A<0M%A9pkoMriW}yBAl{$?QX`PR%55ZGFg}?~l~LrWeEs7jA8!Tugu*>+BH5c;~GT zj=#Y}y$Nb=vT>&|as%XCjz*gzT#*-xsJn{XfoCg`D>-bu$3cXnIU*jkg%XcaPQ5Zg z>X2H*KO$4I=}}}Kf?7UmssErfAIz{l!e^G&H|T;|DCG)u8E@JN2EzQ@j3Okv9InNE z63BBKBR-lm^ptnyy>p;O&a1+K@RBbk z`UFZV&DmvQG(3?F{kvhJ^JZmxY}M+r`N&y)Rdr3r)_984C3lwH-!Arw3_cp*#rFYI zynoF%t5J;Y?t_4^@9if?&drgd@|~=%wKXtnGAYC638OxVfkxy>-oTL znxd1I(RV;8-REknB1&)YBnT=deGY)bt_GxC-y?P z$w#OKZF+?f;j8#t4k`f4T@q1ruu5UvRvGY}Gi0^zed7s`+-Mj&q_&zqy152Lz8 zI31!DS*OR#&&^i!YknF<-N+dLzpuTB3xaaRe7s!r*B4W$|M*Dpxp)a*Dnd8n$1z@| zFigvkzRNJ!>`k*Cz>2D~-Sat1?W#pvr;kF~Agzp=a1`b%*C9?aVd!XFh3Tqa4|33N zqe_{?DM3{*W{VOBIDcgV{FX0Cmf;HwHQ2s?d*%;2Bagy;NoE`EfN2nV<%a9ZYXJz_ zKN+6so@tJ9oDDohu%m~MHGF>nTLf|+PEQy7ZEA^TQo);;d=pdZV9*SMQk`DneU(ff*w`0-sA>}nplQbT+$yg6Gfb$?E zPb!EC)H~H=mac}f#Po(~Xl|&EzP=0a3R}JN+FU5T>vUQz^h`)%%WK8uPhP3DMm5D! z3hlOj)qGIQWj;B_IRvch))E4z$n-}GhVIfgAVR~DU$=ap_AKIB41k&_hEQ9J@_J2j z4r_(TtS(SBjM|l%v;<)vZrB^`#25;h<#fi&#SLaPR6A*dy_f8@2fav5R1bdFn!)h5aT? zw@hr~O$#Pg7vgD$OhMPZ?03r`$d#0gx4?jbs(8pEUjakr42Sw3-EzJ<=oltDOx8&*fgYO0D4w!vEy4YbJlrPpZ5gp%&k5Xt#jvi&j1j zKpgGjpA^2Eoz}OlRf|ZFbf5SKKc{Y%x{J@n&aS3Sod)yO0|((WB-^s9EL3lUXsYsZ9#$hba{^EAD314O zqr)Zbui#qB@o(%9WjjSHV$NlU@xL$C&;Vz}*9{isLEaV9omFoCV<&lURP_nJ<}hTT$_@D^mGer3!@i0*LB$hy zVXn+F%9r)r!N7Z*xOp)lnj9Q@_ejm z+cNGr8^FH~z;Ce>P360WpbyafO}JSBx$9mtR#07kg71-mlRIin~(rvCvo zX_h=6ZG#9_NioB3cwjT8e@_T||YGFVyLQ!G6;EPw5AM|GTePa8AY3y0d zd$YQ*%0~|@pK{qIOIpu0xBKjOnpb@&D0Yj4RZ=={og$%er0(vq>=IC`ixlgj#^u!* zs$i8s>OzhF6+#H7DN=rKlIpgeIntEk+jPX95)6k~x~=9*59*{TaPOF5Rcnn^jbgp!`m5tQfE?4#IFj zInJhe>$bJ}x}t?kkT!Izz5R5Nf!+RgwQBauU>P@~icI;pakVO)gc1|Gx~S#g@vfWn zC~iXTsCed77C}7aKWUst%wN*qOq0aGP_q%VXA?bNZ30f`IJ6JxzPAr*=ZwRhjw4zP zGLVFOy?#EnL(a8m*FEp6MljhxAIFE0W-y)5ypE&X@0ZAN8Kf8)V8@mJlWoaK?dhU# z#mtRE1E*~logFYrxpP4w3`E$>p*rm`q`o~>06Rd$zelF>72r&_XK~vrR$35>Foh^` zpJXPU>@p=p0*)odgJ#`vkiQo0H2FcKo;R|IO8${2f_$(Wi*6nM(bwB~{C4Z(#run0 za|(-z>vps$Qe$$AENJ?w5K8tgiJ;Y8&tReFe6?Id28?L}T2od8b~J z!4}zV{ICDt+~mW7%j~6)p2NlV31zMbKWLxSOFK&|(za8Y4ESyy^&W{~syeQtBt{zw z*_ooQ>!ZCc>{VFH4afo<_U&4+-8bW}H~&=Nt}rbG%U}{IchTk(_htcUQ+p*-?Ydpw zNvDGCI9&a$#6Z^kN7?1xfrOfH?Y{cup>E%KR&D;Z{UlWl$>3?7jjy&c{sIm{ky*t0 z*tk`=Y!ljc<=P9tWO&Lo$P$jg$_stVj}rrO=9`JxaDD6(0=&~PXzmW>&Kc9hu0@#jJ=@@)omCiTk`Z`vAhaXIo2C@vXBQUtf1hsy>hzZLeatqVea* zXjf$vX#=t|VR)XD!Zs1u3bc0u(KKSPh!53UitpE1K9;L+H*G`pwjT3+r9v!PiL1XB zajK8A!=j`MOsrl!7od*CRt%l1Vbvmm#!B|*FhCxu|L?}o+aZqET7GPpsE?tUq~V#7 zc-dWGc3bkHe}J)CW9$yf5VJtADlreDD4U2C1d)0hG_IjNEPC$*P>c@)WzwXH1TspH zx7F*$*zgB`>bEVTPVbwC|KW5EYys4`DU9~+QX0+*5AH4x z3`i>UkDXkoJpZVlCaq9j2DV#_%%lD=hWakcA0?<>7y!?e06O_`5_!XWEc=^XSFF0} zlMdrvj+OzA&p5(6wsqY5rUeJUO64t=q}UW*cTq?b zp-9}i!&K{fjKVZ2G0yEB)zW=rM0G^^@^@em$dvV*czYYuF zln-X(^BMo<Nx`Kqp9a;O|&2s$5L1HI0H3 zt}bHW$=V>%bOpUrey8tR(6VvmAeOs z%#dEpmn8aoFe6ssk#T88!u;@3tX`+Z=@Q5|-H`w-vMedMQ%~8UALXTYwqTa4I9G|U zFA!drk^y{^J8$Px6Ff?i1N?BT6cNo`JU{G?H*w(b-nEjn+1A&kP8ox*=Z)>n z(JX4tmt-ILZAB2v?;G6>xp;TmgKrKRB7n?DoP&a+03)(km#4SA$g_CW9h`&5b*uZO zRT*nD6=(KfJL2MQWh5~iv_4s0;9lzb*L%3VKAEUeHt$y0Ihn;F_&XwxI!JQ{>k3ZW zkvUK3qB(LCfv6Q|b5Az#7s%GG(F>m$Dx zH_l=R*+T-hqyyq(KMPyU&j}l5hGbD9wv6|86xU&XO|-9kb@Zo-dLr=2%we`wR6iBv z8Ell7{nL;dX~jlOeakROseL)IUQU6cPN&RXo4kC67$ZJhIt>1i>!#yK(1*+VJbPrr z4>jqB_gpNeac_UJNeJ&4rDPLsC-6jQ6d1o0PuFl9dH^0jx$*mR?SV5@(vrVt!YKkg zwfn&y*BEOcV2>}ve1+3@Z_J@OrLo<86mL*Ll1g*bhjxY1$O$9zfTxCEz zVpf`kH2~_VK$wDFS(hjWEhA}jac8qE`Cw)Dg@xiEfIeh$!@Mnanh8B6pOC7)Q{#``I7lUFa_88MRR{JlB&R^WGgm}ThW6yL-vuDJzNnN0Z1=g{J(s+D7za%^wZvl(ck zU#*v%KGh>Sl{Py7dxfZ^xIbuP%kefIa5}OCty|L__bZk$4xeWxPw5v*ls9+t$MelS zv^{DZpe+OF=uWh%_2El)1aDDVs_p0k@Pn{_mTC!K*WJvj`$#SvjFk(4uNPvJ+4J?$ zYemTY-Eg%emx0q6@)&_YM{oq86n&rfro~5^XVZEK?dOTadkLiCy~;R^`weUJ-BP&? zqL&taR_ziXcb8FT)cOHca0xB40x(Sfapa>atlfEoX(|<_S38?YQ5W-5&{m=eVJGzW z{Vl*~`DN&+=Ge6%O9qa;qzS(jV}yQKEC_s29lm*X)%V0H6;BMSY716hH=LGE-B{_Q@lw zFPEu1@{fX~a96{qj)4^fUsanicmAHY6d9lk1vLBTTA-E02@cp_lOxcL4XowyF*Sz$ zq~WJ0D9c@(xK*k#&cY?bf>P^vHKdf;2fpqX%0y5m|8G@|g+V~Q2jD*_?y4zMTCy(~ zD2v0KPn6Y~eicQrXWTe;4on)UbfNP79+zrGi<55*VDjDb(7Cq44sXlyZmW-joUc{gmmnKZ!*5_MiJrwmKr68?97PV(j-CM4bh1`^6 zJAM%TMM!*}EzaTOjwb)c>p*tYXi_y_$tHC+@`9Kf0wz-Ji#c&XaKpp{f6+PwV&9f6 z^7@+YFbImI>%>2py)v;~X!>tBbZyO?C;EV<03xFsX{t^AU*w+GqaS{ryEUn9R6pVO zZ7WdiX~VSGj&IZx!bs_c61!I*r?LQ|MvjW%5;{PQ;HW%IV_U0{t>$;;dzz&wBWb{8M_0TVBi3;y!o*_l zGS=cYpg8~aIJ^zQ&fdi_ft>ohcTsm$B_xSrA#S$Cv&G~4ZZ){&xCFjVXRApre=j(j zoAWIHA4=`$-!q_Vk?A(-YYR82K6TuCcOfU_MNQ-9tHe??M+1T@2k!cyKRM$oBfam_ zN;UJODIP0rGjv|o1rtkcsih2+P1DPqOwm_8VfT`aCACPvtUlOQH~e+p1l6KTDbhdK&KmEcfNe*<+C&Vjq}U-J6mW&H+gk_%l~40M;SFNA zc|);#^H3;T%H>^Ul2+(n(8IoZ9(Kj~dX~+x3$Gb3Re$z)XWd;jT& z((5gg9_Opf36^YxZ&I^a~}IfHM?shxChu2vxjr}~J43aCLH ztwS<(ibq;1WJ#Ku&dX>3fHxq(LjO~bFu(r7>X||WZ7H&Ngj4a(KSkh0x|#U4c~&27 zb?fwI?dl$vB@Lf|DzaJC#?u~OH4XS+`KPz5A`Thg0P{#_0M_JuSXp!lj69x0iOI+y z^|`~_`$3bzDBR>Xqx0ZU#$wdDVY-j{s=)KSG2t=i|(GI-iW&Rn4qbf?RFT5iw?x*YsD ze?-6>(U83U$Ma&^dPmpDd+G}btSk74R{MA39qpJG#LzUxe(2q6%Aht&gf_VJ43b5E zB6Y!Gd`XrsQ|%aJrPVCmi4d84sSWsYkzL(#G@NOfPc`Sx0#=FK~~EvN*GcyNm{msIyEn6`7-Ka*oW*79A* zx1Sr_3yX-AI0uNIZMXm!k8ExnUBNUDcVxbK?$j#$A64ddT|F-@GvoqY=UE#rE}q2` zi$^l^s*Y9trxfSdi6v&fnYg32ag%AJ-LG%?zYIh_Osh=N!8gW2nYk9?(LSP2iV0(B zk~fLLAjLet@VysjXdzSaRA1?^^ER`DdI{{oWEljL)IhOrO5r3kXr%)0u$`-h}A z_J@oL=Zl2(5l7%=aRghT@Pf|OaQz%C0s6VpSc=XB2PoC!fMMFRanY=vOEQ0JK9SOG zbRo;*mc%ZuM0F+4;b@r;Ked6$^vqN{5w52upApp?F~52+~09t6w^xQ-#G z?leMV#^2guS149YTSS#j&P4|b?wr6YvaJ5c%S(g%JY>E|4@;>4iFf;;e#`~fKCi0` zN@wA+J)!b~N3Cqvs9>$v^f8U$=y1iwd^l?4$6AgMM4CP4qmFO$&CQiAV{u?YM{Zfy zGq#`H2viEBT>r_R4AY=^EDf|3jkt*(^2oNPnj6+kxO(91mM)n;NNAa~EupR^@IlX@ zv~B&fm^$guUO*3l`BS<57Sz6c_YyNpz)9!MSJ!-UuU2JF?4EAzYPliNB2UN#S}i2@21{k1NL528EpxzQ9q`t)vb z2xa1`S>ruEF|hs)>JKt9>iU3xJ7UAt01ecGJ-`}vS1$WJgvGb6!Ig`Y$#r>YR_kQ| zd;aKCDX(E0K0Ii5Zs8JCKS)T~ZNLeU)Ft&Y%xm|rC5@o%p2KFy*hZey3v{Gdg;dZ@ zyE4K0X;*T}{no{GO9q)*6ziscm$RUoJ&<(azHfG|;729V!0=-+ft2#16#w!$B~pGU zH;Wa`DVVCfnOxnrQVMgkt3d*MV*J+qH+pAg3K_Z^Anwk+7%2y1>8ZksHYVqC6I{?SrBuiTU{Sz-BIvT1tHizp^-1IAOR@3GFr#$_hb z5lMRZp|SzKrA#*WbyB}jfWL|I1WL(H>6Ya@FdlkDm}n6U_+pBH^{XXFQ-cbV0{yId zNCi2@9x6X%{V9=x?x4pRD&5rTPKUPm}dehocBlYP5+V$tiD+v{`tC>%tzt zco_2r%I&FtR&}==*LpYXMYV=$Ra6#5L2Wp*e%!;%yJ)h4$eTiNP|w9t);8T7QF$iC zo-^H*x|r&Cn3LQ8z_qn~2{aPWaL(rYfEk-I*|l+sF2^Ck4vQ^N#G|I*WD5*31}C>A zo76ROJKy;I`2Lw96b*y@9e&vSYJP{J*$EU5V_+Ob7X!M`T&5DgSgcs$r5^??phE`4 zBFNd>gAL+^e zDOHwbayE<-rbk}ntLCbbV=?igJtsEKjVG=_e0r3dJ0k!excWN3Y1A1( zEK^^@tFa2N$A$)t0_mbI)=01P45N z-usVJj--24g#M$Z{XF}8q!35*}9$z`x-ozpqo&NX+xt)XF%~F5BH4 zhm6rZ4=N_hfi8@>}M*ADI2Z0vSrOwoH;e%s%^q9L*Fl4?il=tD`h^=*qDPZUe7`)7Dh=RBm*olrf#iA{*5W3|(Dk~+-UA1g6OM0ci z87V+N_V}%6H7s`S+zae8GkMKqh&7+%i~u#lkS`l!pnW##etSk-viX~7Ix;x0|F!^Q z0%yQWQf4-7INBV?DJBf+I8Mez2ZQ4lTRZ|1_kK`*yn;1RySnZsXCuy*2lE(EhsQWZ zc0>NB(cB6(d_?(T%y24VBeo+gu%e3E{6M+i=&Nql-|UiC;!=Y+xP3q2TJ3q@y@{c= z#h>@j$3d|^Z2Z+~5dAw95jFrzuBpybq3f%3u-41Zg3jbg|7xHoV2!|>CgKWJQQ+?U zHHw0SfuVq|4vgbT8uRF;IDybMv{B9u!4^RgI>48qYIpC6I9#+2>cU6gHqi~>MxUY* znU5^x!Avmsqq!s!w)e#$ZE!T#5l9d{f+t5fG0#>&<3uRTm4;|D=241`Y`?r~&MO#s zF+^5e%G`Zyq8;}-E?;mBf9h~cbPqYg@~yLuMj;I43mG*|- z{Lyn@H=^^w)<*QdFTh~Pg znL|Jl5h&-r-hk?!e-)}fW@>o0{s?l(l9CV!zr3<0WhyH2j>tIiYJHUOx%G31+a6n^ zoVFcESTQfj3$Y{812}ejGRaVe4#o8gg@URQZTS!MTI9;W7}z?VaV_^XQ$RHREvgEQ zTGcCsWj50TMr-I%R!wpu^G=&ntQ;pe`>2oY4*h5_IF?GtBbtkpNHpWBC-!e=E>y2K z(7JYbS$8LYZ;VZ20aR-c7x?H$6gL)KwACRXhc{HdU90VFiC48INig-hfYV0(rMKxp zu7JmWCrx5lcY#4ov6>x-k7t$`#%)EAmiE<6Ul>_tZcTHv=Qdm$P3(-^L6$W11rAbX zblSn1MT=XyKhXhGTjl1WGIE7~BJon|jYWadf(6#8BTu*&0!p4Vs>Ao3B!{7JQ&@eU zHRIBPDpex>*<*xpvB?`ZD!v;XTLbe-jebm^V2I*DU`>V6oMdy`UvZ|q|KUZPQ4v}X zjmFjct4*9b$^pBXbl-W`e}yW;-`1j3;O$8{oKlNv1GH??8+ua;o6#HO?-(2+KA!jl z368YxrX1E&k{AEv`sRC%I+-H?+AkFt$dC4RbeyU<-al(Gl@r?-c>|4Wai!wxWC2xQ zHw~oY{YEaT+Aac7C-0R<`)Gb2J!#|v1Yhaz(GDBp@}puqwP3WMk(xhCs*6{V`l$b# zWRqj>@t(3I_@p;HH!#AzJssmr8i7V#1X;x6dXT`PtTIFNE-<;Bdxe+(&}&zpo*Ru4 z{XH6vvS12N18zs&2QB_%CGc@Xds!;J7%`a!w0&|GUrram+#Qa2!OG|p>ar{g7Dca< z9J&m()xj1^-o5+B45oS-=x=No2jjm-Z_VI@6Q91Osau<}sFy_O9r>k)vzrlkCi0{#RwbyYg zyI9LaXwLb#+~oI6s1y}mrqy%<+ z2J2kVwW4E9W%gaLp6sk{B<)h9N5RHYqi0>JK^|smW;=fKKpPK5MV3d4^0D?b)RJ<0 z*Rln+he&vr*r4htANWPE8@k@hMt-cP&O7wWe3VzW)hCX{^iM93Sg6|yT;peaZwwmh zesV?j+aYiWdT>?TLx$apzsuU#C_0rrj7Qo;)Fg#qMoe-G?=r zK5u3X#7wlO!I!8aT}%HIbMnI#xWW)#jwm5!Ur}27jZi2d6~@{qDsbM@tu-AsfTvS* zq~44bUxIa+Y78bWwWKw3$CzPC`lP-fnZUYV0cJzzGYR09F8*h~^*C;|xFupRL&{aq zg-kk;U6>b(=yp7SeoymODs)qS?`s7>|8b(Hw^q=pBCgTm+ku zEGzDaFHi*I4rAuTmL?Xk*A+-SDByIYSlIZipml@N{dVmkQgPiYd<7Bp{5&E4_p3ZNX19xJ?~3)UW`MsXi{`sgFM`$4twWI_F!kY z8^uuYewLO7X$ZoEs*yN0H7%~ z|9{`dd8kIHrs~g(geHHjcwVlt7e~+q_q7!GXNSbi#UqQb57ya1SHOtb{(W1iL+de= zpaax)UF9x(k_8OhYj%fg^jq0D;|#GvWsQ)-H(6MNP0gr!LHElQe=W5HItZL9VhSwQShD~%x9j) zYS{Y3U3W?ag5jfBQ!t@gGmgyc?{=sOz9-nv8X@5Brai$UG^n6>xS%ZfBK^BQf4S># z4jjsVXU2)}x+hl^V>tdMQl;@VlY?}}Y@r2S&G)w1;)YSSo@R01L@`32_x+P; zG7sqNrZ977=?RygpszD?mjp9Z2#35$pm+N}kLVy&9c!<8W{2%CHt)950EZ1OwL2rt zi%sjsJW5))ZsI>EBgv={arO_E_C5Rc7`2!Y5lv;FB}H?cn&~``MD@o<_+Z%4^MLM+jLDcDN}cxgfX){P%rC zayX@YgkNj#P+@;ZQY3ufURb?>S`5=0ESapG&AS#LKmY+UWiPrNjj+9!mZCNR*R5Ue zuz6+GlzT5FCQC5?t*${$E8#FJ;IW^a>4c9FkO$hmxCDAGjR~7-Mz$IbxYOIApiqhL zWU|sL1oc$mF>>y9Vf4h+r$Tl6l!-}kZA7%+-Bb56KqN0@ z7tMlL=fvkBjS2()taO%}7qRU(3j^re4Q~ZOD<3Jj{-Y|lmzvM)S9pMdCDti4p{fXSNsR?QA+KU_~lOi?kHV}g7u z(Cg+RwbH}_^4?%CxstHiJtj-sa9|T>;kmT&FyedKeSA1%oP3!u zxF&9%$qP&-l&qkk7P{)T&k^FAtC|5vE754gY$gZ3$gLG@=SGZfn5typNXNKzQPL3D z8zo6s+2Jllni_4fRNiNXRy7zkr42X5H(@!9%T9)Ukh`RR~{rBi7OWpcLkz{EW^fV)kYXhH!0*O2p@U9DLB>Ew#Id`aXDWK~8 zcSm?+Kr6{Bt<2S}kzZZ4eM*a)&cdQ9cp#i@-5@NM2oqT4!gmpn)pNExUBttb3%v*e()Dr;CLblvHyisllYz z_}wjttLV$l`9uFqfoZr857CO&o%8Jiw+XxGFS zeX%2N-NMAEvm56#Ju-+^`kD&U(Uo^WNwQaU2yTe49MOCzR?{2y2xe>8)>?i*Qm|`V zk9ByLC0CFC)#sb}%!t-qzp6f8G47)ErW$Q61{K6+I49PBsDxG+I=~q=w2(=tt+x;3W^iB5MpKBCdkwJ7RjE3Y_?;gf4q~8xJAtp@ ziWtghG9O{ywf0i54%B+puB3(Zh$?w3M0+bR%|V3B9JURKwdl5u*dK2N;ta&2^Rc}7 zI-fg+;y(Uc$&5~nhj)mKxzde{z*$DxbKtFHjoBV%pOE7KK4Iqd4Y6(yE(Nh4*2sX* zaFZBAthPXNj$IJ;ZlK$tBEYgAqI}&1aMw#V=`;9Sk^i)6^i{}<&J6Xl-J$=cfc^#} z*u6AK&7V)W(+7I;(5P-t6%B1j+l!2ar*;zOMH$v;H#a08FtD`r0lsj}qz;Ou4_9z| zTcjPE$#-!bQEmmDm?c%zmG&VldMP zXGA$qf=)ib%jwW~WH3}$ll#N)qg_%;OSCQTHY=BOX{X*6DjLw4G#=GW+>I3dvtey( z(g_inuq<<7fE~->{|E(xX&qEJV|8_oQUh=Aj&V!HX4po%;tul~O>m@QN<}v{rP3yBuLf((we6Sp~945Mo*VwVuK-<;r?-WwWEE00E z%TJfejr6N*asXrnA$`U~c=32JeZQ&=W0!-5YqKe1OUyj5ek96%x$TPBJBdOK@#i>> zB*fhi#?pCicb?(Ih9fxVT zo>A?D?*|4;iQQNDAxot4uv=j>@bNB+#sVAXK5jA_CvZO|7brq{5k#AXeVQU(PwVm0 zkH9;szzyM=Ae$E`S9<&`^Pj8g*KBH!3-dbq8w(Fs+oQYTjN`>en9i3an={Q zd#*@9g48Uh)?d$n{)r<5qrSEmob@5o$E4Jv#z@tFsV_2EE5jvYhXrr+Vg;~MvEb}F zHRGooa5m&f<&@4XSLxbijnT>>`62sdy!2#3$k)9FyI!JS1a zm;|Cm%A$<8By6CzpHeF+vu`B9Ujb3A04TGErV$aiU0TYpU7uBQVXZUO25b~qw3K#B z{r?cR3c6Up62R8%A{yyf>6}PTE!GZNIU)q1fp=Ehnf@~Z#tdwlMe98Hd^zkbOBBym zdy2>{X)*I;j;iIbL6&O;sFCOTl;)@L@x4BN%HmQjM2MHj1I3Wy%_- zqjZJ5Q6!XGa#4E74edfnt8sjXCR_QK^qgQ)M;ghvK#u%p;tc^~%M~@gfcu|n4Frb68 z2yf`-_(lE05e6~lS>PkUz36EpfgPrB;SCiGPc>BG#S5^dS3>Ww)r?82foav?bczVkqOACD)$@DDLC~(jS&NOix%Fmx zn0G8!YqK|K|KcAHF{D30Zx+8F@p3dRAR!@>XN?smdhbn?@m4?3%q5{i^MSQw-yQTm z;KlvwLA)0<`c^}JyfFbL{W)*JiE;BFQl?_I+*OtAZxACE9koeLAwt2&+f1qFfqt*- z43L|_JyC>`OuJduJMtFMRE0euDM%v#K+T_%`$)(PE|*iJU7|2^g(t}SeUH8fI4w2$ z3YR5lutfr_HcOo~ZIbxaF_Nq<*LC0H);*FRPGWlMu&bI}y~Q0!W2 z*Pz)aVV>xnUWDdV_bm*vuj`e4Bo>z|qv{FL67pJyufp!mnA@&`eJsU{TIJGw&%&N097~F&B{!4;SmJcK{q1Lo_5aM#dxt8Owo;b z%|qXdr$2X#`cuxTQ~5xh379D9$xz4MXGv?!;fcc|Eq{=xU1V|1IXvfP40IlyFGi_) z_EpA@U}9KJ6G~}H>>Z18`>71YA^21=qW(oNxI2h=Q1|G85Nm(5{Wco;=eH1!C5Lf0O9R*rjFW z+^f9Pvc|C>BAh=sZr`)0KwvJ4Y(7G~L|k4)r{wM~i1Hs2$B_-Y$n_viYWgI6@d0cJ zpF2dF3DCsqi~IfTkTWA*`-nnr(zQPXXHD*@pje5vhLbM*x&@f8pidT$(XmSBeQ z%KOd5Lj>GWe9OB&l~$;ro5sdc4*K_dKuX|@g`fikWvyGQLu$t>$C-O>A^zIURk}RO z#IwL-nWxEW^6aMkVQ!m2t`P1?CR|xreJsW4YdZ)2FEydfs3CGNuew`3S&C_cJG*4V zu5G^o|AlU6MNl|LbeHn}?&)=0l^s)6bn+Hzo&XWN`kPvAJe? z-|Il2pcx|Rfww5X&~ZK4#MakqzfELm_cF}t5qsn5z+qpKSer~~oPCsfI6L@-35a0B zGag!^?3Umv8Toz{6h}s=*O0}8>L~<3p!&OK%|vQwbO_b7uqEEWjy7B!~wR*VPk#34&t`V*}%m-z(ZO9lQ7*5lk6)zRLu z_S{H|8Fuxr6^eDC9^o^c#$PYRwU6HoJCV7F0(FyrRp}5<>(P(|t$KzeRr_FA5I@B- zK<_KZP>}w$07UQSa%6ARwqd@`>LnO$a@D@=zcMY8A6fjL5KTft2f0*anq0V2!#A?ct0Pa3Z zb_Hb8(zQ~{;6BKu<-Eu7R;;b`eGdlI<@j zEXYM#Y3QUtRlQYEqEz_X!$hYUg7$0kPETHNEnhRw!!53A?b{k8ILc_?vq5+>F7enM zew8jJ)|MSQ!2M$}B)zV$o(>Z5p|jG#fznO`^Qa@fA?*w+iMWzrs|t_O)sS|_GG}=+ zbu^t%M|zU&Jw}hX~ z$sQ;|s@)8n26)_vm>grOPgH=`&HlAd2|y*uc(4`?x$$-?Ov0=^v)~hAbrJuo89gB_ z1!k~c1f)ZDDx$3xjORa91@{uH%9xFmpg36t8(IgM7dA!pT9pV8Wy%~&DM3bcSoxad zxFuz_menTG4P0Ln?4ki2AoH8CbVhQBdHrnDHT=5^opGcbZrduVPTHUX(E+35-(XID z@9s9^2dCVi+2I9pHX7(v@oe5T))9k~Y4wFA7q&Twz1%)Y#$7(Fa{ZF@f|WQnkd`G7Brx0j2L^DJeD82bOA3-R zoE|>-S-o%4V2*?R7S|aerrWrTe?HDJjBp~IZoy#8IFO>W^i4#*=2WL4Y(~cZPazM} zxc|B3?b$x%(DgA<>Nr@I0`n(>kLt{kXsMH^IKx(GLK-9Aq%z}bMnZc8kVdke!04PM zi;fSm>G-Y?g7^&N8$gWi`PXs*e((R;OBx{a{Q`~B0#tTfNnAh?GVB|7&xf{9zbr>Q z?M?1NFev;${aVNPg4gY5udk!`KR=-gXaVxqHK5yLxMWP7?sQ0vP>_g!yj3zeKziF& z?l1@C>{kb!i)1Z%u;w#bQH;byOUf7ase1?RKwI%L=e*nxbp)O4H0+RDx*xOcaQ9(6 zgtGIs2^#9D%m%r#OdY=HCUHL~d-0)T&^^5*xMcJm>`9Bu$`kz(+;{Fs4AYbd8lw|}A$plh3xxmce9&WZdWXY0kx{y$=Ki5EM?()dt*R!m4M0Qvuy^Zm zUc-`6ju5ZA7}$*XAhre?DeVMBe0A3Y>i4Fqilcy%>9n9SsPX$#y@SgJ678R3f5uIt)eY`BqIJzg5U)@q;PAZZ$q6Tw8tBBrF1$pF1W|m25=R7`n}I8gP|E7( zC69Y64^yA!bry6#IQhMwm5Y1A6p1}bV?`u7vQxP z&(EcJ>1Im9zDHVAooo-Z8Np1vN77WgI1sk18=LpeubRXjtWV`faTpg1hK%sK-I60W zL^g~Rkt$V^2Kj)02z0h_$DYks9$|GfyWt%sOBjS%N^%?H4b3xok>5nXCgO*KW{u2A zm!i0M0zPt2cPfO=k4BBBsTMd&y;640M8a}GMoo%4IxzHCj!8Mw_d;`%uohDZ2h&p2 z@8|&n4qJ%6i3&)$t8YLP=B3$cnGTPCXG~{Mdswmp*6L%%1yu~ndutt`E}{52Z*5p1 zNEvfvp7fdYnUum_I{&oBfiSsEw)70hx~f4|oxdXjYF#7tIQ=9=Vh7KoG5(tP5nE{2 z5v9#@_Ezj2t3Oyo(U<$FM^CqdHcPaZJNOOp?_c?qtwCmcBtjQ2~SXZLu*XqbDu zwNeoz*ps1MaM7&Or7Kpi_sD3(1P@@qv$FoN<5wZKA`^l=SxQ(DMz$gZbBNgveD%wY z0?t%~qxrvwS0^R!B-IsaF@7UD;cBNu(SrYi>R-xm`~S4oJ8B`O4rN#r9%(#pBiuxH zagWiH4_;-ePT$+_oaM9lQgzZg7)S~A9 z@`fC{^unmJQTXvH;0qfUKu-Jz-?nLCf(^n{%spHtg|1CQPsDAg!-A>xcbXmL^@1;f zeX#Aebh!f|@@iyeugx|MWbXVlNsDu_%sG$+8ioAtP(v)4Wk=UkcfdTB39%=uEe>S0 zsgOLHG18@{g5P0S@$+>^JQUB}inLcPfdq`*^_X%1O=I$aVr||)I``q$c3eqcQ%575 z4J%x@oKOKPuE z>wl-WWmH?Yd@L>cROes&-^9$yrG--m&JEB>nT&a!=)+hsPRB<#R4L2Me~9b>gM8H@ zfy(cH_5C%Ga{`i;O}CllMAKW&FcjA3%%-{JTX2qw#48p$ZNDZFF1GxHV(rFQ*R$$D zl&7To+PCaA1e7z1n2_IC5a~2{B(rC9&(K3@JEKXO7hOV@X*E27lFt$ot=w$if*5Lr ztR^`MX%~Ab4Hg3Sel8cF$(Hxn-7$zDF9M_7r zf1B8`sa)IUqMxE~Z;QQwSRc#Q9lFrC!lrbVQy?dU0xNXpr7BZ~@jBfO$(oOYMODE{ zqUcJxmLsa@aUd4;l>zx5GD3}dL0k(;2+V?puz8lbxkkzCOGvs75Yx(Xsdj^ZgG6k^4yqAvq; ziNs0#+mPs_ON3WX`3;lnM21xv?ufWK0b2S|yn{ug4d-IE7mgYv-Xns^ z$HH`P^7pFD8(afe>7hp_M7AKsF9S5U*5P3kkyEAaSG6*#iS!D@dbO9BlatvNcRknJ z;{gos|AV|peBE?l&re&7D{-1Z7Cb=;y98UAPUCjBi9$f(E#U8@51b@~8CXhtx8<*9 zZy)dI3yi5rUu#Sa5JM`nc7^(3ePX$OZVZgI^z8NQ=c~$thKsL`Y#GsNo19H84WGu{Z84bMfQ_;KtW05JBmu_exBv zzCX)uR#)=wk1*eJbO|*v2+)NRmga>7iuL%-juXuWEZ^f|w!nzf)ntV!hATf$Li%D| z_)kai?vCnJiJ?tweC);!LkyO`-!-GT+NXT;yKxD8`QqiV-I8oeMlwZu_0H3@-(IZ-XPUf27 zR36Qz0$MG}iM40e_CZn^VQRkO%08E5*((VO832XjD}nZD5ETCt&EDE?7!h>cw4feY zEcfExvA2ID1Y%}}9+c9k%DO)iS8By=!0&e(#0WLZmnxuNcmc8``a8tkH#cnr*bvEp ziyTT-EOSq?fmYD8HqPmHOENgJ~8h}pzO_OTxk8!CX2%+&_*RN^9 zFXe?)tU;Y3l3UXuX_4nQU5(wmL!Jn*O64i`ITu8-k3;bv^bSQ44_s>& z)rHoeKV$~ZjKJym-mCQji!J@YUWPIuVt+}NvGbo{DgYvy)egguw7;QBs9*?6t}eko zn;U^H)zt`eJ02Ji?l@6vqLgT#K7XaB^h3hfS;Jc${zJOUI|kKQbOrYRx5IX_;t1=Z z*<>uo->&Okl~nDKco9EXyI14D_bU8*YhWx z^!J{Zx-ai0EuKM{Law-?8MMlhH5x!E|GHU#N7Aq^<0Qys-;#NmuA}txX8ngvcI?5X zWhkm5kv1$0AC4fgu4Sm%H{Sea+R;f27BF)39!%v-My6mAM{-S77MX&;v`)w-8{fN8 zdN2H#LJ;G3?A?N0R%#O7obDFEL44E|gUq%z{{E9*BydIg2nu}5ghMWx#XbG+XLts@ ziBto?`~0~hclp`qeajqi`n#jeU|sk~86$R#%5NmxC=gsCw|za8aJmk7G@w?pu_`06jp$zqMe9 z8^O~+ZMvfAV49_pblA9X0?U_dyj*4&4`_B6xcj%>HU%X$9z31lJlWiGr*Il?NJb5U zDL2;Db89=orr%M!AdwX|A?3G%Z!+j6d{vK(XEkkn9?Y2)4HuDb?2;4lIL~y_ZUnaFwVf;OVB_q$3EnH;qyZS=A^jrmw{ws2ry)G#5y# zKmMGWiBWCFR$#VNd%a#Z4iY?aUqEd&dWcdAQ)x2{U*Uc>vJAP%IoR;+!b_3*V@0Hf z!d+mHXj;Nmg7>x5%VN5Wk!`ODEB`5BV6gl?<|eer1>ntI10yaD7VV-?C{zL@r(9&$ zICXsQs0Tbk<3;1NSxQk(I9{5 zA}zqaGiaSiT|}jRKmxZXm7fxs+j$Z;kDTgd>y2z+^*C9%KLT!oBhvgKW@DS#xWt6<8pxc2S2rf_8Ztwy4{D@o z47+z1Bqz#1d}~b_0#zS>r(teXOvgKO@%zm}9ITdaa?w-y)ss7T_x`E}&l)Z{CZs@2O58?}B|Vnss$>UvqP5mbXx5hcXKE8ye4Xyh|Vd3Pz#ggt%@n;d-mQ^Ln(@*J&h3~$L227_*jTO z1wa_`u2;{u2MiuEZk3{77Y3#I%_9^+PeGWg6-~u%#;ZZs#47`K83>3odbbUM2U~dI zfbi`f_{Cl#R35TqAyL}Iw@7vvT`7s%_KL94VM_>xG))~7nuI}#jb${dQ*6bpN-{z$ zgp2Lg0_uPH@fN2pxdQQfbs!fyt^GC`e@LvEieMNlLycF@^4!PnGK*%2X8Ugi)zFB> zvRaX{STsq#ar*8BQ|;uI9r+7G&M@ekT}x8#oRSOab&?f`gtA|wql>DWx$mc_+v!mh z^G>4ZaR%s1r4H`b15D)=A?1^hT@SZ)Aw$uEcUlvFpGxN-L8|fQOFmt0No-BcA#i{h zi85GSNZZJON12SnFTb-J zCuRyFe;%b6rAuHb-%41}o#Q#&T&^EF`|v68+9WCcD_VMu`k*Uukns(q*%SNcYFCxkt8p$(xs57B*;&1D+z z$S2T9TE()*YEB6tqYhT{ABz@RWzcZ!-tsY{zf7=+3VVI$zgXAyarXckK^xouF088){^J_*kXx5K1oe(Bl~7Zh9#(xg52b;&K>bp%6hD-#IEZ5 zL;?>>_!PlUO1*?i%YU@+`BvL@XsEncQ#Lo`qfI=h2|fXz+O<4fH67Ywx3v&@4%=`P zOj|ZD@|siAlQ}%MUUx=eXO({_`j#gL0+C42DT2a6KMwVi*`^e_gJjzVQILD~sDvDD zf!&|i5Yq@L;^q~Ruy>#)5LcMtf!jS?b&6k7M){`SEI|D#e90`iA1rm4=^&cZ^~F5>Oi-kM%=`Yl{_>psHtbY366QDJl7Ca)G;@X5VvUeW*oAVYY z{!?yCseZ8pD^5Yw9rsjl7Hh}`fD}i?%jE;Z zB+bGNdNGA2GE0&rC|`5sbetR8z=rAI?pil-w(dvTkE6R23ja~;_%FD7An&R~XAnk9 z+xE%5mxmT`1kHksM?Zc=-H`w$xjWgt3ED^nYqH=UtY1+Lg;SeU(mKXfJ)IiEZ^64X zw^)D5uSd;yKLG)lUfo)2KNp7G!)%p`rM~fQhKnCa$!GM4*iK@WknV(egM`ieHPwqJ z*cfa2wpn?}y5LAmsWUE1kS{XE>^c|gdY(jwiR7ZUR7`s7S=4V|m(}K7LP2C&5@13B z*lshwm{#UbN)}Vk>&cRnAY=KT=B%DRj@veabvnh&{jUuv?xg9SzR1^vQn!%^GO4 z-|1qwPyOftM+6%IIYSPz=zYdNEdVy-v#on)Tn^#ZY`Tu=0xvxxxT1c+G%9e@9Np+l z8T9B`!e(_gQj94)6T)66HbVU4@uK-JtRCjg2vrB(i1R6Uw8z6fU=lg;8)8>rUm#ab z1^onE1X3(jzu(*bIcYVpI3)Te4%Lz>w7sM$evLzv7dfF5BOtFL+5mJd^~##?4ObjI z*7kiaDKp%t1%Br3S6zpMwLSJBK8m@Ha>&RT5|P1~G4ZBPL#gLY`~IZ#+p`uRGS{RIldbJfQCF!W4E1)m;Y z26q*spG9s8zK7n(p&b|eq<3hdPmAzn_ii+RmdkRoN0?IJc(||-CR&U{S(VX=*WfG3 zl^T#jvKd+Zf?>Yv3y9QUB)9wySbm!EVxMIy-4L`2sc;VjPzlO~~=0 zKKwaOPF1x_7bV>QAC~y9mTTN8l^$+h90jDs>*~lFHo&!7L5_IDC=d!?fE6+BP#NH9 zix4C*f2c?PhzvuC@1`upQF3*|n-<-Uu^_f(n6T-}JaBB0-Grxm`tCMGfW3W3`MHyqH}2FKnjdbYi?_^r!ZX(a9nv@Xr}Jx zyw}8ZFqdwiD#ne9RrTcgy0keq}<>onhcn|j^c*jQVZ}N?Xgj9)C>utpnOVN@+@MS z&9A09zkiCmsNUltkulw=mR`q2857#I*rWb}ydDavnC5=wc2`Z| zOzR=QVTCxm1i>wqR{*stZbo^7fYCEeFhyNjy!R-M?VdFxyE7qteH zX!w!u&0eYW;P9Z59%-bS3*;7bDHd#omy&D5-a{OmbGVQVMVyzxV??hwFtgb<0tBO8 zs!?C$tCW%Q<8mD{CMIjSx*zs&PI+vZ?2SqtUEzx8BxU z0SSK)DQ>|1B-(OI#*`y@zBDGR^Z`}SANpBfW98P32W`gB78m&%pZALctZ0{NLD#wBhxM*-q_a?{nb_+w7#o0{d}!jYDj_IJq+`K%UV(_fb3l;ZJU+pC%wDvY!GM;xI znRyimiq?P`PJHm?`MM_Y&Zy}%Lf%d)U|xk<)v1nXDBMRvzh%#YYAxYrgdEy4mVnRj z5r>RD+JVkJIf(^2+AffIS~5Q2JC;xmzvs#k7hA{YXbq`3Mi$zDw?t@9UlbYMGn{=B`uu5J2-Hzjd$Fsf~L9bwk5gk z(!!sxlNHRS^vbp)6-1pHx)Og^cvtiFeg$YotUj=XHBukAa*tkAwQb(i=(*m0T5juW zdm^ zy$5b}g|(ba&4FDpH&O`)`_{vnfF`~GmO&o}kxA8b&J3XHDS$I0mfQ{yCc3eZG|=u2NN1>mhV^W^f z4mFMk2-%4d<0T6i2r2}aei`|zqF_ln zx+zp7=Ot*=f#`fFK=Zn{3^0^^5>O)5%qnQ#j!KT=l7ND-q*p0lOrXDp`e6!6zVjln zvxZ32NT?uPuI@&|=$yK@+I(F1E6J{B5Vs>03#+zCTp!04;hBS~nXYrCHSc*pq>!#) znQ=9p%|`76MlvAFfmNZh;f1OyU5B1DZ~1oErwtE=?l2|jsxGDFMizdYOfM^)nS1+T zzxW|9BuL7ki)h)XPK4Wr-rsI&tq%mSU{#hmYm6s^f|VhJ(2EtFlo+{qQN#g_M?LOW zfapC5Gem_C4(z!7gY}M9#@#P~*0@q<8Y_a8fAnyDu1dNglFSP#sJxM!b(c8HjqKv3 zZ4-2t*#R;M6tIE-x30-VAwq6^VV!I;ylL}@nNf0Sx=dwef2Oycg(shsv7yeiuxt~e z$)OhPA4*CvhB9sT9dSa@2JfzrWdU?UMT}3Q^KPTnF-lGZa8KSB;mA zuPDVK@La#oYto>@`RZ05C=gk3qC`kc8FskS;a{-d{yI!@bw@pi4na{eH?*{H+&k56 zVAj2E7pPxl>JpE~s^s_JM)*Tw;=34TmUVXd$`D!(Mqj6Ry04(p!1RfId+!@ZOYBrzb-jHLk8qJfoS^8Oggu6@_qrRH&jdwotOKU~2q9G>4Hg zit4(@ZVQF`0eo0svIZJspZ!r}9?y7M8to_YkDwr@(2fL5*`Dv)9nnuaFox{?e?5s| zXF)mJ;gdXyxv3+Eb(#vZR~=P5T4yGdPGV#B|!|640U^R5o%Pt|vkY+7Og@`rbJpcX_}G`K$*$^SrPrBXeUy zcsmay$>`YPR12D(g`^QLXr~o!8Gv5P??i(FGPo)deMg&A=|93qf{aLFZClnr{#L%( z8^9wewNw?DxH~a3#~^H*-ncGOe^iClx!-5};cJ0A8@^<+@H|L0%Ss>)7RE{?M?fzV z7(y7qn(t%zqO)PvcIfz-q}3BAf#uC1H#g?Lao42pB9M+zW6)AykaE#vy+SqvLk4^{ zuI9hP&5=gqWtw3vh=kna+Cbp!9O*`x)e+DEYV~P0oiDzj5uALy1GmQ^R;J30-^r6? zikiks1W1K_5{+@`Cu$8+ZE@Xro@4k&_ArpH50uotu7QWm%p+sC?*Q+z1lfosIk6r_ zL*7iwQE-V185=w8n)%X8wpiUuyh%dxGg!YB-$?v2+x}7o95miQbZEk{$c1>7BpN+9 z0#v8zUK2u&SojPRD8ZPBQ(Ny%wV@xk^n_c}89qX&uK~&tSo6VkXzzC;Z?Qw!j{^Zr^`d)<2ge}6K#1gj zx7F(Bbyhjc>UWk@U@i`uN3GML9J+Jz+-DD zz0*$mjn&ME~6|^+e#hhw(>pP=K&Bup-3w*_+9N z`gD>F#1JKYT#xI+eXK~ja6mGf4B|r+X9}NGw7aFF`gv>^V285O;F`VA5*nF*bOJLM zXv+vZzR}sjm;N(}YLWhWv;BDV$Hye84NU6@?SFQ!WUVG}Q*Swd=u9T4Jgxgi(=?Fe z@{XoZ$jb>sp@YiThWy|CbILi$MeZRqX=;&!h>^xU%CDGdIAep!dfOj;mR_ojr` z?bT#W)(8-Z&I3nzDtk#C06y-V;^yvJ%krUMdXcK*df;hz z!eTBtZC#nA@{Z5j6mG4zGGOg|qMh~s2g?(_mS?TfN9M<4lz&ZR~M@jQP*qFv1#eOM2cb8_>I*>EL-nJp3{FwwAFlSlvvAk2rcy>-{{{OKv9mN3YKJI!+Pqx( zRce32Fkk;Kdznm)JVrv9OGaL(}F>7!3{;mo|ediJ;w@YzW#R~x?x zZ)5(re9~|{>;yy>i!Uv18gD6bB2g}<-)lL)xym}5LRrnC1k8u96QrvcN||^s=14gPX03`t5;@`gOPN7 z=uoZ=Tk)M>2Lmca3q&e)OF0q3C?PKA#~O`a7D&kz@sjjPb3f%GcO9nr0|-HBTObX$ z2iqh*bNA2iTO>7;^9@s3n9Z|*-A+TMKB$QJkIjEQRVCFd3*lfnpaT%a57;4=q)#!( zED4{j>ib<#;nPPp(?ziTIXd2NL!HaQ_&NK6)zq8aV20PIu@yU+O+9GI{6+Ij0*Y9_ z9iKR&_=#4;Ac>9J-R%xB|hDlFhban2%-YGF;(6hO^j5= zWwyEWg#(-b#Lk*{C_Wsi%GMbR795L27n!cEQE)usYgL@I13CESCMwcg@%`8Lv6R^k zjE$RA#Yd8NKi?JWA*H5qVy{#UzG~TrvJ`b^9s8}vXuAc%nd&yB-@fMA+f~w>q=&9f zp``XhbGUAxZG*wKi7k6L5vJEXS^NSQ2@hLoFRvdK;l}oVc8(;|3C7kO>;!M}^K2{O zXGfCIngtyf7o`cLT+;FMX_f<(3CXE51UNOLcxhK>I=zS#QZDsBK)I~>%q zyKHI{boTf!boQaz8i=tffgka1g2%!desZ(J^0r>Avp*W*w@?NnwYcC!7}=xTS?i*>Cl^xXwPFg&KzLxe~=)DwEx zaJz@9Bx@Rj=g=}w6in-L3r$A0S0}x*>dz;)f;s4t`KByYnc8H0t{*{ z+W3x4P?d$FvbqMPk1O3T0E2bwk9l0oGBLIQkgg9Fi+B5&dt8*bV7Z2@=MUYL)BZX^ zLStC=r-W)nbX549aeU=VDWCMHK>z>PQ0T;zvU3L`!YxW|U5hjA_!=vc;S0I4k$``M zm^FUo^B>coPcU9QwJ-tI9W!Nk=xRo)lTku-L85xQP{!eJP>`*&@RXRmLF@v zn!q0w0H=`JcD8(gx8@8Zn|FQ=KsHSC`&#f({eh6%$mL4xyF>!E|EgLF%X{r4JkJp| zx1<{pT7dBbB9U!WBB;=)rP{m^nBngTx(WRnS&m&T z-Xlzt_AH55>r#hNpuxKwg<8%WK_`RlRYL|Np_PPA8%eMUt7ay=15kP(KMquPoTRcr z{^R7_S$vg&QutA42`P5*=#A*q9J4%vKeKL`&ci;I2gkMVUgJ$n?UjB%68~RMM+D=n zhgnx4ar_Gt7kFrQjMXn)Ci!}o`tpHRu&>AswJlSC@9_0=XuO&vnGAp z^pI`-4t5ct_zSArR!-yJtRjp1g_=q}GT&zIz};vP1;z2(HKT|OPgQl3uC#H@EU+p7 zX7AvnHbM66YAnDI@)Lf6Pxv~cPVl2?c=hC@eSNEE_Z3;NsSlen7SlvM;C1BSW&^i` zJdv?;fdUL=({2Si>43XThAAwja6bTD?wkX5-R0m&l2dJ)TIINt%m+*Tw}yzjM{`!Y zt%uVhNwgUWiEs_<>dw1{$nE%R&Wb6Hq*@yh%iZUlcDw4@&lp2bId%|S*?%(pWXi5u zKXr!Zf$^e)D{$X5W#@#jd5dGzb~LeTn#Z3rm2%mVapPbATAj%H3RP^893sm%ui>8v#6nO;*E^>b}JmfOr_kb+A(KpW+jEc6+vwNvuj z8WKh$2XQdHwDkC5>v}0=yvAbVqb13`6`b|Ey%m+nF>nt@0+<5Ydf={-u7o$NR=d+0 z@I#1psq`Q6&GgW>2L2EfXh=WC;2UXSEs5iJ64J>Y!B3kdRu=lnX8J?)XYD=QK@2;> zL$V?I_^Vh8&qI|vp+WW?bnwE;0rM{(@qV;r8l}){i(+~yUIiOC?R#CpDA}J^sP^}< zX6&Ba#nR(%O0kDQqMD>bV}*NP7V||zc0z;GPq*R9?A;-*@T$5Jk8cA*n!C#qb)MQ{ zOSN7pcn(B;ejv)ve*sqj{6iIB!oU1)Lqt{i{LT$;59#->Am&hYllaVFA9QqbBE0+Z zNF%V_1+$@D*>sx_gT%!*^v4cL@iW0bLvV(Aojf#4GysmUBUaFFnFe{hYT$l$XP2U) z9}tc{L&&a+H-YeVIzH?Yr3`bfWzfgGB3(w(jg_}mR!#IWBz|2_7LhN9s?t^sS9h@S zsXVVrKS5lx`DqI+V$ot(jBP>fRm0(FaBA9`RUUWatWm6IR2t_zl>dX-H&5)7ZC@(h z#ObKQN|CKEx)%Pv_s{y$OW_M`mt51odeW&UDOrzC?3YOb*Ot8p;NEmZcjs$t!32oS zs-OOi!l)5)(+)j=?c1xdO`x73y(cHO#YggDBJ;Q&fD|vR^=MNQCI25*1>GGar#YBl zsk{XuIIRfZ5nhI9`$DKzp$I79HczV;CP<5PS3`pm#U!u+zbn{6 z`#RY$dSe(WL)f>~LY6v3Z(oE!$7+sbEm6s5Q7QJG;UUT}xVeFxVWwXln7S{?)o!xl zu*|`{wRck{9_sxvLIPO`y+^&li!@TW;sHA6Q34X#h+;zsT-D7jL-EZ0N zbSDsns=%0tkF}P5nxfED@WX??(k(WW7F92hX2WZ5tSlBRwyKuSQc`rLDkstlYo4&c zP+)hP2=qzTa{Hf41M6sk&;6e4_5)d4ez#iRC|U!0c?ht8zD1k&YYJ$xOOSssuLWsB zv4@0IR^$;6gFlLQd|9~x41ltmEXJ6PG`xxzDGwl$0JO?u5eH!1(6glvb(lxyQ7Fu8 zq@>aNUG0v@K6BZ5bWFh_oevMNlgb64lV}Cb@Oi2nJr-8)cJ>L(u~rk3m&JJ;Q0<#d zat-`i;c9a#LL|@<(qtYmq>Hq|UUaDkD5rE$V$j)oec&b!c|3Kx81CJFDW$c@mBH0348&>C_VCEwEx}P4kQ3d=tKrmNtFUs#Et#gR zzQ1c=OXJXHi$o^46?sk?fkxh7*?JN6!-1rIW{#O%4yYcFn7Q;O+#JEHhl13;oIT3DL(4kog?S_O+ydfBY~T_ho&BV+y;&aKcjv@3iGX;?CErAi$^} z$d}F0`!JTK6Vv^x^de8C7xg&*w?)i9HiW`#(QhWpsJXPDP3Ik~fHO(qedUc^$Po6d zQ*Qf;4q!_N7c&2@Vn5pR;C)8z1^Cw&xoZVc%IGG6kgwCqW))^F;$xX~ww>p?TMxl0 z&4Kk+zXfP$V+N~&?1LW6Z>2JZ(Y>q=w_uh{Wkw4pfq&gd=*Rmy0Pm~c%0iTPikQFb zQt!N(-^Nq2J$jx8{Z8FmR;+E;W(mx8uDKe+Ff`PD8?qJ!^q$iIC-Qgiyz%#_Q zhxCbzifSad^kED-;LMhc072eM$kBn*M+zrH2Atp0iy6$IY-KXQne?g!U+rU72|7a# zT&v#{03e${zusPYUYogw2{u6`d`0-Dkko4ZH9hNFn$-%n?Np{XtxEAJyfy#s#7y$P zWXCl6>GXu8zY>9t-r-}Mb1FE6Tj>Y2i%um<9+)5fL0CYANv;e=cr>)1UP4;e05Tjb ziF9AD?D*XwdsxYXKI{!10U=0P`3i0^Q=}i}v%uvl& z(#eXWn@uP@jUhl6^ ztU(Sx>j;q~7GWDsPK?>IH?V_jr$AB9(wM{PmixSa+0vDJ!*PJE3zc}LrjC+%P+{?b7r2iY*O~5Sle3^U03+&P}u1%{_ zK>Ue^yiEq+YI2PITnkDdxgOBcyV+z__PPQrIwN654mXjAhcO6tpM&M*-}Gw(U6IhnXvAN3Wp?=l=M*&1o#wYuPXXG0_HDzVc!*x(}x!6mEH(U3DD0QI5!9 zRZZv*SUi)V4L5N zaER&WyN$pFj6qdWvGdKZSFZuq2d?OSiq34LdiL5qZ_bKu4Re3>{6hZo;jqb$n|2^E zKa!Zi)T10LnGa*|aAInF<(xTGuK8tOYs|+IEpVL_kVr+6@r6RWHbKZ&g zeyA8VGs%y8P7^SRk!#8E3TF+t#;G&e9snM#zPJbu!to$@X(Csb2z6 z!i@{Dej9#FU^Ju?Y6(bNx?4Mkw}zbK_vHDShnj(QyW@y-SO|jFjHwiPvdgNzx8%K8 z<|)b!`v^n>mlhnc$`+Fm7I<4VTnTE^QTf28*AHSghgy5_?0O6M z=9V)D%SYEeTrehIS922{G4LN@poYXsWa>rYs}mB2KOC<@#@@rcilw%1ks!bvcQ@5q zN*+`OBNQaU7!uXNyuvz@@#~10j2~ZK@PC`miD4wdc0A#p3G?D}SOcF{ust7V_3X$Z z5{9eXT1S@%_7;X$JhRr!undyz6M3=l{jB9`lLV9AIDsrZ>*%FKu)@6tmS7g5Kge0K z-SXbmZF{dd;wV9B(5Ixtf@URt!`#j@N>A7&CaQ-9bo(-4hw3mBAFJ5EIXw3`qMn!` zg|Pt`j)Rm)&?KSHyTnSR_1p0UKCuvKiMGAq!BH^+Yaod2{j7qpy|yA2wz)>s7@u$e zc+qg|QAh!(#hG`JRI7i&M+1`U4AZmzqV4zzSwfZlgih_+kh2#sbmT|s^Ut2Z+bP!K zAcc_QXN?_4T)o8ucgDn&T6!RD>NOg<^f2OTZC!_UhwW3kA(Tyoy-m9-ccbgsEtP$a zHpL`yz<~Z4DOYxsQQIY)T`2IWnp~P|3PQbVzola3Qd>T+aQsB*|42pe=+j&=8>0T1 zdO)Vi1*C+j2^7@rzirJXDA+7pR!wy=SwYzu{;uryrp5*yKqyd&j_SR=Ip{nXvD#w| zU9K3UwZIY|2&g;BL0rdy%z@sgT;rMj-S_2iI(G$sb+X@Oa^>n_?K%j|wD7$G1l9r@%@q2$po)<&gi!!PEzmUm!YW+3`xpWI98*SwH;1CyK6{ zHQZ~7$-dUR4c^~>dG@K$>19^eK*fr;PvrkJVhk{fMLcKQ+_L{0rPodV!h`?3vm3Xp z5o#;>FyH}B^&Ic&)o+xc70HXfhlN9%qnOW;Ek8~-SM%zLVyQ%R5m#L?w<83XU9Ox? zf??Sni)pAt1Y!s$*U&yh;On{LJ6~bS+{RVr^R?G_$q>Q6Te3t#VBD_s!xCMW$u5*u z)eJFg^Jvo1g2;XYDdgK0<^GJ-m$oyCA+v|K{fi!c(40b7fVL5^=(Bi%Pv8U8D0d!fZ`Y(P-N9>_Tj{S2QaSY##5=!^^y#sb!Wf(R^X;orHs!*o{DTvTs9VsbALV`movR0Dpm?j_q*1DGy1?AY1aKhF}ifi)R0#W}b^PqAUEe*F+ri(xoj7OnSAblk8t{Jnz`V^Hw>d z2hiQ}rv5%jHANtn{ryRb0DNMKR<}s&Jx})2B&z` z1>HM8|4x?&m^+V0*BOXwTvsWfDMcqkfv96^8c;gI5489=`WJbo#=M0&rXnnXKlI+1 z;r^tb{MA$nLriwJ`9&WY8(Z~g&ur#Xq+?swK$)&}(kr-Dj(-ul?F;g{kuUkD$Uauf zeT9~*;9h2`z5S;9?2vQ7x5EgSi&YEJ^rW&|)|2xUC8&vh4lN!+LJ%(V1iq%zH$h|N zgiM)tKGkTtpBDtno^AgpqSeH@yVnk^JX#`~5KA(WwxevfKo_4EdV=;f;_}bm05SdG z<)?Qgd!ybVcKGXB_j{ZZ#V5;{sF(3u04$ro_{s$EDz7qtv%nay^@WsAL;0{VIQ4D6 z1(t@7jhhsZ)|$?2)DCM{Acp85rG+3eoXP~gdV=8t;qi@=3S(UkBp`$D49|6Q$!e0tK@Mv4U;hGaiKy!1(Ju`=|sDb<4+*#`uC$R))&y>gV;b`|Tf_6KoXlvODQHw>*uYH$gr)qS%nmDjzMbRu#ayZ( zm(R*-dvvbq^DDERv<$1B80&p}=NtswRa+3TtO3jV9@G#c-a!mn^*pUzV$&1|Uc@1A zC>DN={GF)QGcypHM7=Y!xLh5=uBB*bC2lNjO|b8`)kF*_u6~_rh90d@I6FN6K~K$- zNZ^?s8#_Sh1OE|WB69sEoLV{$gwH2cwNkxJT?|;auvq{ZL$Er6ZI5aaOli3@!dAbI zbrl22HeT$wzNr;-eBpEL4xa4M`#<~Wyg$VIXG04!Wll>cCVpZs=GVN`*I-Mg34=}5v^o60Zi;OG}L>vXW}chw(anY8<5 zL@Z*=sWfgWNivq{n?4VDLX>%$h4`##DEN)?PF~u}jbyd5EBHa@`+ef}c7spN*!3cJ zQOQ33xo87N@VNH4yv>vt@Aj6mC1>7LI9qWF-XjXDe8YHeSG&u}_hXB@54UUOiJ24$`#ow8tO> zynuu7HeE2U4acr#zWox_JI96Y84#|{0A0K2eQ2YA2d!lSz3zRJKYN^fcWTh07SN6o z?U-xZ^#hoMilVj4)jk0_ygW7t9K)X;M~le_P(GQCd9~D8s%BRo;v&|?;IK@AA(-u| z;?E(w0A)`&@M+sctF#`36_t~qp0^w5Qm?-D-t2yBCou!#E)V%ZV2r{JY0ewKd#*^J zahAn`9%C;NA2Y`w1{x7D^xFF#6L0?za*Y%G{J&~(*Gjxjh`C|IJ^|p9uf7@(=~~b= zyB#oyTV5xlM5N#hG_TN|dqh1Yc{cIRYi+Hy&Xk#Z`7~3{CCP4bKfg_e)%LvT^uU*Y zH~QhHDYIlbb+t`M3cyp#d8NKsDF@0n2Rm`guO!~}3bLfPS!j1U1PtY0btrBOx@6?v z=dhuC+<}8j!zwnn!a5e6PP8-AYqWZpN}c-5j^4i-=lnnGE>ixw%^L+!GSeb6B|=@% zt}IxL4tV7=JZB3LA31GjCPmXvig|%$>V1d1Jo3|~WTpKK{z%YRk)#{gUso-PJv7+5 zuI9$FUS96<*g5Ls{%p?fqaUACOqyQsi>j>BDG_>{F}-hzxDr1^>EZt{-|i~H$$$QG z-EuW5AFKADZk7wlDkvz&NBq+YR|r5v4%1pAqmASYrLJqx-x`#C6?8#)eh? zq@hDY2yKU^)2}@5=S99&h4-M}oT{KXDyW7&@?X2qViAhVNPL#}n!?^;b&^I81~l15 zg7@N>0i@8SvZdFr4CuxYG5WrcI#6C;*64RvQUmttsq%jBzyJzovj z`W489MGY5vEz&Tz_RTx-5Fj>E{khSjWV$bcepLFd2cu$S*Yd~hlBd3Xh1F4=AL2|W zmXHwLgCtJ-X;q~EyY7&RVY3?KE4QDd4E)Y>(W0gpSREnh|1{nfd=6iYRXekv-W!6f z=U%~HLmjY{IYpdx3^N_rd7~D(n-#aD2@32fA-YYOEJ=iFG}pBd-wSn?tCaj#nhj|` zTA=@Mf?8PZaa^RcJ!U<#UR-;f@z;-OcX14J9u`sr?-?!URH0+xKYo`azpeG>s1mL3 zizykEohP8MoKUY-!O0J}_Gj7^vLxB1%IU-sk`%3L7tV%yXefE;t{u80G+kICpm5ny zQx+FKoga7b8+-oTErI?~Qv-0nZ#3P0hiA#We?&6h3kG_EX5IjYcSs(H`*+`Ob$0*0 z&_ifw>U@F~RKi*K!8o1&V$N7UCUiQ9e=ik3ah>B4?!_zhFOFZ|Il%Rk z*hUn*8p}Pt3|e$x#oV>CMW&|mKJK4Ymm5rn-nbI9@A5fd?*Bvl-Xe- zQSa7RnsiW69Ab7#oqpf*UxSIsa~B2}S7feVZn=DY5gT2U2Du8?!7*u>4REo(6{FG5 z;UQqISCb&1E?Wbd&>d2?xpZPpUeatpLuFO&qcGB2wAMK809G-MU{u4=u-^~vb3F1? zAbpQwP^eVzJxG+wX&HpW6ooX&p zPFnR++JwBQvt7%gnP7EtRtUP(ky;eoZs^qw`m)?I0HY`xN)F^`UQN0y&A?vhA8--A z?Jm-+Vrxi$gFRHKGDoHhNOByN9mlB?2eXp<3>k*?f)480oiB;I>{l!bX?B zfd#hZVPU0&P|Ku{vjI4d<^oqXX$`v5xv|D;Mqt+=dxWxzP?Mg+pvUf%cNnif5`rDhOPQJ+f~|tfhklN7!5*{g)Nk;g8%q@=9m%mvbD2k z>cwzFuQp5sO0HAmXrs)W)lt)lrfNneV&;G?w1!A*3LdRVx1MVgk?DcCr?n1)XeL&P@)e7}Da zM6Ek-&7M;qQFEQei36-%g$*8@3}IEFx#fn7U3dw4)~M@@nsqK135&I9)Me&^Vu9OMcN}bV3jYmMK5ts;Y)L5bDg2Mujzw ztNlQV)k)jUeeIk8#u$k?jYUKLj8*_s=Nu#jnUFf|$ZY9rBgU>y|AVt(xP~DQ7}TS1 zgHlIr@(vHwqw)*=vE8HqMur)YbC#L>b#CE!+d=DgK%t=9zW_UGjrKPNQ?M{8ZtPc4 z=67RPUveLf|DZ~>YVP_Oa~lhC4TNqVJ;+~0wy3q8;#46Qfr$r^vRJx=Kb}_atM;nt zklua40n^LeDR$s`hz?o-*9{qmGfo-C5CmMoW%Z|$e$c~$UVq?;&Y@mh)TEJ(E~4h_ zJDVC6vIRLjnBRGQg-OkPEZpcW6UXA-zB!p5jljd+du?PTHIrBz@&5EvQ=K=)Wq3-X zOB-@2of^oc2;u&f+t20$1)6|JH>tOHv?})%;sLt^YdW_^LAbd^rtv1-pc}EqfZ`Tl zWSr9tO-&@Gg(1a|-WG$2Zk`Mpn3K>*DX05AhA(U|K^CJawBhO!xsgDT@huU}M0l>PE#ocY^MgIw-D&}AgtbQ1+Nt!aVE)`;mETV#sZWTDW2fYDa(Rbv`k3>= zEy)>OFJncs5D9-EXek`8Xs!EjpEbTTRf1@Y?jaNYX3QpEn-vm?JgleY3wnGz$6XG3 zaj%dZyb{QeU{Y%gd`Q^QT;ul>Y|fYxv_pa!+q&z2*g2C6%+22nLAPljSC0e>D@5QA zm_QuVn0pjxe+m@PI?t@dl7{Mfyz4Tm=)r@-;A0kWOB0<~6gc6R_awGNfPy9yy72sP zGXBAkdbPelxGTNS4zdxShkr|R0eE55qA7Xfie@*%z*|+M#>FYF?33}ey@t{MhD`{GvwWx-NEaVgc1JJQDNKsLS+4_SGa_f

    A$(mzpy1{2?0HOg{Ggwh(-S#W${hNGoo+L8 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 xeKpX;b2*e=}hd>+x zaR|gA5Qjh<0&xh$ArOZ^90G9 xeKpX;b2*e=}hd>+xaR|gA5Qjh<0&xh$ArOZ^ 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 ~Z(KDFwJp;YPHl9{zkpGFX=W^W5 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%0AGMn3 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 Ccw8v} diff --git a/amlogic-tools.repo/bins/magicbox/platform.conf b/amlogic-tools.repo/bins/magicbox/platform.conf deleted file mode 100644 index 66289ab9f..000000000 --- a/amlogic-tools.repo/bins/magicbox/platform.conf +++ /dev/null @@ -1,9 +0,0 @@ -Platform:0x0811 -DDRLoad:0xfffc0000 -DDRRun:0xfffc0000 -UbootLoad:0x200c000 -UbootRun:0xfffc0000 -Control0=0xfffc0000:0x000000b1 -Control1=0xfffc0000:0x00005183 -Encrypt_reg:0xff800228 -bl2ParaAddr=0xfffcc000 diff --git a/amlogic-tools.repo/bins/magicbox/u-boot.bin b/amlogic-tools.repo/bins/magicbox/u-boot.bin deleted file mode 100644 index 90cba05022e08bf5a2e7f76d02290e82dfe6e2cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1172992 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