From d50b29a9e7e01713d8b4954d84318fd9f702e890 Mon Sep 17 00:00:00 2001 From: Josep Orga Date: Sun, 26 Apr 2020 11:21:58 +0200 Subject: [PATCH] arm: imx: Add SOMDEVICES panel with somdevices.bmp logo: Remove logo version in splash screen. Remove Tux logo. Remove blinking cursor. To create bmp: convert somdevices.png -bordercolor white -channel RGBA -fuzz 20% -fill black -floodfill +0+0 white -resize 600x146\! -colors 200 -alpha off -type palette -compress none somdevices_small.bmp Signed-off-by: Josep Orga --- arch/arm/dts/imx6ull-somdevices.dts | 22 +++++++++--------- .../imx6ull_somdevices/imx6ull_somdevices.c | 18 +++++++------- include/configs/imx6ull_somdevices.h | 9 ++++--- tools/logos/somdevices.bmp | Bin 0 -> 88762 bytes 4 files changed, 26 insertions(+), 23 deletions(-) create mode 100644 tools/logos/somdevices.bmp diff --git a/arch/arm/dts/imx6ull-somdevices.dts b/arch/arm/dts/imx6ull-somdevices.dts index 2c801b2de7..d0a2901134 100644 --- a/arch/arm/dts/imx6ull-somdevices.dts +++ b/arch/arm/dts/imx6ull-somdevices.dts @@ -41,7 +41,7 @@ backlight { compatible = "pwm-backlight"; - pwms = <&pwm1 0 5000000>; + pwms = <&pwm1 0 2000000>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <6>; status = "okay"; @@ -636,8 +636,7 @@ &lcdif { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcdif_dat - &pinctrl_lcdif_ctrl - &pinctrl_lcdif_reset>; + &pinctrl_lcdif_ctrl>; display = <&display0>; status = "okay"; @@ -648,14 +647,15 @@ display-timings { native-mode = <&timing0>; timing0: timing0 { - clock-frequency = <9200000>; - hactive = <480>; - vactive = <272>; - hfront-porch = <8>; - hback-porch = <4>; - hsync-len = <41>; - vback-porch = <2>; - vfront-porch = <4>; + //7INCH LCD + clock-frequency = <33000000>; + hactive = <800>; + vactive = <480>; + hfront-porch = <210>; + hback-porch = <30>; + hsync-len = <16>; + vback-porch = <13>; + vfront-porch = <22>; vsync-len = <10>; hsync-active = <0>; diff --git a/board/somdevices/imx6ull_somdevices/imx6ull_somdevices.c b/board/somdevices/imx6ull_somdevices/imx6ull_somdevices.c index fc4384b134..961c789cc0 100644 --- a/board/somdevices/imx6ull_somdevices/imx6ull_somdevices.c +++ b/board/somdevices/imx6ull_somdevices/imx6ull_somdevices.c @@ -314,15 +314,15 @@ struct display_info_t const displays[] = {{ .detect = NULL, .enable = do_enable_parallel_lcd, .mode = { - .name = "TFT43AB", - .xres = 480, - .yres = 272, - .pixclock = 108695, - .left_margin = 8, - .right_margin = 4, - .upper_margin = 2, - .lower_margin = 4, - .hsync_len = 41, + .name = "SOMDEVICES", + .xres = 800, + .yres = 480, + .pixclock = 30303, + .left_margin = 30, + .right_margin = 210, + .upper_margin = 13, + .lower_margin = 22, + .hsync_len = 16, .vsync_len = 10, .sync = 0, .vmode = FB_VMODE_NONINTERLACED diff --git a/include/configs/imx6ull_somdevices.h b/include/configs/imx6ull_somdevices.h index ed10df2484..73ae0e0863 100644 --- a/include/configs/imx6ull_somdevices.h +++ b/include/configs/imx6ull_somdevices.h @@ -85,7 +85,7 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ CONFIG_MFG_ENV_SETTINGS \ TEE_ENV \ - "panel=TFT43AB\0" \ + "panel=SOMDEVICES\0" \ "fdt_addr=0x83000000\0" \ "fdt_high=0xffffffff\0" \ "tee_addr=0x84000000\0" \ @@ -119,14 +119,16 @@ "tee_file=undefined\0" \ "boot_fdt=try\0" \ "ip_dyn=yes\0" \ - "panel=TFT43AB\0" \ + "panel=SOMDEVICES\0" \ "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ "mmcautodetect=yes\0" \ "mmcargs=setenv bootargs console=${console},${baudrate} " \ BOOTARGS_CMA_SIZE \ - "root=${mmcroot}\0" \ + "root=${mmcroot} " \ + "logo.nologo vt.global_cursor_default=0\0" \ + "splashpos=100,167\0" \ "loadbootscript=" \ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ "bootscript=echo Running bootscript from mmc ...; " \ @@ -324,6 +326,7 @@ #define CONFIG_VIDEO_BMP_RLE8 #define CONFIG_VIDEO_BMP_LOGO #define CONFIG_IMX_VIDEO_SKIP +#define CONFIG_HIDE_LOGO_VERSION #endif #endif diff --git a/tools/logos/somdevices.bmp b/tools/logos/somdevices.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5b9efaa2ff43d8b60d9dfa3f7bcb9c7bac2c3d5d GIT binary patch literal 88762 zcmeHw-EU*dmRIdCT7aKAn>so3xYbbbE5_(}|OG;@I)=M{EsuW{|E9AHzMP z8C|41V(#Ul8F&EcK7bJS1!*(_4ZI*EUO-~z2?62(0WbUm@Wej=5Aebh5Aa)6wN};M z-j3bfN#AplUET4nUAt;k?NvYj)~b)aef_Kd?k@z2!Y{H){Vg274wd>t90Qf3Wc9@l z0=4%mO8+5|E+G6r{;yB22fy*xfBql;&-cFhH@k(>-~FFK`^zske*U8$?YDpQqlJI^ z$A7$Zk^gU*mw)LWG$=C%R5uYeKFO*V>sj^b^XKZ|)10dA7F7N7MOEK@rfTI-{h9KP zY955@Y;Qxotryhy4))d27hkCQ(QEZ({YafQPt;ZWO7&_BYWVuOx_J|-Kl{ZC^@H;T z_2-+rs(p2-e)GJfe!I1-e(UY$>bEb;>MwRf)#p#w_|NhSc^*{b) zsQ%ZVD)qnrBvk+R-$M2OVM29jLaKpO1E~g54Wt@KHIQl`)j+C&R0F97QVpaUNHvgZ zAk{#sfm8#j22u^A8b~$pXfzNYm=&8xbIa+C-nRyVh3%Jn&Ape~3ufui)JIVB&+oex zsr>J@2EvVEacjdvOt{_TutXSmKE2Y!@ zi+-GI^YU|2?3h$4mL=&_aOFJos2ya7-lMUX?^#z;{SPNC^Lcg6-c7JpU2{5GsvaHH zYAY_mef89q&QQaU$%LoXXI9M9s!7W{eT@w3BHd=3>yX_uwB%r= z!tGO&MxTzG9FJ|xCHb*sT6y!PzGQBCwce<6*JlnJZ|Zd<9CC`ulc_b3T(4KF$BlYb zsny1zXe{%(K^IZR3ba>%Didn9<2hf|AY!F{+-TI0d8I}I8jb2&1EMLc)sMey98&|U z$0jMLawVo=pMLq;;_C2NWAmvNf>vla8Zq;KX1DkDUKSU8(-sy9Q5szS;4jE;69``x z`P(snC66FyP_5VASjwU9XHqx>bXGDe&uWb*u-5DKwam)OYjl5g2|erKDgflxRx(S# z!lAG00J7FsmX=m($47*P%5( z$_H2|Q$Jd*ubUe?tgjITQCMN-${bo!G3n~i^j5HTTz^JMt99Y4wT6Zb(T*k#TY_+8 zdFrS^2u4vuHRyV}0PvXnEA_fYc(C3$Hnk#U$%?Uj^{ioqfn0Uw^#+63;Ogm-{UWS+ zOv+7p?;}mE``?xK7W7yOW?;1HWP|9NUdz<#Mte2+vd6Ru+R!PPMnmJu>%Cfo$u3qV zuzVQQ>HrXE&B6}n1mobSVQ>cOF_EBVakW&pP!&7)+SZQ*LsSk|)(&Qj47DairtdEO z_^2AFHdccp!ynIprK(|!jA4?5maM@JlK%|^8om-%SgKnlNhn20D=RQz#6ER#;ta!q zuNYTCJ=P9_udKAd@KvU6szoZIBn`l}Ft)fd1u|=};I?df`1l$)Lg%c#(Z;3<23l)q zo49mTuYPVqb*udF!1Rc5VPJA!vFIbB22*vHWT+^Yi&XIv24%;`jW-AlqF~eD#z@awvvUb+&Z2)QSdG?NHmp6=&Ok zE93xQ85la7%7Z_^$l?lSuZp}LC}BPcI53{JmP1o(2FQQYsK0uz;h+^YaR?Xkkul;# zhBP6ffps!C#=%W%e@sLQ!b{n&a`rWnRaiFm}+52M-O`!rC6LuW~LfKJPJ$-3*2J zxNoCGi_v@AJSob;^0f0ImYJ_T>LW}L5P-P`^yiwM{yEh2lrdZY-5^I|7lCB#c#u09 zZknMTIO05WVU)Xm%z5bC5oM8HM!OOmYX{yr`%wL^0_q-ig!3NS#bmn)j$rJw&qf19e)TP?1 z(hyTmjT>wSTbf-gTFm`t4$WXrTTLXb*56dEW_S=sBQa(qeTl7FMo)-iuxA}=pqIQk z=U)k5y%xXyi2KY6sW$91XkbT%cCv!-s=pFE3c*T1q!G4}w;i(EgrC#qDgN9f`bHCJ z8dkW{6u<=q%P6Y35O2-m1bGruAe4n`{&!fF1( z{HX3WbZcGbB#0dwr@v+llBf}72%EuL;|nUYim7n2lbF)ij01=o=tlf2jVJIGOR=~@ z!!(uA9KLP{46+`>!m&4F*(1~9OicjKB4!*HfD#QA98Q{S-m-fZRQ3`BYs2QHGN(SU zg3V$vZZK!m{NOH2XVrpLGbIZ0(47qD_jR@U3iI93Z+&nGR8*^n4U3)CdhM`Yt7@RE z!?UTrdR6E7QC1ha_y}dNdSke5{S8Kj)oRT`)c4zMWv_^@0%WPz4^bJpT}*nI%|~@W zlUcPPa->X$uQ7YCD+Ih>zd}*tyKx&5jzKo>nKhLqUeeIgpS;m(8?f<%-RFQ+LxP{a z0%Y;78l|#(L~l)h#V4Wehn)nbFg<-($K;ajbnYH3vtiWtDhey=Z5jc2Eb0Ae(NI z@yRd@U*ZI=*s0ra>eu=>;xID?HtWZ$c1Bb!G1~-BF(A~YCZ>$c>e||>v0N}_6kA=l z8R?SsnxlnQkp9d;G@yK|)^(DhK}JS#nWvO@Wfj(Tb#--xaxSfM@qmQ!=u%}6qZGLe zeCw85>Ctw$vm$l=>B%0iFfTB62r7gNlQpo2qEsDD3=*@tI47cnwVQdvc#!ajfd%i} zXm6>G4KAi5WOU}b;GSc*)acDK+;Jm{1|)(9HO1ad;K~9h+;f=HG3)4W5GDz+!gzPw z@b7>)JF|$E1~4r=NRw&nk97xFCS>-DSLx;%z>G5pC|>r~bI^(jFWEnjpTNtxOJ$YrjUJIMXs=ei>Bj5_aG6Ex-uRK^mV6l0wbA!p64px{^Xu>{T0&DnxS>l>$K&Sx< zTrt-8T6+AL8VH^x4k2Sr2$;EI>F;$Kln6g>owb9Mh34g3pakK>M-Q%Ki@@CF`RPe) z!)Uey8E-G?k~cA$KOriF@beT`@6|cq?gF|m#~r?W-0KLguC%< zv4RD~=3d?xl-~o^;On2u!_lrl8hhXx2=WQ=!B*qhPmo0wL;I8CW$+9bnC~*BtEj5d zvk%rlwpiRQrry;D>oFCOY9Q4>s)1AksRmLFq#8&ykZRyAG!W)XdzF`a8B_nH?8Sq-_wtD$;5l;d7LiR!v0bJ`Ti=0~hp z%0kh^K=*L_#q8pfMf}&?Z}J?!4H1G709zeJQZx zq9S4^p>s?f$W0}8UbxD=*yfJ8x-+4VAY6Q*uN|1MzkdKBFS4zmR98_{JX@p+_O zLAXpZ5B9Z4d?E^=%agb3HSunudBDo@mFA|_rP+#1xY7xPD~q+6H5ShL!|})jKAN*( zw-P}FiQ4dTQ!bRyg~p>nr<{vc*4ARiqyDa+UN*u<EPeBX-cy1c;)+g-_redyX{ zrr2ULIj2qC_bap|pP26B95I0=(I=Lb{`MM6ecR6ohw-Ru_s&}xLFM+`5df*S zh3UXYXUM6ezArnc1&_z$j_dpxxI(AwFGp@}F}dG3H3?T+e9;`E@~m)%#eNi5%MnOM zk1>(8*qOhzwq3&$37|4b zU7v%33qwv*a}P^?WrnXtQNGH*z};wthno9h{JdpEvypQQ!JhWJ za1FHOo0(~qv$LZ++nO!$nRMd75mtWSFhMcO&t>>Z$MaB<_$u@asSiTOS59+rGD%dn z50=Hm94^s`W_?VQ@S($*1Qy=KdDi3aEFjBol~FAT;4m

`c~k>Ohz5=Q9)^2EoG`2+geAE05MGj;z@+E7 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 literal 0 HcmV?d00001 -- 2.17.1