@@ -688,6 +688,210 @@ static const struct ili9881c_instr nwe080_init[] = {
688688 ILI9881C_COMMAND_INSTR (0x35 , 0x00 ),
689689};
690690
691+ static const struct ili9881c_instr txw700071s0_init [] = {
692+ ILI9881C_SWITCH_PAGE_INSTR (3 ),
693+ ILI9881C_COMMAND_INSTR (0x01 , 0x00 ),
694+ ILI9881C_COMMAND_INSTR (0x02 , 0x00 ),
695+ ILI9881C_COMMAND_INSTR (0x03 , 0x72 ),
696+ ILI9881C_COMMAND_INSTR (0x04 , 0x00 ),
697+ ILI9881C_COMMAND_INSTR (0x05 , 0x00 ),
698+ ILI9881C_COMMAND_INSTR (0x06 , 0x09 ),
699+ ILI9881C_COMMAND_INSTR (0x07 , 0x00 ),
700+ ILI9881C_COMMAND_INSTR (0x08 , 0x00 ),
701+ ILI9881C_COMMAND_INSTR (0x09 , 0x00 ),
702+ ILI9881C_COMMAND_INSTR (0x0A , 0x00 ),
703+ ILI9881C_COMMAND_INSTR (0x0B , 0x00 ),
704+ ILI9881C_COMMAND_INSTR (0x0C , 0x00 ),
705+ ILI9881C_COMMAND_INSTR (0x0D , 0x00 ),
706+ ILI9881C_COMMAND_INSTR (0x0E , 0x00 ),
707+ ILI9881C_COMMAND_INSTR (0x0F , 0x00 ),
708+ ILI9881C_COMMAND_INSTR (0x10 , 0x00 ),
709+ ILI9881C_COMMAND_INSTR (0x11 , 0x00 ),
710+ ILI9881C_COMMAND_INSTR (0x12 , 0x00 ),
711+ ILI9881C_COMMAND_INSTR (0x13 , 0x00 ),
712+ ILI9881C_COMMAND_INSTR (0x14 , 0x00 ),
713+ ILI9881C_COMMAND_INSTR (0x15 , 0x00 ),
714+ ILI9881C_COMMAND_INSTR (0x16 , 0x00 ),
715+ ILI9881C_COMMAND_INSTR (0x17 , 0x00 ),
716+ ILI9881C_COMMAND_INSTR (0x18 , 0x00 ),
717+ ILI9881C_COMMAND_INSTR (0x19 , 0x00 ),
718+ ILI9881C_COMMAND_INSTR (0x1A , 0x00 ),
719+ ILI9881C_COMMAND_INSTR (0x1B , 0x00 ),
720+ ILI9881C_COMMAND_INSTR (0x1C , 0x00 ),
721+ ILI9881C_COMMAND_INSTR (0x1D , 0x00 ),
722+ ILI9881C_COMMAND_INSTR (0x1E , 0x40 ),
723+ ILI9881C_COMMAND_INSTR (0x1F , 0x80 ),
724+ ILI9881C_COMMAND_INSTR (0x20 , 0x05 ),
725+ ILI9881C_COMMAND_INSTR (0x21 , 0x02 ),
726+ ILI9881C_COMMAND_INSTR (0x22 , 0x00 ),
727+ ILI9881C_COMMAND_INSTR (0x23 , 0x00 ),
728+ ILI9881C_COMMAND_INSTR (0x24 , 0x00 ),
729+ ILI9881C_COMMAND_INSTR (0x25 , 0x00 ),
730+ ILI9881C_COMMAND_INSTR (0x26 , 0x00 ),
731+ ILI9881C_COMMAND_INSTR (0x27 , 0x00 ),
732+ ILI9881C_COMMAND_INSTR (0x28 , 0x33 ),
733+ ILI9881C_COMMAND_INSTR (0x29 , 0x22 ),
734+ ILI9881C_COMMAND_INSTR (0x2A , 0x00 ),
735+ ILI9881C_COMMAND_INSTR (0x2B , 0x00 ),
736+ ILI9881C_COMMAND_INSTR (0x2C , 0x00 ),
737+ ILI9881C_COMMAND_INSTR (0x2D , 0x00 ),
738+ ILI9881C_COMMAND_INSTR (0x2E , 0x00 ),
739+ ILI9881C_COMMAND_INSTR (0x2F , 0x00 ),
740+ ILI9881C_COMMAND_INSTR (0x30 , 0x00 ),
741+ ILI9881C_COMMAND_INSTR (0x31 , 0x00 ),
742+ ILI9881C_COMMAND_INSTR (0x32 , 0x00 ),
743+ ILI9881C_COMMAND_INSTR (0x33 , 0x00 ),
744+ ILI9881C_COMMAND_INSTR (0x34 , 0x04 ),
745+ ILI9881C_COMMAND_INSTR (0x35 , 0x00 ),
746+ ILI9881C_COMMAND_INSTR (0x36 , 0x00 ),
747+ ILI9881C_COMMAND_INSTR (0x37 , 0x00 ),
748+ ILI9881C_COMMAND_INSTR (0x38 , 0x3C ),
749+ ILI9881C_COMMAND_INSTR (0x39 , 0x00 ),
750+ ILI9881C_COMMAND_INSTR (0x3A , 0x00 ),
751+ ILI9881C_COMMAND_INSTR (0x3B , 0x00 ),
752+ ILI9881C_COMMAND_INSTR (0x3C , 0x00 ),
753+ ILI9881C_COMMAND_INSTR (0x3D , 0x00 ),
754+ ILI9881C_COMMAND_INSTR (0x3E , 0x00 ),
755+ ILI9881C_COMMAND_INSTR (0x3F , 0x00 ),
756+ ILI9881C_COMMAND_INSTR (0x40 , 0x00 ),
757+ ILI9881C_COMMAND_INSTR (0x41 , 0x00 ),
758+ ILI9881C_COMMAND_INSTR (0x42 , 0x00 ),
759+ ILI9881C_COMMAND_INSTR (0x43 , 0x00 ),
760+ ILI9881C_COMMAND_INSTR (0x44 , 0x00 ),
761+ ILI9881C_COMMAND_INSTR (0x50 , 0x10 ),
762+ ILI9881C_COMMAND_INSTR (0x51 , 0x32 ),
763+ ILI9881C_COMMAND_INSTR (0x52 , 0x54 ),
764+ ILI9881C_COMMAND_INSTR (0x53 , 0x76 ),
765+ ILI9881C_COMMAND_INSTR (0x54 , 0x98 ),
766+ ILI9881C_COMMAND_INSTR (0x55 , 0xBA ),
767+ ILI9881C_COMMAND_INSTR (0x56 , 0x10 ),
768+ ILI9881C_COMMAND_INSTR (0x57 , 0x32 ),
769+ ILI9881C_COMMAND_INSTR (0x58 , 0x54 ),
770+ ILI9881C_COMMAND_INSTR (0x59 , 0x76 ),
771+ ILI9881C_COMMAND_INSTR (0x5A , 0x98 ),
772+ ILI9881C_COMMAND_INSTR (0x5B , 0xBA ),
773+ ILI9881C_COMMAND_INSTR (0x5C , 0xDC ),
774+ ILI9881C_COMMAND_INSTR (0x5D , 0xFE ),
775+ ILI9881C_COMMAND_INSTR (0x5E , 0x00 ),
776+ ILI9881C_COMMAND_INSTR (0x5F , 0x01 ),
777+ ILI9881C_COMMAND_INSTR (0x60 , 0x00 ),
778+ ILI9881C_COMMAND_INSTR (0x61 , 0x15 ),
779+ ILI9881C_COMMAND_INSTR (0x62 , 0x14 ),
780+ ILI9881C_COMMAND_INSTR (0x63 , 0x0E ),
781+ ILI9881C_COMMAND_INSTR (0x64 , 0x0F ),
782+ ILI9881C_COMMAND_INSTR (0x65 , 0x0C ),
783+ ILI9881C_COMMAND_INSTR (0x66 , 0x0D ),
784+ ILI9881C_COMMAND_INSTR (0x67 , 0x06 ),
785+ ILI9881C_COMMAND_INSTR (0x68 , 0x02 ),
786+ ILI9881C_COMMAND_INSTR (0x69 , 0x02 ),
787+ ILI9881C_COMMAND_INSTR (0x6A , 0x02 ),
788+ ILI9881C_COMMAND_INSTR (0x6B , 0x02 ),
789+ ILI9881C_COMMAND_INSTR (0x6C , 0x02 ),
790+ ILI9881C_COMMAND_INSTR (0x6D , 0x02 ),
791+ ILI9881C_COMMAND_INSTR (0x6E , 0x07 ),
792+ ILI9881C_COMMAND_INSTR (0x6F , 0x02 ),
793+ ILI9881C_COMMAND_INSTR (0x70 , 0x02 ),
794+ ILI9881C_COMMAND_INSTR (0x71 , 0x02 ),
795+ ILI9881C_COMMAND_INSTR (0x72 , 0x02 ),
796+ ILI9881C_COMMAND_INSTR (0x73 , 0x02 ),
797+ ILI9881C_COMMAND_INSTR (0x74 , 0x02 ),
798+ ILI9881C_COMMAND_INSTR (0x75 , 0x01 ),
799+ ILI9881C_COMMAND_INSTR (0x76 , 0x00 ),
800+ ILI9881C_COMMAND_INSTR (0x77 , 0x14 ),
801+ ILI9881C_COMMAND_INSTR (0x78 , 0x15 ),
802+ ILI9881C_COMMAND_INSTR (0x79 , 0x0E ),
803+ ILI9881C_COMMAND_INSTR (0x7A , 0x0F ),
804+ ILI9881C_COMMAND_INSTR (0x7B , 0x0C ),
805+ ILI9881C_COMMAND_INSTR (0x7C , 0x0D ),
806+ ILI9881C_COMMAND_INSTR (0x7D , 0x06 ),
807+ ILI9881C_COMMAND_INSTR (0x7E , 0x02 ),
808+ ILI9881C_COMMAND_INSTR (0x7F , 0x02 ),
809+ ILI9881C_COMMAND_INSTR (0x80 , 0x02 ),
810+ ILI9881C_COMMAND_INSTR (0x81 , 0x02 ),
811+ ILI9881C_COMMAND_INSTR (0x82 , 0x02 ),
812+ ILI9881C_COMMAND_INSTR (0x83 , 0x02 ),
813+ ILI9881C_COMMAND_INSTR (0x84 , 0x07 ),
814+ ILI9881C_COMMAND_INSTR (0x85 , 0x02 ),
815+ ILI9881C_COMMAND_INSTR (0x86 , 0x02 ),
816+ ILI9881C_COMMAND_INSTR (0x87 , 0x02 ),
817+ ILI9881C_COMMAND_INSTR (0x88 , 0x02 ),
818+ ILI9881C_COMMAND_INSTR (0x89 , 0x02 ),
819+ ILI9881C_COMMAND_INSTR (0x8A , 0x02 ),
820+
821+ ILI9881C_SWITCH_PAGE_INSTR (4 ),
822+ ILI9881C_COMMAND_INSTR (0x6E , 0x2A ),
823+ ILI9881C_COMMAND_INSTR (0x6F , 0x35 ),
824+ ILI9881C_COMMAND_INSTR (0x3A , 0x24 ),
825+ ILI9881C_COMMAND_INSTR (0x8D , 0x14 ),
826+ ILI9881C_COMMAND_INSTR (0x87 , 0xBA ),
827+ ILI9881C_COMMAND_INSTR (0x26 , 0x76 ),
828+ ILI9881C_COMMAND_INSTR (0xB2 , 0xD1 ),
829+ ILI9881C_COMMAND_INSTR (0xB5 , 0x27 ),
830+ ILI9881C_COMMAND_INSTR (0x31 , 0x75 ),
831+ ILI9881C_COMMAND_INSTR (0x30 , 0x03 ),
832+ ILI9881C_COMMAND_INSTR (0x3B , 0x98 ),
833+ ILI9881C_COMMAND_INSTR (0x35 , 0x1F ),
834+ ILI9881C_COMMAND_INSTR (0x33 , 0x14 ),
835+ ILI9881C_COMMAND_INSTR (0x7A , 0x0F ),
836+ ILI9881C_COMMAND_INSTR (0x38 , 0x01 ),
837+ ILI9881C_COMMAND_INSTR (0x39 , 0x00 ),
838+
839+ ILI9881C_SWITCH_PAGE_INSTR (1 ),
840+ ILI9881C_COMMAND_INSTR (0x22 , 0x0A ),
841+ ILI9881C_COMMAND_INSTR (0x31 , 0x00 ),
842+ ILI9881C_COMMAND_INSTR (0x53 , 0x45 ),
843+ ILI9881C_COMMAND_INSTR (0x55 , 0x4E ),
844+ ILI9881C_COMMAND_INSTR (0x50 , 0xC7 ),
845+ ILI9881C_COMMAND_INSTR (0x51 , 0xC2 ),
846+ ILI9881C_COMMAND_INSTR (0x60 , 0x25 ),
847+ ILI9881C_COMMAND_INSTR (0x63 , 0x00 ),
848+ ILI9881C_COMMAND_INSTR (0xA0 , 0x00 ),
849+ ILI9881C_COMMAND_INSTR (0xA1 , 0x16 ),
850+ ILI9881C_COMMAND_INSTR (0xA2 , 0x26 ),
851+ ILI9881C_COMMAND_INSTR (0xA3 , 0x16 ),
852+ ILI9881C_COMMAND_INSTR (0xA4 , 0x19 ),
853+ ILI9881C_COMMAND_INSTR (0xA5 , 0x2B ),
854+ ILI9881C_COMMAND_INSTR (0xA6 , 0x1E ),
855+ ILI9881C_COMMAND_INSTR (0xA7 , 0x20 ),
856+ ILI9881C_COMMAND_INSTR (0xA8 , 0x93 ),
857+ ILI9881C_COMMAND_INSTR (0xA9 , 0x20 ),
858+ ILI9881C_COMMAND_INSTR (0xAA , 0x2C ),
859+ ILI9881C_COMMAND_INSTR (0xAB , 0x87 ),
860+ ILI9881C_COMMAND_INSTR (0xAC , 0x1F ),
861+ ILI9881C_COMMAND_INSTR (0xAD , 0x1F ),
862+ ILI9881C_COMMAND_INSTR (0xAE , 0x53 ),
863+ ILI9881C_COMMAND_INSTR (0xAF , 0x27 ),
864+ ILI9881C_COMMAND_INSTR (0xB0 , 0x2A ),
865+ ILI9881C_COMMAND_INSTR (0xB1 , 0x52 ),
866+ ILI9881C_COMMAND_INSTR (0xB2 , 0x5B ),
867+ ILI9881C_COMMAND_INSTR (0xB3 , 0x23 ),
868+ ILI9881C_COMMAND_INSTR (0xC0 , 0x00 ),
869+ ILI9881C_COMMAND_INSTR (0xC1 , 0x11 ),
870+ ILI9881C_COMMAND_INSTR (0xC2 , 0x1E ),
871+ ILI9881C_COMMAND_INSTR (0xC3 , 0x0F ),
872+ ILI9881C_COMMAND_INSTR (0xC4 , 0x12 ),
873+ ILI9881C_COMMAND_INSTR (0xC5 , 0x26 ),
874+ ILI9881C_COMMAND_INSTR (0xC6 , 0x1C ),
875+ ILI9881C_COMMAND_INSTR (0xC7 , 0x1E ),
876+ ILI9881C_COMMAND_INSTR (0xC8 , 0x87 ),
877+ ILI9881C_COMMAND_INSTR (0xC9 , 0x19 ),
878+ ILI9881C_COMMAND_INSTR (0xCA , 0x26 ),
879+ ILI9881C_COMMAND_INSTR (0xCB , 0x7F ),
880+ ILI9881C_COMMAND_INSTR (0xCC , 0x20 ),
881+ ILI9881C_COMMAND_INSTR (0xCD , 0x22 ),
882+ ILI9881C_COMMAND_INSTR (0xCE , 0x58 ),
883+ ILI9881C_COMMAND_INSTR (0xCF , 0x2A ),
884+ ILI9881C_COMMAND_INSTR (0xD0 , 0x2E ),
885+ ILI9881C_COMMAND_INSTR (0xD1 , 0x50 ),
886+ ILI9881C_COMMAND_INSTR (0xD2 , 0x5D ),
887+ ILI9881C_COMMAND_INSTR (0xD3 , 0x23 ),
888+
889+ ILI9881C_SWITCH_PAGE_INSTR (0 ),
890+ ILI9881C_COMMAND_INSTR (0x35 , 0x00 ),
891+ ILI9881C_COMMAND_INSTR (0x11 , 0x00 ),
892+ ILI9881C_COMMAND_INSTR (0x29 , 0x00 ),
893+ };
894+
691895static const struct ili9881c_instr tl050hdv35_init [] = {
692896 ILI9881C_SWITCH_PAGE_INSTR (3 ),
693897 ILI9881C_COMMAND_INSTR (0x01 , 0x00 ),
@@ -1834,6 +2038,23 @@ static const struct drm_display_mode nwe080_default_mode = {
18342038 .height_mm = 170 ,
18352039};
18362040
2041+ static const struct drm_display_mode txw700071s0_default_mode = {
2042+ .clock = 78086 ,
2043+
2044+ .hdisplay = 800 ,
2045+ .hsync_start = 800 + 80 ,
2046+ .hsync_end = 800 + 80 + 20 ,
2047+ .htotal = 800 + 80 + 20 + 80 ,
2048+
2049+ .vdisplay = 1280 ,
2050+ .vsync_start = 1280 + 16 ,
2051+ .vsync_end = 1280 + 16 + 8 ,
2052+ .vtotal = 1280 + 16 + 8 + 24 ,
2053+
2054+ .width_mm = 94 ,
2055+ .height_mm = 151 ,
2056+ };
2057+
18372058static const struct drm_display_mode tl050hdv35_default_mode = {
18382059 .clock = 59400 ,
18392060
@@ -2049,6 +2270,14 @@ static const struct ili9881c_desc nwe080_desc = {
20492270 .lanes = 4 ,
20502271};
20512272
2273+ static const struct ili9881c_desc txw700071s0_desc = {
2274+ .init = txw700071s0_init ,
2275+ .init_length = ARRAY_SIZE (txw700071s0_init ),
2276+ .mode = & txw700071s0_default_mode ,
2277+ .mode_flags = MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_VIDEO ,
2278+ .lanes = 4 ,
2279+ };
2280+
20522281static const struct ili9881c_desc tl050hdv35_desc = {
20532282 .init = tl050hdv35_init ,
20542283 .init_length = ARRAY_SIZE (tl050hdv35_init ),
@@ -2096,6 +2325,7 @@ static const struct of_device_id ili9881c_of_match[] = {
20962325 { .compatible = "bananapi,lhr050h41" , .data = & lhr050h41_desc },
20972326 { .compatible = "feixin,k101-im2byl02" , .data = & k101_im2byl02_desc },
20982327 { .compatible = "nwe,nwe080" , .data = & nwe080_desc },
2328+ { .compatible = "txw,txw700071s0" , .data = & txw700071s0_desc },
20992329 { .compatible = "tdo,tl050hdv35" , .data = & tl050hdv35_desc },
21002330 { .compatible = "wanchanglong,w552946aba" , .data = & w552946aba_desc },
21012331 { .compatible = "crystalfontz,cfaf7201280a0_050tx" , .data = & cfaf7201280a0_050tx_desc },
0 commit comments