Difference between revisions of "CPCAP"

From MILEDROPEDIA
Jump to: navigation, search
m (Code Samples)
m (Code Samples)
Line 12: Line 12:
  
 
<syntaxhighlight lang="c" line>
 
<syntaxhighlight lang="c" line>
uint32_t cpcap_regacc_read(uint16_t reg, uint32_t *buf, uint32_t mask)
+
uint16_t cpcap_regacc_read(uint16_t reg, uint16_t *buf, uint16_t mask)
 
{
 
{
 
   treg = (reg << 19) >> 1;
 
   treg = (reg << 19) >> 1;
Line 22: Line 22:
 
}
 
}
  
uint32_t cpcap_regacc_write(uint16_t reg, uint32_t data, uint32_t mask)
+
uint16_t cpcap_regacc_write(uint16_t reg, uint16_t data, uint16_t mask)
 
{
 
{
   uint32_t buf = 0;
+
   uint16_t buf = 0;
 
   uint16_t treg;
 
   uint16_t treg;
 +
 
   cpcap_regacc_read(reg, &buf, 65535);
 
   cpcap_regacc_read(reg, &buf, 65535);
 
   buf &= ~mask;
 
   buf &= ~mask;
Line 38: Line 39:
 
void cpcap_init_chain()
 
void cpcap_init_chain()
 
{
 
{
   cpcap_regacc_write(387, 25656, 65535);
+
   cpcap_regacc_write(387, 25656, 0xFFFF);
   cpcap_regacc_write(394, 40, 65535);
+
   cpcap_regacc_write(394, 40, 0xFFFF);
   cpcap_regacc_write(12, 257, 65535);
+
   cpcap_regacc_write(12, 257, 0xFFFF);
   cpcap_regacc_write(391, 1337, 65535);
+
   cpcap_regacc_write(391, 1337, 0xFFFF);
   cpcap_regacc_write(385, 513, 65535);
+
   cpcap_regacc_write(385, 513, 0xFFFF);
   cpcap_regacc_write(386, 196, 65535);
+
   cpcap_regacc_write(386, 196, 0xFFFF);
   cpcap_regacc_write(397, 19, 65535);
+
   cpcap_regacc_write(397, 19, 0xFFFF);
 
   delay(1);
 
   delay(1);
   cpcap_regacc_write(411, 324, 65535);
+
   cpcap_regacc_write(411, 324, 0xFFFF);
   cpcap_regacc_write(412, 41, 65535);
+
   cpcap_regacc_write(412, 41, 0xFFFF;
   cpcap_regacc_write(413, 41, 65535);
+
   cpcap_regacc_write(413, 41, 0xFFFF);
   cpcap_regacc_write(768, 4096, 65535);
+
   cpcap_regacc_write(768, 4096, 0xFFFF);
   cpcap_regacc_write(769, 16755, 65407);
+
   cpcap_regacc_write(769, 16755, 0xFF7F);
   cpcap_regacc_write(896, 4097, 65535);
+
   cpcap_regacc_write(896, 4097, 0xFFFF);
   cpcap_regacc_write(897, 49184, 65535);
+
   cpcap_regacc_write(897, 49184, 0xFFFF);
   cpcap_regacc_write(898, 15615, 65535);
+
   cpcap_regacc_write(898, 15615, 0xFFFF);
   cpcap_regacc_write(1024, 16383, 65535);
+
   cpcap_regacc_write(1024, 16383, 0xFFFF);
   cpcap_regacc_write(7936, 21577, 65535);
+
   cpcap_regacc_write(7936, 21577, 0xFFFF);
   cpcap_regacc_write(7970, 2720, 65535);
+
   cpcap_regacc_write(7970, 2720, 0xFFFF);
   cpcap_regacc_write(7936, 0, 65535);
+
   cpcap_regacc_write(7936, 0, 0xFFFF);
   cpcap_regacc_write(384, 56068, 65535);
+
   cpcap_regacc_write(384, 56068, 0xFFFF);
 
}
 
}
  
 
void cpcap_reset_chain()
 
void cpcap_reset_chain()
 
{
 
{
   cpcap_regacc_write(384, 56084, 65535);
+
   cpcap_regacc_write(384, 56084, 0xFFFF);
   cpcap_regacc_write(385, 513, 65535);
+
   cpcap_regacc_write(385, 513, 0xFFFF);
   cpcap_regacc_write(386, 196, 65535);
+
   cpcap_regacc_write(386, 196, 0xFFFF);
   cpcap_regacc_write(387, 25652, 65535);
+
   cpcap_regacc_write(387, 25652, 0xFFFF);
   cpcap_regacc_write(388, 15380, 65535);
+
   cpcap_regacc_write(388, 15380, 0xFFFF);
   cpcap_regacc_write(389, 25652, 65535);
+
   cpcap_regacc_write(389, 25652, 0xFFFF);
   cpcap_regacc_write(390, 15380, 65535);
+
   cpcap_regacc_write(390, 15380, 0xFFFF);
   cpcap_regacc_write(391, 1337, 65535);
+
   cpcap_regacc_write(391, 1337, 0xFFFF);
   cpcap_regacc_write(392, 18740, 65535);
+
   cpcap_regacc_write(392, 18740, 0xFFFF);
   cpcap_regacc_write(394, 0, 65535);
+
   cpcap_regacc_write(394, 0, 0xFFFF);
   cpcap_regacc_write(395, 0, 65535);
+
   cpcap_regacc_write(395, 0, 0xFFFF);
   cpcap_regacc_write(396, 0, 65535);
+
   cpcap_regacc_write(396, 0, 0xFFFF);
   cpcap_regacc_write(398, 0, 65535);
+
   cpcap_regacc_write(398, 0, 0xFFFF);
   cpcap_regacc_write(399, 0, 65535);
+
   cpcap_regacc_write(399, 0, 0xFFFF);
   cpcap_regacc_write(400, 0, 65535);
+
   cpcap_regacc_write(400, 0, 0xFFFF);
   cpcap_regacc_write(401, 0, 65535);
+
   cpcap_regacc_write(401, 0, 0xFFFF);
   cpcap_regacc_write(402, 0, 65535);
+
   cpcap_regacc_write(402, 0, 0xFFFF);
   cpcap_regacc_write(403, 91, 65535);
+
   cpcap_regacc_write(403, 91, 0xFFFF);
   cpcap_regacc_write(404, 0, 65535);
+
   cpcap_regacc_write(404, 0, 0xFFFF);
   cpcap_regacc_write(405, 0, 65535);
+
   cpcap_regacc_write(405, 0, 0xFFFF);
   cpcap_regacc_write(406, 41, 65535);
+
   cpcap_regacc_write(406, 41, 0xFFFF);
   cpcap_regacc_write(407, 0, 65535);
+
   cpcap_regacc_write(407, 0, 0xFFFF);
   cpcap_regacc_write(408, 0, 65535);
+
   cpcap_regacc_write(408, 0, 0xFFFF);
   cpcap_regacc_write(409, 0, 65535);
+
   cpcap_regacc_write(409, 0, 0xFFFF);
   cpcap_regacc_write(410, 0, 65535);
+
   cpcap_regacc_write(410, 0, 0xFFFF);
   cpcap_regacc_write(411, 0, 65535);
+
   cpcap_regacc_write(411, 0, 0xFFFF);
   cpcap_regacc_write(412, 41, 65535);
+
   cpcap_regacc_write(412, 41, 0xFFFF);
   cpcap_regacc_write(413, 41, 65535);
+
   cpcap_regacc_write(413, 41, 0xFFFF);
   cpcap_regacc_write(512, 0, 65535);
+
   cpcap_regacc_write(512, 0, 0xFFFF);
   cpcap_regacc_write(1024, 0, 65535);
+
   cpcap_regacc_write(1024, 0, 0xFFFF);
   cpcap_regacc_write(1025, 0, 65535);
+
   cpcap_regacc_write(1025, 0, 0xFFFF);
   cpcap_regacc_write(1026, 0, 65535);
+
   cpcap_regacc_write(1026, 0, 0xFFFF);
 
}
 
}
  

Revision as of 19:33, 14 January 2012

it is a Motorola's name of Power Manager chip (TWL5030 for our phones)

Block Diagram

TPS65950 Block Diagram.png

Debugging

Code Samples

  1. uint16_t cpcap_regacc_read(uint16_t reg, uint16_t *buf, uint16_t mask)
  2. {
  3.   treg = (reg << 19) >> 1;
  4.   spi_send_ORR(0, 0);
  5.   spi_read_write_2(0, 0, treg, buf);
  6.   spi_send_BIC(0, 0);
  7.   *buf &= mask;
  8.   return *buf;
  9. }
  10.  
  11. uint16_t cpcap_regacc_write(uint16_t reg, uint16_t data, uint16_t mask)
  12. {
  13.   uint16_t buf = 0;
  14.   uint16_t treg;
  15.  
  16.   cpcap_regacc_read(reg, &buf, 65535);
  17.   buf &= ~mask;
  18.   __asm { UBFX.W  treg, reg, #0, #0xD ; Unsigned Bit Field Extract }
  19.   treg = (treg << 18) | 0x80000000 | (uint16_t)(data & mask | (uint16_t)buf);
  20.   spi_send_ORR(0, 0);
  21.   spi_read_write_2(0, 0, treg, buf);
  22.   spi_send_BIC(0, 0);
  23.   return buf;
  24. }
  25.  
  26. void cpcap_init_chain()
  27. {
  28.   cpcap_regacc_write(387, 25656, 0xFFFF);
  29.   cpcap_regacc_write(394, 40, 0xFFFF);
  30.   cpcap_regacc_write(12, 257, 0xFFFF);
  31.   cpcap_regacc_write(391, 1337, 0xFFFF);
  32.   cpcap_regacc_write(385, 513, 0xFFFF);
  33.   cpcap_regacc_write(386, 196, 0xFFFF);
  34.   cpcap_regacc_write(397, 19, 0xFFFF);
  35.   delay(1);
  36.   cpcap_regacc_write(411, 324, 0xFFFF);
  37.   cpcap_regacc_write(412, 41, 0xFFFF;
  38.   cpcap_regacc_write(413, 41, 0xFFFF);
  39.   cpcap_regacc_write(768, 4096, 0xFFFF);
  40.   cpcap_regacc_write(769, 16755, 0xFF7F);
  41.   cpcap_regacc_write(896, 4097, 0xFFFF);
  42.   cpcap_regacc_write(897, 49184, 0xFFFF);
  43.   cpcap_regacc_write(898, 15615, 0xFFFF);
  44.   cpcap_regacc_write(1024, 16383, 0xFFFF);
  45.   cpcap_regacc_write(7936, 21577, 0xFFFF);
  46.   cpcap_regacc_write(7970, 2720, 0xFFFF);
  47.   cpcap_regacc_write(7936, 0, 0xFFFF);
  48.   cpcap_regacc_write(384, 56068, 0xFFFF);
  49. }
  50.  
  51. void cpcap_reset_chain()
  52. {
  53.   cpcap_regacc_write(384, 56084, 0xFFFF);
  54.   cpcap_regacc_write(385, 513, 0xFFFF);
  55.   cpcap_regacc_write(386, 196, 0xFFFF);
  56.   cpcap_regacc_write(387, 25652, 0xFFFF);
  57.   cpcap_regacc_write(388, 15380, 0xFFFF);
  58.   cpcap_regacc_write(389, 25652, 0xFFFF);
  59.   cpcap_regacc_write(390, 15380, 0xFFFF);
  60.   cpcap_regacc_write(391, 1337, 0xFFFF);
  61.   cpcap_regacc_write(392, 18740, 0xFFFF);
  62.   cpcap_regacc_write(394, 0, 0xFFFF);
  63.   cpcap_regacc_write(395, 0, 0xFFFF);
  64.   cpcap_regacc_write(396, 0, 0xFFFF);
  65.   cpcap_regacc_write(398, 0, 0xFFFF);
  66.   cpcap_regacc_write(399, 0, 0xFFFF);
  67.   cpcap_regacc_write(400, 0, 0xFFFF);
  68.   cpcap_regacc_write(401, 0, 0xFFFF);
  69.   cpcap_regacc_write(402, 0, 0xFFFF);
  70.   cpcap_regacc_write(403, 91, 0xFFFF);
  71.   cpcap_regacc_write(404, 0, 0xFFFF);
  72.   cpcap_regacc_write(405, 0, 0xFFFF);
  73.   cpcap_regacc_write(406, 41, 0xFFFF);
  74.   cpcap_regacc_write(407, 0, 0xFFFF);
  75.   cpcap_regacc_write(408, 0, 0xFFFF);
  76.   cpcap_regacc_write(409, 0, 0xFFFF);
  77.   cpcap_regacc_write(410, 0, 0xFFFF);
  78.   cpcap_regacc_write(411, 0, 0xFFFF);
  79.   cpcap_regacc_write(412, 41, 0xFFFF);
  80.   cpcap_regacc_write(413, 41, 0xFFFF);
  81.   cpcap_regacc_write(512, 0, 0xFFFF);
  82.   cpcap_regacc_write(1024, 0, 0xFFFF);
  83.   cpcap_regacc_write(1025, 0, 0xFFFF);
  84.   cpcap_regacc_write(1026, 0, 0xFFFF);
  85. }
  86.  
  87. void cpcap_init()
  88. {
  89.   log_write("\r\n************* \r\n");
  90.   log_write("CPCAP_init( ) \r\n");
  91.   log_write("************* \r\n");
  92.   spi_read_write_3();
  93.   cpcap_check_ULPI_and_VBUS();
  94.   cpcap_init_chain();
  95. }

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


ROM:8F31C666                 ; =============== S U B R O U T I N E =======================================
ROM:8F31C666
ROM:8F31C666                 ; Attributes: noreturn
ROM:8F31C666
ROM:8F31C666                 ; int __fastcall pcap_init()
ROM:8F31C666                 pcap_init                                                   ; CODE XREF: hardware_init+1E�p
ROM:8F31C666 000 10 B5                       PUSH    {R4,LR}                             ; Push registers
ROM:8F31C668 008 59 A0                       ADR     R0, comments_0_msg                  ; "\r\n************* \r\n"
ROM:8F31C66A 008 01 F0 F6 F9                 BL      log_write                           ; Branch with Link
ROM:8F31C66E 008 5D A0                       ADR     R0, CPCAP_INIT_MSG                  ; "CPCAP_init( ) \r\n"
ROM:8F31C670 008 01 F0 F3 F9                 BL      log_write                           ; Branch with Link
ROM:8F31C674 008 60 A0                       ADR     R0, comments_1_msg                  ; "************* \r\n"
ROM:8F31C676 008 01 F0 F0 F9                 BL      log_write                           ; Branch with Link
ROM:8F31C67A 008 05 F0 2F FE                 BL      spi_read_write_3                    ; Branch with Link
ROM:8F31C67E 008 FF F7 EA FE                 BL      check_ULPI_and_VBUS                 ; Branch with Link
ROM:8F31C682 008 FF F7 53 FF                 BL      pcap_init_key                       ; Branch with Link
ROM:8F31C686                 ; ---------------------------------------------------------------------------
ROM:8F31C686 008 80 21                       MOVS    R1, #0x80                           ; Rd = Op2
ROM:8F31C688 008 60 48                       LDR     R0, =0x8FB52188                     ; Load from Memory
ROM:8F31C68A 008 0D F0 56 EA                 BLX     memclr_1                            ; Branch with Link and Exchange (immediate address)
ROM:8F31C68E 008 10 BD                       POP     {R4,PC}                             ; Pop registers
ROM:8F31C68E                 ; End of function pcap_init
ROM:8F31C68E

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


ROM:8F31C52C                 ; =============== S U B R O U T I N E =======================================
ROM:8F31C52C
ROM:8F31C52C                 ; Attributes: noreturn
ROM:8F31C52C
ROM:8F31C52C                 ; void __fastcall pcap_init_key()
ROM:8F31C52C                 pcap_init_key                                               ; CODE XREF: pcap_init+1C�p
ROM:8F31C52C 000 10 B5                       PUSH    {R4,LR}                             ; Push registers
ROM:8F31C52E 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C532 008 46 F2 38 41                 MOVW    R1, #0x6438                         ; arg_2
ROM:8F31C536 008 40 F2 83 10                 MOVW    R0, #0x183                          ; arg_1
ROM:8F31C53A 008 FF F7 A7 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C53E 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C542 008 28 21                       MOVS    R1, #0x28                           ; arg_2
ROM:8F31C544 008 4F F4 C5 70                 MOV.W   R0, #0x18A                          ; arg_1
ROM:8F31C548 008 FF F7 A0 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C54C 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C550 008 40 F2 01 11                 MOVW    R1, #0x101                          ; arg_2
ROM:8F31C554 008 0C 20                       MOVS    R0, #0xC                            ; arg_1
ROM:8F31C556 008 FF F7 99 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C55A 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C55E 008 40 F2 39 51                 MOVW    R1, #0x539                          ; arg_2
ROM:8F31C562 008 40 F2 87 10                 MOVW    R0, #0x187                          ; arg_1
ROM:8F31C566 008 FF F7 91 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C56A 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C56E 008 40 F2 01 21                 MOVW    R1, #0x201                          ; arg_2
ROM:8F31C572 008 40 F2 81 10                 MOVW    R0, #0x181                          ; arg_1
ROM:8F31C576 008 FF F7 89 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C57A 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C57E 008 C4 21                       MOVS    R1, #0xC4                           ; arg_2
ROM:8F31C580 008 4F F4 C1 70                 MOV.W   R0, #0x182                          ; arg_1
ROM:8F31C584 008 FF F7 82 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C588 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C58C 008 13 21                       MOVS    R1, #0x13                           ; arg_2
ROM:8F31C58E 008 40 F2 8D 10                 MOVW    R0, #0x18D                          ; arg_1
ROM:8F31C592 008 FF F7 7B FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C596 008 01 20                       MOVS    R0, #1                              ; pause_size
ROM:8F31C598 008 FF F7 24 FD                 BL      delay                               ; Branch with Link
ROM:8F31C59C 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C5A0 008 4F F4 A2 71                 MOV.W   R1, #0x144                          ; arg_2
ROM:8F31C5A4 008 40 F2 9B 10                 MOVW    R0, #0x19B                          ; arg_1
ROM:8F31C5A8 008 FF F7 70 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C5AC 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C5B0 008 29 21                       MOVS    R1, #0x29                           ; arg_2
ROM:8F31C5B2 008 4F F4 CE 70                 MOV.W   R0, #0x19C                          ; arg_1
ROM:8F31C5B6 008 FF F7 69 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C5BA 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C5BE 008 29 21                       MOVS    R1, #0x29                           ; arg_2
ROM:8F31C5C0 008 40 F2 9D 10                 MOVW    R0, #0x19D                          ; arg_1
ROM:8F31C5C4 008 FF F7 62 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C5C8 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C5CC 008 4F F4 80 51                 MOV.W   R1, #0x1000                         ; arg_2
ROM:8F31C5D0 008 4F F4 40 70                 MOV.W   R0, #0x300                          ; arg_1
ROM:8F31C5D4 008 FF F7 5A FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C5D8 008 4F F6 7F 72                 MOVW    R2, #0xFF7F                         ; arg_3
ROM:8F31C5DC 008 44 F2 73 11                 MOVW    R1, #0x4173                         ; arg_2
ROM:8F31C5E0 008 40 F2 01 30                 MOVW    R0, #0x301                          ; arg_1
ROM:8F31C5E4 008 FF F7 52 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C5E8 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C5EC 008 41 F2 01 01                 MOVW    R1, #0x1001                         ; arg_2
ROM:8F31C5F0 008 4F F4 60 70                 MOV.W   R0, #0x380                          ; arg_1
ROM:8F31C5F4 008 FF F7 4A FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C5F8 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C5FC 008 4C F2 20 01                 MOVW    R1, #0xC020                         ; arg_2
ROM:8F31C600 008 40 F2 81 30                 MOVW    R0, #0x381                          ; arg_1
ROM:8F31C604 008 FF F7 42 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C608 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C60C 008 43 F6 FF 41                 MOVW    R1, #0x3CFF                         ; arg_2
ROM:8F31C610 008 40 F2 82 30                 MOVW    R0, #0x382                          ; arg_1
ROM:8F31C614 008 FF F7 3A FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C618 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C61C 008 91 10                       ASRS    R1, R2, #2                          ; Arithmetic Shift Right
ROM:8F31C61E 008 4F F4 80 60                 MOV.W   R0, #0x400                          ; arg_1
ROM:8F31C622 008 FF F7 33 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C626 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C62A 008 45 F2 49 41                 MOVW    R1, #0x5449                         ; arg_2
ROM:8F31C62E 008 4F F4 F8 50                 MOV.W   R0, #0x1F00                         ; arg_1
ROM:8F31C632 008 FF F7 2B FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C636 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C63A 008 4F F4 2A 61                 MOV.W   R1, #0xAA0                          ; arg_2
ROM:8F31C63E 008 41 F6 22 70                 MOVW    R0, #0x1F22                         ; arg_1
ROM:8F31C642 008 FF F7 23 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C646 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C64A 008 00 21                       MOVS    R1, #0                              ; arg_2
ROM:8F31C64C 008 4F F4 F8 50                 MOV.W   R0, #0x1F00                         ; arg_1
ROM:8F31C650 008 FF F7 1C FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C654 008 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C658 008 4D F6 04 31                 MOVW    R1, #0xDB04                         ; arg_2
ROM:8F31C65C 008 4F F4 C0 70                 MOV.W   R0, #0x180                          ; arg_1
ROM:8F31C660 008 FF F7 14 FF                 BL      pcap_send_something                 ; Branch with Link
ROM:8F31C664 008 10 BD                       POP     {R4,PC}                             ; Pop registers
ROM:8F31C664                 ; End of function pcap_init_key
ROM:8F31C664

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


ROM:8F31C48C
ROM:8F31C48C                 ; =============== S U B R O U T I N E =======================================
ROM:8F31C48C
ROM:8F31C48C
ROM:8F31C48C                 ; int __fastcall pcap_send_something(int arg_1, int arg_2, int arg_3)
ROM:8F31C48C                 pcap_send_something                                         ; CODE XREF: enter_os+2C�p
ROM:8F31C48C                                                                             ; boot_load_and_validate_objects+C�p ...
ROM:8F31C48C
ROM:8F31C48C                 var_20          = -0x20
ROM:8F31C48C                 var_1C          = -0x1C
ROM:8F31C48C
ROM:8F31C48C 000 2D E9 FC 41                 PUSH.W  {R2-R8,LR}                          ; Push registers
ROM:8F31C490 020 04 46                       MOV     R4, R0                              ; Rd = Op2
ROM:8F31C492 020 0D 46                       MOV     R5, R1                              ; Rd = Op2
ROM:8F31C494 020 16 46                       MOV     R6, R2                              ; Rd = Op2
ROM:8F31C496 020 00 20                       MOVS    R0, #0                              ; Rd = Op2
ROM:8F31C498 020 01 90                       STR     R0, [SP,#0x20+var_1C]               ; Store to Memory
ROM:8F31C49A 020 00 27                       MOVS    R7, #0                              ; Rd = Op2
ROM:8F31C49C 020 00 90                       STR     R0, [SP,#0x20+var_20]               ; Store to Memory
ROM:8F31C49E 020 4F F6 FF 72                 MOVW    R2, #0xFFFF                         ; arg_3
ROM:8F31C4A2 020 01 A9                       ADD     R1, SP, #0x20+var_1C                ; arg_2
ROM:8F31C4A4 020 20 46                       MOV     R0, R4                              ; arg_1
ROM:8F31C4A6 020 FF F7 43 FF                 BL      read_pcap_reg                       ; Branch with Link
ROM:8F31C4AA 020 01 98                       LDR     R0, [SP,#0x20+var_1C]               ; Load from Memory
ROM:8F31C4AC 020 B0 43                       BICS    R0, R6                              ; Rd = Op1 & ~Op2
ROM:8F31C4AE 020 01 90                       STR     R0, [SP,#0x20+var_1C]               ; Store to Memory
ROM:8F31C4B0 020 05 EA 06 00                 AND.W   R0, R5, R6                          ; Rd = Op1 & Op2
ROM:8F31C4B4 020 01 99                       LDR     R1, [SP,#0x20+var_1C]               ; Load from Memory
ROM:8F31C4B6 020 40 EA 01 07                 ORR.W   R7, R0, R1                          ; Rd = Op1 | Op2
ROM:8F31C4BA 020 C4 F3 0C 00                 UBFX.W  R0, R4, #0, #0xD                    ; Unsigned Bit Field Extract
ROM:8F31C4BE 020 4F F0 00 41                 MOV.W   R1, #0x80000000                     ; Rd = Op2
ROM:8F31C4C2 020 41 EA 80 40                 ORR.W   R0, R1, R0,LSL#18                   ; Rd = Op1 | Op2
ROM:8F31C4C6 020 B9 B2                       UXTH    R1, R7                              ; Unsigned extend halfword to word
ROM:8F31C4C8 020 08 43                       ORRS    R0, R1                              ; Rd = Op1 | Op2
ROM:8F31C4CA 020 00 90                       STR     R0, [SP,#0x20+var_20]               ; Store to Memory
ROM:8F31C4CC 020 00 21                       MOVS    R1, #0                              ; Rd = Op2
ROM:8F31C4CE 020 08 46                       MOV     R0, R1                              ; Rd = Op2
ROM:8F31C4D0 020 06 F0 69 F8                 BL      spi_read_write_0                    ; Branch with Link
ROM:8F31C4D4 020 01 AB                       ADD     R3, SP, #0x20+var_1C                ; Rd = Op1 + Op2
ROM:8F31C4D6 020 6A 46                       MOV     R2, SP                              ; Rd = Op2
ROM:8F31C4D8 020 00 21                       MOVS    R1, #0                              ; Rd = Op2
ROM:8F31C4DA 020 08 46                       MOV     R0, R1                              ; Rd = Op2
ROM:8F31C4DC 020 06 F0 8F F8                 BL      spi_read_write_2                    ; Branch with Link
ROM:8F31C4E0 020 00 21                       MOVS    R1, #0                              ; Rd = Op2
ROM:8F31C4E2 020 08 46                       MOV     R0, R1                              ; Rd = Op2
ROM:8F31C4E4 020 06 F0 75 F8                 BL      spi_read_write_1                    ; Branch with Link
ROM:8F31C4E8 020 01 98                       LDR     R0, [SP,#0x20+var_1C]               ; Load from Memory
ROM:8F31C4EA 020 85 B2                       UXTH    R5, R0                              ; Unsigned extend halfword to word
ROM:8F31C4EC 020 01 98                       LDR     R0, [SP,#0x20+var_1C]               ; Load from Memory
ROM:8F31C4EE 020 BD E8 FC 81                 POP.W   {R2-R8,PC}                          ; Pop registers
ROM:8F31C4EE 020             ; End of function pcap_send_something
ROM:8F31C4EE
ROM:8F31C4EE                 ; ---------------------------------------------------------------------------
ROM:8F31C4F2 70 47                           DCW 0x4770
ROM:8F31C4F4