Smedia Glamo 3362

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Timing settings)
(Timing settings: qi links)
Line 52: Line 52:
  
 
In depth description and discussion can ge found [http://www.mail-archive.com/community@lists.openmoko.org/msg60256.html here].
 
In depth description and discussion can ge found [http://www.mail-archive.com/community@lists.openmoko.org/msg60256.html here].
 +
 +
Qi with applied patch (binary only!):
 +
 +
* [http://www.openmobile.nl/pages/downloads.php#qiglamo Openmobile.de website's page]
 +
* [http://www.openmobile.nl/modules/download_gallery/dlc.php?file=53 direct download link]
  
 
Runtime tweaking can be done by direct writing via [http://www.bsdmn.com/openmoko/glamo/timings/ memwrite] or [http://git.debian.org/?p=pkg-fso/omhacks.git;a=blob;f=README omhacks]:
 
Runtime tweaking can be done by direct writing via [http://www.bsdmn.com/openmoko/glamo/timings/ memwrite] or [http://git.debian.org/?p=pkg-fso/omhacks.git;a=blob;f=README omhacks]:

Revision as of 19:38, 30 August 2010

Contents

Summary

Glamo3362 is the graphics chip in the Neo FreeRunner. It supports 2D and 3D acceleration, and provides an extra SD interface which is used for the uSD card slot (the other one is used for the Wlan adaptor).

Glamo's 2D engine is currently used to accelerate solid fills and blits in both XGlamo (Kdrive) and X.org (xf86-video-glamo).

The datasheets for the chip are not public, but have been made available (under NDA) to a few community volunteers who are interested in working on accelerated drivers. Please post to the devel mailing list if you are interested in joining in this effort. This mailing list thread has some discussion on the topic.

MicroSD support

Bus Interface

Hardware Acceleration

This is a compilation of all the publicly available information that is known about the Glamo 3362 used in the Neo FreeRunner GTA02 and links to past and present projects utilizing the Glamo's hardware acceleration. If anyone is working or has worked on hardware acceleration with the Glamo please add any links and any further information to this page.

Hardware Accelerated Projects

Known Features

  • 8MB internal SDRAM
  • 16bit local bus interface to S3C2410
    • The bus is limited in speed to about 7 Mb/s. This means that rendering is slow unless it can follow an accelerated path, and that texture uploads for 3D graphics would be slow.
  • 2D acceleration
  • 3D acceleration
    • 256x256 Max Texture Size
    • No Render-To-Texture Support
    • 511x511 Max 3D Destination Buffer Size
      • Note that this is smaller than the VGA screen.
    • Pipeline: Transform, cull, lighting, clipping, setup, rasterizer
    • Standards compliance: OpenGL ES 1.0, OpenGL ES 1.1 and Mobile D3D.
  • h.263 codec (encode/decode)
  • LCM controller
  • SD-Card controller
  • hardware JPEG encoder/decoder
  • Camera interface and imapge processing (unused)


Timing settings

The CPU (S3C2440) memory bank setting values can be adjusted in such a way that Glamo performance is increased. Bootloader usually takes care of this setup so to change these settings at startup, bootloader with different values can be flashed. Besides flashing bootloader, one can use other tools that can set the memory bank.

In depth description and discussion can ge found here.

Qi with applied patch (binary only!):

* Openmobile.de website's page
* direct download link

Runtime tweaking can be done by direct writing via memwrite or omhacks:

To apply 2.4.2 timings:

./memwrite $((0x48000008)) $((0x1380))

or

om screen glamo-bus-timings 2-4-2

To see the timings that are currently in use:

./memwrite $((0x48000008)) 

or

om screen glamo-bus-timings
Personal tools

Summary

Glamo3362 is the graphics chip in the Neo FreeRunner. It supports 2D and 3D acceleration, and provides an extra SD interface which is used for the uSD card slot (the other one is used for the Wlan adaptor).

Glamo's 2D engine is currently used to accelerate solid fills and blits in both XGlamo (Kdrive) and X.org (xf86-video-glamo).

The datasheets for the chip are not public, but have been made available (under NDA) to a few community volunteers who are interested in working on accelerated drivers. Please post to the devel mailing list if you are interested in joining in this effort. This mailing list thread has some discussion on the topic.

MicroSD support

Bus Interface

Hardware Acceleration

This is a compilation of all the publicly available information that is known about the Glamo 3362 used in the Neo FreeRunner GTA02 and links to past and present projects utilizing the Glamo's hardware acceleration. If anyone is working or has worked on hardware acceleration with the Glamo please add any links and any further information to this page.

Hardware Accelerated Projects

Known Features

  • 8MB internal SDRAM
  • 16bit local bus interface to S3C2410
    • The bus is limited in speed to about 7 Mb/s. This means that rendering is slow unless it can follow an accelerated path, and that texture uploads for 3D graphics would be slow.
  • 2D acceleration
  • 3D acceleration
    • 256x256 Max Texture Size
    • No Render-To-Texture Support
    • 511x511 Max 3D Destination Buffer Size
      • Note that this is smaller than the VGA screen.
    • Pipeline: Transform, cull, lighting, clipping, setup, rasterizer
    • Standards compliance: OpenGL ES 1.0, OpenGL ES 1.1 and Mobile D3D.
  • h.263 codec (encode/decode)
  • LCM controller
  • SD-Card controller
  • hardware JPEG encoder/decoder
  • Camera interface and imapge processing (unused)


Timing settings

The CPU (S3C2440) memory bank setting values can be adjusted in such a way that Glamo performance is increased. Bootloader usually takes care of this setup so to change these settings at startup, bootloader with different values can be flashed. Besides flashing bootloader, one can use other tools that can set the memory bank.

In depth description and discussion can ge found here.

Runtime tweaking can be done by direct writing via memwrite or omhacks:

To apply 2.4.2 timings:

./memwrite $((0x48000008)) $((0x1380))

or

om screen glamo-bus-timings 2-4-2

To see the timings that are currently in use:

./memwrite $((0x48000008)) 

or

om screen glamo-bus-timings