ecc4~7zynP=H(J5>d0FzHSjhJ zW}aGfE?K?!Him63)%}5!)JqqIL!J5#3}H?L7$$tPBZNck_%68EX=6}ppR~}COJXph zOC`oGN4@$kjI4qh8^t2wE7zdEzXxa*LpgN*G#lPb4L@)K_zVqK6Hfx3u9lvx5x!|U z^lyfyvLyX=hD~>hj-Nc0h1w>A0ogJgD?0?)NmOd&c=v9idh}41;+u$V{hs$asR>V_ zxf9e2Pv@xHpM;*$dk^QRe>{m2B^o&YDS*Wco_Px3cnuu%G{A8TKK?You>eus7zS>8 z2Eb^RqVu0{!$vV${w&auTG@A=1vui~!x(|#dYfvWOjI8@j5ZBJn=+s3q+UIor}%~{ zV?eZ1Cp?D+4!IsH-hB?`2P0P0HifJQ4Q{_X)79u&>T)_CaQ1b)dbNnT*D;v7hpZvPN;ryKyMjDCS7NNViC>4G-4W70XNg z4$X||;5E#7)L&SQ`|Wh7jTEmVTmC}F{I(V{mo*t{3z^DmEQ6ii!2~tq<0LwDO=KD? z{AP5q{?+!h>rb3^p8PCN_)WT796V}Nm!37Nz5g*>_>Eez-LET6P-}JXm}vFYf20V% zqC4Dm@n|*SY?kDw(nIh&9WI1 9YBb;7rtQ)sR5)oGKUM!hjn_-eVOwDdbT_4YSlM$2@A zi+aPQUVfuc_?GfGQ^pU%PRqU*(Q5T^*w&K&0sqe6Vtv@7-Y}`J9FL_f--|5Cr`GRI zKt&9h)X x_2A zuVl-O@*MGtxJ|T`o|TFX-%v@R+)JMC&(s!VN3Y Ntasr z15|ZGZqn!x0_zWic;=a@`%gH`^LNqLh=sr4JYV@42U(B(#9q{yl`df$M=m3cyW(dY zE%-a?E(j!*F8|EcrA3fQ!jCM5H69)OMNAO>RJ{+7wW}u@;dm)}Wn8_w<^2S8*lCnc z{vYr#gGv7bc6%RS`y0UV!k?&jearjts{Krs@F%e4YQ0k{&lCxNJYD+_4*&ge{5?pW z`~j4-YoR3RL#ul7OpN;W2PlkZLr6zj+mb#UEd1EZtMTfF4+|838=T%}J{6~K{LoGX ze;_gYTXXuEEBrCKc_Ro=<$tl|b^aIb>Tg9w{}l^_Kf2iunc14oYRo8JYs?aUH`V?r zRtdk0UdfRYv@oZR{}>JW7~}8sR7p)(!6$i5VRwbWO;{-&b&Yj? M zMSWeeJkLJ`?vYJBlVl9dWU5M%(d;q}yQ*Q67|W)4$!xlKh5_M|$#NE~dxFOC@MArH zspo<`U-(OO;SCaF#Vo7_|AgZ4_&FcObR|K~R%@;T8LNe$RJ8UY4^I{}^SOTKa1; zEt6%~$!N9eFSKJ6iY2I(U$j%N{)I9lfo9Wwg_Vzpuufj%#theZn~lsH#yn~?%439o zsD_uA7#|WT6ZHku4Q7_Q<_mC&nmF-vk6Fg-7HX_fUxGELxe(2;@E8?nYov@X+o^G1 zq1^+~?yX-Yt4qH^v-9sg9Iy8NI+?avS<3*OED`?xaC!764`2P%lyAVx)q`8_ucOqB z-@vVMTGB4M-_8p9VcnUaTjbGilhsAv!nFFbDdRZhTd3{R!jzAGo2Zt22Z8MCW_ Ff&Q^X#Chur_*;Zz~h@EV*<*=p7 z{HOUYa~terM;p)K@tRH9rwo!mkQZU=;St@Xqf(jSd&3rfy1&rBk^9ntqSECN!oPtX zB#kad%dKcfI*;Ibon6vfZbN^hV=3TY*Ft8QO@ho?UFKjEWKQ*#Gvx*TH7$gO+F59| zE>!D~Vraiz!erglLMG0^GOHpoXv@k7yER>QNEqQ2R9Y@|AgI8ZrBlLCE!PX|ib2gU zIwiEOj!ShQAXp~UM%Xd5!^L%K2~K0j(C;p;bE&Sh#4QaJ{w2JOs*`K|i?M!6@ERox zu3o?u{WX}UIf{RgGEQ4_?Y`1q_^V-TS*q(Ns9lKAkwv3pdBhfI@L7iOL %J{$Nv;l}|DM3dqf!nznLZjWab6&n7dhGTIIybLZX{IfLt zr39A8;`o;=wd6m5XK3)YM24r+u|yfFrvb~x^%yQTRr7!K(r?*Kw~OvFxV`QkxGYeE zgA%W^r{kDoiv0)sZFZN rV{R0TrI$K#9j)j}M|rkr zh(-cfDH@`vs2kkpVkfyoG`O|o4MovZ)0wMx(H 3VY(HclU^{Lr zw|;G{u^KJAEb-=t%)L!7n1 {asQQ}SH#huA54NH0hu4PO|R)EBjvmp2UK z@m?VshH69I*o`M}h&F+m>kjHJjS~%nwW(_c66n3|Jf=ld)emt3B4+B^1F@u`Q18X% z9vFe$89V}mxECD=$Z*ksM-m(-D>D%%8wTne5N+suCZc~szRupA1!Qy g z5#=$|KAWc`FQPn#?#$*X$kihes#EA}IyWf?W|c-iMoI0dybl-ZryH1toa`-S$txQA zHp?W_n7&+ZpNI^MFk9np? b0m9ttj zq$6C!Q)P}EgL`e8t1b}@IGJHDbq(N7chUWK!vOAHXPxuC#_6PUrsXrIqt1CNpUb4_oPGnDqpe{P zO4> v`8`=RcfF9M>GX93AXW+lSe{vaPeZtxs5sEFWNNU^4s7y|6W? z#My_}*j;&9DV4vH*WfPa{n)!4m*yD$ZMeO@t`7p)BCZfQGEa&nPaa3JYKqQ9A8@G& z?OCWt8n8`tshqpIz*`{Y&>4+8pDqjlF=zmnn@3v;k%t@RGFT%T=4gVuinv>|b-_Q2 zxLZ{kqkJIiuhbdu3}g)zU@TG^%5ikIHJ3A8fs`*AI0eMh?v9d`{v09?5e+kWHD4|o zX3(CYGAf#mVh~P|Mv8`MjOCDMCAX$dsZxq)nA*&3Lz_~iY^7le_GyPMr*HuyeVWQs zKbcE)q`VFi9H2}q5S0dQeg~-)z1Ts@R2n8Vl>%NM8Yb#Ce>M#cbw?VKbHfDP=7GQ^ zN_BG|(GiKap@dF%!g#*Yk-J#Tlih(DJ7c)hJMjpNZ-E3gWE>ZOF^z4(S=*Uq$LOlQ z?aZo1N7!*RwF^5w9>H@>uXkbg$Ot=@vb%EW5&B%BZWHb5%KaX$xzNR~Qb|)33*QjM zoJPleu&-lS*#BU=*%oVk$~xH6XsIy&Xx?D9nI1OvHNIw?pqy8hAx#G4-r`j;OZt~| zlN4 4W #%{6cdN9|})|py%s((r(Y7t%o zZ_DJl-S9u6|ADAzSbse|Ko;p?T??@(@>tQZR&UBHQ}EoUVGY}GwP;vPMbqTI6w`-w z+{9pC+SrGyS;ZWrRxDSsIQ90y1P _$s$|FBhC|83oAjmN#b-sb1cLro`53ynV;HyRUh96Un)S>7ub zBl#Y}7P%F!w3HkEV_1#rpr(xhTuDo&!f8?``e2$gSqWq-%XG4KlUyJIS#)rdTp MsJlDL4bsD3Fe8cF3uLUetT0G*JY4QhJp ==22n;8 ztTtH1rr4dj&XOjG03L*M9uCh!7z%Wy`q>!#Ko=f-RMlDY)y;F{QV~G@7>x9^We(EQ zq6!Rjpre-VwiLp~k5)*9@`^y3Cf_)h h44gz3VXOlwI(PhhIa> PNmB7sESOQg|(AyTmjBxwG+Ymscn^+YIijT-8(C-Vmt8xEdIEI!~v*)$b+#EVB^j (0n zjc5~L$5Q(mR*tifCUz{{Q^PuAIOJ7{K&$J{>K)0x8m-$aB9j#Ww%a4Qy-~V 0ns-6>BIf$99+nHqP>8S<3CG^*b& zr_zC1IY$JhMhFwR>$nh}b}vSFJhGVkj3?cTr3p%)OqoH_QYnQT%jG;JFsTKJ30cCT z$a>4LUVCK;X8Au~VDa YhY}Ia8mLrmL1b1yNbIsnxyq|9PKTY3YEYpv=qLVOy&vfdn0w; zwNlv8+zC>y2#lcc1Zk!S45!S=FeQ!CexlS*3E-iF?zT%OvdazC1sW%E6NXUKBnhT7 zn0Bp^%alM7Zq&1jd)LZEN}y0F(@PF2lLm>vAlgzUL8t(5$vU|mxz=%*z_ZNB(iA0- zufy<|$?SmxxQUqF{v1W(=;~y6?WXmdtMYIkTAHH-a&hTLi#|Q4N`sU@j UzEm(xswvkk^A&^pVfR?qMb|D@j`MTpUCutR%{#FdIc}ei1LT)% z^KDM+)7BYQVR^(d7SBbz=6ur^raMjP#t(3eoS?j8Z}~WgfLS2LT>gPs#?fiHk-eD(Bjil6#cPKLVT#=0Mv!bw{uOEOiXEdsb`bH zeZM=`b=tMWWp(ax<~dF{=Ho)ueYlkRlC9YKrFFH{Zn@u*XFg-D!MRKb0raG?+8Cug zrA(H8lL?(^#ARs ;B)LdBsaP4mU2We<3_|pkL^cWf_Pvb z5wskDvLGII96(+VVlQ|A8L;sH!s*;#Pdc;)mR52PKKj_@D2llU{R;Moz+*(PJ0057 zT +MpO671Ye4&H&84R+Fv z;QZ|f4fpN9nk(3m>Vv3%{7$T3rJWe@U|IwjC4wC&`Z)4#WgQ# {N0Dfu4PsBNVIEBPpp+PYB mVj@FHlj<6FmOM{B&TINbInuK8Q7A#9Vr#q*Dz=6B7D%oc2v2ICpsW@8e9>rDA~ z*^kA_Yobj0R;riMaqVg$)ZXx~GB}M+KZ|g8-j5AXaB76G(6uA7llC3qk(_cPjJP|Q z9lMS9K5X!&zk=mUu*|y$V{ravtY<0%IM)bHx&cV09|PRciIftQmWkj5wx~HGSjxs+ zE`lZOAXOq*%yd@@KERVRo bp;aCC%7q{jQD47nmWN>>;al3eu7UO86;N47vlKE%j~NEJ?c^dYWvcnie- zFeAgb(pe%nloJk;)Gg5W?!!FkLpU-wAzdEfu^Svg;1Wf&^%e=1Tu7;ZV~ZZtJV+*L zd<1=Z_HRfr!GadiqSHREa9|7MP7TRtQ?3@l0sNgy8MpK3_GgRK!bcQszn#4+??%M# zy@Ta)n+EnCM9x?4fFFAw 4a_ZPFroMZaLv +nbs+(d`GSdK!*N;6N%1JUn2Z_A01 zk{aru##4yV<-rXk`K3g!7io0N rybrHf&yAScuuH|fr&C25# zamN!JW$|z)f-Ke$Y>(GzK4qs~`*G_0=@UFxH{E~^6~R?(*D195DS5C6u8a`TWI4d{ zD|F 07{H^?$QYQV5h9lQJ 0itmde9|}Tf@Xm5nROI9ck}jcBpEd5YI8OkS&4Z1`-*T0zpkzTY6h# zVkOWFq(9Hn^R5G`2H?)G7yF4 I%58G9?ol^OD791s5`ZpJ%Ud!&5B2`G#FTO8^_=g!JYM5r@==hNMv%b8M$ zj(v<(;Q7yStP;}lbQ>yp37J0l0z#1cMHoORjgGu1jiSbLu-3Jq4os~xhEk1Nqv_a- z(m-1Gl9Xc%r9|i#k0HW@@V4)B*hm$>j5H8RiV%1f`7$eQPpKcucun$%6ytpj;}%Mc z07KELgI+0-E*-(FhT?h16Daw099@OtbOSp7I#S7w*Rh2NwS!L%pcA`UX)Jy(7NNH6 zkU8}E8?3ht6AMMCwdSSXH{phVIIs}9>j5l;LNU$gI1y^4JJ7D<(4G4r+%6Q|0`X}G zo+ZJhNRuhw3y-kw<%-=m!h=P~r8o5QTQK{Olca}WH6aIo_oeVdT*gkPA41*^*{JRv zJOm6`nc0E -L-~)exS5tcBGqANqK=~ryWf)&)ptIKqHcfVZWy(0Fp7RC zdSf!)liO1K3HVe<+p1_m%uR*+uxJS3F;Y`lbCYkMl+hGL*Yc&bEZ3W^nRwZ%0dKZ^ z;8@{^vOi%TiS@w-TN}KZTx|KqveDAo{Fr$#V(3znY<$32q &+kYkW{A)T+HxGjx9PMzT7-scs|nh20zvwR z)5xQtVfv;3NP!69FADI6U1QVxtYwH^0Btf-?~~Y!hmdB^U>!aF46~7D&tP#KD%9<` z C8AbnycgAIQW45z5zX`iT#DN(V%U80z+S7VEDgoBz)2ya*9P z|JB&JRR58jLFFH@Yz`AuBGiwf&%$pueT*}Vt{*d}Zv=ta_0ggi)qac>&X`ZI066e8 zk6iYR@E{S&;^>22{U_M;hB6}r&MZD
T7@ z^O4WEOwR~{GCg>3aw+{eF4LWfY7y$jO@*m<xmLQOo%@|* z@JiJ>M=YKXmD(=aw&8B<8`jyDYnBksq&~wNejV_B%6e0p@m=F`W1MnKsaDz|fzOlM z!T6SnDCtRQmSiy;s;?_U3SUcCuF7R1w1#KB1C@WuO lP lB zaT*z#+Z1=3V8mVI$=5NO*N$Nc6q>DNVcn&dyo!UOP!(PHmbalAfo#ddsBc*nvLzFb zYXq|8w`|t4ba3YDTy`d_1~`Mi(<%3#Tx_~d1T+Gtgv|L%BXCN{#F*n;b_$09 Z7ExO0WjV0 zfWiH!dy?y#>rvMvyf6Kjb1Dw*pLA3>9QNnzbL~+$09b&R>W^T-*&1)K%(q10GFheB zWIAY?Zc>c WcDZ@Lr^9d#nf%|sd#Wg^^xzdKT+Tgi|ohEqwpgyYYsD>%SBdKvZ< z#trx;Bu9jknMk6ye}E~4lSulJHMHmNj oK#!~_wJXD?_^D=%`f zIGuP~Be2iEgoD#?EPtobx=XC1E$#UQF{SYmwoVhnZJ2^cYbyOWj#!fZ&8@;!z<=Xx zE!>KvUm!F1<%>&*0c3?4&&(K=$YvEUIhI zuq-ZeG$9xzyWZH8-{5RvTZAyu(hpeH%ChJnvheTRQ8Uv?wBSSJr?5#UUepL9dsC?h zEBuZ5`h$BRGl9zgfc=DVrI`uyM_g9YiRl_)(1|CQ2;sH{=EM6j8Xwx!{M$q`KSp~( z8}$}G{xQ4y2AyzT ldXSRAFz(JT(sPW(0W08^{){xPp2B+F|ILoQa)7HD{1mu zc=^C7o)8nIUnQ?Jz;M>EmGk 7K!-tZTX(C)g zb#~n8JesUn$&suSDB)rp7e!w|RMN1;$;tpFJRYaa%~+v4D?F}6shNKwWry)ZIilw! z4H-knB&8#zTtz?*k7i<;5+0?L>Wa1rRG2T6eoA;`vvOcXN_d1)q>HToi!Eh1ZjIvU z*Smiq>4%3=ovf57;h{>gE>nArD<8r#CFt*9O1*$--mWMRE@Gk^T|CbwgAMov9*IG; z)u>Dn;R62djKAdp-aslcE2&iS1=p7!A@IjTzTlz*80kVTGt2g80v?b@SH8pv+mSC> zB9{q(IeKue{0c|@;eHXKEq!d^viPGEoO@ENN|6Zni4akAr zSrG&c%hbcj`ETGd+rMFUMg+kK_tv{Uz|LJyj}TVcZD-}ZbmY>vJd8bcqS(Q*xLf@l zdb0mJR@t2i^rRaNaw;=KxGR5mr{hkgc?lXcxcB1q>Wi-1T^*gTI%hb3#eJky`wRBT zc#_X6f#cQ+%O4gMk44`x&&OX%@|pS>-^V&23NdxOd{Mp!e~03jn2$ZsL20_-4@0oN zZm2vXyq-<82U*j(wd>fL+T+%yVx;nPC0_}zRmL@0pcU8ZkEAPEN_fo;*g!k3C5KmY z$#N0CiB8)E3~m+vAb@VUR=m?S%7H(`5MD`p+F+oQqLm>cyn^<)g+`cYvs0L9SG1BX z!pn7gu61&Ox)w6$oC1SZtFs%OqAiVd;kI;mSqqtEF^ZY~=EBYKFjf=n7nL!}2qnA( zPgl^GB%0;MpVkU5<{}mH+;9!m$D!{Ht$98c=|ul4Qhy~}t(WLd)om1n!iC)OIU>A( z2K|IhY#1A8E_m`Mp4EADx-B#3Hfj5r!8u$<4|*$>lh16r7OPY#;VNYgx1$?vZ>RK8 z!j;M@oxIpi8K{KuSCe#dYMcVQD`$1{M0gfu{wh@~;hD|SJK~jrB8;mtZP0|@;uXYr zECRSavl6%?xG=+2U;PgUfT=oB@tf3F2~WW@DAeDPUiuBkHsQ$}i_+-3MDAjlPHgy{ llh!1TU)|{J?^1@1Bc|j=a)01Zo!ec% -N#P&nUEOtBq D1X3M* diff --git a/rt-thread/components/drivers/include/drivers/lcd.h b/rt-thread/components/drivers/include/drivers/lcd.h index f2dcdce..6fdb595 100644 --- a/rt-thread/components/drivers/include/drivers/lcd.h +++ b/rt-thread/components/drivers/include/drivers/lcd.h @@ -11,102 +11,6 @@ #ifndef RT_LCD_H__ #define RT_LCD_H__ -/* ioctls - 0x46 is 'F' */ -#define FBIOGET_VSCREENINFO 0x4600 -#define FBIOPUT_VSCREENINFO 0x4601 -#define FBIOGET_FSCREENINFO 0x4602 -#define FBIOGET_PIXELINFO 0x4603 -#define FBIOGETCMAP 0x4604 -#define FBIOPUTCMAP 0x4605 -#define FBIOPAN_DISPLAY 0x4606 -#define FBIO_CURSOR 0x4608 -/* #define FBIOGET_MONITORSPEC 0x460C */ -/* #define FBIOPUT_MONITORSPEC 0x460D */ -/* #define FBIOSWITCH_MONIBIT 0x460E */ - -#define FBIOGET_CON2FBMAP 0x460F -#define FBIOPUT_CON2FBMAP 0x4610 -#define FBIOBLANK 0x4611 /* arg: 0 or vesa level + 1 */ -#define FBIOGET_VBLANK 0x4612 -#define FBIO_ALLOC 0x4613 -#define FBIO_FREE 0x4614 -#define FBIOGET_GLYPH 0x4615 -#define FBIOGET_HWCINFO 0x4616 -#define FBIOPUT_MODEINFO 0x4617 -#define FBIOGET_DISPINFO 0x4618 -#define FBIO_WAITFORVSYNC 0x4620 - -struct fb_bitfield -{ - uint32_t offset; /* beginning of bitfield */ - uint32_t length; /* length of bitfield */ - uint32_t msb_right; /* != 0 : Most significant bit is */ - /* right */ -}; - -struct fb_var_screeninfo -{ - uint32_t xres; /* visible resolution */ - uint32_t yres; - uint32_t xres_virtual; /* virtual resolution */ - uint32_t yres_virtual; - uint32_t xoffset; /* offset from virtual to visible */ - uint32_t yoffset; /* resolution */ - - uint32_t bits_per_pixel; /* guess what */ - uint32_t grayscale; /* 0 = color, 1 = grayscale, */ - /* >1 = FOURCC */ - struct fb_bitfield red; /* bitfield in fb mem if true color, */ - struct fb_bitfield green; /* else only length is significant */ - struct fb_bitfield blue; - struct fb_bitfield transp; /* transparency */ - - uint32_t nonstd; /* != 0 Non standard pixel format */ - - uint32_t activate; /* see FB_ACTIVATE_* */ - - uint32_t height; /* height of picture in mm */ - uint32_t width; /* width of picture in mm */ - - uint32_t accel_flags; /* (OBSOLETE) see fb_info.flags */ - - /* Timing: All values in pixclocks, except pixclock (of course) */ - uint32_t pixclock; /* pixel clock in ps (pico seconds) */ - uint32_t left_margin; /* time from sync to picture */ - uint32_t right_margin; /* time from picture to sync */ - uint32_t upper_margin; /* time from sync to picture */ - uint32_t lower_margin; - uint32_t hsync_len; /* length of horizontal sync */ - uint32_t vsync_len; /* length of vertical sync */ - uint32_t sync; /* see FB_SYNC_* */ - uint32_t vmode; /* see FB_VMODE_* */ - uint32_t rotate; /* angle we rotate counter clockwise */ - uint32_t colorspace; /* colorspace for FOURCC-based modes */ - uint32_t reserved[4]; /* Reserved for future compatibility */ -}; - -struct fb_fix_screeninfo -{ - char id[16]; /* identification string eg "TT Builtin" */ - unsigned long smem_start; /* Start of frame buffer mem */ - /* (physical address) */ - uint32_t smem_len; /* Length of frame buffer mem */ - uint32_t type; /* see FB_TYPE_* */ - uint32_t type_aux; /* Interleave for interleaved Planes */ - uint32_t visual; /* see FB_VISUAL_* */ - uint16_t xpanstep; /* zero if no hardware panning */ - uint16_t ypanstep; /* zero if no hardware panning */ - uint16_t ywrapstep; /* zero if no hardware ywrap */ - uint32_t line_length; /* length of a line in bytes */ - unsigned long mmio_start; /* Start of Memory Mapped I/O */ - /* (physical address) */ - uint32_t mmio_len; /* Length of Memory Mapped I/O */ - uint32_t accel; /* Indicate to driver which */ - /* specific chip/card we have */ - uint16_t capabilities; /* see FB_CAP_* */ - uint16_t reserved[2]; /* Reserved for future compatibility */ -}; #endif