@@ -662,6 +662,210 @@ static const struct ili9881c_instr kd050hdfia020_init[] = {
662662 ILI9881C_COMMAND_INSTR (0x3A , 0x7 ),
663663};
664664
665+ static const struct ili9881c_instr txw700071s0_init [] = {
666+ ILI9881C_SWITCH_PAGE_INSTR (3 ),
667+ ILI9881C_COMMAND_INSTR (0x01 , 0x00 ),
668+ ILI9881C_COMMAND_INSTR (0x02 , 0x00 ),
669+ ILI9881C_COMMAND_INSTR (0x03 , 0x72 ),
670+ ILI9881C_COMMAND_INSTR (0x04 , 0x00 ),
671+ ILI9881C_COMMAND_INSTR (0x05 , 0x00 ),
672+ ILI9881C_COMMAND_INSTR (0x06 , 0x09 ),
673+ ILI9881C_COMMAND_INSTR (0x07 , 0x00 ),
674+ ILI9881C_COMMAND_INSTR (0x08 , 0x00 ),
675+ ILI9881C_COMMAND_INSTR (0x09 , 0x00 ),
676+ ILI9881C_COMMAND_INSTR (0x0A , 0x00 ),
677+ ILI9881C_COMMAND_INSTR (0x0B , 0x00 ),
678+ ILI9881C_COMMAND_INSTR (0x0C , 0x00 ),
679+ ILI9881C_COMMAND_INSTR (0x0D , 0x00 ),
680+ ILI9881C_COMMAND_INSTR (0x0E , 0x00 ),
681+ ILI9881C_COMMAND_INSTR (0x0F , 0x00 ),
682+ ILI9881C_COMMAND_INSTR (0x10 , 0x00 ),
683+ ILI9881C_COMMAND_INSTR (0x11 , 0x00 ),
684+ ILI9881C_COMMAND_INSTR (0x12 , 0x00 ),
685+ ILI9881C_COMMAND_INSTR (0x13 , 0x00 ),
686+ ILI9881C_COMMAND_INSTR (0x14 , 0x00 ),
687+ ILI9881C_COMMAND_INSTR (0x15 , 0x00 ),
688+ ILI9881C_COMMAND_INSTR (0x16 , 0x00 ),
689+ ILI9881C_COMMAND_INSTR (0x17 , 0x00 ),
690+ ILI9881C_COMMAND_INSTR (0x18 , 0x00 ),
691+ ILI9881C_COMMAND_INSTR (0x19 , 0x00 ),
692+ ILI9881C_COMMAND_INSTR (0x1A , 0x00 ),
693+ ILI9881C_COMMAND_INSTR (0x1B , 0x00 ),
694+ ILI9881C_COMMAND_INSTR (0x1C , 0x00 ),
695+ ILI9881C_COMMAND_INSTR (0x1D , 0x00 ),
696+ ILI9881C_COMMAND_INSTR (0x1E , 0x40 ),
697+ ILI9881C_COMMAND_INSTR (0x1F , 0x80 ),
698+ ILI9881C_COMMAND_INSTR (0x20 , 0x05 ),
699+ ILI9881C_COMMAND_INSTR (0x21 , 0x02 ),
700+ ILI9881C_COMMAND_INSTR (0x22 , 0x00 ),
701+ ILI9881C_COMMAND_INSTR (0x23 , 0x00 ),
702+ ILI9881C_COMMAND_INSTR (0x24 , 0x00 ),
703+ ILI9881C_COMMAND_INSTR (0x25 , 0x00 ),
704+ ILI9881C_COMMAND_INSTR (0x26 , 0x00 ),
705+ ILI9881C_COMMAND_INSTR (0x27 , 0x00 ),
706+ ILI9881C_COMMAND_INSTR (0x28 , 0x33 ),
707+ ILI9881C_COMMAND_INSTR (0x29 , 0x22 ),
708+ ILI9881C_COMMAND_INSTR (0x2A , 0x00 ),
709+ ILI9881C_COMMAND_INSTR (0x2B , 0x00 ),
710+ ILI9881C_COMMAND_INSTR (0x2C , 0x00 ),
711+ ILI9881C_COMMAND_INSTR (0x2D , 0x00 ),
712+ ILI9881C_COMMAND_INSTR (0x2E , 0x00 ),
713+ ILI9881C_COMMAND_INSTR (0x2F , 0x00 ),
714+ ILI9881C_COMMAND_INSTR (0x30 , 0x00 ),
715+ ILI9881C_COMMAND_INSTR (0x31 , 0x00 ),
716+ ILI9881C_COMMAND_INSTR (0x32 , 0x00 ),
717+ ILI9881C_COMMAND_INSTR (0x33 , 0x00 ),
718+ ILI9881C_COMMAND_INSTR (0x34 , 0x04 ),
719+ ILI9881C_COMMAND_INSTR (0x35 , 0x00 ),
720+ ILI9881C_COMMAND_INSTR (0x36 , 0x00 ),
721+ ILI9881C_COMMAND_INSTR (0x37 , 0x00 ),
722+ ILI9881C_COMMAND_INSTR (0x38 , 0x3C ),
723+ ILI9881C_COMMAND_INSTR (0x39 , 0x00 ),
724+ ILI9881C_COMMAND_INSTR (0x3A , 0x00 ),
725+ ILI9881C_COMMAND_INSTR (0x3B , 0x00 ),
726+ ILI9881C_COMMAND_INSTR (0x3C , 0x00 ),
727+ ILI9881C_COMMAND_INSTR (0x3D , 0x00 ),
728+ ILI9881C_COMMAND_INSTR (0x3E , 0x00 ),
729+ ILI9881C_COMMAND_INSTR (0x3F , 0x00 ),
730+ ILI9881C_COMMAND_INSTR (0x40 , 0x00 ),
731+ ILI9881C_COMMAND_INSTR (0x41 , 0x00 ),
732+ ILI9881C_COMMAND_INSTR (0x42 , 0x00 ),
733+ ILI9881C_COMMAND_INSTR (0x43 , 0x00 ),
734+ ILI9881C_COMMAND_INSTR (0x44 , 0x00 ),
735+ ILI9881C_COMMAND_INSTR (0x50 , 0x10 ),
736+ ILI9881C_COMMAND_INSTR (0x51 , 0x32 ),
737+ ILI9881C_COMMAND_INSTR (0x52 , 0x54 ),
738+ ILI9881C_COMMAND_INSTR (0x53 , 0x76 ),
739+ ILI9881C_COMMAND_INSTR (0x54 , 0x98 ),
740+ ILI9881C_COMMAND_INSTR (0x55 , 0xBA ),
741+ ILI9881C_COMMAND_INSTR (0x56 , 0x10 ),
742+ ILI9881C_COMMAND_INSTR (0x57 , 0x32 ),
743+ ILI9881C_COMMAND_INSTR (0x58 , 0x54 ),
744+ ILI9881C_COMMAND_INSTR (0x59 , 0x76 ),
745+ ILI9881C_COMMAND_INSTR (0x5A , 0x98 ),
746+ ILI9881C_COMMAND_INSTR (0x5B , 0xBA ),
747+ ILI9881C_COMMAND_INSTR (0x5C , 0xDC ),
748+ ILI9881C_COMMAND_INSTR (0x5D , 0xFE ),
749+ ILI9881C_COMMAND_INSTR (0x5E , 0x00 ),
750+ ILI9881C_COMMAND_INSTR (0x5F , 0x01 ),
751+ ILI9881C_COMMAND_INSTR (0x60 , 0x00 ),
752+ ILI9881C_COMMAND_INSTR (0x61 , 0x15 ),
753+ ILI9881C_COMMAND_INSTR (0x62 , 0x14 ),
754+ ILI9881C_COMMAND_INSTR (0x63 , 0x0E ),
755+ ILI9881C_COMMAND_INSTR (0x64 , 0x0F ),
756+ ILI9881C_COMMAND_INSTR (0x65 , 0x0C ),
757+ ILI9881C_COMMAND_INSTR (0x66 , 0x0D ),
758+ ILI9881C_COMMAND_INSTR (0x67 , 0x06 ),
759+ ILI9881C_COMMAND_INSTR (0x68 , 0x02 ),
760+ ILI9881C_COMMAND_INSTR (0x69 , 0x02 ),
761+ ILI9881C_COMMAND_INSTR (0x6A , 0x02 ),
762+ ILI9881C_COMMAND_INSTR (0x6B , 0x02 ),
763+ ILI9881C_COMMAND_INSTR (0x6C , 0x02 ),
764+ ILI9881C_COMMAND_INSTR (0x6D , 0x02 ),
765+ ILI9881C_COMMAND_INSTR (0x6E , 0x07 ),
766+ ILI9881C_COMMAND_INSTR (0x6F , 0x02 ),
767+ ILI9881C_COMMAND_INSTR (0x70 , 0x02 ),
768+ ILI9881C_COMMAND_INSTR (0x71 , 0x02 ),
769+ ILI9881C_COMMAND_INSTR (0x72 , 0x02 ),
770+ ILI9881C_COMMAND_INSTR (0x73 , 0x02 ),
771+ ILI9881C_COMMAND_INSTR (0x74 , 0x02 ),
772+ ILI9881C_COMMAND_INSTR (0x75 , 0x01 ),
773+ ILI9881C_COMMAND_INSTR (0x76 , 0x00 ),
774+ ILI9881C_COMMAND_INSTR (0x77 , 0x14 ),
775+ ILI9881C_COMMAND_INSTR (0x78 , 0x15 ),
776+ ILI9881C_COMMAND_INSTR (0x79 , 0x0E ),
777+ ILI9881C_COMMAND_INSTR (0x7A , 0x0F ),
778+ ILI9881C_COMMAND_INSTR (0x7B , 0x0C ),
779+ ILI9881C_COMMAND_INSTR (0x7C , 0x0D ),
780+ ILI9881C_COMMAND_INSTR (0x7D , 0x06 ),
781+ ILI9881C_COMMAND_INSTR (0x7E , 0x02 ),
782+ ILI9881C_COMMAND_INSTR (0x7F , 0x02 ),
783+ ILI9881C_COMMAND_INSTR (0x80 , 0x02 ),
784+ ILI9881C_COMMAND_INSTR (0x81 , 0x02 ),
785+ ILI9881C_COMMAND_INSTR (0x82 , 0x02 ),
786+ ILI9881C_COMMAND_INSTR (0x83 , 0x02 ),
787+ ILI9881C_COMMAND_INSTR (0x84 , 0x07 ),
788+ ILI9881C_COMMAND_INSTR (0x85 , 0x02 ),
789+ ILI9881C_COMMAND_INSTR (0x86 , 0x02 ),
790+ ILI9881C_COMMAND_INSTR (0x87 , 0x02 ),
791+ ILI9881C_COMMAND_INSTR (0x88 , 0x02 ),
792+ ILI9881C_COMMAND_INSTR (0x89 , 0x02 ),
793+ ILI9881C_COMMAND_INSTR (0x8A , 0x02 ),
794+
795+ ILI9881C_SWITCH_PAGE_INSTR (4 ),
796+ ILI9881C_COMMAND_INSTR (0x6E , 0x2A ),
797+ ILI9881C_COMMAND_INSTR (0x6F , 0x35 ),
798+ ILI9881C_COMMAND_INSTR (0x3A , 0x24 ),
799+ ILI9881C_COMMAND_INSTR (0x8D , 0x14 ),
800+ ILI9881C_COMMAND_INSTR (0x87 , 0xBA ),
801+ ILI9881C_COMMAND_INSTR (0x26 , 0x76 ),
802+ ILI9881C_COMMAND_INSTR (0xB2 , 0xD1 ),
803+ ILI9881C_COMMAND_INSTR (0xB5 , 0x27 ),
804+ ILI9881C_COMMAND_INSTR (0x31 , 0x75 ),
805+ ILI9881C_COMMAND_INSTR (0x30 , 0x03 ),
806+ ILI9881C_COMMAND_INSTR (0x3B , 0x98 ),
807+ ILI9881C_COMMAND_INSTR (0x35 , 0x1F ),
808+ ILI9881C_COMMAND_INSTR (0x33 , 0x14 ),
809+ ILI9881C_COMMAND_INSTR (0x7A , 0x0F ),
810+ ILI9881C_COMMAND_INSTR (0x38 , 0x01 ),
811+ ILI9881C_COMMAND_INSTR (0x39 , 0x00 ),
812+
813+ ILI9881C_SWITCH_PAGE_INSTR (1 ),
814+ ILI9881C_COMMAND_INSTR (0x22 , 0x0A ),
815+ ILI9881C_COMMAND_INSTR (0x31 , 0x00 ),
816+ ILI9881C_COMMAND_INSTR (0x53 , 0x45 ),
817+ ILI9881C_COMMAND_INSTR (0x55 , 0x4E ),
818+ ILI9881C_COMMAND_INSTR (0x50 , 0xC7 ),
819+ ILI9881C_COMMAND_INSTR (0x51 , 0xC2 ),
820+ ILI9881C_COMMAND_INSTR (0x60 , 0x25 ),
821+ ILI9881C_COMMAND_INSTR (0x63 , 0x00 ),
822+ ILI9881C_COMMAND_INSTR (0xA0 , 0x00 ),
823+ ILI9881C_COMMAND_INSTR (0xA1 , 0x16 ),
824+ ILI9881C_COMMAND_INSTR (0xA2 , 0x26 ),
825+ ILI9881C_COMMAND_INSTR (0xA3 , 0x16 ),
826+ ILI9881C_COMMAND_INSTR (0xA4 , 0x19 ),
827+ ILI9881C_COMMAND_INSTR (0xA5 , 0x2B ),
828+ ILI9881C_COMMAND_INSTR (0xA6 , 0x1E ),
829+ ILI9881C_COMMAND_INSTR (0xA7 , 0x20 ),
830+ ILI9881C_COMMAND_INSTR (0xA8 , 0x93 ),
831+ ILI9881C_COMMAND_INSTR (0xA9 , 0x20 ),
832+ ILI9881C_COMMAND_INSTR (0xAA , 0x2C ),
833+ ILI9881C_COMMAND_INSTR (0xAB , 0x87 ),
834+ ILI9881C_COMMAND_INSTR (0xAC , 0x1F ),
835+ ILI9881C_COMMAND_INSTR (0xAD , 0x1F ),
836+ ILI9881C_COMMAND_INSTR (0xAE , 0x53 ),
837+ ILI9881C_COMMAND_INSTR (0xAF , 0x27 ),
838+ ILI9881C_COMMAND_INSTR (0xB0 , 0x2A ),
839+ ILI9881C_COMMAND_INSTR (0xB1 , 0x52 ),
840+ ILI9881C_COMMAND_INSTR (0xB2 , 0x5B ),
841+ ILI9881C_COMMAND_INSTR (0xB3 , 0x23 ),
842+ ILI9881C_COMMAND_INSTR (0xC0 , 0x00 ),
843+ ILI9881C_COMMAND_INSTR (0xC1 , 0x11 ),
844+ ILI9881C_COMMAND_INSTR (0xC2 , 0x1E ),
845+ ILI9881C_COMMAND_INSTR (0xC3 , 0x0F ),
846+ ILI9881C_COMMAND_INSTR (0xC4 , 0x12 ),
847+ ILI9881C_COMMAND_INSTR (0xC5 , 0x26 ),
848+ ILI9881C_COMMAND_INSTR (0xC6 , 0x1C ),
849+ ILI9881C_COMMAND_INSTR (0xC7 , 0x1E ),
850+ ILI9881C_COMMAND_INSTR (0xC8 , 0x87 ),
851+ ILI9881C_COMMAND_INSTR (0xC9 , 0x19 ),
852+ ILI9881C_COMMAND_INSTR (0xCA , 0x26 ),
853+ ILI9881C_COMMAND_INSTR (0xCB , 0x7F ),
854+ ILI9881C_COMMAND_INSTR (0xCC , 0x20 ),
855+ ILI9881C_COMMAND_INSTR (0xCD , 0x22 ),
856+ ILI9881C_COMMAND_INSTR (0xCE , 0x58 ),
857+ ILI9881C_COMMAND_INSTR (0xCF , 0x2A ),
858+ ILI9881C_COMMAND_INSTR (0xD0 , 0x2E ),
859+ ILI9881C_COMMAND_INSTR (0xD1 , 0x50 ),
860+ ILI9881C_COMMAND_INSTR (0xD2 , 0x5D ),
861+ ILI9881C_COMMAND_INSTR (0xD3 , 0x23 ),
862+
863+ ILI9881C_SWITCH_PAGE_INSTR (0 ),
864+ ILI9881C_COMMAND_INSTR (0x35 , 0x00 ),
865+ ILI9881C_COMMAND_INSTR (0x11 , 0x00 ),
866+ ILI9881C_COMMAND_INSTR (0x29 , 0x00 ),
867+ };
868+
665869static const struct ili9881c_instr tl050hdv35_init [] = {
666870 ILI9881C_SWITCH_PAGE_INSTR (3 ),
667871 ILI9881C_COMMAND_INSTR (0x01 , 0x00 ),
@@ -2227,6 +2431,23 @@ static const struct drm_display_mode kd050hdfia020_default_mode = {
22272431 .height_mm = 110 ,
22282432};
22292433
2434+ static const struct drm_display_mode txw700071s0_default_mode = {
2435+ .clock = 78086 ,
2436+
2437+ .hdisplay = 800 ,
2438+ .hsync_start = 800 + 80 ,
2439+ .hsync_end = 800 + 80 + 20 ,
2440+ .htotal = 800 + 80 + 20 + 80 ,
2441+
2442+ .vdisplay = 1280 ,
2443+ .vsync_start = 1280 + 16 ,
2444+ .vsync_end = 1280 + 16 + 8 ,
2445+ .vtotal = 1280 + 16 + 8 + 24 ,
2446+
2447+ .width_mm = 94 ,
2448+ .height_mm = 151 ,
2449+ };
2450+
22302451static const struct drm_display_mode tl050hdv35_default_mode = {
22312452 .clock = 59400 ,
22322453
@@ -2482,6 +2703,14 @@ static const struct ili9881c_desc kd050hdfia020_desc = {
24822703 MIPI_DSI_MODE_LPM ,
24832704};
24842705
2706+ static const struct ili9881c_desc txw700071s0_desc = {
2707+ .init = txw700071s0_init ,
2708+ .init_length = ARRAY_SIZE (txw700071s0_init ),
2709+ .mode = & txw700071s0_default_mode ,
2710+ .mode_flags = MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_VIDEO ,
2711+ .lanes = 4 ,
2712+ };
2713+
24852714static const struct ili9881c_desc tl050hdv35_desc = {
24862715 .init = tl050hdv35_init ,
24872716 .init_length = ARRAY_SIZE (tl050hdv35_init ),
@@ -2544,6 +2773,7 @@ static const struct of_device_id ili9881c_of_match[] = {
25442773 { .compatible = "bananapi,lhr050h41" , .data = & lhr050h41_desc },
25452774 { .compatible = "feixin,k101-im2byl02" , .data = & k101_im2byl02_desc },
25462775 { .compatible = "startek,kd050hdfia020" , .data = & kd050hdfia020_desc },
2776+ { .compatible = "txw,txw700071s0" , .data = & txw700071s0_desc },
25472777 { .compatible = "tdo,tl050hdv35" , .data = & tl050hdv35_desc },
25482778 { .compatible = "wanchanglong,w552946aba" , .data = & w552946aba_desc },
25492779 { .compatible = "ampire,am8001280g" , .data = & am8001280g_desc },
0 commit comments