summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAravind Batni2016-07-19 12:56:44 -0500
committerAravind Batni2016-07-19 12:56:44 -0500
commit94a9bcf188cf4b7072c11ca1d4f814cb4a0b927a (patch)
tree653e28ea3327b595b02903474b2a44a04638fa3d
parent31ca5292aaf8c56053ac80d24b366aef33134459 (diff)
downloadpa-lld-94a9bcf188cf4b7072c11ca1d4f814cb4a0b927a.tar.gz
pa-lld-94a9bcf188cf4b7072c11ca1d4f814cb4a0b927a.tar.xz
pa-lld-94a9bcf188cf4b7072c11ca1d4f814cb4a0b927a.zip
added firmware build check for linux bin file, eliminated redundant includes for pdsp_ver.h
Signed-off-by: Aravind Batni <aravindbr@ti.com>
-rw-r--r--fw/classify1_0_bin.c6
-rw-r--r--fw/classify1_1_bin.c6
-rw-r--r--fw/classify1_2_bin.c6
-rw-r--r--fw/classify2_bin.c6
-rw-r--r--fw/pam_bin.c6
-rw-r--r--fw/pdsp_blob_hdr.h74
-rwxr-xr-xfw/v0/build.sh6
-rw-r--r--fw/v0/classify1_0.bibbin6764 -> 6764 bytes
-rw-r--r--fw/v0/classify1_0_bin.c6
-rw-r--r--fw/v0/classify1_1.bibbin6728 -> 6728 bytes
-rw-r--r--fw/v0/classify1_1_bin.c6
-rw-r--r--fw/v0/classify1_2.bibbin6728 -> 6728 bytes
-rw-r--r--fw/v0/classify1_2_bin.c6
-rw-r--r--fw/v0/classify2.bibbin4100 -> 4100 bytes
-rw-r--r--fw/v0/classify2_bin.c6
-rw-r--r--fw/v0/ks2_pa_pdsp0_classify1.binbin6796 -> 6796 bytes
-rw-r--r--fw/v0/ks2_pa_pdsp1_classify1.binbin6760 -> 6760 bytes
-rw-r--r--fw/v0/ks2_pa_pdsp2_classify1.binbin6760 -> 6760 bytes
-rw-r--r--fw/v0/ks2_pa_pdsp3_classify2.binbin4132 -> 4132 bytes
-rw-r--r--fw/v0/ks2_pa_pdsp4_pam.binbin7412 -> 7412 bytes
-rw-r--r--fw/v0/ks2_pa_pdsp5_pam.binbin7412 -> 7412 bytes
-rw-r--r--fw/v0/pa2bin.c135
-rw-r--r--fw/v0/pabinchk.c135
-rw-r--r--fw/v0/pam.bibbin7380 -> 7380 bytes
-rw-r--r--fw/v0/pam_bin.c6
-rw-r--r--fw/v0/pdsp_ver.h4
-rwxr-xr-xfw/v1/build.sh6
-rw-r--r--fw/v1/eg0_pdsp0.bibbin4116 -> 4116 bytes
-rw-r--r--fw/v1/eg0_pdsp0.p1
-rw-r--r--fw/v1/eg0_pdsp1.bibbin8240 -> 8240 bytes
-rw-r--r--fw/v1/eg0_pdsp2.bibbin7608 -> 7608 bytes
-rw-r--r--fw/v1/eg1_pdsp0.bibbin5728 -> 5728 bytes
-rw-r--r--fw/v1/eg1_pdsp0.p1
-rw-r--r--fw/v1/eg2_pdsp0.bibbin6716 -> 6716 bytes
-rw-r--r--fw/v1/eg2_pdsp0.p1
-rw-r--r--fw/v1/in0_pdsp0.bibbin7164 -> 7164 bytes
-rw-r--r--fw/v1/in0_pdsp0.p1
-rw-r--r--fw/v1/in0_pdsp1.bibbin8332 -> 8332 bytes
-rw-r--r--fw/v1/in0_pdsp1.p1
-rw-r--r--fw/v1/in1_pdsp0.bibbin7308 -> 7308 bytes
-rw-r--r--fw/v1/in1_pdsp0.p1
-rw-r--r--fw/v1/in1_pdsp1.bibbin5584 -> 5584 bytes
-rw-r--r--fw/v1/in1_pdsp1.p1
-rw-r--r--fw/v1/in2_pdsp0.bibbin5424 -> 5424 bytes
-rw-r--r--fw/v1/in2_pdsp0.p1
-rw-r--r--fw/v1/in3_pdsp0.bibbin6780 -> 6780 bytes
-rw-r--r--fw/v1/in3_pdsp0.p1
-rw-r--r--fw/v1/in4_pdsp0.bibbin7268 -> 7268 bytes
-rw-r--r--fw/v1/in4_pdsp0.p1
-rw-r--r--fw/v1/in4_pdsp1.bibbin4932 -> 4932 bytes
-rw-r--r--fw/v1/in4_pdsp1.p1
-rw-r--r--fw/v1/ks2_pa_eg0_pdsp0.binbin4260 -> 4260 bytes
-rw-r--r--fw/v1/ks2_pa_eg0_pdsp1.binbin8384 -> 8384 bytes
-rw-r--r--fw/v1/ks2_pa_eg0_pdsp2.binbin7752 -> 7752 bytes
-rw-r--r--fw/v1/ks2_pa_eg1_pdsp0.binbin5872 -> 5872 bytes
-rw-r--r--fw/v1/ks2_pa_eg2_pdsp0.binbin6860 -> 6860 bytes
-rw-r--r--fw/v1/ks2_pa_in0_pdsp0.binbin7308 -> 7308 bytes
-rw-r--r--fw/v1/ks2_pa_in0_pdsp1.binbin8476 -> 8476 bytes
-rw-r--r--fw/v1/ks2_pa_in1_pdsp0.binbin7452 -> 7452 bytes
-rw-r--r--fw/v1/ks2_pa_in1_pdsp1.binbin5728 -> 5728 bytes
-rw-r--r--fw/v1/ks2_pa_in2_pdsp0.binbin5568 -> 5568 bytes
-rw-r--r--fw/v1/ks2_pa_in3_pdsp0.binbin6924 -> 6924 bytes
-rw-r--r--fw/v1/ks2_pa_in4_pdsp0.binbin7412 -> 7412 bytes
-rw-r--r--fw/v1/ks2_pa_in4_pdsp1.binbin5076 -> 5076 bytes
-rw-r--r--fw/v1/ks2_pa_post_pdsp0.binbin5556 -> 5556 bytes
-rw-r--r--fw/v1/ks2_pa_post_pdsp1.binbin3872 -> 3872 bytes
-rw-r--r--fw/v1/pa2_eg0_pdsp0_bin.c6
-rw-r--r--fw/v1/pa2_eg0_pdsp1_bin.c6
-rw-r--r--fw/v1/pa2_eg0_pdsp2_bin.c6
-rw-r--r--fw/v1/pa2_eg1_pdsp0_bin.c6
-rw-r--r--fw/v1/pa2_eg2_pdsp0_bin.c6
-rw-r--r--fw/v1/pa2_in0_pdsp0_bin.c6
-rw-r--r--fw/v1/pa2_in0_pdsp1_bin.c6
-rw-r--r--fw/v1/pa2_in1_pdsp0_bin.c6
-rw-r--r--fw/v1/pa2_in1_pdsp1_bin.c6
-rw-r--r--fw/v1/pa2_in2_pdsp0_bin.c6
-rw-r--r--fw/v1/pa2_in3_pdsp0_bin.c6
-rw-r--r--fw/v1/pa2_in4_pdsp0_bin.c6
-rw-r--r--fw/v1/pa2_in4_pdsp1_bin.c6
-rw-r--r--fw/v1/pa2_post_pdsp0_bin.c6
-rw-r--r--fw/v1/pa2_post_pdsp1_bin.c6
-rw-r--r--fw/v1/pa2bin.c175
-rw-r--r--fw/v1/pabinchk.c162
-rw-r--r--fw/v1/pam.p1
-rw-r--r--fw/v1/pdsp_ver.h4
-rw-r--r--fw/v1/post_pdsp0.bibbin5412 -> 5412 bytes
-rw-r--r--fw/v1/post_pdsp0.p1
-rw-r--r--fw/v1/post_pdsp1.bibbin3728 -> 3728 bytes
-rw-r--r--fw/v1/post_pdsp1.p1
89 files changed, 608 insertions, 257 deletions
diff --git a/fw/classify1_0_bin.c b/fw/classify1_0_bin.c
index b13a419..f5c214a 100644
--- a/fw/classify1_0_bin.c
+++ b/fw/classify1_0_bin.c
@@ -72,7 +72,7 @@
72const uint32_t c1_0[] = { 72const uint32_t c1_0[] = {
73 0x21008a00, 73 0x21008a00,
74 0xbabe0001, 74 0xbabe0001,
75 0xffffffff, 75 0x03000200,
76 0x24505084, 76 0x24505084,
77 0x108484c4, 77 0x108484c4,
78 0x10e4e4e5, 78 0x10e4e4e5,
@@ -222,8 +222,8 @@ const uint32_t c1_0[] = {
222 0x2eff819d, 222 0x2eff819d,
223 0x2eff819c, 223 0x2eff819c,
224 0x9100171d, 224 0x9100171d,
225 0x24ffff82, 225 0x24020082,
226 0x24ffffc2, 226 0x240300c2,
227 0x81043782, 227 0x81043782,
228 0xc909ff06, 228 0xc909ff06,
229 0x1f09ffff, 229 0x1f09ffff,
diff --git a/fw/classify1_1_bin.c b/fw/classify1_1_bin.c
index dfd8785..25ad624 100644
--- a/fw/classify1_1_bin.c
+++ b/fw/classify1_1_bin.c
@@ -73,7 +73,7 @@
73const uint32_t c1_1[] = { 73const uint32_t c1_1[] = {
74 0x21000300, 74 0x21000300,
75 0xbabe0001, 75 0xbabe0001,
76 0xffffffff, 76 0x03000200,
77 0x2301b29e, 77 0x2301b29e,
78 0x2eff8582, 78 0x2eff8582,
79 0x8104a482, 79 0x8104a482,
@@ -84,8 +84,8 @@ const uint32_t c1_1[] = {
84 0x2eff819d, 84 0x2eff819d,
85 0x2eff819c, 85 0x2eff819c,
86 0x9100171d, 86 0x9100171d,
87 0x24ffff82, 87 0x24020082,
88 0x24ffffc2, 88 0x240300c2,
89 0x81043782, 89 0x81043782,
90 0xc901ff0f, 90 0xc901ff0f,
91 0x2400a481, 91 0x2400a481,
diff --git a/fw/classify1_2_bin.c b/fw/classify1_2_bin.c
index 08555ed..ab6d7b6 100644
--- a/fw/classify1_2_bin.c
+++ b/fw/classify1_2_bin.c
@@ -74,7 +74,7 @@
74const uint32_t c1_2[] = { 74const uint32_t c1_2[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0001, 76 0xbabe0001,
77 0xffffffff, 77 0x03000200,
78 0x2301b29e, 78 0x2301b29e,
79 0x2eff8582, 79 0x2eff8582,
80 0x8104a482, 80 0x8104a482,
@@ -85,8 +85,8 @@ const uint32_t c1_2[] = {
85 0x2eff819d, 85 0x2eff819d,
86 0x2eff819c, 86 0x2eff819c,
87 0x9100171d, 87 0x9100171d,
88 0x24ffff82, 88 0x24020082,
89 0x24ffffc2, 89 0x240300c2,
90 0x81043782, 90 0x81043782,
91 0xc901ff0f, 91 0xc901ff0f,
92 0x2400a881, 92 0x2400a881,
diff --git a/fw/classify2_bin.c b/fw/classify2_bin.c
index 251606e..d71301b 100644
--- a/fw/classify2_bin.c
+++ b/fw/classify2_bin.c
@@ -74,7 +74,7 @@
74const uint32_t c2[] = { 74const uint32_t c2[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0002, 76 0xbabe0002,
77 0xffffffff, 77 0x03000200,
78 0x2300e99e, 78 0x2300e99e,
79 0x2eff8582, 79 0x2eff8582,
80 0x8104a482, 80 0x8104a482,
@@ -85,8 +85,8 @@ const uint32_t c2[] = {
85 0x2eff819d, 85 0x2eff819d,
86 0x2eff819c, 86 0x2eff819c,
87 0x9100175d, 87 0x9100175d,
88 0x24ffff82, 88 0x24020082,
89 0x24ffffc2, 89 0x240300c2,
90 0x81043782, 90 0x81043782,
91 0x5100fc03, 91 0x5100fc03,
92 0x81082c9c, 92 0x81082c9c,
diff --git a/fw/pam_bin.c b/fw/pam_bin.c
index 87ef227..ec88ddf 100644
--- a/fw/pam_bin.c
+++ b/fw/pam_bin.c
@@ -74,7 +74,7 @@
74const uint32_t m[] = { 74const uint32_t m[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0003, 76 0xbabe0003,
77 0xffffffff, 77 0x03000200,
78 0x2eff8582, 78 0x2eff8582,
79 0x8104a482, 79 0x8104a482,
80 0x240001e2, 80 0x240001e2,
@@ -84,8 +84,8 @@ const uint32_t m[] = {
84 0x9100171d, 84 0x9100171d,
85 0x11017d7d, 85 0x11017d7d,
86 0x2400005d, 86 0x2400005d,
87 0x24ffff82, 87 0x24020082,
88 0x24ffffc2, 88 0x240300c2,
89 0x81043782, 89 0x81043782,
90 0x2eff8780, 90 0x2eff8780,
91 0x8110f780, 91 0x8110f780,
diff --git a/fw/pdsp_blob_hdr.h b/fw/pdsp_blob_hdr.h
new file mode 100644
index 0000000..43a8205
--- /dev/null
+++ b/fw/pdsp_blob_hdr.h
@@ -0,0 +1,74 @@
1//============================================================================
2// pdsp_blob_hdr.h
3//
4//
5//
6// TEXAS INSTRUMENTS TEXT FILE LICENSE
7//
8// Copyright (c) 2016 Texas Instruments Incorporated
9//
10// All rights reserved not granted herein.
11//
12// Limited License.
13//
14// Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
15// license under copyrights and patents it now or hereafter owns or controls to
16// make, have made, use, import, offer to sell and sell ("Utilize") this software
17// subject to the terms herein. With respect to the foregoing patent license,
18// such license is granted solely to the extent that any such patent is necessary
19// to Utilize the software alone. The patent license shall not apply to any
20// combinations which include this software, other than combinations with devices
21// manufactured by or for TI (ďTI DevicesĒ). No hardware patent is licensed hereunder.
22//
23// Redistributions must preserve existing copyright notices and reproduce this license
24// (including the above copyright notice and the disclaimer and (if applicable) source
25// code license limitations below) in the documentation and/or other materials provided
26// with the distribution.
27//
28// Redistribution and use in binary form, without modification, are permitted provided
29// that the following conditions are met:
30// No reverse engineering, decompilation, or disassembly of this software is
31// permitted with respect to any software provided in binary form.
32// Any redistribution and use are licensed by TI for use only with TI Devices.
33// Nothing shall obligate TI to provide you with source code for the software
34// licensed and provided to you in object code.
35//
36// If software source code is provided to you, modification and redistribution of the
37// source code are permitted provided that the following conditions are met:
38// Any redistribution and use of the source code, including any resulting derivative
39// works, are licensed by TI for use only with TI Devices.
40// Any redistribution and use of any object code compiled from the source code
41// and any resulting derivative works, are licensed by TI for use only with TI Devices.
42//
43// Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44// may be used to endorse or promote products derived from this software without
45// specific prior written permission.
46//
47// DISCLAIMER.
48//
49// THIS SOFTWARE IS PROVIDED BY TI AND TIíS LICENSORS "AS IS" AND ANY EXPRESS OR IMPLIED
50// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
51// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TI AND TIíS
52// LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
53// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
54// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
55// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
56// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
57// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
58//
59//
60//
61
62#ifndef PDSP_BLOB_HDR_H
63#define PDSP_BLOB_HDR_H 1
64
65typedef uint32_t u32;
66
67/* header to the firmware blob */
68struct pa_pdsp_firmware {
69 char version[PASS_VER_STR_LEN];
70 u32 constants[PA_PDSP_CONST_NUM_REG];
71};
72
73#endif
74
diff --git a/fw/v0/build.sh b/fw/v0/build.sh
index e1d8ab7..39b347b 100755
--- a/fw/v0/build.sh
+++ b/fw/v0/build.sh
@@ -40,7 +40,11 @@ cp classify2_bin.c ..
40cp pam_bin.c .. 40cp pam_bin.c ..
41 41
42# rem create the bin files for linux 42# rem create the bin files for linux
43gcc -I../../../../.. -I../.. -I../../src/v0 pa2bin.c 43gcc -I../../../../.. -I../.. -I.. -I../../src/v0 pa2bin.c
44./a.out 44./a.out
45rm a.out 45rm a.out
46 46
47# rem check the bin files generated for linux
48gcc -I../../../../.. -I../.. -I.. -I../../src/v0 pabinchk.c
49./a.out
50rm a.out
diff --git a/fw/v0/classify1_0.bib b/fw/v0/classify1_0.bib
index cc3ace3..77ce38d 100644
--- a/fw/v0/classify1_0.bib
+++ b/fw/v0/classify1_0.bib
Binary files differ
diff --git a/fw/v0/classify1_0_bin.c b/fw/v0/classify1_0_bin.c
index b13a419..f5c214a 100644
--- a/fw/v0/classify1_0_bin.c
+++ b/fw/v0/classify1_0_bin.c
@@ -72,7 +72,7 @@
72const uint32_t c1_0[] = { 72const uint32_t c1_0[] = {
73 0x21008a00, 73 0x21008a00,
74 0xbabe0001, 74 0xbabe0001,
75 0xffffffff, 75 0x03000200,
76 0x24505084, 76 0x24505084,
77 0x108484c4, 77 0x108484c4,
78 0x10e4e4e5, 78 0x10e4e4e5,
@@ -222,8 +222,8 @@ const uint32_t c1_0[] = {
222 0x2eff819d, 222 0x2eff819d,
223 0x2eff819c, 223 0x2eff819c,
224 0x9100171d, 224 0x9100171d,
225 0x24ffff82, 225 0x24020082,
226 0x24ffffc2, 226 0x240300c2,
227 0x81043782, 227 0x81043782,
228 0xc909ff06, 228 0xc909ff06,
229 0x1f09ffff, 229 0x1f09ffff,
diff --git a/fw/v0/classify1_1.bib b/fw/v0/classify1_1.bib
index 05fa9f3..7a9264d 100644
--- a/fw/v0/classify1_1.bib
+++ b/fw/v0/classify1_1.bib
Binary files differ
diff --git a/fw/v0/classify1_1_bin.c b/fw/v0/classify1_1_bin.c
index dfd8785..25ad624 100644
--- a/fw/v0/classify1_1_bin.c
+++ b/fw/v0/classify1_1_bin.c
@@ -73,7 +73,7 @@
73const uint32_t c1_1[] = { 73const uint32_t c1_1[] = {
74 0x21000300, 74 0x21000300,
75 0xbabe0001, 75 0xbabe0001,
76 0xffffffff, 76 0x03000200,
77 0x2301b29e, 77 0x2301b29e,
78 0x2eff8582, 78 0x2eff8582,
79 0x8104a482, 79 0x8104a482,
@@ -84,8 +84,8 @@ const uint32_t c1_1[] = {
84 0x2eff819d, 84 0x2eff819d,
85 0x2eff819c, 85 0x2eff819c,
86 0x9100171d, 86 0x9100171d,
87 0x24ffff82, 87 0x24020082,
88 0x24ffffc2, 88 0x240300c2,
89 0x81043782, 89 0x81043782,
90 0xc901ff0f, 90 0xc901ff0f,
91 0x2400a481, 91 0x2400a481,
diff --git a/fw/v0/classify1_2.bib b/fw/v0/classify1_2.bib
index da3d8c8..fe543c4 100644
--- a/fw/v0/classify1_2.bib
+++ b/fw/v0/classify1_2.bib
Binary files differ
diff --git a/fw/v0/classify1_2_bin.c b/fw/v0/classify1_2_bin.c
index 08555ed..ab6d7b6 100644
--- a/fw/v0/classify1_2_bin.c
+++ b/fw/v0/classify1_2_bin.c
@@ -74,7 +74,7 @@
74const uint32_t c1_2[] = { 74const uint32_t c1_2[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0001, 76 0xbabe0001,
77 0xffffffff, 77 0x03000200,
78 0x2301b29e, 78 0x2301b29e,
79 0x2eff8582, 79 0x2eff8582,
80 0x8104a482, 80 0x8104a482,
@@ -85,8 +85,8 @@ const uint32_t c1_2[] = {
85 0x2eff819d, 85 0x2eff819d,
86 0x2eff819c, 86 0x2eff819c,
87 0x9100171d, 87 0x9100171d,
88 0x24ffff82, 88 0x24020082,
89 0x24ffffc2, 89 0x240300c2,
90 0x81043782, 90 0x81043782,
91 0xc901ff0f, 91 0xc901ff0f,
92 0x2400a881, 92 0x2400a881,
diff --git a/fw/v0/classify2.bib b/fw/v0/classify2.bib
index baf01a9..16cb2a6 100644
--- a/fw/v0/classify2.bib
+++ b/fw/v0/classify2.bib
Binary files differ
diff --git a/fw/v0/classify2_bin.c b/fw/v0/classify2_bin.c
index 251606e..d71301b 100644
--- a/fw/v0/classify2_bin.c
+++ b/fw/v0/classify2_bin.c
@@ -74,7 +74,7 @@
74const uint32_t c2[] = { 74const uint32_t c2[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0002, 76 0xbabe0002,
77 0xffffffff, 77 0x03000200,
78 0x2300e99e, 78 0x2300e99e,
79 0x2eff8582, 79 0x2eff8582,
80 0x8104a482, 80 0x8104a482,
@@ -85,8 +85,8 @@ const uint32_t c2[] = {
85 0x2eff819d, 85 0x2eff819d,
86 0x2eff819c, 86 0x2eff819c,
87 0x9100175d, 87 0x9100175d,
88 0x24ffff82, 88 0x24020082,
89 0x24ffffc2, 89 0x240300c2,
90 0x81043782, 90 0x81043782,
91 0x5100fc03, 91 0x5100fc03,
92 0x81082c9c, 92 0x81082c9c,
diff --git a/fw/v0/ks2_pa_pdsp0_classify1.bin b/fw/v0/ks2_pa_pdsp0_classify1.bin
index 65c6195..3caa355 100644
--- a/fw/v0/ks2_pa_pdsp0_classify1.bin
+++ b/fw/v0/ks2_pa_pdsp0_classify1.bin
Binary files differ
diff --git a/fw/v0/ks2_pa_pdsp1_classify1.bin b/fw/v0/ks2_pa_pdsp1_classify1.bin
index 6212738..6c3f0c6 100644
--- a/fw/v0/ks2_pa_pdsp1_classify1.bin
+++ b/fw/v0/ks2_pa_pdsp1_classify1.bin
Binary files differ
diff --git a/fw/v0/ks2_pa_pdsp2_classify1.bin b/fw/v0/ks2_pa_pdsp2_classify1.bin
index 3129151..2a66aff 100644
--- a/fw/v0/ks2_pa_pdsp2_classify1.bin
+++ b/fw/v0/ks2_pa_pdsp2_classify1.bin
Binary files differ
diff --git a/fw/v0/ks2_pa_pdsp3_classify2.bin b/fw/v0/ks2_pa_pdsp3_classify2.bin
index 441a269..f384073 100644
--- a/fw/v0/ks2_pa_pdsp3_classify2.bin
+++ b/fw/v0/ks2_pa_pdsp3_classify2.bin
Binary files differ
diff --git a/fw/v0/ks2_pa_pdsp4_pam.bin b/fw/v0/ks2_pa_pdsp4_pam.bin
index d3a017c..8d92ee4 100644
--- a/fw/v0/ks2_pa_pdsp4_pam.bin
+++ b/fw/v0/ks2_pa_pdsp4_pam.bin
Binary files differ
diff --git a/fw/v0/ks2_pa_pdsp5_pam.bin b/fw/v0/ks2_pa_pdsp5_pam.bin
index 1dd96ee..2042462 100644
--- a/fw/v0/ks2_pa_pdsp5_pam.bin
+++ b/fw/v0/ks2_pa_pdsp5_pam.bin
Binary files differ
diff --git a/fw/v0/pa2bin.c b/fw/v0/pa2bin.c
index 3cad6a6..da4667e 100644
--- a/fw/v0/pa2bin.c
+++ b/fw/v0/pa2bin.c
@@ -5,28 +5,24 @@
5#include "pdsp_ver.h" 5#include "pdsp_ver.h"
6#include "paconst.c" 6#include "paconst.c"
7 7
8#define DEVICE_PA_NUM_PDSPS (6U) 8#define DEVICE_PA_NUM_PDSPS (6U)
9#define PA_PDSP_CONST_NUM_REG (4U) 9#define PA_PDSP_CONST_NUM_REG (4U)
10#define PASS_VER_STR_LEN (16U) 10#define PASS_VER_STR_LEN (16U)
11 11
12typedef unsigned int u32; 12typedef uint32_t u32;
13 13
14/* header to the firmware blob */ 14#include "pdsp_blob_hdr.h"
15struct pa_pdsp_firmware {
16 char version[PASS_VER_STR_LEN];
17 u32 constants[PA_PDSP_CONST_NUM_REG];
18};
19 15
20static char *versions[DEVICE_PA_NUM_PDSPS] = { 16static char *versions[DEVICE_PA_NUM_PDSPS] = {
21 PASS_VERSION_STR, 17 PASS_VERSION_STR,
22 PASS_VERSION_STR, 18 PASS_VERSION_STR,
23 PASS_VERSION_STR, 19 PASS_VERSION_STR,
24 PASS_VERSION_STR, 20 PASS_VERSION_STR,
25 PASS_VERSION_STR, 21 PASS_VERSION_STR,
26 PASS_VERSION_STR 22 PASS_VERSION_STR
27}; 23};
28static char *pdsp_in_file_names[DEVICE_PA_NUM_PDSPS] = { 24static char *pdsp_in_file_names[DEVICE_PA_NUM_PDSPS] = {
29 "classify1_0.bib", 25 "classify1_0.bib",
30 "classify1_1.bib", 26 "classify1_1.bib",
31 "classify1_2.bib", 27 "classify1_2.bib",
32 "classify2.bib", 28 "classify2.bib",
@@ -34,67 +30,64 @@ static char *pdsp_in_file_names[DEVICE_PA_NUM_PDSPS] = {
34 "pam.bib", 30 "pam.bib",
35}; 31};
36 32
37static char *pdsp_out_file_names[DEVICE_PA_NUM_PDSPS] = { 33static char *pdsp_out_file_names[DEVICE_PA_NUM_PDSPS] = {
38 "ks2_pa_pdsp0_classify1", 34 "ks2_pa_pdsp0_classify1",
39 "ks2_pa_pdsp1_classify1", 35 "ks2_pa_pdsp1_classify1",
40 "ks2_pa_pdsp2_classify1", 36 "ks2_pa_pdsp2_classify1",
41 "ks2_pa_pdsp3_classify2", 37 "ks2_pa_pdsp3_classify2",
42 "ks2_pa_pdsp4_pam", 38 "ks2_pa_pdsp4_pam",
43 "ks2_pa_pdsp5_pam", 39 "ks2_pa_pdsp5_pam",
44}; 40};
45 41
46int main(int argc, char **argv) 42int main(int argc, char **argv)
47{ 43{
48 unsigned long b_sz, total = 0; 44 unsigned long b_sz, total = 0;
49 struct pa_pdsp_firmware pdsp; 45 struct pa_pdsp_firmware pdsp;
50 char in_file_name[128]; 46 char in_file_name[128];
51 char out_file_name[128]; 47 char out_file_name[128];
52 char buf[1024]; 48 char buf[1024];
53 char *pc; 49 char *pc;
54 FILE *outfp, *infp; 50 FILE *outfp, *infp;
55 int j, i; 51 int j, i;
56 int size; 52 int size;
53
54 for (i = 0; i < DEVICE_PA_NUM_PDSPS; i++) {
55 if (!pdsp_in_file_names[i])
56 continue;
57 bzero(in_file_name, sizeof(in_file_name));
58 bzero(out_file_name, sizeof(out_file_name));
59 strcpy(in_file_name, (char *)pdsp_in_file_names[i]);
60 strcpy(out_file_name, (char *)pdsp_out_file_names[i]);
61 pc = &out_file_name[strlen(out_file_name)];
57 62
58 for (i = 0; i < DEVICE_PA_NUM_PDSPS; i++) { 63 strcat(pc, ".bin");
59 if (!pdsp_in_file_names[i]) 64 outfp=fopen(out_file_name,"wb");
60 continue; 65 infp=fopen(in_file_name,"rb");
61 bzero(in_file_name, sizeof(in_file_name)); 66 printf("input file: %s\n",in_file_name);
62 bzero(out_file_name, sizeof(out_file_name)); 67 printf("output file: %s\n",out_file_name);
63 strcpy(in_file_name, (char *)pdsp_in_file_names[i]); 68 if (!outfp)
64 strcpy(out_file_name, (char *)pdsp_out_file_names[i]); 69 {
65 pc = &out_file_name[strlen(out_file_name)]; 70 printf("Unable to open output file! %s", out_file_name);
66#if 0 71 exit(1);
67 strcat(pc, "-"); 72 }
68 strcat(pc, (char *)versions[i]);
69#endif
70 strcat(pc, ".bin");
71 outfp=fopen(out_file_name,"wb");
72 infp=fopen(in_file_name,"rb");
73 printf("input file: %s\n",in_file_name);
74 printf("output file: %s\n",out_file_name);
75 if (!outfp)
76 {
77 printf("Unable to open output file! %s", out_file_name);
78 exit(1);
79 }
80 73
81 if (!infp) 74 if (!infp)
82 { 75 {
83 printf("Unable to open input file! %s", in_file_name); 76 printf("Unable to open input file! %s", in_file_name);
84 fclose(outfp); 77 fclose(outfp);
85 exit(2); 78 exit(2);
86 } 79 }
87 80
88 strncpy((char *)&pdsp.version[0], (char *)versions[i], PASS_VER_STR_LEN); 81 strncpy((char *)&pdsp.version[0], (char *)versions[i], PASS_VER_STR_LEN);
89 memcpy(&pdsp.constants[0], &pap_pdsp_const_reg_map[i][0], sizeof(u32) * PA_PDSP_CONST_NUM_REG); 82 memcpy(&pdsp.constants[0], &pap_pdsp_const_reg_map[i][0], sizeof(u32) * PA_PDSP_CONST_NUM_REG);
90 fwrite(&pdsp, sizeof(pdsp), 1, outfp); 83 fwrite(&pdsp, sizeof(pdsp), 1, outfp);
91 while(1) { 84 while(1) {
92 size = fread(buf, 1, 1024, infp); 85 size = fread(buf, 1, 1024, infp);
93 if (size <= 0) 86 if (size <= 0)
94 break; 87 break;
95 fwrite(buf, size, 1, outfp); 88 fwrite(buf, size, 1, outfp);
96 } 89 }
97 fclose(outfp); 90 fclose(outfp);
98 fclose(infp); 91 fclose(infp);
99 } 92 }
100} 93}
diff --git a/fw/v0/pabinchk.c b/fw/v0/pabinchk.c
new file mode 100644
index 0000000..13edb10
--- /dev/null
+++ b/fw/v0/pabinchk.c
@@ -0,0 +1,135 @@
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#include "pa.h"
5#include "pdsp_ver.h"
6#include "paconst.c"
7
8#define DEVICE_PA_NUM_PDSPS (6U)
9#define PA_PDSP_CONST_NUM_REG (4U)
10#define PASS_VER_STR_LEN (16U)
11
12#include "pdsp_blob_hdr.h"
13
14static char *versions[DEVICE_PA_NUM_PDSPS] = {
15 PASS_VERSION_STR,
16 PASS_VERSION_STR,
17 PASS_VERSION_STR,
18 PASS_VERSION_STR,
19 PASS_VERSION_STR,
20 PASS_VERSION_STR
21};
22static char *pdsp_in_file_names[DEVICE_PA_NUM_PDSPS] = {
23 "classify1_0.bib",
24 "classify1_1.bib",
25 "classify1_2.bib",
26 "classify2.bib",
27 "pam.bib",
28 "pam.bib",
29};
30
31static char *pdsp_out_file_names[DEVICE_PA_NUM_PDSPS] = {
32 "ks2_pa_pdsp0_classify1",
33 "ks2_pa_pdsp1_classify1",
34 "ks2_pa_pdsp2_classify1",
35 "ks2_pa_pdsp3_classify2",
36 "ks2_pa_pdsp4_pam",
37 "ks2_pa_pdsp5_pam",
38};
39
40int main(int argc, char **argv)
41{
42 unsigned long b_sz, total = 0;
43 struct pa_pdsp_firmware pdsp;
44 char in_file_name[128];
45 char out_file_name[128];
46 char buf_in[1024];
47 char buf_out[1024];
48 char *pc;
49 FILE *outfp, *infp;
50 int j, i;
51 int size, mismatch = 0;
52
53 for (i = 0; i < DEVICE_PA_NUM_PDSPS; i++) {
54 if (!pdsp_in_file_names[i])
55 continue;
56 bzero(in_file_name, sizeof(in_file_name));
57 bzero(out_file_name, sizeof(out_file_name));
58 strcpy(in_file_name, (char *)pdsp_in_file_names[i]);
59 strcpy(out_file_name, (char *)pdsp_out_file_names[i]);
60 pc = &out_file_name[strlen(out_file_name)];
61
62 strcat(pc, ".bin");
63 outfp=fopen(out_file_name,"rb");
64 infp=fopen(in_file_name,"rb");
65
66 if (!outfp)
67 {
68 printf("Unable to open output file! %s", out_file_name);
69 exit(1);
70 }
71
72 if (!infp)
73 {
74 printf("Unable to open input file! %s", in_file_name);
75 fclose(outfp);
76 exit(2);
77 }
78
79 /* Check the version */
80 fread(&pdsp, sizeof(pdsp), 1, outfp);
81 if ( 0 != strncmp((char *)&pdsp.version[0], (char *)versions[i], PASS_VER_STR_LEN))
82 {
83 mismatch = 1;
84 }
85
86 /* Check the constant */
87 if ( 0 != memcmp(&pdsp.constants[0], &pap_pdsp_const_reg_map[i][0], sizeof(u32) * PA_PDSP_CONST_NUM_REG))
88 {
89 mismatch = 2;
90 }
91
92 while(mismatch == 0) {
93 size = fread(buf_out, 1, 1024, outfp);
94 if (size <= 0)
95 break;
96
97 size = fread(buf_in, 1, 1024, infp);
98 if (size <= 0)
99 break;
100
101 if ( 0 != memcmp(buf_in, buf_out, size))
102 {
103 mismatch = 3;
104 }
105 }
106 fclose(outfp);
107 fclose(infp);
108
109 if (mismatch != 0)
110 break;
111 }
112
113 switch (mismatch)
114 {
115
116 case 3:
117 printf ("blob mismatch noticed on writing %s.bin file \n", pdsp_out_file_names[i]);
118 printf ("firmware write failed ....recheck \n");
119 break;
120
121 case 2:
122 printf ("constants mismatch noticed on writing %s.bin file \n", pdsp_out_file_names[i]);
123 printf ("firmware write failed ....recheck \n");
124 break;
125
126 case 1:
127 printf ("version mismatch noticed on writing %s.bin file \n", pdsp_out_file_names[i]);
128 printf ("firmware write failed ....recheck \n");
129 break;
130
131 default:
132 printf ("all firmware written successfully...all matched \n");
133 break;
134 }
135}
diff --git a/fw/v0/pam.bib b/fw/v0/pam.bib
index 4395dd8..994a93f 100644
--- a/fw/v0/pam.bib
+++ b/fw/v0/pam.bib
Binary files differ
diff --git a/fw/v0/pam_bin.c b/fw/v0/pam_bin.c
index 87ef227..ec88ddf 100644
--- a/fw/v0/pam_bin.c
+++ b/fw/v0/pam_bin.c
@@ -74,7 +74,7 @@
74const uint32_t m[] = { 74const uint32_t m[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0003, 76 0xbabe0003,
77 0xffffffff, 77 0x03000200,
78 0x2eff8582, 78 0x2eff8582,
79 0x8104a482, 79 0x8104a482,
80 0x240001e2, 80 0x240001e2,
@@ -84,8 +84,8 @@ const uint32_t m[] = {
84 0x9100171d, 84 0x9100171d,
85 0x11017d7d, 85 0x11017d7d,
86 0x2400005d, 86 0x2400005d,
87 0x24ffff82, 87 0x24020082,
88 0x24ffffc2, 88 0x240300c2,
89 0x81043782, 89 0x81043782,
90 0x2eff8780, 90 0x2eff8780,
91 0x8110f780, 91 0x8110f780,
diff --git a/fw/v0/pdsp_ver.h b/fw/v0/pdsp_ver.h
index 0c02ef0..ad7c056 100644
--- a/fw/v0/pdsp_ver.h
+++ b/fw/v0/pdsp_ver.h
@@ -62,9 +62,9 @@
62#ifndef _PDSP_VER_GEN1_H 62#ifndef _PDSP_VER_GEN1_H
63#define _PDSP_VER_GEN1_H 1 63#define _PDSP_VER_GEN1_H 1
64 64
65#define PASS_VERSION_STR "FF.FF.FF.FF" 65#define PASS_VERSION_STR "03.00.02.00"
66 66
67// Common PDSP version number 67// Common PDSP version number
68#define PASS_VERSION 0xFFFFFFFF 68#define PASS_VERSION 0x03000200
69 69
70#endif 70#endif
diff --git a/fw/v1/build.sh b/fw/v1/build.sh
index 95d3471..a1da7f2 100755
--- a/fw/v1/build.sh
+++ b/fw/v1/build.sh
@@ -94,7 +94,11 @@ rm eg2_pdsp0_bin.h
94 94
95 95
96# rem create the bin files for linux 96# rem create the bin files for linux
97gcc -I../../../../.. -I../.. -I../../src/v1 pa2bin.c 97gcc -I../../../../.. -I../.. -I.. -I../../src/v1 pa2bin.c
98./a.out 98./a.out
99rm a.out 99rm a.out
100 100
101# rem check the bin files generated for linux
102gcc -I../../../../.. -I../.. -I.. -I../../src/v1 pabinchk.c
103./a.out
104rm a.out
diff --git a/fw/v1/eg0_pdsp0.bib b/fw/v1/eg0_pdsp0.bib
index 61bd23f..35edb95 100644
--- a/fw/v1/eg0_pdsp0.bib
+++ b/fw/v1/eg0_pdsp0.bib
Binary files differ
diff --git a/fw/v1/eg0_pdsp0.p b/fw/v1/eg0_pdsp0.p
index 9489b61..34a08f9 100644
--- a/fw/v1/eg0_pdsp0.p
+++ b/fw/v1/eg0_pdsp0.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#define PASS_FIRST_PDSP 58#define PASS_FIRST_PDSP
60#define HEADER_MAGIC 0xBABE0600 59#define HEADER_MAGIC 0xBABE0600
61#define PASS_PDSP_ID 10 60#define PASS_PDSP_ID 10
diff --git a/fw/v1/eg0_pdsp1.bib b/fw/v1/eg0_pdsp1.bib
index 814d552..54b494d 100644
--- a/fw/v1/eg0_pdsp1.bib
+++ b/fw/v1/eg0_pdsp1.bib
Binary files differ
diff --git a/fw/v1/eg0_pdsp2.bib b/fw/v1/eg0_pdsp2.bib
index 07b07ad..892325a 100644
--- a/fw/v1/eg0_pdsp2.bib
+++ b/fw/v1/eg0_pdsp2.bib
Binary files differ
diff --git a/fw/v1/eg1_pdsp0.bib b/fw/v1/eg1_pdsp0.bib
index a84e996..9e06382 100644
--- a/fw/v1/eg1_pdsp0.bib
+++ b/fw/v1/eg1_pdsp0.bib
Binary files differ
diff --git a/fw/v1/eg1_pdsp0.p b/fw/v1/eg1_pdsp0.p
index 11bc324..d9506be 100644
--- a/fw/v1/eg1_pdsp0.p
+++ b/fw/v1/eg1_pdsp0.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#define PASS_FIRST_PDSP 58#define PASS_FIRST_PDSP
60#define PASS_LAST_PDSP 59#define PASS_LAST_PDSP
61#define PASS_PROC_PKT_FORWARD 60#define PASS_PROC_PKT_FORWARD
diff --git a/fw/v1/eg2_pdsp0.bib b/fw/v1/eg2_pdsp0.bib
index 16dc7a5..d76a7ac 100644
--- a/fw/v1/eg2_pdsp0.bib
+++ b/fw/v1/eg2_pdsp0.bib
Binary files differ
diff --git a/fw/v1/eg2_pdsp0.p b/fw/v1/eg2_pdsp0.p
index 7b961fc..069706e 100644
--- a/fw/v1/eg2_pdsp0.p
+++ b/fw/v1/eg2_pdsp0.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#define PASS_FIRST_PDSP 58#define PASS_FIRST_PDSP
60#define PASS_LAST_PDSP 59#define PASS_LAST_PDSP
61#define PASS_PROC_PKT_FORWARD 60#define PASS_PROC_PKT_FORWARD
diff --git a/fw/v1/in0_pdsp0.bib b/fw/v1/in0_pdsp0.bib
index ac6e112..c1a4721 100644
--- a/fw/v1/in0_pdsp0.bib
+++ b/fw/v1/in0_pdsp0.bib
Binary files differ
diff --git a/fw/v1/in0_pdsp0.p b/fw/v1/in0_pdsp0.p
index c769a7f..1cd1020 100644
--- a/fw/v1/in0_pdsp0.p
+++ b/fw/v1/in0_pdsp0.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#include "pdsp_mem.h" 58#include "pdsp_mem.h"
60#define PASS_FIRST_PDSP 59#define PASS_FIRST_PDSP
61#define PASS_PROC_L2 60#define PASS_PROC_L2
diff --git a/fw/v1/in0_pdsp1.bib b/fw/v1/in0_pdsp1.bib
index 82adc91..a396a90 100644
--- a/fw/v1/in0_pdsp1.bib
+++ b/fw/v1/in0_pdsp1.bib
Binary files differ
diff --git a/fw/v1/in0_pdsp1.p b/fw/v1/in0_pdsp1.p
index 3079e16..b118f40 100644
--- a/fw/v1/in0_pdsp1.p
+++ b/fw/v1/in0_pdsp1.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#include "pdsp_mem.h" 58#include "pdsp_mem.h"
60#define PASS_LAST_PDSP 59#define PASS_LAST_PDSP
61#define PASS_PROC_L3 60#define PASS_PROC_L3
diff --git a/fw/v1/in1_pdsp0.bib b/fw/v1/in1_pdsp0.bib
index 6e0ddf9..77b8b40 100644
--- a/fw/v1/in1_pdsp0.bib
+++ b/fw/v1/in1_pdsp0.bib
Binary files differ
diff --git a/fw/v1/in1_pdsp0.p b/fw/v1/in1_pdsp0.p
index 3ab9f54..532bcb1 100644
--- a/fw/v1/in1_pdsp0.p
+++ b/fw/v1/in1_pdsp0.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#include "pdsp_mem.h" 58#include "pdsp_mem.h"
60#define PASS_FIRST_PDSP 59#define PASS_FIRST_PDSP
61#define PASS_PROC_IPSEC 60#define PASS_PROC_IPSEC
diff --git a/fw/v1/in1_pdsp1.bib b/fw/v1/in1_pdsp1.bib
index 793bc34..e08f816 100644
--- a/fw/v1/in1_pdsp1.bib
+++ b/fw/v1/in1_pdsp1.bib
Binary files differ
diff --git a/fw/v1/in1_pdsp1.p b/fw/v1/in1_pdsp1.p
index 0e32399..274f213 100644
--- a/fw/v1/in1_pdsp1.p
+++ b/fw/v1/in1_pdsp1.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#include "pdsp_mem.h" 58#include "pdsp_mem.h"
60#define PASS_LAST_PDSP 59#define PASS_LAST_PDSP
61#define PASS_PROC_IPSEC 60#define PASS_PROC_IPSEC
diff --git a/fw/v1/in2_pdsp0.bib b/fw/v1/in2_pdsp0.bib
index 1915f50..84a52f5 100644
--- a/fw/v1/in2_pdsp0.bib
+++ b/fw/v1/in2_pdsp0.bib
Binary files differ
diff --git a/fw/v1/in2_pdsp0.p b/fw/v1/in2_pdsp0.p
index c0eb0f7..49c6b77 100644
--- a/fw/v1/in2_pdsp0.p
+++ b/fw/v1/in2_pdsp0.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#include "pdsp_mem.h" 58#include "pdsp_mem.h"
60#define PASS_FIRST_PDSP 59#define PASS_FIRST_PDSP
61#define PASS_LAST_PDSP 60#define PASS_LAST_PDSP
diff --git a/fw/v1/in3_pdsp0.bib b/fw/v1/in3_pdsp0.bib
index 9c0ba94..0c44b69 100644
--- a/fw/v1/in3_pdsp0.bib
+++ b/fw/v1/in3_pdsp0.bib
Binary files differ
diff --git a/fw/v1/in3_pdsp0.p b/fw/v1/in3_pdsp0.p
index 269512f..9dbd0cc 100644
--- a/fw/v1/in3_pdsp0.p
+++ b/fw/v1/in3_pdsp0.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#include "pdsp_mem.h" 58#include "pdsp_mem.h"
60#define PASS_FIRST_PDSP 59#define PASS_FIRST_PDSP
61#define PASS_LAST_PDSP 60#define PASS_LAST_PDSP
diff --git a/fw/v1/in4_pdsp0.bib b/fw/v1/in4_pdsp0.bib
index 3c11321..830d5f6 100644
--- a/fw/v1/in4_pdsp0.bib
+++ b/fw/v1/in4_pdsp0.bib
Binary files differ
diff --git a/fw/v1/in4_pdsp0.p b/fw/v1/in4_pdsp0.p
index a32bf68..c20cd3c 100644
--- a/fw/v1/in4_pdsp0.p
+++ b/fw/v1/in4_pdsp0.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#include "pdsp_mem.h" 58#include "pdsp_mem.h"
60#define PASS_FIRST_PDSP 59#define PASS_FIRST_PDSP
61#define PASS_PROC_L3 60#define PASS_PROC_L3
diff --git a/fw/v1/in4_pdsp1.bib b/fw/v1/in4_pdsp1.bib
index 7b42726..c60071b 100644
--- a/fw/v1/in4_pdsp1.bib
+++ b/fw/v1/in4_pdsp1.bib
Binary files differ
diff --git a/fw/v1/in4_pdsp1.p b/fw/v1/in4_pdsp1.p
index c007012..d41fb5b 100644
--- a/fw/v1/in4_pdsp1.p
+++ b/fw/v1/in4_pdsp1.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#define PASS_LAST_PDSP 58#define PASS_LAST_PDSP
60#define PASS_PROC_PKT_FORWARD 59#define PASS_PROC_PKT_FORWARD
61#define PASS_PROC_L4_CHECKSUM 60#define PASS_PROC_L4_CHECKSUM
diff --git a/fw/v1/ks2_pa_eg0_pdsp0.bin b/fw/v1/ks2_pa_eg0_pdsp0.bin
index 3be8c4e..43a0425 100644
--- a/fw/v1/ks2_pa_eg0_pdsp0.bin
+++ b/fw/v1/ks2_pa_eg0_pdsp0.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_eg0_pdsp1.bin b/fw/v1/ks2_pa_eg0_pdsp1.bin
index ecbe60e..acb1297 100644
--- a/fw/v1/ks2_pa_eg0_pdsp1.bin
+++ b/fw/v1/ks2_pa_eg0_pdsp1.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_eg0_pdsp2.bin b/fw/v1/ks2_pa_eg0_pdsp2.bin
index 0e69fad..12acc52 100644
--- a/fw/v1/ks2_pa_eg0_pdsp2.bin
+++ b/fw/v1/ks2_pa_eg0_pdsp2.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_eg1_pdsp0.bin b/fw/v1/ks2_pa_eg1_pdsp0.bin
index b51900b..5e8e083 100644
--- a/fw/v1/ks2_pa_eg1_pdsp0.bin
+++ b/fw/v1/ks2_pa_eg1_pdsp0.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_eg2_pdsp0.bin b/fw/v1/ks2_pa_eg2_pdsp0.bin
index 846a571..717b1d7 100644
--- a/fw/v1/ks2_pa_eg2_pdsp0.bin
+++ b/fw/v1/ks2_pa_eg2_pdsp0.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_in0_pdsp0.bin b/fw/v1/ks2_pa_in0_pdsp0.bin
index 9938ec5..cf40759 100644
--- a/fw/v1/ks2_pa_in0_pdsp0.bin
+++ b/fw/v1/ks2_pa_in0_pdsp0.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_in0_pdsp1.bin b/fw/v1/ks2_pa_in0_pdsp1.bin
index d349172..3ef969d 100644
--- a/fw/v1/ks2_pa_in0_pdsp1.bin
+++ b/fw/v1/ks2_pa_in0_pdsp1.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_in1_pdsp0.bin b/fw/v1/ks2_pa_in1_pdsp0.bin
index 3e9a36b..3f3f583 100644
--- a/fw/v1/ks2_pa_in1_pdsp0.bin
+++ b/fw/v1/ks2_pa_in1_pdsp0.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_in1_pdsp1.bin b/fw/v1/ks2_pa_in1_pdsp1.bin
index 938084f..a158bb6 100644
--- a/fw/v1/ks2_pa_in1_pdsp1.bin
+++ b/fw/v1/ks2_pa_in1_pdsp1.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_in2_pdsp0.bin b/fw/v1/ks2_pa_in2_pdsp0.bin
index 8d24655..5dae14b 100644
--- a/fw/v1/ks2_pa_in2_pdsp0.bin
+++ b/fw/v1/ks2_pa_in2_pdsp0.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_in3_pdsp0.bin b/fw/v1/ks2_pa_in3_pdsp0.bin
index b03d1d0..b3069bd 100644
--- a/fw/v1/ks2_pa_in3_pdsp0.bin
+++ b/fw/v1/ks2_pa_in3_pdsp0.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_in4_pdsp0.bin b/fw/v1/ks2_pa_in4_pdsp0.bin
index 1fd9810..f6fd281 100644
--- a/fw/v1/ks2_pa_in4_pdsp0.bin
+++ b/fw/v1/ks2_pa_in4_pdsp0.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_in4_pdsp1.bin b/fw/v1/ks2_pa_in4_pdsp1.bin
index c8cd7be..31aaaea 100644
--- a/fw/v1/ks2_pa_in4_pdsp1.bin
+++ b/fw/v1/ks2_pa_in4_pdsp1.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_post_pdsp0.bin b/fw/v1/ks2_pa_post_pdsp0.bin
index e5b3f87..2626429 100644
--- a/fw/v1/ks2_pa_post_pdsp0.bin
+++ b/fw/v1/ks2_pa_post_pdsp0.bin
Binary files differ
diff --git a/fw/v1/ks2_pa_post_pdsp1.bin b/fw/v1/ks2_pa_post_pdsp1.bin
index 8f43247..a6cf804 100644
--- a/fw/v1/ks2_pa_post_pdsp1.bin
+++ b/fw/v1/ks2_pa_post_pdsp1.bin
Binary files differ
diff --git a/fw/v1/pa2_eg0_pdsp0_bin.c b/fw/v1/pa2_eg0_pdsp0_bin.c
index 83e11ab..5c87cdb 100644
--- a/fw/v1/pa2_eg0_pdsp0_bin.c
+++ b/fw/v1/pa2_eg0_pdsp0_bin.c
@@ -74,10 +74,10 @@
74const uint32_t eg0_pdsp0[] = { 74const uint32_t eg0_pdsp0[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0600, 76 0xbabe0600,
77 0xffffffff, 77 0x03000200,
78 0x2300d79e, 78 0x2300d79e,
79 0x24ffff82, 79 0x24020082,
80 0x24ffffc2, 80 0x240300c2,
81 0x81043782, 81 0x81043782,
82 0x2eff8582, 82 0x2eff8582,
83 0x8104a482, 83 0x8104a482,
diff --git a/fw/v1/pa2_eg0_pdsp1_bin.c b/fw/v1/pa2_eg0_pdsp1_bin.c
index ed34f78..3f583cd 100644
--- a/fw/v1/pa2_eg0_pdsp1_bin.c
+++ b/fw/v1/pa2_eg0_pdsp1_bin.c
@@ -74,7 +74,7 @@
74const uint32_t eg0_pdsp1[] = { 74const uint32_t eg0_pdsp1[] = {
75 0x21017600, 75 0x21017600,
76 0xbabe0601, 76 0xbabe0601,
77 0xffffffff, 77 0x03000200,
78 0xc907ff00, 78 0xc907ff00,
79 0x911007c0, 79 0x911007c0,
80 0x1f0f8080, 80 0x1f0f8080,
@@ -454,8 +454,8 @@ const uint32_t eg0_pdsp1[] = {
454 0xc900ff00, 454 0xc900ff00,
455 0xd100ff00, 455 0xd100ff00,
456 0x2eff819d, 456 0x2eff819d,
457 0x24ffff82, 457 0x24020082,
458 0x24ffffc2, 458 0x240300c2,
459 0x81043782, 459 0x81043782,
460 0x2eff8780, 460 0x2eff8780,
461 0x8110f780, 461 0x8110f780,
diff --git a/fw/v1/pa2_eg0_pdsp2_bin.c b/fw/v1/pa2_eg0_pdsp2_bin.c
index ab34943..8dff610 100644
--- a/fw/v1/pa2_eg0_pdsp2_bin.c
+++ b/fw/v1/pa2_eg0_pdsp2_bin.c
@@ -74,7 +74,7 @@
74const uint32_t eg0_pdsp2[] = { 74const uint32_t eg0_pdsp2[] = {
75 0x21028f00, 75 0x21028f00,
76 0xbabe0602, 76 0xbabe0602,
77 0xffffffff, 77 0x03000200,
78 0xc907ff00, 78 0xc907ff00,
79 0x911007c0, 79 0x911007c0,
80 0x1d0f8080, 80 0x1d0f8080,
@@ -735,8 +735,8 @@ const uint32_t eg0_pdsp2[] = {
735 0xc900ff00, 735 0xc900ff00,
736 0xd100ff00, 736 0xd100ff00,
737 0x2eff819d, 737 0x2eff819d,
738 0x24ffff82, 738 0x24020082,
739 0x24ffffc2, 739 0x240300c2,
740 0x81043782, 740 0x81043782,
741 0x2eff8780, 741 0x2eff8780,
742 0x8110f780, 742 0x8110f780,
diff --git a/fw/v1/pa2_eg1_pdsp0_bin.c b/fw/v1/pa2_eg1_pdsp0_bin.c
index a8f5d86..3fe315f 100644
--- a/fw/v1/pa2_eg1_pdsp0_bin.c
+++ b/fw/v1/pa2_eg1_pdsp0_bin.c
@@ -74,7 +74,7 @@
74const uint32_t eg1_pdsp0[] = { 74const uint32_t eg1_pdsp0[] = {
75 0x2100f800, 75 0x2100f800,
76 0xbabe0700, 76 0xbabe0700,
77 0xffffffff, 77 0x03000200,
78 0xc907ff00, 78 0xc907ff00,
79 0x911007c0, 79 0x911007c0,
80 0x1d0f8080, 80 0x1d0f8080,
@@ -328,8 +328,8 @@ const uint32_t eg1_pdsp0[] = {
328 0xc900ff00, 328 0xc900ff00,
329 0xd100ff00, 329 0xd100ff00,
330 0x2eff819d, 330 0x2eff819d,
331 0x24ffff82, 331 0x24020082,
332 0x24ffffc2, 332 0x240300c2,
333 0x81043782, 333 0x81043782,
334 0x2eff8780, 334 0x2eff8780,
335 0x8110f780, 335 0x8110f780,
diff --git a/fw/v1/pa2_eg2_pdsp0_bin.c b/fw/v1/pa2_eg2_pdsp0_bin.c
index b871a96..bc23c76 100644
--- a/fw/v1/pa2_eg2_pdsp0_bin.c
+++ b/fw/v1/pa2_eg2_pdsp0_bin.c
@@ -74,7 +74,7 @@
74const uint32_t eg2_pdsp0[] = { 74const uint32_t eg2_pdsp0[] = {
75 0x2101ef00, 75 0x2101ef00,
76 0xbabe0800, 76 0xbabe0800,
77 0xffffffff, 77 0x03000200,
78 0xc907ff00, 78 0xc907ff00,
79 0x911007c0, 79 0x911007c0,
80 0x1d0f8080, 80 0x1d0f8080,
@@ -575,8 +575,8 @@ const uint32_t eg2_pdsp0[] = {
575 0xc900ff00, 575 0xc900ff00,
576 0xd100ff00, 576 0xd100ff00,
577 0x2eff819d, 577 0x2eff819d,
578 0x24ffff82, 578 0x24020082,
579 0x24ffffc2, 579 0x240300c2,
580 0x81043782, 580 0x81043782,
581 0x2eff8780, 581 0x2eff8780,
582 0x8110f780, 582 0x8110f780,
diff --git a/fw/v1/pa2_in0_pdsp0_bin.c b/fw/v1/pa2_in0_pdsp0_bin.c
index 185b7de..da5106f 100644
--- a/fw/v1/pa2_in0_pdsp0_bin.c
+++ b/fw/v1/pa2_in0_pdsp0_bin.c
@@ -74,7 +74,7 @@
74const uint32_t in0_pdsp0[] = { 74const uint32_t in0_pdsp0[] = {
75 0x21002c00, 75 0x21002c00,
76 0xbabe0000, 76 0xbabe0000,
77 0xffffffff, 77 0x03000200,
78 0x2effa780, 78 0x2effa780,
79 0x8900f380, 79 0x8900f380,
80 0x8950f380, 80 0x8950f380,
@@ -117,8 +117,8 @@ const uint32_t in0_pdsp0[] = {
117 0x81c4338a, 117 0x81c4338a,
118 0x209e0000, 118 0x209e0000,
119 0x23037b9e, 119 0x23037b9e,
120 0x24ffff82, 120 0x24020082,
121 0x24ffffc2, 121 0x240300c2,
122 0x81043782, 122 0x81043782,
123 0x2eff8582, 123 0x2eff8582,
124 0x8104a482, 124 0x8104a482,
diff --git a/fw/v1/pa2_in0_pdsp1_bin.c b/fw/v1/pa2_in0_pdsp1_bin.c
index 9cbc5a1..75396a8 100644
--- a/fw/v1/pa2_in0_pdsp1_bin.c
+++ b/fw/v1/pa2_in0_pdsp1_bin.c
@@ -74,10 +74,10 @@
74const uint32_t in0_pdsp1[] = { 74const uint32_t in0_pdsp1[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0001, 76 0xbabe0001,
77 0xffffffff, 77 0x03000200,
78 0x2303419e, 78 0x2303419e,
79 0x24ffff82, 79 0x24020082,
80 0x24ffffc2, 80 0x240300c2,
81 0x81043782, 81 0x81043782,
82 0x2eff8582, 82 0x2eff8582,
83 0x8104a482, 83 0x8104a482,
diff --git a/fw/v1/pa2_in1_pdsp0_bin.c b/fw/v1/pa2_in1_pdsp0_bin.c
index 9f6ab38..c7690df 100644
--- a/fw/v1/pa2_in1_pdsp0_bin.c
+++ b/fw/v1/pa2_in1_pdsp0_bin.c
@@ -74,10 +74,10 @@
74const uint32_t in1_pdsp0[] = { 74const uint32_t in1_pdsp0[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0002, 76 0xbabe0002,
77 0xffffffff, 77 0x03000200,
78 0x2302ab9e, 78 0x2302ab9e,
79 0x24ffff82, 79 0x24020082,
80 0x24ffffc2, 80 0x240300c2,
81 0x81043782, 81 0x81043782,
82 0x2eff8582, 82 0x2eff8582,
83 0x8104a482, 83 0x8104a482,
diff --git a/fw/v1/pa2_in1_pdsp1_bin.c b/fw/v1/pa2_in1_pdsp1_bin.c
index 17a353c..612f897 100644
--- a/fw/v1/pa2_in1_pdsp1_bin.c
+++ b/fw/v1/pa2_in1_pdsp1_bin.c
@@ -74,10 +74,10 @@
74const uint32_t in1_pdsp1[] = { 74const uint32_t in1_pdsp1[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0101, 76 0xbabe0101,
77 0xffffffff, 77 0x03000200,
78 0x23027f9e, 78 0x23027f9e,
79 0x24ffff82, 79 0x24020082,
80 0x24ffffc2, 80 0x240300c2,
81 0x81043782, 81 0x81043782,
82 0x2eff8582, 82 0x2eff8582,
83 0x8104a482, 83 0x8104a482,
diff --git a/fw/v1/pa2_in2_pdsp0_bin.c b/fw/v1/pa2_in2_pdsp0_bin.c
index 5449673..ad20c8a 100644
--- a/fw/v1/pa2_in2_pdsp0_bin.c
+++ b/fw/v1/pa2_in2_pdsp0_bin.c
@@ -74,10 +74,10 @@
74const uint32_t in2_pdsp0[] = { 74const uint32_t in2_pdsp0[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0200, 76 0xbabe0200,
77 0xffffffff, 77 0x03000200,
78 0x23027b9e, 78 0x23027b9e,
79 0x24ffff82, 79 0x24020082,
80 0x24ffffc2, 80 0x240300c2,
81 0x81043782, 81 0x81043782,
82 0x2eff8582, 82 0x2eff8582,
83 0x8104a482, 83 0x8104a482,
diff --git a/fw/v1/pa2_in3_pdsp0_bin.c b/fw/v1/pa2_in3_pdsp0_bin.c
index 0f4e00c..d04e39f 100644
--- a/fw/v1/pa2_in3_pdsp0_bin.c
+++ b/fw/v1/pa2_in3_pdsp0_bin.c
@@ -74,10 +74,10 @@
74const uint32_t in3_pdsp0[] = { 74const uint32_t in3_pdsp0[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0300, 76 0xbabe0300,
77 0xffffffff, 77 0x03000200,
78 0x23029e9e, 78 0x23029e9e,
79 0x24ffff82, 79 0x24020082,
80 0x24ffffc2, 80 0x240300c2,
81 0x81043782, 81 0x81043782,
82 0x2eff8582, 82 0x2eff8582,
83 0x8104a482, 83 0x8104a482,
diff --git a/fw/v1/pa2_in4_pdsp0_bin.c b/fw/v1/pa2_in4_pdsp0_bin.c
index d1c2917..5c3e758 100644
--- a/fw/v1/pa2_in4_pdsp0_bin.c
+++ b/fw/v1/pa2_in4_pdsp0_bin.c
@@ -74,10 +74,10 @@
74const uint32_t in4_pdsp0[] = { 74const uint32_t in4_pdsp0[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0401, 76 0xbabe0401,
77 0xffffffff, 77 0x03000200,
78 0x2302b69e, 78 0x2302b69e,
79 0x24ffff82, 79 0x24020082,
80 0x24ffffc2, 80 0x240300c2,
81 0x81043782, 81 0x81043782,
82 0x2eff8582, 82 0x2eff8582,
83 0x8104a482, 83 0x8104a482,
diff --git a/fw/v1/pa2_in4_pdsp1_bin.c b/fw/v1/pa2_in4_pdsp1_bin.c
index 3f24aa6..a849199 100644
--- a/fw/v1/pa2_in4_pdsp1_bin.c
+++ b/fw/v1/pa2_in4_pdsp1_bin.c
@@ -74,7 +74,7 @@
74const uint32_t in4_pdsp1[] = { 74const uint32_t in4_pdsp1[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0401, 76 0xbabe0401,
77 0xffffffff, 77 0x03000200,
78 0x2300f79e, 78 0x2300f79e,
79 0x2eff8582, 79 0x2eff8582,
80 0x8104a482, 80 0x8104a482,
@@ -85,8 +85,8 @@ const uint32_t in4_pdsp1[] = {
85 0x2eff819d, 85 0x2eff819d,
86 0x24000702, 86 0x24000702,
87 0x81001762, 87 0x81001762,
88 0x24ffff82, 88 0x24020082,
89 0x24ffffc2, 89 0x240300c2,
90 0x81043782, 90 0x81043782,
91 0xc901ff08, 91 0xc901ff08,
92 0x91042481, 92 0x91042481,
diff --git a/fw/v1/pa2_post_pdsp0_bin.c b/fw/v1/pa2_post_pdsp0_bin.c
index f3998ae..e75ccb7 100644
--- a/fw/v1/pa2_post_pdsp0_bin.c
+++ b/fw/v1/pa2_post_pdsp0_bin.c
@@ -74,7 +74,7 @@
74const uint32_t post_pdsp0[] = { 74const uint32_t post_pdsp0[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0500, 76 0xbabe0500,
77 0xffffffff, 77 0x03000200,
78 0x2305369e, 78 0x2305369e,
79 0x2eff8582, 79 0x2eff8582,
80 0x8104a482, 80 0x8104a482,
@@ -83,8 +83,8 @@ const uint32_t post_pdsp0[] = {
83 0xc900ff00, 83 0xc900ff00,
84 0xd100ff00, 84 0xd100ff00,
85 0x2eff819d, 85 0x2eff819d,
86 0x24ffff82, 86 0x24020082,
87 0x24ffffc2, 87 0x240300c2,
88 0x81043782, 88 0x81043782,
89 0x2eff8780, 89 0x2eff8780,
90 0x8110f780, 90 0x8110f780,
diff --git a/fw/v1/pa2_post_pdsp1_bin.c b/fw/v1/pa2_post_pdsp1_bin.c
index 6a12083..c87ddb4 100644
--- a/fw/v1/pa2_post_pdsp1_bin.c
+++ b/fw/v1/pa2_post_pdsp1_bin.c
@@ -74,7 +74,7 @@
74const uint32_t post_pdsp1[] = { 74const uint32_t post_pdsp1[] = {
75 0x21000300, 75 0x21000300,
76 0xbabe0501, 76 0xbabe0501,
77 0xffffffff, 77 0x03000200,
78 0x23039d9e, 78 0x23039d9e,
79 0x2eff8582, 79 0x2eff8582,
80 0x8104a482, 80 0x8104a482,
@@ -83,8 +83,8 @@ const uint32_t post_pdsp1[] = {
83 0xc900ff00, 83 0xc900ff00,
84 0xd100ff00, 84 0xd100ff00,
85 0x2eff819d, 85 0x2eff819d,
86 0x24ffff82, 86 0x24020082,
87 0x24ffffc2, 87 0x240300c2,
88 0x81043782, 88 0x81043782,
89 0x2eff8780, 89 0x2eff8780,
90 0x8110f780, 90 0x8110f780,
diff --git a/fw/v1/pa2bin.c b/fw/v1/pa2bin.c
index 8e588f9..8662c40 100644
--- a/fw/v1/pa2bin.c
+++ b/fw/v1/pa2bin.c
@@ -5,17 +5,11 @@
5#include "pdsp_ver.h" 5#include "pdsp_ver.h"
6#include "paconst.c" 6#include "paconst.c"
7 7
8#define DEVICE_PA_NUM_PDSPS (15U) 8#define DEVICE_PA_NUM_PDSPS (15U)
9#define PA_PDSP_CONST_NUM_REG (32U) 9#define PA_PDSP_CONST_NUM_REG (32U)
10#define PASS_VER_STR_LEN (16U) 10#define PASS_VER_STR_LEN (16U)
11 11
12typedef unsigned int u32; 12#include "pdsp_blob_hdr.h"
13
14/* header to the firmware blob */
15struct pa_pdsp_firmware {
16 char version[PASS_VER_STR_LEN];
17 u32 constants[PA_PDSP_CONST_NUM_REG];
18};
19 13
20static char *versions[DEVICE_PA_NUM_PDSPS] = { 14static char *versions[DEVICE_PA_NUM_PDSPS] = {
21 PASS_VERSION_STR, 15 PASS_VERSION_STR,
@@ -32,96 +26,93 @@ static char *versions[DEVICE_PA_NUM_PDSPS] = {
32 PASS_VERSION_STR, 26 PASS_VERSION_STR,
33 PASS_VERSION_STR, 27 PASS_VERSION_STR,
34 PASS_VERSION_STR, 28 PASS_VERSION_STR,
35 PASS_VERSION_STR 29 PASS_VERSION_STR
36}; 30};
37static char *pdsp_in_file_names[DEVICE_PA_NUM_PDSPS] = { 31static char *pdsp_in_file_names[DEVICE_PA_NUM_PDSPS] = {
38 "in0_pdsp0.bib", /* 0 */ 32 "in0_pdsp0.bib", /* 0 */
39 "in0_pdsp1.bib", /* 1 */ 33 "in0_pdsp1.bib", /* 1 */
40 "in1_pdsp0.bib", /* 2 */ 34 "in1_pdsp0.bib", /* 2 */
41 "in1_pdsp1.bib", /* 3 */ 35 "in1_pdsp1.bib", /* 3 */
42 "in2_pdsp0.bib", /* 4 */ 36 "in2_pdsp0.bib", /* 4 */
43 "in3_pdsp0.bib", /* 5 */ 37 "in3_pdsp0.bib", /* 5 */
44 "in4_pdsp0.bib", /* 6 */ 38 "in4_pdsp0.bib", /* 6 */
45 "in4_pdsp1.bib", /* 7 */ 39 "in4_pdsp1.bib", /* 7 */
46 "post_pdsp0.bib", /* 8 */ 40 "post_pdsp0.bib", /* 8 */
47 "post_pdsp1.bib", /* 9 */ 41 "post_pdsp1.bib", /* 9 */
48 "eg0_pdsp0.bib", /* 10 */ 42 "eg0_pdsp0.bib", /* 10 */
49 "eg0_pdsp1.bib", /* 11 */ 43 "eg0_pdsp1.bib", /* 11 */
50 "eg0_pdsp2.bib", /* 12 */ 44 "eg0_pdsp2.bib", /* 12 */
51 "eg1_pdsp0.bib", /* 13 */ 45 "eg1_pdsp0.bib", /* 13 */
52 "eg2_pdsp0.bib", /* 14 */ 46 "eg2_pdsp0.bib", /* 14 */
53}; 47};
54 48
55static char *pdsp_out_file_names[DEVICE_PA_NUM_PDSPS] = { 49static char *pdsp_out_file_names[DEVICE_PA_NUM_PDSPS] = {
56 "ks2_pa_in0_pdsp0", /* 0 */ 50 "ks2_pa_in0_pdsp0", /* 0 */
57 "ks2_pa_in0_pdsp1", /* 1 */ 51 "ks2_pa_in0_pdsp1", /* 1 */
58 "ks2_pa_in1_pdsp0", /* 2 */ 52 "ks2_pa_in1_pdsp0", /* 2 */
59 "ks2_pa_in1_pdsp1", /* 3 */ 53 "ks2_pa_in1_pdsp1", /* 3 */
60 "ks2_pa_in2_pdsp0", /* 4 */ 54 "ks2_pa_in2_pdsp0", /* 4 */
61 "ks2_pa_in3_pdsp0", /* 5 */ 55 "ks2_pa_in3_pdsp0", /* 5 */
62 "ks2_pa_in4_pdsp0", /* 6 */ 56 "ks2_pa_in4_pdsp0", /* 6 */
63 "ks2_pa_in4_pdsp1", /* 7 */ 57 "ks2_pa_in4_pdsp1", /* 7 */
64 "ks2_pa_post_pdsp0", /* 8 */ 58 "ks2_pa_post_pdsp0", /* 8 */
65 "ks2_pa_post_pdsp1", /* 9 */ 59 "ks2_pa_post_pdsp1", /* 9 */
66 "ks2_pa_eg0_pdsp0", /* 10 */ 60 "ks2_pa_eg0_pdsp0", /* 10 */
67 "ks2_pa_eg0_pdsp1", /* 11 */ 61 "ks2_pa_eg0_pdsp1", /* 11 */
68 "ks2_pa_eg0_pdsp2", /* 12 */ 62 "ks2_pa_eg0_pdsp2", /* 12 */
69 "ks2_pa_eg1_pdsp0", /* 13 */ 63 "ks2_pa_eg1_pdsp0", /* 13 */
70 "ks2_pa_eg2_pdsp0", /* 14 */ 64 "ks2_pa_eg2_pdsp0", /* 14 */
71}; 65};
72 66
73int main(int argc, char **argv) 67int main(int argc, char **argv)
74{ 68{
75 unsigned long b_sz, total = 0; 69 unsigned long b_sz, total = 0;
76 struct pa_pdsp_firmware pdsp; 70 struct pa_pdsp_firmware pdsp;
77 char in_file_name[128]; 71 char in_file_name[128];
78 char out_file_name[128]; 72 char out_file_name[128];
79 char buf[1024]; 73 char buf[1024];
80 char *pc; 74 char *pc;
81 FILE *outfp, *infp; 75 FILE *outfp, *infp;
82 int j, i; 76 int j, i;
83 int size; 77 int size;
78
79 for (i = 0; i < DEVICE_PA_NUM_PDSPS; i++) {
80 if (!pdsp_in_file_names[i])
81 continue;
82 bzero(in_file_name, sizeof(in_file_name));
83 bzero(out_file_name, sizeof(out_file_name));
84 strcpy(in_file_name, (char *)pdsp_in_file_names[i]);
85 strcpy(out_file_name, (char *)pdsp_out_file_names[i]);
86 pc = &out_file_name[strlen(out_file_name)];
84 87
85 for (i = 0; i < DEVICE_PA_NUM_PDSPS; i++) { 88 strcat(pc, ".bin");
86 if (!pdsp_in_file_names[i]) 89 outfp=fopen(out_file_name,"wb");
87 continue; 90 infp=fopen(in_file_name,"rb");
88 bzero(in_file_name, sizeof(in_file_name)); 91 printf("input file: %s\n",in_file_name);
89 bzero(out_file_name, sizeof(out_file_name)); 92 printf("output file: %s\n",out_file_name);
90 strcpy(in_file_name, (char *)pdsp_in_file_names[i]); 93 if (!outfp)
91 strcpy(out_file_name, (char *)pdsp_out_file_names[i]); 94 {
92 pc = &out_file_name[strlen(out_file_name)]; 95 printf("Unable to open output file! %s", out_file_name);
93#if 0 96 exit(1);
94 strcat(pc, "-"); 97 }
95 strcat(pc, (char *)versions[i]);
96#endif
97 strcat(pc, ".bin");
98 outfp=fopen(out_file_name,"wb");
99 infp=fopen(in_file_name,"rb");
100 printf("input file: %s\n",in_file_name);
101 printf("output file: %s\n",out_file_name);
102 if (!outfp)
103 {
104 printf("Unable to open output file! %s", out_file_name);
105 exit(1);
106 }
107 98
108 if (!infp) 99 if (!infp)
109 { 100 {
110 printf("Unable to open input file! %s", in_file_name); 101 printf("Unable to open input file! %s", in_file_name);
111 fclose(outfp); 102 fclose(outfp);
112 exit(2); 103 exit(2);
113 } 104 }
114 105
115 strncpy((char *)&pdsp.version[0], (char *)versions[i], PASS_VER_STR_LEN); 106 strncpy((char *)&pdsp.version[0], (char *)versions[i], PASS_VER_STR_LEN);
116 memcpy(&pdsp.constants[0], &pap_pdsp_const_reg_map[i][0], sizeof(u32) * PA_PDSP_CONST_NUM_REG); 107 memcpy(&pdsp.constants[0], &pap_pdsp_const_reg_map[i][0], sizeof(u32) * PA_PDSP_CONST_NUM_REG);
117 fwrite(&pdsp, sizeof(pdsp), 1, outfp); 108 fwrite(&pdsp, sizeof(pdsp), 1, outfp);
118 while(1) { 109 while(1) {
119 size = fread(buf, 1, 1024, infp); 110 size = fread(buf, 1, 1024, infp);
120 if (size <= 0) 111 if (size <= 0)
121 break; 112 break;
122 fwrite(buf, size, 1, outfp); 113 fwrite(buf, size, 1, outfp);
123 } 114 }
124 fclose(outfp); 115 fclose(outfp);
125 fclose(infp); 116 fclose(infp);
126 } 117 }
127} 118}
diff --git a/fw/v1/pabinchk.c b/fw/v1/pabinchk.c
new file mode 100644
index 0000000..fe196a2
--- /dev/null
+++ b/fw/v1/pabinchk.c
@@ -0,0 +1,162 @@
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#include "pa.h"
5#include "pdsp_ver.h"
6#include "paconst.c"
7
8#define DEVICE_PA_NUM_PDSPS (15U)
9#define PA_PDSP_CONST_NUM_REG (32U)
10#define PASS_VER_STR_LEN (16U)
11
12#include "pdsp_blob_hdr.h"
13
14static char *versions[DEVICE_PA_NUM_PDSPS] = {
15 PASS_VERSION_STR,
16 PASS_VERSION_STR,
17 PASS_VERSION_STR,
18 PASS_VERSION_STR,
19 PASS_VERSION_STR,
20 PASS_VERSION_STR,
21 PASS_VERSION_STR,
22 PASS_VERSION_STR,
23 PASS_VERSION_STR,
24 PASS_VERSION_STR,
25 PASS_VERSION_STR,
26 PASS_VERSION_STR,
27 PASS_VERSION_STR,
28 PASS_VERSION_STR,
29 PASS_VERSION_STR
30};
31static char *pdsp_in_file_names[DEVICE_PA_NUM_PDSPS] = {
32 "in0_pdsp0.bib", /* 0 */
33 "in0_pdsp1.bib", /* 1 */
34 "in1_pdsp0.bib", /* 2 */
35 "in1_pdsp1.bib", /* 3 */
36 "in2_pdsp0.bib", /* 4 */
37 "in3_pdsp0.bib", /* 5 */
38 "in4_pdsp0.bib", /* 6 */
39 "in4_pdsp1.bib", /* 7 */
40 "post_pdsp0.bib", /* 8 */
41 "post_pdsp1.bib", /* 9 */
42 "eg0_pdsp0.bib", /* 10 */
43 "eg0_pdsp1.bib", /* 11 */
44 "eg0_pdsp2.bib", /* 12 */
45 "eg1_pdsp0.bib", /* 13 */
46 "eg2_pdsp0.bib", /* 14 */
47};
48
49static char *pdsp_out_file_names[DEVICE_PA_NUM_PDSPS] = {
50 "ks2_pa_in0_pdsp0", /* 0 */
51 "ks2_pa_in0_pdsp1", /* 1 */
52 "ks2_pa_in1_pdsp0", /* 2 */
53 "ks2_pa_in1_pdsp1", /* 3 */
54 "ks2_pa_in2_pdsp0", /* 4 */
55 "ks2_pa_in3_pdsp0", /* 5 */
56 "ks2_pa_in4_pdsp0", /* 6 */
57 "ks2_pa_in4_pdsp1", /* 7 */
58 "ks2_pa_post_pdsp0", /* 8 */
59 "ks2_pa_post_pdsp1", /* 9 */
60 "ks2_pa_eg0_pdsp0", /* 10 */
61 "ks2_pa_eg0_pdsp1", /* 11 */
62 "ks2_pa_eg0_pdsp2", /* 12 */
63 "ks2_pa_eg1_pdsp0", /* 13 */
64 "ks2_pa_eg2_pdsp0", /* 14 */
65};
66
67int main(int argc, char **argv)
68{
69 unsigned long b_sz, total = 0;
70 struct pa_pdsp_firmware pdsp;
71 char in_file_name[128];
72 char out_file_name[128];
73 char buf_in[1024];
74 char buf_out[1024];
75 char *pc;
76 FILE *outfp, *infp;
77 int j, i;
78 int size, mismatch = 0;
79
80 for (i = 0; i < DEVICE_PA_NUM_PDSPS; i++) {
81 if (!pdsp_in_file_names[i])
82 continue;
83 bzero(in_file_name, sizeof(in_file_name));
84 bzero(out_file_name, sizeof(out_file_name));
85 strcpy(in_file_name, (char *)pdsp_in_file_names[i]);
86 strcpy(out_file_name, (char *)pdsp_out_file_names[i]);
87 pc = &out_file_name[strlen(out_file_name)];
88
89 strcat(pc, ".bin");
90 outfp=fopen(out_file_name,"rb");
91 infp=fopen(in_file_name,"rb");
92
93 if (!outfp)
94 {
95 printf("Unable to open output file! %s", out_file_name);
96 exit(1);
97 }
98
99 if (!infp)
100 {
101 printf("Unable to open input file! %s", in_file_name);
102 fclose(outfp);
103 exit(2);
104 }
105
106 /* Check the version */
107 fread(&pdsp, sizeof(pdsp), 1, outfp);
108 if ( 0 != strncmp((char *)&pdsp.version[0], (char *)versions[i], PASS_VER_STR_LEN))
109 {
110 mismatch = 1;
111 }
112
113 /* Check the constant */
114 if ( 0 != memcmp(&pdsp.constants[0], &pap_pdsp_const_reg_map[i][0], sizeof(u32) * PA_PDSP_CONST_NUM_REG))
115 {
116 mismatch = 2;
117 }
118
119 while(mismatch == 0) {
120 size = fread(buf_out, 1, 1024, outfp);
121 if (size <= 0)
122 break;
123
124 size = fread(buf_in, 1, 1024, infp);
125 if (size <= 0)
126 break;
127
128 if ( 0 != memcmp(buf_in, buf_out, size))
129 {
130 mismatch = 3;
131 }
132 }
133 fclose(outfp);
134 fclose(infp);
135
136 if (mismatch != 0)
137 break;
138 }
139
140 switch (mismatch)
141 {
142
143 case 3:
144 printf ("blob mismatch noticed on writing %s.bin file \n", pdsp_out_file_names[i]);
145 printf ("firmware write failed ....recheck \n");
146 break;
147
148 case 2:
149 printf ("constants mismatch noticed on writing %s.bin file \n", pdsp_out_file_names[i]);
150 printf ("firmware write failed ....recheck \n");
151 break;
152
153 case 1:
154 printf ("version mismatch noticed on writing %s.bin file \n", pdsp_out_file_names[i]);
155 printf ("firmware write failed ....recheck \n");
156 break;
157
158 default:
159 printf ("all firmware written successfully...all matched \n");
160 break;
161 }
162}
diff --git a/fw/v1/pam.p b/fw/v1/pam.p
index b16d5f0..7e9dc81 100644
--- a/fw/v1/pam.p
+++ b/fw/v1/pam.p
@@ -73,6 +73,7 @@
73#include "pdsp_mem.h" 73#include "pdsp_mem.h"
74#include "pdsp_subs.h" 74#include "pdsp_subs.h"
75#include "pm_config.h" 75#include "pm_config.h"
76#include "pdsp_ver.h"
76#include "pm_constants.h" 77#include "pm_constants.h"
77#include "parsescope.h" 78#include "parsescope.h"
78 79
diff --git a/fw/v1/pdsp_ver.h b/fw/v1/pdsp_ver.h
index 7edaed1..713d6d3 100644
--- a/fw/v1/pdsp_ver.h
+++ b/fw/v1/pdsp_ver.h
@@ -62,9 +62,9 @@
62#ifndef _PDSP_VER_GEN2_H 62#ifndef _PDSP_VER_GEN2_H
63#define _PDSP_VER_GEN2_H 1 63#define _PDSP_VER_GEN2_H 1
64 64
65#define PASS_VERSION_STR "FF.FF.FF.FF" 65#define PASS_VERSION_STR "03.00.02.00"
66 66
67// Common PDSP version number 67// Common PDSP version number
68#define PASS_VERSION 0xFFFFFFFF 68#define PASS_VERSION 0x03000200
69 69
70#endif 70#endif
diff --git a/fw/v1/post_pdsp0.bib b/fw/v1/post_pdsp0.bib
index 5872263..7c161d4 100644
--- a/fw/v1/post_pdsp0.bib
+++ b/fw/v1/post_pdsp0.bib
Binary files differ
diff --git a/fw/v1/post_pdsp0.p b/fw/v1/post_pdsp0.p
index 863718d..ab24b3f 100644
--- a/fw/v1/post_pdsp0.p
+++ b/fw/v1/post_pdsp0.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#define PASS_FIRST_PDSP 58#define PASS_FIRST_PDSP
60#define PASS_PROC_PKT_FORWARD 59#define PASS_PROC_PKT_FORWARD
61#define PASS_PROC_USR_STATS_FIFO 60#define PASS_PROC_USR_STATS_FIFO
diff --git a/fw/v1/post_pdsp1.bib b/fw/v1/post_pdsp1.bib
index f8d4a5f..8559cfe 100644
--- a/fw/v1/post_pdsp1.bib
+++ b/fw/v1/post_pdsp1.bib
Binary files differ
diff --git a/fw/v1/post_pdsp1.p b/fw/v1/post_pdsp1.p
index 7f02a9d..af83a6c 100644
--- a/fw/v1/post_pdsp1.p
+++ b/fw/v1/post_pdsp1.p
@@ -55,7 +55,6 @@
55// 55//
56// 56//
57#include "pm_config.h" 57#include "pm_config.h"
58#include "pdsp_ver.h"
59#define PASS_LAST_PDSP 58#define PASS_LAST_PDSP
60#define PASS_PROC_PKT_FORWARD 59#define PASS_PROC_PKT_FORWARD
61#define PASS_POST_PROCESSING 60#define PASS_POST_PROCESSING