This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#9467 - Clip port with LCD driver
Attached to Project:
Rockbox
Opened by Rafaël Carré (funman) - Wednesday, 08 October 2008, 01:00 GMT+2
Last edited by Dave Chapman (linuxstb) - Sunday, 12 October 2008, 18:46 GMT+2
Opened by Rafaël Carré (funman) - Wednesday, 08 October 2008, 01:00 GMT+2
Last edited by Dave Chapman (linuxstb) - Sunday, 12 October 2008, 18:46 GMT+2
|
DetailsBasic port with only bootloader support.
LCD driver for SSD1303 controller Note that you need a modified version of mkamsboot to run this bootloader. The patch also shortens a bit the string in show_logo.c to make it fit on the Clip screen. |
This task depends upon
Closed by Dave Chapman (linuxstb)
Sunday, 12 October 2008, 18:46 GMT+2
Reason for closing: Accepted
Additional comments about closing: Committed as r18782
Sunday, 12 October 2008, 18:46 GMT+2
Reason for closing: Accepted
Additional comments about closing: Committed as r18782
I copied the file from firmware/target/arm/s5l8700 and remove some commented code, and a word after the ARM vectors ('DFUC')
The FIQ and IRQ handler are defined in system-xx.c, so they can be specific to each port using this C runtime.
However I am not sure about the software interrupt handler, maybe it need to call a C function, which would just return or do something useful depending on the port.
1) What is the source of the as3525.h file, and have you made any changes to it? If it's been changed, then I would like to commit the original version to SVN first, and then the version included in this patch, so we have a history of changes.
2) You mentioned in IRC that the LCD driver has parts copied from firmware/target/arm/tcc77x/lcd-ssd1815.c and parts which have been written from scratch. This means the driver is similar to the existing one, but unnecessarily (IMO) different in lots of places. It would be nicer to start with a copy of lcd-ssd1815.c and then modify that as required - so a "diff" between the two versions clearly shows what is actually different.
You also mentioned in IRC that the inits in lcd-ssd1303.c were taken from the original firmware - it would be nice to document this fact.
3) I've just moved the s5l8700/crt0.S file in SVN up one level - so we can share it rather than add a new file.
4) Similarly, if there are any other files you've copied/pasted from, it would be nice to list them, so an "svn cp" can be done when committing.
Sorry if this seems like hard work instead of fun hacking, but a little effort now makes things more maintainable in the future - when people look back to try and work out why things were done a certain way.
1) the source of this file is
FS#8843and the modifications I have made are cosmetics and registers addition2) When I started this, I was not sure if the commands used in SSD1815 and SSD1303 controllers were the same, but it looks like they are exactly the same, so this can be done.
True there should be a comment which says that the init routine is greatly inspired from the OF (i.e. some code was removed, so the version here is more compact and understandable)
3) Ok
4) I copied just every .h file in as3525/clip/ but only to get the 'skeleton', i.e. they don't have any actual content, besides the symbol necessary for compilation.
* I removed crt0.S
* I started over lcd-ssd1815.c (I removed TCC77x specific code, as well as commands not shared between SSD1815 and SSD1303, and added requested comments)
* I added button code for the Clip (keypad scanning)