Академический Документы
Профессиональный Документы
Культура Документы
[hide] 1 FEX Descri ption 2 Port Definit ions 3 applic ation 3.1 [produ ct] 4 s ste! confi" uration 4.1 [tar"et ] 4.2 [card# $urn#p ara] 4.3 [card# $oot] 4.4 [card# $oot%# para] 4.& [card# $oot2#
para] 4.' [t(i#p ara] 4.) [uart# para] 4.* [+ta"#p ara] 4., [s ste !] 4.1% ["pio# para] 4.11 ["pio# init] & -D./ 0 &.1 [dra! #para] ' !ali confi" uration '.1 [!ali# para] '.2 ["2d#p ara] ) ethern et 0/1 confi" uration ).1 [e!ac #para] * i2c confi" uration *.1 [t(i%# para]
*.2 [t(i%# para] *.3 [t(i2# para] , uart confi" uration ,.1 [uart# para%] ,.2 [uart# para1] ,.3 [uart# para2] ,.4 [uart# para3] ,.& [uart# para4] ,.' [uart# para&] ,.) [uart# para'] ,.* [uart# para)] 1% spi confi" uration 1%.1 [spi%# para] 1%.2 [spi1# para] 1%.3 [spi2# para] 1%.4 [spi3# para] 11
extern al spi de2ice confi" uration 11.1 [spi#d e2ices] 11.2 [spi#$ oard%] 12 resisti 2e touch panel confi" uration 12.1 [rtp#p ara] 13 capacit i2e touch panel confi" uration 13.1 [ctp#p ara] 14 touch 3e confi" uration 14.1 [t3e # para] 1& !otor confi" uration 1&.1 [!otor #para] 1' loc3 confi"
uration 1'.1 [loc3s #para] 1) nand flash confi" uration 1).1 [nand# para] 1* disp init confi" uration 1*.1 [disp#i nit] 1, lcd[%41 ] confi" uration 1,.1 [lcd%# para] 1,.2 [lcd1# para] 2% t2 out dac confi" uration 2%.1 [t2#ou t#dac# para] 21 csi "pio confi" uration 21.1 [csi%# para] 21.2 [csi1#
para] 22 t2 confi" uration 22.1 [t2out #para] 22.2 [t2in# para] 23 sata confi" uration 23.1 [sata# para] 24 sd!! c confi" uration 24.1 [!!c% #para] 24.2 [!!c1 #para] 24.3 [!!c2 #para] 24.4 [!!c3 #para] 2& !e!or stic3 confi" uration 2&.1 [!s#p ara] 2' si! card confi" uration 2'.1 [s!c#
para] 2) ps2 confi" uration 2).1 [ps2#% #para] 2).2 [ps2#1 #para] 2* can $us confi" uration 2*.1 [can#p ara] 2, !atrix 3e $o ard 3% 23.1 [3e pa d#para ] 31 5-6 control fla"s 31.1 [us$c% ] 31.2 [us$c1 ] 31.3 [us$c2 ] 32 5-6 De2ice 32.1 [us$#f eature] 32.2 [!sc#f
eature] 33 G -ensor confi" uration 33.1 ["sens or#par a] 34 "ps "pio confi" uration 34.1 ["ps#p ara] 3& sdio (ifi confi" uration 3&.1 [sdio# (ifi#p ara] 3' us (ifi confi" uration 3'.1 [us$# (ifi#p ara] 3) 3G confi" uration 3).1 [3"#pa ra] 3* " rosc ope 3*.1 [" #pa ra] 3, li"ht sensor
3,.1 [ls#par a] 4% co!pa ss 4%.1 [co!p ass#pa ra] 41 $lue tooth 41.1 [$t#pa ra] 42 i2s confi" uration 42.1 [i2s#p ara] 43 spdif confi" uration 43.1 [spdif# para] 44 audio confi" uration 44.1 [audio #para] 4& infrare d re!ote confi" uration 4&.1 [ir#par a] 4' p!u confi" uration
4'.1 [p!u# para] 4) reco2e r 3e confi" uration 4).1 [reco2 er #3e ] 4* d2fs 2olta" e7 fre8ue nc ta$le confi" uration 4*.1 [d2fs#t a$le] 4, led confi" uration 4,.1 [leds# para] &% d na! ic confi" uration
FEX Description
/ FEX file defines 2arious aspects of ho( the -o1 (or3s. 9t confi"ures the GP9: pins and sets up D./0; Displa ; etc para!eters. Each line consists of a key < value pair co!$ination under a [sectionheader]. /ll three; [sectionheader]; key and value are case7sensiti2e. For co!!ents a se!i7colon =;> is used and e2er thin" follo(in" a se!i7colon is i"nored. ?he chip does not parse a textual 2ersion of a fex file; it "ets cleaned and co!piled $ a fex7co!piler. / re2erse en"ineerd open source 2ersion exists in the [sunxi7tools]. /lso a de7co!piler (hich ta3es a $inar script.bin and creates a textual script.fex. 5suall ; script.bin can $e found on the nanda $oot partition on /1% de2ices.
Port Definitions
Description of the GP9: confi"uration in the for!@
port@AportBA!ux featureBApullup4do(nBAdri2e capa$ilit BAoutput le2elB (here@ <port> is the port to confi"ure =ie. PC1&> <mux feature> is the function to confi"ure the port for; !ux % is as input; !ux 1 as output and for 27) see /1%4P9: for details. <pullup/down> is % < disa$ledD 1 < pullup ena$ledD 2 < pulldo(n ena$led =onl 2alid (hen port is an input> <drive capability> defines the output dri2e in !/; 2alues are %73 correspondin" to 1%!/; 2%!/; 3%!/ and 4%!/. <output level> sets the initial output le2el for the portD % < lo(D 1 < hi"h =onl 2alid for outputs> ?he <pullup/down> Adri2e capa$ilit B and Aoutput le2elB can $e set to AdefaultB (hich !eans donEt chan"e. /n trailin" AdefaultB options can $e o!itted.
application
[product] Product 2ersion and description. 9t see!s all fex files at this !o!ent are at 2ersion 1.% and use the default e2aluation $oard na!e. 9t doesnEt appear to $e used internall ; $ut re8uires further in2esti"ation.
version@ strin" indicatin" fex file 2ersion. machine@ strin" indicatin" the $oard na!e. "A10-EVB-V1.2" appears to $e a co!!on one; see!in"l to refer to the /1% E2aluation $oard 21.2.
?
s ste! confi"uration
[target] Fote@ $lue !odule chip pin confi"uration; the $lac3 !odule internal control confi"uration
1onfi"uration ite!s to confi"ure the !eanin" of boot clock@ 9nitial $oot fre8uenc in 0CG. dcdc! vol@ Dcdc2 output 2olta"e in !H. dcdc" vol@ Dcdc3 output 2olta"e in !H. ldo! vol@ Ido2 output 2olta"e in !H. ldo" vol@ Ido3 output 2olta"e in !H. ldo# vol@ Ido4 output 2olta"e in !H. power start@ % or 1. storage type@ % < nand; 1 < -D1ard; 2 < -P97nor 1onfi"uration exa!ple@
?
100) 3 dcdc2"vo# = % 1%00 & dcdc3"vo# = ' 12&0 ( #do2"vo# = 3000 ) #do3"vo# = 2)00 * #do%"vo# = 2)00 1 p##%"+re, = *'0 0 p##'"+re, = *'0 1 po-er"start = 1 1 stora e"t.pe = 0 [card burn para] 1onfi"uration exa!ple@
?
[card"!urn"para] card"no = 0 card"#ine = % 1 card"mode = 0 2 sdc"d1 = 3 port/01002232132de+au#t32de+au#t3 % sdc"d0 = & port/01012232132de+au#t32de+au#t3 ' sdc"c#$ = ( port/01022232132de+au#t32de+au#t3 ) sdc"cmd = * port/01032232132de+au#t32de+au#t3 1 sdc"d3 = 0 port/010%2232132de+au#t32de+au#t3 sdc"d2 = port/010&2232132de+au#t32de+au#t3 [card boot] logical start@ lo"ical startin" address (hen $ootin" fro! -D71ard. sprite gpio$@ 1onfi"uration exa!ple@
?
1[4ard"!oot] 2#o ica#"start = %0*'0 3sprite" pio0 = [card boot$ para] card ctrl@ card controller to $e used card high speed@ % for lo( speed; 1 for hi"h7speed card line@ Fu!$er of card data lines sdc cmd@ -D71ard co!!and si"nals GP9: confi"uration sdc clk@ -D71ard cloc3 si"nal GP9: confi"uration sdc d$@ -D71ard data % line si"nal GP9: confi"uration sdc d%@ -D71ard data 1 line si"nal GP9: confi"uration
sdc d!@ -D71ard data 2 line si"nal GP9: confi"uration sdc d"@ -D71ard data 3 line si"nal GP9: confi"uration 1onfi"uration exa!ple@
?
[card"!oot0"para] card"ctr# = 0 card"hi h"speed = 1 1 card"#ine = % 2 sdc"d1 = 3 port/01002232132de+au#t32de+au#t3 % sdc"d0 = & port/01012232132de+au#t32de+au#t3 ' sdc"c#$ = ( port/01022232132de+au#t32de+au#t3 ) sdc"cmd = * port/01032232132de+au#t32de+au#t3 1 sdc"d3 = 0 port/010%2232132de+au#t32de+au#t3 sdc"d2 = port/010&2232132de+au#t32de+au#t3 [card boot! para] card ctrl@ card controller to $e used card high speed@ % for lo( speed; 1 for hi"h7speed card line@ nu!$er of card data lines sdc cmd@ -D71ard co!!and si"nals GP9: confi"uration sdc clk@ -D71ard cloc3 si"nal GP9: confi"uration sdc d$@ -D71ard data % line si"nal GP9: confi"uration sdc d%@ -D71ard data 1 line si"nal GP9: confi"uration sdc d!@ -D71ard data 2 line si"nal GP9: confi"uration sdc d"@ -D71ard data 3 line si"nal GP9: confi"uration 1onfi"uration exa!ple@
?
1 2 3 % & ' ( ) * 1 0
[card"!oot2"para] card"ctr# = 2 card"hi h"speed = 1 card"#ine = % sdc"cmd = port/040'2332132de+au#t32de+au#t3 sdc"c#$ = port/040(2332132de+au#t32de+au#t3 sdc"d0 = port/040)2332132de+au#t32de+au#t3 sdc"d1 = port/040*2332132de+au#t32de+au#t3 sdc"d2 = port/04102332132de+au#t32de+au#t3 sdc"d3 = port/04112332132de+au#t32de+au#t3
[t-i"para] 1t-i"port = 0 2t-i"sc# = 3port/0B002232de+au#t32de+au#t32de+au#t3 %t-i"sda = port/0B012232de+au#t32de+au#t32de+au#t3 [uart para] -erial port to $e ena$led durin"4for $oot. uart debug port@ serial controller nu!$er uart debug tx@ serial port ?X line GP9: confi"uration uart debug rx@ serial port .X line GP9: confi"uration 1onfi"uration exa!ple@
?
[uart"para] 1uart"de!u "port = 0 2uart"de!u "t5 = 3port/0B22223 %uart"de!u "r5 = port/0B23223 [&tag para] J?/G port to $e ena$led durin"4for $oot. &tag enable@ % to disa$le J?/G; 1 to ena$le J?/G &tag ms@ J?/G ?est 0ode -elect =?0-> GP9: confi"uration &tag ck@ J?/G ?est 1loc3 =?1K> GP9: confi"uration &tag do@ J?/G ?est Data :utput =?D:> GP9: confi"uration &tag di@ J?/G ?est Data 9nput =?D9> GP9: confi"uration 1onfi"uration exa!ple@
?
[6ta "para] 6ta "ena!#e = 1 16ta "ms = 2port/0B1%2332de+au#t32de+au#t32de+au#t3 36ta "c$ = %port/0B1&233de+au#t32de+au#t32de+au#t3 &6ta "do = 'port/0B1'233de+au#t32de+au#t32de+au#t3 6ta "di = port/0B1(233de+au#t32de+au#t32de+au#t3 [system] recovery key@ reco2er 3e GP9: confi"uration
1onfi"uration exa!ple@
recovery_key = port:PH16<0><1><default><default>
[gpio para] gpio used@ % to disa$leD 1 to ena$le gpio num@ nu!$er !apped GP9:Es gpio pin %@ first GP9: pin 1onfi"uration exa!ple@
gpio_used = 0 gpio_num = 4 gpio_pin_1 = port:PH10<1><default><default><0> gpio_pin_ = port:PH 0<1><default><default><0> gpio_pin_! = port:P"0!<0><default><default><default> gpio_pin_4 = port:PH <1><default><default><0>
-D./0
[dram para] -D7.a! is usuall confi"ured 2ia li2esuit (hen flashin". Ii2esuit pro$es the hard(are or 3no(s a$out the hard(are and its confi"uration and confi"ures the -o1 accordin"l . ?his luxur is not a2aila$le fro! Iinux and thus sdra! para!eters ha2e to $e set up $ hand.
dram baseaddr@ D./0 ph sical start address; fixed at %x4%%%%%%% dram clk@ D./0 cloc3 fre8uenc in 0CGD it !ust $e an inte"er !ultiple of 24; !ini!all 12%; !axi!all 4*% 0CG dram type@ D./0 t peD -et to 2 for DD.2D 3 for DD.3 dram rank num@ D./0 chip selectD 1 is a chip selectD 2 election for t(o ta$lets dram chip density@ !onolithic D./0 capacit in 0$it dram io width@ !onolithic D./0 $us (idth in $its dram bus width@ D./0 $us (idth in $its; such as t(o 1'7$it D./0 $an3s !a3e up a 32 $it $us (idth dram cas@ D./0 1/- latenc dram '(@ D./0 controller internal para!eters dram odt en@ :D? % to disa$leD 1 to ena$le dram si'e@ D./0 total capacit in 06 dram tpr$@ D./0 controller internal para!eter dram tpr%@ D./0 controller internal para!eter dram tpr!@ D./0 controller internal para!eter dram tpr"@ D./0 controller internal para!eter dram tpr#@ D./0 controller internal para!eter dram tpr)@ D./0 controller internal para!eter dram emr%@ D./0 controller internal para!eter dram emr!@ D./0 controller internal para!eter
[dram"para] dram"!aseaddr = 05%0000000 dram"c#$ = 3'0 dram"t.pe = 3 dram"ran$"num = 1 dram"chip"densit. = 20%) dram"io"-idth = 1' dram"!us"-idth = 32 dram"cas = ' dram"7, = 05(! dram"odt"en = 0 dram"si7e = &12 dram"tpr0 = 0530*2''*2 dram"tpr1 = 0510*0 dram"tpr2 = 051a0c) dram"tpr3 = 050 dram"tpr% = 050 dram"tpr& = 050 dram"emr1 = 050 dram"emr2 = 050 dram"emr3 = 050
!ali confi"uration
0ali is the na!e of the GP5 on the /1%; /1%s; /13 and /2% -o1Es
[mali para] mali used@ % to disa$leD 1 to ena$le 0ali !odule mali clkdiv@ 0ali cloc3 di2isor. 1loc3 is o$tained $ de2isin" PII4 (ith mali_cl di! 1onfi"uration exa!ple@
?
[g!d para] G2D is the 2D "raphic displa en"ine on the /ll(inner -o1
g!d used@ % to disa$leD 1 to ena$le the "2d !odule g!d si'e@ !e!or siGe for "2d
?
1 2 3 % & ' ( ) * 1 0 1 1 1 2 1
[Emac"para] emac"used = 1 emac"r5d3 = port/0A002232de+au#t32de+au#t32de+au#t3 emac"r5d2 = port/0A012232de+au#t32de+au#t32de+au#t3 emac"r5d1 = port/0A022232de+au#t32de+au#t32de+au#t3 emac"r5d0 = port/0A032232de+au#t32de+au#t32de+au#t3 emac"t5d3 = port/0A0%2232de+au#t32de+au#t32de+au#t3 emac"t5d2 = port/0A0&2232de+au#t32de+au#t32de+au#t3 emac"t5d1 = port/0A0'2232de+au#t32de+au#t32de+au#t3
3 1 % 1 & 1 ' 1 ( 1 ) 1 * 2 0
emac"t5d0 = port/0A0(2232de+au#t32de+au#t32de+au#t3 emac"r5c#$ = port/0A0)2232de+au#t32de+au#t32de+au#t3 emac"r5err = port/0A0*2232de+au#t32de+au#t32de+au#t3 emac"r5dV = port/0A102232de+au#t32de+au#t32de+au#t3 emac"mdc = port/0A112232de+au#t32de+au#t32de+au#t3 emac"mdio = port/0A122232de+au#t32de+au#t32de+au#t3 emac"t5en = port/0A132232de+au#t32de+au#t32de+au#t3 emac"t5c#$ = port/0A1%2232de+au#t32de+au#t32de+au#t3 emac"crs = port/0A1&2232de+au#t32de+au#t32de+au#t3 emac"co# = port/0A1'2232de+au#t32de+au#t32de+au#t3 emac"reset = port/0A1(2132de+au#t32de+au#t32de+au#t3
i2c confi"uration
[twi$ para] ?(o Mire 9nterface =iNc> confi"uration for ?M9 port %
twi$ used@ % to disa$leD 1 to ena$le twi$ scl@ ?M9 -erial 1Ioc3 GP9: confi"uration twi$ sda@ ?M9 -erial Data GP9: confi"uration 1onfi"uration exa!ple@
?
[t-i0"para] 1t-i0"used = 1 2t-i0"sc# = 3port/0B002232de+au#t32de+au#t32de+au#t3 %t-i0"sda = port/0B012232de+au#t32de+au#t32de+au#t3 [twi$ para] ?(o Mire 9nterface =iNc> confi"uration for ?M9 port 1 twi% used@ % to disa$leD 1 to ena$le twi% scl@ ?M9 -erial 1Ioc3 GP9: confi"uration twi% sda@ ?M9 -erial Data GP9: confi"uration 1onfi"uration exa!ple@
?
t-i1"sda = port/0B1*2232de+au#t32de+au#t32de+au#t3 [twi! para] ?(o Mire 9nterface =iNc> confi"uration for ?M9 port 2 twi! used@ % to disa$leD 1 to ena$le twi! scl@ ?M9 -erial 1Ioc3 GP9: confi"uration twi! sda@ ?M9 -erial Data GP9: confi"uration 1onfi"uration exa!ple@
?
uart confi"uration
/n of the * 5/.? ports can $e confi"ured to $e either 2 =:nl ?X4.X> (ires; 4 (ires =?X; .X; .?and 1?-> or * =Full function> ports. uart used@ % to disa$leD 1 to ena$le uart port@ 5/.? port nu!$er uart type@ 5/.? t pe; 2; 4 or * (ires uart tx@ 5/.? ?X data line GP9: confi"uration uart rx@ 5/.? .X data line GP9: confi"uration uart rts@ 5/.? .ead to -end line GP9: confi"uration; onl for 4 and * (ire !odes uart cts@ 5/.? 1lear to -end line GP9: confi"uration; onl for 4 and * (ire !odes uart dtr@ 5/.? Data ?er!inal .ead GP9: confi"uration; onl for * (ire !odes uart dsr@ 5/.? Data -et .ead GP9: confi"uration; onl for * (ire !odes uart dcd@ 5/.? Data 1arrier Detect GP9: confi"uration; onl for * (ire !odes uart ring@ 5/.? .in" 9ndicator GP9: confi"uration; onl for * (ire !odes [uart para$] 1onfi"uration exa!ple@
?
[uart"para0] 1uart"used = 1 2uart"port = 0 3uart"t5 = %port/0B222232132de+au#t32de+au#t3 &uart"r5 = port/0B232232132de+au#t32de+au#t3 [uart para%] 1onfi"uration exa!ple@
?
1 2 3 % &
port/0A102%32132de+au#t32de+au#t3 uart"r5 = port/0A112%32132de+au#t32de+au#t3 ' uart"rts = ( port/0A122%32132de+au#t32de+au#t3 ) uart"cts = * port/0A132%32132de+au#t32de+au#t3 1 uart"dtr = 0 port/0A1%2%32132de+au#t32de+au#t3 1 uart"dsr = 1 port/0A1&2%32132de+au#t32de+au#t3 1 uart"dcd = 2 port/0A1'2%32132de+au#t32de+au#t3 uart"rin = port/0A1(2%32132de+au#t32de+au#t3 [uart para!] 1onfi"uration exa!ple@
?
[uart"para2] uart"used = 0 uart"port = 2 1uart"t.pe = % 2 3uart"t5 = %port/081)2332132de+au#t32de+au#t3 &uart"r5 = 'port/081*2332132de+au#t32de+au#t3 (uart"rts = )port/081'2332132de+au#t32de+au#t3 uart"cts = port/081(2332132de+au#t32de+au#t3 [uart para"] 1onfi"uration exa!ple@
?
[uart"para3] uart"used = 0 uart"port = 3 1uart"t.pe = % 2 3uart"t5 = %port/09002%32132de+au#t32de+au#t3 &uart"r5 = 'port/09012%32132de+au#t32de+au#t3 (uart"rts = )port/09022%32132de+au#t32de+au#t3 uart"cts = port/09032%32132de+au#t32de+au#t3 [uart para#] 1onfi"uration exa!ple@
?
[:art"para%] 1uart"used = 0 2uart"port = % 3uart"t.pe = 2 %uart"t5 = &port/090%2%32132de+au#t32de+au#t3 'uart"r5 = port/090&2%32132de+au#t32de+au#t3 [uart para)] 1onfi"uration exa!ple@
?
[uart"para&] 1uart"used = 0 2uart"port = & 3uart"t.pe = 2 %uart"t5 = port/ &090'2%32132de+au#t32de+au#t3 'uart"r5 = port/ 090(2%32132de+au#t32de+au#t3 [uart para+] 1onfi"uration exa!ple@
?
[uart"para'] 1uart"used = 0 2uart"port = ' 3uart"t.pe = 2 %uart"t5 = &port/0A122%32132de+au#t32de+au#t3 'uart"r5 = port/0A132%32132de+au#t32de+au#t3 [uart para,] 1onfi"uration exa!ple@
?
spi confi"uration
spi spi spi spi spi spi used@ % to disa$leD 1 to ena$le cs bitmap@ % to not use a 1- $it!ap; 1 to use 1- $it!ap cs$@ 1hip -elect $it % GP9: confi"uration cs%@ 1hip -elect $it 1 GP9: confi"uration sclk@ cloc3 GP9: confi"uration mosi@ 0:-9 GP9: confi"uration
[spi0"para] spi"used = 0 spi"cs"!itmap = 1 1spi"cs0 = 2port/08102332de+au#t32de+au#t32de+au#t3 3spi"sc#$ = %port/08112332de+au#t32de+au#t32de+au#t3 & 'spi"mosi = (port/08122332de+au#t32de+au#t32de+au#t3 )spi"miso = port/08132332de+au#t32de+au#t32de+au#t3 spi"cs1 = port/081%2332de+au#t32de+au#t32de+au#t3 1onfi"uration exa!ple 2@
?
[spi0"para] spi"used = 0 spi"cs"!itmap = 1 1 2spi"mosi = 3port/04002332de+au#t32de+au#t32de+au#t3 %spi"miso = &port/04012332de+au#t32de+au#t32de+au#t3 'spi"sc#$ = (port/04022332de+au#t32de+au#t32de+au#t3 spi"cs0 = port/04232332de+au#t32de+au#t32de+au#t3 [spi% para] 1onfi"uration exa!ple 1@
?
[spi1"para] spi"used = 0 spi"cs"!itmap = 1 1spi"cs0 = 2port/0A002332de+au#t32de+au#t32de+au#t3 3spi"sc#$ = %port/0A012332de+au#t32de+au#t32de+au#t3 & 'spi"mosi = (port/0A022332de+au#t32de+au#t32de+au#t3 )spi"miso = port/0A032332de+au#t32de+au#t32de+au#t3 spi"cs1 = port/0A0%2332de+au#t32de+au#t32de+au#t3
1onfi"uration exa!ple 2@
?
[spi1"para] spi"used = 0 spi"cs"!itmap = 1 1spi"cs1 = 2port/081&2232de+au#t32de+au#t32de+au#t3 3spi"cs0 = %port/081'2232de+au#t32de+au#t32de+au#t3 & 'spi"sc#$ = (port/081(2232de+au#t32de+au#t32de+au#t3 )spi"mosi = port/081)2232de+au#t32de+au#t32de+au#t3 spi"miso = port/081*2232de+au#t32de+au#t32de+au#t3 [spi! para] 1onfi"uration exa!ple 1@
?
[spi2"para] spi"used = 0 spi"cs"!itmap = 1 1spi"cs1 = 2port/0B132332de+au#t32de+au#t32de+au#t3 3spi"cs0 = %port/0B1%2332de+au#t32de+au#t32de+au#t3 & 'spi"sc#$ = (port/0B1&2332de+au#t32de+au#t32de+au#t3 )spi"mosi = port/0B1'2332de+au#t32de+au#t32de+au#t3 spi"miso = port/0B1(2332de+au#t32de+au#t32de+au#t3 1onfi"uration exa!ple 2@
?
[spi2"para] spi"used = 0 spi"cs"!itmap = 1 1 2spi"cs0 = 3port/041*2332de+au#t32de+au#t32de+au#t3 %spi"sc#$ = &port/04202332de+au#t32de+au#t32de+au#t3 'spi"mosi = (port/04212332de+au#t32de+au#t32de+au#t3 spi"miso = port/04232332de+au#t32de+au#t32de+au#t3 [spi" para] 1onfi"uration exa!ple@
?
1[spi3"para]
spi"used = 0 spi"cs"!itmap = 1 spi"cs0 = 2port/0A0&2332de+au#t32de+au#t32de+au#t3 3spi"sc#$ = %port/0A0'2332de+au#t32de+au#t32de+au#t3 &spi"mosi = ' (port/0A0(2332de+au#t32de+au#t32de+au#t3 )spi"miso = port/0A0)2332de+au#t32de+au#t32de+au#t3 spi"cs1 = port/0A0*2332de+au#t32de+au#t32de+au#t3
[spi"!oard0] 1moda#ias = "E5terna# ;08 connection" 2 3ma5"speed"h7 = 12000000 %!us"num = 1 &chip"se#ect = 0 'mode = 3 (+u##"dup#e5 = 0 )manua#"cs = 0
[rtp para] rtp used@ % to disa$leD 1 to ena$le rtp screen si'e@ dia"onal screen siGe rounded to full inches rtp regidity level@ touchscreen re"idt in 1% !s units rtp press threshold enable@ % to disa$leD 1 to ena$le rtp press threshold@ defines the press7threshold sensiti2it D set $et(een %x% and %xffffff rtp exchange x y flag@ % for nor!al operationD 1 to flip X and L coordinates 1onfi"uration exa!ple@
?
[ctp"para] ctp"used = 1 ctp"t-i"id = 2 ctp"name = "+t&5"ts" ctp"t-i"addr = 053) ctp1"used = 1 ctp1"name = "<oodi5-=;" ctp1"t-i"addr = 05&& ctp2"used = 1 ctp2"name = "ssd2&35-ts" ctp2"t-i"addr = 05%) ctp3"used = 1 ctp3"name = "novate$-ts" ctp3"t-i"addr = 050* ctp%"used = 1 ctp%"name = "7et'225-ts" ctp%"t-i"addr = 05(' ctp&"used = 1 ctp&"name = "!.d'*35-ts" ctp&"t-i"addr = 05&2 ctp'"used = 0
ctp'"name = " t)25" ctp'"t-i"addr = 05&d ctp("used = 0 ctp("name = "p5)11" ctp("t-i"addr = 05&c ctp"screen"rotate = 0 ctp"screen"ma5"5 = )00 ctp"screen"ma5". = %)0 ctp"revert"5"+#a = 0 ctp"revert"."+#a = 0 ctp"e5chan e"5"."+#a = 0 ctp"have$e. = 0 ctp"int"port = port/ 09212'32de+au#t32de+au#t32de+au#t3 ctp"-a$eup = port/ 0B132132de+au#t32de+au#t3213 ctp"io"port = port/ 09212032de+au#t32de+au#t32de+au#t3
% 3 % %
touch 3e confi"uration
[tkey para] ?ouch E3e E; onl for Qh2#3e padQ for no(
tkey used@ % to disa$leD 1 to ena$le tkey name@ dri2er na!e; !ust !atch linux dri2er na!e tkey twi id@ t(i controller to use tkey twi addr@ hard(are specfic t(i address in hex tkey int@ interrupt line GP9: confi"uration 1onfi"uration exa!ple@
?
[t$e."para] 1t$e."used = 0 2t$e."name = "hv"$e.pad" 3t$e."t-i"id = 2 % &t$e."t-i"addr = 05'2 't$e."int = port/ 08132'32de+au#t32de+au#t32de+au#t3
!otor confi"uration
[motor para] motor used@ % to disa$leD 1 to ena$le motor shake@ !otor control pin GP9: confi"uration 1onfi"uration exa!ple@
?
loc3 confi"uration
Ioc3s are either 2er ne( or reall old as nothin" can $e found in an fex file in "it. 9t see!s reasona$le to $elie2e that this (ould $e a screen loc3 E$uttonE.
[locks para] locks used@ % to disa$leD 1 to ena$le locks gpio@ s(itch GP9: confi"uration 1onfi"uration exa!ple@
?
nand we@ Mrite Ena$le GP9: confi"uration nand ale@ /ddress Iatch Ena$le GP9: confi"uration nand cle@ 1o!!and Iatch Ena$le GP9: confi"uration nand ce$@ 1hip sElect $it % GP9: confi"uration nand ce%@ 1hip sElect $it 1 GP9: confi"uration nand ce!@ 1hip sElect $it 2 GP9: confi"uration nand ce"@ 1hip sElect $it 3 GP9: confi"uration nand ce#@ 1hip sElect $it 4 GP9: confi"uration nand ce)@ 1hip sElect $it & GP9: confi"uration nand ce+@ 1hip sElect $it ' GP9: confi"uration nand ce,@ 1hip sElect $it ) GP9: confi"uration nand nre@ Fand .ead Ena$le GP9: confi"uration nand rb$@ .ead 4 6us $it % GP9: confi"uration nand rb%@ .ead 4 6us $it 1 GP9: confi"uration nand d$@ data $us $it % GP9: confi"uration nand d%@ data $us $it 1 GP9: confi"uration nand d!@ data $us $it 2 GP9: confi"uration nand d"@ data $us $it 3 GP9: confi"uration nand d#@ data $us $it 4 GP9: confi"uration nand d)@ data $us $it & GP9: confi"uration nand d+@ data $us $it ' GP9: confi"uration nand d,@ data $us $it ) GP9: confi"uration nand wp@ Mrite Protect GP9: confi"uration nand spi@ -P9 data line GP9: confi"uration nand nd(s@ nand ddr cloc3 si"nal GP9: confi"uration 1onfi"uration exa!ple@
?
[>and"para] nand"used = 1 nand"-e = port/04002232de+au#t32de+au#t32de+au#t3 nand"a#e = port/04012232de+au#t32de+au#t32de+au#t3 nand"c#e = port/04022232de+au#t32de+au#t32de+au#t3 nand"ce1 = port/04032232de+au#t32de+au#t32de+au#t3 nand"ce0 = port/040%2232de+au#t32de+au#t32de+au#t3 nand"nre = port/040&2232de+au#t32de+au#t32de+au#t3 nand"r!0 = port/040'2232de+au#t32de+au#t32de+au#t3 nand"r!1 = port/040(2232de+au#t32de+au#t32de+au#t3 nand"d0 = port/040)2232de+au#t32de+au#t32de+au#t3 nand"d1 =
port/040*2232de+au#t32de+au#t32de+au#t3 nand"d2 = port/04102232de+au#t32de+au#t32de+au#t3 nand"d3 = port/04112232de+au#t32de+au#t32de+au#t3 nand"d% = port/04122232de+au#t32de+au#t32de+au#t3 nand"d& = port/04132232de+au#t32de+au#t32de+au#t3 nand"d' = port/041%2232de+au#t32de+au#t32de+au#t3 nand"d( = port/041&2232de+au#t32de+au#t32de+au#t3 nand"-p = port/041'2232de+au#t32de+au#t32de+au#t3 nand"ce2 = port/041(2232de+au#t32de+au#t32de+au#t3 nand"ce3 = port/041)2232de+au#t32de+au#t32de+au#t3 nand"ce% = port/041*2232de+au#t32de+au#t32de+au#t3 nand"ce& = port/04202232de+au#t32de+au#t32de+au#t3 nand"ce' = port/04212232de+au#t32de+au#t32de+au#t3 nand"ce( = port/04222232de+au#t32de+au#t32de+au#t3 nand"spi = port/04232332de+au#t32de+au#t32de+au#t3 nand"nd,s = port/042%2232de+au#t32de+au#t32de+au#t3
[disp init] disp init enable@ % to disa$leD 1 to ena$le disp mode@ Displa !ode to use@ mo display mode de % screen%=screen%; f$%> 1 screen1=screen1; f$%> t(o#diff#screen#diff#contents=screen%; screen1; f$%; 2 f$1> 3 t(o#sa!e#screen#diff#contents=screen%; screen1; f$%> 4 t(o#diff#screen#sa!e#contents=screen%; screen1; f$%> screen$ output type@ :utput t pe for screen%@ screen% output type@ :utput t pe for screen1@ ty 0utput pe type
% none 1 lcd 2 t2 3 hd!i 4 2"a screen$ output mode@ :utput !ode for screen%@ screen% output mode@ :utput !ode for screen1@ mo used for tv/hdmi used for vga de output output % 4*%i 1'*%R1%&% 1 &)'i 144%R,%% 2 4*%p 13'%R)'* 3 &)'p 12*%R1%24 4 )2%p&% 1%24R)'* & )2%p'% *%%R'%% ' 1%*%i&% '4%R4*% ) 1%*%i'% * 1%*%p24 , 1%*%p&% 1% 1%*%p'% 1,2%R1%*% 11 pal 12*%R)2% 14 ntsc fb$ framebuffer num@ f$% $uffer nu!$er; use 2 for dou$le $ufferin" fb% framebuffer num@ f$1 $uffer nu!$er; use 2 for dou$le $ufferin" fb$ format@ pixel for!at for f$%@ fb% format@ pixel for!at for f$1@ form fb$ form at at 4 .G6'&& & .G6&'& ' .G6&&' /.G61&& ) & .G6/&&& * 1 , .G6*** /.G6*** 1% * /.G6444 12 4 fb$ pixel se(uence@ f$% pixel se8uence =% "enerall for linux; 2 for android>@ fb% pixel se(uence@ f$1 pixel se8uence =% "enerall for linux; 2 for android>@ se(uen fb$ pixel se(uen ce ce
% /.G6 1 6G./ 2 /6G. 3 .G6/ fb$ scaler mode enable@ % to disa$leD 1 to ena$le fb% scaler mode enable@ % to disa$leD 1 to ena$le 1onfi"uration exa!ple for I1D@
?
1 2 3 % & [disp"init] ' disp"init"ena!#e = 1 ( disp"mode = 0 ) * screen0"output"t.pe = 1 1 screen0"output"mode = % 0 1 screen1"output"t.pe = 1 1 screen1"output"mode = % 1 2 +!0"+rame!u++er"num = 2 1 +!0"+ormat = 10 3 +!0"pi5e#"se,uence = 0 1 +!0"sca#er"mode"ena!#e = % 0 1 & +!1"+rame!u++er"num = 2 1 +!1"+ormat = 10 ' +!1"pi5e#"se,uence = 0 1 +!1"sca#er"mode"ena!#e = ( 0 1 ) 1 * 1onfi"uration exa!ple for HG/@
?
1 2 3 % & ' ( )
* 1 0 1 1 1 2 1 3 1 % 1 & 1 ' 1 ( 1 ) 1 *
lcd[%41] confi"uration
lcd used@ % to disa$leD 1 to ena$le lcd pwm not used@ % to ena$le PM0D 1 to disa$le lcd pwm ch@ PM0 channel lcd pwm fre(@ PM0 fre8uenc in CG lcd pwm pol@ PM0 polarit lcd x@ X7axis acti2e (idth lcd y@ L7axis acti2e hei"ht lcd dclk fre(@ pixel cloc3 fre8uenc in 0CG lcd if@ lcd interface@ interfa lcd interfac ce e h2 =s nc S % de> 1 *%*% 2 ttl 3 l2ds lcd hbp@ hs nc $ac3 porch lcd ht@ hs nc total c cle lcd vbp@ 2s nc $ac3 porch lcd vt@ 2 snc total c cle R 2 lcd hv if@ % for parallel h2 interfaceD 1@ for serial h2 interface lcd hv smode@ % for .G6*** serial interface !odeD 1 for 119.'&' lcd hv s111 if@ serial .G6 for!at lcd hv syuv if@ serial L5H for!at lcd hv vspw@ 2 snc plus (idth
lcd hv hspw@ hs nc plus (idth lcd hv lde used@ % to disa$leD 1 to ena$le lcd hv lde iovalue@ CH IDE io2alue lcd lvds ch@ % for sin"le channelD 1 for dual channel lcd lvds mode@ % for F- !odeD 1 for JE9D/ !ode lcd lvds bitwidth@ % for 24 $itD 1 for 1* $it lcd io cfg$@ lcd 9: confi"uration lcd lvds io cross@ % for nor!alD 1 for pn cross lcd cpu if@ cpu if !ode@ mo cpu if de % 1* $it 1' $it 1 !ode% 1' $it 2 !ode1 1' $it 3 !ode2 1' $it 4 !ode3 & , $it ' * $it; 2&'3 ) * $it; '&3 lcd gamma correction en@ % to disa$leD 1 to ena$le lcd gamma tbl [$2!))]@ Ga!!a ta$le % throu"h 2&& lcd frm@ % to disa$le ditherD 1 to ena$le ena$le r"$''' ditherD 2 to ena$le r"$'&' dither lcd io cfg$@ lcd io in2 lcd bl en used@ % to disa$leD 1 to ena$le lcd bl en@ I1D 6ac3Ii"ht GP9: confi"uration lcd power used@ % to disa$leD 1 to ena$le lcd power@ I1D#H11 Holta"e control GP9: confi"uration lcd pwm used@ % to disa$leD 1 to ena$le lcd pwm@ lcd PM0; GP9: confi"uration =PM0% fixed usin" the P6%2 PM01 fixed P9%3 (ithout user !odification> lcd gpio $@ 2437(ire -1I GP9: confi"uration lcd gpio %@ 2437(ire -D/ GP9: confi"uration lcd gpio !@ 2437(ire -1EF GP9: confi"uration lcd gpio "@ I1D !odule .E-E? GP9: confi"uration lcdd$@ data $it % GP9: confi"uration lcdd%@ data $it 1 GP9: confi"uration lcdd!@ data $it 2 GP9: confi"uration lcdd"@ data $it 3 GP9: confi"uration lcdd#@ data $it 4 GP9: confi"uration lcdd)@ data $it & GP9: confi"uration lcdd+@ data $it ' GP9: confi"uration lcdd,@ data $it ) GP9: confi"uration lcdd1@ data $it * GP9: confi"uration
lcdd3@ data $it , GP9: confi"uration lcdd%$@ data $it 1% GP9: confi"uration lcdd%%@ data $it 11 GP9: confi"uration lcdd%!@ data $it 12 GP9: confi"uration lcdd%"@ data $it 13 GP9: confi"uration lcdd%#@ data $it 14 GP9: confi"uration lcdd%)@ data $it 1& GP9: confi"uration lcdd%+@ data $it 1' GP9: confi"uration lcdd%,@ data $it 1) GP9: confi"uration lcdd%1@ data $it 1* GP9: confi"uration lcdd%3@ data $it 1, GP9: confi"uration lcdd!$@ data $it 2% GP9: confi"uration lcdd!%@ data $it 21 GP9: confi"uration lcdd!!@ data $it 22 GP9: confi"uration lcdd!"@ data $it 23 GP9: confi"uration lcdclk@ I1D 1loc3 GP9: confi"uration lcdde@ I1D de GP9: confi"uration lcdhsync@ C s nc GP9: confi"uration lcdvsync@ H s nc GP9: confi"uration [lcd$ para] 1onfi"uration exa!ple@
?
[#cd0"para] #cd"used = 1 #cd"5 = )00 #cd". = %)0 #cd"dc#$"+re, = 33 #cd"p-m"+re, = 1000 #cd"p-m"po# = 0 #cd"s-ap = 0 #cd"i+ = 0 #cd"h!p = 21& #cd"ht = 10&& #cd"v!p = 3% #cd"vt = 10&0 #cd"hv"i+ = 0 #cd"hv"smode = 0 #cd"hv"s)))"i+ = 0 #cd"hv"s.uv"i+ = 0 #cd"hv"vsp- = 0 #cd"hv"hsp- = 0 #cd"hv"#de"used = 0 #cd"hv"#de"iova#ue = 0 #cd"#vds"ch = 0 #cd"#vds"mode = 0 #cd"#vds"!it-idth = 0 #cd"#vds"io"cross = 0 #cd"cpu"i+ = 0
#cd"cpu"da = 0 #cd"+rm = 0 #cd"io"c+ 0 = 0510000000 #cd"io"c+ 1 = 0 #cd"io"stren th = 0 #cd"!#"en"used = 1 #cd"!#"en = port/ 090(2132032de+au#t3213 #cd"po-er"used = 1 #cd"po-er = port/ 090)2132032de+au#t3213 #cd"p-m"used = 1 #cd"p-m = port/0B022232de+au#t32de+au#t32de+au#t3 #cd" pio"0 = #cd" pio"1 = #cd" pio"2 = #cd" pio"3 = #cdd0 = port/0?002232de+au#t32de+au#t32de+au#t3 #cdd1 = port/0?012232de+au#t32de+au#t32de+au#t3 #cdd2 = port/0?022232de+au#t32de+au#t32de+au#t3 #cdd3 = port/0?032232de+au#t32de+au#t32de+au#t3 #cdd% = port/0?0%2232de+au#t32de+au#t32de+au#t3 #cdd& = port/0?0&2232de+au#t32de+au#t32de+au#t3 #cdd' = port/0?0'2232de+au#t32de+au#t32de+au#t3 #cdd( = port/0?0(2232de+au#t32de+au#t32de+au#t3 #cdd) = port/0?0)2232de+au#t32de+au#t32de+au#t3 #cdd* = port/0?0*2232de+au#t32de+au#t32de+au#t3 #cdd10 = port/0?102232de+au#t32de+au#t32de+au#t3 #cdd11 = port/0?112232de+au#t32de+au#t32de+au#t3 #cdd12 = port/0?122232de+au#t32de+au#t32de+au#t3 #cdd13 = port/0?132232de+au#t32de+au#t32de+au#t3 #cdd1% = port/0?1%2232de+au#t32de+au#t32de+au#t3 #cdd1& = port/0?1&2232de+au#t32de+au#t32de+au#t3
2 % 3 % % % & % ' % ( % ) % * & 0 & 1 & 2 & 3 & % & & & ' & ( & ) & * ' 0 ' 1 ' 2 ' 3 ' % ' & '
#cdd1' = port/0?1'2232de+au#t32de+au#t32de+au#t3 #cdd1( = port/0?1(2232de+au#t32de+au#t32de+au#t3 #cdd1) = port/0?1)2232de+au#t32de+au#t32de+au#t3 #cdd1* = port/0?1*2232de+au#t32de+au#t32de+au#t3 #cdd20 = port/0?202232de+au#t32de+au#t32de+au#t3 #cdd21 = port/0?212232de+au#t32de+au#t32de+au#t3 #cdd22 = port/0?222232de+au#t32de+au#t32de+au#t3 #cdd23 = port/0?232232de+au#t32de+au#t32de+au#t3 #cdc#$ = port/0?2%2232de+au#t32de+au#t32de+au#t3 #cdde = port/0?2&2232de+au#t32de+au#t32de+au#t3 #cdhs.nc = port/0?2'2232de+au#t32de+au#t32de+au#t3 #cdvs.nc = port/0?2(2232de+au#t32de+au#t32de+au#t3
' ' ( ' ) ' * :ther confi"uration exa!ples for certain panels@
?
@A<B )005%)0 #cd"5 #cd". #cd"dc#$"+re, #cd"i+ #cd"h!p #cd"ht #cd"v!p #cd"vt @A<B )005'00 #cd"5 #cd". #cd"dc#$"+re, #cd"i+ #cd"h!p #cd"ht #cd"v!p #cd"vt @A<B %)052(2 %0>B-A11 #cd"5 #cd". #cd"dc#$"+re, #cd"i+ #cd"h!p #cd"ht #cd"v!p #cd"vt
modu#e name/ 9-B0(0?-1&4 = )00 = %)0 = 33 =0 = %' = 10&& = 23 = 10&0 modu#e name/ 9-B0)0?-2%1 = )00 = '00 = %0 =0 = %' = 10&' = 23 = 12(0 modu#e name/ B?%3<1)= %)0 = 2(2 =* =0 =2 = &2& =2 = &(2
@#vds 102%5'00 modu#e name/ 4CA0101>4014D? #cd"5 = 102% #cd". = '00 #cd"dc#$"+re, = &2 #cd"i+ =3 #cd"h!p = 33
#cd"ht #cd"v!p #cd"vt @#vds 102%5(') %0>A-A2 #cd"5 #cd". #cd"dc#$"+re, #cd"i+ #cd"h!p #cd"ht #cd"v!p #cd"vt
= 13%% = 23 = 12(0 modu#e name/ B?0)0?3= 102% = (') = '& =3 = 1'0 = 13%% = 23 = 1'12
@#vds 102%5(') modu#e name/ C<-C00*(E02 #cd"5 = 102% #cd". = (') #cd"dc#$"+re, = 100 #cd"i+ =3 #cd"h!p = %)0 #cd"ht = 20)% #cd"v!p =' #cd"vt = 1'00 #cd"#vds"!it-idth =1 #cd"io"c+ 0 = 050%000000 #cd"+rm =1 #cd"io"c+ 0 = 0510000000 #cd" amma"correction"en = 0 #cd" amma"t!#"0 = 0500000000 #cd" amma"t!#"1 = 0500010101 @........ #cd" amma"t!#"2&& = 0500++++++
% * & 0 & 1 & 2 & 3 & % & & & ' & ( & ) & * ' 0 ' 1 ' 2 ' 3 ' % ' & ' ' ' ( ' ) ' * ( 0 [lcd% para] 1onfi"uration exa!ple@
?
1 [#cd1"para]
#cd"used
=0
#cd"5 =0 #cd". =0 #cd"dc#$"+re, =0 #cd"p-m"not"used =0 #cd"p-m"ch =0 #cd"p-m"+re, =0 #cd"p-m"po# =0 #cd"i+ =0 #cd"h!p =0 #cd"ht =0 #cd"v!p =0 #cd"vt =0 #cd"hv"i+ =0 #cd"hv"smode =0 #cd"hv"s)))"i+ =0 #cd"hv"s.uv"i+ =0 #cd"hv"vsp=0 #cd"hv"hsp=0 #cd"#vds"ch =0 #cd"#vds"mode =0 #cd"#vds"!it-idth =0 #cd"#vds"io"cross =0 #cd"cpu"i+ =0 #cd"+rm =0 #cd"io"c+ 0 =0 #cd" amma"correction"en = 0 #cd" amma"t!#"0 = 0500000000 #cd" amma"t!#"1 = 0500010101 @........ #cd" amma"t!#"2&& = 0500++++++ #cd"!#"en"used #cd"!#"en #cd"po-er"used #cd"po-er =0 = =0 =
#cd"p-m"used =0 #cd"p-m = port/08032232032de+au#t32de+au#t3 #cd" #cd" #cd" #cd" pio"0 pio"1 pio"2 pio"3 = = = =
#cdd0 = port/09002232032de+au#t32de+au#t3 #cdd1 = port/09012232032de+au#t32de+au#t3 #cdd2 = port/09022232032de+au#t32de+au#t3 #cdd3 = port/09032232032de+au#t32de+au#t3 #cdd% = port/090%2232032de+au#t32de+au#t3 #cdd& = port/090&2232032de+au#t32de+au#t3 #cdd' = port/090'2232032de+au#t32de+au#t3 #cdd( = port/090(2232032de+au#t32de+au#t3 #cdd) = port/090)2232032de+au#t32de+au#t3 #cdd* = port/090*2232032de+au#t32de+au#t3 #cdd10 = port/09102232032de+au#t32de+au#t3 #cdd11 = port/09112232032de+au#t32de+au#t3 #cdd12 = port/09122232032de+au#t32de+au#t3 #cdd13 = port/09132232032de+au#t32de+au#t3 #cdd1% = port/091%2232032de+au#t32de+au#t3 #cdd1& = port/091&2232032de+au#t32de+au#t3 #cdd1' = port/091'2232032de+au#t32de+au#t3 #cdd1( = port/091(2232032de+au#t32de+au#t3 #cdd1) = port/091)2232032de+au#t32de+au#t3 #cdd1* = port/091*2232032de+au#t32de+au#t3 #cdd20 = port/09202232032de+au#t32de+au#t3 #cdd21 = port/09212232032de+au#t32de+au#t3 #cdd22 = port/09222232032de+au#t32de+au#t3 #cdd23 = port/09232232032de+au#t32de+au#t3
& % & & & ' & ( & ) & * ' 0 ' 1 ' 2 ' 3 ' % ' & ' ' ' ( ' ) ' * ( 0 ( 1 ( 2 ( 3 ( % ( & ( '
[tv out dac para] dac used@ % to disa$leD 1 to ena$le dac$ src@ :utput source for the D/1@ dac% src@ :utput source for the D/1@ dac! src@ :utput source for the D/1@ dac" src@ :utput source for the D/1@ d 0utput a source c % 1o!posite 1 Iu!a 2 1hro!a 3 4 L & P$ ' Pr ) Fone 1onfi"uration exa!ple@
?
csi twi addr@ ?M9 address for the used ca!era csi twi addr b@ ?M9 address for the used ca!era for second de2ice csi if@ interface@ csi if b@ interface for second de2ice@ i csi f interface % h2#*$it
1 h2#1'$it 2 h2#24$it 3 $t'&' 1ch 4 $t'&' 2ch & $t'&' 4ch csi pck@ p cloc3 GP9: confi"uration csi ck@ cloc3 GP9: confi"uration csi hsync@ C7s nc GP9: confi"uration csi vsync@ H7s nc GP9: confi"uration csi hflip@ CoriGontal fra!e flip csi hflip b@ CoriGontal fra!e flip for second de2ice csi vflip@ Hertical fra!e flip csi vflip b@ Hertical fra!e flip for second de2ice csi d$@ data $it % GP9: confi"uration csi d%@ data $it 1 GP9: confi"uration csi d!@ data $it 2 GP9: confi"uration csi d"@ data $it 3 GP9: confi"uration csi d#@ data $it 4 GP9: confi"uration csi d)@ data $it & GP9: confi"uration csi d+@ data $it ' GP9: confi"uration csi d,@ data $it ) GP9: confi"uration csi d1@ data $it * GP9: confi"uration csi d3@ data $it , GP9: confi"uration csi d%$@ data $it 1% GP9: confi"uration csi d%%@ data $it 11 GP9: confi"uration csi d%!@ data $it 12 GP9: confi"uration csi d%"@ data $it 13 GP9: confi"uration csi d%#@ data $it 14 GP9: confi"uration csi d%)@ data $it 1& GP9: confi"uration csi reset@ 1a!era resetD the default 2alue; hi"h or lo( ;depends on the !odule csi power en@ Po(er ena$le GP9: confi"uration csi stby@ 1a!era stand$ GP9: confi"urationD the default 2alue; hi"h or lo( ;depends on the !odule csi stby b@ 1a!era stand$ GP9: confi"uration for second de2iceD the default 2alue; hi"h or lo( ;depends on the !odule csi stby mode@ % to not shutdo(n po(er at stand$ D 1 shutdo(n po(er at stand$ csi facing@ ?ells the de2ice if the ca!era is facin" or other(ise. % for the $ac3; 1 for the front ca!era. csi facing b@ -a!e as a$o2e. csi vflip@ Hertical flipD %@ disa$led; 1@ ena$led csi hflip@ CoriGontal flipD %@ disa$led; 1@ ena$led csi flash@ 1a!era Flash GP9: confi"uration csi flash b@ 1a!era Flash GP9: confi"uration for second de2ice csi flash pol@ Flash polarit of flash li"htD % for acti2e lo(D 1 for acti2e hi"h csi flash pol b@ Flash polarit of flash li"ht for second de2iceD % for acti2e lo(D 1 for acti2e hi"h csi af en@ /utofocus ena$le GP9: confi"uration csi iovdd@ 1a!era !odule 9: po(er; P05 po(er suppl csi iovdd b@ 1a!era !odule 9: po(er; P05 po(er suppl for second de2ice csi avdd@ 1a!era analo" po(er; P05 po(er suppl csi avdd b@ 1a!era analo" po(er; P05 po(er suppl for second de2ice
csi dvdd@ 1a!era di"ital po(er; P05 po(er suppl csi dvdd b@ 1a!era di"ital po(er; P05 po(er suppl for second de2ice pmu ldo"@ Qaxp2%#pllQ or lea2e e!pt e!pt (hen not usin" an P05 po(er suppl pmu ldo#@ Qaxp2%#hd!iQ or e!pt (hen not usin" an P05 po(er suppl [csi$ para] 1onfi"uration exa!ple@
?
[csi0"para] csi"used = 1 csi"mode = 0 csi"dev",t. = 1 csi"st!."mode = 1 csi"mname = " c030)" csi"t-i"id = 1 csi"t-i"addr =05%2 csi"i+ = 0 csi"v+#ip = 0 csi"h+#ip = 1 csi"iovdd = "" csi"avdd = "" csi"dvdd = "" csi"+#ash"po# = 1 csi"mname"! = " t200&" csi"t-i"id"! = 1 csi"t-i"addr"! = 05() csi"i+"! = 0 csi"v+#ip"! = 0 csi"h+#ip"! = 0 csi"iovdd"! = "" csi"avdd"! = "" csi"dvdd"! = "" csi"+#ash"po#"! = 1 csi"pc$ = port/0E002332de+au#t32de+au#t32de+au#t3 csi"c$ = port/0E012332de+au#t32de+au#t32de+au#t3 csi"hs.nc = port/0E022332de+au#t32de+au#t32de+au#t3 csi"vs.nc= port/0E032332de+au#t32de+au#t32de+au#t3 csi"d0 = port/0E0%2332de+au#t32de+au#t32de+au#t3 csi"d1 = port/0E0&2332de+au#t32de+au#t32de+au#t3 csi"d2 = port/0E0'2332de+au#t32de+au#t32de+au#t3 csi"d3 = port/0E0(2332de+au#t32de+au#t32de+au#t3 csi"d% = port/0E0)2332de+au#t32de+au#t32de+au#t3 csi"d& = port/0E0*2332de+au#t32de+au#t32de+au#t3
csi"d' = port/0E102332de+au#t32de+au#t32de+au#t3 csi"d( = port/0E112332de+au#t32de+au#t32de+au#t3 csi"d) = port/0<0%2&32de+au#t32de+au#t32de+au#t3 csi"d* = port/0<0&2&32de+au#t32de+au#t32de+au#t3 csi"d10 = port/0<0'2&32de+au#t32de+au#t32de+au#t3 csi"d11 = port/0<0(2&32de+au#t32de+au#t32de+au#t3 csi"d12 = port/0<0)2&32de+au#t32de+au#t32de+au#t3 csi"d13 = port/0<0*2&32de+au#t32de+au#t32de+au#t3 csi"d1% = port/0<102&32de+au#t32de+au#t32de+au#t3 csi"d1& = port/0<112&32de+au#t32de+au#t32de+au#t3 csi"reset = port/09132132de+au#t32de+au#t3203 csi"po-er"en = port/091'2132de+au#t32de+au#t3203 csi"st!. = port/091)2132de+au#t32de+au#t3203 csi"+#ash = csi"a+"en = csi"reset"! = port/09132132de+au#t32de+au#t3203 csi"po-er"en"! = port/091'2132de+au#t32de+au#t3203 csi"st!."! = port/091*2132de+au#t32de+au#t3203 csi"+#ash"! = csi"a+"en"! =
& 0 & 1 & 2 & 3 & % & & & ' & ( & ) [csi% para] 1onfi"uration exa!ple@
?
[csi1"para] csi"used = 1 csi"mode = 0 csi"dev",t. = 1 csi"st!."mode = 1 csi"mname = " c030)" csi"t-i"id = 1 csi"t-i"addr =05%2 csi"i+ = 0 csi"v+#ip = 0 csi"h+#ip = 1 csi"iovdd = "" csi"avdd = "" csi"dvdd = "" csi"+#ash"po# = 1 csi"mname"! = " t200&" csi"t-i"id"! = 1 csi"t-i"addr"! = 05() csi"i+"! = 0 csi"v+#ip"! = 0 csi"h+#ip"! = 0 csi"iovdd"! = "" csi"avdd"! = "" csi"dvdd"! = "" csi"+#ash"po#"! = 1
csi"pc$ = port/0<002332de+au#t32de+au#t32de+au#t3 csi"c$ = port/0<012332de+au#t32de+au#t32de+au#t3 csi"d0 = port/09002(32de+au#t32de+au#t32de+au#t3 csi"d1 = port/09012(32de+au#t32de+au#t32de+au#t3 csi"d2 = port/09022(32de+au#t32de+au#t32de+au#t3 csi"d3 = port/09032(32de+au#t32de+au#t32de+au#t3 csi"d% = port/090%2(32de+au#t32de+au#t32de+au#t3 csi"d& = port/090&2(32de+au#t32de+au#t32de+au#t3 csi"d' = port/090'2(32de+au#t32de+au#t32de+au#t3 csi"d( = port/090(2(32de+au#t32de+au#t32de+au#t3 csi"d) = port/090)2(32de+au#t32de+au#t32de+au#t3 csi"d* = port/090*2(32de+au#t32de+au#t32de+au#t3 csi"d10 = port/09102(32de+au#t32de+au#t32de+au#t3 csi"d11 = port/09112(32de+au#t32de+au#t32de+au#t3 csi"d12 = port/09122(32de+au#t32de+au#t32de+au#t3 csi"d13 = port/09132(32de+au#t32de+au#t32de+au#t3 csi"d1% = port/091%2(32de+au#t32de+au#t32de+au#t3 csi"d1& = port/091&2(32de+au#t32de+au#t32de+au#t3 csi"d1' = port/091'2(32de+au#t32de+au#t32de+au#t3 csi"d1( = port/091(2(32de+au#t32de+au#t32de+au#t3 csi"d1) = port/091)2(32de+au#t32de+au#t32de+au#t3 csi"d1* = port/091*2(32de+au#t32de+au#t32de+au#t3 csi"d20 = port/09202(32de+au#t32de+au#t32de+au#t3 csi"d21 = port/09212(32de+au#t32de+au#t32de+au#t3
% 3 % % % & % ' % ( % ) % * & 0 & 1 & 2 & 3 & % & & & ' & ( & ) & * ' 0 ' 1 ' 2 ' 3 ' % ' & ' '
csi"d22 = port/09222(32de+au#t32de+au#t32de+au#t3 csi"d23 = port/09232(32de+au#t32de+au#t32de+au#t3 csi"hs.nc = port/092'2(32de+au#t32de+au#t32de+au#t3 csi"vs.nc= port/092(2(32de+au#t32de+au#t32de+au#t3 csi"reset = port/0<132132de+au#t32de+au#t3203 csi"po-er"en = port/0<1'2132de+au#t32de+au#t3203 csi"st!. = port/0<1)2132de+au#t32de+au#t3203 csi"+#ash = csi"a+"en = csi"reset"! = port/0<132132de+au#t32de+au#t3203 csi"po-er"en"! = port/0<1'2132de+au#t32de+au#t3203 csi"st!."! = port/0<1*2132de+au#t32de+au#t3203 csi"+#ash"! = csi"a+"en"! =
t2 confi"uration
[tvout para] tvout used@ % to disa$leD 1 to ena$le tvout channel num@ 1hannel nu!$er tv en@ ?H encoder GP9: confi"uration 1onfi"uration exa!ple@
?
tvout"used = 1 1tvout"channe#"num = 1 2tv"en = 3 port/08122132de+au#t32de+au#t3203 [tvin para] tvin used@ % to disa$leD 1 to ena$le tvin channel num@ channel nu!$er 1onfi"uration exa!ple@
?
tvin"used = 1 1tvin"channe#"num = 2 %
sata confi"uration
[sata para] sata used@ % to disa$leD 1 to ena$le sata power en@ -ata po(er ena$le GP9: confi"uration 1onfi"uration exa!ple@
?
sd!!c confi"uration
?here are se2eral thin"s to notice (hen confi"urin" the sd!!c controller. sdc used@ % to disa$leD 1 to ena$leD=%<;1<> sdc detmode@ detection !ode =>@ mo detection mode note de % /lso confi"ure sdc det to !ap to a GP9: =GP9: 1 GP9: detection ;U sdc#detU GP9: > sdc d" !ust $e confi"ured as CiV GP9: and ha2e an sdc#d3 external 1 0W pull7do(n resistor =-D D3 ;UU 2 detection GP9: UU; 10 > pollin" =card ; 3 cannot $e s(apped> !anuall =2ia 4 the proc file s ste! node>
bus width@ 1 for 1$itD 4 for 4$it =!a also $e called sdc#$(idUOU 2erif please> sdc d$@ data line % GP9: confi"uration sdc d%@ data line 1 GP9: confi"uration sdc d!@ data line 2 GP9: confi"uration sdc d"@ data line 3 GP9: confi"uration sdc clk@ 1IK GP9: confi"uration sdc cmd@ 10D GP9: confi"uration sdc det@ DE? GP9: confi"uration sdc use wp@ % is nor!al operationD 1 is (rite protect sdc wp@ Mrite Protect the GP9: confi"uration [mmc$ para] 1onfi"uration exa!ple@
?
[mmc0"para] sdc"used = 1 1 sdc"detmode = 1 2 !us"-idth = % 3 sdc"d1 = % port/01002232132de+au#t32de+au#t3 & sdc"d0 = ' port/01012232132de+au#t32de+au#t3 ( sdc"c#$ = ) port/01022232132de+au#t32de+au#t3 * sdc"cmd = 1 port/01032232132de+au#t32de+au#t3 0 sdc"d3 = 1 port/010%2232132de+au#t32de+au#t3 1 sdc"d2 = 1 port/010&2232132de+au#t32de+au#t3 2 sdc"det = 1 port/09012032132de+au#t32de+au#t3 3 sdc"use"-p = 0 sdc"-p = [mmc% para] 1onfi"uration exa!ple@
?
1 2 3 % & ' ( ) * 1 0 1
[mmc1"para] sdc"used = 1 sdc"detmode = 1 !us"-idth = % sdc"cmd = port/09222&32132232de+au#t3 sdc"c#$ = port/09232&32132232de+au#t3 sdc"d0 = port/092%2&32132232de+au#t3 sdc"d1 = port/092&2&32132232de+au#t3 sdc"d2 = port/092'2&32132232de+au#t3 sdc"d3 = port/092(2&32132232de+au#t3 sdc"det =
1 2 3 % & ' ( ) * 1 0 1 1 1 2 1 3
[mmc3"para] sdc"used = 1 sdc"detmode = % !us"-idth = % sdc"cmd = port/080%2232132232de+au#t3 sdc"c#$ = port/080&2232132232de+au#t3 sdc"d0 = port/080'2232132232de+au#t3 sdc"d1 = port/080(2232132232de+au#t3 sdc"d2 = port/080)2232132232de+au#t3 sdc"d3 = port/080*2232132232de+au#t3 sdc"det = sdc"use"-p = 0 sdc"-p =
[ms para] ms used@ % to disa$leD 1 to ena$le ms bs@ 6us -tate si"nal GP9: confi"uration ms clk@ 1loc3 GP9: confi"uration ms d$@ Data line % GP9: 1onfi"uration ms d%@ Data line 1 GP9: 1onfi"uration ms d!@ Data line 2 GP9: 1onfi"uration ms d"@ Data line 3 GP9: 1onfi"uration ms det@ -tic3 detection GP9: 1onfi"uration 1onfi"uration exa!ple@
?
port/090'2&32de+au#t32de+au#t32de+au#t3 ms"c#$ = port/090(2&32de+au#t32de+au#t32de+au#t3 %ms"d0 = &port/090)2&32de+au#t32de+au#t32de+au#t3 'ms"d1 = (port/090*2&32de+au#t32de+au#t32de+au#t3 )ms"d2 = *port/09102&32de+au#t32de+au#t32de+au#t3 ms"d3 = port/09112&32de+au#t32de+au#t32de+au#t3 ms"det = port/0922032132de+au#t32de+au#t3
[smc para] smc used@ % to disa$leD 1 to ena$le smc rst@ .eset GP9: confi"uration smc vppen@ HPP ena$le GP9: confi"uration smc vppp@ Pro"ra!!in" HPP GP9: confi"uration smc det@ -90 1ard detect GP9: confi"uration smc vccen@ H11 ena$le GP9: confi"uration smc sck@ -erial cloc3 GP9: confi"uration smc sda@ -erial data GP9: confi"urion 1onfi"uration exa!ple@
?
[smc"para] smc"used = 1 smc"rst = port/09132&32de+au#t32de+au#t32de+au#t3 1smc"vppen = 2port/091%2&32de+au#t32de+au#t32de+au#t3 3smc"vppp = %port/091&2&32de+au#t32de+au#t32de+au#t3 &smc"det = ' (port/091'2&32de+au#t32de+au#t32de+au#t3 )smc"vccen = *port/091(2&32de+au#t32de+au#t32de+au#t3 smc"sc$ = port/091)2&32de+au#t32de+au#t32de+au#t3 smc"sda = port/091*2&32de+au#t32de+au#t32de+au#t3
ps2 confi"uration
[ps! $ para] ps! used@ % to disa$leD 1 to ena$le ps! scl@ -erial cloc3 GP9: confi"uration ps! sda@ -erial data GP9: confi"uration 1onfi"uration exa!ple@
?
1[ps2"0"para]
ps2"used = 1 2ps2"sc# = 3port/08202232132de+au#t32de+au#t3 %ps2"sda = port/08212232132de+au#t32de+au#t3 [ps! % para] ps! used@ % to disa$leD 1 to ena$le ps! scl@ -erial cloc3 GP9: confi"uration ps! sda@ -erial data GP9: confi"uration 1onfi"uration exa!ple@
?
kp out)@ ro( & GP9: confi"uration kp out+@ ro( ' GP9: 1onfi"uration kp out,@ ro( ) GP9: confi"uration 1onfi"uration exa!ple@
?
[Be.pad"para] $p"used = 1 $p"in"si7e = ) $p"out"si7e = ) $p"in0 = port/090)2%32132de+au#t32de+au#t3 $p"in1 = port/090*2%32132de+au#t32de+au#t3 $p"in2 = port/09102%32132de+au#t32de+au#t3 $p"in3 = port/09112%32132de+au#t32de+au#t3 $p"in% = port/091%2%32132de+au#t32de+au#t3 $p"in& = port/091&2%32132de+au#t32de+au#t3 $p"in' = port/091'2%32132de+au#t32de+au#t3 $p"in( = port/091(2%32132de+au#t32de+au#t3 $p"out0 = port/091)2%32132de+au#t32de+au#t3 $p"out1 = port/091*2%32132de+au#t32de+au#t3 $p"out2 = port/09222%32132de+au#t32de+au#t3 $p"out3 = port/09232%32132de+au#t32de+au#t3 $p"out% = port/092%2%32132de+au#t32de+au#t3 $p"out& = port/092&2%32132de+au#t32de+au#t3 $p"out' = port/092'2%32132de+au#t32de+au#t3 $p"out( = port/092(2%32132de+au#t32de+au#t3
1 host onl 2 :?G usb detect type@ % < no chec3in"D 1 < H6us 4 id chec3 usb id gpio@5-6 9D pin GP9: confi"uration usb det vbus gpio@ 5-6 detect H6us pin GP9: confi"uration usb drv vbus gpio@ 5-6 dri2e H6us pin GP9: confi"uration usb host init state@ 9n host onl !ode; host port initialiGation stateD % do not initialiGeD 1 initialiGatie 5-6 [usbc$] 1onfi"uration exa!ple@
?
[us!c0] 1us!"used = 1 2us!"port"t.pe = 2 3us!"detect"t.pe = 1 %us!"id" pio = port/090%2032132de+au#t32de+au#t3 & 'us!"det"v!us" pio = (port/090&2032032de+au#t32de+au#t3 )us!"drv"v!us" pio = port/0B0*2132032de+au#t3203 us!"host"init"state = 0 [usbc%] 1onfi"uration exa!ple@
?
[us!c1] 1us!"used = 1 2us!"port"t.pe = 1 3us!"detect"t.pe = 0 %us!"id" pio = & 'us!"det"v!us" pio = (us!"drv"v!us" pio = )port/090'2132032de+au#t3203 us!"host"init"state = 1 [usbc!] 1onfi"uration exa!ple@
?
[us!c2] 1us!"used = 1 2us!"port"t.pe = 1 3us!"detect"t.pe = 0 %us!"id" pio = & 'us!"det"v!us" pio = (us!"drv"v!us" pio = )port/09032132032de+au#t3203 us!"host"init"state = 1
5-6 De2ice
[usb feature] vendor id@ 2endor 9D
mass storage id@ !ass stora"e 9D adb id@ android de$u" $rid"e 9D manufacturer name@ 2endor na!e product name@ < product na!e serial number@ < serial nu!$er 1onfi"uration exa!ple@
?
[us!"+eature] 1vendor"id = 051)d1 2mass"stora e"id = 050001 3ad!"id = 050002 %manu+acturer"name = ":;B & '?eve#oper" (product"name = "Android" seria#"num!er = "200)0%11" [msc feature] vendor name@ 2endor na!e product name@ product na!e release@ release 2ersion luns@ nu!$er of lo"ical units 1onfi"uration exa!ple@
?
[msc"+eature] 1vendor"name = ":;B 2.0" 2product"name = ":;B 1#ash 3?river" % &re#ease = 100 #uns = 2
G -ensor confi"uration
[gsensor para] gsensor used@ % to disa$leD 1 to ena$le gsensor name@ linux 3ernel !odule na!e to !atch confi"uration gsensor twi id@ ?M9 $us 9D gsensor twi addr@ ?M9 address gsensor int%@ interrupt 1 GP9: confi"uration gsensor int!@ interrupt 2 GP9: confi"uration 1onfi"uration exa!ple 1@
?
[<sensor"para] sensor"used = 1 1 2 senser"name = "!ma2&0" 3 sensor"t-i"id = 1 % sensor"t-i"addr = 051) & sensor"int1 = 'port/09002'32132de+au#t32de+au#t3 ( sensor"int2 = port/08102'32132de+au#t32de+au#t3 1onfi"uration exa!ple 2@
[<sensor"para] sensor"used = 1 1 2 senser"name = "!ma222" 3 sensor"t-i"id = 1 % sensor"t-i"addr = 050) & sensor"int1 = 'port/09002'32132de+au#t32de+au#t3 ( sensor"int2 = port/08102'32132de+au#t32de+au#t3 1onfi"uration exa!ple 3@
?
[<sensor"para] sensor"used = 1 1 2 senser"name = "mma(''0" 3 sensor"t-i"id = 1 % sensor"t-i"addr = 05%c & sensor"int1 = 'port/09002'32132de+au#t32de+au#t3 ( sensor"int2 = port/08102'32132de+au#t32de+au#t3
[gps para] gps used@ % to disa$leD 1 to ena$le gps spi id@ -P9 controllerD % 7 2 for -P9%; -P91 or -P92D 1& if no -P9 is used gps spi cs num@ chip select -P9 controllerD % < -P9%; 1 < -P91 gps lradc@ % or 1 for Io( .ate /D1 For!atD 2 for no Io( .ate /D1 For!at gps clk@ 1loc3 GP9: confi"uration gps sign@ GP- si"n GP9: confi"uration gps mag@ GP- 0a"nitude GP9: confi"uration gps vcc en@ GP- H11 ena$le GP9: confi"uration gps osc en@ GP- :scillator ena$le GP9: confi"uration gps rx en@ GP- recei2e ena$le GP9: confi"uration 1onfi"uration exa!ple@
?
1 2 3 % & ' ( ) * 1 0 1 1
[ ps"para] ps"used = 0 ps"spi"id = 2 ps"spi"cs"num = 0 ps"#radc = 1 ps"c#$ = port/08002232de+au#t32de+au#t32de+au#t3 ps"si n = port/08012232de+au#t32de+au#t32de+au#t3 ps"ma = port/08022232de+au#t32de+au#t32de+au#t3 ps"vcc"en = port/04222132de+au#t32de+au#t3203
[;dio"-i+i"para] 1sdio"-i+i"used = 1 2sdio"-i+i"sdc"id = 3 3sdio"-i+i"mod"se# = 1 % &sdio"-i+i"shdn = port/090*2132de+au#t32de+au#t3203 ' (sdio"-i+i"host"-a$eup = )port/09102132de+au#t32de+au#t3213 *sdio"-i+i"vdd"en = port/09112132de+au#t32de+au#t3203 sdio"-i+i"vcc"en = port/09122132de+au#t32de+au#t3203 :ptionall the follo(in" para!eters can $e used (hen other4!ultiple transcei2ers are installed.
?
1 2 3 % & '
@ 1 - samsun s-#-n20 sdio -i+i pio con+i s-#"n20"shdn = port/090*2132de+au#t32de+au#t3203 s-#"n20"host"-a$eup = port/09102132de+au#t32de+au#t3213 s-#"n20"vdd"en =
port/09112132de+au#t32de+au#t3203 s-#"n20"vcc"en = port/09122132de+au#t32de+au#t3203 @ 2 - usi !m01a sdio -i+i pio con+i usi"!m01a"-#"p-r = port/09122132de+au#t32de+au#t3203 usi"!m01a"-#!t"re on = port/08112132de+au#t32de+au#t3203 usi"!m01a"-#"rst = port/08102132de+au#t32de+au#t3203 usi"!m01a"-#"-a$e = port/08122132de+au#t32de+au#t3203 usi"!m01a"!t"rst = port/0B0&2132de+au#t32de+au#t3203 usi"!m01a"!t"-a$e = port/08202132de+au#t32de+au#t3203 usi"!m01a"!t"host-a$e = port/08212032de+au#t32de+au#t3203 @ 3 - ar'302,+n sdio -i+i pio con+i ar'302",+n"p-r = port/09122132de+au#t32de+au#t3203 ar'302",+n"shdn"n = port/090*2132de+au#t32de+au#t3203 @ % - apm sdio -i+i pio con+i apm"'*)1"vcc"en = port/0A0*2132de+au#t32de+au#t3203 apm"'*)1"vdd"en = port/0A102132de+au#t32de+au#t3203 apm"'*)1"-a$eup = port/0A112132de+au#t32de+au#t3203 apm"'*)1"rst"n = port/0A122132de+au#t32de+au#t3203 apm"'*)1"p-d"n = port/0A132132de+au#t32de+au#t3203 @ ' - hua-ei m-2'*5Fv1Gv2H sdio -i+i pio con+i h-"m-2'*5"-#"p-r = port/09122132de+au#t32de+au#t3203 h-"m-2'*5"-#"en! = port/09112132de+au#t32de+au#t3203 h-"m-2'*5"-#"host-a$e = port/09102032de+au#t32de+au#t3203 h-"m-2'*5"-#"-a$e = port/090*2132de+au#t32de+au#t3203 h-"m-2'*5"!t"en! =
2 3 3 3 %
us (ifi confi"uration
[usb wifi para] usb wifi used@ % to disa$leD 1 to ena$le usb wifi usbc num@ 5-6 controller to (hich 5-6 (ifi !odule is connected usb host init state@ used to"ether; such as xx < 2. ?hen us$c2 the us$#host#init#state % 1onfi"uration exa!ple@
?
3G confi"uration
["g para] "g used@ % to disa$leD 1 to ena$le "g usbc num@ 5-6 controller to (hich the 3G !odule is connected "g uart num@ 5/.? controller to (hich the 3G !odule is connected "g pwr@ po(er ena$le GP9: confi"uration "g wakeup@ (a3eup GP9: confi"uration "g int@ interrupt GP9: confi"uration 1onfi"uration exa!ple@
?
3 "used = 1 3 "us!c"num = 2 13 "uart"num = 0 23 "p-r = 3port/090*2132de+au#t32de+au#t3213 % &3 "-a$eup = 'port/09102132de+au#t32de+au#t3213 3 "int = port/09112132de+au#t32de+au#t3213
" roscope
[gy para] gy used@ % to disa$leD 1 to ena$le gy twi id@ ?M9 controller to use gy twi addr@ ?M9 address to use gy int%@ interrupt 1 GP9: confi"uration gy int!@ interrupt 2 GP9: confi"uration 1onfi"uration exa!ple@
?
li"ht sensor
[ls para] ls used@ % to disa$leD 1 to ena$le ls twi id@ ?M9 controller to use ls twi addr@ ?M9 address ls int@ interrupt GP9: confi"uration 1onfi"uration exa!ple@
?
co!pass
[compass para] compass used@ % to disa$leD 1 to ena$le compass twi id@ ?M9 controller to use compass twi addr@ ?M9 address to use compass int@ interrupt GP9: confi"uration 1onfi"uration exa!ple@
?
$lue tooth
[bt para] bt used@ % to disa$leD 1 to ena$le bt uart id@ 5/.? controller to use bt wakeup@ (a3eup GP9: confi"uration bt gpio@ optional $luetooth pin GP9: confi"uration bt rst@ < reset GP9: confi"uration 1onfi"uration exa!ple@
?
!t"rst = port/0B0&2132de+au#t32de+au#t32de+au#t3
i2s confi"uration
[i!s para] i!s used@ % to disa$leD 1 to ena$le i!s channel@ channel controlD 1 for one; 2 for t(o channels i!s mclk@ !aster cloc3 si"nal GP9: confi"uration i!s bclk@ $it cloc3 si"nal GP9: confi"uration i!s lrclk@ (ord cloc3 =left4ri"ht> si"nal GP9: confi"uration i!s dout$@ di"ital out % GP9: confi"uration i!s dout%@ =optional> di"ital out 1 GP9: confi"uration i!s dout!@ =optional> di"ital out 2 GP9: confi"uration i!s dout"@ =optional> di"ital out 3 GP9: confi"uration i!s din@ !ultiplexed in si"nal GP9: confi"uration 1onfi"uration exa!ple@
?
1 2 3 % & ' ( ) * 1 0 1 1
[i2s"para] i2s"used = 1 i2s"channe# = 2 i2s"mc#$ = port/0B0&2232132de+au#t32de+au#t3 i2s"!c#$ = port/0B0'2232132de+au#t32de+au#t3 i2s"#rc#$ = port/0B0(2232132de+au#t32de+au#t3 i2s"dout0 = port/0B0)2232132de+au#t32de+au#t3 i2s"dout1 = i2s"dout2 = i2s"dout3 = i2s"din = port/0B122232132de+au#t32de+au#t3
spdif confi"uration
[spdif para] spdif used@ % to disa$leD 1 to ena$le spdif mclk@ optional !aster cloc3 GP9: confi"uration spdif dout@ di"ital out GP9: confi"uration spdif din@ di"ital in GP9: confi"uration 1onfi"uration exa!ple@
?
audio confi"uration
[audio para] audio used@ % to disa$leD 1 to ena$le
speakers audio pa ctrl@ P/ controller GP9: confi"uration audio lr change@ % for nor!al operationD 1 to s(ap left and ri"ht channels playback used@ % to disa$leD 1 to ena$le This is a linux-sunxi specific extention capture used@ % to dissa$leD 1 to ena$le This is a linux-sunxi specific extention 1onfi"uration exa!ple@
?
[ir para] ir used@ % to disa$leD 1 to ena$le ir$ rx@ recei2er GP9: confi"uration ir$ tx@ trans!itter GP9: confi"uration ir% rx@ recei2er GP9: confi"uration ir% tx@ trans!itter GP9: confi"uration 1onfi"uration exa!ple@
?
p!u confi"uration
[pmu para] pmu used@ % to disa$leD 1 to ena$le pmu used!@ % to disa$leD 1 to ena$le secondar P05 pmu twi id@ ?M9 controller to use pmu twi addr@ ?M9 address to use pmu ir( id@ interrupt to useD % < F09D 1 7 1& < interrupt 1 to 1& pmu battery rdc@ $atter internal resistance in !W pmu battery cap@ $atter capacit in !/h pmu init chgcur@ initial char"in" current in !/D 3%%; 4%% ... 1*%% pmu init chgcur!@ initial char"in" current in !/ for secondar P05D 3%%; 4%% ... 1*%% pmu earlysuspend chgcur! earl suspend char"in" current in !/D 3%%; 4%% ... 1*%% pmu suspend chgcur@ suspended char"in" current in !/D 3%%; 4%% ... 1*%% pmu suspend chgcur!@ suspended char"in" current in !/ for secondar P05D 3%%; 4%% ... 1*%% pmu resume chgcur@ nor!al char"in" current in !/D 3%%; 4%% ... 1*%% pmu resume chgcur!@ nor!al char"in" current in !/ for secondar P05D 3%%; 4%% ... 1*%%
pmu shutdown chgcur@ po(ered do(n char"e current in !/D 3%%; 4%% ... 1*%% pmu shutdown chgcur!@ po(ered do(n char"e current in !/ for secondar P05D 3%%; 4%% ... 1*%% pmu init chgvol@ initial char"in" tar"et 2olta"e in !HD 41%%441&%442%%443'% pmu init chgend rate@ initial char"in" current ratio in XD 1%; 1& pmu init chg enabled@ % to disa$leD 1 to ena$le pmu init adc fre(@ initial /D1 sa!plin" rate in CGD 2&4&%41%%42%% pmu init adc fre(c@ initial /D1 coulo!$ !eter sa!plin" rate in CGD 2&4&%41%%42%% pmu init chg pretime@ initial prechar"e ti!eout in !inutesD 4%4&%4'%4)% pmu init chg csttime@ initial constant char"in" current ti!eout in !inutesD 3'%44*%4'%%4)2% pmu bat para%@ < $atter char"e I5? in X pmu bat para!@ < $atter char"e I5? in X pmu bat para"@ < $atter char"e I5? in X pmu bat para#@ < $atter char"e I5? in X pmu bat para)@ < $atter char"e I5? in X pmu bat para+@ < $atter char"e I5? in X pmu bat para,@ < $atter char"e I5? in X pmu bat para1@ < $atter char"e I5? in X pmu bat para3@ < $atter char"e I5? in X pmu bat para%$@ < $atter char"e I5? in X pmu bat para%%@ < $atter char"e I5? in X pmu bat para%!@ < $atter char"e I5? in X pmu bat para%"@ < $atter char"e I5? in X pmu bat para%#@ < $atter char"e I5? in X pmu bat para%)@ < $atter char"e I5? in X pmu bat para%+@ < $atter char"e I5? in XD should al(a s $e 1%% pmu usbvol limit@ % no 5-6 2olta"e li!iterD 1 < li!it 5-6 2olta"e usb pmu usbvol@ 5-6 2olta"e li!it in !HD 4%%%; 41%% ... 4)%% pmu usbcur limit@ % no 5-6 current li!iterD 1 < li!it 5-6 current pmu usbcur@ 5-6 current li!it in !/D 1%%4&%%4,%% pmu pwroff vol@ $oot hard(are protection 2olta"e in !HD 2'%%; 2)%% ... 33%% pmu pwron vol@ runnin" hard(are protection 2olta"e in !HD 2'%%; 2)%% ... 33%% pmu pekoff time@ Po(er Ena$le Ke ; short po(er $utton off dela in !sD 4%%%; '%%%; *%%%; 1%%%% pmu pekoff en@ % to disa$leD 1 to ena$le po(er $utton po(er off pmu peklong time@ lon" po(er off $utton dela in !sD 1%%%; 1&%%; 2%%%; 2&%% pmu pekon time@ po(er on $utton dela in !sD 12*; 1%%%; 2%%%; 3%%% pmu pwrok time@ po(er Eo3E dela in !sD *; '4 pmu pwrnoe time@ n#oe fro! lo( to hi"h shutdo(n dela ti!e in !sD 12*; 1%%%; 2%%%; 3%%% pmu intotp en@ % to disa$leD 1 to ena$le o2er te!perature protection pmu suspendpwroff vol@ shutdo(n 2olta"e (hen suspended and $atter is lo( pmu batdeten@ 6atter detection ena$led pmu adpdet@ adapter detect GP9: confi"uration 1onfi"uration exa!ple@
?
1 2 3 % & '
pmu"!atter."cap = 2'00 pmu"init"ch cur = 300 pmu"suspend"ch cur = 1000 pmu"resume"ch cur = 300 pmu"shutdo-n"ch cur = 1000 pmu"init"ch vo# = %200 pmu"init"ch end"rate = 1& pmu"init"ch "ena!#ed = 1 pmu"init"adc"+re, = 100 pmu"init"adc"+re,c = 100 pmu"init"ch "pretime = &0 pmu"init"ch "csttime = (20 pmu"!at"para1 = 0 pmu"!at"para2 = 0 pmu"!at"para3 = 1 pmu"!at"para% = & pmu"!at"para& = ( pmu"!at"para' = 13 pmu"!at"para( = 1' pmu"!at"para) = 2' pmu"!at"para* = 3' pmu"!at"para10 = %' pmu"!at"para11 = &3 pmu"!at"para12 = '1 pmu"!at"para13 = (3 pmu"!at"para1% = )% pmu"!at"para1& = *2 pmu"!at"para1' = 100 pmu"us!vo#"#imit = 1 pmu"us!vo# = %%00 pmu"us!cur"#imit = 1 pmu"us!cur = *00 pmu"p-ro++"vo# = 3300 pmu"p-ron"vo# = 2*00 pmu"pe$o++"time = '000 pmu"pe$o++"en = 1 pmu"pe$#on "time = 1&00 pmu"pe$on"time = 1000 pmu"p-ro$"time = '% pmu"p-rnoe"time = 2000 pmu"intotp"en = 1 pmu"adpdet = port/09022032de+au#t32de+au#t32de+au#t3 pmu"!atdeten = 1 pmu"suspendp-ro++"vo# = 3&00 pmu"used2 = 0 pmu"init"ch cur2 = %00
2 pmu"suspend"ch cur2 = 1200 3 pmu"resume"ch cur2 = %00 3 pmu"shutdo-n"ch cur2 = 1200 3 % 3 & 3 ' 3 ( 3 ) 3 * % 0 % 1 % 2 % 3 % % % & % ' % ( % ) % * & 0 & 1 & 2 & 3 & % & & &
'
reco2er 3e confi"uration
[recovery key] key min@ !ini!al len"th for the 3e to $e depressed in seconds key max@ !axi!al len"th for the 3e to $e depressed in seconds Exa!ple confi"uration@
?
$e."min = 1% 2$e."ma5 = 32
1 2 3 % & ' ( ) * 1 0 1 1 1 2
[dv+s"ta!#e] ma5"+re, = 100)000000 min"+re, = '0000000 #v"count = & #v1"+re, = 10&'000000 #v1"vo#t = 1&00 #v2"+re, = 100)000000 #v2"vo#t = 1%00
1 3 1 % 1 & 1 ' 1 ( 1 ) 1 *
#v3"+re, = *12000000 #v3"vo#t = 13&0 #v%"+re, = )'%000000 #v%"vo#t = 1300 #v&"+re, = '2%000000 #v&"vo#t = 12&0
led confi"uration
IEDs are accessi$le 2ia s s7fsD for exa!ple on the cu$ietruc3 ou can find the follo(in" director @ 4s s4class4leds4$lueY@ph21Y@led1 ZcatZ the file tri""er to see the tri""ers that can $e set in .fex files. 1urrentl these are none =3inda defeats the purpose of settin" a tri""er> rf3ill% $atter 7char"in"7or7full $atter 7char"in" $atter 7full $atter 7char"in"7$lin37full7solid ac7online us$7online !!c% !!c1 ti!er heart$eat cpu% cpu1 default7on rf3ill1 rf3ill2 Co( !uch the !a3e sense 7 experi!ent. 9Ed $e especiall curious a$out the effects of rf3ill settin"s.
1[#eds"para] 2#eds"used = 1 3#eds"num = 2 %#eds"pin"1 = & 'port/09202132de+au#t32de+au#t3203 (#eds"name"1 = "ph20/ reen/#ed1" )#eds"tri er"1 = "heart!eat" *#eds"pin"2 =
d na!ic confi"uration
<<< [d na!ic] 1onfi"uration exa!ple@
?
1ate"ories@ Fex ?utorial 1reate account Co in Pa"e ?iscussion .ead Vie- source Vie- histor.
Fa2i"ation
Mhat lin3s here .elated chan"es -pecial pa"es Printa$le 2ersion Per!anent lin3 ?his pa"e (as last !odified on 3 Dece!$er 2%13; at 21@3,. ?his pa"e has $een accessed 4*;21' ti!es. 1ontent is a2aila$le under 1reati2e 1o!!ons /ttri$ution unless other(ise noted. Pri2ac polic /$out linux7sunxi.or" Disclai!ers