diff options
-rw-r--r-- | firmware/target/arm/as3525/button-clip.c | 1 | ||||
-rw-r--r-- | rbutil/mkamsboot/dualboot.c | 13 | ||||
-rw-r--r-- | rbutil/mkamsboot/dualboot.h | 2 | ||||
-rw-r--r-- | rbutil/mkamsboot/dualboot/dualboot.S | 6 |
4 files changed, 15 insertions, 7 deletions
diff --git a/firmware/target/arm/as3525/button-clip.c b/firmware/target/arm/as3525/button-clip.c index 18bac8aa01..2bd472c049 100644 --- a/firmware/target/arm/as3525/button-clip.c +++ b/firmware/target/arm/as3525/button-clip.c | |||
@@ -52,6 +52,7 @@ static const int rows[3] = { | |||
52 | void button_init_device(void) | 52 | void button_init_device(void) |
53 | { | 53 | { |
54 | GPIOA_DIR &= ~((1<<7) | (1<<3)); | 54 | GPIOA_DIR &= ~((1<<7) | (1<<3)); |
55 | CCU_IO &= ~(3<<2); | ||
55 | IN_DIR &= ~((1<<2) | (1<<1) | (1<<0)); | 56 | IN_DIR &= ~((1<<2) | (1<<1) | (1<<0)); |
56 | 57 | ||
57 | for (int i = 0; i < 3; i++) { | 58 | for (int i = 0; i < 3; i++) { |
diff --git a/rbutil/mkamsboot/dualboot.c b/rbutil/mkamsboot/dualboot.c index 050e114ef8..d97ab0e95b 100644 --- a/rbutil/mkamsboot/dualboot.c +++ b/rbutil/mkamsboot/dualboot.c | |||
@@ -89,21 +89,22 @@ unsigned char dualboot_fuze[176] = { | |||
89 | 0x01, 0x20, 0x43, 0xe4, 0x04, 0x00, 0x53, 0xe1, 0xfb, 0xff, 0xff, 0x1a, 0x01, 0x00, 0x83, 0xe2, | 89 | 0x01, 0x20, 0x43, 0xe4, 0x04, 0x00, 0x53, 0xe1, 0xfb, 0xff, 0xff, 0x1a, 0x01, 0x00, 0x83, 0xe2, |
90 | 0x00, 0x20, 0xa0, 0xe3, 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8, 0x00, 0x00, 0x0d, 0xc8 | 90 | 0x00, 0x20, 0xa0, 0xe3, 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8, 0x00, 0x00, 0x0d, 0xc8 |
91 | }; | 91 | }; |
92 | unsigned char dualboot_clipv2[220] = { | 92 | unsigned char dualboot_clipv2[240] = { |
93 | 0x06, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 93 | 0x06, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
94 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 94 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
95 | 0x24, 0x00, 0x1f, 0xe5, 0x24, 0x10, 0x1f, 0xe5, 0x01, 0x20, 0x40, 0xe0, 0x18, 0x30, 0x1f, 0xe5, | 95 | 0x24, 0x00, 0x1f, 0xe5, 0x24, 0x10, 0x1f, 0xe5, 0x01, 0x20, 0x40, 0xe0, 0x18, 0x30, 0x1f, 0xe5, |
96 | 0x01, 0x40, 0x50, 0xe4, 0x01, 0x40, 0x43, 0xe4, 0x00, 0x00, 0x52, 0xe1, 0xfb, 0xff, 0xff, 0x1a, | 96 | 0x01, 0x40, 0x50, 0xe4, 0x01, 0x40, 0x43, 0xe4, 0x00, 0x00, 0x52, 0xe1, 0xfb, 0xff, 0xff, 0x1a, |
97 | 0x2c, 0x30, 0x0f, 0xe5, 0x88, 0x00, 0x9f, 0xe5, 0x00, 0x10, 0x90, 0xe5, 0x01, 0x18, 0x81, 0xe3, | 97 | 0x2c, 0x30, 0x0f, 0xe5, 0x98, 0x00, 0x9f, 0xe5, 0x00, 0x10, 0x90, 0xe5, 0x01, 0x18, 0x81, 0xe3, |
98 | 0x00, 0x10, 0x80, 0xe5, 0x7c, 0x00, 0x9f, 0xe5, 0x38, 0x10, 0xa0, 0xe3, 0x00, 0x14, 0x80, 0xe5, | 98 | 0x00, 0x10, 0x80, 0xe5, 0x8c, 0x00, 0x9f, 0xe5, 0x00, 0x10, 0x90, 0xe5, 0x0c, 0x10, 0xc1, 0xe3, |
99 | 0x00, 0x10, 0x80, 0xe5, 0x80, 0x00, 0x9f, 0xe5, 0x38, 0x10, 0xa0, 0xe3, 0x00, 0x14, 0x80, 0xe5, | ||
99 | 0x08, 0x10, 0xa0, 0xe3, 0x20, 0x10, 0x80, 0xe5, 0x10, 0x10, 0xa0, 0xe3, 0x40, 0x10, 0x80, 0xe5, | 100 | 0x08, 0x10, 0xa0, 0xe3, 0x20, 0x10, 0x80, 0xe5, 0x10, 0x10, 0xa0, 0xe3, 0x40, 0x10, 0x80, 0xe5, |
100 | 0x20, 0x10, 0xa0, 0xe3, 0x80, 0x10, 0x80, 0xe5, 0x00, 0x10, 0xa0, 0xe3, 0x40, 0x10, 0x80, 0xe5, | 101 | 0x20, 0x10, 0xa0, 0xe3, 0x80, 0x10, 0x80, 0xe5, 0x00, 0x10, 0xa0, 0xe3, 0x40, 0x10, 0x80, 0xe5, |
101 | 0x05, 0x10, 0xa0, 0xe3, 0x01, 0x10, 0x51, 0xe2, 0xfd, 0xff, 0xff, 0x1a, 0x04, 0x10, 0x90, 0xe5, | 102 | 0x05, 0x10, 0xa0, 0xe3, 0x01, 0x10, 0x51, 0xe2, 0xfd, 0xff, 0xff, 0x1a, 0x04, 0x10, 0x90, 0xe5, |
102 | 0x00, 0x00, 0x51, 0xe3, 0x02, 0x00, 0x00, 0x0a, 0x8c, 0x00, 0x1f, 0xe5, 0x8c, 0x10, 0x1f, 0xe5, | 103 | 0x00, 0x00, 0x51, 0xe3, 0x02, 0x00, 0x00, 0x0a, 0x9c, 0x00, 0x1f, 0xe5, 0x9c, 0x10, 0x1f, 0xe5, |
103 | 0x01, 0x00, 0x00, 0xea, 0xa0, 0x00, 0x1f, 0xe5, 0xa0, 0x10, 0x1f, 0xe5, 0x98, 0x30, 0x1f, 0xe5, | 104 | 0x01, 0x00, 0x00, 0xea, 0xb0, 0x00, 0x1f, 0xe5, 0xb0, 0x10, 0x1f, 0xe5, 0xa8, 0x30, 0x1f, 0xe5, |
104 | 0x02, 0x50, 0x83, 0xe2, 0x01, 0x40, 0x43, 0xe0, 0x01, 0x20, 0x50, 0xe4, 0x01, 0x20, 0x43, 0xe4, | 105 | 0x02, 0x50, 0x83, 0xe2, 0x01, 0x40, 0x43, 0xe0, 0x01, 0x20, 0x50, 0xe4, 0x01, 0x20, 0x43, 0xe4, |
105 | 0x04, 0x00, 0x53, 0xe1, 0xfb, 0xff, 0xff, 0x1a, 0x01, 0x00, 0x83, 0xe2, 0x00, 0x20, 0xa0, 0xe3, | 106 | 0x04, 0x00, 0x53, 0xe1, 0xfb, 0xff, 0xff, 0x1a, 0x01, 0x00, 0x83, 0xe2, 0x00, 0x20, 0xa0, 0xe3, |
106 | 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8, 0x00, 0x00, 0x0e, 0xc8 | 107 | 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8, 0x0c, 0x00, 0x10, 0xc8, 0x00, 0x00, 0x0e, 0xc8 |
107 | }; | 108 | }; |
108 | unsigned char dualboot_clipplus[184] = { | 109 | unsigned char dualboot_clipplus[184] = { |
109 | 0x06, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 110 | 0x06, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
diff --git a/rbutil/mkamsboot/dualboot.h b/rbutil/mkamsboot/dualboot.h index 2a470d3a03..774c35c119 100644 --- a/rbutil/mkamsboot/dualboot.h +++ b/rbutil/mkamsboot/dualboot.h | |||
@@ -6,7 +6,7 @@ extern unsigned char dualboot_e200v2[176]; | |||
6 | extern unsigned char dualboot_c200v2[272]; | 6 | extern unsigned char dualboot_c200v2[272]; |
7 | extern unsigned char dualboot_m200v4[180]; | 7 | extern unsigned char dualboot_m200v4[180]; |
8 | extern unsigned char dualboot_fuze[176]; | 8 | extern unsigned char dualboot_fuze[176]; |
9 | extern unsigned char dualboot_clipv2[220]; | 9 | extern unsigned char dualboot_clipv2[240]; |
10 | extern unsigned char dualboot_clipplus[184]; | 10 | extern unsigned char dualboot_clipplus[184]; |
11 | extern unsigned char dualboot_fuzev2[176]; | 11 | extern unsigned char dualboot_fuzev2[176]; |
12 | extern unsigned char dualboot_clipzip[232]; | 12 | extern unsigned char dualboot_clipzip[232]; |
diff --git a/rbutil/mkamsboot/dualboot/dualboot.S b/rbutil/mkamsboot/dualboot/dualboot.S index 932e91a4a3..4e4dbe5505 100644 --- a/rbutil/mkamsboot/dualboot/dualboot.S +++ b/rbutil/mkamsboot/dualboot/dualboot.S | |||
@@ -29,6 +29,7 @@ | |||
29 | .set CGU_PROC, 0xC80F0010 | 29 | .set CGU_PROC, 0xC80F0010 |
30 | .set CGU_PERI, 0xC80F0014 | 30 | .set CGU_PERI, 0xC80F0014 |
31 | .set CGU_DBOP, 0xC80F0038 | 31 | .set CGU_DBOP, 0xC80F0038 |
32 | .set CCU_IO, 0xC810000C | ||
32 | .set DBOP, 0xC8120000 | 33 | .set DBOP, 0xC8120000 |
33 | .set I2C_BASE, 0xC8070000 | 34 | .set I2C_BASE, 0xC8070000 |
34 | .set I2C_DATA, 0x00 | 35 | .set I2C_DATA, 0x00 |
@@ -111,6 +112,11 @@ uclcopy: | |||
111 | .set row, (1<<4) /* enable output on D4 */ | 112 | .set row, (1<<4) /* enable output on D4 */ |
112 | .set col, (1<<0) /* read keyscan column D0 */ | 113 | .set col, (1<<0) /* read keyscan column D0 */ |
113 | 114 | ||
115 | ldr r0, =CCU_IO | ||
116 | ldr r1, [r0] | ||
117 | bic r1, r1, #(3<<2) @ XPD works as general purpose IO | ||
118 | str r1, [r0] | ||
119 | |||
114 | ldr r0, =GPIOD | 120 | ldr r0, =GPIOD |
115 | mov r1, #((1<<5)|(1<<4)|(1<<3)) /* all rows as output */ | 121 | mov r1, #((1<<5)|(1<<4)|(1<<3)) /* all rows as output */ |
116 | str r1, [r0, #0x400] | 122 | str r1, [r0, #0x400] |