@@ -662,6 +662,210 @@ static const struct ili9881c_instr kd050hdfia020_init[] = {
662
662
ILI9881C_COMMAND_INSTR (0x3A , 0x7 ),
663
663
};
664
664
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
+
665
869
static const struct ili9881c_instr tl050hdv35_init [] = {
666
870
ILI9881C_SWITCH_PAGE_INSTR (3 ),
667
871
ILI9881C_COMMAND_INSTR (0x01 , 0x00 ),
@@ -2227,6 +2431,23 @@ static const struct drm_display_mode kd050hdfia020_default_mode = {
2227
2431
.height_mm = 110 ,
2228
2432
};
2229
2433
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
+
2230
2451
static const struct drm_display_mode tl050hdv35_default_mode = {
2231
2452
.clock = 59400 ,
2232
2453
@@ -2482,6 +2703,14 @@ static const struct ili9881c_desc kd050hdfia020_desc = {
2482
2703
MIPI_DSI_MODE_LPM ,
2483
2704
};
2484
2705
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
+
2485
2714
static const struct ili9881c_desc tl050hdv35_desc = {
2486
2715
.init = tl050hdv35_init ,
2487
2716
.init_length = ARRAY_SIZE (tl050hdv35_init ),
@@ -2544,6 +2773,7 @@ static const struct of_device_id ili9881c_of_match[] = {
2544
2773
{ .compatible = "bananapi,lhr050h41" , .data = & lhr050h41_desc },
2545
2774
{ .compatible = "feixin,k101-im2byl02" , .data = & k101_im2byl02_desc },
2546
2775
{ .compatible = "startek,kd050hdfia020" , .data = & kd050hdfia020_desc },
2776
+ { .compatible = "txw,txw700071s0" , .data = & txw700071s0_desc },
2547
2777
{ .compatible = "tdo,tl050hdv35" , .data = & tl050hdv35_desc },
2548
2778
{ .compatible = "wanchanglong,w552946aba" , .data = & w552946aba_desc },
2549
2779
{ .compatible = "ampire,am8001280g" , .data = & am8001280g_desc },
0 commit comments