Re: [U-Boot] [PATCH 01/13] lcd: move platform specific structs to their own headers

2015-01-30 Thread Simon Glass
Hi Nikita,

On 29 January 2015 at 04:21, Nikita Kiryanov nik...@compulab.co.il wrote:
 common/lcd code is full of platform specific code and definitions, which
 ideally should reside with the respective driver code. Take a step towards 
 that
 goal by moving platform specific structs from lcd.h to their own header files.

 The structs for the generic case (the #else for all the platform specific
 cases) is retained in lcd.h as the default case.

platform-specific (i.e. add a hypen)


 Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
 Cc: Bo Shen voice.s...@atmel.com
 Cc: Simon Glass s...@chromium.org
 Cc: Anatolij Gustschin ag...@denx.de
 ---
  include/atmel_lcd.h  |  38 ++
  include/exynos_lcd.h |  81 +
  include/lcd.h| 201 
 ++-
  include/mpc823_lcd.h |  43 +++
  include/pxa_lcd.h|  80 
  5 files changed, 247 insertions(+), 196 deletions(-)
  create mode 100644 include/atmel_lcd.h
  create mode 100644 include/exynos_lcd.h
  create mode 100644 include/mpc823_lcd.h
  create mode 100644 include/pxa_lcd.h

Reviewed-by: Simon Glass s...@chromium.org
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 01/13] lcd: move platform specific structs to their own headers

2015-01-29 Thread Nikita Kiryanov
common/lcd code is full of platform specific code and definitions, which
ideally should reside with the respective driver code. Take a step towards that
goal by moving platform specific structs from lcd.h to their own header files.

The structs for the generic case (the #else for all the platform specific
cases) is retained in lcd.h as the default case.

Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
Cc: Bo Shen voice.s...@atmel.com
Cc: Simon Glass s...@chromium.org
Cc: Anatolij Gustschin ag...@denx.de
---
 include/atmel_lcd.h  |  38 ++
 include/exynos_lcd.h |  81 +
 include/lcd.h| 201 ++-
 include/mpc823_lcd.h |  43 +++
 include/pxa_lcd.h|  80 
 5 files changed, 247 insertions(+), 196 deletions(-)
 create mode 100644 include/atmel_lcd.h
 create mode 100644 include/exynos_lcd.h
 create mode 100644 include/mpc823_lcd.h
 create mode 100644 include/pxa_lcd.h

diff --git a/include/atmel_lcd.h b/include/atmel_lcd.h
new file mode 100644
index 000..fa8aa29
--- /dev/null
+++ b/include/atmel_lcd.h
@@ -0,0 +1,38 @@
+/*
+ * atmel_lcd.h - Atmel LCD Controller structures
+ *
+ * (C) Copyright 2001
+ * Wolfgang Denk, DENX Software Engineering, w...@denx.de.
+ *
+ * SPDX-License-Identifier:GPL-2.0+
+ */
+
+#ifndef _ATMEL_LCD_H_
+#define _ATMEL_LCD_H_
+
+typedef struct vidinfo {
+   ushort vl_col;  /* Number of columns (i.e. 640) */
+   ushort vl_row;  /* Number of rows (i.e. 480) */
+   u_long vl_clk;  /* pixel clock in ps*/
+
+   /* LCD configuration register */
+   u_long vl_sync; /* Horizontal / vertical sync */
+   u_long vl_bpix; /* Bits per pixel, 0 = 1, 1 = 2, 2 = 4, 3 = 8, 4 = 16 */
+   u_long vl_tft;  /* 0 = passive, 1 = TFT */
+   u_long vl_cont_pol_low; /* contrast polarity is low */
+   u_long vl_clk_pol;  /* clock polarity */
+
+   /* Horizontal control register. */
+   u_long vl_hsync_len;/* Length of horizontal sync */
+   u_long vl_left_margin;  /* Time from sync to picture */
+   u_long vl_right_margin; /* Time from picture to sync */
+
+   /* Vertical control register. */
+   u_long vl_vsync_len;/* Length of vertical sync */
+   u_long vl_upper_margin; /* Time from sync to picture */
+   u_long vl_lower_margin; /* Time from picture to sync */
+
+   u_long  mmio;   /* Memory mapped registers */
+} vidinfo_t;
+
+#endif
diff --git a/include/exynos_lcd.h b/include/exynos_lcd.h
new file mode 100644
index 000..cf389da
--- /dev/null
+++ b/include/exynos_lcd.h
@@ -0,0 +1,81 @@
+/*
+ * exynos_lcd.h - Exynos LCD Controller structures
+ *
+ * (C) Copyright 2001
+ * Wolfgang Denk, DENX Software Engineering, w...@denx.de.
+ *
+ * SPDX-License-Identifier:GPL-2.0+
+ */
+
+#ifndef _EXYNOS_LCD_H_
+#define _EXYNOS_LCD_H_
+
+enum {
+   FIMD_RGB_INTERFACE = 1,
+   FIMD_CPU_INTERFACE = 2,
+};
+
+enum exynos_fb_rgb_mode_t {
+   MODE_RGB_P = 0,
+   MODE_BGR_P = 1,
+   MODE_RGB_S = 2,
+   MODE_BGR_S = 3,
+};
+
+typedef struct vidinfo {
+   ushort vl_col;  /* Number of columns (i.e. 640) */
+   ushort vl_row;  /* Number of rows (i.e. 480) */
+   ushort vl_width;/* Width of display area in millimeters */
+   ushort vl_height;   /* Height of display area in millimeters */
+
+   /* LCD configuration register */
+   u_char vl_freq; /* Frequency */
+   u_char vl_clkp; /* Clock polarity */
+   u_char vl_oep;  /* Output Enable polarity */
+   u_char vl_hsp;  /* Horizontal Sync polarity */
+   u_char vl_vsp;  /* Vertical Sync polarity */
+   u_char vl_dp;   /* Data polarity */
+   u_char vl_bpix; /* Bits per pixel */
+
+   /* Horizontal control register. Timing from data sheet */
+   u_char vl_hspw; /* Horz sync pulse width */
+   u_char vl_hfpd; /* Wait before of line */
+   u_char vl_hbpd; /* Wait end of line */
+
+   /* Vertical control register. */
+   u_char  vl_vspw;/* Vertical sync pulse width */
+   u_char  vl_vfpd;/* Wait before of frame */
+   u_char  vl_vbpd;/* Wait end of frame */
+   u_char  vl_cmd_allow_len; /* Wait end of frame */
+
+   unsigned int win_id;
+   unsigned int init_delay;
+   unsigned int power_on_delay;
+   unsigned int reset_delay;
+   unsigned int interface_mode;
+   unsigned int mipi_enabled;
+   unsigned int dp_enabled;
+   unsigned int cs_setup;
+   unsigned int wr_setup;
+   unsigned int wr_act;
+   unsigned int wr_hold;
+   unsigned int logo_on;
+   unsigned int logo_width;
+   unsigned int logo_height;
+   int logo_x_offset;
+   int logo_y_offset;
+   unsigned long logo_addr;
+   unsigned int rgb_mode;
+   unsigned int