@@ -688,6 +688,210 @@ static const struct ili9881c_instr nwe080_init[] = {
688
688
ILI9881C_COMMAND_INSTR (0x35 , 0x00 ),
689
689
};
690
690
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
+
691
895
static const struct ili9881c_instr tl050hdv35_init [] = {
692
896
ILI9881C_SWITCH_PAGE_INSTR (3 ),
693
897
ILI9881C_COMMAND_INSTR (0x01 , 0x00 ),
@@ -1834,6 +2038,23 @@ static const struct drm_display_mode nwe080_default_mode = {
1834
2038
.height_mm = 170 ,
1835
2039
};
1836
2040
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
+
1837
2058
static const struct drm_display_mode tl050hdv35_default_mode = {
1838
2059
.clock = 59400 ,
1839
2060
@@ -2049,6 +2270,14 @@ static const struct ili9881c_desc nwe080_desc = {
2049
2270
.lanes = 4 ,
2050
2271
};
2051
2272
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
+
2052
2281
static const struct ili9881c_desc tl050hdv35_desc = {
2053
2282
.init = tl050hdv35_init ,
2054
2283
.init_length = ARRAY_SIZE (tl050hdv35_init ),
@@ -2096,6 +2325,7 @@ static const struct of_device_id ili9881c_of_match[] = {
2096
2325
{ .compatible = "bananapi,lhr050h41" , .data = & lhr050h41_desc },
2097
2326
{ .compatible = "feixin,k101-im2byl02" , .data = & k101_im2byl02_desc },
2098
2327
{ .compatible = "nwe,nwe080" , .data = & nwe080_desc },
2328
+ { .compatible = "txw,txw700071s0" , .data = & txw700071s0_desc },
2099
2329
{ .compatible = "tdo,tl050hdv35" , .data = & tl050hdv35_desc },
2100
2330
{ .compatible = "wanchanglong,w552946aba" , .data = & w552946aba_desc },
2101
2331
{ .compatible = "crystalfontz,cfaf7201280a0_050tx" , .data = & cfaf7201280a0_050tx_desc },
0 commit comments