summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/imx31/sdma-imx31.c143
-rw-r--r--firmware/target/arm/imx31/sdma_script_code.h638
2 files changed, 73 insertions, 708 deletions
diff --git a/firmware/target/arm/imx31/sdma-imx31.c b/firmware/target/arm/imx31/sdma-imx31.c
index 381e589c08..39f4e29554 100644
--- a/firmware/target/arm/imx31/sdma-imx31.c
+++ b/firmware/target/arm/imx31/sdma-imx31.c
@@ -35,8 +35,6 @@
/* Cut down to bare bones essentials */
-/* Script information that depends on system revision */
-static struct sdma_script_start_addrs script_info;
/* Mask of channels with callback enabled */
static unsigned long sdma_enabled_ints = 0;
/* One channel control block per channel in physically mapped device RAM */
@@ -71,79 +69,6 @@ static void __attribute__((interrupt("IRQ"))) SDMA_HANDLER(void)
}
}
-/* Initialize script information based upon the system revision */
-static void init_script_info(void)
-{
- if (iim_system_rev() == IIM_SREV_1_0)
- {
- /* Channel script info */
- script_info.app_2_mcu_addr = app_2_mcu_ADDR_1;
- script_info.ap_2_ap_addr = ap_2_ap_ADDR_1;
- script_info.ap_2_bp_addr = -1;
- script_info.bp_2_ap_addr = -1;
- script_info.loopback_on_dsp_side_addr = -1;
- script_info.mcu_2_app_addr = mcu_2_app_ADDR_1;
- script_info.mcu_2_shp_addr = mcu_2_shp_ADDR_1;
- script_info.mcu_interrupt_only_addr = -1;
- script_info.shp_2_mcu_addr = shp_2_mcu_ADDR_1;
- script_info.uartsh_2_mcu_addr = uartsh_2_mcu_ADDR_1;
- script_info.uart_2_mcu_addr = uart_2_mcu_ADDR_1;
- script_info.dptc_dvfs_addr = dptc_dvfs_ADDR_1;
- script_info.firi_2_mcu_addr = firi_2_mcu_ADDR_1;
- script_info.firi_2_per_addr = -1;
- script_info.mshc_2_mcu_addr = mshc_2_mcu_ADDR_1;
- script_info.per_2_app_addr = -1;
- script_info.per_2_firi_addr = -1;
- script_info.per_2_shp_addr = -1;
- script_info.mcu_2_ata_addr = mcu_2_ata_ADDR_1;
- script_info.mcu_2_firi_addr = mcu_2_firi_ADDR_1;
- script_info.mcu_2_mshc_addr = mcu_2_mshc_ADDR_1;
- script_info.ata_2_mcu_addr = ata_2_mcu_ADDR_1;
- script_info.uartsh_2_per_addr = -1;
- script_info.shp_2_per_addr = -1;
- script_info.uart_2_per_addr = -1;
- script_info.app_2_per_addr = -1;
- /* Main code block info */
- script_info.ram_code_size = RAM_CODE_SIZE_1;
- script_info.ram_code_start_addr = RAM_CODE_START_ADDR_1;
- script_info.mcu_start_addr = (unsigned long)sdma_code_1;
- }
- else
- {
- /* Channel script info */
- script_info.app_2_mcu_addr = app_2_mcu_patched_ADDR_2;
- script_info.ap_2_ap_addr = ap_2_ap_ADDR_2;
- script_info.ap_2_bp_addr = ap_2_bp_ADDR_2;
- script_info.bp_2_ap_addr = bp_2_ap_ADDR_2;
- script_info.loopback_on_dsp_side_addr = -1;
- script_info.mcu_2_app_addr = mcu_2_app_patched_ADDR_2;
- script_info.mcu_2_shp_addr = mcu_2_shp_patched_ADDR_2;
- script_info.mcu_interrupt_only_addr = -1;
- script_info.shp_2_mcu_addr = shp_2_mcu_patched_ADDR_2;
- script_info.uartsh_2_mcu_addr = uartsh_2_mcu_patched_ADDR_2;
- script_info.uart_2_mcu_addr = uart_2_mcu_patched_ADDR_2;
- script_info.dptc_dvfs_addr = -1;
- script_info.firi_2_mcu_addr = firi_2_mcu_ADDR_2;
- script_info.firi_2_per_addr = -1;
- script_info.mshc_2_mcu_addr = -1;
- script_info.per_2_app_addr = -1;
- script_info.per_2_firi_addr = -1;
- script_info.per_2_shp_addr = per_2_shp_ADDR_2;
- script_info.mcu_2_ata_addr = mcu_2_ata_ADDR_2;
- script_info.mcu_2_firi_addr = mcu_2_firi_ADDR_2;
- script_info.mcu_2_mshc_addr = -1;
- script_info.ata_2_mcu_addr = ata_2_mcu_ADDR_2;
- script_info.uartsh_2_per_addr = -1;
- script_info.shp_2_per_addr = shp_2_per_ADDR_2;
- script_info.uart_2_per_addr = -1;
- script_info.app_2_per_addr = -1;
- /* Main code block info */
- script_info.ram_code_size = RAM_CODE_SIZE_2;
- script_info.ram_code_start_addr = RAM_CODE_START_ADDR_2;
- script_info.mcu_start_addr = (unsigned long)sdma_code_2;
- }
-}
-
/* Return pc of SDMA script in SDMA halfword space according to peripheral
* and transfer type */
static unsigned long get_script_pc(unsigned int peripheral_type,
@@ -159,7 +84,7 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
case SDMA_TRAN_EMI_2_INT:
case SDMA_TRAN_EMI_2_EMI:
case SDMA_TRAN_INT_2_EMI:
- res = script_info.ap_2_ap_addr;
+ res = AP_2_AP_ADDR;
break;
}
break;
@@ -169,16 +94,16 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
switch (transfer_type)
{
case SDMA_TRAN_EMI_2_DSP:
- res = script_info.ap_2_bp_addr;
+ res = AP_2_BP_ADDR;
break;
case SDMA_TRAN_DSP_2_EMI:
- res = script_info.bp_2_ap_addr;
+ res = BP_2_AP_ADDR;
break;
case SDMA_TRAN_DSP_2_EMI_LOOP:
- res = script_info.loopback_on_dsp_side_addr;
+ res = LOOPBACK_ON_DSP_SIDE_ADDR;
break;
case SDMA_TRAN_EMI_2_DSP_LOOP:
- res = script_info.mcu_interrupt_only_addr;
+ res = MCU_INTERRUPT_ONLY_ADDR;
break;
}
break;
@@ -189,16 +114,16 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
switch (transfer_type)
{
case SDMA_TRAN_PER_2_INT:
- res = script_info.firi_2_per_addr;
+ res = FIRI_2_PER_ADDR;
break;
case SDMA_TRAN_PER_2_EMI:
- res = script_info.firi_2_mcu_addr;
+ res = FIRI_2_MCU_ADDR;
break;
case SDMA_TRAN_INT_2_PER:
- res = script_info.per_2_firi_addr;
+ res = PER_2_FIRI_ADDR;
break;
case SDMA_TRAN_EMI_2_PER:
- res = script_info.mcu_2_firi_addr;
+ res = MCU_2_FIRI_ADDR;
break;
}
break;
@@ -209,16 +134,16 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
switch (transfer_type)
{
case SDMA_TRAN_PER_2_INT:
- res = script_info.uart_2_per_addr;
+ res = UART_2_PER_ADDR;
break;
case SDMA_TRAN_PER_2_EMI:
- res = script_info.uart_2_mcu_addr;
+ res = UART_2_MCU_ADDR;
break;
case SDMA_TRAN_INT_2_PER:
- res = script_info.per_2_app_addr;
+ res = PER_2_APP_ADDR;
break;
case SDMA_TRAN_EMI_2_PER:
- res = script_info.mcu_2_app_addr;
+ res = MCU_2_APP_ADDR;
break;
}
break;
@@ -229,16 +154,16 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
switch (transfer_type)
{
case SDMA_TRAN_PER_2_INT:
- res = script_info.uartsh_2_per_addr;
+ res = UARTSH_2_PER_ADDR;
break;
case SDMA_TRAN_PER_2_EMI:
- res = script_info.uartsh_2_mcu_addr;
+ res = UARTSH_2_MCU_ADDR;
break;
case SDMA_TRAN_INT_2_PER:
- res = script_info.per_2_shp_addr;
+ res = PER_2_SHP_ADDR;
break;
case SDMA_TRAN_EMI_2_PER:
- res = script_info.mcu_2_shp_addr;
+ res = MCU_2_SHP_ADDR;
break;
}
break;
@@ -248,10 +173,10 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
switch (transfer_type)
{
case SDMA_TRAN_PER_2_EMI:
- res = script_info.ata_2_mcu_addr;
+ res = ATA_2_MCU_ADDR;
break;
case SDMA_TRAN_EMI_2_PER:
- res = script_info.mcu_2_ata_addr;
+ res = MCU_2_ATA_ADDR;
break;
}
break;
@@ -262,16 +187,16 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
switch (transfer_type)
{
case SDMA_TRAN_PER_2_INT:
- res = script_info.app_2_per_addr;
+ res = APP_2_PER_ADDR;
break;
case SDMA_TRAN_PER_2_EMI:
- res = script_info.app_2_mcu_addr;
+ res = APP_2_MCU_ADDR;
break;
case SDMA_TRAN_INT_2_PER:
- res = script_info.per_2_app_addr;
+ res = PER_2_APP_ADDR;
break;
case SDMA_TRAN_EMI_2_PER:
- res = script_info.mcu_2_app_addr;
+ res = MCU_2_APP_ADDR;
break;
}
break;
@@ -285,16 +210,16 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
switch (transfer_type)
{
case SDMA_TRAN_PER_2_INT:
- res = script_info.shp_2_per_addr;
+ res = SHP_2_PER_ADDR;
break;
case SDMA_TRAN_PER_2_EMI:
- res = script_info.shp_2_mcu_addr;
+ res = SHP_2_MCU_ADDR;
break;
case SDMA_TRAN_INT_2_PER:
- res = script_info.per_2_shp_addr;
+ res = PER_2_SHP_ADDR;
break;
case SDMA_TRAN_EMI_2_PER:
- res = script_info.mcu_2_shp_addr;
+ res = MCU_2_SHP_ADDR;
break;
}
break;
@@ -303,10 +228,10 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
switch (transfer_type)
{
case SDMA_TRAN_PER_2_EMI:
- res = script_info.mshc_2_mcu_addr;
+ res = MSHC_2_MCU_ADDR;
break;
case SDMA_TRAN_EMI_2_PER:
- res = script_info.mcu_2_mshc_addr;
+ res = MCU_2_MSHC_ADDR;
break;
}
break;
@@ -315,7 +240,7 @@ static unsigned long get_script_pc(unsigned int peripheral_type,
switch (transfer_type)
{
case SDMA_TRAN_PER_2_EMI:
- res = script_info.dptc_dvfs_addr;
+ res = DPTC_DVFS_ADDR;
break;
}
break;
@@ -511,8 +436,6 @@ void INIT_ATTR sdma_init(void)
SDMA_RESET |= SDMA_RESET_RESET;
while (SDMA_RESET & SDMA_RESET_RESET);
- init_script_info();
-
/* No channel enabled, all priorities 0 */
for (i = 0; i < CH_NUM; i++)
{
@@ -561,9 +484,9 @@ void INIT_ATTR sdma_init(void)
set_buffer_descriptor(&c0_buffer_desc.bd,
C0_SETPM,
BD_DONE | BD_WRAP | BD_EXTD,
- script_info.ram_code_size,
- (void *)addr_virt_to_phys(script_info.mcu_start_addr),
- (void *)(unsigned long)script_info.ram_code_start_addr);
+ RAM_CODE_SIZE,
+ (void *)addr_virt_to_phys(MCU_START_ADDR),
+ (void *)RAM_CODE_START_ADDR);
SDMA_HSTART = 1ul;
sdma_channel_wait_nonblocking(0);
diff --git a/firmware/target/arm/imx31/sdma_script_code.h b/firmware/target/arm/imx31/sdma_script_code.h
index 9a5f4933dd..82826e0bce 100644
--- a/firmware/target/arm/imx31/sdma_script_code.h
+++ b/firmware/target/arm/imx31/sdma_script_code.h
@@ -24,568 +24,10 @@
* Copyright 2004-2008 Freescale Semiconductor, Inc. All Rights Reserved.
*/
-/* This header contains both versions 1 and 2 of SDMA code */
-
#ifndef __SDMA_SCRIPT_CODE_H__
#define __SDMA_SCRIPT_CODE_H__
-/*!
-* Following define start address of start script
-*/
-#define start_ADDR_1 0
-/*!
-* Following define size of start script
-*/
-#define start_SIZE_1 21
-
-/*!
-* Following define start address of core script
-*/
-#define core_ADDR_1 80
-/*!
-* Following define size of core script
-*/
-#define core_SIZE_1 152
-
-/*!
-* Following define start address of common script
-*/
-#define common_ADDR_1 232
-/*!
-* Following define size of common script
-*/
-#define common_SIZE_1 191
-
-/*!
-* Following define start address of burst_copy script
-*/
-#define burst_copy_ADDR_1 423
-/*!
-* Following define size of burst_copy script
-*/
-#define burst_copy_SIZE_1 87
-
-/*!
-* Following define start address of dsp_2_burst script
-*/
-#define dsp_2_burst_ADDR_1 510
-/*!
-* Following define size of dsp_2_burst script
-*/
-#define dsp_2_burst_SIZE_1 24
-
-/*!
-* Following define start address of burst_2_dsp script
-*/
-#define burst_2_dsp_ADDR_1 534
-/*!
-* Following define size of burst_2_dsp script
-*/
-#define burst_2_dsp_SIZE_1 24
-
-/*!
-* Following define start address of dsp_copy script
-*/
-#define dsp_copy_ADDR_1 558
-/*!
-* Following define size of dsp_copy script
-*/
-#define dsp_copy_SIZE_1 86
-
-/*!
-* Following define start address of mcu_2_mcu script
-*/
-#define mcu_2_mcu_ADDR_1 644
-/*!
-* Following define size of mcu_2_mcu script
-*/
-#define mcu_2_mcu_SIZE_1 79
-
-/*!
-* Following define start address of mcu_2_per script
-*/
-#define mcu_2_per_ADDR_1 723
-/*!
-* Following define size of mcu_2_per script
-*/
-#define mcu_2_per_SIZE_1 88
-
-/*!
-* Following define start address of test script
-*/
-#define test_ADDR_1 811
-/*!
-* Following define size of test script
-*/
-#define test_SIZE_1 63
-
-/*!
-* Following define start address of mcu_2_dsp script
-*/
-#define mcu_2_dsp_ADDR_1 874
-/*!
-* Following define size of mcu_2_dsp script
-*/
-#define mcu_2_dsp_SIZE_1 30
-
-/*!
-* Following define start address of mcu_2_dsp_2buf script
-*/
-#define mcu_2_dsp_2buf_ADDR_1 904
-/*!
-* Following define size of mcu_2_dsp_2buf script
-*/
-#define mcu_2_dsp_2buf_SIZE_1 113
-
-/*!
-* Following define start address of dsp_2_mcu script
-*/
-#define dsp_2_mcu_ADDR_1 1017
-/*!
-* Following define size of dsp_2_mcu script
-*/
-#define dsp_2_mcu_SIZE_1 30
-
-/*!
-* Following define start address of dsp_2_mcu_2buf script
-*/
-#define dsp_2_mcu_2buf_ADDR_1 1047
-/*!
-* Following define size of dsp_2_mcu_2buf script
-*/
-#define dsp_2_mcu_2buf_SIZE_1 113
-
-/*!
-* Following define start address of dsp_2_dsp script
-*/
-#define dsp_2_dsp_ADDR_1 1160
-/*!
-* Following define size of dsp_2_dsp script
-*/
-#define dsp_2_dsp_SIZE_1 64
-
-/*!
-* Following define start address of per_2_mcu script
-*/
-#define per_2_mcu_ADDR_1 1224
-/*!
-* Following define size of per_2_mcu script
-*/
-#define per_2_mcu_SIZE_1 121
-
-/*!
-* Following define start address of dsp_2_per_2buf script
-*/
-#define dsp_2_per_2buf_ADDR_1 1345
-/*!
-* Following define size of dsp_2_per_2buf script
-*/
-#define dsp_2_per_2buf_SIZE_1 164
-
-/*!
-* Following define start address of per_2_dsp_2buf script
-*/
-#define per_2_dsp_2buf_ADDR_1 1509
-/*!
-* Following define size of per_2_dsp_2buf script
-*/
-#define per_2_dsp_2buf_SIZE_1 168
-
-/*!
-* Following define start address of per_2_per script
-*/
-#define per_2_per_ADDR_1 1677
-/*!
-* Following define size of per_2_per script
-*/
-#define per_2_per_SIZE_1 67
-
-/*!
-* Following define start address of error_dsp script
-*/
-#define error_dsp_ADDR_1 1744
-/*!
-* Following define size of error_dsp script
-*/
-#define error_dsp_SIZE_1 34
-
-/*!
-* Following define start address of ap_2_ap script
-*/
-#define ap_2_ap_ADDR_1 6144
-/*!
-* Following define size of ap_2_ap script
-*/
-#define ap_2_ap_SIZE_1 294
-/*!
-* Following define start address of app_2_mcu script
-*/
-#define app_2_mcu_ADDR_1 6438
-/*!
-* Following define size of app_2_mcu script
-*/
-#define app_2_mcu_SIZE_1 101
-
-/*!
-* Following define start address of ata_2_mcu script
-*/
-#define ata_2_mcu_ADDR_1 6539
-/*!
-* Following define size of ata_2_mcu script
-*/
-#define ata_2_mcu_SIZE_1 110
-
-/*!
-* Following define start address of dptc_dvfs script
-*/
-#define dptc_dvfs_ADDR_1 6649
-/*!
-* Following define size of dptc_dvfs script
-*/
-#define dptc_dvfs_SIZE_1 274
-
-/*!
-* Following define start address of error script
-*/
-#define error_ADDR_1 6923
-/*!
-* Following define size of error script
-*/
-#define error_SIZE_1 73
-
-/*!
-* Following define start address of firi_2_mcu script
-*/
-#define firi_2_mcu_ADDR_1 6996
-/*!
-* Following define size of firi_2_mcu script
-*/
-#define firi_2_mcu_SIZE_1 114
-
-/*!
-* Following define start address of mcu_2_app script
-*/
-#define mcu_2_app_ADDR_1 7110
-/*!
-* Following define size of mcu_2_app script
-*/
-#define mcu_2_app_SIZE_1 127
-
-/*!
-* Following define start address of mcu_2_ata script
-*/
-#define mcu_2_ata_ADDR_1 7237
-/*!
-* Following define size of mcu_2_ata script
-*/
-#define mcu_2_ata_SIZE_1 87
-
-/*!
-* Following define start address of mcu_2_firi script
-*/
-#define mcu_2_firi_ADDR_1 7324
-/*!
-* Following define size of mcu_2_firi script
-*/
-#define mcu_2_firi_SIZE_1 77
-
-/*!
-* Following define start address of mcu_2_mshc script
-*/
-#define mcu_2_mshc_ADDR_1 7401
-/*!
-* Following define size of mcu_2_mshc script
-*/
-#define mcu_2_mshc_SIZE_1 48
-
-/*!
-* Following define start address of mcu_2_shp script
-*/
-#define mcu_2_shp_ADDR_1 7449
-/*!
-* Following define size of mcu_2_shp script
-*/
-#define mcu_2_shp_SIZE_1 123
-
-/*!
-* Following define start address of mshc_2_mcu script
-*/
-#define mshc_2_mcu_ADDR_1 7572
-/*!
-* Following define size of mshc_2_mcu script
-*/
-#define mshc_2_mcu_SIZE_1 60
-
-/*!
-* Following define start address of shp_2_mcu script
-*/
-#define shp_2_mcu_ADDR_1 7632
-/*!
-* Following define size of shp_2_mcu script
-*/
-#define shp_2_mcu_SIZE_1 101
-
-/*!
-* Following define start address of uart_2_mcu script
-*/
-#define uart_2_mcu_ADDR_1 7733
-/*!
-* Following define size of uart_2_mcu script
-*/
-#define uart_2_mcu_SIZE_1 105
-
-/*!
-* Following define start address of uartsh_2_mcu script
-*/
-#define uartsh_2_mcu_ADDR_1 7838
-/*!
-* Following define size of uartsh_2_mcu script
-*/
-#define uartsh_2_mcu_SIZE_1 98
-
-/*!
-* Following define the start address of sdma ram
-*/
-
-#define RAM_CODE_START_ADDR_1 6144
-/*!
-* Following define the size of sdma ram
-*/
-#define RAM_CODE_SIZE_1 1792
-
-/*!
- * Code download for i.MX system revision = 1.0
- */
-static __attribute__((aligned(4), section(".sdmacode")))
- const short sdma_code_1[RAM_CODE_SIZE_1] =
-{
- 0xc0ec, 0x7d59, 0x0970, 0x0111, 0x5111, 0x5ad1, 0x5bd9, 0xc0fe,
- 0x5ce1, 0x7d02, 0x0200, 0x9806, 0x08ff, 0x0011, 0x28ff, 0x00bc,
- 0x05df, 0x7d4b, 0x06df, 0x7d2f, 0x6dc5, 0x6ed5, 0x5ef1, 0x0288,
- 0xd81a, 0x9854, 0x0b04, 0x00d3, 0x7d20, 0x06a5, 0x3e03, 0x3d03,
- 0x03a5, 0x3b03, 0x008b, 0x058b, 0x7802, 0x63d8, 0x0000, 0x7e72,
- 0x63ff, 0x7e70, 0x02a5, 0x008a, 0x4e00, 0x7d01, 0x983d, 0x6dcf,
- 0x6edf, 0x0015, 0x0015, 0x7802, 0x63d8, 0x0000, 0x7e63, 0x63ff,
- 0x7e61, 0x3a03, 0x008a, 0x6dcd, 0x6edd, 0x7801, 0x63d8, 0x7e5a,
- 0x63ff, 0x7e58, 0x0006, 0x6dc5, 0x6e07, 0x5ef1, 0x0288, 0xd8f7,
- 0x7e02, 0x7f04, 0x9854, 0x0007, 0x68cc, 0x6b28, 0x54e1, 0x0089,
- 0xdb13, 0x0188, 0x5ce1, 0x9854, 0x52d1, 0x53d9, 0x54e1, 0xc10d,
- 0x7dad, 0x0200, 0x9800, 0x0200, 0x9800, 0x06df, 0x7d06, 0x6d23,
- 0x6ed5, 0x5ef1, 0x0288, 0xd8cd, 0x9854, 0x5ef1, 0x6e07, 0x6d03,
- 0x0b04, 0x00d3, 0x7d59, 0x06a5, 0x3e03, 0x3d03, 0x4d00, 0x7d09,
- 0x03a5, 0x00a3, 0x0588, 0x008b, 0xd8c9, 0x7ed8, 0x620c, 0x7ed6,
- 0x008d, 0x4e00, 0x7c25, 0x0a20, 0x00da, 0x7c22, 0x6503, 0x3d1f,
- 0x02a5, 0x00a2, 0x0215, 0x0215, 0x6a18, 0x6a28, 0x7fc7, 0x0a20,
- 0x0b08, 0x00da, 0x7c06, 0x6b18, 0x6b28, 0x7fc0, 0x0000, 0x2020,
- 0x9889, 0x0688, 0x0015, 0x0015, 0x6818, 0x6828, 0x7fb7, 0x98c2,
- 0x0007, 0x6a0c, 0x54e1, 0x0089, 0xdb0f, 0x0188, 0x5ce1, 0x9854,
- 0x0b04, 0x00d3, 0x7d21, 0x0389, 0x1b12, 0x048b, 0x0688, 0x0015,
- 0x0015, 0x0588, 0x038c, 0x0a08, 0x05da, 0x008d, 0x7c01, 0x008a,
- 0x05a0, 0x7803, 0x620b, 0x5a03, 0x1b01, 0x7e98, 0x008b, 0x00a4,
- 0x038c, 0x7803, 0x5203, 0x6a0b, 0x1b01, 0x6a28, 0x7f8f, 0x0000,
- 0x4d00, 0x7ce8, 0x008e, 0x3803, 0xd8c9, 0x7e88, 0x620c, 0x7e86,
- 0x9854, 0x7802, 0x6209, 0x6a29, 0x0006, 0x3e03, 0x4e00, 0x7d11,
- 0x0b04, 0x03a6, 0x02db, 0x7d01, 0x038a, 0x02a3, 0x048a, 0x008b,
- 0x7802, 0x6329, 0x6bc8, 0x7ebc, 0x63c8, 0x7ebc, 0x008c, 0x4800,
- 0x7d15, 0x0488, 0x0015, 0x0015, 0x6edf, 0x7803, 0x632b, 0x6bc8,
- 0x0000, 0x7eae, 0x63c8, 0x7eae, 0x008c, 0x3803, 0x6edd, 0x7803,
- 0x6329, 0x6bc8, 0x0000, 0x7ea4, 0x63c8, 0x7ea4, 0x0006, 0x3d03,
- 0x4d00, 0x7d0e, 0x0b04, 0x03a5, 0x02db, 0x7d01, 0x038a, 0x02a3,
- 0x048a, 0x008b, 0x7802, 0x63c8, 0x6b09, 0x7e1e, 0x7f1e, 0x008c,
- 0x0488, 0x0015, 0x0015, 0x6dcf, 0x0288, 0x008a, 0x0d08, 0x02dd,
- 0x7c01, 0x008d, 0x7802, 0x63c8, 0x6b0b, 0x7e0e, 0x6b28, 0x7f0d,
- 0x0000, 0x02dd, 0x7c02, 0x2208, 0x990d, 0x008c, 0x3803, 0x65c0,
- 0x6dc5, 0x7802, 0x63c8, 0x6b09, 0x6b28, 0x0006, 0x0870, 0x0011,
- 0x5010, 0xc0ec, 0x7d5e, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8,
- 0x7d02, 0x0200, 0x992c, 0x6ec3, 0x6d07, 0x5df0, 0x0dff, 0x0511,
- 0x1dff, 0x05bc, 0x4d00, 0x7d44, 0x0b70, 0x0311, 0x522b, 0x5313,
- 0x02b9, 0x4a00, 0x7c04, 0x6a28, 0x7f3a, 0x0400, 0x993c, 0x008f,
- 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x0a03, 0x0212, 0x02bc, 0x0210,
- 0x4a00, 0x7d1c, 0x4a02, 0x7d20, 0x4a01, 0x7d23, 0x0b70, 0x0311,
- 0x53eb, 0x62c8, 0x7e24, 0x0360, 0x7d02, 0x0210, 0x0212, 0x6a09,
- 0x7f1e, 0x0212, 0x6a09, 0x7f1b, 0x0212, 0x6a09, 0x7f18, 0x2003,
- 0x4800, 0x7cef, 0x0b70, 0x0311, 0x5313, 0x997d, 0x0015, 0x0015,
- 0x7802, 0x62c8, 0x6a0b, 0x997c, 0x0015, 0x7802, 0x62c8, 0x6a0a,
- 0x997c, 0x7802, 0x62c8, 0x6a09, 0x7c02, 0x0000, 0x993a, 0xdb13,
- 0x6a28, 0x7ffd, 0x008b, 0x52c3, 0x53cb, 0xc10d, 0x7da5, 0x0200,
- 0x992c, 0x0200, 0x9929, 0xc19d, 0xc0ec, 0x7d69, 0x0c70, 0x0411,
- 0x5414, 0x5ac4, 0x028c, 0x58da, 0x5efa, 0xc0fe, 0x56fa, 0x7d02,
- 0x0200, 0x9994, 0x6d07, 0x5bca, 0x5cd2, 0x0bff, 0x0311, 0x1bff,
- 0x04bb, 0x0415, 0x53da, 0x4c00, 0x7d47, 0x0a70, 0x0211, 0x552a,
- 0x5212, 0x008d, 0x00bb, 0x4800, 0x7c07, 0x05b9, 0x4d00, 0x7c13,
- 0x6928, 0x7f2d, 0x0400, 0x99a5, 0x008f, 0x0015, 0x04d8, 0x7d01,
- 0x008c, 0x04a0, 0x0015, 0x7802, 0x55c6, 0x6d0b, 0x7e29, 0x6d28,
- 0x7f1e, 0x0000, 0x99a3, 0x1e20, 0x5506, 0x2620, 0x008d, 0x0560,
- 0x7c08, 0x065f, 0x55c6, 0x063f, 0x7e1b, 0x6d0a, 0x7f10, 0x4c00,
- 0x7d1b, 0x04d8, 0x7d02, 0x008c, 0x0020, 0x04a0, 0x0015, 0x7802,
- 0x55c6, 0x6d0b, 0x7e0d, 0x6d28, 0x7f02, 0x0000, 0x99ec, 0x0007,
- 0x680c, 0x6d0c, 0x6507, 0x6d07, 0x6d2b, 0x6d28, 0x0007, 0x680c,
- 0x0007, 0x54d2, 0x0454, 0x99ef, 0x6928, 0x7ff1, 0x54d2, 0x008a,
- 0x52c0, 0x53c8, 0xc10d, 0x0288, 0x7d9f, 0x0200, 0x9994, 0x0200,
- 0x998c, 0xc0ec, 0x7d72, 0x0800, 0x0970, 0x0111, 0x5111, 0x5ac1,
- 0x5bc9, 0x028e, 0xc0fe, 0x068a, 0x7c6a, 0x5dd9, 0x5ce1, 0x0bff,
- 0x0311, 0x1bff, 0x03bc, 0x5bd1, 0x1a5c, 0x6ac3, 0x63c8, 0x0363,
- 0x7c05, 0x036f, 0x7d27, 0x0374, 0x7c7a, 0x9a71, 0xdb04, 0x3c06,
- 0x4c00, 0x7df7, 0x028f, 0x1a04, 0x6a23, 0x620b, 0x6f23, 0x301f,
- 0x00aa, 0x0462, 0x7c04, 0x4a00, 0x7d0b, 0x2001, 0x9a30, 0x048a,
- 0x620b, 0x2201, 0x1c01, 0x1801, 0x02dc, 0x7d02, 0x301f, 0x00aa,
- 0x048f, 0x1c04, 0x6c07, 0x0488, 0x3c1f, 0x6c2b, 0x0045, 0x028e,
- 0x1a5c, 0x9a11, 0x058f, 0x1d0c, 0x6d23, 0x650b, 0x007d, 0x7c01,
- 0x1d08, 0x007c, 0x7c01, 0x1d04, 0x6d23, 0x650b, 0x0488, 0x3c1f,
- 0x0417, 0x0417, 0x0417, 0x0417, 0x059c, 0x6d23, 0x028e, 0x1a34,
- 0x6ad7, 0x0488, 0x0804, 0x7802, 0x650b, 0x6dc8, 0x008c, 0x1a28,
- 0x6ad7, 0x63c8, 0x034c, 0x6bc8, 0x54d1, 0x4c00, 0x7d06, 0x0065,
- 0x7c02, 0x0101, 0x0025, 0x0400, 0x9a0d, 0x52c1, 0x53c9, 0x54e1,
- 0x0453, 0xc10d, 0x7d95, 0x0200, 0x9a00, 0x0200, 0x99f9, 0x0200,
- 0x9a00, 0x55d9, 0x6d07, 0x54d1, 0x058a, 0x2508, 0x6dc7, 0x0373,
- 0x7c03, 0x65c8, 0x6d0b, 0x2408, 0x0372, 0x7c04, 0x65c8, 0x6d0b,
- 0x2408, 0x9a86, 0x6cce, 0x65c8, 0x6d0a, 0x2404, 0x6d28, 0x6507,
- 0x5dd9, 0x5cd1, 0x6ad7, 0x6ae3, 0x63c8, 0x0334, 0x6bc8, 0x0370,
- 0x7ca9, 0x0c60, 0x0411, 0x04bb, 0x4c00, 0x7da4, 0x0410, 0x1c30,
- 0x0410, 0x04bb, 0x046d, 0x7d0a, 0x047d, 0x7c03, 0x047c, 0x7c01,
- 0x9a3a, 0x003b, 0x003a, 0x0039, 0x0058, 0x9ab5, 0x047d, 0x7d03,
- 0x047c, 0x7d01, 0x9a3a, 0x005b, 0xdaf9, 0x1d18, 0x6d23, 0x650b,
- 0x0510, 0x003a, 0x0039, 0x0038, 0x00ad, 0xdb04, 0x0c30, 0x0410,
- 0x04bb, 0x003c, 0x003d, 0x00ac, 0xdaf9, 0x007b, 0x7c04, 0x003d,
- 0x003c, 0x1d0c, 0x9ad6, 0x048f, 0x1c14, 0x6c23, 0x640b, 0x4401,
- 0x7d04, 0x005d, 0x005c, 0x1d0c, 0x9ad6, 0x0310, 0x3b30, 0x4b30,
- 0x7d01, 0x1b10, 0x0310, 0x003d, 0x003c, 0x00ab, 0x6ad7, 0x63c8,
- 0x6d23, 0x650b, 0x0560, 0x7d03, 0x005e, 0xdaed, 0x9a3a, 0x003e,
- 0x0c80, 0x0410, 0x0394, 0xdaed, 0x640b, 0x037f, 0x7d02, 0x1a14,
- 0x9aea, 0x1a0c, 0x6ad7, 0x6cc8, 0x9a3a, 0x0c7f, 0x0410, 0x03b4,
- 0x04b8, 0x03ac, 0x640b, 0x6bc8, 0x028e, 0x1a04, 0x6ad7, 0x6cc8,
- 0x0006, 0x058f, 0x1d08, 0x6d23, 0x650b, 0x007d, 0x7c01, 0x1d38,
- 0x007c, 0x7c01, 0x1d1c, 0x0006, 0x048b, 0x042c, 0x0454, 0x042b,
- 0x6ad7, 0x6cc8, 0x0006, 0x0007, 0x684c, 0x6144, 0x9b1c, 0x0007,
- 0x68cc, 0x61d0, 0x9b1c, 0x0007, 0x680c, 0x680c, 0x6107, 0x6907,
- 0x692b, 0x6928, 0x0007, 0x680c, 0x0d70, 0x0511, 0x5515, 0x55f5,
- 0x01a5, 0x0dff, 0x0512, 0x1dff, 0x0512, 0x04bd, 0x0499, 0x0454,
- 0x0006, 0x08ff, 0x0011, 0x28ff, 0x0006, 0x038c, 0x0eff, 0x0611,
- 0x2eff, 0x03b6, 0x0006, 0x53d6, 0x0398, 0x5bd6, 0x53ee, 0x0398,
- 0x5bee, 0x0006, 0x52de, 0x53e6, 0x54ee, 0x0498, 0x0454, 0x0006,
- 0x50f6, 0x52c6, 0x53ce, 0x54d6, 0x0498, 0x0454, 0x0006, 0x6207,
- 0x0b70, 0x0311, 0x5013, 0x55f0, 0x02a5, 0x0bff, 0x0312, 0x1bff,
- 0x0312, 0x04bb, 0x049a, 0x0006, 0x1e10, 0x0870, 0x0011, 0x5010,
- 0xc0ec, 0x7d39, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02,
- 0x0200, 0x9b5b, 0x6d07, 0x5df0, 0x0dff, 0x0511, 0x1dff, 0x05bc,
- 0x4d00, 0x7d17, 0x6ec3, 0x62c8, 0x7e28, 0x0264, 0x7d08, 0x0b70,
- 0x0311, 0x522b, 0x02b9, 0x4a00, 0x7c18, 0x0400, 0x9b6a, 0x0212,
- 0x3aff, 0x008a, 0x05d8, 0x7d01, 0x008d, 0x0a10, 0x6ed3, 0x6ac8,
- 0xdba5, 0x6a28, 0x7f17, 0x0b70, 0x0311, 0x5013, 0xdbbd, 0x52c0,
- 0x53c8, 0xc10d, 0x7dd0, 0x0200, 0x9b5b, 0x008f, 0x00d5, 0x7d01,
- 0x008d, 0xdba5, 0x9b68, 0x0200, 0x9b58, 0x0007, 0x68cc, 0x6a28,
- 0x7f01, 0x9ba3, 0x0007, 0x6a0c, 0x6a0c, 0x6207, 0x6a07, 0x6a2b,
- 0x6a28, 0x0007, 0x680c, 0x0454, 0x9b81, 0x05a0, 0x1e08, 0x6ec3,
- 0x0388, 0x3b03, 0x0015, 0x0015, 0x7802, 0x62c8, 0x6a0b, 0x7ee5,
- 0x6a28, 0x7fe8, 0x0000, 0x6ec1, 0x008b, 0x7802, 0x62c8, 0x6a09,
- 0x7edc, 0x6a28, 0x7fdf, 0x2608, 0x0006, 0x55f0, 0x6207, 0x02a5,
- 0x0dff, 0x0511, 0x1dff, 0x04b5, 0x049a, 0x0006, 0x0870, 0x0011,
- 0x5010, 0xc0ec, 0x7d78, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8,
- 0x7d02, 0x0200, 0x9bcc, 0x6d03, 0x6ed3, 0x0dff, 0x0511, 0x1dff,
- 0x05bc, 0x5df8, 0x4d00, 0x7d5e, 0x0b70, 0x0311, 0x522b, 0x5313,
- 0x02b9, 0x4a00, 0x7c04, 0x62ff, 0x7e3f, 0x0400, 0x9bdc, 0x008f,
- 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x5ddb, 0x0d03, 0x0512, 0x05bc,
- 0x0510, 0x5dd3, 0x4d00, 0x7d27, 0x4d02, 0x7d20, 0x4d01, 0x7d1a,
- 0x0b70, 0x0311, 0x53eb, 0x0360, 0x7d05, 0x6509, 0x7e25, 0x620a,
- 0x7e23, 0x9c06, 0x620a, 0x7e20, 0x6509, 0x7e1e, 0x0512, 0x0512,
- 0x02ad, 0x6ac8, 0x7f19, 0x2003, 0x4800, 0x7ced, 0x0b70, 0x0311,
- 0x5313, 0x9c21, 0x7802, 0x6209, 0x6ac8, 0x9c20, 0x0015, 0x7802,
- 0x620a, 0x6ac8, 0x9c20, 0x0015, 0x0015, 0x7802, 0x620b, 0x6ac8,
- 0x7c03, 0x0000, 0x55db, 0x9bda, 0x0007, 0x68cc, 0x680c, 0x55d3,
- 0x4d00, 0x7d03, 0x4d02, 0x7d02, 0x9c2f, 0x0017, 0x0017, 0x55db,
- 0x009d, 0x55fb, 0x05a0, 0x08ff, 0x0011, 0x18ff, 0x0010, 0x04b8,
- 0x04ad, 0x0454, 0x62ff, 0x7ee8, 0x008b, 0x52c0, 0x53c8, 0xc10d,
- 0x7d8b, 0x0200, 0x9bcc, 0x0200, 0x9bc9, 0xc19d, 0xc0ec, 0x7d52,
- 0x0c70, 0x0411, 0x5414, 0x5ac4, 0x028c, 0x58da, 0x5efa, 0xc0fe,
- 0x56fa, 0x7d02, 0x0200, 0x9c4e, 0x6d03, 0x5bca, 0x5cd2, 0x0bff,
- 0x0311, 0x1bff, 0x04bb, 0x0415, 0x53da, 0x0a70, 0x0211, 0x4c00,
- 0x7d28, 0x552a, 0x05bb, 0x4d00, 0x7c02, 0x0400, 0x9c61, 0x4c01,
- 0x7d0f, 0x008f, 0x0015, 0x04d8, 0x7d01, 0x008c, 0x0020, 0x04a0,
- 0x0015, 0x7802, 0x650b, 0x5d06, 0x0000, 0x7e0c, 0x7f0d, 0x9c5f,
- 0x650a, 0x7e08, 0x008d, 0x0011, 0x0010, 0x05a8, 0x065f, 0x5d06,
- 0x063f, 0x7f02, 0x0007, 0x680c, 0x0007, 0x5012, 0x54d0, 0x0454,
- 0x9c8b, 0x5012, 0x54d0, 0x0473, 0x7c06, 0x552a, 0x05b9, 0x4d00,
- 0x7c02, 0x0400, 0x9c8d, 0x52c0, 0x53c8, 0xc10d, 0x0288, 0x7db6,
- 0x0200, 0x9c4e, 0x0200, 0x9c46, 0x0870, 0x0011, 0x5010, 0xc0ec,
- 0x7d46, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200,
- 0x9ca2, 0x0b70, 0x0311, 0x6ed3, 0x6d03, 0x0dff, 0x0511, 0x1dff,
- 0x05bc, 0x4d00, 0x7d2b, 0x522b, 0x02b9, 0x4a00, 0x7c04, 0x62c8,
- 0x7e1f, 0x0400, 0x9cb3, 0x008f, 0x00d5, 0x7d01, 0x008d, 0x05a0,
- 0x0060, 0x7c05, 0x6edd, 0x6209, 0x7e16, 0x6ac8, 0x7f11, 0x0015,
- 0x0060, 0x7c05, 0x6ede, 0x620a, 0x7e0e, 0x6ac8, 0x7f09, 0x6edf,
- 0x0015, 0x7802, 0x620b, 0x6ac8, 0x0000, 0x7e05, 0x7f01, 0x9cb1,
- 0x0007, 0x68cc, 0x9cdd, 0x0007, 0x6a0c, 0x0454, 0x62c8, 0x7ef8,
- 0x5013, 0x52c0, 0x53c8, 0xc10d, 0x7dbd, 0x0200, 0x9ca2, 0x0200,
- 0x9c9f, 0xc19d, 0x0870, 0x0011, 0xc0ec, 0x7d29, 0x5010, 0x5ac0,
- 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 0x9cf0, 0x0870, 0x0011,
- 0x6d03, 0x0dff, 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d12, 0x5228,
- 0x02b9, 0x4a00, 0x7c02, 0x0400, 0x9cff, 0x620b, 0x7e06, 0x5a06,
- 0x7f06, 0x0000, 0x2504, 0x7d05, 0x9cff, 0x0007, 0x680c, 0x0007,
- 0x0454, 0x5010, 0x52c0, 0xc10d, 0x7ddb, 0x0200, 0x9cf0, 0x0200,
- 0x9cec, 0xc19d, 0x0870, 0x0011, 0xc0ec, 0x7d74, 0x5010, 0x5ac0,
- 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 0x9d20, 0x6d03,
- 0x0d03, 0x0512, 0x05bc, 0x0510, 0x5dd0, 0x0dff, 0x0511, 0x1dff,
- 0x05bc, 0x5df8, 0x4d00, 0x7d57, 0x0a70, 0x0211, 0x532a, 0x5212,
- 0x03b9, 0x4b00, 0x7c02, 0x0400, 0x9d34, 0x008f, 0x05d8, 0x7d01,
- 0x008d, 0x05a0, 0x5dda, 0x55d2, 0x4d00, 0x7d27, 0x4d02, 0x7d20,
- 0x4d01, 0x7d1a, 0x0a70, 0x0211, 0x52ea, 0x0260, 0x7d05, 0x6509,
- 0x7e25, 0x630a, 0x7e23, 0x9d58, 0x630a, 0x7e20, 0x6509, 0x7e1e,
- 0x0512, 0x0512, 0x03ad, 0x5b06, 0x7f19, 0x2003, 0x4800, 0x7ced,
- 0x0a70, 0x0211, 0x5212, 0x9d73, 0x7802, 0x6309, 0x5b06, 0x9d72,
- 0x0015, 0x7802, 0x630a, 0x5b06, 0x9d72, 0x0015, 0x0015, 0x7802,
- 0x630b, 0x5b06, 0x7c03, 0x55da, 0x0000, 0x9d32, 0x0007, 0x680c,
- 0x55d2, 0x4d00, 0x7d03, 0x4d02, 0x7d02, 0x9d80, 0x0017, 0x0017,
- 0x55da, 0x009d, 0x55fa, 0x05a0, 0x08ff, 0x0011, 0x18ff, 0x0010,
- 0x04b8, 0x04ad, 0x0454, 0x008a, 0x52c0, 0x53c8, 0xc10d, 0x7d90,
- 0x0200, 0x9d20, 0x0200, 0x9d1c, 0xc19d, 0x0870, 0x0011, 0xc0ec,
- 0x7d35, 0x5010, 0x5ac0, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200,
- 0x9d9b, 0x0870, 0x0011, 0x6d07, 0x0dff, 0x0511, 0x1dff, 0x05bc,
- 0x4d00, 0x7d1c, 0x5228, 0x02b9, 0x4a00, 0x7c04, 0x6928, 0x7f0b,
- 0x0400, 0x9daa, 0x5206, 0x7e10, 0x6a0b, 0x6928, 0x7f04, 0x0000,
- 0x2504, 0x7d0c, 0x9daa, 0x0007, 0x680c, 0x680c, 0x6207, 0x6a07,
- 0x6a2b, 0x6a28, 0x0007, 0x680c, 0x0007, 0x0454, 0x6928, 0x7ff3,
- 0x5010, 0x52c0, 0xc10d, 0x7dcf, 0x0200, 0x9d9b, 0x0200, 0x9d97,
- 0xc19d, 0x0870, 0x0011, 0xc0ec, 0x7d5e, 0x5010, 0x5ac0, 0x5bc8,
- 0x5ef8, 0xc0fe, 0x56f8, 0x7d02, 0x0200, 0x9dd7, 0x6d07, 0x5df0,
- 0x0dff, 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d44, 0x0a70, 0x0211,
- 0x532a, 0x5212, 0x03b9, 0x4b00, 0x7c04, 0x6a28, 0x7f3a, 0x0400,
- 0x9de6, 0x008f, 0x05d8, 0x7d01, 0x008d, 0x05a0, 0x0b03, 0x0312,
- 0x03bc, 0x0310, 0x4b00, 0x7d1c, 0x4b02, 0x7d20, 0x4b01, 0x7d23,
- 0x0a70, 0x0211, 0x52ea, 0x5306, 0x7e24, 0x0260, 0x7d02, 0x0310,
- 0x0312, 0x6b09, 0x7f1e, 0x0312, 0x6b09, 0x7f1b, 0x0312, 0x6b09,
- 0x7f18, 0x2003, 0x4800, 0x7cef, 0x0a70, 0x0211, 0x5212, 0x9e27,
- 0x0015, 0x0015, 0x7802, 0x5306, 0x6b0b, 0x9e26, 0x0015, 0x7802,
- 0x5306, 0x6b0a, 0x9e26, 0x7802, 0x5306, 0x6b09, 0x7c02, 0x0000,
- 0x9de4, 0xdb13, 0x6928, 0x7ffd, 0x008a, 0x52c0, 0x53c8, 0xc10d,
- 0x7da6, 0x0200, 0x9dd7, 0x0200, 0x9dd3, 0x0870, 0x0011, 0x5010,
- 0xc0ec, 0x7d5b, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe, 0x56f8, 0x7d02,
- 0x0200, 0x9e3b, 0x0b70, 0x0311, 0x6ec3, 0x6d07, 0x5df0, 0x0dff,
- 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d3d, 0x522b, 0x02b9, 0x4a00,
- 0x7c04, 0x6a28, 0x7f33, 0x0400, 0x9e4d, 0x028e, 0x1a94, 0x6ac3,
- 0x62c8, 0x0269, 0x7d1b, 0x1e94, 0x6ec3, 0x6ed3, 0x62c8, 0x0248,
- 0x6ac8, 0x2694, 0x6ec3, 0x62c8, 0x026e, 0x7d31, 0x6a09, 0x7f1e,
- 0x2501, 0x4d00, 0x7d1f, 0x028e, 0x1a98, 0x6ac3, 0x62c8, 0x6ec3,
- 0x0260, 0x7df1, 0x6a28, 0x7f12, 0xdb47, 0x9e8c, 0x6ee3, 0x008f,
- 0x2001, 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x62c8, 0x026e, 0x7d17,
- 0x6a09, 0x7f04, 0x2001, 0x7cf9, 0x0000, 0x9e4b, 0x0289, 0xdb13,
- 0x018a, 0x9e9b, 0x6a28, 0x7ffa, 0x0b70, 0x0311, 0x5013, 0x52c0,
- 0x53c8, 0xc10d, 0x7da8, 0x0200, 0x9e3b, 0x0200, 0x9e38, 0x6a28,
- 0x7fed, 0xdb47, 0x9e9b, 0x0458, 0x0454, 0x9e8c, 0xc19d, 0x0870,
- 0x0011, 0xc0ec, 0x7d54, 0x5010, 0x5ac0, 0x5bc8, 0x5ef8, 0xc0fe,
- 0x56f8, 0x7d02, 0x0200, 0x9ea5, 0x0b70, 0x0311, 0x6d07, 0x5df0,
- 0x0dff, 0x0511, 0x1dff, 0x05bc, 0x4d00, 0x7d36, 0x522b, 0x02b9,
- 0x4a00, 0x7c04, 0x6928, 0x7f2c, 0x0400, 0x9eb6, 0x028e, 0x1a94,
- 0x5202, 0x0269, 0x7d16, 0x1e94, 0x5206, 0x0248, 0x5a06, 0x2694,
- 0x5206, 0x026e, 0x7d2e, 0x6a09, 0x7f1b, 0x2501, 0x4d00, 0x7d1c,
- 0x028e, 0x1a98, 0x5202, 0x0260, 0x7df3, 0x6a28, 0x7f11, 0xdb47,
- 0x9eee, 0x008f, 0x2001, 0x00d5, 0x7d01, 0x008d, 0x05a0, 0x5206,
- 0x026e, 0x7d17, 0x6a09, 0x7f04, 0x2001, 0x7cf9, 0x0000, 0x9eb4,
- 0x0289, 0xdb13, 0x018a, 0x9efd, 0x6928, 0x7ffa, 0x0b70, 0x0311,
- 0x5013, 0x52c0, 0x53c8, 0xc10d, 0x7db0, 0x0200, 0x9ea5, 0x0200,
- 0x9ea1, 0x6a28, 0x7fed, 0xdb47, 0x9efd, 0x0458, 0x0454, 0x9eee
-};
-
-/* REV 2 */
+/* REV 2 (for i.MX system revision > 1.0) */
/*!
* Following define start address of signature script
*/
@@ -850,7 +292,7 @@ static __attribute__((aligned(4), section(".sdmacode")))
#define RAM_CODE_SIZE_2 1292
/*!
- * Code download for i.MX system revision > 1.0
+ * Code download
*/
static __attribute__((aligned(4), section(".sdmacode")))
const short sdma_code_2[RAM_CODE_SIZE_2] =
@@ -1019,44 +461,44 @@ static __attribute__((aligned(4), section(".sdmacode")))
0x9d09, 0x0458, 0x0454, 0x9cfa
};
+
/*!
- * Structure containing script addresses.
+ * SDMA script code info
*/
-struct sdma_script_start_addrs
-{
- /* SDMA code script info - in halfword SDMA memory space */
- unsigned short ap_2_ap_addr;
- unsigned short ap_2_bp_addr;
- unsigned short bp_2_ap_addr;
- unsigned short loopback_on_dsp_side_addr;
- unsigned short mcu_interrupt_only_addr;
- unsigned short firi_2_per_addr;
- unsigned short firi_2_mcu_addr;
- unsigned short per_2_firi_addr;
- unsigned short mcu_2_firi_addr;
- unsigned short uart_2_per_addr;
- unsigned short uart_2_mcu_addr;
- unsigned short per_2_app_addr;
- unsigned short mcu_2_app_addr;
- unsigned short uartsh_2_per_addr;
- unsigned short uartsh_2_mcu_addr;
- unsigned short per_2_shp_addr;
- unsigned short mcu_2_shp_addr;
- unsigned short ata_2_mcu_addr;
- unsigned short mcu_2_ata_addr;
- unsigned short app_2_per_addr;
- unsigned short app_2_mcu_addr;
- unsigned short shp_2_per_addr;
- unsigned short shp_2_mcu_addr;
- unsigned short mshc_2_mcu_addr;
- unsigned short mcu_2_mshc_addr;
- unsigned short dptc_dvfs_addr;
- /* SDMA script code info */
- /* address where ram code starts (in SDMA halfword space) */
- unsigned short ram_code_start_addr;
- /* size of the ram code (in halfwords) */
- unsigned short ram_code_size;
- /* RAM image address on AP */
- unsigned long mcu_start_addr;
-};
+
+/* script addresses in SDMA halfword space */
+#define AP_2_AP_ADDR ap_2_ap_ADDR_2
+#define AP_2_BP_ADDR ap_2_bp_ADDR_2
+#define APP_2_MCU_ADDR app_2_mcu_patched_ADDR_2
+#define APP_2_PER_ADDR (-1)
+#define ATA_2_MCU_ADDR ata_2_mcu_ADDR_2
+#define BP_2_AP_ADDR bp_2_ap_ADDR_2
+#define DPTC_DVFS_ADDR (-1)
+#define FIRI_2_MCU_ADDR firi_2_mcu_ADDR_2
+#define FIRI_2_PER_ADDR (-1)
+#define LOOPBACK_ON_DSP_SIDE_ADDR (-1)
+#define MCU_2_APP_ADDR mcu_2_app_patched_ADDR_2
+#define MCU_2_ATA_ADDR mcu_2_ata_ADDR_2
+#define MCU_2_FIRI_ADDR mcu_2_firi_ADDR_2
+#define MCU_2_MSHC_ADDR (-1)
+#define MCU_2_SHP_ADDR mcu_2_shp_patched_ADDR_2
+#define MCU_INTERRUPT_ONLY_ADDR (-1)
+#define MSHC_2_MCU_ADDR (-1)
+#define PER_2_APP_ADDR (-1)
+#define PER_2_FIRI_ADDR (-1)
+#define PER_2_SHP_ADDR per_2_shp_ADDR_2
+#define SHP_2_MCU_ADDR shp_2_mcu_patched_ADDR_2
+#define SHP_2_PER_ADDR shp_2_per_ADDR_2
+#define UART_2_MCU_ADDR uart_2_mcu_patched_ADDR_2
+#define UART_2_PER_ADDR (-1)
+#define UARTSH_2_MCU_ADDR uartsh_2_mcu_patched_ADDR_2
+#define UARTSH_2_PER_ADDR (-1)
+
+/* address where ram code starts (in SDMA halfword space) */
+#define RAM_CODE_START_ADDR RAM_CODE_START_ADDR_2
+/* size of the ram code (in halfwords) */
+#define RAM_CODE_SIZE RAM_CODE_SIZE_2
+/* RAM image address on AP */
+#define MCU_START_ADDR ((unsigned long)sdma_code_2)
+
#endif /*__SDMA_SCRIPT_CODE_H__ */