Support and General Use > Hardware
Clip+: Looking for display driver information
saratoga:
Then I should probably be more specific. Our wiki shows how to get the source using git, and we have a linux VM image you can download with git and all the tools installed already if you don't have a unix-like setup on your local machine.
Once you have the code:
grep -Ir lcd_hw_init firmware
will search the "firmware" folder in the rockbox source and return this:
firmware/target/arm/as3525/lcd-ssd1303.c: variant = lcd_hw_init();
firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c:static int lcd_hw_init(void)
firmware/target/arm/as3525/sansa-clipzip/lcd-clipzip.c: lcd_type = lcd_hw_init();
firmware/target/arm/as3525/sansa-clipv2/lcd-clipv2.c:int lcd_hw_init(void)
firmware/target/arm/as3525/sansa-clip/lcd-clip.c:int lcd_hw_init(void)
firmware/target/arm/as3525/sansa-clipplus/lcd-clip-plus.c:int lcd_hw_init(void)
firmware/target/arm/as3525/lcd-clip.h:int lcd_hw_init(void) INIT_ATTR;
Where you can see that the bolded instance is the function declaration, and the others are just parts of the code that call that function.
bertrik:
The idea is that lcd-clip-plus.c provides functions to *access* the display on the clip+ specifically. So lcd-ssd1303.c contains generic code for the ssd1303 and lcd-clip-plus provides the low-level access functions specific to the clip+. Function lcd_hw_init sets up the SoC for communication with the ssd1303 and detects the exact display type (by reading a GPIO).
popcornisgood:
Thanks for the help! I think I finally figured out that my display has an SSD1306, which communicates the same way, but has a different pinout. Having example code will definitely help with implementation though, and this bit of experience with git and grep will surely be useful in the future!
bertrik:
For the clip+ with the newer display type, we didn't exactly copy the initialisation sequence from the original firmware, but just minimally tweaked the existing initialisation routine from the old display type until it worked for the newer display type too. I can probably help to figure out the exact initialisation sequence that the original firmware uses.
Navigation
[0] Message Index
[*] Previous page
Go to full version