Rockbox

This is the bug/patch tracker for Rockbox. Click here for more information.

Quick links: Bugs · Patches · Rockbox frontpage

Tasklist

FS#12363 - Sandisk Sansa Connect port

Attached to Project: Rockbox
Opened by Tomasz Moń (desowin) - Wednesday, 02 November 2011, 22:35 GMT+2
Last edited by Tomasz Moń (desowin) - Thursday, 17 November 2011, 13:12 GMT+2
Task Type Patches
Category Operating System/Drivers
Status Closed
Assigned To No-one
Player Type All players
Severity Low
Priority Normal
Reported Version Release 3.9
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Private No

Details

I am attaching patch adding initial support for Sandisk Sansa Connect.
Installation currently requires little hardware modification to bypass the check.

Bootloader build is assumed to be installed in place of vmlinux - it can boot both OF (by pressing PREV whilst booting; vmlinux.bin and initrd.bin are being searched on storage and then loaded) and Rockbox.

Included is initial support for following:
-buttons
-lcd
-sdhc
-backlight

Easiest way to test new builds of Rockbox main binary is to set device into "usbautoboot" mode (login into OF shell and issue command "ptool -s usbautoboot 1") and then use zsitool to upload the binary (adding .srr header is required) into RAM.

zsitool can be found at: http://hg.atheme.org/users/desowin/zsitool/
Mentioned hardware modification: http://desowin.jogger.pl/2011/10/19/sansa-connect-hacking-cz-5-flashing-bootloader/
This task depends upon

Closed by  Tomasz Moń (desowin)
Thursday, 17 November 2011, 13:12 GMT+2
Reason for closing:  Accepted
Additional comments about closing:  Committed as r31000.
Comment by Tomasz Moń (desowin) - Wednesday, 02 November 2011, 22:36 GMT+2
There is initial version of the patch.
   rockbox-sansaconnect_111102.patch (137.7 KiB)
 bootloader/sansaconnect.c                                               |  137 +
 bootloader/SOURCES                                                      |    3 
 tools/configure                                                         |   35 
 tools/scramble.c                                                        |    2 
 apps/plugins/mp3_encoder.c                                              |    6 
 apps/plugins/stats.c                                                    |    3 
 apps/plugins/superdom.c                                                 |    8 
 apps/plugins/sliding_puzzle.c                                           |    9 
 apps/plugins/flipit.c                                                   |   18 
 apps/plugins/chessbox/chessbox_pgn.h                                    |   16 
 apps/plugins/oscilloscope.c                                             |   11 
 apps/plugins/starfield.c                                                |    3 
 apps/plugins/snake2.c                                                   |    3 
 apps/plugins/clix.c                                                     |    3 
 apps/plugins/midi/midiplay.c                                            |    8 
 apps/plugins/snake.c                                                    |    3 
 apps/plugins/bounce.c                                                   |    3 
 apps/plugins/cube.c                                                     |   10 
 apps/plugins/minesweeper.c                                              |   14 
 apps/plugins/lib/pluginlib_actions.c                                    |    6 
 apps/plugins/snow.c                                                     |    3 
 apps/plugins/spacerocks.c                                               |   10 
 apps/plugins/reversi/reversi-gui.h                                      |    3 
 apps/plugins/brickmania.c                                               |    3 
 apps/plugins/logo.c                                                     |    3 
 apps/plugins/blackjack.c                                                |    6 
 apps/plugins/stopwatch.c                                                |    8 
 apps/plugins/fractals/fractal.h                                         |   12 
 apps/plugins/calculator.c                                               |   13 
 apps/plugins/jewels.c                                                   |    3 
 apps/plugins/rockpaint.c                                                |   11 
 apps/plugins/pacbox/pacbox.h                                            |   11 
 apps/plugins/fft/fft.c                                                  |    9 
 apps/plugins/xobox.c                                                    |    9 
 apps/plugins/pong.c                                                     |    3 
 apps/plugins/text_viewer/tv_button.h                                    |   12 
 apps/plugins/pegbox.c                                                   |   19 
 apps/plugins/sudoku/sudoku.h                                            |   11 
 apps/plugins/zxbox/zxbox_keyb.c                                         |    3 
 apps/plugins/zxbox/keymaps.h                                            |    3 
 apps/plugins/rockblox1d.c                                               |    3 
 apps/plugins/battery_bench.c                                            |    6 
 apps/plugins/fireworks.c                                                |    3 
 apps/plugins/rockblox.c                                                 |   10 
 apps/plugins/mpegplayer/mpegplayer.c                                    |    9 
 apps/plugins/mpegplayer/mpeg_settings.c                                 |    8 
 apps/plugins/solitaire.c                                                |   18 
 apps/plugins/goban/goban.h                                              |   13 
 apps/plugins/star.c                                                     |   17 
 apps/plugins/calendar.c                                                 |   10 
 apps/plugins/doom/i_video.c                                             |   10 
 apps/plugins/imageviewer/imageviewer_button.h                           |   15 
 apps/plugins/vu_meter.c                                                 |   11 
 apps/plugins/rockboy/rockboy.c                                          |   12 
 apps/plugins/lamp.c                                                     |    3 
 apps/plugins/sokoban.c                                                  |   22 
 apps/plugins/chopper.c                                                  |    3 
 apps/plugins/matrix.c                                                   |    3 
 apps/plugins/chip8.c                                                    |   13 
 apps/plugins/chessclock.c                                               |   10 
 apps/plugins/mosaique.c                                                 |    5 
 apps/plugins/wormlet.c                                                  |   10 
 apps/plugins/invadrox.c                                                 |    3 
 apps/SOURCES                                                            |    2 
 apps/keymaps/keymap-sansa-connect.c                                     |   91 
 firmware/export/dm320.h                                                 |   51 
 firmware/export/config.h                                                |    6 
 firmware/export/config/sansaconnect.h                                   |  194 ++
 firmware/SOURCES                                                        |   17 
 firmware/target/arm/tms320dm320/kernel-dm320.c                          |    7 
 firmware/target/arm/tms320dm320/boot.lds                                |   19 
 firmware/target/arm/tms320dm320/system-dm320.c                          |   42 
 firmware/target/arm/tms320dm320/debug-dm320.c                           |    2 
 firmware/target/arm/tms320dm320/sansa-connect/powermgmt-sansaconnect.c  |   56 
 firmware/target/arm/tms320dm320/sansa-connect/dm320codec-sansaconnect.c |   41 
 firmware/target/arm/tms320dm320/sansa-connect/button-target.h           |   64 
 firmware/target/arm/tms320dm320/sansa-connect/adc-sansaconnect.c        |   35 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c        |  387 ++++
 firmware/target/arm/tms320dm320/sansa-connect/backlight-sansaconnect.c  |   93 
 firmware/target/arm/tms320dm320/sansa-connect/usb-sansaconnect.c        |   53 
 firmware/target/arm/tms320dm320/sansa-connect/power-sansaconnect.c      |   55 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.h        |   36 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c        |  220 ++
 firmware/target/arm/tms320dm320/sansa-connect/adc-target.h              |   41 
 firmware/target/arm/tms320dm320/sansa-connect/backlight-target.h        |   33 
 firmware/target/arm/tms320dm320/sansa-connect/usb-target.h              |   32 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-target.h              |   30 
 firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c        |   78 
 firmware/target/arm/tms320dm320/system-target.h                         |    5 
 firmware/target/arm/tms320dm320/app.lds                                 |    2 
 firmware/target/arm/tms320dm320/dma-dm320.c                             |   64 
 firmware/target/arm/tms320dm320/sdmmc-dm320.c                           |  939 ++++++++++
 firmware/target/arm/tms320dm320/crt0.S                                  |    2 
 firmware/target/arm/tms320dm320/dma-target.h                            |   44 
 94 files changed, 3374 insertions(+), 40 deletions(-)

Comment by Tomasz Moń (desowin) - Thursday, 03 November 2011, 07:53 GMT+2
As per saratoga comment yesterday on IRC, I'm attaching new patch assigning copyright to me for all new files, even those that are mostly just a copy from other target (those files in fact contain just a stubs for specified driver).

Moreover, I fixed the model num to 81 in scramble.c and configure (a new target was commited with id 80 during my work on this port and I forgot to update those on merge).
   rockbox-sansaconnect_111103.patch (137.6 KiB)
 bootloader/sansaconnect.c                                               |  137 +
 bootloader/SOURCES                                                      |    3 
 tools/configure                                                         |   35 
 tools/scramble.c                                                        |    2 
 apps/plugins/mp3_encoder.c                                              |    6 
 apps/plugins/stats.c                                                    |    3 
 apps/plugins/superdom.c                                                 |    8 
 apps/plugins/sliding_puzzle.c                                           |    9 
 apps/plugins/flipit.c                                                   |   18 
 apps/plugins/chessbox/chessbox_pgn.h                                    |   16 
 apps/plugins/oscilloscope.c                                             |   11 
 apps/plugins/starfield.c                                                |    3 
 apps/plugins/snake2.c                                                   |    3 
 apps/plugins/clix.c                                                     |    3 
 apps/plugins/midi/midiplay.c                                            |    8 
 apps/plugins/snake.c                                                    |    3 
 apps/plugins/bounce.c                                                   |    3 
 apps/plugins/cube.c                                                     |   10 
 apps/plugins/minesweeper.c                                              |   14 
 apps/plugins/lib/pluginlib_actions.c                                    |    6 
 apps/plugins/snow.c                                                     |    3 
 apps/plugins/spacerocks.c                                               |   10 
 apps/plugins/reversi/reversi-gui.h                                      |    3 
 apps/plugins/brickmania.c                                               |    3 
 apps/plugins/logo.c                                                     |    3 
 apps/plugins/blackjack.c                                                |    6 
 apps/plugins/stopwatch.c                                                |    8 
 apps/plugins/fractals/fractal.h                                         |   12 
 apps/plugins/calculator.c                                               |   13 
 apps/plugins/jewels.c                                                   |    3 
 apps/plugins/rockpaint.c                                                |   11 
 apps/plugins/pacbox/pacbox.h                                            |   11 
 apps/plugins/fft/fft.c                                                  |    9 
 apps/plugins/xobox.c                                                    |    9 
 apps/plugins/pong.c                                                     |    3 
 apps/plugins/text_viewer/tv_button.h                                    |   12 
 apps/plugins/pegbox.c                                                   |   19 
 apps/plugins/sudoku/sudoku.h                                            |   11 
 apps/plugins/zxbox/zxbox_keyb.c                                         |    3 
 apps/plugins/zxbox/keymaps.h                                            |    3 
 apps/plugins/rockblox1d.c                                               |    3 
 apps/plugins/battery_bench.c                                            |    6 
 apps/plugins/fireworks.c                                                |    3 
 apps/plugins/rockblox.c                                                 |   10 
 apps/plugins/mpegplayer/mpegplayer.c                                    |    9 
 apps/plugins/mpegplayer/mpeg_settings.c                                 |    8 
 apps/plugins/solitaire.c                                                |   18 
 apps/plugins/goban/goban.h                                              |   13 
 apps/plugins/star.c                                                     |   17 
 apps/plugins/calendar.c                                                 |   10 
 apps/plugins/doom/i_video.c                                             |   10 
 apps/plugins/imageviewer/imageviewer_button.h                           |   15 
 apps/plugins/vu_meter.c                                                 |   11 
 apps/plugins/rockboy/rockboy.c                                          |   12 
 apps/plugins/lamp.c                                                     |    3 
 apps/plugins/sokoban.c                                                  |   22 
 apps/plugins/chopper.c                                                  |    3 
 apps/plugins/matrix.c                                                   |    3 
 apps/plugins/chip8.c                                                    |   13 
 apps/plugins/chessclock.c                                               |   10 
 apps/plugins/mosaique.c                                                 |    5 
 apps/plugins/wormlet.c                                                  |   10 
 apps/plugins/invadrox.c                                                 |    3 
 apps/SOURCES                                                            |    2 
 apps/keymaps/keymap-sansa-connect.c                                     |   91 
 firmware/export/dm320.h                                                 |   51 
 firmware/export/config.h                                                |    6 
 firmware/export/config/sansaconnect.h                                   |  194 ++
 firmware/SOURCES                                                        |   17 
 firmware/target/arm/tms320dm320/kernel-dm320.c                          |    7 
 firmware/target/arm/tms320dm320/boot.lds                                |   19 
 firmware/target/arm/tms320dm320/system-dm320.c                          |   42 
 firmware/target/arm/tms320dm320/debug-dm320.c                           |    2 
 firmware/target/arm/tms320dm320/sansa-connect/powermgmt-sansaconnect.c  |   56 
 firmware/target/arm/tms320dm320/sansa-connect/dm320codec-sansaconnect.c |   41 
 firmware/target/arm/tms320dm320/sansa-connect/button-target.h           |   64 
 firmware/target/arm/tms320dm320/sansa-connect/adc-sansaconnect.c        |   35 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c        |  387 ++++
 firmware/target/arm/tms320dm320/sansa-connect/backlight-sansaconnect.c  |   93 
 firmware/target/arm/tms320dm320/sansa-connect/usb-sansaconnect.c        |   53 
 firmware/target/arm/tms320dm320/sansa-connect/power-sansaconnect.c      |   55 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.h        |   36 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c        |  220 ++
 firmware/target/arm/tms320dm320/sansa-connect/adc-target.h              |   41 
 firmware/target/arm/tms320dm320/sansa-connect/backlight-target.h        |   33 
 firmware/target/arm/tms320dm320/sansa-connect/usb-target.h              |   32 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-target.h              |   30 
 firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c        |   78 
 firmware/target/arm/tms320dm320/system-target.h                         |    5 
 firmware/target/arm/tms320dm320/app.lds                                 |    2 
 firmware/target/arm/tms320dm320/dma-dm320.c                             |   64 
 firmware/target/arm/tms320dm320/sdmmc-dm320.c                           |  939 ++++++++++
 firmware/target/arm/tms320dm320/crt0.S                                  |    2 
 firmware/target/arm/tms320dm320/dma-target.h                            |   44 
 94 files changed, 3374 insertions(+), 40 deletions(-)

Comment by Tomasz Moń (desowin) - Thursday, 03 November 2011, 10:22 GMT+2
I have found there's really ugly bug on multiple SD transfer to an unaligned buffer that was introduced when I switched the code to use DMA.

Attached (cumulative, supersedes previous patches) patch fixes it.
   rockbox-sansaconnect_111103_v2.patch (137.9 KiB)
 bootloader/sansaconnect.c                                               |  137 +
 bootloader/SOURCES                                                      |    3 
 tools/configure                                                         |   35 
 tools/scramble.c                                                        |    2 
 apps/plugins/mp3_encoder.c                                              |    6 
 apps/plugins/stats.c                                                    |    3 
 apps/plugins/superdom.c                                                 |    8 
 apps/plugins/sliding_puzzle.c                                           |    9 
 apps/plugins/flipit.c                                                   |   18 
 apps/plugins/chessbox/chessbox_pgn.h                                    |   16 
 apps/plugins/oscilloscope.c                                             |   11 
 apps/plugins/starfield.c                                                |    3 
 apps/plugins/snake2.c                                                   |    3 
 apps/plugins/clix.c                                                     |    3 
 apps/plugins/midi/midiplay.c                                            |    8 
 apps/plugins/snake.c                                                    |    3 
 apps/plugins/bounce.c                                                   |    3 
 apps/plugins/cube.c                                                     |   10 
 apps/plugins/minesweeper.c                                              |   14 
 apps/plugins/lib/pluginlib_actions.c                                    |    6 
 apps/plugins/snow.c                                                     |    3 
 apps/plugins/spacerocks.c                                               |   10 
 apps/plugins/reversi/reversi-gui.h                                      |    3 
 apps/plugins/brickmania.c                                               |    3 
 apps/plugins/logo.c                                                     |    3 
 apps/plugins/blackjack.c                                                |    6 
 apps/plugins/stopwatch.c                                                |    8 
 apps/plugins/fractals/fractal.h                                         |   12 
 apps/plugins/calculator.c                                               |   13 
 apps/plugins/jewels.c                                                   |    3 
 apps/plugins/rockpaint.c                                                |   11 
 apps/plugins/pacbox/pacbox.h                                            |   11 
 apps/plugins/fft/fft.c                                                  |    9 
 apps/plugins/xobox.c                                                    |    9 
 apps/plugins/pong.c                                                     |    3 
 apps/plugins/text_viewer/tv_button.h                                    |   12 
 apps/plugins/pegbox.c                                                   |   19 
 apps/plugins/sudoku/sudoku.h                                            |   11 
 apps/plugins/zxbox/zxbox_keyb.c                                         |    3 
 apps/plugins/zxbox/keymaps.h                                            |    3 
 apps/plugins/rockblox1d.c                                               |    3 
 apps/plugins/battery_bench.c                                            |    6 
 apps/plugins/fireworks.c                                                |    3 
 apps/plugins/rockblox.c                                                 |   10 
 apps/plugins/mpegplayer/mpegplayer.c                                    |    9 
 apps/plugins/mpegplayer/mpeg_settings.c                                 |    8 
 apps/plugins/solitaire.c                                                |   18 
 apps/plugins/goban/goban.h                                              |   13 
 apps/plugins/star.c                                                     |   17 
 apps/plugins/calendar.c                                                 |   10 
 apps/plugins/doom/i_video.c                                             |   10 
 apps/plugins/imageviewer/imageviewer_button.h                           |   15 
 apps/plugins/vu_meter.c                                                 |   11 
 apps/plugins/rockboy/rockboy.c                                          |   12 
 apps/plugins/lamp.c                                                     |    3 
 apps/plugins/sokoban.c                                                  |   22 
 apps/plugins/chopper.c                                                  |    3 
 apps/plugins/matrix.c                                                   |    3 
 apps/plugins/chip8.c                                                    |   13 
 apps/plugins/chessclock.c                                               |   10 
 apps/plugins/mosaique.c                                                 |    5 
 apps/plugins/wormlet.c                                                  |   10 
 apps/plugins/invadrox.c                                                 |    3 
 apps/SOURCES                                                            |    2 
 apps/keymaps/keymap-sansa-connect.c                                     |   91 
 firmware/export/dm320.h                                                 |   51 
 firmware/export/config.h                                                |    6 
 firmware/export/config/sansaconnect.h                                   |  194 ++
 firmware/SOURCES                                                        |   17 
 firmware/target/arm/tms320dm320/kernel-dm320.c                          |    7 
 firmware/target/arm/tms320dm320/boot.lds                                |   19 
 firmware/target/arm/tms320dm320/system-dm320.c                          |   42 
 firmware/target/arm/tms320dm320/debug-dm320.c                           |    2 
 firmware/target/arm/tms320dm320/sansa-connect/powermgmt-sansaconnect.c  |   56 
 firmware/target/arm/tms320dm320/sansa-connect/dm320codec-sansaconnect.c |   41 
 firmware/target/arm/tms320dm320/sansa-connect/button-target.h           |   64 
 firmware/target/arm/tms320dm320/sansa-connect/adc-sansaconnect.c        |   35 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c        |  387 ++++
 firmware/target/arm/tms320dm320/sansa-connect/backlight-sansaconnect.c  |   93 
 firmware/target/arm/tms320dm320/sansa-connect/usb-sansaconnect.c        |   53 
 firmware/target/arm/tms320dm320/sansa-connect/power-sansaconnect.c      |   55 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.h        |   36 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c        |  220 ++
 firmware/target/arm/tms320dm320/sansa-connect/adc-target.h              |   41 
 firmware/target/arm/tms320dm320/sansa-connect/backlight-target.h        |   33 
 firmware/target/arm/tms320dm320/sansa-connect/usb-target.h              |   32 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-target.h              |   30 
 firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c        |   78 
 firmware/target/arm/tms320dm320/system-target.h                         |    5 
 firmware/target/arm/tms320dm320/app.lds                                 |    2 
 firmware/target/arm/tms320dm320/dma-dm320.c                             |   64 
 firmware/target/arm/tms320dm320/sdmmc-dm320.c                           |  945 ++++++++++
 firmware/target/arm/tms320dm320/crt0.S                                  |    2 
 firmware/target/arm/tms320dm320/dma-target.h                            |   44 
 94 files changed, 3380 insertions(+), 40 deletions(-)

Comment by Tomasz Moń (desowin) - Friday, 04 November 2011, 08:56 GMT+2
Synchronized patch with current svn.
Improved button experience - scrollwheel still appears slow, but is much more deterministic now.
Fixed SD write operation as well as cache commit/invalidation.
Fixed plugins - those can load now fine.
   rockbox-sansaconnect_111104.patch (139.8 KiB)
 bootloader/sansaconnect.c                                               |  137 +
 bootloader/SOURCES                                                      |    3 
 tools/configure                                                         |   35 
 tools/scramble.c                                                        |    2 
 apps/plugins/mp3_encoder.c                                              |    6 
 apps/plugins/plugin.lds                                                 |    2 
 apps/plugins/stats.c                                                    |    3 
 apps/plugins/superdom.c                                                 |    8 
 apps/plugins/sliding_puzzle.c                                           |    9 
 apps/plugins/flipit.c                                                   |   18 
 apps/plugins/chessbox/chessbox_pgn.h                                    |   16 
 apps/plugins/oscilloscope.c                                             |   11 
 apps/plugins/starfield.c                                                |    3 
 apps/plugins/snake2.c                                                   |    3 
 apps/plugins/clix.c                                                     |    3 
 apps/plugins/midi/midiplay.c                                            |    8 
 apps/plugins/snake.c                                                    |    3 
 apps/plugins/bounce.c                                                   |    3 
 apps/plugins/cube.c                                                     |   10 
 apps/plugins/minesweeper.c                                              |   14 
 apps/plugins/lib/pluginlib_actions.c                                    |    6 
 apps/plugins/snow.c                                                     |    3 
 apps/plugins/spacerocks.c                                               |   10 
 apps/plugins/reversi/reversi-gui.h                                      |    3 
 apps/plugins/brickmania.c                                               |    3 
 apps/plugins/logo.c                                                     |    3 
 apps/plugins/blackjack.c                                                |    6 
 apps/plugins/stopwatch.c                                                |    8 
 apps/plugins/fractals/fractal.h                                         |   12 
 apps/plugins/jewels.c                                                   |    3 
 apps/plugins/calculator.c                                               |   13 
 apps/plugins/rockpaint.c                                                |   11 
 apps/plugins/pacbox/pacbox.h                                            |   11 
 apps/plugins/fft/fft.c                                                  |    9 
 apps/plugins/xobox.c                                                    |    9 
 apps/plugins/pong.c                                                     |    3 
 apps/plugins/pegbox.c                                                   |   19 
 apps/plugins/text_viewer/tv_button.h                                    |   12 
 apps/plugins/zxbox/zxbox_keyb.c                                         |    3 
 apps/plugins/zxbox/keymaps.h                                            |    3 
 apps/plugins/sudoku/sudoku.h                                            |   11 
 apps/plugins/rockblox1d.c                                               |    3 
 apps/plugins/battery_bench.c                                            |    6 
 apps/plugins/fireworks.c                                                |    3 
 apps/plugins/rockblox.c                                                 |   10 
 apps/plugins/mpegplayer/mpegplayer.c                                    |    9 
 apps/plugins/mpegplayer/mpeg_settings.c                                 |    8 
 apps/plugins/solitaire.c                                                |   18 
 apps/plugins/goban/goban.h                                              |   13 
 apps/plugins/calendar.c                                                 |   10 
 apps/plugins/star.c                                                     |   17 
 apps/plugins/doom/i_video.c                                             |   10 
 apps/plugins/imageviewer/imageviewer_button.h                           |   15 
 apps/plugins/vu_meter.c                                                 |   11 
 apps/plugins/rockboy/rockboy.c                                          |   12 
 apps/plugins/lamp.c                                                     |    3 
 apps/plugins/sokoban.c                                                  |   22 
 apps/plugins/chopper.c                                                  |    3 
 apps/plugins/matrix.c                                                   |    3 
 apps/plugins/chip8.c                                                    |   13 
 apps/plugins/chessclock.c                                               |   10 
 apps/plugins/mosaique.c                                                 |    5 
 apps/plugins/wormlet.c                                                  |   10 
 apps/plugins/invadrox.c                                                 |    3 
 apps/SOURCES                                                            |    2 
 apps/keymaps/keymap-sansa-connect.c                                     |   91 
 firmware/export/dm320.h                                                 |   51 
 firmware/export/config.h                                                |    6 
 firmware/export/config/sansaconnect.h                                   |  194 ++
 firmware/SOURCES                                                        |   17 
 firmware/target/arm/tms320dm320/boot.lds                                |   19 
 firmware/target/arm/tms320dm320/kernel-dm320.c                          |    7 
 firmware/target/arm/tms320dm320/system-dm320.c                          |   42 
 firmware/target/arm/tms320dm320/debug-dm320.c                           |    2 
 firmware/target/arm/tms320dm320/sansa-connect/powermgmt-sansaconnect.c  |   56 
 firmware/target/arm/tms320dm320/sansa-connect/dm320codec-sansaconnect.c |   41 
 firmware/target/arm/tms320dm320/sansa-connect/button-target.h           |   64 
 firmware/target/arm/tms320dm320/sansa-connect/adc-sansaconnect.c        |   35 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c        |  451 ++++
 firmware/target/arm/tms320dm320/sansa-connect/backlight-sansaconnect.c  |   93 
 firmware/target/arm/tms320dm320/sansa-connect/usb-sansaconnect.c        |   53 
 firmware/target/arm/tms320dm320/sansa-connect/power-sansaconnect.c      |   55 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.h        |   36 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c        |  213 ++
 firmware/target/arm/tms320dm320/sansa-connect/adc-target.h              |   41 
 firmware/target/arm/tms320dm320/sansa-connect/backlight-target.h        |   33 
 firmware/target/arm/tms320dm320/sansa-connect/usb-target.h              |   32 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-target.h              |   30 
 firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c        |   78 
 firmware/target/arm/tms320dm320/system-target.h                         |    5 
 firmware/target/arm/tms320dm320/app.lds                                 |    2 
 firmware/target/arm/tms320dm320/dma-dm320.c                             |   64 
 firmware/target/arm/tms320dm320/sdmmc-dm320.c                           |  948 ++++++++++
 firmware/target/arm/tms320dm320/crt0.S                                  |    2 
 firmware/target/arm/tms320dm320/dma-target.h                            |   44 
 95 files changed, 3441 insertions(+), 41 deletions(-)

Comment by Karl Kurbjun (kkurbjun) - Friday, 04 November 2011, 14:47 GMT+2
This patch looks really good. It is nice to see someone else using the DM320 port and it really worked out that you didn't need to touch much that would effect other targets.

Notes:
-------------------
CONFIG_SDRAM_START missing for Creative Zen and M:Robe

"#if defined"'s added to system-dm320.c for CREATIVE_ZVx are not accurate. They should just include the M:Robe, the ZVX port is broken and unmaintained.

Should system_prepare_fw_start be placed in the crt0-board.S along with an inclusion of the branch to that function?

This is not specific to your port: but in general it looks like system-dm320 needs to be re-factored so that we can avoid some of those ifdef's and isolate the target specific stuff. Not sure on an approach for that offhand.
-------------------

The work looks great. If you get to the DSP code and have trouble let me know and I will help out on that.
Comment by Tomasz Moń (desowin) - Friday, 04 November 2011, 16:29 GMT+2
Why do you say the CONFIG_SDRAM_START missing for Creative Zen and M:Robe when it's defined to 0x900000 (default value on reset) in their config files?

Changed the "#if defined"'s.
Changed few comments in code - no functional changes.

   rockbox-sansaconnect_111104_v2.patch (138.8 KiB)
 bootloader/sansaconnect.c                                               |  135 +
 bootloader/SOURCES                                                      |    3 
 tools/configure                                                         |   35 
 tools/scramble.c                                                        |    2 
 apps/plugins/mp3_encoder.c                                              |    6 
 apps/plugins/plugin.lds                                                 |    2 
 apps/plugins/stats.c                                                    |    3 
 apps/plugins/superdom.c                                                 |    8 
 apps/plugins/sliding_puzzle.c                                           |    9 
 apps/plugins/flipit.c                                                   |   18 
 apps/plugins/chessbox/chessbox_pgn.h                                    |   16 
 apps/plugins/oscilloscope.c                                             |   11 
 apps/plugins/starfield.c                                                |    3 
 apps/plugins/snake2.c                                                   |    3 
 apps/plugins/clix.c                                                     |    3 
 apps/plugins/midi/midiplay.c                                            |    8 
 apps/plugins/snake.c                                                    |    3 
 apps/plugins/bounce.c                                                   |    3 
 apps/plugins/cube.c                                                     |   10 
 apps/plugins/minesweeper.c                                              |   14 
 apps/plugins/lib/pluginlib_actions.c                                    |    6 
 apps/plugins/snow.c                                                     |    3 
 apps/plugins/spacerocks.c                                               |   10 
 apps/plugins/reversi/reversi-gui.h                                      |    3 
 apps/plugins/brickmania.c                                               |    3 
 apps/plugins/logo.c                                                     |    3 
 apps/plugins/blackjack.c                                                |    6 
 apps/plugins/stopwatch.c                                                |    8 
 apps/plugins/fractals/fractal.h                                         |   12 
 apps/plugins/jewels.c                                                   |    3 
 apps/plugins/calculator.c                                               |   13 
 apps/plugins/rockpaint.c                                                |   11 
 apps/plugins/pacbox/pacbox.h                                            |   11 
 apps/plugins/fft/fft.c                                                  |    9 
 apps/plugins/xobox.c                                                    |    9 
 apps/plugins/pong.c                                                     |    3 
 apps/plugins/pegbox.c                                                   |   19 
 apps/plugins/text_viewer/tv_button.h                                    |   12 
 apps/plugins/zxbox/zxbox_keyb.c                                         |    3 
 apps/plugins/zxbox/keymaps.h                                            |    3 
 apps/plugins/sudoku/sudoku.h                                            |   11 
 apps/plugins/rockblox1d.c                                               |    3 
 apps/plugins/battery_bench.c                                            |    6 
 apps/plugins/fireworks.c                                                |    3 
 apps/plugins/rockblox.c                                                 |   10 
 apps/plugins/mpegplayer/mpegplayer.c                                    |    9 
 apps/plugins/mpegplayer/mpeg_settings.c                                 |    8 
 apps/plugins/solitaire.c                                                |   18 
 apps/plugins/goban/goban.h                                              |   13 
 apps/plugins/calendar.c                                                 |   10 
 apps/plugins/star.c                                                     |   17 
 apps/plugins/doom/i_video.c                                             |   10 
 apps/plugins/imageviewer/imageviewer_button.h                           |   15 
 apps/plugins/vu_meter.c                                                 |   11 
 apps/plugins/rockboy/rockboy.c                                          |   12 
 apps/plugins/lamp.c                                                     |    3 
 apps/plugins/sokoban.c                                                  |   22 
 apps/plugins/chopper.c                                                  |    3 
 apps/plugins/matrix.c                                                   |    3 
 apps/plugins/chip8.c                                                    |   13 
 apps/plugins/chessclock.c                                               |   10 
 apps/plugins/mosaique.c                                                 |    5 
 apps/plugins/wormlet.c                                                  |   10 
 apps/plugins/invadrox.c                                                 |    3 
 apps/SOURCES                                                            |    2 
 apps/keymaps/keymap-sansa-connect.c                                     |   91 
 firmware/export/dm320.h                                                 |   51 
 firmware/export/config.h                                                |    6 
 firmware/export/config/sansaconnect.h                                   |  194 ++
 firmware/SOURCES                                                        |   17 
 firmware/target/arm/tms320dm320/boot.lds                                |   19 
 firmware/target/arm/tms320dm320/kernel-dm320.c                          |    7 
 firmware/target/arm/tms320dm320/system-dm320.c                          |   42 
 firmware/target/arm/tms320dm320/debug-dm320.c                           |    2 
 firmware/target/arm/tms320dm320/sansa-connect/powermgmt-sansaconnect.c  |   56 
 firmware/target/arm/tms320dm320/sansa-connect/dm320codec-sansaconnect.c |   41 
 firmware/target/arm/tms320dm320/sansa-connect/button-target.h           |   64 
 firmware/target/arm/tms320dm320/sansa-connect/adc-sansaconnect.c        |   35 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c        |  451 ++++
 firmware/target/arm/tms320dm320/sansa-connect/backlight-sansaconnect.c  |   93 
 firmware/target/arm/tms320dm320/sansa-connect/usb-sansaconnect.c        |   53 
 firmware/target/arm/tms320dm320/sansa-connect/power-sansaconnect.c      |   52 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.h        |   36 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c        |  213 ++
 firmware/target/arm/tms320dm320/sansa-connect/adc-target.h              |   25 
 firmware/target/arm/tms320dm320/sansa-connect/backlight-target.h        |   33 
 firmware/target/arm/tms320dm320/sansa-connect/usb-target.h              |   32 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-target.h              |   25 
 firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c        |   78 
 firmware/target/arm/tms320dm320/system-target.h                         |    5 
 firmware/target/arm/tms320dm320/app.lds                                 |    2 
 firmware/target/arm/tms320dm320/dma-dm320.c                             |   58 
 firmware/target/arm/tms320dm320/sdmmc-dm320.c                           |  948 ++++++++++
 firmware/target/arm/tms320dm320/crt0.S                                  |    2 
 firmware/target/arm/tms320dm320/dma-target.h                            |   44 
 95 files changed, 3409 insertions(+), 41 deletions(-)

Comment by Karl Kurbjun (kkurbjun) - Friday, 04 November 2011, 16:54 GMT+2
Sorry about that. I forgot that it was already used/defined. No worries on that then.

One question on system-dm320.c:

Can this:
+#ifdef SANSA_CONNECT
+ IO_CLK_PLLA = 0xA0;
+ IO_CLK_SEL0 = 0x66;
+ IO_CLK_SEL2 = 0;
+ IO_CLK_PLLB = 0x1000; /* powerdown PLLB */
+ IO_CLK_DIV0 = 0x101; /* AHB, ARM */
+ IO_CLK_DIV1 = 0x102; /* Accelerator, SDRAM */
+ IO_CLK_DIV2 = 0x200; /* DSP, MS clock */
+ IO_CLK_BYP = 0;
+#endif

be placed in _init_board (crt0-board.S).. does it make sense?
Comment by Tomasz Moń (desowin) - Friday, 04 November 2011, 20:51 GMT+2
Yes, it does make sense.

Added crt0-board.S for this target which does initialization (Clocks, SDRAM, GIO).
   rockbox-sansaconnect_111104_v3.patch (143.7 KiB)
 bootloader/sansaconnect.c                                               |  135 +
 bootloader/SOURCES                                                      |    3 
 tools/configure                                                         |   35 
 tools/scramble.c                                                        |    2 
 apps/plugins/mp3_encoder.c                                              |    6 
 apps/plugins/plugin.lds                                                 |    2 
 apps/plugins/stats.c                                                    |    3 
 apps/plugins/superdom.c                                                 |    8 
 apps/plugins/sliding_puzzle.c                                           |    9 
 apps/plugins/flipit.c                                                   |   18 
 apps/plugins/chessbox/chessbox_pgn.h                                    |   16 
 apps/plugins/oscilloscope.c                                             |   11 
 apps/plugins/starfield.c                                                |    3 
 apps/plugins/snake2.c                                                   |    3 
 apps/plugins/clix.c                                                     |    3 
 apps/plugins/midi/midiplay.c                                            |    8 
 apps/plugins/snake.c                                                    |    3 
 apps/plugins/bounce.c                                                   |    3 
 apps/plugins/cube.c                                                     |   10 
 apps/plugins/minesweeper.c                                              |   14 
 apps/plugins/lib/pluginlib_actions.c                                    |    6 
 apps/plugins/snow.c                                                     |    3 
 apps/plugins/spacerocks.c                                               |   10 
 apps/plugins/reversi/reversi-gui.h                                      |    3 
 apps/plugins/brickmania.c                                               |    3 
 apps/plugins/logo.c                                                     |    3 
 apps/plugins/blackjack.c                                                |    6 
 apps/plugins/stopwatch.c                                                |    8 
 apps/plugins/fractals/fractal.h                                         |   12 
 apps/plugins/jewels.c                                                   |    3 
 apps/plugins/calculator.c                                               |   13 
 apps/plugins/rockpaint.c                                                |   11 
 apps/plugins/pacbox/pacbox.h                                            |   11 
 apps/plugins/fft/fft.c                                                  |    9 
 apps/plugins/xobox.c                                                    |    9 
 apps/plugins/pong.c                                                     |    3 
 apps/plugins/pegbox.c                                                   |   19 
 apps/plugins/text_viewer/tv_button.h                                    |   12 
 apps/plugins/zxbox/zxbox_keyb.c                                         |    3 
 apps/plugins/zxbox/keymaps.h                                            |    3 
 apps/plugins/sudoku/sudoku.h                                            |   11 
 apps/plugins/rockblox1d.c                                               |    3 
 apps/plugins/battery_bench.c                                            |    6 
 apps/plugins/fireworks.c                                                |    3 
 apps/plugins/rockblox.c                                                 |   10 
 apps/plugins/mpegplayer/mpegplayer.c                                    |    9 
 apps/plugins/mpegplayer/mpeg_settings.c                                 |    8 
 apps/plugins/solitaire.c                                                |   18 
 apps/plugins/goban/goban.h                                              |   13 
 apps/plugins/calendar.c                                                 |   10 
 apps/plugins/star.c                                                     |   17 
 apps/plugins/doom/i_video.c                                             |   10 
 apps/plugins/imageviewer/imageviewer_button.h                           |   15 
 apps/plugins/vu_meter.c                                                 |   11 
 apps/plugins/rockboy/rockboy.c                                          |   12 
 apps/plugins/lamp.c                                                     |    3 
 apps/plugins/sokoban.c                                                  |   22 
 apps/plugins/chopper.c                                                  |    3 
 apps/plugins/matrix.c                                                   |    3 
 apps/plugins/chip8.c                                                    |   13 
 apps/plugins/chessclock.c                                               |   10 
 apps/plugins/mosaique.c                                                 |    5 
 apps/plugins/wormlet.c                                                  |   10 
 apps/plugins/invadrox.c                                                 |    3 
 apps/SOURCES                                                            |    2 
 apps/keymaps/keymap-sansa-connect.c                                     |   91 
 firmware/export/dm320.h                                                 |   51 
 firmware/export/config.h                                                |    6 
 firmware/export/config/sansaconnect.h                                   |  194 ++
 firmware/SOURCES                                                        |   18 
 firmware/target/arm/tms320dm320/boot.lds                                |   19 
 firmware/target/arm/tms320dm320/kernel-dm320.c                          |    7 
 firmware/target/arm/tms320dm320/system-dm320.c                          |   31 
 firmware/target/arm/tms320dm320/debug-dm320.c                           |    2 
 firmware/target/arm/tms320dm320/sansa-connect/powermgmt-sansaconnect.c  |   56 
 firmware/target/arm/tms320dm320/sansa-connect/dm320codec-sansaconnect.c |   41 
 firmware/target/arm/tms320dm320/sansa-connect/adc-sansaconnect.c        |   35 
 firmware/target/arm/tms320dm320/sansa-connect/button-target.h           |   64 
 firmware/target/arm/tms320dm320/sansa-connect/backlight-sansaconnect.c  |   93 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c        |  451 ++++
 firmware/target/arm/tms320dm320/sansa-connect/usb-sansaconnect.c        |   53 
 firmware/target/arm/tms320dm320/sansa-connect/power-sansaconnect.c      |   52 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.h        |   36 
 firmware/target/arm/tms320dm320/sansa-connect/crt0-board.S              |  238 ++
 firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c        |  213 ++
 firmware/target/arm/tms320dm320/sansa-connect/adc-target.h              |   25 
 firmware/target/arm/tms320dm320/sansa-connect/backlight-target.h        |   33 
 firmware/target/arm/tms320dm320/sansa-connect/usb-target.h              |   32 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-target.h              |   25 
 firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c        |   78 
 firmware/target/arm/tms320dm320/system-target.h                         |    5 
 firmware/target/arm/tms320dm320/app.lds                                 |    2 
 firmware/target/arm/tms320dm320/dma-dm320.c                             |   58 
 firmware/target/arm/tms320dm320/sdmmc-dm320.c                           |  948 ++++++++++
 firmware/target/arm/tms320dm320/dma-target.h                            |   44 
 95 files changed, 3636 insertions(+), 40 deletions(-)

Comment by Karl Kurbjun (kkurbjun) - Sunday, 06 November 2011, 04:31 GMT+2
Looks good.

One other thought:
It looks like the AVR code uses the second SPI interface. Is it possible to extend the existing SPI driver in spi-dm320.c so that it can talk through either controller?

The init function could probably setup both controllers since it disables the clock at the end anyway. The spi_targets structure could possibly include the target SPI controller as a field so that the same block_transfer function could be used for both controllers.

I am not sure if that is the best solution; I am just trying to avoid duplicate code.
Comment by Tomasz Moń (desowin) - Sunday, 06 November 2011, 07:05 GMT+2
I thought about that too, and even added the controller info to spi_targets, but after all, discarded that idea.

The main reason behind discarding that idea was that the SPI0 interface can do DMA, whilst the SPI1 can't - hence I think the functions in spi-dm320.c should be separate, with SPI0 using DMA.
The timings need to be fixed - the udelay(100) are just rought estimates that make sure all the commands work.

Given above reasons, it's why I decided to put that code into avr-sansaconnect.c.
Comment by Tomasz Moń (desowin) - Sunday, 13 November 2011, 17:14 GMT+2
Fixed bug in SD initialization which resulted in always setting slowest clock possible.
Fixed bug in LCD initialization which set other GIOs controlled by IO_GIO_DIR2 register.
Added I2C software implementation on GIO36 (SCL) and GIO35 (SDA) which is used in Sansa Connect (the hardware I2C cannot be used, as the pins are already occupied by SPI).
Added AIC3X audio driver.
Synced to latest SVN, added GUI boost support.

Changes to SD initialization greatly improves storage access - loading OF image from storage is now mere seconds instead of nearly two minutes.
   rockbox-sansaconnect_111113.patch (164.4 KiB)
 bootloader/sansaconnect.c                                              |  135 +
 bootloader/SOURCES                                                     |    3 
 tools/configure                                                        |   35 
 tools/scramble.c                                                       |    2 
 apps/plugins/mp3_encoder.c                                             |    6 
 apps/plugins/plugin.lds                                                |    2 
 apps/plugins/stats.c                                                   |    3 
 apps/plugins/superdom.c                                                |    8 
 apps/plugins/sliding_puzzle.c                                          |    9 
 apps/plugins/flipit.c                                                  |   18 
 apps/plugins/chessbox/chessbox_pgn.h                                   |   16 
 apps/plugins/oscilloscope.c                                            |   11 
 apps/plugins/starfield.c                                               |    3 
 apps/plugins/snake2.c                                                  |    3 
 apps/plugins/clix.c                                                    |    3 
 apps/plugins/midi/midiplay.c                                           |    8 
 apps/plugins/snake.c                                                   |    3 
 apps/plugins/bounce.c                                                  |    3 
 apps/plugins/cube.c                                                    |   10 
 apps/plugins/minesweeper.c                                             |   14 
 apps/plugins/lib/pluginlib_actions.c                                   |    6 
 apps/plugins/snow.c                                                    |    3 
 apps/plugins/spacerocks.c                                              |   10 
 apps/plugins/reversi/reversi-gui.h                                     |    3 
 apps/plugins/brickmania.c                                              |    3 
 apps/plugins/logo.c                                                    |    3 
 apps/plugins/blackjack.c                                               |    6 
 apps/plugins/stopwatch.c                                               |    8 
 apps/plugins/fractals/fractal.h                                        |   12 
 apps/plugins/calculator.c                                              |   13 
 apps/plugins/jewels.c                                                  |    3 
 apps/plugins/rockpaint.c                                               |   11 
 apps/plugins/pacbox/pacbox.h                                           |   11 
 apps/plugins/fft/fft.c                                                 |    9 
 apps/plugins/xobox.c                                                   |    9 
 apps/plugins/pong.c                                                    |    3 
 apps/plugins/text_viewer/tv_button.h                                   |   12 
 apps/plugins/pegbox.c                                                  |   19 
 apps/plugins/sudoku/sudoku.h                                           |   11 
 apps/plugins/zxbox/zxbox_keyb.c                                        |    3 
 apps/plugins/zxbox/keymaps.h                                           |    3 
 apps/plugins/rockblox1d.c                                              |    3 
 apps/plugins/battery_bench.c                                           |    6 
 apps/plugins/fireworks.c                                               |    3 
 apps/plugins/rockblox.c                                                |   10 
 apps/plugins/mpegplayer/mpegplayer.c                                   |    9 
 apps/plugins/mpegplayer/mpeg_settings.c                                |    8 
 apps/plugins/solitaire.c                                               |   18 
 apps/plugins/goban/goban.h                                             |   13 
 apps/plugins/star.c                                                    |   17 
 apps/plugins/calendar.c                                                |   10 
 apps/plugins/doom/i_video.c                                            |   10 
 apps/plugins/imageviewer/imageviewer_button.h                          |   15 
 apps/plugins/vu_meter.c                                                |   11 
 apps/plugins/rockboy/rockboy.c                                         |   12 
 apps/plugins/lamp.c                                                    |    3 
 apps/plugins/sokoban.c                                                 |   22 
 apps/plugins/chopper.c                                                 |    3 
 apps/plugins/matrix.c                                                  |    3 
 apps/plugins/chip8.c                                                   |   13 
 apps/plugins/chessclock.c                                              |   10 
 apps/plugins/mosaique.c                                                |    5 
 apps/plugins/wormlet.c                                                 |   10 
 apps/plugins/invadrox.c                                                |    3 
 apps/SOURCES                                                           |    2 
 apps/keymaps/keymap-sansa-connect.c                                    |   93 
 firmware/export/dm320.h                                                |   51 
 firmware/export/aic3x.h                                                |   77 
 firmware/export/audiohw.h                                              |    2 
 firmware/export/config.h                                               |    6 
 firmware/export/config/sansaconnect.h                                  |  201 ++
 firmware/sound.c                                                       |    2 
 firmware/SOURCES                                                       |   20 
 firmware/target/arm/tms320dm320/i2c-dm320.c                            |  190 +-
 firmware/target/arm/tms320dm320/kernel-dm320.c                         |    9 
 firmware/target/arm/tms320dm320/boot.lds                               |   19 
 firmware/target/arm/tms320dm320/system-dm320.c                         |   33 
 firmware/target/arm/tms320dm320/debug-dm320.c                          |    2 
 firmware/target/arm/tms320dm320/sansa-connect/powermgmt-sansaconnect.c |   56 
 firmware/target/arm/tms320dm320/sansa-connect/button-target.h          |   64 
 firmware/target/arm/tms320dm320/sansa-connect/adc-sansaconnect.c       |   35 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c       |  459 ++++
 firmware/target/arm/tms320dm320/sansa-connect/backlight-sansaconnect.c |   93 
 firmware/target/arm/tms320dm320/sansa-connect/usb-sansaconnect.c       |   53 
 firmware/target/arm/tms320dm320/sansa-connect/power-sansaconnect.c     |   59 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.h       |   38 
 firmware/target/arm/tms320dm320/sansa-connect/crt0-board.S             |  238 ++
 firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c       |  273 ++
 firmware/target/arm/tms320dm320/sansa-connect/adc-target.h             |   25 
 firmware/target/arm/tms320dm320/sansa-connect/backlight-target.h       |   33 
 firmware/target/arm/tms320dm320/sansa-connect/usb-target.h             |   32 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-target.h             |   25 
 firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c       |  207 ++
 firmware/target/arm/tms320dm320/system-target.h                        |    5 
 firmware/target/arm/tms320dm320/app.lds                                |    2 
 firmware/target/arm/tms320dm320/dma-dm320.c                            |   78 
 firmware/target/arm/tms320dm320/sdmmc-dm320.c                          |  949 ++++++++++
 firmware/target/arm/tms320dm320/dma-target.h                           |   44 
 firmware/drivers/audio/aic3x.c                                         |  246 ++
 99 files changed, 4346 insertions(+), 48 deletions(-)

Comment by Tomasz Moń (desowin) - Monday, 14 November 2011, 18:11 GMT+2
Software I2C implementation now uses generic I2C driver.
Fixed hold switch change detection (lost hold switch changes should be gone).
Use sleep(HZ/20) in lcd_sleep() instead of udelay(50000) to improve resonsiveness.
   rockbox-sansaconnect_111114.patch (164.2 KiB)
 bootloader/sansaconnect.c                                              |  135 +
 bootloader/SOURCES                                                     |    3 
 tools/configure                                                        |   35 
 tools/scramble.c                                                       |    2 
 apps/plugins/mp3_encoder.c                                             |    6 
 apps/plugins/plugin.lds                                                |    2 
 apps/plugins/stats.c                                                   |    3 
 apps/plugins/superdom.c                                                |    8 
 apps/plugins/sliding_puzzle.c                                          |    9 
 apps/plugins/flipit.c                                                  |   18 
 apps/plugins/chessbox/chessbox_pgn.h                                   |   16 
 apps/plugins/oscilloscope.c                                            |   11 
 apps/plugins/starfield.c                                               |    3 
 apps/plugins/snake2.c                                                  |    3 
 apps/plugins/clix.c                                                    |    3 
 apps/plugins/midi/midiplay.c                                           |    8 
 apps/plugins/snake.c                                                   |    3 
 apps/plugins/bounce.c                                                  |    3 
 apps/plugins/cube.c                                                    |   10 
 apps/plugins/minesweeper.c                                             |   14 
 apps/plugins/lib/pluginlib_actions.c                                   |    6 
 apps/plugins/snow.c                                                    |    3 
 apps/plugins/spacerocks.c                                              |   10 
 apps/plugins/reversi/reversi-gui.h                                     |    3 
 apps/plugins/brickmania.c                                              |    3 
 apps/plugins/logo.c                                                    |    3 
 apps/plugins/blackjack.c                                               |    6 
 apps/plugins/stopwatch.c                                               |    8 
 apps/plugins/fractals/fractal.h                                        |   12 
 apps/plugins/jewels.c                                                  |    3 
 apps/plugins/calculator.c                                              |   13 
 apps/plugins/rockpaint.c                                               |   11 
 apps/plugins/pacbox/pacbox.h                                           |   11 
 apps/plugins/fft/fft.c                                                 |    9 
 apps/plugins/xobox.c                                                   |    9 
 apps/plugins/pong.c                                                    |    3 
 apps/plugins/pegbox.c                                                  |   19 
 apps/plugins/text_viewer/tv_button.h                                   |   12 
 apps/plugins/zxbox/zxbox_keyb.c                                        |    3 
 apps/plugins/zxbox/keymaps.h                                           |    3 
 apps/plugins/sudoku/sudoku.h                                           |   11 
 apps/plugins/rockblox1d.c                                              |    3 
 apps/plugins/battery_bench.c                                           |    6 
 apps/plugins/fireworks.c                                               |    3 
 apps/plugins/rockblox.c                                                |   10 
 apps/plugins/mpegplayer/mpegplayer.c                                   |    9 
 apps/plugins/mpegplayer/mpeg_settings.c                                |    8 
 apps/plugins/solitaire.c                                               |   18 
 apps/plugins/goban/goban.h                                             |   13 
 apps/plugins/calendar.c                                                |   10 
 apps/plugins/star.c                                                    |   17 
 apps/plugins/doom/i_video.c                                            |   10 
 apps/plugins/imageviewer/imageviewer_button.h                          |   15 
 apps/plugins/vu_meter.c                                                |   11 
 apps/plugins/rockboy/rockboy.c                                         |   12 
 apps/plugins/lamp.c                                                    |    3 
 apps/plugins/sokoban.c                                                 |   22 
 apps/plugins/chopper.c                                                 |    3 
 apps/plugins/matrix.c                                                  |    3 
 apps/plugins/chip8.c                                                   |   13 
 apps/plugins/chessclock.c                                              |   10 
 apps/plugins/mosaique.c                                                |    5 
 apps/plugins/wormlet.c                                                 |   10 
 apps/plugins/invadrox.c                                                |    3 
 apps/SOURCES                                                           |    2 
 apps/keymaps/keymap-sansa-connect.c                                    |   93 
 firmware/export/dm320.h                                                |   51 
 firmware/export/aic3x.h                                                |   77 
 firmware/export/audiohw.h                                              |    2 
 firmware/export/config.h                                               |    6 
 firmware/export/config/sansaconnect.h                                  |  201 ++
 firmware/sound.c                                                       |    2 
 firmware/SOURCES                                                       |   23 
 firmware/target/arm/tms320dm320/i2c-dm320.c                            |  138 +
 firmware/target/arm/tms320dm320/boot.lds                               |   19 
 firmware/target/arm/tms320dm320/kernel-dm320.c                         |    9 
 firmware/target/arm/tms320dm320/system-dm320.c                         |   33 
 firmware/target/arm/tms320dm320/debug-dm320.c                          |    2 
 firmware/target/arm/tms320dm320/sansa-connect/powermgmt-sansaconnect.c |   56 
 firmware/target/arm/tms320dm320/sansa-connect/button-target.h          |   64 
 firmware/target/arm/tms320dm320/sansa-connect/adc-sansaconnect.c       |   35 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c       |  461 ++++
 firmware/target/arm/tms320dm320/sansa-connect/backlight-sansaconnect.c |   93 
 firmware/target/arm/tms320dm320/sansa-connect/usb-sansaconnect.c       |   53 
 firmware/target/arm/tms320dm320/sansa-connect/power-sansaconnect.c     |   59 
 firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.h       |   38 
 firmware/target/arm/tms320dm320/sansa-connect/crt0-board.S             |  238 ++
 firmware/target/arm/tms320dm320/sansa-connect/lcd-sansaconnect.c       |  273 ++
 firmware/target/arm/tms320dm320/sansa-connect/adc-target.h             |   25 
 firmware/target/arm/tms320dm320/sansa-connect/backlight-target.h       |   33 
 firmware/target/arm/tms320dm320/sansa-connect/usb-target.h             |   32 
 firmware/target/arm/tms320dm320/sansa-connect/lcd-target.h             |   25 
 firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c       |  207 ++
 firmware/target/arm/tms320dm320/system-target.h                        |    5 
 firmware/target/arm/tms320dm320/app.lds                                |    2 
 firmware/target/arm/tms320dm320/dma-dm320.c                            |   78 
 firmware/target/arm/tms320dm320/sdmmc-dm320.c                          |  949 ++++++++++
 firmware/target/arm/tms320dm320/dma-target.h                           |   44 
 firmware/drivers/audio/aic3x.c                                         |  247 ++
 99 files changed, 4302 insertions(+), 46 deletions(-)

Loading...