mirror of
https://github.com/armbian/build.git
synced 2025-08-20 05:51:06 +02:00
It seems that Charger LED support for AXP20X-like PMICs (AXP813, ...) from Megous is less complete then from Olimex. Reverting the one in the tree and ading the one from Olimex
179 lines
4.9 KiB
Diff
179 lines
4.9 KiB
Diff
From 94a9a1d977605676a6de81812074924109f5ec17 Mon Sep 17 00:00:00 2001
|
|
From: Mitko Gamishev <hehopmajieh@debian.bg>
|
|
Date: Wed, 5 Feb 2020 15:04:32 +0200
|
|
Subject: [PATCH 14/48] general-add-compability-olinuxino-lcd.patch
|
|
|
|
---
|
|
drivers/gpu/drm/panel/panel-simple.c | 135 ++++++++++++++++++++++++---
|
|
1 file changed, 123 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
|
|
index e14c14ac62b5..ad10dd8858cf 100644
|
|
--- a/drivers/gpu/drm/panel/panel-simple.c
|
|
+++ b/drivers/gpu/drm/panel/panel-simple.c
|
|
@@ -2332,21 +2332,48 @@ static const struct panel_desc okaya_rs800480t_7x0gp = {
|
|
.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
|
|
};
|
|
|
|
-static const struct drm_display_mode olimex_lcd_olinuxino_43ts_mode = {
|
|
- .clock = 9000,
|
|
+static const struct drm_display_mode olimex_vga_olinuxino_800_mode = {
|
|
+ .clock = 40000,
|
|
+ .hdisplay = 800,
|
|
+ .hsync_start = 800 + 40,
|
|
+ .hsync_end = 800 + 40 + 128,
|
|
+ .htotal = 800 + 40 + 128 + 88,
|
|
+ .vdisplay = 600,
|
|
+ .vsync_start = 600 + 5,
|
|
+ .vsync_end = 600 + 5 + 4,
|
|
+ .vtotal = 600 + 5 + 4 + 19,
|
|
+ .vrefresh = 60,
|
|
+};
|
|
+
|
|
+static const struct drm_display_mode olimex_vga_olinuxino_1024_mode = {
|
|
+ .clock = 45000,
|
|
+ .hdisplay = 1024,
|
|
+ .hsync_start = 1024 + 16,
|
|
+ .hsync_end = 1024 + 16 + 10,
|
|
+ .htotal = 1024 + 16 + 10 + 150,
|
|
+ .vdisplay = 600,
|
|
+ .vsync_start = 600 + 2,
|
|
+ .vsync_end = 600 + 2 + 21,
|
|
+ .vtotal = 600 + 2 + 21 + 2,
|
|
+ .vrefresh = 60,
|
|
+};
|
|
+
|
|
+
|
|
+static const struct drm_display_mode olimex_lcd_olinuxino_43_mode = {
|
|
+ .clock = 12000,
|
|
.hdisplay = 480,
|
|
- .hsync_start = 480 + 5,
|
|
- .hsync_end = 480 + 5 + 30,
|
|
- .htotal = 480 + 5 + 30 + 10,
|
|
+ .hsync_start = 480 + 8,
|
|
+ .hsync_end = 480 + 8 + 20,
|
|
+ .htotal = 480 + 8 + 20 + 23,
|
|
.vdisplay = 272,
|
|
- .vsync_start = 272 + 8,
|
|
- .vsync_end = 272 + 8 + 5,
|
|
- .vtotal = 272 + 8 + 5 + 3,
|
|
+ .vsync_start = 272 + 4,
|
|
+ .vsync_end = 272 + 4 + 10,
|
|
+ .vtotal = 272 + 4 + 10 + 13,
|
|
.vrefresh = 60,
|
|
};
|
|
|
|
-static const struct panel_desc olimex_lcd_olinuxino_43ts = {
|
|
- .modes = &olimex_lcd_olinuxino_43ts_mode,
|
|
+static const struct panel_desc olimex_lcd_olinuxino_43 = {
|
|
+ .modes = &olimex_lcd_olinuxino_43_mode,
|
|
.num_modes = 1,
|
|
.size = {
|
|
.width = 95,
|
|
@@ -2355,6 +2382,74 @@ static const struct panel_desc olimex_lcd_olinuxino_43ts = {
|
|
.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
|
|
};
|
|
|
|
+static const struct drm_display_mode olimex_lcd_olinuxino_5_mode = {
|
|
+ .clock = 33300,
|
|
+ .hdisplay = 800,
|
|
+ .hsync_start = 800 + 210,
|
|
+ .hsync_end = 800 + 210 + 20,
|
|
+ .htotal = 800 + 210 + 20 + 26,
|
|
+ .vdisplay = 480,
|
|
+ .vsync_start = 480 + 22,
|
|
+ .vsync_end = 480 + 22 + 10,
|
|
+ .vtotal = 480 + 22 + 10 + 13,
|
|
+ .vrefresh = 60,
|
|
+};
|
|
+
|
|
+static const struct panel_desc olimex_lcd_olinuxino_5 = {
|
|
+ .modes = &olimex_lcd_olinuxino_5_mode,
|
|
+ .num_modes = 1,
|
|
+ .size = {
|
|
+ .width = 154,
|
|
+ .height = 86,
|
|
+ },
|
|
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
|
|
+};
|
|
+static const struct drm_display_mode olimex_lcd_olinuxino_7_mode = {
|
|
+ .clock = 33300,
|
|
+ .hdisplay = 800,
|
|
+ .hsync_start = 800 + 210,
|
|
+ .hsync_end = 800 + 210 + 20,
|
|
+ .htotal = 800 + 210 + 20 + 26,
|
|
+ .vdisplay = 480,
|
|
+ .vsync_start = 480 + 22,
|
|
+ .vsync_end = 480 + 22 + 10,
|
|
+ .vtotal = 480 + 22 + 10 + 13,
|
|
+ .vrefresh = 60,
|
|
+};
|
|
+
|
|
+static const struct panel_desc olimex_lcd_olinuxino_7 = {
|
|
+ .modes = &olimex_lcd_olinuxino_7_mode,
|
|
+ .num_modes = 1,
|
|
+ .size = {
|
|
+ .width = 154,
|
|
+ .height = 86,
|
|
+ },
|
|
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
|
|
+};
|
|
+
|
|
+static const struct drm_display_mode olimex_lcd_olinuxino_10_mode = {
|
|
+ .clock = 45000,
|
|
+ .hdisplay = 1024,
|
|
+ .hsync_start = 1024 + 10,
|
|
+ .hsync_end = 1024 + 10 + 6,
|
|
+ .htotal = 1024 + 10 + 6 + 160,
|
|
+ .vdisplay = 600,
|
|
+ .vsync_start = 600 + 1,
|
|
+ .vsync_end = 600 + 1 + 1,
|
|
+ .vtotal = 600 + 1 + 1 + 22,
|
|
+ .vrefresh = 60,
|
|
+};
|
|
+
|
|
+static const struct panel_desc olimex_lcd_olinuxino_10 = {
|
|
+ .modes = &olimex_lcd_olinuxino_10_mode,
|
|
+ .num_modes = 1,
|
|
+ .size = {
|
|
+ .width = 222,
|
|
+ .height = 143,
|
|
+ },
|
|
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
|
|
+};
|
|
+
|
|
/*
|
|
* 800x480 CVT. The panel appears to be quite accepting, at least as far as
|
|
* pixel clocks, but this is the timing that was being used in the Adafruit
|
|
@@ -3411,9 +3506,25 @@ static const struct of_device_id platform_of_match[] = {
|
|
}, {
|
|
.compatible = "okaya,rs800480t-7x0gp",
|
|
.data = &okaya_rs800480t_7x0gp,
|
|
+ },{
|
|
+ .compatible = "olimex,olinuxino-vga-800x600",
|
|
+ .data = &olimex_vga_olinuxino_800_mode,
|
|
+ },{
|
|
+ .compatible = "olimex,olinuxino-vga-1024x768",
|
|
+ .data = &olimex_vga_olinuxino_1024_mode,
|
|
+
|
|
+ },{
|
|
+ .compatible = "olimex,lcd-olinuxino-4.3",
|
|
+ .data = &olimex_lcd_olinuxino_43,
|
|
+ }, {
|
|
+ .compatible = "olimex,lcd-olinuxino-5",
|
|
+ .data = &olimex_lcd_olinuxino_5,
|
|
+ }, {
|
|
+ .compatible = "olimex,lcd-olinuxino-7",
|
|
+ .data = &olimex_lcd_olinuxino_7,
|
|
}, {
|
|
- .compatible = "olimex,lcd-olinuxino-43-ts",
|
|
- .data = &olimex_lcd_olinuxino_43ts,
|
|
+ .compatible = "olimex,lcd-olinuxino-10",
|
|
+ .data = &olimex_lcd_olinuxino_10,
|
|
}, {
|
|
.compatible = "ontat,yx700wv03",
|
|
.data = &ontat_yx700wv03,
|
|
--
|
|
2.25.1
|
|
|