Send commitlog mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:

   1. r2856 - in trunk/src/target/OM-2007.2/libraries/libmokoui2: .
      libmokoui ([EMAIL PROTECTED])
   2. r2857 - in trunk/src/target/OM-2007.2/libraries/libmokoui2: .
      libmokoui ([EMAIL PROTECTED])
   3. r2858 - trunk/src/target/kernel/patches
      ([EMAIL PROTECTED])
   4. r2859 - trunk/src/target/kernel/patches
      ([EMAIL PROTECTED])
--- Begin Message ---
Author: zecke
Date: 2007-08-30 12:44:37 +0200 (Thu, 30 Aug 2007)
New Revision: 2856

Modified:
   trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
   trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h
Log:
2007-08-30  Holger Hans Peter Freyther  <[EMAIL PROTECTED]>

        Change the header file to be parsable by h2def.py, which will
        reduce the manual work needed to create bindings.

        * libmokoui/moko-search-bar.h:



Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog   2007-08-30 
07:13:11 UTC (rev 2855)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog   2007-08-30 
10:44:37 UTC (rev 2856)
@@ -1,3 +1,10 @@
+2007-08-30  Holger Hans Peter Freyther  <[EMAIL PROTECTED]>
+
+        Change the header file to be parsable by h2def.py, which will
+        reduce the manual work needed to create bindings.
+
+        * libmokoui/moko-search-bar.h:
+
 2007-08-29  Chris Lord,,,  <[EMAIL PROTECTED]>
 
        * libmokoui/moko-finger-scroll.c: (moko_finger_scroll_refresh),

Modified: 
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h 
2007-08-30 07:13:11 UTC (rev 2855)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h 
2007-08-30 10:44:37 UTC (rev 2856)
@@ -25,33 +25,21 @@
 
 G_BEGIN_DECLS
 
-#define MOKO_TYPE_SEARCH_BAR moko_search_bar_get_type()
+#define MOKO_TYPE_SEARCH_BAR            moko_search_bar_get_type()
+#define MOKO_SEARCH_BAR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
MOKO_TYPE_SEARCH_BAR, MokoSearchBar))
+#define MOKO_SEARCH_BAR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  
MOKO_TYPE_SEARCH_BAR, MokoSearchBarClass))
+#define MOKO_IS_SEARCH_BAR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), 
MOKO_TYPE_SEARCH_BAR))
+#define MOKO_IS_SEARCH_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),  
MOKO_TYPE_SEARCH_BAR))
+#define MOKO_SEARCH_BAR_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),  
MOKO_TYPE_SEARCH_BAR, MokoSearchBarClass))
 
-#define MOKO_SEARCH_BAR(obj) \
-       (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
-       MOKO_TYPE_SEARCH_BAR, MokoSearchBar))
+typedef struct _MokoSearchBar MokoSearchBar;
+typedef struct _MokoSearchBarClass MokoSearchBarClass;
 
-#define MOKO_SEARCH_BAR_CLASS(klass) \
-       (G_TYPE_CHECK_CLASS_CAST ((klass), \
-       MOKO_TYPE_SEARCH_BAR, MokoSearchBarClass))
-
-#define MOKO_IS_SEARCH_BAR(obj) \
-       (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
-       MOKO_TYPE_SEARCH_BAR))
-
-#define MOKO_IS_SEARCH_BAR_CLASS(klass) \
-       (G_TYPE_CHECK_CLASS_TYPE ((klass), \
-       MOKO_TYPE_SEARCH_BAR))
-
-#define MOKO_SEARCH_BAR_GET_CLASS(obj) \
-       (G_TYPE_INSTANCE_GET_CLASS ((obj), \
-       MOKO_TYPE_SEARCH_BAR, MokoSearchBarClass))
-
-typedef struct {
+struct _MokoSearchBar {
        GtkHBox parent;
-} MokoSearchBar;
+};
 
-typedef struct {
+struct _MokoSearchBarClass {
        GtkHBoxClass parent_class;
 
        /* Signals */
@@ -61,7 +49,7 @@
                                         GtkEditable *editable);
        void    (*category_changed)     (MokoSearchBar *self,
                                         GtkComboBox *combo_box);
-} MokoSearchBarClass;
+};
 
 GType moko_search_bar_get_type (void);
 




--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-08-30 13:49:56 +0200 (Thu, 30 Aug 2007)
New Revision: 2857

Modified:
   trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
   trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.c
   trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h
Log:
MokoSearchBar: Add new API to count and clear categories


Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog   2007-08-30 
10:44:37 UTC (rev 2856)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog   2007-08-30 
11:49:56 UTC (rev 2857)
@@ -1,3 +1,10 @@
+2007-08-30  Chris Lord,,,  <[EMAIL PROTECTED]>
+
+       * libmokoui/moko-search-bar.c: (moko_search_bar_count_categories),
+       (moko_search_bar_clear_categories):
+       * libmokoui/moko-search-bar.h:
+       Add new API to count and clear categories
+
 2007-08-30  Holger Hans Peter Freyther  <[EMAIL PROTECTED]>
 
         Change the header file to be parsable by h2def.py, which will

Modified: 
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.c 
2007-08-30 10:44:37 UTC (rev 2856)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.c 
2007-08-30 11:49:56 UTC (rev 2857)
@@ -236,6 +236,32 @@
 }
 
 gint
+moko_search_bar_count_categories (MokoSearchBar *self)
+{
+       gint rows = 0;
+       GtkTreeIter iter;
+       MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
+
+       GtkTreeModel *model = gtk_combo_box_get_model (
+               GTK_COMBO_BOX (priv->combo));
+       
+       if (gtk_tree_model_get_iter_first (model, &iter))
+               do { rows ++; } while (gtk_tree_model_iter_next (model, &iter));
+       
+       return rows;
+}
+
+void
+moko_search_bar_clear_categories (MokoSearchBar *self)
+{
+       gint i;
+       
+       for (i = moko_search_bar_count_categories (self); i > 0; i--) {
+               moko_search_bar_remove_category (self, 0);
+       }
+}
+
+gint
 moko_search_bar_get_active (MokoSearchBar *self)
 {
        MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);

Modified: 
trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h 
2007-08-30 10:44:37 UTC (rev 2856)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h 
2007-08-30 11:49:56 UTC (rev 2857)
@@ -67,6 +67,9 @@
                                                 const gchar *text);
 void   moko_search_bar_remove_category         (MokoSearchBar *self,
                                                 gint position);
+gint   moko_search_bar_count_categories        (MokoSearchBar *self);
+void   moko_search_bar_clear_categories        (MokoSearchBar *self);
+
 gint   moko_search_bar_get_active              (MokoSearchBar *self);
 gchar *        moko_search_bar_get_active_category     (MokoSearchBar *self);
 void   moko_search_bar_set_active              (MokoSearchBar *self,




--- End Message ---
--- Begin Message ---
Author: laforge
Date: 2007-08-30 14:18:41 +0200 (Thu, 30 Aug 2007)
New Revision: 2858

Added:
   trunk/src/target/kernel/patches/s3c2442b-cpuid.patch
Modified:
   trunk/src/target/kernel/patches/gta02-core.patch
   trunk/src/target/kernel/patches/series
Log:
implement core kernel support for GTA02v2 (S3C2442B)


Modified: trunk/src/target/kernel/patches/gta02-core.patch
===================================================================
--- trunk/src/target/kernel/patches/gta02-core.patch    2007-08-30 11:49:56 UTC 
(rev 2857)
+++ trunk/src/target/kernel/patches/gta02-core.patch    2007-08-30 12:18:41 UTC 
(rev 2858)
@@ -1,8 +1,8 @@
-Index: linux-2.6.22.1/arch/arm/mach-s3c2440/mach-gta02.c
+Index: linux-2.6.22.5-moko/arch/arm/mach-s3c2440/mach-gta02.c
 ===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/arch/arm/mach-s3c2440/mach-gta02.c
-@@ -0,0 +1,620 @@
++++ linux-2.6.22.5-moko/arch/arm/mach-s3c2440/mach-gta02.c
+@@ -0,0 +1,667 @@
 +/*
 + * linux/arch/arm/mach-s3c2440/mach-gta02.c
 + *
@@ -251,6 +251,38 @@
 +              gta02_pcf_pdata.rails[PCF50633_REGULATOR_DOWN2].flags =
 +                                                      PMU_VRAIL_F_SUSPEND_ON;
 +              break;
++      case GTA02v2_SYSTEM_REV:
++              /* we need to keep the 1.8V going since this is the SDRAM
++               * self-refresh voltage */
++              gta02_pcf_pdata.rails[PCF50633_REGULATOR_DOWN2].flags =
++                                                      PMU_VRAIL_F_SUSPEND_ON;
++              gta02_pcf_pdata.rails[PCF50633_REGULATOR_DOWN2].name =
++                                                      "io_1v8",
++              gta02_pcf_pdata.rails[PCF50633_REGULATOR_LDO1].name =
++                                                      "gsensor_3v3",
++              gta02_pcf_pdata.rails[PCF50633_REGULATOR_LDO1].voltage.init =
++                                                      3300;
++              gta02_pcf_pdata.rails[PCF50633_REGULATOR_LDO1].voltage.max =
++                                                      3300;
++              gta02_pcf_pdata.rails[PCF50633_REGULATOR_LDO1].flags &=
++                                                      ~PMU_VRAIL_F_SUSPEND_ON;
++              gta02_pcf_pdata.rails[PCF50633_REGULATOR_LDO3].flags =
++                                                      PMU_VRAIL_F_UNUSED;
++              gta02_pcf_pdata.rails[PCF50633_REGULATOR_LDO5] = ((struct 
pmu_voltage_rail) {
++                                                      .name = "rf_3v",
++                                                      .voltage = {
++                                                              .init = 0,
++                                                              .max = 3000,
++                                                      }
++                                              });
++              gta02_pcf_pdata.rails[PCF50633_REGULATOR_LDO6] = ((struct 
pmu_voltage_rail) {
++                                                      .name = "lcm_3v",
++                                                      .voltage = {
++                                                              .init = 3000,
++                                                              .max = 3000,
++                                                      }
++                                              });
++              break;
 +      default:
 +              break;
 +      }
@@ -310,6 +342,7 @@
 +
 +      switch (system_rev) {
 +      case GTA02v1_SYSTEM_REV:
++      case GTA02v2_SYSTEM_REV:
 +              /* FIXME */
 +              break;
 +      }
@@ -569,6 +602,18 @@
 +      },
 +};
 +
++static void mangle_glamo_res_by_system_rev(void)
++{
++      switch (system_rev) {
++      case GTA02v1_SYSTEM_REV:
++              break;
++      case GTA02v2_SYSTEM_REV:
++              gta02_glamo_resources[2].start = GTA02v2_GPIO_3D_RESET;
++              gta02_glamo_resources[2].end = GTA02v2_GPIO_3D_RESET;
++              break;
++      }
++}
++
 +static void __init gta02_map_io(void)
 +{
 +      s3c24xx_init_io(gta02_iodesc, ARRAY_SIZE(gta02_iodesc));
@@ -598,6 +643,8 @@
 +      mangle_pmu_pdata_by_system_rev();
 +      platform_device_register(&gta02_pmu_dev);
 +      platform_device_register(&gta02_led_dev);
++
++      mangle_glamo_res_by_system_rev();
 +      platform_device_register(&gta02_glamo_dev);
 +
 +      platform_add_devices(gta02_devices, ARRAY_SIZE(gta02_devices));
@@ -623,11 +670,11 @@
 +      .init_machine   = gta02_machine_init,
 +      .timer          = &s3c24xx_timer,
 +MACHINE_END
-Index: linux-2.6.22.1/include/asm-arm/arch-s3c2410/gta02.h
+Index: linux-2.6.22.5-moko/include/asm-arm/arch-s3c2410/gta02.h
 ===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/include/asm-arm/arch-s3c2410/gta02.h
-@@ -0,0 +1,24 @@
++++ linux-2.6.22.5-moko/include/asm-arm/arch-s3c2410/gta02.h
+@@ -0,0 +1,27 @@
 +#ifndef _GTA02_H
 +#define _GTA02_H
 +
@@ -651,11 +698,14 @@
 +#define GTA02_IRQ_3D          IRQ_EINT12
 +#define GTA02_IRQ_PCF50633    IRQ_EINT9
 +
++/* Changes in GTA02v2 */
++#define GTA02v2_GPIO_3D_RESET S3C2440_GPJ4
++
 +#endif /* _GTA02_H */
-Index: linux-2.6.22.1/arch/arm/mach-s3c2440/Kconfig
+Index: linux-2.6.22.5-moko/arch/arm/mach-s3c2440/Kconfig
 ===================================================================
---- linux-2.6.22.1.orig/arch/arm/mach-s3c2440/Kconfig
-+++ linux-2.6.22.1/arch/arm/mach-s3c2440/Kconfig
+--- linux-2.6.22.5-moko.orig/arch/arm/mach-s3c2440/Kconfig
++++ linux-2.6.22.5-moko/arch/arm/mach-s3c2440/Kconfig
 @@ -73,5 +73,12 @@
        help
           Say Y here if you are using the FIC Neo1973 GSM Phone
@@ -669,19 +719,19 @@
 +
  endmenu
  
-Index: linux-2.6.22.1/arch/arm/mach-s3c2440/Makefile
+Index: linux-2.6.22.5-moko/arch/arm/mach-s3c2440/Makefile
 ===================================================================
---- linux-2.6.22.1.orig/arch/arm/mach-s3c2440/Makefile
-+++ linux-2.6.22.1/arch/arm/mach-s3c2440/Makefile
+--- linux-2.6.22.5-moko.orig/arch/arm/mach-s3c2440/Makefile
++++ linux-2.6.22.5-moko/arch/arm/mach-s3c2440/Makefile
 @@ -22,3 +22,4 @@
  obj-$(CONFIG_ARCH_S3C2440)    += mach-smdk2440.o
  obj-$(CONFIG_MACH_NEXCODER_2440) += mach-nexcoder.o
  obj-$(CONFIG_MACH_HXD8)               += mach-hxd8.o
 +obj-$(CONFIG_MACH_NEO1973_GTA02) += mach-gta02.o
-Index: linux-2.6.22.1/arch/arm/common/gta01_pm_bt.c
+Index: linux-2.6.22.5-moko/arch/arm/common/gta01_pm_bt.c
 ===================================================================
---- linux-2.6.22.1.orig/arch/arm/common/gta01_pm_bt.c
-+++ linux-2.6.22.1/arch/arm/common/gta01_pm_bt.c
+--- linux-2.6.22.5-moko.orig/arch/arm/common/gta01_pm_bt.c
++++ linux-2.6.22.5-moko/arch/arm/common/gta01_pm_bt.c
 @@ -19,6 +19,7 @@
  #include <linux/pcf50606.h>
  
@@ -769,10 +819,10 @@
        /* we pull reset to low to make sure that the chip doesn't
         * drain power through the reset line */
        s3c2410_gpio_setpin(GTA01_GPIO_BT_EN, 0);
-Index: linux-2.6.22.1/arch/arm/common/gta01_pm_gsm.c
+Index: linux-2.6.22.5-moko/arch/arm/common/gta01_pm_gsm.c
 ===================================================================
---- linux-2.6.22.1.orig/arch/arm/common/gta01_pm_gsm.c
-+++ linux-2.6.22.1/arch/arm/common/gta01_pm_gsm.c
+--- linux-2.6.22.5-moko.orig/arch/arm/common/gta01_pm_gsm.c
++++ linux-2.6.22.5-moko/arch/arm/common/gta01_pm_gsm.c
 @@ -19,7 +19,9 @@
  #include <linux/errno.h>
  
@@ -815,17 +865,18 @@
                }
        } else if (!strcmp(attr->attr.name, "reset")) {
                s3c2410_gpio_setpin(GTA01_GPIO_MODEM_RST, on);
-@@ -158,6 +162,9 @@
+@@ -158,6 +162,10 @@
                        gta01_gsm.gpio_ngsm_en = GTA01Bv2_GPIO_nGSM_EN;
                        s3c2410_gpio_setpin(GTA01v3_GPIO_nGSM_EN, 0);
                        break;
 +              case GTA02v1_SYSTEM_REV:
++              case GTA02v2_SYSTEM_REV:
 +                      gta01_gsm.gpio_ngsm_en = 0;
 +                      break;
                default:
                        dev_warn(&pdev->dev, "Unknown GTA01 Revision 0x%x, "
                                 "some PM features not available!!!\n",
-@@ -175,9 +182,13 @@
+@@ -175,9 +183,13 @@
                break;
        }
  

Added: trunk/src/target/kernel/patches/s3c2442b-cpuid.patch
===================================================================
--- trunk/src/target/kernel/patches/s3c2442b-cpuid.patch        2007-08-30 
11:49:56 UTC (rev 2857)
+++ trunk/src/target/kernel/patches/s3c2442b-cpuid.patch        2007-08-30 
12:18:41 UTC (rev 2858)
@@ -0,0 +1,44 @@
+Add the Samsung S3C2442B CPU idcode to the samsung s3c24xx platform code
+and fix a Kconfig typo related tot the 2442.
+
+Index: linux-2.6.22.5-moko/arch/arm/mach-s3c2442/Kconfig
+===================================================================
+--- linux-2.6.22.5-moko.orig/arch/arm/mach-s3c2442/Kconfig
++++ linux-2.6.22.5-moko/arch/arm/mach-s3c2442/Kconfig
+@@ -6,7 +6,7 @@
+ 
+ config CPU_S3C2442
+       bool
+-      depends on ARCH_S3C2420
++      depends on ARCH_S3C2440
+       select S3C2410_CLOCK
+       select S3C2410_GPIO
+       select S3C2410_PM if PM
+Index: linux-2.6.22.5-moko/arch/arm/plat-s3c24xx/cpu.c
+===================================================================
+--- linux-2.6.22.5-moko.orig/arch/arm/plat-s3c24xx/cpu.c
++++ linux-2.6.22.5-moko/arch/arm/plat-s3c24xx/cpu.c
+@@ -68,6 +68,7 @@
+ static const char name_s3c2412[]  = "S3C2412";
+ static const char name_s3c2440[]  = "S3C2440";
+ static const char name_s3c2442[]  = "S3C2442";
++static const char name_s3c2442b[]  = "S3C2442B";
+ static const char name_s3c2443[]  = "S3C2443";
+ static const char name_s3c2410a[] = "S3C2410A";
+ static const char name_s3c2440a[] = "S3C2440A";
+@@ -119,6 +120,15 @@
+               .name           = name_s3c2442
+       },
+       {
++              .idcode         = 0x32440aab,
++              .idmask         = 0xffffffff,
++              .map_io         = s3c244x_map_io,
++              .init_clocks    = s3c244x_init_clocks,
++              .init_uarts     = s3c244x_init_uarts,
++              .init           = s3c2442_init,
++              .name           = name_s3c2442b
++      },
++      {
+               .idcode         = 0x32412001,
+               .idmask         = 0xffffffff,
+               .map_io         = s3c2412_map_io,

Modified: trunk/src/target/kernel/patches/series
===================================================================
--- trunk/src/target/kernel/patches/series      2007-08-30 11:49:56 UTC (rev 
2857)
+++ trunk/src/target/kernel/patches/series      2007-08-30 12:18:41 UTC (rev 
2858)
@@ -35,6 +35,7 @@
 pcf50633.patch
 smedia-glamo.patch
 s3c24xx-nand-largepage.patch
+s3c2442b-cpuid.patch
 gta02-core.patch
 alsa-2.6.23-rc1-commit.diff
 asoc-platform-hw_init-pcm_emulation-fix.patch




--- End Message ---
--- Begin Message ---
Author: laforge
Date: 2007-08-30 14:24:39 +0200 (Thu, 30 Aug 2007)
New Revision: 2859

Modified:
   trunk/src/target/kernel/patches/smedia-glamo.patch
Log:
glamo3362 driver:
* temporarily deactivate irq_chip demultiplexer code
* add gta02v2 support (pull LCM out of reset before using it)
* add incomplete hardware accelerated cursor support (currently inactive)


Modified: trunk/src/target/kernel/patches/smedia-glamo.patch
===================================================================
--- trunk/src/target/kernel/patches/smedia-glamo.patch  2007-08-30 12:18:41 UTC 
(rev 2858)
+++ trunk/src/target/kernel/patches/smedia-glamo.patch  2007-08-30 12:24:39 UTC 
(rev 2859)
@@ -1,5 +1,7 @@
---- linux-2.6.22.1.orig/drivers/video/Kconfig
-+++ linux-2.6.22.1/drivers/video/Kconfig
+Index: linux-2.6.22.5-moko/drivers/video/Kconfig
+===================================================================
+--- linux-2.6.22.5-moko.orig/drivers/video/Kconfig
++++ linux-2.6.22.5-moko/drivers/video/Kconfig
 @@ -1820,6 +1820,38 @@
          framebuffer. ML300 carries a 640*480 LCD display on the board,
          ML403 uses a standard DB15 VGA connector.
@@ -39,8 +41,10 @@
  config FB_VIRTUAL
        tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
        depends on FB
---- linux-2.6.22.1.orig/drivers/video/Makefile
-+++ linux-2.6.22.1/drivers/video/Makefile
+Index: linux-2.6.22.5-moko/drivers/video/Makefile
+===================================================================
+--- linux-2.6.22.5-moko.orig/drivers/video/Makefile
++++ linux-2.6.22.5-moko/drivers/video/Makefile
 @@ -113,6 +113,7 @@
  obj-$(CONFIG_FB_PS3)            += ps3fb.o
  obj-$(CONFIG_FB_SM501)            += sm501fb.o
@@ -49,8 +53,10 @@
  
  # Platform or fallback drivers go here
  obj-$(CONFIG_FB_VESA)             += vesafb.o
+Index: linux-2.6.22.5-moko/drivers/video/glamo/Makefile
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/drivers/video/glamo/Makefile
++++ linux-2.6.22.5-moko/drivers/video/glamo/Makefile
 @@ -0,0 +1,11 @@
 +#
 +# Makefile for the Smedia Glamo framebuffer driver
@@ -63,8 +69,10 @@
 +obj-$(CONFIG_FB_GLAMO)                += glamo-fb.o
 +obj-$(CONFIG_FB_GLAMO_SPI)    += glamo-lcm-spi.o
 +
+Index: linux-2.6.22.5-moko/drivers/video/glamo/glamo-regs.h
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/drivers/video/glamo/glamo-regs.h
++++ linux-2.6.22.5-moko/drivers/video/glamo/glamo-regs.h
 @@ -0,0 +1,466 @@
 +#ifndef _GLAMO_REGS_H
 +#define _GLAMO_REGS_H
@@ -532,9 +540,11 @@
 +};
 +
 +#endif /* _GLAMO_REGS_H */
+Index: linux-2.6.22.5-moko/drivers/video/glamo/glamo-core.c
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/drivers/video/glamo/glamo-core.c
-@@ -0,0 +1,1017 @@
++++ linux-2.6.22.5-moko/drivers/video/glamo/glamo-core.c
+@@ -0,0 +1,1020 @@
 +/* Smedia Glamo 336x/337x driver
 + *
 + * (C) 2007 by OpenMoko, Inc.
@@ -1467,16 +1477,19 @@
 +               glamo_pll_rate(glamo, GLAMO_PLL1),
 +               glamo_pll_rate(glamo, GLAMO_PLL2));
 +
++      /* FIXME: do we need to request_irq() it ? */
 +      printk("interrupts\n");
-+
-+      /* FIXME: do we need to request_irq() it ? */
 +      for (irq = IRQ_GLAMO(0); irq <= IRQ_GLAMO(8); irq++) {
 +              set_irq_chip(irq, &glamo_irq_chip);
 +              set_irq_handler(irq, handle_level_irq);
 +              set_irq_flags(irq, IRQF_VALID);
 +      }
++#if 0 /* temporarily disabled since it creates endless loop on GTA02v2 */
++      printk("chained\n");
 +      set_irq_chained_handler(glamo->irq, glamo_irq_demux_handler);
++      printk("type\n");
 +      set_irq_type(glamo->irq, IRQT_FALLING);
++#endif
 +
 +      return 0;
 +
@@ -1552,8 +1565,10 @@
 +MODULE_AUTHOR("Harald Welte <[EMAIL PROTECTED]>");
 +MODULE_DESCRIPTION("Smedia Glamo 336x/337x core/resource driver");
 +MODULE_LICENSE("GPL");
---- linux-2.6.22.1.orig/include/asm-arm/arch-s3c2410/irqs.h
-+++ linux-2.6.22.1/include/asm-arm/arch-s3c2410/irqs.h
+Index: linux-2.6.22.5-moko/include/asm-arm/arch-s3c2410/irqs.h
+===================================================================
+--- linux-2.6.22.5-moko.orig/include/asm-arm/arch-s3c2410/irqs.h
++++ linux-2.6.22.5-moko/include/asm-arm/arch-s3c2410/irqs.h
 @@ -148,9 +148,37 @@
  #define IRQ_S3C2443_AC97      S3C2410_IRQSUB(28)
  
@@ -1594,9 +1609,11 @@
 +#define IRQ_GLAMO_RISC                IRQ_GLAMO(8)
 +
  #endif /* __ASM_ARCH_IRQ_H */
+Index: linux-2.6.22.5-moko/drivers/video/glamo/glamo-fb.c
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/drivers/video/glamo/glamo-fb.c
-@@ -0,0 +1,547 @@
++++ linux-2.6.22.5-moko/drivers/video/glamo/glamo-fb.c
+@@ -0,0 +1,629 @@
 +/* Smedia Glamo 336x/337x driver
 + *
 + * (C) 2007 by OpenMoko, Inc.
@@ -1662,7 +1679,7 @@
 +      struct resource *fb_res;
 +      char __iomem *base;
 +      struct glamofb_platform_data *mach_info;
-+      struct glamo_core *glamo;
++      char __iomem *cursor_addr;
 +      u_int32_t pseudo_pal[16];
 +};
 +
@@ -1797,6 +1814,7 @@
 +      case 32:
 +      default:
 +              /* The Smedia Glamo doesn't support anything but 16bit color */
++              printk("Smedia driver doens't [yet?] support 24/32bpp\n");
 +              return -EINVAL;
 +              break;
 +      }
@@ -1815,10 +1833,12 @@
 +      case 16:
 +              glamo->fb->fix.visual = FB_VISUAL_DIRECTCOLOR;
 +              break;
++      case 24:
 +      case 32:
 +              glamo->fb->fix.visual = FB_VISUAL_TRUECOLOR;
 +              break;
 +      default:
++              printk("Smedia driver doens't [yet?] support <16bpp\n");
 +              return -EINVAL;
 +      }
 +
@@ -1870,6 +1890,78 @@
 +      return 0;
 +}
 +
++static int glamofb_cursor(struct fb_info *info, struct fb_cursor *cursor)
++{
++      struct glamofb_handle *glamo = info->par;
++      u_int16_t reg;
++
++      if (cursor->image.depth > 2)
++              return -EINVAL;
++
++      reg = reg_read(glamo, GLAMO_REG_LCD_MODE1);
++
++      if (cursor->enable)
++              reg_write(glamo, GLAMO_REG_LCD_MODE1,
++                        reg | GLAMO_LCD_MODE1_CURSOR_EN);
++      else
++              reg_write(glamo, GLAMO_REG_LCD_MODE1,
++                        reg & ~GLAMO_LCD_MODE1_CURSOR_EN);
++
++      if (cursor->set & FB_CUR_SETPOS) {
++              reg_write(glamo, GLAMO_REG_LCD_CURSOR_X_POS,
++                        cursor->image.dx);
++              reg_write(glamo, GLAMO_REG_LCD_CURSOR_Y_POS,
++                        cursor->image.dy);
++      }
++
++      if (cursor->set & FB_CUR_SETCMAP) {
++              /* FIXME */
++      }
++
++      if (cursor->set & FB_CUR_SETSIZE ||
++          cursor->set & (FB_CUR_SETIMAGE | FB_CUR_SETSHAPE)) {
++              int x, y, op;
++              const unsigned char *pcol = cursor->image.data;
++              const unsigned char *pmsk = cursor->mask;
++              void __iomem *dst = glamo->cursor_addr;
++              unsigned char dcol = 0;
++              unsigned char dmsk = 0;
++
++              reg_write(glamo, GLAMO_REG_LCD_CURSOR_X_SIZE,
++                        cursor->image.width);
++              reg_write(glamo, GLAMO_REG_LCD_CURSOR_PITCH,
++                        cursor->image.width * 2);
++              reg_write(glamo, GLAMO_REG_LCD_CURSOR_Y_SIZE,
++                        cursor->image.height);
++
++              for (op = 0; op < (cursor->image.width *
++                                 cursor->image.height * 2)/8; op += 4)
++                      writel(0x0, dst + op);
++
++              for (y = 0; y < cursor->image.height; y++) {
++                      for (x = 0; x < cursor->image.width; x++) {
++                              if ((x % 8) == 0) {
++                                      dcol = *pcol++;
++                                      dmsk = *pmsk++;
++                              } else {
++                                      dcol >>= 1;
++                                      dmsk >>= 1;
++                              }
++
++                              if (dmsk & 1) {
++                                      unsigned int op;
++
++                                      op = (dcol & 1) ? 1 : 3;
++                                      op <<= ((x % 4) * 2);
++
++                                      op |= readb(dst + (x / 4));
++                                      writeb(op, dst + (x / 4));
++                              }
++                      }
++              }
++      }
++}
++
 +static inline int glamofb_cmdq_empty(struct glamofb_handle *gfb)
 +{
 +      return reg_read(gfb, GLAMO_REG_LCD_STATUS1) & (1 << 15);
@@ -1930,6 +2022,7 @@
 +      .fb_set_par     = glamofb_set_par,
 +      .fb_blank       = glamofb_blank,
 +      .fb_setcolreg   = glamofb_setcolreg,
++      //.fb_cursor    = glamofb_cursor,
 +      .fb_fillrect    = cfb_fillrect,
 +      .fb_copyarea    = cfb_copyarea,
 +      .fb_imageblit   = cfb_imageblit,
@@ -2064,6 +2157,12 @@
 +              goto out_unmap_fb;
 +      }
 +
++      /* pull LCM out of reset (bootloader should have done this before!!) */
++      /* FIXME: make this part of platform info */
++      glamo_gpio_cfgpin(mach_info->glamo, GLAMO_GPIO4_OUTPUT);
++      glamo_gpio_setpin(mach_info->glamo, GLAMO_GPIO4, 1);
++      msleep(90);
++
 +      if (mach_info->spi_info) {
 +              /* register the sibling spi device */
 +              mach_info->spi_info->glamofb_handle = glamofb;
@@ -2144,8 +2243,10 @@
 +MODULE_AUTHOR("Harald Welte <[EMAIL PROTECTED]>");
 +MODULE_DESCRIPTION("Smedia Glamo 336x/337x framebuffer driver");
 +MODULE_LICENSE("GPL");
+Index: linux-2.6.22.5-moko/include/linux/glamofb.h
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/include/linux/glamofb.h
++++ linux-2.6.22.5-moko/include/linux/glamofb.h
 @@ -0,0 +1,29 @@
 +#ifndef _LINUX_GLAMOFB_H
 +#define _LINUX_GLAMOFB_H
@@ -2176,8 +2277,10 @@
 +int glamofb_cmd_write(struct glamofb_handle *gfb, u_int16_t val);
 +
 +#endif
+Index: linux-2.6.22.5-moko/include/linux/spi/glamo.h
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/include/linux/spi/glamo.h
++++ linux-2.6.22.5-moko/include/linux/spi/glamo.h
 @@ -0,0 +1,28 @@
 +#ifndef __GLAMO_SPI_H
 +#define __GLAMO_SPI_H
@@ -2207,8 +2310,10 @@
 +
 +
 +#endif
+Index: linux-2.6.22.5-moko/drivers/video/glamo/glamo-core.h
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/drivers/video/glamo/glamo-core.h
++++ linux-2.6.22.5-moko/drivers/video/glamo/glamo-core.h
 @@ -0,0 +1,51 @@
 +#ifndef __GLAMO_CORE_H
 +#define __GLAMO_CORE_H
@@ -2261,8 +2366,10 @@
 +void glamo_engine_reset(struct glamo_core *glamo, enum glamo_engine engine);
 +
 +#endif /* __GLAMO_CORE_H */
+Index: linux-2.6.22.5-moko/drivers/video/glamo/glamo-gpio.c
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/drivers/video/glamo/glamo-gpio.c
++++ linux-2.6.22.5-moko/drivers/video/glamo/glamo-gpio.c
 @@ -0,0 +1,62 @@
 +
 +#include <linux/kernel.h>
@@ -2326,8 +2433,10 @@
 +}
 +EXPORT_SYMBOL(glamo_gpio_cfgpin);
 +
+Index: linux-2.6.22.5-moko/drivers/video/glamo/glamo-lcm-spi.c
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/drivers/video/glamo/glamo-lcm-spi.c
++++ linux-2.6.22.5-moko/drivers/video/glamo/glamo-lcm-spi.c
 @@ -0,0 +1,241 @@
 +/*
 + * Copyright (C) 2007 OpenMoko, Inc.
@@ -2570,8 +2679,10 @@
 +MODULE_DESCRIPTION("Smedia Glamo 336x/337x LCM serial command SPI Driver");
 +MODULE_AUTHOR("Harald Welte <[EMAIL PROTECTED]>")
 +MODULE_LICENSE("GPL");
+Index: linux-2.6.22.5-moko/drivers/video/glamo/glamo-spi-gpio.c
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/drivers/video/glamo/glamo-spi-gpio.c
++++ linux-2.6.22.5-moko/drivers/video/glamo/glamo-spi-gpio.c
 @@ -0,0 +1,250 @@
 +/*
 + * Copyright (C) 2007 OpenMoko, Inc.
@@ -2823,9 +2934,11 @@
 +MODULE_DESCRIPTION("Smedia Glamo 336x/337x LCM serial command SPI Driver");
 +MODULE_AUTHOR("Harald Welte <[EMAIL PROTECTED]>")
 +MODULE_LICENSE("GPL");
+Index: linux-2.6.22.5-moko/include/linux/glamo-gpio.h
+===================================================================
 --- /dev/null
-+++ linux-2.6.22.1/include/linux/glamo-gpio.h
-@@ -0,0 +1,99 @@
++++ linux-2.6.22.5-moko/include/linux/glamo-gpio.h
+@@ -0,0 +1,98 @@
 +#ifndef __GLAMO_GPIO_H
 +#define __GLAMO_GPIO_H
 +
@@ -2908,8 +3021,7 @@
 +#define GLAMO_GPIO12_LSA0     (GLAMO_GPIO12 | GLAMO_GPIO_F_FUNC)
 +
 +
-+/* shift by 11 is implicit of shift by 12, multiplied by 2 */
-+#define REG_OF_GPIO(gpio)     (((gpio & 0xf000) >> 11) + GLAMO_REG_GPIO_GEN1)
++#define REG_OF_GPIO(gpio)     (((gpio & 0xf000) >> 12)*2 + 
GLAMO_REG_GPIO_GEN1)
 +#define NUM_OF_GPIO(gpio)     ((gpio & 0x0f00) >> 8)
 +#define GPIO_OUT_BIT(gpio)    (1 << (NUM_OF_GPIO(gpio) + 0))
 +#define OUTPUT_BIT(gpio)      (1 << (NUM_OF_GPIO(gpio) + 4))




--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to