Răsfoiți Sursa

first commit

Adrien Carteron 3 ani în urmă
comite
0eb002d1b4

+ 13 - 0
board/opendingux/linux_patches/dts_wisecoco.patch

@@ -0,0 +1,13 @@
+diff --git a/arch/mips/boot/dts/ingenic/rg350.dts b/arch/mips/boot/dts/ingenic/rg350.dts
+index 971108621b36..b92a1e553aa3 100644
+--- a/arch/mips/boot/dts/ingenic/rg350.dts
++++ b/arch/mips/boot/dts/ingenic/rg350.dts
+@@ -8,7 +8,7 @@ / {
+ 	model = "Anbernic RG-350";
+ 
+ 	panel {
+-		compatible = "frida,frd350h54004";
++		compatible = "wisecoco,jt035ips02";
+ 
+ 		reset-gpios = <&gpe 2 GPIO_ACTIVE_LOW>;
+ 

+ 61 - 0
board/opendingux/linux_patches/wisecoco_panel.patch

@@ -0,0 +1,61 @@
+diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
+index 2be358fb46f7..8841a833d9ad 100644
+--- a/drivers/gpu/drm/panel/panel-simple.c
++++ b/drivers/gpu/drm/panel/panel-simple.c
+@@ -1916,6 +1916,46 @@ static const struct panel_desc frida_frd350h54004 = {
+ 	.connector_type = DRM_MODE_CONNECTOR_DPI,
+ };
+
++static const struct drm_display_mode wisecoco_jt035ips02_modes[] = {
++        { /* 60 Hz */
++               .clock = 36000,
++               .hdisplay = 640,
++               .hsync_start = 640 + 42,
++               .hsync_end = 640 + 42 + 104,
++               .htotal = 640 + 42 + 104 + 174,
++               .vdisplay = 480,
++               .vsync_start = 480 + 16,
++               .vsync_end = 480 + 16 + 14,
++               .vtotal = 480 + 16 + 14 + 115,
++               .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
++       },
++        { /* 50 Hz */
++               .clock = 21600,
++               .hdisplay = 640,
++               .hsync_start = 640 + 40,
++               .hsync_end = 640 + 40 + 46,
++               .htotal = 640 + 40 + 46 + 74,
++               .vdisplay = 480,
++               .vsync_start = 480 + 16,
++               .vsync_end = 480 + 16 + 14,
++               .vtotal = 480 + 16 + 14 + 30,
++               .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
++       },
++};
++
++static const struct panel_desc wisecoco_jt035ips02 = {
++       .modes = wisecoco_jt035ips02_modes,
++       .num_modes = ARRAY_SIZE(wisecoco_jt035ips02_modes),
++       .bpc = 8,
++       .size = {
++               .width = 70,
++               .height = 52,
++       },
++       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
++       .bus_flags = DRM_BUS_FLAG_DE_HIGH, DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
++       .connector_type = DRM_MODE_CONNECTOR_DPI,
++};
++
+ static const struct drm_display_mode friendlyarm_hd702e_mode = {
+ 	.clock		= 67185,
+ 	.hdisplay	= 800,
+@@ -4053,6 +4093,9 @@ static const struct of_device_id platform_of_match[] = {
+ 	}, {
+ 		.compatible = "frida,frd350h54004",
+ 		.data = &frida_frd350h54004,
++        }, {
++               .compatible = "wisecoco,jt035ips02",
++               .data = &wisecoco_jt035ips02,
+ 	}, {
+ 		.compatible = "friendlyarm,hd702e",
+ 		.data = &friendlyarm_hd702e,

+ 84 - 0
board/opendingux/linux_patches/wisecoco_panel.patch.bak

@@ -0,0 +1,84 @@
+diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
+index 2be358fb46f7..8841a833d9ad 100644
+--- a/drivers/gpu/drm/panel/panel-simple.c
++++ b/drivers/gpu/drm/panel/panel-simple.c
+@@ -595,14 +595,14 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc)
+ 			dev_warn(dev, "Expected bpc in {6,8} but got: %u\n", desc->bpc);
+ 		break;
+ 	case DRM_MODE_CONNECTOR_DPI:
+-		bus_flags = DRM_BUS_FLAG_DE_LOW |
+-			    DRM_BUS_FLAG_DE_HIGH |
+-			    DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE |
+-			    DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE |
+-			    DRM_BUS_FLAG_DATA_MSB_TO_LSB |
+-			    DRM_BUS_FLAG_DATA_LSB_TO_MSB |
+-			    DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE |
+-			    DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE;
++		/* bus_flags = DRM_BUS_FLAG_DE_LOW | */
++		/* 	    DRM_BUS_FLAG_DE_HIGH | */
++		/* 	    DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE | */
++		/* 	    DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | */
++		/* 	    DRM_BUS_FLAG_DATA_MSB_TO_LSB | */
++		/* 	    DRM_BUS_FLAG_DATA_LSB_TO_MSB | */
++		/* 	    DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE | */
++		/* 	    DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE; */
+ 		if (desc->bus_flags & ~bus_flags)
+ 			dev_warn(dev, "Unexpected bus_flags(%d)\n", desc->bus_flags & ~bus_flags);
+ 		if (!(desc->bus_flags & bus_flags))
+@@ -1916,6 +1916,46 @@ static const struct panel_desc frida_frd350h54004 = {
+ 	.connector_type = DRM_MODE_CONNECTOR_DPI,
+ };
+ 
++static const struct drm_display_mode wisecoco_jt035ips02_modes[] = {                                               
++        { /* 60 Hz */                                                                                              
++               .clock = 36000,                                                                                     
++               .hdisplay = 640,                                                                                    
++               .hsync_start = 640 + 42,                                                                            
++               .hsync_end = 640 + 42 + 104,                                                                        
++               .htotal = 640 + 42 + 104 + 174,                                                                     
++               .vdisplay = 480,                                                                                    
++               .vsync_start = 480 + 16,                                                                            
++               .vsync_end = 480 + 16 + 14,                                                                         
++               .vtotal = 480 + 16 + 14 + 115,                                                                      
++               //.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,                                             
++       },                                                                                                          
++        { /* 50 Hz */                                                                                              
++               .clock = 5400,                                                                                      
++               .hdisplay = 640,                                                                                    
++               .hsync_start = 640 + 42,                                                                            
++               .hsync_end = 640 + 42 + 44,                                                                         
++               .htotal = 640 + 42 + 44 + 74,                                                                       
++               .vdisplay = 480,                                                                                    
++               .vsync_start = 480 + 16,                                                                            
++               .vsync_end = 480 + 16 + 14,                                                                         
++               .vtotal = 480 + 16 + 14 + 30,                                                                       
++               //.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,                                             
++       },                                                                                                          
++};
++
++static const struct panel_desc wisecoco_jt035ips02 = {                                                             
++       .modes = wisecoco_jt035ips02_modes,                                                                         
++       .num_modes = ARRAY_SIZE(wisecoco_jt035ips02_modes),                                                         
++       .bpc = 8,                                                                                                   
++       .size = {                                                                                                   
++               .width = 70,                                                                                        
++               .height = 52,                                                                                       
++       },                                                                                                          
++       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,                                                                    
++       .bus_flags = DRM_BUS_FLAG_DE_HIGH, DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,                                
++       .connector_type = DRM_MODE_CONNECTOR_DPI,                                                                   
++};                        
++
+ static const struct drm_display_mode friendlyarm_hd702e_mode = {
+ 	.clock		= 67185,
+ 	.hdisplay	= 800,
+@@ -4053,6 +4093,9 @@ static const struct of_device_id platform_of_match[] = {
+ 	}, {
+ 		.compatible = "frida,frd350h54004",
+ 		.data = &frida_frd350h54004,
++        }, {                                                                                                       
++               .compatible = "wisecoco,jt035ips02",                                                                
++               .data = &wisecoco_jt035ips02,                                                                       
+ 	}, {
+ 		.compatible = "friendlyarm,hd702e",
+ 		.data = &friendlyarm_hd702e,

+ 61 - 0
board/opendingux/linux_patches/wisecoco_panel.patch~

@@ -0,0 +1,61 @@
+diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
+index 2be358fb46f7..8841a833d9ad 100644
+--- a/drivers/gpu/drm/panel/panel-simple.c
++++ b/drivers/gpu/drm/panel/panel-simple.c
+@@ -1916,6 +1916,46 @@ static const struct panel_desc frida_frd350h54004 = {
+ 	.connector_type = DRM_MODE_CONNECTOR_DPI,
+ };
+ 
++static const struct drm_display_mode wisecoco_jt035ips02_modes[] = {                                               
++        { /* 60 Hz */                                                                                              
++               .clock = 36000,                                                                                     
++               .hdisplay = 640,                                                                                    
++               .hsync_start = 640 + 42,                                                                            
++               .hsync_end = 640 + 42 + 104,                                                                        
++               .htotal = 640 + 42 + 104 + 174,                                                                     
++               .vdisplay = 480,                                                                                    
++               .vsync_start = 480 + 16,                                                                            
++               .vsync_end = 480 + 16 + 14,                                                                         
++               .vtotal = 480 + 16 + 14 + 115,                                                                      
++               //.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,                                             
++       },                                                                                                          
++        { /* 50 Hz */                                                                                              
++               .clock = 5400,                                                                                      
++               .hdisplay = 640,                                                                                    
++               .hsync_start = 640 + 42,                                                                            
++               .hsync_end = 640 + 42 + 44,                                                                         
++               .htotal = 640 + 42 + 44 + 74,                                                                       
++               .vdisplay = 480,                                                                                    
++               .vsync_start = 480 + 16,                                                                            
++               .vsync_end = 480 + 16 + 14,                                                                         
++               .vtotal = 480 + 16 + 14 + 30,                                                                       
++               //.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,                                             
++       },                                                                                                          
++};
++
++static const struct panel_desc wisecoco_jt035ips02 = {                                                             
++       .modes = wisecoco_jt035ips02_modes,                                                                         
++       .num_modes = ARRAY_SIZE(wisecoco_jt035ips02_modes),                                                         
++       .bpc = 8,                                                                                                   
++       .size = {                                                                                                   
++               .width = 70,                                                                                        
++               .height = 52,                                                                                       
++       },                                                                                                          
++       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,                                                                    
++       .bus_flags = DRM_BUS_FLAG_DE_HIGH, DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,                                
++       .connector_type = DRM_MODE_CONNECTOR_DPI,                                                                   
++};                        
++
+ static const struct drm_display_mode friendlyarm_hd702e_mode = {
+ 	.clock		= 67185,
+ 	.hdisplay	= 800,
+@@ -4053,6 +4093,9 @@ static const struct of_device_id platform_of_match[] = {
+ 	}, {
+ 		.compatible = "frida,frd350h54004",
+ 		.data = &frida_frd350h54004,
++        }, {                                                                                                       
++               .compatible = "wisecoco,jt035ips02",                                                                
++               .data = &wisecoco_jt035ips02,                                                                       
+ 	}, {
+ 		.compatible = "friendlyarm,hd702e",
+ 		.data = &friendlyarm_hd702e,